<?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>113326</bug_id>
          
          <creation_ts>2013-03-26 10:44:38 -0700</creation_ts>
          <short_desc>[Qt][WK2] Regression(141310): Page flickers during scale animation</short_desc>
          <delta_ts>2014-02-03 03:25:26 -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>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>110211</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andras Becsi">abecsi</reporter>
          <assigned_to name="Andras Becsi">abecsi</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>helder.correia</cc>
    
    <cc>jturcotte</cc>
    
    <cc>kenneth</cc>
    
    <cc>luiz</cc>
    
    <cc>menard</cc>
    
    <cc>noam</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>863825</commentid>
    <comment_count>0</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-03-26 10:44:38 -0700</bug_when>
    <thetext>[Qt][WK2] Regression(141310): Page flickers during scale animation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863829</commentid>
    <comment_count>1</comment_count>
      <attachid>195117</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-03-26 10:46:10 -0700</bug_when>
    <thetext>Created attachment 195117
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863833</commentid>
    <comment_count>2</comment_count>
      <attachid>195117</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-03-26 10:51:52 -0700</bug_when>
    <thetext>Comment on attachment 195117
Patch

I&apos;m ok with the coordinated graphics changes. Can you ask Kenneth/Jocelyn to also look before asking for a WK2 owner sign off?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863835</commentid>
    <comment_count>3</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-03-26 10:53:31 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 195117 [details])
&gt; I&apos;m ok with the coordinated graphics changes. Can you ask Kenneth/Jocelyn to also look before asking for a WK2 owner sign off?

Thanks, Jocelyn could you take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863867</commentid>
    <comment_count>4</comment_count>
      <attachid>195117</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-03-26 11:27:06 -0700</bug_when>
    <thetext>Comment on attachment 195117
Patch

Attachment 195117 did not pass efl-ews (efl):
Output: http://webkit-commit-queue.appspot.com/results/17236651</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863869</commentid>
    <comment_count>5</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-03-26 11:29:34 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 195117 [details])
&gt; Attachment 195117 [details] did not pass efl-ews (efl):
&gt; Output: http://webkit-commit-queue.appspot.com/results/17236651

Hmm, EFL seems to depend on the wrong behaviour. I&apos;ll have to check what&apos;s going on there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>864426</commentid>
    <comment_count>6</comment_count>
      <attachid>195282</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-03-27 05:12:13 -0700</bug_when>
    <thetext>Created attachment 195282
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>864470</commentid>
    <comment_count>7</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-03-27 06:22:39 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=195282) [details]
&gt; Patch

Fixed the EFL build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>864485</commentid>
    <comment_count>8</comment_count>
      <attachid>195282</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-03-27 06:44:27 -0700</bug_when>
    <thetext>Comment on attachment 195282
Patch

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

LGTM but here is something that would be nice to verify twice:

&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:140
&gt; +    m_drawingAreaProxy-&gt;page()-&gt;scalePage(scale, roundedIntPoint(rect.location()));
&gt;      m_drawingAreaProxy-&gt;page()-&gt;process()-&gt;send(Messages::CoordinatedLayerTreeHost::SetVisibleContentsRect(rect, trajectoryVector), m_drawingAreaProxy-&gt;page()-&gt;pageID());

This might still create the issue that the scale change might trigger a layer flush with a visibleRect&apos;s size that is not matching the scale.
For example, if you&apos;re zommed out and your page coord visible rect is 500x500 with a scale of 0.5 (a window size of 250x250), zooming in would trigger a tile update using a visibleRect of 125x125 with a scale of 2 (again 250x250).

If the scale change does trigger a layer flush before the matching visibleRect update message is handled, you&apos;ll end up rendering a 500x500 rect with a scale of 2: 1000x1000 for the viewport. 2000x2000 if you take into account the TiledBackingStore 2x cover rect multiplier.

Could you verify with some printf in TiledBackingStore::createTiles that the tilesToCreateCount isn&apos;t growing astronomically when zooming in? We might not hit that case by luck since a flush is scheduled back on the event loop, giving time to the visible rect update message to be handled, but I&apos;m not sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>864487</commentid>
    <comment_count>9</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-03-27 06:45:52 -0700</bug_when>
    <thetext>The PageViewportController::didChangeContentsVisibility call still in the PageViewportControllerClientEfl::setViewportPosition PVC callback could cause problems with this patch. So hopefully somebody will be testing zooming with EFL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>864512</commentid>
    <comment_count>10</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-03-27 07:17:45 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; The PageViewportController::didChangeContentsVisibility call still in the PageViewportControllerClientEfl::setViewportPosition PVC callback could cause problems with this patch. So hopefully somebody will be testing zooming with EFL.

Qt also has that call indirectlz through the contentX and contentY change notifications, but EFL needs to call it directly. I did not see any issues there but it would be good if someone could verify.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>864594</commentid>
    <comment_count>11</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-03-27 09:02:55 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 195282 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=195282&amp;action=review
&gt; 
&gt; LGTM but here is something that would be nice to verify twice:
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:140
&gt; &gt; +    m_drawingAreaProxy-&gt;page()-&gt;scalePage(scale, roundedIntPoint(rect.location()));
&gt; &gt;      m_drawingAreaProxy-&gt;page()-&gt;process()-&gt;send(Messages::CoordinatedLayerTreeHost::SetVisibleContentsRect(rect, trajectoryVector), m_drawingAreaProxy-&gt;page()-&gt;pageID());
&gt; 
&gt; This might still create the issue that the scale change might trigger a layer flush with a visibleRect&apos;s size that is not matching the scale.
&gt; For example, if you&apos;re zommed out and your page coord visible rect is 500x500 with a scale of 0.5 (a window size of 250x250), zooming in would trigger a tile update using a visibleRect of 125x125 with a scale of 2 (again 250x250).
&gt; 
&gt; If the scale change does trigger a layer flush before the matching visibleRect update message is handled, you&apos;ll end up rendering a 500x500 rect with a scale of 2: 1000x1000 for the viewport. 2000x2000 if you take into account the TiledBackingStore 2x cover rect multiplier.
&gt; 
&gt; Could you verify with some printf in TiledBackingStore::createTiles that the tilesToCreateCount isn&apos;t growing astronomically when zooming in? We might not hit that case by luck since a flush is scheduled back on the event loop, giving time to the visible rect update message to be handled, but I&apos;m not sure.

I couldn&apos;t produce such a scenario. The tile creation always started after the visibleRect update was processed but never in between the scale setting and the visible rect update.

I do not have a concept of astronomical in this context but the biggest number of tilesToCreateCount in TiledBackingStore::createTiles was 10 during double-tap zoom-in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868051</commentid>
    <comment_count>12</comment_count>
      <attachid>195282</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-04-02 11:04:02 -0700</bug_when>
    <thetext>Comment on attachment 195282
Patch

LGTM for Qt, I&apos;m still not sure for EFL so I think it would be best to get their blessing too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868054</commentid>
    <comment_count>13</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-04-02 11:05:02 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; I couldn&apos;t produce such a scenario. The tile creation always started after the visibleRect update was processed but never in between the scale setting and the visible rect update.
&gt; 
&gt; I do not have a concept of astronomical in this context but the biggest number of tilesToCreateCount in TiledBackingStore::createTiles was 10 during double-tap zoom-in.

Ok in any case the patch is an improvement in that regard, thanks for checking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868554</commentid>
    <comment_count>14</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-04-03 02:35:36 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 195282 [details])
&gt; LGTM for Qt, I&apos;m still not sure for EFL so I think it would be best to get their blessing too.

Kenneth, could you check this for EFL with one of your magic manual tests?
I ran a quick test with an EFL build and did not see suspicious behaviour.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869706</commentid>
    <comment_count>15</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-04-05 05:03:03 -0700</bug_when>
    <thetext>Ping for review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869816</commentid>
    <comment_count>16</comment_count>
      <attachid>196645</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-04-05 09:41:55 -0700</bug_when>
    <thetext>Created attachment 196645
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869818</commentid>
    <comment_count>17</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-04-05 09:43:55 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Created an attachment (id=196645) [details]
&gt; Patch

Updated to apply on ToT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870682</commentid>
    <comment_count>18</comment_count>
      <attachid>196645</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-04-08 02:04:52 -0700</bug_when>
    <thetext>Comment on attachment 196645
Patch

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

&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:45
&gt; +    , m_lastSentScale(0)

