<?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>254153</bug_id>
          
          <creation_ts>2023-03-20 06:49:06 -0700</creation_ts>
          <short_desc>REGRESSION(261699@main): Probable cause of MM Leaves regression</short_desc>
          <delta_ts>2023-03-21 14:38:48 -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>INVALID</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>
          <dependson>254194</dependson>
          <blocked>253698</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>kkinnunen</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1942524</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2023-03-20 06:49:06 -0700</bug_when>
    <thetext>https://commits.webkit.org/261699@main introduced a regression:
Probable cause of MM Leaves regression

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>1942526</commentid>
    <comment_count>1</comment_count>
      <attachid>465517</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2023-03-20 06:49:11 -0700</bug_when>
    <thetext>Created attachment 465517
REVERT of 261699@main

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>1942529</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-03-20 07:00:27 -0700</bug_when>
    <thetext>Committed 261868@main (f781fb39f514): &lt;https://commits.webkit.org/261868@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 465517.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1942530</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-03-20 07:01:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/106941754&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1942732</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2023-03-20 17:22:30 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 254194</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1942934</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2023-03-21 14:38:48 -0700</bug_when>
    <thetext>The revert was reverted, marking INVALID.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>465517</attachid>
            <date>2023-03-20 06:49:11 -0700</date>
            <delta_ts>2023-03-20 07:00:38 -0700</delta_ts>
            <desc>REVERT of 261699@main</desc>
            <filename>bug-254153-20230320064910.patch</filename>
            <type>text/plain</type>
            <size>38538</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSBiNzI3NmEzNTA4YTZlNDUyNDhiYTg0ZjFiODZhMTBlYmFmMDFkNWQ0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBNb24sIDIwIE1hciAyMDIzIDA2OjQ5OjA4IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0g
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjE2OTlAbWFpbi4KIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yNTQxNTMKClByb2JhYmxlIGNhdXNlIG9mIE1NIExlYXZlcyBy
ZWdyZXNzaW9uCgpSZXZlcnRlZCBjaGFuZ2VzZXQ6CgoiV2ViQ29yZTo6SU9TdXJmYWNlIHNob3Vs
ZCBub3Qgc3RvcmUgYSByZWZlcmVuY2UgdG8gYSBDR0NvbnRleHQiCmh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTM2OTgKaHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcv
MjYxNjk5QG1haW4KLS0tCiAuLi4vc3lzdGVtLXByZXZpZXcvQVJLaXRCYWRnZVN5c3RlbUltYWdl
Lm1tICAgfCAgMyArLQogLi4uL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIu
aCAgIHwgIDQgLS0KIC4uLi9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JT1N1cmZhY2VQb29sLmNwcCAg
ICB8ICAyICsKIC4uLi9jZy9JbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQuY3BwICAgICAgICB8
IDI5ICsrKy0tLS0tLQogLi4uL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVySU9TdXJmYWNlQmFja2Vu
ZC5oIHwgIDQgKy0KIC4uLi9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZhY2UuaCAgICAg
ICB8IDE1ICsrLS0tCiAuLi4vcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvSU9TdXJmYWNlLm1tICAg
ICAgfCA0MCArKysrKysrLS0tLS0KIC4uLi9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdl
QnVmZmVyLmNwcCB8ICA2ICsrCiAuLi4vR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1
ZmZlci5oICAgfCAxMCArKy0KIC4uLi9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNw
cCAgICAgICB8IDE1ICsrKy0tCiAuLi4vV2ViS2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmll
d0lPUy5tbSAgfCAgMyArLQogLi4uL2NvY29hL1dlYkF1dG9tYXRpb25TZXNzaW9uQ29jb2EubW0g
ICAgICAgIHwgIDQgKy0KIC4uLi9VSVByb2Nlc3MvbWFjL1ZpZXdTbmFwc2hvdFN0b3JlTWFjLm1t
ICAgICB8ICA2ICstCiAuLi4vSW1hZ2VCdWZmZXJTaGFyZWFibGVCaXRtYXBCYWNrZW5kLmggICAg
ICAgfCAgMiArCiAuLi5lQnVmZmVyU2hhcmVhYmxlTWFwcGVkSU9TdXJmYWNlQmFja2VuZC5jcHAg
fCAxNiArKy0tLQogLi4uYWdlQnVmZmVyU2hhcmVhYmxlTWFwcGVkSU9TdXJmYWNlQmFja2VuZC5o
IHwgIDIgKwogLi4uL0R1bXBSZW5kZXJUcmVlL2lvcy9QaXhlbER1bXBTdXBwb3J0SU9TLm1tIHwg
IDQgKy0KIC4uLi9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogICB8ICA0
IC0tCiAuLi4vVGVzdHMvV2ViQ29yZS9jb2NvYS9JT1N1cmZhY2VUZXN0cy5tbSAgICAgfCA2MSAt
LS0tLS0tLS0tLS0tLS0tLS0tCiAxOSBmaWxlcyBjaGFuZ2VkLCA4NiBpbnNlcnRpb25zKCspLCAx
NDQgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJDb3JlL2NvY29hL0lPU3VyZmFjZVRlc3RzLm1tCgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zeXN0ZW0tcHJldmlldy9BUktpdEJhZGdlU3lzdGVtSW1hZ2UubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N5c3RlbS1wcmV2aWV3L0FSS2l0QmFkZ2VTeXN0ZW1J
bWFnZS5tbQppbmRleCA1ZTFiMzdkYTZiZTQuLjgwNzA4YTIzZjRlMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zeXN0ZW0tcHJldmlldy9BUktpdEJhZGdlU3lzdGVtSW1hZ2Uu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zeXN0ZW0tcHJldmlldy9BUktpdEJhZGdl
U3lzdGVtSW1hZ2UubW0KQEAgLTIwMCw4ICsyMDAsNyBAQCB2b2lkIEFSS2l0QmFkZ2VTeXN0ZW1J
bWFnZTo6ZHJhdyhHcmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ29udGV4dCwgY29uc3QgRmxvYXRS
ZQogICAgIHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZhY2U+IGJhZGdlU3VyZmFjZSA9IElPU3VyZmFj
ZTo6Y3JlYXRlKCZJT1N1cmZhY2VQb29sOjpzaGFyZWRQb29sKCksIHsgc3VyZmFjZURpbWVuc2lv
biwgc3VyZmFjZURpbWVuc2lvbiB9LCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKSk7CiAg
ICAgSU9TdXJmYWNlUmVmIHN1cmZhY2UgPSBiYWRnZVN1cmZhY2UtPnN1cmZhY2UoKTsKICAgICBb
Y2lDb250ZXh0IHJlbmRlcjp0cmFuc2xhdGVkSW1hZ2UgdG9JT1N1cmZhY2U6c3VyZmFjZSBib3Vu
ZHM6YmFkZ2VSZWN0IGNvbG9yU3BhY2U6c1JHQkNvbG9yU3BhY2VSZWYoKV07Ci0gICAgYXV0byBz
dXJmYWNlQ29udGV4dCA9IGJhZGdlU3VyZmFjZS0+Y3JlYXRlUGxhdGZvcm1Db250ZXh0KCk7Ci0g
ICAgY2dJbWFnZSA9IGJhZGdlU3VyZmFjZS0+Y3JlYXRlSW1hZ2Uoc3VyZmFjZUNvbnRleHQuZ2V0
KCkpOworICAgIGNnSW1hZ2UgPSB1c2VTbWFsbEJhZGdlID8gYmFkZ2VTdXJmYWNlLT5jcmVhdGVJ
bWFnZSgpIDogYmFkZ2VTdXJmYWNlLT5jcmVhdGVJbWFnZSgpOwogI2Vsc2UKICAgICBjZ0ltYWdl
ID0gYWRvcHRDRihbY2lDb250ZXh0IGNyZWF0ZUNHSW1hZ2U6c291cmNlT3ZlckZpbHRlci5vdXRw
dXRJbWFnZSBmcm9tUmVjdDpmbGlwcGVkSW5zZXRCYWRnZVJlY3RdKTsKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKaW5kZXggODMzYjg4
MDE5NDNiLi4yM2FhY2NjYmMzZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2VCdWZmZXIuaApAQCAtMjksNyArMjksNiBAQAogCiAjaW5jbHVkZSAiSW1hZ2VC
dWZmZXJBbGxvY2F0b3IuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlckJhY2tlbmQuaCIKLSNpbmNs
dWRlICJQcm9jZXNzSWRlbnRpdHkuaCIKICNpbmNsdWRlICJSZW5kZXJpbmdNb2RlLmgiCiAjaW5j
bHVkZSAiUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSA8d3RmL09wdGlv
blNldC5oPgpAQCAtNjgsNyArNjcsNiBAQCBzdHJ1Y3QgSW1hZ2VCdWZmZXJDcmVhdGlvbkNvbnRl
eHQgewogICAgIGVudW0gY2xhc3MgVXNlQ0dEaXNwbGF5TGlzdEltYWdlQ2FjaGUgOiBib29sIHsg
Tm8sIFllcyB9OwogICAgIFVzZUNHRGlzcGxheUxpc3RJbWFnZUNhY2hlIHVzZUNHRGlzcGxheUxp
c3RJbWFnZUNhY2hlOwogI2VuZGlmCi0gICAgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aXR5IHJlc291
cmNlT3duZXI7CiAKICAgICBJbWFnZUJ1ZmZlckNyZWF0aW9uQ29udGV4dChHcmFwaGljc0NsaWVu
dCogY2xpZW50ID0gbnVsbHB0cgogI2lmIEhBVkUoSU9TVVJGQUNFKQpAQCAtNzgsNyArNzYsNiBA
QCBzdHJ1Y3QgSW1hZ2VCdWZmZXJDcmVhdGlvbkNvbnRleHQgewogI2lmIEVOQUJMRShDR19ESVNQ
TEFZX0xJU1RfQkFDS0VEX0lNQUdFX0JVRkZFUikKICAgICAgICAgLCBVc2VDR0Rpc3BsYXlMaXN0
SW1hZ2VDYWNoZSB1c2VDR0Rpc3BsYXlMaXN0SW1hZ2VDYWNoZSA9IFVzZUNHRGlzcGxheUxpc3RJ
bWFnZUNhY2hlOjpObwogI2VuZGlmCi0gICAgICAgICwgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aXR5
IHJlc291cmNlT3duZXIgPSB7IH0KICAgICApCiAgICAgICAgIDogZ3JhcGhpY3NDbGllbnQoY2xp
ZW50KQogI2lmIEhBVkUoSU9TVVJGQUNFKQpAQCAtODgsNyArODUsNiBAQCBzdHJ1Y3QgSW1hZ2VC
dWZmZXJDcmVhdGlvbkNvbnRleHQgewogI2lmIEVOQUJMRShDR19ESVNQTEFZX0xJU1RfQkFDS0VE
X0lNQUdFX0JVRkZFUikKICAgICAgICAgLCB1c2VDR0Rpc3BsYXlMaXN0SW1hZ2VDYWNoZSh1c2VD
R0Rpc3BsYXlMaXN0SW1hZ2VDYWNoZSkKICNlbmRpZgotICAgICAgICAsIHJlc291cmNlT3duZXIo
cmVzb3VyY2VPd25lcikKICAgICB7IH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvSU9TdXJmYWNlUG9vbC5jcHAKaW5kZXggMDljY2U1NmM3NzBm
Li5mYzRhNjEyZmViYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NnL0lPU3VyZmFjZVBvb2wuY3BwCkBAIC04OSw2ICs4OSw4IEBAIHZvaWQgSU9TdXJm
YWNlUG9vbDo6d2lsbEFkZFN1cmZhY2UoSU9TdXJmYWNlJiBzdXJmYWNlLCBib29sIGluVXNlKQog
ICAgIENhY2hlZFN1cmZhY2VEZXRhaWxzJiBkZXRhaWxzID0gbV9zdXJmYWNlRGV0YWlscy5hZGQo
JnN1cmZhY2UsIENhY2hlZFN1cmZhY2VEZXRhaWxzKCkpLml0ZXJhdG9yLT52YWx1ZTsKICAgICBk
ZXRhaWxzLnJlc2V0TGFzdFVzZVRpbWUoKTsKIAorICAgIHN1cmZhY2UucmVsZWFzZVBsYXRmb3Jt
Q29udGV4dCgpOworCiAgICAgc2l6ZV90IHN1cmZhY2VCeXRlcyA9IHN1cmZhY2UudG90YWxCeXRl
cygpOwogCiAgICAgZXZpY3Qoc3VyZmFjZUJ5dGVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlcklPU3VyZmFj
ZUJhY2tlbmQuY3BwCmluZGV4IGQzZmMwY2Q5MTQ3Zi4uMjBiNjE5ZmRiMGE4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlcklPU3VyZmFj
ZUJhY2tlbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lt
YWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZC5jcHAKQEAgLTg1LDE5ICs4NSwxOCBAQCBzdGQ6OnVu
aXF1ZV9wdHI8SW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kPiBJbWFnZUJ1ZmZlcklPU3VyZmFj
ZUJhY2tlbmQ6OmNyZWF0ZQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGF1dG8gZGlz
cGxheUlEID0gY3JlYXRpb25Db250ZXh0LmdyYXBoaWNzQ2xpZW50ID8gY3JlYXRpb25Db250ZXh0
LmdyYXBoaWNzQ2xpZW50LT5kaXNwbGF5SUQoKSA6IDA7Ci0gICAgUmV0YWluUHRyPENHQ29udGV4
dFJlZj4gY2dDb250ZXh0ID0gc3VyZmFjZS0+Y3JlYXRlUGxhdGZvcm1Db250ZXh0KGRpc3BsYXlJ
RCk7CisgICAgUmV0YWluUHRyPENHQ29udGV4dFJlZj4gY2dDb250ZXh0ID0gc3VyZmFjZS0+ZW5z
dXJlUGxhdGZvcm1Db250ZXh0KGRpc3BsYXlJRCk7CiAgICAgaWYgKCFjZ0NvbnRleHQpCiAgICAg
ICAgIHJldHVybiBudWxscHRyOwogCiAgICAgQ0dDb250ZXh0Q2xlYXJSZWN0KGNnQ29udGV4dC5n
ZXQoKSwgRmxvYXRSZWN0KEZsb2F0UG9pbnQ6Onplcm8oKSwgYmFja2VuZFNpemUpKTsKIAotICAg
IHJldHVybiBtYWtlVW5pcXVlPEltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZD4ocGFyYW1ldGVy
cywgV1RGTW92ZShzdXJmYWNlKSwgV1RGTW92ZShjZ0NvbnRleHQpLCBkaXNwbGF5SUQsIGNyZWF0
aW9uQ29udGV4dC5zdXJmYWNlUG9vbCk7CisgICAgcmV0dXJuIG1ha2VVbmlxdWU8SW1hZ2VCdWZm
ZXJJT1N1cmZhY2VCYWNrZW5kPihwYXJhbWV0ZXJzLCBXVEZNb3ZlKHN1cmZhY2UpLCBkaXNwbGF5
SUQsIGNyZWF0aW9uQ29udGV4dC5zdXJmYWNlUG9vbCk7CiB9CiAKLUltYWdlQnVmZmVySU9TdXJm
YWNlQmFja2VuZDo6SW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kKGNvbnN0IFBhcmFtZXRlcnMm
IHBhcmFtZXRlcnMsIHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZhY2U+IHN1cmZhY2UsIFJldGFpblB0
cjxDR0NvbnRleHRSZWY+IHBsYXRmb3JtQ29udGV4dCwgUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxh
eUlELCBJT1N1cmZhY2VQb29sKiBpb1N1cmZhY2VQb29sKQorSW1hZ2VCdWZmZXJJT1N1cmZhY2VC
YWNrZW5kOjpJbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQoY29uc3QgUGFyYW1ldGVycyYgcGFy
YW1ldGVycywgc3RkOjp1bmlxdWVfcHRyPElPU3VyZmFjZT4mJiBzdXJmYWNlLCBQbGF0Zm9ybURp
c3BsYXlJRCBkaXNwbGF5SUQsIElPU3VyZmFjZVBvb2wqIGlvU3VyZmFjZVBvb2wpCiAgICAgOiBJ
bWFnZUJ1ZmZlckNHQmFja2VuZChwYXJhbWV0ZXJzKQogICAgICwgbV9zdXJmYWNlKFdURk1vdmUo
c3VyZmFjZSkpCi0gICAgLCBtX3BsYXRmb3JtQ29udGV4dChXVEZNb3ZlKHBsYXRmb3JtQ29udGV4
dCkpCiAgICAgLCBtX2Rpc3BsYXlJRChkaXNwbGF5SUQpCiAgICAgLCBtX2lvU3VyZmFjZVBvb2wo
aW9TdXJmYWNlUG9vbCkKIHsKQEAgLTEwOCwxNSArMTA3LDEzIEBAIEltYWdlQnVmZmVySU9TdXJm
YWNlQmFja2VuZDo6SW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kKGNvbnN0IFBhcmFtZXRlcnMm
IHBhcmFtCiBJbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQ6On5JbWFnZUJ1ZmZlcklPU3VyZmFj
ZUJhY2tlbmQoKQogewogICAgIGVuc3VyZU5hdGl2ZUltYWdlc0hhdmVDb3BpZWRCYWNraW5nU3Rv
cmUoKTsKLSAgICByZWxlYXNlR3JhcGhpY3NDb250ZXh0KCk7CiAgICAgSU9TdXJmYWNlOjptb3Zl
VG9Qb29sKFdURk1vdmUobV9zdXJmYWNlKSwgbV9pb1N1cmZhY2VQb29sLmdldCgpKTsKIH0KIAot
CiBHcmFwaGljc0NvbnRleHQmIEltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZDo6Y29udGV4dCgp
CiB7CiAgICAgaWYgKCFtX2NvbnRleHQpIHsKLSAgICAgICAgbV9jb250ZXh0ID0gbWFrZVVuaXF1
ZTxHcmFwaGljc0NvbnRleHRDRz4oZW5zdXJlUGxhdGZvcm1Db250ZXh0KCkpOworICAgICAgICBt
X2NvbnRleHQgPSBtYWtlVW5pcXVlPEdyYXBoaWNzQ29udGV4dENHPihtX3N1cmZhY2UtPmVuc3Vy
ZVBsYXRmb3JtQ29udGV4dChtX2Rpc3BsYXlJRCkpOwogICAgICAgICBhcHBseUJhc2VUcmFuc2Zv
cm0oKm1fY29udGV4dCk7CiAgICAgfQogICAgIHJldHVybiAqbV9jb250ZXh0OwpAQCAtMTI3LDE1
ICsxMjQsNiBAQCB2b2lkIEltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZDo6Zmx1c2hDb250ZXh0
KCkKICAgICBDR0NvbnRleHRGbHVzaChjb250ZXh0KCkucGxhdGZvcm1Db250ZXh0KCkpOwogfQog
Ci1DR0NvbnRleHRSZWYgSW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kOjplbnN1cmVQbGF0Zm9y
bUNvbnRleHQoKQotewotICAgIGlmICghbV9wbGF0Zm9ybUNvbnRleHQpIHsKLSAgICAgICAgbV9w
bGF0Zm9ybUNvbnRleHQgPSBtX3N1cmZhY2UtPmNyZWF0ZVBsYXRmb3JtQ29udGV4dChtX2Rpc3Bs
YXlJRCk7Ci0gICAgICAgIFJFTEVBU0VfQVNTRVJUKG1fcGxhdGZvcm1Db250ZXh0KTsKLSAgICB9
Ci0gICAgcmV0dXJuIG1fcGxhdGZvcm1Db250ZXh0LmdldCgpOwotfQotCiBJbnRTaXplIEltYWdl
QnVmZmVySU9TdXJmYWNlQmFja2VuZDo6YmFja2VuZFNpemUoKSBjb25zdAogewogICAgIHJldHVy
biBtX3N1cmZhY2UtPnNpemUoKTsKQEAgLTE2NSw3ICsxNTMsNyBAQCB2b2lkIEltYWdlQnVmZmVy
SU9TdXJmYWNlQmFja2VuZDo6aW52YWxpZGF0ZUNhY2hlZE5hdGl2ZUltYWdlKCkKIFJlZlB0cjxO
YXRpdmVJbWFnZT4gSW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kOjpjb3B5TmF0aXZlSW1hZ2Uo
QmFja2luZ1N0b3JlQ29weSkKIHsKICAgICBtX21heUhhdmVPdXRzdGFuZGluZ0JhY2tpbmdTdG9y
ZVJlZmVyZW5jZXMgPSB0cnVlOwotICAgIHJldHVybiBOYXRpdmVJbWFnZTo6Y3JlYXRlKG1fc3Vy
ZmFjZS0+Y3JlYXRlSW1hZ2UoZW5zdXJlUGxhdGZvcm1Db250ZXh0KCkpKTsKKyAgICByZXR1cm4g
TmF0aXZlSW1hZ2U6OmNyZWF0ZShtX3N1cmZhY2UtPmNyZWF0ZUltYWdlKCkpOwogfQogCiBSZWZQ
dHI8TmF0aXZlSW1hZ2U+IEltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZDo6Y29weU5hdGl2ZUlt
YWdlRm9yRHJhd2luZyhHcmFwaGljc0NvbnRleHQmIGRlc3RpbmF0aW9uKQpAQCAtMTc1LDcgKzE2
Myw3IEBAIFJlZlB0cjxOYXRpdmVJbWFnZT4gSW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kOjpj
b3B5TmF0aXZlSW1hZ2VGb3JEcmF3aW5nKEdyYXBoCiAgICAgICAgIC8vIFRoZSBkZXN0aW5hdGlv
biBiYWNrZW5kIG5lZWRzIHRvIHJlYWQgdGhlIGFjdHVhbCBwaXhlbHMuIFJldHVybmluZyBub24t
cmVmZW5jZSB3aWxsCiAgICAgICAgIC8vIGNvcHkgdGhlIHBpeGVscyBhbmQgYnV0IHN0aWxsIGNh
Y2hlIHRoZSBpbWFnZSB0byB0aGUgY29udGV4dC4gVGhpcyBtZWFucyB3ZSBtdXN0CiAgICAgICAg
IC8vIHJldHVybiB0aGUgcmVmZXJlbmNlIG9yIGNsZWFudXAgbGF0ZXIgaWYgd2UgcmV0dXJuIHRo
ZSBub24tcmVmZXJlbmNlLgotICAgICAgICBpZiAoYXV0byBpbWFnZSA9IGFkb3B0Q0YoQ0dJT1N1
cmZhY2VDb250ZXh0Q3JlYXRlSW1hZ2VSZWZlcmVuY2UoZW5zdXJlUGxhdGZvcm1Db250ZXh0KCkp
KSkgeworICAgICAgICBpZiAoYXV0byBpbWFnZSA9IGFkb3B0Q0YoQ0dJT1N1cmZhY2VDb250ZXh0
Q3JlYXRlSW1hZ2VSZWZlcmVuY2UobV9zdXJmYWNlLT5lbnN1cmVQbGF0Zm9ybUNvbnRleHQoKSkp
KSB7CiAgICAgICAgICAgICAvLyBDRyBoYXMgaW50ZXJuYWwgY2FjaGVzIGZvciBzb21lIG9wZXJh
dGlvbnMgcmVsYXRlZCB0byBzb2Z0d2FyZSBiaXRtYXAgZHJhdy4gCiAgICAgICAgICAgICAvLyBP
bmUgb2YgdGhlc2UgY2FjaGVzIGFyZSBwZXItaW1hZ2UgY29sb3IgbWF0Y2hpbmcgY2FjaGUuIFNp
bmNlIHRoZXNlIHdpbGwgbm90IGdldCBhbnkgaGl0cwogICAgICAgICAgICAgLy8gZnJvbSBhbiBp
bWFnZSB0aGF0IGlzIHJlY3JlYXRlZCBldmVyeSB0aW1lLCBtYXJrIHRoZSBpbWFnZSB0cmFuc2ll
bnQgdG8gc2tpcCB0aGVzZSBjYWNoZXMuCkBAIC0xOTEsOCArMTc5LDcgQEAgUmVmUHRyPE5hdGl2
ZUltYWdlPiBJbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQ6OmNvcHlOYXRpdmVJbWFnZUZvckRy
YXdpbmcoR3JhcGgKIAogUmVmUHRyPE5hdGl2ZUltYWdlPiBJbWFnZUJ1ZmZlcklPU3VyZmFjZUJh
Y2tlbmQ6OnNpbmtJbnRvTmF0aXZlSW1hZ2UoKQogewotICAgIGVuc3VyZVBsYXRmb3JtQ29udGV4
dCgpOwotICAgIHJldHVybiBOYXRpdmVJbWFnZTo6Y3JlYXRlKElPU3VyZmFjZTo6c2lua0ludG9J
bWFnZShXVEZNb3ZlKG1fc3VyZmFjZSksIFdURk1vdmUobV9wbGF0Zm9ybUNvbnRleHQpKSk7Cisg
ICAgcmV0dXJuIE5hdGl2ZUltYWdlOjpjcmVhdGUoSU9TdXJmYWNlOjpzaW5rSW50b0ltYWdlKFdU
Rk1vdmUobV9zdXJmYWNlKSkpOwogfQogCiBSZWZQdHI8UGl4ZWxCdWZmZXI+IEltYWdlQnVmZmVy
SU9TdXJmYWNlQmFja2VuZDo6Z2V0UGl4ZWxCdWZmZXIoY29uc3QgUGl4ZWxCdWZmZXJGb3JtYXQm
IG91dHB1dEZvcm1hdCwgY29uc3QgSW50UmVjdCYgc3JjUmVjdCwgY29uc3QgSW1hZ2VCdWZmZXJB
bGxvY2F0b3ImIGFsbG9jYXRvcikKQEAgLTIyMyw3ICsyMTAsNyBAQCBib29sIEltYWdlQnVmZmVy
SU9TdXJmYWNlQmFja2VuZDo6aXNJblVzZSgpIGNvbnN0CiB2b2lkIEltYWdlQnVmZmVySU9TdXJm
YWNlQmFja2VuZDo6cmVsZWFzZUdyYXBoaWNzQ29udGV4dCgpCiB7CiAgICAgbV9jb250ZXh0ID0g
bnVsbHB0cjsKLSAgICBtX3BsYXRmb3JtQ29udGV4dCA9IG51bGxwdHI7CisgICAgbV9zdXJmYWNl
LT5yZWxlYXNlUGxhdGZvcm1Db250ZXh0KCk7CiB9CiAKIGJvb2wgSW1hZ2VCdWZmZXJJT1N1cmZh
Y2VCYWNrZW5kOjpzZXRWb2xhdGlsZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZC5o
CmluZGV4IDcwODMwMzQ0OTFkYS4uMjEzNTlhZjE3M2U2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUJ1ZmZlcklPU3Vy
ZmFjZUJhY2tlbmQuaApAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgc3Rk
Ojp1bmlxdWVfcHRyPEltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZD4gY3JlYXRlKGNvbnN0IFBh
cmFtZXRlcnMmLCBjb25zdCBJbWFnZUJ1ZmZlckNyZWF0aW9uQ29udGV4dCYpOwogCi0gICAgSW1h
Z2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kKGNvbnN0IFBhcmFtZXRlcnMmLCBzdGQ6OnVuaXF1ZV9w
dHI8SU9TdXJmYWNlPiwgUmV0YWluUHRyPENHQ29udGV4dFJlZj4gcGxhdGZvcm1Db250ZXh0LCBQ
bGF0Zm9ybURpc3BsYXlJRCwgSU9TdXJmYWNlUG9vbCopOworICAgIEltYWdlQnVmZmVySU9TdXJm
YWNlQmFja2VuZChjb25zdCBQYXJhbWV0ZXJzJiwgc3RkOjp1bmlxdWVfcHRyPElPU3VyZmFjZT4m
JiwgUGxhdGZvcm1EaXNwbGF5SUQsIElPU3VyZmFjZVBvb2wqKTsKICAgICB+SW1hZ2VCdWZmZXJJ
T1N1cmZhY2VCYWNrZW5kKCk7CiAgICAgCiAgICAgc3RhdGljIGNvbnN0ZXhwciBSZW5kZXJpbmdN
b2RlIHJlbmRlcmluZ01vZGUgPSBSZW5kZXJpbmdNb2RlOjpBY2NlbGVyYXRlZDsKQEAgLTU2LDcg
KzU2LDYgQEAgcHVibGljOgogICAgIHZvaWQgZmx1c2hDb250ZXh0KCkgb3ZlcnJpZGU7CiAKIHBy
b3RlY3RlZDoKLSAgICBDR0NvbnRleHRSZWYgZW5zdXJlUGxhdGZvcm1Db250ZXh0KCk7CiAgICAg
SW50U2l6ZSBiYWNrZW5kU2l6ZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIAogICAgIFJlZlB0cjxO
YXRpdmVJbWFnZT4gY29weU5hdGl2ZUltYWdlKEJhY2tpbmdTdG9yZUNvcHkgPSBDb3B5QmFja2lu
Z1N0b3JlKSBvdmVycmlkZTsKQEAgLTg1LDcgKzg0LDYgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQg
cHJlcGFyZUZvckV4dGVybmFsV3JpdGUoKTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZh
Y2U+IG1fc3VyZmFjZTsKLSAgICBSZXRhaW5QdHI8Q0dDb250ZXh0UmVmPiBtX3BsYXRmb3JtQ29u
dGV4dDsKICAgICBib29sIG1fbWF5SGF2ZU91dHN0YW5kaW5nQmFja2luZ1N0b3JlUmVmZXJlbmNl
cyB7IGZhbHNlIH07CiAgICAgVm9sYXRpbGl0eVN0YXRlIG1fdm9sYXRpbGl0eVN0YXRlIHsgVm9s
YXRpbGl0eVN0YXRlOjpOb25Wb2xhdGlsZSB9OwogICAgIGNvbnN0IFBsYXRmb3JtRGlzcGxheUlE
IG1fZGlzcGxheUlEOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvSU9TdXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9JT1N1cmZhY2UuaAppbmRleCBjNjVmMDkzNjgyNzkuLjA5ZTUwOGU1ZDJmMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvSU9TdXJmYWNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvSU9TdXJmYWNlLmgK
QEAgLTEyMSwxMSArMTIxLDkgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIFdURjo6TWFj
aFNlbmRSaWdodCBjcmVhdGVTZW5kUmlnaHQoKSBjb25zdDsKIAogICAgIC8vIEFueSBpbWFnZXMg
Y3JlYXRlZCBmcm9tIGEgc3VyZmFjZSBuZWVkIHRvIGJlIHJlbGVhc2VkIGJlZm9yZSByZWxlYXNp
bmcKLSAgICAvLyB0aGUgY29udGV4dCwgb3IgYW4gZXhwZW5zaXZlIEdQVSByZWFkYmFjayBjYW4g
cmVzdWx0LgotICAgIC8vIFBhc3NlZCBpbiBjb250ZXh0IGlzIHRoZSBjb250ZXh0IHRocm91Z2gg
d2hpY2ggdGhlIGNvbnRlbnRzIHdhcyBkcmF3bi4KLSAgICBXRUJDT1JFX0VYUE9SVCBSZXRhaW5Q
dHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2UoQ0dDb250ZXh0UmVmKTsKLSAgICAvLyBQYXNzZWQg
aW4gY29udGV4dCBpcyB0aGUgY29udGV4dCB0aHJvdWdoIHdoaWNoIHRoZSBjb250ZW50cyB3YXMg
ZHJhd24uCi0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJldGFpblB0cjxDR0ltYWdlUmVmPiBz
aW5rSW50b0ltYWdlKHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZhY2U+LCBSZXRhaW5QdHI8Q0dDb250
ZXh0UmVmPik7CisgICAgLy8gdGhlIHN1cmZhY2UsIG9yIGFuIGV4cGVuc2l2ZSBHUFUgcmVhZGJh
Y2sgY2FuIHJlc3VsdC4KKyAgICBXRUJDT1JFX0VYUE9SVCBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4g
Y3JlYXRlSW1hZ2UoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmV0YWluUHRyPENHSW1h
Z2VSZWY+IHNpbmtJbnRvSW1hZ2Uoc3RkOjp1bmlxdWVfcHRyPElPU3VyZmFjZT4pOwogCiAjaWZk
ZWYgX19PQkpDX18KICAgICBpZCBhc0xheWVyQ29udGVudHMoKSBjb25zdCB7IHJldHVybiAoX19i
cmlkZ2UgaWQpbV9zdXJmYWNlLmdldCgpOyB9CkBAIC0xMzMsOCArMTMxLDEwIEBAIHB1YmxpYzoK
ICAgICBXRUJDT1JFX0VYUE9SVCBSZXRhaW5QdHI8aWQ+IGFzQ0FJT1N1cmZhY2VMYXllckNvbnRl
bnRzKCkgY29uc3Q7CiAKICAgICBJT1N1cmZhY2VSZWYgc3VyZmFjZSgpIGNvbnN0IHsgcmV0dXJu
IG1fc3VyZmFjZS5nZXQoKTsgfQotCi0gICAgV0VCQ09SRV9FWFBPUlQgUmV0YWluUHRyPENHQ29u
dGV4dFJlZj4gY3JlYXRlUGxhdGZvcm1Db250ZXh0KFBsYXRmb3JtRGlzcGxheUlEID0gMCk7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgQ0dDb250ZXh0UmVmIGVuc3VyZVBsYXRmb3JtQ29udGV4dChQbGF0
Zm9ybURpc3BsYXlJRCA9IDApOworICAgIC8vIFRoZSBncmFwaGljcyBjb250ZXh0IGNhY2hlZCBv
biB0aGUgc3VyZmFjZSBjb3VudHMgYXMgYSAidXNlciIsIHNvIHRvIGdldAorICAgIC8vIGFuIGFj
Y3VyYXRlIHJlc3VsdCBmcm9tIGlzSW5Vc2UoKSwgaXQgbmVlZHMgdG8gYmUgcmVsZWFzZWQuCisg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZWxlYXNlUGxhdGZvcm1Db250ZXh0KCk7CiAKICAgICAv
LyBRdWVyeWluZyB2b2xhdGlsaXR5IGNhbiBiZSBleHBlbnNpdmUsIHNvIGluIGNhc2VzIHdoZXJl
IHRoZSBzdXJmYWNlIGlzCiAgICAgLy8gZ29pbmcgdG8gYmUgdXNlZCBpbW1lZGlhdGVseSwgdXNl
IHRoZSByZXR1cm4gdmFsdWUgb2Ygc2V0Vm9sYXRpbGUgdG8KQEAgLTE4Nyw2ICsxODcsNyBAQCBw
cml2YXRlOgogICAgIHNpemVfdCBtX3RvdGFsQnl0ZXM7CiAKICAgICBQcm9jZXNzSWRlbnRpdHkg
bV9yZXNvdXJjZU93bmVyOworICAgIFJldGFpblB0cjxDR0NvbnRleHRSZWY+IG1fY2dDb250ZXh0
OwogCiAgICAgUmV0YWluUHRyPElPU3VyZmFjZVJlZj4gbV9zdXJmYWNlOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZhY2UubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZhY2UubW0KaW5kZXgg
MDUxMjUwNjE5NjRjLi4xZmFjZGJlZDY2ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZhY2UubW0KQEAgLTI3LDYgKzI3LDcgQEAKICNp
bXBvcnQgIklPU3VyZmFjZS5oIgogCiAjaW1wb3J0ICJEZXN0aW5hdGlvbkNvbG9yU3BhY2UuaCIK
KyNpbXBvcnQgIkdyYXBoaWNzQ29udGV4dENHLmgiCiAjaW1wb3J0ICJIb3N0V2luZG93LmgiCiAj
aW1wb3J0ICJJT1N1cmZhY2VQb29sLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCkBAIC01MSw2ICs1
Miw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxJT1N1cmZhY2U+IElPU3VyZmFjZTo6Y3JlYXRlKElPU3Vy
ZmFjZVBvb2wqIHBvb2wsIEludFNpemUgc2l6ZSwKIAogICAgIGlmIChwb29sKSB7CiAgICAgICAg
IGlmIChhdXRvIGNhY2hlZFN1cmZhY2UgPSBwb29sLT50YWtlU3VyZmFjZShzaXplLCBjb2xvclNw
YWNlLCBwaXhlbEZvcm1hdCkpIHsKKyAgICAgICAgICAgIGNhY2hlZFN1cmZhY2UtPnJlbGVhc2VQ
bGF0Zm9ybUNvbnRleHQoKTsKICAgICAgICAgICAgIExPR19XSVRIX1NUUkVBTShJT1N1cmZhY2Us
IHN0cmVhbSA8PCAiSU9TdXJmYWNlOjpjcmVhdGUgdG9vayBmcm9tIHBvb2w6ICIgPDwgKmNhY2hl
ZFN1cmZhY2UpOwogICAgICAgICAgICAgcmV0dXJuIGNhY2hlZFN1cmZhY2U7CiAgICAgICAgIH0K
QEAgLTk0LDggKzk2LDkgQEAgc3RkOjp1bmlxdWVfcHRyPElPU3VyZmFjZT4gSU9TdXJmYWNlOjpj
cmVhdGVGcm9tSW1hZ2UoSU9TdXJmYWNlUG9vbCogcG9vbCwgQ0dJbWEKICAgICBhdXRvIHN1cmZh
Y2UgPSBJT1N1cmZhY2U6OmNyZWF0ZShwb29sLCBJbnRTaXplKHdpZHRoLCBoZWlnaHQpLCBEZXN0
aW5hdGlvbkNvbG9yU3BhY2UgeyBDR0ltYWdlR2V0Q29sb3JTcGFjZShpbWFnZSkgfSk7CiAgICAg
aWYgKCFzdXJmYWNlKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICBhdXRvIGNvbnRleHQg
PSBzdXJmYWNlLT5jcmVhdGVQbGF0Zm9ybUNvbnRleHQoKTsKLSAgICBDR0NvbnRleHREcmF3SW1h
Z2UoY29udGV4dC5nZXQoKSwgQ0dSZWN0TWFrZSgwLCAwLCB3aWR0aCwgaGVpZ2h0KSwgaW1hZ2Up
OworICAgIGF1dG8gc3VyZmFjZUNvbnRleHQgPSBzdXJmYWNlLT5lbnN1cmVQbGF0Zm9ybUNvbnRl
eHQoKTsKKyAgICBDR0NvbnRleHREcmF3SW1hZ2Uoc3VyZmFjZUNvbnRleHQsIENHUmVjdE1ha2Uo
MCwgMCwgd2lkdGgsIGhlaWdodCksIGltYWdlKTsKKyAgICBDR0NvbnRleHRGbHVzaChzdXJmYWNl
Q29udGV4dCk7CiAgICAgcmV0dXJuIHN1cmZhY2U7CiB9CiAKQEAgLTM0NSwxNyArMzQ4LDE0IEBA
IFJldGFpblB0cjxpZD4gSU9TdXJmYWNlOjphc0NBSU9TdXJmYWNlTGF5ZXJDb250ZW50cygpIGNv
bnN0CiAgICAgcmV0dXJuIG5pbDsKIH0KIAotUmV0YWluUHRyPENHSW1hZ2VSZWY+IElPU3VyZmFj
ZTo6Y3JlYXRlSW1hZ2UoQ0dDb250ZXh0UmVmIGNvbnRleHQpCitSZXRhaW5QdHI8Q0dJbWFnZVJl
Zj4gSU9TdXJmYWNlOjpjcmVhdGVJbWFnZSgpCiB7Ci0gICAgQVNTRVJUKENHSU9TdXJmYWNlQ29u
dGV4dEdldFN1cmZhY2UoY29udGV4dCkgPT0gbV9zdXJmYWNlKTsKLSAgICByZXR1cm4gYWRvcHRD
RihDR0lPU3VyZmFjZUNvbnRleHRDcmVhdGVJbWFnZShjb250ZXh0KSk7CisgICAgcmV0dXJuIGFk
b3B0Q0YoQ0dJT1N1cmZhY2VDb250ZXh0Q3JlYXRlSW1hZ2UoZW5zdXJlUGxhdGZvcm1Db250ZXh0
KCkpKTsKIH0KIAotUmV0YWluUHRyPENHSW1hZ2VSZWY+IElPU3VyZmFjZTo6c2lua0ludG9JbWFn
ZShzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiBzdXJmYWNlLCBSZXRhaW5QdHI8Q0dDb250ZXh0
UmVmPiBjb250ZXh0KQorUmV0YWluUHRyPENHSW1hZ2VSZWY+IElPU3VyZmFjZTo6c2lua0ludG9J
bWFnZShzdGQ6OnVuaXF1ZV9wdHI8SU9TdXJmYWNlPiBzdXJmYWNlKQogewotICAgIEFTU0VSVChD
R0lPU3VyZmFjZUNvbnRleHRHZXRTdXJmYWNlKGNvbnRleHQuZ2V0KCkpID09IHN1cmZhY2UtPm1f
c3VyZmFjZSk7Ci0gICAgVU5VU0VEX1BBUkFNKHN1cmZhY2UpOwotICAgIHJldHVybiBhZG9wdENG
KENHSU9TdXJmYWNlQ29udGV4dENyZWF0ZUltYWdlUmVmZXJlbmNlKGNvbnRleHQuZ2V0KCkpKTsK
KyAgICByZXR1cm4gYWRvcHRDRihDR0lPU3VyZmFjZUNvbnRleHRDcmVhdGVJbWFnZVJlZmVyZW5j
ZShzdXJmYWNlLT5lbnN1cmVQbGF0Zm9ybUNvbnRleHQoKSkpOwogfQogCiBJT1N1cmZhY2U6OkJp
dG1hcENvbmZpZ3VyYXRpb24gSU9TdXJmYWNlOjpiaXRtYXBDb25maWd1cmF0aW9uKCkgY29uc3QK
QEAgLTM5OSwyMCArMzk5LDIzIEBAIFJldGFpblB0cjxDR0NvbnRleHRSZWY+IElPU3VyZmFjZTo6
Y3JlYXRlQ29tcGF0aWJsZUJpdG1hcCh1bnNpZ25lZCB3aWR0aCwgdW5zaWduCiAgICAgcmV0dXJu
IGFkb3B0Q0YoQ0dCaXRtYXBDb250ZXh0Q3JlYXRlKE5VTEwsIHdpZHRoLCBoZWlnaHQsIGNvbmZp
Z3VyYXRpb24uYml0c1BlckNvbXBvbmVudCwgYnl0ZXNQZXJSb3csIG1fY29sb3JTcGFjZS0+cGxh
dGZvcm1Db2xvclNwYWNlKCksIGNvbmZpZ3VyYXRpb24uYml0bWFwSW5mbykpOwogfQogCi1SZXRh
aW5QdHI8Q0dDb250ZXh0UmVmPiBJT1N1cmZhY2U6OmNyZWF0ZVBsYXRmb3JtQ29udGV4dChQbGF0
Zm9ybURpc3BsYXlJRCBkaXNwbGF5SUQpCitDR0NvbnRleHRSZWYgSU9TdXJmYWNlOjplbnN1cmVQ
bGF0Zm9ybUNvbnRleHQoUGxhdGZvcm1EaXNwbGF5SUQgZGlzcGxheUlEKQogeworICAgIGlmICht
X2NnQ29udGV4dCkKKyAgICAgICAgcmV0dXJuIG1fY2dDb250ZXh0LmdldCgpOworCiAgICAgYXV0
byBjb25maWd1cmF0aW9uID0gYml0bWFwQ29uZmlndXJhdGlvbigpOwogICAgIGF1dG8gYml0c1Bl
clBpeGVsID0gY29uZmlndXJhdGlvbi5iaXRzUGVyQ29tcG9uZW50ICogNDsKIAogICAgIGVuc3Vy
ZUNvbG9yU3BhY2UoKTsKLSAgICBhdXRvIGNnQ29udGV4dCA9IGFkb3B0Q0YoQ0dJT1N1cmZhY2VD
b250ZXh0Q3JlYXRlKG1fc3VyZmFjZS5nZXQoKSwgbV9zaXplLndpZHRoKCksIG1fc2l6ZS5oZWln
aHQoKSwgY29uZmlndXJhdGlvbi5iaXRzUGVyQ29tcG9uZW50LCBiaXRzUGVyUGl4ZWwsIG1fY29s
b3JTcGFjZS0+cGxhdGZvcm1Db2xvclNwYWNlKCksIGNvbmZpZ3VyYXRpb24uYml0bWFwSW5mbykp
OworICAgIG1fY2dDb250ZXh0ID0gYWRvcHRDRihDR0lPU3VyZmFjZUNvbnRleHRDcmVhdGUobV9z
dXJmYWNlLmdldCgpLCBtX3NpemUud2lkdGgoKSwgbV9zaXplLmhlaWdodCgpLCBjb25maWd1cmF0
aW9uLmJpdHNQZXJDb21wb25lbnQsIGJpdHNQZXJQaXhlbCwgbV9jb2xvclNwYWNlLT5wbGF0Zm9y
bUNvbG9yU3BhY2UoKSwgY29uZmlndXJhdGlvbi5iaXRtYXBJbmZvKSk7CiAKICNpZiBQTEFURk9S
TShNQUMpCiAgICAgaWYgKGF1dG8gZGlzcGxheU1hc2sgPSBwcmltYXJ5T3BlbkdMRGlzcGxheU1h
c2soKSkgewogICAgICAgICBpZiAoZGlzcGxheUlEKQogICAgICAgICAgICAgZGlzcGxheU1hc2sg
PSBkaXNwbGF5TWFza0ZvckRpc3BsYXkoZGlzcGxheUlEKTsKIEFMTE9XX0RFUFJFQ0FURURfREVD
TEFSQVRJT05TX0JFR0lOCi0gICAgICAgIENHSU9TdXJmYWNlQ29udGV4dFNldERpc3BsYXlNYXNr
KGNnQ29udGV4dC5nZXQoKSwgZGlzcGxheU1hc2spOyAvLyBOT0xJTlQKKyAgICAgICAgQ0dJT1N1
cmZhY2VDb250ZXh0U2V0RGlzcGxheU1hc2sobV9jZ0NvbnRleHQuZ2V0KCksIGRpc3BsYXlNYXNr
KTsKIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogICAgIH0KICNlbHNlCkBAIC00
MjAsOSArNDIzLDkgQEAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiAjZW5kaWYK
ICNpZiBIQVZFKENHX0NPTlRFWFRfU0VUX09XTkVSX0lERU5USVRZKQogICAgIGlmIChtX3Jlc291
cmNlT3duZXIgJiYgQ0dDb250ZXh0U2V0T3duZXJJZGVudGl0eSkKLSAgICAgICAgQ0dDb250ZXh0
U2V0T3duZXJJZGVudGl0eShjZ0NvbnRleHQuZ2V0KCksIG1fcmVzb3VyY2VPd25lci50YXNrSWRU
b2tlbigpKTsKKyAgICAgICAgQ0dDb250ZXh0U2V0T3duZXJJZGVudGl0eShtX2NnQ29udGV4dC5n
ZXQoKSwgbV9yZXNvdXJjZU93bmVyLnRhc2tJZFRva2VuKCkpOwogI2VuZGlmCi0gICAgcmV0dXJu
IGNnQ29udGV4dDsKKyAgICByZXR1cm4gbV9jZ0NvbnRleHQuZ2V0KCk7CiB9CiAKIFNldE5vblZv
bGF0aWxlUmVzdWx0IElPU3VyZmFjZTo6c3RhdGUoKSBjb25zdApAQCAtNDc5LDYgKzQ4MiwxMSBA
QCBib29sIElPU3VyZmFjZTo6aXNJblVzZSgpIGNvbnN0CiAgICAgcmV0dXJuIElPU3VyZmFjZUlz
SW5Vc2UobV9zdXJmYWNlLmdldCgpKTsKIH0KIAordm9pZCBJT1N1cmZhY2U6OnJlbGVhc2VQbGF0
Zm9ybUNvbnRleHQoKQoreworICAgIG1fY2dDb250ZXh0ID0gbnVsbHB0cjsKK30KKwogI2lmIEhB
VkUoSU9TVVJGQUNFX0FDQ0VMRVJBVE9SKQogCiBib29sIElPU3VyZmFjZTo6YWxsb3dDb252ZXJz
aW9uRnJvbUZvcm1hdFRvRm9ybWF0KEZvcm1hdCBzb3VyY2VGb3JtYXQsIEZvcm1hdCBkZXN0Rm9y
bWF0KQpAQCAtNTQyLDYgKzU1MCwxMCBAQCB2b2lkIElPU3VyZmFjZTo6c2V0T3duZXJzaGlwSWRl
bnRpdHkoY29uc3QgUHJvY2Vzc0lkZW50aXR5JiByZXNvdXJjZU93bmVyKQogICAgIEFTU0VSVChy
ZXNvdXJjZU93bmVyKTsKICAgICBtX3Jlc291cmNlT3duZXIgPSByZXNvdXJjZU93bmVyOwogICAg
IHNldE93bmVyc2hpcElkZW50aXR5KG1fc3VyZmFjZS5nZXQoKSwgcmVzb3VyY2VPd25lcik7Cisj
aWYgSEFWRShDR19DT05URVhUX1NFVF9PV05FUl9JREVOVElUWSkKKyAgICBpZiAobV9jZ0NvbnRl
eHQgJiYgQ0dDb250ZXh0U2V0T3duZXJJZGVudGl0eSkKKyAgICAgICAgQ0dDb250ZXh0U2V0T3du
ZXJJZGVudGl0eShtX2NnQ29udGV4dC5nZXQoKSwgbV9yZXNvdXJjZU93bmVyLnRhc2tJZFRva2Vu
KCkpOworI2VuZGlmCiB9CiAKIHZvaWQgSU9TdXJmYWNlOjpzZXRPd25lcnNoaXBJZGVudGl0eShJ
T1N1cmZhY2VSZWYgc3VyZmFjZSwgY29uc3QgUHJvY2Vzc0lkZW50aXR5JiByZXNvdXJjZU93bmVy
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUlt
YWdlQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJ
bWFnZUJ1ZmZlci5jcHAKaW5kZXggOTJkZmJmMDAxZTBiLi4xNDRkMWJkNzQxNmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVm
ZmVyLmNwcApAQCAtNTUsNiArNTUsMTIgQEAgUmVtb3RlSW1hZ2VCdWZmZXI6On5SZW1vdGVJbWFn
ZUJ1ZmZlcigpCiAgICAgICAgIGNvbnRleHQoKS5yZXN0b3JlKCk7CiB9CiAKK3ZvaWQgUmVtb3Rl
SW1hZ2VCdWZmZXI6OnNldE93bmVyc2hpcElkZW50aXR5KGNvbnN0IFByb2Nlc3NJZGVudGl0eSYg
cmVzb3VyY2VPd25lcikKK3sKKyAgICBpZiAobV9iYWNrZW5kKQorICAgICAgICBtX2JhY2tlbmQt
PnNldE93bmVyc2hpcElkZW50aXR5KHJlc291cmNlT3duZXIpOworfQorCiBSZWZQdHI8UmVtb3Rl
SW1hZ2VCdWZmZXI+IFJlbW90ZUltYWdlQnVmZmVyOjpjcmVhdGVUcmFuc2ZlcihzdGQ6OnVuaXF1
ZV9wdHI8SW1hZ2VCdWZmZXJCYWNrZW5kPiYmIGJhY2tlbmQsIGNvbnN0IEltYWdlQnVmZmVyQmFj
a2VuZDo6SW5mbyYgYmFja2VuZEluZm8sIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQmIHJlbW90ZVJl
bmRlcmluZ0JhY2tlbmQsIFF1YWxpZmllZFJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciByZW5k
ZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpCiB7CiAgICAgYXV0byBjb250ZXh0ID0gV2ViQ29yZTo6
SW1hZ2VCdWZmZXJDcmVhdGlvbkNvbnRleHQgeyBudWxscHRyCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oCmluZGV4IDM4NDVh
MjQ5ZGQwMy4uNjRlNTY3Nzk2ZTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXIuaApAQCAtNDEsOCArNDEsMTQgQEAgY2xh
c3MgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDsKIGNsYXNzIFJlbW90ZUltYWdlQnVmZmVyIDogcHVi
bGljIFdlYkNvcmU6OkltYWdlQnVmZmVyIHsKIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBCYWNrZW5kVHlwZT4KLSAgICBzdGF0aWMgUmVmUHRyPFJlbW90ZUltYWdlQnVmZmVyPiBjcmVh
dGUoY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiBzaXplLCBmbG9hdCByZXNvbHV0aW9uU2NhbGUs
IGNvbnN0IFdlYkNvcmU6OkRlc3RpbmF0aW9uQ29sb3JTcGFjZSYgY29sb3JTcGFjZSwgV2ViQ29y
ZTo6UGl4ZWxGb3JtYXQgcGl4ZWxGb3JtYXQsIFdlYkNvcmU6OlJlbmRlcmluZ1B1cnBvc2UgcHVy
cG9zZSwgUmVtb3RlUmVuZGVyaW5nQmFja2VuZCYgcmVtb3RlUmVuZGVyaW5nQmFja2VuZCwgUXVh
bGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyIHJlbmRlcmluZ1Jlc291cmNlSWRlbnRp
ZmllciwgV2ViQ29yZTo6SW1hZ2VCdWZmZXJDcmVhdGlvbkNvbnRleHQgY29udGV4dCkKKyAgICBz
dGF0aWMgUmVmUHRyPFJlbW90ZUltYWdlQnVmZmVyPiBjcmVhdGUoY29uc3QgV2ViQ29yZTo6Rmxv
YXRTaXplJiBzaXplLCBmbG9hdCByZXNvbHV0aW9uU2NhbGUsIGNvbnN0IFdlYkNvcmU6OkRlc3Rp
bmF0aW9uQ29sb3JTcGFjZSYgY29sb3JTcGFjZSwgV2ViQ29yZTo6UGl4ZWxGb3JtYXQgcGl4ZWxG
b3JtYXQsIFdlYkNvcmU6OlJlbmRlcmluZ1B1cnBvc2UgcHVycG9zZSwgUmVtb3RlUmVuZGVyaW5n
QmFja2VuZCYgcmVtb3RlUmVuZGVyaW5nQmFja2VuZCwgUXVhbGlmaWVkUmVuZGVyaW5nUmVzb3Vy
Y2VJZGVudGlmaWVyIHJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcikKICAgICB7CisgICAgICAg
IGF1dG8gY29udGV4dCA9IFdlYkNvcmU6OkltYWdlQnVmZmVyQ3JlYXRpb25Db250ZXh0IHsgbnVs
bHB0cgorI2lmIEhBVkUoSU9TVVJGQUNFKQorICAgICAgICAgICAgLCAmcmVtb3RlUmVuZGVyaW5n
QmFja2VuZC5pb1N1cmZhY2VQb29sKCkKKyNlbmRpZgorICAgICAgICB9OworCiAgICAgICAgIGF1
dG8gaW1hZ2VCdWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlPEJhY2tlbmRUeXBlLCBSZW1vdGVJ
bWFnZUJ1ZmZlcj4oc2l6ZSwgcmVzb2x1dGlvblNjYWxlLCBjb2xvclNwYWNlLCBwaXhlbEZvcm1h
dCwgcHVycG9zZSwgY29udGV4dCwgcmVtb3RlUmVuZGVyaW5nQmFja2VuZCwgcmVuZGVyaW5nUmVz
b3VyY2VJZGVudGlmaWVyKTsKICAgICAgICAgaWYgKCFpbWFnZUJ1ZmZlcikKICAgICAgICAgICAg
IHJldHVybiBudWxscHRyOwpAQCAtNTksNiArNjUsOCBAQCBwdWJsaWM6CiAgICAgUmVtb3RlSW1h
Z2VCdWZmZXIoY29uc3QgV2ViQ29yZTo6SW1hZ2VCdWZmZXJCYWNrZW5kOjpQYXJhbWV0ZXJzJiwg
Y29uc3QgV2ViQ29yZTo6SW1hZ2VCdWZmZXJCYWNrZW5kOjpJbmZvJiwgc3RkOjp1bmlxdWVfcHRy
PFdlYkNvcmU6OkltYWdlQnVmZmVyQmFja2VuZD4mJiwgUmVtb3RlUmVuZGVyaW5nQmFja2VuZCYs
IFF1YWxpZmllZFJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcik7CiAgICAgflJlbW90ZUltYWdl
QnVmZmVyKCk7CiAKKyAgICB2b2lkIHNldE93bmVyc2hpcElkZW50aXR5KGNvbnN0IFdlYkNvcmU6
OlByb2Nlc3NJZGVudGl0eSYgcmVzb3VyY2VPd25lcik7CisKIHByaXZhdGU6CiAgICAgUXVhbGlm
aWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyIG1fcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlm
aWVyOwogICAgIElQQzo6U2NvcGVkQWN0aXZlTWVzc2FnZVJlY2VpdmVRdWV1ZTxSZW1vdGVEaXNw
bGF5TGlzdFJlY29yZGVyPiBtX3JlbW90ZURpc3BsYXlMaXN0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQu
Y3BwCmluZGV4IGQxNjRmYzFkNDI1YS4uMjE1MWQ1ZjY1MDg4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tl
bmQuY3BwCkBAIC0yMDUsMTggKzIwNSwxNyBAQCB2b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6
OmNyZWF0ZUltYWdlQnVmZmVyV2l0aFF1YWxpZmllZElkZW50aWZpZXIoY29uc3QgRmxvYQogCiAg
ICAgUmVmUHRyPFJlbW90ZUltYWdlQnVmZmVyPiBpbWFnZUJ1ZmZlcjsKIAotICAgIFdlYkNvcmU6
OkltYWdlQnVmZmVyQ3JlYXRpb25Db250ZXh0IGNyZWF0aW9uQ29udGV4dCB7IG51bGxwdHIgfTsK
LSNpZiBIQVZFKElPU1VSRkFDRSkKLSAgICBjcmVhdGlvbkNvbnRleHQuc3VyZmFjZVBvb2wgPSAm
aW9TdXJmYWNlUG9vbCgpOwotI2VuZGlmCi0gICAgY3JlYXRpb25Db250ZXh0LnJlc291cmNlT3du
ZXIgPSBtX3Jlc291cmNlT3duZXI7Ci0KICAgICBpZiAocmVuZGVyaW5nTW9kZSA9PSBSZW5kZXJp
bmdNb2RlOjpBY2NlbGVyYXRlZCkgewotICAgICAgICBpbWFnZUJ1ZmZlciA9IFJlbW90ZUltYWdl
QnVmZmVyOjpjcmVhdGU8QWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZEJhY2tl
bmQ+KGxvZ2ljYWxTaXplLCByZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0
LCBwdXJwb3NlLCAqdGhpcywgaW1hZ2VCdWZmZXJSZXNvdXJjZUlkZW50aWZpZXIsIGNyZWF0aW9u
Q29udGV4dCk7CisgICAgICAgIGlmIChhdXRvIGFjY2VsZXJhdGVkSW1hZ2VCdWZmZXIgPSBSZW1v
dGVJbWFnZUJ1ZmZlcjo6Y3JlYXRlPEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJTaGFyZWFibGVNYXBw
ZWRCYWNrZW5kPihsb2dpY2FsU2l6ZSwgcmVzb2x1dGlvblNjYWxlLCBjb2xvclNwYWNlLCBwaXhl
bEZvcm1hdCwgcHVycG9zZSwgKnRoaXMsIGltYWdlQnVmZmVyUmVzb3VyY2VJZGVudGlmaWVyKSkg
eworICAgICAgICAgICAgLy8gTWFyayB0aGUgSU9TdXJmYWNlIGFzIGJlaW5nIG93bmVkIGJ5IHRo
ZSBXZWJQcm9jZXNzIGV2ZW4gdGhvdWdoIGl0IHdhcyBjb25zdHJ1Y3RlZCBieSB0aGUgR1BVUHJv
Y2VzcyBzbyB0aGF0IEpldHNhbSBrbm93cyB3aGljaCBwcm9jZXNzIHRvIGtpbGwuCisgICAgICAg
ICAgICBpZiAobV9yZXNvdXJjZU93bmVyKQorICAgICAgICAgICAgICAgIGFjY2VsZXJhdGVkSW1h
Z2VCdWZmZXItPnNldE93bmVyc2hpcElkZW50aXR5KG1fcmVzb3VyY2VPd25lcik7CisgICAgICAg
ICAgICBpbWFnZUJ1ZmZlciA9IFdURk1vdmUoYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlcik7CisgICAg
ICAgIH0KICAgICB9CiAKICAgICBpZiAoIWltYWdlQnVmZmVyKQotICAgICAgICBpbWFnZUJ1ZmZl
ciA9IFJlbW90ZUltYWdlQnVmZmVyOjpjcmVhdGU8VW5hY2NlbGVyYXRlZEltYWdlQnVmZmVyU2hh
cmVhYmxlQmFja2VuZD4obG9naWNhbFNpemUsIHJlc29sdXRpb25TY2FsZSwgY29sb3JTcGFjZSwg
cGl4ZWxGb3JtYXQsIHB1cnBvc2UsICp0aGlzLCBpbWFnZUJ1ZmZlclJlc291cmNlSWRlbnRpZmll
ciwgY3JlYXRpb25Db250ZXh0KTsKKyAgICAgICAgaW1hZ2VCdWZmZXIgPSBSZW1vdGVJbWFnZUJ1
ZmZlcjo6Y3JlYXRlPFVuYWNjZWxlcmF0ZWRJbWFnZUJ1ZmZlclNoYXJlYWJsZUJhY2tlbmQ+KGxv
Z2ljYWxTaXplLCByZXNvbHV0aW9uU2NhbGUsIGNvbG9yU3BhY2UsIHBpeGVsRm9ybWF0LCBwdXJw
b3NlLCAqdGhpcywgaW1hZ2VCdWZmZXJSZXNvdXJjZUlkZW50aWZpZXIpOwogCiAgICAgaWYgKCFp
bWFnZUJ1ZmZlcikgewogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdJT1MubW0KaW5kZXggYmE4NmY4ODdh
ODNlLi43ODAxNGNlMTNiMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9pb3MvV0tXZWJWaWV3SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9p
b3MvV0tXZWJWaWV3SU9TLm1tCkBAIC0zNzk2LDggKzM3OTYsNyBAQCAtICh2b2lkKV9zbmFwc2hv
dFJlY3RBZnRlclNjcmVlblVwZGF0ZXM6KEJPT0wpYWZ0ZXJTY3JlZW5VcGRhdGVzIHJlY3RJblZp
ZXdDb29yZAogICAgICAgICBDQVRyYW5zZm9ybTNEIHRyYW5zZm9ybSA9IENBVHJhbnNmb3JtM0RN
YWtlU2NhbGUoaW1hZ2VTY2FsZUluVmlld0Nvb3JkaW5hdGVzLCBpbWFnZVNjYWxlSW5WaWV3Q29v
cmRpbmF0ZXMsIDEpOwogICAgICAgICB0cmFuc2Zvcm0gPSBDQVRyYW5zZm9ybTNEVHJhbnNsYXRl
KHRyYW5zZm9ybSwgLXJlY3RJblZpZXdDb29yZGluYXRlcy5vcmlnaW4ueCwgLXJlY3RJblZpZXdD
b29yZGluYXRlcy5vcmlnaW4ueSwgMCk7CiAgICAgICAgIENBUmVuZGVyU2VydmVyUmVuZGVyRGlz
cGxheUxheWVyV2l0aFRyYW5zZm9ybUFuZFRpbWVPZmZzZXQoTUFDSF9QT1JUX05VTEwsIChDRlN0
cmluZ1JlZilkaXNwbGF5TmFtZSwgc2VsZi5sYXllci5jb250ZXh0LmNvbnRleHRJZCwgcmVpbnRl
cnByZXRfY2FzdDx1aW50NjRfdD4oc2VsZi5sYXllciksIHN1cmZhY2UtPnN1cmZhY2UoKSwgMCwg
MCwgJnRyYW5zZm9ybSwgMCk7Ci0gICAgICAgIGF1dG8gY29udGV4dCA9IHN1cmZhY2UtPmNyZWF0
ZVBsYXRmb3JtQ29udGV4dCgpOwotICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXZWJDb3JlOjpJ
T1N1cmZhY2U6OnNpbmtJbnRvSW1hZ2UoV1RGTW92ZShzdXJmYWNlKSwgV1RGTW92ZShjb250ZXh0
KSkuZ2V0KCkpOworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXZWJDb3JlOjpJT1N1cmZhY2U6
OnNpbmtJbnRvSW1hZ2UoV1RGTW92ZShzdXJmYWNlKSkuZ2V0KCkpOwogICAgICAgICByZXR1cm47
CiAgICAgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRv
bWF0aW9uL2NvY29hL1dlYkF1dG9tYXRpb25TZXNzaW9uQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL2NvY29hL1dlYkF1dG9tYXRpb25TZXNzaW9uQ29jb2EubW0K
aW5kZXggZTI3ODhiMGQ0NGMyLi5hMjFiNGQyNjg4YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vY29jb2EvV2ViQXV0b21hdGlvblNlc3Npb25Db2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL2NvY29hL1dlYkF1dG9t
YXRpb25TZXNzaW9uQ29jb2EubW0KQEAgLTcwLDggKzcwLDggQEAgc3RkOjpvcHRpb25hbDxTdHJp
bmc+IFdlYkF1dG9tYXRpb25TZXNzaW9uOjpwbGF0Zm9ybUdldEJhc2U2NEVuY29kZWRQTkdEYXRh
KGNvbnMKICAgICBhdXRvKiBzbmFwc2hvdFN1cmZhY2UgPSBzbmFwc2hvdC5zdXJmYWNlKCk7CiAg
ICAgaWYgKCFzbmFwc2hvdFN1cmZhY2UpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0g
ICAgYXV0byBjb250ZXh0ID0gc25hcHNob3RTdXJmYWNlLT5jcmVhdGVQbGF0Zm9ybUNvbnRleHQo
KTsKLSAgICByZXR1cm4gZ2V0QmFzZTY0RW5jb2RlZFBOR0RhdGEoc25hcHNob3RTdXJmYWNlLT5j
cmVhdGVJbWFnZShjb250ZXh0LmdldCgpKSk7CisKKyAgICByZXR1cm4gZ2V0QmFzZTY0RW5jb2Rl
ZFBOR0RhdGEoc25hcHNob3RTdXJmYWNlLT5jcmVhdGVJbWFnZSgpKTsKIH0KIAogc3RkOjpvcHRp
b25hbDxTdHJpbmc+IFdlYkF1dG9tYXRpb25TZXNzaW9uOjpwbGF0Zm9ybUdlbmVyYXRlTG9jYWxG
aWxlUGF0aEZvclJlbW90ZUZpbGUoY29uc3QgU3RyaW5nJiByZW1vdGVGaWxlUGF0aCwgY29uc3Qg
U3RyaW5nJiBiYXNlNjRFbmNvZGVkRmlsZUNvbnRlbnRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1ZpZXdTbmFwc2hvdFN0b3JlTWFjLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvbWFjL1ZpZXdTbmFwc2hvdFN0b3JlTWFjLm1tCmluZGV4IDgyYzZhMWM4OTlm
Ny4uMTFjMDQ3Y2IwYzk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMv
Vmlld1NuYXBzaG90U3RvcmVNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFj
L1ZpZXdTbmFwc2hvdFN0b3JlTWFjLm1tCkBAIC04Miw2ICs4Miw3IEBAIFdlYkNvcmU6OlNldE5v
blZvbGF0aWxlUmVzdWx0IFZpZXdTbmFwc2hvdDo6c2V0Vm9sYXRpbGUoYm9vbCBiZWNvbWVWb2xh
dGlsZSkKIAogICAgIGlmICghbV9zdXJmYWNlKQogICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2V0
Tm9uVm9sYXRpbGVSZXN1bHQ6OkVtcHR5OworCiAgICAgcmV0dXJuIG1fc3VyZmFjZS0+c2V0Vm9s
YXRpbGUoYmVjb21lVm9sYXRpbGUpOwogfQogCkBAIC0xMDQsMTAgKzEwNSw3IEBAIFJldGFpblB0
cjxDR0ltYWdlUmVmPiBWaWV3U25hcHNob3Q6OmFzSW1hZ2VGb3JUZXN0aW5nKCkKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAKICAgICBBU1NFUlQoVmlld1NuYXBzaG90U3RvcmU6OnNpbmdsZXRv
bigpLmRpc2FibGVTbmFwc2hvdFZvbGF0aWxpdHlGb3JUZXN0aW5nKCkpOwotICAgIC8vIE5vdGU6
IGhlcmUgd2Ugd2lsbCBkZXN0cm95IHRoZSBjb250ZXh0IGltbWVkaWF0ZWx5LCB3aGljaCB3aWxs
IHJlYWQgYmFjawotICAgIC8vIHRoZSBpbWFnZSB0byBDUFUuIFRoaXMgc2hvdWxkIGJlIGZpbmUg
Zm9yIHRlc3RpbmcuCi0gICAgYXV0byBjb250ZXh0ID0gbV9zdXJmYWNlLT5jcmVhdGVQbGF0Zm9y
bUNvbnRleHQoKTsKLSAgICByZXR1cm4gbV9zdXJmYWNlLT5jcmVhdGVJbWFnZShjb250ZXh0Lmdl
dCgpKTsKKyAgICByZXR1cm4gbV9zdXJmYWNlLT5jcmVhdGVJbWFnZSgpOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
Z3JhcGhpY3MvSW1hZ2VCdWZmZXJTaGFyZWFibGVCaXRtYXBCYWNrZW5kLmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL0ltYWdlQnVmZmVyU2hhcmVhYmxlQml0bWFwQmFj
a2VuZC5oCmluZGV4IDM5YTlmNmY2OTU3YS4uNjE4MDg1Y2NmZDM5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL0ltYWdlQnVmZmVyU2hhcmVhYmxlQml0
bWFwQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3Mv
SW1hZ2VCdWZmZXJTaGFyZWFibGVCaXRtYXBCYWNrZW5kLmgKQEAgLTY3LDYgKzY3LDggQEAgcHVi
bGljOgogICAgIFJlZlB0cjxXZWJDb3JlOjpQaXhlbEJ1ZmZlcj4gZ2V0UGl4ZWxCdWZmZXIoY29u
c3QgV2ViQ29yZTo6UGl4ZWxCdWZmZXJGb3JtYXQmIG91dHB1dEZvcm1hdCwgY29uc3QgV2ViQ29y
ZTo6SW50UmVjdCYsIGNvbnN0IFdlYkNvcmU6OkltYWdlQnVmZmVyQWxsb2NhdG9yJikgZmluYWw7
CiAgICAgdm9pZCBwdXRQaXhlbEJ1ZmZlcihjb25zdCBXZWJDb3JlOjpQaXhlbEJ1ZmZlciYsIGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmIHNyY1JlY3QsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBk
ZXN0UG9pbnQsIFdlYkNvcmU6OkFscGhhUHJlbXVsdGlwbGljYXRpb24gZGVzdEZvcm1hdCkgZmlu
YWw7CiAKKyAgICB2b2lkIHNldE93bmVyc2hpcElkZW50aXR5KGNvbnN0IFdlYkNvcmU6OlByb2Nl
c3NJZGVudGl0eSYpIHsgfQorCiBwcml2YXRlOgogICAgIHVuc2lnbmVkIGJ5dGVzUGVyUm93KCkg
Y29uc3QgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
Z3JhcGhpY3MvY29jb2EvSW1hZ2VCdWZmZXJTaGFyZWFibGVNYXBwZWRJT1N1cmZhY2VCYWNrZW5k
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvY29jb2EvSW1hZ2VC
dWZmZXJTaGFyZWFibGVNYXBwZWRJT1N1cmZhY2VCYWNrZW5kLmNwcAppbmRleCBiNDVlNDY5M2E5
OGEuLmY2YjIyYzc0OTM3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9ncmFwaGljcy9jb2NvYS9JbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFjZUJhY2tl
bmQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvY29jb2Ev
SW1hZ2VCdWZmZXJTaGFyZWFibGVNYXBwZWRJT1N1cmZhY2VCYWNrZW5kLmNwcApAQCAtNDksMTYg
KzQ5LDE0IEBAIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3Vy
ZmFjZUJhY2tlbmQ+IEltYWdlQnVmZmVyU2hhcmVhYmxlCiAgICAgYXV0byBzdXJmYWNlID0gSU9T
dXJmYWNlOjpjcmVhdGUoY3JlYXRpb25Db250ZXh0LnN1cmZhY2VQb29sLCBiYWNrZW5kU2l6ZSwg
cGFyYW1ldGVycy5jb2xvclNwYWNlLCBJT1N1cmZhY2U6OmZvcm1hdEZvclBpeGVsRm9ybWF0KHBh
cmFtZXRlcnMucGl4ZWxGb3JtYXQpKTsKICAgICBpZiAoIXN1cmZhY2UpCiAgICAgICAgIHJldHVy
biBudWxscHRyOwotICAgIGlmIChjcmVhdGlvbkNvbnRleHQucmVzb3VyY2VPd25lcikKLSAgICAg
ICAgc3VyZmFjZS0+c2V0T3duZXJzaGlwSWRlbnRpdHkoY3JlYXRpb25Db250ZXh0LnJlc291cmNl
T3duZXIpOwogCi0gICAgUmV0YWluUHRyPENHQ29udGV4dFJlZj4gY2dDb250ZXh0ID0gc3VyZmFj
ZS0+Y3JlYXRlUGxhdGZvcm1Db250ZXh0KCk7CisgICAgUmV0YWluUHRyPENHQ29udGV4dFJlZj4g
Y2dDb250ZXh0ID0gc3VyZmFjZS0+ZW5zdXJlUGxhdGZvcm1Db250ZXh0KCk7CiAgICAgaWYgKCFj
Z0NvbnRleHQpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgQ0dDb250ZXh0Q2xlYXJS
ZWN0KGNnQ29udGV4dC5nZXQoKSwgRmxvYXRSZWN0KEZsb2F0UG9pbnQ6Onplcm8oKSwgYmFja2Vu
ZFNpemUpKTsKIAotICAgIHJldHVybiBtYWtlVW5pcXVlPEltYWdlQnVmZmVyU2hhcmVhYmxlTWFw
cGVkSU9TdXJmYWNlQmFja2VuZD4ocGFyYW1ldGVycywgV1RGTW92ZShzdXJmYWNlKSwgV1RGTW92
ZShjZ0NvbnRleHQpLCAwLCBjcmVhdGlvbkNvbnRleHQuc3VyZmFjZVBvb2wpOworICAgIHJldHVy
biBtYWtlVW5pcXVlPEltYWdlQnVmZmVyU2hhcmVhYmxlTWFwcGVkSU9TdXJmYWNlQmFja2VuZD4o
cGFyYW1ldGVycywgV1RGTW92ZShzdXJmYWNlKSwgMCwgY3JlYXRpb25Db250ZXh0LnN1cmZhY2VQ
b29sKTsKIH0KIAogc3RkOjp1bmlxdWVfcHRyPEltYWdlQnVmZmVyU2hhcmVhYmxlTWFwcGVkSU9T
dXJmYWNlQmFja2VuZD4gSW1hZ2VCdWZmZXJTaGFyZWFibGVNYXBwZWRJT1N1cmZhY2VCYWNrZW5k
OjpjcmVhdGUoY29uc3QgUGFyYW1ldGVycyYgcGFyYW1ldGVycywgSW1hZ2VCdWZmZXJCYWNrZW5k
SGFuZGxlIGhhbmRsZSkKQEAgLTcxLDEyICs2OSw5IEBAIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1
ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFjZUJhY2tlbmQ+IEltYWdlQnVmZmVyU2hhcmVhYmxl
CiAgICAgYXV0byBzdXJmYWNlID0gSU9TdXJmYWNlOjpjcmVhdGVGcm9tU2VuZFJpZ2h0KFdURk1v
dmUoc3RkOjpnZXQ8TWFjaFNlbmRSaWdodD4oaGFuZGxlKSkpOwogICAgIGlmICghc3VyZmFjZSkK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgYXV0byBjZ0NvbnRleHQgPSBzdXJmYWNlLT5j
cmVhdGVQbGF0Zm9ybUNvbnRleHQoKTsKLSAgICBpZiAoIWNnQ29udGV4dCkKLSAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAKICAgICBBU1NFUlQoc3VyZmFjZS0+Y29sb3JTcGFjZSgpID09IHBhcmFt
ZXRlcnMuY29sb3JTcGFjZSk7Ci0gICAgcmV0dXJuIG1ha2VVbmlxdWU8SW1hZ2VCdWZmZXJTaGFy
ZWFibGVNYXBwZWRJT1N1cmZhY2VCYWNrZW5kPihwYXJhbWV0ZXJzLCBXVEZNb3ZlKHN1cmZhY2Up
LCBXVEZNb3ZlKGNnQ29udGV4dCksIDAsIG51bGxwdHIpOworICAgIHJldHVybiBtYWtlVW5pcXVl
PEltYWdlQnVmZmVyU2hhcmVhYmxlTWFwcGVkSU9TdXJmYWNlQmFja2VuZD4ocGFyYW1ldGVycywg
V1RGTW92ZShzdXJmYWNlKSwgMCwgbnVsbHB0cik7CiB9CiAKIEltYWdlQnVmZmVyQmFja2VuZEhh
bmRsZSBJbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFjZUJhY2tlbmQ6OmNyZWF0ZUJh
Y2tlbmRIYW5kbGUoU2hhcmVkTWVtb3J5OjpQcm90ZWN0aW9uKSBjb25zdApAQCAtODQsNiArNzks
MTEgQEAgSW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxlIEltYWdlQnVmZmVyU2hhcmVhYmxlTWFwcGVk
SU9TdXJmYWNlQmFja2VuZDo6Y3JlYXRlQmFja2UKICAgICByZXR1cm4gSW1hZ2VCdWZmZXJCYWNr
ZW5kSGFuZGxlKG1fc3VyZmFjZS0+Y3JlYXRlU2VuZFJpZ2h0KCkpOwogfQogCit2b2lkIEltYWdl
QnVmZmVyU2hhcmVhYmxlTWFwcGVkSU9TdXJmYWNlQmFja2VuZDo6c2V0T3duZXJzaGlwSWRlbnRp
dHkoY29uc3QgV2ViQ29yZTo6UHJvY2Vzc0lkZW50aXR5JiByZXNvdXJjZU93bmVyKQoreworICAg
IG1fc3VyZmFjZS0+c2V0T3duZXJzaGlwSWRlbnRpdHkocmVzb3VyY2VPd25lcik7Cit9CisKIFJl
ZlB0cjxOYXRpdmVJbWFnZT4gSW1hZ2VCdWZmZXJTaGFyZWFibGVNYXBwZWRJT1N1cmZhY2VCYWNr
ZW5kOjpjb3B5TmF0aXZlSW1hZ2UoQmFja2luZ1N0b3JlQ29weSBjb3B5QmVoYXZpb3IpCiB7CiAg
ICAgYXV0byBjdXJyZW50U2VlZCA9IG1fc3VyZmFjZS0+c2VlZCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9jb2NvYS9JbWFnZUJ1ZmZlclNoYXJl
YWJsZU1hcHBlZElPU3VyZmFjZUJhY2tlbmQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvZ3JhcGhpY3MvY29jb2EvSW1hZ2VCdWZmZXJTaGFyZWFibGVNYXBwZWRJT1N1cmZhY2VCYWNr
ZW5kLmgKaW5kZXggMmQ4YjlmMmUyYjA5Li41MTIzMTgyYjdmNDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvY29jb2EvSW1hZ2VCdWZmZXJTaGFyZWFi
bGVNYXBwZWRJT1N1cmZhY2VCYWNrZW5kLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0dQVS9ncmFwaGljcy9jb2NvYS9JbWFnZUJ1ZmZlclNoYXJlYWJsZU1hcHBlZElPU3VyZmFjZUJh
Y2tlbmQuaApAQCAtNDYsNiArNDYsOCBAQCBwdWJsaWM6CiAKICAgICB1c2luZyBXZWJDb3JlOjpJ
bWFnZUJ1ZmZlcklPU3VyZmFjZUJhY2tlbmQ6OkltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZDsK
IAorICAgIHZvaWQgc2V0T3duZXJzaGlwSWRlbnRpdHkoY29uc3QgV2ViQ29yZTo6UHJvY2Vzc0lk
ZW50aXR5Jik7CisKICAgICBJbWFnZUJ1ZmZlckJhY2tlbmRIYW5kbGUgY3JlYXRlQmFja2VuZEhh
bmRsZShTaGFyZWRNZW1vcnk6OlByb3RlY3Rpb24gPSBTaGFyZWRNZW1vcnk6OlByb3RlY3Rpb246
OlJlYWRXcml0ZSkgY29uc3QgZmluYWw7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9pb3MvUGl4ZWxEdW1wU3VwcG9ydElPUy5tbSBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2lvcy9QaXhlbER1bXBTdXBwb3J0SU9TLm1tCmluZGV4IDFmZDhmY2NiYjljNC4uYjli
ODJiMjNhOTg4IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9pb3MvUGl4ZWxEdW1w
U3VwcG9ydElPUy5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9pb3MvUGl4ZWxEdW1wU3Vw
cG9ydElPUy5tbQpAQCAtNzMsOSArNzMsNyBAQCBSZWZQdHI8Qml0bWFwQ29udGV4dD4gY3JlYXRl
Qml0bWFwQ29udGV4dEZyb21XZWJWaWV3KGJvb2wgb25zY3JlZW4sIGJvb2wgaW5jcmVtZQogICAg
IFdlYkNvcmU6OklPU3VyZmFjZTo6Rm9ybWF0IHNuYXBzaG90Rm9ybWF0ID0gV2ViQ29yZTo6SU9T
dXJmYWNlOjpGb3JtYXQ6OkJHUkE7CiAjZW5kaWYKICAgICBhdXRvIHN1cmZhY2UgPSBXZWJDb3Jl
OjpJT1N1cmZhY2U6OmNyZWF0ZShudWxscHRyLCBXZWJDb3JlOjpleHBhbmRlZEludFNpemUoc25h
cHNob3RTaXplKSwgV2ViQ29yZTo6RGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCksIHNuYXBz
aG90Rm9ybWF0KTsKLSAgICAvLyBGSVhNRTogU29tZXRoaW5nIGlzIG1pc3NpbmcgaGVyZSwgbm90
aGluZyBkcmF3cyB0byBzdXJmYWNlLgotICAgIGF1dG8gY29udGV4dCA9IHN1cmZhY2UtPmNyZWF0
ZVBsYXRmb3JtQ29udGV4dCgpOwotICAgIFJldGFpblB0cjxDR0ltYWdlUmVmPiBjZ0ltYWdlID0g
c3VyZmFjZS0+Y3JlYXRlSW1hZ2UoY29udGV4dC5nZXQoKSk7CisgICAgUmV0YWluUHRyPENHSW1h
Z2VSZWY+IGNnSW1hZ2UgPSBzdXJmYWNlLT5jcmVhdGVJbWFnZSgpOwogCiAgICAgc2l6ZV90IGJp
dG1hcFJvd0J5dGVzID0gMDsKICAgICBhdXRvIGJpdG1hcENvbnRleHQgPSBjcmVhdGVCaXRtYXBD
b250ZXh0KGJ1ZmZlcldpZHRoLCBidWZmZXJIZWlnaHQsIGJpdG1hcFJvd0J5dGVzKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggNTE1MjgyNDg3NzcyLi40NzNmMjhlMGI5NGIgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC01OTQsNyArNTk0LDYgQEAKIAkJN0I5RkM1RDYyOEE1MzI2QTAw
NzU3MEU3IC8qIEltYWdlSU8uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0RkZBQTAxRUQzRDBERTAwRjcxMTFGIC8qIEltYWdlSU8u
ZnJhbWV3b3JrICovOyB9OwogCQk3QkEzOTM2QzI3MUVERkNBMDAxNTkxMUMgLyogVGVzdEdyYXBo
aWNzQ29udGV4dEdMQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3QkEzOTM2QjI3MUVERkNBMDAxNTkxMUMgLyogVGVzdEdyYXBoaWNzQ29udGV4
dEdMQ29jb2EubW0gKi87IH07CiAJCTdCQUE0QTkwMjhDQTE0QUUwMDRDRTkzOCAvKiBTdHJlYW1D
b25uZWN0aW9uVGVzdHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gN0JBQTRBOEYyOENBMTRBRTAwNENFOTM4IC8qIFN0cmVhbUNvbm5lY3Rpb25UZXN0
cy5jcHAgKi87IH07Ci0JCTdCQjYyQUJFMjlCQjRCQUEwMDIyOENENiAvKiBJT1N1cmZhY2VUZXN0
cy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCQjYy
QUI2MjlCQjRCQUEwMDIyOENENiAvKiBJT1N1cmZhY2VUZXN0cy5tbSAqLzsgfTsKIAkJN0JCOEJE
RTQyOEYwNzgxQTAwMTI5ODM2IC8qIENvbXBsZXRpb25IYW5kbGVyVGVzdHMuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0JCOEJEREMyOEYwNzgxQTAw
MTI5ODM2IC8qIENvbXBsZXRpb25IYW5kbGVyVGVzdHMuY3BwICovOyB9OwogCQk3QkM4NjI4RjI5
QjhCMzM1MDAyMTdDQjUgLyogRGlzcGxheUxpc3RSZWNvcmRlclRlc3RzLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdCQzg2Mjg3MjlCOEIzMzUwMDIx
N0NCNSAvKiBEaXNwbGF5TGlzdFJlY29yZGVyVGVzdHMuY3BwICovOyB9OwogCQk3QkU4NzYwMzI5
MTk0NTdCMDBCMTUyODkgLyogQXVkaW9TdHJlYW1EZXNjcmlwdGlvbkNvY29hLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0JFODc1RkIyOTE5NDU3QjAw
QjE1Mjg5IC8qIEF1ZGlvU3RyZWFtRGVzY3JpcHRpb25Db2NvYS5tbSAqLzsgfTsKQEAgLTI3Nzks
NyArMjc3OCw2IEBACiAJCTdCOUZDNUNDMjhBNTJEQzAwMDc1NzBFNyAvKiBsaWJXZWJLaXRQbGF0
Zm9ybS5hICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSBh
cmNoaXZlLmFyOyBwYXRoID0gbGliV2ViS2l0UGxhdGZvcm0uYTsgc291cmNlVHJlZSA9IEJVSUxU
X1BST0RVQ1RTX0RJUjsgfTsKIAkJN0JBMzkzNkIyNzFFREZDQTAwMTU5MTFDIC8qIFRlc3RHcmFw
aGljc0NvbnRleHRHTENvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gVGVzdEdyYXBoaWNzQ29udGV4dEdMQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTdCQUE0QThGMjhDQTE0QUUwMDRDRTkzOCAvKiBTdHJlYW1Db25uZWN0aW9uVGVz
dHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3RyZWFtQ29ubmVj
dGlvblRlc3RzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJN0JCNjJBQjYyOUJC
NEJBQTAwMjI4Q0Q2IC8qIElPU3VyZmFjZVRlc3RzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gSU9TdXJmYWNlVGVzdHMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTdCQjc1NEFGMjc0RTM5QTEwMEQwMEVDMSAvKiBXZWJDb3JlVGVzdFV0aWxpdGll
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3JlVGVzdFV0aWxpdGllcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3QkI3NTRCMDI3NEUzOUExMDBEMDBFQzEgLyogV2ViQ29yZVRlc3RV
dGlsaXRpZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29yZVRlc3RVdGlsaXRpZXMuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QkI4QkREQzI4RjA3ODFBMDAxMjk4MzYg
LyogQ29tcGxldGlvbkhhbmRsZXJUZXN0cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBDb21wbGV0aW9uSGFuZGxlclRlc3RzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTU1ODgsNyArNTU4Niw2IEBACiAJCQkJNTEwQTY2N0EyN0QyRkM3QTAwRDIy
NjI5IC8qIENvcmVNZWRpYVV0aWxpdGllcy5tbSAqLywKIAkJCQk3NTFCMDVENTFGOEVBQzFBMDAy
OEEwOUUgLyogRGF0YWJhc2VUcmFja2VyVGVzdC5tbSAqLywKIAkJCQk0MUVCQTlGMTI4QUJBMDY1
MDA5NTMwMTMgLyogSW1hZ2VSb3RhdGlvblNlc3Npb25WVC5jcHAgKi8sCi0JCQkJN0JCNjJBQjYy
OUJCNEJBQTAwMjI4Q0Q2IC8qIElPU3VyZmFjZVRlc3RzLm1tICovLAogCQkJCTU3RjFDOTEwMjVE
REQ1MTkwMEU4RjZFQSAvKiBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudENvY29hLm1tICovLAogCQkJ
CTU3NjlDNTBBMUQ5QjAwMDEwMDA4NDdGQiAvKiBTZXJpYWxpemVkQ3J5cHRvS2V5V3JhcC5tbSAq
LywKIAkJCQlBMTc5OTE4NjFFMUM5OTRFMDBBNTA1RUQgLyogU2hhcmVkQnVmZmVyLm1tICovLApA
QCAtNjM3OCw3ICs2Mzc1LDYgQEAKIAkJCQk3QTkwOUE4MTFEODc3NDgwMDA3RTEwRjggLyogSW50
UG9pbnRUZXN0cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QTkwOUE4MjFEODc3NDgwMDA3RTEw
RjggLyogSW50UmVjdFRlc3RzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBOTA5QTgzMUQ4Nzc0
ODAwMDdFMTBGOCAvKiBJbnRTaXplVGVzdHMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJN0JCNjJB
QkUyOUJCNEJBQTAwMjI4Q0Q2IC8qIElPU3VyZmFjZVRlc3RzLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRjRCOEE1QzEyOEY4QjU0RjAwRTNGNTRGIC8qIElQQWRkcmVzc1Rlc3RzLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTVDMEJGODkzMURENTk5QkQwMEIwMDMyOCAvKiBJc05hdmlnYXRpb25BY3Rp
b25UcnVzdGVkLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0Q1RkY0OUYyMTYyRTk0MzAwNEJEODZG
IC8qIElTT0JveC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9JT1N1cmZhY2VUZXN0cy5tbSBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9jb2NvYS9JT1N1cmZhY2VUZXN0cy5tbQpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYmU2NGNiNTNkZjUxLi4wMDAwMDAwMDAwMDAKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL2NvY29hL0lPU3VyZmFjZVRlc3RzLm1tCisr
KyAvZGV2L251bGwKQEAgLTEsNjEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
LSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgot
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZp
Zy5oIgotCi0jaW1wb3J0ICJUZXN0LmgiCi0jaW1wb3J0IDxXZWJDb3JlL0lPU3VyZmFjZS5oPgot
I2ltcG9ydCA8d3RmL01hY2hTZW5kUmlnaHQuaD4KLQotbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkg
ewotCi1URVNUKElPU3VyZmFjZVRlc3QsIElzSW5Vc2UpCi17Ci0gICAgYXV0byBzMSA9IFdlYkNv
cmU6OklPU3VyZmFjZTo6Y3JlYXRlKG51bGxwdHIsIHsgNSwgNSB9LCBXZWJDb3JlOjpEZXN0aW5h
dGlvbkNvbG9yU3BhY2U6OlNSR0IoKSk7IAotICAgIEVYUEVDVF9GQUxTRShzMS0+aXNJblVzZSgp
KTsKLSAgICBhdXRvIHNlbmRSaWdodDEgPSBzMS0+Y3JlYXRlU2VuZFJpZ2h0KCk7Ci0gICAgRVhQ
RUNUX1RSVUUoczEtPmlzSW5Vc2UoKSk7Ci0gICAgYXV0byBzZW5kUmlnaHQyID0gczEtPmNyZWF0
ZVNlbmRSaWdodCgpOwotICAgIHNlbmRSaWdodDEgPSB7IH07Ci0gICAgRVhQRUNUX1RSVUUoczEt
PmlzSW5Vc2UoKSk7Ci0gICAgc2VuZFJpZ2h0MiA9IHsgfTsKLSAgICBFWFBFQ1RfRkFMU0UoczEt
PmlzSW5Vc2UoKSk7Ci19Ci0KLVRFU1QoSU9TdXJmYWNlVGVzdCwgQ3JlYXRlUGxhdGZvcm1Db250
ZXh0KQotewotICAgIGF1dG8gczEgPSBXZWJDb3JlOjpJT1N1cmZhY2U6OmNyZWF0ZShudWxscHRy
LCB7IDUsIDUgfSwgV2ViQ29yZTo6RGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCkpOyAKLSAg
ICBFWFBFQ1RfRkFMU0UoczEtPmlzSW5Vc2UoKSk7Ci0gICAgYXV0byBjMSA9IHMxLT5jcmVhdGVQ
bGF0Zm9ybUNvbnRleHQoKTsKLSAgICBhdXRvIGMyID0gczEtPmNyZWF0ZVBsYXRmb3JtQ29udGV4
dCgpOwotICAgIEVYUEVDVF9ORShjMSwgYzIpOwotICAgIEVYUEVDVF9GQUxTRShzMS0+aXNJblVz
ZSgpKTsKLSAgICBjMSA9IG51bGxwdHI7Ci0gICAgRVhQRUNUX0ZBTFNFKHMxLT5pc0luVXNlKCkp
OwotICAgIGMyID0gbnVsbHB0cjsKLSAgICBFWFBFQ1RfRkFMU0UoczEtPmlzSW5Vc2UoKSk7Ci19
Ci0KLX0K
</data>

          </attachment>
      

    </bug>

</bugzilla>