<?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>188524</bug_id>
          
          <creation_ts>2018-08-13 11:37:22 -0700</creation_ts>
          <short_desc>REGRESSION(r234747): plugin processes crash on launch (Requested by smfr on #webkit).</short_desc>
          <delta_ts>2018-08-13 11:44:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>184991</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1449703</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-13 11:37:22 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/234747 broke the build:
plugin processes crash on launch (Requested by smfr 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>1449705</commentid>
    <comment_count>1</comment_count>
      <attachid>347020</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-13 11:37:39 -0700</bug_when>
    <thetext>Created attachment 347020
ROLLOUT of r234747

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>1449707</commentid>
    <comment_count>2</comment_count>
      <attachid>347020</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-13 11:43:02 -0700</bug_when>
    <thetext>Comment on attachment 347020
ROLLOUT of r234747

Clearing flags on attachment: 347020

Committed r234810: &lt;https://trac.webkit.org/changeset/234810&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1449708</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-08-13 11:43:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1449710</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-08-13 11:44:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/43244068&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>347020</attachid>
            <date>2018-08-13 11:37:39 -0700</date>
            <delta_ts>2018-08-13 11:43:02 -0700</delta_ts>
            <desc>ROLLOUT of r234747</desc>
            <filename>bug-188524-20180813143738.patch</filename>
            <type>text/plain</type>
            <size>64343</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0ODA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDUwOGQ4MDRkYTk1YmUzZmYxODViOWJk
MTJhZTkxN2U3MTQ2OWY1ODAuLmUyNTU5MDE1MWExYTEwNTY5OGZiMWM2NTI1YjQ3OGE4NjBmYmRi
N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMDgtMTMgIENvbW1pdCBRdWV1ZSAgPGNvbW1p
dC1xdWV1ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIy
MzQ3NDcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODg1MjQKKworICAgICAgICBwbHVnaW4gcHJvY2Vzc2VzIGNyYXNoIG9uIGxhdW5jaCAoUmVxdWVz
dGVkIGJ5IHNtZnIgb24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hh
bmdlc2V0OgorCisgICAgICAgICJXZSBzaG91bGQgY2FjaGUgdGhlIGNvbXBpbGVkIHNhbmRib3gg
cHJvZmlsZSBpbiBhIGRhdGEgdmF1bHQiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xODQ5OTEKKyAgICAgICAgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcv
Y2hhbmdlc2V0LzIzNDc0NworCiAyMDE4LTA4LTEwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFttYWNPU10gTXVsdGlwbGUgdGhpcmQgcGFydHkgYXBwcyBjcmFz
aCBkdWUgdG8gdGhlIHRocmVhZCBzYWZldHkgY2hlY2sgaW4gVGltZXJCYXNlOjpzZXROZXh0Rmly
ZVRpbWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCA3YmM2Yzk5MDliY2U2NTA5MGUyOGE3NzE1ZTBmMjVkNjQ2Y2M2
NTA3Li5kMjZhNDc4MmNkMzBiZmVmYjgxMWQ1Y2QwMDI5ZjQ3MWQ2NTA3NDUwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMDgtMTMgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1
ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMzQ3NDcu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODg1MjQK
KworICAgICAgICBwbHVnaW4gcHJvY2Vzc2VzIGNyYXNoIG9uIGxhdW5jaCAoUmVxdWVzdGVkIGJ5
IHNtZnIgb24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0
OgorCisgICAgICAgICJXZSBzaG91bGQgY2FjaGUgdGhlIGNvbXBpbGVkIHNhbmRib3ggcHJvZmls
ZSBpbiBhIGRhdGEgdmF1bHQiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xODQ5OTEKKyAgICAgICAgaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdl
c2V0LzIzNDc0NworCiAyMDE4LTA4LTEzICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBw
bGUuY29tPgogCiAgICAgICAgIFtpT1NdIERyYWdnaW5nIGEgbm9uLWVkaXRhYmxlIHRleHQgc2Vs
ZWN0aW9uIGludG8gYSBwbGFpbiB0ZXh0IGlucHV0IGluc2VydHMgSFRNTCBtYXJrdXAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggMDEzMjg3ZmRmNGYyYzI0OGY4NjNhNmVlOGMwYzJlMWJiYWY4YWYwZS4uMDM3MjA3ZWQw
YmNiMTM3MDU5ODU4YTRlMTIzNjBiYmVkYWRhZmE0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBA
QAorMjAxOC0wOC0xMyAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIzNDc0Ny4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODUyNAorCisgICAgICAgIHBsdWdp
biBwcm9jZXNzZXMgY3Jhc2ggb24gbGF1bmNoIChSZXF1ZXN0ZWQgYnkgc21mciBvbgorICAgICAg
ICAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAgIldl
IHNob3VsZCBjYWNoZSB0aGUgY29tcGlsZWQgc2FuZGJveCBwcm9maWxlIGluIGEgZGF0YSB2YXVs
dCIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDk5
MQorICAgICAgICBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjM0NzQ3CisKIDIw
MTgtMDgtMTMgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBVc2UgYSAxLWJ5dGUgZW51bSBjbGFzcyBmb3IgVGV4dERpcmVjdGlvbgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvU3lzdGVtVHJhY2luZy5oIGIvU291cmNlL1dURi93dGYvU3lz
dGVtVHJhY2luZy5oCmluZGV4IDEwNTE5NmVjNDg3MzVmYWI1MmIzOTMxNTExZTAwZWQwYzE0ZmUx
NWYuLmI1MmJlOGQzODY4MmZhNTliYmQ2NjE5NTczYjc3ZWMwYmQzNGYxMTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL1N5c3RlbVRyYWNpbmcuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9TeXN0
ZW1UcmFjaW5nLmgKQEAgLTk2LDggKzk2LDYgQEAgZW51bSBUcmFjZVBvaW50Q29kZSB7CiAgICAg
Q29tbWl0TGF5ZXJUcmVlRW5kLAogICAgIFByb2Nlc3NMYXVuY2hTdGFydCwKICAgICBQcm9jZXNz
TGF1bmNoRW5kLAotICAgIEluaXRpYWxpemVTYW5kYm94U3RhcnQsCi0gICAgSW5pdGlhbGl6ZVNh
bmRib3hFbmQsCiB9OwogCiAjaWZkZWYgX19jcGx1c3BsdXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL3NwaS9kYXJ3aW4vU2FuZGJveFNQSS5oIGIvU291cmNlL1dURi93dGYvc3BpL2Rhcndp
bi9TYW5kYm94U1BJLmgKaW5kZXggYWU4ODM0NDExNjFlZDVmODAxYTc1YTQ0ODk3Y2UyOGFjYzI2
ZTZhNC4uZmExOGM5ZWE2MzkyNjRkYjc2ZDNkMmJiNzBjMmY1ZjQ0ODUyYWM3ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJLmgKKysrIGIvU291cmNlL1dU
Ri93dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJLmgKQEAgLTQyLDIxICs0Miw2IEBAIGVudW0gc2Fu
ZGJveF9maWx0ZXJfdHlwZSB7CiAKIFdURl9FWFRFUk5fQ19CRUdJTgogCi10eXBlZGVmIHN0cnVj
dCB7Ci0gICAgY2hhciogYnVpbHRpbjsKLSAgICB1bnNpZ25lZCBjaGFyKiBkYXRhOwotICAgIHNp
emVfdCBzaXplOwotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA8IDEwMTMwMAotICAgIGNoYXIqIHRyYWNlOwotI2VuZGlmCi19ICpzYW5kYm94X3By
b2ZpbGVfdDsKLQotdHlwZWRlZiBzdHJ1Y3QgewotICAgIGNvbnN0IGNoYXIgKipwYXJhbXM7Ci0g
ICAgc2l6ZV90IHNpemU7Ci0gICAgc2l6ZV90IGF2YWlsYWJsZTsKLX0gKnNhbmRib3hfcGFyYW1z
X3Q7Ci0KIGV4dGVybiBjb25zdCBjaGFyICpjb25zdCBBUFBfU0FOREJPWF9SRUFEOwogZXh0ZXJu
IGNvbnN0IGNoYXIgKmNvbnN0IEFQUF9TQU5EQk9YX1JFQURfV1JJVEU7CiBleHRlcm4gY29uc3Qg
ZW51bSBzYW5kYm94X2ZpbHRlcl90eXBlIFNBTkRCT1hfQ0hFQ0tfTk9fUkVQT1JUOwpAQCAtNjks
MTIgKzU0LDYgQEAgaW50IHNhbmRib3hfY29udGFpbmVyX3BhdGhfZm9yX3BpZChwaWRfdCwgY2hh
ciAqYnVmZmVyLCBzaXplX3QgYnVmc2l6ZSk7CiBpbnQgc2FuZGJveF9leHRlbnNpb25fcmVsZWFz
ZShpbnQ2NF90IGV4dGVuc2lvbl9oYW5kbGUpOwogaW50IHNhbmRib3hfaW5pdF93aXRoX3BhcmFt
ZXRlcnMoY29uc3QgY2hhciAqcHJvZmlsZSwgdWludDY0X3QgZmxhZ3MsIGNvbnN0IGNoYXIgKmNv
bnN0IHBhcmFtZXRlcnNbXSwgY2hhciAqKmVycm9yYnVmKTsKIGludDY0X3Qgc2FuZGJveF9leHRl
bnNpb25fY29uc3VtZShjb25zdCBjaGFyICpleHRlbnNpb25fdG9rZW4pOwotc2FuZGJveF9wYXJh
bXNfdCBzYW5kYm94X2NyZWF0ZV9wYXJhbXModm9pZCk7Ci1pbnQgc2FuZGJveF9zZXRfcGFyYW0o
c2FuZGJveF9wYXJhbXNfdCwgY29uc3QgY2hhciAqa2V5LCBjb25zdCBjaGFyICp2YWx1ZSk7Ci12
b2lkIHNhbmRib3hfZnJlZV9wYXJhbXMoc2FuZGJveF9wYXJhbXNfdCk7Ci1zYW5kYm94X3Byb2Zp
bGVfdCBzYW5kYm94X2NvbXBpbGVfZmlsZShjb25zdCBjaGFyICpwYXRoLCBzYW5kYm94X3BhcmFt
c190LCBjaGFyICoqZXJyb3IpOwotdm9pZCBzYW5kYm94X2ZyZWVfcHJvZmlsZShzYW5kYm94X3By
b2ZpbGVfdCk7Ci1pbnQgc2FuZGJveF9hcHBseShzYW5kYm94X3Byb2ZpbGVfdCk7CiAKIFdURl9F
WFRFUk5fQ19FTkQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUhh
bmRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlSGFuZGxlLmNwcAppbmRleCAw
MWEyMDQzMTBjMGQ1OWFmODM1ZDhlMDMxYjFkNWExNjhlM2UzMGZiLi4xYzNmNTMyODlkNTQwZjE1
MDkzYzQxMmU0NDFjZTZmY2Q2MDk3YmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9GaWxlSGFuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlSGFu
ZGxlLmNwcApAQCAtMzIsMjMgKzMyLDE1IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEZpbGVI
YW5kbGU6OkZpbGVIYW5kbGUoY29uc3QgU3RyaW5nJiBwYXRoLCBGaWxlU3lzdGVtOjpGaWxlT3Bl
bk1vZGUgbW9kZSkKLSAgICA6IG1fcGF0aCB7IHBhdGggfQotICAgICwgbV9tb2RlIHsgbW9kZSB9
CisgICAgOiBtX3BhdGgocGF0aCkKKyAgICAsIG1fbW9kZShtb2RlKQogewogfQogCiBGaWxlSGFu
ZGxlOjpGaWxlSGFuZGxlKEZpbGVIYW5kbGUmJiBvdGhlcikKLSAgICA6IG1fcGF0aCB7IFdURk1v
dmUob3RoZXIubV9wYXRoKSB9Ci0gICAgLCBtX21vZGUgeyBXVEZNb3ZlKG90aGVyLm1fbW9kZSkg
fQotICAgICwgbV9maWxlSGFuZGxlIHsgc3RkOjpleGNoYW5nZShvdGhlci5tX2ZpbGVIYW5kbGUs
IEZpbGVTeXN0ZW06OmludmFsaWRQbGF0Zm9ybUZpbGVIYW5kbGUpIH0KLXsKLX0KLQotRmlsZUhh
bmRsZTo6RmlsZUhhbmRsZShjb25zdCBTdHJpbmcmIHBhdGgsIEZpbGVTeXN0ZW06OkZpbGVPcGVu
TW9kZSBtb2RlLCBPcHRpb25TZXQ8RmlsZVN5c3RlbTo6RmlsZUxvY2tNb2RlPiBsb2NrTW9kZSkK
LSAgICA6IG1fcGF0aCB7IHBhdGggfQotICAgICwgbV9tb2RlIHsgbW9kZSB9Ci0gICAgLCBtX3No
b3VsZExvY2sgeyB0cnVlIH0KLSAgICAsIG1fbG9ja01vZGUgeyBsb2NrTW9kZSB9CisgICAgOiBt
X3BhdGgoV1RGTW92ZShvdGhlci5tX3BhdGgpKQorICAgICwgbV9tb2RlKFdURk1vdmUob3RoZXIu
bV9tb2RlKSkKKyAgICAsIG1fZmlsZUhhbmRsZShzdGQ6OmV4Y2hhbmdlKG90aGVyLm1fZmlsZUhh
bmRsZSwgRmlsZVN5c3RlbTo6aW52YWxpZFBsYXRmb3JtRmlsZUhhbmRsZSkpCiB7CiB9CiAKQEAg
LTg1LDcgKzc3LDcgQEAgYm9vbCBGaWxlSGFuZGxlOjpvcGVuKGNvbnN0IFN0cmluZyYgcGF0aCwg
RmlsZVN5c3RlbTo6RmlsZU9wZW5Nb2RlIG1vZGUpCiBib29sIEZpbGVIYW5kbGU6Om9wZW4oKQog
ewogICAgIGlmICghKnRoaXMpCi0gICAgICAgIG1fZmlsZUhhbmRsZSA9IG1fc2hvdWxkTG9jayA/
IEZpbGVTeXN0ZW06Om9wZW5BbmRMb2NrRmlsZShtX3BhdGgsIG1fbW9kZSwgbV9sb2NrTW9kZSkg
OiAgRmlsZVN5c3RlbTo6b3BlbkZpbGUobV9wYXRoLCBtX21vZGUpOworICAgICAgICBtX2ZpbGVI
YW5kbGUgPSBGaWxlU3lzdGVtOjpvcGVuRmlsZShtX3BhdGgsIG1fbW9kZSk7CiAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PGJvb2w+KCp0aGlzKTsKIH0KIApAQCAtMTIzLDExICsxMTUsNyBAQCBib29s
IEZpbGVIYW5kbGU6OnByaW50Zihjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikKIAogdm9pZCBGaWxl
SGFuZGxlOjpjbG9zZSgpCiB7Ci0gICAgaWYgKG1fc2hvdWxkTG9jayAmJiAqdGhpcykgewotICAg
ICAgICAvLyBGaWxlU3lzdGVtOjp1bmxvY2tBbmRDbG9zZUZpbGUgcmVxdWlyZXMgdGhlIGZpbGUg
aGFuZGxlIHRvIGJlIHZhbGlkIHdoaWxlIGNsb3NlRmlsZSBkb2VzIG5vdAotICAgICAgICBGaWxl
U3lzdGVtOjp1bmxvY2tBbmRDbG9zZUZpbGUobV9maWxlSGFuZGxlKTsKLSAgICB9IGVsc2UKLSAg
ICAgICAgRmlsZVN5c3RlbTo6Y2xvc2VGaWxlKG1fZmlsZUhhbmRsZSk7CisgICAgRmlsZVN5c3Rl
bTo6Y2xvc2VGaWxlKG1fZmlsZUhhbmRsZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVIYW5kbGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVIYW5kbGUuaAppbmRleCA1ZmY4YTQzNzE5YzBkOTA4Mzk0
N2UxYzhlYWRkZDdkNDlkODdiNDk1Li42NTk0MjJhMjU4OTQxMTNkYWViMmU4ZWMxMjQ3ODk3MDlj
NDZiMDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlSGFuZGxlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZUhhbmRsZS5oCkBAIC0zOCw3ICszOCw2
IEBAIGNsYXNzIFdFQkNPUkVfRVhQT1JUIEZpbGVIYW5kbGUgZmluYWwgewogcHVibGljOgogICAg
IEZpbGVIYW5kbGUoKSA9IGRlZmF1bHQ7CiAgICAgRmlsZUhhbmRsZShjb25zdCBTdHJpbmcmIHBh
dGgsIEZpbGVTeXN0ZW06OkZpbGVPcGVuTW9kZSk7Ci0gICAgRmlsZUhhbmRsZShjb25zdCBTdHJp
bmcmIHBhdGgsIEZpbGVTeXN0ZW06OkZpbGVPcGVuTW9kZSwgT3B0aW9uU2V0PEZpbGVTeXN0ZW06
OkZpbGVMb2NrTW9kZT4pOwogICAgIEZpbGVIYW5kbGUoY29uc3QgRmlsZUhhbmRsZSYgb3RoZXIp
ID0gZGVsZXRlOwogICAgIEZpbGVIYW5kbGUoRmlsZUhhbmRsZSYmIG90aGVyKTsKIApAQCAtNjAs
OCArNTksNiBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX3BhdGg7CiAgICAgRmlsZVN5c3RlbTo6
RmlsZU9wZW5Nb2RlIG1fbW9kZSB7IEZpbGVTeXN0ZW06OkZpbGVPcGVuTW9kZTo6UmVhZCB9Owog
ICAgIEZpbGVTeXN0ZW06OlBsYXRmb3JtRmlsZUhhbmRsZSBtX2ZpbGVIYW5kbGUgeyBGaWxlU3lz
dGVtOjppbnZhbGlkUGxhdGZvcm1GaWxlSGFuZGxlIH07Ci0gICAgYm9vbCBtX3Nob3VsZExvY2sg
eyBmYWxzZSB9OwotICAgIE9wdGlvblNldDxGaWxlU3lzdGVtOjpGaWxlTG9ja01vZGU+IG1fbG9j
a01vZGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9G
aWxlU3lzdGVtLmgKaW5kZXggYTUyYWI0YzdjZjQwNGM3Nzg3ZWM5YjQ3MWYyYzg3MzUyMzM5Mzgx
Yi4uODA4ZjlhNGI1ZTdkZGYzMDY1YjNhZGQyMDJmNTQ3NGEzOWMyZWQyZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0ZpbGVTeXN0ZW0uaApAQCAtMTg0LDcgKzE4NCw2IEBAIFN0cmluZyByb2FtaW5n
VXNlclNwZWNpZmljU3RvcmFnZURpcmVjdG9yeSgpOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiBX
RUJDT1JFX0VYUE9SVCBOU1N0cmluZyAqY3JlYXRlVGVtcG9yYXJ5RGlyZWN0b3J5KE5TU3RyaW5n
ICpkaXJlY3RvcnlQcmVmaXgpOwotV0VCQ09SRV9FWFBPUlQgYm9vbCBkZWxldGVOb25FbXB0eURp
cmVjdG9yeShjb25zdCBTdHJpbmcmKTsKICNlbmRpZgogCiBXRUJDT1JFX0VYUE9SVCBTdHJpbmcg
cmVhbFBhdGgoY29uc3QgU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jb2NvYS9GaWxlU3lzdGVtQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
b2NvYS9GaWxlU3lzdGVtQ29jb2EubW0KaW5kZXggZDM4YjBjODMwM2U3YmExMGQ0MDUzM2NiY2Qx
NWRhMzNiMDk2OWUzYy4uNmEyOTI0ZGJjODI3NzRlNTQwYTNkYjc5NmM5YWUxZTVkZWQ2YjgyZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRmlsZVN5c3RlbUNvY29h
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0ZpbGVTeXN0ZW1Db2NvYS5t
bQpAQCAtMTM0LDEwICsxMzQsNSBAQCBOU1N0cmluZyAqY3JlYXRlVGVtcG9yYXJ5RGlyZWN0b3J5
KE5TU3RyaW5nICpkaXJlY3RvcnlQcmVmaXgpCiAgICAgcmV0dXJuIFtbTlNGaWxlTWFuYWdlciBk
ZWZhdWx0TWFuYWdlcl0gc3RyaW5nV2l0aEZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbjpwYXRoLmRh
dGEoKSBsZW5ndGg6bGVuZ3RoXTsKIH0KIAotYm9vbCBkZWxldGVOb25FbXB0eURpcmVjdG9yeShj
b25zdCBTdHJpbmcmIHBhdGgpCi17Ci0gICAgcmV0dXJuIFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0
TWFuYWdlcl0gcmVtb3ZlSXRlbUF0UGF0aDpwYXRoIGVycm9yOm5pbF07Ci19Ci0KIH0gLy8gbmFt
ZXNwYWNlIEZpbGVTeXN0ZW0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvTmV0d29yay1PU1gtc2FuZGJveC5lbnRpdGxlbWVu
dHMgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL05ldHdvcmstT1NYLXNhbmRib3guZW50
aXRsZW1lbnRzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMzI3MDU2NmZjNTQzN2Jk
N2Q4OTExMTc5ZGQ1MTdjNWZlYmQ0MmFiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvTmV0d29yay1PU1gt
c2FuZGJveC5lbnRpdGxlbWVudHMKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLTw/eG1s
IHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgcGxpc3QgUFVCTElD
ICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERz
L1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KLTxwbGlzdCB2ZXJzaW9uPSIxLjAiPgotPGRpY3Q+Ci0J
PGtleT5jb20uYXBwbGUucm9vdGxlc3Muc3RvcmFnZS5XZWJLaXROZXR3b3JraW5nU2FuZGJveDwv
a2V5PgotCTx0cnVlLz4KLTwvZGljdD4KLTwvcGxpc3Q+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NvbmZpZ3VyYXRpb25zL1N0b3JhZ2UtT1NYLXNhbmRib3guZW50aXRsZW1lbnRzIGIvU291
cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9TdG9yYWdlLU9TWC1zYW5kYm94LmVudGl0bGVtZW50
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmJiMzkyZTgwZjk1NjcxZThmOTA4ODll
MGM4NjllMTY4NjM0Nzk5OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1N0b3JhZ2UtT1NYLXNhbmRib3gu
ZW50aXRsZW1lbnRzCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi08P3htbCB2ZXJzaW9u
PSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBw
bGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0
eUxpc3QtMS4wLmR0ZCI+Ci08cGxpc3QgdmVyc2lvbj0iMS4wIj4KLTxkaWN0PgotCTxrZXk+Y29t
LmFwcGxlLnJvb3RsZXNzLnN0b3JhZ2UuV2ViS2l0U3RvcmFnZVNhbmRib3g8L2tleT4KLQk8dHJ1
ZS8+Ci08L2RpY3Q+Ci08L3BsaXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Db25maWd1
cmF0aW9ucy9TdG9yYWdlU2VydmljZS54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJh
dGlvbnMvU3RvcmFnZVNlcnZpY2UueGNjb25maWcKaW5kZXggNWQ1MTIwOWQ3MTc2ZDcxZjRlZGNk
ODhkOWVhNmQyNWQxYTQ0Mzk4My4uNzU3NjFkODA4YWYwNDI1M2E2ZGQ3ZDNmYWRhZDE4MzViYThh
ZjVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9TdG9yYWdlU2Vy
dmljZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1N0b3JhZ2VT
ZXJ2aWNlLnhjY29uZmlnCkBAIC0yNSwxMCArMjUsNiBAQAogCiBXS19YUENfU0VSVklDRV9JT1Nf
RU5USVRMRU1FTlRTX0JBU0UgPSBEYXRhYmFzZXMtaU9TOwogCi1XS19TVE9SQUdFX0VOVElUTEVN
RU5UU19SRVNUUklDVEVEX05PID0gOwotV0tfU1RPUkFHRV9FTlRJVExFTUVOVFNfUkVTVFJJQ1RF
RF9ZRVMgPSBDb25maWd1cmF0aW9ucy9TdG9yYWdlLU9TWC1zYW5kYm94LmVudGl0bGVtZW50czsK
LQotQ09ERV9TSUdOX0VOVElUTEVNRU5UU19DT0NPQV9UT1VDSF9OTyA9ICQoV0tfU1RPUkFHRV9F
TlRJVExFTUVOVFNfUkVTVFJJQ1RFRF8kKFdLX1VTRV9SRVNUUklDVEVEX0VOVElUTEVNRU5UUykp
OwogT1RIRVJfQ09ERV9TSUdOX0ZMQUdTID0gJChXS19MSUJSQVJZX1ZBTElEQVRJT05fQ09ERV9T
SUdOX0ZMQUdTKTsKIAogUFJPRFVDVF9OQU1FID0gJChXS19TVE9SQUdFX1NFUlZJQ0VfUFJPRFVD
VF9OQU1FKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViQ29u
dGVudC1PU1gtc2FuZGJveC5lbnRpdGxlbWVudHMgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRp
b25zL1dlYkNvbnRlbnQtT1NYLXNhbmRib3guZW50aXRsZW1lbnRzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBjMzQzNjNhZGZlNzNhM2M3YWY5ODVkM2NiNmM0NjRlOTAwMDE1YWQ1Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJL
aXQvQ29uZmlndXJhdGlvbnMvV2ViQ29udGVudC1PU1gtc2FuZGJveC5lbnRpdGxlbWVudHMKKysr
IC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9
IlVURi04Ij8+Ci08IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEu
MC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4K
LTxwbGlzdCB2ZXJzaW9uPSIxLjAiPgotPGRpY3Q+Ci0JPGtleT5jb20uYXBwbGUucm9vdGxlc3Mu
c3RvcmFnZS5XZWJLaXRXZWJDb250ZW50U2FuZGJveDwva2V5PgotCTx0cnVlLz4KLTwvZGljdD4K
LTwvcGxpc3Q+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL1dlYktp
dC54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmln
CmluZGV4IGE2NjcwOWY0ZGEwOGQ4MWVlYzczNDg4Mzg4ZWRhYmRhMzExODFlNjQuLjNjZWU0M2M2
ZDEyNDE5NzM5NGQxZDI3ODBlYjU2MTQ0NmI0ZTkxNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvQ29u
ZmlndXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnCkBAIC04Miw5ICs4Miw2IEBAIFdLX01PQklMRV9D
T1JFX1NFUlZJQ0VTX0xERkxBR1NfY29jb2F0b3VjaCA9IC1mcmFtZXdvcmsgTW9iaWxlQ29yZVNl
cnZpY2VzOwogV0tfTU9CSUxFX0dFU1RBTFRfTERGTEFHUyA9ICQoV0tfTU9CSUxFX0dFU1RBTFRf
TERGTEFHU18kKFdLX0NPQ09BX1RPVUNIKSk7CiBXS19NT0JJTEVfR0VTVEFMVF9MREZMQUdTX2Nv
Y29hdG91Y2ggPSAtbE1vYmlsZUdlc3RhbHQ7CiAKLVdLX0xJQlNBTkRCT1hfTERGTEFHUyA9ICQo
V0tfTElCU0FOREJPWF9MREZMQUdTXyQoV0tfUExBVEZPUk1fTkFNRSkpOwotV0tfTElCU0FOREJP
WF9MREZMQUdTX21hY29zeCA9IC1sc2FuZGJveDsKLQogV0tfT1BFTkdMX0xERkxBR1MgPSAkKFdL
X09QRU5HTF9MREZMQUdTXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogV0tfT1BFTkdMX0xERkxBR1Nf
aXBob25lb3MgPSAtZnJhbWV3b3JrIE9wZW5HTEVTOwogV0tfT1BFTkdMX0xERkxBR1NfaW9zbWFj
ID0gLWZyYW1ld29yayBPcGVuR0w7CkBAIC0xMTUsNyArMTEyLDcgQEAgV0tfVUlLSVRfTERGTEFH
U19jb2NvYXRvdWNoID0gLWZyYW1ld29yayBVSUtpdDsKIFdLX1VSTF9GT1JNQVRUSU5HX0xERkxB
R1MgPSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1NfJChXS19IQVZFX1VSTF9GT1JNQVRUSU5H
KSk7CiBXS19VUkxfRk9STUFUVElOR19MREZMQUdTX1lFUyA9IC1mcmFtZXdvcmsgVVJMRm9ybWF0
dGluZzsKIAotRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1MgPSAtbG9iamMgLWZyYW1ld29y
ayBDRk5ldHdvcmsgLWZyYW1ld29yayBDb3JlQXVkaW8gLWZyYW1ld29yayBDb3JlRm91bmRhdGlv
biAtZnJhbWV3b3JrIENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIENvcmVUZXh0IC1mcmFtZXdvcmsg
Rm91bmRhdGlvbiAtZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBJT0tpdCAtZnJhbWV3b3Jr
IFdlYktpdExlZ2FjeSAtbG5ldHdvcmsgJChXS19BQ0NFU1NJQklMSVRZX0xERkxBR1MpICQoV0tf
QVBQS0lUX0xERkxBR1MpICQoV0tfQVNTRVJUSU9OX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfQ0FS
Qk9OX0xERkxBR1MpICQoV0tfQ09SRV9QREZfTERGTEFHUykgJChXS19DT1JFX1BSRURJQ1RJT05f
TERGTEFHUykgJChXS19DT1JFX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfR1JBUEhJQ1NfU0VSVklD
RVNfTERGTEFHUykgJChXS19JT1NVUkZBQ0VfTERGTEFHUykgJChXS19MSUJTQU5EQk9YX0xERkxB
R1MpICQoV0tfTElCV0VCUlRDX0xERkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERG
TEFHUykgJChXS19NT0JJTEVfR0VTVEFMVF9MREZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAk
KFdLX1BERktJVF9MREZMQUdTKSAkKFdLX1NBRkVfQlJPV1NJTkdfTERGTEFHUykgJChXS19VSUtJ
VF9MREZMQUdTKSAkKFdLX1VSTF9GT1JNQVRUSU5HX0xERkxBR1MpOworRlJBTUVXT1JLX0FORF9M
SUJSQVJZX0xERkxBR1MgPSAtbG9iamMgLWZyYW1ld29yayBDRk5ldHdvcmsgLWZyYW1ld29yayBD
b3JlQXVkaW8gLWZyYW1ld29yayBDb3JlRm91bmRhdGlvbiAtZnJhbWV3b3JrIENvcmVHcmFwaGlj
cyAtZnJhbWV3b3JrIENvcmVUZXh0IC1mcmFtZXdvcmsgRm91bmRhdGlvbiAtZnJhbWV3b3JrIElt
YWdlSU8gLWZyYW1ld29yayBJT0tpdCAtZnJhbWV3b3JrIFdlYktpdExlZ2FjeSAtbG5ldHdvcmsg
JChXS19BQ0NFU1NJQklMSVRZX0xERkxBR1MpICQoV0tfQVBQS0lUX0xERkxBR1MpICQoV0tfQVNT
RVJUSU9OX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9Q
REZfTERGTEFHUykgJChXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJ
Q0VTX0xERkxBR1MpICQoV0tfR1JBUEhJQ1NfU0VSVklDRVNfTERGTEFHUykgJChXS19JT1NVUkZB
Q0VfTERGTEFHUykgJChXS19MSUJXRUJSVENfTERGTEFHUykgJChXS19NT0JJTEVfQ09SRV9TRVJW
SUNFU19MREZMQUdTKSAkKFdLX01PQklMRV9HRVNUQUxUX0xERkxBR1MpICQoV0tfT1BFTkdMX0xE
RkxBR1MpICQoV0tfUERGS0lUX0xERkxBR1MpICQoV0tfU0FGRV9CUk9XU0lOR19MREZMQUdTKSAk
KFdLX1VJS0lUX0xERkxBR1MpICQoV0tfVVJMX0ZPUk1BVFRJTkdfTERGTEFHUyk7CiAKIC8vIFBy
ZXZlbnQgQysrIHN0YW5kYXJkIGxpYnJhcnkgYmFzaWNfc3RyaW5nc3RyZWFtLCBvcGVyYXRvciBu
ZXcsIGRlbGV0ZSBhbmQgdGhlaXIgcmVsYXRlZCBleGNlcHRpb24gdHlwZXMgZnJvbSBiZWluZyBl
eHBvcnRlZCBhcyB3ZWFrIHN5bWJvbHMuCiBVTkVYUE9SVEVEX1NZTUJPTF9MREZMQUdTID0gLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVElTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCAtV2wsX19aVElTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2ws
X19aVFNTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDlleGNl
cHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aZGxQdlNfIC1XbCwtdW5leHBvcnRl
ZF9zeW1ib2wgLVdsLF9fWm53bVB2IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bSAt
V2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3Jl
MTJQb2xpY3lBY3Rpb25FRUVDMkVPUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5T
dDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRU9TNF8gLVdsLC11
bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9s
aWN5QWN0aW9uRUVFYVNFRG4gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aTktTdDNfXzE4
ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRWNsRVMyXyAtV2wsLXVuZXhwb3J0
ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rp
b25FRUU0c3dhcEVSUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVu
Y3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRVJLUzRfIC1XbCwtdW5leHBvcnRl
ZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlv
bkVFRUMyRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rp
b25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUQxRXYgLVdsLC11bmV4cG9ydGVkX3N5bWJv
bCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFRDJF
diAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJD
b3JlMTJQb2xpY3lBY3Rpb25FRUVhU0VSS1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxf
X1pUVk5TdDNfXzExN2JhZF9mdW5jdGlvbl9jYWxsRSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1X
bCxfX1pUQ05TdDNfXzExOGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVO
U185YWxsb2NhdG9ySWNFRUVFMF9OU18xM2Jhc2ljX2lzdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBv
cnRlZF9zeW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNo
YXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUwX05TXzE0YmFzaWNfaW9zdHJlYW1JY1My
X0VFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRDTlN0M19fMTE4YmFzaWNfc3RyaW5n
c3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUxNl9OU18xM2Jh
c2ljX29zdHJlYW1JY1MyX0VFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWlRUTlN0M19f
MTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJ
Y0VFRUUgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFZOU3QzX18xMTViYXNpY19zdHJp
bmdidWZJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRSAtV2wsLXVuZXhw
b3J0ZWRfc3ltYm9sIC1XbCxfX1pUVk5TdDNfXzExOGJhc2ljX3N0cmluZ3N0cmVhbUljTlNfMTFj
aGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wg
LVdsLF9fWlRDTlN0M19fMTE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNF
RU5TXzlhbGxvY2F0b3JJY0VFRUU4X05TXzEzYmFzaWNfb3N0cmVhbUljUzJfRUU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggNmVkMWVlZDg3
ZWZlYTM4MDBkZWNlOTU4MmZiOWJjNTE1MGUzZGI3Ni4uMjY2MmNmNjg3OTFjNzM0ZmFkMzVlZGQw
M2I2NzI3Zjc3ZTc5YTkwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MuaApAQCAtODAsNyArODAsNiBAQCBjbGFzcyBOZXR3b3JrUHJvY2VzcyA6IHB1
YmxpYyBDaGlsZFByb2Nlc3MsIHByaXZhdGUgRG93bmxvYWRNYW5hZ2VyOjpDbGllbnQgewogICAg
IGZyaWVuZCBOZXZlckRlc3Ryb3llZDxEb3dubG9hZE1hbmFnZXI+OwogcHVibGljOgogICAgIHN0
YXRpYyBOZXR3b3JrUHJvY2VzcyYgc2luZ2xldG9uKCk7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciBQ
cm9jZXNzVHlwZSBwcm9jZXNzVHlwZSA9IFByb2Nlc3NUeXBlOjpOZXR3b3JrOwogCiAgICAgdGVt
cGxhdGUgPHR5cGVuYW1lIFQ+CiAgICAgVCogc3VwcGxlbWVudCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9Q
bHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaAppbmRleCAxMTU3NDM3ZGI3M2YyM2NiZGE5MzBl
YTMwYzFkNTgyMmFmNGNlZWJhLi44MGZkM2YzZWEwMjQ4Y2YxNTc5MDc3ODhlMDFhZjA4OWRiZDYx
NjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vz
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKQEAg
LTQ5LDcgKzQ5LDYgQEAgY2xhc3MgUGx1Z2luUHJvY2VzcyA6IHB1YmxpYyBDaGlsZFByb2Nlc3MK
IAogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzJiBzaW5nbGV0b24oKTsKLSAgICBz
dGF0aWMgY29uc3RleHByIFByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlID0gUHJvY2Vzc1R5cGU6OlBs
dWdpbjsKIAogICAgIHZvaWQgcmVtb3ZlV2ViUHJvY2Vzc0Nvbm5lY3Rpb24oV2ViUHJvY2Vzc0Nv
bm5lY3Rpb24qKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3Byb2Nlc3Mt
bmV0d29yay1zYW5kYm94LWVudGl0bGVtZW50cy5zaCBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy9w
cm9jZXNzLW5ldHdvcmstc2FuZGJveC1lbnRpdGxlbWVudHMuc2gKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNzU1CmluZGV4IDA1YWJmZWI1NWY4NTE5NDM1ZWI3M2Q4YjQyNGFiNThkMjVmZTM4NTIuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktp
dC9TY3JpcHRzL3Byb2Nlc3MtbmV0d29yay1zYW5kYm94LWVudGl0bGVtZW50cy5zaAorKysgL2Rl
di9udWxsCkBAIC0xLDE0ICswLDAgQEAKLSMhL2Jpbi9zaAotc2V0IC1lCi0KLVBST0NFU1NFRF9Y
Q0VOVF9GSUxFPSIke1RFTVBfRklMRV9ESVJ9LyR7RlVMTF9QUk9EVUNUX05BTUV9LnhjZW50Igot
Ci1pZiBbWyAke1dLX1BMQVRGT1JNX05BTUV9ID09ICJtYWNvc3giIF1dOyB0aGVuCi0KLSAgICBp
ZiBbWyAke1dLX1VTRV9SRVNUUklDVEVEX0VOVElUTEVNRU5UU30gPT0gIllFUyIgXV07IHRoZW4K
LSAgICAgICAgZWNobyAiUHJvY2Vzc2luZyByZXN0cmljdGVkIGVudGl0bGVtZW50cyBmb3IgSW50
ZXJuYWwgU0RLIjsKLQotICAgICAgICBlY2hvICJBZGRpbmcgc2FuZGJveCBlbnRpdGxlbWVudHMg
Zm9yIE5ldHdvcmsgcHJvY2Vzcy4iOwotICAgICAgICAvdXNyL2xpYmV4ZWMvUGxpc3RCdWRkeSAt
YyAiTWVyZ2UgQ29uZmlndXJhdGlvbnMvTmV0d29yay1PU1gtc2FuZGJveC5lbnRpdGxlbWVudHMi
ICIke1BST0NFU1NFRF9YQ0VOVF9GSUxFfSI7Ci0gICAgZmkKLWZpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy13ZWJjb250ZW50LXNhbmRib3gtZW50aXRsZW1lbnRz
LnNoIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3Byb2Nlc3Mtd2ViY29udGVudC1zYW5kYm94LWVu
dGl0bGVtZW50cy5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMWI4NGYyZmQzNDJl
ZDU0MWMyODRmZGI2ODBiNmY0YmFiYjhhMTg1ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvcHJvY2Vzcy13ZWJjb250
ZW50LXNhbmRib3gtZW50aXRsZW1lbnRzLnNoCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBA
QAotIyEvYmluL3NoCi1zZXQgLWUKLQotUFJPQ0VTU0VEX1hDRU5UX0ZJTEU9IiR7VEVNUF9GSUxF
X0RJUn0vJHtGVUxMX1BST0RVQ1RfTkFNRX0ueGNlbnQiCi0KLWlmIFtbICR7V0tfUExBVEZPUk1f
TkFNRX0gPT0gIm1hY29zeCIgXV07IHRoZW4KLQotICAgIGlmIFtbICR7V0tfVVNFX1JFU1RSSUNU
RURfRU5USVRMRU1FTlRTfSA9PSAiWUVTIiBdXTsgdGhlbgotICAgICAgICBlY2hvICJQcm9jZXNz
aW5nIHJlc3RyaWN0ZWQgZW50aXRsZW1lbnRzIGZvciBJbnRlcm5hbCBTREsiOwotCi0gICAgICAg
IGVjaG8gIkFkZGluZyBzYW5kYm94IGVudGl0bGVtZW50cyBmb3IgV2ViQ29udGVudCBwcm9jZXNz
LiI7Ci0gICAgICAgIC91c3IvbGliZXhlYy9QbGlzdEJ1ZGR5IC1jICJNZXJnZSBDb25maWd1cmF0
aW9ucy9XZWJDb250ZW50LU9TWC1zYW5kYm94LmVudGl0bGVtZW50cyIgIiR7UFJPQ0VTU0VEX1hD
RU5UX0ZJTEV9IjsKLSAgICBmaQotZmkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0NoaWxkUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKaW5k
ZXggYzkxOTA5MTgyOTE1ZWQxNTgzOGNkYTg4MTMwYjVhY2RhNjQxMGYxMS4uOTVhMzEwNDcwZWZi
NWMzYmQ4ZTRjMzI1MjQ5ODgzYjE2Mzc4ZjhjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvQ2hpbGRQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ2hpbGRQcm9j
ZXNzLmgKQEAgLTM5LDE5ICszOSwyMiBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFNh
bmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnM7Ci1zdHJ1Y3QgQ2hpbGRQcm9jZXNzSW5pdGlh
bGl6YXRpb25QYXJhbWV0ZXJzOworCitzdHJ1Y3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25Q
YXJhbWV0ZXJzIHsKKyAgICBTdHJpbmcgdWlQcm9jZXNzTmFtZTsKKyAgICBTdHJpbmcgY2xpZW50
SWRlbnRpZmllcjsKKyAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVy
PiBwcm9jZXNzSWRlbnRpZmllcjsKKyAgICBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgY29u
bmVjdGlvbklkZW50aWZpZXI7CisgICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gZXh0cmFJbml0
aWFsaXphdGlvbkRhdGE7CisjaWYgUExBVEZPUk0oQ09DT0EpCisgICAgT1NPYmplY3RQdHI8eHBj
X29iamVjdF90PiBwcmlvcml0eUJvb3N0TWVzc2FnZTsKKyNlbmRpZgorfTsKIAogY2xhc3MgQ2hp
bGRQcm9jZXNzIDogcHJvdGVjdGVkIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50LCBwdWJsaWMgSVBD
OjpNZXNzYWdlU2VuZGVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaGlsZFByb2Nlc3Mp
OwogCiBwdWJsaWM6Ci0gICAgZW51bSBjbGFzcyBQcm9jZXNzVHlwZSA6IHVpbnQ4X3QgewotICAg
ICAgICBXZWJDb250ZW50LAotICAgICAgICBOZXR3b3JrLAotICAgICAgICBTdG9yYWdlLAotICAg
ICAgICBQbHVnaW4KLSAgICB9OwotCiAgICAgdm9pZCBpbml0aWFsaXplKGNvbnN0IENoaWxkUHJv
Y2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpOwogCiAgICAgLy8gZGlzYWJsZSBhbmQgZW5h
YmxlIHRlcm1pbmF0aW9uIG9mIHRoZSBwcm9jZXNzLiB3aGVuIGRpc2FibGVUZXJtaW5hdGlvbiBp
cyBjYWxsZWQsIHRoZQpAQCAtMTQ3LDE4ICsxNTAsNiBAQCBwcml2YXRlOgogI2VuZGlmCiB9Owog
Ci1zdHJ1Y3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzIHsKLSAgICBTdHJp
bmcgdWlQcm9jZXNzTmFtZTsKLSAgICBTdHJpbmcgY2xpZW50SWRlbnRpZmllcjsKLSAgICBzdGQ6
Om9wdGlvbmFsPFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyPiBwcm9jZXNzSWRlbnRpZmllcjsK
LSAgICBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50aWZpZXI7Ci0g
ICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gZXh0cmFJbml0aWFsaXphdGlvbkRhdGE7Ci0gICAg
Q2hpbGRQcm9jZXNzOjpQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZTsKLSNpZiBQTEFURk9STShDT0NP
QSkKLSAgICBPU09iamVjdFB0cjx4cGNfb2JqZWN0X3Q+IHByaW9yaXR5Qm9vc3RNZXNzYWdlOwot
I2VuZGlmCi19OwotCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIENoaWxkUHJv
Y2Vzc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0
aWVzL21hYy9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VFbnRyeVBvaW50LmggYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL21hYy9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VFbnRy
eVBvaW50LmgKaW5kZXggZjdjY2JlMmNjNDdlMjQ2NDk5MGI5ZTA2NmNiYTFmM2YwMzgzZDEwZi4u
NmEzYWM2MTUxODBkNGU0MjMzNmNhNTUwMjdjZmJlYTJjMWQ2MzBlYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9tYWMvWFBDU2VydmljZS9YUENT
ZXJ2aWNlRW50cnlQb2ludC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0VudHJ5UG9pbnRV
dGlsaXRpZXMvbWFjL1hQQ1NlcnZpY2UvWFBDU2VydmljZUVudHJ5UG9pbnQuaApAQCAtMTEyLDgg
KzExMiw2IEBAIHZvaWQgWFBDU2VydmljZUluaXRpYWxpemVyKE9TT2JqZWN0UHRyPHhwY19jb25u
ZWN0aW9uX3Q+IGNvbm5lY3Rpb24sIHhwY19vYmplY3RfCiAgICAgICAgIFRocmVhZDo6c2V0R2xv
YmFsTWF4UU9TQ2xhc3MoUU9TX0NMQVNTX1VUSUxJVFkpOwogI2VuZGlmCiAKLSAgICBwYXJhbWV0
ZXJzLnByb2Nlc3NUeXBlID0gWFBDU2VydmljZVR5cGU6OnByb2Nlc3NUeXBlOwotCiAgICAgWFBD
U2VydmljZVR5cGU6OnNpbmdsZXRvbigpLmluaXRpYWxpemUocGFyYW1ldGVycyk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1NhbmRib3hJbml0aWFsaXphdGlvblBhcmFt
ZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1NhbmRib3hJbml0aWFsaXphdGlvblBhcmFt
ZXRlcnMuaAppbmRleCBiOTMxMDk1MDEyYWMyZTM1YjlmYmUzZTdjM2YxMmU5MjZiNDE2NjYwLi5h
NjE5YjcwMDQyMzlkODI1NjE5MjU2YmM5MGJiNTZiOGRiMGFlMzQwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9TYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzLmgKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvU2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycy5oCkBA
IC01NCw3ICs1NCw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBjaGFyKiBuYW1lKHNpemVfdCBpbmRl
eCkgY29uc3Q7CiAgICAgY29uc3QgY2hhciogdmFsdWUoc2l6ZV90IGluZGV4KSBjb25zdDsKIAot
ICAgIGVudW0gY2xhc3MgUHJvZmlsZVNlbGVjdGlvbk1vZGUgOiB1aW50OF90IHsKKyAgICBlbnVt
IFByb2ZpbGVTZWxlY3Rpb25Nb2RlIHsKICAgICAgICAgVXNlRGVmYXVsdFNhbmRib3hQcm9maWxl
UGF0aCwKICAgICAgICAgVXNlT3ZlcnJpZGVTYW5kYm94UHJvZmlsZVBhdGgsCiAgICAgICAgIFVz
ZVNhbmRib3hQcm9maWxlCkBAIC02NCwyNSArNjQsMjUgQEAgcHVibGljOgogCiAgICAgdm9pZCBz
ZXRPdmVycmlkZVNhbmRib3hQcm9maWxlUGF0aChjb25zdCBTdHJpbmcmIHBhdGgpCiAgICAgewot
ICAgICAgICBtX3Byb2ZpbGVTZWxlY3Rpb25Nb2RlID0gUHJvZmlsZVNlbGVjdGlvbk1vZGU6OlVz
ZU92ZXJyaWRlU2FuZGJveFByb2ZpbGVQYXRoOworICAgICAgICBtX3Byb2ZpbGVTZWxlY3Rpb25N
b2RlID0gVXNlT3ZlcnJpZGVTYW5kYm94UHJvZmlsZVBhdGg7CiAgICAgICAgIG1fb3ZlcnJpZGVT
YW5kYm94UHJvZmlsZVBhdGhPclNhbmRib3hQcm9maWxlID0gcGF0aDsKICAgICB9CiAKICAgICBj
b25zdCBTdHJpbmcmIG92ZXJyaWRlU2FuZGJveFByb2ZpbGVQYXRoKCkgY29uc3QKICAgICB7Ci0g
ICAgICAgIEFTU0VSVChtX3Byb2ZpbGVTZWxlY3Rpb25Nb2RlID09IFByb2ZpbGVTZWxlY3Rpb25N
b2RlOjpVc2VPdmVycmlkZVNhbmRib3hQcm9maWxlUGF0aCk7CisgICAgICAgIEFTU0VSVChtX3By
b2ZpbGVTZWxlY3Rpb25Nb2RlID09IFVzZU92ZXJyaWRlU2FuZGJveFByb2ZpbGVQYXRoKTsKICAg
ICAgICAgcmV0dXJuIG1fb3ZlcnJpZGVTYW5kYm94UHJvZmlsZVBhdGhPclNhbmRib3hQcm9maWxl
OwogICAgIH0KIAogICAgIHZvaWQgc2V0U2FuZGJveFByb2ZpbGUoY29uc3QgU3RyaW5nJiBwcm9m
aWxlKQogICAgIHsKLSAgICAgICAgbV9wcm9maWxlU2VsZWN0aW9uTW9kZSA9IFByb2ZpbGVTZWxl
Y3Rpb25Nb2RlOjpVc2VTYW5kYm94UHJvZmlsZTsKKyAgICAgICAgbV9wcm9maWxlU2VsZWN0aW9u
TW9kZSA9IFVzZVNhbmRib3hQcm9maWxlOwogICAgICAgICBtX292ZXJyaWRlU2FuZGJveFByb2Zp
bGVQYXRoT3JTYW5kYm94UHJvZmlsZSA9IHByb2ZpbGU7CiAgICAgfQogCiAgICAgY29uc3QgU3Ry
aW5nJiBzYW5kYm94UHJvZmlsZSgpIGNvbnN0CiAgICAgewotICAgICAgICBBU1NFUlQobV9wcm9m
aWxlU2VsZWN0aW9uTW9kZSA9PSBQcm9maWxlU2VsZWN0aW9uTW9kZTo6VXNlU2FuZGJveFByb2Zp
bGUpOworICAgICAgICBBU1NFUlQobV9wcm9maWxlU2VsZWN0aW9uTW9kZSA9PSBVc2VTYW5kYm94
UHJvZmlsZSk7CiAgICAgICAgIHJldHVybiBtX292ZXJyaWRlU2FuZGJveFByb2ZpbGVQYXRoT3JT
YW5kYm94UHJvZmlsZTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L21hYy9DaGlsZFByb2Nlc3NNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvQ2hpbGRQ
cm9jZXNzTWFjLm1tCmluZGV4IDdkYmVkN2EyMDc5MmE0MzVkYmZhMWE4YThmMjlkYTAzZGEzMDc3
NTYuLjg4NjM2YThkMjYzNDA1MzJkNGUxNmZkZTNiZGZmNDFiZjFlMGQ1NjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9DaGlsZFByb2Nlc3NNYWMubW0KKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvbWFjL0NoaWxkUHJvY2Vzc01hYy5tbQpAQCAtMzEsMzggKzMxLDIwIEBA
CiAjaW1wb3J0ICJDb2RlU2lnbmluZy5oIgogI2ltcG9ydCAiUXVhcmFudGluZVNQSS5oIgogI2lt
cG9ydCAiU2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycy5oIgotI2ltcG9ydCAiU2FuZGJv
eFV0aWxpdGllcy5oIgogI2ltcG9ydCAiV0tGb3VuZGF0aW9uLmgiCiAjaW1wb3J0ICJYUENTZXJ2
aWNlRW50cnlQb2ludC5oIgotI2ltcG9ydCA8V2ViQ29yZS9GaWxlSGFuZGxlLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPFdlYkNvcmUvU3lzdGVtVmVyc2lvbi5o
PgotI2ltcG9ydCA8bWFjaC1vL2R5bGQuaD4KICNpbXBvcnQgPG1hY2gvbWFjaC5oPgogI2ltcG9y
dCA8bWFjaC90YXNrLmg+Ci0jaW1wb3J0IDxwYWwvY3J5cHRvL0NyeXB0b0RpZ2VzdC5oPgogI2lt
cG9ydCA8cHdkLmg+CiAjaW1wb3J0IDxzdGRsaWIuaD4KLSNpbXBvcnQgPHN5cy9zeXNjdGwuaD4K
ICNpbXBvcnQgPHN5c2V4aXRzLmg+Ci0jaW1wb3J0IDx3dGYvRGF0YUxvZy5oPgotI2ltcG9ydCA8
d3RmL1JhbmRvbU51bWJlci5oPgogI2ltcG9ydCA8d3RmL1Njb3BlLmg+Ci0jaW1wb3J0IDx3dGYv
U3lzdGVtVHJhY2luZy5oPgotI2ltcG9ydCA8d3RmL1dhbGxUaW1lLmg+CiAjaW1wb3J0IDx3dGYv
c3BpL2Rhcndpbi9TYW5kYm94U1BJLmg+Ci0jaW1wb3J0IDx3dGYvdGV4dC9CYXNlNjQuaD4KLSNp
bXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAogI2lmIFVTRShBUFBMRV9JTlRFUk5B
TF9TREspCi0jaW1wb3J0IDxISVNlcnZpY2VzL1Byb2Nlc3Nlc1ByaXYuaD4KLSNpbXBvcnQgPHJv
b3RsZXNzLmg+Ci0jZW5kaWYKLQotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDAKLSNkZWZpbmUgVVNFX0NBQ0hFX0NPTVBJTEVEX1NB
TkRCT1ggMQotI2Vsc2UKLSNkZWZpbmUgVVNFX0NBQ0hFX0NPTVBJTEVEX1NBTkRCT1ggMAorI2lu
Y2x1ZGUgPEhJU2VydmljZXMvUHJvY2Vzc2VzUHJpdi5oPgogI2VuZGlmCiAKIHR5cGVkZWYgYm9v
bCAoXkxTU2VydmVyQ29ubmVjdGlvbkFsbG93ZWRCbG9jaykgKCBDRkRpY3Rpb25hcnlSZWYgb3B0
aW9uc1JlZiApOwpAQCAtNzUsNjYgKzU3LDYgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCi0jaWYgVVNFKENBQ0hFX0NPTVBJTEVEX1NBTkRCT1gpCi11
c2luZyBTYW5kYm94UHJvZmlsZSA9IHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3BvaW50ZXI8c2FuZGJv
eF9wcm9maWxlX3Q+Ojp0eXBlOwotc3RydWN0IFNhbmRib3hQcm9maWxlRGVsZXRlciB7Ci0gICAg
dm9pZCBvcGVyYXRvcigpKFNhbmRib3hQcm9maWxlKiBwdHIpCi0gICAgewotICAgICAgICBzYW5k
Ym94X2ZyZWVfcHJvZmlsZShwdHIpOwotICAgIH0KLX07Ci11c2luZyBTYW5kYm94UHJvZmlsZVB0
ciA9IHN0ZDo6dW5pcXVlX3B0cjxTYW5kYm94UHJvZmlsZSwgU2FuZGJveFByb2ZpbGVEZWxldGVy
PjsKLQotdXNpbmcgU2FuZGJveFBhcmFtZXRlcnMgPSB0eXBlbmFtZSBzdGQ6OnJlbW92ZV9wb2lu
dGVyPHNhbmRib3hfcGFyYW1zX3Q+Ojp0eXBlOwotc3RydWN0IFNhbmRib3hQYXJhbWV0ZXJzRGVs
ZXRlciB7Ci0gICAgdm9pZCBvcGVyYXRvcigpKFNhbmRib3hQYXJhbWV0ZXJzKiBwdHIpCi0gICAg
ewotICAgICAgICBzYW5kYm94X2ZyZWVfcGFyYW1zKHB0cik7Ci0gICAgfQotfTsKLXVzaW5nIFNh
bmRib3hQYXJhbWV0ZXJzUHRyID0gc3RkOjp1bmlxdWVfcHRyPFNhbmRib3hQYXJhbWV0ZXJzLCBT
YW5kYm94UGFyYW1ldGVyc0RlbGV0ZXI+OwotCi1zdHJ1Y3QgQ2FjaGVkU2FuZGJveEhlYWRlciB7
Ci0gICAgdWludDMyX3QgdmVyc2lvbk51bWJlcjsKLSAgICB1aW50MzJfdCBsaWJzYW5kYm94VmVy
c2lvbjsKLSAgICB1aW50MzJfdCBoZWFkZXJTaXplOwotICAgIHVpbnQzMl90IGJ1aWx0aW5TaXpl
OyAvLyBJZiBhIGJ1aWx0aW4gZG9lc24ndCBleGlzdCwgdGhpcyBpcyBVSU5UX01BWC4KLSAgICB1
aW50MzJfdCBkYXRhU2l6ZTsKLX07Ci0vLyBUaGUgZmlsZSBpcyBsYXllZCBvdXQgb24gZGlzayBs
aWtlOgotLy8gYnl0ZSAwCi0vLyBDYWNoZWRTYW5kYm94SGVhZGVyIDwtIHNpemVvZihDYWNoZWRT
YW5kYm94SGVhZGVyKSBieXRlcwotLy8gU2FuZGJveEhlYWRlciA8LSBDYWNoZWRTYW5kYm94SGVh
ZGVyOjpoZWFkZXJTaXplIGJ5dGVzCi0vLyBbU2FuZGJveEJ1aWx0aW5dIG9wdGlvbmFsLiBQcmVz
ZW50IGlmIENhY2hlZFNhbmRib3hIZWFkZXI6OmJ1aWx0aW5TaXplIGlzIG5vdCBVSU5UX01BWC4g
SWYgcHJlc2VudCwgYnVpbHRpblNpemUgYnl0ZXMgKG5vdCBpbmNsdWRpbmcgbnVsbCB0ZXJtaW5h
dGlvbikuCi0vLyBTYW5kYm94RGF0YSA8LSBDYWNoZWRTYW5kYm94SGVhZGVyOjpkYXRhU2l6ZSBi
eXRlcwotLy8gYnl0ZSBOCi0KLXN0cnVjdCBTYW5kYm94SW5mbyB7Ci0gICAgU2FuZGJveEluZm8o
Y29uc3QgU3RyaW5nJiBwYXJlbnREaXJlY3RvcnlQYXRoLCBjb25zdCBTdHJpbmcmIGRpcmVjdG9y
eVBhdGgsIGNvbnN0IFN0cmluZyYgZmlsZVBhdGgsIGNvbnN0IFN0cmluZyYgcHJvZmlsZVBhdGgs
IGNvbnN0IFNhbmRib3hQYXJhbWV0ZXJzUHRyJiBzYW5kYm94UGFyYW1ldGVycywgY29uc3QgQ1N0
cmluZyYgaGVhZGVyLCBjb25zdCBDaGlsZFByb2Nlc3M6OlByb2Nlc3NUeXBlJiBwcm9jZXNzVHlw
ZSwgY29uc3QgU2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycyYgaW5pdGlhbGl6YXRpb25Q
YXJhbWV0ZXJzKQotICAgICAgICA6IHBhcmVudERpcmVjdG9yeVBhdGggeyBwYXJlbnREaXJlY3Rv
cnlQYXRoIH0KLSAgICAgICAgLCBkaXJlY3RvcnlQYXRoIHsgZGlyZWN0b3J5UGF0aCB9Ci0gICAg
ICAgICwgZmlsZVBhdGggeyBmaWxlUGF0aCB9Ci0gICAgICAgICwgcHJvZmlsZVBhdGggeyBwcm9m
aWxlUGF0aCB9Ci0gICAgICAgICwgc2FuZGJveFBhcmFtZXRlcnMgeyBzYW5kYm94UGFyYW1ldGVy
cyB9Ci0gICAgICAgICwgaGVhZGVyIHsgaGVhZGVyIH0KLSAgICAgICAgLCBwcm9jZXNzVHlwZSB7
IHByb2Nlc3NUeXBlIH0KLSAgICAgICAgLCBpbml0aWFsaXphdGlvblBhcmFtZXRlcnMgeyBpbml0
aWFsaXphdGlvblBhcmFtZXRlcnMgfQotICAgIHsKLSAgICB9Ci0KLSAgICBjb25zdCBTdHJpbmcm
IHBhcmVudERpcmVjdG9yeVBhdGg7Ci0gICAgY29uc3QgU3RyaW5nJiBkaXJlY3RvcnlQYXRoOwot
ICAgIGNvbnN0IFN0cmluZyYgZmlsZVBhdGg7Ci0gICAgY29uc3QgU3RyaW5nJiBwcm9maWxlUGF0
aDsKLSAgICBjb25zdCBTYW5kYm94UGFyYW1ldGVyc1B0ciYgc2FuZGJveFBhcmFtZXRlcnM7Ci0g
ICAgY29uc3QgQ1N0cmluZyYgaGVhZGVyOwotICAgIGNvbnN0IENoaWxkUHJvY2Vzczo6UHJvY2Vz
c1R5cGUmIHByb2Nlc3NUeXBlOwotICAgIGNvbnN0IFNhbmRib3hJbml0aWFsaXphdGlvblBhcmFt
ZXRlcnMmIGluaXRpYWxpemF0aW9uUGFyYW1ldGVyczsKLX07Ci0KLWNvbnN0ZXhwciB1aW50MzJf
dCBDYWNoZWRTYW5kYm94VmVyc2lvbk51bWJlciA9IDA7Ci0jZW5kaWYgLy8gVVNFKENBQ0hFX0NP
TVBJTEVEX1NBTkRCT1gpCi0KIHN0YXRpYyB2b2lkIGluaXRpYWxpemVUaW1lckNvYWxlc2NpbmdQ
b2xpY3koKQogewogICAgIC8vIFNldCB0YXNrX2xhdGVuY3kgYW5kIHRhc2tfdGhyb3VnaHB1dCBR
T1MgdGllcnMgYXMgYXBwcm9wcmlhdGUgZm9yIGEgdmlzaWJsZSBhcHBsaWNhdGlvbi4KQEAgLTE5
MCw0MDcgKzExMiwxNSBAQCBzdGF0aWMgT1NTdGF0dXMgZW5hYmxlU2FuZGJveFN0eWxlRmlsZVF1
YXJhbnRpbmUoKQogI2VuZGlmCiB9CiAKLSNpZiBVU0UoQ0FDSEVfQ09NUElMRURfU0FOREJPWCkK
LXN0YXRpYyBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxjaGFyPj4gZmlsZUNvbnRlbnRzKGNvbnN0IFN0
cmluZyYgcGF0aCwgYm9vbCBzaG91bGRMb2NrID0gZmFsc2UsIE9wdGlvblNldDxGaWxlU3lzdGVt
OjpGaWxlTG9ja01vZGU+IGxvY2tNb2RlID0gRmlsZVN5c3RlbTo6RmlsZUxvY2tNb2RlOjpFeGNs
dXNpdmUpCi17Ci0gICAgRmlsZUhhbmRsZSBmaWxlID0gc2hvdWxkTG9jayA/IEZpbGVIYW5kbGUo
cGF0aCwgRmlsZVN5c3RlbTo6RmlsZU9wZW5Nb2RlOjpSZWFkLCBsb2NrTW9kZSkgOiBGaWxlSGFu
ZGxlKHBhdGgsIEZpbGVTeXN0ZW06OkZpbGVPcGVuTW9kZTo6UmVhZCk7Ci0gICAgZmlsZS5vcGVu
KCk7Ci0gICAgaWYgKCFmaWxlKQotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotCi0gICAg
Y2hhciBjaHVua1s0MDk2XTsKLSAgICBjb25zdGV4cHIgc2l6ZV90IGNodW5rU2l6ZSA9IFdURl9B
UlJBWV9MRU5HVEgoY2h1bmspOwotICAgIHNpemVfdCBjb250ZW50U2l6ZSA9IDA7Ci0gICAgVmVj
dG9yPGNoYXI+IGNvbnRlbnRzOwotICAgIGNvbnRlbnRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHko
Y2h1bmtTaXplKTsKLSAgICB3aGlsZSAoc2l6ZV90IGJ5dGVzUmVhZCA9IGZpbGUucmVhZChjaHVu
aywgY2h1bmtTaXplKSkgewotICAgICAgICBjb250ZW50cy5hcHBlbmQoY2h1bmssIGJ5dGVzUmVh
ZCk7Ci0gICAgICAgIGNvbnRlbnRTaXplICs9IGJ5dGVzUmVhZDsKLSAgICB9Ci0gICAgY29udGVu
dHMucmVzaXplKGNvbnRlbnRTaXplKTsKLQotICAgIHJldHVybiBjb250ZW50czsKLX0KLQotI2lm
IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0vLyBUaGVzZSBzdHJpbmdzIG11c3QgbWF0Y2ggdGhl
IGxhc3Qgc2VnbWVudCBvZiB0aGUgImNvbS5hcHBsZS5yb290bGVzcy5zdG9yYWdlLjx0aGlzIHBh
cnQgbXVzdCBtYXRjaD4iIGVudHJ5IGluIGVhY2gKLS8vIHByb2Nlc3MncyByZXN0cmljdGVkIGVu
dGl0bGVtZW50cyBmaWxlIChleC4gQ29uZmlndXJhdGlvbnMvTmV0d29ya2luZy1PU1gtcmVzdHJp
Y3RlZC5lbnRpdGxlbWVudHMpLgotY29uc3RleHByIGNvbnN0IGNoYXIqIHByb2Nlc3NTdG9yYWdl
Q2xhc3MoQ2hpbGRQcm9jZXNzOjpQcm9jZXNzVHlwZSB0eXBlKQotewotICAgIHN3aXRjaCAodHlw
ZSkgewotICAgIGNhc2UgQ2hpbGRQcm9jZXNzOjpQcm9jZXNzVHlwZTo6V2ViQ29udGVudDoKLSAg
ICAgICAgcmV0dXJuICJXZWJLaXRXZWJDb250ZW50U2FuZGJveCI7Ci0gICAgY2FzZSBDaGlsZFBy
b2Nlc3M6OlByb2Nlc3NUeXBlOjpOZXR3b3JrOgotICAgICAgICByZXR1cm4gIldlYktpdE5ldHdv
cmtpbmdTYW5kYm94IjsKLSAgICBjYXNlIENoaWxkUHJvY2Vzczo6UHJvY2Vzc1R5cGU6OlN0b3Jh
Z2U6Ci0gICAgICAgIHJldHVybiAiV2ViS2l0U3RvcmFnZVNhbmRib3giOwotICAgIGNhc2UgQ2hp
bGRQcm9jZXNzOjpQcm9jZXNzVHlwZTo6UGx1Z2luOgotICAgICAgICByZXR1cm4gIldlYktpdFBs
dWdpblNhbmRib3giOwotICAgIH0KLX0KLSNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RL
KQotCi1zdGF0aWMgc3RkOjpvcHRpb25hbDxDU3RyaW5nPiBzZXRBbmRTZXJpYWxpemVTYW5kYm94
UGFyYW1ldGVycyhjb25zdCBTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBpbml0aWFs
aXphdGlvblBhcmFtZXRlcnMsIGNvbnN0IFNhbmRib3hQYXJhbWV0ZXJzUHRyJiBzYW5kYm94UGFy
YW1ldGVycywgY29uc3QgU3RyaW5nJiBwcm9maWxlUGF0aCkKLXsKLSAgICBTdHJpbmdCdWlsZGVy
IGJ1aWxkZXI7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBpbml0aWFsaXphdGlvblBhcmFt
ZXRlcnMuY291bnQoKTsgKytpKSB7Ci0gICAgICAgIGNvbnN0IGNoYXIqIG5hbWUgPSBpbml0aWFs
aXphdGlvblBhcmFtZXRlcnMubmFtZShpKTsKLSAgICAgICAgY29uc3QgY2hhciogdmFsdWUgPSBp
bml0aWFsaXphdGlvblBhcmFtZXRlcnMudmFsdWUoaSk7Ci0gICAgICAgIGlmIChzYW5kYm94X3Nl
dF9wYXJhbShzYW5kYm94UGFyYW1ldGVycy5nZXQoKSwgbmFtZSwgdmFsdWUpKSB7Ci0gICAgICAg
ICAgICBXVEZMb2dBbHdheXMoIiVzOiBDb3VsZCBub3Qgc2V0IHNhbmRib3ggcGFyYW1ldGVyOiAl
c1xuIiwgZ2V0cHJvZ25hbWUoKSwgc3RyZXJyb3IoZXJybm8pKTsKLSAgICAgICAgICAgIENSQVNI
KCk7Ci0gICAgICAgIH0KLSAgICAgICAgYnVpbGRlci5hcHBlbmQobmFtZSwgc3RybGVuKG5hbWUp
KTsKLSAgICAgICAgYnVpbGRlci5hcHBlbmQoJzonKTsKLSAgICAgICAgYnVpbGRlci5hcHBlbmQo
dmFsdWUsIHN0cmxlbih2YWx1ZSkpOwotICAgICAgICBidWlsZGVyLmFwcGVuZCgnOicpOwotICAg
IH0KLSAgICBhdXRvIGNvbnRlbnRzID0gZmlsZUNvbnRlbnRzKHByb2ZpbGVQYXRoKTsKLSAgICBp
ZiAoIWNvbnRlbnRzKQotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgIGJ1aWxkZXIu
YXBwZW5kKGNvbnRlbnRzLT5kYXRhKCksIGNvbnRlbnRzLT5zaXplKCkpOwotICAgIHJldHVybiBi
dWlsZGVyLnRvU3RyaW5nKCkuYXNjaWkoKTsKLX0KLQotc3RhdGljIFN0cmluZyBzYW5kYm94RGF0
YVZhdWx0UGFyZW50RGlyZWN0b3J5KCkKLXsKLSAgICBjaGFyIHRlbXBbUEFUSF9NQVhdOwotICAg
IHNpemVfdCBsZW5ndGggPSBjb25mc3RyKF9DU19EQVJXSU5fVVNFUl9DQUNIRV9ESVIsIHRlbXAs
IHNpemVvZih0ZW1wKSk7Ci0gICAgaWYgKCFsZW5ndGgpIHsKLSAgICAgICAgV1RGTG9nQWx3YXlz
KCIlczogQ291bGQgbm90IHJldHJpZXZlIHVzZXIgY2FjaGUgZGlyZWN0b3J5IHBhdGg6ICVzXG4i
LCBnZXRwcm9nbmFtZSgpLCBzdHJlcnJvcihlcnJubykpOwotICAgICAgICBleGl0KEVYX05PUEVS
TSk7Ci0gICAgfQotICAgIFJFTEVBU0VfQVNTRVJUKGxlbmd0aCA8PSBzaXplb2YodGVtcCkpOwot
ICAgIGNoYXIgcmVzb2x2ZWRQYXRoW1BBVEhfTUFYXTsKLSAgICBpZiAoIXJlYWxwYXRoKHRlbXAs
IHJlc29sdmVkUGF0aCkpIHsKLSAgICAgICAgV1RGTG9nQWx3YXlzKCIlczogQ291bGQgbm90IGNh
bm9uaWNhbGl6ZSB1c2VyIGNhY2hlIGRpcmVjdG9yeSBwYXRoOiAlc1xuIiwgZ2V0cHJvZ25hbWUo
KSwgc3RyZXJyb3IoZXJybm8pKTsKLSAgICAgICAgZXhpdChFWF9OT1BFUk0pOwotICAgIH0KLSAg
ICByZXR1cm4gcmVzb2x2ZWRQYXRoOwotfQotCi1zdGF0aWMgU3RyaW5nIHNhbmRib3hEaXJlY3Rv
cnkoQ2hpbGRQcm9jZXNzOjpQcm9jZXNzVHlwZSBwcm9jZXNzVHlwZSwgY29uc3QgU3RyaW5nJiBw
YXJlbnREaXJlY3RvcnkpCi17Ci0gICAgU3RyaW5nQnVpbGRlciBkaXJlY3Rvcnk7Ci0gICAgZGly
ZWN0b3J5LmFwcGVuZChwYXJlbnREaXJlY3RvcnkpOwotICAgIHN3aXRjaCAocHJvY2Vzc1R5cGUp
IHsKLSAgICBjYXNlIENoaWxkUHJvY2Vzczo6UHJvY2Vzc1R5cGU6OldlYkNvbnRlbnQ6Ci0gICAg
ICAgIGRpcmVjdG9yeS5hcHBlbmQoIi9jb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQuU2FuZGJv
eCIpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIENoaWxkUHJvY2Vzczo6UHJvY2Vzc1R5cGU6
Ok5ldHdvcms6Ci0gICAgICAgIGRpcmVjdG9yeS5hcHBlbmQoIi9jb20uYXBwbGUuV2ViS2l0Lk5l
dHdvcmtpbmcuU2FuZGJveCIpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIENoaWxkUHJvY2Vz
czo6UHJvY2Vzc1R5cGU6OlN0b3JhZ2U6Ci0gICAgICAgIGRpcmVjdG9yeS5hcHBlbmQoIi9jb20u
YXBwbGUuV2ViS2l0LlN0b3JhZ2UuU2FuZGJveCIpOwotICAgICAgICBicmVhazsKLSAgICBjYXNl
IENoaWxkUHJvY2Vzczo6UHJvY2Vzc1R5cGU6OlBsdWdpbjoKLSAgICAgICAgZGlyZWN0b3J5LmFw
cGVuZCgiL2NvbS5hcHBsZS5XZWJLaXQuUGx1Z2luLlNhbmRib3giKTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgfQotCi0jaWYgIVVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0gICAgLy8gQWRkIC5PcGVu
U291cmNlIHN1ZmZpeCBzbyB0aGF0IG9wZW4gc291cmNlIGJ1aWxkcyBkb24ndCB0cnkgdG8gYWNj
ZXNzIGEgZGF0YSB2YXVsdCB1c2VkIGJ5IHN5c3RlbSBTYWZhcmkuCi0gICAgZGlyZWN0b3J5LmFw
cGVuZCgiLk9wZW5Tb3VyY2UiKTsKLSNlbmRpZgotCi0gICAgcmV0dXJuIGRpcmVjdG9yeS50b1N0
cmluZygpOwotfQotCi1zdGF0aWMgU3RyaW5nIHNhbmRib3hGaWxlUGF0aChjb25zdCBTdHJpbmcm
IGRpcmVjdG9yeVBhdGgsIGNvbnN0IENTdHJpbmcmIGhlYWRlcikKLXsKLSAgICBTdHJpbmdCdWls
ZGVyIHNhbmRib3hGaWxlOwotICAgIHNhbmRib3hGaWxlLmFwcGVuZChkaXJlY3RvcnlQYXRoKTsK
LSAgICBzYW5kYm94RmlsZS5hcHBlbmQoIi9Db21waWxlZFNhbmRib3grIik7Ci0KLSAgICAvLyBN
YWtlIHRoZSBmaWxlbmFtZSBzZW1pLXVuaXF1ZSBiYXNlZCBvbiB0aGUgY29udGVudHMgb2YgdGhl
IGhlYWRlci4KLSAgICBhdXRvIGNyeXB0byA9IFBBTDo6Q3J5cHRvRGlnZXN0OjpjcmVhdGUoUEFM
OjpDcnlwdG9EaWdlc3Q6OkFsZ29yaXRobTo6U0hBXzI1Nik7Ci0gICAgY3J5cHRvLT5hZGRCeXRl
cyhoZWFkZXIuZGF0YSgpLCBoZWFkZXIubGVuZ3RoKCkpOwotICAgIFZlY3Rvcjx1aW50OF90PiBo
YXNoID0gY3J5cHRvLT5jb21wdXRlSGFzaCgpOwotICAgIFN0cmluZyByZWFkYWJsZUhhc2ggPSBX
VEY6OmJhc2U2NFVSTEVuY29kZShoYXNoLmRhdGEoKSwgaGFzaC5zaXplKCkpOwotCi0gICAgc2Fu
ZGJveEZpbGUuYXBwZW5kKHJlYWRhYmxlSGFzaCk7Ci0gICAgcmV0dXJuIHNhbmRib3hGaWxlLnRv
U3RyaW5nKCk7Ci19Ci0KLXN0YXRpYyBib29sIGVuc3VyZVNhbmRib3hDYWNoZURpcmVjdG9yeShj
b25zdCBTYW5kYm94SW5mbyYgaW5mbykKLXsKLSAgICBpZiAoIUZpbGVTeXN0ZW06OmZpbGVJc0Rp
cmVjdG9yeShpbmZvLnBhcmVudERpcmVjdG9yeVBhdGgsIEZpbGVTeXN0ZW06OlNob3VsZEZvbGxv
d1N5bWJvbGljTGlua3M6OlllcykpIHsKLSAgICAgICAgRmlsZVN5c3RlbTo6bWFrZUFsbERpcmVj
dG9yaWVzKGluZm8ucGFyZW50RGlyZWN0b3J5UGF0aCk7Ci0gICAgICAgIGlmICghRmlsZVN5c3Rl
bTo6ZmlsZUlzRGlyZWN0b3J5KGluZm8ucGFyZW50RGlyZWN0b3J5UGF0aCwgRmlsZVN5c3RlbTo6
U2hvdWxkRm9sbG93U3ltYm9saWNMaW5rczo6WWVzKSkgewotICAgICAgICAgICAgV1RGTG9nQWx3
YXlzKCIlczogQ291bGQgbm90IGNyZWF0ZSBzYW5kYm94IGRpcmVjdG9yeVxuIiwgZ2V0cHJvZ25h
bWUoKSk7Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSNp
ZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotICAgIGNvbnN0IGNoYXIqIHN0b3JhZ2VDbGFzcyA9
IHByb2Nlc3NTdG9yYWdlQ2xhc3MoaW5mby5wcm9jZXNzVHlwZSk7Ci0gICAgQ1N0cmluZyBkaXJl
Y3RvcnlQYXRoID0gRmlsZVN5c3RlbTo6ZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKGluZm8uZGly
ZWN0b3J5UGF0aCk7Ci0gICAgaWYgKGRpcmVjdG9yeVBhdGguaXNOdWxsKCkpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLQotICAgIGF1dG8gbWFrZURhdGFWYXVsdCA9IFsmXSB7Ci0gICAgICAgIGRv
IHsKLSAgICAgICAgICAgIGlmICghcm9vdGxlc3NfbWtkaXJfZGF0YXZhdWx0KGRpcmVjdG9yeVBh
dGguZGF0YSgpLCAwNzAwLCBzdG9yYWdlQ2xhc3MpKQotICAgICAgICAgICAgICAgIHJldHVybiB0
cnVlOwotICAgICAgICB9IHdoaWxlIChlcnJubyA9PSBFQUdBSU4pOwotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgfTsKLQotICAgIGlmIChtYWtlRGF0YVZhdWx0KCkpCi0gICAgICAgIHJldHVy
biB0cnVlOwotCi0gICAgaWYgKGVycm5vID09IEVFWElTVCkgewotICAgICAgICAvLyBUaGUgZGly
ZWN0b3J5IGFscmVhZHkgZXhpc3RzLiBGaXJzdCB3ZSdsbCBjaGVjayBpZiBpdCBpcyBhIGRhdGEg
dmF1bHQuIElmIGl0IGlzIHRoZW4KLSAgICAgICAgLy8gd2UgYXJlIHRoZSBvbmVzIHdobyBjcmVh
dGVkIGl0IGFuZCB3ZSBjYW4gY29udGludWUuIElmIGl0IGlzIG5vdCBhIGRhdGF2YXVsdCB0aGVu
IHdlJ2xsIGp1c3QKLSAgICAgICAgLy8gZGVsZXRlIGl0IGFuZCB0cnkgdG8gbWFrZSBhIG5ldyBv
bmUuCi0gICAgICAgIGlmICghcm9vdGxlc3NfY2hlY2tfZGF0YXZhdWx0X2ZsYWcoZGlyZWN0b3J5
UGF0aC5kYXRhKCksIHN0b3JhZ2VDbGFzcykpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLQot
ICAgICAgICBib29sIGlzRGlyZWN0b3J5ID0gRmlsZVN5c3RlbTo6ZmlsZUlzRGlyZWN0b3J5KGlu
Zm8uZGlyZWN0b3J5UGF0aCwgRmlsZVN5c3RlbTo6U2hvdWxkRm9sbG93U3ltYm9saWNMaW5rczo6
Tm8pOwotICAgICAgICBpZiAoaXNEaXJlY3RvcnkpIHsKLSAgICAgICAgICAgIGlmICghRmlsZVN5
c3RlbTo6ZGVsZXRlTm9uRW1wdHlEaXJlY3RvcnkoaW5mby5kaXJlY3RvcnlQYXRoKSkKLSAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBp
ZiAoIUZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUoaW5mby5kaXJlY3RvcnlQYXRoKSkKLSAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoIW1ha2VEYXRh
VmF1bHQoKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9IGVsc2UgewotICAgICAg
ICBXVEZMb2dBbHdheXMoIiVzOiBTYW5kYm94IGRpcmVjdG9yeSBjb3VsZG4ndCBiZSBjcmVhdGVk
OiAiLCBnZXRwcm9nbmFtZSgpLCBzdHJlcnJvcihlcnJubykpOwotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgfQotI2Vsc2UKLSAgICBib29sIGhhc1NhbmRib3hEaXJlY3RvcnkgPSBGaWxlU3lz
dGVtOjpmaWxlSXNEaXJlY3RvcnkoaW5mby5kaXJlY3RvcnlQYXRoLCBGaWxlU3lzdGVtOjpTaG91
bGRGb2xsb3dTeW1ib2xpY0xpbmtzOjpZZXMpOwotICAgIGlmICghaGFzU2FuZGJveERpcmVjdG9y
eSkgewotICAgICAgICBpZiAoRmlsZVN5c3RlbTo6bWFrZUFsbERpcmVjdG9yaWVzKGluZm8uZGly
ZWN0b3J5UGF0aCkpIHsKLSAgICAgICAgICAgIEFTU0VSVChGaWxlU3lzdGVtOjpmaWxlSXNEaXJl
Y3RvcnkoaW5mby5kaXJlY3RvcnlQYXRoLCBGaWxlU3lzdGVtOjpTaG91bGRGb2xsb3dTeW1ib2xp
Y0xpbmtzOjpZZXMpKTsKLSAgICAgICAgICAgIGhhc1NhbmRib3hEaXJlY3RvcnkgPSB0cnVlOwot
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gV2UgbWF5IGhhdmUgcmFjZWQgd2l0aCBz
b21lb25lIGVsc2UgbWFraW5nIGl0LiBUaGF0J3Mgb2suCi0gICAgICAgICAgICBoYXNTYW5kYm94
RGlyZWN0b3J5ID0gRmlsZVN5c3RlbTo6ZmlsZUlzRGlyZWN0b3J5KGluZm8uZGlyZWN0b3J5UGF0
aCwgRmlsZVN5c3RlbTo6U2hvdWxkRm9sbG93U3ltYm9saWNMaW5rczo6WWVzKTsKLSAgICAgICAg
fQotICAgIH0KLQotICAgIGlmICghaGFzU2FuZGJveERpcmVjdG9yeSkgewotICAgICAgICAvLyBC
YWlsaW5nIGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSBhIHNhbmRib3ggZGlyZWN0b3J5LgotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgfQotI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREsp
Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotc3RhdGljIGJvb2wgd3JpdGVTYW5kYm94RGF0YVRv
Q2FjaGVGaWxlKGNvbnN0IFNhbmRib3hJbmZvJiBpbmZvLCBjb25zdCBWZWN0b3I8Y2hhcj4mIGNh
Y2hlRmlsZSkKLXsKLSAgICBGaWxlSGFuZGxlIGZpbGUgeyBpbmZvLmZpbGVQYXRoLCBGaWxlU3lz
dGVtOjpGaWxlT3Blbk1vZGU6OldyaXRlLCBGaWxlU3lzdGVtOjpGaWxlTG9ja01vZGU6OkV4Y2x1
c2l2ZSB9OwotICAgIHJldHVybiBmaWxlLndyaXRlKGNhY2hlRmlsZS5kYXRhKCksIGNhY2hlRmls
ZS5zaXplKCkpID09IHNhZmVDYXN0PGludD4oY2FjaGVGaWxlLnNpemUoKSk7Ci19Ci0KLXN0YXRp
YyBTYW5kYm94UHJvZmlsZVB0ciBjb21waWxlQW5kQ2FjaGVTYW5kYm94UHJvZmlsZShjb25zdCBT
YW5kYm94SW5mbyYgaW5mbykKLXsKLSAgICBpZiAoIWVuc3VyZVNhbmRib3hDYWNoZURpcmVjdG9y
eShpbmZvKSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBjaGFyKiBlcnJvciA9IG51
bGxwdHI7Ci0gICAgQ1N0cmluZyBwcm9maWxlUGF0aCA9IEZpbGVTeXN0ZW06OmZpbGVTeXN0ZW1S
ZXByZXNlbnRhdGlvbihpbmZvLnByb2ZpbGVQYXRoKTsKLSAgICBpZiAocHJvZmlsZVBhdGguaXNO
dWxsKCkpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotICAgIFNhbmRib3hQcm9maWxlUHRyIHNh
bmRib3hQcm9maWxlIHsgc2FuZGJveF9jb21waWxlX2ZpbGUocHJvZmlsZVBhdGguZGF0YSgpLCBp
bmZvLnNhbmRib3hQYXJhbWV0ZXJzLmdldCgpLCAmZXJyb3IpIH07Ci0gICAgaWYgKCFzYW5kYm94
UHJvZmlsZSkgewotICAgICAgICBXVEZMb2dBbHdheXMoIiVzOiBDb3VsZCBub3QgY29tcGlsZSBX
ZWJDb250ZW50IHNhbmRib3g6ICVzXG4iLCBnZXRwcm9nbmFtZSgpLCBlcnJvcik7Ci0gICAgICAg
IHJldHVybiBudWxscHRyOwotICAgIH0KLQotICAgIGNvbnN0IGJvb2wgaGF2ZUJ1aWx0aW4gPSBz
YW5kYm94UHJvZmlsZS0+YnVpbHRpbjsKLSAgICBpbnQzMl90IGxpYnNhbmRib3hWZXJzaW9uID0g
TlNWZXJzaW9uT2ZSdW5UaW1lTGlicmFyeSgic2FuZGJveCIpOwotICAgIFJFTEVBU0VfQVNTRVJU
KGxpYnNhbmRib3hWZXJzaW9uID4gMCk7Ci0gICAgQ2FjaGVkU2FuZGJveEhlYWRlciBjYWNoZWRI
ZWFkZXIgewotICAgICAgICBDYWNoZWRTYW5kYm94VmVyc2lvbk51bWJlciwKLSAgICAgICAgc3Rh
dGljX2Nhc3Q8dWludDMyX3Q+KGxpYnNhbmRib3hWZXJzaW9uKSwKLSAgICAgICAgc2FmZUNhc3Q8
dWludDMyX3Q+KGluZm8uaGVhZGVyLmxlbmd0aCgpKSwKLSAgICAgICAgaGF2ZUJ1aWx0aW4gPyBz
YWZlQ2FzdDx1aW50MzJfdD4oc3RybGVuKHNhbmRib3hQcm9maWxlLT5idWlsdGluKSkgOiBzdGQ6
Om51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6bWF4KCksCi0gICAgICAgIHNhZmVDYXN0PHVpbnQz
Ml90PihzYW5kYm94UHJvZmlsZS0+c2l6ZSkKLSAgICB9OwotICAgIGNvbnN0IHNpemVfdCBleHBl
Y3RlZEZpbGVTaXplID0gc2l6ZW9mKGNhY2hlZEhlYWRlcikgKyBjYWNoZWRIZWFkZXIuaGVhZGVy
U2l6ZSArIChoYXZlQnVpbHRpbiA/IGNhY2hlZEhlYWRlci5idWlsdGluU2l6ZSA6IDApICsgY2Fj
aGVkSGVhZGVyLmRhdGFTaXplOwotCi0gICAgVmVjdG9yPGNoYXI+IGNhY2hlRmlsZTsKLSAgICBj
YWNoZUZpbGUucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShleHBlY3RlZEZpbGVTaXplKTsKLSAgICBj
YWNoZUZpbGUuYXBwZW5kKGJpdHdpc2VfY2FzdDx1aW50OF90Kj4oJmNhY2hlZEhlYWRlciksIHNp
emVvZihDYWNoZWRTYW5kYm94SGVhZGVyKSk7Ci0gICAgY2FjaGVGaWxlLmFwcGVuZChpbmZvLmhl
YWRlci5kYXRhKCksIGluZm8uaGVhZGVyLmxlbmd0aCgpKTsKLSAgICBpZiAoaGF2ZUJ1aWx0aW4p
Ci0gICAgICAgIGNhY2hlRmlsZS5hcHBlbmQoc2FuZGJveFByb2ZpbGUtPmJ1aWx0aW4sIGNhY2hl
ZEhlYWRlci5idWlsdGluU2l6ZSk7Ci0gICAgY2FjaGVGaWxlLmFwcGVuZChzYW5kYm94UHJvZmls
ZS0+ZGF0YSwgY2FjaGVkSGVhZGVyLmRhdGFTaXplKTsKLQotICAgIGlmICghd3JpdGVTYW5kYm94
RGF0YVRvQ2FjaGVGaWxlKGluZm8sIGNhY2hlRmlsZSkpCi0gICAgICAgIFdURkxvZ0Fsd2F5cygi
JXM6IFVuYWJsZSB0byBjYWNoZSBjb21waWxlZCBzYW5kYm94XG4iLCBnZXRwcm9nbmFtZSgpKTsK
LQotICAgIHJldHVybiBzYW5kYm94UHJvZmlsZTsKLX0KLQotc3RhdGljIGJvb2wgdHJ5QXBwbHlD
YWNoZWRTYW5kYm94KGNvbnN0IFNhbmRib3hJbmZvJiBpbmZvKQotewotI2lmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCi0gICAgQ1N0cmluZyBkaXJlY3RvcnlQYXRoID0gRmlsZVN5c3RlbTo6Zmls
ZVN5c3RlbVJlcHJlc2VudGF0aW9uKGluZm8uZGlyZWN0b3J5UGF0aCk7Ci0gICAgaWYgKGRpcmVj
dG9yeVBhdGguaXNOdWxsKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAocm9vdGxl
c3NfY2hlY2tfZGF0YXZhdWx0X2ZsYWcoZGlyZWN0b3J5UGF0aC5kYXRhKCksIHByb2Nlc3NTdG9y
YWdlQ2xhc3MoaW5mby5wcm9jZXNzVHlwZSkpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0jZW5k
aWYKLQotICAgIGF1dG8gY29udGVudHMgPSBmaWxlQ29udGVudHMoaW5mby5maWxlUGF0aCwgdHJ1
ZSwgRmlsZVN5c3RlbTo6RmlsZUxvY2tNb2RlOjpTaGFyZWQpOwotICAgIGlmICghY29udGVudHMg
fHwgY29udGVudHMtPmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIFZlY3Rv
cjxjaGFyPiBjYWNoZWRTYW5kYm94Q29udGVudHMgPSBXVEZNb3ZlKCpjb250ZW50cyk7Ci0gICAg
aWYgKHNpemVvZihDYWNoZWRTYW5kYm94SGVhZGVyKSA+IGNhY2hlZFNhbmRib3hDb250ZW50cy5z
aXplKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIC8vIFRoaXMgZGF0YSBtYXkgYmUg
Y29ycnVwdGVkIGlmIHRoZSBzYW5kYm94IGZpbGUgd2FzIGNhY2hlZCBvbiBhIGRpZmZlcmVudCBw
bGF0Zm9ybSB3aXRoIGRpZmZlcmVudCBlbmRpYW5uZXNzCi0gICAgQ2FjaGVkU2FuZGJveEhlYWRl
ciBjYWNoZWRTYW5kYm94SGVhZGVyOwotICAgIG1lbWNweSgmY2FjaGVkU2FuZGJveEhlYWRlciwg
Y2FjaGVkU2FuZGJveENvbnRlbnRzLmRhdGEoKSwgc2l6ZW9mKENhY2hlZFNhbmRib3hIZWFkZXIp
KTsKLSAgICBpbnQzMl90IGxpYnNhbmRib3hWZXJzaW9uID0gTlNWZXJzaW9uT2ZSdW5UaW1lTGli
cmFyeSgic2FuZGJveCIpOwotICAgIFJFTEVBU0VfQVNTRVJUKGxpYnNhbmRib3hWZXJzaW9uID4g
MCk7Ci0gICAgaWYgKHN0YXRpY19jYXN0PHVpbnQzMl90PihsaWJzYW5kYm94VmVyc2lvbikgIT0g
Y2FjaGVkU2FuZGJveEhlYWRlci5saWJzYW5kYm94VmVyc2lvbikKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIGlmIChjYWNoZWRTYW5kYm94SGVhZGVyLnZlcnNpb25OdW1iZXIgIT0gQ2FjaGVk
U2FuZGJveFZlcnNpb25OdW1iZXIpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBjb25zdCBi
b29sIGhhdmVCdWlsdGluID0gY2FjaGVkU2FuZGJveEhlYWRlci5idWlsdGluU2l6ZSAhPSBzdGQ6
Om51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6bWF4KCk7Ci0KLSAgICAvLyBUaGVzZSB2YWx1ZXMg
YXJlIGNvbXB1dGVkIGJhc2VkIG9uIHRoZSBkaXNrIGxheW91dCBzcGVjaWZpZWQgYmVsb3cgdGhl
IGRlZmluaXRpb24gb2YgdGhlIENhY2hlZFNhbmRib3hIZWFkZXIgc3RydWN0Ci0gICAgLy8gYW5k
IG11c3QgYmUgY2hhbmdlZCBpZiB0aGUgbGF5b3V0IGNoYW5nZXMuCi0gICAgY29uc3QgY2hhciog
c2FuZGJveEhlYWRlclB0ciA9IGJpdHdpc2VfY2FzdDxjaGFyICo+KGNhY2hlZFNhbmRib3hDb250
ZW50cy5kYXRhKCkpICsgc2l6ZW9mKENhY2hlZFNhbmRib3hIZWFkZXIpOwotICAgIGNvbnN0IGNo
YXIqIHNhbmRib3hCdWlsdGluUHRyID0gc2FuZGJveEhlYWRlclB0ciArIGNhY2hlZFNhbmRib3hI
ZWFkZXIuaGVhZGVyU2l6ZTsKLSAgICB1bnNpZ25lZCBjaGFyKiBzYW5kYm94RGF0YVB0ciA9IGJp
dHdpc2VfY2FzdDx1bnNpZ25lZCBjaGFyKj4oaGF2ZUJ1aWx0aW4gPyBzYW5kYm94QnVpbHRpblB0
ciArIGNhY2hlZFNhbmRib3hIZWFkZXIuYnVpbHRpblNpemUgOiBzYW5kYm94QnVpbHRpblB0cik7
Ci0KLSAgICBzaXplX3QgZXhwZWN0ZWRGaWxlU2l6ZSA9IHNpemVvZihDYWNoZWRTYW5kYm94SGVh
ZGVyKSArIGNhY2hlZFNhbmRib3hIZWFkZXIuaGVhZGVyU2l6ZSArIGNhY2hlZFNhbmRib3hIZWFk
ZXIuZGF0YVNpemU7Ci0gICAgaWYgKGhhdmVCdWlsdGluKQotICAgICAgICBleHBlY3RlZEZpbGVT
aXplICs9IGNhY2hlZFNhbmRib3hIZWFkZXIuYnVpbHRpblNpemU7Ci0gICAgaWYgKGNhY2hlZFNh
bmRib3hDb250ZW50cy5zaXplKCkgIT0gZXhwZWN0ZWRGaWxlU2l6ZSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIGlmIChjYWNoZWRTYW5kYm94SGVhZGVyLmhlYWRlclNpemUgIT0gaW5mby5o
ZWFkZXIubGVuZ3RoKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAobWVtY21wKHNh
bmRib3hIZWFkZXJQdHIsIGluZm8uaGVhZGVyLmRhdGEoKSwgaW5mby5oZWFkZXIubGVuZ3RoKCkp
KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBTYW5kYm94UHJvZmlsZSBwcm9maWxlIHsg
fTsKLSAgICBDU3RyaW5nIGJ1aWx0aW47Ci0gICAgcHJvZmlsZS5idWlsdGluID0gbnVsbHB0cjsK
LSAgICBwcm9maWxlLnNpemUgPSBjYWNoZWRTYW5kYm94SGVhZGVyLmRhdGFTaXplOwotICAgIGlm
IChoYXZlQnVpbHRpbikgewotICAgICAgICBidWlsdGluID0gQ1N0cmluZzo6bmV3VW5pbml0aWFs
aXplZChjYWNoZWRTYW5kYm94SGVhZGVyLmJ1aWx0aW5TaXplLCBwcm9maWxlLmJ1aWx0aW4pOwot
ICAgICAgICBpZiAoYnVpbHRpbi5pc051bGwoKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICAgICAgbWVtY3B5KHByb2ZpbGUuYnVpbHRpbiwgc2FuZGJveEJ1aWx0aW5QdHIsIGNhY2hl
ZFNhbmRib3hIZWFkZXIuYnVpbHRpblNpemUpOwotICAgIH0KLSAgICBBU1NFUlQoc3RhdGljX2Nh
c3Q8dm9pZCAqPihzYW5kYm94RGF0YVB0ciArIHByb2ZpbGUuc2l6ZSkgPD0gc3RhdGljX2Nhc3Q8
dm9pZCAqPihjYWNoZWRTYW5kYm94Q29udGVudHMuZGF0YSgpICsgY2FjaGVkU2FuZGJveENvbnRl
bnRzLnNpemUoKSkpOwotICAgIHByb2ZpbGUuZGF0YSA9IHNhbmRib3hEYXRhUHRyOwotCi0gICAg
aWYgKHNhbmRib3hfYXBwbHkoJnByb2ZpbGUpKSB7Ci0gICAgICAgIFdURkxvZ0Fsd2F5cygiJXM6
IENvdWxkIG5vdCBhcHBseSBjYWNoZWQgc2FuZGJveDogJXNcbiIsIGdldHByb2duYW1lKCksIHN0
cmVycm9yKGVycm5vKSk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICByZXR1
cm4gdHJ1ZTsKLX0KLSNlbmRpZiAvLyBVU0UoQ0FDSEVfQ09NUElMRURfU0FOREJPWCkKLQotc3Rh
dGljIGlubGluZSBjb25zdCBOU0J1bmRsZSAqd2ViS2l0MkJ1bmRsZSgpCit2b2lkIENoaWxkUHJv
Y2Vzczo6aW5pdGlhbGl6ZVNhbmRib3goY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25Q
YXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBz
YW5kYm94UGFyYW1ldGVycykKIHsKICNpZiBXS19BUElfRU5BQkxFRAotICAgIGNvbnN0IHN0YXRp
YyBOU0J1bmRsZSAqYnVuZGxlID0gW05TQnVuZGxlIGJ1bmRsZUZvckNsYXNzOk5TQ2xhc3NGcm9t
U3RyaW5nKEAiV0tXZWJWaWV3IildOworICAgIE5TQnVuZGxlICp3ZWJLaXQyQnVuZGxlID0gW05T
QnVuZGxlIGJ1bmRsZUZvckNsYXNzOk5TQ2xhc3NGcm9tU3RyaW5nKEAiV0tXZWJWaWV3IildOwog
I2Vsc2UKLSAgICBjb25zdCBzdGF0aWMgTlNCdW5kbGUgKmJ1bmRsZSA9IFtOU0J1bmRsZSBidW5k
bGVGb3JDbGFzczpOU0NsYXNzRnJvbVN0cmluZyhAIldLVmlldyIpXTsKKyAgICBOU0J1bmRsZSAq
d2ViS2l0MkJ1bmRsZSA9IFtOU0J1bmRsZSBidW5kbGVGb3JDbGFzczpOU0NsYXNzRnJvbVN0cmlu
ZyhAIldLVmlldyIpXTsKICNlbmRpZgorICAgIFN0cmluZyBkZWZhdWx0UHJvZmlsZVBhdGggPSBb
d2ViS2l0MkJ1bmRsZSBwYXRoRm9yUmVzb3VyY2U6W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5k
bGVJZGVudGlmaWVyXSBvZlR5cGU6QCJzYiJdOwogCi0gICAgcmV0dXJuIGJ1bmRsZTsKLX0KLQot
c3RhdGljIFN0cmluZyBzYW5kYm94UHJvZmlsZVBhdGgoY29uc3QgU2FuZGJveEluaXRpYWxpemF0
aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKLXsKLSAgICBzd2l0Y2ggKHBhcmFtZXRlcnMubW9k
ZSgpKSB7Ci0gICAgY2FzZSBTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzOjpQcm9maWxl
U2VsZWN0aW9uTW9kZTo6VXNlRGVmYXVsdFNhbmRib3hQcm9maWxlUGF0aDoKLSAgICAgICAgcmV0
dXJuIFt3ZWJLaXQyQnVuZGxlKCkgcGF0aEZvclJlc291cmNlOltbTlNCdW5kbGUgbWFpbkJ1bmRs
ZV0gYnVuZGxlSWRlbnRpZmllcl0gb2ZUeXBlOkAic2IiXTsKLSAgICBjYXNlIFNhbmRib3hJbml0
aWFsaXphdGlvblBhcmFtZXRlcnM6OlByb2ZpbGVTZWxlY3Rpb25Nb2RlOjpVc2VPdmVycmlkZVNh
bmRib3hQcm9maWxlUGF0aDoKLSAgICAgICAgcmV0dXJuIHBhcmFtZXRlcnMub3ZlcnJpZGVTYW5k
Ym94UHJvZmlsZVBhdGgoKTsKLSAgICBjYXNlIFNhbmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRl
cnM6OlByb2ZpbGVTZWxlY3Rpb25Nb2RlOjpVc2VTYW5kYm94UHJvZmlsZToKLSAgICAgICAgcmV0
dXJuIHBhcmFtZXRlcnMuc2FuZGJveFByb2ZpbGUoKTsKLSAgICB9Ci19Ci0KLXN0YXRpYyBib29s
IGNvbXBpbGVBbmRBcHBseVNhbmRib3hTbG93Q2FzZShjb25zdCBTdHJpbmcmIHByb2ZpbGVQYXRo
LCBjb25zdCBTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQotewot
ICAgIGNoYXIqIGVycm9yQnVmOwotICAgIENTdHJpbmcgcGF0aCA9IEZpbGVTeXN0ZW06OmZpbGVT
eXN0ZW1SZXByZXNlbnRhdGlvbihwcm9maWxlUGF0aCk7Ci0jcHJhZ21hIGNsYW5nIGRpYWdub3N0
aWMgcHVzaAotI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1k
ZWNsYXJhdGlvbnMiCi0gICAgaWYgKHNhbmRib3hfaW5pdF93aXRoX3BhcmFtZXRlcnMocGF0aC5k
YXRhKCksIFNBTkRCT1hfTkFNRURfRVhURVJOQUwsIHBhcmFtZXRlcnMubmFtZWRQYXJhbWV0ZXJB
cnJheSgpLCAmZXJyb3JCdWYpKSB7Ci0jcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCi0gICAg
ICAgIFdURkxvZ0Fsd2F5cygiJXM6IENvdWxkIG5vdCBpbml0aWFsaXplIHNhbmRib3ggcHJvZmls
ZSBbJXNdLCBlcnJvciAnJXMnXG4iLCBnZXRwcm9nbmFtZSgpLCBwYXRoLmRhdGEoKSwgZXJyb3JC
dWYpOwotICAgICAgICBmb3IgKHNpemVfdCBpID0gMCwgY291bnQgPSBwYXJhbWV0ZXJzLmNvdW50
KCk7IGkgIT0gY291bnQ7ICsraSkKLSAgICAgICAgICAgIFdURkxvZ0Fsd2F5cygiJXM9JXNcbiIs
IHBhcmFtZXRlcnMubmFtZShpKSwgcGFyYW1ldGVycy52YWx1ZShpKSk7Ci0gICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICB9Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXN0YXRpYyBib29sIGFwcGx5
U2FuZGJveChjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFt
ZXRlcnMsIGNvbnN0IFNhbmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHNhbmRib3hJbml0
aWFsaXphdGlvblBhcmFtZXRlcnMpCi17Ci0gICAgU3RyaW5nIHByb2ZpbGVQYXRoIHsgc2FuZGJv
eFByb2ZpbGVQYXRoKHNhbmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMpIH07Ci0gICAgaWYg
KHByb2ZpbGVQYXRoLmlzRW1wdHkoKSkgewotICAgICAgICBXVEZMb2dBbHdheXMoIiVzOiBQcm9m
aWxlIHBhdGggaXMgaW52YWxpZFxuIiwgZ2V0cHJvZ25hbWUoKSk7Ci0gICAgICAgIENSQVNIKCk7
Ci0gICAgfQotCi0jaWYgVVNFKENBQ0hFX0NPTVBJTEVEX1NBTkRCT1gpCi0gICAgU2FuZGJveFBh
cmFtZXRlcnNQdHIgc2FuZGJveFBhcmFtZXRlcnMgeyBzYW5kYm94X2NyZWF0ZV9wYXJhbXMoKSB9
OwotICAgIGlmICghc2FuZGJveFBhcmFtZXRlcnMpIHsKLSAgICAgICAgV1RGTG9nQWx3YXlzKCIl
czogQ291bGQgbm90IGNyZWF0ZSBzYW5kYm94IHBhcmFtZXRlcnNcbiIsIGdldHByb2duYW1lKCkp
OwotICAgICAgICBDUkFTSCgpOwotICAgIH0KLSAgICBhdXRvIGhlYWRlciA9IHNldEFuZFNlcmlh
bGl6ZVNhbmRib3hQYXJhbWV0ZXJzKHNhbmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMsIHNh
bmRib3hQYXJhbWV0ZXJzLCBwcm9maWxlUGF0aCk7Ci0gICAgaWYgKCFoZWFkZXIpIHsKLSAgICAg
ICAgV1RGTG9nQWx3YXlzKCIlczogU2FuZGJveCBwYXJhbWV0ZXJzIGFyZSBpbnZhbGlkXG4iLCBn
ZXRwcm9nbmFtZSgpKTsKLSAgICAgICAgQ1JBU0goKTsKLSAgICB9Ci0KLSAgICBTdHJpbmcgcGFy
ZW50RGlyZWN0b3J5UGF0aCB7IHNhbmRib3hEYXRhVmF1bHRQYXJlbnREaXJlY3RvcnkoKSB9Owot
ICAgIFN0cmluZyBkaXJlY3RvcnlQYXRoIHsgc2FuZGJveERpcmVjdG9yeShwYXJhbWV0ZXJzLnBy
b2Nlc3NUeXBlLCBwYXJlbnREaXJlY3RvcnlQYXRoKSB9OwotICAgIFN0cmluZyBmaWxlUGF0aCA9
IHNhbmRib3hGaWxlUGF0aChkaXJlY3RvcnlQYXRoLCAqaGVhZGVyKTsKLSAgICBTYW5kYm94SW5m
byBpbmZvIHsKLSAgICAgICAgcGFyZW50RGlyZWN0b3J5UGF0aCwKLSAgICAgICAgZGlyZWN0b3J5
UGF0aCwKLSAgICAgICAgZmlsZVBhdGgsCi0gICAgICAgIHByb2ZpbGVQYXRoLAotICAgICAgICBz
YW5kYm94UGFyYW1ldGVycywKLSAgICAgICAgKmhlYWRlciwKLSAgICAgICAgcGFyYW1ldGVycy5w
cm9jZXNzVHlwZSwKLSAgICAgICAgc2FuZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycwotICAg
IH07Ci0KLSAgICBpZiAoaW5mby5wcm9jZXNzVHlwZSA9PSBDaGlsZFByb2Nlc3M6OlByb2Nlc3NU
eXBlOjpQbHVnaW4pCi0gICAgICAgIHJldHVybiBjb21waWxlQW5kQXBwbHlTYW5kYm94U2xvd0Nh
c2UocHJvZmlsZVBhdGgsIHNhbmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMpOwotICAgIGlm
ICh0cnlBcHBseUNhY2hlZFNhbmRib3goaW5mbykpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0g
ICAgU2FuZGJveFByb2ZpbGVQdHIgc2FuZGJveFByb2ZpbGUgPSBjb21waWxlQW5kQ2FjaGVTYW5k
Ym94UHJvZmlsZShpbmZvKTsKLSAgICBpZiAoIXNhbmRib3hQcm9maWxlKQotICAgICAgICByZXR1
cm4gY29tcGlsZUFuZEFwcGx5U2FuZGJveFNsb3dDYXNlKHByb2ZpbGVQYXRoLCBzYW5kYm94SW5p
dGlhbGl6YXRpb25QYXJhbWV0ZXJzKTsKLQotICAgIGlmIChzYW5kYm94X2FwcGx5KHNhbmRib3hQ
cm9maWxlLmdldCgpKSkgewotICAgICAgICBXVEZMb2dBbHdheXMoIiVzOiBDb3VsZCBub3QgYXBw
bHkgY29tcGlsZWQgc2FuZGJveDogJXNcbiIsIGdldHByb2duYW1lKCksIHN0cmVycm9yKGVycm5v
KSk7Ci0gICAgICAgIENSQVNIKCk7Ci0gICAgfQotCi0gICAgcmV0dXJuIHRydWU7Ci0jZWxzZQot
ICAgIHJldHVybiBjb21waWxlQW5kQXBwbHlTYW5kYm94U2xvd0Nhc2UocHJvZmlsZVBhdGgsIHNh
bmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMpOwotI2VuZGlmIC8vIFVTRShDQUNIRV9DT01Q
SUxFRF9TQU5EQk9YKQotfQotCi1zdGF0aWMgdm9pZCBpbml0aWFsaXplU2FuZGJveFBhcmFtZXRl
cnMoY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJz
LCBTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiBzYW5kYm94UGFyYW1ldGVycykKLXsK
LSAgICAvLyBWZXJpZnkgdXNlciBkaXJlY3Rvcnkgc3VmZml4LgogICAgIGlmIChzYW5kYm94UGFy
YW1ldGVycy51c2VyRGlyZWN0b3J5U3VmZml4KCkuaXNOdWxsKCkpIHsKICAgICAgICAgYXV0byB1
c2VyRGlyZWN0b3J5U3VmZml4ID0gcGFyYW1ldGVycy5leHRyYUluaXRpYWxpemF0aW9uRGF0YS5m
aW5kKCJ1c2VyLWRpcmVjdG9yeS1zdWZmaXgiKTsKICAgICAgICAgaWYgKHVzZXJEaXJlY3RvcnlT
dWZmaXggIT0gcGFyYW1ldGVycy5leHRyYUluaXRpYWxpemF0aW9uRGF0YS5lbmQoKSkKQEAgLTYy
Miw3ICsxNTIsNyBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplU2FuZGJveFBhcmFtZXRlcnMoY29u
c3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZQogICAgIH0KICAgICBzZXRlbnYo
IlRNUERJUiIsIHRlbXBvcmFyeURpcmVjdG9yeSwgMSk7CiAKLSAgICBzYW5kYm94UGFyYW1ldGVy
cy5hZGRQYXRoUGFyYW1ldGVyKCJXRUJLSVQyX0ZSQU1FV09SS19ESVIiLCBbW3dlYktpdDJCdW5k
bGUoKSBidW5kbGVQYXRoXSBzdHJpbmdCeURlbGV0aW5nTGFzdFBhdGhDb21wb25lbnRdKTsKKyAg
ICBzYW5kYm94UGFyYW1ldGVycy5hZGRQYXRoUGFyYW1ldGVyKCJXRUJLSVQyX0ZSQU1FV09SS19E
SVIiLCBbW3dlYktpdDJCdW5kbGUgYnVuZGxlUGF0aF0gc3RyaW5nQnlEZWxldGluZ0xhc3RQYXRo
Q29tcG9uZW50XSk7CiAgICAgc2FuZGJveFBhcmFtZXRlcnMuYWRkQ29uZkRpcmVjdG9yeVBhcmFt
ZXRlcigiREFSV0lOX1VTRVJfVEVNUF9ESVIiLCBfQ1NfREFSV0lOX1VTRVJfVEVNUF9ESVIpOwog
ICAgIHNhbmRib3hQYXJhbWV0ZXJzLmFkZENvbmZEaXJlY3RvcnlQYXJhbWV0ZXIoIkRBUldJTl9V
U0VSX0NBQ0hFX0RJUiIsIF9DU19EQVJXSU5fVVNFUl9DQUNIRV9ESVIpOwogCkBAIC02MzYsMjIg
KzE2Niw1MCBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplU2FuZGJveFBhcmFtZXRlcnMoY29uc3Qg
Q2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZQogICAgIH0KIAogICAgIHNhbmRib3hQ
YXJhbWV0ZXJzLmFkZFBhdGhQYXJhbWV0ZXIoIkhPTUVfRElSIiwgcHdkLnB3X2Rpcik7CisKICAg
ICBTdHJpbmcgcGF0aCA9IFN0cmluZzo6ZnJvbVVURjgocHdkLnB3X2Rpcik7CiAgICAgcGF0aC5h
cHBlbmQoIi9MaWJyYXJ5Iik7CisKICAgICBzYW5kYm94UGFyYW1ldGVycy5hZGRQYXRoUGFyYW1l
dGVyKCJIT01FX0xJQlJBUllfRElSIiwgRmlsZVN5c3RlbTo6ZmlsZVN5c3RlbVJlcHJlc2VudGF0
aW9uKHBhdGgpLmRhdGEoKSk7CisKICAgICBwYXRoLmFwcGVuZCgiL1ByZWZlcmVuY2VzIik7CisK
ICAgICBzYW5kYm94UGFyYW1ldGVycy5hZGRQYXRoUGFyYW1ldGVyKCJIT01FX0xJQlJBUllfUFJF
RkVSRU5DRVNfRElSIiwgRmlsZVN5c3RlbTo6ZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHBhdGgp
LmRhdGEoKSk7Ci19CiAKLXZvaWQgQ2hpbGRQcm9jZXNzOjppbml0aWFsaXplU2FuZGJveChjb25z
dCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIFNhbmRi
b3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIHNhbmRib3hQYXJhbWV0ZXJzKQotewotICAgIFRy
YWNlU2NvcGUgdHJhY2VTY29wZShJbml0aWFsaXplU2FuZGJveFN0YXJ0LCBJbml0aWFsaXplU2Fu
ZGJveEVuZCk7CisgICAgc3dpdGNoIChzYW5kYm94UGFyYW1ldGVycy5tb2RlKCkpIHsKKyAgICBj
YXNlIFNhbmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnM6OlVzZURlZmF1bHRTYW5kYm94UHJv
ZmlsZVBhdGg6CisgICAgY2FzZSBTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzOjpVc2VP
dmVycmlkZVNhbmRib3hQcm9maWxlUGF0aDogeworICAgICAgICBTdHJpbmcgc2FuZGJveFByb2Zp
bGVQYXRoID0gc2FuZGJveFBhcmFtZXRlcnMubW9kZSgpID09IFNhbmRib3hJbml0aWFsaXphdGlv
blBhcmFtZXRlcnM6OlVzZURlZmF1bHRTYW5kYm94UHJvZmlsZVBhdGggPyBkZWZhdWx0UHJvZmls
ZVBhdGggOiBzYW5kYm94UGFyYW1ldGVycy5vdmVycmlkZVNhbmRib3hQcm9maWxlUGF0aCgpOwor
ICAgICAgICBpZiAoIXNhbmRib3hQcm9maWxlUGF0aC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAg
IENTdHJpbmcgcHJvZmlsZVBhdGggPSBGaWxlU3lzdGVtOjpmaWxlU3lzdGVtUmVwcmVzZW50YXRp
b24oc2FuZGJveFByb2ZpbGVQYXRoKTsKKyAgICAgICAgICAgIGNoYXIqIGVycm9yQnVmOworI3By
YWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25v
cmVkICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIgorICAgICAgICAgICAgaWYgKHNhbmRib3hf
aW5pdF93aXRoX3BhcmFtZXRlcnMocHJvZmlsZVBhdGguZGF0YSgpLCBTQU5EQk9YX05BTUVEX0VY
VEVSTkFMLCBzYW5kYm94UGFyYW1ldGVycy5uYW1lZFBhcmFtZXRlckFycmF5KCksICZlcnJvckJ1
ZikpIHsKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKKyAgICAgICAgICAgICAgICBXVEZM
b2dBbHdheXMoIiVzOiBDb3VsZG4ndCBpbml0aWFsaXplIHNhbmRib3ggcHJvZmlsZSBbJXNdLCBl
cnJvciAnJXMnXG4iLCBnZXRwcm9nbmFtZSgpLCBwcm9maWxlUGF0aC5kYXRhKCksIGVycm9yQnVm
KTsKKyAgICAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMCwgY291bnQgPSBzYW5kYm94UGFy
YW1ldGVycy5jb3VudCgpOyBpICE9IGNvdW50OyArK2kpCisgICAgICAgICAgICAgICAgICAgIFdU
RkxvZ0Fsd2F5cygiJXM9JXNcbiIsIHNhbmRib3hQYXJhbWV0ZXJzLm5hbWUoaSksIHNhbmRib3hQ
YXJhbWV0ZXJzLnZhbHVlKGkpKTsKKyAgICAgICAgICAgICAgICBleGl0KEVYX05PUEVSTSk7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KIAotICAgIGluaXRpYWxpemVTYW5kYm94UGFyYW1ldGVy
cyhwYXJhbWV0ZXJzLCBzYW5kYm94UGFyYW1ldGVycyk7CisgICAgICAgIGJyZWFrOworICAgIH0K
KyAgICBjYXNlIFNhbmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnM6OlVzZVNhbmRib3hQcm9m
aWxlOiB7CisgICAgICAgIGNoYXIqIGVycm9yQnVmOworI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGlj
IHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV2RlcHJlY2F0ZWQtZGVj
bGFyYXRpb25zIgorICAgICAgICBpZiAoc2FuZGJveF9pbml0X3dpdGhfcGFyYW1ldGVycyhzYW5k
Ym94UGFyYW1ldGVycy5zYW5kYm94UHJvZmlsZSgpLnV0ZjgoKS5kYXRhKCksIDAsIHNhbmRib3hQ
YXJhbWV0ZXJzLm5hbWVkUGFyYW1ldGVyQXJyYXkoKSwgJmVycm9yQnVmKSkgeworI3ByYWdtYSBj
bGFuZyBkaWFnbm9zdGljIHBvcAorICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCIlczogQ291bGRu
J3QgaW5pdGlhbGl6ZSBzYW5kYm94IHByb2ZpbGUsIGVycm9yICclcydcbiIsIGdldHByb2duYW1l
KCksIGVycm9yQnVmKTsKKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwLCBjb3VudCA9IHNh
bmRib3hQYXJhbWV0ZXJzLmNvdW50KCk7IGkgIT0gY291bnQ7ICsraSkKKyAgICAgICAgICAgICAg
ICBXVEZMb2dBbHdheXMoIiVzPSVzXG4iLCBzYW5kYm94UGFyYW1ldGVycy5uYW1lKGkpLCBzYW5k
Ym94UGFyYW1ldGVycy52YWx1ZShpKSk7CisgICAgICAgICAgICBleGl0KEVYX05PUEVSTSk7Cisg
ICAgICAgIH0KIAotICAgIGlmICghYXBwbHlTYW5kYm94KHBhcmFtZXRlcnMsIHNhbmRib3hQYXJh
bWV0ZXJzKSkgewotICAgICAgICBXVEZMb2dBbHdheXMoIiVzOiBVbmFibGUgdG8gYXBwbHkgc2Fu
ZGJveFxuIiwgZ2V0cHJvZ25hbWUoKSk7Ci0gICAgICAgIENSQVNIKCk7CisgICAgICAgIGJyZWFr
OworICAgIH0KICAgICB9CiAKICAgICBpZiAoc2hvdWxkT3ZlcnJpZGVRdWFyYW50aW5lKCkpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9TYW5kYm94SW5pdGlhbGlhdGlv
blBhcmFtZXRlcnNNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvU2FuZGJveEluaXRp
YWxpYXRpb25QYXJhbWV0ZXJzTWFjLm1tCmluZGV4IDYzNDkwOWRhOTk5OWFkYzQzZTdlNmNjYWVk
OGY4ZmNhZmRiMGI2YTkuLjZjYjRjODhhNzBjOGU3MjI0YmE3Mzc5MjJjZmEzNTIwY2U5NmMwZGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL21hYy9TYW5kYm94SW5pdGlhbGlhdGlv
blBhcmFtZXRlcnNNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvbWFjL1NhbmRib3hJ
bml0aWFsaWF0aW9uUGFyYW1ldGVyc01hYy5tbQpAQCAtMjksNyArMjksNyBAQAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKIFNhbmRib3hJbml0aWFsaXphdGlvblBhcmFtZXRlcnM6OlNhbmRib3hJbml0
aWFsaXphdGlvblBhcmFtZXRlcnMoKQotICAgIDogbV9wcm9maWxlU2VsZWN0aW9uTW9kZShQcm9m
aWxlU2VsZWN0aW9uTW9kZTo6VXNlRGVmYXVsdFNhbmRib3hQcm9maWxlUGF0aCkKKyAgICA6IG1f
cHJvZmlsZVNlbGVjdGlvbk1vZGUoVXNlRGVmYXVsdFNhbmRib3hQcm9maWxlUGF0aCkKIHsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TdG9yYWdlUHJvY2Vz
cy5oIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TdG9yYWdlUHJvY2Vzcy5oCmluZGV4
IGQ4NjYxNGZiZmEyMDAyZTE0ZTMwYzdlZDljNjRkZGZkODg3ZmYwZmIuLjVmZWY0NmNiMDAxYTM1
OGI2ZDM2MWU4MjIwZmJjYmNlYTZiN2U0ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3Rv
cmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQ
cm9jZXNzL1N0b3JhZ2VQcm9jZXNzLmgKQEAgLTcxLDggKzcxLDYgQEAgY2xhc3MgU3RvcmFnZVBy
b2Nlc3MgOiBwdWJsaWMgQ2hpbGRQcm9jZXNzCiAgICAgZnJpZW5kIE5ldmVyRGVzdHJveWVkPFN0
b3JhZ2VQcm9jZXNzPjsKIHB1YmxpYzoKICAgICBzdGF0aWMgU3RvcmFnZVByb2Nlc3MmIHNpbmds
ZXRvbigpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgUHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUgPSBQ
cm9jZXNzVHlwZTo6U3RvcmFnZTsKLQogICAgIH5TdG9yYWdlUHJvY2VzcygpOwogCiAgICAgV29y
a1F1ZXVlJiBxdWV1ZSgpIHsgcmV0dXJuIG1fcXVldWUuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDg2NWFkYTkzNTU2Y2Yz
NDNmZWE3NTExYmQ4ODc1N2I3ZWMwZTM3NzQuLmM4MzNjMWZlZTViMzMzYTZhNTdhMWYyMTM5NDY5
NzUzMDk2MDU3NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMzQ0OSwxMCArMzQ0OSw2IEBACiAJCTQxNERFREQ2MUY5RURERTAwMDQ3
QzQwRCAvKiBTZXJ2aWNlV29ya2VyUHJvY2Vzc1Byb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNlcnZpY2VXb3JrZXJQcm9jZXNzUHJveHkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MTUxRTVDMzFGQkI5MEE5MDBFNDdFMkQgLyogRm9ybURh
dGFSZWZlcmVuY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9ybURhdGFS
ZWZlcmVuY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE1N0U0QUYyMEUyRUM5
ODAwQTZDMEQ3IC8qIGNvbS5nb29nbGUubzFkYnJvd3NlcnBsdWdpbi5zYiAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBjb20uZ29vZ2xlLm8xZGJyb3dzZXJwbHVnaW4uc2I7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTQxODhDMTU0MjExMzc3NzAwMDEyQUJDRCAvKiBwcm9jZXNzLW5ldHdv
cmstc2FuZGJveC1lbnRpdGxlbWVudHMuc2ggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5zaDsgcGF0
aCA9ICJwcm9jZXNzLW5ldHdvcmstc2FuZGJveC1lbnRpdGxlbWVudHMuc2giOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk0MTg4QzE1NjIxMTM3N0U4MDAxMkFCQ0QgLyogcHJvY2Vzcy13
ZWJjb250ZW50LXNhbmRib3gtZW50aXRsZW1lbnRzLnNoICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQuc2g7IHBhdGggPSAicHJvY2Vz
cy13ZWJjb250ZW50LXNhbmRib3gtZW50aXRsZW1lbnRzLnNoIjsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJNDE4OEMxNTcyMTEzNzg1MjAwMTJBQkNEIC8qIFN0b3JhZ2UtT1NYLXNhbmRi
b3guZW50aXRsZW1lbnRzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlzdC5lbnRpdGxlbWVudHM7IHBhdGgg
PSAiU3RvcmFnZS1PU1gtc2FuZGJveC5lbnRpdGxlbWVudHMiOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQk0MTg4QzE1ODIxMTM3ODUyMDAxMkFCQ0QgLyogV2ViQ29udGVudC1PU1gtc2Fu
ZGJveC5lbnRpdGxlbWVudHMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnBsaXN0LmVudGl0bGVtZW50czsgcGF0
aCA9ICJXZWJDb250ZW50LU9TWC1zYW5kYm94LmVudGl0bGVtZW50cyI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQxODk3RUNCMUY0MTVENUMwMDE2RkE0MiAvKiBXZWJDYWNoZVN0b3Jh
Z2VDb25uZWN0aW9uLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24u
bWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODk3RUNDMUY0MTVE
NUMwMDE2RkE0MiAvKiBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXZWJDYWNoZVN0b3JhZ2VQcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQxODk3RUNEMUY0MTVENUMwMDE2RkE0MiAvKiBXZWJDYWNoZVN0b3JhZ2VDb25uZWN0
aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM0NzMsNyArMzQ2OSw2IEBACiAJCTQxQjdFRDcwMjA2
OTY1OTAwMDg3RDg1MyAvKiBOZXR3b3JrTUROU1JlZ2lzdGVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtNRE5TUmVnaXN0ZXIuaDsgcGF0aCA9IE5ldHdvcmtQcm9j
ZXNzL3dlYnJ0Yy9OZXR3b3JrTUROU1JlZ2lzdGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQxQjdFRDcxMjA2OTY1OTAwMDg3RDg1MyAvKiBOZXR3b3JrTUROU1JlZ2lzdGVyLm1l
c3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IE5ldHdvcmtNRE5TUmVnaXN0ZXIubWVz
c2FnZXMuaW47IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya01ETlNSZWdpc3Rl
ci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFDODU4MTkxRjUx
MERFRTAwNjVFMDg1IC8qIENhY2hlU3RvcmFnZUVuZ2luZUNhY2hlLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlU3RvcmFnZUVuZ2luZUNhY2hlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDFEMEZDN0QyMEU0M0E1MTAwMDc2QUU4IC8qIE5l
dHdvcmstT1NYLXNhbmRib3guZW50aXRsZW1lbnRzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5wbGlzdC5lbnRp
dGxlbWVudHM7IHBhdGggPSAiTmV0d29yay1PU1gtc2FuZGJveC5lbnRpdGxlbWVudHMiOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUQxMjlEOTFGM0QxMDE0MDBEMTVFNDcgLyogV2Vi
Q2FjaGVTdG9yYWdlUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ2FjaGVTdG9yYWdlUHJv
dmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFEQzQ1OTQxRTNENkUxRTAw
QjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBOZXR3b3JrUlRDUHJvdmlkZXIuaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0
Yy9OZXR3b3JrUlRDUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFE
QzQ1OTUxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBOZXR3b3JrUlRDUHJvdmlkZXIuY3BwOyBwYXRo
ID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01MjAwLDcgKzUxOTUsNiBAQAogCQkJCTFBNEY5NzZDMTAw
RTdCNjYwMDYzN0ExOCAvKiBGZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyAqLywKIAkJCQkzNzExOUE3
RDIwQ0NCNjRFMDAyQzZEQzkgLyogTmV0d29yay1pT1MtbWluaW1hbHNpbXVsYXRvci5lbnRpdGxl
bWVudHMgKi8sCiAJCQkJN0MwQkI5QTkxOERDREY1QTAwMDZDMDg2IC8qIE5ldHdvcmstaU9TLmVu
dGl0bGVtZW50cyAqLywKLQkJCQk0MUQwRkM3RDIwRTQzQTUxMDAwNzZBRTggLyogTmV0d29yay1P
U1gtc2FuZGJveC5lbnRpdGxlbWVudHMgKi8sCiAJCQkJQkM4MjgzQUIxNkI0QkVBRDAwQTI3OEZF
IC8qIE5ldHdvcmtTZXJ2aWNlLnhjY29uZmlnICovLAogCQkJCUExRUREMkRCMTg4NEI5NjQwMEJC
RkU5OCAvKiBQbHVnaW5Qcm9jZXNzU2hpbS54Y2NvbmZpZyAqLywKIAkJCQlCQzgyODNGMjE2QjRG
QzUzMDBBMjc4RkUgLyogUGx1Z2luU2VydmljZS4zMi54Y2NvbmZpZyAqLywKQEAgLTUyMDksMTMg
KzUyMDMsMTEgQEAKIAkJCQkzN0U4M0Q0MDFCMzdEMjdCMDAyMDc5RUUgLyogU2FuZGJveFByb2Zp
bGVzLnhjY29uZmlnICovLAogCQkJCUExRUREMkRDMTg4NEI5QjUwMEJCRkU5OCAvKiBTZWNJdGVt
U2hpbS54Y2NvbmZpZyAqLywKIAkJCQk1MTgzQjM5MzEzNzlGODVDMDBFODc1NEUgLyogU2hpbS54
Y2NvbmZpZyAqLywKLQkJCQk0MTg4QzE1NzIxMTM3ODUyMDAxMkFCQ0QgLyogU3RvcmFnZS1PU1gt
c2FuZGJveC5lbnRpdGxlbWVudHMgKi8sCiAJCQkJNTFBNjBCMjkxODBDQ0Q5MDAwRjNCRjUwIC8q
IFN0b3JhZ2VTZXJ2aWNlLnhjY29uZmlnICovLAogCQkJCTFBNEY5NzZFMTAwRTdCNjYwMDYzN0Ex
OCAvKiBWZXJzaW9uLnhjY29uZmlnICovLAogCQkJCTM3MTE5QTdFMjBDQ0I2NEUwMDJDNkRDOSAv
KiBXZWJDb250ZW50LWlPUy1taW5pbWFsc2ltdWxhdG9yLmVudGl0bGVtZW50cyAqLywKIAkJCQk3
QzBCQjlBODE4RENERTg5MDAwNkMwODYgLyogV2ViQ29udGVudC1pT1MuZW50aXRsZW1lbnRzICov
LAogCQkJCTM3QjQxOEVCMUM5NjI0RjIwMDMxRTYzQiAvKiBXZWJDb250ZW50LW9yLVBsdWdpbi1P
U1gtcmVzdHJpY3RlZC5lbnRpdGxlbWVudHMgKi8sCi0JCQkJNDE4OEMxNTgyMTEzNzg1MjAwMTJB
QkNEIC8qIFdlYkNvbnRlbnQtT1NYLXNhbmRib3guZW50aXRsZW1lbnRzICovLAogCQkJCTdBRjY2
RTExMjBDMDdDQjYwMDc4MjhFQSAvKiBXZWJDb250ZW50LU9TWC5lbnRpdGxlbWVudHMgKi8sCiAJ
CQkJMzcyRUJCNEEyMDE3RTc2MDAwMDg1MDY0IC8qIFdlYkNvbnRlbnRTZXJ2aWNlLkRldmVsb3Bt
ZW50LnhjY29uZmlnICovLAogCQkJCUJDQUNDNDBFMTZCMEI4QTgwMEI2RTA5MiAvKiBXZWJDb250
ZW50U2VydmljZS54Y2NvbmZpZyAqLywKQEAgLTg2NjcsOSArODY1OSw3IEBACiAJCQkJMEZDMDg1
NkYxODdDRTBBOTAwNzgwRDg2IC8qIG1lc3NhZ2VzLnB5ICovLAogCQkJCTBGQzA4NTcwMTg3Q0Uw
QTkwMDc4MEQ4NiAvKiBtb2RlbC5weSAqLywKIAkJCQkwRkMwODU3MTE4N0NFMEE5MDA3ODBEODYg
LyogcGFyc2VyLnB5ICovLAotCQkJCTQxODhDMTU0MjExMzc3NzAwMDEyQUJDRCAvKiBwcm9jZXNz
LW5ldHdvcmstc2FuZGJveC1lbnRpdGxlbWVudHMuc2ggKi8sCiAJCQkJN0FDRkFBRDgyMEI4OEQ0
RjAwQzUzMjAzIC8qIHByb2Nlc3Mtd2ViY29udGVudC1vci1wbHVnaW4tZW50aXRsZW1lbnRzLnNo
ICovLAotCQkJCTQxODhDMTU2MjExMzc3RTgwMDEyQUJDRCAvKiBwcm9jZXNzLXdlYmNvbnRlbnQt
c2FuZGJveC1lbnRpdGxlbWVudHMuc2ggKi8sCiAJCQkpOwogCQkJcGF0aCA9IFNjcmlwdHM7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTAxNjgsMTIgKzEwMTU4LDkgQEAKIAkJCWlz
YSA9IFBCWE5hdGl2ZVRhcmdldDsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSBCQzgyODNC
RDE2QjRCRjc3MDBBMjc4RkUgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRp
dmVUYXJnZXQgIk5ldHdvcmtpbmciICovOwogCQkJYnVpbGRQaGFzZXMgPSAoCi0JCQkJNDFEMEZD
N0YyMEU0M0IwQjAwMDc2QUU4IC8qIFJlbW92ZSBzdGFsZSBlbnRpdGxlbWVudHMgZmlsZSAqLywK
IAkJCQlCQzgyODNBRDE2QjRCRjc3MDBBMjc4RkUgLyogU291cmNlcyAqLywKIAkJCQlCQzgyODNB
RTE2QjRCRjc3MDBBMjc4RkUgLyogRnJhbWV3b3JrcyAqLywKIAkJCQlCQzgyODNBRjE2QjRCRjc3
MDBBMjc4RkUgLyogUmVzb3VyY2VzICovLAotCQkJCTQxRDBGQzgwMjBFNDNCNDUwMDA3NkFFOCAv
KiBVbmxvY2sga2V5Y2hhaW4gKi8sCi0JCQkJNDFEMEZDODEyMEU0M0I3MDAwMDc2QUU4IC8qIFBy
b2Nlc3MgTmV0d29yayBlbnRpdGxlbWVudHMgKi8sCiAJCQkpOwogCQkJYnVpbGRSdWxlcyA9ICgK
IAkJCSk7CkBAIC0xMDQzMiw3ICsxMDQxOSw3IEBACiAJCQluYW1lID0gIkNvcHkgQWRkaXRpb25h
bCBSZXNvdXJjZXMiOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CiAJCQlzaGVsbFBhdGggPSAvYmluL3NoOwotCQkJc2hlbGxTY3JpcHQgPSAic2V0IC1lXG5cblJF
TEFUSVZFX1NPVVJDRV9QQVRIPVwidXNyL2xvY2FsL2luY2x1ZGUvV2ViS2l0QWRkaXRpb25zL1dl
YktpdC9BZGRpdGlvbmFsUmVzb3VyY2VzXCJcblNPVVJDRV9QQVRIPVwiJEJVSUxUX1BST0RVQ1RT
X0RJUi8kUkVMQVRJVkVfU09VUkNFX1BBVEhcIlxuXG5pZiBbWyAhIC1kIFwiJFNPVVJDRV9QQVRI
XCIgXV07IHRoZW5cbiAgICBTT1VSQ0VfUEFUSD1cIiRTREtfRElSLyRSRUxBVElWRV9TT1VSQ0Vf
UEFUSFwiXG5maVxuXG5pZiBbWyAtZCBcIiRTT1VSQ0VfUEFUSFwiIF1dOyB0aGVuXG4gICAgZGl0
dG8gJFNPVVJDRV9QQVRIIFwiJEJVSUxUX1BST0RVQ1RTX0RJUi8kVU5MT0NBTElaRURfUkVTT1VS
Q0VTX0ZPTERFUl9QQVRIXCJcbmZpXG4iOworCQkJc2hlbGxTY3JpcHQgPSAic2V0IC1lXG5cblJF
TEFUSVZFX1NPVVJDRV9QQVRIPVwidXNyL2xvY2FsL2luY2x1ZGUvV2ViS2l0QWRkaXRpb25zL1dl
YktpdC9BZGRpdGlvbmFsUmVzb3VyY2VzXCJcblNPVVJDRV9QQVRIPVwiJEJVSUxUX1BST0RVQ1RT
X0RJUi8kUkVMQVRJVkVfU09VUkNFX1BBVEhcIlxuXG5pZiBbWyAhIC1kIFwiJFNPVVJDRV9QQVRI
XCIgXV07IHRoZW5cbiAgICBTT1VSQ0VfUEFUSD1cIiRTREtfRElSLyRSRUxBVElWRV9TT1VSQ0Vf
UEFUSFwiXG5maVxuXG5pZiBbWyAtZCBcIiRTT1VSQ0VfUEFUSFwiIF1dOyB0aGVuXG4gICAgZGl0
dG8gJFNPVVJDRV9QQVRIIFwiJEJVSUxUX1BST0RVQ1RTX0RJUi8kVU5MT0NBTElaRURfUkVTT1VS
Q0VTX0ZPTERFUl9QQVRIXCJcbmZpIjsKIAkJfTsKIAkJMzcxM0YwMjMxNDI5MDYzRDAwMzYzODdG
IC8qIENoZWNrIEZvciBJbmFwcHJvcHJpYXRlIE9iamVjdGl2ZS1DIENsYXNzIE5hbWVzICovID0g
ewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwpAQCAtMTA0NzEsNyArMTA0NTgs
NyBAQAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwog
CQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKLQkJCXNoZWxsU2NyaXB0ID0gImlmIFtbIFwiJHtXS19N
QU5VQUxfU0FOREJPWElOR19FTkFCTEVEfVwiICE9IFwiWUVTXCIgfHwgXCIke1dLX1BMQVRGT1JN
X05BTUV9XCIgPT0gXCJtYWNvc3hcIiBdXTsgdGhlblxuICAgIGV4aXRcbmZpXG5cbmlmIFtbIFwi
JHtBQ1RJT059XCIgPT0gXCJidWlsZFwiIHx8IFwiJHtBQ1RJT059XCIgPT0gXCJpbnN0YWxsXCIg
XV07IHRoZW5cbiAgICBmb3IgKChpID0gMDsgaSA8ICR7U0NSSVBUX0lOUFVUX0ZJTEVfQ09VTlR9
OyArK2kpKTsgZG9cbiAgICAgICAgZXZhbCBFTlRJVExFTUVOVFM9XFwke1NDUklQVF9JTlBVVF9G
SUxFXyR7aX19XG4gICAgICAgIEVOVElUTEVNRU5UU19CQVNFPSR7RU5USVRMRU1FTlRTIyMqL31c
biAgICAgICAgRU5USVRMRU1FTlRTX0JBU0U9JHtFTlRJVExFTUVOVFNfQkFTRSUuZW50aXRsZW1l
bnRzfVxuICAgICAgICBwbHV0aWwgLXJlbW92ZSBzZWF0YmVsdC1wcm9maWxlcyAtbyBcIiR7QlVJ
TFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9XZWJLaXQyLyR7RU5USVRMRU1FTlRTX0JB
U0V9LW5vLXNhbmRib3guZW50aXRsZW1lbnRzXCIgXCIke0VOVElUTEVNRU5UU31cIlxuICAgIGRv
bmVcbmZpXG4iOworCQkJc2hlbGxTY3JpcHQgPSAiaWYgW1sgXCIke1dLX01BTlVBTF9TQU5EQk9Y
SU5HX0VOQUJMRUR9XCIgIT0gXCJZRVNcIiB8fCBcIiR7V0tfUExBVEZPUk1fTkFNRX1cIiA9PSBc
Im1hY29zeFwiIF1dOyB0aGVuXG4gICAgZXhpdFxuZmlcblxuaWYgW1sgXCIke0FDVElPTn1cIiA9
PSBcImJ1aWxkXCIgfHwgXCIke0FDVElPTn1cIiA9PSBcImluc3RhbGxcIiBdXTsgdGhlblxuICAg
IGZvciAoKGkgPSAwOyBpIDwgJHtTQ1JJUFRfSU5QVVRfRklMRV9DT1VOVH07ICsraSkpOyBkb1xu
ICAgICAgICBldmFsIEVOVElUTEVNRU5UUz1cXCR7U0NSSVBUX0lOUFVUX0ZJTEVfJHtpfX1cbiAg
ICAgICAgRU5USVRMRU1FTlRTX0JBU0U9JHtFTlRJVExFTUVOVFMjIyovfVxuICAgICAgICBFTlRJ
VExFTUVOVFNfQkFTRT0ke0VOVElUTEVNRU5UU19CQVNFJS5lbnRpdGxlbWVudHN9XG4gICAgICAg
IHBsdXRpbCAtcmVtb3ZlIHNlYXRiZWx0LXByb2ZpbGVzIC1vIFwiJHtCVUlMVF9QUk9EVUNUU19E
SVJ9L0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvJHtFTlRJVExFTUVOVFNfQkFTRX0tbm8tc2FuZGJv
eC5lbnRpdGxlbWVudHNcIiBcIiR7RU5USVRMRU1FTlRTfVwiXG4gICAgZG9uZVxuZmkiOwogCQl9
OwogCQkzNzVBMjQ4ODE3RTUwNDhFMDBDOUEwODYgLyogUG9zdHByb2Nlc3MgV0tCYXNlLmggKi8g
PSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CkBAIC0xMDUwNSw0OSArMTA0
OTIsNiBAQAogCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKIAkJCXNoZWxsU2NyaXB0ID0gImlmIFtb
IFwiJHtXS19NQU5VQUxfU0FOREJPWElOR19FTkFCTEVEfVwiICE9IFwiWUVTXCIgfHwgXCIke1dL
X1BMQVRGT1JNX05BTUV9XCIgPT0gXCJtYWNvc3hcIiB8fCBcIiR7V0tfUExBVEZPUk1fTkFNRX1c
IiA9PSBcImlvc21hY1wiIF1dOyB0aGVuXG4gICAgZXhpdFxuZmlcblxuaWYgW1sgXCIke0FDVElP
Tn1cIiA9PSBcImJ1aWxkXCIgfHwgXCIke0FDVElPTn1cIiA9PSBcImluc3RhbGxcIiBdXTsgdGhl
blxuICAgIGZvciAoKGkgPSAwOyBpIDwgJHtTQ1JJUFRfSU5QVVRfRklMRV9DT1VOVH07ICsraSkp
OyBkb1xuICAgICAgICBldmFsIFNBTkRCT1hfUFJPRklMRT1cXCR7U0NSSVBUX0lOUFVUX0ZJTEVf
JHtpfX1cbiAgICAgICAgZGl0dG8gXCIke1NBTkRCT1hfUFJPRklMRX1cIiBcIiR7VEFSR0VUX0JV
SUxEX0RJUn0vJHtVTkxPQ0FMSVpFRF9SRVNPVVJDRVNfRk9MREVSX1BBVEh9LyR7U0FOREJPWF9Q
Uk9GSUxFIyMqL31cIlxuICAgIGRvbmVcbmZpXG4iOwogCQl9OwotCQk0MUQwRkM3RjIwRTQzQjBC
MDAwNzZBRTggLyogUmVtb3ZlIHN0YWxlIGVudGl0bGVtZW50cyBmaWxlICovID0gewotCQkJaXNh
ID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwotCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4
MzY0NzsKLQkJCWZpbGVzID0gKAotCQkJKTsKLQkJCWlucHV0UGF0aHMgPSAoCi0JCQkpOwotCQkJ
bmFtZSA9ICJSZW1vdmUgc3RhbGUgZW50aXRsZW1lbnRzIGZpbGUiOwotCQkJb3V0cHV0UGF0aHMg
PSAoCi0JCQkpOwotCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7Ci0J
CQlzaGVsbFBhdGggPSAvYmluL3NoOwotCQkJc2hlbGxTY3JpcHQgPSAiIyBXZSBhdXRvZ2VuZXJh
dGUgdGhpcyBmaWxlLCBzbyBkb24ndCB3YW50IHRvIHJldGFpbiBhbiBvbGQgY29weSBkdXJpbmcg
YnVpbGRzLlxucm0gLWYgJHtURU1QX0ZJTEVfRElSfS8ke0ZVTExfUFJPRFVDVF9OQU1FfS54Y2Vu
dFxuIjsKLQkJfTsKLQkJNDFEMEZDODAyMEU0M0I0NTAwMDc2QUU4IC8qIFVubG9jayBrZXljaGFp
biAqLyA9IHsKLQkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsKLQkJCWJ1aWxkQWN0
aW9uTWFzayA9IDIxNDc0ODM2NDc7Ci0JCQlmaWxlcyA9ICgKLQkJCSk7Ci0JCQlpbnB1dFBhdGhz
ID0gKAotCQkJKTsKLQkJCW5hbWUgPSAiVW5sb2NrIGtleWNoYWluIjsKLQkJCW91dHB1dFBhdGhz
ID0gKAotCQkJKTsKLQkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwot
CQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKLQkJCXNoZWxsU2NyaXB0ID0gIlVOTE9DS19TQ1JJUFRf
UEFUSD1cIiR7U1JDUk9PVH0vLi4vLi4vLi4vSW50ZXJuYWwvVG9vbHMvU2NyaXB0cy91bmxvY2st
c2FmYXJpLWVuZ2luZWVyaW5nLWtleWNoYWluLWlmLW5lZWRlZFwiXG5cbltbIC14IFwiJHtVTkxP
Q0tfU0NSSVBUX1BBVEh9XCIgXV0gJiYgZXhlYyBcIiR7VU5MT0NLX1NDUklQVF9QQVRIfVwiXG5c
bmV4aXQgMFxuIjsKLQkJfTsKLQkJNDFEMEZDODEyMEU0M0I3MDAwMDc2QUU4IC8qIFByb2Nlc3Mg
TmV0d29yayBlbnRpdGxlbWVudHMgKi8gPSB7Ci0JCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxk
UGhhc2U7Ci0JCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwotCQkJZmlsZXMgPSAoCi0J
CQkpOwotCQkJaW5wdXRQYXRocyA9ICgKLQkJCQkiJChURU1QX0ZJTEVfRElSKS8kKEZVTExfUFJP
RFVDVF9OQU1FKS54Y2VudCIsCi0JCQkpOwotCQkJbmFtZSA9ICJQcm9jZXNzIE5ldHdvcmsgZW50
aXRsZW1lbnRzIjsKLQkJCW91dHB1dFBhdGhzID0gKAotCQkJKTsKLQkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwotCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKLQkJCXNo
ZWxsU2NyaXB0ID0gIlNjcmlwdHMvcHJvY2Vzcy1uZXR3b3JrLXNhbmRib3gtZW50aXRsZW1lbnRz
LnNoXG4iOwotCQl9OwogCQk1REY0MDhDNTEzMURENDY3MDAxMzAwNzEgLyogQ2hlY2sgRm9yIFdl
YWsgVlRhYmxlcyBhbmQgRXh0ZXJuYWxzICovID0gewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRC
dWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKQEAgLTEwNjI2LDEw
ICsxMDU3MCwxNCBAQAogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVz
ID0gKAogCQkJKTsKKwkJCWlucHV0RmlsZUxpc3RQYXRocyA9ICgKKwkJCSk7CiAJCQlpbnB1dFBh
dGhzID0gKAogCQkJCSIkKFRFTVBfRklMRV9ESVIpLyQoRlVMTF9QUk9EVUNUX05BTUUpLnhjZW50
IiwKIAkJCSk7CiAJCQluYW1lID0gIlByb2Nlc3MgUGx1Z2luIGVudGl0bGVtZW50cyI7CisJCQlv
dXRwdXRGaWxlTGlzdFBhdGhzID0gKAorCQkJKTsKIAkJCW91dHB1dFBhdGhzID0gKAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpAQCAtMTA2NDEsMTAg
KzEwNTg5LDE0IEBACiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMg
PSAoCiAJCQkpOworCQkJaW5wdXRGaWxlTGlzdFBhdGhzID0gKAorCQkJKTsKIAkJCWlucHV0UGF0
aHMgPSAoCiAJCQkJIiQoVEVNUF9GSUxFX0RJUikvJChGVUxMX1BST0RVQ1RfTkFNRSkueGNlbnQi
LAogCQkJKTsKIAkJCW5hbWUgPSAiUHJvY2VzcyBQbHVnaW4gZW50aXRsZW1lbnRzIjsKKwkJCW91
dHB1dEZpbGVMaXN0UGF0aHMgPSAoCisJCQkpOwogCQkJb3V0cHV0UGF0aHMgPSAoCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CkBAIC0xMDY2NCw3ICsx
MDYxNiw3IEBACiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CiAJCQlzaGVsbFBhdGggPSAvYmluL3NoOwotCQkJc2hlbGxTY3JpcHQgPSAiU2NyaXB0cy9w
cm9jZXNzLXdlYmNvbnRlbnQtb3ItcGx1Z2luLWVudGl0bGVtZW50cy5zaFxuU2NyaXB0cy9wcm9j
ZXNzLXdlYmNvbnRlbnQtc2FuZGJveC1lbnRpdGxlbWVudHMuc2hcbiI7CisJCQlzaGVsbFNjcmlw
dCA9ICJTY3JpcHRzL3Byb2Nlc3Mtd2ViY29udGVudC1vci1wbHVnaW4tZW50aXRsZW1lbnRzLnNo
XG4iOwogCQl9OwogCQk3QUZDQkQ1NTIwQjg5MTdEMDBGNTVDOUMgLyogUHJvY2VzcyBXZWJDb250
ZW50IGVudGl0bGVtZW50cyAqLyA9IHsKIAkJCWlzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFz
ZTsKQEAgLTEwNjc5LDcgKzEwNjMxLDcgQEAKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJCXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNj
cmlwdCA9ICJTY3JpcHRzL3Byb2Nlc3Mtd2ViY29udGVudC1vci1wbHVnaW4tZW50aXRsZW1lbnRz
LnNoXG5TY3JpcHRzL3Byb2Nlc3Mtd2ViY29udGVudC1zYW5kYm94LWVudGl0bGVtZW50cy5zaFxu
IjsKKwkJCXNoZWxsU2NyaXB0ID0gIlNjcmlwdHMvcHJvY2Vzcy13ZWJjb250ZW50LW9yLXBsdWdp
bi1lbnRpdGxlbWVudHMuc2hcbiI7CiAJCX07CiAJCTk5Q0EzODYyMjA3Mjg2REIwMEJBRDU3OCAv
KiBDb3B5IFdlYkRyaXZlciBBdG9tcyB0byBGcmFtZXdvcmsgUHJpdmF0ZSBIZWFkZXJzICovID0g
ewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmgKaW5kZXggMDMwYTcxOGZkOTg0M2UxMDA0OTBjZTgzNjRlNGQ4MmI0OTkx
NTU1ZS4uMTE1OWY4NDM4ZDNkNTgwODkxNmNhYWVjYTU3NmZmMWM4MjczMjI5MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0xMDksNyArMTA5LDYgQEAgc3RydWN0IFdl
YnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzOwogY2xhc3MgV2ViUHJvY2VzcyA6IHB1YmxpYyBDaGls
ZFByb2Nlc3MgewogcHVibGljOgogICAgIHN0YXRpYyBXZWJQcm9jZXNzJiBzaW5nbGV0b24oKTsK
LSAgICBzdGF0aWMgY29uc3RleHByIFByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlID0gUHJvY2Vzc1R5
cGU6OldlYkNvbnRlbnQ7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KICAgICBUKiBzdXBw
bGVtZW50KCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCBlMjFhNTUzZWZkYTUyMjcyNzFhMTVlYjg3ZWY3NmViNGU1ZWViYTA2Li5hMzQ2ZjdlNzk5
ODBkZmU0MWVjOWRjZjYyM2RiMjI4NzQ0YjY2YjA3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMDgtMTMgIENv
bW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgorCisgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHIyMzQ3NDcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xODg1MjQKKworICAgICAgICBwbHVnaW4gcHJvY2Vzc2VzIGNyYXNo
IG9uIGxhdW5jaCAoUmVxdWVzdGVkIGJ5IHNtZnIgb24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAg
ICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0OgorCisgICAgICAgICJXZSBzaG91bGQgY2FjaGUgdGhl
IGNvbXBpbGVkIHNhbmRib3ggcHJvZmlsZSBpbiBhIGRhdGEgdmF1bHQiCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODQ5OTEKKyAgICAgICAgaHR0cHM6
Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIzNDc0NworCiAyMDE4LTA4LTEzICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIERyYWdnaW5n
IGEgbm9uLWVkaXRhYmxlIHRleHQgc2VsZWN0aW9uIGludG8gYSBwbGFpbiB0ZXh0IGlucHV0IGlu
c2VydHMgSFRNTCBtYXJrdXAKZGlmZiAtLWdpdCBhL1Rvb2xzL1RyYWNpbmcvU3lzdGVtVHJhY2VQ
b2ludHMucGxpc3QgYi9Ub29scy9UcmFjaW5nL1N5c3RlbVRyYWNlUG9pbnRzLnBsaXN0CmluZGV4
IDBlMWE2NzgzODY2ZGMyZGY1ZGJhZGI4MmViMzc1ZTg2ODYzMzA3NjkuLmU5ZTE3NzY5NjViYWM5
ZGRkMWQ2NDdmYjkyMDczNDYwMGY4YTI5MDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1RyYWNpbmcvU3lz
dGVtVHJhY2VQb2ludHMucGxpc3QKKysrIGIvVG9vbHMvVHJhY2luZy9TeXN0ZW1UcmFjZVBvaW50
cy5wbGlzdApAQCAtMzAwLDE4ICszMDAsNiBAQAogICAgICAgICAgICAgICAgICA8a2V5PkNvZGVF
bmQ8L2tleT4KICAgICAgICAgICAgICAgICAgPHN0cmluZz4xNDAwNDwvc3RyaW5nPgogICAgICAg
ICAgICAgIDwvZGljdD4KLSAgICAgICAgICAgICA8ZGljdD4KLSAgICAgICAgICAgICAgICAgPGtl
eT5OYW1lPC9rZXk+Ci0gICAgICAgICAgICAgICAgIDxzdHJpbmc+SW5pdGlhbGl6ZSBTYW5kYm94
PC9zdHJpbmc+Ci0gICAgICAgICAgICAgICAgIDxrZXk+VHlwZTwva2V5PgotICAgICAgICAgICAg
ICAgICA8c3RyaW5nPkludGVydmFsPC9zdHJpbmc+Ci0gICAgICAgICAgICAgICAgIDxrZXk+Q29t
cG9uZW50PC9rZXk+Ci0gICAgICAgICAgICAgICAgIDxzdHJpbmc+NDc8L3N0cmluZz4KLSAgICAg
ICAgICAgICAgICAgPGtleT5Db2RlQmVnaW48L2tleT4KLSAgICAgICAgICAgICAgICAgPHN0cmlu
Zz4xNDAwNTwvc3RyaW5nPgotICAgICAgICAgICAgICAgICA8a2V5PkNvZGVFbmQ8L2tleT4KLSAg
ICAgICAgICAgICAgICAgPHN0cmluZz4xNDAwNjwvc3RyaW5nPgotICAgICAgICAgICAgIDwvZGlj
dD4KICAgICAgICAgIDwvYXJyYXk+CiAgICAgIDwvZGljdD4KICA8L2FycmF5Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>