<?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>96382</bug_id>
          
          <creation_ts>2012-09-11 06:57:25 -0700</creation_ts>
          <short_desc>Android&apos;s mock scrollbars shows up as a difference in layout test results</short_desc>
          <delta_ts>2012-09-24 11:42:07 -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>Tools / Tests</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>
          
          <blocked>96398</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Peter Beverloo">peter</reporter>
          <assigned_to name="Peter Beverloo">peter</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>jamesr</cc>
    
    <cc>skyostil</cc>
    
    <cc>tony</cc>
    
    <cc>wangxianzhu</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>717119</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-09-11 06:57:25 -0700</bug_when>
    <thetext>Example output:
http://build.webkit.org/results/Chromium%20Android%20Release%20%28Tests%29/r128173%20%2864%29/fast/backgrounds/background-inherit-color-bug-diffs.html

With the diff being:
http://build.webkit.org/results/Chromium%20Android%20Release%20%28Tests%29/r128173%20%2864%29/fast/backgrounds/background-inherit-color-bug-diff.png

It only points out the scrollbars. This is causing a lot of unnecessary failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718281</commentid>
    <comment_count>1</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-09-12 06:03:41 -0700</bug_when>
    <thetext>I&apos;m not sure we can address this without needing new Android baselines for every test that has a scrollbar. Windows, Mac and Linux do the same (see links below).

Our scrollbars are painted using the compositor, which we force to be on in the shipping version of the product itself. I think the best way forward would be to have these show up on the pixel results (i.e. what the product itself uses), and then submit a few massive commits with baselines.

Ideas / confirmation before I do this would be most welcome!


Another example output:
http://build.webkit.org/results/Chromium%20Android%20Release%20(Tests)/r128190%20(72)/css2.1/t1202-counters-09-b-diffs.html

Mac example:
http://build.webkit.org/results/Chromium%20Mac%20Release%20%28Tests%29/r128297%20%2823853%29/fast/block/float/028-diffs.html

Windows using mock scrollbars:
http://build.webkit.org/results/Chromium%20Win%20Release%20%28Tests%29/r128290%20%2829919%29/fast/block/float/028-diffs.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718294</commentid>
    <comment_count>2</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-09-12 06:25:40 -0700</bug_when>
    <thetext>Android always uses the compositor, and forces it to be on. The scrollbars have been implemented in the compositor as well.

For the most accurate results, we&apos;d need to turn the compositor on for all tests. This means that we&apos;d have to add new baselines for (a) all text baselines, as they would now start showing layers, (b) all image baselines with a scrollbar and (c) image baselines needing other adjustments. Adding everything up, this means that we&apos;d need new baselines for pretty much every test.

Maybe some intermediary result directory between chromium-linux and chromium-android, i.e. chromium-linux-compositing, could mean that we can still share many results with Linux (when/if they start forcing the compositor)...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718482</commentid>
    <comment_count>3</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-09-12 10:15:34 -0700</bug_when>
    <thetext>FWIW, I don&apos;t think it&apos;s a big deal to land different pixel results for chromium-android.  There are &quot;only&quot; 7218 chromium-linux png files.  If there are the same number of chromium-android files, that&apos;s not much compared to the 183551 total files in the repository.

The main problem is keeping the results up to date, but once the bots start running tests and we hook up garden-o-matic to it, that should be pretty easy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718483</commentid>
    <comment_count>4</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-09-12 10:17:39 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; FWIW, I don&apos;t think it&apos;s a big deal to land different pixel results for chromium-android.  There are &quot;only&quot; 7218 chromium-linux png files.  If there are the same number of chromium-android files, that&apos;s not much compared to the 183551 total files in the repository.
&gt; 
&gt; The main problem is keeping the results up to date, but once the bots start running tests and we hook up garden-o-matic to it, that should be pretty easy.

Getting garden-o-matic to work is definitely a priority. One nit here: afaik turning on the compositor will also start showing the layers in the normal DumpRenderTree output, which means new text results as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718493</commentid>
    <comment_count>5</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-09-12 10:30:07 -0700</bug_when>
    <thetext>Layers don&apos;t show up in the text output unless the test asks for them by testRunner.layerTreeAsText().

Do you want scrollbars to show up in the .pngs at all on android?  They don&apos;t occupy space (do they?) so maybe you should just leave them out.  That means you can&apos;t share pixel baselines with other ports on tests with visible scrollbars, but you aren&apos;t sharing behavior either thanks to overlay so that seems appropriate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718500</commentid>
    <comment_count>6</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-09-12 10:37:04 -0700</bug_when>
    <thetext>How does garden-o-matic distinguish tests to be rebaselined and bugs to be fixed, among the thousands of mismatches?


The following are a bit off topic:

