<?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>46385</bug_id>
          
          <creation_ts>2010-09-23 12:12:51 -0700</creation_ts>
          <short_desc>Keep viewport information in Document</short_desc>
          <delta_ts>2010-09-27 12:29:55 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Luiz Agostini">luiz</reporter>
          <assigned_to name="Luiz Agostini">luiz</assigned_to>
          <cc>ademar</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>eric</cc>
    
    <cc>kenneth</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>283833</commentid>
    <comment_count>0</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-09-23 12:12:51 -0700</bug_when>
    <thetext>For viewport meta tag information to be kept by page cache it needs to be in Document class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283848</commentid>
    <comment_count>1</comment_count>
      <attachid>68564</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-09-23 12:27:17 -0700</bug_when>
    <thetext>Created attachment 68564
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283854</commentid>
    <comment_count>2</comment_count>
      <attachid>68564</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-09-23 12:34:48 -0700</bug_when>
    <thetext>Comment on attachment 68564
patch

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

&gt; WebCore/ChangeLog:8
&gt; +        For viewport meta tag information to be kept by page cache it needs to be in Document class.

*in the*.

Add some more info, like &quot;The viewport meta data (layout viewport, scale) needs to be set again when bringing back a page from the page cache. As the viewport data are only retrieved while parsing the document, we need to store it in the Document class.&quot; 

As the viewport meta data is only retrieved during parsing,

&gt; WebCore/dom/Document.cpp:3815
&gt; +            frame()-&gt;page()-&gt;chrome()-&gt;client()-&gt;didReceiveViewportArguments(frame(), m_viewportArguments);

I think we need to rename didReceiveViewportArguments so better describe that it does. maybe dispatchViewportChangeRequested or similar?

&gt; WebCore/dom/Document.h:280
&gt; +    ViewportArguments viewportArguments() const { return m_viewportArguments; }

I think it is about time to change ViewportArguments to something like ViewportMetaData, but that can be in another patch.

&gt; WebCore/dom/Document.h:1319
&gt; +    ViewportArguments m_viewportArguments;

Maybe the m_valid in ViewportArguments doesn&apos;t make sense anymore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283949</commentid>
    <comment_count>3</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-09-23 14:25:44 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 68564 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=68564&amp;action=review
&gt; 
&gt; &gt; WebCore/ChangeLog:8
&gt; &gt; +        For viewport meta tag information to be kept by page cache it needs to be in Document class.
&gt; 
&gt; *in the*.
&gt; 
&gt; Add some more info, like &quot;The viewport meta data (layout viewport, scale) needs to be set again when bringing back a page from the page cache. As the viewport data are only retrieved while parsing the document, we need to store it in the Document class.&quot; 
&gt; 
&gt; As the viewport meta data is only retrieved during parsing,

ok

&gt; 
&gt; &gt; WebCore/dom/Document.cpp:3815
&gt; &gt; +            frame()-&gt;page()-&gt;chrome()-&gt;client()-&gt;didReceiveViewportArguments(frame(), m_viewportArguments);
&gt; 
&gt; I think we need to rename didReceiveViewportArguments so better describe that it does. maybe dispatchViewportChangeRequested or similar?

As it is now I think that didReceiveViewportArguments is a better description of what is is going on then dispatchViewportChangeRequested.
I agree that it could be changed but I would prefer to do it in a future patch.

&gt; 
&gt; &gt; WebCore/dom/Document.h:280
&gt; &gt; +    ViewportArguments viewportArguments() const { return m_viewportArguments; }
&gt; 
&gt; I think it is about time to change ViewportArguments to something like ViewportMetaData, but that can be in another patch.

ok

&gt; 
&gt; &gt; WebCore/dom/Document.h:1319
&gt; &gt; +    ViewportArguments m_viewportArguments;
&gt; 
&gt; Maybe the m_valid in ViewportArguments doesn&apos;t make sense anymore

It is only in qt api.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283959</commentid>
    <comment_count>4</comment_count>
      <attachid>68593</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-09-23 14:36:34 -0700</bug_when>
    <thetext>Created attachment 68593
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283973</commentid>
    <comment_count>5</comment_count>
      <attachid>68593</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-09-23 14:42:37 -0700</bug_when>
    <thetext>Comment on attachment 68593
patch

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

LGTM, r=me

&gt; WebKit/qt/Api/qwebframe.cpp:235
&gt; +    if (!frame || !frame-&gt;document())

Don&apos;t you always have a frame here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283984</commentid>
    <comment_count>6</comment_count>
      <attachid>68593</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-09-23 14:57:34 -0700</bug_when>
    <thetext>Comment on attachment 68593
patch

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

&gt; WebKit/qt/Api/qwebframe_p.h:104
&gt; +    WebCore::ViewportArguments viewportArguments();

There shouldn&apos;t be parentheses here.

It looks like you did a find-and-replace for viewportArguments and inadvertently replaced viewportArguments with viewportArguments() here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283994</commentid>
    <comment_count>7</comment_count>
      <attachid>68593</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-09-23 15:05:00 -0700</bug_when>
    <thetext>Comment on attachment 68593
patch

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

&gt; WebCore/dom/Document.cpp:3813
&gt; +        if (!frame() || !frame()-&gt;page())
&gt; +            frame()-&gt;page()-&gt;chrome()-&gt;client()-&gt;didReceiveViewportArguments(frame(), m_viewportArguments);

This doesn&apos;t look correct. Why are you calling frame() if it&apos;s a null pointer? Similarly, if frame()-&gt;page() is null.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284002</commentid>
    <comment_count>8</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-09-23 15:09:11 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 68593 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=68593&amp;action=review
&gt; 
&gt; &gt; WebCore/dom/Document.cpp:3813
&gt; &gt; +        if (!frame() || !frame()-&gt;page())
&gt; &gt; +            frame()-&gt;page()-&gt;chrome()-&gt;client()-&gt;didReceiveViewportArguments(frame(), m_viewportArguments);
&gt; 
&gt; This doesn&apos;t look correct. Why are you calling frame() if it&apos;s a null pointer? Similarly, if frame()-&gt;page() is null.

Auch! I didn&apos;t catch this. This should obviously have been frame() &amp;&amp; frame()-&gt;page()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284005</commentid>
    <comment_count>9</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-09-23 15:11:57 -0700</bug_when>
    <thetext>Luiz, can&apos;t you do a test where you load another page and then goes back to the original one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284007</commentid>
    <comment_count>10</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-09-23 15:14:23 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 68593 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=68593&amp;action=review
&gt; 
&gt; &gt; WebKit/qt/Api/qwebframe_p.h:104
&gt; &gt; +    WebCore::ViewportArguments viewportArguments();
&gt; 
&gt; There shouldn&apos;t be parentheses here.
&gt; 
&gt; It looks like you did a find-and-replace for viewportArguments and inadvertently replaced viewportArguments with viewportArguments() here.

Actually the parentesis are needed. Viewport arguments were stored in QWebFramePrivate but it is not any more. That is exactly what this patch is about. The viewport arguments are now stored in WebCore::Document and a method in QWebFramePrivate is used to retrieve it from document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284011</commentid>
    <comment_count>11</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-09-23 15:16:01 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Luiz, can&apos;t you do a test where you load another page and then goes back to the original one?

I did it in QtTestBrowser. But it seems that no page cache is going on in it.

My mistake anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284026</commentid>
    <comment_count>12</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-09-23 15:24:05 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #6)
&gt; &gt; (From update of attachment 68593 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=68593&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; WebKit/qt/Api/qwebframe_p.h:104
&gt; &gt; &gt; +    WebCore::ViewportArguments viewportArguments();
&gt; &gt; 
&gt; &gt; There shouldn&apos;t be parentheses here.
&gt; &gt; 
&gt; &gt; It looks like you did a find-and-replace for viewportArguments and inadvertently replaced viewportArguments with viewportArguments() here.
&gt; 
&gt; Actually the parentesis are needed. Viewport arguments were stored in QWebFramePrivate but it is not any more. That is exactly what this patch is about. The viewport arguments are now stored in WebCore::Document and a method in QWebFramePrivate is used to retrieve it from document.

Oops. You&apos;re right, you added the function QWebFramePrivate::viewportArguments().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284125</commentid>
    <comment_count>13</comment_count>
      <attachid>68627</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-09-23 17:14:29 -0700</bug_when>
    <thetext>Created attachment 68627
patch

Now with layout test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284167</commentid>
    <comment_count>14</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-23 18:22:53 -0700</bug_when>
    <thetext>Attachment 68627 did not build on mac:
Build output: http://queues.webkit.org/results/4074095</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284180</commentid>
    <comment_count>15</comment_count>
      <attachid>68627</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-09-23 18:58:25 -0700</bug_when>
    <thetext>Comment on attachment 68627
patch

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

A comment in the test about what it is testing would be nice.

&gt; LayoutTests/fast/viewport/viewport-128.html:4
&gt; +        &lt;meta name=&quot;viewport&quot; content=&quot;width=100 ;initial-scale=1&quot;&gt;

I guess you should remove the space before ; and add one after.

&gt; LayoutTests/fast/viewport/viewport-128.html:17
&gt; +                    setTimeout(&apos;window.location = &quot;data:text/html,&lt;script&gt;history.back()&lt;&quot; + &quot;/script&gt;&quot;&apos;, 0);

Why the &quot; + &quot; ?

&gt; LayoutTests/fast/viewport/viewport-128.html:19
&gt; +                    layoutTestController.dumpConfigurationForViewport(320, 352);

How can we make sure this is reusing the viewportArguments and that they havent&apos;t been reparsed?

&gt; LayoutTests/fast/viewport/viewport-128.html:24
&gt; +            window.onpageshow = pageshow;

Pretty cool trick :-) just read up on the onpageshow</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284188</commentid>
    <comment_count>16</comment_count>
      <attachid>68627</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-09-23 19:22:12 -0700</bug_when>
    <thetext>Comment on attachment 68627
patch

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

&gt; WebKit/qt/Api/qwebframe_p.h:104
&gt;      int marginHeight;
&gt;      bool zoomTextOnly;
&gt; -    WebCore::ViewportArguments viewportArguments;
&gt; +    WebCore::ViewportArguments viewportArguments();

You should move the new method up so that it is grouped with the other methods and so that we have fields at the end of the private class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284548</commentid>
    <comment_count>17</comment_count>
      <attachid>68714</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-09-24 11:06:04 -0700</bug_when>
    <thetext>Created attachment 68714
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284559</commentid>
    <comment_count>18</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-09-24 11:19:57 -0700</bug_when>
    <thetext>
&gt; &gt; LayoutTests/fast/viewport/viewport-128.html:17
&gt; &gt; +                    setTimeout(&apos;window.location = &quot;data:text/html,&lt;script&gt;history.back()&lt;&quot; + &quot;/script&gt;&quot;&apos;, 0);
&gt; 
&gt; Why the &quot; + &quot; ?

Without it the &lt;/script&gt; whould be considered the end of the script

&gt; 
&gt; &gt; LayoutTests/fast/viewport/viewport-128.html:19
&gt; &gt; +                    layoutTestController.dumpConfigurationForViewport(320, 352);
&gt; 
&gt; How can we make sure this is reusing the viewportArguments and that they havent&apos;t been reparsed?

Because of evt.persisted. It it is true then the page is coming from page cache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285432</commentid>
    <comment_count>19</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-09-27 06:54:51 -0700</bug_when>
    <thetext>committed r68292:&lt;http://trac.webkit.org/changeset/68292&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>285675</commentid>
    <comment_count>20</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2010-09-27 12:29:06 -0700</bug_when>
    <thetext>Revision r68292 cherry-picked into qtwebkit-2.1 with commit 90ea290 &lt;http://gitorious.org/webkit/qtwebkit/commit/90ea290&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68564</attachid>
            <date>2010-09-23 12:27:17 -0700</date>
            <delta_ts>2010-09-23 14:36:34 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Keep-viewport-information-in-Document.patch</filename>
            <type>text/plain</type>
            <size>9663</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSAyY2RiYTY2NDVjNDlmMTBjYmNlZjc1ODU0OTFlYTZiNzIyNzU3Njc1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFRodSwgMjMgU2VwIDIwMTAgMTY6MjQ6MDMgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBLZWVwIHZpZXdwb3J0IGluZm9ybWF0aW9uIGluIERvY3VtZW50CiBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDYzODUKClJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgoKRm9yIHZpZXdwb3J0IG1ldGEgdGFnIGluZm9ybWF0aW9uIHRvIGJlIGtlcHQgYnkgcGFn
