<?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>72928</bug_id>
          
          <creation_ts>2011-11-21 23:42:17 -0800</creation_ts>
          <short_desc>[Qt] [WK2] Move PageLoadClient related code to QtWebPageLoadClient</short_desc>
          <delta_ts>2011-11-22 05:39:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>72910</dependson>
          <blocked>72943</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Caio Marcelo de Oliveira Filho">cmarcelo</reporter>
          <assigned_to name="Caio Marcelo de Oliveira Filho">cmarcelo</assigned_to>
          <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>507425</commentid>
    <comment_count>0</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-11-21 23:42:17 -0800</bug_when>
    <thetext>[Qt] [WK2] Move PageLoadClient related code to QtWebPageLoadClient</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507428</commentid>
    <comment_count>1</comment_count>
      <attachid>116184</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-11-21 23:52:02 -0800</bug_when>
    <thetext>Created attachment 116184
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507429</commentid>
    <comment_count>2</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-11-21 23:58:12 -0800</bug_when>
    <thetext>This patch was made on top of bug 72910 patch, so it doesn&apos;t apply yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507504</commentid>
    <comment_count>3</comment_count>
      <attachid>116184</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-11-22 04:12:15 -0800</bug_when>
    <thetext>Comment on attachment 116184
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>507542</commentid>
    <comment_count>4</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-11-22 05:39:27 -0800</bug_when>
    <thetext>Committed r100992: &lt;http://trac.webkit.org/changeset/100992&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116184</attachid>
            <date>2011-11-21 23:52:02 -0800</date>
            <delta_ts>2011-11-22 04:12:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-72928-20111122045159.patch</filename>
            <type>text/plain</type>
            <size>28344</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwOTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggM2NmYzJjNDMwYzk5NDE5
