<?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>145096</bug_id>
          
          <creation_ts>2015-05-16 14:00:07 -0700</creation_ts>
          <short_desc>REGRESSION(r184415): Broke several tests (Requested by msaboff on #webkit).</short_desc>
          <delta_ts>2015-05-16 14:03:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>145015</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1095437</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-16 14:00:07 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/184415 broke the build:
Broke several tests (Requested by msaboff on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095439</commentid>
    <comment_count>1</comment_count>
      <attachid>253273</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-16 14:00:41 -0700</bug_when>
    <thetext>Created attachment 253273
ROLLOUT of r184415

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

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

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095440</commentid>
    <comment_count>2</comment_count>
      <attachid>253273</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-16 14:03:13 -0700</bug_when>
    <thetext>Comment on attachment 253273
ROLLOUT of r184415

Clearing flags on attachment: 253273

Committed r184438: &lt;http://trac.webkit.org/changeset/184438&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1095441</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-16 14:03:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253273</attachid>
            <date>2015-05-16 14:00:41 -0700</date>
            <delta_ts>2015-05-16 14:03:13 -0700</delta_ts>
            <desc>ROLLOUT of r184415</desc>
            <filename>bug-145096-20150516135915.patch</filename>
            <type>text/plain</type>
            <size>56820</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0NDM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
ODA5ZjFmNTU0MjIwNWUzZmZhYzkwYzJlZmQ1OTViYTcwMTM2NjMyLi42ZTYzMTY5NDJhNDc4ODIw
OTJmNWU5MmNmMTViNzhjMzBmYTlmODA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxNS0wNS0xNiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE4NDQxNS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTA5NgorCisgICAg
ICAgIEJyb2tlIHNldmVyYWwgdGVzdHMgKFJlcXVlc3RlZCBieSBtc2Fib2ZmIG9uICN3ZWJraXQp
LgorCisgICAgICAgIFJldmVydGVkIGNoYW5nZXNldDoKKworICAgICAgICAiSW5zZXJ0IHN0b3Jl
IGJhcnJpZXJzIGxhdGUgc28gdGhhdCBJUiB0cmFuc2Zvcm1hdGlvbnMgZG9uJ3QKKyAgICAgICAg
aGF2ZSB0byB3b3JyeSBhYm91dCB0aGVtIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1MDE1CisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcv
Y2hhbmdlc2V0LzE4NDQxNQorCiAyMDE1LTA1LTE0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBs
ZS5jb20+CiAKICAgICAgICAgSW5zZXJ0IHN0b3JlIGJhcnJpZXJzIGxhdGUgc28gdGhhdCBJUiB0
cmFuc2Zvcm1hdGlvbnMgZG9uJ3QgaGF2ZSB0byB3b3JyeSBhYm91dCB0aGVtCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggN2UyYjE4NGU0NTRlNzJmYTViMzk1NzcxMTQ0ZDg3
YzY4NDYyMmNiNC4uMWEwNTRhODkxZmRiM2U2ZDc1MzgzOGZkYzAzNzA0M2JjOGMzOTEwMSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMjI3LDcgKzIyNyw3IEBAIHNldChK
YXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCiAg
ICAgZGZnL0RGR1N0YWNrTGF5b3V0UGhhc2UuY3BwCiAgICAgZGZnL0RGR1N0YXRpY0V4ZWN1dGlv
bkNvdW50RXN0aW1hdGlvblBoYXNlLmNwcAotICAgIGRmZy9ERkdTdG9yZUJhcnJpZXJJbnNlcnRp
b25QaGFzZS5jcHAKKyAgICBkZmcvREZHU3RvcmVCYXJyaWVyRWxpc2lvblBoYXNlLmNwcAogICAg
IGRmZy9ERkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmNwcAogICAgIGRmZy9ERkdTdHJ1Y3R1cmVB
YnN0cmFjdFZhbHVlLmNwcAogICAgIGRmZy9ERkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5j
cHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hw
cm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCmluZGV4IGNmYThkMzg2ODk1
NzhjYzMxNTg4YWRhOTYyOTdiMTY4ZjViMmI3OTAuLmZlMDgwMGQyMDkwYTY2Mjg5ODgwYTMzN2Ez
ZjM4ZmZkNWI3OWMyOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagpA
QCAtNDY3LDcgKzQ2Nyw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkZmdcREZHU1NB
TG93ZXJpbmdQaGFzZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkZmdcREZH
U3RhY2tMYXlvdXRQaGFzZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkZmdc
REZHU3RhdGljRXhlY3V0aW9uQ291bnRFc3RpbWF0aW9uUGhhc2UuY3BwIiAvPgotICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5cZGZnXERGR1N0b3JlQmFycmllckluc2VydGlvblBoYXNlLmNwcCIg
Lz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xERkdTdG9yZUJhcnJpZXJFbGlzaW9u
UGhhc2UuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZGZnXERGR1N0cmVuZ3Ro
UmVkdWN0aW9uUGhhc2UuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZGZnXERG
R1N0cnVjdHVyZUFic3RyYWN0VmFsdWUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5cZGZnXERGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcCIgLz4KQEAgLTExNzMsNyAr
MTE3Myw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHU1NBTG93ZXJpbmdQ
aGFzZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZGZnXERGR1N0YWNrTGF5b3V0
UGhhc2UuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdTdGF0aWNFeGVj
dXRpb25Db3VudEVzdGltYXRpb25QaGFzZS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cZGZnXERGR1N0b3JlQmFycmllckluc2VydGlvblBoYXNlLmgiIC8+CisgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxkZmdcREZHU3RvcmVCYXJyaWVyRWxpc2lvblBoYXNlLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHU3RyZW5ndGhSZWR1Y3Rpb25QaGFzZS5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZGZnXERGR1N0cnVjdHVyZUFic3RyYWN0VmFs
dWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdTdHJ1Y3R1cmVDbG9i
YmVyU3RhdGUuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYWM5ZDI1ODJk
ZjYwZTU3YzU2ZjAwMGJlMDgxYmM3YWJkNzFiNDBhNS4uNTgwMmY3Y2RiYjc3MTU3NWM5ZGRmNTMy
MDBiNjFkZTI1ODJlODEwMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ2Miw4
ICs0NjIsNiBAQAogCQkwRjlEMzM5QjE4MDNBREI3MDA3M0MyQkMgLyogRlRMU3RhY2tNYXBzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjlEMzM5OTE4
MDNBREI3MDA3M0MyQkMgLyogRlRMU3RhY2tNYXBzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEY5RDM2OTQxQUU5Q0MzMzAwMEQ0REZCIC8qIERG
R0NsZWFuVXBQaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjlEMzY5MjFBRTlDQzMzMDAwRDRERkIgLyogREZHQ2xlYW5VcFBoYXNlLmNwcCAq
LzsgfTsKIAkJMEY5RDM2OTUxQUU5Q0MzMzAwMEQ0REZCIC8qIERGR0NsZWFuVXBQaGFzZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY5RDM2OTMxQUU5
Q0MzMzAwMEQ0REZCIC8qIERGR0NsZWFuVXBQaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTBGOUUzMjYzMUIwNUFCMDQwMDgwMUVENSAvKiBE
RkdTdG9yZUJhcnJpZXJJbnNlcnRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjlFMzI2MTFCMDVBQjA0MDA4MDFFRDUgLyogREZHU3Rv
cmVCYXJyaWVySW5zZXJ0aW9uUGhhc2UuY3BwICovOyB9OwotCQkwRjlFMzI2NDFCMDVBQjA0MDA4
MDFFRDUgLyogREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGOUUzMjYyMUIwNUFCMDQwMDgwMUVENSAv
KiBERkdTdG9yZUJhcnJpZXJJbnNlcnRpb25QaGFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGOUZCNEY0MTdGQ0I5MTcwMENCNjdGOCAvKiBE
RkdTdGFja0xheW91dFBoYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGOUZCNEYyMTdGQ0I5MTcwMENCNjdGOCAvKiBERkdTdGFja0xheW91dFBo
YXNlLmNwcCAqLzsgfTsKIAkJMEY5RkI0RjUxN0ZDQjkxNzAwQ0I2N0Y4IC8qIERGR1N0YWNrTGF5
b3V0UGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGOUZCNEYzMTdGQ0I5MTcwMENCNjdGOCAvKiBERkdTdGFja0xheW91dFBoYXNlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEY5RkM4QzMxNEUx
QjVGRTAwRDUyQUUwIC8qIFBvbHltb3JwaGljUHV0QnlJZExpc3QuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY5RkM4QkYxNEUxQjVGQjAwRDUyQUUw
IC8qIFBvbHltb3JwaGljUHV0QnlJZExpc3QuY3BwICovOyB9OwpAQCAtOTMwLDYgKzkyOCw4IEBA
CiAJCTJBQUQ5NjRBMTg1Njk0MTcwMDFGOTNCRSAvKiBSZWN1cnNpdmVBbGxvY2F0aW9uU2NvcGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBQUQ5NjQ5
MTg1Njk0MTcwMDFGOTNCRSAvKiBSZWN1cnNpdmVBbGxvY2F0aW9uU2NvcGUuaCAqLzsgfTsKIAkJ
MkFDOTIyQkIxOEExNjE4MjAwM0NFMEZCIC8qIEZUTERXQVJGRGVidWdMaW5lSW5mby5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQUM5MjJCOTE4QTE2
MTgyMDAzQ0UwRkIgLyogRlRMRFdBUkZEZWJ1Z0xpbmVJbmZvLmNwcCAqLzsgfTsKIAkJMkFDOTIy
QkMxOEExNjE4MjAwM0NFMEZCIC8qIEZUTERXQVJGRGVidWdMaW5lSW5mby5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFDOTIyQkExOEExNjE4MjAwM0NF
MEZCIC8qIEZUTERXQVJGRGVidWdMaW5lSW5mby5oICovOyB9OworCQkyQUNDRjNERTE4NUZFMjZC
MDA4M0UyQUQgLyogREZHU3RvcmVCYXJyaWVyRWxpc2lvblBoYXNlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBQ0NGM0RDMTg1RkUyNkIwMDgzRTJB
RCAvKiBERkdTdG9yZUJhcnJpZXJFbGlzaW9uUGhhc2UuY3BwICovOyB9OworCQkyQUNDRjNERjE4
NUZFMjZCMDA4M0UyQUQgLyogREZHU3RvcmVCYXJyaWVyRWxpc2lvblBoYXNlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQUNDRjNERDE4NUZFMjZCMDA4
M0UyQUQgLyogREZHU3RvcmVCYXJyaWVyRWxpc2lvblBoYXNlLmggKi87IH07CiAJCTJBRDJFREZC
MTk3OTlFMzgwMDRENjQ3OCAvKiBFbnVtZXJhdGlvbk1vZGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJBRDJFREZBMTk3OTlFMzgwMDRENjQ3OCAvKiBF
bnVtZXJhdGlvbk1vZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkyQUQ4OTMyQjE3RTM4NjhGMDA2NjgyNzYgLyogSGVhcEl0ZXJhdGlvblNjb3Bl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQUQ4OTMy
OTE3RTM4NjhGMDA2NjgyNzYgLyogSGVhcEl0ZXJhdGlvblNjb3BlLmggKi87IH07CiAJCTJBREZB
MjYzMThFRjM1NDAwMDRGOUZDQyAvKiBHQ0xvZ2dpbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkFERkEyNjIxOEVGMzU0MDAwNEY5RkNDIC8qIEdD
TG9nZ2luZy5jcHAgKi87IH07CkBAIC0yMjAxLDggKzIyMDEsNiBAQAogCQkwRjlEMzM5OTE4MDNB
REI3MDA3M0MyQkMgLyogRlRMU3RhY2tNYXBzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEZUTFN0YWNrTWFwcy5oOyBwYXRoID0gZnRsL0ZUTFN0YWNrTWFwcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwRjlEMzY5MjFBRTlDQzMzMDAwRDRERkIgLyogREZHQ2xl
YW5VcFBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0Ns
ZWFuVXBQaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHQ2xlYW5VcFBoYXNlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY5RDM2OTMxQUU5Q0MzMzAwMEQ0REZCIC8qIERGR0NsZWFu
VXBQaGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdDbGVhblVwUGhh
c2UuaDsgcGF0aCA9IGRmZy9ERkdDbGVhblVwUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJMEY5RTMyNjExQjA1QUIwNDAwODAxRUQ1IC8qIERGR1N0b3JlQmFycmllckluc2Vy
dGlvblBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR1N0
b3JlQmFycmllckluc2VydGlvblBoYXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdTdG9yZUJhcnJpZXJJ
bnNlcnRpb25QaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTBGOUUzMjYy
MUIwNUFCMDQwMDgwMUVENSAvKiBERkdTdG9yZUJhcnJpZXJJbnNlcnRpb25QaGFzZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdTdG9yZUJhcnJpZXJJbnNlcnRpb25QaGFz
ZS5oOyBwYXRoID0gZGZnL0RGR1N0b3JlQmFycmllckluc2VydGlvblBoYXNlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGOUZCNEYyMTdGQ0I5MTcwMENCNjdGOCAvKiBERkdTdGFj
a0xheW91dFBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERG
R1N0YWNrTGF5b3V0UGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR1N0YWNrTGF5b3V0UGhhc2UuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjlGQjRGMzE3RkNCOTE3MDBDQjY3Rjgg
LyogREZHU3RhY2tMYXlvdXRQaGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBERkdTdGFja0xheW91dFBoYXNlLmg7IHBhdGggPSBkZmcvREZHU3RhY2tMYXlvdXRQaGFzZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjlGQzhCRjE0RTFCNUZCMDBENTJBRTAg
LyogUG9seW1vcnBoaWNQdXRCeUlkTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBQb2x5bW9ycGhpY1B1dEJ5SWRMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTI2MzksNiArMjYzNyw4IEBACiAJCTJBQUQ5NjQ5MTg1Njk0MTcwMDFGOTNC
RSAvKiBSZWN1cnNpdmVBbGxvY2F0aW9uU2NvcGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUmVjdXJzaXZlQWxsb2NhdGlvblNjb3BlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTJBQzkyMkI5MThBMTYxODIwMDNDRTBGQiAvKiBGVExEV0FSRkRlYnVnTGluZUlu
Zm8uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRlRMRFdBUkZEZWJ1
Z0xpbmVJbmZvLmNwcDsgcGF0aCA9IGZ0bC9GVExEV0FSRkRlYnVnTGluZUluZm8uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyQUM5MjJCQTE4QTE2MTgyMDAzQ0UwRkIgLyogRlRM
RFdBUkZEZWJ1Z0xpbmVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZU
TERXQVJGRGVidWdMaW5lSW5mby5oOyBwYXRoID0gZnRsL0ZUTERXQVJGRGVidWdMaW5lSW5mby5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyQUNDRjNEQzE4NUZFMjZCMDA4M0UyQUQg
LyogREZHU3RvcmVCYXJyaWVyRWxpc2lvblBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IERGR1N0b3JlQmFycmllckVsaXNpb25QaGFzZS5jcHA7IHBhdGggPSBk
ZmcvREZHU3RvcmVCYXJyaWVyRWxpc2lvblBoYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMkFDQ0YzREQxODVGRTI2QjAwODNFMkFEIC8qIERGR1N0b3JlQmFycmllckVsaXNp
b25QaGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdTdG9yZUJhcnJp
ZXJFbGlzaW9uUGhhc2UuaDsgcGF0aCA9IGRmZy9ERkdTdG9yZUJhcnJpZXJFbGlzaW9uUGhhc2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkFEMkVERkExOTc5OUUzODAwNEQ2NDc4
IC8qIEVudW1lcmF0aW9uTW9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBF
bnVtZXJhdGlvbk1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkFEODkzMjkx
N0UzODY4RjAwNjY4Mjc2IC8qIEhlYXBJdGVyYXRpb25TY29wZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBIZWFwSXRlcmF0aW9uU2NvcGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMkFERkEyNjIxOEVGMzU0MDAwNEY5RkNDIC8qIEdDTG9nZ2luZy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHQ0xvZ2dpbmcuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTA4OSw4ICs1MDg5LDggQEAKIAkJCQkwRjlGQjRGMzE3
RkNCOTE3MDBDQjY3RjggLyogREZHU3RhY2tMYXlvdXRQaGFzZS5oICovLAogCQkJCTBGNEYyOURE
MThCNkFEMUMwMDU3QkMxNSAvKiBERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGltYXRpb25QaGFz
ZS5jcHAgKi8sCiAJCQkJMEY0RjI5REUxOEI2QUQxQzAwNTdCQzE1IC8qIERGR1N0YXRpY0V4ZWN1
dGlvbkNvdW50RXN0aW1hdGlvblBoYXNlLmggKi8sCi0JCQkJMEY5RTMyNjExQjA1QUIwNDAwODAx
RUQ1IC8qIERGR1N0b3JlQmFycmllckluc2VydGlvblBoYXNlLmNwcCAqLywKLQkJCQkwRjlFMzI2
MjFCMDVBQjA0MDA4MDFFRDUgLyogREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9uUGhhc2UuaCAqLywK
KwkJCQkyQUNDRjNEQzE4NUZFMjZCMDA4M0UyQUQgLyogREZHU3RvcmVCYXJyaWVyRWxpc2lvblBo
YXNlLmNwcCAqLywKKwkJCQkyQUNDRjNERDE4NUZFMjZCMDA4M0UyQUQgLyogREZHU3RvcmVCYXJy
aWVyRWxpc2lvblBoYXNlLmggKi8sCiAJCQkJMEZDMjBDQjMxODUyRTJDNjAwQzlFOTU0IC8qIERG
R1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2UuY3BwICovLAogCQkJCTBGQzIwQ0I0MTg1MkUyQzYwMEM5
RTk1NCAvKiBERkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmggKi8sCiAJCQkJMEY4OTNCREExOTM2
RTIzQzAwMTIxMUY0IC8qIERGR1N0cnVjdHVyZUFic3RyYWN0VmFsdWUuY3BwICovLApAQCAtNTg5
NCw4ICs1ODk0LDggQEAKIAkJCQlBN0Q4OUQwMDE3QTBCOENDMDA3NzNBRDggLyogREZHU1NBQ29u
dmVyc2lvblBoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkMyMENCQTE4NTU2QTM1MDBDOUU5
NTQgLyogREZHU1NBTG93ZXJpbmdQaGFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY5RkI0RjUx
N0ZDQjkxNzAwQ0I2N0Y4IC8qIERGR1N0YWNrTGF5b3V0UGhhc2UuaCBpbiBIZWFkZXJzICovLAot
CQkJCTBGOUUzMjY0MUIwNUFCMDQwMDgwMUVENSAvKiBERkdTdG9yZUJhcnJpZXJJbnNlcnRpb25Q
aGFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY0RjI5RTAxOEI2QUQxQzAwNTdCQzE1IC8qIERG
R1N0YXRpY0V4ZWN1dGlvbkNvdW50RXN0aW1hdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkyQUNDRjNERjE4NUZFMjZCMDA4M0UyQUQgLyogREZHU3RvcmVCYXJyaWVyRWxpc2lvblBoYXNl
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkMyMENCNjE4NTJFMkM2MDBDOUU5NTQgLyogREZHU3Ry
ZW5ndGhSZWR1Y3Rpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY2Mzk0NzgxNURDRTM0
QjAwNkE1OTdDIC8qIERGR1N0cnVjdHVyZUFic3RyYWN0VmFsdWUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBGMkZDQ0ZGMThBNjAwNzAwMDFBMjdGOCAvKiBERkdUaHJlYWREYXRhLmggaW4gSGVhZGVy
cyAqLywKQEAgLTcxODEsNiArNzE4MSw3IEBACiAJCQkJMEY5RkI0RjQxN0ZDQjkxNzAwQ0I2N0Y4
IC8qIERGR1N0YWNrTGF5b3V0UGhhc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0RjI5REYx
OEI2QUQxQzAwNTdCQzE1IC8qIERGR1N0YXRpY0V4ZWN1dGlvbkNvdW50RXN0aW1hdGlvblBoYXNl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRTcyMTFEMTkzQjlDNTkwMDMxRjZFRCAvKiBERkdU
cmFuc2l0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJBQ0NGM0RFMTg1RkUyNkIwMDgzRTJB
RCAvKiBERkdTdG9yZUJhcnJpZXJFbGlzaW9uUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEZDMjBDQjUxODUyRTJDNjAwQzlFOTU0IC8qIERGR1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2UuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyRkNDRkUxOEE2MDA3MDAwMUEyN0Y4IC8qIERGR1RocmVh
ZERhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZDMDk3QTExNDZCMjhDQTAwQ0YyNDQyIC8q
IERGR1RodW5rcy5jcHAgaW4gU291cmNlcyAqLywKQEAgLTcyMDEsNyArNzIwMiw2IEBACiAJCQkJ
MEYyQkRDNTExNTIyOEZGRDAwQ0Q4OTEwIC8qIERGR1ZhcmlhYmxlRXZlbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMEYyQkRDNEExNTIyODA5QTAwQ0Q4OTEwIC8qIERGR1ZhcmlhYmxlRXZlbnRT
dHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGRkM5NUYxNEVGOTBCQjAwQzcyNTMyIC8q
IERGR1ZpcnR1YWxSZWdpc3RlckFsbG9jYXRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLywKLQkJ
CQkwRjlFMzI2MzFCMDVBQjA0MDA4MDFFRDUgLyogREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9uUGhh
c2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZDOTdGNDExODIwMjExOTAwMkM5QjI2IC8qIERG
R1dhdGNocG9pbnRDb2xsZWN0aW9uUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZEQjJD
RTcxNzQ4MzBBMjAwN0IzQzFCIC8qIERGR1dvcmtsaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGOUQzMzcwMTY1REJCOTAwMDVBRDM4NyAvKiBEaXNhc3NlbWJsZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Jsb2NrTWFwLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Jsb2NrTWFwLmgKaW5kZXggYWFmMzQzY2Mx
MmQwNjQ0YzVmYWFjY2UyYzQzODQ3OWJlZWNmM2M0MC4uMWI4ZGRkM2QwMWE1OGYxMTFiM2FkMmZh
ODk1NDlmNDQ1NzRhM2Y3NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdCbG9ja01hcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQmxvY2tNYXAu
aApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQsIDIwMTUgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtNTgsMjYgKzU4LDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV92ZWN0b3JbYmxvY2tJ
bmRleF07CiAgICAgfQogICAgIAotICAgIFQmIGF0KEJsb2NrSW5kZXggYmxvY2tJbmRleCkKLSAg
ICB7Ci0gICAgICAgIHJldHVybiBtX3ZlY3RvcltibG9ja0luZGV4XTsKLSAgICB9Ci0gICAgCi0g
ICAgY29uc3QgVCYgYXQoQmxvY2tJbmRleCBibG9ja0luZGV4KSBjb25zdAotICAgIHsKLSAgICAg
ICAgcmV0dXJuIG1fdmVjdG9yW2Jsb2NrSW5kZXhdOwotICAgIH0KLSAgICAKLSAgICBUJiBhdChC
YXNpY0Jsb2NrKiBibG9jaykKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX3ZlY3RvcltibG9jay0+
aW5kZXhdOwotICAgIH0KLSAgICAKLSAgICBjb25zdCBUJiBhdChCYXNpY0Jsb2NrKiBibG9jaykg
Y29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX3ZlY3RvcltibG9jay0+aW5kZXhdOwotICAg
IH0KLQogICAgIFQmIG9wZXJhdG9yW10oQmxvY2tJbmRleCBibG9ja0luZGV4KQogICAgIHsKICAg
ICAgICAgcmV0dXJuIG1fdmVjdG9yW2Jsb2NrSW5kZXhdOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcAppbmRleCBmZDhkZjRk
OTk0MThjNjM3ZDQ4ZGZhMTlhMzg4MzBhNWZlYzIzOGM0Li5hNmJmMDA5ZTRlMWFjNzM4MjUwODQ3
OWNlNzcwMGJkNTMzNDVlNDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcApAQCAtNTk3LDYgKzU5Nyw3IEBAIHByaXZh
dGU6CiAgICAgICAgICAgICBOb2RlKiBhbGxvY2F0ZVByb3BlcnR5U3RvcmFnZSA9IG1faW5zZXJ0
aW9uU2V0Lmluc2VydE5vZGUoCiAgICAgICAgICAgICAgICAgaW5kZXhJbkJsb2NrLCBTcGVjTm9u
ZSwgQWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2UsCiAgICAgICAgICAgICAgICAgb3JpZ2luLCBPcElu
Zm8odHJhbnNpdGlvbiksIGNoaWxkRWRnZSk7CisgICAgICAgICAgICBtX2luc2VydGlvblNldC5p
bnNlcnROb2RlKGluZGV4SW5CbG9jaywgU3BlY05vbmUsIFN0b3JlQmFycmllciwgb3JpZ2luLCBF
ZGdlKG5vZGUtPmNoaWxkMSgpLm5vZGUoKSwgS25vd25DZWxsVXNlKSk7CiAgICAgICAgICAgICBw
cm9wZXJ0eVN0b3JhZ2UgPSBFZGdlKGFsbG9jYXRlUHJvcGVydHlTdG9yYWdlKTsKICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgIEFTU0VSVCh2YXJpYW50Lm9sZFN0cnVjdHVyZUZvclRyYW5z
aXRpb24oKS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSk7CkBAIC02MDgsNiArNjA5LDcgQEAgcHJpdmF0
ZToKICAgICAgICAgICAgICAgICBPcEluZm8odHJhbnNpdGlvbiksIGNoaWxkRWRnZSwKICAgICAg
ICAgICAgICAgICBFZGdlKG1faW5zZXJ0aW9uU2V0Lmluc2VydE5vZGUoCiAgICAgICAgICAgICAg
ICAgICAgIGluZGV4SW5CbG9jaywgU3BlY05vbmUsIEdldEJ1dHRlcmZseSwgb3JpZ2luLCBjaGls
ZEVkZ2UpKSk7CisgICAgICAgICAgICBtX2luc2VydGlvblNldC5pbnNlcnROb2RlKGluZGV4SW5C
bG9jaywgU3BlY05vbmUsIFN0b3JlQmFycmllciwgb3JpZ2luLCBFZGdlKG5vZGUtPmNoaWxkMSgp
Lm5vZGUoKSwgS25vd25DZWxsVXNlKSk7CiAgICAgICAgICAgICBwcm9wZXJ0eVN0b3JhZ2UgPSBF
ZGdlKHJlYWxsb2NhdGVQcm9wZXJ0eVN0b3JhZ2UpOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRXBvY2guaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHRXBvY2guaAppbmRleCA5ODY1ZGQ3ZTBhNzBkODRlNzlhMGU0Njk4MTE0NGYx
NThmNzEyZWZmLi41OWE0NDFjMTdmNGRhMzI5NjczMTk1ZDU3NDY5N2E0ZWJlMzNkMTQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Vwb2NoLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdFcG9jaC5oCkBAIC04NywyNiArODcsNiBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiAhKCp0aGlzID09IG90aGVyKTsKICAgICB9CiAgICAgCi0gICAgYm9v
bCBvcGVyYXRvcjwoY29uc3QgRXBvY2gmIG90aGVyKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0
dXJuIG1fZXBvY2ggPCBvdGhlci5tX2Vwb2NoOwotICAgIH0KLSAgICAKLSAgICBib29sIG9wZXJh
dG9yPihjb25zdCBFcG9jaCYgb3RoZXIpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gb3Ro
ZXIgPCAqdGhpczsKLSAgICB9Ci0gICAgCi0gICAgYm9vbCBvcGVyYXRvcjw9KGNvbnN0IEVwb2No
JiBvdGhlcikgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiAhKCp0aGlzID4gb3RoZXIpOwot
ICAgIH0KLSAgICAKLSAgICBib29sIG9wZXJhdG9yPj0oY29uc3QgRXBvY2gmIG90aGVyKSBjb25z
dAotICAgIHsKLSAgICAgICAgcmV0dXJuICEoKnRoaXMgPCBvdGhlcik7Ci0gICAgfQotICAgIAog
ICAgIHZvaWQgZHVtcChQcmludFN0cmVhbSYpIGNvbnN0OwogICAgIAogcHJpdmF0ZToKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCmluZGV4IDFhODg1NWIyMTlj
ZjU2NjliMzM2NzYyODM4MzZiN2E3Yjk0ZTE4NGUuLjNmNzg2ODlkODEyZmVjN2Y1MzI4MWRlZDNh
ODllYTkzYjQ5YTc3ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Rml4dXBQaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBo
YXNlLmNwcApAQCAtNzIyLDcgKzcyMiw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBjYXNlIEFy
cmF5OjpTbG93UHV0QXJyYXlTdG9yYWdlOgogICAgICAgICAgICAgICAgIGZpeEVkZ2U8S25vd25D
ZWxsVXNlPihjaGlsZDEpOwogICAgICAgICAgICAgICAgIGZpeEVkZ2U8SW50MzJVc2U+KGNoaWxk
Mik7Ci0gICAgICAgICAgICAgICAgc3BlY3VsYXRlRm9yQmFycmllcihjaGlsZDMpOworICAgICAg
ICAgICAgICAgIGluc2VydFN0b3JlQmFycmllcihtX2luZGV4SW5CbG9jaywgY2hpbGQxLCBjaGls
ZDMpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAg
ICAgICAgICAgICBmaXhFZGdlPEtub3duQ2VsbFVzZT4oY2hpbGQxKTsKQEAgLTc2MCw3ICs3NjAs
NyBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBB
cnJheTo6Q29udGlndW91czoKICAgICAgICAgICAgIGNhc2UgQXJyYXk6OkFycmF5U3RvcmFnZToK
LSAgICAgICAgICAgICAgICBzcGVjdWxhdGVGb3JCYXJyaWVyKG5vZGUtPmNoaWxkMigpKTsKKyAg
ICAgICAgICAgICAgICBpbnNlcnRTdG9yZUJhcnJpZXIobV9pbmRleEluQmxvY2ssIG5vZGUtPmNo
aWxkMSgpLCBub2RlLT5jaGlsZDIoKSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtOTIyLDYgKzkyMiw3IEBA
IHByaXZhdGU6CiAgICAgICAgICAgICAKICAgICAgICAgY2FzZSBQdXRTdHJ1Y3R1cmU6IHsKICAg
ICAgICAgICAgIGZpeEVkZ2U8S25vd25DZWxsVXNlPihub2RlLT5jaGlsZDEoKSk7CisgICAgICAg
ICAgICBpbnNlcnRTdG9yZUJhcnJpZXIobV9pbmRleEluQmxvY2ssIG5vZGUtPmNoaWxkMSgpKTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgICAgICAKQEAgLTkzNCw3ICs5
MzUsNyBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIFB1dENsb3N1cmVWYXI6CiAgICAgICAgIGNh
c2UgUHV0VG9Bcmd1bWVudHM6IHsKICAgICAgICAgICAgIGZpeEVkZ2U8S25vd25DZWxsVXNlPihu
b2RlLT5jaGlsZDEoKSk7Ci0gICAgICAgICAgICBzcGVjdWxhdGVGb3JCYXJyaWVyKG5vZGUtPmNo
aWxkMigpKTsKKyAgICAgICAgICAgIGluc2VydFN0b3JlQmFycmllcihtX2luZGV4SW5CbG9jaywg
bm9kZS0+Y2hpbGQxKCksIG5vZGUtPmNoaWxkMigpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9CiAgICAgICAgICAgICAKQEAgLTk0OSw2ICs5NTAsNyBAQCBwcml2YXRlOgogICAgICAg
ICBjYXNlIEFsbG9jYXRlUHJvcGVydHlTdG9yYWdlOgogICAgICAgICBjYXNlIFJlYWxsb2NhdGVQ
cm9wZXJ0eVN0b3JhZ2U6IHsKICAgICAgICAgICAgIGZpeEVkZ2U8S25vd25DZWxsVXNlPihub2Rl
LT5jaGlsZDEoKSk7CisgICAgICAgICAgICBpbnNlcnRTdG9yZUJhcnJpZXIobV9pbmRleEluQmxv
Y2sgKyAxLCBub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQog
CkBAIC05ODQsNyArOTg2LDcgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBQdXRCeUlkRmx1c2g6
CiAgICAgICAgIGNhc2UgUHV0QnlJZERpcmVjdDogewogICAgICAgICAgICAgZml4RWRnZTxDZWxs
VXNlPihub2RlLT5jaGlsZDEoKSk7Ci0gICAgICAgICAgICBzcGVjdWxhdGVGb3JCYXJyaWVyKG5v
ZGUtPmNoaWxkMigpKTsKKyAgICAgICAgICAgIGluc2VydFN0b3JlQmFycmllcihtX2luZGV4SW5C
bG9jaywgbm9kZS0+Y2hpbGQxKCksIG5vZGUtPmNoaWxkMigpKTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CiAKQEAgLTEwMjcsMTMgKzEwMjksMTMgQEAgcHJpdmF0ZToKICAgICAgICAg
ICAgIGlmICghbm9kZS0+Y2hpbGQxKCktPmhhc1N0b3JhZ2VSZXN1bHQoKSkKICAgICAgICAgICAg
ICAgICBmaXhFZGdlPEtub3duQ2VsbFVzZT4obm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICAgICAg
Zml4RWRnZTxLbm93bkNlbGxVc2U+KG5vZGUtPmNoaWxkMigpKTsKLSAgICAgICAgICAgIHNwZWN1
bGF0ZUZvckJhcnJpZXIobm9kZS0+Y2hpbGQzKCkpOworICAgICAgICAgICAgaW5zZXJ0U3RvcmVC
YXJyaWVyKG1faW5kZXhJbkJsb2NrLCBub2RlLT5jaGlsZDIoKSwgbm9kZS0+Y2hpbGQzKCkpOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgICAgIAogICAgICAgICBjYXNl
IE11bHRpUHV0QnlPZmZzZXQ6IHsKICAgICAgICAgICAgIGZpeEVkZ2U8Q2VsbFVzZT4obm9kZS0+
Y2hpbGQxKCkpOwotICAgICAgICAgICAgc3BlY3VsYXRlRm9yQmFycmllcihub2RlLT5jaGlsZDIo
KSk7CisgICAgICAgICAgICBpbnNlcnRTdG9yZUJhcnJpZXIobV9pbmRleEluQmxvY2ssIG5vZGUt
PmNoaWxkMSgpLCBub2RlLT5jaGlsZDIoKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQogICAgICAgICAgICAgCkBAIC0xMTEzLDE2ICsxMTE1LDE2IEBAIHByaXZhdGU6CiAgICAgICAg
IGNhc2UgUHV0U3RhY2s6CiAgICAgICAgIGNhc2UgS2lsbFN0YWNrOgogICAgICAgICBjYXNlIEdl
dFN0YWNrOgotICAgICAgICBjYXNlIFN0b3JlQmFycmllcjoKICAgICAgICAgICAgIC8vIFRoZXNl
IGFyZSBqdXN0IG5vZGVzIHRoYXQgd2UgZG9uJ3QgY3VycmVudGx5IGV4cGVjdCB0byBzZWUgZHVy
aW5nIGZpeHVwLgogICAgICAgICAgICAgLy8gSWYgd2UgZXZlciB3YW50ZWQgdG8gaW5zZXJ0IHRo
ZW0gcHJpb3IgdG8gZml4dXAsIHRoZW4gd2UganVzdCBoYXZlIHRvIGNyZWF0ZQogICAgICAgICAg
ICAgLy8gZml4dXAgcnVsZXMgZm9yIHRoZW0uCi0gICAgICAgICAgICBERkdfQ1JBU0gobV9ncmFw
aCwgbm9kZSwgIlVuZXhwZWN0ZWQgbm9kZSBkdXJpbmcgZml4dXAiKTsKKyAgICAgICAgICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
CiAgICAgICAgIGNhc2UgUHV0R2xvYmFsVmFyOiB7CiAgICAgICAgICAgICBmaXhFZGdlPENlbGxV
c2U+KG5vZGUtPmNoaWxkMSgpKTsKLSAgICAgICAgICAgIHNwZWN1bGF0ZUZvckJhcnJpZXIobm9k
ZS0+Y2hpbGQyKCkpOworICAgICAgICAgICAgaW5zZXJ0U3RvcmVCYXJyaWVyKAorICAgICAgICAg
ICAgICAgIG1faW5kZXhJbkJsb2NrLCBub2RlLT5jaGlsZDEoKSwgbm9kZS0+Y2hpbGQyKCkpOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApAQCAtMTI5Niw2ICsxMjk4LDcgQEAgcHJp
dmF0ZToKICAgICAgICAgY2FzZSBVbnJlYWNoYWJsZToKICAgICAgICAgY2FzZSBFeHRyYWN0T1NS
RW50cnlMb2NhbDoKICAgICAgICAgY2FzZSBMb29wSGludDoKKyAgICAgICAgY2FzZSBTdG9yZUJh
cnJpZXI6CiAgICAgICAgIGNhc2UgTW92SGludDoKICAgICAgICAgY2FzZSBab21iaWVIaW50Ogog
ICAgICAgICBjYXNlIEJvdHRvbVZhbHVlOgpAQCAtMTc1OSwzNSArMTc2MiwzNyBAQCBwcml2YXRl
OgogICAgICAgICBlZGdlLnNldFVzZUtpbmQodXNlS2luZCk7CiAgICAgfQogICAgIAotICAgIHZv
aWQgc3BlY3VsYXRlRm9yQmFycmllcihFZGdlIHZhbHVlKQorICAgIHZvaWQgaW5zZXJ0U3RvcmVC
YXJyaWVyKHVuc2lnbmVkIGluZGV4SW5CbG9jaywgRWRnZSBiYXNlLCBFZGdlIHZhbHVlID0gRWRn
ZSgpKQogICAgIHsKLSAgICAgICAgaWYgKCFpc0ZUTChtX2dyYXBoLm1fcGxhbi5tb2RlKSkKLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgCi0gICAgICAgIGlmICh2YWx1ZS0+c2hvdWxkU3Bl
Y3VsYXRlSW50MzIoKSkgewotICAgICAgICAgICAgaW5zZXJ0Q2hlY2s8SW50MzJVc2U+KG1faW5k
ZXhJbkJsb2NrLCB2YWx1ZS5ub2RlKCkpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9
CisgICAgICAgIGlmICghIXZhbHVlKSB7CisgICAgICAgICAgICBpZiAodmFsdWUtPnNob3VsZFNw
ZWN1bGF0ZUludDMyKCkpIHsKKyAgICAgICAgICAgICAgICBpbnNlcnRDaGVjazxJbnQzMlVzZT4o
aW5kZXhJbkJsb2NrLCB2YWx1ZS5ub2RlKCkpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIAotICAgICAgICBpZiAodmFsdWUtPnNob3VsZFNwZWN1
bGF0ZUJvb2xlYW4oKSkgewotICAgICAgICAgICAgaW5zZXJ0Q2hlY2s8Qm9vbGVhblVzZT4obV9p
bmRleEluQmxvY2ssIHZhbHVlLm5vZGUoKSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IH0KKyAgICAgICAgICAgIGlmICh2YWx1ZS0+c2hvdWxkU3BlY3VsYXRlQm9vbGVhbigpKSB7Cisg
ICAgICAgICAgICAgICAgaW5zZXJ0Q2hlY2s8Qm9vbGVhblVzZT4oaW5kZXhJbkJsb2NrLCB2YWx1
ZS5ub2RlKCkpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIAotICAgICAgICBpZiAodmFsdWUtPnNob3VsZFNwZWN1bGF0ZU90aGVyKCkpIHsKLSAg
ICAgICAgICAgIGluc2VydENoZWNrPE90aGVyVXNlPihtX2luZGV4SW5CbG9jaywgdmFsdWUubm9k
ZSgpKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQorICAgICAgICAgICAgaWYgKHZh
bHVlLT5zaG91bGRTcGVjdWxhdGVPdGhlcigpKSB7CisgICAgICAgICAgICAgICAgaW5zZXJ0Q2hl
Y2s8T3RoZXJVc2U+KGluZGV4SW5CbG9jaywgdmFsdWUubm9kZSgpKTsKKyAgICAgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgICAgICB9CiAgICAgICAgICAgICAKLSAgICAgICAgaWYgKHZhbHVl
LT5zaG91bGRTcGVjdWxhdGVOdW1iZXIoKSkgewotICAgICAgICAgICAgaW5zZXJ0Q2hlY2s8TnVt
YmVyVXNlPihtX2luZGV4SW5CbG9jaywgdmFsdWUubm9kZSgpKTsKLSAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgfQorICAgICAgICAgICAgaWYgKHZhbHVlLT5zaG91bGRTcGVjdWxhdGVOdW1i
ZXIoKSkgeworICAgICAgICAgICAgICAgIGluc2VydENoZWNrPE51bWJlclVzZT4oaW5kZXhJbkJs
b2NrLCB2YWx1ZS5ub2RlKCkpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
IH0KICAgICAgICAgICAgIAotICAgICAgICBpZiAodmFsdWUtPnNob3VsZFNwZWN1bGF0ZU5vdENl
bGwoKSkgewotICAgICAgICAgICAgaW5zZXJ0Q2hlY2s8Tm90Q2VsbFVzZT4obV9pbmRleEluQmxv
Y2ssIHZhbHVlLm5vZGUoKSk7Ci0gICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBpZiAo
dmFsdWUtPnNob3VsZFNwZWN1bGF0ZU5vdENlbGwoKSkgeworICAgICAgICAgICAgICAgIGluc2Vy
dENoZWNrPE5vdENlbGxVc2U+KGluZGV4SW5CbG9jaywgdmFsdWUubm9kZSgpKTsKKyAgICAgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CiAgICAgICAgIH0KKworICAgICAgICBtX2lu
c2VydGlvblNldC5pbnNlcnROb2RlKAorICAgICAgICAgICAgaW5kZXhJbkJsb2NrLCBTcGVjTm9u
ZSwgU3RvcmVCYXJyaWVyLCBtX2N1cnJlbnROb2RlLT5vcmlnaW4sIGJhc2UpOwogICAgIH0KICAg
ICAKICAgICB0ZW1wbGF0ZTxVc2VLaW5kIHVzZUtpbmQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmNw
cAppbmRleCA4YTc5ZmM1YzQ0ZmEwOTU1YzZlYjUyYjk5ZGJkNTM4ODUyZjNlZmYyLi5kZjllNDhl
NGNjZGExODdkYjdkZWViYjc4ZDNmYTQwMmEwNTk1NTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFz
ZS5jcHAKQEAgLTYxMyw3ICs2MTMsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICB9CiAK
ICAgICAgICAgICAgICAgICBjYXNlIFN0b3JlQmFycmllcjogewotICAgICAgICAgICAgICAgICAg
ICBERkdfQ1JBU0gobV9ncmFwaCwgbm9kZSwgIlVuZXhwZWN0ZWQgc3RvcmUgYmFycmllciBkdXJp
bmcgc2lua2luZy4iKTsKKyAgICAgICAgICAgICAgICAgICAgTm9kZSogdGFyZ2V0ID0gbm9kZS0+
Y2hpbGQxKCkubm9kZSgpOworICAgICAgICAgICAgICAgICAgICBpZiAobV9zaW5rQ2FuZGlkYXRl
cy5jb250YWlucyh0YXJnZXQpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQodGFy
Z2V0LT5pc1BoYW50b21BbGxvY2F0aW9uKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgbm9k
ZS0+cmVtb3ZlKCk7CisgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAKQEAgLTg1MCw2
ICs4NTQsNyBAQCBwcml2YXRlOgogCiAgICAgICAgIGNhc2UgTW92SGludDoKICAgICAgICAgY2Fz
ZSBQdXRIaW50OgorICAgICAgICBjYXNlIFN0b3JlQmFycmllcjoKICAgICAgICAgICAgIGJyZWFr
OwogCiAgICAgICAgIGNhc2UgUHV0U3RydWN0dXJlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
UGxhbi5jcHAKaW5kZXggMDgxNGRjYmQ0NGFiMzU4ZDdiY2YyMzFjNmQ3MTBiZTlmNDgyMjk3ZC4u
MGI3MzVlNWUzODY0OTA1Y2Y3YjRkYjBhNDI3YjE3NDkyNjliMzZjZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1BsYW4uY3BwCkBAIC02MCw3ICs2MCw3IEBACiAjaW5jbHVkZSAiREZHU1NB
TG93ZXJpbmdQaGFzZS5oIgogI2luY2x1ZGUgIkRGR1N0YWNrTGF5b3V0UGhhc2UuaCIKICNpbmNs
dWRlICJERkdTdGF0aWNFeGVjdXRpb25Db3VudEVzdGltYXRpb25QaGFzZS5oIgotI2luY2x1ZGUg
IkRGR1N0b3JlQmFycmllckluc2VydGlvblBoYXNlLmgiCisjaW5jbHVkZSAiREZHU3RvcmVCYXJy
aWVyRWxpc2lvblBoYXNlLmgiCiAjaW5jbHVkZSAiREZHU3RyZW5ndGhSZWR1Y3Rpb25QaGFzZS5o
IgogI2luY2x1ZGUgIkRGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmgiCiAjaW5jbHVkZSAi
REZHVGllclVwQ2hlY2tJbmplY3Rpb25QaGFzZS5oIgpAQCAtMzE1LDcgKzMxNSw3IEBAIFBsYW46
OkNvbXBpbGF0aW9uUGF0aCBQbGFuOjpjb21waWxlSW5UaHJlYWRJbXBsKExvbmdMaXZlZFN0YXRl
JiBsb25nTGl2ZWRTdGF0ZSkKICAgICAKICAgICAgICAgcGVyZm9ybVRpZXJVcENoZWNrSW5qZWN0
aW9uKGRmZyk7CiAKLSAgICAgICAgcGVyZm9ybUZhc3RTdG9yZUJhcnJpZXJJbnNlcnRpb24oZGZn
KTsKKyAgICAgICAgcGVyZm9ybVN0b3JlQmFycmllckVsaXNpb24oZGZnKTsKICAgICAgICAgcGVy
Zm9ybUNsZWFuVXAoZGZnKTsKICAgICAgICAgcGVyZm9ybUNQU1JldGhyZWFkaW5nKGRmZyk7CiAg
ICAgICAgIHBlcmZvcm1EQ0UoZGZnKTsKQEAgLTM4Nyw5ICszODcsOSBAQCBQbGFuOjpDb21waWxh
dGlvblBhdGggUGxhbjo6Y29tcGlsZUluVGhyZWFkSW1wbChMb25nTGl2ZWRTdGF0ZSYgbG9uZ0xp
dmVkU3RhdGUpCiAgICAgICAgIC8vIGFib3V0IGNvZGUgbW90aW9uIGFzc3VtZXMgdGhhdCBpdCdz
IE9LIHRvIGluc2VydCBHQyBwb2ludHMgaW4gcmFuZG9tIHBsYWNlcy4KICAgICAgICAgZGZnLm1f
Zml4cG9pbnRTdGF0ZSA9IEZpeHBvaW50Q29udmVyZ2VkOwogICAgICAgICAKKyAgICAgICAgcGVy
Zm9ybVN0b3JlQmFycmllckVsaXNpb24oZGZnKTsKICAgICAgICAgcGVyZm9ybUxpdmVuZXNzQW5h
bHlzaXMoZGZnKTsKICAgICAgICAgcGVyZm9ybUNGQShkZmcpOwotICAgICAgICBwZXJmb3JtR2xv
YmFsU3RvcmVCYXJyaWVySW5zZXJ0aW9uKGRmZyk7CiAgICAgICAgIGlmIChPcHRpb25zOjplbmFi
bGVNb3ZIaW50UmVtb3ZhbCgpKQogICAgICAgICAgICAgcGVyZm9ybU1vdkhpbnRSZW1vdmFsKGRm
Zyk7CiAgICAgICAgIHBlcmZvcm1DbGVhblVwKGRmZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCmlu
ZGV4IDY2NjYyNmE1YmY0NmU5MWEzMjNjMDg1YWFjZDQ0YmE0MDFiYjU0NzEuLjExZTk1Yjg3Y2U0
MTVjOGIxZjA4Nzc5NDdkNWYyYmY3YTU3NjI3N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCkBA
IC01NjIsMTEgKzU2MiwxMCBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIE1hdGVyaWFsaXplQ3Jl
YXRlQWN0aXZhdGlvbjoKICAgICAgICAgY2FzZSBQdXRTdGFjazoKICAgICAgICAgY2FzZSBLaWxs
U3RhY2s6Ci0gICAgICAgIGNhc2UgU3RvcmVCYXJyaWVyOgogICAgICAgICBjYXNlIEdldFN0YWNr
OiB7CiAgICAgICAgICAgICAvLyBUaGlzIG5vZGUgc2hvdWxkIG5ldmVyIGJlIHZpc2libGUgYXQg
dGhpcyBzdGFnZSBvZiBjb21waWxhdGlvbi4gSXQgaXMKICAgICAgICAgICAgIC8vIGluc2VydGVk
IGJ5IGZpeHVwKCksIHdoaWNoIGZvbGxvd3MgdGhpcyBwaGFzZS4KLSAgICAgICAgICAgIERGR19D
UkFTSChtX2dyYXBoLCBub2RlLCAiVW5leHBlY3RlZCBub2RlIGR1cmluZyBwcmVkaWN0aW9uIHBy
b3BhZ2F0aW9uIik7CisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgCkBAIC02MTgsNiArNjE3LDcg
QEAgcHJpdmF0ZToKIAogI2lmbmRlZiBOREVCVUcKICAgICAgICAgLy8gVGhlc2UgZ2V0IGlnbm9y
ZWQgYmVjYXVzZSB0aGV5IGRvbid0IHJldHVybiBhbnl0aGluZy4KKyAgICAgICAgY2FzZSBTdG9y
ZUJhcnJpZXI6CiAgICAgICAgIGNhc2UgUHV0QnlWYWxEaXJlY3Q6CiAgICAgICAgIGNhc2UgUHV0
QnlWYWw6CiAgICAgICAgIGNhc2UgUHV0Q2xvc3VyZVZhcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3RvcmVCYXJyaWVyRWxpc2lvblBoYXNlLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RvcmVCYXJyaWVyRWxpc2lvblBoYXNlLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kNTk0YzE0MmUxY2U2NWRmZDQwZGQwOGUyZWFmYTlkNTg3ZmFhNWNkCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdG9yZUJhcnJpZXJFbGlz
aW9uUGhhc2UuY3BwCkBAIC0wLDAgKzEsMTUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEz
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkRGR1N0b3JlQmFycmllckVsaXNpb25QaGFzZS5oIgorCisjaWYg
RU5BQkxFKERGR19KSVQpCisKKyNpbmNsdWRlICJERkdCYXNpY0Jsb2NrLmgiCisjaW5jbHVkZSAi
REZHQ2xvYmJlcml6ZS5oIgorI2luY2x1ZGUgIkRGR0RvZXNHQy5oIgorI2luY2x1ZGUgIkRGR0dy
YXBoLmgiCisjaW5jbHVkZSAiREZHUGhhc2UuaCIKKyNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCisj
aW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKworbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcg
eworCitjbGFzcyBTdG9yZUJhcnJpZXJFbGlzaW9uUGhhc2UgOiBwdWJsaWMgUGhhc2UgeworcHVi
bGljOgorICAgIFN0b3JlQmFycmllckVsaXNpb25QaGFzZShHcmFwaCYgZ3JhcGgpCisgICAgICAg
IDogUGhhc2UoZ3JhcGgsICJzdG9yZSBiYXJyaWVyIGVsaXNpb24iKQorICAgICAgICAsIG1fY3Vy
cmVudEJsb2NrKDApCisgICAgICAgICwgbV9jdXJyZW50SW5kZXgoMCkKKyAgICB7CisgICAgfQor
CisgICAgYm9vbCBydW4oKQorICAgIHsKKyAgICAgICAgZm9yIChCbG9ja0luZGV4IGJsb2NrSW5k
ZXggPSAwOyBibG9ja0luZGV4IDwgbV9ncmFwaC5udW1CbG9ja3MoKTsgKytibG9ja0luZGV4KSB7
CisgICAgICAgICAgICBtX2N1cnJlbnRCbG9jayA9IG1fZ3JhcGguYmxvY2soYmxvY2tJbmRleCk7
CisgICAgICAgICAgICBpZiAoIW1fY3VycmVudEJsb2NrKQorICAgICAgICAgICAgICAgIGNvbnRp
bnVlOworICAgICAgICAgICAgaGFuZGxlQmxvY2sobV9jdXJyZW50QmxvY2spOworICAgICAgICB9
CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworcHJpdmF0ZToKKyAgICBib29sIGFsbG9j
YXRlc0ZyZXNoT2JqZWN0KE5vZGUqIG5vZGUpCisgICAgeworICAgICAgICBzd2l0Y2ggKG5vZGUt
Pm9wKCkpIHsKKyAgICAgICAgY2FzZSBOZXdPYmplY3Q6CisgICAgICAgIGNhc2UgTmV3QXJyYXk6
CisgICAgICAgIGNhc2UgTmV3QXJyYXlXaXRoU2l6ZToKKyAgICAgICAgY2FzZSBOZXdBcnJheUJ1
ZmZlcjoKKyAgICAgICAgY2FzZSBOZXdUeXBlZEFycmF5OgorICAgICAgICBjYXNlIE5ld1JlZ2V4
cDoKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgfQorCisgICAgdm9pZCBub3RpY2VGcmVz
aE9iamVjdChIYXNoU2V0PE5vZGUqPiYgZG9udE5lZWRCYXJyaWVycywgTm9kZSogbm9kZSkKKyAg
ICB7CisgICAgICAgIEFTU0VSVChhbGxvY2F0ZXNGcmVzaE9iamVjdChub2RlKSk7CisgICAgICAg
IGRvbnROZWVkQmFycmllcnMuYWRkKG5vZGUpOworICAgIH0KKworICAgIE5vZGUqIGdldEJhc2VP
ZlN0b3JlKE5vZGUqIGJhcnJpZXJOb2RlKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGJhcnJpZXJO
b2RlLT5pc1N0b3JlQmFycmllcigpKTsKKyAgICAgICAgcmV0dXJuIGJhcnJpZXJOb2RlLT5jaGls
ZDEoKS5ub2RlKCk7CisgICAgfQorCisgICAgYm9vbCBzaG91bGRCZUVsaWRlZChIYXNoU2V0PE5v
ZGUqPiYgZG9udE5lZWRCYXJyaWVycywgTm9kZSogbm9kZSkKKyAgICB7CisgICAgICAgIEFTU0VS
VChub2RlLT5pc1N0b3JlQmFycmllcigpKTsKKyAgICAgICAgcmV0dXJuIGRvbnROZWVkQmFycmll
cnMuY29udGFpbnMobm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKKyAgICB9CisKKyAgICB2b2lkIGVs
aWRlQmFycmllcihOb2RlKiBub2RlKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG5vZGUtPmlzU3Rv
cmVCYXJyaWVyKCkpOworICAgICAgICBub2RlLT5yZW1vdmUoKTsKKyAgICB9CisKKyAgICB2b2lk
IGhhbmRsZU5vZGUoSGFzaFNldDxOb2RlKj4mIGRvbnROZWVkQmFycmllcnMsIE5vZGUqIG5vZGUp
CisgICAgeworICAgICAgICBpZiAoZG9lc0dDKG1fZ3JhcGgsIG5vZGUpKQorICAgICAgICAgICAg
ZG9udE5lZWRCYXJyaWVycy5jbGVhcigpOworCisgICAgICAgIGlmIChhbGxvY2F0ZXNGcmVzaE9i
amVjdChub2RlKSkKKyAgICAgICAgICAgIG5vdGljZUZyZXNoT2JqZWN0KGRvbnROZWVkQmFycmll
cnMsIG5vZGUpOworCisgICAgICAgIGlmICghbm9kZS0+aXNTdG9yZUJhcnJpZXIoKSkKKyAgICAg
ICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAoc2hvdWxkQmVFbGlkZWQoZG9udE5lZWRCYXJy
aWVycywgbm9kZSkpIHsKKyAgICAgICAgICAgIGVsaWRlQmFycmllcihub2RlKTsKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIE5vZGUqIGJhc2UgPSBnZXRCYXNlT2ZT
dG9yZShub2RlKTsKKyAgICAgICAgaWYgKCFiYXNlKQorICAgICAgICAgICAgcmV0dXJuOworCisg
ICAgICAgIGlmIChkb250TmVlZEJhcnJpZXJzLmNvbnRhaW5zKGJhc2UpKQorICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICBkb250TmVlZEJhcnJpZXJzLmFkZChiYXNlKTsKKyAgICB9CisKKyAg
ICBib29sIGhhbmRsZUJsb2NrKEJhc2ljQmxvY2sqIGJsb2NrKQorICAgIHsKKyAgICAgICAgSGFz
aFNldDxOb2RlKj4gZG9udE5lZWRCYXJyaWVyczsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpbmRl
eEluQmxvY2sgPSAwOyBpbmRleEluQmxvY2sgPCBibG9jay0+c2l6ZSgpOyArK2luZGV4SW5CbG9j
aykgeworICAgICAgICAgICAgbV9jdXJyZW50SW5kZXggPSBpbmRleEluQmxvY2s7CisgICAgICAg
ICAgICBOb2RlKiBub2RlID0gYmxvY2stPmF0KGluZGV4SW5CbG9jayk7CisgICAgICAgICAgICBo
YW5kbGVOb2RlKGRvbnROZWVkQmFycmllcnMsIG5vZGUpOworICAgICAgICB9CisgICAgICAgIHJl
dHVybiB0cnVlOworICAgIH0KKworICAgIEJhc2ljQmxvY2sqIG1fY3VycmVudEJsb2NrOworICAg
IHVuc2lnbmVkIG1fY3VycmVudEluZGV4OworfTsKKyAgICAKK2Jvb2wgcGVyZm9ybVN0b3JlQmFy
cmllckVsaXNpb24oR3JhcGgmIGdyYXBoKQoreworICAgIFNhbXBsaW5nUmVnaW9uIHNhbXBsaW5n
UmVnaW9uKCJERkcgU3RvcmUgQmFycmllciBFbGlzaW9uIFBoYXNlIik7CisgICAgcmV0dXJuIHJ1
blBoYXNlPFN0b3JlQmFycmllckVsaXNpb25QaGFzZT4oZ3JhcGgpOworfQorCisKK30gfSAvLyBu
YW1lc3BhY2UgSlNDOjpERkcKKworI2VuZGlmIC8vIEVOQUJMRShERkdfSklUKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdG9yZUJhcnJpZXJFbGlzaW9uUGhhc2Uu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RvcmVCYXJyaWVyRWxpc2lvblBoYXNl
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOTQyNzZiZWExNjE0MGQ3YWFmNTdiNWU0Y2FhMzBmZmQ0MjFlNTJmOQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RvcmVCYXJy
aWVyRWxpc2lvblBoYXNlLmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
REZHU3RvcmVCYXJyaWVyRWxpc2lvblBoYXNlX2gKKyNkZWZpbmUgREZHU3RvcmVCYXJyaWVyRWxp
c2lvblBoYXNlX2gKKworbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgeworCitjbGFzcyBH
cmFwaDsKKworYm9vbCBwZXJmb3JtU3RvcmVCYXJyaWVyRWxpc2lvbihHcmFwaCYpOworCit9IH0g
Ly8gbmFtZXNwYWNlIEpTQzo6REZHCisKKyNlbmRpZiAvLyBERkdTdG9yZUJhcnJpZXJFbGlzaW9u
UGhhc2VfaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdG9yZUJh
cnJpZXJJbnNlcnRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0
b3JlQmFycmllckluc2VydGlvblBoYXNlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNjZhY2RhMjliNjRmODM4MWEwNjk3NWI5MmI4MzIwY2E4Njk5OGEzYi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1N0b3JlQmFycmllckluc2VydGlvblBoYXNlLmNwcAorKysgL2Rldi9udWxsCkBAIC0x
LDUyOCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUg
IkRGR1N0b3JlQmFycmllckluc2VydGlvblBoYXNlLmgiCi0KLSNpZiBFTkFCTEUoREZHX0pJVCkK
LQotI2luY2x1ZGUgIkRGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgiCi0jaW5jbHVkZSAi
REZHQmxvY2tNYXBJbmxpbmVzLmgiCi0jaW5jbHVkZSAiREZHRG9lc0dDLmgiCi0jaW5jbHVkZSAi
REZHR3JhcGguaCIKLSNpbmNsdWRlICJERkdJblBsYWNlQWJzdHJhY3RTdGF0ZS5oIgotI2luY2x1
ZGUgIkRGR0luc2VydGlvblNldC5oIgotI2luY2x1ZGUgIkRGR1BoYXNlLmgiCi0jaW5jbHVkZSAi
SlNDSW5saW5lcy5oIgotI2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIuaD4KLSNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgotCi1uYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7Ci0KLW5hbWVz
cGFjZSB7Ci0KLWJvb2wgdmVyYm9zZSA9IGZhbHNlOwotCi1lbnVtIGNsYXNzIFBoYXNlTW9kZSB7
Ci0gICAgLy8gRG9lcyBvbmx5IGEgbG9jYWwgYW5hbHlzaXMgZm9yIHN0b3JlIGJhcnJpZXIgaW5z
ZXJ0aW9uIGFuZCBhc3N1bWVzIHRoYXQgcG9pbnRlcnMgbGl2ZQotICAgIC8vIGZyb20gcHJlZGVj
ZXNzb3IgYmxvY2tzIG1heSBuZWVkIGJhcnJpZXJzLiBBc3N1bWVzIENQUyBjb252ZW50aW9ucy4g
RG9lcyBub3QgdXNlIEFJIGZvcgotICAgIC8vIGVsaW1pbmF0aW5nIHN0b3JlIGJhcnJpZXJzLCBi
dXQgZG9lcyBhIGJlc3QgZWZmb3J0IHRvIGVsaW1pbmF0ZSBiYXJyaWVycyB3aGVuIHlvdSdyZQot
ICAgIC8vIHN0b3JpbmcgYSBub24tY2VsbCB2YWx1ZSBieSB1c2luZyBOb2RlOjpyZXN1bHQoKSBh
bmQgYnkgbG9va2luZyBhdCBjb25zdGFudHMuIFRoZSBsb2NhbAotICAgIC8vIGFuYWx5c2lzIGlz
IGJhc2VkIG9uIEdDIGVwb2Nocywgc28gaXQgd2lsbCBlbGltaW5hdGUgYSBsb3Qgb2YgbG9jYWxs
eSByZWR1bmRhbnQgYmFycmllcnMuCi0gICAgRmFzdCwKLSAgICAgICAgCi0gICAgLy8gRG9lcyBh
IGdsb2JhbCBhbmFseXNpcyBmb3Igc3RvcmUgYmFycmllciBpbnNlcnRpb24uIFJldXNlcyB0aGUg
R0MtZXBvY2gtYmFzZWQgYW5hbHlzaXMKLSAgICAvLyB1c2VkIGJ5IEZhc3QsIGJ1dCBhZGRzIGEg
Y29uc2VydmF0aXZlIG1lcmdlIHJ1bGUgZm9yIHByb3BhZ2F0aW5nIGluZm9ybWF0aW9uIGZyb20g
b25lCi0gICAgLy8gYmxvY2sgdG8gdGhlIG5leHQuIFRoaXMgd2lsbCBlbnN1cmUgZm9yIGV4YW1w
bGUgdGhhdCBpZiBhIHZhbHVlIFYgY29taW5nIGZyb20gbXVsdGlwbGUKLSAgICAvLyBwcmVkZWNl
c3NvcnMgaW4gQiBkaWRuJ3QgbmVlZCBhbnkgbW9yZSBiYXJyaWVycyBhdCB0aGUgZW5kIG9mIGVh
Y2ggcHJlZGVjZXNzb3IgKGVpdGhlcgotICAgIC8vIGJlY2F1c2UgaXQgd2FzIHRoZSBsYXN0IGFs
bG9jYXRlZCBvYmplY3QgaW4gdGhhdCBwcmVkZWNlc3NvciBvciBiZWNhdXNlIGl0IGp1c3QgaGFk
IGEKLSAgICAvLyBiYXJyaWVyIGV4ZWN1dGVkKSwgdGhlbiB1bnRpbCB3ZSBoaXQgYW5vdGhlciBH
QyBwb2ludCBpbiBCLCB3ZSB3b24ndCBuZWVkIGFub3RoZXIgYmFycmllcgotICAgIC8vIG9uIFYu
IFVzZXMgQUkgZm9yIGVsaW1pbmF0aW5nIGJhcnJpZXJzIHdoZW4gd2Uga25vdyB0aGF0IHRoZSB2
YWx1ZSBiZWluZyBzdG9yZWQgaXMgbm90IGEKLSAgICAvLyBjZWxsLiBBc3N1bWVzIFNTQSBjb252
ZW50aW9ucy4KLSAgICBHbG9iYWwKLX07Ci0KLXRlbXBsYXRlPFBoYXNlTW9kZSBtb2RlPgotY2xh
c3MgU3RvcmVCYXJyaWVySW5zZXJ0aW9uUGhhc2UgOiBwdWJsaWMgUGhhc2UgewotcHVibGljOgot
ICAgIFN0b3JlQmFycmllckluc2VydGlvblBoYXNlKEdyYXBoJiBncmFwaCkKLSAgICAgICAgOiBQ
aGFzZShncmFwaCwgbW9kZSA9PSBQaGFzZU1vZGU6OkZhc3QgPyAiZmFzdCBzdG9yZSBiYXJyaWVy
IGluc2VydGlvbiIgOiAiZ2xvYmFsIHN0b3JlIGJhcnJpZXIgaW5zZXJ0aW9uIikKLSAgICAgICAg
LCBtX2luc2VydGlvblNldChncmFwaCkKLSAgICB7Ci0gICAgfQotICAgIAotICAgIGJvb2wgcnVu
KCkKLSAgICB7Ci0gICAgICAgIGlmICh2ZXJib3NlKSB7Ci0gICAgICAgICAgICBkYXRhTG9nKCJT
dGFydGluZyBzdG9yZSBiYXJyaWVyIGluc2VydGlvbjpcbiIpOwotICAgICAgICAgICAgbV9ncmFw
aC5kdW1wKCk7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIHN3aXRjaCAobW9kZSkgewot
ICAgICAgICBjYXNlIFBoYXNlTW9kZTo6RmFzdDogewotICAgICAgICAgICAgREZHX0FTU0VSVCht
X2dyYXBoLCBudWxscHRyLCBtX2dyYXBoLm1fZm9ybSAhPSBTU0EpOwotICAgICAgICAgICAgCi0g
ICAgICAgICAgICBtX2dyYXBoLmNsZWFyRXBvY2hzKCk7Ci0gICAgICAgICAgICBmb3IgKEJhc2lj
QmxvY2sqIGJsb2NrIDogbV9ncmFwaC5ibG9ja3NJbk5hdHVyYWxPcmRlcigpKQotICAgICAgICAg
ICAgICAgIGhhbmRsZUJsb2NrKGJsb2NrKTsKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAg
ICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgY2FzZSBQaGFzZU1vZGU6Okdsb2JhbDogewot
ICAgICAgICAgICAgREZHX0FTU0VSVChtX2dyYXBoLCBudWxscHRyLCBtX2dyYXBoLm1fZm9ybSA9
PSBTU0EpOwotCi0gICAgICAgICAgICBtX3N0YXRlID0gc3RkOjptYWtlX3VuaXF1ZTxJblBsYWNl
QWJzdHJhY3RTdGF0ZT4obV9ncmFwaCk7Ci0gICAgICAgICAgICBtX2ludGVycHJldGVyID0gc3Rk
OjptYWtlX3VuaXF1ZTxBYnN0cmFjdEludGVycHJldGVyPEluUGxhY2VBYnN0cmFjdFN0YXRlPj4o
bV9ncmFwaCwgKm1fc3RhdGUpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBtX2lzQ29udmVy
Z2VkID0gZmFsc2U7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIC8vIEZpcnN0IHJ1biB0aGUg
YW5hbHlzaXMuIEluc2lkZSBiYXNpYyBibG9ja3Mgd2UgdXNlIGFuIGVwb2NoLWJhc2VkIGFuYWx5
c2lzIHRoYXQKLSAgICAgICAgICAgIC8vIGlzIHZlcnkgcHJlY2lzZS4gQXQgYmxvY2sgYm91bmRh
cmllcywgd2UganVzdCBwcm9wYWdhdGUgd2hpY2ggbm9kZXMgbWF5IG5lZWQgYQotICAgICAgICAg
ICAgLy8gYmFycmllci4gVGhpcyBnaXZlcyB1cyBhIHZlcnkgbmljZSBib3R0b20tPnRvcCBmaXhw
b2ludDogd2Ugc3RhcnQgb3V0IGFzc3VtaW5nCi0gICAgICAgICAgICAvLyB0aGF0IG5vIG5vZGUg
bmVlZHMgYW55IGJhcnJpZXJzIGF0IGJsb2NrIGJvdW5kYXJpZXMsIGFuZCB0aGVuIHdlIGNvbnZl
cmdlCi0gICAgICAgICAgICAvLyB0b3dhcmRzIGJlbGlldmluZyB0aGF0IGFsbCBub2RlcyBuZWVk
IGJhcnJpZXJzLiAiTmVlZGluZyBhIGJhcnJpZXIiIGlzIGxpa2UKLSAgICAgICAgICAgIC8vIHNh
eWluZyB0aGF0IHRoZSBub2RlIGlzIGluIGEgcGFzdCBlcG9jaC4gIk5vdCBuZWVkaW5nIGEgYmFy
cmllciIgaXMgbGlrZSBzYXlpbmcKLSAgICAgICAgICAgIC8vIHRoYXQgdGhlIG5vZGUgaXMgaW4g
dGhlIGN1cnJlbnQgZXBvY2guCi0gICAgICAgICAgICBtX3N0YXRlQXRIZWFkID0gc3RkOjptYWtl
X3VuaXF1ZTxCbG9ja01hcDxIYXNoU2V0PE5vZGUqPj4+KG1fZ3JhcGgpOwotICAgICAgICAgICAg
bV9zdGF0ZUF0VGFpbCA9IHN0ZDo6bWFrZV91bmlxdWU8QmxvY2tNYXA8SGFzaFNldDxOb2RlKj4+
PihtX2dyYXBoKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgQmxvY2tMaXN0IHBvc3RPcmRl
ciA9IG1fZ3JhcGguYmxvY2tzSW5Qb3N0T3JkZXIoKTsKLSAgICAgICAgICAgIAotICAgICAgICAg
ICAgYm9vbCBjaGFuZ2VkID0gdHJ1ZTsKLSAgICAgICAgICAgIHdoaWxlIChjaGFuZ2VkKSB7Ci0g
ICAgICAgICAgICAgICAgY2hhbmdlZCA9IGZhbHNlOwotICAgICAgICAgICAgICAgIAotICAgICAg
ICAgICAgICAgIC8vIEludGVudGlvbmFsIGJhY2t3YXJkcyBsb29wIGJlY2F1c2Ugd2UgYXJlIHVz
aW5nIFJQTy4KLSAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGJsb2NrSW5kZXggPSBwb3N0
T3JkZXIuc2l6ZSgpOyBibG9ja0luZGV4LS07KSB7Ci0gICAgICAgICAgICAgICAgICAgIEJhc2lj
QmxvY2sqIGJsb2NrID0gcG9zdE9yZGVyW2Jsb2NrSW5kZXhdOwotICAgICAgICAgICAgICAgICAg
ICAKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFoYW5kbGVCbG9jayhibG9jaykpIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBibG9jayBkaWRuJ3QgZmluaXNoLCB0aGVuIGl0
IGNhbm5vdCBhZmZlY3QgdGhlIGZpeHBvaW50LgotICAgICAgICAgICAgICAgICAgICAgICAgY29u
dGludWU7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgCi0gICAg
ICAgICAgICAgICAgICAgIC8vIENvbnN0cnVjdCB0aGUgc3RhdGUtYXQtdGFpbCBiYXNlZCBvbiB0
aGUgZXBvY2hzIG9mIGxpdmUgbm9kZXMgYW5kIHRoZQotICAgICAgICAgICAgICAgICAgICAvLyBj
dXJyZW50IGVwb2NoLiBXZSBncm93IHN0YXRlLWF0LXRhaWwgbW9ub3RvbmljYWxseSB0byBlbnN1
cmUgY29udmVyZ2VuY2UuCi0gICAgICAgICAgICAgICAgICAgIGJvb2wgdGhpc0Jsb2NrQ2hhbmdl
ZCA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICBmb3IgKE5vZGUqIG5vZGUgOiBibG9jay0+
c3NhLT5saXZlQXRUYWlsKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAobm9kZS0+ZXBv
Y2goKSAhPSBtX2N1cnJlbnRFcG9jaCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IElmIHRoZSBub2RlIGlzIG9sZGVyIHRoYW4gdGhlIGN1cnJlbnQgZXBvY2gsIHRoZW4gd2UgbWF5
IG5lZWQgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBydW4gYSBiYXJyaWVyIG9u
IGl0IGluIHRoZSBmdXR1cmUuIFNvLCBhZGQgaXQgdG8gdGhlIHN0YXRlLgotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRoaXNCbG9ja0NoYW5nZWQgfD0gbV9zdGF0ZUF0VGFpbC0+YXQoYmxv
Y2spLmFkZChub2RlKS5pc05ld0VudHJ5OwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAg
ICAgICBpZiAoIXRoaXNCbG9ja0NoYW5nZWQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8v
IFRoaXMgaXRlcmF0aW9uIGRpZG4ndCBsZWFybiBhbnl0aGluZyBuZXcgYWJvdXQgdGhpcyBibG9j
ay4KLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICAvLyBDaGFuZ2Vk
IHRoaW5ncy4gTWFrZSBzdXJlIHRoYXQgd2UgbG9vcCBvbmUgbW9yZSB0aW1lLgotICAgICAgICAg
ICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgCi0gICAgICAg
ICAgICAgICAgICAgIGZvciAoQmFzaWNCbG9jayogc3VjY2Vzc29yIDogYmxvY2stPnN1Y2Nlc3Nv
cnMoKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlIDogbV9zdGF0
ZUF0VGFpbC0+YXQoYmxvY2spKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fc3RhdGVB
dEhlYWQtPmF0KHN1Y2Nlc3NvcikuYWRkKG5vZGUpOwotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAg
ICAvLyBUZWxsIGhhbmRsZUJsb2NrKCkgdGhhdCBpdCdzIHRpbWUgdG8gYWN0dWFsbHkgaW5zZXJ0
IGJhcnJpZXJzIGZvciByZWFsLgotICAgICAgICAgICAgbV9pc0NvbnZlcmdlZCA9IHRydWU7Ci0g
ICAgICAgICAgICAKLSAgICAgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sgOiBtX2dyYXBo
LmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpCi0gICAgICAgICAgICAgICAgaGFuZGxlQmxvY2soYmxv
Y2spOwotICAgICAgICAgICAgCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfSB9
Ci0gICAgICAgIAotICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIGJvb2wgaGFuZGxlQmxvY2so
QmFzaWNCbG9jayogYmxvY2spCi0gICAgewotICAgICAgICBpZiAodmVyYm9zZSkgewotICAgICAg
ICAgICAgZGF0YUxvZygiRGVhbGluZyB3aXRoIGJsb2NrICIsIHBvaW50ZXJEdW1wKGJsb2NrKSwg
IlxuIik7Ci0gICAgICAgICAgICBpZiAocmVhbGx5SW5zZXJ0QmFycmllcnMoKSkKLSAgICAgICAg
ICAgICAgICBkYXRhTG9nKCIgICAgUmVhbGx5IGluc2VydGluZyBiYXJyaWVycy5cbiIpOwotICAg
ICAgICB9Ci0gICAgICAgIAotICAgICAgICBtX2N1cnJlbnRFcG9jaCA9IEVwb2NoOjpmaXJzdCgp
OwotICAgICAgICAKLSAgICAgICAgaWYgKG1vZGUgPT0gUGhhc2VNb2RlOjpHbG9iYWwpIHsKLSAg
ICAgICAgICAgIGlmICghYmxvY2stPmNmYUhhc1Zpc2l0ZWQpCi0gICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgICAgICAgICAgbV9zdGF0ZS0+YmVnaW5CYXNpY0Jsb2NrKGJsb2NrKTsK
LSAgICAgICAgICAgIAotICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlIDogYmxvY2stPnNzYS0+
bGl2ZUF0SGVhZCkgewotICAgICAgICAgICAgICAgIGlmIChtX3N0YXRlQXRIZWFkLT5hdChibG9j
aykuY29udGFpbnMobm9kZSkpIHsKLSAgICAgICAgICAgICAgICAgICAgLy8gSWYgcHJldmlvdXMg
YmxvY2tzIHRlbGwgdXMgdGhhdCB0aGlzIG5vZGUgbWF5IG5lZWQgYSBiYXJyaWVyIGluIHRoZQot
ICAgICAgICAgICAgICAgICAgICAvLyBmdXR1cmUsIHRoZW4gcHV0IGl0IGluIHRoZSBhbmNpZW50
IHByaW1vcmRpYWwgZXBvY2guIFRoaXMgZm9yY2VzIHVzIHRvCi0gICAgICAgICAgICAgICAgICAg
IC8vIGVtaXQgYSBiYXJyaWVyIG9uIGFueSBwb3NzaWJseS1jZWxsIHN0b3JlLCByZWdhcmRsZXNz
IG9mIHRoZSBlcG9jaCBvZiB0aGUKLSAgICAgICAgICAgICAgICAgICAgLy8gc3RvcmVkIHZhbHVl
LgotICAgICAgICAgICAgICAgICAgICBub2RlLT5zZXRFcG9jaChFcG9jaCgpKTsKLSAgICAgICAg
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAvLyBJZiBwcmV2aW91cyBibG9j
a3MgYXJlbid0IHJlcXVpcmluZyB1cyB0byBydW4gYSBiYXJyaWVyIG9uIHRoaXMgbm9kZSwKLSAg
ICAgICAgICAgICAgICAgICAgLy8gdGhlbiBwdXQgaXQgaW4gdGhlIGN1cnJlbnQgZXBvY2guIFRo
aXMgbWVhbnMgdGhhdCB3ZSB3aWxsIHNraXAgYmFycmllcnMKLSAgICAgICAgICAgICAgICAgICAg
Ly8gb24gdGhpcyBub2RlIHNvIGxvbmcgYXMgd2UgZG9uJ3QgYWxsb2NhdGUuIEl0IGFsc28gbWVh
bnMgdGhhdCB3ZSB3b24ndAotICAgICAgICAgICAgICAgICAgICAvLyBydW4gYmFycmllcnMgb24g
c3RvcmVzIHRvIG9uIG9uZSBzdWNoIG5vZGUgaW50byBhbm90aGVyIHN1Y2ggbm9kZS4gVGhhdCdz
Ci0gICAgICAgICAgICAgICAgICAgIC8vIGZpbmUsIGJlY2F1c2Ugbm9kZXMgd291bGQgYmUgZXhj
bHVkZWQgZnJvbSB0aGUgc3RhdGUgc2V0IGlmIGF0IHRoZSB0YWlscwotICAgICAgICAgICAgICAg
ICAgICAvLyBvZiBhbGwgcHJlZGVjZXNzb3JzIHRoZXkgYWx3YXlzIGhhZCB0aGUgY3VycmVudCBl
cG9jaC4KLSAgICAgICAgICAgICAgICAgICAgbm9kZS0+c2V0RXBvY2gobV9jdXJyZW50RXBvY2gp
OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAg
IGJvb2wgcmVzdWx0ID0gdHJ1ZTsKLSAgICAgICAgCi0gICAgICAgIGZvciAobV9ub2RlSW5kZXgg
PSAwOyBtX25vZGVJbmRleCA8IGJsb2NrLT5zaXplKCk7ICsrbV9ub2RlSW5kZXgpIHsKLSAgICAg
ICAgICAgIG1fbm9kZSA9IGJsb2NrLT5hdChtX25vZGVJbmRleCk7Ci0gICAgICAgICAgICAKLSAg
ICAgICAgICAgIGlmICh2ZXJib3NlKSB7Ci0gICAgICAgICAgICAgICAgZGF0YUxvZygKLSAgICAg
ICAgICAgICAgICAgICAgIiAgICAiLCBtX2N1cnJlbnRFcG9jaCwgIjogTG9va2luZyBhdCBub2Rl
ICIsIG1fbm9kZSwgIiB3aXRoIGNoaWxkcmVuOiAiKTsKLSAgICAgICAgICAgICAgICBDb21tYVBy
aW50ZXIgY29tbWE7Ci0gICAgICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hpbGRyZW4oCi0gICAg
ICAgICAgICAgICAgICAgIG1fbm9kZSwKLSAgICAgICAgICAgICAgICAgICAgWyZdIChFZGdlIGVk
Z2UpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFMb2coY29tbWEsIGVkZ2UsICIgKCIs
IGVkZ2UtPmVwb2NoKCksICIpIik7Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAg
ICAgICAgIGRhdGFMb2coIlxuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAg
ICAgICAgIGlmIChtb2RlID09IFBoYXNlTW9kZTo6R2xvYmFsKSB7Ci0gICAgICAgICAgICAgICAg
Ly8gRXhlY3V0ZSBlZGdlcyBzZXBhcmF0ZWx5IGJlY2F1c2Ugd2UgZG9uJ3Qgd2FudCB0byBpbnNl
cnQgYmFycmllcnMgaWYgdGhlCi0gICAgICAgICAgICAgICAgLy8gb3BlcmF0aW9uIGRvaW5nIHRo
ZSBzdG9yZSBkb2VzIGEgY2hlY2sgdGhhdCBlbnN1cmVzIHRoYXQgdGhlIGNoaWxkIGlzIG5vdAot
ICAgICAgICAgICAgICAgIC8vIGEgY2VsbC4KLSAgICAgICAgICAgICAgICBtX2ludGVycHJldGVy
LT5zdGFydEV4ZWN1dGluZygpOwotICAgICAgICAgICAgICAgIG1faW50ZXJwcmV0ZXItPmV4ZWN1
dGVFZGdlcyhtX25vZGUpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAg
ICBzd2l0Y2ggKG1fbm9kZS0+b3AoKSkgewotICAgICAgICAgICAgY2FzZSBQdXRCeVZhbERpcmVj
dDoKLSAgICAgICAgICAgIGNhc2UgUHV0QnlWYWw6Ci0gICAgICAgICAgICBjYXNlIFB1dEJ5VmFs
QWxpYXM6IHsKLSAgICAgICAgICAgICAgICBzd2l0Y2ggKG1fbm9kZS0+YXJyYXlNb2RlKCkubW9k
ZUZvclB1dCgpLnR5cGUoKSkgewotICAgICAgICAgICAgICAgIGNhc2UgQXJyYXk6OkNvbnRpZ3Vv
dXM6Ci0gICAgICAgICAgICAgICAgY2FzZSBBcnJheTo6QXJyYXlTdG9yYWdlOgotICAgICAgICAg
ICAgICAgIGNhc2UgQXJyYXk6OlNsb3dQdXRBcnJheVN0b3JhZ2U6IHsKLSAgICAgICAgICAgICAg
ICAgICAgRWRnZSBjaGlsZDEgPSBtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMCk7Ci0gICAg
ICAgICAgICAgICAgICAgIEVkZ2UgY2hpbGQzID0gbV9ncmFwaC52YXJBcmdDaGlsZChtX25vZGUs
IDIpOwotICAgICAgICAgICAgICAgICAgICBjb25zaWRlckJhcnJpZXIoY2hpbGQxLCBjaGlsZDMp
OwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIAotICAgICAgICAgICAgY2FzZSBBcnJheVB1c2g6IHsKLSAgICAgICAgICAgICAgICBz
d2l0Y2ggKG1fbm9kZS0+YXJyYXlNb2RlKCkudHlwZSgpKSB7Ci0gICAgICAgICAgICAgICAgY2Fz
ZSBBcnJheTo6Q29udGlndW91czoKLSAgICAgICAgICAgICAgICBjYXNlIEFycmF5OjpBcnJheVN0
b3JhZ2U6Ci0gICAgICAgICAgICAgICAgICAgIGNvbnNpZGVyQmFycmllcihtX25vZGUtPmNoaWxk
MSgpLCBtX25vZGUtPmNoaWxkMigpKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIAotICAgICAgICAgICAgY2FzZSBQdXRTdHJ1Y3R1cmU6IHsKLSAgICAgICAgICAg
ICAgICBjb25zaWRlckJhcnJpZXIobV9ub2RlLT5jaGlsZDEoKSk7Ci0gICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICBjYXNl
IFB1dENsb3N1cmVWYXI6Ci0gICAgICAgICAgICBjYXNlIFB1dFRvQXJndW1lbnRzOgotICAgICAg
ICAgICAgY2FzZSBQdXRCeUlkOgotICAgICAgICAgICAgY2FzZSBQdXRCeUlkRmx1c2g6Ci0gICAg
ICAgICAgICBjYXNlIFB1dEJ5SWREaXJlY3Q6Ci0gICAgICAgICAgICBjYXNlIE11bHRpUHV0QnlP
ZmZzZXQ6IHsKLSAgICAgICAgICAgICAgICBjb25zaWRlckJhcnJpZXIobV9ub2RlLT5jaGlsZDEo
KSwgbV9ub2RlLT5jaGlsZDIoKSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICBjYXNlIFB1dEJ5T2Zmc2V0OiB7Ci0g
ICAgICAgICAgICAgICAgY29uc2lkZXJCYXJyaWVyKG1fbm9kZS0+Y2hpbGQyKCksIG1fbm9kZS0+
Y2hpbGQzKCkpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgICAgIAotICAgICAgICAgICAgY2FzZSBQdXRHbG9iYWxWYXI6IHsKLSAgICAgICAgICAg
ICAgICBjb25zaWRlckJhcnJpZXIobV9ub2RlLT5jaGlsZDEoKSwgbV9ub2RlLT5jaGlsZDIoKSk7
Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
Ci0gICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAoZG9lc0dDKG1fZ3JhcGgsIG1fbm9k
ZSkpCi0gICAgICAgICAgICAgICAgbV9jdXJyZW50RXBvY2guYnVtcCgpOwotICAgICAgICAgICAg
Ci0gICAgICAgICAgICBzd2l0Y2ggKG1fbm9kZS0+b3AoKSkgewotICAgICAgICAgICAgY2FzZSBO
ZXdPYmplY3Q6Ci0gICAgICAgICAgICBjYXNlIE5ld0FycmF5OgotICAgICAgICAgICAgY2FzZSBO
ZXdBcnJheVdpdGhTaXplOgotICAgICAgICAgICAgY2FzZSBOZXdBcnJheUJ1ZmZlcjoKLSAgICAg
ICAgICAgIGNhc2UgTmV3VHlwZWRBcnJheToKLSAgICAgICAgICAgIGNhc2UgTmV3UmVnZXhwOgot
ICAgICAgICAgICAgY2FzZSBNYXRlcmlhbGl6ZU5ld09iamVjdDoKLSAgICAgICAgICAgIGNhc2Ug
TWF0ZXJpYWxpemVDcmVhdGVBY3RpdmF0aW9uOgotICAgICAgICAgICAgY2FzZSBOZXdTdHJpbmdP
YmplY3Q6Ci0gICAgICAgICAgICBjYXNlIE1ha2VSb3BlOgotICAgICAgICAgICAgY2FzZSBDcmVh
dGVBY3RpdmF0aW9uOgotICAgICAgICAgICAgY2FzZSBDcmVhdGVEaXJlY3RBcmd1bWVudHM6Ci0g
ICAgICAgICAgICBjYXNlIENyZWF0ZVNjb3BlZEFyZ3VtZW50czoKLSAgICAgICAgICAgIGNhc2Ug
Q3JlYXRlQ2xvbmVkQXJndW1lbnRzOgotICAgICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKLSAg
ICAgICAgICAgICAgICAvLyBOb2RlcyB0aGF0IGFsbG9jYXRlIGdldCB0byBzZXQgdGhlaXIgZXBv
Y2ggYmVjYXVzZSBmb3IgdGhvc2Ugbm9kZXMgd2Uga25vdwotICAgICAgICAgICAgICAgIC8vIHRo
YXQgdGhleSB3aWxsIGJlIHRoZSBuZXdlc3Qgb2JqZWN0IGluIHRoZSBoZWFwLgotICAgICAgICAg
ICAgICAgIG1fbm9kZS0+c2V0RXBvY2gobV9jdXJyZW50RXBvY2gpOwotICAgICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgY2FzZSBBbGxvY2F0ZVByb3Bl
cnR5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgUmVhbGxvY2F0ZVByb3BlcnR5U3RvcmFnZToK
LSAgICAgICAgICAgICAgICAvLyBUaGVzZSBhbGxvY2F0ZSBidXQgdGhlbiBydW4gdGhlaXIgb3du
IGJhcnJpZXIuCi0gICAgICAgICAgICAgICAgaW5zZXJ0QmFycmllcihtX25vZGVJbmRleCArIDEs
IG1fbm9kZS0+Y2hpbGQxKCkubm9kZSgpKTsKLSAgICAgICAgICAgICAgICBtX25vZGUtPnNldEVw
b2NoKEVwb2NoKCkpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIAot
ICAgICAgICAgICAgY2FzZSBVcHNpbG9uOgotICAgICAgICAgICAgICAgIG1fbm9kZS0+cGhpKCkt
PnNldEVwb2NoKG1fbm9kZS0+ZXBvY2goKSk7Ci0gICAgICAgICAgICAgICAgbV9ub2RlLT5zZXRF
cG9jaChFcG9jaCgpKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAK
LSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgLy8gRm9yIG5vZGVzIHRoYXQg
YXJlbid0IGd1YXJhbnRlZWQgdG8gYWxsb2NhdGUsIHdlIHNheSB0aGF0IHRoZWlyIHJldHVybiB2
YWx1ZQotICAgICAgICAgICAgICAgIC8vIChpZiB0aGVyZSBpcyBvbmUpIGNvdWxkIGJlIGFyYml0
cmFyaWx5IG9sZC4KLSAgICAgICAgICAgICAgICBtX25vZGUtPnNldEVwb2NoKEVwb2NoKCkpOwot
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAg
ICAgICAgICBpZiAodmVyYm9zZSkgewotICAgICAgICAgICAgICAgIGRhdGFMb2coCi0gICAgICAg
ICAgICAgICAgICAgICIgICAgIiwgbV9jdXJyZW50RXBvY2gsICI6IERvbmUgd2l0aCBub2RlICIs
IG1fbm9kZSwgIiAoIiwgbV9ub2RlLT5lcG9jaCgpLAotICAgICAgICAgICAgICAgICAgICAiKSB3
aXRoIGNoaWxkcmVuOiAiKTsKLSAgICAgICAgICAgICAgICBDb21tYVByaW50ZXIgY29tbWE7Ci0g
ICAgICAgICAgICAgICAgbV9ncmFwaC5kb1RvQ2hpbGRyZW4oCi0gICAgICAgICAgICAgICAgICAg
IG1fbm9kZSwKLSAgICAgICAgICAgICAgICAgICAgWyZdIChFZGdlIGVkZ2UpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGRhdGFMb2coY29tbWEsIGVkZ2UsICIgKCIsIGVkZ2UtPmVwb2NoKCks
ICIpIik7Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIGRhdGFMb2co
IlxuIik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIChtb2Rl
ID09IFBoYXNlTW9kZTo6R2xvYmFsKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCFtX2ludGVycHJl
dGVyLT5leGVjdXRlRWZmZWN0cyhtX25vZGVJbmRleCwgbV9ub2RlKSkgewotICAgICAgICAgICAg
ICAgICAgICByZXN1bHQgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIAotICAgICAg
ICBpZiAobW9kZSA9PSBQaGFzZU1vZGU6Okdsb2JhbCkKLSAgICAgICAgICAgIG1fc3RhdGUtPnJl
c2V0KCk7Ci0KLSAgICAgICAgaWYgKHJlYWxseUluc2VydEJhcnJpZXJzKCkpCi0gICAgICAgICAg
ICBtX2luc2VydGlvblNldC5leGVjdXRlKGJsb2NrKTsKLSAgICAgICAgCi0gICAgICAgIHJldHVy
biByZXN1bHQ7Ci0gICAgfQotICAgIAotICAgIHZvaWQgY29uc2lkZXJCYXJyaWVyKEVkZ2UgYmFz
ZSwgRWRnZSBjaGlsZCkKLSAgICB7Ci0gICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAgICAg
ZGF0YUxvZygiICAgICAgICBDb25zaWRlcmluZyBhZGRpbmcgYmFycmllciAiLCBiYXNlLCAiID0+
ICIsIGNoaWxkLCAiXG4iKTsKLSAgICAgICAgCi0gICAgICAgIC8vIFdlIGRvbid0IG5lZWQgYSBz
dG9yZSBiYXJyaWVyIGlmIHRoZSBjaGlsZCBpcyBndWFyYW50ZWVkIHRvIG5vdCBiZSBhIGNlbGwu
Ci0gICAgICAgIHN3aXRjaCAobW9kZSkgewotICAgICAgICBjYXNlIFBoYXNlTW9kZTo6RmFzdDog
ewotICAgICAgICAgICAgLy8gRG9uJ3QgdHJ5IHRvbyBoYXJkIGJlY2F1c2UgaXQncyB0b28gZXhw
ZW5zaXZlIHRvIHJ1biBBSS4KLSAgICAgICAgICAgIGlmIChjaGlsZC0+aGFzQ29uc3RhbnQoKSkg
ewotICAgICAgICAgICAgICAgIGlmICghY2hpbGQtPmFzSlNWYWx1ZSgpLmlzQ2VsbCgpKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAgICAgICAgICAgICAgICAg
ZGF0YUxvZygiICAgICAgICAgICAgUmVqZWN0aW5nIGJlY2F1c2Ugb2YgY29uc3RhbnQgdHlwZS5c
biIpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBzd2l0Y2ggKGNoaWxkLT5yZXN1bHQo
KSkgewotICAgICAgICAgICAgICAgIGNhc2UgTm9kZVJlc3VsdE51bWJlcjoKLSAgICAgICAgICAg
ICAgICBjYXNlIE5vZGVSZXN1bHREb3VibGU6Ci0gICAgICAgICAgICAgICAgY2FzZSBOb2RlUmVz
dWx0SW50MzI6Ci0gICAgICAgICAgICAgICAgY2FzZSBOb2RlUmVzdWx0SW50NTI6Ci0gICAgICAg
ICAgICAgICAgY2FzZSBOb2RlUmVzdWx0Qm9vbGVhbjoKLSAgICAgICAgICAgICAgICAgICAgaWYg
KHZlcmJvc2UpCi0gICAgICAgICAgICAgICAgICAgICAgICBkYXRhTG9nKCIgICAgICAgICAgICBS
ZWplY3RpbmcgYmVjYXVzZSBvZiByZXN1bHQgdHlwZS5cbiIpOwotICAgICAgICAgICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICBjYXNlIFBoYXNlTW9kZTo6R2xv
YmFsOiB7Ci0gICAgICAgICAgICAvLyBHbyBpbnRvIHJhZ2UgbW9kZSB0byBlbGltaW5hdGUgYW55
IGNoYW5jZSBvZiBhIGJhcnJpZXIgd2l0aCBhIG5vbi1jZWxsIGNoaWxkLiBXZQotICAgICAgICAg
ICAgLy8gY2FuIGFmZm9yZCB0byBrZWVwIGFyb3VuZCBBSSBpbiBHbG9iYWwgbW9kZS4KLSAgICAg
ICAgICAgIGlmICghbV9pbnRlcnByZXRlci0+bmVlZHNUeXBlQ2hlY2soY2hpbGQsIH5TcGVjQ2Vs
bCkpIHsKLSAgICAgICAgICAgICAgICBpZiAodmVyYm9zZSkKLSAgICAgICAgICAgICAgICAgICAg
ZGF0YUxvZygiICAgICAgICAgICAgUmVqZWN0aW5nIGJlY2F1c2Ugb2YgQUkgdHlwZS5cbiIpOwot
ICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICB9IH0KLSAgICAgICAgCi0gICAgICAgIC8vIFdlIGRvbid0IG5lZWQgYSBzdG9y
ZSBiYXJyaWVyIGlmIHRoZSBiYXNlIGlzIGF0IGxlYXN0IGFzIG5ldyBhcyB0aGUgY2hpbGQuIEZv
cgotICAgICAgICAvLyBleGFtcGxlIHRoaXMgd29uJ3QgbmVlZCBhIGJhcnJpZXI6Ci0gICAgICAg
IC8vCi0gICAgICAgIC8vIHZhciBvID0ge30KLSAgICAgICAgLy8gdmFyIHAgPSB7fQotICAgICAg
ICAvLyBwLmYgPSBvCi0gICAgICAgIC8vCi0gICAgICAgIC8vIFRoaXMgaXMgc3Ryb25nZXIgdGhh
biB0aGUgY3VycmVudEVwb2NoIHJ1bGUgaW4gY29uc2lkZXJCYXJyaWVyKEVkZ2UpLCBiZWNhdXNl
IGl0IHdpbGwKLSAgICAgICAgLy8gYWxzbyBlbGltaW5hdGUgYmFycmllcnMgaW4gY2FzZXMgbGlr
ZSB0aGlzOgotICAgICAgICAvLwotICAgICAgICAvLyB2YXIgbyA9IHt9IC8vIG8uZXBvY2ggPSAx
LCBjdXJyZW50RXBvY2ggPSAxCi0gICAgICAgIC8vIHZhciBwID0ge30gLy8gby5lcG9jaCA9IDEs
IHAuZXBvY2ggPSAyLCBjdXJyZW50RXBvY2ggPSAyCi0gICAgICAgIC8vIHZhciBxID0ge30gLy8g
by5lcG9jaCA9IDEsIHAuZXBvY2ggPSAyLCBxLmVwb2NoID0gMywgY3VycmVudEVwb2NoID0gMwot
ICAgICAgICAvLyBwLmYgPSBvIC8vIHAuZXBvY2ggPj0gby5lcG9jaAotICAgICAgICAvLwotICAg
ICAgICAvLyBUaGlzIHJlbGF0aW9uc2hpcCB3b3JrcyBiZWNhdXNlIGlmIGl0IGhvbGRzIHRoZW4g
d2UgYXJlIGluIG9uZSBvZiB0aGUgZm9sbG93aW5nCi0gICAgICAgIC8vIHNjZW5hcmlvcy4gTm90
ZSB0aGF0IHdlIGRvbid0IGtub3cgKndoaWNoKiBvZiB0aGVzZSBzY2VuYXJpb3Mgd2UgYXJlIGlu
LCBidXQgaXQncwotICAgICAgICAvLyBvbmUgb2YgdGhlbSAodGhvdWdoIHdpdGhvdXQgbG9zcyBv
ZiBnZW5lcmFsaXR5LCB5b3UgY2FuIHJlcGxhY2UgImEgR0MgaGFwcGVuZWQiIHdpdGgKLSAgICAg
ICAgLy8gIm1hbnkgR0NzIGhhcHBlbmVkIikuCi0gICAgICAgIC8vCi0gICAgICAgIC8vIDEpIFRo
ZXJlIGlzIG5vIEdDIGJldHdlZW4gdGhlIGFsbG9jYXRpb24vbGFzdC1iYXJyaWVyIG9mIGJhc2Us
IGNoaWxkIGFuZCBub3cuIFRoZW4KLSAgICAgICAgLy8gICAgd2UgZGVmaW5pdGVseSBkb24ndCBu
ZWVkIGEgYmFycmllci4KLSAgICAgICAgLy8KLSAgICAgICAgLy8gMikgVGhlcmUgd2FzIGEgR0Mg
YWZ0ZXIgY2hpbGQgd2FzIGFsbG9jYXRlZCBidXQgYmVmb3JlIGJhc2Ugd2FzIGFsbG9jYXRlZC4g
VGhlbiB3ZQotICAgICAgICAvLyAgICBkb24ndCBuZWVkIGEgYmFycmllciwgYmVjYXVzZSBiYXNl
IGlzIHN0aWxsIGEgbmV3IG9iamVjdC4KLSAgICAgICAgLy8KLSAgICAgICAgLy8gMykgVGhlcmUg
d2FzIGEgR0MgYWZ0ZXIgYm90aCBjaGlsZCBhbmQgYmFzZSB3ZXJlIGFsbG9jYXRlZC4gVGhlbiB0
aGV5IGFyZSBib3RoIG9sZC4KLSAgICAgICAgLy8gICAgV2UgZG9uJ3QgbmVlZCBiYXJyaWVycyBv
biBzdG9yZXMgb2Ygb2xkIGludG8gb2xkLiBOb3RlIHRoYXQgaW4gdGhpcyBjYXNlIGl0Ci0gICAg
ICAgIC8vICAgIGRvZXNuJ3QgbWF0dGVyIGlmIHRoZXJlIHdhcyBhbHNvIGEgR0MgYmV0d2VlbiB0
aGUgYWxsb2NhdGlvbiBvZiBjaGlsZCBhbmQgYmFzZS4KLSAgICAgICAgLy8KLSAgICAgICAgLy8g
Tm90ZSB0aGF0IGJhcnJpZXJzIHdpbGwgbGlmdCBhbiBvYmplY3QgaW50byB0aGUgY3VycmVudCBl
cG9jaC4gVGhpcyBpcyBzb3J0IG9mIHdlaXJkLgotICAgICAgICAvLyBJdCBtZWFucyB0aGF0IGxh
dGVyIGlmIHlvdSBzdG9yZSB0aGF0IG9iamVjdCBpbnRvIHNvbWUgb3RoZXIgb2JqZWN0LCBhbmQg
dGhhdCBvdGhlcgotICAgICAgICAvLyBvYmplY3Qgd2FzIHByZXZpb3VzbHkgbmV3ZXIgb2JqZWN0
LCB5b3UnbGwgdGhpbmsgdGhhdCB5b3UgbmVlZCBhIGJhcnJpZXIuIFdlIGNvdWxkCi0gICAgICAg
IC8vIGF2b2lkIHRoaXMgYnkgdHJhY2tpbmcgYWxsb2NhdGlvbiBlcG9jaCBhbmQgYmFycmllciBl
cG9jaCBzZXBhcmF0ZWx5LiBGb3Igbm93IEkgdGhpbmsKLSAgICAgICAgLy8gdGhhdCB0aGlzIHdv
dWxkIGJlIG92ZXJraWxsLiBCdXQgdGhpcyBkb2VzIG1lYW4gdGhhdCB0aGVyZSBhcmUgdGhlIGZv
bGxvd2luZwotICAgICAgICAvLyBwb3NzaWJpbGl0aWVzIHdoZW4gdGhpcyByZWxhdGlvbnNoaXAg
aG9sZHM6Ci0gICAgICAgIC8vCi0gICAgICAgIC8vIDQpIEJhc2UgaXMgYWxsb2NhdGVkIGZpcnN0
LiBBIEdDIGhhcHBlbnMgYW5kIGJhc2UgYmVjb21lcyBvbGQuIFRoZW4gd2UgYWxsb2NhdGUKLSAg
ICAgICAgLy8gICAgY2hpbGQuIChOb3RlIHRoYXQgYWx0ZXJuYXRpdmVseSB0aGUgR0MgY291bGQg
aGFwcGVuIGR1cmluZyB0aGUgYWxsb2NhdGlvbiBvZgotICAgICAgICAvLyAgICBjaGlsZC4pIFRo
ZW4gd2UgcnVuIGEgYmFycmllciBvbiBiYXNlLiBCYXNlIHdpbGwgYXBwZWFyIHRvIGJlIGFzIG5l
dyBhcyBjaGlsZAotICAgICAgICAvLyAgICAoc2FtZSBlcG9jaCkuIEF0IHRoaXMgcG9pbnQsIHdl
IGRvbid0IG5lZWQgYW5vdGhlciBiYXJyaWVyIG9uIGJhc2UuCi0gICAgICAgIC8vCi0gICAgICAg
IC8vIDUpIEJhc2UgaXMgYWxsb2NhdGVkIGZpcnN0LiBUaGVuIHdlIGFsbG9jYXRlIGNoaWxkLiBU
aGVuIHdlIHJ1biBhIEdDLiBUaGVuIHdlIHJ1biBhCi0gICAgICAgIC8vICAgIGJhcnJpZXIgb24g
YmFzZS4gQmFzZSB3aWxsIGFwcGVhciBuZXdlciB0aGFuIGNoaWxkLiBXZSBkb24ndCBuZWVkIGEg
YmFycmllcgotICAgICAgICAvLyAgICBiZWNhdXNlIGJvdGggb2JqZWN0cyBhcmUgb2xkLgotICAg
ICAgICAvLwotICAgICAgICAvLyBTb21ldGhpbmcgd2Ugd2F0Y2ggb3V0IGZvciBoZXJlIGlzIHRo
YXQgdGhlIG51bGwgZXBvY2ggaXMgYSBjYXRjaC1hbGwgZm9yIG9iamVjdHMKLSAgICAgICAgLy8g
YWxsb2NhdGVkIGJlZm9yZSB3ZSBkaWQgYW55IGVwb2NoIHRyYWNraW5nLiBUd28gb2JqZWN0cyBi
ZWluZyBpbiB0aGUgbnVsbCBlcG9jaAotICAgICAgICAvLyBtZWFucyB0aGF0IHdlIGRvbid0IGtu
b3cgdGhlaXIgZXBvY2ggcmVsYXRpb25zaGlwLgotICAgICAgICBpZiAoISFiYXNlLT5lcG9jaCgp
ICYmIGJhc2UtPmVwb2NoKCkgPj0gY2hpbGQtPmVwb2NoKCkpIHsKLSAgICAgICAgICAgIGlmICh2
ZXJib3NlKQotICAgICAgICAgICAgICAgIGRhdGFMb2coIiAgICAgICAgICAgIFJlamVjdGluZyBi
ZWNhdXNlIG9mIGVwb2NoIG9yZGVyaW5nLlxuIik7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgIH0KLSAgICAgICAgCi0gICAgICAgIGNvbnNpZGVyQmFycmllcihiYXNlKTsKLSAgICB9Ci0g
ICAgCi0gICAgdm9pZCBjb25zaWRlckJhcnJpZXIoRWRnZSBiYXNlKQotICAgIHsKLSAgICAgICAg
aWYgKHZlcmJvc2UpCi0gICAgICAgICAgICBkYXRhTG9nKCIgICAgICAgIENvbnNpZGVyaW5nIGFk
ZGluZyBiYXJyaWVyIG9uICIsIGJhc2UsICJcbiIpOwotICAgICAgICAKLSAgICAgICAgLy8gV2Ug
ZG9uJ3QgbmVlZCBhIHN0b3JlIGJhcnJpZXIgaWYgdGhlIGVwb2NoIG9mIHRoZSBiYXNlIGlzIGlk
ZW50aWNhbCB0byB0aGUgY3VycmVudAotICAgICAgICAvLyBlcG9jaC4gVGhhdCBtZWFucyB0aGF0
IHdlIGVpdGhlciBqdXN0IGFsbG9jYXRlZCB0aGUgb2JqZWN0IGFuZCBzbyBpdCdzIGd1YXJhbnRl
ZWQgdG8KLSAgICAgICAgLy8gYmUgaW4gbmV3Z2VuLCBvciB3ZSBqdXN0IHJhbiBhIGJhcnJpZXIg
b24gaXQgc28gaXQncyBndWFyYW50ZWVkIHRvIGJlIHJlbWVtYmVyZWQKLSAgICAgICAgLy8gYWxy
ZWFkeS4KLSAgICAgICAgaWYgKGJhc2UtPmVwb2NoKCkgPT0gbV9jdXJyZW50RXBvY2gpIHsKLSAg
ICAgICAgICAgIGlmICh2ZXJib3NlKQotICAgICAgICAgICAgICAgIGRhdGFMb2coIiAgICAgICAg
ICAgIFJlamVjdGluZyBiZWNhdXNlIGl0J3MgaW4gdGhlIGN1cnJlbnQgZXBvY2guXG4iKTsKLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgaWYgKHZlcmJv
c2UpCi0gICAgICAgICAgICBkYXRhTG9nKCIgICAgICAgICAgICBJbnNlcnRpbmcgYmFycmllci5c
biIpOwotICAgICAgICBpbnNlcnRCYXJyaWVyKG1fbm9kZUluZGV4LCBiYXNlLm5vZGUoKSk7Ci0g
ICAgfQotICAgIAotICAgIHZvaWQgaW5zZXJ0QmFycmllcih1bnNpZ25lZCBub2RlSW5kZXgsIE5v
ZGUqIGJhc2UpCi0gICAgewotICAgICAgICAvLyBJZiB3ZSdyZSBpbiBnbG9iYWwgbW9kZSwgd2Ug
c2hvdWxkIG9ubHkgaW5zZXJ0IHRoZSBiYXJyaWVycyBvbmNlIHdlIGhhdmUgY29udmVyZ2VkLgot
ICAgICAgICBpZiAoIXJlYWxseUluc2VydEJhcnJpZXJzKCkpCi0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIAotICAgICAgICAvLyBGSVhNRTogV2UgY291bGQgc3VwcG9ydCBTdG9yZUJhcnJp
ZXIoVW50eXBlZFVzZTopLiBUaGF0IHdvdWxkIGJlIHNvcnQgb2YgY29vbC4KLSAgICAgICAgLy8g
QnV0IHJpZ2h0IG5vdyB3ZSBkb24ndCBuZWVkIGl0LgotICAgICAgICBtX2luc2VydGlvblNldC5p
bnNlcnROb2RlKAotICAgICAgICAgICAgbm9kZUluZGV4LCBTcGVjTm9uZSwgU3RvcmVCYXJyaWVy
LCBtX25vZGUtPm9yaWdpbiwgRWRnZShiYXNlLCBDZWxsVXNlKSk7Ci0KLSAgICAgICAgYmFzZS0+
c2V0RXBvY2gobV9jdXJyZW50RXBvY2gpOwotICAgIH0KLSAgICAKLSAgICBib29sIHJlYWxseUlu
c2VydEJhcnJpZXJzKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBtb2RlID09IFBoYXNlTW9kZTo6
RmFzdCB8fCBtX2lzQ29udmVyZ2VkOwotICAgIH0KLSAgICAKLSAgICBJbnNlcnRpb25TZXQgbV9p
bnNlcnRpb25TZXQ7Ci0gICAgRXBvY2ggbV9jdXJyZW50RXBvY2g7Ci0gICAgdW5zaWduZWQgbV9u
b2RlSW5kZXg7Ci0gICAgTm9kZSogbV9ub2RlOwotICAgIAotICAgIC8vIFRoaW5ncyB3ZSBvbmx5
IHVzZSBpbiBHbG9iYWwgbW9kZS4KLSAgICBzdGQ6OnVuaXF1ZV9wdHI8SW5QbGFjZUFic3RyYWN0
U3RhdGU+IG1fc3RhdGU7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPEFic3RyYWN0SW50ZXJwcmV0ZXI8
SW5QbGFjZUFic3RyYWN0U3RhdGU+PiBtX2ludGVycHJldGVyOwotICAgIHN0ZDo6dW5pcXVlX3B0
cjxCbG9ja01hcDxIYXNoU2V0PE5vZGUqPj4+IG1fc3RhdGVBdEhlYWQ7Ci0gICAgc3RkOjp1bmlx
dWVfcHRyPEJsb2NrTWFwPEhhc2hTZXQ8Tm9kZSo+Pj4gbV9zdGF0ZUF0VGFpbDsKLSAgICBib29s
IG1faXNDb252ZXJnZWQ7Ci19OwotCi19IC8vIGFub255bW91cyBuYW1lc3BhY2UKLQotYm9vbCBw
ZXJmb3JtRmFzdFN0b3JlQmFycmllckluc2VydGlvbihHcmFwaCYgZ3JhcGgpCi17Ci0gICAgU2Ft
cGxpbmdSZWdpb24gc2FtcGxpbmdSZWdpb24oIkRGRyBGYXN0IFN0b3JlIEJhcnJpZXIgSW5zZXJ0
aW9uIFBoYXNlIik7Ci0gICAgcmV0dXJuIHJ1blBoYXNlPFN0b3JlQmFycmllckluc2VydGlvblBo
YXNlPFBoYXNlTW9kZTo6RmFzdD4+KGdyYXBoKTsKLX0KLQotYm9vbCBwZXJmb3JtR2xvYmFsU3Rv
cmVCYXJyaWVySW5zZXJ0aW9uKEdyYXBoJiBncmFwaCkKLXsKLSAgICBTYW1wbGluZ1JlZ2lvbiBz
YW1wbGluZ1JlZ2lvbigiREZHIEdsb2JhbCBTdG9yZSBCYXJyaWVyIEluc2VydGlvbiBQaGFzZSIp
OwotICAgIHJldHVybiBydW5QaGFzZTxTdG9yZUJhcnJpZXJJbnNlcnRpb25QaGFzZTxQaGFzZU1v
ZGU6Okdsb2JhbD4+KGdyYXBoKTsKLX0KLQotfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRwotCi0j
ZW5kaWYgLy8gRU5BQkxFKERGR19KSVQpCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9uUGhhc2UuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3RvcmVCYXJyaWVySW5zZXJ0aW9uUGhhc2UuaApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMzUyNzU5ZTk1ZjA3NjNlMDgxYzIzZTdlZmNkYWU2ZWVkZmUyMzE1
Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0b3JlQmFycmllckluc2VydGlvblBoYXNlLmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
Ci0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwot
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBERkdTdG9yZUJh
cnJpZXJJbnNlcnRpb25QaGFzZV9oCi0jZGVmaW5lIERGR1N0b3JlQmFycmllckluc2VydGlvblBo
YXNlX2gKLQotI2lmIEVOQUJMRShERkdfSklUKQotCi1uYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNl
IERGRyB7Ci0KLWNsYXNzIEdyYXBoOwotCi0vLyBJbnNlcnRzIHN0b3JlIGJhcnJpZXJzIGluIGEg
YmxvY2stbG9jYWwgbWFubmVyIHdpdGhvdXQgY29uc3VsdGluZyB0aGUgYWJzdHJhY3QgaW50ZXJw
cmV0ZXIuCi0vLyBVc2VzIGEgc2ltcGxlIGVwb2NoLWJhc2VkIGFuYWx5c2lzIHRvIGF2b2lkIGlu
c2VydGluZyByZWR1bmRhbnQgYmFycmllcnMuIFRoaXMgcGhhc2UgcmVxdWlyZXMKLS8vIHRoYXQg
d2UgYXJlIG5vdCBpbiBTU0EuCi1ib29sIHBlcmZvcm1GYXN0U3RvcmVCYXJyaWVySW5zZXJ0aW9u
KEdyYXBoJik7Ci0KLS8vIEluc2VydHMgc3RvcmUgYmFycmllcnMgdXNpbmcgYSBnbG9iYWwgYW5h
bHlzaXMgYW5kIGNvbnN1bHRzIHRoZSBhYnN0cmFjdCBpbnRlcnByZXRlci4gVXNlcyBhCi0vLyBz
aW1wbGUgZXBvY2gtYmFzZWQgYW5hbHlzaXMgdG8gYXZvaWQgaW5zZXJ0aW5nIHJlZHVuZGFudCBi
YXJyaWVycywgYnV0IG9ubHkgcHJvcGFnYXRlcyAic2FtZQotLy8gZXBvY2ggYXMgY3VycmVudCIg
cHJvcGVydHkgZnJvbSBvbmUgYmxvY2sgdG8gdGhlIG5leHQuIFRoaXMgcGhhc2UgcmVxdWlyZXMg
U1NBLiBUaGlzIHBoYXNlCi0vLyBhbHNvIHJlcXVpcmVzIGhhdmluZyB2YWxpZCBBSSBhbmQgbGl2
ZW5lc3MuCi1ib29sIHBlcmZvcm1HbG9iYWxTdG9yZUJhcnJpZXJJbnNlcnRpb24oR3JhcGgmKTsK
LQotfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRwotCi0jZW5kaWYgLy8gRU5BQkxFKERGR19KSVQp
Ci0KLSNlbmRpZiAvLyBERkdTdG9yZUJhcnJpZXJJbnNlcnRpb25QaGFzZV9oCi0K
</data>

          </attachment>
      

    </bug>

</bugzilla>