<?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>92043</bug_id>
          
          <creation_ts>2012-07-23 16:28:05 -0700</creation_ts>
          <short_desc>[Chromium] WebWidget should be able to paint into a zoomed canvas without aliasing</short_desc>
          <delta_ts>2012-08-28 16:24:51 -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>WebKit API</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>
          <dependson>94555</dependson>
    
    <dependson>95253</dependson>
          <blocked>91648</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>trchen</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>676149</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-23 16:28:05 -0700</bug_when>
    <thetext>WebWidget is missing paintOnDemandZoom, which chromium-android uses to render the link preview.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676254</commentid>
    <comment_count>1</comment_count>
      <attachid>153924</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-23 17:57:34 -0700</bug_when>
    <thetext>Created attachment 153924
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>676257</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-23 17:59:08 -0700</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>677220</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-24 14:45:21 -0700</bug_when>
    <thetext>@fishd: This is the software read back API for link preview that we discussed briefly yesterday.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679684</commentid>
    <comment_count>4</comment_count>
      <attachid>153924</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-07-26 13:07:05 -0700</bug_when>
    <thetext>Comment on attachment 153924
Patch

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

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:1651
&gt; +static PageWidgetDelegate::CanvasBackground canvasBackgroundForTransparencey(bool isTransparent)

nit: avoid interleaving non-class methods with class methods.  move to the top of the file.
interleaved non-class methods tend to attract more non-class methods, which then seems to
lead to a messy .cpp file.

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:1681
&gt; +    FrameView* view = page()-&gt;mainFrame()-&gt;view();

It is not obvious why this is called paintOnDemandZoom.  I was expecting
to see some code here that triggered a temporary zoom of the content.
As is, it just seems like the paint() method except that it forces
software rendering and compositing.  It seems like WebViewImpl::paint()
might produce exactly the same result.  In the accelerated case, it&apos;ll
just do the work on the GPU and then read back the pixels.

Do we really need this new paint function?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679716</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-26 13:40:22 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 153924 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=153924&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/chromium/src/WebViewImpl.cpp:1681
&gt; &gt; +    FrameView* view = page()-&gt;mainFrame()-&gt;view();
&gt; 
&gt; It is not obvious why this is called paintOnDemandZoom.  I was expecting
&gt; to see some code here that triggered a temporary zoom of the content.
&gt; As is, it just seems like the paint() method except that it forces
&gt; software rendering and compositing.  It seems like WebViewImpl::paint()
&gt; might produce exactly the same result.  In the accelerated case, it&apos;ll
&gt; just do the work on the GPU and then read back the pixels.

The intent is to apply the zoom by scaling the canvas that gets passed in.

&gt; Do we really need this new paint function?

The comment above the function says this function avoids aliasing, but I wonder if that comment is still correct.

@trchen: Do you know if we still need this second painting function?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679734</commentid>
    <comment_count>6</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-07-26 14:00:10 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (From update of attachment 153924 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=153924&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/chromium/src/WebViewImpl.cpp:1681
&gt; &gt; &gt; +    FrameView* view = page()-&gt;mainFrame()-&gt;view();
&gt; &gt; 
&gt; &gt; It is not obvious why this is called paintOnDemandZoom.  I was expecting
&gt; &gt; to see some code here that triggered a temporary zoom of the content.
&gt; &gt; As is, it just seems like the paint() method except that it forces
&gt; &gt; software rendering and compositing.  It seems like WebViewImpl::paint()
&gt; &gt; might produce exactly the same result.  In the accelerated case, it&apos;ll
&gt; &gt; just do the work on the GPU and then read back the pixels.
&gt; 
&gt; The intent is to apply the zoom by scaling the canvas that gets passed in.
&gt; 
&gt; &gt; Do we really need this new paint function?
&gt; 
&gt; The comment above the function says this function avoids aliasing, but I wonder if that comment is still correct.
&gt; 
&gt; @trchen: Do you know if we still need this second painting function?

Yes, this function basically works the same as WebViewImpl::paint() in pure sof tware rendering path. The purpose is to explicitly avoid reusing composted result, which is essentially resampling a low-res image.

I agree the behavior of the function is a little bit confusing in the sense that the scale matrix is actually applied by the client in advance.

As for the function name, I think paintOnDemandZoom should be appropriate since it&apos;s sole purpose is for the on-demand zoom to redraw a high-res image. And I believe the function is only a temporary solution until we get something more powerful such as SkPicture and UberCompositor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682318</commentid>
    <comment_count>7</comment_count>
      <attachid>153924</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-30 13:15:55 -0700</bug_when>
    <thetext>Comment on attachment 153924
Patch

I&apos;ll update this patch based on the discussion above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684659</commentid>
    <comment_count>8</comment_count>
      <attachid>155903</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-01 15:32:05 -0700</bug_when>
    <thetext>Created attachment 155903
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689553</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-08-07 16:02:39 -0700</bug_when>
    <thetext>This appears to be solving some of the same goals as bug 92275.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692720</commentid>
    <comment_count>10</comment_count>
      <attachid>155903</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-08-10 11:32:11 -0700</bug_when>
    <thetext>Comment on attachment 155903
Patch

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

We have a few different versions of &quot;software&quot; rendering when composited:
1.) Composite and do a readback
2.) Software render for printing - ignores 3d transforms, but tries to do a readback of GPU-resident content
3.) Software flattened rendering - ignores 3d transforms, ignores GPU-resident content

Should we try to call out the different in WebWidget.h?  The print behavior is currently down on WebFrame (I&apos;m not sure exactly why) and it&apos;s pretty subtle.

This behavior seems like the right one for link highlighting, at least in most circumstances - there will be cases where it misses the desired rect by an epic amount (due to ignoring 3d) but I&apos;m guessing it&apos;s good enough.

&gt; Source/WebKit/chromium/public/WebWidget.h:97
&gt; +        // Force the widget to rerender onto the canvas using sofware.

typo &quot;sofware&quot;

I think you should note that this will result in some content not showing up as expected (i.e. ignoring 3d transforms) and some content to not show up at all (video, canvas, webgl).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692804</commentid>
    <comment_count>11</comment_count>
      <attachid>157790</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-10 12:29:12 -0700</bug_when>
    <thetext>Created attachment 157790
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692867</commentid>
    <comment_count>12</comment_count>
      <attachid>157790</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-10 14:04:24 -0700</bug_when>
    <thetext>Comment on attachment 157790
Patch

Attachment 157790 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13472499</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692869</commentid>
    <comment_count>13</comment_count>
      <attachid>157807</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-10 14:07:35 -0700</bug_when>
    <thetext>Created attachment 157807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692953</commentid>
    <comment_count>14</comment_count>
      <attachid>157807</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-08-10 16:26:40 -0700</bug_when>
    <thetext>Comment on attachment 157807
Patch

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

Works for me, but I understand Darin had some API feedback so I&apos;ll defer to him for the final review.

&gt; Source/WebKit/chromium/public/WebWidget.h:102
&gt; +        // Note: This option exists on OS(ANDROID) and will hopefully be

did you want to hide the enum value too (is that possible in an API header)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692959</commentid>
    <comment_count>15</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-10 16:38:56 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebKit/chromium/public/WebWidget.h:102
&gt; &gt; +        // Note: This option exists on OS(ANDROID) and will hopefully be
&gt; 
&gt; did you want to hide the enum value too (is that possible in an API header)?

I wanted to, but I couldn&apos;t find an example.  If there&apos;s a good way to do this, let me know and I&apos;ll be happy to use it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>693914</commentid>
    <comment_count>16</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-13 12:02:59 -0700</bug_when>
    <thetext>&gt; Works for me, but I understand Darin had some API feedback so I&apos;ll defer to him for the final review.

@fishd: You mentioned you might have some feedback.  Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699989</commentid>
    <comment_count>17</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-20 14:36:47 -0700</bug_when>
    <thetext>@jamesr: It sounds like fishd is on vacation.  Do you still want to wait for his feedback on this patch before landing it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699995</commentid>
    <comment_count>18</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-08-20 14:42:38 -0700</bug_when>
    <thetext>I don&apos;t know what his feedback was going to be, but he said he had some.  I suppose we could land and then fix it up later if you need it to land in the next week - is it blocking anything specific?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699996</commentid>
    <comment_count>19</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-20 14:44:37 -0700</bug_when>
    <thetext>Yes.  This one of three patches blocking API compatibility between upstream and downstream chromium-android.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700021</commentid>
    <comment_count>20</comment_count>
      <attachid>157807</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-08-20 15:04:30 -0700</bug_when>
    <thetext>Comment on attachment 157807
Patch

OK. I think this looks reasonable and we can iterate when Darin gets back if we need to make more changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700022</commentid>
    <comment_count>21</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-20 15:05:18 -0700</bug_when>
    <thetext>Thanks.

@fishd: If you have comments, please don&apos;t hesitate to ask for a followup patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700116</commentid>
    <comment_count>22</comment_count>
      <attachid>157807</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-20 16:08:04 -0700</bug_when>
    <thetext>Comment on attachment 157807
Patch

Rejecting attachment 157807 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
ChangeLog
CONFLICT (content): Merge conflict in Source/WebKit/chromium/ChangeLog
Failed to merge in the changes.
Patch failed at 0001 Remove redundant TOUCH_LISTENER event type

When you have resolved this problem run &quot;git rebase --continue&quot;.
If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;.
To restore the original branch and stop rebasing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at Tools/Scripts/update-webkit line 164.

Full output: http://queues.webkit.org/results/13539804</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700188</commentid>
    <comment_count>23</comment_count>
      <attachid>157807</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-20 16:57:39 -0700</bug_when>
    <thetext>Comment on attachment 157807
Patch

Clearing flags on attachment: 157807

Committed r126095: &lt;http://trac.webkit.org/changeset/126095&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700189</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-20 16:57:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700272</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-20 17:56:21 -0700</bug_when>
    <thetext>Re-opened since this is blocked by 94555</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700284</commentid>
    <comment_count>26</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-08-20 18:03:51 -0700</bug_when>
    <thetext>This guy broke: http://code.google.com/searchframe#OAMlx_jo-ck/src/content/renderer/render_widget_fullscreen_pepper.cc&amp;exact_package=chromium&amp;q=render_widget_fullscreen_pepper&amp;l=72</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700884</commentid>
    <comment_count>27</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-21 10:24:27 -0700</bug_when>
    <thetext>Downstream change in https://chromiumcodereview.appspot.com/10828420</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700926</commentid>
    <comment_count>28</comment_count>
      <attachid>159724</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-21 11:00:26 -0700</bug_when>
    <thetext>Created attachment 159724
now with #define</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702187</commentid>
    <comment_count>29</comment_count>
      <attachid>159989</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-22 12:25:16 -0700</bug_when>
    <thetext>Created attachment 159989
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702262</commentid>
    <comment_count>30</comment_count>
      <attachid>159989</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-22 13:24:33 -0700</bug_when>
    <thetext>Comment on attachment 159989
Patch for landing

Clearing flags on attachment: 159989

Committed r126344: &lt;http://trac.webkit.org/changeset/126344&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702263</commentid>
    <comment_count>31</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-22 13:24:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706777</commentid>
    <comment_count>32</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-28 15:09:24 -0700</bug_when>
    <thetext>Re-opened since this is blocked by 95253</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706806</commentid>
    <comment_count>33</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-28 15:51:07 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 94182 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706830</commentid>
    <comment_count>34</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-08-28 16:07:49 -0700</bug_when>
    <thetext>With the reworked disambiguation popup we still need the ForceSoftware flag. Chromium side CL: http://codereview.chromium.org/10885004/

Can we reopen this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706842</commentid>
    <comment_count>35</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-28 16:22:22 -0700</bug_when>
    <thetext>&gt; Can we reopen this?

Oh!  I misunderstood.  Sorry for the confusion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706846</commentid>
    <comment_count>36</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-28 16:24:51 -0700</bug_when>
    <thetext>I&apos;m rolling out the rollout.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>153924</attachid>
            <date>2012-07-23 17:57:34 -0700</date>
            <delta_ts>2012-08-01 15:32:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92043-20120723175726.patch</filename>
            <type>text/plain</type>
            <size>5139</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzMzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDZmYTBkYTJhZTM2MzA2MjQ2NjQ4NzIwMWQwZjAyMjY2MTg3MDNiNGUuLjY0Mzk4YTFiOGIzYzVm