YzY0ZDFkNDZjZDBkZGJkZmJiYjkxMjA0Yy4uMGM4OWU1Nzg0NTk2ZDM5ZDE2ZmI4YTAyOTc3ZTY0
ZjQ3NjU1NTk5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ5IEBACiAyMDExLTExLTIxICBDYWlv
IE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+
CiAKKyAgICAgICAgW1F0XSBbV0syXSBNb3ZlIFBhZ2VMb2FkQ2xpZW50IHJlbGF0ZWQgY29kZSB0
byBRdFdlYlBhZ2VMb2FkQ2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03MjkyOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFNwbGl0IFBhZ2VMb2FkQ2xpZW50IHJlbGF0ZWQgY29kZSBmcm9tIFF0V2Vi
UGFnZVByb3h5L0NsaWVudEltcGwuIFRoZSBuZXcKKyAgICAgICAgUXRXZWJQYWdlTG9hZENsaWVu
dCByZWdpc3RlcnMgaXRzZWxmIHdpdGggV0tQYWdlUmVmIGFuZCBpdCdzIG93bmVkIGJ5IHRoZQor
ICAgICAgICBRUXVpY2tXZWJWaWV3UHJpdmF0ZS4gVGhpcyBpcyBhIG1vdmUgdG8gY2xlYW4gdXAg
UXRXZWJQYWdlUHJveHkgb2JqZWN0LgorCisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwOgorICAgICAgICAoUVF1aWNrV2Vi
Vmlld1ByaXZhdGU6OlFRdWlja1dlYlZpZXdQcml2YXRlKToKKyAgICAgICAgKFFRdWlja1dlYlZp
ZXc6OmxvYWRQcm9ncmVzcyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2
aWV3X3AuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmg6
CisgICAgICAgICogVUlQcm9jZXNzL3F0L0NsaWVudEltcGwuY3BwOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9xdC9DbGllbnRJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0V2ViUGFnZUxv
YWRDbGllbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFF0V2ViUGFnZUxvYWRDbGllbnQ6OlF0V2Vi
UGFnZUxvYWRDbGllbnQpOgorICAgICAgICAoUXRXZWJQYWdlTG9hZENsaWVudDo6ZGlkU3RhcnRQ
cm92aXNpb25hbExvYWRGb3JGcmFtZSk6CisgICAgICAgIChRdFdlYlBhZ2VMb2FkQ2xpZW50Ojpk
aWRDb21taXRMb2FkRm9yRnJhbWUpOgorICAgICAgICAoUXRXZWJQYWdlTG9hZENsaWVudDo6ZGlk
U2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lKToKKyAgICAgICAgKFF0V2ViUGFnZUxvYWRD
bGllbnQ6OmRpZFJlY2VpdmVUaXRsZUZvckZyYW1lKToKKyAgICAgICAgKFF0V2ViUGFnZUxvYWRD
bGllbnQ6OmRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckZyYW1lKToKKyAgICAgICAg
KFF0V2ViUGFnZUxvYWRDbGllbnQ6OmRpc3BhdGNoTG9hZFN1Y2NlZWRlZCk6CisgICAgICAgIChR
dFdlYlBhZ2VMb2FkQ2xpZW50OjpkaXNwYXRjaExvYWRGYWlsZWQpOgorICAgICAgICAoUXRXZWJQ
YWdlTG9hZENsaWVudDo6c2V0TG9hZFByb2dyZXNzKToKKyAgICAgICAgKHRvUXRXZWJQYWdlTG9h
ZENsaWVudCk6CisgICAgICAgIChRdFdlYlBhZ2VMb2FkQ2xpZW50OjpkaWRGYWlsUHJvdmlzaW9u
YWxMb2FkV2l0aEVycm9yRm9yRnJhbWUpOgorICAgICAgICAoUXRXZWJQYWdlTG9hZENsaWVudDo6
ZGlkRmluaXNoTG9hZEZvckZyYW1lKToKKyAgICAgICAgKFF0V2ViUGFnZUxvYWRDbGllbnQ6OmRp
ZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWUpOgorICAgICAgICAoUXRXZWJQYWdlTG9hZENsaWVu
dDo6ZGlkU3RhcnRQcm9ncmVzcyk6CisgICAgICAgIChRdFdlYlBhZ2VMb2FkQ2xpZW50OjpkaWRD
aGFuZ2VQcm9ncmVzcyk6CisgICAgICAgIChRdFdlYlBhZ2VMb2FkQ2xpZW50OjpkaWRGaW5pc2hQ
cm9ncmVzcyk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0V2ViUGFnZUxvYWRDbGllbnQuaDog
QWRkZWQuCisgICAgICAgIChRdFdlYlBhZ2VMb2FkQ2xpZW50Ojpsb2FkUHJvZ3Jlc3MpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChRdFdlYlBh
Z2VQcm94eTo6UXRXZWJQYWdlUHJveHkpOgorICAgICAgICAoUXRXZWJQYWdlUHJveHk6OmluaXQp
OgorICAgICAgICAoUXRXZWJQYWdlUHJveHk6OnVwZGF0ZU5hdmlnYXRpb25TdGF0ZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVByb3h5Lmg6CisKKzIwMTEtMTEtMjEgIENhaW8g
TWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4K
KwogICAgICAgICBbUXRdIFtXSzJdIE1vdmUgUGFnZVVJQ2xpZW50IHJlbGF0ZWQgY29kZSB0byBR
dFdlYlBhZ2VVSUNsaWVudAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzI5MTAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaSBi
L1NvdXJjZS9XZWJLaXQyL1RhcmdldC5wcmkKaW5kZXggOTM1ZDljNTdjZWY1ZmI2NjIwNmRhNTZl
ZmM0NTk3NzRmNmJlOGYyNS4uYTU1MmQ1NWQ4ZGZhYTVjMmExZjVhMGMyMzBkZjUzZjUzNzA5NzFk
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9UYXJnZXQucHJpCkBAIC0zMjIsNiArMzIyLDcgQEAgSEVBREVSUyArPSBcCiAgICAgVUlQ
cm9jZXNzL3F0L1F0V2ViRXJyb3IuaCBcCiAgICAgVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVy
LmggXAogICAgIFVJUHJvY2Vzcy9xdC9RdERvd25sb2FkTWFuYWdlci5oIFwKKyAgICBVSVByb2Nl
c3MvcXQvUXRXZWJQYWdlTG9hZENsaWVudC5oIFwKICAgICBVSVByb2Nlc3MvcXQvUXRXZWJQYWdl
UHJveHkuaCBcCiAgICAgVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVVJQ2xpZW50LmggXAogICAgIFVJ
UHJvY2Vzcy9xdC9xd2toaXN0b3J5LmggXApAQCAtNjI4LDYgKzYyOSw3IEBAIFNPVVJDRVMgKz0g
XAogICAgIFVJUHJvY2Vzcy9xdC9RdFdlYkVycm9yLmNwcCBcCiAgICAgVUlQcm9jZXNzL3F0L1F0
RGlhbG9nUnVubmVyLmNwcCBcCiAgICAgVUlQcm9jZXNzL3F0L1F0RG93bmxvYWRNYW5hZ2VyLmNw
cCBcCisgICAgVUlQcm9jZXNzL3F0L1F0V2ViUGFnZUxvYWRDbGllbnQuY3BwIFwKICAgICBVSVBy
b2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuY3BwIFwKICAgICBVSVByb2Nlc3MvcXQvUXRXZWJQYWdl
VUlDbGllbnQuY3BwIFwKICAgICBVSVByb2Nlc3MvcXQvcXdraGlzdG9yeS5jcHAgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKaW5kZXgg
YTZmNGZiN2RiZGFhN2E3MDdjMTVhZDllYjllMGY1NTU2NDFlZWI2MC4uNGIyZjJmM2NjM2Q5NGQ0
OTNjMjcxMmJkMzVjYjE0YmU2NTc0NTRmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCkBAIC01Nyw5ICs1Nyw4IEBAIFFRdWlja1dl
YlZpZXdQcml2YXRlOjpRUXVpY2tXZWJWaWV3UHJpdmF0ZShRUXVpY2tXZWJWaWV3KiB2aWV3cG9y
dCwgV0tDb250ZXh0UmVmCiAgICAgUVdlYlByZWZlcmVuY2VzUHJpdmF0ZTo6Z2V0KHBhZ2VQcm94
eS0+cHJlZmVyZW5jZXMoKSktPnNldEF0dHJpYnV0ZShRV2ViUHJlZmVyZW5jZXNQcml2YXRlOjpB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCwgdHJ1ZSk7CiAgICAgcGFnZVByb3h5LT5pbml0
KCk7CiAKLSAgICBRT2JqZWN0Ojpjb25uZWN0KHBhZ2VQcm94eS5kYXRhKCksIFNJR05BTCh1cGRh
dGVOYXZpZ2F0aW9uU3RhdGUoKSksIHFfcHRyLCBTSUdOQUwobmF2aWdhdGlvblN0YXRlQ2hhbmdl
ZCgpKSk7Ci0KICAgICBwYWdlVUlDbGllbnQucmVzZXQobmV3IFF0V2ViUGFnZVVJQ2xpZW50KHBh
Z2VQcm94eS0+cGFnZVJlZigpLCBxX3B0cikpOworICAgIHBhZ2VMb2FkQ2xpZW50LnJlc2V0KG5l
dyBRdFdlYlBhZ2VMb2FkQ2xpZW50KHBhZ2VQcm94eS0+cGFnZVJlZigpLCBxX3B0cikpOwogfQog
CiB2b2lkIFFRdWlja1dlYlZpZXdQcml2YXRlOjplbmFibGVNb3VzZUV2ZW50cygpCkBAIC01NDMs
NyArNTQyLDcgQEAgUVVybCBRUXVpY2tXZWJWaWV3Ojp1cmwoKSBjb25zdAogaW50IFFRdWlja1dl
YlZpZXc6OmxvYWRQcm9ncmVzcygpIGNvbnN0CiB7CiAgICAgUV9EKGNvbnN0IFFRdWlja1dlYlZp
ZXcpOwotICAgIHJldHVybiBkLT5wYWdlUHJveHktPmxvYWRQcm9ncmVzcygpOworICAgIHJldHVy
biBkLT5wYWdlTG9hZENsaWVudC0+bG9hZFByb2dyZXNzKCk7CiB9CiAKIGJvb2wgUVF1aWNrV2Vi
Vmlldzo6Y2FuR29CYWNrKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oCmluZGV4IDdjODg0MWE4NDM5NjBlNmEwODI5NTAxNGUx
MDFiOGM2ZTY4ZjlkYjEuLjJkMTA3ZjYxODFiY2IxOGRiYjBhNDFiYzYwMGNiNGU4MDNjZWI2M2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmll
d19wLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3
X3AuaApAQCAtMTM0LDYgKzEzNCw3IEBAIHByaXZhdGU6CiAgICAgUVNjb3BlZFBvaW50ZXI8UVF1
aWNrV2ViVmlld1ByaXZhdGU+IGRfcHRyOwogICAgIFFRdWlja1dlYlZpZXdFeHBlcmltZW50YWwq
IG1fZXhwZXJpbWVudGFsOwogCisgICAgZnJpZW5kIGNsYXNzIFF0V2ViUGFnZUxvYWRDbGllbnQ7
CiAgICAgZnJpZW5kIGNsYXNzIFF0V2ViUGFnZVByb3h5OwogICAgIGZyaWVuZCBjbGFzcyBRdFdl
YlBhZ2VVSUNsaWVudDsKICAgICBmcmllbmQgY2xhc3MgV1RSOjpQbGF0Zm9ybVdlYlZpZXc7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdf
cF9wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9w
LmgKaW5kZXggNTI5ZTI1M2Y0OGVkOWM3MTY2Nzc3NTI4MjZjOGNiY2I0YzQ2MjJjYy4uMWUxZWNi
YjRlNTk1YmM5MjUzYjU3YmJhZmIwM2ExZGZmNDE3NTM1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaApAQCAtMjMsNiArMjMs
NyBAQAogCiAjaW5jbHVkZSAiUXRQb2xpY3lJbnRlcmZhY2UuaCIKICNpbmNsdWRlICJRdFZpZXdw
b3J0SW50ZXJhY3Rpb25FbmdpbmUuaCIKKyNpbmNsdWRlICJRdFdlYlBhZ2VMb2FkQ2xpZW50Lmgi
CiAjaW5jbHVkZSAiUXRXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlICJRdFdlYlBhZ2VVSUNsaWVu
dC5oIgogCkBAIC0xMTIsNiArMTEzLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldFZpZXdJbkF0
dGFjaGVkUHJvcGVydGllcyhRT2JqZWN0Kik7CiAKICAgICBRU2NvcGVkUG9pbnRlcjxRdFdlYlBh
Z2VVSUNsaWVudD4gcGFnZVVJQ2xpZW50OworICAgIFFTY29wZWRQb2ludGVyPFF0V2ViUGFnZUxv
YWRDbGllbnQ+IHBhZ2VMb2FkQ2xpZW50OwogCiAgICAgUVNjb3BlZFBvaW50ZXI8UVF1aWNrV2Vi
UGFnZT4gcGFnZVZpZXc7CiAgICAgUVNjb3BlZFBvaW50ZXI8UXRWaWV3cG9ydEludGVyYWN0aW9u
RW5naW5lPiBpbnRlcmFjdGlvbkVuZ2luZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9xdC9DbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9D
bGllbnRJbXBsLmNwcAppbmRleCAwODYzZWM3NmNjMjYxOTZlNWQ0MzJkNDUzYmRjNjE3YWY3MmUw
ODJmLi41Yzc1ZDg5OGI0MzU2YTAyMTE3ZTBlZGIyMGQ4MzcyZjk3M2JiMGVhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3F0L0NsaWVudEltcGwuY3BwCkBAIC0yMCwxNyArMjAsMTMgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDbGllbnRJbXBsLmgiCiAKLSNpbmNsdWRl
ICJRdFdlYkVycm9yLmgiCi0jaW5jbHVkZSAiV2ViRnJhbWVQcm94eS5oIgorI2luY2x1ZGUgIldl
YlBhZ2VQcm94eS5oIgogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgotI2luY2x1ZGUgIldLU3RyaW5n
UXQuaCIKICNpbmNsdWRlICJXS1VSTFF0LmgiCiAjaW5jbHVkZSA8UXRQb2xpY3lJbnRlcmZhY2Uu
aD4KLSNpbmNsdWRlIDxRdFdlYlBhZ2VQcm94eS5oPgogI2luY2x1ZGUgPFdLQXJyYXkuaD4KICNp
bmNsdWRlIDxXS0ZyYW1lLmg+CiAjaW5jbHVkZSA8V0tGcmFtZVBvbGljeUxpc3RlbmVyLmg+Ci0j
aW5jbHVkZSA8V0tIaXRUZXN0UmVzdWx0Lmg+CiAjaW5jbHVkZSA8V0tQYWdlLmg+CiAjaW5jbHVk
ZSA8V0tTdHJpbmcuaD4KICNpbmNsdWRlIDxXS1R5cGUuaD4KQEAgLTM4LDExOCArMzQsMTIgQEAK
IAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAotc3RhdGljIFF0V2ViUGFnZVByb3h5KiB0b1F0
V2ViUGFnZVByb3h5KGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCi17Ci0gICAgaWYgKGNsaWVudElu
Zm8pCi0gICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFF0V2ViUGFnZVByb3h5Kj4oY29u
c3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpOwotICAgIHJldHVybiAwOwotfQotCiBzdGF0aWMg
aW5saW5lIFF0UG9saWN5SW50ZXJmYWNlKiB0b1F0UG9saWN5SW50ZXJmYWNlKGNvbnN0IHZvaWQq
IGNsaWVudEluZm8pCiB7CiAgICAgQVNTRVJUKGNsaWVudEluZm8pOwogICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PFF0UG9saWN5SW50ZXJmYWNlKj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50
SW5mbykpOwogfQogCi1zdGF0aWMgdm9pZCBkaXNwYXRjaExvYWRTdWNjZWVkZWQoV0tGcmFtZVJl
ZiBmcmFtZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKLXsKLSAgICBpZiAoIVdLRnJhbWVJc01h
aW5GcmFtZShmcmFtZSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIHRvUXRXZWJQYWdlUHJveHko
Y2xpZW50SW5mbyktPnVwZGF0ZU5hdmlnYXRpb25TdGF0ZSgpOwotICAgIHRvUXRXZWJQYWdlUHJv
eHkoY2xpZW50SW5mbyktPmxvYWREaWRTdWNjZWVkKCk7Ci19Ci0KLXN0YXRpYyB2b2lkIGRpc3Bh
dGNoTG9hZEZhaWxlZChXS0ZyYW1lUmVmIGZyYW1lLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvLCBX
S0Vycm9yUmVmIGVycm9yKQotewotICAgIGlmICghV0tGcmFtZUlzTWFpbkZyYW1lKGZyYW1lKSkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgdG9RdFdlYlBhZ2VQcm94eShjbGllbnRJbmZvKS0+dXBk
YXRlTmF2aWdhdGlvblN0YXRlKCk7Ci0KLSAgICBpbnQgZXJyb3JDb2RlID0gV0tFcnJvckdldEVy
cm9yQ29kZShlcnJvcik7Ci0gICAgaWYgKHRvSW1wbChlcnJvciktPnBsYXRmb3JtRXJyb3IoKS5p
c0NhbmNlbGxhdGlvbigpIHx8IGVycm9yQ29kZSA9PSBrV0tFcnJvckNvZGVGcmFtZUxvYWRJbnRl
cnJ1cHRlZEJ5UG9saWN5Q2hhbmdlIHx8IGVycm9yQ29kZSA9PSBrV0tFcnJvckNvZGVQbHVnSW5X
aWxsSGFuZGxlTG9hZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgdG9RdFdlYlBhZ2VQcm94eShj
bGllbnRJbmZvKS0+bG9hZERpZEZhaWwoUXRXZWJFcnJvcihlcnJvcikpOwotfQotCi1zdGF0aWMg
dm9pZCBxdF93a19kaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKFdLUGFnZVJlZiBwYWdl
LCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVu
dEluZm8pCi17Ci0gICAgaWYgKCFXS0ZyYW1lSXNNYWluRnJhbWUoZnJhbWUpKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICB0b1F0V2ViUGFnZVByb3h5KGNsaWVudEluZm8pLT51cGRhdGVOYXZpZ2F0
aW9uU3RhdGUoKTsKLSAgICB0b1F0V2ViUGFnZVByb3h5KGNsaWVudEluZm8pLT5sb2FkRGlkQmVn
aW4oKTsKLX0KLQotc3RhdGljIHZvaWQgcXRfd2tfZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhF
cnJvckZvckZyYW1lKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS0Vycm9yUmVm
IGVycm9yLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCi17Ci0g
ICAgZGlzcGF0Y2hMb2FkRmFpbGVkKGZyYW1lLCBjbGllbnRJbmZvLCBlcnJvcik7Ci19Ci0KLXN0
YXRpYyB2b2lkIHF0X3drX2RpZENvbW1pdExvYWRGb3JGcmFtZShXS1BhZ2VSZWYgcGFnZSwgV0tG
cmFtZVJlZiBmcmFtZSwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KQotewotICAgIGlmICghV0tGcmFtZUlzTWFpbkZyYW1lKGZyYW1lKSkKLSAgICAgICAgcmV0dXJu
OwotICAgIFdlYkZyYW1lUHJveHkqIHdrZnJhbWUgPSB0b0ltcGwoZnJhbWUpOwotICAgIFFTdHJp
bmcgdXJsU3RyKHdrZnJhbWUtPnVybCgpKTsKLSAgICBRVXJsIHFVcmwgPSB1cmxTdHI7Ci0gICAg
dG9RdFdlYlBhZ2VQcm94eShjbGllbnRJbmZvKS0+dXBkYXRlTmF2aWdhdGlvblN0YXRlKCk7Ci0g
ICAgdG9RdFdlYlBhZ2VQcm94eShjbGllbnRJbmZvKS0+ZGlkQ2hhbmdlVXJsKHFVcmwpOwotICAg
IHRvUXRXZWJQYWdlUHJveHkoY2xpZW50SW5mbyktPmxvYWREaWRDb21taXQoKTsKLX0KLQotc3Rh
dGljIHZvaWQgcXRfd2tfZGlkRmluaXNoTG9hZEZvckZyYW1lKFdLUGFnZVJlZiBwYWdlLCBXS0Zy
YW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
Ci17Ci0gICAgZGlzcGF0Y2hMb2FkU3VjY2VlZGVkKGZyYW1lLCBjbGllbnRJbmZvKTsKLX0KLQot
c3RhdGljIHZvaWQgcXRfd2tfZGlkRmFpbExvYWRXaXRoRXJyb3JGb3JGcmFtZShXS1BhZ2VSZWYg
cGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwgV0tFcnJvclJlZiBlcnJvciwgV0tUeXBlUmVmIHVzZXJE
YXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQotewotICAgIGRpc3BhdGNoTG9hZEZhaWxlZChm
cmFtZSwgY2xpZW50SW5mbywgZXJyb3IpOwotfQotCi1zdGF0aWMgdm9pZCBxdF93a19kaWRTYW1l
RG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJh
bWUsIFdLU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUgdHlwZSwgV0tUeXBlUmVmIHVzZXJEYXRh
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQotewotICAgIFdlYkZyYW1lUHJveHkqIHdrZnJhbWUg
PSB0b0ltcGwoZnJhbWUpOwotICAgIFFTdHJpbmcgdXJsU3RyKHdrZnJhbWUtPnVybCgpKTsKLSAg
ICBRVXJsIHFVcmwgPSB1cmxTdHI7Ci0gICAgdG9RdFdlYlBhZ2VQcm94eShjbGllbnRJbmZvKS0+
dXBkYXRlTmF2aWdhdGlvblN0YXRlKCk7Ci0gICAgdG9RdFdlYlBhZ2VQcm94eShjbGllbnRJbmZv
KS0+ZGlkQ2hhbmdlVXJsKHFVcmwpOwotfQotCi1zdGF0aWMgdm9pZCBxdF93a19kaWRSZWNlaXZl
VGl0bGVGb3JGcmFtZShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgdGl0bGUsIFdLRnJhbWVS
ZWYgZnJhbWUsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKLXsK
LSAgICBpZiAoIVdLRnJhbWVJc01haW5GcmFtZShmcmFtZSkpCi0gICAgICAgIHJldHVybjsKLSAg
ICBRU3RyaW5nIHFUaXRsZSA9IFdLU3RyaW5nQ29weVFTdHJpbmcodGl0bGUpOwotICAgIHRvUXRX
ZWJQYWdlUHJveHkoY2xpZW50SW5mbyktPmRpZENoYW5nZVRpdGxlKHFUaXRsZSk7Ci19Ci0KLXN0
YXRpYyB2b2lkIHF0X3drX2RpZFN0YXJ0UHJvZ3Jlc3MoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZv
aWQqIGNsaWVudEluZm8pCi17Ci0gICAgdG9RdFdlYlBhZ2VQcm94eShjbGllbnRJbmZvKS0+ZGlk
Q2hhbmdlTG9hZFByb2dyZXNzKDApOwotfQotCi1zdGF0aWMgdm9pZCBxdF93a19kaWRDaGFuZ2VQ
cm9ncmVzcyhXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKLXsKLSAgICB0
b1F0V2ViUGFnZVByb3h5KGNsaWVudEluZm8pLT5kaWRDaGFuZ2VMb2FkUHJvZ3Jlc3MoV0tQYWdl
R2V0RXN0aW1hdGVkUHJvZ3Jlc3MocGFnZSkgKiAxMDApOwotfQotCi1zdGF0aWMgdm9pZCBxdF93
a19kaWRGaW5pc2hQcm9ncmVzcyhXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5m
bykKLXsKLSAgICB0b1F0V2ViUGFnZVByb3h5KGNsaWVudEluZm8pLT5kaWRDaGFuZ2VMb2FkUHJv
Z3Jlc3MoMTAwKTsKLX0KLQotc3RhdGljIHZvaWQgcXRfd2tfZGlkRmlyc3RWaXN1YWxseU5vbkVt
cHR5TGF5b3V0Rm9yRnJhbWUoV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIFdLVHlw
ZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKLXsKLSAgICBpZiAoIVdLRnJh
bWVJc01haW5GcmFtZShmcmFtZSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIHRvUXRXZWJQYWdl
UHJveHkoY2xpZW50SW5mbyktPmRpZEZpbmlzaEZpcnN0Tm9uRW1wdHlMYXlvdXQoKTsKLX0KLQog
c3RhdGljIFF0OjpNb3VzZUJ1dHRvbiB0b1F0TW91c2VCdXR0b24oV0tFdmVudE1vdXNlQnV0dG9u
IGJ1dHRvbikKIHsKICAgICBzd2l0Y2ggKGJ1dHRvbikgewpAQCAtMjQ0LDI2ICsxMzQsNiBAQCB2
b2lkIHF0X3drX2RpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKFdLQ29udGV4dFJl
ZiwgV0tTdHJpbmdSZWYgbWVzc2FnZQogICAgIHRvSW1wbChwYWdlKS0+ZGlkUmVjZWl2ZU1lc3Nh
Z2VGcm9tTmF2aWdhdG9yUXRPYmplY3QodG9JbXBsKHN0ciktPnN0cmluZygpKTsKIH0KIAotdm9p
ZCBzZXR1cFBhZ2VMb2FkZXJDbGllbnQoUXRXZWJQYWdlUHJveHkqIHF0V2ViUGFnZVByb3h5LCBX
ZWJQYWdlUHJveHkqIHdlYlBhZ2VQcm94eSkKLXsKLSAgICBXS1BhZ2VMb2FkZXJDbGllbnQgbG9h
ZENsaWVudDsKLSAgICBtZW1zZXQoJmxvYWRDbGllbnQsIDAsIHNpemVvZihXS1BhZ2VMb2FkZXJD
bGllbnQpKTsKLSAgICBsb2FkQ2xpZW50LnZlcnNpb24gPSBrV0tQYWdlTG9hZGVyQ2xpZW50Q3Vy
cmVudFZlcnNpb247Ci0gICAgbG9hZENsaWVudC5jbGllbnRJbmZvID0gcXRXZWJQYWdlUHJveHk7
Ci0gICAgbG9hZENsaWVudC5kaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lID0gcXRfd2tf
ZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZTsKLSAgICBsb2FkQ2xpZW50LmRpZEZhaWxQ
cm92aXNpb25hbExvYWRXaXRoRXJyb3JGb3JGcmFtZSA9IHF0X3drX2RpZEZhaWxQcm92aXNpb25h
bExvYWRXaXRoRXJyb3JGb3JGcmFtZTsKLSAgICBsb2FkQ2xpZW50LmRpZENvbW1pdExvYWRGb3JG
cmFtZSA9IHF0X3drX2RpZENvbW1pdExvYWRGb3JGcmFtZTsKLSAgICBsb2FkQ2xpZW50LmRpZEZp
bmlzaExvYWRGb3JGcmFtZSA9IHF0X3drX2RpZEZpbmlzaExvYWRGb3JGcmFtZTsKLSAgICBsb2Fk
Q2xpZW50LmRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWUgPSBxdF93a19kaWRGYWlsTG9hZFdp
dGhFcnJvckZvckZyYW1lOwotICAgIGxvYWRDbGllbnQuZGlkU2FtZURvY3VtZW50TmF2aWdhdGlv
bkZvckZyYW1lID0gcXRfd2tfZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lOwotICAg
IGxvYWRDbGllbnQuZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUgPSBxdF93a19kaWRSZWNlaXZlVGl0
bGVGb3JGcmFtZTsKLSAgICBsb2FkQ2xpZW50LmRpZFN0YXJ0UHJvZ3Jlc3MgPSBxdF93a19kaWRT
dGFydFByb2dyZXNzOwotICAgIGxvYWRDbGllbnQuZGlkQ2hhbmdlUHJvZ3Jlc3MgPSBxdF93a19k
aWRDaGFuZ2VQcm9ncmVzczsKLSAgICBsb2FkQ2xpZW50LmRpZEZpbmlzaFByb2dyZXNzID0gcXRf
d2tfZGlkRmluaXNoUHJvZ3Jlc3M7Ci0gICAgbG9hZENsaWVudC5kaWRGaXJzdFZpc3VhbGx5Tm9u
RW1wdHlMYXlvdXRGb3JGcmFtZSA9IHF0X3drX2RpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91
dEZvckZyYW1lOwotICAgIFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQocXRXZWJQYWdlUHJveHkt
PnBhZ2VSZWYoKSwgJmxvYWRDbGllbnQpOwotfQotCiB2b2lkIHNldHVwUGFnZVBvbGljeUNsaWVu
dChRdFBvbGljeUludGVyZmFjZSogcG9saWN5SW50ZXJmYWNlLCBXZWJQYWdlUHJveHkqIHdlYlBh
Z2VQcm94eSkKIHsKICAgICBXS1BhZ2VQb2xpY3lDbGllbnQgcG9saWN5Q2xpZW50OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L0NsaWVudEltcGwuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9xdC9DbGllbnRJbXBsLmgKaW5kZXggODc1OTM1ZWNjMjI4OTFmOWE5
ZjM5Njc0MzA3ZWUzNWVmNTIxNWYxNy4uZDc3YWFiYWFkMmE5MGM3ZjFlMzY3NmZhMDY3YWRlNzEz
Yjg4OWUyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L0NsaWVudElt
cGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvQ2xpZW50SW1wbC5oCkBAIC0y
MiwxMyArMjIsMTEgQEAKIAogI2luY2x1ZGUgPFdlYktpdDIvV0tDb250ZXh0Lmg+CiAKLWNsYXNz
IFF0V2ViUGFnZVByb3h5OwogbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBRdFBvbGljeUludGVy
ZmFjZTsKIGNsYXNzIFdlYlBhZ2VQcm94eTsKIH0KIAotdm9pZCBzZXR1cFBhZ2VMb2FkZXJDbGll
bnQoUXRXZWJQYWdlUHJveHkqLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSopOwogdm9pZCBzZXR1cFBh
Z2VQb2xpY3lDbGllbnQoV2ViS2l0OjpRdFBvbGljeUludGVyZmFjZSosIFdlYktpdDo6V2ViUGFn
ZVByb3h5Kik7CiAKIHZvaWQgc2V0dXBDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQoV0tDb250
ZXh0UmVmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBh
Z2VMb2FkQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VM
b2FkQ2xpZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMjQ4MGUzNzBiZjkxZWY3MWRlYWZmMzIwNzI0ZTM1
N2UzOGU1OGQ0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0
L1F0V2ViUGFnZUxvYWRDbGllbnQuY3BwCkBAIC0wLDAgKzEsMTg0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDExIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVz
KQorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHBy
b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0
aCB0aGlzIHByb2dyYW07IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlF0V2ViUGFnZUxvYWRDbGllbnQu
aCIKKworI2luY2x1ZGUgIldLU3RyaW5nUXQuaCIKKyNpbmNsdWRlICJxcXVpY2t3ZWJ2aWV3X3Au
aCIKKyNpbmNsdWRlICJxcXVpY2t3ZWJ2aWV3X3BfcC5oIgorI2luY2x1ZGUgPFdLRnJhbWUuaD4K
KworUXRXZWJQYWdlTG9hZENsaWVudDo6UXRXZWJQYWdlTG9hZENsaWVudChXS1BhZ2VSZWYgcGFn
ZVJlZiwgUVF1aWNrV2ViVmlldyogd2ViVmlldykKKyAgICA6IG1fd2ViVmlldyh3ZWJWaWV3KQor
ICAgICwgbV9sb2FkUHJvZ3Jlc3MoMCkKK3sKKyAgICBXS1BhZ2VMb2FkZXJDbGllbnQgbG9hZENs
aWVudDsKKyAgICBtZW1zZXQoJmxvYWRDbGllbnQsIDAsIHNpemVvZihXS1BhZ2VMb2FkZXJDbGll
bnQpKTsKKyAgICBsb2FkQ2xpZW50LnZlcnNpb24gPSBrV0tQYWdlTG9hZGVyQ2xpZW50Q3VycmVu
dFZlcnNpb247CisgICAgbG9hZENsaWVudC5jbGllbnRJbmZvID0gdGhpczsKKyAgICBsb2FkQ2xp
ZW50LmRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUgPSBkaWRTdGFydFByb3Zpc2lvbmFs
TG9hZEZvckZyYW1lOworICAgIGxvYWRDbGllbnQuZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhF
cnJvckZvckZyYW1lID0gZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZyYW1lOwor
ICAgIGxvYWRDbGllbnQuZGlkQ29tbWl0TG9hZEZvckZyYW1lID0gZGlkQ29tbWl0TG9hZEZvckZy
YW1lOworICAgIGxvYWRDbGllbnQuZGlkRmluaXNoTG9hZEZvckZyYW1lID0gZGlkRmluaXNoTG9h
ZEZvckZyYW1lOworICAgIGxvYWRDbGllbnQuZGlkRmFpbExvYWRXaXRoRXJyb3JGb3JGcmFtZSA9
IGRpZEZhaWxMb2FkV2l0aEVycm9yRm9yRnJhbWU7CisgICAgbG9hZENsaWVudC5kaWRTYW1lRG9j
dW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUgPSBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJh
bWU7CisgICAgbG9hZENsaWVudC5kaWRSZWNlaXZlVGl0bGVGb3JGcmFtZSA9IGRpZFJlY2VpdmVU
aXRsZUZvckZyYW1lOworICAgIGxvYWRDbGllbnQuZGlkU3RhcnRQcm9ncmVzcyA9IGRpZFN0YXJ0
UHJvZ3Jlc3M7CisgICAgbG9hZENsaWVudC5kaWRDaGFuZ2VQcm9ncmVzcyA9IGRpZENoYW5nZVBy
b2dyZXNzOworICAgIGxvYWRDbGllbnQuZGlkRmluaXNoUHJvZ3Jlc3MgPSBkaWRGaW5pc2hQcm9n
cmVzczsKKyAgICBsb2FkQ2xpZW50LmRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckZy
YW1lID0gZGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWU7CisgICAgV0tQYWdl
U2V0UGFnZUxvYWRlckNsaWVudChwYWdlUmVmLCAmbG9hZENsaWVudCk7Cit9CisKK3ZvaWQgUXRX
ZWJQYWdlTG9hZENsaWVudDo6ZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSgpCit7Cisg
ICAgZW1pdCBtX3dlYlZpZXctPm5hdmlnYXRpb25TdGF0ZUNoYW5nZWQoKTsKKyAgICBlbWl0IG1f
d2ViVmlldy0+bG9hZFN0YXJ0ZWQoKTsKK30KKwordm9pZCBRdFdlYlBhZ2VMb2FkQ2xpZW50Ojpk
aWRDb21taXRMb2FkRm9yRnJhbWUoY29uc3QgUVVybCYgdXJsKQoreworICAgIGVtaXQgbV93ZWJW
aWV3LT5uYXZpZ2F0aW9uU3RhdGVDaGFuZ2VkKCk7CisgICAgZW1pdCBtX3dlYlZpZXctPnVybENo
YW5nZWQodXJsKTsKKyAgICBtX3dlYlZpZXctPmRfZnVuYygpLT5sb2FkRGlkQ29tbWl0KCk7Cit9
CisKK3ZvaWQgUXRXZWJQYWdlTG9hZENsaWVudDo6ZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZv
ckZyYW1lKGNvbnN0IFFVcmwmIHVybCkKK3sKKyAgICBlbWl0IG1fd2ViVmlldy0+bmF2aWdhdGlv
blN0YXRlQ2hhbmdlZCgpOworICAgIGVtaXQgbV93ZWJWaWV3LT51cmxDaGFuZ2VkKHVybCk7Cit9
CisKK3ZvaWQgUXRXZWJQYWdlTG9hZENsaWVudDo6ZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUoY29u
c3QgUVN0cmluZyYgdGl0bGUpCit7CisgICAgZW1pdCBtX3dlYlZpZXctPnRpdGxlQ2hhbmdlZCh0
aXRsZSk7Cit9CisKK3ZvaWQgUXRXZWJQYWdlTG9hZENsaWVudDo6ZGlkRmlyc3RWaXN1YWxseU5v
bkVtcHR5TGF5b3V0Rm9yRnJhbWUoKQoreworICAgIG1fd2ViVmlldy0+ZF9mdW5jKCktPmRpZEZp
bmlzaEZpcnN0Tm9uRW1wdHlMYXlvdXQoKTsKK30KKwordm9pZCBRdFdlYlBhZ2VMb2FkQ2xpZW50
OjpkaXNwYXRjaExvYWRTdWNjZWVkZWQoKQoreworICAgIGVtaXQgbV93ZWJWaWV3LT5uYXZpZ2F0
aW9uU3RhdGVDaGFuZ2VkKCk7CisgICAgZW1pdCBtX3dlYlZpZXctPmxvYWRTdWNjZWVkZWQoKTsK
K30KKwordm9pZCBRdFdlYlBhZ2VMb2FkQ2xpZW50OjpkaXNwYXRjaExvYWRGYWlsZWQoV0tFcnJv
clJlZiBlcnJvcikKK3sKKyAgICBlbWl0IG1fd2ViVmlldy0+bmF2aWdhdGlvblN0YXRlQ2hhbmdl
ZCgpOworCisgICAgaW50IGVycm9yQ29kZSA9IFdLRXJyb3JHZXRFcnJvckNvZGUoZXJyb3IpOwor
ICAgIGlmICh0b0ltcGwoZXJyb3IpLT5wbGF0Zm9ybUVycm9yKCkuaXNDYW5jZWxsYXRpb24oKSB8
fCBlcnJvckNvZGUgPT0ga1dLRXJyb3JDb2RlRnJhbWVMb2FkSW50ZXJydXB0ZWRCeVBvbGljeUNo
YW5nZSB8fCBlcnJvckNvZGUgPT0ga1dLRXJyb3JDb2RlUGx1Z0luV2lsbEhhbmRsZUxvYWQpCisg
ICAgICAgIHJldHVybjsKKworICAgIFF0V2ViRXJyb3IgcXRFcnJvcihlcnJvcik7CisgICAgZW1p
dCBtX3dlYlZpZXctPmxvYWRGYWlsZWQoc3RhdGljX2Nhc3Q8UVF1aWNrV2ViVmlldzo6RXJyb3JU
eXBlPihxdEVycm9yLnR5cGUoKSksIHF0RXJyb3IuZXJyb3JDb2RlKCksIHF0RXJyb3IudXJsKCkp
OworfQorCit2b2lkIFF0V2ViUGFnZUxvYWRDbGllbnQ6OnNldExvYWRQcm9ncmVzcyhpbnQgbG9h
ZFByb2dyZXNzKQoreworICAgIG1fbG9hZFByb2dyZXNzID0gbG9hZFByb2dyZXNzOworICAgIGVt
aXQgbV93ZWJWaWV3LT5sb2FkUHJvZ3Jlc3NDaGFuZ2VkKG1fbG9hZFByb2dyZXNzKTsKK30KKwor
c3RhdGljIFF0V2ViUGFnZUxvYWRDbGllbnQqIHRvUXRXZWJQYWdlTG9hZENsaWVudChjb25zdCB2
b2lkKiBjbGllbnRJbmZvKQoreworICAgIEFTU0VSVChjbGllbnRJbmZvKTsKKyAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxRdFdlYlBhZ2VMb2FkQ2xpZW50Kj4oY29uc3RfY2FzdDx2b2lkKj4o
Y2xpZW50SW5mbykpOworfQorCit2b2lkIFF0V2ViUGFnZUxvYWRDbGllbnQ6OmRpZFN0YXJ0UHJv
dmlzaW9uYWxMb2FkRm9yRnJhbWUoV0tQYWdlUmVmLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1R5cGVS
ZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit7CisgICAgaWYgKCFXS0ZyYW1lSXNNYWluRnJh
bWUoZnJhbWUpKQorICAgICAgICByZXR1cm47CisgICAgdG9RdFdlYlBhZ2VMb2FkQ2xpZW50KGNs
aWVudEluZm8pLT5kaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKCk7Cit9CisKK3ZvaWQg
UXRXZWJQYWdlTG9hZENsaWVudDo6ZGlkRmFpbFByb3Zpc2lvbmFsTG9hZFdpdGhFcnJvckZvckZy
YW1lKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiBmcmFtZSwgV0tFcnJvclJlZiBlcnJvciwgV0tUeXBl
UmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIGlmICghV0tGcmFtZUlzTWFpbkZy
YW1lKGZyYW1lKSkKKyAgICAgICAgcmV0dXJuOworICAgIHRvUXRXZWJQYWdlTG9hZENsaWVudChj
bGllbnRJbmZvKS0+ZGlzcGF0Y2hMb2FkRmFpbGVkKGVycm9yKTsKK30KKwordm9pZCBRdFdlYlBh
Z2VMb2FkQ2xpZW50OjpkaWRDb21taXRMb2FkRm9yRnJhbWUoV0tQYWdlUmVmLCBXS0ZyYW1lUmVm
IGZyYW1lLCBXS1R5cGVSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit7CisgICAgaWYgKCFX
S0ZyYW1lSXNNYWluRnJhbWUoZnJhbWUpKQorICAgICAgICByZXR1cm47CisgICAgV2ViRnJhbWVQ
cm94eSogd2tmcmFtZSA9IHRvSW1wbChmcmFtZSk7CisgICAgUVN0cmluZyB1cmxTdHIod2tmcmFt
ZS0+dXJsKCkpOworICAgIFFVcmwgcVVybCA9IHVybFN0cjsKKyAgICB0b1F0V2ViUGFnZUxvYWRD
bGllbnQoY2xpZW50SW5mbyktPmRpZENvbW1pdExvYWRGb3JGcmFtZShxVXJsKTsKK30KKwordm9p
ZCBRdFdlYlBhZ2VMb2FkQ2xpZW50OjpkaWRGaW5pc2hMb2FkRm9yRnJhbWUoV0tQYWdlUmVmLCBX
S0ZyYW1lUmVmIGZyYW1lLCBXS1R5cGVSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit7Cisg
ICAgaWYgKCFXS0ZyYW1lSXNNYWluRnJhbWUoZnJhbWUpKQorICAgICAgICByZXR1cm47CisgICAg
dG9RdFdlYlBhZ2VMb2FkQ2xpZW50KGNsaWVudEluZm8pLT5kaXNwYXRjaExvYWRTdWNjZWVkZWQo
KTsKK30KKwordm9pZCBRdFdlYlBhZ2VMb2FkQ2xpZW50OjpkaWRGYWlsTG9hZFdpdGhFcnJvckZv
ckZyYW1lKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiBmcmFtZSwgV0tFcnJvclJlZiBlcnJvciwgV0tU
eXBlUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIGlmICghV0tGcmFtZUlzTWFp
bkZyYW1lKGZyYW1lKSkKKyAgICAgICAgcmV0dXJuOworICAgIHRvUXRXZWJQYWdlTG9hZENsaWVu
dChjbGllbnRJbmZvKS0+ZGlzcGF0Y2hMb2FkRmFpbGVkKGVycm9yKTsKK30KKwordm9pZCBRdFdl
YlBhZ2VMb2FkQ2xpZW50OjpkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUoV0tQYWdl
UmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIFdLU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUg
dHlwZSwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQoreworICAg
IFdlYkZyYW1lUHJveHkqIHdrZnJhbWUgPSB0b0ltcGwoZnJhbWUpOworICAgIFFTdHJpbmcgdXJs
U3RyKHdrZnJhbWUtPnVybCgpKTsKKyAgICBRVXJsIHFVcmwgPSB1cmxTdHI7CisgICAgdG9RdFdl
YlBhZ2VMb2FkQ2xpZW50KGNsaWVudEluZm8pLT5kaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9y
RnJhbWUocVVybCk7Cit9CisKK3ZvaWQgUXRXZWJQYWdlTG9hZENsaWVudDo6ZGlkUmVjZWl2ZVRp
dGxlRm9yRnJhbWUoV0tQYWdlUmVmLCBXS1N0cmluZ1JlZiB0aXRsZSwgV0tGcmFtZVJlZiBmcmFt
ZSwgV0tUeXBlUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIGlmICghV0tGcmFt
ZUlzTWFpbkZyYW1lKGZyYW1lKSkKKyAgICAgICAgcmV0dXJuOworICAgIFFTdHJpbmcgcVRpdGxl
ID0gV0tTdHJpbmdDb3B5UVN0cmluZyh0aXRsZSk7CisgICAgdG9RdFdlYlBhZ2VMb2FkQ2xpZW50
KGNsaWVudEluZm8pLT5kaWRSZWNlaXZlVGl0bGVGb3JGcmFtZShxVGl0bGUpOworfQorCit2b2lk
IFF0V2ViUGFnZUxvYWRDbGllbnQ6OmRpZFN0YXJ0UHJvZ3Jlc3MoV0tQYWdlUmVmLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKQoreworICAgIHRvUXRXZWJQYWdlTG9hZENsaWVudChjbGllbnRJbmZv
KS0+c2V0TG9hZFByb2dyZXNzKDApOworfQorCit2b2lkIFF0V2ViUGFnZUxvYWRDbGllbnQ6OmRp
ZENoYW5nZVByb2dyZXNzKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQor
eworICAgIHRvUXRXZWJQYWdlTG9hZENsaWVudChjbGllbnRJbmZvKS0+c2V0TG9hZFByb2dyZXNz
KFdLUGFnZUdldEVzdGltYXRlZFByb2dyZXNzKHBhZ2UpICogMTAwKTsKK30KKwordm9pZCBRdFdl
YlBhZ2VMb2FkQ2xpZW50OjpkaWRGaW5pc2hQcm9ncmVzcyhXS1BhZ2VSZWYsIGNvbnN0IHZvaWQq
IGNsaWVudEluZm8pCit7CisgICAgdG9RdFdlYlBhZ2VMb2FkQ2xpZW50KGNsaWVudEluZm8pLT5z
ZXRMb2FkUHJvZ3Jlc3MoMTAwKTsKK30KKwordm9pZCBRdFdlYlBhZ2VMb2FkQ2xpZW50OjpkaWRG
aXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JGcmFtZShXS1BhZ2VSZWYsIFdLRnJhbWVSZWYg
ZnJhbWUsIFdLVHlwZVJlZiwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKK3sKKyAgICBpZiAoIVdL
RnJhbWVJc01haW5GcmFtZShmcmFtZSkpCisgICAgICAgIHJldHVybjsKKyAgICB0b1F0V2ViUGFn
ZUxvYWRDbGllbnQoY2xpZW50SW5mbyktPmRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZv
ckZyYW1lKCk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRX
ZWJQYWdlTG9hZENsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFn
ZUxvYWRDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wM2YyZjBlZWQzMDEzYTBkNGMxMWRhYjMzMTUwNzcz
NzhlYWJjNTI3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0
L1F0V2ViUGFnZUxvYWRDbGllbnQuaApAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDExIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQor
ICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dy
YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAq
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0
aGlzIHByb2dyYW07IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
KyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8K
KworI2lmbmRlZiBRdFdlYlBhZ2VMb2FkQ2xpZW50X2gKKyNkZWZpbmUgUXRXZWJQYWdlTG9hZENs
aWVudF9oCisKKyNpbmNsdWRlICJRdFdlYkVycm9yLmgiCisjaW5jbHVkZSA8UXRDb3JlL1FTdHJp
bmc+CisjaW5jbHVkZSA8UXRDb3JlL1FVcmw+CisjaW5jbHVkZSA8V0tQYWdlLmg+CisKK2NsYXNz
IFFRdWlja1dlYlZpZXc7CisKK2NsYXNzIFF0V2ViUGFnZUxvYWRDbGllbnQgeworcHVibGljOgor
ICAgIFF0V2ViUGFnZUxvYWRDbGllbnQoV0tQYWdlUmVmLCBRUXVpY2tXZWJWaWV3Kik7CisKKyAg
ICBpbnQgbG9hZFByb2dyZXNzKCkgY29uc3QgeyByZXR1cm4gbV9sb2FkUHJvZ3Jlc3M7IH0KKwor
cHJpdmF0ZToKKyAgICB2b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUoKTsKKyAg
ICB2b2lkIGRpZENvbW1pdExvYWRGb3JGcmFtZShjb25zdCBRVXJsJik7CisgICAgdm9pZCBkaWRT
YW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yRnJhbWUoY29uc3QgUVVybCYpOworICAgIHZvaWQgZGlk
UmVjZWl2ZVRpdGxlRm9yRnJhbWUoY29uc3QgUVN0cmluZyYpOworICAgIHZvaWQgZGlkRmlyc3RW
aXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWUoKTsKKworICAgIHZvaWQgZGlzcGF0Y2hMb2Fk
U3VjY2VlZGVkKCk7CisgICAgdm9pZCBkaXNwYXRjaExvYWRGYWlsZWQoV0tFcnJvclJlZik7Cisg
ICAgdm9pZCBzZXRMb2FkUHJvZ3Jlc3MoaW50KTsKKworICAgIC8vIFdLUGFnZUxvYWRDbGllbnQg
Y2FsbGJhY2tzLgorICAgIHN0YXRpYyB2b2lkIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJh
bWUoV0tQYWdlUmVmLCBXS0ZyYW1lUmVmLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQq
IGNsaWVudEluZm8pOworICAgIHN0YXRpYyB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWRXaXRo
RXJyb3JGb3JGcmFtZShXS1BhZ2VSZWYsIFdLRnJhbWVSZWYsIFdLRXJyb3JSZWYsIFdLVHlwZVJl
ZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CisgICAgc3RhdGljIHZvaWQgZGlk
Q29tbWl0TG9hZEZvckZyYW1lKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tUeXBlUmVmIHVzZXJE
YXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKKyAgICBzdGF0aWMgdm9pZCBkaWRGaW5pc2hM
b2FkRm9yRnJhbWUoV0tQYWdlUmVmLCBXS0ZyYW1lUmVmLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pOworICAgIHN0YXRpYyB2b2lkIGRpZEZhaWxMb2FkV2l0aEVy
cm9yRm9yRnJhbWUoV0tQYWdlUmVmLCBXS0ZyYW1lUmVmLCBXS0Vycm9yUmVmLCBXS1R5cGVSZWYg
dXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOworICAgIHN0YXRpYyB2b2lkIGRpZFNh
bWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZShXS1BhZ2VSZWYsIFdLRnJhbWVSZWYsIFdLU2Ft
ZURvY3VtZW50TmF2aWdhdGlvblR5cGUsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbyk7CisgICAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZVRpdGxlRm9yRnJhbWUoV0tQ
YWdlUmVmLCBXS1N0cmluZ1JlZiwgV0tGcmFtZVJlZiwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25z
dCB2b2lkKiBjbGllbnRJbmZvKTsKKyAgICBzdGF0aWMgdm9pZCBkaWRTdGFydFByb2dyZXNzKFdL
UGFnZVJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CisgICAgc3RhdGljIHZvaWQgZGlkQ2hh
bmdlUHJvZ3Jlc3MoV0tQYWdlUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKKyAgICBzdGF0
aWMgdm9pZCBkaWRGaW5pc2hQcm9ncmVzcyhXS1BhZ2VSZWYsIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pOworICAgIHN0YXRpYyB2b2lkIGRpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckZy
YW1lKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lk
KiBjbGllbnRJbmZvKTsKKworICAgIFFRdWlja1dlYlZpZXcqIG1fd2ViVmlldzsKKyAgICBpbnQg
bV9sb2FkUHJvZ3Jlc3M7Cit9OworCisjZW5kaWYgLy8gUXRXZWJQYWdlTG9hZENsaWVudF9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVByb3h5LmNwcAppbmRleCBm
OGQ5YmM2ZjdlODc0YTNiZmY1MjQ5NDI5ZjRmMTIzYWRjNDA1ODgyLi5jMTA3NzNiYTk0NTQwY2Nl
NzJmMzliZDMzN2Q2YmYwZmFhOGFkY2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvcXQvUXRXZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9xdC9RdFdlYlBhZ2VQcm94eS5jcHAKQEAgLTE0Myw3ICsxNDMsNiBAQCBRdFdlYlBhZ2VQcm94
eTo6UXRXZWJQYWdlUHJveHkoUVF1aWNrV2ViUGFnZSogcW1sV2ViUGFnZSwgUVF1aWNrV2ViVmll
dyogcW1sV2ViVgogICAgICwgbV9wb2xpY3lJbnRlcmZhY2UocG9saWN5SW50ZXJmYWNlKQogICAg
ICwgbV9jb250ZXh0KGNvbnRleHRSZWYgPyB0b0ltcGwoY29udGV4dFJlZikgOiBkZWZhdWx0V0tD
b250ZXh0KCkpCiAgICAgLCBtX3VuZG9TdGFjayhhZG9wdFB0cihuZXcgUVVuZG9TdGFjayh0aGlz
KSkpCi0gICAgLCBtX2xvYWRQcm9ncmVzcygwKQogICAgICwgbV9uYXZpZ2F0b3JRdE9iamVjdEVu
YWJsZWQoZmFsc2UpCiB7CiAgICAgbV93ZWJQYWdlUHJveHkgPSBtX2NvbnRleHQtPmNyZWF0ZVdl
YlBhZ2UodGhpcywgdG9JbXBsKHBhZ2VHcm91cFJlZikpOwpAQCAtMTU1LDkgKzE1NCw2IEBAIFF0
V2ViUGFnZVByb3h5OjpRdFdlYlBhZ2VQcm94eShRUXVpY2tXZWJQYWdlKiBxbWxXZWJQYWdlLCBR
UXVpY2tXZWJWaWV3KiBxbWxXZWJWCiB2b2lkIFF0V2ViUGFnZVByb3h5Ojppbml0KCkKIHsKICAg
ICBtX3dlYlBhZ2VQcm94eS0+aW5pdGlhbGl6ZVdlYlBhZ2UoKTsKLQotICAgIHNldHVwUGFnZUxv
YWRlckNsaWVudCh0aGlzLCBtX3dlYlBhZ2VQcm94eS5nZXQoKSk7Ci0KICAgICBpZiAobV9wb2xp
Y3lJbnRlcmZhY2UpCiAgICAgICAgIHNldHVwUGFnZVBvbGljeUNsaWVudChtX3BvbGljeUludGVy
ZmFjZSwgbV93ZWJQYWdlUHJveHkuZ2V0KCkpOwogfQpAQCAtNDg3LDExICs0ODMsNiBAQCB2b2lk
IFF0V2ViUGFnZVByb3h5OjpwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBJbnRQb2ludCYgcG9z
KQogICAgIG1fcW1sV2ViVmlldy0+ZF9mdW5jKCktPnNjcm9sbFBvc2l0aW9uUmVxdWVzdGVkKHBv
cyk7CiB9CiAKLXZvaWQgUXRXZWJQYWdlUHJveHk6OmRpZEZpbmlzaEZpcnN0Tm9uRW1wdHlMYXlv
dXQoKQotewotICAgIG1fcW1sV2ViVmlldy0+ZF9mdW5jKCktPmRpZEZpbmlzaEZpcnN0Tm9uRW1w
dHlMYXlvdXQoKTsKLX0KLQogdm9pZCBRdFdlYlBhZ2VQcm94eTo6ZGlkQ2hhbmdlQ29udGVudHNT
aXplKGNvbnN0IEludFNpemUmIG5ld1NpemUpCiB7CiAgICAgbV9xbWxXZWJWaWV3LT5kX2Z1bmMo
KS0+ZGlkQ2hhbmdlQ29udGVudHNTaXplKG5ld1NpemUpOwpAQCAtNjE1LDQyICs2MDYsNiBAQCB2
b2lkIFF0V2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlTWVzc2FnZUZyb21OYXZpZ2F0b3JRdE9iamVj
dChjb25zdCBTdHJpbmcmIG1lc3NhZwogICAgIGVtaXQgcmVjZWl2ZWRNZXNzYWdlRnJvbU5hdmln
YXRvclF0T2JqZWN0KHZhcmlhbnRNYXApOwogfQogCi12b2lkIFF0V2ViUGFnZVByb3h5OjpkaWRD
aGFuZ2VVcmwoY29uc3QgUVVybCYgdXJsKQotewotICAgIGVtaXQgbV9xbWxXZWJWaWV3LT51cmxD
aGFuZ2VkKHVybCk7Ci19Ci0KLXZvaWQgUXRXZWJQYWdlUHJveHk6OmRpZENoYW5nZVRpdGxlKGNv
bnN0IFFTdHJpbmcmIG5ld1RpdGxlKQotewotICAgIGVtaXQgbV9xbWxXZWJWaWV3LT50aXRsZUNo
YW5nZWQobmV3VGl0bGUpOwotfQotCi12b2lkIFF0V2ViUGFnZVByb3h5Ojpsb2FkRGlkQmVnaW4o
KQotewotICAgIGVtaXQgbV9xbWxXZWJWaWV3LT5sb2FkU3RhcnRlZCgpOwotfQotCi12b2lkIFF0
V2ViUGFnZVByb3h5Ojpsb2FkRGlkQ29tbWl0KCkKLXsKLSAgICBtX3FtbFdlYlZpZXctPmRfZnVu
YygpLT5sb2FkRGlkQ29tbWl0KCk7Ci19Ci0KLXZvaWQgUXRXZWJQYWdlUHJveHk6OmxvYWREaWRT
dWNjZWVkKCkKLXsKLSAgICBlbWl0IG1fcW1sV2ViVmlldy0+bG9hZFN1Y2NlZWRlZCgpOwotfQot
Ci12b2lkIFF0V2ViUGFnZVByb3h5Ojpsb2FkRGlkRmFpbChjb25zdCBRdFdlYkVycm9yJiBlcnJv
cikKLXsKLSAgICBlbWl0IG1fcW1sV2ViVmlldy0+bG9hZEZhaWxlZChzdGF0aWNfY2FzdDxRUXVp
Y2tXZWJWaWV3OjpFcnJvclR5cGU+KGVycm9yLnR5cGUoKSksIGVycm9yLmVycm9yQ29kZSgpLCBl
cnJvci51cmwoKSk7Ci19Ci0KLXZvaWQgUXRXZWJQYWdlUHJveHk6OmRpZENoYW5nZUxvYWRQcm9n
cmVzcyhpbnQgcGVyY2VudGFnZUxvYWRlZCkKLXsKLSAgICBtX2xvYWRQcm9ncmVzcyA9IHBlcmNl
bnRhZ2VMb2FkZWQ7Ci0gICAgZW1pdCBtX3FtbFdlYlZpZXctPmxvYWRQcm9ncmVzc0NoYW5nZWQo
cGVyY2VudGFnZUxvYWRlZCk7Ci19Ci0KIGJvb2wgUXRXZWJQYWdlUHJveHk6OmNhbkdvQmFjaygp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fd2ViUGFnZVByb3h5LT5jYW5Hb0JhY2soKTsKQEAgLTY5
NSw5ICs2NTAsOSBAQCB2b2lkIFF0V2ViUGFnZVByb3h5OjpyZWxvYWQoKQogICAgIG1fd2ViUGFn
ZVByb3h5LT5yZWxvYWQoLyogcmVsb2FkRnJvbU9yaWdpbiAqLyB0cnVlKTsKIH0KIAotdm9pZCBR
dFdlYlBhZ2VQcm94eTo6bmF2aWdhdGlvblN0YXRlQ2hhbmdlZCgpCit2b2lkIFF0V2ViUGFnZVBy
b3h5Ojp1cGRhdGVOYXZpZ2F0aW9uU3RhdGUoKQogewotICAgIGVtaXQgdXBkYXRlTmF2aWdhdGlv
blN0YXRlKCk7CisgICAgZW1pdCBtX3FtbFdlYlZpZXctPm5hdmlnYXRpb25TdGF0ZUNoYW5nZWQo
KTsKIH0KIAogdm9pZCBRdFdlYlBhZ2VQcm94eTo6ZGlkUmVsYXVuY2hQcm9jZXNzKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQcm94eS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVByb3h5LmgKaW5kZXggYzE4MTJlOTMy
Y2M3NmZhZTNiYTM2OTQ1ODE4MjU5OGZmYjc0YzI1OS4uY2EzNjgyMDBlODI4MTk0OTAxOGQ3Y2U0
MjA4OWYyNTg4NTE3ODMyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0
L1F0V2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2Vi
UGFnZVByb3h5LmgKQEAgLTEwMSw3ICsxMDEsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IHBhZ2VDbG9zZWQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVsYXVuY2hQcm9jZXNzKCk7
CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoRmlyc3ROb25FbXB0eUxheW91dCgpOwogICAg
IHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1NpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6
ZSYpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMoY29uc3Qg
V2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMmKTsKIApAQCAtMTM4LDE2ICsxMzcsNiBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZEZpbmRab29tYWJsZUFyZWEoY29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CiAgICAgdmlydHVhbCB2b2lkIGRp
ZFJlY2VpdmVNZXNzYWdlRnJvbU5hdmlnYXRvclF0T2JqZWN0KGNvbnN0IFN0cmluZyYpOwogCi0g
ICAgdm9pZCBkaWRDaGFuZ2VVcmwoY29uc3QgUVVybCYpOwotICAgIHZvaWQgZGlkQ2hhbmdlVGl0
bGUoY29uc3QgUVN0cmluZyYpOwotCi0gICAgdm9pZCBsb2FkRGlkQmVnaW4oKTsKLSAgICB2b2lk
IGxvYWREaWRDb21taXQoKTsKLSAgICB2b2lkIGxvYWREaWRTdWNjZWVkKCk7Ci0gICAgdm9pZCBs
b2FkRGlkRmFpbChjb25zdCBRdFdlYkVycm9yJik7Ci0gICAgdm9pZCBkaWRDaGFuZ2VMb2FkUHJv
Z3Jlc3MoaW50KTsKLSAgICBpbnQgbG9hZFByb2dyZXNzKCkgY29uc3QgeyByZXR1cm4gbV9sb2Fk
UHJvZ3Jlc3M7IH0KLQogICAgIGJvb2wgY2FuR29CYWNrKCkgY29uc3Q7CiAgICAgdm9pZCBnb0Jh
Y2soKTsKICAgICBib29sIGNhbkdvRm9yd2FyZCgpIGNvbnN0OwpAQCAtMTU3LDYgKzE0Niw3IEBA
IHB1YmxpYzoKICAgICBib29sIGNhblJlbG9hZCgpIGNvbnN0OwogICAgIHZvaWQgcmVsb2FkKCk7
CiAKKyAgICB2b2lkIHVwZGF0ZU5hdmlnYXRpb25TdGF0ZSgpOwogICAgIHZvaWQgdXBkYXRlRWRp
dG9yQWN0aW9ucygpOwogCiAgICAgV0tQYWdlUmVmIHBhZ2VSZWYoKSBjb25zdDsKQEAgLTIwOSwx
MiArMTk5LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGhpZGVDb250ZXh0TWVudSgpOwogCiBwdWJs
aWMgUV9TTE9UUzoKLSAgICB2b2lkIG5hdmlnYXRpb25TdGF0ZUNoYW5nZWQoKTsKICAgICB2b2lk
IGRpZFJlY2VpdmVEb3dubG9hZFJlc3BvbnNlKFFXZWJEb3dubG9hZEl0ZW0qIGRvd25sb2FkSXRl
bSk7CiAKIHB1YmxpYzoKICAgICBRX1NJR05BTCB2b2lkIHpvb21hYmxlQXJlYUZvdW5kKGNvbnN0
IFFSZWN0Jik7Ci0gICAgUV9TSUdOQUwgdm9pZCB1cGRhdGVOYXZpZ2F0aW9uU3RhdGUoKTsKICAg
ICBRX1NJR05BTCB2b2lkIHJlY2VpdmVkTWVzc2FnZUZyb21OYXZpZ2F0b3JRdE9iamVjdChjb25z
dCBRVmFyaWFudE1hcCYpOwogCiBwcm90ZWN0ZWQ6CkBAIC0yNjMsNyArMjUxLDYgQEAgcHJpdmF0
ZToKICAgICBtdXRhYmxlIE93blB0cjxRV2ViUHJlZmVyZW5jZXM+IG1fcHJlZmVyZW5jZXM7CiAK
ICAgICBPd25QdHI8UVVuZG9TdGFjaz4gbV91bmRvU3RhY2s7Ci0gICAgaW50IG1fbG9hZFByb2dy
ZXNzOwogCiAgICAgYm9vbCBtX25hdmlnYXRvclF0T2JqZWN0RW5hYmxlZDsKICAgICBRUG9pbnQg
bV90cmlwbGVDbGljazsK
</data>
<flag name="review"
          id="115302"
          type_id="1"
          status="+"
          setter="kling"
    />
    <flag name="commit-queue"
          id="115317"
          type_id="3"
          status="-"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>