<?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>229144</bug_id>
          
          <creation_ts>2021-08-16 09:12:13 -0700</creation_ts>
          <short_desc>REGRESSION(r281078): broke GTK/WPE mediastream tests</short_desc>
          <delta_ts>2021-08-16 09:15:30 -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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>229123</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>calvaris</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1784524</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-08-16 09:12:13 -0700</bug_when>
    <thetext>https://commits.webkit.org/r281078 introduced a regression:
broke GTK/WPE mediastream tests

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>1784526</commentid>
    <comment_count>1</comment_count>
      <attachid>435609</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-08-16 09:12:21 -0700</bug_when>
    <thetext>Created attachment 435609
[fast-cq] REVERT of r281078

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 revert will be successful.  This process takes approximately 15 minutes.

If you would like to land the revert 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>1784529</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-16 09:14:26 -0700</bug_when>
    <thetext>Committed r281084 (240544@main): &lt;https://commits.webkit.org/240544@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 435609.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784531</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-16 09:15:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/81983575&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435609</attachid>
            <date>2021-08-16 09:12:21 -0700</date>
            <delta_ts>2021-08-16 09:14:27 -0700</delta_ts>
            <desc>[fast-cq] REVERT of r281078</desc>
            <filename>bug-229144-20210816091221.patch</filename>
            <type>text/plain</type>
            <size>33568</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMDgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjBkMTY5ZWVjZTA0ZWJk
