<?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>65225</bug_id>
          
          <creation_ts>2011-07-26 19:42:15 -0700</creation_ts>
          <short_desc>REGRESSION(r91809): Does not build on Chromium Windows (Requested by abarth on #webkit).</short_desc>
          <delta_ts>2011-07-26 19:48:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>65044</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>abarth</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>442708</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-26 19:42:15 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/91809 broke the build:
Does not build on Chromium Windows (Requested by abarth on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442709</commentid>
    <comment_count>1</comment_count>
      <attachid>102091</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-26 19:42:44 -0700</bug_when>
    <thetext>Created attachment 102091
ROLLOUT of r91809

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442714</commentid>
    <comment_count>2</comment_count>
      <attachid>102091</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-26 19:48:17 -0700</bug_when>
    <thetext>Comment on attachment 102091
ROLLOUT of r91809

Clearing flags on attachment: 102091

Committed r91816: &lt;http://trac.webkit.org/changeset/91816&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442715</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-26 19:48:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102091</attachid>
            <date>2011-07-26 19:42:44 -0700</date>
            <delta_ts>2011-07-26 19:48:17 -0700</delta_ts>
            <desc>ROLLOUT of r91809</desc>
            <filename>bug-65225-20110727024116.patch</filename>
            <type>text/plain</type>
            <size>41005</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTE4MTQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwNGEzMmU0NWRlOGFjMDE3
MWVkNzczODU4YjM4NGYwNTc5MTEwZjM0Li4zZDY3NzYxYTU0NDcyY2MyNmM3NDkwNWU2ZThjNmJl
ZDFhOTBhODg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMTEtMDctMjYgIFNoZXJp
ZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHI5MTgwOS4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9j
aGFuZ2VzZXQvOTE4MDkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY1MjI1CisKKyAgICAgICAgRG9lcyBub3QgYnVpbGQgb24gQ2hyb21pdW0gV2luZG93
cyAoUmVxdWVzdGVkIGJ5IGFiYXJ0aCBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAgICAq
IGRvbS9XaGVlbEV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldoZWVsRXZlbnQ6OldoZWVs
RXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6V2hlZWxFdmVudDo6aW5pdFdoZWVsRXZlbnQpOgor
ICAgICAgICAqIGRvbS9XaGVlbEV2ZW50Lmg6CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpFdmVudEhhbmRsZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVHZXN0dXJlRXZlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVUb3VjaEV2ZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50SGFuZGxlcjo6cmVzZXRHZXN0dXJlUmVjb2duaXplcik6CisgICAgICAgICog
cGFnZS9FdmVudEhhbmRsZXIuaDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnJlc2V0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0
Zm9ybUdlc3R1cmVFdmVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtR2VzdHVyZVJl
Y29nbml6ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9GcmFtZWxlc3NTY3JvbGxW
aWV3Lmg6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJlY29nbml6ZXJDaHJv
bWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbm5lckdlc3R1cmVSZWNvZ25pemVyOjpJbm5l
ckdlc3R1cmVSZWNvZ25pemVyKToKKyAgICAgICAgKFdlYkNvcmU6OklubmVyR2VzdHVyZVJlY29n
bml6ZXI6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OklubmVyR2VzdHVyZVJlY29nbml6ZXI6
OmRpc3BhdGNoU3ludGhldGljQ2xpY2spOgorICAgICAgICAoV2ViQ29yZTo6SW5uZXJHZXN0dXJl
UmVjb2duaXplcjo6cHJvY2Vzc1RvdWNoRXZlbnRGb3JHZXN0dXJlKToKKyAgICAgICAgKFdlYkNv
cmU6OklubmVyR2VzdHVyZVJlY29nbml6ZXI6OnNjcm9sbFZpYVRvdWNoTW90aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OnRvdWNoRG93bik6CisgICAgICAgIChXZWJDb3JlOjpub0dlc3R1cmUpOgor
ICAgICAgICAoV2ViQ29yZTo6Y2xpY2spOgorICAgICAgICAoV2ViQ29yZTo6aXNDbGlja09yU2Ny
b2xsKToKKyAgICAgICAgKFdlYkNvcmU6OmluU2Nyb2xsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9taXVtLmg6CisgICAgICAgIChXZWJDb3JlOjpH
ZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpHZXN0
dXJlUmVjb2duaXplckNocm9taXVtOjpwcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmUpOgorICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5oOgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFu
aW1hdG9yTWFjOjpoYW5kbGVHZXN0dXJlRXZlbnQpOgorCiAyMDExLTA3LTI2ICBEbWl0cnkgTG9t
b3YgIDxkc2xvbW92QGdvb2dsZS5jb20+CiAKICAgICAgICAgW1Y4XVtDaHJvbWl1bV0gUnVuIHdv
cmtlcnMgaW4gYSBzZXBhcmF0ZSB2ODo6SXNvbGF0ZSAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9XaGVlbEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmNw
cAppbmRleCA1NzNlYTYzZGYzODZjZWJiYTM2Nzc2Y2E5Njk5ODE0YWI0NDMwNTBiLi4wYTVkYTRj
MmI4MDVkOGZlZmViZGJkMDZhMWQ0NDc0ZmZlOWMzYjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vV2hlZWxFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1doZWVsRXZl
bnQuY3BwCkBAIC00Myw3ICs0Myw3IEBAIFdoZWVsRXZlbnQ6OldoZWVsRXZlbnQoY29uc3QgRmxv
YXRQb2ludCYgd2hlZWxUaWNrcywgY29uc3QgRmxvYXRQb2ludCYgcmF3RGVsdGEsCiAgICAgOiBN
b3VzZVJlbGF0ZWRFdmVudChldmVudE5hbWVzKCkubW91c2V3aGVlbEV2ZW50LAogICAgICAgICAg
ICAgICAgICAgICAgICAgdHJ1ZSwgdHJ1ZSwgdmlldywgMCwgc2NyZWVuTG9jYXRpb24sIHBhZ2VM
b2NhdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgIGN0cmxLZXksIGFsdEtleSwgc2hpZnRL
ZXksIG1ldGFLZXkpCi0gICAgLCBtX3doZWVsRGVsdGEoSW50UG9pbnQoc3RhdGljX2Nhc3Q8aW50
Pih3aGVlbFRpY2tzLngoKSAqIHRpY2tNdWx0aXBsaWVyKSwgc3RhdGljX2Nhc3Q8aW50Pih3aGVl
bFRpY2tzLnkoKSAqIHRpY2tNdWx0aXBsaWVyKSkpCisgICAgLCBtX3doZWVsRGVsdGEoSW50UG9p
bnQoc3RhdGljX2Nhc3Q8aW50Pih3aGVlbFRpY2tzLngoKSAqIDEyMCksIHN0YXRpY19jYXN0PGlu
dD4od2hlZWxUaWNrcy55KCkgKiAxMjApKSkKICAgICAsIG1fcmF3RGVsdGEocm91bmRlZEludFBv
aW50KHJhd0RlbHRhKSkKICAgICAsIG1fZ3JhbnVsYXJpdHkoZ3JhbnVsYXJpdHkpCiB7CkBAIC02
NSw3ICs2NSw3IEBAIHZvaWQgV2hlZWxFdmVudDo6aW5pdFdoZWVsRXZlbnQoaW50IHJhd0RlbHRh
WCwgaW50IHJhd0RlbHRhWSwgUGFzc1JlZlB0cjxBYnN0cmFjCiAgICAgbV9tZXRhS2V5ID0gbWV0
YUtleTsKICAgICAKICAgICAvLyBOb3JtYWxpemUgdG8gdGhlIFdpbmRvd3MgMTIwIG11bHRpcGxl
Ci0gICAgbV93aGVlbERlbHRhID0gSW50UG9pbnQocmF3RGVsdGFYICogdGlja011bHRpcGxpZXIs
IHJhd0RlbHRhWSAqIHRpY2tNdWx0aXBsaWVyKTsKKyAgICBtX3doZWVsRGVsdGEgPSBJbnRQb2lu
dChyYXdEZWx0YVggKiAxMjAsIHJhd0RlbHRhWSAqIDEyMCk7CiAgICAgCiAgICAgbV9yYXdEZWx0
YSA9IEludFBvaW50KHJhd0RlbHRhWCwgcmF3RGVsdGFZKTsKICAgICBtX2dyYW51bGFyaXR5ID0g
UGl4ZWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxFdmVudC5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL1doZWVsRXZlbnQuaAppbmRleCAwZjg1OTEyY2UxYTc3NzAyY2NiNzg3
ZDBlY2QxNzAyNzdkNzEzODhiLi45MTlkMDY5ZjU0ZjhmMjM3NjJmYzRkMGNjMDVmMmZjYWJiZmI4
N2ExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2hlZWxFdmVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmgKQEAgLTMyLDggKzMyLDYgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIC8vIGV4dGVuc2lvbjogbW91c2Ugd2hlZWwgZXZlbnQKICAgICBjbGFz
cyBXaGVlbEV2ZW50IDogcHVibGljIE1vdXNlUmVsYXRlZEV2ZW50IHsKICAgICBwdWJsaWM6Ci0g
ICAgICAgIGVudW0geyB0aWNrTXVsdGlwbGllciA9IDEyMCB9OwotCiAgICAgICAgIGVudW0gR3Jh
bnVsYXJpdHkgeyBQaXhlbCwgTGluZSwgUGFnZSB9OwogCiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFdoZWVsRXZlbnQ+IGNyZWF0ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAK
aW5kZXggODQ2YWZiYjc5ZTE3ZDE1MjFlNTk4NGM0ZDljODdjMGYyZGUwZDU4YS4uOTI5NWM4NjYy
MmVjMWFlMmEwMDhkZjAzNGE3YTlhMzQzMjIxZTU4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmNwcApAQCAtMTAwLDYgKzEwMCwxMCBAQAogI2luY2x1ZGUgIlRvdWNoTGlzdC5oIgog
I2VuZGlmCiAKKyNpZiBFTkFCTEUoR0VTVFVSRV9SRUNPR05JWkVSKQorI2luY2x1ZGUgIlBsYXRm
b3JtR2VzdHVyZVJlY29nbml6ZXIuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CkBAIC0yMDYsNiArMjEwLDkgQEAgRXZlbnRIYW5k
bGVyOjpFdmVudEhhbmRsZXIoRnJhbWUqIGZyYW1lKQogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMp
CiAgICAgLCBtX3RvdWNoUHJlc3NlZChmYWxzZSkKICNlbmRpZgorI2lmIEVOQUJMRShHRVNUVVJF
X1JFQ09HTklaRVIpCisgICAgLCBtX2dlc3R1cmVSZWNvZ25pemVyKFBsYXRmb3JtR2VzdHVyZVJl
Y29nbml6ZXI6OmNyZWF0ZSgpKQorI2VuZGlmCiB7CiB9CiAKQEAgLTIyMjAsMzMgKzIyMjcsMTEg
QEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBQbGF0Zm9ybUdl
c3R1cmVFdmVudCYgZ2VzdHVyZUV2ZW50KQogICAgIC8vIHRoYXQgaWYgYSBmcmFtZSBnZXRzIGEg
Z2VzdHVyZSBiZWdpbiBnZXN0dXJlLCBpdCBnZXRzIHRoZSBjb3JyZXNwb25kaW5nCiAgICAgLy8g
ZW5kIGdlc3R1cmUgYXMgd2VsbC4KIAotICAgIHN3aXRjaCAoZ2VzdHVyZUV2ZW50LnR5cGUoKSkg
ewotICAgIGNhc2UgUGxhdGZvcm1HZXN0dXJlRXZlbnQ6OlRhcFR5cGU6IHsKLSAgICAgICAgLy8g
RklYTUU6IFJlZmFjdG9yIHRoaXMgY29kZSB0byBub3QgaGl0IHRlc3QgbXVsdGlwbGUgdGltZXMg
b25jZSBoaXQgdGVzdGluZyBoYXMgYmVlbiBjb3JyZWN0ZWQgYXMgc3VnZ2VzdGVkIGFib3ZlLgot
ICAgICAgICBQbGF0Zm9ybU1vdXNlRXZlbnQgZmFrZU1vdXNlTW92ZShnZXN0dXJlRXZlbnQucG9z
aXRpb24oKSwgZ2VzdHVyZUV2ZW50Lmdsb2JhbFBvc2l0aW9uKCksIE5vQnV0dG9uLCBNb3VzZUV2
ZW50TW92ZWQsIC8qIGNsaWNrQ291bnQgKi8gMSwgZ2VzdHVyZUV2ZW50LnNoaWZ0S2V5KCksIGdl
c3R1cmVFdmVudC5jdHJsS2V5KCksIGdlc3R1cmVFdmVudC5hbHRLZXkoKSwgZ2VzdHVyZUV2ZW50
Lm1ldGFLZXkoKSwgZ2VzdHVyZUV2ZW50LnRpbWVzdGFtcCgpKTsKLSAgICAgICAgUGxhdGZvcm1N
b3VzZUV2ZW50IGZha2VNb3VzZURvd24oZ2VzdHVyZUV2ZW50LnBvc2l0aW9uKCksIGdlc3R1cmVF
dmVudC5nbG9iYWxQb3NpdGlvbigpLCBMZWZ0QnV0dG9uLCBNb3VzZUV2ZW50UHJlc3NlZCwgLyog
Y2xpY2tDb3VudCAqLyAxLCBnZXN0dXJlRXZlbnQuc2hpZnRLZXkoKSwgZ2VzdHVyZUV2ZW50LmN0
cmxLZXkoKSwgZ2VzdHVyZUV2ZW50LmFsdEtleSgpLCBnZXN0dXJlRXZlbnQubWV0YUtleSgpLCBn
ZXN0dXJlRXZlbnQudGltZXN0YW1wKCkpOwotICAgICAgICBQbGF0Zm9ybU1vdXNlRXZlbnQgZmFr
ZU1vdXNlVXAoZ2VzdHVyZUV2ZW50LnBvc2l0aW9uKCksIGdlc3R1cmVFdmVudC5nbG9iYWxQb3Np
dGlvbigpLCBMZWZ0QnV0dG9uLCBNb3VzZUV2ZW50UmVsZWFzZWQsIC8qIGNsaWNrQ291bnQgKi8g
MSwgZ2VzdHVyZUV2ZW50LnNoaWZ0S2V5KCksIGdlc3R1cmVFdmVudC5jdHJsS2V5KCksIGdlc3R1
cmVFdmVudC5hbHRLZXkoKSwgZ2VzdHVyZUV2ZW50Lm1ldGFLZXkoKSwgZ2VzdHVyZUV2ZW50LnRp
bWVzdGFtcCgpKTsKLSAgICAgICAgbW91c2VNb3ZlZChmYWtlTW91c2VNb3ZlKTsKLSAgICAgICAg
aGFuZGxlTW91c2VQcmVzc0V2ZW50KGZha2VNb3VzZURvd24pOwotICAgICAgICBoYW5kbGVNb3Vz
ZVJlbGVhc2VFdmVudChmYWtlTW91c2VVcCk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0K
LSAgICBjYXNlIFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpTY3JvbGxVcGRhdGVUeXBlOiB7Ci0gICAg
ICAgIGNvbnN0IGZsb2F0IHRpY2tEaXZpc29yID0gKGZsb2F0KVdoZWVsRXZlbnQ6OnRpY2tNdWx0
aXBsaWVyOwotICAgICAgICAvLyBGSVhNRTogUmVwbGFjZSB0aGlzIGludGVyaW0gaW1wbGVtZW50
YXRpb24gb25jZSB0aGUgYWJvdmUgZml4bWUgaGFzIGJlZW4gYWRkcmVzc2VkLgotICAgICAgICBQ
bGF0Zm9ybVdoZWVsRXZlbnQgc3ludGhldGljV2hlZWxFdmVudChnZXN0dXJlRXZlbnQucG9zaXRp
b24oKSwgZ2VzdHVyZUV2ZW50Lmdsb2JhbFBvc2l0aW9uKCksIGdlc3R1cmVFdmVudC5kZWx0YVgo
KSwgZ2VzdHVyZUV2ZW50LmRlbHRhWSgpLCBnZXN0dXJlRXZlbnQuZGVsdGFYKCkgLyB0aWNrRGl2
aXNvciwgZ2VzdHVyZUV2ZW50LmRlbHRhWSgpIC8gdGlja0Rpdmlzb3IsIFNjcm9sbEJ5UGl4ZWxX
aGVlbEV2ZW50LCAvKiBpc0FjY2VwdGVkICovIGZhbHNlLCBnZXN0dXJlRXZlbnQuc2hpZnRLZXko
KSwgZ2VzdHVyZUV2ZW50LmN0cmxLZXkoKSwgZ2VzdHVyZUV2ZW50LmFsdEtleSgpLCBnZXN0dXJl
RXZlbnQubWV0YUtleSgpKTsKLSAgICAgICAgaGFuZGxlV2hlZWxFdmVudChzeW50aGV0aWNXaGVl
bEV2ZW50KTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIGNhc2UgUGxhdGZvcm1H
ZXN0dXJlRXZlbnQ6OlNjcm9sbEJlZ2luVHlwZToKLSAgICBjYXNlIFBsYXRmb3JtR2VzdHVyZUV2
ZW50OjpTY3JvbGxFbmRUeXBlOgotICAgICAgICBGcmFtZVZpZXcqIHZpZXcgPSBtX2ZyYW1lLT52
aWV3KCk7Ci0gICAgICAgIGlmICghdmlldykKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICBGcmFtZVZpZXcqIHZpZXcgPSBtX2ZyYW1lLT52aWV3KCk7CisgICAgaWYgKCF2aWV3KQorICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgdmlldy0+aGFuZGxlR2VzdHVyZUV2ZW50KGdl
c3R1cmVFdmVudCk7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KKyAgICB2aWV3LT5oYW5k
bGVHZXN0dXJlRXZlbnQoZ2VzdHVyZUV2ZW50KTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KICNlbmRp
ZgpAQCAtMzMwMSw5ICszMjg2LDIxIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVUb3VjaEV2
ZW50KGNvbnN0IFBsYXRmb3JtVG91Y2hFdmVudCYgZXZlbnQpCiAgICAgICAgIH0KICAgICB9CiAK
KyNpZiBFTkFCTEUoR0VTVFVSRV9SRUNPR05JWkVSKQorICAgIGlmIChtX2dlc3R1cmVSZWNvZ25p
emVyKQorICAgICAgICBtX2dlc3R1cmVSZWNvZ25pemVyLT5wcm9jZXNzVG91Y2hFdmVudEZvckdl
c3R1cmUoZXZlbnQsIHRoaXMsIGRlZmF1bHRQcmV2ZW50ZWQpOworI2VuZGlmCisKICAgICByZXR1
cm4gZGVmYXVsdFByZXZlbnRlZDsKIH0KIAorI2lmIEVOQUJMRShHRVNUVVJFX1JFQ09HTklaRVIp
Cit2b2lkIEV2ZW50SGFuZGxlcjo6cmVzZXRHZXN0dXJlUmVjb2duaXplcigpCit7CisgICAgaWYg
KG1fZ2VzdHVyZVJlY29nbml6ZXIpCisgICAgICAgIG1fZ2VzdHVyZVJlY29nbml6ZXItPnJlc2V0
KCk7Cit9CisjZW5kaWYKIAogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmlu
ZGV4IGQxNzhiNmMxZTY2YTMxOWRjNTg0NDQ2N2NhYjJkNjdhZjg0M2Y0YTkuLjhhYjc0MzdlNmEy
MTE2NTgxNjJiMDQ5YWM4OTE3NmY4MDYyYTk4MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuaApAQCAtODAsNiArODAsMTAgQEAgY2xhc3MgV2lkZ2V0OwogY2xhc3MgUGxhdGZvcm1HZXN0
dXJlRXZlbnQ7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShHRVNUVVJFX1JFQ09HTklaRVIpCitjbGFz
cyBQbGF0Zm9ybUdlc3R1cmVSZWNvZ25pemVyOworI2VuZGlmCisKICNpZiBFTkFCTEUoRFJBR19T
VVBQT1JUKQogZXh0ZXJuIGNvbnN0IGludCBMaW5rRHJhZ0h5c3RlcmVzaXM7CiBleHRlcm4gY29u
c3QgaW50IEltYWdlRHJhZ0h5c3RlcmVzaXM7CkBAIC0xNjIsNiArMTY2LDEwIEBAIHB1YmxpYzoK
ICAgICBib29sIGhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBQbGF0Zm9ybUdlc3R1cmVFdmVudCYp
OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoR0VTVFVSRV9SRUNPR05JWkVSKQorICAgIHZvaWQgcmVz
ZXRHZXN0dXJlUmVjb2duaXplcigpOworI2VuZGlmCisKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5V
UykKICAgICBib29sIHNlbmRDb250ZXh0TWVudUV2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVu
dCYpOwogICAgIGJvb2wgc2VuZENvbnRleHRNZW51RXZlbnRGb3JLZXkoKTsKQEAgLTQyMSw2ICs0
MjksOSBAQCBwcml2YXRlOgogICAgIFRvdWNoVGFyZ2V0TWFwIG1fb3JpZ2luYXRpbmdUb3VjaFBv
aW50VGFyZ2V0czsKICAgICBib29sIG1fdG91Y2hQcmVzc2VkOwogI2VuZGlmCisjaWYgRU5BQkxF
KEdFU1RVUkVfUkVDT0dOSVpFUikKKyAgICBPd25QdHI8UGxhdGZvcm1HZXN0dXJlUmVjb2duaXpl
cj4gbV9nZXN0dXJlUmVjb2duaXplcjsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGU4ZGZkZjY0NDU5NTUyYjIzNTE3
MTQzZmRhZGY1OGNhOTA5MzJiNTMuLjYyN2U5NmUxMTI1MWFjNDExMDI0Y2JlMjk2NzI3ODRhODNm
ZGM4Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTIzMiw2ICsyMzIsMTAgQEAg
dm9pZCBGcmFtZVZpZXc6OnJlc2V0KCkKICAgICBtX2lzVmlzdWFsbHlOb25FbXB0eSA9IGZhbHNl
OwogICAgIG1fZmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Q2FsbGJhY2tQZW5kaW5nID0gdHJ1
ZTsKICAgICBtX21haW50YWluU2Nyb2xsUG9zaXRpb25BbmNob3IgPSAwOworCisjaWYgRU5BQkxF
KEdFU1RVUkVfUkVDT0dOSVpFUikKKyAgICBmcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+cmVzZXRH
ZXN0dXJlUmVjb2duaXplcigpOworI2VuZGlmCiB9CiAKIGJvb2wgRnJhbWVWaWV3Ojppc0ZyYW1l
VmlldygpIGNvbnN0IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZv
cm1HZXN0dXJlRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtR2VzdHVy
ZUV2ZW50LmgKaW5kZXggMThiN2QxYWEyZDFlZGY5YTgzZGVmMmYyNjZmMjUwOTAzNzk2ODQ3Yi4u
OTkxNTdlMTA4ZWFlYjA4MGVjM2JlNTMyNjUwODE5YzVhYTNhMzI5YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1HZXN0dXJlRXZlbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUdlc3R1cmVFdmVudC5oCkBAIC0zNyw4ICszNyw2IEBA
IHB1YmxpYzoKICAgICBlbnVtIFR5cGUgewogICAgICAgICBTY3JvbGxCZWdpblR5cGUsCiAgICAg
ICAgIFNjcm9sbEVuZFR5cGUsCi0gICAgICAgIFNjcm9sbFVwZGF0ZVR5cGUsCi0gICAgICAgIFRh
cFR5cGUKICAgICB9OwogCiAgICAgUGxhdGZvcm1HZXN0dXJlRXZlbnQoKQpAQCAtNDcsMjAgKzQ1
LDYgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBQbGF0Zm9ybUdlc3R1cmVFdmVudChU
eXBlIHR5cGUsIGNvbnN0IEludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIGdsb2Jh
bFBvc2l0aW9uLCBjb25zdCBkb3VibGUgdGltZXN0YW1wLCBjb25zdCBmbG9hdCBkZWx0YVgsIGNv
bnN0IGZsb2F0IGRlbHRhWSwgYm9vbCBzaGlmdEtleSwgYm9vbCBjdHJsS2V5LCBib29sIGFsdEtl
eSwgYm9vbCBtZXRhS2V5KQotICAgICAgICA6IG1fdHlwZSh0eXBlKQotICAgICAgICAsIG1fcG9z
aXRpb24ocG9zaXRpb24pCi0gICAgICAgICwgbV9nbG9iYWxQb3NpdGlvbihnbG9iYWxQb3NpdGlv
bikKLSAgICAgICAgLCBtX3RpbWVzdGFtcCh0aW1lc3RhbXApCi0gICAgICAgICwgbV9kZWx0YVgo
ZGVsdGFYKQotICAgICAgICAsIG1fZGVsdGFZKGRlbHRhWSkKLSAgICAgICAgLCBtX3NoaWZ0S2V5
KHNoaWZ0S2V5KQotICAgICAgICAsIG1fY3RybEtleShjdHJsS2V5KQotICAgICAgICAsIG1fYWx0
S2V5KGFsdEtleSkKLSAgICAgICAgLCBtX21ldGFLZXkobWV0YUtleSkKLSAgICB7Ci0gICAgfQot
CiAgICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CiAKICAgICBjb25zdCBJ
bnRQb2ludCYgcG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX3Bvc2l0aW9uOyB9IC8vIFBsYXRm
b3JtV2luZG93IGNvb3JkaW5hdGVzLgpAQCAtNjgsMjQgKzUyLDExIEBAIHB1YmxpYzoKIAogICAg
IGRvdWJsZSB0aW1lc3RhbXAoKSBjb25zdCB7IHJldHVybiBtX3RpbWVzdGFtcDsgfQogCi0gICAg
ZmxvYXQgZGVsdGFYKCkgY29uc3QgeyByZXR1cm4gbV9kZWx0YVg7IH0KLSAgICBmbG9hdCBkZWx0
YVkoKSBjb25zdCB7IHJldHVybiBtX2RlbHRhWTsgfQotICAgIGJvb2wgc2hpZnRLZXkoKSBjb25z
dCB7IHJldHVybiBtX3NoaWZ0S2V5OyB9Ci0gICAgYm9vbCBjdHJsS2V5KCkgY29uc3QgeyByZXR1
cm4gbV9jdHJsS2V5OyB9Ci0gICAgYm9vbCBhbHRLZXkoKSBjb25zdCB7IHJldHVybiBtX2FsdEtl
eTsgfQotICAgIGJvb2wgbWV0YUtleSgpIGNvbnN0IHsgcmV0dXJuIG1fbWV0YUtleTsgfQotCiBw
cm90ZWN0ZWQ6CiAgICAgVHlwZSBtX3R5cGU7CiAgICAgSW50UG9pbnQgbV9wb3NpdGlvbjsKICAg
ICBJbnRQb2ludCBtX2dsb2JhbFBvc2l0aW9uOwogICAgIGRvdWJsZSBtX3RpbWVzdGFtcDsKLSAg
ICBmbG9hdCBtX2RlbHRhWDsKLSAgICBmbG9hdCBtX2RlbHRhWTsKLSAgICBib29sIG1fc2hpZnRL
ZXk7Ci0gICAgYm9vbCBtX2N0cmxLZXk7Ci0gICAgYm9vbCBtX2FsdEtleTsKLSAgICBib29sIG1f
bWV0YUtleTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtR2VzdHVyZVJlY29nbml6ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtR2VzdHVyZVJlY29nbml6ZXIuaAppbmRleCAwYjg2YTky
NzZmYjZiZGVmOWI3YzM3ODgzYzUwOTNmNzdlMDRjYjNjLi4yZjgwNWJkMjYyNzFkYzE0ZDM5MDQ1
M2UzYzkwNmNlMGExNDNiNWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Q
bGF0Zm9ybUdlc3R1cmVSZWNvZ25pemVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
UGxhdGZvcm1HZXN0dXJlUmVjb2duaXplci5oCkBAIC0zMSwxNSArMzEsMTggQEAKICNpZm5kZWYg
UGxhdGZvcm1HZXN0dXJlUmVjb2duaXplcl9oCiAjZGVmaW5lIFBsYXRmb3JtR2VzdHVyZVJlY29n
bml6ZXJfaAogCi0jaW5jbHVkZSAiUGxhdGZvcm1HZXN0dXJlRXZlbnQuaCIKICNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBFdmVudEhhbmRsZXI7CitjbGFzcyBQbGF0Zm9ybUdlc3R1cmVSZWNv
Z25pemVyOwogY2xhc3MgUGxhdGZvcm1Ub3VjaEV2ZW50OwogCisvLyBBIEdlc3R1cmVSZWNvZ25p
emVyIGRldGVjdHMgZ2VzdHVyZXMgb2NjdXJyaW5nIGluIHRoZSB0b3VjaCBldmVudC4KKy8vIElu
IHJlc3BvbnNlIHRvIGEgZ2l2ZW4gdG91Y2ggZXZlbnQsIHRoZSBHZXN0dXJlUmVjb2duaXplciwg
dXBkYXRlcworLy8gaXRzIGludGVybmFsIHN0YXRlIGFuZCBvcHRpb25hbGx5IGRpc3BhdGNoZXMg
c3ludGhldGljIGV2ZW50cyB0byB0aGUKKy8vIGludm9raW5nIEV2ZW50SGFuZGxlciBpbnN0YW5j
ZS4KIGNsYXNzIFBsYXRmb3JtR2VzdHVyZVJlY29nbml6ZXIgewogcHJvdGVjdGVkOgogICAgIFBs
YXRmb3JtR2VzdHVyZVJlY29nbml6ZXIoKTsKQEAgLTQ4LDEwICs1MSwxMiBAQCBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8UGxhdGZvcm1HZXN0dXJlUmVjb2duaXplcj4gY3JlYXRlKCk7
CiAgICAgdmlydHVhbCB+UGxhdGZvcm1HZXN0dXJlUmVjb2duaXplcigpOwogCi0gICAgdHlwZWRl
ZiBQYXNzT3duUHRyPFZlY3RvcjxQbGF0Zm9ybUdlc3R1cmVFdmVudD4gPiBQYXNzR2VzdHVyZXM7
Ci0KLSAgICAvLyBJbnZva2VkIGZvciBlYWNoIHRvdWNoIGV2ZW50IGFuZCByZXR1cm5zIDAgb3Ig
bW9yZSByZXN1bHRpbmcgZ2VzdHVyZXMuCi0gICAgdmlydHVhbCBQYXNzR2VzdHVyZXMgcHJvY2Vz
c1RvdWNoRXZlbnRGb3JHZXN0dXJlcyhjb25zdCBQbGF0Zm9ybVRvdWNoRXZlbnQmLCBib29sIGRl
ZmF1bHRQcmV2ZW50ZWQpID0gMDsKKyAgICAvLyBJbnZva2VkIGZvciBlYWNoIHRvdWNoIGV2ZW50
IHRoYXQgY291bGQgY29udHJpYnV0ZSB0byB0aGUgY3VycmVudCBnZXN0dXJlLgorICAgIC8vIFRh
a2VzIGEgUGxhdGZvcm1Ub3VjaEV2ZW50IGFuZCB0aGUgRXZlbnRIYW5kbGVyIHRoYXQgb3JpZ2lu
YXRlZCBpdCBhbmQgd2hpY2ggd2lsbCBhbHNvCisgICAgLy8gYmUgdGhlIHRhcmdldCBvZiBhbnkg
Z2VuZXJhdGVkIHN5bnRoZXRpYyBldmVudC4gRmluYWxseSwgfGhhbmRsZWR8CisgICAgLy8gc3Bl
Y2lmaWVzIGlmIHRoZSB8ZXZlbnR8IHdhcyBhY3R1YWxseSBoYW5kbGVkIGJ5IHxzb3VyY2V8IChi
eSB0aGUgSmF2YVNjcmlwdCkKKyAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlIGV2ZW50IHJlc3Vs
dGVkIGluIGZpcmluZyBhIHN5bnRoZXRpYyBldmVudC4KKyAgICB2aXJ0dWFsIGJvb2wgcHJvY2Vz
c1RvdWNoRXZlbnRGb3JHZXN0dXJlKGNvbnN0IFBsYXRmb3JtVG91Y2hFdmVudCYsIEV2ZW50SGFu
ZGxlciosIGJvb2wgaGFuZGxlZCkgPSAwOwogCiAgICAgLy8gQ2xlYXJzIHRoZSBHZXN0dXJlUmVj
b2duaXplciB0byBpdHMgaW5pdGlhbCBzdGF0ZS4KICAgICB2aXJ0dWFsIHZvaWQgcmVzZXQoKSA9
IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9GcmFtZWxl
c3NTY3JvbGxWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9GcmFtZWxl
c3NTY3JvbGxWaWV3LmgKaW5kZXggYzZjYzJiNWYzNGI0MmU2NGMyNTU4NWQ5Zjc4Yzk1Y2I5YTYx
ZTc1ZC4uZDU0ZjU0MzJjYzc0MTgwMjEwNWI4NjdkYjIzNTAwYjdkMDg0ZThlMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vRnJhbWVsZXNzU2Nyb2xsVmlldy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0ZyYW1lbGVzc1Njcm9sbFZp
ZXcuaApAQCAtMzYsMTQgKzM2LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNz
IEZyYW1lbGVzc1Njcm9sbFZpZXdDbGllbnQ7Ci0jaWYgRU5BQkxFKEdFU1RVUkVfUkVDT0dOSVpF
UikKLSAgICBjbGFzcyBQbGF0Zm9ybUdlc3R1cmVFdmVudDsKLSNlbmRpZgogICAgIGNsYXNzIFBs
YXRmb3JtS2V5Ym9hcmRFdmVudDsKICAgICBjbGFzcyBQbGF0Zm9ybU1vdXNlRXZlbnQ7Ci0jaWYg
RU5BQkxFKFRPVUNIX0VWRU5UUykKLSAgICBjbGFzcyBQbGF0Zm9ybVRvdWNoRXZlbnQ7Ci0jZW5k
aWYKICAgICBjbGFzcyBQbGF0Zm9ybVdoZWVsRXZlbnQ7CiAKICAgICAvLyBBIEZyYW1lbGVzc1Nj
cm9sbFZpZXcgaXMgYSBTY3JvbGxWaWV3IHRoYXQgY2FuIGJlIHVzZWQgdG8gcmVuZGVyIGN1c3Rv
bQpAQCAtNjYsMTIgKzYwLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFs
IGJvb2wgaGFuZGxlTW91c2VSZWxlYXNlRXZlbnQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50Jikg
PSAwOwogICAgICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9y
bVdoZWVsRXZlbnQmKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVLZXlFdmVudChj
b25zdCBQbGF0Zm9ybUtleWJvYXJkRXZlbnQmKSA9IDA7Ci0jaWYgRU5BQkxFKFRPVUNIX0VWRU5U
UykKLSAgICAgICAgdmlydHVhbCBib29sIGhhbmRsZVRvdWNoRXZlbnQoY29uc3QgUGxhdGZvcm1U
b3VjaEV2ZW50JikgPSAwOwotI2VuZGlmCi0jaWYgRU5BQkxFKEdFU1RVUkVfUkVDT0dOSVpFUikK
LSAgICAgICAgdmlydHVhbCBib29sIGhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBQbGF0Zm9ybUdl
c3R1cmVFdmVudCYpID0gMDsKLSNlbmRpZgogCiAgICAgICAgIC8vIFNjcm9sbGFibGVBcmVhIHB1
YmxpYyBtZXRob2RzOgogICAgICAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVNjcm9sbGJhclJl
Y3QoU2Nyb2xsYmFyKiwgY29uc3QgSW50UmVjdCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9taXVtLmNw
cAppbmRleCA5MDU4MjAxZDlhYTdhODllM2QwZTA5YmZhYTRmMzQ1YTdkMTI3NDQ3Li40MGZlODlm
NGFhZjRjMjlkNmExNDJkNGVlYzkwMTMwY2IxZDMyY2NlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9taXVtLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9t
aXVtLmNwcApAQCAtMzEsMTcgKzMxLDE3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bS5oIgogCisjaW5jbHVkZSAiRXZlbnRIYW5kbGVy
LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1X
aGVlbEV2ZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotLy8gRklYTUU6IENvbnZlcnQg
dG8gbWV0aG9kcy4KLXN0YXRpYyBib29sIGNsaWNrKElubmVyR2VzdHVyZVJlY29nbml6ZXIqLCBj
b25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmLCBJbm5lckdlc3R1cmVSZWNvZ25pemVyOjpHZXN0dXJl
cyk7Ci1zdGF0aWMgYm9vbCBpc0NsaWNrT3JTY3JvbGwoSW5uZXJHZXN0dXJlUmVjb2duaXplcios
IGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYsIElubmVyR2VzdHVyZVJlY29nbml6ZXI6Okdlc3R1
cmVzKTsKLXN0YXRpYyBib29sIGluU2Nyb2xsKElubmVyR2VzdHVyZVJlY29nbml6ZXIqLCBjb25z
dCBQbGF0Zm9ybVRvdWNoUG9pbnQmLCBJbm5lckdlc3R1cmVSZWNvZ25pemVyOjpHZXN0dXJlcyk7
Ci1zdGF0aWMgYm9vbCBub0dlc3R1cmUoSW5uZXJHZXN0dXJlUmVjb2duaXplciosIGNvbnN0IFBs
YXRmb3JtVG91Y2hQb2ludCYsIElubmVyR2VzdHVyZVJlY29nbml6ZXI6Okdlc3R1cmVzKTsKLXN0
YXRpYyBib29sIHRvdWNoRG93bihJbm5lckdlc3R1cmVSZWNvZ25pemVyKiwgY29uc3QgUGxhdGZv
cm1Ub3VjaFBvaW50JiwgSW5uZXJHZXN0dXJlUmVjb2duaXplcjo6R2VzdHVyZXMpOworc3RhdGlj
IGJvb2wgY2xpY2soSW5uZXJHZXN0dXJlUmVjb2duaXplciosIGNvbnN0IFBsYXRmb3JtVG91Y2hQ
b2ludCYpOworc3RhdGljIGJvb2wgaXNDbGlja09yU2Nyb2xsKElubmVyR2VzdHVyZVJlY29nbml6
ZXIqLCBjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmKTsKK3N0YXRpYyBib29sIGluU2Nyb2xsKElu
bmVyR2VzdHVyZVJlY29nbml6ZXIqLCBjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmKTsKK3N0YXRp
YyBib29sIG5vR2VzdHVyZShJbm5lckdlc3R1cmVSZWNvZ25pemVyKiwgY29uc3QgUGxhdGZvcm1U
b3VjaFBvaW50Jik7CitzdGF0aWMgYm9vbCB0b3VjaERvd24oSW5uZXJHZXN0dXJlUmVjb2duaXpl
ciosIGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYpOwogCiAvLyBGSVhNRTogTWFrZSB0aGVzZSBj
b25maWd1cmFibGUgcHJvZ3JhbW1hdGljYWxseS4KIHN0YXRpYyBjb25zdCBkb3VibGUgbWF4aW11
bVRvdWNoRG93bkR1cmF0aW9uSW5TZWNvbmRzRm9yQ2xpY2sgPSAwLjg7CkBAIC01Miw2ICs1Miw3
IEBAIElubmVyR2VzdHVyZVJlY29nbml6ZXI6OklubmVyR2VzdHVyZVJlY29nbml6ZXIoKQogICAg
IDogbV9maXJzdFRvdWNoVGltZSgwLjApCiAgICAgLCBtX3N0YXRlKElubmVyR2VzdHVyZVJlY29n
bml6ZXI6Ok5vR2VzdHVyZSkKICAgICAsIG1fbGFzdFRvdWNoVGltZSgwLjApCisgICAgLCBtX2V2
ZW50SGFuZGxlcigwKQogICAgICwgbV9jdHJsS2V5KGZhbHNlKQogICAgICwgbV9hbHRLZXkoZmFs
c2UpCiAgICAgLCBtX3NoaWZ0S2V5KGZhbHNlKQpAQCAtNzksNiArODAsNyBAQCB2b2lkIElubmVy
R2VzdHVyZVJlY29nbml6ZXI6OnJlc2V0KCkKICAgICBtX2ZpcnN0VG91Y2hUaW1lID0gMC4wOwog
ICAgIG1fc3RhdGUgPSBJbm5lckdlc3R1cmVSZWNvZ25pemVyOjpOb0dlc3R1cmU7CiAgICAgbV9s
YXN0VG91Y2hUaW1lID0gMC4wOworICAgIG1fZXZlbnRIYW5kbGVyID0gMDsKIH0KIAogSW5uZXJH
ZXN0dXJlUmVjb2duaXplcjo6fklubmVyR2VzdHVyZVJlY29nbml6ZXIoKQpAQCAtMTAyLDM2ICsx
MDQsNDQgQEAgYm9vbCBJbm5lckdlc3R1cmVSZWNvZ25pemVyOjppc0luc2lkZU1hbmhhdHRhblNx
dWFyZShjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmIHAKICAgICByZXR1cm4gbWFuaGF0dGFuRGlz
dGFuY2UgPCBtYXhpbXVtVG91Y2hNb3ZlSW5QaXhlbHNGb3JDbGljazsKIH0KIAotdm9pZCBJbm5l
ckdlc3R1cmVSZWNvZ25pemVyOjphcHBlbmRDbGlja0dlc3R1cmVFdmVudChjb25zdCBQbGF0Zm9y
bVRvdWNoUG9pbnQmIHRvdWNoUG9pbnQsIElubmVyR2VzdHVyZVJlY29nbml6ZXI6Okdlc3R1cmVz
IGdlc3R1cmVzKQordm9pZCBJbm5lckdlc3R1cmVSZWNvZ25pemVyOjpkaXNwYXRjaFN5bnRoZXRp
Y0NsaWNrKGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYgcG9pbnQpCiB7Ci0gICAgZ2VzdHVyZXMt
PmFwcGVuZChQbGF0Zm9ybUdlc3R1cmVFdmVudChQbGF0Zm9ybUdlc3R1cmVFdmVudDo6VGFwVHlw
ZSwgdG91Y2hQb2ludC5wb3MoKSwgdG91Y2hQb2ludC5zY3JlZW5Qb3MoKSwgbV9sYXN0VG91Y2hU
aW1lLCAwLjBmLCAwLjBmLCBtX3NoaWZ0S2V5LCBtX2N0cmxLZXksIG1fYWx0S2V5LCBtX21ldGFL
ZXkpKTsKKyAgICBQbGF0Zm9ybU1vdXNlRXZlbnQgZmFrZU1vdXNlTW92ZShwb2ludC5wb3MoKSwg
cG9pbnQuc2NyZWVuUG9zKCksIE5vQnV0dG9uLCBNb3VzZUV2ZW50TW92ZWQsIC8qIGNsaWNrQ291
bnQgKi8gMSwgbV9zaGlmdEtleSwgbV9jdHJsS2V5LCBtX2FsdEtleSwgbV9tZXRhS2V5LCBtX2xh
c3RUb3VjaFRpbWUpOworICAgIFBsYXRmb3JtTW91c2VFdmVudCBmYWtlTW91c2VEb3duKHBvaW50
LnBvcygpLCBwb2ludC5zY3JlZW5Qb3MoKSwgTGVmdEJ1dHRvbiwgTW91c2VFdmVudFByZXNzZWQs
IC8qIGNsaWNrQ291bnQgKi8gMSwgbV9zaGlmdEtleSwgbV9jdHJsS2V5LCBtX2FsdEtleSwgbV9t
ZXRhS2V5LCBtX2xhc3RUb3VjaFRpbWUpOworICAgIFBsYXRmb3JtTW91c2VFdmVudCBmYWtlTW91
c2VVcChwb2ludC5wb3MoKSwgcG9pbnQuc2NyZWVuUG9zKCksIExlZnRCdXR0b24sIE1vdXNlRXZl
bnRSZWxlYXNlZCwgLyogY2xpY2tDb3VudCAqLyAxLCBtX3NoaWZ0S2V5LCBtX2N0cmxLZXksIG1f
YWx0S2V5LCBtX21ldGFLZXksIG1fbGFzdFRvdWNoVGltZSk7CisKKyAgICBtX2V2ZW50SGFuZGxl
ci0+bW91c2VNb3ZlZChmYWtlTW91c2VNb3ZlKTsKKyAgICBtX2V2ZW50SGFuZGxlci0+aGFuZGxl
TW91c2VQcmVzc0V2ZW50KGZha2VNb3VzZURvd24pOworICAgIG1fZXZlbnRIYW5kbGVyLT5oYW5k
bGVNb3VzZVJlbGVhc2VFdmVudChmYWtlTW91c2VVcCk7CiB9CiAKLVBsYXRmb3JtR2VzdHVyZVJl
Y29nbml6ZXI6OlBhc3NHZXN0dXJlcyBJbm5lckdlc3R1cmVSZWNvZ25pemVyOjpwcm9jZXNzVG91
Y2hFdmVudEZvckdlc3R1cmVzKGNvbnN0IFBsYXRmb3JtVG91Y2hFdmVudCYgZXZlbnQsIGJvb2wg
ZGVmYXVsdFByZXZlbnRlZCkKK2Jvb2wgSW5uZXJHZXN0dXJlUmVjb2duaXplcjo6cHJvY2Vzc1Rv
dWNoRXZlbnRGb3JHZXN0dXJlKGNvbnN0IFBsYXRmb3JtVG91Y2hFdmVudCYgZXZlbnQsIEV2ZW50
SGFuZGxlciogZXZlbnRIYW5kbGVyLCBib29sIGhhbmRsZWQpCiB7CisgICAgbV9ldmVudEhhbmRs
ZXIgPSBldmVudEhhbmRsZXI7CiAgICAgbV9jdHJsS2V5ID0gZXZlbnQuY3RybEtleSgpOwogICAg
IG1fYWx0S2V5ID0gZXZlbnQuYWx0S2V5KCk7CiAgICAgbV9zaGlmdEtleSA9IGV2ZW50LnNoaWZ0
S2V5KCk7CiAgICAgbV9tZXRhS2V5ID0gZXZlbnQubWV0YUtleSgpOwogCi0gICAgT3duUHRyPFZl
Y3RvcjxQbGF0Zm9ybUdlc3R1cmVFdmVudD4gPiBnZXN0dXJlcyA9IGFkb3B0UHRyKG5ldyBWZWN0
b3I8UGxhdGZvcm1HZXN0dXJlRXZlbnQ+KCkpOwogICAgIGNvbnN0IFZlY3RvcjxQbGF0Zm9ybVRv
dWNoUG9pbnQ+JiBwb2ludHMgPSBldmVudC50b3VjaFBvaW50cygpOwogICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBwb2ludHMuc2l6ZSgpOyBpKyspIHsKICAgICAgICAgY29uc3QgUGxhdGZv
cm1Ub3VjaFBvaW50JiBwID0gcG9pbnRzW2ldOwogICAgICAgICB1cGRhdGVWYWx1ZXMoZXZlbnQu
dGltZXN0YW1wKCksIHApOwogCi0gICAgICAgIGlmIChHZXN0dXJlVHJhbnNpdGlvbkZ1bmN0aW9u
IGVmID0gbV9lZGdlRnVuY3Rpb25zLmdldChzaWduYXR1cmUobV9zdGF0ZSwgcC5pZCgpLCBwLnN0
YXRlKCksIGRlZmF1bHRQcmV2ZW50ZWQpKSkKLSAgICAgICAgICAgICgqZWYpKHRoaXMsIHAsIGdl
c3R1cmVzLmdldCgpKTsKKyAgICAgICAgaWYgKEdlc3R1cmVUcmFuc2l0aW9uRnVuY3Rpb24gZWYg
PSBtX2VkZ2VGdW5jdGlvbnMuZ2V0KHNpZ25hdHVyZShtX3N0YXRlLCBwLmlkKCksIHAuc3RhdGUo
KSwgaGFuZGxlZCkpKQorICAgICAgICAgICAgaGFuZGxlZCA9ICgqZWYpKHRoaXMsIHApOwogICAg
IH0KLSAgICByZXR1cm4gZ2VzdHVyZXMucmVsZWFzZSgpOworICAgIHJldHVybiBoYW5kbGVkOwog
fQogCi12b2lkIElubmVyR2VzdHVyZVJlY29nbml6ZXI6OmFwcGVuZFNjcm9sbEdlc3R1cmUoY29u
c3QgUGxhdGZvcm1Ub3VjaFBvaW50JiB0b3VjaFBvaW50LCBHZXN0dXJlcyBnZXN0dXJlcykKK3Zv
aWQgSW5uZXJHZXN0dXJlUmVjb2duaXplcjo6c2Nyb2xsVmlhVG91Y2hNb3Rpb24oY29uc3QgUGxh
dGZvcm1Ub3VjaFBvaW50JiB0b3VjaFBvaW50KQogewogICAgIGZsb2F0IGRlbHRhWCh0b3VjaFBv
aW50LnBvcygpLngoKSAtIG1fZmlyc3RUb3VjaFBvc2l0aW9uLngoKSk7CiAgICAgZmxvYXQgZGVs
dGFZKHRvdWNoUG9pbnQucG9zKCkueSgpIC0gbV9maXJzdFRvdWNoUG9zaXRpb24ueSgpKTsKIAot
ICAgIGdlc3R1cmVzLT5hcHBlbmQoUGxhdGZvcm1HZXN0dXJlRXZlbnQoUGxhdGZvcm1HZXN0dXJl
RXZlbnQ6OlNjcm9sbFVwZGF0ZVR5cGUsIHRvdWNoUG9pbnQucG9zKCksIHRvdWNoUG9pbnQuc2Ny
ZWVuUG9zKCksIG1fbGFzdFRvdWNoVGltZSwgZGVsdGFYLCBkZWx0YVksIG1fc2hpZnRLZXksIG1f
Y3RybEtleSwgbV9hbHRLZXksIG1fbWV0YUtleSkpOworICAgIC8vIEZJWE1FOiBDb252ZXJ0IHRv
IGdlc3R1cmUgZXZlbnRzIHdoZW4gdGhleSBoYW5kbGUgc3ViZnJhbWVzLgorICAgIFBsYXRmb3Jt
V2hlZWxFdmVudCBzeW50aGV0aWNXaGVlbEV2ZW50KHRvdWNoUG9pbnQucG9zKCksIHRvdWNoUG9p
bnQuc2NyZWVuUG9zKCksIGRlbHRhWCwgZGVsdGFZLCBkZWx0YVggLyBzdGF0aWNfY2FzdDxmbG9h
dD4oMTIwKSwgZGVsdGFZIC8gc3RhdGljX2Nhc3Q8ZmxvYXQ+KDEyMCksIFNjcm9sbEJ5UGl4ZWxX
aGVlbEV2ZW50LCAvKiBpc0FjY2VwdGVkICovIGZhbHNlLCBtX3NoaWZ0S2V5LCBtX2N0cmxLZXks
IG1fYWx0S2V5LCBtX21ldGFLZXkpOworICAgIG1fZXZlbnRIYW5kbGVyLT5oYW5kbGVXaGVlbEV2
ZW50KHN5bnRoZXRpY1doZWVsRXZlbnQpOwogICAgIG1fZmlyc3RUb3VjaFBvc2l0aW9uID0gdG91
Y2hQb2ludC5wb3MoKTsKIH0KIApAQCAtMTU2LDI5ICsxNjYsMjkgQEAgdW5zaWduZWQgaW50IElu
bmVyR2VzdHVyZVJlY29nbml6ZXI6OnNpZ25hdHVyZShTdGF0ZSBnZXN0dXJlU3RhdGUsIHVuc2ln
bmVkIGlkLAogICAgIHJldHVybiAxICsgKCh0b3VjaFR5cGUgJiAweDcpIDw8IDEgfCAoaGFuZGxl
ZCA/IDEgPDwgNCA6IDApIHwgKChpZCAmIDB4ZmZmKSA8PCA1ICkgfCAoZ2VzdHVyZVN0YXRlIDw8
IDE3KSk7CiB9CiAKLXN0YXRpYyBib29sIHRvdWNoRG93bihJbm5lckdlc3R1cmVSZWNvZ25pemVy
KiBnZXN0dXJlUmVjb2duaXplciwgY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiwgSW5uZXJHZXN0
dXJlUmVjb2duaXplcjo6R2VzdHVyZXMgZ2VzdHVyZXMpCitzdGF0aWMgYm9vbCB0b3VjaERvd24o
SW5uZXJHZXN0dXJlUmVjb2duaXplciogZ2VzdHVyZVJlY29nbml6ZXIsIGNvbnN0IFBsYXRmb3Jt
VG91Y2hQb2ludCYpCiB7CiAgICAgZ2VzdHVyZVJlY29nbml6ZXItPnNldFN0YXRlKElubmVyR2Vz
dHVyZVJlY29nbml6ZXI6OlBlbmRpbmdTeW50aGV0aWNDbGljayk7CiAgICAgcmV0dXJuIGZhbHNl
OwogfQogCi1zdGF0aWMgYm9vbCBub0dlc3R1cmUoSW5uZXJHZXN0dXJlUmVjb2duaXplciogZ2Vz
dHVyZVJlY29nbml6ZXIsIGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYsIElubmVyR2VzdHVyZVJl
Y29nbml6ZXI6Okdlc3R1cmVzIGdlc3R1cmVzKQorYm9vbCBub0dlc3R1cmUoSW5uZXJHZXN0dXJl
UmVjb2duaXplciogZ2VzdHVyZVJlY29nbml6ZXIsIGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYp
CiB7CiAgICAgZ2VzdHVyZVJlY29nbml6ZXItPnJlc2V0KCk7CiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCi1zdGF0aWMgYm9vbCBjbGljayhJbm5lckdlc3R1cmVSZWNvZ25pemVyKiBnZXN0dXJlUmVj
b2duaXplciwgY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiBwb2ludCwgSW5uZXJHZXN0dXJlUmVj
b2duaXplcjo6R2VzdHVyZXMgZ2VzdHVyZXMpCitzdGF0aWMgYm9vbCBjbGljayhJbm5lckdlc3R1
cmVSZWNvZ25pemVyKiBnZXN0dXJlUmVjb2duaXplciwgY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50
JiBwb2ludCkKIHsKICAgICBpZiAoZ2VzdHVyZVJlY29nbml6ZXItPmlzSW5DbGlja1RpbWVXaW5k
b3coKSAmJiBnZXN0dXJlUmVjb2duaXplci0+aXNJbnNpZGVNYW5oYXR0YW5TcXVhcmUocG9pbnQp
KSB7CiAgICAgICAgIGdlc3R1cmVSZWNvZ25pemVyLT5zZXRTdGF0ZShJbm5lckdlc3R1cmVSZWNv
Z25pemVyOjpOb0dlc3R1cmUpOwotICAgICAgICBnZXN0dXJlUmVjb2duaXplci0+YXBwZW5kQ2xp
Y2tHZXN0dXJlRXZlbnQocG9pbnQsIGdlc3R1cmVzKTsKKyAgICAgICAgZ2VzdHVyZVJlY29nbml6
ZXItPmRpc3BhdGNoU3ludGhldGljQ2xpY2socG9pbnQpOwogICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICB9Ci0gICAgcmV0dXJuIG5vR2VzdHVyZShnZXN0dXJlUmVjb2duaXplciwgcG9pbnQsIGdl
c3R1cmVzKTsKKyAgICByZXR1cm4gbm9HZXN0dXJlKGdlc3R1cmVSZWNvZ25pemVyLCBwb2ludCk7
CiB9CiAKLXN0YXRpYyBib29sIGlzQ2xpY2tPclNjcm9sbChJbm5lckdlc3R1cmVSZWNvZ25pemVy
KiBnZXN0dXJlUmVjb2duaXplciwgY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiBwb2ludCwgSW5u
ZXJHZXN0dXJlUmVjb2duaXplcjo6R2VzdHVyZXMgZ2VzdHVyZXMpCitzdGF0aWMgYm9vbCBpc0Ns
aWNrT3JTY3JvbGwoSW5uZXJHZXN0dXJlUmVjb2duaXplciogZ2VzdHVyZVJlY29nbml6ZXIsIGNv
bnN0IFBsYXRmb3JtVG91Y2hQb2ludCYgcG9pbnQpCiB7CiAgICAgaWYgKGdlc3R1cmVSZWNvZ25p
emVyLT5pc0luQ2xpY2tUaW1lV2luZG93KCkgJiYgZ2VzdHVyZVJlY29nbml6ZXItPmlzSW5zaWRl
TWFuaGF0dGFuU3F1YXJlKHBvaW50KSkgewogICAgICAgICBnZXN0dXJlUmVjb2duaXplci0+c2V0
U3RhdGUoSW5uZXJHZXN0dXJlUmVjb2duaXplcjo6UGVuZGluZ1N5bnRoZXRpY0NsaWNrKTsKQEAg
LTE4NiwxNiArMTk2LDE2IEBAIHN0YXRpYyBib29sIGlzQ2xpY2tPclNjcm9sbChJbm5lckdlc3R1
cmVSZWNvZ25pemVyKiBnZXN0dXJlUmVjb2duaXplciwgY29uc3QgUGxhCiAgICAgfQogCiAgICAg
aWYgKHBvaW50LnN0YXRlKCkgPT0gUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaE1vdmVkICYmICFn
ZXN0dXJlUmVjb2duaXplci0+aXNJbnNpZGVNYW5oYXR0YW5TcXVhcmUocG9pbnQpKSB7Ci0gICAg
ICAgIGdlc3R1cmVSZWNvZ25pemVyLT5hcHBlbmRTY3JvbGxHZXN0dXJlKHBvaW50LCBnZXN0dXJl
cyk7CisgICAgICAgIGdlc3R1cmVSZWNvZ25pemVyLT5zY3JvbGxWaWFUb3VjaE1vdGlvbihwb2lu
dCk7CiAgICAgICAgIGdlc3R1cmVSZWNvZ25pemVyLT5zZXRTdGF0ZShJbm5lckdlc3R1cmVSZWNv
Z25pemVyOjpTY3JvbGwpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgcmV0dXJu
IGZhbHNlOwogfQogCi1zdGF0aWMgYm9vbCBpblNjcm9sbChJbm5lckdlc3R1cmVSZWNvZ25pemVy
KiBnZXN0dXJlUmVjb2duaXplciwgY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiBwb2ludCwgSW5u
ZXJHZXN0dXJlUmVjb2duaXplcjo6R2VzdHVyZXMgZ2VzdHVyZXMpCitzdGF0aWMgYm9vbCBpblNj
cm9sbChJbm5lckdlc3R1cmVSZWNvZ25pemVyKiBnZXN0dXJlUmVjb2duaXplciwgY29uc3QgUGxh
dGZvcm1Ub3VjaFBvaW50JiBwb2ludCkKIHsKLSAgICBnZXN0dXJlUmVjb2duaXplci0+YXBwZW5k
U2Nyb2xsR2VzdHVyZShwb2ludCwgZ2VzdHVyZXMpOworICAgIGdlc3R1cmVSZWNvZ25pemVyLT5z
Y3JvbGxWaWFUb3VjaE1vdGlvbihwb2ludCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTIy
MiwxNCArMjMyLDQgQEAgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6fkdlc3R1cmVSZWNvZ25p
emVyQ2hyb21pdW0oKQogewogfQogCi1QbGF0Zm9ybUdlc3R1cmVSZWNvZ25pemVyOjpQYXNzR2Vz
dHVyZXMgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6cHJvY2Vzc1RvdWNoRXZlbnRGb3JHZXN0
dXJlcyhjb25zdCBQbGF0Zm9ybVRvdWNoRXZlbnQmIHRvdWNoRXZlbnQsIGJvb2wgZGVmYXVsdFBy
ZXZlbnRlZCkKLXsKLSAgICByZXR1cm4gbV9pbm5lckdlc3R1cmVSZWNvZ25pemVyLnByb2Nlc3NU
b3VjaEV2ZW50Rm9yR2VzdHVyZXModG91Y2hFdmVudCwgZGVmYXVsdFByZXZlbnRlZCk7Ci19Ci0K
LXZvaWQgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6cmVzZXQoKQotewotICAgIG1faW5uZXJH
ZXN0dXJlUmVjb2duaXplci5yZXNldCgpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9HZXN0dXJlUmVjb2du
aXplckNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9HZXN0dXJl
UmVjb2duaXplckNocm9taXVtLmgKaW5kZXggYmVhYzQ2NTNlMzk3NGU0MTQ3ZmE5N2ViMjAzNWQx
MjkxZmQzN2M1MC4uYTFjYWNhOWRkZWY0YjliOTY2YjExNjVmNWY4Zjk1NmY2YjI3YWU0YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJlY29nbml6
ZXJDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0dlc3R1
cmVSZWNvZ25pemVyQ2hyb21pdW0uaApAQCAtMzksOCArMzksNiBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIFBsYXRmb3JtR2VzdHVyZUV2ZW50OwotCiBjbGFzcyBJbm5lckdlc3R1
cmVSZWNvZ25pemVyIHsKIHB1YmxpYzoKICAgICBlbnVtIFN0YXRlIHsKQEAgLTQ5LDE3ICs0Nywx
NiBAQCBwdWJsaWM6CiAgICAgICAgIFNjcm9sbAogICAgIH07CiAKLSAgICB0eXBlZGVmIFZlY3Rv
cjxQbGF0Zm9ybUdlc3R1cmVFdmVudD4qIEdlc3R1cmVzOwotICAgIHR5cGVkZWYgYm9vbCAoKkdl
c3R1cmVUcmFuc2l0aW9uRnVuY3Rpb24pKElubmVyR2VzdHVyZVJlY29nbml6ZXIqLCBjb25zdCBQ
bGF0Zm9ybVRvdWNoUG9pbnQmLCBHZXN0dXJlcyk7CisgICAgdHlwZWRlZiBib29sICgqR2VzdHVy
ZVRyYW5zaXRpb25GdW5jdGlvbikoSW5uZXJHZXN0dXJlUmVjb2duaXplciosIGNvbnN0IFBsYXRm
b3JtVG91Y2hQb2ludCYpOwogCiAgICAgfklubmVyR2VzdHVyZVJlY29nbml6ZXIoKTsKIAotICAg
IHZvaWQgYXBwZW5kQ2xpY2tHZXN0dXJlRXZlbnQoY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50Jiwg
R2VzdHVyZXMpOworICAgIHZvaWQgZGlzcGF0Y2hTeW50aGV0aWNDbGljayhjb25zdCBQbGF0Zm9y
bVRvdWNoUG9pbnQmKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVzZXQoKTsKICAgICBib29sIGlzSW5D
bGlja1RpbWVXaW5kb3coKTsKICAgICBib29sIGlzSW5zaWRlTWFuaGF0dGFuU3F1YXJlKGNvbnN0
IFBsYXRmb3JtVG91Y2hQb2ludCYpOwotICAgIHZpcnR1YWwgUGxhdGZvcm1HZXN0dXJlUmVjb2du
aXplcjo6UGFzc0dlc3R1cmVzICBwcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmVzKGNvbnN0IFBs
YXRmb3JtVG91Y2hFdmVudCYsIGJvb2wgZGVmYXVsdFByZXZlbnRlZCk7Ci0gICAgdm9pZCBhcHBl
bmRTY3JvbGxHZXN0dXJlKGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYsIEdlc3R1cmVzKTsKKyAg
ICB2aXJ0dWFsIGJvb2wgcHJvY2Vzc1RvdWNoRXZlbnRGb3JHZXN0dXJlKGNvbnN0IFBsYXRmb3Jt
VG91Y2hFdmVudCYsIEV2ZW50SGFuZGxlciosIGJvb2wgaGFuZGxlZCk7CisgICAgdm9pZCBzY3Jv
bGxWaWFUb3VjaE1vdGlvbihjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmKTsKICAgICB2b2lkIHNl
dFN0YXRlKFN0YXRlIHZhbHVlKSB7IG1fc3RhdGUgPSB2YWx1ZTsgfQogICAgIFN0YXRlIHN0YXRl
KCkgeyByZXR1cm4gbV9zdGF0ZTsgfQogcHJvdGVjdGVkOgpAQCAtNzUsNiArNzIsNyBAQCBwcm90
ZWN0ZWQ6CiAgICAgZG91YmxlIG1fZmlyc3RUb3VjaFRpbWU7CiAgICAgU3RhdGUgbV9zdGF0ZTsK
ICAgICBkb3VibGUgbV9sYXN0VG91Y2hUaW1lOworICAgIEV2ZW50SGFuZGxlciogbV9ldmVudEhh
bmRsZXI7CiAKICAgICBib29sIG1fY3RybEtleTsKICAgICBib29sIG1fYWx0S2V5OwpAQCAtODgs
OSArODYsMTUgQEAgcHVibGljOgogICAgIEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0oKTsKICAg
ICB2aXJ0dWFsIH5HZXN0dXJlUmVjb2duaXplckNocm9taXVtKCk7CiAKLSAgICB2aXJ0dWFsIHZv
aWQgcmVzZXQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVzZXQoKQorICAgIHsKKyAgICAgICAgbV9p
bm5lckdlc3R1cmVSZWNvZ25pemVyLnJlc2V0KCk7CisgICAgfTsKICAKLSAgICB2aXJ0dWFsIFBs
YXRmb3JtR2VzdHVyZVJlY29nbml6ZXI6OlBhc3NHZXN0dXJlcyAgcHJvY2Vzc1RvdWNoRXZlbnRG
b3JHZXN0dXJlcyhjb25zdCBQbGF0Zm9ybVRvdWNoRXZlbnQmLCBib29sIGRlZmF1bHRQcmV2ZW50
ZWQpOworICAgIHZpcnR1YWwgYm9vbCBwcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmUoY29uc3Qg
UGxhdGZvcm1Ub3VjaEV2ZW50JiB0b3VjaEV2ZW50LCBFdmVudEhhbmRsZXIqIGV2ZW50SGFuZGxl
ciwgYm9vbCBoYW5kbGVkKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1faW5uZXJHZXN0dXJlUmVj
b2duaXplci5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmUodG91Y2hFdmVudCwgZXZlbnRIYW5k
bGVyLCBoYW5kbGVkKTsKKyAgICB9CiBwcml2YXRlOgogICAgIElubmVyR2VzdHVyZVJlY29nbml6
ZXIgbV9pbm5lckdlc3R1cmVSZWNvZ25pemVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAppbmRleCAxOTgzMjcz
MzU5ZTEzMThiMzUwYTFiZTY4YTQ1MzE4MDFhM2MzNGM5Li42MjhiOTE5YWEyYWM2ZGU4M2M5NjE4
Y2M2MDQxY2ZhYjIyOGFmOTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
aHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCkBAIC01OCwxNCArNTgsNiBAQAogI2lu
Y2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL0NoYXJhY3Rl
ck5hbWVzLmg+CiAKLSNpZiBFTkFCTEUoR0VTVFVSRV9FVkVOVFMpCi0jaW5jbHVkZSAiUGxhdGZv
cm1HZXN0dXJlRXZlbnQuaCIKLSNlbmRpZgotCi0jaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKLSNp
bmNsdWRlICJQbGF0Zm9ybVRvdWNoRXZlbnQuaCIKLSNlbmRpZgotCiB1c2luZyBuYW1lc3BhY2Ug
c3RkOwogdXNpbmcgbmFtZXNwYWNlIFdURjsKIHVzaW5nIG5hbWVzcGFjZSBVbmljb2RlOwpAQCAt
MTExLDEyICsxMDMsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGhhbmRsZU1vdXNlUmVs
ZWFzZUV2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYpOwogICAgIHZpcnR1YWwgYm9vbCBo
YW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpOwogICAgIHZpcnR1YWwg
Ym9vbCBoYW5kbGVLZXlFdmVudChjb25zdCBQbGF0Zm9ybUtleWJvYXJkRXZlbnQmKTsKLSNpZiBF
TkFCTEUoVE9VQ0hfRVZFTlRTKQotICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVUb3VjaEV2ZW50KGNv
bnN0IFBsYXRmb3JtVG91Y2hFdmVudCYpOwotI2VuZGlmCi0jaWYgRU5BQkxFKEdFU1RVUkVfUkVD
T0dOSVpFUikKLSAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRm
b3JtR2VzdHVyZUV2ZW50Jik7Ci0jZW5kaWYKIAogICAgIC8vIFNjcm9sbFZpZXcKICAgICB2aXJ0
dWFsIEhvc3RXaW5kb3cqIGhvc3RXaW5kb3coKSBjb25zdDsKQEAgLTUyMyw0MCArNTA5LDYgQEAg
Ym9vbCBQb3B1cENvbnRhaW5lcjo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVs
RXZlbnQmIGV2ZW50KQogICAgICAgICBjb25zdHJ1Y3RSZWxhdGl2ZVdoZWVsRXZlbnQoZXZlbnQs
IHRoaXMsIG1fbGlzdEJveC5nZXQoKSkpOwogfQogCi0jaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykK
LWJvb2wgUG9wdXBDb250YWluZXI6OmhhbmRsZVRvdWNoRXZlbnQoY29uc3QgUGxhdGZvcm1Ub3Vj
aEV2ZW50JikKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShH
RVNUVVJFX1JFQ09HTklaRVIpCi0vLyBGSVhNRTogUmVmYWN0b3IgdGhpcyBjb2RlIHRvIHNoYXJl
IGZ1bmN0aW9uYWxpdHkgd2l0aCBFdmVudEhhbmRsZXI6OmhhbmRsZUdlc3R1cmVFdmVudC4KLWJv
b2wgUG9wdXBDb250YWluZXI6OmhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBQbGF0Zm9ybUdlc3R1
cmVFdmVudCYgZ2VzdHVyZUV2ZW50KQotewotICAgIHN3aXRjaCAoZ2VzdHVyZUV2ZW50LnR5cGUo
KSkgewotICAgIGNhc2UgUGxhdGZvcm1HZXN0dXJlRXZlbnQ6OlRhcFR5cGU6IHsKLSAgICAgICAg
UGxhdGZvcm1Nb3VzZUV2ZW50IGZha2VNb3VzZU1vdmUoZ2VzdHVyZUV2ZW50LnBvc2l0aW9uKCks
IGdlc3R1cmVFdmVudC5nbG9iYWxQb3NpdGlvbigpLCBOb0J1dHRvbiwgTW91c2VFdmVudE1vdmVk
LCAvKiBjbGlja0NvdW50ICovIDEsIGdlc3R1cmVFdmVudC5zaGlmdEtleSgpLCBnZXN0dXJlRXZl
bnQuY3RybEtleSgpLCBnZXN0dXJlRXZlbnQuYWx0S2V5KCksIGdlc3R1cmVFdmVudC5tZXRhS2V5
KCksIGdlc3R1cmVFdmVudC50aW1lc3RhbXAoKSk7Ci0gICAgICAgIFBsYXRmb3JtTW91c2VFdmVu
dCBmYWtlTW91c2VEb3duKGdlc3R1cmVFdmVudC5wb3NpdGlvbigpLCBnZXN0dXJlRXZlbnQuZ2xv
YmFsUG9zaXRpb24oKSwgTGVmdEJ1dHRvbiwgTW91c2VFdmVudFByZXNzZWQsIC8qIGNsaWNrQ291
bnQgKi8gMSwgZ2VzdHVyZUV2ZW50LnNoaWZ0S2V5KCksIGdlc3R1cmVFdmVudC5jdHJsS2V5KCks
IGdlc3R1cmVFdmVudC5hbHRLZXkoKSwgZ2VzdHVyZUV2ZW50Lm1ldGFLZXkoKSwgZ2VzdHVyZUV2
ZW50LnRpbWVzdGFtcCgpKTsKLSAgICAgICAgUGxhdGZvcm1Nb3VzZUV2ZW50IGZha2VNb3VzZVVw
KGdlc3R1cmVFdmVudC5wb3NpdGlvbigpLCBnZXN0dXJlRXZlbnQuZ2xvYmFsUG9zaXRpb24oKSwg
TGVmdEJ1dHRvbiwgTW91c2VFdmVudFJlbGVhc2VkLCAvKiBjbGlja0NvdW50ICovIDEsIGdlc3R1
cmVFdmVudC5zaGlmdEtleSgpLCBnZXN0dXJlRXZlbnQuY3RybEtleSgpLCBnZXN0dXJlRXZlbnQu
YWx0S2V5KCksIGdlc3R1cmVFdmVudC5tZXRhS2V5KCksIGdlc3R1cmVFdmVudC50aW1lc3RhbXAo
KSk7Ci0gICAgICAgIC8vIGhhbmRsZU1vdXNlTW92ZUV2ZW50KGZha2VNb3VzZU1vdmUpOwotICAg
ICAgICBoYW5kbGVNb3VzZURvd25FdmVudChmYWtlTW91c2VEb3duKTsKLSAgICAgICAgaGFuZGxl
TW91c2VSZWxlYXNlRXZlbnQoZmFrZU1vdXNlVXApOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICB9Ci0gICAgY2FzZSBQbGF0Zm9ybUdlc3R1cmVFdmVudDo6U2Nyb2xsVXBkYXRlVHlwZTogewot
ICAgICAgICBQbGF0Zm9ybVdoZWVsRXZlbnQgc3ludGhldGljV2hlZWxFdmVudChnZXN0dXJlRXZl
bnQucG9zaXRpb24oKSwgZ2VzdHVyZUV2ZW50Lmdsb2JhbFBvc2l0aW9uKCksIGdlc3R1cmVFdmVu
dC5kZWx0YVgoKSwgZ2VzdHVyZUV2ZW50LmRlbHRhWSgpLCBnZXN0dXJlRXZlbnQuZGVsdGFYKCkg
LyAxMjAuMGYsIGdlc3R1cmVFdmVudC5kZWx0YVkoKSAvIDEyMC4wZiwgU2Nyb2xsQnlQaXhlbFdo
ZWVsRXZlbnQsIC8qIGlzQWNjZXB0ZWQgKi8gZmFsc2UsIGdlc3R1cmVFdmVudC5zaGlmdEtleSgp
LCBnZXN0dXJlRXZlbnQuY3RybEtleSgpLCBnZXN0dXJlRXZlbnQuYWx0S2V5KCksIGdlc3R1cmVF
dmVudC5tZXRhS2V5KCkpOwotICAgICAgICBoYW5kbGVXaGVlbEV2ZW50KHN5bnRoZXRpY1doZWVs
RXZlbnQpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgY2FzZSBQbGF0Zm9ybUdl
c3R1cmVFdmVudDo6U2Nyb2xsQmVnaW5UeXBlOgotICAgIGNhc2UgUGxhdGZvcm1HZXN0dXJlRXZl
bnQ6OlNjcm9sbEVuZFR5cGU6Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICByZXR1cm4gZmFs
c2U7Ci19Ci0jZW5kaWYKLQogYm9vbCBQb3B1cENvbnRhaW5lcjo6aGFuZGxlS2V5RXZlbnQoY29u
c3QgUGxhdGZvcm1LZXlib2FyZEV2ZW50JiBldmVudCkKIHsKICAgICBVc2VyR2VzdHVyZUluZGlj
YXRvciBnZXN0dXJlSW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUpOwpA
QCAtODAwLDIwICs3NTIsNiBAQCBib29sIFBvcHVwTGlzdEJveDo6aXNJbnRlcmVzdGVkSW5FdmVu
dEZvcktleShpbnQga2V5Q29kZSkKICAgICB9CiB9CiAKLSNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRT
KQotYm9vbCBQb3B1cExpc3RCb3g6OmhhbmRsZVRvdWNoRXZlbnQoY29uc3QgUGxhdGZvcm1Ub3Vj
aEV2ZW50JikKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0jZW5kaWYKLQotI2lmIEVOQUJMRShH
RVNUVVJFX1JFQ09HTklaRVIpCi1ib29sIFBvcHVwTGlzdEJveDo6aGFuZGxlR2VzdHVyZUV2ZW50
KGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2ZW50JikKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0j
ZW5kaWYKLQogc3RhdGljIGJvb2wgaXNDaGFyYWN0ZXJUeXBlRXZlbnQoY29uc3QgUGxhdGZvcm1L
ZXlib2FyZEV2ZW50JiBldmVudCkKIHsKICAgICAvLyBDaGVjayB3aGV0aGVyIHRoZSBldmVudCBp
cyBhIGNoYXJhY3Rlci10eXBlZCBldmVudCBvciBub3QuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uaAppbmRleCA2YzhmYjRiODA3
NDFlOGUyMTBiYjQ1YTllMDM0Zjg5YjAwOWM3YTRmLi40NmMxMjMzOTA1MmE0M2I4YzA1NzM4OWQw
MDg0YmE3YmQ2MGFmMDVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJv
bWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2No
cm9taXVtL1BvcHVwTWVudUNocm9taXVtLmgKQEAgLTEyMiwxMiArMTIyLDYgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVNb3VzZVJlbGVhc2VFdmVudChjb25zdCBQbGF0Zm9ybU1v
dXNlRXZlbnQmKTsKICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0
Zm9ybVdoZWVsRXZlbnQmKTsKICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlS2V5RXZlbnQoY29uc3Qg
UGxhdGZvcm1LZXlib2FyZEV2ZW50Jik7Ci0jaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKLSAgICB2
aXJ0dWFsIGJvb2wgaGFuZGxlVG91Y2hFdmVudChjb25zdCBQbGF0Zm9ybVRvdWNoRXZlbnQmKTsK
LSNlbmRpZgotI2lmIEVOQUJMRShHRVNUVVJFX1JFQ09HTklaRVIpCi0gICAgdmlydHVhbCBib29s
IGhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBQbGF0Zm9ybUdlc3R1cmVFdmVudCYpOwotI2VuZGlm
CiAKICAgICAvLyBQb3B1cENvbnRhaW5lciBtZXRob2RzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQppbmRleCA4ZWE2NTNiMmE4YWMxMmRk
NzMwMzM4N2RkMWI0M2M5ZDVjNDlhZmE2Li44NWIwZjdjYjdhMDJjZmUyN2QwZmI3YzA1Njk5MTdm
ODIxMTllZjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xs
QW5pbWF0b3JNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFu
aW1hdG9yTWFjLm1tCkBAIC04NTksNyArODU5LDcgQEAgdm9pZCBTY3JvbGxBbmltYXRvck1hYzo6
aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2ZW50JiBnZXN0dXJlRXYK
IHsKICAgICBpZiAoZ2VzdHVyZUV2ZW50LnR5cGUoKSA9PSBQbGF0Zm9ybUdlc3R1cmVFdmVudDo6
U2Nyb2xsQmVnaW5UeXBlKQogICAgICAgICBiZWdpblNjcm9sbEdlc3R1cmUoKTsKLSAgICBlbHNl
IGlmIChnZXN0dXJlRXZlbnQudHlwZSgpID09IFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpTY3JvbGxF
bmRUeXBlKQorICAgIGVsc2UKICAgICAgICAgZW5kU2Nyb2xsR2VzdHVyZSgpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDI1YzcwYjkxZTE4NjQ0MTA0MjM3NTc2Yjg5YjlmOGE4
Y2Q5YmYxNTkuLjIwNjIxZjM4MWNhOTQxNTJkNjk2YTAwNTJjM2I4MjY0NDdlMDE5OGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDctMjYgIFNoZXJp
ZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHI5MTgwOS4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9j
aGFuZ2VzZXQvOTE4MDkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY1MjI1CisKKyAgICAgICAgRG9lcyBub3QgYnVpbGQgb24gQ2hyb21pdW0gV2luZG93
cyAoUmVxdWVzdGVkIGJ5IGFiYXJ0aCBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAgICAq
IGZlYXR1cmVzLmd5cGk6CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6Y3JlYXRlRnJhbWVWaWV3KToKKyAgICAgICAgKiBzcmMv
V2ViUG9wdXBNZW51SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudUltcGw6
OldlYlBvcHVwTWVudUltcGwpOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVJbXBsOjpo
YW5kbGVJbnB1dEV2ZW50KToKKyAgICAgICAgKiBzcmMvV2ViUG9wdXBNZW51SW1wbC5oOgorICAg
ICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBs
OjpXZWJWaWV3SW1wbCk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjp0b3VjaEV2ZW50
KToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoKKwogMjAxMS0wNy0yNiAgUm9iZXJ0IEty
b2VnZXIgIDxyamtyb2VnZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBMYXll
cmluZyB2aW9sYXRpb25zIGluIGdlc3R1cmUgcmVjb2duaXplcgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9m
ZWF0dXJlcy5neXBpCmluZGV4IGI2ZDgzNjQzNzRkNDVjY2ViY2ViOTRkMjIwOWUwYTY4ZDdkNDY5
NjguLjk2ZjdjZDM4ZjM4ZDQwYzZkNGU1MjBiM2MxZWNiZDAwYzZiNzM1NGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL2ZlYXR1cmVzLmd5cGkKQEAgLTUwLDcgKzUwLDYgQEAKICAgICAgICdFTkFCTEVf
RklMRV9TWVNURU09MScsCiAgICAgICAnRU5BQkxFX0ZJTFRFUlM9MScsCiAgICAgICAnRU5BQkxF
X0dFT0xPQ0FUSU9OPTEnLAotICAgICAgJ0VOQUJMRV9HRVNUVVJFX0VWRU5UUz0xJywKICAgICAg
ICdFTkFCTEVfR0VTVFVSRV9SRUNPR05JWkVSPTEnLAogICAgICAgJ0VOQUJMRV9JQ09OREFUQUJB
U0U9MCcsCiAgICAgICAnRU5BQkxFX0lOREVYRURfREFUQUJBU0U9MScsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCAyNjJhYjA2Yzc1NzM4ZGM0YjZi
NTRjOGEwOTBjOThhMjg3ZmJiYjA3Li4zYzRhZmI5OGMyZGExNzk2YWY0MDk0ODZiODIyOTA3MTMx
YmY4MzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUlt
cGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAK
QEAgLTE5OTQsMTAgKzE5OTQsNiBAQCB2b2lkIFdlYkZyYW1lSW1wbDo6Y3JlYXRlRnJhbWVWaWV3
KCkKIAogICAgIGlmIChpc01haW5GcmFtZSkKICAgICAgICAgdmlldy0+c2V0UGFyZW50VmlzaWJs
ZSh0cnVlKTsKLQotI2lmIEVOQUJMRShHRVNUVVJFX1JFQ09HTklaRVIpCi0gICAgd2ViVmlldy0+
cmVzZXRHZXN0dXJlUmVjb2duaXplcigpOwotI2VuZGlmCiB9CiAKIFdlYkZyYW1lSW1wbCogV2Vi
RnJhbWVJbXBsOjpmcm9tRnJhbWUoRnJhbWUqIGZyYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmNwcAppbmRleCBhYjBkN2QzM2Q3NmExNzYxMDYx
OWRmNmFjNGMwMTE3MzIzMGM1ZTFkLi43N2Q1YjgyNmI0MzlhY2VmMThhNzgxOTYxOTcwY2JhYjc4
ZjBmNWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1l
bnVJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJ
bXBsLmNwcApAQCAtNTIsMTEgKzUyLDYgQEAKIAogI2luY2x1ZGUgPHNraWEvZXh0L3BsYXRmb3Jt
X2NhbnZhcy5oPgogCi0jaWYgRU5BQkxFKEdFU1RVUkVfUkVDT0dOSVpFUikKLSNpbmNsdWRlICJQ
bGF0Zm9ybUdlc3R1cmVFdmVudC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtR2VzdHVyZVJlY29nbml6
ZXIuaCIKLSNlbmRpZgotCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdl
YktpdCB7CkBAIC03NCw5ICs2OSw2IEBAIFdlYlBvcHVwTWVudSogV2ViUG9wdXBNZW51OjpjcmVh
dGUoV2ViV2lkZ2V0Q2xpZW50KiBjbGllbnQpCiBXZWJQb3B1cE1lbnVJbXBsOjpXZWJQb3B1cE1l
bnVJbXBsKFdlYldpZGdldENsaWVudCogY2xpZW50KQogICAgIDogbV9jbGllbnQoY2xpZW50KQog
ICAgICwgbV93aWRnZXQoMCkKLSNpZiBFTkFCTEUoR0VTVFVSRV9SRUNPR05JWkVSKQotICAgICwg
bV9nZXN0dXJlUmVjb2duaXplcihXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVSZWNvZ25pemVyOjpj
cmVhdGUoKSkKLSNlbmRpZgogewogICAgIC8vIHNldCB0byBpbXBvc3NpYmxlIHBvaW50IHNvIHdl
IGFsd2F5cyBnZXQgdGhlIGZpcnN0IG1vdXNlIHBvcwogICAgIG1fbGFzdE1vdXNlUG9zaXRpb24g
PSBXZWJQb2ludCgtMSwgLTEpOwpAQCAtMTMzLDIxICsxMjUsNiBAQCB2b2lkIFdlYlBvcHVwTWVu
dUltcGw6Ok1vdXNlV2hlZWwoY29uc3QgV2ViTW91c2VXaGVlbEV2ZW50JiBldmVudCkKICAgICBt
X3dpZGdldC0+aGFuZGxlV2hlZWxFdmVudChQbGF0Zm9ybVdoZWVsRXZlbnRCdWlsZGVyKG1fd2lk
Z2V0LCBldmVudCkpOwogfQogCi0jaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKLWJvb2wgV2ViUG9w
dXBNZW51SW1wbDo6VG91Y2hFdmVudChjb25zdCBXZWJUb3VjaEV2ZW50JiBldmVudCkKLXsKLQot
ICAgIFBsYXRmb3JtVG91Y2hFdmVudEJ1aWxkZXIgdG91Y2hFdmVudEJ1aWxkZXIobV93aWRnZXQs
IGV2ZW50KTsKLSAgICBib29sIGRlZmF1bHRQcmV2ZW50ZWQobV93aWRnZXQtPmhhbmRsZVRvdWNo
RXZlbnQodG91Y2hFdmVudEJ1aWxkZXIpKTsKLSNpZiBFTkFCTEUoR0VTVFVSRV9SRUNPR05JWkVS
KQotICAgIE93blB0cjxWZWN0b3I8V2ViQ29yZTo6UGxhdGZvcm1HZXN0dXJlRXZlbnQ+ID4gZ2Vz
dHVyZUV2ZW50cyhtX2dlc3R1cmVSZWNvZ25pemVyLT5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1
cmVzKHRvdWNoRXZlbnRCdWlsZGVyLCBkZWZhdWx0UHJldmVudGVkKSk7Ci0gICAgZm9yICh1bnNp
Z25lZCBpbnQgIGkgPSAwOyBpIDwgZ2VzdHVyZUV2ZW50cy0+c2l6ZSgpOyBpKyspCi0gICAgICAg
IG1fd2lkZ2V0LT5oYW5kbGVHZXN0dXJlRXZlbnQoKCpnZXN0dXJlRXZlbnRzKVtpXSk7Ci0jZW5k
aWYKLSAgICByZXR1cm4gZGVmYXVsdFByZXZlbnRlZDsKLX0KLSNlbmRpZgotCiBib29sIFdlYlBv
cHVwTWVudUltcGw6OktleUV2ZW50KGNvbnN0IFdlYktleWJvYXJkRXZlbnQmIGV2ZW50KQogewog
ICAgIHJldHVybiBtX3dpZGdldC0+aGFuZGxlS2V5RXZlbnQoUGxhdGZvcm1LZXlib2FyZEV2ZW50
QnVpbGRlcihldmVudCkpOwpAQCAtMjYwLDE2ICsyMzcsOCBAQCBib29sIFdlYlBvcHVwTWVudUlt
cGw6OmhhbmRsZUlucHV0RXZlbnQoY29uc3QgV2ViSW5wdXRFdmVudCYgaW5wdXRFdmVudCkKICAg
ICBjYXNlIFdlYklucHV0RXZlbnQ6OkNoYXI6CiAgICAgICAgIHJldHVybiBLZXlFdmVudCgqc3Rh
dGljX2Nhc3Q8Y29uc3QgV2ViS2V5Ym9hcmRFdmVudCo+KCZpbnB1dEV2ZW50KSk7CiAKLSAgICBj
YXNlIFdlYklucHV0RXZlbnQ6OlRvdWNoU3RhcnQ6Ci0gICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpU
b3VjaE1vdmU6Ci0gICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpUb3VjaEVuZDoKLSAgICBjYXNlIFdl
YklucHV0RXZlbnQ6OlRvdWNoQ2FuY2VsOgotICAgICAgICByZXR1cm4gVG91Y2hFdmVudCgqc3Rh
dGljX2Nhc3Q8Y29uc3QgV2ViVG91Y2hFdmVudCo+KCZpbnB1dEV2ZW50KSk7Ci0KLSAgICBjYXNl
IFdlYklucHV0RXZlbnQ6OlVuZGVmaW5lZDoKLSAgICBjYXNlIFdlYklucHV0RXZlbnQ6Ok1vdXNl
RW50ZXI6Ci0gICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpDb250ZXh0TWVudToKLSAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIGRlZmF1bHQ6CisgICAgICAgIGJyZWFrOwogICAgIH0KICAgICByZXR1
cm4gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQ
b3B1cE1lbnVJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJ
bXBsLmgKaW5kZXggNWRkMThiZTg3ZTU2NDA5Yjc4ODE5NGFmYjkzNzQ1MjdlODg0MzNhOS4uODBl
NDY1ZTk1OTVmYTQ1NTI5ODEzYzhmZTk0ZTIxMWQyNzk5ZDc4NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaApAQCAtMzUsNyArMzUsNiBAQAogI2lu
Y2x1ZGUgIldlYlBvaW50LmgiCiAjaW5jbHVkZSAiV2ViUG9wdXBNZW51LmgiCiAjaW5jbHVkZSAi
V2ViU2l6ZS5oIgotI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Myw5ICs0Miw2IEBAIGNsYXNzIEZy
YW1lOwogY2xhc3MgRnJhbWVsZXNzU2Nyb2xsVmlldzsKIGNsYXNzIEtleWJvYXJkRXZlbnQ7CiBj
bGFzcyBQYWdlOwotI2lmIEVOQUJMRShHRVNUVVJFX1JFQ09HTklaRVIpCi1jbGFzcyBQbGF0Zm9y
bUdlc3R1cmVSZWNvZ25pemVyOwotI2VuZGlmCiBjbGFzcyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQ7
CiBjbGFzcyBSYW5nZTsKIGNsYXNzIFdpZGdldDsKQEAgLTU3LDcgKzUzLDYgQEAgY2xhc3MgV2Vi
TW91c2VFdmVudDsKIGNsYXNzIFdlYk1vdXNlV2hlZWxFdmVudDsKIGNsYXNzIFdlYlJhbmdlOwog
c3RydWN0IFdlYlJlY3Q7Ci1jbGFzcyBXZWJUb3VjaEV2ZW50OwogCiBjbGFzcyBXZWJQb3B1cE1l
bnVJbXBsIDogcHVibGljIFdlYlBvcHVwTWVudSwKICAgICAgICAgICAgICAgICAgICAgICAgICBw
dWJsaWMgV2ViQ29yZTo6RnJhbWVsZXNzU2Nyb2xsVmlld0NsaWVudCwKQEAgLTEwNCw3ICs5OSw2
IEBAIHB1YmxpYzoKICAgICB2b2lkIE1vdXNlVXAoY29uc3QgV2ViTW91c2VFdmVudCYpOwogICAg
IHZvaWQgTW91c2VEb3VibGVDbGljayhjb25zdCBXZWJNb3VzZUV2ZW50Jik7CiAgICAgdm9pZCBN
b3VzZVdoZWVsKGNvbnN0IFdlYk1vdXNlV2hlZWxFdmVudCYpOwotICAgIGJvb2wgVG91Y2hFdmVu
dChjb25zdCBXZWJUb3VjaEV2ZW50Jik7CiAgICAgYm9vbCBLZXlFdmVudChjb25zdCBXZWJLZXli
b2FyZEV2ZW50Jik7CiAKICAgIHByb3RlY3RlZDoKQEAgLTE0MiwxMCArMTM2LDYgQEAgcHVibGlj
OgogICAgIC8vIFRoaXMgaXMgYSBub24tb3duaW5nIHJlZi4gIFRoZSBwb3B1cCB3aWxsIG5vdGlm
eSB1cyB2aWEgcG9wdXBDbG9zZWQoKQogICAgIC8vIGJlZm9yZSBpdCBpcyBkZXN0cm95ZWQuCiAg
ICAgV2ViQ29yZTo6RnJhbWVsZXNzU2Nyb2xsVmlldyogbV93aWRnZXQ7Ci0KLSNpZiBFTkFCTEUo
R0VTVFVSRV9SRUNPR05JWkVSKQotICAgIE93blB0cjxXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVS
ZWNvZ25pemVyPiBtX2dlc3R1cmVSZWNvZ25pemVyOwotI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZp
ZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApp
bmRleCBlOWVmMmRhM2U0YjJkYzlhYzA3MGJhOTcyZjA4MTJiMWIxNTY2ZjY1Li4wZWE5ODJlOGYw
MDNlMmM1YjE2ZWEzNWNmMjJjZTU2OGI3ODk3NWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0xMjksMTQgKzEyOSw2IEBACiAjaW5jbHVkZSA8d3Rm
L0N1cnJlbnRUaW1lLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi0jaWYgRU5BQkxFKEdF
U1RVUkVfRVZFTlRTKQotI2luY2x1ZGUgIlBsYXRmb3JtR2VzdHVyZUV2ZW50LmgiCi0jZW5kaWYK
LQotI2lmIEVOQUJMRShHRVNUVVJFX1JFQ09HTklaRVIpCi0jaW5jbHVkZSAiUGxhdGZvcm1HZXN0
dXJlUmVjb2duaXplci5oIgotI2VuZGlmCi0KICNpZiBVU0UoQ0cpCiAjaW5jbHVkZSA8Q29yZUdy
YXBoaWNzL0NHQml0bWFwQ29udGV4dC5oPgogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0NvbnRl
eHQuaD4KQEAgLTM0OCw5ICszNDAsNiBAQCBXZWJWaWV3SW1wbDo6V2ViVmlld0ltcGwoV2ViVmll
d0NsaWVudCogY2xpZW50KQogI2VuZGlmCiAgICAgLCBtX2RldmljZU9yaWVudGF0aW9uQ2xpZW50
UHJveHkoYWRvcHRQdHIobmV3IERldmljZU9yaWVudGF0aW9uQ2xpZW50UHJveHkoY2xpZW50ID8g
Y2xpZW50LT5kZXZpY2VPcmllbnRhdGlvbkNsaWVudCgpIDogMCkpKQogICAgICwgbV9nZW9sb2Nh
dGlvbkNsaWVudFByb3h5KGFkb3B0UHRyKG5ldyBHZW9sb2NhdGlvbkNsaWVudFByb3h5KGNsaWVu
dCA/IGNsaWVudC0+Z2VvbG9jYXRpb25DbGllbnQoKSA6IDApKSkKLSNpZiBFTkFCTEUoR0VTVFVS
RV9SRUNPR05JWkVSKQotICAgICwgbV9nZXN0dXJlUmVjb2duaXplcihXZWJDb3JlOjpQbGF0Zm9y
bUdlc3R1cmVSZWNvZ25pemVyOjpjcmVhdGUoKSkKLSNlbmRpZgogewogICAgIC8vIFdlYktpdC93
aW4vV2ViVmlldy5jcHAgZG9lcyB0aGUgc2FtZSB0aGluZywgZXhjZXB0IHRoZXkgY2FsbCB0aGUK
ICAgICAvLyBLSlMgc3BlY2lmaWMgd3JhcHBlciBhcm91bmQgdGhpcyBtZXRob2QuIFdlIG5lZWQg
dG8gaGF2ZSB0aHJlYWRpbmcKQEAgLTc2OCwxNSArNzU3LDcgQEAgYm9vbCBXZWJWaWV3SW1wbDo6
dG91Y2hFdmVudChjb25zdCBXZWJUb3VjaEV2ZW50JiBldmVudCkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCiAgICAgUGxhdGZvcm1Ub3VjaEV2ZW50QnVpbGRlciB0b3VjaEV2ZW50QnVpbGRlciht
YWluRnJhbWVJbXBsKCktPmZyYW1lVmlldygpLCBldmVudCk7Ci0gICAgYm9vbCBkZWZhdWx0UHJl
dmVudGVkID0gbWFpbkZyYW1lSW1wbCgpLT5mcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+aGFuZGxl
VG91Y2hFdmVudCh0b3VjaEV2ZW50QnVpbGRlcik7Ci0KLSNpZiBFTkFCTEUoR0VTVFVSRV9SRUNP
R05JWkVSKQotICAgIE93blB0cjxWZWN0b3I8V2ViQ29yZTo6UGxhdGZvcm1HZXN0dXJlRXZlbnQ+
ID4gZ2VzdHVyZUV2ZW50cyhtX2dlc3R1cmVSZWNvZ25pemVyLT5wcm9jZXNzVG91Y2hFdmVudEZv
ckdlc3R1cmVzKHRvdWNoRXZlbnRCdWlsZGVyLCBkZWZhdWx0UHJldmVudGVkKSk7Ci0gICAgZm9y
ICh1bnNpZ25lZCBpbnQgIGkgPSAwOyBpIDwgZ2VzdHVyZUV2ZW50cy0+c2l6ZSgpOyBpKyspCi0g
ICAgICAgIG1haW5GcmFtZUltcGwoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZUdl
c3R1cmVFdmVudChnZXN0dXJlRXZlbnRzLT5hdChpKSk7Ci0jZW5kaWYKLQotICAgIHJldHVybiBk
ZWZhdWx0UHJldmVudGVkOworICAgIHJldHVybiBtYWluRnJhbWVJbXBsKCktPmZyYW1lKCktPmV2
ZW50SGFuZGxlcigpLT5oYW5kbGVUb3VjaEV2ZW50KHRvdWNoRXZlbnRCdWlsZGVyKTsKIH0KICNl
bmRpZgogCkBAIC0yNjc3LDEyICsyNjU4LDQgQEAgdm9pZCBXZWJWaWV3SW1wbDo6c2V0VmlzaWJp
bGl0eVN0YXRlKFdlYlBhZ2VWaXNpYmlsaXR5U3RhdGUgdmlzaWJpbGl0eVN0YXRlLAogI2VuZGlm
CiB9CiAKLSNpZiBFTkFCTEUoR0VTVFVSRV9SRUNPR05JWkVSKQotdm9pZCBXZWJWaWV3SW1wbDo6
cmVzZXRHZXN0dXJlUmVjb2duaXplcigpCi17Ci0gICAgbV9nZXN0dXJlUmVjb2duaXplci0+cmVz
ZXQoKTsKLX0KLSNlbmRpZgotCi0KIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggNDQ4YWVjN2EwODYyODM0ZTFkNTI0ZWIy
MTJkYjQwYjUxYjNlMDRmMS4uZDZlNTdjNzI3MjQxNmFiNmFkYzg5Y2M1ZDAzYzc1ZThjN2IxYWNm
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC02Nyw5ICs2
Nyw2IEBAIGNsYXNzIFBvcHVwTWVudUNsaWVudDsKIGNsYXNzIFJhbmdlOwogY2xhc3MgUmVuZGVy
VGhlbWU7CiBjbGFzcyBXaWRnZXQ7Ci0jaWYgRU5BQkxFKEdFU1RVUkVfUkVDT0dOSVpFUikKLWNs
YXNzIFBsYXRmb3JtR2VzdHVyZVJlY29nbml6ZXI7Ci0jZW5kaWYKIH0KIAogbmFtZXNwYWNlIFdl
YktpdCB7CkBAIC0zODgsMTAgKzM4NSw2IEBAIHB1YmxpYzoKICAgICAvLyBhIHBsdWdpbiBjYW4g
dXBkYXRlIGl0cyBvd24gem9vbSwgc2F5IGJlY2F1c2Ugb2YgaXRzIG93biBVSS4KICAgICB2b2lk
IGZ1bGxGcmFtZVBsdWdpblpvb21MZXZlbENoYW5nZWQoZG91YmxlIHpvb21MZXZlbCk7CiAKLSNp
ZiBFTkFCTEUoR0VTVFVSRV9SRUNPR05JWkVSKQotICAgIHZvaWQgcmVzZXRHZXN0dXJlUmVjb2du
aXplcigpOwotI2VuZGlmCi0KIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFdlYlZpZXc7ICAv
LyBTbyBXZWJWaWV3OjpDcmVhdGUgY2FuIGNhbGwgb3VyIGNvbnN0cnVjdG9yCiAgICAgZnJpZW5k
IGNsYXNzIFdURjo6UmVmQ291bnRlZDxXZWJWaWV3SW1wbD47CkBAIC01NzIsMTAgKzU2NSw2IEBA
IHByaXZhdGU6CiAgICAgUmVmUHRyPFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEPiBtX3RlbXBv
cmFyeU9uc2NyZWVuR3JhcGhpY3NDb250ZXh0M0Q7CiAgICAgT3duUHRyPERldmljZU9yaWVudGF0
aW9uQ2xpZW50UHJveHk+IG1fZGV2aWNlT3JpZW50YXRpb25DbGllbnRQcm94eTsKICAgICBPd25Q
dHI8R2VvbG9jYXRpb25DbGllbnRQcm94eT4gbV9nZW9sb2NhdGlvbkNsaWVudFByb3h5OwotCi0j
aWYgRU5BQkxFKEdFU1RVUkVfUkVDT0dOSVpFUikKLSAgICBPd25QdHI8V2ViQ29yZTo6UGxhdGZv
cm1HZXN0dXJlUmVjb2duaXplcj4gbV9nZXN0dXJlUmVjb2duaXplcjsKLSNlbmRpZgogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>