<?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>76899</bug_id>
          
          <creation_ts>2012-01-24 02:46:51 -0800</creation_ts>
          <short_desc>[GTK] Page clients don&apos;t need to be GObjects anymore in WebKit2 GTK+ API</short_desc>
          <delta_ts>2012-01-25 00:37:21 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gustavo</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>541198</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-01-24 02:46:51 -0800</bug_when>
    <thetext>They are now private and only provide a way to attach callbacks to the client.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541201</commentid>
    <comment_count>1</comment_count>
      <attachid>123708</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-01-24 02:52:51 -0800</bug_when>
    <thetext>Created attachment 123708
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541203</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-24 02:54:19 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541297</commentid>
    <comment_count>3</comment_count>
      <attachid>123708</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-01-24 06:48:19 -0800</bug_when>
    <thetext>Comment on attachment 123708
Patch

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

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebLoaderClient.cpp:22
&gt;  #include &quot;WebKitWebLoaderClient.h&quot;

Please rename this file to WebKitLoaderClient to match the name of the client now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542051</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-01-25 00:37:21 -0800</bug_when>
    <thetext>Committed r105854: &lt;http://trac.webkit.org/changeset/105854&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123708</attachid>
            <date>2012-01-24 02:52:51 -0800</date>
            <delta_ts>2012-01-24 06:48:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-page-clients-gobject.diff</filename>
            <type>text/plain</type>
            <size>23668</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA3YjliM2NkLi5hMmU0YThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNTIg
QEAKIDIwMTItMDEtMjQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgogCisgICAgICAgIFtHVEtdIFBhZ2UgY2xpZW50cyBkb24ndCBuZWVkIHRvIGJlIEdPYmplY3Rz
IGFueW1vcmUgaW4gV2ViS2l0MiBHVEsrIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVJQ2xpZW50LmNw
cDoKKyAgICAgICAgKGNyZWF0ZU5ld1BhZ2UpOiBVc2UgY2xpZW50SW5mbyBpbnN0ZWFkIGZvIGdl
dHRpbmcgdGhlIHZpZXcgZnJvbQorICAgICAgICB0aGUgcGFnZS4KKyAgICAgICAgKHNob3dQYWdl
KTogRGl0dG8uCisgICAgICAgIChjbG9zZVBhZ2UpOiBEaXR0by4KKyAgICAgICAgKHJ1bkphdmFT
Y3JpcHRBbGVydCk6IERpdHRvLgorICAgICAgICAocnVuSmF2YVNjcmlwdENvbmZpcm0pOiBEaXR0
by4KKyAgICAgICAgKHJ1bkphdmFTY3JpcHRQcm9tcHQpOiBEaXR0by4KKyAgICAgICAgKHRvb2xi
YXJzQXJlVmlzaWJsZSk6IERpdHRvLgorICAgICAgICAoc2V0VG9vbGJhcnNBcmVWaXNpYmxlKTog
RGl0dG8uCisgICAgICAgIChtZW51QmFySXNWaXNpYmxlKTogRGl0dG8uCisgICAgICAgIChzZXRN
ZW51QmFySXNWaXNpYmxlKTogRGl0dG8uCisgICAgICAgIChzdGF0dXNCYXJJc1Zpc2libGUpOiBE
aXR0by4KKyAgICAgICAgKHNldFN0YXR1c0JhcklzVmlzaWJsZSk6IERpdHRvLgorICAgICAgICAo
aXNSZXNpemFibGUpOiBEaXR0by4KKyAgICAgICAgKHNldElzUmVzaXphYmxlKTogRGl0dG8uCisg
ICAgICAgIChnZXRXaW5kb3dGcmFtZSk6IERpdHRvLgorICAgICAgICAoc2V0V2luZG93RnJhbWUp
OiBEaXR0by4KKyAgICAgICAgKGF0dGFjaFVJQ2xpZW50VG9WaWV3KTogUGFzcyBXZWJLaXRXZWJW
aWV3IGFzIGNsaWVudEluZm8gdG8KKyAgICAgICAgY2FsbGJhY2tzLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFVJQ2xpZW50Lmg6IFJlbW92ZSBHT2JqZWN0IGJvaWxlcnBsYXRl
LgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHA6
CisgICAgICAgIChkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKTogVXNlIGNsaWVudElu
Zm8gaW5zdGVhZCBmbworICAgICAgICBnZXR0aW5nIHRoZSB2aWV3IGZyb20gdGhlIHBhZ2UuCisg
ICAgICAgIChkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JGcmFt
ZSk6IERpdHRvLgorICAgICAgICAoZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZy
YW1lKTogRGl0dG8uCisgICAgICAgIChkaWRDb21taXRMb2FkRm9yRnJhbWUpOiBEaXR0by4KKyAg
ICAgICAgKGRpZEZpbmlzaExvYWRGb3JGcmFtZSk6IERpdHRvLgorICAgICAgICAoZGlkRmFpbExv
YWRXaXRoRXJyb3JGb3JGcmFtZSk6IERpdHRvLgorICAgICAgICAoZGlkU2FtZURvY3VtZW50TmF2
aWdhdGlvbkZvckZyYW1lKTogRGl0dG8uCisgICAgICAgIChkaWRSZWNlaXZlVGl0bGVGb3JGcmFt
ZSk6IERpdHRvLgorICAgICAgICAoZGlkQ2hhbmdlUHJvZ3Jlc3MpOiBEaXR0by4KKyAgICAgICAg
KGRpZENoYW5nZUJhY2tGb3J3YXJkTGlzdCk6IERpdHRvLgorICAgICAgICAoYXR0YWNoTG9hZGVy
Q2xpZW50VG9WaWV3KTogUGFzcyBXZWJLaXRXZWJWaWV3IGFzIGNsaWVudEluZm8gdG8KKyAgICAg
ICAgY2FsbGJhY2tzLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxvYWRl
ckNsaWVudC5oOiBSZW1vdmUgR09iamVjdCBib2lsZXJwbGF0ZS4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdDb25z
dHJ1Y3RlZCk6IFJlbW92ZSBVSUNsaWVudCBhbmQgTG9hZGVyQ2xpZW50CisgICAgICAgIG9iamVj
dHMgYW5kIGNhbGwgYXR0YWNoVUlDbGllbnRUb1ZpZXcoKSBhbmQgYXR0YWNoTG9hZGVyQ2xpZW50
VG9WaWV3KCkuCisKKzIwMTItMDEtMjQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBp
Z2FsaWEuY29tPgorCiAgICAgICAgIFtHVEtdIEltcGxlbWVudCBEb3dubG9hZENsaWVudCBpbiBX
ZWJLaXQyIEdUSysgQVBJCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03Mjk1MgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRVSUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRVSUNsaWVudC5jcHAKaW5kZXggOGEyODBjOC4uMDU2ZThiYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VUlDbGllbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVJQ2xpZW50LmNwcApAQCAt
MjEsOTcgKzIxLDk2IEBACiAjaW5jbHVkZSAiV2ViS2l0VUlDbGllbnQuaCIKIAogI2luY2x1ZGUg
IldlYktpdFByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUuaCIK
ICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3UHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFdpbmRv
d1Byb3BlcnRpZXNQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCiAKIHVzaW5n
IG5hbWVzcGFjZSBXZWJLaXQ7CiAKLUdfREVGSU5FX1RZUEUoV2ViS2l0VUlDbGllbnQsIHdlYmtp
dF91aV9jbGllbnQsIEdfVFlQRV9PQkpFQ1QpCi0KLXN0YXRpYyBXS1BhZ2VSZWYgY3JlYXRlTmV3
UGFnZShXS1BhZ2VSZWYgcGFnZSwgV0tVUkxSZXF1ZXN0UmVmLCBXS0RpY3Rpb25hcnlSZWYgd2tX
aW5kb3dGZWF0dXJlcywgV0tFdmVudE1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uLCBjb25z
dCB2b2lkKikKK3N0YXRpYyBXS1BhZ2VSZWYgY3JlYXRlTmV3UGFnZShXS1BhZ2VSZWYgcGFnZSwg
V0tVUkxSZXF1ZXN0UmVmLCBXS0RpY3Rpb25hcnlSZWYgd2tXaW5kb3dGZWF0dXJlcywgV0tFdmVu
dE1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQog
ewotICAgIHJldHVybiB3ZWJraXRXZWJWaWV3Q3JlYXRlTmV3UGFnZShXRUJLSVRfV0VCX1ZJRVco
dG9JbXBsKHBhZ2UpLT52aWV3V2lkZ2V0KCkpLCB3a1dpbmRvd0ZlYXR1cmVzKTsKKyAgICByZXR1
cm4gd2Via2l0V2ViVmlld0NyZWF0ZU5ld1BhZ2UoV0VCS0lUX1dFQl9WSUVXKGNsaWVudEluZm8p
LCB3a1dpbmRvd0ZlYXR1cmVzKTsKIH0KIAotc3RhdGljIHZvaWQgc2hvd1BhZ2UoV0tQYWdlUmVm
IHBhZ2UsIGNvbnN0IHZvaWQqKQorc3RhdGljIHZvaWQgc2hvd1BhZ2UoV0tQYWdlUmVmIHBhZ2Us
IGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7Ci0gICAgd2Via2l0V2ViVmlld1JlYWR5VG9TaG93
UGFnZShXRUJLSVRfV0VCX1ZJRVcodG9JbXBsKHBhZ2UpLT52aWV3V2lkZ2V0KCkpKTsKKyAgICB3
ZWJraXRXZWJWaWV3UmVhZHlUb1Nob3dQYWdlKFdFQktJVF9XRUJfVklFVyhjbGllbnRJbmZvKSk7
CiB9CiAKLXN0YXRpYyB2b2lkIGNsb3NlUGFnZShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCop
CitzdGF0aWMgdm9pZCBjbG9zZVBhZ2UoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVu
dEluZm8pCiB7Ci0gICAgd2Via2l0V2ViVmlld0Nsb3NlUGFnZShXRUJLSVRfV0VCX1ZJRVcodG9J
bXBsKHBhZ2UpLT52aWV3V2lkZ2V0KCkpKTsKKyAgICB3ZWJraXRXZWJWaWV3Q2xvc2VQYWdlKFdF
QktJVF9XRUJfVklFVyhjbGllbnRJbmZvKSk7CiB9CiAKLXN0YXRpYyB2b2lkIHJ1bkphdmFTY3Jp
cHRBbGVydChXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tGcmFtZVJlZiwg
Y29uc3Qgdm9pZCopCitzdGF0aWMgdm9pZCBydW5KYXZhU2NyaXB0QWxlcnQoV0tQYWdlUmVmIHBh
Z2UsIFdLU3RyaW5nUmVmIG1lc3NhZ2UsIFdLRnJhbWVSZWYsIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pCiB7Ci0gICAgd2Via2l0V2ViVmlld1J1bkphdmFTY3JpcHRBbGVydChXRUJLSVRfV0VCX1ZJ
RVcodG9JbXBsKHBhZ2UpLT52aWV3V2lkZ2V0KCkpLCB0b0ltcGwobWVzc2FnZSktPnN0cmluZygp
LnV0ZjgoKSk7CisgICAgd2Via2l0V2ViVmlld1J1bkphdmFTY3JpcHRBbGVydChXRUJLSVRfV0VC
X1ZJRVcoY2xpZW50SW5mbyksIHRvSW1wbChtZXNzYWdlKS0+c3RyaW5nKCkudXRmOCgpKTsKIH0K
IAotc3RhdGljIGJvb2wgcnVuSmF2YVNjcmlwdENvbmZpcm0oV0tQYWdlUmVmIHBhZ2UsIFdLU3Ry
aW5nUmVmIG1lc3NhZ2UsIFdLRnJhbWVSZWYsIGNvbnN0IHZvaWQqKQorc3RhdGljIGJvb2wgcnVu
SmF2YVNjcmlwdENvbmZpcm0oV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIG1lc3NhZ2UsIFdL
RnJhbWVSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7Ci0gICAgcmV0dXJuIHdlYmtpdFdl
YlZpZXdSdW5KYXZhU2NyaXB0Q29uZmlybShXRUJLSVRfV0VCX1ZJRVcodG9JbXBsKHBhZ2UpLT52
aWV3V2lkZ2V0KCkpLCB0b0ltcGwobWVzc2FnZSktPnN0cmluZygpLnV0ZjgoKSk7CisgICAgcmV0
dXJuIHdlYmtpdFdlYlZpZXdSdW5KYXZhU2NyaXB0Q29uZmlybShXRUJLSVRfV0VCX1ZJRVcoY2xp
ZW50SW5mbyksIHRvSW1wbChtZXNzYWdlKS0+c3RyaW5nKCkudXRmOCgpKTsKIH0KIAotc3RhdGlj
IFdLU3RyaW5nUmVmIHJ1bkphdmFTY3JpcHRQcm9tcHQoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5n
UmVmIG1lc3NhZ2UsIFdLU3RyaW5nUmVmIGRlZmF1bHRWYWx1ZSwgV0tGcmFtZVJlZiwgY29uc3Qg
dm9pZCopCitzdGF0aWMgV0tTdHJpbmdSZWYgcnVuSmF2YVNjcmlwdFByb21wdChXS1BhZ2VSZWYg
cGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tTdHJpbmdSZWYgZGVmYXVsdFZhbHVlLCBXS0Zy
YW1lUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewotICAgIHJldHVybiB3ZWJraXRXZWJW
aWV3UnVuSmF2YVNjcmlwdFByb21wdChXRUJLSVRfV0VCX1ZJRVcodG9JbXBsKHBhZ2UpLT52aWV3
V2lkZ2V0KCkpLCB0b0ltcGwobWVzc2FnZSktPnN0cmluZygpLnV0ZjgoKSwKKyAgICByZXR1cm4g
d2Via2l0V2ViVmlld1J1bkphdmFTY3JpcHRQcm9tcHQoV0VCS0lUX1dFQl9WSUVXKGNsaWVudElu
Zm8pLCB0b0ltcGwobWVzc2FnZSktPnN0cmluZygpLnV0ZjgoKSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9JbXBsKGRlZmF1bHRWYWx1ZSktPnN0cmluZygp
LnV0ZjgoKSk7CiB9CiAKLXN0YXRpYyBib29sIHRvb2xiYXJzQXJlVmlzaWJsZShXS1BhZ2VSZWYg
cGFnZSwgY29uc3Qgdm9pZCopCitzdGF0aWMgYm9vbCB0b29sYmFyc0FyZVZpc2libGUoV0tQYWdl
UmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7Ci0gICAgV2ViS2l0V2luZG93UHJv
cGVydGllcyogd2luZG93UHJvcGVydGllcyA9IHdlYmtpdF93ZWJfdmlld19nZXRfd2luZG93X3By
b3BlcnRpZXMoV0VCS0lUX1dFQl9WSUVXKHRvSW1wbChwYWdlKS0+dmlld1dpZGdldCgpKSk7Cisg
ICAgV2ViS2l0V2luZG93UHJvcGVydGllcyogd2luZG93UHJvcGVydGllcyA9IHdlYmtpdF93ZWJf
dmlld19nZXRfd2luZG93X3Byb3BlcnRpZXMoV0VCS0lUX1dFQl9WSUVXKGNsaWVudEluZm8pKTsK
ICAgICByZXR1cm4gd2Via2l0X3dpbmRvd19wcm9wZXJ0aWVzX2dldF90b29sYmFyX3Zpc2libGUo
d2luZG93UHJvcGVydGllcyk7CiB9CiAKLXN0YXRpYyB2b2lkIHNldFRvb2xiYXJzQXJlVmlzaWJs
ZShXS1BhZ2VSZWYgcGFnZSwgYm9vbCB0b29sYmFyc1Zpc2libGUsIGNvbnN0IHZvaWQqKQorc3Rh
dGljIHZvaWQgc2V0VG9vbGJhcnNBcmVWaXNpYmxlKFdLUGFnZVJlZiBwYWdlLCBib29sIHRvb2xi
YXJzVmlzaWJsZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHsKLSAgICBXZWJLaXRXaW5kb3dQ
cm9wZXJ0aWVzKiB3aW5kb3dQcm9wZXJ0aWVzID0gd2Via2l0X3dlYl92aWV3X2dldF93aW5kb3df
cHJvcGVydGllcyhXRUJLSVRfV0VCX1ZJRVcodG9JbXBsKHBhZ2UpLT52aWV3V2lkZ2V0KCkpKTsK
KyAgICBXZWJLaXRXaW5kb3dQcm9wZXJ0aWVzKiB3aW5kb3dQcm9wZXJ0aWVzID0gd2Via2l0X3dl
Yl92aWV3X2dldF93aW5kb3dfcHJvcGVydGllcyhXRUJLSVRfV0VCX1ZJRVcoY2xpZW50SW5mbykp
OwogICAgIHdlYmtpdFdpbmRvd1Byb3BlcnRpZXNTZXRUb29sYmFyVmlzaWJsZSh3aW5kb3dQcm9w
ZXJ0aWVzLCB0b29sYmFyc1Zpc2libGUpOwogfQogCi1zdGF0aWMgYm9vbCBtZW51QmFySXNWaXNp
YmxlKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKikKK3N0YXRpYyBib29sIG1lbnVCYXJJc1Zp
c2libGUoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7Ci0gICAgV2Vi
S2l0V2luZG93UHJvcGVydGllcyogd2luZG93UHJvcGVydGllcyA9IHdlYmtpdF93ZWJfdmlld19n
ZXRfd2luZG93X3Byb3BlcnRpZXMoV0VCS0lUX1dFQl9WSUVXKHRvSW1wbChwYWdlKS0+dmlld1dp
ZGdldCgpKSk7CisgICAgV2ViS2l0V2luZG93UHJvcGVydGllcyogd2luZG93UHJvcGVydGllcyA9
IHdlYmtpdF93ZWJfdmlld19nZXRfd2luZG93X3Byb3BlcnRpZXMoV0VCS0lUX1dFQl9WSUVXKGNs
aWVudEluZm8pKTsKICAgICByZXR1cm4gd2Via2l0X3dpbmRvd19wcm9wZXJ0aWVzX2dldF9tZW51
YmFyX3Zpc2libGUod2luZG93UHJvcGVydGllcyk7CiB9CiAKLXN0YXRpYyB2b2lkIHNldE1lbnVC
YXJJc1Zpc2libGUoV0tQYWdlUmVmIHBhZ2UsIGJvb2wgbWVudUJhclZpc2libGUsIGNvbnN0IHZv
aWQqKQorc3RhdGljIHZvaWQgc2V0TWVudUJhcklzVmlzaWJsZShXS1BhZ2VSZWYgcGFnZSwgYm9v
bCBtZW51QmFyVmlzaWJsZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHsKLSAgICBXZWJLaXRX
aW5kb3dQcm9wZXJ0aWVzKiB3aW5kb3dQcm9wZXJ0aWVzID0gd2Via2l0X3dlYl92aWV3X2dldF93
aW5kb3dfcHJvcGVydGllcyhXRUJLSVRfV0VCX1ZJRVcodG9JbXBsKHBhZ2UpLT52aWV3V2lkZ2V0
KCkpKTsKKyAgICBXZWJLaXRXaW5kb3dQcm9wZXJ0aWVzKiB3aW5kb3dQcm9wZXJ0aWVzID0gd2Vi
a2l0X3dlYl92aWV3X2dldF93aW5kb3dfcHJvcGVydGllcyhXRUJLSVRfV0VCX1ZJRVcoY2xpZW50
SW5mbykpOwogICAgIHdlYmtpdFdpbmRvd1Byb3BlcnRpZXNTZXRNZW51YmFyVmlzaWJsZSh3aW5k
b3dQcm9wZXJ0aWVzLCBtZW51QmFyVmlzaWJsZSk7CiB9CiAKLXN0YXRpYyBib29sIHN0YXR1c0Jh
cklzVmlzaWJsZShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCopCitzdGF0aWMgYm9vbCBzdGF0
dXNCYXJJc1Zpc2libGUoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7
Ci0gICAgV2ViS2l0V2luZG93UHJvcGVydGllcyogd2luZG93UHJvcGVydGllcyA9IHdlYmtpdF93
ZWJfdmlld19nZXRfd2luZG93X3Byb3BlcnRpZXMoV0VCS0lUX1dFQl9WSUVXKHRvSW1wbChwYWdl
KS0+dmlld1dpZGdldCgpKSk7CisgICAgV2ViS2l0V2luZG93UHJvcGVydGllcyogd2luZG93UHJv
cGVydGllcyA9IHdlYmtpdF93ZWJfdmlld19nZXRfd2luZG93X3Byb3BlcnRpZXMoV0VCS0lUX1dF
Ql9WSUVXKGNsaWVudEluZm8pKTsKICAgICByZXR1cm4gd2Via2l0X3dpbmRvd19wcm9wZXJ0aWVz
X2dldF9zdGF0dXNiYXJfdmlzaWJsZSh3aW5kb3dQcm9wZXJ0aWVzKTsKIH0KIAotc3RhdGljIHZv
aWQgc2V0U3RhdHVzQmFySXNWaXNpYmxlKFdLUGFnZVJlZiBwYWdlLCBib29sIHN0YXR1c0JhclZp
c2libGUsIGNvbnN0IHZvaWQqKQorc3RhdGljIHZvaWQgc2V0U3RhdHVzQmFySXNWaXNpYmxlKFdL
UGFnZVJlZiBwYWdlLCBib29sIHN0YXR1c0JhclZpc2libGUsIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pCiB7Ci0gICAgV2ViS2l0V2luZG93UHJvcGVydGllcyogd2luZG93UHJvcGVydGllcyA9IHdl
YmtpdF93ZWJfdmlld19nZXRfd2luZG93X3Byb3BlcnRpZXMoV0VCS0lUX1dFQl9WSUVXKHRvSW1w
bChwYWdlKS0+dmlld1dpZGdldCgpKSk7CisgICAgV2ViS2l0V2luZG93UHJvcGVydGllcyogd2lu
ZG93UHJvcGVydGllcyA9IHdlYmtpdF93ZWJfdmlld19nZXRfd2luZG93X3Byb3BlcnRpZXMoV0VC
S0lUX1dFQl9WSUVXKGNsaWVudEluZm8pKTsKICAgICB3ZWJraXRXaW5kb3dQcm9wZXJ0aWVzU2V0
U3RhdHVzYmFyVmlzaWJsZSh3aW5kb3dQcm9wZXJ0aWVzLCBzdGF0dXNCYXJWaXNpYmxlKTsKIH0K
IAotc3RhdGljIGJvb2wgaXNSZXNpemFibGUoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqKQor
c3RhdGljIGJvb2wgaXNSZXNpemFibGUoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVu
dEluZm8pCiB7Ci0gICAgV2ViS2l0V2luZG93UHJvcGVydGllcyogd2luZG93UHJvcGVydGllcyA9
IHdlYmtpdF93ZWJfdmlld19nZXRfd2luZG93X3Byb3BlcnRpZXMoV0VCS0lUX1dFQl9WSUVXKHRv
SW1wbChwYWdlKS0+dmlld1dpZGdldCgpKSk7CisgICAgV2ViS2l0V2luZG93UHJvcGVydGllcyog
d2luZG93UHJvcGVydGllcyA9IHdlYmtpdF93ZWJfdmlld19nZXRfd2luZG93X3Byb3BlcnRpZXMo
V0VCS0lUX1dFQl9WSUVXKGNsaWVudEluZm8pKTsKICAgICByZXR1cm4gd2Via2l0X3dpbmRvd19w
cm9wZXJ0aWVzX2dldF9yZXNpemFibGUod2luZG93UHJvcGVydGllcyk7CiB9CiAKLXN0YXRpYyB2
b2lkIHNldElzUmVzaXphYmxlKFdLUGFnZVJlZiBwYWdlLCBib29sIHJlc2l6YWJsZSwgY29uc3Qg
dm9pZCopCitzdGF0aWMgdm9pZCBzZXRJc1Jlc2l6YWJsZShXS1BhZ2VSZWYgcGFnZSwgYm9vbCBy
ZXNpemFibGUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7Ci0gICAgV2ViS2l0V2luZG93UHJv
cGVydGllcyogd2luZG93UHJvcGVydGllcyA9IHdlYmtpdF93ZWJfdmlld19nZXRfd2luZG93X3By
b3BlcnRpZXMoV0VCS0lUX1dFQl9WSUVXKHRvSW1wbChwYWdlKS0+dmlld1dpZGdldCgpKSk7Cisg
ICAgV2ViS2l0V2luZG93UHJvcGVydGllcyogd2luZG93UHJvcGVydGllcyA9IHdlYmtpdF93ZWJf
dmlld19nZXRfd2luZG93X3Byb3BlcnRpZXMoV0VCS0lUX1dFQl9WSUVXKGNsaWVudEluZm8pKTsK
ICAgICB3ZWJraXRXaW5kb3dQcm9wZXJ0aWVzU2V0UmVzaXphYmxlKHdpbmRvd1Byb3BlcnRpZXMs
IHJlc2l6YWJsZSk7CiB9CiAKLXN0YXRpYyBXS1JlY3QgZ2V0V2luZG93RnJhbWUoV0tQYWdlUmVm
IHBhZ2UsIGNvbnN0IHZvaWQqKQorc3RhdGljIFdLUmVjdCBnZXRXaW5kb3dGcmFtZShXS1BhZ2VS
ZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHsKICAgICBHZGtSZWN0YW5nbGUgZ2Vv
bWV0cnkgPSB7IDAsIDAsIDAsIDAgfTsKLSAgICBHdGtXaWRnZXQqIHdpbmRvdyA9IGd0a193aWRn
ZXRfZ2V0X3RvcGxldmVsKHRvSW1wbChwYWdlKS0+dmlld1dpZGdldCgpKTsKKyAgICBHdGtXaWRn
ZXQqIHdpbmRvdyA9IGd0a193aWRnZXRfZ2V0X3RvcGxldmVsKEdUS19XSURHRVQoY2xpZW50SW5m
bykpOwogICAgIGlmIChndGtfd2lkZ2V0X2lzX3RvcGxldmVsKHdpbmRvdykgJiYgZ3RrX3dpZGdl
dF9nZXRfdmlzaWJsZSh3aW5kb3cpKSB7CiAgICAgICAgIGd0a193aW5kb3dfZ2V0X3Bvc2l0aW9u
KEdUS19XSU5ET1cod2luZG93KSwgJmdlb21ldHJ5LngsICZnZW9tZXRyeS55KTsKICAgICAgICAg
Z3RrX3dpbmRvd19nZXRfc2l6ZShHVEtfV0lORE9XKHdpbmRvdyksICZnZW9tZXRyeS53aWR0aCwg
Jmdlb21ldHJ5LmhlaWdodCk7CkBAIC0xMTksMTggKzExOCwxOCBAQCBzdGF0aWMgV0tSZWN0IGdl
dFdpbmRvd0ZyYW1lKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKikKICAgICByZXR1cm4gV0tS
ZWN0TWFrZShnZW9tZXRyeS54LCBnZW9tZXRyeS55LCBnZW9tZXRyeS53aWR0aCwgZ2VvbWV0cnku
aGVpZ2h0KTsKIH0KIAotc3RhdGljIHZvaWQgc2V0V2luZG93RnJhbWUoV0tQYWdlUmVmIHBhZ2Us
IFdLUmVjdCBmcmFtZSwgY29uc3Qgdm9pZCopCitzdGF0aWMgdm9pZCBzZXRXaW5kb3dGcmFtZShX
S1BhZ2VSZWYgcGFnZSwgV0tSZWN0IGZyYW1lLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewot
ICAgIFdlYktpdFdpbmRvd1Byb3BlcnRpZXMqIHdpbmRvd1Byb3BlcnRpZXMgPSB3ZWJraXRfd2Vi
X3ZpZXdfZ2V0X3dpbmRvd19wcm9wZXJ0aWVzKFdFQktJVF9XRUJfVklFVyh0b0ltcGwocGFnZSkt
PnZpZXdXaWRnZXQoKSkpOworICAgIFdlYktpdFdpbmRvd1Byb3BlcnRpZXMqIHdpbmRvd1Byb3Bl
cnRpZXMgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3dpbmRvd19wcm9wZXJ0aWVzKFdFQktJVF9XRUJf
VklFVyhjbGllbnRJbmZvKSk7CiAgICAgR2RrUmVjdGFuZ2xlIGdlb21ldHJ5ID0geyBmcmFtZS5v
cmlnaW4ueCwgZnJhbWUub3JpZ2luLnksIGZyYW1lLnNpemUud2lkdGgsIGZyYW1lLnNpemUuaGVp
Z2h0IH07CiAgICAgd2Via2l0V2luZG93UHJvcGVydGllc1NldEdlb21ldHJ5KHdpbmRvd1Byb3Bl
cnRpZXMsICZnZW9tZXRyeSk7CiB9CiAKLXZvaWQgd2Via2l0VUlDbGllbnRBdHRhY2hVSUNsaWVu
dFRvUGFnZShXZWJLaXRVSUNsaWVudCogdWlDbGllbnQsIFdLUGFnZVJlZiB3a1BhZ2UpCit2b2lk
IGF0dGFjaFVJQ2xpZW50VG9WaWV3KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiB7CiAgICAgV0tQ
YWdlVUlDbGllbnQgd2tVSUNsaWVudCA9IHsKICAgICAgICAga1dLUGFnZVVJQ2xpZW50Q3VycmVu
dFZlcnNpb24sCi0gICAgICAgIHVpQ2xpZW50LCAvLyBjbGllbnRJbmZvCisgICAgICAgIHdlYlZp
ZXcsIC8vIGNsaWVudEluZm8KICAgICAgICAgMCwgLy8gY3JlYXRlTmV3UGFnZV9kZXByZWNhdGVk
Rm9yVXNlV2l0aFYwCiAgICAgICAgIHNob3dQYWdlLAogICAgICAgICBjbG9zZVBhZ2UsCkBAIC0x
NzQsMTMgKzE3Myw3IEBAIHZvaWQgd2Via2l0VUlDbGllbnRBdHRhY2hVSUNsaWVudFRvUGFnZShX
ZWJLaXRVSUNsaWVudCogdWlDbGllbnQsIFdLUGFnZVJlZiB3a1BhCiAgICAgICAgIDAsIC8vIG1v
dXNlRGlkTW92ZU92ZXJFbGVtZW50CiAgICAgICAgIDAsIC8vIGRlY2lkZVBvbGljeUZvck5vdGlm
aWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0CiAgICAgfTsKKyAgICBXS1BhZ2VSZWYgd2tQYWdlID0g
dG9BUEkod2Via2l0V2ViVmlld0Jhc2VHZXRQYWdlKFdFQktJVF9XRUJfVklFV19CQVNFKHdlYlZp
ZXcpKSk7CiAgICAgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KHdrUGFnZSwgJndrVUlDbGllbnQpOwog
fQogCi1zdGF0aWMgdm9pZCB3ZWJraXRfdWlfY2xpZW50X2luaXQoV2ViS2l0VUlDbGllbnQqIGNs
aWVudCkKLXsKLX0KLQotc3RhdGljIHZvaWQgd2Via2l0X3VpX2NsaWVudF9jbGFzc19pbml0KFdl
YktpdFVJQ2xpZW50Q2xhc3MqIGNsaWVudENsYXNzKQotewotfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VUlDbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVJQ2xpZW50LmgKaW5kZXggNDFlZjNlYy4uZTVh
MWEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
VUlDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRV
SUNsaWVudC5oCkBAIC0yMCwzMyArMjAsOCBAQAogI2lmbmRlZiBXZWJLaXRVSUNsaWVudF9oCiAj
ZGVmaW5lIFdlYktpdFVJQ2xpZW50X2gKIAotI2luY2x1ZGUgPFdlYktpdDIvV2ViS2l0Mi5oPgot
I2luY2x1ZGUgPGdsaWItb2JqZWN0Lmg+CisjaW5jbHVkZSAiV2ViS2l0V2ViVmlldy5oIgogCi1H
X0JFR0lOX0RFQ0xTCi0KLSNkZWZpbmUgV0VCS0lUX1RZUEVfVUlfQ0xJRU5UICAgICAgICAgICAg
KHdlYmtpdF91aV9jbGllbnRfZ2V0X3R5cGUoKSkKLSNkZWZpbmUgV0VCS0lUX1VJX0NMSUVOVChv
YmopICAgICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRf
VFlQRV9VSV9DTElFTlQsIFdlYktpdFVJQ2xpZW50KSkKLSNkZWZpbmUgV0VCS0lUX1VJX0NMSUVO
VF9DTEFTUyhrbGFzcykgICAgKEdfVFlQRV9DSEVDS19DTEFTU19DQVNUKChrbGFzcyksICBXRUJL
SVRfVFlQRV9VSV9DTElFTlQsIFdlYktpdFVJQ2xpZW50Q2xhc3MpKQotI2RlZmluZSBXRUJLSVRf
SVNfVUlfQ0xJRU5UKG9iaikgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNFX1RZUEUoKG9i
aiksIFdFQktJVF9UWVBFX1VJX0NMSUVOVCkpCi0jZGVmaW5lIFdFQktJVF9JU19VSV9DTElFTlRf
Q0xBU1Moa2xhc3MpIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX1RZ
UEVfVUlfQ0xJRU5UKSkKLSNkZWZpbmUgV0VCS0lUX1VJX0NMSUVOVF9HRVRfQ0xBU1Mob2JqKSAg
KEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiksICBXRUJLSVRfVFlQRV9VSV9DTElFTlQs
IFdlYktpdFVJQ2xpZW50Q2xhc3MpKQotCi10eXBlZGVmIHN0cnVjdCBfV2ViS2l0VUlDbGllbnQg
ICAgICBXZWJLaXRVSUNsaWVudDsKLXR5cGVkZWYgc3RydWN0IF9XZWJLaXRVSUNsaWVudENsYXNz
IFdlYktpdFVJQ2xpZW50Q2xhc3M7Ci0KLXN0cnVjdCBfV2ViS2l0VUlDbGllbnQgewotICAgIEdP
YmplY3QgcGFyZW50OwotfTsKLQotc3RydWN0IF9XZWJLaXRVSUNsaWVudENsYXNzIHsKLSAgICBH
T2JqZWN0Q2xhc3MgcGFyZW50X2NsYXNzOwotfTsKLQotR1R5cGUgd2Via2l0X3VpX2NsaWVudF9n
ZXRfdHlwZSAodm9pZCk7Ci0KLXZvaWQgd2Via2l0VUlDbGllbnRBdHRhY2hVSUNsaWVudFRvUGFn
ZShXZWJLaXRVSUNsaWVudCosIFdLUGFnZVJlZik7Ci0KLUdfRU5EX0RFQ0xTCit2b2lkIGF0dGFj
aFVJQ2xpZW50VG9WaWV3KFdlYktpdFdlYlZpZXcqKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViTG9hZGVyQ2xpZW50
LmNwcAppbmRleCBkMjc1NjBmLi4zOGY2ZjExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkxvYWRlckNsaWVudC5jcHAKQEAgLTIy
LDYgKzIyLDcgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJMb2FkZXJDbGllbnQuaCIKIAogI2luY2x1
ZGUgIldlYktpdEJhY2tGb3J3YXJkTGlzdFByaXZhdGUuaCIKKyNpbmNsdWRlICJXZWJLaXRXZWJW
aWV3QmFzZVByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3UHJpdmF0ZS5oIgogI2lu
Y2x1ZGUgPHd0Zi9nb2JqZWN0L0dPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5n
Lmg+CkBAIC0yOSwxNCArMzAsMTIgQEAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIAotR19ERUZJTkVfVFlQRShXZWJLaXRXZWJMb2FkZXJDbGllbnQs
IHdlYmtpdF93ZWJfbG9hZGVyX2NsaWVudCwgR19UWVBFX09CSkVDVCkKLQogc3RhdGljIHZvaWQg
ZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJl
ZiBmcmFtZSwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewog
ICAgIGlmICghV0tGcmFtZUlzTWFpbkZyYW1lKGZyYW1lKSkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgd2Via2l0V2ViVmlld0xvYWRDaGFuZ2VkKFdFQktJVF9XRUJfVklFVyh0b0ltcGwocGFnZSkt
PnZpZXdXaWRnZXQoKSksIFdFQktJVF9MT0FEX1NUQVJURUQpOworICAgIHdlYmtpdFdlYlZpZXdM
b2FkQ2hhbmdlZChXRUJLSVRfV0VCX1ZJRVcoY2xpZW50SW5mbyksIFdFQktJVF9MT0FEX1NUQVJU
RUQpOwogfQogCiBzdGF0aWMgdm9pZCBkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNp
b25hbExvYWRGb3JGcmFtZShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwgV0tUeXBl
UmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQpAQCAtNDQsNyArNDMsNyBAQCBz
dGF0aWMgdm9pZCBkaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JG
cmFtZShXS1BhZ2VSZWYgcGFnZSwgVwogICAgIGlmICghV0tGcmFtZUlzTWFpbkZyYW1lKGZyYW1l
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgd2Via2l0V2ViVmlld0xvYWRDaGFuZ2VkKFdFQktJ
VF9XRUJfVklFVyh0b0ltcGwocGFnZSktPnZpZXdXaWRnZXQoKSksIFdFQktJVF9MT0FEX1JFRElS
RUNURUQpOworICAgIHdlYmtpdFdlYlZpZXdMb2FkQ2hhbmdlZChXRUJLSVRfV0VCX1ZJRVcoY2xp
ZW50SW5mbyksIFdFQktJVF9MT0FEX1JFRElSRUNURUQpOwogfQogCiBzdGF0aWMgdm9pZCBkaWRG
YWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLRnJh
bWVSZWYgZnJhbWUsIFdLRXJyb3JSZWYgZXJyb3IsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qg
dm9pZCogY2xpZW50SW5mbykKQEAgLTU2LDcgKzU1LDcgQEAgc3RhdGljIHZvaWQgZGlkRmFpbFBy
b3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVm
IGYKICAgICBHT3duUHRyPEdFcnJvcj4gd2ViRXJyb3IoZ19lcnJvcl9uZXdfbGl0ZXJhbChnX3F1
YXJrX2Zyb21fc3RyaW5nKHJlc291cmNlRXJyb3IuZG9tYWluKCkudXRmOCgpLmRhdGEoKSksCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VF
cnJvci5lcnJvckNvZGUoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXNvdXJjZUVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCkudXRmOCgpLmRh
dGEoKSkpOwotICAgIHdlYmtpdFdlYlZpZXdMb2FkRmFpbGVkKFdFQktJVF9XRUJfVklFVyh0b0lt
cGwocGFnZSktPnZpZXdXaWRnZXQoKSksIFdFQktJVF9MT0FEX1NUQVJURUQsCisgICAgd2Via2l0
V2ViVmlld0xvYWRGYWlsZWQoV0VCS0lUX1dFQl9WSUVXKGNsaWVudEluZm8pLCBXRUJLSVRfTE9B
RF9TVEFSVEVELAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlRXJyb3IuZmFp
bGluZ1VSTCgpLnV0ZjgoKS5kYXRhKCksIHdlYkVycm9yLmdldCgpKTsKIH0KIApAQCAtNjUsNyAr
NjQsNyBAQCBzdGF0aWMgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2Us
IFdLRnJhbWVSZWYgZnJhbWUsIFdLVHlwZVJlZiB1cwogICAgIGlmICghV0tGcmFtZUlzTWFpbkZy
YW1lKGZyYW1lKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgd2Via2l0V2ViVmlld0xvYWRDaGFu
Z2VkKFdFQktJVF9XRUJfVklFVyh0b0ltcGwocGFnZSktPnZpZXdXaWRnZXQoKSksIFdFQktJVF9M
T0FEX0NPTU1JVFRFRCk7CisgICAgd2Via2l0V2ViVmlld0xvYWRDaGFuZ2VkKFdFQktJVF9XRUJf
VklFVyhjbGllbnRJbmZvKSwgV0VCS0lUX0xPQURfQ09NTUlUVEVEKTsKIH0KIAogc3RhdGljIHZv
aWQgZGlkRmluaXNoTG9hZEZvckZyYW1lKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1l
LCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCkBAIC03Myw3ICs3
Miw3IEBAIHN0YXRpYyB2b2lkIGRpZEZpbmlzaExvYWRGb3JGcmFtZShXS1BhZ2VSZWYgcGFnZSwg
V0tGcmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmIHVzCiAgICAgaWYgKCFXS0ZyYW1lSXNNYWluRnJh
bWUoZnJhbWUpKQogICAgICAgICByZXR1cm47CiAKLSAgICB3ZWJraXRXZWJWaWV3TG9hZENoYW5n
ZWQoV0VCS0lUX1dFQl9WSUVXKHRvSW1wbChwYWdlKS0+dmlld1dpZGdldCgpKSwgV0VCS0lUX0xP
QURfRklOSVNIRUQpOworICAgIHdlYmtpdFdlYlZpZXdMb2FkQ2hhbmdlZChXRUJLSVRfV0VCX1ZJ
RVcoY2xpZW50SW5mbyksIFdFQktJVF9MT0FEX0ZJTklTSEVEKTsKIH0KIAogc3RhdGljIHZvaWQg
ZGlkRmFpbExvYWRXaXRoRXJyb3JGb3JGcmFtZShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBm
cmFtZSwgV0tFcnJvclJlZiBlcnJvciwgV0tUeXBlUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KQpAQCAtODUsNDMgKzg0LDQxIEBAIHN0YXRpYyB2b2lkIGRpZEZhaWxMb2FkV2l0aEVycm9yRm9y
RnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIFdLRXJyCiAgICAgR093blB0
cjxHRXJyb3I+IHdlYkVycm9yKGdfZXJyb3JfbmV3X2xpdGVyYWwoZ19xdWFya19mcm9tX3N0cmlu
ZyhyZXNvdXJjZUVycm9yLmRvbWFpbigpLnV0ZjgoKS5kYXRhKCkpLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlRXJyb3IuZXJyb3JDb2Rl
KCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVz
b3VyY2VFcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpLnV0ZjgoKS5kYXRhKCkpKTsKLSAgICB3
ZWJraXRXZWJWaWV3TG9hZEZhaWxlZChXRUJLSVRfV0VCX1ZJRVcodG9JbXBsKHBhZ2UpLT52aWV3
V2lkZ2V0KCkpLCBXRUJLSVRfTE9BRF9DT01NSVRURUQsCisgICAgd2Via2l0V2ViVmlld0xvYWRG
YWlsZWQoV0VCS0lUX1dFQl9WSUVXKGNsaWVudEluZm8pLCBXRUJLSVRfTE9BRF9DT01NSVRURUQs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2VFcnJvci5mYWlsaW5nVVJMKCku
dXRmOCgpLmRhdGEoKSwgd2ViRXJyb3IuZ2V0KCkpOwogfQogCi1zdGF0aWMgdm9pZCBkaWRTYW1l
RG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJh
bWUsIFdLU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUsIFdLVHlwZVJlZiwgY29uc3Qgdm9pZCop
CitzdGF0aWMgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUoV0tQYWdlUmVm
IHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIFdLU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUsIFdL
VHlwZVJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHsKICAgICBpZiAoIVdLRnJhbWVJc01h
aW5GcmFtZShmcmFtZSkpCiAgICAgICAgIHJldHVybjsKIAotICAgIHdlYmtpdFdlYlZpZXdVcGRh
dGVVUkkoV0VCS0lUX1dFQl9WSUVXKHRvSW1wbChwYWdlKS0+dmlld1dpZGdldCgpKSk7CisgICAg
d2Via2l0V2ViVmlld1VwZGF0ZVVSSShXRUJLSVRfV0VCX1ZJRVcoY2xpZW50SW5mbykpOwogfQog
Ci1zdGF0aWMgdm9pZCBkaWRSZWNlaXZlVGl0bGVGb3JGcmFtZShXS1BhZ2VSZWYgcGFnZSwgV0tT
dHJpbmdSZWYgdGl0bGVSZWYsIFdLRnJhbWVSZWYgZnJhbWVSZWYsIFdLVHlwZVJlZiwgY29uc3Qg
dm9pZCopCitzdGF0aWMgdm9pZCBkaWRSZWNlaXZlVGl0bGVGb3JGcmFtZShXS1BhZ2VSZWYgcGFn
ZSwgV0tTdHJpbmdSZWYgdGl0bGVSZWYsIFdLRnJhbWVSZWYgZnJhbWVSZWYsIFdLVHlwZVJlZiwg
Y29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHsKICAgICBpZiAoIVdLRnJhbWVJc01haW5GcmFtZShm
cmFtZVJlZikpCiAgICAgICAgIHJldHVybjsKIAotICAgIHdlYmtpdFdlYlZpZXdTZXRUaXRsZShX
RUJLSVRfV0VCX1ZJRVcodG9JbXBsKHBhZ2UpLT52aWV3V2lkZ2V0KCkpLCB0b0ltcGwodGl0bGVS
ZWYpLT5zdHJpbmcoKS51dGY4KCkpOworICAgIHdlYmtpdFdlYlZpZXdTZXRUaXRsZShXRUJLSVRf
V0VCX1ZJRVcoY2xpZW50SW5mbyksIHRvSW1wbCh0aXRsZVJlZiktPnN0cmluZygpLnV0ZjgoKSk7
CiB9CiAKIHN0YXRpYyB2b2lkIGRpZENoYW5nZVByb2dyZXNzKFdLUGFnZVJlZiBwYWdlLCBjb25z
dCB2b2lkKiBjbGllbnRJbmZvKQogewotICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSBXRUJL
SVRfV0VCX1ZJRVcodG9JbXBsKHBhZ2UpLT52aWV3V2lkZ2V0KCkpOwotICAgIHdlYmtpdFdlYlZp
ZXdTZXRFc3RpbWF0ZWRMb2FkUHJvZ3Jlc3Mod2ViVmlldywgV0tQYWdlR2V0RXN0aW1hdGVkUHJv
Z3Jlc3MocGFnZSkpOworICAgIHdlYmtpdFdlYlZpZXdTZXRFc3RpbWF0ZWRMb2FkUHJvZ3Jlc3Mo
V0VCS0lUX1dFQl9WSUVXKGNsaWVudEluZm8pLCBXS1BhZ2VHZXRFc3RpbWF0ZWRQcm9ncmVzcyhw
YWdlKSk7CiB9CiAKIHN0YXRpYyB2b2lkIGRpZENoYW5nZUJhY2tGb3J3YXJkTGlzdChXS1BhZ2VS
ZWYgcGFnZSwgV0tCYWNrRm9yd2FyZExpc3RJdGVtUmVmIGFkZGVkSXRlbSwgV0tBcnJheVJlZiBy
ZW1vdmVkSXRlbXMsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7Ci0gICAgV2ViS2l0V2ViVmll
dyogd2ViVmlldyA9IFdFQktJVF9XRUJfVklFVyh0b0ltcGwocGFnZSktPnZpZXdXaWRnZXQoKSk7
Ci0gICAgd2Via2l0QmFja0ZvcndhcmRMaXN0Q2hhbmdlZCh3ZWJraXRfd2ViX3ZpZXdfZ2V0X2Jh
Y2tfZm9yd2FyZF9saXN0KHdlYlZpZXcpLCBhZGRlZEl0ZW0sIHJlbW92ZWRJdGVtcyk7CisgICAg
d2Via2l0QmFja0ZvcndhcmRMaXN0Q2hhbmdlZCh3ZWJraXRfd2ViX3ZpZXdfZ2V0X2JhY2tfZm9y
d2FyZF9saXN0KFdFQktJVF9XRUJfVklFVyhjbGllbnRJbmZvKSksIGFkZGVkSXRlbSwgcmVtb3Zl
ZEl0ZW1zKTsKIH0KIAotdm9pZCB3ZWJraXRXZWJMb2FkZXJDbGllbnRBdHRhY2hMb2FkZXJDbGll
bnRUb1BhZ2UoV2ViS2l0V2ViTG9hZGVyQ2xpZW50KiBsb2FkZXJDbGllbnQsIFdLUGFnZVJlZiB3
a1BhZ2UpCit2b2lkIGF0dGFjaExvYWRlckNsaWVudFRvVmlldyhXZWJLaXRXZWJWaWV3KiB3ZWJW
aWV3KQogewogICAgIFdLUGFnZUxvYWRlckNsaWVudCB3a0xvYWRlckNsaWVudCA9IHsKICAgICAg
ICAga1dLUGFnZUxvYWRlckNsaWVudEN1cnJlbnRWZXJzaW9uLAotICAgICAgICBsb2FkZXJDbGll
bnQsIC8vIGNsaWVudEluZm8KKyAgICAgICAgd2ViVmlldywgLy8gY2xpZW50SW5mbwogICAgICAg
ICBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lLAogICAgICAgICBkaWRSZWNlaXZlU2Vy
dmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JGcmFtZSwKICAgICAgICAgZGlkRmFpbFBy
b3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lLApAQCAtMTQ5LDEzICsxNDYsNyBAQCB2b2lk
IHdlYmtpdFdlYkxvYWRlckNsaWVudEF0dGFjaExvYWRlckNsaWVudFRvUGFnZShXZWJLaXRXZWJM
b2FkZXJDbGllbnQqIGxvYWRlcgogICAgICAgICAwLCAvLyBkaWRGYWlsVG9Jbml0aWFsaXplUGx1
Z2luCiAgICAgICAgIDAgLy8gZGlkRGV0ZWN0WFNTRm9yRnJhbWUKICAgICB9OworICAgIFdLUGFn
ZVJlZiB3a1BhZ2UgPSB0b0FQSSh3ZWJraXRXZWJWaWV3QmFzZUdldFBhZ2UoV0VCS0lUX1dFQl9W
SUVXX0JBU0Uod2ViVmlldykpKTsKICAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHdrUGFn
ZSwgJndrTG9hZGVyQ2xpZW50KTsKIH0KIAotc3RhdGljIHZvaWQgd2Via2l0X3dlYl9sb2FkZXJf
Y2xpZW50X2luaXQoV2ViS2l0V2ViTG9hZGVyQ2xpZW50KikKLXsKLX0KLQotc3RhdGljIHZvaWQg
d2Via2l0X3dlYl9sb2FkZXJfY2xpZW50X2NsYXNzX2luaXQoV2ViS2l0V2ViTG9hZGVyQ2xpZW50
Q2xhc3MqKQotewotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0V2ViTG9hZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRXZWJMb2FkZXJDbGllbnQuaAppbmRleCBjNjA0NGJjLi5kZmViOWQ2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJMb2FkZXJD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJM
b2FkZXJDbGllbnQuaApAQCAtMjAsMzIgKzIwLDggQEAKICNpZm5kZWYgV2ViS2l0V2ViTG9hZGVy
Q2xpZW50X2gKICNkZWZpbmUgV2ViS2l0V2ViTG9hZGVyQ2xpZW50X2gKIAotI2luY2x1ZGUgPGds
aWItb2JqZWN0Lmg+Ci0jaW5jbHVkZSA8V2ViS2l0Mi9XZWJLaXQyLmg+CisjaW5jbHVkZSAiV2Vi
S2l0V2ViVmlldy5oIgogCi1HX0JFR0lOX0RFQ0xTCi0KLSNkZWZpbmUgV0VCS0lUX1RZUEVfV0VC
X0xPQURFUl9DTElFTlQgICAgICAgICAgICAod2Via2l0X3dlYl9sb2FkZXJfY2xpZW50X2dldF90
eXBlKCkpCi0jZGVmaW5lIFdFQktJVF9XRUJfTE9BREVSX0NMSUVOVChvYmopICAgICAgICAgICAg
KEdfVFlQRV9DSEVDS19JTlNUQU5DRV9DQVNUKChvYmopLCBXRUJLSVRfVFlQRV9XRUJfTE9BREVS
X0NMSUVOVCwgV2ViS2l0V2ViTG9hZGVyQ2xpZW50KSkKLSNkZWZpbmUgV0VCS0lUX1dFQl9MT0FE
RVJfQ0xJRU5UX0NMQVNTKGtsYXNzKSAgICAoR19UWVBFX0NIRUNLX0NMQVNTX0NBU1QoKGtsYXNz
KSwgIFdFQktJVF9UWVBFX1dFQl9MT0FERVJfQ0xJRU5ULCBXZWJLaXRXZWJMb2FkZXJDbGllbnRD
bGFzcykpCi0jZGVmaW5lIFdFQktJVF9JU19XRUJfTE9BREVSX0NMSUVOVChvYmopICAgICAgICAg
KEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChvYmopLCBXRUJLSVRfVFlQRV9XRUJfTE9BREVS
X0NMSUVOVCkpCi0jZGVmaW5lIFdFQktJVF9JU19XRUJfTE9BREVSX0NMSUVOVF9DTEFTUyhrbGFz
cykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfVFlQRV9XRUJfTE9B
REVSX0NMSUVOVCkpCi0jZGVmaW5lIFdFQktJVF9XRUJfTE9BREVSX0NMSUVOVF9HRVRfQ0xBU1Mo
b2JqKSAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiksICBXRUJLSVRfVFlQRV9XRUJf
TE9BREVSX0NMSUVOVCwgV2ViS2l0V2ViTG9hZGVyQ2xpZW50Q2xhc3MpKQotCi10eXBlZGVmIHN0
cnVjdCBfV2ViS2l0V2ViTG9hZGVyQ2xpZW50ICAgICAgV2ViS2l0V2ViTG9hZGVyQ2xpZW50Owot
dHlwZWRlZiBzdHJ1Y3QgX1dlYktpdFdlYkxvYWRlckNsaWVudENsYXNzIFdlYktpdFdlYkxvYWRl
ckNsaWVudENsYXNzOwotCi1zdHJ1Y3QgX1dlYktpdFdlYkxvYWRlckNsaWVudCB7Ci0gICAgR09i
amVjdCBwYXJlbnQ7Ci19OwotCi1zdHJ1Y3QgX1dlYktpdFdlYkxvYWRlckNsaWVudENsYXNzIHsK
LSAgICBHT2JqZWN0Q2xhc3MgcGFyZW50Q2xhc3M7Ci19OwotCi1HVHlwZSB3ZWJraXRfd2ViX2xv
YWRlcl9jbGllbnRfZ2V0X3R5cGUgKHZvaWQpOwotdm9pZCB3ZWJraXRXZWJMb2FkZXJDbGllbnRB
dHRhY2hMb2FkZXJDbGllbnRUb1BhZ2UoV2ViS2l0V2ViTG9hZGVyQ2xpZW50KiwgV0tQYWdlUmVm
KTsKLQotR19FTkRfREVDTFMKK3ZvaWQgYXR0YWNoTG9hZGVyQ2xpZW50VG9WaWV3KFdlYktpdFdl
YlZpZXcqKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFdlYlZpZXcuY3BwCmluZGV4IGNmOWM3ODUuLjNhMDc2NTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwCkBAIC03
Niw4ICs3Niw2IEBAIHN0cnVjdCBfV2ViS2l0V2ViVmlld1ByaXZhdGUgewogICAgIENTdHJpbmcg
YWN0aXZlVVJJOwogICAgIGJvb2wgcmVwbGFjaW5nQ29udGVudDsKIAotICAgIEdSZWZQdHI8V2Vi
S2l0V2ViTG9hZGVyQ2xpZW50PiBsb2FkZXJDbGllbnQ7Ci0gICAgR1JlZlB0cjxXZWJLaXRVSUNs
aWVudD4gdWlDbGllbnQ7CiAgICAgR1JlZlB0cjxXZWJLaXRCYWNrRm9yd2FyZExpc3Q+IGJhY2tG
b3J3YXJkTGlzdDsKICAgICBHUmVmUHRyPFdlYktpdFNldHRpbmdzPiBzZXR0aW5nczsKICAgICBH
UmVmUHRyPFdlYktpdFdpbmRvd1Byb3BlcnRpZXM+IHdpbmRvd1Byb3BlcnRpZXM7CkBAIC0xNDYs
MTIgKzE0NCw2IEBAIHN0YXRpYyBnYm9vbGVhbiB3ZWJraXRXZWJWaWV3U2NyaXB0UHJvbXB0KFdl
YktpdFdlYlZpZXcqIHdlYlZpZXcsIGNvbnN0IGNoYXIqIG1lCiAgICAgcmV0dXJuIFRSVUU7CiB9
CiAKLXN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdTZXRMb2FkZXJDbGllbnQoV2ViS2l0V2ViVmll
dyogd2ViVmlldywgV2ViS2l0V2ViTG9hZGVyQ2xpZW50KiBsb2FkZXJDbGllbnQsIFdLUGFnZVJl
ZiB3a1BhZ2UpCi17Ci0gICAgd2ViVmlldy0+cHJpdi0+bG9hZGVyQ2xpZW50ID0gbG9hZGVyQ2xp
ZW50OwotICAgIHdlYmtpdFdlYkxvYWRlckNsaWVudEF0dGFjaExvYWRlckNsaWVudFRvUGFnZShs
b2FkZXJDbGllbnQsIHdrUGFnZSk7Ci19Ci0KIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdDb25z
dHJ1Y3RlZChHT2JqZWN0KiBvYmplY3QpCiB7CiAgICAgaWYgKEdfT0JKRUNUX0NMQVNTKHdlYmtp
dF93ZWJfdmlld19wYXJlbnRfY2xhc3MpLT5jb25zdHJ1Y3RlZCkKQEAgLTE2MywxNSArMTU1LDEw
IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdDb25zdHJ1Y3RlZChHT2JqZWN0KiBvYmplY3Qp
CiAKICAgICB3ZWJraXRXZWJWaWV3QmFzZUNyZWF0ZVdlYlBhZ2Uod2ViVmlld0Jhc2UsIHdlYmtp
dFdlYkNvbnRleHRHZXRXS0NvbnRleHQocHJpdi0+Y29udGV4dCksIDApOwogCi0gICAgV2ViUGFn
ZVByb3h5KiBwYWdlID0gd2Via2l0V2ViVmlld0Jhc2VHZXRQYWdlKHdlYlZpZXdCYXNlKTsKLQot
ICAgIHN0YXRpYyBHUmVmUHRyPFdlYktpdFdlYkxvYWRlckNsaWVudD4gZGVmYXVsdExvYWRlckNs
aWVudCA9IGFkb3B0R1JlZihXRUJLSVRfV0VCX0xPQURFUl9DTElFTlQoZ19vYmplY3RfbmV3KFdF
QktJVF9UWVBFX1dFQl9MT0FERVJfQ0xJRU5ULCBOVUxMKSkpOwotICAgIHdlYmtpdFdlYlZpZXdT
ZXRMb2FkZXJDbGllbnQod2ViVmlldywgZGVmYXVsdExvYWRlckNsaWVudC5nZXQoKSwgdG9BUEko
cGFnZSkpOwotCi0gICAgc3RhdGljIEdSZWZQdHI8V2ViS2l0VUlDbGllbnQ+IGRlZmF1bHRVSUNs
aWVudCA9IGFkb3B0R1JlZihXRUJLSVRfVUlfQ0xJRU5UKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQ
RV9VSV9DTElFTlQsIE5VTEwpKSk7Ci0gICAgcHJpdi0+dWlDbGllbnQgPSBkZWZhdWx0VUlDbGll
bnQuZ2V0KCk7Ci0gICAgd2Via2l0VUlDbGllbnRBdHRhY2hVSUNsaWVudFRvUGFnZShwcml2LT51
aUNsaWVudC5nZXQoKSwgdG9BUEkocGFnZSkpOworICAgIGF0dGFjaExvYWRlckNsaWVudFRvVmll
dyh3ZWJWaWV3KTsKKyAgICBhdHRhY2hVSUNsaWVudFRvVmlldyh3ZWJWaWV3KTsKIAorICAgIFdl
YlBhZ2VQcm94eSogcGFnZSA9IHdlYmtpdFdlYlZpZXdCYXNlR2V0UGFnZSh3ZWJWaWV3QmFzZSk7
CiAgICAgcHJpdi0+YmFja0ZvcndhcmRMaXN0ID0gYWRvcHRHUmVmKHdlYmtpdEJhY2tGb3J3YXJk
TGlzdENyZWF0ZShXS1BhZ2VHZXRCYWNrRm9yd2FyZExpc3QodG9BUEkocGFnZSkpKSk7CiAgICAg
cHJpdi0+c2V0dGluZ3MgPSBhZG9wdEdSZWYod2Via2l0X3NldHRpbmdzX25ldygpKTsKICAgICB3
ZWJraXRTZXR0aW5nc0F0dGFjaFNldHRpbmdzVG9QYWdlKHByaXYtPnNldHRpbmdzLmdldCgpLCB0
b0FQSShwYWdlKSk7Cg==
</data>
<flag name="review"
          id="124803"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>