ZSBjYWNoZSBpdCBuZWVkcyB0byBiZSBpbiBEb2N1bWVudCBjbGFzcy4KCldlYkNvcmU6CgoqIGRv
bS9Eb2N1bWVudC5jcHA6CihXZWJDb3JlOjpEb2N1bWVudDo6cHJvY2Vzc1ZpZXdwb3J0KToKKFdl
YkNvcmU6OkRvY3VtZW50OjpzZXRJblBhZ2VDYWNoZSk6CiogZG9tL0RvY3VtZW50Lmg6CihXZWJD
b3JlOjpEb2N1bWVudDo6dmlld3BvcnRBcmd1bWVudHMpOgoKV2ViS2l0L3F0OgoKKiBBcGkvcXdl
YmZyYW1lLmNwcDoKKFFXZWJGcmFtZVByaXZhdGU6OnZpZXdwb3J0QXJndW1lbnRzKToKKiBBcGkv
cXdlYmZyYW1lX3AuaDoKKiBBcGkvcXdlYnBhZ2UuY3BwOgooUVdlYlBhZ2U6OnZpZXdwb3J0Q29u
ZmlndXJhdGlvbkZvclNpemUpOgoqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcDoK
KFdlYkNvcmU6OkNocm9tZUNsaWVudFF0OjpkaWRSZWNlaXZlVmlld3BvcnRBcmd1bWVudHMpOgoq
IFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcDoKKER1bXBSZW5kZXJU
cmVlU3VwcG9ydFF0Ojp2aWV3cG9ydEFzVGV4dCk6CiogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2Fk
ZXJDbGllbnRRdC5jcHA6CihXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFF0OjpkaXNwYXRjaERp
ZENvbW1pdExvYWQpOgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAxNSArKysrKysrKysrKysrKwogV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE3ICsrKysrKysrLS0tLS0tLQogV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA1ICsr
KysKIFdlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmNwcCAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAgOCArKysrKysrCiBXZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZV9wLmggICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgIDIgKy0KIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgICAgMiArLQogV2ViS2l0L3F0L0NoYW5nZUxvZyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgIDIxICsrKysrKysrKysrKysrKysrKysrCiBXZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwICAgICAgICB8ICAgIDIgLQogLi4uL3F0
L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcCAgfCAgICAyICstCiBX
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAgICB8ICAgIDMg
LS0KIDEwIGZpbGVzIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NzZiMjI5OC4uZTA3NjllMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wOS0yMyAgTHVpeiBBZ29zdGlu
aSAgPGx1aXouYWdvc3RpbmlAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBLZWVwIHZpZXdwb3J0IGluZm9ybWF0aW9uIGluIERv
Y3VtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
NjM4NQorCisgICAgICAgIEZvciB2aWV3cG9ydCBtZXRhIHRhZyBpbmZvcm1hdGlvbiB0byBiZSBr
ZXB0IGJ5IHBhZ2UgY2FjaGUgaXQgbmVlZHMgdG8gYmUgaW4gRG9jdW1lbnQgY2xhc3MuCisKKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnBy
b2Nlc3NWaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6c2V0SW5QYWdlQ2Fj
aGUpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6OnZpZXdwb3J0QXJndW1lbnRzKToKKwogMjAxMC0wOS0yMiAgTHVpeiBBZ29zdGluaSAgPGx1
aXouYWdvc3RpbmlAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIg
SHVudC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAppbmRleCAxOTRkNGUxLi5hNDQzY2NkIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0xMjks
NyArMTI5LDYgQEAKICNpbmNsdWRlICJUcmVlV2Fsa2VyLmgiCiAjaW5jbHVkZSAiVUlFdmVudC5o
IgogI2luY2x1ZGUgIlVzZXJDb250ZW50VVJMUGF0dGVybi5oIgotI2luY2x1ZGUgIlZpZXdwb3J0
QXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCIKICNpbmNsdWRl
ICJXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJXaGVlbEV2ZW50LmgiCkBAIC0y
NTg4LDE2ICsyNTg3LDE0IEBAIHZvaWQgRG9jdW1lbnQ6OnByb2Nlc3NWaWV3cG9ydChjb25zdCBT
dHJpbmcmIGZlYXR1cmVzKQogewogICAgIEFTU0VSVCghZmVhdHVyZXMuaXNOdWxsKCkpOwogCisg
ICAgbV92aWV3cG9ydEFyZ3VtZW50cyA9IFZpZXdwb3J0QXJndW1lbnRzKCk7CisgICAgcHJvY2Vz
c0FyZ3VtZW50cyhmZWF0dXJlcywgKHZvaWQqKSZtX3ZpZXdwb3J0QXJndW1lbnRzLCAmc2V0Vmll
d3BvcnRGZWF0dXJlKTsKKwogICAgIEZyYW1lKiBmcmFtZSA9IHRoaXMtPmZyYW1lKCk7Ci0gICAg
aWYgKCFmcmFtZSkKKyAgICBpZiAoIWZyYW1lIHx8ICFmcmFtZS0+cGFnZSgpKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBpZiAoZnJhbWUtPnBhZ2UoKSkgewotICAgICAgICBWaWV3cG9ydEFyZ3Vt
ZW50cyBhcmd1bWVudHM7Ci0gICAgICAgIHByb2Nlc3NBcmd1bWVudHMoZmVhdHVyZXMsICh2b2lk
KikmYXJndW1lbnRzLCAmc2V0Vmlld3BvcnRGZWF0dXJlKTsKLQotICAgICAgICBmcmFtZS0+cGFn
ZSgpLT5jaHJvbWUoKS0+Y2xpZW50KCktPmRpZFJlY2VpdmVWaWV3cG9ydEFyZ3VtZW50cyhmcmFt
ZSwgYXJndW1lbnRzKTsKLSAgICB9CisgICAgZnJhbWUtPnBhZ2UoKS0+Y2hyb21lKCktPmNsaWVu
dCgpLT5kaWRSZWNlaXZlVmlld3BvcnRBcmd1bWVudHMoZnJhbWUsIG1fdmlld3BvcnRBcmd1bWVu
dHMpOwogfQogCiBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzIERvY3VtZW50OjpwcmVwYXJl
TW91c2VFdmVudChjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgSW50UG9pbnQm
IGRvY3VtZW50UG9pbnQsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZXZlbnQpCkBAIC0zODEz
LDYgKzM4MTAsMTAgQEAgdm9pZCBEb2N1bWVudDo6c2V0SW5QYWdlQ2FjaGUoYm9vbCBmbGFnKQog
ICAgICAgICBtX3NhdmVkUmVuZGVyZXIgPSAwOwogICAgICAgICBpZiAoY2hpbGROZWVkc1N0eWxl
UmVjYWxjKCkpCiAgICAgICAgICAgICBzY2hlZHVsZVN0eWxlUmVjYWxjKCk7CisKKyAgICAgICAg
aWYgKCFmcmFtZSgpIHx8ICFmcmFtZSgpLT5wYWdlKCkpCisgICAgICAgICAgICBmcmFtZSgpLT5w
YWdlKCktPmNocm9tZSgpLT5jbGllbnQoKS0+ZGlkUmVjZWl2ZVZpZXdwb3J0QXJndW1lbnRzKGZy
YW1lKCksIG1fdmlld3BvcnRBcmd1bWVudHMpOworCiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCA0MmQy
NzA2Li4wM2EwNzgxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJRdWFsaWZp
ZWROYW1lLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUg
IlRpbWVyLmgiCisjaW5jbHVkZSAiVmlld3BvcnRBcmd1bWVudHMuaCIKICNpbmNsdWRlIDx3dGYv
Rml4ZWRBcnJheS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoQ291bnRlZFNldC5oPgogI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KQEAgLTI3Niw2ICsyNzcsOCBAQCBwdWJsaWM6CiAgICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRmdWxsc2NyZWVuY2hhbmdlKTsKICNlbmRpZgog
CisgICAgVmlld3BvcnRBcmd1bWVudHMgdmlld3BvcnRBcmd1bWVudHMoKSBjb25zdCB7IHJldHVy
biBtX3ZpZXdwb3J0QXJndW1lbnRzOyB9CisKICAgICBEb2N1bWVudFR5cGUqIGRvY3R5cGUoKSBj
b25zdCB7IHJldHVybiBtX2RvY1R5cGUuZ2V0KCk7IH0KIAogICAgIERPTUltcGxlbWVudGF0aW9u
KiBpbXBsZW1lbnRhdGlvbigpIGNvbnN0OwpAQCAtMTMxMiw2ICsxMzE1LDggQEAgcHJpdmF0ZToK
ICNlbmRpZgogCiAgICAgaW50IG1fbG9hZEV2ZW50RGVsYXlDb3VudDsKKworICAgIFZpZXdwb3J0
QXJndW1lbnRzIG1fdmlld3BvcnRBcmd1bWVudHM7CiB9OwogCiBpbmxpbmUgYm9vbCBEb2N1bWVu
dDo6aGFzRWxlbWVudFdpdGhJZChBdG9taWNTdHJpbmdJbXBsKiBpZCkgY29uc3QKZGlmZiAtLWdp
dCBhL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmNwcCBiL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1l
LmNwcAppbmRleCA0NjU4MGJiLi43Mjk1YjgyIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3
ZWJmcmFtZS5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuY3BwCkBAIC0yMzAsNiAr
MjMwLDE0IEBAIHZvaWQgUVdlYkZyYW1lUHJpdmF0ZTo6aW5pdChRV2ViRnJhbWUgKnFmcmFtZSwg
UVdlYkZyYW1lRGF0YSAqZnJhbWVEYXRhKQogICAgIGZyYW1lLT5pbml0KCk7CiB9CiAKK1dlYkNv
cmU6OlZpZXdwb3J0QXJndW1lbnRzIFFXZWJGcmFtZVByaXZhdGU6OnZpZXdwb3J0QXJndW1lbnRz
KCkKK3sKKyAgICBpZiAoIWZyYW1lIHx8ICFmcmFtZS0+ZG9jdW1lbnQoKSkKKyAgICAgICAgcmV0
dXJuIFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzKCk7CisKKyAgICByZXR1cm4gZnJhbWUtPmRv
Y3VtZW50KCktPnZpZXdwb3J0QXJndW1lbnRzKCk7Cit9CisKIHZvaWQgUVdlYkZyYW1lUHJpdmF0
ZTo6c2V0UGFnZShRV2ViUGFnZSogbmV3UGFnZSkKIHsKICAgICBpZiAocGFnZSA9PSBuZXdQYWdl
KQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWVfcC5oIGIvV2ViS2l0L3F0L0Fw
aS9xd2ViZnJhbWVfcC5oCmluZGV4IDZkNmVjYTEuLmQ4NThhMDkgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9xdC9BcGkvcXdlYmZyYW1lX3AuaAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZV9wLmgK
QEAgLTEwMSw3ICsxMDEsNyBAQCBwdWJsaWM6CiAgICAgaW50IG1hcmdpbldpZHRoOwogICAgIGlu
dCBtYXJnaW5IZWlnaHQ7CiAgICAgYm9vbCB6b29tVGV4dE9ubHk7Ci0gICAgV2ViQ29yZTo6Vmll
d3BvcnRBcmd1bWVudHMgdmlld3BvcnRBcmd1bWVudHM7CisgICAgV2ViQ29yZTo6Vmlld3BvcnRB
cmd1bWVudHMgdmlld3BvcnRBcmd1bWVudHMoKTsKIH07CiAKIGNsYXNzIFFXZWJIaXRUZXN0UmVz
dWx0UHJpdmF0ZSB7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBiL1dl
YktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmluZGV4IDlhYTFhM2IuLjU3MzUwMGUgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnBh
Z2UuY3BwCkBAIC0yMzQ4LDcgKzIzNDgsNyBAQCBRV2ViUGFnZTo6Vmlld3BvcnRDb25maWd1cmF0
aW9uIFFXZWJQYWdlOjp2aWV3cG9ydENvbmZpZ3VyYXRpb25Gb3JTaXplKFFTaXplIGF2YQogICAg
IGludCBkZXZpY2VXaWR0aCA9IHJlY3Qud2lkdGgoKTsKICAgICBpbnQgZGV2aWNlSGVpZ2h0ID0g
cmVjdC5oZWlnaHQoKTsKIAotICAgIFdlYkNvcmU6OlZpZXdwb3J0Q29uZmlndXJhdGlvbiBjb25m
ID0gV2ViQ29yZTo6ZmluZENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydERhdGEobWFpbkZyYW1lKCkt
PmQtPnZpZXdwb3J0QXJndW1lbnRzLCBkZXNrdG9wV2lkdGgsIGRldmljZVdpZHRoLCBkZXZpY2VI
ZWlnaHQsIGRldmljZURQSSwgYXZhaWxhYmxlU2l6ZSk7CisgICAgV2ViQ29yZTo6Vmlld3BvcnRD
b25maWd1cmF0aW9uIGNvbmYgPSBXZWJDb3JlOjpmaW5kQ29uZmlndXJhdGlvbkZvclZpZXdwb3J0
RGF0YShtYWluRnJhbWUoKS0+ZC0+dmlld3BvcnRBcmd1bWVudHMoKSwgZGVza3RvcFdpZHRoLCBk
ZXZpY2VXaWR0aCwgZGV2aWNlSGVpZ2h0LCBkZXZpY2VEUEksIGF2YWlsYWJsZVNpemUpOwogCiAg
ICAgVmlld3BvcnRDb25maWd1cmF0aW9uIHJlc3VsdDsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0
L0NoYW5nZUxvZyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggNGE0YTA2OS4uODk0OWEyNyAx
MDA2NDQKLS0tIGEvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9XZWJLaXQvcXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjQgQEAKKzIwMTAtMDktMjMgIEx1aXogQWdvc3RpbmkgIDxsdWl6LmFnb3N0
aW5pQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgS2VlcCB2aWV3cG9ydCBpbmZvcm1hdGlvbiBpbiBEb2N1bWVudAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDYzODUKKworICAgICAg
ICBGb3Igdmlld3BvcnQgbWV0YSB0YWcgaW5mb3JtYXRpb24gdG8gYmUga2VwdCBieSBwYWdlIGNh
Y2hlIGl0IG5lZWRzIHRvIGJlIGluIERvY3VtZW50IGNsYXNzLgorCisgICAgICAgICogQXBpL3F3
ZWJmcmFtZS5jcHA6CisgICAgICAgIChRV2ViRnJhbWVQcml2YXRlOjp2aWV3cG9ydEFyZ3VtZW50
cyk6CisgICAgICAgICogQXBpL3F3ZWJmcmFtZV9wLmg6CisgICAgICAgICogQXBpL3F3ZWJwYWdl
LmNwcDoKKyAgICAgICAgKFFXZWJQYWdlOjp2aWV3cG9ydENvbmZpZ3VyYXRpb25Gb3JTaXplKToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDaHJvbWVDbGllbnRRdDo6ZGlkUmVjZWl2ZVZpZXdwb3J0QXJndW1lbnRzKToKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHA6CisgICAg
ICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6dmlld3BvcnRBc1RleHQpOgorICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVMb2FkZXJDbGllbnRRdDo6ZGlzcGF0Y2hEaWRDb21taXRMb2FkKToKKwogMjAxMC0w
OS0yMiAgSmFtZXkgSGlja3MgIDxqYW1leS5oaWNrc0Bub2tpYS5jb20+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwIGIvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcAppbmRleCBhNWRmZGM3Li45ZmJjNWU1IDEwMDY0NAot
LS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCisrKyBiL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKQEAgLTY0NCw4ICs2NDQs
NiBAQCBRV2ViU2VsZWN0TWV0aG9kKiBDaHJvbWVDbGllbnRRdDo6Y3JlYXRlU2VsZWN0UG9wdXAo
KSBjb25zdAogCiB2b2lkIENocm9tZUNsaWVudFF0OjpkaWRSZWNlaXZlVmlld3BvcnRBcmd1bWVu
dHMoRnJhbWUqIGZyYW1lLCBjb25zdCBWaWV3cG9ydEFyZ3VtZW50cyYgYXJndW1lbnRzKSBjb25z
dAogewotICAgIG1fd2ViUGFnZS0+bWFpbkZyYW1lKCktPmQtPnZpZXdwb3J0QXJndW1lbnRzID0g
YXJndW1lbnRzOwotCiAgICAgZW1pdCBtX3dlYlBhZ2UtPnZpZXdwb3J0Q2hhbmdlUmVxdWVzdGVk
KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5jcHAgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRy
ZWVTdXBwb3J0UXQuY3BwCmluZGV4IGVkN2FjMzIuLjgzNmRmNDkgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKKysrIGIvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcApAQCAtNjMx
LDcgKzYzMSw3IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmR1bXBOb3RpZmljYXRp
b24oYm9vbCBiKQogCiBRU3RyaW5nIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojp2aWV3cG9ydEFz
VGV4dChRV2ViUGFnZSogcGFnZSwgY29uc3QgUVNpemUmIGF2YWlsYWJsZVNpemUpCiB7Ci0gICAg
V2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMgYXJncyA9IHBhZ2UtPm1haW5GcmFtZSgpLT5kLT52
aWV3cG9ydEFyZ3VtZW50czsKKyAgICBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyBhcmdzID0g
cGFnZS0+bWFpbkZyYW1lKCktPmQtPnZpZXdwb3J0QXJndW1lbnRzKCk7CiAgICAgV2ViQ29yZTo6
Vmlld3BvcnRDb25maWd1cmF0aW9uIGNvbmYgPSBXZWJDb3JlOjpmaW5kQ29uZmlndXJhdGlvbkZv
clZpZXdwb3J0RGF0YShhcmdzLAogICAgICAgICAvKiBkZXNrdG9wLXdpZHRoICovIDk4MCwKICAg
ICAgICAgLyogZGV2aWNlLXdpZHRoICAqLyAzMjAsCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAgYi9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKaW5kZXggNGFhZGViMC4uMzc4MDQxYyAxMDA2
NDQKLS0tIGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3Bw
CisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcApA
QCAtNDQyLDkgKzQ0Miw2IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRRdDo6ZGlzcGF0Y2hEaWRD
b21taXRMb2FkKCkKICAgICBpZiAobV9mcmFtZS0+dHJlZSgpLT5wYXJlbnQoKSB8fCAhbV93ZWJG
cmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgLy8gQ2xlYXIgdGhlIHZpZXdwb3J0IGFyZ3Vt
ZW50cy4KLSAgICBtX3dlYkZyYW1lLT5kLT52aWV3cG9ydEFyZ3VtZW50cyA9IFdlYkNvcmU6OlZp
ZXdwb3J0QXJndW1lbnRzKCk7Ci0KICAgICBlbWl0IG1fd2ViRnJhbWUtPnVybENoYW5nZWQobV93
ZWJGcmFtZS0+dXJsKCkpOwogICAgIG1fd2ViRnJhbWUtPnBhZ2UoKS0+ZC0+dXBkYXRlTmF2aWdh
dGlvbkFjdGlvbnMoKTsKIAotLSAKMS43LjIuMgoK
</data>
<flag name="review"
          id="58110"
          type_id="1"
          status="-"
          setter="kenneth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68593</attachid>
            <date>2010-09-23 14:36:34 -0700</date>
            <delta_ts>2010-09-23 17:14:29 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Keep-viewport-information-in-Document.patch</filename>
            <type>text/plain</type>
            <size>10178</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSBlN2EzNjhmNzgyOTFlNmVkNjViYTM5ZmU2ZTM5NWVhZjM1MmNhNDBmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFRodSwgMjMgU2VwIDIwMTAgMTg6MzU6MDEgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBLZWVwIHZpZXdwb3J0IGluZm9ybWF0aW9uIGluIERvY3VtZW50CiBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDYzODUKClJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgoKVGhlIHZpZXdwb3J0IG1ldGEgZGF0YSAobGF5b3V0IHZpZXdwb3J0LCBzY2FsZSkgbmVl