MWVlODZjY2M4YjAyNzNjYTQ3NmUxYzE1NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMTItMDctMjMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KKworICAgICAgICBXZWJXaWRnZXQ6OnBhaW50T25EZW1hbmRab29tCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjA0MworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBX
ZWJXaWRnZXQ6OnBhaW50T25EZW1hbmRab29tLCB3aGljaCBkcmF3cyB0aGUKKyAgICAgICAgY29u
dGVudHMgb2YgdGhlIHdpZGdldCBvbnRvIGEgY2FudmFzLiAgVGhpcyBmdW5jdGlvbiBpcyB1c2Vk
IGJ5IHRoZQorICAgICAgICBsaW5rIHByZXZpZXcgZmVhdHVyZSBvbiBDaHJvbWl1bSBBbmRyb2lk
IHRvIGhlbHAgdXNlcnMgZGlzYW1iaWd1YXRlCisgICAgICAgIHRvdWNoZXMgaW4gZGVuc2UgcmVn
aW9ucy4gIFRoZSBpZGVhIGlzIHRoYXQgd2UnbGwgcmVuZGVyIGEgcG9wdXAgd2l0aAorICAgICAg
ICB0aGUgY29udGVudHMgb2YgdGhlIHBhZ2UgZW5sYXJnZWQgc28gdGhhdCB0aGV5IGNhbiB0b3Vj
aCBhZ2Fpbi4KKworICAgICAgICAqIHB1YmxpYy9XZWJXaWRnZXQuaDoKKyAgICAgICAgKFdlYldp
ZGdldCk6CisgICAgICAgIChXZWJLaXQ6OldlYldpZGdldDo6cGFpbnRPbkRlbWFuZFpvb20pOgor
ICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OmNhbnZhc0Jh
Y2tncm91bmRGb3JUcmFuc3BhcmVuY2V5KToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZXdJbXBsOjpwYWludCk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBs
OjpwYWludE9uRGVtYW5kWm9vbSk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmg6CisgICAg
ICAgIChXZWJWaWV3SW1wbCk6CisKIDIwMTItMDctMjMgIFBpZXJyZSBSb3NzaSAgPHBpZXJyZS5y
b3NzaUBnbWFpbC5jb20+CiAKICAgICAgICAgVW5pZnkgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hh
bmdlZCBhbmQgbmVlZFRvdWNoRXZlbnRzIGluIHRoZSBjaHJvbWUgY2xpZW50CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJXaWRnZXQuaCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYldpZGdldC5oCmluZGV4IDYwMGM1MjNmOGFlMjBmYjhjZThl
NTU1MDEzYjdiODg5NWY4MTE0YzcuLjFkN2E5NmUwMTIyOWEyODhlZjVlMWIyYTdjMzA3MjM1MTU3
Y2UwNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYldpZGdl
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYldpZGdldC5oCkBAIC05
OCw2ICs5OCwxMyBAQCBwdWJsaWM6CiAgICAgLy8gd2FycmFudGVkIGJlZm9yZSBwYWludGluZyBh
Z2FpbikuCiAgICAgdmlydHVhbCB2b2lkIHBhaW50KFdlYkNhbnZhcyosIGNvbnN0IFdlYlJlY3Qm
IHZpZXdQb3J0KSB7IH0KIAorICAgIC8vIFNpbWlsYXIgdG8gcGFpbnQoKSBhYm92ZSwgYnV0IHVz
ZWZ1bCBmb3IgcGFpbnRpbmcgaW50byBhIG1hZ25pZmllZAorICAgIC8vIGNhbnZhcy4gVGhpcyBm
dW5jdGlvbiBieXBhc3NlcyBhbnkgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgdG8gbGV0CisgICAg
Ly8gdXMgcmVkcmF3IHZlY3RvciBjb21wb25lbnRzIChzdWNoIGFzIHRleHQgYW5kIFNWRykgYXQg
YSBoaWdoZXIKKyAgICAvLyByZXNvbHV0aW9uIGluc3RlYWQgb2YgcmVhZGluZyBiYWNrIGZyb20g
Y29tcG9zaXRlIGJ1ZmZlciwgd2hpY2gKKyAgICAvLyB3b3VsZCByZXN1bHQgaW4gYWxpYXNpbmcu
CisgICAgdmlydHVhbCB2b2lkIHBhaW50T25EZW1hbmRab29tKFdlYkNhbnZhcyogY2FudmFzLCBj
b25zdCBXZWJSZWN0JiB2aWV3UG9ydCkgeyBwYWludChjYW52YXMsIHZpZXdQb3J0KTsgfQorCiAg
ICAgLy8gSW4gbm9uLXRocmVhZGVkIGNvbXBvc2l0aW5nIG1vZGUsIHRyaWdnZXJzIGNvbXBvc2l0
aW5nIG9mIHRoZSBjdXJyZW50CiAgICAgLy8gbGF5ZXJzIG9udG8gdGhlIHNjcmVlbi4gWW91IE1V
U1QgY2FsbCBMYXlvdXQgYmVmb3JlIGNhbGxpbmcgdGhpcyBtZXRob2QsCiAgICAgLy8gZm9yIHRo
ZSBzYW1lIHJlYXNvbnMgZGVzY3JpYmVkIGluIHRoZSBwYWludCBtZXRob2QgYWJvdmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCAwMWU2OGM5ODVhMzdi
YmJkMjM0ZmQyNDMwYTViYzA5M2M5N2Q5M2Y3Li41NTY3ZjBjODZjYTRjOTljM2VkNDRjYjJhMTYz
NjliNzJiOGY5YzY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJW
aWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwu
Y3BwCkBAIC0xNjQ4LDYgKzE2NDgsMTEgQEAgdm9pZCBXZWJWaWV3SW1wbDo6ZG9QaXhlbFJlYWRi
YWNrVG9DYW52YXMoV2ViQ2FudmFzKiBjYW52YXMsIGNvbnN0IEludFJlY3QmIHJlY3QKIH0KICNl
bmRpZgogCitzdGF0aWMgUGFnZVdpZGdldERlbGVnYXRlOjpDYW52YXNCYWNrZ3JvdW5kIGNhbnZh
c0JhY2tncm91bmRGb3JUcmFuc3BhcmVuY2V5KGJvb2wgaXNUcmFuc3BhcmVudCkKK3sKKyAgICBy
ZXR1cm4gaXNUcmFuc3BhcmVudCA/IFBhZ2VXaWRnZXREZWxlZ2F0ZTo6VHJhbnNsdWNlbnQgOiBQ
YWdlV2lkZ2V0RGVsZWdhdGU6Ok9wYXF1ZTsKK30KKwogdm9pZCBXZWJWaWV3SW1wbDo6cGFpbnQo
V2ViQ2FudmFzKiBjYW52YXMsIGNvbnN0IFdlYlJlY3QmIHJlY3QpCiB7CiAgICAgaWYgKGlzQWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0FjdGl2ZSgpKSB7CkBAIC0xNjYzLDcgKzE2NjgsNyBAQCB2b2lk
IFdlYlZpZXdJbXBsOjpwYWludChXZWJDYW52YXMqIGNhbnZhcywgY29uc3QgV2ViUmVjdCYgcmVj
dCkKICNlbmRpZgogICAgIH0gZWxzZSB7CiAgICAgICAgIGRvdWJsZSBwYWludFN0YXJ0ID0gY3Vy
cmVudFRpbWUoKTsKLSAgICAgICAgUGFnZVdpZGdldERlbGVnYXRlOjpwYWludChtX3BhZ2UuZ2V0
KCksIHBhZ2VPdmVybGF5cygpLCBjYW52YXMsIHJlY3QsIGlzVHJhbnNwYXJlbnQoKSA/IFBhZ2VX
aWRnZXREZWxlZ2F0ZTo6VHJhbnNsdWNlbnQgOiBQYWdlV2lkZ2V0RGVsZWdhdGU6Ok9wYXF1ZSk7
CisgICAgICAgIFBhZ2VXaWRnZXREZWxlZ2F0ZTo6cGFpbnQocGFnZSgpLCBwYWdlT3ZlcmxheXMo
KSwgY2FudmFzLCByZWN0LCBjYW52YXNCYWNrZ3JvdW5kRm9yVHJhbnNwYXJlbmNleShpc1RyYW5z
cGFyZW50KCkpKTsKICAgICAgICAgZG91YmxlIHBhaW50RW5kID0gY3VycmVudFRpbWUoKTsKICAg
ICAgICAgZG91YmxlIHBpeGVsc1BlclNlYyA9IChyZWN0LndpZHRoICogcmVjdC5oZWlnaHQpIC8g
KHBhaW50RW5kIC0gcGFpbnRTdGFydCk7CiAgICAgICAgIFdlYktpdDo6UGxhdGZvcm06OmN1cnJl
bnQoKS0+aGlzdG9ncmFtQ3VzdG9tQ291bnRzKCJSZW5kZXJlcjQuU29mdHdhcmVQYWludER1cmF0
aW9uTVMiLCAocGFpbnRFbmQgLSBwYWludFN0YXJ0KSAqIDEwMDAsIDAsIDEyMCwgMzApOwpAQCAt
MTY3MSw2ICsxNjc2LDE1IEBAIHZvaWQgV2ViVmlld0ltcGw6OnBhaW50KFdlYkNhbnZhcyogY2Fu
dmFzLCBjb25zdCBXZWJSZWN0JiByZWN0KQogICAgIH0KIH0KIAordm9pZCBXZWJWaWV3SW1wbDo6
cGFpbnRPbkRlbWFuZFpvb20oV2ViQ2FudmFzKiBjYW52YXMsIGNvbnN0IFdlYlJlY3QmIHJlY3Qp
Cit7CisgICAgRnJhbWVWaWV3KiB2aWV3ID0gcGFnZSgpLT5tYWluRnJhbWUoKS0+dmlldygpOwor
ICAgIFBhaW50QmVoYXZpb3Igb2xkUGFpbnRCZWhhdmlvciA9IHZpZXctPnBhaW50QmVoYXZpb3Io
KTsKKyAgICB2aWV3LT5zZXRQYWludEJlaGF2aW9yKG9sZFBhaW50QmVoYXZpb3IgfCBQYWludEJl
aGF2aW9yRmxhdHRlbkNvbXBvc2l0aW5nTGF5ZXJzKTsKKyAgICBQYWdlV2lkZ2V0RGVsZWdhdGU6
OnBhaW50KHBhZ2UoKSwgcGFnZU92ZXJsYXlzKCksIGNhbnZhcywgcmVjdCwgY2FudmFzQmFja2dy
b3VuZEZvclRyYW5zcGFyZW5jZXkoaXNUcmFuc3BhcmVudCgpKSk7CisgICAgdmlldy0+c2V0UGFp
bnRCZWhhdmlvcihvbGRQYWludEJlaGF2aW9yKTsKK30KKwogdm9pZCBXZWJWaWV3SW1wbDo6dGhl
bWVDaGFuZ2VkKCkKIHsKICAgICBpZiAoIXBhZ2UoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJWaWV3SW1wbC5oCmluZGV4IDExNTU5NjlmZGY0YzU3OTNkNDUyYjc3OGM0YTE4YWEyOGIz
N2RkN2YuLjkzMzMxNDJjYTkyYWMxMWJiMWRmYjZiOWE1NDgyYzkwMjBmMTEzNDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaApAQCAtMTQzLDYgKzE0Myw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0ZShkb3VibGUpOwogICAgIHZpcnR1YWwgdm9p
ZCBsYXlvdXQoKTsgLy8gQWxzbyBpbXBsZW1lbnRzIFdlYkxheWVyVHJlZVZpZXdDbGllbnQ6Omxh
eW91dCgpCiAgICAgdmlydHVhbCB2b2lkIHBhaW50KFdlYkNhbnZhcyosIGNvbnN0IFdlYlJlY3Qm
KTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRPbkRlbWFuZFpvb20oV2ViQ2FudmFzKiwgY29uc3Qg
V2ViUmVjdCYpOwogICAgIHZpcnR1YWwgdm9pZCB0aGVtZUNoYW5nZWQoKTsKICAgICB2aXJ0dWFs
IHZvaWQgY29tcG9zaXRlKGJvb2wgZmluaXNoKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNS
ZWRyYXcoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155903</attachid>
            <date>2012-08-01 15:32:05 -0700</date>
            <delta_ts>2012-08-10 12:29:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92043-20120801153147.patch</filename>
            <type>text/plain</type>
            <size>8802</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MzYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGViM2Q4NjgxMGVjZGJkMWIxMWQ0NmViM2NjZDVkNjNiYjM4MTFiNjMuLmZjMjA5YjllODEwZmM4