Perhaps we can make the pixel results automatically rebaselined, but for crash/timeout/text mismatches, I think we still need to manually check one by one to distinguish bugs from rebaselines. So I think keeping the text expectations as many matching is important to reduce the cost.

For the scrollbar case, the current code makes the text expectations matching chromium-linux/chromium-win. So does the code for font configurations. For those features, DumpRenderTree doesn&apos;t execute the actual code paths of chromium-android. I think we can add several Android-specific test cases for them with the actual paths selected with some Android-specific layout test API. For the other tests the DumpRenderTree code paths are used to reduce the number of mismatches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718501</commentid>
    <comment_count>7</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-09-12 10:37:25 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Layers don&apos;t show up in the text output unless the test asks for them by testRunner.layerTreeAsText().
&gt; 
&gt; Do you want scrollbars to show up in the .pngs at all on android?  They don&apos;t occupy space (do they?) so maybe you should just leave them out.  That means you can&apos;t share pixel baselines with other ports on tests with visible scrollbars, but you aren&apos;t sharing behavior either thanks to overlay so that seems appropriate.

I see, that&apos;s good news, so we can enable forced compositing.

Do you think it&apos;d be fine to now show scrollbars altogether? They&apos;re layers in a parallel tree and are drawn a top of the content, so it seems to me that they indeed don&apos;t occupy space.

My concern is that this would make it impossible to determine whether the content exceeds the result&apos;s viewport or not.
Since we&apos;re not going to be able to share the results anyway, both (a) being closer to what we ship and (b) making it more obvious why a test may be failing in case of scrolling content make me think that we should enable them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718505</commentid>
    <comment_count>8</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-09-12 10:40:03 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; How does garden-o-matic distinguish tests to be rebaselined and bugs to be fixed, among the thousands of mismatches?
&gt; 
&gt; 
&gt; The following are a bit off topic:
&gt; 
&gt; Perhaps we can make the pixel results automatically rebaselined, but for crash/timeout/text mismatches, I think we still need to manually check one by one to distinguish bugs from rebaselines. So I think keeping the text expectations as many matching is important to reduce the cost.
&gt; 
&gt; For the scrollbar case, the current code makes the text expectations matching chromium-linux/chromium-win. So does the code for font configurations. For those features, DumpRenderTree doesn&apos;t execute the actual code paths of chromium-android. I think we can add several Android-specific test cases for them with the actual paths selected with some Android-specific layout test API. For the other tests the DumpRenderTree code paths are used to reduce the number of mismatches.

We shouldn&apos;t be having thousands of mismatches to start with, but rather a good baseline of the expected results. Crashes will show up independently.

With our own larger set of baselines, we can also remove a number of these exceptions and start testing what we use. Fonts would be an exception here due to the shaping and dimensions, unfortunately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718508</commentid>
    <comment_count>9</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-09-12 10:42:52 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; How does garden-o-matic distinguish tests to be rebaselined and bugs to be fixed, among the thousands of mismatches?
&gt; 

It doesn&apos;t. That is up the dev&apos;s discretion.

&gt; 
&gt; The following are a bit off topic:
&gt; 
&gt; Perhaps we can make the pixel results automatically rebaselined, but for crash/timeout/text mismatches, I think we still need to manually check one by one to distinguish bugs from rebaselines. So I think keeping the text expectations as many matching is important to reduce the cost.
&gt;

I&apos;m not sure I understand what you mean by &quot;automatically rebaselined&quot; here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718509</commentid>
    <comment_count>10</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-09-12 10:43:19 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; My concern is that this would make it impossible to determine whether the content exceeds the result&apos;s viewport or not.

The render tree output would at least tell you this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718512</commentid>
    <comment_count>11</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-09-12 10:48:04 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #6)
&gt; &gt; How does garden-o-matic distinguish tests to be rebaselined and bugs to be fixed, among the thousands of mismatches?
&gt; &gt; 
&gt; 
&gt; It doesn&apos;t. That is up the dev&apos;s discretion.
&gt; 
&gt; &gt; 
&gt; &gt; The following are a bit off topic:
&gt; &gt; 
&gt; &gt; Perhaps we can make the pixel results automatically rebaselined, but for crash/timeout/text mismatches, I think we still need to manually check one by one to distinguish bugs from rebaselines. So I think keeping the text expectations as many matching is important to reduce the cost.
&gt; &gt;
&gt; 
&gt; I&apos;m not sure I understand what you mean by &quot;automatically rebaselined&quot; here?