ZHMgdG8gYmUgc2V0IGFnYWluIHdoZW4gYnJpbmdpbmcKYmFjayBhIHBhZ2UgZnJvbSB0aGUgcGFn
ZSBjYWNoZS4gQXMgdGhlIHZpZXdwb3J0IG1ldGFkYXRhIGlzIG9ubHkgcmV0cmlldmVkIHdoaWxl
IHBhcnNpbmcKdGhlIGRvY3VtZW50LCB3ZSBuZWVkIHRvIHN0b3JlIGl0IGluIHRoZSBEb2N1bWVu
dCBjbGFzcy4KCldlYkNvcmU6CgoqIGRvbS9Eb2N1bWVudC5jcHA6CihXZWJDb3JlOjpEb2N1bWVu
dDo6cHJvY2Vzc1ZpZXdwb3J0KToKKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRJblBhZ2VDYWNoZSk6
CiogZG9tL0RvY3VtZW50Lmg6CihXZWJDb3JlOjpEb2N1bWVudDo6dmlld3BvcnRBcmd1bWVudHMp
OgoKV2ViS2l0L3F0OgoKKiBBcGkvcXdlYmZyYW1lLmNwcDoKKFFXZWJGcmFtZVByaXZhdGU6OnZp
ZXdwb3J0QXJndW1lbnRzKToKKiBBcGkvcXdlYmZyYW1lX3AuaDoKKiBBcGkvcXdlYnBhZ2UuY3Bw
OgooUVdlYlBhZ2U6OnZpZXdwb3J0Q29uZmlndXJhdGlvbkZvclNpemUpOgoqIFdlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudFF0LmNwcDoKKFdlYkNvcmU6OkNocm9tZUNsaWVudFF0OjpkaWRSZWNl
aXZlVmlld3BvcnRBcmd1bWVudHMpOgoqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydFF0LmNwcDoKKER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojp2aWV3cG9ydEFzVGV4dCk6Ciog
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHA6CihXZWJDb3JlOjpGcmFtZUxv
YWRlckNsaWVudFF0OjpkaXNwYXRjaERpZENvbW1pdExvYWQpOgotLS0KIFdlYkNvcmUvQ2hhbmdl
TG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNyArKysrKysrKysrKysr
KwogV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg
IDE3ICsrKysrKystLS0tLS0tCiBXZWJDb3JlL2RvbS9Eb2N1bWVudC5oICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgIDUgKysrKwogV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuY3BwICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgICA4ICsrKysrKysKIFdlYktpdC9xdC9BcGkvcXdlYmZy
YW1lX3AuaCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArLQogV2ViS2l0L3F0L0FwaS9x
d2VicGFnZS5jcHAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICstCiBXZWJLaXQvcXQv
Q2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjMgKysrKysrKysr
KysrKysrKysrKysKIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAg
ICAgICAgIHwgICAgMiAtCiAuLi4vcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBw
b3J0UXQuY3BwICB8ICAgIDIgKy0KIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRl
ckNsaWVudFF0LmNwcCAgIHwgICAgMyAtLQogMTAgZmlsZXMgY2hhbmdlZCwgNjUgaW5zZXJ0aW9u
cygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3NmIyMjk4Li4zZWRlMTMxIDEwMDY0NAotLS0gYS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisy
MDEwLTA5LTIzICBMdWl6IEFnb3N0aW5pICA8bHVpei5hZ29zdGluaUBvcGVuYm9zc2Eub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEtlZXAgdmll
d3BvcnQgaW5mb3JtYXRpb24gaW4gRG9jdW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQ2Mzg1CisKKyAgICAgICAgVGhlIHZpZXdwb3J0IG1ldGEg
ZGF0YSAobGF5b3V0IHZpZXdwb3J0LCBzY2FsZSkgbmVlZHMgdG8gYmUgc2V0IGFnYWluIHdoZW4g
YnJpbmdpbmcKKyAgICAgICAgYmFjayBhIHBhZ2UgZnJvbSB0aGUgcGFnZSBjYWNoZS4gQXMgdGhl
IHZpZXdwb3J0IG1ldGFkYXRhIGlzIG9ubHkgcmV0cmlldmVkIHdoaWxlIHBhcnNpbmcKKyAgICAg
ICAgdGhlIGRvY3VtZW50LCB3ZSBuZWVkIHRvIHN0b3JlIGl0IGluIHRoZSBEb2N1bWVudCBjbGFz
cy4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6cHJvY2Vzc1ZpZXdwb3J0KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRJ
blBhZ2VDYWNoZSk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6dmlld3BvcnRBcmd1bWVudHMpOgorCiAyMDEwLTA5LTIyICBMdWl6IEFnb3N0
aW5pICA8bHVpei5hZ29zdGluaUBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IE9saXZlciBIdW50LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDE5NGQ0ZTEuLmEwNmE3MDAgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
QEAgLTEyOSw3ICsxMjksNiBAQAogI2luY2x1ZGUgIlRyZWVXYWxrZXIuaCIKICNpbmNsdWRlICJV
SUV2ZW50LmgiCiAjaW5jbHVkZSAiVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmgiCi0jaW5jbHVkZSAi
Vmlld3BvcnRBcmd1bWVudHMuaCIKICNpbmNsdWRlICJXZWJLaXRBbmltYXRpb25FdmVudC5oIgog
I2luY2x1ZGUgIldlYktpdFRyYW5zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIldoZWVsRXZlbnQu
aCIKQEAgLTI1ODgsMTYgKzI1ODcsMTQgQEAgdm9pZCBEb2N1bWVudDo6cHJvY2Vzc1ZpZXdwb3J0
KGNvbnN0IFN0cmluZyYgZmVhdHVyZXMpCiB7CiAgICAgQVNTRVJUKCFmZWF0dXJlcy5pc051bGwo
KSk7CiAKKyAgICBtX3ZpZXdwb3J0QXJndW1lbnRzID0gVmlld3BvcnRBcmd1bWVudHMoKTsKKyAg
ICBwcm9jZXNzQXJndW1lbnRzKGZlYXR1cmVzLCAodm9pZCopJm1fdmlld3BvcnRBcmd1bWVudHMs
ICZzZXRWaWV3cG9ydEZlYXR1cmUpOworCiAgICAgRnJhbWUqIGZyYW1lID0gdGhpcy0+ZnJhbWUo
KTsKLSAgICBpZiAoIWZyYW1lKQorICAgIGlmICghZnJhbWUgfHwgIWZyYW1lLT5wYWdlKCkpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGlmIChmcmFtZS0+cGFnZSgpKSB7Ci0gICAgICAgIFZpZXdw
b3J0QXJndW1lbnRzIGFyZ3VtZW50czsKLSAgICAgICAgcHJvY2Vzc0FyZ3VtZW50cyhmZWF0dXJl
cywgKHZvaWQqKSZhcmd1bWVudHMsICZzZXRWaWV3cG9ydEZlYXR1cmUpOwotCi0gICAgICAgIGZy
YW1lLT5wYWdlKCktPmNocm9tZSgpLT5jbGllbnQoKS0+ZGlkUmVjZWl2ZVZpZXdwb3J0QXJndW1l
bnRzKGZyYW1lLCBhcmd1bWVudHMpOwotICAgIH0KKyAgICBmcmFtZS0+cGFnZSgpLT5jaHJvbWUo
KS0+Y2xpZW50KCktPmRpZFJlY2VpdmVWaWV3cG9ydEFyZ3VtZW50cyhmcmFtZSwgbV92aWV3cG9y
dEFyZ3VtZW50cyk7CiB9CiAKIE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMgRG9jdW1lbnQ6
OnByZXBhcmVNb3VzZUV2ZW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBJ
bnRQb2ludCYgZG9jdW1lbnRQb2ludCwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCkK
QEAgLTM4MTEsNiArMzgwOCwxMCBAQCB2b2lkIERvY3VtZW50OjpzZXRJblBhZ2VDYWNoZShib29s
IGZsYWcpCiAgICAgICAgIEFTU0VSVChtX3JlbmRlckFyZW5hKTsKICAgICAgICAgc2V0UmVuZGVy
ZXIobV9zYXZlZFJlbmRlcmVyKTsKICAgICAgICAgbV9zYXZlZFJlbmRlcmVyID0gMDsKKworICAg
ICAgICBpZiAoIWZyYW1lKCkgfHwgIWZyYW1lKCktPnBhZ2UoKSkKKyAgICAgICAgICAgIGZyYW1l
KCktPnBhZ2UoKS0+Y2hyb21lKCktPmNsaWVudCgpLT5kaWRSZWNlaXZlVmlld3BvcnRBcmd1bWVu
dHMoZnJhbWUoKSwgbV92aWV3cG9ydEFyZ3VtZW50cyk7CisKICAgICAgICAgaWYgKGNoaWxkTmVl
ZHNTdHlsZVJlY2FsYygpKQogICAgICAgICAgICAgc2NoZWR1bGVTdHlsZVJlY2FsYygpOwogICAg
IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCmluZGV4IDQyZDI3MDYuLjAzYTA3ODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMzYsNiArMzYsNyBAQAog
I2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKKyNpbmNsdWRlICJWaWV3cG9ydEFyZ3VtZW50cy5o
IgogI2luY2x1ZGUgPHd0Zi9GaXhlZEFycmF5Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hDb3VudGVk
U2V0Lmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgpAQCAtMjc2LDYgKzI3Nyw4IEBAIHB1Ymxp
YzoKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdGZ1bGxzY3JlZW5j
aGFuZ2UpOwogI2VuZGlmCiAKKyAgICBWaWV3cG9ydEFyZ3VtZW50cyB2aWV3cG9ydEFyZ3VtZW50
cygpIGNvbnN0IHsgcmV0dXJuIG1fdmlld3BvcnRBcmd1bWVudHM7IH0KKwogICAgIERvY3VtZW50
VHlwZSogZG9jdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9jVHlwZS5nZXQoKTsgfQogCiAgICAg
RE9NSW1wbGVtZW50YXRpb24qIGltcGxlbWVudGF0aW9uKCkgY29uc3Q7CkBAIC0xMzEyLDYgKzEz
MTUsOCBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBpbnQgbV9sb2FkRXZlbnREZWxheUNvdW50
OworCisgICAgVmlld3BvcnRBcmd1bWVudHMgbV92aWV3cG9ydEFyZ3VtZW50czsKIH07CiAKIGlu
bGluZSBib29sIERvY3VtZW50OjpoYXNFbGVtZW50V2l0aElkKEF0b21pY1N0cmluZ0ltcGwqIGlk
KSBjb25zdApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuY3BwIGIvV2ViS2l0
L3F0L0FwaS9xd2ViZnJhbWUuY3BwCmluZGV4IDQ2NTgwYmIuLjcyOTViODIgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmNwcAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFt
ZS5jcHAKQEAgLTIzMCw2ICsyMzAsMTQgQEAgdm9pZCBRV2ViRnJhbWVQcml2YXRlOjppbml0KFFX
ZWJGcmFtZSAqcWZyYW1lLCBRV2ViRnJhbWVEYXRhICpmcmFtZURhdGEpCiAgICAgZnJhbWUtPmlu
aXQoKTsKIH0KIAorV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMgUVdlYkZyYW1lUHJpdmF0ZTo6
dmlld3BvcnRBcmd1bWVudHMoKQoreworICAgIGlmICghZnJhbWUgfHwgIWZyYW1lLT5kb2N1bWVu
dCgpKQorICAgICAgICByZXR1cm4gV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMoKTsKKworICAg
IHJldHVybiBmcmFtZS0+ZG9jdW1lbnQoKS0+dmlld3BvcnRBcmd1bWVudHMoKTsKK30KKwogdm9p
ZCBRV2ViRnJhbWVQcml2YXRlOjpzZXRQYWdlKFFXZWJQYWdlKiBuZXdQYWdlKQogewogICAgIGlm
IChwYWdlID09IG5ld1BhZ2UpCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZV9w
LmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZV9wLmgKaW5kZXggNmQ2ZWNhMS4uZDg1OGEwOSAx
MDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWVfcC5oCisrKyBiL1dlYktpdC9xdC9B
cGkvcXdlYmZyYW1lX3AuaApAQCAtMTAxLDcgKzEwMSw3IEBAIHB1YmxpYzoKICAgICBpbnQgbWFy
Z2luV2lkdGg7CiAgICAgaW50IG1hcmdpbkhlaWdodDsKICAgICBib29sIHpvb21UZXh0T25seTsK
LSAgICBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyB2aWV3cG9ydEFyZ3VtZW50czsKKyAgICBX
ZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyB2aWV3cG9ydEFyZ3VtZW50cygpOwogfTsKIAogY2xh
c3MgUVdlYkhpdFRlc3RSZXN1bHRQcml2YXRlIHsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkv
cXdlYnBhZ2UuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKaW5kZXggOWFhMWEzYi4u
NTczNTAwZSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKKysrIGIvV2Vi
S2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKQEAgLTIzNDgsNyArMjM0OCw3IEBAIFFXZWJQYWdlOjpW
aWV3cG9ydENvbmZpZ3VyYXRpb24gUVdlYlBhZ2U6OnZpZXdwb3J0Q29uZmlndXJhdGlvbkZvclNp
emUoUVNpemUgYXZhCiAgICAgaW50IGRldmljZVdpZHRoID0gcmVjdC53aWR0aCgpOwogICAgIGlu
dCBkZXZpY2VIZWlnaHQgPSByZWN0LmhlaWdodCgpOwogCi0gICAgV2ViQ29yZTo6Vmlld3BvcnRD
b25maWd1cmF0aW9uIGNvbmYgPSBXZWJDb3JlOjpmaW5kQ29uZmlndXJhdGlvbkZvclZpZXdwb3J0
RGF0YShtYWluRnJhbWUoKS0+ZC0+dmlld3BvcnRBcmd1bWVudHMsIGRlc2t0b3BXaWR0aCwgZGV2
aWNlV2lkdGgsIGRldmljZUhlaWdodCwgZGV2aWNlRFBJLCBhdmFpbGFibGVTaXplKTsKKyAgICBX
ZWJDb3JlOjpWaWV3cG9ydENvbmZpZ3VyYXRpb24gY29uZiA9IFdlYkNvcmU6OmZpbmRDb25maWd1
cmF0aW9uRm9yVmlld3BvcnREYXRhKG1haW5GcmFtZSgpLT5kLT52aWV3cG9ydEFyZ3VtZW50cygp
LCBkZXNrdG9wV2lkdGgsIGRldmljZVdpZHRoLCBkZXZpY2VIZWlnaHQsIGRldmljZURQSSwgYXZh
aWxhYmxlU2l6ZSk7CiAKICAgICBWaWV3cG9ydENvbmZpZ3VyYXRpb24gcmVzdWx0OwogCmRpZmYg
LS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA0
YTRhMDY5Li5kNzk1OTdiIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dl
YktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMC0wOS0yMyAgTHVpeiBBZ29z
dGluaSAgPGx1aXouYWdvc3RpbmlAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBLZWVwIHZpZXdwb3J0IGluZm9ybWF0aW9uIGlu
IERvY3VtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00NjM4NQorCisgICAgICAgIFRoZSB2aWV3cG9ydCBtZXRhIGRhdGEgKGxheW91dCB2aWV3cG9y
dCwgc2NhbGUpIG5lZWRzIHRvIGJlIHNldCBhZ2FpbiB3aGVuIGJyaW5naW5nCisgICAgICAgIGJh
Y2sgYSBwYWdlIGZyb20gdGhlIHBhZ2UgY2FjaGUuIEFzIHRoZSB2aWV3cG9ydCBtZXRhZGF0YSBp
cyBvbmx5IHJldHJpZXZlZCB3aGlsZSBwYXJzaW5nCisgICAgICAgIHRoZSBkb2N1bWVudCwgd2Ug
bmVlZCB0byBzdG9yZSBpdCBpbiB0aGUgRG9jdW1lbnQgY2xhc3MuCisKKyAgICAgICAgKiBBcGkv
cXdlYmZyYW1lLmNwcDoKKyAgICAgICAgKFFXZWJGcmFtZVByaXZhdGU6OnZpZXdwb3J0QXJndW1l
bnRzKToKKyAgICAgICAgKiBBcGkvcXdlYmZyYW1lX3AuaDoKKyAgICAgICAgKiBBcGkvcXdlYnBh
Z2UuY3BwOgorICAgICAgICAoUVdlYlBhZ2U6OnZpZXdwb3J0Q29uZmlndXJhdGlvbkZvclNpemUp
OgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNocm9tZUNsaWVudFF0OjpkaWRSZWNlaXZlVmlld3BvcnRBcmd1bWVudHMpOgor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcDoKKyAg
ICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojp2aWV3cG9ydEFzVGV4dCk6CisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZUxvYWRlckNsaWVudFF0OjpkaXNwYXRjaERpZENvbW1pdExvYWQpOgorCiAyMDEw
LTA5LTIyICBKYW1leSBIaWNrcyAgPGphbWV5LmhpY2tzQG5va2lhLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAgYi9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCmluZGV4IGE1ZGZkYzcuLjlmYmM1ZTUgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKKysrIGIv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcApAQCAtNjQ0LDggKzY0
NCw2IEBAIFFXZWJTZWxlY3RNZXRob2QqIENocm9tZUNsaWVudFF0OjpjcmVhdGVTZWxlY3RQb3B1
cCgpIGNvbnN0CiAKIHZvaWQgQ2hyb21lQ2xpZW50UXQ6OmRpZFJlY2VpdmVWaWV3cG9ydEFyZ3Vt
ZW50cyhGcmFtZSogZnJhbWUsIGNvbnN0IFZpZXdwb3J0QXJndW1lbnRzJiBhcmd1bWVudHMpIGNv
bnN0CiB7Ci0gICAgbV93ZWJQYWdlLT5tYWluRnJhbWUoKS0+ZC0+dmlld3BvcnRBcmd1bWVudHMg
PSBhcmd1bWVudHM7Ci0KICAgICBlbWl0IG1fd2ViUGFnZS0+dmlld3BvcnRDaGFuZ2VSZXF1ZXN0
ZWQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5k
ZXJUcmVlU3VwcG9ydFF0LmNwcCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5jcHAKaW5kZXggZWQ3YWMzMi4uODM2ZGY0OSAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAorKysgYi9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCkBAIC02
MzEsNyArNjMxLDcgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6ZHVtcE5vdGlmaWNh
dGlvbihib29sIGIpCiAKIFFTdHJpbmcgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnZpZXdwb3J0
QXNUZXh0KFFXZWJQYWdlKiBwYWdlLCBjb25zdCBRU2l6ZSYgYXZhaWxhYmxlU2l6ZSkKIHsKLSAg
ICBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyBhcmdzID0gcGFnZS0+bWFpbkZyYW1lKCktPmQt
PnZpZXdwb3J0QXJndW1lbnRzOworICAgIFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzIGFyZ3Mg
PSBwYWdlLT5tYWluRnJhbWUoKS0+ZC0+dmlld3BvcnRBcmd1bWVudHMoKTsKICAgICBXZWJDb3Jl
OjpWaWV3cG9ydENvbmZpZ3VyYXRpb24gY29uZiA9IFdlYkNvcmU6OmZpbmRDb25maWd1cmF0aW9u
Rm9yVmlld3BvcnREYXRhKGFyZ3MsCiAgICAgICAgIC8qIGRlc2t0b3Atd2lkdGggKi8gOTgwLAog
ICAgICAgICAvKiBkZXZpY2Utd2lkdGggICovIDMyMCwKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcCBiL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcAppbmRleCA0YWFkZWIwLi4zNzgwNDFjIDEw
MDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5j
cHAKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3Bw
CkBAIC00NDIsOSArNDQyLDYgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudFF0OjpkaXNwYXRjaERp
ZENvbW1pdExvYWQoKQogICAgIGlmIChtX2ZyYW1lLT50cmVlKCktPnBhcmVudCgpIHx8ICFtX3dl
YkZyYW1lKQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyBDbGVhciB0aGUgdmlld3BvcnQgYXJn
dW1lbnRzLgotICAgIG1fd2ViRnJhbWUtPmQtPnZpZXdwb3J0QXJndW1lbnRzID0gV2ViQ29yZTo6
Vmlld3BvcnRBcmd1bWVudHMoKTsKLQogICAgIGVtaXQgbV93ZWJGcmFtZS0+dXJsQ2hhbmdlZCht
X3dlYkZyYW1lLT51cmwoKSk7CiAgICAgbV93ZWJGcmFtZS0+cGFnZSgpLT5kLT51cGRhdGVOYXZp
Z2F0aW9uQWN0aW9ucygpOwogCi0tIAoxLjcuMi4yCgo=
</data>
<flag name="review"
          id="58144"
          type_id="1"
          status="-"
          setter="dbates"
    />
    <flag name="commit-queue"
          id="58151"
          type_id="3"
          status="-"
          setter="dbates"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68627</attachid>
            <date>2010-09-23 17:14:29 -0700</date>
            <delta_ts>2010-09-24 11:06:04 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Keep-viewport-information-in-Document.patch</filename>
            <type>text/plain</type>
            <size>13203</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSA3MzQyNzBlYWJkMGEyYmU4YmU5NWFmMjZhMTMyNWUyNzNjNmFkYjlhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFRodSwgMjMgU2VwIDIwMTAgMjA6NDY6MjMgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBLZWVwIHZpZXdwb3J0IGluZm9ybWF0aW9uIGluIERvY3VtZW50CiBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDYzODUKClJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgoKVGhlIHZpZXdwb3J0IG1ldGEgZGF0YSAobGF5b3V0IHZpZXdwb3J0LCBzY2FsZSkgbmVl