YTM1Y2IwYzg5OGNiMDI5MjI1OTZiNjIxY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzYgQEAKKzIwMTItMDgtMDEgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KKworICAgICAgICBXZWJXaWRnZXQgc2hvdWxkIGJlIGFibGUgdG8gcGFpbnQgaW50byBhIHpv
b21lZCBjYW52YXMgd2l0aG91dCBhbGlhc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIwNDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJZiBhY2NlbGVyYXRlZCBjb21wb3NpdGluZyBpcyBlbmFibGVk
LCBXZWJXaWRnZXQ6OnBhaW50IHJlYWRzIGJhY2sgZnJvbQorICAgICAgICB0aGUgY29tcG9zaXRv
ciByYXRoZXIgdGhhbiByZS1wYWludGluZyB0aGUgd2lkZ2V0LiBUaGF0IGFwcHJvYWNoIHdvcmtz
CisgICAgICAgIHdlbGwgaWYgdGhlIGNhbnZhcyB3ZSdyZSByZW5kZXJpbmcgaW50byBpcyBhdCBh
IHNpbWlsYXIgcmVzb2x1dGlvbiB0bworICAgICAgICB0aGUgcGl4ZWxzIGluIHRoZSBjb21wb3Np
dG9yLCBidXQgaWYgdGhlIGNhbnZhcyBoYXMgYmVlbiBzY2FsZWQgKGUuZy4sCisgICAgICAgIHRv
IGhlbHAgdGhlIHVzZXIgZGlzYW1iaWd1YXRlIGxpbmtzKSwgdGhlbiByZWFkaW5nIGJhY2sgZnJv
bSB0aGUKKyAgICAgICAgY29tcG9zaXRvciB3aWxsIGNhdXNlIGFsaWFzaW5nIGFydGlmYWN0cy4K
KworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgYW4gb3B0aW9uIHRvIHBhaW50IHRvIGxldCB0aGUg
ZW1iZWRkZXIgcmVxdWVzdCBhCisgICAgICAgIHNvZnR3YXJlIHJlLXJlbmRlcmluZyBvZiB0aGUg
d2lkZ2V0IHRvIGF2b2lkIHRoZXNlIGFsaWFzaW5nIGFydGlmYWN0cy4KKworICAgICAgICAqIHB1
YmxpYy9XZWJXaWRnZXQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViV2lkZ2V0OjpwYWludCk6Cisg
ICAgICAgICogc3JjL1dlYlBhZ2VQb3B1cEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlUG9wdXBJbXBsOjpwYWludCk6CisgICAgICAgICogc3JjL1dlYlBhZ2VQb3B1cEltcGwuaDoK
KyAgICAgICAgKFdlYlBhZ2VQb3B1cEltcGwpOgorICAgICAgICAqIHNyYy9XZWJQb3B1cE1lbnVJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51SW1wbDo6cGFpbnQpOgorICAg
ICAgICAqIHNyYy9XZWJQb3B1cE1lbnVJbXBsLmg6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBs
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Y2FudmFzQmFja2dyb3VuZEZvclRyYW5zcGFyZW5jZXkp
OgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnBhaW50
KToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKFdlYlZpZXdJbXBsKToK
KwogMjAxMi0wOC0wMSAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBSb2xsIGNocm9taXVtIERFUFMgdG8gMTQ5NDE2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lkZ2V0LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJXaWRnZXQuaAppbmRleCBiMmE1N2Q2NmVlNTViMzUwYzJlZjkzYjBkYzQ1MTY2
M2VhYjgwMTY3Li5hYWY3YTQxNDBiNTZhYjYwMTM2NDczMmEzZjI1NzhmNmU4ZTZkZTJlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJXaWRnZXQuaAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJXaWRnZXQuaApAQCAtOTAsNiArOTAsMTQg
QEAgcHVibGljOgogICAgIC8vIGFuZCBpdCBtYXkgcmVzdWx0IGluIGNhbGxzIHRvIFdlYldpZGdl
dENsaWVudDo6ZGlkSW52YWxpZGF0ZVJlY3QuCiAgICAgdmlydHVhbCB2b2lkIGxheW91dCgpIHsg
fQogCisgICAgZW51bSBQYWludE9wdGlvbnMgeworICAgICAgICAvLyBBdHRlbXB0IHRvIGZ1bGZp
bGwgdGhlIHBhaW50aW5nIHJlcXVlc3QgYnkgcmVhZGluZyBiYWNrIGZyb20gdGhlCisgICAgICAg
IC8vIGNvbXBvc2l0b3IsIGFzc3VtaW5nIHdlJ3JlIHVzaW5nIGEgY29tcG9zaXRvciB0byByZW5k
ZXIuCisgICAgICAgIFJlYWRiYWNrRnJvbUNvbXBvc2l0b3JJZkF2YWlsYWJsZSwKKyAgICAgICAg
Ly8gRm9yY2UgdGhlIHdpZGdldCB0byByZXJlbmRlciBvbnRvIHRoZSBjYW52YXMgdXNpbmcgc29m
d2FyZS4KKyAgICAgICAgRm9yY2VTb2Z0d2FyZVJlbmRlcmluZywKKyAgICB9OworCiAgICAgLy8g
Q2FsbGVkIHRvIHBhaW50IHRoZSByZWN0YW5ndWxhciByZWdpb24gd2l0aGluIHRoZSBXZWJXaWRn
ZXQKICAgICAvLyBvbnRvIHRoZSBzcGVjaWZpZWQgY2FudmFzIGF0ICh2aWV3UG9ydC54LHZpZXdQ
b3J0LnkpLiBZb3UgTVVTVCBjYWxsCiAgICAgLy8gTGF5b3V0IGJlZm9yZSBjYWxsaW5nIHRoaXMg
bWV0aG9kLiBJdCBpcyBva2F5IHRvIGNhbGwgcGFpbnQKQEAgLTk3LDcgKzEwNSw3IEBAIHB1Ymxp
YzoKICAgICAvLyBjaGFuZ2VzIGFyZSBtYWRlIHRvIHRoZSBXZWJXaWRnZXQgKGUuZy4sIG9uY2Ug
ZXZlbnRzIGFyZQogICAgIC8vIHByb2Nlc3NlZCwgaXQgc2hvdWxkIGJlIGFzc3VtZWQgdGhhdCBh
bm90aGVyIGNhbGwgdG8gbGF5b3V0IGlzCiAgICAgLy8gd2FycmFudGVkIGJlZm9yZSBwYWludGlu
ZyBhZ2FpbikuCi0gICAgdmlydHVhbCB2b2lkIHBhaW50KFdlYkNhbnZhcyosIGNvbnN0IFdlYlJl
Y3QmIHZpZXdQb3J0KSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoV2ViQ2FudmFzKiwgY29u
c3QgV2ViUmVjdCYgdmlld1BvcnQsIFBhaW50T3B0aW9ucyA9IFJlYWRiYWNrRnJvbUNvbXBvc2l0
b3JJZkF2YWlsYWJsZSkgeyB9CiAKICAgICAvLyBJbiBub24tdGhyZWFkZWQgY29tcG9zaXRpbmcg
bW9kZSwgdHJpZ2dlcnMgY29tcG9zaXRpbmcgb2YgdGhlIGN1cnJlbnQKICAgICAvLyBsYXllcnMg
b250byB0aGUgc2NyZWVuLiBZb3UgTVVTVCBjYWxsIExheW91dCBiZWZvcmUgY2FsbGluZyB0aGlz
IG1ldGhvZCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBhZ2VQ
b3B1cEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGFnZVBvcHVwSW1w
bC5jcHAKaW5kZXggZmQ1ZDJmMmFkMGVkMmNkMWM5MjY5NTAxZmUyYWQxNGJmZTQ1ZDQ0Yi4uOTg4
OWMzNzBiODk3ZTFjOTM1Yzg5MzZlZWU5YTlhZTRkYzVjYzM1MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGFnZVBvcHVwSW1wbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViUGFnZVBvcHVwSW1wbC5jcHAKQEAgLTIzNyw3ICsyMzcsNyBA
QCB2b2lkIFdlYlBhZ2VQb3B1cEltcGw6OmxheW91dCgpCiAgICAgUGFnZVdpZGdldERlbGVnYXRl
OjpsYXlvdXQobV9wYWdlLmdldCgpKTsKIH0KIAotdm9pZCBXZWJQYWdlUG9wdXBJbXBsOjpwYWlu
dChXZWJDYW52YXMqIGNhbnZhcywgY29uc3QgV2ViUmVjdCYgcmVjdCkKK3ZvaWQgV2ViUGFnZVBv
cHVwSW1wbDo6cGFpbnQoV2ViQ2FudmFzKiBjYW52YXMsIGNvbnN0IFdlYlJlY3QmIHJlY3QsIFBh
aW50T3B0aW9ucykKIHsKICAgICBQYWdlV2lkZ2V0RGVsZWdhdGU6OnBhaW50KG1fcGFnZS5nZXQo
KSwgMCwgY2FudmFzLCByZWN0LCBQYWdlV2lkZ2V0RGVsZWdhdGU6Ok9wYXF1ZSk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQYWdlUG9wdXBJbXBsLmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQYWdlUG9wdXBJbXBsLmgKaW5kZXggMjU1MmJh
Y2YxMThmYzYxNWE2NzI1MGFjZDIwZDJlYzc1ODE3NjlhOC4uNTEzNmNlMTQ5NDI0NDUzOTgzYTli
MTQ3ODA4Mzg2ZjdmZDUzY2QwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViUGFnZVBvcHVwSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlBhZ2VQb3B1cEltcGwuaApAQCAtNzIsNyArNzIsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwg
dm9pZCBzZXRDb21wb3NpdG9yU3VyZmFjZVJlYWR5KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2
b2lkIGNvbXBvc2l0ZShib29sKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCkg
T1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHBhaW50KFdlYkNhbnZhcyosIGNvbnN0IFdlYlJl
Y3QmKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoV2ViQ2FudmFzKiwgY29uc3Qg
V2ViUmVjdCYsIFBhaW50T3B0aW9ucyA9IFJlYWRiYWNrRnJvbUNvbXBvc2l0b3JJZkF2YWlsYWJs
ZSkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHJlc2l6ZShjb25zdCBXZWJTaXplJikgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBi
b29sIGhhbmRsZUlucHV0RXZlbnQoY29uc3QgV2ViSW5wdXRFdmVudCYpIE9WRVJSSURFOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmNwcAppbmRleCBl
Yzg5OTMwZmI3ZDZjMzJhNzg3MTdkMTA1NjExNmQ4NTM3ZDc1YzYwLi4xOTRkZWU1NTBjZjBkZDQ5
OTRkNjNiMGE2OTEzZDExZDQ3NDdmNTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJQb3B1cE1lbnVJbXBsLmNwcApAQCAtMTkzLDcgKzE5Myw3IEBAIHZvaWQgV2ViUG9w
dXBNZW51SW1wbDo6bGF5b3V0KCkKIHsKIH0KIAotdm9pZCBXZWJQb3B1cE1lbnVJbXBsOjpwYWlu
dChXZWJDYW52YXMqIGNhbnZhcywgY29uc3QgV2ViUmVjdCYgcmVjdCkKK3ZvaWQgV2ViUG9wdXBN
ZW51SW1wbDo6cGFpbnQoV2ViQ2FudmFzKiBjYW52YXMsIGNvbnN0IFdlYlJlY3QmIHJlY3QsIFBh
aW50T3B0aW9ucykKIHsKICAgICBpZiAoIW1fd2lkZ2V0KQogICAgICAgICByZXR1cm47CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKaW5kZXggYzIyYTBi
YmVjZTk5NTNkNWQ0NzEyNGViNGEwMDgzYmY4YjYzMzg4Ny4uN2YxM2U0Mzg1MGRmZGI1Mjg3YWRm
NmRmZGI0MTlmNGMxMDhmZmY1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViUG9wdXBNZW51SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlBvcHVwTWVudUltcGwuaApAQCAtNzMsNyArNzMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIHdpbGxFbmRMaXZlUmVzaXplKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGFuaW1h
dGUoZG91YmxlIGZyYW1lQmVnaW5UaW1lKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgbGF5
b3V0KCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHBhaW50KFdlYkNhbnZhcyosIGNvbnN0
IFdlYlJlY3QmKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoV2ViQ2FudmFzKiwg
Y29uc3QgV2ViUmVjdCYsIFBhaW50T3B0aW9ucyA9IFJlYWRiYWNrRnJvbUNvbXBvc2l0b3JJZkF2
YWlsYWJsZSkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHRoZW1lQ2hhbmdlZCgpIE9WRVJS
SURFOwogICAgIHZpcnR1YWwgdm9pZCBzZXRDb21wb3NpdG9yU3VyZmFjZVJlYWR5KCkgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCB2b2lkIGNvbXBvc2l0ZShib29sIGZpbmlzaCkgT1ZFUlJJREU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggZDg3NTBlMzhh
Mjg3ZWIxOTA3Mzc0NGNjMDM5ZTJjNGEyNGQ0ZWM5NC4uZjQwM2JjYzkzYWIwYjVjMGUwZTRjMDgy
NWJkOTRmNzkwNTg3YTJiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmNwcApAQCAtMTY4OSw5ICsxNjg5LDkgQEAgdm9pZCBXZWJWaWV3SW1wbDo6ZG9QaXhlbFJl
YWRiYWNrVG9DYW52YXMoV2ViQ2FudmFzKiBjYW52YXMsIGNvbnN0IEludFJlY3QmIHJlY3QKIH0K
ICNlbmRpZgogCi12b2lkIFdlYlZpZXdJbXBsOjpwYWludChXZWJDYW52YXMqIGNhbnZhcywgY29u
c3QgV2ViUmVjdCYgcmVjdCkKK3ZvaWQgV2ViVmlld0ltcGw6OnBhaW50KFdlYkNhbnZhcyogY2Fu
dmFzLCBjb25zdCBXZWJSZWN0JiByZWN0LCBQYWludE9wdGlvbnMgb3B0aW9uKQogewotICAgIGlm
IChpc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdBY3RpdmUoKSkgeworICAgIGlmIChvcHRpb24gPT0g
UmVhZGJhY2tGcm9tQ29tcG9zaXRvcklmQXZhaWxhYmxlICYmIGlzQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0FjdGl2ZSgpKSB7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgICAg
ICAvLyBJZiBhIGNhbnZhcyB3YXMgcGFzc2VkIGluLCB3ZSB1c2UgaXQgdG8gZ3JhYiBhIGNvcHkg
b2YgdGhlCiAgICAgICAgIC8vIGZyZXNobHktcmVuZGVyZWQgcGl4ZWxzLgpAQCAtMTcwMywxMiAr
MTcwMywyMCBAQCB2b2lkIFdlYlZpZXdJbXBsOjpwYWludChXZWJDYW52YXMqIGNhbnZhcywgY29u
c3QgV2ViUmVjdCYgcmVjdCkKICAgICAgICAgfQogI2VuZGlmCiAgICAgfSBlbHNlIHsKKyAgICAg
ICAgRnJhbWVWaWV3KiB2aWV3ID0gcGFnZSgpLT5tYWluRnJhbWUoKS0+dmlldygpOworICAgICAg
ICBQYWludEJlaGF2aW9yIG9sZFBhaW50QmVoYXZpb3IgPSB2aWV3LT5wYWludEJlaGF2aW9yKCk7
CisgICAgICAgIGlmIChpc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdBY3RpdmUoKSkKKyAgICAgICAg
ICAgIHZpZXctPnNldFBhaW50QmVoYXZpb3Iob2xkUGFpbnRCZWhhdmlvciB8IFBhaW50QmVoYXZp
b3JGbGF0dGVuQ29tcG9zaXRpbmdMYXllcnMpOworCiAgICAgICAgIGRvdWJsZSBwYWludFN0YXJ0
ID0gY3VycmVudFRpbWUoKTsKICAgICAgICAgUGFnZVdpZGdldERlbGVnYXRlOjpwYWludChtX3Bh
Z2UuZ2V0KCksIHBhZ2VPdmVybGF5cygpLCBjYW52YXMsIHJlY3QsIGlzVHJhbnNwYXJlbnQoKSA/
IFBhZ2VXaWRnZXREZWxlZ2F0ZTo6VHJhbnNsdWNlbnQgOiBQYWdlV2lkZ2V0RGVsZWdhdGU6Ok9w
YXF1ZSk7CiAgICAgICAgIGRvdWJsZSBwYWludEVuZCA9IGN1cnJlbnRUaW1lKCk7CiAgICAgICAg
IGRvdWJsZSBwaXhlbHNQZXJTZWMgPSAocmVjdC53aWR0aCAqIHJlY3QuaGVpZ2h0KSAvIChwYWlu
dEVuZCAtIHBhaW50U3RhcnQpOwogICAgICAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCkt
Pmhpc3RvZ3JhbUN1c3RvbUNvdW50cygiUmVuZGVyZXI0LlNvZnR3YXJlUGFpbnREdXJhdGlvbk1T
IiwgKHBhaW50RW5kIC0gcGFpbnRTdGFydCkgKiAxMDAwLCAwLCAxMjAsIDMwKTsKICAgICAgICAg
V2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT5oaXN0b2dyYW1DdXN0b21Db3VudHMoIlJlbmRl
cmVyNC5Tb2Z0d2FyZVBhaW50TWVnYXBpeFBlclNlY29uZCIsIHBpeGVsc1BlclNlYyAvIDEwMDAw
MDAsIDEwLCAyMTAsIDMwKTsKKworICAgICAgICBpZiAoaXNBY2NlbGVyYXRlZENvbXBvc2l0aW5n
QWN0aXZlKCkpCisgICAgICAgICAgICB2aWV3LT5zZXRQYWludEJlaGF2aW9yKG9sZFBhaW50QmVo
YXZpb3IpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBs
LmgKaW5kZXggMGIxZGEyYTI3ZDU2OTEzYmU2MjAwMWFlZmIwMjA1OWFmZmNkMDgwNS4uY2ViYjky
YWNmNzVhYTljNzYxNTQ1YzdiYTZhNzVhNmZjZjljOGMxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC0xNDMsNyArMTQzLDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBzZXRDb21wb3NpdG9yU3VyZmFjZVJlYWR5KCk7CiAgICAgdmlydHVhbCB2b2lk
IGFuaW1hdGUoZG91YmxlKTsKICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7IC8vIEFsc28gaW1w
bGVtZW50cyBXZWJMYXllclRyZWVWaWV3Q2xpZW50OjpsYXlvdXQoKQotICAgIHZpcnR1YWwgdm9p
ZCBwYWludChXZWJDYW52YXMqLCBjb25zdCBXZWJSZWN0Jik7CisgICAgdmlydHVhbCB2b2lkIHBh
aW50KFdlYkNhbnZhcyosIGNvbnN0IFdlYlJlY3QmLCBQYWludE9wdGlvbnMgPSBSZWFkYmFja0Zy
b21Db21wb3NpdG9ySWZBdmFpbGFibGUpOwogICAgIHZpcnR1YWwgdm9pZCB0aGVtZUNoYW5nZWQo
KTsKICAgICB2aXJ0dWFsIHZvaWQgY29tcG9zaXRlKGJvb2wgZmluaXNoKTsKICAgICB2aXJ0dWFs
IHZvaWQgc2V0TmVlZHNSZWRyYXcoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157790</attachid>
            <date>2012-08-10 12:29:12 -0700</date>
            <delta_ts>2012-08-10 14:07:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92043-20120810122843.patch</filename>
            <type>text/plain</type>
            <size>9660</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1Mjk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDlhMTdmMjc1NTlmZGE2Mzg5MzJmZWEzYjVjYmUwNDAwYjMxZmY2NzguLjM0OWJmNzg1N2E0NmFi
