<?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>77111</bug_id>
          
          <creation_ts>2012-01-26 09:55:04 -0800</creation_ts>
          <short_desc>[Qt][WK2] Add the componentComplete method to WebView</short_desc>
          <delta_ts>2012-02-07 05:11:28 -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>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>Qt</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>77305</dependson>
    
    <dependson>77632</dependson>
          <blocked>76275</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andras Becsi">abecsi</reporter>
          <assigned_to name="Andras Becsi">abecsi</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>hausmann</cc>
    
    <cc>jesus</cc>
    
    <cc>kenneth</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>menard</cc>
    
    <cc>ossy</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>543216</commentid>
    <comment_count>0</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-01-26 09:55:04 -0800</bug_when>
    <thetext>Do the final steps of touch/desktop initialization when the QML engine has completed the construction of the WebView.
This is needed in order to be able to request the QDeclarativeEngine associated with the WebView object in the touch initialization with the qmlEngine function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543222</commentid>
    <comment_count>1</comment_count>
      <attachid>124133</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-01-26 10:00:10 -0800</bug_when>
    <thetext>Created attachment 124133
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543291</commentid>
    <comment_count>2</comment_count>
      <attachid>124133</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-01-26 11:03:04 -0800</bug_when>
    <thetext>Comment on attachment 124133
proposed patch

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

&gt; Source/WebKit2/UIProcess/API/qt/qwebviewportinfo.cpp:47
&gt;      if (!m_webViewPrivate-&gt;interactionEngine)
&gt; -        return QVariant();
&gt; +        return QVariant(0);

Default scale is 1.0