ZHMgdG8gYmUgc2V0IGFnYWluIHdoZW4gYnJpbmdpbmcKYmFjayBhIHBhZ2UgZnJvbSB0aGUgcGFn
ZSBjYWNoZS4gQXMgdGhlIHZpZXdwb3J0IG1ldGFkYXRhIGlzIG9ubHkgcmV0cmlldmVkIHdoaWxl
IHBhcnNpbmcKdGhlIGRvY3VtZW50LCB3ZSBuZWVkIHRvIHN0b3JlIGl0IGluIHRoZSBEb2N1bWVu
dCBjbGFzcy4KCldlYkNvcmU6CgpUZXN0OiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LTEyOC5odG1s
CgoqIGRvbS9Eb2N1bWVudC5jcHA6CihXZWJDb3JlOjpEb2N1bWVudDo6cHJvY2Vzc1ZpZXdwb3J0
KToKKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRJblBhZ2VDYWNoZSk6CiogZG9tL0RvY3VtZW50Lmg6
CihXZWJDb3JlOjpEb2N1bWVudDo6dmlld3BvcnRBcmd1bWVudHMpOgoKV2ViS2l0L3F0OgoKKiBB
cGkvcXdlYmZyYW1lLmNwcDoKKFFXZWJGcmFtZVByaXZhdGU6OnZpZXdwb3J0QXJndW1lbnRzKToK
KiBBcGkvcXdlYmZyYW1lX3AuaDoKKiBBcGkvcXdlYnBhZ2UuY3BwOgooUVdlYlBhZ2U6OnZpZXdw
b3J0Q29uZmlndXJhdGlvbkZvclNpemUpOgoqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0
LmNwcDoKKFdlYkNvcmU6OkNocm9tZUNsaWVudFF0OjpkaWRSZWNlaXZlVmlld3BvcnRBcmd1bWVu
dHMpOgoqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcDoKKER1bXBS
ZW5kZXJUcmVlU3VwcG9ydFF0Ojp2aWV3cG9ydEFzVGV4dCk6CiogV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRRdC5jcHA6CihXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFF0OjpkaXNw
YXRjaERpZENvbW1pdExvYWQpOgoKTGF5b3V0VGVzdHM6CgoqIGZhc3Qvdmlld3BvcnQvdmlld3Bv
cnQtMTI4LWV4cGVjdGVkLnR4dDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9y
dC92aWV3cG9ydC02Ni1leHBlY3RlZC50eHQuCiogZmFzdC92aWV3cG9ydC92aWV3cG9ydC0xMjgu
aHRtbDogQWRkZWQuCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgIDE0ICsrKysrKysrKwogLi4uL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQt
MTI4LWV4cGVjdGVkLnR4dCAgICAgICAgfCAgICAyICsKIExheW91dFRlc3RzL2Zhc3Qvdmlld3Bv
cnQvdmlld3BvcnQtMTI4Lmh0bWwgICAgICAgIHwgICAzMCArKysrKysrKysrKysrKysrKysrKwog
V2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE5
ICsrKysrKysrKysrKwogV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDE3ICsrKysrKy0tLS0tCiBXZWJDb3JlL2RvbS9Eb2N1bWVudC5oICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDUgKysrCiBXZWJLaXQvcXQvQXBpL3F3ZWJmcmFt
ZS5jcHAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDggKysrKysKIFdlYktpdC9xdC9BcGkv
cXdlYmZyYW1lX3AuaCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArLQogV2ViS2l0L3F0
L0FwaS9xd2VicGFnZS5jcHAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICstCiBXZWJL
aXQvcXQvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjMgKysr
KysrKysrKysrKysrCiBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3Bw
ICAgICAgICB8ICAgIDIgLQogLi4uL3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydFF0LmNwcCAgfCAgICAyICstCiBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2Fk
ZXJDbGllbnRRdC5jcHAgICB8ICAgIDMgLS0KIDEzIGZpbGVzIGNoYW5nZWQsIDExMyBpbnNlcnRp
b25zKCspLCAxNiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9m
YXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LTEyOC1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBMYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LTEyOC5odG1sCgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDhh
MWU1OTAuLjMyYTY4ZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0wOS0yMyAgTHVpeiBB
Z29zdGluaSAgPGx1aXouYWdvc3RpbmlAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBLZWVwIHZpZXdwb3J0IGluZm9ybWF0aW9u
IGluIERvY3VtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00NjM4NQorCisgICAgICAgIFRoZSB2aWV3cG9ydCBtZXRhIGRhdGEgKGxheW91dCB2aWV3
cG9ydCwgc2NhbGUpIG5lZWRzIHRvIGJlIHNldCBhZ2FpbiB3aGVuIGJyaW5naW5nCisgICAgICAg
IGJhY2sgYSBwYWdlIGZyb20gdGhlIHBhZ2UgY2FjaGUuIEFzIHRoZSB2aWV3cG9ydCBtZXRhZGF0
YSBpcyBvbmx5IHJldHJpZXZlZCB3aGlsZSBwYXJzaW5nCisgICAgICAgIHRoZSBkb2N1bWVudCwg
d2UgbmVlZCB0byBzdG9yZSBpdCBpbiB0aGUgRG9jdW1lbnQgY2xhc3MuCisKKyAgICAgICAgKiBm
YXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LTEyOC1leHBlY3RlZC50eHQ6IENvcGllZCBmcm9tIExheW91
dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtNjYtZXhwZWN0ZWQudHh0LgorICAgICAgICAq
IGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtMTI4Lmh0bWw6IEFkZGVkLgorCiAyMDEwLTA5LTIyICBB
Ymhpc2hlayBBcnlhICA8aW5mZXJub0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdl
ZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtMTI4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtMTI4LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTVmODQzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC0xMjgtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAordmlld3BvcnQgc2l6ZSAxMDB4MTEwIHNjYWxlIDMu
MjAwMDAwIHdpdGggbGltaXRzIFszLjIwMDAwMCwgNS4wMDAwMDBdCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtMTI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjkzNDFmYTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Zp
ZXdwb3J0L3ZpZXdwb3J0LTEyOC5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzxodG1sPgorICAgIDxo
ZWFkPgorICAgICAgICA8dGl0bGU+Vmlld3BvcnQgbWV0YSBkYXRhIHN0b3JlZCBpbiBwYWdlIGNh
Y2hlLjwvdGl0bGU+CisgICAgICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD0xMDAgO2luaXRpYWwtc2NhbGU9MSI+CisKKyAgICAgICAgPHNjcmlwdD4KKworICAgICAgICAg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVy
ZW5jZUtleSIsIDEpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBwYWdl
c2hvdyhldnQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKCFldnQucGVyc2lz
dGVkKSB7CisgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoJ3dpbmRvdy5sb2NhdGlvbiA9
ICJkYXRhOnRleHQvaHRtbCw8c2NyaXB0Pmhpc3RvcnkuYmFjaygpPCIgKyAiL3NjcmlwdD4iJywg
MCk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydCgzMjAsIDM1Mik7Cisg
ICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsgfSwg
MCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICB3aW5k
b3cub25wYWdlc2hvdyA9IHBhZ2VzaG93OworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+
CisgICAgPGJvZHk+CisgICAgPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDc2YjIyOTguLjkxYWNjY2IgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjIgQEAKKzIwMTAtMDktMjMgIEx1aXogQWdvc3RpbmkgIDxsdWl6LmFnb3N0aW5pQG9w
ZW5ib3NzYS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgS2VlcCB2aWV3cG9ydCBpbmZvcm1hdGlvbiBpbiBEb2N1bWVudAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDYzODUKKworICAgICAgICBUaGUg
dmlld3BvcnQgbWV0YSBkYXRhIChsYXlvdXQgdmlld3BvcnQsIHNjYWxlKSBuZWVkcyB0byBiZSBz
ZXQgYWdhaW4gd2hlbiBicmluZ2luZworICAgICAgICBiYWNrIGEgcGFnZSBmcm9tIHRoZSBwYWdl
IGNhY2hlLiBBcyB0aGUgdmlld3BvcnQgbWV0YWRhdGEgaXMgb25seSByZXRyaWV2ZWQgd2hpbGUg
cGFyc2luZworICAgICAgICB0aGUgZG9jdW1lbnQsIHdlIG5lZWQgdG8gc3RvcmUgaXQgaW4gdGhl
IERvY3VtZW50IGNsYXNzLgorCisgICAgICAgIFRlc3Q6IGZhc3Qvdmlld3BvcnQvdmlld3BvcnQt
MTI4Lmh0bWwKKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6cHJvY2Vzc1ZpZXdwb3J0KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
OjpzZXRJblBhZ2VDYWNoZSk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6dmlld3BvcnRBcmd1bWVudHMpOgorCiAyMDEwLTA5LTIyICBMdWl6
IEFnb3N0aW5pICA8bHVpei5hZ29zdGluaUBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IE9saXZlciBIdW50LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
IGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDE5NGQ0ZTEuLjRlNWNiNzkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAKQEAgLTEyOSw3ICsxMjksNiBAQAogI2luY2x1ZGUgIlRyZWVXYWxrZXIuaCIKICNpbmNs
dWRlICJVSUV2ZW50LmgiCiAjaW5jbHVkZSAiVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmgiCi0jaW5j
bHVkZSAiVmlld3BvcnRBcmd1bWVudHMuaCIKICNpbmNsdWRlICJXZWJLaXRBbmltYXRpb25FdmVu
dC5oIgogI2luY2x1ZGUgIldlYktpdFRyYW5zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIldoZWVs
RXZlbnQuaCIKQEAgLTI1ODgsMTYgKzI1ODcsMTQgQEAgdm9pZCBEb2N1bWVudDo6cHJvY2Vzc1Zp
ZXdwb3J0KGNvbnN0IFN0cmluZyYgZmVhdHVyZXMpCiB7CiAgICAgQVNTRVJUKCFmZWF0dXJlcy5p
c051bGwoKSk7CiAKKyAgICBtX3ZpZXdwb3J0QXJndW1lbnRzID0gVmlld3BvcnRBcmd1bWVudHMo
KTsKKyAgICBwcm9jZXNzQXJndW1lbnRzKGZlYXR1cmVzLCAodm9pZCopJm1fdmlld3BvcnRBcmd1
bWVudHMsICZzZXRWaWV3cG9ydEZlYXR1cmUpOworCiAgICAgRnJhbWUqIGZyYW1lID0gdGhpcy0+
ZnJhbWUoKTsKLSAgICBpZiAoIWZyYW1lKQorICAgIGlmICghZnJhbWUgfHwgIWZyYW1lLT5wYWdl
KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChmcmFtZS0+cGFnZSgpKSB7Ci0gICAgICAg
IFZpZXdwb3J0QXJndW1lbnRzIGFyZ3VtZW50czsKLSAgICAgICAgcHJvY2Vzc0FyZ3VtZW50cyhm
ZWF0dXJlcywgKHZvaWQqKSZhcmd1bWVudHMsICZzZXRWaWV3cG9ydEZlYXR1cmUpOwotCi0gICAg
ICAgIGZyYW1lLT5wYWdlKCktPmNocm9tZSgpLT5jbGllbnQoKS0+ZGlkUmVjZWl2ZVZpZXdwb3J0
QXJndW1lbnRzKGZyYW1lLCBhcmd1bWVudHMpOwotICAgIH0KKyAgICBmcmFtZS0+cGFnZSgpLT5j
aHJvbWUoKS0+Y2xpZW50KCktPmRpZFJlY2VpdmVWaWV3cG9ydEFyZ3VtZW50cyhmcmFtZSwgbV92
aWV3cG9ydEFyZ3VtZW50cyk7CiB9CiAKIE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMgRG9j
dW1lbnQ6OnByZXBhcmVNb3VzZUV2ZW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBj
b25zdCBJbnRQb2ludCYgZG9jdW1lbnRQb2ludCwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBl
dmVudCkKQEAgLTM4MTEsNiArMzgwOCwxMCBAQCB2b2lkIERvY3VtZW50OjpzZXRJblBhZ2VDYWNo
ZShib29sIGZsYWcpCiAgICAgICAgIEFTU0VSVChtX3JlbmRlckFyZW5hKTsKICAgICAgICAgc2V0
UmVuZGVyZXIobV9zYXZlZFJlbmRlcmVyKTsKICAgICAgICAgbV9zYXZlZFJlbmRlcmVyID0gMDsK
KworICAgICAgICBpZiAoZnJhbWUoKSAmJiBmcmFtZSgpLT5wYWdlKCkpCisgICAgICAgICAgICBm
cmFtZSgpLT5wYWdlKCktPmNocm9tZSgpLT5jbGllbnQoKS0+ZGlkUmVjZWl2ZVZpZXdwb3J0QXJn
dW1lbnRzKGZyYW1lKCksIG1fdmlld3BvcnRBcmd1bWVudHMpOworCiAgICAgICAgIGlmIChjaGls
ZE5lZWRzU3R5bGVSZWNhbGMoKSkKICAgICAgICAgICAgIHNjaGVkdWxlU3R5bGVSZWNhbGMoKTsK
ICAgICB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaAppbmRleCA0MmQyNzA2Li4wM2EwNzgxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTM2LDYgKzM2LDcg
QEAKICNpbmNsdWRlICJRdWFsaWZpZWROYW1lLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSAiVmlld3BvcnRBcmd1bWVu
dHMuaCIKICNpbmNsdWRlIDx3dGYvRml4ZWRBcnJheS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoQ291
bnRlZFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KQEAgLTI3Niw2ICsyNzcsOCBAQCBw
dWJsaWM6CiAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRmdWxsc2Ny
ZWVuY2hhbmdlKTsKICNlbmRpZgogCisgICAgVmlld3BvcnRBcmd1bWVudHMgdmlld3BvcnRBcmd1
bWVudHMoKSBjb25zdCB7IHJldHVybiBtX3ZpZXdwb3J0QXJndW1lbnRzOyB9CisKICAgICBEb2N1
bWVudFR5cGUqIGRvY3R5cGUoKSBjb25zdCB7IHJldHVybiBtX2RvY1R5cGUuZ2V0KCk7IH0KIAog
ICAgIERPTUltcGxlbWVudGF0aW9uKiBpbXBsZW1lbnRhdGlvbigpIGNvbnN0OwpAQCAtMTMxMiw2
ICsxMzE1LDggQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgaW50IG1fbG9hZEV2ZW50RGVsYXlD
b3VudDsKKworICAgIFZpZXdwb3J0QXJndW1lbnRzIG1fdmlld3BvcnRBcmd1bWVudHM7CiB9Owog
CiBpbmxpbmUgYm9vbCBEb2N1bWVudDo6aGFzRWxlbWVudFdpdGhJZChBdG9taWNTdHJpbmdJbXBs
KiBpZCkgY29uc3QKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmNwcCBiL1dl
YktpdC9xdC9BcGkvcXdlYmZyYW1lLmNwcAppbmRleCA0NjU4MGJiLi43Mjk1YjgyIDEwMDY0NAot
LS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2Vi
ZnJhbWUuY3BwCkBAIC0yMzAsNiArMjMwLDE0IEBAIHZvaWQgUVdlYkZyYW1lUHJpdmF0ZTo6aW5p
dChRV2ViRnJhbWUgKnFmcmFtZSwgUVdlYkZyYW1lRGF0YSAqZnJhbWVEYXRhKQogICAgIGZyYW1l
LT5pbml0KCk7CiB9CiAKK1dlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzIFFXZWJGcmFtZVByaXZh
dGU6OnZpZXdwb3J0QXJndW1lbnRzKCkKK3sKKyAgICBpZiAoIWZyYW1lIHx8ICFmcmFtZS0+ZG9j
dW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzKCk7CisK
KyAgICByZXR1cm4gZnJhbWUtPmRvY3VtZW50KCktPnZpZXdwb3J0QXJndW1lbnRzKCk7Cit9CisK
IHZvaWQgUVdlYkZyYW1lUHJpdmF0ZTo6c2V0UGFnZShRV2ViUGFnZSogbmV3UGFnZSkKIHsKICAg
ICBpZiAocGFnZSA9PSBuZXdQYWdlKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2ViZnJh
bWVfcC5oIGIvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWVfcC5oCmluZGV4IDZkNmVjYTEuLmQ4NThh
MDkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lX3AuaAorKysgYi9XZWJLaXQv
cXQvQXBpL3F3ZWJmcmFtZV9wLmgKQEAgLTEwMSw3ICsxMDEsNyBAQCBwdWJsaWM6CiAgICAgaW50
IG1hcmdpbldpZHRoOwogICAgIGludCBtYXJnaW5IZWlnaHQ7CiAgICAgYm9vbCB6b29tVGV4dE9u
bHk7Ci0gICAgV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMgdmlld3BvcnRBcmd1bWVudHM7Cisg
ICAgV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMgdmlld3BvcnRBcmd1bWVudHMoKTsKIH07CiAK
IGNsYXNzIFFXZWJIaXRUZXN0UmVzdWx0UHJpdmF0ZSB7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQv
QXBpL3F3ZWJwYWdlLmNwcCBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmluZGV4IDlhYTFh
M2IuLjU3MzUwMGUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCisrKyBi
L1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBAIC0yMzQ4LDcgKzIzNDgsNyBAQCBRV2ViUGFn
ZTo6Vmlld3BvcnRDb25maWd1cmF0aW9uIFFXZWJQYWdlOjp2aWV3cG9ydENvbmZpZ3VyYXRpb25G
b3JTaXplKFFTaXplIGF2YQogICAgIGludCBkZXZpY2VXaWR0aCA9IHJlY3Qud2lkdGgoKTsKICAg
ICBpbnQgZGV2aWNlSGVpZ2h0ID0gcmVjdC5oZWlnaHQoKTsKIAotICAgIFdlYkNvcmU6OlZpZXdw
b3J0Q29uZmlndXJhdGlvbiBjb25mID0gV2ViQ29yZTo6ZmluZENvbmZpZ3VyYXRpb25Gb3JWaWV3
cG9ydERhdGEobWFpbkZyYW1lKCktPmQtPnZpZXdwb3J0QXJndW1lbnRzLCBkZXNrdG9wV2lkdGgs
IGRldmljZVdpZHRoLCBkZXZpY2VIZWlnaHQsIGRldmljZURQSSwgYXZhaWxhYmxlU2l6ZSk7Cisg
ICAgV2ViQ29yZTo6Vmlld3BvcnRDb25maWd1cmF0aW9uIGNvbmYgPSBXZWJDb3JlOjpmaW5kQ29u
ZmlndXJhdGlvbkZvclZpZXdwb3J0RGF0YShtYWluRnJhbWUoKS0+ZC0+dmlld3BvcnRBcmd1bWVu
dHMoKSwgZGVza3RvcFdpZHRoLCBkZXZpY2VXaWR0aCwgZGV2aWNlSGVpZ2h0LCBkZXZpY2VEUEks
IGF2YWlsYWJsZVNpemUpOwogCiAgICAgVmlld3BvcnRDb25maWd1cmF0aW9uIHJlc3VsdDsKIApk
aWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5k
ZXggNGE0YTA2OS4uZDc5NTk3YiAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0NoYW5nZUxvZworKysg
Yi9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTAtMDktMjMgIEx1aXog
QWdvc3RpbmkgIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgS2VlcCB2aWV3cG9ydCBpbmZvcm1hdGlv
biBpbiBEb2N1bWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDYzODUKKworICAgICAgICBUaGUgdmlld3BvcnQgbWV0YSBkYXRhIChsYXlvdXQgdmll
d3BvcnQsIHNjYWxlKSBuZWVkcyB0byBiZSBzZXQgYWdhaW4gd2hlbiBicmluZ2luZworICAgICAg
ICBiYWNrIGEgcGFnZSBmcm9tIHRoZSBwYWdlIGNhY2hlLiBBcyB0aGUgdmlld3BvcnQgbWV0YWRh
dGEgaXMgb25seSByZXRyaWV2ZWQgd2hpbGUgcGFyc2luZworICAgICAgICB0aGUgZG9jdW1lbnQs
IHdlIG5lZWQgdG8gc3RvcmUgaXQgaW4gdGhlIERvY3VtZW50IGNsYXNzLgorCisgICAgICAgICog
QXBpL3F3ZWJmcmFtZS5jcHA6CisgICAgICAgIChRV2ViRnJhbWVQcml2YXRlOjp2aWV3cG9ydEFy
Z3VtZW50cyk6CisgICAgICAgICogQXBpL3F3ZWJmcmFtZV9wLmg6CisgICAgICAgICogQXBpL3F3
ZWJwYWdlLmNwcDoKKyAgICAgICAgKFFXZWJQYWdlOjp2aWV3cG9ydENvbmZpZ3VyYXRpb25Gb3JT
aXplKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRRdDo6ZGlkUmVjZWl2ZVZpZXdwb3J0QXJndW1lbnRz
KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHA6
CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6dmlld3BvcnRBc1RleHQpOgorICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRRdDo6ZGlzcGF0Y2hEaWRDb21taXRMb2FkKToKKwog
MjAxMC0wOS0yMiAgSmFtZXkgSGlja3MgIDxqYW1leS5oaWNrc0Bub2tpYS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwIGIvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcAppbmRleCBhNWRmZGM3Li45ZmJjNWU1IDEw
MDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCisr
KyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKQEAgLTY0NCw4
ICs2NDQsNiBAQCBRV2ViU2VsZWN0TWV0aG9kKiBDaHJvbWVDbGllbnRRdDo6Y3JlYXRlU2VsZWN0
UG9wdXAoKSBjb25zdAogCiB2b2lkIENocm9tZUNsaWVudFF0OjpkaWRSZWNlaXZlVmlld3BvcnRB
cmd1bWVudHMoRnJhbWUqIGZyYW1lLCBjb25zdCBWaWV3cG9ydEFyZ3VtZW50cyYgYXJndW1lbnRz
KSBjb25zdAogewotICAgIG1fd2ViUGFnZS0+bWFpbkZyYW1lKCktPmQtPnZpZXdwb3J0QXJndW1l
bnRzID0gYXJndW1lbnRzOwotCiAgICAgZW1pdCBtX3dlYlBhZ2UtPnZpZXdwb3J0Q2hhbmdlUmVx
dWVzdGVkKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1w
UmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0UXQuY3BwCmluZGV4IGVkN2FjMzIuLjgzNmRmNDkgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKKysr
IGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcApA
QCAtNjMxLDcgKzYzMSw3IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmR1bXBOb3Rp
ZmljYXRpb24oYm9vbCBiKQogCiBRU3RyaW5nIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojp2aWV3
cG9ydEFzVGV4dChRV2ViUGFnZSogcGFnZSwgY29uc3QgUVNpemUmIGF2YWlsYWJsZVNpemUpCiB7
Ci0gICAgV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMgYXJncyA9IHBhZ2UtPm1haW5GcmFtZSgp
LT5kLT52aWV3cG9ydEFyZ3VtZW50czsKKyAgICBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyBh
cmdzID0gcGFnZS0+bWFpbkZyYW1lKCktPmQtPnZpZXdwb3J0QXJndW1lbnRzKCk7CiAgICAgV2Vi
Q29yZTo6Vmlld3BvcnRDb25maWd1cmF0aW9uIGNvbmYgPSBXZWJDb3JlOjpmaW5kQ29uZmlndXJh
dGlvbkZvclZpZXdwb3J0RGF0YShhcmdzLAogICAgICAgICAvKiBkZXNrdG9wLXdpZHRoICovIDk4
MCwKICAgICAgICAgLyogZGV2aWNlLXdpZHRoICAqLyAzMjAsCmRpZmYgLS1naXQgYS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAgYi9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKaW5kZXggNGFhZGViMC4uMzc4MDQx
YyAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
UXQuY3BwCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0
LmNwcApAQCAtNDQyLDkgKzQ0Miw2IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRRdDo6ZGlzcGF0
Y2hEaWRDb21taXRMb2FkKCkKICAgICBpZiAobV9mcmFtZS0+dHJlZSgpLT5wYXJlbnQoKSB8fCAh
bV93ZWJGcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgLy8gQ2xlYXIgdGhlIHZpZXdwb3J0
IGFyZ3VtZW50cy4KLSAgICBtX3dlYkZyYW1lLT5kLT52aWV3cG9ydEFyZ3VtZW50cyA9IFdlYkNv
cmU6OlZpZXdwb3J0QXJndW1lbnRzKCk7Ci0KICAgICBlbWl0IG1fd2ViRnJhbWUtPnVybENoYW5n
ZWQobV93ZWJGcmFtZS0+dXJsKCkpOwogICAgIG1fd2ViRnJhbWUtPnBhZ2UoKS0+ZC0+dXBkYXRl
TmF2aWdhdGlvbkFjdGlvbnMoKTsKIAotLSAKMS43LjIuMgoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68714</attachid>
            <date>2010-09-24 11:06:04 -0700</date>
            <delta_ts>2010-09-24 15:01:06 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Keep-viewport-information-in-Document.patch</filename>
            <type>text/plain</type>
            <size>15452</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSBkYjQ2NjBlZDNhN2U4ZjlkNDlkOGE2OTZlMzJjNjk4NDk1YWFiZDRhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IEZyaSwgMjQgU2VwIDIwMTAgMTQ6NTM6MjEgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBLZWVwIHZpZXdwb3J0IGluZm9ybWF0aW9uIGluIERvY3VtZW50CiBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDYzODUKClJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgoKVGhlIHZpZXdwb3J0IG1ldGEgZGF0YSAobGF5b3V0IHZpZXdwb3J0LCBzY2FsZSkgbmVl