ah another scale :( but isn&apos;t it the same as pagescalefactor from page proxy?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>870736</commentid>
    <comment_count>19</comment_count>
      <attachid>196645</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-04-08 06:05:00 -0700</bug_when>
    <thetext>Comment on attachment 196645
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:45
&gt;&gt; +    , m_lastSentScale(0)
&gt; 
&gt; ah another scale :( but isn&apos;t it the same as pagescalefactor from page proxy?

It is technically the same scale factor, but the represented state is different.

In theory I could put a scale and scroll position equality check to WebPageProxy::scalePage, but WebPageProxy::m_pageScaleFactor has to be initialized to 1, since it is exposed, so an initial scale setting of 1 would not reach the web process causing behavior change and potential problems.

I also think that the name makes the state this variable represents clear, but I could rename it to something like m_lastCommittedPageScaleFactor, if you think it confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>873751</commentid>
    <comment_count>20</comment_count>
      <attachid>197573</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-04-11 04:27:14 -0700</bug_when>
    <thetext>Created attachment 197573
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>877120</commentid>
    <comment_count>21</comment_count>
      <attachid>197573</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-04-17 05:19:43 -0700</bug_when>
    <thetext>Comment on attachment 197573
Patch

r=me, just make sure you get an WK2 owner to look at it. (CC&apos;d Benjamin)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>877469</commentid>
    <comment_count>22</comment_count>
      <attachid>197573</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-04-17 13:44:36 -0700</bug_when>
    <thetext>Comment on attachment 197573
Patch

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

I have two little issues with this patch:

I think the method is badly named.
Something named &quot;setVisibleContentsRect&quot; should take a rect, not a rect, a scale and a &quot;trajectoryVector&quot; (I assume normalized). You should either split it in three method calls, or look for a more descriptive name.

The scale of 1 passed for the page scale factor is really weird. I don&apos;t really understand why that would be correct. For example, a page has a scale of 0.3, the user resize the view, shouldn&apos;t the scale be re-computed for the viewport parameters?

&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:102
&gt; +    float m_lastSentPageScaleFactor;

float-&gt;double (the page scale factor is typed double).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>877526</commentid>
    <comment_count>23</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-04-17 15:33:30 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; (From update of attachment 197573 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=197573&amp;action=review
&gt; 
&gt; I have two little issues with this patch:
&gt; 
&gt; I think the method is badly named.
&gt; Something named &quot;setVisibleContentsRect&quot; should take a rect, not a rect, a scale and a &quot;trajectoryVector&quot; (I assume normalized). 

It is not normalized at this point yet. Normalization happens in TiledBackingStore::setTrajectoryVector.

&gt; You should either split it in three method calls, or look for a more descriptive name.

I&apos;ll try to come up with a more descriptive name.

&gt; 
&gt; The scale of 1 passed for the page scale factor is really weird. I don&apos;t really understand why that would be correct. For example, a page has a scale of 0.3, the user resize the view, shouldn&apos;t the scale be re-computed for the viewport parameters?
&gt; 

We only set the scale to 1 for the &quot;legacy&quot; webview (no fixed layout, i.e. traditional desktop behaviour as well as the QRawWebView).
For the QML WebView (with fixed layout) we recalculate each time something changes (see PageViewportController::syncVisibleContents).

&gt; &gt; Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:102
&gt; &gt; +    float m_lastSentPageScaleFactor;
&gt; 
&gt; float-&gt;double (the page scale factor is typed double).

Thanks for catching this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879107</commentid>
    <comment_count>24</comment_count>
      <attachid>199021</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-04-22 06:25:02 -0700</bug_when>
    <thetext>Created attachment 199021
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>882980</commentid>
    <comment_count>25</comment_count>
      <attachid>199021</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-04-30 01:36:29 -0700</bug_when>
    <thetext>Comment on attachment 199021
Patch

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

&gt; Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:131
&gt; +void CoordinatedLayerTreeHostProxy::updateVisibleContentsState(const FloatRect&amp; visibleContetsRect, double pageScaleFactor, const FloatPoint&amp; trajectoryVector)

visibleConte*n*tsRect
You could also name the method updateContentsVisibility to match PageViewportController::didChangeContentsVisibility</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>885056</commentid>
    <comment_count>26</comment_count>
      <attachid>200707</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-05-06 09:33:49 -0700</bug_when>
    <thetext>Created attachment 200707
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>885063</commentid>
    <comment_count>27</comment_count>
      <attachid>200707</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-05-06 09:38:48 -0700</bug_when>
    <thetext>Comment on attachment 200707
Patch

Attachment 200707 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/431034</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>885070</commentid>
    <comment_count>28</comment_count>
      <attachid>200710</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-05-06 09:44:18 -0700</bug_when>
    <thetext>Created attachment 200710
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>885729</commentid>
    <comment_count>29</comment_count>
      <attachid>200710</attachid>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2013-05-07 08:22:56 -0700</bug_when>
    <thetext>Comment on attachment 200710
Patch

lgtm.
Benjamin, could you check again?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895438</commentid>
    <comment_count>30</comment_count>
      <attachid>203331</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-05-30 03:00:27 -0700</bug_when>
    <thetext>Created attachment 203331
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895440</commentid>
    <comment_count>31</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-05-30 03:01:05 -0700</bug_when>
    <thetext>(In reply to comment #30)
&gt; Created an attachment (id=203331) [details]
&gt; Patch

Updated to ToT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895448</commentid>
    <comment_count>32</comment_count>
      <attachid>203331</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-05-30 03:09:40 -0700</bug_when>
    <thetext>Comment on attachment 203331
Patch

Attachment 203331 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/673339</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>895451</commentid>
    <comment_count>33</comment_count>
      <attachid>203336</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2013-05-30 03:12:16 -0700</bug_when>
    <thetext>Created attachment 203336
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935687</commentid>
    <comment_count>34</comment_count>
      <attachid>203336</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-10-02 21:32:20 -0700</bug_when>
    <thetext>Comment on attachment 203336
Patch

Qt has been removed, clearing review flags.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935753</commentid>
    <comment_count>35</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2013-10-03 05:08:12 -0700</bug_when>
    <thetext>I don&apos;t see the flicker currently in qt5x2 branch. Is this patch still needed and should we apply it to branch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975703</commentid>
    <comment_count>36</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2014-02-03 03:25:26 -0800</bug_when>
    <thetext>=== Bulk closing of Qt bugs ===

If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary.

If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195117</attachid>
            <date>2013-03-26 10:46:10 -0700</date>
            <delta_ts>2013-03-27 05:12:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113326-20130326183901.patch</filename>
            <type>text/plain</type>
            <size>12392</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2Nzg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTgyOTA3N2IyMDdiYzk3
MDlmZGZiNTg0ZWEwNzlkNjkzNjMwOTI2MS4uNjFlNzY1YTEzMDA2MGI0YmQ4ZTE3MjM3OTUzNzFl
MGU5ZGQwNDYzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEzLTAzLTI2ICBBbmRy
YXMgQmVjc2kgIDxhbmRyYXMuYmVjc2lAZGlnaWEuY29tPgorCisgICAgICAgIFtRdF1bV0syXSBS
ZWdyZXNzaW9uKDE0MTMxMCk6IFBhZ2UgZmxpY2tlcnMgZHVyaW5nIHNjYWxlIGFuaW1hdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzMzI2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFnZVZpZXdw
b3J0Q29udHJvbGxlcjo6ZGlkQ2hhbmdlQ29udGVudHNWaXNpYmlsaXR5IHNob3VsZCBzZXQgdGhl
IHNjYWxlCisgICAgICAgIGltbWVkaWF0ZWx5IGluc3RlYWQgb2Ygc2V0dGluZyBpdCBhZnRlciBy
ZW5kZXJpbmcgdGhlIGZpcnN0IGZyYW1lcy4KKyAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyB1c2Vk
IHRvIG5vdGlmeSB0aGUgd2ViIHByb2Nlc3MgYWJvdXQgdmlzaWJpbGl0eSBjaGFuZ2VzCisgICAg
ICAgIGluaXRpYXRlZCBieSB0aGUgdXNlciwgdGh1cyB0aGUgaW5mb3JtYXRpb24gY2FuIG5vdCBi
ZSBwZW5kaW5nLgorICAgICAgICBBbHNvIG1lcmdlIHRoZSBXZWJDb3JlIHNjYWxlIHVwZGF0ZSB0
byBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eQorICAgICAgICB0byByZXN0b3JlIHByZXZp
b3VzIGJlaGF2aW91ciwgc2luY2Ugc2NhbGUgY2hhbmdlcyBhbHdheXMgaW1wbHkgdmlzaWJsZQor
ICAgICAgICByZWN0IHVwZGF0ZXMuIFRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgc2luY2Ug
aWYgYSBzY2FsZSBhbmltYXRpb24KKyAgICAgICAgaXMgc3RhcnRlZCwgZHVlIHRvIGEgZG91Ymxl
LXRhcCBnZXN0dXJlIG9yIGFmdGVyIGFuIG91dC1vZi1ib3VuZHMgcGluY2gKKyAgICAgICAgZ2Vz
dHVyZSwgdGhlIHdlYiBwcm9jZXNzIGlzIHJlcXVlc3RlZCB0byByZW5kZXIgdGhlIGZpbmFsIHZp
c2libGUgcmVjdAorICAgICAgICBkdXJpbmcgdGhlIGFuaW1hdGlvbiwgdG8gbWFrZSB0aGUgdHJh
bnNpdGlvbiBhdCB0aGUgZW5kIG9mIHRoZSBhbmltYXRpb24KKyAgICAgICAgc21vb3RoZXIuIFRo
aXMgcGF0Y2ggbWFrZXMgc3VyZSB0aGF0IHRoZSBwYWdlIHJlbmRlcmVkIGluIHRoZSByZXF1ZXN0
ZWQKKyAgICAgICAgcmVzb2x1dGlvbiBkb2VzIG5vdCBmbGlja2VyIHRocm91Z2ggZHVyaW5nIHRo
ZSBhbmltYXRpb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcu
Y3BwOgorICAgICAgICAoUVF1aWNrV2ViVmlld0xlZ2FjeVByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0
U2l6ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9yYXcvcXJhd3dlYnZpZXcuY3BwOgor
ICAgICAgICAoUVJhd1dlYlZpZXc6OnNldFNpemUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OkNvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5KToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHk6OnNldFZpc2libGVDb250ZW50c1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lmg6CisgICAg
ICAgIChDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNz
L0RyYXdpbmdBcmVhUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6
c2V0VmlzaWJsZUNvbnRlbnRzUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVh
UHJveHlJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OnNl
dFZpc2libGVDb250ZW50c1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVBy
b3h5SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6ZGlkUmVuZGVyRnJh
bWUpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjpkaWRDaGFuZ2VD
b250ZW50c1Zpc2liaWxpdHkpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9s
bGVyOjpzeW5jVmlzaWJsZUNvbnRlbnRzKToKKwogMjAxMy0wMy0yNSAgTWF4aW0gRXJtaWxvdiAg
PG1heGltLmVybWlsb3ZAY2Fub25pY2FsLmNvbT4KIAogICAgICAgICBbUXRdIFFtbCBXZWJLaXQg
bmVlZHMgcHJlZmVyZW5jZXMgdG8gY2hhbmdlIHNlY3VyaXR5IGtub2JzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcAppbmRleCA3Mzc1ZDU0
MTI4OWVjM2RiNDQ5YjkyNDY2M2VkYzU2ZjMwOWRkZmQ5Li4zM2E0OTgxNmJjYzA5Njk5MjBiYjRi
YjIxMThjODA3MzhjYTY1ZjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKQEAgLTk2NCw3ICs5NjQsNyBAQCB2b2lkIFFRdWlja1dl
YlZpZXdMZWdhY3lQcml2YXRlOjp1cGRhdGVWaWV3cG9ydFNpemUoKQogICAgICAgICBkcmF3aW5n
QXJlYS0+c2V0U2l6ZSh2aWV3cG9ydFNpemUudG9TaXplKCksIEludFNpemUoKSk7CiAgICAgICAg
IC8vIFRoZSBiYWNraW5nIHN0b3JlIHNjYWxlIGZhY3RvciBzaG91bGQgYWxyZWFkeSBiZSBzZXQg
dG8gdGhlIGRldmljZSBwaXhlbCByYXRpbwogICAgICAgICAvLyBvZiB0aGUgdW5kZXJseWluZyB3
aW5kb3csIHRodXMgd2Ugc2V0IHRoZSBlZmZlY3RpdmUgc2NhbGUgdG8gMSBoZXJlLgotICAgICAg
ICBkcmF3aW5nQXJlYS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChGbG9hdFJlY3QoRmxvYXRQb2lu
dCgpLCBGbG9hdFNpemUodmlld3BvcnRTaXplKSksIEZsb2F0UG9pbnQoKSk7CisgICAgICAgIGRy
YXdpbmdBcmVhLT5zZXRWaXNpYmxlQ29udGVudHNSZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50KCks
IEZsb2F0U2l6ZSh2aWV3cG9ydFNpemUpKSwgLyogc2NhbGUgKi8gMSwgRmxvYXRQb2ludCgpKTsK
ICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
cmF3L3FyYXd3ZWJ2aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcmF3
L3FyYXd3ZWJ2aWV3LmNwcAppbmRleCA1MDBkOGY3YjkzMmE3OGU5NzJlNGZhOTQ5YTc0Nzg3M2Qx
YzI3YzMyLi42MDM2ZGQ0ZTBmZjIyZmUyMWQ4ODI4Yjc0MzM1ZDk3OTViMmQwYTI1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Jhdy9xcmF3d2Vidmlldy5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9yYXcvcXJhd3dlYnZpZXcuY3Bw
CkBAIC0zNDQsNyArMzQ0LDcgQEAgdm9pZCBRUmF3V2ViVmlldzo6c2V0U2l6ZShjb25zdCBRU2l6
ZSYgc2l6ZSkKICAgICBkLT5tX3NpemUgPSBzaXplOwogCiAgICAgZHJhd2luZ0FyZWEtPnNldFNp
emUoZC0+bV9zaXplLCBXZWJDb3JlOjpJbnRTaXplKCkpOwotICAgIGRyYXdpbmdBcmVhLT5zZXRW
aXNpYmxlQ29udGVudHNSZWN0KFdlYkNvcmU6OkludFJlY3QoV2ViQ29yZTo6SW50UG9pbnQoKSwg
ZC0+bV9zaXplKSwgV2ViQ29yZTo6RmxvYXRQb2ludCgpKTsKKyAgICBkcmF3aW5nQXJlYS0+c2V0
VmlzaWJsZUNvbnRlbnRzUmVjdChXZWJDb3JlOjpJbnRSZWN0KFdlYkNvcmU6OkludFBvaW50KCks
IGQtPm1fc2l6ZSksIC8qIHNjYWxlICovIDEsIFdlYkNvcmU6OkZsb2F0UG9pbnQoKSk7CiB9CiAK
IFdLUGFnZVJlZiBRUmF3V2ViVmlldzo6cGFnZVJlZigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhv
c3RQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAKaW5kZXggZjdlMzFkMzg0MGU3YWZm
Mjg3N2Y0NGQ4ZDAyMDJjM2M0Mzg2Nzg0My4uY2ZiYzBhODAwN2EyZTdhZjljYjQxOTk2N2I4YzMz
MjU1YjU4MGJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5LmNwcApAQCAtNDIsNiArNDIsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpDb29yZGluYXRlZExheWVyVHJlZUhv
c3RQcm94eShEcmF3aW5nQXJlYVByb3h5KiBkcmF3aW5nQXJlYVByb3h5KQogICAgIDogbV9kcmF3
aW5nQXJlYVByb3h5KGRyYXdpbmdBcmVhUHJveHkpCiAgICAgLCBtX3NjZW5lKGFkb3B0UmVmKG5l
dyBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUodGhpcykpKQorICAgICwgbV9sYXN0U2VudFNjYWxl
KDApCiB7CiAgICAgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnByb2Nlc3MoKS0+YWRkTWVz
c2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6bWVz
c2FnZVJlY2VpdmVyTmFtZSgpLCBtX2RyYXdpbmdBcmVhUHJveHktPnBhZ2UoKS0+cGFnZUlEKCks
IHRoaXMpOwogfQpAQCAtMTI3LDE3ICsxMjgsMTkgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJl
ZUhvc3RQcm94eTo6c2V0QW5pbWF0aW9uc0xvY2tlZChib29sIGxvY2tlZCkKICAgICBkaXNwYXRj
aFVwZGF0ZShiaW5kKCZDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnNldEFuaW1hdGlvbnNMb2Nr
ZWQsIG1fc2NlbmUuZ2V0KCksIGxvY2tlZCkpOwogfQogCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5OjpzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVj
dCwgY29uc3QgRmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3RvcikKK3ZvaWQgQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHk6OnNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgRmxvYXRSZWN0
JiByZWN0LCBmbG9hdCBzY2FsZSwgY29uc3QgRmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3RvcikK
IHsKICAgICAvLyBJbmZvcm0gdGhlIHJlbmRlcmVyIHRvIGFkanVzdCB2aWV3cG9ydC1maXhlZCBs
YXllcnMuCiAgICAgZGlzcGF0Y2hVcGRhdGUoYmluZCgmQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
OjpzZXRTY3JvbGxQb3NpdGlvbiwgbV9zY2VuZS5nZXQoKSwgcmVjdC5sb2NhdGlvbigpKSk7CiAK
LSAgICBpZiAocmVjdCA9PSBtX2xhc3RTZW50VmlzaWJsZVJlY3QgJiYgdHJhamVjdG9yeVZlY3Rv
ciA9PSBtX2xhc3RTZW50VHJhamVjdG9yeVZlY3RvcikKKyAgICBpZiAocmVjdCA9PSBtX2xhc3RT
ZW50VmlzaWJsZVJlY3QgJiYgdHJhamVjdG9yeVZlY3RvciA9PSBtX2xhc3RTZW50VHJhamVjdG9y
eVZlY3RvciAmJiBzY2FsZSA9PSBtX2xhc3RTZW50U2NhbGUpCiAgICAgICAgIHJldHVybjsKIAor
ICAgIG1fZHJhd2luZ0FyZWFQcm94eS0+cGFnZSgpLT5zY2FsZVBhZ2Uoc2NhbGUsIHJvdW5kZWRJ
bnRQb2ludChyZWN0LmxvY2F0aW9uKCkpKTsKICAgICBtX2RyYXdpbmdBcmVhUHJveHktPnBhZ2Uo
KS0+cHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OlNl
dFZpc2libGVDb250ZW50c1JlY3QocmVjdCwgdHJhamVjdG9yeVZlY3RvciksIG1fZHJhd2luZ0Fy
ZWFQcm94eS0+cGFnZSgpLT5wYWdlSUQoKSk7CiAgICAgbV9sYXN0U2VudFZpc2libGVSZWN0ID0g
cmVjdDsKICAgICBtX2xhc3RTZW50VHJhamVjdG9yeVZlY3RvciA9IHRyYWplY3RvcnlWZWN0b3I7
CisgICAgbV9sYXN0U2VudFNjYWxlID0gc2NhbGU7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHk6OnJlbmRlck5leHRGcmFtZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhv
c3RQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaAppbmRleCA0NDg2YTBmMmVkNmZhMGFjNWMz
MjRiNDkzMGUwZTBhMjM5NWE0ZmRhLi5lZDYxNzNiN2M4ODQ2Y2I0YzliYTcxZTczOWVlMDk2MTU2
YTU2NDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dFByb3h5LmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgdm9pZCBzZXRC
YWNrZ3JvdW5kQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImKTsKIAotICAgIHZvaWQgc2V0Vmlz
aWJsZUNvbnRlbnRzUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmLCBjb25zdCBXZWJDb3Jl
OjpGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKTsKKyAgICB2b2lkIHNldFZpc2libGVDb250
ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiwgZmxvYXQgc2NhbGUsIGNvbnN0IFdl
YkNvcmU6OkZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWN0b3IpOwogICAgIFdlYkNvcmU6OkNvb3Jk
aW5hdGVkR3JhcGhpY3NTY2VuZSogY29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lKCkgY29uc3QgeyBy
ZXR1cm4gbV9zY2VuZS5nZXQoKTsgfQogCiAgICAgLy8gQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
Q2xpZW50IE1ldGhvZHMuCkBAIC05OSw2ICs5OSw3IEBAIHByb3RlY3RlZDoKICAgICBSZWZQdHI8
V2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lPiBtX3NjZW5lOwogICAgIFdlYkNvcmU6
OkZsb2F0UmVjdCBtX2xhc3RTZW50VmlzaWJsZVJlY3Q7CiAgICAgV2ViQ29yZTo6RmxvYXRQb2lu
dCBtX2xhc3RTZW50VHJhamVjdG9yeVZlY3RvcjsKKyAgICBmbG9hdCBtX2xhc3RTZW50U2NhbGU7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
RHJhd2luZ0FyZWFQcm94eS5oCmluZGV4IDc3NWFkNTY4ZGIyY2IyNjIxZWE3NGQ1NTQwMjgwMjY1
MGNjNjZhY2MuLmM3MDZhZjdjNDhmYjY5MzVmNTQ3MzhiMTJiNWFkZGJmMjgyNWUxYzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaApAQCAtNzUsNyArNzUs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBXZWJDb3JlOjpJbnRSZWN0IHZpZXdwb3J0VmlzaWJs
ZVJlY3QoKSBjb25zdCB7IHJldHVybiBjb250ZW50c1JlY3QoKTsgfQogICAgIHZpcnR1YWwgV2Vi
Q29yZTo6SW50UmVjdCBjb250ZW50c1JlY3QoKSBjb25zdDsKICAgICBDb29yZGluYXRlZExheWVy
VHJlZUhvc3RQcm94eSogY29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkoKSBjb25zdCB7IHJl
dHVybiBtX2Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmdldCgpOyB9Ci0gICAgdmlydHVh
bCB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiAv
KiB2aXNpYmxlQ29udGVudHNSZWN0ICovLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiAvKiB0
cmFqZWN0b3J5VmVjdG9yICovKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNvbnRl
bnRzUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIC8qIHZpc2libGVDb250ZW50c1JlY3Qg
Ki8sICBmbG9hdCAvKiBwYWdlU2NhbGVGYWN0b3IgKi8sIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9p
bnQmIC8qIHRyYWplY3RvcnlWZWN0b3IgKi8pIHsgfQogCiAgICAgV2ViUGFnZVByb3h5KiBwYWdl
KCkgeyByZXR1cm4gbV93ZWJQYWdlUHJveHk7IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKaW5kZXggZjNkZTU3Njk1NTdh
NWQxODA0Mzg5YjVlOWIwMTBkZTY1MzllYzQ4MC4uOGY5Yjc2M2ExMTM5OTdmMGY2Nzc2YWUxYmNl
NjIxMDk5ZTE5MDMxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdp
bmdBcmVhUHJveHlJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2lu
Z0FyZWFQcm94eUltcGwuY3BwCkBAIC0zNzAsMTAgKzM3MCwxMCBAQCB2b2lkIERyYXdpbmdBcmVh
UHJveHlJbXBsOjplbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKGNvbnN0IExheWVyVHJl
ZUNvbnRleAogfQogCiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQotdm9pZCBEcmF3aW5n
QXJlYVByb3h5SW1wbDo6c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBXZWJDb3JlOjpGbG9h
dFJlY3QmIHZpc2libGVDb250ZW50c1JlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHRy
YWplY3RvcnlWZWN0b3IpCit2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpzZXRWaXNpYmxlQ29u
dGVudHNSZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdmlzaWJsZUNvbnRlbnRzUmVjdCwg
ZmxvYXQgcGFnZVNjYWxlRmFjdG9yLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0
b3J5VmVjdG9yKQogewogICAgIGlmIChtX2Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KQot
ICAgICAgICBtX2Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LT5zZXRWaXNpYmxlQ29udGVu
dHNSZWN0KHZpc2libGVDb250ZW50c1JlY3QsIHRyYWplY3RvcnlWZWN0b3IpOworICAgICAgICBt
X2Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LT5zZXRWaXNpYmxlQ29udGVudHNSZWN0KHZp
c2libGVDb250ZW50c1JlY3QsIHBhZ2VTY2FsZUZhY3RvciwgdHJhamVjdG9yeVZlY3Rvcik7CiB9
CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdB
cmVhUHJveHlJbXBsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94
eUltcGwuaAppbmRleCBlNWQxNjYzOTdiMWRhZWU4OGM5NmQwOWJhZDE4NmQ5YmU3MjcyOTRhLi5j
NTAzYWVmMmFhOTQzYjM1MzAyOWY4YzUyZjFiZjM5OWY3ZDg5YTJlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaApAQCAtODMsNyArODMsNyBA
QCBwcml2YXRlOgogICAgIHZvaWQgZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCk7CiAg
ICAgdm9pZCB1cGRhdGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShjb25zdCBMYXllclRyZWVD
b250ZXh0Jik7CiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQotICAgIHZpcnR1YWwgdm9p
ZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdmlzaWJs
ZUNvbnRlbnRzUmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgdHJhamVjdG9yeSkgT1ZF
UlJJREU7CisgICAgdmlydHVhbCB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgV2Vi
Q29yZTo6RmxvYXRSZWN0JiB2aXNpYmxlQ29udGVudHNSZWN0LCBmbG9hdCBwYWdlU2NhbGVGYWN0
b3IsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHRyYWplY3RvcnkpIE9WRVJSSURFOwogI2Vu
ZGlmCiAjZWxzZQogICAgIGJvb2wgaXNJbkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
YWdlVmlld3BvcnRDb250cm9sbGVyLmNwcAppbmRleCBlMTE1NmFiZDI0YTI3NTdkYzc0NzZiMGNh
NGNhZmUwMjlmMTE5M2FjLi4xZTQyNGNiYWIwNzVkYWQzODM5MmY0ZWRmYjM3NzU2NzlhOTc5MTY5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRy
b2xsZXIuY3BwCkBAIC0xOTUsOCArMTk1LDYgQEAgdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVy
OjpkaWRSZW5kZXJGcmFtZShjb25zdCBJbnRTaXplJiBjb250ZW50c1NpemUsIGNvbnN0IEkKICAg
ICAgICAgRmxvYXRQb2ludCBjdXJyZW50RGlzY3JldGVQb3MgPSByb3VuZGVkSW50UG9pbnQobV9j
b250ZW50c1Bvc2l0aW9uKTsKICAgICAgICAgRmxvYXRQb2ludCBwaXhlbEFsaWduZWRQb3MgPSBw
aXhlbEFsaWduZWRGbG9hdFBvaW50KGN1cnJlbnREaXNjcmV0ZVBvcyk7CiAgICAgICAgIG1fY29u
dGVudHNQb3NpdGlvbiA9IGJvdW5kQ29udGVudHNQb3NpdGlvbihwaXhlbEFsaWduZWRQb3MpOwot
Ci0gICAgICAgIG1fd2ViUGFnZVByb3h5LT5zY2FsZVBhZ2UobV9wYWdlU2NhbGVGYWN0b3IsIHJv
dW5kZWRJbnRQb2ludChtX2NvbnRlbnRzUG9zaXRpb24pKTsKICAgICB9CiAKICAgICAvLyBUaGVy
ZSBtaWdodCBiZSByZW5kZXJlZCBmcmFtZXMgbm90IGNvdmVyaW5nIG91ciByZXF1ZXN0ZWQgcG9z
aXRpb24geWV0LCB3YWl0IGZvciBpdC4KQEAgLTI1OCw3ICsyNTYsNyBAQCB2b2lkIFBhZ2VWaWV3
cG9ydENvbnRyb2xsZXI6OmRpZENoYW5nZUNvbnRlbnRzVmlzaWJpbGl0eShjb25zdCBGbG9hdFBv
aW50JiBwb3NpdAogICAgIGlmICghbV9wZW5kaW5nUG9zaXRpb25DaGFuZ2UpCiAgICAgICAgIG1f
Y29udGVudHNQb3NpdGlvbiA9IHBvc2l0aW9uOwogICAgIGlmICghbV9wZW5kaW5nU2NhbGVDaGFu
Z2UpCi0gICAgICAgIGFwcGx5U2NhbGVBZnRlclJlbmRlcmluZ0NvbnRlbnRzKHNjYWxlKTsKKyAg
ICAgICAgbV9wYWdlU2NhbGVGYWN0b3IgPSBzY2FsZTsKIAogICAgIHN5bmNWaXNpYmxlQ29udGVu
dHModHJhamVjdG9yeVZlY3Rvcik7CiB9CkBAIC0yNjksOSArMjY3LDkgQEAgdm9pZCBQYWdlVmll
d3BvcnRDb250cm9sbGVyOjpzeW5jVmlzaWJsZUNvbnRlbnRzKGNvbnN0IEZsb2F0UG9pbnQmIHRy
YWplY3RvcnlWZWMKICAgICBpZiAoIWRyYXdpbmdBcmVhIHx8IG1fdmlld3BvcnRTaXplLmlzRW1w
dHkoKSB8fCBtX2NvbnRlbnRzU2l6ZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotICAg
IEZsb2F0UmVjdCB2aXNpYmxlQ29udGVudHNSZWN0KGJvdW5kQ29udGVudHNQb3NpdGlvbihtX2Nv
bnRlbnRzUG9zaXRpb24pLCB2aXNpYmxlQ29udGVudHNTaXplKCkpOworICAgIEZsb2F0UmVjdCB2
aXNpYmxlQ29udGVudHNSZWN0KHBpeGVsQWxpZ25lZEZsb2F0UG9pbnQoYm91bmRDb250ZW50c1Bv
c2l0aW9uKG1fY29udGVudHNQb3NpdGlvbikpLCB2aXNpYmxlQ29udGVudHNTaXplKCkpOwogICAg
IHZpc2libGVDb250ZW50c1JlY3QuaW50ZXJzZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50Ojp6ZXJv
KCksIG1fY29udGVudHNTaXplKSk7Ci0gICAgZHJhd2luZ0FyZWEtPnNldFZpc2libGVDb250ZW50
c1JlY3QodmlzaWJsZUNvbnRlbnRzUmVjdCwgdHJhamVjdG9yeVZlY3Rvcik7CisgICAgZHJhd2lu
Z0FyZWEtPnNldFZpc2libGVDb250ZW50c1JlY3QodmlzaWJsZUNvbnRlbnRzUmVjdCwgbV9wYWdl
U2NhbGVGYWN0b3IsIHRyYWplY3RvcnlWZWN0b3IpOwogCiAgICAgbV9jbGllbnQtPmRpZENoYW5n
ZVZpc2libGVDb250ZW50cygpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195282</attachid>
            <date>2013-03-27 05:12:13 -0700</date>
            <delta_ts>2013-04-05 09:41:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113326-20130327130450.patch</filename>
            <type>text/plain</type>
            <size>13299</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2OTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjZhZGNlMDk1Y2FkZTU3
NjJhZDIxZGE2OTJmY2QwZmQzZGY4YzdhMy4uNjY0YzViNGVlMTVkYTU1ZWEzYTJmNjEyMDk2NjVm
YjVlMjQ0Nzg4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEzLTAzLTI3ICBBbmRy
YXMgQmVjc2kgIDxhbmRyYXMuYmVjc2lAZGlnaWEuY29tPgorCisgICAgICAgIFtRdF1bV0syXSBS
ZWdyZXNzaW9uKDE0MTMxMCk6IFBhZ2UgZmxpY2tlcnMgZHVyaW5nIHNjYWxlIGFuaW1hdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzMzI2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFnZVZpZXdw
b3J0Q29udHJvbGxlcjo6ZGlkQ2hhbmdlQ29udGVudHNWaXNpYmlsaXR5IHNob3VsZCBzZXQgdGhl
IHNjYWxlCisgICAgICAgIGltbWVkaWF0ZWx5IGluc3RlYWQgb2Ygc2V0dGluZyBpdCBhZnRlciBy
ZW5kZXJpbmcgdGhlIGZpcnN0IGZyYW1lcy4KKyAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyB1c2Vk
IHRvIG5vdGlmeSB0aGUgd2ViIHByb2Nlc3MgYWJvdXQgdmlzaWJpbGl0eSBjaGFuZ2VzCisgICAg
ICAgIGluaXRpYXRlZCBieSB0aGUgdXNlciwgdGh1cyB0aGUgaW5mb3JtYXRpb24gY2FuIG5vdCBi
ZSBwZW5kaW5nLgorICAgICAgICBBbHNvIG1lcmdlIHRoZSBXZWJDb3JlIHNjYWxlIHVwZGF0ZSB0
byBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eQorICAgICAgICB0byByZXN0b3JlIHByZXZp
b3VzIGJlaGF2aW91ciwgc2luY2Ugc2NhbGUgY2hhbmdlcyBhbHdheXMgaW1wbHkgdmlzaWJsZQor
ICAgICAgICByZWN0IHVwZGF0ZXMuIFRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgc2luY2Ug
aWYgYSBzY2FsZSBhbmltYXRpb24KKyAgICAgICAgaXMgc3RhcnRlZCwgZHVlIHRvIGEgZG91Ymxl
LXRhcCBnZXN0dXJlIG9yIGFmdGVyIGFuIG91dC1vZi1ib3VuZHMgcGluY2gKKyAgICAgICAgZ2Vz
dHVyZSwgdGhlIHdlYiBwcm9jZXNzIGlzIHJlcXVlc3RlZCB0byByZW5kZXIgdGhlIGZpbmFsIHZp
c2libGUgcmVjdAorICAgICAgICBkdXJpbmcgdGhlIGFuaW1hdGlvbiwgdG8gbWFrZSB0aGUgdHJh
bnNpdGlvbiBhdCB0aGUgZW5kIG9mIHRoZSBhbmltYXRpb24KKyAgICAgICAgc21vb3RoZXIuIFRo
aXMgcGF0Y2ggbWFrZXMgc3VyZSB0aGF0IHRoZSBwYWdlIHJlbmRlcmVkIGluIHRoZSByZXF1ZXN0
ZWQKKyAgICAgICAgcmVzb2x1dGlvbiBkb2VzIG5vdCBmbGlja2VyIHRocm91Z2ggZHVyaW5nIHRo
ZSBhbmltYXRpb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcu
Y3BwOgorICAgICAgICAoUVF1aWNrV2ViVmlld0xlZ2FjeVByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0
U2l6ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9yYXcvcXJhd3dlYnZpZXcuY3BwOgor
ICAgICAgICAoUVJhd1dlYlZpZXc6OnNldFNpemUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OkNvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5KToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHk6OnNldFZpc2libGVDb250ZW50c1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lmg6CisgICAg
ICAgIChDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNz
L0RyYXdpbmdBcmVhUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6
c2V0VmlzaWJsZUNvbnRlbnRzUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVh
UHJveHlJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OnNl
dFZpc2libGVDb250ZW50c1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVBy
b3h5SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6ZGlkUmVuZGVyRnJh
bWUpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjpkaWRDaGFuZ2VD
b250ZW50c1Zpc2liaWxpdHkpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9s
bGVyOjpzeW5jVmlzaWJsZUNvbnRlbnRzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlZp
ZXcuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Ojp1cGRhdGVWaWV3cG9ydFNpemUpOgor
CiAyMDEzLTAzLTI3ICBLb25kYXBhbGx5IEthbHlhbiAgPGthbHlhbi5rb25kYXBhbGx5QGludGVs
LmNvbT4KIAogICAgICAgICBbQ29vcmRHZnhdIFN1cHBvcnQgdG8gc2hhcmUgR3JhcGhpY3NTdXJm
YWNlIGZsYWdzIHdpdGggY2xpZW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKaW5kZXggNzM3NWQ1NDEyODllYzNkYjQ0OWI5MjQ2NjNl
ZGM1NmYzMDlkZGZkOS4uMzNhNDk4MTZiY2MwOTY5OTIwYmI0YmIyMTE4YzgwNzM4Y2E2NWY2ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcu
Y3BwCkBAIC05NjQsNyArOTY0LDcgQEAgdm9pZCBRUXVpY2tXZWJWaWV3TGVnYWN5UHJpdmF0ZTo6
dXBkYXRlVmlld3BvcnRTaXplKCkKICAgICAgICAgZHJhd2luZ0FyZWEtPnNldFNpemUodmlld3Bv
cnRTaXplLnRvU2l6ZSgpLCBJbnRTaXplKCkpOwogICAgICAgICAvLyBUaGUgYmFja2luZyBzdG9y
ZSBzY2FsZSBmYWN0b3Igc2hvdWxkIGFscmVhZHkgYmUgc2V0IHRvIHRoZSBkZXZpY2UgcGl4ZWwg
cmF0aW8KICAgICAgICAgLy8gb2YgdGhlIHVuZGVybHlpbmcgd2luZG93LCB0aHVzIHdlIHNldCB0
aGUgZWZmZWN0aXZlIHNjYWxlIHRvIDEgaGVyZS4KLSAgICAgICAgZHJhd2luZ0FyZWEtPnNldFZp
c2libGVDb250ZW50c1JlY3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgRmxvYXRTaXplKHZpZXdw
b3J0U2l6ZSkpLCBGbG9hdFBvaW50KCkpOworICAgICAgICBkcmF3aW5nQXJlYS0+c2V0VmlzaWJs
ZUNvbnRlbnRzUmVjdChGbG9hdFJlY3QoRmxvYXRQb2ludCgpLCBGbG9hdFNpemUodmlld3BvcnRT
aXplKSksIC8qIHNjYWxlICovIDEsIEZsb2F0UG9pbnQoKSk7CiAgICAgfQogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Jhdy9xcmF3d2Vidmlldy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Jhdy9xcmF3d2Vidmlldy5jcHAKaW5k
ZXggNTAwZDhmN2I5MzJhNzhlOTcyZTRmYTk0OWE3NDc4NzNkMWMyN2MzMi4uNjAzNmRkNGUwZmYy
MmZlMjFkODgyOGI3NDMzNWQ5Nzk1YjJkMGEyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC9yYXcvcXJhd3dlYnZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvcmF3L3FyYXd3ZWJ2aWV3LmNwcApAQCAtMzQ0LDcgKzM0NCw3IEBA
IHZvaWQgUVJhd1dlYlZpZXc6OnNldFNpemUoY29uc3QgUVNpemUmIHNpemUpCiAgICAgZC0+bV9z
aXplID0gc2l6ZTsKIAogICAgIGRyYXdpbmdBcmVhLT5zZXRTaXplKGQtPm1fc2l6ZSwgV2ViQ29y
ZTo6SW50U2l6ZSgpKTsKLSAgICBkcmF3aW5nQXJlYS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChX
ZWJDb3JlOjpJbnRSZWN0KFdlYkNvcmU6OkludFBvaW50KCksIGQtPm1fc2l6ZSksIFdlYkNvcmU6
OkZsb2F0UG9pbnQoKSk7CisgICAgZHJhd2luZ0FyZWEtPnNldFZpc2libGVDb250ZW50c1JlY3Qo
V2ViQ29yZTo6SW50UmVjdChXZWJDb3JlOjpJbnRQb2ludCgpLCBkLT5tX3NpemUpLCAvKiBzY2Fs
ZSAqLyAxLCBXZWJDb3JlOjpGbG9hdFBvaW50KCkpOwogfQogCiBXS1BhZ2VSZWYgUVJhd1dlYlZp
ZXc6OnBhZ2VSZWYoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkuY3BwCmluZGV4IGY3ZTMxZDM4NDBlN2FmZjI4NzdmNDRkOGQwMjAyYzNjNDM4
Njc4NDMuLmNmYmMwYTgwMDdhMmU3YWY5Y2I0MTk5NjdiOGMzMzI1NWI1ODBiZGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAKQEAg
LTQyLDYgKzQyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBDb29yZGluYXRlZExheWVy
VHJlZUhvc3RQcm94eTo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkoRHJhd2luZ0FyZWFQ
cm94eSogZHJhd2luZ0FyZWFQcm94eSkKICAgICA6IG1fZHJhd2luZ0FyZWFQcm94eShkcmF3aW5n
QXJlYVByb3h5KQogICAgICwgbV9zY2VuZShhZG9wdFJlZihuZXcgQ29vcmRpbmF0ZWRHcmFwaGlj
c1NjZW5lKHRoaXMpKSkKKyAgICAsIG1fbGFzdFNlbnRTY2FsZSgwKQogewogICAgIG1fZHJhd2lu
Z0FyZWFQcm94eS0+cGFnZSgpLT5wcm9jZXNzKCktPmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdl
czo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwg
bV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnBhZ2VJRCgpLCB0aGlzKTsKIH0KQEAgLTEyNywx
NyArMTI4LDE5IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OnNldEFuaW1h
dGlvbnNMb2NrZWQoYm9vbCBsb2NrZWQpCiAgICAgZGlzcGF0Y2hVcGRhdGUoYmluZCgmQ29vcmRp
bmF0ZWRHcmFwaGljc1NjZW5lOjpzZXRBbmltYXRpb25zTG9ja2VkLCBtX3NjZW5lLmdldCgpLCBs
b2NrZWQpKTsKIH0KIAotdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6c2V0Vmlz
aWJsZUNvbnRlbnRzUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QsIGNvbnN0IEZsb2F0UG9pbnQm
IHRyYWplY3RvcnlWZWN0b3IpCit2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Ojpz
ZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgZmxvYXQgc2NhbGUs
IGNvbnN0IEZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWN0b3IpCiB7CiAgICAgLy8gSW5mb3JtIHRo
ZSByZW5kZXJlciB0byBhZGp1c3Qgdmlld3BvcnQtZml4ZWQgbGF5ZXJzLgogICAgIGRpc3BhdGNo
VXBkYXRlKGJpbmQoJkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c2V0U2Nyb2xsUG9zaXRpb24s
IG1fc2NlbmUuZ2V0KCksIHJlY3QubG9jYXRpb24oKSkpOwogCi0gICAgaWYgKHJlY3QgPT0gbV9s
YXN0U2VudFZpc2libGVSZWN0ICYmIHRyYWplY3RvcnlWZWN0b3IgPT0gbV9sYXN0U2VudFRyYWpl
Y3RvcnlWZWN0b3IpCisgICAgaWYgKHJlY3QgPT0gbV9sYXN0U2VudFZpc2libGVSZWN0ICYmIHRy
YWplY3RvcnlWZWN0b3IgPT0gbV9sYXN0U2VudFRyYWplY3RvcnlWZWN0b3IgJiYgc2NhbGUgPT0g
bV9sYXN0U2VudFNjYWxlKQogICAgICAgICByZXR1cm47CiAKKyAgICBtX2RyYXdpbmdBcmVhUHJv
eHktPnBhZ2UoKS0+c2NhbGVQYWdlKHNjYWxlLCByb3VuZGVkSW50UG9pbnQocmVjdC5sb2NhdGlv
bigpKSk7CiAgICAgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnByb2Nlc3MoKS0+c2VuZChN
ZXNzYWdlczo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpTZXRWaXNpYmxlQ29udGVudHNSZWN0
KHJlY3QsIHRyYWplY3RvcnlWZWN0b3IpLCBtX2RyYXdpbmdBcmVhUHJveHktPnBhZ2UoKS0+cGFn
ZUlEKCkpOwogICAgIG1fbGFzdFNlbnRWaXNpYmxlUmVjdCA9IHJlY3Q7CiAgICAgbV9sYXN0U2Vu
dFRyYWplY3RvcnlWZWN0b3IgPSB0cmFqZWN0b3J5VmVjdG9yOworICAgIG1fbGFzdFNlbnRTY2Fs
ZSA9IHNjYWxlOwogfQogCiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpyZW5k
ZXJOZXh0RnJhbWUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdFByb3h5LmgKaW5kZXggNDQ4NmEwZjJlZDZmYTBhYzVjMzI0YjQ5MzBlMGUwYTIzOTVhNGZk
YS4uZWQ2MTczYjdjODg0NmNiNGM5YmE3MWU3MzllZTA5NjE1NmE1NjQwNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oCkBAIC03Niw3ICs3
Niw3IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIHZvaWQgc2V0QmFja2dyb3VuZENvbG9yKGNvbnN0
IFdlYkNvcmU6OkNvbG9yJik7CiAKLSAgICB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3QoY29u
c3QgV2ViQ29yZTo6RmxvYXRSZWN0JiwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgdHJhamVj
dG9yeVZlY3Rvcik7CisgICAgdm9pZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IFdlYkNv
cmU6OkZsb2F0UmVjdCYsIGZsb2F0IHNjYWxlLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0
cmFqZWN0b3J5VmVjdG9yKTsKICAgICBXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUq
IGNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2NlbmUuZ2V0KCk7
IH0KIAogICAgIC8vIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZUNsaWVudCBNZXRob2RzLgpAQCAt
OTksNiArOTksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgUmVmUHRyPFdlYkNvcmU6OkNvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZT4gbV9zY2VuZTsKICAgICBXZWJDb3JlOjpGbG9hdFJlY3QgbV9sYXN0U2Vu
dFZpc2libGVSZWN0OwogICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgbV9sYXN0U2VudFRyYWplY3Rv
cnlWZWN0b3I7CisgICAgZmxvYXQgbV9sYXN0U2VudFNjYWxlOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaApp
bmRleCA3NzVhZDU2OGRiMmNiMjYyMWVhNzRkNTU0MDI4MDI2NTBjYzY2YWNjLi5jNzA2YWY3YzQ4
ZmI2OTM1ZjU0NzM4YjEyYjVhZGRiZjI4MjVlMWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKQEAgLTc1LDcgKzc1LDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgV2ViQ29yZTo6SW50UmVjdCB2aWV3cG9ydFZpc2libGVSZWN0KCkgY29uc3QgeyByZXR1
cm4gY29udGVudHNSZWN0KCk7IH0KICAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFJlY3QgY29udGVu
dHNSZWN0KCkgY29uc3Q7CiAgICAgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkqIGNvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KCkgY29uc3QgeyByZXR1cm4gbV9jb29yZGluYXRlZExh
eWVyVHJlZUhvc3RQcm94eS5nZXQoKTsgfQotICAgIHZpcnR1YWwgdm9pZCBzZXRWaXNpYmxlQ29u
dGVudHNSZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgLyogdmlzaWJsZUNvbnRlbnRzUmVj
dCAqLywgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgLyogdHJhamVjdG9yeVZlY3RvciAqLykg
eyB9CisgICAgdmlydHVhbCB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29y
ZTo6RmxvYXRSZWN0JiAvKiB2aXNpYmxlQ29udGVudHNSZWN0ICovLCAgZmxvYXQgLyogcGFnZVNj
YWxlRmFjdG9yICovLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiAvKiB0cmFqZWN0b3J5VmVj
dG9yICovKSB7IH0KIAogICAgIFdlYlBhZ2VQcm94eSogcGFnZSgpIHsgcmV0dXJuIG1fd2ViUGFn
ZVByb3h5OyB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9E
cmF3aW5nQXJlYVByb3h5SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2lu
Z0FyZWFQcm94eUltcGwuY3BwCmluZGV4IGYzZGU1NzY5NTU3YTVkMTgwNDM4OWI1ZTliMDEwZGU2
NTM5ZWM0ODAuLjhmOWI3NjNhMTEzOTk3ZjBmNjc3NmFlMWJjZTYyMTA5OWUxOTAzMTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcApA
QCAtMzcwLDEwICszNzAsMTAgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZW50ZXJBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nTW9kZShjb25zdCBMYXllclRyZWVDb250ZXgKIH0KIAogI2lmIFVT
RShDT09SRElOQVRFRF9HUkFQSElDUykKLXZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OnNldFZp
c2libGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB2aXNpYmxlQ29udGVu
dHNSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKQordm9p
ZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBXZWJD
b3JlOjpGbG9hdFJlY3QmIHZpc2libGVDb250ZW50c1JlY3QsIGZsb2F0IHBhZ2VTY2FsZUZhY3Rv
ciwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3RvcikKIHsKICAgICBp
ZiAobV9jb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSkKLSAgICAgICAgbV9jb29yZGluYXRl
ZExheWVyVHJlZUhvc3RQcm94eS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdCh2aXNpYmxlQ29udGVu
dHNSZWN0LCB0cmFqZWN0b3J5VmVjdG9yKTsKKyAgICAgICAgbV9jb29yZGluYXRlZExheWVyVHJl
ZUhvc3RQcm94eS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdCh2aXNpYmxlQ29udGVudHNSZWN0LCBw
YWdlU2NhbGVGYWN0b3IsIHRyYWplY3RvcnlWZWN0b3IpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKaW5kZXggZTVkMTY2
Mzk3YjFkYWVlODhjOTZkMDliYWQxODZkOWJlNzI3Mjk0YS4uYzUwM2FlZjJhYTk0M2IzNTMwMjlm
OGM1MmYxYmYzOTlmN2Q4OWEyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Ry
YXdpbmdBcmVhUHJveHlJbXBsLmgKQEAgLTgzLDcgKzgzLDcgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSgpOwogICAgIHZvaWQgdXBkYXRlQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ01vZGUoY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYpOwogI2lmIFVTRShD
T09SRElOQVRFRF9HUkFQSElDUykKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRz
UmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHZpc2libGVDb250ZW50c1JlY3QsIGNvbnN0
IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHRyYWplY3RvcnkpIE9WRVJSSURFOworICAgIHZpcnR1YWwg
dm9pZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdmlz
aWJsZUNvbnRlbnRzUmVjdCwgZmxvYXQgcGFnZVNjYWxlRmFjdG9yLCBjb25zdCBXZWJDb3JlOjpG
bG9hdFBvaW50JiB0cmFqZWN0b3J5KSBPVkVSUklERTsKICNlbmRpZgogI2Vsc2UKICAgICBib29s
IGlzSW5BY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJv
bGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxl
ci5jcHAKaW5kZXggZTExNTZhYmQyNGEyNzU3ZGM3NDc2YjBjYTRjYWZlMDI5ZjExOTNhYy4uMWU0
MjRjYmFiMDc1ZGFkMzgzOTJmNGVkZmIzNzc1Njc5YTk3OTE2OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcApAQCAtMTk1LDgg
KzE5NSw2IEBAIHZvaWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6ZGlkUmVuZGVyRnJhbWUoY29u
c3QgSW50U2l6ZSYgY29udGVudHNTaXplLCBjb25zdCBJCiAgICAgICAgIEZsb2F0UG9pbnQgY3Vy
cmVudERpc2NyZXRlUG9zID0gcm91bmRlZEludFBvaW50KG1fY29udGVudHNQb3NpdGlvbik7CiAg
ICAgICAgIEZsb2F0UG9pbnQgcGl4ZWxBbGlnbmVkUG9zID0gcGl4ZWxBbGlnbmVkRmxvYXRQb2lu
dChjdXJyZW50RGlzY3JldGVQb3MpOwogICAgICAgICBtX2NvbnRlbnRzUG9zaXRpb24gPSBib3Vu
ZENvbnRlbnRzUG9zaXRpb24ocGl4ZWxBbGlnbmVkUG9zKTsKLQotICAgICAgICBtX3dlYlBhZ2VQ
cm94eS0+c2NhbGVQYWdlKG1fcGFnZVNjYWxlRmFjdG9yLCByb3VuZGVkSW50UG9pbnQobV9jb250
ZW50c1Bvc2l0aW9uKSk7CiAgICAgfQogCiAgICAgLy8gVGhlcmUgbWlnaHQgYmUgcmVuZGVyZWQg
ZnJhbWVzIG5vdCBjb3ZlcmluZyBvdXIgcmVxdWVzdGVkIHBvc2l0aW9uIHlldCwgd2FpdCBmb3Ig
aXQuCkBAIC0yNTgsNyArMjU2LDcgQEAgdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyOjpkaWRD
aGFuZ2VDb250ZW50c1Zpc2liaWxpdHkoY29uc3QgRmxvYXRQb2ludCYgcG9zaXQKICAgICBpZiAo
IW1fcGVuZGluZ1Bvc2l0aW9uQ2hhbmdlKQogICAgICAgICBtX2NvbnRlbnRzUG9zaXRpb24gPSBw
b3NpdGlvbjsKICAgICBpZiAoIW1fcGVuZGluZ1NjYWxlQ2hhbmdlKQotICAgICAgICBhcHBseVNj
YWxlQWZ0ZXJSZW5kZXJpbmdDb250ZW50cyhzY2FsZSk7CisgICAgICAgIG1fcGFnZVNjYWxlRmFj
dG9yID0gc2NhbGU7CiAKICAgICBzeW5jVmlzaWJsZUNvbnRlbnRzKHRyYWplY3RvcnlWZWN0b3Ip
OwogfQpAQCAtMjY5LDkgKzI2Nyw5IEBAIHZvaWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6c3lu
Y1Zpc2libGVDb250ZW50cyhjb25zdCBGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjCiAgICAgaWYg
KCFkcmF3aW5nQXJlYSB8fCBtX3ZpZXdwb3J0U2l6ZS5pc0VtcHR5KCkgfHwgbV9jb250ZW50c1Np
emUuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBGbG9hdFJlY3QgdmlzaWJsZUNv
bnRlbnRzUmVjdChib3VuZENvbnRlbnRzUG9zaXRpb24obV9jb250ZW50c1Bvc2l0aW9uKSwgdmlz
aWJsZUNvbnRlbnRzU2l6ZSgpKTsKKyAgICBGbG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRzUmVjdChw
aXhlbEFsaWduZWRGbG9hdFBvaW50KGJvdW5kQ29udGVudHNQb3NpdGlvbihtX2NvbnRlbnRzUG9z
aXRpb24pKSwgdmlzaWJsZUNvbnRlbnRzU2l6ZSgpKTsKICAgICB2aXNpYmxlQ29udGVudHNSZWN0
LmludGVyc2VjdChGbG9hdFJlY3QoRmxvYXRQb2ludDo6emVybygpLCBtX2NvbnRlbnRzU2l6ZSkp
OwotICAgIGRyYXdpbmdBcmVhLT5zZXRWaXNpYmxlQ29udGVudHNSZWN0KHZpc2libGVDb250ZW50
c1JlY3QsIHRyYWplY3RvcnlWZWN0b3IpOworICAgIGRyYXdpbmdBcmVhLT5zZXRWaXNpYmxlQ29u
dGVudHNSZWN0KHZpc2libGVDb250ZW50c1JlY3QsIG1fcGFnZVNjYWxlRmFjdG9yLCB0cmFqZWN0
b3J5VmVjdG9yKTsKIAogICAgIG1fY2xpZW50LT5kaWRDaGFuZ2VWaXNpYmxlQ29udGVudHMoKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuY3BwCmluZGV4IGU1ZTgwYzI0
NjJmNTVmMWQ5OGU2MjY0NmNjYzkxZWE0YjdmYjcyMjMuLjQ1NDVlN2Y5YzYxMTQxZGMzOGJmZWU1
ODUzYzU3NDMwNjNkZmY4NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9l
ZmwvV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3
LmNwcApAQCAtMjE0LDcgKzIxNCw3IEBAIHZvaWQgV2ViVmlldzo6dXBkYXRlVmlld3BvcnRTaXpl
KCkKICAgICB9CiAgICAgRmxvYXRQb2ludCB1aVBvc2l0aW9uKG1fZXdrVmlldy0+cGFnZVBvc2l0
aW9uKCkpOwogICAgIHVpUG9zaXRpb24uc2NhbGUoMSAvIG1fZXdrVmlldy0+cGFnZVNjYWxlRmFj
dG9yKCksIDEgLyBtX2V3a1ZpZXctPnBhZ2VTY2FsZUZhY3RvcigpKTsKLSAgICBtX3BhZ2UtPmRy
YXdpbmdBcmVhKCktPnNldFZpc2libGVDb250ZW50c1JlY3QoRmxvYXRSZWN0KHVpUG9zaXRpb24s
IG1fZXdrVmlldy0+c2l6ZSgpKSwgRmxvYXRQb2ludCgpKTsKKyAgICBtX3BhZ2UtPmRyYXdpbmdB
cmVhKCktPnNldFZpc2libGVDb250ZW50c1JlY3QoRmxvYXRSZWN0KHVpUG9zaXRpb24sIG1fZXdr
Vmlldy0+c2l6ZSgpKSwgbV9ld2tWaWV3LT5wYWdlU2NhbGVGYWN0b3IoKSwgRmxvYXRQb2ludCgp
KTsKIH0KIAogdm9pZCBXZWJWaWV3OjpkaWRDaGFuZ2VDb250ZW50c1NpemUoY29uc3QgV2ViQ29y
ZTo6SW50U2l6ZSYgc2l6ZSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196645</attachid>
            <date>2013-04-05 09:41:55 -0700</date>
            <delta_ts>2013-04-11 04:27:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113326-20130405183830.patch</filename>
            <type>text/plain</type>
            <size>13276</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3NzQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTNlYWY2ZDY0OTU1OWQ1
ZTg2YjkwMTI3ZDdhNDg4ODUzYjM2MTQ1Ni4uOGZjMmM0OGNiMDI5NTU1MTJhMmE3MDM3ZTk5YjFi
NThiNjkyMDdjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEzLTA0LTA1ICBBbmRy
YXMgQmVjc2kgIDxhbmRyYXMuYmVjc2lAZGlnaWEuY29tPgorCisgICAgICAgIFtRdF1bV0syXSBS
ZWdyZXNzaW9uKDE0MTMxMCk6IFBhZ2UgZmxpY2tlcnMgZHVyaW5nIHNjYWxlIGFuaW1hdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzMzI2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFnZVZpZXdw
b3J0Q29udHJvbGxlcjo6ZGlkQ2hhbmdlQ29udGVudHNWaXNpYmlsaXR5IHNob3VsZCBzZXQgdGhl
IHNjYWxlCisgICAgICAgIGltbWVkaWF0ZWx5IGluc3RlYWQgb2Ygc2V0dGluZyBpdCBhZnRlciBy
ZW5kZXJpbmcgdGhlIGZpcnN0IGZyYW1lcy4KKyAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyB1c2Vk
IHRvIG5vdGlmeSB0aGUgd2ViIHByb2Nlc3MgYWJvdXQgdmlzaWJpbGl0eSBjaGFuZ2VzCisgICAg
ICAgIGluaXRpYXRlZCBieSB0aGUgdXNlciwgdGh1cyB0aGUgaW5mb3JtYXRpb24gY2FuIG5vdCBi
ZSBwZW5kaW5nLgorICAgICAgICBBbHNvIG1lcmdlIHRoZSBXZWJDb3JlIHNjYWxlIHVwZGF0ZSB0
byBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eQorICAgICAgICB0byByZXN0b3JlIHByZXZp
b3VzIGJlaGF2aW91ciwgc2luY2Ugc2NhbGUgY2hhbmdlcyBhbHdheXMgaW1wbHkgdmlzaWJsZQor
ICAgICAgICByZWN0IHVwZGF0ZXMuIFRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgc2luY2Ug
aWYgYSBzY2FsZSBhbmltYXRpb24KKyAgICAgICAgaXMgc3RhcnRlZCwgZHVlIHRvIGEgZG91Ymxl
LXRhcCBnZXN0dXJlIG9yIGFmdGVyIGFuIG91dC1vZi1ib3VuZHMgcGluY2gKKyAgICAgICAgZ2Vz
dHVyZSwgdGhlIHdlYiBwcm9jZXNzIGlzIHJlcXVlc3RlZCB0byByZW5kZXIgdGhlIGZpbmFsIHZp
c2libGUgcmVjdAorICAgICAgICBkdXJpbmcgdGhlIGFuaW1hdGlvbiwgdG8gbWFrZSB0aGUgdHJh
bnNpdGlvbiBhdCB0aGUgZW5kIG9mIHRoZSBhbmltYXRpb24KKyAgICAgICAgc21vb3RoZXIuIFRo
aXMgcGF0Y2ggbWFrZXMgc3VyZSB0aGF0IHRoZSBwYWdlIHJlbmRlcmVkIGluIHRoZSByZXF1ZXN0
ZWQKKyAgICAgICAgcmVzb2x1dGlvbiBkb2VzIG5vdCBmbGlja2VyIHRocm91Z2ggZHVyaW5nIHRo
ZSBhbmltYXRpb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcu
Y3BwOgorICAgICAgICAoUVF1aWNrV2ViVmlld0xlZ2FjeVByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0
U2l6ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9yYXcvcXJhd3dlYnZpZXcuY3BwOgor
ICAgICAgICAoUVJhd1dlYlZpZXc6OnNldFNpemUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OkNvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5KToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHk6OnNldFZpc2libGVDb250ZW50c1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lmg6CisgICAg
ICAgIChDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNz
L0RyYXdpbmdBcmVhUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6
c2V0VmlzaWJsZUNvbnRlbnRzUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVh
UHJveHlJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OnNl
dFZpc2libGVDb250ZW50c1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVBy
b3h5SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6ZGlkUmVuZGVyRnJh
bWUpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjpkaWRDaGFuZ2VD
b250ZW50c1Zpc2liaWxpdHkpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9s
bGVyOjpzeW5jVmlzaWJsZUNvbnRlbnRzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlZp
ZXcuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Ojp1cGRhdGVWaWV3cG9ydFNpemUpOgor
CiAyMDEzLTA0LTA1ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50
ZWwuY29tPgogCiAgICAgICAgIFtXSzJdW0VGTF0gV2ViVmlldyBzaG91bGQgb3duIHBhZ2UgcG9z
aXRpb24gYW5kIHNjYWxlIGZhY3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKaW5kZXggMGE0NjEyYjg4NTY1ZjA3NTMxOWE0NGM3ZTI4
NDU4MmNlZTQyMjRhOS4uMzVmYzY2MzcxMzM4N2U2MmU0YjIxMWUxODZhY2Y2NzJlZjViY2MzYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcu
Y3BwCkBAIC05NjQsNyArOTY0LDcgQEAgdm9pZCBRUXVpY2tXZWJWaWV3TGVnYWN5UHJpdmF0ZTo6
dXBkYXRlVmlld3BvcnRTaXplKCkKICAgICAgICAgZHJhd2luZ0FyZWEtPnNldFNpemUodmlld3Bv
cnRTaXplLnRvU2l6ZSgpLCBJbnRTaXplKCkpOwogICAgICAgICAvLyBUaGUgYmFja2luZyBzdG9y
ZSBzY2FsZSBmYWN0b3Igc2hvdWxkIGFscmVhZHkgYmUgc2V0IHRvIHRoZSBkZXZpY2UgcGl4ZWwg
cmF0aW8KICAgICAgICAgLy8gb2YgdGhlIHVuZGVybHlpbmcgd2luZG93LCB0aHVzIHdlIHNldCB0
aGUgZWZmZWN0aXZlIHNjYWxlIHRvIDEgaGVyZS4KLSAgICAgICAgZHJhd2luZ0FyZWEtPnNldFZp
c2libGVDb250ZW50c1JlY3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgRmxvYXRTaXplKHZpZXdw
b3J0U2l6ZSkpLCBGbG9hdFBvaW50KCkpOworICAgICAgICBkcmF3aW5nQXJlYS0+c2V0VmlzaWJs
ZUNvbnRlbnRzUmVjdChGbG9hdFJlY3QoRmxvYXRQb2ludCgpLCBGbG9hdFNpemUodmlld3BvcnRT
aXplKSksIC8qIHNjYWxlICovIDEsIEZsb2F0UG9pbnQoKSk7CiAgICAgfQogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Jhdy9xcmF3d2Vidmlldy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Jhdy9xcmF3d2Vidmlldy5jcHAKaW5k
ZXggNTAwZDhmN2I5MzJhNzhlOTcyZTRmYTk0OWE3NDc4NzNkMWMyN2MzMi4uNjAzNmRkNGUwZmYy
MmZlMjFkODgyOGI3NDMzNWQ5Nzk1YjJkMGEyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC9yYXcvcXJhd3dlYnZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvcmF3L3FyYXd3ZWJ2aWV3LmNwcApAQCAtMzQ0LDcgKzM0NCw3IEBA
IHZvaWQgUVJhd1dlYlZpZXc6OnNldFNpemUoY29uc3QgUVNpemUmIHNpemUpCiAgICAgZC0+bV9z
aXplID0gc2l6ZTsKIAogICAgIGRyYXdpbmdBcmVhLT5zZXRTaXplKGQtPm1fc2l6ZSwgV2ViQ29y
ZTo6SW50U2l6ZSgpKTsKLSAgICBkcmF3aW5nQXJlYS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChX
ZWJDb3JlOjpJbnRSZWN0KFdlYkNvcmU6OkludFBvaW50KCksIGQtPm1fc2l6ZSksIFdlYkNvcmU6
OkZsb2F0UG9pbnQoKSk7CisgICAgZHJhd2luZ0FyZWEtPnNldFZpc2libGVDb250ZW50c1JlY3Qo
V2ViQ29yZTo6SW50UmVjdChXZWJDb3JlOjpJbnRQb2ludCgpLCBkLT5tX3NpemUpLCAvKiBzY2Fs
ZSAqLyAxLCBXZWJDb3JlOjpGbG9hdFBvaW50KCkpOwogfQogCiBXS1BhZ2VSZWYgUVJhd1dlYlZp
ZXc6OnBhZ2VSZWYoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHkuY3BwCmluZGV4IGY3ZTMxZDM4NDBlN2FmZjI4NzdmNDRkOGQwMjAyYzNjNDM4
Njc4NDMuLmNmYmMwYTgwMDdhMmU3YWY5Y2I0MTk5NjdiOGMzMzI1NWI1ODBiZGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAKQEAg
LTQyLDYgKzQyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBDb29yZGluYXRlZExheWVy
VHJlZUhvc3RQcm94eTo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkoRHJhd2luZ0FyZWFQ
cm94eSogZHJhd2luZ0FyZWFQcm94eSkKICAgICA6IG1fZHJhd2luZ0FyZWFQcm94eShkcmF3aW5n
QXJlYVByb3h5KQogICAgICwgbV9zY2VuZShhZG9wdFJlZihuZXcgQ29vcmRpbmF0ZWRHcmFwaGlj
c1NjZW5lKHRoaXMpKSkKKyAgICAsIG1fbGFzdFNlbnRTY2FsZSgwKQogewogICAgIG1fZHJhd2lu
Z0FyZWFQcm94eS0+cGFnZSgpLT5wcm9jZXNzKCktPmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdl
czo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwg
bV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnBhZ2VJRCgpLCB0aGlzKTsKIH0KQEAgLTEyNywx
NyArMTI4LDE5IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OnNldEFuaW1h
dGlvbnNMb2NrZWQoYm9vbCBsb2NrZWQpCiAgICAgZGlzcGF0Y2hVcGRhdGUoYmluZCgmQ29vcmRp
bmF0ZWRHcmFwaGljc1NjZW5lOjpzZXRBbmltYXRpb25zTG9ja2VkLCBtX3NjZW5lLmdldCgpLCBs
b2NrZWQpKTsKIH0KIAotdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6c2V0Vmlz
aWJsZUNvbnRlbnRzUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QsIGNvbnN0IEZsb2F0UG9pbnQm
IHRyYWplY3RvcnlWZWN0b3IpCit2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Ojpz
ZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgZmxvYXQgc2NhbGUs
IGNvbnN0IEZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWN0b3IpCiB7CiAgICAgLy8gSW5mb3JtIHRo
ZSByZW5kZXJlciB0byBhZGp1c3Qgdmlld3BvcnQtZml4ZWQgbGF5ZXJzLgogICAgIGRpc3BhdGNo
VXBkYXRlKGJpbmQoJkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c2V0U2Nyb2xsUG9zaXRpb24s
IG1fc2NlbmUuZ2V0KCksIHJlY3QubG9jYXRpb24oKSkpOwogCi0gICAgaWYgKHJlY3QgPT0gbV9s
YXN0U2VudFZpc2libGVSZWN0ICYmIHRyYWplY3RvcnlWZWN0b3IgPT0gbV9sYXN0U2VudFRyYWpl
Y3RvcnlWZWN0b3IpCisgICAgaWYgKHJlY3QgPT0gbV9sYXN0U2VudFZpc2libGVSZWN0ICYmIHRy
YWplY3RvcnlWZWN0b3IgPT0gbV9sYXN0U2VudFRyYWplY3RvcnlWZWN0b3IgJiYgc2NhbGUgPT0g
bV9sYXN0U2VudFNjYWxlKQogICAgICAgICByZXR1cm47CiAKKyAgICBtX2RyYXdpbmdBcmVhUHJv
eHktPnBhZ2UoKS0+c2NhbGVQYWdlKHNjYWxlLCByb3VuZGVkSW50UG9pbnQocmVjdC5sb2NhdGlv
bigpKSk7CiAgICAgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnByb2Nlc3MoKS0+c2VuZChN
ZXNzYWdlczo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpTZXRWaXNpYmxlQ29udGVudHNSZWN0
KHJlY3QsIHRyYWplY3RvcnlWZWN0b3IpLCBtX2RyYXdpbmdBcmVhUHJveHktPnBhZ2UoKS0+cGFn
ZUlEKCkpOwogICAgIG1fbGFzdFNlbnRWaXNpYmxlUmVjdCA9IHJlY3Q7CiAgICAgbV9sYXN0U2Vu
dFRyYWplY3RvcnlWZWN0b3IgPSB0cmFqZWN0b3J5VmVjdG9yOworICAgIG1fbGFzdFNlbnRTY2Fs
ZSA9IHNjYWxlOwogfQogCiB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpyZW5k
ZXJOZXh0RnJhbWUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdFByb3h5LmgKaW5kZXggNDQ4NmEwZjJlZDZmYTBhYzVjMzI0YjQ5MzBlMGUwYTIzOTVhNGZk
YS4uZWQ2MTczYjdjODg0NmNiNGM5YmE3MWU3MzllZTA5NjE1NmE1NjQwNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oCkBAIC03Niw3ICs3
Niw3IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIHZvaWQgc2V0QmFja2dyb3VuZENvbG9yKGNvbnN0
IFdlYkNvcmU6OkNvbG9yJik7CiAKLSAgICB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3QoY29u
c3QgV2ViQ29yZTo6RmxvYXRSZWN0JiwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgdHJhamVj
dG9yeVZlY3Rvcik7CisgICAgdm9pZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IFdlYkNv
cmU6OkZsb2F0UmVjdCYsIGZsb2F0IHNjYWxlLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0
cmFqZWN0b3J5VmVjdG9yKTsKICAgICBXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUq
IGNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2NlbmUuZ2V0KCk7
IH0KIAogICAgIC8vIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZUNsaWVudCBNZXRob2RzLgpAQCAt
OTksNiArOTksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgUmVmUHRyPFdlYkNvcmU6OkNvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZT4gbV9zY2VuZTsKICAgICBXZWJDb3JlOjpGbG9hdFJlY3QgbV9sYXN0U2Vu
dFZpc2libGVSZWN0OwogICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgbV9sYXN0U2VudFRyYWplY3Rv
cnlWZWN0b3I7CisgICAgZmxvYXQgbV9sYXN0U2VudFNjYWxlOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaApp
bmRleCA3NzVhZDU2OGRiMmNiMjYyMWVhNzRkNTU0MDI4MDI2NTBjYzY2YWNjLi5jNzA2YWY3YzQ4
ZmI2OTM1ZjU0NzM4YjEyYjVhZGRiZjI4MjVlMWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKQEAgLTc1LDcgKzc1LDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgV2ViQ29yZTo6SW50UmVjdCB2aWV3cG9ydFZpc2libGVSZWN0KCkgY29uc3QgeyByZXR1
cm4gY29udGVudHNSZWN0KCk7IH0KICAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFJlY3QgY29udGVu
dHNSZWN0KCkgY29uc3Q7CiAgICAgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkqIGNvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KCkgY29uc3QgeyByZXR1cm4gbV9jb29yZGluYXRlZExh
eWVyVHJlZUhvc3RQcm94eS5nZXQoKTsgfQotICAgIHZpcnR1YWwgdm9pZCBzZXRWaXNpYmxlQ29u
dGVudHNSZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgLyogdmlzaWJsZUNvbnRlbnRzUmVj
dCAqLywgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgLyogdHJhamVjdG9yeVZlY3RvciAqLykg
eyB9CisgICAgdmlydHVhbCB2b2lkIHNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29y
ZTo6RmxvYXRSZWN0JiAvKiB2aXNpYmxlQ29udGVudHNSZWN0ICovLCAgZmxvYXQgLyogcGFnZVNj
YWxlRmFjdG9yICovLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiAvKiB0cmFqZWN0b3J5VmVj
dG9yICovKSB7IH0KIAogICAgIFdlYlBhZ2VQcm94eSogcGFnZSgpIHsgcmV0dXJuIG1fd2ViUGFn
ZVByb3h5OyB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9E
cmF3aW5nQXJlYVByb3h5SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2lu
Z0FyZWFQcm94eUltcGwuY3BwCmluZGV4IGYzZGU1NzY5NTU3YTVkMTgwNDM4OWI1ZTliMDEwZGU2
NTM5ZWM0ODAuLjhmOWI3NjNhMTEzOTk3ZjBmNjc3NmFlMWJjZTYyMTA5OWUxOTAzMTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcApA
QCAtMzcwLDEwICszNzAsMTAgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZW50ZXJBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nTW9kZShjb25zdCBMYXllclRyZWVDb250ZXgKIH0KIAogI2lmIFVT
RShDT09SRElOQVRFRF9HUkFQSElDUykKLXZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OnNldFZp
c2libGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB2aXNpYmxlQ29udGVu
dHNSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKQordm9p
ZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBXZWJD
b3JlOjpGbG9hdFJlY3QmIHZpc2libGVDb250ZW50c1JlY3QsIGZsb2F0IHBhZ2VTY2FsZUZhY3Rv
ciwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3RvcikKIHsKICAgICBp
ZiAobV9jb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSkKLSAgICAgICAgbV9jb29yZGluYXRl
ZExheWVyVHJlZUhvc3RQcm94eS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdCh2aXNpYmxlQ29udGVu
dHNSZWN0LCB0cmFqZWN0b3J5VmVjdG9yKTsKKyAgICAgICAgbV9jb29yZGluYXRlZExheWVyVHJl
ZUhvc3RQcm94eS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdCh2aXNpYmxlQ29udGVudHNSZWN0LCBw
YWdlU2NhbGVGYWN0b3IsIHRyYWplY3RvcnlWZWN0b3IpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKaW5kZXggZTVkMTY2
Mzk3YjFkYWVlODhjOTZkMDliYWQxODZkOWJlNzI3Mjk0YS4uYzUwM2FlZjJhYTk0M2IzNTMwMjlm
OGM1MmYxYmYzOTlmN2Q4OWEyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Ry
YXdpbmdBcmVhUHJveHlJbXBsLmgKQEAgLTgzLDcgKzgzLDcgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSgpOwogICAgIHZvaWQgdXBkYXRlQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ01vZGUoY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYpOwogI2lmIFVTRShD
T09SRElOQVRFRF9HUkFQSElDUykKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRz
UmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHZpc2libGVDb250ZW50c1JlY3QsIGNvbnN0
IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHRyYWplY3RvcnkpIE9WRVJSSURFOworICAgIHZpcnR1YWwg
dm9pZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdmlz
aWJsZUNvbnRlbnRzUmVjdCwgZmxvYXQgcGFnZVNjYWxlRmFjdG9yLCBjb25zdCBXZWJDb3JlOjpG
bG9hdFBvaW50JiB0cmFqZWN0b3J5KSBPVkVSUklERTsKICNlbmRpZgogI2Vsc2UKICAgICBib29s
IGlzSW5BY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJv
bGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxl
ci5jcHAKaW5kZXggZTExNTZhYmQyNGEyNzU3ZGM3NDc2YjBjYTRjYWZlMDI5ZjExOTNhYy4uMWU0
MjRjYmFiMDc1ZGFkMzgzOTJmNGVkZmIzNzc1Njc5YTk3OTE2OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcApAQCAtMTk1LDgg
KzE5NSw2IEBAIHZvaWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6ZGlkUmVuZGVyRnJhbWUoY29u
c3QgSW50U2l6ZSYgY29udGVudHNTaXplLCBjb25zdCBJCiAgICAgICAgIEZsb2F0UG9pbnQgY3Vy
cmVudERpc2NyZXRlUG9zID0gcm91bmRlZEludFBvaW50KG1fY29udGVudHNQb3NpdGlvbik7CiAg
ICAgICAgIEZsb2F0UG9pbnQgcGl4ZWxBbGlnbmVkUG9zID0gcGl4ZWxBbGlnbmVkRmxvYXRQb2lu
dChjdXJyZW50RGlzY3JldGVQb3MpOwogICAgICAgICBtX2NvbnRlbnRzUG9zaXRpb24gPSBib3Vu
ZENvbnRlbnRzUG9zaXRpb24ocGl4ZWxBbGlnbmVkUG9zKTsKLQotICAgICAgICBtX3dlYlBhZ2VQ
cm94eS0+c2NhbGVQYWdlKG1fcGFnZVNjYWxlRmFjdG9yLCByb3VuZGVkSW50UG9pbnQobV9jb250
ZW50c1Bvc2l0aW9uKSk7CiAgICAgfQogCiAgICAgLy8gVGhlcmUgbWlnaHQgYmUgcmVuZGVyZWQg
ZnJhbWVzIG5vdCBjb3ZlcmluZyBvdXIgcmVxdWVzdGVkIHBvc2l0aW9uIHlldCwgd2FpdCBmb3Ig
aXQuCkBAIC0yNTgsNyArMjU2LDcgQEAgdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyOjpkaWRD
aGFuZ2VDb250ZW50c1Zpc2liaWxpdHkoY29uc3QgRmxvYXRQb2ludCYgcG9zaXQKICAgICBpZiAo
IW1fcGVuZGluZ1Bvc2l0aW9uQ2hhbmdlKQogICAgICAgICBtX2NvbnRlbnRzUG9zaXRpb24gPSBw
b3NpdGlvbjsKICAgICBpZiAoIW1fcGVuZGluZ1NjYWxlQ2hhbmdlKQotICAgICAgICBhcHBseVNj
YWxlQWZ0ZXJSZW5kZXJpbmdDb250ZW50cyhzY2FsZSk7CisgICAgICAgIG1fcGFnZVNjYWxlRmFj
dG9yID0gc2NhbGU7CiAKICAgICBzeW5jVmlzaWJsZUNvbnRlbnRzKHRyYWplY3RvcnlWZWN0b3Ip
OwogfQpAQCAtMjY5LDkgKzI2Nyw5IEBAIHZvaWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6c3lu
Y1Zpc2libGVDb250ZW50cyhjb25zdCBGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjCiAgICAgaWYg
KCFkcmF3aW5nQXJlYSB8fCBtX3ZpZXdwb3J0U2l6ZS5pc0VtcHR5KCkgfHwgbV9jb250ZW50c1Np
emUuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBGbG9hdFJlY3QgdmlzaWJsZUNv
bnRlbnRzUmVjdChib3VuZENvbnRlbnRzUG9zaXRpb24obV9jb250ZW50c1Bvc2l0aW9uKSwgdmlz
aWJsZUNvbnRlbnRzU2l6ZSgpKTsKKyAgICBGbG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRzUmVjdChw
aXhlbEFsaWduZWRGbG9hdFBvaW50KGJvdW5kQ29udGVudHNQb3NpdGlvbihtX2NvbnRlbnRzUG9z
aXRpb24pKSwgdmlzaWJsZUNvbnRlbnRzU2l6ZSgpKTsKICAgICB2aXNpYmxlQ29udGVudHNSZWN0
LmludGVyc2VjdChGbG9hdFJlY3QoRmxvYXRQb2ludDo6emVybygpLCBtX2NvbnRlbnRzU2l6ZSkp
OwotICAgIGRyYXdpbmdBcmVhLT5zZXRWaXNpYmxlQ29udGVudHNSZWN0KHZpc2libGVDb250ZW50
c1JlY3QsIHRyYWplY3RvcnlWZWN0b3IpOworICAgIGRyYXdpbmdBcmVhLT5zZXRWaXNpYmxlQ29u
dGVudHNSZWN0KHZpc2libGVDb250ZW50c1JlY3QsIG1fcGFnZVNjYWxlRmFjdG9yLCB0cmFqZWN0
b3J5VmVjdG9yKTsKIAogICAgIG1fY2xpZW50LT5kaWRDaGFuZ2VWaXNpYmxlQ29udGVudHMoKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuY3BwCmluZGV4IDNhZTQ1YWE0
NTg1OTdkZTBmM2JkZDUxZWM5NDY2ZGM0MTQxZWJhODcuLmE0ZGM2MGIyMmQwMWQ2ZTNiYWZlNGEw
ZjU3YmNmYTZkNWMxMzZhYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9l
ZmwvV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3
LmNwcApAQCAtMjc0LDcgKzI3NCw3IEBAIHZvaWQgV2ViVmlldzo6dXBkYXRlVmlld3BvcnRTaXpl
KCkKICAgICBpZiAoRHJhd2luZ0FyZWFQcm94eSogZHJhd2luZ0FyZWEgPSBwYWdlKCktPmRyYXdp
bmdBcmVhKCkpIHsKICAgICAgICAgLy8gV2ViIFByb2Nlc3MgZXhwZWN0cyBzaXplcyBpbiBVSSB1
bml0cywgYW5kIG5vdCByYXcgZGV2aWNlIHVuaXRzLgogICAgICAgICBkcmF3aW5nQXJlYS0+c2V0
U2l6ZShyb3VuZGVkSW50U2l6ZShkaXBTaXplKCkpLCBJbnRTaXplKCkpOwotICAgICAgICBkcmF3
aW5nQXJlYS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChGbG9hdFJlY3QoY29udGVudFBvc2l0aW9u
KCksIGRpcFNpemUoKSksIEZsb2F0UG9pbnQoKSk7CisgICAgICAgIGRyYXdpbmdBcmVhLT5zZXRW
aXNpYmxlQ29udGVudHNSZWN0KEZsb2F0UmVjdChjb250ZW50UG9zaXRpb24oKSwgZGlwU2l6ZSgp
KSwgY29udGVudFNjYWxlRmFjdG9yKCksIEZsb2F0UG9pbnQoKSk7CiAgICAgfQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>197573</attachid>
            <date>2013-04-11 04:27:14 -0700</date>
            <delta_ts>2013-04-22 06:24:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113326-20130411132338.patch</filename>
            <type>text/plain</type>
            <size>13303</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ4MTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjI3NTljNTYzMTM5M2Rh
ZjVmYzFkYzVhMzBkYWZhNGRiMDI0ZjNmOS4uMDA4ODY4ZTNiMTMyN2E5MDM3ODE5MjMxODk0OWY5
YzYzNDM3YjlmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEzLTA0LTA4ICBBbmRy
YXMgQmVjc2kgIDxhbmRyYXMuYmVjc2lAZGlnaWEuY29tPgorCisgICAgICAgIFtRdF1bV0syXSBS
ZWdyZXNzaW9uKDE0MTMxMCk6IFBhZ2UgZmxpY2tlcnMgZHVyaW5nIHNjYWxlIGFuaW1hdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzMzI2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFnZVZpZXdw
b3J0Q29udHJvbGxlcjo6ZGlkQ2hhbmdlQ29udGVudHNWaXNpYmlsaXR5IHNob3VsZCBzZXQgdGhl
IHNjYWxlCisgICAgICAgIGltbWVkaWF0ZWx5IGluc3RlYWQgb2Ygc2V0dGluZyBpdCBhZnRlciBy
ZW5kZXJpbmcgdGhlIGZpcnN0IGZyYW1lcy4KKyAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyB1c2Vk
IHRvIG5vdGlmeSB0aGUgd2ViIHByb2Nlc3MgYWJvdXQgdmlzaWJpbGl0eSBjaGFuZ2VzCisgICAg
ICAgIGluaXRpYXRlZCBieSB0aGUgdXNlciwgdGh1cyB0aGUgaW5mb3JtYXRpb24gY2FuIG5vdCBi
ZSBwZW5kaW5nLgorICAgICAgICBBbHNvIG1lcmdlIHRoZSBXZWJDb3JlIHNjYWxlIHVwZGF0ZSB0
byBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eQorICAgICAgICB0byByZXN0b3JlIHByZXZp
b3VzIGJlaGF2aW91ciwgc2luY2Ugc2NhbGUgY2hhbmdlcyBhbHdheXMgaW1wbHkgdmlzaWJsZQor
ICAgICAgICByZWN0IHVwZGF0ZXMuIFRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgc2luY2Ug
aWYgYSBzY2FsZSBhbmltYXRpb24KKyAgICAgICAgaXMgc3RhcnRlZCwgZHVlIHRvIGEgZG91Ymxl
LXRhcCBnZXN0dXJlIG9yIGFmdGVyIGFuIG91dC1vZi1ib3VuZHMgcGluY2gKKyAgICAgICAgZ2Vz
dHVyZSwgdGhlIHdlYiBwcm9jZXNzIGlzIHJlcXVlc3RlZCB0byByZW5kZXIgdGhlIGZpbmFsIHZp
c2libGUgcmVjdAorICAgICAgICBkdXJpbmcgdGhlIGFuaW1hdGlvbiwgdG8gbWFrZSB0aGUgdHJh
bnNpdGlvbiBhdCB0aGUgZW5kIG9mIHRoZSBhbmltYXRpb24KKyAgICAgICAgc21vb3RoZXIuIFRo
aXMgcGF0Y2ggbWFrZXMgc3VyZSB0aGF0IHRoZSBwYWdlIHJlbmRlcmVkIGluIHRoZSByZXF1ZXN0
ZWQKKyAgICAgICAgcmVzb2x1dGlvbiBkb2VzIG5vdCBmbGlja2VyIHRocm91Z2ggZHVyaW5nIHRo
ZSBhbmltYXRpb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcu
Y3BwOgorICAgICAgICAoUVF1aWNrV2ViVmlld0xlZ2FjeVByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0
U2l6ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9yYXcvcXJhd3dlYnZpZXcuY3BwOgor
ICAgICAgICAoUVJhd1dlYlZpZXc6OnNldFNpemUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OkNvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5KToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHk6OnNldFZpc2libGVDb250ZW50c1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Lmg6CisgICAg
ICAgIChDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNz
L0RyYXdpbmdBcmVhUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6
c2V0VmlzaWJsZUNvbnRlbnRzUmVjdCk6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVh
UHJveHlJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUltcGw6OnNl
dFZpc2libGVDb250ZW50c1JlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVBy
b3h5SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6ZGlkUmVuZGVyRnJh
bWUpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjpkaWRDaGFuZ2VD
b250ZW50c1Zpc2liaWxpdHkpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9s
bGVyOjpzeW5jVmlzaWJsZUNvbnRlbnRzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlZp
ZXcuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Ojp1cGRhdGVWaWV3cG9ydFNpemUpOgor
CiAyMDEzLTA0LTExICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCBRdCBidWlsZGZpeGVzIGFmdGVyIHIxNDgxNDcsIHIxNDgxNDggYW5k
IHIxNDgxNTQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Fx
dWlja3dlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3
ZWJ2aWV3LmNwcAppbmRleCA4ZmY5MGM5ZmYxMmNlMDliMzA3NDEyYzBiZjkzYTVhYjhmYjUwYmI4
Li5hMTdiODgyOWYwMGI4ZDkwMzFhMjA2NjEyOGM2MmIzZTEyMjZkZGU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKQEAgLTk4NCw3
ICs5ODQsNyBAQCB2b2lkIFFRdWlja1dlYlZpZXdMZWdhY3lQcml2YXRlOjp1cGRhdGVWaWV3cG9y
dFNpemUoKQogICAgICAgICBkcmF3aW5nQXJlYS0+c2V0U2l6ZSh2aWV3cG9ydFNpemUudG9TaXpl
KCksIEludFNpemUoKSk7CiAgICAgICAgIC8vIFRoZSBiYWNraW5nIHN0b3JlIHNjYWxlIGZhY3Rv
ciBzaG91bGQgYWxyZWFkeSBiZSBzZXQgdG8gdGhlIGRldmljZSBwaXhlbCByYXRpbwogICAgICAg
ICAvLyBvZiB0aGUgdW5kZXJseWluZyB3aW5kb3csIHRodXMgd2Ugc2V0IHRoZSBlZmZlY3RpdmUg
c2NhbGUgdG8gMSBoZXJlLgotICAgICAgICBkcmF3aW5nQXJlYS0+c2V0VmlzaWJsZUNvbnRlbnRz
UmVjdChGbG9hdFJlY3QoRmxvYXRQb2ludCgpLCBGbG9hdFNpemUodmlld3BvcnRTaXplKSksIEZs
b2F0UG9pbnQoKSk7CisgICAgICAgIGRyYXdpbmdBcmVhLT5zZXRWaXNpYmxlQ29udGVudHNSZWN0
KEZsb2F0UmVjdChGbG9hdFBvaW50KCksIEZsb2F0U2l6ZSh2aWV3cG9ydFNpemUpKSwgLyogc2Nh
bGUgKi8gMSwgRmxvYXRQb2ludCgpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcmF3L3FyYXd3ZWJ2aWV3LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcmF3L3FyYXd3ZWJ2aWV3LmNwcAppbmRleCA1MDBkOGY3Yjkz
MmE3OGU5NzJlNGZhOTQ5YTc0Nzg3M2QxYzI3YzMyLi42MDM2ZGQ0ZTBmZjIyZmUyMWQ4ODI4Yjc0
MzM1ZDk3OTViMmQwYTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L3F0L3Jhdy9xcmF3d2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9yYXcvcXJhd3dlYnZpZXcuY3BwCkBAIC0zNDQsNyArMzQ0LDcgQEAgdm9pZCBRUmF3V2Vi
Vmlldzo6c2V0U2l6ZShjb25zdCBRU2l6ZSYgc2l6ZSkKICAgICBkLT5tX3NpemUgPSBzaXplOwog
CiAgICAgZHJhd2luZ0FyZWEtPnNldFNpemUoZC0+bV9zaXplLCBXZWJDb3JlOjpJbnRTaXplKCkp
OwotICAgIGRyYXdpbmdBcmVhLT5zZXRWaXNpYmxlQ29udGVudHNSZWN0KFdlYkNvcmU6OkludFJl
Y3QoV2ViQ29yZTo6SW50UG9pbnQoKSwgZC0+bV9zaXplKSwgV2ViQ29yZTo6RmxvYXRQb2ludCgp
KTsKKyAgICBkcmF3aW5nQXJlYS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChXZWJDb3JlOjpJbnRS
ZWN0KFdlYkNvcmU6OkludFBvaW50KCksIGQtPm1fc2l6ZSksIC8qIHNjYWxlICovIDEsIFdlYkNv
cmU6OkZsb2F0UG9pbnQoKSk7CiB9CiAKIFdLUGFnZVJlZiBRUmF3V2ViVmlldzo6cGFnZVJlZigp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5j
cHAKaW5kZXggZjdlMzFkMzg0MGU3YWZmMjg3N2Y0NGQ4ZDAyMDJjM2M0Mzg2Nzg0My4uOWE4M2Jl
ZTEwNDE2NWEyZjk0YTM1NThkYzg1MGM0NzVjMjc2YmI0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcApAQCAtNDIsNiArNDIsNyBA
QCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5
OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eShEcmF3aW5nQXJlYVByb3h5KiBkcmF3aW5n
QXJlYVByb3h5KQogICAgIDogbV9kcmF3aW5nQXJlYVByb3h5KGRyYXdpbmdBcmVhUHJveHkpCiAg
ICAgLCBtX3NjZW5lKGFkb3B0UmVmKG5ldyBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUodGhpcykp
KQorICAgICwgbV9sYXN0U2VudFBhZ2VTY2FsZUZhY3RvcigwKQogewogICAgIG1fZHJhd2luZ0Fy
ZWFQcm94eS0+cGFnZSgpLT5wcm9jZXNzKCktPmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9k
cmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnBhZ2VJRCgpLCB0aGlzKTsKIH0KQEAgLTEyNywxNyAr
MTI4LDE5IEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OnNldEFuaW1hdGlv
bnNMb2NrZWQoYm9vbCBsb2NrZWQpCiAgICAgZGlzcGF0Y2hVcGRhdGUoYmluZCgmQ29vcmRpbmF0
ZWRHcmFwaGljc1NjZW5lOjpzZXRBbmltYXRpb25zTG9ja2VkLCBtX3NjZW5lLmdldCgpLCBsb2Nr
ZWQpKTsKIH0KIAotdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6c2V0VmlzaWJs
ZUNvbnRlbnRzUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QsIGNvbnN0IEZsb2F0UG9pbnQmIHRy
YWplY3RvcnlWZWN0b3IpCit2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpzZXRW
aXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgZmxvYXQgc2NhbGUsIGNv
bnN0IEZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWN0b3IpCiB7CiAgICAgLy8gSW5mb3JtIHRoZSBy
ZW5kZXJlciB0byBhZGp1c3Qgdmlld3BvcnQtZml4ZWQgbGF5ZXJzLgogICAgIGRpc3BhdGNoVXBk
YXRlKGJpbmQoJkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c2V0U2Nyb2xsUG9zaXRpb24sIG1f
c2NlbmUuZ2V0KCksIHJlY3QubG9jYXRpb24oKSkpOwogCi0gICAgaWYgKHJlY3QgPT0gbV9sYXN0
U2VudFZpc2libGVSZWN0ICYmIHRyYWplY3RvcnlWZWN0b3IgPT0gbV9sYXN0U2VudFRyYWplY3Rv
cnlWZWN0b3IpCisgICAgaWYgKHJlY3QgPT0gbV9sYXN0U2VudFZpc2libGVSZWN0ICYmIHRyYWpl
Y3RvcnlWZWN0b3IgPT0gbV9sYXN0U2VudFRyYWplY3RvcnlWZWN0b3IgJiYgc2NhbGUgPT0gbV9s
YXN0U2VudFBhZ2VTY2FsZUZhY3RvcikKICAgICAgICAgcmV0dXJuOwogCisgICAgbV9kcmF3aW5n
QXJlYVByb3h5LT5wYWdlKCktPnNjYWxlUGFnZShzY2FsZSwgcm91bmRlZEludFBvaW50KHJlY3Qu
bG9jYXRpb24oKSkpOwogICAgIG1fZHJhd2luZ0FyZWFQcm94eS0+cGFnZSgpLT5wcm9jZXNzKCkt
PnNlbmQoTWVzc2FnZXM6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6U2V0VmlzaWJsZUNvbnRl
bnRzUmVjdChyZWN0LCB0cmFqZWN0b3J5VmVjdG9yKSwgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdl
KCktPnBhZ2VJRCgpKTsKICAgICBtX2xhc3RTZW50VmlzaWJsZVJlY3QgPSByZWN0OwogICAgIG1f
bGFzdFNlbnRUcmFqZWN0b3J5VmVjdG9yID0gdHJhamVjdG9yeVZlY3RvcjsKKyAgICBtX2xhc3RT
ZW50UGFnZVNjYWxlRmFjdG9yID0gc2NhbGU7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0UHJveHk6OnJlbmRlck5leHRGcmFtZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaAppbmRleCA0NDg2YTBmMmVkNmZhMGFjNWMzMjRi
NDkzMGUwZTBhMjM5NWE0ZmRhLi45M2M4YWIzMWQ4ZGUwYWI3YjMyNDU0ZTJiNjNhNmQ0MDdlODA0
NmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFw
aGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFBy
b3h5LmgKQEAgLTc2LDcgKzc2LDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgdm9pZCBzZXRCYWNr
Z3JvdW5kQ29sb3IoY29uc3QgV2ViQ29yZTo6Q29sb3ImKTsKIAotICAgIHZvaWQgc2V0VmlzaWJs
ZUNvbnRlbnRzUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmLCBjb25zdCBXZWJDb3JlOjpG
bG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKTsKKyAgICB2b2lkIHNldFZpc2libGVDb250ZW50
c1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiwgZmxvYXQgc2NhbGUsIGNvbnN0IFdlYkNv
cmU6OkZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWN0b3IpOwogICAgIFdlYkNvcmU6OkNvb3JkaW5h
dGVkR3JhcGhpY3NTY2VuZSogY29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lKCkgY29uc3QgeyByZXR1
cm4gbV9zY2VuZS5nZXQoKTsgfQogCiAgICAgLy8gQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lQ2xp
ZW50IE1ldGhvZHMuCkBAIC05OSw2ICs5OSw3IEBAIHByb3RlY3RlZDoKICAgICBSZWZQdHI8V2Vi
Q29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lPiBtX3NjZW5lOwogICAgIFdlYkNvcmU6OkZs
b2F0UmVjdCBtX2xhc3RTZW50VmlzaWJsZVJlY3Q7CiAgICAgV2ViQ29yZTo6RmxvYXRQb2ludCBt
X2xhc3RTZW50VHJhamVjdG9yeVZlY3RvcjsKKyAgICBmbG9hdCBtX2xhc3RTZW50UGFnZVNjYWxl
RmFjdG9yOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaAppbmRleCA3NzVhZDU2OGRiMmNiMjYyMWVhNzRkNTU0
MDI4MDI2NTBjYzY2YWNjLi5jNzA2YWY3YzQ4ZmI2OTM1ZjU0NzM4YjEyYjVhZGRiZjI4MjVlMWM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKQEAgLTc1
LDcgKzc1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50UmVjdCB2aWV3cG9y
dFZpc2libGVSZWN0KCkgY29uc3QgeyByZXR1cm4gY29udGVudHNSZWN0KCk7IH0KICAgICB2aXJ0
dWFsIFdlYkNvcmU6OkludFJlY3QgY29udGVudHNSZWN0KCkgY29uc3Q7CiAgICAgQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0UHJveHkqIGNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KCkgY29u
c3QgeyByZXR1cm4gbV9jb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5nZXQoKTsgfQotICAg
IHZpcnR1YWwgdm9pZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0
UmVjdCYgLyogdmlzaWJsZUNvbnRlbnRzUmVjdCAqLywgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2lu
dCYgLyogdHJhamVjdG9yeVZlY3RvciAqLykgeyB9CisgICAgdmlydHVhbCB2b2lkIHNldFZpc2li
bGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiAvKiB2aXNpYmxlQ29udGVu
dHNSZWN0ICovLCAgZmxvYXQgLyogcGFnZVNjYWxlRmFjdG9yICovLCBjb25zdCBXZWJDb3JlOjpG
bG9hdFBvaW50JiAvKiB0cmFqZWN0b3J5VmVjdG9yICovKSB7IH0KIAogICAgIFdlYlBhZ2VQcm94
eSogcGFnZSgpIHsgcmV0dXJuIG1fd2ViUGFnZVByb3h5OyB9CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCmluZGV4IGYzZGU1
NzY5NTU3YTVkMTgwNDM4OWI1ZTliMDEwZGU2NTM5ZWM0ODAuLjhmOWI3NjNhMTEzOTk3ZjBmNjc3
NmFlMWJjZTYyMTA5OWUxOTAzMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcApAQCAtMzcwLDEwICszNzAsMTAgQEAgdm9pZCBEcmF3
aW5nQXJlYVByb3h5SW1wbDo6ZW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShjb25zdCBM
YXllclRyZWVDb250ZXgKIH0KIAogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKLXZvaWQg
RHJhd2luZ0FyZWFQcm94eUltcGw6OnNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29y
ZTo6RmxvYXRSZWN0JiB2aXNpYmxlQ29udGVudHNSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBv
aW50JiB0cmFqZWN0b3J5VmVjdG9yKQordm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6c2V0Vmlz
aWJsZUNvbnRlbnRzUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHZpc2libGVDb250ZW50
c1JlY3QsIGZsb2F0IHBhZ2VTY2FsZUZhY3RvciwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYg
dHJhamVjdG9yeVZlY3RvcikKIHsKICAgICBpZiAobV9jb29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eSkKLSAgICAgICAgbV9jb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS0+c2V0VmlzaWJs
ZUNvbnRlbnRzUmVjdCh2aXNpYmxlQ29udGVudHNSZWN0LCB0cmFqZWN0b3J5VmVjdG9yKTsKKyAg
ICAgICAgbV9jb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS0+c2V0VmlzaWJsZUNvbnRlbnRz
UmVjdCh2aXNpYmxlQ29udGVudHNSZWN0LCBwYWdlU2NhbGVGYWN0b3IsIHRyYWplY3RvcnlWZWN0
b3IpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9E
cmF3aW5nQXJlYVByb3h5SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdB
cmVhUHJveHlJbXBsLmgKaW5kZXggZTVkMTY2Mzk3YjFkYWVlODhjOTZkMDliYWQxODZkOWJlNzI3
Mjk0YS4uYzUwM2FlZjJhYTk0M2IzNTMwMjlmOGM1MmYxYmYzOTlmN2Q4OWEyZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKQEAgLTgzLDcg
KzgzLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9k
ZSgpOwogICAgIHZvaWQgdXBkYXRlQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoY29uc3QgTGF5
ZXJUcmVlQ29udGV4dCYpOwogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKLSAgICB2aXJ0
dWFsIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3Qm
IHZpc2libGVDb250ZW50c1JlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHRyYWplY3Rv
cnkpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNv
bnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdmlzaWJsZUNvbnRlbnRzUmVjdCwgZmxvYXQgcGFnZVNj
YWxlRmFjdG9yLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0b3J5KSBPVkVSUklE
RTsKICNlbmRpZgogI2Vsc2UKICAgICBib29sIGlzSW5BY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9k
ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5jcHAKaW5kZXggNTYwMTdkZGY4MzQ2ZDk0NGNm
M2MyY2E5OGQyN2YxNGQ2ZDJjNzA2YS4uZWMzZDA3YjQwMGJjZjI1MjM2M2RlMzFjMGM2ZmJjYmU2
ODAxMDNhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9y
dENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3Bv
cnRDb250cm9sbGVyLmNwcApAQCAtMTk1LDggKzE5NSw2IEBAIHZvaWQgUGFnZVZpZXdwb3J0Q29u
dHJvbGxlcjo6ZGlkUmVuZGVyRnJhbWUoY29uc3QgSW50U2l6ZSYgY29udGVudHNTaXplLCBjb25z
dCBJCiAgICAgICAgIEZsb2F0UG9pbnQgY3VycmVudERpc2NyZXRlUG9zID0gcm91bmRlZEludFBv
aW50KG1fY29udGVudHNQb3NpdGlvbik7CiAgICAgICAgIEZsb2F0UG9pbnQgcGl4ZWxBbGlnbmVk
UG9zID0gcGl4ZWxBbGlnbmVkRmxvYXRQb2ludChjdXJyZW50RGlzY3JldGVQb3MpOwogICAgICAg
ICBtX2NvbnRlbnRzUG9zaXRpb24gPSBib3VuZENvbnRlbnRzUG9zaXRpb24ocGl4ZWxBbGlnbmVk
UG9zKTsKLQotICAgICAgICBtX3dlYlBhZ2VQcm94eS0+c2NhbGVQYWdlKG1fcGFnZVNjYWxlRmFj
dG9yLCByb3VuZGVkSW50UG9pbnQobV9jb250ZW50c1Bvc2l0aW9uKSk7CiAgICAgfQogCiAgICAg
Ly8gVGhlcmUgbWlnaHQgYmUgcmVuZGVyZWQgZnJhbWVzIG5vdCBjb3ZlcmluZyBvdXIgcmVxdWVz
dGVkIHBvc2l0aW9uIHlldCwgd2FpdCBmb3IgaXQuCkBAIC0yNTgsNyArMjU2LDcgQEAgdm9pZCBQ
YWdlVmlld3BvcnRDb250cm9sbGVyOjpkaWRDaGFuZ2VDb250ZW50c1Zpc2liaWxpdHkoY29uc3Qg
RmxvYXRQb2ludCYgcG9zaXQKICAgICBpZiAoIW1fcGVuZGluZ1Bvc2l0aW9uQ2hhbmdlKQogICAg
ICAgICBtX2NvbnRlbnRzUG9zaXRpb24gPSBwb3NpdGlvbjsKICAgICBpZiAoIW1fcGVuZGluZ1Nj
YWxlQ2hhbmdlKQotICAgICAgICBhcHBseVNjYWxlQWZ0ZXJSZW5kZXJpbmdDb250ZW50cyhzY2Fs
ZSk7CisgICAgICAgIG1fcGFnZVNjYWxlRmFjdG9yID0gc2NhbGU7CiAKICAgICBzeW5jVmlzaWJs
ZUNvbnRlbnRzKHRyYWplY3RvcnlWZWN0b3IpOwogfQpAQCAtMjY5LDkgKzI2Nyw5IEBAIHZvaWQg
UGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6c3luY1Zpc2libGVDb250ZW50cyhjb25zdCBGbG9hdFBv
aW50JiB0cmFqZWN0b3J5VmVjCiAgICAgaWYgKCFkcmF3aW5nQXJlYSB8fCBtX3ZpZXdwb3J0U2l6
ZS5pc0VtcHR5KCkgfHwgbV9jb250ZW50c1NpemUuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBGbG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRzUmVjdChib3VuZENvbnRlbnRzUG9zaXRp
b24obV9jb250ZW50c1Bvc2l0aW9uKSwgdmlzaWJsZUNvbnRlbnRzU2l6ZSgpKTsKKyAgICBGbG9h
dFJlY3QgdmlzaWJsZUNvbnRlbnRzUmVjdChwaXhlbEFsaWduZWRGbG9hdFBvaW50KGJvdW5kQ29u
dGVudHNQb3NpdGlvbihtX2NvbnRlbnRzUG9zaXRpb24pKSwgdmlzaWJsZUNvbnRlbnRzU2l6ZSgp
KTsKICAgICB2aXNpYmxlQ29udGVudHNSZWN0LmludGVyc2VjdChGbG9hdFJlY3QoRmxvYXRQb2lu
dDo6emVybygpLCBtX2NvbnRlbnRzU2l6ZSkpOwotICAgIGRyYXdpbmdBcmVhLT5zZXRWaXNpYmxl
Q29udGVudHNSZWN0KHZpc2libGVDb250ZW50c1JlY3QsIHRyYWplY3RvcnlWZWN0b3IpOworICAg
IGRyYXdpbmdBcmVhLT5zZXRWaXNpYmxlQ29udGVudHNSZWN0KHZpc2libGVDb250ZW50c1JlY3Qs
IG1fcGFnZVNjYWxlRmFjdG9yLCB0cmFqZWN0b3J5VmVjdG9yKTsKIAogICAgIG1fY2xpZW50LT5k
aWRDaGFuZ2VWaXNpYmxlQ29udGVudHMoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZs
L1dlYlZpZXcuY3BwCmluZGV4IDQwODBmZTdlNzFiNmFmNzA5MGMzM2Y5NTQ0NTkzYWNmYzc2NTg1
NDYuLmI0ZDk1ZjcwYjg3ZTdlNmFjNWE5ZWM1ZjUyYWFhOWVmZGE3ZGRiOWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3LmNwcApAQCAtMjczLDcgKzI3Myw3IEBAIHZvaWQg
V2ViVmlldzo6dXBkYXRlVmlld3BvcnRTaXplKCkKICAgICBpZiAoRHJhd2luZ0FyZWFQcm94eSog
ZHJhd2luZ0FyZWEgPSBwYWdlKCktPmRyYXdpbmdBcmVhKCkpIHsKICAgICAgICAgLy8gV2ViIFBy
b2Nlc3MgZXhwZWN0cyBzaXplcyBpbiBVSSB1bml0cywgYW5kIG5vdCByYXcgZGV2aWNlIHVuaXRz
LgogICAgICAgICBkcmF3aW5nQXJlYS0+c2V0U2l6ZShyb3VuZGVkSW50U2l6ZShkaXBTaXplKCkp
LCBJbnRTaXplKCkpOwotICAgICAgICBkcmF3aW5nQXJlYS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVj
dChGbG9hdFJlY3QoY29udGVudFBvc2l0aW9uKCksIGRpcFNpemUoKSksIEZsb2F0UG9pbnQoKSk7
CisgICAgICAgIGRyYXdpbmdBcmVhLT5zZXRWaXNpYmxlQ29udGVudHNSZWN0KEZsb2F0UmVjdChj
b250ZW50UG9zaXRpb24oKSwgZGlwU2l6ZSgpKSwgY29udGVudFNjYWxlRmFjdG9yKCksIEZsb2F0
UG9pbnQoKSk7CiAgICAgfQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199021</attachid>
            <date>2013-04-22 06:25:02 -0700</date>
            <delta_ts>2013-05-06 09:33:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113326-20130422152145.patch</filename>
            <type>text/plain</type>
            <size>17358</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ4ODc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzI5NDlkOTU2Y2NjN2Fk
OThkNjM0MDg4NmMyMDIwYWFmMWIzMjRiMy4uYzhhMTIzNzAxY2IzYTVjOTc0ZTBiMzg5MTMxZjEz
ZmU5YTg4MTE2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEzLTA0LTIyICBBbmRy
YXMgQmVjc2kgIDxhbmRyYXMuYmVjc2lAZGlnaWEuY29tPgorCisgICAgICAgIFtRdF1bV0syXSBS
ZWdyZXNzaW9uKDE0MTMxMCk6IFBhZ2UgZmxpY2tlcnMgZHVyaW5nIHNjYWxlIGFuaW1hdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzMzI2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFnZVZpZXdw
b3J0Q29udHJvbGxlcjo6ZGlkQ2hhbmdlQ29udGVudHNWaXNpYmlsaXR5IHNob3VsZCBzZXQgdGhl
IHNjYWxlCisgICAgICAgIGltbWVkaWF0ZWx5IGluc3RlYWQgb2Ygc2V0dGluZyBpdCBhZnRlciBy
ZW5kZXJpbmcgdGhlIGZpcnN0IGZyYW1lcy4KKyAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyB1c2Vk
IHRvIG5vdGlmeSB0aGUgd2ViIHByb2Nlc3MgYWJvdXQgdmlzaWJpbGl0eSBjaGFuZ2VzCisgICAg
ICAgIGluaXRpYXRlZCBieSB0aGUgdXNlciwgdGh1cyB0aGUgaW5mb3JtYXRpb24gY2FuIG5vdCBi
ZSBwZW5kaW5nLgorICAgICAgICBBbHNvIG1lcmdlIHRoZSBXZWJDb3JlIHNjYWxlIHVwZGF0ZSB0
byBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eQorICAgICAgICB0byByZXN0b3JlIHByZXZp
b3VzIGJlaGF2aW91ciwgc2luY2Ugc2NhbGUgY2hhbmdlcyBhbHdheXMgaW1wbHkgdmlzaWJsZQor
ICAgICAgICByZWN0IHVwZGF0ZXMuIFRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgc2luY2Ug
aWYgYSBzY2FsZSBhbmltYXRpb24KKyAgICAgICAgaXMgc3RhcnRlZCwgZHVlIHRvIGEgZG91Ymxl
LXRhcCBnZXN0dXJlIG9yIGFmdGVyIGFuIG91dC1vZi1ib3VuZHMgcGluY2gKKyAgICAgICAgZ2Vz
dHVyZSwgdGhlIHdlYiBwcm9jZXNzIGlzIHJlcXVlc3RlZCB0byByZW5kZXIgdGhlIGZpbmFsIHZp
c2libGUgcmVjdAorICAgICAgICBkdXJpbmcgdGhlIGFuaW1hdGlvbiwgdG8gbWFrZSB0aGUgdHJh
bnNpdGlvbiBhdCB0aGUgZW5kIG9mIHRoZSBhbmltYXRpb24KKyAgICAgICAgc21vb3RoZXIuIFRo
aXMgcGF0Y2ggbWFrZXMgc3VyZSB0aGF0IHRoZSBwYWdlIHJlbmRlcmVkIGluIHRoZSByZXF1ZXN0
ZWQKKyAgICAgICAgcmVzb2x1dGlvbiBkb2VzIG5vdCBmbGlja2VyIHRocm91Z2ggZHVyaW5nIHRo
ZSBhbmltYXRpb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcu
Y3BwOgorICAgICAgICAoUVF1aWNrV2ViVmlld0xlZ2FjeVByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0
U2l6ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9yYXcvcXJhd3dlYnZpZXcuY3BwOgor
ICAgICAgICAoUVJhd1dlYlZpZXc6OnNldFNpemUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OkNvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5KToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHk6OnVwZGF0ZVZpc2libGVDb250ZW50c1N0YXRlKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oOgor
ICAgICAgICAoQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJv
eHk6OnVwZGF0ZVZpc2libGVDb250ZW50c1N0YXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJh
d2luZ0FyZWFQcm94eUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5
SW1wbDo6dXBkYXRlVmlzaWJsZUNvbnRlbnRzU3RhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9E
cmF3aW5nQXJlYVByb3h5SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlVmlld3BvcnRD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6
ZGlkUmVuZGVyRnJhbWUpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVy
OjpkaWRDaGFuZ2VDb250ZW50c1Zpc2liaWxpdHkpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmll
d3BvcnRDb250cm9sbGVyOjpzeW5jVmlzaWJsZUNvbnRlbnRzKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5oOgorICAgICAgICAoUGFnZVZpZXdwb3J0Q29udHJv
bGxlcik6CisgICAgICAgICogVUlQcm9jZXNzL2VmbC9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViVmlldzo6dXBkYXRlVmlld3BvcnRTaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
cXQvUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
UGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudFF0Ojp2aWV3cG9ydFNjYWxlRm9yUmVjdCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL3F0L1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdC5oOgor
ICAgICAgICAoUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudFF0KToKKwogMjAxMy0wNC0yMSAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dl
YktpdDJdIFBsdWdpbnMgd2l0aG91dCBhIE1JTUUgVHlwZSBmYWlsIHRvIGxvYWQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCmluZGV4IDEy
MTNmZDliMjAxODdiOTk1OTNmNDUwMWZjMmQ5MTZkNTdhMjY2MWEuLmM0NWM2NDIzYWUzMjRkM2Zm
YjZkOTY3ZTdhNGYyNWZjZWMzZWFlYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcApAQCAtOTg0LDcgKzk4NCw3IEBAIHZvaWQgUVF1
aWNrV2ViVmlld0xlZ2FjeVByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0U2l6ZSgpCiAgICAgICAgIGRy
YXdpbmdBcmVhLT5zZXRTaXplKHZpZXdwb3J0U2l6ZS50b1NpemUoKSwgSW50U2l6ZSgpLCBJbnRT
aXplKCkpOwogICAgICAgICAvLyBUaGUgYmFja2luZyBzdG9yZSBzY2FsZSBmYWN0b3Igc2hvdWxk
IGFscmVhZHkgYmUgc2V0IHRvIHRoZSBkZXZpY2UgcGl4ZWwgcmF0aW8KICAgICAgICAgLy8gb2Yg
dGhlIHVuZGVybHlpbmcgd2luZG93LCB0aHVzIHdlIHNldCB0aGUgZWZmZWN0aXZlIHNjYWxlIHRv
IDEgaGVyZS4KLSAgICAgICAgZHJhd2luZ0FyZWEtPnNldFZpc2libGVDb250ZW50c1JlY3QoRmxv
YXRSZWN0KEZsb2F0UG9pbnQoKSwgRmxvYXRTaXplKHZpZXdwb3J0U2l6ZSkpLCBGbG9hdFBvaW50
KCkpOworICAgICAgICBkcmF3aW5nQXJlYS0+dXBkYXRlVmlzaWJsZUNvbnRlbnRzU3RhdGUoRmxv
YXRSZWN0KEZsb2F0UG9pbnQoKSwgRmxvYXRTaXplKHZpZXdwb3J0U2l6ZSkpLCAvKiBzY2FsZSAq
LyAxLCBGbG9hdFBvaW50KCkpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9yYXcvcXJhd3dlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC9yYXcvcXJhd3dlYnZpZXcuY3BwCmluZGV4IGFjMzQwNjkxMjk3MjEx
YWQxNWMxNGY2MTgxMGEwNGZmZjRiZWYxNzQuLjZmNzc5NDM3ZDY4YTM1ZGRhMWFlYjdkM2Y2MDE3
MTI5YzdhYjc2NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
cmF3L3FyYXd3ZWJ2aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3Jhdy9xcmF3d2Vidmlldy5jcHAKQEAgLTM0NCw3ICszNDQsNyBAQCB2b2lkIFFSYXdXZWJWaWV3
OjpzZXRTaXplKGNvbnN0IFFTaXplJiBzaXplKQogICAgIGQtPm1fc2l6ZSA9IHNpemU7CiAKICAg
ICBkcmF3aW5nQXJlYS0+c2V0U2l6ZShkLT5tX3NpemUsIFdlYkNvcmU6OkludFNpemUoKSwgV2Vi
Q29yZTo6SW50U2l6ZSgpKTsKLSAgICBkcmF3aW5nQXJlYS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVj
dChXZWJDb3JlOjpJbnRSZWN0KFdlYkNvcmU6OkludFBvaW50KCksIGQtPm1fc2l6ZSksIFdlYkNv
cmU6OkZsb2F0UG9pbnQoKSk7CisgICAgZHJhd2luZ0FyZWEtPnVwZGF0ZVZpc2libGVDb250ZW50
c1N0YXRlKFdlYkNvcmU6OkludFJlY3QoV2ViQ29yZTo6SW50UG9pbnQoKSwgZC0+bV9zaXplKSwg
Lyogc2NhbGUgKi8gMSwgV2ViQ29yZTo6RmxvYXRQb2ludCgpKTsKIH0KIAogV0tQYWdlUmVmIFFS
YXdXZWJWaWV3OjpwYWdlUmVmKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdFByb3h5LmNwcAppbmRleCBmN2UzMWQzODQwZTdhZmYyODc3ZjQ0ZDhkMDIw
MmMzYzQzODY3ODQzLi40YjgzYzJmMjI0MjZjZmMyMDJhMjIzZGFjMDFkZGY0NTQ1Njc5NzRkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHku
Y3BwCkBAIC00Miw2ICs0Miw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0UHJveHk6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KERyYXdp
bmdBcmVhUHJveHkqIGRyYXdpbmdBcmVhUHJveHkpCiAgICAgOiBtX2RyYXdpbmdBcmVhUHJveHko
ZHJhd2luZ0FyZWFQcm94eSkKICAgICAsIG1fc2NlbmUoYWRvcHRSZWYobmV3IENvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZSh0aGlzKSkpCisgICAgLCBtX2xhc3RTZW50UGFnZVNjYWxlRmFjdG9yKDAp
CiB7CiAgICAgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnByb2Nlc3MoKS0+YWRkTWVzc2Fn
ZVJlY2VpdmVyKE1lc3NhZ2VzOjpDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6bWVzc2Fn
ZVJlY2VpdmVyTmFtZSgpLCBtX2RyYXdpbmdBcmVhUHJveHktPnBhZ2UoKS0+cGFnZUlEKCksIHRo
aXMpOwogfQpAQCAtMTI3LDE3ICsxMjgsMTkgQEAgdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhv
c3RQcm94eTo6c2V0QW5pbWF0aW9uc0xvY2tlZChib29sIGxvY2tlZCkKICAgICBkaXNwYXRjaFVw
ZGF0ZShiaW5kKCZDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnNldEFuaW1hdGlvbnNMb2NrZWQs
IG1fc2NlbmUuZ2V0KCksIGxvY2tlZCkpOwogfQogCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdFByb3h5OjpzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwg
Y29uc3QgRmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3RvcikKK3ZvaWQgQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHk6OnVwZGF0ZVZpc2libGVDb250ZW50c1N0YXRlKGNvbnN0IEZsb2F0UmVj
dCYgdmlzaWJsZUNvbnRldHNSZWN0LCBkb3VibGUgcGFnZVNjYWxlRmFjdG9yLCBjb25zdCBGbG9h
dFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKQogewogICAgIC8vIEluZm9ybSB0aGUgcmVuZGVyZXIg
dG8gYWRqdXN0IHZpZXdwb3J0LWZpeGVkIGxheWVycy4KLSAgICBkaXNwYXRjaFVwZGF0ZShiaW5k
KCZDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnNldFNjcm9sbFBvc2l0aW9uLCBtX3NjZW5lLmdl
dCgpLCByZWN0LmxvY2F0aW9uKCkpKTsKKyAgICBkaXNwYXRjaFVwZGF0ZShiaW5kKCZDb29yZGlu
YXRlZEdyYXBoaWNzU2NlbmU6OnNldFNjcm9sbFBvc2l0aW9uLCBtX3NjZW5lLmdldCgpLCB2aXNp
YmxlQ29udGV0c1JlY3QubG9jYXRpb24oKSkpOwogCi0gICAgaWYgKHJlY3QgPT0gbV9sYXN0U2Vu
dFZpc2libGVSZWN0ICYmIHRyYWplY3RvcnlWZWN0b3IgPT0gbV9sYXN0U2VudFRyYWplY3RvcnlW
ZWN0b3IpCisgICAgaWYgKHZpc2libGVDb250ZXRzUmVjdCA9PSBtX2xhc3RTZW50VmlzaWJsZVJl
Y3QgJiYgdHJhamVjdG9yeVZlY3RvciA9PSBtX2xhc3RTZW50VHJhamVjdG9yeVZlY3RvciAmJiBw
YWdlU2NhbGVGYWN0b3IgPT0gbV9sYXN0U2VudFBhZ2VTY2FsZUZhY3RvcikKICAgICAgICAgcmV0
dXJuOwogCi0gICAgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnByb2Nlc3MoKS0+c2VuZChN
ZXNzYWdlczo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpTZXRWaXNpYmxlQ29udGVudHNSZWN0
KHJlY3QsIHRyYWplY3RvcnlWZWN0b3IpLCBtX2RyYXdpbmdBcmVhUHJveHktPnBhZ2UoKS0+cGFn
ZUlEKCkpOwotICAgIG1fbGFzdFNlbnRWaXNpYmxlUmVjdCA9IHJlY3Q7CisgICAgbV9kcmF3aW5n
QXJlYVByb3h5LT5wYWdlKCktPnNjYWxlUGFnZShwYWdlU2NhbGVGYWN0b3IsIHJvdW5kZWRJbnRQ
b2ludCh2aXNpYmxlQ29udGV0c1JlY3QubG9jYXRpb24oKSkpOworICAgIG1fZHJhd2luZ0FyZWFQ
cm94eS0+cGFnZSgpLT5wcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OkNvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdDo6U2V0VmlzaWJsZUNvbnRlbnRzUmVjdCh2aXNpYmxlQ29udGV0c1JlY3QsIHRyYWpl
Y3RvcnlWZWN0b3IpLCBtX2RyYXdpbmdBcmVhUHJveHktPnBhZ2UoKS0+cGFnZUlEKCkpOworICAg
IG1fbGFzdFNlbnRWaXNpYmxlUmVjdCA9IHZpc2libGVDb250ZXRzUmVjdDsKICAgICBtX2xhc3RT
ZW50VHJhamVjdG9yeVZlY3RvciA9IHRyYWplY3RvcnlWZWN0b3I7CisgICAgbV9sYXN0U2VudFBh
Z2VTY2FsZUZhY3RvciA9IHBhZ2VTY2FsZUZhY3RvcjsKIH0KIAogdm9pZCBDb29yZGluYXRlZExh
eWVyVHJlZUhvc3RQcm94eTo6cmVuZGVyTmV4dEZyYW1lKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGlj
cy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oCmluZGV4IDVkZGE1YzQwMzExYmU0ZWE4
ZWY0NWYyYzE4ZTlhZTZhZTI1NmQxZmEuLjE0ZTE2OGU2ODNiZGM0N2M4OGNlNjU2OWE2Yzk3YWM5
YTQxMWYwYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHkuaApAQCAtNzYsNyArNzYsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB2b2lkIHNl
dEJhY2tncm91bmRDb2xvcihjb25zdCBXZWJDb3JlOjpDb2xvciYpOwogCi0gICAgdm9pZCBzZXRW
aXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYsIGNvbnN0IFdlYkNv
cmU6OkZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWN0b3IpOworICAgIHZvaWQgdXBkYXRlVmlzaWJs
ZUNvbnRlbnRzU3RhdGUoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB2aXNpYmxlQ29udGV0c1Jl
Y3QsIGRvdWJsZSBwYWdlU2NhbGVGYWN0b3IsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHRy
YWplY3RvcnlWZWN0b3IpOwogICAgIFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSog
Y29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lKCkgY29uc3QgeyByZXR1cm4gbV9zY2VuZS5nZXQoKTsg
fQogCiAgICAgLy8gQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lQ2xpZW50IE1ldGhvZHMuCkBAIC05
OSw2ICs5OSw3IEBAIHByb3RlY3RlZDoKICAgICBSZWZQdHI8V2ViQ29yZTo6Q29vcmRpbmF0ZWRH
cmFwaGljc1NjZW5lPiBtX3NjZW5lOwogICAgIFdlYkNvcmU6OkZsb2F0UmVjdCBtX2xhc3RTZW50
VmlzaWJsZVJlY3Q7CiAgICAgV2ViQ29yZTo6RmxvYXRQb2ludCBtX2xhc3RTZW50VHJhamVjdG9y
eVZlY3RvcjsKKyAgICBkb3VibGUgbV9sYXN0U2VudFBhZ2VTY2FsZUZhY3RvcjsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0RyYXdpbmdBcmVhUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJl
YVByb3h5LmgKaW5kZXggNzgxZjJiYzkzOWNjMWEzYjA4YzMyNDA5YTc3Y2E0MThiYjhlNGEwMS4u
Y2YzYzUxZWE2ZWFhZTQ2Yjg3MThkNTYyYTFmNTg2Yzc2ODg3NjE5OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCkBAIC03OCw3ICs3OCw3IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFJlY3Qgdmlld3BvcnRWaXNpYmxlUmVjdCgpIGNv
bnN0IHsgcmV0dXJuIGNvbnRlbnRzUmVjdCgpOyB9CiAgICAgdmlydHVhbCBXZWJDb3JlOjpJbnRS
ZWN0IGNvbnRlbnRzUmVjdCgpIGNvbnN0OwogICAgIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFBy
b3h5KiBjb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSgpIGNvbnN0IHsgcmV0dXJuIG1fY29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuZ2V0KCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2V0
VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIC8qIHZpc2libGVD
b250ZW50c1JlY3QgKi8sIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIC8qIHRyYWplY3RvcnlW
ZWN0b3IgKi8pIHsgfQorICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVWaXNpYmxlQ29udGVudHNTdGF0
ZShjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIC8qIHZpc2libGVDb250ZW50c1JlY3QgKi8sICBk
b3VibGUgLyogcGFnZVNjYWxlRmFjdG9yICovLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiAv
KiB0cmFqZWN0b3J5VmVjdG9yICovKSB7IH0KIAogICAgIFdlYlBhZ2VQcm94eSogcGFnZSgpIHsg
cmV0dXJuIG1fd2ViUGFnZVByb3h5OyB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCmluZGV4IGYzZGU1NzY5NTU3YTVkMTgw
NDM4OWI1ZTliMDEwZGU2NTM5ZWM0ODAuLjYxMzI3Mzc1YWRkNDY2MDAwNTE0MmIwNWU3MjVlYTQz
ZjBlMzJjNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJl
YVByb3h5SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVh
UHJveHlJbXBsLmNwcApAQCAtMzcwLDEwICszNzAsMTAgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5
SW1wbDo6ZW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShjb25zdCBMYXllclRyZWVDb250
ZXgKIH0KIAogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKLXZvaWQgRHJhd2luZ0FyZWFQ
cm94eUltcGw6OnNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0
JiB2aXNpYmxlQ29udGVudHNSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0
b3J5VmVjdG9yKQordm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6dXBkYXRlVmlzaWJsZUNvbnRl
bnRzU3RhdGUoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB2aXNpYmxlQ29udGVudHNSZWN0LCBk
b3VibGUgcGFnZVNjYWxlRmFjdG9yLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0
b3J5VmVjdG9yKQogewogICAgIGlmIChtX2Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KQot
ICAgICAgICBtX2Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LT5zZXRWaXNpYmxlQ29udGVu
dHNSZWN0KHZpc2libGVDb250ZW50c1JlY3QsIHRyYWplY3RvcnlWZWN0b3IpOworICAgICAgICBt
X2Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LT51cGRhdGVWaXNpYmxlQ29udGVudHNTdGF0
ZSh2aXNpYmxlQ29udGVudHNSZWN0LCBwYWdlU2NhbGVGYWN0b3IsIHRyYWplY3RvcnlWZWN0b3Ip
OwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3
aW5nQXJlYVByb3h5SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVh
UHJveHlJbXBsLmgKaW5kZXggZTVkMTY2Mzk3YjFkYWVlODhjOTZkMDliYWQxODZkOWJlNzI3Mjk0
YS4uMWQ1NDQyMzlmMGNkNDgzOGNiN2QyZjhlMDg1ZjI2MDY5ZmVmOWU5NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKQEAgLTgzLDcgKzgz
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSgp
OwogICAgIHZvaWQgdXBkYXRlQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoY29uc3QgTGF5ZXJU
cmVlQ29udGV4dCYpOwogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKLSAgICB2aXJ0dWFs
IHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHZp
c2libGVDb250ZW50c1JlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHRyYWplY3Rvcnkp
IE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVWaXNpYmxlQ29udGVudHNTdGF0ZShj
b25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHZpc2libGVDb250ZW50c1JlY3QsIGRvdWJsZSBwYWdl
U2NhbGVGYWN0b3IsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHRyYWplY3RvcnkpIE9WRVJS
SURFOwogI2VuZGlmCiAjZWxzZQogICAgIGJvb2wgaXNJbkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdN
b2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcAppbmRleCA2MjU0Y2Y3NWQ2OTFjYjhh
MDkwYzFhNjhkNWNmYzc0Nzk3N2ZlOGU5Li44YjI3NGNjYjFiMGZjYmZhNzFmYThhY2FmNGNjOGZk
YzM0M2ZjZjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdw
b3J0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3
cG9ydENvbnRyb2xsZXIuY3BwCkBAIC0xOTUsOCArMTk1LDYgQEAgdm9pZCBQYWdlVmlld3BvcnRD
b250cm9sbGVyOjpkaWRSZW5kZXJGcmFtZShjb25zdCBJbnRTaXplJiBjb250ZW50c1NpemUsIGNv
bnN0IEkKICAgICAgICAgRmxvYXRQb2ludCBjdXJyZW50RGlzY3JldGVQb3MgPSByb3VuZGVkSW50
UG9pbnQobV9jb250ZW50c1Bvc2l0aW9uKTsKICAgICAgICAgRmxvYXRQb2ludCBwaXhlbEFsaWdu
ZWRQb3MgPSBwaXhlbEFsaWduZWRGbG9hdFBvaW50KGN1cnJlbnREaXNjcmV0ZVBvcyk7CiAgICAg
ICAgIG1fY29udGVudHNQb3NpdGlvbiA9IGJvdW5kQ29udGVudHNQb3NpdGlvbihwaXhlbEFsaWdu
ZWRQb3MpOwotCi0gICAgICAgIG1fd2ViUGFnZVByb3h5LT5zY2FsZVBhZ2UobV9wYWdlU2NhbGVG
YWN0b3IsIHJvdW5kZWRJbnRQb2ludChtX2NvbnRlbnRzUG9zaXRpb24pKTsKICAgICB9CiAKICAg
ICAvLyBUaGVyZSBtaWdodCBiZSByZW5kZXJlZCBmcmFtZXMgbm90IGNvdmVyaW5nIG91ciByZXF1
ZXN0ZWQgcG9zaXRpb24geWV0LCB3YWl0IGZvciBpdC4KQEAgLTI1MywxMiArMjUxLDEyIEBAIHZv
aWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6ZGlkQ2hhbmdlVmlld3BvcnRTaXplKGNvbnN0IEZs
b2F0U2l6ZSYgbmV3U2l6ZSkKICAgICBtX3dlYlBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEoKS0+c2V0
U2l6ZShyb3VuZGVkSW50U2l6ZShuZXdTaXplKSwgSW50U2l6ZSgpLCBJbnRTaXplKCkpOwogfQog
Ci12b2lkIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OmRpZENoYW5nZUNvbnRlbnRzVmlzaWJpbGl0
eShjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvbiwgZmxvYXQgc2NhbGUsIGNvbnN0IEZsb2F0UG9p
bnQmIHRyYWplY3RvcnlWZWN0b3IpCit2b2lkIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OmRpZENo
YW5nZUNvbnRlbnRzVmlzaWJpbGl0eShjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvbiwgZG91Ymxl
IHNjYWxlLCBjb25zdCBGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKQogewogICAgIGlmICgh
bV9wZW5kaW5nUG9zaXRpb25DaGFuZ2UpCiAgICAgICAgIG1fY29udGVudHNQb3NpdGlvbiA9IHBv
c2l0aW9uOwogICAgIGlmICghbV9wZW5kaW5nU2NhbGVDaGFuZ2UpCi0gICAgICAgIGFwcGx5U2Nh
bGVBZnRlclJlbmRlcmluZ0NvbnRlbnRzKHNjYWxlKTsKKyAgICAgICAgbV9wYWdlU2NhbGVGYWN0
b3IgPSBzY2FsZTsKIAogICAgIHN5bmNWaXNpYmxlQ29udGVudHModHJhamVjdG9yeVZlY3Rvcik7
CiB9CkBAIC0yNjksOSArMjY3LDkgQEAgdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyOjpzeW5j
VmlzaWJsZUNvbnRlbnRzKGNvbnN0IEZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWMKICAgICBpZiAo
IWRyYXdpbmdBcmVhIHx8IG1fdmlld3BvcnRTaXplLmlzRW1wdHkoKSB8fCBtX2NvbnRlbnRzU2l6
ZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIEZsb2F0UmVjdCB2aXNpYmxlQ29u
dGVudHNSZWN0KGJvdW5kQ29udGVudHNQb3NpdGlvbihtX2NvbnRlbnRzUG9zaXRpb24pLCB2aXNp
YmxlQ29udGVudHNTaXplKCkpOworICAgIEZsb2F0UmVjdCB2aXNpYmxlQ29udGVudHNSZWN0KHBp
eGVsQWxpZ25lZEZsb2F0UG9pbnQoYm91bmRDb250ZW50c1Bvc2l0aW9uKG1fY29udGVudHNQb3Np
dGlvbikpLCB2aXNpYmxlQ29udGVudHNTaXplKCkpOwogICAgIHZpc2libGVDb250ZW50c1JlY3Qu
aW50ZXJzZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50Ojp6ZXJvKCksIG1fY29udGVudHNTaXplKSk7
Ci0gICAgZHJhd2luZ0FyZWEtPnNldFZpc2libGVDb250ZW50c1JlY3QodmlzaWJsZUNvbnRlbnRz
UmVjdCwgdHJhamVjdG9yeVZlY3Rvcik7CisgICAgZHJhd2luZ0FyZWEtPnVwZGF0ZVZpc2libGVD
b250ZW50c1N0YXRlKHZpc2libGVDb250ZW50c1JlY3QsIG1fcGFnZVNjYWxlRmFjdG9yLCB0cmFq
ZWN0b3J5VmVjdG9yKTsKIAogICAgIG1fY2xpZW50LT5kaWRDaGFuZ2VWaXNpYmxlQ29udGVudHMo
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3BvcnRD
b250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJv
bGxlci5oCmluZGV4IGI4OTczYWJiZDg5ZTJlYTRmNGZiZjNlZjllMzRlNjFmN2U4ZGM0ZWQuLjhi
MDIwYTAyNzdhOWFiNjc4ZThlZjk2YjFhMTJhNDVkOTU3NDc4NmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuaApAQCAtNzAsNyArNzAs
NyBAQCBwdWJsaWM6CiAKICAgICAvLyBOb3RpZmljYXRpb25zIGZyb20gdGhlIHZpZXdwb3J0Lgog
ICAgIHZvaWQgZGlkQ2hhbmdlVmlld3BvcnRTaXplKGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYg
bmV3U2l6ZSk7Ci0gICAgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1Zpc2liaWxpdHkoY29uc3QgV2Vi
Q29yZTo6RmxvYXRQb2ludCYsIGZsb2F0IHNjYWxlLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50
JiB0cmFqZWN0b3J5VmVjdG9yID0gV2ViQ29yZTo6RmxvYXRQb2ludDo6emVybygpKTsKKyAgICB2
b2lkIGRpZENoYW5nZUNvbnRlbnRzVmlzaWJpbGl0eShjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50
JiwgZG91YmxlIHNjYWxlLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVj
dG9yID0gV2ViQ29yZTo6RmxvYXRQb2ludDo6emVybygpKTsKIAogICAgIC8vIE5vdGlmaWNhdGlv
bnMgZnJvbSB0aGUgV2ViUHJvY2Vzcy4KICAgICB2b2lkIGRpZENvbW1pdExvYWQoKTsKQEAgLTEw
MSw3ICsxMDEsNyBAQCBwcml2YXRlOgogICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBtX2NvbnRlbnRz
U2l6ZTsKICAgICBXZWJDb3JlOjpGbG9hdFNpemUgbV92aWV3cG9ydFNpemU7CiAgICAgV2ViQ29y
ZTo6SW50U2l6ZSBtX2NsaWVudENvbnRlbnRzU2l6ZTsKLSAgICBmbG9hdCBtX3BhZ2VTY2FsZUZh
Y3RvcjsKKyAgICBkb3VibGUgbV9wYWdlU2NhbGVGYWN0b3I7CiAKICAgICBib29sIG1fcGVuZGlu
Z1Bvc2l0aW9uQ2hhbmdlOwogICAgIGJvb2wgbV9wZW5kaW5nU2NhbGVDaGFuZ2U7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2VmbC9XZWJWaWV3LmNwcAppbmRleCAzNGUyNmFlM2U2YTgxNWRkYTYx
NjVjOTNlYzM2N2YwOGZlMjJmYzM2Li42ODJkNzEzN2YxYzQwODI5ZDU2YWE1NGM4YWI2MTE1MDg2
NWY3YTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlZpZXcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVmlldy5jcHAKQEAgLTI3
Myw3ICsyNzMsNyBAQCB2b2lkIFdlYlZpZXc6OnVwZGF0ZVZpZXdwb3J0U2l6ZSgpCiAgICAgaWYg
KERyYXdpbmdBcmVhUHJveHkqIGRyYXdpbmdBcmVhID0gcGFnZSgpLT5kcmF3aW5nQXJlYSgpKSB7
CiAgICAgICAgIC8vIFdlYiBQcm9jZXNzIGV4cGVjdHMgc2l6ZXMgaW4gVUkgdW5pdHMsIGFuZCBu
b3QgcmF3IGRldmljZSB1bml0cy4KICAgICAgICAgZHJhd2luZ0FyZWEtPnNldFNpemUocm91bmRl
ZEludFNpemUoZGlwU2l6ZSgpKSwgSW50U2l6ZSgpLCBJbnRTaXplKCkpOwotICAgICAgICBkcmF3
aW5nQXJlYS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChGbG9hdFJlY3QoY29udGVudFBvc2l0aW9u
KCksIGRpcFNpemUoKSksIEZsb2F0UG9pbnQoKSk7CisgICAgICAgIGRyYXdpbmdBcmVhLT51cGRh
dGVWaXNpYmxlQ29udGVudHNTdGF0ZShGbG9hdFJlY3QoY29udGVudFBvc2l0aW9uKCksIGRpcFNp
emUoKSksIGNvbnRlbnRTY2FsZUZhY3RvcigpLCBGbG9hdFBvaW50KCkpOwogICAgIH0KIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1BhZ2VWaWV3cG9ydENvbnRy
b2xsZXJDbGllbnRRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUGFnZVZpZXdw
b3J0Q29udHJvbGxlckNsaWVudFF0LmNwcAppbmRleCBmNzI5NDY1Mjk3YTIyZDI1MDRhNmM5YmUy
MDQzNjM5MDdhYjEwMDFkLi41ODY1YWE5YzBlZTIwMGYzMzhiMzRjYjc4NGZmZDVlMDhhYmVkNjI0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUGFnZVZpZXdwb3J0Q29u
dHJvbGxlckNsaWVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUGFn
ZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudFF0LmNwcApAQCAtNTI0LDkgKzUyNCw5IEBAIHZvaWQg
UGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudFF0OjpzY2FsZUNvbnRlbnQocXJlYWwgaXRlbVNj
YWxlLCBjb25zdCBRUG9pbnRGCiAgICAgbV92aWV3cG9ydEl0ZW0tPnNldENvbnRlbnRQb3MobV92
aWV3cG9ydEl0ZW0tPmNvbnRlbnRQb3MoKSArIChuZXdQaW5jaENlbnRlck9uVmlld3BvcnQgLSBv
bGRQaW5jaENlbnRlck9uVmlld3BvcnQpKTsKIH0KIAotZmxvYXQgUGFnZVZpZXdwb3J0Q29udHJv
bGxlckNsaWVudFF0Ojp2aWV3cG9ydFNjYWxlRm9yUmVjdChjb25zdCBRUmVjdEYmIHJlY3QpIGNv
bnN0Citkb3VibGUgUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudFF0Ojp2aWV3cG9ydFNjYWxl
Rm9yUmVjdChjb25zdCBRUmVjdEYmIHJlY3QpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHN0YXRpY19j
YXN0PGZsb2F0PihtX3ZpZXdwb3J0SXRlbS0+d2lkdGgoKSkgLyBzdGF0aWNfY2FzdDxmbG9hdD4o
cmVjdC53aWR0aCgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8ZG91YmxlPihtX3ZpZXdwb3J0
SXRlbS0+d2lkdGgoKSkgLyBzdGF0aWNfY2FzdDxkb3VibGU+KHJlY3Qud2lkdGgoKSk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdC5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdC5oCmluZGV4IGMwYjc1
Y2VlMWRlMjA3YWI0ZGJjOGVhYzhiMzg0YjQ1ZTA3MTFkMjcuLjhiOWNiODc4OTE0MjYxNWFlMzFl
YjUxM2U4ZGU2YTE4NGQ2OGQ3YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9xdC9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvcXQvUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudFF0LmgKQEAgLTEzNiw3
ICsxMzYsNyBAQCBwcml2YXRlOgogICAgIFFRdWlja1dlYlZpZXcqIGNvbnN0IG1fdmlld3BvcnRJ
dGVtOwogICAgIFFRdWlja1dlYlBhZ2UqIGNvbnN0IG1fcGFnZUl0ZW07CiAKLSAgICBmbG9hdCB2
aWV3cG9ydFNjYWxlRm9yUmVjdChjb25zdCBRUmVjdEYmKSBjb25zdDsKKyAgICBkb3VibGUgdmll
d3BvcnRTY2FsZUZvclJlY3QoY29uc3QgUVJlY3RGJikgY29uc3Q7CiAgICAgUVJlY3RGIG5lYXJl
c3RWYWxpZFZpc2libGVDb250ZW50c1JlY3QoKSBjb25zdDsKIAogICAgIHZvaWQgc2V0Q29udGVu
dHNSZWN0VG9OZWFyZXN0VmFsaWRCb3VuZHMoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>200707</attachid>
            <date>2013-05-06 09:33:49 -0700</date>
            <delta_ts>2013-05-06 09:44:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113326-20130506182940.patch</filename>
            <type>text/plain</type>
            <size>17445</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5NjAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWFmZmQzY2U3YWYzZjEx
ZWZmMmI2YmY5NzkwZjlkNDIwMDg3MGRmMi4uYTQ1ZjBjYjI0YWEwM2FjNDY1YjA3YmM3Mzk1ZjQy
NDc2MDI0OTk3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEzLTA1LTA2ICBBbmRy
YXMgQmVjc2kgIDxhbmRyYXMuYmVjc2lAZGlnaWEuY29tPgorCisgICAgICAgIFtRdF1bV0syXSBS
ZWdyZXNzaW9uKDE0MTMxMCk6IFBhZ2UgZmxpY2tlcnMgZHVyaW5nIHNjYWxlIGFuaW1hdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzMzI2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFnZVZpZXdw
b3J0Q29udHJvbGxlcjo6ZGlkQ2hhbmdlQ29udGVudHNWaXNpYmlsaXR5IHNob3VsZCBzZXQgdGhl
IHNjYWxlCisgICAgICAgIGltbWVkaWF0ZWx5IGluc3RlYWQgb2Ygc2V0dGluZyBpdCBhZnRlciBy
ZW5kZXJpbmcgdGhlIGZpcnN0IGZyYW1lcy4KKyAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyB1c2Vk
IHRvIG5vdGlmeSB0aGUgd2ViIHByb2Nlc3MgYWJvdXQgdmlzaWJpbGl0eSBjaGFuZ2VzCisgICAg
ICAgIGluaXRpYXRlZCBieSB0aGUgdXNlciwgdGh1cyB0aGUgaW5mb3JtYXRpb24gY2FuIG5vdCBi
ZSBwZW5kaW5nLgorICAgICAgICBBbHNvIG1lcmdlIHRoZSBXZWJDb3JlIHNjYWxlIHVwZGF0ZSB0
byBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eQorICAgICAgICB0byByZXN0b3JlIHByZXZp
b3VzIGJlaGF2aW91ciwgc2luY2Ugc2NhbGUgY2hhbmdlcyBhbHdheXMgaW1wbHkgdmlzaWJsZQor
ICAgICAgICByZWN0IHVwZGF0ZXMuIFRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgc2luY2Ug
aWYgYSBzY2FsZSBhbmltYXRpb24KKyAgICAgICAgaXMgc3RhcnRlZCwgZHVlIHRvIGEgZG91Ymxl
LXRhcCBnZXN0dXJlIG9yIGFmdGVyIGFuIG91dC1vZi1ib3VuZHMgcGluY2gKKyAgICAgICAgZ2Vz
dHVyZSwgdGhlIHdlYiBwcm9jZXNzIGlzIHJlcXVlc3RlZCB0byByZW5kZXIgdGhlIGZpbmFsIHZp
c2libGUgcmVjdAorICAgICAgICBkdXJpbmcgdGhlIGFuaW1hdGlvbiwgdG8gbWFrZSB0aGUgdHJh
bnNpdGlvbiBhdCB0aGUgZW5kIG9mIHRoZSBhbmltYXRpb24KKyAgICAgICAgc21vb3RoZXIuIFRo
aXMgcGF0Y2ggbWFrZXMgc3VyZSB0aGF0IHRoZSBwYWdlIHJlbmRlcmVkIGluIHRoZSByZXF1ZXN0
ZWQKKyAgICAgICAgcmVzb2x1dGlvbiBkb2VzIG5vdCBmbGlja2VyIHRocm91Z2ggZHVyaW5nIHRo
ZSBhbmltYXRpb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcu
Y3BwOgorICAgICAgICAoUVF1aWNrV2ViVmlld0xlZ2FjeVByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0
U2l6ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9yYXcvcXJhd3dlYnZpZXcuY3BwOgor
ICAgICAgICAoUVJhd1dlYlZpZXc6OnNldFNpemUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OkNvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5KToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHk6OnVwZGF0ZUNvbnRlbnRzVmlzaWJpbGl0eSk6CisgICAgICAgICogVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaDoKKyAg
ICAgICAgKENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlldzo6dXBkYXRlVmlld3BvcnRTaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5Ojp1cGRhdGVDb250
ZW50c1Zpc2liaWxpdHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1w
bC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHlJbXBsOjp1cGRhdGVDb250
ZW50c1Zpc2liaWxpdHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1w
bC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6ZGlkUmVuZGVyRnJhbWUpOgor
ICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjpkaWRDaGFuZ2VDb250ZW50
c1Zpc2liaWxpdHkpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjpz
eW5jVmlzaWJsZUNvbnRlbnRzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29u
dHJvbGxlci5oOgorICAgICAgICAoUGFnZVZpZXdwb3J0Q29udHJvbGxlcik6CisgICAgICAgICog
VUlQcm9jZXNzL3F0L1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdDo6dmlld3BvcnRTY2FsZUZv
clJlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xp
ZW50UXQuaDoKKyAgICAgICAgKFBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdCk6CisKIDIw
MTMtMDUtMDYgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtXSzJdIE1ha2UgdGhlIFdlYkJhdHRlcnlNYW5hZ2VyUHJveHkgYSBzdXBwbGVtZW50IHRvIHRo
ZSBXZWJDb250ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3FxdWlja3dlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVp
Y2t3ZWJ2aWV3LmNwcAppbmRleCAxMjEzZmQ5YjIwMTg3Yjk5NTkzZjQ1MDFmYzJkOTE2ZDU3YTI2
NjFhLi4xMWQ3ZjNiMWVmOWQ0MTQ1ZTUzM2E3MjJkZDg0YzRmMmI0ZDFkMmFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKQEAgLTk4
NCw3ICs5ODQsNyBAQCB2b2lkIFFRdWlja1dlYlZpZXdMZWdhY3lQcml2YXRlOjp1cGRhdGVWaWV3
cG9ydFNpemUoKQogICAgICAgICBkcmF3aW5nQXJlYS0+c2V0U2l6ZSh2aWV3cG9ydFNpemUudG9T
aXplKCksIEludFNpemUoKSwgSW50U2l6ZSgpKTsKICAgICAgICAgLy8gVGhlIGJhY2tpbmcgc3Rv
cmUgc2NhbGUgZmFjdG9yIHNob3VsZCBhbHJlYWR5IGJlIHNldCB0byB0aGUgZGV2aWNlIHBpeGVs
IHJhdGlvCiAgICAgICAgIC8vIG9mIHRoZSB1bmRlcmx5aW5nIHdpbmRvdywgdGh1cyB3ZSBzZXQg
dGhlIGVmZmVjdGl2ZSBzY2FsZSB0byAxIGhlcmUuCi0gICAgICAgIGRyYXdpbmdBcmVhLT5zZXRW
aXNpYmxlQ29udGVudHNSZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50KCksIEZsb2F0U2l6ZSh2aWV3
cG9ydFNpemUpKSwgRmxvYXRQb2ludCgpKTsKKyAgICAgICAgZHJhd2luZ0FyZWEtPnVwZGF0ZUNv
bnRlbnRzVmlzaWJpbGl0eShGbG9hdFJlY3QoRmxvYXRQb2ludCgpLCBGbG9hdFNpemUodmlld3Bv
cnRTaXplKSksIC8qIHNjYWxlICovIDEsIEZsb2F0UG9pbnQoKSk7CiAgICAgfQogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Jhdy9xcmF3d2Vidmlldy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Jhdy9xcmF3d2Vidmlldy5jcHAK
aW5kZXggYWMzNDA2OTEyOTcyMTFhZDE1YzE0ZjYxODEwYTA0ZmZmNGJlZjE3NC4uY2EwNzI4YWRk
YzBhZGNkYzM2YzQ5MmUyZjkwODM3YjgyN2IxMzZhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9yYXcvcXJhd3dlYnZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcmF3L3FyYXd3ZWJ2aWV3LmNwcApAQCAtMzQ0LDcgKzM0NCw3
IEBAIHZvaWQgUVJhd1dlYlZpZXc6OnNldFNpemUoY29uc3QgUVNpemUmIHNpemUpCiAgICAgZC0+
bV9zaXplID0gc2l6ZTsKIAogICAgIGRyYXdpbmdBcmVhLT5zZXRTaXplKGQtPm1fc2l6ZSwgV2Vi
Q29yZTo6SW50U2l6ZSgpLCBXZWJDb3JlOjpJbnRTaXplKCkpOwotICAgIGRyYXdpbmdBcmVhLT5z
ZXRWaXNpYmxlQ29udGVudHNSZWN0KFdlYkNvcmU6OkludFJlY3QoV2ViQ29yZTo6SW50UG9pbnQo
KSwgZC0+bV9zaXplKSwgV2ViQ29yZTo6RmxvYXRQb2ludCgpKTsKKyAgICBkcmF3aW5nQXJlYS0+
dXBkYXRlQ29udGVudHNWaXNpYmlsaXR5KFdlYkNvcmU6OkludFJlY3QoV2ViQ29yZTo6SW50UG9p
bnQoKSwgZC0+bV9zaXplKSwgLyogc2NhbGUgKi8gMSwgV2ViQ29yZTo6RmxvYXRQb2ludCgpKTsK
IH0KIAogV0tQYWdlUmVmIFFSYXdXZWJWaWV3OjpwYWdlUmVmKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcAppbmRleCAxODBlYWNiZWJj
OTk2NjViZTdjYzUxOTViNjdhYjc4NWFlMTZlOWRjLi41OGQwZGU4ZTFiZmRiNjJmZDFlMjg5NTBl
NTA5MWZjZDQzYzNjMzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHkuY3BwCkBAIC00Miw2ICs0Miw3IEBAIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OkNvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5KERyYXdpbmdBcmVhUHJveHkqIGRyYXdpbmdBcmVhUHJveHkpCiAgICAgOiBt
X2RyYXdpbmdBcmVhUHJveHkoZHJhd2luZ0FyZWFQcm94eSkKICAgICAsIG1fc2NlbmUoYWRvcHRS
ZWYobmV3IENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSh0aGlzKSkpCisgICAgLCBtX2xhc3RTZW50
UGFnZVNjYWxlRmFjdG9yKDApCiB7CiAgICAgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnBy
b2Nlc3MoKS0+YWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpDb29yZGluYXRlZExheWVyVHJl
ZUhvc3RQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX2RyYXdpbmdBcmVhUHJveHktPnBh
Z2UoKS0+cGFnZUlEKCksIHRoaXMpOwogfQpAQCAtMTIyLDE3ICsxMjMsMTkgQEAgdm9pZCBDb29y
ZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6cmVtb3ZlSW1hZ2VCYWNraW5nKENvb3JkaW5hdGVk
SW1hZ2VCYWNraW5nSUQKICAgICBkaXNwYXRjaFVwZGF0ZShiaW5kKCZDb29yZGluYXRlZEdyYXBo
aWNzU2NlbmU6OnJlbW92ZUltYWdlQmFja2luZywgbV9zY2VuZS5nZXQoKSwgaW1hZ2VJRCkpOwog
fQogCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpzZXRWaXNpYmxlQ29udGVu
dHNSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgY29uc3QgRmxvYXRQb2ludCYgdHJhamVjdG9y
eVZlY3RvcikKK3ZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OnVwZGF0ZUNvbnRl
bnRzVmlzaWJpbGl0eShjb25zdCBGbG9hdFJlY3QmIHZpc2libGVDb250ZW50c1JlY3QsIGRvdWJs
ZSBwYWdlU2NhbGVGYWN0b3IsIGNvbnN0IEZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWN0b3IpCiB7
CiAgICAgLy8gSW5mb3JtIHRoZSByZW5kZXJlciB0byBhZGp1c3Qgdmlld3BvcnQtZml4ZWQgbGF5
ZXJzLgotICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6
c2V0U2Nyb2xsUG9zaXRpb24sIG1fc2NlbmUuZ2V0KCksIHJlY3QubG9jYXRpb24oKSkpOworICAg
IGRpc3BhdGNoVXBkYXRlKGJpbmQoJkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c2V0U2Nyb2xs
UG9zaXRpb24sIG1fc2NlbmUuZ2V0KCksIHZpc2libGVDb250ZW50c1JlY3QubG9jYXRpb24oKSkp
OwogCi0gICAgaWYgKHJlY3QgPT0gbV9sYXN0U2VudFZpc2libGVSZWN0ICYmIHRyYWplY3RvcnlW
ZWN0b3IgPT0gbV9sYXN0U2VudFRyYWplY3RvcnlWZWN0b3IpCisgICAgaWYgKHZpc2libGVDb250
ZW50c1JlY3QgPT0gbV9sYXN0U2VudFZpc2libGVSZWN0ICYmIHRyYWplY3RvcnlWZWN0b3IgPT0g
bV9sYXN0U2VudFRyYWplY3RvcnlWZWN0b3IgJiYgcGFnZVNjYWxlRmFjdG9yID09IG1fbGFzdFNl
bnRQYWdlU2NhbGVGYWN0b3IpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fZHJhd2luZ0FyZWFQ
cm94eS0+cGFnZSgpLT5wcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OkNvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdDo6U2V0VmlzaWJsZUNvbnRlbnRzUmVjdChyZWN0LCB0cmFqZWN0b3J5VmVjdG9yKSwg
bV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnBhZ2VJRCgpKTsKLSAgICBtX2xhc3RTZW50Vmlz
aWJsZVJlY3QgPSByZWN0OworICAgIG1fZHJhd2luZ0FyZWFQcm94eS0+cGFnZSgpLT5zY2FsZVBh
Z2UocGFnZVNjYWxlRmFjdG9yLCByb3VuZGVkSW50UG9pbnQodmlzaWJsZUNvbnRlbnRzUmVjdC5s
b2NhdGlvbigpKSk7CisgICAgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnByb2Nlc3MoKS0+
c2VuZChNZXNzYWdlczo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpTZXRWaXNpYmxlQ29udGVu
dHNSZWN0KHZpc2libGVDb250ZW50c1JlY3QsIHRyYWplY3RvcnlWZWN0b3IpLCBtX2RyYXdpbmdB
cmVhUHJveHktPnBhZ2UoKS0+cGFnZUlEKCkpOworICAgIG1fbGFzdFNlbnRWaXNpYmxlUmVjdCA9
IHZpc2libGVDb250ZW50c1JlY3Q7CiAgICAgbV9sYXN0U2VudFRyYWplY3RvcnlWZWN0b3IgPSB0
cmFqZWN0b3J5VmVjdG9yOworICAgIG1fbGFzdFNlbnRQYWdlU2NhbGVGYWN0b3IgPSBwYWdlU2Nh
bGVGYWN0b3I7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OnJlbmRl
ck5leHRGcmFtZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHkuaAppbmRleCA1ZGRhNWM0MDMxMWJlNGVhOGVmNDVmMmMxOGU5YWU2YWUyNTZkMWZh
Li43ZGMwM2I5NGJhY2QwMjJlNTUxYTJhMjk5NDM1OWJiZmRhZDRhZmNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExh
eWVyVHJlZUhvc3RQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKQEAgLTc2LDcgKzc2
LDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgdm9pZCBzZXRCYWNrZ3JvdW5kQ29sb3IoY29uc3Qg
V2ViQ29yZTo6Q29sb3ImKTsKIAotICAgIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25z
dCBXZWJDb3JlOjpGbG9hdFJlY3QmLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0
b3J5VmVjdG9yKTsKKyAgICB2b2lkIHVwZGF0ZUNvbnRlbnRzVmlzaWJpbGl0eShjb25zdCBXZWJD
b3JlOjpGbG9hdFJlY3QmIHZpc2libGVDb250ZW50c1JlY3QsIGRvdWJsZSBwYWdlU2NhbGVGYWN0
b3IsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWN0b3IpOwogICAgIFdl
YkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSogY29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
KCkgY29uc3QgeyByZXR1cm4gbV9zY2VuZS5nZXQoKTsgfQogCiAgICAgLy8gQ29vcmRpbmF0ZWRH
cmFwaGljc1NjZW5lQ2xpZW50IE1ldGhvZHMuCkBAIC05OSw2ICs5OSw3IEBAIHByb3RlY3RlZDoK
ICAgICBSZWZQdHI8V2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lPiBtX3NjZW5lOwog
ICAgIFdlYkNvcmU6OkZsb2F0UmVjdCBtX2xhc3RTZW50VmlzaWJsZVJlY3Q7CiAgICAgV2ViQ29y
ZTo6RmxvYXRQb2ludCBtX2xhc3RTZW50VHJhamVjdG9yeVZlY3RvcjsKKyAgICBkb3VibGUgbV9s
YXN0U2VudFBhZ2VTY2FsZUZhY3RvcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2Vi
Vmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9X
ZWJWaWV3LmNwcAppbmRleCAyYmUxMWJjYWQyNzY2NDI1YWZiZjM5OTUwNmE0YTdjMmI5MDVlNTdj
Li4yNTE2YmVjNjA1NDM2OWZjYjg0MjJiMzhlZmEwYzIwZTliZDBlNDk1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3
LmNwcApAQCAtMjI1LDcgKzIyNSw3IEBAIHZvaWQgV2ViVmlldzo6dXBkYXRlVmlld3BvcnRTaXpl
KCkKICAgICBpZiAoRHJhd2luZ0FyZWFQcm94eSogZHJhd2luZ0FyZWEgPSBwYWdlKCktPmRyYXdp
bmdBcmVhKCkpIHsKICAgICAgICAgLy8gV2ViIFByb2Nlc3MgZXhwZWN0cyBzaXplcyBpbiBVSSB1
bml0cywgYW5kIG5vdCByYXcgZGV2aWNlIHVuaXRzLgogICAgICAgICBkcmF3aW5nQXJlYS0+c2V0
U2l6ZShyb3VuZGVkSW50U2l6ZShkaXBTaXplKCkpLCBJbnRTaXplKCksIEludFNpemUoKSk7Ci0g
ICAgICAgIGRyYXdpbmdBcmVhLT5zZXRWaXNpYmxlQ29udGVudHNSZWN0KEZsb2F0UmVjdChjb250
ZW50UG9zaXRpb24oKSwgZGlwU2l6ZSgpKSwgRmxvYXRQb2ludCgpKTsKKyAgICAgICAgZHJhd2lu
Z0FyZWEtPnVwZGF0ZVZpc2libGVDb250ZW50c1N0YXRlKEZsb2F0UmVjdChjb250ZW50UG9zaXRp
b24oKSwgZGlwU2l6ZSgpKSwgY29udGVudFNjYWxlRmFjdG9yKCksIEZsb2F0UG9pbnQoKSk7CiAg
ICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaApp
bmRleCBmZWUyMzE3MDdiMThkYWU4MmU1MWVhMTdhYzc4MDlhODZhNDdmNmE5Li4wNWNlNWFmNjI5
MTc3MmQ5MDNjNjBlZmQ0NTJjMDUyZTQ5YzM3NzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKQEAgLTc4LDcgKzc4LDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgV2ViQ29yZTo6SW50UmVjdCB2aWV3cG9ydFZpc2libGVSZWN0KCkgY29uc3QgeyByZXR1
cm4gY29udGVudHNSZWN0KCk7IH0KICAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFJlY3QgY29udGVu
dHNSZWN0KCkgY29uc3Q7CiAgICAgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkqIGNvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KCkgY29uc3QgeyByZXR1cm4gbV9jb29yZGluYXRlZExh
eWVyVHJlZUhvc3RQcm94eS5nZXQoKTsgfQotICAgIHZpcnR1YWwgdm9pZCBzZXRWaXNpYmxlQ29u
dGVudHNSZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgLyogdmlzaWJsZUNvbnRlbnRzUmVj
dCAqLywgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgLyogdHJhamVjdG9yeVZlY3RvciAqLykg
eyB9CisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUNvbnRlbnRzVmlzaWJpbGl0eShjb25zdCBXZWJD
b3JlOjpGbG9hdFJlY3QmIC8qIHZpc2libGVDb250ZW50c1JlY3QgKi8sICBkb3VibGUgLyogcGFn
ZVNjYWxlRmFjdG9yICovLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiAvKiB0cmFqZWN0b3J5
VmVjdG9yICovKSB7IH0KIAogICAgIFdlYlBhZ2VQcm94eSogcGFnZSgpIHsgcmV0dXJuIG1fd2Vi
UGFnZVByb3h5OyB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJh
d2luZ0FyZWFQcm94eUltcGwuY3BwCmluZGV4IDRkYzBjZWZmNWRlMDY0OGFkZGMwYmQyNTZiYjRm
ODJiYjEyYmFmMjUuLjExZGE2YzgyMGY2NDI5YjA0NzdlZTVjY2NkMTU3MDU0ZjJhMmUwYmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNw
cApAQCAtMzcyLDEwICszNzIsMTAgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZW50ZXJB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShjb25zdCBMYXllclRyZWVDb250ZXgKIH0KIAogI2lm
IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKLXZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OnNl
dFZpc2libGVDb250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB2aXNpYmxlQ29u
dGVudHNSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKQor
dm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6dXBkYXRlQ29udGVudHNWaXNpYmlsaXR5KGNvbnN0
IFdlYkNvcmU6OkZsb2F0UmVjdCYgdmlzaWJsZUNvbnRlbnRzUmVjdCwgZG91YmxlIHBhZ2VTY2Fs
ZUZhY3RvciwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3RvcikKIHsK
ICAgICBpZiAobV9jb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSkKLSAgICAgICAgbV9jb29y
ZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdCh2aXNpYmxl
Q29udGVudHNSZWN0LCB0cmFqZWN0b3J5VmVjdG9yKTsKKyAgICAgICAgbV9jb29yZGluYXRlZExh
eWVyVHJlZUhvc3RQcm94eS0+dXBkYXRlQ29udGVudHNWaXNpYmlsaXR5KHZpc2libGVDb250ZW50
c1JlY3QsIHBhZ2VTY2FsZUZhY3RvciwgdHJhamVjdG9yeVZlY3Rvcik7CiB9CiAjZW5kaWYKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBs
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaAppbmRl
eCBlNWQxNjYzOTdiMWRhZWU4OGM5NmQwOWJhZDE4NmQ5YmU3MjcyOTRhLi44ODRjNDdhZTBlYmMw
MTA5YzEwMDNkOGNlMmFmMzEyNzM3NTU3ODcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaApAQCAtODMsNyArODMsNyBAQCBwcml2YXRlOgog
ICAgIHZvaWQgZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCk7CiAgICAgdm9pZCB1cGRh
dGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShjb25zdCBMYXllclRyZWVDb250ZXh0Jik7CiAj
aWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQotICAgIHZpcnR1YWwgdm9pZCBzZXRWaXNpYmxl
Q29udGVudHNSZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdmlzaWJsZUNvbnRlbnRzUmVj
dCwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgdHJhamVjdG9yeSkgT1ZFUlJJREU7CisgICAg
dmlydHVhbCB2b2lkIHVwZGF0ZUNvbnRlbnRzVmlzaWJpbGl0eShjb25zdCBXZWJDb3JlOjpGbG9h
dFJlY3QmIHZpc2libGVDb250ZW50c1JlY3QsIGRvdWJsZSBwYWdlU2NhbGVGYWN0b3IsIGNvbnN0
IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHRyYWplY3RvcnkpIE9WRVJSSURFOwogI2VuZGlmCiAjZWxz
ZQogICAgIGJvb2wgaXNJbkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmll
d3BvcnRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3Bv
cnRDb250cm9sbGVyLmNwcAppbmRleCA2MjU0Y2Y3NWQ2OTFjYjhhMDkwYzFhNjhkNWNmYzc0Nzk3
N2ZlOGU5Li45NjU3NzhjNmI2MzEwYjc1MzY5MmI2OTdiODY5NTg1OWU3NTkwYTUzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuY3Bw
CkBAIC0xOTUsOCArMTk1LDYgQEAgdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyOjpkaWRSZW5k
ZXJGcmFtZShjb25zdCBJbnRTaXplJiBjb250ZW50c1NpemUsIGNvbnN0IEkKICAgICAgICAgRmxv
YXRQb2ludCBjdXJyZW50RGlzY3JldGVQb3MgPSByb3VuZGVkSW50UG9pbnQobV9jb250ZW50c1Bv
c2l0aW9uKTsKICAgICAgICAgRmxvYXRQb2ludCBwaXhlbEFsaWduZWRQb3MgPSBwaXhlbEFsaWdu
ZWRGbG9hdFBvaW50KGN1cnJlbnREaXNjcmV0ZVBvcyk7CiAgICAgICAgIG1fY29udGVudHNQb3Np
dGlvbiA9IGJvdW5kQ29udGVudHNQb3NpdGlvbihwaXhlbEFsaWduZWRQb3MpOwotCi0gICAgICAg
IG1fd2ViUGFnZVByb3h5LT5zY2FsZVBhZ2UobV9wYWdlU2NhbGVGYWN0b3IsIHJvdW5kZWRJbnRQ
b2ludChtX2NvbnRlbnRzUG9zaXRpb24pKTsKICAgICB9CiAKICAgICAvLyBUaGVyZSBtaWdodCBi
ZSByZW5kZXJlZCBmcmFtZXMgbm90IGNvdmVyaW5nIG91ciByZXF1ZXN0ZWQgcG9zaXRpb24geWV0
LCB3YWl0IGZvciBpdC4KQEAgLTI1MywxMiArMjUxLDEyIEBAIHZvaWQgUGFnZVZpZXdwb3J0Q29u
dHJvbGxlcjo6ZGlkQ2hhbmdlVmlld3BvcnRTaXplKGNvbnN0IEZsb2F0U2l6ZSYgbmV3U2l6ZSkK
ICAgICBtX3dlYlBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEoKS0+c2V0U2l6ZShyb3VuZGVkSW50U2l6
ZShuZXdTaXplKSwgSW50U2l6ZSgpLCBJbnRTaXplKCkpOwogfQogCi12b2lkIFBhZ2VWaWV3cG9y
dENvbnRyb2xsZXI6OmRpZENoYW5nZUNvbnRlbnRzVmlzaWJpbGl0eShjb25zdCBGbG9hdFBvaW50
JiBwb3NpdGlvbiwgZmxvYXQgc2NhbGUsIGNvbnN0IEZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWN0
b3IpCit2b2lkIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OmRpZENoYW5nZUNvbnRlbnRzVmlzaWJp
bGl0eShjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvbiwgZG91YmxlIHNjYWxlLCBjb25zdCBGbG9h
dFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKQogewogICAgIGlmICghbV9wZW5kaW5nUG9zaXRpb25D
aGFuZ2UpCiAgICAgICAgIG1fY29udGVudHNQb3NpdGlvbiA9IHBvc2l0aW9uOwogICAgIGlmICgh
bV9wZW5kaW5nU2NhbGVDaGFuZ2UpCi0gICAgICAgIGFwcGx5U2NhbGVBZnRlclJlbmRlcmluZ0Nv
bnRlbnRzKHNjYWxlKTsKKyAgICAgICAgbV9wYWdlU2NhbGVGYWN0b3IgPSBzY2FsZTsKIAogICAg
IHN5bmNWaXNpYmxlQ29udGVudHModHJhamVjdG9yeVZlY3Rvcik7CiB9CkBAIC0yNjksOSArMjY3
LDkgQEAgdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyOjpzeW5jVmlzaWJsZUNvbnRlbnRzKGNv
bnN0IEZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWMKICAgICBpZiAoIWRyYXdpbmdBcmVhIHx8IG1f
dmlld3BvcnRTaXplLmlzRW1wdHkoKSB8fCBtX2NvbnRlbnRzU2l6ZS5pc0VtcHR5KCkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIEZsb2F0UmVjdCB2aXNpYmxlQ29udGVudHNSZWN0KGJvdW5kQ29u
dGVudHNQb3NpdGlvbihtX2NvbnRlbnRzUG9zaXRpb24pLCB2aXNpYmxlQ29udGVudHNTaXplKCkp
OworICAgIEZsb2F0UmVjdCB2aXNpYmxlQ29udGVudHNSZWN0KHBpeGVsQWxpZ25lZEZsb2F0UG9p
bnQoYm91bmRDb250ZW50c1Bvc2l0aW9uKG1fY29udGVudHNQb3NpdGlvbikpLCB2aXNpYmxlQ29u
dGVudHNTaXplKCkpOwogICAgIHZpc2libGVDb250ZW50c1JlY3QuaW50ZXJzZWN0KEZsb2F0UmVj
dChGbG9hdFBvaW50Ojp6ZXJvKCksIG1fY29udGVudHNTaXplKSk7Ci0gICAgZHJhd2luZ0FyZWEt
PnNldFZpc2libGVDb250ZW50c1JlY3QodmlzaWJsZUNvbnRlbnRzUmVjdCwgdHJhamVjdG9yeVZl
Y3Rvcik7CisgICAgZHJhd2luZ0FyZWEtPnVwZGF0ZUNvbnRlbnRzVmlzaWJpbGl0eSh2aXNpYmxl
Q29udGVudHNSZWN0LCBtX3BhZ2VTY2FsZUZhY3RvciwgdHJhamVjdG9yeVZlY3Rvcik7CiAKICAg
ICBtX2NsaWVudC0+ZGlkQ2hhbmdlVmlzaWJsZUNvbnRlbnRzKCk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuaAppbmRleCBiODk3M2Fi
YmQ4OWUyZWE0ZjRmYmYzZWY5ZTM0ZTYxZjdlOGRjNGVkLi44YjAyMGEwMjc3YTlhYjY3OGU4ZWY5
NmIxYTEyYTQ1ZDk1NzQ3ODZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGFnZVZpZXdwb3J0Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
YWdlVmlld3BvcnRDb250cm9sbGVyLmgKQEAgLTcwLDcgKzcwLDcgQEAgcHVibGljOgogCiAgICAg
Ly8gTm90aWZpY2F0aW9ucyBmcm9tIHRoZSB2aWV3cG9ydC4KICAgICB2b2lkIGRpZENoYW5nZVZp
ZXdwb3J0U2l6ZShjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIG5ld1NpemUpOwotICAgIHZvaWQg
ZGlkQ2hhbmdlQ29udGVudHNWaXNpYmlsaXR5KGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmLCBm
bG9hdCBzY2FsZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3RvciA9
IFdlYkNvcmU6OkZsb2F0UG9pbnQ6Onplcm8oKSk7CisgICAgdm9pZCBkaWRDaGFuZ2VDb250ZW50
c1Zpc2liaWxpdHkoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYsIGRvdWJsZSBzY2FsZSwgY29u
c3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3RvciA9IFdlYkNvcmU6OkZsb2F0
UG9pbnQ6Onplcm8oKSk7CiAKICAgICAvLyBOb3RpZmljYXRpb25zIGZyb20gdGhlIFdlYlByb2Nl
c3MuCiAgICAgdm9pZCBkaWRDb21taXRMb2FkKCk7CkBAIC0xMDEsNyArMTAxLDcgQEAgcHJpdmF0
ZToKICAgICBXZWJDb3JlOjpGbG9hdFNpemUgbV9jb250ZW50c1NpemU7CiAgICAgV2ViQ29yZTo6
RmxvYXRTaXplIG1fdmlld3BvcnRTaXplOwogICAgIFdlYkNvcmU6OkludFNpemUgbV9jbGllbnRD
b250ZW50c1NpemU7Ci0gICAgZmxvYXQgbV9wYWdlU2NhbGVGYWN0b3I7CisgICAgZG91YmxlIG1f
cGFnZVNjYWxlRmFjdG9yOwogCiAgICAgYm9vbCBtX3BlbmRpbmdQb3NpdGlvbkNoYW5nZTsKICAg
ICBib29sIG1fcGVuZGluZ1NjYWxlQ2hhbmdlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvcXQvUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudFF0LmNwcApp
bmRleCBmNzI5NDY1Mjk3YTIyZDI1MDRhNmM5YmUyMDQzNjM5MDdhYjEwMDFkLi41ODY1YWE5YzBl
ZTIwMGYzMzhiMzRjYjc4NGZmZDVlMDhhYmVkNjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvcXQvUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudFF0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudFF0
LmNwcApAQCAtNTI0LDkgKzUyNCw5IEBAIHZvaWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVu
dFF0OjpzY2FsZUNvbnRlbnQocXJlYWwgaXRlbVNjYWxlLCBjb25zdCBRUG9pbnRGCiAgICAgbV92
aWV3cG9ydEl0ZW0tPnNldENvbnRlbnRQb3MobV92aWV3cG9ydEl0ZW0tPmNvbnRlbnRQb3MoKSAr
IChuZXdQaW5jaENlbnRlck9uVmlld3BvcnQgLSBvbGRQaW5jaENlbnRlck9uVmlld3BvcnQpKTsK
IH0KIAotZmxvYXQgUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudFF0Ojp2aWV3cG9ydFNjYWxl
Rm9yUmVjdChjb25zdCBRUmVjdEYmIHJlY3QpIGNvbnN0Citkb3VibGUgUGFnZVZpZXdwb3J0Q29u
dHJvbGxlckNsaWVudFF0Ojp2aWV3cG9ydFNjYWxlRm9yUmVjdChjb25zdCBRUmVjdEYmIHJlY3Qp
IGNvbnN0CiB7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGZsb2F0PihtX3ZpZXdwb3J0SXRlbS0+
d2lkdGgoKSkgLyBzdGF0aWNfY2FzdDxmbG9hdD4ocmVjdC53aWR0aCgpKTsKKyAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8ZG91YmxlPihtX3ZpZXdwb3J0SXRlbS0+d2lkdGgoKSkgLyBzdGF0aWNfY2Fz
dDxkb3VibGU+KHJlY3Qud2lkdGgoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1BhZ2VWaWV3cG9ydENvbnRyb2xs
ZXJDbGllbnRRdC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1BhZ2VWaWV3cG9ydENv
bnRyb2xsZXJDbGllbnRRdC5oCmluZGV4IGMwYjc1Y2VlMWRlMjA3YWI0ZGJjOGVhYzhiMzg0YjQ1
ZTA3MTFkMjcuLjhiOWNiODc4OTE0MjYxNWFlMzFlYjUxM2U4ZGU2YTE4NGQ2OGQ3YzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9QYWdlVmlld3BvcnRDb250cm9sbGVy
Q2xpZW50UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUGFnZVZpZXdwb3J0
Q29udHJvbGxlckNsaWVudFF0LmgKQEAgLTEzNiw3ICsxMzYsNyBAQCBwcml2YXRlOgogICAgIFFR
dWlja1dlYlZpZXcqIGNvbnN0IG1fdmlld3BvcnRJdGVtOwogICAgIFFRdWlja1dlYlBhZ2UqIGNv
bnN0IG1fcGFnZUl0ZW07CiAKLSAgICBmbG9hdCB2aWV3cG9ydFNjYWxlRm9yUmVjdChjb25zdCBR
UmVjdEYmKSBjb25zdDsKKyAgICBkb3VibGUgdmlld3BvcnRTY2FsZUZvclJlY3QoY29uc3QgUVJl
Y3RGJikgY29uc3Q7CiAgICAgUVJlY3RGIG5lYXJlc3RWYWxpZFZpc2libGVDb250ZW50c1JlY3Qo
KSBjb25zdDsKIAogICAgIHZvaWQgc2V0Q29udGVudHNSZWN0VG9OZWFyZXN0VmFsaWRCb3VuZHMo
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>200710</attachid>
            <date>2013-05-06 09:44:18 -0700</date>
            <delta_ts>2013-05-30 03:00:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113326-20130506184009.patch</filename>
            <type>text/plain</type>
            <size>17443</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5NjAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWFmZmQzY2U3YWYzZjEx
ZWZmMmI2YmY5NzkwZjlkNDIwMDg3MGRmMi4uYTQ1ZjBjYjI0YWEwM2FjNDY1YjA3YmM3Mzk1ZjQy
NDc2MDI0OTk3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEzLTA1LTA2ICBBbmRy
YXMgQmVjc2kgIDxhbmRyYXMuYmVjc2lAZGlnaWEuY29tPgorCisgICAgICAgIFtRdF1bV0syXSBS
ZWdyZXNzaW9uKDE0MTMxMCk6IFBhZ2UgZmxpY2tlcnMgZHVyaW5nIHNjYWxlIGFuaW1hdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzMzI2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFnZVZpZXdw
b3J0Q29udHJvbGxlcjo6ZGlkQ2hhbmdlQ29udGVudHNWaXNpYmlsaXR5IHNob3VsZCBzZXQgdGhl
IHNjYWxlCisgICAgICAgIGltbWVkaWF0ZWx5IGluc3RlYWQgb2Ygc2V0dGluZyBpdCBhZnRlciBy
ZW5kZXJpbmcgdGhlIGZpcnN0IGZyYW1lcy4KKyAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyB1c2Vk
IHRvIG5vdGlmeSB0aGUgd2ViIHByb2Nlc3MgYWJvdXQgdmlzaWJpbGl0eSBjaGFuZ2VzCisgICAg
ICAgIGluaXRpYXRlZCBieSB0aGUgdXNlciwgdGh1cyB0aGUgaW5mb3JtYXRpb24gY2FuIG5vdCBi
ZSBwZW5kaW5nLgorICAgICAgICBBbHNvIG1lcmdlIHRoZSBXZWJDb3JlIHNjYWxlIHVwZGF0ZSB0
byBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eQorICAgICAgICB0byByZXN0b3JlIHByZXZp
b3VzIGJlaGF2aW91ciwgc2luY2Ugc2NhbGUgY2hhbmdlcyBhbHdheXMgaW1wbHkgdmlzaWJsZQor
ICAgICAgICByZWN0IHVwZGF0ZXMuIFRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgc2luY2Ug
aWYgYSBzY2FsZSBhbmltYXRpb24KKyAgICAgICAgaXMgc3RhcnRlZCwgZHVlIHRvIGEgZG91Ymxl
LXRhcCBnZXN0dXJlIG9yIGFmdGVyIGFuIG91dC1vZi1ib3VuZHMgcGluY2gKKyAgICAgICAgZ2Vz
dHVyZSwgdGhlIHdlYiBwcm9jZXNzIGlzIHJlcXVlc3RlZCB0byByZW5kZXIgdGhlIGZpbmFsIHZp
c2libGUgcmVjdAorICAgICAgICBkdXJpbmcgdGhlIGFuaW1hdGlvbiwgdG8gbWFrZSB0aGUgdHJh
bnNpdGlvbiBhdCB0aGUgZW5kIG9mIHRoZSBhbmltYXRpb24KKyAgICAgICAgc21vb3RoZXIuIFRo
aXMgcGF0Y2ggbWFrZXMgc3VyZSB0aGF0IHRoZSBwYWdlIHJlbmRlcmVkIGluIHRoZSByZXF1ZXN0
ZWQKKyAgICAgICAgcmVzb2x1dGlvbiBkb2VzIG5vdCBmbGlja2VyIHRocm91Z2ggZHVyaW5nIHRo
ZSBhbmltYXRpb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcu
Y3BwOgorICAgICAgICAoUVF1aWNrV2ViVmlld0xlZ2FjeVByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0
U2l6ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9yYXcvcXJhd3dlYnZpZXcuY3BwOgor
ICAgICAgICAoUVJhd1dlYlZpZXc6OnNldFNpemUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OkNvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5KToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHk6OnVwZGF0ZUNvbnRlbnRzVmlzaWJpbGl0eSk6CisgICAgICAgICogVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaDoKKyAg
ICAgICAgKENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlldzo6dXBkYXRlVmlld3BvcnRTaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5Ojp1cGRhdGVDb250
ZW50c1Zpc2liaWxpdHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1w
bC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHlJbXBsOjp1cGRhdGVDb250
ZW50c1Zpc2liaWxpdHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1w
bC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6ZGlkUmVuZGVyRnJhbWUpOgor
ICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjpkaWRDaGFuZ2VDb250ZW50
c1Zpc2liaWxpdHkpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjpz
eW5jVmlzaWJsZUNvbnRlbnRzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29u
dHJvbGxlci5oOgorICAgICAgICAoUGFnZVZpZXdwb3J0Q29udHJvbGxlcik6CisgICAgICAgICog
VUlQcm9jZXNzL3F0L1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdDo6dmlld3BvcnRTY2FsZUZv
clJlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xp
ZW50UXQuaDoKKyAgICAgICAgKFBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdCk6CisKIDIw
MTMtMDUtMDYgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtXSzJdIE1ha2UgdGhlIFdlYkJhdHRlcnlNYW5hZ2VyUHJveHkgYSBzdXBwbGVtZW50IHRvIHRo
ZSBXZWJDb250ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3FxdWlja3dlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVp
Y2t3ZWJ2aWV3LmNwcAppbmRleCAxMjEzZmQ5YjIwMTg3Yjk5NTkzZjQ1MDFmYzJkOTE2ZDU3YTI2
NjFhLi4xMWQ3ZjNiMWVmOWQ0MTQ1ZTUzM2E3MjJkZDg0YzRmMmI0ZDFkMmFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKQEAgLTk4
NCw3ICs5ODQsNyBAQCB2b2lkIFFRdWlja1dlYlZpZXdMZWdhY3lQcml2YXRlOjp1cGRhdGVWaWV3
cG9ydFNpemUoKQogICAgICAgICBkcmF3aW5nQXJlYS0+c2V0U2l6ZSh2aWV3cG9ydFNpemUudG9T
aXplKCksIEludFNpemUoKSwgSW50U2l6ZSgpKTsKICAgICAgICAgLy8gVGhlIGJhY2tpbmcgc3Rv
cmUgc2NhbGUgZmFjdG9yIHNob3VsZCBhbHJlYWR5IGJlIHNldCB0byB0aGUgZGV2aWNlIHBpeGVs
IHJhdGlvCiAgICAgICAgIC8vIG9mIHRoZSB1bmRlcmx5aW5nIHdpbmRvdywgdGh1cyB3ZSBzZXQg
dGhlIGVmZmVjdGl2ZSBzY2FsZSB0byAxIGhlcmUuCi0gICAgICAgIGRyYXdpbmdBcmVhLT5zZXRW
aXNpYmxlQ29udGVudHNSZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50KCksIEZsb2F0U2l6ZSh2aWV3
cG9ydFNpemUpKSwgRmxvYXRQb2ludCgpKTsKKyAgICAgICAgZHJhd2luZ0FyZWEtPnVwZGF0ZUNv
bnRlbnRzVmlzaWJpbGl0eShGbG9hdFJlY3QoRmxvYXRQb2ludCgpLCBGbG9hdFNpemUodmlld3Bv
cnRTaXplKSksIC8qIHNjYWxlICovIDEsIEZsb2F0UG9pbnQoKSk7CiAgICAgfQogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Jhdy9xcmF3d2Vidmlldy5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Jhdy9xcmF3d2Vidmlldy5jcHAK
aW5kZXggYWMzNDA2OTEyOTcyMTFhZDE1YzE0ZjYxODEwYTA0ZmZmNGJlZjE3NC4uY2EwNzI4YWRk
YzBhZGNkYzM2YzQ5MmUyZjkwODM3YjgyN2IxMzZhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9yYXcvcXJhd3dlYnZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcmF3L3FyYXd3ZWJ2aWV3LmNwcApAQCAtMzQ0LDcgKzM0NCw3
IEBAIHZvaWQgUVJhd1dlYlZpZXc6OnNldFNpemUoY29uc3QgUVNpemUmIHNpemUpCiAgICAgZC0+
bV9zaXplID0gc2l6ZTsKIAogICAgIGRyYXdpbmdBcmVhLT5zZXRTaXplKGQtPm1fc2l6ZSwgV2Vi
Q29yZTo6SW50U2l6ZSgpLCBXZWJDb3JlOjpJbnRTaXplKCkpOwotICAgIGRyYXdpbmdBcmVhLT5z
ZXRWaXNpYmxlQ29udGVudHNSZWN0KFdlYkNvcmU6OkludFJlY3QoV2ViQ29yZTo6SW50UG9pbnQo
KSwgZC0+bV9zaXplKSwgV2ViQ29yZTo6RmxvYXRQb2ludCgpKTsKKyAgICBkcmF3aW5nQXJlYS0+
dXBkYXRlQ29udGVudHNWaXNpYmlsaXR5KFdlYkNvcmU6OkludFJlY3QoV2ViQ29yZTo6SW50UG9p
bnQoKSwgZC0+bV9zaXplKSwgLyogc2NhbGUgKi8gMSwgV2ViQ29yZTo6RmxvYXRQb2ludCgpKTsK
IH0KIAogV0tQYWdlUmVmIFFSYXdXZWJWaWV3OjpwYWdlUmVmKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdy
YXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcAppbmRleCAxODBlYWNiZWJj
OTk2NjViZTdjYzUxOTViNjdhYjc4NWFlMTZlOWRjLi41OGQwZGU4ZTFiZmRiNjJmZDFlMjg5NTBl
NTA5MWZjZDQzYzNjMzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29v
cmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0UHJveHkuY3BwCkBAIC00Miw2ICs0Miw3IEBAIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OkNvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5KERyYXdpbmdBcmVhUHJveHkqIGRyYXdpbmdBcmVhUHJveHkpCiAgICAgOiBt
X2RyYXdpbmdBcmVhUHJveHkoZHJhd2luZ0FyZWFQcm94eSkKICAgICAsIG1fc2NlbmUoYWRvcHRS
ZWYobmV3IENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSh0aGlzKSkpCisgICAgLCBtX2xhc3RTZW50
UGFnZVNjYWxlRmFjdG9yKDApCiB7CiAgICAgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnBy
b2Nlc3MoKS0+YWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpDb29yZGluYXRlZExheWVyVHJl
ZUhvc3RQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX2RyYXdpbmdBcmVhUHJveHktPnBh
Z2UoKS0+cGFnZUlEKCksIHRoaXMpOwogfQpAQCAtMTIyLDE3ICsxMjMsMTkgQEAgdm9pZCBDb29y
ZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6cmVtb3ZlSW1hZ2VCYWNraW5nKENvb3JkaW5hdGVk
SW1hZ2VCYWNraW5nSUQKICAgICBkaXNwYXRjaFVwZGF0ZShiaW5kKCZDb29yZGluYXRlZEdyYXBo
aWNzU2NlbmU6OnJlbW92ZUltYWdlQmFja2luZywgbV9zY2VuZS5nZXQoKSwgaW1hZ2VJRCkpOwog
fQogCi12b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5OjpzZXRWaXNpYmxlQ29udGVu
dHNSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgY29uc3QgRmxvYXRQb2ludCYgdHJhamVjdG9y
eVZlY3RvcikKK3ZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OnVwZGF0ZUNvbnRl
bnRzVmlzaWJpbGl0eShjb25zdCBGbG9hdFJlY3QmIHZpc2libGVDb250ZW50c1JlY3QsIGRvdWJs
ZSBwYWdlU2NhbGVGYWN0b3IsIGNvbnN0IEZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWN0b3IpCiB7
CiAgICAgLy8gSW5mb3JtIHRoZSByZW5kZXJlciB0byBhZGp1c3Qgdmlld3BvcnQtZml4ZWQgbGF5
ZXJzLgotICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6
c2V0U2Nyb2xsUG9zaXRpb24sIG1fc2NlbmUuZ2V0KCksIHJlY3QubG9jYXRpb24oKSkpOworICAg
IGRpc3BhdGNoVXBkYXRlKGJpbmQoJkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c2V0U2Nyb2xs
UG9zaXRpb24sIG1fc2NlbmUuZ2V0KCksIHZpc2libGVDb250ZW50c1JlY3QubG9jYXRpb24oKSkp
OwogCi0gICAgaWYgKHJlY3QgPT0gbV9sYXN0U2VudFZpc2libGVSZWN0ICYmIHRyYWplY3RvcnlW
ZWN0b3IgPT0gbV9sYXN0U2VudFRyYWplY3RvcnlWZWN0b3IpCisgICAgaWYgKHZpc2libGVDb250
ZW50c1JlY3QgPT0gbV9sYXN0U2VudFZpc2libGVSZWN0ICYmIHRyYWplY3RvcnlWZWN0b3IgPT0g
bV9sYXN0U2VudFRyYWplY3RvcnlWZWN0b3IgJiYgcGFnZVNjYWxlRmFjdG9yID09IG1fbGFzdFNl
bnRQYWdlU2NhbGVGYWN0b3IpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fZHJhd2luZ0FyZWFQ
cm94eS0+cGFnZSgpLT5wcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OkNvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdDo6U2V0VmlzaWJsZUNvbnRlbnRzUmVjdChyZWN0LCB0cmFqZWN0b3J5VmVjdG9yKSwg
bV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnBhZ2VJRCgpKTsKLSAgICBtX2xhc3RTZW50Vmlz
aWJsZVJlY3QgPSByZWN0OworICAgIG1fZHJhd2luZ0FyZWFQcm94eS0+cGFnZSgpLT5zY2FsZVBh
Z2UocGFnZVNjYWxlRmFjdG9yLCByb3VuZGVkSW50UG9pbnQodmlzaWJsZUNvbnRlbnRzUmVjdC5s
b2NhdGlvbigpKSk7CisgICAgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnByb2Nlc3MoKS0+
c2VuZChNZXNzYWdlczo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpTZXRWaXNpYmxlQ29udGVu
dHNSZWN0KHZpc2libGVDb250ZW50c1JlY3QsIHRyYWplY3RvcnlWZWN0b3IpLCBtX2RyYXdpbmdB
cmVhUHJveHktPnBhZ2UoKS0+cGFnZUlEKCkpOworICAgIG1fbGFzdFNlbnRWaXNpYmxlUmVjdCA9
IHZpc2libGVDb250ZW50c1JlY3Q7CiAgICAgbV9sYXN0U2VudFRyYWplY3RvcnlWZWN0b3IgPSB0
cmFqZWN0b3J5VmVjdG9yOworICAgIG1fbGFzdFNlbnRQYWdlU2NhbGVGYWN0b3IgPSBwYWdlU2Nh
bGVGYWN0b3I7CiB9CiAKIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OnJlbmRl
ck5leHRGcmFtZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHkuaAppbmRleCA1ZGRhNWM0MDMxMWJlNGVhOGVmNDVmMmMxOGU5YWU2YWUyNTZkMWZh
Li43ZGMwM2I5NGJhY2QwMjJlNTUxYTJhMjk5NDM1OWJiZmRhZDRhZmNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExh
eWVyVHJlZUhvc3RQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmgKQEAgLTc2LDcgKzc2
LDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgdm9pZCBzZXRCYWNrZ3JvdW5kQ29sb3IoY29uc3Qg
V2ViQ29yZTo6Q29sb3ImKTsKIAotICAgIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25z
dCBXZWJDb3JlOjpGbG9hdFJlY3QmLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0
b3J5VmVjdG9yKTsKKyAgICB2b2lkIHVwZGF0ZUNvbnRlbnRzVmlzaWJpbGl0eShjb25zdCBXZWJD
b3JlOjpGbG9hdFJlY3QmIHZpc2libGVDb250ZW50c1JlY3QsIGRvdWJsZSBwYWdlU2NhbGVGYWN0
b3IsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWN0b3IpOwogICAgIFdl
YkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSogY29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
KCkgY29uc3QgeyByZXR1cm4gbV9zY2VuZS5nZXQoKTsgfQogCiAgICAgLy8gQ29vcmRpbmF0ZWRH
cmFwaGljc1NjZW5lQ2xpZW50IE1ldGhvZHMuCkBAIC05OSw2ICs5OSw3IEBAIHByb3RlY3RlZDoK
ICAgICBSZWZQdHI8V2ViQ29yZTo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lPiBtX3NjZW5lOwog
ICAgIFdlYkNvcmU6OkZsb2F0UmVjdCBtX2xhc3RTZW50VmlzaWJsZVJlY3Q7CiAgICAgV2ViQ29y
ZTo6RmxvYXRQb2ludCBtX2xhc3RTZW50VHJhamVjdG9yeVZlY3RvcjsKKyAgICBkb3VibGUgbV9s
YXN0U2VudFBhZ2VTY2FsZUZhY3RvcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2Vi
Vmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9X
ZWJWaWV3LmNwcAppbmRleCAyYmUxMWJjYWQyNzY2NDI1YWZiZjM5OTUwNmE0YTdjMmI5MDVlNTdj
Li42MzI4ZGFjNGU5NGI2ZjY0NzYyNzEzYjI4ZjExOWQxMTY4MjIzMGMyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3
LmNwcApAQCAtMjI1LDcgKzIyNSw3IEBAIHZvaWQgV2ViVmlldzo6dXBkYXRlVmlld3BvcnRTaXpl
KCkKICAgICBpZiAoRHJhd2luZ0FyZWFQcm94eSogZHJhd2luZ0FyZWEgPSBwYWdlKCktPmRyYXdp
bmdBcmVhKCkpIHsKICAgICAgICAgLy8gV2ViIFByb2Nlc3MgZXhwZWN0cyBzaXplcyBpbiBVSSB1
bml0cywgYW5kIG5vdCByYXcgZGV2aWNlIHVuaXRzLgogICAgICAgICBkcmF3aW5nQXJlYS0+c2V0
U2l6ZShyb3VuZGVkSW50U2l6ZShkaXBTaXplKCkpLCBJbnRTaXplKCksIEludFNpemUoKSk7Ci0g
ICAgICAgIGRyYXdpbmdBcmVhLT5zZXRWaXNpYmxlQ29udGVudHNSZWN0KEZsb2F0UmVjdChjb250
ZW50UG9zaXRpb24oKSwgZGlwU2l6ZSgpKSwgRmxvYXRQb2ludCgpKTsKKyAgICAgICAgZHJhd2lu
Z0FyZWEtPnVwZGF0ZUNvbnRlbnRzVmlzaWJpbGl0eShGbG9hdFJlY3QoY29udGVudFBvc2l0aW9u
KCksIGRpcFNpemUoKSksIGNvbnRlbnRTY2FsZUZhY3RvcigpLCBGbG9hdFBvaW50KCkpOwogICAg
IH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVh
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKaW5k
ZXggZmVlMjMxNzA3YjE4ZGFlODJlNTFlYTE3YWM3ODA5YTg2YTQ3ZjZhOS4uMDVjZTVhZjYyOTE3
NzJkOTAzYzYwZWZkNDUyYzA1MmU0OWMzNzc2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvRHJhd2luZ0FyZWFQcm94eS5oCkBAIC03OCw3ICs3OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIFdlYkNvcmU6OkludFJlY3Qgdmlld3BvcnRWaXNpYmxlUmVjdCgpIGNvbnN0IHsgcmV0dXJu
IGNvbnRlbnRzUmVjdCgpOyB9CiAgICAgdmlydHVhbCBXZWJDb3JlOjpJbnRSZWN0IGNvbnRlbnRz
UmVjdCgpIGNvbnN0OwogICAgIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KiBjb29yZGlu
YXRlZExheWVyVHJlZUhvc3RQcm94eSgpIGNvbnN0IHsgcmV0dXJuIG1fY29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHkuZ2V0KCk7IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNvbnRl
bnRzUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIC8qIHZpc2libGVDb250ZW50c1JlY3Qg
Ki8sIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIC8qIHRyYWplY3RvcnlWZWN0b3IgKi8pIHsg
fQorICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVDb250ZW50c1Zpc2liaWxpdHkoY29uc3QgV2ViQ29y
ZTo6RmxvYXRSZWN0JiAvKiB2aXNpYmxlQ29udGVudHNSZWN0ICovLCAgZG91YmxlIC8qIHBhZ2VT
Y2FsZUZhY3RvciAqLywgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgLyogdHJhamVjdG9yeVZl
Y3RvciAqLykgeyB9CiAKICAgICBXZWJQYWdlUHJveHkqIHBhZ2UoKSB7IHJldHVybiBtX3dlYlBh
Z2VQcm94eTsgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
RHJhd2luZ0FyZWFQcm94eUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdp
bmdBcmVhUHJveHlJbXBsLmNwcAppbmRleCA0ZGMwY2VmZjVkZTA2NDhhZGRjMGJkMjU2YmI0Zjgy
YmIxMmJhZjI1Li4xMWRhNmM4MjBmNjQyOWIwNDc3ZWU1Y2NjZDE1NzA1NGYyYTJlMGJlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAK
QEAgLTM3MiwxMCArMzcyLDEwIEBAIHZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OmVudGVyQWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoY29uc3QgTGF5ZXJUcmVlQ29udGV4CiB9CiAKICNpZiBV
U0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCi12b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpzZXRW
aXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdmlzaWJsZUNvbnRl
bnRzUmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3RvcikKK3Zv
aWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OnVwZGF0ZUNvbnRlbnRzVmlzaWJpbGl0eShjb25zdCBX
ZWJDb3JlOjpGbG9hdFJlY3QmIHZpc2libGVDb250ZW50c1JlY3QsIGRvdWJsZSBwYWdlU2NhbGVG
YWN0b3IsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWN0b3IpCiB7CiAg
ICAgaWYgKG1fY29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkpCi0gICAgICAgIG1fY29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0UHJveHktPnNldFZpc2libGVDb250ZW50c1JlY3QodmlzaWJsZUNv
bnRlbnRzUmVjdCwgdHJhamVjdG9yeVZlY3Rvcik7CisgICAgICAgIG1fY29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0UHJveHktPnVwZGF0ZUNvbnRlbnRzVmlzaWJpbGl0eSh2aXNpYmxlQ29udGVudHNS
ZWN0LCBwYWdlU2NhbGVGYWN0b3IsIHRyYWplY3RvcnlWZWN0b3IpOwogfQogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKaW5kZXgg
ZTVkMTY2Mzk3YjFkYWVlODhjOTZkMDliYWQxODZkOWJlNzI3Mjk0YS4uODg0YzQ3YWUwZWJjMDEw
OWMxMDAzZDhjZTJhZjMxMjczNzU1Nzg3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKQEAgLTgzLDcgKzgzLDcgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIGV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSgpOwogICAgIHZvaWQgdXBkYXRl
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYpOwogI2lm
IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNv
bnRlbnRzUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHZpc2libGVDb250ZW50c1JlY3Qs
IGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHRyYWplY3RvcnkpIE9WRVJSSURFOworICAgIHZp
cnR1YWwgdm9pZCB1cGRhdGVDb250ZW50c1Zpc2liaWxpdHkoY29uc3QgV2ViQ29yZTo6RmxvYXRS
ZWN0JiB2aXNpYmxlQ29udGVudHNSZWN0LCBkb3VibGUgcGFnZVNjYWxlRmFjdG9yLCBjb25zdCBX
ZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0b3J5KSBPVkVSUklERTsKICNlbmRpZgogI2Vsc2UK
ICAgICBib29sIGlzSW5BY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdw
b3J0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0
Q29udHJvbGxlci5jcHAKaW5kZXggNjI1NGNmNzVkNjkxY2I4YTA5MGMxYTY4ZDVjZmM3NDc5Nzdm
ZThlOS4uOTY1Nzc4YzZiNjMxMGI3NTM2OTJiNjk3Yjg2OTU4NTllNzU5MGE1MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcApA
QCAtMTk1LDggKzE5NSw2IEBAIHZvaWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6ZGlkUmVuZGVy
RnJhbWUoY29uc3QgSW50U2l6ZSYgY29udGVudHNTaXplLCBjb25zdCBJCiAgICAgICAgIEZsb2F0
UG9pbnQgY3VycmVudERpc2NyZXRlUG9zID0gcm91bmRlZEludFBvaW50KG1fY29udGVudHNQb3Np
dGlvbik7CiAgICAgICAgIEZsb2F0UG9pbnQgcGl4ZWxBbGlnbmVkUG9zID0gcGl4ZWxBbGlnbmVk
RmxvYXRQb2ludChjdXJyZW50RGlzY3JldGVQb3MpOwogICAgICAgICBtX2NvbnRlbnRzUG9zaXRp
b24gPSBib3VuZENvbnRlbnRzUG9zaXRpb24ocGl4ZWxBbGlnbmVkUG9zKTsKLQotICAgICAgICBt
X3dlYlBhZ2VQcm94eS0+c2NhbGVQYWdlKG1fcGFnZVNjYWxlRmFjdG9yLCByb3VuZGVkSW50UG9p
bnQobV9jb250ZW50c1Bvc2l0aW9uKSk7CiAgICAgfQogCiAgICAgLy8gVGhlcmUgbWlnaHQgYmUg
cmVuZGVyZWQgZnJhbWVzIG5vdCBjb3ZlcmluZyBvdXIgcmVxdWVzdGVkIHBvc2l0aW9uIHlldCwg
d2FpdCBmb3IgaXQuCkBAIC0yNTMsMTIgKzI1MSwxMiBAQCB2b2lkIFBhZ2VWaWV3cG9ydENvbnRy
b2xsZXI6OmRpZENoYW5nZVZpZXdwb3J0U2l6ZShjb25zdCBGbG9hdFNpemUmIG5ld1NpemUpCiAg
ICAgbV93ZWJQYWdlUHJveHktPmRyYXdpbmdBcmVhKCktPnNldFNpemUocm91bmRlZEludFNpemUo
bmV3U2l6ZSksIEludFNpemUoKSwgSW50U2l6ZSgpKTsKIH0KIAotdm9pZCBQYWdlVmlld3BvcnRD
b250cm9sbGVyOjpkaWRDaGFuZ2VDb250ZW50c1Zpc2liaWxpdHkoY29uc3QgRmxvYXRQb2ludCYg
cG9zaXRpb24sIGZsb2F0IHNjYWxlLCBjb25zdCBGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9y
KQordm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyOjpkaWRDaGFuZ2VDb250ZW50c1Zpc2liaWxp
dHkoY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24sIGRvdWJsZSBzY2FsZSwgY29uc3QgRmxvYXRQ
b2ludCYgdHJhamVjdG9yeVZlY3RvcikKIHsKICAgICBpZiAoIW1fcGVuZGluZ1Bvc2l0aW9uQ2hh
bmdlKQogICAgICAgICBtX2NvbnRlbnRzUG9zaXRpb24gPSBwb3NpdGlvbjsKICAgICBpZiAoIW1f
cGVuZGluZ1NjYWxlQ2hhbmdlKQotICAgICAgICBhcHBseVNjYWxlQWZ0ZXJSZW5kZXJpbmdDb250
ZW50cyhzY2FsZSk7CisgICAgICAgIG1fcGFnZVNjYWxlRmFjdG9yID0gc2NhbGU7CiAKICAgICBz
eW5jVmlzaWJsZUNvbnRlbnRzKHRyYWplY3RvcnlWZWN0b3IpOwogfQpAQCAtMjY5LDkgKzI2Nyw5
IEBAIHZvaWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6c3luY1Zpc2libGVDb250ZW50cyhjb25z
dCBGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjCiAgICAgaWYgKCFkcmF3aW5nQXJlYSB8fCBtX3Zp
ZXdwb3J0U2l6ZS5pc0VtcHR5KCkgfHwgbV9jb250ZW50c1NpemUuaXNFbXB0eSgpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBGbG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRzUmVjdChib3VuZENvbnRl
bnRzUG9zaXRpb24obV9jb250ZW50c1Bvc2l0aW9uKSwgdmlzaWJsZUNvbnRlbnRzU2l6ZSgpKTsK
KyAgICBGbG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRzUmVjdChwaXhlbEFsaWduZWRGbG9hdFBvaW50
KGJvdW5kQ29udGVudHNQb3NpdGlvbihtX2NvbnRlbnRzUG9zaXRpb24pKSwgdmlzaWJsZUNvbnRl
bnRzU2l6ZSgpKTsKICAgICB2aXNpYmxlQ29udGVudHNSZWN0LmludGVyc2VjdChGbG9hdFJlY3Qo
RmxvYXRQb2ludDo6emVybygpLCBtX2NvbnRlbnRzU2l6ZSkpOwotICAgIGRyYXdpbmdBcmVhLT5z
ZXRWaXNpYmxlQ29udGVudHNSZWN0KHZpc2libGVDb250ZW50c1JlY3QsIHRyYWplY3RvcnlWZWN0
b3IpOworICAgIGRyYXdpbmdBcmVhLT51cGRhdGVDb250ZW50c1Zpc2liaWxpdHkodmlzaWJsZUNv
bnRlbnRzUmVjdCwgbV9wYWdlU2NhbGVGYWN0b3IsIHRyYWplY3RvcnlWZWN0b3IpOwogCiAgICAg
bV9jbGllbnQtPmRpZENoYW5nZVZpc2libGVDb250ZW50cygpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmgKaW5kZXggYjg5NzNhYmJk
ODllMmVhNGY0ZmJmM2VmOWUzNGU2MWY3ZThkYzRlZC4uOGIwMjBhMDI3N2E5YWI2NzhlOGVmOTZi
MWExMmE0NWQ5NTc0Nzg2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bh
Z2VWaWV3cG9ydENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFn
ZVZpZXdwb3J0Q29udHJvbGxlci5oCkBAIC03MCw3ICs3MCw3IEBAIHB1YmxpYzoKIAogICAgIC8v
IE5vdGlmaWNhdGlvbnMgZnJvbSB0aGUgdmlld3BvcnQuCiAgICAgdm9pZCBkaWRDaGFuZ2VWaWV3
cG9ydFNpemUoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBuZXdTaXplKTsKLSAgICB2b2lkIGRp
ZENoYW5nZUNvbnRlbnRzVmlzaWJpbGl0eShjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiwgZmxv
YXQgc2NhbGUsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWN0b3IgPSBX
ZWJDb3JlOjpGbG9hdFBvaW50Ojp6ZXJvKCkpOworICAgIHZvaWQgZGlkQ2hhbmdlQ29udGVudHNW
aXNpYmlsaXR5KGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmLCBkb3VibGUgc2NhbGUsIGNvbnN0
IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWN0b3IgPSBXZWJDb3JlOjpGbG9hdFBv
aW50Ojp6ZXJvKCkpOwogCiAgICAgLy8gTm90aWZpY2F0aW9ucyBmcm9tIHRoZSBXZWJQcm9jZXNz
LgogICAgIHZvaWQgZGlkQ29tbWl0TG9hZCgpOwpAQCAtMTAxLDcgKzEwMSw3IEBAIHByaXZhdGU6
CiAgICAgV2ViQ29yZTo6RmxvYXRTaXplIG1fY29udGVudHNTaXplOwogICAgIFdlYkNvcmU6OkZs
b2F0U2l6ZSBtX3ZpZXdwb3J0U2l6ZTsKICAgICBXZWJDb3JlOjpJbnRTaXplIG1fY2xpZW50Q29u
dGVudHNTaXplOwotICAgIGZsb2F0IG1fcGFnZVNjYWxlRmFjdG9yOworICAgIGRvdWJsZSBtX3Bh
Z2VTY2FsZUZhY3RvcjsKIAogICAgIGJvb2wgbV9wZW5kaW5nUG9zaXRpb25DaGFuZ2U7CiAgICAg
Ym9vbCBtX3BlbmRpbmdTY2FsZUNoYW5nZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9xdC9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50UXQuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3F0L1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdC5jcHAKaW5k
ZXggZjcyOTQ2NTI5N2EyMmQyNTA0YTZjOWJlMjA0MzYzOTA3YWIxMDAxZC4uNTg2NWFhOWMwZWUy
MDBmMzM4YjM0Y2I3ODRmZmQ1ZTA4YWJlZDYyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdC5j
cHAKQEAgLTUyNCw5ICs1MjQsOSBAQCB2b2lkIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRR
dDo6c2NhbGVDb250ZW50KHFyZWFsIGl0ZW1TY2FsZSwgY29uc3QgUVBvaW50RgogICAgIG1fdmll
d3BvcnRJdGVtLT5zZXRDb250ZW50UG9zKG1fdmlld3BvcnRJdGVtLT5jb250ZW50UG9zKCkgKyAo
bmV3UGluY2hDZW50ZXJPblZpZXdwb3J0IC0gb2xkUGluY2hDZW50ZXJPblZpZXdwb3J0KSk7CiB9
CiAKLWZsb2F0IFBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdDo6dmlld3BvcnRTY2FsZUZv
clJlY3QoY29uc3QgUVJlY3RGJiByZWN0KSBjb25zdAorZG91YmxlIFBhZ2VWaWV3cG9ydENvbnRy
b2xsZXJDbGllbnRRdDo6dmlld3BvcnRTY2FsZUZvclJlY3QoY29uc3QgUVJlY3RGJiByZWN0KSBj
b25zdAogewotICAgIHJldHVybiBzdGF0aWNfY2FzdDxmbG9hdD4obV92aWV3cG9ydEl0ZW0tPndp
ZHRoKCkpIC8gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHJlY3Qud2lkdGgoKSk7CisgICAgcmV0dXJuIHN0
YXRpY19jYXN0PGRvdWJsZT4obV92aWV3cG9ydEl0ZW0tPndpZHRoKCkpIC8gc3RhdGljX2Nhc3Q8
ZG91YmxlPihyZWN0LndpZHRoKCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9QYWdlVmlld3BvcnRDb250cm9sbGVy
Q2xpZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9QYWdlVmlld3BvcnRDb250
cm9sbGVyQ2xpZW50UXQuaAppbmRleCBjMGI3NWNlZTFkZTIwN2FiNGRiYzhlYWM4YjM4NGI0NWUw
NzExZDI3Li44YjljYjg3ODkxNDI2MTVhZTMxZWI1MTNlOGRlNmExODRkNjhkN2M5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUGFnZVZpZXdwb3J0Q29udHJvbGxlckNs
aWVudFF0LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1BhZ2VWaWV3cG9ydENv
bnRyb2xsZXJDbGllbnRRdC5oCkBAIC0xMzYsNyArMTM2LDcgQEAgcHJpdmF0ZToKICAgICBRUXVp
Y2tXZWJWaWV3KiBjb25zdCBtX3ZpZXdwb3J0SXRlbTsKICAgICBRUXVpY2tXZWJQYWdlKiBjb25z
dCBtX3BhZ2VJdGVtOwogCi0gICAgZmxvYXQgdmlld3BvcnRTY2FsZUZvclJlY3QoY29uc3QgUVJl
Y3RGJikgY29uc3Q7CisgICAgZG91YmxlIHZpZXdwb3J0U2NhbGVGb3JSZWN0KGNvbnN0IFFSZWN0
RiYpIGNvbnN0OwogICAgIFFSZWN0RiBuZWFyZXN0VmFsaWRWaXNpYmxlQ29udGVudHNSZWN0KCkg
Y29uc3Q7CiAKICAgICB2b2lkIHNldENvbnRlbnRzUmVjdFRvTmVhcmVzdFZhbGlkQm91bmRzKCk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203331</attachid>
            <date>2013-05-30 03:00:27 -0700</date>
            <delta_ts>2013-05-30 03:12:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113326-20130530115554.patch</filename>
            <type>text/plain</type>
            <size>17356</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwOTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjRlOGEyNDVhOGNlNWM3
NjkyYjI3OGQ4MTcyMjQ3MjNjZmFhZTMzYy4uZDE3M2YzOGI1NmM5ZDU4MzcyMTRkZmU3MDI5ZmYz
MGM2NDM4ZTEzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEzLTA1LTMwICBBbmRy
YXMgQmVjc2kgIDxhbmRyYXMuYmVjc2lAZGlnaWEuY29tPgorCisgICAgICAgIFtRdF1bV0syXSBS
ZWdyZXNzaW9uKDE0MTMxMCk6IFBhZ2UgZmxpY2tlcnMgZHVyaW5nIHNjYWxlIGFuaW1hdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzMzI2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFnZVZpZXdw
b3J0Q29udHJvbGxlcjo6ZGlkQ2hhbmdlQ29udGVudHNWaXNpYmlsaXR5IHNob3VsZCBzZXQgdGhl
IHNjYWxlCisgICAgICAgIGltbWVkaWF0ZWx5IGluc3RlYWQgb2Ygc2V0dGluZyBpdCBhZnRlciBy
ZW5kZXJpbmcgdGhlIGZpcnN0IGZyYW1lcy4KKyAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyB1c2Vk
IHRvIG5vdGlmeSB0aGUgd2ViIHByb2Nlc3MgYWJvdXQgdmlzaWJpbGl0eSBjaGFuZ2VzCisgICAg
ICAgIGluaXRpYXRlZCBieSB0aGUgdXNlciwgdGh1cyB0aGUgaW5mb3JtYXRpb24gY2FuIG5vdCBi
ZSBwZW5kaW5nLgorICAgICAgICBBbHNvIG1lcmdlIHRoZSBXZWJDb3JlIHNjYWxlIHVwZGF0ZSB0
byBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eQorICAgICAgICB0byByZXN0b3JlIHByZXZp
b3VzIGJlaGF2aW91ciwgc2luY2Ugc2NhbGUgY2hhbmdlcyBhbHdheXMgaW1wbHkgdmlzaWJsZQor
ICAgICAgICByZWN0IHVwZGF0ZXMuIFRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgc2luY2Ug
aWYgYSBzY2FsZSBhbmltYXRpb24KKyAgICAgICAgaXMgc3RhcnRlZCwgZHVlIHRvIGEgZG91Ymxl
LXRhcCBnZXN0dXJlIG9yIGFmdGVyIGFuIG91dC1vZi1ib3VuZHMgcGluY2gKKyAgICAgICAgZ2Vz
dHVyZSwgdGhlIHdlYiBwcm9jZXNzIGlzIHJlcXVlc3RlZCB0byByZW5kZXIgdGhlIGZpbmFsIHZp
c2libGUgcmVjdAorICAgICAgICBkdXJpbmcgdGhlIGFuaW1hdGlvbiwgdG8gbWFrZSB0aGUgdHJh
bnNpdGlvbiBhdCB0aGUgZW5kIG9mIHRoZSBhbmltYXRpb24KKyAgICAgICAgc21vb3RoZXIuIFRo
aXMgcGF0Y2ggbWFrZXMgc3VyZSB0aGF0IHRoZSBwYWdlIHJlbmRlcmVkIGluIHRoZSByZXF1ZXN0
ZWQKKyAgICAgICAgcmVzb2x1dGlvbiBkb2VzIG5vdCBmbGlja2VyIHRocm91Z2ggZHVyaW5nIHRo
ZSBhbmltYXRpb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcu
Y3BwOgorICAgICAgICAoUVF1aWNrV2ViVmlld0xlZ2FjeVByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0
U2l6ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9yYXcvcXJhd3dlYnZpZXcuY3BwOgor
ICAgICAgICAoUVJhd1dlYlZpZXc6OnNldFNpemUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OkNvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5KToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHk6OnVwZGF0ZUNvbnRlbnRzVmlzaWJpbGl0eSk6CisgICAgICAgICogVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaDoKKyAg
ICAgICAgKENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlldzo6dXBkYXRlVmlld3BvcnRTaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5Ojp1cGRhdGVDb250
ZW50c1Zpc2liaWxpdHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1w
bC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHlJbXBsOjp1cGRhdGVDb250
ZW50c1Zpc2liaWxpdHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1w
bC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6ZGlkUmVuZGVyRnJhbWUpOgor
ICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjpkaWRDaGFuZ2VDb250ZW50
c1Zpc2liaWxpdHkpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjpz
eW5jVmlzaWJsZUNvbnRlbnRzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29u
dHJvbGxlci5oOgorICAgICAgICAoUGFnZVZpZXdwb3J0Q29udHJvbGxlcik6CisgICAgICAgICog
VUlQcm9jZXNzL3F0L1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdDo6dmlld3BvcnRTY2FsZUZv
clJlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xp
ZW50UXQuaDoKKyAgICAgICAgKFBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdCk6CisKIDIw
MTMtMDUtMjkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgRXhwb3NlIGluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0IHZpYSBXSzIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmll
dy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3Bw
CmluZGV4IDEyMTNmZDliMjAxODdiOTk1OTNmNDUwMWZjMmQ5MTZkNTdhMjY2MWEuLjExZDdmM2Ix
ZWY5ZDQxNDVlNTMzYTcyMmRkODRjNGYyYjRkMWQyYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcApAQCAtOTg0LDcgKzk4NCw3IEBA
IHZvaWQgUVF1aWNrV2ViVmlld0xlZ2FjeVByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0U2l6ZSgpCiAg
ICAgICAgIGRyYXdpbmdBcmVhLT5zZXRTaXplKHZpZXdwb3J0U2l6ZS50b1NpemUoKSwgSW50U2l6
ZSgpLCBJbnRTaXplKCkpOwogICAgICAgICAvLyBUaGUgYmFja2luZyBzdG9yZSBzY2FsZSBmYWN0
b3Igc2hvdWxkIGFscmVhZHkgYmUgc2V0IHRvIHRoZSBkZXZpY2UgcGl4ZWwgcmF0aW8KICAgICAg
ICAgLy8gb2YgdGhlIHVuZGVybHlpbmcgd2luZG93LCB0aHVzIHdlIHNldCB0aGUgZWZmZWN0aXZl
IHNjYWxlIHRvIDEgaGVyZS4KLSAgICAgICAgZHJhd2luZ0FyZWEtPnNldFZpc2libGVDb250ZW50
c1JlY3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgRmxvYXRTaXplKHZpZXdwb3J0U2l6ZSkpLCBG
bG9hdFBvaW50KCkpOworICAgICAgICBkcmF3aW5nQXJlYS0+dXBkYXRlQ29udGVudHNWaXNpYmls
aXR5KEZsb2F0UmVjdChGbG9hdFBvaW50KCksIEZsb2F0U2l6ZSh2aWV3cG9ydFNpemUpKSwgLyog
c2NhbGUgKi8gMSwgRmxvYXRQb2ludCgpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcmF3L3FyYXd3ZWJ2aWV3LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcmF3L3FyYXd3ZWJ2aWV3LmNwcAppbmRleCBhYzM0MDY5
MTI5NzIxMWFkMTVjMTRmNjE4MTBhMDRmZmY0YmVmMTc0Li5jYTA3MjhhZGRjMGFkY2RjMzZjNDky
ZTJmOTA4MzdiODI3YjEzNmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3Jhdy9xcmF3d2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9yYXcvcXJhd3dlYnZpZXcuY3BwCkBAIC0zNDQsNyArMzQ0LDcgQEAgdm9pZCBRUmF3
V2ViVmlldzo6c2V0U2l6ZShjb25zdCBRU2l6ZSYgc2l6ZSkKICAgICBkLT5tX3NpemUgPSBzaXpl
OwogCiAgICAgZHJhd2luZ0FyZWEtPnNldFNpemUoZC0+bV9zaXplLCBXZWJDb3JlOjpJbnRTaXpl
KCksIFdlYkNvcmU6OkludFNpemUoKSk7Ci0gICAgZHJhd2luZ0FyZWEtPnNldFZpc2libGVDb250
ZW50c1JlY3QoV2ViQ29yZTo6SW50UmVjdChXZWJDb3JlOjpJbnRQb2ludCgpLCBkLT5tX3NpemUp
LCBXZWJDb3JlOjpGbG9hdFBvaW50KCkpOworICAgIGRyYXdpbmdBcmVhLT51cGRhdGVDb250ZW50
c1Zpc2liaWxpdHkoV2ViQ29yZTo6SW50UmVjdChXZWJDb3JlOjpJbnRQb2ludCgpLCBkLT5tX3Np
emUpLCAvKiBzY2FsZSAqLyAxLCBXZWJDb3JlOjpGbG9hdFBvaW50KCkpOwogfQogCiBXS1BhZ2VS
ZWYgUVJhd1dlYlZpZXc6OnBhZ2VSZWYoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHku
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwCmluZGV4IGViZTk0ODQyNGRiYTI5OWI0YThiNzli
YzNlODk0OGE5OTc3N2U0MGUuLjZlOGRlYmUyMjE2NmQxOWFkYTI5Zjg3NjNhNWZiYTgxMWJmNmNh
NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eS5jcHAKQEAgLTQyLDYgKzQyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBDb29y
ZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHko
RHJhd2luZ0FyZWFQcm94eSogZHJhd2luZ0FyZWFQcm94eSkKICAgICA6IG1fZHJhd2luZ0FyZWFQ
cm94eShkcmF3aW5nQXJlYVByb3h5KQogICAgICwgbV9zY2VuZShhZG9wdFJlZihuZXcgQ29vcmRp
bmF0ZWRHcmFwaGljc1NjZW5lKHRoaXMpKSkKKyAgICAsIG1fbGFzdFNlbnRQYWdlU2NhbGVGYWN0
b3IoMCkKIHsKICAgICBtX2RyYXdpbmdBcmVhUHJveHktPnBhZ2UoKS0+cHJvY2VzcygpLT5hZGRN
ZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Ojpt
ZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fZHJhd2luZ0FyZWFQcm94eS0+cGFnZSgpLT5wYWdlSUQo
KSwgdGhpcyk7CiB9CkBAIC0xMjIsMTcgKzEyMywxOSBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5OjpyZW1vdmVJbWFnZUJhY2tpbmcoQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJ
RAogICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6cmVt
b3ZlSW1hZ2VCYWNraW5nLCBtX3NjZW5lLmdldCgpLCBpbWFnZUlEKSk7CiB9CiAKLXZvaWQgQ29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OnNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3Qg
RmxvYXRSZWN0JiByZWN0LCBjb25zdCBGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKQordm9p
ZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6dXBkYXRlQ29udGVudHNWaXNpYmlsaXR5
KGNvbnN0IEZsb2F0UmVjdCYgdmlzaWJsZUNvbnRlbnRzUmVjdCwgZG91YmxlIHBhZ2VTY2FsZUZh
Y3RvciwgY29uc3QgRmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3RvcikKIHsKICAgICAvLyBJbmZv
cm0gdGhlIHJlbmRlcmVyIHRvIGFkanVzdCB2aWV3cG9ydC1maXhlZCBsYXllcnMuCi0gICAgZGlz
cGF0Y2hVcGRhdGUoYmluZCgmQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpzZXRTY3JvbGxQb3Np
dGlvbiwgbV9zY2VuZS5nZXQoKSwgcmVjdC5sb2NhdGlvbigpKSk7CisgICAgZGlzcGF0Y2hVcGRh
dGUoYmluZCgmQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpzZXRTY3JvbGxQb3NpdGlvbiwgbV9z
Y2VuZS5nZXQoKSwgdmlzaWJsZUNvbnRlbnRzUmVjdC5sb2NhdGlvbigpKSk7CiAKLSAgICBpZiAo
cmVjdCA9PSBtX2xhc3RTZW50VmlzaWJsZVJlY3QgJiYgdHJhamVjdG9yeVZlY3RvciA9PSBtX2xh
c3RTZW50VHJhamVjdG9yeVZlY3RvcikKKyAgICBpZiAodmlzaWJsZUNvbnRlbnRzUmVjdCA9PSBt
X2xhc3RTZW50VmlzaWJsZVJlY3QgJiYgdHJhamVjdG9yeVZlY3RvciA9PSBtX2xhc3RTZW50VHJh
amVjdG9yeVZlY3RvciAmJiBwYWdlU2NhbGVGYWN0b3IgPT0gbV9sYXN0U2VudFBhZ2VTY2FsZUZh
Y3RvcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCkt
PnByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpTZXRW
aXNpYmxlQ29udGVudHNSZWN0KHJlY3QsIHRyYWplY3RvcnlWZWN0b3IpLCBtX2RyYXdpbmdBcmVh
UHJveHktPnBhZ2UoKS0+cGFnZUlEKCkpOwotICAgIG1fbGFzdFNlbnRWaXNpYmxlUmVjdCA9IHJl
Y3Q7CisgICAgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnNjYWxlUGFnZShwYWdlU2NhbGVG
YWN0b3IsIHJvdW5kZWRJbnRQb2ludCh2aXNpYmxlQ29udGVudHNSZWN0LmxvY2F0aW9uKCkpKTsK
KyAgICBtX2RyYXdpbmdBcmVhUHJveHktPnBhZ2UoKS0+cHJvY2VzcygpLT5zZW5kKE1lc3NhZ2Vz
OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OlNldFZpc2libGVDb250ZW50c1JlY3QodmlzaWJs
ZUNvbnRlbnRzUmVjdCwgdHJhamVjdG9yeVZlY3RvciksIG1fZHJhd2luZ0FyZWFQcm94eS0+cGFn
ZSgpLT5wYWdlSUQoKSk7CisgICAgbV9sYXN0U2VudFZpc2libGVSZWN0ID0gdmlzaWJsZUNvbnRl
bnRzUmVjdDsKICAgICBtX2xhc3RTZW50VHJhamVjdG9yeVZlY3RvciA9IHRyYWplY3RvcnlWZWN0
b3I7CisgICAgbV9sYXN0U2VudFBhZ2VTY2FsZUZhY3RvciA9IHBhZ2VTY2FsZUZhY3RvcjsKIH0K
IAogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6cmVuZGVyTmV4dEZyYW1lKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oCmlu
ZGV4IDQ2NmRlYTQ1NGNhOWM1ZWQ4NmE1NDFiNzQ4YTUxMTI4ZmI2ZDgxMmEuLmY2OWYzZGZkY2Y5
N2VhNzk5NjY2ZGY1ZmFkYThkMTgzMjJkODNiYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFBy
b3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaApAQCAtNzMsNyArNzMsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXRBbmltYXRpb25zTG9ja2VkKGJvb2wpOwogICAgIHZvaWQgc2V0QmFja2dy
b3VuZENvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJik7CiAKLSAgICB2b2lkIHNldFZpc2libGVD
b250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiwgY29uc3QgV2ViQ29yZTo6Rmxv
YXRQb2ludCYgdHJhamVjdG9yeVZlY3Rvcik7CisgICAgdm9pZCB1cGRhdGVDb250ZW50c1Zpc2li
aWxpdHkoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB2aXNpYmxlQ29udGVudHNSZWN0LCBkb3Vi
bGUgcGFnZVNjYWxlRmFjdG9yLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0b3J5
VmVjdG9yKTsKICAgICBXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUqIGNvb3JkaW5h
dGVkR3JhcGhpY3NTY2VuZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2NlbmUuZ2V0KCk7IH0KIAogICAg
IHZpcnR1YWwgdm9pZCB1cGRhdGVWaWV3cG9ydCgpIE9WRVJSSURFOwpAQCAtOTIsNiArOTIsNyBA
QCBwcm90ZWN0ZWQ6CiAgICAgUmVmUHRyPFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZT4gbV9zY2VuZTsKICAgICBXZWJDb3JlOjpGbG9hdFJlY3QgbV9sYXN0U2VudFZpc2libGVSZWN0
OwogICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgbV9sYXN0U2VudFRyYWplY3RvcnlWZWN0b3I7Cisg
ICAgZG91YmxlIG1fbGFzdFNlbnRQYWdlU2NhbGVGYWN0b3I7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvV2ViVmlldy5jcHAKaW5kZXggNTdlNjFmYzZmYTQ5MWNlZTQ4OWE5NWEwMjc5
ZmY3MmNjM2I2MzYwOC4uZGVjYjc3MmY3NjgzMmJmODg2ZGUyZTRlZmQzZmZhZjM0NjMyMzU0MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvV2ViVmlldy5jcHAKQEAgLTIzOSw2ICsyMzksNyBAQCB2b2lkIFdlYlZpZXc6OnVwZGF0
ZVZpZXdwb3J0U2l6ZSgpCiAgICAgICAgIEZsb2F0UmVjdCB2aXNpYmxlQ29udGVudHNSZWN0KGNv
bnRlbnRQb3NpdGlvbigpLCB2aXNpYmxlQ29udGVudHNTaXplKCkpOwogICAgICAgICB2aXNpYmxl
Q29udGVudHNSZWN0LmludGVyc2VjdChGbG9hdFJlY3QoRmxvYXRQb2ludCgpLCBjb250ZW50c1Np
emUoKSkpOwogICAgICAgICBkcmF3aW5nQXJlYS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdCh2aXNp
YmxlQ29udGVudHNSZWN0LCBGbG9hdFBvaW50KCkpOworICAgICAgICBkcmF3aW5nQXJlYS0+dXBk
YXRlQ29udGVudHNWaXNpYmlsaXR5KHZpc2libGVDb250ZW50c1JlY3QsIGNvbnRlbnRTY2FsZUZh
Y3RvcigpLCBGbG9hdFBvaW50KCkpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKaW5kZXggZmVlMjMxNzA3YjE4ZGFlODJlNTFlYTE3YWM3
ODA5YTg2YTQ3ZjZhOS4uMDVjZTVhZjYyOTE3NzJkOTAzYzYwZWZkNDUyYzA1MmU0OWMzNzc2MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCkBAIC03OCw3
ICs3OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFJlY3Qgdmlld3BvcnRW
aXNpYmxlUmVjdCgpIGNvbnN0IHsgcmV0dXJuIGNvbnRlbnRzUmVjdCgpOyB9CiAgICAgdmlydHVh
bCBXZWJDb3JlOjpJbnRSZWN0IGNvbnRlbnRzUmVjdCgpIGNvbnN0OwogICAgIENvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdFByb3h5KiBjb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSgpIGNvbnN0
IHsgcmV0dXJuIG1fY29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuZ2V0KCk7IH0KLSAgICB2
aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJl
Y3QmIC8qIHZpc2libGVDb250ZW50c1JlY3QgKi8sIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQm
IC8qIHRyYWplY3RvcnlWZWN0b3IgKi8pIHsgfQorICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVDb250
ZW50c1Zpc2liaWxpdHkoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiAvKiB2aXNpYmxlQ29udGVu
dHNSZWN0ICovLCAgZG91YmxlIC8qIHBhZ2VTY2FsZUZhY3RvciAqLywgY29uc3QgV2ViQ29yZTo6
RmxvYXRQb2ludCYgLyogdHJhamVjdG9yeVZlY3RvciAqLykgeyB9CiAKICAgICBXZWJQYWdlUHJv
eHkqIHBhZ2UoKSB7IHJldHVybiBtX3dlYlBhZ2VQcm94eTsgfQogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcAppbmRleCA0ZGMw
Y2VmZjVkZTA2NDhhZGRjMGJkMjU2YmI0ZjgyYmIxMmJhZjI1Li4xMWRhNmM4MjBmNjQyOWIwNDc3
ZWU1Y2NjZDE1NzA1NGYyYTJlMGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKQEAgLTM3MiwxMCArMzcyLDEwIEBAIHZvaWQgRHJh
d2luZ0FyZWFQcm94eUltcGw6OmVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoY29uc3Qg
TGF5ZXJUcmVlQ29udGV4CiB9CiAKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCi12b2lk
IERyYXdpbmdBcmVhUHJveHlJbXBsOjpzZXRWaXNpYmxlQ29udGVudHNSZWN0KGNvbnN0IFdlYkNv
cmU6OkZsb2F0UmVjdCYgdmlzaWJsZUNvbnRlbnRzUmVjdCwgY29uc3QgV2ViQ29yZTo6RmxvYXRQ
b2ludCYgdHJhamVjdG9yeVZlY3RvcikKK3ZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OnVwZGF0
ZUNvbnRlbnRzVmlzaWJpbGl0eShjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHZpc2libGVDb250
ZW50c1JlY3QsIGRvdWJsZSBwYWdlU2NhbGVGYWN0b3IsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9p
bnQmIHRyYWplY3RvcnlWZWN0b3IpCiB7CiAgICAgaWYgKG1fY29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHkpCi0gICAgICAgIG1fY29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHktPnNldFZp
c2libGVDb250ZW50c1JlY3QodmlzaWJsZUNvbnRlbnRzUmVjdCwgdHJhamVjdG9yeVZlY3Rvcik7
CisgICAgICAgIG1fY29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHktPnVwZGF0ZUNvbnRlbnRz
VmlzaWJpbGl0eSh2aXNpYmxlQ29udGVudHNSZWN0LCBwYWdlU2NhbGVGYWN0b3IsIHRyYWplY3Rv
cnlWZWN0b3IpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Ry
YXdpbmdBcmVhUHJveHlJbXBsLmgKaW5kZXggZTVkMTY2Mzk3YjFkYWVlODhjOTZkMDliYWQxODZk
OWJlNzI3Mjk0YS4uODg0YzQ3YWUwZWJjMDEwOWMxMDAzZDhjZTJhZjMxMjczNzU1Nzg3MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKQEAg
LTgzLDcgKzgzLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGV4aXRBY2NlbGVyYXRlZENvbXBvc2l0
aW5nTW9kZSgpOwogICAgIHZvaWQgdXBkYXRlQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoY29u
c3QgTGF5ZXJUcmVlQ29udGV4dCYpOwogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKLSAg
ICB2aXJ0dWFsIHZvaWQgc2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBXZWJDb3JlOjpGbG9h
dFJlY3QmIHZpc2libGVDb250ZW50c1JlY3QsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHRy
YWplY3RvcnkpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVDb250ZW50c1Zpc2li
aWxpdHkoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB2aXNpYmxlQ29udGVudHNSZWN0LCBkb3Vi
bGUgcGFnZVNjYWxlRmFjdG9yLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0b3J5
KSBPVkVSUklERTsKICNlbmRpZgogI2Vsc2UKICAgICBib29sIGlzSW5BY2NlbGVyYXRlZENvbXBv
c2l0aW5nTW9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5jcHAKaW5kZXggNjI1NGNmNzVk
NjkxY2I4YTA5MGMxYTY4ZDVjZmM3NDc5NzdmZThlOS4uOTY1Nzc4YzZiNjMxMGI3NTM2OTJiNjk3
Yjg2OTU4NTllNzU5MGE1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bh
Z2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
YWdlVmlld3BvcnRDb250cm9sbGVyLmNwcApAQCAtMTk1LDggKzE5NSw2IEBAIHZvaWQgUGFnZVZp
ZXdwb3J0Q29udHJvbGxlcjo6ZGlkUmVuZGVyRnJhbWUoY29uc3QgSW50U2l6ZSYgY29udGVudHNT
aXplLCBjb25zdCBJCiAgICAgICAgIEZsb2F0UG9pbnQgY3VycmVudERpc2NyZXRlUG9zID0gcm91
bmRlZEludFBvaW50KG1fY29udGVudHNQb3NpdGlvbik7CiAgICAgICAgIEZsb2F0UG9pbnQgcGl4
ZWxBbGlnbmVkUG9zID0gcGl4ZWxBbGlnbmVkRmxvYXRQb2ludChjdXJyZW50RGlzY3JldGVQb3Mp
OwogICAgICAgICBtX2NvbnRlbnRzUG9zaXRpb24gPSBib3VuZENvbnRlbnRzUG9zaXRpb24ocGl4
ZWxBbGlnbmVkUG9zKTsKLQotICAgICAgICBtX3dlYlBhZ2VQcm94eS0+c2NhbGVQYWdlKG1fcGFn
ZVNjYWxlRmFjdG9yLCByb3VuZGVkSW50UG9pbnQobV9jb250ZW50c1Bvc2l0aW9uKSk7CiAgICAg
fQogCiAgICAgLy8gVGhlcmUgbWlnaHQgYmUgcmVuZGVyZWQgZnJhbWVzIG5vdCBjb3ZlcmluZyBv
dXIgcmVxdWVzdGVkIHBvc2l0aW9uIHlldCwgd2FpdCBmb3IgaXQuCkBAIC0yNTMsMTIgKzI1MSwx
MiBAQCB2b2lkIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OmRpZENoYW5nZVZpZXdwb3J0U2l6ZShj
b25zdCBGbG9hdFNpemUmIG5ld1NpemUpCiAgICAgbV93ZWJQYWdlUHJveHktPmRyYXdpbmdBcmVh
KCktPnNldFNpemUocm91bmRlZEludFNpemUobmV3U2l6ZSksIEludFNpemUoKSwgSW50U2l6ZSgp
KTsKIH0KIAotdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyOjpkaWRDaGFuZ2VDb250ZW50c1Zp
c2liaWxpdHkoY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24sIGZsb2F0IHNjYWxlLCBjb25zdCBG
bG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKQordm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVy
OjpkaWRDaGFuZ2VDb250ZW50c1Zpc2liaWxpdHkoY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24s
IGRvdWJsZSBzY2FsZSwgY29uc3QgRmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3RvcikKIHsKICAg
ICBpZiAoIW1fcGVuZGluZ1Bvc2l0aW9uQ2hhbmdlKQogICAgICAgICBtX2NvbnRlbnRzUG9zaXRp
b24gPSBwb3NpdGlvbjsKICAgICBpZiAoIW1fcGVuZGluZ1NjYWxlQ2hhbmdlKQotICAgICAgICBh
cHBseVNjYWxlQWZ0ZXJSZW5kZXJpbmdDb250ZW50cyhzY2FsZSk7CisgICAgICAgIG1fcGFnZVNj
YWxlRmFjdG9yID0gc2NhbGU7CiAKICAgICBzeW5jVmlzaWJsZUNvbnRlbnRzKHRyYWplY3RvcnlW
ZWN0b3IpOwogfQpAQCAtMjY5LDkgKzI2Nyw5IEBAIHZvaWQgUGFnZVZpZXdwb3J0Q29udHJvbGxl
cjo6c3luY1Zpc2libGVDb250ZW50cyhjb25zdCBGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjCiAg
ICAgaWYgKCFkcmF3aW5nQXJlYSB8fCBtX3ZpZXdwb3J0U2l6ZS5pc0VtcHR5KCkgfHwgbV9jb250
ZW50c1NpemUuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBGbG9hdFJlY3Qgdmlz
aWJsZUNvbnRlbnRzUmVjdChib3VuZENvbnRlbnRzUG9zaXRpb24obV9jb250ZW50c1Bvc2l0aW9u
KSwgdmlzaWJsZUNvbnRlbnRzU2l6ZSgpKTsKKyAgICBGbG9hdFJlY3QgdmlzaWJsZUNvbnRlbnRz
UmVjdChwaXhlbEFsaWduZWRGbG9hdFBvaW50KGJvdW5kQ29udGVudHNQb3NpdGlvbihtX2NvbnRl
bnRzUG9zaXRpb24pKSwgdmlzaWJsZUNvbnRlbnRzU2l6ZSgpKTsKICAgICB2aXNpYmxlQ29udGVu
dHNSZWN0LmludGVyc2VjdChGbG9hdFJlY3QoRmxvYXRQb2ludDo6emVybygpLCBtX2NvbnRlbnRz
U2l6ZSkpOwotICAgIGRyYXdpbmdBcmVhLT5zZXRWaXNpYmxlQ29udGVudHNSZWN0KHZpc2libGVD
b250ZW50c1JlY3QsIHRyYWplY3RvcnlWZWN0b3IpOworICAgIGRyYXdpbmdBcmVhLT51cGRhdGVD
b250ZW50c1Zpc2liaWxpdHkodmlzaWJsZUNvbnRlbnRzUmVjdCwgbV9wYWdlU2NhbGVGYWN0b3Is
IHRyYWplY3RvcnlWZWN0b3IpOwogCiAgICAgbV9jbGllbnQtPmRpZENoYW5nZVZpc2libGVDb250
ZW50cygpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3
cG9ydENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3BvcnRD
b250cm9sbGVyLmgKaW5kZXggYjg5NzNhYmJkODllMmVhNGY0ZmJmM2VmOWUzNGU2MWY3ZThkYzRl
ZC4uOGIwMjBhMDI3N2E5YWI2NzhlOGVmOTZiMWExMmE0NWQ5NTc0Nzg2YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5oCkBAIC03MCw3
ICs3MCw3IEBAIHB1YmxpYzoKIAogICAgIC8vIE5vdGlmaWNhdGlvbnMgZnJvbSB0aGUgdmlld3Bv
cnQuCiAgICAgdm9pZCBkaWRDaGFuZ2VWaWV3cG9ydFNpemUoY29uc3QgV2ViQ29yZTo6RmxvYXRT
aXplJiBuZXdTaXplKTsKLSAgICB2b2lkIGRpZENoYW5nZUNvbnRlbnRzVmlzaWJpbGl0eShjb25z
dCBXZWJDb3JlOjpGbG9hdFBvaW50JiwgZmxvYXQgc2NhbGUsIGNvbnN0IFdlYkNvcmU6OkZsb2F0
UG9pbnQmIHRyYWplY3RvcnlWZWN0b3IgPSBXZWJDb3JlOjpGbG9hdFBvaW50Ojp6ZXJvKCkpOwor
ICAgIHZvaWQgZGlkQ2hhbmdlQ29udGVudHNWaXNpYmlsaXR5KGNvbnN0IFdlYkNvcmU6OkZsb2F0
UG9pbnQmLCBkb3VibGUgc2NhbGUsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIHRyYWplY3Rv
cnlWZWN0b3IgPSBXZWJDb3JlOjpGbG9hdFBvaW50Ojp6ZXJvKCkpOwogCiAgICAgLy8gTm90aWZp
Y2F0aW9ucyBmcm9tIHRoZSBXZWJQcm9jZXNzLgogICAgIHZvaWQgZGlkQ29tbWl0TG9hZCgpOwpA
QCAtMTAxLDcgKzEwMSw3IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6RmxvYXRTaXplIG1fY29u
dGVudHNTaXplOwogICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBtX3ZpZXdwb3J0U2l6ZTsKICAgICBX
ZWJDb3JlOjpJbnRTaXplIG1fY2xpZW50Q29udGVudHNTaXplOwotICAgIGZsb2F0IG1fcGFnZVNj
YWxlRmFjdG9yOworICAgIGRvdWJsZSBtX3BhZ2VTY2FsZUZhY3RvcjsKIAogICAgIGJvb2wgbV9w
ZW5kaW5nUG9zaXRpb25DaGFuZ2U7CiAgICAgYm9vbCBtX3BlbmRpbmdTY2FsZUNoYW5nZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9QYWdlVmlld3BvcnRDb250cm9s
bGVyQ2xpZW50UXQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1BhZ2VWaWV3cG9y
dENvbnRyb2xsZXJDbGllbnRRdC5jcHAKaW5kZXggZjcyOTQ2NTI5N2EyMmQyNTA0YTZjOWJlMjA0
MzYzOTA3YWIxMDAxZC4uNTg2NWFhOWMwZWUyMDBmMzM4YjM0Y2I3ODRmZmQ1ZTA4YWJlZDYyNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1BhZ2VWaWV3cG9ydENvbnRy
b2xsZXJDbGllbnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1BhZ2VW
aWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdC5jcHAKQEAgLTUyNCw5ICs1MjQsOSBAQCB2b2lkIFBh
Z2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdDo6c2NhbGVDb250ZW50KHFyZWFsIGl0ZW1TY2Fs
ZSwgY29uc3QgUVBvaW50RgogICAgIG1fdmlld3BvcnRJdGVtLT5zZXRDb250ZW50UG9zKG1fdmll
d3BvcnRJdGVtLT5jb250ZW50UG9zKCkgKyAobmV3UGluY2hDZW50ZXJPblZpZXdwb3J0IC0gb2xk
UGluY2hDZW50ZXJPblZpZXdwb3J0KSk7CiB9CiAKLWZsb2F0IFBhZ2VWaWV3cG9ydENvbnRyb2xs
ZXJDbGllbnRRdDo6dmlld3BvcnRTY2FsZUZvclJlY3QoY29uc3QgUVJlY3RGJiByZWN0KSBjb25z
dAorZG91YmxlIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdDo6dmlld3BvcnRTY2FsZUZv
clJlY3QoY29uc3QgUVJlY3RGJiByZWN0KSBjb25zdAogewotICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxmbG9hdD4obV92aWV3cG9ydEl0ZW0tPndpZHRoKCkpIC8gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHJl
Y3Qud2lkdGgoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PGRvdWJsZT4obV92aWV3cG9ydEl0
ZW0tPndpZHRoKCkpIC8gc3RhdGljX2Nhc3Q8ZG91YmxlPihyZWN0LndpZHRoKCkpOwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9xdC9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9xdC9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50UXQuaAppbmRleCBjMGI3NWNl
ZTFkZTIwN2FiNGRiYzhlYWM4YjM4NGI0NWUwNzExZDI3Li44YjljYjg3ODkxNDI2MTVhZTMxZWI1
MTNlOGRlNmExODRkNjhkN2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudFF0LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdC5oCkBAIC0xMzYsNyAr
MTM2LDcgQEAgcHJpdmF0ZToKICAgICBRUXVpY2tXZWJWaWV3KiBjb25zdCBtX3ZpZXdwb3J0SXRl
bTsKICAgICBRUXVpY2tXZWJQYWdlKiBjb25zdCBtX3BhZ2VJdGVtOwogCi0gICAgZmxvYXQgdmll
d3BvcnRTY2FsZUZvclJlY3QoY29uc3QgUVJlY3RGJikgY29uc3Q7CisgICAgZG91YmxlIHZpZXdw
b3J0U2NhbGVGb3JSZWN0KGNvbnN0IFFSZWN0RiYpIGNvbnN0OwogICAgIFFSZWN0RiBuZWFyZXN0
VmFsaWRWaXNpYmxlQ29udGVudHNSZWN0KCkgY29uc3Q7CiAKICAgICB2b2lkIHNldENvbnRlbnRz
UmVjdFRvTmVhcmVzdFZhbGlkQm91bmRzKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203336</attachid>
            <date>2013-05-30 03:12:16 -0700</date>
            <delta_ts>2013-10-02 21:32:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113326-20130530120743.patch</filename>
            <type>text/plain</type>
            <size>17436</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwOTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjRlOGEyNDVhOGNlNWM3
NjkyYjI3OGQ4MTcyMjQ3MjNjZmFhZTMzYy4uZDE3M2YzOGI1NmM5ZDU4MzcyMTRkZmU3MDI5ZmYz
MGM2NDM4ZTEzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEzLTA1LTMwICBBbmRy
YXMgQmVjc2kgIDxhbmRyYXMuYmVjc2lAZGlnaWEuY29tPgorCisgICAgICAgIFtRdF1bV0syXSBS
ZWdyZXNzaW9uKDE0MTMxMCk6IFBhZ2UgZmxpY2tlcnMgZHVyaW5nIHNjYWxlIGFuaW1hdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEzMzI2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGFnZVZpZXdw
b3J0Q29udHJvbGxlcjo6ZGlkQ2hhbmdlQ29udGVudHNWaXNpYmlsaXR5IHNob3VsZCBzZXQgdGhl
IHNjYWxlCisgICAgICAgIGltbWVkaWF0ZWx5IGluc3RlYWQgb2Ygc2V0dGluZyBpdCBhZnRlciBy
ZW5kZXJpbmcgdGhlIGZpcnN0IGZyYW1lcy4KKyAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyB1c2Vk
IHRvIG5vdGlmeSB0aGUgd2ViIHByb2Nlc3MgYWJvdXQgdmlzaWJpbGl0eSBjaGFuZ2VzCisgICAg
ICAgIGluaXRpYXRlZCBieSB0aGUgdXNlciwgdGh1cyB0aGUgaW5mb3JtYXRpb24gY2FuIG5vdCBi
ZSBwZW5kaW5nLgorICAgICAgICBBbHNvIG1lcmdlIHRoZSBXZWJDb3JlIHNjYWxlIHVwZGF0ZSB0
byBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eQorICAgICAgICB0byByZXN0b3JlIHByZXZp
b3VzIGJlaGF2aW91ciwgc2luY2Ugc2NhbGUgY2hhbmdlcyBhbHdheXMgaW1wbHkgdmlzaWJsZQor
ICAgICAgICByZWN0IHVwZGF0ZXMuIFRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgc2luY2Ug
aWYgYSBzY2FsZSBhbmltYXRpb24KKyAgICAgICAgaXMgc3RhcnRlZCwgZHVlIHRvIGEgZG91Ymxl
LXRhcCBnZXN0dXJlIG9yIGFmdGVyIGFuIG91dC1vZi1ib3VuZHMgcGluY2gKKyAgICAgICAgZ2Vz
dHVyZSwgdGhlIHdlYiBwcm9jZXNzIGlzIHJlcXVlc3RlZCB0byByZW5kZXIgdGhlIGZpbmFsIHZp
c2libGUgcmVjdAorICAgICAgICBkdXJpbmcgdGhlIGFuaW1hdGlvbiwgdG8gbWFrZSB0aGUgdHJh
bnNpdGlvbiBhdCB0aGUgZW5kIG9mIHRoZSBhbmltYXRpb24KKyAgICAgICAgc21vb3RoZXIuIFRo
aXMgcGF0Y2ggbWFrZXMgc3VyZSB0aGF0IHRoZSBwYWdlIHJlbmRlcmVkIGluIHRoZSByZXF1ZXN0
ZWQKKyAgICAgICAgcmVzb2x1dGlvbiBkb2VzIG5vdCBmbGlja2VyIHRocm91Z2ggZHVyaW5nIHRo
ZSBhbmltYXRpb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcu
Y3BwOgorICAgICAgICAoUVF1aWNrV2ViVmlld0xlZ2FjeVByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0
U2l6ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9yYXcvcXJhd3dlYnZpZXcuY3BwOgor
ICAgICAgICAoUVJhd1dlYlZpZXc6OnNldFNpemUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OkNvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5KToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVI
b3N0UHJveHk6OnVwZGF0ZUNvbnRlbnRzVmlzaWJpbGl0eSk6CisgICAgICAgICogVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaDoKKyAg
ICAgICAgKENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlldzo6dXBkYXRlVmlld3BvcnRTaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5Ojp1cGRhdGVDb250
ZW50c1Zpc2liaWxpdHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1w
bC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHlJbXBsOjp1cGRhdGVDb250
ZW50c1Zpc2liaWxpdHkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1w
bC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6ZGlkUmVuZGVyRnJhbWUpOgor
ICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjpkaWRDaGFuZ2VDb250ZW50
c1Zpc2liaWxpdHkpOgorICAgICAgICAoV2ViS2l0OjpQYWdlVmlld3BvcnRDb250cm9sbGVyOjpz
eW5jVmlzaWJsZUNvbnRlbnRzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29u
dHJvbGxlci5oOgorICAgICAgICAoUGFnZVZpZXdwb3J0Q29udHJvbGxlcik6CisgICAgICAgICog
VUlQcm9jZXNzL3F0L1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdDo6dmlld3BvcnRTY2FsZUZv
clJlY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xp
ZW50UXQuaDoKKyAgICAgICAgKFBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdCk6CisKIDIw
MTMtMDUtMjkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgRXhwb3NlIGluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0IHZpYSBXSzIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmll
dy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3Bw
CmluZGV4IDEyMTNmZDliMjAxODdiOTk1OTNmNDUwMWZjMmQ5MTZkNTdhMjY2MWEuLjExZDdmM2Ix
ZWY5ZDQxNDVlNTMzYTcyMmRkODRjNGYyYjRkMWQyYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcApAQCAtOTg0LDcgKzk4NCw3IEBA
IHZvaWQgUVF1aWNrV2ViVmlld0xlZ2FjeVByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0U2l6ZSgpCiAg
ICAgICAgIGRyYXdpbmdBcmVhLT5zZXRTaXplKHZpZXdwb3J0U2l6ZS50b1NpemUoKSwgSW50U2l6
ZSgpLCBJbnRTaXplKCkpOwogICAgICAgICAvLyBUaGUgYmFja2luZyBzdG9yZSBzY2FsZSBmYWN0
b3Igc2hvdWxkIGFscmVhZHkgYmUgc2V0IHRvIHRoZSBkZXZpY2UgcGl4ZWwgcmF0aW8KICAgICAg
ICAgLy8gb2YgdGhlIHVuZGVybHlpbmcgd2luZG93LCB0aHVzIHdlIHNldCB0aGUgZWZmZWN0aXZl
IHNjYWxlIHRvIDEgaGVyZS4KLSAgICAgICAgZHJhd2luZ0FyZWEtPnNldFZpc2libGVDb250ZW50
c1JlY3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgRmxvYXRTaXplKHZpZXdwb3J0U2l6ZSkpLCBG
bG9hdFBvaW50KCkpOworICAgICAgICBkcmF3aW5nQXJlYS0+dXBkYXRlQ29udGVudHNWaXNpYmls
aXR5KEZsb2F0UmVjdChGbG9hdFBvaW50KCksIEZsb2F0U2l6ZSh2aWV3cG9ydFNpemUpKSwgLyog
c2NhbGUgKi8gMSwgRmxvYXRQb2ludCgpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcmF3L3FyYXd3ZWJ2aWV3LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcmF3L3FyYXd3ZWJ2aWV3LmNwcAppbmRleCBhYzM0MDY5
MTI5NzIxMWFkMTVjMTRmNjE4MTBhMDRmZmY0YmVmMTc0Li5jYTA3MjhhZGRjMGFkY2RjMzZjNDky
ZTJmOTA4MzdiODI3YjEzNmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3Jhdy9xcmF3d2Vidmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9yYXcvcXJhd3dlYnZpZXcuY3BwCkBAIC0zNDQsNyArMzQ0LDcgQEAgdm9pZCBRUmF3
V2ViVmlldzo6c2V0U2l6ZShjb25zdCBRU2l6ZSYgc2l6ZSkKICAgICBkLT5tX3NpemUgPSBzaXpl
OwogCiAgICAgZHJhd2luZ0FyZWEtPnNldFNpemUoZC0+bV9zaXplLCBXZWJDb3JlOjpJbnRTaXpl
KCksIFdlYkNvcmU6OkludFNpemUoKSk7Ci0gICAgZHJhd2luZ0FyZWEtPnNldFZpc2libGVDb250
ZW50c1JlY3QoV2ViQ29yZTo6SW50UmVjdChXZWJDb3JlOjpJbnRQb2ludCgpLCBkLT5tX3NpemUp
LCBXZWJDb3JlOjpGbG9hdFBvaW50KCkpOworICAgIGRyYXdpbmdBcmVhLT51cGRhdGVDb250ZW50
c1Zpc2liaWxpdHkoV2ViQ29yZTo6SW50UmVjdChXZWJDb3JlOjpJbnRQb2ludCgpLCBkLT5tX3Np
emUpLCAvKiBzY2FsZSAqLyAxLCBXZWJDb3JlOjpGbG9hdFBvaW50KCkpOwogfQogCiBXS1BhZ2VS
ZWYgUVJhd1dlYlZpZXc6OnBhZ2VSZWYoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHku
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRp
bmF0ZWRMYXllclRyZWVIb3N0UHJveHkuY3BwCmluZGV4IGViZTk0ODQyNGRiYTI5OWI0YThiNzli
YzNlODk0OGE5OTc3N2U0MGUuLjZlOGRlYmUyMjE2NmQxOWFkYTI5Zjg3NjNhNWZiYTgxMWJmNmNh
NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBo
aWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQ
cm94eS5jcHAKQEAgLTQyLDYgKzQyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBDb29y
ZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHko
RHJhd2luZ0FyZWFQcm94eSogZHJhd2luZ0FyZWFQcm94eSkKICAgICA6IG1fZHJhd2luZ0FyZWFQ
cm94eShkcmF3aW5nQXJlYVByb3h5KQogICAgICwgbV9zY2VuZShhZG9wdFJlZihuZXcgQ29vcmRp
bmF0ZWRHcmFwaGljc1NjZW5lKHRoaXMpKSkKKyAgICAsIG1fbGFzdFNlbnRQYWdlU2NhbGVGYWN0
b3IoMCkKIHsKICAgICBtX2RyYXdpbmdBcmVhUHJveHktPnBhZ2UoKS0+cHJvY2VzcygpLT5hZGRN
ZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5Ojpt
ZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fZHJhd2luZ0FyZWFQcm94eS0+cGFnZSgpLT5wYWdlSUQo
KSwgdGhpcyk7CiB9CkBAIC0xMjIsMTcgKzEyMywxOSBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdFByb3h5OjpyZW1vdmVJbWFnZUJhY2tpbmcoQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmdJ
RAogICAgIGRpc3BhdGNoVXBkYXRlKGJpbmQoJkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6cmVt
b3ZlSW1hZ2VCYWNraW5nLCBtX3NjZW5lLmdldCgpLCBpbWFnZUlEKSk7CiB9CiAKLXZvaWQgQ29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OnNldFZpc2libGVDb250ZW50c1JlY3QoY29uc3Qg
RmxvYXRSZWN0JiByZWN0LCBjb25zdCBGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKQordm9p
ZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6dXBkYXRlQ29udGVudHNWaXNpYmlsaXR5
KGNvbnN0IEZsb2F0UmVjdCYgdmlzaWJsZUNvbnRlbnRzUmVjdCwgZG91YmxlIHBhZ2VTY2FsZUZh
Y3RvciwgY29uc3QgRmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3RvcikKIHsKICAgICAvLyBJbmZv
cm0gdGhlIHJlbmRlcmVyIHRvIGFkanVzdCB2aWV3cG9ydC1maXhlZCBsYXllcnMuCi0gICAgZGlz
cGF0Y2hVcGRhdGUoYmluZCgmQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpzZXRTY3JvbGxQb3Np
dGlvbiwgbV9zY2VuZS5nZXQoKSwgcmVjdC5sb2NhdGlvbigpKSk7CisgICAgZGlzcGF0Y2hVcGRh
dGUoYmluZCgmQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpzZXRTY3JvbGxQb3NpdGlvbiwgbV9z
Y2VuZS5nZXQoKSwgdmlzaWJsZUNvbnRlbnRzUmVjdC5sb2NhdGlvbigpKSk7CiAKLSAgICBpZiAo
cmVjdCA9PSBtX2xhc3RTZW50VmlzaWJsZVJlY3QgJiYgdHJhamVjdG9yeVZlY3RvciA9PSBtX2xh
c3RTZW50VHJhamVjdG9yeVZlY3RvcikKKyAgICBpZiAodmlzaWJsZUNvbnRlbnRzUmVjdCA9PSBt
X2xhc3RTZW50VmlzaWJsZVJlY3QgJiYgdHJhamVjdG9yeVZlY3RvciA9PSBtX2xhc3RTZW50VHJh
amVjdG9yeVZlY3RvciAmJiBwYWdlU2NhbGVGYWN0b3IgPT0gbV9sYXN0U2VudFBhZ2VTY2FsZUZh
Y3RvcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCkt
PnByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpTZXRW
aXNpYmxlQ29udGVudHNSZWN0KHJlY3QsIHRyYWplY3RvcnlWZWN0b3IpLCBtX2RyYXdpbmdBcmVh
UHJveHktPnBhZ2UoKS0+cGFnZUlEKCkpOwotICAgIG1fbGFzdFNlbnRWaXNpYmxlUmVjdCA9IHJl
Y3Q7CisgICAgbV9kcmF3aW5nQXJlYVByb3h5LT5wYWdlKCktPnNjYWxlUGFnZShwYWdlU2NhbGVG
YWN0b3IsIHJvdW5kZWRJbnRQb2ludCh2aXNpYmxlQ29udGVudHNSZWN0LmxvY2F0aW9uKCkpKTsK
KyAgICBtX2RyYXdpbmdBcmVhUHJveHktPnBhZ2UoKS0+cHJvY2VzcygpLT5zZW5kKE1lc3NhZ2Vz
OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OlNldFZpc2libGVDb250ZW50c1JlY3QodmlzaWJs
ZUNvbnRlbnRzUmVjdCwgdHJhamVjdG9yeVZlY3RvciksIG1fZHJhd2luZ0FyZWFQcm94eS0+cGFn
ZSgpLT5wYWdlSUQoKSk7CisgICAgbV9sYXN0U2VudFZpc2libGVSZWN0ID0gdmlzaWJsZUNvbnRl
bnRzUmVjdDsKICAgICBtX2xhc3RTZW50VHJhamVjdG9yeVZlY3RvciA9IHRyYWplY3RvcnlWZWN0
b3I7CisgICAgbV9sYXN0U2VudFBhZ2VTY2FsZUZhY3RvciA9IHBhZ2VTY2FsZUZhY3RvcjsKIH0K
IAogdm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6cmVuZGVyTmV4dEZyYW1lKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eS5oCmlu
ZGV4IDQ2NmRlYTQ1NGNhOWM1ZWQ4NmE1NDFiNzQ4YTUxMTI4ZmI2ZDgxMmEuLmY2OWYzZGZkY2Y5
N2VhNzk5NjY2ZGY1ZmFkYThkMTgzMjJkODNiYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdFBy
b3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkuaApAQCAtNzMsNyArNzMsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXRBbmltYXRpb25zTG9ja2VkKGJvb2wpOwogICAgIHZvaWQgc2V0QmFja2dy
b3VuZENvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJik7CiAKLSAgICB2b2lkIHNldFZpc2libGVD
b250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiwgY29uc3QgV2ViQ29yZTo6Rmxv
YXRQb2ludCYgdHJhamVjdG9yeVZlY3Rvcik7CisgICAgdm9pZCB1cGRhdGVDb250ZW50c1Zpc2li
aWxpdHkoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB2aXNpYmxlQ29udGVudHNSZWN0LCBkb3Vi
bGUgcGFnZVNjYWxlRmFjdG9yLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0b3J5
VmVjdG9yKTsKICAgICBXZWJDb3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU2NlbmUqIGNvb3JkaW5h
dGVkR3JhcGhpY3NTY2VuZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2NlbmUuZ2V0KCk7IH0KIAogICAg
IHZpcnR1YWwgdm9pZCB1cGRhdGVWaWV3cG9ydCgpIE9WRVJSSURFOwpAQCAtOTIsNiArOTIsNyBA
QCBwcm90ZWN0ZWQ6CiAgICAgUmVmUHRyPFdlYkNvcmU6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZT4gbV9zY2VuZTsKICAgICBXZWJDb3JlOjpGbG9hdFJlY3QgbV9sYXN0U2VudFZpc2libGVSZWN0
OwogICAgIFdlYkNvcmU6OkZsb2F0UG9pbnQgbV9sYXN0U2VudFRyYWplY3RvcnlWZWN0b3I7Cisg
ICAgZG91YmxlIG1fbGFzdFNlbnRQYWdlU2NhbGVGYWN0b3I7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvV2ViVmlldy5jcHAKaW5kZXggNTdlNjFmYzZmYTQ5MWNlZTQ4OWE5NWEwMjc5
ZmY3MmNjM2I2MzYwOC4uZDczNGJjMmFlOTkwNzhiOTQ3MWQ1MWM1Njc1MTVmNDhlMDA2NzJmYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
V2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvV2ViVmlldy5jcHAKQEAgLTIzOCw3ICsyMzgsNyBAQCB2b2lkIFdlYlZpZXc6OnVwZGF0
ZVZpZXdwb3J0U2l6ZSgpCiAgICAgICAgIGRyYXdpbmdBcmVhLT5zZXRTaXplKHJvdW5kZWRJbnRT
aXplKGRpcFNpemUoKSksIEludFNpemUoKSwgSW50U2l6ZSgpKTsKICAgICAgICAgRmxvYXRSZWN0
IHZpc2libGVDb250ZW50c1JlY3QoY29udGVudFBvc2l0aW9uKCksIHZpc2libGVDb250ZW50c1Np
emUoKSk7CiAgICAgICAgIHZpc2libGVDb250ZW50c1JlY3QuaW50ZXJzZWN0KEZsb2F0UmVjdChG
bG9hdFBvaW50KCksIGNvbnRlbnRzU2l6ZSgpKSk7Ci0gICAgICAgIGRyYXdpbmdBcmVhLT5zZXRW
aXNpYmxlQ29udGVudHNSZWN0KHZpc2libGVDb250ZW50c1JlY3QsIEZsb2F0UG9pbnQoKSk7Cisg
ICAgICAgIGRyYXdpbmdBcmVhLT51cGRhdGVDb250ZW50c1Zpc2liaWxpdHkodmlzaWJsZUNvbnRl
bnRzUmVjdCwgY29udGVudFNjYWxlRmFjdG9yKCksIEZsb2F0UG9pbnQoKSk7CiAgICAgfQogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaAppbmRleCBmZWUy
MzE3MDdiMThkYWU4MmU1MWVhMTdhYzc4MDlhODZhNDdmNmE5Li4wNWNlNWFmNjI5MTc3MmQ5MDNj
NjBlZmQ0NTJjMDUyZTQ5YzM3NzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvRHJhd2luZ0FyZWFQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3
aW5nQXJlYVByb3h5LmgKQEAgLTc4LDcgKzc4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgV2Vi
Q29yZTo6SW50UmVjdCB2aWV3cG9ydFZpc2libGVSZWN0KCkgY29uc3QgeyByZXR1cm4gY29udGVu
dHNSZWN0KCk7IH0KICAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFJlY3QgY29udGVudHNSZWN0KCkg
Y29uc3Q7CiAgICAgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkqIGNvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdFByb3h5KCkgY29uc3QgeyByZXR1cm4gbV9jb29yZGluYXRlZExheWVyVHJlZUhv
c3RQcm94eS5nZXQoKTsgfQotICAgIHZpcnR1YWwgdm9pZCBzZXRWaXNpYmxlQ29udGVudHNSZWN0
KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgLyogdmlzaWJsZUNvbnRlbnRzUmVjdCAqLywgY29u
c3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgLyogdHJhamVjdG9yeVZlY3RvciAqLykgeyB9CisgICAg
dmlydHVhbCB2b2lkIHVwZGF0ZUNvbnRlbnRzVmlzaWJpbGl0eShjb25zdCBXZWJDb3JlOjpGbG9h
dFJlY3QmIC8qIHZpc2libGVDb250ZW50c1JlY3QgKi8sICBkb3VibGUgLyogcGFnZVNjYWxlRmFj
dG9yICovLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiAvKiB0cmFqZWN0b3J5VmVjdG9yICov
KSB7IH0KIAogICAgIFdlYlBhZ2VQcm94eSogcGFnZSgpIHsgcmV0dXJuIG1fd2ViUGFnZVByb3h5
OyB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQ
cm94eUltcGwuY3BwCmluZGV4IDRkYzBjZWZmNWRlMDY0OGFkZGMwYmQyNTZiYjRmODJiYjEyYmFm
MjUuLjExZGE2YzgyMGY2NDI5YjA0NzdlZTVjY2NkMTU3MDU0ZjJhMmUwYmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcApAQCAtMzcy
LDEwICszNzIsMTAgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZW50ZXJBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nTW9kZShjb25zdCBMYXllclRyZWVDb250ZXgKIH0KIAogI2lmIFVTRShDT09S
RElOQVRFRF9HUkFQSElDUykKLXZvaWQgRHJhd2luZ0FyZWFQcm94eUltcGw6OnNldFZpc2libGVD
b250ZW50c1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB2aXNpYmxlQ29udGVudHNSZWN0
LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKQordm9pZCBEcmF3
aW5nQXJlYVByb3h5SW1wbDo6dXBkYXRlQ29udGVudHNWaXNpYmlsaXR5KGNvbnN0IFdlYkNvcmU6
OkZsb2F0UmVjdCYgdmlzaWJsZUNvbnRlbnRzUmVjdCwgZG91YmxlIHBhZ2VTY2FsZUZhY3Rvciwg
Y29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3RvcikKIHsKICAgICBpZiAo
bV9jb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eSkKLSAgICAgICAgbV9jb29yZGluYXRlZExh
eWVyVHJlZUhvc3RQcm94eS0+c2V0VmlzaWJsZUNvbnRlbnRzUmVjdCh2aXNpYmxlQ29udGVudHNS
ZWN0LCB0cmFqZWN0b3J5VmVjdG9yKTsKKyAgICAgICAgbV9jb29yZGluYXRlZExheWVyVHJlZUhv
c3RQcm94eS0+dXBkYXRlQ29udGVudHNWaXNpYmlsaXR5KHZpc2libGVDb250ZW50c1JlY3QsIHBh
Z2VTY2FsZUZhY3RvciwgdHJhamVjdG9yeVZlY3Rvcik7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaAppbmRleCBlNWQxNjYz
OTdiMWRhZWU4OGM5NmQwOWJhZDE4NmQ5YmU3MjcyOTRhLi44ODRjNDdhZTBlYmMwMTA5YzEwMDNk
OGNlMmFmMzEyNzM3NTU3ODcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
RHJhd2luZ0FyZWFQcm94eUltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJh
d2luZ0FyZWFQcm94eUltcGwuaApAQCAtODMsNyArODMsNyBAQCBwcml2YXRlOgogICAgIHZvaWQg
ZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCk7CiAgICAgdm9pZCB1cGRhdGVBY2NlbGVy
YXRlZENvbXBvc2l0aW5nTW9kZShjb25zdCBMYXllclRyZWVDb250ZXh0Jik7CiAjaWYgVVNFKENP
T1JESU5BVEVEX0dSQVBISUNTKQotICAgIHZpcnR1YWwgdm9pZCBzZXRWaXNpYmxlQ29udGVudHNS
ZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdmlzaWJsZUNvbnRlbnRzUmVjdCwgY29uc3Qg
V2ViQ29yZTo6RmxvYXRQb2ludCYgdHJhamVjdG9yeSkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2
b2lkIHVwZGF0ZUNvbnRlbnRzVmlzaWJpbGl0eShjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHZp
c2libGVDb250ZW50c1JlY3QsIGRvdWJsZSBwYWdlU2NhbGVGYWN0b3IsIGNvbnN0IFdlYkNvcmU6
OkZsb2F0UG9pbnQmIHRyYWplY3RvcnkpIE9WRVJSSURFOwogI2VuZGlmCiAjZWxzZQogICAgIGJv
b2wgaXNJbkFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250
cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9s
bGVyLmNwcAppbmRleCA2MjU0Y2Y3NWQ2OTFjYjhhMDkwYzFhNjhkNWNmYzc0Nzk3N2ZlOGU5Li45
NjU3NzhjNmI2MzEwYjc1MzY5MmI2OTdiODY5NTg1OWU3NTkwYTUzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuY3BwCkBAIC0xOTUs
OCArMTk1LDYgQEAgdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyOjpkaWRSZW5kZXJGcmFtZShj
b25zdCBJbnRTaXplJiBjb250ZW50c1NpemUsIGNvbnN0IEkKICAgICAgICAgRmxvYXRQb2ludCBj
dXJyZW50RGlzY3JldGVQb3MgPSByb3VuZGVkSW50UG9pbnQobV9jb250ZW50c1Bvc2l0aW9uKTsK
ICAgICAgICAgRmxvYXRQb2ludCBwaXhlbEFsaWduZWRQb3MgPSBwaXhlbEFsaWduZWRGbG9hdFBv
aW50KGN1cnJlbnREaXNjcmV0ZVBvcyk7CiAgICAgICAgIG1fY29udGVudHNQb3NpdGlvbiA9IGJv
dW5kQ29udGVudHNQb3NpdGlvbihwaXhlbEFsaWduZWRQb3MpOwotCi0gICAgICAgIG1fd2ViUGFn
ZVByb3h5LT5zY2FsZVBhZ2UobV9wYWdlU2NhbGVGYWN0b3IsIHJvdW5kZWRJbnRQb2ludChtX2Nv
bnRlbnRzUG9zaXRpb24pKTsKICAgICB9CiAKICAgICAvLyBUaGVyZSBtaWdodCBiZSByZW5kZXJl
ZCBmcmFtZXMgbm90IGNvdmVyaW5nIG91ciByZXF1ZXN0ZWQgcG9zaXRpb24geWV0LCB3YWl0IGZv
ciBpdC4KQEAgLTI1MywxMiArMjUxLDEyIEBAIHZvaWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6
ZGlkQ2hhbmdlVmlld3BvcnRTaXplKGNvbnN0IEZsb2F0U2l6ZSYgbmV3U2l6ZSkKICAgICBtX3dl
YlBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEoKS0+c2V0U2l6ZShyb3VuZGVkSW50U2l6ZShuZXdTaXpl
KSwgSW50U2l6ZSgpLCBJbnRTaXplKCkpOwogfQogCi12b2lkIFBhZ2VWaWV3cG9ydENvbnRyb2xs
ZXI6OmRpZENoYW5nZUNvbnRlbnRzVmlzaWJpbGl0eShjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlv
biwgZmxvYXQgc2NhbGUsIGNvbnN0IEZsb2F0UG9pbnQmIHRyYWplY3RvcnlWZWN0b3IpCit2b2lk
IFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OmRpZENoYW5nZUNvbnRlbnRzVmlzaWJpbGl0eShjb25z
dCBGbG9hdFBvaW50JiBwb3NpdGlvbiwgZG91YmxlIHNjYWxlLCBjb25zdCBGbG9hdFBvaW50JiB0
cmFqZWN0b3J5VmVjdG9yKQogewogICAgIGlmICghbV9wZW5kaW5nUG9zaXRpb25DaGFuZ2UpCiAg
ICAgICAgIG1fY29udGVudHNQb3NpdGlvbiA9IHBvc2l0aW9uOwogICAgIGlmICghbV9wZW5kaW5n
U2NhbGVDaGFuZ2UpCi0gICAgICAgIGFwcGx5U2NhbGVBZnRlclJlbmRlcmluZ0NvbnRlbnRzKHNj
YWxlKTsKKyAgICAgICAgbV9wYWdlU2NhbGVGYWN0b3IgPSBzY2FsZTsKIAogICAgIHN5bmNWaXNp
YmxlQ29udGVudHModHJhamVjdG9yeVZlY3Rvcik7CiB9CkBAIC0yNjksOSArMjY3LDkgQEAgdm9p
ZCBQYWdlVmlld3BvcnRDb250cm9sbGVyOjpzeW5jVmlzaWJsZUNvbnRlbnRzKGNvbnN0IEZsb2F0
UG9pbnQmIHRyYWplY3RvcnlWZWMKICAgICBpZiAoIWRyYXdpbmdBcmVhIHx8IG1fdmlld3BvcnRT
aXplLmlzRW1wdHkoKSB8fCBtX2NvbnRlbnRzU2l6ZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIEZsb2F0UmVjdCB2aXNpYmxlQ29udGVudHNSZWN0KGJvdW5kQ29udGVudHNQb3Np
dGlvbihtX2NvbnRlbnRzUG9zaXRpb24pLCB2aXNpYmxlQ29udGVudHNTaXplKCkpOworICAgIEZs
b2F0UmVjdCB2aXNpYmxlQ29udGVudHNSZWN0KHBpeGVsQWxpZ25lZEZsb2F0UG9pbnQoYm91bmRD
b250ZW50c1Bvc2l0aW9uKG1fY29udGVudHNQb3NpdGlvbikpLCB2aXNpYmxlQ29udGVudHNTaXpl
KCkpOwogICAgIHZpc2libGVDb250ZW50c1JlY3QuaW50ZXJzZWN0KEZsb2F0UmVjdChGbG9hdFBv
aW50Ojp6ZXJvKCksIG1fY29udGVudHNTaXplKSk7Ci0gICAgZHJhd2luZ0FyZWEtPnNldFZpc2li
bGVDb250ZW50c1JlY3QodmlzaWJsZUNvbnRlbnRzUmVjdCwgdHJhamVjdG9yeVZlY3Rvcik7Cisg
ICAgZHJhd2luZ0FyZWEtPnVwZGF0ZUNvbnRlbnRzVmlzaWJpbGl0eSh2aXNpYmxlQ29udGVudHNS
ZWN0LCBtX3BhZ2VTY2FsZUZhY3RvciwgdHJhamVjdG9yeVZlY3Rvcik7CiAKICAgICBtX2NsaWVu
dC0+ZGlkQ2hhbmdlVmlzaWJsZUNvbnRlbnRzKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuaAppbmRleCBiODk3M2FiYmQ4OWUyZWE0
ZjRmYmYzZWY5ZTM0ZTYxZjdlOGRjNGVkLi44YjAyMGEwMjc3YTlhYjY3OGU4ZWY5NmIxYTEyYTQ1
ZDk1NzQ3ODZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZVZpZXdw
b3J0Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3Bv
cnRDb250cm9sbGVyLmgKQEAgLTcwLDcgKzcwLDcgQEAgcHVibGljOgogCiAgICAgLy8gTm90aWZp
Y2F0aW9ucyBmcm9tIHRoZSB2aWV3cG9ydC4KICAgICB2b2lkIGRpZENoYW5nZVZpZXdwb3J0U2l6
ZShjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmIG5ld1NpemUpOwotICAgIHZvaWQgZGlkQ2hhbmdl
Q29udGVudHNWaXNpYmlsaXR5KGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmLCBmbG9hdCBzY2Fs
ZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3RvciA9IFdlYkNvcmU6
OkZsb2F0UG9pbnQ6Onplcm8oKSk7CisgICAgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1Zpc2liaWxp
dHkoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYsIGRvdWJsZSBzY2FsZSwgY29uc3QgV2ViQ29y
ZTo6RmxvYXRQb2ludCYgdHJhamVjdG9yeVZlY3RvciA9IFdlYkNvcmU6OkZsb2F0UG9pbnQ6Onpl
cm8oKSk7CiAKICAgICAvLyBOb3RpZmljYXRpb25zIGZyb20gdGhlIFdlYlByb2Nlc3MuCiAgICAg
dm9pZCBkaWRDb21taXRMb2FkKCk7CkBAIC0xMDEsNyArMTAxLDcgQEAgcHJpdmF0ZToKICAgICBX
ZWJDb3JlOjpGbG9hdFNpemUgbV9jb250ZW50c1NpemU7CiAgICAgV2ViQ29yZTo6RmxvYXRTaXpl
IG1fdmlld3BvcnRTaXplOwogICAgIFdlYkNvcmU6OkludFNpemUgbV9jbGllbnRDb250ZW50c1Np
emU7Ci0gICAgZmxvYXQgbV9wYWdlU2NhbGVGYWN0b3I7CisgICAgZG91YmxlIG1fcGFnZVNjYWxl
RmFjdG9yOwogCiAgICAgYm9vbCBtX3BlbmRpbmdQb3NpdGlvbkNoYW5nZTsKICAgICBib29sIG1f
cGVuZGluZ1NjYWxlQ2hhbmdlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvcXQvUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudFF0LmNwcAppbmRleCBmNzI5
NDY1Mjk3YTIyZDI1MDRhNmM5YmUyMDQzNjM5MDdhYjEwMDFkLi41ODY1YWE5YzBlZTIwMGYzMzhi
MzRjYjc4NGZmZDVlMDhhYmVkNjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvcXQvUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvcXQvUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudFF0LmNwcApAQCAt
NTI0LDkgKzUyNCw5IEBAIHZvaWQgUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudFF0OjpzY2Fs
ZUNvbnRlbnQocXJlYWwgaXRlbVNjYWxlLCBjb25zdCBRUG9pbnRGCiAgICAgbV92aWV3cG9ydEl0
ZW0tPnNldENvbnRlbnRQb3MobV92aWV3cG9ydEl0ZW0tPmNvbnRlbnRQb3MoKSArIChuZXdQaW5j
aENlbnRlck9uVmlld3BvcnQgLSBvbGRQaW5jaENlbnRlck9uVmlld3BvcnQpKTsKIH0KIAotZmxv
YXQgUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudFF0Ojp2aWV3cG9ydFNjYWxlRm9yUmVjdChj
b25zdCBRUmVjdEYmIHJlY3QpIGNvbnN0Citkb3VibGUgUGFnZVZpZXdwb3J0Q29udHJvbGxlckNs
aWVudFF0Ojp2aWV3cG9ydFNjYWxlRm9yUmVjdChjb25zdCBRUmVjdEYmIHJlY3QpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGZsb2F0PihtX3ZpZXdwb3J0SXRlbS0+d2lkdGgoKSkg
LyBzdGF0aWNfY2FzdDxmbG9hdD4ocmVjdC53aWR0aCgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8ZG91YmxlPihtX3ZpZXdwb3J0SXRlbS0+d2lkdGgoKSkgLyBzdGF0aWNfY2FzdDxkb3VibGU+
KHJlY3Qud2lkdGgoKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRR
dC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJD
bGllbnRRdC5oCmluZGV4IGMwYjc1Y2VlMWRlMjA3YWI0ZGJjOGVhYzhiMzg0YjQ1ZTA3MTFkMjcu
LjhiOWNiODc4OTE0MjYxNWFlMzFlYjUxM2U4ZGU2YTE4NGQ2OGQ3YzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50UXQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUGFnZVZpZXdwb3J0Q29udHJvbGxl
ckNsaWVudFF0LmgKQEAgLTEzNiw3ICsxMzYsNyBAQCBwcml2YXRlOgogICAgIFFRdWlja1dlYlZp
ZXcqIGNvbnN0IG1fdmlld3BvcnRJdGVtOwogICAgIFFRdWlja1dlYlBhZ2UqIGNvbnN0IG1fcGFn
ZUl0ZW07CiAKLSAgICBmbG9hdCB2aWV3cG9ydFNjYWxlRm9yUmVjdChjb25zdCBRUmVjdEYmKSBj
b25zdDsKKyAgICBkb3VibGUgdmlld3BvcnRTY2FsZUZvclJlY3QoY29uc3QgUVJlY3RGJikgY29u
c3Q7CiAgICAgUVJlY3RGIG5lYXJlc3RWYWxpZFZpc2libGVDb250ZW50c1JlY3QoKSBjb25zdDsK
IAogICAgIHZvaWQgc2V0Q29udGVudHNSZWN0VG9OZWFyZXN0VmFsaWRCb3VuZHMoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>