&gt; Source/WebKit2/UIProcess/API/qt/qwebviewportinfo.cpp:56
&gt;  QVariant QWebViewportInfo::devicePixelRatio() const
&gt;  {
&gt;      if (!m_webViewPrivate-&gt;interactionEngine)
&gt; -        return QVariant();
&gt; +        return QVariant(0);
&gt;  

This can actually be queried from JS, so it should be possible to return the right value here

&gt; Source/WebKit2/UIProcess/API/qt/qwebviewportinfo.cpp:64
&gt;      if (!m_webViewPrivate-&gt;interactionEngine)
&gt; -        return QVariant();
&gt; +        return QVariant(0);
&gt;  

default would be 1.0

&gt; Source/WebKit2/UIProcess/API/qt/qwebviewportinfo.cpp:88
&gt;      if (!m_webViewPrivate-&gt;interactionEngine)
&gt; -        return QVariant();
&gt; +        return QVariant(false);
&gt;  

default is false for desktop as we dont support it, but the page actually allow it by default</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543327</commentid>
    <comment_count>3</comment_count>
      <attachid>124154</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-01-26 11:33:02 -0800</bug_when>
    <thetext>Created attachment 124154
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543332</commentid>
    <comment_count>4</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-01-26 11:36:03 -0800</bug_when>
    <thetext>(In reply to comment #2)
Thanks, Kenneth, for the quick review.
Setting the values to the default values of QtViewportInteractionEngine::Constraints seems to be better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543338</commentid>
    <comment_count>5</comment_count>
      <attachid>124154</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-01-26 11:48:03 -0800</bug_when>
    <thetext>Comment on attachment 124154
proposed patch

Clearing flags on attachment: 124154

Committed r106022: &lt;http://trac.webkit.org/changeset/106022&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543339</commentid>
    <comment_count>6</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-01-26 11:48:10 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544789</commentid>
    <comment_count>7</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-01-29 15:53:29 -0800</bug_when>
    <thetext>Sorry, but I had to roll it out, because it broke the Qt-WK2 API tests.

before this patch: TOTALS: 112 passed, 0 failed, 0 skipped - http://build.webkit.sed.hu/builders/x86-32%20Linux%20Qt%20Release%20WebKit2/builds/19228/steps/API%20tests/logs/stdio
after this patch: TOTALS: 6 passed, 1 failed, 0 skipped - http://build.webkit.sed.hu/builders/x86-32%20Linux%20Qt%20Release%20WebKit2/builds/19229/steps/API%20tests/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544793</commentid>
    <comment_count>8</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-01-29 16:04:28 -0800</bug_when>
    <thetext>Additionally it made multi touch tests flakey crash:
http://build.webkit.sed.hu/results/x86-32%20Linux%20Qt%20Release%20WebKit2/r106024%20%2819230%29/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548908</commentid>
    <comment_count>9</comment_count>
      <attachid>125375</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-02-03 11:44:05 -0800</bug_when>
    <thetext>Created attachment 125375
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>548911</commentid>
    <comment_count>10</comment_count>
      <attachid>125377</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-02-03 11:47:22 -0800</bug_when>
    <thetext>Created attachment 125377
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549931</commentid>
    <comment_count>11</comment_count>
      <attachid>125377</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-02-06 05:53:50 -0800</bug_when>
    <thetext>Comment on attachment 125377
proposed patch

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

&gt; Source/WebKit2/ChangeLog:11
&gt; +        Suspend the page and delay the dispatch of load succes on startup until

succes -&gt; success

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:744
&gt; +static QDeclarativeComponent* s_webViewComponent = 0;
&gt; +
&gt; +QQuickWebView* QQuickWebViewExperimental::createWebView()
&gt; +{
&gt; +    ASSERT(s_webViewComponent);
&gt; +
&gt; +    QObject* viewInstance = s_webViewComponent-&gt;create();
&gt; +    ASSERT(viewInstance);
&gt; +
&gt; +    return qobject_cast&lt;QQuickWebView*&gt;(viewInstance);
&gt; +}
&gt; +
&gt; +void QQuickWebViewExperimental::prepareWebViewComponent(const QString&amp; qmlImportPath, QObject* parent)
&gt; +{
&gt; +    ASSERT(!s_webViewComponent);
&gt; +    ASSERT(!qmlImportPath.isEmpty());
&gt; +
&gt; +    static QDeclarativeEngine* engine = new QDeclarativeEngine(parent);
&gt; +    engine-&gt;addImportPath(qmlImportPath);
&gt; +
&gt; +    s_webViewComponent = new QDeclarativeComponent(engine, parent);
&gt; +
&gt; +    s_webViewComponent-&gt;setData(QByteArrayLiteral(&quot;import QtQuick 2.0\n&quot;
&gt; +                                                  &quot;import QtWebKit 3.0\n&quot;
&gt; +                                                  &quot;WebView {}&quot;)
&gt; +                                , QUrl());
&gt; +}

I&apos;m not a fan of global pointers that can become dangling (for example if the parent dies). I understand that it&apos;s an optimization to create the QDeclarativeComponent only once, but if one single unit test is the only place where it is called, then I&apos;d prefer the code to be moved there (and therefore get rid of the global variable in the library here).

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h:71
&gt; +    virtual void onComponentComplete() { }

Why is this method re-implemented but empty in the body?

&gt; Source/WebKit2/UIProcess/API/qt/qwebviewportinfo.cpp:81
&gt; +    return QVariant(1.8);

Shouldn&apos;t those constants come from somewhere else? For example via return QtViewportInteractionEngine::Constraints().maximumScale; maybe?

&gt; Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:65
&gt; +    QQuickWebViewExperimental::prepareWebViewComponent(QLatin1Literal(IMPORT_DIR), this);

I think technically we should assume paths to be encoded in utf-8, not latin1. You could just do a QString::fromUtf8 - this isn&apos;t performance critical :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549998</commentid>
    <comment_count>12</comment_count>
      <attachid>125646</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-02-06 07:50:13 -0800</bug_when>
    <thetext>Created attachment 125646
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550002</commentid>
    <comment_count>13</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-02-06 07:59:16 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 125377 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=125377&amp;action=review
&gt; &gt; Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h:71
&gt; &gt; +    virtual void onComponentComplete() { }
&gt; 
&gt; Why is this method re-implemented but empty in the body?
&gt; 

Since the split of the private class into flickable/legacy we do not have a boolean any more but have virtual functions.
For the legacy webview we do nothing specific in componentComplete so the base method has an empty body but for the flickable case we reimplement it and do the initialization of the flickProvider.
This is in accordance with the other functions in QQuickWebViewPrivate which have an empty body.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550846</commentid>
    <comment_count>14</comment_count>
      <attachid>125815</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-02-07 04:39:00 -0800</bug_when>
    <thetext>Created attachment 125815
updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550854</commentid>
    <comment_count>15</comment_count>
      <attachid>125815</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-02-07 04:45:37 -0800</bug_when>
    <thetext>Comment on attachment 125815
updated patch

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

&gt; Source/WebKit2/ChangeLog:14
&gt; +        the initialization depends on the componentCoplete method being called.

D&apos;oh, I m going to fix this typo before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550878</commentid>
    <comment_count>16</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-02-07 05:10:46 -0800</bug_when>
    <thetext>Committed r106930: &lt;http://trac.webkit.org/changeset/106930&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550879</commentid>
    <comment_count>17</comment_count>
      <attachid>125815</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-02-07 05:11:28 -0800</bug_when>
    <thetext>Comment on attachment 125815
updated patch

Clearing flags from attachment.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124133</attachid>
            <date>2012-01-26 10:00:10 -0800</date>
            <delta_ts>2012-01-26 11:33:02 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>0001-componentComplete.patch</filename>
            <type>text/plain</type>
            <size>6569</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">RnJvbSA5YWQ3NjE1Yjg0NzM0NjYwZDMxMjczZGZmMTdlMzc1NWFiNGM3NjdmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyYXMgQmVjc2kgPGFuZHJhcy5iZWNzaUBub2tpYS5jb20+
CkRhdGU6IFRodSwgMjYgSmFuIDIwMTIgMTg6NTg6MzcgKzAxMDAKU3ViamVjdDogW1BBVENIXSBj
b21wb25lbnRDb21wbGV0ZQoKLS0tCiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8ICAgMjQgKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwICB8ICAgMzIgKysrKysrKysrKystLS0t
LS0tLQogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaCAg
fCAgICAyICstCiAuLi4vV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8u
Y3BwICB8ICAgMTQgKysrKy0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgNTAgaW5zZXJ0aW9ucygrKSwg
MjIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGVlYWQyY2IuLjMwODAxYjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMi0wMS0yNiAgQW5kcmFzIEJlY3NpICA8YW5kcmFzLmJl
Y3NpQG5va2lhLmNvbT4KKworICAgICAgICBbUXRdW1dLMl0gQWRkIHRoZSBjb21wb25lbnRDb21w
bGV0ZSBtZXRob2QgdG8gV2ViVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzcxMTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBNb3ZlIHRoZSB0b3VjaC9kZXNrdG9wIGluaXRpYWxpemF0aW9uIHRvIGNv
bXBvbmVudENvbXBsZXRlCisgICAgICAgIGFuZCByZXR1cm4gdmFsaWQgZGVmYXVsdCB2YWx1ZXMg
aW4gdGhlIHZpZXdwb3J0IGluZm8gZnVuY3Rpb25zLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjpz
ZXRVc2VUcmFkaXRpb25hbERlc2t0b3BCZWhhdmlvdXIpOgorICAgICAgICAoUVF1aWNrV2ViVmll
dzo6Z2VvbWV0cnlDaGFuZ2VkKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXc6OmNvbXBvbmVudENv
bXBsZXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHA6CisgICAgICAg
IChRV2ViVmlld3BvcnRJbmZvOjpjdXJyZW50U2NhbGUpOgorICAgICAgICAoUVdlYlZpZXdwb3J0
SW5mbzo6ZGV2aWNlUGl4ZWxSYXRpbyk6CisgICAgICAgIChRV2ViVmlld3BvcnRJbmZvOjppbml0
aWFsU2NhbGUpOgorICAgICAgICAoUVdlYlZpZXdwb3J0SW5mbzo6bWluaW11bVNjYWxlKToKKyAg
ICAgICAgKFFXZWJWaWV3cG9ydEluZm86Om1heGltdW1TY2FsZSk6CisgICAgICAgIChRV2ViVmll
d3BvcnRJbmZvOjppc1NjYWxhYmxlKToKKyAgICAgICAgKFFXZWJWaWV3cG9ydEluZm86OmxheW91
dFNpemUpOgorCiAyMDEyLTAxLTI2ICBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxj
YWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IG92ZXJyaWRl
UHJlZmVyZW5jZSBmb3IgYm9vbGVhbiBwcmVmZXJlbmNlcyBpbiBXZWJLaXRUZXN0UnVubmVyCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcApp
bmRleCBlYTg1NDQyLi42MTg4NDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKQEAgLTU1MCwxNiArNTUwLDggQEAgdm9pZCBRUXVp
Y2tXZWJWaWV3UHJpdmF0ZTo6X3Ffb25PcGVuUGFuZWxGaW5pc2hlZChpbnQgcmVzdWx0KQogCiB2
b2lkIFFRdWlja1dlYlZpZXdQcml2YXRlOjpzZXRVc2VUcmFkaXRpb25hbERlc2t0b3BCZWhhdmlv
dXIoYm9vbCBlbmFibGUpCiB7Ci0gICAgUV9RKFFRdWlja1dlYlZpZXcpOwotCi0gICAgLy8gRG8g
bm90IGd1YXJkLCB0ZXN0aW5nIGZvciB0aGUgc2FtZSB2YWx1ZSwgYXMgd2UgY2FsbCB0aGlzIGZy
b20gdGhlIGNvbnN0cnVjdG9yLgotCiAgICAgd2ViUGFnZVByb3h5LT5zZXRVc2VGaXhlZExheW91
dCghZW5hYmxlKTsKICAgICBwYWdlVmlldy0+c2V0VXNlc1RyYWRpdGlvbmFsRGVza3RvcEJlaGF2
aW91cihlbmFibGUpOwotICAgIGlmIChlbmFibGUpCi0gICAgICAgIGluaXRpYWxpemVEZXNrdG9w
KHEpOwotICAgIGVsc2UKLSAgICAgICAgaW5pdGlhbGl6ZVRvdWNoKHEpOwogfQogCiB2b2lkIFFR
dWlja1dlYlZpZXdQcml2YXRlOjpzZXRWaWV3SW5BdHRhY2hlZFByb3BlcnRpZXMoUU9iamVjdCog
b2JqZWN0KQpAQCAtMTA1NCwxMiArMTA0NiwyNCBAQCB2b2lkIFFRdWlja1dlYlZpZXc6Omdlb21l
dHJ5Q2hhbmdlZChjb25zdCBRUmVjdEYmIG5ld0dlb21ldHJ5LCBjb25zdCBRUmVjdEYmIG9sZAog
ewogICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKICAgICBRUXVpY2tJdGVtOjpnZW9tZXRyeUNoYW5n
ZWQobmV3R2VvbWV0cnksIG9sZEdlb21ldHJ5KTsKLSAgICBpZiAobmV3R2VvbWV0cnkuc2l6ZSgp
ICE9IG9sZEdlb21ldHJ5LnNpemUoKSkgewotICAgICAgICBpZiAoZC0+cGFnZVZpZXctPnVzZXNU
cmFkaXRpb25hbERlc2t0b3BCZWhhdmlvdXIoKSkKLSAgICAgICAgICAgIGQtPnVwZGF0ZURlc2t0
b3BWaWV3cG9ydFNpemUoKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgZC0+dXBkYXRlVG91
Y2hWaWV3cG9ydFNpemUoKTsKLSAgICB9CisKKyAgICBpZiAobmV3R2VvbWV0cnkuaXNFbXB0eSgp
IHx8IG5ld0dlb21ldHJ5LnNpemUoKSA9PSBvbGRHZW9tZXRyeS5zaXplKCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIGlmIChkLT5wYWdlVmlldy0+dXNlc1RyYWRpdGlvbmFsRGVza3RvcEJlaGF2
aW91cigpKQorICAgICAgICBkLT51cGRhdGVEZXNrdG9wVmlld3BvcnRTaXplKCk7CisgICAgZWxz
ZQorICAgICAgICBkLT51cGRhdGVUb3VjaFZpZXdwb3J0U2l6ZSgpOworfQorCit2b2lkIFFRdWlj
a1dlYlZpZXc6OmNvbXBvbmVudENvbXBsZXRlKCkKK3sKKyAgICBRX0QoUVF1aWNrV2ViVmlldyk7
CisgICAgUVF1aWNrSXRlbTo6Y29tcG9uZW50Q29tcGxldGUoKTsKKyAgICBpZiAoZC0+cGFnZVZp
ZXctPnVzZXNUcmFkaXRpb25hbERlc2t0b3BCZWhhdmlvdXIoKSkKKyAgICAgICAgZC0+aW5pdGlh
bGl6ZURlc2t0b3AodGhpcyk7CisgICAgZWxzZQorICAgICAgICBkLT5pbml0aWFsaXplVG91Y2go
dGhpcyk7CiB9CiAKIHZvaWQgUVF1aWNrV2ViVmlldzo6a2V5UHJlc3NFdmVudChRS2V5RXZlbnQq
IGV2ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVp
Y2t3ZWJ2aWV3X3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vi
dmlld19wLmgKaW5kZXggNDVhOGRmMi4uM2M3MDE3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oCkBAIC0xMzUsNyArMTM1LDcgQEAg
UV9TSUdOQUxTOgogCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGdlb21ldHJ5Q2hhbmdl
ZChjb25zdCBRUmVjdEYmLCBjb25zdCBRUmVjdEYmKTsKLQorICAgIHZpcnR1YWwgdm9pZCBjb21w
b25lbnRDb21wbGV0ZSgpOwogICAgIHZpcnR1YWwgdm9pZCBrZXlQcmVzc0V2ZW50KFFLZXlFdmVu
dCopOwogICAgIHZpcnR1YWwgdm9pZCBrZXlSZWxlYXNlRXZlbnQoUUtleUV2ZW50Kik7CiAgICAg
dmlydHVhbCB2b2lkIGlucHV0TWV0aG9kRXZlbnQoUUlucHV0TWV0aG9kRXZlbnQqKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8uY3Bw
CmluZGV4IDczNTE5NmYuLjcwNDkzNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xd2Vidmlld3BvcnRpbmZvLmNwcApAQCAtNDQsNyArNDQsNyBAQCBRU2l6
ZSBRV2ViVmlld3BvcnRJbmZvOjpjb250ZW50c1NpemUoKSBjb25zdAogUVZhcmlhbnQgUVdlYlZp
ZXdwb3J0SW5mbzo6Y3VycmVudFNjYWxlKCkgY29uc3QKIHsKICAgICBpZiAoIW1fd2ViVmlld1By
aXZhdGUtPmludGVyYWN0aW9uRW5naW5lKQotICAgICAgICByZXR1cm4gUVZhcmlhbnQoKTsKKyAg
ICAgICAgcmV0dXJuIFFWYXJpYW50KDApOwogCiAgICAgcmV0dXJuIG1fd2ViVmlld1ByaXZhdGUt
PmludGVyYWN0aW9uRW5naW5lLT5jdXJyZW50Q1NTU2NhbGUoKTsKIH0KQEAgLTUyLDcgKzUyLDcg
QEAgUVZhcmlhbnQgUVdlYlZpZXdwb3J0SW5mbzo6Y3VycmVudFNjYWxlKCkgY29uc3QKIFFWYXJp
YW50IFFXZWJWaWV3cG9ydEluZm86OmRldmljZVBpeGVsUmF0aW8oKSBjb25zdAogewogICAgIGlm
ICghbV93ZWJWaWV3UHJpdmF0ZS0+aW50ZXJhY3Rpb25FbmdpbmUpCi0gICAgICAgIHJldHVybiBR
VmFyaWFudCgpOworICAgICAgICByZXR1cm4gUVZhcmlhbnQoMCk7CiAKICAgICByZXR1cm4gbV93
ZWJWaWV3UHJpdmF0ZS0+aW50ZXJhY3Rpb25FbmdpbmUtPmNvbnN0cmFpbnRzKCkuZGV2aWNlUGl4
ZWxSYXRpbzsKIH0KQEAgLTYwLDcgKzYwLDcgQEAgUVZhcmlhbnQgUVdlYlZpZXdwb3J0SW5mbzo6
ZGV2aWNlUGl4ZWxSYXRpbygpIGNvbnN0CiBRVmFyaWFudCBRV2ViVmlld3BvcnRJbmZvOjppbml0
aWFsU2NhbGUoKSBjb25zdAogewogICAgIGlmICghbV93ZWJWaWV3UHJpdmF0ZS0+aW50ZXJhY3Rp
b25FbmdpbmUpCi0gICAgICAgIHJldHVybiBRVmFyaWFudCgpOworICAgICAgICByZXR1cm4gUVZh
cmlhbnQoMCk7CiAKICAgICByZXR1cm4gbV93ZWJWaWV3UHJpdmF0ZS0+aW50ZXJhY3Rpb25Fbmdp
bmUtPmNvbnN0cmFpbnRzKCkuaW5pdGlhbFNjYWxlOwogfQpAQCAtNjgsNyArNjgsNyBAQCBRVmFy
aWFudCBRV2ViVmlld3BvcnRJbmZvOjppbml0aWFsU2NhbGUoKSBjb25zdAogUVZhcmlhbnQgUVdl
YlZpZXdwb3J0SW5mbzo6bWluaW11bVNjYWxlKCkgY29uc3QKIHsKICAgICBpZiAoIW1fd2ViVmll
d1ByaXZhdGUtPmludGVyYWN0aW9uRW5naW5lKQotICAgICAgICByZXR1cm4gUVZhcmlhbnQoKTsK
KyAgICAgICAgcmV0dXJuIFFWYXJpYW50KDApOwogCiAgICAgcmV0dXJuIG1fd2ViVmlld1ByaXZh
dGUtPmludGVyYWN0aW9uRW5naW5lLT5jb25zdHJhaW50cygpLm1pbmltdW1TY2FsZTsKIH0KQEAg
LTc2LDcgKzc2LDcgQEAgUVZhcmlhbnQgUVdlYlZpZXdwb3J0SW5mbzo6bWluaW11bVNjYWxlKCkg
Y29uc3QKIFFWYXJpYW50IFFXZWJWaWV3cG9ydEluZm86Om1heGltdW1TY2FsZSgpIGNvbnN0CiB7
CiAgICAgaWYgKCFtX3dlYlZpZXdQcml2YXRlLT5pbnRlcmFjdGlvbkVuZ2luZSkKLSAgICAgICAg
cmV0dXJuIFFWYXJpYW50KCk7CisgICAgICAgIHJldHVybiBRVmFyaWFudCgwKTsKIAogICAgIHJl
dHVybiBtX3dlYlZpZXdQcml2YXRlLT5pbnRlcmFjdGlvbkVuZ2luZS0+Y29uc3RyYWludHMoKS5t
YXhpbXVtU2NhbGU7CiB9CkBAIC04NCw3ICs4NCw3IEBAIFFWYXJpYW50IFFXZWJWaWV3cG9ydElu
Zm86Om1heGltdW1TY2FsZSgpIGNvbnN0CiBRVmFyaWFudCBRV2ViVmlld3BvcnRJbmZvOjppc1Nj
YWxhYmxlKCkgY29uc3QKIHsKICAgICBpZiAoIW1fd2ViVmlld1ByaXZhdGUtPmludGVyYWN0aW9u
RW5naW5lKQotICAgICAgICByZXR1cm4gUVZhcmlhbnQoKTsKKyAgICAgICAgcmV0dXJuIFFWYXJp
YW50KGZhbHNlKTsKIAogICAgIHJldHVybiBtX3dlYlZpZXdQcml2YXRlLT5pbnRlcmFjdGlvbkVu
Z2luZS0+Y29uc3RyYWludHMoKS5pc1VzZXJTY2FsYWJsZTsKIH0KQEAgLTkyLDcgKzkyLDcgQEAg
UVZhcmlhbnQgUVdlYlZpZXdwb3J0SW5mbzo6aXNTY2FsYWJsZSgpIGNvbnN0CiBRVmFyaWFudCBR
V2ViVmlld3BvcnRJbmZvOjpsYXlvdXRTaXplKCkgY29uc3QKIHsKICAgICBpZiAoIW1fd2ViVmll
d1ByaXZhdGUtPmludGVyYWN0aW9uRW5naW5lKQotICAgICAgICByZXR1cm4gUVZhcmlhbnQoKTsK
KyAgICAgICAgcmV0dXJuIFFWYXJpYW50KFFTaXplKCkpOwogCiAgICAgcmV0dXJuIG1fd2ViVmll
d1ByaXZhdGUtPmludGVyYWN0aW9uRW5naW5lLT5jb25zdHJhaW50cygpLmxheW91dFNpemU7CiB9
Ci0tIAoxLjcuOC4zCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124154</attachid>
            <date>2012-01-26 11:33:02 -0800</date>
            <delta_ts>2012-02-03 11:47:22 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>0001-componentComplete.patch</filename>
            <type>text/plain</type>
            <size>6291</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA4MmIxNTQyLi45NTcyYzVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzMg
QEAKIDIwMTItMDEtMjYgIEFuZHJhcyBCZWNzaSAgPGFuZHJhcy5iZWNzaUBub2tpYS5jb20+CiAK
KyAgICAgICAgW1F0XVtXSzJdIEFkZCB0aGUgY29tcG9uZW50Q29tcGxldGUgbWV0aG9kIHRvIFdl
YlZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3
MTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92
ZSB0aGUgdG91Y2gvZGVza3RvcCBpbml0aWFsaXphdGlvbiB0byBjb21wb25lbnRDb21wbGV0ZS4K
KyAgICAgICAgQWxzbyByZXR1cm4gdmFsaWQgZGVmYXVsdCB2YWx1ZXMgaW4gdGhlIHZpZXdwb3J0
IGluZm8gZnVuY3Rpb25zCisgICAgICAgIGlmIHRoZSBpbnRlcmFjdGlvbiBlbmdpbmUgaXMgbm90
IHlldCBpbml0aWFsaXplZCBiZWNhdXNlIHRoZQorICAgICAgICB2aWV3cG9ydCBpbmZvIGNvbXBv
bmVudCBjb3VsZCBmaW5pc2ggaW5pdGlhbGl6YXRpb24gZWFybGllcgorICAgICAgICB0aGFuIHRo
ZSBXZWJWaWV3LCB3aGljaCByZXN1bHRzIGluIFFNTCB3YXJuaW5ncyBkdXJpbmcgTWluaUJyb3dz
ZXIKKyAgICAgICAgc3RhcnR1cC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNr
d2Vidmlldy5jcHA6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6c2V0VXNlVHJhZGl0
aW9uYWxEZXNrdG9wQmVoYXZpb3VyKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXc6Omdlb21ldHJ5
Q2hhbmdlZCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3Ojpjb21wb25lbnRDb21wbGV0ZSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8uY3BwOgorICAgICAgICAoUVdlYlZpZXdw
b3J0SW5mbzo6Y3VycmVudFNjYWxlKToKKyAgICAgICAgKFFXZWJWaWV3cG9ydEluZm86OmRldmlj
ZVBpeGVsUmF0aW8pOgorICAgICAgICAoUVdlYlZpZXdwb3J0SW5mbzo6aW5pdGlhbFNjYWxlKToK
KyAgICAgICAgKFFXZWJWaWV3cG9ydEluZm86Om1pbmltdW1TY2FsZSk6CisgICAgICAgIChRV2Vi
Vmlld3BvcnRJbmZvOjptYXhpbXVtU2NhbGUpOgorICAgICAgICAoUVdlYlZpZXdwb3J0SW5mbzo6
aXNTY2FsYWJsZSk6CisgICAgICAgIChRV2ViVmlld3BvcnRJbmZvOjpsYXlvdXRTaXplKToKKwor
MjAxMi0wMS0yNiAgQW5kcmFzIEJlY3NpICA8YW5kcmFzLmJlY3NpQG5va2lhLmNvbT4KKwogICAg
ICAgICBBU1NFUlQoIW1fb3ZlcmxheSkgcmVhY2hlZCBpbiBUYXBIaWdobGlnaHRDb250cm9sbGVy
LmNwcDo3MwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzcxMTcKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVp
Y2t3ZWJ2aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vi
dmlldy5jcHAKaW5kZXggZWE4NTQ0Mi4uNjE4ODQxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCkBAIC01NTAsMTYgKzU1MCw4IEBA
IHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6Ol9xX29uT3BlblBhbmVsRmluaXNoZWQoaW50IHJl
c3VsdCkKIAogdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6c2V0VXNlVHJhZGl0aW9uYWxEZXNr
dG9wQmVoYXZpb3VyKGJvb2wgZW5hYmxlKQogewotICAgIFFfUShRUXVpY2tXZWJWaWV3KTsKLQot
ICAgIC8vIERvIG5vdCBndWFyZCwgdGVzdGluZyBmb3IgdGhlIHNhbWUgdmFsdWUsIGFzIHdlIGNh
bGwgdGhpcyBmcm9tIHRoZSBjb25zdHJ1Y3Rvci4KLQogICAgIHdlYlBhZ2VQcm94eS0+c2V0VXNl
Rml4ZWRMYXlvdXQoIWVuYWJsZSk7CiAgICAgcGFnZVZpZXctPnNldFVzZXNUcmFkaXRpb25hbERl
c2t0b3BCZWhhdmlvdXIoZW5hYmxlKTsKLSAgICBpZiAoZW5hYmxlKQotICAgICAgICBpbml0aWFs
aXplRGVza3RvcChxKTsKLSAgICBlbHNlCi0gICAgICAgIGluaXRpYWxpemVUb3VjaChxKTsKIH0K
IAogdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6c2V0Vmlld0luQXR0YWNoZWRQcm9wZXJ0aWVz
KFFPYmplY3QqIG9iamVjdCkKQEAgLTEwNTQsMTIgKzEwNDYsMjQgQEAgdm9pZCBRUXVpY2tXZWJW
aWV3OjpnZW9tZXRyeUNoYW5nZWQoY29uc3QgUVJlY3RGJiBuZXdHZW9tZXRyeSwgY29uc3QgUVJl
Y3RGJiBvbGQKIHsKICAgICBRX0QoUVF1aWNrV2ViVmlldyk7CiAgICAgUVF1aWNrSXRlbTo6Z2Vv
bWV0cnlDaGFuZ2VkKG5ld0dlb21ldHJ5LCBvbGRHZW9tZXRyeSk7Ci0gICAgaWYgKG5ld0dlb21l
dHJ5LnNpemUoKSAhPSBvbGRHZW9tZXRyeS5zaXplKCkpIHsKLSAgICAgICAgaWYgKGQtPnBhZ2VW
aWV3LT51c2VzVHJhZGl0aW9uYWxEZXNrdG9wQmVoYXZpb3VyKCkpCi0gICAgICAgICAgICBkLT51
cGRhdGVEZXNrdG9wVmlld3BvcnRTaXplKCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGQt
PnVwZGF0ZVRvdWNoVmlld3BvcnRTaXplKCk7Ci0gICAgfQorCisgICAgaWYgKG5ld0dlb21ldHJ5
LmlzRW1wdHkoKSB8fCBuZXdHZW9tZXRyeS5zaXplKCkgPT0gb2xkR2VvbWV0cnkuc2l6ZSgpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpZiAoZC0+cGFnZVZpZXctPnVzZXNUcmFkaXRpb25hbERl
c2t0b3BCZWhhdmlvdXIoKSkKKyAgICAgICAgZC0+dXBkYXRlRGVza3RvcFZpZXdwb3J0U2l6ZSgp
OworICAgIGVsc2UKKyAgICAgICAgZC0+dXBkYXRlVG91Y2hWaWV3cG9ydFNpemUoKTsKK30KKwor
dm9pZCBRUXVpY2tXZWJWaWV3Ojpjb21wb25lbnRDb21wbGV0ZSgpCit7CisgICAgUV9EKFFRdWlj
a1dlYlZpZXcpOworICAgIFFRdWlja0l0ZW06OmNvbXBvbmVudENvbXBsZXRlKCk7CisgICAgaWYg
KGQtPnBhZ2VWaWV3LT51c2VzVHJhZGl0aW9uYWxEZXNrdG9wQmVoYXZpb3VyKCkpCisgICAgICAg
IGQtPmluaXRpYWxpemVEZXNrdG9wKHRoaXMpOworICAgIGVsc2UKKyAgICAgICAgZC0+aW5pdGlh
bGl6ZVRvdWNoKHRoaXMpOwogfQogCiB2b2lkIFFRdWlja1dlYlZpZXc6OmtleVByZXNzRXZlbnQo
UUtleUV2ZW50KiBldmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXF1aWNrd2Vidmlld19wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3FxdWlja3dlYnZpZXdfcC5oCmluZGV4IDQ1YThkZjIuLjNjNzAxNzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaApAQCAtMTM1LDcg
KzEzNSw3IEBAIFFfU0lHTkFMUzoKIAogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBnZW9t
ZXRyeUNoYW5nZWQoY29uc3QgUVJlY3RGJiwgY29uc3QgUVJlY3RGJik7Ci0KKyAgICB2aXJ0dWFs
IHZvaWQgY29tcG9uZW50Q29tcGxldGUoKTsKICAgICB2aXJ0dWFsIHZvaWQga2V5UHJlc3NFdmVu
dChRS2V5RXZlbnQqKTsKICAgICB2aXJ0dWFsIHZvaWQga2V5UmVsZWFzZUV2ZW50KFFLZXlFdmVu
dCopOwogICAgIHZpcnR1YWwgdm9pZCBpbnB1dE1ldGhvZEV2ZW50KFFJbnB1dE1ldGhvZEV2ZW50
Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3
cG9ydGluZm8uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2Vidmlld3Bv
cnRpbmZvLmNwcAppbmRleCA3MzUxOTZmLi42OWI0YTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8uY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHAKQEAgLTQ0LDcgKzQ0
LDcgQEAgUVNpemUgUVdlYlZpZXdwb3J0SW5mbzo6Y29udGVudHNTaXplKCkgY29uc3QKIFFWYXJp
YW50IFFXZWJWaWV3cG9ydEluZm86OmN1cnJlbnRTY2FsZSgpIGNvbnN0CiB7CiAgICAgaWYgKCFt
X3dlYlZpZXdQcml2YXRlLT5pbnRlcmFjdGlvbkVuZ2luZSkKLSAgICAgICAgcmV0dXJuIFFWYXJp
YW50KCk7CisgICAgICAgIHJldHVybiBRVmFyaWFudCgxLjApOwogCiAgICAgcmV0dXJuIG1fd2Vi
Vmlld1ByaXZhdGUtPmludGVyYWN0aW9uRW5naW5lLT5jdXJyZW50Q1NTU2NhbGUoKTsKIH0KQEAg
LTUyLDcgKzUyLDcgQEAgUVZhcmlhbnQgUVdlYlZpZXdwb3J0SW5mbzo6Y3VycmVudFNjYWxlKCkg
Y29uc3QKIFFWYXJpYW50IFFXZWJWaWV3cG9ydEluZm86OmRldmljZVBpeGVsUmF0aW8oKSBjb25z
dAogewogICAgIGlmICghbV93ZWJWaWV3UHJpdmF0ZS0+aW50ZXJhY3Rpb25FbmdpbmUpCi0gICAg
ICAgIHJldHVybiBRVmFyaWFudCgpOworICAgICAgICByZXR1cm4gUVZhcmlhbnQoMS4wKTsKIAog
ICAgIHJldHVybiBtX3dlYlZpZXdQcml2YXRlLT5pbnRlcmFjdGlvbkVuZ2luZS0+Y29uc3RyYWlu
dHMoKS5kZXZpY2VQaXhlbFJhdGlvOwogfQpAQCAtNjAsNyArNjAsNyBAQCBRVmFyaWFudCBRV2Vi
Vmlld3BvcnRJbmZvOjpkZXZpY2VQaXhlbFJhdGlvKCkgY29uc3QKIFFWYXJpYW50IFFXZWJWaWV3
cG9ydEluZm86OmluaXRpYWxTY2FsZSgpIGNvbnN0CiB7CiAgICAgaWYgKCFtX3dlYlZpZXdQcml2
YXRlLT5pbnRlcmFjdGlvbkVuZ2luZSkKLSAgICAgICAgcmV0dXJuIFFWYXJpYW50KCk7CisgICAg
ICAgIHJldHVybiBRVmFyaWFudCgxLjApOwogCiAgICAgcmV0dXJuIG1fd2ViVmlld1ByaXZhdGUt
PmludGVyYWN0aW9uRW5naW5lLT5jb25zdHJhaW50cygpLmluaXRpYWxTY2FsZTsKIH0KQEAgLTY4
LDcgKzY4LDcgQEAgUVZhcmlhbnQgUVdlYlZpZXdwb3J0SW5mbzo6aW5pdGlhbFNjYWxlKCkgY29u
c3QKIFFWYXJpYW50IFFXZWJWaWV3cG9ydEluZm86Om1pbmltdW1TY2FsZSgpIGNvbnN0CiB7CiAg
ICAgaWYgKCFtX3dlYlZpZXdQcml2YXRlLT5pbnRlcmFjdGlvbkVuZ2luZSkKLSAgICAgICAgcmV0
dXJuIFFWYXJpYW50KCk7CisgICAgICAgIHJldHVybiBRVmFyaWFudCgwLjI1KTsKIAogICAgIHJl
dHVybiBtX3dlYlZpZXdQcml2YXRlLT5pbnRlcmFjdGlvbkVuZ2luZS0+Y29uc3RyYWludHMoKS5t
aW5pbXVtU2NhbGU7CiB9CkBAIC03Niw3ICs3Niw3IEBAIFFWYXJpYW50IFFXZWJWaWV3cG9ydElu
Zm86Om1pbmltdW1TY2FsZSgpIGNvbnN0CiBRVmFyaWFudCBRV2ViVmlld3BvcnRJbmZvOjptYXhp
bXVtU2NhbGUoKSBjb25zdAogewogICAgIGlmICghbV93ZWJWaWV3UHJpdmF0ZS0+aW50ZXJhY3Rp
b25FbmdpbmUpCi0gICAgICAgIHJldHVybiBRVmFyaWFudCgpOworICAgICAgICByZXR1cm4gUVZh
cmlhbnQoMS44KTsKIAogICAgIHJldHVybiBtX3dlYlZpZXdQcml2YXRlLT5pbnRlcmFjdGlvbkVu
Z2luZS0+Y29uc3RyYWludHMoKS5tYXhpbXVtU2NhbGU7CiB9CkBAIC04NCw3ICs4NCw3IEBAIFFW
YXJpYW50IFFXZWJWaWV3cG9ydEluZm86Om1heGltdW1TY2FsZSgpIGNvbnN0CiBRVmFyaWFudCBR
V2ViVmlld3BvcnRJbmZvOjppc1NjYWxhYmxlKCkgY29uc3QKIHsKICAgICBpZiAoIW1fd2ViVmll
d1ByaXZhdGUtPmludGVyYWN0aW9uRW5naW5lKQotICAgICAgICByZXR1cm4gUVZhcmlhbnQoKTsK
KyAgICAgICAgcmV0dXJuIFFWYXJpYW50KHRydWUpOwogCiAgICAgcmV0dXJuIG1fd2ViVmlld1By
aXZhdGUtPmludGVyYWN0aW9uRW5naW5lLT5jb25zdHJhaW50cygpLmlzVXNlclNjYWxhYmxlOwog
fQpAQCAtOTIsNyArOTIsNyBAQCBRVmFyaWFudCBRV2ViVmlld3BvcnRJbmZvOjppc1NjYWxhYmxl
KCkgY29uc3QKIFFWYXJpYW50IFFXZWJWaWV3cG9ydEluZm86OmxheW91dFNpemUoKSBjb25zdAog
ewogICAgIGlmICghbV93ZWJWaWV3UHJpdmF0ZS0+aW50ZXJhY3Rpb25FbmdpbmUpCi0gICAgICAg
IHJldHVybiBRVmFyaWFudCgpOworICAgICAgICByZXR1cm4gUVZhcmlhbnQoUVNpemUoKSk7CiAK
ICAgICByZXR1cm4gbV93ZWJWaWV3UHJpdmF0ZS0+aW50ZXJhY3Rpb25FbmdpbmUtPmNvbnN0cmFp
bnRzKCkubGF5b3V0U2l6ZTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125375</attachid>
            <date>2012-02-03 11:44:05 -0800</date>
            <delta_ts>2012-02-03 11:47:22 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>0001-Qt-WK2-Add-the-componentComplete-method-to-WebView.patch</filename>
            <type>text/plain</type>
            <size>17938</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">RnJvbSBhNzY5M2IxNjRjMDk0YjIxYjg5NzcxYjdhZjJmNGYxZTRjZDQ4Njk2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyYXMgQmVjc2kgPGFuZHJhcy5iZWNzaUBub2tpYS5jb20+
CkRhdGU6IEZyaSwgMyBGZWIgMjAxMiAyMDo0MTowMSArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIFtR
dF1bV0syXSBBZGQgdGhlIGNvbXBvbmVudENvbXBsZXRlIG1ldGhvZCB0byBXZWJWaWV3CgotLS0K
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1
NiArKysrKysrKysrKysrCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dl
YnZpZXcuY3BwICB8ICAgODUgKysrKysrKysrKysrKysrKysrLS0KIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmggIHwgICAxMiArKystCiAuLi4vV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmggICB8ICAgIDYgKysKIC4uLi9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHAgIHwgICAxNCArKy0t
CiAuLi4vQVBJL3F0L3Rlc3RzL3FxdWlja3dlYnZpZXcvcXF1aWNrd2Vidmlldy5wcm8gICB8ICAg
IDEgKwogLi4uL3F0L3Rlc3RzL3FxdWlja3dlYnZpZXcvdHN0X3FxdWlja3dlYnZpZXcuY3BwICAg
fCAgIDEyICsrLS0KIC4uLi9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VMb2FkQ2xpZW50
LmNwcCAgIHwgICAgMyArLQogOCBmaWxlcyBjaGFuZ2VkLCAxNjUgaW5zZXJ0aW9ucygrKSwgMjQg
ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDY1NDgxMzUuLjIwZmQ0NzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw1OSBAQAorMjAxMi0wMi0wMyAgQW5kcmFzIEJlY3NpICA8YW5kcmFzLmJlY3Np
QG5va2lhLmNvbT4KKworICAgICAgICBbUXRdW1dLMl0gQWRkIHRoZSBjb21wb25lbnRDb21wbGV0
ZSBtZXRob2QgdG8gV2ViVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzcxMTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBNb3ZlIHRoZSBpbml0aWFsaXphdGlvbiBvZiB0aGUgaW50ZXJhY3Rpb24gZW5n
aW5lIHRvIGNvbXBvbmVudENvbXBsZXRlCisgICAgICAgIGluIHByZXBhcmF0aW9uIG9mIHN3aXRo
Y2hpbmcgdG8gYSBGbGlja2FibGUgYmFzZWQgY29udGVudCBwb3NpdGlvbmluZworICAgICAgICBm
b3IgdGhlIHRvdWNoIGJhc2VkIFdlYlZpZXcuCisgICAgICAgIFN1c3BlbmQgdGhlIHBhZ2UgYW5k
IGRlbGF5IHRoZSBkaXNwYXRjaCBvZiBsb2FkIHN1Y2NlcyBvbiBzdGFydHVwIHVudGlsCisgICAg
ICAgIHRoZSBjb21wb25lbnQgZmluaXNoZWQgaW5pdGlhbGl6YXRpb24uCisgICAgICAgIFNpbmNl
IGNvbXBvbmVudENvbXBsZXRlIGRvZXMgbm90IGdldCBjYWxsZWQgaWYgdGhlIFFRdWlja1dlYlZp
ZXcgaXMKKyAgICAgICAgaW5zdGFudGlhdGVkIGluIEMrKyBhbHNvIGludHJvZHVjZSBhIGZhY3Rv
cnkgbWV0aG9kIHRvIGJlIGFibGUgdG8KKyAgICAgICAgZHluYW1pY2FsbHkgY3JlYXRlIFFRdWlj
a1dlYlZpZXcgaW5zdGFuY2VzIGFuZCB1c2UgdGhpcyBmdW5jdGlvbmFsaXR5CisgICAgICAgIGlu
IHRoZSBDKysgQVBJIHRlc3RzLgorICAgICAgICBBbHNvIHJldHVybiB2YWxpZCBkZWZhdWx0IHZh
bHVlcyBpbiB0aGUgdmlld3BvcnQgaW5mbyBmdW5jdGlvbnMgaWYgdGhlCisgICAgICAgIGludGVy
YWN0aW9uIGVuZ2luZSBpcyBub3QgeWV0IGluaXRpYWxpemVkIGJlY2F1c2UgdGhlIHZpZXdwb3J0
IGluZm8KKyAgICAgICAgY29tcG9uZW50IGNvdWxkIGZpbmlzaCBpbml0aWFsaXphdGlvbiBlYXJs
aWVyIHRoYW4gdGhlIFdlYlZpZXcsIHdoaWNoCisgICAgICAgIHJlc3VsdHMgaW4gUU1MIHdhcm5p
bmdzIGR1cmluZyBNaW5pQnJvd3NlciBzdGFydHVwLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjpp
bml0aWFsaXplKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdQcml2YXRlOjpsb2FkRGlkU3VjY2Vl
ZCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6UVF1aWNrV2ViVmll
d0ZsaWNrYWJsZVByaXZhdGUpOgorICAgICAgICAoUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZh
dGU6OmluaXRpYWxpemUpOgorICAgICAgICAoUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGU6
Om9uQ29tcG9uZW50Q29tcGxldGUpOgorICAgICAgICAoUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVBy
aXZhdGU6OmxvYWREaWRTdWNjZWVkKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdGbGlja2FibGVQ
cml2YXRlOjp1cGRhdGVWaWV3cG9ydFNpemUpOgorICAgICAgICAoUVF1aWNrV2ViVmlld0ZsaWNr
YWJsZVByaXZhdGU6Ol9xX3Jlc3VtZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3RXhwZXJpbWVu
dGFsOjpjcmVhdGVXZWJWaWV3KToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdFeHBlcmltZW50YWw6
OnByZXBhcmVXZWJWaWV3Q29tcG9uZW50KToKKyAgICAgICAgKFFRdWlja1dlYlZpZXc6Omdlb21l
dHJ5Q2hhbmdlZCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3Ojpjb21wb25lbnRDb21wbGV0ZSk6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmg6CisgICAgICAgIChRUXVpY2tX
ZWJWaWV3UHJpdmF0ZTo6b25Db21wb25lbnRDb21wbGV0ZSk6CisgICAgICAgIChRUXVpY2tXZWJW
aWV3UHJpdmF0ZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xd2Vidmlld3BvcnRpbmZvLmNwcDoKKyAgICAgICAg
KFFXZWJWaWV3cG9ydEluZm86OmN1cnJlbnRTY2FsZSk6CisgICAgICAgIChRV2ViVmlld3BvcnRJ
bmZvOjpkZXZpY2VQaXhlbFJhdGlvKToKKyAgICAgICAgKFFXZWJWaWV3cG9ydEluZm86OmluaXRp
YWxTY2FsZSk6CisgICAgICAgIChRV2ViVmlld3BvcnRJbmZvOjptaW5pbXVtU2NhbGUpOgorICAg
ICAgICAoUVdlYlZpZXdwb3J0SW5mbzo6bWF4aW11bVNjYWxlKToKKyAgICAgICAgKFFXZWJWaWV3
cG9ydEluZm86OmlzU2NhbGFibGUpOgorICAgICAgICAoUVdlYlZpZXdwb3J0SW5mbzo6bGF5b3V0
U2l6ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xcXVpY2t3ZWJ2aWV3L3Fx
dWlja3dlYnZpZXcucHJvOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcXF1aWNr
d2Vidmlldy90c3RfcXF1aWNrd2Vidmlldy5jcHA6CisgICAgICAgICh0c3RfUVF1aWNrV2ViVmll
dzo6dHN0X1FRdWlja1dlYlZpZXcpOgorICAgICAgICAodHN0X1FRdWlja1dlYlZpZXc6OmluaXQp
OgorICAgICAgICAodHN0X1FRdWlja1dlYlZpZXc6Om11bHRpcGxlV2ViVmlld1dpbmRvd3MpOgor
ICAgICAgICAodHN0X1FRdWlja1dlYlZpZXc6Om11bHRpcGxlV2ViVmlld3MpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VMb2FkQ2xpZW50LmNwcDoKKyAgICAgICAgKFF0V2ViUGFn
ZUxvYWRDbGllbnQ6OmRpc3BhdGNoTG9hZFN1Y2NlZWRlZCk6CisKIDIwMTItMDItMDMgIEJldGgg
RGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03NzY5MQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKaW5kZXggZGMxM2YyMi4uOGQwZTRlOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCkBA
IC0xMTUsNyArMTE1LDYgQEAgdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aW5pdGlhbGl6ZShX
S0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tQYWdlR3JvdXBSZWYgcGEKIAogICAgIHBhZ2VDbGll
bnQuaW5pdGlhbGl6ZShxX3B0ciwgcGFnZVZpZXdQcml2YXRlLT5ldmVudEhhbmRsZXIuZGF0YSgp
LCAmdW5kb0NvbnRyb2xsZXIpOwogICAgIHdlYlBhZ2VQcm94eS0+aW5pdGlhbGl6ZVdlYlBhZ2Uo
KTsKLSAgICB1cGRhdGVWaWV3cG9ydFNpemUoKTsKIH0KIAogdm9pZCBRUXVpY2tXZWJWaWV3UHJp
dmF0ZTo6ZW5hYmxlTW91c2VFdmVudHMoKQpAQCAtMTMyLDYgKzEzMSwxMyBAQCB2b2lkIFFRdWlj
a1dlYlZpZXdQcml2YXRlOjpkaXNhYmxlTW91c2VFdmVudHMoKQogICAgIHEtPnNldEFjY2VwdEhv
dmVyRXZlbnRzKGZhbHNlKTsKIH0KIAordm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6bG9hZERp
ZFN1Y2NlZWQoKQoreworICAgIFFfUShRUXVpY2tXZWJWaWV3KTsKKyAgICBlbWl0IHEtPm5hdmln
YXRpb25TdGF0ZUNoYW5nZWQoKTsKKyAgICBlbWl0IHEtPmxvYWRTdWNjZWVkZWQoKTsKK30KKwog
dm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6c2V0TmVlZHNEaXNwbGF5KCkKIHsKICAgICBRX1Eo
UVF1aWNrV2ViVmlldyk7CkBAIC00NDQsMTUgKzQ1MCwxMSBAQCB2b2lkIFFRdWlja1dlYlZpZXdM
ZWdhY3lQcml2YXRlOjp1cGRhdGVWaWV3cG9ydFNpemUoKQogCiBRUXVpY2tXZWJWaWV3RmxpY2th
YmxlUHJpdmF0ZTo6UVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGUoUVF1aWNrV2ViVmlldyog
dmlld3BvcnQpCiAgICAgOiBRUXVpY2tXZWJWaWV3UHJpdmF0ZSh2aWV3cG9ydCkKLSAgICAsIGlu
dGVyYWN0aW9uRW5naW5lKG5ldyBRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUodmlld3BvcnQs
IHBhZ2VWaWV3LmRhdGEoKSkpCiAgICAgLCBwb3N0VHJhbnNpdGlvblN0YXRlKGFkb3B0UHRyKG5l
dyBQb3N0VHJhbnNpdGlvblN0YXRlKHRoaXMpKSkKICAgICAsIGlzVHJhbnNpdGlvbmluZ1RvTmV3
UGFnZShmYWxzZSkKLSAgICAsIHBhZ2VJc1N1c3BlbmRlZChmYWxzZSkKKyAgICAsIHBhZ2VJc1N1
c3BlbmRlZCh0cnVlKQorICAgICwgbG9hZFN1Y2Nlc3NEaXNwYXRjaElzUGVuZGluZyhmYWxzZSkK
IHsKLSAgICBRT2JqZWN0Ojpjb25uZWN0KGludGVyYWN0aW9uRW5naW5lLmRhdGEoKSwgU0lHTkFM
KGNvbnRlbnRTdXNwZW5kUmVxdWVzdGVkKCkpLCB2aWV3cG9ydCwgU0xPVChfcV9zdXNwZW5kKCkp
KTsKLSAgICBRT2JqZWN0Ojpjb25uZWN0KGludGVyYWN0aW9uRW5naW5lLmRhdGEoKSwgU0lHTkFM
KGNvbnRlbnRSZXN1bWVSZXF1ZXN0ZWQoKSksIHZpZXdwb3J0LCBTTE9UKF9xX3Jlc3VtZSgpKSk7
Ci0gICAgUU9iamVjdDo6Y29ubmVjdChpbnRlcmFjdGlvbkVuZ2luZS5kYXRhKCksIFNJR05BTCh2
aWV3cG9ydFRyYWplY3RvcnlWZWN0b3JDaGFuZ2VkKGNvbnN0IFFQb2ludEYmKSksIHZpZXdwb3J0
LCBTTE9UKF9xX3ZpZXdwb3J0VHJhamVjdG9yeVZlY3RvckNoYW5nZWQoY29uc3QgUVBvaW50RiYp
KSk7Ci0gICAgUU9iamVjdDo6Y29ubmVjdChpbnRlcmFjdGlvbkVuZ2luZS5kYXRhKCksIFNJR05B
TCh2aXNpYmxlQ29udGVudFJlY3RBbmRTY2FsZUNoYW5nZWQoKSksIHZpZXdwb3J0LCBTTE9UKF9x
X3VwZGF0ZVZpc2libGVDb250ZW50UmVjdEFuZFNjYWxlKCkpKTsKIH0KIAogUVF1aWNrV2ViVmll
d0ZsaWNrYWJsZVByaXZhdGU6On5RUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZSgpCkBAIC00
NjQsMTIgKzQ2NiwzOSBAQCB2b2lkIFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjppbml0
aWFsaXplKFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBXS1BhZ2VHcgogewogICAgIFFRdWlja1dl
YlZpZXdQcml2YXRlOjppbml0aWFsaXplKGNvbnRleHRSZWYsIHBhZ2VHcm91cFJlZik7CiAgICAg
d2ViUGFnZVByb3h5LT5zZXRVc2VGaXhlZExheW91dCh0cnVlKTsKK30KKwordm9pZCBRUXVpY2tX
ZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6b25Db21wb25lbnRDb21wbGV0ZSgpCit7CisgICAgUV9R
KFFRdWlja1dlYlZpZXcpOworICAgIGludGVyYWN0aW9uRW5naW5lLnJlc2V0KG5ldyBRdFZpZXdw
b3J0SW50ZXJhY3Rpb25FbmdpbmUocSwgcGFnZVZpZXcuZGF0YSgpKSk7CiAgICAgcGFnZVZpZXct
PmV2ZW50SGFuZGxlcigpLT5zZXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKGludGVyYWN0aW9u
RW5naW5lLmRhdGEoKSk7CiAKKyAgICBRT2JqZWN0Ojpjb25uZWN0KGludGVyYWN0aW9uRW5naW5l
LmRhdGEoKSwgU0lHTkFMKGNvbnRlbnRTdXNwZW5kUmVxdWVzdGVkKCkpLCBxLCBTTE9UKF9xX3N1
c3BlbmQoKSkpOworICAgIFFPYmplY3Q6OmNvbm5lY3QoaW50ZXJhY3Rpb25FbmdpbmUuZGF0YSgp
LCBTSUdOQUwoY29udGVudFJlc3VtZVJlcXVlc3RlZCgpKSwgcSwgU0xPVChfcV9yZXN1bWUoKSkp
OworICAgIFFPYmplY3Q6OmNvbm5lY3QoaW50ZXJhY3Rpb25FbmdpbmUuZGF0YSgpLCBTSUdOQUwo
dmlld3BvcnRUcmFqZWN0b3J5VmVjdG9yQ2hhbmdlZChjb25zdCBRUG9pbnRGJikpLCBxLCBTTE9U
KF9xX3ZpZXdwb3J0VHJhamVjdG9yeVZlY3RvckNoYW5nZWQoY29uc3QgUVBvaW50RiYpKSk7Cisg
ICAgUU9iamVjdDo6Y29ubmVjdChpbnRlcmFjdGlvbkVuZ2luZS5kYXRhKCksIFNJR05BTCh2aXNp
YmxlQ29udGVudFJlY3RBbmRTY2FsZUNoYW5nZWQoKSksIHEsIFNMT1QoX3FfdXBkYXRlVmlzaWJs
ZUNvbnRlbnRSZWN0QW5kU2NhbGUoKSkpOworCisgICAgX3FfcmVzdW1lKCk7CisKKyAgICBpZiAo
bG9hZFN1Y2Nlc3NEaXNwYXRjaElzUGVuZGluZykgeworICAgICAgICBRUXVpY2tXZWJWaWV3UHJp
dmF0ZTo6bG9hZERpZFN1Y2NlZWQoKTsKKyAgICAgICAgbG9hZFN1Y2Nlc3NEaXNwYXRjaElzUGVu
ZGluZyA9IGZhbHNlOworICAgIH0KKwogICAgIC8vIFRyaWdnZXIgc2V0dGluZyBvZiBjb3JyZWN0
IHZpc2liaWxpdHkgZmxhZ3MgYWZ0ZXIgZXZlcnl0aGluZyB3YXMgYWxsb2NhdGVkIGFuZCBpbml0
aWFsaXplZC4KICAgICBfcV9vblZpc2libGVDaGFuZ2VkKCk7CiB9CiAKK3ZvaWQgUVF1aWNrV2Vi
Vmlld0ZsaWNrYWJsZVByaXZhdGU6OmxvYWREaWRTdWNjZWVkKCkKK3sKKyAgICBpZiAoaW50ZXJh
Y3Rpb25FbmdpbmUpCisgICAgICAgIFFRdWlja1dlYlZpZXdQcml2YXRlOjpsb2FkRGlkU3VjY2Vl
ZCgpOworICAgIGVsc2UKKyAgICAgICAgbG9hZFN1Y2Nlc3NEaXNwYXRjaElzUGVuZGluZyA9IHRy
dWU7CisKK30KKwogdm9pZCBRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6bG9hZERpZENv
bW1pdCgpCiB7CiAgICAgLy8gRHVlIHRvIGVudGVyaW5nIHByb3Zpc2lvbmFsIGxvYWQgYmVmb3Jl
IGNvbW1pdHRpbmcsIHdlCkBAIC01MDEsNyArNTMwLDcgQEAgdm9pZCBRUXVpY2tXZWJWaWV3Rmxp
Y2thYmxlUHJpdmF0ZTo6dXBkYXRlVmlld3BvcnRTaXplKCkKICAgICBRX1EoUVF1aWNrV2ViVmll
dyk7CiAgICAgUVNpemUgdmlld3BvcnRTaXplID0gcS0+Ym91bmRpbmdSZWN0KCkuc2l6ZSgpLnRv
U2l6ZSgpOwogCi0gICAgaWYgKHZpZXdwb3J0U2l6ZS5pc0VtcHR5KCkpCisgICAgaWYgKHZpZXdw
b3J0U2l6ZS5pc0VtcHR5KCkgfHwgIWludGVyYWN0aW9uRW5naW5lKQogICAgICAgICByZXR1cm47
CiAKICAgICAvLyBMZXQgdGhlIFdlYlByb2Nlc3Mga25vdyBhYm91dCB0aGUgbmV3IHZpZXdwb3J0
IHNpemUsIHNvIHRoYXQKQEAgLTUzNyw2ICs1NjYsOSBAQCB2b2lkIFFRdWlja1dlYlZpZXdGbGlj
a2FibGVQcml2YXRlOjpfcV9zdXNwZW5kKCkKIAogdm9pZCBRUXVpY2tXZWJWaWV3RmxpY2thYmxl
UHJpdmF0ZTo6X3FfcmVzdW1lKCkKIHsKKyAgICBpZiAoIWludGVyYWN0aW9uRW5naW5lKQorICAg
ICAgICByZXR1cm47CisKICAgICBwYWdlSXNTdXNwZW5kZWQgPSBmYWxzZTsKIAogICAgIGlmIChp
c1RyYW5zaXRpb25pbmdUb05ld1BhZ2UpIHsKQEAgLTY4Myw2ICs3MTUsMzQgQEAgYm9vbCBRUXVp
Y2tXZWJWaWV3RXhwZXJpbWVudGFsOjpmbGlja2FibGVWaWV3cG9ydEVuYWJsZWQoKQogICAgIHJl
dHVybiBzX2ZsaWNrYWJsZVZpZXdwb3J0RW5hYmxlZDsKIH0KIAorc3RhdGljIFFEZWNsYXJhdGl2
ZUNvbXBvbmVudCogc193ZWJWaWV3Q29tcG9uZW50ID0gMDsKKworUVF1aWNrV2ViVmlldyogUVF1
aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6Y3JlYXRlV2ViVmlldygpCit7CisgICAgQVNTRVJUKHNf
d2ViVmlld0NvbXBvbmVudCk7CisKKyAgICBRT2JqZWN0KiB2aWV3SW5zdGFuY2UgPSBzX3dlYlZp
ZXdDb21wb25lbnQtPmNyZWF0ZSgpOworICAgIEFTU0VSVCh2aWV3SW5zdGFuY2UpOworCisgICAg
cmV0dXJuIHFvYmplY3RfY2FzdDxRUXVpY2tXZWJWaWV3Kj4odmlld0luc3RhbmNlKTsKK30KKwor
dm9pZCBRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFsOjpwcmVwYXJlV2ViVmlld0NvbXBvbmVudChj
b25zdCBRU3RyaW5nJiBxbWxJbXBvcnRQYXRoLCBRT2JqZWN0KiBwYXJlbnQpCit7CisgICAgQVNT
RVJUKCFzX3dlYlZpZXdDb21wb25lbnQpOworICAgIEFTU0VSVCghcW1sSW1wb3J0UGF0aC5pc0Vt
cHR5KCkpOworCisgICAgc3RhdGljIFFEZWNsYXJhdGl2ZUVuZ2luZSogZW5naW5lID0gbmV3IFFE
ZWNsYXJhdGl2ZUVuZ2luZShwYXJlbnQpOworICAgIGVuZ2luZS0+YWRkSW1wb3J0UGF0aChxbWxJ
bXBvcnRQYXRoKTsKKworICAgIHNfd2ViVmlld0NvbXBvbmVudCA9IG5ldyBRRGVjbGFyYXRpdmVD
b21wb25lbnQoZW5naW5lLCBwYXJlbnQpOworCisgICAgc193ZWJWaWV3Q29tcG9uZW50LT5zZXRE
YXRhKFFCeXRlQXJyYXlMaXRlcmFsKCJpbXBvcnQgUXRRdWljayAyLjBcbiIKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImltcG9ydCBRdFdlYktpdCAz
LjBcbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IldlYlZpZXcge30iKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIFFVcmwoKSk7
Cit9CisKIHZvaWQgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6cG9zdE1lc3NhZ2UoY29uc3Qg
UVN0cmluZyYgbWVzc2FnZSkKIHsKICAgICBRX0QoUVF1aWNrV2ViVmlldyk7CkBAIC0xMDY5LDYg
KzExMjksMTUgQEAgdm9pZCBRUXVpY2tXZWJWaWV3OjpnZW9tZXRyeUNoYW5nZWQoY29uc3QgUVJl
Y3RGJiBuZXdHZW9tZXRyeSwgY29uc3QgUVJlY3RGJiBvbGQKICAgICAgICAgZC0+dXBkYXRlVmll
d3BvcnRTaXplKCk7CiB9CiAKK3ZvaWQgUVF1aWNrV2ViVmlldzo6Y29tcG9uZW50Q29tcGxldGUo
KQoreworICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKKyAgICBRUXVpY2tJdGVtOjpjb21wb25lbnRD
b21wbGV0ZSgpOworCisgICAgZC0+b25Db21wb25lbnRDb21wbGV0ZSgpOworICAgIGQtPnVwZGF0
ZVZpZXdwb3J0U2l6ZSgpOworfQorCiB2b2lkIFFRdWlja1dlYlZpZXc6OmtleVByZXNzRXZlbnQo
UUtleUV2ZW50KiBldmVudCkKIHsKICAgICB0aGlzLT5ldmVudChldmVudCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaAppbmRleCA5MmIz
OGU4Li42ZjYzN2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3FxdWlja3dlYnZpZXdfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
cXF1aWNrd2Vidmlld19wLmgKQEAgLTEzNSw3ICsxMzUsNyBAQCBRX1NJR05BTFM6CiAKIHByb3Rl
Y3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbWV0cnlDaGFuZ2VkKGNvbnN0IFFSZWN0RiYsIGNv
bnN0IFFSZWN0RiYpOwotCisgICAgdmlydHVhbCB2b2lkIGNvbXBvbmVudENvbXBsZXRlKCk7CiAg
ICAgdmlydHVhbCB2b2lkIGtleVByZXNzRXZlbnQoUUtleUV2ZW50Kik7CiAgICAgdmlydHVhbCB2
b2lkIGtleVJlbGVhc2VFdmVudChRS2V5RXZlbnQqKTsKICAgICB2aXJ0dWFsIHZvaWQgaW5wdXRN
ZXRob2RFdmVudChRSW5wdXRNZXRob2RFdmVudCopOwpAQCAtMjU4LDYgKzI1OCwxNiBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIHZvaWQgc2V0RmxpY2thYmxlVmlld3BvcnRFbmFibGVkKGJvb2wgZW5h
YmxlKTsKICAgICBzdGF0aWMgYm9vbCBmbGlja2FibGVWaWV3cG9ydEVuYWJsZWQoKTsKIAorICAg
IC8vIEZhY3RvcnkgbWV0aG9kIGZvciBjcmVhdGluZyBXZWJWaWV3IGluc3RhbmNlcyBpbiBDKysu
CisgICAgLy8gQ3JlYXRlcyBhIFFNTCBXZWJWaWV3IGR5bmFtaWNhbGx5IHVzaW5nIHRoZSBpbnRl
cm5hbAorICAgIC8vIGNvbXBvbmVudCB3aGljaCBtdXN0IGJlIHByZXBhcmVkIGJlZm9yZSBjYWxs
aW5nIHRoaXMgbWV0aG9kLgorICAgIC8vIFRoZSB0b3VjaCBiYXNlZCBXZWJWaWV3IGNhbiBvbmx5
IGJlIGluc3RhbnRpYXRlZCBpbiBDKysKKyAgICAvLyB1c2luZyB0aGlzIGZ1bmN0aW9uIGJlY2F1
c2UgdGhlIGluaXRpYWxpemF0b24gZGVwZW5kcyBvbgorICAgIC8vIHRoZSBjb21wb25lbnRDb21w
bGV0ZSBtZXRob2QgYmVpbmcgY2FsbGVkLgorICAgIHN0YXRpYyBRUXVpY2tXZWJWaWV3KiBjcmVh
dGVXZWJWaWV3KCk7CisgICAgc3RhdGljIHZvaWQgcHJlcGFyZVdlYlZpZXdDb21wb25lbnQoY29u
c3QgUVN0cmluZyYgcW1sSW1wb3J0UGF0aCwgUU9iamVjdCogcGFyZW50KTsKKworCiBwdWJsaWMg
UV9TTE9UUzoKICAgICB2b2lkIGdvQmFja1RvKGludCBpbmRleCk7CiAgICAgdm9pZCBnb0Zvcndh
cmRUbyhpbnQgaW5kZXgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC9xcXVpY2t3ZWJ2aWV3X3BfcC5oCmluZGV4IGJkNjk2ZDkuLmM3MTk5ZGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgKQEAg
LTY4LDYgKzY4LDkgQEAgcHVibGljOgogICAgIHZvaWQgZW5hYmxlTW91c2VFdmVudHMoKTsKICAg
ICB2b2lkIGRpc2FibGVNb3VzZUV2ZW50cygpOwogCisgICAgdmlydHVhbCB2b2lkIG9uQ29tcG9u
ZW50Q29tcGxldGUoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgbG9hZERpZFN1Y2NlZWQoKTsKKwog
ICAgIHZpcnR1YWwgdm9pZCBsb2FkRGlkQ29tbWl0KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRp
ZEZpbmlzaEZpcnN0Tm9uRW1wdHlMYXlvdXQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hh
bmdlVmlld3BvcnRQcm9wZXJ0aWVzKGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJiBh
cmdzKSB7IH0KQEAgLTE2NCw2ICsxNjcsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+UVF1aWNr
V2ViVmlld0ZsaWNrYWJsZVByaXZhdGUoKTsKICAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZShX
S0NvbnRleHRSZWYgY29udGV4dFJlZiA9IDAsIFdLUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJlZiA9
IDApOwogCisgICAgdmlydHVhbCB2b2lkIG9uQ29tcG9uZW50Q29tcGxldGUoKTsKKyAgICB2aXJ0
dWFsIHZvaWQgbG9hZERpZFN1Y2NlZWQoKTsKICAgICB2aXJ0dWFsIHZvaWQgbG9hZERpZENvbW1p
dCgpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hGaXJzdE5vbkVtcHR5TGF5b3V0KCk7CiAg
ICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZVZpZXdwb3J0UHJvcGVydGllcyhjb25zdCBXZWJDb3Jl
OjpWaWV3cG9ydEFyZ3VtZW50cyYgYXJncyk7CkBAIC0xOTksNiArMjA0LDcgQEAgcHJpdmF0ZToK
ICAgICBPd25QdHI8UG9zdFRyYW5zaXRpb25TdGF0ZT4gcG9zdFRyYW5zaXRpb25TdGF0ZTsKICAg
ICBib29sIGlzVHJhbnNpdGlvbmluZ1RvTmV3UGFnZTsKICAgICBib29sIHBhZ2VJc1N1c3BlbmRl
ZDsKKyAgICBib29sIGxvYWRTdWNjZXNzRGlzcGF0Y2hJc1BlbmRpbmc7CiB9OwogCiAjZW5kaWYg
Ly8gcXF1aWNrd2Vidmlld19wX3BfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC9xd2Vidmlld3BvcnRpbmZvLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHAKaW5kZXggMTQ4YjUwMC4uMTc4N2ExNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2Vidmlld3BvcnRpbmZv
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGlu
Zm8uY3BwCkBAIC00Niw3ICs0Niw3IEBAIFFWYXJpYW50IFFXZWJWaWV3cG9ydEluZm86OmN1cnJl
bnRTY2FsZSgpIGNvbnN0CiAgICAgaWYgKFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSogaW50
ZXJhY3Rpb25FbmdpbmUgPSBtX3dlYlZpZXdQcml2YXRlLT52aWV3cG9ydEludGVyYWN0aW9uRW5n
aW5lKCkpCiAgICAgICAgIHJldHVybiBpbnRlcmFjdGlvbkVuZ2luZS0+Y3VycmVudENTU1NjYWxl
KCk7CiAKLSAgICByZXR1cm4gUVZhcmlhbnQoKTsKKyAgICByZXR1cm4gUVZhcmlhbnQoMS4wKTsK
IH0KIAogUVZhcmlhbnQgUVdlYlZpZXdwb3J0SW5mbzo6ZGV2aWNlUGl4ZWxSYXRpbygpIGNvbnN0
CkBAIC01NCw3ICs1NCw3IEBAIFFWYXJpYW50IFFXZWJWaWV3cG9ydEluZm86OmRldmljZVBpeGVs
UmF0aW8oKSBjb25zdAogICAgIGlmIChRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUqIGludGVy
YWN0aW9uRW5naW5lID0gbV93ZWJWaWV3UHJpdmF0ZS0+dmlld3BvcnRJbnRlcmFjdGlvbkVuZ2lu
ZSgpKQogICAgICAgICByZXR1cm4gaW50ZXJhY3Rpb25FbmdpbmUtPmNvbnN0cmFpbnRzKCkuZGV2
aWNlUGl4ZWxSYXRpbzsKIAotICAgIHJldHVybiBRVmFyaWFudCgpOworICAgIHJldHVybiBRVmFy
aWFudCgxLjApOwogfQogCiBRVmFyaWFudCBRV2ViVmlld3BvcnRJbmZvOjppbml0aWFsU2NhbGUo
KSBjb25zdApAQCAtNjIsNyArNjIsNyBAQCBRVmFyaWFudCBRV2ViVmlld3BvcnRJbmZvOjppbml0
aWFsU2NhbGUoKSBjb25zdAogICAgIGlmIChRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUqIGlu
dGVyYWN0aW9uRW5naW5lID0gbV93ZWJWaWV3UHJpdmF0ZS0+dmlld3BvcnRJbnRlcmFjdGlvbkVu
Z2luZSgpKQogICAgICAgICByZXR1cm4gaW50ZXJhY3Rpb25FbmdpbmUtPmNvbnN0cmFpbnRzKCku
aW5pdGlhbFNjYWxlOwogCi0gICAgcmV0dXJuIFFWYXJpYW50KCk7CisgICAgcmV0dXJuIFFWYXJp
YW50KDEuMCk7CiB9CiAKIFFWYXJpYW50IFFXZWJWaWV3cG9ydEluZm86Om1pbmltdW1TY2FsZSgp
IGNvbnN0CkBAIC03MCw3ICs3MCw3IEBAIFFWYXJpYW50IFFXZWJWaWV3cG9ydEluZm86Om1pbmlt
dW1TY2FsZSgpIGNvbnN0CiAgICAgaWYgKFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSogaW50
ZXJhY3Rpb25FbmdpbmUgPSBtX3dlYlZpZXdQcml2YXRlLT52aWV3cG9ydEludGVyYWN0aW9uRW5n
aW5lKCkpCiAgICAgICAgIHJldHVybiBpbnRlcmFjdGlvbkVuZ2luZS0+Y29uc3RyYWludHMoKS5t
aW5pbXVtU2NhbGU7CiAKLSAgICByZXR1cm4gUVZhcmlhbnQoKTsKKyAgICByZXR1cm4gUVZhcmlh
bnQoMC4yNSk7CiB9CiAKIFFWYXJpYW50IFFXZWJWaWV3cG9ydEluZm86Om1heGltdW1TY2FsZSgp
IGNvbnN0CkBAIC03OCw3ICs3OCw3IEBAIFFWYXJpYW50IFFXZWJWaWV3cG9ydEluZm86Om1heGlt
dW1TY2FsZSgpIGNvbnN0CiAgICAgaWYgKFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSogaW50
ZXJhY3Rpb25FbmdpbmUgPSBtX3dlYlZpZXdQcml2YXRlLT52aWV3cG9ydEludGVyYWN0aW9uRW5n
aW5lKCkpCiAgICAgICAgIHJldHVybiBpbnRlcmFjdGlvbkVuZ2luZS0+Y29uc3RyYWludHMoKS5t
YXhpbXVtU2NhbGU7CiAKLSAgICByZXR1cm4gUVZhcmlhbnQoKTsKKyAgICByZXR1cm4gUVZhcmlh
bnQoMS44KTsKIH0KIAogUVZhcmlhbnQgUVdlYlZpZXdwb3J0SW5mbzo6aXNTY2FsYWJsZSgpIGNv
bnN0CkBAIC04Niw3ICs4Niw3IEBAIFFWYXJpYW50IFFXZWJWaWV3cG9ydEluZm86OmlzU2NhbGFi
bGUoKSBjb25zdAogICAgIGlmIChRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUqIGludGVyYWN0
aW9uRW5naW5lID0gbV93ZWJWaWV3UHJpdmF0ZS0+dmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSgp
KQogICAgICAgICByZXR1cm4gaW50ZXJhY3Rpb25FbmdpbmUtPmNvbnN0cmFpbnRzKCkuaXNVc2Vy
U2NhbGFibGU7CiAKLSAgICByZXR1cm4gUVZhcmlhbnQoKTsKKyAgICByZXR1cm4gUVZhcmlhbnQo
dHJ1ZSk7CiB9CiAKIFFWYXJpYW50IFFXZWJWaWV3cG9ydEluZm86OmxheW91dFNpemUoKSBjb25z
dApAQCAtOTQsNyArOTQsNyBAQCBRVmFyaWFudCBRV2ViVmlld3BvcnRJbmZvOjpsYXlvdXRTaXpl
KCkgY29uc3QKICAgICBpZiAoUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKiBpbnRlcmFjdGlv
bkVuZ2luZSA9IG1fd2ViVmlld1ByaXZhdGUtPnZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUoKSkK
ICAgICAgICAgcmV0dXJuIGludGVyYWN0aW9uRW5naW5lLT5jb25zdHJhaW50cygpLmxheW91dFNp
emU7CiAKLSAgICByZXR1cm4gUVZhcmlhbnQoKTsKKyAgICByZXR1cm4gUVZhcmlhbnQoUVNpemUo
KSk7CiB9CiAKIHZvaWQgUVdlYlZpZXdwb3J0SW5mbzo6ZGlkVXBkYXRlQ29udGVudHNTaXplKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcXF1aWNr
d2Vidmlldy9xcXVpY2t3ZWJ2aWV3LnBybyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvdGVzdHMvcXF1aWNrd2Vidmlldy9xcXVpY2t3ZWJ2aWV3LnBybwppbmRleCAwZjBkNGY1Li4y
NWNkODMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3Rz
L3FxdWlja3dlYnZpZXcvcXF1aWNrd2Vidmlldy5wcm8KKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC90ZXN0cy9xcXVpY2t3ZWJ2aWV3L3FxdWlja3dlYnZpZXcucHJvCkBAIC0x
LDMgKzEsNCBAQAogaW5jbHVkZSguLi90ZXN0cy5wcmkpCiBTT1VSQ0VTICs9ICQke1RBUkdFVH0u
Y3BwCiBDT05GSUcgKz0gcXR3ZWJraXQtcHJpdmF0ZQorREVGSU5FUyArPSBJTVBPUlRfRElSPVwi
XFxcIiQke1JPT1RfQlVJTERfRElSfSQke1FNQUtFX0RJUl9TRVB9aW1wb3J0c1xcXCJcIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xcXVpY2t3ZWJ2
aWV3L3RzdF9xcXVpY2t3ZWJ2aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvdGVzdHMvcXF1aWNrd2Vidmlldy90c3RfcXF1aWNrd2Vidmlldy5jcHAKaW5kZXggMTc3OTc2
Yi4uMjQ1MDdiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90
ZXN0cy9xcXVpY2t3ZWJ2aWV3L3RzdF9xcXVpY2t3ZWJ2aWV3LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FxdWlja3dlYnZpZXcvdHN0X3FxdWlja3dlYnZp
ZXcuY3BwCkBAIC02MiwxMiArNjIsMTIgQEAgcHJpdmF0ZToKIHRzdF9RUXVpY2tXZWJWaWV3Ojp0
c3RfUVF1aWNrV2ViVmlldygpCiB7CiAgICAgYWRkUXRXZWJQcm9jZXNzVG9QYXRoKCk7Ci0gICAg
cVJlZ2lzdGVyTWV0YVR5cGU8UVF1aWNrV2ViUGFnZSo+KCJRUXVpY2tXZWJQYWdlKiIpOworICAg
IFFRdWlja1dlYlZpZXdFeHBlcmltZW50YWw6OnByZXBhcmVXZWJWaWV3Q29tcG9uZW50KFFMYXRp
bjFMaXRlcmFsKElNUE9SVF9ESVIpLCB0aGlzKTsKIH0KIAogdm9pZCB0c3RfUVF1aWNrV2ViVmll
dzo6aW5pdCgpCiB7Ci0gICAgbV93aW5kb3cucmVzZXQobmV3IFRlc3RXaW5kb3cobmV3IFFRdWlj
a1dlYlZpZXcoKSkpOworICAgIG1fd2luZG93LnJlc2V0KG5ldyBUZXN0V2luZG93KFFRdWlja1dl
YlZpZXdFeHBlcmltZW50YWw6OmNyZWF0ZVdlYlZpZXcoKSkpOwogfQogCiB2b2lkIHRzdF9RUXVp
Y2tXZWJWaWV3OjpjbGVhbnVwKCkKQEAgLTI3Nyw5ICsyNzcsOSBAQCB2b2lkIHRzdF9RUXVpY2tX
ZWJWaWV3OjptdWx0aXBsZVdlYlZpZXdXaW5kb3dzKCkKICAgICBzaG93V2ViVmlldygpOwogCiAg
ICAgLy8gVGhpcyBzaG91bGQgbm90IGNyYXNoLgotICAgIFFRdWlja1dlYlZpZXcqIHdlYlZpZXcx
ID0gbmV3IFFRdWlja1dlYlZpZXcoKTsKKyAgICBRUXVpY2tXZWJWaWV3KiB3ZWJWaWV3MSA9IFFR
dWlja1dlYlZpZXdFeHBlcmltZW50YWw6OmNyZWF0ZVdlYlZpZXcoKTsKICAgICBRU2NvcGVkUG9p
bnRlcjxUZXN0V2luZG93PiB3aW5kb3cxKG5ldyBUZXN0V2luZG93KHdlYlZpZXcxKSk7Ci0gICAg
UVF1aWNrV2ViVmlldyogd2ViVmlldzIgPSBuZXcgUVF1aWNrV2ViVmlldygpOworICAgIFFRdWlj
a1dlYlZpZXcqIHdlYlZpZXcyID0gUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6Y3JlYXRlV2Vi
VmlldygpOwogICAgIFFTY29wZWRQb2ludGVyPFRlc3RXaW5kb3c+IHdpbmRvdzIobmV3IFRlc3RX
aW5kb3cod2ViVmlldzIpKTsKIAogICAgIHdlYlZpZXcxLT5zZXRTaXplKFFTaXplRigzMDAsIDQw
MCkpOwpAQCAtMzAxLDkgKzMwMSw5IEBAIHZvaWQgdHN0X1FRdWlja1dlYlZpZXc6Om11bHRpcGxl
V2ViVmlld3MoKQogICAgIHNob3dXZWJWaWV3KCk7CiAKICAgICAvLyBUaGlzIHNob3VsZCBub3Qg
Y3Jhc2guCi0gICAgUVNjb3BlZFBvaW50ZXI8UVF1aWNrV2ViVmlldz4gd2ViVmlldzEobmV3IFFR
dWlja1dlYlZpZXcoKSk7CisgICAgUVNjb3BlZFBvaW50ZXI8UVF1aWNrV2ViVmlldz4gd2ViVmll
dzEoUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6Y3JlYXRlV2ViVmlldygpKTsKICAgICB3ZWJW
aWV3MS0+c2V0UGFyZW50SXRlbShtX3dpbmRvdy0+cm9vdEl0ZW0oKSk7Ci0gICAgUVNjb3BlZFBv
aW50ZXI8UVF1aWNrV2ViVmlldz4gd2ViVmlldzIobmV3IFFRdWlja1dlYlZpZXcoKSk7CisgICAg
UVNjb3BlZFBvaW50ZXI8UVF1aWNrV2ViVmlldz4gd2ViVmlldzIoUVF1aWNrV2ViVmlld0V4cGVy
aW1lbnRhbDo6Y3JlYXRlV2ViVmlldygpKTsKICAgICB3ZWJWaWV3Mi0+c2V0UGFyZW50SXRlbSht
X3dpbmRvdy0+cm9vdEl0ZW0oKSk7CiAKICAgICB3ZWJWaWV3MS0+c2V0U2l6ZShRU2l6ZUYoMzAw
LCA0MDApKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBh
Z2VMb2FkQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VM
b2FkQ2xpZW50LmNwcAppbmRleCAzYmE4Yzc0Li4yNjAxZjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlTG9hZENsaWVudC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZUxvYWRDbGllbnQuY3BwCkBAIC04NSw4ICs4
NSw3IEBAIHZvaWQgUXRXZWJQYWdlTG9hZENsaWVudDo6ZGlkQ2hhbmdlQmFja0ZvcndhcmRMaXN0
KCkKIAogdm9pZCBRdFdlYlBhZ2VMb2FkQ2xpZW50OjpkaXNwYXRjaExvYWRTdWNjZWVkZWQoKQog
ewotICAgIGVtaXQgbV93ZWJWaWV3LT5uYXZpZ2F0aW9uU3RhdGVDaGFuZ2VkKCk7Ci0gICAgZW1p
dCBtX3dlYlZpZXctPmxvYWRTdWNjZWVkZWQoKTsKKyAgICBtX3dlYlZpZXctPmRfZnVuYygpLT5s
b2FkRGlkU3VjY2VlZCgpOwogfQogCiB2b2lkIFF0V2ViUGFnZUxvYWRDbGllbnQ6OmRpc3BhdGNo
TG9hZEZhaWxlZChXS0Vycm9yUmVmIGVycm9yKQotLSAKMS43LjkKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125377</attachid>
            <date>2012-02-03 11:47:22 -0800</date>
            <delta_ts>2012-02-06 07:50:13 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>0001-Qt-WK2-Add-the-componentComplete-method-to-WebView.patch</filename>
            <type>text/plain</type>
            <size>17937</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">RnJvbSBhNzY5M2IxNjRjMDk0YjIxYjg5NzcxYjdhZjJmNGYxZTRjZDQ4Njk2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyYXMgQmVjc2kgPGFuZHJhcy5iZWNzaUBub2tpYS5jb20+
CkRhdGU6IEZyaSwgMyBGZWIgMjAxMiAyMDo0MTowMSArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIFtR
dF1bV0syXSBBZGQgdGhlIGNvbXBvbmVudENvbXBsZXRlIG1ldGhvZCB0byBXZWJWaWV3CgotLS0K
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1
NiArKysrKysrKysrKysrCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dl
YnZpZXcuY3BwICB8ICAgODUgKysrKysrKysrKysrKysrKysrLS0KIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmggIHwgICAxMiArKystCiAuLi4vV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmggICB8ICAgIDYgKysKIC4uLi9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHAgIHwgICAxNCArKy0t
CiAuLi4vQVBJL3F0L3Rlc3RzL3FxdWlja3dlYnZpZXcvcXF1aWNrd2Vidmlldy5wcm8gICB8ICAg
IDEgKwogLi4uL3F0L3Rlc3RzL3FxdWlja3dlYnZpZXcvdHN0X3FxdWlja3dlYnZpZXcuY3BwICAg
fCAgIDEyICsrLS0KIC4uLi9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VMb2FkQ2xpZW50
LmNwcCAgIHwgICAgMyArLQogOCBmaWxlcyBjaGFuZ2VkLCAxNjUgaW5zZXJ0aW9ucygrKSwgMjQg
ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDY1NDgxMzUuLjIwZmQ0NzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw1OSBAQAorMjAxMi0wMi0wMyAgQW5kcmFzIEJlY3NpICA8YW5kcmFzLmJlY3Np
QG5va2lhLmNvbT4KKworICAgICAgICBbUXRdW1dLMl0gQWRkIHRoZSBjb21wb25lbnRDb21wbGV0
ZSBtZXRob2QgdG8gV2ViVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzcxMTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBNb3ZlIHRoZSBpbml0aWFsaXphdGlvbiBvZiB0aGUgaW50ZXJhY3Rpb24gZW5n
aW5lIHRvIGNvbXBvbmVudENvbXBsZXRlCisgICAgICAgIGluIHByZXBhcmF0aW9uIG9mIHN3aXRj
aGluZyB0byBhIEZsaWNrYWJsZSBiYXNlZCBjb250ZW50IHBvc2l0aW9uaW5nCisgICAgICAgIGZv
ciB0aGUgdG91Y2ggYmFzZWQgV2ViVmlldy4KKyAgICAgICAgU3VzcGVuZCB0aGUgcGFnZSBhbmQg
ZGVsYXkgdGhlIGRpc3BhdGNoIG9mIGxvYWQgc3VjY2VzIG9uIHN0YXJ0dXAgdW50aWwKKyAgICAg
ICAgdGhlIGNvbXBvbmVudCBmaW5pc2hlZCBpbml0aWFsaXphdGlvbi4KKyAgICAgICAgU2luY2Ug
Y29tcG9uZW50Q29tcGxldGUgZG9lcyBub3QgZ2V0IGNhbGxlZCBpZiB0aGUgUVF1aWNrV2ViVmll
dyBpcworICAgICAgICBpbnN0YW50aWF0ZWQgaW4gQysrIGFsc28gaW50cm9kdWNlIGEgZmFjdG9y
eSBtZXRob2QgdG8gYmUgYWJsZSB0bworICAgICAgICBkeW5hbWljYWxseSBjcmVhdGUgUVF1aWNr
V2ViVmlldyBpbnN0YW5jZXMgYW5kIHVzZSB0aGlzIGZ1bmN0aW9uYWxpdHkKKyAgICAgICAgaW4g
dGhlIEMrKyBBUEkgdGVzdHMuCisgICAgICAgIEFsc28gcmV0dXJuIHZhbGlkIGRlZmF1bHQgdmFs
dWVzIGluIHRoZSB2aWV3cG9ydCBpbmZvIGZ1bmN0aW9ucyBpZiB0aGUKKyAgICAgICAgaW50ZXJh
Y3Rpb24gZW5naW5lIGlzIG5vdCB5ZXQgaW5pdGlhbGl6ZWQgYmVjYXVzZSB0aGUgdmlld3BvcnQg
aW5mbworICAgICAgICBjb21wb25lbnQgY291bGQgZmluaXNoIGluaXRpYWxpemF0aW9uIGVhcmxp
ZXIgdGhhbiB0aGUgV2ViVmlldywgd2hpY2gKKyAgICAgICAgcmVzdWx0cyBpbiBRTUwgd2Fybmlu
Z3MgZHVyaW5nIE1pbmlCcm93c2VyIHN0YXJ0dXAuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L3F0L3FxdWlja3dlYnZpZXcuY3BwOgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6Omlu
aXRpYWxpemUpOgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6OmxvYWREaWRTdWNjZWVk
KToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpRUXVpY2tXZWJWaWV3
RmxpY2thYmxlUHJpdmF0ZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0
ZTo6aW5pdGlhbGl6ZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6
b25Db21wb25lbnRDb21wbGV0ZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJp
dmF0ZTo6bG9hZERpZFN1Y2NlZWQpOgorICAgICAgICAoUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVBy
aXZhdGU6OnVwZGF0ZVZpZXdwb3J0U2l6ZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3RmxpY2th
YmxlUHJpdmF0ZTo6X3FfcmVzdW1lKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdFeHBlcmltZW50
YWw6OmNyZWF0ZVdlYlZpZXcpOgorICAgICAgICAoUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6
cHJlcGFyZVdlYlZpZXdDb21wb25lbnQpOgorICAgICAgICAoUVF1aWNrV2ViVmlldzo6Z2VvbWV0
cnlDaGFuZ2VkKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXc6OmNvbXBvbmVudENvbXBsZXRlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaDoKKyAgICAgICAgKFFRdWlja1dl
YlZpZXdQcml2YXRlOjpvbkNvbXBvbmVudENvbXBsZXRlKToKKyAgICAgICAgKFFRdWlja1dlYlZp
ZXdQcml2YXRlKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8uY3BwOgorICAgICAgICAo
UVdlYlZpZXdwb3J0SW5mbzo6Y3VycmVudFNjYWxlKToKKyAgICAgICAgKFFXZWJWaWV3cG9ydElu
Zm86OmRldmljZVBpeGVsUmF0aW8pOgorICAgICAgICAoUVdlYlZpZXdwb3J0SW5mbzo6aW5pdGlh
bFNjYWxlKToKKyAgICAgICAgKFFXZWJWaWV3cG9ydEluZm86Om1pbmltdW1TY2FsZSk6CisgICAg
ICAgIChRV2ViVmlld3BvcnRJbmZvOjptYXhpbXVtU2NhbGUpOgorICAgICAgICAoUVdlYlZpZXdw
b3J0SW5mbzo6aXNTY2FsYWJsZSk6CisgICAgICAgIChRV2ViVmlld3BvcnRJbmZvOjpsYXlvdXRT
aXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FxdWlja3dlYnZpZXcvcXF1
aWNrd2Vidmlldy5wcm86CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xcXVpY2t3
ZWJ2aWV3L3RzdF9xcXVpY2t3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKHRzdF9RUXVpY2tXZWJWaWV3
Ojp0c3RfUVF1aWNrV2ViVmlldyk6CisgICAgICAgICh0c3RfUVF1aWNrV2ViVmlldzo6aW5pdCk6
CisgICAgICAgICh0c3RfUVF1aWNrV2ViVmlldzo6bXVsdGlwbGVXZWJWaWV3V2luZG93cyk6Cisg
ICAgICAgICh0c3RfUVF1aWNrV2ViVmlldzo6bXVsdGlwbGVXZWJWaWV3cyk6CisgICAgICAgICog
VUlQcm9jZXNzL3F0L1F0V2ViUGFnZUxvYWRDbGllbnQuY3BwOgorICAgICAgICAoUXRXZWJQYWdl
TG9hZENsaWVudDo6ZGlzcGF0Y2hMb2FkU3VjY2VlZGVkKToKKwogMjAxMi0wMi0wMyAgQmV0aCBE
YWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc3NjkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcAppbmRleCBkYzEzZjIyLi44ZDBlNGU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKQEAg
LTExNSw3ICsxMTUsNiBAQCB2b2lkIFFRdWlja1dlYlZpZXdQcml2YXRlOjppbml0aWFsaXplKFdL
Q29udGV4dFJlZiBjb250ZXh0UmVmLCBXS1BhZ2VHcm91cFJlZiBwYQogCiAgICAgcGFnZUNsaWVu
dC5pbml0aWFsaXplKHFfcHRyLCBwYWdlVmlld1ByaXZhdGUtPmV2ZW50SGFuZGxlci5kYXRhKCks
ICZ1bmRvQ29udHJvbGxlcik7CiAgICAgd2ViUGFnZVByb3h5LT5pbml0aWFsaXplV2ViUGFnZSgp
OwotICAgIHVwZGF0ZVZpZXdwb3J0U2l6ZSgpOwogfQogCiB2b2lkIFFRdWlja1dlYlZpZXdQcml2
YXRlOjplbmFibGVNb3VzZUV2ZW50cygpCkBAIC0xMzIsNiArMTMxLDEzIEBAIHZvaWQgUVF1aWNr
V2ViVmlld1ByaXZhdGU6OmRpc2FibGVNb3VzZUV2ZW50cygpCiAgICAgcS0+c2V0QWNjZXB0SG92
ZXJFdmVudHMoZmFsc2UpOwogfQogCit2b2lkIFFRdWlja1dlYlZpZXdQcml2YXRlOjpsb2FkRGlk
U3VjY2VlZCgpCit7CisgICAgUV9RKFFRdWlja1dlYlZpZXcpOworICAgIGVtaXQgcS0+bmF2aWdh
dGlvblN0YXRlQ2hhbmdlZCgpOworICAgIGVtaXQgcS0+bG9hZFN1Y2NlZWRlZCgpOworfQorCiB2
b2lkIFFRdWlja1dlYlZpZXdQcml2YXRlOjpzZXROZWVkc0Rpc3BsYXkoKQogewogICAgIFFfUShR
UXVpY2tXZWJWaWV3KTsKQEAgLTQ0NCwxNSArNDUwLDExIEBAIHZvaWQgUVF1aWNrV2ViVmlld0xl
Z2FjeVByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0U2l6ZSgpCiAKIFFRdWlja1dlYlZpZXdGbGlja2Fi
bGVQcml2YXRlOjpRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZShRUXVpY2tXZWJWaWV3KiB2
aWV3cG9ydCkKICAgICA6IFFRdWlja1dlYlZpZXdQcml2YXRlKHZpZXdwb3J0KQotICAgICwgaW50
ZXJhY3Rpb25FbmdpbmUobmV3IFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSh2aWV3cG9ydCwg
cGFnZVZpZXcuZGF0YSgpKSkKICAgICAsIHBvc3RUcmFuc2l0aW9uU3RhdGUoYWRvcHRQdHIobmV3
IFBvc3RUcmFuc2l0aW9uU3RhdGUodGhpcykpKQogICAgICwgaXNUcmFuc2l0aW9uaW5nVG9OZXdQ
YWdlKGZhbHNlKQotICAgICwgcGFnZUlzU3VzcGVuZGVkKGZhbHNlKQorICAgICwgcGFnZUlzU3Vz
cGVuZGVkKHRydWUpCisgICAgLCBsb2FkU3VjY2Vzc0Rpc3BhdGNoSXNQZW5kaW5nKGZhbHNlKQog
ewotICAgIFFPYmplY3Q6OmNvbm5lY3QoaW50ZXJhY3Rpb25FbmdpbmUuZGF0YSgpLCBTSUdOQUwo
Y29udGVudFN1c3BlbmRSZXF1ZXN0ZWQoKSksIHZpZXdwb3J0LCBTTE9UKF9xX3N1c3BlbmQoKSkp
OwotICAgIFFPYmplY3Q6OmNvbm5lY3QoaW50ZXJhY3Rpb25FbmdpbmUuZGF0YSgpLCBTSUdOQUwo
Y29udGVudFJlc3VtZVJlcXVlc3RlZCgpKSwgdmlld3BvcnQsIFNMT1QoX3FfcmVzdW1lKCkpKTsK
LSAgICBRT2JqZWN0Ojpjb25uZWN0KGludGVyYWN0aW9uRW5naW5lLmRhdGEoKSwgU0lHTkFMKHZp
ZXdwb3J0VHJhamVjdG9yeVZlY3RvckNoYW5nZWQoY29uc3QgUVBvaW50RiYpKSwgdmlld3BvcnQs
IFNMT1QoX3Ffdmlld3BvcnRUcmFqZWN0b3J5VmVjdG9yQ2hhbmdlZChjb25zdCBRUG9pbnRGJikp
KTsKLSAgICBRT2JqZWN0Ojpjb25uZWN0KGludGVyYWN0aW9uRW5naW5lLmRhdGEoKSwgU0lHTkFM
KHZpc2libGVDb250ZW50UmVjdEFuZFNjYWxlQ2hhbmdlZCgpKSwgdmlld3BvcnQsIFNMT1QoX3Ff
dXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0QW5kU2NhbGUoKSkpOwogfQogCiBRUXVpY2tXZWJWaWV3
RmxpY2thYmxlUHJpdmF0ZTo6flFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlKCkKQEAgLTQ2
NCwxMiArNDY2LDM5IEBAIHZvaWQgUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGU6OmluaXRp
YWxpemUoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyCiB7CiAgICAgUVF1aWNrV2Vi
Vmlld1ByaXZhdGU6OmluaXRpYWxpemUoY29udGV4dFJlZiwgcGFnZUdyb3VwUmVmKTsKICAgICB3
ZWJQYWdlUHJveHktPnNldFVzZUZpeGVkTGF5b3V0KHRydWUpOworfQorCit2b2lkIFFRdWlja1dl
YlZpZXdGbGlja2FibGVQcml2YXRlOjpvbkNvbXBvbmVudENvbXBsZXRlKCkKK3sKKyAgICBRX1Eo
UVF1aWNrV2ViVmlldyk7CisgICAgaW50ZXJhY3Rpb25FbmdpbmUucmVzZXQobmV3IFF0Vmlld3Bv
cnRJbnRlcmFjdGlvbkVuZ2luZShxLCBwYWdlVmlldy5kYXRhKCkpKTsKICAgICBwYWdlVmlldy0+
ZXZlbnRIYW5kbGVyKCktPnNldFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUoaW50ZXJhY3Rpb25F
bmdpbmUuZGF0YSgpKTsKIAorICAgIFFPYmplY3Q6OmNvbm5lY3QoaW50ZXJhY3Rpb25FbmdpbmUu
ZGF0YSgpLCBTSUdOQUwoY29udGVudFN1c3BlbmRSZXF1ZXN0ZWQoKSksIHEsIFNMT1QoX3Ffc3Vz
cGVuZCgpKSk7CisgICAgUU9iamVjdDo6Y29ubmVjdChpbnRlcmFjdGlvbkVuZ2luZS5kYXRhKCks
IFNJR05BTChjb250ZW50UmVzdW1lUmVxdWVzdGVkKCkpLCBxLCBTTE9UKF9xX3Jlc3VtZSgpKSk7
CisgICAgUU9iamVjdDo6Y29ubmVjdChpbnRlcmFjdGlvbkVuZ2luZS5kYXRhKCksIFNJR05BTCh2
aWV3cG9ydFRyYWplY3RvcnlWZWN0b3JDaGFuZ2VkKGNvbnN0IFFQb2ludEYmKSksIHEsIFNMT1Qo
X3Ffdmlld3BvcnRUcmFqZWN0b3J5VmVjdG9yQ2hhbmdlZChjb25zdCBRUG9pbnRGJikpKTsKKyAg
ICBRT2JqZWN0Ojpjb25uZWN0KGludGVyYWN0aW9uRW5naW5lLmRhdGEoKSwgU0lHTkFMKHZpc2li
bGVDb250ZW50UmVjdEFuZFNjYWxlQ2hhbmdlZCgpKSwgcSwgU0xPVChfcV91cGRhdGVWaXNpYmxl
Q29udGVudFJlY3RBbmRTY2FsZSgpKSk7CisKKyAgICBfcV9yZXN1bWUoKTsKKworICAgIGlmIChs
b2FkU3VjY2Vzc0Rpc3BhdGNoSXNQZW5kaW5nKSB7CisgICAgICAgIFFRdWlja1dlYlZpZXdQcml2
YXRlOjpsb2FkRGlkU3VjY2VlZCgpOworICAgICAgICBsb2FkU3VjY2Vzc0Rpc3BhdGNoSXNQZW5k
aW5nID0gZmFsc2U7CisgICAgfQorCiAgICAgLy8gVHJpZ2dlciBzZXR0aW5nIG9mIGNvcnJlY3Qg
dmlzaWJpbGl0eSBmbGFncyBhZnRlciBldmVyeXRoaW5nIHdhcyBhbGxvY2F0ZWQgYW5kIGluaXRp
YWxpemVkLgogICAgIF9xX29uVmlzaWJsZUNoYW5nZWQoKTsKIH0KIAordm9pZCBRUXVpY2tXZWJW
aWV3RmxpY2thYmxlUHJpdmF0ZTo6bG9hZERpZFN1Y2NlZWQoKQoreworICAgIGlmIChpbnRlcmFj
dGlvbkVuZ2luZSkKKyAgICAgICAgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmxvYWREaWRTdWNjZWVk
KCk7CisgICAgZWxzZQorICAgICAgICBsb2FkU3VjY2Vzc0Rpc3BhdGNoSXNQZW5kaW5nID0gdHJ1
ZTsKKworfQorCiB2b2lkIFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpsb2FkRGlkQ29t
bWl0KCkKIHsKICAgICAvLyBEdWUgdG8gZW50ZXJpbmcgcHJvdmlzaW9uYWwgbG9hZCBiZWZvcmUg
Y29tbWl0dGluZywgd2UKQEAgLTUwMSw3ICs1MzAsNyBAQCB2b2lkIFFRdWlja1dlYlZpZXdGbGlj
a2FibGVQcml2YXRlOjp1cGRhdGVWaWV3cG9ydFNpemUoKQogICAgIFFfUShRUXVpY2tXZWJWaWV3
KTsKICAgICBRU2l6ZSB2aWV3cG9ydFNpemUgPSBxLT5ib3VuZGluZ1JlY3QoKS5zaXplKCkudG9T
aXplKCk7CiAKLSAgICBpZiAodmlld3BvcnRTaXplLmlzRW1wdHkoKSkKKyAgICBpZiAodmlld3Bv
cnRTaXplLmlzRW1wdHkoKSB8fCAhaW50ZXJhY3Rpb25FbmdpbmUpCiAgICAgICAgIHJldHVybjsK
IAogICAgIC8vIExldCB0aGUgV2ViUHJvY2VzcyBrbm93IGFib3V0IHRoZSBuZXcgdmlld3BvcnQg
c2l6ZSwgc28gdGhhdApAQCAtNTM3LDYgKzU2Niw5IEBAIHZvaWQgUVF1aWNrV2ViVmlld0ZsaWNr
YWJsZVByaXZhdGU6Ol9xX3N1c3BlbmQoKQogCiB2b2lkIFFRdWlja1dlYlZpZXdGbGlja2FibGVQ
cml2YXRlOjpfcV9yZXN1bWUoKQogeworICAgIGlmICghaW50ZXJhY3Rpb25FbmdpbmUpCisgICAg
ICAgIHJldHVybjsKKwogICAgIHBhZ2VJc1N1c3BlbmRlZCA9IGZhbHNlOwogCiAgICAgaWYgKGlz
VHJhbnNpdGlvbmluZ1RvTmV3UGFnZSkgewpAQCAtNjgzLDYgKzcxNSwzNCBAQCBib29sIFFRdWlj
a1dlYlZpZXdFeHBlcmltZW50YWw6OmZsaWNrYWJsZVZpZXdwb3J0RW5hYmxlZCgpCiAgICAgcmV0
dXJuIHNfZmxpY2thYmxlVmlld3BvcnRFbmFibGVkOwogfQogCitzdGF0aWMgUURlY2xhcmF0aXZl
Q29tcG9uZW50KiBzX3dlYlZpZXdDb21wb25lbnQgPSAwOworCitRUXVpY2tXZWJWaWV3KiBRUXVp
Y2tXZWJWaWV3RXhwZXJpbWVudGFsOjpjcmVhdGVXZWJWaWV3KCkKK3sKKyAgICBBU1NFUlQoc193
ZWJWaWV3Q29tcG9uZW50KTsKKworICAgIFFPYmplY3QqIHZpZXdJbnN0YW5jZSA9IHNfd2ViVmll
d0NvbXBvbmVudC0+Y3JlYXRlKCk7CisgICAgQVNTRVJUKHZpZXdJbnN0YW5jZSk7CisKKyAgICBy
ZXR1cm4gcW9iamVjdF9jYXN0PFFRdWlja1dlYlZpZXcqPih2aWV3SW5zdGFuY2UpOworfQorCit2
b2lkIFFRdWlja1dlYlZpZXdFeHBlcmltZW50YWw6OnByZXBhcmVXZWJWaWV3Q29tcG9uZW50KGNv
bnN0IFFTdHJpbmcmIHFtbEltcG9ydFBhdGgsIFFPYmplY3QqIHBhcmVudCkKK3sKKyAgICBBU1NF
UlQoIXNfd2ViVmlld0NvbXBvbmVudCk7CisgICAgQVNTRVJUKCFxbWxJbXBvcnRQYXRoLmlzRW1w
dHkoKSk7CisKKyAgICBzdGF0aWMgUURlY2xhcmF0aXZlRW5naW5lKiBlbmdpbmUgPSBuZXcgUURl
Y2xhcmF0aXZlRW5naW5lKHBhcmVudCk7CisgICAgZW5naW5lLT5hZGRJbXBvcnRQYXRoKHFtbElt
cG9ydFBhdGgpOworCisgICAgc193ZWJWaWV3Q29tcG9uZW50ID0gbmV3IFFEZWNsYXJhdGl2ZUNv
bXBvbmVudChlbmdpbmUsIHBhcmVudCk7CisKKyAgICBzX3dlYlZpZXdDb21wb25lbnQtPnNldERh
dGEoUUJ5dGVBcnJheUxpdGVyYWwoImltcG9ydCBRdFF1aWNrIDIuMFxuIgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW1wb3J0IFF0V2ViS2l0IDMu
MFxuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
V2ViVmlldyB7fSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgUVVybCgpKTsK
K30KKwogdm9pZCBRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFsOjpwb3N0TWVzc2FnZShjb25zdCBR
U3RyaW5nJiBtZXNzYWdlKQogewogICAgIFFfRChRUXVpY2tXZWJWaWV3KTsKQEAgLTEwNjksNiAr
MTEyOSwxNSBAQCB2b2lkIFFRdWlja1dlYlZpZXc6Omdlb21ldHJ5Q2hhbmdlZChjb25zdCBRUmVj
dEYmIG5ld0dlb21ldHJ5LCBjb25zdCBRUmVjdEYmIG9sZAogICAgICAgICBkLT51cGRhdGVWaWV3
cG9ydFNpemUoKTsKIH0KIAordm9pZCBRUXVpY2tXZWJWaWV3Ojpjb21wb25lbnRDb21wbGV0ZSgp
Cit7CisgICAgUV9EKFFRdWlja1dlYlZpZXcpOworICAgIFFRdWlja0l0ZW06OmNvbXBvbmVudENv
bXBsZXRlKCk7CisKKyAgICBkLT5vbkNvbXBvbmVudENvbXBsZXRlKCk7CisgICAgZC0+dXBkYXRl
Vmlld3BvcnRTaXplKCk7Cit9CisKIHZvaWQgUVF1aWNrV2ViVmlldzo6a2V5UHJlc3NFdmVudChR
S2V5RXZlbnQqIGV2ZW50KQogewogICAgIHRoaXMtPmV2ZW50KGV2ZW50KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oCmluZGV4IDkyYjM4
ZTguLjZmNjM3ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
cXF1aWNrd2Vidmlld19wLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
cXVpY2t3ZWJ2aWV3X3AuaApAQCAtMTM1LDcgKzEzNSw3IEBAIFFfU0lHTkFMUzoKIAogcHJvdGVj
dGVkOgogICAgIHZpcnR1YWwgdm9pZCBnZW9tZXRyeUNoYW5nZWQoY29uc3QgUVJlY3RGJiwgY29u
c3QgUVJlY3RGJik7Ci0KKyAgICB2aXJ0dWFsIHZvaWQgY29tcG9uZW50Q29tcGxldGUoKTsKICAg
ICB2aXJ0dWFsIHZvaWQga2V5UHJlc3NFdmVudChRS2V5RXZlbnQqKTsKICAgICB2aXJ0dWFsIHZv
aWQga2V5UmVsZWFzZUV2ZW50KFFLZXlFdmVudCopOwogICAgIHZpcnR1YWwgdm9pZCBpbnB1dE1l
dGhvZEV2ZW50KFFJbnB1dE1ldGhvZEV2ZW50Kik7CkBAIC0yNTgsNiArMjU4LDE2IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgdm9pZCBzZXRGbGlja2FibGVWaWV3cG9ydEVuYWJsZWQoYm9vbCBlbmFi
bGUpOwogICAgIHN0YXRpYyBib29sIGZsaWNrYWJsZVZpZXdwb3J0RW5hYmxlZCgpOwogCisgICAg
Ly8gRmFjdG9yeSBtZXRob2QgZm9yIGNyZWF0aW5nIFdlYlZpZXcgaW5zdGFuY2VzIGluIEMrKy4K
KyAgICAvLyBDcmVhdGVzIGEgUU1MIFdlYlZpZXcgZHluYW1pY2FsbHkgdXNpbmcgdGhlIGludGVy
bmFsCisgICAgLy8gY29tcG9uZW50IHdoaWNoIG11c3QgYmUgcHJlcGFyZWQgYmVmb3JlIGNhbGxp
bmcgdGhpcyBtZXRob2QuCisgICAgLy8gVGhlIHRvdWNoIGJhc2VkIFdlYlZpZXcgY2FuIG9ubHkg
YmUgaW5zdGFudGlhdGVkIGluIEMrKworICAgIC8vIHVzaW5nIHRoaXMgZnVuY3Rpb24gYmVjYXVz
ZSB0aGUgaW5pdGlhbGl6YXRvbiBkZXBlbmRzIG9uCisgICAgLy8gdGhlIGNvbXBvbmVudENvbXBs
ZXRlIG1ldGhvZCBiZWluZyBjYWxsZWQuCisgICAgc3RhdGljIFFRdWlja1dlYlZpZXcqIGNyZWF0
ZVdlYlZpZXcoKTsKKyAgICBzdGF0aWMgdm9pZCBwcmVwYXJlV2ViVmlld0NvbXBvbmVudChjb25z
dCBRU3RyaW5nJiBxbWxJbXBvcnRQYXRoLCBRT2JqZWN0KiBwYXJlbnQpOworCisKIHB1YmxpYyBR
X1NMT1RTOgogICAgIHZvaWQgZ29CYWNrVG8oaW50IGluZGV4KTsKICAgICB2b2lkIGdvRm9yd2Fy
ZFRvKGludCBpbmRleCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L3F0L3FxdWlja3dlYnZpZXdfcF9wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3FxdWlja3dlYnZpZXdfcF9wLmgKaW5kZXggYmQ2OTZkOS4uYzcxOTlkZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaApAQCAt
NjgsNiArNjgsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBlbmFibGVNb3VzZUV2ZW50cygpOwogICAg
IHZvaWQgZGlzYWJsZU1vdXNlRXZlbnRzKCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgb25Db21wb25l
bnRDb21wbGV0ZSgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBsb2FkRGlkU3VjY2VlZCgpOworCiAg
ICAgdmlydHVhbCB2b2lkIGxvYWREaWRDb21taXQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlk
RmluaXNoRmlyc3ROb25FbXB0eUxheW91dCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFu
Z2VWaWV3cG9ydFByb3BlcnRpZXMoY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMmIGFy
Z3MpIHsgfQpAQCAtMTY0LDYgKzE2Nyw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5RUXVpY2tX
ZWJWaWV3RmxpY2thYmxlUHJpdmF0ZSgpOwogICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplKFdL
Q29udGV4dFJlZiBjb250ZXh0UmVmID0gMCwgV0tQYWdlR3JvdXBSZWYgcGFnZUdyb3VwUmVmID0g
MCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgb25Db21wb25lbnRDb21wbGV0ZSgpOworICAgIHZpcnR1
YWwgdm9pZCBsb2FkRGlkU3VjY2VlZCgpOwogICAgIHZpcnR1YWwgdm9pZCBsb2FkRGlkQ29tbWl0
KCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaEZpcnN0Tm9uRW1wdHlMYXlvdXQoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVzKGNvbnN0IFdlYkNvcmU6
OlZpZXdwb3J0QXJndW1lbnRzJiBhcmdzKTsKQEAgLTE5OSw2ICsyMDQsNyBAQCBwcml2YXRlOgog
ICAgIE93blB0cjxQb3N0VHJhbnNpdGlvblN0YXRlPiBwb3N0VHJhbnNpdGlvblN0YXRlOwogICAg
IGJvb2wgaXNUcmFuc2l0aW9uaW5nVG9OZXdQYWdlOwogICAgIGJvb2wgcGFnZUlzU3VzcGVuZGVk
OworICAgIGJvb2wgbG9hZFN1Y2Nlc3NEaXNwYXRjaElzUGVuZGluZzsKIH07CiAKICNlbmRpZiAv
LyBxcXVpY2t3ZWJ2aWV3X3BfcF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xd2Vidmlld3BvcnRpbmZvLmNwcAppbmRleCAxNDhiNTAwLi4xNzg3YTE2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8u
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5m
by5jcHAKQEAgLTQ2LDcgKzQ2LDcgQEAgUVZhcmlhbnQgUVdlYlZpZXdwb3J0SW5mbzo6Y3VycmVu
dFNjYWxlKCkgY29uc3QKICAgICBpZiAoUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKiBpbnRl
cmFjdGlvbkVuZ2luZSA9IG1fd2ViVmlld1ByaXZhdGUtPnZpZXdwb3J0SW50ZXJhY3Rpb25Fbmdp
bmUoKSkKICAgICAgICAgcmV0dXJuIGludGVyYWN0aW9uRW5naW5lLT5jdXJyZW50Q1NTU2NhbGUo
KTsKIAotICAgIHJldHVybiBRVmFyaWFudCgpOworICAgIHJldHVybiBRVmFyaWFudCgxLjApOwog
fQogCiBRVmFyaWFudCBRV2ViVmlld3BvcnRJbmZvOjpkZXZpY2VQaXhlbFJhdGlvKCkgY29uc3QK
QEAgLTU0LDcgKzU0LDcgQEAgUVZhcmlhbnQgUVdlYlZpZXdwb3J0SW5mbzo6ZGV2aWNlUGl4ZWxS
YXRpbygpIGNvbnN0CiAgICAgaWYgKFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSogaW50ZXJh
Y3Rpb25FbmdpbmUgPSBtX3dlYlZpZXdQcml2YXRlLT52aWV3cG9ydEludGVyYWN0aW9uRW5naW5l
KCkpCiAgICAgICAgIHJldHVybiBpbnRlcmFjdGlvbkVuZ2luZS0+Y29uc3RyYWludHMoKS5kZXZp
Y2VQaXhlbFJhdGlvOwogCi0gICAgcmV0dXJuIFFWYXJpYW50KCk7CisgICAgcmV0dXJuIFFWYXJp
YW50KDEuMCk7CiB9CiAKIFFWYXJpYW50IFFXZWJWaWV3cG9ydEluZm86OmluaXRpYWxTY2FsZSgp
IGNvbnN0CkBAIC02Miw3ICs2Miw3IEBAIFFWYXJpYW50IFFXZWJWaWV3cG9ydEluZm86OmluaXRp
YWxTY2FsZSgpIGNvbnN0CiAgICAgaWYgKFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSogaW50
ZXJhY3Rpb25FbmdpbmUgPSBtX3dlYlZpZXdQcml2YXRlLT52aWV3cG9ydEludGVyYWN0aW9uRW5n
aW5lKCkpCiAgICAgICAgIHJldHVybiBpbnRlcmFjdGlvbkVuZ2luZS0+Y29uc3RyYWludHMoKS5p
bml0aWFsU2NhbGU7CiAKLSAgICByZXR1cm4gUVZhcmlhbnQoKTsKKyAgICByZXR1cm4gUVZhcmlh
bnQoMS4wKTsKIH0KIAogUVZhcmlhbnQgUVdlYlZpZXdwb3J0SW5mbzo6bWluaW11bVNjYWxlKCkg
Y29uc3QKQEAgLTcwLDcgKzcwLDcgQEAgUVZhcmlhbnQgUVdlYlZpZXdwb3J0SW5mbzo6bWluaW11
bVNjYWxlKCkgY29uc3QKICAgICBpZiAoUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKiBpbnRl
cmFjdGlvbkVuZ2luZSA9IG1fd2ViVmlld1ByaXZhdGUtPnZpZXdwb3J0SW50ZXJhY3Rpb25Fbmdp
bmUoKSkKICAgICAgICAgcmV0dXJuIGludGVyYWN0aW9uRW5naW5lLT5jb25zdHJhaW50cygpLm1p
bmltdW1TY2FsZTsKIAotICAgIHJldHVybiBRVmFyaWFudCgpOworICAgIHJldHVybiBRVmFyaWFu
dCgwLjI1KTsKIH0KIAogUVZhcmlhbnQgUVdlYlZpZXdwb3J0SW5mbzo6bWF4aW11bVNjYWxlKCkg
Y29uc3QKQEAgLTc4LDcgKzc4LDcgQEAgUVZhcmlhbnQgUVdlYlZpZXdwb3J0SW5mbzo6bWF4aW11
bVNjYWxlKCkgY29uc3QKICAgICBpZiAoUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKiBpbnRl
cmFjdGlvbkVuZ2luZSA9IG1fd2ViVmlld1ByaXZhdGUtPnZpZXdwb3J0SW50ZXJhY3Rpb25Fbmdp
bmUoKSkKICAgICAgICAgcmV0dXJuIGludGVyYWN0aW9uRW5naW5lLT5jb25zdHJhaW50cygpLm1h
eGltdW1TY2FsZTsKIAotICAgIHJldHVybiBRVmFyaWFudCgpOworICAgIHJldHVybiBRVmFyaWFu
dCgxLjgpOwogfQogCiBRVmFyaWFudCBRV2ViVmlld3BvcnRJbmZvOjppc1NjYWxhYmxlKCkgY29u
c3QKQEAgLTg2LDcgKzg2LDcgQEAgUVZhcmlhbnQgUVdlYlZpZXdwb3J0SW5mbzo6aXNTY2FsYWJs
ZSgpIGNvbnN0CiAgICAgaWYgKFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSogaW50ZXJhY3Rp
b25FbmdpbmUgPSBtX3dlYlZpZXdQcml2YXRlLT52aWV3cG9ydEludGVyYWN0aW9uRW5naW5lKCkp
CiAgICAgICAgIHJldHVybiBpbnRlcmFjdGlvbkVuZ2luZS0+Y29uc3RyYWludHMoKS5pc1VzZXJT
Y2FsYWJsZTsKIAotICAgIHJldHVybiBRVmFyaWFudCgpOworICAgIHJldHVybiBRVmFyaWFudCh0
cnVlKTsKIH0KIAogUVZhcmlhbnQgUVdlYlZpZXdwb3J0SW5mbzo6bGF5b3V0U2l6ZSgpIGNvbnN0
CkBAIC05NCw3ICs5NCw3IEBAIFFWYXJpYW50IFFXZWJWaWV3cG9ydEluZm86OmxheW91dFNpemUo
KSBjb25zdAogICAgIGlmIChRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUqIGludGVyYWN0aW9u
RW5naW5lID0gbV93ZWJWaWV3UHJpdmF0ZS0+dmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSgpKQog
ICAgICAgICByZXR1cm4gaW50ZXJhY3Rpb25FbmdpbmUtPmNvbnN0cmFpbnRzKCkubGF5b3V0U2l6
ZTsKIAotICAgIHJldHVybiBRVmFyaWFudCgpOworICAgIHJldHVybiBRVmFyaWFudChRU2l6ZSgp
KTsKIH0KIAogdm9pZCBRV2ViVmlld3BvcnRJbmZvOjpkaWRVcGRhdGVDb250ZW50c1NpemUoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xcXVpY2t3
ZWJ2aWV3L3FxdWlja3dlYnZpZXcucHJvIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC90ZXN0cy9xcXVpY2t3ZWJ2aWV3L3FxdWlja3dlYnZpZXcucHJvCmluZGV4IDBmMGQ0ZjUuLjI1
Y2Q4MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMv
cXF1aWNrd2Vidmlldy9xcXVpY2t3ZWJ2aWV3LnBybworKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3Rlc3RzL3FxdWlja3dlYnZpZXcvcXF1aWNrd2Vidmlldy5wcm8KQEAgLTEs
MyArMSw0IEBACiBpbmNsdWRlKC4uL3Rlc3RzLnByaSkKIFNPVVJDRVMgKz0gJCR7VEFSR0VUfS5j
cHAKIENPTkZJRyArPSBxdHdlYmtpdC1wcml2YXRlCitERUZJTkVTICs9IElNUE9SVF9ESVI9XCJc
XFwiJCR7Uk9PVF9CVUlMRF9ESVJ9JCR7UU1BS0VfRElSX1NFUH1pbXBvcnRzXFxcIlwiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FxdWlja3dlYnZp
ZXcvdHN0X3FxdWlja3dlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC90ZXN0cy9xcXVpY2t3ZWJ2aWV3L3RzdF9xcXVpY2t3ZWJ2aWV3LmNwcAppbmRleCAxNzc5NzZi
Li4yNDUwN2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rl
c3RzL3FxdWlja3dlYnZpZXcvdHN0X3FxdWlja3dlYnZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcXF1aWNrd2Vidmlldy90c3RfcXF1aWNrd2Vidmll
dy5jcHAKQEAgLTYyLDEyICs2MiwxMiBAQCBwcml2YXRlOgogdHN0X1FRdWlja1dlYlZpZXc6OnRz
dF9RUXVpY2tXZWJWaWV3KCkKIHsKICAgICBhZGRRdFdlYlByb2Nlc3NUb1BhdGgoKTsKLSAgICBx
UmVnaXN0ZXJNZXRhVHlwZTxRUXVpY2tXZWJQYWdlKj4oIlFRdWlja1dlYlBhZ2UqIik7CisgICAg
UVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6cHJlcGFyZVdlYlZpZXdDb21wb25lbnQoUUxhdGlu
MUxpdGVyYWwoSU1QT1JUX0RJUiksIHRoaXMpOwogfQogCiB2b2lkIHRzdF9RUXVpY2tXZWJWaWV3
Ojppbml0KCkKIHsKLSAgICBtX3dpbmRvdy5yZXNldChuZXcgVGVzdFdpbmRvdyhuZXcgUVF1aWNr
V2ViVmlldygpKSk7CisgICAgbV93aW5kb3cucmVzZXQobmV3IFRlc3RXaW5kb3coUVF1aWNrV2Vi
Vmlld0V4cGVyaW1lbnRhbDo6Y3JlYXRlV2ViVmlldygpKSk7CiB9CiAKIHZvaWQgdHN0X1FRdWlj
a1dlYlZpZXc6OmNsZWFudXAoKQpAQCAtMjc3LDkgKzI3Nyw5IEBAIHZvaWQgdHN0X1FRdWlja1dl
YlZpZXc6Om11bHRpcGxlV2ViVmlld1dpbmRvd3MoKQogICAgIHNob3dXZWJWaWV3KCk7CiAKICAg
ICAvLyBUaGlzIHNob3VsZCBub3QgY3Jhc2guCi0gICAgUVF1aWNrV2ViVmlldyogd2ViVmlldzEg
PSBuZXcgUVF1aWNrV2ViVmlldygpOworICAgIFFRdWlja1dlYlZpZXcqIHdlYlZpZXcxID0gUVF1
aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6Y3JlYXRlV2ViVmlldygpOwogICAgIFFTY29wZWRQb2lu
dGVyPFRlc3RXaW5kb3c+IHdpbmRvdzEobmV3IFRlc3RXaW5kb3cod2ViVmlldzEpKTsKLSAgICBR
UXVpY2tXZWJWaWV3KiB3ZWJWaWV3MiA9IG5ldyBRUXVpY2tXZWJWaWV3KCk7CisgICAgUVF1aWNr
V2ViVmlldyogd2ViVmlldzIgPSBRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFsOjpjcmVhdGVXZWJW
aWV3KCk7CiAgICAgUVNjb3BlZFBvaW50ZXI8VGVzdFdpbmRvdz4gd2luZG93MihuZXcgVGVzdFdp
bmRvdyh3ZWJWaWV3MikpOwogCiAgICAgd2ViVmlldzEtPnNldFNpemUoUVNpemVGKDMwMCwgNDAw
KSk7CkBAIC0zMDEsOSArMzAxLDkgQEAgdm9pZCB0c3RfUVF1aWNrV2ViVmlldzo6bXVsdGlwbGVX
ZWJWaWV3cygpCiAgICAgc2hvd1dlYlZpZXcoKTsKIAogICAgIC8vIFRoaXMgc2hvdWxkIG5vdCBj
cmFzaC4KLSAgICBRU2NvcGVkUG9pbnRlcjxRUXVpY2tXZWJWaWV3PiB3ZWJWaWV3MShuZXcgUVF1
aWNrV2ViVmlldygpKTsKKyAgICBRU2NvcGVkUG9pbnRlcjxRUXVpY2tXZWJWaWV3PiB3ZWJWaWV3
MShRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFsOjpjcmVhdGVXZWJWaWV3KCkpOwogICAgIHdlYlZp
ZXcxLT5zZXRQYXJlbnRJdGVtKG1fd2luZG93LT5yb290SXRlbSgpKTsKLSAgICBRU2NvcGVkUG9p
bnRlcjxRUXVpY2tXZWJWaWV3PiB3ZWJWaWV3MihuZXcgUVF1aWNrV2ViVmlldygpKTsKKyAgICBR
U2NvcGVkUG9pbnRlcjxRUXVpY2tXZWJWaWV3PiB3ZWJWaWV3MihRUXVpY2tXZWJWaWV3RXhwZXJp
bWVudGFsOjpjcmVhdGVXZWJWaWV3KCkpOwogICAgIHdlYlZpZXcyLT5zZXRQYXJlbnRJdGVtKG1f
d2luZG93LT5yb290SXRlbSgpKTsKIAogICAgIHdlYlZpZXcxLT5zZXRTaXplKFFTaXplRigzMDAs
IDQwMCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFn
ZUxvYWRDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZUxv
YWRDbGllbnQuY3BwCmluZGV4IDNiYThjNzQuLjI2MDFmNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VMb2FkQ2xpZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlTG9hZENsaWVudC5jcHAKQEAgLTg1LDggKzg1
LDcgQEAgdm9pZCBRdFdlYlBhZ2VMb2FkQ2xpZW50OjpkaWRDaGFuZ2VCYWNrRm9yd2FyZExpc3Qo
KQogCiB2b2lkIFF0V2ViUGFnZUxvYWRDbGllbnQ6OmRpc3BhdGNoTG9hZFN1Y2NlZWRlZCgpCiB7
Ci0gICAgZW1pdCBtX3dlYlZpZXctPm5hdmlnYXRpb25TdGF0ZUNoYW5nZWQoKTsKLSAgICBlbWl0
IG1fd2ViVmlldy0+bG9hZFN1Y2NlZWRlZCgpOworICAgIG1fd2ViVmlldy0+ZF9mdW5jKCktPmxv
YWREaWRTdWNjZWVkKCk7CiB9CiAKIHZvaWQgUXRXZWJQYWdlTG9hZENsaWVudDo6ZGlzcGF0Y2hM
b2FkRmFpbGVkKFdLRXJyb3JSZWYgZXJyb3IpCi0tIAoxLjcuOQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125646</attachid>
            <date>2012-02-06 07:50:13 -0800</date>
            <delta_ts>2012-02-07 04:39:00 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>0001-Qt-WK2-Add-the-componentComplete-method-to-WebView.patch</filename>
            <type>text/plain</type>
            <size>17537</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">RnJvbSBlZWViNmVhMzkwNDYxMjBlN2ZjMzFkM2RiOTJmZDBmZjY1MDlhYWQ5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyYXMgQmVjc2kgPGFuZHJhcy5iZWNzaUBub2tpYS5jb20+
CkRhdGU6IEZyaSwgMyBGZWIgMjAxMiAyMDo0MTowMSArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIFtR
dF1bV0syXSBBZGQgdGhlIGNvbXBvbmVudENvbXBsZXRlIG1ldGhvZCB0byBXZWJWaWV3CgotLS0K
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1
MiArKysrKysrKysrKysrKysrKysKIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1
aWNrd2Vidmlldy5jcHAgIHwgICA1NyArKysrKysrKysrKysrKysrKy0tLQogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaCAgfCAgICAyICstCiAuLi4vV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmggICB8ICAgIDUgKysKIC4u
Li9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHAgIHwgICAxNCAr
KystLS0KIC4uLi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mb19wLmgg
IHwgICAgMyAtCiAuLi4vQVBJL3F0L3Rlc3RzL3FxdWlja3dlYnZpZXcvcXF1aWNrd2Vidmlldy5w
cm8gICB8ICAgIDEgKwogLi4uL3F0L3Rlc3RzL3FxdWlja3dlYnZpZXcvdHN0X3FxdWlja3dlYnZp
ZXcuY3BwICAgfCAgIDM2ICsrKysrKysrKystLQogLi4uL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0
V2ViUGFnZUxvYWRDbGllbnQuY3BwICAgfCAgICAzICstCiA5IGZpbGVzIGNoYW5nZWQsIDE0NiBp
bnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWQ3YWJiYS4uNjNi
YTI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEyLTAyLTAzICBBbmRyYXMgQmVj
c2kgIDxhbmRyYXMuYmVjc2lAbm9raWEuY29tPgorCisgICAgICAgIFtRdF1bV0syXSBBZGQgdGhl
IGNvbXBvbmVudENvbXBsZXRlIG1ldGhvZCB0byBXZWJWaWV3CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NzExMQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgdGhlIGluaXRpYWxpemF0aW9uIG9mIHRo
ZSBpbnRlcmFjdGlvbiBlbmdpbmUgdG8gY29tcG9uZW50Q29tcGxldGUKKyAgICAgICAgaW4gcHJl
cGFyYXRpb24gb2Ygc3dpdGNoaW5nIHRvIGEgRmxpY2thYmxlIGJhc2VkIGNvbnRlbnQgcG9zaXRp
b25pbmcKKyAgICAgICAgZm9yIHRoZSB0b3VjaCBiYXNlZCBXZWJWaWV3LgorICAgICAgICBTdXNw
ZW5kIHRoZSBwYWdlIGFuZCBkZWxheSB0aGUgZGlzcGF0Y2ggb2YgbG9hZCBzdWNjZXNzIG9uIHN0
YXJ0dXAgdW50aWwKKyAgICAgICAgdGhlIGNvbXBvbmVudCBmaW5pc2hlZCBpbml0aWFsaXphdGlv
bi4KKyAgICAgICAgQWxzbyByZXR1cm4gdmFsaWQgZGVmYXVsdCB2YWx1ZXMgaW4gdGhlIHZpZXdw
b3J0IGluZm8gZnVuY3Rpb25zIGlmIHRoZQorICAgICAgICBpbnRlcmFjdGlvbiBlbmdpbmUgaXMg
bm90IHlldCBpbml0aWFsaXplZCBiZWNhdXNlIHRoZSB2aWV3cG9ydCBpbmZvCisgICAgICAgIGNv
bXBvbmVudCBjb3VsZCBmaW5pc2ggaW5pdGlhbGl6YXRpb24gZWFybGllciB0aGFuIHRoZSBXZWJW
aWV3LCB3aGljaAorICAgICAgICByZXN1bHRzIGluIFFNTCB3YXJuaW5ncyBkdXJpbmcgTWluaUJy
b3dzZXIgc3RhcnR1cC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmll
dy5jcHA6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6aW5pdGlhbGl6ZSk6CisgICAg
ICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6bG9hZERpZFN1Y2NlZWQpOgorICAgICAgICAoUVF1
aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGU6OlFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRl
KToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjppbml0aWFsaXplKToK
KyAgICAgICAgKFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpvbkNvbXBvbmVudENvbXBs
ZXRlKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpsb2FkRGlkU3Vj
Y2VlZCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6dXBkYXRlVmll
d3BvcnRTaXplKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpfcV9y
ZXN1bWUpOgorICAgICAgICAoUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbDo6Y3JlYXRlV2ViVmll
dyk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFsOjpwcmVwYXJlV2ViVmlld0Nv
bXBvbmVudCk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3OjpnZW9tZXRyeUNoYW5nZWQpOgorICAg
ICAgICAoUVF1aWNrV2ViVmlldzo6Y29tcG9uZW50Q29tcGxldGUpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9x
dC9xcXVpY2t3ZWJ2aWV3X3BfcC5oOgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6Om9u
Q29tcG9uZW50Q29tcGxldGUpOgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGUpOgorICAg
ICAgICAoUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGUpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHA6CisgICAgICAgIChRV2ViVmlld3BvcnRJbmZv
OjpjdXJyZW50U2NhbGUpOgorICAgICAgICAoUVdlYlZpZXdwb3J0SW5mbzo6ZGV2aWNlUGl4ZWxS
YXRpbyk6CisgICAgICAgIChRV2ViVmlld3BvcnRJbmZvOjppbml0aWFsU2NhbGUpOgorICAgICAg
ICAoUVdlYlZpZXdwb3J0SW5mbzo6bWluaW11bVNjYWxlKToKKyAgICAgICAgKFFXZWJWaWV3cG9y
dEluZm86Om1heGltdW1TY2FsZSk6CisgICAgICAgIChRV2ViVmlld3BvcnRJbmZvOjppc1NjYWxh
YmxlKToKKyAgICAgICAgKFFXZWJWaWV3cG9ydEluZm86OmxheW91dFNpemUpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcXF1aWNrd2Vidmlldy9xcXVpY2t3ZWJ2aWV3LnBybzoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FxdWlja3dlYnZpZXcvdHN0X3FxdWlj
a3dlYnZpZXcuY3BwOgorICAgICAgICAodHN0X1FRdWlja1dlYlZpZXc6OnRzdF9RUXVpY2tXZWJW
aWV3KToKKyAgICAgICAgKHRzdF9RUXVpY2tXZWJWaWV3Ojppbml0KToKKyAgICAgICAgKHRzdF9R
UXVpY2tXZWJWaWV3OjptdWx0aXBsZVdlYlZpZXdXaW5kb3dzKToKKyAgICAgICAgKHRzdF9RUXVp
Y2tXZWJWaWV3OjptdWx0aXBsZVdlYlZpZXdzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRX
ZWJQYWdlTG9hZENsaWVudC5jcHA6CisgICAgICAgIChRdFdlYlBhZ2VMb2FkQ2xpZW50OjpkaXNw
YXRjaExvYWRTdWNjZWVkZWQpOgorCiAyMDEyLTAyLTA2ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4g
IDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgogCiAgICAgICAgIFdlYkdlc3R1cmVFdmVudCBjYW4g
bm90IGVuY29kZSBkZWx0YSBhbmQgYXJlYS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCmluZGV4IGRjMTNmMjIuLjdlYTZkMzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcApA
QCAtMTE1LDcgKzExNSw2IEBAIHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmluaXRpYWxpemUo
V0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmIHBhCiAKICAgICBwYWdlQ2xp
ZW50LmluaXRpYWxpemUocV9wdHIsIHBhZ2VWaWV3UHJpdmF0ZS0+ZXZlbnRIYW5kbGVyLmRhdGEo
KSwgJnVuZG9Db250cm9sbGVyKTsKICAgICB3ZWJQYWdlUHJveHktPmluaXRpYWxpemVXZWJQYWdl
KCk7Ci0gICAgdXBkYXRlVmlld3BvcnRTaXplKCk7CiB9CiAKIHZvaWQgUVF1aWNrV2ViVmlld1By
aXZhdGU6OmVuYWJsZU1vdXNlRXZlbnRzKCkKQEAgLTEzMiw2ICsxMzEsMTMgQEAgdm9pZCBRUXVp
Y2tXZWJWaWV3UHJpdmF0ZTo6ZGlzYWJsZU1vdXNlRXZlbnRzKCkKICAgICBxLT5zZXRBY2NlcHRI
b3ZlckV2ZW50cyhmYWxzZSk7CiB9CiAKK3ZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmxvYWRE
aWRTdWNjZWVkKCkKK3sKKyAgICBRX1EoUVF1aWNrV2ViVmlldyk7CisgICAgZW1pdCBxLT5uYXZp
Z2F0aW9uU3RhdGVDaGFuZ2VkKCk7CisgICAgZW1pdCBxLT5sb2FkU3VjY2VlZGVkKCk7Cit9CisK
IHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OnNldE5lZWRzRGlzcGxheSgpCiB7CiAgICAgUV9R
KFFRdWlja1dlYlZpZXcpOwpAQCAtNDQ0LDE1ICs0NTAsMTEgQEAgdm9pZCBRUXVpY2tXZWJWaWV3
TGVnYWN5UHJpdmF0ZTo6dXBkYXRlVmlld3BvcnRTaXplKCkKIAogUVF1aWNrV2ViVmlld0ZsaWNr
YWJsZVByaXZhdGU6OlFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlKFFRdWlja1dlYlZpZXcq
IHZpZXdwb3J0KQogICAgIDogUVF1aWNrV2ViVmlld1ByaXZhdGUodmlld3BvcnQpCi0gICAgLCBp
bnRlcmFjdGlvbkVuZ2luZShuZXcgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKHZpZXdwb3J0
LCBwYWdlVmlldy5kYXRhKCkpKQogICAgICwgcG9zdFRyYW5zaXRpb25TdGF0ZShhZG9wdFB0cihu
ZXcgUG9zdFRyYW5zaXRpb25TdGF0ZSh0aGlzKSkpCiAgICAgLCBpc1RyYW5zaXRpb25pbmdUb05l
d1BhZ2UoZmFsc2UpCi0gICAgLCBwYWdlSXNTdXNwZW5kZWQoZmFsc2UpCisgICAgLCBwYWdlSXNT
dXNwZW5kZWQodHJ1ZSkKKyAgICAsIGxvYWRTdWNjZXNzRGlzcGF0Y2hJc1BlbmRpbmcoZmFsc2Up
CiB7Ci0gICAgUU9iamVjdDo6Y29ubmVjdChpbnRlcmFjdGlvbkVuZ2luZS5kYXRhKCksIFNJR05B
TChjb250ZW50U3VzcGVuZFJlcXVlc3RlZCgpKSwgdmlld3BvcnQsIFNMT1QoX3Ffc3VzcGVuZCgp
KSk7Ci0gICAgUU9iamVjdDo6Y29ubmVjdChpbnRlcmFjdGlvbkVuZ2luZS5kYXRhKCksIFNJR05B
TChjb250ZW50UmVzdW1lUmVxdWVzdGVkKCkpLCB2aWV3cG9ydCwgU0xPVChfcV9yZXN1bWUoKSkp
OwotICAgIFFPYmplY3Q6OmNvbm5lY3QoaW50ZXJhY3Rpb25FbmdpbmUuZGF0YSgpLCBTSUdOQUwo
dmlld3BvcnRUcmFqZWN0b3J5VmVjdG9yQ2hhbmdlZChjb25zdCBRUG9pbnRGJikpLCB2aWV3cG9y
dCwgU0xPVChfcV92aWV3cG9ydFRyYWplY3RvcnlWZWN0b3JDaGFuZ2VkKGNvbnN0IFFQb2ludEYm
KSkpOwotICAgIFFPYmplY3Q6OmNvbm5lY3QoaW50ZXJhY3Rpb25FbmdpbmUuZGF0YSgpLCBTSUdO
QUwodmlzaWJsZUNvbnRlbnRSZWN0QW5kU2NhbGVDaGFuZ2VkKCkpLCB2aWV3cG9ydCwgU0xPVChf
cV91cGRhdGVWaXNpYmxlQ29udGVudFJlY3RBbmRTY2FsZSgpKSk7CiB9CiAKIFFRdWlja1dlYlZp
ZXdGbGlja2FibGVQcml2YXRlOjp+UVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGUoKQpAQCAt
NDY0LDEyICs0NjYsMzkgQEAgdm9pZCBRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZTo6aW5p
dGlhbGl6ZShXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tQYWdlR3IKIHsKICAgICBRUXVpY2tX
ZWJWaWV3UHJpdmF0ZTo6aW5pdGlhbGl6ZShjb250ZXh0UmVmLCBwYWdlR3JvdXBSZWYpOwogICAg
IHdlYlBhZ2VQcm94eS0+c2V0VXNlRml4ZWRMYXlvdXQodHJ1ZSk7Cit9CisKK3ZvaWQgUVF1aWNr
V2ViVmlld0ZsaWNrYWJsZVByaXZhdGU6Om9uQ29tcG9uZW50Q29tcGxldGUoKQoreworICAgIFFf
UShRUXVpY2tXZWJWaWV3KTsKKyAgICBpbnRlcmFjdGlvbkVuZ2luZS5yZXNldChuZXcgUXRWaWV3
cG9ydEludGVyYWN0aW9uRW5naW5lKHEsIHBhZ2VWaWV3LmRhdGEoKSkpOwogICAgIHBhZ2VWaWV3
LT5ldmVudEhhbmRsZXIoKS0+c2V0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZShpbnRlcmFjdGlv
bkVuZ2luZS5kYXRhKCkpOwogCisgICAgUU9iamVjdDo6Y29ubmVjdChpbnRlcmFjdGlvbkVuZ2lu
ZS5kYXRhKCksIFNJR05BTChjb250ZW50U3VzcGVuZFJlcXVlc3RlZCgpKSwgcSwgU0xPVChfcV9z
dXNwZW5kKCkpKTsKKyAgICBRT2JqZWN0Ojpjb25uZWN0KGludGVyYWN0aW9uRW5naW5lLmRhdGEo
KSwgU0lHTkFMKGNvbnRlbnRSZXN1bWVSZXF1ZXN0ZWQoKSksIHEsIFNMT1QoX3FfcmVzdW1lKCkp
KTsKKyAgICBRT2JqZWN0Ojpjb25uZWN0KGludGVyYWN0aW9uRW5naW5lLmRhdGEoKSwgU0lHTkFM
KHZpZXdwb3J0VHJhamVjdG9yeVZlY3RvckNoYW5nZWQoY29uc3QgUVBvaW50RiYpKSwgcSwgU0xP
VChfcV92aWV3cG9ydFRyYWplY3RvcnlWZWN0b3JDaGFuZ2VkKGNvbnN0IFFQb2ludEYmKSkpOwor
ICAgIFFPYmplY3Q6OmNvbm5lY3QoaW50ZXJhY3Rpb25FbmdpbmUuZGF0YSgpLCBTSUdOQUwodmlz
aWJsZUNvbnRlbnRSZWN0QW5kU2NhbGVDaGFuZ2VkKCkpLCBxLCBTTE9UKF9xX3VwZGF0ZVZpc2li
bGVDb250ZW50UmVjdEFuZFNjYWxlKCkpKTsKKworICAgIF9xX3Jlc3VtZSgpOworCisgICAgaWYg
KGxvYWRTdWNjZXNzRGlzcGF0Y2hJc1BlbmRpbmcpIHsKKyAgICAgICAgUVF1aWNrV2ViVmlld1By
aXZhdGU6OmxvYWREaWRTdWNjZWVkKCk7CisgICAgICAgIGxvYWRTdWNjZXNzRGlzcGF0Y2hJc1Bl
bmRpbmcgPSBmYWxzZTsKKyAgICB9CisKICAgICAvLyBUcmlnZ2VyIHNldHRpbmcgb2YgY29ycmVj
dCB2aXNpYmlsaXR5IGZsYWdzIGFmdGVyIGV2ZXJ5dGhpbmcgd2FzIGFsbG9jYXRlZCBhbmQgaW5p
dGlhbGl6ZWQuCiAgICAgX3Ffb25WaXNpYmxlQ2hhbmdlZCgpOwogfQogCit2b2lkIFFRdWlja1dl
YlZpZXdGbGlja2FibGVQcml2YXRlOjpsb2FkRGlkU3VjY2VlZCgpCit7CisgICAgaWYgKGludGVy
YWN0aW9uRW5naW5lKQorICAgICAgICBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6bG9hZERpZFN1Y2Nl
ZWQoKTsKKyAgICBlbHNlCisgICAgICAgIGxvYWRTdWNjZXNzRGlzcGF0Y2hJc1BlbmRpbmcgPSB0
cnVlOworCit9CisKIHZvaWQgUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGU6OmxvYWREaWRD
b21taXQoKQogewogICAgIC8vIER1ZSB0byBlbnRlcmluZyBwcm92aXNpb25hbCBsb2FkIGJlZm9y
ZSBjb21taXR0aW5nLCB3ZQpAQCAtNTAxLDcgKzUzMCw3IEBAIHZvaWQgUVF1aWNrV2ViVmlld0Zs
aWNrYWJsZVByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0U2l6ZSgpCiAgICAgUV9RKFFRdWlja1dlYlZp
ZXcpOwogICAgIFFTaXplIHZpZXdwb3J0U2l6ZSA9IHEtPmJvdW5kaW5nUmVjdCgpLnNpemUoKS50
b1NpemUoKTsKIAotICAgIGlmICh2aWV3cG9ydFNpemUuaXNFbXB0eSgpKQorICAgIGlmICh2aWV3
cG9ydFNpemUuaXNFbXB0eSgpIHx8ICFpbnRlcmFjdGlvbkVuZ2luZSkKICAgICAgICAgcmV0dXJu
OwogCiAgICAgLy8gTGV0IHRoZSBXZWJQcm9jZXNzIGtub3cgYWJvdXQgdGhlIG5ldyB2aWV3cG9y
dCBzaXplLCBzbyB0aGF0CkBAIC01MzcsNiArNTY2LDkgQEAgdm9pZCBRUXVpY2tXZWJWaWV3Rmxp
Y2thYmxlUHJpdmF0ZTo6X3Ffc3VzcGVuZCgpCiAKIHZvaWQgUVF1aWNrV2ViVmlld0ZsaWNrYWJs
ZVByaXZhdGU6Ol9xX3Jlc3VtZSgpCiB7CisgICAgaWYgKCFpbnRlcmFjdGlvbkVuZ2luZSkKKyAg
ICAgICAgcmV0dXJuOworCiAgICAgcGFnZUlzU3VzcGVuZGVkID0gZmFsc2U7CiAKICAgICBpZiAo
aXNUcmFuc2l0aW9uaW5nVG9OZXdQYWdlKSB7CkBAIC0xMDY5LDYgKzExMDEsMTUgQEAgdm9pZCBR
UXVpY2tXZWJWaWV3OjpnZW9tZXRyeUNoYW5nZWQoY29uc3QgUVJlY3RGJiBuZXdHZW9tZXRyeSwg
Y29uc3QgUVJlY3RGJiBvbGQKICAgICAgICAgZC0+dXBkYXRlVmlld3BvcnRTaXplKCk7CiB9CiAK
K3ZvaWQgUVF1aWNrV2ViVmlldzo6Y29tcG9uZW50Q29tcGxldGUoKQoreworICAgIFFfRChRUXVp
Y2tXZWJWaWV3KTsKKyAgICBRUXVpY2tJdGVtOjpjb21wb25lbnRDb21wbGV0ZSgpOworCisgICAg
ZC0+b25Db21wb25lbnRDb21wbGV0ZSgpOworICAgIGQtPnVwZGF0ZVZpZXdwb3J0U2l6ZSgpOwor
fQorCiB2b2lkIFFRdWlja1dlYlZpZXc6OmtleVByZXNzRXZlbnQoUUtleUV2ZW50KiBldmVudCkK
IHsKICAgICB0aGlzLT5ldmVudChldmVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaAppbmRleCA5MmIzOGU4Li4zZTQ4N2UxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmgK
QEAgLTEzNSw3ICsxMzUsNyBAQCBRX1NJR05BTFM6CiAKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFs
IHZvaWQgZ2VvbWV0cnlDaGFuZ2VkKGNvbnN0IFFSZWN0RiYsIGNvbnN0IFFSZWN0RiYpOwotCisg
ICAgdmlydHVhbCB2b2lkIGNvbXBvbmVudENvbXBsZXRlKCk7CiAgICAgdmlydHVhbCB2b2lkIGtl
eVByZXNzRXZlbnQoUUtleUV2ZW50Kik7CiAgICAgdmlydHVhbCB2b2lkIGtleVJlbGVhc2VFdmVu
dChRS2V5RXZlbnQqKTsKICAgICB2aXJ0dWFsIHZvaWQgaW5wdXRNZXRob2RFdmVudChRSW5wdXRN
ZXRob2RFdmVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC9xcXVpY2t3ZWJ2aWV3X3BfcC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
cXVpY2t3ZWJ2aWV3X3BfcC5oCmluZGV4IGJkNjk2ZDkuLjllMjdjZTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgKQEAgLTY4
LDYgKzY4LDggQEAgcHVibGljOgogICAgIHZvaWQgZW5hYmxlTW91c2VFdmVudHMoKTsKICAgICB2
b2lkIGRpc2FibGVNb3VzZUV2ZW50cygpOwogCisgICAgdmlydHVhbCB2b2lkIGxvYWREaWRTdWNj
ZWVkKCk7CisgICAgdmlydHVhbCB2b2lkIG9uQ29tcG9uZW50Q29tcGxldGUoKSB7IH0KICAgICB2
aXJ0dWFsIHZvaWQgbG9hZERpZENvbW1pdCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5p
c2hGaXJzdE5vbkVtcHR5TGF5b3V0KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZVZp
ZXdwb3J0UHJvcGVydGllcyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYgYXJncykg
eyB9CkBAIC0xNjQsNiArMTY2LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgflFRdWlja1dlYlZp
ZXdGbGlja2FibGVQcml2YXRlKCk7CiAgICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemUoV0tDb250
ZXh0UmVmIGNvbnRleHRSZWYgPSAwLCBXS1BhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYgPSAwKTsK
IAorICAgIHZpcnR1YWwgdm9pZCBsb2FkRGlkU3VjY2VlZCgpOworICAgIHZpcnR1YWwgdm9pZCBv
bkNvbXBvbmVudENvbXBsZXRlKCk7CiAgICAgdmlydHVhbCB2b2lkIGxvYWREaWRDb21taXQoKTsK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoRmlyc3ROb25FbXB0eUxheW91dCgpOwogICAgIHZp
cnR1YWwgdm9pZCBkaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMoY29uc3QgV2ViQ29yZTo6Vmll
d3BvcnRBcmd1bWVudHMmIGFyZ3MpOwpAQCAtMTk5LDYgKzIwMyw3IEBAIHByaXZhdGU6CiAgICAg
T3duUHRyPFBvc3RUcmFuc2l0aW9uU3RhdGU+IHBvc3RUcmFuc2l0aW9uU3RhdGU7CiAgICAgYm9v
bCBpc1RyYW5zaXRpb25pbmdUb05ld1BhZ2U7CiAgICAgYm9vbCBwYWdlSXNTdXNwZW5kZWQ7Cisg
ICAgYm9vbCBsb2FkU3VjY2Vzc0Rpc3BhdGNoSXNQZW5kaW5nOwogfTsKIAogI2VuZGlmIC8vIHFx
dWlja3dlYnZpZXdfcF9wX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L3F0L3F3ZWJ2aWV3cG9ydGluZm8uY3BwCmluZGV4IDE0OGI1MDAuLjIyODYzYmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mby5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2Vidmlld3BvcnRpbmZvLmNw
cApAQCAtNDYsNyArNDYsNyBAQCBRVmFyaWFudCBRV2ViVmlld3BvcnRJbmZvOjpjdXJyZW50U2Nh
bGUoKSBjb25zdAogICAgIGlmIChRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUqIGludGVyYWN0
aW9uRW5naW5lID0gbV93ZWJWaWV3UHJpdmF0ZS0+dmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSgp
KQogICAgICAgICByZXR1cm4gaW50ZXJhY3Rpb25FbmdpbmUtPmN1cnJlbnRDU1NTY2FsZSgpOwog
Ci0gICAgcmV0dXJuIFFWYXJpYW50KCk7CisgICAgcmV0dXJuIFF0Vmlld3BvcnRJbnRlcmFjdGlv
bkVuZ2luZTo6Q29uc3RyYWludHMoKS5pbml0aWFsU2NhbGU7CiB9CiAKIFFWYXJpYW50IFFXZWJW
aWV3cG9ydEluZm86OmRldmljZVBpeGVsUmF0aW8oKSBjb25zdApAQCAtNTQsNyArNTQsNyBAQCBR
VmFyaWFudCBRV2ViVmlld3BvcnRJbmZvOjpkZXZpY2VQaXhlbFJhdGlvKCkgY29uc3QKICAgICBp
ZiAoUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKiBpbnRlcmFjdGlvbkVuZ2luZSA9IG1fd2Vi
Vmlld1ByaXZhdGUtPnZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUoKSkKICAgICAgICAgcmV0dXJu
IGludGVyYWN0aW9uRW5naW5lLT5jb25zdHJhaW50cygpLmRldmljZVBpeGVsUmF0aW87CiAKLSAg
ICByZXR1cm4gUVZhcmlhbnQoKTsKKyAgICByZXR1cm4gUXRWaWV3cG9ydEludGVyYWN0aW9uRW5n
aW5lOjpDb25zdHJhaW50cygpLmRldmljZVBpeGVsUmF0aW87CiB9CiAKIFFWYXJpYW50IFFXZWJW
aWV3cG9ydEluZm86OmluaXRpYWxTY2FsZSgpIGNvbnN0CkBAIC02Miw3ICs2Miw3IEBAIFFWYXJp
YW50IFFXZWJWaWV3cG9ydEluZm86OmluaXRpYWxTY2FsZSgpIGNvbnN0CiAgICAgaWYgKFF0Vmll
d3BvcnRJbnRlcmFjdGlvbkVuZ2luZSogaW50ZXJhY3Rpb25FbmdpbmUgPSBtX3dlYlZpZXdQcml2
YXRlLT52aWV3cG9ydEludGVyYWN0aW9uRW5naW5lKCkpCiAgICAgICAgIHJldHVybiBpbnRlcmFj
dGlvbkVuZ2luZS0+Y29uc3RyYWludHMoKS5pbml0aWFsU2NhbGU7CiAKLSAgICByZXR1cm4gUVZh
cmlhbnQoKTsKKyAgICByZXR1cm4gUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjpDb25zdHJh
aW50cygpLmluaXRpYWxTY2FsZTsKIH0KIAogUVZhcmlhbnQgUVdlYlZpZXdwb3J0SW5mbzo6bWlu
aW11bVNjYWxlKCkgY29uc3QKQEAgLTcwLDcgKzcwLDcgQEAgUVZhcmlhbnQgUVdlYlZpZXdwb3J0
SW5mbzo6bWluaW11bVNjYWxlKCkgY29uc3QKICAgICBpZiAoUXRWaWV3cG9ydEludGVyYWN0aW9u
RW5naW5lKiBpbnRlcmFjdGlvbkVuZ2luZSA9IG1fd2ViVmlld1ByaXZhdGUtPnZpZXdwb3J0SW50
ZXJhY3Rpb25FbmdpbmUoKSkKICAgICAgICAgcmV0dXJuIGludGVyYWN0aW9uRW5naW5lLT5jb25z
dHJhaW50cygpLm1pbmltdW1TY2FsZTsKIAotICAgIHJldHVybiBRVmFyaWFudCgpOworICAgIHJl
dHVybiBRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OkNvbnN0cmFpbnRzKCkubWluaW11bVNj
YWxlOwogfQogCiBRVmFyaWFudCBRV2ViVmlld3BvcnRJbmZvOjptYXhpbXVtU2NhbGUoKSBjb25z
dApAQCAtNzgsNyArNzgsNyBAQCBRVmFyaWFudCBRV2ViVmlld3BvcnRJbmZvOjptYXhpbXVtU2Nh
bGUoKSBjb25zdAogICAgIGlmIChRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUqIGludGVyYWN0
aW9uRW5naW5lID0gbV93ZWJWaWV3UHJpdmF0ZS0+dmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSgp
KQogICAgICAgICByZXR1cm4gaW50ZXJhY3Rpb25FbmdpbmUtPmNvbnN0cmFpbnRzKCkubWF4aW11
bVNjYWxlOwogCi0gICAgcmV0dXJuIFFWYXJpYW50KCk7CisgICAgcmV0dXJuIFF0Vmlld3BvcnRJ
bnRlcmFjdGlvbkVuZ2luZTo6Q29uc3RyYWludHMoKS5tYXhpbXVtU2NhbGU7CiB9CiAKIFFWYXJp
YW50IFFXZWJWaWV3cG9ydEluZm86OmlzU2NhbGFibGUoKSBjb25zdApAQCAtODYsNyArODYsNyBA
QCBRVmFyaWFudCBRV2ViVmlld3BvcnRJbmZvOjppc1NjYWxhYmxlKCkgY29uc3QKICAgICBpZiAo
UXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKiBpbnRlcmFjdGlvbkVuZ2luZSA9IG1fd2ViVmll
d1ByaXZhdGUtPnZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUoKSkKICAgICAgICAgcmV0dXJuIGlu
dGVyYWN0aW9uRW5naW5lLT5jb25zdHJhaW50cygpLmlzVXNlclNjYWxhYmxlOwogCi0gICAgcmV0
dXJuIFFWYXJpYW50KCk7CisgICAgcmV0dXJuIFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6
Q29uc3RyYWludHMoKS5pc1VzZXJTY2FsYWJsZTsKIH0KIAogUVZhcmlhbnQgUVdlYlZpZXdwb3J0
SW5mbzo6bGF5b3V0U2l6ZSgpIGNvbnN0CkBAIC05NCw3ICs5NCw3IEBAIFFWYXJpYW50IFFXZWJW
aWV3cG9ydEluZm86OmxheW91dFNpemUoKSBjb25zdAogICAgIGlmIChRdFZpZXdwb3J0SW50ZXJh
Y3Rpb25FbmdpbmUqIGludGVyYWN0aW9uRW5naW5lID0gbV93ZWJWaWV3UHJpdmF0ZS0+dmlld3Bv
cnRJbnRlcmFjdGlvbkVuZ2luZSgpKQogICAgICAgICByZXR1cm4gaW50ZXJhY3Rpb25FbmdpbmUt
PmNvbnN0cmFpbnRzKCkubGF5b3V0U2l6ZTsKIAotICAgIHJldHVybiBRVmFyaWFudCgpOworICAg
IHJldHVybiBRVmFyaWFudChRU2l6ZSgpKTsKIH0KIAogdm9pZCBRV2ViVmlld3BvcnRJbmZvOjpk
aWRVcGRhdGVDb250ZW50c1NpemUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC9xd2Vidmlld3BvcnRpbmZvX3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mb19wLmgKaW5kZXggZTFkZWE2NS4uNjUzMDE4MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2Vidmlld3BvcnRpbmZv
X3AuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGlu
Zm9fcC5oCkBAIC0yOSw5ICsyOSw2IEBACiAjaW5jbHVkZSA8UXRDb3JlL1FWYXJpYW50PgogI2lu
Y2x1ZGUgPFF0RGVjbGFyYXRpdmUvUXREZWNsYXJhdGl2ZT4KIAotbmFtZXNwYWNlIFdlYkNvcmUg
ewotY2xhc3MgVmlld3BvcnRBdHRyaWJ1dGVzOwotfQogY2xhc3MgUVF1aWNrV2ViVmlld1ByaXZh
dGU7CiAKIGNsYXNzIFFXRUJLSVRfRVhQT1JUIFFXZWJWaWV3cG9ydEluZm8gOiBwdWJsaWMgUU9i
amVjdCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3Rz
L3FxdWlja3dlYnZpZXcvcXF1aWNrd2Vidmlldy5wcm8gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3Rlc3RzL3FxdWlja3dlYnZpZXcvcXF1aWNrd2Vidmlldy5wcm8KaW5kZXggMGYw
ZDRmNS4uMjVjZDgzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC90ZXN0cy9xcXVpY2t3ZWJ2aWV3L3FxdWlja3dlYnZpZXcucHJvCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcXF1aWNrd2Vidmlldy9xcXVpY2t3ZWJ2aWV3LnBy
bwpAQCAtMSwzICsxLDQgQEAKIGluY2x1ZGUoLi4vdGVzdHMucHJpKQogU09VUkNFUyArPSAkJHtU
QVJHRVR9LmNwcAogQ09ORklHICs9IHF0d2Via2l0LXByaXZhdGUKK0RFRklORVMgKz0gSU1QT1JU
X0RJUj1cIlxcXCIkJHtST09UX0JVSUxEX0RJUn0kJHtRTUFLRV9ESVJfU0VQfWltcG9ydHNcXFwi
XCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcXF1
aWNrd2Vidmlldy90c3RfcXF1aWNrd2Vidmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3Rlc3RzL3FxdWlja3dlYnZpZXcvdHN0X3FxdWlja3dlYnZpZXcuY3BwCmluZGV4
IDE3Nzk3NmIuLmRiM2Y5YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvdGVzdHMvcXF1aWNrd2Vidmlldy90c3RfcXF1aWNrd2Vidmlldy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xcXVpY2t3ZWJ2aWV3L3RzdF9xcXVp
Y2t3ZWJ2aWV3LmNwcApAQCAtMjAsNiArMjAsNyBAQAogI2luY2x1ZGUgIi4uL3Rlc3R3aW5kb3cu
aCIKICNpbmNsdWRlICIuLi91dGlsLmgiCiAKKyNpbmNsdWRlIDxRRGVjbGFyYXRpdmVFbmdpbmU+
CiAjaW5jbHVkZSA8UVNjb3BlZFBvaW50ZXI+CiAjaW5jbHVkZSA8UXRUZXN0L1F0VGVzdD4KICNp
bmNsdWRlIDxxcXVpY2t3ZWJwYWdlX3AuaD4KQEAgLTU1LDE5ICs1Niw0MiBAQCBwcml2YXRlIHNs
b3RzOgogICAgIHZvaWQgbXVsdGlwbGVXZWJWaWV3cygpOwogCiBwcml2YXRlOgorICAgIHZvaWQg
cHJlcGFyZVdlYlZpZXdDb21wb25lbnQoKTsKKyAgICBpbmxpbmUgUVF1aWNrV2ViVmlldyogbmV3
V2ViVmlldygpOwogICAgIGlubGluZSBRUXVpY2tXZWJWaWV3KiB3ZWJWaWV3KCkgY29uc3Q7CiAg
ICAgUVNjb3BlZFBvaW50ZXI8VGVzdFdpbmRvdz4gbV93aW5kb3c7CisgICAgUVNjb3BlZFBvaW50
ZXI8UURlY2xhcmF0aXZlQ29tcG9uZW50PiBtX2NvbXBvbmVudDsKIH07CiAKIHRzdF9RUXVpY2tX
ZWJWaWV3Ojp0c3RfUVF1aWNrV2ViVmlldygpCiB7CiAgICAgYWRkUXRXZWJQcm9jZXNzVG9QYXRo
KCk7Ci0gICAgcVJlZ2lzdGVyTWV0YVR5cGU8UVF1aWNrV2ViUGFnZSo+KCJRUXVpY2tXZWJQYWdl
KiIpOworICAgIHByZXBhcmVXZWJWaWV3Q29tcG9uZW50KCk7Cit9CisKK3ZvaWQgdHN0X1FRdWlj
a1dlYlZpZXc6OnByZXBhcmVXZWJWaWV3Q29tcG9uZW50KCkKK3sKKyAgICBzdGF0aWMgUURlY2xh
cmF0aXZlRW5naW5lKiBlbmdpbmUgPSBuZXcgUURlY2xhcmF0aXZlRW5naW5lKHRoaXMpOworICAg
IGVuZ2luZS0+YWRkSW1wb3J0UGF0aChRU3RyaW5nOjpmcm9tVXRmOChJTVBPUlRfRElSKSk7CisK
KyAgICBtX2NvbXBvbmVudC5yZXNldChuZXcgUURlY2xhcmF0aXZlQ29tcG9uZW50KGVuZ2luZSwg
dGhpcykpOworCisgICAgbV9jb21wb25lbnQtPnNldERhdGEoUUJ5dGVBcnJheUxpdGVyYWwoImlt
cG9ydCBRdFF1aWNrIDIuMFxuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJpbXBvcnQgUXRXZWJLaXQgMy4wXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIldlYlZpZXcge30iKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICwgUVVybCgpKTsKK30KKworUVF1aWNrV2ViVmlldyogdHN0X1FRdWlja1dlYlZpZXc6Om5ld1dl
YlZpZXcoKQoreworICAgIFFPYmplY3QqIHZpZXdJbnN0YW5jZSA9IG1fY29tcG9uZW50LT5jcmVh
dGUoKTsKKworICAgIHJldHVybiBxb2JqZWN0X2Nhc3Q8UVF1aWNrV2ViVmlldyo+KHZpZXdJbnN0
YW5jZSk7CiB9CiAKIHZvaWQgdHN0X1FRdWlja1dlYlZpZXc6OmluaXQoKQogewotICAgIG1fd2lu
ZG93LnJlc2V0KG5ldyBUZXN0V2luZG93KG5ldyBRUXVpY2tXZWJWaWV3KCkpKTsKKyAgICBtX3dp
bmRvdy5yZXNldChuZXcgVGVzdFdpbmRvdyhuZXdXZWJWaWV3KCkpKTsKIH0KIAogdm9pZCB0c3Rf
UVF1aWNrV2ViVmlldzo6Y2xlYW51cCgpCkBAIC0yNzcsOSArMzAxLDkgQEAgdm9pZCB0c3RfUVF1
aWNrV2ViVmlldzo6bXVsdGlwbGVXZWJWaWV3V2luZG93cygpCiAgICAgc2hvd1dlYlZpZXcoKTsK
IAogICAgIC8vIFRoaXMgc2hvdWxkIG5vdCBjcmFzaC4KLSAgICBRUXVpY2tXZWJWaWV3KiB3ZWJW
aWV3MSA9IG5ldyBRUXVpY2tXZWJWaWV3KCk7CisgICAgUVF1aWNrV2ViVmlldyogd2ViVmlldzEg
PSBuZXdXZWJWaWV3KCk7CiAgICAgUVNjb3BlZFBvaW50ZXI8VGVzdFdpbmRvdz4gd2luZG93MShu
ZXcgVGVzdFdpbmRvdyh3ZWJWaWV3MSkpOwotICAgIFFRdWlja1dlYlZpZXcqIHdlYlZpZXcyID0g
bmV3IFFRdWlja1dlYlZpZXcoKTsKKyAgICBRUXVpY2tXZWJWaWV3KiB3ZWJWaWV3MiA9IG5ld1dl
YlZpZXcoKTsKICAgICBRU2NvcGVkUG9pbnRlcjxUZXN0V2luZG93PiB3aW5kb3cyKG5ldyBUZXN0
V2luZG93KHdlYlZpZXcyKSk7CiAKICAgICB3ZWJWaWV3MS0+c2V0U2l6ZShRU2l6ZUYoMzAwLCA0
MDApKTsKQEAgLTMwMSw5ICszMjUsOSBAQCB2b2lkIHRzdF9RUXVpY2tXZWJWaWV3OjptdWx0aXBs
ZVdlYlZpZXdzKCkKICAgICBzaG93V2ViVmlldygpOwogCiAgICAgLy8gVGhpcyBzaG91bGQgbm90
IGNyYXNoLgotICAgIFFTY29wZWRQb2ludGVyPFFRdWlja1dlYlZpZXc+IHdlYlZpZXcxKG5ldyBR
UXVpY2tXZWJWaWV3KCkpOworICAgIFFTY29wZWRQb2ludGVyPFFRdWlja1dlYlZpZXc+IHdlYlZp
ZXcxKG5ld1dlYlZpZXcoKSk7CiAgICAgd2ViVmlldzEtPnNldFBhcmVudEl0ZW0obV93aW5kb3ct
PnJvb3RJdGVtKCkpOwotICAgIFFTY29wZWRQb2ludGVyPFFRdWlja1dlYlZpZXc+IHdlYlZpZXcy
KG5ldyBRUXVpY2tXZWJWaWV3KCkpOworICAgIFFTY29wZWRQb2ludGVyPFFRdWlja1dlYlZpZXc+
IHdlYlZpZXcyKG5ld1dlYlZpZXcoKSk7CiAgICAgd2ViVmlldzItPnNldFBhcmVudEl0ZW0obV93
aW5kb3ctPnJvb3RJdGVtKCkpOwogCiAgICAgd2ViVmlldzEtPnNldFNpemUoUVNpemVGKDMwMCwg
NDAwKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdl
TG9hZENsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlTG9h
ZENsaWVudC5jcHAKaW5kZXggM2JhOGM3NC4uMjYwMWY0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZUxvYWRDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VMb2FkQ2xpZW50LmNwcApAQCAtODUsOCArODUs
NyBAQCB2b2lkIFF0V2ViUGFnZUxvYWRDbGllbnQ6OmRpZENoYW5nZUJhY2tGb3J3YXJkTGlzdCgp
CiAKIHZvaWQgUXRXZWJQYWdlTG9hZENsaWVudDo6ZGlzcGF0Y2hMb2FkU3VjY2VlZGVkKCkKIHsK
LSAgICBlbWl0IG1fd2ViVmlldy0+bmF2aWdhdGlvblN0YXRlQ2hhbmdlZCgpOwotICAgIGVtaXQg
bV93ZWJWaWV3LT5sb2FkU3VjY2VlZGVkKCk7CisgICAgbV93ZWJWaWV3LT5kX2Z1bmMoKS0+bG9h
ZERpZFN1Y2NlZWQoKTsKIH0KIAogdm9pZCBRdFdlYlBhZ2VMb2FkQ2xpZW50OjpkaXNwYXRjaExv
YWRGYWlsZWQoV0tFcnJvclJlZiBlcnJvcikKLS0gCjEuNy45Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125815</attachid>
            <date>2012-02-07 04:39:00 -0800</date>
            <delta_ts>2012-02-07 05:11:28 -0800</delta_ts>
            <desc>updated patch</desc>
            <filename>0001-Qt-WK2-Add-the-componentComplete-method-to-WebView.patch</filename>
            <type>text/plain</type>
            <size>18091</size>
            <attacher name="Andras Becsi">abecsi</attacher>
            
              <data encoding="base64">RnJvbSBjODRhNDNjYTlmYWRmOTczNDAwYTgyM2EzNDEwZTgyMWYxZGNkNWNjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyYXMgQmVjc2kgPGFuZHJhcy5iZWNzaUBub2tpYS5jb20+
CkRhdGU6IEZyaSwgMyBGZWIgMjAxMiAyMDo0MTowMSArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIFtR
dF1bV0syXSBBZGQgdGhlIGNvbXBvbmVudENvbXBsZXRlIG1ldGhvZCB0byBXZWJWaWV3CgotLS0K
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1
NCArKysrKysrKysrKysrKysrKysKIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1
aWNrd2Vidmlldy5jcHAgIHwgICA1NyArKysrKysrKysrKysrKysrKy0tLQogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaCAgfCAgICA2ICsrLQogLi4uL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oICAgfCAgICA1ICsrCiAu
Li4vV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8uY3BwICB8ICAgMTQg
KysrLS0tCiAuLi4vV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm9fcC5o
ICB8ICAgIDMgLQogLi4uL0FQSS9xdC90ZXN0cy9xcXVpY2t3ZWJ2aWV3L3FxdWlja3dlYnZpZXcu
cHJvICAgfCAgICAxICsKIC4uLi9xdC90ZXN0cy9xcXVpY2t3ZWJ2aWV3L3RzdF9xcXVpY2t3ZWJ2
aWV3LmNwcCAgIHwgICAzNiArKysrKysrKysrLS0KIC4uLi9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9R
dFdlYlBhZ2VMb2FkQ2xpZW50LmNwcCAgIHwgICAgMyArLQogOSBmaWxlcyBjaGFuZ2VkLCAxNTIg
aW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDY2ODAyZDEuLjI1
YzgwNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NyBAQAorMjAxMi0wMi0wMyAgQW5kcmFzIEJl
Y3NpICA8YW5kcmFzLmJlY3NpQG5va2lhLmNvbT4KKworICAgICAgICBbUXRdW1dLMl0gQWRkIHRo
ZSBjb21wb25lbnRDb21wbGV0ZSBtZXRob2QgdG8gV2ViVmlldworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxMTEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlIHRoZSBpbml0aWFsaXphdGlvbiBvZiB0
aGUgaW50ZXJhY3Rpb24gZW5naW5lIHRvIGNvbXBvbmVudENvbXBsZXRlCisgICAgICAgIGluIHBy
ZXBhcmF0aW9uIG9mIHN3aXRjaGluZyB0byBhIEZsaWNrYWJsZSBiYXNlZCBjb250ZW50IHBvc2l0
aW9uaW5nCisgICAgICAgIGZvciB0aGUgdG91Y2ggYmFzZWQgV2ViVmlldy4KKyAgICAgICAgU3Vz
cGVuZCB0aGUgcGFnZSBhbmQgZGVsYXkgdGhlIGRpc3BhdGNoIG9mIGxvYWQgc3VjY2VzcyBvbiBz
dGFydHVwIHVudGlsCisgICAgICAgIHRoZSBjb21wb25lbnQgZmluaXNoZWQgaW5pdGlhbGl6YXRp
b24uIFdpdGggdGhpcyBwYXRjaCBpbnN0YW50aWF0aW5nIHRoZQorICAgICAgICBXZWJWaWV3IGlu
IEMrKyBpcyBvbmx5IHBvc3NpYmxlIGJ5IGNyZWF0aW5nIGEgUURlY2xhcmF0aXZlQ29tcG9uZW50
IGFzCisgICAgICAgIHRoZSBpbml0aWFsaXphdGlvbiBkZXBlbmRzIG9uIHRoZSBjb21wb25lbnRD
b3BsZXRlIG1ldGhvZCBiZWluZyBjYWxsZWQuCisgICAgICAgIEFsc28gcmV0dXJuIHZhbGlkIGRl
ZmF1bHQgdmFsdWVzIGluIHRoZSB2aWV3cG9ydCBpbmZvIGZ1bmN0aW9ucyBpZiB0aGUKKyAgICAg
ICAgaW50ZXJhY3Rpb24gZW5naW5lIGlzIG5vdCB5ZXQgaW5pdGlhbGl6ZWQgYmVjYXVzZSB0aGUg
dmlld3BvcnQgaW5mbworICAgICAgICBjb21wb25lbnQgY291bGQgZmluaXNoIGluaXRpYWxpemF0
aW9uIGVhcmxpZXIgdGhhbiB0aGUgV2ViVmlldywgd2hpY2gKKyAgICAgICAgcmVzdWx0cyBpbiBR
TUwgd2FybmluZ3MgZHVyaW5nIE1pbmlCcm93c2VyIHN0YXJ0dXAuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwOgorICAgICAgICAoUVF1aWNrV2ViVmlld1By
aXZhdGU6OmluaXRpYWxpemUpOgorICAgICAgICAoUVF1aWNrV2ViVmlld1ByaXZhdGU6OmxvYWRE
aWRTdWNjZWVkKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpRUXVp
Y2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3RmxpY2th
YmxlUHJpdmF0ZTo6aW5pdGlhbGl6ZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3RmxpY2thYmxl
UHJpdmF0ZTo6b25Db21wb25lbnRDb21wbGV0ZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3Rmxp
Y2thYmxlUHJpdmF0ZTo6bG9hZERpZFN1Y2NlZWQpOgorICAgICAgICAoUVF1aWNrV2ViVmlld0Zs
aWNrYWJsZVByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0U2l6ZSk6CisgICAgICAgIChRUXVpY2tXZWJW
aWV3RmxpY2thYmxlUHJpdmF0ZTo6X3FfcmVzdW1lKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdF
eHBlcmltZW50YWw6OmNyZWF0ZVdlYlZpZXcpOgorICAgICAgICAoUVF1aWNrV2ViVmlld0V4cGVy
aW1lbnRhbDo6cHJlcGFyZVdlYlZpZXdDb21wb25lbnQpOgorICAgICAgICAoUVF1aWNrV2ViVmll
dzo6Z2VvbWV0cnlDaGFuZ2VkKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXc6OmNvbXBvbmVudENv
bXBsZXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaDoKKyAgICAgICAg
KFFRdWlja1dlYlZpZXdQcml2YXRlOjpvbkNvbXBvbmVudENvbXBsZXRlKToKKyAgICAgICAgKFFR
dWlja1dlYlZpZXdQcml2YXRlKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2
YXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8uY3BwOgor
ICAgICAgICAoUVdlYlZpZXdwb3J0SW5mbzo6Y3VycmVudFNjYWxlKToKKyAgICAgICAgKFFXZWJW
aWV3cG9ydEluZm86OmRldmljZVBpeGVsUmF0aW8pOgorICAgICAgICAoUVdlYlZpZXdwb3J0SW5m
bzo6aW5pdGlhbFNjYWxlKToKKyAgICAgICAgKFFXZWJWaWV3cG9ydEluZm86Om1pbmltdW1TY2Fs
ZSk6CisgICAgICAgIChRV2ViVmlld3BvcnRJbmZvOjptYXhpbXVtU2NhbGUpOgorICAgICAgICAo
UVdlYlZpZXdwb3J0SW5mbzo6aXNTY2FsYWJsZSk6CisgICAgICAgIChRV2ViVmlld3BvcnRJbmZv
OjpsYXlvdXRTaXplKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FxdWlja3dl
YnZpZXcvcXF1aWNrd2Vidmlldy5wcm86CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90ZXN0
cy9xcXVpY2t3ZWJ2aWV3L3RzdF9xcXVpY2t3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKHRzdF9RUXVp
Y2tXZWJWaWV3Ojp0c3RfUVF1aWNrV2ViVmlldyk6CisgICAgICAgICh0c3RfUVF1aWNrV2ViVmll
dzo6aW5pdCk6CisgICAgICAgICh0c3RfUVF1aWNrV2ViVmlldzo6bXVsdGlwbGVXZWJWaWV3V2lu
ZG93cyk6CisgICAgICAgICh0c3RfUVF1aWNrV2ViVmlldzo6bXVsdGlwbGVXZWJWaWV3cyk6Cisg
ICAgICAgICogVUlQcm9jZXNzL3F0L1F0V2ViUGFnZUxvYWRDbGllbnQuY3BwOgorICAgICAgICAo
UXRXZWJQYWdlTG9hZENsaWVudDo6ZGlzcGF0Y2hMb2FkU3VjY2VlZGVkKToKKwogMjAxMi0wMi0w
NyAgWW91bmdUYWVjayBTb25nICA8eW91bmd0YWVjay5zb25nQHNhbXN1bmcuY29tPgogCiAgICAg
ICAgIFtFRkxdW1dLMl0gQWRkIE1vZHVsZUVmbC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCmluZGV4IGRjMTNmMjIuLjdlYTZkMzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmll
dy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3
LmNwcApAQCAtMTE1LDcgKzExNSw2IEBAIHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmluaXRp
YWxpemUoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmIHBhCiAKICAgICBw
YWdlQ2xpZW50LmluaXRpYWxpemUocV9wdHIsIHBhZ2VWaWV3UHJpdmF0ZS0+ZXZlbnRIYW5kbGVy
LmRhdGEoKSwgJnVuZG9Db250cm9sbGVyKTsKICAgICB3ZWJQYWdlUHJveHktPmluaXRpYWxpemVX
ZWJQYWdlKCk7Ci0gICAgdXBkYXRlVmlld3BvcnRTaXplKCk7CiB9CiAKIHZvaWQgUVF1aWNrV2Vi
Vmlld1ByaXZhdGU6OmVuYWJsZU1vdXNlRXZlbnRzKCkKQEAgLTEzMiw2ICsxMzEsMTMgQEAgdm9p
ZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6ZGlzYWJsZU1vdXNlRXZlbnRzKCkKICAgICBxLT5zZXRB
Y2NlcHRIb3ZlckV2ZW50cyhmYWxzZSk7CiB9CiAKK3ZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6
OmxvYWREaWRTdWNjZWVkKCkKK3sKKyAgICBRX1EoUVF1aWNrV2ViVmlldyk7CisgICAgZW1pdCBx
LT5uYXZpZ2F0aW9uU3RhdGVDaGFuZ2VkKCk7CisgICAgZW1pdCBxLT5sb2FkU3VjY2VlZGVkKCk7
Cit9CisKIHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OnNldE5lZWRzRGlzcGxheSgpCiB7CiAg
ICAgUV9RKFFRdWlja1dlYlZpZXcpOwpAQCAtNDQ0LDE1ICs0NTAsMTEgQEAgdm9pZCBRUXVpY2tX
ZWJWaWV3TGVnYWN5UHJpdmF0ZTo6dXBkYXRlVmlld3BvcnRTaXplKCkKIAogUVF1aWNrV2ViVmll
d0ZsaWNrYWJsZVByaXZhdGU6OlFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlKFFRdWlja1dl
YlZpZXcqIHZpZXdwb3J0KQogICAgIDogUVF1aWNrV2ViVmlld1ByaXZhdGUodmlld3BvcnQpCi0g
ICAgLCBpbnRlcmFjdGlvbkVuZ2luZShuZXcgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKHZp
ZXdwb3J0LCBwYWdlVmlldy5kYXRhKCkpKQogICAgICwgcG9zdFRyYW5zaXRpb25TdGF0ZShhZG9w
dFB0cihuZXcgUG9zdFRyYW5zaXRpb25TdGF0ZSh0aGlzKSkpCiAgICAgLCBpc1RyYW5zaXRpb25p
bmdUb05ld1BhZ2UoZmFsc2UpCi0gICAgLCBwYWdlSXNTdXNwZW5kZWQoZmFsc2UpCisgICAgLCBw
YWdlSXNTdXNwZW5kZWQodHJ1ZSkKKyAgICAsIGxvYWRTdWNjZXNzRGlzcGF0Y2hJc1BlbmRpbmco
ZmFsc2UpCiB7Ci0gICAgUU9iamVjdDo6Y29ubmVjdChpbnRlcmFjdGlvbkVuZ2luZS5kYXRhKCks
IFNJR05BTChjb250ZW50U3VzcGVuZFJlcXVlc3RlZCgpKSwgdmlld3BvcnQsIFNMT1QoX3Ffc3Vz
cGVuZCgpKSk7Ci0gICAgUU9iamVjdDo6Y29ubmVjdChpbnRlcmFjdGlvbkVuZ2luZS5kYXRhKCks
IFNJR05BTChjb250ZW50UmVzdW1lUmVxdWVzdGVkKCkpLCB2aWV3cG9ydCwgU0xPVChfcV9yZXN1
bWUoKSkpOwotICAgIFFPYmplY3Q6OmNvbm5lY3QoaW50ZXJhY3Rpb25FbmdpbmUuZGF0YSgpLCBT
SUdOQUwodmlld3BvcnRUcmFqZWN0b3J5VmVjdG9yQ2hhbmdlZChjb25zdCBRUG9pbnRGJikpLCB2
aWV3cG9ydCwgU0xPVChfcV92aWV3cG9ydFRyYWplY3RvcnlWZWN0b3JDaGFuZ2VkKGNvbnN0IFFQ
b2ludEYmKSkpOwotICAgIFFPYmplY3Q6OmNvbm5lY3QoaW50ZXJhY3Rpb25FbmdpbmUuZGF0YSgp
LCBTSUdOQUwodmlzaWJsZUNvbnRlbnRSZWN0QW5kU2NhbGVDaGFuZ2VkKCkpLCB2aWV3cG9ydCwg
U0xPVChfcV91cGRhdGVWaXNpYmxlQ29udGVudFJlY3RBbmRTY2FsZSgpKSk7CiB9CiAKIFFRdWlj
a1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjp+UVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGUo
KQpAQCAtNDY0LDEyICs0NjYsMzkgQEAgdm9pZCBRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0
ZTo6aW5pdGlhbGl6ZShXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tQYWdlR3IKIHsKICAgICBR
UXVpY2tXZWJWaWV3UHJpdmF0ZTo6aW5pdGlhbGl6ZShjb250ZXh0UmVmLCBwYWdlR3JvdXBSZWYp
OwogICAgIHdlYlBhZ2VQcm94eS0+c2V0VXNlRml4ZWRMYXlvdXQodHJ1ZSk7Cit9CisKK3ZvaWQg
UVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGU6Om9uQ29tcG9uZW50Q29tcGxldGUoKQorewor
ICAgIFFfUShRUXVpY2tXZWJWaWV3KTsKKyAgICBpbnRlcmFjdGlvbkVuZ2luZS5yZXNldChuZXcg
UXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKHEsIHBhZ2VWaWV3LmRhdGEoKSkpOwogICAgIHBh
Z2VWaWV3LT5ldmVudEhhbmRsZXIoKS0+c2V0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZShpbnRl
cmFjdGlvbkVuZ2luZS5kYXRhKCkpOwogCisgICAgUU9iamVjdDo6Y29ubmVjdChpbnRlcmFjdGlv
bkVuZ2luZS5kYXRhKCksIFNJR05BTChjb250ZW50U3VzcGVuZFJlcXVlc3RlZCgpKSwgcSwgU0xP
VChfcV9zdXNwZW5kKCkpKTsKKyAgICBRT2JqZWN0Ojpjb25uZWN0KGludGVyYWN0aW9uRW5naW5l
LmRhdGEoKSwgU0lHTkFMKGNvbnRlbnRSZXN1bWVSZXF1ZXN0ZWQoKSksIHEsIFNMT1QoX3FfcmVz
dW1lKCkpKTsKKyAgICBRT2JqZWN0Ojpjb25uZWN0KGludGVyYWN0aW9uRW5naW5lLmRhdGEoKSwg
U0lHTkFMKHZpZXdwb3J0VHJhamVjdG9yeVZlY3RvckNoYW5nZWQoY29uc3QgUVBvaW50RiYpKSwg
cSwgU0xPVChfcV92aWV3cG9ydFRyYWplY3RvcnlWZWN0b3JDaGFuZ2VkKGNvbnN0IFFQb2ludEYm
KSkpOworICAgIFFPYmplY3Q6OmNvbm5lY3QoaW50ZXJhY3Rpb25FbmdpbmUuZGF0YSgpLCBTSUdO
QUwodmlzaWJsZUNvbnRlbnRSZWN0QW5kU2NhbGVDaGFuZ2VkKCkpLCBxLCBTTE9UKF9xX3VwZGF0
ZVZpc2libGVDb250ZW50UmVjdEFuZFNjYWxlKCkpKTsKKworICAgIF9xX3Jlc3VtZSgpOworCisg
ICAgaWYgKGxvYWRTdWNjZXNzRGlzcGF0Y2hJc1BlbmRpbmcpIHsKKyAgICAgICAgUVF1aWNrV2Vi
Vmlld1ByaXZhdGU6OmxvYWREaWRTdWNjZWVkKCk7CisgICAgICAgIGxvYWRTdWNjZXNzRGlzcGF0
Y2hJc1BlbmRpbmcgPSBmYWxzZTsKKyAgICB9CisKICAgICAvLyBUcmlnZ2VyIHNldHRpbmcgb2Yg
Y29ycmVjdCB2aXNpYmlsaXR5IGZsYWdzIGFmdGVyIGV2ZXJ5dGhpbmcgd2FzIGFsbG9jYXRlZCBh
bmQgaW5pdGlhbGl6ZWQuCiAgICAgX3Ffb25WaXNpYmxlQ2hhbmdlZCgpOwogfQogCit2b2lkIFFR
dWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpsb2FkRGlkU3VjY2VlZCgpCit7CisgICAgaWYg
KGludGVyYWN0aW9uRW5naW5lKQorICAgICAgICBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6bG9hZERp
ZFN1Y2NlZWQoKTsKKyAgICBlbHNlCisgICAgICAgIGxvYWRTdWNjZXNzRGlzcGF0Y2hJc1BlbmRp
bmcgPSB0cnVlOworCit9CisKIHZvaWQgUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGU6Omxv
YWREaWRDb21taXQoKQogewogICAgIC8vIER1ZSB0byBlbnRlcmluZyBwcm92aXNpb25hbCBsb2Fk
IGJlZm9yZSBjb21taXR0aW5nLCB3ZQpAQCAtNTAxLDcgKzUzMCw3IEBAIHZvaWQgUVF1aWNrV2Vi
Vmlld0ZsaWNrYWJsZVByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0U2l6ZSgpCiAgICAgUV9RKFFRdWlj
a1dlYlZpZXcpOwogICAgIFFTaXplIHZpZXdwb3J0U2l6ZSA9IHEtPmJvdW5kaW5nUmVjdCgpLnNp
emUoKS50b1NpemUoKTsKIAotICAgIGlmICh2aWV3cG9ydFNpemUuaXNFbXB0eSgpKQorICAgIGlm
ICh2aWV3cG9ydFNpemUuaXNFbXB0eSgpIHx8ICFpbnRlcmFjdGlvbkVuZ2luZSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgLy8gTGV0IHRoZSBXZWJQcm9jZXNzIGtub3cgYWJvdXQgdGhlIG5ldyB2
aWV3cG9ydCBzaXplLCBzbyB0aGF0CkBAIC01MzcsNiArNTY2LDkgQEAgdm9pZCBRUXVpY2tXZWJW
aWV3RmxpY2thYmxlUHJpdmF0ZTo6X3Ffc3VzcGVuZCgpCiAKIHZvaWQgUVF1aWNrV2ViVmlld0Zs
aWNrYWJsZVByaXZhdGU6Ol9xX3Jlc3VtZSgpCiB7CisgICAgaWYgKCFpbnRlcmFjdGlvbkVuZ2lu
ZSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgcGFnZUlzU3VzcGVuZGVkID0gZmFsc2U7CiAKICAg
ICBpZiAoaXNUcmFuc2l0aW9uaW5nVG9OZXdQYWdlKSB7CkBAIC0xMDY5LDYgKzExMDEsMTUgQEAg
dm9pZCBRUXVpY2tXZWJWaWV3OjpnZW9tZXRyeUNoYW5nZWQoY29uc3QgUVJlY3RGJiBuZXdHZW9t
ZXRyeSwgY29uc3QgUVJlY3RGJiBvbGQKICAgICAgICAgZC0+dXBkYXRlVmlld3BvcnRTaXplKCk7
CiB9CiAKK3ZvaWQgUVF1aWNrV2ViVmlldzo6Y29tcG9uZW50Q29tcGxldGUoKQoreworICAgIFFf
RChRUXVpY2tXZWJWaWV3KTsKKyAgICBRUXVpY2tJdGVtOjpjb21wb25lbnRDb21wbGV0ZSgpOwor
CisgICAgZC0+b25Db21wb25lbnRDb21wbGV0ZSgpOworICAgIGQtPnVwZGF0ZVZpZXdwb3J0U2l6
ZSgpOworfQorCiB2b2lkIFFRdWlja1dlYlZpZXc6OmtleVByZXNzRXZlbnQoUUtleUV2ZW50KiBl
dmVudCkKIHsKICAgICB0aGlzLT5ldmVudChldmVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaAppbmRleCA5MmIzOGU4Li45ZGZhMjA2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZp
ZXdfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmll
d19wLmgKQEAgLTYwLDYgKzYwLDEwIEBAIGNsYXNzIFFQYWludGVyOwogY2xhc3MgUVVybDsKIFFU
X0VORF9OQU1FU1BBQ0UKIAorCisvLyBJbnN0YW50aWF0aW5nIHRoZSBXZWJWaWV3IGluIEMrKyBp
cyBvbmx5IHBvc3NpYmxlIGJ5IGNyZWF0aW5nCisvLyBhIFFEZWNsYXJhdGl2ZUNvbXBvbmVudCBh
cyB0aGUgaW5pdGlhbGl6YXRpb24gZGVwZW5kcyBvbiB0aGUKKy8vIGNvbXBvbmVudENvcGxldGUg
bWV0aG9kIGJlaW5nIGNhbGxlZC4KIGNsYXNzIFFXRUJLSVRfRVhQT1JUIFFRdWlja1dlYlZpZXcg
OiBwdWJsaWMgUVF1aWNrSXRlbSB7CiAgICAgUV9PQkpFQ1QKICAgICBRX1BST1BFUlRZKFFTdHJp
bmcgdGl0bGUgUkVBRCB0aXRsZSBOT1RJRlkgdGl0bGVDaGFuZ2VkKQpAQCAtMTM1LDcgKzEzOSw3
IEBAIFFfU0lHTkFMUzoKIAogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBnZW9tZXRyeUNo
YW5nZWQoY29uc3QgUVJlY3RGJiwgY29uc3QgUVJlY3RGJik7Ci0KKyAgICB2aXJ0dWFsIHZvaWQg
Y29tcG9uZW50Q29tcGxldGUoKTsKICAgICB2aXJ0dWFsIHZvaWQga2V5UHJlc3NFdmVudChRS2V5
RXZlbnQqKTsKICAgICB2aXJ0dWFsIHZvaWQga2V5UmVsZWFzZUV2ZW50KFFLZXlFdmVudCopOwog
ICAgIHZpcnR1YWwgdm9pZCBpbnB1dE1ldGhvZEV2ZW50KFFJbnB1dE1ldGhvZEV2ZW50Kik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdf
cF9wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9w
LmgKaW5kZXggYmQ2OTZkOS4uOWUyN2NlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaApAQCAtNjgsNiArNjgsOCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBlbmFibGVNb3VzZUV2ZW50cygpOwogICAgIHZvaWQgZGlzYWJsZU1vdXNl
RXZlbnRzKCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgbG9hZERpZFN1Y2NlZWQoKTsKKyAgICB2aXJ0
dWFsIHZvaWQgb25Db21wb25lbnRDb21wbGV0ZSgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBsb2Fk
RGlkQ29tbWl0KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaEZpcnN0Tm9uRW1wdHlM
YXlvdXQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVz
KGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJiBhcmdzKSB7IH0KQEAgLTE2NCw2ICsx
NjYsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+UVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZh
dGUoKTsKICAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZShXS0NvbnRleHRSZWYgY29udGV4dFJl
ZiA9IDAsIFdLUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJlZiA9IDApOwogCisgICAgdmlydHVhbCB2
b2lkIGxvYWREaWRTdWNjZWVkKCk7CisgICAgdmlydHVhbCB2b2lkIG9uQ29tcG9uZW50Q29tcGxl
dGUoKTsKICAgICB2aXJ0dWFsIHZvaWQgbG9hZERpZENvbW1pdCgpOwogICAgIHZpcnR1YWwgdm9p
ZCBkaWRGaW5pc2hGaXJzdE5vbkVtcHR5TGF5b3V0KCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZENo
YW5nZVZpZXdwb3J0UHJvcGVydGllcyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYg
YXJncyk7CkBAIC0xOTksNiArMjAzLDcgQEAgcHJpdmF0ZToKICAgICBPd25QdHI8UG9zdFRyYW5z
aXRpb25TdGF0ZT4gcG9zdFRyYW5zaXRpb25TdGF0ZTsKICAgICBib29sIGlzVHJhbnNpdGlvbmlu
Z1RvTmV3UGFnZTsKICAgICBib29sIHBhZ2VJc1N1c3BlbmRlZDsKKyAgICBib29sIGxvYWRTdWNj
ZXNzRGlzcGF0Y2hJc1BlbmRpbmc7CiB9OwogCiAjZW5kaWYgLy8gcXF1aWNrd2Vidmlld19wX3Bf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2Vidmlld3Bv
cnRpbmZvLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0
aW5mby5jcHAKaW5kZXggMTQ4YjUwMC4uMjI4NjNiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xd2Vidmlld3BvcnRpbmZvLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm8uY3BwCkBAIC00Niw3ICs0Niw3
IEBAIFFWYXJpYW50IFFXZWJWaWV3cG9ydEluZm86OmN1cnJlbnRTY2FsZSgpIGNvbnN0CiAgICAg
aWYgKFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSogaW50ZXJhY3Rpb25FbmdpbmUgPSBtX3dl
YlZpZXdQcml2YXRlLT52aWV3cG9ydEludGVyYWN0aW9uRW5naW5lKCkpCiAgICAgICAgIHJldHVy
biBpbnRlcmFjdGlvbkVuZ2luZS0+Y3VycmVudENTU1NjYWxlKCk7CiAKLSAgICByZXR1cm4gUVZh
cmlhbnQoKTsKKyAgICByZXR1cm4gUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjpDb25zdHJh
aW50cygpLmluaXRpYWxTY2FsZTsKIH0KIAogUVZhcmlhbnQgUVdlYlZpZXdwb3J0SW5mbzo6ZGV2
aWNlUGl4ZWxSYXRpbygpIGNvbnN0CkBAIC01NCw3ICs1NCw3IEBAIFFWYXJpYW50IFFXZWJWaWV3
cG9ydEluZm86OmRldmljZVBpeGVsUmF0aW8oKSBjb25zdAogICAgIGlmIChRdFZpZXdwb3J0SW50
ZXJhY3Rpb25FbmdpbmUqIGludGVyYWN0aW9uRW5naW5lID0gbV93ZWJWaWV3UHJpdmF0ZS0+dmll
d3BvcnRJbnRlcmFjdGlvbkVuZ2luZSgpKQogICAgICAgICByZXR1cm4gaW50ZXJhY3Rpb25Fbmdp
bmUtPmNvbnN0cmFpbnRzKCkuZGV2aWNlUGl4ZWxSYXRpbzsKIAotICAgIHJldHVybiBRVmFyaWFu
dCgpOworICAgIHJldHVybiBRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OkNvbnN0cmFpbnRz
KCkuZGV2aWNlUGl4ZWxSYXRpbzsKIH0KIAogUVZhcmlhbnQgUVdlYlZpZXdwb3J0SW5mbzo6aW5p
dGlhbFNjYWxlKCkgY29uc3QKQEAgLTYyLDcgKzYyLDcgQEAgUVZhcmlhbnQgUVdlYlZpZXdwb3J0
SW5mbzo6aW5pdGlhbFNjYWxlKCkgY29uc3QKICAgICBpZiAoUXRWaWV3cG9ydEludGVyYWN0aW9u
RW5naW5lKiBpbnRlcmFjdGlvbkVuZ2luZSA9IG1fd2ViVmlld1ByaXZhdGUtPnZpZXdwb3J0SW50
ZXJhY3Rpb25FbmdpbmUoKSkKICAgICAgICAgcmV0dXJuIGludGVyYWN0aW9uRW5naW5lLT5jb25z
dHJhaW50cygpLmluaXRpYWxTY2FsZTsKIAotICAgIHJldHVybiBRVmFyaWFudCgpOworICAgIHJl
dHVybiBRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OkNvbnN0cmFpbnRzKCkuaW5pdGlhbFNj
YWxlOwogfQogCiBRVmFyaWFudCBRV2ViVmlld3BvcnRJbmZvOjptaW5pbXVtU2NhbGUoKSBjb25z
dApAQCAtNzAsNyArNzAsNyBAQCBRVmFyaWFudCBRV2ViVmlld3BvcnRJbmZvOjptaW5pbXVtU2Nh
bGUoKSBjb25zdAogICAgIGlmIChRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUqIGludGVyYWN0
aW9uRW5naW5lID0gbV93ZWJWaWV3UHJpdmF0ZS0+dmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSgp
KQogICAgICAgICByZXR1cm4gaW50ZXJhY3Rpb25FbmdpbmUtPmNvbnN0cmFpbnRzKCkubWluaW11
bVNjYWxlOwogCi0gICAgcmV0dXJuIFFWYXJpYW50KCk7CisgICAgcmV0dXJuIFF0Vmlld3BvcnRJ
bnRlcmFjdGlvbkVuZ2luZTo6Q29uc3RyYWludHMoKS5taW5pbXVtU2NhbGU7CiB9CiAKIFFWYXJp
YW50IFFXZWJWaWV3cG9ydEluZm86Om1heGltdW1TY2FsZSgpIGNvbnN0CkBAIC03OCw3ICs3OCw3
IEBAIFFWYXJpYW50IFFXZWJWaWV3cG9ydEluZm86Om1heGltdW1TY2FsZSgpIGNvbnN0CiAgICAg
aWYgKFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSogaW50ZXJhY3Rpb25FbmdpbmUgPSBtX3dl
YlZpZXdQcml2YXRlLT52aWV3cG9ydEludGVyYWN0aW9uRW5naW5lKCkpCiAgICAgICAgIHJldHVy
biBpbnRlcmFjdGlvbkVuZ2luZS0+Y29uc3RyYWludHMoKS5tYXhpbXVtU2NhbGU7CiAKLSAgICBy
ZXR1cm4gUVZhcmlhbnQoKTsKKyAgICByZXR1cm4gUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5l
OjpDb25zdHJhaW50cygpLm1heGltdW1TY2FsZTsKIH0KIAogUVZhcmlhbnQgUVdlYlZpZXdwb3J0
SW5mbzo6aXNTY2FsYWJsZSgpIGNvbnN0CkBAIC04Niw3ICs4Niw3IEBAIFFWYXJpYW50IFFXZWJW
aWV3cG9ydEluZm86OmlzU2NhbGFibGUoKSBjb25zdAogICAgIGlmIChRdFZpZXdwb3J0SW50ZXJh
Y3Rpb25FbmdpbmUqIGludGVyYWN0aW9uRW5naW5lID0gbV93ZWJWaWV3UHJpdmF0ZS0+dmlld3Bv
cnRJbnRlcmFjdGlvbkVuZ2luZSgpKQogICAgICAgICByZXR1cm4gaW50ZXJhY3Rpb25FbmdpbmUt
PmNvbnN0cmFpbnRzKCkuaXNVc2VyU2NhbGFibGU7CiAKLSAgICByZXR1cm4gUVZhcmlhbnQoKTsK
KyAgICByZXR1cm4gUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjpDb25zdHJhaW50cygpLmlz
VXNlclNjYWxhYmxlOwogfQogCiBRVmFyaWFudCBRV2ViVmlld3BvcnRJbmZvOjpsYXlvdXRTaXpl
KCkgY29uc3QKQEAgLTk0LDcgKzk0LDcgQEAgUVZhcmlhbnQgUVdlYlZpZXdwb3J0SW5mbzo6bGF5
b3V0U2l6ZSgpIGNvbnN0CiAgICAgaWYgKFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSogaW50
ZXJhY3Rpb25FbmdpbmUgPSBtX3dlYlZpZXdQcml2YXRlLT52aWV3cG9ydEludGVyYWN0aW9uRW5n
aW5lKCkpCiAgICAgICAgIHJldHVybiBpbnRlcmFjdGlvbkVuZ2luZS0+Y29uc3RyYWludHMoKS5s
YXlvdXRTaXplOwogCi0gICAgcmV0dXJuIFFWYXJpYW50KCk7CisgICAgcmV0dXJuIFFWYXJpYW50
KFFTaXplKCkpOwogfQogCiB2b2lkIFFXZWJWaWV3cG9ydEluZm86OmRpZFVwZGF0ZUNvbnRlbnRz
U2l6ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2
aWV3cG9ydGluZm9fcC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2Vidmll
d3BvcnRpbmZvX3AuaAppbmRleCBlMWRlYTY1Li42NTMwMTgyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJ2aWV3cG9ydGluZm9fcC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYnZpZXdwb3J0aW5mb19wLmgKQEAgLTI5LDkg
KzI5LDYgQEAKICNpbmNsdWRlIDxRdENvcmUvUVZhcmlhbnQ+CiAjaW5jbHVkZSA8UXREZWNsYXJh
dGl2ZS9RdERlY2xhcmF0aXZlPgogCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBWaWV3cG9y
dEF0dHJpYnV0ZXM7Ci19CiBjbGFzcyBRUXVpY2tXZWJWaWV3UHJpdmF0ZTsKIAogY2xhc3MgUVdF
QktJVF9FWFBPUlQgUVdlYlZpZXdwb3J0SW5mbyA6IHB1YmxpYyBRT2JqZWN0IHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcXF1aWNrd2Vidmlldy9x
cXVpY2t3ZWJ2aWV3LnBybyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMv
cXF1aWNrd2Vidmlldy9xcXVpY2t3ZWJ2aWV3LnBybwppbmRleCAwZjBkNGY1Li4yNWNkODMyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FxdWlja3dl
YnZpZXcvcXF1aWNrd2Vidmlldy5wcm8KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC90ZXN0cy9xcXVpY2t3ZWJ2aWV3L3FxdWlja3dlYnZpZXcucHJvCkBAIC0xLDMgKzEsNCBA
QAogaW5jbHVkZSguLi90ZXN0cy5wcmkpCiBTT1VSQ0VTICs9ICQke1RBUkdFVH0uY3BwCiBDT05G
SUcgKz0gcXR3ZWJraXQtcHJpdmF0ZQorREVGSU5FUyArPSBJTVBPUlRfRElSPVwiXFxcIiQke1JP
T1RfQlVJTERfRElSfSQke1FNQUtFX0RJUl9TRVB9aW1wb3J0c1xcXCJcIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xcXVpY2t3ZWJ2aWV3L3RzdF9x
cXVpY2t3ZWJ2aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMv
cXF1aWNrd2Vidmlldy90c3RfcXF1aWNrd2Vidmlldy5jcHAKaW5kZXggMTc3OTc2Yi4uZGIzZjlj
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xcXVp
Y2t3ZWJ2aWV3L3RzdF9xcXVpY2t3ZWJ2aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3Rlc3RzL3FxdWlja3dlYnZpZXcvdHN0X3FxdWlja3dlYnZpZXcuY3BwCkBA
IC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSAiLi4vdGVzdHdpbmRvdy5oIgogI2luY2x1ZGUgIi4u
L3V0aWwuaCIKIAorI2luY2x1ZGUgPFFEZWNsYXJhdGl2ZUVuZ2luZT4KICNpbmNsdWRlIDxRU2Nv
cGVkUG9pbnRlcj4KICNpbmNsdWRlIDxRdFRlc3QvUXRUZXN0PgogI2luY2x1ZGUgPHFxdWlja3dl
YnBhZ2VfcC5oPgpAQCAtNTUsMTkgKzU2LDQyIEBAIHByaXZhdGUgc2xvdHM6CiAgICAgdm9pZCBt
dWx0aXBsZVdlYlZpZXdzKCk7CiAKIHByaXZhdGU6CisgICAgdm9pZCBwcmVwYXJlV2ViVmlld0Nv
bXBvbmVudCgpOworICAgIGlubGluZSBRUXVpY2tXZWJWaWV3KiBuZXdXZWJWaWV3KCk7CiAgICAg
aW5saW5lIFFRdWlja1dlYlZpZXcqIHdlYlZpZXcoKSBjb25zdDsKICAgICBRU2NvcGVkUG9pbnRl
cjxUZXN0V2luZG93PiBtX3dpbmRvdzsKKyAgICBRU2NvcGVkUG9pbnRlcjxRRGVjbGFyYXRpdmVD
b21wb25lbnQ+IG1fY29tcG9uZW50OwogfTsKIAogdHN0X1FRdWlja1dlYlZpZXc6OnRzdF9RUXVp
Y2tXZWJWaWV3KCkKIHsKICAgICBhZGRRdFdlYlByb2Nlc3NUb1BhdGgoKTsKLSAgICBxUmVnaXN0
ZXJNZXRhVHlwZTxRUXVpY2tXZWJQYWdlKj4oIlFRdWlja1dlYlBhZ2UqIik7CisgICAgcHJlcGFy
ZVdlYlZpZXdDb21wb25lbnQoKTsKK30KKwordm9pZCB0c3RfUVF1aWNrV2ViVmlldzo6cHJlcGFy
ZVdlYlZpZXdDb21wb25lbnQoKQoreworICAgIHN0YXRpYyBRRGVjbGFyYXRpdmVFbmdpbmUqIGVu
Z2luZSA9IG5ldyBRRGVjbGFyYXRpdmVFbmdpbmUodGhpcyk7CisgICAgZW5naW5lLT5hZGRJbXBv
cnRQYXRoKFFTdHJpbmc6OmZyb21VdGY4KElNUE9SVF9ESVIpKTsKKworICAgIG1fY29tcG9uZW50
LnJlc2V0KG5ldyBRRGVjbGFyYXRpdmVDb21wb25lbnQoZW5naW5lLCB0aGlzKSk7CisKKyAgICBt
X2NvbXBvbmVudC0+c2V0RGF0YShRQnl0ZUFycmF5TGl0ZXJhbCgiaW1wb3J0IFF0UXVpY2sgMi4w
XG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImltcG9ydCBR
dFdlYktpdCAzLjBcbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiV2ViVmlldyB7fSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgLCBRVXJsKCkpOworfQor
CitRUXVpY2tXZWJWaWV3KiB0c3RfUVF1aWNrV2ViVmlldzo6bmV3V2ViVmlldygpCit7CisgICAg
UU9iamVjdCogdmlld0luc3RhbmNlID0gbV9jb21wb25lbnQtPmNyZWF0ZSgpOworCisgICAgcmV0
dXJuIHFvYmplY3RfY2FzdDxRUXVpY2tXZWJWaWV3Kj4odmlld0luc3RhbmNlKTsKIH0KIAogdm9p
ZCB0c3RfUVF1aWNrV2ViVmlldzo6aW5pdCgpCiB7Ci0gICAgbV93aW5kb3cucmVzZXQobmV3IFRl
c3RXaW5kb3cobmV3IFFRdWlja1dlYlZpZXcoKSkpOworICAgIG1fd2luZG93LnJlc2V0KG5ldyBU
ZXN0V2luZG93KG5ld1dlYlZpZXcoKSkpOwogfQogCiB2b2lkIHRzdF9RUXVpY2tXZWJWaWV3Ojpj
bGVhbnVwKCkKQEAgLTI3Nyw5ICszMDEsOSBAQCB2b2lkIHRzdF9RUXVpY2tXZWJWaWV3OjptdWx0
aXBsZVdlYlZpZXdXaW5kb3dzKCkKICAgICBzaG93V2ViVmlldygpOwogCiAgICAgLy8gVGhpcyBz
aG91bGQgbm90IGNyYXNoLgotICAgIFFRdWlja1dlYlZpZXcqIHdlYlZpZXcxID0gbmV3IFFRdWlj
a1dlYlZpZXcoKTsKKyAgICBRUXVpY2tXZWJWaWV3KiB3ZWJWaWV3MSA9IG5ld1dlYlZpZXcoKTsK
ICAgICBRU2NvcGVkUG9pbnRlcjxUZXN0V2luZG93PiB3aW5kb3cxKG5ldyBUZXN0V2luZG93KHdl
YlZpZXcxKSk7Ci0gICAgUVF1aWNrV2ViVmlldyogd2ViVmlldzIgPSBuZXcgUVF1aWNrV2ViVmll
dygpOworICAgIFFRdWlja1dlYlZpZXcqIHdlYlZpZXcyID0gbmV3V2ViVmlldygpOwogICAgIFFT
Y29wZWRQb2ludGVyPFRlc3RXaW5kb3c+IHdpbmRvdzIobmV3IFRlc3RXaW5kb3cod2ViVmlldzIp
KTsKIAogICAgIHdlYlZpZXcxLT5zZXRTaXplKFFTaXplRigzMDAsIDQwMCkpOwpAQCAtMzAxLDkg
KzMyNSw5IEBAIHZvaWQgdHN0X1FRdWlja1dlYlZpZXc6Om11bHRpcGxlV2ViVmlld3MoKQogICAg
IHNob3dXZWJWaWV3KCk7CiAKICAgICAvLyBUaGlzIHNob3VsZCBub3QgY3Jhc2guCi0gICAgUVNj
b3BlZFBvaW50ZXI8UVF1aWNrV2ViVmlldz4gd2ViVmlldzEobmV3IFFRdWlja1dlYlZpZXcoKSk7
CisgICAgUVNjb3BlZFBvaW50ZXI8UVF1aWNrV2ViVmlldz4gd2ViVmlldzEobmV3V2ViVmlldygp
KTsKICAgICB3ZWJWaWV3MS0+c2V0UGFyZW50SXRlbShtX3dpbmRvdy0+cm9vdEl0ZW0oKSk7Ci0g
ICAgUVNjb3BlZFBvaW50ZXI8UVF1aWNrV2ViVmlldz4gd2ViVmlldzIobmV3IFFRdWlja1dlYlZp
ZXcoKSk7CisgICAgUVNjb3BlZFBvaW50ZXI8UVF1aWNrV2ViVmlldz4gd2ViVmlldzIobmV3V2Vi
VmlldygpKTsKICAgICB3ZWJWaWV3Mi0+c2V0UGFyZW50SXRlbShtX3dpbmRvdy0+cm9vdEl0ZW0o
KSk7CiAKICAgICB3ZWJWaWV3MS0+c2V0U2l6ZShRU2l6ZUYoMzAwLCA0MDApKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VMb2FkQ2xpZW50LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VMb2FkQ2xpZW50LmNwcAppbmRl
eCAzYmE4Yzc0Li4yNjAxZjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvUXRXZWJQYWdlTG9hZENsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1F0V2ViUGFnZUxvYWRDbGllbnQuY3BwCkBAIC04NSw4ICs4NSw3IEBAIHZvaWQgUXRXZWJQ
YWdlTG9hZENsaWVudDo6ZGlkQ2hhbmdlQmFja0ZvcndhcmRMaXN0KCkKIAogdm9pZCBRdFdlYlBh
Z2VMb2FkQ2xpZW50OjpkaXNwYXRjaExvYWRTdWNjZWVkZWQoKQogewotICAgIGVtaXQgbV93ZWJW
aWV3LT5uYXZpZ2F0aW9uU3RhdGVDaGFuZ2VkKCk7Ci0gICAgZW1pdCBtX3dlYlZpZXctPmxvYWRT
dWNjZWVkZWQoKTsKKyAgICBtX3dlYlZpZXctPmRfZnVuYygpLT5sb2FkRGlkU3VjY2VlZCgpOwog
fQogCiB2b2lkIFF0V2ViUGFnZUxvYWRDbGllbnQ6OmRpc3BhdGNoTG9hZEZhaWxlZChXS0Vycm9y
UmVmIGVycm9yKQotLSAKMS43LjkKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>