ZHMgdG8gYmUgc2V0IGFnYWluIHdoZW4gYnJpbmdpbmcKYmFjayBhIHBhZ2UgZnJvbSB0aGUgcGFn
ZSBjYWNoZS4gQXMgdGhlIHZpZXdwb3J0IG1ldGFkYXRhIGlzIG9ubHkgcmV0cmlldmVkIHdoaWxl
IHBhcnNpbmcKdGhlIGRvY3VtZW50LCB3ZSBuZWVkIHRvIHN0b3JlIGl0IGluIHRoZSBEb2N1bWVu
dCBjbGFzcy4KCldlYkNvcmU6CgpUZXN0OiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LTEyOC5odG1s
CgoqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKiBkb20vRG9jdW1lbnQuY3Bw
OgooV2ViQ29yZTo6RG9jdW1lbnQ6OnByb2Nlc3NWaWV3cG9ydCk6CihXZWJDb3JlOjpEb2N1bWVu
dDo6c2V0SW5QYWdlQ2FjaGUpOgoqIGRvbS9Eb2N1bWVudC5oOgooV2ViQ29yZTo6RG9jdW1lbnQ6
OnZpZXdwb3J0QXJndW1lbnRzKToKCldlYktpdC9xdDoKCiogQXBpL3F3ZWJmcmFtZS5jcHA6CihR
V2ViRnJhbWVQcml2YXRlOjp2aWV3cG9ydEFyZ3VtZW50cyk6CiogQXBpL3F3ZWJmcmFtZV9wLmg6
CiogQXBpL3F3ZWJwYWdlLmNwcDoKKFFXZWJQYWdlOjp2aWV3cG9ydENvbmZpZ3VyYXRpb25Gb3JT
aXplKToKKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHA6CihXZWJDb3JlOjpDaHJv
bWVDbGllbnRRdDo6ZGlkUmVjZWl2ZVZpZXdwb3J0QXJndW1lbnRzKToKKiBXZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHA6CihEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6
dmlld3BvcnRBc1RleHQpOgoqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3Bw
OgooV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRRdDo6ZGlzcGF0Y2hEaWRDb21taXRMb2FkKToK
CkxheW91dFRlc3RzOgoKKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LTEyOC1leHBlY3RlZC50eHQ6
IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtMTktZXhwZWN0
ZWQudHh0LgoqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtMTI4Lmh0bWw6IEFkZGVkLgotLS0KIExh
eW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNCAr
KysrKysrKwogLi4uL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtMTI4LWV4cGVjdGVkLnR4dCAgICAg
ICAgfCAgICAyICsKIExheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtMTI4Lmh0bWwg
ICAgICAgIHwgICAzMyArKysrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIwICsrKysrKysrKysrKwogV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogICAgICAgICAgfCAgICAyICstCiBX
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTcg
KysrKystLS0tLQogV2ViQ29yZS9kb20vRG9jdW1lbnQuaCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgICA1ICsrKwogV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuY3BwICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgICA4ICsrKysrCiBXZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZV9wLmggICAg
ICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKy0KIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3Bw
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArLQogV2ViS2l0L3F0L0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIzICsrKysrKysrKysrKysrCiBXZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwICAgICAgICB8ICAgIDIgLQog
Li4uL3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcCAgfCAgICAy
ICstCiBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAgICB8
ICAgIDMgLS0KIDE0IGZpbGVzIGNoYW5nZWQsIDExOSBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlv
bnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdw
b3J0LTEyOC1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0
L3ZpZXdwb3J0L3ZpZXdwb3J0LTEyOC5odG1sCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDhhMWU1OTAuLjc0NmM2YWQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0wOS0yNCAgTHVpeiBBZ29zdGluaSAgPGx1aXouYWdv
c3RpbmlAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBLZWVwIHZpZXdwb3J0IGluZm9ybWF0aW9uIGluIERvY3VtZW50CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NjM4NQorCisgICAg
ICAgIFRoZSB2aWV3cG9ydCBtZXRhIGRhdGEgKGxheW91dCB2aWV3cG9ydCwgc2NhbGUpIG5lZWRz
IHRvIGJlIHNldCBhZ2FpbiB3aGVuIGJyaW5naW5nCisgICAgICAgIGJhY2sgYSBwYWdlIGZyb20g
dGhlIHBhZ2UgY2FjaGUuIEFzIHRoZSB2aWV3cG9ydCBtZXRhZGF0YSBpcyBvbmx5IHJldHJpZXZl
ZCB3aGlsZSBwYXJzaW5nCisgICAgICAgIHRoZSBkb2N1bWVudCwgd2UgbmVlZCB0byBzdG9yZSBp
dCBpbiB0aGUgRG9jdW1lbnQgY2xhc3MuCisKKyAgICAgICAgKiBmYXN0L3ZpZXdwb3J0L3ZpZXdw
b3J0LTEyOC1leHBlY3RlZC50eHQ6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3Qvdmlld3Bv
cnQvdmlld3BvcnQtMTktZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGZhc3Qvdmlld3BvcnQvdmll
d3BvcnQtMTI4Lmh0bWw6IEFkZGVkLgorCiAyMDEwLTA5LTIyICBBYmhpc2hlayBBcnlhICA8aW5m
ZXJub0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtMTI4LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtMTI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjA5NTAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC0xMjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMiBAQAordmlld3BvcnQgc2l6ZSAxNjB4MTc2IHNjYWxlIDIuMDAwMDAwIHdpdGggbGltaXRz
IFsyLjAwMDAwMCwgNS4wMDAwMDBdCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvdmll
d3BvcnQvdmlld3BvcnQtMTI4Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdw
b3J0LTEyOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlMDdlMGUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LTEy
OC5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8dGl0
bGU+Vmlld3BvcnQgbWV0YSBkYXRhIHN0b3JlZCBpbiBwYWdlIGNhY2hlLjwvdGl0bGU+CisgICAg
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD0xMDAsIGluaXRpYWwtc2Nh
bGU9MiI+CisKKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIC8vIFRoZSBvYmplY3RpdmUg
aXMgdG8gdGVzdCBpZiB0aGUgdmlld3BvcnQgbWV0YSB0YWcgaW5mb3JtYXRpb24gaXMgc3RvcmVk
IGluIHBhZ2UgY2FjaGUKKworICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgeworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7
CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQcmVmZXJlbmNl
KCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBmdW5jdGlvbiBwYWdlc2hvdyhldnQpCisgICAgICAgICAgICB7CisgICAg
ICAgICAgICAgICAgaWYgKCFldnQucGVyc2lzdGVkKSB7CisgICAgICAgICAgICAgICAgICAgIC8v
IHRoaXMgd2lsbCBydW4gb25seSB3aGVuIHRoZSBwYWdlIGlzIGxvYWRlZCBmb3IgdGhlIGZpcnN0
IHRpbWUuCisgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoJ3dpbmRvdy5sb2NhdGlvbiA9
ICJkYXRhOnRleHQvaHRtbCw8c2NyaXB0Pmhpc3RvcnkuYmFjaygpPCIgKyAiL3NjcmlwdD4iJywg
MCk7CisKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAvLyBp
ZiB0aGlzIHBvaW50IGlzIHJlYWNoZWQgdGhlIHBhZ2UgaXMgY29tbWluZyBmcm9tIHRoZSBwYWdl
IGNhY2hlLgorICAgICAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQ29u
ZmlndXJhdGlvbkZvclZpZXdwb3J0KDMyMCwgMzUyKTsKKyAgICAgICAgICAgICAgICAgICAgc2V0
VGltZW91dChmdW5jdGlvbigpIHsgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOyB9LCAwKTsKKworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgd2luZG93Lm9ucGFnZXNob3cgPSBwYWdl
c2hvdzsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorPC9odG1sPgorCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDc2YjIyOTgu
LjdkNzE3NjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTAtMDktMjQgIEx1aXogQWdvc3RpbmkgIDxsdWl6
LmFnb3N0aW5pQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgS2VlcCB2aWV3cG9ydCBpbmZvcm1hdGlvbiBpbiBEb2N1bWVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDYzODUKKwor
ICAgICAgICBUaGUgdmlld3BvcnQgbWV0YSBkYXRhIChsYXlvdXQgdmlld3BvcnQsIHNjYWxlKSBu
ZWVkcyB0byBiZSBzZXQgYWdhaW4gd2hlbiBicmluZ2luZworICAgICAgICBiYWNrIGEgcGFnZSBm
cm9tIHRoZSBwYWdlIGNhY2hlLiBBcyB0aGUgdmlld3BvcnQgbWV0YWRhdGEgaXMgb25seSByZXRy
aWV2ZWQgd2hpbGUgcGFyc2luZworICAgICAgICB0aGUgZG9jdW1lbnQsIHdlIG5lZWQgdG8gc3Rv
cmUgaXQgaW4gdGhlIERvY3VtZW50IGNsYXNzLgorCisgICAgICAgIFRlc3Q6IGZhc3Qvdmlld3Bv
cnQvdmlld3BvcnQtMTI4Lmh0bWwKKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6OnByb2Nlc3NWaWV3cG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dDo6c2V0SW5QYWdlQ2FjaGUpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OnZpZXdwb3J0QXJndW1lbnRzKToKKwogMjAxMC0wOS0yMiAgTHVp
eiBBZ29zdGluaSAgPGx1aXouYWdvc3RpbmlAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBPbGl2ZXIgSHVudC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggYWRiYjQzNC4uMTRhYjcxYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTUxNzIsNyArNTE3Miw3IEBACiAJCUNFQTM5NDlDMTFENDVD
REEwMDMwOTRDRiAvKiBTdGF0aWNIYXNoU2V0Tm9kZUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0VBMzk0OUExMUQ0NUNEQTAwMzA5NENGIC8q
IFN0YXRpY0hhc2hTZXROb2RlTGlzdC5jcHAgKi87IH07CiAJCUNFQTM5NDlEMTFENDVDREEwMDMw
OTRDRiAvKiBTdGF0aWNIYXNoU2V0Tm9kZUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFQTM5NDlCMTFENDVDREEwMDMwOTRDRiAvKiBTdGF0aWNI
YXNoU2V0Tm9kZUxpc3QuaCAqLzsgfTsKIAkJQ0VGNDE4Q0UxMTc5Njc4QzAwOUQxMTJDIC8qIFZp
ZXdwb3J0QXJndW1lbnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IENFRjQxOENDMTE3OTY3OEMwMDlEMTEyQyAvKiBWaWV3cG9ydEFyZ3VtZW50cy5j
cHAgKi87IH07Ci0JCUNFRjQxOENGMTE3OTY3OEMwMDlEMTEyQyAvKiBWaWV3cG9ydEFyZ3VtZW50
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0VGNDE4
Q0QxMTc5Njc4QzAwOUQxMTJDIC8qIFZpZXdwb3J0QXJndW1lbnRzLmggKi87IH07CisJCUNFRjQx
OENGMTE3OTY3OEMwMDlEMTEyQyAvKiBWaWV3cG9ydEFyZ3VtZW50cy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0VGNDE4Q0QxMTc5Njc4QzAwOUQxMTJD
IC8qIFZpZXdwb3J0QXJndW1lbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJRDAwMEVCQTIxMUJEQUZENDAwQzQ3NzI2IC8qIEZyYW1lTG9hZGVy
U3RhdGVNYWNoaW5lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEQwMDBFQkEwMTFCREFGRDQwMEM0NzcyNiAvKiBGcmFtZUxvYWRlclN0YXRlTWFjaGlu
ZS5jcHAgKi87IH07CiAJCUQwMDBFQkEzMTFCREFGRDQwMEM0NzcyNiAvKiBGcmFtZUxvYWRlclN0
YXRlTWFjaGluZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRDAwMEVCQTExMUJEQUZENDAwQzQ3NzI2IC8qIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRDAwMEVE
MjcxMUMxQjlDRDAwQzQ3NzI2IC8qIFN1YmZyYW1lTG9hZGVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQwMDBFRDI1MTFDMUI5Q0QwMEM0NzcyNiAv
KiBTdWJmcmFtZUxvYWRlci5jcHAgKi87IH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggMTk0ZDRlMS4uNGU1Y2I3
OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcApAQCAtMTI5LDcgKzEyOSw2IEBACiAjaW5jbHVkZSAiVHJlZVdhbGtlci5o
IgogI2luY2x1ZGUgIlVJRXZlbnQuaCIKICNpbmNsdWRlICJVc2VyQ29udGVudFVSTFBhdHRlcm4u
aCIKLSNpbmNsdWRlICJWaWV3cG9ydEFyZ3VtZW50cy5oIgogI2luY2x1ZGUgIldlYktpdEFuaW1h
dGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmgiCiAjaW5jbHVk
ZSAiV2hlZWxFdmVudC5oIgpAQCAtMjU4OCwxNiArMjU4NywxNCBAQCB2b2lkIERvY3VtZW50Ojpw
cm9jZXNzVmlld3BvcnQoY29uc3QgU3RyaW5nJiBmZWF0dXJlcykKIHsKICAgICBBU1NFUlQoIWZl
YXR1cmVzLmlzTnVsbCgpKTsKIAorICAgIG1fdmlld3BvcnRBcmd1bWVudHMgPSBWaWV3cG9ydEFy
Z3VtZW50cygpOworICAgIHByb2Nlc3NBcmd1bWVudHMoZmVhdHVyZXMsICh2b2lkKikmbV92aWV3
cG9ydEFyZ3VtZW50cywgJnNldFZpZXdwb3J0RmVhdHVyZSk7CisKICAgICBGcmFtZSogZnJhbWUg
PSB0aGlzLT5mcmFtZSgpOwotICAgIGlmICghZnJhbWUpCisgICAgaWYgKCFmcmFtZSB8fCAhZnJh
bWUtPnBhZ2UoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKGZyYW1lLT5wYWdlKCkpIHsK
LSAgICAgICAgVmlld3BvcnRBcmd1bWVudHMgYXJndW1lbnRzOwotICAgICAgICBwcm9jZXNzQXJn
dW1lbnRzKGZlYXR1cmVzLCAodm9pZCopJmFyZ3VtZW50cywgJnNldFZpZXdwb3J0RmVhdHVyZSk7
Ci0KLSAgICAgICAgZnJhbWUtPnBhZ2UoKS0+Y2hyb21lKCktPmNsaWVudCgpLT5kaWRSZWNlaXZl
Vmlld3BvcnRBcmd1bWVudHMoZnJhbWUsIGFyZ3VtZW50cyk7Ci0gICAgfQorICAgIGZyYW1lLT5w
YWdlKCktPmNocm9tZSgpLT5jbGllbnQoKS0+ZGlkUmVjZWl2ZVZpZXdwb3J0QXJndW1lbnRzKGZy
YW1lLCBtX3ZpZXdwb3J0QXJndW1lbnRzKTsKIH0KIAogTW91c2VFdmVudFdpdGhIaXRUZXN0UmVz
dWx0cyBEb2N1bWVudDo6cHJlcGFyZU1vdXNlRXZlbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJl
cXVlc3QsIGNvbnN0IEludFBvaW50JiBkb2N1bWVudFBvaW50LCBjb25zdCBQbGF0Zm9ybU1vdXNl
RXZlbnQmIGV2ZW50KQpAQCAtMzgxMSw2ICszODA4LDEwIEBAIHZvaWQgRG9jdW1lbnQ6OnNldElu
UGFnZUNhY2hlKGJvb2wgZmxhZykKICAgICAgICAgQVNTRVJUKG1fcmVuZGVyQXJlbmEpOwogICAg
ICAgICBzZXRSZW5kZXJlcihtX3NhdmVkUmVuZGVyZXIpOwogICAgICAgICBtX3NhdmVkUmVuZGVy
ZXIgPSAwOworCisgICAgICAgIGlmIChmcmFtZSgpICYmIGZyYW1lKCktPnBhZ2UoKSkKKyAgICAg
ICAgICAgIGZyYW1lKCktPnBhZ2UoKS0+Y2hyb21lKCktPmNsaWVudCgpLT5kaWRSZWNlaXZlVmll
d3BvcnRBcmd1bWVudHMoZnJhbWUoKSwgbV92aWV3cG9ydEFyZ3VtZW50cyk7CisKICAgICAgICAg
aWYgKGNoaWxkTmVlZHNTdHlsZVJlY2FsYygpKQogICAgICAgICAgICAgc2NoZWR1bGVTdHlsZVJl
Y2FsYygpOwogICAgIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDQyZDI3MDYuLjAzYTA3ODEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMzYs
NiArMzYsNyBAQAogI2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKICNpbmNsdWRlICJTY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKKyNpbmNsdWRlICJWaWV3cG9y
dEFyZ3VtZW50cy5oIgogI2luY2x1ZGUgPHd0Zi9GaXhlZEFycmF5Lmg+CiAjaW5jbHVkZSA8d3Rm
L0hhc2hDb3VudGVkU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgpAQCAtMjc2LDYgKzI3
Nyw4IEBAIHB1YmxpYzoKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtp
dGZ1bGxzY3JlZW5jaGFuZ2UpOwogI2VuZGlmCiAKKyAgICBWaWV3cG9ydEFyZ3VtZW50cyB2aWV3
cG9ydEFyZ3VtZW50cygpIGNvbnN0IHsgcmV0dXJuIG1fdmlld3BvcnRBcmd1bWVudHM7IH0KKwog
ICAgIERvY3VtZW50VHlwZSogZG9jdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fZG9jVHlwZS5nZXQo
KTsgfQogCiAgICAgRE9NSW1wbGVtZW50YXRpb24qIGltcGxlbWVudGF0aW9uKCkgY29uc3Q7CkBA
IC0xMzEyLDYgKzEzMTUsOCBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICBpbnQgbV9sb2FkRXZl
bnREZWxheUNvdW50OworCisgICAgVmlld3BvcnRBcmd1bWVudHMgbV92aWV3cG9ydEFyZ3VtZW50
czsKIH07CiAKIGlubGluZSBib29sIERvY3VtZW50OjpoYXNFbGVtZW50V2l0aElkKEF0b21pY1N0
cmluZ0ltcGwqIGlkKSBjb25zdApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUu
Y3BwIGIvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuY3BwCmluZGV4IDQ2NTgwYmIuLjcyOTViODIg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmNwcAorKysgYi9XZWJLaXQvcXQv
QXBpL3F3ZWJmcmFtZS5jcHAKQEAgLTIzMCw2ICsyMzAsMTQgQEAgdm9pZCBRV2ViRnJhbWVQcml2
YXRlOjppbml0KFFXZWJGcmFtZSAqcWZyYW1lLCBRV2ViRnJhbWVEYXRhICpmcmFtZURhdGEpCiAg
ICAgZnJhbWUtPmluaXQoKTsKIH0KIAorV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMgUVdlYkZy
YW1lUHJpdmF0ZTo6dmlld3BvcnRBcmd1bWVudHMoKQoreworICAgIGlmICghZnJhbWUgfHwgIWZy
YW1lLT5kb2N1bWVudCgpKQorICAgICAgICByZXR1cm4gV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVu
dHMoKTsKKworICAgIHJldHVybiBmcmFtZS0+ZG9jdW1lbnQoKS0+dmlld3BvcnRBcmd1bWVudHMo
KTsKK30KKwogdm9pZCBRV2ViRnJhbWVQcml2YXRlOjpzZXRQYWdlKFFXZWJQYWdlKiBuZXdQYWdl
KQogewogICAgIGlmIChwYWdlID09IG5ld1BhZ2UpCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBp
L3F3ZWJmcmFtZV9wLmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZV9wLmgKaW5kZXggNmQ2ZWNh
MS4uNWJhM2Y1MiAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWVfcC5oCisrKyBi
L1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lX3AuaApAQCAtOTAsNiArOTAsOCBAQCBwdWJsaWM6CiAg
ICAgdm9pZCByZW5kZXJGcm9tVGlsZWRCYWNraW5nU3RvcmUoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0KiwgY29uc3QgUVJlZ2lvbiYgY2xpcCk7CiAjZW5kaWYKIAorICAgIFdlYkNvcmU6OlZpZXdw
b3J0QXJndW1lbnRzIHZpZXdwb3J0QXJndW1lbnRzKCk7CisKICAgICBRV2ViRnJhbWUgKnE7CiAg
ICAgUXQ6OlNjcm9sbEJhclBvbGljeSBob3Jpem9udGFsU2Nyb2xsQmFyUG9saWN5OwogICAgIFF0
OjpTY3JvbGxCYXJQb2xpY3kgdmVydGljYWxTY3JvbGxCYXJQb2xpY3k7CkBAIC0xMDEsNyArMTAz
LDYgQEAgcHVibGljOgogICAgIGludCBtYXJnaW5XaWR0aDsKICAgICBpbnQgbWFyZ2luSGVpZ2h0
OwogICAgIGJvb2wgem9vbVRleHRPbmx5OwotICAgIFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRz
IHZpZXdwb3J0QXJndW1lbnRzOwogfTsKIAogY2xhc3MgUVdlYkhpdFRlc3RSZXN1bHRQcml2YXRl
IHsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwIGIvV2ViS2l0L3F0L0Fw
aS9xd2VicGFnZS5jcHAKaW5kZXggOWFhMWEzYi4uNTczNTAwZSAxMDA2NDQKLS0tIGEvV2ViS2l0
L3F0L0FwaS9xd2VicGFnZS5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKQEAg
LTIzNDgsNyArMjM0OCw3IEBAIFFXZWJQYWdlOjpWaWV3cG9ydENvbmZpZ3VyYXRpb24gUVdlYlBh
Z2U6OnZpZXdwb3J0Q29uZmlndXJhdGlvbkZvclNpemUoUVNpemUgYXZhCiAgICAgaW50IGRldmlj
ZVdpZHRoID0gcmVjdC53aWR0aCgpOwogICAgIGludCBkZXZpY2VIZWlnaHQgPSByZWN0LmhlaWdo
dCgpOwogCi0gICAgV2ViQ29yZTo6Vmlld3BvcnRDb25maWd1cmF0aW9uIGNvbmYgPSBXZWJDb3Jl
OjpmaW5kQ29uZmlndXJhdGlvbkZvclZpZXdwb3J0RGF0YShtYWluRnJhbWUoKS0+ZC0+dmlld3Bv
cnRBcmd1bWVudHMsIGRlc2t0b3BXaWR0aCwgZGV2aWNlV2lkdGgsIGRldmljZUhlaWdodCwgZGV2
aWNlRFBJLCBhdmFpbGFibGVTaXplKTsKKyAgICBXZWJDb3JlOjpWaWV3cG9ydENvbmZpZ3VyYXRp
b24gY29uZiA9IFdlYkNvcmU6OmZpbmRDb25maWd1cmF0aW9uRm9yVmlld3BvcnREYXRhKG1haW5G
cmFtZSgpLT5kLT52aWV3cG9ydEFyZ3VtZW50cygpLCBkZXNrdG9wV2lkdGgsIGRldmljZVdpZHRo
LCBkZXZpY2VIZWlnaHQsIGRldmljZURQSSwgYXZhaWxhYmxlU2l6ZSk7CiAKICAgICBWaWV3cG9y
dENvbmZpZ3VyYXRpb24gcmVzdWx0OwogCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9n
IGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA0YTRhMDY5Li4xZTNlNWYyIDEwMDY0NAotLS0g
YS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNiBAQAorMjAxMC0wOS0yNCAgTHVpeiBBZ29zdGluaSAgPGx1aXouYWdvc3RpbmlAb3BlbmJv
c3NhLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBLZWVwIHZpZXdwb3J0IGluZm9ybWF0aW9uIGluIERvY3VtZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NjM4NQorCisgICAgICAgIFRoZSB2aWV3
cG9ydCBtZXRhIGRhdGEgKGxheW91dCB2aWV3cG9ydCwgc2NhbGUpIG5lZWRzIHRvIGJlIHNldCBh
Z2FpbiB3aGVuIGJyaW5naW5nCisgICAgICAgIGJhY2sgYSBwYWdlIGZyb20gdGhlIHBhZ2UgY2Fj
aGUuIEFzIHRoZSB2aWV3cG9ydCBtZXRhZGF0YSBpcyBvbmx5IHJldHJpZXZlZCB3aGlsZSBwYXJz
aW5nCisgICAgICAgIHRoZSBkb2N1bWVudCwgd2UgbmVlZCB0byBzdG9yZSBpdCBpbiB0aGUgRG9j
dW1lbnQgY2xhc3MuCisKKyAgICAgICAgKiBBcGkvcXdlYmZyYW1lLmNwcDoKKyAgICAgICAgKFFX
ZWJGcmFtZVByaXZhdGU6OnZpZXdwb3J0QXJndW1lbnRzKToKKyAgICAgICAgKiBBcGkvcXdlYmZy
YW1lX3AuaDoKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAoUVdlYlBhZ2U6
OnZpZXdwb3J0Q29uZmlndXJhdGlvbkZvclNpemUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudFF0Ojpk
aWRSZWNlaXZlVmlld3BvcnRBcmd1bWVudHMpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1
bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9y
dFF0Ojp2aWV3cG9ydEFzVGV4dCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2Fk
ZXJDbGllbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFF0Ojpk
aXNwYXRjaERpZENvbW1pdExvYWQpOgorCiAyMDEwLTA5LTIyICBKYW1leSBIaWNrcyAgPGphbWV5
LmhpY2tzQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENo
cmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRRdC5jcHAgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3Bw
CmluZGV4IGE1ZGZkYzcuLjlmYmM1ZTUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudFF0LmNwcApAQCAtNjQ0LDggKzY0NCw2IEBAIFFXZWJTZWxlY3RNZXRob2QqIENo
cm9tZUNsaWVudFF0OjpjcmVhdGVTZWxlY3RQb3B1cCgpIGNvbnN0CiAKIHZvaWQgQ2hyb21lQ2xp
ZW50UXQ6OmRpZFJlY2VpdmVWaWV3cG9ydEFyZ3VtZW50cyhGcmFtZSogZnJhbWUsIGNvbnN0IFZp
ZXdwb3J0QXJndW1lbnRzJiBhcmd1bWVudHMpIGNvbnN0CiB7Ci0gICAgbV93ZWJQYWdlLT5tYWlu
RnJhbWUoKS0+ZC0+dmlld3BvcnRBcmd1bWVudHMgPSBhcmd1bWVudHM7Ci0KICAgICBlbWl0IG1f
d2ViUGFnZS0+dmlld3BvcnRDaGFuZ2VSZXF1ZXN0ZWQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcCBiL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKaW5kZXggZWQ3
YWMzMi4uODM2ZGY0OSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBS
ZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAorKysgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVt
cFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwCkBAIC02MzEsNyArNjMxLDcgQEAgdm9pZCBEdW1wUmVu
ZGVyVHJlZVN1cHBvcnRRdDo6ZHVtcE5vdGlmaWNhdGlvbihib29sIGIpCiAKIFFTdHJpbmcgRHVt
cFJlbmRlclRyZWVTdXBwb3J0UXQ6OnZpZXdwb3J0QXNUZXh0KFFXZWJQYWdlKiBwYWdlLCBjb25z
dCBRU2l6ZSYgYXZhaWxhYmxlU2l6ZSkKIHsKLSAgICBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50
cyBhcmdzID0gcGFnZS0+bWFpbkZyYW1lKCktPmQtPnZpZXdwb3J0QXJndW1lbnRzOworICAgIFdl
YkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzIGFyZ3MgPSBwYWdlLT5tYWluRnJhbWUoKS0+ZC0+dmll
d3BvcnRBcmd1bWVudHMoKTsKICAgICBXZWJDb3JlOjpWaWV3cG9ydENvbmZpZ3VyYXRpb24gY29u
ZiA9IFdlYkNvcmU6OmZpbmRDb25maWd1cmF0aW9uRm9yVmlld3BvcnREYXRhKGFyZ3MsCiAgICAg
ICAgIC8qIGRlc2t0b3Atd2lkdGggKi8gOTgwLAogICAgICAgICAvKiBkZXZpY2Utd2lkdGggICov
IDMyMCwKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudFF0LmNwcCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0
LmNwcAppbmRleCA0YWFkZWIwLi4zNzgwNDFjIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwCkBAIC00NDIsOSArNDQyLDYgQEAgdm9pZCBG
cmFtZUxvYWRlckNsaWVudFF0OjpkaXNwYXRjaERpZENvbW1pdExvYWQoKQogICAgIGlmIChtX2Zy
YW1lLT50cmVlKCktPnBhcmVudCgpIHx8ICFtX3dlYkZyYW1lKQogICAgICAgICByZXR1cm47CiAK
LSAgICAvLyBDbGVhciB0aGUgdmlld3BvcnQgYXJndW1lbnRzLgotICAgIG1fd2ViRnJhbWUtPmQt
PnZpZXdwb3J0QXJndW1lbnRzID0gV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMoKTsKLQogICAg
IGVtaXQgbV93ZWJGcmFtZS0+dXJsQ2hhbmdlZChtX3dlYkZyYW1lLT51cmwoKSk7CiAgICAgbV93
ZWJGcmFtZS0+cGFnZSgpLT5kLT51cGRhdGVOYXZpZ2F0aW9uQWN0aW9ucygpOwogCi0tIAoxLjcu
Mi4yCgo=
</data>
<flag name="review"
          id="58272"
          type_id="1"
          status="+"
          setter="kenneth"
    />
          </attachment>
      

    </bug>

</bugzilla>