<?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>105486</bug_id>
          
          <creation_ts>2012-12-19 17:33:09 -0800</creation_ts>
          <short_desc>Need to re-layout fixed position elements after scale when using settings()-&gt;fixedElementsLayoutRelativeToFrame()</short_desc>
          <delta_ts>2013-02-27 21:07:34 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>110491</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Tien-Ren Chen">trchen</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aelias</cc>
    
    <cc>buildbot</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>skyostil</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>795064</commentid>
    <comment_count>0</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-12-19 17:33:09 -0800</bug_when>
    <thetext>Need to re-layout fixed position elements after scale when using settings()-&gt;fixedElementsLayoutRelativeToFrame()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795071</commentid>
    <comment_count>1</comment_count>
      <attachid>180254</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-12-19 17:42:29 -0800</bug_when>
    <thetext>Created attachment 180254
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795320</commentid>
    <comment_count>2</comment_count>
      <attachid>180254</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-12-20 03:02:52 -0800</bug_when>
    <thetext>Comment on attachment 180254
Patch

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

&gt; Source/WebCore/rendering/RenderView.cpp:1042
&gt; +        RenderBox* r = *it;

Nit: use full word variables.

&gt; Source/WebCore/rendering/RenderView.h:231
&gt; +    void markFixedPositionDescendantsNeedsMovementLayout();

Bikeshed: markFixedPositionDescendantsNeedMovementLayout sounds less awkward to me.

&gt; LayoutTests/fast/repaint/relayout-fixed-position-after-scale.html:32
&gt; +        window.internals.settings.setFixedElementsLayoutRelativeToFrame(true)

Nit: missing semicolon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795321</commentid>
    <comment_count>3</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-12-20 03:06:07 -0800</bug_when>
    <thetext>Oops, hit submit too soon. I think this fixes the problem nicely -- thanks Tien-Ren.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795775</commentid>
    <comment_count>4</comment_count>
      <attachid>180405</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-12-20 14:00:41 -0800</bug_when>
    <thetext>Created attachment 180405
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795777</commentid>
    <comment_count>5</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-12-20 14:01:32 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created an attachment (id=180405) [details]
&gt; Patch

Fixed the nits Sami mentioned. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795808</commentid>
    <comment_count>6</comment_count>
      <attachid>180405</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-12-20 14:32:01 -0800</bug_when>
    <thetext>Comment on attachment 180405
Patch

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