This is related to my first question. Maybe I&apos;m wrong but it seems impractical to me to check the thousands of mismatches one by one, so I guessed pixel mismatches are rebaselined without checking (&quot;automatically rebaselined&quot;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718513</commentid>
    <comment_count>12</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-09-12 10:49:02 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; &gt; I&apos;m not sure I understand what you mean by &quot;automatically rebaselined&quot; here?
&gt; 
&gt; This is related to my first question. Maybe I&apos;m wrong but it seems impractical to me to check the thousands of mismatches one by one, so I guessed pixel mismatches are rebaselined without checking (&quot;automatically rebaselined&quot;).

Ah, I see. No, typically when this happens people actually at least glance at all of the results (or blindly approve them, though that is &quot;discouraged&quot; :).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718514</commentid>
    <comment_count>13</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-09-12 10:53:06 -0700</bug_when>
    <thetext>(In reply to comment #8)
 
&gt; We shouldn&apos;t be having thousands of mismatches to start with, but rather a good baseline of the expected results. Crashes will show up independently.
&gt; 

This is true for text expectations because we have created special code paths in layout test mode. However for pixel results, based on our experience in downstream, there would be thousands of mismatches because of the slight differences at the edges of the font strokes. Because of this we didn&apos;t run pixel tests in downstream to avoid the workload and hope this be resolved in upstream with the gardening process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718541</commentid>
    <comment_count>14</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-09-12 11:36:26 -0700</bug_when>
    <thetext>FYI, the following layout test specific code paths have been created to reduce text mismatches of scrollbars (but not to reduce pixel mismatches):

  - let measurement of scrollbar match chromium-linux: http://trac.webkit.org/changeset/104139

  - disable overlay scrollbar: http://trac.webkit.org/changeset/123825

  - why the scrollbar is black in layout test mode: http://trac.webkit.org/browser/trunk/Source/WebCore/platform/chromium/ScrollbarThemeChromiumAndroid.cpp?annotate=blame#L165</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718580</commentid>
    <comment_count>15</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-09-12 12:14:41 -0700</bug_when>
    <thetext>You should have DRT behave in as close to the same way as your actual browser does as possible.  Disabling overlay scrollbars seems like a huge mistake, you want to test what users are actually experiencing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718592</commentid>
    <comment_count>16</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-09-12 12:21:09 -0700</bug_when>
    <thetext>We&apos;ll (In reply to comment #10)
&gt; (In reply to comment #7)
&gt; &gt; My concern is that this would make it impossible to determine whether the content exceeds the result&apos;s viewport or not.
&gt; 
&gt; The render tree output would at least tell you this.

Yes, but is there a reason not to?

What do you think about the following steps forward?

    1) We&apos;ll force compositor mode and threaded compositing for DumpRenderTree on Android, matching the product itself.
    2) We&apos;ll make the mock scrollbars light grey (so the scroller is visible and it&apos;s visually distinguishable from the test&apos;s content), if possible, keep the reserved space, and enable the overlay scrollbars again.
    3) We&apos;ll diagnose further failures, to make sure there isn&apos;t any low hanging fruit that may cause major re-baselines after we&apos;re done.
    4) We&apos;ll start a plan to get the tests re-based while verifying every result visually. There are various WebKit committers in London and with some tools we should be able to do this quickly and accurately.


Note for (2): Some tests may be depending on the predictable inner layout width, so I don&apos;t think we should change that, but this is a triviality.

The eventual goal is to match the product as closely as possible. Integration with garden-o-matic is planned and shouldn&apos;t be too long away, but we do need a good baseline in the first place in order for that to work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718596</commentid>
    <comment_count>17</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-09-12 12:22:57 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Note for (2): Some tests may be depending on the predictable inner layout width, so I don&apos;t think we should change that, but this is a triviality.

Err, the &quot;but this is a triviality&quot; part is from a sentence I removed.
I am not experienced enough with WebKit layout tests to judge what impact removing the reserved space would have, and would like to defer to one of you guys for making that decision.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718599</commentid>
    <comment_count>18</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-09-12 12:24:28 -0700</bug_when>
    <thetext>You should be able to use garden-o-matic to examine and rebaseline the chromium-android results.  I&apos;ve used it in the past for rebaselining hundreds of pixel test changes (I think it took less than an hour).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718608</commentid>
    <comment_count>19</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2012-09-12 12:28:29 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; You should have DRT behave in as close to the same way as your actual browser does as possible.  Disabling overlay scrollbars seems like a huge mistake, you want to test what users are actually experiencing.

I think this is a trade-off and we can reduce the mistake by adding a few tests with an layout test API to enable overlay scrollbars. For the existing tests, most of them are not actually testing scrollbars, keeping them matching with existing baselines can reduce the cost of managing the new baselines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726538</commentid>
    <comment_count>20</comment_count>
      <attachid>165351</attachid>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-09-24 04:21:54 -0700</bug_when>
    <thetext>Created attachment 165351
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726545</commentid>
    <comment_count>21</comment_count>
      <attachid>165351</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-09-24 04:27:44 -0700</bug_when>
    <thetext>Comment on attachment 165351
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        bringing the tests closer to what we actually skip.