Mjk3NjI0MmFlZTZmZmI1MzJjZWY2OGM0MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzYgQEAKKzIwMTItMDgtMTAgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KKworICAgICAgICBXZWJXaWRnZXQgc2hvdWxkIGJlIGFibGUgdG8gcGFpbnQgaW50byBhIHpv
b21lZCBjYW52YXMgd2l0aG91dCBhbGlhc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIwNDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJZiBhY2NlbGVyYXRlZCBjb21wb3NpdGluZyBpcyBlbmFibGVk
LCBXZWJXaWRnZXQ6OnBhaW50IHJlYWRzIGJhY2sgZnJvbQorICAgICAgICB0aGUgY29tcG9zaXRv
ciByYXRoZXIgdGhhbiByZS1wYWludGluZyB0aGUgd2lkZ2V0LiBUaGF0IGFwcHJvYWNoIHdvcmtz
CisgICAgICAgIHdlbGwgaWYgdGhlIGNhbnZhcyB3ZSdyZSByZW5kZXJpbmcgaW50byBpcyBhdCBh
IHNpbWlsYXIgcmVzb2x1dGlvbiB0bworICAgICAgICB0aGUgcGl4ZWxzIGluIHRoZSBjb21wb3Np
dG9yLCBidXQgaWYgdGhlIGNhbnZhcyBoYXMgYmVlbiBzY2FsZWQgKGUuZy4sCisgICAgICAgIHRv
IGhlbHAgdGhlIHVzZXIgZGlzYW1iaWd1YXRlIGxpbmtzKSwgdGhlbiByZWFkaW5nIGJhY2sgZnJv
bSB0aGUKKyAgICAgICAgY29tcG9zaXRvciB3aWxsIGNhdXNlIGFsaWFzaW5nIGFydGlmYWN0cy4K
KworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgYW4gb3B0aW9uIHRvIHBhaW50IHRvIGxldCB0aGUg
ZW1iZWRkZXIgcmVxdWVzdCBhCisgICAgICAgIHNvZnR3YXJlIHJlLXJlbmRlcmluZyBvZiB0aGUg
d2lkZ2V0IHRvIGF2b2lkIHRoZXNlIGFsaWFzaW5nIGFydGlmYWN0cy4KKworICAgICAgICAqIHB1
YmxpYy9XZWJXaWRnZXQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViV2lkZ2V0OjpwYWludCk6Cisg
ICAgICAgICogc3JjL1dlYlBhZ2VQb3B1cEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlUG9wdXBJbXBsOjpwYWludCk6CisgICAgICAgICogc3JjL1dlYlBhZ2VQb3B1cEltcGwuaDoK
KyAgICAgICAgKFdlYlBhZ2VQb3B1cEltcGwpOgorICAgICAgICAqIHNyYy9XZWJQb3B1cE1lbnVJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51SW1wbDo6cGFpbnQpOgorICAg
ICAgICAqIHNyYy9XZWJQb3B1cE1lbnVJbXBsLmg6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBs
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Y2FudmFzQmFja2dyb3VuZEZvclRyYW5zcGFyZW5jZXkp
OgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnBhaW50
KToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKFdlYlZpZXdJbXBsKToK
KwogMjAxMi0wOC0xMCAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBbY2hyb21pdW1dIFJlbW92ZSBzY2lzc29yIGZyb20gdGhlIG5hbWluZ3MgaW4gQ0NPY2Ns
dXNpb25UcmFja2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJXaWRnZXQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYldpZGdldC5oCmlu
ZGV4IDhlNGZlY2FjN2U5OWEzZTMwMzNiZmM4MTcwNDIxZmMyYTlmNGVmM2MuLmIwM2JlZWI1MzBi
ZTZiMzk2NGFlYjhkMzFjZGZkYTdmMWM4ZTMyZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYldpZGdldC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYldpZGdldC5oCkBAIC05MCw2ICs5MCwyMSBAQCBwdWJsaWM6CiAgICAgLy8gYW5k
IGl0IG1heSByZXN1bHQgaW4gY2FsbHMgdG8gV2ViV2lkZ2V0Q2xpZW50OjpkaWRJbnZhbGlkYXRl
UmVjdC4KICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCkgeyB9CiAKKyAgICBlbnVtIFBhaW50T3B0
aW9ucyB7CisgICAgICAgIC8vIEF0dGVtcHQgdG8gZnVsZmlsbCB0aGUgcGFpbnRpbmcgcmVxdWVz
dCBieSByZWFkaW5nIGJhY2sgZnJvbSB0aGUKKyAgICAgICAgLy8gY29tcG9zaXRvciwgYXNzdW1p
bmcgd2UncmUgdXNpbmcgYSBjb21wb3NpdG9yIHRvIHJlbmRlci4KKyAgICAgICAgUmVhZGJhY2tG
cm9tQ29tcG9zaXRvcklmQXZhaWxhYmxlLAorCisgICAgICAgIC8vIEZvcmNlIHRoZSB3aWRnZXQg
dG8gcmVyZW5kZXIgb250byB0aGUgY2FudmFzIHVzaW5nIHNvZnR3YXJlLiBUaGlzCisgICAgICAg
IC8vIG1vZGUgaWdub3JlcyAzZCB0cmFuc2Zvcm1zIGFuZCBpZ25vcmVzIEdQVS1yZXNpZGVudCBj
b250ZW50LCBzdWNoCisgICAgICAgIC8vIGFzIHZpZGVvLCBjYW52YXMsIGFuZCBXZWJHTC4KKyAg
ICAgICAgLy8KKyAgICAgICAgLy8gTm90ZTogVGhpcyBvcHRpb24gZXhpc3RzIG9uIE9TKEFORFJP
SUQpIGFuZCB3aWxsIGhvcGVmdWxseSBiZQorICAgICAgICAvLyAgICAgICByZW1vdmVkIG9uY2Ug
dGhlIGxpbmsgZGlzYW1iaWd1YXRpb24gZmVhdHVyZSByZW5kZXJzIHVzaW5nCisgICAgICAgIC8v
ICAgICAgIHRoZSBjb21wb3NpdG9yLgorICAgICAgICBGb3JjZVNvZnR3YXJlUmVuZGVyaW5nQW5k
SWdub3JlR1BVUmVzaWRlbnRDb250ZW50LAorICAgIH07CisKICAgICAvLyBDYWxsZWQgdG8gcGFp
bnQgdGhlIHJlY3Rhbmd1bGFyIHJlZ2lvbiB3aXRoaW4gdGhlIFdlYldpZGdldAogICAgIC8vIG9u
dG8gdGhlIHNwZWNpZmllZCBjYW52YXMgYXQgKHZpZXdQb3J0Lngsdmlld1BvcnQueSkuIFlvdSBN
VVNUIGNhbGwKICAgICAvLyBMYXlvdXQgYmVmb3JlIGNhbGxpbmcgdGhpcyBtZXRob2QuIEl0IGlz
IG9rYXkgdG8gY2FsbCBwYWludApAQCAtOTcsNyArMTEyLDcgQEAgcHVibGljOgogICAgIC8vIGNo
YW5nZXMgYXJlIG1hZGUgdG8gdGhlIFdlYldpZGdldCAoZS5nLiwgb25jZSBldmVudHMgYXJlCiAg
ICAgLy8gcHJvY2Vzc2VkLCBpdCBzaG91bGQgYmUgYXNzdW1lZCB0aGF0IGFub3RoZXIgY2FsbCB0
byBsYXlvdXQgaXMKICAgICAvLyB3YXJyYW50ZWQgYmVmb3JlIHBhaW50aW5nIGFnYWluKS4KLSAg
ICB2aXJ0dWFsIHZvaWQgcGFpbnQoV2ViQ2FudmFzKiwgY29uc3QgV2ViUmVjdCYgdmlld1BvcnQp
IHsgfQorICAgIHZpcnR1YWwgdm9pZCBwYWludChXZWJDYW52YXMqLCBjb25zdCBXZWJSZWN0JiB2
aWV3UG9ydCwgUGFpbnRPcHRpb25zID0gUmVhZGJhY2tGcm9tQ29tcG9zaXRvcklmQXZhaWxhYmxl
KSB7IH0KIAogICAgIC8vIEluIG5vbi10aHJlYWRlZCBjb21wb3NpdGluZyBtb2RlLCB0cmlnZ2Vy
cyBjb21wb3NpdGluZyBvZiB0aGUgY3VycmVudAogICAgIC8vIGxheWVycyBvbnRvIHRoZSBzY3Jl
ZW4uIFlvdSBNVVNUIGNhbGwgTGF5b3V0IGJlZm9yZSBjYWxsaW5nIHRoaXMgbWV0aG9kLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGFnZVBvcHVwSW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQYWdlUG9wdXBJbXBsLmNwcAppbmRleCAx
OGY1ZGUyMGE1ZTBmZmFkMTJhMDcyMTc4NTBiMWZmZDhlODA4MGMxLi41ZDY2YzQ3M2RmYmIzZWZm
ZGFkOGJjM2VmNzMyYjZkOGEwOGRiY2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJQYWdlUG9wdXBJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJQYWdlUG9wdXBJbXBsLmNwcApAQCAtMjI2LDcgKzIyNiw3IEBAIHZvaWQgV2ViUGFn
ZVBvcHVwSW1wbDo6bGF5b3V0KCkKICAgICBQYWdlV2lkZ2V0RGVsZWdhdGU6OmxheW91dChtX3Bh
Z2UuZ2V0KCkpOwogfQogCi12b2lkIFdlYlBhZ2VQb3B1cEltcGw6OnBhaW50KFdlYkNhbnZhcyog
Y2FudmFzLCBjb25zdCBXZWJSZWN0JiByZWN0KQordm9pZCBXZWJQYWdlUG9wdXBJbXBsOjpwYWlu
dChXZWJDYW52YXMqIGNhbnZhcywgY29uc3QgV2ViUmVjdCYgcmVjdCwgUGFpbnRPcHRpb25zKQog
ewogICAgIFBhZ2VXaWRnZXREZWxlZ2F0ZTo6cGFpbnQobV9wYWdlLmdldCgpLCAwLCBjYW52YXMs
IHJlY3QsIFBhZ2VXaWRnZXREZWxlZ2F0ZTo6T3BhcXVlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBhZ2VQb3B1cEltcGwuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlBhZ2VQb3B1cEltcGwuaAppbmRleCA3NjkzNmE0Y2Q2NWQzNGZmODkw
MGE1MWI0ZWMwMzcwZjI1ZGYxZWMyLi5lNjg0NGJmZDA2YTQ5OGJkYjUwZGI4MTkwNmQ5NmU0YWUx
NWRiNGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQYWdlUG9w
dXBJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGFnZVBvcHVwSW1w
bC5oCkBAIC03Miw3ICs3Miw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNldENvbXBv
c2l0b3JTdXJmYWNlUmVhZHkoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY29tcG9zaXRl
KGJvb2wpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKSBPVkVSUklERTsKLSAg
ICB2aXJ0dWFsIHZvaWQgcGFpbnQoV2ViQ2FudmFzKiwgY29uc3QgV2ViUmVjdCYpIE9WRVJSSURF
OworICAgIHZpcnR1YWwgdm9pZCBwYWludChXZWJDYW52YXMqLCBjb25zdCBXZWJSZWN0JiwgUGFp
bnRPcHRpb25zID0gUmVhZGJhY2tGcm9tQ29tcG9zaXRvcklmQXZhaWxhYmxlKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIHZvaWQgcmVzaXplKGNvbnN0IFdlYlNpemUmKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIHZvaWQgY2xvc2UoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlSW5w
dXRFdmVudChjb25zdCBXZWJJbnB1dEV2ZW50JikgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmNwcCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuY3BwCmluZGV4IGVjODk5MzBmYjdkNmMz
MmE3ODcxN2QxMDU2MTE2ZDg1MzdkNzVjNjAuLjE5NGRlZTU1MGNmMGRkNDk5NGQ2M2IwYTY5MTNk
MTFkNDc0N2Y1NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBv
cHVwTWVudUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVw
TWVudUltcGwuY3BwCkBAIC0xOTMsNyArMTkzLDcgQEAgdm9pZCBXZWJQb3B1cE1lbnVJbXBsOjps
YXlvdXQoKQogewogfQogCi12b2lkIFdlYlBvcHVwTWVudUltcGw6OnBhaW50KFdlYkNhbnZhcyog
Y2FudmFzLCBjb25zdCBXZWJSZWN0JiByZWN0KQordm9pZCBXZWJQb3B1cE1lbnVJbXBsOjpwYWlu
dChXZWJDYW52YXMqIGNhbnZhcywgY29uc3QgV2ViUmVjdCYgcmVjdCwgUGFpbnRPcHRpb25zKQog
ewogICAgIGlmICghbV93aWRnZXQpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaAppbmRleCBjMjJhMGJiZWNlOTk1M2Q1ZDQ3
MTI0ZWI0YTAwODNiZjhiNjMzODg3Li43ZjEzZTQzODUwZGZkYjUyODdhZGY2ZGZkYjQxOWY0YzEw
OGZmZjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1l
bnVJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1w
bC5oCkBAIC03Myw3ICs3Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgd2lsbEVuZExp
dmVSZXNpemUoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0ZShkb3VibGUgZnJh
bWVCZWdpblRpbWUpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKSBPVkVSUklE
RTsKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoV2ViQ2FudmFzKiwgY29uc3QgV2ViUmVjdCYpIE9W
RVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBwYWludChXZWJDYW52YXMqLCBjb25zdCBXZWJSZWN0
JiwgUGFpbnRPcHRpb25zID0gUmVhZGJhY2tGcm9tQ29tcG9zaXRvcklmQXZhaWxhYmxlKSBPVkVS
UklERTsKICAgICB2aXJ0dWFsIHZvaWQgdGhlbWVDaGFuZ2VkKCkgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCB2b2lkIHNldENvbXBvc2l0b3JTdXJmYWNlUmVhZHkoKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgY29tcG9zaXRlKGJvb2wgZmluaXNoKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCAwYmQzZWExMTZlNGMwNTJkZWFhMDVl
NjYzMDc2NGUzMmY5Y2E0MTY4Li4yZmI5YzRlNDU1ZDA4YWQ5NWQ0MDQxYjNhZmY1YzRiZTJmMThl
NzY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0x
Njg3LDkgKzE2ODcsMTUgQEAgdm9pZCBXZWJWaWV3SW1wbDo6ZG9QaXhlbFJlYWRiYWNrVG9DYW52
YXMoV2ViQ2FudmFzKiBjYW52YXMsIGNvbnN0IEludFJlY3QmIHJlY3QKIH0KICNlbmRpZgogCi12
b2lkIFdlYlZpZXdJbXBsOjpwYWludChXZWJDYW52YXMqIGNhbnZhcywgY29uc3QgV2ViUmVjdCYg
cmVjdCkKK3ZvaWQgV2ViVmlld0ltcGw6OnBhaW50KFdlYkNhbnZhcyogY2FudmFzLCBjb25zdCBX
ZWJSZWN0JiByZWN0LCBQYWludE9wdGlvbnMgb3B0aW9uKQogewotICAgIGlmIChpc0FjY2VsZXJh
dGVkQ29tcG9zaXRpbmdBY3RpdmUoKSkgeworI2lmICFPUyhBTkRST0lEKQorICAgIC8vIFJlYWRi
YWNrRnJvbUNvbXBvc2l0b3JJZkF2YWlsYWJsZSBpcyB0aGUgb25seSBvcHRpb24gYXZhaWxhYmxl
IG9uIG5vbi1BbmRyb2lkLgorICAgIC8vIElkZWFsbHksIEFuZHJvaWQgd291bGQgYWx3YXlzIHVz
ZSBSZWFkYmFja0Zyb21Db21wb3NpdG9ySWZBdmFpbGFibGUgYXMgd2VsbC4KKyAgICBBU1NFUlQo
b3B0aW9uID09IFJlYWRiYWNrRnJvbUNvbXBvc2l0b3JJZkF2YWlsYWJsZSkKKyNlbmRpZgorCisg
ICAgaWYgKG9wdGlvbiA9PSBSZWFkYmFja0Zyb21Db21wb3NpdG9ySWZBdmFpbGFibGUgJiYgaXNB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nQWN0aXZlKCkpIHsKICNpZiBVU0UoQUNDRUxFUkFURURfQ09N
UE9TSVRJTkcpCiAgICAgICAgIC8vIElmIGEgY2FudmFzIHdhcyBwYXNzZWQgaW4sIHdlIHVzZSBp
dCB0byBncmFiIGEgY29weSBvZiB0aGUKICAgICAgICAgLy8gZnJlc2hseS1yZW5kZXJlZCBwaXhl
bHMuCkBAIC0xNzAxLDEyICsxNzA3LDI0IEBAIHZvaWQgV2ViVmlld0ltcGw6OnBhaW50KFdlYkNh
bnZhcyogY2FudmFzLCBjb25zdCBXZWJSZWN0JiByZWN0KQogICAgICAgICB9CiAjZW5kaWYKICAg
ICB9IGVsc2UgeworICAgICAgICBGcmFtZVZpZXcqIHZpZXcgPSBwYWdlKCktPm1haW5GcmFtZSgp
LT52aWV3KCk7CisgICAgICAgIFBhaW50QmVoYXZpb3Igb2xkUGFpbnRCZWhhdmlvciA9IHZpZXct
PnBhaW50QmVoYXZpb3IoKTsKKyAgICAgICAgaWYgKGlzQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Fj
dGl2ZSgpKSB7CisgICAgICAgICAgICBBU1NFUlQob3B0aW9uID09IEZvcmNlU29mdHdhcmVSZW5k
ZXJpbmdBbmRJZ25vcmVHUFVSZXNpZGVudENvbnRlbnQpOyAgICAgICAgICAgIAorICAgICAgICAg
ICAgdmlldy0+c2V0UGFpbnRCZWhhdmlvcihvbGRQYWludEJlaGF2aW9yIHwgUGFpbnRCZWhhdmlv
ckZsYXR0ZW5Db21wb3NpdGluZ0xheWVycyk7CisgICAgICAgIH0KKwogICAgICAgICBkb3VibGUg
cGFpbnRTdGFydCA9IGN1cnJlbnRUaW1lKCk7CiAgICAgICAgIFBhZ2VXaWRnZXREZWxlZ2F0ZTo6
cGFpbnQobV9wYWdlLmdldCgpLCBwYWdlT3ZlcmxheXMoKSwgY2FudmFzLCByZWN0LCBpc1RyYW5z
cGFyZW50KCkgPyBQYWdlV2lkZ2V0RGVsZWdhdGU6OlRyYW5zbHVjZW50IDogUGFnZVdpZGdldERl
bGVnYXRlOjpPcGFxdWUpOwogICAgICAgICBkb3VibGUgcGFpbnRFbmQgPSBjdXJyZW50VGltZSgp
OwogICAgICAgICBkb3VibGUgcGl4ZWxzUGVyU2VjID0gKHJlY3Qud2lkdGggKiByZWN0LmhlaWdo
dCkgLyAocGFpbnRFbmQgLSBwYWludFN0YXJ0KTsKICAgICAgICAgV2ViS2l0OjpQbGF0Zm9ybTo6
Y3VycmVudCgpLT5oaXN0b2dyYW1DdXN0b21Db3VudHMoIlJlbmRlcmVyNC5Tb2Z0d2FyZVBhaW50
RHVyYXRpb25NUyIsIChwYWludEVuZCAtIHBhaW50U3RhcnQpICogMTAwMCwgMCwgMTIwLCAzMCk7
CiAgICAgICAgIFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+aGlzdG9ncmFtQ3VzdG9tQ291
bnRzKCJSZW5kZXJlcjQuU29mdHdhcmVQYWludE1lZ2FwaXhQZXJTZWNvbmQiLCBwaXhlbHNQZXJT
ZWMgLyAxMDAwMDAwLCAxMCwgMjEwLCAzMCk7CisKKyAgICAgICAgaWYgKGlzQWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0FjdGl2ZSgpKSB7CisgICAgICAgICAgICBBU1NFUlQob3B0aW9uID09IEZvcmNl
U29mdHdhcmVSZW5kZXJpbmdBbmRJZ25vcmVHUFVSZXNpZGVudENvbnRlbnQpOyAgICAgICAgICAg
IAorICAgICAgICAgICAgdmlldy0+c2V0UGFpbnRCZWhhdmlvcihvbGRQYWludEJlaGF2aW9yKTsK
KyAgICAgICAgfQogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmgKaW5kZXggOGUzMzI4Mzc2NGQ0MDc0YjVhYzg4OTIxOGVhMmYzMjE0YjQyYjFlMC4uM2Fi
YjIzN2IyMGU0MzBkNGY1NzQ3MWRmNjcxZjRlNzJkMTUwY2NmZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC0xNDMsNyArMTQzLDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBzZXRDb21wb3NpdG9yU3VyZmFjZVJlYWR5KCk7CiAgICAgdmlydHVhbCB2
b2lkIGFuaW1hdGUoZG91YmxlKTsKICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7IC8vIEFsc28g
aW1wbGVtZW50cyBXZWJMYXllclRyZWVWaWV3Q2xpZW50OjpsYXlvdXQoKQotICAgIHZpcnR1YWwg
dm9pZCBwYWludChXZWJDYW52YXMqLCBjb25zdCBXZWJSZWN0Jik7CisgICAgdmlydHVhbCB2b2lk
IHBhaW50KFdlYkNhbnZhcyosIGNvbnN0IFdlYlJlY3QmLCBQYWludE9wdGlvbnMgPSBSZWFkYmFj
a0Zyb21Db21wb3NpdG9ySWZBdmFpbGFibGUpOwogICAgIHZpcnR1YWwgdm9pZCB0aGVtZUNoYW5n
ZWQoKTsKICAgICB2aXJ0dWFsIHZvaWQgY29tcG9zaXRlKGJvb2wgZmluaXNoKTsKICAgICB2aXJ0
dWFsIHZvaWQgc2V0TmVlZHNSZWRyYXcoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157807</attachid>
            <date>2012-08-10 14:07:35 -0700</date>
            <delta_ts>2012-08-21 11:00:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92043-20120810140707.patch</filename>
            <type>text/plain</type>
            <size>9661</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1Mjk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDlhMTdmMjc1NTlmZGE2Mzg5MzJmZWEzYjVjYmUwNDAwYjMxZmY2NzguLjM0OWJmNzg1N2E0NmFi