&gt; Source/WebCore/rendering/RenderView.cpp:1045
&gt; +    TrackedRendererListHashSet* positionedDescendants = positionedObjects();
&gt; +    if (!positionedDescendants)
&gt; +        return;
&gt; +    TrackedRendererListHashSet::iterator end = positionedDescendants-&gt;end();
&gt; +    for (TrackedRendererListHashSet::iterator it = positionedDescendants-&gt;begin(); it != end; ++it) {
&gt; +        RenderBox* renderer = *it;
&gt; +        if (renderer-&gt;style()-&gt;position() != FixedPosition)
&gt; +            continue;
&gt; +        renderer-&gt;setNeedsPositionedMovementLayout();

You should use FrameView&apos;s list of fixed objects, not this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795816</commentid>
    <comment_count>7</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-12-20 14:37:34 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 180405 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=180405&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderView.cpp:1045
&gt; &gt; +    TrackedRendererListHashSet* positionedDescendants = positionedObjects();
&gt; &gt; +    if (!positionedDescendants)
&gt; &gt; +        return;
&gt; &gt; +    TrackedRendererListHashSet::iterator end = positionedDescendants-&gt;end();
&gt; &gt; +    for (TrackedRendererListHashSet::iterator it = positionedDescendants-&gt;begin(); it != end; ++it) {
&gt; &gt; +        RenderBox* renderer = *it;
&gt; &gt; +        if (renderer-&gt;style()-&gt;position() != FixedPosition)
&gt; &gt; +            continue;
&gt; &gt; +        renderer-&gt;setNeedsPositionedMovementLayout();
&gt; 
&gt; You should use FrameView&apos;s list of fixed objects, not this one.

Ah, that&apos;s a really good suggestion! I&apos;ll change it.

By the way, I&apos;m thinking to remove the USE(ACCELERATED_COMPOSITING) guard on Frame::deviceOrPageScaleFactorChanged() so the re-layout will be triggered from there instead of Page. Do you think that sounds like a better plan?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795945</commentid>
    <comment_count>8</comment_count>
      <attachid>180440</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-12-20 16:39:41 -0800</bug_when>
    <thetext>Created attachment 180440
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795990</commentid>
    <comment_count>9</comment_count>
      <attachid>180440</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-12-20 17:39:23 -0800</bug_when>
    <thetext>Comment on attachment 180440
Patch

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

&gt; LayoutTests/fast/repaint/relayout-fixed-position-after-scale.html:1
&gt; +&lt;!DOCTYPE html&gt;

The image result has non-mock scrollbars, which will not match most platforms.

Can this be a ref test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796026</commentid>
    <comment_count>10</comment_count>
      <attachid>180454</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-12-20 18:26:24 -0800</bug_when>
    <thetext>Created attachment 180454
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796058</commentid>
    <comment_count>11</comment_count>
      <attachid>180454</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-12-20 19:21:35 -0800</bug_when>
    <thetext>Comment on attachment 180454
Patch

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

&gt; Source/WebCore/ChangeLog:17
&gt; +        (WebCore):

Remove useless lines like this.

&gt; LayoutTests/fast/repaint/relayout-fixed-position-after-scale.html:9
&gt; +::-webkit-scrollbar {
&gt; +    width:0;
&gt; +    height:0;
&gt; +}

This doesn&apos;t work in Mac WK1. body { overflow: hidden; } is a better way to hide scrollbars.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796060</commentid>
    <comment_count>12</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-12-20 19:31:52 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 180454 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=180454&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:17
&gt; &gt; +        (WebCore):
&gt; 
&gt; Remove useless lines like this.

Roger that.

&gt; &gt; LayoutTests/fast/repaint/relayout-fixed-position-after-scale.html:9
&gt; &gt; +::-webkit-scrollbar {
&gt; &gt; +    width:0;
&gt; &gt; +    height:0;
&gt; &gt; +}
&gt; 
&gt; This doesn&apos;t work in Mac WK1. body { overflow: hidden; } is a better way to hide scrollbars.

This doesn&apos;t work with scaled page. I guess the reason is that overflow:hidden only shrink &lt;body&gt; to the layout viewport size.

Let&apos;s just add a Skip in TestExpectations?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796065</commentid>
    <comment_count>13</comment_count>
      <attachid>180462</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2012-12-20 19:38:03 -0800</bug_when>
    <thetext>Created attachment 180462
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799226</commentid>
    <comment_count>14</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-01-02 21:01:00 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; Let&apos;s just add a Skip in TestExpectations?

Better to just list it as an image failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>818399</commentid>
    <comment_count>15</comment_count>
      <attachid>185133</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-01-28 19:21:39 -0800</bug_when>
    <thetext>Created attachment 185133
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>818402</commentid>
    <comment_count>16</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-01-28 19:25:07 -0800</bug_when>
    <thetext>Changes from last patch:
* Changed the hook point from Frame::deviceOrPageScaleFactorChanged() to FrameView::visibleContentsResized(). This makes more sense and make code much cleaner.
* In the layout test, added a trick to force re-layout before changing scale factor again so we can avoid scrollbars.
* Rebased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>818860</commentid>
    <comment_count>17</comment_count>
      <attachid>185133</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2013-01-29 05:35:30 -0800</bug_when>
    <thetext>Comment on attachment 185133
Patch

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

I think the fix itself looks good. Just one tiny comment about the test.

&gt; LayoutTests/fast/repaint/relayout-fixed-position-after-scale.html:36
&gt; +        window.internals.boundingBox(document.getElementsByTagName(&quot;body&quot;)[0]);

Nit: the other tests I&apos;ve seen use something like element.offsetTop to force a layout. I think that would be a little less obscure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819008</commentid>
    <comment_count>18</comment_count>
      <attachid>185133</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-29 09:21:34 -0800</bug_when>
    <thetext>Comment on attachment 185133
Patch

Attachment 185133 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/16200216

New failing tests:
fast/repaint/relayout-fixed-position-after-scale.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819432</commentid>
    <comment_count>19</comment_count>
      <attachid>185330</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-01-29 16:03:09 -0800</bug_when>
    <thetext>Created attachment 185330
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819436</commentid>
    <comment_count>20</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-01-29 16:06:14 -0800</bug_when>
    <thetext>Let&apos;s make the test chromium-specific. The mac build doesn&apos;t seem to update visibleContentRect when setPageScaleFactor is called. They use a significant different approach anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820870</commentid>
    <comment_count>21</comment_count>
      <attachid>185636</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-01-30 17:38:29 -0800</bug_when>
    <thetext>Created attachment 185636
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820871</commentid>
    <comment_count>22</comment_count>
      <attachid>185637</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-01-30 17:39:31 -0800</bug_when>
    <thetext>Created attachment 185637
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820872</commentid>
    <comment_count>23</comment_count>
      <attachid>185637</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-01-30 17:40:33 -0800</bug_when>
    <thetext>Comment on attachment 185637
Patch

Use document.body.offsetTop magic spell as suggested by Sami. I think this patch is ready. PTAL, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>823216</commentid>
    <comment_count>24</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-02-01 13:40:52 -0800</bug_when>
    <thetext>Hello Simon,
Do you have time to take a look? I hope the patch doesn&apos;t look too sketchy to you. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825011</commentid>
    <comment_count>25</comment_count>
      <attachid>186521</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-02-04 18:48:21 -0800</bug_when>
    <thetext>Created attachment 186521
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825013</commentid>
    <comment_count>26</comment_count>
      <attachid>186522</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-02-04 18:53:14 -0800</bug_when>
    <thetext>Created attachment 186522
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825015</commentid>
    <comment_count>27</comment_count>
      <attachid>186522</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-02-04 18:53:40 -0800</bug_when>
    <thetext>Comment on attachment 186522
Patch

Last one was a bad rebase. This one is correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825017</commentid>
    <comment_count>28</comment_count>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2013-02-04 18:55:39 -0800</bug_when>
    <thetext>Looks good to me, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825585</commentid>
    <comment_count>29</comment_count>
      <attachid>186522</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-02-05 10:10:39 -0800</bug_when>
    <thetext>Comment on attachment 186522
Patch

Why is the new test in platform/chromium when the code change is in WebCore?  Is there a reason that this test won&apos;t pass on other platforms?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825668</commentid>
    <comment_count>30</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-02-05 11:33:50 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; (From update of attachment 186522 [details])
&gt; Why is the new test in platform/chromium when the code change is in WebCore?  Is there a reason that this test won&apos;t pass on other platforms?

One reason is because there is no reliable way to completely hide scrollbar on Mac. Setting &lt;body style=&quot;overflow:hidden&quot;&gt; won&apos;t work when a page is scaled, and the Mac doesn&apos;t support -webkit-scrollbar. Being unable to hide scrollbar, the visible content size becomes an odd number (785, 585), and rounding errors come up when page is scaled, making it impossible to write a ref-test that works.

Another reason is that Mac seems to treat visibleContentRect differently. When I ran the test on a Macbook, FrameView::visibleContentsResized() wasn&apos;t called when setPageScaleFactor is called.

I don&apos;t usually make tests platform-specific, but the Mac port simply works too differently in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825704</commentid>
    <comment_count>31</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-02-05 12:29:00 -0800</bug_when>
    <thetext>(In reply to comment #30)
&gt; One reason is because there is no reliable way to completely hide scrollbar on Mac. Setting &lt;body style=&quot;overflow:hidden&quot;&gt; won&apos;t work when a page is scaled, and the Mac doesn&apos;t support -webkit-scrollbar. Being unable to hide scrollbar, the visible content size becomes an odd number (785, 585), and rounding errors come up when page is scaled, making it impossible to write a ref-test that works.

You could try to use overflow:overlay, which should draw scrollbars that don&apos;t take up space.


&gt; Another reason is that Mac seems to treat visibleContentRect differently. When I ran the test on a Macbook, FrameView::visibleContentsResized() wasn&apos;t called when setPageScaleFactor is called.

I don&apos;t know enough about this code or whether this is a bug or not.

&gt; I don&apos;t usually make tests platform-specific, but the Mac port simply works too differently in this case.

Please mention the reasons for a platform specific test in the ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825734</commentid>
    <comment_count>32</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-02-05 12:57:54 -0800</bug_when>
    <thetext>(In reply to comment #31)
&gt; (In reply to comment #30)
&gt; &gt; One reason is because there is no reliable way to completely hide scrollbar on Mac. Setting &lt;body style=&quot;overflow:hidden&quot;&gt; won&apos;t work when a page is scaled, and the Mac doesn&apos;t support -webkit-scrollbar. Being unable to hide scrollbar, the visible content size becomes an odd number (785, 585), and rounding errors come up when page is scaled, making it impossible to write a ref-test that works.
&gt; 
&gt; You could try to use overflow:overlay, which should draw scrollbars that don&apos;t take up space.

Please don&apos;t, we&apos;re going to obsolete that value at some point.

Custom scrollbars work in WK2, so use them if you have to but you&apos;ll have to mark WK1 tests as expected failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825752</commentid>
    <comment_count>33</comment_count>
      <attachid>186688</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-02-05 13:13:01 -0800</bug_when>
    <thetext>Created attachment 186688
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825755</commentid>
    <comment_count>34</comment_count>
      <attachid>186688</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-02-05 13:13:52 -0800</bug_when>
    <thetext>Comment on attachment 186688
Patch

Revised ChangeLog as suggested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832701</commentid>
    <comment_count>35</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-02-13 20:23:49 -0800</bug_when>
    <thetext>Ping. Can I haz a r+ please? :3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832702</commentid>
    <comment_count>36</comment_count>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2013-02-13 20:25:29 -0800</bug_when>
    <thetext>Could you try moving the call into setPageScaleFactor()?  This seems like a more indirect way of achieving the same thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832727</commentid>
    <comment_count>37</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-02-13 22:00:57 -0800</bug_when>
    <thetext>(In reply to comment #36)
&gt; Could you try moving the call into setPageScaleFactor()?  This seems like a more indirect way of achieving the same thing.

I think visibleContentsResized is the right place, since settings()-&gt;fixedElementsLayoutRelativeToFrame() == true means fixed-position elements should stick to the visible content rect. This is the perfect single place to add this check rather than adding it everywhere that can potentially change the visible content size.

The bug title may not accurately describe what this patch does, but it reflects a user-visible bug, and the test reproduces the bug well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833223</commentid>
    <comment_count>38</comment_count>
      <attachid>186688</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-02-14 10:42:57 -0800</bug_when>
    <thetext>Comment on attachment 186688
Patch

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

&gt; Source/WebCore/page/FrameView.cpp:2026
&gt; +    if (fixedElementsLayoutRelativeToFrame())
&gt; +        setViewportConstrainedObjectsNeedLayout();

I don&apos;t think this is the right fix for the problem you are seeing.  visibleContentsResized() is called from ScrollView::updateScrollbars() so that the view can react to the changes in visible content size due to overflow controls being created/destroyed.  In your case, you have overlay scrollbars so the overflow controls do not change the amount of content space or visible content space.  Thus there&apos;s no reason to react to visibleContentsResized since they haven&apos;t actually resized.  I suspect you observe that this patch papers over the bug you have since it&apos;s called frequently and happens to trigger in the case where you actually do need additional layout.

You need to figure out what is actually changing and why that is not triggering the layout you need.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833258</commentid>
    <comment_count>39</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-02-14 11:16:14 -0800</bug_when>
    <thetext>(In reply to comment #38)
&gt; (From update of attachment 186688 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=186688&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/FrameView.cpp:2026
&gt; &gt; +    if (fixedElementsLayoutRelativeToFrame())
&gt; &gt; +        setViewportConstrainedObjectsNeedLayout();
&gt; 
&gt; I don&apos;t think this is the right fix for the problem you are seeing.  visibleContentsResized() is called from ScrollView::updateScrollbars() so that the view can react to the changes in visible content size due to overflow controls being created/destroyed.  In your case, you have overlay scrollbars so the overflow controls do not change the amount of content space or visible content space.  Thus there&apos;s no reason to react to visibleContentsResized since they haven&apos;t actually resized.  I suspect you observe that this patch papers over the bug you have since it&apos;s called frequently and happens to trigger in the case where you actually do need additional layout.
&gt; 
&gt; You need to figure out what is actually changing and why that is not triggering the layout you need.

I consider that as a separate issue. If visibleContentsResized() is not called when it should be called, we should fix that as well, or we should mark it as obsolete if it&apos;s broken beyond fix.

I agree that currently how the event propagates to visibleContentsResized is under the brittle assumption that changing the frame rect always need to recompute the scrollbar and just do it on the way. Actually I think call it in ScrollView::updateScrollbars() isn&apos;t such a wrong way to do it, as non-overlay scrollbars do change visibleContentsRect(false).

It is perfectly correct to react to visibleContentsResized. If they haven&apos;t actually resized, then we don&apos;t need to re-layout fixed position elements either. My point is that if visible content size is not resized when it should, we should fix that in a separate patch.

If you ask my opinion about how to do visible contents size correctly, I would say we should make it a stored value instead of a computed value. I personally hate computed value when you need to get the change notifications. If we make it a stored value, we can emit the notifications in setVisibleContentsSize(). 

Or another way of thinking is that we should avoid to source fixed-position layout from multiple value, but using just one authoritative FrameView::viewportConstrainedVisibleContentRect (make it a stored value). That was what I proposed in the comments of webkit.org/b/108323 .

Either way, it won&apos;t be in the scope of this patch. fixedElementsLayoutRelativeToFrame()==true means use the visibleContentsSize to layout fixed position elements, so we re-layout fixed-position elements when it changes. Simple. I strongly suggest this code should be in, unless we&apos;re going to change the semantics of fixedElementsLayoutRelativeToFrame() in near future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837032</commentid>
    <comment_count>40</comment_count>
      <attachid>189217</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-02-19 18:05:35 -0800</bug_when>
    <thetext>Created attachment 189217
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837037</commentid>
    <comment_count>41</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-02-19 18:14:48 -0800</bug_when>
    <thetext>Changes from last patch:
* Added FrameView::visibleContentScaleFactorDidChange() notification to make sure FrameView::visibleContentsResized() is called during Page::setPageScaleFactor.
* Added guard against unnecessary re-layout

(In reply to comment #38)
&gt; (From update of attachment 186688 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=186688&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/FrameView.cpp:2026
&gt; &gt; +    if (fixedElementsLayoutRelativeToFrame())
&gt; &gt; +        setViewportConstrainedObjectsNeedLayout();
&gt; 
&gt; I don&apos;t think this is the right fix for the problem you are seeing.  visibleContentsResized() is called from ScrollView::updateScrollbars() so that the view can react to the changes in visible content size due to overflow controls being created/destroyed.  In your case, you have overlay scrollbars so the overflow controls do not change the amount of content space or visible content space.  Thus there&apos;s no reason to react to visibleContentsResized since they haven&apos;t actually resized.  I suspect you observe that this patch papers over the bug you have since it&apos;s called frequently and happens to trigger in the case where you actually do need additional layout.
&gt; 
&gt; You need to figure out what is actually changing and why that is not triggering the layout you need.

FrameView::visibleContentsResized() is currently called from this path as a side effect:
Page::setPageScaleFactor
  FrameView::setScrollPosition
    ScrollView::setScrollPosition
      ScrollView::updateScrollbars
        FrameView::visibleContentsResized

I agree although it works in current shape it is not necessarily correct. Adding another notification for visible content scale change would make the code more robust.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837038</commentid>
    <comment_count>42</comment_count>
      <attachid>189217</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-02-19 18:14:51 -0800</bug_when>
    <thetext>Comment on attachment 189217
Patch

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

&gt; Source/WebCore/page/Page.cpp:751
&gt; +    view-&gt;visibleContentScaleFactorDidChange();

this line will only be reached if the page scale actually changed (see line 726), so why do another round of checks on the visible viewport size? when will that stay the same?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837042</commentid>
    <comment_count>43</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-02-19 18:17:05 -0800</bug_when>
    <thetext>(In reply to comment #42)
&gt; (From update of attachment 189217 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=189217&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/Page.cpp:751
&gt; &gt; +    view-&gt;visibleContentScaleFactorDidChange();
&gt; 
&gt; this line will only be reached if the page scale actually changed (see line 726), so why do another round of checks on the visible viewport size? when will that stay the same?

FrameView::visibleContentsResized() gets called a lot. Scrolling without changing scrollbar visibility? Still get called. Changing overlay scrollbar visibility? Still get called.

I would say we&apos;d better apply the same guard on the whole function, but I don&apos;t know what are the possible side effects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837073</commentid>
    <comment_count>44</comment_count>
      <attachid>189217</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-19 19:13:06 -0800</bug_when>
    <thetext>Comment on attachment 189217
Patch

Attachment 189217 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16640112

New failing tests:
platform/chromium/fast/repaint/relayout-fixed-position-after-scale.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837081</commentid>
    <comment_count>45</comment_count>
      <attachid>189224</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-02-19 19:59:59 -0800</bug_when>
    <thetext>Created attachment 189224
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837085</commentid>
    <comment_count>46</comment_count>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-02-19 20:03:38 -0800</bug_when>
    <thetext>Changes from last patch:
* Corrects old pinch mode (applyPageScaleFactorInCompositor() == false) compatibility for the viewport-constrained visible content size guard.

(In reply to comment #44)
&gt; (From update of attachment 189217 [details])
&gt; Attachment 189217 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/16640112
&gt; 
&gt; New failing tests:
&gt; platform/chromium/fast/repaint/relayout-fixed-position-after-scale.html

The newly added viewport-constrained visible content size guard didn&apos;t consider frame scale factor, thus the test failed to detect the visible content size change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837242</commentid>
    <comment_count>47</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-02-20 00:43:18 -0800</bug_when>
    <thetext>(In reply to comment #42)
&gt; (From update of attachment 189217 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=189217&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/Page.cpp:751
&gt; &gt; +    view-&gt;visibleContentScaleFactorDidChange();
&gt; 
&gt; this line will only be reached if the page scale actually changed (see line 726), so why do another round of checks on the visible viewport size? when will that stay the same?

Still waiting for an answer to ^^</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837243</commentid>
    <comment_count>48</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-02-20 00:44:34 -0800</bug_when>
    <thetext>(In reply to comment #43)
&gt; (In reply to comment #42)
&gt; &gt; (From update of attachment 189217 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=189217&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/page/Page.cpp:751
&gt; &gt; &gt; +    view-&gt;visibleContentScaleFactorDidChange();
&gt; &gt; 
&gt; &gt; this line will only be reached if the page scale actually changed (see line 726), so why do another round of checks on the visible viewport size? when will that stay the same?
&gt; 
&gt; FrameView::visibleContentsResized() gets called a lot. Scrolling without changing scrollbar visibility? Still get called. Changing overlay scrollbar visibility? Still get called.
&gt; 
&gt; I would say we&apos;d better apply the same guard on the whole function, but I don&apos;t know what are the possible side effects.

I don&apos;t really understand this comment.  It seems to be a general statement and not an answer to my question re page scale changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837256</commentid>
    <comment_count>49</comment_count>
      <attachid>189217</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-02-20 01:30:17 -0800</bug_when>
    <thetext>Comment on attachment 189217
Patch

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

&gt;&gt;&gt;&gt;&gt; Source/WebCore/page/Page.cpp:751
&gt;&gt;&gt;&gt;&gt; +    view-&gt;visibleContentScaleFactorDidChange();
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; this line will only be reached if the page scale actually changed (see line 726), so why do another round of checks on the visible viewport size? when will that stay the same?
&gt;&gt;&gt; 
&gt;&gt;&gt; FrameView::visibleContentsResized() gets called a lot. Scrolling without changing scrollbar visibility? Still get called. Changing overlay scrollbar visibility? Still get called.
&gt;&gt;&gt; 
&gt;&gt;&gt; I would say we&apos;d better apply the same guard on the whole function, but I don&apos;t know what are the possible side effects.
&gt;&gt; 
&gt;&gt; Still waiting for an answer to ^^
&gt; 
&gt; I don&apos;t really understand this comment.  It seems to be a general statement and not an answer to my question re page scale changes.

For example, when you scroll a page, although visible content size stays the same, but FrameView::visibleContentsResized() will still get called by ScrollView::updateScrollbars().
Check on the visible viewport size is not really a necessity, but an optimization. I can remove that if you want.

If your question is why not just call setViewportConstrainedObjectsNeedLayout() directly, I&apos;d say it is better to avoid code duplication. If fixed-position elements need layout if and only if visible content size changes, then the only place we should do that is in FrameView::visibleContentsResized().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838017</commentid>
    <comment_count>50</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-02-20 17:58:43 -0800</bug_when>
    <thetext>(In reply to comment #49)
&gt; (From update of attachment 189217 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=189217&amp;action=review
&gt; 
&gt; &gt;&gt;&gt;&gt;&gt; Source/WebCore/page/Page.cpp:751
&gt; &gt;&gt;&gt;&gt;&gt; +    view-&gt;visibleContentScaleFactorDidChange();
&gt; &gt;&gt;&gt;&gt; 
&gt; &gt;&gt;&gt;&gt; this line will only be reached if the page scale actually changed (see line 726), so why do another round of checks on the visible viewport size? when will that stay the same?
&gt; &gt;&gt;&gt; 
&gt; &gt;&gt;&gt; FrameView::visibleContentsResized() gets called a lot. Scrolling without changing scrollbar visibility? Still get called. Changing overlay scrollbar visibility? Still get called.
&gt; &gt;&gt;&gt; 
&gt; &gt;&gt;&gt; I would say we&apos;d better apply the same guard on the whole function, but I don&apos;t know what are the possible side effects.
&gt; &gt;&gt; 
&gt; &gt;&gt; Still waiting for an answer to ^^
&gt; &gt; 
&gt; &gt; I don&apos;t really understand this comment.  It seems to be a general statement and not an answer to my question re page scale changes.
&gt; 
&gt; For example, when you scroll a page, although visible content size stays the same, but FrameView::visibleContentsResized() will still get called by ScrollView::updateScrollbars().
&gt; Check on the visible viewport size is not really a necessity, but an optimization. I can remove that if you want.

Please do

&gt; 
&gt; If your question is why not just call setViewportConstrainedObjectsNeedLayout() directly, I&apos;d say it is better to avoid code duplication. If fixed-position elements need layout if and only if visible content size changes, then the only place we should do that is in FrameView::visibleContentsResized().

No, I mean just calling visibleContentsResized() when the page scale factor changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838020</commentid>
    <comment_count>51</comment_count>
      <attachid>189224</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-02-20 17:59:55 -0800</bug_when>
    <thetext>Comment on attachment 189224
Patch

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

&gt; Source/WebCore/page/FrameView.cpp:2040
&gt; +    LayoutSize viewportConstrainedVisibleContentSize = viewportConstrainedVisibleContentRect().size();
&gt; +    viewportConstrainedVisibleContentSize.scale(1 / frame()-&gt;frameScaleFactor());
&gt; +    if (fixedElementsLayoutRelativeToFrame() &amp;&amp; m_lastSeenViewportConstrainedVisibleContentsSize != viewportConstrainedVisibleContentSize)

nuke the guards

&gt; Source/WebCore/page/FrameView.cpp:2042
&gt; +    m_lastSeenViewportConstrainedVisibleContentsSize = viewportConstrainedVisibleContentSize;

don&apos;t need this

&gt; Source/WebCore/page/FrameView.cpp:2882
&gt; +void FrameView::visibleContentScaleFactorDidChange()
&gt; +{
&gt; +    if (!m_frame || !m_frame-&gt;page())
&gt; +        return;
&gt; +
&gt; +    if (!m_frame-&gt;settings()-&gt;applyPageScaleFactorInCompositor() || m_frame != m_frame-&gt;page()-&gt;mainFrame())
&gt; +        return;
&gt; +
&gt; +    visibleContentsResized();

nuke this

&gt; Source/WebCore/page/FrameView.h:186
&gt; +    void visibleContentScaleFactorDidChange();

don&apos;t need this

&gt; Source/WebCore/page/FrameView.h:592
&gt; +    // For fixedElementsLayoutRelativeToFrame() == true.
&gt; +    // We don&apos;t want unnecessary layout when visible contents size didn&apos;t actually change.
&gt; +    LayoutSize m_lastSeenViewportConstrainedVisibleContentsSize;

don&apos;t need this

&gt; Source/WebCore/page/Page.cpp:751
&gt; +    view-&gt;visibleContentScaleFactorDidChange();

just view-&gt;visibleContentsResized()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838168</commentid>
    <comment_count>52</comment_count>
      <attachid>189463</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-02-20 23:24:11 -0800</bug_when>
    <thetext>Created attachment 189463
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838512</commentid>
    <comment_count>53</comment_count>
      <attachid>189463</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-21 09:33:18 -0800</bug_when>
    <thetext>Comment on attachment 189463
Patch

Clearing flags on attachment: 189463

Committed r143616: &lt;http://trac.webkit.org/changeset/143616&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838513</commentid>
    <comment_count>54</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-21 09:33:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838573</commentid>
    <comment_count>55</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-21 10:46:15 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 110491</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839065</commentid>
    <comment_count>56</comment_count>
      <attachid>189646</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-02-21 17:36:41 -0800</bug_when>
    <thetext>Created attachment 189646
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839070</commentid>
    <comment_count>57</comment_count>
      <attachid>189646</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-02-21 17:38:08 -0800</bug_when>
    <thetext>Comment on attachment 189646
Patch

Changes from last patch:
* Adding back the fixedElementsLayoutRelativeToFrame() guard. Unnecessary setViewportConstrainedObjectsNeedLayout() causes weird side-effects on chromium-mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>839083</commentid>
    <comment_count>58</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-02-21 17:45:47 -0800</bug_when>
    <thetext>In https://bugs.webkit.org/show_bug.cgi?id=110491#c5 you said:

&quot;Very weird. In this particular test, the frame reserved space for a vertical scrollbar (resizing the RenderView to 785x600) when it doesn&apos;t need to. This leaves a gray background (which doesn&apos;t look like scrollbar) on the right hand side of the screen, with a shadow near document boundary.

I can avoid triggering this in my patch, but it feels like a bug to me.&quot;

I agree that this is probably and bug and we should find it and fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843633</commentid>
    <comment_count>59</comment_count>
      <attachid>190632</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-02-27 18:03:56 -0800</bug_when>
    <thetext>Created attachment 190632
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843634</commentid>
    <comment_count>60</comment_count>
      <attachid>190632</attachid>
    <who name="Tien-Ren Chen">trchen</who>
    <bug_when>2013-02-27 18:09:02 -0800</bug_when>
    <thetext>Comment on attachment 190632
Patch

Changes from last patch:
* Revert the change in FrameView::visibleContentsResized

It turns out we can&apos;t use FrameView::visibleContentsResized after all. This function will be reached during FrameView::layout from this calling chain:

FrameView::layout
  ScrollView::setScrollbarMode
    ScrollView::updateScrollbars
      FrameView::visibleContentsResized

And this breaks the render tree invariant that when FrameView::layout() ends, no RenderObjects within that frame should need layout. The chromium-mac svg/foreignObject/fixed-position.svg failure is another side-effect of the change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843685</commentid>
    <comment_count>61</comment_count>
      <attachid>190632</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-27 21:07:26 -0800</bug_when>
    <thetext>Comment on attachment 190632
Patch

Clearing flags on attachment: 190632

Committed r144260: &lt;http://trac.webkit.org/changeset/144260&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843686</commentid>
    <comment_count>62</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-27 21:07:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180254</attachid>
            <date>2012-12-19 17:42:29 -0800</date>
            <delta_ts>2012-12-20 14:00:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105486-20121219173945.patch</filename>
            <type>text/plain</type>
            <size>9915</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGIyNmZjNzdmNjY4N2Nk
NWIxZWRhOThjMzI1NDZiYjMwZmUxYzY5Yy4uOTExN2UxZWEzNzY0ZDgwNDgzZmM4NDA1MDllMWQx
ODZkMDRkOWE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEyLTE5ICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIHRvIHJlLWxh
eW91dCBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyBhZnRlciBzY2FsZSB3aGVuIHVzaW5nIHNldHRp
bmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDg2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gc2V0dGluZ3MoKS0+Zml4ZWRF
bGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpIG1vZGUgZml4ZWQgcG9zaXRpb24KKyAgICAg
ICAgZWxlbWVudHMgYXJlIGxheW91dCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB2aXNpYmxlIHZp
ZXdwb3J0LCB3aGljaCBjYW4KKyAgICAgICAgYmUgZGlmZmVyZW50IGZyb20gdGhlIGxheW91dCB2
aWV3cG9ydCB3aGVuIHVzaW5nIGZpeGVkLWxheW91dCBtb2RlLgorICAgICAgICBXZSBuZWVkIHRv
IG5vdGlmeSB0aGUgY2hhbmdlIG9mIHZpc2libGUgdmlld3BvcnQgd2hlbiBpdCBpcyBzY2FsZWQu
CisKKyAgICAgICAgVGVzdDogZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFm
dGVyLXNjYWxlLmh0bWwKKworICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQYWdlOjpzZXRQYWdlU2NhbGVGYWN0b3IpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6Om1hcmtGaXhlZFBvc2l0
aW9uRGVzY2VuZGFudHNOZWVkc01vdmVtZW50TGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3Lmg6CisgICAgICAgIChSZW5kZXJWaWV3KToK
KwogMjAxMi0xMi0xOCAgQ2hhbmdTZW9rIE9oICA8c2hpdmFtaWRvd0BnbWFpbC5jb20+CiAKICAg
ICAgICAgW0dUS11bQUNdIEFzc2VydGlvbiBmYWlsZWQgd2hpbGUgZGVzdHJveWluZyBHcmFwaGlj
c0xheWVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBlYTA4ZGU2ZDJmYzAxYWQyODNlZmMxZmQwM2Fh
ZDc0NjkzYjZhOWE2Li5mM2RkNGQzNjg5MTRjMmZhMzZhNzI2NjgyMzc1NzQ2MzhjMzI1MTUzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTY5MSw2ICs2OTEsOSBAQCB2b2lkIFBhZ2U6OnNldFBhZ2VT
Y2FsZUZhY3RvcihmbG9hdCBzY2FsZSwgY29uc3QgSW50UG9pbnQmIG9yaWdpbikKIAogICAgIGRv
Y3VtZW50LT5yZWNhbGNTdHlsZShOb2RlOjpGb3JjZSk7CiAKKyAgICBpZiAodmlldy0+Zml4ZWRF
bGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpICYmIGRvY3VtZW50LT5yZW5kZXJWaWV3KCkp
CisgICAgICAgIGRvY3VtZW50LT5yZW5kZXJWaWV3KCktPm1hcmtGaXhlZFBvc2l0aW9uRGVzY2Vu
ZGFudHNOZWVkc01vdmVtZW50TGF5b3V0KCk7CisKICAgICAvLyBUcmFuc2Zvcm0gY2hhbmdlIG9u
IFJlbmRlclZpZXcgZG9lc24ndCB0cmlnZ2VyIHJlcGFpbnQgb24gbm9uLWNvbXBvc2l0ZWQgY29u
dGVudHMuCiAgICAgbWFpbkZyYW1lKCktPnZpZXcoKS0+aW52YWxpZGF0ZVJlY3QoSW50UmVjdChM
YXlvdXRSZWN0OjppbmZpbml0ZVJlY3QoKSkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVmlldy5jcHAKaW5kZXggMmM5NmMxYjk4OWM3MTEyODZiNTE4NzlmZTBkNTNhMzJmMGI3MTQ2
MC4uMTg1NTIwNDY1NDRlZGQxYjkzYzhjNjZkMzYxYWNjNGVhZmJhYmY0MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcApAQCAtMTAzMiw0ICsxMDMyLDE4IEBAIHZvaWQg
UmVuZGVyVmlldzo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2Jq
ZWN0SW5mbykgY29uc3QKICAgICBpbmZvLmFkZFdlYWtQb2ludGVyKG1fcmVuZGVyUXVvdGVIZWFk
KTsKIH0KIAordm9pZCBSZW5kZXJWaWV3OjptYXJrRml4ZWRQb3NpdGlvbkRlc2NlbmRhbnRzTmVl
ZHNNb3ZlbWVudExheW91dCgpCit7CisgICAgVHJhY2tlZFJlbmRlcmVyTGlzdEhhc2hTZXQqIHBv
c2l0aW9uZWREZXNjZW5kYW50cyA9IHBvc2l0aW9uZWRPYmplY3RzKCk7CisgICAgaWYgKCFwb3Np
dGlvbmVkRGVzY2VuZGFudHMpCisgICAgICAgIHJldHVybjsKKyAgICBUcmFja2VkUmVuZGVyZXJM
aXN0SGFzaFNldDo6aXRlcmF0b3IgZW5kID0gcG9zaXRpb25lZERlc2NlbmRhbnRzLT5lbmQoKTsK
KyAgICBmb3IgKFRyYWNrZWRSZW5kZXJlckxpc3RIYXNoU2V0OjppdGVyYXRvciBpdCA9IHBvc2l0
aW9uZWREZXNjZW5kYW50cy0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CisgICAgICAgIFJl
bmRlckJveCogciA9ICppdDsKKyAgICAgICAgaWYgKHItPnN0eWxlKCktPnBvc2l0aW9uKCkgIT0g
Rml4ZWRQb3NpdGlvbikKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICByLT5zZXROZWVk
c1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dCgpOworICAgIH0KK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKaW5kZXggMGQ0MDA5MmE4
YzljYWY5NzY2MGJmZTY0NjhmYzQ4ODdmNmU3MDNhYy4uOWJiYTBkOGEyNTEzZGUwMzk0NTgxZjdh
MmU2ZGI1NjhhNDQ1ZTM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCkBA
IC0yMjgsNiArMjI4LDggQEAgcHVibGljOgogICAgIHZvaWQgcmVtb3ZlUmVuZGVyQ291bnRlcigp
IHsgQVNTRVJUKG1fcmVuZGVyQ291bnRlckNvdW50ID4gMCk7IG1fcmVuZGVyQ291bnRlckNvdW50
LS07IH0KICAgICBib29sIGhhc1JlbmRlckNvdW50ZXJzKCkgeyByZXR1cm4gbV9yZW5kZXJDb3Vu
dGVyQ291bnQ7IH0KIAorICAgIHZvaWQgbWFya0ZpeGVkUG9zaXRpb25EZXNjZW5kYW50c05lZWRz
TW92ZW1lbnRMYXlvdXQoKTsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBtYXBMb2Nh
bFRvQ29udGFpbmVyKGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWlu
ZXIsIFRyYW5zZm9ybVN0YXRlJiwgTWFwQ29vcmRpbmF0ZXNGbGFncyA9IEFwcGx5Q29udGFpbmVy
RmxpcCwgYm9vbCogd2FzRml4ZWQgPSAwKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIGNv
bnN0IFJlbmRlck9iamVjdCogcHVzaE1hcHBpbmdUb0NvbnRhaW5lcihjb25zdCBSZW5kZXJMYXll
ck1vZGVsT2JqZWN0KiBhbmNlc3RvclRvU3RvcEF0LCBSZW5kZXJHZW9tZXRyeU1hcCYpIGNvbnN0
IE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGRiMTBmNzhmMjk3NzQ3MzBhNGY2YmExNjczNjJlMDc0MWQ4MjNm
NDcuLmYwNzNjODcwMDc4ODBjNzE5MGE1MDUzZTU2ZDIxZTUyOWFkZDc5YTAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxMi0xMi0xOSAgVGllbi1SZW4gQ2hlbiAgPHRyY2hlbkBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgTmVlZCB0byByZS1sYXlvdXQgZml4ZWQgcG9zaXRpb24gZWxlbWVudHMg
YWZ0ZXIgc2NhbGUgd2hlbiB1c2luZyBzZXR0aW5ncygpLT5maXhlZEVsZW1lbnRzTGF5b3V0UmVs
YXRpdmVUb0ZyYW1lKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwNTQ4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEluIHNldHRpbmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUo
KSBtb2RlIGZpeGVkIHBvc2l0aW9uCisgICAgICAgIGVsZW1lbnRzIGFyZSBsYXlvdXQgcmVsYXRp
dmUgdG8gdGhlIGN1cnJlbnQgdmlzaWJsZSB2aWV3cG9ydCwgd2hpY2ggY2FuCisgICAgICAgIGJl
IGRpZmZlcmVudCBmcm9tIHRoZSBsYXlvdXQgdmlld3BvcnQgd2hlbiB1c2luZyBmaXhlZC1sYXlv
dXQgbW9kZS4KKyAgICAgICAgV2UgbmVlZCB0byBub3RpZnkgdGhlIGNoYW5nZSBvZiB2aXNpYmxl
IHZpZXdwb3J0IHdoZW4gaXQgaXMgc2NhbGVkLgorCisgICAgICAgICogZmFzdC9yZXBhaW50L3Jl
bGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVjdGVkLnBuZzogQWRkZWQuCisg
ICAgICAgICogZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxl
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZp
eGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLmh0bWw6IEFkZGVkLgorCiAyMDEyLTEyLTE4ICBGaWxp
cCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgUHJveGllcyBzaG91bGQgc2V0
IEludGVyY2VwdHNHZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4RXZlbldoZW5MZW5ndGhJc05vdFpl
cm8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1w
b3NpdGlvbi1hZnRlci1zY2FsZS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFp
bnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUtZXhwZWN0ZWQucG5nCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjg0MmVjYjVlOGNjMDAzOWI4YjE4NGY4NDkyYWQ0MTJlZTNhZWM1OTgKR0lUIGJpbmFy
eSBwYXRjaApsaXRlcmFsIDM0NjQKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYyYT5p
MCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1RuMXkpCno8UnJzWEJaRmlVT1k8Yi1sdkVRVjNyaDxs
M25QPGMpOHRmQkxuREBxdH04JnBxJiFfNUxuYExIejNiP3diWFRoMwp6O2lWMDEqQWohUTNsNXgt
LUxVNXRxY1BpRld9KWozP2AkbDg7Q3NBNzxIaFlPYFpuaHx4fHszZiZmODxqekdDK0QKej5DK2gq
OGtCUmstKEozYXgkfTl3PjhHenxuZXJUZClUN01FQEYoZkEkPWQ2JGxkcyptYWdkNE8kRUM4fXdS
aClRCnpyOUZNU2U7eW1kMUUhaUhxYUZLJDUqUWhkdSF1MUBfeThGLW1yWj0tPEhSRXY4MTg/SjNZ
UnlWYzdUYiY7Xnlzagp6eEFKdXdTczRtdXthc1g1ZXBJfWRpREF5Tyk5YTxUSG5URGEybT0peDB3
bzFMJWpxeVFFU0M5b1pGTWFaSF5UIUIKemV0IVBuO2A4VXZ6YVJWYV5ZZWFYQ3goVUBLK2AlbmZ2
UlpDKDU/SVE9PGJIcSZ2c05pSGFLVT8jODlBQ3d0O35tCnozRnM7WHdWfWMyLXBTNjthQylQM1Mj
a2V8PzRIOUctI1B3SWtSPkpIYzgybVg5NWB0PGB8TkdgX3dWMXx8RUJAOwp6eDhKdTlBM3BxZ0Bi
aFFvfDQ4PjFWNjBnS3FmV2lwZ0BadT1MPT1SOUxkb3gwaFg4e0RoPExDRG1NWS1NVitiKEIKej4/
PVE3Xmp3dTtVPVRtZDJUaiRlJlZKKVFVeTA/eF5SbkdMKWgodTliVShqU1lDdXhRd2kocTczPVFg
YUh7WD1tCnozQ2U+cVB2NTxKSHpUI2J6clQtejVuRSFsYkxDKXxTdCMqYnVKSnokRENXU0s0eGFt
SCFxfEI5NGx+Mj9UV19EdQp6ZGt9TjFARXp5NSpTRyVkRSNRNUZUeDZnSUV+cFMwe3Z1Kzx7MHVW
TEdTQkJSRyZ9fkN0bj9fPD11bURfLTNyfWoKemF0c2FMK21NUX1sJWJZKGZLbU5uX001aTVjYTtB
fkwyOHBUJEZQP3hCT35kZilDb0M7LXgoTlVIaH5IeSM8VD0+CnpRdFFgZWFWXnVjJjdjMz5Vell3
U2RhPzllI3QtdHpCcFg3bDhYWl8zSHs0SD1Ja3daPzskWXI4TXVyRGpId1Fqdgp6MTJhJVZlSlpH
K1ZPVGQ2K3lEUik5ZEZCdXtSe05geSFrZXdHezkoNTE8O3xFcH0+bWhHcSU3NElJRDBASFBmPisK
ekB7PG08RWBJcCY8SHIrSSFIdzZ+VXdfUj15PS1FcyNEWlM5bzl8PT53dGs7SU9aKSVtXnkkPDBr
QW9YY3BTTFp3Cnorb0o/LVZ7S2RVdD1iI1pscz12dntgVUcrMSkkKSp3fSpGMGZpakxDTklaOUVq
MnlWdFU2Wj50JUo9ZUByPCpjbwp6Z3t7N05jSHc0YzI4TWUjXlMxbEBgP3RARil0a1FoWUwtT1hm
QSh3N1MySHJLeUw+Oyo+U1U1Y1RqczI1dWZJPEIKelVZPVExUVNzd2sjKHxmPkhzME80Y2tjdVBe
V3BMMSRDWlUmJXQrMEBvNDVVVGE2Ql9aZmh8eVIqPjJtSHNAd2g4Cno3I1p4IXYtRDtFaCYoaVdL
YmY2amhsPjJZcWQlcVhfO2dCMzhHKGlAV00/Pl89JFR3QTViPXRPVk1tJk17K2pRTgp6T1Y9P2wp
Wkt7YUYxS0hRe2s2Wjs+el9ZPXNATH16fE5pfWQ+d2dBQEE0bUIyY204Y3djRGpFSDd6dnhfLSsl
dD4KenZIOHlJSFFXWERfNE98cDg0NWcjIzFBJmRVdFh9MHAmPmk/PyY2PGlKN2QpTGIxKnl6bnRS
SzhgfDdLdylZJXlzCnpfK35EOWRGOGs1e1hLY0R4IWE/XnBKOE9FTlolUFZGRG1ANyE1e3VmQ3E3
TlN4bl5HLXV4cktPPkZWZFEmTUJiQApFMEg7PlRWRV9PQwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAx
CgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBv
c2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWlu
dC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOGZmMjc3ODc3OGFlNWNjNzNlY2QzNzk2M2QyN2IxOTdlYzI4OTYzNgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlv
bi1hZnRlci1zY2FsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMSBAQAorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSAxMDA4eDEwMTYKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUKK2xh
eWVyIGF0ICgwLDApIHNpemUgNzg1eDEwMTYKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgNzg1eDEwMTYKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDEwMDB4
MTAwMAorbGF5ZXIgYXQgKDEwLDIwKSBzaXplIDUweDUwCisgIFJlbmRlckJsb2NrIChwb3NpdGlv
bmVkKSB7RElWfSBhdCAoMTAsMjApIHNpemUgNTB4NTAgW2JnY29sb3I9I0NDRkZDQ10KK2xheWVy
IGF0ICgzMTMsNDApIHNpemUgNTB4NTAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9
IGF0ICgzMTIsNDApIHNpemUgNTF4NTAgW2JnY29sb3I9I0NDRkZDQ10KK2xheWVyIGF0ICg1MCwx
ODMpIHNpemUgNTB4NTAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg1MCwx
ODIpIHNpemUgNTB4NTEgW2JnY29sb3I9I0NDRkZDQ10KK2xheWVyIGF0ICgyNzMsMTYzKSBzaXpl
IDUweDUwCisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjcyLDE2Mikgc2l6
ZSA1MXg1MSBbYmdjb2xvcj0jQ0NGRkNDXQorbGF5ZXIgYXQgKDE1NywxMDIpIHNpemUgMzl4MzAK
KyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgxNTcsMTAyKSBzaXplIDQweDMw
IFtiZ2NvbG9yPSNDQ0NDRkZdCitsYXllciBhdCAoMjM2LDczKSBzaXplIDM5eDI5CisgIFJlbmRl
ckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjM1LDczKSBzaXplIDQweDMwIFtiZ2NvbG9y
PSNDQ0NDRkZdCitsYXllciBhdCAoNzksMjE5KSBzaXplIDM5eDMwCisgIFJlbmRlckJsb2NrIChw
b3NpdGlvbmVkKSB7RElWfSBhdCAoNzgsMjE5KSBzaXplIDQweDMwIFtiZ2NvbG9yPSNDQ0NDRkZd
CitsYXllciBhdCAoMzE0LDI0OSkgc2l6ZSAzOXgyOQorICBSZW5kZXJCbG9jayAocG9zaXRpb25l
ZCkge0RJVn0gYXQgKDMxNCwyNDgpIHNpemUgNDB4MzAgW2JnY29sb3I9I0NDQ0NGRl0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1h
ZnRlci1zY2FsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVk
LXBvc2l0aW9uLWFmdGVyLXNjYWxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDkwYTYwZWNhYjFkZmUxYmJi
ZjRiNDZmY2IxOTM4NjJkYTg2Y2Q0YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS5odG1sCkBAIC0w
LDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5UaGlz
IHRlc3QgaXMgc3VjY2Vzc2Z1bCBpZiBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyByZS1sYXlvdXQg
Y29ycmVjdGx5IG9uIHBhZ2Ugc2NhbGUgY2hhbmdlczwvdGl0bGU+Cis8c3R5bGU+CisuZml4ZWRf
c2l6ZSB7CisgICAgcG9zaXRpb246Zml4ZWQ7CisgICAgYmFja2dyb3VuZC1jb2xvcjojY2NmZmNj
OworICAgIHdpZHRoOjUwcHg7CisgICAgaGVpZ2h0OjUwcHg7Cit9CisucGVyY2VudGFnZV9zaXpl
IHsKKyAgICBwb3NpdGlvbjpmaXhlZDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiNjY2NjZmY7Cisg
ICAgd2lkdGg6MTAlOworICAgIGhlaWdodDoxMCU7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCk7IiBzdHlsZT0id2lkdGg6MTAwMHB4O2hlaWdodDoxMDAwcHg7
Ij4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJsZWZ0OjEwcHg7dG9wOjIwcHgiPjwv
ZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9InJpZ2h0OjMwcHg7dG9wOjQwcHgi
PjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9ImxlZnQ6NTBweDtib3R0b206
NjBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0icmlnaHQ6NzBweDti
b3R0b206ODBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxlPSJs
ZWZ0OjQwJTt0b3A6MzUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5
bGU9InJpZ2h0OjMwJTt0b3A6MjUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6
ZSIgc3R5bGU9ImxlZnQ6MjAlO2JvdHRvbToxNSUiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVyY2Vu
dGFnZV9zaXplIiBzdHlsZT0icmlnaHQ6MTAlO2JvdHRvbTo1JSI+PC9kaXY+Cis8c2NyaXB0Pgor
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93LmludGVybmFscykgeworICAgICAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2
ZVRvRnJhbWUodHJ1ZSkKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXRQYWdlU2NhbGVGYWN0
b3IoMiwgMCwgMCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180405</attachid>
            <date>2012-12-20 14:00:41 -0800</date>
            <delta_ts>2012-12-20 16:39:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105486-20121220135757.patch</filename>
            <type>text/plain</type>
            <size>9934</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGIyNmZjNzdmNjY4N2Nk
NWIxZWRhOThjMzI1NDZiYjMwZmUxYzY5Yy4uOTExN2UxZWEzNzY0ZDgwNDgzZmM4NDA1MDllMWQx
ODZkMDRkOWE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEyLTE5ICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIHRvIHJlLWxh
eW91dCBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyBhZnRlciBzY2FsZSB3aGVuIHVzaW5nIHNldHRp
bmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDg2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gc2V0dGluZ3MoKS0+Zml4ZWRF
bGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpIG1vZGUgZml4ZWQgcG9zaXRpb24KKyAgICAg
ICAgZWxlbWVudHMgYXJlIGxheW91dCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB2aXNpYmxlIHZp
ZXdwb3J0LCB3aGljaCBjYW4KKyAgICAgICAgYmUgZGlmZmVyZW50IGZyb20gdGhlIGxheW91dCB2
aWV3cG9ydCB3aGVuIHVzaW5nIGZpeGVkLWxheW91dCBtb2RlLgorICAgICAgICBXZSBuZWVkIHRv
IG5vdGlmeSB0aGUgY2hhbmdlIG9mIHZpc2libGUgdmlld3BvcnQgd2hlbiBpdCBpcyBzY2FsZWQu
CisKKyAgICAgICAgVGVzdDogZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFm
dGVyLXNjYWxlLmh0bWwKKworICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQYWdlOjpzZXRQYWdlU2NhbGVGYWN0b3IpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6Om1hcmtGaXhlZFBvc2l0
aW9uRGVzY2VuZGFudHNOZWVkc01vdmVtZW50TGF5b3V0KToKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3Lmg6CisgICAgICAgIChSZW5kZXJWaWV3KToK
KwogMjAxMi0xMi0xOCAgQ2hhbmdTZW9rIE9oICA8c2hpdmFtaWRvd0BnbWFpbC5jb20+CiAKICAg
ICAgICAgW0dUS11bQUNdIEFzc2VydGlvbiBmYWlsZWQgd2hpbGUgZGVzdHJveWluZyBHcmFwaGlj
c0xheWVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBlYTA4ZGU2ZDJmYzAxYWQyODNlZmMxZmQwM2Fh
ZDc0NjkzYjZhOWE2Li45NDBhMGM2NDExMzk5ODA5NmE0ZjA4Yjk1NjhjNTNhNjU5N2ViMmViIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTY5MSw2ICs2OTEsOSBAQCB2b2lkIFBhZ2U6OnNldFBhZ2VT
Y2FsZUZhY3RvcihmbG9hdCBzY2FsZSwgY29uc3QgSW50UG9pbnQmIG9yaWdpbikKIAogICAgIGRv
Y3VtZW50LT5yZWNhbGNTdHlsZShOb2RlOjpGb3JjZSk7CiAKKyAgICBpZiAodmlldy0+Zml4ZWRF
bGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpICYmIGRvY3VtZW50LT5yZW5kZXJWaWV3KCkp
CisgICAgICAgIGRvY3VtZW50LT5yZW5kZXJWaWV3KCktPm1hcmtGaXhlZFBvc2l0aW9uRGVzY2Vu
ZGFudHNOZWVkTW92ZW1lbnRMYXlvdXQoKTsKKwogICAgIC8vIFRyYW5zZm9ybSBjaGFuZ2Ugb24g
UmVuZGVyVmlldyBkb2Vzbid0IHRyaWdnZXIgcmVwYWludCBvbiBub24tY29tcG9zaXRlZCBjb250
ZW50cy4KICAgICBtYWluRnJhbWUoKS0+dmlldygpLT5pbnZhbGlkYXRlUmVjdChJbnRSZWN0KExh
eW91dFJlY3Q6OmluZmluaXRlUmVjdCgpKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJWaWV3LmNwcAppbmRleCAyYzk2YzFiOTg5YzcxMTI4NmI1MTg3OWZlMGQ1M2EzMmYwYjcxNDYw
Li5lMGEyZTVmMzgxNjViMDE4ZWFjOGU0MWY0MzBkYjViN2I5NDgwZWI0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCkBAIC0xMDMyLDQgKzEwMzIsMTggQEAgdm9pZCBS
ZW5kZXJWaWV3OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmpl
Y3RJbmZvKSBjb25zdAogICAgIGluZm8uYWRkV2Vha1BvaW50ZXIobV9yZW5kZXJRdW90ZUhlYWQp
OwogfQogCit2b2lkIFJlbmRlclZpZXc6Om1hcmtGaXhlZFBvc2l0aW9uRGVzY2VuZGFudHNOZWVk
TW92ZW1lbnRMYXlvdXQoKQoreworICAgIFRyYWNrZWRSZW5kZXJlckxpc3RIYXNoU2V0KiBwb3Np
dGlvbmVkRGVzY2VuZGFudHMgPSBwb3NpdGlvbmVkT2JqZWN0cygpOworICAgIGlmICghcG9zaXRp
b25lZERlc2NlbmRhbnRzKQorICAgICAgICByZXR1cm47CisgICAgVHJhY2tlZFJlbmRlcmVyTGlz
dEhhc2hTZXQ6Oml0ZXJhdG9yIGVuZCA9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+ZW5kKCk7Cisg
ICAgZm9yIChUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldDo6aXRlcmF0b3IgaXQgPSBwb3NpdGlv
bmVkRGVzY2VuZGFudHMtPmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgeworICAgICAgICBSZW5k
ZXJCb3gqIHJlbmRlcmVyID0gKml0OworICAgICAgICBpZiAocmVuZGVyZXItPnN0eWxlKCktPnBv
c2l0aW9uKCkgIT0gRml4ZWRQb3NpdGlvbikKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAg
ICByZW5kZXJlci0+c2V0TmVlZHNQb3NpdGlvbmVkTW92ZW1lbnRMYXlvdXQoKTsKKyAgICB9Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmll
dy5oCmluZGV4IDBkNDAwOTJhOGM5Y2FmOTc2NjBiZmU2NDY4ZmM0ODg3ZjZlNzAzYWMuLmMzZmQ0
NjE1N2NhYjZhYjA2NGJiMDdmOGNkODJkNjc3NjU5MzUwM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclZpZXcuaApAQCAtMjI4LDYgKzIyOCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHJl
bW92ZVJlbmRlckNvdW50ZXIoKSB7IEFTU0VSVChtX3JlbmRlckNvdW50ZXJDb3VudCA+IDApOyBt
X3JlbmRlckNvdW50ZXJDb3VudC0tOyB9CiAgICAgYm9vbCBoYXNSZW5kZXJDb3VudGVycygpIHsg
cmV0dXJuIG1fcmVuZGVyQ291bnRlckNvdW50OyB9CiAKKyAgICB2b2lkIG1hcmtGaXhlZFBvc2l0
aW9uRGVzY2VuZGFudHNOZWVkTW92ZW1lbnRMYXlvdXQoKTsKKwogcHJvdGVjdGVkOgogICAgIHZp
cnR1YWwgdm9pZCBtYXBMb2NhbFRvQ29udGFpbmVyKGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmpl
Y3QqIHJlcGFpbnRDb250YWluZXIsIFRyYW5zZm9ybVN0YXRlJiwgTWFwQ29vcmRpbmF0ZXNGbGFn
cyA9IEFwcGx5Q29udGFpbmVyRmxpcCwgYm9vbCogd2FzRml4ZWQgPSAwKSBjb25zdCBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIGNvbnN0IFJlbmRlck9iamVjdCogcHVzaE1hcHBpbmdUb0NvbnRhaW5l
cihjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiBhbmNlc3RvclRvU3RvcEF0LCBSZW5kZXJH
ZW9tZXRyeU1hcCYpIGNvbnN0IE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGRiMTBmNzhmMjk3NzQ3MzBhNGY2
YmExNjczNjJlMDc0MWQ4MjNmNDcuLmYwNzNjODcwMDc4ODBjNzE5MGE1MDUzZTU2ZDIxZTUyOWFk
ZDc5YTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0xMi0xOSAgVGllbi1SZW4gQ2hlbiAg
PHRyY2hlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTmVlZCB0byByZS1sYXlvdXQgZml4ZWQg
cG9zaXRpb24gZWxlbWVudHMgYWZ0ZXIgc2NhbGUgd2hlbiB1c2luZyBzZXR0aW5ncygpLT5maXhl
ZEVsZW1lbnRzTGF5b3V0UmVsYXRpdmVUb0ZyYW1lKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTQ4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIHNldHRpbmdzKCktPmZpeGVkRWxlbWVudHNMYXlv
dXRSZWxhdGl2ZVRvRnJhbWUoKSBtb2RlIGZpeGVkIHBvc2l0aW9uCisgICAgICAgIGVsZW1lbnRz
IGFyZSBsYXlvdXQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgdmlzaWJsZSB2aWV3cG9ydCwgd2hp
Y2ggY2FuCisgICAgICAgIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBsYXlvdXQgdmlld3BvcnQgd2hl
biB1c2luZyBmaXhlZC1sYXlvdXQgbW9kZS4KKyAgICAgICAgV2UgbmVlZCB0byBub3RpZnkgdGhl
IGNoYW5nZSBvZiB2aXNpYmxlIHZpZXdwb3J0IHdoZW4gaXQgaXMgc2NhbGVkLgorCisgICAgICAg
ICogZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVj
dGVkLnBuZzogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBv
c2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9y
ZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLmh0bWw6IEFkZGVkLgor
CiAyMDEyLTEyLTE4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAg
UHJveGllcyBzaG91bGQgc2V0IEludGVyY2VwdHNHZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4RXZl
bldoZW5MZW5ndGhJc05vdFplcm8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWlu
dC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS1leHBlY3RlZC5wbmcgYi9MYXlv
dXRUZXN0cy9mYXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUt
ZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0MmVjYjVlOGNjMDAzOWI4YjE4NGY4NDkyYWQ0MTJl
ZTNhZWM1OTgKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDM0NjQKemNtZUFTQE4/KG9sSHlgdVZC
cSFpYTB5fnlVeyt2WVYyYT5pMCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1RuMXkpCno8UnJzWEJa
RmlVT1k8Yi1sdkVRVjNyaDxsM25QPGMpOHRmQkxuREBxdH04JnBxJiFfNUxuYExIejNiP3diWFRo
Mwp6O2lWMDEqQWohUTNsNXgtLUxVNXRxY1BpRld9KWozP2AkbDg7Q3NBNzxIaFlPYFpuaHx4fHsz
ZiZmODxqekdDK0QKej5DK2gqOGtCUmstKEozYXgkfTl3PjhHenxuZXJUZClUN01FQEYoZkEkPWQ2
JGxkcyptYWdkNE8kRUM4fXdSaClRCnpyOUZNU2U7eW1kMUUhaUhxYUZLJDUqUWhkdSF1MUBfeThG
LW1yWj0tPEhSRXY4MTg/SjNZUnlWYzdUYiY7Xnlzagp6eEFKdXdTczRtdXthc1g1ZXBJfWRpREF5
Tyk5YTxUSG5URGEybT0peDB3bzFMJWpxeVFFU0M5b1pGTWFaSF5UIUIKemV0IVBuO2A4VXZ6YVJW
YV5ZZWFYQ3goVUBLK2AlbmZ2UlpDKDU/SVE9PGJIcSZ2c05pSGFLVT8jODlBQ3d0O35tCnozRnM7
WHdWfWMyLXBTNjthQylQM1Mja2V8PzRIOUctI1B3SWtSPkpIYzgybVg5NWB0PGB8TkdgX3dWMXx8
RUJAOwp6eDhKdTlBM3BxZ0BiaFFvfDQ4PjFWNjBnS3FmV2lwZ0BadT1MPT1SOUxkb3gwaFg4e0Ro
PExDRG1NWS1NVitiKEIKej4/PVE3Xmp3dTtVPVRtZDJUaiRlJlZKKVFVeTA/eF5SbkdMKWgodTli
VShqU1lDdXhRd2kocTczPVFgYUh7WD1tCnozQ2U+cVB2NTxKSHpUI2J6clQtejVuRSFsYkxDKXxT
dCMqYnVKSnokRENXU0s0eGFtSCFxfEI5NGx+Mj9UV19EdQp6ZGt9TjFARXp5NSpTRyVkRSNRNUZU
eDZnSUV+cFMwe3Z1Kzx7MHVWTEdTQkJSRyZ9fkN0bj9fPD11bURfLTNyfWoKemF0c2FMK21NUX1s
JWJZKGZLbU5uX001aTVjYTtBfkwyOHBUJEZQP3hCT35kZilDb0M7LXgoTlVIaH5IeSM8VD0+CnpR
dFFgZWFWXnVjJjdjMz5Vell3U2RhPzllI3QtdHpCcFg3bDhYWl8zSHs0SD1Ja3daPzskWXI4TXVy
RGpId1Fqdgp6MTJhJVZlSlpHK1ZPVGQ2K3lEUik5ZEZCdXtSe05geSFrZXdHezkoNTE8O3xFcH0+
bWhHcSU3NElJRDBASFBmPisKekB7PG08RWBJcCY8SHIrSSFIdzZ+VXdfUj15PS1FcyNEWlM5bzl8
PT53dGs7SU9aKSVtXnkkPDBrQW9YY3BTTFp3Cnorb0o/LVZ7S2RVdD1iI1pscz12dntgVUcrMSkk
KSp3fSpGMGZpakxDTklaOUVqMnlWdFU2Wj50JUo9ZUByPCpjbwp6Z3t7N05jSHc0YzI4TWUjXlMx
bEBgP3RARil0a1FoWUwtT1hmQSh3N1MySHJLeUw+Oyo+U1U1Y1RqczI1dWZJPEIKelVZPVExUVNz
d2sjKHxmPkhzME80Y2tjdVBeV3BMMSRDWlUmJXQrMEBvNDVVVGE2Ql9aZmh8eVIqPjJtSHNAd2g4
Cno3I1p4IXYtRDtFaCYoaVdLYmY2amhsPjJZcWQlcVhfO2dCMzhHKGlAV00/Pl89JFR3QTViPXRP
Vk1tJk17K2pRTgp6T1Y9P2wpWkt7YUYxS0hRe2s2Wjs+el9ZPXNATH16fE5pfWQ+d2dBQEE0bUIy
Y204Y3djRGpFSDd6dnhfLSsldD4KenZIOHlJSFFXWERfNE98cDg0NWcjIzFBJmRVdFh9MHAmPmk/
PyY2PGlKN2QpTGIxKnl6bnRSSzhgfDdLdylZJXlzCnpfK35EOWRGOGs1e1hLY0R4IWE/XnBKOE9F
TlolUFZGRG1ANyE1e3VmQ3E3TlN4bl5HLXV4cktPPkZWZFEmTUJiQApFMEg7PlRWRV9PQwoKbGl0
ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50
L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGZmMjc3ODc3OGFlNWNjNzNlY2QzNzk2M2QyN2IxOTdl
YzI4OTYzNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9yZWxh
eW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwy
MSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSAxMDA4eDEwMTYKKyAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDc4NXg1ODUKK2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDEwMTYKKyAgUmVuZGVyQmxv
Y2sge0hUTUx9IGF0ICgwLDApIHNpemUgNzg1eDEwMTYKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDEwMDB4MTAwMAorbGF5ZXIgYXQgKDEwLDIwKSBzaXplIDUweDUwCisgIFJl
bmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMTAsMjApIHNpemUgNTB4NTAgW2JnY29s
b3I9I0NDRkZDQ10KK2xheWVyIGF0ICgzMTMsNDApIHNpemUgNTB4NTAKKyAgUmVuZGVyQmxvY2sg
KHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgzMTIsNDApIHNpemUgNTF4NTAgW2JnY29sb3I9I0NDRkZD
Q10KK2xheWVyIGF0ICg1MCwxODMpIHNpemUgNTB4NTAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9u
ZWQpIHtESVZ9IGF0ICg1MCwxODIpIHNpemUgNTB4NTEgW2JnY29sb3I9I0NDRkZDQ10KK2xheWVy
IGF0ICgyNzMsMTYzKSBzaXplIDUweDUwCisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElW
fSBhdCAoMjcyLDE2Mikgc2l6ZSA1MXg1MSBbYmdjb2xvcj0jQ0NGRkNDXQorbGF5ZXIgYXQgKDE1
NywxMDIpIHNpemUgMzl4MzAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgx
NTcsMTAyKSBzaXplIDQweDMwIFtiZ2NvbG9yPSNDQ0NDRkZdCitsYXllciBhdCAoMjM2LDczKSBz
aXplIDM5eDI5CisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjM1LDczKSBz
aXplIDQweDMwIFtiZ2NvbG9yPSNDQ0NDRkZdCitsYXllciBhdCAoNzksMjE5KSBzaXplIDM5eDMw
CisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoNzgsMjE5KSBzaXplIDQweDMw
IFtiZ2NvbG9yPSNDQ0NDRkZdCitsYXllciBhdCAoMzE0LDI0OSkgc2l6ZSAzOXgyOQorICBSZW5k
ZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDMxNCwyNDgpIHNpemUgNDB4MzAgW2JnY29s
b3I9I0NDQ0NGRl0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9yZWxheW91
dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBh
aW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
M2NmYzA0MjNhZTliOTBjMzFkMWNiYTBiZmY2ZDk3MjQ5ZTZhMDIyZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRl
ci1zY2FsZS5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5UaGlzIHRlc3QgaXMgc3VjY2Vzc2Z1bCBpZiBmaXhlZCBwb3NpdGlvbiBl
bGVtZW50cyByZS1sYXlvdXQgY29ycmVjdGx5IG9uIHBhZ2Ugc2NhbGUgY2hhbmdlczwvdGl0bGU+
Cis8c3R5bGU+CisuZml4ZWRfc2l6ZSB7CisgICAgcG9zaXRpb246Zml4ZWQ7CisgICAgYmFja2dy
b3VuZC1jb2xvcjojY2NmZmNjOworICAgIHdpZHRoOjUwcHg7CisgICAgaGVpZ2h0OjUwcHg7Cit9
CisucGVyY2VudGFnZV9zaXplIHsKKyAgICBwb3NpdGlvbjpmaXhlZDsKKyAgICBiYWNrZ3JvdW5k
LWNvbG9yOiNjY2NjZmY7CisgICAgd2lkdGg6MTAlOworICAgIGhlaWdodDoxMCU7Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7IiBzdHlsZT0id2lkdGg6MTAw
MHB4O2hlaWdodDoxMDAwcHg7Ij4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJsZWZ0
OjEwcHg7dG9wOjIwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9InJp
Z2h0OjMwcHg7dG9wOjQwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9
ImxlZnQ6NTBweDtib3R0b206NjBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBz
dHlsZT0icmlnaHQ6NzBweDtib3R0b206ODBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50
YWdlX3NpemUiIHN0eWxlPSJsZWZ0OjQwJTt0b3A6MzUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBl
cmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9InJpZ2h0OjMwJTt0b3A6MjUlIj48L2Rpdj4KKzxkaXYgY2xh
c3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9ImxlZnQ6MjAlO2JvdHRvbToxNSUiPjwvZGl2Pgor
PGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0icmlnaHQ6MTAlO2JvdHRvbTo1JSI+
PC9kaXY+Cis8c2NyaXB0PgorZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93Lmlu
dGVybmFscykgeworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEZpeGVkRWxl
bWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUodHJ1ZSk7CisgICAgICAgIHdpbmRvdy5pbnRlcm5h
bHMuc2V0UGFnZVNjYWxlRmFjdG9yKDIsIDAsIDApOworICAgIH0KK30KKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180440</attachid>
            <date>2012-12-20 16:39:41 -0800</date>
            <delta_ts>2012-12-20 18:26:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105486-20121220163657.patch</filename>
            <type>text/plain</type>
            <size>10831</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGIyNmZjNzdmNjY4N2Nk
NWIxZWRhOThjMzI1NDZiYjMwZmUxYzY5Yy4uNmU4MjI0ZGMwZTg3NGRlOWVkNTg4MTQwY2JkMWEx
ZWI4MmEzMmJiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTEyLTIwICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIHRvIHJlLWxh
eW91dCBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyBhZnRlciBzY2FsZSB3aGVuIHVzaW5nIHNldHRp
bmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDg2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gc2V0dGluZ3MoKS0+Zml4ZWRF
bGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpIG1vZGUgZml4ZWQgcG9zaXRpb24KKyAgICAg
ICAgZWxlbWVudHMgYXJlIGxheW91dCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB2aXNpYmxlIHZp
ZXdwb3J0LCB3aGljaCBjYW4KKyAgICAgICAgYmUgZGlmZmVyZW50IGZyb20gdGhlIGxheW91dCB2
aWV3cG9ydCB3aGVuIHVzaW5nIGZpeGVkLWxheW91dCBtb2RlLgorICAgICAgICBXZSBuZWVkIHRv
IG5vdGlmeSB0aGUgY2hhbmdlIG9mIHZpc2libGUgdmlld3BvcnQgd2hlbiBpdCBpcyBzY2FsZWQu
CisKKyAgICAgICAgVGVzdDogZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFm
dGVyLXNjYWxlLmh0bWwKKworICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWU6OmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmg6CisgICAgICAgIChGcmFtZSk6CisgICAg
ICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKEZyYW1lVmlldyk6CisgICAgICAgICog
cGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNldFBhZ2VTY2FsZUZhY3Rv
cik6CisKIDIwMTItMTItMTggIENoYW5nU2VvayBPaCAgPHNoaXZhbWlkb3dAZ21haWwuY29tPgog
CiAgICAgICAgIFtHVEtdW0FDXSBBc3NlcnRpb24gZmFpbGVkIHdoaWxlIGRlc3Ryb3lpbmcgR3Jh
cGhpY3NMYXllcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCBmZTljZTBiZTZiOWMxMmFiNjg3NWIw
ZmNjM2UyMjBjMTE1MTFiZDQ3Li5mYzg0ZjE0ZThkOWRmNTNlM2Y3NDBmNDIxZGIzNmY2NDFlNDIx
ZjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAtOTk1LDE3ICs5OTUsMjEgQEAgdm9pZCBGcmFt
ZTo6cmVzdW1lQWN0aXZlRE9NT2JqZWN0c0FuZEFuaW1hdGlvbnMoKQogICAgIH0KIH0KIAotI2lm
IFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIHZvaWQgRnJhbWU6OmRldmljZU9yUGFnZVNj
YWxlRmFjdG9yQ2hhbmdlZCgpCiB7CisgICAgaWYgKG1fcGFnZSAmJiBtX3BhZ2UtPm1haW5GcmFt
ZSgpID09IHRoaXMgJiYgbV92aWV3ICYmIG1fdmlldy0+Zml4ZWRFbGVtZW50c0xheW91dFJlbGF0
aXZlVG9GcmFtZSgpKQorICAgICAgICBtX3ZpZXctPnNldFZpZXdwb3J0Q29uc3RyYWluZWRPYmpl
Y3RzTmVlZExheW91dCgpOworCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAg
IGZvciAoRnJhbWUqIGNoaWxkID0gdHJlZSgpLT5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9
IGNoaWxkLT50cmVlKCktPm5leHRTaWJsaW5nKCkpCiAgICAgICAgIGNoaWxkLT5kZXZpY2VPclBh
Z2VTY2FsZUZhY3RvckNoYW5nZWQoKTsKIAogICAgIFJlbmRlclZpZXcqIHJvb3QgPSBjb250ZW50
UmVuZGVyZXIoKTsKICAgICBpZiAocm9vdCAmJiByb290LT5jb21wb3NpdG9yKCkpCiAgICAgICAg
IHJvb3QtPmNvbXBvc2l0b3IoKS0+ZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7Ci19
CiAjZW5kaWYKK30KKwogdm9pZCBGcmFtZTo6bm90aWZ5Q2hyb21lQ2xpZW50V2hlZWxFdmVudEhh
bmRsZXJDb3VudENoYW5nZWQoKSBjb25zdAogewogICAgIC8vIEVuc3VyZSB0aGF0IHRoaXMgbWV0
aG9kIGlzIGJlaW5nIGNhbGxlZCBvbiB0aGUgbWFpbiBmcmFtZSBvZiB0aGUgcGFnZS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWUuaAppbmRleCA3MDUzZWIyNDA5ODc3MTgwN2Y4YzQ0OWZmZGM4MDg2MjU3NjM1OTdlLi5i
MGI1MjM0NmE4YzgzNzI1NjJiYjljZGQzMTU1M2E2NjBhYTYzYzBlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5o
CkBAIC0xNTksOSArMTU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBTY2Fs
ZSBmYWN0b3Igb2YgdGhpcyBmcmFtZSB3aXRoIHJlc3BlY3QgdG8gdGhlIGNvbnRhaW5lci4KICAg
ICAgICAgZmxvYXQgZnJhbWVTY2FsZUZhY3RvcigpIGNvbnN0OwogCi0jaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQogICAgICAgICB2b2lkIGRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hh
bmdlZCgpOwotI2VuZGlmCiAKICNpZiBFTkFCTEUoT1JJRU5UQVRJT05fRVZFTlRTKQogICAgICAg
ICAvLyBPcmllbnRhdGlvbiBpcyB0aGUgaW50ZXJmYWNlIG9yaWVudGF0aW9uIGluIGRlZ3JlZXMu
IFNvbWUgZXhhbXBsZXMgYXJlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggZmFiMzc0NjBi
ZmZiMzM0ODY2MjQ0ZjI3MDg3MTU4MGEzYWE0MDk1YS4uY2QxMmE3MTY0MDlmMTE2MWJkZDI1MmI4
ZTkyYTgxNWNjNTM4ZWNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC0yMDgsNiArMjA4
LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVtb3ZlVmlld3BvcnRDb25zdHJhaW5lZE9iamVjdChS
ZW5kZXJPYmplY3QqKTsKICAgICBjb25zdCBWaWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0U2V0KiB2
aWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0cygpIGNvbnN0IHsgcmV0dXJuIG1fdmlld3BvcnRDb25z
dHJhaW5lZE9iamVjdHMuZ2V0KCk7IH0KICAgICBib29sIGhhc1ZpZXdwb3J0Q29uc3RyYWluZWRP
YmplY3RzKCkgY29uc3QgeyByZXR1cm4gbV92aWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0cyAmJiBt
X3ZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3RzLT5zaXplKCkgPiAwOyB9CisgICAgdm9pZCBzZXRW
aWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0c05lZWRMYXlvdXQoKTsKIAogICAgIC8vIEZ1bmN0aW9u
cyBmb3IgcXVlcnlpbmcgdGhlIGN1cnJlbnQgc2Nyb2xsZWQgcG9zaXRpb24sIG5lZ2F0aW5nIHRo
ZSBlZmZlY3RzIG9mIG92ZXJoYW5nCiAgICAgLy8gYW5kIGFkanVzdGluZyBmb3IgcGFnZSBzY2Fs
ZS4KQEAgLTQ2Nyw4ICs0NjgsNiBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBkb0xheW91dFdpdGhG
cmFtZUZsYXR0ZW5pbmcoYm9vbCBhbGxvd1N1YnRyZWUpOwogCi0gICAgdm9pZCBzZXRWaWV3cG9y
dENvbnN0cmFpbmVkT2JqZWN0c05lZWRMYXlvdXQoKTsKLQogICAgIHZpcnR1YWwgQVhPYmplY3RD
YWNoZSogYXhPYmplY3RDYWNoZSgpIGNvbnN0OwogICAgIHZvaWQgbm90aWZ5V2lkZ2V0c0luQWxs
RnJhbWVzKFdpZGdldE5vdGlmaWNhdGlvbik7CiAgICAgdm9pZCByZW1vdmVGcm9tQVhPYmplY3RD
YWNoZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggZWEwOGRlNmQyZmMwMWFkMjgzZWZjMWZkMDNh
YWQ3NDY5M2I2YTlhNi4uNWQzNmMxOGI1OTUwZjBmNWQ0YzI1NjM1ZTY5ZTA5YTk0MWM4NWNjYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuY3BwCkBAIC02OTQsOSArNjk0LDcgQEAgdm9pZCBQYWdlOjpzZXRQYWdl
U2NhbGVGYWN0b3IoZmxvYXQgc2NhbGUsIGNvbnN0IEludFBvaW50JiBvcmlnaW4pCiAgICAgLy8g
VHJhbnNmb3JtIGNoYW5nZSBvbiBSZW5kZXJWaWV3IGRvZXNuJ3QgdHJpZ2dlciByZXBhaW50IG9u
IG5vbi1jb21wb3NpdGVkIGNvbnRlbnRzLgogICAgIG1haW5GcmFtZSgpLT52aWV3KCktPmludmFs
aWRhdGVSZWN0KEludFJlY3QoTGF5b3V0UmVjdDo6aW5maW5pdGVSZWN0KCkpKTsKIAotI2lmIFVT
RShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBtYWluRnJhbWUoKS0+ZGV2aWNlT3JQYWdl
U2NhbGVGYWN0b3JDaGFuZ2VkKCk7Ci0jZW5kaWYKIAogICAgIGlmICh2aWV3ICYmIHZpZXctPnNj
cm9sbFBvc2l0aW9uKCkgIT0gb3JpZ2luKSB7CiAgICAgICAgIGlmIChkb2N1bWVudC0+cmVuZGVy
ZXIoKSAmJiBkb2N1bWVudC0+cmVuZGVyZXIoKS0+bmVlZHNMYXlvdXQoKSAmJiB2aWV3LT5kaWRG
aXJzdExheW91dCgpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGRiMTBmNzhmMjk3NzQ3MzBhNGY2YmExNjczNjJlMDc0MWQ4
MjNmNDcuLjc0MDU3YzJiNzNkZTk1ZDQxZDZhMzhiYzBkZmJmZGUwNGQ3YTNjZjUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOSBAQAorMjAxMi0xMi0yMCAgVGllbi1SZW4gQ2hlbiAgPHRyY2hlbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgTmVlZCB0byByZS1sYXlvdXQgZml4ZWQgcG9zaXRpb24gZWxlbWVu
dHMgYWZ0ZXIgc2NhbGUgd2hlbiB1c2luZyBzZXR0aW5ncygpLT5maXhlZEVsZW1lbnRzTGF5b3V0
UmVsYXRpdmVUb0ZyYW1lKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwNTQ4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEluIHNldHRpbmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJh
bWUoKSBtb2RlIGZpeGVkIHBvc2l0aW9uCisgICAgICAgIGVsZW1lbnRzIGFyZSBsYXlvdXQgcmVs
YXRpdmUgdG8gdGhlIGN1cnJlbnQgdmlzaWJsZSB2aWV3cG9ydCwgd2hpY2ggY2FuCisgICAgICAg
IGJlIGRpZmZlcmVudCBmcm9tIHRoZSBsYXlvdXQgdmlld3BvcnQgd2hlbiB1c2luZyBmaXhlZC1s
YXlvdXQgbW9kZS4KKyAgICAgICAgV2UgbmVlZCB0byBub3RpZnkgdGhlIGNoYW5nZSBvZiB2aXNp
YmxlIHZpZXdwb3J0IHdoZW4gaXQgaXMgc2NhbGVkLgorCisgICAgICAgICogZmFzdC9yZXBhaW50
L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVjdGVkLnBuZzogQWRkZWQu
CisgICAgICAgICogZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNj
YWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L3JlbGF5b3V0
LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLmh0bWw6IEFkZGVkLgorCiAyMDEyLTEyLTE4ICBG
aWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgUHJveGllcyBzaG91bGQg
c2V0IEludGVyY2VwdHNHZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4RXZlbldoZW5MZW5ndGhJc05v
dFplcm8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhl
ZC1wb3NpdGlvbi1hZnRlci1zY2FsZS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9mYXN0L3Jl
cGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUtZXhwZWN0ZWQucG5nCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjg0MmVjYjVlOGNjMDAzOWI4YjE4NGY4NDkyYWQ0MTJlZTNhZWM1OTgKR0lUIGJp
bmFyeSBwYXRjaApsaXRlcmFsIDM0NjQKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYy
YT5pMCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1RuMXkpCno8UnJzWEJaRmlVT1k8Yi1sdkVRVjNy
aDxsM25QPGMpOHRmQkxuREBxdH04JnBxJiFfNUxuYExIejNiP3diWFRoMwp6O2lWMDEqQWohUTNs
NXgtLUxVNXRxY1BpRld9KWozP2AkbDg7Q3NBNzxIaFlPYFpuaHx4fHszZiZmODxqekdDK0QKej5D
K2gqOGtCUmstKEozYXgkfTl3PjhHenxuZXJUZClUN01FQEYoZkEkPWQ2JGxkcyptYWdkNE8kRUM4
fXdSaClRCnpyOUZNU2U7eW1kMUUhaUhxYUZLJDUqUWhkdSF1MUBfeThGLW1yWj0tPEhSRXY4MTg/
SjNZUnlWYzdUYiY7Xnlzagp6eEFKdXdTczRtdXthc1g1ZXBJfWRpREF5Tyk5YTxUSG5URGEybT0p
eDB3bzFMJWpxeVFFU0M5b1pGTWFaSF5UIUIKemV0IVBuO2A4VXZ6YVJWYV5ZZWFYQ3goVUBLK2Al
bmZ2UlpDKDU/SVE9PGJIcSZ2c05pSGFLVT8jODlBQ3d0O35tCnozRnM7WHdWfWMyLXBTNjthQylQ
M1Mja2V8PzRIOUctI1B3SWtSPkpIYzgybVg5NWB0PGB8TkdgX3dWMXx8RUJAOwp6eDhKdTlBM3Bx
Z0BiaFFvfDQ4PjFWNjBnS3FmV2lwZ0BadT1MPT1SOUxkb3gwaFg4e0RoPExDRG1NWS1NVitiKEIK
ej4/PVE3Xmp3dTtVPVRtZDJUaiRlJlZKKVFVeTA/eF5SbkdMKWgodTliVShqU1lDdXhRd2kocTcz
PVFgYUh7WD1tCnozQ2U+cVB2NTxKSHpUI2J6clQtejVuRSFsYkxDKXxTdCMqYnVKSnokRENXU0s0
eGFtSCFxfEI5NGx+Mj9UV19EdQp6ZGt9TjFARXp5NSpTRyVkRSNRNUZUeDZnSUV+cFMwe3Z1Kzx7
MHVWTEdTQkJSRyZ9fkN0bj9fPD11bURfLTNyfWoKemF0c2FMK21NUX1sJWJZKGZLbU5uX001aTVj
YTtBfkwyOHBUJEZQP3hCT35kZilDb0M7LXgoTlVIaH5IeSM8VD0+CnpRdFFgZWFWXnVjJjdjMz5V
ell3U2RhPzllI3QtdHpCcFg3bDhYWl8zSHs0SD1Ja3daPzskWXI4TXVyRGpId1Fqdgp6MTJhJVZl
SlpHK1ZPVGQ2K3lEUik5ZEZCdXtSe05geSFrZXdHezkoNTE8O3xFcH0+bWhHcSU3NElJRDBASFBm
PisKekB7PG08RWBJcCY8SHIrSSFIdzZ+VXdfUj15PS1FcyNEWlM5bzl8PT53dGs7SU9aKSVtXnkk
PDBrQW9YY3BTTFp3Cnorb0o/LVZ7S2RVdD1iI1pscz12dntgVUcrMSkkKSp3fSpGMGZpakxDTkla
OUVqMnlWdFU2Wj50JUo9ZUByPCpjbwp6Z3t7N05jSHc0YzI4TWUjXlMxbEBgP3RARil0a1FoWUwt
T1hmQSh3N1MySHJLeUw+Oyo+U1U1Y1RqczI1dWZJPEIKelVZPVExUVNzd2sjKHxmPkhzME80Y2tj
dVBeV3BMMSRDWlUmJXQrMEBvNDVVVGE2Ql9aZmh8eVIqPjJtSHNAd2g4Cno3I1p4IXYtRDtFaCYo
aVdLYmY2amhsPjJZcWQlcVhfO2dCMzhHKGlAV00/Pl89JFR3QTViPXRPVk1tJk17K2pRTgp6T1Y9
P2wpWkt7YUYxS0hRe2s2Wjs+el9ZPXNATH16fE5pfWQ+d2dBQEE0bUIyY204Y3djRGpFSDd6dnhf
LSsldD4KenZIOHlJSFFXWERfNE98cDg0NWcjIzFBJmRVdFh9MHAmPmk/PyY2PGlKN2QpTGIxKnl6
bnRSSzhgfDdLdylZJXlzCnpfK35EOWRGOGs1e1hLY0R4IWE/XnBKOE9FTlolUFZGRG1ANyE1e3Vm
Q3E3TlN4bl5HLXV4cktPPkZWZFEmTUJiQApFMEg7PlRWRV9PQwoKbGl0ZXJhbCAwCkhjbVY/ZDAw
MDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVk
LXBvc2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVw
YWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOGZmMjc3ODc3OGFlNWNjNzNlY2QzNzk2M2QyN2IxOTdlYzI4OTYzNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3Np
dGlvbi1hZnRlci1zY2FsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMSBAQAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSAxMDA4eDEwMTYKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg1ODUK
K2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDEwMTYKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgw
LDApIHNpemUgNzg1eDEwMTYKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDEw
MDB4MTAwMAorbGF5ZXIgYXQgKDEwLDIwKSBzaXplIDUweDUwCisgIFJlbmRlckJsb2NrIChwb3Np
dGlvbmVkKSB7RElWfSBhdCAoMTAsMjApIHNpemUgNTB4NTAgW2JnY29sb3I9I0NDRkZDQ10KK2xh
eWVyIGF0ICgzMTMsNDApIHNpemUgNTB4NTAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtE
SVZ9IGF0ICgzMTIsNDApIHNpemUgNTF4NTAgW2JnY29sb3I9I0NDRkZDQ10KK2xheWVyIGF0ICg1
MCwxODMpIHNpemUgNTB4NTAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg1
MCwxODIpIHNpemUgNTB4NTEgW2JnY29sb3I9I0NDRkZDQ10KK2xheWVyIGF0ICgyNzMsMTYzKSBz
aXplIDUweDUwCisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjcyLDE2Mikg
c2l6ZSA1MXg1MSBbYmdjb2xvcj0jQ0NGRkNDXQorbGF5ZXIgYXQgKDE1NywxMDIpIHNpemUgMzl4
MzAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgxNTcsMTAyKSBzaXplIDQw
eDMwIFtiZ2NvbG9yPSNDQ0NDRkZdCitsYXllciBhdCAoMjM2LDczKSBzaXplIDM5eDI5CisgIFJl
bmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMjM1LDczKSBzaXplIDQweDMwIFtiZ2Nv
bG9yPSNDQ0NDRkZdCitsYXllciBhdCAoNzksMjE5KSBzaXplIDM5eDMwCisgIFJlbmRlckJsb2Nr
IChwb3NpdGlvbmVkKSB7RElWfSBhdCAoNzgsMjE5KSBzaXplIDQweDMwIFtiZ2NvbG9yPSNDQ0ND
RkZdCitsYXllciBhdCAoMzE0LDI0OSkgc2l6ZSAzOXgyOQorICBSZW5kZXJCbG9jayAocG9zaXRp
b25lZCkge0RJVn0gYXQgKDMxNCwyNDgpIHNpemUgNDB4MzAgW2JnY29sb3I9I0NDQ0NGRl0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlv
bi1hZnRlci1zY2FsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZp
eGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2NmYzA0MjNhZTliOTBj
MzFkMWNiYTBiZmY2ZDk3MjQ5ZTZhMDIyZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS5odG1sCkBA
IC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5U
aGlzIHRlc3QgaXMgc3VjY2Vzc2Z1bCBpZiBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyByZS1sYXlv
dXQgY29ycmVjdGx5IG9uIHBhZ2Ugc2NhbGUgY2hhbmdlczwvdGl0bGU+Cis8c3R5bGU+CisuZml4
ZWRfc2l6ZSB7CisgICAgcG9zaXRpb246Zml4ZWQ7CisgICAgYmFja2dyb3VuZC1jb2xvcjojY2Nm
ZmNjOworICAgIHdpZHRoOjUwcHg7CisgICAgaGVpZ2h0OjUwcHg7Cit9CisucGVyY2VudGFnZV9z
aXplIHsKKyAgICBwb3NpdGlvbjpmaXhlZDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiNjY2NjZmY7
CisgICAgd2lkdGg6MTAlOworICAgIGhlaWdodDoxMCU7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHkgb25sb2FkPSJydW5UZXN0KCk7IiBzdHlsZT0id2lkdGg6MTAwMHB4O2hlaWdodDoxMDAw
cHg7Ij4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJsZWZ0OjEwcHg7dG9wOjIwcHgi
PjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9InJpZ2h0OjMwcHg7dG9wOjQw
cHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9ImxlZnQ6NTBweDtib3R0
b206NjBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0icmlnaHQ6NzBw
eDtib3R0b206ODBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxl
PSJsZWZ0OjQwJTt0b3A6MzUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIg
c3R5bGU9InJpZ2h0OjMwJTt0b3A6MjUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vf
c2l6ZSIgc3R5bGU9ImxlZnQ6MjAlO2JvdHRvbToxNSUiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVy
Y2VudGFnZV9zaXplIiBzdHlsZT0icmlnaHQ6MTAlO2JvdHRvbTo1JSI+PC9kaXY+Cis8c2NyaXB0
PgorZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93LmludGVybmFscykgeworICAg
ICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEZpeGVkRWxlbWVudHNMYXlvdXRSZWxh
dGl2ZVRvRnJhbWUodHJ1ZSk7CisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0UGFnZVNjYWxl
RmFjdG9yKDIsIDAsIDApOworICAgIH0KK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgor
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180454</attachid>
            <date>2012-12-20 18:26:24 -0800</date>
            <delta_ts>2012-12-20 19:38:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105486-20121220182340.patch</filename>
            <type>text/plain</type>
            <size>8693</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGIyNmZjNzdmNjY4N2Nk
NWIxZWRhOThjMzI1NDZiYjMwZmUxYzY5Yy4uNmU4MjI0ZGMwZTg3NGRlOWVkNTg4MTQwY2JkMWEx
ZWI4MmEzMmJiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTEyLTIwICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIHRvIHJlLWxh
eW91dCBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyBhZnRlciBzY2FsZSB3aGVuIHVzaW5nIHNldHRp
bmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDg2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gc2V0dGluZ3MoKS0+Zml4ZWRF
bGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpIG1vZGUgZml4ZWQgcG9zaXRpb24KKyAgICAg
ICAgZWxlbWVudHMgYXJlIGxheW91dCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB2aXNpYmxlIHZp
ZXdwb3J0LCB3aGljaCBjYW4KKyAgICAgICAgYmUgZGlmZmVyZW50IGZyb20gdGhlIGxheW91dCB2
aWV3cG9ydCB3aGVuIHVzaW5nIGZpeGVkLWxheW91dCBtb2RlLgorICAgICAgICBXZSBuZWVkIHRv
IG5vdGlmeSB0aGUgY2hhbmdlIG9mIHZpc2libGUgdmlld3BvcnQgd2hlbiBpdCBpcyBzY2FsZWQu
CisKKyAgICAgICAgVGVzdDogZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFm
dGVyLXNjYWxlLmh0bWwKKworICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWU6OmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmg6CisgICAgICAgIChGcmFtZSk6CisgICAg
ICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKEZyYW1lVmlldyk6CisgICAgICAgICog
cGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNldFBhZ2VTY2FsZUZhY3Rv
cik6CisKIDIwMTItMTItMTggIENoYW5nU2VvayBPaCAgPHNoaXZhbWlkb3dAZ21haWwuY29tPgog
CiAgICAgICAgIFtHVEtdW0FDXSBBc3NlcnRpb24gZmFpbGVkIHdoaWxlIGRlc3Ryb3lpbmcgR3Jh
cGhpY3NMYXllcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCBmZTljZTBiZTZiOWMxMmFiNjg3NWIw
ZmNjM2UyMjBjMTE1MTFiZDQ3Li5mYzg0ZjE0ZThkOWRmNTNlM2Y3NDBmNDIxZGIzNmY2NDFlNDIx
ZjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAtOTk1LDE3ICs5OTUsMjEgQEAgdm9pZCBGcmFt
ZTo6cmVzdW1lQWN0aXZlRE9NT2JqZWN0c0FuZEFuaW1hdGlvbnMoKQogICAgIH0KIH0KIAotI2lm
IFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIHZvaWQgRnJhbWU6OmRldmljZU9yUGFnZVNj
YWxlRmFjdG9yQ2hhbmdlZCgpCiB7CisgICAgaWYgKG1fcGFnZSAmJiBtX3BhZ2UtPm1haW5GcmFt
ZSgpID09IHRoaXMgJiYgbV92aWV3ICYmIG1fdmlldy0+Zml4ZWRFbGVtZW50c0xheW91dFJlbGF0
aXZlVG9GcmFtZSgpKQorICAgICAgICBtX3ZpZXctPnNldFZpZXdwb3J0Q29uc3RyYWluZWRPYmpl
Y3RzTmVlZExheW91dCgpOworCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAg
IGZvciAoRnJhbWUqIGNoaWxkID0gdHJlZSgpLT5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9
IGNoaWxkLT50cmVlKCktPm5leHRTaWJsaW5nKCkpCiAgICAgICAgIGNoaWxkLT5kZXZpY2VPclBh
Z2VTY2FsZUZhY3RvckNoYW5nZWQoKTsKIAogICAgIFJlbmRlclZpZXcqIHJvb3QgPSBjb250ZW50
UmVuZGVyZXIoKTsKICAgICBpZiAocm9vdCAmJiByb290LT5jb21wb3NpdG9yKCkpCiAgICAgICAg
IHJvb3QtPmNvbXBvc2l0b3IoKS0+ZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7Ci19
CiAjZW5kaWYKK30KKwogdm9pZCBGcmFtZTo6bm90aWZ5Q2hyb21lQ2xpZW50V2hlZWxFdmVudEhh
bmRsZXJDb3VudENoYW5nZWQoKSBjb25zdAogewogICAgIC8vIEVuc3VyZSB0aGF0IHRoaXMgbWV0
aG9kIGlzIGJlaW5nIGNhbGxlZCBvbiB0aGUgbWFpbiBmcmFtZSBvZiB0aGUgcGFnZS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWUuaAppbmRleCA3MDUzZWIyNDA5ODc3MTgwN2Y4YzQ0OWZmZGM4MDg2MjU3NjM1OTdlLi5i
MGI1MjM0NmE4YzgzNzI1NjJiYjljZGQzMTU1M2E2NjBhYTYzYzBlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5o
CkBAIC0xNTksOSArMTU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBTY2Fs
ZSBmYWN0b3Igb2YgdGhpcyBmcmFtZSB3aXRoIHJlc3BlY3QgdG8gdGhlIGNvbnRhaW5lci4KICAg
ICAgICAgZmxvYXQgZnJhbWVTY2FsZUZhY3RvcigpIGNvbnN0OwogCi0jaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQogICAgICAgICB2b2lkIGRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hh
bmdlZCgpOwotI2VuZGlmCiAKICNpZiBFTkFCTEUoT1JJRU5UQVRJT05fRVZFTlRTKQogICAgICAg
ICAvLyBPcmllbnRhdGlvbiBpcyB0aGUgaW50ZXJmYWNlIG9yaWVudGF0aW9uIGluIGRlZ3JlZXMu
IFNvbWUgZXhhbXBsZXMgYXJlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggZmFiMzc0NjBi
ZmZiMzM0ODY2MjQ0ZjI3MDg3MTU4MGEzYWE0MDk1YS4uY2QxMmE3MTY0MDlmMTE2MWJkZDI1MmI4
ZTkyYTgxNWNjNTM4ZWNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC0yMDgsNiArMjA4
LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVtb3ZlVmlld3BvcnRDb25zdHJhaW5lZE9iamVjdChS
ZW5kZXJPYmplY3QqKTsKICAgICBjb25zdCBWaWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0U2V0KiB2
aWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0cygpIGNvbnN0IHsgcmV0dXJuIG1fdmlld3BvcnRDb25z
dHJhaW5lZE9iamVjdHMuZ2V0KCk7IH0KICAgICBib29sIGhhc1ZpZXdwb3J0Q29uc3RyYWluZWRP
YmplY3RzKCkgY29uc3QgeyByZXR1cm4gbV92aWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0cyAmJiBt
X3ZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3RzLT5zaXplKCkgPiAwOyB9CisgICAgdm9pZCBzZXRW
aWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0c05lZWRMYXlvdXQoKTsKIAogICAgIC8vIEZ1bmN0aW9u
cyBmb3IgcXVlcnlpbmcgdGhlIGN1cnJlbnQgc2Nyb2xsZWQgcG9zaXRpb24sIG5lZ2F0aW5nIHRo
ZSBlZmZlY3RzIG9mIG92ZXJoYW5nCiAgICAgLy8gYW5kIGFkanVzdGluZyBmb3IgcGFnZSBzY2Fs
ZS4KQEAgLTQ2Nyw4ICs0NjgsNiBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBkb0xheW91dFdpdGhG
cmFtZUZsYXR0ZW5pbmcoYm9vbCBhbGxvd1N1YnRyZWUpOwogCi0gICAgdm9pZCBzZXRWaWV3cG9y
dENvbnN0cmFpbmVkT2JqZWN0c05lZWRMYXlvdXQoKTsKLQogICAgIHZpcnR1YWwgQVhPYmplY3RD
YWNoZSogYXhPYmplY3RDYWNoZSgpIGNvbnN0OwogICAgIHZvaWQgbm90aWZ5V2lkZ2V0c0luQWxs
RnJhbWVzKFdpZGdldE5vdGlmaWNhdGlvbik7CiAgICAgdm9pZCByZW1vdmVGcm9tQVhPYmplY3RD
YWNoZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggZWEwOGRlNmQyZmMwMWFkMjgzZWZjMWZkMDNh
YWQ3NDY5M2I2YTlhNi4uNWQzNmMxOGI1OTUwZjBmNWQ0YzI1NjM1ZTY5ZTA5YTk0MWM4NWNjYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuY3BwCkBAIC02OTQsOSArNjk0LDcgQEAgdm9pZCBQYWdlOjpzZXRQYWdl
U2NhbGVGYWN0b3IoZmxvYXQgc2NhbGUsIGNvbnN0IEludFBvaW50JiBvcmlnaW4pCiAgICAgLy8g
VHJhbnNmb3JtIGNoYW5nZSBvbiBSZW5kZXJWaWV3IGRvZXNuJ3QgdHJpZ2dlciByZXBhaW50IG9u
IG5vbi1jb21wb3NpdGVkIGNvbnRlbnRzLgogICAgIG1haW5GcmFtZSgpLT52aWV3KCktPmludmFs
aWRhdGVSZWN0KEludFJlY3QoTGF5b3V0UmVjdDo6aW5maW5pdGVSZWN0KCkpKTsKIAotI2lmIFVT
RShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBtYWluRnJhbWUoKS0+ZGV2aWNlT3JQYWdl
U2NhbGVGYWN0b3JDaGFuZ2VkKCk7Ci0jZW5kaWYKIAogICAgIGlmICh2aWV3ICYmIHZpZXctPnNj
cm9sbFBvc2l0aW9uKCkgIT0gb3JpZ2luKSB7CiAgICAgICAgIGlmIChkb2N1bWVudC0+cmVuZGVy
ZXIoKSAmJiBkb2N1bWVudC0+cmVuZGVyZXIoKS0+bmVlZHNMYXlvdXQoKSAmJiB2aWV3LT5kaWRG
aXJzdExheW91dCgpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGRiMTBmNzhmMjk3NzQ3MzBhNGY2YmExNjczNjJlMDc0MWQ4
MjNmNDcuLjRhNjFlY2FhNDRiNDdhNWI1NjMwMDkyNGUzM2ZhNTkzMTM2NTRiNjQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOCBAQAorMjAxMi0xMi0yMCAgVGllbi1SZW4gQ2hlbiAgPHRyY2hlbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgTmVlZCB0byByZS1sYXlvdXQgZml4ZWQgcG9zaXRpb24gZWxlbWVu
dHMgYWZ0ZXIgc2NhbGUgd2hlbiB1c2luZyBzZXR0aW5ncygpLT5maXhlZEVsZW1lbnRzTGF5b3V0
UmVsYXRpdmVUb0ZyYW1lKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwNTQ4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEluIHNldHRpbmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJh
bWUoKSBtb2RlIGZpeGVkIHBvc2l0aW9uCisgICAgICAgIGVsZW1lbnRzIGFyZSBsYXlvdXQgcmVs
YXRpdmUgdG8gdGhlIGN1cnJlbnQgdmlzaWJsZSB2aWV3cG9ydCwgd2hpY2ggY2FuCisgICAgICAg
IGJlIGRpZmZlcmVudCBmcm9tIHRoZSBsYXlvdXQgdmlld3BvcnQgd2hlbiB1c2luZyBmaXhlZC1s
YXlvdXQgbW9kZS4KKyAgICAgICAgV2UgbmVlZCB0byBub3RpZnkgdGhlIGNoYW5nZSBvZiB2aXNp
YmxlIHZpZXdwb3J0IHdoZW4gaXQgaXMgc2NhbGVkLgorCisgICAgICAgICogZmFzdC9yZXBhaW50
L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVjdGVkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1z
Y2FsZS5odG1sOiBBZGRlZC4KKwogMjAxMi0xMi0xOCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBw
bGUuY29tPgogCiAgICAgICAgIFByb3hpZXMgc2hvdWxkIHNldCBJbnRlcmNlcHRzR2V0T3duUHJv
cGVydHlTbG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3RaZXJvCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUt
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1w
b3NpdGlvbi1hZnRlci1zY2FsZS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwZWQwYzA1N2Qx
OTExNDhkMDRkYWUzZTMxNzZhMWFmYTdhNmExNGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUtZXhw
ZWN0ZWQuaHRtbApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c3R5bGU+CisuZml4ZWRfc2l6ZSB7CisgICAgcG9zaXRpb246YWJzb2x1dGU7CisgICAg
YmFja2dyb3VuZC1jb2xvcjojY2NmZmNjOworICAgIHdpZHRoOjEwMHB4OworICAgIGhlaWdodDox
MDBweDsKK30KKy5wZXJjZW50YWdlX3NpemUgeworICAgIHBvc2l0aW9uOmFic29sdXRlOworICAg
IGJhY2tncm91bmQtY29sb3I6I2NjY2NmZjsKKyAgICB3aWR0aDoxMCU7CisgICAgaGVpZ2h0OjEw
JTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorPGRp
diBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9ImxlZnQ6MjBweDt0b3A6NDBweCI+PC9kaXY+Cis8
ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0icmlnaHQ6NjBweDt0b3A6ODBweCI+PC9kaXY+
Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0ibGVmdDoxMDBweDtib3R0b206MTIwcHgi
PjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9InJpZ2h0OjE0MHB4O2JvdHRv
bToxNjBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxlPSJsZWZ0
OjQwJTt0b3A6MzUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9
InJpZ2h0OjMwJTt0b3A6MjUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIg
c3R5bGU9ImxlZnQ6MjAlO2JvdHRvbToxNSUiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVyY2VudGFn
ZV9zaXplIiBzdHlsZT0icmlnaHQ6MTAlO2JvdHRvbTo1JSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhl
ZC1wb3NpdGlvbi1hZnRlci1zY2FsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3Jl
bGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2I4MGVj
MTc3OGExZDIyY2M0ZGU5MDhiNjBlYzVhY2VjNjJiODVkNwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2Fs
ZS5odG1sCkBAIC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
Kzx0aXRsZT5UaGlzIHRlc3QgaXMgc3VjY2Vzc2Z1bCBpZiBmaXhlZCBwb3NpdGlvbiBlbGVtZW50
cyByZS1sYXlvdXQgY29ycmVjdGx5IG9uIHBhZ2Ugc2NhbGUgY2hhbmdlczwvdGl0bGU+Cis8c3R5
bGU+Cis6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKKyAgICB3aWR0aDowOworICAgIGhlaWdodDowOwor
fQorLmZpeGVkX3NpemUgeworICAgIHBvc2l0aW9uOmZpeGVkOworICAgIGJhY2tncm91bmQtY29s
b3I6I2NjZmZjYzsKKyAgICB3aWR0aDo1MHB4OworICAgIGhlaWdodDo1MHB4OworfQorLnBlcmNl
bnRhZ2Vfc2l6ZSB7CisgICAgcG9zaXRpb246Zml4ZWQ7CisgICAgYmFja2dyb3VuZC1jb2xvcjoj
Y2NjY2ZmOworICAgIHdpZHRoOjEwJTsKKyAgICBoZWlnaHQ6MTAlOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXpl
IiBzdHlsZT0ibGVmdDoxMHB4O3RvcDoyMHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImZpeGVkX3Np
emUiIHN0eWxlPSJyaWdodDozMHB4O3RvcDo0MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImZpeGVk
X3NpemUiIHN0eWxlPSJsZWZ0OjUwcHg7Ym90dG9tOjYwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0i
Zml4ZWRfc2l6ZSIgc3R5bGU9InJpZ2h0OjcwcHg7Ym90dG9tOjgwcHgiPjwvZGl2PgorPGRpdiBj
bGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0ibGVmdDo0MCU7dG9wOjM1JSI+PC9kaXY+Cis8
ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxlPSJyaWdodDozMCU7dG9wOjI1JSI+PC9k
aXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxlPSJsZWZ0OjIwJTtib3R0b206
MTUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9InJpZ2h0OjEw
JTtib3R0b206NSUiPjwvZGl2PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRGaXhlZEVsZW1lbnRzTGF5b3V0UmVsYXRpdmVUb0ZyYW1lKHRydWUpOworICAgICAgICB3
aW5kb3cuaW50ZXJuYWxzLnNldFBhZ2VTY2FsZUZhY3RvcigyLCAwLCAwKTsKKyAgICB9Cit9Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180462</attachid>
            <date>2012-12-20 19:38:03 -0800</date>
            <delta_ts>2013-01-28 19:21:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105486-20121220193519.patch</filename>
            <type>text/plain</type>
            <size>10119</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGIyNmZjNzdmNjY4N2Nk
NWIxZWRhOThjMzI1NDZiYjMwZmUxYzY5Yy4uMmJkZWNjMjRhYzBiZDEwNzRlNjVjNDFlZWMyMzZh
YTE1MjUzNGViMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTEyLTIwICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIHRvIHJlLWxh
eW91dCBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyBhZnRlciBzY2FsZSB3aGVuIHVzaW5nIHNldHRp
bmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDg2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gc2V0dGluZ3MoKS0+Zml4ZWRF
bGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpIG1vZGUgZml4ZWQgcG9zaXRpb24KKyAgICAg
ICAgZWxlbWVudHMgYXJlIGxheW91dCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB2aXNpYmxlIHZp
ZXdwb3J0LCB3aGljaCBjYW4KKyAgICAgICAgYmUgZGlmZmVyZW50IGZyb20gdGhlIGxheW91dCB2
aWV3cG9ydCB3aGVuIHVzaW5nIGZpeGVkLWxheW91dCBtb2RlLgorICAgICAgICBXZSBuZWVkIHRv
IG5vdGlmeSB0aGUgY2hhbmdlIG9mIHZpc2libGUgdmlld3BvcnQgd2hlbiBpdCBpcyBzY2FsZWQu
CisKKyAgICAgICAgVGVzdDogZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFm
dGVyLXNjYWxlLmh0bWwKKworICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWU6OmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCk6CisgICAgICAgICog
cGFnZS9GcmFtZS5oOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAgICogcGFn
ZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNldFBhZ2VTY2FsZUZhY3Rvcik6
CisKIDIwMTItMTItMTggIENoYW5nU2VvayBPaCAgPHNoaXZhbWlkb3dAZ21haWwuY29tPgogCiAg
ICAgICAgIFtHVEtdW0FDXSBBc3NlcnRpb24gZmFpbGVkIHdoaWxlIGRlc3Ryb3lpbmcgR3JhcGhp
Y3NMYXllcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCBmZTljZTBiZTZiOWMxMmFiNjg3NWIwZmNj
M2UyMjBjMTE1MTFiZDQ3Li5mYzg0ZjE0ZThkOWRmNTNlM2Y3NDBmNDIxZGIzNmY2NDFlNDIxZjhm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAtOTk1LDE3ICs5OTUsMjEgQEAgdm9pZCBGcmFtZTo6
cmVzdW1lQWN0aXZlRE9NT2JqZWN0c0FuZEFuaW1hdGlvbnMoKQogICAgIH0KIH0KIAotI2lmIFVT
RShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIHZvaWQgRnJhbWU6OmRldmljZU9yUGFnZVNjYWxl
RmFjdG9yQ2hhbmdlZCgpCiB7CisgICAgaWYgKG1fcGFnZSAmJiBtX3BhZ2UtPm1haW5GcmFtZSgp
ID09IHRoaXMgJiYgbV92aWV3ICYmIG1fdmlldy0+Zml4ZWRFbGVtZW50c0xheW91dFJlbGF0aXZl
VG9GcmFtZSgpKQorICAgICAgICBtX3ZpZXctPnNldFZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3Rz
TmVlZExheW91dCgpOworCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIGZv
ciAoRnJhbWUqIGNoaWxkID0gdHJlZSgpLT5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNo
aWxkLT50cmVlKCktPm5leHRTaWJsaW5nKCkpCiAgICAgICAgIGNoaWxkLT5kZXZpY2VPclBhZ2VT
Y2FsZUZhY3RvckNoYW5nZWQoKTsKIAogICAgIFJlbmRlclZpZXcqIHJvb3QgPSBjb250ZW50UmVu
ZGVyZXIoKTsKICAgICBpZiAocm9vdCAmJiByb290LT5jb21wb3NpdG9yKCkpCiAgICAgICAgIHJv
b3QtPmNvbXBvc2l0b3IoKS0+ZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7Ci19CiAj
ZW5kaWYKK30KKwogdm9pZCBGcmFtZTo6bm90aWZ5Q2hyb21lQ2xpZW50V2hlZWxFdmVudEhhbmRs
ZXJDb3VudENoYW5nZWQoKSBjb25zdAogewogICAgIC8vIEVuc3VyZSB0aGF0IHRoaXMgbWV0aG9k
IGlzIGJlaW5nIGNhbGxlZCBvbiB0aGUgbWFpbiBmcmFtZSBvZiB0aGUgcGFnZS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWUuaAppbmRleCA3MDUzZWIyNDA5ODc3MTgwN2Y4YzQ0OWZmZGM4MDg2MjU3NjM1OTdlLi5iMGI1
MjM0NmE4YzgzNzI1NjJiYjljZGQzMTU1M2E2NjBhYTYzYzBlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCkBA
IC0xNTksOSArMTU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBTY2FsZSBm
YWN0b3Igb2YgdGhpcyBmcmFtZSB3aXRoIHJlc3BlY3QgdG8gdGhlIGNvbnRhaW5lci4KICAgICAg
ICAgZmxvYXQgZnJhbWVTY2FsZUZhY3RvcigpIGNvbnN0OwogCi0jaWYgVVNFKEFDQ0VMRVJBVEVE
X0NPTVBPU0lUSU5HKQogICAgICAgICB2b2lkIGRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdl
ZCgpOwotI2VuZGlmCiAKICNpZiBFTkFCTEUoT1JJRU5UQVRJT05fRVZFTlRTKQogICAgICAgICAv
LyBPcmllbnRhdGlvbiBpcyB0aGUgaW50ZXJmYWNlIG9yaWVudGF0aW9uIGluIGRlZ3JlZXMuIFNv
bWUgZXhhbXBsZXMgYXJlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggZmFiMzc0NjBiZmZi
MzM0ODY2MjQ0ZjI3MDg3MTU4MGEzYWE0MDk1YS4uY2QxMmE3MTY0MDlmMTE2MWJkZDI1MmI4ZTky
YTgxNWNjNTM4ZWNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC0yMDgsNiArMjA4LDcg
QEAgcHVibGljOgogICAgIHZvaWQgcmVtb3ZlVmlld3BvcnRDb25zdHJhaW5lZE9iamVjdChSZW5k
ZXJPYmplY3QqKTsKICAgICBjb25zdCBWaWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0U2V0KiB2aWV3
cG9ydENvbnN0cmFpbmVkT2JqZWN0cygpIGNvbnN0IHsgcmV0dXJuIG1fdmlld3BvcnRDb25zdHJh
aW5lZE9iamVjdHMuZ2V0KCk7IH0KICAgICBib29sIGhhc1ZpZXdwb3J0Q29uc3RyYWluZWRPYmpl
Y3RzKCkgY29uc3QgeyByZXR1cm4gbV92aWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0cyAmJiBtX3Zp
ZXdwb3J0Q29uc3RyYWluZWRPYmplY3RzLT5zaXplKCkgPiAwOyB9CisgICAgdm9pZCBzZXRWaWV3
cG9ydENvbnN0cmFpbmVkT2JqZWN0c05lZWRMYXlvdXQoKTsKIAogICAgIC8vIEZ1bmN0aW9ucyBm
b3IgcXVlcnlpbmcgdGhlIGN1cnJlbnQgc2Nyb2xsZWQgcG9zaXRpb24sIG5lZ2F0aW5nIHRoZSBl
ZmZlY3RzIG9mIG92ZXJoYW5nCiAgICAgLy8gYW5kIGFkanVzdGluZyBmb3IgcGFnZSBzY2FsZS4K
QEAgLTQ2Nyw4ICs0NjgsNiBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBkb0xheW91dFdpdGhGcmFt
ZUZsYXR0ZW5pbmcoYm9vbCBhbGxvd1N1YnRyZWUpOwogCi0gICAgdm9pZCBzZXRWaWV3cG9ydENv
bnN0cmFpbmVkT2JqZWN0c05lZWRMYXlvdXQoKTsKLQogICAgIHZpcnR1YWwgQVhPYmplY3RDYWNo
ZSogYXhPYmplY3RDYWNoZSgpIGNvbnN0OwogICAgIHZvaWQgbm90aWZ5V2lkZ2V0c0luQWxsRnJh
bWVzKFdpZGdldE5vdGlmaWNhdGlvbik7CiAgICAgdm9pZCByZW1vdmVGcm9tQVhPYmplY3RDYWNo
ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggZWEwOGRlNmQyZmMwMWFkMjgzZWZjMWZkMDNhYWQ3
NDY5M2I2YTlhNi4uNWQzNmMxOGI1OTUwZjBmNWQ0YzI1NjM1ZTY5ZTA5YTk0MWM4NWNjYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwCkBAIC02OTQsOSArNjk0LDcgQEAgdm9pZCBQYWdlOjpzZXRQYWdlU2Nh
bGVGYWN0b3IoZmxvYXQgc2NhbGUsIGNvbnN0IEludFBvaW50JiBvcmlnaW4pCiAgICAgLy8gVHJh
bnNmb3JtIGNoYW5nZSBvbiBSZW5kZXJWaWV3IGRvZXNuJ3QgdHJpZ2dlciByZXBhaW50IG9uIG5v
bi1jb21wb3NpdGVkIGNvbnRlbnRzLgogICAgIG1haW5GcmFtZSgpLT52aWV3KCktPmludmFsaWRh
dGVSZWN0KEludFJlY3QoTGF5b3V0UmVjdDo6aW5maW5pdGVSZWN0KCkpKTsKIAotI2lmIFVTRShB
Q0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICBtYWluRnJhbWUoKS0+ZGV2aWNlT3JQYWdlU2Nh
bGVGYWN0b3JDaGFuZ2VkKCk7Ci0jZW5kaWYKIAogICAgIGlmICh2aWV3ICYmIHZpZXctPnNjcm9s
bFBvc2l0aW9uKCkgIT0gb3JpZ2luKSB7CiAgICAgICAgIGlmIChkb2N1bWVudC0+cmVuZGVyZXIo
KSAmJiBkb2N1bWVudC0+cmVuZGVyZXIoKS0+bmVlZHNMYXlvdXQoKSAmJiB2aWV3LT5kaWRGaXJz
dExheW91dCgpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGRiMTBmNzhmMjk3NzQ3MzBhNGY2YmExNjczNjJlMDc0MWQ4MjNm
NDcuLjIxMjg0MWNiMDVjZmI0NzE5MmY1YzhiYzY1ZTg0NzUyYjczY2QwOTYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxMi0xMi0yMCAgVGllbi1SZW4gQ2hlbiAgPHRyY2hlbkBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgTmVlZCB0byByZS1sYXlvdXQgZml4ZWQgcG9zaXRpb24gZWxlbWVudHMg
YWZ0ZXIgc2NhbGUgd2hlbiB1c2luZyBzZXR0aW5ncygpLT5maXhlZEVsZW1lbnRzTGF5b3V0UmVs
YXRpdmVUb0ZyYW1lKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwNTQ4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEluIHNldHRpbmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUo
KSBtb2RlIGZpeGVkIHBvc2l0aW9uCisgICAgICAgIGVsZW1lbnRzIGFyZSBsYXlvdXQgcmVsYXRp
dmUgdG8gdGhlIGN1cnJlbnQgdmlzaWJsZSB2aWV3cG9ydCwgd2hpY2ggY2FuCisgICAgICAgIGJl
IGRpZmZlcmVudCBmcm9tIHRoZSBsYXlvdXQgdmlld3BvcnQgd2hlbiB1c2luZyBmaXhlZC1sYXlv
dXQgbW9kZS4KKyAgICAgICAgV2UgbmVlZCB0byBub3RpZnkgdGhlIGNoYW5nZSBvZiB2aXNpYmxl
IHZpZXdwb3J0IHdoZW4gaXQgaXMgc2NhbGVkLgorCisgICAgICAgICogZmFzdC9yZXBhaW50L3Jl
bGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2Fs
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlv
bnM6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTItMTIt
MTggIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBQcm94aWVzIHNo
b3VsZCBzZXQgSW50ZXJjZXB0c0dldE93blByb3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0
aElzTm90WmVybwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3JlbGF5b3V0
LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUtZXhwZWN0ZWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMGVkMGMwNTdkMTkxMTQ4ZDA0ZGFlM2UzMTc2YTFhZmE3YTZhMTRk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZp
eGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzMCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorLmZpeGVkX3NpemUgewor
ICAgIHBvc2l0aW9uOmFic29sdXRlOworICAgIGJhY2tncm91bmQtY29sb3I6I2NjZmZjYzsKKyAg
ICB3aWR0aDoxMDBweDsKKyAgICBoZWlnaHQ6MTAwcHg7Cit9CisucGVyY2VudGFnZV9zaXplIHsK
KyAgICBwb3NpdGlvbjphYnNvbHV0ZTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiNjY2NjZmY7Cisg
ICAgd2lkdGg6MTAlOworICAgIGhlaWdodDoxMCU7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCk7Ij4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJs
ZWZ0OjIwcHg7dG9wOjQwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9
InJpZ2h0OjYwcHg7dG9wOjgwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5
bGU9ImxlZnQ6MTAwcHg7Ym90dG9tOjEyMHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImZpeGVkX3Np
emUiIHN0eWxlPSJyaWdodDoxNDBweDtib3R0b206MTYwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0i
cGVyY2VudGFnZV9zaXplIiBzdHlsZT0ibGVmdDo0MCU7dG9wOjM1JSI+PC9kaXY+Cis8ZGl2IGNs
YXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxlPSJyaWdodDozMCU7dG9wOjI1JSI+PC9kaXY+Cis8
ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxlPSJsZWZ0OjIwJTtib3R0b206MTUlIj48
L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9InJpZ2h0OjEwJTtib3R0
b206NSUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1z
Y2FsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiODBlYzE3NzhhMWQyMmNjNGRlOTA4YjYwZWM1YWNlYzYy
Yjg1ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvcmVsYXlv
dXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUuaHRtbApAQCAtMCwwICsxLDQzIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGhpcyB0ZXN0IGlzIHN1Y2Nlc3Nm
dWwgaWYgZml4ZWQgcG9zaXRpb24gZWxlbWVudHMgcmUtbGF5b3V0IGNvcnJlY3RseSBvbiBwYWdl
IHNjYWxlIGNoYW5nZXM8L3RpdGxlPgorPHN0eWxlPgorOjotd2Via2l0LXNjcm9sbGJhciB7Cisg
ICAgd2lkdGg6MDsKKyAgICBoZWlnaHQ6MDsKK30KKy5maXhlZF9zaXplIHsKKyAgICBwb3NpdGlv
bjpmaXhlZDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiNjY2ZmY2M7CisgICAgd2lkdGg6NTBweDsK
KyAgICBoZWlnaHQ6NTBweDsKK30KKy5wZXJjZW50YWdlX3NpemUgeworICAgIHBvc2l0aW9uOmZp
eGVkOworICAgIGJhY2tncm91bmQtY29sb3I6I2NjY2NmZjsKKyAgICB3aWR0aDoxMCU7CisgICAg
aGVpZ2h0OjEwJTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KTsiPgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9ImxlZnQ6MTBweDt0b3A6MjBweCI+
PC9kaXY+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0icmlnaHQ6MzBweDt0b3A6NDBw
eCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0ibGVmdDo1MHB4O2JvdHRv
bTo2MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJyaWdodDo3MHB4
O2JvdHRvbTo4MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9
ImxlZnQ6NDAlO3RvcDozNSUiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXplIiBz
dHlsZT0icmlnaHQ6MzAlO3RvcDoyNSUiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVyY2VudGFnZV9z
aXplIiBzdHlsZT0ibGVmdDoyMCU7Ym90dG9tOjE1JSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJj
ZW50YWdlX3NpemUiIHN0eWxlPSJyaWdodDoxMCU7Ym90dG9tOjUlIj48L2Rpdj4KKzxzY3JpcHQ+
CitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAg
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Rml4ZWRFbGVtZW50c0xheW91dFJlbGF0
aXZlVG9GcmFtZSh0cnVlKTsKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXRQYWdlU2NhbGVG
YWN0b3IoMiwgMCwgMCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBh
MjIxYjdhYzk3ZTkzMjg1YzcyZWM5YTI4MDk4MzVmZmE2OTBjMmEzLi42MzgyYzQ0MmM4OGVhYjhj
Njg0YzM0OTJiMzY0NDYwMjBjYjBmYjE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0zNjMsNiArMzYzLDcgQEAgc3B1dG5pay9Vbmljb2Rl
L1VuaWNvZGVfMjE4L1M3LjZfQTUuMl9UMS5odG1sCiAKIHBsYXRmb3JtL21hYy90aWxlZC1kcmF3
aW5nLyBbIFBhc3MgXQogZmFzdC9jc3Mvc3RpY2t5L3N0aWNreS10b3Atem9vbWVkLmh0bWwgWyBQ
YXNzIF0KK2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS5o
dG1sIFsgUGFzcyBdCiAKICMjIyBFTkQgT0YgKDUpIEZlYXR1cmVzIHRoYXQgYXJlIG5vdCBzdXBw
b3J0ZWQgaW4gV2ViS2l0MSwgc28gc2tpcHBlZCBpbiBtYWMvVGVzdEV4cGVjdGF0aW9ucyB0aGVu
IHJlLWVuYWJsZWQgaGVyZQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA0OTlkN2Mx
YTI5MzljNGU5OTkzYzdiMjAyMWNiNTk2ZDgzNWM3MzBlLi45MDIwZTdjNDNhNTFkMjQ1NjgzYzFh
MmU1Njc2MDM3ZWUzZmI4MTQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMTIyNCw2ICsxMjI0LDcgQEAgcGxhdGZvcm0vbWFjL3RpbGVkLWRyYXdpbmcv
IFsgU2tpcCBdCiAKICMgQ2FuJ3QgaGlkZSBzY3JvbGxiYXJzIGluIFdLMQogZmFzdC9jc3Mvc3Rp
Y2t5L3N0aWNreS10b3Atem9vbWVkLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2Zhc3QvcmVw
YWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xMDA4NDYgaW5zcGVjdG9yLXByb3RvY29sL2RlYnVn
Z2VyLXBhdXNlLWRlZGljYXRlZC13b3JrZXIuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEw
MDg0NiBpbnNwZWN0b3ItcHJvdG9jb2wvZGVidWdnZXItdGVybWluYXRlLWRlZGljYXRlZC13b3Jr
ZXItd2hpbGUtcGF1c2VkLmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185133</attachid>
            <date>2013-01-28 19:21:39 -0800</date>
            <delta_ts>2013-01-29 16:03:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105486-20130128191826.patch</filename>
            <type>text/plain</type>
            <size>5712</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjUyMTI5ODQxZmE3MzY5
MjI0NjE2N2E5ZGRjOWU5Nzk1ZTdjZDFjYy4uNjg0NzhkMWI5ZDAwZGNjNTUwZWMyY2U5Njc0ZjA1
Njk2YmU3YWU0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAxLTI4ICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIHRvIHJlLWxh
eW91dCBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyBhZnRlciBzY2FsZSB3aGVuIHVzaW5nIHNldHRp
bmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDg2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gc2V0dGluZ3MoKS0+Zml4ZWRF
bGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpIG1vZGUgZml4ZWQgcG9zaXRpb24KKyAgICAg
ICAgZWxlbWVudHMgYXJlIGxheW91dCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB2aXNpYmxlIHZp
ZXdwb3J0LCB3aGljaCBjYW4KKyAgICAgICAgYmUgZGlmZmVyZW50IGZyb20gdGhlIGxheW91dCB2
aWV3cG9ydCB3aGVuIHVzaW5nIGZpeGVkLWxheW91dCBtb2RlLgorICAgICAgICBXZSBuZWVkIHRv
IG5vdGlmeSB0aGUgY2hhbmdlIG9mIHZpc2libGUgdmlld3BvcnQgd2hlbiBpdCBpcyBzY2FsZWQu
CisKKyAgICAgICAgVGVzdDogZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFm
dGVyLXNjYWxlLmh0bWwKKworICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6dmlzaWJsZUNvbnRlbnRzUmVzaXplZCk6CisKIDIwMTMtMDEt
MjggIFRvbSBTZXBleiAgPHRzZXBlekBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW3Y4XSBTZWN1
cml0eSBmZWF0dXJlOiBKYXZhU2NyaXB0IEJpbmRpbmdzIGhhcmRlbmluZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCmluZGV4IGViZmUxYzgxZGNjMzkzMGQ0N2RkODVmNWU0NTVhYjIwNmQwNmIw
YWYuLjVlNTgwMzU1YzdmODhjMzJkOWU1YTAyZDBmODViMWNjNWM4YmU2MDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5jcHAKQEAgLTIwMjIsNiArMjAyMiw5IEBAIHZvaWQgRnJhbWVWaWV3Ojp2
aXNpYmxlQ29udGVudHNSZXNpemVkKCkKICAgICBpZiAoIWZyYW1lKCktPnZpZXcoKSkKICAgICAg
ICAgcmV0dXJuOwogCisgICAgaWYgKGZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUo
KSkKKyAgICAgICAgc2V0Vmlld3BvcnRDb25zdHJhaW5lZE9iamVjdHNOZWVkTGF5b3V0KCk7CisK
ICAgICBpZiAobmVlZHNMYXlvdXQoKSkKICAgICAgICAgbGF5b3V0KCk7CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwNzdk
Zjg4MTc5ZGMyYWVhYzA0YWY5YTI2NmQzMjRlYzNmNmQzN2Y4Li5hZDY2NDMyOTY1NjJkZTNkMDc3
NDIzYWYyYWFkODI0YjhmMDI0NjcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTMtMDEtMjgg
IFRpZW4tUmVuIENoZW4gIDx0cmNoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5lZWQgdG8g
cmUtbGF5b3V0IGZpeGVkIHBvc2l0aW9uIGVsZW1lbnRzIGFmdGVyIHNjYWxlIHdoZW4gdXNpbmcg
c2V0dGluZ3MoKS0+Zml4ZWRFbGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU0ODYKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBzZXR0aW5ncygpLT5m
aXhlZEVsZW1lbnRzTGF5b3V0UmVsYXRpdmVUb0ZyYW1lKCkgbW9kZSBmaXhlZCBwb3NpdGlvbgor
ICAgICAgICBlbGVtZW50cyBhcmUgbGF5b3V0IHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHZpc2li
bGUgdmlld3BvcnQsIHdoaWNoIGNhbgorICAgICAgICBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgbGF5
b3V0IHZpZXdwb3J0IHdoZW4gdXNpbmcgZml4ZWQtbGF5b3V0IG1vZGUuCisgICAgICAgIFdlIG5l
ZWQgdG8gbm90aWZ5IHRoZSBjaGFuZ2Ugb2YgdmlzaWJsZSB2aWV3cG9ydCB3aGVuIGl0IGlzIHNj
YWxlZC4KKworICAgICAgICAqIGZhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1h
ZnRlci1zY2FsZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQv
cmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUuaHRtbDogQWRkZWQuCisKIDIwMTMt
MDEtMjggIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFr
ZSBpbnRlZ2VyLW1vZHVsby5qcyBhIHRyeSBKUy1SZWdyZXNzIHRlc3QKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2Fs
ZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVk
LXBvc2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGI1YjgwM2E3
YmYyYzAxNmNmOGM1ZDZhODAwNmExNDUzYWEwZWE2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS1l
eHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzdHlsZT4KKy5maXhlZF9zaXplIHsKKyAgICBwb3NpdGlvbjphYnNvbHV0ZTsKKyAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiNjY2ZmY2M7CisgICAgd2lkdGg6MjVweDsKKyAgICBoZWlnaHQ6
MjVweDsKK30KKy5wZXJjZW50YWdlX3NpemUgeworICAgIHBvc2l0aW9uOmFic29sdXRlOworICAg
IGJhY2tncm91bmQtY29sb3I6I2NjY2NmZjsKKyAgICB3aWR0aDoxMCU7CisgICAgaGVpZ2h0OjEw
JTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0id2lkdGg6ODAwcHg7aGVpZ2h0
OjYwMHB4O21hcmdpbjowOyI+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0ibGVmdDo1
cHg7dG9wOjEwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9InJpZ2h0
OjE1cHg7dG9wOjIwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9Imxl
ZnQ6MjVweDtib3R0b206MzBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHls
ZT0icmlnaHQ6MzVweDtib3R0b206NDBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdl
X3NpemUiIHN0eWxlPSJsZWZ0OjQwJTt0b3A6MzUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNl
bnRhZ2Vfc2l6ZSIgc3R5bGU9InJpZ2h0OjMwJTt0b3A6MjUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9
InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9ImxlZnQ6MjAlO2JvdHRvbToxNSUiPjwvZGl2PgorPGRp
diBjbGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0icmlnaHQ6MTAlO2JvdHRvbTo1JSI+PC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFp
bnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjg5MzZhZmI5YmQ4M2IzNmVlOGU5MzlhZjZlYWI1NGZmZTE1ZDRkMzIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9z
aXRpb24tYWZ0ZXItc2NhbGUuaHRtbApAQCAtMCwwICsxLDQzIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGhpcyB0ZXN0IGlzIHN1Y2Nlc3NmdWwgaWYgZml4ZWQg
cG9zaXRpb24gZWxlbWVudHMgcmUtbGF5b3V0IGNvcnJlY3RseSBvbiBwYWdlIHNjYWxlIGNoYW5n
ZXM8L3RpdGxlPgorPHN0eWxlPgorLmZpeGVkX3NpemUgeworICAgIHBvc2l0aW9uOmZpeGVkOwor
ICAgIGJhY2tncm91bmQtY29sb3I6I2NjZmZjYzsKKyAgICB3aWR0aDo1MHB4OworICAgIGhlaWdo
dDo1MHB4OworfQorLnBlcmNlbnRhZ2Vfc2l6ZSB7CisgICAgcG9zaXRpb246Zml4ZWQ7CisgICAg
YmFja2dyb3VuZC1jb2xvcjojY2NjY2ZmOworICAgIHdpZHRoOjEwJTsKKyAgICBoZWlnaHQ6MTAl
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyIgc3R5bGU9
IndpZHRoOjE2MDBweDtoZWlnaHQ6MTIwMHB4O21hcmdpbjowOyI+Cis8ZGl2IGNsYXNzPSJmaXhl
ZF9zaXplIiBzdHlsZT0ibGVmdDoxMHB4O3RvcDoyMHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImZp
eGVkX3NpemUiIHN0eWxlPSJyaWdodDozMHB4O3RvcDo0MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9
ImZpeGVkX3NpemUiIHN0eWxlPSJsZWZ0OjUwcHg7Ym90dG9tOjYwcHgiPjwvZGl2PgorPGRpdiBj
bGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9InJpZ2h0OjcwcHg7Ym90dG9tOjgwcHgiPjwvZGl2Pgor
PGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0ibGVmdDo0MCU7dG9wOjM1JSI+PC9k
aXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxlPSJyaWdodDozMCU7dG9wOjI1
JSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxlPSJsZWZ0OjIwJTti
b3R0b206MTUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9InJp
Z2h0OjEwJTtib3R0b206NSUiPjwvZGl2PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRGaXhlZEVsZW1lbnRzTGF5b3V0UmVsYXRpdmVUb0ZyYW1lKHRydWUpOworCisg
ICAgICAgIC8vIEZvcmNlIHNjcm9sbGJhciB0byBoaWRlIGFuZCByZS1sYXlvdXQgaW1tZWRpYXRl
bHkuCisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0UGFnZVNjYWxlRmFjdG9yKDAuMSwgMCwg
MCk7CisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuYm91bmRpbmdCb3goZG9jdW1lbnQuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoImJvZHkiKVswXSk7CisKKyAgICAgICAgd2luZG93LmludGVybmFscy5z
ZXRQYWdlU2NhbGVGYWN0b3IoMC41LCAwLCAwKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185330</attachid>
            <date>2013-01-29 16:03:09 -0800</date>
            <delta_ts>2013-01-30 17:38:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105486-20130129155955.patch</filename>
            <type>text/plain</type>
            <size>5874</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjUyMTI5ODQxZmE3MzY5
MjI0NjE2N2E5ZGRjOWU5Nzk1ZTdjZDFjYy4uYTYwNGY5NGExNjQ4ODkxMzcwOTcxOTRlMTM1NTQw
YTc3NzQ1OGExNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAxLTI5ICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIHRvIHJlLWxh
eW91dCBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyBhZnRlciBzY2FsZSB3aGVuIHVzaW5nIHNldHRp
bmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDg2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gc2V0dGluZ3MoKS0+Zml4ZWRF
bGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpIG1vZGUgZml4ZWQgcG9zaXRpb24KKyAgICAg
ICAgZWxlbWVudHMgYXJlIGxheW91dCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB2aXNpYmxlIHZp
ZXdwb3J0LCB3aGljaCBjYW4KKyAgICAgICAgYmUgZGlmZmVyZW50IGZyb20gdGhlIGxheW91dCB2
aWV3cG9ydCB3aGVuIHVzaW5nIGZpeGVkLWxheW91dCBtb2RlLgorICAgICAgICBXZSBuZWVkIHRv
IG5vdGlmeSB0aGUgY2hhbmdlIG9mIHZpc2libGUgdmlld3BvcnQgd2hlbiBpdCBpcyBzY2FsZWQu
CisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0
LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLmh0bWwKKworICAgICAgICAqIHBhZ2UvRnJhbWVW
aWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dmlzaWJsZUNvbnRlbnRzUmVz
aXplZCk6CisKIDIwMTMtMDEtMjggIFRvbSBTZXBleiAgPHRzZXBlekBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgW3Y4XSBTZWN1cml0eSBmZWF0dXJlOiBKYXZhU2NyaXB0IEJpbmRpbmdzIGhhcmRl
bmluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGViZmUxYzgxZGNjMzkzMGQ0N2Rk
ODVmNWU0NTVhYjIwNmQwNmIwYWYuLjVlNTgwMzU1YzdmODhjMzJkOWU1YTAyZDBmODViMWNjNWM4
YmU2MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTIwMjIsNiArMjAyMiw5IEBA
IHZvaWQgRnJhbWVWaWV3Ojp2aXNpYmxlQ29udGVudHNSZXNpemVkKCkKICAgICBpZiAoIWZyYW1l
KCktPnZpZXcoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKGZpeGVkRWxlbWVudHNMYXlv
dXRSZWxhdGl2ZVRvRnJhbWUoKSkKKyAgICAgICAgc2V0Vmlld3BvcnRDb25zdHJhaW5lZE9iamVj
dHNOZWVkTGF5b3V0KCk7CisKICAgICBpZiAobmVlZHNMYXlvdXQoKSkKICAgICAgICAgbGF5b3V0
KCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCAwNzdkZjg4MTc5ZGMyYWVhYzA0YWY5YTI2NmQzMjRlYzNmNmQzN2Y4Li5m
YTIxZDJmOGRhYWNhZWI0MGI5ZTE0MDkxM2Q0Njg5YjQwZGI4Y2ZmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTggQEAKKzIwMTMtMDEtMjkgIFRpZW4tUmVuIENoZW4gIDx0cmNoZW5AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIE5lZWQgdG8gcmUtbGF5b3V0IGZpeGVkIHBvc2l0aW9uIGVsZW1lbnRzIGFmdGVy
IHNjYWxlIHdoZW4gdXNpbmcgc2V0dGluZ3MoKS0+Zml4ZWRFbGVtZW50c0xheW91dFJlbGF0aXZl
VG9GcmFtZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDU0ODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbiBzZXR0aW5ncygpLT5maXhlZEVsZW1lbnRzTGF5b3V0UmVsYXRpdmVUb0ZyYW1lKCkgbW9k
ZSBmaXhlZCBwb3NpdGlvbgorICAgICAgICBlbGVtZW50cyBhcmUgbGF5b3V0IHJlbGF0aXZlIHRv
IHRoZSBjdXJyZW50IHZpc2libGUgdmlld3BvcnQsIHdoaWNoIGNhbgorICAgICAgICBiZSBkaWZm
ZXJlbnQgZnJvbSB0aGUgbGF5b3V0IHZpZXdwb3J0IHdoZW4gdXNpbmcgZml4ZWQtbGF5b3V0IG1v
ZGUuCisgICAgICAgIFdlIG5lZWQgdG8gbm90aWZ5IHRoZSBjaGFuZ2Ugb2YgdmlzaWJsZSB2aWV3
cG9ydCB3aGVuIGl0IGlzIHNjYWxlZC4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zh
c3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS1leHBlY3RlZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVs
YXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUuaHRtbDogQWRkZWQuCisKIDIwMTMtMDEt
MjggIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBp
bnRlZ2VyLW1vZHVsby5qcyBhIHRyeSBKUy1SZWdyZXNzIHRlc3QKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3Np
dGlvbi1hZnRlci1zY2FsZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGI1YjgwM2E3YmYyYzAxNmNmOGM1ZDZhODAwNmExNDUz
YWEwZWE2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS1leHBlY3Rl
ZC5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxzdHlsZT4KKy5maXhlZF9zaXplIHsKKyAgICBwb3NpdGlvbjphYnNvbHV0ZTsKKyAgICBiYWNr
Z3JvdW5kLWNvbG9yOiNjY2ZmY2M7CisgICAgd2lkdGg6MjVweDsKKyAgICBoZWlnaHQ6MjVweDsK
K30KKy5wZXJjZW50YWdlX3NpemUgeworICAgIHBvc2l0aW9uOmFic29sdXRlOworICAgIGJhY2tn
cm91bmQtY29sb3I6I2NjY2NmZjsKKyAgICB3aWR0aDoxMCU7CisgICAgaGVpZ2h0OjEwJTsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0id2lkdGg6ODAwcHg7aGVpZ2h0OjYwMHB4
O21hcmdpbjowOyI+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0ibGVmdDo1cHg7dG9w
OjEwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9InJpZ2h0OjE1cHg7
dG9wOjIwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9ImxlZnQ6MjVw
eDtib3R0b206MzBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0icmln
aHQ6MzVweDtib3R0b206NDBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUi
IHN0eWxlPSJsZWZ0OjQwJTt0b3A6MzUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vf
c2l6ZSIgc3R5bGU9InJpZ2h0OjMwJTt0b3A6MjUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNl
bnRhZ2Vfc2l6ZSIgc3R5bGU9ImxlZnQ6MjAlO2JvdHRvbToxNSUiPjwvZGl2PgorPGRpdiBjbGFz
cz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0icmlnaHQ6MTAlO2JvdHRvbTo1JSI+PC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9mYXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUuaHRtbCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhl
ZC1wb3NpdGlvbi1hZnRlci1zY2FsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg5MzZhZmI5YmQ4M2IzNmVl
OGU5MzlhZjZlYWI1NGZmZTE1ZDRkMzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0
ZXItc2NhbGUuaHRtbApAQCAtMCwwICsxLDQzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8dGl0bGU+VGhpcyB0ZXN0IGlzIHN1Y2Nlc3NmdWwgaWYgZml4ZWQgcG9zaXRpb24g
ZWxlbWVudHMgcmUtbGF5b3V0IGNvcnJlY3RseSBvbiBwYWdlIHNjYWxlIGNoYW5nZXM8L3RpdGxl
PgorPHN0eWxlPgorLmZpeGVkX3NpemUgeworICAgIHBvc2l0aW9uOmZpeGVkOworICAgIGJhY2tn
cm91bmQtY29sb3I6I2NjZmZjYzsKKyAgICB3aWR0aDo1MHB4OworICAgIGhlaWdodDo1MHB4Owor
fQorLnBlcmNlbnRhZ2Vfc2l6ZSB7CisgICAgcG9zaXRpb246Zml4ZWQ7CisgICAgYmFja2dyb3Vu
ZC1jb2xvcjojY2NjY2ZmOworICAgIHdpZHRoOjEwJTsKKyAgICBoZWlnaHQ6MTAlOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyIgc3R5bGU9IndpZHRoOjE2
MDBweDtoZWlnaHQ6MTIwMHB4O21hcmdpbjowOyI+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBz
dHlsZT0ibGVmdDoxMHB4O3RvcDoyMHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUi
IHN0eWxlPSJyaWdodDozMHB4O3RvcDo0MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImZpeGVkX3Np
emUiIHN0eWxlPSJsZWZ0OjUwcHg7Ym90dG9tOjYwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4
ZWRfc2l6ZSIgc3R5bGU9InJpZ2h0OjcwcHg7Ym90dG9tOjgwcHgiPjwvZGl2PgorPGRpdiBjbGFz
cz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0ibGVmdDo0MCU7dG9wOjM1JSI+PC9kaXY+Cis8ZGl2
IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxlPSJyaWdodDozMCU7dG9wOjI1JSI+PC9kaXY+
Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxlPSJsZWZ0OjIwJTtib3R0b206MTUl
Ij48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9InJpZ2h0OjEwJTti
b3R0b206NSUiPjwvZGl2PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgaWYg
KHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5z
ZXRGaXhlZEVsZW1lbnRzTGF5b3V0UmVsYXRpdmVUb0ZyYW1lKHRydWUpOworCisgICAgICAgIC8v
IEZvcmNlIHNjcm9sbGJhciB0byBoaWRlIGFuZCByZS1sYXlvdXQgaW1tZWRpYXRlbHkuCisgICAg
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0UGFnZVNjYWxlRmFjdG9yKDAuMSwgMCwgMCk7CisgICAg
ICAgIHdpbmRvdy5pbnRlcm5hbHMuYm91bmRpbmdCb3goZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRh
Z05hbWUoImJvZHkiKVswXSk7CisKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXRQYWdlU2Nh
bGVGYWN0b3IoMC41LCAwLCAwKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185636</attachid>
            <date>2013-01-30 17:38:29 -0800</date>
            <delta_ts>2013-01-30 17:39:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105486-20130130173513.patch</filename>
            <type>text/plain</type>
            <size>5924</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMzI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmEwMjRjNjZiMTI0MGMz
OTc3Zjc2MDM1YTZkODVlMTI1NGQwNzYwZS4uNjVhNDMxMmI1NTUxZWMxMTkwNTNmOTNlN2EzOTVl
MmEwYmFiYjYxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAxLTMwICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIHRvIHJlLWxh
eW91dCBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyBhZnRlciBzY2FsZSB3aGVuIHVzaW5nIHNldHRp
bmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDg2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gc2V0dGluZ3MoKS0+Zml4ZWRF
bGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpIG1vZGUgZml4ZWQgcG9zaXRpb24KKyAgICAg
ICAgZWxlbWVudHMgYXJlIGxheW91dCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB2aXNpYmxlIHZp
ZXdwb3J0LCB3aGljaCBjYW4KKyAgICAgICAgYmUgZGlmZmVyZW50IGZyb20gdGhlIGxheW91dCB2
aWV3cG9ydCB3aGVuIHVzaW5nIGZpeGVkLWxheW91dCBtb2RlLgorICAgICAgICBXZSBuZWVkIHRv
IG5vdGlmeSB0aGUgY2hhbmdlIG9mIHZpc2libGUgdmlld3BvcnQgd2hlbiBpdCBpcyBzY2FsZWQu
CisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0
LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLmh0bWwKKworICAgICAgICAqIHBhZ2UvRnJhbWVW
aWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dmlzaWJsZUNvbnRlbnRzUmVz
aXplZCk6CisKIDIwMTMtMDEtMzAgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBIVE1MRG9jdW1lbnRQYXJzZXI6Omluc2VydCBzaG91bGQgYmUgYXdhcmUgb2YgdGhy
ZWFkZWQgcGFyc2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGE1OGQ2YTA0NDU0
MmM2NzI1OTYxNjJlOTNjM2Y4YzhhYTM5ZDc4M2IuLjg5ZjQ5Nzc0MzhjYWJhNWJiMmJkMWUzMDVi
NmZmNTg1MTE1OGMwZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTIwMjIsNiAr
MjAyMiw5IEBAIHZvaWQgRnJhbWVWaWV3Ojp2aXNpYmxlQ29udGVudHNSZXNpemVkKCkKICAgICBp
ZiAoIWZyYW1lKCktPnZpZXcoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKGZpeGVkRWxl
bWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKSkKKyAgICAgICAgc2V0Vmlld3BvcnRDb25zdHJh
aW5lZE9iamVjdHNOZWVkTGF5b3V0KCk7CisKICAgICBpZiAobmVlZHNMYXlvdXQoKSkKICAgICAg
ICAgbGF5b3V0KCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwMmFiNTYzMzdjMGQyYzY2Mzk0YTE4YjU2NjQxNGE1OGVi
NmE3NzJiLi4xYTdhYzdkYTZiNGE0ZjZmMTNmMmIzNTJiMTExOTNkMmU2M2Y2NjlhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTMtMDEtMzAgIFRpZW4tUmVuIENoZW4gIDx0cmNoZW5AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIE5lZWQgdG8gcmUtbGF5b3V0IGZpeGVkIHBvc2l0aW9uIGVsZW1l
bnRzIGFmdGVyIHNjYWxlIHdoZW4gdXNpbmcgc2V0dGluZ3MoKS0+Zml4ZWRFbGVtZW50c0xheW91
dFJlbGF0aXZlVG9GcmFtZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDU0ODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbiBzZXR0aW5ncygpLT5maXhlZEVsZW1lbnRzTGF5b3V0UmVsYXRpdmVUb0Zy
YW1lKCkgbW9kZSBmaXhlZCBwb3NpdGlvbgorICAgICAgICBlbGVtZW50cyBhcmUgbGF5b3V0IHJl
bGF0aXZlIHRvIHRoZSBjdXJyZW50IHZpc2libGUgdmlld3BvcnQsIHdoaWNoIGNhbgorICAgICAg
ICBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgbGF5b3V0IHZpZXdwb3J0IHdoZW4gdXNpbmcgZml4ZWQt
bGF5b3V0IG1vZGUuCisgICAgICAgIFdlIG5lZWQgdG8gbm90aWZ5IHRoZSBjaGFuZ2Ugb2Ygdmlz
aWJsZSB2aWV3cG9ydCB3aGVuIGl0IGlzIHNjYWxlZC4KKworICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS1l
eHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3Jl
cGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUuaHRtbDogQWRkZWQuCisK
IDIwMTMtMDEtMzAgIFJhZmFlbCBXZWluc3RlaW4gIDxyYWZhZWx3QGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBbSFRNTFRlbXBsYXRlRWxlbWVudF0gcHJldmVudCB0aGUgcGFyc2VyIGZyb20gcmVt
b3Zpbmcgbm9kZXMgZnJvbSB0aGUgY29udGVudCB3aGVuIHRoZSBmb3N0ZXIgYWdlbmN5IGlzIHBy
b2Nlc3NpbmcgZm9ybWF0dGluZyBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVy
LXNjYWxlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0
L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUtZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44YjViODAzYTdiZjJjMDE2Y2Y4YzVkNmE4MDA2YTE0NTNhYTBlYTYyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9yZXBh
aW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVjdGVkLmh0bWwKQEAg
LTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgor
LmZpeGVkX3NpemUgeworICAgIHBvc2l0aW9uOmFic29sdXRlOworICAgIGJhY2tncm91bmQtY29s
b3I6I2NjZmZjYzsKKyAgICB3aWR0aDoyNXB4OworICAgIGhlaWdodDoyNXB4OworfQorLnBlcmNl
bnRhZ2Vfc2l6ZSB7CisgICAgcG9zaXRpb246YWJzb2x1dGU7CisgICAgYmFja2dyb3VuZC1jb2xv
cjojY2NjY2ZmOworICAgIHdpZHRoOjEwJTsKKyAgICBoZWlnaHQ6MTAlOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5IHN0eWxlPSJ3aWR0aDo4MDBweDtoZWlnaHQ6NjAwcHg7bWFyZ2luOjA7
Ij4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJsZWZ0OjVweDt0b3A6MTBweCI+PC9k
aXY+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0icmlnaHQ6MTVweDt0b3A6MjBweCI+
PC9kaXY+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0ibGVmdDoyNXB4O2JvdHRvbToz
MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJyaWdodDozNXB4O2Jv
dHRvbTo0MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9Imxl
ZnQ6NDAlO3RvcDozNSUiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHls
ZT0icmlnaHQ6MzAlO3RvcDoyNSUiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXpl
IiBzdHlsZT0ibGVmdDoyMCU7Ym90dG9tOjE1JSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50
YWdlX3NpemUiIHN0eWxlPSJyaWdodDoxMCU7Ym90dG9tOjUlIj48L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvcmVw
YWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS5odG1sIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9u
LWFmdGVyLXNjYWxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTg5NmIzY2M3NmNmY2IyMGU4Njk3MmEyNThm
NjgyODc3ZThiYmM5ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS5o
dG1sCkBAIC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0
aXRsZT5UaGlzIHRlc3QgaXMgc3VjY2Vzc2Z1bCBpZiBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyBy
ZS1sYXlvdXQgY29ycmVjdGx5IG9uIHBhZ2Ugc2NhbGUgY2hhbmdlczwvdGl0bGU+Cis8c3R5bGU+
CisuZml4ZWRfc2l6ZSB7CisgICAgcG9zaXRpb246Zml4ZWQ7CisgICAgYmFja2dyb3VuZC1jb2xv
cjojY2NmZmNjOworICAgIHdpZHRoOjUwcHg7CisgICAgaGVpZ2h0OjUwcHg7Cit9CisucGVyY2Vu
dGFnZV9zaXplIHsKKyAgICBwb3NpdGlvbjpmaXhlZDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiNj
Y2NjZmY7CisgICAgd2lkdGg6MTAlOworICAgIGhlaWdodDoxMCU7Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7IiBzdHlsZT0id2lkdGg6MTYwMHB4O2hlaWdo
dDoxMjAwcHg7bWFyZ2luOjA7Ij4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJsZWZ0
OjEwcHg7dG9wOjIwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9InJp
Z2h0OjMwcHg7dG9wOjQwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9
ImxlZnQ6NTBweDtib3R0b206NjBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBz
dHlsZT0icmlnaHQ6NzBweDtib3R0b206ODBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50
YWdlX3NpemUiIHN0eWxlPSJsZWZ0OjQwJTt0b3A6MzUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBl
cmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9InJpZ2h0OjMwJTt0b3A6MjUlIj48L2Rpdj4KKzxkaXYgY2xh
c3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9ImxlZnQ6MjAlO2JvdHRvbToxNSUiPjwvZGl2Pgor
PGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0icmlnaHQ6MTAlO2JvdHRvbTo1JSI+
PC9kaXY+Cis8c2NyaXB0PgorZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93Lmlu
dGVybmFscykgeworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEZpeGVkRWxl
bWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUodHJ1ZSk7CisKKyAgICAgICAgLy8gRm9yY2Ugc2Ny
b2xsYmFyIHRvIGhpZGUgYW5kIHJlLWxheW91dCBpbW1lZGlhdGVseS4KKyAgICAgICAgd2luZG93
LmludGVybmFscy5zZXRQYWdlU2NhbGVGYWN0b3IoMC4xLCAwLCAwKTsKKwlkb2N1bWVudC5ib2R5
Lm9mZnNldFRvcDsKKworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldFBhZ2VTY2FsZUZhY3Rv
cigwLjUsIDAsIDApOworICAgIH0KK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185637</attachid>
            <date>2013-01-30 17:39:31 -0800</date>
            <delta_ts>2013-02-04 18:48:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105486-20130130173616.patch</filename>
            <type>text/plain</type>
            <size>5931</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMzI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmEwMjRjNjZiMTI0MGMz
OTc3Zjc2MDM1YTZkODVlMTI1NGQwNzYwZS4uNjVhNDMxMmI1NTUxZWMxMTkwNTNmOTNlN2EzOTVl
MmEwYmFiYjYxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAxLTMwICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIHRvIHJlLWxh
eW91dCBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyBhZnRlciBzY2FsZSB3aGVuIHVzaW5nIHNldHRp
bmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDg2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gc2V0dGluZ3MoKS0+Zml4ZWRF
bGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpIG1vZGUgZml4ZWQgcG9zaXRpb24KKyAgICAg
ICAgZWxlbWVudHMgYXJlIGxheW91dCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB2aXNpYmxlIHZp
ZXdwb3J0LCB3aGljaCBjYW4KKyAgICAgICAgYmUgZGlmZmVyZW50IGZyb20gdGhlIGxheW91dCB2
aWV3cG9ydCB3aGVuIHVzaW5nIGZpeGVkLWxheW91dCBtb2RlLgorICAgICAgICBXZSBuZWVkIHRv
IG5vdGlmeSB0aGUgY2hhbmdlIG9mIHZpc2libGUgdmlld3BvcnQgd2hlbiBpdCBpcyBzY2FsZWQu
CisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0
LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLmh0bWwKKworICAgICAgICAqIHBhZ2UvRnJhbWVW
aWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dmlzaWJsZUNvbnRlbnRzUmVz
aXplZCk6CisKIDIwMTMtMDEtMzAgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBIVE1MRG9jdW1lbnRQYXJzZXI6Omluc2VydCBzaG91bGQgYmUgYXdhcmUgb2YgdGhy
ZWFkZWQgcGFyc2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGE1OGQ2YTA0NDU0
MmM2NzI1OTYxNjJlOTNjM2Y4YzhhYTM5ZDc4M2IuLjg5ZjQ5Nzc0MzhjYWJhNWJiMmJkMWUzMDVi
NmZmNTg1MTE1OGMwZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTIwMjIsNiAr
MjAyMiw5IEBAIHZvaWQgRnJhbWVWaWV3Ojp2aXNpYmxlQ29udGVudHNSZXNpemVkKCkKICAgICBp
ZiAoIWZyYW1lKCktPnZpZXcoKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKGZpeGVkRWxl
bWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKSkKKyAgICAgICAgc2V0Vmlld3BvcnRDb25zdHJh
aW5lZE9iamVjdHNOZWVkTGF5b3V0KCk7CisKICAgICBpZiAobmVlZHNMYXlvdXQoKSkKICAgICAg
ICAgbGF5b3V0KCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwMmFiNTYzMzdjMGQyYzY2Mzk0YTE4YjU2NjQxNGE1OGVi
NmE3NzJiLi4xYTdhYzdkYTZiNGE0ZjZmMTNmMmIzNTJiMTExOTNkMmU2M2Y2NjlhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTMtMDEtMzAgIFRpZW4tUmVuIENoZW4gIDx0cmNoZW5AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIE5lZWQgdG8gcmUtbGF5b3V0IGZpeGVkIHBvc2l0aW9uIGVsZW1l
bnRzIGFmdGVyIHNjYWxlIHdoZW4gdXNpbmcgc2V0dGluZ3MoKS0+Zml4ZWRFbGVtZW50c0xheW91
dFJlbGF0aXZlVG9GcmFtZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDU0ODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbiBzZXR0aW5ncygpLT5maXhlZEVsZW1lbnRzTGF5b3V0UmVsYXRpdmVUb0Zy
YW1lKCkgbW9kZSBmaXhlZCBwb3NpdGlvbgorICAgICAgICBlbGVtZW50cyBhcmUgbGF5b3V0IHJl
bGF0aXZlIHRvIHRoZSBjdXJyZW50IHZpc2libGUgdmlld3BvcnQsIHdoaWNoIGNhbgorICAgICAg
ICBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgbGF5b3V0IHZpZXdwb3J0IHdoZW4gdXNpbmcgZml4ZWQt
bGF5b3V0IG1vZGUuCisgICAgICAgIFdlIG5lZWQgdG8gbm90aWZ5IHRoZSBjaGFuZ2Ugb2Ygdmlz
aWJsZSB2aWV3cG9ydCB3aGVuIGl0IGlzIHNjYWxlZC4KKworICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS1l
eHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3Jl
cGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUuaHRtbDogQWRkZWQuCisK
IDIwMTMtMDEtMzAgIFJhZmFlbCBXZWluc3RlaW4gIDxyYWZhZWx3QGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBbSFRNTFRlbXBsYXRlRWxlbWVudF0gcHJldmVudCB0aGUgcGFyc2VyIGZyb20gcmVt
b3Zpbmcgbm9kZXMgZnJvbSB0aGUgY29udGVudCB3aGVuIHRoZSBmb3N0ZXIgYWdlbmN5IGlzIHBy
b2Nlc3NpbmcgZm9ybWF0dGluZyBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVy
LXNjYWxlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0
L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUtZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44YjViODAzYTdiZjJjMDE2Y2Y4YzVkNmE4MDA2YTE0NTNhYTBlYTYyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9yZXBh
aW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVjdGVkLmh0bWwKQEAg
LTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgor
LmZpeGVkX3NpemUgeworICAgIHBvc2l0aW9uOmFic29sdXRlOworICAgIGJhY2tncm91bmQtY29s
b3I6I2NjZmZjYzsKKyAgICB3aWR0aDoyNXB4OworICAgIGhlaWdodDoyNXB4OworfQorLnBlcmNl
bnRhZ2Vfc2l6ZSB7CisgICAgcG9zaXRpb246YWJzb2x1dGU7CisgICAgYmFja2dyb3VuZC1jb2xv
cjojY2NjY2ZmOworICAgIHdpZHRoOjEwJTsKKyAgICBoZWlnaHQ6MTAlOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5IHN0eWxlPSJ3aWR0aDo4MDBweDtoZWlnaHQ6NjAwcHg7bWFyZ2luOjA7
Ij4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJsZWZ0OjVweDt0b3A6MTBweCI+PC9k
aXY+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0icmlnaHQ6MTVweDt0b3A6MjBweCI+
PC9kaXY+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0ibGVmdDoyNXB4O2JvdHRvbToz
MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJyaWdodDozNXB4O2Jv
dHRvbTo0MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9Imxl
ZnQ6NDAlO3RvcDozNSUiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHls
ZT0icmlnaHQ6MzAlO3RvcDoyNSUiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXpl
IiBzdHlsZT0ibGVmdDoyMCU7Ym90dG9tOjE1JSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50
YWdlX3NpemUiIHN0eWxlPSJyaWdodDoxMCU7Ym90dG9tOjUlIj48L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvcmVw
YWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS5odG1sIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9u
LWFmdGVyLXNjYWxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDI0ZWM2NWExM2QyODE4NjAzNjIzNzM0OWIw
ZTVjMjhjMWMwODcwMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS5o
dG1sCkBAIC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0
aXRsZT5UaGlzIHRlc3QgaXMgc3VjY2Vzc2Z1bCBpZiBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyBy
ZS1sYXlvdXQgY29ycmVjdGx5IG9uIHBhZ2Ugc2NhbGUgY2hhbmdlczwvdGl0bGU+Cis8c3R5bGU+
CisuZml4ZWRfc2l6ZSB7CisgICAgcG9zaXRpb246Zml4ZWQ7CisgICAgYmFja2dyb3VuZC1jb2xv
cjojY2NmZmNjOworICAgIHdpZHRoOjUwcHg7CisgICAgaGVpZ2h0OjUwcHg7Cit9CisucGVyY2Vu
dGFnZV9zaXplIHsKKyAgICBwb3NpdGlvbjpmaXhlZDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiNj
Y2NjZmY7CisgICAgd2lkdGg6MTAlOworICAgIGhlaWdodDoxMCU7Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7IiBzdHlsZT0id2lkdGg6MTYwMHB4O2hlaWdo
dDoxMjAwcHg7bWFyZ2luOjA7Ij4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJsZWZ0
OjEwcHg7dG9wOjIwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9InJp
Z2h0OjMwcHg7dG9wOjQwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9
ImxlZnQ6NTBweDtib3R0b206NjBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBz
dHlsZT0icmlnaHQ6NzBweDtib3R0b206ODBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50
YWdlX3NpemUiIHN0eWxlPSJsZWZ0OjQwJTt0b3A6MzUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBl
cmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9InJpZ2h0OjMwJTt0b3A6MjUlIj48L2Rpdj4KKzxkaXYgY2xh
c3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9ImxlZnQ6MjAlO2JvdHRvbToxNSUiPjwvZGl2Pgor
PGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0icmlnaHQ6MTAlO2JvdHRvbTo1JSI+
PC9kaXY+Cis8c2NyaXB0PgorZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93Lmlu
dGVybmFscykgeworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEZpeGVkRWxl
bWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUodHJ1ZSk7CisKKyAgICAgICAgLy8gRm9yY2Ugc2Ny
b2xsYmFyIHRvIGhpZGUgYW5kIHJlLWxheW91dCBpbW1lZGlhdGVseS4KKyAgICAgICAgd2luZG93
LmludGVybmFscy5zZXRQYWdlU2NhbGVGYWN0b3IoMC4xLCAwLCAwKTsKKyAgICAgICAgZG9jdW1l
bnQuYm9keS5vZmZzZXRUb3A7CisKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXRQYWdlU2Nh
bGVGYWN0b3IoMC41LCAwLCAwKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186521</attachid>
            <date>2013-02-04 18:48:21 -0800</date>
            <delta_ts>2013-02-04 18:53:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105486-20130204184459.patch</filename>
            <type>text/plain</type>
            <size>5848</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWRmZDIzN2VhZDZkNGI5
ZmJkNjI4ODM5ZmExOGVkY2RhZGViNjAwOS4uMmIxNTM4NDA5MGQ5YmFmYWY2YzE5ODY0MGNhMGRm
NGYzZTE4ZGE0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAyLTA0ICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIHRvIHJlLWxh
eW91dCBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyBhZnRlciBzY2FsZSB3aGVuIHVzaW5nIHNldHRp
bmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDg2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gc2V0dGluZ3MoKS0+Zml4ZWRF
bGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpIG1vZGUgZml4ZWQgcG9zaXRpb24KKyAgICAg
ICAgZWxlbWVudHMgYXJlIGxheW91dCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB2aXNpYmxlIHZp
ZXdwb3J0LCB3aGljaCBjYW4KKyAgICAgICAgYmUgZGlmZmVyZW50IGZyb20gdGhlIGxheW91dCB2
aWV3cG9ydCB3aGVuIHVzaW5nIGZpeGVkLWxheW91dCBtb2RlLgorICAgICAgICBXZSBuZWVkIHRv
IG5vdGlmeSB0aGUgY2hhbmdlIG9mIHZpc2libGUgdmlld3BvcnQgd2hlbiBpdCBpcyBzY2FsZWQu
CisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0
LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLmh0bWwKKworICAgICAgICAqIHBhZ2UvRnJhbWVW
aWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dXBkYXRlTGF5b3V0QW5kU3R5
bGVJZk5lZWRlZFJlY3Vyc2l2ZSk6CisKIDIwMTMtMDItMDMgIEthc3N5IENvYW4gIDxrYXNzeWNv
YW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZHMgdXNhZ2UgaW5zdHJ1bWVudGF0aW9uIGZv
ciBpbmRleGVkREIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA3Y2FiZjJkN2I2MWMx
MGQ0YTRjNzMxYjcyMzA4MjAyMDU2NDAwYzViLi5hNmVmNWQ1MzMyNTEwMmQyNjIxOWE4M2FmOTlj
MmMwY2M4YmJiMDdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0zNDQ3LDYgKzM0
NDcsOSBAQCB2b2lkIEZyYW1lVmlldzo6dXBkYXRlTGF5b3V0QW5kU3R5bGVJZk5lZWRlZFJlY3Vy
c2l2ZSgpCiAKICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT51cGRhdGVTdHlsZUlmTmVlZGVkKCk7
CiAKKyAgICBpZiAoZml4ZWRFbGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpKQorICAgICAg
ICBzZXRWaWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0c05lZWRMYXlvdXQoKTsKKwogICAgIGlmIChu
ZWVkc0xheW91dCgpKQogICAgICAgICBsYXlvdXQoKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDJkZWI4NjdhZmJhZGQy
YzNhNTI1YWUzZTZiZGM2YWI0Y2UyNTk1Y2MuLjUwOTQyZjg0MDEyNWU4ZGM5MzBjZjVhYTZmZDRk
MTk3NzQxNjMzNmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0wMi0wNCAgVGllbi1SZW4g
Q2hlbiAgPHRyY2hlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTmVlZCB0byByZS1sYXlvdXQg
Zml4ZWQgcG9zaXRpb24gZWxlbWVudHMgYWZ0ZXIgc2NhbGUgd2hlbiB1c2luZyBzZXR0aW5ncygp
LT5maXhlZEVsZW1lbnRzTGF5b3V0UmVsYXRpdmVUb0ZyYW1lKCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTQ4NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIHNldHRpbmdzKCktPmZpeGVkRWxlbWVu
dHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKSBtb2RlIGZpeGVkIHBvc2l0aW9uCisgICAgICAgIGVs
ZW1lbnRzIGFyZSBsYXlvdXQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgdmlzaWJsZSB2aWV3cG9y
dCwgd2hpY2ggY2FuCisgICAgICAgIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBsYXlvdXQgdmlld3Bv
cnQgd2hlbiB1c2luZyBmaXhlZC1sYXlvdXQgbW9kZS4KKyAgICAgICAgV2UgbmVlZCB0byBub3Rp
ZnkgdGhlIGNoYW5nZSBvZiB2aXNpYmxlIHZpZXdwb3J0IHdoZW4gaXQgaXMgc2NhbGVkLgorCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBv
c2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1z
Y2FsZS5odG1sOiBBZGRlZC4KKwogMjAxMy0wMi0wMyAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRh
QGdvb2dsZS5jb20+CiAKICAgICAgICAgW0Nocm9taXVtXSBVbnJldmlld2VkIHJlYmFzZWxpbmlu
Zy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvcmVwYWlu
dC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS1leHBlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBv
c2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGI1YjgwM2E3YmYy
YzAxNmNmOGM1ZDZhODAwNmExNDUzYWEwZWE2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlv
bi1hZnRlci1zY2FsZS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKy5maXhlZF9zaXplIHsKKyAgICBwb3NpdGlv
bjphYnNvbHV0ZTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiNjY2ZmY2M7CisgICAgd2lkdGg6MjVw
eDsKKyAgICBoZWlnaHQ6MjVweDsKK30KKy5wZXJjZW50YWdlX3NpemUgeworICAgIHBvc2l0aW9u
OmFic29sdXRlOworICAgIGJhY2tncm91bmQtY29sb3I6I2NjY2NmZjsKKyAgICB3aWR0aDoxMCU7
CisgICAgaGVpZ2h0OjEwJTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0id2lk
dGg6ODAwcHg7aGVpZ2h0OjYwMHB4O21hcmdpbjowOyI+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXpl
IiBzdHlsZT0ibGVmdDo1cHg7dG9wOjEwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6
ZSIgc3R5bGU9InJpZ2h0OjE1cHg7dG9wOjIwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRf
c2l6ZSIgc3R5bGU9ImxlZnQ6MjVweDtib3R0b206MzBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJm
aXhlZF9zaXplIiBzdHlsZT0icmlnaHQ6MzVweDtib3R0b206NDBweCI+PC9kaXY+Cis8ZGl2IGNs
YXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxlPSJsZWZ0OjQwJTt0b3A6MzUlIj48L2Rpdj4KKzxk
aXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9InJpZ2h0OjMwJTt0b3A6MjUlIj48L2Rp
dj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9ImxlZnQ6MjAlO2JvdHRvbTox
NSUiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0icmlnaHQ6MTAl
O2JvdHRvbTo1JSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRp
b24tYWZ0ZXItc2NhbGUuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3Qv
cmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjAyNGVjNjVhMTNkMjgxODYwMzYyMzczNDliMGU1YzI4YzFjMDg3MDEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlv
dXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUuaHRtbApAQCAtMCwwICsxLDQzIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGhpcyB0ZXN0IGlzIHN1Y2Nlc3Nm
dWwgaWYgZml4ZWQgcG9zaXRpb24gZWxlbWVudHMgcmUtbGF5b3V0IGNvcnJlY3RseSBvbiBwYWdl
IHNjYWxlIGNoYW5nZXM8L3RpdGxlPgorPHN0eWxlPgorLmZpeGVkX3NpemUgeworICAgIHBvc2l0
aW9uOmZpeGVkOworICAgIGJhY2tncm91bmQtY29sb3I6I2NjZmZjYzsKKyAgICB3aWR0aDo1MHB4
OworICAgIGhlaWdodDo1MHB4OworfQorLnBlcmNlbnRhZ2Vfc2l6ZSB7CisgICAgcG9zaXRpb246
Zml4ZWQ7CisgICAgYmFja2dyb3VuZC1jb2xvcjojY2NjY2ZmOworICAgIHdpZHRoOjEwJTsKKyAg
ICBoZWlnaHQ6MTAlOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVz
dCgpOyIgc3R5bGU9IndpZHRoOjE2MDBweDtoZWlnaHQ6MTIwMHB4O21hcmdpbjowOyI+Cis8ZGl2
IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0ibGVmdDoxMHB4O3RvcDoyMHB4Ij48L2Rpdj4KKzxk
aXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJyaWdodDozMHB4O3RvcDo0MHB4Ij48L2Rpdj4K
KzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJsZWZ0OjUwcHg7Ym90dG9tOjYwcHgiPjwv
ZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9InJpZ2h0OjcwcHg7Ym90dG9tOjgw
cHgiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0ibGVmdDo0MCU7
dG9wOjM1JSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxlPSJyaWdo
dDozMCU7dG9wOjI1JSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxl
PSJsZWZ0OjIwJTtib3R0b206MTUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6
ZSIgc3R5bGU9InJpZ2h0OjEwJTtib3R0b206NSUiPjwvZGl2PgorPHNjcmlwdD4KK2Z1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRGaXhlZEVsZW1lbnRzTGF5b3V0UmVsYXRpdmVUb0ZyYW1l
KHRydWUpOworCisgICAgICAgIC8vIEZvcmNlIHNjcm9sbGJhciB0byBoaWRlIGFuZCByZS1sYXlv
dXQgaW1tZWRpYXRlbHkuCisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0UGFnZVNjYWxlRmFj
dG9yKDAuMSwgMCwgMCk7CisgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0VG9wOworCisgICAg
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0UGFnZVNjYWxlRmFjdG9yKDAuNSwgMCwgMCk7CisgICAg
fQorfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186522</attachid>
            <date>2013-02-04 18:53:14 -0800</date>
            <delta_ts>2013-02-05 13:12:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105486-20130204184953.patch</filename>
            <type>text/plain</type>
            <size>5832</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWRmZDIzN2VhZDZkNGI5
ZmJkNjI4ODM5ZmExOGVkY2RhZGViNjAwOS4uYTllYzg5YmZjMzYyMzQ4MTNmZDhmZmQ3YzMwMDI5
MGJlNzBlMDNiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAyLTA0ICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIHRvIHJlLWxh
eW91dCBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyBhZnRlciBzY2FsZSB3aGVuIHVzaW5nIHNldHRp
bmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDg2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gc2V0dGluZ3MoKS0+Zml4ZWRF
bGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpIG1vZGUgZml4ZWQgcG9zaXRpb24KKyAgICAg
ICAgZWxlbWVudHMgYXJlIGxheW91dCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB2aXNpYmxlIHZp
ZXdwb3J0LCB3aGljaCBjYW4KKyAgICAgICAgYmUgZGlmZmVyZW50IGZyb20gdGhlIGxheW91dCB2
aWV3cG9ydCB3aGVuIHVzaW5nIGZpeGVkLWxheW91dCBtb2RlLgorICAgICAgICBXZSBuZWVkIHRv
IG5vdGlmeSB0aGUgY2hhbmdlIG9mIHZpc2libGUgdmlld3BvcnQgd2hlbiBpdCBpcyBzY2FsZWQu
CisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0
LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLmh0bWwKKworICAgICAgICAqIHBhZ2UvRnJhbWVW
aWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dmlzaWJsZUNvbnRlbnRzUmVz
aXplZCk6CisKIDIwMTMtMDItMDMgIEthc3N5IENvYW4gIDxrYXNzeWNvYW5AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIEFkZHMgdXNhZ2UgaW5zdHJ1bWVudGF0aW9uIGZvciBpbmRleGVkREIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA3Y2FiZjJkN2I2MWMxMGQ0YTRjNzMxYjcyMzA4
MjAyMDU2NDAwYzViLi4wYjhhMjg2ZmVlMDZlZTE4OWM5ZGY5YzJlMTE3NzFhMzE2MzlkOGNmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0yMDIyLDYgKzIwMjIsOSBAQCB2b2lkIEZy
YW1lVmlldzo6dmlzaWJsZUNvbnRlbnRzUmVzaXplZCgpCiAgICAgaWYgKCFmcmFtZSgpLT52aWV3
KCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIGlmIChmaXhlZEVsZW1lbnRzTGF5b3V0UmVsYXRp
dmVUb0ZyYW1lKCkpCisgICAgICAgIHNldFZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3RzTmVlZExh
eW91dCgpOworCiAgICAgaWYgKCF1c2VGaXhlZExheW91dCgpICYmIG5lZWRzTGF5b3V0KCkpCiAg
ICAgICAgIGxheW91dCgpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMmRlYjg2N2FmYmFkZDJjM2E1MjVhZTNlNmJkYzZh
YjRjZTI1OTVjYy4uNTA5NDJmODQwMTI1ZThkYzkzMGNmNWFhNmZkNGQxOTc3NDE2MzM2ZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTAyLTA0ICBUaWVuLVJlbiBDaGVuICA8dHJjaGVuQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIHRvIHJlLWxheW91dCBmaXhlZCBwb3NpdGlvbiBl
bGVtZW50cyBhZnRlciBzY2FsZSB3aGVuIHVzaW5nIHNldHRpbmdzKCktPmZpeGVkRWxlbWVudHNM
YXlvdXRSZWxhdGl2ZVRvRnJhbWUoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA1NDg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSW4gc2V0dGluZ3MoKS0+Zml4ZWRFbGVtZW50c0xheW91dFJlbGF0aXZl
VG9GcmFtZSgpIG1vZGUgZml4ZWQgcG9zaXRpb24KKyAgICAgICAgZWxlbWVudHMgYXJlIGxheW91
dCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB2aXNpYmxlIHZpZXdwb3J0LCB3aGljaCBjYW4KKyAg
ICAgICAgYmUgZGlmZmVyZW50IGZyb20gdGhlIGxheW91dCB2aWV3cG9ydCB3aGVuIHVzaW5nIGZp
eGVkLWxheW91dCBtb2RlLgorICAgICAgICBXZSBuZWVkIHRvIG5vdGlmeSB0aGUgY2hhbmdlIG9m
IHZpc2libGUgdmlld3BvcnQgd2hlbiBpdCBpcyBzY2FsZWQuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2Nh
bGUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFz
dC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLmh0bWw6IEFkZGVk
LgorCiAyMDEzLTAyLTAzICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAog
ICAgICAgICBbQ2hyb21pdW1dIFVucmV2aWV3ZWQgcmViYXNlbGluaW5nLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVk
LXBvc2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2Nh
bGUtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjViODAzYTdiZjJjMDE2Y2Y4YzVkNmE4MDA2
YTE0NTNhYTBlYTYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLWV4
cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPHN0eWxlPgorLmZpeGVkX3NpemUgeworICAgIHBvc2l0aW9uOmFic29sdXRlOworICAg
IGJhY2tncm91bmQtY29sb3I6I2NjZmZjYzsKKyAgICB3aWR0aDoyNXB4OworICAgIGhlaWdodDoy
NXB4OworfQorLnBlcmNlbnRhZ2Vfc2l6ZSB7CisgICAgcG9zaXRpb246YWJzb2x1dGU7CisgICAg
YmFja2dyb3VuZC1jb2xvcjojY2NjY2ZmOworICAgIHdpZHRoOjEwJTsKKyAgICBoZWlnaHQ6MTAl
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IHN0eWxlPSJ3aWR0aDo4MDBweDtoZWlnaHQ6
NjAwcHg7bWFyZ2luOjA7Ij4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJsZWZ0OjVw
eDt0b3A6MTBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0icmlnaHQ6
MTVweDt0b3A6MjBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0ibGVm
dDoyNXB4O2JvdHRvbTozMHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxl
PSJyaWdodDozNXB4O2JvdHRvbTo0MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vf
c2l6ZSIgc3R5bGU9ImxlZnQ6NDAlO3RvcDozNSUiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVyY2Vu
dGFnZV9zaXplIiBzdHlsZT0icmlnaHQ6MzAlO3RvcDoyNSUiPjwvZGl2PgorPGRpdiBjbGFzcz0i
cGVyY2VudGFnZV9zaXplIiBzdHlsZT0ibGVmdDoyMCU7Ym90dG9tOjE1JSI+PC9kaXY+Cis8ZGl2
IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxlPSJyaWdodDoxMCU7Ym90dG9tOjUlIj48L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS5o
dG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0
LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDI0ZWM2NWExM2Qy
ODE4NjAzNjIzNzM0OWIwZTVjMjhjMWMwODcwMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlv
bi1hZnRlci1zY2FsZS5odG1sCkBAIC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzx0aXRsZT5UaGlzIHRlc3QgaXMgc3VjY2Vzc2Z1bCBpZiBmaXhlZCBwb3Np
dGlvbiBlbGVtZW50cyByZS1sYXlvdXQgY29ycmVjdGx5IG9uIHBhZ2Ugc2NhbGUgY2hhbmdlczwv
dGl0bGU+Cis8c3R5bGU+CisuZml4ZWRfc2l6ZSB7CisgICAgcG9zaXRpb246Zml4ZWQ7CisgICAg
YmFja2dyb3VuZC1jb2xvcjojY2NmZmNjOworICAgIHdpZHRoOjUwcHg7CisgICAgaGVpZ2h0OjUw
cHg7Cit9CisucGVyY2VudGFnZV9zaXplIHsKKyAgICBwb3NpdGlvbjpmaXhlZDsKKyAgICBiYWNr
Z3JvdW5kLWNvbG9yOiNjY2NjZmY7CisgICAgd2lkdGg6MTAlOworICAgIGhlaWdodDoxMCU7Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7IiBzdHlsZT0id2lk
dGg6MTYwMHB4O2hlaWdodDoxMjAwcHg7bWFyZ2luOjA7Ij4KKzxkaXYgY2xhc3M9ImZpeGVkX3Np
emUiIHN0eWxlPSJsZWZ0OjEwcHg7dG9wOjIwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRf
c2l6ZSIgc3R5bGU9InJpZ2h0OjMwcHg7dG9wOjQwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4
ZWRfc2l6ZSIgc3R5bGU9ImxlZnQ6NTBweDtib3R0b206NjBweCI+PC9kaXY+Cis8ZGl2IGNsYXNz
PSJmaXhlZF9zaXplIiBzdHlsZT0icmlnaHQ6NzBweDtib3R0b206ODBweCI+PC9kaXY+Cis8ZGl2
IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxlPSJsZWZ0OjQwJTt0b3A6MzUlIj48L2Rpdj4K
KzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9InJpZ2h0OjMwJTt0b3A6MjUlIj48
L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9ImxlZnQ6MjAlO2JvdHRv
bToxNSUiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0icmlnaHQ6
MTAlO2JvdHRvbTo1JSI+PC9kaXY+Cis8c2NyaXB0PgorZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICBpZiAod2luZG93LmludGVybmFscykgeworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRp
bmdzLnNldEZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUodHJ1ZSk7CisKKyAgICAg
ICAgLy8gRm9yY2Ugc2Nyb2xsYmFyIHRvIGhpZGUgYW5kIHJlLWxheW91dCBpbW1lZGlhdGVseS4K
KyAgICAgICAgd2luZG93LmludGVybmFscy5zZXRQYWdlU2NhbGVGYWN0b3IoMC4xLCAwLCAwKTsK
KyAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRUb3A7CisKKyAgICAgICAgd2luZG93LmludGVy
bmFscy5zZXRQYWdlU2NhbGVGYWN0b3IoMC41LCAwLCAwKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186688</attachid>
            <date>2013-02-05 13:13:01 -0800</date>
            <delta_ts>2013-02-19 18:05:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105486-20130205130939.patch</filename>
            <type>text/plain</type>
            <size>6533</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxOTE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTc4MThiMzEwOGFhZWEz
NGY3ZmExNzU1NmI4ZmJlYjRjMmVhZTc5Yy4uYzAwMjEzZjhhNGNlMWU2MWE3NTcwYzRkM2U0Njlj
NzRhYjgyZjgwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAyLTA1ICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIHRvIHJlLWxh
eW91dCBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyBhZnRlciBzY2FsZSB3aGVuIHVzaW5nIHNldHRp
bmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDg2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gc2V0dGluZ3MoKS0+Zml4ZWRF
bGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpIG1vZGUsIGZpeGVkLXBvc2l0aW9uCisgICAg
ICAgIGVsZW1lbnRzIGFyZSBsYXlvdXQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgdmlzaWJsZSB2
aWV3cG9ydCwgd2hpY2ggY2FuCisgICAgICAgIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBsYXlvdXQg
dmlld3BvcnQgd2hlbiB1c2luZyBmaXhlZC1sYXlvdXQgbW9kZS4KKyAgICAgICAgV2UgbmVlZCB0
byByZS1sYXlvdXQgZml4ZWQtcG9zaXRpb24gZWxlbWVudHMgaW4gY2FzZSBvZiB2aXNpYmxlIGNv
bnRlbnQKKyAgICAgICAgc2l6ZSBjaGFuZ2VzLgorCisgICAgICAgIFRoZSB0ZXN0IGlzIGN1cnJl
bnRseSBjaHJvbWl1bS1zcGVjaWZpYyBkdWUgdG8gZGlmZmljdWx0aWVzIHRvIG1ha2UgdGhpcwor
ICAgICAgICB0ZXN0IHdvcmtzIG9uIE1hYy4gVGhlIG1hYyBwb3J0IHNlZW1zIHRvIHdvcmsgdmVy
eSBkaWZmZXJlbnRseSB3aXRoCisgICAgICAgIHZpc2libGUgY29udGVudCBzaXplIHdoZW4gYSBw
YWdlIGlzIHNjYWxlZC4gQW5kIHRoZXJlIGlzIG5vIHJlbGlhYmxlIHdheQorICAgICAgICB0byBo
aWRlIHNjcm9sbGJhcnMgaW4gbWFjLXdrMSB0aGF0IGRvZXNuJ3QgY2F1c2UgYSBzaWRlIGVmZmVj
dC4KKworICAgICAgICBUZXN0OiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlv
dXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUuaHRtbAorCisgICAgICAgICogcGFnZS9GcmFt
ZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojp2aXNpYmxlQ29udGVudHNS
ZXNpemVkKToKKwogMjAxMy0wMi0wNSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBn
bWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE0MTkwNS4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA3Y2FiZjJkN2I2MWMxMGQ0YTRjNzMxYjcyMzA4
MjAyMDU2NDAwYzViLi4wYjhhMjg2ZmVlMDZlZTE4OWM5ZGY5YzJlMTE3NzFhMzE2MzlkOGNmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0yMDIyLDYgKzIwMjIsOSBAQCB2b2lkIEZy
YW1lVmlldzo6dmlzaWJsZUNvbnRlbnRzUmVzaXplZCgpCiAgICAgaWYgKCFmcmFtZSgpLT52aWV3
KCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIGlmIChmaXhlZEVsZW1lbnRzTGF5b3V0UmVsYXRp
dmVUb0ZyYW1lKCkpCisgICAgICAgIHNldFZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3RzTmVlZExh
eW91dCgpOworCiAgICAgaWYgKCF1c2VGaXhlZExheW91dCgpICYmIG5lZWRzTGF5b3V0KCkpCiAg
ICAgICAgIGxheW91dCgpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTFjYjUwZTE2ZWNkNjZmMjYyZDYyMmJlNTkyYWM4
Njc4MTMxZDY5OS4uN2JlYjAzMGZjMWI3NGFhMTc3ZWE1ZGVhYjQzMjBkMjE0MWExZDc5MiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTAyLTA1ICBUaWVuLVJlbiBDaGVuICA8dHJjaGVuQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIHRvIHJlLWxheW91dCBmaXhlZCBwb3NpdGlvbiBl
bGVtZW50cyBhZnRlciBzY2FsZSB3aGVuIHVzaW5nIHNldHRpbmdzKCktPmZpeGVkRWxlbWVudHNM
YXlvdXRSZWxhdGl2ZVRvRnJhbWUoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA1NDg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSW4gc2V0dGluZ3MoKS0+Zml4ZWRFbGVtZW50c0xheW91dFJlbGF0aXZl
VG9GcmFtZSgpIG1vZGUsIGZpeGVkLXBvc2l0aW9uCisgICAgICAgIGVsZW1lbnRzIGFyZSBsYXlv
dXQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgdmlzaWJsZSB2aWV3cG9ydCwgd2hpY2ggY2FuCisg
ICAgICAgIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBsYXlvdXQgdmlld3BvcnQgd2hlbiB1c2luZyBm
aXhlZC1sYXlvdXQgbW9kZS4KKyAgICAgICAgV2UgbmVlZCB0byByZS1sYXlvdXQgZml4ZWQtcG9z
aXRpb24gZWxlbWVudHMgaW4gY2FzZSBvZiB2aXNpYmxlIGNvbnRlbnQKKyAgICAgICAgc2l6ZSBj
aGFuZ2VzLgorCisgICAgICAgIFRoZSB0ZXN0IGlzIGN1cnJlbnRseSBjaHJvbWl1bS1zcGVjaWZp
YyBkdWUgdG8gZGlmZmljdWx0aWVzIHRvIG1ha2UgdGhpcworICAgICAgICB0ZXN0IHdvcmtzIG9u
IE1hYy4gVGhlIG1hYyBwb3J0IHNlZW1zIHRvIHdvcmsgdmVyeSBkaWZmZXJlbnRseSB3aXRoCisg
ICAgICAgIHZpc2libGUgY29udGVudCBzaXplIHdoZW4gYSBwYWdlIGlzIHNjYWxlZC4gQW5kIHRo
ZXJlIGlzIG5vIHJlbGlhYmxlIHdheQorICAgICAgICB0byBoaWRlIHNjcm9sbGJhcnMgaW4gbWFj
LXdrMSB0aGF0IGRvZXNuJ3QgY2F1c2UgYSBzaWRlIGVmZmVjdC4KKworICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1z
Y2FsZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9m
YXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUuaHRtbDogQWRk
ZWQuCisKIDIwMTMtMDItMDUgIEdyZWdnIFRhdmFyZXMgIDxnbWFuQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBBZGRzIHRoZSBXZWJHTCBDb25mb3JtYW5jZSBUZXN0cyB0eXBlZGFycmF5cyBmb2xk
ZXIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3JlcGFp
bnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUtZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1w
b3NpdGlvbi1hZnRlci1zY2FsZS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiNWI4MDNhN2Jm
MmMwMTZjZjhjNWQ2YTgwMDZhMTQ1M2FhMGVhNjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRp
b24tYWZ0ZXItc2NhbGUtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CisuZml4ZWRfc2l6ZSB7CisgICAgcG9zaXRp
b246YWJzb2x1dGU7CisgICAgYmFja2dyb3VuZC1jb2xvcjojY2NmZmNjOworICAgIHdpZHRoOjI1
cHg7CisgICAgaGVpZ2h0OjI1cHg7Cit9CisucGVyY2VudGFnZV9zaXplIHsKKyAgICBwb3NpdGlv
bjphYnNvbHV0ZTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiNjY2NjZmY7CisgICAgd2lkdGg6MTAl
OworICAgIGhlaWdodDoxMCU7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHkgc3R5bGU9Indp
ZHRoOjgwMHB4O2hlaWdodDo2MDBweDttYXJnaW46MDsiPgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6
ZSIgc3R5bGU9ImxlZnQ6NXB4O3RvcDoxMHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImZpeGVkX3Np
emUiIHN0eWxlPSJyaWdodDoxNXB4O3RvcDoyMHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImZpeGVk
X3NpemUiIHN0eWxlPSJsZWZ0OjI1cHg7Ym90dG9tOjMwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0i
Zml4ZWRfc2l6ZSIgc3R5bGU9InJpZ2h0OjM1cHg7Ym90dG9tOjQwcHgiPjwvZGl2PgorPGRpdiBj
bGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0ibGVmdDo0MCU7dG9wOjM1JSI+PC9kaXY+Cis8
ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxlPSJyaWdodDozMCU7dG9wOjI1JSI+PC9k
aXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxlPSJsZWZ0OjIwJTtib3R0b206
MTUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9InJpZ2h0OjEw
JTtib3R0b206NSUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0
aW9uLWFmdGVyLXNjYWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0
L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wMjRlYzY1YTEzZDI4MTg2MDM2MjM3MzQ5YjBlNWMyOGMxYzA4NzAxCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5
b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLmh0bWwKQEAgLTAsMCArMSw0MyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlRoaXMgdGVzdCBpcyBzdWNjZXNz
ZnVsIGlmIGZpeGVkIHBvc2l0aW9uIGVsZW1lbnRzIHJlLWxheW91dCBjb3JyZWN0bHkgb24gcGFn
ZSBzY2FsZSBjaGFuZ2VzPC90aXRsZT4KKzxzdHlsZT4KKy5maXhlZF9zaXplIHsKKyAgICBwb3Np
dGlvbjpmaXhlZDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiNjY2ZmY2M7CisgICAgd2lkdGg6NTBw
eDsKKyAgICBoZWlnaHQ6NTBweDsKK30KKy5wZXJjZW50YWdlX3NpemUgeworICAgIHBvc2l0aW9u
OmZpeGVkOworICAgIGJhY2tncm91bmQtY29sb3I6I2NjY2NmZjsKKyAgICB3aWR0aDoxMCU7Cisg
ICAgaGVpZ2h0OjEwJTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKTsiIHN0eWxlPSJ3aWR0aDoxNjAwcHg7aGVpZ2h0OjEyMDBweDttYXJnaW46MDsiPgorPGRp
diBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9ImxlZnQ6MTBweDt0b3A6MjBweCI+PC9kaXY+Cis8
ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0icmlnaHQ6MzBweDt0b3A6NDBweCI+PC9kaXY+
Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0ibGVmdDo1MHB4O2JvdHRvbTo2MHB4Ij48
L2Rpdj4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJyaWdodDo3MHB4O2JvdHRvbTo4
MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9ImxlZnQ6NDAl
O3RvcDozNSUiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0icmln
aHQ6MzAlO3RvcDoyNSUiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHls
ZT0ibGVmdDoyMCU7Ym90dG9tOjE1JSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3Np
emUiIHN0eWxlPSJyaWdodDoxMCU7Ym90dG9tOjUlIj48L2Rpdj4KKzxzY3JpcHQ+CitmdW5jdGlv
biBydW5UZXN0KCkgeworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0Rml4ZWRFbGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFt
ZSh0cnVlKTsKKworICAgICAgICAvLyBGb3JjZSBzY3JvbGxiYXIgdG8gaGlkZSBhbmQgcmUtbGF5
b3V0IGltbWVkaWF0ZWx5LgorICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldFBhZ2VTY2FsZUZh
Y3RvcigwLjEsIDAsIDApOworICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldFRvcDsKKworICAg
ICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldFBhZ2VTY2FsZUZhY3RvcigwLjUsIDAsIDApOworICAg
IH0KK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189217</attachid>
            <date>2013-02-19 18:05:35 -0800</date>
            <delta_ts>2013-02-20 01:30:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105486-20130219180157.patch</filename>
            <type>text/plain</type>
            <size>9316</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzMzc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWQ5NjI5MjlmN2ExMDc2
OWRiMzJlODY3ZjNkNzI4MDBmOWI5M2MwOS4uNGM5M2IwNTE5YjdlOGUxYjUwYzIwMzFlNmZkMzVl
YWZlNjU4ODg4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAyLTE5ICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIHRvIHJlLWxh
eW91dCBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyBhZnRlciBzY2FsZSB3aGVuIHVzaW5nIHNldHRp
bmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDg2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gc2V0dGluZ3MoKS0+Zml4ZWRF
bGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpIG1vZGUsIGZpeGVkLXBvc2l0aW9uCisgICAg
ICAgIGVsZW1lbnRzIGFyZSBsYXlvdXQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgdmlzaWJsZSB2
aWV3cG9ydCwgd2hpY2ggY2FuCisgICAgICAgIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBsYXlvdXQg
dmlld3BvcnQgd2hlbiB1c2luZyBmaXhlZC1sYXlvdXQgbW9kZS4KKyAgICAgICAgV2UgbmVlZCB0
byByZS1sYXlvdXQgZml4ZWQtcG9zaXRpb24gZWxlbWVudHMgaW4gY2FzZSBvZiB2aXNpYmxlIGNv
bnRlbnQKKyAgICAgICAgc2l6ZSBjaGFuZ2VzLgorCisgICAgICAgIFRoZSB0ZXN0IGlzIGN1cnJl
bnRseSBjaHJvbWl1bS1zcGVjaWZpYyBkdWUgdG8gZGlmZmljdWx0aWVzIHRvIG1ha2UgdGhpcwor
ICAgICAgICB0ZXN0IHdvcmtzIG9uIE1hYy4gVGhlIG1hYyBwb3J0IHNlZW1zIHRvIHdvcmsgdmVy
eSBkaWZmZXJlbnRseSB3aXRoCisgICAgICAgIHZpc2libGUgY29udGVudCBzaXplIHdoZW4gYSBw
YWdlIGlzIHNjYWxlZC4gQW5kIHRoZXJlIGlzIG5vIHJlbGlhYmxlIHdheQorICAgICAgICB0byBo
aWRlIHNjcm9sbGJhcnMgaW4gbWFjLXdrMSB0aGF0IGRvZXNuJ3QgY2F1c2UgYSBzaWRlIGVmZmVj
dC4KKworICAgICAgICBUZXN0OiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlv
dXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUuaHRtbAorCisgICAgICAgICogcGFnZS9GcmFt
ZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojp2aXNpYmxlQ29udGVudHNS
ZXNpemVkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dmlzaWJsZUNvbnRlbnRTY2Fs
ZUZhY3RvckRpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwYWdlL0Zy
YW1lVmlldy5oOgorICAgICAgICAoRnJhbWVWaWV3KToKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2V0UGFnZVNjYWxlRmFjdG9yKToKKwogMjAxMy0w
Mi0xOSAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEJvcmRlciBj
aGFuZ2VzIG9uIHRhYmxlcyB3aXRoIGNvbGxhcHNlZCBib3JkZXJzIGRvZXNuJ3QgcmVsYXlvdXQg
dGFibGUgY2VsbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA2YjZiNzFmYTM5MjY3
OWExMzg2YmQzNGVmZGFjNzQ4NjYzNTUxNGVhLi44N2U2NGRhYWI0YTNmYjFkYzliZTVhOTM4OGRh
YzNhMDg3ZjMwYThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0yMDM1LDYgKzIw
MzUsMTEgQEAgdm9pZCBGcmFtZVZpZXc6OnZpc2libGVDb250ZW50c1Jlc2l6ZWQoKQogICAgIGlm
ICghZnJhbWUoKS0+dmlldygpKQogICAgICAgICByZXR1cm47CiAKKyAgICBMYXlvdXRTaXplIHZp
ZXdwb3J0Q29uc3RyYWluZWRWaXNpYmxlQ29udGVudFNpemUgPSB2aWV3cG9ydENvbnN0cmFpbmVk
VmlzaWJsZUNvbnRlbnRSZWN0KCkuc2l6ZSgpOworICAgIGlmIChmaXhlZEVsZW1lbnRzTGF5b3V0
UmVsYXRpdmVUb0ZyYW1lKCkgJiYgbV9sYXN0U2VlblZpZXdwb3J0Q29uc3RyYWluZWRWaXNpYmxl
Q29udGVudHNTaXplICE9IHZpZXdwb3J0Q29uc3RyYWluZWRWaXNpYmxlQ29udGVudFNpemUpCisg
ICAgICAgIHNldFZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3RzTmVlZExheW91dCgpOworICAgIG1f
bGFzdFNlZW5WaWV3cG9ydENvbnN0cmFpbmVkVmlzaWJsZUNvbnRlbnRzU2l6ZSA9IHZpZXdwb3J0
Q29uc3RyYWluZWRWaXNpYmxlQ29udGVudFNpemU7CisKICAgICBpZiAoIXVzZUZpeGVkTGF5b3V0
KCkgJiYgbmVlZHNMYXlvdXQoKSkKICAgICAgICAgbGF5b3V0KCk7CiAKQEAgLTI4NjUsNiArMjg3
MCwxNyBAQCBJbnRSZWN0IEZyYW1lVmlldzo6d2luZG93UmVzaXplclJlY3QoKSBjb25zdAogICAg
IHJldHVybiBwYWdlLT5jaHJvbWUoKS0+d2luZG93UmVzaXplclJlY3QoKTsKIH0KIAordm9pZCBG
cmFtZVZpZXc6OnZpc2libGVDb250ZW50U2NhbGVGYWN0b3JEaWRDaGFuZ2UoKQoreworICAgIGlm
ICghbV9mcmFtZSB8fCAhbV9mcmFtZS0+cGFnZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBp
ZiAoIW1fZnJhbWUtPnNldHRpbmdzKCktPmFwcGx5UGFnZVNjYWxlRmFjdG9ySW5Db21wb3NpdG9y
KCkgfHwgbV9mcmFtZSAhPSBtX2ZyYW1lLT5wYWdlKCktPm1haW5GcmFtZSgpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICB2aXNpYmxlQ29udGVudHNSZXNpemVkKCk7Cit9CisKIGZsb2F0IEZyYW1l
Vmlldzo6dmlzaWJsZUNvbnRlbnRTY2FsZUZhY3RvcigpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2Zy
YW1lIHx8ICFtX2ZyYW1lLT5wYWdlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCAyYmFm
ZTYyMDRlN2Y3YjhjZTE5NGE5NTM0ODZlNzQ4ZTcxNjkxZDE3Li45N2YwNjY0YWMyMjkwYWJhYWMy
MmZkYzA1MmQ5NWEwNmE1NTg1YWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTE4Myw2
ICsxODMsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIEludFJlY3Qgd2luZG93UmVzaXplclJl
Y3QoKSBjb25zdDsKIAorICAgIHZvaWQgdmlzaWJsZUNvbnRlbnRTY2FsZUZhY3RvckRpZENoYW5n
ZSgpOwogICAgIHZpcnR1YWwgZmxvYXQgdmlzaWJsZUNvbnRlbnRTY2FsZUZhY3RvcigpIGNvbnN0
IE9WRVJSSURFOwogCiAgICAgdmlydHVhbCB2b2lkIHNldEZpeGVkVmlzaWJsZUNvbnRlbnRSZWN0
KGNvbnN0IEludFJlY3QmKSBPVkVSUklERTsKQEAgLTU4Niw2ICs1ODcsMTAgQEAgcHJpdmF0ZToK
ICAgICBPd25QdHI8U2Nyb2xsYWJsZUFyZWFTZXQ+IG1fc2Nyb2xsYWJsZUFyZWFzOwogICAgIE93
blB0cjxWaWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0U2V0PiBtX3ZpZXdwb3J0Q29uc3RyYWluZWRP
YmplY3RzOwogCisgICAgLy8gRm9yIGZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUo
KSA9PSB0cnVlLgorICAgIC8vIFdlIGRvbid0IHdhbnQgdW5uZWNlc3NhcnkgbGF5b3V0IHdoZW4g
dmlzaWJsZSBjb250ZW50cyBzaXplIGRpZG4ndCBhY3R1YWxseSBjaGFuZ2UuCisgICAgTGF5b3V0
U2l6ZSBtX2xhc3RTZWVuVmlld3BvcnRDb25zdHJhaW5lZFZpc2libGVDb250ZW50c1NpemU7CisK
ICAgICBzdGF0aWMgZG91YmxlIHNfbm9ybWFsRGVmZXJyZWRSZXBhaW50RGVsYXk7CiAgICAgc3Rh
dGljIGRvdWJsZSBzX2luaXRpYWxEZWZlcnJlZFJlcGFpbnREZWxheUR1cmluZ0xvYWRpbmc7CiAg
ICAgc3RhdGljIGRvdWJsZSBzX21heERlZmVycmVkUmVwYWludERlbGF5RHVyaW5nTG9hZGluZzsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGVmOWU4Njg2ODA1ZTk5MWI0NWJlY2IwMDRkYzlhN2IxOTlh
NzNjYmYuLjdjZGEwMmUzNDZkYWIwZDk1YTZkYzFhOTU5YzE1YTg1NzNhNDA2YWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcApAQCAtNzQ4LDYgKzc0OCw4IEBAIHZvaWQgUGFnZTo6c2V0UGFnZVNjYWxlRmFj
dG9yKGZsb2F0IHNjYWxlLCBjb25zdCBJbnRQb2ludCYgb3JpZ2luKQogICAgIG1haW5GcmFtZSgp
LT5kZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKTsKICNlbmRpZgogCisgICAgdmlldy0+
dmlzaWJsZUNvbnRlbnRTY2FsZUZhY3RvckRpZENoYW5nZSgpOworCiAgICAgaWYgKHZpZXcgJiYg
dmlldy0+c2Nyb2xsUG9zaXRpb24oKSAhPSBvcmlnaW4pIHsKICAgICAgICAgaWYgKCFtX3NldHRp
bmdzLT5hcHBseVBhZ2VTY2FsZUZhY3RvckluQ29tcG9zaXRvcigpICYmIGRvY3VtZW50LT5yZW5k
ZXJlcigpICYmIGRvY3VtZW50LT5yZW5kZXJlcigpLT5uZWVkc0xheW91dCgpICYmIHZpZXctPmRp
ZEZpcnN0TGF5b3V0KCkpCiAgICAgICAgICAgICB2aWV3LT5sYXlvdXQoKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3MjJi
MDFmYzEzMmNjYmYxNDg5ZTNkMzdkMGJlMWQ2M2NkYjBlYmU3Li5iYjg4NmMyODcxMTE0ZmI2OWNl
YjQ0OWI3NjQ2OTg0MDQwMmFlMzUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTMtMDItMTkg
IFRpZW4tUmVuIENoZW4gIDx0cmNoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5lZWQgdG8g
cmUtbGF5b3V0IGZpeGVkIHBvc2l0aW9uIGVsZW1lbnRzIGFmdGVyIHNjYWxlIHdoZW4gdXNpbmcg
c2V0dGluZ3MoKS0+Zml4ZWRFbGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU0ODYKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBzZXR0aW5ncygpLT5m
aXhlZEVsZW1lbnRzTGF5b3V0UmVsYXRpdmVUb0ZyYW1lKCkgbW9kZSwgZml4ZWQtcG9zaXRpb24K
KyAgICAgICAgZWxlbWVudHMgYXJlIGxheW91dCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB2aXNp
YmxlIHZpZXdwb3J0LCB3aGljaCBjYW4KKyAgICAgICAgYmUgZGlmZmVyZW50IGZyb20gdGhlIGxh
eW91dCB2aWV3cG9ydCB3aGVuIHVzaW5nIGZpeGVkLWxheW91dCBtb2RlLgorICAgICAgICBXZSBu
ZWVkIHRvIHJlLWxheW91dCBmaXhlZC1wb3NpdGlvbiBlbGVtZW50cyBpbiBjYXNlIG9mIHZpc2li
bGUgY29udGVudAorICAgICAgICBzaXplIGNoYW5nZXMuCisKKyAgICAgICAgVGhlIHRlc3QgaXMg
Y3VycmVudGx5IGNocm9taXVtLXNwZWNpZmljIGR1ZSB0byBkaWZmaWN1bHRpZXMgdG8gbWFrZSB0
aGlzCisgICAgICAgIHRlc3Qgd29ya3Mgb24gTWFjLiBUaGUgbWFjIHBvcnQgc2VlbXMgdG8gd29y
ayB2ZXJ5IGRpZmZlcmVudGx5IHdpdGgKKyAgICAgICAgdmlzaWJsZSBjb250ZW50IHNpemUgd2hl
biBhIHBhZ2UgaXMgc2NhbGVkLiBBbmQgdGhlcmUgaXMgbm8gcmVsaWFibGUgd2F5CisgICAgICAg
IHRvIGhpZGUgc2Nyb2xsYmFycyBpbiBtYWMtd2sxIHRoYXQgZG9lc24ndCBjYXVzZSBhIHNpZGUg
ZWZmZWN0LgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5
b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3Np
dGlvbi1hZnRlci1zY2FsZS5odG1sOiBBZGRlZC4KKwogMjAxMy0wMi0xOSAgVG9ueSBDaGFuZyAg
PHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEJvcmRlciBjaGFuZ2VzIG9uIHRhYmxlcyB3
aXRoIGNvbGxhcHNlZCBib3JkZXJzIGRvZXNuJ3QgcmVsYXlvdXQgdGFibGUgY2VsbHMKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvcmVwYWludC9yZWxheW91
dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFm
dGVyLXNjYWxlLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGI1YjgwM2E3YmYyYzAxNmNmOGM1
ZDZhODAwNmExNDUzYWEwZWE2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1z
Y2FsZS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzdHlsZT4KKy5maXhlZF9zaXplIHsKKyAgICBwb3NpdGlvbjphYnNvbHV0
ZTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiNjY2ZmY2M7CisgICAgd2lkdGg6MjVweDsKKyAgICBo
ZWlnaHQ6MjVweDsKK30KKy5wZXJjZW50YWdlX3NpemUgeworICAgIHBvc2l0aW9uOmFic29sdXRl
OworICAgIGJhY2tncm91bmQtY29sb3I6I2NjY2NmZjsKKyAgICB3aWR0aDoxMCU7CisgICAgaGVp
Z2h0OjEwJTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0id2lkdGg6ODAwcHg7
aGVpZ2h0OjYwMHB4O21hcmdpbjowOyI+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0i
bGVmdDo1cHg7dG9wOjEwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9
InJpZ2h0OjE1cHg7dG9wOjIwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5
bGU9ImxlZnQ6MjVweDtib3R0b206MzBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXpl
IiBzdHlsZT0icmlnaHQ6MzVweDtib3R0b206NDBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJj
ZW50YWdlX3NpemUiIHN0eWxlPSJsZWZ0OjQwJTt0b3A6MzUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9
InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9InJpZ2h0OjMwJTt0b3A6MjUlIj48L2Rpdj4KKzxkaXYg
Y2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9ImxlZnQ6MjAlO2JvdHRvbToxNSUiPjwvZGl2
PgorPGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0icmlnaHQ6MTAlO2JvdHRvbTo1
JSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXIt
c2NhbGUuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvcmVwYWludC9y
ZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAyNGVj
NjVhMTNkMjgxODYwMzYyMzczNDliMGU1YzI4YzFjMDg3MDEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQt
cG9zaXRpb24tYWZ0ZXItc2NhbGUuaHRtbApAQCAtMCwwICsxLDQzIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGhpcyB0ZXN0IGlzIHN1Y2Nlc3NmdWwgaWYgZml4
ZWQgcG9zaXRpb24gZWxlbWVudHMgcmUtbGF5b3V0IGNvcnJlY3RseSBvbiBwYWdlIHNjYWxlIGNo
YW5nZXM8L3RpdGxlPgorPHN0eWxlPgorLmZpeGVkX3NpemUgeworICAgIHBvc2l0aW9uOmZpeGVk
OworICAgIGJhY2tncm91bmQtY29sb3I6I2NjZmZjYzsKKyAgICB3aWR0aDo1MHB4OworICAgIGhl
aWdodDo1MHB4OworfQorLnBlcmNlbnRhZ2Vfc2l6ZSB7CisgICAgcG9zaXRpb246Zml4ZWQ7Cisg
ICAgYmFja2dyb3VuZC1jb2xvcjojY2NjY2ZmOworICAgIHdpZHRoOjEwJTsKKyAgICBoZWlnaHQ6
MTAlOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyIgc3R5
bGU9IndpZHRoOjE2MDBweDtoZWlnaHQ6MTIwMHB4O21hcmdpbjowOyI+Cis8ZGl2IGNsYXNzPSJm
aXhlZF9zaXplIiBzdHlsZT0ibGVmdDoxMHB4O3RvcDoyMHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9
ImZpeGVkX3NpemUiIHN0eWxlPSJyaWdodDozMHB4O3RvcDo0MHB4Ij48L2Rpdj4KKzxkaXYgY2xh
c3M9ImZpeGVkX3NpemUiIHN0eWxlPSJsZWZ0OjUwcHg7Ym90dG9tOjYwcHgiPjwvZGl2PgorPGRp
diBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9InJpZ2h0OjcwcHg7Ym90dG9tOjgwcHgiPjwvZGl2
PgorPGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0ibGVmdDo0MCU7dG9wOjM1JSI+
PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxlPSJyaWdodDozMCU7dG9w
OjI1JSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxlPSJsZWZ0OjIw
JTtib3R0b206MTUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9
InJpZ2h0OjEwJTtib3R0b206NSUiPjwvZGl2PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgd2luZG93LmludGVybmFs
cy5zZXR0aW5ncy5zZXRGaXhlZEVsZW1lbnRzTGF5b3V0UmVsYXRpdmVUb0ZyYW1lKHRydWUpOwor
CisgICAgICAgIC8vIEZvcmNlIHNjcm9sbGJhciB0byBoaWRlIGFuZCByZS1sYXlvdXQgaW1tZWRp
YXRlbHkuCisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0UGFnZVNjYWxlRmFjdG9yKDAuMSwg
MCwgMCk7CisgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0VG9wOworCisgICAgICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0UGFnZVNjYWxlRmFjdG9yKDAuNSwgMCwgMCk7CisgICAgfQorfQorPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189224</attachid>
            <date>2013-02-19 19:59:59 -0800</date>
            <delta_ts>2013-02-20 23:24:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105486-20130219195622.patch</filename>
            <type>text/plain</type>
            <size>9399</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzMzc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWQ5NjI5MjlmN2ExMDc2
OWRiMzJlODY3ZjNkNzI4MDBmOWI5M2MwOS4uNGM5M2IwNTE5YjdlOGUxYjUwYzIwMzFlNmZkMzVl
YWZlNjU4ODg4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAyLTE5ICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIHRvIHJlLWxh
eW91dCBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyBhZnRlciBzY2FsZSB3aGVuIHVzaW5nIHNldHRp
bmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDg2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gc2V0dGluZ3MoKS0+Zml4ZWRF
bGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpIG1vZGUsIGZpeGVkLXBvc2l0aW9uCisgICAg
ICAgIGVsZW1lbnRzIGFyZSBsYXlvdXQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgdmlzaWJsZSB2
aWV3cG9ydCwgd2hpY2ggY2FuCisgICAgICAgIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBsYXlvdXQg
dmlld3BvcnQgd2hlbiB1c2luZyBmaXhlZC1sYXlvdXQgbW9kZS4KKyAgICAgICAgV2UgbmVlZCB0
byByZS1sYXlvdXQgZml4ZWQtcG9zaXRpb24gZWxlbWVudHMgaW4gY2FzZSBvZiB2aXNpYmxlIGNv
bnRlbnQKKyAgICAgICAgc2l6ZSBjaGFuZ2VzLgorCisgICAgICAgIFRoZSB0ZXN0IGlzIGN1cnJl
bnRseSBjaHJvbWl1bS1zcGVjaWZpYyBkdWUgdG8gZGlmZmljdWx0aWVzIHRvIG1ha2UgdGhpcwor
ICAgICAgICB0ZXN0IHdvcmtzIG9uIE1hYy4gVGhlIG1hYyBwb3J0IHNlZW1zIHRvIHdvcmsgdmVy
eSBkaWZmZXJlbnRseSB3aXRoCisgICAgICAgIHZpc2libGUgY29udGVudCBzaXplIHdoZW4gYSBw
YWdlIGlzIHNjYWxlZC4gQW5kIHRoZXJlIGlzIG5vIHJlbGlhYmxlIHdheQorICAgICAgICB0byBo
aWRlIHNjcm9sbGJhcnMgaW4gbWFjLXdrMSB0aGF0IGRvZXNuJ3QgY2F1c2UgYSBzaWRlIGVmZmVj
dC4KKworICAgICAgICBUZXN0OiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlv
dXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUuaHRtbAorCisgICAgICAgICogcGFnZS9GcmFt
ZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojp2aXNpYmxlQ29udGVudHNS
ZXNpemVkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dmlzaWJsZUNvbnRlbnRTY2Fs
ZUZhY3RvckRpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwYWdlL0Zy
YW1lVmlldy5oOgorICAgICAgICAoRnJhbWVWaWV3KToKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2V0UGFnZVNjYWxlRmFjdG9yKToKKwogMjAxMy0w
Mi0xOSAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEJvcmRlciBj
aGFuZ2VzIG9uIHRhYmxlcyB3aXRoIGNvbGxhcHNlZCBib3JkZXJzIGRvZXNuJ3QgcmVsYXlvdXQg
dGFibGUgY2VsbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA2YjZiNzFmYTM5MjY3
OWExMzg2YmQzNGVmZGFjNzQ4NjYzNTUxNGVhLi45YTM3NTc2YjY0MmRjZDE5Y2UwZmY3NTczMGJh
YWI4NTU4YTg3ZGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0yMDM1LDYgKzIw
MzUsMTIgQEAgdm9pZCBGcmFtZVZpZXc6OnZpc2libGVDb250ZW50c1Jlc2l6ZWQoKQogICAgIGlm
ICghZnJhbWUoKS0+dmlldygpKQogICAgICAgICByZXR1cm47CiAKKyAgICBMYXlvdXRTaXplIHZp
ZXdwb3J0Q29uc3RyYWluZWRWaXNpYmxlQ29udGVudFNpemUgPSB2aWV3cG9ydENvbnN0cmFpbmVk
VmlzaWJsZUNvbnRlbnRSZWN0KCkuc2l6ZSgpOworICAgIHZpZXdwb3J0Q29uc3RyYWluZWRWaXNp
YmxlQ29udGVudFNpemUuc2NhbGUoMSAvIGZyYW1lKCktPmZyYW1lU2NhbGVGYWN0b3IoKSk7Cisg
ICAgaWYgKGZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKSAmJiBtX2xhc3RTZWVu
Vmlld3BvcnRDb25zdHJhaW5lZFZpc2libGVDb250ZW50c1NpemUgIT0gdmlld3BvcnRDb25zdHJh
aW5lZFZpc2libGVDb250ZW50U2l6ZSkKKyAgICAgICAgc2V0Vmlld3BvcnRDb25zdHJhaW5lZE9i
amVjdHNOZWVkTGF5b3V0KCk7CisgICAgbV9sYXN0U2VlblZpZXdwb3J0Q29uc3RyYWluZWRWaXNp
YmxlQ29udGVudHNTaXplID0gdmlld3BvcnRDb25zdHJhaW5lZFZpc2libGVDb250ZW50U2l6ZTsK
KwogICAgIGlmICghdXNlRml4ZWRMYXlvdXQoKSAmJiBuZWVkc0xheW91dCgpKQogICAgICAgICBs
YXlvdXQoKTsKIApAQCAtMjg2NSw2ICsyODcxLDE3IEBAIEludFJlY3QgRnJhbWVWaWV3Ojp3aW5k
b3dSZXNpemVyUmVjdCgpIGNvbnN0CiAgICAgcmV0dXJuIHBhZ2UtPmNocm9tZSgpLT53aW5kb3dS
ZXNpemVyUmVjdCgpOwogfQogCit2b2lkIEZyYW1lVmlldzo6dmlzaWJsZUNvbnRlbnRTY2FsZUZh
Y3RvckRpZENoYW5nZSgpCit7CisgICAgaWYgKCFtX2ZyYW1lIHx8ICFtX2ZyYW1lLT5wYWdlKCkp
CisgICAgICAgIHJldHVybjsKKworICAgIGlmICghbV9mcmFtZS0+c2V0dGluZ3MoKS0+YXBwbHlQ
YWdlU2NhbGVGYWN0b3JJbkNvbXBvc2l0b3IoKSB8fCBtX2ZyYW1lICE9IG1fZnJhbWUtPnBhZ2Uo
KS0+bWFpbkZyYW1lKCkpCisgICAgICAgIHJldHVybjsKKworICAgIHZpc2libGVDb250ZW50c1Jl
c2l6ZWQoKTsKK30KKwogZmxvYXQgRnJhbWVWaWV3Ojp2aXNpYmxlQ29udGVudFNjYWxlRmFjdG9y
KCkgY29uc3QKIHsKICAgICBpZiAoIW1fZnJhbWUgfHwgIW1fZnJhbWUtPnBhZ2UoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5oCmluZGV4IDJiYWZlNjIwNGU3ZjdiOGNlMTk0YTk1MzQ4NmU3NDhlNzE2
OTFkMTcuLjk3ZjA2NjRhYzIyOTBhYmFhYzIyZmRjMDUyZDk1YTA2YTU1ODVhYjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuaApAQCAtMTgzLDYgKzE4Myw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1
YWwgSW50UmVjdCB3aW5kb3dSZXNpemVyUmVjdCgpIGNvbnN0OwogCisgICAgdm9pZCB2aXNpYmxl
Q29udGVudFNjYWxlRmFjdG9yRGlkQ2hhbmdlKCk7CiAgICAgdmlydHVhbCBmbG9hdCB2aXNpYmxl
Q29udGVudFNjYWxlRmFjdG9yKCkgY29uc3QgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIHZvaWQg
c2V0Rml4ZWRWaXNpYmxlQ29udGVudFJlY3QoY29uc3QgSW50UmVjdCYpIE9WRVJSSURFOwpAQCAt
NTg2LDYgKzU4NywxMCBAQCBwcml2YXRlOgogICAgIE93blB0cjxTY3JvbGxhYmxlQXJlYVNldD4g
bV9zY3JvbGxhYmxlQXJlYXM7CiAgICAgT3duUHRyPFZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3RT
ZXQ+IG1fdmlld3BvcnRDb25zdHJhaW5lZE9iamVjdHM7CiAKKyAgICAvLyBGb3IgZml4ZWRFbGVt
ZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpID09IHRydWUuCisgICAgLy8gV2UgZG9uJ3Qgd2Fu
dCB1bm5lY2Vzc2FyeSBsYXlvdXQgd2hlbiB2aXNpYmxlIGNvbnRlbnRzIHNpemUgZGlkbid0IGFj
dHVhbGx5IGNoYW5nZS4KKyAgICBMYXlvdXRTaXplIG1fbGFzdFNlZW5WaWV3cG9ydENvbnN0cmFp
bmVkVmlzaWJsZUNvbnRlbnRzU2l6ZTsKKwogICAgIHN0YXRpYyBkb3VibGUgc19ub3JtYWxEZWZl
cnJlZFJlcGFpbnREZWxheTsKICAgICBzdGF0aWMgZG91YmxlIHNfaW5pdGlhbERlZmVycmVkUmVw
YWludERlbGF5RHVyaW5nTG9hZGluZzsKICAgICBzdGF0aWMgZG91YmxlIHNfbWF4RGVmZXJyZWRS
ZXBhaW50RGVsYXlEdXJpbmdMb2FkaW5nOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggZWY5ZTg2ODY4
MDVlOTkxYjQ1YmVjYjAwNGRjOWE3YjE5OWE3M2NiZi4uN2NkYTAyZTM0NmRhYjBkOTVhNmRjMWE5
NTljMTVhODU3M2E0MDZhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC03NDgsNiArNzQ4LDggQEAg
dm9pZCBQYWdlOjpzZXRQYWdlU2NhbGVGYWN0b3IoZmxvYXQgc2NhbGUsIGNvbnN0IEludFBvaW50
JiBvcmlnaW4pCiAgICAgbWFpbkZyYW1lKCktPmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdl
ZCgpOwogI2VuZGlmCiAKKyAgICB2aWV3LT52aXNpYmxlQ29udGVudFNjYWxlRmFjdG9yRGlkQ2hh
bmdlKCk7CisKICAgICBpZiAodmlldyAmJiB2aWV3LT5zY3JvbGxQb3NpdGlvbigpICE9IG9yaWdp
bikgewogICAgICAgICBpZiAoIW1fc2V0dGluZ3MtPmFwcGx5UGFnZVNjYWxlRmFjdG9ySW5Db21w
b3NpdG9yKCkgJiYgZG9jdW1lbnQtPnJlbmRlcmVyKCkgJiYgZG9jdW1lbnQtPnJlbmRlcmVyKCkt
Pm5lZWRzTGF5b3V0KCkgJiYgdmlldy0+ZGlkRmlyc3RMYXlvdXQoKSkKICAgICAgICAgICAgIHZp
ZXctPmxheW91dCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDcyMmIwMWZjMTMyY2NiZjE0ODllM2QzN2QwYmUxZDYzY2Ri
MGViZTcuLmJiODg2YzI4NzExMTRmYjY5Y2ViNDQ5Yjc2NDY5ODQwNDAyYWUzNTIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNCBAQAorMjAxMy0wMi0xOSAgVGllbi1SZW4gQ2hlbiAgPHRyY2hlbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgTmVlZCB0byByZS1sYXlvdXQgZml4ZWQgcG9zaXRpb24gZWxlbWVu
dHMgYWZ0ZXIgc2NhbGUgd2hlbiB1c2luZyBzZXR0aW5ncygpLT5maXhlZEVsZW1lbnRzTGF5b3V0
UmVsYXRpdmVUb0ZyYW1lKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwNTQ4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEluIHNldHRpbmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJh
bWUoKSBtb2RlLCBmaXhlZC1wb3NpdGlvbgorICAgICAgICBlbGVtZW50cyBhcmUgbGF5b3V0IHJl
bGF0aXZlIHRvIHRoZSBjdXJyZW50IHZpc2libGUgdmlld3BvcnQsIHdoaWNoIGNhbgorICAgICAg
ICBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgbGF5b3V0IHZpZXdwb3J0IHdoZW4gdXNpbmcgZml4ZWQt
bGF5b3V0IG1vZGUuCisgICAgICAgIFdlIG5lZWQgdG8gcmUtbGF5b3V0IGZpeGVkLXBvc2l0aW9u
IGVsZW1lbnRzIGluIGNhc2Ugb2YgdmlzaWJsZSBjb250ZW50CisgICAgICAgIHNpemUgY2hhbmdl
cy4KKworICAgICAgICBUaGUgdGVzdCBpcyBjdXJyZW50bHkgY2hyb21pdW0tc3BlY2lmaWMgZHVl
IHRvIGRpZmZpY3VsdGllcyB0byBtYWtlIHRoaXMKKyAgICAgICAgdGVzdCB3b3JrcyBvbiBNYWMu
IFRoZSBtYWMgcG9ydCBzZWVtcyB0byB3b3JrIHZlcnkgZGlmZmVyZW50bHkgd2l0aAorICAgICAg
ICB2aXNpYmxlIGNvbnRlbnQgc2l6ZSB3aGVuIGEgcGFnZSBpcyBzY2FsZWQuIEFuZCB0aGVyZSBp
cyBubyByZWxpYWJsZSB3YXkKKyAgICAgICAgdG8gaGlkZSBzY3JvbGxiYXJzIGluIG1hYy13azEg
dGhhdCBkb2Vzbid0IGNhdXNlIGEgc2lkZSBlZmZlY3QuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUt
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9y
ZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLmh0bWw6IEFkZGVkLgor
CiAyMDEzLTAyLTE5ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
Qm9yZGVyIGNoYW5nZXMgb24gdGFibGVzIHdpdGggY29sbGFwc2VkIGJvcmRlcnMgZG9lc24ndCBy
ZWxheW91dCB0YWJsZSBjZWxscwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLWV4
cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQv
cmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUtZXhwZWN0ZWQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44YjViODAzYTdiZjJjMDE2Y2Y4YzVkNmE4MDA2YTE0NTNhYTBlYTYyCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5
b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwy
OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorLmZpeGVkX3Np
emUgeworICAgIHBvc2l0aW9uOmFic29sdXRlOworICAgIGJhY2tncm91bmQtY29sb3I6I2NjZmZj
YzsKKyAgICB3aWR0aDoyNXB4OworICAgIGhlaWdodDoyNXB4OworfQorLnBlcmNlbnRhZ2Vfc2l6
ZSB7CisgICAgcG9zaXRpb246YWJzb2x1dGU7CisgICAgYmFja2dyb3VuZC1jb2xvcjojY2NjY2Zm
OworICAgIHdpZHRoOjEwJTsKKyAgICBoZWlnaHQ6MTAlOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5IHN0eWxlPSJ3aWR0aDo4MDBweDtoZWlnaHQ6NjAwcHg7bWFyZ2luOjA7Ij4KKzxkaXYg
Y2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJsZWZ0OjVweDt0b3A6MTBweCI+PC9kaXY+Cis8ZGl2
IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0icmlnaHQ6MTVweDt0b3A6MjBweCI+PC9kaXY+Cis8
ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0ibGVmdDoyNXB4O2JvdHRvbTozMHB4Ij48L2Rp
dj4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJyaWdodDozNXB4O2JvdHRvbTo0MHB4
Ij48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9ImxlZnQ6NDAlO3Rv
cDozNSUiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0icmlnaHQ6
MzAlO3RvcDoyNSUiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0i
bGVmdDoyMCU7Ym90dG9tOjE1JSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUi
IHN0eWxlPSJyaWdodDoxMCU7Ym90dG9tOjUlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvcmVwYWludC9yZWxh
eW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNj
YWxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDI0ZWM2NWExM2QyODE4NjAzNjIzNzM0OWIwZTVjMjhjMWMw
ODcwMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zh
c3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS5odG1sCkBAIC0w
LDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5UaGlz
IHRlc3QgaXMgc3VjY2Vzc2Z1bCBpZiBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyByZS1sYXlvdXQg
Y29ycmVjdGx5IG9uIHBhZ2Ugc2NhbGUgY2hhbmdlczwvdGl0bGU+Cis8c3R5bGU+CisuZml4ZWRf
c2l6ZSB7CisgICAgcG9zaXRpb246Zml4ZWQ7CisgICAgYmFja2dyb3VuZC1jb2xvcjojY2NmZmNj
OworICAgIHdpZHRoOjUwcHg7CisgICAgaGVpZ2h0OjUwcHg7Cit9CisucGVyY2VudGFnZV9zaXpl
IHsKKyAgICBwb3NpdGlvbjpmaXhlZDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiNjY2NjZmY7Cisg
ICAgd2lkdGg6MTAlOworICAgIGhlaWdodDoxMCU7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCk7IiBzdHlsZT0id2lkdGg6MTYwMHB4O2hlaWdodDoxMjAwcHg7
bWFyZ2luOjA7Ij4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJsZWZ0OjEwcHg7dG9w
OjIwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9InJpZ2h0OjMwcHg7
dG9wOjQwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9ImxlZnQ6NTBw
eDtib3R0b206NjBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0icmln
aHQ6NzBweDtib3R0b206ODBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUi
IHN0eWxlPSJsZWZ0OjQwJTt0b3A6MzUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vf
c2l6ZSIgc3R5bGU9InJpZ2h0OjMwJTt0b3A6MjUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNl
bnRhZ2Vfc2l6ZSIgc3R5bGU9ImxlZnQ6MjAlO2JvdHRvbToxNSUiPjwvZGl2PgorPGRpdiBjbGFz
cz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0icmlnaHQ6MTAlO2JvdHRvbTo1JSI+PC9kaXY+Cis8
c2NyaXB0PgorZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93LmludGVybmFscykg
eworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEZpeGVkRWxlbWVudHNMYXlv
dXRSZWxhdGl2ZVRvRnJhbWUodHJ1ZSk7CisKKyAgICAgICAgLy8gRm9yY2Ugc2Nyb2xsYmFyIHRv
IGhpZGUgYW5kIHJlLWxheW91dCBpbW1lZGlhdGVseS4KKyAgICAgICAgd2luZG93LmludGVybmFs
cy5zZXRQYWdlU2NhbGVGYWN0b3IoMC4xLCAwLCAwKTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5v
ZmZzZXRUb3A7CisKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXRQYWdlU2NhbGVGYWN0b3Io
MC41LCAwLCAwKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189463</attachid>
            <date>2013-02-20 23:24:11 -0800</date>
            <delta_ts>2013-02-21 17:36:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105486-20130220232032.patch</filename>
            <type>text/plain</type>
            <size>8105</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzMzc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWQ5NjI5MjlmN2ExMDc2
OWRiMzJlODY3ZjNkNzI4MDBmOWI5M2MwOS4uZTdiMWExNTZjOGQ3YTQwOTk5ZTExMzAzY2ZjYWVj
ZjNmZDM3NTQwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAyLTIwICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIHRvIHJlLWxh
eW91dCBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyBhZnRlciBzY2FsZSB3aGVuIHVzaW5nIHNldHRp
bmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDg2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gc2V0dGluZ3MoKS0+Zml4ZWRF
bGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpIG1vZGUsIGZpeGVkLXBvc2l0aW9uCisgICAg
ICAgIGVsZW1lbnRzIGFyZSBsYXlvdXQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgdmlzaWJsZSB2
aWV3cG9ydCwgd2hpY2ggY2FuCisgICAgICAgIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBsYXlvdXQg
dmlld3BvcnQgd2hlbiB1c2luZyBmaXhlZC1sYXlvdXQgbW9kZS4KKyAgICAgICAgV2UgbmVlZCB0
byByZS1sYXlvdXQgZml4ZWQtcG9zaXRpb24gZWxlbWVudHMgaW4gY2FzZSBvZiB2aXNpYmxlIGNv
bnRlbnQKKyAgICAgICAgc2l6ZSBjaGFuZ2VzLgorCisgICAgICAgIFRoZSB0ZXN0IGlzIGN1cnJl
bnRseSBjaHJvbWl1bS1zcGVjaWZpYyBkdWUgdG8gZGlmZmljdWx0aWVzIHRvIG1ha2UgdGhpcwor
ICAgICAgICB0ZXN0IHdvcmtzIG9uIE1hYy4gVGhlIG1hYyBwb3J0IHNlZW1zIHRvIHdvcmsgdmVy
eSBkaWZmZXJlbnRseSB3aXRoCisgICAgICAgIHZpc2libGUgY29udGVudCBzaXplIHdoZW4gYSBw
YWdlIGlzIHNjYWxlZC4gQW5kIHRoZXJlIGlzIG5vIHJlbGlhYmxlIHdheQorICAgICAgICB0byBo
aWRlIHNjcm9sbGJhcnMgaW4gbWFjLXdrMSB0aGF0IGRvZXNuJ3QgY2F1c2UgYSBzaWRlIGVmZmVj
dC4KKworICAgICAgICBUZXN0OiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlv
dXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUuaHRtbAorCisgICAgICAgICogcGFnZS9GcmFt
ZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojp2aXNpYmxlQ29udGVudHNS
ZXNpemVkKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAoRnJhbWVWaWV3
KToKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2V0
UGFnZVNjYWxlRmFjdG9yKToKKwogMjAxMy0wMi0xOSAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIEJvcmRlciBjaGFuZ2VzIG9uIHRhYmxlcyB3aXRoIGNvbGxhcHNl
ZCBib3JkZXJzIGRvZXNuJ3QgcmVsYXlvdXQgdGFibGUgY2VsbHMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAppbmRleCA2YjZiNzFmYTM5MjY3OWExMzg2YmQzNGVmZGFjNzQ4NjYzNTUxNGVhLi4w
NjYzMTViMTA5NTE4ZjAyNDk3MDJhMWU1M2UwZWRlOTdjMmE5MWRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCkBAIC0yMDM1LDYgKzIwMzUsOCBAQCB2b2lkIEZyYW1lVmlldzo6dmlzaWJs
ZUNvbnRlbnRzUmVzaXplZCgpCiAgICAgaWYgKCFmcmFtZSgpLT52aWV3KCkpCiAgICAgICAgIHJl
dHVybjsKIAorICAgIHNldFZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3RzTmVlZExheW91dCgpOwor
CiAgICAgaWYgKCF1c2VGaXhlZExheW91dCgpICYmIG5lZWRzTGF5b3V0KCkpCiAgICAgICAgIGxh
eW91dCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCAyYmFmZTYyMDRlN2Y3YjhjZTE5
NGE5NTM0ODZlNzQ4ZTcxNjkxZDE3Li5hMjY1ZmZhYmFiNmVjOGE2NGFiYzE2MjVmY2M5NDYyODBm
YzcyYWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTExMSw2ICsxMTEsNyBAQCBwdWJs
aWM6CiAKICAgICBib29sIG5lZWRzTGF5b3V0KCkgY29uc3Q7CiAgICAgdm9pZCBzZXROZWVkc0xh
eW91dCgpOworICAgIHZvaWQgc2V0Vmlld3BvcnRDb25zdHJhaW5lZE9iamVjdHNOZWVkTGF5b3V0
KCk7CiAKICAgICBib29sIG5lZWRzRnVsbFJlcGFpbnQoKSBjb25zdCB7IHJldHVybiBtX2RvRnVs
bFJlcGFpbnQ7IH0KIApAQCAtNDgyLDggKzQ4Myw2IEBAIHByaXZhdGU6CiAKICAgICBib29sIGRv
TGF5b3V0V2l0aEZyYW1lRmxhdHRlbmluZyhib29sIGFsbG93U3VidHJlZSk7CiAKLSAgICB2b2lk
IHNldFZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3RzTmVlZExheW91dCgpOwotCiAgICAgdmlydHVh
bCBBWE9iamVjdENhY2hlKiBheE9iamVjdENhY2hlKCkgY29uc3Q7CiAgICAgdm9pZCBub3RpZnlX
aWRnZXRzSW5BbGxGcmFtZXMoV2lkZ2V0Tm90aWZpY2F0aW9uKTsKICAgICB2b2lkIHJlbW92ZUZy
b21BWE9iamVjdENhY2hlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBlZjllODY4NjgwNWU5OTFi
NDViZWNiMDA0ZGM5YTdiMTk5YTczY2JmLi5mMzQzZjhlOWYxNTRlYjA4NDc1M2NmNTM3ZDViMzE2
MWE1YjBkNjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTc0OCw2ICs3NDgsOSBAQCB2b2lkIFBh
Z2U6OnNldFBhZ2VTY2FsZUZhY3RvcihmbG9hdCBzY2FsZSwgY29uc3QgSW50UG9pbnQmIG9yaWdp
bikKICAgICBtYWluRnJhbWUoKS0+ZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7CiAj
ZW5kaWYKIAorICAgIGlmICh2aWV3KQorICAgICAgICB2aWV3LT5zZXRWaWV3cG9ydENvbnN0cmFp
bmVkT2JqZWN0c05lZWRMYXlvdXQoKTsKKwogICAgIGlmICh2aWV3ICYmIHZpZXctPnNjcm9sbFBv
c2l0aW9uKCkgIT0gb3JpZ2luKSB7CiAgICAgICAgIGlmICghbV9zZXR0aW5ncy0+YXBwbHlQYWdl
U2NhbGVGYWN0b3JJbkNvbXBvc2l0b3IoKSAmJiBkb2N1bWVudC0+cmVuZGVyZXIoKSAmJiBkb2N1
bWVudC0+cmVuZGVyZXIoKS0+bmVlZHNMYXlvdXQoKSAmJiB2aWV3LT5kaWRGaXJzdExheW91dCgp
KQogICAgICAgICAgICAgdmlldy0+bGF5b3V0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzIyYjAxZmMxMzJjY2JmMTQ4
OWUzZDM3ZDBiZTFkNjNjZGIwZWJlNy4uNDVmNzhlYTAzMDZlMGFiNjNhNjA3YjZhNTQyZWNiZTA0
MjBiMzQ2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTAyLTIwICBUaWVuLVJlbiBDaGVu
ICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIHRvIHJlLWxheW91dCBmaXhl
ZCBwb3NpdGlvbiBlbGVtZW50cyBhZnRlciBzY2FsZSB3aGVuIHVzaW5nIHNldHRpbmdzKCktPmZp
eGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gc2V0dGluZ3MoKS0+Zml4ZWRFbGVtZW50c0xh
eW91dFJlbGF0aXZlVG9GcmFtZSgpIG1vZGUsIGZpeGVkLXBvc2l0aW9uCisgICAgICAgIGVsZW1l
bnRzIGFyZSBsYXlvdXQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgdmlzaWJsZSB2aWV3cG9ydCwg
d2hpY2ggY2FuCisgICAgICAgIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBsYXlvdXQgdmlld3BvcnQg
d2hlbiB1c2luZyBmaXhlZC1sYXlvdXQgbW9kZS4KKyAgICAgICAgV2UgbmVlZCB0byByZS1sYXlv
dXQgZml4ZWQtcG9zaXRpb24gZWxlbWVudHMgaW4gY2FzZSBvZiB2aXNpYmxlIGNvbnRlbnQKKyAg
ICAgICAgc2l6ZSBjaGFuZ2VzLgorCisgICAgICAgIFRoZSB0ZXN0IGlzIGN1cnJlbnRseSBjaHJv
bWl1bS1zcGVjaWZpYyBkdWUgdG8gZGlmZmljdWx0aWVzIHRvIG1ha2UgdGhpcworICAgICAgICB0
ZXN0IHdvcmtzIG9uIE1hYy4gVGhlIG1hYyBwb3J0IHNlZW1zIHRvIHdvcmsgdmVyeSBkaWZmZXJl
bnRseSB3aXRoCisgICAgICAgIHZpc2libGUgY29udGVudCBzaXplIHdoZW4gYSBwYWdlIGlzIHNj
YWxlZC4gQW5kIHRoZXJlIGlzIG5vIHJlbGlhYmxlIHdheQorICAgICAgICB0byBoaWRlIHNjcm9s
bGJhcnMgaW4gbWFjLXdrMSB0aGF0IGRvZXNuJ3QgY2F1c2UgYSBzaWRlIGVmZmVjdC4KKworICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3Np
dGlvbi1hZnRlci1zY2FsZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2Nh
bGUuaHRtbDogQWRkZWQuCisKIDIwMTMtMDItMTkgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBCb3JkZXIgY2hhbmdlcyBvbiB0YWJsZXMgd2l0aCBjb2xsYXBzZWQg
Ym9yZGVycyBkb2Vzbid0IHJlbGF5b3V0IHRhYmxlIGNlbGxzCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRp
b24tYWZ0ZXItc2NhbGUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS1leHBl
Y3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiNWI4MDNhN2JmMmMwMTZjZjhjNWQ2YTgwMDZhMTQ1M2Fh
MGVhNjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9m
YXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUtZXhwZWN0ZWQu
aHRtbApAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c3R5bGU+CisuZml4ZWRfc2l6ZSB7CisgICAgcG9zaXRpb246YWJzb2x1dGU7CisgICAgYmFja2dy
b3VuZC1jb2xvcjojY2NmZmNjOworICAgIHdpZHRoOjI1cHg7CisgICAgaGVpZ2h0OjI1cHg7Cit9
CisucGVyY2VudGFnZV9zaXplIHsKKyAgICBwb3NpdGlvbjphYnNvbHV0ZTsKKyAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiNjY2NjZmY7CisgICAgd2lkdGg6MTAlOworICAgIGhlaWdodDoxMCU7Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHkgc3R5bGU9IndpZHRoOjgwMHB4O2hlaWdodDo2MDBweDtt
YXJnaW46MDsiPgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9ImxlZnQ6NXB4O3RvcDox
MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJyaWdodDoxNXB4O3Rv
cDoyMHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJsZWZ0OjI1cHg7
Ym90dG9tOjMwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9InJpZ2h0
OjM1cHg7Ym90dG9tOjQwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXplIiBz
dHlsZT0ibGVmdDo0MCU7dG9wOjM1JSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3Np
emUiIHN0eWxlPSJyaWdodDozMCU7dG9wOjI1JSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50
YWdlX3NpemUiIHN0eWxlPSJsZWZ0OjIwJTtib3R0b206MTUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9
InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9InJpZ2h0OjEwJTtib3R0b206NSUiPjwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
ZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLmh0bWwgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQt
cG9zaXRpb24tYWZ0ZXItc2NhbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMjRlYzY1YTEzZDI4MTg2MDM2
MjM3MzQ5YjBlNWMyOGMxYzA4NzAxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVy
LXNjYWxlLmh0bWwKQEAgLTAsMCArMSw0MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPHRpdGxlPlRoaXMgdGVzdCBpcyBzdWNjZXNzZnVsIGlmIGZpeGVkIHBvc2l0aW9uIGVs
ZW1lbnRzIHJlLWxheW91dCBjb3JyZWN0bHkgb24gcGFnZSBzY2FsZSBjaGFuZ2VzPC90aXRsZT4K
KzxzdHlsZT4KKy5maXhlZF9zaXplIHsKKyAgICBwb3NpdGlvbjpmaXhlZDsKKyAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiNjY2ZmY2M7CisgICAgd2lkdGg6NTBweDsKKyAgICBoZWlnaHQ6NTBweDsKK30K
Ky5wZXJjZW50YWdlX3NpemUgeworICAgIHBvc2l0aW9uOmZpeGVkOworICAgIGJhY2tncm91bmQt
Y29sb3I6I2NjY2NmZjsKKyAgICB3aWR0aDoxMCU7CisgICAgaGVpZ2h0OjEwJTsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiIHN0eWxlPSJ3aWR0aDoxNjAw
cHg7aGVpZ2h0OjEyMDBweDttYXJnaW46MDsiPgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5
bGU9ImxlZnQ6MTBweDt0b3A6MjBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBz
dHlsZT0icmlnaHQ6MzBweDt0b3A6NDBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXpl
IiBzdHlsZT0ibGVmdDo1MHB4O2JvdHRvbTo2MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImZpeGVk
X3NpemUiIHN0eWxlPSJyaWdodDo3MHB4O2JvdHRvbTo4MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9
InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9ImxlZnQ6NDAlO3RvcDozNSUiPjwvZGl2PgorPGRpdiBj
bGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0icmlnaHQ6MzAlO3RvcDoyNSUiPjwvZGl2Pgor
PGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0ibGVmdDoyMCU7Ym90dG9tOjE1JSI+
PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxlPSJyaWdodDoxMCU7Ym90
dG9tOjUlIj48L2Rpdj4KKzxzY3JpcHQ+CitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGlmICh3
aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0
Rml4ZWRFbGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSh0cnVlKTsKKworICAgICAgICAvLyBG
b3JjZSBzY3JvbGxiYXIgdG8gaGlkZSBhbmQgcmUtbGF5b3V0IGltbWVkaWF0ZWx5LgorICAgICAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldFBhZ2VTY2FsZUZhY3RvcigwLjEsIDAsIDApOworICAgICAg
ICBkb2N1bWVudC5ib2R5Lm9mZnNldFRvcDsKKworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dFBhZ2VTY2FsZUZhY3RvcigwLjUsIDAsIDApOworICAgIH0KK30KKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189646</attachid>
            <date>2013-02-21 17:36:41 -0800</date>
            <delta_ts>2013-02-27 18:03:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105486-20130221173301.patch</filename>
            <type>text/plain</type>
            <size>8139</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzNjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzk0NjdhODg4OGZiMWY3
MTY3ODcyZDM3MWNkMWNhYmQxZGNiY2NmOS4uYTk3ZDMxOGEzNGZiZTEwZDFjYTgyMzQ3YzMxYmY0
M2EzYWQyOWZiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAyLTIxICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIHRvIHJlLWxh
eW91dCBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyBhZnRlciBzY2FsZSB3aGVuIHVzaW5nIHNldHRp
bmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDg2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gc2V0dGluZ3MoKS0+Zml4ZWRF
bGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpIG1vZGUsIGZpeGVkLXBvc2l0aW9uCisgICAg
ICAgIGVsZW1lbnRzIGFyZSBsYXlvdXQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgdmlzaWJsZSB2
aWV3cG9ydCwgd2hpY2ggY2FuCisgICAgICAgIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBsYXlvdXQg
dmlld3BvcnQgd2hlbiB1c2luZyBmaXhlZC1sYXlvdXQgbW9kZS4KKyAgICAgICAgV2UgbmVlZCB0
byByZS1sYXlvdXQgZml4ZWQtcG9zaXRpb24gZWxlbWVudHMgaW4gY2FzZSBvZiB2aXNpYmxlIGNv
bnRlbnQKKyAgICAgICAgc2l6ZSBjaGFuZ2VzLgorCisgICAgICAgIFRoZSB0ZXN0IGlzIGN1cnJl
bnRseSBjaHJvbWl1bS1zcGVjaWZpYyBkdWUgdG8gZGlmZmljdWx0aWVzIHRvIG1ha2UgdGhpcwor
ICAgICAgICB0ZXN0IHdvcmtzIG9uIE1hYy4gVGhlIG1hYyBwb3J0IHNlZW1zIHRvIHdvcmsgdmVy
eSBkaWZmZXJlbnRseSB3aXRoCisgICAgICAgIHZpc2libGUgY29udGVudCBzaXplIHdoZW4gYSBw
YWdlIGlzIHNjYWxlZC4gQW5kIHRoZXJlIGlzIG5vIHJlbGlhYmxlIHdheQorICAgICAgICB0byBo
aWRlIHNjcm9sbGJhcnMgaW4gbWFjLXdrMSB0aGF0IGRvZXNuJ3QgY2F1c2UgYSBzaWRlIGVmZmVj
dC4KKworICAgICAgICBUZXN0OiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlv
dXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUuaHRtbAorCisgICAgICAgICogcGFnZS9GcmFt
ZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojp2aXNpYmxlQ29udGVudHNS
ZXNpemVkKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAoRnJhbWVWaWV3
KToKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2V0
UGFnZVNjYWxlRmFjdG9yKToKKwogMjAxMy0wMi0yMSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2
aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE0
MzUzNi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA2ZDY2NWRhYzA4NDg5NDEyYjI3
MTg0OWFkNGE0ZWIxNzk1MjJmZDEyLi44NGRhNzE0ZTI3ZGY4MDhiOWE2ODVjMWE5MmZhODQ3Yjg0
Y2NiOThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0yMDQ5LDYgKzIwNDksOSBA
QCB2b2lkIEZyYW1lVmlldzo6dmlzaWJsZUNvbnRlbnRzUmVzaXplZCgpCiAgICAgaWYgKCFmcmFt
ZSgpLT52aWV3KCkpCiAgICAgICAgIHJldHVybjsKIAorICAgIGlmIChmaXhlZEVsZW1lbnRzTGF5
b3V0UmVsYXRpdmVUb0ZyYW1lKCkpCisgICAgICAgIHNldFZpZXdwb3J0Q29uc3RyYWluZWRPYmpl
Y3RzTmVlZExheW91dCgpOworCiAgICAgaWYgKCF1c2VGaXhlZExheW91dCgpICYmIG5lZWRzTGF5
b3V0KCkpCiAgICAgICAgIGxheW91dCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCA0
OTRhZTQ3YjcxZDUzYTkzYzU4Zjg4NTUxZTUwNjIxZjI3YWUyNDE3Li5lYTA0NjU4OTBiNThiYmU1
OTcwOTBlOGViN2JkOTg4MmU4YTk3MmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTEx
MSw2ICsxMTEsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIG5lZWRzTGF5b3V0KCkgY29uc3Q7CiAg
ICAgdm9pZCBzZXROZWVkc0xheW91dCgpOworICAgIHZvaWQgc2V0Vmlld3BvcnRDb25zdHJhaW5l
ZE9iamVjdHNOZWVkTGF5b3V0KCk7CiAKICAgICBib29sIG5lZWRzRnVsbFJlcGFpbnQoKSBjb25z
dCB7IHJldHVybiBtX2RvRnVsbFJlcGFpbnQ7IH0KIApAQCAtNDg1LDggKzQ4Niw2IEBAIHByaXZh
dGU6CiAKICAgICBib29sIGRvTGF5b3V0V2l0aEZyYW1lRmxhdHRlbmluZyhib29sIGFsbG93U3Vi
dHJlZSk7CiAKLSAgICB2b2lkIHNldFZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3RzTmVlZExheW91
dCgpOwotCiAgICAgdmlydHVhbCBBWE9iamVjdENhY2hlKiBheE9iamVjdENhY2hlKCkgY29uc3Q7
CiAgICAgdm9pZCBub3RpZnlXaWRnZXRzSW5BbGxGcmFtZXMoV2lkZ2V0Tm90aWZpY2F0aW9uKTsK
ICAgICB2b2lkIHJlbW92ZUZyb21BWE9iamVjdENhY2hlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRl
eCA1MTMzNTY3ZmE4YzFkZmE0Mjc0NGZjNmQ4NjUwZGZhMmVkZDI0MGIyLi5iZGJiMjk5NDMxMzk5
YjBiZDY1MWVkYmQzNjVjZTdhNWQxZTcwYTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTc0OCw2
ICs3NDgsOSBAQCB2b2lkIFBhZ2U6OnNldFBhZ2VTY2FsZUZhY3RvcihmbG9hdCBzY2FsZSwgY29u
c3QgSW50UG9pbnQmIG9yaWdpbikKICAgICBtYWluRnJhbWUoKS0+ZGV2aWNlT3JQYWdlU2NhbGVG
YWN0b3JDaGFuZ2VkKCk7CiAjZW5kaWYKIAorICAgIGlmICh2aWV3ICYmIHZpZXctPmZpeGVkRWxl
bWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKSkKKyAgICAgICAgdmlldy0+c2V0Vmlld3BvcnRD
b25zdHJhaW5lZE9iamVjdHNOZWVkTGF5b3V0KCk7CisKICAgICBpZiAodmlldyAmJiB2aWV3LT5z
Y3JvbGxQb3NpdGlvbigpICE9IG9yaWdpbikgewogICAgICAgICBpZiAoIW1fc2V0dGluZ3MtPmFw
cGx5UGFnZVNjYWxlRmFjdG9ySW5Db21wb3NpdG9yKCkgJiYgZG9jdW1lbnQtPnJlbmRlcmVyKCkg
JiYgZG9jdW1lbnQtPnJlbmRlcmVyKCktPm5lZWRzTGF5b3V0KCkgJiYgdmlldy0+ZGlkRmlyc3RM
YXlvdXQoKSkKICAgICAgICAgICAgIHZpZXctPmxheW91dCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA5ODc2ODgxOWI2
ZGU3MTg3MGMxNjg1MjNkNDYwOTNlZjg3ZTk5MDUuLjUyYzE2MjcwYzBhZTU1NmM3ZWY5MzY4MzY5
ZGEzYmNhZDRlN2RjYTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMy0wMi0yMSAgVGllbi1S
ZW4gQ2hlbiAgPHRyY2hlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTmVlZCB0byByZS1sYXlv
dXQgZml4ZWQgcG9zaXRpb24gZWxlbWVudHMgYWZ0ZXIgc2NhbGUgd2hlbiB1c2luZyBzZXR0aW5n
cygpLT5maXhlZEVsZW1lbnRzTGF5b3V0UmVsYXRpdmVUb0ZyYW1lKCkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTQ4NgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIHNldHRpbmdzKCktPmZpeGVkRWxl
bWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKSBtb2RlLCBmaXhlZC1wb3NpdGlvbgorICAgICAg
ICBlbGVtZW50cyBhcmUgbGF5b3V0IHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHZpc2libGUgdmll
d3BvcnQsIHdoaWNoIGNhbgorICAgICAgICBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgbGF5b3V0IHZp
ZXdwb3J0IHdoZW4gdXNpbmcgZml4ZWQtbGF5b3V0IG1vZGUuCisgICAgICAgIFdlIG5lZWQgdG8g
cmUtbGF5b3V0IGZpeGVkLXBvc2l0aW9uIGVsZW1lbnRzIGluIGNhc2Ugb2YgdmlzaWJsZSBjb250
ZW50CisgICAgICAgIHNpemUgY2hhbmdlcy4KKworICAgICAgICBUaGUgdGVzdCBpcyBjdXJyZW50
bHkgY2hyb21pdW0tc3BlY2lmaWMgZHVlIHRvIGRpZmZpY3VsdGllcyB0byBtYWtlIHRoaXMKKyAg
ICAgICAgdGVzdCB3b3JrcyBvbiBNYWMuIFRoZSBtYWMgcG9ydCBzZWVtcyB0byB3b3JrIHZlcnkg
ZGlmZmVyZW50bHkgd2l0aAorICAgICAgICB2aXNpYmxlIGNvbnRlbnQgc2l6ZSB3aGVuIGEgcGFn
ZSBpcyBzY2FsZWQuIEFuZCB0aGVyZSBpcyBubyByZWxpYWJsZSB3YXkKKyAgICAgICAgdG8gaGlk
ZSBzY3JvbGxiYXJzIGluIG1hYy13azEgdGhhdCBkb2Vzbid0IGNhdXNlIGEgc2lkZSBlZmZlY3Qu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4
ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFm
dGVyLXNjYWxlLmh0bWw6IEFkZGVkLgorCiAyMDEzLTAyLTIxICBBbG9rIFByaXlhZGFyc2hpICA8
YWxva3BAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFN1cHByZXNzZWQgZmFpbGluZyB0ZXN0cyBh
ZnRlciByMTQzNjI2LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
ZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVjdGVk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlv
dXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
YjViODAzYTdiZjJjMDE2Y2Y4YzVkNmE4MDA2YTE0NTNhYTBlYTYyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZp
eGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyOSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorLmZpeGVkX3NpemUgewor
ICAgIHBvc2l0aW9uOmFic29sdXRlOworICAgIGJhY2tncm91bmQtY29sb3I6I2NjZmZjYzsKKyAg
ICB3aWR0aDoyNXB4OworICAgIGhlaWdodDoyNXB4OworfQorLnBlcmNlbnRhZ2Vfc2l6ZSB7Cisg
ICAgcG9zaXRpb246YWJzb2x1dGU7CisgICAgYmFja2dyb3VuZC1jb2xvcjojY2NjY2ZmOworICAg
IHdpZHRoOjEwJTsKKyAgICBoZWlnaHQ6MTAlOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
IHN0eWxlPSJ3aWR0aDo4MDBweDtoZWlnaHQ6NjAwcHg7bWFyZ2luOjA7Ij4KKzxkaXYgY2xhc3M9
ImZpeGVkX3NpemUiIHN0eWxlPSJsZWZ0OjVweDt0b3A6MTBweCI+PC9kaXY+Cis8ZGl2IGNsYXNz
PSJmaXhlZF9zaXplIiBzdHlsZT0icmlnaHQ6MTVweDt0b3A6MjBweCI+PC9kaXY+Cis8ZGl2IGNs
YXNzPSJmaXhlZF9zaXplIiBzdHlsZT0ibGVmdDoyNXB4O2JvdHRvbTozMHB4Ij48L2Rpdj4KKzxk
aXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJyaWdodDozNXB4O2JvdHRvbTo0MHB4Ij48L2Rp
dj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9ImxlZnQ6NDAlO3RvcDozNSUi
PjwvZGl2PgorPGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0icmlnaHQ6MzAlO3Rv
cDoyNSUiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVyY2VudGFnZV9zaXplIiBzdHlsZT0ibGVmdDoy
MCU7Ym90dG9tOjE1JSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxl
PSJyaWdodDoxMCU7Ym90dG9tOjUlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvcmVwYWludC9yZWxheW91dC1m
aXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDI0ZWM2NWExM2QyODE4NjAzNjIzNzM0OWIwZTVjMjhjMWMwODcwMQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvcmVw
YWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS5odG1sCkBAIC0wLDAgKzEs
NDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5UaGlzIHRlc3Qg
aXMgc3VjY2Vzc2Z1bCBpZiBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyByZS1sYXlvdXQgY29ycmVj
dGx5IG9uIHBhZ2Ugc2NhbGUgY2hhbmdlczwvdGl0bGU+Cis8c3R5bGU+CisuZml4ZWRfc2l6ZSB7
CisgICAgcG9zaXRpb246Zml4ZWQ7CisgICAgYmFja2dyb3VuZC1jb2xvcjojY2NmZmNjOworICAg
IHdpZHRoOjUwcHg7CisgICAgaGVpZ2h0OjUwcHg7Cit9CisucGVyY2VudGFnZV9zaXplIHsKKyAg
ICBwb3NpdGlvbjpmaXhlZDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiNjY2NjZmY7CisgICAgd2lk
dGg6MTAlOworICAgIGhlaWdodDoxMCU7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSJydW5UZXN0KCk7IiBzdHlsZT0id2lkdGg6MTYwMHB4O2hlaWdodDoxMjAwcHg7bWFyZ2lu
OjA7Ij4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxlPSJsZWZ0OjEwcHg7dG9wOjIwcHgi
PjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9InJpZ2h0OjMwcHg7dG9wOjQw
cHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9ImxlZnQ6NTBweDtib3R0
b206NjBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0icmlnaHQ6NzBw
eDtib3R0b206ODBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxl
PSJsZWZ0OjQwJTt0b3A6MzUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIg
c3R5bGU9InJpZ2h0OjMwJTt0b3A6MjUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vf
c2l6ZSIgc3R5bGU9ImxlZnQ6MjAlO2JvdHRvbToxNSUiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVy
Y2VudGFnZV9zaXplIiBzdHlsZT0icmlnaHQ6MTAlO2JvdHRvbTo1JSI+PC9kaXY+Cis8c2NyaXB0
PgorZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93LmludGVybmFscykgeworICAg
ICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEZpeGVkRWxlbWVudHNMYXlvdXRSZWxh
dGl2ZVRvRnJhbWUodHJ1ZSk7CisKKyAgICAgICAgLy8gRm9yY2Ugc2Nyb2xsYmFyIHRvIGhpZGUg
YW5kIHJlLWxheW91dCBpbW1lZGlhdGVseS4KKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXRQ
YWdlU2NhbGVGYWN0b3IoMC4xLCAwLCAwKTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRU
b3A7CisKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXRQYWdlU2NhbGVGYWN0b3IoMC41LCAw
LCAwKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190632</attachid>
            <date>2013-02-27 18:03:56 -0800</date>
            <delta_ts>2013-02-27 21:07:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105486-20130227180008.patch</filename>
            <type>text/plain</type>
            <size>7588</size>
            <attacher name="Tien-Ren Chen">trchen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MjM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODA2NGI1OTVjNmE0MjZi
NzkxZmEyMDQ4YjA2MGYwNzMwZjllMDcxYy4uNTU3YjUwOWM0ZTBmZmJhYzlmYjRkYWMwMTI0Y2Jl
ZDNiNDgyNTdiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTAyLTI3ICBUaWVu
LVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBOZWVkIHRvIHJlLWxh
eW91dCBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyBhZnRlciBzY2FsZSB3aGVuIHVzaW5nIHNldHRp
bmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxhdGl2ZVRvRnJhbWUoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NDg2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gc2V0dGluZ3MoKS0+Zml4ZWRF
bGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZSgpIG1vZGUsIGZpeGVkLXBvc2l0aW9uCisgICAg
ICAgIGVsZW1lbnRzIGFyZSBsYXlvdXQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgdmlzaWJsZSB2
aWV3cG9ydCwgd2hpY2ggY2FuCisgICAgICAgIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBsYXlvdXQg
dmlld3BvcnQgd2hlbiB1c2luZyBmaXhlZC1sYXlvdXQgbW9kZS4KKyAgICAgICAgV2UgbmVlZCB0
byByZS1sYXlvdXQgZml4ZWQtcG9zaXRpb24gZWxlbWVudHMgaW4gY2FzZSBvZiB2aXNpYmxlIGNv
bnRlbnQKKyAgICAgICAgc2l6ZSBjaGFuZ2VzLgorCisgICAgICAgIFRoZSB0ZXN0IGlzIGN1cnJl
bnRseSBjaHJvbWl1bS1zcGVjaWZpYyBkdWUgdG8gZGlmZmljdWx0aWVzIHRvIG1ha2UgdGhpcwor
ICAgICAgICB0ZXN0IHdvcmtzIG9uIE1hYy4gVGhlIG1hYyBwb3J0IHNlZW1zIHRvIHdvcmsgdmVy
eSBkaWZmZXJlbnRseSB3aXRoCisgICAgICAgIHZpc2libGUgY29udGVudCBzaXplIHdoZW4gYSBw
YWdlIGlzIHNjYWxlZC4gQW5kIHRoZXJlIGlzIG5vIHJlbGlhYmxlIHdheQorICAgICAgICB0byBo
aWRlIHNjcm9sbGJhcnMgaW4gbWFjLXdrMSB0aGF0IGRvZXNuJ3QgY2F1c2UgYSBzaWRlIGVmZmVj
dC4KKworICAgICAgICBUZXN0OiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlv
dXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUuaHRtbAorCisgICAgICAgICogcGFnZS9GcmFt
ZVZpZXcuaDoKKyAgICAgICAgKEZyYW1lVmlldyk6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNldFBhZ2VTY2FsZUZhY3Rvcik6CisKIDIwMTMtMDIt
MjcgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDog
TWFjIHBsYXRmb3JtIHNob3VsZCBzdXBwb3J0IGFiaWxpdHkgdG8gc2Nyb2xsIGFuIGVsZW1lbnQg
aW50byB2aXNpYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCBjYzlmMWE4OWU5ZWI4ZjBh
Y2IzZWY0ZWU0ZTgzYTI5NWM1Y2UzNGI3Li5jMDYxODM4ZTZiMmM3NzU0MDFmYzI3MWI0ZGYwMWZi
ZGRhYmUyZGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTExMSw2ICsxMTEsNyBAQCBw
dWJsaWM6CiAKICAgICBib29sIG5lZWRzTGF5b3V0KCkgY29uc3Q7CiAgICAgdm9pZCBzZXROZWVk
c0xheW91dCgpOworICAgIHZvaWQgc2V0Vmlld3BvcnRDb25zdHJhaW5lZE9iamVjdHNOZWVkTGF5
b3V0KCk7CiAKICAgICBib29sIG5lZWRzRnVsbFJlcGFpbnQoKSBjb25zdCB7IHJldHVybiBtX2Rv
RnVsbFJlcGFpbnQ7IH0KIApAQCAtNDg2LDggKzQ4Nyw2IEBAIHByaXZhdGU6CiAKICAgICBib29s
IGRvTGF5b3V0V2l0aEZyYW1lRmxhdHRlbmluZyhib29sIGFsbG93U3VidHJlZSk7CiAKLSAgICB2
b2lkIHNldFZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3RzTmVlZExheW91dCgpOwotCiAgICAgdmly
dHVhbCBBWE9iamVjdENhY2hlKiBheE9iamVjdENhY2hlKCkgY29uc3Q7CiAgICAgdm9pZCBub3Rp
ZnlXaWRnZXRzSW5BbGxGcmFtZXMoV2lkZ2V0Tm90aWZpY2F0aW9uKTsKICAgICB2b2lkIHJlbW92
ZUZyb21BWE9iamVjdENhY2hlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCBiZmY4ZGNkMzVlOTQ5
NDkyYTAzNTQ0NjYyM2Y4ODY5MGRlNDlmMzFhLi5jNGFmZmY4MDQxZGY0MDE1MjYxNzdiNmQwOGE5
YWZlNGI1MGE1OTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTc0OSw2ICs3NDksOSBAQCB2b2lk
IFBhZ2U6OnNldFBhZ2VTY2FsZUZhY3RvcihmbG9hdCBzY2FsZSwgY29uc3QgSW50UG9pbnQmIG9y
aWdpbikKICAgICBtYWluRnJhbWUoKS0+ZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7
CiAjZW5kaWYKIAorICAgIGlmICh2aWV3ICYmIHZpZXctPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxh
dGl2ZVRvRnJhbWUoKSkKKyAgICAgICAgdmlldy0+c2V0Vmlld3BvcnRDb25zdHJhaW5lZE9iamVj
dHNOZWVkTGF5b3V0KCk7CisKICAgICBpZiAodmlldyAmJiB2aWV3LT5zY3JvbGxQb3NpdGlvbigp
ICE9IG9yaWdpbikgewogICAgICAgICBpZiAoIW1fc2V0dGluZ3MtPmFwcGx5UGFnZVNjYWxlRmFj
dG9ySW5Db21wb3NpdG9yKCkgJiYgZG9jdW1lbnQtPnJlbmRlcmVyKCkgJiYgZG9jdW1lbnQtPnJl
bmRlcmVyKCktPm5lZWRzTGF5b3V0KCkgJiYgdmlldy0+ZGlkRmlyc3RMYXlvdXQoKSkKICAgICAg
ICAgICAgIHZpZXctPmxheW91dCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU4NDlmYWIyNTVmMTZhM2RjZTA2OTI3ZTM3
YzgxYzNkMmNmNDNjMTIuLjlkYjllZTQ2ZGNmYjkyM2Y2NDQ0ZjBkNmQxNjBlMDMyMzhmMDFhNjMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMy0wMi0yNyAgVGllbi1SZW4gQ2hlbiAgPHRyY2hl
bkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTmVlZCB0byByZS1sYXlvdXQgZml4ZWQgcG9zaXRp
b24gZWxlbWVudHMgYWZ0ZXIgc2NhbGUgd2hlbiB1c2luZyBzZXR0aW5ncygpLT5maXhlZEVsZW1l
bnRzTGF5b3V0UmVsYXRpdmVUb0ZyYW1lKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwNTQ4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEluIHNldHRpbmdzKCktPmZpeGVkRWxlbWVudHNMYXlvdXRSZWxh
dGl2ZVRvRnJhbWUoKSBtb2RlLCBmaXhlZC1wb3NpdGlvbgorICAgICAgICBlbGVtZW50cyBhcmUg
bGF5b3V0IHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHZpc2libGUgdmlld3BvcnQsIHdoaWNoIGNh
bgorICAgICAgICBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgbGF5b3V0IHZpZXdwb3J0IHdoZW4gdXNp
bmcgZml4ZWQtbGF5b3V0IG1vZGUuCisgICAgICAgIFdlIG5lZWQgdG8gcmUtbGF5b3V0IGZpeGVk
LXBvc2l0aW9uIGVsZW1lbnRzIGluIGNhc2Ugb2YgdmlzaWJsZSBjb250ZW50CisgICAgICAgIHNp
emUgY2hhbmdlcy4KKworICAgICAgICBUaGUgdGVzdCBpcyBjdXJyZW50bHkgY2hyb21pdW0tc3Bl
Y2lmaWMgZHVlIHRvIGRpZmZpY3VsdGllcyB0byBtYWtlIHRoaXMKKyAgICAgICAgdGVzdCB3b3Jr
cyBvbiBNYWMuIFRoZSBtYWMgcG9ydCBzZWVtcyB0byB3b3JrIHZlcnkgZGlmZmVyZW50bHkgd2l0
aAorICAgICAgICB2aXNpYmxlIGNvbnRlbnQgc2l6ZSB3aGVuIGEgcGFnZSBpcyBzY2FsZWQuIEFu
ZCB0aGVyZSBpcyBubyByZWxpYWJsZSB3YXkKKyAgICAgICAgdG8gaGlkZSBzY3JvbGxiYXJzIGlu
IG1hYy13azEgdGhhdCBkb2Vzbid0IGNhdXNlIGEgc2lkZSBlZmZlY3QuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0
ZXItc2NhbGUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLmh0bWw6
IEFkZGVkLgorCiAyMDEzLTAyLTI3ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5j
b20+CiAgCiAgICAgICAgIEFYOiBNYWMgcGxhdGZvcm0gc2hvdWxkIHN1cHBvcnQgYWJpbGl0eSB0
byBzY3JvbGwgYW4gZWxlbWVudCBpbnRvIHZpc2libGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1h
ZnRlci1zY2FsZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
ZmFzdC9yZXBhaW50L3JlbGF5b3V0LWZpeGVkLXBvc2l0aW9uLWFmdGVyLXNjYWxlLWV4cGVjdGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOGI1YjgwM2E3YmYyYzAxNmNmOGM1ZDZhODAwNmExNDUzYWEwZWE2
MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3Qv
cmVwYWludC9yZWxheW91dC1maXhlZC1wb3NpdGlvbi1hZnRlci1zY2FsZS1leHBlY3RlZC5odG1s
CkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHls
ZT4KKy5maXhlZF9zaXplIHsKKyAgICBwb3NpdGlvbjphYnNvbHV0ZTsKKyAgICBiYWNrZ3JvdW5k
LWNvbG9yOiNjY2ZmY2M7CisgICAgd2lkdGg6MjVweDsKKyAgICBoZWlnaHQ6MjVweDsKK30KKy5w
ZXJjZW50YWdlX3NpemUgeworICAgIHBvc2l0aW9uOmFic29sdXRlOworICAgIGJhY2tncm91bmQt
Y29sb3I6I2NjY2NmZjsKKyAgICB3aWR0aDoxMCU7CisgICAgaGVpZ2h0OjEwJTsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0id2lkdGg6ODAwcHg7aGVpZ2h0OjYwMHB4O21hcmdp
bjowOyI+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0ibGVmdDo1cHg7dG9wOjEwcHgi
PjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9InJpZ2h0OjE1cHg7dG9wOjIw
cHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6ZSIgc3R5bGU9ImxlZnQ6MjVweDtib3R0
b206MzBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0icmlnaHQ6MzVw
eDtib3R0b206NDBweCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxl
PSJsZWZ0OjQwJTt0b3A6MzUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIg
c3R5bGU9InJpZ2h0OjMwJTt0b3A6MjUlIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vf
c2l6ZSIgc3R5bGU9ImxlZnQ6MjAlO2JvdHRvbToxNSUiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVy
Y2VudGFnZV9zaXplIiBzdHlsZT0icmlnaHQ6MTAlO2JvdHRvbTo1JSI+PC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0
L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2NhbGUuaHRtbCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvcmVwYWludC9yZWxheW91dC1maXhlZC1wb3Np
dGlvbi1hZnRlci1zY2FsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAyNGVjNjVhMTNkMjgxODYwMzYyMzcz
NDliMGU1YzI4YzFjMDg3MDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9mYXN0L3JlcGFpbnQvcmVsYXlvdXQtZml4ZWQtcG9zaXRpb24tYWZ0ZXItc2Nh
bGUuaHRtbApAQCAtMCwwICsxLDQzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8dGl0bGU+VGhpcyB0ZXN0IGlzIHN1Y2Nlc3NmdWwgaWYgZml4ZWQgcG9zaXRpb24gZWxlbWVu
dHMgcmUtbGF5b3V0IGNvcnJlY3RseSBvbiBwYWdlIHNjYWxlIGNoYW5nZXM8L3RpdGxlPgorPHN0
eWxlPgorLmZpeGVkX3NpemUgeworICAgIHBvc2l0aW9uOmZpeGVkOworICAgIGJhY2tncm91bmQt
Y29sb3I6I2NjZmZjYzsKKyAgICB3aWR0aDo1MHB4OworICAgIGhlaWdodDo1MHB4OworfQorLnBl
cmNlbnRhZ2Vfc2l6ZSB7CisgICAgcG9zaXRpb246Zml4ZWQ7CisgICAgYmFja2dyb3VuZC1jb2xv
cjojY2NjY2ZmOworICAgIHdpZHRoOjEwJTsKKyAgICBoZWlnaHQ6MTAlOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyIgc3R5bGU9IndpZHRoOjE2MDBweDto
ZWlnaHQ6MTIwMHB4O21hcmdpbjowOyI+Cis8ZGl2IGNsYXNzPSJmaXhlZF9zaXplIiBzdHlsZT0i
bGVmdDoxMHB4O3RvcDoyMHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0eWxl
PSJyaWdodDozMHB4O3RvcDo0MHB4Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImZpeGVkX3NpemUiIHN0
eWxlPSJsZWZ0OjUwcHg7Ym90dG9tOjYwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0iZml4ZWRfc2l6
ZSIgc3R5bGU9InJpZ2h0OjcwcHg7Ym90dG9tOjgwcHgiPjwvZGl2PgorPGRpdiBjbGFzcz0icGVy
Y2VudGFnZV9zaXplIiBzdHlsZT0ibGVmdDo0MCU7dG9wOjM1JSI+PC9kaXY+Cis8ZGl2IGNsYXNz
PSJwZXJjZW50YWdlX3NpemUiIHN0eWxlPSJyaWdodDozMCU7dG9wOjI1JSI+PC9kaXY+Cis8ZGl2
IGNsYXNzPSJwZXJjZW50YWdlX3NpemUiIHN0eWxlPSJsZWZ0OjIwJTtib3R0b206MTUlIj48L2Rp
dj4KKzxkaXYgY2xhc3M9InBlcmNlbnRhZ2Vfc2l6ZSIgc3R5bGU9InJpZ2h0OjEwJTtib3R0b206
NSUiPjwvZGl2PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgaWYgKHdpbmRv
dy5pbnRlcm5hbHMpIHsKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRGaXhl
ZEVsZW1lbnRzTGF5b3V0UmVsYXRpdmVUb0ZyYW1lKHRydWUpOworCisgICAgICAgIC8vIEZvcmNl
IHNjcm9sbGJhciB0byBoaWRlIGFuZCByZS1sYXlvdXQgaW1tZWRpYXRlbHkuCisgICAgICAgIHdp
bmRvdy5pbnRlcm5hbHMuc2V0UGFnZVNjYWxlRmFjdG9yKDAuMSwgMCwgMCk7CisgICAgICAgIGRv
Y3VtZW50LmJvZHkub2Zmc2V0VG9wOworCisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0UGFn
ZVNjYWxlRmFjdG9yKDAuNSwgMCwgMCk7CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>