s/skip/ship/

&gt; Source/WebCore/ChangeLog:13
&gt; +        take and width on Android, they&apos;re rendered on top of the content. Therefore

s/and/any/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726547</commentid>
    <comment_count>22</comment_count>
      <attachid>165354</attachid>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-09-24 04:29:43 -0700</bug_when>
    <thetext>Created attachment 165354
Fix typos</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726864</commentid>
    <comment_count>23</comment_count>
      <attachid>165354</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-09-24 11:22:01 -0700</bug_when>
    <thetext>Comment on attachment 165354
Fix typos

Removing calls to isRunningLayoutTest LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726883</commentid>
    <comment_count>24</comment_count>
      <attachid>165354</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-24 11:42:03 -0700</bug_when>
    <thetext>Comment on attachment 165354
Fix typos

Clearing flags on attachment: 165354

Committed r129394: &lt;http://trac.webkit.org/changeset/129394&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>726884</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-24 11:42:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165351</attachid>
            <date>2012-09-24 04:21:54 -0700</date>
            <delta_ts>2012-09-24 04:29:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96382-20120924122114.patch</filename>
            <type>text/plain</type>
            <size>4865</size>
            <attacher name="Peter Beverloo">peter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5MzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzQzMjFhNjJiZTYzZjhj
ZGExYzE0ODk5MjJmYjA4ODA1YmUzZDIzZC4uNWVmOTgwZjQ1ZDY3OTZhZDMzMzM5Y2YzNDY3N2U0
NGFhMDFmMTRmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA5LTI0ICBQZXRl
ciBCZXZlcmxvbyAgPHBldGVyQGNocm9taXVtLm9yZz4KKworICAgICAgICBBbmRyb2lkJ3MgbW9j
ayBzY3JvbGxiYXJzIHNob3dzIHVwIGFzIGEgZGlmZmVyZW5jZSBpbiBsYXlvdXQgdGVzdCByZXN1
bHRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjM4
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92
ZSB0aGUgZXhjZXB0aW9ucyBtYWRlIGZvciBsYXlvdXQgdGVzdHMgaW4gQW5kcm9pZCdzIHNjcm9s
bGJhciB0aGVtZS4KKyAgICAgICAgVGhpcyB3aWxsIG1ha2Ugb3VyIGFjdHVhbCBzY3JvbGxiYXJz
IHNob3cgdXAgaW4gbGF5b3V0IHRlc3QgcGl4ZWwgcmVzdWx0cywKKyAgICAgICAgYnJpbmdpbmcg
dGhlIHRlc3RzIGNsb3NlciB0byB3aGF0IHdlIGFjdHVhbGx5IHNraXAuCisKKyAgICAgICAgQW4g
aW1wb3J0YW50IGRpZmZlcmVuY2Ugd2l0aCBvdGhlciBwbGF0Zm9ybXMgaXMgdGhhdCBzY3JvbGxi
YXJzIGRvIG5vdAorICAgICAgICB0YWtlIGFuZCB3aWR0aCBvbiBBbmRyb2lkLCB0aGV5J3JlIHJl
bmRlcmVkIG9uIHRvcCBvZiB0aGUgY29udGVudC4gVGhlcmVmb3JlCisgICAgICAgIGVhY2ggdGVz
dCB0aGF0IGhhcyBhIHZpc2libGUgc2Nyb2xsYmFyIGRvZXMgbm90IGp1c3QgbmVlZCBhIG5ldyBw
aXhlbAorICAgICAgICByZXN1bHQsIGJ1dCB3aWxsIGFsc28gbmVlZCBhIG5ldyB0ZXh0IHJlc3Vs
dC4gVGhpcyB3aWxsIGJlIGhhbmRsZWQgYXMgcGFydAorICAgICAgICBvZiBhIGxhcmdlciByZWJh
c2VsaW5pbmcgcHJvY2Vzcy4KKworICAgICAgICBXaWxsIGJlIGV4ZXJjaXNlZCBieSBldmVyeSBs
YXlvdXQgdGVzdCB0aGF0IGhhcyBhIHNjcm9sbGJhci4KKworICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkOjpzY3JvbGxiYXJUaGlja25lc3MpOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUFuZHJvaWQ6OnVzZXNPdmVy
bGF5U2Nyb2xsYmFycyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUNocm9taXVt
QW5kcm9pZDo6aGFzVGh1bWIpOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJh
clRoZW1lQ2hyb21pdW1BbmRyb2lkLmg6CisgICAgICAgIChTY3JvbGxiYXJUaGVtZUNocm9taXVt
QW5kcm9pZCk6CisKIDIwMTItMDktMjQgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGZvbGxvdy11cCB0byByMTI5MzM2IC0tIGZpeGVk
IGNsb3N1cmUgY29tcGlsZXIgd2FybmluZ3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9p
ZC5jcHAKaW5kZXggMWI5ZTU3MWIxNDJiNDUxZTYzNWYyZWNlMTQ4Zjk4MmRhOTU2Y2I3ZC4uNmY1
NTVmYmQxZGRmYWZjOGFmYTI5NzIxMjBiMjg4MzczN2Y1Yzk4ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUFuZHJvaWQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1l
Q2hyb21pdW1BbmRyb2lkLmNwcApAQCAtMjYsNyArMjYsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkLmgiCiAKLSNpbmNsdWRl
ICJMYXlvdXRUZXN0U3VwcG9ydC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtQ29udGV4dFNraWEuaCIK
ICNpbmNsdWRlICJQbGF0Zm9ybU1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN1cHBv
cnQuaCIKQEAgLTUwLDIxICs0OSwxMiBAQCBTY3JvbGxiYXJUaGVtZSogU2Nyb2xsYmFyVGhlbWU6
Om5hdGl2ZVRoZW1lKCkKIAogaW50IFNjcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkOjpzY3Jv
bGxiYXJUaGlja25lc3MoU2Nyb2xsYmFyQ29udHJvbFNpemUgY29udHJvbFNpemUpCiB7Ci0gICAg
aWYgKGlzUnVubmluZ0xheW91dFRlc3QoKSkgewotICAgICAgICAvLyBNYXRjaCBDaHJvbWl1bS1M
aW51eCBmb3IgRHVtcFJlbmRlclRyZWUsIHNvIHRoZSBsYXlvdXQgdGVzdCByZXN1bHRzCi0gICAg
ICAgIC8vIGNhbiBiZSBzaGFyZWQuIFRoZSB3aWR0aCBvZiBzY3JvbGxiYXIgZG93biBhcnJvdyBz
aG91bGQgZXF1YWwgdGhlCi0gICAgICAgIC8vIHdpZHRoIG9mIHRoZSB2ZXJ0aWNhbCBzY3JvbGxi
YXIuCi0gICAgICAgIEludFNpemUgc2Nyb2xsYmFyU2l6ZSA9IFBsYXRmb3JtU3VwcG9ydDo6Z2V0
VGhlbWVQYXJ0U2l6ZShQbGF0Zm9ybVN1cHBvcnQ6OlBhcnRTY3JvbGxiYXJEb3duQXJyb3cpOwot
ICAgICAgICByZXR1cm4gc2Nyb2xsYmFyU2l6ZS53aWR0aCgpOwotICAgIH0KLQogICAgIHJldHVy
biBzY3JvbGxiYXJXaWR0aCArIHNjcm9sbGJhck1hcmdpbjsKIH0KIAogYm9vbCBTY3JvbGxiYXJU
aGVtZUNocm9taXVtQW5kcm9pZDo6dXNlc092ZXJsYXlTY3JvbGxiYXJzKCkgY29uc3QKIHsKLSAg
ICAvLyBJbiBsYXlvdXQgdGVzdCBtb2RlLCBtYXRjaCBDaHJvbWl1bS1MaW51eC4KLSAgICByZXR1
cm4gIWlzUnVubmluZ0xheW91dFRlc3QoKTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogaW50IFNj
cm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkOjp0aHVtYlBvc2l0aW9uKFNjcm9sbGJhclRoZW1l
Q2xpZW50KiBzY3JvbGxiYXIpCkBAIC05Miw4ICs4Miw3IEBAIGludCBTY3JvbGxiYXJUaGVtZUNo
cm9taXVtQW5kcm9pZDo6dGh1bWJMZW5ndGgoU2Nyb2xsYmFyVGhlbWVDbGllbnQqIHNjcm9sbGJh
cikKIAogYm9vbCBTY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZDo6aGFzVGh1bWIoU2Nyb2xs
YmFyVGhlbWVDbGllbnQqIHNjcm9sbGJhcikKIHsKLSAgICAvLyBJbiBsYXlvdXQgdGVzdCBtb2Rl
LCBtYXRjaCBDaHJvbWl1bS1MaW51eC4KLSAgICByZXR1cm4gIWlzUnVubmluZ0xheW91dFRlc3Qo
KTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogSW50UmVjdCBTY3JvbGxiYXJUaGVtZUNocm9taXVt
QW5kcm9pZDo6YmFja0J1dHRvblJlY3QoU2Nyb2xsYmFyVGhlbWVDbGllbnQqLCBTY3JvbGxiYXJQ
YXJ0LCBib29sKQpAQCAtMTU3LDEyICsxNDYsNCBAQCB2b2lkIFNjcm9sbGJhclRoZW1lQ2hyb21p
dW1BbmRyb2lkOjpwYWludFRodW1iKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgU2Nyb2xsYgog
ICAgIGZpbGxTbW9vdGhFZGdlZFJlY3QoY29udGV4dCwgdGh1bWJSZWN0LCBDb2xvcigxMjgsIDEy
OCwgMTI4LCAxMjgpKTsKIH0KIAotdm9pZCBTY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZDo6
cGFpbnRTY3JvbGxiYXJCYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgU2Nyb2xs
YmFyVGhlbWVDbGllbnQqIHNjcm9sbGJhcikKLXsKLSAgICAvLyBQYWludCBibGFjayBiYWNrZ3Jv
dW5kIGluIER1bXBSZW5kZXJUcmVlLCBvdGhlcndpc2UgdGhlIHBpeGVscyBpbiB0aGUgc2Nyb2xs
YmFyIGFyZWEgZGVwZW5kCi0gICAgLy8gb24gdGhlaXIgcHJldmlvdXMgc3RhdGUsIHdoaWNoIG1h
a2VzIHRoZSBkdW1wZWQgcmVzdWx0IHVuZGV0ZXJtaW5lZC4KLSAgICBpZiAoaXNSdW5uaW5nTGF5
b3V0VGVzdCgpKQotICAgICAgICBjb250ZXh0LT5maWxsUmVjdChzY3JvbGxiYXItPmZyYW1lUmVj
dCgpLCBDb2xvcjo6YmxhY2ssIENvbG9yU3BhY2VEZXZpY2VSR0IpOwotfQotCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUFuZHJvaWQuaAppbmRleCBlYWI1MDEw
Mjk3OTExMGI2OGNkY2I1MTM4YTUwZTU1NDAwMjFmN2RjLi44NGQ2NDdkZGVmZDlhY2EzOGNmMjU0
YzcxNmY5ZmY3NmMyZGFlZmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
aHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkLmgKQEAg
LTQ2LDcgKzQ2LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSW50UmVjdCB0cmFja1JlY3QoU2Ny
b2xsYmFyVGhlbWVDbGllbnQqLCBib29sIHBhaW50aW5nID0gZmFsc2UpOwogCiAgICAgdmlydHVh
bCB2b2lkIHBhaW50VGh1bWIoR3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyVGhlbWVDbGllbnQq
LCBjb25zdCBJbnRSZWN0Jik7Ci0gICAgdmlydHVhbCB2b2lkIHBhaW50U2Nyb2xsYmFyQmFja2dy
b3VuZChHcmFwaGljc0NvbnRleHQqLCBTY3JvbGxiYXJUaGVtZUNsaWVudCopOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165354</attachid>
            <date>2012-09-24 04:29:43 -0700</date>
            <delta_ts>2012-09-24 11:42:03 -0700</delta_ts>
            <desc>Fix typos</desc>
            <filename>bug-96382-20120924122904.patch</filename>
            <type>text/plain</type>
            <size>4865</size>
            <attacher name="Peter Beverloo">peter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5MzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzQzMjFhNjJiZTYzZjhj
ZGExYzE0ODk5MjJmYjA4ODA1YmUzZDIzZC4uODJhZDQ5NDhjYWUyNWNlYWM4YmM0ZTUxNzAwMmMz
NmZkNDhjMjZlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA5LTI0ICBQZXRl
ciBCZXZlcmxvbyAgPHBldGVyQGNocm9taXVtLm9yZz4KKworICAgICAgICBBbmRyb2lkJ3MgbW9j
ayBzY3JvbGxiYXJzIHNob3dzIHVwIGFzIGEgZGlmZmVyZW5jZSBpbiBsYXlvdXQgdGVzdCByZXN1
bHRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjM4
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92
ZSB0aGUgZXhjZXB0aW9ucyBtYWRlIGZvciBsYXlvdXQgdGVzdHMgaW4gQW5kcm9pZCdzIHNjcm9s
bGJhciB0aGVtZS4KKyAgICAgICAgVGhpcyB3aWxsIG1ha2Ugb3VyIGFjdHVhbCBzY3JvbGxiYXJz
IHNob3cgdXAgaW4gbGF5b3V0IHRlc3QgcGl4ZWwgcmVzdWx0cywKKyAgICAgICAgYnJpbmdpbmcg
dGhlIHRlc3RzIGNsb3NlciB0byB3aGF0IHdlIGFjdHVhbGx5IHNoaXAuCisKKyAgICAgICAgQW4g
aW1wb3J0YW50IGRpZmZlcmVuY2Ugd2l0aCBvdGhlciBwbGF0Zm9ybXMgaXMgdGhhdCBzY3JvbGxi
YXJzIGRvIG5vdAorICAgICAgICB0YWtlIGFueSB3aWR0aCBvbiBBbmRyb2lkLCB0aGV5J3JlIHJl
bmRlcmVkIG9uIHRvcCBvZiB0aGUgY29udGVudC4gVGhlcmVmb3JlCisgICAgICAgIGVhY2ggdGVz
dCB0aGF0IGhhcyBhIHZpc2libGUgc2Nyb2xsYmFyIGRvZXMgbm90IGp1c3QgbmVlZCBhIG5ldyBw
aXhlbAorICAgICAgICByZXN1bHQsIGJ1dCB3aWxsIGFsc28gbmVlZCBhIG5ldyB0ZXh0IHJlc3Vs
dC4gVGhpcyB3aWxsIGJlIGhhbmRsZWQgYXMgcGFydAorICAgICAgICBvZiBhIGxhcmdlciByZWJh
c2VsaW5pbmcgcHJvY2Vzcy4KKworICAgICAgICBXaWxsIGJlIGV4ZXJjaXNlZCBieSBldmVyeSBs
YXlvdXQgdGVzdCB0aGF0IGhhcyBhIHNjcm9sbGJhci4KKworICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkOjpzY3JvbGxiYXJUaGlja25lc3MpOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUFuZHJvaWQ6OnVzZXNPdmVy
bGF5U2Nyb2xsYmFycyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUNocm9taXVt
QW5kcm9pZDo6aGFzVGh1bWIpOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJh
clRoZW1lQ2hyb21pdW1BbmRyb2lkLmg6CisgICAgICAgIChTY3JvbGxiYXJUaGVtZUNocm9taXVt
QW5kcm9pZCk6CisKIDIwMTItMDktMjQgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGZvbGxvdy11cCB0byByMTI5MzM2IC0tIGZpeGVk
IGNsb3N1cmUgY29tcGlsZXIgd2FybmluZ3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9p
ZC5jcHAKaW5kZXggMWI5ZTU3MWIxNDJiNDUxZTYzNWYyZWNlMTQ4Zjk4MmRhOTU2Y2I3ZC4uNmY1
NTVmYmQxZGRmYWZjOGFmYTI5NzIxMjBiMjg4MzczN2Y1Yzk4ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUFuZHJvaWQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1l
Q2hyb21pdW1BbmRyb2lkLmNwcApAQCAtMjYsNyArMjYsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkLmgiCiAKLSNpbmNsdWRl
ICJMYXlvdXRUZXN0U3VwcG9ydC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtQ29udGV4dFNraWEuaCIK
ICNpbmNsdWRlICJQbGF0Zm9ybU1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN1cHBv
cnQuaCIKQEAgLTUwLDIxICs0OSwxMiBAQCBTY3JvbGxiYXJUaGVtZSogU2Nyb2xsYmFyVGhlbWU6
Om5hdGl2ZVRoZW1lKCkKIAogaW50IFNjcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkOjpzY3Jv
bGxiYXJUaGlja25lc3MoU2Nyb2xsYmFyQ29udHJvbFNpemUgY29udHJvbFNpemUpCiB7Ci0gICAg
aWYgKGlzUnVubmluZ0xheW91dFRlc3QoKSkgewotICAgICAgICAvLyBNYXRjaCBDaHJvbWl1bS1M
aW51eCBmb3IgRHVtcFJlbmRlclRyZWUsIHNvIHRoZSBsYXlvdXQgdGVzdCByZXN1bHRzCi0gICAg
ICAgIC8vIGNhbiBiZSBzaGFyZWQuIFRoZSB3aWR0aCBvZiBzY3JvbGxiYXIgZG93biBhcnJvdyBz
aG91bGQgZXF1YWwgdGhlCi0gICAgICAgIC8vIHdpZHRoIG9mIHRoZSB2ZXJ0aWNhbCBzY3JvbGxi
YXIuCi0gICAgICAgIEludFNpemUgc2Nyb2xsYmFyU2l6ZSA9IFBsYXRmb3JtU3VwcG9ydDo6Z2V0
VGhlbWVQYXJ0U2l6ZShQbGF0Zm9ybVN1cHBvcnQ6OlBhcnRTY3JvbGxiYXJEb3duQXJyb3cpOwot
ICAgICAgICByZXR1cm4gc2Nyb2xsYmFyU2l6ZS53aWR0aCgpOwotICAgIH0KLQogICAgIHJldHVy
biBzY3JvbGxiYXJXaWR0aCArIHNjcm9sbGJhck1hcmdpbjsKIH0KIAogYm9vbCBTY3JvbGxiYXJU
aGVtZUNocm9taXVtQW5kcm9pZDo6dXNlc092ZXJsYXlTY3JvbGxiYXJzKCkgY29uc3QKIHsKLSAg
ICAvLyBJbiBsYXlvdXQgdGVzdCBtb2RlLCBtYXRjaCBDaHJvbWl1bS1MaW51eC4KLSAgICByZXR1
cm4gIWlzUnVubmluZ0xheW91dFRlc3QoKTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogaW50IFNj
cm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkOjp0aHVtYlBvc2l0aW9uKFNjcm9sbGJhclRoZW1l
Q2xpZW50KiBzY3JvbGxiYXIpCkBAIC05Miw4ICs4Miw3IEBAIGludCBTY3JvbGxiYXJUaGVtZUNo
cm9taXVtQW5kcm9pZDo6dGh1bWJMZW5ndGgoU2Nyb2xsYmFyVGhlbWVDbGllbnQqIHNjcm9sbGJh
cikKIAogYm9vbCBTY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZDo6aGFzVGh1bWIoU2Nyb2xs
YmFyVGhlbWVDbGllbnQqIHNjcm9sbGJhcikKIHsKLSAgICAvLyBJbiBsYXlvdXQgdGVzdCBtb2Rl
LCBtYXRjaCBDaHJvbWl1bS1MaW51eC4KLSAgICByZXR1cm4gIWlzUnVubmluZ0xheW91dFRlc3Qo
KTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogSW50UmVjdCBTY3JvbGxiYXJUaGVtZUNocm9taXVt
QW5kcm9pZDo6YmFja0J1dHRvblJlY3QoU2Nyb2xsYmFyVGhlbWVDbGllbnQqLCBTY3JvbGxiYXJQ
YXJ0LCBib29sKQpAQCAtMTU3LDEyICsxNDYsNCBAQCB2b2lkIFNjcm9sbGJhclRoZW1lQ2hyb21p
dW1BbmRyb2lkOjpwYWludFRodW1iKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgU2Nyb2xsYgog
ICAgIGZpbGxTbW9vdGhFZGdlZFJlY3QoY29udGV4dCwgdGh1bWJSZWN0LCBDb2xvcigxMjgsIDEy
OCwgMTI4LCAxMjgpKTsKIH0KIAotdm9pZCBTY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZDo6
cGFpbnRTY3JvbGxiYXJCYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgU2Nyb2xs
YmFyVGhlbWVDbGllbnQqIHNjcm9sbGJhcikKLXsKLSAgICAvLyBQYWludCBibGFjayBiYWNrZ3Jv
dW5kIGluIER1bXBSZW5kZXJUcmVlLCBvdGhlcndpc2UgdGhlIHBpeGVscyBpbiB0aGUgc2Nyb2xs
YmFyIGFyZWEgZGVwZW5kCi0gICAgLy8gb24gdGhlaXIgcHJldmlvdXMgc3RhdGUsIHdoaWNoIG1h
a2VzIHRoZSBkdW1wZWQgcmVzdWx0IHVuZGV0ZXJtaW5lZC4KLSAgICBpZiAoaXNSdW5uaW5nTGF5
b3V0VGVzdCgpKQotICAgICAgICBjb250ZXh0LT5maWxsUmVjdChzY3JvbGxiYXItPmZyYW1lUmVj
dCgpLCBDb2xvcjo6YmxhY2ssIENvbG9yU3BhY2VEZXZpY2VSR0IpOwotfQotCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bUFuZHJvaWQuaAppbmRleCBlYWI1MDEw
Mjk3OTExMGI2OGNkY2I1MTM4YTUwZTU1NDAwMjFmN2RjLi44NGQ2NDdkZGVmZDlhY2EzOGNmMjU0
YzcxNmY5ZmY3NmMyZGFlZmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
aHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtQW5kcm9pZC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1BbmRyb2lkLmgKQEAg
LTQ2LDcgKzQ2LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSW50UmVjdCB0cmFja1JlY3QoU2Ny
b2xsYmFyVGhlbWVDbGllbnQqLCBib29sIHBhaW50aW5nID0gZmFsc2UpOwogCiAgICAgdmlydHVh
bCB2b2lkIHBhaW50VGh1bWIoR3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyVGhlbWVDbGllbnQq
LCBjb25zdCBJbnRSZWN0Jik7Ci0gICAgdmlydHVhbCB2b2lkIHBhaW50U2Nyb2xsYmFyQmFja2dy
b3VuZChHcmFwaGljc0NvbnRleHQqLCBTY3JvbGxiYXJUaGVtZUNsaWVudCopOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>