NGUwZjQ4N2FkZWRhOGNlNTFjOGU0NDk0Yi4uMjhlM2U1MjY1YzZlNDcyMjBhMjAxMDA0ZWZmNjM0
NzNjYjFjOWRkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA4LTE2ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByZXZlcnRpbmcgcjI4MTA3OC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyOTE0NAorCisgICAgICAgIGJyb2tlIEdUSy9XUEUgbWVkaWFzdHJlYW0g
dGVzdHMKKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAgIlJFR1JFU1NJ
T04ocjI3ODk4MSk6IFtHU3RyZWFtZXJdW0RlYnVnXSBBc3NlcnQgY3Jhc2hlcyB3aGVuCisgICAg
ICAgIHJ1bm5pbmcgbWVkaWEvdHJhY2sgdGVzdHMiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkxMjMKKyAgICAgICAgaHR0cHM6Ly9jb21taXRzLndl
YmtpdC5vcmcvcjI4MTA3OAorCiAyMDIxLTA4LTE2ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1h
bmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXVtXUEVdIFRlc3QgZmFzdC9tZWRpYXN0cmVh
bS9tZWRpYXN0cmVhbXRyYWNrLXZpZGVvLWNsb25lLmh0bWwgaXMgZmxha3kgdGltZW91dCBzaW5j
ZSByMjgwNzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvQXVkaW9UcmFja1ByaXZhdGVHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0F1ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyLmNw
cAppbmRleCA4YjcyNDE0ZDBhZjkxMjJkNjdlNGY4ODYxOTExNmU3Njk4ODJkNGNiLi42ZDNmNDI4
MDFmMzI0MmM3Y2NiYzVlMmI1NjBmMDM0ZTVlNDJjOWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvQXVkaW9UcmFja1ByaXZhdGVHU3RyZWFt
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9B
dWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTMwLDI2ICszMCwzMSBAQAogI2luY2x1
ZGUgIkF1ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyLmgiCiAKICNpbmNsdWRlICJNZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXIuaCIKKyNpbmNsdWRlIDxnbGliLW9iamVjdC5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLUF1ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyOjpBdWRpb1RyYWNrUHJp
dmF0ZUdTdHJlYW1lcihXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4gcGxheWVy
LCB1bnNpZ25lZCBpbmRleCwgR1JlZlB0cjxHc3RQYWQ+JiYgcGFkKQotICAgIDogVHJhY2tQcml2
YXRlQmFzZUdTdHJlYW1lcihUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyOjpUcmFja1R5cGU6OkF1
ZGlvLCB0aGlzLCBpbmRleCwgV1RGTW92ZShwYWQpKQorQXVkaW9UcmFja1ByaXZhdGVHU3RyZWFt
ZXI6OkF1ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyKFdlYWtQdHI8TWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyPiBwbGF5ZXIsIGdpbnQgaW5kZXgsIEdSZWZQdHI8R3N0UGFkPiBwYWQpCisgICAg
OiBUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyKHRoaXMsIGluZGV4LCBwYWQpCiAgICAgLCBtX3Bs
YXllcihwbGF5ZXIpCiB7CisgICAgLy8gRklYTUU6IEdldCBhIHJlYWwgSUQgZnJvbSB0aGUgdGto
ZCBhdG9tLgorICAgIG1faWQgPSAiQSIgKyBTdHJpbmc6Om51bWJlcihpbmRleCk7CiB9CiAKLUF1
ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyOjpBdWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcihXZWFr
UHRyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4gcGxheWVyLCB1bnNpZ25lZCBpbmRleCwg
R1JlZlB0cjxHc3RTdHJlYW0+JiYgc3RyZWFtKQotICAgIDogVHJhY2tQcml2YXRlQmFzZUdTdHJl
YW1lcihUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyOjpUcmFja1R5cGU6OkF1ZGlvLCB0aGlzLCBp
bmRleCwgV1RGTW92ZShzdHJlYW0pKQorQXVkaW9UcmFja1ByaXZhdGVHU3RyZWFtZXI6OkF1ZGlv
VHJhY2tQcml2YXRlR1N0cmVhbWVyKFdlYWtQdHI8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
PiBwbGF5ZXIsIGdpbnQgaW5kZXgsIEdSZWZQdHI8R3N0U3RyZWFtPiBzdHJlYW0pCisgICAgOiBU
cmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyKHRoaXMsIGluZGV4LCBzdHJlYW0pCiAgICAgLCBtX3Bs
YXllcihwbGF5ZXIpCiB7Ci0gICAgaW50IGtpbmQ7CisgICAgZ2ludCBraW5kOwogICAgIGF1dG8g
dGFncyA9IGFkb3B0R1JlZihnc3Rfc3RyZWFtX2dldF90YWdzKG1fc3RyZWFtLmdldCgpKSk7CiAK
LSAgICBpZiAodGFncyAmJiBnc3RfdGFnX2xpc3RfZ2V0X2ludCh0YWdzLmdldCgpLCAid2Via2l0
LW1lZGlhLXN0cmVhbS1raW5kIiwgJmtpbmQpICYmIGtpbmQgPT0gc3RhdGljX2Nhc3Q8aW50PihB
dWRpb1RyYWNrUHJpdmF0ZTo6S2luZDo6TWFpbikpIHsKLSAgICAgICAgYXV0byBzdHJlYW1GbGFn
cyA9IGdzdF9zdHJlYW1fZ2V0X3N0cmVhbV9mbGFncyhzdHJlYW0uZ2V0KCkpOworICAgIGlmICh0
YWdzICYmIGdzdF90YWdfbGlzdF9nZXRfaW50KHRhZ3MuZ2V0KCksICJ3ZWJraXQtbWVkaWEtc3Ry
ZWFtLWtpbmQiLCAma2luZCkgJiYga2luZCA9PSBzdGF0aWNfY2FzdDxpbnQ+KFZpZGVvVHJhY2tQ
cml2YXRlOjpLaW5kOjpNYWluKSkgeworICAgICAgICBHc3RTdHJlYW1GbGFncyBzdHJlYW1GbGFn
cyA9IGdzdF9zdHJlYW1fZ2V0X3N0cmVhbV9mbGFncyhzdHJlYW0uZ2V0KCkpOwogICAgICAgICBn
c3Rfc3RyZWFtX3NldF9zdHJlYW1fZmxhZ3Moc3RyZWFtLmdldCgpLCBzdGF0aWNfY2FzdDxHc3RT
dHJlYW1GbGFncz4oc3RyZWFtRmxhZ3MgfCBHU1RfU1RSRUFNX0ZMQUdfU0VMRUNUKSk7CiAgICAg
fQorCisgICAgbV9pZCA9IGdzdF9zdHJlYW1fZ2V0X3N0cmVhbV9pZChzdHJlYW0uZ2V0KCkpOwog
fQogCiBBdWRpb1RyYWNrUHJpdmF0ZTo6S2luZCBBdWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6
a2luZCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvQXVkaW9UcmFja1ByaXZhdGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9BdWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lci5o
CmluZGV4IDY2YTM5NTViYmRlZmU2MDNkYzllMTI2OTZhYjQ1N2IwZWQ3ZjMzY2UuLmZlOTc5ZjQz
ODA3ZDk2ZTUyZDhjZDIzNmEzZTc2MjdjMWU2ZWFjODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9BdWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1l
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9BdWRp
b1RyYWNrUHJpdmF0ZUdTdHJlYW1lci5oCkBAIC0zOCwzMyArMzgsMzQgQEAgY2xhc3MgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOwogCiBjbGFzcyBBdWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1l
ciBmaW5hbCA6IHB1YmxpYyBBdWRpb1RyYWNrUHJpdmF0ZSwgcHVibGljIFRyYWNrUHJpdmF0ZUJh
c2VHU3RyZWFtZXIgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8QXVkaW9UcmFja1ByaXZhdGVH
U3RyZWFtZXI+IGNyZWF0ZShXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4gcGxh
eWVyLCB1bnNpZ25lZCBpbmRleCwgR1JlZlB0cjxHc3RQYWQ+JiYgcGFkKQorICAgIHN0YXRpYyBS
ZWY8QXVkaW9UcmFja1ByaXZhdGVHU3RyZWFtZXI+IGNyZWF0ZShXZWFrUHRyPE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lcj4gcGxheWVyLCBnaW50IGluZGV4LCBHUmVmUHRyPEdzdFBhZD4gcGFk
KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQXVkaW9UcmFja1ByaXZhdGVH
U3RyZWFtZXIocGxheWVyLCBpbmRleCwgV1RGTW92ZShwYWQpKSk7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IEF1ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyKHBsYXllciwgaW5kZXgsIHBh
ZCkpOwogICAgIH0KIAotICAgIHN0YXRpYyBSZWY8QXVkaW9UcmFja1ByaXZhdGVHU3RyZWFtZXI+
IGNyZWF0ZShXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4gcGxheWVyLCB1bnNp
Z25lZCBpbmRleCwgR1JlZlB0cjxHc3RTdHJlYW0+JiYgc3RyZWFtKQorICAgIHN0YXRpYyBSZWY8
QXVkaW9UcmFja1ByaXZhdGVHU3RyZWFtZXI+IGNyZWF0ZShXZWFrUHRyPE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcj4gcGxheWVyLCBnaW50IGluZGV4LCBHUmVmUHRyPEdzdFN0cmVhbT4gc3Ry
ZWFtKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQXVkaW9UcmFja1ByaXZh
dGVHU3RyZWFtZXIocGxheWVyLCBpbmRleCwgV1RGTW92ZShzdHJlYW0pKSk7CisgICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IEF1ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyKHBsYXllciwgaW5k
ZXgsIHN0cmVhbSkpOwogICAgIH0KIAogICAgIEtpbmQga2luZCgpIGNvbnN0IGZpbmFsOwogCi0g
ICAgdm9pZCBkaXNjb25uZWN0KCkgZmluYWw7CisgICAgdm9pZCBkaXNjb25uZWN0KCkgb3ZlcnJp
ZGU7CiAKLSAgICB2b2lkIHNldEVuYWJsZWQoYm9vbCkgZmluYWw7Ci0gICAgdm9pZCBzZXRBY3Rp
dmUoYm9vbCBlbmFibGVkKSBmaW5hbCB7IHNldEVuYWJsZWQoZW5hYmxlZCk7IH0KKyAgICB2b2lk
IHNldEVuYWJsZWQoYm9vbCkgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRBY3RpdmUoYm9vbCBlbmFi
bGVkKSBvdmVycmlkZSB7IHNldEVuYWJsZWQoZW5hYmxlZCk7IH0KIAotICAgIGludCB0cmFja0lu
ZGV4KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9pbmRleDsgfQorICAgIGludCB0cmFja0luZGV4
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9pbmRleDsgfQogCi0gICAgQXRvbVN0cmluZyBp
ZCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faWQ7IH0KLSAgICBBdG9tU3RyaW5nIGxhYmVsKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9sYWJlbDsgfQotICAgIEF0b21TdHJpbmcgbGFuZ3VhZ2Uo
KSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2xhbmd1YWdlOyB9CisgICAgQXRvbVN0cmluZyBpZCgp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1faWQ7IH0KKyAgICBBdG9tU3RyaW5nIGxhYmVsKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9sYWJlbDsgfQorICAgIEF0b21TdHJpbmcgbGFuZ3Vh
Z2UoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2xhbmd1YWdlOyB9CiAKIHByaXZhdGU6Ci0g
ICAgQXVkaW9UcmFja1ByaXZhdGVHU3RyZWFtZXIoV2Vha1B0cjxNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI+LCB1bnNpZ25lZCBpbmRleCwgR1JlZlB0cjxHc3RQYWQ+JiYpOwotICAgIEF1ZGlv
VHJhY2tQcml2YXRlR1N0cmVhbWVyKFdlYWtQdHI8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
PiwgdW5zaWduZWQgaW5kZXgsIEdSZWZQdHI8R3N0U3RyZWFtPiYmKTsKKyAgICBBdWRpb1RyYWNr
UHJpdmF0ZUdTdHJlYW1lcihXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4sIGdp
bnQgaW5kZXgsIEdSZWZQdHI8R3N0UGFkPik7CisgICAgQXVkaW9UcmFja1ByaXZhdGVHU3RyZWFt
ZXIoV2Vha1B0cjxNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI+LCBnaW50IGluZGV4LCBHUmVm
UHRyPEdzdFN0cmVhbT4pOwogCisgICAgQXRvbVN0cmluZyBtX2lkOwogICAgIFdlYWtQdHI8TWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiBtX3BsYXllcjsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbmJhbmRUZXh0VHJhY2tQ
cml2YXRlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9JbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCAyODRmZWI2
MDY2OGZhYzAzMjllMjY5ZDBjMjFjOGUwM2UyYWRjODFkLi40YzFjYjhhYzk2NjVhZWJjNzFjZDgy
MGFiYWMzNGQ4ODcyNTQzMTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0luYmFuZFRleHRU
cmFja1ByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC0yOSwyNiArMjksNDIgQEAKIAogI2luY2x1ZGUg
IkluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIuaCIKIAotI2luY2x1ZGUgPHd0Zi9Mb2Nr
Lmg+CisjaW5jbHVkZSAiR1N0cmVhbWVyQ29tbW9uLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgor
I2luY2x1ZGUgPGdsaWItb2JqZWN0Lmg+CisjaW5jbHVkZSA8Z3N0L2dzdC5oPgogCiBHU1RfREVC
VUdfQ0FURUdPUllfRVhURVJOKHdlYmtpdF9tZWRpYV9wbGF5ZXJfZGVidWcpOwogI2RlZmluZSBH
U1RfQ0FUX0RFRkFVTFQgd2Via2l0X21lZGlhX3BsYXllcl9kZWJ1ZwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLUluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXI6OkluYmFuZFRleHRUcmFj
a1ByaXZhdGVHU3RyZWFtZXIodW5zaWduZWQgaW5kZXgsIEdSZWZQdHI8R3N0UGFkPiYmIHBhZCkK
K0luYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXI6OkluYmFuZFRleHRUcmFja1ByaXZhdGVH
U3RyZWFtZXIoZ2ludCBpbmRleCwgR1JlZlB0cjxHc3RQYWQ+IHBhZCkKICAgICA6IEluYmFuZFRl
eHRUcmFja1ByaXZhdGUoQ3VlRm9ybWF0OjpXZWJWVFQpCi0gICAgLCBUcmFja1ByaXZhdGVCYXNl
R1N0cmVhbWVyKFRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXI6OlRyYWNrVHlwZTo6VGV4dCwgdGhp
cywgaW5kZXgsIFdURk1vdmUocGFkKSkKKyAgICAsIFRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXIo
dGhpcywgaW5kZXgsIHBhZCkKICAgICAsIG1fa2luZChLaW5kOjpTdWJ0aXRsZXMpCiB7CisgICAg
bV9ldmVudFByb2JlID0gZ3N0X3BhZF9hZGRfcHJvYmUobV9wYWQuZ2V0KCksIEdTVF9QQURfUFJP
QkVfVFlQRV9FVkVOVF9ET1dOU1RSRUFNLCBbXSAoR3N0UGFkKiwgR3N0UGFkUHJvYmVJbmZvKiBp
bmZvLCBncG9pbnRlciB1c2VyRGF0YSkgLT4gR3N0UGFkUHJvYmVSZXR1cm4geworICAgICAgICBh
dXRvKiB0cmFjayA9IHN0YXRpY19jYXN0PEluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIq
Pih1c2VyRGF0YSk7CisgICAgICAgIHN3aXRjaCAoR1NUX0VWRU5UX1RZUEUoZ3N0X3BhZF9wcm9i
ZV9pbmZvX2dldF9ldmVudChpbmZvKSkpIHsKKyAgICAgICAgY2FzZSBHU1RfRVZFTlRfU1RSRUFN
X1NUQVJUOgorICAgICAgICAgICAgdHJhY2stPnN0cmVhbUNoYW5nZWQoKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KyAgICAgICAgcmV0dXJuIEdTVF9QQURfUFJPQkVfT0s7CisgICAgfSwgdGhpcywgbnVsbHB0cik7
CisKKyAgICBub3RpZnlUcmFja09mU3RyZWFtQ2hhbmdlZCgpOwogfQogCi1JbmJhbmRUZXh0VHJh
Y2tQcml2YXRlR1N0cmVhbWVyOjpJbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyKHVuc2ln
bmVkIGluZGV4LCBHUmVmUHRyPEdzdFN0cmVhbT4mJiBzdHJlYW0pCitJbmJhbmRUZXh0VHJhY2tQ
cml2YXRlR1N0cmVhbWVyOjpJbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyKGdpbnQgaW5k
ZXgsIEdSZWZQdHI8R3N0U3RyZWFtPiBzdHJlYW0pCiAgICAgOiBJbmJhbmRUZXh0VHJhY2tQcml2
YXRlKEN1ZUZvcm1hdDo6V2ViVlRUKQotICAgICwgVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcihU
cmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyOjpUcmFja1R5cGU6OlRleHQsIHRoaXMsIGluZGV4LCBX
VEZNb3ZlKHN0cmVhbSkpCisgICAgLCBUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyKHRoaXMsIGlu
ZGV4LCBzdHJlYW0pCiB7Ci0gICAgbV9pZCA9IGdzdF9zdHJlYW1fZ2V0X3N0cmVhbV9pZChzdHJl
YW0uZ2V0KCkpOwotICAgIEdTVF9JTkZPKCJUcmFjayAlZCBnb3Qgc3RyZWFtIHN0YXJ0IGZvciBz
dHJlYW0gJXMuIiwgbV9pbmRleCwgbV9pZC5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKKyAgICBt
X3N0cmVhbUlkID0gZ3N0X3N0cmVhbV9nZXRfc3RyZWFtX2lkKHN0cmVhbS5nZXQoKSk7CisgICAg
R1NUX0lORk8oIlRyYWNrICVkIGdvdCBzdHJlYW0gc3RhcnQgZm9yIHN0cmVhbSAlcy4iLCBtX2lu
ZGV4LCBtX3N0cmVhbUlkLnV0ZjgoKS5kYXRhKCkpOwogCiAgICAgR1NUX0RFQlVHKCJTdHJlYW0g
JSIgR1NUX1BUUl9GT1JNQVQsIHN0cmVhbS5nZXQoKSk7CiAgICAgYXV0byBjYXBzID0gYWRvcHRH
UmVmKGdzdF9zdHJlYW1fZ2V0X2NhcHMoc3RyZWFtLmdldCgpKSk7CkBAIC01Niw2ICs3MiwxNCBA
QCBJbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyOjpJbmJhbmRUZXh0VHJhY2tQcml2YXRl
R1N0cmVhbWVyKHVuc2lnbmVkIGluZGV4LAogICAgIG1fa2luZCA9IGdfc3RyX2hhc19wcmVmaXgo
bWVkaWFUeXBlLCAiY2xvc2VkY2FwdGlvbi8iKSA/IEtpbmQ6OkNhcHRpb25zIDogS2luZDo6U3Vi
dGl0bGVzOwogfQogCit2b2lkIEluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXI6OmRpc2Nv
bm5lY3QoKQoreworICAgIGlmIChtX3BhZCkKKyAgICAgICAgZ3N0X3BhZF9yZW1vdmVfcHJvYmUo
bV9wYWQuZ2V0KCksIG1fZXZlbnRQcm9iZSk7CisKKyAgICBUcmFja1ByaXZhdGVCYXNlR1N0cmVh
bWVyOjpkaXNjb25uZWN0KCk7Cit9CisKIHZvaWQgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJl
YW1lcjo6aGFuZGxlU2FtcGxlKEdSZWZQdHI8R3N0U2FtcGxlPiBzYW1wbGUpCiB7CiAgICAgewpA
QCAtNjksNiArOTMsMTQgQEAgdm9pZCBJbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyOjpo
YW5kbGVTYW1wbGUoR1JlZlB0cjxHc3RTYW1wbGU+IHNhbXBsZSkKICAgICB9KTsKIH0KIAordm9p
ZCBJbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyOjpzdHJlYW1DaGFuZ2VkKCkKK3sKKyAg
ICBSZWZQdHI8SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcj4gcHJvdGVjdGVkVGhpcyh0
aGlzKTsKKyAgICBtX25vdGlmaWVyLT5ub3RpZnkoTWFpblRocmVhZE5vdGlmaWNhdGlvbjo6U3Ry
ZWFtQ2hhbmdlZCwgW3Byb3RlY3RlZFRoaXNdIHsKKyAgICAgICAgcHJvdGVjdGVkVGhpcy0+bm90
aWZ5VHJhY2tPZlN0cmVhbUNoYW5nZWQoKTsKKyAgICB9KTsKK30KKwogdm9pZCBJbmJhbmRUZXh0
VHJhY2tQcml2YXRlR1N0cmVhbWVyOjpub3RpZnlUcmFja09mU2FtcGxlKCkKIHsKICAgICBWZWN0
b3I8R1JlZlB0cjxHc3RTYW1wbGU+ID4gc2FtcGxlczsKQEAgLTk3LDYgKzEyOSwxOSBAQCB2b2lk
IEluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXI6Om5vdGlmeVRyYWNrT2ZTYW1wbGUoKQog
ICAgIH0KIH0KIAordm9pZCBJbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyOjpub3RpZnlU
cmFja09mU3RyZWFtQ2hhbmdlZCgpCit7CisgICAgR1JlZlB0cjxHc3RFdmVudD4gZXZlbnQgPSBh
ZG9wdEdSZWYoZ3N0X3BhZF9nZXRfc3RpY2t5X2V2ZW50KG1fcGFkLmdldCgpLAorICAgICAgICBH
U1RfRVZFTlRfU1RSRUFNX1NUQVJULCAwKSk7CisgICAgaWYgKCFldmVudCkKKyAgICAgICAgcmV0
dXJuOworCisgICAgY29uc3QgZ2NoYXIqIHN0cmVhbUlkOworICAgIGdzdF9ldmVudF9wYXJzZV9z
dHJlYW1fc3RhcnQoZXZlbnQuZ2V0KCksICZzdHJlYW1JZCk7CisgICAgR1NUX0lORk8oIlRyYWNr
ICVkIGdvdCBzdHJlYW0gc3RhcnQgZm9yIHN0cmVhbSAlcy4iLCBtX2luZGV4LCBzdHJlYW1JZCk7
CisgICAgbV9zdHJlYW1JZCA9IHN0cmVhbUlkOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKICNlbmRpZiAvLyBFTkFCTEUoVklERU8pICYmIFVTRShHU1RSRUFNRVIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRy
YWNrUHJpdmF0ZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL0luYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIuaAppbmRleCAyYjAyYTU5
MGYwZGRlMWNlN2E3NTU0YTk3YmI5YTliNDc2YzBiZjNlLi5mMDUzODA2M2ExZjA3ZDJkMDc5YjZh
Y2ZmZTRhMjcwODEzY2E3MDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbmJhbmRUZXh0VHJh
Y2tQcml2YXRlR1N0cmVhbWVyLmgKQEAgLTMwLDcgKzMwLDggQEAKICNpbmNsdWRlICJHU3RyZWFt
ZXJDb21tb24uaCIKICNpbmNsdWRlICJJbmJhbmRUZXh0VHJhY2tQcml2YXRlLmgiCiAjaW5jbHVk
ZSAiVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CisjaW5jbHVkZSA8Z3N0L2dzdC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtMzgsMzYgKzM5LDQ1IEBAIGNsYXNzIE1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lcjsKIAogY2xhc3MgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lciA6IHB1
YmxpYyBJbmJhbmRUZXh0VHJhY2tQcml2YXRlLCBwdWJsaWMgVHJhY2tQcml2YXRlQmFzZUdTdHJl
YW1lciB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxJbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0
cmVhbWVyPiBjcmVhdGUodW5zaWduZWQgaW5kZXgsIEdSZWZQdHI8R3N0UGFkPiYmIHBhZCkKKyAg
ICBzdGF0aWMgUmVmPEluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXI+IGNyZWF0ZShnaW50
IGluZGV4LCBHUmVmUHRyPEdzdFBhZD4gcGFkKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcihpbmRleCwgV1RGTW92ZShw
YWQpKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEluYmFuZFRleHRUcmFja1ByaXZh
dGVHU3RyZWFtZXIoaW5kZXgsIHBhZCkpOwogICAgIH0KIAotICAgIHN0YXRpYyBSZWY8SW5iYW5k
VGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcj4gY3JlYXRlKFdlYWtQdHI8TWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyPiwgdW5zaWduZWQgaW5kZXgsIEdSZWZQdHI8R3N0UGFkPiBwYWQpCisgICAg
c3RhdGljIFJlZjxJbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyPiBjcmVhdGUoV2Vha1B0
cjxNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI+LCBnaW50IGluZGV4LCBHUmVmUHRyPEdzdFBh
ZD4gcGFkKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGNyZWF0ZShpbmRleCwgV1RGTW92ZShwYWQp
KTsKKyAgICAgICAgcmV0dXJuIGNyZWF0ZShpbmRleCwgcGFkKTsKICAgICB9CiAKLSAgICBzdGF0
aWMgUmVmPEluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXI+IGNyZWF0ZSh1bnNpZ25lZCBp
bmRleCwgR1JlZlB0cjxHc3RTdHJlYW0+JiYgc3RyZWFtKQorICAgIHN0YXRpYyBSZWY8SW5iYW5k
VGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcj4gY3JlYXRlKGdpbnQgaW5kZXgsIEdSZWZQdHI8R3N0
U3RyZWFtPiBzdHJlYW0pCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBJbmJh
bmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyKGluZGV4LCBXVEZNb3ZlKHN0cmVhbSkpKTsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1l
cihpbmRleCwgc3RyZWFtKSk7CiAgICAgfQogCi0gICAgS2luZCBraW5kKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gbV9raW5kOyB9Ci0gICAgQXRvbVN0cmluZyBpZCgpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIG1faWQ7IH0KLSAgICBBdG9tU3RyaW5nIGxhYmVsKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
bV9sYWJlbDsgfQotICAgIEF0b21TdHJpbmcgbGFuZ3VhZ2UoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBtX2xhbmd1YWdlOyB9Ci0gICAgaW50IHRyYWNrSW5kZXgoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBtX2luZGV4OyB9CisgICAgdm9pZCBkaXNjb25uZWN0KCkgb3ZlcnJpZGU7CisKKyAgICBLaW5k
IGtpbmQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2tpbmQ7IH0KKworICAgIEF0b21TdHJp
bmcgbGFiZWwoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2xhYmVsOyB9CisgICAgQXRvbVN0
cmluZyBsYW5ndWFnZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fbGFuZ3VhZ2U7IH0KKwor
ICAgIGludCB0cmFja0luZGV4KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9pbmRleDsgfQor
ICAgIFN0cmluZyBzdHJlYW1JZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RyZWFtSWQ7IH0KIAogICAg
IHZvaWQgaGFuZGxlU2FtcGxlKEdSZWZQdHI8R3N0U2FtcGxlPik7CiAKIHByaXZhdGU6Ci0gICAg
SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcih1bnNpZ25lZCBpbmRleCwgR1JlZlB0cjxH
c3RQYWQ+JiYpOwotICAgIEluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXIodW5zaWduZWQg
aW5kZXgsIEdSZWZQdHI8R3N0U3RyZWFtPiYmKTsKKyAgICBJbmJhbmRUZXh0VHJhY2tQcml2YXRl
R1N0cmVhbWVyKGdpbnQgaW5kZXgsIEdSZWZQdHI8R3N0UGFkPik7CisgICAgSW5iYW5kVGV4dFRy
YWNrUHJpdmF0ZUdTdHJlYW1lcihnaW50IGluZGV4LCBHUmVmUHRyPEdzdFN0cmVhbT4pOworCisg
ICAgdm9pZCBzdHJlYW1DaGFuZ2VkKCk7CiAKICAgICB2b2lkIG5vdGlmeVRyYWNrT2ZTYW1wbGUo
KTsKKyAgICB2b2lkIG5vdGlmeVRyYWNrT2ZTdHJlYW1DaGFuZ2VkKCk7CiAKKyAgICBndWxvbmcg
bV9ldmVudFByb2JlOwogICAgIFZlY3RvcjxHUmVmUHRyPEdzdFNhbXBsZT4+IG1fcGVuZGluZ1Nh
bXBsZXMgV1RGX0dVQVJERURfQllfTE9DSyhtX3NhbXBsZU11dGV4KTsKKyAgICBTdHJpbmcgbV9z
dHJlYW1JZDsKICAgICBLaW5kIG1fa2luZDsKICAgICBMb2NrIG1fc2FtcGxlTXV0ZXg7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCA2
NDBhNTQ5N2M3MmI3ZDgyOTVmMGE4M2RjYTM0M2FkZTA2NjZmYTkxLi4wOTQxZDQ0OTU0OTU0YTg2
YmE2MTViYzA0NDMzM2NmMWYyN2EyZWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtOTkyLDIzICs5OTIsMjMgQEAgdm9pZCBNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6Om5vdGlmeVBsYXllck9mVHJhY2soKQogCiAgICAgQVNTRVJU
KG1faXNMZWdhY3lQbGF5YmluIHx8IGlzTWVkaWFTb3VyY2UoKSk7CiAKLSAgICB1c2luZyBUcmFj
a1R5cGUgPSBUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyOjpUcmFja1R5cGU7CisgICAgZW51bSBU
cmFja1R5cGUgeyBBdWRpbyA9IDAsIFZpZGVvID0gMSwgVGV4dCA9IDIgfTsKICAgICBWYXJpYW50
PEhhc2hNYXA8QXRvbVN0cmluZywgUmVmUHRyPEF1ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyPj4q
LCBIYXNoTWFwPEF0b21TdHJpbmcsIFJlZlB0cjxWaWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcj4+
KiwgSGFzaE1hcDxBdG9tU3RyaW5nLCBSZWZQdHI8SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJl
YW1lcj4+Kj4gdmFyaWFudFRyYWNrcyA9IHN0YXRpY19jYXN0PEhhc2hNYXA8QXRvbVN0cmluZywg
UmVmUHRyPFRyYWNrUHJpdmF0ZVR5cGU+Pio+KDApOwogICAgIGF1dG8gdHlwZShzdGF0aWNfY2Fz
dDxUcmFja1R5cGU+KHZhcmlhbnRUcmFja3MuaW5kZXgoKSkpOwogICAgIGNvbnN0IGNoYXIqIHR5
cGVOYW1lOwogICAgIGJvb2wqIGhhc1R5cGU7CiAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgY2Fz
ZSBUcmFja1R5cGU6OkF1ZGlvOgorICAgIGNhc2UgQXVkaW86CiAgICAgICAgIHR5cGVOYW1lID0g
ImF1ZGlvIjsKICAgICAgICAgaGFzVHlwZSA9ICZtX2hhc0F1ZGlvOwogICAgICAgICB2YXJpYW50
VHJhY2tzID0gJm1fYXVkaW9UcmFja3M7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgVHJhY2tU
eXBlOjpWaWRlbzoKKyAgICBjYXNlIFZpZGVvOgogICAgICAgICB0eXBlTmFtZSA9ICJ2aWRlbyI7
CiAgICAgICAgIGhhc1R5cGUgPSAmbV9oYXNWaWRlbzsKICAgICAgICAgdmFyaWFudFRyYWNrcyA9
ICZtX3ZpZGVvVHJhY2tzOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFRyYWNrVHlwZTo6VGV4
dDoKKyAgICBjYXNlIFRleHQ6CiAgICAgICAgIHR5cGVOYW1lID0gInRleHQiOwogICAgICAgICBo
YXNUeXBlID0gbnVsbHB0cjsKICAgICAgICAgdmFyaWFudFRyYWNrcyA9ICZtX3RleHRUcmFja3M7
CkBAIC0xMDE5LDcgKzEwMTksNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6
bm90aWZ5UGxheWVyT2ZUcmFjaygpCiAgICAgSGFzaE1hcDxBdG9tU3RyaW5nLCBSZWZQdHI8VHJh
Y2tQcml2YXRlVHlwZT4+JiB0cmFja3MgPSAqZ2V0PEhhc2hNYXA8QXRvbVN0cmluZywgUmVmUHRy
PFRyYWNrUHJpdmF0ZVR5cGU+Pio+KHZhcmlhbnRUcmFja3MpOwogCiAgICAgLy8gSWdub3JlIG5v
dGlmaWNhdGlvbnMgYWZ0ZXIgYSBFT1MuIFdlIGRvbid0IHdhbnQgdGhlIHRyYWNrcyB0byBkaXNh
cHBlYXIgd2hlbiB0aGUgdmlkZW8gaXMgZmluaXNoZWQuCi0gICAgaWYgKG1faXNFbmRSZWFjaGVk
ICYmICh0eXBlID09IFRyYWNrVHlwZTo6QXVkaW8gfHwgdHlwZSA9PSBUcmFja1R5cGU6OlZpZGVv
KSkKKyAgICBpZiAobV9pc0VuZFJlYWNoZWQgJiYgKHR5cGUgPT0gQXVkaW8gfHwgdHlwZSA9PSBW
aWRlbykpCiAgICAgICAgIHJldHVybjsKIAogICAgIHVuc2lnbmVkIG51bWJlck9mVHJhY2tzID0g
MDsKQEAgLTEwMzksNyArMTAzOSw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
Ojpub3RpZnlQbGF5ZXJPZlRyYWNrKCkKICAgICAgICAgaWYgKG9sZEhhc1R5cGUgIT0gKmhhc1R5
cGUpCiAgICAgICAgICAgICBtX3BsYXllci0+Y2hhcmFjdGVyaXN0aWNDaGFuZ2VkKCk7CiAKLSAg
ICAgICAgaWYgKCpoYXNUeXBlICYmIHR5cGUgPT0gVHJhY2tUeXBlOjpWaWRlbykKKyAgICAgICAg
aWYgKCpoYXNUeXBlICYmIHR5cGUgPT0gVmlkZW8pCiAgICAgICAgICAgICBtX3BsYXllci0+c2l6
ZUNoYW5nZWQoKTsKICAgICB9CiAKQEAgLTEwNDksNyArMTA0OSw3IEBAIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyOjpub3RpZnlQbGF5ZXJPZlRyYWNrKCkKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgIFZlY3RvcjxBdG9tU3RyaW5nPiB2YWxpZFN0cmVhbXM7CisgICAgVmVj
dG9yPFN0cmluZz4gdmFsaWRTdHJlYW1zOwogICAgIFN0cmluZ1ByaW50U3RyZWFtIGdldFBhZFBy
b3BlcnR5OwogICAgIGdldFBhZFByb3BlcnR5LnByaW50ZigiZ2V0LSVzLXBhZCIsIHR5cGVOYW1l
KTsKIApAQCAtMTA1OCw5ICsxMDU4LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6Om5vdGlmeVBsYXllck9mVHJhY2soKQogICAgICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUo
bV9waXBlbGluZS5nZXQoKSwgZ2V0UGFkUHJvcGVydHkudG9DU3RyaW5nKCkuZGF0YSgpLCBpLCAm
cGFkLm91dFB0cigpLCBudWxscHRyKTsKICAgICAgICAgQVNTRVJUKHBhZCk7CiAKLSAgICAgICAg
Ly8gVGhlIHBhZCBtaWdodCBub3QgaGF2ZSBhIHN0aWNreSBzdHJlYW0tc3RhcnQgZXZlbnQgeWV0
LCBzbyB3ZSBjYW4ndCB1c2UKLSAgICAgICAgLy8gZ3N0X3BhZF9nZXRfc3RyZWFtX2lkKCkgaGVy
ZS4KLSAgICAgICAgYXV0byBzdHJlYW1JZCA9IFRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXI6Omdl
bmVyYXRlVW5pcXVlUGxheWJpbjJTdHJlYW1JRCh0eXBlLCBpKTsKKyAgICAgICAgU3RyaW5nIHN0
cmVhbUlkID0gU3RyaW5nKHR5cGVOYW1lKS5zdWJzdHJpbmcoMCwgMSkuY29udmVydFRvQVNDSUlV
cHBlcmNhc2UoKSArIFN0cmluZzo6bnVtYmVyKGkpOwogICAgICAgICB2YWxpZFN0cmVhbXMuYXBw
ZW5kKHN0cmVhbUlkKTsKIAogICAgICAgICBpZiAoaSA8IHRyYWNrcy5zaXplKCkpIHsKQEAgLTEw
NzUsMjMgKzEwNzMsMTcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om5vdGlm
eVBsYXllck9mVHJhY2soKQogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgYXV0
byB0cmFjayA9IFRyYWNrUHJpdmF0ZVR5cGU6OmNyZWF0ZShtYWtlV2Vha1B0cigqdGhpcyksIGks
IFdURk1vdmUocGFkKSk7Ci0gICAgICAgIGlmICghdHJhY2stPnRyYWNrSW5kZXgoKSAmJiAodHlw
ZSA9PSBUcmFja1R5cGU6OkF1ZGlvIHx8IHR5cGUgPT0gVHJhY2tUeXBlOjpWaWRlbykpCisgICAg
ICAgIGF1dG8gdHJhY2sgPSBUcmFja1ByaXZhdGVUeXBlOjpjcmVhdGUobWFrZVdlYWtQdHIoKnRo
aXMpLCBpLCBwYWQpOworICAgICAgICBpZiAoIXRyYWNrLT50cmFja0luZGV4KCkgJiYgKHR5cGUg
PT0gQXVkaW8gfHwgdHlwZSA9PSBWaWRlbykpCiAgICAgICAgICAgICB0cmFjay0+c2V0QWN0aXZl
KHRydWUpOwogICAgICAgICBBU1NFUlQoc3RyZWFtSWQgPT0gdHJhY2stPmlkKCkpOwogICAgICAg
ICB0cmFja3MuYWRkKHN0cmVhbUlkLCB0cmFjay5jb3B5UmVmKCkpOwogCiAgICAgICAgIFZhcmlh
bnQ8QXVkaW9UcmFja1ByaXZhdGUmLCBWaWRlb1RyYWNrUHJpdmF0ZSYsIEluYmFuZFRleHRUcmFj
a1ByaXZhdGUmPiB2YXJpYW50VHJhY2sodHJhY2suZ2V0KCkpOwogICAgICAgICBzd2l0Y2ggKHZh
cmlhbnRUcmFjay5pbmRleCgpKSB7Ci0gICAgICAgIGNhc2UgVHJhY2tUeXBlOjpBdWRpbzoKLSAg
ICAgICAgICAgIG1fcGxheWVyLT5hZGRBdWRpb1RyYWNrKGdldDxBdWRpb1RyYWNrUHJpdmF0ZSY+
KHZhcmlhbnRUcmFjaykpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgVHJhY2tU
eXBlOjpWaWRlbzoKLSAgICAgICAgICAgIG1fcGxheWVyLT5hZGRWaWRlb1RyYWNrKGdldDxWaWRl
b1RyYWNrUHJpdmF0ZSY+KHZhcmlhbnRUcmFjaykpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGNhc2UgVHJhY2tUeXBlOjpUZXh0OgotICAgICAgICAgICAgbV9wbGF5ZXItPmFkZFRleHRU
cmFjayhnZXQ8SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZSY+KHZhcmlhbnRUcmFjaykpOwotICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQXVkaW86IG1fcGxheWVyLT5hZGRBdWRpb1RyYWNr
KGdldDxBdWRpb1RyYWNrUHJpdmF0ZSY+KHZhcmlhbnRUcmFjaykpOyBicmVhazsKKyAgICAgICAg
Y2FzZSBWaWRlbzogbV9wbGF5ZXItPmFkZFZpZGVvVHJhY2soZ2V0PFZpZGVvVHJhY2tQcml2YXRl
Jj4odmFyaWFudFRyYWNrKSk7IGJyZWFrOworICAgICAgICBjYXNlIFRleHQ6IG1fcGxheWVyLT5h
ZGRUZXh0VHJhY2soZ2V0PEluYmFuZFRleHRUcmFja1ByaXZhdGUmPih2YXJpYW50VHJhY2spKTsg
YnJlYWs7CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTExNTEsNyArMTE0Myw3IEBAIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp0ZXh0Q2hhbmdlZENhbGxiYWNrKE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6aGFuZGxl
VGV4dFNhbXBsZShHc3RTYW1wbGUqIHNhbXBsZSwgY29uc3QgY2hhciogc3RyZWFtSWQpCiB7CiAg
ICAgZm9yIChhdXRvJiB0cmFjayA6IG1fdGV4dFRyYWNrcy52YWx1ZXMoKSkgewotICAgICAgICBp
ZiAoIXN0cmNtcCh0cmFjay0+aWQoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpLCBzdHJlYW1JZCkp
IHsKKyAgICAgICAgaWYgKCFzdHJjbXAodHJhY2stPnN0cmVhbUlkKCkudXRmOCgpLmRhdGEoKSwg
c3RyZWFtSWQpKSB7CiAgICAgICAgICAgICB0cmFjay0+aGFuZGxlU2FtcGxlKHNhbXBsZSk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KQEAgLTE0NTcsOCArMTQ0OSw4IEBAIHZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVUcmFja3MoY29uc3QgR1JlZlB0cjxH
c3RTdHJlYW1Db2xsZWN0aW9uCiAgICAgdW5zaWduZWQgdmlkZW9UcmFja0luZGV4ID0gMDsKICAg
ICB1bnNpZ25lZCB0ZXh0VHJhY2tJbmRleCA9IDA7CiAKLSNkZWZpbmUgQ1JFQVRFX1RSQUNLKHR5
cGUsIFR5cGUpIEdfU1RNVF9TVEFSVCB7ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBS
ZWZQdHI8VHlwZSMjVHJhY2tQcml2YXRlR1N0cmVhbWVyPiB0cmFjayA9IFR5cGUjI1RyYWNrUHJp
dmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKG1ha2VXZWFrUHRyKCp0aGlzKSwgdHlwZSMjVHJhY2tJbmRl
eCwgV1RGTW92ZShzdHJlYW0pKTsgXAorI2RlZmluZSBDUkVBVEVfVFJBQ0sodHlwZSwgVHlwZSkg
R19TVE1UX1NUQVJUIHsgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBSZWZQdHI8
VHlwZSMjVHJhY2tQcml2YXRlR1N0cmVhbWVyPiB0cmFjayA9IFR5cGUjI1RyYWNrUHJpdmF0ZUdT
dHJlYW1lcjo6Y3JlYXRlKG1ha2VXZWFrUHRyKCp0aGlzKSwgdHlwZSMjVHJhY2tJbmRleCwgc3Ry
ZWFtKTsgXAogICAgICAgICBhdXRvIHRyYWNrSWQgPSB0cmFjay0+aWQoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIGlmICghdHlwZSMjVHJhY2tJbmRleCkgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgIG1fd2FudGVk
IyNUeXBlIyNTdHJlYW1JZCA9IHRyYWNrSWQ7ICAgICAgICAgICAgICAgICAgICAgXApAQCAtMTQ3
MSwxMSArMTQ2MywxMSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dXBkYXRl
VHJhY2tzKGNvbnN0IEdSZWZQdHI8R3N0U3RyZWFtQ29sbGVjdGlvbgogICAgIH0gR19TVE1UX0VO
RAogCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7Ci0gICAgICAg
IEdSZWZQdHI8R3N0U3RyZWFtPiBzdHJlYW0gPSBnc3Rfc3RyZWFtX2NvbGxlY3Rpb25fZ2V0X3N0
cmVhbShzdHJlYW1Db2xsZWN0aW9uLmdldCgpLCBpKTsKLSAgICAgICAgY29uc3QgY2hhciogc3Ry
ZWFtSWQgPSBnc3Rfc3RyZWFtX2dldF9zdHJlYW1faWQoc3RyZWFtLmdldCgpKTsKLSAgICAgICAg
YXV0byB0eXBlID0gZ3N0X3N0cmVhbV9nZXRfc3RyZWFtX3R5cGUoc3RyZWFtLmdldCgpKTsKKyAg
ICAgICAgYXV0byogc3RyZWFtID0gZ3N0X3N0cmVhbV9jb2xsZWN0aW9uX2dldF9zdHJlYW0oc3Ry
ZWFtQ29sbGVjdGlvbi5nZXQoKSwgaSk7CisgICAgICAgIFN0cmluZyBzdHJlYW1JZChnc3Rfc3Ry
ZWFtX2dldF9zdHJlYW1faWQoc3RyZWFtKSk7CisgICAgICAgIGF1dG8gdHlwZSA9IGdzdF9zdHJl
YW1fZ2V0X3N0cmVhbV90eXBlKHN0cmVhbSk7CiAKLSAgICAgICAgR1NUX0RFQlVHX09CSkVDVChw
aXBlbGluZSgpLCAiSW5zcGVjdGluZyAlcyB0cmFjayB3aXRoIElEICVzIiwgZ3N0X3N0cmVhbV90
eXBlX2dldF9uYW1lKHR5cGUpLCBzdHJlYW1JZCk7CisgICAgICAgIEdTVF9ERUJVR19PQkpFQ1Qo
cGlwZWxpbmUoKSwgIkluc3BlY3RpbmcgJXMgdHJhY2sgd2l0aCBJRCAlcyIsIGdzdF9zdHJlYW1f
dHlwZV9nZXRfbmFtZSh0eXBlKSwgc3RyZWFtSWQudXRmOCgpLmRhdGEoKSk7CiAKICAgICAgICAg
aWYgKHR5cGUgJiBHU1RfU1RSRUFNX1RZUEVfQVVESU8pIHsKICAgICAgICAgICAgIENSRUFURV9U
UkFDSyhhdWRpbywgQXVkaW8pOwpAQCAtMTQ4MywxMSArMTQ3NSwxMSBAQCB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lcjo6dXBkYXRlVHJhY2tzKGNvbnN0IEdSZWZQdHI8R3N0U3RyZWFt
Q29sbGVjdGlvbgogICAgICAgICB9IGVsc2UgaWYgKHR5cGUgJiBHU1RfU1RSRUFNX1RZUEVfVklE
RU8gJiYgbV9wbGF5ZXItPmlzVmlkZW9QbGF5ZXIoKSkKICAgICAgICAgICAgIENSRUFURV9UUkFD
Syh2aWRlbywgVmlkZW8pOwogICAgICAgICBlbHNlIGlmICh0eXBlICYgR1NUX1NUUkVBTV9UWVBF
X1RFWFQgJiYgIXVzZU1lZGlhU291cmNlKSB7Ci0gICAgICAgICAgICBhdXRvIHRyYWNrID0gSW5i
YW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKHRleHRUcmFja0luZGV4KyssIFdU
Rk1vdmUoc3RyZWFtKSk7CisgICAgICAgICAgICBhdXRvIHRyYWNrID0gSW5iYW5kVGV4dFRyYWNr
UHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKHRleHRUcmFja0luZGV4KyssIHN0cmVhbSk7CiAgICAg
ICAgICAgICBtX3RleHRUcmFja3MuYWRkKHN0cmVhbUlkLCB0cmFjay5jb3B5UmVmKCkpOwogICAg
ICAgICAgICAgbV9wbGF5ZXItPmFkZFRleHRUcmFjayh0cmFjay5nZXQoKSk7CiAgICAgICAgIH0g
ZWxzZQotICAgICAgICAgICAgR1NUX1dBUk5JTkcoIlVua25vd24gdHJhY2sgdHlwZSBmb3VuZCBm
b3Igc3RyZWFtICVzIiwgc3RyZWFtSWQpOworICAgICAgICAgICAgR1NUX1dBUk5JTkcoIlVua25v
d24gdHJhY2sgdHlwZSBmb3VuZCBmb3Igc3RyZWFtICVzIiwgc3RyZWFtSWQudXRmOCgpLmRhdGEo
KSk7CiAgICAgfQogCiAgICAgbV9oYXNBdWRpbyA9ICFtX2F1ZGlvVHJhY2tzLmlzRW1wdHkoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9U
cmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9UcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyLmNwcAppbmRleCBiODU1
YmRiOGNkZjdlZTQ1YTNhMjk2YTMzZjE5ZjA3YWJjYzNkY2E5Li42MDBhNjdmZGY3NGY2OTFjODU3
MTA4MWRiODMwODQzZmMyYTU0MjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1RyYWNrUHJpdmF0ZUJh
c2VHU3RyZWFtZXIuY3BwCkBAIC0zMCw4ICszMCwxMiBAQAogI2luY2x1ZGUgIlRyYWNrUHJpdmF0
ZUJhc2VHU3RyZWFtZXIuaCIKIAogI2luY2x1ZGUgIkdTdHJlYW1lckNvbW1vbi5oIgorI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJUcmFja1ByaXZhdGVCYXNlLmgiCisjaW5jbHVkZSA8
Z2xpYi1vYmplY3QuaD4KKyNpbmNsdWRlIDxnc3QvZ3N0Lmg+CiAjaW5jbHVkZSA8Z3N0L3RhZy90
YWcuaD4KKyNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQ1N0cmluZy5oPgogCiBHU1RfREVCVUdfQ0FURUdPUllfRVhURVJOKHdlYmtpdF9tZWRpYV9w
bGF5ZXJfZGVidWcpOwpAQCAtMzksMjUgKzQzLDYgQEAgR1NUX0RFQlVHX0NBVEVHT1JZX0VYVEVS
Tih3ZWJraXRfbWVkaWFfcGxheWVyX2RlYnVnKTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1B
dG9tU3RyaW5nIFRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXI6OmdlbmVyYXRlVW5pcXVlUGxheWJp
bjJTdHJlYW1JRChUcmFja1R5cGUgdHJhY2tUeXBlLCB1bnNpZ25lZCBpbmRleCkKLXsKLSAgICBh
dXRvIHByZWZpeCA9IFt0cmFja1R5cGVdKCkgLT4gY2hhciB7Ci0gICAgICAgIHN3aXRjaCAodHJh
Y2tUeXBlKSB7Ci0gICAgICAgIGNhc2UgVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcjo6VHJhY2tU
eXBlOjpBdWRpbzoKLSAgICAgICAgICAgIHJldHVybiAnQSc7Ci0gICAgICAgIGNhc2UgVHJhY2tQ
cml2YXRlQmFzZUdTdHJlYW1lcjo6VHJhY2tUeXBlOjpWaWRlbzoKLSAgICAgICAgICAgIHJldHVy
biAnVic7Ci0gICAgICAgIGNhc2UgVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcjo6VHJhY2tUeXBl
OjpUZXh0OgotICAgICAgICAgICAgcmV0dXJuICdUJzsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgcmV0dXJuICdVJzsKLSAg
ICAgICAgfQotICAgIH0oKTsKLQotICAgIHJldHVybiBtYWtlU3RyaW5nKHByZWZpeCwgaW5kZXgp
OwotfQotCiBzdGF0aWMgR1JlZlB0cjxHc3RQYWQ+IGZpbmRCZXN0VXBzdHJlYW1QYWQoR1JlZlB0
cjxHc3RQYWQ+IHBhZCkKIHsKICAgICBHUmVmUHRyPEdzdFBhZD4gc2lua1BhZCA9IHBhZDsKQEAg
LTcxLDEwICs1NiwxMCBAQCBzdGF0aWMgR1JlZlB0cjxHc3RQYWQ+IGZpbmRCZXN0VXBzdHJlYW1Q
YWQoR1JlZlB0cjxHc3RQYWQ+IHBhZCkKICAgICByZXR1cm4gc2lua1BhZDsKIH0KIAotVHJhY2tQ
cml2YXRlQmFzZUdTdHJlYW1lcjo6VHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcihUcmFja1R5cGUg
dHlwZSwgVHJhY2tQcml2YXRlQmFzZSogb3duZXIsIHVuc2lnbmVkIGluZGV4LCBHUmVmUHRyPEdz
dFBhZD4mJiBwYWQpCitUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyOjpUcmFja1ByaXZhdGVCYXNl
R1N0cmVhbWVyKFRyYWNrUHJpdmF0ZUJhc2UqIG93bmVyLCBnaW50IGluZGV4LCBHUmVmUHRyPEdz
dFBhZD4gcGFkKQogICAgIDogbV9ub3RpZmllcihNYWluVGhyZWFkTm90aWZpZXI8TWFpblRocmVh
ZE5vdGlmaWNhdGlvbj46OmNyZWF0ZSgpKQogICAgICwgbV9pbmRleChpbmRleCkKLSAgICAsIG1f
dHlwZSh0eXBlKQorICAgICwgbV9ldmVudFByb2JlKDApCiAgICAgLCBtX293bmVyKG93bmVyKQog
ewogICAgIHNldFBhZChXVEZNb3ZlKHBhZCkpOwpAQCAtODQsMTUgKzY5LDE0IEBAIFRyYWNrUHJp
dmF0ZUJhc2VHU3RyZWFtZXI6OlRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXIoVHJhY2tUeXBlIHR5
cGUsIFRyYWNrUHJpdmF0CiAgICAgdGFnc0NoYW5nZWQoKTsKIH0KIAotVHJhY2tQcml2YXRlQmFz
ZUdTdHJlYW1lcjo6VHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcihUcmFja1R5cGUgdHlwZSwgVHJh
Y2tQcml2YXRlQmFzZSogb3duZXIsIHVuc2lnbmVkIGluZGV4LCBHUmVmUHRyPEdzdFN0cmVhbT4m
JiBzdHJlYW0pCitUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyOjpUcmFja1ByaXZhdGVCYXNlR1N0
cmVhbWVyKFRyYWNrUHJpdmF0ZUJhc2UqIG93bmVyLCBnaW50IGluZGV4LCBHUmVmUHRyPEdzdFN0
cmVhbT4gc3RyZWFtKQogICAgIDogbV9ub3RpZmllcihNYWluVGhyZWFkTm90aWZpZXI8TWFpblRo
cmVhZE5vdGlmaWNhdGlvbj46OmNyZWF0ZSgpKQogICAgICwgbV9pbmRleChpbmRleCkKLSAgICAs
IG1fc3RyZWFtKFdURk1vdmUoc3RyZWFtKSkKLSAgICAsIG1fdHlwZSh0eXBlKQorICAgICwgbV9z
dHJlYW0oc3RyZWFtKQorICAgICwgbV9ldmVudFByb2JlKDApCiAgICAgLCBtX293bmVyKG93bmVy
KQogewogICAgIEFTU0VSVChtX3N0cmVhbSk7Ci0gICAgbV9pZCA9IGdzdF9zdHJlYW1fZ2V0X3N0
cmVhbV9pZChtX3N0cmVhbS5nZXQoKSk7CiAKICAgICAvLyBXZSBjYW4ndCBjYWxsIG5vdGlmeVRy
YWNrT2ZUYWdzQ2hhbmdlZCgpIGRpcmVjdGx5LCBiZWNhdXNlIHdlIG5lZWQgdGFnc0NoYW5nZWQo
KSB0byBzZXR1cCBtX3RhZ3MuCiAgICAgdGFnc0NoYW5nZWQoKTsKQEAgLTEwNSwxNyArODksMTIg
QEAgdm9pZCBUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyOjpzZXRQYWQoR1JlZlB0cjxHc3RQYWQ+
JiYgcGFkKQogCiAgICAgbV9wYWQgPSBXVEZNb3ZlKHBhZCk7CiAgICAgbV9iZXN0VXBzdHJlYW1Q
YWQgPSBmaW5kQmVzdFVwc3RyZWFtUGFkKG1fcGFkKTsKLSAgICBtX2lkID0gZ2VuZXJhdGVVbmlx
dWVQbGF5YmluMlN0cmVhbUlEKG1fdHlwZSwgbV9pbmRleCk7Ci0KICAgICBtX2V2ZW50UHJvYmUg
PSBnc3RfcGFkX2FkZF9wcm9iZShtX2Jlc3RVcHN0cmVhbVBhZC5nZXQoKSwgR1NUX1BBRF9QUk9C
RV9UWVBFX0VWRU5UX0RPV05TVFJFQU0sIFtdIChHc3RQYWQqLCBHc3RQYWRQcm9iZUluZm8qIGlu
Zm8sIGdwb2ludGVyIHVzZXJEYXRhKSAtPiBHc3RQYWRQcm9iZVJldHVybiB7CiAgICAgICAgIGF1
dG8qIHRyYWNrID0gc3RhdGljX2Nhc3Q8VHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcio+KHVzZXJE
YXRhKTsKICAgICAgICAgc3dpdGNoIChHU1RfRVZFTlRfVFlQRShnc3RfcGFkX3Byb2JlX2luZm9f
Z2V0X2V2ZW50KGluZm8pKSkgewogICAgICAgICBjYXNlIEdTVF9FVkVOVF9UQUc6CiAgICAgICAg
ICAgICB0YWdzQ2hhbmdlZENhbGxiYWNrKHRyYWNrKTsKICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIEdTVF9FVkVOVF9TVFJFQU1fU1RBUlQ6Ci0gICAgICAgICAgICB0cmFjay0+c3Ry
ZWFtQ2hhbmdlZCgpOwotICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMTg0LDkgKzE2Myw3IEBAIHZvaWQgVHJhY2tQ
cml2YXRlQmFzZUdTdHJlYW1lcjo6dGFnc0NoYW5nZWQoKQogICAgICAgICBtX3RhZ3Muc3dhcCh0
YWdzKTsKICAgICB9CiAKLSAgICBtX25vdGlmaWVyLT5ub3RpZnkoTWFpblRocmVhZE5vdGlmaWNh
dGlvbjo6VGFnc0NoYW5nZWQsIFt0aGlzXSB7Ci0gICAgICAgIG5vdGlmeVRyYWNrT2ZUYWdzQ2hh
bmdlZCgpOwotICAgIH0pOworICAgIG1fbm90aWZpZXItPm5vdGlmeShNYWluVGhyZWFkTm90aWZp
Y2F0aW9uOjpUYWdzQ2hhbmdlZCwgW3RoaXNdIHsgbm90aWZ5VHJhY2tPZlRhZ3NDaGFuZ2VkKCk7
IH0pOwogfQogCiBib29sIFRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXI6OmdldExhbmd1YWdlQ29k
ZShHc3RUYWdMaXN0KiB0YWdzLCBBdG9tU3RyaW5nJiB2YWx1ZSkKQEAgLTI0MywyMyArMjIwLDYg
QEAgdm9pZCBUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyOjpub3RpZnlUcmFja09mVGFnc0NoYW5n
ZWQoKQogICAgICAgICBjbGllbnQtPmxhbmd1YWdlQ2hhbmdlZChtX2xhbmd1YWdlKTsKIH0KIAot
dm9pZCBUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyOjpub3RpZnlUcmFja09mU3RyZWFtQ2hhbmdl
ZCgpCi17Ci0gICAgR1VuaXF1ZVB0cjxjaGFyPiBzdHJlYW1JZChnc3RfcGFkX2dldF9zdHJlYW1f
aWQobV9wYWQuZ2V0KCkpKTsKLSAgICBpZiAoIXN0cmVhbUlkKQotICAgICAgICByZXR1cm47Ci0K
LSAgICBHU1RfSU5GTygiVHJhY2sgJWQgZ290IHN0cmVhbSBzdGFydCBmb3Igc3RyZWFtICVzLiIs
IG1faW5kZXgsIHN0cmVhbUlkLmdldCgpKTsKLSAgICBtX2lkID0gc3RyZWFtSWQuZ2V0KCk7Ci19
Ci0KLXZvaWQgVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcjo6c3RyZWFtQ2hhbmdlZCgpCi17Ci0g
ICAgbV9ub3RpZmllci0+bm90aWZ5KE1haW5UaHJlYWROb3RpZmljYXRpb246OlN0cmVhbUNoYW5n
ZWQsIFt0aGlzXSB7Ci0gICAgICAgIG5vdGlmeVRyYWNrT2ZTdHJlYW1DaGFuZ2VkKCk7Ci0gICAg
fSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShWSURF
TykgJiYgVVNFKEdTVFJFQU1FUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9UcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVHJhY2tQcml2YXRlQmFzZUdTdHJl
YW1lci5oCmluZGV4IGZmOTRiMGVhYWMwMmE2MjllNWViZWNjMzMxN2RkMjNhZjhjYzljODkuLjA5
NTc1YWQ5MGY4MGExMGZiZDhhZjEzZmI0NDcxMjhlMDIxZDU2OWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9UcmFja1ByaXZhdGVCYXNlR1N0
cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1RyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXIuaApAQCAtNDgsOCArNDgsNiBAQCBwdWJsaWM6CiAg
ICAgICAgIFVua25vd24KICAgICB9OwogCi0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIEF0b21T
dHJpbmcgZ2VuZXJhdGVVbmlxdWVQbGF5YmluMlN0cmVhbUlEKFRyYWNrVHlwZSwgdW5zaWduZWQg
aW5kZXgpOwotCiAgICAgR3N0UGFkKiBwYWQoKSBjb25zdCB7IHJldHVybiBtX3BhZC5nZXQoKTsg
fQogICAgIHZvaWQgc2V0UGFkKEdSZWZQdHI8R3N0UGFkPiYmKTsKIApAQCAtNTcsOSArNTUsMTIg
QEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHNldEFjdGl2ZShib29sKSB7IH0KIAotICAg
IHZvaWQgc2V0SW5kZXgodW5zaWduZWQgaW5kZXgpIHsgbV9pbmRleCA9ICBpbmRleDsgfQorICAg
IHZvaWQgc2V0SW5kZXgoaW50IGluZGV4KSB7IG1faW5kZXggPSAgaW5kZXg7IH0KIAotICAgIEdz
dFN0cmVhbSogc3RyZWFtKCkgeyByZXR1cm4gbV9zdHJlYW0uZ2V0KCk7IH0KKyAgICBHc3RTdHJl
YW0qIHN0cmVhbSgpCisgICAgeworICAgICAgICByZXR1cm4gbV9zdHJlYW0uZ2V0KCk7CisgICAg
fQogCiAgICAgLy8gVXNlZCBmb3IgTVNFLCB3aGVyZSB0aGUgaW5pdGlhbCBjYXBzIG9mIHRoZSBw
YWQgYXJlIHJlbGV2YW50IGZvciBpbml0aWFsaXppbmcgdGhlIG1hdGNoaW5nIHBhZCBpbiB0aGUK
ICAgICAvLyBwbGF5YmFjayBwaXBlbGluZS4KQEAgLTY3LDExICs2OCwxMCBAQCBwdWJsaWM6CiAg
ICAgY29uc3QgR1JlZlB0cjxHc3RDYXBzPiYgaW5pdGlhbENhcHMoKSB7IHJldHVybiBtX2luaXRp
YWxDYXBzOyB9CiAKIHByb3RlY3RlZDoKLSAgICBUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyKFRy
YWNrVHlwZSwgVHJhY2tQcml2YXRlQmFzZSosIHVuc2lnbmVkIGluZGV4LCBHUmVmUHRyPEdzdFBh
ZD4mJik7Ci0gICAgVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcihUcmFja1R5cGUsIFRyYWNrUHJp
dmF0ZUJhc2UqLCB1bnNpZ25lZCBpbmRleCwgR1JlZlB0cjxHc3RTdHJlYW0+JiYpOworICAgIFRy
YWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXIoVHJhY2tQcml2YXRlQmFzZSogb3duZXIsIGdpbnQgaW5k
ZXgsIEdSZWZQdHI8R3N0UGFkPik7CisgICAgVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcihUcmFj
a1ByaXZhdGVCYXNlKiBvd25lciwgZ2ludCBpbmRleCwgR1JlZlB0cjxHc3RTdHJlYW0+KTsKIAog
ICAgIHZvaWQgbm90aWZ5VHJhY2tPZlRhZ3NDaGFuZ2VkKCk7Ci0gICAgdm9pZCBub3RpZnlUcmFj
a09mU3RyZWFtQ2hhbmdlZCgpOwogCiAgICAgZW51bSBNYWluVGhyZWFkTm90aWZpY2F0aW9uIHsK
ICAgICAgICAgVGFnc0NoYW5nZWQgPSAxIDw8IDEsCkBAIC04MCwxNCArODAsMTMgQEAgcHJvdGVj
dGVkOgogICAgIH07CiAKICAgICBSZWY8TWFpblRocmVhZE5vdGlmaWVyPE1haW5UaHJlYWROb3Rp
ZmljYXRpb24+PiBtX25vdGlmaWVyOwotICAgIHVuc2lnbmVkIG1faW5kZXg7CisgICAgZ2ludCBt
X2luZGV4OwogICAgIEF0b21TdHJpbmcgbV9sYWJlbDsKICAgICBBdG9tU3RyaW5nIG1fbGFuZ3Vh
Z2U7Ci0gICAgQXRvbVN0cmluZyBtX2lkOwogICAgIEdSZWZQdHI8R3N0UGFkPiBtX3BhZDsKICAg
ICBHUmVmUHRyPEdzdFBhZD4gbV9iZXN0VXBzdHJlYW1QYWQ7CiAgICAgR1JlZlB0cjxHc3RTdHJl
YW0+IG1fc3RyZWFtOwotICAgIHVuc2lnbmVkIGxvbmcgbV9ldmVudFByb2JlIHsgMCB9OworICAg
IGd1bG9uZyBtX2V2ZW50UHJvYmU7CiAgICAgR1JlZlB0cjxHc3RDYXBzPiBtX2luaXRpYWxDYXBz
OwogCiBwcml2YXRlOgpAQCAtOTYsMTQgKzk1LDExIEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGU8
Y2xhc3MgU3RyaW5nVHlwZT4KICAgICBib29sIGdldFRhZyhHc3RUYWdMaXN0KiB0YWdzLCBjb25z
dCBnY2hhciogdGFnTmFtZSwgU3RyaW5nVHlwZSYgdmFsdWUpOwogCi0gICAgdm9pZCBzdHJlYW1D
aGFuZ2VkKCk7Ci0KICAgICBzdGF0aWMgdm9pZCBhY3RpdmVDaGFuZ2VkQ2FsbGJhY2soVHJhY2tQ
cml2YXRlQmFzZUdTdHJlYW1lciopOwogICAgIHN0YXRpYyB2b2lkIHRhZ3NDaGFuZ2VkQ2FsbGJh
Y2soVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lciopOwogCiAgICAgdm9pZCB0YWdzQ2hhbmdlZCgp
OwogCi0gICAgVHJhY2tUeXBlIG1fdHlwZTsKICAgICBUcmFja1ByaXZhdGVCYXNlKiBtX293bmVy
OwogICAgIExvY2sgbV90YWdNdXRleDsKICAgICBHUmVmUHRyPEdzdFRhZ0xpc3Q+IG1fdGFnczsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9W
aWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvVmlkZW9UcmFja1ByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IGE5
MDI2NzczZTczYWM4MDkyZThmMmYwYWNiMzA3MjdlODdhMmYwNDIuLmU2MWY1NWE1NjBmZjgxZjAz
NWI5MjNiMzI0OTEwODQwNmEwNWZhN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvVHJhY2tQ
cml2YXRlR1N0cmVhbWVyLmNwcApAQCAtMzAsMjYgKzMwLDMxIEBACiAjaW5jbHVkZSAiVmlkZW9U
cmFja1ByaXZhdGVHU3RyZWFtZXIuaCIKIAogI2luY2x1ZGUgIk1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5oIgorI2luY2x1ZGUgPGdsaWItb2JqZWN0Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotVmlkZW9UcmFja1ByaXZhdGVHU3RyZWFtZXI6OlZpZGVvVHJhY2tQcml2YXRlR1N0cmVh
bWVyKFdlYWtQdHI8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiBwbGF5ZXIsIHVuc2lnbmVk
IGluZGV4LCBHUmVmUHRyPEdzdFBhZD4mJiBwYWQpCi0gICAgOiBUcmFja1ByaXZhdGVCYXNlR1N0
cmVhbWVyKFRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXI6OlRyYWNrVHlwZTo6VmlkZW8sIHRoaXMs
IGluZGV4LCBXVEZNb3ZlKHBhZCkpCitWaWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6VmlkZW9U
cmFja1ByaXZhdGVHU3RyZWFtZXIoV2Vha1B0cjxNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI+
IHBsYXllciwgZ2ludCBpbmRleCwgR1JlZlB0cjxHc3RQYWQ+IHBhZCkKKyAgICA6IFRyYWNrUHJp
dmF0ZUJhc2VHU3RyZWFtZXIodGhpcywgaW5kZXgsIHBhZCkKICAgICAsIG1fcGxheWVyKHBsYXll
cikKIHsKKyAgICAvLyBGSVhNRTogR2V0IGEgcmVhbCBJRCBmcm9tIHRoZSB0a2hkIGF0b20uCisg
ICAgbV9pZCA9ICJWIiArIFN0cmluZzo6bnVtYmVyKGluZGV4KTsKIH0KIAotVmlkZW9UcmFja1By
aXZhdGVHU3RyZWFtZXI6OlZpZGVvVHJhY2tQcml2YXRlR1N0cmVhbWVyKFdlYWtQdHI8TWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyPiBwbGF5ZXIsIHVuc2lnbmVkIGluZGV4LCBHUmVmUHRyPEdz
dFN0cmVhbT4mJiBzdHJlYW0pCi0gICAgOiBUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyKFRyYWNr
UHJpdmF0ZUJhc2VHU3RyZWFtZXI6OlRyYWNrVHlwZTo6VmlkZW8sIHRoaXMsIGluZGV4LCBXVEZN
b3ZlKHN0cmVhbSkpCitWaWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6VmlkZW9UcmFja1ByaXZh
dGVHU3RyZWFtZXIoV2Vha1B0cjxNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI+IHBsYXllciwg
Z2ludCBpbmRleCwgR1JlZlB0cjxHc3RTdHJlYW0+IHN0cmVhbSkKKyAgICA6IFRyYWNrUHJpdmF0
ZUJhc2VHU3RyZWFtZXIodGhpcywgaW5kZXgsIHN0cmVhbSkKICAgICAsIG1fcGxheWVyKHBsYXll
cikKIHsKLSAgICBpbnQga2luZDsKKyAgICBnaW50IGtpbmQ7CiAgICAgYXV0byB0YWdzID0gYWRv
cHRHUmVmKGdzdF9zdHJlYW1fZ2V0X3RhZ3MobV9zdHJlYW0uZ2V0KCkpKTsKIAogICAgIGlmICh0
YWdzICYmIGdzdF90YWdfbGlzdF9nZXRfaW50KHRhZ3MuZ2V0KCksICJ3ZWJraXQtbWVkaWEtc3Ry
ZWFtLWtpbmQiLCAma2luZCkgJiYga2luZCA9PSBzdGF0aWNfY2FzdDxpbnQ+KFZpZGVvVHJhY2tQ
cml2YXRlOjpLaW5kOjpNYWluKSkgewotICAgICAgICBhdXRvIHN0cmVhbUZsYWdzID0gZ3N0X3N0
cmVhbV9nZXRfc3RyZWFtX2ZsYWdzKHN0cmVhbS5nZXQoKSk7CisgICAgICAgIEdzdFN0cmVhbUZs
YWdzIHN0cmVhbUZsYWdzID0gZ3N0X3N0cmVhbV9nZXRfc3RyZWFtX2ZsYWdzKHN0cmVhbS5nZXQo
KSk7CiAgICAgICAgIGdzdF9zdHJlYW1fc2V0X3N0cmVhbV9mbGFncyhzdHJlYW0uZ2V0KCksIHN0
YXRpY19jYXN0PEdzdFN0cmVhbUZsYWdzPihzdHJlYW1GbGFncyB8IEdTVF9TVFJFQU1fRkxBR19T
RUxFQ1QpKTsKICAgICB9CisKKyAgICBtX2lkID0gZ3N0X3N0cmVhbV9nZXRfc3RyZWFtX2lkKHN0
cmVhbS5nZXQoKSk7CiB9CiAKIFZpZGVvVHJhY2tQcml2YXRlOjpLaW5kIFZpZGVvVHJhY2tQcml2
YXRlR1N0cmVhbWVyOjpraW5kKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvVHJhY2tQcml2
YXRlR1N0cmVhbWVyLmgKaW5kZXggZTUyYTUwN2M2N2MxMDQzMjA2MjU2OGM2M2M0ZmE2MWEwNjQ5
MjgzYS4uNjM0Y2FhMDRhNGQ0Y2VmOGU0MWYzOTdlYWE5MDdlMTcxNjA0Mjk5MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvVHJhY2tQ
cml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL1ZpZGVvVHJhY2tQcml2YXRlR1N0cmVhbWVyLmgKQEAgLTMxLDYgKzMxLDcgQEAK
ICNpbmNsdWRlICJUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyLmgiCiAjaW5jbHVkZSAiVmlkZW9U
cmFja1ByaXZhdGUuaCIKIAorI2luY2x1ZGUgPGdzdC9nc3QuaD4KICNpbmNsdWRlIDx3dGYvV2Vh
a1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zOCwzMyArMzksMzQgQEAgY2xhc3Mg
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOwogCiBjbGFzcyBWaWRlb1RyYWNrUHJpdmF0ZUdT
dHJlYW1lciBmaW5hbCA6IHB1YmxpYyBWaWRlb1RyYWNrUHJpdmF0ZSwgcHVibGljIFRyYWNrUHJp
dmF0ZUJhc2VHU3RyZWFtZXIgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8VmlkZW9UcmFja1By
aXZhdGVHU3RyZWFtZXI+IGNyZWF0ZShXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
cj4gcGxheWVyLCB1bnNpZ25lZCBpbmRleCwgR1JlZlB0cjxHc3RQYWQ+JiYgcGFkKQorICAgIHN0
YXRpYyBSZWY8VmlkZW9UcmFja1ByaXZhdGVHU3RyZWFtZXI+IGNyZWF0ZShXZWFrUHRyPE1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4gcGxheWVyLCBnaW50IGluZGV4LCBHUmVmUHRyPEdzdFBh
ZD4gcGFkKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVmlkZW9UcmFja1By
aXZhdGVHU3RyZWFtZXIocGxheWVyLCBpbmRleCwgV1RGTW92ZShwYWQpKSk7CisgICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFZpZGVvVHJhY2tQcml2YXRlR1N0cmVhbWVyKHBsYXllciwgaW5k
ZXgsIHBhZCkpOwogICAgIH0KIAotICAgIHN0YXRpYyBSZWY8VmlkZW9UcmFja1ByaXZhdGVHU3Ry
ZWFtZXI+IGNyZWF0ZShXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4gcGxheWVy
LCB1bnNpZ25lZCBpbmRleCwgR1JlZlB0cjxHc3RTdHJlYW0+JiYgc3RyZWFtKQorICAgIHN0YXRp
YyBSZWY8VmlkZW9UcmFja1ByaXZhdGVHU3RyZWFtZXI+IGNyZWF0ZShXZWFrUHRyPE1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lcj4gcGxheWVyLCBnaW50IGluZGV4LCBHUmVmUHRyPEdzdFN0cmVh
bT4gc3RyZWFtKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVmlkZW9UcmFj
a1ByaXZhdGVHU3RyZWFtZXIocGxheWVyLCBpbmRleCwgV1RGTW92ZShzdHJlYW0pKSk7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFZpZGVvVHJhY2tQcml2YXRlR1N0cmVhbWVyKHBsYXll
ciwgaW5kZXgsIHN0cmVhbSkpOwogICAgIH0KIAogICAgIEtpbmQga2luZCgpIGNvbnN0IGZpbmFs
OwogCi0gICAgdm9pZCBkaXNjb25uZWN0KCkgZmluYWw7CisgICAgdm9pZCBkaXNjb25uZWN0KCkg
b3ZlcnJpZGU7CiAKLSAgICB2b2lkIHNldFNlbGVjdGVkKGJvb2wpIGZpbmFsOwotICAgIHZvaWQg
c2V0QWN0aXZlKGJvb2wgZW5hYmxlZCkgZmluYWwgeyBzZXRTZWxlY3RlZChlbmFibGVkKTsgfQor
ICAgIHZvaWQgc2V0U2VsZWN0ZWQoYm9vbCkgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRBY3RpdmUo
Ym9vbCBlbmFibGVkKSBvdmVycmlkZSB7IHNldFNlbGVjdGVkKGVuYWJsZWQpOyB9CiAKLSAgICBp
bnQgdHJhY2tJbmRleCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faW5kZXg7IH0KKyAgICBpbnQg
dHJhY2tJbmRleCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1faW5kZXg7IH0KIAotICAgIEF0
b21TdHJpbmcgaWQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2lkOyB9Ci0gICAgQXRvbVN0cmlu
ZyBsYWJlbCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbGFiZWw7IH0KLSAgICBBdG9tU3RyaW5n
IGxhbmd1YWdlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9sYW5ndWFnZTsgfQorICAgIEF0b21T
dHJpbmcgaWQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2lkOyB9CisgICAgQXRvbVN0cmlu
ZyBsYWJlbCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fbGFiZWw7IH0KKyAgICBBdG9tU3Ry
aW5nIGxhbmd1YWdlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9sYW5ndWFnZTsgfQogCiBw
cml2YXRlOgotICAgIFZpZGVvVHJhY2tQcml2YXRlR1N0cmVhbWVyKFdlYWtQdHI8TWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyPiwgdW5zaWduZWQgaW5kZXgsIEdSZWZQdHI8R3N0UGFkPiYmKTsK
LSAgICBWaWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcihXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lcj4sIHVuc2lnbmVkIGluZGV4LCBHUmVmUHRyPEdzdFN0cmVhbT4mJik7CisgICAg
VmlkZW9UcmFja1ByaXZhdGVHU3RyZWFtZXIoV2Vha1B0cjxNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXI+LCBnaW50IGluZGV4LCBHUmVmUHRyPEdzdFBhZD4pOworICAgIFZpZGVvVHJhY2tQcml2
YXRlR1N0cmVhbWVyKFdlYWtQdHI8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiwgZ2ludCBp
bmRleCwgR1JlZlB0cjxHc3RTdHJlYW0+KTsKIAorICAgIEF0b21TdHJpbmcgbV9pZDsKICAgICBX
ZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4gbV9wbGF5ZXI7CiB9OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>