Mjk3NjI0MmFlZTZmZmI1MzJjZWY2OGM0MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzYgQEAKKzIwMTItMDgtMTAgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KKworICAgICAgICBXZWJXaWRnZXQgc2hvdWxkIGJlIGFibGUgdG8gcGFpbnQgaW50byBhIHpv
b21lZCBjYW52YXMgd2l0aG91dCBhbGlhc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIwNDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJZiBhY2NlbGVyYXRlZCBjb21wb3NpdGluZyBpcyBlbmFibGVk
LCBXZWJXaWRnZXQ6OnBhaW50IHJlYWRzIGJhY2sgZnJvbQorICAgICAgICB0aGUgY29tcG9zaXRv
ciByYXRoZXIgdGhhbiByZS1wYWludGluZyB0aGUgd2lkZ2V0LiBUaGF0IGFwcHJvYWNoIHdvcmtz
CisgICAgICAgIHdlbGwgaWYgdGhlIGNhbnZhcyB3ZSdyZSByZW5kZXJpbmcgaW50byBpcyBhdCBh
IHNpbWlsYXIgcmVzb2x1dGlvbiB0bworICAgICAgICB0aGUgcGl4ZWxzIGluIHRoZSBjb21wb3Np
dG9yLCBidXQgaWYgdGhlIGNhbnZhcyBoYXMgYmVlbiBzY2FsZWQgKGUuZy4sCisgICAgICAgIHRv
IGhlbHAgdGhlIHVzZXIgZGlzYW1iaWd1YXRlIGxpbmtzKSwgdGhlbiByZWFkaW5nIGJhY2sgZnJv
bSB0aGUKKyAgICAgICAgY29tcG9zaXRvciB3aWxsIGNhdXNlIGFsaWFzaW5nIGFydGlmYWN0cy4K
KworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgYW4gb3B0aW9uIHRvIHBhaW50IHRvIGxldCB0aGUg
ZW1iZWRkZXIgcmVxdWVzdCBhCisgICAgICAgIHNvZnR3YXJlIHJlLXJlbmRlcmluZyBvZiB0aGUg
d2lkZ2V0IHRvIGF2b2lkIHRoZXNlIGFsaWFzaW5nIGFydGlmYWN0cy4KKworICAgICAgICAqIHB1
YmxpYy9XZWJXaWRnZXQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViV2lkZ2V0OjpwYWludCk6Cisg
ICAgICAgICogc3JjL1dlYlBhZ2VQb3B1cEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlUG9wdXBJbXBsOjpwYWludCk6CisgICAgICAgICogc3JjL1dlYlBhZ2VQb3B1cEltcGwuaDoK
KyAgICAgICAgKFdlYlBhZ2VQb3B1cEltcGwpOgorICAgICAgICAqIHNyYy9XZWJQb3B1cE1lbnVJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51SW1wbDo6cGFpbnQpOgorICAg
ICAgICAqIHNyYy9XZWJQb3B1cE1lbnVJbXBsLmg6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBs
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Y2FudmFzQmFja2dyb3VuZEZvclRyYW5zcGFyZW5jZXkp
OgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnBhaW50
KToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKFdlYlZpZXdJbXBsKToK
KwogMjAxMi0wOC0xMCAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBbY2hyb21pdW1dIFJlbW92ZSBzY2lzc29yIGZyb20gdGhlIG5hbWluZ3MgaW4gQ0NPY2Ns
dXNpb25UcmFja2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJXaWRnZXQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYldpZGdldC5oCmlu
ZGV4IDhlNGZlY2FjN2U5OWEzZTMwMzNiZmM4MTcwNDIxZmMyYTlmNGVmM2MuLmIwM2JlZWI1MzBi
ZTZiMzk2NGFlYjhkMzFjZGZkYTdmMWM4ZTMyZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYldpZGdldC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYldpZGdldC5oCkBAIC05MCw2ICs5MCwyMSBAQCBwdWJsaWM6CiAgICAgLy8gYW5k
IGl0IG1heSByZXN1bHQgaW4gY2FsbHMgdG8gV2ViV2lkZ2V0Q2xpZW50OjpkaWRJbnZhbGlkYXRl
UmVjdC4KICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCkgeyB9CiAKKyAgICBlbnVtIFBhaW50T3B0
aW9ucyB7CisgICAgICAgIC8vIEF0dGVtcHQgdG8gZnVsZmlsbCB0aGUgcGFpbnRpbmcgcmVxdWVz
dCBieSByZWFkaW5nIGJhY2sgZnJvbSB0aGUKKyAgICAgICAgLy8gY29tcG9zaXRvciwgYXNzdW1p
bmcgd2UncmUgdXNpbmcgYSBjb21wb3NpdG9yIHRvIHJlbmRlci4KKyAgICAgICAgUmVhZGJhY2tG
cm9tQ29tcG9zaXRvcklmQXZhaWxhYmxlLAorCisgICAgICAgIC8vIEZvcmNlIHRoZSB3aWRnZXQg
dG8gcmVyZW5kZXIgb250byB0aGUgY2FudmFzIHVzaW5nIHNvZnR3YXJlLiBUaGlzCisgICAgICAg
IC8vIG1vZGUgaWdub3JlcyAzZCB0cmFuc2Zvcm1zIGFuZCBpZ25vcmVzIEdQVS1yZXNpZGVudCBj
b250ZW50LCBzdWNoCisgICAgICAgIC8vIGFzIHZpZGVvLCBjYW52YXMsIGFuZCBXZWJHTC4KKyAg
ICAgICAgLy8KKyAgICAgICAgLy8gTm90ZTogVGhpcyBvcHRpb24gZXhpc3RzIG9uIE9TKEFORFJP
SUQpIGFuZCB3aWxsIGhvcGVmdWxseSBiZQorICAgICAgICAvLyAgICAgICByZW1vdmVkIG9uY2Ug
dGhlIGxpbmsgZGlzYW1iaWd1YXRpb24gZmVhdHVyZSByZW5kZXJzIHVzaW5nCisgICAgICAgIC8v
ICAgICAgIHRoZSBjb21wb3NpdG9yLgorICAgICAgICBGb3JjZVNvZnR3YXJlUmVuZGVyaW5nQW5k
SWdub3JlR1BVUmVzaWRlbnRDb250ZW50LAorICAgIH07CisKICAgICAvLyBDYWxsZWQgdG8gcGFp
bnQgdGhlIHJlY3Rhbmd1bGFyIHJlZ2lvbiB3aXRoaW4gdGhlIFdlYldpZGdldAogICAgIC8vIG9u
dG8gdGhlIHNwZWNpZmllZCBjYW52YXMgYXQgKHZpZXdQb3J0Lngsdmlld1BvcnQueSkuIFlvdSBN
VVNUIGNhbGwKICAgICAvLyBMYXlvdXQgYmVmb3JlIGNhbGxpbmcgdGhpcyBtZXRob2QuIEl0IGlz
IG9rYXkgdG8gY2FsbCBwYWludApAQCAtOTcsNyArMTEyLDcgQEAgcHVibGljOgogICAgIC8vIGNo
YW5nZXMgYXJlIG1hZGUgdG8gdGhlIFdlYldpZGdldCAoZS5nLiwgb25jZSBldmVudHMgYXJlCiAg
ICAgLy8gcHJvY2Vzc2VkLCBpdCBzaG91bGQgYmUgYXNzdW1lZCB0aGF0IGFub3RoZXIgY2FsbCB0
byBsYXlvdXQgaXMKICAgICAvLyB3YXJyYW50ZWQgYmVmb3JlIHBhaW50aW5nIGFnYWluKS4KLSAg
ICB2aXJ0dWFsIHZvaWQgcGFpbnQoV2ViQ2FudmFzKiwgY29uc3QgV2ViUmVjdCYgdmlld1BvcnQp
IHsgfQorICAgIHZpcnR1YWwgdm9pZCBwYWludChXZWJDYW52YXMqLCBjb25zdCBXZWJSZWN0JiB2
aWV3UG9ydCwgUGFpbnRPcHRpb25zID0gUmVhZGJhY2tGcm9tQ29tcG9zaXRvcklmQXZhaWxhYmxl
KSB7IH0KIAogICAgIC8vIEluIG5vbi10aHJlYWRlZCBjb21wb3NpdGluZyBtb2RlLCB0cmlnZ2Vy
cyBjb21wb3NpdGluZyBvZiB0aGUgY3VycmVudAogICAgIC8vIGxheWVycyBvbnRvIHRoZSBzY3Jl
ZW4uIFlvdSBNVVNUIGNhbGwgTGF5b3V0IGJlZm9yZSBjYWxsaW5nIHRoaXMgbWV0aG9kLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGFnZVBvcHVwSW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQYWdlUG9wdXBJbXBsLmNwcAppbmRleCAx
OGY1ZGUyMGE1ZTBmZmFkMTJhMDcyMTc4NTBiMWZmZDhlODA4MGMxLi41ZDY2YzQ3M2RmYmIzZWZm
ZGFkOGJjM2VmNzMyYjZkOGEwOGRiY2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJQYWdlUG9wdXBJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJQYWdlUG9wdXBJbXBsLmNwcApAQCAtMjI2LDcgKzIyNiw3IEBAIHZvaWQgV2ViUGFn
ZVBvcHVwSW1wbDo6bGF5b3V0KCkKICAgICBQYWdlV2lkZ2V0RGVsZWdhdGU6OmxheW91dChtX3Bh
Z2UuZ2V0KCkpOwogfQogCi12b2lkIFdlYlBhZ2VQb3B1cEltcGw6OnBhaW50KFdlYkNhbnZhcyog
Y2FudmFzLCBjb25zdCBXZWJSZWN0JiByZWN0KQordm9pZCBXZWJQYWdlUG9wdXBJbXBsOjpwYWlu
dChXZWJDYW52YXMqIGNhbnZhcywgY29uc3QgV2ViUmVjdCYgcmVjdCwgUGFpbnRPcHRpb25zKQog
ewogICAgIFBhZ2VXaWRnZXREZWxlZ2F0ZTo6cGFpbnQobV9wYWdlLmdldCgpLCAwLCBjYW52YXMs
IHJlY3QsIFBhZ2VXaWRnZXREZWxlZ2F0ZTo6T3BhcXVlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBhZ2VQb3B1cEltcGwuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlBhZ2VQb3B1cEltcGwuaAppbmRleCA3NjkzNmE0Y2Q2NWQzNGZmODkw
MGE1MWI0ZWMwMzcwZjI1ZGYxZWMyLi5lNjg0NGJmZDA2YTQ5OGJkYjUwZGI4MTkwNmQ5NmU0YWUx
NWRiNGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQYWdlUG9w
dXBJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGFnZVBvcHVwSW1w
bC5oCkBAIC03Miw3ICs3Miw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNldENvbXBv
c2l0b3JTdXJmYWNlUmVhZHkoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY29tcG9zaXRl
KGJvb2wpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKSBPVkVSUklERTsKLSAg
ICB2aXJ0dWFsIHZvaWQgcGFpbnQoV2ViQ2FudmFzKiwgY29uc3QgV2ViUmVjdCYpIE9WRVJSSURF
OworICAgIHZpcnR1YWwgdm9pZCBwYWludChXZWJDYW52YXMqLCBjb25zdCBXZWJSZWN0JiwgUGFp
bnRPcHRpb25zID0gUmVhZGJhY2tGcm9tQ29tcG9zaXRvcklmQXZhaWxhYmxlKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIHZvaWQgcmVzaXplKGNvbnN0IFdlYlNpemUmKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIHZvaWQgY2xvc2UoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlSW5w
dXRFdmVudChjb25zdCBXZWJJbnB1dEV2ZW50JikgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmNwcCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuY3BwCmluZGV4IGVjODk5MzBmYjdkNmMz
MmE3ODcxN2QxMDU2MTE2ZDg1MzdkNzVjNjAuLjE5NGRlZTU1MGNmMGRkNDk5NGQ2M2IwYTY5MTNk
MTFkNDc0N2Y1NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBv
cHVwTWVudUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVw
TWVudUltcGwuY3BwCkBAIC0xOTMsNyArMTkzLDcgQEAgdm9pZCBXZWJQb3B1cE1lbnVJbXBsOjps
YXlvdXQoKQogewogfQogCi12b2lkIFdlYlBvcHVwTWVudUltcGw6OnBhaW50KFdlYkNhbnZhcyog
Y2FudmFzLCBjb25zdCBXZWJSZWN0JiByZWN0KQordm9pZCBXZWJQb3B1cE1lbnVJbXBsOjpwYWlu
dChXZWJDYW52YXMqIGNhbnZhcywgY29uc3QgV2ViUmVjdCYgcmVjdCwgUGFpbnRPcHRpb25zKQog
ewogICAgIGlmICghbV93aWRnZXQpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaAppbmRleCBjMjJhMGJiZWNlOTk1M2Q1ZDQ3
MTI0ZWI0YTAwODNiZjhiNjMzODg3Li43ZjEzZTQzODUwZGZkYjUyODdhZGY2ZGZkYjQxOWY0YzEw
OGZmZjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1l
bnVJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1w
bC5oCkBAIC03Myw3ICs3Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgd2lsbEVuZExp
dmVSZXNpemUoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0ZShkb3VibGUgZnJh
bWVCZWdpblRpbWUpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKSBPVkVSUklE
RTsKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoV2ViQ2FudmFzKiwgY29uc3QgV2ViUmVjdCYpIE9W
RVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBwYWludChXZWJDYW52YXMqLCBjb25zdCBXZWJSZWN0
JiwgUGFpbnRPcHRpb25zID0gUmVhZGJhY2tGcm9tQ29tcG9zaXRvcklmQXZhaWxhYmxlKSBPVkVS
UklERTsKICAgICB2aXJ0dWFsIHZvaWQgdGhlbWVDaGFuZ2VkKCkgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCB2b2lkIHNldENvbXBvc2l0b3JTdXJmYWNlUmVhZHkoKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgY29tcG9zaXRlKGJvb2wgZmluaXNoKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCAwYmQzZWExMTZlNGMwNTJkZWFhMDVl
NjYzMDc2NGUzMmY5Y2E0MTY4Li5mYWE1YWE3ZjMxZTU0N2VmNDAwN2I4OWVlYTViYjMxMDljMjZi
NGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0x
Njg3LDkgKzE2ODcsMTUgQEAgdm9pZCBXZWJWaWV3SW1wbDo6ZG9QaXhlbFJlYWRiYWNrVG9DYW52
YXMoV2ViQ2FudmFzKiBjYW52YXMsIGNvbnN0IEludFJlY3QmIHJlY3QKIH0KICNlbmRpZgogCi12
b2lkIFdlYlZpZXdJbXBsOjpwYWludChXZWJDYW52YXMqIGNhbnZhcywgY29uc3QgV2ViUmVjdCYg
cmVjdCkKK3ZvaWQgV2ViVmlld0ltcGw6OnBhaW50KFdlYkNhbnZhcyogY2FudmFzLCBjb25zdCBX
ZWJSZWN0JiByZWN0LCBQYWludE9wdGlvbnMgb3B0aW9uKQogewotICAgIGlmIChpc0FjY2VsZXJh
dGVkQ29tcG9zaXRpbmdBY3RpdmUoKSkgeworI2lmICFPUyhBTkRST0lEKQorICAgIC8vIFJlYWRi
YWNrRnJvbUNvbXBvc2l0b3JJZkF2YWlsYWJsZSBpcyB0aGUgb25seSBvcHRpb24gYXZhaWxhYmxl
IG9uIG5vbi1BbmRyb2lkLgorICAgIC8vIElkZWFsbHksIEFuZHJvaWQgd291bGQgYWx3YXlzIHVz
ZSBSZWFkYmFja0Zyb21Db21wb3NpdG9ySWZBdmFpbGFibGUgYXMgd2VsbC4KKyAgICBBU1NFUlQo
b3B0aW9uID09IFJlYWRiYWNrRnJvbUNvbXBvc2l0b3JJZkF2YWlsYWJsZSk7CisjZW5kaWYKKwor
ICAgIGlmIChvcHRpb24gPT0gUmVhZGJhY2tGcm9tQ29tcG9zaXRvcklmQXZhaWxhYmxlICYmIGlz
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0FjdGl2ZSgpKSB7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NP
TVBPU0lUSU5HKQogICAgICAgICAvLyBJZiBhIGNhbnZhcyB3YXMgcGFzc2VkIGluLCB3ZSB1c2Ug
aXQgdG8gZ3JhYiBhIGNvcHkgb2YgdGhlCiAgICAgICAgIC8vIGZyZXNobHktcmVuZGVyZWQgcGl4
ZWxzLgpAQCAtMTcwMSwxMiArMTcwNywyNCBAQCB2b2lkIFdlYlZpZXdJbXBsOjpwYWludChXZWJD
YW52YXMqIGNhbnZhcywgY29uc3QgV2ViUmVjdCYgcmVjdCkKICAgICAgICAgfQogI2VuZGlmCiAg
ICAgfSBlbHNlIHsKKyAgICAgICAgRnJhbWVWaWV3KiB2aWV3ID0gcGFnZSgpLT5tYWluRnJhbWUo
KS0+dmlldygpOworICAgICAgICBQYWludEJlaGF2aW9yIG9sZFBhaW50QmVoYXZpb3IgPSB2aWV3
LT5wYWludEJlaGF2aW9yKCk7CisgICAgICAgIGlmIChpc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdB
Y3RpdmUoKSkgeworICAgICAgICAgICAgQVNTRVJUKG9wdGlvbiA9PSBGb3JjZVNvZnR3YXJlUmVu
ZGVyaW5nQW5kSWdub3JlR1BVUmVzaWRlbnRDb250ZW50KTsgICAgICAgICAgICAKKyAgICAgICAg
ICAgIHZpZXctPnNldFBhaW50QmVoYXZpb3Iob2xkUGFpbnRCZWhhdmlvciB8IFBhaW50QmVoYXZp
b3JGbGF0dGVuQ29tcG9zaXRpbmdMYXllcnMpOworICAgICAgICB9CisKICAgICAgICAgZG91Ymxl
IHBhaW50U3RhcnQgPSBjdXJyZW50VGltZSgpOwogICAgICAgICBQYWdlV2lkZ2V0RGVsZWdhdGU6
OnBhaW50KG1fcGFnZS5nZXQoKSwgcGFnZU92ZXJsYXlzKCksIGNhbnZhcywgcmVjdCwgaXNUcmFu
c3BhcmVudCgpID8gUGFnZVdpZGdldERlbGVnYXRlOjpUcmFuc2x1Y2VudCA6IFBhZ2VXaWRnZXRE
ZWxlZ2F0ZTo6T3BhcXVlKTsKICAgICAgICAgZG91YmxlIHBhaW50RW5kID0gY3VycmVudFRpbWUo
KTsKICAgICAgICAgZG91YmxlIHBpeGVsc1BlclNlYyA9IChyZWN0LndpZHRoICogcmVjdC5oZWln
aHQpIC8gKHBhaW50RW5kIC0gcGFpbnRTdGFydCk7CiAgICAgICAgIFdlYktpdDo6UGxhdGZvcm06
OmN1cnJlbnQoKS0+aGlzdG9ncmFtQ3VzdG9tQ291bnRzKCJSZW5kZXJlcjQuU29mdHdhcmVQYWlu
dER1cmF0aW9uTVMiLCAocGFpbnRFbmQgLSBwYWludFN0YXJ0KSAqIDEwMDAsIDAsIDEyMCwgMzAp
OwogICAgICAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPmhpc3RvZ3JhbUN1c3RvbUNv
dW50cygiUmVuZGVyZXI0LlNvZnR3YXJlUGFpbnRNZWdhcGl4UGVyU2Vjb25kIiwgcGl4ZWxzUGVy
U2VjIC8gMTAwMDAwMCwgMTAsIDIxMCwgMzApOworCisgICAgICAgIGlmIChpc0FjY2VsZXJhdGVk
Q29tcG9zaXRpbmdBY3RpdmUoKSkgeworICAgICAgICAgICAgQVNTRVJUKG9wdGlvbiA9PSBGb3Jj
ZVNvZnR3YXJlUmVuZGVyaW5nQW5kSWdub3JlR1BVUmVzaWRlbnRDb250ZW50KTsgICAgICAgICAg
ICAKKyAgICAgICAgICAgIHZpZXctPnNldFBhaW50QmVoYXZpb3Iob2xkUGFpbnRCZWhhdmlvcik7
CisgICAgICAgIH0KICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlZpZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3
SW1wbC5oCmluZGV4IDhlMzMyODM3NjRkNDA3NGI1YWM4ODkyMThlYTJmMzIxNGI0MmIxZTAuLjNh
YmIyMzdiMjBlNDMwZDRmNTc0NzFkZjY3MWY0ZTcyZDE1MGNjZmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaApAQCAtMTQzLDcgKzE0Myw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0Q29tcG9zaXRvclN1cmZhY2VSZWFkeSgpOwogICAgIHZpcnR1YWwg
dm9pZCBhbmltYXRlKGRvdWJsZSk7CiAgICAgdmlydHVhbCB2b2lkIGxheW91dCgpOyAvLyBBbHNv
IGltcGxlbWVudHMgV2ViTGF5ZXJUcmVlVmlld0NsaWVudDo6bGF5b3V0KCkKLSAgICB2aXJ0dWFs
IHZvaWQgcGFpbnQoV2ViQ2FudmFzKiwgY29uc3QgV2ViUmVjdCYpOworICAgIHZpcnR1YWwgdm9p
ZCBwYWludChXZWJDYW52YXMqLCBjb25zdCBXZWJSZWN0JiwgUGFpbnRPcHRpb25zID0gUmVhZGJh
Y2tGcm9tQ29tcG9zaXRvcklmQXZhaWxhYmxlKTsKICAgICB2aXJ0dWFsIHZvaWQgdGhlbWVDaGFu
Z2VkKCk7CiAgICAgdmlydHVhbCB2b2lkIGNvbXBvc2l0ZShib29sIGZpbmlzaCk7CiAgICAgdmly
dHVhbCB2b2lkIHNldE5lZWRzUmVkcmF3KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159724</attachid>
            <date>2012-08-21 11:00:26 -0700</date>
            <delta_ts>2012-08-22 12:25:11 -0700</delta_ts>
            <desc>now with #define</desc>
            <filename>bug-92043-20120821110025.patch</filename>
            <type>text/plain</type>
            <size>9312</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjYxNzIpCisrKyBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2
