<?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>171640</bug_id>
          
          <creation_ts>2017-05-03 17:58:40 -0700</creation_ts>
          <short_desc>REGRESSION(r216160): These changes broke the iOS build. (Requested by mlewis13 on #webkit).</short_desc>
          <delta_ts>2017-05-03 18:00:32 -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>WebKit 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>171292</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>jer.noble</cc>
    
    <cc>ryanhaddad</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1304438</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-03 17:58:40 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/216160 broke the build:
These changes broke the iOS build. (Requested by mlewis13 on #webkit).

This is an automatic bug report generated by webkitbot. 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 fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304439</commentid>
    <comment_count>1</comment_count>
      <attachid>308995</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-05-03 17:58:53 -0700</bug_when>
    <thetext>Created attachment 308995
ROLLOUT of r216160

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

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304440</commentid>
    <comment_count>2</comment_count>
      <attachid>308995</attachid>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-05-03 18:00:31 -0700</bug_when>
    <thetext>Comment on attachment 308995
ROLLOUT of r216160

Clearing flags on attachment: 308995

Committed r216162: &lt;http://trac.webkit.org/changeset/216162&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1304441</commentid>
    <comment_count>3</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-05-03 18:00:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>308995</attachid>
            <date>2017-05-03 17:58:53 -0700</date>
            <delta_ts>2017-05-03 18:00:31 -0700</delta_ts>
            <desc>ROLLOUT of r216160</desc>
            <filename>bug-171640-20170503205853.patch</filename>
            <type>text/plain</type>
            <size>46622</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE2MTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjk5MDQ2YzYwN2ExYTFl
NTI4M2QxZGU3NzU5Mzk5ZGUxNjlhZmNjYi4uNGNhMjA1ZTZlNWUyMGFiMzFjMzY1ZTk5ZDlkN2Rk
YzE1N2E1MzMyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE3LTA1LTAzICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMjE2MTYwIGFuZCByMjE2MTYxLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxNjQwCisKKyAgICAgICAgVGhlc2UgY2hhbmdl
cyBicm9rZSB0aGUgaU9TIGJ1aWxkLiAoUmVxdWVzdGVkIGJ5IG1sZXdpczEzIG9uCisgICAgICAg
ICN3ZWJraXQpLgorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldHM6CisKKyAgICAgICAgIltN
ZWRpYVN0cmVhbV0gQWxsb3cgaG9zdCBhcHBsaWNhdGlvbiB0byBlbmFibGUvZGlzYWJsZSBtZWRp
YQorICAgICAgICBjYXB0dXJlIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTcxMjkyCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdl
c2V0LzIxNjE2MAorCisgICAgICAgICJbTWVkaWFTdHJlYW1dIEFsbG93IGhvc3QgYXBwbGljYXRp
b24gdG8gZW5hYmxlL2Rpc2FibGUgbWVkaWEKKyAgICAgICAgY2FwdHVyZSIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTI5MgorICAgICAgICBodHRw
Oi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMTYxNjEKKwogMjAxNy0wNS0wMyAgRXJpYyBD
YXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWVkaWFTdHJlYW1d
IEFsbG93IGhvc3QgYXBwbGljYXRpb24gdG8gZW5hYmxlL2Rpc2FibGUgbWVkaWEgY2FwdHVyZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IDdhZTk1OWU0ZjFhNjE0ZWEwN2RmOTVkYWUzMzZkZDM0ZWNiNmEwYzcuLjhh
NGMzZmViMWY2Njk2MWZjMzEyNDA4NWRjZjhlMTEzY2QyZWQ5ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxNy0wNS0wMyAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIxNjE2MCBhbmQgcjIx
NjE2MS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
MTY0MAorCisgICAgICAgIFRoZXNlIGNoYW5nZXMgYnJva2UgdGhlIGlPUyBidWlsZC4gKFJlcXVl
c3RlZCBieSBtbGV3aXMxMyBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRl
ZCBjaGFuZ2VzZXRzOgorCisgICAgICAgICJbTWVkaWFTdHJlYW1dIEFsbG93IGhvc3QgYXBwbGlj
YXRpb24gdG8gZW5hYmxlL2Rpc2FibGUgbWVkaWEKKyAgICAgICAgY2FwdHVyZSIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTI5MgorICAgICAgICBo
dHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMTYxNjAKKworICAgICAgICAiW01lZGlh
U3RyZWFtXSBBbGxvdyBob3N0IGFwcGxpY2F0aW9uIHRvIGVuYWJsZS9kaXNhYmxlIG1lZGlhCisg
ICAgICAgIGNhcHR1cmUiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzEyOTIKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQv
MjE2MTYxCisKIDIwMTctMDUtMDMgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW01lZGlhU3RyZWFtXSBBbGxvdyBob3N0IGFwcGxpY2F0aW9uIHRvIGVu
YWJsZS9kaXNhYmxlIG1lZGlhIGNhcHR1cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAKaW5kZXggYjFlZTMzNWFiNWYyZGI1NDRiY2Y3
YzRlNTRiMDQzYTZkYjZjZmEzYS4uNjA0Y2EzYTlkYmNhYjMzMmIxMzg5MWI4MmQyNzFkNmE1M2Rm
MGQzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbS5jcHAKQEAgLTMxNCwxMiArMzE0LDYgQEAgdm9pZCBNZWRpYVN0cmVhbTo6c3RvcFBy
b2R1Y2luZ0RhdGEoKQogICAgIG1fcHJpdmF0ZS0+c3RvcFByb2R1Y2luZ0RhdGEoKTsKIH0KIAot
dm9pZCBNZWRpYVN0cmVhbTo6ZW5kU3RyZWFtKCkKLXsKLSAgICBmb3IgKGF1dG8mIHRyYWNrIDog
bV90cmFja1NldC52YWx1ZXMoKSkKLSAgICAgICAgdHJhY2stPnN0b3BUcmFjayhNZWRpYVN0cmVh
bVRyYWNrOjpTdG9wTW9kZTo6UG9zdEV2ZW50KTsKLX0KLQogdm9pZCBNZWRpYVN0cmVhbTo6cGFn
ZU11dGVkU3RhdGVEaWRDaGFuZ2UoKQogewogICAgIGlmICghbV9pc0FjdGl2ZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uaAppbmRleCA4MmQ2
NDhiYjc2NmYyYWI3MzVkNTA3MTM0Nzg1NmI4NjMxMjVhYmI2Li5mNmUwNGEyMzU0YWQzN2NlZGVi
YmFmMDE4OTJjODc1ZTNjZjFlYWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5oCkBAIC05MSw4ICs5MSw2IEBAIHB1YmxpYzoKICAgICB2
b2lkIHN0YXJ0UHJvZHVjaW5nRGF0YSgpOwogICAgIHZvaWQgc3RvcFByb2R1Y2luZ0RhdGEoKTsK
IAotICAgIHZvaWQgZW5kU3RyZWFtKCk7Ci0KICAgICAvLyBFdmVudFRhcmdldAogICAgIEV2ZW50
VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gTWVkaWFTdHJlYW1FdmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0KICAgICBTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWwgeyByZXR1
cm4gQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXI6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsg
fQpAQCAtMTA4LDggKzEwNiw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWRkVHJhY2tGcm9tUGxh
dGZvcm0oUmVmPE1lZGlhU3RyZWFtVHJhY2s+JiYpOwogCi0gICAgRG9jdW1lbnQqIGRvY3VtZW50
KCkgY29uc3Q7Ci0KIHByb3RlY3RlZDoKICAgICBNZWRpYVN0cmVhbShTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiwgY29uc3QgTWVkaWFTdHJlYW1UcmFja1ZlY3RvciYpOwogICAgIE1lZGlhU3RyZWFt
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWY8TWVkaWFTdHJlYW1Qcml2YXRlPiYmKTsKQEAg
LTE2Miw2ICsxNTgsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0SXNBY3RpdmUoYm9vbCk7CiAg
ICAgdm9pZCBzdGF0dXNEaWRDaGFuZ2UoKTsKIAorICAgIERvY3VtZW50KiBkb2N1bWVudCgpIGNv
bnN0OworCiAgICAgTWVkaWFTdHJlYW1UcmFja1ZlY3RvciB0cmFja1ZlY3RvckZvclR5cGUoUmVh
bHRpbWVNZWRpYVNvdXJjZTo6VHlwZSkgY29uc3Q7CiAKICAgICBSZWY8TWVkaWFTdHJlYW1Qcml2
YXRlPiBtX3ByaXZhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtUmVnaXN0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVJlZ2lzdHJ5LmNwcAppbmRleCA4ZTdjZWM5NjYwNWUyODFm
MDg1ZDc1ZTU3OTJhOGEyNjhhZWI2Y2JkLi43MmUxZDk0OGQxYjkzYjQ1OGU1Mjk1ZjQ3YWFjMjMy
ZmNmNjUyOTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtUmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1SZWdpc3RyeS5jcHAKQEAgLTYyLDYgKzYyLDEwIEBAIFVSTFJl
Z2lzdHJhYmxlKiBNZWRpYVN0cmVhbVJlZ2lzdHJ5Ojpsb29rdXAoY29uc3QgU3RyaW5nJiB1cmwp
IGNvbnN0CiAgICAgcmV0dXJuIG1fbWVkaWFTdHJlYW1zLmdldCh1cmwpOwogfQogCitNZWRpYVN0
cmVhbVJlZ2lzdHJ5OjpNZWRpYVN0cmVhbVJlZ2lzdHJ5KCkKK3sKK30KKwogTWVkaWFTdHJlYW0q
IE1lZGlhU3RyZWFtUmVnaXN0cnk6Omxvb2tVcChjb25zdCBVUkwmIHVybCkgY29uc3QKIHsKICAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8TWVkaWFTdHJlYW0qPihsb29rdXAodXJsLnN0cmluZygpKSk7
CkBAIC04MCwxNiArODQsMjEgQEAgdm9pZCBNZWRpYVN0cmVhbVJlZ2lzdHJ5OjpyZWdpc3RlclN0
cmVhbShNZWRpYVN0cmVhbSYgc3RyZWFtKQogCiB2b2lkIE1lZGlhU3RyZWFtUmVnaXN0cnk6OnVu
cmVnaXN0ZXJTdHJlYW0oTWVkaWFTdHJlYW0mIHN0cmVhbSkKIHsKLSAgICBhdXRvJiBhbGxTdHJl
YW1zID0gbWVkaWFTdHJlYW1zKCk7CisgICAgVmVjdG9yPE1lZGlhU3RyZWFtKj4mIGFsbFN0cmVh
bXMgPSBtZWRpYVN0cmVhbXMoKTsKICAgICBzaXplX3QgcG9zID0gYWxsU3RyZWFtcy5maW5kKCZz
dHJlYW0pOwogICAgIGlmIChwb3MgIT0gbm90Rm91bmQpCiAgICAgICAgIGFsbFN0cmVhbXMucmVt
b3ZlKHBvcyk7CiB9CiAKLXZvaWQgTWVkaWFTdHJlYW1SZWdpc3RyeTo6Zm9yRWFjaChzdGQ6OmZ1
bmN0aW9uPHZvaWQoTWVkaWFTdHJlYW0mKT4gY2FsbGJhY2spIGNvbnN0CitNZWRpYVN0cmVhbSog
TWVkaWFTdHJlYW1SZWdpc3RyeTo6bG9va1VwKGNvbnN0IE1lZGlhU3RyZWFtUHJpdmF0ZSYgcHJp
dmF0ZVN0cmVhbSkgY29uc3QKIHsKLSAgICBmb3IgKGF1dG8mIHN0cmVhbSA6IG1lZGlhU3RyZWFt
cygpKQotICAgICAgICBjYWxsYmFjaygqc3RyZWFtKTsKKyAgICBWZWN0b3I8TWVkaWFTdHJlYW0q
PiYgYWxsU3RyZWFtcyA9IG1lZGlhU3RyZWFtcygpOworICAgIGZvciAoYXV0byYgc3RyZWFtIDog
YWxsU3RyZWFtcykgeworICAgICAgICBpZiAoJnN0cmVhbS0+cHJpdmF0ZVN0cmVhbSgpID09ICZw
cml2YXRlU3RyZWFtKQorICAgICAgICAgICAgcmV0dXJuIHN0cmVhbTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gbnVsbHB0cjsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVJlZ2lzdHJ5Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUmVnaXN0cnku
aAppbmRleCAwMzBiY2U5YWRiNjZjMTcyMjY2ZTFiMjQ4NTdkNDliYTkyMDZmZmRiLi43ZTIzYTFl
MmUyMjlkOWM4MWQ3ODI0MmY2MDZmMjJiNTM2MGVkMjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUmVnaXN0cnkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUmVnaXN0cnkuaApAQCAt
NTQsMTEgKzU0LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHVucmVnaXN0ZXJTdHJlYW0oTWVkaWFT
dHJlYW0mKTsKIAogICAgIE1lZGlhU3RyZWFtKiBsb29rVXAoY29uc3QgVVJMJikgY29uc3Q7Ci0K
LSAgICB2b2lkIGZvckVhY2goc3RkOjpmdW5jdGlvbjx2b2lkKE1lZGlhU3RyZWFtJik+KSBjb25z
dDsKKyAgICBNZWRpYVN0cmVhbSogbG9va1VwKGNvbnN0IE1lZGlhU3RyZWFtUHJpdmF0ZSYpIGNv
bnN0OwogCiBwcml2YXRlOgotICAgIE1lZGlhU3RyZWFtUmVnaXN0cnkoKSA9IGRlZmF1bHQ7Cisg
ICAgTWVkaWFTdHJlYW1SZWdpc3RyeSgpOwogICAgIEhhc2hNYXA8U3RyaW5nLCBSZWZQdHI8TWVk
aWFTdHJlYW0+PiBtX21lZGlhU3RyZWFtczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4IDZhNmJh
NTE1YWU3ZWM0ODQzM2I0MTQzZDdlYmZhOTkyM2EyMmVjNGQuLmMwZWZlYTFhZDRlOWRlMDRjYWYx
NmMxMWQwMjJkY2Y5MjY3N2JjYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcApAQCAtMTEzLDcgKzExMyw3IEBA
IFJlZjxNZWRpYVN0cmVhbVRyYWNrPiBNZWRpYVN0cmVhbVRyYWNrOjpjbG9uZSgpCiAgICAgcmV0
dXJuIE1lZGlhU3RyZWFtVHJhY2s6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBt
X3ByaXZhdGUtPmNsb25lKCkpOwogfQogCi12b2lkIE1lZGlhU3RyZWFtVHJhY2s6OnN0b3BUcmFj
ayhTdG9wTW9kZSBtb2RlKQordm9pZCBNZWRpYVN0cmVhbVRyYWNrOjpzdG9wVHJhY2soKQogewog
ICAgIC8vIE5PVEU6IHRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aGVuIHRoZSAic3RvcCIgbWV0aG9k
IGlzIGNhbGxlZCBmcm9tIEpTLCB1c2luZyB0aGUgIkltcGxlbWVudGVkQXMiIElETCBhdHRyaWJ1
dGUuCiAgICAgLy8gVGhpcyBpcyBkb25lIGJlY2F1c2UgQWN0aXZlRE9NT2JqZWN0IHJlcXVpcmVz
IGEgInN0b3AiIG1ldGhvZC4KQEAgLTEyMSwxMyArMTIxLDggQEAgdm9pZCBNZWRpYVN0cmVhbVRy
YWNrOjpzdG9wVHJhY2soU3RvcE1vZGUgbW9kZSkKICAgICBpZiAoZW5kZWQoKSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgLy8gQW4gJ2VuZGVkJyBldmVudCBpcyBub3QgcG9zdGVkIGlmIG1fZW5k
ZWQgaXMgdHJ1ZSB3aGVuIHRyYWNrRW5kZWQgaXMgY2FsbGVkLCBzbyBzZXQgaXQgbm93IGlmIHdl
IGFyZQotICAgIC8vIG5vdCBzdXBwb3NlZCB0byBwb3N0IHRoZSBldmVudC4KLSAgICBpZiAobW9k
ZSA9PSBTdG9wTW9kZTo6U2lsZW50bHkpCi0gICAgICAgIG1fZW5kZWQgPSB0cnVlOwotCi0gICAg
bV9wcml2YXRlLT5lbmRUcmFjaygpOwogICAgIG1fZW5kZWQgPSB0cnVlOworICAgIG1fcHJpdmF0
ZS0+ZW5kVHJhY2soKTsKIH0KIAogTWVkaWFTdHJlYW1UcmFjazo6VHJhY2tTZXR0aW5ncyBNZWRp
YVN0cmVhbVRyYWNrOjpnZXRTZXR0aW5ncygpIGNvbnN0CkBAIC0zMDgsNyArMzAzLDcgQEAgdm9p
ZCBNZWRpYVN0cmVhbVRyYWNrOjp0cmFja0VuZGVkKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJikK
ICAgICAKIHZvaWQgTWVkaWFTdHJlYW1UcmFjazo6dHJhY2tNdXRlZENoYW5nZWQoTWVkaWFTdHJl
YW1UcmFja1ByaXZhdGUmKQogewotICAgIGlmIChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFj
dGl2ZURPTU9iamVjdHNBcmVTdXNwZW5kZWQoKSB8fCBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkt
PmFjdGl2ZURPTU9iamVjdHNBcmVTdG9wcGVkKCkgfHwgbV9lbmRlZCkKKyAgICBpZiAoc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLT5hY3RpdmVET01PYmplY3RzQXJlU3VzcGVuZGVkKCkgfHwgc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpLT5hY3RpdmVET01PYmplY3RzQXJlU3RvcHBlZCgpKQogICAg
ICAgICByZXR1cm47CiAKICAgICBBdG9taWNTdHJpbmcgZXZlbnRUeXBlID0gbXV0ZWQoKSA/IGV2
ZW50TmFtZXMoKS5tdXRlRXZlbnQgOiBldmVudE5hbWVzKCkudW5tdXRlRXZlbnQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2su
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5o
CmluZGV4IDNiN2ViZjk1Mzc1M2EzNTRmYWY0ZTk3NjVkMjdhYWM4N2MxMjFmODkuLjRiMjEyZGUz
MGQ2ZWYyNWY3NDcxYTAwZTg4MmNiNjQzMWNkMWFlMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oCkBAIC03MSw5ICs3
MSw3IEBAIHB1YmxpYzoKICAgICBib29sIGVuZGVkKCkgY29uc3Q7CiAKICAgICBSZWY8TWVkaWFT
dHJlYW1UcmFjaz4gY2xvbmUoKTsKLQotICAgIGVudW0gY2xhc3MgU3RvcE1vZGUgeyBTaWxlbnRs
eSwgUG9zdEV2ZW50IH07Ci0gICAgdm9pZCBzdG9wVHJhY2soU3RvcE1vZGUgPSBTdG9wTW9kZTo6
U2lsZW50bHkpOworICAgIHZvaWQgc3RvcFRyYWNrKCk7CiAKICAgICBib29sIGlzQ2FwdHVyZVRy
YWNrKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGQ5Y2UwMzM1MjBjMTg1
ODkyMDllZjI1ZmYzMWY1MGI1MjhjMzk2ODAuLjBmMTRjMjhmMTRiMDAwODZhODBlZDIzMTVkMmM5
YTk4NTNlMDE1OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMjcxLDExICsyNzEsNiBA
QAogI2luY2x1ZGUgIlhTTFRQcm9jZXNzb3IuaCIKICNlbmRpZgogCi0jaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKLSNpbmNsdWRlICJNZWRpYVN0cmVhbS5oIgotI2luY2x1ZGUgIk1lZGlhU3RyZWFt
UmVnaXN0cnkuaCIKLSNlbmRpZgotCiB1c2luZyBuYW1lc3BhY2UgV1RGOwogdXNpbmcgbmFtZXNw
YWNlIFVuaWNvZGU7CiAKQEAgLTY5NzcsMTQgKzY5NzIsNCBAQCB2b2lkIERvY3VtZW50Ojpvcmll
bnRhdGlvbkNoYW5nZWQoaW50IG9yaWVudGF0aW9uKQogICAgIG1fb3JpZW50YXRpb25Ob3RpZmll
ci5vcmllbnRhdGlvbkNoYW5nZWQob3JpZW50YXRpb24pOwogfQogCi0jaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKLXZvaWQgRG9jdW1lbnQ6OnN0b3BNZWRpYUNhcHR1cmUoKQotewotICAgIE1lZGlh
U3RyZWFtUmVnaXN0cnk6OnNoYXJlZCgpLmZvckVhY2goW3RoaXNdKE1lZGlhU3RyZWFtJiBzdHJl
YW0pIHsKLSAgICAgICAgaWYgKHN0cmVhbS5kb2N1bWVudCgpID09IHRoaXMpCi0gICAgICAgICAg
ICBzdHJlYW0uZW5kU3RyZWFtKCk7Ci0gICAgfSk7Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBkMmU1ZTVjMjUzODc2N2M5Zjc3NTVi
NzQ3MWVlOTJjMWZlMDgwNGM5Li4zOThlNTM5ZDdiMDQzM2YyNDAyODg3MzJmYzBkN2EyYTBmMzgz
YjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTI3Nyw3ICsxMjc3LDYgQEAgcHVibGljOgog
ICAgIGJvb2wgaGFzSGFkQWN0aXZlTWVkaWFTdHJlYW1UcmFjaygpIGNvbnN0IHsgcmV0dXJuIG1f
aGFzSGFkQWN0aXZlTWVkaWFTdHJlYW1UcmFjazsgfQogICAgIHZvaWQgc2V0RGV2aWNlSURIYXNo
U2FsdChjb25zdCBTdHJpbmcmIHNhbHQpIHsgbV9pZEhhc2hTYWx0ID0gc2FsdDsgfQogICAgIFN0
cmluZyBkZXZpY2VJREhhc2hTYWx0KCkgY29uc3QgeyByZXR1cm4gbV9pZEhhc2hTYWx0OyB9Ci0g
ICAgdm9pZCBzdG9wTWVkaWFDYXB0dXJlKCk7CiAjZW5kaWYKIAogLy8gRklYTUU6IEZpbmQgYSBi
ZXR0ZXIgcGxhY2UgZm9yIHRoaXMgZnVuY3Rpb25hbGl0eS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4
IDkwYWY0ZGYyZmE4OTFiY2JkM2JmOTFhYzUxNGU1OTQ1MzdiMDNkOTQuLmZmYzYwZGZjZjJkZmY4
NWU5MDI3ZmJlZDhhZjBlYTk2OWY5ZjAyMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTUzMiwx
OCArMTUzMiw2IEBAIHZvaWQgUGFnZTo6c2V0TXV0ZWQoTWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0
ZUZsYWdzIG11dGVkKQogICAgIH0KIH0KIAotdm9pZCBQYWdlOjpzdG9wTWVkaWFDYXB0dXJlKCkK
LXsKLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotICAgIGZvciAoRnJhbWUqIGZyYW1lID0gJm1h
aW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNlTmV4dCgpKSB7
Ci0gICAgICAgIGlmICghZnJhbWUtPmRvY3VtZW50KCkpCi0gICAgICAgICAgICBjb250aW51ZTsK
LQotICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+c3RvcE1lZGlhQ2FwdHVyZSgpOwotICAgIH0K
LSNlbmRpZgotfQotCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiB2b2lkIFBhZ2U6OmhhbmRs
ZU1lZGlhRXZlbnQoTWVkaWFFdmVudFR5cGUgZXZlbnRUeXBlKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRl
eCAxOTQyOTYxMTdiZmZlYjgwNzI4NzVlODM3YjhjZGZiMzQyNTE4MDU1Li44Njc5ZDg2NjA0ODIz
MDNkNDk2Y2ExYTM1MjA0Zjk1ZmI4MDYzNGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtNTMwLDcgKzUz
MCw2IEBAIHB1YmxpYzoKICAgICBib29sIGlzQXVkaW9NdXRlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
bXV0ZWRTdGF0ZSAmIE1lZGlhUHJvZHVjZXI6OkF1ZGlvSXNNdXRlZDsgfQogICAgIGJvb2wgaXNN
ZWRpYUNhcHR1cmVNdXRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbXV0ZWRTdGF0ZSAmIE1lZGlhUHJv
ZHVjZXI6OkNhcHR1cmVEZXZpY2VzQXJlTXV0ZWQ7IH07CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRNdXRlZChNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MpOwotICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgc3RvcE1lZGlhQ2FwdHVyZSgpOwogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJ
T04pCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBoYW5kbGVNZWRpYUV2ZW50KE1lZGlhRXZlbnRU
eXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQppbmRleCBmNzJlMzY1MDBlMWY4MzM3ZWI1
ODY3ZjViYzUwNWY3OWQ3MTdiM2FiLi5jY2JmYjBlNjViMTEzOWQxNmQwZGM2ZjlmNmZhMTBmZDU0
NGQ1NDVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCkBAIC01ODAsMjEgKzU4MCwyMSBA
QCBQbGF0Zm9ybUxheWVyKiBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OmJh
Y2tncm91bmRMYXllcigpCiAKIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6
RGlzcGxheU1vZGUgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpjdXJyZW50
RGlzcGxheU1vZGUoKSBjb25zdAogewotICAgIGlmIChtX2ludHJpbnNpY1NpemUuaXNFbXB0eSgp
IHx8ICFtZXRhRGF0YUF2YWlsYWJsZSgpIHx8ICFtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcikK
KyAgICBpZiAobV9lbmRlZCB8fCBtX2ludHJpbnNpY1NpemUuaXNFbXB0eSgpIHx8ICFtZXRhRGF0
YUF2YWlsYWJsZSgpIHx8ICFtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcikKICAgICAgICAgcmV0
dXJuIE5vbmU7CiAKICAgICBpZiAoYXV0byogdHJhY2sgPSBtX21lZGlhU3RyZWFtUHJpdmF0ZS0+
YWN0aXZlVmlkZW9UcmFjaygpKSB7Ci0gICAgICAgIGlmICghdHJhY2stPmVuYWJsZWQoKSB8fCB0
cmFjay0+bXV0ZWQoKSB8fCB0cmFjay0+ZW5kZWQoKSkKKyAgICAgICAgaWYgKCF0cmFjay0+ZW5h
YmxlZCgpIHx8IHRyYWNrLT5tdXRlZCgpKQogICAgICAgICAgICAgcmV0dXJuIFBhaW50SXRCbGFj
azsKICAgICB9CiAKLSAgICBpZiAocGxheWluZygpICYmICFtX2VuZGVkKSB7CisgICAgaWYgKHBs
YXlpbmcoKSkgewogICAgICAgICBpZiAoIW1fbWVkaWFTdHJlYW1Qcml2YXRlLT5pc1Byb2R1Y2lu
Z0RhdGEoKSkKICAgICAgICAgICAgIHJldHVybiBQYXVzZWRJbWFnZTsKICAgICAgICAgcmV0dXJu
IExpdmVQcmV2aWV3OwogICAgIH0KIAotICAgIGlmIChtX3BsYXliYWNrU3RhdGUgPT0gUGxheWJh
Y2tTdGF0ZTo6Tm9uZSB8fCBtX2VuZGVkKQorICAgIGlmIChtX3BsYXliYWNrU3RhdGUgPT0gUGxh
eWJhY2tTdGF0ZTo6Tm9uZSkKICAgICAgICAgcmV0dXJuIFBhaW50SXRCbGFjazsKIAogICAgIHJl
dHVybiBQYXVzZWRJbWFnZTsKQEAgLTc2OCwxMCArNzY4LDggQEAgdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OmFjdGl2ZVN0YXR1c0NoYW5nZWQoKQogCiAgICAgICAg
IGlmIChlbmRlZCAhPSBtX2VuZGVkKSB7CiAgICAgICAgICAgICBtX2VuZGVkID0gZW5kZWQ7Ci0g
ICAgICAgICAgICBpZiAobV9wbGF5ZXIpIHsKKyAgICAgICAgICAgIGlmIChtX3BsYXllcikKICAg
ICAgICAgICAgICAgICBtX3BsYXllci0+dGltZUNoYW5nZWQoKTsKLSAgICAgICAgICAgICAgICBt
X3BsYXllci0+Y2hhcmFjdGVyaXN0aWNDaGFuZ2VkKCk7Ci0gICAgICAgICAgICB9CiAgICAgICAg
IH0KICAgICB9KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1Qcml2YXRlLmgKaW5kZXggYTc5NzA0ZGQ4NWEzNTk4OTNmYjRj
ZmY1ODczOGE1NmFkOWExNmFjYi4uYWQxZDUwMTA5ZWQ1YmE1Nzk4OTlmMmM1ZWVhZWJjODM5NGRh
YWM3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW1Qcml2YXRlLmgKQEAgLTk1LDggKzk1LDYgQEAgcHVibGljOgogICAgIHZv
aWQgc3RvcFByb2R1Y2luZ0RhdGEoKTsKICAgICBib29sIGlzUHJvZHVjaW5nRGF0YSgpIGNvbnN0
OwogCi0gICAgdm9pZCBlbmRTdHJlYW0oKTsKLQogICAgIGJvb2wgaGFzVmlkZW8oKSBjb25zdDsK
ICAgICBib29sIGhhc0F1ZGlvKCkgY29uc3Q7CiAgICAgYm9vbCBtdXRlZCgpIGNvbnN0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWTWVkaWFD
YXB0dXJlU291cmNlLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L0FWTWVkaWFDYXB0dXJlU291cmNlLm1tCmluZGV4IDEyMmJkYjhmNDk0MDE4YzJjMDQ1YWJmODQ3
NWQ5MWE2YWU1YmQ3MmEuLmU3ZGI5NDgwZTUzNTdlMjdlZjE2NDgyZWU5YmE0MTA5NzgxMzE5ZDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVk1l
ZGlhQ2FwdHVyZVNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvQVZNZWRpYUNhcHR1cmVTb3VyY2UubW0KQEAgLTE4MSwxNCArMTgxLDExIEBAIHZv
aWQgQVZNZWRpYUNhcHR1cmVTb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSgpCiAKIHZvaWQgQVZN
ZWRpYUNhcHR1cmVTb3VyY2U6OnN0b3BQcm9kdWNpbmdEYXRhKCkKIHsKLSAgICBpZiAoIW1fc2Vz
c2lvbikKKyAgICBpZiAoIW1fc2Vzc2lvbiB8fCAhW21fc2Vzc2lvbiBpc1J1bm5pbmddKQogICAg
ICAgICByZXR1cm47CiAKICAgICBbbV9vYmpjT2JzZXJ2ZXIgcmVtb3ZlTm90aWZpY2F0aW9uT2Jz
ZXJ2ZXJzXTsKLQotICAgIGlmIChbbV9zZXNzaW9uIGlzUnVubmluZ10pCi0gICAgICAgIFttX3Nl
c3Npb24gc3RvcFJ1bm5pbmddOwotCisgICAgW21fc2Vzc2lvbiBzdG9wUnVubmluZ107CiAjaWYg
UExBVEZPUk0oSU9TKQogICAgIG1fc2Vzc2lvbiA9IG51bGxwdHI7CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKaW5kZXggYTg4MGQzZmZhZGRmMDc5MTc2
Yzk1YmYyZGY2MzNlZDMzODU1YjY3MS4uNGFlNzUyYjhhY2FhMDQwNjYxZjA4N2VjN2RkOTU0MGE4
NmE0ZTA5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAg
LTI2NzcsMTYgKzI2NzcsNiBAQCB2b2lkIFdLUGFnZVNldE11dGVkKFdLUGFnZVJlZiBwYWdlLCBX
S01lZGlhTXV0ZWRTdGF0ZSBtdXRlZCkKICAgICB0b0ltcGwocGFnZSktPnNldE11dGVkKG11dGVk
KTsKIH0KIAotdm9pZCBXS1BhZ2VTZXRNZWRpYUNhcHR1cmVFbmFibGVkKFdLUGFnZVJlZiBwYWdl
LCBib29sIGVuYWJsZWQpCi17Ci0gICAgdG9JbXBsKHBhZ2UpLT5zZXRNZWRpYUNhcHR1cmVFbmFi
bGVkKGVuYWJsZWQpOwotfQotCi1ib29sIFdLUGFnZUdldE1lZGlhQ2FwdHVyZUVuYWJsZWQoV0tQ
YWdlUmVmIHBhZ2UpCi17Ci0gICAgcmV0dXJuIHRvSW1wbChwYWdlKS0+bWVkaWFDYXB0dXJlRW5h
YmxlZCgpOwotfQotCiB2b2lkIFdLUGFnZURpZEFsbG93UG9pbnRlckxvY2soV0tQYWdlUmVmIHBh
Z2UpCiB7CiAjaWYgRU5BQkxFKFBPSU5URVJfTE9DSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oCmluZGV4IDYwMDliYWQ5YTQ2MTIyYWE2OTI5Yzll
YmRhMDA0YTdjNDUwNTY0ZTMuLjljNDE2MjMwODhkZTRkYjcwOGI0NGJmNGVkZGYzMDliZTM5ZGU1
NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2
YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUu
aApAQCAtMTI3LDggKzEyNyw2IEBAIHR5cGVkZWYgdWludDMyX3QgV0tNZWRpYU11dGVkU3RhdGU7
CiBXS19FWFBPUlQgdm9pZCBXS1BhZ2VTZXRNdXRlZChXS1BhZ2VSZWYgcGFnZSwgV0tNZWRpYU11
dGVkU3RhdGUgbXV0ZWQpOwogCiBXS19FWFBPUlQgdm9pZCBXS1BhZ2VDbGVhclVzZXJNZWRpYVN0
YXRlKFdLUGFnZVJlZiBwYWdlKTsKLVdLX0VYUE9SVCB2b2lkIFdLUGFnZVNldE1lZGlhQ2FwdHVy
ZUVuYWJsZWQoV0tQYWdlUmVmIHBhZ2UsIGJvb2wgZW5hYmxlZCk7Ci1XS19FWFBPUlQgYm9vbCBX
S1BhZ2VHZXRNZWRpYUNhcHR1cmVFbmFibGVkKFdLUGFnZVJlZiBwYWdlKTsKIAogV0tfRVhQT1JU
IHZvaWQgV0tQYWdlRGlkQWxsb3dQb2ludGVyTG9jayhXS1BhZ2VSZWYgcGFnZSk7CiBXS19FWFBP
UlQgdm9pZCBXS1BhZ2VEaWREZW55UG9pbnRlckxvY2soV0tQYWdlUmVmIHBhZ2UpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCA5NTE5
MjQ2YWYyZTk1ZTA1MDliM2MwZDYzYmEzMjY2ZDc5OTVmMDNhLi5iZDRiZjQyODZjOTQyZTcwMjA5
Y2M2MTRhOWQyMDFmMTEyOTc1ODZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtNDQ3MywxNiArNDQ3Myw2IEBAIHN0YXRpYyBpbmxp
bmUgV2ViS2l0OjpGaW5kT3B0aW9ucyB0b0ZpbmRPcHRpb25zKF9XS0ZpbmRPcHRpb25zIHdrRmlu
ZE9wdGlvbnMpCiAgICAgX3BhZ2UtPnNldE11dGVkKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6OkNh
cHR1cmVEZXZpY2VzQXJlTXV0ZWQpOwogfQogCi0tICh2b2lkKV9zZXRNZWRpYUNhcHR1cmVFbmFi
bGVkOihCT09MKWVuYWJsZWQKLXsKLSAgICBfcGFnZS0+c2V0TWVkaWFDYXB0dXJlRW5hYmxlZChl
bmFibGVkKTsKLX0KLQotLSAoQk9PTClfbWVkaWFDYXB0dXJlRW5hYmxlZAotewotICAgIHJldHVy
biBfcGFnZS0+bWVkaWFDYXB0dXJlRW5hYmxlZCgpOwotfQotCiAtICh2b2lkKV9zZXRQYWdlTXV0
ZWQ6KF9XS01lZGlhTXV0ZWRTdGF0ZSltdXRlZFN0YXRlCiB7CiAgICAgV2ViQ29yZTo6TWVkaWFQ
cm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIGNvcmVTdGF0ZSA9IFdlYkNvcmU6Ok1lZGlhUHJvZHVj
ZXI6Ok5vbmVNdXRlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKaW5kZXggMzcwMGYzMDU0NjUzYzE4NGI4MzNjY2MxOGI0
ODg2YzI2ZTM3NzM3NC4uODdkNmE2ZGI2OGM1NzU2MjEwMTMwYzdhOGVmYmVjY2MxMzY3M2FhZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQ
cml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdQcml2YXRlLmgKQEAgLTI5MiwxMSArMjkyLDkgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdl
ciwgX1dLSW1tZWRpYXRlQWN0aW9uVHlwZSkgewogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRl
cj1fc2V0RnVsbHNjcmVlbkRlbGVnYXRlOikgaWQ8X1dLRnVsbHNjcmVlbkRlbGVnYXRlPiBfZnVs
bHNjcmVlbkRlbGVnYXRlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKIEBw
cm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQk9PTCBfaXNJbkZ1bGxzY3JlZW4gV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwogCi0tICh2b2lkKV9tdXRlTWVkaWFDYXB0
dXJlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkp
OworLSAodm9pZClfbXV0ZU1lZGlhQ2FwdHVyZTsKIC0gKHZvaWQpX3NldFBhZ2VNdXRlZDooX1dL
TWVkaWFNdXRlZFN0YXRlKW11dGVkU3RhdGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFD
X1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9
X3NldE1lZGlhQ2FwdHVyZUVuYWJsZWQ6KSBCT09MIF9tZWRpYUNhcHR1cmVFbmFibGVkIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwotCiBAZW5k
CiAKICNpZiAhVEFSR0VUX09TX0lQSE9ORQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29j
b2EvVUlEZWxlZ2F0ZS5tbQppbmRleCA0ZjIxZTgyMzMwMWMzYzZhZGNkMzlkNmNlMGIwNzdjZTdj
NGNhNWIxLi44NGM1ZWQxMDRjNDBhMDNjZDBhMGNiZWU2YTg3MWNmYzZhNzZmMGEyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQpAQCAtMTE1LDExICsx
MTUsMTEgQEAgdm9pZCBVSURlbGVnYXRlOjpzZXREZWxlZ2F0ZShpZCA8V0tVSURlbGVnYXRlPiBk
ZWxlZ2F0ZSkKICNlbmRpZgogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdBY3Rpb25zRm9y
RWxlbWVudERlZmF1bHRBY3Rpb25zID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3IoX3dlYlZpZXc6YWN0aW9uc0ZvckVsZW1lbnQ6ZGVmYXVsdEFjdGlvbnM6KV07CiAgICAg
bV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0RpZE5vdEhhbmRsZVRhcEFzQ2xpY2tBdFBvaW50ID0g
W2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6ZGlkTm90SGFu
ZGxlVGFwQXNDbGlja0F0UG9pbnQ6KV07Ci0gICAgbV9kZWxlZ2F0ZU1ldGhvZHMucHJlc2VudGlu
Z1ZpZXdDb250cm9sbGVyRm9yV2ViVmlldyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6
QHNlbGVjdG9yKF9wcmVzZW50aW5nVmlld0NvbnRyb2xsZXJGb3JXZWJWaWV3OildOwotI2VuZGlm
CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1JlcXVlc3RVc2VyTWVkaWFBdXRob3JpemF0
aW9uRm9yRGV2aWNlc1VSTE1haW5GcmFtZVVSTERlY2lzaW9uSGFuZGxlciA9IFtkZWxlZ2F0ZSBy
ZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnJlcXVlc3RVc2VyTWVkaWFBdXRo
b3JpemF0aW9uRm9yRGV2aWNlczp1cmw6bWFpbkZyYW1lVVJMOmRlY2lzaW9uSGFuZGxlcjopXTsK
ICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3Q2hlY2tVc2VyTWVkaWFQZXJtaXNzaW9uRm9y
VVJMTWFpbkZyYW1lVVJMRnJhbWVJZGVudGlmaWVyRGVjaXNpb25IYW5kbGVyID0gW2RlbGVnYXRl
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6Y2hlY2tVc2VyTWVkaWFQZXJt
aXNzaW9uRm9yVVJMOm1haW5GcmFtZVVSTDpmcmFtZUlkZW50aWZpZXI6ZGVjaXNpb25IYW5kbGVy
OildOwogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdNZWRpYUNhcHR1cmVTdGF0ZURpZENo
YW5nZSA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3Om1l
ZGlhQ2FwdHVyZVN0YXRlRGlkQ2hhbmdlOildOworICAgIG1fZGVsZWdhdGVNZXRob2RzLnByZXNl
bnRpbmdWaWV3Q29udHJvbGxlckZvcldlYlZpZXcgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVj
dG9yOkBzZWxlY3RvcihfcHJlc2VudGluZ1ZpZXdDb250cm9sbGVyRm9yV2ViVmlldzopXTsKKyNl
bmRpZgogICAgIG1fZGVsZWdhdGVNZXRob2RzLmRhdGFEZXRlY3Rpb25Db250ZXh0Rm9yV2ViVmll
dyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9kYXRhRGV0ZWN0aW9u
Q29udGV4dEZvcldlYlZpZXc6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0ltYWdl
T3JNZWRpYURvY3VtZW50U2l6ZUNoYW5nZWQgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9y
OkBzZWxlY3Rvcihfd2ViVmlldzppbWFnZU9yTWVkaWFEb2N1bWVudFNpemVDaGFuZ2VkOildOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJN
ZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcAppbmRleCAyN2FlNDQ1ZDVlMTMw
N2VhNzc1MGY2N2MwNzM5OTYxY2NkNmFhODM1Li43NTY4MDQwZjNkZTJjMTZhNjE4MzUzZWRlMjkz
N2E4YWUxNzA5NDFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlck1l
ZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKQEAg
LTk2LDcgKzk2LDYgQEAgRnJhbWVBdXRob3JpemF0aW9uU3RhdGUmIFVzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlclByb3h5OjpzdGF0ZUZvclJlcXVlc3QKIAogVXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5KFdlYlBhZ2VQcm94eSYgcGFnZSkKICAgICA6IG1fcGFnZShwYWdlKQotICAgICwgbV9y
ZWplY3Rpb25UaW1lcigqdGhpcywgJlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclBy
b3h5OjpyZWplY3Rpb25UaW1lckZpcmVkKQogewogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAg
ICAgVXNlck1lZGlhUHJvY2Vzc01hbmFnZXI6OnNpbmdsZXRvbigpLmFkZFVzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlclByb3h5KCp0aGlzKTsKQEAgLTEwOCwxMCArMTA3LDEwIEBAIFVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5Ojp+VXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHkoCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKICAgICBVc2Vy
TWVkaWFQcm9jZXNzTWFuYWdlcjo6c2luZ2xldG9uKCkucmVtb3ZlVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHkoKnRoaXMpOwogI2VuZGlmCi0gICAgaW52YWxpZGF0ZVBlbmRp
bmdSZXF1ZXN0cygpOworICAgIGludmFsaWRhdGVSZXF1ZXN0cygpOwogfQogCi12b2lkIFVzZXJN
ZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5OjppbnZhbGlkYXRlUGVuZGluZ1JlcXVl
c3RzKCkKK3ZvaWQgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OmludmFs
aWRhdGVSZXF1ZXN0cygpCiB7CiAgICAgZm9yIChhdXRvJiByZXF1ZXN0IDogbV9wZW5kaW5nVXNl
ck1lZGlhUmVxdWVzdHMudmFsdWVzKCkpCiAgICAgICAgIHJlcXVlc3QtPmludmFsaWRhdGUoKTsK
QEAgLTEyNCwxNSArMTIzLDkgQEAgdm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXJQcm94eTo6aW52YWxpZGF0ZVBlbmRpbmdSZXF1ZXN0cygpCiAgICAgbV9mcmFtZVN0YXRlcy5j
bGVhcigpOwogfQogCi12b2lkIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5
OjpzdG9wQ2FwdHVyZSgpCi17Ci0gICAgaW52YWxpZGF0ZVBlbmRpbmdSZXF1ZXN0cygpOwotICAg
IG1fcGFnZS5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U3RvcE1lZGlhQ2FwdHVy
ZSgpLCBtX3BhZ2UucGFnZUlEKCkpOwotfQotCiB2b2lkIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlclByb3h5OjpjbGVhckNhY2hlZFN0YXRlKCkKIHsKLSAgICBpbnZhbGlkYXRlUGVu
ZGluZ1JlcXVlc3RzKCk7CisgICAgaW52YWxpZGF0ZVJlcXVlc3RzKCk7CiB9CiAKIFJlZjxVc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5PiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eTo6Y3JlYXRlUmVxdWVzdCh1aW50NjRfdCB1c2VyTWVkaWFJRCwgdWludDY0X3Qg
ZnJhbWVJRCwgY29uc3QgU3RyaW5nJiB1c2VyTWVkaWFEb2N1bWVudE9yaWdpbklkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgdG9wTGV2ZWxEb2N1bWVudE9yaWdpbklkZW50aWZpZXIsIGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBhdWRpb0RldmljZVVJRHMsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB2aWRl
b0RldmljZVVJRHMpCkBAIC0yMzAsMjMgKzIyMyw2IEBAIHZvaWQgVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHk6OnVzZXJNZWRpYUFjY2Vzc1dhc0dyYW50ZWQodWludDY0X3QK
ICNlbmRpZgogfQogCi12b2lkIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5
OjpyZWplY3Rpb25UaW1lckZpcmVkKCkKLXsKLSAgICB1aW50NjRfdCB1c2VyTWVkaWFJRCA9IG1f
cGVuZGluZ1JlamVjdGlvbnNbMF07Ci0gICAgbV9wZW5kaW5nUmVqZWN0aW9ucy5yZW1vdmUoMCk7
Ci0KLSAgICBkZW55UmVxdWVzdCh1c2VyTWVkaWFJRCwgVXNlck1lZGlhUGVybWlzc2lvblJlcXVl
c3RQcm94eTo6VXNlck1lZGlhQWNjZXNzRGVuaWFsUmVhc29uOjpQZXJtaXNzaW9uRGVuaWVkLCBl
bXB0eVN0cmluZygpKTsKLSAgICBpZiAoIW1fcGVuZGluZ1JlamVjdGlvbnMuaXNFbXB0eSgpKQot
ICAgICAgICBzY2hlZHVsZU5leHRSZWplY3Rpb24oKTsKLX0KLQotdm9pZCBVc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eTo6c2NoZWR1bGVOZXh0UmVqZWN0aW9uKCkKLXsKLSAg
ICBjb25zdCBkb3VibGUgbWltaW11bURlbGF5QmVmb3JlUmVwbHlpbmcgPSAuMjU7Ci0gICAgaWYg
KCFtX3JlamVjdGlvblRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fcmVqZWN0aW9uVGltZXIu
c3RhcnRPbmVTaG90KFNlY29uZHMobWltaW11bURlbGF5QmVmb3JlUmVwbHlpbmcgKyByYW5kb21O
dW1iZXIoKSkpOwotfQotCiB2b2lkIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclBy
b3h5OjpyZXF1ZXN0VXNlck1lZGlhUGVybWlzc2lvbkZvckZyYW1lKHVpbnQ2NF90IHVzZXJNZWRp
YUlELCB1aW50NjRfdCBmcmFtZUlELCBTdHJpbmcgdXNlck1lZGlhRG9jdW1lbnRPcmlnaW5JZGVu
dGlmaWVyLCBTdHJpbmcgdG9wTGV2ZWxEb2N1bWVudE9yaWdpbklkZW50aWZpZXIsIGNvbnN0IFdl
YkNvcmU6Ok1lZGlhQ29uc3RyYWludHNEYXRhJiBhdWRpb0NvbnN0cmFpbnRzRGF0YSwgY29uc3Qg
V2ViQ29yZTo6TWVkaWFDb25zdHJhaW50c0RhdGEmIHZpZGVvQ29uc3RyYWludHNEYXRhKQogewog
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCkBAIC0yOTYsMTIgKzI3Miw2IEBAIHZvaWQgVXNlck1l
ZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OnJlcXVlc3RVc2VyTWVkaWFQZXJtaXNz
aW9uRm9yRnJhbWUoCiAKICAgICB9OwogCi0gICAgaWYgKCFVc2VyTWVkaWFQcm9jZXNzTWFuYWdl
cjo6c2luZ2xldG9uKCkuY2FwdHVyZUVuYWJsZWQoKSkgewotICAgICAgICBtX3BlbmRpbmdSZWpl
Y3Rpb25zLmFwcGVuZCh1c2VyTWVkaWFJRCk7Ci0gICAgICAgIHNjaGVkdWxlTmV4dFJlamVjdGlv
bigpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCiAgICAgYXV0byBhdWRpb0NvbnN0cmFpbnRz
ID0gTWVkaWFDb25zdHJhaW50c0ltcGw6OmNyZWF0ZShNZWRpYUNvbnN0cmFpbnRzRGF0YShhdWRp
b0NvbnN0cmFpbnRzRGF0YSkpOwogICAgIGF1dG8gdmlkZW9Db25zdHJhaW50cyA9IE1lZGlhQ29u
c3RyYWludHNJbXBsOjpjcmVhdGUoTWVkaWFDb25zdHJhaW50c0RhdGEodmlkZW9Db25zdHJhaW50
c0RhdGEpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaAppbmRleCBlMTJlMDJk
YjE2MGVkZjhhNmY3ZmVlOWYyNWM5MzY2NGFhMTg1ZjE2Li5hZGVmNWY4OTViMmRhMjg3M2JlMjg2
ZjNhOWIwNzdjNWU1MjNlMDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaApA
QCAtMTcsMTUgKzE3LDE0IEBACiAgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCiAgKi8KIAotI3By
YWdtYSBvbmNlCisjaWZuZGVmIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5
X2gKKyNkZWZpbmUgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHlfaAogCiAj
aW5jbHVkZSAiVXNlck1lZGlhUGVybWlzc2lvbkNoZWNrUHJveHkuaCIKICNpbmNsdWRlICJVc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0
eU9yaWdpbi5oPgotI2luY2x1ZGUgPFdlYkNvcmUvVGltZXIuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1VzZXJNZWRpYVJlcXVlc3QuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUg
PHd0Zi9TZWNvbmRzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIENhcHR1cmVEZXZp
Y2U7CkBAIC01OCw3ICs1Nyw3IEBAIHB1YmxpYzoKIAogICAgIFdlYlBhZ2VQcm94eSYgcGFnZSgp
IGNvbnN0IHsgcmV0dXJuIG1fcGFnZTsgfQogCi0gICAgdm9pZCBpbnZhbGlkYXRlUGVuZGluZ1Jl
cXVlc3RzKCk7CisgICAgdm9pZCBpbnZhbGlkYXRlUmVxdWVzdHMoKTsKIAogICAgIHZvaWQgcmVx
dWVzdFVzZXJNZWRpYVBlcm1pc3Npb25Gb3JGcmFtZSh1aW50NjRfdCB1c2VyTWVkaWFJRCwgdWlu
dDY0X3QgZnJhbWVJRCwgU3RyaW5nIHVzZXJNZWRpYURvY3VtZW50T3JpZ2luSWRlbnRpZmllciwg
U3RyaW5nIHRvcExldmVsRG9jdW1lbnRPcmlnaW5JZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpN
ZWRpYUNvbnN0cmFpbnRzRGF0YSYgYXVkaW9Db25zdHJhaW50c0RhdGEsIGNvbnN0IFdlYkNvcmU6
Ok1lZGlhQ29uc3RyYWludHNEYXRhJiB2aWRlb0NvbnN0cmFpbnRzRGF0YSk7CiAKQEAgLTcwLDkg
KzY5LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBkaWRDb21wbGV0ZVVzZXJNZWRpYVBlcm1pc3Np
b25DaGVjayh1aW50NjRfdCwgY29uc3QgU3RyaW5nJiwgYm9vbCBhbGxvdyk7CiAKLSAgICB2b2lk
IHN0b3BDYXB0dXJlKCk7Ci0gICAgdm9pZCBzY2hlZHVsZU5leHRSZWplY3Rpb24oKTsKLSAgICB2
b2lkIHJlamVjdGlvblRpbWVyRmlyZWQoKTsKICAgICB2b2lkIGNsZWFyQ2FjaGVkU3RhdGUoKTsK
IAogICAgIHZvaWQgc3RhcnRlZENhcHR1cmVTZXNzaW9uKCk7CkBAIC04OSwxMCArODUsOCBAQCBw
cml2YXRlOgogICAgIEhhc2hNYXA8dWludDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxGcmFtZUF1dGhv
cml6YXRpb25TdGF0ZT4+IG1fZnJhbWVTdGF0ZXM7CiAKICAgICBXZWJQYWdlUHJveHkmIG1fcGFn
ZTsKLQotICAgIFdlYkNvcmU6OlRpbWVyIG1fcmVqZWN0aW9uVGltZXI7Ci0gICAgVmVjdG9yPHVp
bnQ2NF90PiBtX3BlbmRpbmdSZWplY3Rpb25zOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CiAKKyNlbmRpZiAvLyBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eV9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlck1lZGlhUHJvY2Vzc01hbmFn
ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJNZWRpYVByb2Nlc3NNYW5hZ2Vy
LmNwcAppbmRleCA3OTc1MzA0NjQ1NDI5ZmM3NTgwNWNiNDQxY2Q3MTcxMDcwODM4YmVjLi5lNzE4
MTZiYjA3OTkwMjM2YTFjOGQ5MWFjMTZhOThhMTk1NmY2MTE2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvVXNlck1lZGlhUHJvY2Vzc01hbmFnZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VyTWVkaWFQcm9jZXNzTWFuYWdlci5jcHAKQEAgLTExNSwx
MiArMTE1LDggQEAgdm9pZCBVc2VyTWVkaWFQcm9jZXNzTWFuYWdlcjo6d2lsbEVuYWJsZU1lZGlh
U3RyZWFtSW5QYWdlKFdlYlBhZ2VQcm94eSYgcGFnZVN0YXIKICAgICBmb3IgKGF1dG8mIHN0YXRl
IDogc3RhdGVNYXAoKSkgewogICAgICAgICBmb3IgKGF1dG8mIG1hbmFnZXIgOiBzdGF0ZS52YWx1
ZS0+bWFuYWdlcnMoKSkgewogCi0gICAgICAgICAgICBpZiAoJm1hbmFnZXItPnBhZ2UoKSA9PSAm
cGFnZVN0YXJ0aW5nQ2FwdHVyZSkgewotI2lmIFBMQVRGT1JNKElPUykKLSAgICAgICAgICAgICAg
ICBtYW5hZ2VyLT5wYWdlKCkuc3RvcENhcHR1cmUoKTsKLSNlbmRpZgorICAgICAgICAgICAgaWYg
KCZtYW5hZ2VyLT5wYWdlKCkgPT0gJnBhZ2VTdGFydGluZ0NhcHR1cmUpCiAgICAgICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgICAgICB9CiAKICAgICAgICAgICAgIG1hbmFnZXItPnBhZ2Uo
KS5zZXRNdXRlZChXZWJDb3JlOjpNZWRpYVByb2R1Y2VyOjpDYXB0dXJlRGV2aWNlc0FyZU11dGVk
KTsKICAgICAgICAgfQpAQCAtMjM0LDIyICsyMzAsNiBAQCB2b2lkIFVzZXJNZWRpYVByb2Nlc3NN
YW5hZ2VyOjplbmRlZENhcHR1cmVTZXNzaW9uKFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFu
YQogI2VuZGlmCiB9CiAKLXZvaWQgVXNlck1lZGlhUHJvY2Vzc01hbmFnZXI6OnNldENhcHR1cmVF
bmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBpZiAoZW5hYmxlZCA9PSBtX2NhcHR1cmVFbmFi
bGVkKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX2NhcHR1cmVFbmFibGVkID0gZW5hYmxlZDsK
LQotICAgIGlmIChlbmFibGVkKQotICAgICAgICByZXR1cm47Ci0KLSAgICBmb3IgKGF1dG8mIHN0
YXRlIDogc3RhdGVNYXAoKSkgewotICAgICAgICBmb3IgKGF1dG8mIG1hbmFnZXIgOiBzdGF0ZS52
YWx1ZS0+bWFuYWdlcnMoKSkKLSAgICAgICAgICAgIG1hbmFnZXItPnN0b3BDYXB0dXJlKCk7Ci0g
ICAgfQotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlck1lZGlhUHJvY2Vzc01hbmFnZXIuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VyTWVkaWFQcm9jZXNzTWFuYWdlci5oCmluZGV4IDhjNWJj
Njg1OGMyZjVlZTIzN2U0NGEyNzIzZDdiYjI3MGFiNzAyNDIuLmMzZWQzNzM1MmZiNDI0OGVjNmYz
ZDJlYWViZmYwMDAwZmI3OTcyNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Vc2VyTWVkaWFQcm9jZXNzTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Vc2VyTWVkaWFQcm9jZXNzTWFuYWdlci5oCkBAIC0zOSwxMiArMzksNiBAQCBwdWJsaWM6CiAK
ICAgICB2b2lkIHN0YXJ0ZWRDYXB0dXJlU2Vzc2lvbihVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXJQcm94eSYpOwogICAgIHZvaWQgZW5kZWRDYXB0dXJlU2Vzc2lvbihVc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eSYpOwotCi0gICAgdm9pZCBzZXRDYXB0dXJlRW5h
YmxlZChib29sKTsKLSAgICBib29sIGNhcHR1cmVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9j
YXB0dXJlRW5hYmxlZDsgfQotCi1wcml2YXRlOgotICAgIGJvb2wgbV9jYXB0dXJlRW5hYmxlZCB7
IHRydWUgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA5YmM1ZjZhNjdlNmFhYzM1NGMxYjMzYTVkMTFj
OGIwNjFiNGI0ZDQyLi44OTAwNmFiYzhhMGI0NzY1ZjkwZWEyMDNiNDQ3MmNjZDhhZTMyNzI4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNDIwNiwxOCAr
NDIwNiw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRNdXRlZChXZWJDb3JlOjpNZWRpYVByb2R1
Y2VyOjpNdXRlZFN0YXRlRmxhZ3Mgc3RhdGUpCiAgICAgYWN0aXZpdHlTdGF0ZURpZENoYW5nZShB
Y3Rpdml0eVN0YXRlOjpJc0F1ZGlibGUgfCBBY3Rpdml0eVN0YXRlOjpJc0NhcHR1cmluZ01lZGlh
KTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OnNldE1lZGlhQ2FwdHVyZUVuYWJsZWQoYm9vbCBl
bmFibGVkKQotewotICAgIG1fbWVkaWFDYXB0dXJlRW5hYmxlZCA9IGVuYWJsZWQ7Ci0KLSAgICBp
ZiAoIWlzVmFsaWQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0jaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKLSAgICBVc2VyTWVkaWFQcm9jZXNzTWFuYWdlcjo6c2luZ2xldG9uKCkuc2V0Q2FwdHVyZUVu
YWJsZWQoZW5hYmxlZCk7Ci0jZW5kaWYKLX0KLQogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQog
dm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZU1lZGlhRXZlbnQoTWVkaWFFdmVudFR5cGUgZXZlbnRU
eXBlKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDA1ZmIx
YjYwMGNmNGNjY2RlZTUwMmFiNTBkZmY5M2M4MmFkNDQwODAuLmI0OGQ2NDY5MzNhOWRjNDE5OWNj
YTE3MDU4OTE3NTA0ZjhiZWQ2N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKQEAgLTk3OSw5ICs5NzksNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRNdXRlZChXZWJD
b3JlOjpNZWRpYVByb2R1Y2VyOjpNdXRlZFN0YXRlRmxhZ3MpOwogICAgIHZvaWQgc2V0TWF5U3Rh
cnRNZWRpYVdoZW5JbldpbmRvdyhib29sKTsKICAgICBib29sIG1heVN0YXJ0TWVkaWFXaGVuSW5X
aW5kb3coKSBjb25zdCB7IHJldHVybiBtX21heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3c7IH0KLSAg
ICB2b2lkIHNldE1lZGlhQ2FwdHVyZUVuYWJsZWQoYm9vbCk7Ci0gICAgYm9vbCBtZWRpYUNhcHR1
cmVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYUNhcHR1cmVFbmFibGVkOyB9Ci0KICAg
ICAgICAgCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAgICAgYm9vbCBoYXNNZWRpYVNlc3Np
b25XaXRoQWN0aXZlTWVkaWFFbGVtZW50cygpIGNvbnN0IHsgcmV0dXJuIG1faGFzTWVkaWFTZXNz
aW9uV2l0aEFjdGl2ZU1lZGlhRWxlbWVudHM7IH0KQEAgLTE5MzgsNyArMTkzNSw2IEBAIHByaXZh
dGU6CiAgICAgZmxvYXQgbV9tZWRpYVZvbHVtZTsKICAgICBXZWJDb3JlOjpNZWRpYVByb2R1Y2Vy
OjpNdXRlZFN0YXRlRmxhZ3MgbV9tdXRlZFN0YXRlIHsgV2ViQ29yZTo6TWVkaWFQcm9kdWNlcjo6
Tm9uZU11dGVkIH07CiAgICAgYm9vbCBtX21heVN0YXJ0TWVkaWFXaGVuSW5XaW5kb3c7Ci0gICAg
Ym9vbCBtX21lZGlhQ2FwdHVyZUVuYWJsZWQgeyB0cnVlIH07CiAKICAgICBib29sIG1fd2FpdGlu
Z0ZvckRpZFVwZGF0ZUFjdGl2aXR5U3RhdGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvTWVkaWFTdHJlYW0vVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTWVkaWFTdHJlYW0vVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyLmNwcAppbmRleCBmYTNiZGFjYmY2ZjljNTFkNmVjYzM2ODg3
M2M2YWIyN2I4OTlkODc2Li43ZjExZGM3YTM5NWFmZGJkNGMyM2ZlOWY4NjcwOGE4ZThlZGZlNTdl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL01lZGlhU3RyZWFtL1VzZXJN
ZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9NZWRpYVN0cmVhbS9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3Bw
CkBAIC01NiwxNSArNTYsNiBAQCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6On5V
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIoKQogICAgICAgICBzYW5kYm94RXh0ZW5z
aW9uLnZhbHVlLT5yZXZva2UoKTsKIH0KIAotdm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXI6OmNhbmNlbFBlbmRpbmdSZXF1ZXN0cygpCi17Ci0gICAgZm9yIChhdXRvJiByZXF1
ZXN0IDogbV9pZFRvVXNlck1lZGlhUmVxdWVzdE1hcC52YWx1ZXMoKSkKLSAgICAgICAgY2FuY2Vs
VXNlck1lZGlhUmVxdWVzdCgqcmVxdWVzdCk7Ci0KLSAgICBmb3IgKGF1dG8mIHJlcXVlc3QgOiBt
X2lkVG9NZWRpYURldmljZXNFbnVtZXJhdGlvblJlcXVlc3RNYXAudmFsdWVzKCkpCi0gICAgICAg
IGNhbmNlbE1lZGlhRGV2aWNlc0VudW1lcmF0aW9uKCpyZXF1ZXN0KTsKLX0KLQogdm9pZCBVc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OnN0YXJ0VXNlck1lZGlhUmVxdWVzdChVc2Vy
TWVkaWFSZXF1ZXN0JiByZXF1ZXN0KQogewogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHJlcXVl
c3QuZG9jdW1lbnQoKTsKQEAgLTExMyw4ICsxMDQsNiBAQCB2b2lkIFVzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlcjo6Y2FuY2VsVXNlck1lZGlhUmVxdWVzdChVc2VyTWVkaWFSZXF1ZXN0
JgogICAgIHVpbnQ2NF90IHJlcXVlc3RJRCA9IG1fdXNlck1lZGlhUmVxdWVzdFRvSURNYXAudGFr
ZSgmcmVxdWVzdCk7CiAgICAgaWYgKCFyZXF1ZXN0SUQpCiAgICAgICAgIHJldHVybjsKLQotICAg
IHJlcXVlc3QuZGVueShVc2VyTWVkaWFSZXF1ZXN0OjpPdGhlckZhaWx1cmUsIGVtcHR5U3RyaW5n
KCkpOwogICAgIG1faWRUb1VzZXJNZWRpYVJlcXVlc3RNYXAucmVtb3ZlKHJlcXVlc3RJRCk7CiAg
ICAgcmVtb3ZlTWVkaWFSZXF1ZXN0RnJvbU1hcHMocmVxdWVzdCk7CiB9CkBAIC0yMDEsNyArMTkw
LDYgQEAgdm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXI6OmNhbmNlbE1lZGlh
RGV2aWNlc0VudW1lcmF0aW9uKFdlYkNvcmU6Ok0KICAgICB1aW50NjRfdCByZXF1ZXN0SUQgPSBt
X21lZGlhRGV2aWNlc0VudW1lcmF0aW9uUmVxdWVzdFRvSURNYXAudGFrZSgmcmVxdWVzdCk7CiAg
ICAgaWYgKCFyZXF1ZXN0SUQpCiAgICAgICAgIHJldHVybjsKLSAgICByZXF1ZXN0LnNldERldmlj
ZUluZm8oVmVjdG9yPENhcHR1cmVEZXZpY2U+KCksIGVtcHR5U3RyaW5nKCksIGZhbHNlKTsKICAg
ICBtX2lkVG9NZWRpYURldmljZXNFbnVtZXJhdGlvblJlcXVlc3RNYXAucmVtb3ZlKHJlcXVlc3RJ
RCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTWVkaWFTdHJl
YW0vVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL01lZGlhU3RyZWFtL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5o
CmluZGV4IDZiNDQxZjE1NjUzNzBlMDY2MTBmNzM4Y2Q5Y2E2Y2VkMWVhZGZhNTMuLmU4YTk2YzI1
M2YxM2M4NGNhMzEwZDcwNWFhNzBiZTkyNjc4MmU0MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTWVkaWFTdHJlYW0vVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9NZWRpYVN0cmVhbS9Vc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuaApAQCAtNTUsOCArNTUsNiBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBncmFudFVzZXJNZWRpYURldmljZVNhbmRib3hFeHRlbnNpb25zKGNvbnN0IE1lZGlh
RGV2aWNlU2FuZGJveEV4dGVuc2lvbnMmKTsKICAgICB2b2lkIHJldm9rZVVzZXJNZWRpYURldmlj
ZVNhbmRib3hFeHRlbnNpb25zKGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik7CiAKLSAgICB2b2lkIGNh
bmNlbFBlbmRpbmdSZXF1ZXN0cygpOwotCiBwcml2YXRlOgogICAgIHZvaWQgc2VuZFVzZXJNZWRp
YVJlcXVlc3QoV2ViQ29yZTo6VXNlck1lZGlhUmVxdWVzdCYpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZjNkZDc5YTE5OGI3ZjRhNzNi
NDZiYWUxZjJlMTVlNzFhMTc2MTAyNS4uYzdjZWViYjY2NjJiMzBkMTQ0ZWQ0YmE1MTVmNzE4YjY2
OWNlZGU4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcApAQCAtNDU1NiwxNCArNDU1Niw2IEBAIHZvaWQgV2ViUGFnZTo6c2V0TXV0ZWQoTWVkaWFQ
cm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIHN0YXRlKQogICAgIG1fcGFnZS0+c2V0TXV0ZWQoc3Rh
dGUpOwogfQogCi12b2lkIFdlYlBhZ2U6OnN0b3BNZWRpYUNhcHR1cmUoKQotewotI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCi0gICAgbV91c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIu
Y2FuY2VsUGVuZGluZ1JlcXVlc3RzKCk7Ci0gICAgbV9wYWdlLT5zdG9wTWVkaWFDYXB0dXJlKCk7
Ci0jZW5kaWYKLX0KLQogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogdm9pZCBXZWJQYWdlOjpo
YW5kbGVNZWRpYUV2ZW50KHVpbnQzMl90IGV2ZW50VHlwZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGIwMTExNjYzN2JiODA2YTY0OTNkMTBk
MWNkMTFhOWZhMGUzNzllOTUuLjg4MmU1OGQ4OTM0MzhmOTlhNGYyNGI4YzlhNzFmMjczMWU5MTNk
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAt
NzY1LDcgKzc2NSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE1lZGlhVm9sdW1lKGZsb2F0KTsK
ICAgICB2b2lkIHNldE11dGVkKFdlYkNvcmU6Ok1lZGlhUHJvZHVjZXI6Ok11dGVkU3RhdGVGbGFn
cyk7CiAgICAgdm9pZCBzZXRNYXlTdGFydE1lZGlhV2hlbkluV2luZG93KGJvb2wpOwotICAgIHZv
aWQgc3RvcE1lZGlhQ2FwdHVyZSgpOwogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAgICAg
dm9pZCBoYW5kbGVNZWRpYUV2ZW50KHVpbnQzMl90IC8qIFdlYkNvcmU6Ok1lZGlhRXZlbnRUeXBl
ICovKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UubWVzc2FnZXMuaW4KaW5kZXggZWYxMTUxMzMwZjJjZjk5NDVhNDBkMTI0NTE2YTk4MTNhNGJl
YTJhMC4uMzUxYmQwOWE1ZmViMmI1NDFiYmM4YjZlZmQxM2YwMDVlMDRhNTllOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMu
aW4KQEAgLTMzOCw3ICszMzgsNiBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVy
IHsKICAgICBTZXRNZWRpYVZvbHVtZShmbG9hdCB2b2x1bWUpCiAgICAgU2V0TXV0ZWQoV2ViQ29y
ZTo6TWVkaWFQcm9kdWNlcjo6TXV0ZWRTdGF0ZUZsYWdzIG11dGVkKQogICAgIFNldE1heVN0YXJ0
TWVkaWFXaGVuSW5XaW5kb3coYm9vbCBtYXlTdGFydE1lZGlhKQotICAgIFN0b3BNZWRpYUNhcHR1
cmUoKQogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAgICAgSGFuZGxlTWVkaWFFdmVudCh1
aW50MzJfdCBldmVudFR5cGUpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggMDU5Yzk2M2IzNGU2ZmZmMGExNTI5MzUzMGRmOWM1MTUyZDVkNjlhOC4u
NDBkMmYwZjYxMWI2ZGNmMWU1MDkzYzdkYzY5ZDBjMWNiN2Y3NzM2YyAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE3
LTA1LTAzICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjE2MTYwIGFuZCByMjE2MTYxLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxNjQwCisKKyAgICAgICAg
VGhlc2UgY2hhbmdlcyBicm9rZSB0aGUgaU9TIGJ1aWxkLiAoUmVxdWVzdGVkIGJ5IG1sZXdpczEz
IG9uCisgICAgICAgICN3ZWJraXQpLgorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldHM6CisK
KyAgICAgICAgIltNZWRpYVN0cmVhbV0gQWxsb3cgaG9zdCBhcHBsaWNhdGlvbiB0byBlbmFibGUv
ZGlzYWJsZSBtZWRpYQorICAgICAgICBjYXB0dXJlIgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcxMjkyCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtp
dC5vcmcvY2hhbmdlc2V0LzIxNjE2MAorCisgICAgICAgICJbTWVkaWFTdHJlYW1dIEFsbG93IGhv
c3QgYXBwbGljYXRpb24gdG8gZW5hYmxlL2Rpc2FibGUgbWVkaWEKKyAgICAgICAgY2FwdHVyZSIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MTI5Mgor
ICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMTYxNjEKKwogMjAxNy0w
NS0wMyAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBb
TWVkaWFTdHJlYW1dIEFsbG93IGhvc3QgYXBwbGljYXRpb24gdG8gZW5hYmxlL2Rpc2FibGUgbWVk
aWEgY2FwdHVyZQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxOTg2NGNkZWFkNWU2MjhmMWQ0
MzY3YmZkNWQ2YjZmMGMzNGFlNjA4Li5hODg3ZTE1NTg3NThhNTE3ZGIwMmVjYTNkOWJkYmUwYTBk
NTljM2Y0IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjUsOCArMjUsNiBAQAogCQkwNzQ5
MkIzQjFERjhCMTRDMDA2MzNERTEgLyogRW51bWVyYXRlTWVkaWFEZXZpY2VzLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3NDkyQjNBMURGOEFFMkQw
MDYzM0RFMSAvKiBFbnVtZXJhdGVNZWRpYURldmljZXMuY3BwICovOyB9OwogCQkwNzQ5MkIzQzFE
RjhCODY2MDA2MzNERTEgLyogZW51bWVyYXRlTWVkaWFEZXZpY2VzLmh0bWwgaW4gQ29weSBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc0OTJCMzkxREY4QURB
NDAwNjMzREUxIC8qIGVudW1lcmF0ZU1lZGlhRGV2aWNlcy5odG1sICovOyB9OwogCQkwNzQ5OTQ0
MjFFQTUwMzRCMDAwREE0NEUgLyogZ2V0VXNlck1lZGlhLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEE0MTBGNEQxOUFGN0JFRjAwMkVC
QUI1IC8qIGdldFVzZXJNZWRpYS5odG1sICovOyB9OwotCQkwNzk5QzM0OTFFQkEyRDdCMDAzQjc1
MzIgLyogVXNlck1lZGlhRGlzYWJsZWQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwN0VERUZBQzFFQjk0MDBDMDBENDMyOTIgLyogVXNlck1lZGlhRGlz
YWJsZWQubW0gKi87IH07Ci0JCTA3OTlDMzRCMUVCQTMzMDEwMDNCNzUzMiAvKiBkaXNhYmxlR2V0
VXNlck1lZGlhLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMDc5OUMzNEExRUJBMzJGNDAwM0I3NTMyIC8qIGRpc2FibGVHZXRVc2VyTWVk
aWEuaHRtbCAqLzsgfTsKIAkJMDdDMDQ2Q0ExRTQyNjJBODAwNzIwMUU3IC8qIENBUmluZ0J1ZmZl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwN0Mw
NDZDOTFFNDI1NzNFMDA3MjAxRTcgLyogQ0FSaW5nQnVmZmVyLmNwcCAqLzsgfTsKIAkJMEYxMzlF
NzcxQTQyM0E1QjAwRjU5MEY1IC8qIFdlYWtPYmpDUHRyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEYxMzlFNzUxQTQyM0E1MzAwRjU5MEY1IC8qIFdl
YWtPYmpDUHRyLm1tICovOyB9OwogCQkwRjEzOUU3ODFBNDIzQTZCMDBGNTkwRjUgLyogUGxhdGZv
cm1VdGlsaXRpZXNDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDBGMTM5RTcyMUE0MjNBMkIwMEY1OTBGNSAvKiBQbGF0Zm9ybVV0aWxpdGllc0Nv
Y29hLm1tICovOyB9OwpAQCAtNjg5LDcgKzY4Nyw2IEBACiAJCQlmaWxlcyA9ICgKIAkJCQk1NTIy
NkEyRjFFQkE0NEI5MDBDMzZBRDAgLyogbGFyZ2UtcmVkLXNxdWFyZS1pbWFnZS5odG1sIGluIENv
cHkgUmVzb3VyY2VzICovLAogCQkJCTU3OTdGRTMzMUVCMTVBQjEwMEIyRjRBMCAvKiBuYXZpZ2F0
aW9uLWNsaWVudC1kZWZhdWx0LWNyeXB0by5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAotCQkJ
CTA3OTlDMzRCMUVCQTMzMDEwMDNCNzUzMiAvKiBkaXNhYmxlR2V0VXNlck1lZGlhLmh0bWwgaW4g
Q29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMDc0OTk0NDIxRUE1MDM0QjAwMERBNDRFIC8qIGdldFVz
ZXJNZWRpYS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUM5QkYwNkVGMUU5QzEzMjUw
MDU5NUUzRSAvKiBhdXRvcGxheS1tdXRlZC13aXRoLWNvbnRyb2xzLmh0bWwgaW4gQ29weSBSZXNv
dXJjZXMgKi8sCiAJCQkJRjRERUY2RUQxRTlCNERCNjAwNDhFRjYxIC8qIGltYWdlLWluLWxpbmst
YW5kLWlucHV0Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCkBAIC04ODIsOSArODc5LDcgQEAK
IAkJMDc0OTJCMzkxREY4QURBNDAwNjMzREUxIC8qIGVudW1lcmF0ZU1lZGlhRGV2aWNlcy5odG1s
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gZW51bWVyYXRlTWVkaWFEZXZpY2VzLmh0bWw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA3NDkyQjNBMURGOEFFMkQwMDYzM0RFMSAv
KiBFbnVtZXJhdGVNZWRpYURldmljZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gRW51bWVyYXRlTWVkaWFEZXZpY2VzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMDc2NkREMUYxQTVBRDUyMDAwMjNFM0JCIC8qIFBlbmRpbmdBUElSZXF1ZXN0VVJM
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlbmRpbmdBUElSZXF1
ZXN0VVJMLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMDc5OUMzNEExRUJBMzJG
NDAwM0I3NTMyIC8qIGRpc2FibGVHZXRVc2VyTWVkaWEuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRt
bDsgcGF0aCA9IGRpc2FibGVHZXRVc2VyTWVkaWEuaHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMDdDMDQ2QzkxRTQyNTczRTAwNzIwMUU3IC8qIENBUmluZ0J1ZmZlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDQVJpbmdCdWZmZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwN0VERUZBQzFFQjk0MDBDMDBENDMyOTIgLyogVXNl
ck1lZGlhRGlzYWJsZWQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBVc2VyTWVkaWFEaXNhYmxlZC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEJD
RDgzMzQxNDg1N0NFNDAwRUEyMDAzIC8qIEhhc2hNYXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSGFzaE1hcC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTBCQ0Q4NTY5MTQ4NUM5OEIwMEVBMjAwMyAvKiBTZXRGb3JTY29wZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZXRGb3JTY29wZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTBGMTM5RTcyMUE0MjNBMkIwMEY1OTBGNSAvKiBQbGF0Zm9ybVV0
aWxpdGllc0NvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0g
UGxhdGZvcm1VdGlsaXRpZXNDb2NvYS5tbTsgcGF0aCA9IGNvY29hL1BsYXRmb3JtVXRpbGl0aWVz
Q29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjc2LDcgKzE2NzEsNiBA
QAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJQTE2RjY2QjgxQzQwRTlFMTAwQkQ0RDI0IC8qIFJlc291
cmNlcyAqLywKIAkJCQk3Q0VGQTk2NDFBQzBCOUUyMDBCOTEwRkQgLyogX1dLVXNlckNvbnRlbnRF
eHRlbnNpb25TdG9yZS5tbSAqLywKLQkJCQkwN0VERUZBQzFFQjk0MDBDMDBENDMyOTIgLyogVXNl
ck1lZGlhRGlzYWJsZWQubW0gKi8sCiAJCQkJMzdFN0RENjMxRUEwNkZGMjAwOUIzOTZEIC8qIEFk
ZGl0aW9uYWxSZWFkQWNjZXNzQWxsb3dlZFVSTHMubW0gKi8sCiAJCQkJMzdFN0RENjYxRUEwNzFG
MzAwOUIzOTZEIC8qIEFkZGl0aW9uYWxSZWFkQWNjZXNzQWxsb3dlZFVSTHNQbHVnaW4ubW0gKi8s
CiAJCQkJMzdFN0RENjUxRUEwNzE1QjAwOUIzOTZEIC8qIEFkZGl0aW9uYWxSZWFkQWNjZXNzQWxs
b3dlZFVSTHNQcm90b2NvbC5oICovLApAQCAtMTkwMiw3ICsxODk2LDYgQEAKIAkJCQkyRUZGMDZD
NjFEODg2QTU2MDAwNEJCMzAgLyogY2hhbmdlLXZpZGVvLXNvdXJjZS1vbi1lbmQuaHRtbCAqLywK
IAkJCQlBMTZGNjZCOTFDNDBFQTIwMDBCRDREMjQgLyogQ29udGVudEZpbHRlcmluZy5odG1sICov
LAogCQkJCTVDMjkzNjk0MUQ1QkZEMTkwMERFQUIxRSAvKiBDb29raWVNZXNzYWdlLmh0bWwgKi8s
Ci0JCQkJMDc5OUMzNEExRUJBMzJGNDAwM0I3NTMyIC8qIGRpc2FibGVHZXRVc2VyTWVkaWEuaHRt
bCAqLywKIAkJCQk4MzdBMzVGMDFEOUExRTY0MDA2NjNDNTcgLyogRG93bmxvYWRSZXF1ZXN0Qmxv
YlVSTC5odG1sICovLAogCQkJCTU3MTRFQ0I4MUNBOEI1ODgwMDA1MUFDOCAvKiBEb3dubG9hZFJl
cXVlc3RPcmlnaW5hbFVSTC5odG1sICovLAogCQkJCTU3MTRFQ0JDMUNBOEMyMTgwMDA1MUFDOCAv
KiBEb3dubG9hZFJlcXVlc3RPcmlnaW5hbFVSTDIuaHRtbCAqLywKQEAgLTMwODYsNyArMzA3OSw2
IEBACiAJCQkJRDM0RTA4NzYxRTRFNDJFMTAwNUZGMTRBIC8qIFdLV2ViVmlld0dldENvbnRlbnRz
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE1MjMxQ0ExRUIzQjNDNzAwQTIyQTE2IC8qIEdQVUNv
bW1hbmRRdWV1ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUY0RkE5MTgxMUU2MTg0OUIwMDdCOEMx
RCAvKiBXS1dlYlZpZXdTZWxlY3Rpb25UZXN0cy5tbSBpbiBTb3VyY2VzICovLAotCQkJCTA3OTlD
MzQ5MUVCQTJEN0IwMDNCNzUzMiAvKiBVc2VyTWVkaWFEaXNhYmxlZC5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTkzRjU2REE5MUU1RjkxOUQwMDNFREU4NCAvKiBXS1dlYlZpZXdTbmFwc2hvdC5tbSBp
biBTb3VyY2VzICovLAogCQkJCTk5ODRGQUNDMUNGRkFGNjAwMDhEMTk4QyAvKiBXS1dlYlZpZXdU
ZXh0SW5wdXQubW0gaW4gU291cmNlcyAqLywKIAkJCQk3NjQzMjJENzFCNjFDQ0MzMDAyNEY4MDEg
LyogV29yZEJvdW5kYXJ5VHlwaW5nQXR0cmlidXRlcy5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvVXNlck1lZGlhRGlz
YWJsZWQubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Vc2VyTWVk
aWFEaXNhYmxlZC5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMThjZmY4MTRlMjhm
ZDAzNGY4NTE5OGRiMWMxNGU1MDVjZmIwMTAwOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2Nv
YS9Vc2VyTWVkaWFEaXNhYmxlZC5tbQorKysgL2Rldi9udWxsCkBAIC0xLDE0MyArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0KLSNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0
aWVzLmgiCi0jaW1wb3J0ICJUZXN0LmgiCi0jaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCi0KLSNp
bXBvcnQgPFdlYktpdC9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oPgotI2ltcG9ydCA8V2ViS2l0L1dL
VXNlckNvbnRlbnRDb250cm9sbGVyUHJpdmF0ZS5oPgotI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg+Ci0jaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0
ZS5oPgotI2ltcG9ydCA8V2ViS2l0L1dlYktpdC5oPgotI2ltcG9ydCA8V2ViS2l0L19XS1Byb2Nl
c3NQb29sQ29uZmlndXJhdGlvbi5oPgotI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgotCi0jaWYg
V0tfQVBJX0VOQUJMRUQKLQotc3RhdGljIGJvb2wgcmVmdXNlUmVxdWVzdCA9IGZhbHNlOwotc3Rh
dGljIGJvb2wgd2FzUHJvbXB0ZWQgPSBmYWxzZTsKLQotc3RhdGljIGJvb2wgcmVjZWl2ZWRTY3Jp
cHRNZXNzYWdlID0gZmFsc2U7Ci1zdGF0aWMgUmV0YWluUHRyPFdLU2NyaXB0TWVzc2FnZT4gbGFz
dFNjcmlwdE1lc3NhZ2U7Ci0KLUBpbnRlcmZhY2UgVXNlck1lZGlhTWVzc2FnZUhhbmRsZXIgOiBO
U09iamVjdCA8V0tTY3JpcHRNZXNzYWdlSGFuZGxlcj4KLUBlbmQKLQotQGltcGxlbWVudGF0aW9u
IFVzZXJNZWRpYU1lc3NhZ2VIYW5kbGVyCi0KLS0gKHZvaWQpdXNlckNvbnRlbnRDb250cm9sbGVy
OihXS1VzZXJDb250ZW50Q29udHJvbGxlciAqKXVzZXJDb250ZW50Q29udHJvbGxlciBkaWRSZWNl
aXZlU2NyaXB0TWVzc2FnZTooV0tTY3JpcHRNZXNzYWdlICopbWVzc2FnZQotewotICAgIGxhc3RT
Y3JpcHRNZXNzYWdlID0gbWVzc2FnZTsKLSAgICByZWNlaXZlZFNjcmlwdE1lc3NhZ2UgPSB0cnVl
OwotfQotQGVuZAotCi1AaW50ZXJmYWNlIFVzZXJNZWRpYVVJRGVsZWdhdGUgOiBOU09iamVjdCA8
V0tVSURlbGVnYXRlPgotQGVuZAotCi1AaW1wbGVtZW50YXRpb24gVXNlck1lZGlhVUlEZWxlZ2F0
ZQotCi0tICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHJlcXVlc3RVc2VyTWVk
aWFBdXRob3JpemF0aW9uRm9yRGV2aWNlczooTlNVSW50ZWdlcilkZXZpY2VzIHVybDooTlNVUkwg
Kil1cmwgbWFpbkZyYW1lVVJMOihOU1VSTCAqKW1haW5GcmFtZVVSTCBkZWNpc2lvbkhhbmRsZXI6
KHZvaWQgKF4pKEJPT0wpKWRlY2lzaW9uSGFuZGxlcgotewotICAgIHdhc1Byb21wdGVkID0gdHJ1
ZTsKLQotICAgIGlmIChyZWZ1c2VSZXF1ZXN0KSB7Ci0gICAgICAgIGRlY2lzaW9uSGFuZGxlcihO
Tyk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBCT09MIG5lZWRzTWljcm9waG9uZUF1
dGhvcml6ZWQgPSBkZXZpY2VzICYgX1dLQ2FwdHVyZURldmljZU1pY3JvcGhvbmU7Ci0gICAgQk9P
TCBuZWVkc0NhbWVyYUF1dGhvcml6ZWQgPSBkZXZpY2VzICYgX1dLQ2FwdHVyZURldmljZUNhbWVy
YTsKLSAgICBpZiAoIW5lZWRzTWljcm9waG9uZUF1dGhvcml6ZWQgJiYgIW5lZWRzQ2FtZXJhQXV0
aG9yaXplZCkgewotICAgICAgICBkZWNpc2lvbkhhbmRsZXIoTk8pOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotCi0gICAgZGVjaXNpb25IYW5kbGVyKFlFUyk7Ci19Ci0KLS0gKHZvaWQpX3dlYlZp
ZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgY2hlY2tVc2VyTWVkaWFQZXJtaXNzaW9uRm9yVVJMOihO
U1VSTCAqKXVybCBtYWluRnJhbWVVUkw6KE5TVVJMICopbWFpbkZyYW1lVVJMIGZyYW1lSWRlbnRp
ZmllcjooTlNVSW50ZWdlcilmcmFtZUlkZW50aWZpZXIgZGVjaXNpb25IYW5kbGVyOih2b2lkIChe
KShOU1N0cmluZyAqLCBCT09MKSlkZWNpc2lvbkhhbmRsZXIKLXsKLSAgICBpZiAocmVmdXNlUmVx
dWVzdCkgewotICAgICAgICBkZWNpc2lvbkhhbmRsZXIobmlsLCBOTyk7Ci0gICAgICAgIHJldHVy
bjsKLSAgICB9Ci19Ci1AZW5kCi0KLWNsYXNzIE1lZGlhQ2FwdHVyZURpc2FibGVkVGVzdCA6IHB1
YmxpYyB0ZXN0aW5nOjpUZXN0IHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIHZvaWQgU2V0VXAoKQot
ICAgIHsKLSAgICAgICAgbV9jb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZp
Z3VyYXRpb24gYWxsb2NdIGluaXRdKTsKLQotICAgICAgICBSZXRhaW5QdHI8VXNlck1lZGlhTWVz
c2FnZUhhbmRsZXI+IGhhbmRsZXIgPSBhZG9wdE5TKFtbVXNlck1lZGlhTWVzc2FnZUhhbmRsZXIg
YWxsb2NdIGluaXRdKTsKLSAgICAgICAgW1ttX2NvbmZpZ3VyYXRpb24gdXNlckNvbnRlbnRDb250
cm9sbGVyXSBhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjpoYW5kbGVyLmdldCgpIG5hbWU6QCJ0ZXN0
SGFuZGxlciJdOwotCi0gICAgICAgIG1fd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3
IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3Vy
YXRpb246bV9jb25maWd1cmF0aW9uLmdldCgpXSk7Ci0KLSAgICAgICAgYXV0byBwcmVmZXJlbmNl
cyA9IFttX3dlYlZpZXcgY29uZmlndXJhdGlvbl0ucHJlZmVyZW5jZXM7Ci0gICAgICAgIHByZWZl
cmVuY2VzLl9tZWRpYURldmljZXNFbmFibGVkID0gWUVTOwotICAgICAgICBwcmVmZXJlbmNlcy5f
bW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZCA9IFlFUzsKLSAgICAgICAgcHJlZmVyZW5jZXMuX21l
ZGlhQ2FwdHVyZVJlcXVpcmVzU2VjdXJlQ29ubmVjdGlvbiA9IE5POwotCi0gICAgICAgIG1fdWlE
ZWxlZ2F0ZSA9IGFkb3B0TlMoW1tVc2VyTWVkaWFVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7Ci0g
ICAgICAgIFttX3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTptX3VpRGVsZWdhdGUuZ2V0KCldOwotICAg
IH0KLQotICAgIHZvaWQgbG9hZFRlc3RBbmRXYWl0Rm9yTWVzc2FnZShjb25zdCBjaGFyKiBtZXNz
YWdlKQotICAgIHsKLSAgICAgICAgd2FzUHJvbXB0ZWQgPSBmYWxzZTsKLSAgICAgICAgcmVjZWl2
ZWRTY3JpcHRNZXNzYWdlID0gZmFsc2U7Ci0gICAgICAgIFttX3dlYlZpZXcgbG9hZFRlc3RQYWdl
TmFtZWQ6QCJkaXNhYmxlR2V0VXNlck1lZGlhIl07Ci0gICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0
aWw6OnJ1bigmcmVjZWl2ZWRTY3JpcHRNZXNzYWdlKTsKLSAgICAgICAgRVhQRUNUX1NUUkVRKFso
TlNTdHJpbmcgKilbbGFzdFNjcmlwdE1lc3NhZ2UgYm9keV0gVVRGOFN0cmluZ10sIG1lc3NhZ2Up
OwotICAgIH0KLQotICAgIFJldGFpblB0cjxXS1dlYlZpZXdDb25maWd1cmF0aW9uPiBtX2NvbmZp
Z3VyYXRpb247Ci0gICAgUmV0YWluUHRyPFVzZXJNZWRpYVVJRGVsZWdhdGU+IG1fdWlEZWxlZ2F0
ZTsKLSAgICBSZXRhaW5QdHI8VGVzdFdLV2ViVmlldz4gbV93ZWJWaWV3OwotfTsKLQotVEVTVF9G
KE1lZGlhQ2FwdHVyZURpc2FibGVkVGVzdCwgRW5hYmxlQW5kRGlzYWJsZSkKLXsKLSAgICBFWFBF
Q1RfVFJVRShtX3dlYlZpZXcuZ2V0KCkuX21lZGlhQ2FwdHVyZUVuYWJsZWQpOwotICAgIGxvYWRU
ZXN0QW5kV2FpdEZvck1lc3NhZ2UoImFsbG93ZWQiKTsKLSAgICBFWFBFQ1RfVFJVRSh3YXNQcm9t
cHRlZCk7Ci0KLSAgICBtX3dlYlZpZXcuZ2V0KCkuX21lZGlhQ2FwdHVyZUVuYWJsZWQgPSBOTzsK
LSAgICBFWFBFQ1RfRkFMU0UobV93ZWJWaWV3LmdldCgpLl9tZWRpYUNhcHR1cmVFbmFibGVkKTsK
LSAgICBsb2FkVGVzdEFuZFdhaXRGb3JNZXNzYWdlKCJkZW5pZWQiKTsKLSAgICBFWFBFQ1RfRkFM
U0Uod2FzUHJvbXB0ZWQpOwotCi0gICAgbV93ZWJWaWV3LmdldCgpLl9tZWRpYUNhcHR1cmVFbmFi
bGVkID0gWUVTOwotICAgIEVYUEVDVF9UUlVFKG1fd2ViVmlldy5nZXQoKS5fbWVkaWFDYXB0dXJl
RW5hYmxlZCk7Ci0gICAgbG9hZFRlc3RBbmRXYWl0Rm9yTWVzc2FnZSgiYWxsb3dlZCIpOwotICAg
IEVYUEVDVF9UUlVFKHdhc1Byb21wdGVkKTsKLX0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvZGlzYWJsZUdldFVzZXJNZWRpYS5odG1s
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvZGlzYWJsZUdldFVzZXJN
ZWRpYS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YjUwYjYzNDViYmMwOWUy
ZmY5YjUzZTEzMWE5MWVkYTQzOWY4ODlkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL2Rp
c2FibGVHZXRVc2VyTWVkaWEuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLTxz
Y3JpcHQ+Ci0gICAgZnVuY3Rpb24gZ290VXNlck1lZGlhKG1lZGlhU3RyZWFtKQotICAgIHsKLSAg
ICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEhhbmRsZXIucG9zdE1lc3Nh
Z2UoJ2dVTSBhbGxvd2VkJyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gdXNlck1lZGlhRXJyb3Io
ZXJyb3IpCi0gICAgewotICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0
SGFuZGxlci5wb3N0TWVzc2FnZSgnZ1VNIGRlbmllZCcpOwotICAgIH0KLQotICAgIHZhciBjb25z
dHJhaW50cyA9IHsgYXVkaW86IGZhbHNlLCB2aWRlbzogdHJ1ZX07Ci0gICAgbmF2aWdhdG9yLm1l
ZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoY29uc3RyYWludHMpCi0gICAgICAgIC50aGVuKGdvdFVz
ZXJNZWRpYSkuCi0gICAgICAgIGNhdGNoKHVzZXJNZWRpYUVycm9yKTsKLTwvc2NyaXB0Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>