<?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>223154</bug_id>
          
          <creation_ts>2021-03-13 18:46:15 -0800</creation_ts>
          <short_desc>REGRESSION(r274379): Some LayoutTests are crashing</short_desc>
          <delta_ts>2021-03-13 18:48:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>222739</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>ashvayka</cc>
    
    <cc>darin</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1739185</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-03-13 18:46:15 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/274379 broke the build:
Some LayoutTests are crashing

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>1739187</commentid>
    <comment_count>1</comment_count>
      <attachid>423112</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-03-13 18:46:27 -0800</bug_when>
    <thetext>Created attachment 423112
REVERT of r274379

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>1739188</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-13 18:47:58 -0800</bug_when>
    <thetext>Committed r274393: &lt;https://commits.webkit.org/r274393&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423112.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1739189</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-13 18:48:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/75400146&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423112</attachid>
            <date>2021-03-13 18:46:27 -0800</date>
            <delta_ts>2021-03-13 18:47:58 -0800</delta_ts>
            <desc>REVERT of r274379</desc>
            <filename>bug-223154-20210314024626.patch</filename>
            <type>text/plain</type>
            <size>54117</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0MzkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
NTliZjMyZmVmZjNhYjBmNjc5NDZjYzNhYWRhZTU2ZGU5Yzk4MjgxLi45MzExNTgzYzkyNzgyZTll
MmIyNDVmYTM5OTM4NTQzMGEzNDY3ODU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAyMS0wMy0xMyAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNzQzNzkuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjMxNTQKKworICAgICAg
ICBTb21lIExheW91dFRlc3RzIGFyZSBjcmFzaGluZworCisgICAgICAgIFJldmVydGVkIGNoYW5n
ZXNldDoKKworICAgICAgICAiQ2FjaGUgY3Jvc3Mtb3JpZ2luIG1ldGhvZHMgLyBhY2Nlc3NvcnMg
b2YgV2luZG93IGFuZCBMb2NhdGlvbgorICAgICAgICBwZXIgbGV4aWNhbCBnbG9iYWwgb2JqZWN0
IgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyNzM5
CisgICAgICAgIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yNzQzNzkKKwogMjAy
MS0wMy0xMyAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CiAKICAgICAg
ICAgQ2FjaGUgY3Jvc3Mtb3JpZ2luIG1ldGhvZHMgLyBhY2Nlc3NvcnMgb2YgV2luZG93IGFuZCBM
b2NhdGlvbiBwZXIgbGV4aWNhbCBnbG9iYWwgb2JqZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjlmNzk4YzRh
MzYwMjM1Nzk0OTg3ODEyM2Y2OTdmMTEzYzdmNTA1NC4uYWNmYTJhYTQ4MGZmZGQ0ZjgwMmIxY2Nh
Y2JmYjY0OGFkODE3Y2UzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTAzLTEz
ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJl
dmlld2VkLCByZXZlcnRpbmcgcjI3NDM3OS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMzE1NAorCisgICAgICAgIFNvbWUgTGF5b3V0VGVzdHMgYXJl
IGNyYXNoaW5nCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0OgorCisgICAgICAgICJDYWNo
ZSBjcm9zcy1vcmlnaW4gbWV0aG9kcyAvIGFjY2Vzc29ycyBvZiBXaW5kb3cgYW5kIExvY2F0aW9u
CisgICAgICAgIHBlciBsZXhpY2FsIGdsb2JhbCBvYmplY3QiCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI3MzkKKyAgICAgICAgaHR0cHM6Ly90cmFj
LndlYmtpdC5vcmcvY2hhbmdlc2V0LzI3NDM3OQorCiAyMDIxLTAzLTEzICBBbnRvaW5lIFF1aW50
ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBpbnRlcnBvbGF0aW9uIG9mIGNs
aXAgQ1NTIHByb3BlcnR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0N1c3RvbUdldHRlckZ1bmN0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQ3VzdG9tR2V0dGVyRnVuY3Rpb24uY3BwCmluZGV4IDhkNTM0NmI4ODNkZmFkMTdhN2Vi
YWVlNzYzYTc3OTljNzVjMTY5N2IuLmJhNzEzNjU1YmFhZmUwOTEyOGMwNTljZTMxNjZlOGUyMGY2
Y2Q2MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ3VzdG9t
R2V0dGVyRnVuY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
Q3VzdG9tR2V0dGVyRnVuY3Rpb24uY3BwCkBAIC00MCw3ICs0MCw5IEBAIEpTQ19ERUZJTkVfSE9T
VF9GVU5DVElPTihjdXN0b21HZXR0ZXJGdW5jdGlvbkNhbGwsIChKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0CiAKICAgICBKU0N1c3RvbUdldHRlckZ1bmN0aW9uKiBjdXN0b21HZXR0ZXJGdW5j
dGlvbiA9IGpzQ2FzdDxKU0N1c3RvbUdldHRlckZ1bmN0aW9uKj4oY2FsbEZyYW1lLT5qc0NhbGxl
ZSgpKTsKICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGNhbGxGcmFtZS0+dGhpc1ZhbHVlKCk7CisK
ICAgICBHZXRWYWx1ZUZ1bmMgZ2V0dGVyID0gY3VzdG9tR2V0dGVyRnVuY3Rpb24tPmdldHRlcigp
OworICAgIEFTU0VSVChnZXR0ZXIpOwogCiAgICAgaWYgKGF1dG8gZG9tQXR0cmlidXRlID0gY3Vz
dG9tR2V0dGVyRnVuY3Rpb24tPmRvbUF0dHJpYnV0ZSgpKSB7CiAgICAgICAgIGlmICghdGhpc1Zh
bHVlLmluaGVyaXRzKHZtLCBkb21BdHRyaWJ1dGUtPmNsYXNzSW5mbykpCkBAIC02MCw3ICs2Miw2
IEBAIEpTQ3VzdG9tR2V0dGVyRnVuY3Rpb246OkpTQ3VzdG9tR2V0dGVyRnVuY3Rpb24oVk0mIHZt
LCBOYXRpdmVFeGVjdXRhYmxlKiBleGVjdXRhCiAKIEpTQ3VzdG9tR2V0dGVyRnVuY3Rpb24qIEpT
Q3VzdG9tR2V0dGVyRnVuY3Rpb246OmNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIGNvbnN0IFByb3BlcnR5TmFtZSYgcHJvcGVydHlOYW1lLCBHZXRWYWx1ZUZ1bmMg
Z2V0dGVyLCBPcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiBkb21BdHRyaWJ1dGUpCiB7
Ci0gICAgQVNTRVJUKGdldHRlcik7CiAgICAgTmF0aXZlRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9
IHZtLmdldEhvc3RGdW5jdGlvbihjdXN0b21HZXR0ZXJGdW5jdGlvbkNhbGwsIGNhbGxIb3N0RnVu
Y3Rpb25Bc0NvbnN0cnVjdG9yLCBTdHJpbmcocHJvcGVydHlOYW1lLnB1YmxpY05hbWUoKSkpOwog
ICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gZ2xvYmFsT2JqZWN0LT5jdXN0b21HZXR0ZXJGdW5j
dGlvblN0cnVjdHVyZSgpOwogICAgIEpTQ3VzdG9tR2V0dGVyRnVuY3Rpb24qIGZ1bmN0aW9uID0g
bmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNDdXN0b21HZXR0ZXJGdW5jdGlvbj4odm0uaGVh
cCkpIEpTQ3VzdG9tR2V0dGVyRnVuY3Rpb24odm0sIGV4ZWN1dGFibGUsIGdsb2JhbE9iamVjdCwg
c3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUsIGdldHRlciwgZG9tQXR0cmlidXRlKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ3VzdG9tU2V0dGVyRnVuY3Rpb24u
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDdXN0b21TZXR0ZXJGdW5jdGlv
bi5jcHAKaW5kZXggMDMxYjExNzI5ZmY4Y2Q4ZjBhN2NjYTIyZTU5YmYxN2QyZGVlODJkZC4uZmUx
NGE2MWEzN2Y4OTg1MmExOGFjMTQxYTI4OTA0Y2I4YjcwYjJjOSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDdXN0b21TZXR0ZXJGdW5jdGlvbi5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDdXN0b21TZXR0ZXJGdW5jdGlvbi5jcHAK
QEAgLTM2LDYgKzM2LDcgQEAgc3RhdGljIEpTQ19ERUNMQVJFX0hPU1RfRlVOQ1RJT04oY3VzdG9t
U2V0dGVyRnVuY3Rpb25DYWxsKTsKIEpTQ19ERUZJTkVfSE9TVF9GVU5DVElPTihjdXN0b21TZXR0
ZXJGdW5jdGlvbkNhbGwsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUq
IGNhbGxGcmFtZSkpCiB7CiAgICAgUHV0VmFsdWVGdW5jIHNldHRlciA9IGpzQ2FzdDxKU0N1c3Rv
bVNldHRlckZ1bmN0aW9uKj4oY2FsbEZyYW1lLT5qc0NhbGxlZSgpKS0+c2V0dGVyKCk7CisgICAg
QVNTRVJUKHNldHRlcik7CiAgICAgc2V0dGVyKGdsb2JhbE9iamVjdCwgSlNWYWx1ZTo6ZW5jb2Rl
KGNhbGxGcmFtZS0+dGhpc1ZhbHVlKCkpLCBKU1ZhbHVlOjplbmNvZGUoY2FsbEZyYW1lLT5hcmd1
bWVudCgwKSkpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiB9
CkBAIC00OCw3ICs0OSw2IEBAIEpTQ3VzdG9tU2V0dGVyRnVuY3Rpb246OkpTQ3VzdG9tU2V0dGVy
RnVuY3Rpb24oVk0mIHZtLCBOYXRpdmVFeGVjdXRhYmxlKiBleGVjdXRhCiAKIEpTQ3VzdG9tU2V0
dGVyRnVuY3Rpb24qIEpTQ3VzdG9tU2V0dGVyRnVuY3Rpb246OmNyZWF0ZShWTSYgdm0sIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIGNvbnN0IFByb3BlcnR5TmFtZSYgcHJvcGVydHlOYW1l
LCBQdXRWYWx1ZUZ1bmMgc2V0dGVyKQogewotICAgIEFTU0VSVChzZXR0ZXIpOwogICAgIE5hdGl2
ZUV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSB2bS5nZXRIb3N0RnVuY3Rpb24oY3VzdG9tU2V0dGVy
RnVuY3Rpb25DYWxsLCBjYWxsSG9zdEZ1bmN0aW9uQXNDb25zdHJ1Y3RvciwgU3RyaW5nKHByb3Bl
cnR5TmFtZS5wdWJsaWNOYW1lKCkpKTsKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGdsb2Jh
bE9iamVjdC0+Y3VzdG9tU2V0dGVyRnVuY3Rpb25TdHJ1Y3R1cmUoKTsKICAgICBKU0N1c3RvbVNl
dHRlckZ1bmN0aW9uKiBmdW5jdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpTQ3Vz
dG9tU2V0dGVyRnVuY3Rpb24+KHZtLmhlYXApKSBKU0N1c3RvbVNldHRlckZ1bmN0aW9uKHZtLCBl
eGVjdXRhYmxlLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSwgc2V0dGVyKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAppbmRleCBlNjBmOWZlNzA3Mzg3M2RhMGFi
ZmQxYjE3NWJlMGU5NDBiMzEwZmM1Li43MjU5YjVkMzE0MDcxNWRlOTgzMjJmNWM0MGFhMzkzMjBk
OTY3NmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVj
dC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCkBA
IC0zNTIxLDE4ICszNTIxLDI0IEBAIEJ1dHRlcmZseSogSlNPYmplY3Q6OmFsbG9jYXRlTW9yZU91
dE9mTGluZVN0b3JhZ2UoVk0mIHZtLCBzaXplX3Qgb2xkU2l6ZSwgc2l6ZV90CiAgICAgcmV0dXJu
IEJ1dHRlcmZseTo6Y3JlYXRlT3JHcm93UHJvcGVydHlTdG9yYWdlKGJ1dHRlcmZseSgpLCB2bSwg
dGhpcywgc3RydWN0dXJlKHZtKSwgb2xkU2l6ZSwgbmV3U2l6ZSk7CiB9CiAKLXN0YXRpYyBKU0N1
c3RvbUdldHRlckZ1bmN0aW9uKiBjcmVhdGVDdXN0b21HZXR0ZXJGdW5jdGlvbihKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBHZXRWYWx1ZUZ1
bmMgZ2V0VmFsdWVGdW5jLCBPcHRpb25hbDxET01BdHRyaWJ1dGVBbm5vdGF0aW9uPiBkb21BdHRy
aWJ1dGUpCitzdGF0aWMgSlNDdXN0b21HZXR0ZXJGdW5jdGlvbiogZ2V0Q3VzdG9tR2V0dGVyRnVu
Y3Rpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSwgR2V0VmFsdWVGdW5jIGdldFZhbHVlRnVuYywgT3B0aW9uYWw8RE9NQXR0cmlidXRlQW5u
b3RhdGlvbj4gZG9tQXR0cmlidXRlKQogewotICAgIHJldHVybiBnbG9iYWxPYmplY3QtPmN1c3Rv
bUdldHRlckZ1bmN0aW9uTWFwKCkuZW5zdXJlKGdldFZhbHVlRnVuYywgWyZdIHsKLSAgICAgICAg
cmV0dXJuIEpTQ3VzdG9tR2V0dGVyRnVuY3Rpb246OmNyZWF0ZShnbG9iYWxPYmplY3QtPnZtKCks
IGdsb2JhbE9iamVjdCwgcHJvcGVydHlOYW1lLCBnZXRWYWx1ZUZ1bmMsIGRvbUF0dHJpYnV0ZSk7
Ci0gICAgfSkuaXRlcmF0b3ItPnZhbHVlLmdldCgpOworICAgIEpTQ3VzdG9tR2V0dGVyRnVuY3Rp
b24qIGN1c3RvbUdldHRlckZ1bmN0aW9uID0gZ2xvYmFsT2JqZWN0LT5jdXN0b21HZXR0ZXJGdW5j
dGlvbk1hcCgpLmdldChnZXRWYWx1ZUZ1bmMpOworICAgIGlmICghY3VzdG9tR2V0dGVyRnVuY3Rp
b24pIHsKKyAgICAgICAgY3VzdG9tR2V0dGVyRnVuY3Rpb24gPSBKU0N1c3RvbUdldHRlckZ1bmN0
aW9uOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmplY3QsIHByb3BlcnR5TmFt
ZSwgZ2V0VmFsdWVGdW5jLCBkb21BdHRyaWJ1dGUpOworICAgICAgICBnbG9iYWxPYmplY3QtPmN1
c3RvbUdldHRlckZ1bmN0aW9uTWFwKCkuc2V0KGdldFZhbHVlRnVuYywgY3VzdG9tR2V0dGVyRnVu
Y3Rpb24pOworICAgIH0KKyAgICByZXR1cm4gY3VzdG9tR2V0dGVyRnVuY3Rpb247CiB9CiAKLXN0
YXRpYyBKU0N1c3RvbVNldHRlckZ1bmN0aW9uKiBjcmVhdGVDdXN0b21TZXR0ZXJGdW5jdGlvbihK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQ
dXRWYWx1ZUZ1bmMgcHV0VmFsdWVGdW5jKQorc3RhdGljIEpTQ3VzdG9tU2V0dGVyRnVuY3Rpb24q
IGdldEN1c3RvbVNldHRlckZ1bmN0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFBy
b3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIFB1dFZhbHVlRnVuYyBwdXRWYWx1ZUZ1bmMpCiB7Ci0g
ICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+Y3VzdG9tU2V0dGVyRnVuY3Rpb25NYXAoKS5lbnN1cmUo
cHV0VmFsdWVGdW5jLCBbJl0gewotICAgICAgICByZXR1cm4gSlNDdXN0b21TZXR0ZXJGdW5jdGlv
bjo6Y3JlYXRlKGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0LCBwcm9wZXJ0eU5hbWUs
IHB1dFZhbHVlRnVuYyk7Ci0gICAgfSkuaXRlcmF0b3ItPnZhbHVlLmdldCgpOworICAgIEpTQ3Vz
dG9tU2V0dGVyRnVuY3Rpb24qIGN1c3RvbVNldHRlckZ1bmN0aW9uID0gZ2xvYmFsT2JqZWN0LT5j
dXN0b21TZXR0ZXJGdW5jdGlvbk1hcCgpLmdldChwdXRWYWx1ZUZ1bmMpOworICAgIGlmICghY3Vz
dG9tU2V0dGVyRnVuY3Rpb24pIHsKKyAgICAgICAgY3VzdG9tU2V0dGVyRnVuY3Rpb24gPSBKU0N1
c3RvbVNldHRlckZ1bmN0aW9uOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LT52bSgpLCBnbG9iYWxPYmpl
Y3QsIHByb3BlcnR5TmFtZSwgcHV0VmFsdWVGdW5jKTsKKyAgICAgICAgZ2xvYmFsT2JqZWN0LT5j
dXN0b21TZXR0ZXJGdW5jdGlvbk1hcCgpLnNldChwdXRWYWx1ZUZ1bmMsIGN1c3RvbVNldHRlckZ1
bmN0aW9uKTsKKyAgICB9CisgICAgcmV0dXJuIGN1c3RvbVNldHRlckZ1bmN0aW9uOwogfQogCiBi
b29sIEpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlEZXNjcmlwdG9y
JiBkZXNjcmlwdG9yKQpAQCAtMzU1Myw5ICszNTU5LDkgQEAgYm9vbCBKU09iamVjdDo6Z2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFByb3BlcnR5
TmEKICAgICAgICAgZGVzY3JpcHRvci5zZXRBY2Nlc3NvckRlc2NyaXB0b3IoKHNsb3QuYXR0cmli
dXRlcygpIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yKSAmIH5Qcm9wZXJ0eUF0dHJpYnV0
ZTo6Q3VzdG9tQWNjZXNzb3IpOwogICAgICAgICBKU0dsb2JhbE9iamVjdCogc2xvdEJhc2VHbG9i
YWxPYmplY3QgPSBzbG90LnNsb3RCYXNlKCktPmdsb2JhbE9iamVjdCh2bSk7CiAgICAgICAgIGlm
IChzbG90LmN1c3RvbUdldHRlcigpKQotICAgICAgICAgICAgZGVzY3JpcHRvci5zZXRHZXR0ZXIo
Y3JlYXRlQ3VzdG9tR2V0dGVyRnVuY3Rpb24oc2xvdEJhc2VHbG9iYWxPYmplY3QsIHByb3BlcnR5
TmFtZSwgc2xvdC5jdXN0b21HZXR0ZXIoKSwgc2xvdC5kb21BdHRyaWJ1dGUoKSkpOworICAgICAg
ICAgICAgZGVzY3JpcHRvci5zZXRHZXR0ZXIoZ2V0Q3VzdG9tR2V0dGVyRnVuY3Rpb24oc2xvdEJh
c2VHbG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZSwgc2xvdC5jdXN0b21HZXR0ZXIoKSwgc2xvdC5k
b21BdHRyaWJ1dGUoKSkpOwogICAgICAgICBpZiAoc2xvdC5jdXN0b21TZXR0ZXIoKSkKLSAgICAg
ICAgICAgIGRlc2NyaXB0b3Iuc2V0U2V0dGVyKGNyZWF0ZUN1c3RvbVNldHRlckZ1bmN0aW9uKHNs
b3RCYXNlR2xvYmFsT2JqZWN0LCBwcm9wZXJ0eU5hbWUsIHNsb3QuY3VzdG9tU2V0dGVyKCkpKTsK
KyAgICAgICAgICAgIGRlc2NyaXB0b3Iuc2V0U2V0dGVyKGdldEN1c3RvbVNldHRlckZ1bmN0aW9u
KHNsb3RCYXNlR2xvYmFsT2JqZWN0LCBwcm9wZXJ0eU5hbWUsIHNsb3QuY3VzdG9tU2V0dGVyKCkp
KTsKICAgICB9IGVsc2UgewogICAgICAgICBKU1ZhbHVlIHZhbHVlID0gc2xvdC5nZXRWYWx1ZShn
bG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZSk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
c2NvcGUsIGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0xvb2t1cC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXgg
NGZmYzcyMjBkNGQ4MGVkNmZhMDQ1ZDY4YzU0NDg1MjQyNTMyNjllMC4uY2Q2NWZkZjk5NDMzMDdm
OTg4NDlkMGE5NzZmMzU2MzMzODg2ZjY0MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTG9va3VwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TG9va3VwLmgKQEAgLTQxNCw0ICs0MTQsOSBAQCBpbmxpbmUgdm9pZCByZWlmeVN0YXRpY1Byb3Bl
cnRpZXMoVk0mIHZtLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgY29uc3QgSGFzaAogICAg
IH0KIH0KIAordGVtcGxhdGU8UmF3TmF0aXZlRnVuY3Rpb24gbmF0aXZlRnVuY3Rpb24sIGludCBs
ZW5ndGg+IEVuY29kZWRKU1ZhbHVlIG5vbkNhY2hpbmdTdGF0aWNGdW5jdGlvbkdldHRlckltcGwo
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkK
K3sKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTRnVuY3Rpb246OmNyZWF0ZShnbG9iYWxP
YmplY3QtPnZtKCksIGdsb2JhbE9iamVjdCwgbGVuZ3RoLCBwcm9wZXJ0eU5hbWUucHVibGljTmFt
ZSgpLCBuYXRpdmVGdW5jdGlvbikpOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKaW5kZXggZTY1MzU1ODI5ZTY2NjlkNjky
NDQ3Nzk3ZjZhNTcxMTk1Y2FhZjZmZi4uOTEyY2Q0MTk2YjU5MDIzYzUzZWM2NWJlNTE1OGUyMmQy
ZWIwNTQ2NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dD
TWFwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKQEAg
LTY0LDEyICs2NCw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fbWFwLnNldChrZXksIFdU
Rk1vdmUodmFsdWUpKTsKICAgICB9CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdG9yPgot
ICAgIEFkZFJlc3VsdCBlbnN1cmUoY29uc3QgS2V5VHlwZSYga2V5LCBGdW5jdG9yJiYgZnVuY3Rv
cikKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX21hcC5lbnN1cmUoa2V5LCBzdGQ6OmZvcndhcmQ8
RnVuY3Rvcj4oZnVuY3RvcikpOwotICAgIH0KLQogICAgIGJvb2wgcmVtb3ZlKGNvbnN0IEtleVR5
cGUmIGtleSkKICAgICB7CiAgICAgICAgIHJldHVybiBtX21hcC5yZW1vdmUoa2V5KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAppbmRleCA1
ZThiMjZlZjNkNWJhM2U1YzAwMTczMTQ5MWU5YjAxZTQ4YTIxYWNkLi4zOTk4YWFjMGFjODIwM2E0
MTFkNzFhMTkyNjgyODY1OWQyYzA1ZmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCkBAIC01NCwxMyArNTQsOSBAQAogI2luY2x1ZGUg
IldvcmtsZXRHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0J1aWx0aW5O
YW1lcy5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0NvZGVCbG9jay5oPgotI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL0dldHRlclNldHRlci5oPgotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0pTQ3VzdG9tR2V0dGVyRnVuY3Rpb24uaD4KLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0N1
c3RvbVNldHRlckZ1bmN0aW9uLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNJbnRlcm5h
bFByb21pc2UuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TdHJ1Y3R1cmVJbmxpbmVzLmg+
CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvV2FzbVN0cmVhbWluZ0NvbXBpbGVyLmg+Ci0jaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvV2Vha0dDTWFwSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiB1c2luZyBuYW1lc3BhY2UgSlNDOwpAQCAtNzksOCArNzUsNiBAQCBKU0RPTUdsb2Jh
bE9iamVjdDo6SlNET01HbG9iYWxPYmplY3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
UmVmPERPTVdyYXBwZQogICAgICwgbV93b3JsZChXVEZNb3ZlKHdvcmxkKSkKICAgICAsIG1fd29y
bGRJc05vcm1hbChtX3dvcmxkLT5pc05vcm1hbCgpKQogICAgICwgbV9idWlsdGluSW50ZXJuYWxG
dW5jdGlvbnModm0pCi0gICAgLCBtX2Nyb3NzT3JpZ2luRnVuY3Rpb25NYXAodm0pCi0gICAgLCBt
X2Nyb3NzT3JpZ2luR2V0dGVyU2V0dGVyTWFwKHZtKQogewogfQogCkBAIC0zMDQsMjYgKzI5OCw2
IEBAIHZvaWQgSlNET01HbG9iYWxPYmplY3Q6OmNsZWFyRE9NR3VhcmRlZE9iamVjdHMoKQogICAg
ICAgICBndWFyZGVkLT5jbGVhcigpOwogfQogCi1KU0Z1bmN0aW9uKiBKU0RPTUdsb2JhbE9iamVj
dDo6Y3JlYXRlQ3Jvc3NPcmlnaW5GdW5jdGlvbihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgTmF0aXZlRnVuY3Rpb24gbmF0aXZl
RnVuY3Rpb24sIHVuc2lnbmVkIGxlbmd0aCkKLXsKLSAgICBDcm9zc09yaWdpbk1hcEtleSBrZXkg
PSBzdGQ6Om1ha2VfcGFpcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBuYXRpdmVGdW5jdGlvbi5yYXdQ
b2ludGVyKCkpOwotICAgIHJldHVybiBtX2Nyb3NzT3JpZ2luRnVuY3Rpb25NYXAuZW5zdXJlKGtl
eSwgWyZdIHsKLSAgICAgICAgcmV0dXJuIEpTRnVuY3Rpb246OmNyZWF0ZShsZXhpY2FsR2xvYmFs
T2JqZWN0LT52bSgpLCBsZXhpY2FsR2xvYmFsT2JqZWN0LCBsZW5ndGgsIHByb3BlcnR5TmFtZS5w
dWJsaWNOYW1lKCksIG5hdGl2ZUZ1bmN0aW9uKTsKLSAgICB9KS5pdGVyYXRvci0+dmFsdWUuZ2V0
KCk7Ci19Ci0KLUdldHRlclNldHRlciogSlNET01HbG9iYWxPYmplY3Q6OmNyZWF0ZUNyb3NzT3Jp
Z2luR2V0dGVyU2V0dGVyKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBQcm9w
ZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBHZXRWYWx1ZUZ1bmMgZ2V0dGVyLCBQdXRWYWx1ZUZ1bmMg
c2V0dGVyKQotewotICAgIEFTU0VSVChnZXR0ZXIgfHwgc2V0dGVyKTsKLSAgICBDcm9zc09yaWdp
bk1hcEtleSBrZXkgPSBzdGQ6Om1ha2VfcGFpcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBnZXR0ZXIg
PyByZWludGVycHJldF9jYXN0PHZvaWQqPihnZXR0ZXIpIDogcmVpbnRlcnByZXRfY2FzdDx2b2lk
Kj4oc2V0dGVyKSk7Ci0gICAgcmV0dXJuIG1fY3Jvc3NPcmlnaW5HZXR0ZXJTZXR0ZXJNYXAuZW5z
dXJlKGtleSwgWyZdIHsKLSAgICAgICAgYXV0byYgdm0gPSBsZXhpY2FsR2xvYmFsT2JqZWN0LT52
bSgpOwotICAgICAgICByZXR1cm4gR2V0dGVyU2V0dGVyOjpjcmVhdGUodm0sIGxleGljYWxHbG9i
YWxPYmplY3QsCi0gICAgICAgICAgICBnZXR0ZXIgPyBKU0N1c3RvbUdldHRlckZ1bmN0aW9uOjpj
cmVhdGUodm0sIGxleGljYWxHbG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZSwgZ2V0dGVyKSA6IG51
bGxwdHIsCi0gICAgICAgICAgICBzZXR0ZXIgPyBKU0N1c3RvbVNldHRlckZ1bmN0aW9uOjpjcmVh
dGUodm0sIGxleGljYWxHbG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZSwgc2V0dGVyKSA6IG51bGxw
dHIpOwotICAgIH0pLml0ZXJhdG9yLT52YWx1ZS5nZXQoKTsKLX0KLQogI2lmIEVOQUJMRShXRUJB
U1NFTUJMWSkKIC8vIGh0dHBzOi8vd2ViYXNzZW1ibHkuZ2l0aHViLmlvL3NwZWMvd2ViLWFwaS9p
bmRleC5odG1sI2NvbXBpbGUtYS1wb3RlbnRpYWwtd2ViYXNzZW1ibHktcmVzcG9uc2UKIHN0YXRp
YyBKU0M6OkpTUHJvbWlzZSogaGFuZGxlUmVzcG9uc2VPblN0cmVhbWluZ0FjdGlvbihKU0M6OkpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBzb3VyY2UsIEpTQzo6V2Fz
bTo6Q29tcGlsZXJNb2RlIGNvbXBpbGVyTW9kZSwgSlNDOjpKU09iamVjdCogaW1wb3J0T2JqZWN0
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmpl
Y3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgKaW5k
ZXggY2YwZmQ4MjFjNjhjYTJiOWM0NTQ5OGI0N2Q3Y2NkZTQ4MzUwODRkMy4uZDQ5NzNkMDkzNWI3
MzhlZWQ2ZWIzYTFmZjI2MDcxZmQ2MGY2ZWI1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCkBAIC0zMSw3ICszMSw2IEBACiAjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvSlNHbG9iYWxPYmplY3QuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9KU09iamVjdElubGluZXMuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Mb2NrRHVyaW5n
TWFya2luZy5oPgotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1dlYWtHQ01hcC5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTg0LDkgKzgzLDYgQEAgcHVibGljOgogCiAgICAgSlNDOjpK
U1Byb3h5JiBwcm94eSgpIGNvbnN0IHsgQVNTRVJUKG1fcHJveHkpOyByZXR1cm4gKm1fcHJveHku
Z2V0KCk7IH0KIAotICAgIEpTQzo6SlNGdW5jdGlvbiogY3JlYXRlQ3Jvc3NPcmlnaW5GdW5jdGlv
bihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpQcm9wZXJ0eU5hbWUsIEpTQzo6TmF0aXZlRnVu
Y3Rpb24sIHVuc2lnbmVkIGxlbmd0aCk7Ci0gICAgSlNDOjpHZXR0ZXJTZXR0ZXIqIGNyZWF0ZUNy
b3NzT3JpZ2luR2V0dGVyU2V0dGVyKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OlByb3BlcnR5
TmFtZSwgSlNDOjpHZXRWYWx1ZUZ1bmMsIEpTQzo6UHV0VmFsdWVGdW5jKTsKLQogcHVibGljOgog
ICAgIH5KU0RPTUdsb2JhbE9iamVjdCgpOwogCkBAIC0xMjgsMTEgKzEyNCw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBhZGRCdWlsdGluR2xvYmFscyhKU0M6OlZNJik7CiAgICAgZnJpZW5kIHZvaWQg
SlNCdWlsdGluSW50ZXJuYWxGdW5jdGlvbnM6OmluaXRpYWxpemUoSlNET01HbG9iYWxPYmplY3Qm
KTsKIAotICAgIHVzaW5nIENyb3NzT3JpZ2luTWFwS2V5ID0gc3RkOjpwYWlyPEpTQzo6SlNHbG9i
YWxPYmplY3QqLCB2b2lkKj47Ci0KICAgICBKU0J1aWx0aW5JbnRlcm5hbEZ1bmN0aW9ucyBtX2J1
aWx0aW5JbnRlcm5hbEZ1bmN0aW9uczsKLSAgICBKU0M6OldlYWtHQ01hcDxDcm9zc09yaWdpbk1h
cEtleSwgSlNDOjpKU0Z1bmN0aW9uPiBtX2Nyb3NzT3JpZ2luRnVuY3Rpb25NYXA7Ci0gICAgSlND
OjpXZWFrR0NNYXA8Q3Jvc3NPcmlnaW5NYXBLZXksIEpTQzo6R2V0dGVyU2V0dGVyPiBtX2Nyb3Nz
T3JpZ2luR2V0dGVyU2V0dGVyTWFwOwogfTsKIAogdGVtcGxhdGU8Y2xhc3MgQ29uc3RydWN0b3JD
bGFzcz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9t
LmNwcAppbmRleCA0ZjgwZThlNjg1YTQzNjVhNDBmZjAxYjMyZWJlNjQ2OTcyOThiMjAwLi41Mjk2
ZTY2OGZlYjJkOTE1YzQ1YTFiZTJmZjE2YTVhOGE0OWI5N2E1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCkBAIC00OCw5ICs0OCwxMiBA
QAogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5o
IgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0J1aWx0aW5OYW1lcy5oPgorI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL0dldHRlclNldHRlci5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0hl
YXBBbmFseXplci5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0ludGVybmFsRnVuY3Rpb24u
aD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0NJbmxpbmVzLmg+CisjaW5jbHVkZSA8SmF2
YVNjcmlwdENvcmUvSlNDdXN0b21HZXR0ZXJGdW5jdGlvbi5oPgorI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL0pTQ3VzdG9tU2V0dGVyRnVuY3Rpb24uaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9KU0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNNaWNyb3Rhc2suaD4K
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Mb29rdXAuaD4KQEAgLTY0LDEwICs2Nyw1OCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBzdGF0aWMgSlNDX0RF
Q0xBUkVfSE9TVF9GVU5DVElPTihqc0RPTVdpbmRvd0luc3RhbmNlRnVuY3Rpb25fb3BlbkRhdGFi
YXNlKTsKK3N0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzUmVtb3RlRE9NV2luZG93
SW5zdGFuY2VGdW5jdGlvbl9ibHVyTm9uQ2FjaGluZyk7CitzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VT
VE9NX0dFVFRFUihqc0RPTVdpbmRvd0luc3RhbmNlRnVuY3Rpb25fYmx1ck5vbkNhY2hpbmcpOwor
c3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNSZW1vdGVET01XaW5kb3dJbnN0YW5j
ZUZ1bmN0aW9uX2Nsb3NlTm9uQ2FjaGluZyk7CitzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dF
VFRFUihqc0RPTVdpbmRvd0luc3RhbmNlRnVuY3Rpb25fY2xvc2VOb25DYWNoaW5nKTsKK3N0YXRp
YyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzUmVtb3RlRE9NV2luZG93SW5zdGFuY2VGdW5j
dGlvbl9mb2N1c05vbkNhY2hpbmcpOworc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIo
anNET01XaW5kb3dJbnN0YW5jZUZ1bmN0aW9uX2ZvY3VzTm9uQ2FjaGluZyk7CitzdGF0aWMgSlND
X0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1JlbW90ZURPTVdpbmRvd0luc3RhbmNlRnVuY3Rpb25f
cG9zdE1lc3NhZ2VOb25DYWNoaW5nKTsKK3N0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVS
KGpzRE9NV2luZG93SW5zdGFuY2VGdW5jdGlvbl9wb3N0TWVzc2FnZU5vbkNhY2hpbmcpOwogI2lm
IEVOQUJMRShVU0VSX01FU1NBR0VfSEFORExFUlMpCiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9N
X0dFVFRFUihqc0RPTVdpbmRvd193ZWJraXQpOwogI2VuZGlmCiAKK0pTQ19ERUZJTkVfQ1VTVE9N
X0dFVFRFUihqc1JlbW90ZURPTVdpbmRvd0luc3RhbmNlRnVuY3Rpb25fYmx1ck5vbkNhY2hpbmcs
IChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlO
YW1lIHByb3BlcnR5TmFtZSkpCit7CisgICAgcmV0dXJuIG5vbkNhY2hpbmdTdGF0aWNGdW5jdGlv
bkdldHRlckltcGw8anNSZW1vdGVET01XaW5kb3dJbnN0YW5jZUZ1bmN0aW9uX2JsdXIsIDA+KGds
b2JhbE9iamVjdCwgcHJvcGVydHlOYW1lKTsKK30KKworSlNDX0RFRklORV9DVVNUT01fR0VUVEVS
KGpzRE9NV2luZG93SW5zdGFuY2VGdW5jdGlvbl9ibHVyTm9uQ2FjaGluZywgKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlO
YW1lKSkKK3sKKyAgICByZXR1cm4gbm9uQ2FjaGluZ1N0YXRpY0Z1bmN0aW9uR2V0dGVySW1wbDxq
c0RPTVdpbmRvd0luc3RhbmNlRnVuY3Rpb25fYmx1ciwgMD4oZ2xvYmFsT2JqZWN0LCBwcm9wZXJ0
eU5hbWUpOworfQorCitKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNSZW1vdGVET01XaW5kb3dJ
bnN0YW5jZUZ1bmN0aW9uX2Nsb3NlTm9uQ2FjaGluZywgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKSkKK3sKKyAg
ICByZXR1cm4gbm9uQ2FjaGluZ1N0YXRpY0Z1bmN0aW9uR2V0dGVySW1wbDxqc1JlbW90ZURPTVdp
bmRvd0luc3RhbmNlRnVuY3Rpb25fY2xvc2UsIDA+KGdsb2JhbE9iamVjdCwgcHJvcGVydHlOYW1l
KTsKK30KKworSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzRE9NV2luZG93SW5zdGFuY2VGdW5j
dGlvbl9jbG9zZU5vbkNhY2hpbmcsIChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFbmNv
ZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkpCit7CisgICAgcmV0dXJuIG5v
bkNhY2hpbmdTdGF0aWNGdW5jdGlvbkdldHRlckltcGw8anNET01XaW5kb3dJbnN0YW5jZUZ1bmN0
aW9uX2Nsb3NlLCAwPihnbG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZSk7Cit9CisKK0pTQ19ERUZJ
TkVfQ1VTVE9NX0dFVFRFUihqc1JlbW90ZURPTVdpbmRvd0luc3RhbmNlRnVuY3Rpb25fZm9jdXNO
b25DYWNoaW5nLCAoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUs
IFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpKQoreworICAgIHJldHVybiBub25DYWNoaW5nU3Rh
dGljRnVuY3Rpb25HZXR0ZXJJbXBsPGpzUmVtb3RlRE9NV2luZG93SW5zdGFuY2VGdW5jdGlvbl9m
b2N1cywgMD4oZ2xvYmFsT2JqZWN0LCBwcm9wZXJ0eU5hbWUpOworfQorCitKU0NfREVGSU5FX0NV
U1RPTV9HRVRURVIoanNET01XaW5kb3dJbnN0YW5jZUZ1bmN0aW9uX2ZvY3VzTm9uQ2FjaGluZywg
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5h
bWUgcHJvcGVydHlOYW1lKSkKK3sKKyAgICByZXR1cm4gbm9uQ2FjaGluZ1N0YXRpY0Z1bmN0aW9u
R2V0dGVySW1wbDxqc0RPTVdpbmRvd0luc3RhbmNlRnVuY3Rpb25fZm9jdXMsIDA+KGdsb2JhbE9i
amVjdCwgcHJvcGVydHlOYW1lKTsKK30KKworSlNDX0RFRklORV9DVVNUT01fR0VUVEVSKGpzUmVt
b3RlRE9NV2luZG93SW5zdGFuY2VGdW5jdGlvbl9wb3N0TWVzc2FnZU5vbkNhY2hpbmcsIChKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lIHBy
b3BlcnR5TmFtZSkpCit7CisgICAgcmV0dXJuIG5vbkNhY2hpbmdTdGF0aWNGdW5jdGlvbkdldHRl
ckltcGw8anNSZW1vdGVET01XaW5kb3dJbnN0YW5jZUZ1bmN0aW9uX3Bvc3RNZXNzYWdlLCAwPihn
bG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZSk7Cit9CisKK0pTQ19ERUZJTkVfQ1VTVE9NX0dFVFRF
Uihqc0RPTVdpbmRvd0luc3RhbmNlRnVuY3Rpb25fcG9zdE1lc3NhZ2VOb25DYWNoaW5nLCAoSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSBw
cm9wZXJ0eU5hbWUpKQoreworICAgIHJldHVybiBub25DYWNoaW5nU3RhdGljRnVuY3Rpb25HZXR0
ZXJJbXBsPGpzRE9NV2luZG93SW5zdGFuY2VGdW5jdGlvbl9wb3N0TWVzc2FnZSwgMj4oZ2xvYmFs
T2JqZWN0LCBwcm9wZXJ0eU5hbWUpOworfQorCiB0ZW1wbGF0ZTx0eXBlbmFtZSBWaXNpdG9yPgog
dm9pZCBKU0RPTVdpbmRvdzo6dmlzaXRBZGRpdGlvbmFsQ2hpbGRyZW4oVmlzaXRvciYgdmlzaXRv
cikKIHsKQEAgLTEwNiwzNCArMTU3LDQ1IEBAIGJvb2wganNET01XaW5kb3dHZXRPd25Qcm9wZXJ0
eVNsb3RSZXN0cmljdGVkQWNjZXNzKEpTRE9NR2xvYmFsT2JqZWN0KiB0aGlzT2JqZWN0CiAgICAg
Ly8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jY3Jvc3NvcmlnaW5nZXRvd25wcm9wZXJ0
eWhlbHBlci0oLW8sLXAtKQogCiAgICAgLy8gVGhlc2UgYXJlIHRoZSBmdW5jdGlvbnMgd2UgYWxs
b3cgYWNjZXNzIHRvIGNyb3NzLW9yaWdpbiAoRG9Ob3RDaGVja1NlY3VyaXR5IGluIElETCkuCi0g
ICAgYXV0byogY2xhc3NJbmZvID0gd2luZG93VHlwZSA9PSBET01XaW5kb3dUeXBlOjpSZW1vdGUg
PyBKU1JlbW90ZURPTVdpbmRvdzo6aW5mbygpIDogSlNET01XaW5kb3c6OmluZm8oKTsKLSAgICBp
ZiAocHJvcGVydHlOYW1lID09IGJ1aWx0aW5OYW1lcy5jbG9zZVB1YmxpY05hbWUoKQotICAgICAg
ICB8fCBwcm9wZXJ0eU5hbWUgPT0gYnVpbHRpbk5hbWVzLmZvY3VzUHVibGljTmFtZSgpCi0gICAg
ICAgIHx8IHByb3BlcnR5TmFtZSA9PSBidWlsdGluTmFtZXMuYmx1clB1YmxpY05hbWUoKQotICAg
ICAgICB8fCBwcm9wZXJ0eU5hbWUgPT0gYnVpbHRpbk5hbWVzLnBvc3RNZXNzYWdlUHVibGljTmFt
ZSgpKSB7Ci0gICAgICAgIGF1dG8qIGVudHJ5ID0gY2xhc3NJbmZvLT5zdGF0aWNQcm9wSGFzaFRh
YmxlLT5lbnRyeShwcm9wZXJ0eU5hbWUpOwotICAgICAgICBhdXRvKiBqc0Z1bmN0aW9uID0gdGhp
c09iamVjdC0+Y3JlYXRlQ3Jvc3NPcmlnaW5GdW5jdGlvbigmbGV4aWNhbEdsb2JhbE9iamVjdCwg
cHJvcGVydHlOYW1lLCBlbnRyeS0+ZnVuY3Rpb24oKSwgZW50cnktPmZ1bmN0aW9uTGVuZ3RoKCkp
OwotICAgICAgICBzbG90LnNldFZhbHVlKHRoaXNPYmplY3QsIFByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSwganNGdW5jdGlvbik7CisgICAg
Ly8gQWx3YXlzIHByb3ZpZGUgdGhlIG9yaWdpbmFsIGZ1bmN0aW9uLCBvbiBhIGZyZXNoIHVuY2Fj
aGVkIGZ1bmN0aW9uIG9iamVjdC4KKyAgICBpZiAocHJvcGVydHlOYW1lID09IGJ1aWx0aW5OYW1l
cy5ibHVyUHVibGljTmFtZSgpKSB7CisgICAgICAgIHNsb3Quc2V0Q3VzdG9tKHRoaXNPYmplY3Qs
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgd2luZG93VHlwZSA9PSBET01XaW5k
b3dUeXBlOjpSZW1vdGUgPyBqc1JlbW90ZURPTVdpbmRvd0luc3RhbmNlRnVuY3Rpb25fYmx1ck5v
bkNhY2hpbmcgOiBqc0RPTVdpbmRvd0luc3RhbmNlRnVuY3Rpb25fYmx1ck5vbkNhY2hpbmcpOwor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgaWYgKHByb3BlcnR5TmFtZSA9PSBidWls
dGluTmFtZXMuY2xvc2VQdWJsaWNOYW1lKCkpIHsKKyAgICAgICAgc2xvdC5zZXRDdXN0b20odGhp
c09iamVjdCwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJl
YWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCB3aW5kb3dUeXBlID09
IERPTVdpbmRvd1R5cGU6OlJlbW90ZSA/IGpzUmVtb3RlRE9NV2luZG93SW5zdGFuY2VGdW5jdGlv
bl9jbG9zZU5vbkNhY2hpbmcgOiBqc0RPTVdpbmRvd0luc3RhbmNlRnVuY3Rpb25fY2xvc2VOb25D
YWNoaW5nKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIGlmIChwcm9wZXJ0eU5h
bWUgPT0gYnVpbHRpbk5hbWVzLmZvY3VzUHVibGljTmFtZSgpKSB7CisgICAgICAgIHNsb3Quc2V0
Q3VzdG9tKHRoaXNPYmplY3QsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgd2lu
ZG93VHlwZSA9PSBET01XaW5kb3dUeXBlOjpSZW1vdGUgPyBqc1JlbW90ZURPTVdpbmRvd0luc3Rh
bmNlRnVuY3Rpb25fZm9jdXNOb25DYWNoaW5nIDoganNET01XaW5kb3dJbnN0YW5jZUZ1bmN0aW9u
X2ZvY3VzTm9uQ2FjaGluZyk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBpZiAo
cHJvcGVydHlOYW1lID09IGJ1aWx0aW5OYW1lcy5wb3N0TWVzc2FnZVB1YmxpY05hbWUoKSkgewor
ICAgICAgICBzbG90LnNldEN1c3RvbSh0aGlzT2JqZWN0LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpEb250RW51bSksIHdpbmRvd1R5cGUgPT0gRE9NV2luZG93VHlwZTo6UmVtb3RlID8ganNSZW1v
dGVET01XaW5kb3dJbnN0YW5jZUZ1bmN0aW9uX3Bvc3RNZXNzYWdlTm9uQ2FjaGluZyA6IGpzRE9N
V2luZG93SW5zdGFuY2VGdW5jdGlvbl9wb3N0TWVzc2FnZU5vbkNhY2hpbmcpOwogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICB9CiAKICAgICAvLyBXaGVuIGFjY2Vzc2luZyBjcm9zcy1vcmlnaW4g
a25vd24gV2luZG93IHByb3BlcnRpZXMsIHdlIGFsd2F5cyB1c2UgdGhlIG9yaWdpbmFsIHByb3Bl
cnR5IGdldHRlciwKICAgICAvLyBldmVuIGlmIHRoZSBwcm9wZXJ0eSB3YXMgcmVtb3ZlZCAvIHJl
ZGVmaW5lZC4gQXMgb2YgZWFybHkgMjAxNiwgdGhpcyBtYXRjaGVzIEZpcmVmb3ggYW5kIENocm9t
ZSdzCiAgICAgLy8gYmVoYXZpb3IuCi0gICAgaWYgKHByb3BlcnR5TmFtZSA9PSBidWlsdGluTmFt
ZXMud2luZG93UHVibGljTmFtZSgpCi0gICAgICAgIHx8IHByb3BlcnR5TmFtZSA9PSBidWlsdGlu
TmFtZXMuc2VsZlB1YmxpY05hbWUoKQotICAgICAgICB8fCBwcm9wZXJ0eU5hbWUgPT0gYnVpbHRp
bk5hbWVzLmxvY2F0aW9uUHVibGljTmFtZSgpCi0gICAgICAgIHx8IHByb3BlcnR5TmFtZSA9PSBi
dWlsdGluTmFtZXMuY2xvc2VkUHVibGljTmFtZSgpCi0gICAgICAgIHx8IHByb3BlcnR5TmFtZSA9
PSBidWlsdGluTmFtZXMuZnJhbWVzUHVibGljTmFtZSgpCi0gICAgICAgIHx8IHByb3BlcnR5TmFt
ZSA9PSB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgKLSAgICAgICAgfHwgcHJvcGVydHlOYW1lID09
IGJ1aWx0aW5OYW1lcy50b3BQdWJsaWNOYW1lKCkKLSAgICAgICAgfHwgcHJvcGVydHlOYW1lID09
IGJ1aWx0aW5OYW1lcy5vcGVuZXJQdWJsaWNOYW1lKCkKLSAgICAgICAgfHwgcHJvcGVydHlOYW1l
ID09IGJ1aWx0aW5OYW1lcy5wYXJlbnRQdWJsaWNOYW1lKCkpIHsKLSAgICAgICAgYXV0byogZW50
cnkgPSBjbGFzc0luZm8tPnN0YXRpY1Byb3BIYXNoVGFibGUtPmVudHJ5KHByb3BlcnR5TmFtZSk7
Ci0gICAgICAgIGF1dG8qIHNldHRlciA9IHByb3BlcnR5TmFtZSA9PSBidWlsdGluTmFtZXMubG9j
YXRpb25QdWJsaWNOYW1lKCkgPyBlbnRyeS0+cHJvcGVydHlQdXR0ZXIoKSA6IG51bGxwdHI7Ci0g
ICAgICAgIGF1dG8qIGdldHRlclNldHRlciA9IHRoaXNPYmplY3QtPmNyZWF0ZUNyb3NzT3JpZ2lu
R2V0dGVyU2V0dGVyKCZsZXhpY2FsR2xvYmFsT2JqZWN0LCBwcm9wZXJ0eU5hbWUsIGVudHJ5LT5w
cm9wZXJ0eUdldHRlcigpLCBzZXR0ZXIpOwotICAgICAgICBzbG90LnNldEdldHRlclNsb3QodGhp
c09iamVjdCwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yIHwgUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtLCBnZXR0ZXJTZXR0ZXIpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBhdXRv
KiBjbGFzc0luZm8gPSB3aW5kb3dUeXBlID09IERPTVdpbmRvd1R5cGU6OlJlbW90ZSA/IEpTUmVt
b3RlRE9NV2luZG93OjppbmZvKCkgOiBKU0RPTVdpbmRvdzo6aW5mbygpOworICAgIGlmIChhdXRv
KiBlbnRyeSA9IGNsYXNzSW5mby0+c3RhdGljUHJvcEhhc2hUYWJsZS0+ZW50cnkocHJvcGVydHlO
YW1lKSkgeworICAgICAgICAvLyBPbmx5IGFsbG93IGFjY2VzcyB0byB0aGVzZSBzcGVjaWZpYyBw
cm9wZXJ0aWVzLgorICAgICAgICBpZiAocHJvcGVydHlOYW1lID09IGJ1aWx0aW5OYW1lcy5sb2Nh
dGlvblB1YmxpY05hbWUoKQorICAgICAgICAgICAgfHwgcHJvcGVydHlOYW1lID09IGJ1aWx0aW5O
YW1lcy5jbG9zZWRQdWJsaWNOYW1lKCkKKyAgICAgICAgICAgIHx8IHByb3BlcnR5TmFtZSA9PSB2
bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgKKyAgICAgICAgICAgIHx8IHByb3BlcnR5TmFtZSA9PSBi
dWlsdGluTmFtZXMuc2VsZlB1YmxpY05hbWUoKQorICAgICAgICAgICAgfHwgcHJvcGVydHlOYW1l
ID09IGJ1aWx0aW5OYW1lcy53aW5kb3dQdWJsaWNOYW1lKCkKKyAgICAgICAgICAgIHx8IHByb3Bl
cnR5TmFtZSA9PSBidWlsdGluTmFtZXMuZnJhbWVzUHVibGljTmFtZSgpCisgICAgICAgICAgICB8
fCBwcm9wZXJ0eU5hbWUgPT0gYnVpbHRpbk5hbWVzLm9wZW5lclB1YmxpY05hbWUoKQorICAgICAg
ICAgICAgfHwgcHJvcGVydHlOYW1lID09IGJ1aWx0aW5OYW1lcy5wYXJlbnRQdWJsaWNOYW1lKCkK
KyAgICAgICAgICAgIHx8IHByb3BlcnR5TmFtZSA9PSBidWlsdGluTmFtZXMudG9wUHVibGljTmFt
ZSgpKSB7CisgICAgICAgICAgICBhdXRvKiBnZXR0ZXIgPSBKU0N1c3RvbUdldHRlckZ1bmN0aW9u
OjpjcmVhdGUodm0sICZsZXhpY2FsR2xvYmFsT2JqZWN0LCBwcm9wZXJ0eU5hbWUsIGVudHJ5LT5w
cm9wZXJ0eUdldHRlcigpKTsKKyAgICAgICAgICAgIGF1dG8qIHNldHRlciA9IHByb3BlcnR5TmFt
ZSA9PSBidWlsdGluTmFtZXMubG9jYXRpb25QdWJsaWNOYW1lKCkgPyBKU0N1c3RvbVNldHRlckZ1
bmN0aW9uOjpjcmVhdGUodm0sICZsZXhpY2FsR2xvYmFsT2JqZWN0LCBwcm9wZXJ0eU5hbWUsIGVu
dHJ5LT5wcm9wZXJ0eVB1dHRlcigpKSA6IG51bGxwdHI7CisgICAgICAgICAgICBhdXRvKiBnZXR0
ZXJTZXR0ZXIgPSBHZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgJmxleGljYWxHbG9iYWxPYmplY3Qs
IGdldHRlciwgc2V0dGVyKTsKKyAgICAgICAgICAgIHNsb3Quc2V0R2V0dGVyU2xvdCh0aGlzT2Jq
ZWN0LCBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3IgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0sIGdldHRlclNldHRlcik7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAg
fQogICAgIH0KIAogICAgIC8vIENoZWNrIGZvciBjaGlsZCBmcmFtZXMgYnkgbmFtZSBiZWZvcmUg
YnVpbHQtaW4gcHJvcGVydGllcyB0byBtYXRjaCBNb3ppbGxhLiBUaGlzIGRvZXMKQEAgLTIwMyw3
ICsyNjUsNyBAQCBib29sIEpTRE9NV2luZG93OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3Qq
IG9iamVjdCwgSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbAogICAgICAgICAvLyBEZXRlY3Qgd2hl
biB3ZSdyZSBnZXR0aW5nIHRoZSBwcm9wZXJ0eSAnc2hvd01vZGFsRGlhbG9nJywgdGhpcyBpcyBk
aXNhYmxlZCwgYW5kIGhhcyBpdHMgb3JpZ2luYWwgdmFsdWUuCiAgICAgICAgIGJvb2wgaXNTaG93
TW9kYWxEaWFsb2dBbmRTaG91bGRIaWRlID0gcHJvcGVydHlOYW1lID09IHN0YXRpY19jYXN0PEpT
Vk1DbGllbnREYXRhKj4obGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKS5jbGllbnREYXRhKS0+YnVp
bHRpbk5hbWVzKCkuc2hvd01vZGFsRGlhbG9nUHVibGljTmFtZSgpCiAgICAgICAgICAgICAmJiAo
IWZyYW1lIHx8ICFET01XaW5kb3c6OmNhblNob3dNb2RhbERpYWxvZygqZnJhbWUpKQotICAgICAg
ICAgICAgJiYgc2xvdC5pc1ZhbHVlKCkgJiYgaXNIb3N0RnVuY3Rpb24oc2xvdC5nZXRWYWx1ZShs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBwcm9wZXJ0eU5hbWUpLCBzX2luZm8uc3RhdGljUHJvcEhhc2hU
YWJsZS0+ZW50cnkocHJvcGVydHlOYW1lKS0+ZnVuY3Rpb24oKSk7CisgICAgICAgICAgICAmJiBz
bG90LmlzVmFsdWUoKSAmJiBpc0hvc3RGdW5jdGlvbihzbG90LmdldFZhbHVlKGxleGljYWxHbG9i
YWxPYmplY3QsIHByb3BlcnR5TmFtZSksIGpzRE9NV2luZG93SW5zdGFuY2VGdW5jdGlvbl9zaG93
TW9kYWxEaWFsb2cpOwogICAgICAgICAvLyBVbmxlc3Mgd2UncmUgaW4gdGhlIHNob3dNb2RhbERp
YWxvZyBzcGVjaWFsIGNhc2UsIHdlJ3JlIGRvbmUuCiAgICAgICAgIGlmICghaXNTaG93TW9kYWxE
aWFsb2dBbmRTaG91bGRIaWRlKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0xvY2F0aW9uQ3VzdG9tLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTG9jYXRpb25DdXN0b20uY3BwCmluZGV4IDdmN2ZkZjFm
YWFlNjUxM2IzN2Y4YmZlN2Y5MTU3YjFiOTAwMDRjODguLjZiNDNiM2ViNDExYTJiNTJlY2ExNTE5
ZWNhNzVkZmVmODQyMmM1NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTTG9jYXRpb25DdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
TG9jYXRpb25DdXN0b20uY3BwCkBAIC0yOSwxMiArMjksMjEgQEAKICNpbmNsdWRlICJKU0RPTVdp
bmRvd0N1c3RvbS5oIgogI2luY2x1ZGUgIlJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIgogI2lu
Y2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9H
ZXR0ZXJTZXR0ZXIuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0N1c3RvbVNldHRlckZ1
bmN0aW9uLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNGdW5jdGlvbi5oPgogI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL0xvb2t1cC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2lu
ZyBuYW1lc3BhY2UgSlNDOwogCitzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc0xv
Y2F0aW9uSW5zdGFuY2VGdW5jdGlvbl9yZXBsYWNlTm9uQ2FjaGluZyk7CisKK0pTQ19ERUZJTkVf
Q1VTVE9NX0dFVFRFUihqc0xvY2F0aW9uSW5zdGFuY2VGdW5jdGlvbl9yZXBsYWNlTm9uQ2FjaGlu
ZywgKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0
eU5hbWUgcHJvcGVydHlOYW1lKSkKK3sKKyAgICByZXR1cm4gbm9uQ2FjaGluZ1N0YXRpY0Z1bmN0
aW9uR2V0dGVySW1wbDxqc0xvY2F0aW9uSW5zdGFuY2VGdW5jdGlvbl9yZXBsYWNlLCAxPihnbG9i
YWxPYmplY3QsIHByb3BlcnR5TmFtZSk7Cit9CisKIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5
U2xvdENvbW1vbihKU0xvY2F0aW9uJiB0aGlzT2JqZWN0LCBKU0dsb2JhbE9iamVjdCYgbGV4aWNh
bEdsb2JhbE9iamVjdCwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JiBz
bG90KQogewogICAgIFZNJiB2bSA9IGxleGljYWxHbG9iYWxPYmplY3Qudm0oKTsKQEAgLTU1LDkg
KzY0LDcgQEAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90Q29tbW9uKEpTTG9jYXRpb24m
IHRoaXNPYmplY3QsIEpTR2xvYmFsT2JqZWN0JiBsZXgKIAogICAgIC8vIFdlIG9ubHkgYWxsb3cg
YWNjZXNzIHRvIExvY2F0aW9uLnJlcGxhY2UoKSBjcm9zcyBvcmlnaW4uCiAgICAgaWYgKHByb3Bl
cnR5TmFtZSA9PSB2bS5wcm9wZXJ0eU5hbWVzLT5yZXBsYWNlKSB7Ci0gICAgICAgIGF1dG8qIGVu
dHJ5ID0gSlNMb2NhdGlvbjo6aW5mbygpLT5zdGF0aWNQcm9wSGFzaFRhYmxlLT5lbnRyeShwcm9w
ZXJ0eU5hbWUpOwotICAgICAgICBhdXRvKiBqc0Z1bmN0aW9uID0gdGhpc09iamVjdC5nbG9iYWxP
YmplY3QoKS0+Y3JlYXRlQ3Jvc3NPcmlnaW5GdW5jdGlvbigmbGV4aWNhbEdsb2JhbE9iamVjdCwg
cHJvcGVydHlOYW1lLCBlbnRyeS0+ZnVuY3Rpb24oKSwgZW50cnktPmZ1bmN0aW9uTGVuZ3RoKCkp
OwotICAgICAgICBzbG90LnNldFZhbHVlKCZ0aGlzT2JqZWN0LCBQcm9wZXJ0eUF0dHJpYnV0ZTo6
UmVhZE9ubHkgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0sIGpzRnVuY3Rpb24pOworICAg
ICAgICBzbG90LnNldEN1c3RvbSgmdGhpc09iamVjdCwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFBy
b3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSks
IGpzTG9jYXRpb25JbnN0YW5jZUZ1bmN0aW9uX3JlcGxhY2VOb25DYWNoaW5nKTsKICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgfQogCkBAIC02NSw3ICs3Miw4IEBAIHN0YXRpYyBib29sIGdldE93
blByb3BlcnR5U2xvdENvbW1vbihKU0xvY2F0aW9uJiB0aGlzT2JqZWN0LCBKU0dsb2JhbE9iamVj
dCYgbGV4CiAgICAgLy8gYSBkZXNjcmlwdG9yIHRoYXQgaGFzIGEgc2V0dGVyIGJ1dCBubyBnZXR0
ZXIuCiAgICAgaWYgKHNsb3QuaW50ZXJuYWxNZXRob2RUeXBlKCkgPT0gUHJvcGVydHlTbG90OjpJ
bnRlcm5hbE1ldGhvZFR5cGU6OkdldE93blByb3BlcnR5ICYmIHByb3BlcnR5TmFtZSA9PSBzdGF0
aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5o
cmVmUHVibGljTmFtZSgpKSB7CiAgICAgICAgIGF1dG8qIGVudHJ5ID0gSlNMb2NhdGlvbjo6aW5m
bygpLT5zdGF0aWNQcm9wSGFzaFRhYmxlLT5lbnRyeShwcm9wZXJ0eU5hbWUpOwotICAgICAgICBh
dXRvKiBnZXR0ZXJTZXR0ZXIgPSB0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgpLT5jcmVhdGVDcm9z
c09yaWdpbkdldHRlclNldHRlcigmbGV4aWNhbEdsb2JhbE9iamVjdCwgcHJvcGVydHlOYW1lLCBu
dWxscHRyLCBlbnRyeS0+cHJvcGVydHlQdXR0ZXIoKSk7CisgICAgICAgIGF1dG8qIHNldHRlciA9
IEpTQ3VzdG9tU2V0dGVyRnVuY3Rpb246OmNyZWF0ZSh2bSwgJmxleGljYWxHbG9iYWxPYmplY3Qs
IHByb3BlcnR5TmFtZSwgZW50cnktPnByb3BlcnR5UHV0dGVyKCkpOworICAgICAgICBhdXRvKiBn
ZXR0ZXJTZXR0ZXIgPSBHZXR0ZXJTZXR0ZXI6OmNyZWF0ZSh2bSwgJmxleGljYWxHbG9iYWxPYmpl
Y3QsIG51bGxwdHIsIHNldHRlcik7CiAgICAgICAgIHNsb3Quc2V0R2V0dGVyU2xvdCgmdGhpc09i
amVjdCwgUHJvcGVydHlBdHRyaWJ1dGU6OkFjY2Vzc29yIHwgUHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtLCBnZXR0ZXJTZXR0ZXIpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5w
bSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmlu
ZGV4IGE2ODRkOTJmZGFkOTgzNzc3MWRmMzlmMzFkOGY4M2Y4OTNmZTAwYTIuLjhmOWY5YTM3MWY2
ZmZlMzg0ZjBkYzE0YTE4Y2Q1NGFlMDMyNDAyMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0zMDY2LDYgKzMwNjYsOSBA
QCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICBteSAkbnVtQ3VzdG9tT3BlcmF0aW9ucyA9IDA7CiAg
ICAgbXkgJG51bUN1c3RvbUF0dHJpYnV0ZXMgPSAwOwogCisgICAgbXkgJGhhc0ZvcndhcmREZWNs
YXJpbmdPcGVyYXRpb25zID0gMDsKKyAgICBteSAkaGFzRm9yd2FyZERlY2xhcmluZ0F0dHJpYnV0
ZXMgPSAwOworCiAgICAgbXkgJGhhc0RPTUpJVEF0dHJpYnV0ZXMgPSAwOwogCiAgICAgIyBBdHRy
aWJ1dGUgYW5kIGZ1bmN0aW9uIGVudW1zCkBAIC0zMDgxLDYgKzMwODQsOCBAQCBzdWIgR2VuZXJh
dGVIZWFkZXIKICAgICAgICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiI2VuZGlmXG4i
KSBpZiAkY29uZGl0aW9uYWxTdHJpbmc7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAkaGFz
RE9NSklUQXR0cmlidXRlcyA9IDEgaWYgJGF0dHJpYnV0ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
RE9NSklUfTsKKworICAgICAgICAgICAgJGhhc0ZvcndhcmREZWNsYXJpbmdBdHRyaWJ1dGVzID0g
MSBpZiAkYXR0cmlidXRlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntGb3J3YXJkRGVjbGFyZUluSGVh
ZGVyfTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMzEzOSw2ICszMTQ0LDcgQEAgc3ViIEdlbmVy
YXRlSGVhZGVyCiAKICAgICBmb3JlYWNoIG15ICRvcGVyYXRpb24gKEB7JGludGVyZmFjZS0+b3Bl
cmF0aW9uc30pIHsKICAgICAgICAgJG51bUN1c3RvbU9wZXJhdGlvbnMrKyBpZiBIYXNDdXN0b21N
ZXRob2QoJG9wZXJhdGlvbik7CisgICAgICAgICRoYXNGb3J3YXJkRGVjbGFyaW5nT3BlcmF0aW9u
cyA9IDEgaWYgJG9wZXJhdGlvbi0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57Rm9yd2FyZERlY2xhcmVJ
bkhlYWRlcn07CiAgICAgfQogCiAgICAgaWYgKCRudW1DdXN0b21PcGVyYXRpb25zID4gMCkgewpA
QCAtMzI2NCw2ICszMjcwLDUyIEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogCiAgICAgR2VuZXJhdGVQ
cm90b3R5cGVEZWNsYXJhdGlvbihcQGhlYWRlckNvbnRlbnQsICRjbGFzc05hbWUsICRpbnRlcmZh
Y2UpIGlmIEhlYWRlck5lZWRzUHJvdG90eXBlRGVjbGFyYXRpb24oJGludGVyZmFjZSk7CiAKKyAg
ICBpZiAoJGhhc0ZvcndhcmREZWNsYXJpbmdPcGVyYXRpb25zKSB7CisgICAgICAgIG15ICRpbkFw
cGxlQ29weXJpZ2h0ID0gMDsKKyAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwiLy8gRnVuY3Rp
b25zXG5cbiIpOworICAgICAgICBmb3JlYWNoIG15ICRvcGVyYXRpb24gKEB7JGludGVyZmFjZS0+
b3BlcmF0aW9uc30pIHsKKyAgICAgICAgICAgIG5leHQgaWYgJG9wZXJhdGlvbi0+e292ZXJsb2Fk
SW5kZXh9ICYmICRvcGVyYXRpb24tPntvdmVybG9hZEluZGV4fSA+IDE7CisgICAgICAgICAgICBu
ZXh0IHVubGVzcyAkb3BlcmF0aW9uLT5leHRlbmRlZEF0dHJpYnV0ZXMtPntGb3J3YXJkRGVjbGFy
ZUluSGVhZGVyfTsKKworICAgICAgICAgICAgaWYgKCRvcGVyYXRpb24tPmV4dGVuZGVkQXR0cmli
dXRlcy0+e0FwcGxlQ29weXJpZ2h0fSkgeworICAgICAgICAgICAgICAgIGlmICghJGluQXBwbGVD
b3B5cmlnaHQpIHsKKyAgICAgICAgICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgJGJl
Z2luQXBwbGVDb3B5cmlnaHRGb3JIZWFkZXJGaWxlcyk7CisgICAgICAgICAgICAgICAgICAgICRp
bkFwcGxlQ29weXJpZ2h0ID0gMTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVs
c2lmICgkaW5BcHBsZUNvcHlyaWdodCkgeworICAgICAgICAgICAgICAgIHB1c2goQGhlYWRlckNv
bnRlbnQsICRlbmRBcHBsZUNvcHlyaWdodCk7CisgICAgICAgICAgICAgICAgJGluQXBwbGVDb3B5
cmlnaHQgPSAwOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBteSAkY29uZGl0aW9uYWxB
dHRyaWJ1dGUgPSBHZXRDb25kaXRpb25hbEZvck9wZXJhdGlvbkNvbnNpZGVyaW5nT3ZlcmxvYWRz
KCRvcGVyYXRpb24pOworICAgICAgICAgICAgbXkgJGNvbmRpdGlvbmFsU3RyaW5nID0gJGNvbmRp
dGlvbmFsQXR0cmlidXRlID8gJGNvZGVHZW5lcmF0b3ItPkdlbmVyYXRlQ29uZGl0aW9uYWxTdHJp
bmdGcm9tQXR0cmlidXRlVmFsdWUoJGNvbmRpdGlvbmFsQXR0cmlidXRlKSA6IHVuZGVmOworICAg
ICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiNpZiAke2NvbmRpdGlvbmFsU3RyaW5nfVxu
IikgaWYgJGNvbmRpdGlvbmFsU3RyaW5nOworICAgICAgICAgICAgbXkgJGZ1bmN0aW9uTmFtZSA9
IEdldEZ1bmN0aW9uTmFtZSgkaW50ZXJmYWNlLCAkY2xhc3NOYW1lLCAkb3BlcmF0aW9uKTsKKyAg
ICAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJKU0NfREVDTEFSRV9IT1NUX0ZVTkNUSU9O
KCR7ZnVuY3Rpb25OYW1lfSk7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQs
ICIjZW5kaWZcbiIpIGlmICRjb25kaXRpb25hbFN0cmluZzsKKyAgICAgICAgfQorCisgICAgICAg
IHB1c2goQGhlYWRlckNvbnRlbnQsICRlbmRBcHBsZUNvcHlyaWdodCkgaWYgJGluQXBwbGVDb3B5
cmlnaHQ7CisgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsIlxuIik7CisgICAgfQorCisgICAg
aWYgKCRoYXNGb3J3YXJkRGVjbGFyaW5nQXR0cmlidXRlcykgeworICAgICAgICBwdXNoKEBoZWFk
ZXJDb250ZW50LCIvLyBBdHRyaWJ1dGVzXG5cbiIpOworICAgICAgICBmb3JlYWNoIG15ICRhdHRy
aWJ1dGUgKEB7JGludGVyZmFjZS0+YXR0cmlidXRlc30pIHsKKyAgICAgICAgICAgIG5leHQgdW5s
ZXNzICRhdHRyaWJ1dGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0ZvcndhcmREZWNsYXJlSW5IZWFk
ZXJ9OworCisgICAgICAgICAgICBteSAkY29uZGl0aW9uYWxTdHJpbmcgPSAkY29kZUdlbmVyYXRv
ci0+R2VuZXJhdGVDb25kaXRpb25hbFN0cmluZygkYXR0cmlidXRlKTsKKyAgICAgICAgICAgIHB1
c2goQGhlYWRlckNvbnRlbnQsICIjaWYgJHtjb25kaXRpb25hbFN0cmluZ31cbiIpIGlmICRjb25k
aXRpb25hbFN0cmluZzsKKyAgICAgICAgICAgIG15ICRnZXR0ZXIgPSBHZXRBdHRyaWJ1dGVHZXR0
ZXJOYW1lKCRpbnRlcmZhY2UsICRjbGFzc05hbWUsICRhdHRyaWJ1dGUpOworICAgICAgICAgICAg
cHVzaChAaGVhZGVyQ29udGVudCwgIkpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoJHtnZXR0ZXJ9
KTtcbiIpOworICAgICAgICAgICAgaWYgKCFJc1JlYWRvbmx5KCRhdHRyaWJ1dGUpKSB7CisgICAg
ICAgICAgICAgICAgbXkgJHNldHRlciA9IEdldEF0dHJpYnV0ZVNldHRlck5hbWUoJGludGVyZmFj
ZSwgJGNsYXNzTmFtZSwgJGF0dHJpYnV0ZSk7CisgICAgICAgICAgICAgICAgcHVzaChAaGVhZGVy
Q29udGVudCwgIkpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoJHtzZXR0ZXJ9KTtcbiIpOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiNlbmRpZlxuIikg
aWYgJGNvbmRpdGlvbmFsU3RyaW5nOworICAgICAgICB9CisgICAgfQorCiAgICAgIyBDaGVja0pT
Q2FzdCBTbmlwcGV0IGZ1bmN0aW9uLgogICAgIGlmICgkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPntET01KSVR9KSB7CiAgICAgICAgICRoZWFkZXJJbmNsdWRlc3siPEphdmFTY3JpcHRD
b3JlL1NuaXBwZXQuaD4ifSA9IDE7CkBAIC00MjU1LDYgKzQzMDcsNyBAQCBzdWIgR2VuZXJhdGVJ
bXBsZW1lbnRhdGlvbgogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwiLy8gRnVuY3Rpb25zXG5c
biIpOwogICAgICAgICBmb3JlYWNoIG15ICRvcGVyYXRpb24gKEB7JGludGVyZmFjZS0+b3BlcmF0
aW9uc30pIHsKICAgICAgICAgICAgIG5leHQgaWYgJG9wZXJhdGlvbi0+e292ZXJsb2FkSW5kZXh9
ICYmICRvcGVyYXRpb24tPntvdmVybG9hZEluZGV4fSA+IDE7CisgICAgICAgICAgICBuZXh0IGlm
ICRvcGVyYXRpb24tPmV4dGVuZGVkQXR0cmlidXRlcy0+e0ZvcndhcmREZWNsYXJlSW5IZWFkZXJ9
OwogICAgICAgICAgICAgbmV4dCBpZiBJc0pTQnVpbHRpbigkaW50ZXJmYWNlLCAkb3BlcmF0aW9u
KTsKICAgICAgICAgICAgIG5leHQgaWYgJG9wZXJhdGlvbi0+bmFtZSBlcSAiW1N5bWJvbC5JdGVy
YXRvcl0iOwogCkBAIC00MzAwLDYgKzQzNTMsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlv
bgogICAgICAgICB9CiAKICAgICAgICAgZm9yZWFjaCBteSAkYXR0cmlidXRlIChAeyRpbnRlcmZh
Y2UtPmF0dHJpYnV0ZXN9KSB7CisgICAgICAgICAgICBuZXh0IGlmICRhdHRyaWJ1dGUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+e0ZvcndhcmREZWNsYXJlSW5IZWFkZXJ9OwogICAgICAgICAgICAgbmV4
dCBpZiBJc0pTQnVpbHRpbigkaW50ZXJmYWNlLCAkYXR0cmlidXRlKTsKIAogICAgICAgICAgICAg
bXkgJGNvbmRpdGlvbmFsU3RyaW5nID0gJGNvZGVHZW5lcmF0b3ItPkdlbmVyYXRlQ29uZGl0aW9u
YWxTdHJpbmcoJGF0dHJpYnV0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvSURMQXR0cmlidXRlcy5qc29uCmluZGV4IDI5YjZiNjlhNzk3NDg3MGQwNjZmNDIxMTQw
ODZiM2NkZmZhOGM3Y2QuLjJhNWFkYWQ0MmNkODFkY2RlOGE1NmI5YmY1M2RkYTJkMTE2YzVhZDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRl
cy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRl
cy5qc29uCkBAIC0yMjMsNiArMjIzLDkgQEAKICAgICAgICAgICAgICAgICAidXJsIjogImh0dHBz
Oi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI0V4cG9zZWQiCiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0sCisgICAgICAgICJGb3J3YXJkRGVjbGFyZUluSGVhZGVyIjogeworICAgICAgICAgICAg
ImNvbnRleHRzQWxsb3dlZCI6IFsiYXR0cmlidXRlIiwgIm9wZXJhdGlvbiJdCisgICAgICAgIH0s
CiAgICAgICAgICJHZW5lcmF0ZUlzUmVhY2hhYmxlIjogewogICAgICAgICAgICAgImNvbnRleHRz
QWxsb3dlZCI6IFsiaW50ZXJmYWNlIl0sCiAgICAgICAgICAgICAidmFsdWVzIjogWyIiLCAiSW1w
bCIsICJJbXBsV2ViR0xSZW5kZXJpbmdDb250ZXh0IiwgIkltcGxDYW52YXNCYXNlIiwgIkltcGxE
b2N1bWVudCIsICJJbXBsRWxlbWVudFJvb3QiLCAiSW1wbE93bmVyTm9kZVJvb3QiLCAiSW1wbFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQiLCAiUmVhY2hhYmxlRnJvbURPTVdpbmRvdyIsICJSZWFjaGFi
bGVGcm9tTmF2aWdhdG9yIl0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCBiODUyZWJl
NGQyMWI3ZjBlYjQzNjM5ODI4YTQ2ZWQxZTYxMDA4ZGRlLi42OWRlYmFmODE2ZjI3OGU3NGI4ZGY1
NDUwMDViOGVmZDhiMGMyNzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC02Miwx
MSArNjIsMTEgQEAKICAgICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBCYXJQcm9w
IHN0YXR1c2JhcjsKICAgICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBCYXJQcm9w
IHRvb2xiYXI7CiAgICAgYXR0cmlidXRlIERPTVN0cmluZyBzdGF0dXM7Ci0gICAgW0RvTm90Q2hl
Y2tTZWN1cml0eSwgQ2FsbFdpdGg9SW5jdW1iZW50RG9jdW1lbnRdIHVuZGVmaW5lZCBjbG9zZSgp
OwotICAgIFtEb05vdENoZWNrU2VjdXJpdHldIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGNs
b3NlZDsKKyAgICBbRG9Ob3RDaGVja1NlY3VyaXR5LCBDYWxsV2l0aD1JbmN1bWJlbnREb2N1bWVu
dCwgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdW5kZWZpbmVkIGNsb3NlKCk7CisgICAgW0RvTm90
Q2hlY2tTZWN1cml0eSwgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gcmVhZG9ubHkgYXR0cmlidXRl
IGJvb2xlYW4gY2xvc2VkOwogICAgIHVuZGVmaW5lZCBzdG9wKCk7Ci0gICAgW0RvTm90Q2hlY2tT
ZWN1cml0eSwgQ2FsbFdpdGg9SW5jdW1iZW50V2luZG93XSB1bmRlZmluZWQgZm9jdXMoKTsKLSAg
ICBbRG9Ob3RDaGVja1NlY3VyaXR5XSB1bmRlZmluZWQgYmx1cigpOworICAgIFtEb05vdENoZWNr
U2VjdXJpdHksIENhbGxXaXRoPUluY3VtYmVudFdpbmRvdywgRm9yd2FyZERlY2xhcmVJbkhlYWRl
cl0gdW5kZWZpbmVkIGZvY3VzKCk7CisgICAgW0RvTm90Q2hlY2tTZWN1cml0eSwgRm9yd2FyZERl
Y2xhcmVJbkhlYWRlcl0gdW5kZWZpbmVkIGJsdXIoKTsKIAogICAgIC8vIG90aGVyIGJyb3dzaW5n
IGNvbnRleHRzCiAgICAgW1JlcGxhY2VhYmxlLCBEb05vdENoZWNrU2VjdXJpdHlPbkdldHRlciwg
Q3VzdG9tR2V0dGVyXSByZWFkb25seSBhdHRyaWJ1dGUgV2luZG93UHJveHkgZnJhbWVzOwpAQCAt
OTEsOCArOTEsOCBAQAogICAgIERPTVN0cmluZz8gcHJvbXB0KG9wdGlvbmFsIERPTVN0cmluZyBt
ZXNzYWdlID0gIiIsIG9wdGlvbmFsIERPTVN0cmluZyBkZWZhdWx0VmFsdWUgPSAiIik7CiAgICAg
dW5kZWZpbmVkIHByaW50KCk7CiAKLSAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0JkluY3VtYmVu
dFdpbmRvdywgRG9Ob3RDaGVja1NlY3VyaXR5LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVk
IHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBVU1ZTdHJpbmcgdGFyZ2V0T3JpZ2luLCBvcHRpb25h
bCBzZXF1ZW5jZTxvYmplY3Q+IHRyYW5zZmVyID0gW10pOwotICAgIFtDYWxsV2l0aD1HbG9iYWxP
YmplY3QmSW5jdW1iZW50V2luZG93LCBEb05vdENoZWNrU2VjdXJpdHksIE1heVRocm93RXhjZXB0
aW9uXSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIG9wdGlvbmFsIFdpbmRvd1Bv
c3RNZXNzYWdlT3B0aW9ucyBvcHRpb25zKTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0Jklu
Y3VtYmVudFdpbmRvdywgRG9Ob3RDaGVja1NlY3VyaXR5LCBGb3J3YXJkRGVjbGFyZUluSGVhZGVy
LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBV
U1ZTdHJpbmcgdGFyZ2V0T3JpZ2luLCBvcHRpb25hbCBzZXF1ZW5jZTxvYmplY3Q+IHRyYW5zZmVy
ID0gW10pOworICAgIFtDYWxsV2l0aD1HbG9iYWxPYmplY3QmSW5jdW1iZW50V2luZG93LCBEb05v
dENoZWNrU2VjdXJpdHksIEZvcndhcmREZWNsYXJlSW5IZWFkZXIsIE1heVRocm93RXhjZXB0aW9u
XSB1bmRlZmluZWQgcG9zdE1lc3NhZ2UoYW55IG1lc3NhZ2UsIG9wdGlvbmFsIFdpbmRvd1Bvc3RN
ZXNzYWdlT3B0aW9ucyBvcHRpb25zKTsKIAogCiAgICAgLy8gT2Jzb2xldGU6IFN0aWxsIHBhcnQg
b2YgdGhlIEhUTUwgc3BlY2lmaWNhdGlvbiAoaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8j
V2luZG93LXBhcnRpYWwpLgpAQCAtMTE5LDcgKzExOSw3IEBACiAgICAgW05vdEVudW1lcmFibGUs
IENvbmRpdGlvbmFsPUlPU19HRVNUVVJFX0VWRU5UU10gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBv
bmdlc3R1cmVzdGFydDsKIAogICAgIC8vIE5vbi1zdGFuZGFyZDogVGhpcyBoYXMgYmVlbiBkcm9w
cGVkIGZyb20gdGhlIEhUTUwgc3BlY2lmaWNhdGlvbiBhbmQgYnkgb3RoZXIgYnJvd3NlcnMuCi0g
ICAgW0N1c3RvbV0gYW55IHNob3dNb2RhbERpYWxvZyhET01TdHJpbmcgdXJsLCBvcHRpb25hbCBh
bnkgZGlhbG9nQXJncywgb3B0aW9uYWwgRE9NU3RyaW5nIGZlYXR1cmVBcmdzKTsKKyAgICBbQ3Vz
dG9tLCBGb3J3YXJkRGVjbGFyZUluSGVhZGVyXSBhbnkgc2hvd01vZGFsRGlhbG9nKERPTVN0cmlu
ZyB1cmwsIG9wdGlvbmFsIGFueSBkaWFsb2dBcmdzLCBvcHRpb25hbCBET01TdHJpbmcgZmVhdHVy
ZUFyZ3MpOwogCiAgICAgLy8gTm9uLXN0YW5kYXJkOiBzaG91bGQgcHJvYmFibHkgZGVwcmVjYXRl
IHRoaXMgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTY1MykuCiAg
ICAgLy8gQmxpbmsgYWxyZWFkeSBkZXByZWNhdGVkIGl0IChodHRwczovL2J1Z3MuY2hyb21pdW0u
b3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD00Mzc1NjkpLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9IaXN0b3J5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSGlzdG9y
eS5pZGwKaW5kZXggMmE1M2VhOTZkNGQwMTQ0NTdkYTcwYTA4ZTgyYmUzMTJlMWVjNjQwMS4uOWEy
Yjc0MDQyNzMyYTczNWQyNTg2ZGVhOGYzZDM5Yzg4OGY0YWYxMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9IaXN0b3J5LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0hpc3Rv
cnkuaWRsCkBAIC0zMyw5ICszMyw5IEBACiAgICAgYXR0cmlidXRlIFNjcm9sbFJlc3RvcmF0aW9u
IHNjcm9sbFJlc3RvcmF0aW9uOwogICAgIFtDdXN0b21dIHJlYWRvbmx5IGF0dHJpYnV0ZSBhbnkg
c3RhdGU7CiAKLSAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIHVuZGVmaW5lZCBiYWNrKCk7Ci0gICAg
W0NhbGxXaXRoPURvY3VtZW50XSB1bmRlZmluZWQgZm9yd2FyZCgpOwotICAgIFtDYWxsV2l0aD1E
b2N1bWVudF0gdW5kZWZpbmVkIGdvKG9wdGlvbmFsIGxvbmcgZGVsdGEgPSAwKTsKKyAgICBbQ2Fs
bFdpdGg9RG9jdW1lbnQsIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHVuZGVmaW5lZCBiYWNrKCk7
CisgICAgW0NhbGxXaXRoPURvY3VtZW50LCBGb3J3YXJkRGVjbGFyZUluSGVhZGVyXSB1bmRlZmlu
ZWQgZm9yd2FyZCgpOworICAgIFtDYWxsV2l0aD1Eb2N1bWVudCwgRm9yd2FyZERlY2xhcmVJbkhl
YWRlcl0gdW5kZWZpbmVkIGdvKG9wdGlvbmFsIGxvbmcgZGVsdGEgPSAwKTsKIAogICAgIC8vIEZJ
WE1FOiB0aXRsZSBzaG91bGQgbm90IGJlIG51bGxhYmxlIGFzIHBlciB0aGUgSFRNTCBzcGVjaWZp
Y2F0aW9uLgogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHB1c2hTdGF0ZShTZXJp
YWxpemVkU2NyaXB0VmFsdWUgZGF0YSwgRE9NU3RyaW5nPyB0aXRsZSwgb3B0aW9uYWwgVVNWU3Ry
aW5nPyB1cmwgPSBudWxsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRp
b24uaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhdGlvbi5pZGwKaW5kZXggZjg4YTA4YzY0
NmZmN2UwNDBmYjc3MDQxNWQzZDhmMjUxZGMxMjA4Ni4uNDZkMjAwOGQ1NjYzZjc3NzQ1OGRkZTBh
NGRkMDljMjIzZWRiYzc3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhdGlv
bi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhdGlvbi5pZGwKQEAgLTQ1LDkgKzQ1
LDkgQEAKIF0gaW50ZXJmYWNlIExvY2F0aW9uIHsKICAgICBbU2V0dGVyQ2FsbFdpdGg9QWN0aXZl
V2luZG93JkZpcnN0V2luZG93LCBEb05vdENoZWNrU2VjdXJpdHlPblNldHRlcl0gc3RyaW5naWZp
ZXIgYXR0cmlidXRlIFVTVlN0cmluZyBocmVmOwogCi0gICAgW0NhbGxXaXRoPUFjdGl2ZVdpbmRv
dyZGaXJzdFdpbmRvdywgTWF5VGhyb3dFeGNlcHRpb25dIHVuZGVmaW5lZCBhc3NpZ24oVVNWU3Ry
aW5nIHVybCk7Ci0gICAgW0RvTm90Q2hlY2tTZWN1cml0eSwgQ2FsbFdpdGg9QWN0aXZlV2luZG93
JkZpcnN0V2luZG93LCBNYXlUaHJvd0V4Y2VwdGlvbl0gdW5kZWZpbmVkIHJlcGxhY2UoVVNWU3Ry
aW5nIHVybCk7Ci0gICAgW0NhbGxXaXRoPUFjdGl2ZVdpbmRvd10gdW5kZWZpbmVkIHJlbG9hZCgp
OworICAgIFtDYWxsV2l0aD1BY3RpdmVXaW5kb3cmRmlyc3RXaW5kb3csIE1heVRocm93RXhjZXB0
aW9uLCBGb3J3YXJkRGVjbGFyZUluSGVhZGVyXSB1bmRlZmluZWQgYXNzaWduKFVTVlN0cmluZyB1
cmwpOworICAgIFtEb05vdENoZWNrU2VjdXJpdHksIENhbGxXaXRoPUFjdGl2ZVdpbmRvdyZGaXJz
dFdpbmRvdywgTWF5VGhyb3dFeGNlcHRpb24sIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHVuZGVm
aW5lZCByZXBsYWNlKFVTVlN0cmluZyB1cmwpOworICAgIFtDYWxsV2l0aD1BY3RpdmVXaW5kb3cs
IEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHVuZGVmaW5lZCByZWxvYWQoKTsKIAogICAgIC8vIFVS
SSBkZWNvbXBvc2l0aW9uIGF0dHJpYnV0ZXMKICAgICBbU2V0dGVyQ2FsbFdpdGg9QWN0aXZlV2lu
ZG93JkZpcnN0V2luZG93XSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHByb3RvY29sOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZW1vdGVET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9SZW1vdGVET01XaW5kb3cuaWRsCmluZGV4IDI1MjNjMjEyMWM2ZGQ4MDJkODAyZTk1
MjIyMmIyM2JhZmI1NGI2ZTQuLjE1NDYyZjM0NjIyYzYwNTYzZmEwZjZlMDQ5Y2MwZDM2ODYzZWNj
MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVtb3RlRE9NV2luZG93LmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1JlbW90ZURPTVdpbmRvdy5pZGwKQEAgLTQ2LDE0ICs0
NiwxNCBAQAogICAgIFtMZWdhY3lVbmZvcmdlYWJsZSwgSW1wbGVtZW50ZWRBcz1zZWxmXSByZWFk
b25seSBhdHRyaWJ1dGUgV2luZG93UHJveHkgd2luZG93OwogICAgIFtSZXBsYWNlYWJsZV0gcmVh
ZG9ubHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5IHNlbGY7CiAgICAgW1B1dEZvcndhcmRzPWhyZWYs
IExlZ2FjeVVuZm9yZ2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgTG9jYXRpb24/IGxvY2F0aW9u
OyAvLyBGSVhNRTogU2hvdWxkIG5vdCBiZSBudWxsYWJsZS4KLSAgICBbQ2FsbFdpdGg9SW5jdW1i
ZW50RG9jdW1lbnRdIHVuZGVmaW5lZCBjbG9zZSgpOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBi
b29sZWFuIGNsb3NlZDsKLSAgICBbQ2FsbFdpdGg9SW5jdW1iZW50V2luZG93XSB1bmRlZmluZWQg
Zm9jdXMoKTsKLSAgICB1bmRlZmluZWQgYmx1cigpOworICAgIFtDYWxsV2l0aD1JbmN1bWJlbnRE
b2N1bWVudCwgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdW5kZWZpbmVkIGNsb3NlKCk7CisgICAg
W0ZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGNsb3Nl
ZDsKKyAgICBbQ2FsbFdpdGg9SW5jdW1iZW50V2luZG93LCBGb3J3YXJkRGVjbGFyZUluSGVhZGVy
XSB1bmRlZmluZWQgZm9jdXMoKTsKKyAgICBbRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdW5kZWZp
bmVkIGJsdXIoKTsKICAgICBbUmVwbGFjZWFibGUsIEltcGxlbWVudGVkQXM9c2VsZl0gcmVhZG9u
bHkgYXR0cmlidXRlIFdpbmRvd1Byb3h5IGZyYW1lczsKICAgICBbUmVwbGFjZWFibGVdIHJlYWRv
bmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKICAgICBbTGVnYWN5VW5mb3JnZWFi
bGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXaW5kb3dQcm94eT8gdG9wOwogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBXaW5kb3dQcm94eT8gb3BlbmVyOwogICAgIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkg
YXR0cmlidXRlIFdpbmRvd1Byb3h5PyBwYXJlbnQ7Ci0gICAgW0NhbGxXaXRoPUdsb2JhbE9iamVj
dCZJbmN1bWJlbnRXaW5kb3ddIHVuZGVmaW5lZCBwb3N0TWVzc2FnZShhbnkgbWVzc2FnZSwgVVNW
U3RyaW5nIHRhcmdldE9yaWdpbiwgb3B0aW9uYWwgc2VxdWVuY2U8b2JqZWN0PiB0cmFuc2ZlciA9
IFtdKTsKKyAgICBbQ2FsbFdpdGg9R2xvYmFsT2JqZWN0JkluY3VtYmVudFdpbmRvdywgRm9yd2Fy
ZERlY2xhcmVJbkhlYWRlcl0gdW5kZWZpbmVkIHBvc3RNZXNzYWdlKGFueSBtZXNzYWdlLCBVU1ZT
dHJpbmcgdGFyZ2V0T3JpZ2luLCBvcHRpb25hbCBzZXF1ZW5jZTxvYmplY3Q+IHRyYW5zZmVyID0g
W10pOwogfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA0MTYxZWEyMWZlOGU1MmJmOTMwMWQxODNlYjAzZGNjODg0Y2Q0ZDUw
Li5hMDI0MjNmZjU4MGFlMWNjZGM5OWRmODAwZTg2MTQ3NGQzZTk3MjQyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMjEtMDMtMTMgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQu
b3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjc0Mzc5LgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzMTU0CisKKyAgICAgICAg
U29tZSBMYXlvdXRUZXN0cyBhcmUgY3Jhc2hpbmcKKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2Vz
ZXQ6CisKKyAgICAgICAgIkNhY2hlIGNyb3NzLW9yaWdpbiBtZXRob2RzIC8gYWNjZXNzb3JzIG9m
IFdpbmRvdyBhbmQgTG9jYXRpb24KKyAgICAgICAgcGVyIGxleGljYWwgZ2xvYmFsIG9iamVjdCIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjczOQor
ICAgICAgICBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjc0Mzc5CisKIDIwMjEt
MDMtMTMgIENocmlzIEdhbWJyZWxsICA8Y2dhbWJyZWxsQGFwcGxlLmNvbT4KIAogICAgICAgICBb
IG1hY09TIFdrMiBdIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jl
cG9ydC1vbmx5LWNvbm5lY3Qtc3JjLXhtbGh0dHByZXF1ZXN0LXJlZGlyZWN0LXRvLWJsb2NrZWQu
cGhwIGlzIGNvbnN0YW50bHkgdGV4dCBmYWlsaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwppbmRleCBkM2NiZGJkOTM0MDJiMzc3OGYzMDA2MzgwZjZjYjc5YTAxOGFjNzU0Li5kMzY1ZmE4
N2EzYmQzZjhiODI0MTMxZjcwMzkwMGI3MjMwMTYxN2YzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0wMy0xMyAgQ29tbWl0IFF1ZXVlICA8Y29t
bWl0LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIy
NzQzNzkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjMxNTQKKworICAgICAgICBTb21lIExheW91dFRlc3RzIGFyZSBjcmFzaGluZworCisgICAgICAg
IFJldmVydGVkIGNoYW5nZXNldDoKKworICAgICAgICAiQ2FjaGUgY3Jvc3Mtb3JpZ2luIG1ldGhv
ZHMgLyBhY2Nlc3NvcnMgb2YgV2luZG93IGFuZCBMb2NhdGlvbgorICAgICAgICBwZXIgbGV4aWNh
bCBnbG9iYWwgb2JqZWN0IgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIyNzM5CisgICAgICAgIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNl
dC8yNzQzNzkKKwogMjAyMS0wMy0xMyAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBGaXggaW50ZXJwb2xhdGlvbiBvZiBjbGlwIENTUyBwcm9wZXJ0eQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Byb2Nlc3Mtc3dhcC13
aW5kb3ctb3Blbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRp
b24vcHJvY2Vzcy1zd2FwLXdpbmRvdy1vcGVuLWV4cGVjdGVkLnR4dAppbmRleCA1NzZjZGUzYWIx
ZTkyYmRhYTExNGNlNDg5MjQyNzE3ZDkwZDg0NDI2Li41MzIxNzRkODkwNzRlNmI4YjUwZDQ3OTdk
ZjIzMzcxYTk3ZDU4YTA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vcHJvY2Vzcy1zd2FwLXdpbmRvdy1vcGVuLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcHJvY2Vzcy1zd2FwLXdpbmRvdy1vcGVuLWV4cGVj
dGVkLnR4dApAQCAtMjgsMTEgKzI4LDYgQEAgUEFTUyB3LmNsb3NlIGlzIGFuIGluc3RhbmNlIG9m
IEZ1bmN0aW9uCiBQQVNTIHcuZm9jdXMgaXMgYW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KIFBBU1Mg
dy5ibHVyIGlzIGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uCiBQQVNTIHcucG9zdE1lc3NhZ2UgaXMg
YW4gaW5zdGFuY2Ugb2YgRnVuY3Rpb24KLVBBU1Mgdy5jbG9zZSBpcyB3LmNsb3NlCi1QQVNTIHcu
Zm9jdXMgaXMgdy5mb2N1cwotUEFTUyB3LmJsdXIgaXMgdy5ibHVyCi1QQVNTIHcucG9zdE1lc3Nh
Z2UgaXMgdy5wb3N0TWVzc2FnZQotUEFTUyB3LnBvc3RNZXNzYWdlLmxlbmd0aCBpcyAxCiBQQVNT
IHcucG9zdE1lc3NhZ2UoJ3Rlc3QnLCAnKicpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgogUEFT
UyB3LmZvY3VzKCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCiBQQVNTIHcuYmx1cigpIGRpZCBu
b3QgdGhyb3cgZXhjZXB0aW9uLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9u
YXZpZ2F0aW9uL3Byb2Nlc3Mtc3dhcC13aW5kb3ctb3Blbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL3Byb2Nlc3Mtc3dhcC13aW5kb3ctb3Blbi5odG1sCmluZGV4IDIz
NGYxYTYzY2RmMTcwZjE2NWE4YjQ5ZjgyZjg5ZWI0NWVlYzIxZWUuLjk2N2M4ZDExYjc5Y2E3ZjIy
ZGNkOTBhMjc4ZDljNGM5MWQwZjcwYzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbmF2aWdhdGlvbi9wcm9jZXNzLXN3YXAtd2luZG93LW9wZW4uaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vcHJvY2Vzcy1zd2FwLXdpbmRvdy1vcGVuLmh0bWwK
QEAgLTM2LDExICszNiw2IEBAIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgc2hvdWxkQmVUeXBl
KCJ3LmZvY3VzIiwgIkZ1bmN0aW9uIik7CiAgICAgc2hvdWxkQmVUeXBlKCJ3LmJsdXIiLCAiRnVu
Y3Rpb24iKTsKICAgICBzaG91bGRCZVR5cGUoIncucG9zdE1lc3NhZ2UiLCAiRnVuY3Rpb24iKTsK
LSAgICBzaG91bGRCZSgidy5jbG9zZSIsICJ3LmNsb3NlIik7Ci0gICAgc2hvdWxkQmUoIncuZm9j
dXMiLCAidy5mb2N1cyIpOwotICAgIHNob3VsZEJlKCJ3LmJsdXIiLCAidy5ibHVyIik7Ci0gICAg
c2hvdWxkQmUoIncucG9zdE1lc3NhZ2UiLCAidy5wb3N0TWVzc2FnZSIpOwotICAgIHNob3VsZEJl
KCJ3LnBvc3RNZXNzYWdlLmxlbmd0aCIsICIxIik7CiAgICAgc2hvdWxkTm90VGhyb3coIncucG9z
dE1lc3NhZ2UoJ3Rlc3QnLCAnKicpIik7CiAgICAgc2hvdWxkTm90VGhyb3coIncuZm9jdXMoKSIp
OwogICAgIHNob3VsZE5vdFRocm93KCJ3LmJsdXIoKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL29yaWdpbi9j
cm9zcy1vcmlnaW4tb2JqZWN0cy9jcm9zcy1vcmlnaW4tb2JqZWN0cy1mdW5jdGlvbi1jYWNoaW5n
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9icm93c2Vycy9vcmlnaW4vY3Jvc3Mtb3JpZ2luLW9iamVjdHMvY3Jvc3Mtb3JpZ2lu
LW9iamVjdHMtZnVuY3Rpb24tY2FjaGluZy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGIwMWYxY2JlMWFiMjkxYjkxZWQxNDFmM2ZjMjQ4NDJhOGU3YjIxYzYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL29yaWdpbi9jcm9z
cy1vcmlnaW4tb2JqZWN0cy9jcm9zcy1vcmlnaW4tb2JqZWN0cy1mdW5jdGlvbi1jYWNoaW5nLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotCi1QQVNTIENyb3NzLW9y
aWdpbiBXaW5kb3cgbWV0aG9kcyBhcmUgY2FjaGVkCi1QQVNTIENyb3NzLW9yaWdpbiBXaW5kb3cg
YWNjZXNzb3JzIGFyZSBjYWNoZWQKLVBBU1MgQ3Jvc3Mtb3JpZ2luIExvY2F0aW9uIGByZXBsYWNl
YCBtZXRob2QgaXMgY2FjaGVkCi1QQVNTIENyb3NzLW9yaWdpbiBMb2NhdGlvbiBgaHJlZmAgc2V0
dGVyIGlzIGNhY2hlZAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvb3JpZ2luL2Nyb3NzLW9yaWdpbi1vYmplY3Rz
L2Nyb3NzLW9yaWdpbi1vYmplY3RzLWZ1bmN0aW9uLWNhY2hpbmcuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9vcmlnaW4vY3Jv
c3Mtb3JpZ2luLW9iamVjdHMvY3Jvc3Mtb3JpZ2luLW9iamVjdHMtZnVuY3Rpb24tY2FjaGluZy5o
dG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhOGFmMThkMTA2NzlkZDE2ZmRlYWIw
NGVkZjFkZGM2ODY5NjdmNTk0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9icm93c2Vycy9vcmlnaW4vY3Jvc3Mtb3JpZ2luLW9iamVjdHMvY3Jvc3Mtb3JpZ2luLW9iamVj
dHMtZnVuY3Rpb24tY2FjaGluZy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAot
PCFkb2N0eXBlIGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPHRpdGxlPkNyb3NzLW9yaWdp
biBtZXRob2RzIGFuZCBhY2Nlc3NvcnMgYXJlIGNhY2hlZCBwZXIgUmVhbG0gdmlhW1tDcm9zc09y
aWdpblByb3BlcnR5RGVzY3JpcHRvck1hcF1dPC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvYnJvd3NlcnMuaHRtbCNj
cm9zc29yaWdpbmdldG93bnByb3BlcnR5aGVscGVyLSgtbywtcC0pIj4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9u
L2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJjcm9zcy1vcmln
aW4tb2JqZWN0cy1mdW5jdGlvbi1jb21tb24uanMiPjwvc2NyaXB0PgotPGRpdiBpZD1sb2c+PC9k
aXY+Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7
Ci0gICAgY29uc3QgdyA9IGF3YWl0IG1ha2VDcm9zc09yaWdpbldpbmRvdyh0KTsKLSAgICBmb3Ig
KGNvbnN0IHtrZXl9IG9mIGNyb3NzT3JpZ2luV2luZG93TWV0aG9kcykgewotICAgICAgICBhc3Nl
cnRfZXF1YWxzKHdba2V5XSwgd1trZXldLCBgdy4ke2tleX0gdmlhIFtbR2V0XV1gKTsKLSAgICAg
ICAgY29uc3QgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHcsIGtleSk7
Ci0gICAgICAgIGNvbnN0IGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3
LCBrZXkpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKGRlc2MxLnZhbHVlLCBkZXNjMi52YWx1ZSwg
YHcuJHtrZXl9IHZpYSBbW0dldE93blByb3BlcnR5XV1gKTsKLSAgICB9Ci19LCAiQ3Jvc3Mtb3Jp
Z2luIFdpbmRvdyBtZXRob2RzIGFyZSBjYWNoZWQiKTsKLQotcHJvbWlzZV90ZXN0KGFzeW5jIHQg
PT4gewotICAgIGNvbnN0IHcgPSBhd2FpdCBtYWtlQ3Jvc3NPcmlnaW5XaW5kb3codCk7Ci0gICAg
Zm9yIChjb25zdCB7a2V5fSBvZiBjcm9zc09yaWdpbldpbmRvd0FjY2Vzc29ycykgewotICAgICAg
ICBjb25zdCBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iodywga2V5KTsK
LSAgICAgICAgY29uc3QgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHcs
IGtleSk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoZGVzYzEuZ2V0LCBkZXNjMi5nZXQsIGB3LiR7
a2V5fSBnZXR0ZXJgKTsKLSAgICAgICAgaWYgKGtleSA9PT0gImxvY2F0aW9uIikgewotICAgICAg
ICAgICAgYXNzZXJ0X2VxdWFscyhkZXNjMS5zZXQsIGRlc2MyLnNldCwgYHcuJHtrZXl9IHNldHRl
cmApOwotICAgICAgICB9Ci0gICAgfQotfSwgIkNyb3NzLW9yaWdpbiBXaW5kb3cgYWNjZXNzb3Jz
IGFyZSBjYWNoZWQiKTsKLQotcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewotICAgIGNvbnN0IHcg
PSBhd2FpdCBtYWtlQ3Jvc3NPcmlnaW5XaW5kb3codCk7Ci0gICAgYXNzZXJ0X2VxdWFscyh3Lmxv
Y2F0aW9uLnJlcGxhY2UsIHcubG9jYXRpb24ucmVwbGFjZSwgInZpYSBbW0dldF1dIik7Ci0gICAg
Y29uc3QgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHcubG9jYXRpb24s
ICJyZXBsYWNlIik7Ci0gICAgY29uc3QgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKHcubG9jYXRpb24sICJyZXBsYWNlIik7Ci0gICAgYXNzZXJ0X2VxdWFscyhkZXNjMS52
YWx1ZSwgZGVzYzIudmFsdWUsICJ2aWEgW1tHZXRPd25Qcm9wZXJ0eV1dIik7Ci19LCAiQ3Jvc3Mt
b3JpZ2luIExvY2F0aW9uIGByZXBsYWNlYCBtZXRob2QgaXMgY2FjaGVkIik7Ci0KLXByb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCB3ID0gYXdhaXQgbWFrZUNyb3NzT3JpZ2luV2lu
ZG93KHQpOwotICAgIGNvbnN0IGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRv
cih3LmxvY2F0aW9uLCAiaHJlZiIpOwotICAgIGNvbnN0IGRlc2MyID0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcih3LmxvY2F0aW9uLCAiaHJlZiIpOwotICAgIGFzc2VydF9lcXVhbHMo
ZGVzYzEuc2V0LCBkZXNjMi5zZXQpOwotfSwgIkNyb3NzLW9yaWdpbiBMb2NhdGlvbiBgaHJlZmAg
c2V0dGVyIGlzIGNhY2hlZCIpOwotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvb3JpZ2luL2Nyb3Nz
LW9yaWdpbi1vYmplY3RzL2Nyb3NzLW9yaWdpbi1vYmplY3RzLWZ1bmN0aW9uLWNvbW1vbi5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vy
cy9vcmlnaW4vY3Jvc3Mtb3JpZ2luLW9iamVjdHMvY3Jvc3Mtb3JpZ2luLW9iamVjdHMtZnVuY3Rp
b24tY29tbW9uLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYjkzYjQ5OGEyNmNi
ZDcyMTMxNzlkYmE3MjU0ZWViODQzMTczZDJkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9icm93c2Vycy9vcmlnaW4vY3Jvc3Mtb3JpZ2luLW9iamVjdHMvY3Jvc3Mtb3Jp
Z2luLW9iamVjdHMtZnVuY3Rpb24tY29tbW9uLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAs
MCBAQAotInVzZSBzdHJpY3QiOwotCi1jb25zdCBjcm9zc09yaWdpbldpbmRvd01ldGhvZHMgPSBb
Ci0gICAge2tleTogImNsb3NlIiwgbGVuZ3RoOiAwfSwKLSAgICB7a2V5OiAiZm9jdXMiLCBsZW5n
dGg6IDB9LAotICAgIHtrZXk6ICJibHVyIiwgbGVuZ3RoOiAwfSwKLSAgICB7a2V5OiAicG9zdE1l
c3NhZ2UiLCBsZW5ndGg6IDF9LAotXTsKLQotY29uc3QgY3Jvc3NPcmlnaW5XaW5kb3dBY2Nlc3Nv
cnMgPSBbCi0gICAgIndpbmRvdyIsCi0gICAgInNlbGYiLAotICAgICJsb2NhdGlvbiIsCi0gICAg
ImNsb3NlZCIsCi0gICAgImZyYW1lcyIsCi0gICAgImxlbmd0aCIsCi0gICAgInRvcCIsCi0gICAg
Im9wZW5lciIsCi0gICAgInBhcmVudCIsCi1dLm1hcChrZXkgPT4gKHtrZXl9KSk7Ci0KLWNvbnN0
IG1ha2VDcm9zc09yaWdpbldpbmRvdyA9IHQgPT4gewotICAgIGNvbnN0IGlmcmFtZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwotICAgIGNvbnN0IHBhdGggPSBsb2NhdGlvbi5w
YXRobmFtZS5zbGljZSgwLCBsb2NhdGlvbi5wYXRobmFtZS5sYXN0SW5kZXhPZigiLyIpKSArICIv
ZnJhbWUuaHRtbCI7Ci0gICAgaWZyYW1lLnNyYyA9IGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9U
RV9PUklHSU4gKyBwYXRoOwotCi0gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWpl
Y3QpID0+IHsKLSAgICAgICAgaWZyYW1lLm9ubG9hZCA9ICgpID0+IHsgcmVzb2x2ZShpZnJhbWUu
Y29udGVudFdpbmRvdyk7IH07Ci0gICAgICAgIGlmcmFtZS5vbmVycm9yID0gcmVqZWN0OwotCi0g
ICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKGlmcmFtZSk7Ci0gICAgICAgIHQuYWRkX2NsZWFu
dXAoKCkgPT4geyBpZnJhbWUucmVtb3ZlKCk7IH0pOwotICAgIH0pOwotfTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vy
cy9vcmlnaW4vY3Jvc3Mtb3JpZ2luLW9iamVjdHMvY3Jvc3Mtb3JpZ2luLW9iamVjdHMtZnVuY3Rp
b24tbGVuZ3RoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9vcmlnaW4vY3Jvc3Mtb3JpZ2luLW9iamVjdHMvY3Jv
c3Mtb3JpZ2luLW9iamVjdHMtZnVuY3Rpb24tbGVuZ3RoLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYTE4YjZmYjkzYWYxMWZkYmM1NjFhMjRkMDhmNTY2OGI4MjEy
OTRjMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvb3Jp
Z2luL2Nyb3NzLW9yaWdpbi1vYmplY3RzL2Nyb3NzLW9yaWdpbi1vYmplY3RzLWZ1bmN0aW9uLWxl
bmd0aC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLQotUEFTUyBD
cm9zcy1vcmlnaW4gV2luZG93IG1ldGhvZHMgaGF2ZSBjb3JyZWN0ICdsZW5ndGgnCi1QQVNTIENy
b3NzLW9yaWdpbiBXaW5kb3cgYWNjZXNzb3JzIGhhdmUgY29ycmVjdCAnbGVuZ3RoJwotUEFTUyBD
cm9zcy1vcmlnaW4gTG9jYXRpb24gYHJlcGxhY2VgIG1ldGhvZCBoYXMgY29ycmVjdCAnbGVuZ3Ro
JwotUEFTUyBDcm9zcy1vcmlnaW4gTG9jYXRpb24gYGhyZWZgIHNldHRlciBoYXMgY29ycmVjdCAn
bGVuZ3RoJwotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvb3JpZ2luL2Nyb3NzLW9yaWdpbi1vYmplY3RzL2Nyb3Nz
LW9yaWdpbi1vYmplY3RzLWZ1bmN0aW9uLWxlbmd0aC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL29yaWdpbi9jcm9zcy1vcmln
aW4tb2JqZWN0cy9jcm9zcy1vcmlnaW4tb2JqZWN0cy1mdW5jdGlvbi1sZW5ndGguaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDY2OTE1YTQ2MTdhODRkYjk3N2FiMGNmOTUxZDA5
ZDJjYjFmMDc4Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3Nl
cnMvb3JpZ2luL2Nyb3NzLW9yaWdpbi1vYmplY3RzL2Nyb3NzLW9yaWdpbi1vYmplY3RzLWZ1bmN0
aW9uLWxlbmd0aC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotPCFkb2N0eXBl
IGh0bWw+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPHRpdGxlPkNyb3NzLW9yaWdpbiBtZXRob2Rz
IGFuZCBhY2Nlc3NvcnMgYXJlIGNyZWF0ZWQgd2l0aCBjb3JyZWN0ICdsZW5ndGgnIHByb3BlcnR5
PC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdn
Lm9yZy9tdWx0aXBhZ2UvYnJvd3NlcnMuaHRtbCNjcm9zc29yaWdpbmdldG93bnByb3BlcnR5aGVs
cGVyLSgtbywtcC0pIj4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSJjcm9zcy1vcmlnaW4tb2JqZWN0cy1mdW5jdGlvbi1jb21tb24u
anMiPjwvc2NyaXB0PgotPGRpdiBpZD1sb2c+PC9kaXY+Ci08c2NyaXB0PgotInVzZSBzdHJpY3Qi
OwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgdyA9IGF3YWl0IG1ha2VD
cm9zc09yaWdpbldpbmRvdyh0KTsKLSAgICBmb3IgKGNvbnN0IHtrZXksIGxlbmd0aH0gb2YgY3Jv
c3NPcmlnaW5XaW5kb3dNZXRob2RzKSB7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMod1trZXldLmxl
bmd0aCwgbGVuZ3RoLCBgdy4ke2tleX0gdmlhIFtbR2V0XV1gKTsKLSAgICAgICAgY29uc3QgZGVz
YyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iodywga2V5KTsKLSAgICAgICAgYXNz
ZXJ0X2VxdWFscyhkZXNjLnZhbHVlLmxlbmd0aCwgbGVuZ3RoLCBgdy4ke2tleX0gdmlhIFtbR2V0
T3duUHJvcGVydHldXWApOwotICAgIH0KLX0sICJDcm9zcy1vcmlnaW4gV2luZG93IG1ldGhvZHMg
aGF2ZSBjb3JyZWN0ICdsZW5ndGgnIik7Ci0KLXByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKLSAg
ICBjb25zdCB3ID0gYXdhaXQgbWFrZUNyb3NzT3JpZ2luV2luZG93KHQpOwotICAgIGZvciAoY29u
c3Qge2tleX0gb2YgY3Jvc3NPcmlnaW5XaW5kb3dBY2Nlc3NvcnMpIHsKLSAgICAgICAgY29uc3Qg
ZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iodywga2V5KTsKLSAgICAgICAg
YXNzZXJ0X2VxdWFscyhkZXNjLmdldC5sZW5ndGgsIDAsIGB3LiR7a2V5fWApOwotICAgICAgICBp
ZiAoa2V5ID09PSAibG9jYXRpb24iKSB7Ci0gICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGRlc2Mu
c2V0Lmxlbmd0aCwgMSwgYHcuJHtrZXl9YCk7Ci0gICAgICAgIH0KLSAgICB9Ci19LCAiQ3Jvc3Mt
b3JpZ2luIFdpbmRvdyBhY2Nlc3NvcnMgaGF2ZSBjb3JyZWN0ICdsZW5ndGgnIik7Ci0KLXByb21p
c2VfdGVzdChhc3luYyB0ID0+IHsKLSAgICBjb25zdCB3ID0gYXdhaXQgbWFrZUNyb3NzT3JpZ2lu
V2luZG93KHQpOwotICAgIGFzc2VydF9lcXVhbHMody5sb2NhdGlvbi5yZXBsYWNlLmxlbmd0aCwg
MSk7Ci0gICAgY29uc3QgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iody5s
b2NhdGlvbiwgInJlcGxhY2UiKTsKLSAgICBhc3NlcnRfZXF1YWxzKGRlc2MudmFsdWUubGVuZ3Ro
LCAxKTsKLX0sICJDcm9zcy1vcmlnaW4gTG9jYXRpb24gYHJlcGxhY2VgIG1ldGhvZCBoYXMgY29y
cmVjdCAnbGVuZ3RoJyIpOwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3Qg
dyA9IGF3YWl0IG1ha2VDcm9zc09yaWdpbldpbmRvdyh0KTsKLSAgICBjb25zdCBkZXNjID0gT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3LmxvY2F0aW9uLCAiaHJlZiIpOwotICAgIGFz
c2VydF9lcXVhbHMoZGVzYy5zZXQubGVuZ3RoLCAxKTsKLX0sICJDcm9zcy1vcmlnaW4gTG9jYXRp
b24gYGhyZWZgIHNldHRlciBoYXMgY29ycmVjdCAnbGVuZ3RoJyIpOwotPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
YnJvd3NlcnMvb3JpZ2luL2Nyb3NzLW9yaWdpbi1vYmplY3RzL2Nyb3NzLW9yaWdpbi1vYmplY3Rz
LWZ1bmN0aW9uLW5hbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL29yaWdpbi9jcm9zcy1vcmlnaW4tb2JqZWN0
cy9jcm9zcy1vcmlnaW4tb2JqZWN0cy1mdW5jdGlvbi1uYW1lLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTgwZmU3YTM1M2VjZDA4NjUxNzQ0MDMyZTk3YzlkYzk3
NWMyNmQyNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMv
b3JpZ2luL2Nyb3NzLW9yaWdpbi1vYmplY3RzL2Nyb3NzLW9yaWdpbi1vYmplY3RzLWZ1bmN0aW9u
LW5hbWUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0KLVBBU1Mg
Q3Jvc3Mtb3JpZ2luIFdpbmRvdyBtZXRob2RzIGhhdmUgY29ycmVjdCAnbmFtZScKLVBBU1MgQ3Jv
c3Mtb3JpZ2luIFdpbmRvdyBhY2Nlc3NvcnMgaGF2ZSBjb3JyZWN0ICduYW1lJwotUEFTUyBDcm9z
cy1vcmlnaW4gTG9jYXRpb24gYHJlcGxhY2VgIG1ldGhvZCBoYXMgY29ycmVjdCAnbmFtZScKLVBB
U1MgQ3Jvc3Mtb3JpZ2luIExvY2F0aW9uIGBocmVmYCBzZXR0ZXIgaGFzIGNvcnJlY3QgJ25hbWUn
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9icm93c2Vycy9vcmlnaW4vY3Jvc3Mtb3JpZ2luLW9iamVjdHMvY3Jvc3Mtb3JpZ2lu
LW9iamVjdHMtZnVuY3Rpb24tbmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL29yaWdpbi9jcm9zcy1vcmlnaW4tb2JqZWN0
cy9jcm9zcy1vcmlnaW4tb2JqZWN0cy1mdW5jdGlvbi1uYW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDE2N2MzMGU4ZjMyOGZhZTY4Y2IzNWQwZmRkMDU2ODYyNGJmMTg3YWMu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL29yaWdpbi9j
cm9zcy1vcmlnaW4tb2JqZWN0cy9jcm9zcy1vcmlnaW4tb2JqZWN0cy1mdW5jdGlvbi1uYW1lLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi08IWRvY3R5cGUgaHRtbD4KLTxtZXRh
IGNoYXJzZXQ9dXRmLTg+Ci08dGl0bGU+Q3Jvc3Mtb3JpZ2luIG1ldGhvZHMgYW5kIGFjY2Vzc29y
cyBhcmUgY3JlYXRlZCB3aXRoIGNvcnJlY3QgJ25hbWUnIHByb3BlcnR5PC90aXRsZT4KLTxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uv
YnJvd3NlcnMuaHRtbCNjcm9zc29yaWdpbmdldG93bnByb3BlcnR5aGVscGVyLSgtbywtcC0pIj4K
LTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSJjcm9zcy1vcmlnaW4tb2JqZWN0cy1mdW5jdGlvbi1jb21tb24uanMiPjwvc2NyaXB0Pgot
PGRpdiBpZD1sb2c+PC9kaXY+Ci08c2NyaXB0PgotInVzZSBzdHJpY3QiOwotCi1wcm9taXNlX3Rl
c3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgdyA9IGF3YWl0IG1ha2VDcm9zc09yaWdpbldpbmRv
dyh0KTsKLSAgICBmb3IgKGNvbnN0IHtrZXl9IG9mIGNyb3NzT3JpZ2luV2luZG93TWV0aG9kcykg
ewotICAgICAgICBhc3NlcnRfZXF1YWxzKHdba2V5XS5uYW1lLCBrZXksIGB3LiR7a2V5fSB2aWEg
W1tHZXRdXWApOwotICAgICAgICBjb25zdCBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcih3LCBrZXkpOwotICAgICAgICBhc3NlcnRfZXF1YWxzKGRlc2MudmFsdWUubmFtZSwg
a2V5LCBgdy4ke2tleX0gdmlhIFtbR2V0T3duUHJvcGVydHldXWApOwotICAgIH0KLX0sICJDcm9z
cy1vcmlnaW4gV2luZG93IG1ldGhvZHMgaGF2ZSBjb3JyZWN0ICduYW1lJyIpOwotCi1wcm9taXNl
X3Rlc3QoYXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgdyA9IGF3YWl0IG1ha2VDcm9zc09yaWdpbldp
bmRvdyh0KTsKLSAgICBmb3IgKGNvbnN0IHtrZXl9IG9mIGNyb3NzT3JpZ2luV2luZG93QWNjZXNz
b3JzKSB7Ci0gICAgICAgIGNvbnN0IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKHcsIGtleSk7Ci0gICAgICAgIGFzc2VydF9lcXVhbHMoZGVzYy5nZXQubmFtZSwgYGdldCAk
e2tleX1gKTsKLSAgICAgICAgaWYgKGtleSA9PT0gImxvY2F0aW9uIikgewotICAgICAgICAgICAg
YXNzZXJ0X2VxdWFscyhkZXNjLnNldC5uYW1lLCBgc2V0ICR7a2V5fWApOwotICAgICAgICB9Ci0g
ICAgfQotfSwgIkNyb3NzLW9yaWdpbiBXaW5kb3cgYWNjZXNzb3JzIGhhdmUgY29ycmVjdCAnbmFt
ZSciKTsKLQotcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewotICAgIGNvbnN0IHcgPSBhd2FpdCBt
YWtlQ3Jvc3NPcmlnaW5XaW5kb3codCk7Ci0gICAgYXNzZXJ0X2VxdWFscyh3LmxvY2F0aW9uLnJl
cGxhY2UubmFtZSwgInJlcGxhY2UiKTsKLSAgICBjb25zdCBkZXNjID0gT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcih3LmxvY2F0aW9uLCAicmVwbGFjZSIpOwotICAgIGFzc2VydF9lcXVh
bHMoZGVzYy52YWx1ZS5uYW1lLCAicmVwbGFjZSIpOwotfSwgIkNyb3NzLW9yaWdpbiBMb2NhdGlv
biBgcmVwbGFjZWAgbWV0aG9kIGhhcyBjb3JyZWN0ICduYW1lJyIpOwotCi1wcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7Ci0gICAgY29uc3QgdyA9IGF3YWl0IG1ha2VDcm9zc09yaWdpbldpbmRvdyh0
KTsKLSAgICBjb25zdCBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3Lmxv
Y2F0aW9uLCAiaHJlZiIpOwotICAgIGFzc2VydF9lcXVhbHMoZGVzYy5zZXQubmFtZSwgInNldCBo
cmVmIik7Ci19LCAiQ3Jvc3Mtb3JpZ2luIExvY2F0aW9uIGBocmVmYCBzZXR0ZXIgaGFzIGNvcnJl
Y3QgJ25hbWUnIik7Ci08L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>