IEBACisyMDEyLTA4LTIxICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgV2ViV2lkZ2V0IHNob3VsZCBiZSBhYmxlIHRvIHBhaW50IGludG8gYSB6b29tZWQgY2FudmFz
IHdpdGhvdXQgYWxpYXNpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTkyMDQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgSWYgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgaXMgZW5hYmxlZCwgV2ViV2lkZ2V0
OjpwYWludCByZWFkcyBiYWNrIGZyb20KKyAgICAgICAgdGhlIGNvbXBvc2l0b3IgcmF0aGVyIHRo
YW4gcmUtcGFpbnRpbmcgdGhlIHdpZGdldC4gVGhhdCBhcHByb2FjaCB3b3JrcworICAgICAgICB3
ZWxsIGlmIHRoZSBjYW52YXMgd2UncmUgcmVuZGVyaW5nIGludG8gaXMgYXQgYSBzaW1pbGFyIHJl
c29sdXRpb24gdG8KKyAgICAgICAgdGhlIHBpeGVscyBpbiB0aGUgY29tcG9zaXRvciwgYnV0IGlm
IHRoZSBjYW52YXMgaGFzIGJlZW4gc2NhbGVkIChlLmcuLAorICAgICAgICB0byBoZWxwIHRoZSB1
c2VyIGRpc2FtYmlndWF0ZSBsaW5rcyksIHRoZW4gcmVhZGluZyBiYWNrIGZyb20gdGhlCisgICAg
ICAgIGNvbXBvc2l0b3Igd2lsbCBjYXVzZSBhbGlhc2luZyBhcnRpZmFjdHMuCisKKyAgICAgICAg
VGhpcyBwYXRjaCBhZGRzIGFuIG9wdGlvbiB0byBwYWludCB0byBsZXQgdGhlIGVtYmVkZGVyIHJl
cXVlc3QgYQorICAgICAgICBzb2Z0d2FyZSByZS1yZW5kZXJpbmcgb2YgdGhlIHdpZGdldCB0byBh
dm9pZCB0aGVzZSBhbGlhc2luZyBhcnRpZmFjdHMuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViV2lk
Z2V0Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYldpZGdldDo6cGFpbnQpOgorICAgICAgICAqIHNy
Yy9XZWJQYWdlUG9wdXBJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBvcHVwSW1w
bDo6cGFpbnQpOgorICAgICAgICAqIHNyYy9XZWJQYWdlUG9wdXBJbXBsLmg6CisgICAgICAgIChX
ZWJQYWdlUG9wdXBJbXBsKToKKyAgICAgICAgKiBzcmMvV2ViUG9wdXBNZW51SW1wbC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudUltcGw6OnBhaW50KToKKyAgICAgICAgKiBzcmMv
V2ViUG9wdXBNZW51SW1wbC5oOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OmNhbnZhc0JhY2tncm91bmRGb3JUcmFuc3BhcmVuY2V5KToKKyAgICAgICAg
KFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpwYWludCk6CisgICAgICAg
ICogc3JjL1dlYlZpZXdJbXBsLmg6CisgICAgICAgIChXZWJWaWV3SW1wbCk6CisKIDIwMTItMDgt
MjEgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByMTI2MTY5LgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViV2lkZ2V0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViV2lkZ2V0LmgJKHJldmlzaW9uIDEyNjE3MikKKysrIFNvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYldpZGdldC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MSw2ICs0MSw3
IEBACiAKICNkZWZpbmUgV0VCS0lUX0hBU19ORVdfRlVMTFNDUkVFTl9BUEkgMQogI2RlZmluZSBX
RUJXSURHRVRfSEFTX1NFVENPTVBPU0lUT1JTVVJGQUNFUkVBRFkgMQorI2RlZmluZSBXRUJXSURH
RVRfSEFTX1BBSU5UX09QVElPTlMgMQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtOTAsNiAr
OTEsMjEgQEAgcHVibGljOgogICAgIC8vIGFuZCBpdCBtYXkgcmVzdWx0IGluIGNhbGxzIHRvIFdl
YldpZGdldENsaWVudDo6ZGlkSW52YWxpZGF0ZVJlY3QuCiAgICAgdmlydHVhbCB2b2lkIGxheW91
dCgpIHsgfQogCisgICAgZW51bSBQYWludE9wdGlvbnMgeworICAgICAgICAvLyBBdHRlbXB0IHRv
IGZ1bGZpbGwgdGhlIHBhaW50aW5nIHJlcXVlc3QgYnkgcmVhZGluZyBiYWNrIGZyb20gdGhlCisg
ICAgICAgIC8vIGNvbXBvc2l0b3IsIGFzc3VtaW5nIHdlJ3JlIHVzaW5nIGEgY29tcG9zaXRvciB0
byByZW5kZXIuCisgICAgICAgIFJlYWRiYWNrRnJvbUNvbXBvc2l0b3JJZkF2YWlsYWJsZSwKKwor
ICAgICAgICAvLyBGb3JjZSB0aGUgd2lkZ2V0IHRvIHJlcmVuZGVyIG9udG8gdGhlIGNhbnZhcyB1
c2luZyBzb2Z0d2FyZS4gVGhpcworICAgICAgICAvLyBtb2RlIGlnbm9yZXMgM2QgdHJhbnNmb3Jt
cyBhbmQgaWdub3JlcyBHUFUtcmVzaWRlbnQgY29udGVudCwgc3VjaAorICAgICAgICAvLyBhcyB2
aWRlbywgY2FudmFzLCBhbmQgV2ViR0wuCisgICAgICAgIC8vCisgICAgICAgIC8vIE5vdGU6IFRo
aXMgb3B0aW9uIGV4aXN0cyBvbiBPUyhBTkRST0lEKSBhbmQgd2lsbCBob3BlZnVsbHkgYmUKKyAg
ICAgICAgLy8gICAgICAgcmVtb3ZlZCBvbmNlIHRoZSBsaW5rIGRpc2FtYmlndWF0aW9uIGZlYXR1
cmUgcmVuZGVycyB1c2luZworICAgICAgICAvLyAgICAgICB0aGUgY29tcG9zaXRvci4KKyAgICAg
ICAgRm9yY2VTb2Z0d2FyZVJlbmRlcmluZ0FuZElnbm9yZUdQVVJlc2lkZW50Q29udGVudCwKKyAg
ICB9OworCiAgICAgLy8gQ2FsbGVkIHRvIHBhaW50IHRoZSByZWN0YW5ndWxhciByZWdpb24gd2l0
aGluIHRoZSBXZWJXaWRnZXQKICAgICAvLyBvbnRvIHRoZSBzcGVjaWZpZWQgY2FudmFzIGF0ICh2
aWV3UG9ydC54LHZpZXdQb3J0LnkpLiBZb3UgTVVTVCBjYWxsCiAgICAgLy8gTGF5b3V0IGJlZm9y
ZSBjYWxsaW5nIHRoaXMgbWV0aG9kLiBJdCBpcyBva2F5IHRvIGNhbGwgcGFpbnQKQEAgLTk3LDcg
KzExMyw3IEBAIHB1YmxpYzoKICAgICAvLyBjaGFuZ2VzIGFyZSBtYWRlIHRvIHRoZSBXZWJXaWRn
ZXQgKGUuZy4sIG9uY2UgZXZlbnRzIGFyZQogICAgIC8vIHByb2Nlc3NlZCwgaXQgc2hvdWxkIGJl
IGFzc3VtZWQgdGhhdCBhbm90aGVyIGNhbGwgdG8gbGF5b3V0IGlzCiAgICAgLy8gd2FycmFudGVk
IGJlZm9yZSBwYWludGluZyBhZ2FpbikuCi0gICAgdmlydHVhbCB2b2lkIHBhaW50KFdlYkNhbnZh
cyosIGNvbnN0IFdlYlJlY3QmIHZpZXdQb3J0KSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnQo
V2ViQ2FudmFzKiwgY29uc3QgV2ViUmVjdCYgdmlld1BvcnQsIFBhaW50T3B0aW9ucyA9IFJlYWRi
YWNrRnJvbUNvbXBvc2l0b3JJZkF2YWlsYWJsZSkgeyB9CiAKICAgICAvLyBJbiBub24tdGhyZWFk
ZWQgY29tcG9zaXRpbmcgbW9kZSwgdHJpZ2dlcnMgY29tcG9zaXRpbmcgb2YgdGhlIGN1cnJlbnQK
ICAgICAvLyBsYXllcnMgb250byB0aGUgc2NyZWVuLiBZb3UgTVVTVCBjYWxsIExheW91dCBiZWZv
cmUgY2FsbGluZyB0aGlzIG1ldGhvZCwKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlBhZ2VQb3B1cEltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlBhZ2VQb3B1cEltcGwuY3BwCShyZXZpc2lvbiAxMjYxNzIpCisrKyBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQYWdlUG9wdXBJbXBsLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjI1LDcgKzIyNSw3IEBAIHZvaWQgV2ViUGFnZVBvcHVwSW1wbDo6bGF5b3V0KCkKICAgICBQ
YWdlV2lkZ2V0RGVsZWdhdGU6OmxheW91dChtX3BhZ2UuZ2V0KCkpOwogfQogCi12b2lkIFdlYlBh
Z2VQb3B1cEltcGw6OnBhaW50KFdlYkNhbnZhcyogY2FudmFzLCBjb25zdCBXZWJSZWN0JiByZWN0
KQordm9pZCBXZWJQYWdlUG9wdXBJbXBsOjpwYWludChXZWJDYW52YXMqIGNhbnZhcywgY29uc3Qg
V2ViUmVjdCYgcmVjdCwgUGFpbnRPcHRpb25zKQogewogICAgIFBhZ2VXaWRnZXREZWxlZ2F0ZTo6
cGFpbnQobV9wYWdlLmdldCgpLCAwLCBjYW52YXMsIHJlY3QsIFBhZ2VXaWRnZXREZWxlZ2F0ZTo6
T3BhcXVlKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBhZ2VQb3B1
cEltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQYWdl
UG9wdXBJbXBsLmgJKHJldmlzaW9uIDEyNjE3MikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlBhZ2VQb3B1cEltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtNzIsNyArNzIsNyBAQCBw
cml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBzZXRDb21wb3NpdG9yU3VyZmFjZVJlYWR5KCkgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGNvbXBvc2l0ZShib29sKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIHZvaWQgbGF5b3V0KCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHBhaW50KFdl
YkNhbnZhcyosIGNvbnN0IFdlYlJlY3QmKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFp
bnQoV2ViQ2FudmFzKiwgY29uc3QgV2ViUmVjdCYsIFBhaW50T3B0aW9ucyA9IFJlYWRiYWNrRnJv
bUNvbXBvc2l0b3JJZkF2YWlsYWJsZSkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHJlc2l6
ZShjb25zdCBXZWJTaXplJikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKCkgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCBib29sIGhhbmRsZUlucHV0RXZlbnQoY29uc3QgV2ViSW5wdXRF
dmVudCYpIE9WRVJSSURFOwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9w
dXBNZW51SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViUG9wdXBNZW51SW1wbC5jcHAJKHJldmlzaW9uIDEyNjE3MikKKysrIFNvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTMs
NyArMTkzLDcgQEAgdm9pZCBXZWJQb3B1cE1lbnVJbXBsOjpsYXlvdXQoKQogewogfQogCi12b2lk
IFdlYlBvcHVwTWVudUltcGw6OnBhaW50KFdlYkNhbnZhcyogY2FudmFzLCBjb25zdCBXZWJSZWN0
JiByZWN0KQordm9pZCBXZWJQb3B1cE1lbnVJbXBsOjpwYWludChXZWJDYW52YXMqIGNhbnZhcywg
Y29uc3QgV2ViUmVjdCYgcmVjdCwgUGFpbnRPcHRpb25zKQogewogICAgIGlmICghbV93aWRnZXQp
CiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBv
cHVwTWVudUltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJQb3B1cE1lbnVJbXBsLmgJKHJldmlzaW9uIDEyNjE3MikKKysrIFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtNzMsNyArNzMs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHdpbGxFbmRMaXZlUmVzaXplKCkgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGUoZG91YmxlIGZyYW1lQmVnaW5UaW1lKSBPVkVS
UklERTsKICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2
b2lkIHBhaW50KFdlYkNhbnZhcyosIGNvbnN0IFdlYlJlY3QmKSBPVkVSUklERTsKKyAgICB2aXJ0
dWFsIHZvaWQgcGFpbnQoV2ViQ2FudmFzKiwgY29uc3QgV2ViUmVjdCYsIFBhaW50T3B0aW9ucyA9
IFJlYWRiYWNrRnJvbUNvbXBvc2l0b3JJZkF2YWlsYWJsZSkgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCB2b2lkIHRoZW1lQ2hhbmdlZCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzZXRDb21w
b3NpdG9yU3VyZmFjZVJlYWR5KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGNvbXBvc2l0
ZShib29sIGZpbmlzaCkgT1ZFUlJJREU7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJWaWV3SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuY3BwCShyZXZpc2lvbiAxMjYxNzIpCisrKyBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2ODYsOSArMTY4
NiwxNSBAQCB2b2lkIFdlYlZpZXdJbXBsOjpkb1BpeGVsUmVhZGJhY2tUb0NhbnZhCiB9CiAjZW5k
aWYKIAotdm9pZCBXZWJWaWV3SW1wbDo6cGFpbnQoV2ViQ2FudmFzKiBjYW52YXMsIGNvbnN0IFdl
YlJlY3QmIHJlY3QpCit2b2lkIFdlYlZpZXdJbXBsOjpwYWludChXZWJDYW52YXMqIGNhbnZhcywg
Y29uc3QgV2ViUmVjdCYgcmVjdCwgUGFpbnRPcHRpb25zIG9wdGlvbikKIHsKLSAgICBpZiAoaXNB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nQWN0aXZlKCkpIHsKKyNpZiAhT1MoQU5EUk9JRCkKKyAgICAv
LyBSZWFkYmFja0Zyb21Db21wb3NpdG9ySWZBdmFpbGFibGUgaXMgdGhlIG9ubHkgb3B0aW9uIGF2
YWlsYWJsZSBvbiBub24tQW5kcm9pZC4KKyAgICAvLyBJZGVhbGx5LCBBbmRyb2lkIHdvdWxkIGFs
d2F5cyB1c2UgUmVhZGJhY2tGcm9tQ29tcG9zaXRvcklmQXZhaWxhYmxlIGFzIHdlbGwuCisgICAg
QVNTRVJUKG9wdGlvbiA9PSBSZWFkYmFja0Zyb21Db21wb3NpdG9ySWZBdmFpbGFibGUpOworI2Vu
ZGlmCisKKyAgICBpZiAob3B0aW9uID09IFJlYWRiYWNrRnJvbUNvbXBvc2l0b3JJZkF2YWlsYWJs
ZSAmJiBpc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdBY3RpdmUoKSkgewogI2lmIFVTRShBQ0NFTEVS
QVRFRF9DT01QT1NJVElORykKICAgICAgICAgLy8gSWYgYSBjYW52YXMgd2FzIHBhc3NlZCBpbiwg
d2UgdXNlIGl0IHRvIGdyYWIgYSBjb3B5IG9mIHRoZQogICAgICAgICAvLyBmcmVzaGx5LXJlbmRl
cmVkIHBpeGVscy4KQEAgLTE3MDAsMTIgKzE3MDYsMjQgQEAgdm9pZCBXZWJWaWV3SW1wbDo6cGFp
bnQoV2ViQ2FudmFzKiBjYW52YQogICAgICAgICB9CiAjZW5kaWYKICAgICB9IGVsc2UgeworICAg
ICAgICBGcmFtZVZpZXcqIHZpZXcgPSBwYWdlKCktPm1haW5GcmFtZSgpLT52aWV3KCk7CisgICAg
ICAgIFBhaW50QmVoYXZpb3Igb2xkUGFpbnRCZWhhdmlvciA9IHZpZXctPnBhaW50QmVoYXZpb3Io
KTsKKyAgICAgICAgaWYgKGlzQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0FjdGl2ZSgpKSB7CisgICAg
ICAgICAgICBBU1NFUlQob3B0aW9uID09IEZvcmNlU29mdHdhcmVSZW5kZXJpbmdBbmRJZ25vcmVH
UFVSZXNpZGVudENvbnRlbnQpOyAgICAgICAgICAgIAorICAgICAgICAgICAgdmlldy0+c2V0UGFp
bnRCZWhhdmlvcihvbGRQYWludEJlaGF2aW9yIHwgUGFpbnRCZWhhdmlvckZsYXR0ZW5Db21wb3Np
dGluZ0xheWVycyk7CisgICAgICAgIH0KKwogICAgICAgICBkb3VibGUgcGFpbnRTdGFydCA9IGN1
cnJlbnRUaW1lKCk7CiAgICAgICAgIFBhZ2VXaWRnZXREZWxlZ2F0ZTo6cGFpbnQobV9wYWdlLmdl
dCgpLCBwYWdlT3ZlcmxheXMoKSwgY2FudmFzLCByZWN0LCBpc1RyYW5zcGFyZW50KCkgPyBQYWdl
V2lkZ2V0RGVsZWdhdGU6OlRyYW5zbHVjZW50IDogUGFnZVdpZGdldERlbGVnYXRlOjpPcGFxdWUp
OwogICAgICAgICBkb3VibGUgcGFpbnRFbmQgPSBjdXJyZW50VGltZSgpOwogICAgICAgICBkb3Vi
bGUgcGl4ZWxzUGVyU2VjID0gKHJlY3Qud2lkdGggKiByZWN0LmhlaWdodCkgLyAocGFpbnRFbmQg
LSBwYWludFN0YXJ0KTsKICAgICAgICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT5oaXN0
b2dyYW1DdXN0b21Db3VudHMoIlJlbmRlcmVyNC5Tb2Z0d2FyZVBhaW50RHVyYXRpb25NUyIsIChw
YWludEVuZCAtIHBhaW50U3RhcnQpICogMTAwMCwgMCwgMTIwLCAzMCk7CiAgICAgICAgIFdlYktp
dDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+aGlzdG9ncmFtQ3VzdG9tQ291bnRzKCJSZW5kZXJlcjQu
U29mdHdhcmVQYWludE1lZ2FwaXhQZXJTZWNvbmQiLCBwaXhlbHNQZXJTZWMgLyAxMDAwMDAwLCAx
MCwgMjEwLCAzMCk7CisKKyAgICAgICAgaWYgKGlzQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0FjdGl2
ZSgpKSB7CisgICAgICAgICAgICBBU1NFUlQob3B0aW9uID09IEZvcmNlU29mdHdhcmVSZW5kZXJp
bmdBbmRJZ25vcmVHUFVSZXNpZGVudENvbnRlbnQpOyAgICAgICAgICAgIAorICAgICAgICAgICAg
dmlldy0+c2V0UGFpbnRCZWhhdmlvcihvbGRQYWludEJlaGF2aW9yKTsKKyAgICAgICAgfQogICAg
IH0KIH0KIApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCShy
ZXZpc2lvbiAxMjYxNzIpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1w
bC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDMsNyArMTQzLDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBzZXRDb21wb3NpdG9yU3VyZmFjZVJlYWR5KCk7CiAgICAgdmlydHVhbCB2b2lkIGFu
aW1hdGUoZG91YmxlKTsKICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0KCk7IC8vIEFsc28gaW1wbGVt
ZW50cyBXZWJMYXllclRyZWVWaWV3Q2xpZW50OjpsYXlvdXQoKQotICAgIHZpcnR1YWwgdm9pZCBw
YWludChXZWJDYW52YXMqLCBjb25zdCBXZWJSZWN0Jik7CisgICAgdmlydHVhbCB2b2lkIHBhaW50
KFdlYkNhbnZhcyosIGNvbnN0IFdlYlJlY3QmLCBQYWludE9wdGlvbnMgPSBSZWFkYmFja0Zyb21D
b21wb3NpdG9ySWZBdmFpbGFibGUpOwogICAgIHZpcnR1YWwgdm9pZCB0aGVtZUNoYW5nZWQoKTsK
ICAgICB2aXJ0dWFsIHZvaWQgY29tcG9zaXRlKGJvb2wgZmluaXNoKTsKICAgICB2aXJ0dWFsIHZv
aWQgc2V0TmVlZHNSZWRyYXcoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159989</attachid>
            <date>2012-08-22 12:25:16 -0700</date>
            <delta_ts>2012-08-22 13:24:33 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-92043-20120822122513.patch</filename>
            <type>text/plain</type>
            <size>9802</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2MzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGQ1ODMwNzRjZTYyOTBjYTdjYTM3N2NiYzA5Mzc4MDQxYTkxNTEyMTcuLmIyYmFkODFlZjUzNzRh
NTRmYmJiN2MzNzM5YmQzZGJlNDQyMmUxYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzYgQEAKKzIwMTItMDgtMjIgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KKworICAgICAgICBXZWJXaWRnZXQgc2hvdWxkIGJlIGFibGUgdG8gcGFpbnQgaW50byBhIHpv
b21lZCBjYW52YXMgd2l0aG91dCBhbGlhc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIwNDMKKworICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBS
b2JpbnNvbi4KKworICAgICAgICBJZiBhY2NlbGVyYXRlZCBjb21wb3NpdGluZyBpcyBlbmFibGVk
LCBXZWJXaWRnZXQ6OnBhaW50IHJlYWRzIGJhY2sgZnJvbQorICAgICAgICB0aGUgY29tcG9zaXRv
ciByYXRoZXIgdGhhbiByZS1wYWludGluZyB0aGUgd2lkZ2V0LiBUaGF0IGFwcHJvYWNoIHdvcmtz
CisgICAgICAgIHdlbGwgaWYgdGhlIGNhbnZhcyB3ZSdyZSByZW5kZXJpbmcgaW50byBpcyBhdCBh
IHNpbWlsYXIgcmVzb2x1dGlvbiB0bworICAgICAgICB0aGUgcGl4ZWxzIGluIHRoZSBjb21wb3Np
dG9yLCBidXQgaWYgdGhlIGNhbnZhcyBoYXMgYmVlbiBzY2FsZWQgKGUuZy4sCisgICAgICAgIHRv
IGhlbHAgdGhlIHVzZXIgZGlzYW1iaWd1YXRlIGxpbmtzKSwgdGhlbiByZWFkaW5nIGJhY2sgZnJv
bSB0aGUKKyAgICAgICAgY29tcG9zaXRvciB3aWxsIGNhdXNlIGFsaWFzaW5nIGFydGlmYWN0cy4K
KworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgYW4gb3B0aW9uIHRvIHBhaW50IHRvIGxldCB0aGUg
ZW1iZWRkZXIgcmVxdWVzdCBhCisgICAgICAgIHNvZnR3YXJlIHJlLXJlbmRlcmluZyBvZiB0aGUg
d2lkZ2V0IHRvIGF2b2lkIHRoZXNlIGFsaWFzaW5nIGFydGlmYWN0cy4KKworICAgICAgICAqIHB1
YmxpYy9XZWJXaWRnZXQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViV2lkZ2V0OjpwYWludCk6Cisg
ICAgICAgICogc3JjL1dlYlBhZ2VQb3B1cEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlUG9wdXBJbXBsOjpwYWludCk6CisgICAgICAgICogc3JjL1dlYlBhZ2VQb3B1cEltcGwuaDoK
KyAgICAgICAgKFdlYlBhZ2VQb3B1cEltcGwpOgorICAgICAgICAqIHNyYy9XZWJQb3B1cE1lbnVJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51SW1wbDo6cGFpbnQpOgorICAg
ICAgICAqIHNyYy9XZWJQb3B1cE1lbnVJbXBsLmg6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBs
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6Y2FudmFzQmFja2dyb3VuZEZvclRyYW5zcGFyZW5jZXkp
OgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnBhaW50
KToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKFdlYlZpZXdJbXBsKToK
KwogMjAxMi0wOC0yMiAgS2VubmV0aCBSdXNzZWxsICA8a2JyQGdvb2dsZS5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyNjMxOS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYldpZGdldC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViV2lkZ2V0LmgKaW5kZXggOGU0ZmVjYWM3ZTk5YTNlMzAzM2JmYzgxNzA0MjFm
YzJhOWY0ZWYzYy4uYWMxNjU4MTQwMjE3ZWIxNTRkYjBlM2QwY2U5M2M4MzMxNGRkYTljMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lkZ2V0LmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViV2lkZ2V0LmgKQEAgLTQxLDYgKzQxLDcg
QEAKIAogI2RlZmluZSBXRUJLSVRfSEFTX05FV19GVUxMU0NSRUVOX0FQSSAxCiAjZGVmaW5lIFdF
QldJREdFVF9IQVNfU0VUQ09NUE9TSVRPUlNVUkZBQ0VSRUFEWSAxCisjZGVmaW5lIFdFQldJREdF
VF9IQVNfUEFJTlRfT1BUSU9OUyAxCiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC05MCw2ICs5
MSwyMSBAQCBwdWJsaWM6CiAgICAgLy8gYW5kIGl0IG1heSByZXN1bHQgaW4gY2FsbHMgdG8gV2Vi
V2lkZ2V0Q2xpZW50OjpkaWRJbnZhbGlkYXRlUmVjdC4KICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0
KCkgeyB9CiAKKyAgICBlbnVtIFBhaW50T3B0aW9ucyB7CisgICAgICAgIC8vIEF0dGVtcHQgdG8g
ZnVsZmlsbCB0aGUgcGFpbnRpbmcgcmVxdWVzdCBieSByZWFkaW5nIGJhY2sgZnJvbSB0aGUKKyAg
ICAgICAgLy8gY29tcG9zaXRvciwgYXNzdW1pbmcgd2UncmUgdXNpbmcgYSBjb21wb3NpdG9yIHRv
IHJlbmRlci4KKyAgICAgICAgUmVhZGJhY2tGcm9tQ29tcG9zaXRvcklmQXZhaWxhYmxlLAorCisg
ICAgICAgIC8vIEZvcmNlIHRoZSB3aWRnZXQgdG8gcmVyZW5kZXIgb250byB0aGUgY2FudmFzIHVz
aW5nIHNvZnR3YXJlLiBUaGlzCisgICAgICAgIC8vIG1vZGUgaWdub3JlcyAzZCB0cmFuc2Zvcm1z
IGFuZCBpZ25vcmVzIEdQVS1yZXNpZGVudCBjb250ZW50LCBzdWNoCisgICAgICAgIC8vIGFzIHZp
ZGVvLCBjYW52YXMsIGFuZCBXZWJHTC4KKyAgICAgICAgLy8KKyAgICAgICAgLy8gTm90ZTogVGhp
cyBvcHRpb24gZXhpc3RzIG9uIE9TKEFORFJPSUQpIGFuZCB3aWxsIGhvcGVmdWxseSBiZQorICAg
ICAgICAvLyAgICAgICByZW1vdmVkIG9uY2UgdGhlIGxpbmsgZGlzYW1iaWd1YXRpb24gZmVhdHVy
ZSByZW5kZXJzIHVzaW5nCisgICAgICAgIC8vICAgICAgIHRoZSBjb21wb3NpdG9yLgorICAgICAg
ICBGb3JjZVNvZnR3YXJlUmVuZGVyaW5nQW5kSWdub3JlR1BVUmVzaWRlbnRDb250ZW50LAorICAg
IH07CisKICAgICAvLyBDYWxsZWQgdG8gcGFpbnQgdGhlIHJlY3Rhbmd1bGFyIHJlZ2lvbiB3aXRo
aW4gdGhlIFdlYldpZGdldAogICAgIC8vIG9udG8gdGhlIHNwZWNpZmllZCBjYW52YXMgYXQgKHZp
ZXdQb3J0Lngsdmlld1BvcnQueSkuIFlvdSBNVVNUIGNhbGwKICAgICAvLyBMYXlvdXQgYmVmb3Jl
IGNhbGxpbmcgdGhpcyBtZXRob2QuIEl0IGlzIG9rYXkgdG8gY2FsbCBwYWludApAQCAtOTcsNyAr
MTEzLDcgQEAgcHVibGljOgogICAgIC8vIGNoYW5nZXMgYXJlIG1hZGUgdG8gdGhlIFdlYldpZGdl
dCAoZS5nLiwgb25jZSBldmVudHMgYXJlCiAgICAgLy8gcHJvY2Vzc2VkLCBpdCBzaG91bGQgYmUg
YXNzdW1lZCB0aGF0IGFub3RoZXIgY2FsbCB0byBsYXlvdXQgaXMKICAgICAvLyB3YXJyYW50ZWQg
YmVmb3JlIHBhaW50aW5nIGFnYWluKS4KLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoV2ViQ2FudmFz
KiwgY29uc3QgV2ViUmVjdCYgdmlld1BvcnQpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBwYWludChX
ZWJDYW52YXMqLCBjb25zdCBXZWJSZWN0JiB2aWV3UG9ydCwgUGFpbnRPcHRpb25zID0gUmVhZGJh
Y2tGcm9tQ29tcG9zaXRvcklmQXZhaWxhYmxlKSB7IH0KIAogICAgIC8vIEluIG5vbi10aHJlYWRl
ZCBjb21wb3NpdGluZyBtb2RlLCB0cmlnZ2VycyBjb21wb3NpdGluZyBvZiB0aGUgY3VycmVudAog
ICAgIC8vIGxheWVycyBvbnRvIHRoZSBzY3JlZW4uIFlvdSBNVVNUIGNhbGwgTGF5b3V0IGJlZm9y
ZSBjYWxsaW5nIHRoaXMgbWV0aG9kLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViUGFnZVBvcHVwSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJQYWdlUG9wdXBJbXBsLmNwcAppbmRleCBmZTk0NWMwNjNkNTNiYTUzYjVmNTVmMWQyMWY0ZTAy
NmY1MDg3YWIxLi45ODBmODFhOGFiMGVkYmUzNGU2NTcyZWY2ZjdlYjlhYjY0MDYyMzM4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQYWdlUG9wdXBJbXBsLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQYWdlUG9wdXBJbXBsLmNwcApAQCAt
MjI1LDcgKzIyNSw3IEBAIHZvaWQgV2ViUGFnZVBvcHVwSW1wbDo6bGF5b3V0KCkKICAgICBQYWdl
V2lkZ2V0RGVsZWdhdGU6OmxheW91dChtX3BhZ2UuZ2V0KCkpOwogfQogCi12b2lkIFdlYlBhZ2VQ
b3B1cEltcGw6OnBhaW50KFdlYkNhbnZhcyogY2FudmFzLCBjb25zdCBXZWJSZWN0JiByZWN0KQor
dm9pZCBXZWJQYWdlUG9wdXBJbXBsOjpwYWludChXZWJDYW52YXMqIGNhbnZhcywgY29uc3QgV2Vi
UmVjdCYgcmVjdCwgUGFpbnRPcHRpb25zKQogewogICAgIFBhZ2VXaWRnZXREZWxlZ2F0ZTo6cGFp
bnQobV9wYWdlLmdldCgpLCAwLCBjYW52YXMsIHJlY3QsIFBhZ2VXaWRnZXREZWxlZ2F0ZTo6T3Bh
cXVlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBhZ2VQ
b3B1cEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBhZ2VQb3B1cEltcGwu
aAppbmRleCA3NjkzNmE0Y2Q2NWQzNGZmODkwMGE1MWI0ZWMwMzcwZjI1ZGYxZWMyLi5lNjg0NGJm
ZDA2YTQ5OGJkYjUwZGI4MTkwNmQ5NmU0YWUxNWRiNGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJQYWdlUG9wdXBJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViUGFnZVBvcHVwSW1wbC5oCkBAIC03Miw3ICs3Miw3IEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCB2b2lkIHNldENvbXBvc2l0b3JTdXJmYWNlUmVhZHkoKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIHZvaWQgY29tcG9zaXRlKGJvb2wpIE9WRVJSSURFOwogICAgIHZpcnR1YWwg
dm9pZCBsYXlvdXQoKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoV2ViQ2FudmFz
KiwgY29uc3QgV2ViUmVjdCYpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBwYWludChXZWJD
YW52YXMqLCBjb25zdCBXZWJSZWN0JiwgUGFpbnRPcHRpb25zID0gUmVhZGJhY2tGcm9tQ29tcG9z
aXRvcklmQXZhaWxhYmxlKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgcmVzaXplKGNvbnN0
IFdlYlNpemUmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlSW5wdXRFdmVudChjb25zdCBXZWJJbnB1dEV2ZW50Jikg
T1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1
cE1lbnVJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUlt
cGwuY3BwCmluZGV4IGVjODk5MzBmYjdkNmMzMmE3ODcxN2QxMDU2MTE2ZDg1MzdkNzVjNjAuLjE5
NGRlZTU1MGNmMGRkNDk5NGQ2M2IwYTY5MTNkMTFkNDc0N2Y1NTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuY3BwCkBAIC0xOTMsNyArMTkzLDcg
QEAgdm9pZCBXZWJQb3B1cE1lbnVJbXBsOjpsYXlvdXQoKQogewogfQogCi12b2lkIFdlYlBvcHVw
TWVudUltcGw6OnBhaW50KFdlYkNhbnZhcyogY2FudmFzLCBjb25zdCBXZWJSZWN0JiByZWN0KQor
dm9pZCBXZWJQb3B1cE1lbnVJbXBsOjpwYWludChXZWJDYW52YXMqIGNhbnZhcywgY29uc3QgV2Vi
UmVjdCYgcmVjdCwgUGFpbnRPcHRpb25zKQogewogICAgIGlmICghbV93aWRnZXQpCiAgICAgICAg
IHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVw
TWVudUltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwu
aAppbmRleCBjMjJhMGJiZWNlOTk1M2Q1ZDQ3MTI0ZWI0YTAwODNiZjhiNjMzODg3Li43ZjEzZTQz
ODUwZGZkYjUyODdhZGY2ZGZkYjQxOWY0YzEwOGZmZjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oCkBAIC03Myw3ICs3Myw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgd2lsbEVuZExpdmVSZXNpemUoKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgYW5pbWF0ZShkb3VibGUgZnJhbWVCZWdpblRpbWUpIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgdm9pZCBsYXlvdXQoKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoV2Vi
Q2FudmFzKiwgY29uc3QgV2ViUmVjdCYpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBwYWlu
dChXZWJDYW52YXMqLCBjb25zdCBXZWJSZWN0JiwgUGFpbnRPcHRpb25zID0gUmVhZGJhY2tGcm9t
Q29tcG9zaXRvcklmQXZhaWxhYmxlKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgdGhlbWVD
aGFuZ2VkKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNldENvbXBvc2l0b3JTdXJmYWNl
UmVhZHkoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY29tcG9zaXRlKGJvb2wgZmluaXNo
KSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZp
ZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApp
bmRleCBiMThlMjA5NDQzM2U2MTk3MmZlZjkyN2ViYjM0MmFmMDM2NmFmNDFkLi5iOTM3ODAyNTE5
N2JkOWFmMWU5ZGY5YzQxNDM4NjhjYzM1ZjgxYmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0xNjg1LDkgKzE2ODUsMTUgQEAgdm9pZCBXZWJWaWV3
SW1wbDo6ZG9QaXhlbFJlYWRiYWNrVG9DYW52YXMoV2ViQ2FudmFzKiBjYW52YXMsIGNvbnN0IElu
dFJlY3QmIHJlY3QKIH0KICNlbmRpZgogCi12b2lkIFdlYlZpZXdJbXBsOjpwYWludChXZWJDYW52
YXMqIGNhbnZhcywgY29uc3QgV2ViUmVjdCYgcmVjdCkKK3ZvaWQgV2ViVmlld0ltcGw6OnBhaW50
KFdlYkNhbnZhcyogY2FudmFzLCBjb25zdCBXZWJSZWN0JiByZWN0LCBQYWludE9wdGlvbnMgb3B0
aW9uKQogewotICAgIGlmIChpc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdBY3RpdmUoKSkgeworI2lm
ICFPUyhBTkRST0lEKQorICAgIC8vIFJlYWRiYWNrRnJvbUNvbXBvc2l0b3JJZkF2YWlsYWJsZSBp
cyB0aGUgb25seSBvcHRpb24gYXZhaWxhYmxlIG9uIG5vbi1BbmRyb2lkLgorICAgIC8vIElkZWFs
bHksIEFuZHJvaWQgd291bGQgYWx3YXlzIHVzZSBSZWFkYmFja0Zyb21Db21wb3NpdG9ySWZBdmFp
bGFibGUgYXMgd2VsbC4KKyAgICBBU1NFUlQob3B0aW9uID09IFJlYWRiYWNrRnJvbUNvbXBvc2l0
b3JJZkF2YWlsYWJsZSk7CisjZW5kaWYKKworICAgIGlmIChvcHRpb24gPT0gUmVhZGJhY2tGcm9t
Q29tcG9zaXRvcklmQXZhaWxhYmxlICYmIGlzQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0FjdGl2ZSgp
KSB7CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgICAgICAvLyBJZiBhIGNh
bnZhcyB3YXMgcGFzc2VkIGluLCB3ZSB1c2UgaXQgdG8gZ3JhYiBhIGNvcHkgb2YgdGhlCiAgICAg
ICAgIC8vIGZyZXNobHktcmVuZGVyZWQgcGl4ZWxzLgpAQCAtMTY5OSwxMiArMTcwNSwyNCBAQCB2
b2lkIFdlYlZpZXdJbXBsOjpwYWludChXZWJDYW52YXMqIGNhbnZhcywgY29uc3QgV2ViUmVjdCYg
cmVjdCkKICAgICAgICAgfQogI2VuZGlmCiAgICAgfSBlbHNlIHsKKyAgICAgICAgRnJhbWVWaWV3
KiB2aWV3ID0gcGFnZSgpLT5tYWluRnJhbWUoKS0+dmlldygpOworICAgICAgICBQYWludEJlaGF2
aW9yIG9sZFBhaW50QmVoYXZpb3IgPSB2aWV3LT5wYWludEJlaGF2aW9yKCk7CisgICAgICAgIGlm
IChpc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdBY3RpdmUoKSkgeworICAgICAgICAgICAgQVNTRVJU
KG9wdGlvbiA9PSBGb3JjZVNvZnR3YXJlUmVuZGVyaW5nQW5kSWdub3JlR1BVUmVzaWRlbnRDb250
ZW50KTsgICAgICAgICAgICAKKyAgICAgICAgICAgIHZpZXctPnNldFBhaW50QmVoYXZpb3Iob2xk
UGFpbnRCZWhhdmlvciB8IFBhaW50QmVoYXZpb3JGbGF0dGVuQ29tcG9zaXRpbmdMYXllcnMpOwor
ICAgICAgICB9CisKICAgICAgICAgZG91YmxlIHBhaW50U3RhcnQgPSBjdXJyZW50VGltZSgpOwog
ICAgICAgICBQYWdlV2lkZ2V0RGVsZWdhdGU6OnBhaW50KG1fcGFnZS5nZXQoKSwgcGFnZU92ZXJs
YXlzKCksIGNhbnZhcywgcmVjdCwgaXNUcmFuc3BhcmVudCgpID8gUGFnZVdpZGdldERlbGVnYXRl
OjpUcmFuc2x1Y2VudCA6IFBhZ2VXaWRnZXREZWxlZ2F0ZTo6T3BhcXVlKTsKICAgICAgICAgZG91
YmxlIHBhaW50RW5kID0gY3VycmVudFRpbWUoKTsKICAgICAgICAgZG91YmxlIHBpeGVsc1BlclNl
YyA9IChyZWN0LndpZHRoICogcmVjdC5oZWlnaHQpIC8gKHBhaW50RW5kIC0gcGFpbnRTdGFydCk7
CiAgICAgICAgIFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+aGlzdG9ncmFtQ3VzdG9tQ291
bnRzKCJSZW5kZXJlcjQuU29mdHdhcmVQYWludER1cmF0aW9uTVMiLCAocGFpbnRFbmQgLSBwYWlu
dFN0YXJ0KSAqIDEwMDAsIDAsIDEyMCwgMzApOwogICAgICAgICBXZWJLaXQ6OlBsYXRmb3JtOjpj
dXJyZW50KCktPmhpc3RvZ3JhbUN1c3RvbUNvdW50cygiUmVuZGVyZXI0LlNvZnR3YXJlUGFpbnRN
ZWdhcGl4UGVyU2Vjb25kIiwgcGl4ZWxzUGVyU2VjIC8gMTAwMDAwMCwgMTAsIDIxMCwgMzApOwor
CisgICAgICAgIGlmIChpc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdBY3RpdmUoKSkgeworICAgICAg
ICAgICAgQVNTRVJUKG9wdGlvbiA9PSBGb3JjZVNvZnR3YXJlUmVuZGVyaW5nQW5kSWdub3JlR1BV
UmVzaWRlbnRDb250ZW50KTsgICAgICAgICAgICAKKyAgICAgICAgICAgIHZpZXctPnNldFBhaW50
QmVoYXZpb3Iob2xkUGFpbnRCZWhhdmlvcik7CisgICAgICAgIH0KICAgICB9CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmggYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCmluZGV4IGI4ZGNhZDcxNzA0YTMzYjJk
OWVmMWJjNzI1ZDUzZDY4OTMxNDA4MzEuLjY5NTRhYjBjZDgxN2Q3NTQ4MzM0OTYyZmJkMjdkMmEz
ZjlkMmE1M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJ
bXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaApAQCAt
MTQzLDcgKzE0Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29tcG9zaXRvclN1
cmZhY2VSZWFkeSgpOwogICAgIHZpcnR1YWwgdm9pZCBhbmltYXRlKGRvdWJsZSk7CiAgICAgdmly
dHVhbCB2b2lkIGxheW91dCgpOyAvLyBBbHNvIGltcGxlbWVudHMgV2ViTGF5ZXJUcmVlVmlld0Ns
aWVudDo6bGF5b3V0KCkKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoV2ViQ2FudmFzKiwgY29uc3Qg
V2ViUmVjdCYpOworICAgIHZpcnR1YWwgdm9pZCBwYWludChXZWJDYW52YXMqLCBjb25zdCBXZWJS
ZWN0JiwgUGFpbnRPcHRpb25zID0gUmVhZGJhY2tGcm9tQ29tcG9zaXRvcklmQXZhaWxhYmxlKTsK
ICAgICB2aXJ0dWFsIHZvaWQgdGhlbWVDaGFuZ2VkKCk7CiAgICAgdmlydHVhbCB2b2lkIGNvbXBv
c2l0ZShib29sIGZpbmlzaCk7CiAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzUmVkcmF3KCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>