bug#81498: automake test t/tap-stderr-prefix.tap fails due to a sed command that does not work on macOS (all BSD?)

Erik A Johnson <[email protected]> Sun, 26 Jul 2026 02:59:41 +0000
Newsgroups gmane.comp.sysutils.automake.bugs
Message-ID <[email protected]>
--_002_29D1CE02B83B4A3AAD633CA8705B8A3Fuscedu_
Content-Type: text/plain; charset="us-ascii"
Content-ID: <[email protected]>
Content-Transfer-Encoding: quoted-printable

The automake test "t/tap-stderr-prefix.tap" has a function check_log_line_o=
rder() that uses the sed command

sed -n -e '/^\('"$1"'\)$/,${/^\('"$2"'\)$/p}' all.log

GNU sed accepts this, but the macOS (BSD-based) sed (at least as of Tahoe 2=
6.5.2) is stricter and requires the concluding semicolon after the "p"

sed -n -e '/^\('"$1"'\)$/,${/^\('"$2"'\)$/p;}' all.log

Also, a note that a bunch of the python-related tests fail with the default=
 python3 on macOS (because it puts compiled bytecode .pyc files in ~/Librar=
y/Caches/com.apple.python instead of in ./__pycache__ like the standard pyt=
hon3).




--_002_29D1CE02B83B4A3AAD633CA8705B8A3Fuscedu_
Content-Type: application/octet-stream; name="test-suite.log"
Content-Description: test-suite.log
Content-Disposition: attachment; filename="test-suite.log"; size=1406421;
	creation-date="Sun, 26 Jul 2026 02:59:40 GMT";
	modification-date="Sun, 26 Jul 2026 02:59:41 GMT"
Content-ID: <[email protected]>
Content-Transfer-Encoding: base64

PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBHTlUgQXV0
b21ha2UgMS4xOC4xLjkxOiAuL3Rlc3Qtc3VpdGUubG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KCiMgVE9UQUw6IDI5NjEKIyBQQVNTOiAgMjc5MAojIFNL
SVA6ICAxMjgKIyBYRkFJTDogNDAKIyBGQUlMOiAgMwojIFhQQVNTOiAwCiMgRVJST1I6IDAKClN5
c3RlbSBpbmZvcm1hdGlvbiAodW5hbWUgLWEpOiBEYXJ3aW4gMjUuNS4wIERhcndpbiBLZXJuZWwg
VmVyc2lvbiAyNS41LjA6IFR1ZSBKdW4gOSAyMjoxODo1OCBQRFQgMjAyNjsgcm9vdDp4bnUtMTIz
NzcuMTIxLjEwfjEvUkVMRUFTRV9BUk02NF9UNjAwMAoKLi4gY29udGVudHM6OiA6ZGVwdGg6IDIK
ClNLSVA6IHQvZ2V0LXN5c2NvbmYKPT09PT09PT09PT09PT09PT09PQoKYW0tdGVzdC1saWIuc2g6
IFJ1bm5pbmcgZnJvbSBpbnN0YWxsY2hlY2s6IG5vCmFtLXRlc3QtbGliLnNoOiBUZXN0IFByb3Rv
Y29sOiBub25lCmFtLXRlc3QtbGliLnNoOiBQQVRIID0gL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
YmluOi91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvYXg6L3RtcC9nbnUtbGlua3M6LjovVXNlcnMv
am9obnNvbmUvYmluL29zeDovVXNlcnMvam9obnNvbmUvYmluOi91c3IvbG9jYWwvYmluOi9TeXN0
ZW0vQ3J5cHRleGVzL0FwcC91c3IvYmluOi91c3IvYmluOi9iaW46L3Vzci9zYmluOi9zYmluOi92
YXIvcnVuL2NvbS5hcHBsZS5zZWN1cml0eS5jcnlwdGV4ZC9jb2RleC5zeXN0ZW0vYm9vdHN0cmFw
L3Vzci9sb2NhbC9iaW46L3Zhci9ydW4vY29tLmFwcGxlLnNlY3VyaXR5LmNyeXB0ZXhkL2NvZGV4
LnN5c3RlbS9ib290c3RyYXAvdXNyL2JpbjovdmFyL3J1bi9jb20uYXBwbGUuc2VjdXJpdHkuY3J5
cHRleGQvY29kZXguc3lzdGVtL2Jvb3RzdHJhcC91c3IvYXBwbGVpbnRlcm5hbC9iaW46L3BrZy9l
bnYvZ2xvYmFsL2Jpbjovb3B0L1gxMS9iaW46L0xpYnJhcnkvQXBwbGUvdXNyL2JpbjovTGlicmFy
eS9UZVgvdGV4YmluOi46L1VzZXJzL2pvaG5zb25lL2Jpbi9vc3g6L1VzZXJzL2pvaG5zb25lL2Jp
bgorKyBwd2QKL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9nZXQtc3lzY29uZi5kaXIKKyBzdD0w
CisgdGVzdCAtZCAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS8uZ2l0CisgY2QgL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UKKyBnaXQgLS1uby1wYWdlciBsb2cgLTEKY29tbWl0IGY4ODgwZTI5N2EzZWQ5
YzI2NWJhNDFlNjFlNWZhZTlmYjE5MTRiOWYKQXV0aG9yOiBLYXJsIEJlcnJ5IDxrYXJsQGZyZWVm
cmllbmRzLm9yZz4KRGF0ZTogICBUaHUgSnVuIDI1IDE1OjAxOjE4IDIwMjYgLTA3MDAKCiAgICBk
b2M6IE5FV1MgZW50cnkgZm9yIHRoZSBidXN5Ym94IHRhciBjaGVjay4KICAgIAogICAgKiBORVdT
OiBmb3Jnb3QgdG8gbWFrZSBORVdTIGVudHJ5LgorIC91c3IvYmluL3BlcmwgLVYKU3VtbWFyeSBv
ZiBteSBwZXJsNSAocmV2aXNpb24gNSB2ZXJzaW9uIDM0IHN1YnZlcnNpb24gMSkgY29uZmlndXJh
dGlvbjoKICAgCiAgUGxhdGZvcm06CiAgICBvc25hbWU9ZGFyd2luCiAgICBvc3ZlcnM9MjUuMAog
ICAgYXJjaG5hbWU9ZGFyd2luLXRocmVhZC1tdWx0aS0ybGV2ZWwKICAgIHVuYW1lPSdkYXJ3aW4g
cTlmZ3YucDFzLnBseC5zZC5hcHBsZS5jb20gMjUuMCBkYXJ3aW4ga2VybmVsIHZlcnNpb24gMjMu
MC4wOiB0aHUgZmViIDEgMTM6MTg6MzQgcHN0IDIwMjQ7IHJvb3Q6eG51LTEwMDAyLjEuMTEuMTAw
LjR+MWRldmVsb3BtZW50X3g4Nl82NCB4ODZfNjQgJwogICAgY29uZmlnX2FyZ3M9Jy1kcyAtZSAt
RHByZWZpeD0vdXNyIC1EY2NmbGFncz0tZyAgLXBpcGUgIC1EbGRmbGFncz0gLURtYW4zZXh0PTNw
bSAtRHVzZWl0aHJlYWRzIC1EdXNlc2hycGxpYiAtRGluY192ZXJzaW9uX2xpc3Q9bm9uZSAtRGNj
PWNjJwogICAgaGludD1yZWNvbW1lbmRlZAogICAgdXNlcG9zaXg9dHJ1ZQogICAgZF9zaWdhY3Rp
b249ZGVmaW5lCiAgICB1c2VpdGhyZWFkcz1kZWZpbmUKICAgIHVzZW11bHRpcGxpY2l0eT1kZWZp
bmUKICAgIHVzZTY0Yml0aW50PWRlZmluZQogICAgdXNlNjRiaXRhbGw9ZGVmaW5lCiAgICB1c2Vs
b25nZG91YmxlPXVuZGVmCiAgICB1c2VteW1hbGxvYz1uCiAgICBkZWZhdWx0X2luY19leGNsdWRl
c19kb3Q9ZGVmaW5lCiAgQ29tcGlsZXI6CiAgICBjYz0nY2MnCiAgICBjY2ZsYWdzID0nIC1nIC1w
aXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZyAtRFBFUkxf
VVNFX1NBRkVfUFVURU5WJwogICAgb3B0aW1pemU9Jy1PcycKICAgIGNwcGZsYWdzPSctZyAtcGlw
ZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtZnN0YWNrLXByb3RlY3Rvci1zdHJvbmcnCiAgICBjY3Zl
cnNpb249JycKICAgIGdjY3ZlcnNpb249J0FwcGxlIExMVk0gMjEuMC4wIChjbGFuZy0yMTAwLjAu
MTIzLjIpIFsraW50ZXJuYWwtb3NdJwogICAgZ2Njb3NhbmR2ZXJzPScnCiAgICBpbnRzaXplPTQK
ICAgIGxvbmdzaXplPTgKICAgIHB0cnNpemU9OAogICAgZG91Ymxlc2l6ZT04CiAgICBieXRlb3Jk
ZXI9MTIzNDU2NzgKICAgIGRvdWJsZWtpbmQ9MwogICAgZF9sb25nbG9uZz1kZWZpbmUKICAgIGxv
bmdsb25nc2l6ZT04CiAgICBkX2xvbmdkYmw9ZGVmaW5lCiAgICBsb25nZGJsc2l6ZT0xNgogICAg
bG9uZ2RibGtpbmQ9MwogICAgaXZ0eXBlPSdsb25nJwogICAgaXZzaXplPTgKICAgIG52dHlwZT0n
ZG91YmxlJwogICAgbnZzaXplPTgKICAgIE9mZl90PSdvZmZfdCcKICAgIGxzZWVrc2l6ZT04CiAg
ICBhbGlnbmJ5dGVzPTgKICAgIHByb3RvdHlwZT1kZWZpbmUKICBMaW5rZXIgYW5kIExpYnJhcmll
czoKICAgIGxkPSdjYycKICAgIGxkZmxhZ3MgPScgLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nJwog
ICAgbGlicHRoPS9BcHBsZUludGVybmFsL0xpYnJhcnkvQnVpbGRSb290cy80fkNOcG91Z0RzLWZV
TGEydXUzZzJyVURCbGNYQVNJOGp3QmpsNEJNQS9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRl
bnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01h
Y09TWDI2LjUuSW50ZXJuYWwuc2RrL3Vzci9sb2NhbC9saWIgL0FwcGxlSW50ZXJuYWwvTGlicmFy
eS9CdWlsZFJvb3RzLzR+Q05wb3VnRHMtZlVMYTJ1dTNnMnJVREJsY1hBU0k4andCamw0Qk1BL0Fw
cGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1Rvb2xjaGFpbnMvT1NYMjYu
NS54Y3Rvb2xjaGFpbi91c3IvbGliL2NsYW5nLzIxL2xpYiAvQXBwbGVJbnRlcm5hbC9MaWJyYXJ5
L0J1aWxkUm9vdHMvNH5DTnBvdWdEcy1mVUxhMnV1M2cyclVEQmxjWEFTSThqd0JqbDRCTUEvQXBw
bGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5w
bGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1gyNi41LkludGVybmFsLnNkay91c3IvbGliIC9B
cHBsZUludGVybmFsL0xpYnJhcnkvQnVpbGRSb290cy80fkNOcG91Z0RzLWZVTGEydXUzZzJyVURC
bGNYQVNJOGp3QmpsNEJNQS9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Bl
ci9Ub29sY2hhaW5zL1hjb2RlRGVmYXVsdC54Y3Rvb2xjaGFpbi91c3IvbGliIC91c3IvbGliIC91
c3IvbG9jYWwvbGliCiAgICBsaWJzPSAKICAgIHBlcmxsaWJzPQogICAgbGliYz0KICAgIHNvPWR5
bGliCiAgICB1c2VzaHJwbGliPXRydWUKICAgIGxpYnBlcmw9bGlicGVybC5keWxpYgogICAgZ251
bGliY192ZXJzaW9uPScnCiAgRHluYW1pYyBMaW5raW5nOgogICAgZGxzcmM9ZGxfZGxvcGVuLnhz
CiAgICBkbGV4dD1idW5kbGUKICAgIGRfZGxzeW11bj11bmRlZgogICAgY2NkbGZsYWdzPScgJwog
ICAgY2NjZGxmbGFncz0nICcKICAgIGxkZGxmbGFncz0nIC1idW5kbGUgLXVuZGVmaW5lZCBkeW5h
bWljX2xvb2t1cCAtZnN0YWNrLXByb3RlY3Rvci1zdHJvbmcnCgoKQ2hhcmFjdGVyaXN0aWNzIG9m
IHRoaXMgYmluYXJ5IChmcm9tIGxpYnBlcmwpOiAKICBDb21waWxlLXRpbWUgb3B0aW9uczoKICAg
IEhBU19USU1FUwogICAgTVVMVElQTElDSVRZCiAgICBQRVJMSU9fTEFZRVJTCiAgICBQRVJMX0NP
UFlfT05fV1JJVEUKICAgIFBFUkxfRE9OVF9DUkVBVEVfR1ZTVgogICAgUEVSTF9JTVBMSUNJVF9D
T05URVhUCiAgICBQRVJMX01BTExPQ19XUkFQCiAgICBQRVJMX09QX1BBUkVOVAogICAgUEVSTF9Q
UkVTRVJWRV9JVlVWCiAgICBQRVJMX1VTRV9TQUZFX1BVVEVOVgogICAgVVNFXzY0X0JJVF9BTEwK
ICAgIFVTRV82NF9CSVRfSU5UCiAgICBVU0VfSVRIUkVBRFMKICAgIFVTRV9MQVJHRV9GSUxFUwog
ICAgVVNFX0xPQ0FMRQogICAgVVNFX0xPQ0FMRV9DT0xMQVRFCiAgICBVU0VfTE9DQUxFX0NUWVBF
CiAgICBVU0VfTE9DQUxFX05VTUVSSUMKICAgIFVTRV9MT0NBTEVfVElNRQogICAgVVNFX1BFUkxJ
TwogICAgVVNFX1BFUkxfQVRPRgogICAgVVNFX1JFRU5UUkFOVF9BUEkKICAgIFVTRV9USFJFQURf
U0FGRV9MT0NBTEUKICBMb2NhbGx5IGFwcGxpZWQgcGF0Y2hlczoKICAgIC9MaWJyYXJ5L1Blcmwv
VXBkYXRlcy88dmVyc2lvbj4gY29tZXMgYmVmb3JlIHN5c3RlbSBwZXJsIGRpcmVjdG9yaWVzCiAg
ICBpbnN0YWxscHJpdmxpYiBhbmQgaW5zdGFsbGFyY2hsaWIgcG9pbnRzIHRvIHRoZSBVcGRhdGVz
IGRpcmVjdG9yeQogIEJ1aWx0IHVuZGVyIGRhcndpbgogIENvbXBpbGVkIGF0IEFwciAxOCAyMDI2
IDE3OjE2OjIxCiAgJUVOVjoKICAgIFBFUkw1TElCPSIvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS9s
aWIvOi91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL2xpYi8iCiAgQElOQzoKICAgIC91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL2xpYi8KICAgIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL2xpYi8KICAgIC9M
aWJyYXJ5L1BlcmwvNS4zNC9kYXJ3aW4tdGhyZWFkLW11bHRpLTJsZXZlbAogICAgL0xpYnJhcnkv
UGVybC81LjM0CiAgICAvTmV0d29yay9MaWJyYXJ5L1BlcmwvNS4zNC9kYXJ3aW4tdGhyZWFkLW11
bHRpLTJsZXZlbAogICAgL05ldHdvcmsvTGlicmFyeS9QZXJsLzUuMzQKICAgIC9MaWJyYXJ5L1Bl
cmwvVXBkYXRlcy81LjM0LjEKICAgIC9TeXN0ZW0vTGlicmFyeS9QZXJsLzUuMzQvZGFyd2luLXRo
cmVhZC1tdWx0aS0ybGV2ZWwKICAgIC9TeXN0ZW0vTGlicmFyeS9QZXJsLzUuMzQKICAgIC9TeXN0
ZW0vTGlicmFyeS9QZXJsL0V4dHJhcy81LjM0L2Rhcndpbi10aHJlYWQtbXVsdGktMmxldmVsCiAg
ICAvU3lzdGVtL0xpYnJhcnkvUGVybC9FeHRyYXMvNS4zNAorIC91c3IvYmluL3BlcmwgLWUgJ3Vz
ZSBUQVA6OlBhcnNlcjsgcHJpbnQgJFRBUDo6UGFyc2VyOjpWRVJTSU9OLCAiXG4iJwozLjQzCisg
YXV0b2NvbmYgLS12ZXJzaW9uCmF1dG9jb25mIChHTlUgQXV0b2NvbmYpIDIuNzMKQ29weXJpZ2h0
IChDKSAyMDI2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpMaWNlbnNlIEdQTHYzKy9B
dXRvY29uZjogR05VIEdQTCB2ZXJzaW9uIDMgb3IgbGF0ZXIKPGh0dHBzOi8vZ251Lm9yZy9saWNl
bnNlcy9ncGwuaHRtbD4sIDxodHRwczovL2dudS5vcmcvbGljZW5zZXMvZXhjZXB0aW9ucy5odG1s
PgpUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlz
dHJpYnV0ZSBpdC4KVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVk
IGJ5IGxhdy4KCldyaXR0ZW4gYnkgRGF2aWQgSi4gTWFjS2VuemllIGFuZCBBa2ltIERlbWFpbGxl
LgorIGF1dG9jb25mIC0taGVscApVc2FnZTogL3Vzci9sb2NhbC9iaW4vYXV0b2NvbmYgW09QVElP
Tl0uLi4gW1RFTVBMQVRFLUZJTEVdCgpHZW5lcmF0ZSBhIGNvbmZpZ3VyYXRpb24gc2NyaXB0IGZy
b20gYSBURU1QTEFURS1GSUxFIGlmIGdpdmVuLCBvcgonY29uZmlndXJlLmFjJyBpZiBwcmVzZW50
LCBvciBlbHNlICdjb25maWd1cmUuaW4nLiAgT3V0cHV0IGlzIHNlbnQKdG8gdGhlIHN0YW5kYXJk
IG91dHB1dCBpZiBURU1QTEFURS1GSUxFIGlzIGdpdmVuLCBlbHNlIGludG8KJ2NvbmZpZ3VyZScu
CgpPcGVyYXRpb24gbW9kZXM6CiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICBwcmludCB0aGlz
IGhlbHAsIHRoZW4gZXhpdAogIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgcHJpbnQgdmVyc2lv
biBudW1iZXIsIHRoZW4gZXhpdAogIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgdmVyYm9zZWx5
IHJlcG9ydCBwcm9jZXNzaW5nCiAgLWQsIC0tZGVidWcgICAgICAgICAgICAgICBkb24ndCByZW1v
dmUgdGVtcG9yYXJ5IGZpbGVzCiAgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBjb25zaWRlciBh
bGwgZmlsZXMgb2Jzb2xldGUKICAtbywgLS1vdXRwdXQ9RklMRSAgICAgICAgIHNhdmUgb3V0cHV0
IGluIEZJTEUgKHN0ZG91dCBpcyB0aGUgZGVmYXVsdCkKICAtVywgLS13YXJuaW5ncz1DQVRFR09S
WSAgIHJlcG9ydCB0aGUgd2FybmluZ3MgZmFsbGluZyBpbiBDQVRFR09SWQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKGNvbW1hLXNlcGFyYXRlZCBsaXN0IGFjY2VwdGVkKQoKV2FybmluZyBj
YXRlZ29yaWVzIGFyZToKICBjcm9zcyAgICAgICAgICAgICAgICAgIGNyb3NzIGNvbXBpbGF0aW9u
IGlzc3VlcwogIGdudSAgICAgICAgICAgICAgICAgICAgR05VIGNvZGluZyBzdGFuZGFyZHMgKGRl
ZmF1bHQgaW4gZ251IGFuZCBnbml0cyBtb2RlcykKICBvYnNvbGV0ZSAgICAgICAgICAgICAgIG9i
c29sZXRlIGZlYXR1cmVzIG9yIGNvbnN0cnVjdGlvbnMgKGRlZmF1bHQpCiAgb3ZlcnJpZGUgICAg
ICAgICAgICAgICB1c2VyIHJlZGVmaW5pdGlvbnMgb2YgQXV0b21ha2UgcnVsZXMgb3IgdmFyaWFi
bGVzCiAgcG9ydGFiaWxpdHkgICAgICAgICAgICBwb3J0YWJpbGl0eSBpc3N1ZXMgKGRlZmF1bHQg
aW4gZ251IGFuZCBnbml0cyBtb2RlcykKICBwb3J0YWJpbGl0eS1yZWN1cnNpdmUgIG5lc3RlZCBN
YWtlIHZhcmlhYmxlcyAoZGVmYXVsdCB3aXRoIC1XcG9ydGFiaWxpdHkpCiAgZXh0cmEtcG9ydGFi
aWxpdHkgICAgICBleHRyYSBwb3J0YWJpbGl0eSBpc3N1ZXMgcmVsYXRlZCB0byBvYnNjdXJlIHRv
b2xzCiAgc3ludGF4ICAgICAgICAgICAgICAgICBkdWJpb3VzIHN5bnRhY3RpYyBjb25zdHJ1Y3Rz
IChkZWZhdWx0KQogIHVuc3VwcG9ydGVkICAgICAgICAgICAgdW5zdXBwb3J0ZWQgb3IgaW5jb21w
bGV0ZSBmZWF0dXJlcyAoZGVmYXVsdCkKCi1XIGFsc28gdW5kZXJzdGFuZHM6CiAgYWxsICAgICAg
ICAgICAgICAgICAgICB0dXJuIG9uIGFsbCB0aGUgd2FybmluZ3MKICBub25lICAgICAgICAgICAg
ICAgICAgIHR1cm4gb2ZmIGFsbCB0aGUgd2FybmluZ3MKICBuby1DQVRFR09SWSAgICAgICAgICAg
IHR1cm4gb2ZmIHdhcm5pbmdzIGluIENBVEVHT1JZCiAgZXJyb3IgICAgICAgICAgICAgICAgICB0
cmVhdCBhbGwgZW5hYmxlZCB3YXJuaW5ncyBhcyBlcnJvcnMKCkxpYnJhcnkgZGlyZWN0b3JpZXM6
CiAgLUIsIC0tcHJlcGVuZC1pbmNsdWRlPURJUiAgcHJlcGVuZCBkaXJlY3RvcnkgRElSIHRvIHNl
YXJjaCBwYXRoCiAgLUksIC0taW5jbHVkZT1ESVIgICAgICAgICAgYXBwZW5kIGRpcmVjdG9yeSBE
SVIgdG8gc2VhcmNoIHBhdGgKClRyYWNpbmc6CiAgLXQsIC0tdHJhY2U9TUFDUk9bOkZPUk1BVF0g
IHJlcG9ydCB0aGUgbGlzdCBvZiBjYWxscyB0byBNQUNSTwogIC1pLCAtLWluaXRpYWxpemF0aW9u
ICAgICAgICBhbHNvIHRyYWNlIEF1dG9jb25mJ3MgaW5pdGlhbGl6YXRpb24gcHJvY2VzcwoKSW4g
dHJhY2luZyBtb2RlLCBubyBjb25maWd1cmF0aW9uIHNjcmlwdCBpcyBjcmVhdGVkLiAgRk9STUFU
IGRlZmF1bHRzCnRvICckZjokbDokbjokJSc7IHNlZSAnYXV0b200dGUgLS1oZWxwJyBmb3IgaW5m
b3JtYXRpb24gYWJvdXQgRk9STUFULgoKUmVwb3J0IGJ1Z3MgaW4gdGhlIHRyYWNrZXIgYXQgPGh0
dHBzOi8vc2F2YW5uYWguZ251Lm9yZy9wcm9qZWN0cy9hdXRvY29uZj4Kb3IgYnkgZW1haWwgdG8g
PGJ1Zy1hdXRvY29uZkBnbnUub3JnPi4KClRoZSBmdWxsIGRvY3VtZW50YXRpb24gZm9yIEF1dG9j
b25mIGNhbiBiZSByZWFkIHZpYSAnaW5mbyBhdXRvY29uZicsCm9yIG9uIHRoZSBXZWIgYXQgPGh0
dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYXV0b2NvbmYvbWFudWFsLz4uCisgbGlidG9vbGl6
ZSAtLXZlcnNpb24KbGlidG9vbGl6ZSAoR05VIGxpYnRvb2wpIDIuNi4yCkNvcHlyaWdodCAoQykg
MjAyNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KTGljZW5zZSBHUEx2Mis6IEdOVSBH
UEwgdmVyc2lvbiAyIG9yIGxhdGVyIDxodHRwczovL2dudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWw+
ClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0
cmlidXRlIGl0LgpUaGVyZSBpcyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQg
YnkgbGF3LgoKV3JpdHRlbiBieSBHYXJ5IFYuIFZhdWdoYW4gPGdhcnlAZ251Lm9yZz4sIDIwMDMK
KyBsaWJ0b29saXplIC0taGVscApVc2FnZTogL3RtcC9nbnUtbGlua3MvbGlidG9vbGl6ZSBbT1BU
SU9OXS4uLgoKUHJlcGFyZSBhIHBhY2thZ2UgdG8gdXNlIGxpYnRvb2wuCgpPcHRpb25zOgogICAt
YywgLS1jb3B5ICAgICAgICAgIGNvcHkgZmlsZXMgcmF0aGVyIHRoYW4gc3ltbGlua2luZyB0aGVt
CiAgICAgICAtLWRlYnVnICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugc2hlbGwgdHJhY2luZwogICAt
biwgLS1kcnktcnVuICAgICAgIHByaW50IGNvbW1hbmRzIHJhdGhlciB0aGFuIHJ1bm5pbmcgdGhl
bQogICAtZiwgLS1mb3JjZSAgICAgICAgIHJlcGxhY2UgZXhpc3RpbmcgZmlsZXMKICAgLWksIC0t
aW5zdGFsbCAgICAgICBjb3B5IG1pc3NpbmcgYXV4aWxpYXJ5IGZpbGVzCiAgICAgICAtLWx0ZGxb
PURJUl0gICAgaW5zdGFsbCBsaWJsdGRsIHNvdXJjZXMgW2RlZmF1bHQ6IGxpYmx0ZGxdCiAgICAg
ICAtLW5vLXdhcm5pbmdzICAgZXF1aXZhbGVudCB0byAnLVdub25lJwogICAgICAgLS1ub25yZWN1
cnNpdmUgIHByZXBhcmUgbHRkbCBmb3Igbm9uLXJlY3Vyc2l2ZSBtYWtlCiAgIC1xLCAtLXF1aWV0
ICAgICAgICAgd29yayBzaWxlbnRseQogICAgICAgLS1yZWN1cnNpdmUgICAgIHByZXBhcmUgbHRk
bCBmb3IgcmVjdXJzaXZlIG1ha2UKICAgICAgIC0tc3VicHJvamVjdCAgICBwcmVwYXJlIGx0ZGwg
dG8gY29uZmlndXJlIGFuZCBidWlsZCBpbmRlcGVuZGVudGx5CiAgIC12LCAtLXZlcmJvc2UgICAg
ICAgdmVyYm9zZWx5IHJlcG9ydCBwcm9jZXNzaW5nCiAgICAgICAtLXZlcnNpb24gICAgICAgcHJp
bnQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdAogICAtVywgLS13YXJuaW5ncz1DQVRFR09S
WQogICAgICAgICAgICAgICAgICAgICAgIHJlcG9ydCB0aGUgd2FybmluZ3MgZmFsbGluZyBpbiBD
QVRFR09SWSBbYWxsXQogICAtaCwgLS1oZWxwICAgICAgICAgIHByaW50IHNob3J0IG9yIGxvbmcg
aGVscCBtZXNzYWdlCgoKV2FybmluZyBjYXRlZ29yaWVzIGluY2x1ZGU6CiAgICAgICAnYWxsJyAg
ICAgICAgICBzaG93IGFsbCB3YXJuaW5ncwogICAgICAgJ25vbmUnICAgICAgICAgdHVybiBvZmYg
YWxsIHRoZSB3YXJuaW5ncwogICAgICAgJ2Vycm9yJyAgICAgICAgd2FybmluZ3MgYXJlIHRyZWF0
ZWQgYXMgZmF0YWwgZXJyb3JzCiAgICAgICAnZW52aXJvbm1lbnQnICAgc2hvdyB3YXJuaW5ncyBh
Ym91dCBMSUJUT09MSVpFX09QVElPTlMgY29udGVudAogICAgICAgJ2ZpbGUnICAgICAgICAgIHNo
b3cgd2FybmluZ3MgYWJvdXQgZmlsZSBjb3B5aW5nIGFuZCBsaW5raW5nCgpUaGUgZm9sbG93aW5n
IHNwYWNlIG9yIGNvbW1hIGRlbGltaXRlZCBvcHRpb25zIGNhbiBiZSBwYXNzZWQgdG8gbGlidG9v
bGl6ZQp2aWEgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIExJQlRPT0xJWkVfT1BUSU9OUywgdW5r
bm93biBlbnZpcm9ubWVudApvcHRpb25zIGFyZSBpZ25vcmVkOgoKICAgICAgIC0tZGVidWcgICAg
ICAgICBlbmFibGUgdmVyYm9zZSBzaGVsbCB0cmFjaW5nCiAgICAgICAtLW5vLXdhcm5pbmdzICAg
ZG9uJ3QgZGlzcGxheSB3YXJuaW5nIG1lc3NhZ2VzCiAgICAgICAtLXF1aWV0ICAgICAgICAgd29y
ayBzaWxlbnRseQogICAgICAgLS12ZXJib3NlICAgICAgIHZlcmJvc2VseSByZXBvcnQgcHJvY2Vz
c2luZwoKWW91IG11c3QgJ2NkJyB0byB0aGUgdG9wIGRpcmVjdG9yeSBvZiB5b3VyIHBhY2thZ2Ug
YmVmb3JlIHlvdSBydW4KJ2xpYnRvb2xpemUnLgoKV2hlbiByZXBvcnRpbmcgYSBidWcsIHBsZWFz
ZSBkZXNjcmliZSBhIHRlc3QgY2FzZSB0byByZXByb2R1Y2UgaXQgYW5kCmluY2x1ZGUgdGhlIGZv
bGxvd2luZyBpbmZvcm1hdGlvbjoKCiAgICAgICBob3N0LXRyaXBsZXQ6ICAgYWFyY2g2NC1hcHBs
ZS1kYXJ3aW4yNS41LjAKICAgICAgIHZlcnNpb246ICAgICAgICBsaWJ0b29saXplIChHTlUgbGli
dG9vbCkgMi42LjIKICAgICAgIGF1dG9tYWtlOiAgICAgICBhdXRvbWFrZSAoR05VIGF1dG9tYWtl
KSAxLjE4LjEuOTEKICAgICAgIGF1dG9jb25mOiAgICAgICBhdXRvY29uZiAoR05VIEF1dG9jb25m
KSAyLjczCgpSZXBvcnQgYnVncyB0byA8YnVnLWxpYnRvb2xAZ251Lm9yZz4uCkdOVSBsaWJ0b29s
IGhvbWUgcGFnZTogPGh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGlidG9vbC8+LgpHZW5l
cmFsIGhlbHAgdXNpbmcgR05VIHNvZnR3YXJlOiA8aHR0cHM6Ly93d3cuZ251Lm9yZy9nZXRoZWxw
Lz4uCisgbGV4IC0tdmVyc2lvbgpmbGV4IDIuNi40IEFwcGxlKGZsZXgtMzUpCisgbGV4IC0taGVs
cApVc2FnZTogZmxleCBbT1BUSU9OU10gW0ZJTEVdLi4uCkdlbmVyYXRlcyBwcm9ncmFtcyB0aGF0
IHBlcmZvcm0gcGF0dGVybi1tYXRjaGluZyBvbiB0ZXh0LgoKVGFibGUgQ29tcHJlc3Npb246CiAg
LUNhLCAtLWFsaWduICAgICAgdHJhZGUgb2ZmIGxhcmdlciB0YWJsZXMgZm9yIGJldHRlciBtZW1v
cnkgYWxpZ25tZW50CiAgLUNlLCAtLWVjcyAgICAgICAgY29uc3RydWN0IGVxdWl2YWxlbmNlIGNs
YXNzZXMKICAtQ2YgICAgICAgICAgICAgICBkbyBub3QgY29tcHJlc3MgdGFibGVzOyB1c2UgLWYg
cmVwcmVzZW50YXRpb24KICAtQ0YgICAgICAgICAgICAgICBkbyBub3QgY29tcHJlc3MgdGFibGVz
OyB1c2UgLUYgcmVwcmVzZW50YXRpb24KICAtQ20sIC0tbWV0YS1lY3MgICBjb25zdHJ1Y3QgbWV0
YS1lcXVpdmFsZW5jZSBjbGFzc2VzCiAgLUNyLCAtLXJlYWQgICAgICAgdXNlIHJlYWQoKSBpbnN0
ZWFkIG9mIHN0ZGlvIGZvciBzY2FubmVyIGlucHV0CiAgLWYsIC0tZnVsbCAgICAgICAgZ2VuZXJh
dGUgZmFzdCwgbGFyZ2Ugc2Nhbm5lci4gU2FtZSBhcyAtQ2ZyCiAgLUYsIC0tZmFzdCAgICAgICAg
dXNlIGFsdGVybmF0ZSB0YWJsZSByZXByZXNlbnRhdGlvbi4gU2FtZSBhcyAtQ0ZyCiAgLUNlbSAg
ICAgICAgICAgICAgZGVmYXVsdCBjb21wcmVzc2lvbiAoc2FtZSBhcyAtLWVjcyAtLW1ldGEtZWNz
KQoKRGVidWdnaW5nOgogIC1kLCAtLWRlYnVnICAgICAgICAgICAgIGVuYWJsZSBkZWJ1ZyBtb2Rl
IGluIHNjYW5uZXIKICAtYiwgLS1iYWNrdXAgICAgICAgICAgICB3cml0ZSBiYWNraW5nLXVwIGlu
Zm9ybWF0aW9uIHRvIGxleC5iYWNrdXAKICAtcCwgLS1wZXJmLXJlcG9ydCAgICAgICB3cml0ZSBw
ZXJmb3JtYW5jZSByZXBvcnQgdG8gc3RkZXJyCiAgLXMsIC0tbm9kZWZhdWx0ICAgICAgICAgc3Vw
cHJlc3MgZGVmYXVsdCBydWxlIHRvIEVDSE8gdW5tYXRjaGVkIHRleHQKICAtVCwgLS10cmFjZSAg
ICAgICAgICAgICBmbGV4IHNob3VsZCBydW4gaW4gdHJhY2UgbW9kZQogIC13LCAtLW5vd2FybiAg
ICAgICAgICAgIGRvIG5vdCBnZW5lcmF0ZSB3YXJuaW5ncwogIC12LCAtLXZlcmJvc2UgICAgICAg
ICAgIHdyaXRlIHN1bW1hcnkgb2Ygc2Nhbm5lciBzdGF0aXN0aWNzIHRvIHN0ZG91dAogICAgICAt
LWhleCAgICAgICAgICAgICAgIHVzZSBoZXhhZGVjaW1hbCBudW1iZXJzIGluc3RlYWQgb2Ygb2N0
YWwgaW4gZGVidWcgb3V0cHV0cwoKRmlsZXM6CiAgLW8sIC0tb3V0ZmlsZT1GSUxFICAgICAgc3Bl
Y2lmeSBvdXRwdXQgZmlsZW5hbWUKICAtUywgLS1za2VsPUZJTEUgICAgICAgICBzcGVjaWZ5IHNr
ZWxldG9uIGZpbGUKICAtdCwgLS1zdGRvdXQgICAgICAgICAgICB3cml0ZSBzY2FubmVyIG9uIHN0
ZG91dCBpbnN0ZWFkIG9mIGxleC55eS5jCiAgICAgIC0teXljbGFzcz1OQU1FICAgICAgbmFtZSBv
ZiBDKysgY2xhc3MKICAgICAgLS1oZWFkZXItZmlsZT1GSUxFICAgY3JlYXRlIGEgQyBoZWFkZXIg
ZmlsZSBpbiBhZGRpdGlvbiB0byB0aGUgc2Nhbm5lcgogICAgICAtLXRhYmxlcy1maWxlWz1GSUxF
XSB3cml0ZSB0YWJsZXMgdG8gRklMRQoKU2Nhbm5lciBiZWhhdmlvcjoKICAtNywgLS03Yml0ICAg
ICAgICAgICAgICBnZW5lcmF0ZSA3LWJpdCBzY2FubmVyCiAgLTgsIC0tOGJpdCAgICAgICAgICAg
ICAgZ2VuZXJhdGUgOC1iaXQgc2Nhbm5lcgogIC1CLCAtLWJhdGNoICAgICAgICAgICAgIGdlbmVy
YXRlIGJhdGNoIHNjYW5uZXIgKG9wcG9zaXRlIG9mIC1JKQogIC1pLCAtLWNhc2UtaW5zZW5zaXRp
dmUgIGlnbm9yZSBjYXNlIGluIHBhdHRlcm5zCiAgLWwsIC0tbGV4LWNvbXBhdCAgICAgICAgbWF4
aW1hbCBjb21wYXRpYmlsaXR5IHdpdGggb3JpZ2luYWwgbGV4CiAgLVgsIC0tcG9zaXgtY29tcGF0
ICAgICAgbWF4aW1hbCBjb21wYXRpYmlsaXR5IHdpdGggUE9TSVggbGV4CiAgLUksIC0taW50ZXJh
Y3RpdmUgICAgICAgZ2VuZXJhdGUgaW50ZXJhY3RpdmUgc2Nhbm5lciAob3Bwb3NpdGUgb2YgLUIp
CiAgICAgIC0teXlsaW5lbm8gICAgICAgICAgdHJhY2sgbGluZSBjb3VudCBpbiB5eWxpbmVubwoK
R2VuZXJhdGVkIGNvZGU6CiAgLSssICAtLWMrKyAgICAgICAgICAgICAgIGdlbmVyYXRlIEMrKyBz
Y2FubmVyIGNsYXNzCiAgLURtYWNyb1s9ZGVmbl0gICAgICAgICAgICNkZWZpbmUgbWFjcm8gZGVm
biAgKGRlZmF1bHQgZGVmbiBpcyAnMScpCiAgLUwsICAtLW5vbGluZSAgICAgICAgICAgIHN1cHBy
ZXNzICNsaW5lIGRpcmVjdGl2ZXMgaW4gc2Nhbm5lcgogIC1QLCAgLS1wcmVmaXg9U1RSSU5HICAg
ICB1c2UgU1RSSU5HIGFzIHByZWZpeCBpbnN0ZWFkIG9mICJ5eSIKICAtUiwgIC0tcmVlbnRyYW50
ICAgICAgICAgZ2VuZXJhdGUgYSByZWVudHJhbnQgQyBzY2FubmVyCiAgICAgICAtLWJpc29uLWJy
aWRnZSAgICAgIHNjYW5uZXIgZm9yIGJpc29uIHB1cmUgcGFyc2VyLgogICAgICAgLS1iaXNvbi1s
b2NhdGlvbnMgICBpbmNsdWRlIHl5bGxvYyBzdXBwb3J0LgogICAgICAgLS1zdGRpbml0ICAgICAg
ICAgICBpbml0aWFsaXplIHl5aW4veXlvdXQgdG8gc3RkaW4vc3Rkb3V0CiAgICAgICAtLW5vdW5p
c3RkICAgICAgICAgIGRvIG5vdCBpbmNsdWRlIDx1bmlzdGQuaD4KICAgICAgIC0tbm9GVU5DVElP
TiAgICAgICAgZG8gbm90IGdlbmVyYXRlIGEgcGFydGljdWxhciBGVU5DVElPTgoKTWlzY2VsbGFu
ZW91czoKICAtYyAgICAgICAgICAgICAgICAgICAgICBkby1ub3RoaW5nIFBPU0lYIG9wdGlvbgog
IC1uICAgICAgICAgICAgICAgICAgICAgIGRvLW5vdGhpbmcgUE9TSVggb3B0aW9uCiAgLT8KICAt
aCwgLS1oZWxwICAgICAgICAgICAgICBwcm9kdWNlIHRoaXMgaGVscCBtZXNzYWdlCiAgLVYsIC0t
dmVyc2lvbiAgICAgICAgICAgcmVwb3J0IGZsZXggdmVyc2lvbgorIHlhY2MgLS12ZXJzaW9uCmJp
c29uIChHTlUgQmlzb24pIDMuOC4yCldyaXR0ZW4gYnkgUm9iZXJ0IENvcmJldHQgYW5kIFJpY2hh
cmQgU3RhbGxtYW4uCgpDb3B5cmlnaHQgKEMpIDIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcg
Y29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PCndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgorIHlhY2MgLS1oZWxw
ClVzYWdlOiAvdXNyL2xvY2FsL2Jpbi9iaXNvbiBbT1BUSU9OXS4uLiBGSUxFCkdlbmVyYXRlIGEg
ZGV0ZXJtaW5pc3RpYyBMUiBvciBnZW5lcmFsaXplZCBMUiAoR0xSKSBwYXJzZXIgZW1wbG95aW5n
CkxBTFIoMSksIElFTFIoMSksIG9yIGNhbm9uaWNhbCBMUigxKSBwYXJzZXIgdGFibGVzLgoKTWFu
ZGF0b3J5IGFyZ3VtZW50cyB0byBsb25nIG9wdGlvbnMgYXJlIG1hbmRhdG9yeSBmb3Igc2hvcnQg
b3B0aW9ucyB0b28uClRoZSBzYW1lIGlzIHRydWUgZm9yIG9wdGlvbmFsIGFyZ3VtZW50cy4KCk9w
ZXJhdGlvbiBNb2RlczoKICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMg
aGVscCBhbmQgZXhpdAogIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9u
IGluZm9ybWF0aW9uIGFuZCBleGl0CiAgICAgIC0tcHJpbnQtbG9jYWxlZGlyICAgICAgb3V0cHV0
IGRpcmVjdG9yeSBjb250YWluaW5nIGxvY2FsZS1kZXBlbmRlbnQgZGF0YQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGFuZCBleGl0CiAgICAgIC0tcHJpbnQtZGF0YWRpciAgICAgICAgb3V0
cHV0IGRpcmVjdG9yeSBjb250YWluaW5nIHNrZWxldG9ucyBhbmQgWFNMVAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGFuZCBleGl0CiAgLXUsIC0tdXBkYXRlICAgICAgICAgICAgICAgYXBw
bHkgZml4ZXMgdG8gdGhlIHNvdXJjZSBncmFtbWFyIGZpbGUgYW5kIGV4aXQKICAtZiwgLS1mZWF0
dXJlWz1GRUFUVVJFU10gICBhY3RpdmF0ZSBtaXNjZWxsYW5lb3VzIGZlYXR1cmVzCgpGRUFUVVJF
UyBpcyBhIGxpc3Qgb2YgY29tbWEgc2VwYXJhdGVkIHdvcmRzIHRoYXQgY2FuIGluY2x1ZGU6CiAg
Y2FyZXQsIGRpYWdub3N0aWNzLXNob3ctY2FyZXQKICAgICAgICAgICAgICAgICAgICBzaG93IGVy
cm9ycyB3aXRoIGNhcmV0cwogIGZpeGl0LCBkaWFnbm9zdGljcy1wYXJzZWFibGUtZml4aXRzCiAg
ICAgICAgICAgICAgICAgICAgc2hvdyBtYWNoaW5lLXJlYWRhYmxlIGZpeGVzCiAgc3ludGF4LW9u
bHkgICAgICAgZG8gbm90IGdlbmVyYXRlIGFueSBmaWxlCiAgYWxsICAgICAgICAgICAgICAgYWxs
IG9mIHRoZSBhYm92ZQogIG5vbmUgICAgICAgICAgICAgIGRpc2FibGUgYWxsIG9mIHRoZSBhYm92
ZQoKRGlhZ25vc3RpY3M6CiAgLVcsIC0td2FybmluZ3NbPUNBVEVHT1JZXSAgcmVwb3J0IHRoZSB3
YXJuaW5ncyBmYWxsaW5nIGluIENBVEVHT1JZCiAgICAgIC0tY29sb3JbPVdIRU5dICAgICAgICAg
d2hldGhlciB0byBjb2xvcml6ZSB0aGUgZGlhZ25vc3RpY3MKICAgICAgLS1zdHlsZT1GSUxFICAg
ICAgICAgICBzcGVjaWZ5IHRoZSBDU1MgRklMRSBmb3IgY29sb3JpemVyIGRpYWdub3N0aWNzCgpX
YXJuaW5nIGNhdGVnb3JpZXMgaW5jbHVkZToKICBjb25mbGljdHMtc3IgICAgICBTL1IgY29uZmxp
Y3RzIChlbmFibGVkIGJ5IGRlZmF1bHQpCiAgY29uZmxpY3RzLXJyICAgICAgUi9SIGNvbmZsaWN0
cyAoZW5hYmxlZCBieSBkZWZhdWx0KQogIGNvdW50ZXJleGFtcGxlcywgY2V4CiAgICAgICAgICAg
ICAgICAgICAgZ2VuZXJhdGUgY29uZmxpY3QgY291bnRlcmV4YW1wbGVzCiAgZGFuZ2xpbmctYWxp
YXMgICAgc3RyaW5nIGFsaWFzZXMgbm90IGF0dGFjaGVkIHRvIGEgc3ltYm9sCiAgZGVwcmVjYXRl
ZCAgICAgICAgb2Jzb2xldGUgY29uc3RydWN0cwogIGVtcHR5LXJ1bGUgICAgICAgIGVtcHR5IHJ1
bGVzIHdpdGhvdXQgJWVtcHR5CiAgbWlkcnVsZS12YWx1ZXMgICAgdW5zZXQgb3IgdW51c2VkIG1p
ZHJ1bGUgdmFsdWVzCiAgcHJlY2VkZW5jZSAgICAgICAgdXNlbGVzcyBwcmVjZWRlbmNlIGFuZCBh
c3NvY2lhdGl2aXR5CiAgeWFjYyAgICAgICAgICAgICAgaW5jb21wYXRpYmlsaXRpZXMgd2l0aCBQ
T1NJWCBZYWNjCiAgb3RoZXIgICAgICAgICAgICAgYWxsIG90aGVyIHdhcm5pbmdzIChlbmFibGVk
IGJ5IGRlZmF1bHQpCiAgYWxsICAgICAgICAgICAgICAgYWxsIHRoZSB3YXJuaW5ncyBleGNlcHQg
J2NvdW50ZXJleGFtcGxlcycsICdkYW5nbGluZy1hbGlhcycgYW5kICd5YWNjJwogIG5vLUNBVEVH
T1JZICAgICAgIHR1cm4gb2ZmIHdhcm5pbmdzIGluIENBVEVHT1JZCiAgbm9uZSAgICAgICAgICAg
ICAgdHVybiBvZmYgYWxsIHRoZSB3YXJuaW5ncwogIGVycm9yWz1DQVRFR09SWV0gIHRyZWF0IHdh
cm5pbmdzIGFzIGVycm9ycwoKV0hFTiBjYW4gYmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6CiAgYWx3
YXlzLCB5ZXMgIGNvbG9yaXplIHRoZSBvdXRwdXQKICBuZXZlciwgbm8gICAgZG9uJ3QgY29sb3Jp
emUgdGhlIG91dHB1dAogIGF1dG8sIHR0eSAgICBjb2xvcml6ZSBpZiB0aGUgb3V0cHV0IGRldmlj
ZSBpcyBhIHR0eQoKVHVuaW5nIHRoZSBQYXJzZXI6CiAgLUwsIC0tbGFuZ3VhZ2U9TEFOR1VBR0Ug
ICAgICAgICAgc3BlY2lmeSB0aGUgb3V0cHV0IHByb2dyYW1taW5nIGxhbmd1YWdlCiAgLVMsIC0t
c2tlbGV0b249RklMRSAgICAgICAgICAgICAgc3BlY2lmeSB0aGUgc2tlbGV0b24gdG8gdXNlCiAg
LXQsIC0tZGVidWcgICAgICAgICAgICAgICAgICAgICAgaW5zdHJ1bWVudCB0aGUgcGFyc2VyIGZv
ciB0cmFjaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyAnLURw
YXJzZS50cmFjZScKICAgICAgLS1sb2NhdGlvbnMgICAgICAgICAgICAgICAgICBlbmFibGUgbG9j
YXRpb24gc3VwcG9ydAogIC1ELCAtLWRlZmluZT1OQU1FWz1WQUxVRV0gICAgICAgIHNpbWlsYXIg
dG8gJyVkZWZpbmUgTkFNRSBWQUxVRScKICAtRiwgLS1mb3JjZS1kZWZpbmU9TkFNRVs9VkFMVUVd
ICBvdmVycmlkZSAnJWRlZmluZSBOQU1FIFZBTFVFJwogIC1wLCAtLW5hbWUtcHJlZml4PVBSRUZJ
WCAgICAgICAgIHByZXBlbmQgUFJFRklYIHRvIHRoZSBleHRlcm5hbCBzeW1ib2xzCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwcmVjYXRlZCBieSAnLURhcGkucHJlZml4PXtQ
UkVGSVh9JwogIC1sLCAtLW5vLWxpbmVzICAgICAgICAgICAgICAgICAgIGRvbid0IGdlbmVyYXRl
ICcjbGluZScgZGlyZWN0aXZlcwogIC1rLCAtLXRva2VuLXRhYmxlICAgICAgICAgICAgICAgIGlu
Y2x1ZGUgYSB0YWJsZSBvZiB0b2tlbiBuYW1lcwogIC15LCAtLXlhY2MgICAgICAgICAgICAgICAg
ICAgICAgIGVtdWxhdGUgUE9TSVggWWFjYwoKT3V0cHV0IEZpbGVzOgogIC1ILCAtLWhlYWRlcj1b
RklMRV0gICAgICAgICAgIGFsc28gcHJvZHVjZSBhIGhlYWRlciBmaWxlCiAgLWQgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbGlrZXdpc2UgYnV0IGNhbm5vdCBzcGVjaWZ5IEZJTEUgKGZvciBQ
T1NJWCBZYWNjKQogIC1yLCAtLXJlcG9ydD1USElOR1MgICAgICAgICAgIGFsc28gcHJvZHVjZSBk
ZXRhaWxzIG9uIHRoZSBhdXRvbWF0b24KICAgICAgLS1yZXBvcnQtZmlsZT1GSUxFICAgICAgICB3
cml0ZSByZXBvcnQgdG8gRklMRQogIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHNhbWUg
YXMgJy0tcmVwb3J0PXN0YXRlJwogIC1iLCAtLWZpbGUtcHJlZml4PVBSRUZJWCAgICAgIHNwZWNp
ZnkgYSBQUkVGSVggZm9yIG91dHB1dCBmaWxlcwogIC1vLCAtLW91dHB1dD1GSUxFICAgICAgICAg
ICAgIGxlYXZlIG91dHB1dCB0byBGSUxFCiAgLWcsIC0tZ3JhcGhbPUZJTEVdICAgICAgICAgICAg
YWxzbyBvdXRwdXQgYSBncmFwaCBvZiB0aGUgYXV0b21hdG9uCiAgICAgIC0taHRtbFs9RklMRV0g
ICAgICAgICAgICAgYWxzbyBvdXRwdXQgYW4gSFRNTCByZXBvcnQgb2YgdGhlIGF1dG9tYXRvbgog
IC14LCAtLXhtbFs9RklMRV0gICAgICAgICAgICAgIGFsc28gb3V0cHV0IGFuIFhNTCByZXBvcnQg
b2YgdGhlIGF1dG9tYXRvbgogIC1NLCAtLWZpbGUtcHJlZml4LW1hcD1PTEQ9TkVXIHJlcGxhY2Ug
cHJlZml4IE9MRCB3aXRoIE5FVyB3aGVuIHdyaXRpbmcgZmlsZSBwYXRocwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluIG91dHB1dCBmaWxlcwoKVEhJTkdTIGlzIGEgbGlzdCBvZiBj
b21tYSBzZXBhcmF0ZWQgd29yZHMgdGhhdCBjYW4gaW5jbHVkZToKICBzdGF0ZXMgICAgICAgICAg
ICBkZXNjcmliZSB0aGUgc3RhdGVzCiAgaXRlbXNldHMgICAgICAgICAgY29tcGxldGUgdGhlIGNv
cmUgaXRlbSBzZXRzIHdpdGggdGhlaXIgY2xvc3VyZQogIGxvb2thaGVhZHMgICAgICAgIGV4cGxp
Y2l0bHkgYXNzb2NpYXRlIGxvb2thaGVhZCB0b2tlbnMgdG8gaXRlbXMKICBzb2x2ZWQgICAgICAg
ICAgICBkZXNjcmliZSBzaGlmdC9yZWR1Y2UgY29uZmxpY3RzIHNvbHZpbmcKICBjb3VudGVyZXhh
bXBsZXMsIGNleAogICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlIGNvbmZsaWN0IGNvdW50ZXJl
eGFtcGxlcwogIGFsbCAgICAgICAgICAgICAgIGluY2x1ZGUgYWxsIHRoZSBhYm92ZSBpbmZvcm1h
dGlvbgogIG5vbmUgICAgICAgICAgICAgIGRpc2FibGUgdGhlIHJlcG9ydAoKUmVwb3J0IGJ1Z3Mg
dG8gPGJ1Zy1iaXNvbkBnbnUub3JnPi4KR05VIEJpc29uIGhvbWUgcGFnZTogPGh0dHBzOi8vd3d3
LmdudS5vcmcvc29mdHdhcmUvYmlzb24vPi4KR2VuZXJhbCBoZWxwIHVzaW5nIEdOVSBzb2Z0d2Fy
ZTogPGh0dHBzOi8vd3d3LmdudS5vcmcvZ2V0aGVscC8+LgpGb3IgY29tcGxldGUgZG9jdW1lbnRh
dGlvbiwgcnVuOiBpbmZvIGJpc29uLgorIGNhdCAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS9jb25m
aWcubG9nClRoaXMgZmlsZSBjb250YWlucyBhbnkgbWVzc2FnZXMgcHJvZHVjZWQgYnkgY29tcGls
ZXJzIHdoaWxlCnJ1bm5pbmcgY29uZmlndXJlLCB0byBhaWQgZGVidWdnaW5nIGlmIGNvbmZpZ3Vy
ZSBtYWtlcyBhIG1pc3Rha2UuCgpJdCB3YXMgY3JlYXRlZCBieSBHTlUgQXV0b21ha2UgY29uZmln
dXJlIDEuMTguMS45MSwgd2hpY2ggd2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi43My4g
IEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwoKICAkIC4vY29uZmlndXJlCgojIyAtLS0tLS0t
LS0gIyMKIyMgUGxhdGZvcm0uICMjCiMjIC0tLS0tLS0tLSAjIwoKaG9zdG5hbWUgPSBuZXctaG9z
dC0zLmhvbWUKdW5hbWUgLW0gPSBhcm02NAp1bmFtZSAtciA9IDI1LjUuMAp1bmFtZSAtcyA9IERh
cndpbgp1bmFtZSAtdiA9IERhcndpbiBLZXJuZWwgVmVyc2lvbiAyNS41LjA6IFR1ZSBKdW4gIDkg
MjI6MTg6NTggUERUIDIwMjY7IHJvb3Q6eG51LTEyMzc3LjEyMS4xMH4xL1JFTEVBU0VfQVJNNjRf
VDYwMDAKCi91c3IvYmluL3VuYW1lIC1wID0gYXJtCi9iaW4vdW5hbWUgLVggICAgID0gdW5rbm93
bgoKL2Jpbi9hcmNoICAgICAgICAgICAgICA9IHVua25vd24KL3Vzci9iaW4vYXJjaCAtayAgICAg
ICA9IHVua25vd24KL3Vzci9jb252ZXgvZ2V0c3lzaW5mbyA9IHVua25vd24KL3Vzci9iaW4vaG9z
dGluZm8gICAgICA9IE1hY2gga2VybmVsIHZlcnNpb246CgkgRGFyd2luIEtlcm5lbCBWZXJzaW9u
IDI1LjUuMDogVHVlIEp1biAgOSAyMjoxODo1OCBQRFQgMjAyNjsgcm9vdDp4bnUtMTIzNzcuMTIx
LjEwfjEvUkVMRUFTRV9BUk02NF9UNjAwMApLZXJuZWwgY29uZmlndXJlZCBmb3IgdXAgdG8gMTAg
cHJvY2Vzc29ycy4KMTAgcHJvY2Vzc29ycyBhcmUgcGh5c2ljYWxseSBhdmFpbGFibGUuCjEwIHBy
b2Nlc3NvcnMgYXJlIGxvZ2ljYWxseSBhdmFpbGFibGUuClByb2Nlc3NvciB0eXBlOiBhcm02NGUg
KEFSTTY0RSkKUHJvY2Vzc29ycyBhY3RpdmU6IDAgMSAyIDMgNCA1IDYgNyA4IDkKUHJpbWFyeSBt
ZW1vcnkgYXZhaWxhYmxlOiAxNi4wMCBnaWdhYnl0ZXMKRGVmYXVsdCBwcm9jZXNzb3Igc2V0OiA3
MzMgdGFza3MsIDQ1ODMgdGhyZWFkcywgMTAgcHJvY2Vzc29ycwpMb2FkIGF2ZXJhZ2U6IDUuNDks
IE1hY2ggZmFjdG9yOiA0LjcyCi9iaW4vbWFjaGluZSAgICAgICAgICAgPSB1bmtub3duCi91c3Iv
YmluL29zbGV2ZWwgICAgICAgPSB1bmtub3duCi9iaW4vdW5pdmVyc2UgICAgICAgICAgPSB1bmtu
b3duCgpQQVRIOiAuLwpQQVRIOiAvVXNlcnMvam9obnNvbmUvYmluL29zeC8KUEFUSDogL1VzZXJz
L2pvaG5zb25lL2Jpbi8KUEFUSDogL3Vzci9sb2NhbC9iaW4vClBBVEg6IC9TeXN0ZW0vQ3J5cHRl
eGVzL0FwcC91c3IvYmluLwpQQVRIOiAvdXNyL2Jpbi8KUEFUSDogL2Jpbi8KUEFUSDogL3Vzci9z
YmluLwpQQVRIOiAvc2Jpbi8KUEFUSDogL3Zhci9ydW4vY29tLmFwcGxlLnNlY3VyaXR5LmNyeXB0
ZXhkL2NvZGV4LnN5c3RlbS9ib290c3RyYXAvdXNyL2xvY2FsL2Jpbi8KUEFUSDogL3Zhci9ydW4v
Y29tLmFwcGxlLnNlY3VyaXR5LmNyeXB0ZXhkL2NvZGV4LnN5c3RlbS9ib290c3RyYXAvdXNyL2Jp
bi8KUEFUSDogL3Zhci9ydW4vY29tLmFwcGxlLnNlY3VyaXR5LmNyeXB0ZXhkL2NvZGV4LnN5c3Rl
bS9ib290c3RyYXAvdXNyL2FwcGxlaW50ZXJuYWwvYmluLwpQQVRIOiAvcGtnL2Vudi9nbG9iYWwv
YmluLwpQQVRIOiAvb3B0L1gxMS9iaW4vClBBVEg6IC9MaWJyYXJ5L0FwcGxlL3Vzci9iaW4vClBB
VEg6IC9MaWJyYXJ5L1RlWC90ZXhiaW4vClBBVEg6IC4vClBBVEg6IC9Vc2Vycy9qb2huc29uZS9i
aW4vb3N4LwpQQVRIOiAvVXNlcnMvam9obnNvbmUvYmluLwoKCiMjIC0tLS0tLS0tLS0tICMjCiMj
IENvcmUgdGVzdHMuICMjCiMjIC0tLS0tLS0tLS0tICMjCgpjb25maWd1cmU6MjQyMjogbG9va2lu
ZyBmb3IgYXV4IGZpbGVzOiBjb21waWxlIG1pc3NpbmcgaW5zdGFsbC1zaCBjb25maWcuZ3Vlc3Mg
Y29uZmlnLnN1Ygpjb25maWd1cmU6MjQzNTogIHRyeWluZyAuL2xpYi8KY29uZmlndXJlOjI0NjQ6
ICAgLi9saWIvY29tcGlsZSBmb3VuZApjb25maWd1cmU6MjQ2NDogICAuL2xpYi9taXNzaW5nIGZv
dW5kCmNvbmZpZ3VyZToyNDQ2OiAgIC4vbGliL2luc3RhbGwtc2ggZm91bmQKY29uZmlndXJlOjI0
NjQ6ICAgLi9saWIvY29uZmlnLmd1ZXNzIGZvdW5kCmNvbmZpZ3VyZToyNDY0OiAgIC4vbGliL2Nv
bmZpZy5zdWIgZm91bmQKY29uZmlndXJlOjI2MTE6IGNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBw
b3J0cyBuZXN0ZWQgdmFyaWFibGVzCmNvbmZpZ3VyZToyNjMwOiByZXN1bHQ6IHllcwpjb25maWd1
cmU6MjY0NjogY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5cGUKY29uZmlndXJlOjI2NjI6IHJlc3Vs
dDogYWFyY2g2NC1hcHBsZS1kYXJ3aW4yNS41LjAKY29uZmlndXJlOjI2ODI6IGNoZWNraW5nIGhv
c3Qgc3lzdGVtIHR5cGUKY29uZmlndXJlOjI2OTc6IHJlc3VsdDogYWFyY2g2NC1hcHBsZS1kYXJ3
aW4yNS41LjAKY29uZmlndXJlOjI3NTE6IGNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGlu
c3RhbGwKY29uZmlndXJlOjI4MjU6IHJlc3VsdDogL3Vzci9iaW4vaW5zdGFsbCAtYwpjb25maWd1
cmU6MjgzNjogY2hlY2tpbmcgd2hldGhlciBzbGVlcCBzdXBwb3J0cyBmcmFjdGlvbmFsIHNlY29u
ZHMKY29uZmlndXJlOjI4NTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyODU1OiBjaGVja2luZyBm
aWxlc3lzdGVtIHRpbWVzdGFtcCByZXNvbHV0aW9uCmNvbmZpZ3VyZToyOTkwOiByZXN1bHQ6IDAu
MDEKY29uZmlndXJlOjI5OTU6IGNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMg
c2FuZQpjb25maWd1cmU6MzA0MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMyMTE6IGNoZWNraW5n
IGZvciBhIHJhY2UtZnJlZSBta2RpciAtcApjb25maWd1cmU6MzI1NDogcmVzdWx0OiBta2RpciAt
cApjb25maWd1cmU6MzI2MTogY2hlY2tpbmcgZm9yIGdhd2sKY29uZmlndXJlOjMyOTc6IHJlc3Vs
dDogbm8KY29uZmlndXJlOjMyNjE6IGNoZWNraW5nIGZvciBtYXdrCmNvbmZpZ3VyZTozMjk3OiBy
ZXN1bHQ6IG5vCmNvbmZpZ3VyZTozMjYxOiBjaGVja2luZyBmb3IgbmF3awpjb25maWd1cmU6MzI5
NzogcmVzdWx0OiBubwpjb25maWd1cmU6MzI2MTogY2hlY2tpbmcgZm9yIGF3awpjb25maWd1cmU6
MzI4MjogZm91bmQgL3Vzci9iaW4vYXdrCmNvbmZpZ3VyZTozMjk0OiByZXN1bHQ6IGF3awpjb25m
aWd1cmU6MzMwNTogY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKQpjb25maWd1cmU6
MzMyOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMzNTc6IGNoZWNraW5nIHhhcmdzIC1uIHdvcmtz
CmNvbmZpZ3VyZTozMzczOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzQ1MzogY2hlY2tpbmcgd2hl
dGhlciBVSUQgJzUwMScgaXMgc3VwcG9ydGVkIGJ5IHVzdGFyIGZvcm1hdApjb25maWd1cmU6MzQ1
OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM0NjY6IGNoZWNraW5nIHdoZXRoZXIgR0lEICcyMCcg
aXMgc3VwcG9ydGVkIGJ5IHVzdGFyIGZvcm1hdApjb25maWd1cmU6MzQ3MjogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjM0ODA6IGNoZWNraW5nIGhvdyB0byBjcmVhdGUgYSB1c3RhciB0YXIgYXJjaGl2
ZQpjb25maWd1cmU6MzQ5MTogdGFyIC0tdmVyc2lvbiB8IGdyZXAgR05VID4vZGV2L251bGwKY29u
ZmlndXJlOjM0OTQ6ICQ/ID0gMQpjb25maWd1cmU6MzQ5MTogZ251dGFyIC0tdmVyc2lvbiB8IGdy
ZXAgR05VID4vZGV2L251bGwKLi9jb25maWd1cmU6IGxpbmUgMzQ5MjogZ251dGFyOiBjb21tYW5k
IG5vdCBmb3VuZApjb25maWd1cmU6MzQ5NDogJD8gPSAxCmNvbmZpZ3VyZTozNDkxOiBndGFyIC0t
dmVyc2lvbiB8IGdyZXAgR05VID4vZGV2L251bGwKLi9jb25maWd1cmU6IGxpbmUgMzQ5MjogZ3Rh
cjogY29tbWFuZCBub3QgZm91bmQKY29uZmlndXJlOjM0OTQ6ICQ/ID0gMQpjb25maWd1cmU6MzUz
NDogdGFyZGlyPWNvbmZ0ZXN0LmRpciAmJiBldmFsIGd0YXIgLS1mb3JtYXQ9dXN0YXIgLWNoZiAt
ICIkdGFyZGlyIiA+Y29uZnRlc3QudGFyCi4vY29uZmlndXJlOiBsaW5lIDM1MzU6IGd0YXI6IGNv
bW1hbmQgbm90IGZvdW5kCmNvbmZpZ3VyZTozNTM3OiAkPyA9IDEyNwpjb25maWd1cmU6MzUzNDog
dGFyZGlyPWNvbmZ0ZXN0LmRpciAmJiBldmFsIHRhciBjaGYgLSAiJHRhcmRpciIgPmNvbmZ0ZXN0
LnRhcgpjb25maWd1cmU6MzUzNzogJD8gPSAwCmNvbmZpZ3VyZTozNTQxOiB0YXIgeGYgLSA8Y29u
ZnRlc3QudGFyCmNvbmZpZ3VyZTozNTQ0OiAkPyA9IDAKY29uZmlndXJlOjM1NDY6IGNhdCBjb25m
dGVzdC5kaXIvZmlsZQpHcmVwTWUKY29uZmlndXJlOjM1NDk6ICQ/ID0gMApjb25maWd1cmU6MzU2
NDogcmVzdWx0OiBwbGFpbnRhcgpjb25maWd1cmU6MzYxOTogY2hlY2tpbmcgd2hldGhlciBsbiAt
cyB3b3Jrcwpjb25maWd1cmU6MzYyMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM2MzM6IGNoZWNr
aW5nIGZvciBwZXJsCmNvbmZpZ3VyZTozNjU2OiBmb3VuZCAvdXNyL2Jpbi9wZXJsCmNvbmZpZ3Vy
ZTozNjY5OiByZXN1bHQ6IC91c3IvYmluL3BlcmwKY29uZmlndXJlOjM2OTY6IC91c3IvYmluL3Bl
cmwgLS12ZXJzaW9uCgpUaGlzIGlzIHBlcmwgNSwgdmVyc2lvbiAzNCwgc3VidmVyc2lvbiAxICh2
NS4zNC4xKSBidWlsdCBmb3IgZGFyd2luLXRocmVhZC1tdWx0aS0ybGV2ZWwKKHdpdGggMiByZWdp
c3RlcmVkIHBhdGNoZXMsIHNlZSBwZXJsIC1WIGZvciBtb3JlIGRldGFpbCkKCkNvcHlyaWdodCAx
OTg3LTIwMjIsIExhcnJ5IFdhbGwKClBlcmwgbWF5IGJlIGNvcGllZCBvbmx5IHVuZGVyIHRoZSB0
ZXJtcyBvZiBlaXRoZXIgdGhlIEFydGlzdGljIExpY2Vuc2Ugb3IgdGhlCkdOVSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlLCB3aGljaCBtYXkgYmUgZm91bmQgaW4gdGhlIFBlcmwgNSBzb3VyY2Uga2l0
LgoKQ29tcGxldGUgZG9jdW1lbnRhdGlvbiBmb3IgUGVybCwgaW5jbHVkaW5nIEZBUSBsaXN0cywg
c2hvdWxkIGJlIGZvdW5kIG9uCnRoaXMgc3lzdGVtIHVzaW5nICJtYW4gcGVybCIgb3IgInBlcmxk
b2MgcGVybCIuICBJZiB5b3UgaGF2ZSBhY2Nlc3MgdG8gdGhlCkludGVybmV0LCBwb2ludCB5b3Vy
IGJyb3dzZXIgYXQgaHR0cDovL3d3dy5wZXJsLm9yZy8sIHRoZSBQZXJsIEhvbWUgUGFnZS4KCmNv
bmZpZ3VyZTozNjk5OiAkPyA9IDAKY29uZmlndXJlOjM3MTE6IGNoZWNraW5nIGZvciB0ZXgKY29u
ZmlndXJlOjM3MzI6IGZvdW5kIC9MaWJyYXJ5L1RlWC90ZXhiaW4vdGV4CmNvbmZpZ3VyZTozNzQ0
OiByZXN1bHQ6IHRleApjb25maWd1cmU6Mzc1NTogdGV4IC0tdmVyc2lvbiA8L2Rldi9udWxsClRl
WCAzLjE0MTU5MjY1MyAoVGVYIExpdmUgMjAyNikKa3BhdGhzZWEgdmVyc2lvbiA2LjQuMgpDb3B5
cmlnaHQgMjAyNiBELkUuIEtudXRoLgpUaGVyZSBpcyBOTyB3YXJyYW50eS4gIFJlZGlzdHJpYnV0
aW9uIG9mIHRoaXMgc29mdHdhcmUgaXMKY292ZXJlZCBieSB0aGUgdGVybXMgb2YgYm90aCB0aGUg
VGVYIGNvcHlyaWdodCBhbmQKdGhlIExlc3NlciBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4K
Rm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlc2UgbWF0dGVycywgc2VlIHRoZSBmaWxlCm5h
bWVkIENPUFlJTkcgYW5kIHRoZSBUZVggc291cmNlLgpQcmltYXJ5IGF1dGhvciBvZiBUZVg6IEQu
RS4gS251dGguCmNvbmZpZ3VyZTozNzU4OiAkPyA9IDAKY29uZmlndXJlOjM3NzY6IGNoZWNraW5n
IGZvciB5YWNjCmNvbmZpZ3VyZTozNzk3OiBmb3VuZCAvdXNyL2Jpbi95YWNjCmNvbmZpZ3VyZToz
ODA5OiByZXN1bHQ6IHlhY2MKY29uZmlndXJlOjM4MjU6IGNoZWNraW5nIGZvciBsZXgKY29uZmln
dXJlOjM4NDY6IGZvdW5kIC91c3IvYmluL2xleApjb25maWd1cmU6Mzg1ODogcmVzdWx0OiBsZXgK
Y29uZmlndXJlOjM4Nzk6IGNoZWNraW5nIHdoZXRoZXIgYXV0b2NvbmYgaXMgaW5zdGFsbGVkCmNv
bmZpZ3VyZTozODg1OiBhdXRvY29uZiAtLXZlcnNpb24KYXV0b2NvbmYgKEdOVSBBdXRvY29uZikg
Mi43MwpDb3B5cmlnaHQgKEMpIDIwMjYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkxp
Y2Vuc2UgR1BMdjMrL0F1dG9jb25mOiBHTlUgR1BMIHZlcnNpb24gMyBvciBsYXRlcgo8aHR0cHM6
Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sPiwgPGh0dHBzOi8vZ251Lm9yZy9saWNlbnNlcy9l
eGNlcHRpb25zLmh0bWw+ClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGFyZSBmcmVlIHRvIGNo
YW5nZSBhbmQgcmVkaXN0cmlidXRlIGl0LgpUaGVyZSBpcyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4
dGVudCBwZXJtaXR0ZWQgYnkgbGF3LgoKV3JpdHRlbiBieSBEYXZpZCBKLiBNYWNLZW56aWUgYW5k
IEFraW0gRGVtYWlsbGUuCmNvbmZpZ3VyZTozODg4OiAkPyA9IDAKY29uZmlndXJlOjM4OTc6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZTozOTA0OiBjaGVja2luZyB3aGV0aGVyIGF1dG9jb25mIHdvcmtz
CmNvbmZpZ3VyZTozOTE0OiBjZCBjb25mdGVzdCAmJiBhdXRvY29uZiAtbyAvZGV2L251bGwgY29u
ZnRlc3QuYWMKY29uZmlndXJlOjM5MTc6ICQ/ID0gMApjb25maWd1cmU6MzkyNzogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjM5MzQ6IGNoZWNraW5nIHdoZXRoZXIgYXV0b2NvbmYgaXMgcmVjZW50IGVu
b3VnaApjb25maWd1cmU6Mzk0NTogY2QgY29uZnRlc3QgJiYgYXV0b2NvbmYgLW8gL2Rldi9udWxs
IGNvbmZ0ZXN0LmFjCmNvbmZpZ3VyZTozOTQ4OiAkPyA9IDAKY29uZmlndXJlOjM5NTg6IHJlc3Vs
dDogeWVzCmNvbmZpZ3VyZTozOTY1OiBjaGVja2luZyB3aGV0aGVyIGxuIHdvcmtzCmNvbmZpZ3Vy
ZTozOTg3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mzk5NDogY2hlY2tpbmcgZm9yIGdyZXAgdGhh
dCBoYW5kbGVzIGxvbmcgbGluZXMgYW5kIC1lCmNvbmZpZ3VyZTo0MDYwOiByZXN1bHQ6IC91c3Iv
YmluL2dyZXAKY29uZmlndXJlOjQwNjU6IGNoZWNraW5nIGZvciBlZ3JlcApjb25maWd1cmU6NDEz
NTogcmVzdWx0OiAvdXNyL2Jpbi9ncmVwIC1FCmNvbmZpZ3VyZTo0MTQyOiBjaGVja2luZyBmb3Ig
ZmdyZXAKY29uZmlndXJlOjQyMTI6IHJlc3VsdDogL3Vzci9iaW4vZ3JlcCAtRgpjb25maWd1cmU6
NDI2Njogd2lsbCBub3cgbG9vayBmb3IgYSBzdHVyZHkgUE9TSVggc2hlbGwsIGZvciBvdXIgdGVz
dHN1aXRlCmNvbmZpZ3VyZTo0MzA1OiBjaGVja2luZyBmb3Igc2gKY29uZmlndXJlOjQzMjg6IGZv
dW5kIC9iaW4vc2gKY29uZmlndXJlOjQzNDE6IHJlc3VsdDogL2Jpbi9zaApjb25maWd1cmU6NDMw
NTogY2hlY2tpbmcgZm9yIHNoNQpjb25maWd1cmU6NDM0NDogcmVzdWx0OiBubwpjb25maWd1cmU6
NDMwNTogY2hlY2tpbmcgZm9yIGRhc2gKY29uZmlndXJlOjQzMjg6IGZvdW5kIC9iaW4vZGFzaApj
b25maWd1cmU6NDM0MTogcmVzdWx0OiAvYmluL2Rhc2gKY29uZmlndXJlOjQzMDU6IGNoZWNraW5n
IGZvciBhc2gKY29uZmlndXJlOjQzNDQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjQzMDU6IGNoZWNr
aW5nIGZvciBiYXNoCmNvbmZpZ3VyZTo0MzI4OiBmb3VuZCAvYmluL2Jhc2gKY29uZmlndXJlOjQz
NDE6IHJlc3VsdDogL2Jpbi9iYXNoCmNvbmZpZ3VyZTo0MzA1OiBjaGVja2luZyBmb3IgenNoCmNv
bmZpZ3VyZTo0MzI4OiBmb3VuZCAvYmluL3pzaApjb25maWd1cmU6NDM0MTogcmVzdWx0OiAvYmlu
L3pzaApjb25maWd1cmU6NDMwNTogY2hlY2tpbmcgZm9yIGtzaApjb25maWd1cmU6NDMyODogZm91
bmQgL2Jpbi9rc2gKY29uZmlndXJlOjQzNDE6IHJlc3VsdDogL2Jpbi9rc2gKY29uZmlndXJlOjQz
MDU6IGNoZWNraW5nIGZvciBwZGtzaApjb25maWd1cmU6NDM0NDogcmVzdWx0OiBubwpjb25maWd1
cmU6NDM2NTogY2hlY2tpbmcgd2hldGhlciAvYmluL3NoIHN1cHBvcnRzICQoY21kKQpjb25maWd1
cmU6NDM3NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzODU6IGNoZWNraW5nIHdoZXRoZXIgL2Jp
bi9zaCBzdXBwb3J0cyAkKChleHByKSkKY29uZmlndXJlOjQzOTU6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZTo0NDA1OiBjaGVja2luZyB3aGV0aGVyIC9iaW4vc2ggc3VwcG9ydHMgJHsjdmFyfQpjb25m
aWd1cmU6NDQxODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ0Mjg6IGNoZWNraW5nIHdoZXRoZXIg
L2Jpbi9zaCBzdXBwb3J0cyAke3ZhciNnbG9ifSBhbmQgJHt2YXIlZ2xvYn0KY29uZmlndXJlOjQ0
NDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NDUyOiBjaGVja2luZyB3aGV0aGVyIC9iaW4vc2gg
cHJlc2VydmVzIGV4aXQgdHJhcHMgd2l0aCAic2V0IC1lIgpjb25maWd1cmU6NDQ2MjogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjQ0NzI6IGNoZWNraW5nIHdoZXRoZXIgL2Jpbi9zaCBjYW4gZGVmaW5l
IGV4aXQgdHJhcHMgaW4gYSBzaGVsbCBmdW5jdGlvbgpjb25maWd1cmU6NDQ4MjogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjQ0OTI6IGNoZWNraW5nIHdoZXRoZXIgL2Jpbi9zaCBjb3JydXB0cyBzdGRl
cnIgd2l0aCAic2V0IC14Igpjb25maWd1cmU6NDUwNjogcmVzdWx0OiBubwpjb25maWd1cmU6NDUx
NDogY2hlY2tpbmcgd2hldGhlciAvYmluL3NoIGNhbiByZXR1cm4gZWFybHkgZnJvbSAiZG90LXNv
dXJjZWQiIGZpbGVzCmNvbmZpZ3VyZTo0NTI0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDUzNjog
Y2hlY2tpbmcgd2hldGhlciAvYmluL3NoIHN1cHBvcnRzIGFsaWFzIG5hbWVkIGxpa2Ugc2hlbGwg
YnVpbHRpbnMKCmNvbmZpZ3VyZTo0NTQ2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDU1NjogY2hl
Y2tpbmcgd2hldGhlciAvYmluL3NoIHN1cHBvcnRzICJ0ZXN0IC1lIgpjb25maWd1cmU6NDU2Njog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ1ODQ6IHNoZWxsIC9iaW4vc2ggaXMgZ29vZCBlbm91Z2gs
IHN0b3AgbG9va2luZwpjb25maWd1cmU6NDYwMjogd2lsbCB1c2UgL2Jpbi9zaCBhcyB0aGUgdGVz
dHN1aXRlIHNoZWxsCmNvbmZpZ3VyZTo0NjI2OiB3aWxsIG5vdyBsb29rIGZvciBnZW5lcmljIGNv
bXBpbGVycwpjb25maWd1cmU6NDcwNzogY2hlY2tpbmcgZm9yIGNjCmNvbmZpZ3VyZTo0NzI4OiBm
b3VuZCAvdXNyL2Jpbi9jYwpjb25maWd1cmU6NDc0MDogcmVzdWx0OiBjYwpjb25maWd1cmU6NDc3
MzogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgdmVyc2lvbgpjb25maWd1cmU6NDc4MjogY2MgLS12
ZXJzaW9uID4mNQpBcHBsZSBjbGFuZyB2ZXJzaW9uIDIxLjAuMCAoY2xhbmctMjEwMC4xLjEuMTAx
KQpUYXJnZXQ6IGFybTY0LWFwcGxlLWRhcndpbjI1LjUuMApUaHJlYWQgbW9kZWw6IHBvc2l4Cklu
c3RhbGxlZERpcjogL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1Rv
b2xjaGFpbnMvWGNvZGVEZWZhdWx0LnhjdG9vbGNoYWluL3Vzci9iaW4KY29uZmlndXJlOjQ3OTM6
ICQ/ID0gMApjb25maWd1cmU6NDc4MjogY2MgLXYgPiY1CkFwcGxlIGNsYW5nIHZlcnNpb24gMjEu
MC4wIChjbGFuZy0yMTAwLjEuMS4xMDEpClRhcmdldDogYXJtNjQtYXBwbGUtZGFyd2luMjUuNS4w
ClRocmVhZCBtb2RlbDogcG9zaXgKSW5zdGFsbGVkRGlyOiAvQXBwbGljYXRpb25zL1hjb2RlLmFw
cC9Db250ZW50cy9EZXZlbG9wZXIvVG9vbGNoYWlucy9YY29kZURlZmF1bHQueGN0b29sY2hhaW4v
dXNyL2Jpbgpjb25maWd1cmU6NDc5MzogJD8gPSAwCmNvbmZpZ3VyZTo0NzgyOiBjYyAtViA+JjUK
Y2xhbmc6IGVycm9yOiBhcmd1bWVudCB0byAnLVYnIGlzIG1pc3NpbmcgKGV4cGVjdGVkIDEgdmFs
dWUpCmNsYW5nOiBlcnJvcjogbm8gaW5wdXQgZmlsZXMKY29uZmlndXJlOjQ3OTM6ICQ/ID0gMQpj
b25maWd1cmU6NDc4MjogY2MgLXF2ZXJzaW9uID4mNQpjbGFuZzogZXJyb3I6IHVua25vd24gYXJn
dW1lbnQgJy1xdmVyc2lvbic7IGRpZCB5b3UgbWVhbiAnLS12ZXJzaW9uJz8KY2xhbmc6IGVycm9y
OiBubyBpbnB1dCBmaWxlcwpjb25maWd1cmU6NDc5MzogJD8gPSAxCmNvbmZpZ3VyZTo0NzgyOiBj
YyAtdmVyc2lvbiA+JjUKY2xhbmc6IGVycm9yOiB1bmtub3duIGFyZ3VtZW50ICctdmVyc2lvbic7
IGRpZCB5b3UgbWVhbiAnLS12ZXJzaW9uJz8KY2xhbmc6IGVycm9yOiBubyBpbnB1dCBmaWxlcwpj
b25maWd1cmU6NDc5MzogJD8gPSAxCmNvbmZpZ3VyZTo0ODEzOiBjaGVja2luZyB3aGV0aGVyIHRo
ZSBDIGNvbXBpbGVyIHdvcmtzCmNvbmZpZ3VyZTo0ODM1OiBjYyAgICBjb25mdGVzdC5jICA+JjUK
Y29uZmlndXJlOjQ4Mzk6ICQ/ID0gMApjb25maWd1cmU6NDg5MjogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjQ4OTY6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFt
ZQpjb25maWd1cmU6NDg5ODogcmVzdWx0OiBhLm91dApjb25maWd1cmU6NDkwNDogY2hlY2tpbmcg
Zm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcwpjb25maWd1cmU6NDkxMTogY2MgLW8gY29uZnRlc3Qg
ICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo0OTE1OiAkPyA9IDAKY29uZmlndXJlOjQ5NDE6
IHJlc3VsdDogCmNvbmZpZ3VyZTo0OTY1OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBj
b21waWxpbmcKY29uZmlndXJlOjQ5NzM6IGNjIC1vIGNvbmZ0ZXN0ICAgIGNvbmZ0ZXN0LmMgID4m
NQpjb25maWd1cmU6NDk3NzogJD8gPSAwCmNvbmZpZ3VyZTo0OTg0OiAuL2NvbmZ0ZXN0CmNvbmZp
Z3VyZTo0OTg4OiAkPyA9IDAKY29uZmlndXJlOjUwMDY6IHJlc3VsdDogbm8KY29uZmlndXJlOjUw
MTI6IGNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzCmNvbmZpZ3VyZTo1MDM1OiBj
YyAtYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1MDM5OiAkPyA9IDAKY29uZmlndXJlOjUw
NjU6IHJlc3VsdDogbwpjb25maWd1cmU6NTA2OTogY2hlY2tpbmcgd2hldGhlciB0aGUgY29tcGls
ZXIgc3VwcG9ydHMgR05VIEMKY29uZmlndXJlOjUwODk6IGNjIC1jICAgY29uZnRlc3QuYyA+JjUK
Y29uZmlndXJlOjUwODk6ICQ/ID0gMApjb25maWd1cmU6NTEwMTogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjUxMTI6IGNoZWNraW5nIHdoZXRoZXIgY2MgYWNjZXB0cyAtZwpjb25maWd1cmU6NTEzMzog
Y2MgLWMgLWcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1MTMzOiAkPyA9IDAKY29uZmlndXJl
OjUxODA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1MjAwOiBjaGVja2luZyBmb3IgY2Mgb3B0aW9u
IHRvIGVuYWJsZSBDMjMgZmVhdHVyZXMKY29uZmlndXJlOjUyMTU6IGNjICAtYyAtZyAtTzIgIGNv
bmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MTQ6MzogZXJyb3I6ICJDb21waWxlciBhZHZlcnRpc2Vz
IGNvbmZvcm1hbmNlIHRvIEMxNyBvciBlYXJsaWVyIgogICAxNCB8ICMgZXJyb3IgIkNvbXBpbGVy
IGFkdmVydGlzZXMgY29uZm9ybWFuY2UgdG8gQzE3IG9yIGVhcmxpZXIiCiAgICAgIHwgICBeCmNv
bmZ0ZXN0LmM6MTg6MjM6IGVycm9yOiBleHBlY3RlZCBmdW5jdGlvbiBib2R5IGFmdGVyIGZ1bmN0
aW9uIGRlY2xhcmF0b3IKICAgMTggfCBjaGFyIGFsaWduYXMgKGRvdWJsZSkgYzIzX2FsaWduZWRf
YXNfZG91YmxlOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBeCmNvbmZ0ZXN0LmM6MTk6
MTU6IGVycm9yOiBleHBlY3RlZCBwYXJhbWV0ZXIgZGVjbGFyYXRvcgogICAxOSB8IGNoYXIgYWxp
Z25hcyAoMCkgYzIzX25vX3NwZWNpYWxfYWxpZ25tZW50OwogICAgICB8ICAgICAgICAgICAgICAg
Xgpjb25mdGVzdC5jOjE5OjE1OiBlcnJvcjogZXhwZWN0ZWQgJyknCmNvbmZ0ZXN0LmM6MTk6MTQ6
IG5vdGU6IHRvIG1hdGNoIHRoaXMgJygnCiAgIDE5IHwgY2hhciBhbGlnbmFzICgwKSBjMjNfbm9f
c3BlY2lhbF9hbGlnbm1lbnQ7CiAgICAgIHwgICAgICAgICAgICAgIF4KY29uZnRlc3QuYzoxOTox
ODogZXJyb3I6IGV4cGVjdGVkIGZ1bmN0aW9uIGJvZHkgYWZ0ZXIgZnVuY3Rpb24gZGVjbGFyYXRv
cgogICAxOSB8IGNoYXIgYWxpZ25hcyAoMCkgYzIzX25vX3NwZWNpYWxfYWxpZ25tZW50OwogICAg
ICB8ICAgICAgICAgICAgICAgICAgXgpjb25mdGVzdC5jOjIxOjE1OiBlcnJvcjogZXhwZWN0ZWQg
cGFyYW1ldGVyIGRlY2xhcmF0b3IKICAgMjEgfCBjaGFyIGFsaWduYXMgKDApIGFsaWduYXMgKGlu
dCkgYzIzX2FsaWduZWRfYXNfaW50OwogICAgICB8ICAgICAgICAgICAgICAgXgpjb25mdGVzdC5j
OjIxOjE1OiBlcnJvcjogZXhwZWN0ZWQgJyknCmNvbmZ0ZXN0LmM6MjE6MTQ6IG5vdGU6IHRvIG1h
dGNoIHRoaXMgJygnCiAgIDIxIHwgY2hhciBhbGlnbmFzICgwKSBhbGlnbmFzIChpbnQpIGMyM19h
bGlnbmVkX2FzX2ludDsKICAgICAgfCAgICAgICAgICAgICAgXgpjb25mdGVzdC5jOjIxOjE4OiBl
cnJvcjogZXhwZWN0ZWQgZnVuY3Rpb24gYm9keSBhZnRlciBmdW5jdGlvbiBkZWNsYXJhdG9yCiAg
IDIxIHwgY2hhciBhbGlnbmFzICgwKSBhbGlnbmFzIChpbnQpIGMyM19hbGlnbmVkX2FzX2ludDsK
ICAgICAgfCAgICAgICAgICAgICAgICAgIF4KY29uZnRlc3QuYzoyNjoyMzogZXJyb3I6IGNhbGwg
dG8gdW5kZWNsYXJlZCBmdW5jdGlvbiAnYWxpZ25vZic7IElTTyBDOTkgYW5kIGxhdGVyIGRvIG5v
dCBzdXBwb3J0IGltcGxpY2l0IGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBbLVdpbXBsaWNpdC1mdW5j
dGlvbi1kZWNsYXJhdGlvbl0KICAgMjYgfCAgIGMyM19pbnRfYWxpZ25tZW50ID0gYWxpZ25vZiAo
aW50KSwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgXgpjb25mdGVzdC5jOjI2OjMyOiBl
cnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbgogICAyNiB8ICAgYzIzX2ludF9hbGlnbm1lbnQgPSBh
bGlnbm9mIChpbnQpLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNv
bmZ0ZXN0LmM6Mjc6Mzg6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uCiAgIDI3IHwgICBjMjNf
aW50X2FycmF5X2FsaWdubWVudCA9IGFsaWdub2YgKGludFsxMDBdKSwKICAgICAgfCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjb25mdGVzdC5jOjI4OjMzOiBlcnJvcjog
ZXhwZWN0ZWQgZXhwcmVzc2lvbgogICAyOCB8ICAgYzIzX2NoYXJfYWxpZ25tZW50ID0gYWxpZ25v
ZiAoY2hhcikKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KY29uZnRl
c3QuYzozMDoxNjogZXJyb3I6IGV4cGVjdGVkIHBhcmFtZXRlciBkZWNsYXJhdG9yCiAgIDMwIHwg
c3RhdGljX2Fzc2VydCAoMCA8IC1hbGlnbm9mIChpbnQpLCAiYWxpZ25vZiBpcyBzaWduZWQiKTsK
ICAgICAgfCAgICAgICAgICAgICAgICBeCmNvbmZ0ZXN0LmM6MzA6MTY6IGVycm9yOiBleHBlY3Rl
ZCAnKScKY29uZnRlc3QuYzozMDoxNTogbm90ZTogdG8gbWF0Y2ggdGhpcyAnKCcKICAgMzAgfCBz
dGF0aWNfYXNzZXJ0ICgwIDwgLWFsaWdub2YgKGludCksICJhbGlnbm9mIGlzIHNpZ25lZCIpOwog
ICAgICB8ICAgICAgICAgICAgICAgXgpjb25mdGVzdC5jOjMwOjE6IGVycm9yOiB0eXBlIHNwZWNp
ZmllciBtaXNzaW5nLCBkZWZhdWx0cyB0byAnaW50JzsgSVNPIEM5OSBhbmQgbGF0ZXIgZG8gbm90
IHN1cHBvcnQgaW1wbGljaXQgaW50IFstV2ltcGxpY2l0LWludF0KICAgMzAgfCBzdGF0aWNfYXNz
ZXJ0ICgwIDwgLWFsaWdub2YgKGludCksICJhbGlnbm9mIGlzIHNpZ25lZCIpOwogICAgICB8IF4K
ICAgICAgfCBpbnQKY29uZnRlc3QuYzozMjo0MTogd2FybmluZzogb21pdHRpbmcgdGhlIHBhcmFt
ZXRlciBuYW1lIGluIGEgZnVuY3Rpb24gZGVmaW5pdGlvbiBpcyBhIEMyMyBleHRlbnNpb24gWy1X
YzIzLWV4dGVuc2lvbnNdCiAgIDMyIHwgaW50IGZ1bmN0aW9uX3dpdGhfdW5uYW1lZF9wYXJhbWV0
ZXIgKGludCkgeyByZXR1cm4gMDsgfQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBeCmNvbmZ0ZXN0LmM6Mzg6MTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1l
ICdib29sJwogICAzOCB8IGJvb2wgdXNlX3U4ID0gKCFzaXplb2YgdTgiXHhGRiIpID09ICghdTgn
eCcpOwogICAgICB8IF4KY29uZnRlc3QuYzozODozOTogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVk
IGlkZW50aWZpZXIgJ3U4JwogICAzOCB8IGJvb2wgdXNlX3U4ID0gKCFzaXplb2YgdTgiXHhGRiIp
ID09ICghdTgneCcpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXn4KY29uZnRlc3QuYzo0MDoxOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ2Jvb2wnCiAg
IDQwIHwgYm9vbCBjaGVja190aGF0X2Jvb2xfd29ya3MgPSB0cnVlIHwgZmFsc2UgfCAhbnVsbHB0
cjsKICAgICAgfCBeCmNvbmZ0ZXN0LmM6NDA6MzA6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBp
ZGVudGlmaWVyICd0cnVlJwogICA0MCB8IGJvb2wgY2hlY2tfdGhhdF9ib29sX3dvcmtzID0gdHJ1
ZSB8IGZhbHNlIHwgIW51bGxwdHI7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBefn5+CmZhdGFsIGVycm9yOiB0b28gbWFueSBlcnJvcnMgZW1pdHRlZCwgc3RvcHBpbmcgbm93
IFstZmVycm9yLWxpbWl0PV0KMSB3YXJuaW5nIGFuZCAyMCBlcnJvcnMgZ2VuZXJhdGVkLgpjb25m
aWd1cmU6NTIxNTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv
bmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEF1dG9tYWtlIgp8ICNkZWZp
bmUgUEFDS0FHRV9UQVJOQU1FICJhdXRvbWFrZSIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi
MS4xOC4xLjkxIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBBdXRvbWFrZSAxLjE4LjEu
OTEiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWF1dG9tYWtlQGdudS5vcmciCnwg
I2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9hdXRvbWFr
ZS8iCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIERvZXMgdGhlIGNvbXBpbGVyIGFk
dmVydGlzZSBjb25mb3JtYW5jZSB0byBDMTcgb3IgZWFybGllcj8KfCAgICBBbHRob3VnaCBHQ0Mg
MTQgZG9lcyBub3QgZG8gdGhhdCwgZXZlbiB3aXRoIC1zdGQ9Z251MjMsCnwgICAgaXQgaXMgY2xv
c2UgZW5vdWdoLCBhbmQgZGVmaW5lcyBfX1NURENfVkVSU0lPTiA9PSAyMDIwMDBMLiAgKi8KfCAj
aWYgIWRlZmluZWQgX19TVERDX1ZFUlNJT05fXyB8fCBfX1NURENfVkVSU0lPTl9fIDw9IDIwMTcx
MEwKfCAjIGVycm9yICJDb21waWxlciBhZHZlcnRpc2VzIGNvbmZvcm1hbmNlIHRvIEMxNyBvciBl
YXJsaWVyIgp8ICNlbmRpZgp8IAp8IC8vIENoZWNrIGFsaWduYXMuCnwgY2hhciBhbGlnbmFzIChk
b3VibGUpIGMyM19hbGlnbmVkX2FzX2RvdWJsZTsKfCBjaGFyIGFsaWduYXMgKDApIGMyM19ub19z
cGVjaWFsX2FsaWdubWVudDsKfCBleHRlcm4gY2hhciBjMjNfYWxpZ25lZF9hc19pbnQ7CnwgY2hh
ciBhbGlnbmFzICgwKSBhbGlnbmFzIChpbnQpIGMyM19hbGlnbmVkX2FzX2ludDsKfCAKfCAvLyBD
aGVjayBhbGlnbm9mLgp8IGVudW0KfCB7CnwgICBjMjNfaW50X2FsaWdubWVudCA9IGFsaWdub2Yg
KGludCksCnwgICBjMjNfaW50X2FycmF5X2FsaWdubWVudCA9IGFsaWdub2YgKGludFsxMDBdKSwK
fCAgIGMyM19jaGFyX2FsaWdubWVudCA9IGFsaWdub2YgKGNoYXIpCnwgfTsKfCBzdGF0aWNfYXNz
ZXJ0ICgwIDwgLWFsaWdub2YgKGludCksICJhbGlnbm9mIGlzIHNpZ25lZCIpOwp8IAp8IGludCBm
dW5jdGlvbl93aXRoX3VubmFtZWRfcGFyYW1ldGVyIChpbnQpIHsgcmV0dXJuIDA7IH0KfCAKfCB2
b2lkIGMyM19ub3JldHVybiAoKTsKfCAKfCAvKiBUZXN0IHBhcnNpbmcgb2Ygc3RyaW5nIGFuZCBj
aGFyIFVURi04IGxpdGVyYWxzIChpbmNsdWRpbmcgaGV4IGVzY2FwZXMpLgp8ICAgIFRoZSBwYXJl
bnMgcGFjaWZ5IEdDQyAxNS4gICovCnwgYm9vbCB1c2VfdTggPSAoIXNpemVvZiB1OCJceEZGIikg
PT0gKCF1OCd4Jyk7CnwgCnwgYm9vbCBjaGVja190aGF0X2Jvb2xfd29ya3MgPSB0cnVlIHwgZmFs
c2UgfCAhbnVsbHB0cjsKfCAjaWYgIXRydWUKfCAjIGVycm9yICJ0cnVlIGRvZXMgbm90IHdvcmsg
aW4gI2lmIgp8ICNlbmRpZgp8ICNpZiBmYWxzZQp8ICNlbGlmZGVmIF9fU1REQ19WRVJTSU9OX18K
fCAjZWxzZQp8ICMgZXJyb3IgIiNlbGlmZGVmIGRvZXMgbm90IHdvcmsiCnwgI2VuZGlmCnwgCnwg
I2lmbmRlZiBfX2hhc19jX2F0dHJpYnV0ZQp8ICMgZXJyb3IgIl9faGFzX2NfYXR0cmlidXRlIG5v
dCBkZWZpbmVkIgp8ICNlbmRpZgp8IAp8ICNpZm5kZWYgX19oYXNfaW5jbHVkZQp8ICMgZXJyb3Ig
Il9faGFzX2luY2x1ZGUgbm90IGRlZmluZWQiCnwgI2VuZGlmCnwgCnwgI2RlZmluZSBMUEFSRU4o
KSAoCnwgI2RlZmluZSBGT1JUWV9UV08oeCkgNDIKfCAjZGVmaW5lIFZBX09QVF9URVNUKHIsIHgs
IC4uLikgX19WQV9PUFRfXyAoRk9SVFlfVFdPIHIgeCkpCnwgc3RhdGljX2Fzc2VydCAoVkFfT1BU
X1RFU1QgKExQQVJFTiAoKSwgMCwgPDotKSA9PSA0Mik7CnwgCnwgc3RhdGljX2Fzc2VydCAoMGIx
MDEwMTAgPT0gNDIpOwp8IHN0YXRpY19hc3NlcnQgKDBCMTAxMDEwID09IDQyKTsKfCBzdGF0aWNf
YXNzZXJ0ICgweERFQUQnQkVFRiA9PSAzJzczNSc5MjgnNTU5KTsKfCBzdGF0aWNfYXNzZXJ0ICgw
LjUwMCcwMDAnMDAwID09IDAuNSk7CnwgCnwgZW51bSB1bnNpZ25lZGlzaCA6IHVuc2lnbmVkIGlu
dCB7IHVpb25lID0gMSB9Owp8IHN0YXRpY19hc3NlcnQgKDAgPCAtdWlvbmUpOwp8IAp8ICNpbmNs
dWRlIDxzdGRkZWYuaD4KfCBjb25zdGV4cHIgbnVsbHB0cl90IG51bGxfcG9pbnRlciA9IG51bGxw
dHI7CnwgCnwgc3RhdGljIHR5cGVvZiAoMSArIDFMKSB0d28gKCkgeyByZXR1cm4gMjsgfQp8IHN0
YXRpYyBsb25nIGludCB0aHJlZSAoKSB7IHJldHVybiAzOyB9CnwgCnwgCnwgaW50CnwgbWFpbiAo
aW50LCBjaGFyICoqKQp8IHsKfCAgIGludCBvayA9IDA7CnwgICAKfCAgIHsKfCAgICAgbGFiZWxf
YmVmb3JlX2RlY2xhcmF0aW9uOgp8ICAgICAgIGludCBhcnJbMTBdID0ge307CnwgICAgICAgaWYg
KGFyclswXSkKfCAgICAgICAgIGdvdG8gbGFiZWxfYmVmb3JlX2RlY2xhcmF0aW9uOwp8ICAgICAg
IGlmICghYXJyWzBdKQp8ICAgICAgICAgZ290byBsYWJlbF9hdF9lbmRfb2ZfYmxvY2s7CnwgICAg
IGxhYmVsX2F0X2VuZF9vZl9ibG9jazoKfCAgIH0KfCAgIG9rIHw9ICFudWxsX3BvaW50ZXI7Cnwg
ICBvayB8PSB0d28gIT0gdGhyZWU7CnwgCnwgICByZXR1cm4gb2s7CnwgfQp8IApjb25maWd1cmU6
NTIxNTogY2MgLXN0ZD1nbnUyMyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6
NDA6NDY6IHdhcm5pbmc6IGltcGxpY2l0IGNvbnZlcnNpb24gb2YgbnVsbHB0ciBjb25zdGFudCB0
byAnYm9vbCcgWy1XbnVsbC1jb252ZXJzaW9uXQogICA0MCB8IGJvb2wgY2hlY2tfdGhhdF9ib29s
X3dvcmtzID0gdHJ1ZSB8IGZhbHNlIHwgIW51bGxwdHI7CiAgICAgIHwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+Xn5+fn5+fgogICAgICB8ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKY29uZnRlc3QuYzo5MjoxMDogd2Fy
bmluZzogaW1wbGljaXQgY29udmVyc2lvbiBvZiBudWxscHRyIGNvbnN0YW50IHRvICdib29sJyBb
LVdudWxsLWNvbnZlcnNpb25dCiAgIDkyIHwgICBvayB8PSAhbnVsbF9wb2ludGVyOwogICAgICB8
ICAgICAgICAgfl5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgIDAKMiB3YXJuaW5ncyBnZW5l
cmF0ZWQuCmNvbmZpZ3VyZTo1MjE1OiAkPyA9IDAKY29uZmlndXJlOjUyMzc6IHJlc3VsdDogLXN0
ZD1nbnUyMwpjb25maWd1cmU6NTQwNzogY2hlY2tpbmcgd2hldGhlciBjYyAtc3RkPWdudTIzIHVu
ZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlcgpjb25maWd1cmU6NTQzMDogY2MgLXN0ZD1nbnUy
MyAtYyBjb25mdGVzdC5jIC1vIGNvbmZ0ZXN0Mi5vCmNvbmZpZ3VyZTo1NDMzOiAkPyA9IDAKY29u
ZmlndXJlOjU0MzA6IGNjIC1zdGQ9Z251MjMgLWMgY29uZnRlc3QuYyAtbyBjb25mdGVzdDIubwpj
b25maWd1cmU6NTQzMzogJD8gPSAwCmNvbmZpZ3VyZTo1NDQ5OiByZXN1bHQ6IHllcwpjb25maWd1
cmU6NTU4MjogY2hlY2tpbmcgZm9yIGFDQwpjb25maWd1cmU6NTYxODogcmVzdWx0OiBubwpjb25m
aWd1cmU6NTU4MjogY2hlY2tpbmcgZm9yIEZDQwpjb25maWd1cmU6NTYxODogcmVzdWx0OiBubwpj
b25maWd1cmU6NTU4MjogY2hlY2tpbmcgZm9yIHhsQ19yCmNvbmZpZ3VyZTo1NjE4OiByZXN1bHQ6
IG5vCmNvbmZpZ3VyZTo1NTgyOiBjaGVja2luZyBmb3IgeGxDCmNvbmZpZ3VyZTo1NjE4OiByZXN1
bHQ6IG5vCmNvbmZpZ3VyZTo1NTgyOiBjaGVja2luZyBmb3IgYysrCmNvbmZpZ3VyZTo1NjAzOiBm
b3VuZCAvdXNyL2Jpbi9jKysKY29uZmlndXJlOjU2MTU6IHJlc3VsdDogYysrCmNvbmZpZ3VyZTo1
NjQyOiBjaGVja2luZyBmb3IgQysrIGNvbXBpbGVyIHZlcnNpb24KY29uZmlndXJlOjU2NTE6IGMr
KyAtLXZlcnNpb24gPiY1CkFwcGxlIGNsYW5nIHZlcnNpb24gMjEuMC4wIChjbGFuZy0yMTAwLjEu
MS4xMDEpClRhcmdldDogYXJtNjQtYXBwbGUtZGFyd2luMjUuNS4wClRocmVhZCBtb2RlbDogcG9z
aXgKSW5zdGFsbGVkRGlyOiAvQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9w
ZXIvVG9vbGNoYWlucy9YY29kZURlZmF1bHQueGN0b29sY2hhaW4vdXNyL2Jpbgpjb25maWd1cmU6
NTY2MjogJD8gPSAwCmNvbmZpZ3VyZTo1NjUxOiBjKysgLXYgPiY1CkFwcGxlIGNsYW5nIHZlcnNp
b24gMjEuMC4wIChjbGFuZy0yMTAwLjEuMS4xMDEpClRhcmdldDogYXJtNjQtYXBwbGUtZGFyd2lu
MjUuNS4wClRocmVhZCBtb2RlbDogcG9zaXgKSW5zdGFsbGVkRGlyOiAvQXBwbGljYXRpb25zL1hj
b2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvVG9vbGNoYWlucy9YY29kZURlZmF1bHQueGN0b29s
Y2hhaW4vdXNyL2Jpbgpjb25maWd1cmU6NTY2MjogJD8gPSAwCmNvbmZpZ3VyZTo1NjUxOiBjKysg
LVYgPiY1CmNsYW5nKys6IGVycm9yOiBhcmd1bWVudCB0byAnLVYnIGlzIG1pc3NpbmcgKGV4cGVj
dGVkIDEgdmFsdWUpCmNsYW5nKys6IGVycm9yOiBubyBpbnB1dCBmaWxlcwpjb25maWd1cmU6NTY2
MjogJD8gPSAxCmNvbmZpZ3VyZTo1NjUxOiBjKysgLXF2ZXJzaW9uID4mNQpjbGFuZysrOiBlcnJv
cjogdW5rbm93biBhcmd1bWVudCAnLXF2ZXJzaW9uJzsgZGlkIHlvdSBtZWFuICctLXZlcnNpb24n
PwpjbGFuZysrOiBlcnJvcjogbm8gaW5wdXQgZmlsZXMKY29uZmlndXJlOjU2NjI6ICQ/ID0gMQpj
b25maWd1cmU6NTY4MjogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHdvcmtzCmNv
bmZpZ3VyZTo1NzA0OiBjKysgICAgY29uZnRlc3QuY3BwICA+JjUKY29uZmlndXJlOjU3MDg6ICQ/
ID0gMApjb25maWd1cmU6NTc2MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU3NjU6IGNoZWNraW5n
IGZvciBDKysgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lCmNvbmZpZ3VyZTo1NzY3
OiByZXN1bHQ6IGEub3V0CmNvbmZpZ3VyZTo1NzczOiBjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4
ZWN1dGFibGVzCmNvbmZpZ3VyZTo1NzgwOiBjKysgLW8gY29uZnRlc3QgICAgY29uZnRlc3QuY3Bw
ICA+JjUKY29uZmlndXJlOjU3ODQ6ICQ/ID0gMApjb25maWd1cmU6NTgxMDogcmVzdWx0OiAKY29u
ZmlndXJlOjU4MzQ6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZwpjb25m
aWd1cmU6NTg0MjogYysrIC1vIGNvbmZ0ZXN0ICAgIGNvbmZ0ZXN0LmNwcCAgPiY1CmNvbmZpZ3Vy
ZTo1ODQ2OiAkPyA9IDAKY29uZmlndXJlOjU4NTM6IC4vY29uZnRlc3QKY29uZmlndXJlOjU4NTc6
ICQ/ID0gMApjb25maWd1cmU6NTg3NTogcmVzdWx0OiBubwpjb25maWd1cmU6NTg4MTogY2hlY2tp
bmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMKY29uZmlndXJlOjU5MDQ6IGMrKyAtYyAgIGNv
bmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJlOjU5MDg6ICQ/ID0gMApjb25maWd1cmU6NTkzNDogcmVz
dWx0OiBvCmNvbmZpZ3VyZTo1OTM4OiBjaGVja2luZyB3aGV0aGVyIHRoZSBjb21waWxlciBzdXBw
b3J0cyBHTlUgQysrCmNvbmZpZ3VyZTo1OTU4OiBjKysgLWMgICBjb25mdGVzdC5jcHAgPiY1CmNv
bmZpZ3VyZTo1OTU4OiAkPyA9IDAKY29uZmlndXJlOjU5NzA6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTo1OTgxOiBjaGVja2luZyB3aGV0aGVyIGMrKyBhY2NlcHRzIC1nCmNvbmZpZ3VyZTo2MDAyOiBj
KysgLWMgLWcgIGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJlOjYwMDI6ICQ/ID0gMApjb25maWd1
cmU6NjA0OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjYxNjk6IGNoZWNraW5nIGZvciB4bGY5NQpj
b25maWd1cmU6NjIwNTogcmVzdWx0OiBubwpjb25maWd1cmU6NjE2OTogY2hlY2tpbmcgZm9yIGY5
NQpjb25maWd1cmU6NjIwNTogcmVzdWx0OiBubwpjb25maWd1cmU6NjE2OTogY2hlY2tpbmcgZm9y
IGZvcnQKY29uZmlndXJlOjYyMDU6IHJlc3VsdDogbm8KY29uZmlndXJlOjYxNjk6IGNoZWNraW5n
IGZvciBpZm9ydApjb25maWd1cmU6NjIwNTogcmVzdWx0OiBubwpjb25maWd1cmU6NjE2OTogY2hl
Y2tpbmcgZm9yIGlmYwpjb25maWd1cmU6NjIwNTogcmVzdWx0OiBubwpjb25maWd1cmU6NjE2OTog
Y2hlY2tpbmcgZm9yIGVmYwpjb25maWd1cmU6NjIwNTogcmVzdWx0OiBubwpjb25maWd1cmU6NjE2
OTogY2hlY2tpbmcgZm9yIHBnZm9ydHJhbgpjb25maWd1cmU6NjIwNTogcmVzdWx0OiBubwpjb25m
aWd1cmU6NjE2OTogY2hlY2tpbmcgZm9yIHBnZjk1CmNvbmZpZ3VyZTo2MjA1OiByZXN1bHQ6IG5v
CmNvbmZpZ3VyZTo2MTY5OiBjaGVja2luZyBmb3IgbGY5NQpjb25maWd1cmU6NjIwNTogcmVzdWx0
OiBubwpjb25maWd1cmU6NjE2OTogY2hlY2tpbmcgZm9yIGZ0bgpjb25maWd1cmU6NjIwNTogcmVz
dWx0OiBubwpjb25maWd1cmU6NjE2OTogY2hlY2tpbmcgZm9yIG5hZ2Zvcgpjb25maWd1cmU6NjIw
NTogcmVzdWx0OiBubwpjb25maWd1cmU6NjE2OTogY2hlY2tpbmcgZm9yIHhsZjkwCmNvbmZpZ3Vy
ZTo2MjA1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2MTY5OiBjaGVja2luZyBmb3IgZjkwCmNvbmZp
Z3VyZTo2MjA1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2MTY5OiBjaGVja2luZyBmb3IgYXJtZmxh
bmcKY29uZmlndXJlOjYyMDU6IHJlc3VsdDogbm8KY29uZmlndXJlOjYxNjk6IGNoZWNraW5nIGZv
ciBmbGFuZwpjb25maWd1cmU6NjIwNTogcmVzdWx0OiBubwpjb25maWd1cmU6NjE2OTogY2hlY2tp
bmcgZm9yIHBnZjkwCmNvbmZpZ3VyZTo2MjA1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2MTY5OiBj
aGVja2luZyBmb3IgcGdocGYKY29uZmlndXJlOjYyMDU6IHJlc3VsdDogbm8KY29uZmlndXJlOjYx
Njk6IGNoZWNraW5nIGZvciBlcGNmOTAKY29uZmlndXJlOjYyMDU6IHJlc3VsdDogbm8KY29uZmln
dXJlOjYxNjk6IGNoZWNraW5nIGZvciBnOTUKY29uZmlndXJlOjYyMDU6IHJlc3VsdDogbm8KY29u
ZmlndXJlOjYxNjk6IGNoZWNraW5nIGZvciBnZm9ydHJhbgpjb25maWd1cmU6NjIwNTogcmVzdWx0
OiBubwpjb25maWd1cmU6NjIyODogY2hlY2tpbmcgZm9yIEZvcnRyYW4gY29tcGlsZXIgdmVyc2lv
bgpjb25maWd1cmU6NjIzNzogIC0tdmVyc2lvbiA+JjUKLi9jb25maWd1cmU6IGxpbmUgNjIzOTog
LS12ZXJzaW9uOiBjb21tYW5kIG5vdCBmb3VuZApjb25maWd1cmU6NjI0ODogJD8gPSAxMjcKY29u
ZmlndXJlOjYyMzc6ICAtdiA+JjUKLi9jb25maWd1cmU6IGxpbmUgNjIzOTogLXY6IGNvbW1hbmQg
bm90IGZvdW5kCmNvbmZpZ3VyZTo2MjQ4OiAkPyA9IDEyNwpjb25maWd1cmU6NjIzNzogIC1WID4m
NQouL2NvbmZpZ3VyZTogbGluZSA2MjM5OiAtVjogY29tbWFuZCBub3QgZm91bmQKY29uZmlndXJl
OjYyNDg6ICQ/ID0gMTI3CmNvbmZpZ3VyZTo2MjM3OiAgLXF2ZXJzaW9uID4mNQouL2NvbmZpZ3Vy
ZTogbGluZSA2MjM5OiAtcXZlcnNpb246IGNvbW1hbmQgbm90IGZvdW5kCmNvbmZpZ3VyZTo2MjQ4
OiAkPyA9IDEyNwpjb25maWd1cmU6NjI2MzogY2hlY2tpbmcgd2hldGhlciB0aGUgRm9ydHJhbiBj
b21waWxlciB3b3Jrcwpjb25maWd1cmU6NjI4NTogICAgIGNvbmZ0ZXN0LmYgID4mNQouL2NvbmZp
Z3VyZTogbGluZSA2Mjg3OiAuL2NvbmZ0ZXN0LmY6IFBlcm1pc3Npb24gZGVuaWVkCmNvbmZpZ3Vy
ZTo2Mjg5OiAkPyA9IDEyNgpjb25maWd1cmU6NjMzMDogcmVzdWx0OiBubwpjb25maWd1cmU6IGZh
aWxlZCBwcm9ncmFtIHdhczoKfCAgICAgICBwcm9ncmFtIG1haW4KfCAKfCAgICAgICBlbmQKY29u
ZmlndXJlOjYzMzY6IFdBUk5JTkc6IEZvcnRyYW4gY29tcGlsZXIgY2Fubm90IGNyZWF0ZSBleGVj
dXRhYmxlcwpjb25maWd1cmU6NjU5OTogdGVzdHMgcmVxdWlyaW5nIHRoZSBGb3J0cmFuIGNvbXBp
bGVyIHdpbGwgYmUgc2tpcHBlZApjb25maWd1cmU6NjY4NzogY2hlY2tpbmcgZm9yIHhsZgpjb25m
aWd1cmU6NjcyMzogcmVzdWx0OiBubwpjb25maWd1cmU6NjY4NzogY2hlY2tpbmcgZm9yIGY3Nwpj
b25maWd1cmU6NjcyMzogcmVzdWx0OiBubwpjb25maWd1cmU6NjY4NzogY2hlY2tpbmcgZm9yIGZy
dApjb25maWd1cmU6NjcyMzogcmVzdWx0OiBubwpjb25maWd1cmU6NjY4NzogY2hlY2tpbmcgZm9y
IHBnZjc3CmNvbmZpZ3VyZTo2NzIzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2Njg3OiBjaGVja2lu
ZyBmb3IgY2Y3Nwpjb25maWd1cmU6NjcyMzogcmVzdWx0OiBubwpjb25maWd1cmU6NjY4NzogY2hl
Y2tpbmcgZm9yIGZvcnQ3Nwpjb25maWd1cmU6NjcyMzogcmVzdWx0OiBubwpjb25maWd1cmU6NjY4
NzogY2hlY2tpbmcgZm9yIGZsMzIKY29uZmlndXJlOjY3MjM6IHJlc3VsdDogbm8KY29uZmlndXJl
OjY2ODc6IGNoZWNraW5nIGZvciBhZjc3CmNvbmZpZ3VyZTo2NzIzOiByZXN1bHQ6IG5vCmNvbmZp
Z3VyZTo2Njg3OiBjaGVja2luZyBmb3IgZzc3CmNvbmZpZ3VyZTo2NzIzOiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZTo2Njg3OiBjaGVja2luZyBmb3IgYXJtZmxhbmcKY29uZmlndXJlOjY3MjM6IHJlc3Vs
dDogbm8KY29uZmlndXJlOjY2ODc6IGNoZWNraW5nIGZvciBmbGFuZwpjb25maWd1cmU6NjcyMzog
cmVzdWx0OiBubwpjb25maWd1cmU6NjY4NzogY2hlY2tpbmcgZm9yIGdmb3J0cmFuCmNvbmZpZ3Vy
ZTo2NzIzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NzQ2OiBjaGVja2luZyBmb3IgRm9ydHJhbiA3
NyBjb21waWxlciB2ZXJzaW9uCmNvbmZpZ3VyZTo2NzU1OiAgLS12ZXJzaW9uID4mNQouL2NvbmZp
Z3VyZTogbGluZSA2NzU3OiAtLXZlcnNpb246IGNvbW1hbmQgbm90IGZvdW5kCmNvbmZpZ3VyZTo2
NzY2OiAkPyA9IDEyNwpjb25maWd1cmU6Njc1NTogIC12ID4mNQouL2NvbmZpZ3VyZTogbGluZSA2
NzU3OiAtdjogY29tbWFuZCBub3QgZm91bmQKY29uZmlndXJlOjY3NjY6ICQ/ID0gMTI3CmNvbmZp
Z3VyZTo2NzU1OiAgLVYgPiY1Ci4vY29uZmlndXJlOiBsaW5lIDY3NTc6IC1WOiBjb21tYW5kIG5v
dCBmb3VuZApjb25maWd1cmU6Njc2NjogJD8gPSAxMjcKY29uZmlndXJlOjY3NTU6ICAtcXZlcnNp
b24gPiY1Ci4vY29uZmlndXJlOiBsaW5lIDY3NTc6IC1xdmVyc2lvbjogY29tbWFuZCBub3QgZm91
bmQKY29uZmlndXJlOjY3NjY6ICQ/ID0gMTI3CmNvbmZpZ3VyZTo2NzgxOiBjaGVja2luZyB3aGV0
aGVyIHRoZSBGb3J0cmFuIDc3IGNvbXBpbGVyIHdvcmtzCmNvbmZpZ3VyZTo2ODAzOiAgICBjb25m
dGVzdC5mICA+JjUKLi9jb25maWd1cmU6IGxpbmUgNjgwNTogLi9jb25mdGVzdC5mOiBQZXJtaXNz
aW9uIGRlbmllZApjb25maWd1cmU6NjgwNzogJD8gPSAxMjYKY29uZmlndXJlOjY4NDg6IHJlc3Vs
dDogbm8KY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgICAgICAgcHJvZ3JhbSBtYWlu
CnwgCnwgICAgICAgZW5kCmNvbmZpZ3VyZTo2ODU0OiBXQVJOSU5HOiBGb3J0cmFuIDc3IGNvbXBp
bGVyIGNhbm5vdCBjcmVhdGUgZXhlY3V0YWJsZXMKY29uZmlndXJlOjcxMTc6IHRlc3RzIHJlcXVp
cmluZyB0aGUgRm9ydHJhbiA3NyBjb21waWxlciB3aWxsIGJlIHNraXBwZWQKY29uZmlndXJlOjcx
NTE6IHdpbGwgbm93IGxvb2sgZm9yIEdOVSBjb21waWxlcnMKY29uZmlndXJlOjcxNTg6IGNjIC1z
dGQ9Z251MjMgaXMgYWxyZWFkeSBhIEdOVSBDIGNvbXBpbGVyCmNvbmZpZ3VyZTo3Mjc2OiBjYyAt
c3RkPWdudTIzIC0tdmVyc2lvbiAmJiBjYyAtc3RkPWdudTIzIC12CkFwcGxlIGNsYW5nIHZlcnNp
b24gMjEuMC4wIChjbGFuZy0yMTAwLjEuMS4xMDEpClRhcmdldDogYXJtNjQtYXBwbGUtZGFyd2lu
MjUuNS4wClRocmVhZCBtb2RlbDogcG9zaXgKSW5zdGFsbGVkRGlyOiAvQXBwbGljYXRpb25zL1hj
b2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvVG9vbGNoYWlucy9YY29kZURlZmF1bHQueGN0b29s
Y2hhaW4vdXNyL2JpbgpBcHBsZSBjbGFuZyB2ZXJzaW9uIDIxLjAuMCAoY2xhbmctMjEwMC4xLjEu
MTAxKQpUYXJnZXQ6IGFybTY0LWFwcGxlLWRhcndpbjI1LjUuMApUaHJlYWQgbW9kZWw6IHBvc2l4
Ckluc3RhbGxlZERpcjogL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVy
L1Rvb2xjaGFpbnMvWGNvZGVEZWZhdWx0LnhjdG9vbGNoYWluL3Vzci9iaW4KY29uZmlndXJlOjcy
Nzk6ICQ/ID0gMApjb25maWd1cmU6NzI5NjogYysrIGlzIGFscmVhZHkgYSBHTlUgQysrIGNvbXBp
bGVyCmNvbmZpZ3VyZTo3NDE1OiBjKysgLS12ZXJzaW9uICYmIGMrKyAtdgpBcHBsZSBjbGFuZyB2
ZXJzaW9uIDIxLjAuMCAoY2xhbmctMjEwMC4xLjEuMTAxKQpUYXJnZXQ6IGFybTY0LWFwcGxlLWRh
cndpbjI1LjUuMApUaHJlYWQgbW9kZWw6IHBvc2l4Ckluc3RhbGxlZERpcjogL0FwcGxpY2F0aW9u
cy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1Rvb2xjaGFpbnMvWGNvZGVEZWZhdWx0Lnhj
dG9vbGNoYWluL3Vzci9iaW4KQXBwbGUgY2xhbmcgdmVyc2lvbiAyMS4wLjAgKGNsYW5nLTIxMDAu
MS4xLjEwMSkKVGFyZ2V0OiBhcm02NC1hcHBsZS1kYXJ3aW4yNS41LjAKVGhyZWFkIG1vZGVsOiBw
b3NpeApJbnN0YWxsZWREaXI6IC9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVs
b3Blci9Ub29sY2hhaW5zL1hjb2RlRGVmYXVsdC54Y3Rvb2xjaGFpbi91c3IvYmluCmNvbmZpZ3Vy
ZTo3NDE4OiAkPyA9IDAKY29uZmlndXJlOjc0OTU6IGNoZWNraW5nIGZvciBnZm9ydHJhbgpjb25m
aWd1cmU6NzUzMTogcmVzdWx0OiBubwpjb25maWd1cmU6NzYzNDogY2hlY2tpbmcgZm9yIGc3Nwpj
b25maWd1cmU6NzY3MDogcmVzdWx0OiBubwpjb25maWd1cmU6NzYzNDogY2hlY2tpbmcgZm9yIGdm
b3J0cmFuCmNvbmZpZ3VyZTo3NjcwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo3NzY3OiBjaGVja2lu
ZyBmb3IgZ2E2OApjb25maWd1cmU6NzgwMzogcmVzdWx0OiBubwpjb25maWd1cmU6Nzg5OTogY2hl
Y2tpbmcgZm9yIGdjagpjb25maWd1cmU6NzkzNTogcmVzdWx0OiBubwpjb25maWd1cmU6ODExMDog
Y2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlCmNv
bmZpZ3VyZTo4MTE2OiByZXN1bHQ6IGRvbmUKY29uZmlndXJlOjgxMzk6IGNyZWF0aW5nIC4vY29u
ZmlnLnN0YXR1cwoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBSdW5uaW5nIGNvbmZp
Zy5zdGF0dXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKClRoaXMgZmlsZSB3YXMg
ZXh0ZW5kZWQgYnkgR05VIEF1dG9tYWtlIGNvbmZpZy5zdGF0dXMgMS4xOC4xLjkxLCB3aGljaCB3
YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjczLiAgSW52b2NhdGlvbiBjb21tYW5kIGxp
bmUgd2FzCgogIENPTkZJR19GSUxFUyAgICA9IAogIENPTkZJR19IRUFERVJTICA9IAogIENPTkZJ
R19MSU5LUyAgICA9IAogIENPTkZJR19DT01NQU5EUyA9IAogICQgLi9jb25maWcuc3RhdHVzIAoK
b24gbmV3LWhvc3QtMy5ob21lCgpjb25maWcuc3RhdHVzOjgwMzogY3JlYXRpbmcgTWFrZWZpbGUK
Y29uZmlnLnN0YXR1czo4MDM6IGNyZWF0aW5nIHByZS1pbnN0LWVudgoKIyMgLS0tLS0tLS0tLS0t
LS0tLSAjIwojIyBDYWNoZSB2YXJpYWJsZXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKCmFj
X2N2X0FNX1RFU1RfUlVOTkVSX1NIRUxMPS9iaW4vc2gKYWNfY3ZfYnVpbGQ9YWFyY2g2NC1hcHBs
ZS1kYXJ3aW4yNS41LjAKYWNfY3ZfY19jb21waWxlcl9nbnU9eWVzCmFjX2N2X2N4eF9jb21waWxl
cl9nbnU9eWVzCmFjX2N2X2Vudl9BTV9URVNUX1JVTk5FUl9TSEVMTF9zZXQ9CmFjX2N2X2Vudl9B
TV9URVNUX1JVTk5FUl9TSEVMTF92YWx1ZT0KYWNfY3ZfZW52X0NDQ19zZXQ9CmFjX2N2X2Vudl9D
Q0NfdmFsdWU9CmFjX2N2X2Vudl9DQ19zZXQ9CmFjX2N2X2Vudl9DQ192YWx1ZT0KYWNfY3ZfZW52
X0NGTEFHU19zZXQ9CmFjX2N2X2Vudl9DRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9DUFBGTEFHU19z
ZXQ9CmFjX2N2X2Vudl9DUFBGTEFHU192YWx1ZT0KYWNfY3ZfZW52X0NYWEZMQUdTX3NldD0KYWNf
Y3ZfZW52X0NYWEZMQUdTX3ZhbHVlPQphY19jdl9lbnZfQ1hYX3NldD0KYWNfY3ZfZW52X0NYWF92
YWx1ZT0KYWNfY3ZfZW52X0Y3N19zZXQ9CmFjX2N2X2Vudl9GNzdfdmFsdWU9CmFjX2N2X2Vudl9G
Q0ZMQUdTX3NldD0KYWNfY3ZfZW52X0ZDRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9GQ19zZXQ9CmFj
X2N2X2Vudl9GQ192YWx1ZT0KYWNfY3ZfZW52X0ZGTEFHU19zZXQ9CmFjX2N2X2Vudl9GRkxBR1Nf
dmFsdWU9CmFjX2N2X2Vudl9HTlVfQTY4RkxBR1Nfc2V0PQphY19jdl9lbnZfR05VX0E2OEZMQUdT
X3ZhbHVlPQphY19jdl9lbnZfR05VX0E2OF9zZXQ9CmFjX2N2X2Vudl9HTlVfQTY4X3ZhbHVlPQph
Y19jdl9lbnZfR05VX0NDX3NldD0KYWNfY3ZfZW52X0dOVV9DQ192YWx1ZT0KYWNfY3ZfZW52X0dO
VV9DRkxBR1Nfc2V0PQphY19jdl9lbnZfR05VX0NGTEFHU192YWx1ZT0KYWNfY3ZfZW52X0dOVV9D
WFhGTEFHU19zZXQ9CmFjX2N2X2Vudl9HTlVfQ1hYRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9HTlVf
Q1hYX3NldD0KYWNfY3ZfZW52X0dOVV9DWFhfdmFsdWU9CmFjX2N2X2Vudl9HTlVfRjc3X3NldD0K
YWNfY3ZfZW52X0dOVV9GNzdfdmFsdWU9CmFjX2N2X2Vudl9HTlVfRkNGTEFHU19zZXQ9CmFjX2N2
X2Vudl9HTlVfRkNGTEFHU192YWx1ZT0KYWNfY3ZfZW52X0dOVV9GQ19zZXQ9CmFjX2N2X2Vudl9H
TlVfRkNfdmFsdWU9CmFjX2N2X2Vudl9HTlVfRkZMQUdTX3NldD0KYWNfY3ZfZW52X0dOVV9GRkxB
R1NfdmFsdWU9CmFjX2N2X2Vudl9HTlVfR0NKRkxBR1Nfc2V0PQphY19jdl9lbnZfR05VX0dDSkZM
QUdTX3ZhbHVlPQphY19jdl9lbnZfR05VX0dDSl9zZXQ9CmFjX2N2X2Vudl9HTlVfR0NKX3ZhbHVl
PQphY19jdl9lbnZfTERGTEFHU19zZXQ9CmFjX2N2X2Vudl9MREZMQUdTX3ZhbHVlPQphY19jdl9l
bnZfTElCU19zZXQ9CmFjX2N2X2Vudl9MSUJTX3ZhbHVlPQphY19jdl9lbnZfYnVpbGRfYWxpYXNf
c2V0PQphY19jdl9lbnZfYnVpbGRfYWxpYXNfdmFsdWU9CmFjX2N2X2Vudl9ob3N0X2FsaWFzX3Nl
dD0KYWNfY3ZfZW52X2hvc3RfYWxpYXNfdmFsdWU9CmFjX2N2X2Vudl90YXJnZXRfYWxpYXNfc2V0
PQphY19jdl9lbnZfdGFyZ2V0X2FsaWFzX3ZhbHVlPQphY19jdl9ob3N0PWFhcmNoNjQtYXBwbGUt
ZGFyd2luMjUuNS4wCmFjX2N2X3BhdGhfRUdSRVA9Jy91c3IvYmluL2dyZXAgLUUnCmFjX2N2X3Bh
dGhfRUdSRVBfVFJBRElUSU9OQUw9Jy91c3IvYmluL2dyZXAgLUUnCmFjX2N2X3BhdGhfRkdSRVA9
Jy91c3IvYmluL2dyZXAgLUYnCmFjX2N2X3BhdGhfR1JFUD0vdXNyL2Jpbi9ncmVwCmFjX2N2X3Bh
dGhfUEVSTD0vdXNyL2Jpbi9wZXJsCmFjX2N2X3BhdGhfaW5zdGFsbD0nL3Vzci9iaW4vaW5zdGFs
bCAtYycKYWNfY3ZfcHJvZ19BV0s9YXdrCmFjX2N2X3Byb2dfTEVYPWxleAphY19jdl9wcm9nX1RF
WD10ZXgKYWNfY3ZfcHJvZ19ZQUNDPXlhY2MKYWNfY3ZfcHJvZ19hY19jdF9DQz1jYwphY19jdl9w
cm9nX2FjX2N0X0NYWD1jKysKYWNfY3ZfcHJvZ19jY19jMjM9LXN0ZD1nbnUyMwphY19jdl9wcm9n
X2NjX2c9eWVzCmFjX2N2X3Byb2dfY2Nfc3RkYz0tc3RkPWdudTIzCmFjX2N2X3Byb2dfY3h4X2c9
eWVzCmFjX2N2X3Byb2dfbWFrZV9tYWtlX3NldD15ZXMKYW1fY3ZfYXV0b2NvbmZfaW5zdGFsbGVk
PXllcwphbV9jdl9hdXRvY29uZl92ZXJzaW9uPXllcwphbV9jdl9hdXRvY29uZl93b3Jrcz15ZXMK
YW1fY3ZfZmlsZXN5c3RlbV90aW1lc3RhbXBfcmVzb2x1dGlvbj0wLjAxCmFtX2N2X21ha2Vfc3Vw
cG9ydF9uZXN0ZWRfdmFyaWFibGVzPXllcwphbV9jdl9wcm9nX2NjX2Nfbz15ZXMKYW1fY3ZfcHJv
Z19sbj1sbgphbV9jdl9wcm9nX3Rhcl91c3Rhcj1wbGFpbnRhcgphbV9jdl9zbGVlcF9mcmFjdGlv
bmFsX3NlY29uZHM9eWVzCmFtX2N2X3hhcmdzX25fd29ya3M9eWVzCgojIyAtLS0tLS0tLS0tLS0t
LS0tLSAjIwojIyBPdXRwdXQgdmFyaWFibGVzLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tLSAjIwoK
QUNMT0NBTD0nIi91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3ByZS1pbnN0LWVudiIgYWNsb2NhbC0x
LjE4JwpBTVRBUj0nJCR7VEFSLXRhcn0nCkFNX0JBQ0tTTEFTSD0nXCcKQU1fREVGQVVMVF9WPSck
KEFNX0RFRkFVTFRfVkVSQk9TSVRZKScKQU1fREVGQVVMVF9WRVJCT1NJVFk9JzAnCkFNX1RFU1Rf
UlVOTkVSX1NIRUxMPScvYmluL3NoJwpBTV9WPSckKFYpJwpBUElWRVJTSU9OPScxLjE4JwpBVVRP
Q09ORj0nJHtTSEVMTH0gJ1wnJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL2xpYi9taXNzaW5nJ1wn
JyBhdXRvY29uZicKQVVUT0hFQURFUj0nJHtTSEVMTH0gJ1wnJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL2xpYi9taXNzaW5nJ1wnJyBhdXRvaGVhZGVyJwpBVVRPTUFLRT0nIi91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3ByZS1pbnN0LWVudiIgYXV0b21ha2UtMS4xOCcKQVdLPSdhd2snCkNDPSdjYyAt
c3RkPWdudTIzJwpDRkxBR1M9Jy1nIC1PMicKQ1BQRkxBR1M9JycKQ1NDT1BFPSdjc2NvcGUnCkNU
QUdTPSdjdGFncycKQ1hYPSdjKysnCkNYWEZMQUdTPSctZyAtTzInCkNZR1BBVEhfVz0nZWNobycK
REVGUz0nLURQQUNLQUdFX05BTUU9XCJHTlVcIEF1dG9tYWtlXCIgLURQQUNLQUdFX1RBUk5BTUU9
XCJhdXRvbWFrZVwiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4xOC4xLjkxXCIgLURQQUNLQUdFX1NU
UklORz1cIkdOVVwgQXV0b21ha2VcIDEuMTguMS45MVwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJi
dWctYXV0b21ha2VAZ251Lm9yZ1wiIC1EUEFDS0FHRV9VUkw9XCJodHRwczovL3d3dy5nbnUub3Jn
L3NvZnR3YXJlL2F1dG9tYWtlL1wiJwpFQ0hPX0M9J1xjJwpFQ0hPX049JycKRUNIT19UPScnCkVH
UkVQPScvdXNyL2Jpbi9ncmVwIC1FJwpFVEFHUz0nZXRhZ3MnCkVYRUVYVD0nVU5LTk9XTicKRjc3
PSdmYWxzZScKRkM9J2ZhbHNlJwpGQ0ZMQUdTPScnCkZGTEFHUz0nJwpGR1JFUD0nL3Vzci9iaW4v
Z3JlcCAtRicKR05VX0E2OD0nZmFsc2UnCkdOVV9BNjhGTEFHUz0nJwpHTlVfQ0M9J2NjIC1zdGQ9
Z251MjMnCkdOVV9DRkxBR1M9Jy1nIC1PMicKR05VX0NYWD0nYysrJwpHTlVfQ1hYRkxBR1M9Jy1n
IC1PMicKR05VX0Y3Nz0nZmFsc2UnCkdOVV9GQz0nZmFsc2UnCkdOVV9GQ0ZMQUdTPScnCkdOVV9G
RkxBR1M9JycKR05VX0dDSj0nZmFsc2UnCkdOVV9HQ0pGTEFHUz0nJwpHUkVQPScvdXNyL2Jpbi9n
cmVwJwpJTlNUQUxMX0RBVEE9JyR7SU5TVEFMTH0gLW0gNjQ0JwpJTlNUQUxMX1BST0dSQU09JyR7
SU5TVEFMTH0nCklOU1RBTExfU0NSSVBUPScke0lOU1RBTEx9JwpJTlNUQUxMX1NUUklQX1BST0dS
QU09JyQoaW5zdGFsbF9zaCkgLWMgLXMnCkxERkxBR1M9JycKTEVYPSdsZXgnCkxJQk9CSlM9JycK
TElCUz0nJwpMTj0nbG4nCkxOX1M9J2xuIC1zJwpMVExJQk9CSlM9JycKTUFLRUlORk89JyR7U0hF
TEx9ICdcJycvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS9saWIvbWlzc2luZydcJycgbWFrZWluZm8n
Ck1LRElSX1A9J21rZGlyIC1wJwpNVElNRV9SRVNPTFVUSU9OPScwLjAxJwpPQkpFWFQ9J1VOS05P
V04nClBBQ0tBR0U9J2F1dG9tYWtlJwpQQUNLQUdFX0JVR1JFUE9SVD0nYnVnLWF1dG9tYWtlQGdu
dS5vcmcnClBBQ0tBR0VfTkFNRT0nR05VIEF1dG9tYWtlJwpQQUNLQUdFX1NUUklORz0nR05VIEF1
dG9tYWtlIDEuMTguMS45MScKUEFDS0FHRV9UQVJOQU1FPSdhdXRvbWFrZScKUEFDS0FHRV9VUkw9
J2h0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYXV0b21ha2UvJwpQQUNLQUdFX1ZFUlNJT049
JzEuMTguMS45MScKUEFUSF9TRVBBUkFUT1I9JzonClBFUkw9Jy91c3IvYmluL3BlcmwnClJFTEVB
U0VfWUVBUj0nMjAyNicKU0VUX01BS0U9JycKU0hFTEw9Jy9iaW4vc2gnClNUUklQPScnClRFWD0n
dGV4JwpWRVJTSU9OPScxLjE4LjEuOTEnCllBQ0M9J3lhY2MnCmFjX2N0X0NDPSdjYycKYWNfY3Rf
Q1hYPSdjKysnCmFjX2N0X0Y3Nz0nJwphY19jdF9GQz0nJwphY19jdF9HTlVfQTY4PScnCmFjX2N0
X0dOVV9DQz0nJwphY19jdF9HTlVfQ1hYPScnCmFjX2N0X0dOVV9GNzc9JycKYWNfY3RfR05VX0ZD
PScnCmFjX2N0X0dOVV9HQ0o9JycKYW1fQVVUT0NPTkY9J2F1dG9jb25mJwphbV9BVVRPSEVBREVS
PSdhdXRvaGVhZGVyJwphbV9BVVRPTTRURT0nYXV0b200dGUnCmFtX0FVVE9SRUNPTkY9J2F1dG9y
ZWNvbmYnCmFtX0FVVE9VUERBVEU9J2F1dG91cGRhdGUnCmFtX19FWEVFWFRfRkFMU0U9JyMnCmFt
X19FWEVFWFRfVFJVRT0nJwphbV9faXNyYz0nJwphbV9fbGVhZGluZ19kb3Q9Jy4nCmFtX19ybV9m
X25vdGZvdW5kPScnCmFtX190YXI9J3RhciBjaGYgLSAiJCR0YXJkaXIiJwphbV9fdW50YXI9J3Rh
ciB4ZiAtJwphbV9feGFyZ3Nfbj0neGFyZ3MgLW4nCmFtX2NhbmRpZGF0ZV9zaD0nJwphbWRpcj0n
JHtwa2d2ZGF0YWRpcn0vYW0nCmF1dG9tYWtlX2FjZGlyPScke2RhdGFkaXJ9L2FjbG9jYWwtMS4x
OCcKYmluZGlyPScke2V4ZWNfcHJlZml4fS9iaW4nCmJ1aWxkPSdhYXJjaDY0LWFwcGxlLWRhcndp
bjI1LjUuMCcKYnVpbGRfYWxpYXM9JycKYnVpbGRfY3B1PSdhYXJjaDY0JwpidWlsZF9vcz0nZGFy
d2luMjUuNS4wJwpidWlsZF92ZW5kb3I9J2FwcGxlJwpkYXRhZGlyPScke2RhdGFyb290ZGlyfScK
ZGF0YXJvb3RkaXI9JyR7cHJlZml4fS9zaGFyZScKZG9jZGlyPScke2RhdGFyb290ZGlyfS9kb2Mv
JHtQQUNLQUdFX1RBUk5BTUV9JwpkdmlkaXI9JyR7ZG9jZGlyfScKZXhlY19wcmVmaXg9JyR7cHJl
Zml4fScKaG9zdD0nYWFyY2g2NC1hcHBsZS1kYXJ3aW4yNS41LjAnCmhvc3RfYWxpYXM9JycKaG9z
dF9jcHU9J2FhcmNoNjQnCmhvc3Rfb3M9J2RhcndpbjI1LjUuMCcKaG9zdF92ZW5kb3I9J2FwcGxl
JwpodG1sZGlyPScke2RvY2Rpcn0nCmluY2x1ZGVkaXI9JyR7cHJlZml4fS9pbmNsdWRlJwppbmZv
ZGlyPScke2RhdGFyb290ZGlyfS9pbmZvJwppbnN0YWxsX3NoPScke1NIRUxMfSAvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS9saWIvaW5zdGFsbC1zaCcKbGliZGlyPScke2V4ZWNfcHJlZml4fS9saWIn
CmxpYmV4ZWNkaXI9JyR7ZXhlY19wcmVmaXh9L2xpYmV4ZWMnCmxvY2FsZWRpcj0nJHtkYXRhcm9v
dGRpcn0vbG9jYWxlJwpsb2NhbHN0YXRlZGlyPScke3ByZWZpeH0vdmFyJwptYW5kaXI9JyR7ZGF0
YXJvb3RkaXJ9L21hbicKbWtkaXJfcD0nJChNS0RJUl9QKScKb2xkaW5jbHVkZWRpcj0nL3Vzci9p
bmNsdWRlJwpwZGZkaXI9JyR7ZG9jZGlyfScKcGtndmRhdGFkaXI9JyR7ZGF0YWRpcn0vYXV0b21h
a2UtMS4xOCcKcHJlZml4PScvdXNyL2xvY2FsJwpwcm9ncmFtX3RyYW5zZm9ybV9uYW1lPSdzLHgs
eCwnCnBzZGlyPScke2RvY2Rpcn0nCnJlcXVpcmVkX2F1dG9jb25mX3ZlcnNpb249JzIuNjUnCnJ1
bnN0YXRlZGlyPScke2xvY2Fsc3RhdGVkaXJ9L3J1bicKc2JpbmRpcj0nJHtleGVjX3ByZWZpeH0v
c2JpbicKc2NyaXB0ZGlyPScke3BrZ3ZkYXRhZGlyfScKc2hhcmVkc3RhdGVkaXI9JyR7cHJlZml4
fS9jb20nCnN5c2NvbmZkaXI9JyR7cHJlZml4fS9ldGMnCnN5c3RlbV9hY2Rpcj0nJHtkYXRhZGly
fS9hY2xvY2FsJwp0YXJnZXRfYWxpYXM9JycKCiMjIC0tLS0tLS0tLS0tICMjCiMjIGNvbmZkZWZz
LmguICMjCiMjIC0tLS0tLS0tLS0tICMjCgovKiBjb25mZGVmcy5oICovCiNkZWZpbmUgUEFDS0FH
RV9OQU1FICJHTlUgQXV0b21ha2UiCiNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJhdXRvbWFrZSIK
I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjEuMTguMS45MSIKI2RlZmluZSBQQUNLQUdFX1NUUklO
RyAiR05VIEF1dG9tYWtlIDEuMTguMS45MSIKI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVn
LWF1dG9tYWtlQGdudS5vcmciCiNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5v
cmcvc29mdHdhcmUvYXV0b21ha2UvIgoKY29uZmlndXJlOiBleGl0IAoKCiMjIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0gIyMKIyMgUnVubmluZyBjb25maWcuc3RhdHVzLiAjIwojIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tICMjCgoKVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBHTlUgQXV0b21ha2Ug
Y29uZmlnLnN0YXR1cyAxLjE4LjEuOTEsIHdoaWNoIHdhcwpnZW5lcmF0ZWQgYnkgR05VIEF1dG9j
b25mIDIuNzMuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKCiAgQ09ORklHX0ZJTEVTICAg
ID0gCiAgQ09ORklHX0hFQURFUlMgID0gCiAgQ09ORklHX0xJTktTICAgID0gCiAgQ09ORklHX0NP
TU1BTkRTID0gCiAgJCAuL2NvbmZpZy5zdGF0dXMgLS1maWxlPS0KCm9uIG5ldy1ob3N0LTMuaG9t
ZQoKCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgUnVubmluZyBjb25maWcuc3RhdHVz
LiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCgpUaGlzIGZpbGUgd2FzIGV4dGVuZGVk
IGJ5IEdOVSBBdXRvbWFrZSBjb25maWcuc3RhdHVzIDEuMTguMS45MSwgd2hpY2ggd2FzCmdlbmVy
YXRlZCBieSBHTlUgQXV0b2NvbmYgMi43My4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwoK
ICBDT05GSUdfRklMRVMgICAgPSAKICBDT05GSUdfSEVBREVSUyAgPSAKICBDT05GSUdfTElOS1Mg
ICAgPSAKICBDT05GSUdfQ09NTUFORFMgPSAKICAkIC4vY29uZmlnLnN0YXR1cyAtLWZpbGU9LQoK
b24gbmV3LWhvc3QtMy5ob21lCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIFJ1bm5p
bmcgY29uZmlnLnN0YXR1cy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoKClRoaXMg
ZmlsZSB3YXMgZXh0ZW5kZWQgYnkgR05VIEF1dG9tYWtlIGNvbmZpZy5zdGF0dXMgMS4xOC4xLjkx
LCB3aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjczLiAgSW52b2NhdGlvbiBj
b21tYW5kIGxpbmUgd2FzCgogIENPTkZJR19GSUxFUyAgICA9IAogIENPTkZJR19IRUFERVJTICA9
IAogIENPTkZJR19MSU5LUyAgICA9IAogIENPTkZJR19DT01NQU5EUyA9IAogICQgLi9jb25maWcu
c3RhdHVzIC0tZmlsZT0tCgpvbiBuZXctaG9zdC0zLmhvbWUKCiMjIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0gIyMKIyMgUnVubmluZyBjb25maWcuc3RhdHVzLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tICMjCgpUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IEdOVSBBdXRvbWFrZSBjb25maWcu
c3RhdHVzIDEuMTguMS45MSwgd2hpY2ggd2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi43
My4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwoKICBDT05GSUdfRklMRVMgICAgPSAKICBD
T05GSUdfSEVBREVSUyAgPSAKICBDT05GSUdfTElOS1MgICAgPSAKICBDT05GSUdfQ09NTUFORFMg
PSAKICAkIC4vY29uZmlnLnN0YXR1cyAtLWZpbGU9LQoKb24gbmV3LWhvc3QtMy5ob21lCgojIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIFJ1bm5pbmcgY29uZmlnLnN0YXR1cy4gIyMKIyMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoKVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBHTlUg
QXV0b21ha2UgY29uZmlnLnN0YXR1cyAxLjE4LjEuOTEsIHdoaWNoIHdhcwpnZW5lcmF0ZWQgYnkg
R05VIEF1dG9jb25mIDIuNzMuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKCiAgQ09ORklH
X0ZJTEVTICAgID0gCiAgQ09ORklHX0hFQURFUlMgID0gCiAgQ09ORklHX0xJTktTICAgID0gCiAg
Q09ORklHX0NPTU1BTkRTID0gCiAgJCAuL2NvbmZpZy5zdGF0dXMgLS1maWxlPS0KCm9uIG5ldy1o
b3N0LTMuaG9tZQoKCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgUnVubmluZyBjb25m
aWcuc3RhdHVzLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCgpUaGlzIGZpbGUgd2Fz
IGV4dGVuZGVkIGJ5IEdOVSBBdXRvbWFrZSBjb25maWcuc3RhdHVzIDEuMTguMS45MSwgd2hpY2gg
d2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi43My4gIEludm9jYXRpb24gY29tbWFuZCBs
aW5lIHdhcwoKICBDT05GSUdfRklMRVMgICAgPSAKICBDT05GSUdfSEVBREVSUyAgPSAKICBDT05G
SUdfTElOS1MgICAgPSAKICBDT05GSUdfQ09NTUFORFMgPSAKICAkIC4vY29uZmlnLnN0YXR1cyAt
LWZpbGU9LQoKb24gbmV3LWhvc3QtMy5ob21lCgoKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAj
IwojIyBSdW5uaW5nIGNvbmZpZy5zdGF0dXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g
IyMKClRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgR05VIEF1dG9tYWtlIGNvbmZpZy5zdGF0dXMg
MS4xOC4xLjkxLCB3aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjczLiAgSW52
b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCgogIENPTkZJR19GSUxFUyAgICA9IAogIENPTkZJR19I
RUFERVJTICA9IAogIENPTkZJR19MSU5LUyAgICA9IAogIENPTkZJR19DT01NQU5EUyA9IAogICQg
Li9jb25maWcuc3RhdHVzIC0tZmlsZT0tCgpvbiBuZXctaG9zdC0zLmhvbWUKCisgY2F0IC91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL2Jpbi9hY2xvY2FsLTEuMTgKIyEvdXNyL2Jpbi9wZXJsCiMgYWNs
b2NhbCAtIGNyZWF0ZSBhY2xvY2FsLm00IGJ5IHNjYW5uaW5nIGNvbmZpZ3VyZS5hYyAgICAgIC0q
LSBwZXJsIC0qLQojIEdlbmVyYXRlZCBmcm9tIGJpbi9hY2xvY2FsLmluOyBkbyBub3QgZWRpdCBi
eSBoYW5kLgojIENvcHlyaWdodCAoQykgMTk5Ni0yMDI2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLgoKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKQojIGFueSBs
YXRlciB2ZXJzaW9uLgoKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgoKIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhp
cyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4K
CiMgV3JpdHRlbiBieSBUb20gVHJvbWV5IDx0cm9tZXlAcmVkaGF0LmNvbT4sIGFuZAojIEFsZXhh
bmRyZSBEdXJldC1MdXR6IDxhZGxAZ251Lm9yZz4uCgp1c2UgNS4wMDY7IHVzZSBzdHJpY3Q7IHVz
ZSB3YXJuaW5nczsKCkJFR0lOCnsKICB1bnNoaWZ0IChASU5DLCAnL3Vzci9sb2NhbC9zaGFyZS9h
dXRvbWFrZS0xLjE4JykKICAgIHVubGVzcyAkRU5We0FVVE9NQUtFX1VOSU5TVEFMTEVEfTsKfQoK
dXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgRmlsZTo6UGF0aCAoKTsKCnVzZSBBdXRvbWFrZTo6Q29u
ZmlnOwp1c2UgQXV0b21ha2U6OkdlbmVyYWw7CnVzZSBBdXRvbWFrZTo6Q29uZmlndXJlX2FjOwp1
c2UgQXV0b21ha2U6OkNoYW5uZWxzOwp1c2UgQXV0b21ha2U6OkNoYW5uZWxEZWZzOwp1c2UgQXV0
b21ha2U6OlhGaWxlOwp1c2UgQXV0b21ha2U6OkZpbGVVdGlsczsKCiMgU29tZSBnbG9iYWxzLgoK
IyBTdXBwb3J0IEFDX0NPTkZJR19NQUNST19ESVJTIGFsc28gd2l0aCBvbGRlciBhdXRvY29uZi4K
IyBGSVhNRTogVG8gYmUgcmVtb3ZlZCBpbiBBdXRvbWFrZSAyLjAsIG9uY2Ugd2UgY2FuIGFzc3Vt
ZSBhdXRvY29uZgojICAgICAgICAyLjcwIG9yIGxhdGVyLgojIEZJWE1FOiBrZWVwIGluIHN5bmMg
d2l0aCAnaW50ZXJuYWwvYWMtY29uZmlnLW1hY3JvLWRpcnMubTQnLgpteSAkYWNfY29uZmlnX21h
Y3JvX2RpcnNfZmFsbGJhY2sgPQogICdtNF9pZm5kZWYoW0FDX0NPTkZJR19NQUNST19ESVJTXSwg
WycgLgogICAgJ200X2RlZnVuKFtfQU1fQ09ORklHX01BQ1JPX0RJUlNdLCBbXSknIC4KICAgICdt
NF9kZWZ1bihbQUNfQ09ORklHX01BQ1JPX0RJUlNdLCBbX0FNX0NPTkZJR19NQUNST19ESVJTKCRA
KV0pJyAuCiAgJ10pJzsKCiMgV2UgZG8gbm90IG9wZXJhdGUgaW4gdGhyZWFkZWQgbW9kZS4KJHBl
cmxfdGhyZWFkcyA9IDA7CgojIEluY2x1ZGUgcGF0aHMgZm9yIHNlYXJjaGluZyBtYWNyb3MuICBX
ZSBzZWFyY2ggbWFjcm9zIGluIHRoaXMgb3JkZXI6CiMgdXNlci1zdXBwbGllZCBkaXJlY3Rvcmll
cyBmaXJzdCwgdGhlbiB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlCiMgYXV0b21ha2UgbWFj
cm9zLCBhbmQgZmluYWxseSB0aGUgc3lzdGVtLXdpZGUgZGlyZWN0b3JpZXMgZm9yCiMgdGhpcmQt
cGFydHkgbWFjcm9zLgojIEB1c2VyX2luY2x1ZGVzIGNhbiBiZSBhdWdtZW50ZWQgd2l0aCAtSSBv
ciBBQ19DT05GSUdfTUFDUk9fRElSUy4KIyBAYXV0b21ha2VfaW5jbHVkZXMgY2FuIGJlIHJlc2V0
IHdpdGggdGhlICctLWF1dG9tYWtlLWFjZGlyJyBvcHRpb24uCiMgQHN5c3RlbV9pbmNsdWRlcyBj
YW4gYmUgYXVnbWVudGVkIHdpdGggdGhlICdkaXJsaXN0JyBmaWxlIG9yIHRoZQojIC0tYWNsb2Nh
bC1wYXRoIG9wdGlvbi9BQ0xPQ0FMX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGUsIGFuZCByZXNl
dAojIHdpdGggdGhlICctLXN5c3RlbS1hY2Rpcicgb3B0aW9uLgpteSBAdXNlcl9pbmNsdWRlcyA9
ICgpOwpteSBAYXV0b21ha2VfaW5jbHVkZXMgPSAoJy91c3IvbG9jYWwvc2hhcmUvYWNsb2NhbC0n
IC4gJEFQSVZFUlNJT04pOwpteSBAc3lzdGVtX2luY2x1ZGVzID0gKCcvdXNyL2xvY2FsL3NoYXJl
L2FjbG9jYWwnKTsKbXkgJGFjbG9jYWxfcGF0aCA9ICcnOwoKIyBXaGV0aGVyIHdlIHNob3VsZCBj
b3B5IE00IGZpbGUgaW4gJHVzZXJfaW5jbHVkZXNbMF0uCm15ICRpbnN0YWxsID0gMDsKCiMgLS1k
aWZmCm15IEBkaWZmX2NvbW1hbmQ7CgojIC0tZHJ5LXJ1bgpteSAkZHJ5X3J1biA9IDA7CgojIGNv
bmZpZ3VyZS5hYyBvciBjb25maWd1cmUuaW4uCm15ICRjb25maWd1cmVfYWM7CgojIE91dHB1dCBm
aWxlIG5hbWUuCm15ICRvdXRwdXRfZmlsZSA9ICdhY2xvY2FsLm00JzsKCiMgT3B0aW9uIC0tZm9y
Y2UuCm15ICRmb3JjZV9vdXRwdXQgPSAwOwoKIyBNb2RpZmljYXRpb24gdGltZSBvZiB0aGUgeW91
bmdlc3QgZGVwZW5kZW5jeS4KbXkgJGdyZWF0ZXN0X210aW1lID0gMDsKCiMgV2hpY2ggbWFjcm9z
IGhhdmUgYmVlbiBzZWVuLgpteSAlbWFjcm9fc2VlbiA9ICgpOwoKIyBSZW1lbWJlciB0aGUgb3Jk
ZXIgaW50byB3aGljaCB3ZSBzY2FubmVkIHRoZSBmaWxlcy4KIyBJdCdzIGltcG9ydGFudCB0byBv
dXRwdXQgdGhlIGNvbnRlbnRzIG9mIGFjbG9jYWwubTQgaW4gdGhlIG9wcG9zaXRlIG9yZGVyLgoj
IChEZWZpbml0aW9ucyBpbiBmaXJzdCBmaWxlcyB3ZSBoYXZlIHNjYW5uZWQgc2hvdWxkIG92ZXJy
aWRlIHRob3NlIGZyb20KIyBsYXRlciBmaWxlcy4gIFNvIHRoZXkgbXVzdCBhcHBlYXIgbGFzdCBp
biB0aGUgb3V0cHV0LikKbXkgQGZpbGVfb3JkZXIgPSAoKTsKCiMgTWFwIG1hY3JvIG5hbWVzIHRv
IGZpbGUgbmFtZXMuCm15ICVtYXAgPSAoKTsKCiMgRGl0dG8sIGJ1dCByZWNvcmRzIHRoZSBsYXN0
IGRlZmluaXRpb24gb2YgZWFjaCBtYWNybyBhcyByZXR1cm5lZCBieSAtLXRyYWNlLgpteSAlbWFw
X3RyYWNlZF9kZWZzID0gKCk7CgojIE1hcCBiYXNlbmFtZXMgdG8gbWFjcm8gbmFtZXMuCm15ICVp
bnZtYXAgPSAoKTsKCiMgTWFwIGZpbGUgbmFtZXMgdG8gZmlsZSBjb250ZW50cy4KbXkgJWZpbGVf
Y29udGVudHMgPSAoKTsKCiMgTWFwIGZpbGUgbmFtZXMgdG8gZmlsZSB0eXBlcy4KbXkgJWZpbGVf
dHlwZSA9ICgpOwp1c2UgY29uc3RhbnQgRlRfVVNFUiA9PiAxOwp1c2UgY29uc3RhbnQgRlRfQVVU
T01BS0UgPT4gMjsKdXNlIGNvbnN0YW50IEZUX1NZU1RFTSA9PiAzOwoKIyBNYXAgZmlsZSBuYW1l
cyB0byBpbmNsdWRlZCBmaWxlcyAodHJhbnNpdGl2ZWx5IGNsb3NlZCkuCm15ICVmaWxlX2luY2x1
ZGVzID0gKCk7CgojIEZpbGVzIHdoaWNoIGhhdmUgYWxyZWFkeSBiZWVuIGFkZGVkLgpteSAlZmls
ZV9hZGRlZCA9ICgpOwoKIyBGaWxlcyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIHNjYW5uZWQuCm15
ICVzY2FubmVkX2NvbmZpZ3VyZV9kZXAgPSAoKTsKCiMgU2VyaWFsIG51bWJlcnMsIGZvciBmaWxl
cyB0aGF0IGhhdmUgb25lLgojIFRoZSBrZXkgaXMgdGhlIGJhc2VuYW1lIG9mIHRoZSBmaWxlLAoj
IHRoZSB2YWx1ZSBpcyB0aGUgc2VyaWFsIG51bWJlciByZXByZXNlbnRlZCBhcyBhIGxpc3QuCm15
ICVzZXJpYWwgPSAoKTsKCiMgTWF0Y2hlcyBhIG1hY3JvIGRlZmluaXRpb24uCiMgICBBQ19ERUZV
TihbbWFjcm9uYW1lXSwgLi4uKQojIG9yCiMgICBBQ19ERUZVTihtYWNyb25hbWUsIC4uLikKIyBX
aGVuIG1hY3JvbmFtZSBpcyAnWyctcXVvdGVkICwgd2UgYWNjZXB0IGFueSBjaGFyYWN0ZXIgaW4g
dGhlIG5hbWUsCiMgZXhjZXB0ICddJy4gIE90aGVyd2lzZSBtYWNyb25hbWUgc3RvcHMgb24gdGhl
IGZpcnN0ICddJywgJywnLCAnKScsCiMgb3IgJ1xuJyBlbmNvdW50ZXJlZC4KbXkgJGFjX2RlZnVu
X3J4ID0KICAiKD86QVVfQUxJQVN8QVtDVV1fREVGVU58QUNfREVGVU5fT05DRSlcXCgoPzpcXFso
W15dXSspXFxdfChbXl0sKVxuXSspKSI7CgojIE1hdGNoZXMgYW4gQUNfUkVRVUlSRSBsaW5lLgpt
eSAkYWNfcmVxdWlyZV9yeCA9ICJBQ19SRVFVSVJFXFwoKD86XFxbKFteXV0rKVxcXXwoW15dLClc
bl0rKSlcXCkiOwoKIyBNYXRjaGVzIGFuIG00X2luY2x1ZGUgbGluZS4KbXkgJG00X2luY2x1ZGVf
cnggPSAiKG00X3xtNF9zfHMpaW5jbHVkZVxcKCg/OlxcWyhbXl1dKylcXF18KFteXSwpXG5dKykp
XFwpIjsKCiMgTWF0Y2ggYSBzZXJpYWwgbnVtYmVyLgpteSAkc2VyaWFsX2xpbmVfcnggPSAnXiNc
cypzZXJpYWxccysoXFMqKSc7Cm15ICRzZXJpYWxfbnVtYmVyX3J4ID0gJ15cZCsoPzpcLlxkKykq
JCc7CgojIEF1dG9jb25mIHZlcnNpb24uICBUaGlzIHZhcmlhYmxlIGlzIHNldCBieSAndHJhY2Vf
dXNlZF9tYWNyb3MnLgpteSAkYWNfdmVyc2lvbjsKCiMgVXNlciBkaXJlY3RvcnkgY29udGFpbmlu
ZyBleHRyYSBtNCBmaWxlcyBmb3IgbWFjcm9zIGRlZmluaXRpb24sCiMgYXMgZXh0cmFjdGVkIGZy
b20gY2FsbHMgdG8gdGhlIG1hY3JvIEFDX0NPTkZJR19NQUNST19ESVJTLgojIFRoaXMgdmFyaWFi
bGUgaXMgdXBkYXRlZCBieSAndHJhY2VfdXNlZF9tYWNyb3MnLgpteSBAYWNfY29uZmlnX21hY3Jv
X2RpcnM7CgojIElmIHNldCwgbmFtZXMgYSB0ZW1wb3JhcnkgZmlsZSB0aGF0IG11c3QgYmUgZXJh
c2VkIG9uIGFibm9ybWFsIGV4aXQuCm15ICRlcmFzZV9tZTsKCiMgQ29uc3RhbnRzIGZvciB0aGUg
JEVSUl9MRVZFTCBwYXJhbWV0ZXIgb2YgdGhlICdzY2FuX200X2RpcnMnIGZ1bmN0aW9uLgp1c2Ug
Y29uc3RhbnQgU0NBTl9NNF9ESVJTX1NJTEVOVCA9PiAwOwp1c2UgY29uc3RhbnQgU0NBTl9NNF9E
SVJTX1dBUk4gPT4gMTsKdXNlIGNvbnN0YW50IFNDQU5fTTRfRElSU19FUlJPUiA9PiAyOwoKIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIwoKIyBQcm90b3R5cGVzIGZvciBhbGwgc3Vicm91dGluZXMuCgpzdWIgYWRkX2ZpbGUgKCQp
OwpzdWIgYWRkX21hY3JvICgkKTsKc3ViIGNoZWNrX2FjaW5jbHVkZSAoKTsKc3ViIGluc3RhbGxf
ZmlsZSAoJCQpOwpzdWIgbGlzdF9jb21wYXJlIChcQFxAKTsKc3ViIHBhcnNlX0FDTE9DQUxfUEFU
SCAoKTsKc3ViIHBhcnNlX2FyZ3VtZW50cyAoKTsKc3ViIHJlc2V0X21hcHMgKCk7CnN1YiBzY2Fu
X2NvbmZpZ3VyZSAoKTsKc3ViIHNjYW5fY29uZmlndXJlX2RlcCAoJCk7CnN1YiBzY2FuX2ZpbGUg
KCQkJCk7CnN1YiBzY2FuX200X2RpcnMgKCQkQCk7CnN1YiBzY2FuX200X2ZpbGVzICgpOwpzdWIg
c3RyaXBfcmVkdW5kYW50X2luY2x1ZGVzICglKTsKc3ViIHRyYWNlX3VzZWRfbWFjcm9zICgpOwpz
dWIgdW5saW5rX3RtcCAoOyQpOwpzdWIgdXNhZ2UgKCQpOwpzdWIgdmVyc2lvbiAoKTsKc3ViIHdy
aXRlX2FjbG9jYWwgKCRAKTsKc3ViIHhta2Rpcl9wICgkKTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgRXJhc2UgdGVt
cG9yYXJ5IGZpbGUgRVJBU0VfTUUuICBIYW5kbGUgc2lnbmFscy4Kc3ViIHVubGlua190bXAgKDsk
KQp7CiAgbXkgKCRzaWcpID0gQF87CgogIGlmICgkc2lnKQogICAgewogICAgICB2ZXJiICJjYXVn
aHQgU0lHJHNpZywgYmFpbGluZyBvdXQiOwogICAgfQogIGlmIChkZWZpbmVkICRlcmFzZV9tZSAm
JiAtZSAkZXJhc2VfbWUgJiYgIXVubGluayAoJGVyYXNlX21lKSkKICAgIHsKICAgICAgZmF0YWwg
ImNvdWxkIG5vdCByZW1vdmUgJyRlcmFzZV9tZSc6ICQhIjsKICAgIH0KICB1bmRlZiAkZXJhc2Vf
bWU7CgogICMgcmVyYWlzZSBkZWZhdWx0IGhhbmRsZXIuCiAgaWYgKCRzaWcpCiAgICB7CiAgICAg
ICRTSUd7JHNpZ30gPSAnREVGQVVMVCc7CiAgICAgIGtpbGwgJHNpZyA9PiAkJDsKICAgIH0KfQoK
JFNJR3snSU5UJ30gPSAkU0lHeydURVJNJ30gPSAkU0lHeydRVUlUJ30gPSAkU0lHeydIVVAnfSA9
ICd1bmxpbmtfdG1wJzsKRU5EIHsgdW5saW5rX3RtcCB9CgpzdWIgeG1rZGlyX3AgKCQpCnsKICBt
eSAkZGlyID0gc2hpZnQ7CiAgbG9jYWwgJEAgPSB1bmRlZjsKICByZXR1cm4KICAgIGlmIC1kICRk
aXIgb3IgZXZhbCB7IEZpbGU6OlBhdGg6Om1rcGF0aCAkZGlyIH07CiAgY2hvbXAgJEA7CiAgJEAg
PX4gcy9ccythdFxzLipcYmxpbmVcc1xkKy4qJC8vOwogIGZhdGFsICJjb3VsZCBub3QgY3JlYXRl
IGRpcmVjdG9yeSAnJGRpcic6ICRAIjsKfQoKIyBDaGVjayBtYWNyb3MgaW4gYWNpbmNsdWRlLm00
LiAgSWYgb25lIGlzIG5vdCB1c2VkLCB3YXJuLgpzdWIgY2hlY2tfYWNpbmNsdWRlICgpCnsKICBm
b3JlYWNoIG15ICRrZXkgKHNvcnQga2V5cyAlbWFwKQogICAgewogICAgICAjIEZJWE1FOiBzaG91
bGQgcHJpbnQgbGluZSBudW1iZXIgb2YgYWNpbmNsdWRlLm00LgogICAgICBtc2cgKCdzeW50YXgn
LCAibWFjcm8gJyRrZXknIGRlZmluZWQgaW4gYWNpbmNsdWRlLm00IGJ1dCBuZXZlciB1c2VkIikK
CWlmICRtYXB7JGtleX0gZXEgJ2FjaW5jbHVkZS5tNCcgJiYgISBleGlzdHMgJG1hY3JvX3NlZW57
JGtleX07CiAgICB9Cn0KCnN1YiByZXNldF9tYXBzICgpCnsKICAkZ3JlYXRlc3RfbXRpbWUgPSAw
OwogICVtYWNyb19zZWVuID0gKCk7CiAgQGZpbGVfb3JkZXIgPSAoKTsKICAlbWFwID0gKCk7CiAg
JW1hcF90cmFjZWRfZGVmcyA9ICgpOwogICVmaWxlX2NvbnRlbnRzID0gKCk7CiAgJWZpbGVfdHlw
ZSA9ICgpOwogICVmaWxlX2luY2x1ZGVzID0gKCk7CiAgJWZpbGVfYWRkZWQgPSAoKTsKICAlc2Nh
bm5lZF9jb25maWd1cmVfZGVwID0gKCk7CiAgJWludm1hcCA9ICgpOwogICVzZXJpYWwgPSAoKTsK
ICB1bmRlZiAmc2VhcmNoOwp9CgojIGluc3RhbGxfZmlsZSAoJFNSQywgJERFU1RESVIpCnN1YiBp
bnN0YWxsX2ZpbGUgKCQkKQp7CiAgbXkgKCRzcmMsICRkZXN0ZGlyKSA9IEBfOwogIG15ICRkZXN0
ID0gJGRlc3RkaXIgLiAiLyIgLiBiYXNlbmFtZSAoJHNyYyk7CiAgbXkgJGRpZmZfZGVzdDsKCiAg
dmVyYiAiaW5zdGFsbGluZyAkc3JjIHRvICRkZXN0IjsKCiAgaWYgKCRmb3JjZV9vdXRwdXQKICAg
ICAgfHwgIWV4aXN0cyAkZmlsZV9jb250ZW50c3skZGVzdH0KICAgICAgfHwgJGZpbGVfY29udGVu
dHN7JHNyY30gbmUgJGZpbGVfY29udGVudHN7JGRlc3R9KQogICAgewogICAgICBpZiAoLWUgJGRl
c3QpCgl7CgkgIG1zZyAnbm90ZScsICJvdmVyd3JpdGluZyAnJGRlc3QnIHdpdGggJyRzcmMnIjsK
CSAgJGRpZmZfZGVzdCA9ICRkZXN0OwoJfQogICAgICBlbHNlCgl7CgkgIG1zZyAnbm90ZScsICJp
bnN0YWxsaW5nICckZGVzdCcgZnJvbSAnJHNyYyciOwoJfQoKICAgICAgaWYgKEBkaWZmX2NvbW1h
bmQpCgl7CgkgIGlmICghIGRlZmluZWQgJGRpZmZfZGVzdCkKCSAgICB7CgkgICAgICAjICRkZXN0
IGRvZXMgbm90IGV4aXN0LiAgV2UgY3JlYXRlIGFuIGVtcHR5IG9uZSBqdXN0IHRvCgkgICAgICAj
IHJ1biBkaWZmLCBhbmQgd2UgZXJhc2UgaXQgYWZ0ZXJ3YXJkLiAgVXNpbmcgdGhlIHJlYWwKCSAg
ICAgICMgZGVzdGluYXRpb24gZmlsZSAocmF0aGVyIHRoYW4gYSB0ZW1wb3JhcnkgZmlsZSkgaXMK
CSAgICAgICMgZ29vZCB3aGVuIGRpZmYgaXMgcnVuIHdpdGggb3B0aW9ucyB0aGF0IGRpc3BsYXkg
dGhlCgkgICAgICAjIGZpbGUgbmFtZS4KCSAgICAgICMKCSAgICAgICMgSWYgY3JlYXRpbmcgJGRl
c3QgZmFpbHMsIGZhbGwgYmFjayB0byAvZGV2L251bGwuICBBdAoJICAgICAgIyBsZWFzdCBvbmUg
ZGlmZiBpbXBsZW1lbnRhdGlvbiAoVHJ1NjQncykgY2Fubm90IGRlYWwKCSAgICAgICMgd2l0aCAv
ZGV2L251bGwuICBIb3dldmVyIHdvcmtpbmcgYXJvdW5kIHRoaXMgaXMgbm90CgkgICAgICAjIHdv
cnRoIHRoZSB0cm91YmxlIHNpbmNlIG5vYm9keSBydW4gYWNsb2NhbCBvbiBhCgkgICAgICAjIHJl
YWQtb25seSB0cmVlIGFueXdheS4KCSAgICAgICRlcmFzZV9tZSA9ICRkZXN0OwoJICAgICAgbXkg
JGYgPSBuZXcgSU86OkZpbGUgIj4gJGRlc3QiOwoJICAgICAgaWYgKCEgZGVmaW5lZCAkZikKCQl7
CgkJICB1bmRlZiAkZXJhc2VfbWU7CgkJICAkZGlmZl9kZXN0ID0gJy9kZXYvbnVsbCc7CgkJfQoJ
ICAgICAgZWxzZQoJCXsKCQkgICRkaWZmX2Rlc3QgPSAkZGVzdDsKCQkgICRmLT5jbG9zZTsKCQl9
CgkgICAgfQoJICBteSBAY21kID0gKEBkaWZmX2NvbW1hbmQsICRkaWZmX2Rlc3QsICRzcmMpOwoJ
ICAkISA9IDA7CgkgIHZlcmIgInJ1bm5pbmc6IEBjbWQiOwoJICBteSAkcmVzID0gc3lzdGVtIChA
Y21kKTsKCSAgQXV0b21ha2U6OkZpbGVVdGlsczo6aGFuZGxlX2V4ZWNfZXJyb3JzICJAY21kIiwg
MQoJICAgIGlmICRyZXM7CgkgIHVubGlua190bXA7Cgl9CiAgICAgIGVsc2lmICghJGRyeV9ydW4p
Cgl7CiAgICAgICAgICB4bWtkaXJfcCAoJGRlc3RkaXIpOwoJICB4c3lzdGVtICgnY3AnLCAkc3Jj
LCAkZGVzdCk7Cgl9CiAgICB9Cn0KCiMgQ29tcGFyZSB0d28gbGlzdHMgb2YgbnVtYmVycy4Kc3Vi
IGxpc3RfY29tcGFyZSAoXEBcQCkKewogIG15IEBsID0gQHskX1swXX07CiAgbXkgQHIgPSBAeyRf
WzFdfTsKICB3aGlsZSAoMSkKICAgIHsKICAgICAgaWYgKDAgPT0gQGwpCgl7CgkgIHJldHVybiAo
MCA9PSBAcikgPyAwIDogLTE7Cgl9CiAgICAgIGVsc2lmICgwID09IEByKQoJewoJICByZXR1cm4g
MTsKCX0KICAgICAgZWxzaWYgKCRsWzBdIDwgJHJbMF0pCgl7CgkgIHJldHVybiAtMTsKCX0KICAg
ICAgZWxzaWYgKCRsWzBdID4gJHJbMF0pCgl7CgkgIHJldHVybiAxOwoJfQogICAgICBzaGlmdCBA
bDsKICAgICAgc2hpZnQgQHI7CiAgICB9Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgc2Nhbl9tNF9kaXJzKCRUWVBF
LCAkRVJSX0xFVkVMLCBARElSUykKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQojIFNjYW4gYWxsIE00IGZpbGVzIGluc3RhbGxlZCBpbiBARElSUyBmb3Ig
bmV3IG1hY3JvIGRlZmluaXRpb25zLgojIFJlZ2lzdGVyIGVhY2ggZmlsZSBhcyBvZiB0eXBlICRU
WVBFIChvbmUgb2YgdGhlIEZUXyogY29uc3RhbnRzKS4KIyBJZiBhIGRpcmVjdG9yeSBpbiBARElS
UyBjYW5ub3QgYmUgcmVhZDoKIyAgLSBmYWlsIGhhcmQgICAgICAgICAgICAgICAgaWYgJEVSUl9M
RVZFTCA9PSBTQ0FOX000X0RJUlNfRVJST1IKIyAgLSBqdXN0IHByaW50IGEgd2FybmluZyAgICAg
aWYgJEVSUl9MRVZFTCA9PSBTQ0FOX000X0RJUlNfV0EKIyAgLSBjb250aW51ZSBzaWxlbnRseSAg
ICAgICAgaWYgJEVSUl9MRVZFTCA9PSBTQ0FOX000X0RJUlNfU0lMRU5UCnN1YiBzY2FuX200X2Rp
cnMgKCQkQCkKewogIG15ICgkdHlwZSwgJGVycl9sZXZlbCwgQGRpcmxpc3QpID0gQF87CgogIGZv
cmVhY2ggbXkgJG00ZGlyIChAZGlybGlzdCkKICAgIHsKICAgICAgaWYgKCEgb3BlbmRpciAoRElS
LCAkbTRkaXIpKQoJewoJICAjIFRPRE86IG1heWJlIGF2b2lkIGNvbXBsYWluaW5nIG9ubHkgaWYg
ZXJybm8gPT0gRU5PTkVOVD8KICAgICAgICAgIG15ICRtZXNzYWdlID0gImNvdWxkbid0IG9wZW4g
ZGlyZWN0b3J5ICckbTRkaXInOiAkISI7CgogICAgICAgICAgaWYgKCRlcnJfbGV2ZWwgPT0gU0NB
Tl9NNF9ESVJTX0VSUk9SKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgZmF0YWwgJG1lc3Nh
Z2U7CiAgICAgICAgICAgIH0KICAgICAgICAgIGVsc2lmICgkZXJyX2xldmVsID09IFNDQU5fTTRf
RElSU19XQVJOKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgbXNnICgndW5zdXBwb3J0ZWQn
LCAkbWVzc2FnZSk7CiAgICAgICAgICAgICAgbmV4dDsKICAgICAgICAgICAgfQogICAgICAgICAg
ZWxzaWYgKCRlcnJfbGV2ZWwgPT0gU0NBTl9NNF9ESVJTX1NJTEVOVCkKICAgICAgICAgICAgewog
ICAgICAgICAgICAgIG5leHQ7ICMgU2lsZW50bHkgaWdub3JlLgogICAgICAgICAgICB9CiAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgcHJvZ19lcnJvciAiaW52YWxp
ZCBcJGVycl9sZXZlbCB2YWx1ZSAnJGVycl9sZXZlbCciOwogICAgICAgICAgICB9Cgl9CgogICAg
ICAjIFdlIHJldmVyc2UgdGhlIGRpcmVjdG9yeSBjb250ZW50cyBzbyB0aGF0IGZvbzIubTQgZ2V0
cwogICAgICAjIHVzZWQgaW4gcHJlZmVyZW5jZSB0byBmb28xLm00LgogICAgICBmb3JlYWNoIG15
ICRmaWxlIChyZXZlcnNlIHNvcnQgZ3JlcCAoISAvXlwuLywgcmVhZGRpciAoRElSKSkpCgl7Cgkg
ICMgT25seSBleGFtaW5lIC5tNCBmaWxlcy4KCSAgbmV4dCB1bmxlc3MgJGZpbGUgPX4gL1wubTQk
LzsKCgkgICMgU2tpcCBzb21lIGZpbGVzIHdoZW4gcnVubmluZyBvdXQgb2Ygc3JjZGlyLgoJICBu
ZXh0IGlmICRmaWxlIGVxICdhY2xvY2FsLm00JzsKCgkgIG15ICRmdWxsZmlsZSA9IEZpbGU6OlNw
ZWMtPmNhbm9ucGF0aCAoIiRtNGRpci8kZmlsZSIpOwoJICBzY2FuX2ZpbGUgKCR0eXBlLCAkZnVs
bGZpbGUsICdhY2xvY2FsJyk7Cgl9CiAgICAgIGNsb3NlZGlyIChESVIpOwogICAgfQp9CgojIFNj
YW4gYWxsIHRoZSBpbnN0YWxsZWQgbTQgZmlsZXMgYW5kIGNvbnN0cnVjdCBhIG1hcC4Kc3ViIHNj
YW5fbTRfZmlsZXMgKCkKewogICMgRmlyc3QsIHNjYW4gY29uZmlndXJlLmFjLiAgSXQgbWF5IGNv
bnRhaW4gbWFjcm8gZGVmaW5pdGlvbnMsCiAgIyBvciBtYXkgaW5jbHVkZSBvdGhlciBmaWxlcyB0
aGF0IGRlZmluZSBtYWNyb3MuCiAgc2Nhbl9maWxlIChGVF9VU0VSLCAkY29uZmlndXJlX2FjLCAn
YWNsb2NhbCcpOwoKICAjIFRoZW4sIHNjYW4gYWNpbmNsdWRlLm00IGlmIGl0IGV4aXN0cy4KICBp
ZiAoLWYgJ2FjaW5jbHVkZS5tNCcpCiAgICB7CiAgICAgIHNjYW5fZmlsZSAoRlRfVVNFUiwgJ2Fj
aW5jbHVkZS5tNCcsICdhY2xvY2FsJyk7CiAgICB9CgogICMgRmluYWxseSwgc2NhbiBhbGwgZmls
ZXMgaW4gb3VyIHNlYXJjaCBwYXRocy4KCiAgaWYgKEB1c2VyX2luY2x1ZGVzKQogICAgewogICAg
ICAjIERvbid0IGV4cGxvcmUgdGhlIHNhbWUgZGlyZWN0b3J5IG11bHRpcGxlIHRpbWVzLiAgVGhp
cyBpcyBoZXJlIG5vdAogICAgICAjIG9ubHkgZm9yIHNwZWVkdXAgcHVycG9zZXMuICBXZSBuZWVk
IHRoaXMgd2hlbiB0aGUgdXNlciBoYXMgZS5nLgogICAgICAjIHNwZWNpZmllZCAnQUNMT0NBTF9B
TUZMQUdTID0gLUkgbTQnIGFuZCBoYXMgYWxzbyBzZXQKICAgICAgIyBBQ19DT05GSUdfTUFDUk9f
RElSW1NdKFttNF0pIGluIGNvbmZpZ3VyZS5hYy4gIFRoaXMgbWFrZXMgdGhlICdtNCcKICAgICAg
IyBkaXJlY3RvcnkgdG8gb2NjdXIgdHdpY2UgaGVyZSBhbmQgZmFpbCBvbiB0aGUgc2Vjb25kIGNh
bGwgdG8KICAgICAgIyBzY2FuX200X2RpcnMoW200XSkgd2hlbiB0aGUgJ200JyBkaXJlY3Rvcnkg
ZG9lc24ndCBleGlzdC4KICAgICAgIyBUT0RPOiBTaG91bGRuJ3QgdGhlcmUgYmUgcmF0aGVyIGEg
Y2hlY2sgaW4gc2Nhbl9tNF9kaXJzIGZvcgogICAgICAjICAgICAgIEB1c2VyX2luY2x1ZGVzWzBd
PwogICAgICBAdXNlcl9pbmNsdWRlcyA9IHVuaXEgQHVzZXJfaW5jbHVkZXM7CgogICAgICAjIERv
bid0IGNvbXBsYWluIGlmIHRoZSBmaXJzdCB1c2VyIGRpcmVjdG9yeSBkb2Vzbid0IGV4aXN0LCBp
biBjYXNlCiAgICAgICMgd2UgbmVlZCB0byBjcmVhdGUgaXQgbGF0ZXIgKGNhbiBoYXBwZW4gaWYg
Jy0taW5zdGFsbCcgd2FzIGdpdmVuKS4KICAgICAgc2Nhbl9tNF9kaXJzIChGVF9VU0VSLAogICAg
ICAgICAgICAgICAgICAgICRpbnN0YWxsID8gU0NBTl9NNF9ESVJTX1NJTEVOVCA6IFNDQU5fTTRf
RElSU19XQVJOLAogICAgICAgICAgICAgICAgICAgICR1c2VyX2luY2x1ZGVzWzBdKTsKICAgICAg
c2Nhbl9tNF9kaXJzIChGVF9VU0VSLAogICAgICAgICAgICAgICAgICAgIFNDQU5fTTRfRElSU19F
UlJPUiwKCQkgICAgQHVzZXJfaW5jbHVkZXNbMS4uJCN1c2VyX2luY2x1ZGVzXSk7CiAgICB9CiAg
c2Nhbl9tNF9kaXJzIChGVF9BVVRPTUFLRSwgU0NBTl9NNF9ESVJTX0VSUk9SLCBAYXV0b21ha2Vf
aW5jbHVkZXMpOwogIHNjYW5fbTRfZGlycyAoRlRfU1lTVEVNLCBTQ0FOX000X0RJUlNfRVJST1Is
IEBzeXN0ZW1faW5jbHVkZXMpOwoKICAjIENvbnN0cnVjdCBhIG5ldyBmdW5jdGlvbiB0aGF0IGRv
ZXMgdGhlIHNlYXJjaGluZy4gIFdlIHVzZSBhCiAgIyBmdW5jdGlvbiAoaW5zdGVhZCBvZiBqdXN0
IGV2YWx1YXRpbmcgJHNlYXJjaCBpbiB0aGUgbG9vcCkgc28gdGhhdAogICMgImRpZSIgaXMgY29y
cmVjdGx5IGFuZCBlYXNpbHkgcHJvcGFnYXRlZCBpZiBydW4uCiAgbXkgJHNlYXJjaCA9ICJzdWIg
c2VhcmNoIHtcbm15IFwkZm91bmQgPSAwO1xuIjsKICBmb3JlYWNoIG15ICRrZXkgKHJldmVyc2Ug
c29ydCBrZXlzICVtYXApCiAgICB7CiAgICAgICRzZWFyY2ggLj0gKCdpZiAoL1xiXFEnIC4gJGtl
eSAuICdcRSg/IVx3KS8pIHsgYWRkX21hY3JvICgiJyAuICRrZXkKCQkgIC4gJyIpOyAkZm91bmQg
PSAxOyB9JyAuICJcbiIpOwogICAgfQogICRzZWFyY2ggLj0gInJldHVybiBcJGZvdW5kO1xufTtc
biI7CiAgZXZhbCAkc2VhcmNoOwogIHByb2dfZXJyb3IgIiRAXG4gc2VhcmNoIGlzICRzZWFyY2gi
IGlmICRAOwp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjCgojIEFkZCBhIG1hY3JvIHRvIHRoZSBvdXRwdXQuCnN1YiBhZGRf
bWFjcm8gKCQpCnsKICBteSAoJG1hY3JvKSA9IEBfOwoKICAjIElnbm9yZSB1bmtub3duIHJlcXVp
cmVkIG1hY3Jvcy4gIEVpdGhlciB0aGV5IGFyZSBub3QgcmVhbGx5CiAgIyBuZWVkZWQgKGUuZy4s
IGEgY29uZGl0aW9uYWwgQUNfUkVRVUlSRSksIGluIHdoaWNoIGNhc2UgYWNsb2NhbAogICMgc2hv
dWxkIGJlIHF1aWV0LCBvciB0aGV5IGFyZSBuZWVkZWQgYW5kIEF1dG9jb25mIGl0c2VsZiB3aWxs
CiAgIyBjb21wbGFpbiB3aGVuIHdlIHRyYWNlIGZvciBtYWNybyB1c2FnZSBsYXRlci4KICByZXR1
cm4gdW5sZXNzIGRlZmluZWQgJG1hcHskbWFjcm99OwoKICB2ZXJiICJzYXcgbWFjcm8gJG1hY3Jv
IjsKICAkbWFjcm9fc2VlbnskbWFjcm99ID0gMTsKICBhZGRfZmlsZSAoJG1hcHskbWFjcm99KTsK
fQoKIyBzY2FuX2NvbmZpZ3VyZV9kZXAgKCRmaWxlKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiMgU2NhbiBhIGNvbmZpZ3VyZSBkZXBlbmRlbmN5IChjb25maWd1cmUuYWMsIG9yIHNlcGFy
YXRlIG00IGZpbGVzKQojIGZvciB1c2VzIG9mIGtub3duIG1hY3JvcyBhbmQgQUNfUkVRVUlSRXMg
b2YgcG9zc2libHkgdW5rbm93biBtYWNyb3MuCiMgUmVjdXJzaXZlbHkgc2NhbiBtNF9pbmNsdWRl
ZCBmaWxlcy4Kc3ViIHNjYW5fY29uZmlndXJlX2RlcCAoJCkKewogIG15ICgkZmlsZSkgPSBAXzsK
ICAjIERvIG5vdCBzY2FuIGEgZmlsZSB0d2ljZS4KICByZXR1cm4gKCkKICAgIGlmIGV4aXN0cyAk
c2Nhbm5lZF9jb25maWd1cmVfZGVweyRmaWxlfTsKICAkc2Nhbm5lZF9jb25maWd1cmVfZGVweyRm
aWxlfSA9IDE7CgogIG15ICRtdGltZSA9IG10aW1lICRmaWxlOwogICRncmVhdGVzdF9tdGltZSA9
ICRtdGltZSBpZiAkZ3JlYXRlc3RfbXRpbWUgPCAkbXRpbWU7CgogIG15ICRjb250ZW50cyA9IGV4
aXN0cyAkZmlsZV9jb250ZW50c3skZmlsZX0gPwogICAgJGZpbGVfY29udGVudHN7JGZpbGV9IDog
Y29udGVudHMgJGZpbGU7CgogIG15ICRsaW5lID0gMDsKICBteSBAcmxpc3QgPSAoKTsKICBteSBA
aWxpc3QgPSAoKTsKICBmb3JlYWNoIChzcGxpdCAoIlxuIiwgJGNvbnRlbnRzKSkKICAgIHsKICAg
ICAgKyskbGluZTsKICAgICAgIyBSZW1vdmUgY29tbWVudHMgZnJvbSBjdXJyZW50IGxpbmUuCiAg
ICAgIHMvXGJkbmxcYi4qJC8vOwogICAgICBzL1wjLiokLy87CiAgICAgICMgQXZvaWQgcnVubmlu
ZyBhbGwgdGhlIGZvbGxvd2luZyByZWdleGVzIG9uIHdoaXRlIGxpbmVzLgogICAgICBuZXh0IGlm
IC9eXHMqJC87CgogICAgICB3aGlsZSAoLyRtNF9pbmNsdWRlX3J4L2dvKQoJewoJICBteSAkaWZp
bGUgPSAkMiB8fCAkMzsKCSAgIyBTa2lwIG1pc3NpbmcgJ3NpbmNsdWRlJ2QgZmlsZXMuCgkgIG5l
eHQgaWYgJDEgbmUgJ200XycgJiYgISAtZiAkaWZpbGU7CgkgIHB1c2ggQGlsaXN0LCAkaWZpbGU7
Cgl9CgogICAgICB3aGlsZSAoLyRhY19yZXF1aXJlX3J4L2dvKQoJewoJICBwdXNoIChAcmxpc3Qs
ICQxIHx8ICQyKTsKCX0KCiAgICAgICMgVGhlIHNlYXJjaCBmdW5jdGlvbiBpcyBjb25zdHJ1Y3Rl
ZCBkeW5hbWljYWxseSBieQogICAgICAjIHNjYW5fbTRfZmlsZXMuICBUaGUgbGFzdCBwYXJlbnRo
ZXRpY2FsIG1hdGNoIG1ha2VzIHN1cmUgd2UKICAgICAgIyBkb24ndCBtYXRjaCB0aGluZ3MgdGhh
dCBsb29rIGxpa2UgbWFjcm8gYXNzaWdubWVudHMgb3IKICAgICAgIyBBQ19TVUJTVHMuCiAgICAg
IGlmICghICZzZWFyY2ggJiYgLyhefFxzKykoQU1fW0EtWjAtOV9dKykoJHxbXlxdXCk9QS1aMC05
X10pLykKCXsKCSAgIyBNYWNybyBub3QgZm91bmQsIGJ1dCBBTV8gcHJlZml4IGZvdW5kLgoJICAj
IE1ha2UgdGhpcyBqdXN0IGEgd2FybmluZywgYmVjYXVzZSB3ZSBkbyBub3Qga25vdyB3aGV0aGVy
CgkgICMgdGhlIG1hY3JvIGlzIGFjdHVhbGx5IHVzZWQgKGl0IGNvdWxkIGJlIGNhbGxlZCBjb25k
aXRpb25hbGx5KS4KCSAgbXNnICgndW5zdXBwb3J0ZWQnLCAiJGZpbGU6JGxpbmUiLAoJICAgICAg
ICJtYWNybyAnJDInIG5vdCBmb3VuZCBpbiBsaWJyYXJ5Iik7Cgl9CiAgICB9CgogIGFkZF9tYWNy
byAoJF8pIGZvcmVhY2ggKEBybGlzdCk7CiAgc2Nhbl9jb25maWd1cmVfZGVwICgkXykgZm9yZWFj
aCBAaWxpc3Q7Cn0KCiMgYWRkX2ZpbGUgKCRGSUxFKQojIC0tLS0tLS0tLS0tLS0tLS0KIyBBZGQg
JEZJTEUgdG8gb3V0cHV0LgpzdWIgYWRkX2ZpbGUgKCQpCnsKICBteSAoJGZpbGUpID0gQF87Cgog
ICMgT25seSBhZGQgYSBmaWxlIG9uY2UuCiAgcmV0dXJuIGlmICgkZmlsZV9hZGRlZHskZmlsZX0p
OwogICRmaWxlX2FkZGVkeyRmaWxlfSA9IDE7CgogIHNjYW5fY29uZmlndXJlX2RlcCAkZmlsZTsK
fQoKIyBQb2ludCB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdW5kZXJxdW90ZWQgQUNfREVGVU4g
b25seSBvbmNlLgpteSAkdW5kZXJxdW90ZWRfbWFudWFsX29uY2UgPSAwOwoKIyBzY2FuX2ZpbGUg
KCRUWVBFLCAkRklMRSwgJFdIRVJFKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CiMgU2NhbiBhIHNpbmdsZSBNNCBmaWxlICgkRklMRSksIGFuZCBhbGwgZmlsZXMgaXQgaW5jbHVk
ZXMuCiMgUmV0dXJuIHRoZSBsaXN0IG9mIGluY2x1ZGVkIGZpbGVzLgojICRUWVBFIGlzIG9uZSBv
ZiBGVF9VU0VSLCBGVF9BVVRPTUFLRSwgb3IgRlRfU1lTVEVNLCBkZXBlbmRpbmcKIyBvbiB3aGVy
ZSB0aGUgZmlsZSBjb21lcyBmcm9tLgojICRXSEVSRSBpcyB0aGUgbG9jYXRpb24gdG8gdXNlIGlu
IHRoZSBkaWFnbm9zdGljIGlmIHRoZSBmaWxlCiMgZG9lcyBub3QgZXhpc3QuCnN1YiBzY2FuX2Zp
bGUgKCQkJCkKewogIG15ICgkdHlwZSwgJGZpbGUsICR3aGVyZSkgPSBAXzsKICBteSAkYmFzZW5h
bWUgPSBiYXNlbmFtZSAkZmlsZTsKCiAgIyBEbyBub3Qgc2NhbiB0aGUgc2FtZSBmaWxlIHR3aWNl
LgogIHJldHVybiBAeyRmaWxlX2luY2x1ZGVzeyRmaWxlfX0gaWYgZXhpc3RzICRmaWxlX2luY2x1
ZGVzeyRmaWxlfTsKICAjIFByZXZlbnQgcG90ZW50aWFsIGluZmluaXRlIHJlY3Vyc2lvbiAoaWYg
dHdvIGZpbGVzIGluY2x1ZGUgZWFjaCBvdGhlcikuCiAgcmV0dXJuICgpIGlmIGV4aXN0cyAkZmls
ZV9jb250ZW50c3skZmlsZX07CgogIHVuc2hpZnQgQGZpbGVfb3JkZXIsICRmaWxlOwoKICAkZmls
ZV90eXBleyRmaWxlfSA9ICR0eXBlOwoKICBmYXRhbCAiJHdoZXJlOiBmaWxlICckZmlsZScgZG9l
cyBub3QgZXhpc3QiIGlmICEgLWUgJGZpbGU7CgogIG15ICRmaCA9IG5ldyBBdXRvbWFrZTo6WEZp
bGUgJGZpbGU7CiAgbXkgJGNvbnRlbnRzID0gJyc7CiAgbXkgQGluY19maWxlcyA9ICgpOwogIG15
ICVpbmNfbGluZXMgPSAoKTsKCiAgbXkgJGRlZnVuX3NlZW4gPSAwOwogIG15ICRzZXJpYWxfc2Vl
biA9IDA7CiAgbXkgJHNlcmlhbF9vbGRlciA9IDA7CgogIHdoaWxlICgkXyA9ICRmaC0+Z2V0bGlu
ZSkKICAgIHsKICAgICAgIyBJZ25vcmUgJyMjJyBsaW5lcy4KICAgICAgbmV4dCBpZiAvXiMjLzsK
CiAgICAgICRjb250ZW50cyAuPSAkXzsKICAgICAgbXkgJGxpbmUgPSAkXzsKCiAgICAgIGlmICgk
bGluZSA9fiAvJHNlcmlhbF9saW5lX3J4L2dvKQoJewoJICBteSAkbnVtYmVyID0gJDE7CgkgIGlm
ICgkbnVtYmVyICF+IC8kc2VyaWFsX251bWJlcl9yeC9nbykKCSAgICB7CgkgICAgICBtc2cgKCdz
eW50YXgnLCAiJGZpbGU6JC4iLAoJCSAgICJpbGwtZm9ybWVkIHNlcmlhbCBudW1iZXIgJyRudW1i
ZXInLCAiCgkJICAgLiAiZXhwZWN0aW5nIGEgdmVyc2lvbiBzdHJpbmcgd2l0aCBvbmx5IGRpZ2l0
cyBhbmQgZG90cyIpOwoJICAgIH0KCSAgZWxzaWYgKCRkZWZ1bl9zZWVuKQoJICAgIHsKCSAgICAg
ICMgYWNsb2NhbCByZW1vdmVzIGFsbCBkZWZpbml0aW9ucyBmcm9tIE00IGZpbGUgd2l0aCB0aGUK
CSAgICAgICMgc2FtZSBiYXNlbmFtZSBpZiBhIGdyZWF0ZXIgc2VyaWFsIG51bWJlciBpcyBmb3Vu
ZC4KCSAgICAgICMgRW5jb3VudGVyaW5nIGEgc2VyaWFsIGFmdGVyIHNvbWUgbWFjcm9zIHdpbGwg
dW5kZWZpbmUKCSAgICAgICMgdGhlc2UgbWFjcm9zLi4uCgkgICAgICBtc2cgKCdzeW50YXgnLCAi
JGZpbGU6JC4iLAoJCSAgICd0aGUgc2VyaWFsIG51bWJlciBtdXN0IGFwcGVhciBiZWZvcmUgYW55
IG1hY3JvIGRlZmluaXRpb24nKTsKCSAgICB9CgkgICMgV2UgcmVhbGx5IGNhcmUgYWJvdXQgc2Vy
aWFscyBvbmx5IGZvciBub24tYXV0b21ha2UgbWFjcm9zCgkgICMgYW5kIHdoZW4gLS1pbnN0YWxs
IGlzIHVzZWQuICBCdXQgdGhlIGFib3ZlIGRpYWdub3N0aWNzIGFyZQoJICAjIG1hZGUgcmVnYXJk
bGVzcyBvZiB0aGlzLCBiZWNhdXNlIG5vdCB1c2luZyAtLWluc3RhbGwgaXMKCSAgIyBub3QgYSBy
ZWFzb24gbm90IHRoZSBmaXggbWFjcm8gZmlsZXMuCgkgIGVsc2lmICgkaW5zdGFsbCAmJiAkdHlw
ZSAhPSBGVF9BVVRPTUFLRSkKCSAgICB7CgkgICAgICAkc2VyaWFsX3NlZW4gPSAxOwoJICAgICAg
bXkgQG5ldyA9IHNwbGl0ICgvXC4vLCAkbnVtYmVyKTsKCgkgICAgICB2ZXJiICIkZmlsZTokLjog
c2VyaWFsICRudW1iZXIiOwoKCSAgICAgIGlmICghZXhpc3RzICRzZXJpYWx7JGJhc2VuYW1lfQoJ
CSAgfHwgbGlzdF9jb21wYXJlIChAbmV3LCBAeyRzZXJpYWx7JGJhc2VuYW1lfX0pID4gMCkKCQl7
CgkJICAjIERlbGV0ZSBhbnkgZGVmaW5pdGlvbiB3ZSBrbmV3IGZyb20gdGhlIG9sZCBtYWNyby4K
CQkgIGZvcmVhY2ggbXkgJGRlZiAoQHskaW52bWFweyRiYXNlbmFtZX19KQoJCSAgICB7CgkJICAg
ICAgdmVyYiAiJGZpbGU6JC46IGlnbm9yaW5nIHByZXZpb3VzIGRlZmluaXRpb24gb2YgJGRlZiI7
CgkJICAgICAgZGVsZXRlICRtYXB7JGRlZn07CgkJICAgIH0KCQkgICRpbnZtYXB7JGJhc2VuYW1l
fSA9IFtdOwoJCSAgJHNlcmlhbHskYmFzZW5hbWV9ID0gXEBuZXc7CgkJfQoJICAgICAgZWxzZQoJ
CXsKCQkgICRzZXJpYWxfb2xkZXIgPSAxOwoJCX0KCSAgICB9Cgl9CgogICAgICAjIFJlbW92ZSBj
b21tZW50cyBmcm9tIGN1cnJlbnQgbGluZS4KICAgICAgIyBEbyBub3QgZG8gaXQgZWFybGllciwg
YmVjYXVzZSB0aGUgc2VyaWFsIGxpbmUgaXMgYSBjb21tZW50LgogICAgICAkbGluZSA9fiBzL1xi
ZG5sXGIuKiQvLzsKICAgICAgJGxpbmUgPX4gcy9cIy4qJC8vOwoKICAgICAgd2hpbGUgKCRsaW5l
ID1+IC8kYWNfZGVmdW5fcngvZ28pCgl7CgkgICRkZWZ1bl9zZWVuID0gMTsKCSAgaWYgKCEgZGVm
aW5lZCAkMSkKCSAgICB7CgkgICAgICBtc2cgKCdzeW50YXgnLCAiJGZpbGU6JC4iLCAidW5kZXJx
dW90ZWQgZGVmaW5pdGlvbiBvZiAkMiIKCQkgICAuICJcbiAgcnVuIGluZm8gQXV0b21ha2UgJ0V4
dGVuZGluZyBhY2xvY2FsJ1xuIgoJCSAgIC4gIiAgb3Igc2VlIGh0dHBzOi8vd3d3LmdudS5vcmcv
c29mdHdhcmUvYXV0b21ha2UvbWFudWFsLyIKCQkgICAuICJhdXRvbWFrZS5odG1sI0V4dGVuZGlu
Zy1hY2xvY2FsIikKCQl1bmxlc3MgJHVuZGVycXVvdGVkX21hbnVhbF9vbmNlOwoJICAgICAgJHVu
ZGVycXVvdGVkX21hbnVhbF9vbmNlID0gMTsKCSAgICB9CgoJICAjIElmIHRoaXMgbWFjcm8gZG9l
cyBub3QgaGF2ZSBhIHNlcmlhbCBhbmQgd2UgaGF2ZSBhbHJlYWR5CgkgICMgc2VlbiBhIG1hY3Jv
IHdpdGggdGhlIHNhbWUgYmFzZW5hbWUgZWFybGllciwgd2Ugc2hvdWxkCgkgICMgaWdub3JlIHRo
ZSBtYWNybyAoZG9uJ3QgZXhpdCBpbW1lZGlhdGVseSBzbyB3ZSBjYW4gc3RpbGwKCSAgIyBkaWFn
bm9zZSBsYXRlciAjc2VyaWFsIG51bWJlcnMgYW5kIHVuZGVycXVvdGVkIG1hY3JvcykuCgkgICRz
ZXJpYWxfb2xkZXIgfHw9ICgkdHlwZSAhPSBGVF9BVVRPTUFLRQoJCQkgICAgICYmICEkc2VyaWFs
X3NlZW4gJiYgZXhpc3RzICRzZXJpYWx7JGJhc2VuYW1lfSk7CgoJICBteSAkbWFjcm8gPSAkMSB8
fCAkMjsKCSAgaWYgKCEkc2VyaWFsX29sZGVyICYmICFkZWZpbmVkICRtYXB7JG1hY3JvfSkKCSAg
ICB7CgkgICAgICB2ZXJiICJmb3VuZCBtYWNybyAkbWFjcm8gaW4gJGZpbGU6ICQuIjsKCSAgICAg
ICRtYXB7JG1hY3JvfSA9ICRmaWxlOwoJICAgICAgcHVzaCBAeyRpbnZtYXB7JGJhc2VuYW1lfX0s
ICRtYWNybzsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAjIE5vdGU6IHdlIHVzZWQgdG8g
Z2l2ZSBhbiBlcnJvciBoZXJlIGlmIHdlIHNhdyBhCgkgICAgICAjIGR1cGxpY2F0ZWQgbWFjcm8u
ICBIb3dldmVyLCB0aGlzIHR1cm5zIG91dCB0byBiZQoJICAgICAgIyBleHRyZW1lbHkgdW5wb3B1
bGFyLiAgSXQgY2F1c2VzIGFjdHVhbCBwcm9ibGVtcyB3aGljaAoJICAgICAgIyBhcmUgaGFyZCB0
byB3b3JrIGFyb3VuZCwgZXNwZWNpYWxseSB3aGVuIHlvdSBtdXN0CgkgICAgICAjIG1peC1hbmQt
bWF0Y2ggdG9vbCB2ZXJzaW9ucy4KCSAgICAgIHZlcmIgImlnbm9yaW5nIG1hY3JvICRtYWNybyBp
biAkZmlsZTogJC4iOwoJICAgIH0KCX0KCiAgICAgIHdoaWxlICgkbGluZSA9fiAvJG00X2luY2x1
ZGVfcngvZ28pCgl7CgkgIG15ICRpZmlsZSA9ICQyIHx8ICQzOwoJICAjIFNraXAgbWlzc2luZyAn
c2luY2x1ZGUnZCBmaWxlcy4KCSAgbmV4dCBpZiAkMSBuZSAnbTRfJyAmJiAhIC1mICRpZmlsZTsK
CSAgcHVzaCAoQGluY19maWxlcywgJGlmaWxlKTsKCSAgJGluY19saW5lc3skaWZpbGV9ID0gJC47
Cgl9CiAgICB9CgogICMgSWdub3JlIGFueSBmaWxlIHRoYXQgaGFzIGFuIG9sZCBzZXJpYWwgKG9y
IG5vIHNlcmlhbCBpZiB3ZSBrbm93CiAgIyBhbm90aGVyIG9uZSB3aXRoIGEgc2VyaWFsKS4KICBy
ZXR1cm4gKCkKICAgIGlmICgkc2VyaWFsX29sZGVyIHx8CgkoJHR5cGUgIT0gRlRfQVVUT01BS0Ug
JiYgISRzZXJpYWxfc2VlbiAmJiBleGlzdHMgJHNlcmlhbHskYmFzZW5hbWV9KSk7CgogICRmaWxl
X2NvbnRlbnRzeyRmaWxlfSA9ICRjb250ZW50czsKCiAgIyBGb3Igc29tZSByZWFzb24gSSBkb24n
dCB1bmRlcnN0YW5kLCBpdCBkb2VzIG5vdCB3b3JrCiAgIyB0byBkbyAibWFwIHsgc2Nhbl9maWxl
ICgkXywgLi4uKSB9IEBpbmNfZmlsZXMiIGJlbG93LgogICMgV2l0aCBQZXJsIDUuOC4yIGl0IHVu
ZGVmaW5lcyBAaW5jX2ZpbGVzLgogIG15IEBjb3B5ID0gQGluY19maWxlczsKICBteSBAYWxsX2lu
Y19maWxlcyA9IChAaW5jX2ZpbGVzLAoJCSAgICAgICBtYXAgeyBzY2FuX2ZpbGUgKCR0eXBlLCAk
XywKCQkJCQkiJGZpbGU6JGluY19saW5lc3skX30iKSB9IEBjb3B5KTsKICAkZmlsZV9pbmNsdWRl
c3skZmlsZX0gPSBcQGFsbF9pbmNfZmlsZXM7CiAgcmV0dXJuIEBhbGxfaW5jX2ZpbGVzOwp9Cgoj
IHN0cmlwX3JlZHVuZGFudF9pbmNsdWRlcyAoJUZJTEVTKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQojIEVhY2gga2V5IGluICVGSUxFUyBpcyBhIGZpbGUgdGhhdCBtdXN0IGJl
IHByZXNlbnQgaW4gdGhlIG91dHB1dC4KIyBIb3dldmVyIHNvbWUgb2YgdGhlc2UgZmlsZXMgbWln
aHQgYWxyZWFkeSBpbmNsdWRlIG90aGVyIGZpbGVzIGluICVGSUxFUywKIyBzbyB0aGVyZSBpcyBu
byBwb2ludCBpbiBpbmNsdWRpbmcgdGhlbSBhbm90aGVyIHRpbWUuCiMgVGhpcyByZW1vdmVzIGl0
ZW1zIG9mICVGSUxFUyB3aGljaCBhcmUgYWxyZWFkeSBpbmNsdWRlZCBieSBhbm90aGVyIGZpbGUu
CnN1YiBzdHJpcF9yZWR1bmRhbnRfaW5jbHVkZXMgKCUpCnsKICBteSAlZmlsZXMgPSBAXzsKCiAg
IyBBbHdheXMgaW5jbHVkZSBhY2luY2x1ZGUubTQsIGV2ZW4gaWYgaXQgZG9lcyBub3QgYXBwZWFy
IHRvIGJlIHVzZWQuCiAgJGZpbGVzeydhY2luY2x1ZGUubTQnfSA9IDEgaWYgLWYgJ2FjaW5jbHVk
ZS5tNCc7CiAgIyBGaWxlIGluY2x1ZGVkIGJ5ICRjb25maWd1cmVfYWMgYXJlIHJlZHVuZGFudC4K
ICAkZmlsZXN7JGNvbmZpZ3VyZV9hY30gPSAxOwoKICAjIEZpbGVzIGF0IHRoZSBlbmQgb2YgQGZp
bGVfb3JkZXIgc2hvdWxkIG92ZXJyaWRlIHRob3NlIGF0IHRoZSBiZWdpbm5pbmcsCiAgIyBzbyBp
dCBpcyBpbXBvcnRhbnQgdG8gcHJlc2VydmUgdGhlc2UgdHJhaWxpbmcgZmlsZXMuICBXZSBjYW4g
cmVtb3ZlCiAgIyBhIGZpbGUgQSBpZiBpdCBpcyBnb2luZyB0byBiZSBvdXRwdXQgYmVmb3JlIGEg
ZmlsZSBCIHRoYXQgaW5jbHVkZXMKICAjIGZpbGUgQSwgbm90IHRoZSBjb252ZXJzZS4KICBmb3Jl
YWNoIG15ICRmaWxlIChyZXZlcnNlIEBmaWxlX29yZGVyKQogICAgewogICAgICBuZXh0IHVubGVz
cyBleGlzdHMgJGZpbGVzeyRmaWxlfTsKICAgICAgZm9yZWFjaCBteSAkaWZpbGUgKEB7JGZpbGVf
aW5jbHVkZXN7JGZpbGV9fSkKCXsKCSAgbmV4dCB1bmxlc3MgZXhpc3RzICRmaWxlc3skaWZpbGV9
OwoJICBkZWxldGUgJGZpbGVzeyRpZmlsZX07CgkgIHZlcmIgIiRpZmlsZSBpcyBhbHJlYWR5IGlu
Y2x1ZGVkIGJ5ICRmaWxlIjsKCX0KICAgIH0KCiAgIyBjb25maWd1cmUuYWMgaXMgaW1wbGljaXRs
eSBpbmNsdWRlZC4KICBkZWxldGUgJGZpbGVzeyRjb25maWd1cmVfYWN9OwoKICByZXR1cm4gJWZp
bGVzOwp9CgpzdWIgdHJhY2VfdXNlZF9tYWNyb3MgKCkKewogIG15ICVmaWxlcyA9IG1hcCB7ICRt
YXB7JF99ID0+IDEgfSBrZXlzICVtYWNyb19zZWVuOwogICVmaWxlcyA9IHN0cmlwX3JlZHVuZGFu
dF9pbmNsdWRlcyAlZmlsZXM7CgogICMgU3VwcHJlc3MgYWxsIHdhcm5pbmdzIGZyb20gdGhpcyBp
bnZvY2F0aW9uIG9mIGF1dG9tNHRlLgogICMgSW4gcGFydGljdWxhciB3ZSB3YW50IHRvIGF2b2lk
IHNwdXJpb3VzIHdhcm5pbmdzIGFib3V0CiAgIyBtYWNyb3MgYmVpbmcgIm00X3JlcXVpcmUnZCBi
dXQgbm90IG00X2RlZnVuJ2QiIGJlY2F1c2UKICAjIGFjbG9jYWwubTQgaXMgbm90IHlldCBhdmFp
bGFibGUuCiAgbG9jYWwgJEVOVntXQVJOSU5HU30gPSAnbm9uZSc7CgogIG15ICR0cmFjZXMgPSAo
JEVOVntBVVRPTTRURX0gfHwgJ2F1dG9tNHRlJyk7CiAgJHRyYWNlcyAuPSAiIC0tbGFuZ3VhZ2Ug
QXV0b2NvbmYtd2l0aG91dC1hY2xvY2FsLW00ICI7CgogICMgU3VwcG9ydCBBQ19DT05GSUdfTUFD
Uk9fRElSUyBhbHNvIHdpdGggb2xkZXIgYXV0b2NvbmYuCiAgIyBOb3RlIHRoYXQgd2UgY2FuJ3Qg
dXNlICckYWNfY29uZmlnX21hY3JvX2RpcnNfZmFsbGJhY2snIGhlcmUsIGJlY2F1c2UKICAjIGEg
YnVnIGluIG9wdGlvbiBwYXJzaW5nIGNvZGUgb2YgYXV0b200dGUgMi42OCBhbmQgZWFybGllciB3
b3VsZCBjYXVzZQogICMgaXQgdG8gcmVhZCBzdGFuZGFyZCBpbnB1dCBsYXN0LCBldmVuIGlmIHRo
ZSAiLSIgYXJndW1lbnQgd2FzIHNwZWNpZmllZAogICMgZWFybHkuCiAgIyBGSVhNRTogVG8gYmUg
cmVtb3ZlZCBpbiBBdXRvbWFrZSAyLjAsIG9uY2Ugd2UgY2FuIGFzc3VtZSBhdXRvY29uZgogICMg
ICAgICAgIDIuNzAgb3IgbGF0ZXIuCiAgJHRyYWNlcyAuPSAiJGF1dG9tYWtlX2luY2x1ZGVzWzBd
L2ludGVybmFsL2FjLWNvbmZpZy1tYWNyby1kaXJzLm00ICI7CgogICMgQWxsIGNhbmRpZGF0ZSBm
aWxlcy4KICAkdHJhY2VzIC49IGpvaW4gKCcgJywKCQkgICAobWFwIHsgIickXyciIH0KCQkgICAg
KGdyZXAgeyBleGlzdHMgJGZpbGVzeyRffSB9IEBmaWxlX29yZGVyKSkpIC4gIiAiOwoKICAjIEFs
bCBjYW5kaWRhdGUgbWFjcm9zLgogICR0cmFjZXMgLj0gam9pbiAoJyAnLAoJCSAgIChtYXAgeyAi
LS10cmFjZT0nJF86XCRmOjpcJG46Olwkezo6fSUnIiB9CgkJICAgICgnQUNfREVGVU4nLAoJCSAg
ICAgJ0FDX0RFRlVOX09OQ0UnLAoJCSAgICAgJ0FVX0RFRlVOJywKCQkgICAgICdfQU1fQVVUT0NP
TkZfVkVSU0lPTicsCgkJICAgICAnQUNfQ09ORklHX01BQ1JPX0RJUl9UUkFDRScsCiAgICAgICAg
ICAgICAgICAgICAgICMgRklYTUU6IFRyYWNpbmcgdGhlIG5leHQgdHdvIG1hY3JvcyBpcyBhIGhh
Y2sgZm9yCiAgICAgICAgICAgICAgICAgICAgICMgY29tcGF0aWJpbGl0eSB3aXRoIG9sZGVyIGF1
dG9jb25mLiAgUmVtb3ZlIHRoaXMgaW4KICAgICAgICAgICAgICAgICAgICAgIyBBdXRvbWFrZSAy
LjAsIHdoZW4gd2UgY2FuIGFzc3VtZSBBdXRvY29uZiAyLjcwIG9yCiAgICAgICAgICAgICAgICAg
ICAgICMgbGF0ZXIuCgkJICAgICAnQUNfQ09ORklHX01BQ1JPX0RJUicsCgkJICAgICAnX0FNX0NP
TkZJR19NQUNST19ESVJTJykpLAoJCSAgICMgRG8gbm90IHRyYWNlICQxIGZvciBhbGwgb3RoZXIg
bWFjcm9zIGFzIHdlIGRvCgkJICAgIyBub3QgbmVlZCBpdCBhbmQgaXQgbWlnaHQgY29udGFpbnMg
aGFybWZ1bAoJCSAgICMgY2hhcmFjdGVycyAobGlrZSBuZXdsaW5lcykuCgkJICAgKG1hcCB7ICIt
LXRyYWNlPSckXzpcJGY6OlwkbiciIH0gKHNvcnQga2V5cyAlbWFjcm9fc2VlbikpKTsKCiAgdmVy
YiAicnVubmluZyBXQVJOSU5HUz0kRU5We1dBUk5JTkdTfSAkdHJhY2VzICRjb25maWd1cmVfYWMi
OwoKICBteSAkdHJhY2VmaCA9IG5ldyBBdXRvbWFrZTo6WEZpbGUgKCIkdHJhY2VzICRjb25maWd1
cmVfYWMgfCIpOwoKICBAYWNfY29uZmlnX21hY3JvX2RpcnMgPSAoKTsKCiAgbXkgJXRyYWNlZCA9
ICgpOwoKICB3aGlsZSAoJF8gPSAkdHJhY2VmaC0+Z2V0bGluZSkKICAgIHsKICAgICAgY2hvbXA7
CiAgICAgIG15ICgkZmlsZSwgJG1hY3JvLCAkYXJnMSkgPSBzcGxpdCAoLzo6Lyk7CgogICAgICAk
dHJhY2VkeyRtYWNyb30gPSAxIGlmIGV4aXN0cyAkbWFjcm9fc2VlbnskbWFjcm99OwoKICAgICAg
aWYgKCRtYWNybyBlcSAnQUNfREVGVU4nIHx8ICRtYWNybyBlcSAnQUNfREVGVU5fT05DRScKICAg
ICAgICAgICAgfHwgJG1hY3JvIGVxICdBVV9ERUZVTicpCiAgICAgICAgewogICAgICAgICAgJG1h
cF90cmFjZWRfZGVmc3skYXJnMX0gPSAkZmlsZTsKICAgICAgICB9CiAgICAgIGVsc2lmICgkbWFj
cm8gZXEgJ19BTV9BVVRPQ09ORl9WRVJTSU9OJykKICAgICAgICB7CiAgICAgICAgICAkYWNfdmVy
c2lvbiA9ICRhcmcxOwogICAgICAgIH0KICAgICAgZWxzaWYgKCRtYWNybyBlcSAnQUNfQ09ORklH
X01BQ1JPX0RJUl9UUkFDRScpCiAgICAgICAgewogICAgICAgICAgcHVzaCBAYWNfY29uZmlnX21h
Y3JvX2RpcnMsICRhcmcxOwogICAgICAgIH0KICAgICAgIyBGSVhNRTogV2Ugc3RpbGwgbmVlZCB0
byB0cmFjZSBBQ19DT05GSUdfTUFDUk9fRElSCiAgICAgICMgZm9yIGNvbXBhdGliaWxpdHkgd2l0
aCBvbGRlciBhdXRvY29uZi4gIFJlbW92ZSB0aGlzCiAgICAgICMgb25jZSB3ZSBjYW4gYXNzdW1l
IEF1dG9jb25mIDIuNzAgb3IgbGF0ZXIuCiAgICAgIGVsc2lmICgkbWFjcm8gZXEgJ0FDX0NPTkZJ
R19NQUNST19ESVInKQogICAgICAgIHsKICAgICAgICAgIEBhY19jb25maWdfbWFjcm9fZGlycyA9
ICgkYXJnMSk7CiAgICAgICAgfQogICAgICAjIEZJWE1FOlRoaXMgaXMgYW4gaGFjayBmb3IgY29t
cGF0aWJpbGl0eSB3aXRoIG9sZGVyIGF1dG9jb25mLgogICAgICAjIFJlbW92ZSB0aGlzIG9uY2Ug
d2UgY2FuIGFzc3VtZSBBdXRvY29uZiAyLjcwIG9yIGxhdGVyLgogICAgICBlbHNpZiAoJG1hY3Jv
IGVxICdfQU1fQ09ORklHX01BQ1JPX0RJUlMnKQogICAgICAgIHsKICAgICAgICAgICAjIEVtcHR5
IGxlYWRpbmcvdHJhaWxpbmcgZmllbGRzIG1pZ2h0IGJlIHByb2R1Y2VkIGJ5IHNwbGl0LAogICAg
ICAgICAgICMgaGVuY2UgdGhlIGdyZXAgaXMgcmVhbGx5IG5lZWRlZC4KICAgICAgICAgICBwdXNo
IEBhY19jb25maWdfbWFjcm9fZGlycywgZ3JlcCAoLy4vLCAoc3BsaXQgL1xzKy8sICRhcmcxKSk7
CiAgICAgICAgfQogICAgfQoKICAjIEZJWE1FOiBpbiBBdXRvY29uZiA+PSAyLjcwLCBBQ19DT05G
SUdfTUFDUk9fRElSIGNhbGxzCiAgIyBBQ19DT05GSUdfTUFDUk9fRElSX1RSQUNFIGJlaGluZCB0
aGUgc2NlbmVzLCB3aGljaCBjb3VsZAogICMgbGVhdmUgdW53YW50ZWQgZHVwbGljYXRlcyBpbiBA
YWNfY29uZmlnX21hY3JvX2RpcnMuCiAgIyBSZW1vdmUgdGhpcyBpbiBBdXRvbWFrZSAyLjAsIHdo
ZW4gd2UnbGwgc3RvcCB0cmFjaW5nCiAgIyBBQ19DT05GSUdfTUFDUk9fRElSIGV4cGxpY2l0bHku
CiAgQGFjX2NvbmZpZ19tYWNyb19kaXJzID0gdW5pcSBAYWNfY29uZmlnX21hY3JvX2RpcnM7Cgog
ICR0cmFjZWZoLT5jbG9zZTsKCiAgcmV0dXJuICV0cmFjZWQ7Cn0KCnN1YiBzY2FuX2NvbmZpZ3Vy
ZSAoKQp7CiAgIyBNYWtlIHN1cmUgd2UgaW5jbHVkZSBhY2luY2x1ZGUubTQgaWYgaXQgZXhpc3Rz
LgogIGlmICgtZiAnYWNpbmNsdWRlLm00JykKICAgIHsKICAgICAgYWRkX2ZpbGUgKCdhY2luY2x1
ZGUubTQnKTsKICAgIH0KICBzY2FuX2NvbmZpZ3VyZV9kZXAgKCRjb25maWd1cmVfYWMpOwp9Cgoj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjCgojIFdyaXRlIG91dHB1dC4KIyBSZXR1cm4gMCBpZmYgc29tZSBmaWxlcyB3ZXJlIGlu
c3RhbGxlZCBsb2NhbGx5LgpzdWIgd3JpdGVfYWNsb2NhbCAoJEApCnsKICBteSAoJG91dHB1dF9m
aWxlLCBAbWFjcm9zKSA9IEBfOwogIG15ICRvdXRwdXQgPSAnJzsKCiAgbXkgJWZpbGVzID0gKCk7
CiAgIyBHZXQgdGhlIGxpc3Qgb2YgZmlsZXMgY29udGFpbmluZyBkZWZpbml0aW9ucyBmb3IgdGhl
IG1hY3JvcyB1c2VkLgogICMgKEZpbHRlciBvdXQgdW51c2VkIG1hY3JvIGRlZmluaXRpb25zIHdp
dGggJG1hcF90cmFjZWRfZGVmcy4gIFRoaXMKICAjIGNhbiBoYXBwZW4gd2hlbiBhbiBBdXRvY29u
ZiBtYWNybyBpcyBjb25kaXRpb25hbGx5IGRlZmluZWQ6CiAgIyBhY2xvY2FsIHNlZXMgdGhlIHBv
dGVudGlhbCBkZWZpbml0aW9uLCBidXQgdGhpcyBkZWZpbml0aW9uIGlzCiAgIyBhY3R1YWxseSBu
ZXZlciBwcm9jZXNzZWQgYW5kIHRoZSBBdXRvY29uZiBpbXBsZW1lbnRhdGlvbiBpcyB1c2VkCiAg
IyBpbnN0ZWFkLikKICBmb3IgbXkgJG0gKEBtYWNyb3MpCiAgICB7CiAgICAgICRmaWxlc3skbWFw
eyRtfX0gPSAxCglpZiAoZXhpc3RzICRtYXBfdHJhY2VkX2RlZnN7JG19CgkgICAgJiYgJG1hcHsk
bX0gZXEgJG1hcF90cmFjZWRfZGVmc3skbX0pOwogICAgfQogICMgRG8gbm90IGV4cGxpY2l0bHkg
aW5jbHVkZSBhIGZpbGUgdGhhdCBpcyBhbHJlYWR5IGluZGlyZWN0bHkgaW5jbHVkZWQuCiAgJWZp
bGVzID0gc3RyaXBfcmVkdW5kYW50X2luY2x1ZGVzICVmaWxlczsKCiAgbXkgJGluc3RhbGxlZCA9
IDA7CgogIGZvciBteSAkZmlsZSAoZ3JlcCB7IGV4aXN0cyAkZmlsZXN7JF99IH0gQGZpbGVfb3Jk
ZXIpCiAgICB7CiAgICAgICMgQ2hlY2sgdGhlIHRpbWUgc3RhbXAgb2YgdGhpcyBmaWxlLCBhbmQg
b2YgYWxsIGZpbGVzIGl0IGluY2x1ZGVzLgogICAgICBmb3IgbXkgJGlmaWxlICgkZmlsZSwgQHsk
ZmlsZV9pbmNsdWRlc3skZmlsZX19KQoJewoJICBteSAkbXRpbWUgPSBtdGltZSAkaWZpbGU7Cgkg
ICRncmVhdGVzdF9tdGltZSA9ICRtdGltZSBpZiAkZ3JlYXRlc3RfbXRpbWUgPCAkbXRpbWU7Cgl9
CgogICAgICAjIElmIHRoZSBmaWxlIHRvIGFkZCBsb29rcyBsaWtlIG91dHNpZGUgdGhlIHByb2pl
Y3QsIGNvcHkgaXQKICAgICAgIyB0byB0aGUgb3V0cHV0LiAgVGhlIHJlZ2V4IGNhdGNoZXMgZmls
ZW5hbWVzIHN0YXJ0aW5nIHdpdGgKICAgICAgIyB0aGluZ3MgbGlrZSAnLycsICdcJywgb3IgJ2M6
XCcuCiAgICAgIGlmICgkZmlsZV90eXBleyRmaWxlfSAhPSBGVF9VU0VSCgkgIHx8ICRmaWxlID1+
IG0sXig/Olx3Oik/W1xcL10sKQoJewoJICBpZiAoISRpbnN0YWxsIHx8ICRmaWxlX3R5cGV7JGZp
bGV9ICE9IEZUX1NZU1RFTSkKCSAgICB7CgkgICAgICAjIENvcHkgdGhlIGZpbGUgaW50byBhY2xv
Y2FsLm00LgoJICAgICAgJG91dHB1dCAuPSAkZmlsZV9jb250ZW50c3skZmlsZX0gLiAiXG4iOwoJ
ICAgIH0KCSAgZWxzZQoJICAgIHsKCSAgICAgICMgSW5zdGFsbCB0aGUgZmlsZSAoYW5kIGFueSBm
aWxlIGl0IGluY2x1ZGVzKS4KCSAgICAgIG15ICRkZXN0OwoJICAgICAgZm9yIG15ICRpZmlsZSAo
QHskZmlsZV9pbmNsdWRlc3skZmlsZX19LCAkZmlsZSkKCQl7CgkJICBpbnN0YWxsX2ZpbGUgKCRp
ZmlsZSwgJHVzZXJfaW5jbHVkZXNbMF0pOwoJCX0KCSAgICAgICRpbnN0YWxsZWQgPSAxOwoJICAg
IH0KCX0KICAgICAgZWxzZQoJewoJICAjIE90aGVyd2lzZSwgc2ltcGx5IGluY2x1ZGUgdGhlIGZp
bGUuCgkgICRvdXRwdXQgLj0gIm00X2luY2x1ZGUoWyRmaWxlXSlcbiI7Cgl9CiAgICB9CgogIGlm
ICgkaW5zdGFsbGVkKQogICAgewogICAgICB2ZXJiICJydW5uaW5nIGFjbG9jYWwgYW5ldywgYmVj
YXVzZSBzb21lIGZpbGVzIHdlcmUgaW5zdGFsbGVkIGxvY2FsbHkiOwogICAgICByZXR1cm4gMDsK
ICAgIH0KCiAgIyBOb3RoaW5nIHRvIG91dHB1dD8hCiAgIyBGSVhNRTogU2hvdWxkbid0IHdlIGRp
YWdub3NlIHRoaXM/CiAgcmV0dXJuIDEgaWYgISBsZW5ndGggKCRvdXRwdXQpOwoKICBpZiAoJGFj
X3ZlcnNpb24pCiAgICB7CiAgICAgICMgRG8gbm90IHVzZSAiJG91dHB1dF9maWxlIiBoZXJlIGZv
ciB0aGUgc2FtZSByZWFzb24gd2UgZG8gbm90CiAgICAgICMgdXNlIGl0IGluIHRoZSBoZWFkZXIg
YmVsb3cuICBhdXRvbTR0ZSB3aWxsIG91dHB1dCB0aGUgbmFtZSBvZgogICAgICAjIHRoZSBmaWxl
IGluIHRoZSBkaWFnbm9zdGljIGFueXdheS4KICAgICAgJG91dHB1dCA9ICJtNF9pZm5kZWYoW0FD
X0FVVE9DT05GX1ZFUlNJT05dLAogIFttNF9jb3B5KFttNF9QQUNLQUdFX1ZFUlNJT05dLCBbQUNf
QVVUT0NPTkZfVkVSU0lPTl0pXSlkbmwKbTRfaWYobTRfZGVmbihbQUNfQVVUT0NPTkZfVkVSU0lP
Tl0pLCBbJGFjX3ZlcnNpb25dLCwKW200X3dhcm5pbmcoW3RoaXMgZmlsZSB3YXMgZ2VuZXJhdGVk
IGZvciBhdXRvY29uZiAkYWNfdmVyc2lvbi4KWW91IGhhdmUgYW5vdGhlciB2ZXJzaW9uIG9mIGF1
dG9jb25mLiAgSXQgbWF5IHdvcmssIGJ1dCBpcyBub3QgZ3VhcmFudGVlZCB0by4KSWYgeW91IGhh
dmUgcHJvYmxlbXMsIHlvdSBtYXkgbmVlZCB0byByZWdlbmVyYXRlIHRoZSBidWlsZCBzeXN0ZW0g
ZW50aXJlbHkuClRvIGRvIHNvLCB1c2UgdGhlIHByb2NlZHVyZSBkb2N1bWVudGVkIGJ5IHRoZSBw
YWNrYWdlLCB0eXBpY2FsbHkgJ2F1dG9yZWNvbmYnLl0pXSkKCiRvdXRwdXQiOwogICAgfQoKICAj
IFdlIHVzZWQgdG8gcHJpbnQgIiMgJG91dHB1dF9maWxlIGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5
IGV0Yy4iICBCdXQKICAjIHRoaXMgY3JlYXRlcyBzcHVyaW91cyBkaWZmZXJlbmNlcyB3aGVuIHVz
aW5nIGF1dG9yZWNvbmYuICBBdXRvcmVjb25mCiAgIyBjcmVhdGVzIGFjbG9jYWwubTR0IGFuZCB0
aGVuIHJlbmFtZSBpdCB0byBhY2xvY2FsLm00LCBidXQgdGhlCiAgIyByZWJ1aWxkIHJ1bGVzIGdl
bmVyYXRlZCBieSBBdXRvbWFrZSBjcmVhdGUgYWNsb2NhbC5tNCBkaXJlY3RseSAtLQogICMgdGhp
cyB3b3VsZCBnaXZlcyB0d28gd2F5cyB0byBnZXQgdGhlIHNhbWUgZmlsZSwgd2l0aCBhIGRpZmZl
cmVudAogICMgbmFtZSBpbiB0aGUgaGVhZGVyLgogICRvdXRwdXQgPSAiIyBnZW5lcmF0ZWQgYXV0
b21hdGljYWxseSBieSBhY2xvY2FsICRWRVJTSU9OIC0qLSBBdXRvY29uZiAtKi0KCiMgQ29weXJp
Z2h0IChDKSAxOTk2LSRSRUxFQVNFX1lFQVIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
CgojIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uCiMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0
ZSBpdCwKIyB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9ucywgYXMgbG9uZyBhcyB0aGlzIG5v
dGljZSBpcyBwcmVzZXJ2ZWQuCgojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWSwg
dG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3OyB3aXRob3V0CiMgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQQojIFBBUlRJQ1VM
QVIgUFVSUE9TRS4KCiRhY19jb25maWdfbWFjcm9fZGlyc19mYWxsYmFjawokb3V0cHV0IjsKCiAg
IyBXZSB0cnkgbm90IHRvIHVwZGF0ZSAkb3V0cHV0X2ZpbGUgdW5sZXNzIG5lY2Vzc2FyeSwgYmVj
YXVzZQogICMgZG9pbmcgc28gaW52YWxpZGF0ZSBBdXRvbTR0ZSdzIGNhY2hlIGFuZCB0aGVyZWZv
cmUgc2xvd3MgZG93bgogICMgdG9vbHMgY2FsbGVkIGFmdGVyIGFjbG9jYWwuCiAgIwogICMgV2Ug
bmVlZCB0byBvdmVyd3JpdGUgJG91dHB1dF9maWxlIGluIHRoZSBmb2xsb3dpbmcgc2l0dWF0aW9u
cy4KICAjICAgKiBUaGUgLS1mb3JjZSBvcHRpb24gaXMgaW4gdXNlLgogICMgICAqIE9uZSBvZiB0
aGUgZGVwZW5kZW5jaWVzIGlzIHlvdW5nZXIuCiAgIyAgICAgKE5vdCB1cGRhdGluZyAkb3V0cHV0
X2ZpbGUgaW4gdGhpcyBzaXR1YXRpb24gd291bGQgY2F1c2UKICAjICAgICBtYWtlIHRvIGNhbGwg
YWNsb2NhbCBpbiBsb29wLikKICAjICAgKiBUaGUgY29udGVudHMgb2YgdGhlIGN1cnJlbnQgZmls
ZSBhcmUgZGlmZmVyZW50IGZyb20gd2hhdAogICMgICAgIHdlIGhhdmUgY29tcHV0ZWQuCiAgaWYg
KCEkZm9yY2Vfb3V0cHV0CiAgICAgICYmICRncmVhdGVzdF9tdGltZSA8IG10aW1lICgkb3V0cHV0
X2ZpbGUpCiAgICAgICYmICRvdXRwdXQgZXEgY29udGVudHMgKCRvdXRwdXRfZmlsZSkpCiAgICB7
CiAgICAgIHZlcmIgIiRvdXRwdXRfZmlsZSB1bmNoYW5nZWQiOwogICAgICByZXR1cm4gMTsKICAg
IH0KCiAgdmVyYiAid3JpdGluZyAkb3V0cHV0X2ZpbGUiOwoKICBpZiAoISRkcnlfcnVuKQogICAg
ewogICAgICBpZiAoLWUgJG91dHB1dF9maWxlICYmICF1bmxpbmsgJG91dHB1dF9maWxlKQogICAg
ICAgIHsKCSAgZmF0YWwgImNvdWxkIG5vdCByZW1vdmUgJyRvdXRwdXRfZmlsZSc6ICQhIjsKCX0K
ICAgICAgbXkgJG91dCA9IG5ldyBBdXRvbWFrZTo6WEZpbGUgIj4gJG91dHB1dF9maWxlIjsKICAg
ICAgcHJpbnQgJG91dCAkb3V0cHV0OwogICAgfQogIHJldHVybiAxOwp9CgojIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIFBy
aW50IHVzYWdlIGFuZCBleGl0LgpzdWIgdXNhZ2UgKCQpCnsKICBteSAoJHN0YXR1cykgPSBAXzsK
CiAgcHJpbnQgPDwnRU9GJzsKVXNhZ2U6IGFjbG9jYWwgW09QVElPTl0uLi4KCkdlbmVyYXRlICdh
Y2xvY2FsLm00JyBieSBzY2FubmluZyAnY29uZmlndXJlLmFjJyBvciAnY29uZmlndXJlLmluJwoK
T3B0aW9uczoKICAgICAgLS1hdXRvbWFrZS1hY2Rpcj1ESVIgIGRpcmVjdG9yeSBob2xkaW5nIGF1
dG9tYWtlLXByb3ZpZGVkIG00IGZpbGVzCiAgICAgIC0tYWNsb2NhbC1wYXRoPVBBVEggICBjb2xv
bi1zZXBhcmF0ZWQgbGlzdCBvZiBkaXJlY3RvcmllcyB0bwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzZWFyY2ggZm9yIHRoaXJkLXBhcnR5IGxvY2FsIGZpbGVzCiAgICAgIC0tc3lzdGVt
LWFjZGlyPURJUiAgICBkaXJlY3RvcnkgaG9sZGluZyB0aGlyZC1wYXJ0eSBzeXN0ZW0td2lkZSBm
aWxlcwogICAgICAtLWRpZmZbPUNPTU1BTkRdICAgICAgcnVuIENPTU1BTkQgW2RpZmYgLXVdIG9u
IE00IGZpbGVzIHRoYXQgd291bGQgYmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5n
ZWQgKGltcGxpZXMgLS1pbnN0YWxsIGFuZCAtLWRyeS1ydW4pCiAgICAgIC0tZHJ5LXJ1biAgICAg
ICAgICAgICBwcmV0ZW5kIHRvLCBidXQgZG8gbm90IGFjdHVhbGx5IHVwZGF0ZSBhbnkgZmlsZQog
ICAgICAtLWZvcmNlICAgICAgICAgICAgICAgYWx3YXlzIHVwZGF0ZSBvdXRwdXQgZmlsZQogICAg
ICAtLWhlbHAgICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwLCB0aGVuIGV4aXQKICAtSSBE
SVIgICAgICAgICAgICAgICAgICAgIGFkZCBkaXJlY3RvcnkgdG8gc2VhcmNoIGxpc3QgZm9yIC5t
NCBmaWxlcwogICAgICAtLWluc3RhbGwgICAgICAgICAgICAgY29weSB0aGlyZC1wYXJ0eSBmaWxl
cyB0byB0aGUgZmlyc3QgLUkgZGlyZWN0b3J5CiAgICAgIC0tb3V0cHV0PUZJTEUgICAgICAgICBw
dXQgb3V0cHV0IGluIEZJTEUgKGRlZmF1bHQgYWNsb2NhbC5tNCkKICAgICAgLS1wcmludC1hYy1k
aXIgICAgICAgIHByaW50IG5hbWUgb2YgZGlyZWN0b3J5IGhvbGRpbmcgc3lzdGVtLXdpZGUKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcmQtcGFydHkgbTQgZmlsZXMsIHRoZW4gZXhp
dAogICAgICAtLXZlcmJvc2UgICAgICAgICAgICAgZG9uJ3QgYmUgc2lsZW50CiAgICAgIC0tdmVy
c2lvbiAgICAgICAgICAgICBwcmludCB2ZXJzaW9uIG51bWJlciwgdGhlbiBleGl0CiAgLVcsIC0t
d2FybmluZ3M9Q0FURUdPUlkgICByZXBvcnQgdGhlIHdhcm5pbmdzIGZhbGxpbmcgaW4gQ0FURUdP
UlksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRzIHRvICRXQVJOSU5HUwoK
RU9GCgogIHByaW50IEF1dG9tYWtlOjpDaGFubmVsRGVmczo6dXNhZ2UgKCksICJcbiI7CgogICMg
VGhpcyBvdXRwdXQgZGVwZW5kcyBvbiB0aGUgY3VycmVudCBlbnZpcm9ubWVudCwgYW5kIHdoZW4g
Z2VuZXJhdGluZyB0aGUgbWFuCiAgIyBwYWdlcyBkdXJpbmcgQXV0b21ha2UgY29tcGlsYXRpb24s
IHRoZSBlbnZpcm9ubWVudCBpcyBzZXQgdG8gbG9jYWwgdmFsdWVzLgogICMgU28gZG9uJ3QgaW5j
bHVkZSBpdCBpbiB0aGUgaW5zdGFsbGVkIG1hbiBwYWdlLgogIGlmICghJEVOVntBVVRPTUFLRV9I
RUxQMk1BTn0pIHsKICAgIG15ICRhY2xvY2FsX2F1dG9tYWtlX2Rpcl9lbnYgPSAkRU5WeyJBQ0xP
Q0FMX0FVVE9NQUtFX0RJUiJ9IHx8ICIiOwogICAgbXkgJGFjbG9jYWxfcGF0aF9lbnYgPSAkRU5W
eyJBQ0xPQ0FMX1BBVEgifSB8fCAiIjsKICAgIHByaW50IDw8IkVPRiI7CgptNCBzZWFyY2ggcGF0
aHMgKGluIG9yZGVyKToKICAgICAgdXNlciBpbmNsdWRlczogQHVzZXJfaW5jbHVkZXMKICBhdXRv
bWFrZSBpbmNsdWRlczogQGF1dG9tYWtlX2luY2x1ZGVzCiAgICBzeXN0ZW0gaW5jbHVkZXM6IEBz
eXN0ZW1faW5jbHVkZXMKICAgICAgIGFjbG9jYWwgcGF0aDogJGFjbG9jYWxfcGF0aAoKRW52aXJv
bm1lbnQgdmFyaWFibGUgc2V0dGluZ3MsIGZvciByZWZlcmVuY2U6CiAgXCRBQ0xPQ0FMX0FVVE9N
QUtFX0RJUjogICAgJGFjbG9jYWxfYXV0b21ha2VfZGlyX2VudgogIFwkQUNMT0NBTF9QQVRIOiAg
ICAgICAgICAgICRhY2xvY2FsX3BhdGhfZW52CkVPRgogIH0KICAjIFRoZSBhYm92ZSBsaXN0aW5n
IG9mIHBhdGhzIGlzIHJhdGhlciBhIG1lc3MuICBCZWNhdXNlIHdlIGRvbid0CiAgIyBjb21wdXRl
IGFsbCBwYXRocyBiZWZvcmUgb3V0cHV0dGluZyB0aGUgaGVscCwgdGhlIGFjbG9jYWwgcGF0aHMg
YW5kCiAgIyBhY19jb25maWdfbWFjcm9fZGlycyBhcmUgbm90IGFkZGVkIHRvIHRoZSBzeXN0ZW0g
aW5jbHVkZXMuICBBbmQKICAjIGJlY2F1c2Ugd2UgZG9uJ3Qga2VlcCB0cmFjayBzZXBhcmF0ZWx5
IG9mIGNvbW1hbmQgbGluZSB2YWx1ZXMgZ2l2ZW4KICAjIHRvIC1JIGFuZCB0aGUgb3RoZXIgb3B0
aW9ucywgd2UgY2FuJ3QgcmVwb3J0IHRoZW0gc2VwYXJhdGVseSBmcm9tCiAgIyB0aGUgZW52aXJv
bm1lbnQgdmFyaWFibGVzLgoKICBwcmludCA8PCdFT0YnOwoKUmVwb3J0IGJ1Z3MgdG8gPGJ1Zy1h
dXRvbWFrZUBnbnUub3JnPi4KR05VIEF1dG9tYWtlIGhvbWUgcGFnZTogPGh0dHBzOi8vd3d3Lmdu
dS5vcmcvc29mdHdhcmUvYXV0b21ha2UvPi4KR2VuZXJhbCBoZWxwIHVzaW5nIEdOVSBzb2Z0d2Fy
ZTogPGh0dHBzOi8vd3d3LmdudS5vcmcvZ2V0aGVscC8+LgpFT0YKICBleGl0ICRzdGF0dXM7Cn0K
CiMgUHJpbnQgdmVyc2lvbiBhbmQgZXhpdC4Kc3ViIHZlcnNpb24gKCkKewogIHByaW50IDw8RU9G
OwphY2xvY2FsIChHTlUgJFBBQ0tBR0UpICRWRVJTSU9OCkNvcHlyaWdodCAoQykgJFJFTEVBU0Vf
WUVBUiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KTGljZW5zZSBHUEx2Mis6IEdOVSBH
UEwgdmVyc2lvbiAyIG9yIGxhdGVyIDxodHRwczovL2dudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5o
dG1sPgpUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJl
ZGlzdHJpYnV0ZSBpdC4KVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0
dGVkIGJ5IGxhdy4KCldyaXR0ZW4gYnkgVG9tIFRyb21leSA8dHJvbWV5XEByZWRoYXQuY29tPgog
ICAgICAgYW5kIEFsZXhhbmRyZSBEdXJldC1MdXR6IDxhZGxcQGdudS5vcmc+LgpFT0YKICBleGl0
IDA7Cn0KCiMgUGFyc2UgY29tbWFuZCBsaW5lLgpzdWIgcGFyc2VfYXJndW1lbnRzICgpCnsKICBt
eSAkcHJpbnRfYW5kX2V4aXQgPSAwOwogIG15ICRkaWZmX2NvbW1hbmQ7CiAgbXkgQHdhcm5pbmdz
ID0gKCk7CgogIG15ICVjbGlfb3B0aW9ucyA9CiAgICAoCiAgICAgJ2hlbHAnCQk9PiBzdWIgeyB1
c2FnZSgwKTsgfSwKICAgICAndmVyc2lvbicJCT0+IFwmdmVyc2lvbiwKICAgICAnc3lzdGVtLWFj
ZGlyPXMnCT0+IHN1YiB7IHNoaWZ0OyBAc3lzdGVtX2luY2x1ZGVzID0gQF87IH0sCiAgICAgJ2F1
dG9tYWtlLWFjZGlyPXMnCT0+IHN1YiB7IHNoaWZ0OyBAYXV0b21ha2VfaW5jbHVkZXMgPSBAXzsg
fSwKICAgICAnYWNsb2NhbC1wYXRoPXMnICAgPT4gc3ViIHsgc2hpZnQ7ICRhY2xvY2FsX3BhdGgg
PSAkX1swXTsgfSwKICAgICAnZGlmZjpzJwkJPT4gXCRkaWZmX2NvbW1hbmQsCiAgICAgJ2RyeS1y
dW4nCQk9PiBcJGRyeV9ydW4sCiAgICAgJ2ZvcmNlJwkJPT4gXCRmb3JjZV9vdXRwdXQsCiAgICAg
J0k9cycJCT0+IFxAdXNlcl9pbmNsdWRlcywKICAgICAnaW5zdGFsbCcgICAgICAgICAgPT4gXCRp
bnN0YWxsLAogICAgICdvdXRwdXQ9cycJCT0+IFwkb3V0cHV0X2ZpbGUsCiAgICAgJ3ByaW50LWFj
LWRpcicgICAgID0+IFwkcHJpbnRfYW5kX2V4aXQsCiAgICAgJ3ZlcmJvc2UnCQk9PiBzdWIgeyBz
ZXR1cF9jaGFubmVsICd2ZXJiJywgc2lsZW50ID0+IDA7IH0sCiAgICAgJ1d8d2FybmluZ3M9cycg
ICAgID0+IFxAd2FybmluZ3MsCiAgICAgKTsKCiAgdXNlIEF1dG9tYWtlOjpHZXRvcHQgKCk7CiAg
QXV0b21ha2U6OkdldG9wdDo6cGFyc2Vfb3B0aW9ucyAlY2xpX29wdGlvbnM7CiAgcGFyc2Vfd2Fy
bmluZ3MgQHdhcm5pbmdzOwoKICBpZiAoQEFSR1YgPiAwKQogICAgewogICAgICBmYXRhbCAoIm5v
bi1vcHRpb24gYXJndW1lbnRzIGFyZSBub3QgYWNjZXB0ZWQ6ICckQVJHVlswXScuXG4iCiAgICAg
ICAgICAgICAuICJUcnkgJyQwIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIik7CiAgICB9
CgogIGlmICgkcHJpbnRfYW5kX2V4aXQpCiAgICB7CiAgICAgIHByaW50ICJAc3lzdGVtX2luY2x1
ZGVzXG4iOwogICAgICBleGl0IDA7CiAgICB9CgogIGlmIChkZWZpbmVkICRkaWZmX2NvbW1hbmQp
CiAgICB7CiAgICAgICRkaWZmX2NvbW1hbmQgPSAnZGlmZiAtdScgaWYgJGRpZmZfY29tbWFuZCBl
cSAnJzsKICAgICAgQGRpZmZfY29tbWFuZCA9IHNwbGl0ICgnICcsICRkaWZmX2NvbW1hbmQpOwog
ICAgICAkaW5zdGFsbCA9IDE7CiAgICAgICRkcnlfcnVuID0gMTsKICAgIH0KCiAgIyBGaW5hbGx5
LCBhZGRzIGFueSBkaXJlY3RvcnkgbGlzdGVkIGluIHRoZSAnZGlybGlzdCcgZmlsZS4KICBpZiAo
QHN5c3RlbV9pbmNsdWRlcyAmJiBvcGVuIChESVJMSVNULCAiJHN5c3RlbV9pbmNsdWRlc1swXS9k
aXJsaXN0IikpCiAgICB7CiAgICAgIHdoaWxlICg8RElSTElTVD4pCiAgICAgICAgewogICAgICAg
ICAgIyBJZ25vcmUgJyMnIGxpbmVzLgogICAgICAgICAgbmV4dCBpZiAvXiMvOwogICAgICAgICAg
IyBzdHJpcCBvZmYgbmV3bGluZXMgYW5kIGVuZC1vZi1saW5lIGNvbW1lbnRzCiAgICAgICAgICBz
L1xzKlwjLiokLy87CiAgICAgICAgICBjaG9tcDsKICAgICAgICAgIGZvcmVhY2ggbXkgJGRpciAo
Z2xvYikKICAgICAgICAgICAgewogICAgICAgICAgICAgIHB1c2ggKEBzeXN0ZW1faW5jbHVkZXMs
ICRkaXIpIGlmIC1kICRkaXI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIGNsb3NlIChE
SVJMSVNUKTsKICAgIH0KfQoKIyBBZGQgYW55IGRpcmVjdG9yeSBsaXN0ZWQgaW4gJGFjbG9jYWxf
cGF0aCB0byB0aGUgbGlzdCBvZiBzeXN0ZW0KIyBpbmNsdWRlIGRpcmVjdG9yaWVzLgpzdWIgcGFy
c2VfQUNMT0NBTF9QQVRIICgpCnsKICByZXR1cm4gaWYgbm90ICRhY2xvY2FsX3BhdGg7CgogICMg
RGlyZWN0b3JpZXMgaW4gQUNMT0NBTF9QQVRIIHNob3VsZCB0YWtlIHByZWNlZGVuY2Ugb3ZlciBz
eXN0ZW0KICAjIGRpcmVjdG9yaWVzLCBzbyB3ZSB1c2UgdW5zaGlmdC4gIEhvd2V2ZXIsIGRpcmVj
dG9yaWVzIHRoYXQKICAjIGNvbWUgZmlyc3QgaW4gQUNMT0NBTF9QQVRIIHRha2UgcHJlY2VkZW5j
ZSBvdmVyIGRpcmVjdG9yaWVzCiAgIyBjb21pbmcgbGF0ZXIsIHdoaWNoIGlzIHdoeSB0aGUgcmVz
dWx0IG9mIHNwbGl0IGlzIHJldmVyc2VkLgoKICAjIE9TLzIgYW5kIFdpbmRvd3MgKGJ1dCBub3Qg
Q3lnd2luLCBldGMuKSB1c2UgOyBmb3IgdGhlIHBhdGggc2VwYXJhdG9yLgogICMgUG9zc2libHkg
aXQgd291bGQgYmUgY2xlYW5lciB0byB1c2UgcGF0aF9zZXAgZnJvbSBDb25maWcsCiAgIyBidXQg
dGhpcyBzZWVtcyBzaW1wbGVyLgogIG15ICRwYXRoX3NlcCA9ICReTyA9fiAvXihvczJ8bXN3aW4p
L2kgPyAnOycgOiAnOic7CgogIGZvcmVhY2ggbXkgJGRpciAocmV2ZXJzZSBzcGxpdCAkcGF0aF9z
ZXAsICRhY2xvY2FsX3BhdGgpCiAgICB7CiAgICAgIHVuc2hpZnQgKEBzeXN0ZW1faW5jbHVkZXMs
ICRkaXIpIGlmICRkaXIgbmUgJycgJiYgLWQgJGRpcjsKICAgIH0KfQoKIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKIyBEb24n
dCByZWZlciB0byBpbnN0YWxsYXRpb24gZGlyZWN0b3JpZXMgZnJvbSB0aGUgYnVpbGQgZW52aXJv
bm1lbnQKaWYgKGV4aXN0cyAkRU5WeyJBVVRPTUFLRV9VTklOU1RBTExFRCJ9KQogIHsKICAgIEBh
dXRvbWFrZV9pbmNsdWRlcyA9ICgpOwogICAgQHN5c3RlbV9pbmNsdWRlcyA9ICgpOwogIH0KCkBh
dXRvbWFrZV9pbmNsdWRlcyA9ICgkRU5WeyJBQ0xPQ0FMX0FVVE9NQUtFX0RJUiJ9KQogIGlmIChl
eGlzdHMgJEVOVnsiQUNMT0NBTF9BVVRPTUFLRV9ESVIifSk7CiRhY2xvY2FsX3BhdGggPSAoJEVO
VnsiQUNMT0NBTF9QQVRIIn0pCiAgaWYgKGV4aXN0cyAkRU5WeyJBQ0xPQ0FMX1BBVEgifSk7Cgpw
YXJzZV9XQVJOSU5HUzsJCSAgICAjIFBhcnNlIHRoZSBXQVJOSU5HUyBlbnZpcm9ubWVudCB2YXJp
YWJsZS4KcGFyc2VfYXJndW1lbnRzOwpwYXJzZV9BQ0xPQ0FMX1BBVEg7CSAgICAjIFNob3VsZCBj
b21lIGFmdGVyIHBhcnNlIGFyZ3VtZW50cy4KJGNvbmZpZ3VyZV9hYyA9IHJlcXVpcmVfY29uZmln
dXJlX2FjOwoKIyBXZSBtYXkgaGF2ZSB0byByZXJ1biBhY2xvY2FsIGlmIHNvbWUgZmlsZSBoYXZl
IGJlZW4gaW5zdGFsbGVkLCBidXQKIyBpdCBzaG91bGQgbm90IGhhcHBlbiBtb3JlIHRoYW4gb25j
ZS4gIFRoZSByZWFzb24gd2UgbXVzdCBydW4gYWdhaW4KIyBpcyB0aGF0IG9uY2UgdGhlIGZpbGUg
aGFzIGJlZW4gbW92ZWQgZnJvbSAvdXNyL3NoYXJlL2FjbG9jYWwvIHRvIHRoZQojIGxvY2FsIG00
LyBkaXJlY3RvcnkgaXQgYXBwZWFycyBhdCBhIG5ldyBwbGFjZSBpbiB0aGUgc2VhcmNoIHBhdGgs
CiMgaGVuY2UgaXQgc2hvdWxkIGJlIG91dHB1dCBhdCBhIGRpZmZlcmVudCBwb3NpdGlvbiBpbiBh
Y2xvY2FsLm00LiAgSWYKIyB3ZSBkaWQgbm90IHJlcnVuIGFjbG9jYWwsIHRoZSBuZXh0IHJ1biBv
ZiBhY2xvY2FsIHdvdWxkIHByb2R1Y2UgYQojIGRpZmZlcmVudCBhY2xvY2FsLm00LgpteSAkbG9v
cCA9IDA7Cm15ICRyZXJ1bl9kdWVfdG9fbWFjcm9kaXIgPSAwOwp3aGlsZSAoMSkKICB7CiAgICAr
KyRsb29wOwogICAgcHJvZ19lcnJvciAidG9vIG1hbnkgbG9vcHMiIGlmICRsb29wID4gMiArICRy
ZXJ1bl9kdWVfdG9fbWFjcm9kaXI7CgogICAgcmVzZXRfbWFwczsKICAgIHNjYW5fbTRfZmlsZXM7
CiAgICBzY2FuX2NvbmZpZ3VyZTsKICAgIGxhc3QgaWYgJGV4aXRfY29kZTsKICAgIG15ICVtYWNy
b190cmFjZWQgPSB0cmFjZV91c2VkX21hY3JvczsKCiAgICBpZiAoISRyZXJ1bl9kdWVfdG9fbWFj
cm9kaXIgJiYgQGFjX2NvbmZpZ19tYWNyb19kaXJzKQogICAgICB7CiAgICAgICAgIyBUaGUgZGly
ZWN0b3J5IHNwZWNpZmllZCBpbiBjYWxscyB0byB0aGUgQUNfQ09ORklHX01BQ1JPX0RJUlMKICAg
ICAgICAjIG00IG1hY3JvIChpZiBhbnkpIG11c3QgZ28gYWZ0ZXIgdGhlIHVzZXIgaW5jbHVkZXMg
c3BlY2lmaWVkCiAgICAgICAgIyBleHBsaWNpdGx5IHdpdGggdGhlICctSScgb3B0aW9uLgogICAg
ICAgIHB1c2ggQHVzZXJfaW5jbHVkZXMsIEBhY19jb25maWdfbWFjcm9fZGlyczsKICAgICAgICAj
IFdlIG1pZ2h0IGhhdmUgdG8gc2NhbiBzb21lIG5ldyBkaXJlY3Rvcnkgb2YgLm00IGZpbGVzLgog
ICAgICAgICRyZXJ1bl9kdWVfdG9fbWFjcm9kaXIrKzsKICAgICAgICBuZXh0OwogICAgICB9Cgog
ICAgaWYgKCRpbnN0YWxsICYmICFAdXNlcl9pbmNsdWRlcykKICAgICAgewogICAgICAgIGZhdGFs
ICJpbnN0YWxsYXRpb24gb2YgdGhpcmQtcGFydHkgbWFjcm9zIGltcG9zc2libGUgd2l0aG91dCAi
IC4KICAgICAgICAgICAgICAiLUkgb3B0aW9ucyBub3IgQUNfQ09ORklHX01BQ1JPX0RJUnssU30g
bTQgbWFjcm8ocykiOwogICAgICB9CgogICAgbGFzdCBpZiB3cml0ZV9hY2xvY2FsICgkb3V0cHV0
X2ZpbGUsIHNvcnQga2V5cyAlbWFjcm9fdHJhY2VkKTsKICAgIGxhc3QgaWYgJGRyeV9ydW47CiAg
fQpjaGVja19hY2luY2x1ZGU7CgpleGl0ICRleGl0X2NvZGU7CisgY2F0IC91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL2Jpbi9hdXRvbWFrZS0xLjE4CiMhL3Vzci9iaW4vcGVybAojIGF1dG9tYWtlIC0g
Y3JlYXRlIE1ha2VmaWxlLmluIGZyb20gTWFrZWZpbGUuYW0gICAgICAgICAgICAtKi0gcGVybCAt
Ki0KIyBHZW5lcmF0ZWQgZnJvbSBiaW4vYXV0b21ha2UuaW47IGRvIG5vdCBlZGl0IGJ5IGhhbmQu
CiMgQ29weXJpZ2h0IChDKSAxOTk0LTIwMjYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
CgojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCiMgYW55IGxhdGVyIHZl
cnNpb24uCgojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dy
YW0uICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKIyBPcmln
aW5hbGx5IHdyaXR0ZW4gYnkgRGF2aWQgTWFja2VuemllIDxkam1AZ251LmFpLm1pdC5lZHU+Lgoj
IFBlcmwgcmVpbXBsZW1lbnRhdGlvbiBieSBUb20gVHJvbWV5IDx0cm9tZXlAcmVkaGF0LmNvbT4s
IGFuZAojIEFsZXhhbmRyZSBEdXJldC1MdXR6IDxhZGxAZ251Lm9yZz4uCgpwYWNrYWdlIEF1dG9t
YWtlOwoKdXNlIDUuMDA2OyB1c2Ugc3RyaWN0OyB1c2Ugd2FybmluZ3M7CgpCRUdJTgp7CiAgdW5z
aGlmdCAoQElOQywgJy91c3IvbG9jYWwvc2hhcmUvYXV0b21ha2UtMS4xOCcpCiAgICB1bmxlc3Mg
JEVOVntBVVRPTUFLRV9VTklOU1RBTExFRH07CgogICMgT3ZlcnJpZGUgU0hFTEwuICBUaGlzIGlz
IHJlcXVpcmVkIG9uIERKR1BQIHNvIHRoYXQgc3lzdGVtKCkgdXNlcwogICMgYmFzaCwgbm90IENP
TU1BTkQuQ09NIHdoaWNoIGRvZXNuJ3QgcXVvdGUgYXJndW1lbnRzIHByb3Blcmx5LgogICMgT3Ro
ZXIgc3lzdGVtcyBhcmVuJ3QgZXhwZWN0ZWQgdG8gdXNlICRTSEVMTCB3aGVuIEF1dG9tYWtlCiAg
IyBydW5zLCBidXQgaXQgc2hvdWxkIGJlIHNhZmUgdG8gZHJvcCB0aGUgImlmIERKR1BQIiBndWFy
ZCBpZgogICMgaXQgdHVybnMgdXAgb3RoZXIgc3lzdGVtcyBuZWVkIHRoZSBzYW1lIHRoaW5nLiAg
QWZ0ZXIgYWxsLAogICMgaWYgU0hFTEwgaXMgdXNlZCwgLi9jb25maWd1cmUncyBTSEVMTCBpcyBh
bHdheXMgYmV0dGVyIHRoYW4KICAjIHRoZSB1c2VyJ3MgU0hFTEwgKHdoaWNoIG1heSBiZSBzb21l
dGhpbmcgbGlrZSB0Y3NoKS4KICAkRU5WeydTSEVMTCd9ID0gJy9iaW4vc2gnIGlmIGV4aXN0cyAk
RU5WeydESkRJUid9Owp9Cgp1c2UgQ2FycDsKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgRmlsZTo6
U3BlYzsKCnVzZSBBdXRvbWFrZTo6Q29uZmlnOwpCRUdJTgp7CiAgaWYgKCRwZXJsX3RocmVhZHMp
CiAgICB7CiAgICAgIHJlcXVpcmUgdGhyZWFkczsKICAgICAgaW1wb3J0IHRocmVhZHM7CiAgICAg
IHJlcXVpcmUgVGhyZWFkOjpRdWV1ZTsKICAgICAgaW1wb3J0IFRocmVhZDo6UXVldWU7CiAgICB9
Cn0KdXNlIEF1dG9tYWtlOjpHZW5lcmFsOwp1c2UgQXV0b21ha2U6OlhGaWxlOwp1c2UgQXV0b21h
a2U6OkNoYW5uZWxzOwp1c2UgQXV0b21ha2U6OkNoYW5uZWxEZWZzOwp1c2UgQXV0b21ha2U6OkNv
bmZpZ3VyZV9hYzsKdXNlIEF1dG9tYWtlOjpGaWxlVXRpbHM7CnVzZSBBdXRvbWFrZTo6TG9jYXRp
b247CnVzZSBBdXRvbWFrZTo6Q29uZGl0aW9uIHF3L1RSVUUgRkFMU0UvOwp1c2UgQXV0b21ha2U6
OkRpc2pDb25kaXRpb25zOwp1c2UgQXV0b21ha2U6Ok9wdGlvbnM7CnVzZSBBdXRvbWFrZTo6VmFy
aWFibGU7CnVzZSBBdXRvbWFrZTo6VmFyRGVmOwp1c2UgQXV0b21ha2U6OlJ1bGU7CnVzZSBBdXRv
bWFrZTo6UnVsZURlZjsKdXNlIEF1dG9tYWtlOjpXcmFwICdtYWtlZmlsZV93cmFwJzsKdXNlIEF1
dG9tYWtlOjpMYW5ndWFnZTsKCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIFN1YnJv
dXRpbmUgcHJvdG90eXBlcy4gICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCgpzdWIg
YXBwZW5kX2V4ZWV4dCAoJiQpOwpzdWIgY2hlY2tfZ25pdHNfc3RhbmRhcmRzICgpOwpzdWIgY2hl
Y2tfZ251X3N0YW5kYXJkcyAoKTsKc3ViIGNoZWNrX3RyYWlsaW5nX3NsYXNoICgkXCQpOwpzdWIg
Y2hlY2tfdHlwb3MgKCk7CnN1YiBkZWZpbmVfZmlsZXNfdmFyaWFibGUgKCRcQCQkKTsKc3ViIGRl
ZmluZV9zdGFuZGFyZF92YXJpYWJsZXMgKCk7CnN1YiBkZWZpbmVfdmVyYm9zZV9saWJ0b29sICgp
OwpzdWIgZGVmaW5lX3ZlcmJvc2VfdGV4aW5mbyAoKTsKc3ViIGRvX2NoZWNrX21lcmdlX3Rhcmdl
dCAoKTsKc3ViIGdldF9udW1iZXJfb2ZfdGhyZWFkcyAoKTsKc3ViIGhhbmRsZV9jb21waWxlICgp
OwpzdWIgaGFuZGxlX2RhdGEgKCk7CnN1YiBoYW5kbGVfZGlzdCAoKTsKc3ViIGhhbmRsZV9lbWFj
c19saXNwICgpOwpzdWIgaGFuZGxlX2ZhY3RvcmVkX2RlcGVuZGVuY2llcyAoKTsKc3ViIGhhbmRs
ZV9mb290ZXIgKCk7CnN1YiBoYW5kbGVfZ2V0dGV4dCAoKTsKc3ViIGhhbmRsZV9oZWFkZXJzICgp
OwpzdWIgaGFuZGxlX2luc3RhbGwgKCk7CnN1YiBoYW5kbGVfamF2YSAoKTsKc3ViIGhhbmRsZV9s
YW5ndWFnZXMgKCk7CnN1YiBoYW5kbGVfbGlicmFyaWVzICgpOwpzdWIgaGFuZGxlX2xpYnRvb2wg
KCk7CnN1YiBoYW5kbGVfbHRsaWJyYXJpZXMgKCk7CnN1YiBoYW5kbGVfbWFrZWZpbGVzX3Nlcmlh
bCAoKTsKc3ViIGhhbmRsZV9tYW5fcGFnZXMgKCk7CnN1YiBoYW5kbGVfbWlub3Jfb3B0aW9ucyAo
KTsKc3ViIGhhbmRsZV9vcHRpb25zICgpOwpzdWIgaGFuZGxlX3Byb2dyYW1zICgpOwpzdWIgaGFu
ZGxlX3B5dGhvbiAoKTsKc3ViIGhhbmRsZV9zY3JpcHRzICgpOwpzdWIgaGFuZGxlX3NpbGVudCAo
KTsKc3ViIGhhbmRsZV9zdWJkaXJzICgpOwpzdWIgaGFuZGxlX3RhZ3MgKCk7CnN1YiBoYW5kbGVf
dGFyZ2V0cyAoKTsKc3ViIGhhbmRsZV90ZXN0cyAoKTsKc3ViIGhhbmRsZV90ZXN0c19kZWphZ251
ICgpOwpzdWIgaGFuZGxlX3RleGluZm8gKCk7CnN1YiBoYW5kbGVfdXNlcl9yZWN1cnNpb24gKCk7
CnN1YiBpbml0aWFsaXplX3Blcl9pbnB1dCAoKTsKc3ViIGxhbmdfbGV4X2ZpbmlzaCAoKTsKc3Vi
IGxhbmdfc3ViX29iaiAoKTsKc3ViIGxhbmdfdmFsYV9maW5pc2ggKCk7CnN1YiBsYW5nX3lhY2Nf
ZmluaXNoICgpOwpzdWIgbG9jYXRlX2F1eF9kaXIgKCk7CnN1YiBwYXJzZV9hcmd1bWVudHMgKCk7
CnN1YiBzY2FuX2FjbG9jYWxfbTQgKCk7CnN1YiBzY2FuX2F1dG9jb25mX2ZpbGVzICgpOwpzdWIg
c2lsZW50X2ZsYWcgKCk7CnN1YiB0cmFuc2Zvcm0gKCRcJSk7CnN1YiB0cmFuc2Zvcm1fdG9rZW4g
KCRcJSQpOwpzdWIgdXNhZ2UgKCk7CnN1YiB2ZXJzaW9uICgpOwpzdWIgeWFjY19sZXhfZmluaXNo
X2hlbHBlciAoKTsKCiMjIC0tLS0tLS0tLS0tICMjCiMjIENvbnN0YW50cy4gICMjCiMjIC0tLS0t
LS0tLS0tICMjCgojIFNvbWUgcmVndWxhciBleHByZXNzaW9ucy4gIE9uZSByZWFzb24gdG8gcHV0
IHRoZW0gaGVyZSBpcyB0aGF0IGl0CiMgbWFrZXMgaW5kZW50YXRpb24gd29yayBiZXR0ZXIgaW4g
RW1hY3MuCgojIFdyaXRpbmcgc2luZ2xlZC1xdW90ZWQtJC10ZXJtaW5hdGVkIHJlZ2V4ZXMgaXMg
YSBwYWluIGJlY2F1c2UKIyBwZXJsLW1vZGUgdGhpbmtzIG9mICQnIGFzIHRoZSAkeyd9IHZhcmlh
YmxlIChpbnN0ZWFkIG9mIGEgJCBmb2xsb3dlZAojIGJ5IGEgY2xvc2luZyBxdW90ZS4gIExldHRp
bmcgcGVybC1tb2RlIHRoaW5rIHRoZSBxdW90ZSBpcyBub3QgY2xvc2VkCiMgbGVhZHMgdG8gYWxs
IHNvcnQgb2YgbWlzaW5kZW50YXRpb25zLiAgT24gdGhlIG90aGVyIGhhbmQsIGRlZmluaW5nCiMg
cmVnZXhlcyBhcyBkb3VibGUtcXVvdGVkIHN0cmluZ3MgaXMgZmFyIGxlc3MgcmVhZGFibGUuICBT
byB1c3VhbGx5CiMgd2Ugd2lsbCB3cml0ZToKIwojICAkUkVHRVggPSAnXnJlZ2V4X3ZhbHVlJyAu
ICJcJCI7CgpteSAkSUdOT1JFX1BBVFRFUk4gPSAnXlxzKiMjKFteI1xuXS4qKT9cbic7Cm15ICRX
SElURV9QQVRURVJOID0gJ15ccyonIC4gIlwkIjsKbXkgJENPTU1FTlRfUEFUVEVSTiA9ICdeIyc7
Cm15ICRUQVJHRVRfUEFUVEVSTj0nWyRhLXpBLVowLTlfLkAlXVstLmEtekEtWjAtOV8oKXt9LyQr
QCVdKic7CiMgQSBydWxlIGhhcyB0aHJlZSBwYXJ0czogYSBsaXN0IG9mIHRhcmdldHMsIGEgbGlz
dCBvZiBkZXBlbmRlbmNpZXMsCiMgYW5kIG9wdGlvbmFsbHkgYWN0aW9ucy4KbXkgJFJVTEVfUEFU
VEVSTiA9CiAgIl4oJFRBUkdFVF9QQVRURVJOKD86KD86XFxcXFxufFxccykrJFRBUkdFVF9QQVRU
RVJOKSopICo6KFtePV0uKnwpXCQiOwoKIyBPbmx5IHJlY29nbml6ZSBsZWFkaW5nIHNwYWNlcywg
bm90IGxlYWRpbmcgdGFicy4gIElmIHdlIHJlY29nbml6ZQojIGxlYWRpbmcgdGFicyBoZXJlIHRo
ZW4gd2UgbmVlZCB0byBtYWtlIHRoZSByZWFkZXIgc21hcnRlciwgYmVjYXVzZQojIG90aGVyd2lz
ZSBpdCB3aWxsIHRoaW5rIHJ1bGVzIGxpa2UgJ2Zvbz1iYXI7IFwnIGFyZSBlcnJvcnMuCm15ICRB
U1NJR05NRU5UX1BBVFRFUk4gPSAnXiAqKFteIFx0PTorXSopXHMqKFs6K10/KT1ccyooLiopJyAu
ICJcJCI7CiMgVGhpcyBwYXR0ZXJuIHJlY29nbml6ZXMgYSBHbml0cyB2ZXJzaW9uIGlkIGFuZCBz
ZXRzICQxIGlmIHRoZQojIHJlbGVhc2UgaXMgYW4gYWxwaGEgcmVsZWFzZS4gIFdlIGFsc28gYWxs
b3cgYSBzdWZmaXggd2hpY2ggY2FuIGJlCiMgdXNlZCB0byBleHRlbmQgdGhlIHZlcnNpb24gbnVt
YmVyIHdpdGggYSAiZm9yayIgaWRlbnRpZmllci4KbXkgJEdOSVRTX1ZFUlNJT05fUEFUVEVSTiA9
ICdcZCtcLlxkKyhbYS16XXxcLlxkKyk/KC1bQS1aYS16MC05XSspPyc7CgpteSAkSUZfUEFUVEVS
TiA9ICdeaWZccysoIT8pXHMqKFtBLVphLXpdW0EtWmEtejAtOV9dKilccyooPzojLiopPycgLiAi
XCQiOwpteSAkRUxTRV9QQVRURVJOID0KICAnXmVsc2UoPzpccysoIT8pXHMqKFtBLVphLXpdW0Et
WmEtejAtOV9dKikpP1xzKig/OiMuKik/JyAuICJcJCI7Cm15ICRFTkRJRl9QQVRURVJOID0KICAn
XmVuZGlmKD86XHMrKCE/KVxzKihbQS1aYS16XVtBLVphLXowLTlfXSopKT9ccyooPzojLiopPycg
LiAiXCQiOwpteSAkUEFUSF9QQVRURVJOID0gJyhcd3xbKy8uLV0pKyc7CiMgVGhpcyB3aWxsIHBh
c3MgdGhyb3VnaCBhbnl0aGluZyBub3Qgb2YgdGhlIHByZXNjcmliZWQgZm9ybS4KbXkgJElOQ0xV
REVfUEFUVEVSTiA9ICgnXmluY2x1ZGVccysnCgkJICAgICAgIC4gJygoXCRcKHRvcF9zcmNkaXJc
KS8nIC4gJFBBVEhfUEFUVEVSTiAuICcpJwoJCSAgICAgICAuICd8KFwkXChzcmNkaXJcKS8nIC4g
JFBBVEhfUEFUVEVSTiAuICcpJwoJCSAgICAgICAuICd8KFteL1wkXScgLiAkUEFUSF9QQVRURVJO
IC4gJykpXHMqKCMuKik/JyAuICJcJCIpOwoKIyBEaXJlY3RvcmllcyBpbnN0YWxsZWQgZHVyaW5n
ICdpbnN0YWxsLWV4ZWMnIHBoYXNlLgpteSAkRVhFQ19ESVJfUEFUVEVSTiA9CiAgJ14oPzpiaW58
c2JpbnxsaWJleGVjfHN5c2NvbmZ8bG9jYWxzdGF0ZXxsaWJ8cGtnbGlifC4qZXhlYy4qKScgLiAi
XCQiOwoKIyBWYWx1ZXMgZm9yIEFDX0NBTk9OSUNBTF8qCnVzZSBjb25zdGFudCBBQ19DQU5PTklD
QUxfQlVJTEQgID0+IDE7CnVzZSBjb25zdGFudCBBQ19DQU5PTklDQUxfSE9TVCAgID0+IDI7CnVz
ZSBjb25zdGFudCBBQ19DQU5PTklDQUxfVEFSR0VUID0+IDM7CgojIFZhbHVlcyBpbmRpY2F0aW5n
IHdoZW4gc29tZXRoaW5nIHNob3VsZCBiZSBjbGVhbmVkLgp1c2UgY29uc3RhbnQgTU9TVExZX0NM
RUFOICAgICA9PiAwOwp1c2UgY29uc3RhbnQgQ0xFQU4gICAgICAgICAgICA9PiAxOwp1c2UgY29u
c3RhbnQgRElTVF9DTEVBTiAgICAgICA9PiAyOwp1c2UgY29uc3RhbnQgTUFJTlRBSU5FUl9DTEVB
TiA9PiAzOwoKIyBMaWJ0b29sIGZpbGVzLgpteSBAbGlidG9vbF9maWxlcyA9IHF3KGx0bWFpbi5z
aCBjb25maWcuZ3Vlc3MgY29uZmlnLnN1Yik7CiMgbHRjb25maWcgYXBwZWFycyBoZXJlIGZvciBj
b21wYXRpYmlsaXR5IHdpdGggb2xkIHZlcnNpb25zIG9mIGxpYnRvb2wuCm15IEBsaWJ0b29sX3Nv
bWV0aW1lcyA9IHF3KGx0Y29uZmlnIGx0Y2YtYy5zaCBsdGNmLWN4eC5zaCBsdGNmLWdjai5zaCk7
CgojIFRvcC1sZXZlbCBmaWxlcyB0aGF0IGNhbiBiZSBmb28ubWQgaW5zdGVhZCBvZiBmb28uICBX
ZSBhc3N1bWUgdGhhdCBhbGwKIyBidXQgVEhBTktTIGFyZSByZXF1aXJlZCBhdCBzdHJpY3RuZXNz
IGxldmVsIGdudS4KbXkgQHRvcGxldmVsbWRfb2sgPSBxdyhBVVRIT1JTIENoYW5nZUxvZyBJTlNU
QUxMIE5FV1MgUkVBRE1FIFRIQU5LUyk7CgojIENvbW1vbmx5IGZvdW5kIGZpbGVzIHdlIGxvb2sg
Zm9yIGFuZCBhdXRvbWF0aWNhbGx5IGluY2x1ZGUgaW4gRElTVEZJTEVTLgpteSBAY29tbW9uX2Zp
bGVzID0KICAgIChxdyhBQk9VVC1HTlUgQUJPVVQtTkxTIEJBQ0tMT0cgQ09QWUlORwogICAgICAg
IENPUFlJTkcuRE9DIENPUFlJTkcuTElCIENPUFlJTkcuTEVTU0VSIFRPRE8KCWFyLWxpYiBjb21w
aWxlIGNvbmZpZy5ndWVzcyBjb25maWcucnBhdGgKCWNvbmZpZy5zdWIgZGVwY29tcCBpbnN0YWxs
LXNoIGxpYnZlcnNpb24uaW4gbWRhdGUtc2gKCW1pc3NpbmcgbWtpbnN0YWxsZGlycyBweS1jb21w
aWxlIHRleGluZm8udGV4IHlsd3JhcCksCiAgICAgQGxpYnRvb2xfZmlsZXMsIEBsaWJ0b29sX3Nv
bWV0aW1lcyk7CgojIENvbW1vbmx5IHVzZWQgZmlsZXMgd2UgYXV0by1pbmNsdWRlLCBidXQgb25s
eSBzb21ldGltZXMuICBUaGlzIGxpc3QKIyBpcyB1c2VkIGZvciB0aGUgLS1oZWxwIG91dHB1dCBv
bmx5LgpteSBAY29tbW9uX3NvbWV0aW1lcyA9CiAgcXcoYWNsb2NhbC5tNCBhY2NvbmZpZy5oIGNv
bmZpZy5oLnRvcCBjb25maWcuaC5ib3QgY29uZmlndXJlCiAgICAgY29uZmlndXJlLmFjIGNvbmZp
Z3VyZS5pbiBzdGFtcC12dGkpOwoKIyBTdGFuZGFyZCBkaXJlY3RvcmllcyBmcm9tIHRoZSBHTlUg
Q29kaW5nIFN0YW5kYXJkcywgYW5kIGFkZGl0aW9uYWwKIyBwa2cqIGRpcmVjdG9yaWVzIGZyb20g
QXV0b21ha2UuICBTdG9yZWQgaW4gYSBoYXNoIGZvciBmYXN0IG1lbWJlciBjaGVjay4KbXkgJXN0
YW5kYXJkX3ByZWZpeCA9CiAgICBtYXAgeyAkXyA9PiAxIH0gKHF3KGJpbiBkYXRhIGRhdGFyb290
IGRvYyBkdmkgZXhlYyBodG1sIGluY2x1ZGUgaW5mbwoJCQlsaWIgbGliZXhlYyBsaXNwIGxvY2Fs
ZSBsb2NhbHN0YXRlIG1hbiBtYW4xIG1hbjIKCQkJbWFuMyBtYW40IG1hbjUgbWFuNiBtYW43IG1h
bjggbWFuOSBvbGRpbmNsdWRlIHBkZgoJCQlwa2dkYXRhIHBrZ2luY2x1ZGUgcGtnbGliIHBrZ2xp
YmV4ZWMgcHMgc2JpbgoJCQlzaGFyZWRzdGF0ZSBzeXNjb25mKSk7CgojIENvcHlyaWdodCBvbiBn
ZW5lcmF0ZWQgTWFrZWZpbGUuaW5zLgpteSAkZ2VuX2NvcHlyaWdodCA9ICJcCiMgQ29weXJpZ2h0
IChDKSAxOTk0LSRSRUxFQVNFX1lFQVIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCgoj
IFRoaXMgTWFrZWZpbGUuaW4gaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbgojIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3Ry
aWJ1dGUgaXQsCiMgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbnMsIGFzIGxvbmcgYXMgdGhp
cyBub3RpY2UgaXMgcHJlc2VydmVkLgoKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdzsgd2l0aG91dAojIGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEKIyBQQVJU
SUNVTEFSIFBVUlBPU0UuCiI7CgojIFRoZXNlIGNvbnN0YW50cyBhcmUgcmV0dXJuZWQgYnkgdGhl
IGxhbmdfKl9yZXdyaXRlIGZ1bmN0aW9ucy4KIyBMQU5HX1NVQkRJUiBtZWFucyB0aGF0IHRoZSBy
ZXN1bHRpbmcgb2JqZWN0IGZpbGUgc2hvdWxkIGJlIGluIGEKIyBzdWJkaXIgaWYgdGhlIHNvdXJj
ZSBmaWxlIGlzLiAgSW4gdGhpcyBjYXNlIHRoZSBmaWxlIG5hbWUgY2Fubm90CiMgaGF2ZSAnLi4n
IGNvbXBvbmVudHMuCnVzZSBjb25zdGFudCBMQU5HX0lHTk9SRSAgPT4gMDsKdXNlIGNvbnN0YW50
IExBTkdfUFJPQ0VTUyA9PiAxOwp1c2UgY29uc3RhbnQgTEFOR19TVUJESVIgID0+IDI7CgojIFRo
ZXNlIGFyZSB1c2VkIHdoZW4ga2VlcGluZyB0cmFjayBvZiB3aGV0aGVyIGFuIG9iamVjdCBjYW4g
YmUgYnVpbHQKIyBieSB0d28gZGlmZmVyZW50IHBhdGhzLgp1c2UgY29uc3RhbnQgQ09NUElMRV9M
SUJUT09MICA9PiAxOwp1c2UgY29uc3RhbnQgQ09NUElMRV9PUkRJTkFSWSA9PiAyOwoKIyBXZSBj
YW4ndCBhbHdheXMgYXNzb2NpYXRlIGEgbG9jYXRpb24gdG8gYSB2YXJpYWJsZSBvciBhIHJ1bGUs
CiMgd2hlbiBpdCdzIGRlZmluZWQgYnkgQXV0b21ha2UuICBXZSB1c2UgSU5URVJOQUwgaW4gdGhp
cyBjYXNlLgp1c2UgY29uc3RhbnQgSU5URVJOQUwgPT4gbmV3IEF1dG9tYWtlOjpMb2NhdGlvbjsK
CiMgU2VyaWFsaXphdGlvbiBrZXlzIGZvciBtZXNzYWdlIHF1ZXVlcy4KdXNlIGNvbnN0YW50IFFV
RVVFX01FU1NBR0UgICA9PiAibXNnIjsKdXNlIGNvbnN0YW50IFFVRVVFX0NPTkZfRklMRSA9PiAi
Y29uZiBmaWxlIjsKdXNlIGNvbnN0YW50IFFVRVVFX0xPQ0FUSU9OICA9PiAibG9jYXRpb24iOwp1
c2UgY29uc3RhbnQgUVVFVUVfU1RSSU5HICAgID0+ICJzdHJpbmciOwoKIyMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBWYXJpYWJsZXMgcmVsYXRlZCB0byB0aGUgb3B0
aW9ucy4gICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKCiMgVFJV
RSBpZiB3ZSBzaG91bGQgYWx3YXlzIGdlbmVyYXRlIE1ha2VmaWxlLmluLgpteSAkZm9yY2VfZ2Vu
ZXJhdGlvbiA9IDE7CgojIEZyb20gdGhlIFBlcmwgbWFudWFsLgpteSAkc3ltbGlua19leGlzdHMg
PSAoZXZhbCAnc3ltbGluayAoIiIsICIiKTsnLCAkQCBlcSAnJyk7CgojIFRSVUUgaWYgbWlzc2lu
ZyBzdGFuZGFyZCBmaWxlcyBzaG91bGQgYmUgaW5zdGFsbGVkLgpteSAkYWRkX21pc3NpbmcgPSAw
OwoKIyBUUlVFIGlmIHdlIHNob3VsZCBjb3B5IG1pc3NpbmcgZmlsZXM7IG90aGVyd2lzZSBzeW1s
aW5rIGlmIHBvc3NpYmxlLgpteSAkY29weV9taXNzaW5nID0gMDsKCiMgVFJVRSBpZiB3ZSBzaG91
bGQgYWx3YXlzIHVwZGF0ZSBmaWxlcyB0aGF0IHdlIGtub3cgYWJvdXQuCm15ICRmb3JjZV9taXNz
aW5nID0gMDsKCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMj
CiMjIFZhcmlhYmxlcyBmaWxsZWQgZHVyaW5nIGZpbGVzIHNjYW5uaW5nLiAgIyMKIyMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoKIyBOYW1lIG9mIHRoZSBjb25m
aWd1cmUuYWMgZmlsZS4KbXkgJGNvbmZpZ3VyZV9hYzsKCiMgRmlsZXMgZm91bmQgYnkgc2Nhbm5p
bmcgY29uZmlndXJlLmFjIGZvciBMSUJPQkpTLgpteSAlbGlic291cmNlcyA9ICgpOwoKIyBOYW1l
cyB1c2VkIGluIEFDX0NPTkZJR19IRUFERVJTIGNhbGwuCm15IEBjb25maWdfaGVhZGVycyA9ICgp
OwoKIyBOYW1lcyB1c2VkIGluIEFDX0NPTkZJR19MSU5LUyBjYWxsLgpteSBAY29uZmlnX2xpbmtz
ID0gKCk7CgojIExpc3Qgb2YgTWFrZWZpbGUuYW0ncyB0byBwcm9jZXNzLCBhbmQgdGhlaXIgY29y
cmVzcG9uZGluZyBvdXRwdXRzLgpteSBAaW5wdXRfZmlsZXMgPSAoKTsKbXkgJW91dHB1dF9maWxl
cyA9ICgpOwoKIyBDb21wbGV0ZSBsaXN0IG9mIE1ha2VmaWxlLmFtJ3MgdGhhdCBleGlzdC4KbXkg
QGNvbmZpZ3VyZV9pbnB1dF9maWxlcyA9ICgpOwoKIyBMaXN0IG9mIGZpbGVzIGluIEFDX0NPTkZJ
R19GSUxFUy9BQ19PVVRQVVQgd2l0aG91dCBNYWtlZmlsZS5hbSdzLAojIGFuZCB0aGVpciBvdXRw
dXRzLgpteSBAb3RoZXJfaW5wdXRfZmlsZXMgPSAoKTsKIyBXaGVyZSBlYWNoIEFDX0NPTkZJR19G
SUxFUy9BQ19PVVRQVVQvQUNfQ09ORklHX0xJTksvQUNfQ09ORklHX0hFQURFUlMKIyBhcHBlYXJz
LiAgVGhlIGtleXMgYXJlIHRoZSBmaWxlcyBjcmVhdGVkIGJ5IHRoZXNlIG1hY3Jvcy4KbXkgJWFj
X2NvbmZpZ19maWxlc19sb2NhdGlvbiA9ICgpOwojIFRoZSBjb25kaXRpb24gdW5kZXIgd2hpY2gg
QUNfQ09ORklHX0ZPT1MgYXBwZWFycy4KbXkgJWFjX2NvbmZpZ19maWxlc19jb25kaXRpb24gPSAo
KTsKCiMgRGlyZWN0b3J5IHRvIHNlYXJjaCBmb3IgY29uZmlndXJlLXJlcXVpcmVkIGZpbGVzLiAg
VGhpcwojIHdpbGwgYmUgY29tcHV0ZWQgYnkgbG9jYXRlX2F1eF9kaXIoKSBhbmQgY2FuIGJlIHNl
dCB1c2luZwojIEFDX0NPTkZJR19BVVhfRElSIGluIGNvbmZpZ3VyZS5hYy4KIyAkQ09ORklHX0FV
WF9ESVIgaXMgdGhlICdyYXcnIGRpcmVjdG9yeSwgdmFsaWQgb25seSBpbiB0aGUgc291cmNlLXRy
ZWUuCm15ICRjb25maWdfYXV4X2RpciA9ICcnOwpteSAkY29uZmlnX2F1eF9kaXJfc2V0X2luX2Nv
bmZpZ3VyZV9hYyA9IDA7CiMgJEFNX0NPTkZJR19BVVhfRElSIGlzIHByZWZpeGVkIHdpdGggJCh0
b3Bfc3JjZGlyKSwgc28gaXQgY2FuIGJlIHVzZWQKIyBpbiBNYWtlZmlsZXMuCm15ICRhbV9jb25m
aWdfYXV4X2RpciA9ICcnOwoKIyBEaXJlY3RvcnkgdG8gc2VhcmNoIGZvciBBQ19MSUJTT1VSQ0Ug
ZmlsZXMsIGFzIHNldCBieSBBQ19DT05GSUdfTElCT0JKX0RJUgojIGluIGNvbmZpZ3VyZS5hYy4K
bXkgJGNvbmZpZ19saWJvYmpfZGlyID0gJyc7CgojIFdoZXRoZXIgQU1fR05VX0dFVFRFWFQgaGFz
IGJlZW4gc2VlbiBpbiBjb25maWd1cmUuYWMuCm15ICRzZWVuX2dldHRleHQgPSAwOwojIFdoZXRo
ZXIgQU1fR05VX0dFVFRFWFQoW2V4dGVybmFsXSkgaXMgdXNlZC4KbXkgJHNlZW5fZ2V0dGV4dF9l
eHRlcm5hbCA9IDA7CiMgV2hlcmUgQU1fR05VX0dFVFRFWFQgYXBwZWFycy4KbXkgJGFjX2dldHRl
eHRfbG9jYXRpb247CiMgV2hldGhlciBBTV9HTlVfR0VUVEVYVF9JTlRMX1NVQkRJUiBoYXMgYmVl
biBzZWVuLgpteSAkc2Vlbl9nZXR0ZXh0X2ludGwgPSAwOwoKIyBUaGUgYXJndW1lbnRzIG9mIHRo
ZSBBTV9FWFRSQV9SRUNVUlNJVkVfVEFSR0VUUyBjYWxsIChpZiBhbnkpLgpteSBAZXh0cmFfcmVj
dXJzaXZlX3RhcmdldHMgPSAoKTsKCiMgTGlzdHMgb2YgdGFncyBzdXBwb3J0ZWQgYnkgTGlidG9v
bC4KbXkgJWxpYnRvb2xfdGFncyA9ICgpOwojIDEgaWYgTGlidG9vbCB1c2VzIExUX1NVUFBPUlRF
RF9UQUcuICBJZiBpdCBkb2VzLCB0aGVuIGl0IGFsc28KIyB1c2VzIEFDX1JFUVVJUkVfQVVYX0ZJ
TEUuCm15ICRsaWJ0b29sX25ld19hcGkgPSAwOwoKIyBNb3N0IGltcG9ydGFudCBBQ19DQU5PTklD
QUxfKiBtYWNybyBzZWVuIHNvIGZhci4KbXkgJHNlZW5fY2Fub25pY2FsID0gMDsKCiMgV2hlcmUg
QU1fTUFJTlRBSU5FUl9NT0RFIGFwcGVhcnMuCm15ICRzZWVuX21haW50X21vZGU7CgojIEFjdHVh
bCB2ZXJzaW9uIHdlJ3ZlIHNlZW4uCm15ICRwYWNrYWdlX3ZlcnNpb24gPSAnJzsKCiMgV2hlcmUg
dmVyc2lvbiBpcyBkZWZpbmVkLgpteSAkcGFja2FnZV92ZXJzaW9uX2xvY2F0aW9uOwoKIyBUUlVF
IGlmIHdlJ3ZlIHNlZW4gQU1fUFJPR19BUgpteSAkc2Vlbl9hciA9IDA7CgojIExvY2F0aW9uIG9m
IEFDX1JFUVVJUkVfQVVYX0ZJTEUgY2FsbHMsIGluZGV4ZWQgYnkgdGhlaXIgYXJndW1lbnQuCm15
ICVyZXF1aXJlZF9hdXhfZmlsZSA9ICgpOwoKIyBXaGVyZSBBTV9JTklUX0FVVE9NQUtFIGlzIGNh
bGxlZC4KbXkgJHNlZW5faW5pdF9hdXRvbWFrZSA9IDA7CgojIFRSVUUgaWYgd2UndmUgc2VlbiBB
TV9BVVRPTUFLRV9WRVJTSU9OLgpteSAkc2Vlbl9hdXRvbWFrZV92ZXJzaW9uID0gMDsKCiMgSGFz
aCB0YWJsZSBvZiBkaXNjb3ZlcmVkIGNvbmZpZ3VyZSBzdWJzdGl0dXRpb25zLiAgS2V5cyBhcmUg
bmFtZXMsCiMgdmFsdWVzIGFyZSAnRklMRTpMSU5FJyBzdHJpbmdzIHdoaWNoIGFyZSB1c2VkIGJ5
IGVycm9yIG1lc3NhZ2UKIyBnZW5lcmF0aW9uLgpteSAlY29uZmlndXJlX3ZhcnMgPSAoKTsKCiMg
SWdub3JlZCBjb25maWd1cmUgc3Vic3RpdHV0aW9ucyAoaS5lLiwgdmFyaWFibGVzIG5vdCB0byBi
ZSBvdXRwdXQgaW4KIyBNYWtlZmlsZS5pbikKbXkgJWlnbm9yZWRfY29uZmlndXJlX3ZhcnMgPSAo
KTsKCiMgRmlsZXMgaW5jbHVkZWQgYnkgJGNvbmZpZ3VyZV9hYy4KbXkgQGNvbmZpZ3VyZV9kZXBz
ID0gKCk7CgojIEdyZWF0ZXN0IHRpbWVzdGFtcCBvZiBjb25maWd1cmUncyBkZXBlbmRlbmNpZXMu
Cm15ICRjb25maWd1cmVfZGVwc19ncmVhdGVzdF90aW1lc3RhbXAgPSAwOwoKIyBIYXNoIHRhYmxl
IG9mIEFNX0NPTkRJVElPTkFMIHZhcmlhYmxlcyBzZWVuIGluIGNvbmZpZ3VyZS4KbXkgJWNvbmZp
Z3VyZV9jb25kID0gKCk7CgojIFRoaXMgbWFwcyBleHRlbnNpb25zIG9udG8gbGFuZ3VhZ2UgbmFt
ZXMuCm15ICVleHRlbnNpb25fbWFwID0gKCk7CgojIExpc3Qgb2YgdGhlIERJU1RfQ09NTU9OIGZp
bGVzIHdlIGRpc2NvdmVyZWQgd2hpbGUgcmVhZGluZwojIGNvbmZpZ3VyZS5hYy4KbXkgQGNvbmZp
Z3VyZV9kaXN0X2NvbW1vbiA9ICgpOwoKIyBUaGlzIG1hcHMgbGFuZ3VhZ2VzIG5hbWVzIG9udG8g
b2JqZWN0cy4KbXkgJWxhbmd1YWdlcyA9ICgpOwojIE1hcHMgZWFjaCBsaW5rZXIgdmFyaWFibGUg
b250byBhIGxhbmd1YWdlIG9iamVjdC4KbXkgJWxpbmtfbGFuZ3VhZ2VzID0gKCk7CgojIG1hcHMg
ZXh0ZW5zaW9ucyB0byBuZWVkZWQgc291cmNlIGZsYWdzLgpteSAlc291cmNlZmxhZ3MgPSAoKTsK
CiMgTGlzdCBvZiB0YXJnZXRzIHdlIG11c3QgYWx3YXlzIG91dHB1dC4KIyBGSVhNRTogQ29tcGxl
dGUsIGFuZCByZW1vdmUgZmFsc2VseSByZXF1aXJlZCB0YXJnZXRzLgpteSAlcmVxdWlyZWRfdGFy
Z2V0cyA9CiAgKAogICAnYWxsJyAgICAgICAgICA9PiAxLAogICAnZHZpJwkgID0+IDEsCiAgICdw
ZGYnCSAgPT4gMSwKICAgJ3BzJwkJICA9PiAxLAogICAnaW5mbycJICA9PiAxLAogICAnaW5zdGFs
bC1pbmZvJyA9PiAxLAogICAnaW5zdGFsbCcgICAgICA9PiAxLAogICAnaW5zdGFsbC1kYXRhJyA9
PiAxLAogICAnaW5zdGFsbC1leGVjJyA9PiAxLAogICAndW5pbnN0YWxsJyAgICA9PiAxLAoKICAg
IyBGSVhNRTogTm90IHJlcXVpcmVkLCB0ZW1wb3JhcnkgaGFja3MuCiAgICMgV2VsbCwgYWN0dWFs
bHkgdGhleSBhcmUgc29ydCBvZiByZXF1aXJlZDogdGhlIC1yZWN1cnNpdmUKICAgIyB0YXJnZXRz
IHdpbGwgcnVuIHRoZW0gYW55d2F5Li4uCiAgICdodG1sLWFtJyAgICAgICAgID0+IDEsCiAgICdk
dmktYW0nICAgICAgICAgID0+IDEsCiAgICdwZGYtYW0nICAgICAgICAgID0+IDEsCiAgICdwcy1h
bScgICAgICAgICAgID0+IDEsCiAgICdpbmZvLWFtJyAgICAgICAgID0+IDEsCiAgICdpbnN0YWxs
LWRhdGEtYW0nID0+IDEsCiAgICdpbnN0YWxsLWV4ZWMtYW0nID0+IDEsCiAgICdpbnN0YWxsLWh0
bWwtYW0nID0+IDEsCiAgICdpbnN0YWxsLWR2aS1hbScgID0+IDEsCiAgICdpbnN0YWxsLXBkZi1h
bScgID0+IDEsCiAgICdpbnN0YWxsLXBzLWFtJyAgID0+IDEsCiAgICdpbnN0YWxsLWluZm8tYW0n
ID0+IDEsCiAgICdpbnN0YWxsY2hlY2stYW0nID0+IDEsCiAgICd1bmluc3RhbGwtYW0nICAgID0+
IDEsCiAgICd0YWdzLWFtJyAgICAgICAgID0+IDEsCiAgICdjdGFncy1hbScgICAgICAgID0+IDEs
CiAgICdjc2NvcGVsaXN0LWFtJyAgID0+IDEsCiAgICdpbnN0YWxsLW1hbicgICAgID0+IDEsCiAg
KTsKCiMgUXVldWUgdG8gcHVzaCByZXF1aXJlX2NvbmZfZmlsZSByZXF1aXJlbWVudHMgdG8uCm15
ICRyZXF1aXJlZF9jb25mX2ZpbGVfcXVldWU7CgojIFRoZSBuYW1lIG9mIHRoZSBNYWtlZmlsZSBj
dXJyZW50bHkgYmVpbmcgcHJvY2Vzc2VkLgpteSAkYW1fZmlsZSA9ICdCVUcnOwoKIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoK
IyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIFZhcmlh
YmxlcyByZXNldCBieSAmaW5pdGlhbGl6ZV9wZXJfaW5wdXQuICAjIwojIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKCiMgUmVsYXRpdmUgZGlyIG9mIHRoZSBv
dXRwdXQgbWFrZWZpbGUuCm15ICRyZWxhdGl2ZV9kaXI7CgojIEdyZWF0ZXN0IHRpbWVzdGFtcCBv
ZiB0aGUgb3V0cHV0J3MgZGVwZW5kZW5jaWVzIChleGNsdWRpbmcKIyBjb25maWd1cmUncyBkZXBl
bmRlbmNpZXMpLgpteSAkb3V0cHV0X2RlcHNfZ3JlYXRlc3RfdGltZXN0YW1wOwoKIyBUaGVzZSB2
YXJpYWJsZXMgYXJlIHVzZWQgd2hlbiBnZW5lcmF0aW5nIGVhY2ggTWFrZWZpbGUuaW4uCiMgVGhl
eSBob2xkIHRoZSBNYWtlZmlsZS5pbiB1bnRpbCBpdCBpcyByZWFkeSB0byBiZSBwcmludGVkLgpt
eSAkb3V0cHV0X3ZhcnM7Cm15ICRvdXRwdXRfYWxsOwpteSAkb3V0cHV0X2hlYWRlcjsKbXkgJG91
dHB1dF9ydWxlczsKbXkgJG91dHB1dF90cmFpbGVyOwoKIyBUaGlzIGlzIHRoZSBjb25kaXRpb25h
bCBzdGFjaywgdXBkYXRlZCBvbiBpZi9lbHNlL2VuZGlmLCBhbmQKIyB1c2VkIHRvIGJ1aWxkIENv
bmRpdGlvbiBvYmplY3RzLgpteSBAY29uZF9zdGFjazsKCiMgVGhpcyBob2xkcyB0aGUgc2V0IG9m
IGluY2x1ZGVkIGZpbGVzLgpteSBAaW5jbHVkZV9zdGFjazsKCiMgTGlzdCBvZiBkZXBlbmRlbmNp
ZXMgZm9yIHRoZSBvYnZpb3VzIHRhcmdldHMuCm15IEBhbGw7Cm15IEBjaGVjazsKbXkgQGNoZWNr
X3Rlc3RzOwoKIyBLZXlzIGluIHRoaXMgaGFzaCB0YWJsZSBhcmUgZmlsZXMgdG8gZGVsZXRlLiAg
VGhlIGFzc29jaWF0ZWQKIyB2YWx1ZSB0ZWxscyB3aGVuIHRoaXMgc2hvdWxkIGhhcHBlbiAoTU9T
VExZX0NMRUFOLCBESVNUX0NMRUFOLCBldGMuKQpteSAlY2xlYW5fZmlsZXM7CgojIEtleXMgaW4g
dGhpcyBoYXNoIHRhYmxlIGFyZSBvYmplY3QgZmlsZXMgb3Igb3RoZXIgZmlsZXMgaW4KIyBzdWJk
aXJlY3RvcmllcyB3aGljaCBuZWVkIHRvIGJlIHJlbW92ZWQuICBUaGlzIG9ubHkgaG9sZHMgZmls
ZXMKIyB3aGljaCBhcmUgY3JlYXRlZCBieSBjb21waWxhdGlvbnMuICBUaGUgdmFsdWUgaW4gdGhl
IGhhc2ggaW5kaWNhdGVzCiMgd2hlbiB0aGUgZmlsZSBzaG91bGQgYmUgcmVtb3ZlZC4KbXkgJWNv
bXBpbGVfY2xlYW5fZmlsZXM7CgojIEtleXMgaW4gdGhpcyBoYXNoIHRhYmxlIGFyZSBkaXJlY3Rv
cmllcyB3aGVyZSB3ZSBleHBlY3QgdG8gYnVpbGQgYQojIGxpYnRvb2wgb2JqZWN0LiAgV2UgdXNl
IHRoaXMgaW5mb3JtYXRpb24gdG8gZGVjaWRlIHdoYXQgZGlyZWN0b3JpZXMKIyB0byBkZWxldGUu
Cm15ICVsaWJ0b29sX2NsZWFuX2RpcmVjdG9yaWVzOwoKIyBWYWx1ZSBvZiAkKFNPVVJDRVMpLCB1
c2VkIGJ5IHRhZ3MuYW0uCm15IEBzb3VyY2VzOwojIFNvdXJjZXMgd2hpY2ggZ28gaW4gdGhlIGRp
c3RyaWJ1dGlvbi4KbXkgQGRpc3Rfc291cmNlczsKCiMgVGhpcyBoYXNoIG1hcHMgb2JqZWN0IGZp
bGUgbmFtZXMgb250byB0aGVpciBjb3JyZXNwb25kaW5nIHNvdXJjZQojIGZpbGUgbmFtZXMuICBU
aGlzIGlzIHVzZWQgdG8gZW5zdXJlIHRoYXQgZWFjaCBvYmplY3QgaXMgY3JlYXRlZAojIGJ5IGEg
c2luZ2xlIHNvdXJjZSBmaWxlLgpteSAlb2JqZWN0X21hcDsKCiMgVGhpcyBoYXNoIG1hcHMgb2Jq
ZWN0IGZpbGUgbmFtZXMgb250byBhbiBpbnRlZ2VyIHZhbHVlIHJlcHJlc2VudGluZwojIHdoZXRo
ZXIgdGhpcyBvYmplY3QgaGFzIGJlZW4gYnVpbHQgdmlhIG9yZGluYXJ5IGNvbXBpbGF0aW9uIG9y
CiMgbGlidG9vbCBjb21waWxhdGlvbiAodGhlIENPTVBJTEVfKiBjb25zdGFudHMpLgpteSAlb2Jq
ZWN0X2NvbXBpbGF0aW9uX21hcDsKCgojIFRoaXMga2VlcHMgdHJhY2sgb2YgdGhlIGRpcmVjdG9y
aWVzIGZvciB3aGljaCB3ZSd2ZSBhbHJlYWR5CiMgY3JlYXRlZCBkaXJzdGFtcCBjb2RlLiAgS2V5
cyBhcmUgZGlyZWN0b3JpZXMsIHZhbHVlcyBhcmUgc3RhbXAgZmlsZXMuCiMgU2V2ZXJhbCBrZXlz
IGNhbiBzaGFyZSB0aGUgc2FtZSBzdGFtcCBmaWxlcyBpZiB0aGV5IGFyZSBlcXVpdmFsZW50CiMg
KGFzIGFyZSAnLi8vZm9vJyBhbmQgJ2ZvbycpLgpteSAlZGlyZWN0b3J5X21hcDsKCiMgQWxsIC5Q
IGZpbGVzLgpteSAlZGVwX2ZpbGVzOwoKIyBUaGlzIGlzIGEgbGlzdCBvZiBhbGwgdGFyZ2V0cyB0
byBydW4gZHVyaW5nICJtYWtlIGRpc3QiLgpteSBAZGlzdF90YXJnZXRzOwoKIyBMaXN0IG9mIGFs
bCBwcm9ncmFtcywgbGlicmFyaWVzIGFuZCBsdGxpYnJhcmllcyBhcyByZXR1cm5lZAojIGJ5IGFt
X2luc3RhbGxfdmFyCm15IEBwcm9nbGlzdDsKbXkgQGxpYmxpc3Q7Cm15IEBsdGxpYmxpc3Q7CiMg
QmxhY2tsaXN0IG9mIHRhcmdldHMgKGFzIGNhbm9uaWNhbCBiYXNlIG5hbWUpIGZvciB3aGljaCBv
YmplY3QgZmlsZSBuYW1lcwojIG1heSBub3QgYmUgYXV0b21hdGljYWxseSBzaG9ydGVuZWQKbXkg
QGR1cF9zaG9ydG5hbWVzOwoKIyBLZWVwIHRyYWNrIG9mIGFsbCBwcm9ncmFtcyBkZWNsYXJlZCBp
biB0aGlzIE1ha2VmaWxlLCB3aXRob3V0CiMgJChFWEVFWFQpLiAgQHN1YnN0aXR1dGlvbnNAIGFy
ZSBub3QgbGlzdGVkLgpteSAla25vd25fcHJvZ3JhbXM7Cm15ICVrbm93bl9saWJyYXJpZXM7Cgoj
IFRoaXMga2VlcHMgdHJhY2sgb2Ygd2hpY2ggZXh0ZW5zaW9ucyB3ZSd2ZSBzZWVuICh0aGF0IHdl
IGNhcmUKIyBhYm91dCkuCm15ICVleHRlbnNpb25fc2VlbjsKCiMgVGhpcyBpcyByYW5kb20gc2Ny
YXRjaCBzcGFjZSBmb3IgdGhlIGxhbmd1YWdlIGZpbmlzaCBmdW5jdGlvbnMuCiMgRG9uJ3QgcmFu
ZG9tbHkgb3ZlcndyaXRlIGl0OyBleGFtaW5lIG90aGVyIHVzZXMgb2Yga2V5cyBmaXJzdC4KbXkg
JWxhbmd1YWdlX3NjcmF0Y2g7CgojIFdlIGtlZXAgdHJhY2sgb2Ygd2hpY2ggb2JqZWN0cyBuZWVk
IHNwZWNpYWwgKHBlci1leGVjdXRhYmxlKQojIGhhbmRsaW5nIG9uIGEgcGVyLWxhbmd1YWdlIGJh
c2lzLgpteSAlbGFuZ19zcGVjaWZpY19maWxlczsKCiMgTGlzdCBvZiBkaXN0cmlidXRlZCBmaWxl
cyB0byBiZSBwdXQgaW4gRElTVF9DT01NT04uCm15IEBkaXN0X2NvbW1vbjsKCiMgVGhpcyBpcyBz
ZXQgd2hlbiAnaGFuZGxlX2Rpc3QnIGhhcyBmaW5pc2hlZC4gIE9uY2UgdGhpcyBoYXBwZW5zLAoj
IHdlIHNob3VsZCBubyBsb25nZXIgcHVzaCBvbiBkaXN0X2NvbW1vbi4KbXkgJGhhbmRsZV9kaXN0
X3J1bjsKCiMgVXNlZCB0byBzdG9yZSBhIHNldCBvZiBsaW5rZXJzIG5lZWRlZCB0byBnZW5lcmF0
ZSB0aGUgc291cmNlcyBjdXJyZW50bHkKIyB1bmRlciBjb25zaWRlcmF0aW9uLgpteSAlbGlua2Vy
c191c2VkOwoKIyBUcnVlIGlmIHdlIG5lZWQgJ0xJTksnIGRlZmluZWQuICBUaGlzIGlzIGEgaGFj
ay4KbXkgJG5lZWRfbGluazsKCiMgRG9lcyB0aGUgZ2VuZXJhdGVkIE1ha2VmaWxlIGhhdmUgdG8g
YnVpbGQgc29tZSBjb21waWxlZCBvYmplY3QKIyAoZm9yIGJpbmFyeSBwcm9ncmFtcywgb3IgcGxh
aW4gb3IgbGlidG9vbCBsaWJyYXJpZXMpPwpteSAkbXVzdF9oYW5kbGVfY29tcGlsZWRfb2JqZWN0
czsKCiMgUmVjb3JkIGVhY2ggZmlsZSBwcm9jZXNzZWQgYnkgbWFrZV9wYXJhZ3JhcGhzLgpteSAl
dHJhbnNmb3JtZWRfZmlsZXM7CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIFZhcmlhYmxlcyBub3QgcmVzZXQgYnkgJmluaXRp
YWxpemVfcGVyX2lucHV0LiAgIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSAjIwoKIyBDYWNoZSBlYWNoIGZpbGUgcHJvY2Vzc2VkIGJ5IG1ha2VfcGFy
YWdyYXBocy4KIyAoVGhpcyBpcyBkaWZmZXJlbnQgZnJvbSAldHJhbnNmb3JtZWRfZmlsZXMgYmVj
YXVzZQojICV0cmFuc2Zvcm1lZF9maWxlcyBpcyByZXNldCBmb3IgZWFjaCBmaWxlIHdoaWxlICVh
bV9maWxlX2NhY2hlCiMgaXQgZ2xvYmFsIHRvIHRoZSBydW4uKQpteSAlYW1fZmlsZV9jYWNoZTsK
CiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMKCiMgdmFyX1NVRkZJWEVTX3RyaWdnZXIgKCRUWVBFLCAkVkFMVUUpCiMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBpcyBjYWxsZWQgYnkgQXV0b21h
a2U6OlZhcmlhYmxlOjpkZWZpbmUoKSB3aGVuIFNVRkZJWEVTCiMgaXMgZGVmaW5lZCAoJFRZUEUg
ZXEgJycpIG9yIGFwcGVuZGVkICgkVFlQRSBlcSAnKycpLgojIFRoZSB3b3JrIGhlcmUgbmVlZHMg
dG8gYmUgcGVyZm9ybWVkIGFzIGEgc2lkZS1lZmZlY3Qgb2YgdGhlCiMgbWFjcm9fZGVmaW5lKCkg
Y2FsbCBiZWNhdXNlIFNVRkZJWEVTIGRlZmluaXRpb25zIGltcGFjdAojIG9uICRLTk9XTl9FWFRF
TlNJT05TX1BBVFRFUk4gd2hpY2ggaXMgdXNlZCB1c2VkIHdoZW4gcGFyc2luZwojIHRoZSBpbnB1
dCBhbSBmaWxlLgpzdWIgdmFyX1NVRkZJWEVTX3RyaWdnZXIKewogICAgbXkgKCR0eXBlLCAkdmFs
dWUpID0gQF87CiAgICBhY2NlcHRfZXh0ZW5zaW9ucyAoc3BsaXQgKCcgJywgJHZhbHVlKSk7Cn0K
QXV0b21ha2U6OlZhcmlhYmxlOjpob29rICgnU1VGRklYRVMnLCBcJnZhcl9TVUZGSVhFU190cmln
Z2VyKTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMKCgojIGluaXRpYWxpemVfcGVyX2lucHV0ICgpCiMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KIyAoUmUpLUluaXRpYWxpemUgcGVyLU1ha2VmaWxlLmFtIHZhcmlhYmxlcy4K
c3ViIGluaXRpYWxpemVfcGVyX2lucHV0ICgpCnsKICAgIHJlc2V0X2xvY2FsX2R1cGxpY2F0ZXMg
KCk7CgogICAgJHJlbGF0aXZlX2RpciA9IHVuZGVmOwoKICAgICRvdXRwdXRfZGVwc19ncmVhdGVz
dF90aW1lc3RhbXAgPSAwOwoKICAgICRvdXRwdXRfdmFycyA9ICcnOwogICAgJG91dHB1dF9hbGwg
PSAnJzsKICAgICRvdXRwdXRfaGVhZGVyID0gJyc7CiAgICAkb3V0cHV0X3J1bGVzID0gJyc7CiAg
ICAkb3V0cHV0X3RyYWlsZXIgPSAnJzsKCiAgICBBdXRvbWFrZTo6T3B0aW9uczo6cmVzZXQ7CiAg
ICBBdXRvbWFrZTo6VmFyaWFibGU6OnJlc2V0OwogICAgQXV0b21ha2U6OlJ1bGU6OnJlc2V0OwoK
ICAgIEBjb25kX3N0YWNrID0gKCk7CgogICAgQGluY2x1ZGVfc3RhY2sgPSAoKTsKCiAgICBAYWxs
ID0gKCk7CiAgICBAY2hlY2sgPSAoKTsKICAgIEBjaGVja190ZXN0cyA9ICgpOwoKICAgICVjbGVh
bl9maWxlcyA9ICgpOwogICAgJWNvbXBpbGVfY2xlYW5fZmlsZXMgPSAoKTsKCiAgICAjIFdlIGFs
d2F5cyBpbmNsdWRlICcuJy4gIFRoaXMgaXNuJ3Qgc3RyaWN0bHkgY29ycmVjdC4KICAgICVsaWJ0
b29sX2NsZWFuX2RpcmVjdG9yaWVzID0gKCcuJyA9PiAxKTsKCiAgICBAc291cmNlcyA9ICgpOwog
ICAgQGRpc3Rfc291cmNlcyA9ICgpOwoKICAgICVvYmplY3RfbWFwID0gKCk7CiAgICAlb2JqZWN0
X2NvbXBpbGF0aW9uX21hcCA9ICgpOwoKICAgICVkaXJlY3RvcnlfbWFwID0gKCk7CgogICAgJWRl
cF9maWxlcyA9ICgpOwoKICAgIEBkaXN0X3RhcmdldHMgPSAoKTsKCiAgICBAZGlzdF9jb21tb24g
PSAoKTsKICAgICRoYW5kbGVfZGlzdF9ydW4gPSAwOwoKICAgIEBwcm9nbGlzdCA9ICgpOwogICAg
QGxpYmxpc3QgPSAoKTsKICAgIEBsdGxpYmxpc3QgPSAoKTsKICAgIEBkdXBfc2hvcnRuYW1lcyA9
ICgpOwoKICAgICVrbm93bl9wcm9ncmFtcyA9ICgpOwogICAgJWtub3duX2xpYnJhcmllcyA9ICgp
OwoKICAgICVleHRlbnNpb25fc2VlbiA9ICgpOwoKICAgICVsYW5ndWFnZV9zY3JhdGNoID0gKCk7
CgogICAgJWxhbmdfc3BlY2lmaWNfZmlsZXMgPSAoKTsKCiAgICAkbmVlZF9saW5rID0gMDsKCiAg
ICAkbXVzdF9oYW5kbGVfY29tcGlsZWRfb2JqZWN0cyA9IDA7CgogICAgJXRyYW5zZm9ybWVkX2Zp
bGVzID0gKCk7Cn0KCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIEluaXRpYWxpemUgb3VyIGxpc3Qgb2YgbGFuZ3VhZ2Vz
IHRoYXQgYXJlIGludGVybmFsbHkgc3VwcG9ydGVkLgoKbXkgQGNwcGxpa2VfZmxhZ3MgPQogIHF3
ewogICAgJChERUZTKQogICAgJChERUZBVUxUX0lOQ0xVREVTKQogICAgJChJTkNMVURFUykKICAg
ICQoQU1fQ1BQRkxBR1MpCiAgICAkKENQUEZMQUdTKQogIH07CgojIEMuCnJlZ2lzdGVyX2xhbmd1
YWdlICgnbmFtZScgPT4gJ2MnLAoJCSAgICdOYW1lJyA9PiAnQycsCgkJICAgJ2NvbmZpZ192YXJz
JyA9PiBbJ0NDJ10sCgkJICAgJ2F1dG9kZXAnID0+ICcnLAoJCSAgICdmbGFncycgPT4gWydDRkxB
R1MnLCAnQ1BQRkxBR1MnXSwKCQkgICAnY2NlcicgPT4gJ0NDJywKCQkgICAnY29tcGlsZXInID0+
ICdDT01QSUxFJywKCQkgICAnY29tcGlsZScgPT4gIlwkKENDKSBAY3BwbGlrZV9mbGFncyBcJChB
TV9DRkxBR1MpIFwkKENGTEFHUykiLAoJCSAgICdsZGVyJyA9PiAnQ0NMRCcsCgkJICAgJ2xkJyA9
PiAnJChDQyknLAoJCSAgICdsaW5rZXInID0+ICdMSU5LJywKCQkgICAnbGluaycgPT4gJyQoQ0NM
RCkgJChBTV9DRkxBR1MpICQoQ0ZMQUdTKSAkKEFNX0xERkxBR1MpICQoTERGTEFHUykgLW8gJEAn
LAoJCSAgICdjb21waWxlX2ZsYWcnID0+ICctYycsCgkJICAgJ291dHB1dF9mbGFnJyA9PiAnLW8n
LAoJCSAgICdsaWJ0b29sX3RhZycgPT4gJ0NDJywKCQkgICAnZXh0ZW5zaW9ucycgPT4gWycuYydd
KTsKCiMgQysrLgpyZWdpc3Rlcl9sYW5ndWFnZSAoJ25hbWUnID0+ICdjeHgnLAoJCSAgICdOYW1l
JyA9PiAnQysrJywKCQkgICAnY29uZmlnX3ZhcnMnID0+IFsnQ1hYJ10sCgkJICAgJ2xpbmtlcicg
PT4gJ0NYWExJTksnLAoJCSAgICdsaW5rJyA9PiAnJChDWFhMRCkgJChBTV9DWFhGTEFHUykgJChD
WFhGTEFHUykgJChBTV9MREZMQUdTKSAkKExERkxBR1MpIC1vICRAJywKCQkgICAnYXV0b2RlcCcg
PT4gJ0NYWCcsCgkJICAgJ2ZsYWdzJyA9PiBbJ0NYWEZMQUdTJywgJ0NQUEZMQUdTJ10sCgkJICAg
J2NvbXBpbGUnID0+ICJcJChDWFgpIEBjcHBsaWtlX2ZsYWdzIFwkKEFNX0NYWEZMQUdTKSBcJChD
WFhGTEFHUykiLAoJCSAgICdjY2VyJyA9PiAnQ1hYJywKCQkgICAnY29tcGlsZXInID0+ICdDWFhD
T01QSUxFJywKCQkgICAnY29tcGlsZV9mbGFnJyA9PiAnLWMnLAoJCSAgICdvdXRwdXRfZmxhZycg
PT4gJy1vJywKCQkgICAnbGlidG9vbF90YWcnID0+ICdDWFgnLAoJCSAgICdsZGVyJyA9PiAnQ1hY
TEQnLAoJCSAgICdsZCcgPT4gJyQoQ1hYKScsCgkJICAgJ3B1cmUnID0+IDEsCgkJICAgJ2V4dGVu
c2lvbnMnID0+IFsnLmMrKycsICcuY2MnLCAnLmNwcCcsICcuY3h4JywgJy5DJ10pOwoKIyBPYmpl
Y3RpdmUgQy4KcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1lJyA9PiAnb2JqYycsCgkJICAgJ05hbWUn
ID0+ICdPYmplY3RpdmUgQycsCgkJICAgJ2NvbmZpZ192YXJzJyA9PiBbJ09CSkMnXSwKCQkgICAn
bGlua2VyJyA9PiAnT0JKQ0xJTksnLAoJCSAgICdsaW5rJyA9PiAnJChPQkpDTEQpICQoQU1fT0JK
Q0ZMQUdTKSAkKE9CSkNGTEFHUykgJChBTV9MREZMQUdTKSAkKExERkxBR1MpIC1vICRAJywKCQkg
ICAnYXV0b2RlcCcgPT4gJ09CSkMnLAoJCSAgICdmbGFncycgPT4gWydPQkpDRkxBR1MnLCAnQ1BQ
RkxBR1MnXSwKCQkgICAnY29tcGlsZScgPT4gIlwkKE9CSkMpIEBjcHBsaWtlX2ZsYWdzIFwkKEFN
X09CSkNGTEFHUykgXCQoT0JKQ0ZMQUdTKSIsCgkJICAgJ2NjZXInID0+ICdPQkpDJywKCQkgICAn
Y29tcGlsZXInID0+ICdPQkpDQ09NUElMRScsCgkJICAgJ2NvbXBpbGVfZmxhZycgPT4gJy1jJywK
CQkgICAnb3V0cHV0X2ZsYWcnID0+ICctbycsCgkJICAgJ2xpYnRvb2xfZmxhZycgPT4gJ09CSkMn
LAoJCSAgICdsZGVyJyA9PiAnT0JKQ0xEJywKCQkgICAnbGQnID0+ICckKE9CSkMpJywKCQkgICAn
cHVyZScgPT4gMSwKCQkgICAnZXh0ZW5zaW9ucycgPT4gWycubSddKTsKCiMgT2JqZWN0aXZlIEMr
Ky4KcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1lJyA9PiAnb2JqY3h4JywKCQkgICAnTmFtZScgPT4g
J09iamVjdGl2ZSBDKysnLAoJCSAgICdjb25maWdfdmFycycgPT4gWydPQkpDWFgnXSwKCQkgICAn
bGlua2VyJyA9PiAnT0JKQ1hYTElOSycsCgkJICAgJ2xpbmsnID0+ICckKE9CSkNYWExEKSAkKEFN
X09CSkNYWEZMQUdTKSAkKE9CSkNYWEZMQUdTKSAkKEFNX0xERkxBR1MpICQoTERGTEFHUykgLW8g
JEAnLAoJCSAgICdhdXRvZGVwJyA9PiAnT0JKQ1hYJywKCQkgICAnZmxhZ3MnID0+IFsnT0JKQ1hY
RkxBR1MnLCAnQ1BQRkxBR1MnXSwKCQkgICAnY29tcGlsZScgPT4gIlwkKE9CSkNYWCkgQGNwcGxp
a2VfZmxhZ3MgXCQoQU1fT0JKQ1hYRkxBR1MpIFwkKE9CSkNYWEZMQUdTKSIsCgkJICAgJ2NjZXIn
ID0+ICdPQkpDWFgnLAoJCSAgICdjb21waWxlcicgPT4gJ09CSkNYWENPTVBJTEUnLAoJCSAgICdj
b21waWxlX2ZsYWcnID0+ICctYycsCgkJICAgJ291dHB1dF9mbGFnJyA9PiAnLW8nLAoJCSAgICds
aWJ0b29sX2ZsYWcnID0+ICdPQkpDWFgnLAoJCSAgICdsZGVyJyA9PiAnT0JKQ1hYTEQnLAoJCSAg
ICdsZCcgPT4gJyQoT0JKQ1hYKScsCgkJICAgJ3B1cmUnID0+IDEsCgkJICAgJ2V4dGVuc2lvbnMn
ID0+IFsnLm1tJ10pOwoKIyBVbmlmaWVkIFBhcmFsbGVsIEMuCnJlZ2lzdGVyX2xhbmd1YWdlICgn
bmFtZScgPT4gJ3VwYycsCgkJICAgJ05hbWUnID0+ICdVbmlmaWVkIFBhcmFsbGVsIEMnLAoJCSAg
ICdjb25maWdfdmFycycgPT4gWydVUEMnXSwKCQkgICAnbGlua2VyJyA9PiAnVVBDTElOSycsCgkJ
ICAgJ2xpbmsnID0+ICckKFVQQ0xEKSAkKEFNX1VQQ0ZMQUdTKSAkKFVQQ0ZMQUdTKSAkKEFNX0xE
RkxBR1MpICQoTERGTEFHUykgLW8gJEAnLAoJCSAgICdhdXRvZGVwJyA9PiAnVVBDJywKCQkgICAn
ZmxhZ3MnID0+IFsnVVBDRkxBR1MnLCAnQ1BQRkxBR1MnXSwKCQkgICAnY29tcGlsZScgPT4gIlwk
KFVQQykgQGNwcGxpa2VfZmxhZ3MgXCQoQU1fVVBDRkxBR1MpIFwkKFVQQ0ZMQUdTKSIsCgkJICAg
J2NjZXInID0+ICdVUEMnLAoJCSAgICdjb21waWxlcicgPT4gJ1VQQ0NPTVBJTEUnLAoJCSAgICdj
b21waWxlX2ZsYWcnID0+ICctYycsCgkJICAgJ291dHB1dF9mbGFnJyA9PiAnLW8nLAoJCSAgICds
ZGVyJyA9PiAnVVBDTEQnLAoJCSAgICdsZCcgPT4gJyQoVVBDKScsCgkJICAgJ3B1cmUnID0+IDEs
CgkJICAgJ2V4dGVuc2lvbnMnID0+IFsnLnVwYyddKTsKCiMgSGVhZGVycy4KcmVnaXN0ZXJfbGFu
Z3VhZ2UgKCduYW1lJyA9PiAnaGVhZGVyJywKCQkgICAnTmFtZScgPT4gJ0hlYWRlcicsCgkJICAg
J2V4dGVuc2lvbnMnID0+IFsnLmgnLCAnLkgnLCAnLmh4eCcsICcuaCsrJywgJy5oaCcsCgkJCQkg
ICAgJy5ocHAnLCAnLmluYyddLAoJCSAgICMgTm8gb3V0cHV0LgoJCSAgICdvdXRwdXRfZXh0ZW5z
aW9ucycgPT4gc3ViIHsgcmV0dXJuICgpIH0sCgkJICAgIyBOb3RoaW5nIHRvIGRvLgoJCSAgICdf
ZmluaXNoJyA9PiBzdWIgeyB9KTsKCiMgVmFsYQpyZWdpc3Rlcl9sYW5ndWFnZSAoJ25hbWUnID0+
ICd2YWxhJywKCQkgICAnTmFtZScgPT4gJ1ZhbGEnLAoJCSAgICdjb25maWdfdmFycycgPT4gWydW
QUxBQyddLAoJCSAgICdmbGFncycgPT4gW10sCgkJICAgJ2NvbXBpbGUnID0+ICckKFZBTEFDKSAk
KEFNX1ZBTEFGTEFHUykgJChWQUxBRkxBR1MpJywKCQkgICAnY2NlcicgPT4gJ1ZBTEFDJywKCQkg
ICAnY29tcGlsZXInID0+ICdWQUxBQ09NUElMRScsCgkJICAgJ2V4dGVuc2lvbnMnID0+IFsnLnZh
bGEnXSwKCQkgICAnb3V0cHV0X2V4dGVuc2lvbnMnID0+IHN1YiB7IChteSAkZXh0ID0gJF9bMF0p
ID1+IHMvdmFsYSQvYy87CgkJCQkJCXJldHVybiAoJGV4dCwpIH0sCgkJICAgJ3J1bGVfZmlsZScg
PT4gJ3ZhbGEnLAoJCSAgICdfZmluaXNoJyA9PiBcJmxhbmdfdmFsYV9maW5pc2gsCgkJICAgJ190
YXJnZXRfaG9vaycgPT4gXCZsYW5nX3ZhbGFfdGFyZ2V0X2hvb2ssCgkJICAgJ25vZGlzdF9zcGVj
aWZpYycgPT4gMSk7CgojIFlhY2MgKEMgJiBDKyspLgpyZWdpc3Rlcl9sYW5ndWFnZSAoJ25hbWUn
ID0+ICd5YWNjJywKCQkgICAnTmFtZScgPT4gJ1lhY2MnLAoJCSAgICdjb25maWdfdmFycycgPT4g
WydZQUNDJ10sCgkJICAgJ2ZsYWdzJyA9PiBbJ1lGTEFHUyddLAoJCSAgICdjb21waWxlJyA9PiAn
JChZQUNDKSAkKEFNX1lGTEFHUykgJChZRkxBR1MpJywKCQkgICAnY2NlcicgPT4gJ1lBQ0MnLAoJ
CSAgICdjb21waWxlcicgPT4gJ1lBQ0NDT01QSUxFJywKCQkgICAnZXh0ZW5zaW9ucycgPT4gWycu
eSddLAoJCSAgICdvdXRwdXRfZXh0ZW5zaW9ucycgPT4gc3ViIHsgKG15ICRleHQgPSAkX1swXSkg
PX4gdHIveS9jLzsKCQkJCQkJcmV0dXJuICgkZXh0LCkgfSwKCQkgICAncnVsZV9maWxlJyA9PiAn
eWFjYycsCgkJICAgJ19maW5pc2gnID0+IFwmbGFuZ195YWNjX2ZpbmlzaCwKCQkgICAnX3Rhcmdl
dF9ob29rJyA9PiBcJmxhbmdfeWFjY190YXJnZXRfaG9vaywKCQkgICAnbm9kaXN0X3NwZWNpZmlj
JyA9PiAxKTsKcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1lJyA9PiAneWFjY3h4JywKCQkgICAnTmFt
ZScgPT4gJ1lhY2MgKEMrKyknLAoJCSAgICdjb25maWdfdmFycycgPT4gWydZQUNDJ10sCgkJICAg
J3J1bGVfZmlsZScgPT4gJ3lhY2MnLAoJCSAgICdmbGFncycgPT4gWydZRkxBR1MnXSwKCQkgICAn
Y2NlcicgPT4gJ1lBQ0MnLAoJCSAgICdjb21waWxlcicgPT4gJ1lBQ0NDT01QSUxFJywKCQkgICAn
Y29tcGlsZScgPT4gJyQoWUFDQykgJChBTV9ZRkxBR1MpICQoWUZMQUdTKScsCgkJICAgJ2V4dGVu
c2lvbnMnID0+IFsnLnkrKycsICcueXknLCAnLnl4eCcsICcueXBwJ10sCgkJICAgJ291dHB1dF9l
eHRlbnNpb25zJyA9PiBzdWIgeyAobXkgJGV4dCA9ICRfWzBdKSA9fiB0ci95L2MvOwoJCQkJCQly
ZXR1cm4gKCRleHQsKSB9LAoJCSAgICdfZmluaXNoJyA9PiBcJmxhbmdfeWFjY19maW5pc2gsCgkJ
ICAgJ190YXJnZXRfaG9vaycgPT4gXCZsYW5nX3lhY2NfdGFyZ2V0X2hvb2ssCgkJICAgJ25vZGlz
dF9zcGVjaWZpYycgPT4gMSk7CgojIExleCAoQyAmIEMrKykuCnJlZ2lzdGVyX2xhbmd1YWdlICgn
bmFtZScgPT4gJ2xleCcsCgkJICAgJ05hbWUnID0+ICdMZXgnLAoJCSAgICdjb25maWdfdmFycycg
PT4gWydMRVgnXSwKCQkgICAncnVsZV9maWxlJyA9PiAnbGV4JywKCQkgICAnZmxhZ3MnID0+IFsn
TEZMQUdTJ10sCgkJICAgJ2NvbXBpbGUnID0+ICckKExFWCkgJChBTV9MRkxBR1MpICQoTEZMQUdT
KScsCgkJICAgJ2NjZXInID0+ICdMRVgnLAoJCSAgICdjb21waWxlcicgPT4gJ0xFWENPTVBJTEUn
LAoJCSAgICdleHRlbnNpb25zJyA9PiBbJy5sJ10sCgkJICAgJ291dHB1dF9leHRlbnNpb25zJyA9
PiBzdWIgeyAobXkgJGV4dCA9ICRfWzBdKSA9fiB0ci9sL2MvOwoJCQkJCQlyZXR1cm4gKCRleHQs
KSB9LAoJCSAgICdfZmluaXNoJyA9PiBcJmxhbmdfbGV4X2ZpbmlzaCwKCQkgICAnX3RhcmdldF9o
b29rJyA9PiBcJmxhbmdfbGV4X3RhcmdldF9ob29rLAoJCSAgICdub2Rpc3Rfc3BlY2lmaWMnID0+
IDEpOwpyZWdpc3Rlcl9sYW5ndWFnZSAoJ25hbWUnID0+ICdsZXh4eCcsCgkJICAgJ05hbWUnID0+
ICdMZXggKEMrKyknLAoJCSAgICdjb25maWdfdmFycycgPT4gWydMRVgnXSwKCQkgICAncnVsZV9m
aWxlJyA9PiAnbGV4JywKCQkgICAnZmxhZ3MnID0+IFsnTEZMQUdTJ10sCgkJICAgJ2NvbXBpbGUn
ID0+ICckKExFWCkgJChBTV9MRkxBR1MpICQoTEZMQUdTKScsCgkJICAgJ2NjZXInID0+ICdMRVgn
LAoJCSAgICdjb21waWxlcicgPT4gJ0xFWENPTVBJTEUnLAoJCSAgICdleHRlbnNpb25zJyA9PiBb
Jy5sKysnLCAnLmxsJywgJy5seHgnLCAnLmxwcCddLAoJCSAgICdvdXRwdXRfZXh0ZW5zaW9ucycg
PT4gc3ViIHsgKG15ICRleHQgPSAkX1swXSkgPX4gdHIvbC9jLzsKCQkJCQkJcmV0dXJuICgkZXh0
LCkgfSwKCQkgICAnX2ZpbmlzaCcgPT4gXCZsYW5nX2xleF9maW5pc2gsCgkJICAgJ190YXJnZXRf
aG9vaycgPT4gXCZsYW5nX2xleF90YXJnZXRfaG9vaywKCQkgICAnbm9kaXN0X3NwZWNpZmljJyA9
PiAxKTsKCiMgQXNzZW1ibGVyLgpyZWdpc3Rlcl9sYW5ndWFnZSAoJ25hbWUnID0+ICdhc20nLAoJ
CSAgICdOYW1lJyA9PiAnQXNzZW1ibGVyJywKCQkgICAnY29uZmlnX3ZhcnMnID0+IFsnQ0NBUycs
ICdDQ0FTRkxBR1MnXSwKCgkJICAgJ2ZsYWdzJyA9PiBbJ0NDQVNGTEFHUyddLAoJCSAgICMgVXNl
cnMgY2FuIHNldCBBTV9DQ0FTRkxBR1MgdG8gaW5jbHVkZSBERUZTLCBJTkNMVURFUywKCQkgICAj
IG9yIGFueXRoaW5nIGVsc2UgcmVxdWlyZWQuICBUaGV5IGNhbiBhbHNvIHNldCBDQ0FTLgoJCSAg
ICMgT3Igc2ltcGx5IHVzZSBQcmVwcm9jZXNzZWQgQXNzZW1ibGVyLgoJCSAgICdjb21waWxlJyA9
PiAnJChDQ0FTKSAkKEFNX0NDQVNGTEFHUykgJChDQ0FTRkxBR1MpJywKCQkgICAnY2NlcicgPT4g
J0NDQVMnLAoJCSAgICdjb21waWxlcicgPT4gJ0NDQVNDT01QSUxFJywKCQkgICAnY29tcGlsZV9m
bGFnJyA9PiAnLWMnLAoJCSAgICdvdXRwdXRfZmxhZycgPT4gJy1vJywKCQkgICAnZXh0ZW5zaW9u
cycgPT4gWycucyddKTsKCiMgUHJlcHJvY2Vzc2VkIEFzc2VtYmxlci4KcmVnaXN0ZXJfbGFuZ3Vh
Z2UgKCduYW1lJyA9PiAnY3BwYXNtJywKCQkgICAnTmFtZScgPT4gJ1ByZXByb2Nlc3NlZCBBc3Nl
bWJsZXInLAoJCSAgICdjb25maWdfdmFycycgPT4gWydDQ0FTJywgJ0NDQVNGTEFHUyddLAoKCQkg
ICAnYXV0b2RlcCcgPT4gJ0NDQVMnLAoJCSAgICdmbGFncycgPT4gWydDQ0FTRkxBR1MnLCAnQ1BQ
RkxBR1MnXSwKCQkgICAnY29tcGlsZScgPT4gIlwkKENDQVMpIEBjcHBsaWtlX2ZsYWdzIFwkKEFN
X0NDQVNGTEFHUykgXCQoQ0NBU0ZMQUdTKSIsCgkJICAgJ2NjZXInID0+ICdDUFBBUycsCgkJICAg
J2NvbXBpbGVyJyA9PiAnQ1BQQVNDT01QSUxFJywKICAgICAgICAgICAgICAgICAgICdsaWJ0b29s
X3RhZycgPT4gJ0NDJywKCQkgICAnY29tcGlsZV9mbGFnJyA9PiAnLWMnLAoJCSAgICdvdXRwdXRf
ZmxhZycgPT4gJy1vJywKCQkgICAnZXh0ZW5zaW9ucycgPT4gWycuUycsICcuc3gnXSk7CgojIEZv
cnRyYW4gNzcKcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1lJyA9PiAnZjc3JywKCQkgICAnTmFtZScg
PT4gJ0ZvcnRyYW4gNzcnLAoJCSAgICdjb25maWdfdmFycycgPT4gWydGNzcnXSwKCQkgICAnbGlu
a2VyJyA9PiAnRjc3TElOSycsCgkJICAgJ2xpbmsnID0+ICckKEY3N0xEKSAkKEFNX0ZGTEFHUykg
JChGRkxBR1MpICQoQU1fTERGTEFHUykgJChMREZMQUdTKSAtbyAkQCcsCgkJICAgJ2ZsYWdzJyA9
PiBbJ0ZGTEFHUyddLAoJCSAgICdjb21waWxlJyA9PiAnJChGNzcpICQoQU1fRkZMQUdTKSAkKEZG
TEFHUyknLAoJCSAgICdjY2VyJyA9PiAnRjc3JywKCQkgICAnY29tcGlsZXInID0+ICdGNzdDT01Q
SUxFJywKCQkgICAnY29tcGlsZV9mbGFnJyA9PiAnLWMnLAoJCSAgICdvdXRwdXRfZmxhZycgPT4g
Jy1vJywKCQkgICAnbGlidG9vbF90YWcnID0+ICdGNzcnLAoJCSAgICdsZGVyJyA9PiAnRjc3TEQn
LAoJCSAgICdsZCcgPT4gJyQoRjc3KScsCgkJICAgJ3B1cmUnID0+IDEsCgkJICAgJ2V4dGVuc2lv
bnMnID0+IFsnLmYnLCAnLmZvciddKTsKCiMgRm9ydHJhbgpyZWdpc3Rlcl9sYW5ndWFnZSAoJ25h
bWUnID0+ICdmYycsCgkJICAgJ05hbWUnID0+ICdGb3J0cmFuJywKCQkgICAnY29uZmlnX3ZhcnMn
ID0+IFsnRkMnXSwKCQkgICAnbGlua2VyJyA9PiAnRkNMSU5LJywKCQkgICAnbGluaycgPT4gJyQo
RkNMRCkgJChBTV9GQ0ZMQUdTKSAkKEZDRkxBR1MpICQoQU1fTERGTEFHUykgJChMREZMQUdTKSAt
byAkQCcsCgkJICAgJ2ZsYWdzJyA9PiBbJ0ZDRkxBR1MnXSwKCQkgICAnY29tcGlsZScgPT4gJyQo
RkMpICQoQU1fRkNGTEFHUykgJChGQ0ZMQUdTKScsCgkJICAgJ2NjZXInID0+ICdGQycsCgkJICAg
J2NvbXBpbGVyJyA9PiAnRkNDT01QSUxFJywKCQkgICAnY29tcGlsZV9mbGFnJyA9PiAnLWMnLAoJ
CSAgICdvdXRwdXRfZmxhZycgPT4gJy1vJywKCQkgICAnbGlidG9vbF90YWcnID0+ICdGQycsCgkJ
ICAgJ2xkZXInID0+ICdGQ0xEJywKCQkgICAnbGQnID0+ICckKEZDKScsCgkJICAgJ3B1cmUnID0+
IDEsCgkJICAgJ2V4dGVuc2lvbnMnID0+IFsnLmY5MCcsICcuZjk1JywgJy5mMDMnLCAnLmYwOCdd
KTsKCiMgUHJlcHJvY2Vzc2VkIEZvcnRyYW4KcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1lJyA9PiAn
cHBmYycsCgkJICAgJ05hbWUnID0+ICdQcmVwcm9jZXNzZWQgRm9ydHJhbicsCgkJICAgJ2NvbmZp
Z192YXJzJyA9PiBbJ0ZDJ10sCgkJICAgJ2xpbmtlcicgPT4gJ0ZDTElOSycsCgkJICAgJ2xpbmsn
ID0+ICckKEZDTEQpICQoQU1fRkNGTEFHUykgJChGQ0ZMQUdTKSAkKEFNX0xERkxBR1MpICQoTERG
TEFHUykgLW8gJEAnLAoJCSAgICdsZGVyJyA9PiAnRkNMRCcsCgkJICAgJ2xkJyA9PiAnJChGQykn
LAoJCSAgICdmbGFncycgPT4gWydGQ0ZMQUdTJywgJ0NQUEZMQUdTJ10sCgkJICAgJ2NjZXInID0+
ICdQUEZDJywKCQkgICAnY29tcGlsZXInID0+ICdQUEZDQ09NUElMRScsCgkJICAgJ2NvbXBpbGUn
ID0+ICJcJChGQykgQGNwcGxpa2VfZmxhZ3MgXCQoQU1fRkNGTEFHUykgXCQoRkNGTEFHUykiLAoJ
CSAgICdjb21waWxlX2ZsYWcnID0+ICctYycsCgkJICAgJ291dHB1dF9mbGFnJyA9PiAnLW8nLAoJ
CSAgICdsaWJ0b29sX3RhZycgPT4gJ0ZDJywKCQkgICAncHVyZScgPT4gMSwKCQkgICAnZXh0ZW5z
aW9ucycgPT4gWycuRjkwJywnLkY5NScsICcuRjAzJywgJy5GMDgnXSk7CgojIFByZXByb2Nlc3Nl
ZCBGb3J0cmFuIDc3CiMKIyBUaGUgY3VycmVudCBzdXBwb3J0IGZvciBwcmVwcm9jZXNzaW5nIEZv
cnRyYW4gNzcganVzdCBpbnZvbHZlcwojIHBhc3NpbmcgIiQoREVGUykgJChERUZBVUxUX0lOQ0xV
REVTKSAkKElOQ0xVREVTKSAkKEFNX0NQUEZMQUdTKQojICQoQ1BQRkxBR1MpIiBhcyBhZGRpdGlv
bmFsIGZsYWdzIHRvIHRoZSBGb3J0cmFuIDc3IGNvbXBpbGVyLCBzaW5jZQojIHRoaXMgaXMgaG93
IEdOVSBNYWtlIGRvZXMgaXQ7IHNlZSB0aGUgIkdOVSBNYWtlIE1hbnVhbCwgRWRpdGlvbiAwLjUx
CiMgZm9yICdtYWtlJyBWZXJzaW9uIDMuNzYgQmV0YSIgKHNwZWNpZmljYWxseSwgZnJvbSBpbmZv
IGZpbGUKIyAnKG1ha2UpQ2F0YWxvZ3VlIG9mIFJ1bGVzJykuCiMKIyBBIGJldHRlciBhcHByb2Fj
aCB3b3VsZCBiZSB0byB3cml0ZSBhbiBBdXRvY29uZiB0ZXN0CiMgKGkuZS4gQUNfUFJPR19GUFAp
IGZvciBhIEZvcnRyYW4gNzcgcHJlcHJvY2Vzc29yLCBiZWNhdXNlIG5vdCBhbGwKIyBGb3J0cmFu
IDc3IGNvbXBpbGVycyBrbm93IGhvdyB0byBkbyBwcmVwcm9jZXNzaW5nLiAgVGhlIEF1dG9jb25m
CiMgbWFjcm8gQUNfUFJPR19GUFAgc2hvdWxkIHRlc3QgdGhlIEZvcnRyYW4gNzcgY29tcGlsZXIg
Zmlyc3QgZm9yCiMgcHJlcHJvY2Vzc2luZyBjYXBhYmlsaXRpZXMsIGFuZCB0aGVuIGZhbGwgYmFj
ayBvbiBjcHAgKGlmIGNwcCB3ZXJlCiMgYXZhaWxhYmxlKS4KcmVnaXN0ZXJfbGFuZ3VhZ2UgKCdu
YW1lJyA9PiAncHBmNzcnLAoJCSAgICdOYW1lJyA9PiAnUHJlcHJvY2Vzc2VkIEZvcnRyYW4gNzcn
LAoJCSAgICdjb25maWdfdmFycycgPT4gWydGNzcnXSwKCQkgICAnbGlua2VyJyA9PiAnRjc3TElO
SycsCgkJICAgJ2xpbmsnID0+ICckKEY3N0xEKSAkKEFNX0ZGTEFHUykgJChGRkxBR1MpICQoQU1f
TERGTEFHUykgJChMREZMQUdTKSAtbyAkQCcsCgkJICAgJ2xkZXInID0+ICdGNzdMRCcsCgkJICAg
J2xkJyA9PiAnJChGNzcpJywKCQkgICAnZmxhZ3MnID0+IFsnRkZMQUdTJywgJ0NQUEZMQUdTJ10s
CgkJICAgJ2NjZXInID0+ICdQUEY3NycsCgkJICAgJ2NvbXBpbGVyJyA9PiAnUFBGNzdDT01QSUxF
JywKCQkgICAnY29tcGlsZScgPT4gIlwkKEY3NykgQGNwcGxpa2VfZmxhZ3MgXCQoQU1fRkZMQUdT
KSBcJChGRkxBR1MpIiwKCQkgICAnY29tcGlsZV9mbGFnJyA9PiAnLWMnLAoJCSAgICdvdXRwdXRf
ZmxhZycgPT4gJy1vJywKCQkgICAnbGlidG9vbF90YWcnID0+ICdGNzcnLAoJCSAgICdwdXJlJyA9
PiAxLAoJCSAgICdleHRlbnNpb25zJyA9PiBbJy5GJ10pOwoKIyBSYXRmb3IuCnJlZ2lzdGVyX2xh
bmd1YWdlICgnbmFtZScgPT4gJ3JhdGZvcicsCgkJICAgJ05hbWUnID0+ICdSYXRmb3InLAoJCSAg
ICdjb25maWdfdmFycycgPT4gWydGNzcnXSwKCQkgICAnbGlua2VyJyA9PiAnRjc3TElOSycsCgkJ
ICAgJ2xpbmsnID0+ICckKEY3N0xEKSAkKEFNX0ZGTEFHUykgJChGRkxBR1MpICQoQU1fTERGTEFH
UykgJChMREZMQUdTKSAtbyAkQCcsCgkJICAgJ2xkZXInID0+ICdGNzdMRCcsCgkJICAgJ2xkJyA9
PiAnJChGNzcpJywKCQkgICAnZmxhZ3MnID0+IFsnUkZMQUdTJywgJ0ZGTEFHUyddLAoJCSAgICMg
RklYTUUgYWxzbyBGRkxBR1MuCgkJICAgJ2NvbXBpbGUnID0+ICckKEY3NykgJChBTV9GRkxBR1Mp
ICQoRkZMQUdTKSAkKEFNX1JGTEFHUykgJChSRkxBR1MpJywKCQkgICAnY2NlcicgPT4gJ0Y3Nycs
CgkJICAgJ2NvbXBpbGVyJyA9PiAnUkNPTVBJTEUnLAoJCSAgICdjb21waWxlX2ZsYWcnID0+ICct
YycsCgkJICAgJ291dHB1dF9mbGFnJyA9PiAnLW8nLAoJCSAgICdsaWJ0b29sX3RhZycgPT4gJ0Y3
NycsCgkJICAgJ3B1cmUnID0+IDEsCgkJICAgJ2V4dGVuc2lvbnMnID0+IFsnLnInXSk7CgojIEph
dmEgdmlhIGdjai4KcmVnaXN0ZXJfbGFuZ3VhZ2UgKCduYW1lJyA9PiAnamF2YScsCgkJICAgJ05h
bWUnID0+ICdKYXZhJywKCQkgICAnY29uZmlnX3ZhcnMnID0+IFsnR0NKJ10sCgkJICAgJ2xpbmtl
cicgPT4gJ0dDSkxJTksnLAoJCSAgICdsaW5rJyA9PiAnJChHQ0pMRCkgJChBTV9HQ0pGTEFHUykg
JChHQ0pGTEFHUykgJChBTV9MREZMQUdTKSAkKExERkxBR1MpIC1vICRAJywKCQkgICAnYXV0b2Rl
cCcgPT4gJ0dDSicsCgkJICAgJ2ZsYWdzJyA9PiBbJ0dDSkZMQUdTJ10sCgkJICAgJ2NvbXBpbGUn
ID0+ICckKEdDSikgJChBTV9HQ0pGTEFHUykgJChHQ0pGTEFHUyknLAoJCSAgICdjY2VyJyA9PiAn
R0NKJywKCQkgICAnY29tcGlsZXInID0+ICdHQ0pDT01QSUxFJywKCQkgICAnY29tcGlsZV9mbGFn
JyA9PiAnLWMnLAoJCSAgICdvdXRwdXRfZmxhZycgPT4gJy1vJywKCQkgICAnbGlidG9vbF90YWcn
ID0+ICdHQ0onLAoJCSAgICdsZGVyJyA9PiAnR0NKTEQnLAoJCSAgICdsZCcgPT4gJyQoR0NKKScs
CgkJICAgJ3B1cmUnID0+IDEsCgkJICAgJ2V4dGVuc2lvbnMnID0+IFsnLmphdmEnLCAnLmNsYXNz
JywgJy56aXAnLCAnLmphciddKTsKCiMgQWxnb2wgNjggaW4gR0NDCnJlZ2lzdGVyX2xhbmd1YWdl
ICgnbmFtZScgPT4gJ2E2OCcsCiAgICAgICAgICAgICAgICAgICAnTmFtZScgPT4gJ0FsZ29sIDY4
JywKICAgICAgICAgICAgICAgICAgICdjb25maWdfdmFycycgPT4gWydBNjgnXSwKICAgICAgICAg
ICAgICAgICAgICdsaW5rZXInID0+ICdBNjhMSU5LJywKICAgICAgICAgICAgICAgICAgICdsaW5r
JyA9PiAnJChBNjhMRCkgJChBTV9BNjhGTEFHUykgJChBNjhGTEFHUykgJChBTV9MREZMQUdTKSAk
KExERkxBR1MpIC1vICRAJywKCQkgICAnZmxhZ3MnID0+IFsnQTY4RkxBR1MnXSwKCQkgICAnY29t
cGlsZScgPT4gJyQoQTY4KSAkKEFNX0E2OEZMQUdTKSAkKEE2OEZMQUdTKScsCgkJICAgJ2NjZXIn
ID0+ICdBNjgnLAoJCSAgICdjb21waWxlcicgPT4gJ0E2OENPTVBJTEUnLAoJCSAgICdjb21waWxl
X2ZsYWcnID0+ICctYycsCgkJICAgJ291dHB1dF9mbGFnJyA9PiAnLW8nLAoJCSAgICdsaWJ0b29s
X3RhZycgPT4gJ0E2OCcsCgkJICAgJ2xkZXInID0+ICdBNjhMRCcsCgkJICAgJ2xkJyA9PiAnJChB
NjgpJywKCQkgICAncHVyZScgPT4gMSwKCQkgICAnZXh0ZW5zaW9ucycgPT4gWycuYTY4J10pOwoK
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIwoKIyBFcnJvciByZXBvcnRpbmcgZnVuY3Rpb25zLgoKIyBlcnJfYW0gKCRNRVNTQUdF
LCBbJU9QVElPTlNdKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVW5jYXRlZ29y
aXplZCBlcnJvcnMgYWJvdXQgdGhlIGN1cnJlbnQgTWFrZWZpbGUuYW0uCnN1YiBlcnJfYW0Kewog
IG1zZ19hbSAoJ2Vycm9yJywgQF8pOwp9CgojIGVycl9hYyAoJE1FU1NBR0UsIFslT1BUSU9OU10p
CiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBVbmNhdGVnb3JpemVkIGVycm9ycyBh
Ym91dCBjb25maWd1cmUuYWMuCnN1YiBlcnJfYWMKewogIG1zZ19hYyAoJ2Vycm9yJywgQF8pOwp9
CgojIG1zZ19hbSAoJENIQU5ORUwsICRNRVNTQUdFLCBbJU9QVElPTlNdKQojIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1lc3NhZ2VzIGFib3V0IHRoZSBjdXJyZW50
IE1ha2VmaWxlLmFtLgpzdWIgbXNnX2FtCnsKICBteSAoJGNoYW5uZWwsICRtc2csICVvcHRzKSA9
IEBfOwogIG1zZyAkY2hhbm5lbCwgIiR7YW1fZmlsZX0uYW0iLCAkbXNnLCAlb3B0czsKfQoKIyBt
c2dfYWMgKCRDSEFOTkVMLCAkTUVTU0FHRSwgWyVPUFRJT05TXSkKIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNZXNzYWdlcyBhYm91dCBjb25maWd1cmUuYWMuCnN1
YiBtc2dfYWMKewogIG15ICgkY2hhbm5lbCwgJG1zZywgJW9wdHMpID0gQF87CiAgbXNnICRjaGFu
bmVsLCAkY29uZmlndXJlX2FjLCAkbXNnLCAlb3B0czsKfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKIyBzdWJzdCAoJFRF
WFQpCiMgLS0tLS0tLS0tLS0tLQojIFJldHVybiBhIGNvbmZpZ3VyZS1zdHlsZSBzdWJzdGl0dXRp
b24gdXNpbmcgdGhlIGluZGljYXRlZCB0ZXh0LgojIFdlIGRvIHRoaXMgdG8gYXZvaWQgaGF2aW5n
IHRoZSBzdWJzdGl0dXRpb25zIGRpcmVjdGx5IGluIGF1dG9tYWtlLmluOwojIHdoZW4gd2UgZG8g
dGhhdCB0aGV5IGFyZSBzb21ldGltZXMgcmVtb3ZlZCBhbmQgdGhpcyBjYXVzZXMgY29uZnVzaW9u
CiMgYW5kIGJ1Z3MuCnN1YiBzdWJzdAp7CiAgICBteSAoJHRleHQpID0gQF87CiAgICByZXR1cm4g
J0AnIC4gJHRleHQgLiAnQCc7Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCgojICRCQUNLUEFUSAojIGJhY2tuYW1lICgk
UkVMRElSKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0KIyBJZiBJICJjZCAkUkVMRElSIiwgdGhlbiB0
byBjb21lIGJhY2ssIEkgc2hvdWxkICJjZCAkQkFDS1BBVEgiLgojIEZvciBpbnN0YW5jZSAnc3Jj
L2ZvbycgPT4gJy4uLy4uJy4KIyBXb3JrcyB3aXRoIG5vbiBzdHJpY3RseSBpbmNyZWFzaW5nIHBh
dGhzLCBpLmUuLCAnc3JjLy4uL2xpYicgPT4gJy4uJy4Kc3ViIGJhY2tuYW1lCnsKICAgIG15ICgk
ZmlsZSkgPSBAXzsKICAgIG15IEByZXM7CiAgICBmb3JlYWNoIChzcGxpdCAoL1wvLywgJGZpbGUp
KQogICAgewoJbmV4dCBpZiAkXyBlcSAnLicgfHwgJF8gZXEgJyc7CglpZiAoJF8gZXEgJy4uJykK
CXsKCSAgICBwb3AgQHJlcwoJICAgICAgb3IgcHJvZ19lcnJvciAoInRyeWluZyB0byByZXZlcnNl
IHBhdGggJyRmaWxlJyBwb2ludGluZyBvdXRzaWRlIHRyZWUiKTsKCX0KCWVsc2UKCXsKCSAgICBw
dXNoIChAcmVzLCAnLi4nKTsKCX0KICAgIH0KICAgIHJldHVybiBqb2luICgnLycsIEByZXMpIHx8
ICcuJzsKfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIwoKIyBTaWxlbnQgcnVsZXMgaGFuZGxpbmcgZnVuY3Rpb25zLgoKIyB2
ZXJib3NlX3ZhciAoTkFNRSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGUgcHVibGljIHZhcmlh
YmxlIHN0ZW0gdXNlZCB0byBpbXBsZW1lbnQgc2lsZW50IHJ1bGVzLgpzdWIgdmVyYm9zZV92YXIK
ewogICAgbXkgKCRuYW1lKSA9IEBfOwogICAgcmV0dXJuICdBTV9WXycgLiAkbmFtZTsKfQoKIyB2
ZXJib3NlX3ByaXZhdGVfdmFyIChOQU1FKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMg
VGhlIG5hbWluZyBwb2xpY3kgZm9yIHRoZSBwcml2YXRlIHZhcmlhYmxlcyBmb3Igc2lsZW50IHJ1
bGVzLgpzdWIgdmVyYm9zZV9wcml2YXRlX3Zhcgp7CiAgICBteSAoJG5hbWUpID0gQF87CiAgICBy
ZXR1cm4gJ2FtX192XycgLiAkbmFtZTsKfQoKIyBkZWZpbmVfdmVyYm9zZV92YXIgKE5BTUUsIFZB
TC1JRi1TSUxFTlQsIFtWQUwtSUYtVkVSQk9TRV0pCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEZvciAgc2lsZW50IHJ1bGVzLCBz
ZXR1cCBWQVIgYW5kIGRpc3BhdGNoZXIsIHRvIGV4cGFuZCB0bwojIFZBTC1JRi1TSUxFTlQgaWYg
c2lsZW50LCB0byBWQUwtSUYtVkVSQk9TRSAoZGVmYXVsdGluZyB0bwojIGVtcHR5KSBpZiBub3Qu
CnN1YiBkZWZpbmVfdmVyYm9zZV92YXIKewogICAgbXkgKCRuYW1lLCAkc2lsZW50X3ZhbCwgJHZl
cmJvc2VfdmFsKSA9IEBfOwogICAgJHZlcmJvc2VfdmFsID0gJycgdW5sZXNzIGRlZmluZWQgJHZl
cmJvc2VfdmFsOwogICAgbXkgJHZhciA9IHZlcmJvc2VfdmFyICgkbmFtZSk7CiAgICBteSAkcHZh
ciA9IHZlcmJvc2VfcHJpdmF0ZV92YXIgKCRuYW1lKTsKICAgIG15ICRzaWxlbnRfdmFyID0gJHB2
YXIgLiAnXzAnOwogICAgbXkgJHZlcmJvc2VfdmFyID0gJHB2YXIgLiAnXzEnOwogICAgIyBGb3Ig
dHlwaWNhbCAnbWFrZSdzLCAnY29uZmlndXJlJyByZXBsYWNlcyBBTV9WIChpbnNpZGUgQEApIHdp
dGggJChWKQogICAgIyBhbmQgQU1fREVGQVVMVF9WIChpbnNpZGUgQEApIHdpdGggJChBTV9ERUZB
VUxUX1ZFUkJPU0lUWSkuCiAgICAjIEZvciBzdHJpY3QgUE9TSVggMjAwOCAnbWFrZSdzLCBpdCBy
ZXBsYWNlcyB0aGVtIHdpdGggMCBvciAxIGluc3RlYWQuCiAgICAjIFNlZSBBTV9TSUxFTlRfUlVM
RVMgaW4gbTQvc2lsZW50Lm00LgogICAgZGVmaW5lX3ZhcmlhYmxlICgkdmFyLCAnJCgnIC4gJHB2
YXIgLiAnX0AnLidBTV9WJy4nQCknLCBJTlRFUk5BTCk7CiAgICBkZWZpbmVfdmFyaWFibGUgKCRw
dmFyIC4gJ18nLCAnJCgnIC4gJHB2YXIgLiAnX0AnLidBTV9ERUZBVUxUX1YnLidAKScsCiAgICAg
ICAgICAgICAgICAgICAgIElOVEVSTkFMKTsKICAgIEF1dG9tYWtlOjpWYXJpYWJsZTo6ZGVmaW5l
ICgkc2lsZW50X3ZhciwgVkFSX0FVVE9NQUtFLCAnJywgVFJVRSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAkc2lsZW50X3ZhbCwgJycsIElOVEVSTkFMLCBWQVJfQVNJUykKICAgICAg
aWYgKCEgdmFyZGVmICgkc2lsZW50X3ZhciwgVFJVRSkpOwogICAgQXV0b21ha2U6OlZhcmlhYmxl
OjpkZWZpbmUgKCR2ZXJib3NlX3ZhciwgVkFSX0FVVE9NQUtFLCAnJywgVFJVRSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAkdmVyYm9zZV92YWwsICcnLCBJTlRFUk5BTCwgVkFSX0FT
SVMpCiAgICAgIGlmICghIHZhcmRlZiAoJHZlcmJvc2VfdmFyLCBUUlVFKSk7Cn0KCiMgdmVyYm9z
ZV9mbGFnIChOQU1FKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDb250ZW50cyBvZiAnJVZFUkJP
U0UlJyB2YXJpYWJsZSB0byBleHBhbmQgYmVmb3JlIHJ1bGUgY29tbWFuZC4Kc3ViIHZlcmJvc2Vf
ZmxhZwp7CiAgICBteSAoJG5hbWUpID0gQF87CiAgICByZXR1cm4gJyQoJyAuIHZlcmJvc2VfdmFy
ICgkbmFtZSkgLiAnKSc7Cn0KCnN1YiB2ZXJib3NlX25vZGVwX2ZsYWcKewogICAgbXkgKCRuYW1l
KSA9IEBfOwogICAgcmV0dXJuICckKCcgLiB2ZXJib3NlX3ZhciAoJG5hbWUpIC4gc3Vic3QgKCdh
bV9fbm9kZXAnKSAuICcpJzsKfQoKIyBzaWxlbnRfZmxhZwojIC0tLS0tLS0tLS0tCiMgQ29udGVu
dHMgb2YgJVNJTEVOVCU6IHZhcmlhYmxlIHRvIGV4cGFuZCB0byAnQCcgd2hlbiBzaWxlbnQuCnN1
YiBzaWxlbnRfZmxhZyAoKQp7CiAgICByZXR1cm4gdmVyYm9zZV9mbGFnICgnYXQnKTsKfQoKIyBk
ZWZpbmVfdmVyYm9zZV90YWd2YXIgKE5BTUUpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQojIEVuZ2FnZSB0aGUgbmVlZGVkIHNpbGVudCBydWxlcyBtYWNoaW5lcnkgZm9yIHRhZyBOQU1F
LgpzdWIgZGVmaW5lX3ZlcmJvc2VfdGFndmFyCnsKICAgIG15ICgkbmFtZSkgPSBAXzsKICAgIGRl
ZmluZV92ZXJib3NlX3ZhciAoJG5hbWUsICdAZWNobyAiICAnLiAkbmFtZSAuICcgJyB4ICg4IC0g
bGVuZ3RoICgkbmFtZSkpIC4gJyIgJEA7Jyk7Cn0KCiMgRW5nYWdlIHRoZSBuZWVkZWQgc2lsZW50
IHJ1bGVzIG1hY2hpbmVyeSBmb3IgYXNzb3J0ZWQgdGV4aW5mbyBjb21tYW5kcy4Kc3ViIGRlZmlu
ZV92ZXJib3NlX3RleGluZm8gKCkKewogIG15IEB0YWd2YXJzID0gKCdEVklQUycsICdNQUtFSU5G
TycsICdJTkZPSFRNTCcsICdURVhJMkRWSScsICdURVhJMlBERicpOwogIGZvcmVhY2ggbXkgJHRh
ZyAoQHRhZ3ZhcnMpCiAgICB7CiAgICAgIGRlZmluZV92ZXJib3NlX3RhZ3ZhcigkdGFnKTsKICAg
IH0KICBkZWZpbmVfdmVyYm9zZV92YXIoJ3RleGluZm8nLCAnLXEnKTsKICBkZWZpbmVfdmVyYm9z
ZV92YXIoJ3RleGlkZXZudWxsJywgJz4gL2Rldi9udWxsJyk7Cn0KCiMgRW5nYWdlIHRoZSBuZWVk
ZWQgc2lsZW50IHJ1bGVzIG1hY2hpbmVyeSBmb3IgJ2xpYnRvb2wgLS1zaWxlbnQnLgpzdWIgZGVm
aW5lX3ZlcmJvc2VfbGlidG9vbCAoKQp7CiAgICBkZWZpbmVfdmVyYm9zZV92YXIgKCdsdCcsICct
LXNpbGVudCcpOwogICAgcmV0dXJuIHZlcmJvc2VfZmxhZyAoJ2x0Jyk7Cn0KCnN1YiBoYW5kbGVf
c2lsZW50ICgpCnsKICAgICMgRGVmaW5lICIkKEFNX1ZfUCkiLCBleHBhbmRpbmcgdG8gYSBzaGVs
bCBjb25kaXRpb25hbCB0aGF0IGNhbiBiZQogICAgIyB1c2VkIGluIG1ha2UgcmVjaXBlcyB0byBk
ZXRlcm1pbmUgd2hldGhlciB3ZSBhcmUgYmVpbmcgcnVuIGluCiAgICAjIHNpbGVudCBtb2RlIG9y
IG5vdC4gIFRoZSBjaG9pY2Ugb2YgdGhlIG5hbWUgZGVyaXZlcyBmcm9tIHRoZSBMSVNQCiAgICAj
IGNvbnZlbnRpb24gb2YgYXBwZW5kaW5nIHRoZSBsZXR0ZXIgJ1AnIHRvIGRlbm90ZSBhIHByZWRp
Y2F0ZSAoc2VlCiAgICAjIGFsc28gInRoZSAnLVAnIGNvbnZlbnRpb24iIGluIHRoZSBKYXJnb24g
RmlsZSk7IHdlIGRvIHNvIGZvciBsYWNrCiAgICAjIG9mIGEgYmV0dGVyIGNvbnZlbnRpb24uCiAg
ICBkZWZpbmVfdmVyYm9zZV92YXIgKCdQJywgJ2ZhbHNlJywgJzonKTsKICAgICMgKkFsd2F5cyog
cHJvdmlkZSB0aGUgdXNlciB3aXRoICckKEFNX1ZfR0VOKScsIHVuY29uZGl0aW9uYWxseS4KICAg
IGRlZmluZV92ZXJib3NlX3RhZ3ZhciAoJ0dFTicpOwogICAgZGVmaW5lX3ZlcmJvc2VfdmFyICgn
YXQnLCAnQCcpOwp9CgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKCiMgSGFuZGxlIEFVVE9NQUtFX09QVElPTlMgdmFyaWFi
bGUuICBSZXR1cm4gMCBvbiBlcnJvciwgMSBvdGhlcndpc2UuCnN1YiBoYW5kbGVfb3B0aW9ucyAo
KQp7CiAgbXkgJHZhciA9IHZhciAoJ0FVVE9NQUtFX09QVElPTlMnKTsKICBpZiAoJHZhcikKICAg
IHsKICAgICAgaWYgKCR2YXItPmhhc19jb25kaXRpb25hbF9jb250ZW50cykKCXsKCSAgbXNnX3Zh
ciAoJ3Vuc3VwcG9ydGVkJywgJHZhciwKCQkgICAiJ0FVVE9NQUtFX09QVElPTlMnIGNhbm5vdCBo
YXZlIGNvbmRpdGlvbmFsIGNvbnRlbnRzIik7Cgl9CiAgICAgIG15IEBvcHRpb25zID0gbWFwIHsg
eyBvcHRpb24gPT4gJF8tPlsxXSwgd2hlcmUgPT4gJF8tPlswXSB9IH0KCQkJJHZhci0+dmFsdWVf
YXNfbGlzdF9yZWN1cnNpdmUgKGNvbmRfZmlsdGVyID0+IFRSVUUsCgkJCQkJCSAgICAgICBsb2Nh
dGlvbiA9PiAxKTsKICAgICAgcmV0dXJuIDAgdW5sZXNzIHByb2Nlc3Nfb3B0aW9uX2xpc3QgKEBv
cHRpb25zKTsKICAgIH0KCiAgaWYgKCRzdHJpY3RuZXNzID09IEdOSVRTKQogICAgewogICAgICBz
ZXRfb3B0aW9uICgncmVhZG1lLWFscGhhJywgSU5URVJOQUwpOwogICAgICBzZXRfb3B0aW9uICgn
c3RkLW9wdGlvbnMnLCBJTlRFUk5BTCk7CiAgICAgIHNldF9vcHRpb24gKCdjaGVjay1uZXdzJywg
SU5URVJOQUwpOwogICAgfQoKICByZXR1cm4gMTsKfQoKIyBzaGFkb3dfdW5jb25kaXRpb25hbGx5
ICgkdmFybmFtZSwgJHdoZXJlKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCiMgUmV0dXJuIGEgJCh2YXJpYWJsZSkgdGhhdCBjb250YWlucyBhbGwgcG9zc2libGUg
dmFsdWVzCiMgJHZhcm5hbWUgY2FuIHRha2UuCiMgSWYgdGhlIFZBUiB3YXNuJ3QgZGVmaW5lZCBj
b25kaXRpb25hbGx5LCByZXR1cm4gJChWQVIpLgojIE90aGVyd2lzZSB3ZSBjcmVhdGUgYW4gYW1f
X1ZBUl9ESVNUIHZhcmlhYmxlIHdoaWNoIGNvbnRhaW5zCiMgYWxsIHBvc3NpYmxlIHZhbHVlcywg
YW5kIHJldHVybiAkKGFtX19WQVJfRElTVCkuCnN1YiBzaGFkb3dfdW5jb25kaXRpb25hbGx5CnsK
ICBteSAoJHZhcm5hbWUsICR3aGVyZSkgPSBAXzsKICBteSAkdmFyID0gdmFyICR2YXJuYW1lOwog
IGlmICgkdmFyLT5oYXNfY29uZGl0aW9uYWxfY29udGVudHMpCiAgICB7CiAgICAgICR2YXJuYW1l
ID0gImFtX18ke3Zhcm5hbWV9X0RJU1QiOwogICAgICBteSBAZmlsZXMgPSB1bmlxICgkdmFyLT52
YWx1ZV9hc19saXN0X3JlY3Vyc2l2ZSk7CiAgICAgIGRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCR2
YXJuYW1lLCBUUlVFLCAkd2hlcmUsIEBmaWxlcyk7CiAgICB9CiAgcmV0dXJuICJcJCgkdmFybmFt
ZSkiCn0KCiMgY2hlY2tfdXNlcl92YXJpYWJsZXMgKEBMSVNUKQojIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KIyBNYWtlIHN1cmUgZWFjaCB2YXJpYWJsZSBWQVIgaW4gQExJU1QgZG9lcyBu
b3QgZXhpc3QsIHN1Z2dlc3QgdXNpbmcgQU1fVkFSCiMgb3RoZXJ3aXNlLgpzdWIgY2hlY2tfdXNl
cl92YXJpYWJsZXMKewogIG15IEBkb250X292ZXJyaWRlID0gQF87CiAgZm9yZWFjaCBteSAkZmxh
ZyAoQGRvbnRfb3ZlcnJpZGUpCiAgICB7CiAgICAgIG15ICR2YXIgPSB2YXIgJGZsYWc7CiAgICAg
IGlmICgkdmFyKQoJewoJICBmb3IgbXkgJGNvbmQgKCR2YXItPmNvbmRpdGlvbnMtPmNvbmRzKQoJ
ICAgIHsKCSAgICAgIGlmICgkdmFyLT5yZGVmICgkY29uZCktPm93bmVyID09IFZBUl9NQUtFRklM
RSkKCQl7CgkJICBtc2dfY29uZF92YXIgKCdnbnUnLCAkY29uZCwgJGZsYWcsCgkJCQkiJyRmbGFn
JyBpcyBhIHVzZXIgdmFyaWFibGUsICIKCQkJCS4gInlvdSBzaG91bGQgbm90IG92ZXJyaWRlIGl0
O1xuIgoJCQkJLiAidXNlICdBTV8kZmxhZycgaW5zdGVhZCIpOwoJCX0KCSAgICB9Cgl9CiAgICB9
Cn0KCiMgQ2FsbCBmaW5pc2ggZnVuY3Rpb24gZm9yIGVhY2ggbGFuZ3VhZ2UgdGhhdCB3YXMgdXNl
ZC4Kc3ViIGhhbmRsZV9sYW5ndWFnZXMgKCkKewogICAgaWYgKCEgb3B0aW9uICduby1kZXBlbmRl
bmNpZXMnKQogICAgICB7CiAgICAgICAgIyBJbmNsdWRlIGF1dG8tZGVwIGNvZGUuICBEb24ndCBp
bmNsdWRlIGl0IGlmIERFUF9GSUxFUyB3b3VsZAogICAgICAgICMgYmUgZW1wdHkuCiAgICAgICAg
aWYgKGtleXMgJWV4dGVuc2lvbl9zZWVuICYmIGtleXMgJWRlcF9maWxlcykKICAgICAgICAgIHsK
ICAgICAgICAgICAgbXkgQGRlcF9maWxlcyA9IHNvcnQga2V5cyAlZGVwX2ZpbGVzOwogICAgICAg
ICAgICAjIFNldCBsb2NhdGlvbiBvZiBkZXBjb21wLgogICAgICAgICAgICBkZWZpbmVfdmFyaWFi
bGUgKCdkZXBjb21wJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXCQoU0hFTEwpICRh
bV9jb25maWdfYXV4X2Rpci9kZXBjb21wIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ
TlRFUk5BTCk7CiAgICAgICAgICAgIGRlZmluZV92YXJpYWJsZSAoJ2FtX19tYXliZV9yZW1ha2Vf
ZGVwZmlsZXMnLCAnZGVwZmlsZXMnLCBJTlRFUk5BTCk7CiAgICAgICAgICAgIGRlZmluZV92YXJp
YWJsZSAoJ2FtX19kZXBmaWxlc19yZW1hZGUnLCAiQGRlcF9maWxlcyIsIElOVEVSTkFMKTsKICAg
ICAgICAgICAgJG91dHB1dF9ydWxlcyAuPSAiXG4iOwogICAgICAgICAgICBteSBAZGlzdF9ybXM7
CiAgICAgICAgICAgIGZvcmVhY2ggbXkgJGRlcGZpbGUgKEBkZXBfZmlsZXMpCiAgICAgICAgICAg
ICAgewogICAgICAgICAgICAgICAgcHVzaCBAZGlzdF9ybXMsICJcdC1ybSAtZiAkZGVwZmlsZSI7
CiAgICAgICAgICAgICAgICAjIEdlbmVyYXRlIGVhY2ggJ2luY2x1ZGUnIGRpcmVjdGl2ZSBpbmRp
dmlkdWFsbHkuICBTZXZlcmFsCiAgICAgICAgICAgICAgICAjIG1ha2UgaW1wbGVtZW50YXRpb25z
IChJUklYIDYsIFNvbGFyaXMgMTAsIEZyZWVCU0QgOCkgd2lsbAogICAgICAgICAgICAgICAgIyBm
YWlsIHRvIHByb3Blcmx5IGluY2x1ZGUgc2V2ZXJhbCBmaWxlcyByZXN1bHRpbmcgZnJvbSBhCiAg
ICAgICAgICAgICAgICAjIHZhcmlhYmxlIGV4cGFuc2lvbi4gSnVzdCBHZW5lcmF0aW5nIG1hbnkg
c2VwYXJhdGUgaW5jbHVkZXMKICAgICAgICAgICAgICAgICMgc2VlbXMgdGh1cyBzYWZlc3QuCiAg
ICAgICAgICAgICAgICAkb3V0cHV0X3J1bGVzIC49IHN1YnN0ICgnQU1ERVBfVFJVRScpIC4KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3QgKCdhbV9faW5jbHVkZScpIC4KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAiIC4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3Vic3QoJ2FtX19xdW90ZScpIC4KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJGRlcGZpbGUgLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJz
dCgnYW1fX3F1b3RlJykgLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICIgLgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIyBhbS0taW5jbHVkZS1tYXJrZXJcbiI7
CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmVxdWlyZV9jb25mX2ZpbGUgKCIkYW1fZmls
ZS5hbSIsIEZPUkVJR04sICdkZXBjb21wJyk7CgogICAgICAgICAgICAkb3V0cHV0X3J1bGVzIC49
IGZpbGVfY29udGVudHMgKAogICAgICAgICAgICAgICAgJ2RlcGVuZCcsIG5ldyBBdXRvbWFrZTo6
TG9jYXRpb24sCiAgICAgICAgICAgICAgICAnRElTVFJNUycgPT4gam9pbiAoIlxuIiwgQGRpc3Rf
cm1zKSk7CiAgICAgICAgICB9CiAgICAgIH0KICAgIGVsc2UKICAgICAgewogICAgICAgIGRlZmlu
ZV92YXJpYWJsZSAoJ2RlcGNvbXAnLCAnJywgSU5URVJOQUwpOwogICAgICAgIGRlZmluZV92YXJp
YWJsZSAoJ2FtX19tYXliZV9yZW1ha2VfZGVwZmlsZXMnLCAnJywgSU5URVJOQUwpOwogICAgICB9
CgogICAgbXkgJWRvbmU7CgogICAgIyBJcyB0aGUgQyBsaW5rZXIgbmVlZGVkPwogICAgbXkgJG5l
ZWRzX2MgPSAwOwogICAgZm9yZWFjaCBteSAkZXh0IChzb3J0IGtleXMgJWV4dGVuc2lvbl9zZWVu
KQogICAgewoJbmV4dCB1bmxlc3MgJGV4dGVuc2lvbl9tYXB7JGV4dH07CgoJbXkgJGxhbmcgPSAk
bGFuZ3VhZ2VzeyRleHRlbnNpb25fbWFweyRleHR9fTsKCglteSAkcnVsZV9maWxlID0gJGxhbmct
PnJ1bGVfZmlsZSB8fCAnZGVwZW5kMic7CgoJIyBHZXQgaW5mb3JtYXRpb24gb24gJExBTkcuCglt
eSAkcGZ4ID0gJGxhbmctPmF1dG9kZXA7CglteSAkZnBmeCA9ICgkcGZ4IGVxICcnKSA/ICdDQycg
OiAkcGZ4OwoKCW15ICgkQU1ERVAsICRGQVNUREVQKSA9CgkgIChvcHRpb24gJ25vLWRlcGVuZGVu
Y2llcycgfHwgJGxhbmctPmF1dG9kZXAgZXEgJ25vJykKCSAgPyAoJ0ZBTFNFJywgJ0ZBTFNFJykg
OiAoJ0FNREVQJywgImFtX19mYXN0ZGVwJGZwZngiKTsKCglteSAkdmVyYm9zZSA9IHZlcmJvc2Vf
ZmxhZyAoJGxhbmctPmNjZXIgfHwgJ0dFTicpOwoJbXkgJHZlcmJvc2Vfbm9kZXAgPSAoJEFNREVQ
IGVxICdGQUxTRScpCgkgID8gJHZlcmJvc2UgOiB2ZXJib3NlX25vZGVwX2ZsYWcgKCRsYW5nLT5j
Y2VyIHx8ICdHRU4nKTsKCW15ICRzaWxlbnQgPSBzaWxlbnRfZmxhZyAoKTsKCglteSAldHJhbnNm
b3JtID0gKCdFWFQnICAgICA9PiAkZXh0LAoJCQkgJ1BGWCcgICAgID0+ICRwZngsCgkJCSAnRlBG
WCcgICAgPT4gJGZwZngsCgkJCSAnQU1ERVAnICAgPT4gJEFNREVQLAoJCQkgJ0ZBU1RERVAnID0+
ICRGQVNUREVQLAoJCQkgJy1jJyAgICAgID0+ICRsYW5nLT5jb21waWxlX2ZsYWcgfHwgJycsCgkJ
CSAjIFRoZXNlIGFyZSBub3QgdXNlZCwgYnV0IHRoZXkgbmVlZCB0byBiZSBkZWZpbmVkCgkJCSAj
IHNvIHRyYW5zZm9ybSgpIGRvIG5vdCBjb21wbGFpbi4KCQkJIFNVQkRJUk9CSiAgICAgPT4gMCwK
CQkJICdERVJJVkVELUVYVCcgPT4gJ0JVRycsCgkJCSBESVNUX1NPVVJDRSAgID0+IDEsCgkJCSBW
RVJCT1NFICAgPT4gJHZlcmJvc2UsCgkJCSAnVkVSQk9TRS1OT0RFUCcgPT4gJHZlcmJvc2Vfbm9k
ZXAsCgkJCSBTSUxFTlQgICAgPT4gJHNpbGVudCwKCQkJKTsKCgkjIEdlbmVyYXRlIHRoZSBhcHBy
b3ByaWF0ZSBydWxlcyBmb3IgdGhpcyBleHRlbnNpb24uCglpZiAoKCghIG9wdGlvbiAnbm8tZGVw
ZW5kZW5jaWVzJykgJiYgJGxhbmctPmF1dG9kZXAgbmUgJ25vJykKCSAgICB8fCBkZWZpbmVkICRs
YW5nLT5jb21waWxlKQoJewoJICAgICMgQ29tcHV0ZSBhIHBvc3NpYmxlIGRlcml2ZWQgZXh0ZW5z
aW9uLgoJICAgICMgVGhpcyBpcyBub3QgdXNlZCBieSBkZXBlbmQyLmFtLgoJICAgIG15ICRkZXJf
ZXh0ID0gKCRsYW5nLT5vdXRwdXRfZXh0ZW5zaW9ucy0+KCRleHQpKVswXTsKCgkgICAgIyBXaGVu
IHdlIG91dHB1dCBhbiBpbmZlcmVuY2UgcnVsZSBsaWtlICcuYy5vOicgd2UKCSAgICAjIGhhdmUg
dHdvIGNhc2VzIHRvIGNvbnNpZGVyOiBlaXRoZXIgc3ViZGlyLW9iamVjdHMKCSAgICAjIGlzIHVz
ZWQsIG9yIGl0IGlzIG5vdC4KCSAgICAjCgkgICAgIyBJbiB0aGUgbGF0dGVyIGNhc2UgdGhlIHJ1
bGUgaXMgdXNlZCB0byBidWlsZCBvYmplY3RzCgkgICAgIyBpbiB0aGUgY3VycmVudCBkaXJlY3Rv
cnksIGFuZCBkZXBlbmRlbmNpZXMgYWx3YXlzCgkgICAgIyBnbyBpbnRvICcuLyQoREVQRElSKS8n
LiAgV2UgY2FuIGhhcmQtY29kZSB0aGlzIHZhbHVlLgoJICAgICMKCSAgICAjIEluIHRoZSBmb3Jt
ZXIgY2FzZSB0aGUgcnVsZSBjYW4gYmUgdXNlZCB0byBidWlsZAoJICAgICMgb2JqZWN0cyBpbiBz
dWItZGlyZWN0b3JpZXMgdG9vLiAgRGVwZW5kZW5jaWVzIHNob3VsZAoJICAgICMgZ28gaW50byB0
aGUgYXBwcm9wcmlhdGUgc3ViLWRpcmVjdG9yaWVzLCBlLmcuLAoJICAgICMgJ3N1Yi8kKERFUERJ
UikvJy4gIFRoZSB2YWx1ZSBvZiB0aGlzIGRpcmVjdG9yeQoJICAgICMgbmVlZHMgdG8gYmUgY29t
cHV0ZWQgb24tdGhlLWZseS4KCSAgICAjCgkgICAgIyBERVBCQVNFIGhvbGRzIHRoZSBuYW1lIG9m
IHRoaXMgZGlyZWN0b3J5LCBwbHVzIHRoZQoJICAgICMgYmFzZW5hbWUgcGFydCBvZiB0aGUgb2Jq
ZWN0IGZpbGUgKGV4dGVuc2lvbnMgUG8sIFRQbywKCSAgICAjIFBsbywgVFBsbyB3aWxsIGJlIGFk
ZGVkIGxhdGVyIGFzIGFwcHJvcHJpYXRlKS4gIEl0IGlzCgkgICAgIyBlaXRoZXIgaGFyZGNvZGVk
LCBvciBhIHNoZWxsIHZhcmlhYmxlICgnJGRlcGJhc2UnKSB0aGF0CgkgICAgIyB3aWxsIGJlIGNv
bXB1dGVkIGJ5IHRoZSBydWxlLgoJICAgIG15ICRkZXBiYXNlID0KCSAgICAgIG9wdGlvbiAoJ3N1
YmRpci1vYmplY3RzJykgPyAnJCRkZXBiYXNlJyA6ICckKERFUERJUikvJConOwoJICAgICRvdXRw
dXRfcnVsZXMgLj0KCSAgICAgIGZpbGVfY29udGVudHMgKCRydWxlX2ZpbGUsCgkJCSAgICAgbmV3
IEF1dG9tYWtlOjpMb2NhdGlvbiwKCQkJICAgICAldHJhbnNmb3JtLAoJCQkgICAgIEdFTkVSSUMg
ICA9PiAxLAoKCQkJICAgICAnREVSSVZFRC1FWFQnID0+ICRkZXJfZXh0LAoKCQkJICAgICBERVBC
QVNFICAgPT4gJGRlcGJhc2UsCgkJCSAgICAgQkFTRSAgICAgID0+ICckKicsCgkJCSAgICAgU09V
UkNFICAgID0+ICckPCcsCgkJCSAgICAgU09VUkNFRkxBRyA9PiAkc291cmNlZmxhZ3N7JGV4dH0g
fHwgJycsCgkJCSAgICAgT0JKICAgICAgID0+ICckQCcsCgkJCSAgICAgT0JKT0JKICAgID0+ICck
QCcsCgkJCSAgICAgTFRPQkogICAgID0+ICckQCcsCgoJCQkgICAgIENPTVBJTEUgICA9PiAnJCgn
IC4gJGxhbmctPmNvbXBpbGVyIC4gJyknLAoJCQkgICAgIExUQ09NUElMRSA9PiAnJChMVCcgLiAk
bGFuZy0+Y29tcGlsZXIgLiAnKScsCgkJCSAgICAgLW8gICAgICAgID0+ICRsYW5nLT5vdXRwdXRf
ZmxhZywKCQkJICAgICBTVUJESVJPQkogPT4gISEgb3B0aW9uICdzdWJkaXItb2JqZWN0cycpOwoJ
fQoKCSMgTm93IGluY2x1ZGUgY29kZSBmb3IgZWFjaCBzcGVjaWFsbHkgaGFuZGxlZCBvYmplY3Qg
d2l0aCB0aGlzCgkjIGxhbmd1YWdlLgoJbXkgJXNlZW5fZmlsZXMgPSAoKTsKCWZvcmVhY2ggbXkg
JGZpbGUgKEB7JGxhbmdfc3BlY2lmaWNfZmlsZXN7JGxhbmctPm5hbWV9fSkKCXsKCSAgICBteSAo
JGRlcml2ZWQsICRzb3VyY2UsICRvYmosICRteWV4dCwgJHNyY2V4dCwgJWZpbGVfdHJhbnNmb3Jt
KSA9IEAkZmlsZTsKCgkgICAgIyBXZSBtaWdodCBzZWUgYSBnaXZlbiBvYmplY3QgdHdpY2UsIGZv
ciBpbnN0YW5jZSBpZiBpdCBpcwoJICAgICMgdXNlZCB1bmRlciBkaWZmZXJlbnQgY29uZGl0aW9u
cy4KCSAgICBuZXh0IGlmIGRlZmluZWQgJHNlZW5fZmlsZXN7JG9ian07CgkgICAgJHNlZW5fZmls
ZXN7JG9ian0gPSAxOwoKCSAgICBwcm9nX2Vycm9yICgiZm91bmQgIiAuICRsYW5nLT5uYW1lIC4K
CQkJIiBpbiBoYW5kbGVfbGFuZ3VhZ2VzLCBidXQgY29tcGlsZXIgbm90IGRlZmluZWQiKQoJICAg
ICAgdW5sZXNzIGRlZmluZWQgJGxhbmctPmNvbXBpbGU7CgoJICAgIG15ICRvYmpfY29tcGlsZSA9
ICRsYW5nLT5jb21waWxlOwoKCSAgICAjIFJld3JpdGUgZWFjaCBvY2N1cnJlbmNlIG9mICdBTV8k
ZmxhZycgaW4gdGhlIGNvbXBpbGUKCSAgICAjIHJ1bGUgaW50byAnJHtkZXJpdmVkfV8kZmxhZycg
aWYgaXQgZXhpc3RzLgoJICAgIGZvciBteSAkZmxhZyAoQHskbGFuZy0+ZmxhZ3N9KQoJICAgICAg
ewoJCW15ICR2YWwgPSAiJHtkZXJpdmVkfV8kZmxhZyI7CgkJJG9ial9jb21waWxlID1+IHMvXChB
TV8kZmxhZ1wpL1woJHZhbFwpLwoJCSAgaWYgc2V0X3NlZW4gKCR2YWwpOwoJICAgICAgfQoKCSAg
ICBteSAkbGlidG9vbF90YWcgPSAnJzsKCSAgICBpZiAoJGxhbmctPmxpYnRvb2xfdGFnICYmIGV4
aXN0cyAkbGlidG9vbF90YWdzeyRsYW5nLT5saWJ0b29sX3RhZ30pCgkgICAgICB7CgkJJGxpYnRv
b2xfdGFnID0gJy0tdGFnPScgLiAkbGFuZy0+bGlidG9vbF90YWcgLiAnICcKCSAgICAgIH0KCgkg
ICAgbXkgJHB0bHRmbGFncyA9ICIke2Rlcml2ZWR9X0xJQlRPT0xGTEFHUyI7CgkgICAgJHB0bHRm
bGFncyA9ICdBTV9MSUJUT09MRkxBR1MnIHVubGVzcyBzZXRfc2VlbiAkcHRsdGZsYWdzOwoKCSAg
ICBteSAkbHR2ZXJib3NlID0gZGVmaW5lX3ZlcmJvc2VfbGlidG9vbCAoKTsKCSAgICBteSAkb2Jq
X2x0Y29tcGlsZSA9CgkgICAgICAiXCQoTElCVE9PTCkgJGx0dmVyYm9zZSAkbGlidG9vbF90YWdc
JCgkcHRsdGZsYWdzKSBcJChMSUJUT09MRkxBR1MpICIKCSAgICAgIC4gIi0tbW9kZT1jb21waWxl
ICRvYmpfY29tcGlsZSI7CgoJICAgICMgV2UgX25lZWRfICctbycgZm9yIHBlciBvYmplY3QgcnVs
ZXMuCgkgICAgbXkgJG91dHB1dF9mbGFnID0gJGxhbmctPm91dHB1dF9mbGFnIHx8ICctbyc7CgoJ
ICAgIG15ICRkZXBiYXNlID0gZGlybmFtZSAoJG9iaik7CgkgICAgJGRlcGJhc2UgPSAnJwoJCWlm
ICRkZXBiYXNlIGVxICcuJzsKCSAgICAkZGVwYmFzZSAuPSAnLycKCQl1bmxlc3MgJGRlcGJhc2Ug
ZXEgJyc7CgkgICAgJGRlcGJhc2UgLj0gJyQoREVQRElSKS8nIC4gYmFzZW5hbWUgKCRvYmopOwoK
CSAgICAkb3V0cHV0X3J1bGVzIC49CgkgICAgICBmaWxlX2NvbnRlbnRzICgkcnVsZV9maWxlLAoJ
CQkgICAgIG5ldyBBdXRvbWFrZTo6TG9jYXRpb24sCgkJCSAgICAgJXRyYW5zZm9ybSwKCQkJICAg
ICBHRU5FUklDICAgPT4gMCwKCgkJCSAgICAgREVQQkFTRSAgID0+ICRkZXBiYXNlLAoJCQkgICAg
IEJBU0UgICAgICA9PiAkb2JqLAoJCQkgICAgIFNPVVJDRSAgICA9PiAkc291cmNlLAoJCQkgICAg
IFNPVVJDRUZMQUcgPT4gJHNvdXJjZWZsYWdzeyRzcmNleHR9IHx8ICcnLAoJCQkgICAgICMgVXNl
ICRteWV4dCBhbmQgbm90ICcubycgaGVyZSwgaW4gY2FzZQoJCQkgICAgICMgd2UgYXJlIGFjdHVh
bGx5IGJ1aWxkaW5nIGEgbmV3IHNvdXJjZQoJCQkgICAgICMgZmlsZSAtLSBlLmcuIHZpYSB5YWNj
LgoJCQkgICAgIE9CSiAgICAgICA9PiAiJG9iaiRteWV4dCIsCgkJCSAgICAgT0JKT0JKICAgID0+
ICIkb2JqLm9iaiIsCgkJCSAgICAgTFRPQkogICAgID0+ICIkb2JqLmxvIiwKCgkJCSAgICAgVkVS
Qk9TRSAgID0+ICR2ZXJib3NlLAoJCQkgICAgICdWRVJCT1NFLU5PREVQJyAgPT4gJHZlcmJvc2Vf
bm9kZXAsCgkJCSAgICAgU0lMRU5UICAgID0+ICRzaWxlbnQsCgkJCSAgICAgQ09NUElMRSAgID0+
ICRvYmpfY29tcGlsZSwKCQkJICAgICBMVENPTVBJTEUgPT4gJG9ial9sdGNvbXBpbGUsCgkJCSAg
ICAgLW8gICAgICAgID0+ICRvdXRwdXRfZmxhZywKCQkJICAgICAlZmlsZV90cmFuc2Zvcm0pOwoJ
fQoKCSMgVGhlIHJlc3Qgb2YgdGhlIGxvb3AgaXMgZG9uZSBvbmNlIHBlciBsYW5ndWFnZS4KCW5l
eHQgaWYgZGVmaW5lZCAkZG9uZXskbGFuZ307CgkkZG9uZXskbGFuZ30gPSAxOwoKCSMgTG9hZCB0
aGUgbGFuZ3VhZ2UgZGVwZW5kZW50IE1ha2VmaWxlIGNodW5rcy4KCW15ICVsYW5nID0gbWFwIHsg
dWMgKCRfKSA9PiAwIH0ga2V5cyAlbGFuZ3VhZ2VzOwoJJGxhbmd7dWMgKCRsYW5nLT5uYW1lKX0g
PSAxOwoJJG91dHB1dF9ydWxlcyAuPSBmaWxlX2NvbnRlbnRzICgnbGFuZy1jb21waWxlJywKCQkJ
CQluZXcgQXV0b21ha2U6OkxvY2F0aW9uLAoJCQkJCSV0cmFuc2Zvcm0sICVsYW5nKTsKCgkjIElm
IHRoZSBzb3VyY2UgdG8gYSBwcm9ncmFtIGNvbnNpc3RzIGVudGlyZWx5IG9mIGNvZGUgZnJvbSBh
CgkjICdwdXJlJyBsYW5ndWFnZSwgZm9yIGluc3RhbmNlIEMrKyBvciBGb3J0cmFuIDc3LCB0aGVu
IHdlCgkjIGRvbid0IG5lZWQgdGhlIEMgY29tcGlsZXIgY29kZS4gIEhvd2V2ZXIgaWYgd2UgcnVu
IGludG8KCSMgc29tZXRoaW5nIHVudXN1YWwgdGhlbiB3ZSBkbyBnZW5lcmF0ZSB0aGUgQyBjb2Rl
LiAgVGhlcmUgYXJlCgkjIHByb2JhYmx5IGNvcm5lciBjYXNlcyBoZXJlIHRoYXQgZG8gbm90IHdv
cmsgcHJvcGVybHkuCgkjIFBlb3BsZSBsaW5raW5nIEphdmEgY29kZSB0byBGb3J0cmFuIGNvZGUg
ZGVzZXJ2ZSBwYWluLgoJJG5lZWRzX2MgfHw9ICEgJGxhbmctPnB1cmU7CgoJZGVmaW5lX2NvbXBp
bGVyX3ZhcmlhYmxlICgkbGFuZykKCSAgaWYgKCRsYW5nLT5jb21waWxlKTsKCglkZWZpbmVfbGlu
a2VyX3ZhcmlhYmxlICgkbGFuZykKCSAgaWYgKCRsYW5nLT5saW5rKTsKCglyZXF1aXJlX3Zhcmlh
YmxlcyAoIiRhbV9maWxlLmFtIiwgJGxhbmctPk5hbWUgLiAiIHNvdXJjZSBzZWVuIiwKCQkJICAg
VFJVRSwgQHskbGFuZy0+Y29uZmlnX3ZhcnN9KTsKCgkjIENhbGwgdGhlIGZpbmlzaGVyLgoJJGxh
bmctPmZpbmlzaDsKCgkjIEZsYWdzIGxpc3RlZCBpbiAnLT5mbGFncycgYXJlIHVzZXIgdmFyaWFi
bGVzIChwZXIgR05VIFN0YW5kYXJkcyksCgkjIHRoZXkgc2hvdWxkIG5vdCBiZSBvdmVycmlkZGVu
IGluIHRoZSBNYWtlZmlsZS4uLgoJbXkgQGRvbnRfb3ZlcnJpZGUgPSBAeyRsYW5nLT5mbGFnc307
CgkjIC4uLiBhbmQgc28gaXMgTERGTEFHUy4KCXB1c2ggQGRvbnRfb3ZlcnJpZGUsICdMREZMQUdT
JyBpZiAkbGFuZy0+bGluazsKCgljaGVja191c2VyX3ZhcmlhYmxlcyBAZG9udF9vdmVycmlkZTsK
ICAgIH0KCiAgICAjIElmIHRoZSBwcm9qZWN0IGlzIGVudGlyZWx5IEMrKyBvciBlbnRpcmVseSBG
b3J0cmFuIDc3IChpLmUuLCAxCiAgICAjIHN1ZmZpeCBydWxlIHdhcyBsZWFybmVkKSwgZG9uJ3Qg
Ym90aGVyIHdpdGggdGhlIEMgc3R1ZmYuICBCdXQgaWYKICAgICMgYW55dGhpbmcgZWxzZSBjcmVl
cHMgaW4sIHRoZW4gdXNlIGl0LgogICAgbXkgQGxhbmd1YWdlc19zZWVuID0gbWFwIHsgJGxhbmd1
YWdlc3skZXh0ZW5zaW9uX21hcHskX319LT5uYW1lIH0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAoc29ydCBrZXlzICVleHRlbnNpb25fc2Vlbik7CiAgICBAbGFuZ3VhZ2VzX3NlZW4gPSB1
bmlxIChAbGFuZ3VhZ2VzX3NlZW4pOwogICAgJG5lZWRzX2MgPSAxIGlmIEBsYW5ndWFnZXNfc2Vl
biA+IDE7CiAgICBpZiAoJG5lZWRfbGluayB8fCAkbmVlZHNfYykKICAgICAgewoJZGVmaW5lX2Nv
bXBpbGVyX3ZhcmlhYmxlICgkbGFuZ3VhZ2VzeydjJ30pCgkgIHVubGVzcyBkZWZpbmVkICRkb25l
eyRsYW5ndWFnZXN7J2MnfX07CglkZWZpbmVfbGlua2VyX3ZhcmlhYmxlICgkbGFuZ3VhZ2Vzeydj
J30pOwogICAgICB9Cn0KCgojIGFwcGVuZF9leGVleHQgeyBQUkVESUNBVEUgfSAkTUFDUk8KIyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQXBwZW5kICQoRVhFRVhUKSB0byBl
YWNoIGZpbGVuYW1lIGluICRGIGFwcGVhcmluZyBpbiB0aGUgTWFrZWZpbGUKIyB2YXJpYWJsZSAk
TUFDUk8gaWYgJlBSRURJQ0FURSgkRikgaXMgdHJ1ZS4gIEBzdWJzdGl0dXRpb25zQCBhcmUKIyBp
Z25vcmVkLgojCiMgVGhpcyBpcyB0eXBpY2FsbHkgdXNlZCBvbiBhbGwgZmlsZW5hbWVzIG9mICpf
UFJPR1JBTVMsIGFuZCBmaWxlbmFtZXMKIyBvZiBURVNUUyB0aGF0IGFyZSBwcm9ncmFtcy4Kc3Vi
IGFwcGVuZF9leGVleHQgKCYkKQp7CiAgbXkgKCRwcmVkLCAkbWFjcm8pID0gQF87CgogIHRyYW5z
Zm9ybV92YXJpYWJsZV9yZWN1cnNpdmVseQogICAgKCRtYWNybywgJG1hY3JvLCAnYW1fX0VYRUVY
VCcsIDAsIElOVEVSTkFMLAogICAgIHN1YiB7CiAgICAgICBteSAoJHN1YnZhciwgJHZhbCwgJGNv
bmQsICRmdWxsX2NvbmQpID0gQF87CiAgICAgICAjIEFwcGVuZCAkKEVYRUVYVCkgdW5sZXNzIHRo
ZSB1c2VyIGRpZCBpdCBhbHJlYWR5LCBvciBpdCdzIGEKICAgICAgICMgQHN1YnN0aXR1dGlvbkAu
CiAgICAgICAkdmFsIC49ICckKEVYRUVYVCknCgkgaWYgJHZhbCAhfiAvKD86XCRcKEVYRUVYVFwp
JHxeW0BdXHcrW0BdJCkvICYmICYkcHJlZCAoJHZhbCk7CiAgICAgICByZXR1cm4gJHZhbDsKICAg
ICB9KTsKfQoKCiMgQ2hlY2sgdG8gbWFrZSBzdXJlIGEgc291cmNlIGRlZmluZWQgaW4gTElCT0JK
UyBpcyBub3QgZXhwbGljaXRseQojIG1lbnRpb25lZC4gIFRoaXMgaXMgYSBzZXBhcmF0ZSBmdW5j
dGlvbiAoYXMgb3Bwb3NlZCB0byBiZWluZyBpbmxpbmVkCiMgaW4gaGFuZGxlX3NvdXJjZV90cmFu
c2Zvcm0pIGJlY2F1c2UgaXQgaXNuJ3QgYWx3YXlzIGFwcHJvcHJpYXRlIHRvCiMgZG8gdGhpcyBj
aGVjay4Kc3ViIGNoZWNrX2xpYm9ianNfc291cmNlcwp7CiAgbXkgKCRvbmVfZmlsZSwgJHVueGZv
cm1lZCkgPSBAXzsKCiAgZm9yZWFjaCBteSAkcHJlZml4ICgnJywgJ0VYVFJBXycsICdkaXN0Xycs
ICdub2Rpc3RfJywKCQkgICAgICAnZGlzdF9FWFRSQV8nLCAnbm9kaXN0X0VYVFJBXycpCiAgICB7
CiAgICAgIG15IEBmaWxlczsKICAgICAgbXkgJHZhcm5hbWUgPSAkcHJlZml4IC4gJG9uZV9maWxl
IC4gJ19TT1VSQ0VTJzsKICAgICAgbXkgJHZhciA9IHZhciAoJHZhcm5hbWUpOwogICAgICBpZiAo
JHZhcikKCXsKCSAgQGZpbGVzID0gJHZhci0+dmFsdWVfYXNfbGlzdF9yZWN1cnNpdmU7Cgl9CiAg
ICAgIGVsc2lmICgkcHJlZml4IGVxICcnKQoJewoJICBAZmlsZXMgPSAoJHVueGZvcm1lZCAuICcu
YycpOwoJfQogICAgICBlbHNlCgl7CgkgIG5leHQ7Cgl9CgogICAgICBmb3JlYWNoIG15ICRmaWxl
IChAZmlsZXMpCgl7CgkgIGVycl92YXIgKCRwcmVmaXggLiAkb25lX2ZpbGUgLiAnX1NPVVJDRVMn
LAoJCSAgICJhdXRvbWF0aWNhbGx5IGRpc2NvdmVyZWQgZmlsZSAnJGZpbGUnIHNob3VsZCBub3Qi
IC4KCQkgICAiIGJlIGV4cGxpY2l0bHkgbWVudGlvbmVkIikKCSAgICBpZiBkZWZpbmVkICRsaWJz
b3VyY2VzeyRmaWxlfTsKCX0KICAgIH0KfQoKCiMgQE9CSkVDVFMKIyBoYW5kbGVfc2luZ2xlX3Ry
YW5zZm9ybSAoJFZBUiwgJFRPUFBBUkVOVCwgJERFUklWRUQsICRPQkosICRGSUxFLCAlVFJBTlNG
T1JNKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRG9lcyBtdWNoIG9mIHRoZSBhY3R1YWwgd29y
ayBmb3IgaGFuZGxlX3NvdXJjZV90cmFuc2Zvcm0uCiMgQXJndW1lbnRzIGFyZToKIyAgICRWQVIg
aXMgdGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlIHRoYXQgdGhlIHNvdXJjZSBmaWxlbmFtZXMgY29t
ZSBmcm9tCiMgICAkVE9QUEFSRU5UIGlzIHRoZSBuYW1lIG9mIHRoZSBfU09VUkNFUyB2YXJpYWJs
ZSB3aGljaCBpcyBiZWluZyBwcm9jZXNzZWQKIyAgICRERVJJVkVEIGlzIHRoZSBuYW1lIG9mIHJl
c3VsdGluZyBleGVjdXRhYmxlIG9yIGxpYnJhcnkKIyAgICRPQkogaXMgdGhlIG9iamVjdCBleHRl
bnNpb24gKGUuZy4sICcubG8nKQojICAgJEZJTEUgdGhlIHNvdXJjZSBmaWxlIHRvIHRyYW5zZm9y
bQojICAgJVRSQU5TRk9STSBjb250YWlucyBleHRyYXMgYXJndW1lbnRzIHRvIHBhc3MgdG8gZmls
ZV9jb250ZW50cwojICAgICB3aGVuIHByb2R1Y2luZyBleHBsaWNpdCBydWxlcwojIFJlc3VsdCBp
cyBhIGxpc3Qgb2YgdGhlIG5hbWVzIG9mIG9iamVjdHMKIyAlbGlua2Vyc191c2VkIHdpbGwgYmUg
dXBkYXRlZCB3aXRoIGFueSBsaW5rZXJzIG5lZWRlZApzdWIgaGFuZGxlX3NpbmdsZV90cmFuc2Zv
cm0KewogICAgbXkgKCR2YXIsICR0b3BwYXJlbnQsICRkZXJpdmVkLCAkb2JqLCAkX2ZpbGUsICV0
cmFuc2Zvcm0pID0gQF87CiAgICBteSBAZmlsZXMgPSAoJF9maWxlKTsKICAgIG15IEByZXN1bHQg
PSAoKTsKCiAgICAjIFR1cm4gc291cmNlcyBpbnRvIG9iamVjdHMuICBXZSB1c2UgYSB3aGlsZSBs
b29wIGxpa2UgdGhpcwogICAgIyBiZWNhdXNlIHdlIG1pZ2h0IGFkZCB0byBAZmlsZXMgaW4gdGhl
IGxvb3AuCiAgICB3aGlsZSAoc2NhbGFyIEBmaWxlcyA+IDApCiAgICB7CgkkXyA9IHNoaWZ0IEBm
aWxlczsKCgkjIENvbmZpZ3VyZSBzdWJzdGl0dXRpb25zIGluIF9TT1VSQ0VTIHZhcmlhYmxlcyBh
cmUgZXJyb3JzLgoJaWYgKC9eXEAuKlxAJC8pCgl7CgkgIG15ICRwYXJlbnRfbXNnID0gJyc7Cgkg
ICRwYXJlbnRfbXNnID0gIlxuYW5kIGlzIHJlZmVycmVkIHRvIGZyb20gJyR0b3BwYXJlbnQnIgoJ
ICAgIGlmICR0b3BwYXJlbnQgbmUgJHZhci0+bmFtZTsKCSAgZXJyX3ZhciAoJHZhciwKCQkgICAi
JyIgLiAkdmFyLT5uYW1lIC4gIicgaW5jbHVkZXMgY29uZmlndXJlIHN1YnN0aXR1dGlvbiAnJF8n
IgoJCSAgIC4gJHBhcmVudF9tc2cgLiAiO1xuY29uZmlndXJlICIgLgoJCSAgICJzdWJzdGl0dXRp
b25zIGFyZSBub3QgYWxsb3dlZCBpbiBfU09VUkNFUyB2YXJpYWJsZXMiKTsKCSAgbmV4dDsKCX0K
CgkjIElmIHRoZSBzb3VyY2UgZmlsZSBpcyBpbiBhIHN1YmRpcmVjdG9yeSB0aGVuIHRoZSAnLm8n
IGlzIHB1dAoJIyBpbnRvIHRoZSBjdXJyZW50IGRpcmVjdG9yeSwgdW5sZXNzIHRoZSBzdWJkaXIt
b2JqZWN0cyBvcHRpb24KCSMgaXMgaW4gZWZmZWN0LgoKCSMgU3BsaXQgZmlsZSBuYW1lIGludG8g
YmFzZSBhbmQgZXh0ZW5zaW9uLgoJbmV4dCBpZiAhIC9eKD86KC4qKVwvKT8oW15cL10qKSgkS05P
V05fRVhURU5TSU9OU19QQVRURVJOKSQvOwoJbXkgJGZ1bGwgPSAkXzsKCW15ICRkaXJlY3Rvcnkg
PSAkMSB8fCAnJzsKCW15ICRiYXNlID0gJDI7CglteSAkZXh0ZW5zaW9uID0gJDM7CgoJIyBXZSBt
dXN0IGdlbmVyYXRlIGEgcnVsZSBmb3IgdGhlIG9iamVjdCBpZiBpdCByZXF1aXJlcyBpdHMgb3du
IGZsYWdzLgoJbXkgJHJlbmFtZWQgPSAwOwoJbXkgKCRsaW5rZXIsICRvYmplY3QpOwoKICAgICAg
ICAjIFRoaXMgcmVjb3JkcyB3aGV0aGVyIHdlJ3ZlIHNlZW4gYSBkZXJpdmVkIHNvdXJjZSBmaWxl
IChlLmcuLCB5YWNjCiAgICAgICAgIyBvciBsZXggb3V0cHV0KS4KICAgICAgICBteSAkZGVyaXZl
ZF9zb3VyY2U7CgoJIyBUaGlzIGhvbGRzIHRoZSAnYWdncmVnYXRlIGNvbnRleHQnIG9mIHRoZSBm
aWxlIHdlIGFyZQoJIyBjdXJyZW50bHkgZXhhbWluaW5nLiAgSWYgdGhlIGZpbGUgaXMgY29tcGls
ZWQgd2l0aAoJIyBwZXItb2JqZWN0IGZsYWdzLCB0aGVuIGl0IHdpbGwgYmUgdGhlIG5hbWUgb2Yg
dGhlIG9iamVjdC4KCSMgT3RoZXJ3aXNlIGl0IHdpbGwgYmUgJ0FNJy4gIFRoaXMgaXMgdXNlZCBi
eSB0aGUgdGFyZ2V0IGhvb2sKCSMgbGFuZ3VhZ2UgZnVuY3Rpb24uCglteSAkYWdncmVnYXRlID0g
J0FNJzsKCgkkZXh0ZW5zaW9uID0gZGVyaXZlX3N1ZmZpeCAoJGV4dGVuc2lvbiwgJG9iaik7Cglt
eSAkbGFuZzsKCWlmICgkZXh0ZW5zaW9uX21hcHskZXh0ZW5zaW9ufSAmJgoJICAgICgkbGFuZyA9
ICRsYW5ndWFnZXN7JGV4dGVuc2lvbl9tYXB7JGV4dGVuc2lvbn19KSkKCXsKCSAgICAjIEZvdW5k
IHRoZSBsYW5ndWFnZSwgc28gc2VlIHdoYXQgaXQgc2F5cy4KCSAgICBzYXdfZXh0ZW5zaW9uICgk
ZXh0ZW5zaW9uKTsKCgkgICAgIyBEbyB3ZSBoYXZlIHBlci1leGVjdXRhYmxlIGZsYWdzIGZvciB0
aGlzIGV4ZWN1dGFibGU/CgkgICAgbXkgJGhhdmVfcGVyX2V4ZWNfZmxhZ3MgPSAwOwoJICAgIG15
IEBwZWZsYWdzID0gQHskbGFuZy0+ZmxhZ3N9OwoJICAgIHB1c2ggQHBlZmxhZ3MsICdMSUJUT09M
RkxBR1MnIGlmICRvYmogZXEgJy5sbyc7CgkgICAgZm9yZWFjaCBteSAkZmxhZyAoQHBlZmxhZ3Mp
CgkgICAgICB7CgkJaWYgKHNldF9zZWVuICgiJHtkZXJpdmVkfV8kZmxhZyIpKQoJCSAgewoJCSAg
ICAkaGF2ZV9wZXJfZXhlY19mbGFncyA9IDE7CgkJICAgIGxhc3Q7CgkJICB9CgkgICAgICB9CgoJ
ICAgICMgTm90ZTogY29tcHV0ZWQgc3ViciBjYWxsLiAgVGhlIGxhbmd1YWdlIHJld3JpdGUgZnVu
Y3Rpb24KCSAgICAjIHNob3VsZCByZXR1cm4gb25lIG9mIHRoZSBMQU5HXyogY29uc3RhbnRzLiAg
SXQgY291bGQKCSAgICAjIGFsc28gcmV0dXJuIGEgbGlzdCB3aG9zZSBmaXJzdCB2YWx1ZSBpcyBz
dWNoIGEgY29uc3RhbnQKCSAgICAjIGFuZCB3aG9zZSBzZWNvbmQgdmFsdWUgaXMgYSBuZXcgc291
cmNlIGV4dGVuc2lvbiB3aGljaAoJICAgICMgc2hvdWxkIGJlIGFwcGxpZWQuICBUaGlzIG1lYW5z
IHRoaXMgcGFydGljdWxhciBsYW5ndWFnZQoJICAgICMgZ2VuZXJhdGVzIGFub3RoZXIgc291cmNl
IGZpbGUgd2hpY2ggd2UgbXVzdCB0aGVuIHByb2Nlc3MKCSAgICAjIGZ1cnRoZXIuCgkgICAgbXkg
JHN1YnIgPSBcJnsnbGFuZ18nIC4gJGxhbmctPm5hbWUgLiAnX3Jld3JpdGUnfTsKCSAgICBkZWZp
bmVkICYkc3ViciBvciAkc3ViciA9IFwmbGFuZ19zdWJfb2JqOwoJICAgIG15ICgkciwgJHNvdXJj
ZV9leHRlbnNpb24pCgkJPSAmJHN1YnIgKCRkaXJlY3RvcnksICRiYXNlLCAkZXh0ZW5zaW9uLAoJ
CQkgICRvYmosICRoYXZlX3Blcl9leGVjX2ZsYWdzLCAkdmFyKTsKCSAgICAjIFNraXAgdGhpcyBl
bnRyeSBpZiB3ZSB3ZXJlIGFza2VkIG5vdCB0byBwcm9jZXNzIGl0LgoJICAgIG5leHQgaWYgJHIg
PT0gTEFOR19JR05PUkU7CgoJICAgICMgTm93IGV4dHJhY3QgbGlua2VyIGFuZCBvdGhlciBpbmZv
LgoJICAgICRsaW5rZXIgPSAkbGFuZy0+bGlua2VyOwoKICAgICAgICAgICAgbXkgJHRoaXNfb2Jq
X2V4dDsKICAgICAgICAgICAgaWYgKGRlZmluZWQgJHNvdXJjZV9leHRlbnNpb24pCiAgICAgICAg
ICAgICAgewogICAgICAgICAgICAgICAgJHRoaXNfb2JqX2V4dCA9ICRzb3VyY2VfZXh0ZW5zaW9u
OwogICAgICAgICAgICAgICAgJGRlcml2ZWRfc291cmNlID0gMTsKICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkdGhpc19vYmpf
ZXh0ID0gJG9iajsKICAgICAgICAgICAgICAgICRkZXJpdmVkX3NvdXJjZSA9IDA7CiAgICAgICAg
ICAgICAgICAjIERvbid0IGV2ZXIgcGxhY2UgYnVpbHQgb2JqZWN0IGZpbGVzIGluICQoc3JjZGly
KSwKICAgICAgICAgICAgICAgICMgZXZlbiB3aGVuIHNvdXJjZXMgYXJlIHNwZWNpZmllZCBleHBs
aWNpdGx5IGFzIChzYXkpCiAgICAgICAgICAgICAgICAjICckKHNyY2RpcikvZm9vLmMnIG9yICck
KHRvcF9zcmNkaXIpL2Zvby5jJy4KICAgICAgICAgICAgICAgICMgU2VlIGF1dG9tYWtlIGJ1ZyMx
MzkyOC4KICAgICAgICAgICAgICAgIG15IEBkID0gc3BsaXQgJy8nLCAkZGlyZWN0b3J5OwogICAg
ICAgICAgICAgICAgaWYgKEBkID4gMCAmJiBvcHRpb24gJ3N1YmRpci1vYmplY3RzJykKICAgICAg
ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIG15ICRkID0gJGRbMF07CiAgICAgICAg
ICAgICAgICAgICAgaWYgKCRkIGVxICckKHNyY2RpciknIG9yICRkIGVxICcke3NyY2Rpcn0nKQog
ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBzaGlmdCBAZDsK
ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBlbHNpZiAoJGQgZXEg
JyQodG9wX3NyY2RpciknIG9yICRkIGVxICcke3RvcF9zcmNkaXJ9JykKICAgICAgICAgICAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGRbMF0gPSAnJCh0b3BfYnVpbGRkaXIp
JzsKICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAkZGlyZWN0b3J5
ID0gam9pbiAnLycsIEBkOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAkb2JqZWN0ID0gJGJhc2UgLiAkdGhpc19vYmpfZXh0OwoKCSAgICBpZiAoJGhhdmVf
cGVyX2V4ZWNfZmxhZ3MpCgkgICAgewoJCSMgV2UgaGF2ZSBhIHBlci1leGVjdXRhYmxlIGZsYWcg
aW4gZWZmZWN0IGZvciB0aGlzCgkJIyBvYmplY3QuICBJbiB0aGlzIGNhc2Ugd2UgcmV3cml0ZSB0
aGUgb2JqZWN0J3MKCQkjIG5hbWUgdG8gZW5zdXJlIGl0IGlzIHVuaXF1ZS4KCiAgICAgICAgICAg
ICAgICAjIFdlIGNob29zZSB0aGUgbmFtZSAnREVSSVZFRF9PQkpFQ1QnIHRvIGVuc3VyZSAoMSkg
dW5pcXVlbmVzcywKICAgICAgICAgICAgICAgICMgYW5kICgyKSBjb250aW51aXR5IGJldHdlZW4g
aW52b2NhdGlvbnMuICBIb3dldmVyLCB0aGlzIHdpbGwKICAgICAgICAgICAgICAgICMgcmVzdWx0
IGluIGEgbmFtZSB0aGF0IGlzIHRvbyBsb25nIGZvciBsb3Npbmcgc3lzdGVtcywgaW4gc29tZQog
ICAgICAgICAgICAgICAgIyBzaXR1YXRpb25zLiAgU28gd2UgYXR0ZW1wdCB0byBzaG9ydGVuIGF1
dG9tYXRpY2FsbHkgdW5kZXIKICAgICAgICAgICAgICAgICMgc3ViZGlyLW9iamVjdHMsIGFuZCBw
cm92aWRlIF9TSE9SVE5BTUUgdG8gb3ZlcnJpZGUgYXMgYSBsYXN0CiAgICAgICAgICAgICAgICAj
IHJlc29ydC4gIElmIHN1YmRpci1vYmplY3QgaXMgaW4gZWZmZWN0LCBpdCdzIHVzdWFsbHkKICAg
ICAgICAgICAgICAgICMgdW5uZWNlc3NhcnkgdG8gdXNlIHRoZSBjb21wbGV0ZSAnREVSSVZFRF9P
QkpFQ1QnICh0aGF0IGlzCiAgICAgICAgICAgICAgICAjIG9mdGVuIHRoZSByZXN1bHQgZnJvbSAl
Y2Fub25fcmVsZGlyJS8lQyUgdXNhZ2UpIHNpbmNlIG9iamVjdHMKICAgICAgICAgICAgICAgICMg
YXJlIHBsYWNlZCBuZXh0IHRvIHRoZWlyIHNvdXJjZSBmaWxlLiAgR2VuZXJhbGx5LCB0aGlzIG1l
YW5zCiAgICAgICAgICAgICAgICAjIGl0IGlzIGFscmVhZHkgdW5pcXVlIHdpdGhpbiB0aGF0IGRp
cmVjdG9yeSAoc2VlIGJlbG93IGZvciBhbgogICAgICAgICAgICAgICAgIyBleGNlcHRpb24pLiAg
VGh1cywgd2UgdHJ5IHRvIGF2b2lkIHVubmVjZXNzYXJpbHkgbG9uZyBmaWxlCiAgICAgICAgICAg
ICAgICAjIG5hbWVzIGJ5IHN0cmlwcGluZyB0aGUgZGlyZWN0b3J5IGNvbXBvbmVudHMgb2YKICAg
ICAgICAgICAgICAgICMgJ0RFUklWRURfT0JKRUNUJy4gIFRoaXMgYWxsb3dzIGF2b2lkaW5nIGV4
cGxpY2l0IF9TSE9SVE5BTUUKICAgICAgICAgICAgICAgICMgdXNhZ2UgaW4gbWFueSBjYXNlcy4g
IEVYQ0VQVElPTjogSWYgdHdvIChvciBtb3JlKSB0YXJnZXRzIGluCiAgICAgICAgICAgICAgICAj
IGRpZmZlcmVudCBkaXJlY3RvcmllcyBidXQgd2l0aCB0aGUgc2FtZSBiYXNlIG5hbWUgKGFmdGVy
CiAgICAgICAgICAgICAgICAjIGNhbm9uaWNhbGl6YXRpb24pLCB1c2luZyB0YXJnZXQtc3BlY2lm
aWMgRkxBR1MsIGxpbmsgdGhlIHNhbWUKICAgICAgICAgICAgICAgICMgb2JqZWN0LCB0aGVuIHRo
aXMgbG9naWMgY2xhc2hlcy4gIFRodXMsIHdlIGRvbid0IHN0cmlwIGlmCiAgICAgICAgICAgICAg
ICAjIHRoaXMgaXMgZGV0ZWN0ZWQuCiAgICAgICAgICAgICAgICBteSAkZG5hbWUgPSAkZGVyaXZl
ZDsKICAgICAgICAgICAgICAgIGlmICgkZGlyZWN0b3J5IG5lICcnCiAgICAgICAgICAgICAgICAg
ICAgJiYgb3B0aW9uICdzdWJkaXItb2JqZWN0cycKICAgICAgICAgICAgICAgICAgICAmJiBub25l
IHsgJGRuYW1lID1+IC8kX1swXSQvIH0gQGR1cF9zaG9ydG5hbWVzKQogICAgICAgICAgICAgICAg
ICB7CiAgICAgICAgICAgICAgICAgICAgIyBBdCB0aGlzIHBvaW50LCB3ZSBkb24ndCBjbGVhciBp
bmZvcm1hdGlvbiBhYm91dCB3aGF0CiAgICAgICAgICAgICAgICAgICAgIyBwYXJ0cyBvZiAkZGVy
aXZlZCBhcmUgdHJ1bHkgZmlsZSBuYW1lIGNvbXBvbmVudHMuICBXZSBjYW4KICAgICAgICAgICAg
ICAgICAgICAjIGRldGVybWluZSB0aGF0IGJ5IGNvbXBhcmluZyBhZ2FpbnN0IHRoZSBjYW5vbmlj
YWxpemF0aW9uCiAgICAgICAgICAgICAgICAgICAgIyBvZiAkZGlyZWN0b3J5LgogICAgICAgICAg
ICAgICAgICAgIG15ICRkaXIgPSAkZGlyZWN0b3J5IC4gIi8iOwogICAgICAgICAgICAgICAgICAg
IG15ICRjZGlyID0gY2Fub25pY2FsaXplICgkZGlyKTsKICAgICAgICAgICAgICAgICAgICBteSAk
ZGlyX2xlbiA9IGxlbmd0aCAoJGRpcik7CiAgICAgICAgICAgICAgICAgICAgIyBNYWtlIHN1cmUg
d2Ugb25seSBzdHJpcCBmdWxsIGZpbGUgbmFtZSBjb21wb25lbnRzLiAgVGhpcwogICAgICAgICAg
ICAgICAgICAgICMgaXMgZG9uZSBieSByZXBlYXRlZGx5IHRyeWluZyB0byBmaW5kIGNkaXIgYXQg
dGhlCiAgICAgICAgICAgICAgICAgICAgIyBiZWdpbm5pbmcuICBFYWNoIGl0ZXJhdGlvbiByZW1v
dmVzIG9uZSBmaWxlIG5hbWUKICAgICAgICAgICAgICAgICAgICAjIGNvbXBvbmVudCBmcm9tIHRo
ZSBlbmQgb2YgY2Rpci4KICAgICAgICAgICAgICAgICAgICB3aGlsZSAoJGRpcl9sZW4gPiAwICYm
IGluZGV4ICgkZGVyaXZlZCwgJGNkaXIpICE9IDApCiAgICAgICAgICAgICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICAgICAgICAgICMgRXZlbnR1YWxseSAkZGlyX2xlbiBiZWNvbWVzIDAuCiAg
ICAgICAgICAgICAgICAgICAgICAgICRkaXJfbGVuID0gcmluZGV4ICgkZGlyLCAiLyIsICRkaXJf
bGVuIC0gMikgKyAxOwogICAgICAgICAgICAgICAgICAgICAgICAkY2RpciA9IHN1YnN0ciAoJGNk
aXIsIDAsICRkaXJfbGVuKTsKICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg
ICAgICAkZG5hbWUgPSBzdWJzdHIgKCRkZXJpdmVkLCAkZGlyX2xlbik7CiAgICAgICAgICAgICAg
ICAgIH0KCQlteSAkdmFyID0gdmFyICgkZGVyaXZlZCAuICdfU0hPUlROQU1FJyk7CgkJaWYgKCR2
YXIpCgkJewoJCSAgICAjIEZJWE1FOiBzaG91bGQgdXNlIHRoZSBzYW1lIENvbmRpdGlvbiBhcwoJ
CSAgICAjIHRoZSBfU09VUkNFUyB2YXJpYWJsZS4gIEJ1dCB0aGlzIGlzIHJlYWxseQoJCSAgICAj
IHNpbGx5IG92ZXJraWxsIC0tIG5vYm9keSBzaG91bGQgaGF2ZQoJCSAgICAjIGNvbmRpdGlvbmFs
IHNob3J0bmFtZXMuCgkJICAgICRkbmFtZSA9ICR2YXItPnZhcmlhYmxlX3ZhbHVlOwoJCX0KCQkk
b2JqZWN0ID0gJGRuYW1lIC4gJy0nIC4gJG9iamVjdDsKCgkJcHJvZ19lcnJvciAoJGxhbmctPm5h
bWUgLiAiIGZsYWdzIGRlZmluZWQgd2l0aG91dCBjb21waWxlciIpCgkJICBpZiAhIGRlZmluZWQg
JGxhbmctPmNvbXBpbGU7CgoJCSRyZW5hbWVkID0gMTsKCSAgICB9CgoJICAgICMgSWYgcmV3cml0
ZSBzYWlkIGl0IHdhcyBvaywgcHV0IHRoZSBvYmplY3QgaW50byBhIHN1YmRpci4KCSAgICBpZiAo
JGRpcmVjdG9yeSBuZSAnJykKCSAgICB7CiAgICAgICAgICAgICAgaWYgKCRyID09IExBTkdfU1VC
RElSKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAkb2JqZWN0ID0gJGRpcmVj
dG9yeSAuICcvJyAuICRvYmplY3Q7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgZWxz
ZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAjIFNpbmNlIHRoZSBuZXh0IG1h
am9yIHZlcnNpb24gb2YgYXV0b21ha2UgKDIuMCkgd2lsbAogICAgICAgICAgICAgICAgICAjIG1h
a2UgdGhlIGJlaGF2aW9yIHNvIGZhciBvbmx5IGFjdGl2YXRlZCB3aXRoIHRoZQogICAgICAgICAg
ICAgICAgICAjICdzdWJkaXItb2JqZWN0cycgb3B0aW9uIG1hbmRhdG9yeSwgaXQncyBiZXR0ZXIg
aWYgd2UKICAgICAgICAgICAgICAgICAgIyBzdGFydCB3YXJuaW5nIHVzZXJzIG5vdCB1c2luZyB0
aGF0IG9wdGlvbi4KICAgICAgICAgICAgICAgICAgIyBBcyBzdWdnZXN0ZWQgYnkgUGV0ZXIgSm9o
YW5zc29uLCB3ZSBzdHJpdmUgdG8gYXZvaWQKICAgICAgICAgICAgICAgICAgIyB0aGUgd2Fybmlu
ZyB3aGVuIGl0IHdvdWxkIGJlIGlycmVsZXZhbnQsIGkuZS4sIGlmCiAgICAgICAgICAgICAgICAg
ICMgYWxsIHNvdXJjZSBmaWxlcyBzaXQgaW4gImN1cnJlbnQiIGRpcmVjdG9yeS4KICAgICAgICAg
ICAgICAgICAgIwogICAgICAgICAgICAgICAgICAjIFRoZXJlIGFyZSBwcm9ibGVtcyB3aXRoIG1h
a2luZyB0aGlzIGNoYW5nZTsgc2VlCiAgICAgICAgICAgICAgICAgICMgaHR0cHM6Ly9idWdzLmdu
dS5vcmcvMjA2OTkgYmVmb3JlIG1ha2luZwogICAgICAgICAgICAgICAgICAjIHN1YmRpci1vYmpl
Y3RzLCBsZXQgYWxvbmUgdW5jb25kaXRpb25hbC4KICAgICAgICAgICAgICAgICAgIyAoTWFraW5n
IGl0IG5vbi1vdmVycmlkYWJsZSBzZWVtcyBlc3BlY2lhbGx5IHdyb25nLikKICAgICAgICAgICAg
ICAgICAgIwogICAgICAgICAgICAgICAgICBtc2dfdmFyICd1bnN1cHBvcnRlZCcsICR2YXIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSBmaWxlICckZnVsbCcgaXMgaW4gYSBzdWJk
aXJlY3RvcnksIgogICAgICAgICAgICAgICAgICAgICAgICAgIC4gIlxuYnV0IG9wdGlvbiAnc3Vi
ZGlyLW9iamVjdHMnIGlzIGRpc2FibGVkIjsKICAgICAgICAgICAgICAgICAgbXNnICd1bnN1cHBv
cnRlZCcsIElOVEVSTkFMLCA8PCdFT0YnLCB1bmlxX3Njb3BlID0+IFVTX0dMT0JBTDsKcG9zc2li
bGUgZm9yd2FyZC1pbmNvbXBhdGliaWxpdHkuCkF0IGxlYXN0IG9uZSBzb3VyY2UgZmlsZSBpcyBp
biBhIHN1YmRpcmVjdG9yeSwgYnV0IHRoZSAnc3ViZGlyLW9iamVjdHMnCmF1dG9tYWtlIG9wdGlv
biBoYXNuJ3QgYmVlbiBlbmFibGVkLiAgRm9yIG5vdywgdGhlIGNvcnJlc3BvbmRpbmcgb3V0cHV0
Cm9iamVjdCBmaWxlKHMpIHdpbGwgYmUgcGxhY2VkIGluIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5
LiAgSG93ZXZlciwgdGhpcwpiZWhhdmlvciBtYXkgY2hhbmdlIGluIGEgZnV0dXJlIEF1dG9tYWtl
IG1ham9yIHZlcnNpb24sIHdpdGggb2JqZWN0CmZpbGVzIGJlaW5nIHBsYWNlZCBpbiB0aGUgc2Ft
ZSBzdWJkaXJlY3RvcnkgYXMgdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlcy4KWW91IGFyZSBhZHZp
c2VkIHRvIHN0YXJ0IHVzaW5nICdzdWJkaXItb2JqZWN0cycgb3B0aW9uIHRocm91Z2hvdXQgeW91
cgpwcm9qZWN0LCB0byBhdm9pZCBmdXR1cmUgaW5jb21wYXRpYmlsaXR5LgpFT0YKICAgICAgICAg
ICAgICAgIH0KCSAgICB9CgoJICAgICMgSWYgdGhlIG9iamVjdCBmaWxlIGhhcyBiZWVuIHJlbmFt
ZWQgKGJlY2F1c2UgcGVyLXRhcmdldAoJICAgICMgZmxhZ3MgYXJlIHVzZWQpIHdlIGNhbm5vdCBj
b21waWxlIHRoZSBmaWxlIHdpdGggYW4KCSAgICAjIGluZmVyZW5jZSBydWxlOiB3ZSBuZWVkIGFu
IGV4cGxpY2l0IHJ1bGUuCgkgICAgIwoJICAgICMgSWYgdGhlIHNvdXJjZSBpcyBpbiBhIHN1YmRp
cmVjdG9yeSBhbmQgdGhlIG9iamVjdCBpcyBpbgoJICAgICMgdGhlIGN1cnJlbnQgZGlyZWN0b3J5
LCB3ZSBhbHNvIG5lZWQgYW4gZXhwbGljaXQgcnVsZS4KCSAgICAjCgkgICAgIyBJZiBib3RoIHNv
dXJjZSBhbmQgb2JqZWN0IGZpbGVzIGFyZSBpbiBhIHN1YmRpcmVjdG9yeQoJICAgICMgKHRoaXMg
aGFwcGVucyB3aGVuIHRoZSBzdWJkaXItb2JqZWN0cyBvcHRpb24gaXMgdXNlZCksCgkgICAgIyB0
aGVuIHRoZSBpbmZlcmVuY2Ugd2lsbCB3b3JrLgoJICAgICMKCSAgICAjIFRoZSBsYXR0ZXIgY2Fz
ZSBkZXNlcnZlcyBhIGhpc3RvcmljYWwgbm90ZS4gIFdoZW4gdGhlCgkgICAgIyBzdWJkaXItb2Jq
ZWN0cyBvcHRpb24gd2FzIGFkZGVkIG9uIDE5OTktMDQtMTEgaXQgd2FzCgkgICAgIyB0aG91Z2h0
IHRoYXQgaW5mZXJlbmNlcyBydWxlcyB3b3VsZCB3b3JrIGZvcgoJICAgICMgc3ViZGlyZWN0b3J5
IG9iamVjdHMgdG9vLiAgTGF0ZXIsIG9uIDE5OTktMTEtMjIsCgkgICAgIyBhdXRvbWFrZSB3YXMg
Y2hhbmdlZCB0byBvdXRwdXQgZXhwbGljaXQgcnVsZXMgZXZlbiBmb3IKCSAgICAjIHN1YmRpci1v
YmplY3RzLiAgTm9ib2R5IHJlbWVtYmVycyB3aHksIGJ1dCB0aGlzIG9jY3VycmVkCgkgICAgIyBz
b29uIGFmdGVyIHRoZSBtZXJnZSBvZiB0aGUgdXNlci1kZXAtZ2VuLWJyYW5jaCBzbyBpdAoJICAg
ICMgbWlnaHQgYmUgcmVsYXRlZC4gIEluIGxhdGUgMjAwMyBwZW9wbGUgY29tcGxhaW5lZCBhYm91
dAoJICAgICMgdGhlIHNpemUgb2YgdGhlIGdlbmVyYXRlZCBNYWtlZmlsZS5pbnMgKGxpYmdjaiwg
d2l0aAoJICAgICMgMjIwMCsgc3ViZGlyIG9iamVjdHMgd2FzIHJlcG9ydGVkIHRvIGhhdmUgYSA5
TUIKCSAgICAjIE1ha2VmaWxlKSwgc28gd2Ugbm93IHJlbHkgb24gaW5mZXJlbmNlIHJ1bGVzIGFn
YWluLgoJICAgICMgTWF5YmUgd2UnbGwgcnVuIGFjcm9zcyB0aGUgc2FtZSBpc3N1ZSBhcyBpbiB0
aGUgcGFzdCwKCSAgICAjIGJ1dCBhdCBsZWFzdCB0aGlzIHRpbWUgd2UgY2FuIGRvY3VtZW50IGl0
LiAgSG93ZXZlciBzaW5jZQoJICAgICMgZGVwZW5kZW5jeSB0cmFja2luZyBoYXMgZXZvbHZlZCBp
dCBpcyBwb3NzaWJsZSB0aGF0CgkgICAgIyBvdXIgb2xkIHByb2JsZW0gbm8gbG9uZ2VyIGV4aXN0
cy4KCSAgICAjIFVzaW5nIGluZmVyZW5jZSBydWxlcyBmb3Igc3ViZGlyLW9iamVjdHMgaGFzIGJl
ZW4gdGVzdGVkCgkgICAgIyB3aXRoIEdOVSBtYWtlLCBTb2xhcmlzIG1ha2UsIFVsdHJpeCBtYWtl
LCBCU0QgbWFrZSwKCSAgICAjIEhQLVVYIG1ha2UsIGFuZCBPU0YxIG1ha2Ugc3VjY2Vzc2Z1bGx5
LgoJICAgIGlmICgkcmVuYW1lZAoJCXx8ICgkZGlyZWN0b3J5IG5lICcnICYmICEgb3B0aW9uICdz
dWJkaXItb2JqZWN0cycpCgkJIyBXZSBtdXN0IGFsc28gdXNlIHNwZWNpZmljIHJ1bGVzIGZvciBh
IG5vZGlzdF8gc291cmNlCgkJIyBpZiBpdHMgbGFuZ3VhZ2UgcmVxdWVzdHMgaXQuCgkJfHwgKCRs
YW5nLT5ub2Rpc3Rfc3BlY2lmaWMgJiYgISAkdHJhbnNmb3JteydESVNUX1NPVVJDRSd9KSkKCSAg
ICB7CgkJbXkgJG9ial9zYW5zX2V4dCA9IHN1YnN0ciAoJG9iamVjdCwgMCwKCQkJCQkgICAtIGxl
bmd0aCAoJHRoaXNfb2JqX2V4dCkpOwoJCW15ICRmdWxsX2Fuc2k7CgkJaWYgKCRkaXJlY3Rvcnkg
bmUgJycpCgkgICAgICAgICAgewoJCQkkZnVsbF9hbnNpID0gJGRpcmVjdG9yeSAuICcvJyAuICRi
YXNlIC4gJGV4dGVuc2lvbjsKCSAgICAgICAgICB9CgkJZWxzZQoJICAgICAgICAgIHsKCQkJJGZ1
bGxfYW5zaSA9ICRiYXNlIC4gJGV4dGVuc2lvbjsKCSAgICAgICAgICB9CgoJCW15IEBzcGVjaWZp
Y3MgPSAoJGZ1bGxfYW5zaSwgJG9ial9zYW5zX2V4dCwKCQkJCSAjIE9ubHkgdXNlICR0aGlzX29i
al9leHQgaW4gdGhlIGRlcml2ZWQKCQkJCSAjIHNvdXJjZSBjYXNlIGJlY2F1c2UgaW4gdGhlIG90
aGVyIGNhc2Ugd2UKCQkJCSAjICpkb24ndCogd2FudCAkKE9CSkVYVCkgdG8gYXBwZWFyIGhlcmUu
CgkJCQkgKCRkZXJpdmVkX3NvdXJjZSA/ICR0aGlzX29ial9leHQgOiAnLm8nKSwKCQkJCSAkZXh0
ZW5zaW9uKTsKCgkJIyBJZiB3ZSByZW5hbWVkIHRoZSBvYmplY3QgdGhlbiB3ZSB3YW50IHRvIHVz
ZSB0aGUKCQkjIHBlci1leGVjdXRhYmxlIGZsYWcgbmFtZS4gIEJ1dCBpZiB0aGlzIGlzIHNpbXBs
eSBhCgkJIyBzdWJkaXIgYnVpbGQgdGhlbiB3ZSBzdGlsbCB3YW50IHRvIHVzZSB0aGUgQU1fIGZs
YWcKCQkjIG5hbWUuCgkJaWYgKCRyZW5hbWVkKQoJCSAgewoJCSAgICB1bnNoaWZ0IEBzcGVjaWZp
Y3MsICRkZXJpdmVkOwoJCSAgICAkYWdncmVnYXRlID0gJGRlcml2ZWQ7CgkJICB9CgkJZWxzZQoJ
CSAgewoJCSAgICB1bnNoaWZ0IEBzcGVjaWZpY3MsICdBTSc7CgkJICB9CgoJCSMgRWFjaCBpdGVt
IG9uIHRoaXMgbGlzdCBpcyBhIHJlZmVyZW5jZSB0byBhIGxpc3QgY29uc2lzdGluZwoJCSMgb2Yg
Zm91ciB2YWx1ZXMgZm9sbG93ZWQgYnkgYWRkaXRpb25hbCB0cmFuc2Zvcm0gZmxhZ3MgZm9yCgkJ
IyBmaWxlX2NvbnRlbnRzLiAgVGhlIGZvdXIgdmFsdWVzIGFyZSB0aGUgZGVyaXZlZCBmbGFnIHBy
ZWZpeAoJCSMgKGUuZy4gZm9yICdmb29fQ0ZMQUdTJywgaXQgaXMgJ2ZvbycpLCB0aGUgbmFtZSBv
ZiB0aGUKCQkjIHNvdXJjZSBmaWxlLCB0aGUgYmFzZSBuYW1lIG9mIHRoZSBvdXRwdXQgZmlsZSwg
YW5kCgkJIyB0aGUgZXh0ZW5zaW9uIGZvciB0aGUgb2JqZWN0IGZpbGUuCgkJcHVzaCAoQHskbGFu
Z19zcGVjaWZpY19maWxlc3skbGFuZy0+bmFtZX19LAoJCSAgICAgIFtAc3BlY2lmaWNzLCAldHJh
bnNmb3JtXSk7CgkgICAgfQoJfQoJZWxzaWYgKCRleHRlbnNpb24gZXEgJG9iaikKCXsKCSAgICAj
IFRoaXMgaXMgcHJvYmFibHkgdGhlIHJlc3VsdCBvZiBhIGRpcmVjdCBzdWZmaXggcnVsZS4KCSAg
ICAjIEluIHRoaXMgY2FzZSB3ZSBqdXN0IGFjY2VwdCB0aGUgcmV3cml0ZS4KCSAgICAkb2JqZWN0
ID0gIiRiYXNlJGV4dGVuc2lvbiI7CgkgICAgJG9iamVjdCA9ICIkZGlyZWN0b3J5LyRvYmplY3Qi
IGlmICRkaXJlY3RvcnkgbmUgJyc7CgkgICAgJGxpbmtlciA9ICcnOwoJfQoJZWxzZQoJewoJICAg
ICMgTm8gZXJyb3IgbWVzc2FnZSBoZXJlLiAgVXNlZCB0byBoYXZlIG9uZSwgYnV0IGl0IHdhcwoJ
ICAgICMgdmVyeSB1bnBvcHVsYXIuCgkgICAgIyBGSVhNRTogd2UgY291bGQgcG90ZW50aWFsbHkg
ZG8gbW9yZSBwcm9jZXNzaW5nIGhlcmUsCgkgICAgIyBwZXJoYXBzIHRyZWF0aW5nIHRoZSBuZXcg
ZXh0ZW5zaW9uIGFzIHRob3VnaCBpdCB3ZXJlIGEKCSAgICAjIG5ldyBzb3VyY2UgZXh0ZW5zaW9u
IChhcyBhYm92ZSkuICBUaGlzIHdvdWxkIHJlcXVpcmUKCSAgICAjIG1vcmUgcmVzdHJ1Y3R1cmlu
ZyB0aGFuIGlzIGFwcHJvcHJpYXRlIHJpZ2h0IG5vdy4KCSAgICBuZXh0OwoJfQoKCWVycl9hbSAi
b2JqZWN0ICckb2JqZWN0JyBjcmVhdGVkIGJ5ICckZnVsbCcgYW5kICckb2JqZWN0X21hcHskb2Jq
ZWN0fSciCgkgIGlmIChkZWZpbmVkICRvYmplY3RfbWFweyRvYmplY3R9CgkgICAgICAmJiAkb2Jq
ZWN0X21hcHskb2JqZWN0fSBuZSAkZnVsbCk7CgoJbXkgJGNvbXBfdmFsID0gKCgkb2JqZWN0ID1+
IC9cLmxvJC8pCgkJCT8gQ09NUElMRV9MSUJUT09MIDogQ09NUElMRV9PUkRJTkFSWSk7CgkobXkg
JGNvbXBfb2JqID0gJG9iamVjdCkgPX4gcy9cLmxvJC8uXCQoT0JKRVhUKS87CglpZiAoZGVmaW5l
ZCAkb2JqZWN0X2NvbXBpbGF0aW9uX21hcHskY29tcF9vYmp9CgkgICAgJiYgJG9iamVjdF9jb21w
aWxhdGlvbl9tYXB7JGNvbXBfb2JqfSAhPSAwCgkgICAgIyBPbmx5IHNlZSB0aGUgZXJyb3Igb25j
ZS4KCSAgICAmJiAoJG9iamVjdF9jb21waWxhdGlvbl9tYXB7JGNvbXBfb2JqfQoJCSE9IChDT01Q
SUxFX0xJQlRPT0wgfCBDT01QSUxFX09SRElOQVJZKSkKCSAgICAmJiAkb2JqZWN0X2NvbXBpbGF0
aW9uX21hcHskY29tcF9vYmp9ICE9ICRjb21wX3ZhbCkKCSAgewoJICAgIGVycl9hbSAib2JqZWN0
ICckY29tcF9vYmonIGNyZWF0ZWQgYm90aCB3aXRoIGxpYnRvb2wgYW5kIHdpdGhvdXQiOwoJICB9
Cgkkb2JqZWN0X2NvbXBpbGF0aW9uX21hcHskY29tcF9vYmp9IHw9ICRjb21wX3ZhbDsKCglpZiAo
ZGVmaW5lZCAkbGFuZykKCXsKCSAgICAjIExldCB0aGUgbGFuZ3VhZ2UgZG8gc29tZSBzcGVjaWFs
IG1hZ2ljIGlmIHJlcXVpcmVkLgoJICAgICRsYW5nLT50YXJnZXRfaG9vayAoJGFnZ3JlZ2F0ZSwg
JG9iamVjdCwgJGZ1bGwsICV0cmFuc2Zvcm0pOwoJfQoKCWlmICgkZGVyaXZlZF9zb3VyY2UpCgkg
IHsKCSAgICBwcm9nX2Vycm9yICgkbGFuZy0+bmFtZSAuICIgaGFzIGF1dG9tYXRpYyBkZXBlbmRl
bmN5IHRyYWNraW5nIikKCSAgICAgIGlmICRsYW5nLT5hdXRvZGVwIG5lICdubyc7CgkgICAgIyBN
YWtlIHN1cmUgdGhpcyBuZXcgc291cmNlIGZpbGUgaXMgaGFuZGxlZCBuZXh0LiAgVGhhdCB3aWxs
CgkgICAgIyBtYWtlIGl0IGFwcGVhciB0byBiZSBhdCB0aGUgcmlnaHQgcGxhY2UgaW4gdGhlIGxp
c3QuCgkgICAgdW5zaGlmdCAoQGZpbGVzLCAkb2JqZWN0KTsKCSAgICAjIERpc3RyaWJ1dGUgZGVy
aXZlZCBzb3VyY2VzIHVubGVzcyB0aGUgc291cmNlIHRoZXkgYXJlCgkgICAgIyBkZXJpdmVkIGZy
b20gaXMgbm90LgoJICAgIHB1c2hfZGlzdF9jb21tb24gKCRvYmplY3QpCgkgICAgICB1bmxlc3Mg
KCR0b3BwYXJlbnQgPX4gL14oPzpub2Jhc2VfKT9ub2Rpc3RfLyk7CgkgICAgbmV4dDsKCSAgfQoK
CSRsaW5rZXJzX3VzZWR7JGxpbmtlcn0gPSAxOwoKCXB1c2ggKEByZXN1bHQsICRvYmplY3QpOwoK
CWlmICghIGRlZmluZWQgJG9iamVjdF9tYXB7JG9iamVjdH0pCgl7CgkgICAgbXkgQGRlcF9saXN0
ID0gKCk7CgkgICAgJG9iamVjdF9tYXB7JG9iamVjdH0gPSAkZnVsbDsKCgkgICAgIyBJZiByZXN1
bHRpbmcgb2JqZWN0IGlzIGluIHN1YmRpciwgd2UgbmVlZCB0byBtYWtlCgkgICAgIyBzdXJlIHRo
ZSBzdWJkaXIgZXhpc3RzIGF0IGJ1aWxkIHRpbWUuCgkgICAgaWYgKCRvYmplY3QgPX4gL1wvLykK
CSAgICB7CgkJIyBGSVhNRTogY2hlY2sgdGhhdCAkRElSRUNUT1JZIGlzIHNvbWV3aGVyZSBpbiB0
aGUKCQkjIHByb2plY3QKCgkJIyBGb3IgSmF2YSwgdGhlIHdheSB3ZSdyZSBoYW5kbGluZyBpdCBy
aWdodCBub3csIGEKCQkjICcuLicgY29tcG9uZW50IGRvZXNuJ3QgbWFrZSBzZW5zZS4KCQlpZiAo
JGxhbmcgJiYgJGxhbmctPm5hbWUgZXEgJ2phdmEnICYmICRvYmplY3QgPX4gLyhcL3xeKVwuXC5c
Ly8pCgkJICB7CgkJICAgIGVycl9hbSAiJyRmdWxsJyBzaG91bGQgbm90IGNvbnRhaW4gYSAnLi4n
IGNvbXBvbmVudCI7CgkJICB9CgogICAgICAgICAgICAgICAgIyBNYWtlIHN1cmUgKmFsbCogb2Jq
ZWN0cyBmaWxlcyBpbiB0aGUgc3ViZGlyZWN0b3J5IGFyZQogICAgICAgICAgICAgICAgIyByZW1v
dmVkIGJ5ICJtYWtlIG1vc3RseWNsZWFuIi4gIE5vdCBvbmx5IHRoaXMgaXMgbW9yZQogICAgICAg
ICAgICAgICAgIyBlZmZpY2llbnQgdGhhbiBsaXN0aW5nIHRoZSBvYmplY3QgZmlsZXMgdG8gYmUg
cmVtb3ZlZAogICAgICAgICAgICAgICAgIyBpbmRpdmlkdWFsbHkgKHdoaWNoIHdvdWxkIGNhdXNl
IGFuICdybScgaW52b2NhdGlvbiBmb3IKICAgICAgICAgICAgICAgICMgZWFjaCBvZiB0aGVtIC0t
IHZlcnkgaW5lZmZpY2llbnQsIHNlZSBidWcjMTA2OTcpLCBpdAogICAgICAgICAgICAgICAgIyB3
b3VsZCBhbHNvIGxlYXZlIHN0YWxlIG9iamVjdCBmaWxlcyBpbiB0aGUgc3ViZGlyZWN0b3J5CiAg
ICAgICAgICAgICAgICAjIHdoZW5ldmVyIGEgc291cmNlIGZpbGUgdGhlcmUgaXMgcmVtb3ZlZCBv
ciByZW5hbWVkLgogICAgICAgICAgICAgICAgJGNvbXBpbGVfY2xlYW5fZmlsZXN7IiRkaXJlY3Rv
cnkvKi5cJChPQkpFWFQpIn0gPSBNT1NUTFlfQ0xFQU47CiAgICAgICAgICAgICAgICBpZiAoJG9i
amVjdCA9fiAvXC5sbyQvKQogICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg
IyBJZiB3ZSBoYXZlIGEgbGlidG9vbCBvYmplY3QsIHRoZW4gd2UgYWxzbyBtdXN0IHJlbW92ZQog
ICAgICAgICAgICAgICAgICAgICMgYW55ICcubG8nIG9iamVjdHMgaW4gaXRzIHNhbWUgc3ViZGly
ZWN0b3J5LgogICAgICAgICAgICAgICAgICAgICRjb21waWxlX2NsZWFuX2ZpbGVzeyIkZGlyZWN0
b3J5LyoubG8ifSA9IE1PU1RMWV9DTEVBTjsKICAgICAgICAgICAgICAgICAgICAjIFJlbWVtYmVy
IHRvIGNsZWFudXAgLmxpYnMvIGluIHRoaXMgZGlyZWN0b3J5LgogICAgICAgICAgICAgICAgICAg
ICRsaWJ0b29sX2NsZWFuX2RpcmVjdG9yaWVzeyRkaXJlY3Rvcnl9ID0gMTsKICAgICAgICAgICAg
ICAgICAgfQoKCQlwdXNoIChAZGVwX2xpc3QsIHJlcXVpcmVfYnVpbGRfZGlyZWN0b3J5ICgkZGly
ZWN0b3J5KSk7CgoJCSMgSWYgd2UncmUgZ2VuZXJhdGluZyBkZXBlbmRlbmNpZXMsIHdlIGFsc28g
d2FudAoJCSMgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGFwcHJvcHJpYXRlIHN1YmRpciBvZiB0aGUK
CQkjIC5kZXBzIGRpcmVjdG9yeSBpcyBjcmVhdGVkLgoJCXB1c2ggKEBkZXBfbGlzdCwKCQkgICAg
ICByZXF1aXJlX2J1aWxkX2RpcmVjdG9yeSAoJGRpcmVjdG9yeSAuICcvJChERVBESVIpJykpCgkJ
ICB1bmxlc3Mgb3B0aW9uICduby1kZXBlbmRlbmNpZXMnOwoJICAgIH0KCgkgICAgcHJldHR5X3By
aW50X3J1bGUgKCRvYmplY3QgLiAnOicsICJcdCIsIEBkZXBfbGlzdCkKCQlpZiBzY2FsYXIgQGRl
cF9saXN0ID4gMDsKCX0KCgkjIFRyYW5zZm9ybSAubyBvciAkbyBmaWxlIGludG8gLlAgZmlsZSAo
Zm9yIGF1dG9tYXRpYwoJIyBkZXBlbmRlbmN5IGNvZGUpLgogICAgICAgICMgUHJvcGVybHkgZmxh
dHRlbiBtdWx0aXBsZSBhZGphY2VudCBzbGFzaGVzLCBhcyBTb2xhcmlzIDEwIG1ha2UKICAgICAg
ICAjIG1pZ2h0IGZhaWwgb3ZlciB0aGVtIGluIGFuIGluY2x1ZGUgc3RhdGVtZW50LgogICAgICAg
ICMgTGVhZGluZyBkb3VibGUgc2xhc2hlcyBtYXkgYmUgc3BlY2lhbCwgYXMgcGVyIFBPU0lYLCBz
byBkZWFsCiAgICAgICAgIyB3aXRoIHRoZW0gY2FyZWZ1bGx5LgogICAgICAgIGlmICgkbGFuZyAm
JiAkbGFuZy0+YXV0b2RlcCBuZSAnbm8nKQogICAgICAgIHsKICAgICAgICAgICAgbXkgJGRlcGZp
bGUgPSAkb2JqZWN0OwogICAgICAgICAgICAkZGVwZmlsZSA9fiBzL1wuKFteLl0qKSQvLlAkMS87
CiAgICAgICAgICAgICRkZXBmaWxlID1+IHMvXCRcKE9CSkVYVFwpJC9vLzsKICAgICAgICAgICAg
bXkgJG1heWJlX2V4dHJhX2xlYWRpbmdfc2xhc2ggPSAnJzsKICAgICAgICAgICAgJG1heWJlX2V4
dHJhX2xlYWRpbmdfc2xhc2ggPSAnLycgaWYgJGRlcGZpbGUgPX4gbSxeLy9bXi9dLDsKICAgICAg
ICAgICAgJGRlcGZpbGUgPX4gcywvKywvLGc7CiAgICAgICAgICAgIG15ICRiYXNlbmFtZSA9IGJh
c2VuYW1lICgkZGVwZmlsZSk7CiAgICAgICAgICAgICMgVGhpcyBtaWdodCBtYWtlICRkaXJuYW1l
IGVtcHR5LCBidXQgd2UgYWNjb3VudCBmb3IgdGhhdCBiZWxvdy4KICAgICAgICAgICAgKG15ICRk
aXJuYW1lID0gZGlybmFtZSAoJGRlcGZpbGUpKSA9fiBzL1wvKiQvLzsKICAgICAgICAgICAgJGRp
cm5hbWUgPSAkbWF5YmVfZXh0cmFfbGVhZGluZ19zbGFzaCAuICRkaXJuYW1lOwogICAgICAgICAg
ICAkZGVwX2ZpbGVzeyRkaXJuYW1lIC4gJy8kKERFUERJUikvJyAuICRiYXNlbmFtZX0gPSAxOwog
ICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gQHJlc3VsdDsKfQoKCiMgJExJTktFUgojIGRlZmlu
ZV9vYmplY3RzX2Zyb21fc291cmNlcyAoJFZBUiwgJE9CSlZBUiwgJE5PREVGSU5FLCAkT05FX0ZJ
TEUsCiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkT0JKLCAkUEFSRU5ULCAkVE9QUEFS
RU5ULCAkV0hFUkUsICVUUkFOU0ZPUk0pCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRGVmaW5lIGFu
IF9PQkpFQ1RTIHZhcmlhYmxlIGZvciBhIF9TT1VSQ0VTIHZhcmlhYmxlIChvciBzdWJ2YXJpYWJs
ZSkKIwojIEFyZ3VtZW50cyBhcmU6CiMgICAkVkFSIGlzIHRoZSBuYW1lIG9mIHRoZSBfU09VUkNF
UyB2YXJpYWJsZQojICAgJE9CSlZBUiBpcyB0aGUgbmFtZSBvZiB0aGUgX09CSkVDVFMgdmFyaWFi
bGUgaWYga25vd24gKG90aGVyd2lzZQojICAgICBpdCB3aWxsIGJlIGdlbmVyYXRlZCBhbmQgcmV0
dXJuZWQpLgojICAgJE5PREVGSU5FIGlzIGEgYm9vbGVhbjogaWYgdHJ1ZSwgJE9CSlZBUiB3aWxs
IG5vdCBiZSBkZWZpbmVkIChidXQKIyAgICAgd29yayBkb25lIHRvIGRldGVybWluZSB0aGUgbGlu
a2VyIHdpbGwgYmUpLgojICAgJE9ORV9GSUxFIGlzIHRoZSBjYW5vbmljYWwgKHRyYW5zZm9ybWVk
KSBuYW1lIG9mIG9iamVjdCB0byBidWlsZAojICAgJE9CSiBpcyB0aGUgb2JqZWN0IGV4dGVuc2lv
biAoaS5lLiBlaXRoZXIgJy5vJyBvciAnLmxvJykuCiMgICAkVE9QUEFSRU5UIGlzIHRoZSBfU09V
UkNFUyB2YXJpYWJsZSBiZWluZyBwcm9jZXNzZWQuCiMgICAkV0hFUkUgY29udGV4dCBpbnRvIHdo
aWNoIHRoaXMgZGVmaW5pdGlvbiBpcyBkb25lCiMgICAlVFJBTlNGT1JNIGV4dHJhIGFyZ3VtZW50
cyB0byBwYXNzIHRvIGZpbGVfY29udGVudHMgd2hlbiBwcm9kdWNpbmcKIyAgICAgcnVsZXMKIwoj
IFJlc3VsdCBpcyBhIHBhaXIgKCRMSU5LRVIsICRPQkpWQVIpOgojICAgICRMSU5LRVIgaXMgYSBi
b29sZWFuLCB0cnVlIGlmIGEgbGlua2VyIGlzIG5lZWRlZCB0byBkZWFsIHdpdGggdGhlIG9iamVj
dHMKc3ViIGRlZmluZV9vYmplY3RzX2Zyb21fc291cmNlcwp7CiAgbXkgKCR2YXIsICRvYmp2YXIs
ICRub2RlZmluZSwgJG9uZV9maWxlLAogICAgICAkb2JqLCAkdG9wcGFyZW50LCAkd2hlcmUsICV0
cmFuc2Zvcm0pID0gQF87CgogIG15ICRuZWVkbGlua2VyID0gIiI7CgogIHRyYW5zZm9ybV92YXJp
YWJsZV9yZWN1cnNpdmVseQogICAgKCR2YXIsICRvYmp2YXIsICdhbV9fb2JqZWN0cycsICRub2Rl
ZmluZSwgJHdoZXJlLAogICAgICMgVGhlIHRyYW5zZm9ybSBjb2RlIHRvIHJ1biBvbiBlYWNoIGZp
bGVuYW1lLgogICAgIHN1YiB7CiAgICAgICBteSAoJHN1YnZhciwgJHZhbCwgJGNvbmQsICRmdWxs
X2NvbmQpID0gQF87CiAgICAgICBteSBAdHJhbnMgPSBoYW5kbGVfc2luZ2xlX3RyYW5zZm9ybSAo
JHN1YnZhciwgJHRvcHBhcmVudCwKCQkJCQkgICAgJG9uZV9maWxlLCAkb2JqLCAkdmFsLAoJCQkJ
CSAgICAldHJhbnNmb3JtKTsKICAgICAgICRuZWVkbGlua2VyID0gInRydWUiIGlmIEB0cmFuczsK
ICAgICAgIHJldHVybiBAdHJhbnM7CiAgICAgfSk7CgogIHJldHVybiAkbmVlZGxpbmtlcjsKfQoK
CiMgaGFuZGxlX3NvdXJjZV90cmFuc2Zvcm0gKCRDQU5PTl9UQVJHRVQsICRUQVJHRVQsICRPQkpF
WFQsICRXSEVSRSwgJVRSQU5TRk9STSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEhhbmRsZSBT
T1VSQ0UtPk9CSkVDVCB0cmFuc2Zvcm0gZm9yIG9uZSBwcm9ncmFtIG9yIGxpYnJhcnkuCiMgQXJn
dW1lbnRzIGFyZToKIyAgIGNhbm9uaWNhbCAodHJhbnNmb3JtZWQpIG5hbWUgb2YgdGFyZ2V0IHRv
IGJ1aWxkCiMgICBhY3R1YWwgdGFyZ2V0IG9mIG9iamVjdCB0byBidWlsZAojICAgb2JqZWN0IGV4
dGVuc2lvbiAoaS5lLiwgZWl0aGVyICcubycgb3IgJyRvJykKIyAgIGxvY2F0aW9uIG9mIHRoZSBz
b3VyY2UgdmFyaWFibGUKIyAgIGV4dHJhIGFyZ3VtZW50cyB0byBwYXNzIHRvIGZpbGVfY29udGVu
dHMgd2hlbiBwcm9kdWNpbmcgcnVsZXMKIyBSZXR1cm4gdGhlIG5hbWUgb2YgdGhlIGxpbmtlciB2
YXJpYWJsZSB0aGF0IG11c3QgYmUgdXNlZC4KIyBFbXB0eSByZXR1cm4gbWVhbnMganVzdCB1c2Ug
J0xJTksnLgpzdWIgaGFuZGxlX3NvdXJjZV90cmFuc2Zvcm0KewogICAgIyBvbmVfZmlsZSBpcyBj
YW5vbmljYWwgbmFtZS4gIHVueGZvcm1lZCBpcyBnaXZlbiBuYW1lLiAgb2JqIGlzCiAgICAjIG9i
amVjdCBleHRlbnNpb24uCiAgICBteSAoJG9uZV9maWxlLCAkdW54Zm9ybWVkLCAkb2JqLCAkd2hl
cmUsICV0cmFuc2Zvcm0pID0gQF87CgogICAgbXkgJGxpbmtlciA9ICcnOwoKICAgICMgTm8gcG9p
bnQgaW4gY29udGludWluZyBpZiBfT0JKRUNUUyBpcyBkZWZpbmVkLgogICAgcmV0dXJuIGlmIHJl
amVjdF92YXIgKCRvbmVfZmlsZSAuICdfT0JKRUNUUycsCgkJCSAgJG9uZV9maWxlIC4gJ19PQkpF
Q1RTIHNob3VsZCBub3QgYmUgZGVmaW5lZCcpOwoKICAgIG15ICV1c2VkX3BmeCA9ICgpOwogICAg
bXkgJG5lZWRsaW5rZXI7CiAgICAlbGlua2Vyc191c2VkID0gKCk7CiAgICBmb3JlYWNoIG15ICRw
cmVmaXggKCcnLCAnRVhUUkFfJywgJ2Rpc3RfJywgJ25vZGlzdF8nLAoJCQknZGlzdF9FWFRSQV8n
LCAnbm9kaXN0X0VYVFJBXycpCiAgICB7CglteSAkdmFybmFtZSA9ICRwcmVmaXggLiAkb25lX2Zp
bGUgLiAiX1NPVVJDRVMiOwoJbXkgJHZhciA9IHZhciAkdmFybmFtZTsKCW5leHQgdW5sZXNzICR2
YXI7CgoJIyBXZSBhcmUgZ29pbmcgdG8gZGVmaW5lIF9PQkpFQ1RTIHZhcmlhYmxlcyB1c2luZyB0
aGUgcHJlZml4LgoJIyBUaGVuIHdlIGdsb20gdGhlbSBhbGwgdG9nZXRoZXIuICBTbyB3ZSBjYW4n
dCB1c2UgdGhlIG51bGwKCSMgcHJlZml4IGhlcmUgYXMgd2UgbmVlZCBpdCBsYXRlci4KCW15ICR4
cGZ4ID0gKCRwcmVmaXggZXEgJycpID8gJ2FtXycgOiAkcHJlZml4OwoKCSMgS2VlcCB0cmFjayBv
ZiB3aGljaCBwcmVmaXhlcyB3ZSBzYXcuCgkkdXNlZF9wZnh7JHhwZnh9ID0gMQoJICB1bmxlc3Mg
JHByZWZpeCA9fiAvRVhUUkFfLzsKCglwdXNoIEBzb3VyY2VzLCAiXCQoJHZhcm5hbWUpIjsKCXB1
c2ggQGRpc3Rfc291cmNlcywgc2hhZG93X3VuY29uZGl0aW9uYWxseSAoJHZhcm5hbWUsICR3aGVy
ZSkKCSAgdW5sZXNzIChvcHRpb24gKCduby1kaXN0JykgfHwgJHByZWZpeCA9fiAvXm5vZGlzdF8v
KTsKCgkkbmVlZGxpbmtlciB8PQoJICAgIGRlZmluZV9vYmplY3RzX2Zyb21fc291cmNlcyAoJHZh
cm5hbWUsCgkJCQkJICR4cGZ4IC4gJG9uZV9maWxlIC4gJ19PQkpFQ1RTJywKCQkJCQkgISEoJHBy
ZWZpeCA9fiAvRVhUUkFfLyksCgkJCQkJICRvbmVfZmlsZSwgJG9iaiwgJHZhcm5hbWUsICR3aGVy
ZSwKCQkJCQkgRElTVF9TT1VSQ0UgPT4gKCRwcmVmaXggIX4gL15ub2Rpc3RfLyksCgkJCQkJICV0
cmFuc2Zvcm0pOwogICAgfQogICAgaWYgKCRuZWVkbGlua2VyKQogICAgewoJJGxpbmtlciB8fD0g
cmVzb2x2ZV9saW5rZXIgKCVsaW5rZXJzX3VzZWQpOwogICAgfQoKICAgIG15IEBrZXlzID0gc29y
dCBrZXlzICV1c2VkX3BmeDsKICAgIGlmIChzY2FsYXIgQGtleXMgPT0gMCkKICAgIHsKCSMgVGhl
IGRlZmF1bHQgc291cmNlIGZvciBsaWJmb28ubGEgaXMgbGliZm9vLmMsIGJ1dCBmb3IKCSMgYmFj
a3dhcmQgY29tcGF0aWJpbGl0eSB3ZSBmaXJzdCBsb29rIGF0IGxpYmZvb19sYS5jLAoJIyBpZiBu
byBkZWZhdWx0IHNvdXJjZSBzdWZmaXggaXMgZ2l2ZW4uCglteSAkb2xkX2RlZmF1bHRfc291cmNl
ID0gIiRvbmVfZmlsZS5jIjsKCW15ICRleHRfdmFyID0gdmFyICgnQU1fREVGQVVMVF9TT1VSQ0Vf
RVhUJyk7CglteSAkZGVmYXVsdF9zb3VyY2VfZXh0ID0gJGV4dF92YXIgPyB2YXJpYWJsZV92YWx1
ZSAoJGV4dF92YXIpIDogJy5jJzsKCW1zZ192YXIgKCd1bnN1cHBvcnRlZCcsICRleHRfdmFyLCAk
ZXh0X3Zhci0+bmFtZSAuICIgY2FuIGFzc3VtZSBhdCBtb3N0IG9uZSB2YWx1ZSIpCgkgIGlmICRk
ZWZhdWx0X3NvdXJjZV9leHQgPX4gL1tcdCBdLzsKCShteSAkZGVmYXVsdF9zb3VyY2UgPSAkdW54
Zm9ybWVkKSA9fiBzLChcLlteLi9cXF0qKT8kLCRkZWZhdWx0X3NvdXJjZV9leHQsOwoJIyBUT0RP
OiBSZW1vdmUgdGhpcyBiYWNrd2FyZC1jb21wYXRpYmlsaXR5IGhhY2sgaW4gQXV0b21ha2UgMi4w
LgoJaWYgKCRvbGRfZGVmYXVsdF9zb3VyY2UgbmUgJGRlZmF1bHRfc291cmNlCgkgICAgJiYgISRl
eHRfdmFyCgkgICAgJiYgKHJ1bGUgJG9sZF9kZWZhdWx0X3NvdXJjZQoJCXx8IHJ1bGUgJyQoc3Jj
ZGlyKS8nIC4gJG9sZF9kZWZhdWx0X3NvdXJjZQoJCXx8IHJ1bGUgJyR7c3JjZGlyfS8nIC4gJG9s
ZF9kZWZhdWx0X3NvdXJjZQoJCXx8IC1mICRvbGRfZGVmYXVsdF9zb3VyY2UpKQoJICB7CgkgICAg
bXkgJGxvYyA9ICR3aGVyZS0+Y2xvbmU7CgkgICAgJGxvYy0+cG9wX2NvbnRleHQ7CgkgICAgbXNn
ICgnb2Jzb2xldGUnLCAkbG9jLAoJCSAidGhlIGRlZmF1bHQgc291cmNlIGZvciAnJHVueGZvcm1l
ZCcgaGFzIGJlZW4gY2hhbmdlZCAiCgkJIC4gInRvICckZGVmYXVsdF9zb3VyY2UnLlxuKFVzaW5n
ICckb2xkX2RlZmF1bHRfc291cmNlJyBmb3IgIgoJCSAuICJiYWNrd2FyZCBjb21wYXRpYmlsaXR5
LikiKTsKCSAgICAkZGVmYXVsdF9zb3VyY2UgPSAkb2xkX2RlZmF1bHRfc291cmNlOwoJICB9Cgkj
IElmIGEgcnVsZSBleGlzdHMgdG8gYnVpbGQgdGhpcyBzb3VyY2Ugd2l0aCBhICQoc3JjZGlyKQoJ
IyBwcmVmaXgsIHVzZSB0aGF0IHByZWZpeCBpbiBvdXIgdmFyaWFibGVzIHRvby4gIFRoaXMgaXMg
Zm9yCgkjIHRoZSBzYWtlIG9mIEJTRCBNYWtlLgoJaWYgKHJ1bGUgJyQoc3JjZGlyKS8nIC4gJGRl
ZmF1bHRfc291cmNlCgkgICAgfHwgcnVsZSAnJHtzcmNkaXJ9LycgLiAkZGVmYXVsdF9zb3VyY2Up
CgkgIHsKCSAgICAkZGVmYXVsdF9zb3VyY2UgPSAnJChzcmNkaXIpLycgLiAkZGVmYXVsdF9zb3Vy
Y2U7CgkgIH0KCglkZWZpbmVfdmFyaWFibGUgKCRvbmVfZmlsZSAuICJfU09VUkNFUyIsICRkZWZh
dWx0X3NvdXJjZSwgJHdoZXJlKTsKCXB1c2ggKEBzb3VyY2VzLCAkZGVmYXVsdF9zb3VyY2UpOwoJ
cHVzaCAoQGRpc3Rfc291cmNlcywgJGRlZmF1bHRfc291cmNlKTsKCgklbGlua2Vyc191c2VkID0g
KCk7CglteSAoQHJlc3VsdCkgPQoJICBoYW5kbGVfc2luZ2xlX3RyYW5zZm9ybSAoJG9uZV9maWxl
IC4gJ19TT1VSQ0VTJywKCQkJCSAgICRvbmVfZmlsZSAuICdfU09VUkNFUycsCgkJCQkgICAkb25l
X2ZpbGUsICRvYmosCgkJCQkgICAkZGVmYXVsdF9zb3VyY2UsICV0cmFuc2Zvcm0pOwoJJGxpbmtl
ciB8fD0gcmVzb2x2ZV9saW5rZXIgKCVsaW5rZXJzX3VzZWQpOwoJZGVmaW5lX3ByZXR0eV92YXJp
YWJsZSAoJG9uZV9maWxlIC4gJ19PQkpFQ1RTJywgVFJVRSwgJHdoZXJlLCBAcmVzdWx0KTsKICAg
IH0KICAgIGVsc2UKICAgIHsKCUBrZXlzID0gbWFwIHsgJyQoJyAuICRfIC4gJG9uZV9maWxlIC4g
J19PQkpFQ1RTKScgfSBAa2V5czsKCWRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCRvbmVfZmlsZSAu
ICdfT0JKRUNUUycsIFRSVUUsICR3aGVyZSwgQGtleXMpOwogICAgfQoKICAgICMgSWYgd2Ugd2Fu
dCB0byB1c2UgJ0xJTksnIHdlIG11c3QgbWFrZSBzdXJlIGl0IGlzIGRlZmluZWQuCiAgICBpZiAo
JGxpbmtlciBlcSAnJykKICAgIHsKCSRuZWVkX2xpbmsgPSAxOwogICAgfQoKICAgIHJldHVybiAk
bGlua2VyOwp9CgoKIyBoYW5kbGVfbGliX29iamVjdHMgKCRYTkFNRSwgJFZBUikKIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTcGVjaWFsLWNhc2UgQUxMT0NBIGFuZCBMSUJP
QkpTIHN1YnN0aXR1dGlvbnMgaW4gX0xEQUREIG9yIF9MSUJBREQgdmFyaWFibGVzLgojIEFsc28s
IGdlbmVyYXRlIF9ERVBFTkRFTkNJRVMgdmFyaWFibGUgaWYgYXBwcm9wcmlhdGUuCiMgQXJndW1l
bnRzIGFyZToKIyAgIHRyYW5zZm9ybWVkIG5hbWUgb2Ygb2JqZWN0IGJlaW5nIGJ1aWx0LCBvciBl
bXB0eSBzdHJpbmcgaWYgbm8gb2JqZWN0CiMgICBuYW1lIG9mIF9MREFERC9fTElCQURELXR5cGUg
dmFyaWFibGUgdG8gZXhhbWluZQojIFJldHVybnMgMSBpZiBMSUJPQkpTIHNlZW4sIDAgb3RoZXJ3
aXNlLgpzdWIgaGFuZGxlX2xpYl9vYmplY3RzCnsKICBteSAoJHhuYW1lLCAkdmFybmFtZSkgPSBA
XzsKCiAgbXkgJHZhciA9IHZhciAoJHZhcm5hbWUpOwogIHByb2dfZXJyb3IgIickdmFybmFtZScg
dW5kZWZpbmVkIgogICAgdW5sZXNzICR2YXI7CiAgcHJvZ19lcnJvciAidW5leHBlY3RlZCB2YXJp
YWJsZSBuYW1lICckdmFybmFtZSciCiAgICB1bmxlc3MgJHZhcm5hbWUgPX4gL14oLiopKD86TElC
fExEKUFERCQvOwogIG15ICRwcmVmaXggPSAkMSB8fCAnQU1fJzsKCiAgbXkgJHNlZW5fbGlib2Jq
cyA9IDA7CiAgbXkgJGZsYWd2YXIgPSAwOwoKICB0cmFuc2Zvcm1fdmFyaWFibGVfcmVjdXJzaXZl
bHkKICAgICgkdmFybmFtZSwgJHhuYW1lIC4gJ19ERVBFTkRFTkNJRVMnLCAnYW1fX0RFUEVOREVO
Q0lFUycsCiAgICAgISAkeG5hbWUsIElOVEVSTkFMLAogICAgICMgVHJhbnNmb3JtYXRpb24gZnVu
Y3Rpb24sIHJ1biBvbiBlYWNoIGZpbGVuYW1lLgogICAgIHN1YiB7CiAgICAgICBteSAoJHN1YnZh
ciwgJHZhbCwgJGNvbmQsICRmdWxsX2NvbmQpID0gQF87CgogICAgICAgaWYgKCR2YWwgPX4gL14t
LykKCSB7CgkgICAjIFNraXAgLWxmb28gYW5kIC1MZGlyIHNpbGVudGx5OyB0aGVzZSBhcmUgZXhw
bGljaXRseSBhbGxvd2VkLgoJICAgaWYgKCR2YWwgIX4gL14tW2xMXS8gJiYKCSAgICAgICAjIFNr
aXAgLWRsb3BlbiBhbmQgLWRscHJlb3BlbjsgdGhlc2UgYXJlIGV4cGxpY2l0bHkgYWxsb3dlZAoJ
ICAgICAgICMgZm9yIExpYnRvb2wgbGlicmFyaWVzIG9yIHByb2dyYW1zLiAgKEFjdHVhbGx5IHdl
IGFyZSBhIGJpdAoJICAgICAgICMgbGF4IGhlcmUgc2luY2UgdGhpcyBjb2RlIGFsc28gYXBwbGll
cyB0byBub24tbGlidG9vbAoJICAgICAgICMgbGlicmFyaWVzIG9yIHByb2dyYW1zLCBmb3Igd2hp
Y2ggLWRsb3BlbiBhbmQgLWRscHJlb3BlbgoJICAgICAgICMgYXJlIHB1cmUgbm9uc2Vuc2UuICBE
aWFnbm9zaW5nIHRoaXMgZG9lc24ndCBzZWVtIHZlcnkKCSAgICAgICAjIGltcG9ydGFudDogdGhl
IGRldmVsb3BlciB3aWxsIHF1aWNrbHkgZ2V0IGNvbXBsYWludHMgZnJvbQoJICAgICAgICMgdGhl
IGxpbmtlci4pCgkgICAgICAgJHZhbCAhfiAvXi1kbCg/OnByZSk/b3BlbiQvICYmCgkgICAgICAg
IyBPbmx5IGdldCB0aGlzIGVycm9yIG9uY2UuCgkgICAgICAgISAkZmxhZ3ZhcikKCSAgICAgewoJ
ICAgICAgICRmbGFndmFyID0gMTsKCSAgICAgICAjIEZJWE1FOiBzaG91bGQgZGlzcGxheSBhIHN0
YWNrIG9mIG5lc3RlZCB2YXJpYWJsZXMKCSAgICAgICAjIGFzIGNvbnRleHQgd2hlbiAkdmFyICE9
ICRzdWJ2YXIuCgkgICAgICAgZXJyX3ZhciAoJHZhciwgImxpbmtlciBmbGFncyBzdWNoIGFzICck
dmFsJyBiZWxvbmcgaW4gIgoJCQkuICInJHtwcmVmaXh9TERGTEFHUyciKTsKCSAgICAgfQoJICAg
cmV0dXJuICgpOwoJIH0KICAgICAgIGVsc2lmICgkdmFsICF+IC9eXEAuKlxAJC8pCgkgewoJICAg
IyBBc3N1bWUgd2UgaGF2ZSBhIGZpbGUgb2Ygc29tZSBzb3J0LCBhbmQgb3V0cHV0IGl0IGludG8g
dGhlCgkgICAjIGRlcGVuZGVuY3kgdmFyaWFibGUuICBBdXRvY29uZiBzdWJzdGl0dXRpb25zIGFy
ZSBub3Qgb3V0cHV0OwoJICAgIyByYXJlbHkgaXMgYSBuZXcgZGVwZW5kZW5jeSBzdWJzdGl0dXRl
ZCBpbnRvIGUuZy4gZm9vX0xEQURECgkgICAjIC0tIGJ1dCBiYWQgdGhpbmdzIChlLmcuIC1sWDEx
KSBhcmUgcm91dGluZWx5IHN1YnN0aXR1dGVkLgoJICAgIyBOb3RlIHRoYXQgTElCT0JKUyBhbmQg
QUxMT0NBIGFyZSBleGNlcHRpb25zIHRvIHRoaXMgcnVsZSwKCSAgICMgYW5kIGhhbmRsZWQgc3Bl
Y2lhbGx5IGJlbG93LgoJICAgcmV0dXJuICR2YWw7CgkgfQogICAgICAgZWxzaWYgKCR2YWwgPX4g
L15cQChMVCk/TElCT0JKU1xAJC8pCgkgewoJICAgaGFuZGxlX0xJQk9CSlMgKCRzdWJ2YXIsICRj
b25kLCAkMSk7CgkgICAkc2Vlbl9saWJvYmpzID0gMTsKCSAgIHJldHVybiAkdmFsOwoJIH0KICAg
ICAgIGVsc2lmICgkdmFsID1+IC9eXEAoTFQpP0FMTE9DQVxAJC8pCgkgewoJICAgaGFuZGxlX0FM
TE9DQSAoJHN1YnZhciwgJGNvbmQsICQxKTsKCSAgIHJldHVybiAkdmFsOwoJIH0KICAgICAgIGVs
c2UKCSB7CgkgICByZXR1cm4gKCk7CgkgfQogICAgIH0pOwoKICByZXR1cm4gJHNlZW5fbGlib2Jq
czsKfQoKIyBoYW5kbGVfTElCT0JKU19vcl9BTExPQ0EgKCRWQVIsICRCQVNFKQojIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRGVmaW5pdGlvbnMgY29tbW9uIHRvIExJ
Qk9CSlMgYW5kIEFMTE9DQS4KIyBWQVIgc2hvdWxkIGJlIG9uZSBvZiBMSUJPQkpTLCBMVExJQk9C
SlMsIEFMTE9DQSwgb3IgTFRBTExPQ0EuCiMgQkFTRSBzaG91bGQgYmUgb25lIGJhc2UgZmlsZSBu
YW1lIGZyb20gQUNfTElCU09VUkNFLCBvciBhbGxvY2EuCnN1YiBoYW5kbGVfTElCT0JKU19vcl9B
TExPQ0EKewogIG15ICgkdmFyLCAkYmFzZSkgPSBAXzsKCiAgbXkgJGRpciA9ICcnOwoKICAjIElm
IExJQk9CSlMgZmlsZXMgbXVzdCBiZSBidWlsdCBpbiBhbm90aGVyIGRpcmVjdG9yeSB3ZSBoYXZl
CiAgIyB0byBkZWZpbmUgTElCT0JKRElSIGFuZCBlbnN1cmUgdGhlIGZpbGVzIGdldCBjbGVhbmVk
LgogICMgT3RoZXJ3aXNlIExJQk9CSkRJUiBjYW4gYmUgbGVmdCB1bmRlZmluZWQsIGFuZCB0aGUg
Y2xlYW5pbmcKICAjIGlzIGFjaGlldmVkIGJ5ICdybSAtZiAqLiQoT0JKRVhUKScgaW4gY29tcGls
ZS5hbS4KICBpZiAoJGNvbmZpZ19saWJvYmpfZGlyCiAgICAgICYmICRyZWxhdGl2ZV9kaXIgbmUg
JGNvbmZpZ19saWJvYmpfZGlyKQogICAgewogICAgICBpZiAob3B0aW9uICdzdWJkaXItb2JqZWN0
cycpCgl7CgkgICMgSW4gdGhlIHRvcC1sZXZlbCBNYWtlZmlsZSB3ZSBkbyBub3QgdXNlICQodG9w
X2J1aWxkZGlyKSwgYmVjYXVzZQoJICAjIHdlIGFyZSBhbHJlYWR5IHRoZXJlLCBhbmQgc2luY2Ug
dGhlIHRhcmdldHMgYXJlIGJ1aWx0IHdpdGhvdXQKCSAgIyBhICQodG9wX2J1aWxkZGlyKSwgaXQg
aGVscHMgQlNEIE1ha2UgdG8gbWF0Y2ggdGhlbSB3aXRoCgkgICMgZGVwZW5kZW5jaWVzLgoJICAk
ZGlyID0gIiRjb25maWdfbGlib2JqX2Rpci8iCgkgICAgaWYgJGNvbmZpZ19saWJvYmpfZGlyIG5l
ICcuJzsKCSAgJGRpciA9IGJhY2tuYW1lICgkcmVsYXRpdmVfZGlyKSAuICIvJGRpciIKCSAgICBp
ZiAkcmVsYXRpdmVfZGlyIG5lICcuJzsKCSAgZGVmaW5lX3ZhcmlhYmxlICgnTElCT0JKRElSJywg
IiRkaXIiLCBJTlRFUk5BTCk7CgkgIGlmICgkZGlyICYmICFkZWZpbmVkICRjbGVhbl9maWxlc3si
JGRpciRiYXNlLlwkKE9CSkVYVCkifSkKCSAgICB7CgkgICAgICBteSAkZGlyc3RhbXAgPSByZXF1
aXJlX2J1aWxkX2RpcmVjdG9yeSAoJGRpcik7CgkgICAgICAkb3V0cHV0X3J1bGVzIC49ICIkZGly
JGJhc2UuXCQoT0JKRVhUKTogJGRpcnN0YW1wXG4iOwoJICAgICAgJG91dHB1dF9ydWxlcyAuPSAi
JGRpciRiYXNlLmxvOiAkZGlyc3RhbXBcbiIKCQlpZiAoJHZhciA9fiAvXkxULyk7CgkgICAgfQoJ
ICAjIGxpYnRvb2wgbWlnaHQgY3JlYXRlIC4kKE9CSkVYVCkgYXMgYSBzaWRlLWVmZmVjdCBvZiB1
c2luZwoJICAjIExUTElCT0JKUyBvciBMVEFMTE9DQS4KCSAgJGNsZWFuX2ZpbGVzeyIkZGlyJGJh
c2UuXCQoT0JKRVhUKSJ9ID0gTU9TVExZX0NMRUFOOwoJICAkY2xlYW5fZmlsZXN7IiRkaXIkYmFz
ZS5sbyJ9ID0gTU9TVExZX0NMRUFOCgkgICAgaWYgKCR2YXIgPX4gL15MVC8pOwoJfQogICAgICBl
bHNlCgl7CgkgIGVycm9yICgiJ1wkKCR2YXIpJyBjYW5ub3QgYmUgdXNlZCBvdXRzaWRlICckY29u
ZmlnX2xpYm9ial9kaXInIGlmIgoJCSAuICIgJ3N1YmRpci1vYmplY3RzJyBpcyBub3Qgc2V0Iik7
Cgl9CiAgICB9CgogIHJldHVybiAkZGlyOwp9CgpzdWIgaGFuZGxlX0xJQk9CSlMKewogIG15ICgk
dmFyLCAkY29uZCwgJGx0KSA9IEBfOwogIG15ICRteW9iamV4dCA9ICRsdCA/ICdsbycgOiAnbyc7
CiAgJGx0IHx8PSAnJzsKCiAgJHZhci0+cmVxdWlyZXNfdmFyaWFibGVzICgiXEAke2x0fUxJQk9C
SlNcQCB1c2VkIiwgJGx0IC4gJ0xJQk9CSlMnKQogICAgaWYgISBrZXlzICVsaWJzb3VyY2VzOwoK
ICBmb3JlYWNoIG15ICRpdGVyIChzb3J0IGtleXMgJWxpYnNvdXJjZXMpCiAgICB7CiAgICAgIG15
ICRkaXIgPSAnJzsKICAgICAgaWYgKCRpdGVyID1+IC9eKC4qKShcLltjbHldKSQvKQoJewoJICBz
YXdfZXh0ZW5zaW9uICgkMik7CgkgIHNhd19leHRlbnNpb24gKCcuYycpOwoJICAkZGlyID0gaGFu
ZGxlX0xJQk9CSlNfb3JfQUxMT0NBICgiJHtsdH1MSUJPQkpTIiwgJDEpOwoJfQoKICAgICAgaWYg
KCRpdGVyID1+IC9cLmgkLykKCXsKCSAgcmVxdWlyZV9saWJzb3VyY2Vfd2l0aF9tYWNybyAoJGNv
bmQsICR2YXIsIEZPUkVJR04sICRpdGVyKTsKCX0KICAgICAgZWxzaWYgKCRpdGVyIG5lICdhbGxv
Y2EuYycpCgl7CgkgIG15ICRyZXdyaXRlID0gJGl0ZXI7CgkgICRyZXdyaXRlID1+IHMvXC5jJC8u
UCRteW9iamV4dC87CgkgICRkZXBfZmlsZXN7JGRpciAuICckKERFUERJUikvJyAuICRyZXdyaXRl
fSA9IDE7CgkgICRyZXdyaXRlID0gIl4iIC4gcXVvdGVtZXRhICgkaXRlcikgLiAiXCQiOwoJICAj
IE9ubHkgcmVxdWlyZSB0aGUgZmlsZSBpZiBpdCBpcyBub3QgYSBidWlsdCBzb3VyY2UuCgkgIG15
ICRicyA9IHZhciAoJ0JVSUxUX1NPVVJDRVMnKTsKCSAgaWYgKCEgJGJzIHx8ICEgZ3JlcCAoLyRy
ZXdyaXRlLywgJGJzLT52YWx1ZV9hc19saXN0X3JlY3Vyc2l2ZSkpCgkgICAgewoJICAgICAgcmVx
dWlyZV9saWJzb3VyY2Vfd2l0aF9tYWNybyAoJGNvbmQsICR2YXIsIEZPUkVJR04sICRpdGVyKTsK
CSAgICB9Cgl9CiAgICB9Cn0KCnN1YiBoYW5kbGVfQUxMT0NBCnsKICBteSAoJHZhciwgJGNvbmQs
ICRsdCkgPSBAXzsKICBteSAkbXlvYmpleHQgPSAkbHQgPyAnbG8nIDogJ28nOwogICRsdCB8fD0g
Jyc7CiAgbXkgJGRpciA9IGhhbmRsZV9MSUJPQkpTX29yX0FMTE9DQSAoIiR7bHR9QUxMT0NBIiwg
ImFsbG9jYSIpOwoKICAkZGlyIGVxICcnIGFuZCAkZGlyID0gJy4vJzsKICAkdmFyLT5yZXF1aXJl
c192YXJpYWJsZXMgKCJcQCR7bHR9QUxMT0NBXEAgdXNlZCIsICRsdCAuICdBTExPQ0EnKTsKICAk
ZGVwX2ZpbGVzeyRkaXIgLiAnJChERVBESVIpL2FsbG9jYS5QJyAuICRteW9iamV4dH0gPSAxOwog
IHJlcXVpcmVfbGlic291cmNlX3dpdGhfbWFjcm8gKCRjb25kLCAkdmFyLCBGT1JFSUdOLCAnYWxs
b2NhLmMnKTsKICBzYXdfZXh0ZW5zaW9uICgnLmMnKTsKfQoKIyBDYW5vbmljYWxpemUgdGhlIGlu
cHV0IHBhcmFtZXRlci4Kc3ViIGNhbm9uaWNhbGl6ZQp7CiAgICBteSAoJHN0cmluZykgPSBAXzsK
ICAgICRzdHJpbmcgPX4gdHIvQS1aYS16MC05X1xAL18vYzsKICAgIHJldHVybiAkc3RyaW5nOwp9
CgojIENhbm9uaWNhbGl6ZSBhIG5hbWUsIGFuZCBjaGVjayB0byBtYWtlIHN1cmUgdGhlIG5vbi1j
YW5vbmljYWwgbmFtZQojIGlzIG5ldmVyIHVzZWQuICBSZXR1cm5zIGNhbm9uaWNhbCBuYW1lLiAg
QXJndW1lbnRzIGFyZSBuYW1lIGFuZCBhCiMgbGlzdCBvZiBzdWZmaXhlcyB0byBjaGVjayBmb3Iu
CnN1YiBjaGVja19jYW5vbmljYWxfc3BlbGxpbmcKewogIG15ICgkbmFtZSwgQHN1ZmZpeGVzKSA9
IEBfOwoKICBteSAkeG5hbWUgPSBjYW5vbmljYWxpemUgKCRuYW1lKTsKICBpZiAoJHhuYW1lIG5l
ICRuYW1lKQogICAgewogICAgICBmb3JlYWNoIG15ICR4dCAoQHN1ZmZpeGVzKQoJewoJICByZWpl
Y3RfdmFyICgiJG5hbWUkeHQiLCAidXNlICckeG5hbWUkeHQnLCBub3QgJyRuYW1lJHh0JyIpOwoJ
fQogICAgfQoKICByZXR1cm4gJHhuYW1lOwp9CgojIFNldCB1cCB0aGUgY29tcGlsZSBzdWl0ZS4K
c3ViIGhhbmRsZV9jb21waWxlICgpCnsKICAgcmV0dXJuIGlmICEgJG11c3RfaGFuZGxlX2NvbXBp
bGVkX29iamVjdHM7CgogICAgIyBCb2lsZXJwbGF0ZS4KICAgIG15ICRkZWZhdWx0X2luY2x1ZGVz
ID0gJyc7CiAgICBpZiAoISBvcHRpb24gJ25vc3RkaW5jJykKICAgICAgewoJbXkgQGluY3MgPSAo
Jy1JLicsIHN1YnN0ICgnYW1fX2lzcmMnKSk7CgoJbXkgJHZhciA9IHZhciAnQ09ORklHX0hFQURF
Uic7CglpZiAoJHZhcikKCSAgewoJICAgIGZvcmVhY2ggbXkgJGhkciAoc3BsaXQgKCcgJywgJHZh
ci0+dmFyaWFibGVfdmFsdWUpKQoJICAgICAgewoJCXB1c2ggQGluY3MsICctSScgLiBkaXJuYW1l
ICgkaGRyKTsKCSAgICAgIH0KCSAgfQoJIyBXZSB3YW50ICctSS4gLUkkKHNyY2RpciknLCBidXQg
dGhlIGxhdHRlciAtSSBpcyByZWR1bmRhbnQKCSMgYW5kIHVuYWVzdGhldGljIGluIG5vbi1WUEFU
SCBidWlsZHMuICBXZSB1c2UgYC1JLkBhbV9faXNyY0BgCgkjIGluc3RlYWQuICBJdCB3aWxsIGJl
IHJlcGxhY2VkIGJ5ICctSS4nIG9yICctSS4gLUkkKHNyY2RpciknLgoJIyBJdGVtcyBpbiBDT05G
SUdfSEVBREVSIGFyZSBuZXZlciBpbiAkKHNyY2Rpcikgc28gaXQgaXMgc2FmZQoJIyB0byBqdXN0
IHB1dCBAYW1fX2lzcmNAIHJpZ2h0IGFmdGVyICctSS4nLCB3aXRob3V0IGEgc3BhY2UuCgkoJGRl
ZmF1bHRfaW5jbHVkZXMgPSAnICcgLiB1bmlxIChAaW5jcykpID1+IHMvIEAvQC87CiAgICAgIH0K
CiAgICBteSAoQG1vc3RseV9ybXMsIEBkaXN0X3Jtcyk7CiAgICBmb3JlYWNoIG15ICRpdGVtIChz
b3J0IGtleXMgJWNvbXBpbGVfY2xlYW5fZmlsZXMpCiAgICB7CglpZiAoJGNvbXBpbGVfY2xlYW5f
ZmlsZXN7JGl0ZW19ID09IE1PU1RMWV9DTEVBTikKCXsKCSAgICBwdXNoIChAbW9zdGx5X3Jtcywg
Ilx0LXJtIC1mICRpdGVtIik7Cgl9CgllbHNpZiAoJGNvbXBpbGVfY2xlYW5fZmlsZXN7JGl0ZW19
ID09IERJU1RfQ0xFQU4pCgl7CgkgICAgcHVzaCAoQGRpc3Rfcm1zLCAiXHQtcm0gLWYgJGl0ZW0i
KTsKCX0KCWVsc2UKCXsKCSAgcHJvZ19lcnJvciAnaW52YWxpZCBlbnRyeSBpbiAlY29tcGlsZV9j
bGVhbl9maWxlcyc7Cgl9CiAgICB9CgogICAgbXkgKCRjb21zLCAkdmFycywgJHJ1bGVzKSA9CiAg
ICAgIGZpbGVfY29udGVudHNfaW50ZXJuYWwgKDEsICIkbGliZGlyL2FtL2NvbXBpbGUuYW0iLAoJ
CQkgICAgICBuZXcgQXV0b21ha2U6OkxvY2F0aW9uLAoJCQkgICAgICAnREVGQVVMVF9JTkNMVURF
UycgPT4gJGRlZmF1bHRfaW5jbHVkZXMsCgkJCSAgICAgICdNT1NUTFlSTVMnID0+IGpvaW4gKCJc
biIsIEBtb3N0bHlfcm1zKSwKCQkJICAgICAgJ0RJU1RSTVMnID0+IGpvaW4gKCJcbiIsIEBkaXN0
X3JtcykpOwogICAgJG91dHB1dF92YXJzIC49ICR2YXJzOwogICAgJG91dHB1dF9ydWxlcyAuPSAi
JGNvbXMkcnVsZXMiOwp9CgojIEhhbmRsZSBsaWJ0b29sIHJ1bGVzLgpzdWIgaGFuZGxlX2xpYnRv
b2wgKCkKewogIHJldHVybiB1bmxlc3MgdmFyICgnTElCVE9PTCcpOwoKICAjIExpYnRvb2wgcmVx
dWlyZXMgc29tZSBmaWxlcywgYnV0IG9ubHkgYXQgdG9wIGxldmVsLgogICMgKFN0YXJ0aW5nIHdp
dGggTGlidG9vbCAyLjAgd2UgZG8gbm90IGhhdmUgdG8gYm90aGVyLiAgVGhlc2UKICAjIHJlcXVp
cmVtZW50cyBhcmUgZG9uZSB3aXRoIEFDX1JFUVVJUkVfQVVYX0ZJTEUuKQogIHJlcXVpcmVfY29u
Zl9maWxlX3dpdGhfbWFjcm8gKFRSVUUsICdMSUJUT09MJywgRk9SRUlHTiwgQGxpYnRvb2xfZmls
ZXMpCiAgICBpZiAkcmVsYXRpdmVfZGlyIGVxICcuJyAmJiAhICRsaWJ0b29sX25ld19hcGk7Cgog
IG15IEBsaWJ0b29sX3JtczsKICBmb3JlYWNoIG15ICRpdGVtIChzb3J0IGtleXMgJWxpYnRvb2xf
Y2xlYW5fZGlyZWN0b3JpZXMpCiAgICB7CiAgICAgIG15ICRkaXIgPSAoJGl0ZW0gZXEgJy4nKSA/
ICcnIDogIiRpdGVtLyI7CiAgICAgICMgLmxpYnMgaXMgZm9yIFVuaXgsIF9saWJzIGZvciBET1Mu
CiAgICAgIHB1c2ggKEBsaWJ0b29sX3JtcywgIlx0LXJtIC1yZiAke2Rpcn0ubGlicyAke2Rpcn1f
bGlicyIpOwogICAgfQoKICBjaGVja191c2VyX3ZhcmlhYmxlcyAnTElCVE9PTEZMQUdTJzsKCiAg
IyBPdXRwdXQgdGhlIGxpYnRvb2wgY29tcGlsYXRpb24gcnVsZXMuCiAgJG91dHB1dF9ydWxlcyAu
PSBmaWxlX2NvbnRlbnRzICgnbGlidG9vbCcsCgkJCQkgIG5ldyBBdXRvbWFrZTo6TG9jYXRpb24s
CgkJCQkgICBMVFJNUyA9PiBqb2luICgiXG4iLCBAbGlidG9vbF9ybXMpKTsKfQoKIyBDaGVjayBm
b3IgZHVwbGljYXRlIHRhcmdldHMKc3ViIGhhbmRsZV90YXJnZXRzICgpCnsKICBteSAlc2VlbiA9
ICgpOwogIG15IEBkdXBzID0gKCk7CiAgQHByb2dsaXN0ID0gYW1faW5zdGFsbF92YXIgKCdwcm9n
cycsICdQUk9HUkFNUycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiaW4nLCAnc2Jp
bicsICdsaWJleGVjJywgJ3BrZ2xpYmV4ZWMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAnbm9pbnN0JywgJ2NoZWNrJyk7CiAgQGxpYmxpc3QgPSBhbV9pbnN0YWxsX3ZhciAoJ2xpYnMn
LCAnTElCUkFSSUVTJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGliJywgJ3BrZ2xp
YicsICdub2luc3QnLCAnY2hlY2snKTsKICBAbHRsaWJsaXN0ID0gYW1faW5zdGFsbF92YXIgKCds
dGxpYicsICdMVExJQlJBUklFUycsCgkJCSAgICAgICAnbm9pbnN0JywgJ2xpYicsICdwa2dsaWIn
LCAnY2hlY2snKTsKCiAgIyBSZWNvcmQgZHVwbGljYXRlcyB0aGF0IG1heSBhcmlzZSBhZnRlciBj
YW5vbmljYWxpemF0aW9uIG9mIHRoZQogICMgYmFzZSBuYW1lcywgaW4gb3JkZXIgdG8gcHJldmVu
dCBvYmplY3QgZmlsZSBjbGFzaGVzIGluIHRoZSBwcmVzZW5jZQogICMgb2YgdGFyZ2V0LXNwZWNp
ZmljICpGTEFHUwogIG15IEB0YXJnZXRsaXN0ID0gKEBwcm9nbGlzdCwgQGxpYmxpc3QsIEBsdGxp
Ymxpc3QpOwogIGZvcmVhY2ggbXkgJHBhaXIgKEB0YXJnZXRsaXN0KQogICAgewogICAgICBteSAk
YmFzZSA9IGNhbm9uaWNhbGl6ZSAoYmFzZW5hbWUgKEAkcGFpclsxXSkpOwogICAgICBwdXNoIChA
ZHVwX3Nob3J0bmFtZXMsICRiYXNlKSBpZiAoJHNlZW57JGJhc2V9KTsKICAgICAgJHNlZW57JGJh
c2V9ID0gJGJhc2U7CiAgICB9Cn0KCnN1YiBoYW5kbGVfcHJvZ3JhbXMgKCkKewogIHJldHVybiBp
ZiAhIEBwcm9nbGlzdDsKICAkbXVzdF9oYW5kbGVfY29tcGlsZWRfb2JqZWN0cyA9IDE7CgogIG15
ICRzZWVuX2dsb2JhbF9saWJvYmpzID0KICAgIHZhciAoJ0xEQUREJykgJiYgaGFuZGxlX2xpYl9v
YmplY3RzICgnJywgJ0xEQUREJyk7CgogIGZvcmVhY2ggbXkgJHBhaXIgKEBwcm9nbGlzdCkKICAg
IHsKICAgICAgbXkgKCR3aGVyZSwgJG9uZV9maWxlKSA9IEAkcGFpcjsKCiAgICAgIG15ICRzZWVu
X2xpYm9ianMgPSAwOwogICAgICBteSAkb2JqID0gJy4kKE9CSkVYVCknOwoKICAgICAgJGtub3du
X3Byb2dyYW1zeyRvbmVfZmlsZX0gPSAkd2hlcmU7CgogICAgICAjIENhbm9uaWNhbGl6ZSBuYW1l
cyBhbmQgY2hlY2sgZm9yIG1pc3NwZWxsaW5ncy4KICAgICAgbXkgJHhuYW1lID0gY2hlY2tfY2Fu
b25pY2FsX3NwZWxsaW5nICgkb25lX2ZpbGUsICdfTERBREQnLCAnX0xERkxBR1MnLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfU09VUkNFUycsICdfT0JKRUNU
UycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19ERVBFTkRF
TkNJRVMnKTsKCiAgICAgICR3aGVyZS0+cHVzaF9jb250ZXh0ICgid2hpbGUgcHJvY2Vzc2luZyBw
cm9ncmFtICckb25lX2ZpbGUnIik7CiAgICAgICR3aGVyZS0+c2V0IChJTlRFUk5BTC0+Z2V0KTsK
CiAgICAgIG15ICRsaW5rZXIgPSBoYW5kbGVfc291cmNlX3RyYW5zZm9ybSAoJHhuYW1lLCAkb25l
X2ZpbGUsICRvYmosICR3aGVyZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBOT05MSUJUT09MID0+IDEsIExJQlRPT0wgPT4gMCk7CgogICAgICBpZiAodmFyICgk
eG5hbWUgLiAiX0xEQUREIikpCgl7CgkgICRzZWVuX2xpYm9ianMgPSBoYW5kbGVfbGliX29iamVj
dHMgKCR4bmFtZSwgJHhuYW1lIC4gJ19MREFERCcpOwoJfQogICAgICBlbHNlCgl7CgkgICMgVXNl
ciBkaWRuJ3QgZGVmaW5lIHByb2dfTERBREQgb3ZlcnJpZGUuICBTbyBkbyBpdC4KCSAgZGVmaW5l
X3ZhcmlhYmxlICgkeG5hbWUgLiAnX0xEQUREJywgJyQoTERBREQpJywgJHdoZXJlKTsKCgkgICMg
VGhpcyBkb2VzIGEgYml0IHRvbyBtdWNoIHdvcmsuICBCdXQgd2UgbmVlZCBpdCB0bwoJICAjIGdl
bmVyYXRlIF9ERVBFTkRFTkNJRVMgd2hlbiBhcHByb3ByaWF0ZS4KCSAgaWYgKHZhciAoJ0xEQURE
JykpCgkgICAgewoJICAgICAgJHNlZW5fbGlib2JqcyA9IGhhbmRsZV9saWJfb2JqZWN0cyAoJHhu
YW1lLCAnTERBREQnKTsKCSAgICB9Cgl9CgogICAgICByZWplY3RfdmFyICgkeG5hbWUgLiAnX0xJ
QkFERCcsCgkJICAidXNlICcke3huYW1lfV9MREFERCcsIG5vdCAnJHt4bmFtZX1fTElCQUREJyIp
OwoKICAgICAgc2V0X3NlZW4gKCR4bmFtZSAuICdfREVQRU5ERU5DSUVTJyk7CiAgICAgIHNldF9z
ZWVuICgnRVhUUkFfJyAuICR4bmFtZSAuICdfREVQRU5ERU5DSUVTJyk7CiAgICAgIHNldF9zZWVu
ICgkeG5hbWUgLiAnX0xERkxBR1MnKTsKCiAgICAgICMgRGV0ZXJtaW5lIHByb2dyYW0gdG8gdXNl
IGZvciBsaW5rLgogICAgICBteSgkeGxpbmssICR2bGluaykgPSBkZWZpbmVfcGVyX3RhcmdldF9s
aW5rZXJfdmFyaWFibGUgKCRsaW5rZXIsICR4bmFtZSk7CiAgICAgICR2bGluayA9IHZlcmJvc2Vf
ZmxhZyAoJHZsaW5rIHx8ICdHRU4nKTsKCiAgICAgICMgSWYgdGhlIHJlc3VsdGluZyBwcm9ncmFt
IGxpZXMgaW4gYSBzdWJkaXJlY3RvcnksCiAgICAgICMgZW5zdXJlIHRoYXQgdGhlIGRpcmVjdG9y
eSBleGlzdHMgYmVmb3JlIHdlIG5lZWQgaXQuCiAgICAgIG15ICRkaXJzdGFtcCA9IHJlcXVpcmVf
YnVpbGRfZGlyZWN0b3J5X21heWJlICgkb25lX2ZpbGUpOwoKICAgICAgJGxpYnRvb2xfY2xlYW5f
ZGlyZWN0b3JpZXN7ZGlybmFtZSAoJG9uZV9maWxlKX0gPSAxOwoKICAgICAgJG91dHB1dF9ydWxl
cyAuPSBmaWxlX2NvbnRlbnRzICgncHJvZ3JhbScsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJHdoZXJlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFBST0dSQU0gID0+ICRvbmVfZmlsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBYUFJPR1JBTSA9PiAkeG5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgWExJTksgICAgPT4gJHhsaW5rLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFZFUkJPU0UgID0+ICR2bGluaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBESVJTVEFNUCA9PiAkZGlyc3RhbXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgRVhFRVhUICAgPT4gJyQoRVhFRVhUKScpOwoKICAgICAgaWYgKCRzZWVuX2xp
Ym9ianMgfHwgJHNlZW5fZ2xvYmFsX2xpYm9ianMpCgl7CgkgIGlmICh2YXIgKCR4bmFtZSAuICdf
TERBREQnKSkKCSAgICB7CgkgICAgICBjaGVja19saWJvYmpzX3NvdXJjZXMgKCR4bmFtZSwgJHhu
YW1lIC4gJ19MREFERCcpOwoJICAgIH0KCSAgZWxzaWYgKHZhciAoJ0xEQUREJykpCgkgICAgewoJ
ICAgICAgY2hlY2tfbGlib2Jqc19zb3VyY2VzICgkeG5hbWUsICdMREFERCcpOwoJICAgIH0KCX0K
ICAgIH0KfQoKCnN1YiBoYW5kbGVfbGlicmFyaWVzICgpCnsKICByZXR1cm4gaWYgISBAbGlibGlz
dDsKICAkbXVzdF9oYW5kbGVfY29tcGlsZWRfb2JqZWN0cyA9IDE7CgogIG15IEBwcmVmaXggPSBh
bV9wcmltYXJ5X3ByZWZpeGVzICgnTElCUkFSSUVTJywgMCwgJ2xpYicsICdwa2dsaWInLAoJCQkJ
ICAgICdub2luc3QnLCAnY2hlY2snKTsKCiAgaWYgKEBwcmVmaXgpCiAgICB7CiAgICAgIG15ICR2
YXIgPSBydmFyICgkcHJlZml4WzBdIC4gJ19MSUJSQVJJRVMnKTsKICAgICAgJHZhci0+cmVxdWly
ZXNfdmFyaWFibGVzICgnbGlicmFyeSB1c2VkJywgJ1JBTkxJQicpOwogICAgfQoKICBkZWZpbmVf
dmFyaWFibGUgKCdBUicsICdhcicsIElOVEVSTkFMKTsKICBkZWZpbmVfdmFyaWFibGUgKCdBUkZM
QUdTJywgJ2NyJywgSU5URVJOQUwpOwogIGRlZmluZV92ZXJib3NlX3RhZ3ZhciAoJ0FSJyk7Cgog
IGZvcmVhY2ggbXkgJHBhaXIgKEBsaWJsaXN0KQogICAgewogICAgICBteSAoJHdoZXJlLCAkb25l
bGliKSA9IEAkcGFpcjsKCiAgICAgIG15ICRzZWVuX2xpYm9ianMgPSAwOwogICAgICAjIENoZWNr
IHRoYXQgdGhlIGxpYnJhcnkgZml0cyB0aGUgc3RhbmRhcmQgbmFtaW5nIGNvbnZlbnRpb24uCiAg
ICAgIG15ICRibiA9IGJhc2VuYW1lICgkb25lbGliKTsKICAgICAgaWYgKCRibiAhfiAvXmxpYi4q
XC5hJC8pCgl7CgkgICRibiA9fiBzL14oPzpsaWIpPyguKj8pKD86XC5bXi5dKik/JC9saWIkMS5h
LzsKCSAgbXkgJHN1Z2dlc3Rpb24gPSBkaXJuYW1lICgkb25lbGliKSAuICIvJGJuIjsKCSAgJHN1
Z2dlc3Rpb24gPX4gc3xeXC4vfHxnOwoJICBtc2cgKCdlcnJvci1nbnUvd2FybicsICR3aGVyZSwK
CSAgICAgICAiJyRvbmVsaWInIGlzIG5vdCBhIHN0YW5kYXJkIGxpYnJhcnkgbmFtZVxuIgoJICAg
ICAgIC4gImRpZCB5b3UgbWVhbiAnJHN1Z2dlc3Rpb24nPyIpCgl9CgogICAgICAoJGtub3duX2xp
YnJhcmllc3skb25lbGlifSA9ICRibikgPX4gcy9cLmEkLy87CgogICAgICAkd2hlcmUtPnB1c2hf
Y29udGV4dCAoIndoaWxlIHByb2Nlc3NpbmcgbGlicmFyeSAnJG9uZWxpYiciKTsKICAgICAgJHdo
ZXJlLT5zZXQgKElOVEVSTkFMLT5nZXQpOwoKICAgICAgbXkgJG9iaiA9ICcuJChPQkpFWFQpJzsK
CiAgICAgICMgQ2Fub25pY2FsaXplIG5hbWVzIGFuZCBjaGVjayBmb3IgbWlzc3BlbGxpbmdzLgog
ICAgICBteSAkeGxpYiA9IGNoZWNrX2Nhbm9uaWNhbF9zcGVsbGluZyAoJG9uZWxpYiwgJ19MSUJB
REQnLCAnX1NPVVJDRVMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ19PQkpFQ1RTJywgJ19ERVBFTkRFTkNJRVMnLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJ19BUicsICdfUkFOTElCJyk7CgogICAgICBpZiAoISB2YXIgKCR4
bGliIC4gJ19BUicpKQoJewoJICBkZWZpbmVfdmFyaWFibGUgKCR4bGliIC4gJ19BUicsICckKEFS
KSAkKEFSRkxBR1MpJywgJHdoZXJlKTsKCX0KICAgICAgaWYgKCEgdmFyICgkeGxpYiAuICdfUkFO
TElCJykpCgl7CgkgIGRlZmluZV92YXJpYWJsZSAoJHhsaWIgLiAnX1JBTkxJQicsICckKFJBTkxJ
QiknLCAkd2hlcmUpOwoJfQoKICAgICAgIyBHZW5lcmF0ZSBzdXBwb3J0IGZvciBjb25kaXRpb25h
bCBvYmplY3QgaW5jbHVzaW9uIGluCiAgICAgICMgbGlicmFyaWVzLgogICAgICBpZiAodmFyICgk
eGxpYiAuICdfTElCQUREJykpCgl7CgkgIGlmIChoYW5kbGVfbGliX29iamVjdHMgKCR4bGliLCAk
eGxpYiAuICdfTElCQUREJykpCgkgICAgewoJICAgICAgJHNlZW5fbGlib2JqcyA9IDE7CgkgICAg
fQoJfQogICAgICBlbHNlCgl7CgkgIGRlZmluZV92YXJpYWJsZSAoJHhsaWIgLiAiX0xJQkFERCIs
ICcnLCAkd2hlcmUpOwoJfQoKICAgICAgcmVqZWN0X3ZhciAoJHhsaWIgLiAnX0xEQUREJywKCQkg
ICJ1c2UgJyR7eGxpYn1fTElCQUREJywgbm90ICcke3hsaWJ9X0xEQUREJyIpOwoKICAgICAgIyBN
YWtlIHN1cmUgd2UgYXQgbG9vayBhdCB0aGlzLgogICAgICBzZXRfc2VlbiAoJHhsaWIgLiAnX0RF
UEVOREVOQ0lFUycpOwogICAgICBzZXRfc2VlbiAoJ0VYVFJBXycgLiAkeGxpYiAuICdfREVQRU5E
RU5DSUVTJyk7CgogICAgICBoYW5kbGVfc291cmNlX3RyYW5zZm9ybSAoJHhsaWIsICRvbmVsaWIs
ICRvYmosICR3aGVyZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5PTkxJQlRPT0wg
PT4gMSwgTElCVE9PTCA9PiAwKTsKCiAgICAgICMgSWYgdGhlIHJlc3VsdGluZyBsaWJyYXJ5IGxp
ZXMgaW4gYSBzdWJkaXJlY3RvcnksCiAgICAgICMgbWFrZSBzdXJlIHRoaXMgZGlyZWN0b3J5IHdp
bGwgZXhpc3QuCiAgICAgIG15ICRkaXJzdGFtcCA9IHJlcXVpcmVfYnVpbGRfZGlyZWN0b3J5X21h
eWJlICgkb25lbGliKTsKICAgICAgbXkgJHZlcmJvc2UgPSB2ZXJib3NlX2ZsYWcgKCdBUicpOwog
ICAgICBteSAkc2lsZW50ID0gc2lsZW50X2ZsYWcgKCk7CgogICAgICAkb3V0cHV0X3J1bGVzIC49
IGZpbGVfY29udGVudHMgKCdsaWJyYXJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJHdoZXJlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBW
RVJCT1NFICA9PiAkdmVyYm9zZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgU0lMRU5UICAgPT4gJHNpbGVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTElCUkFSWSAgPT4gJG9uZWxpYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgWExJQlJBUlkgPT4gJHhsaWIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIERJUlNUQU1QID0+ICRkaXJzdGFtcCk7CgogICAgICBpZiAoJHNlZW5fbGlib2Jq
cykKCXsKCSAgaWYgKHZhciAoJHhsaWIgLiAnX0xJQkFERCcpKQoJICAgIHsKCSAgICAgIGNoZWNr
X2xpYm9ianNfc291cmNlcyAoJHhsaWIsICR4bGliIC4gJ19MSUJBREQnKTsKCSAgICB9Cgl9Cgog
ICAgICBpZiAoISAkc2Vlbl9hcikKCXsKCSAgbXNnICgnZXh0cmEtcG9ydGFiaWxpdHknLCAkd2hl
cmUsCgkgICAgICAgIickb25lbGliJzogbGlua2luZyBsaWJyYXJpZXMgdXNpbmcgYSBub24tUE9T
SVhcbiIKCSAgICAgICAuICJhcmNoaXZlciByZXF1aXJlcyAnQU1fUFJPR19BUicgaW4gJyRjb25m
aWd1cmVfYWMnIikKCX0KICAgIH0KfQoKCnN1YiBoYW5kbGVfbHRsaWJyYXJpZXMgKCkKewogIHJl
dHVybiBpZiAhIEBsdGxpYmxpc3Q7CiAgJG11c3RfaGFuZGxlX2NvbXBpbGVkX29iamVjdHMgPSAx
OwoKICBteSBAcHJlZml4ID0gYW1fcHJpbWFyeV9wcmVmaXhlcyAoJ0xUTElCUkFSSUVTJywgMCwg
J2xpYicsICdwa2dsaWInLAoJCQkJICAgICdub2luc3QnLCAnY2hlY2snKTsKCiAgaWYgKEBwcmVm
aXgpCiAgICB7CiAgICAgIG15ICR2YXIgPSBydmFyICgkcHJlZml4WzBdIC4gJ19MVExJQlJBUklF
UycpOwogICAgICAkdmFyLT5yZXF1aXJlc192YXJpYWJsZXMgKCdMaWJ0b29sIGxpYnJhcnkgdXNl
ZCcsICdMSUJUT09MJyk7CiAgICB9CgogIG15ICVpbnN0ZGlycyA9ICgpOwogIG15ICVpbnN0c3Vi
ZGlycyA9ICgpOwogIG15ICVpbnN0Y29uZHMgPSAoKTsKICBteSAlbGlibG9jYXRpb25zID0gKCk7
CSMgTG9jYXRpb24gKGluIE1ha2VmaWxlLmFtKSBvZiBlYWNoIGxpYnJhcnkuCgogIGZvcmVhY2gg
bXkgJGtleSAoQHByZWZpeCkKICAgIHsKICAgICAgIyBHZXQgdGhlIGluc3RhbGxhdGlvbiBkaXJl
Y3Rvcnkgb2YgZWFjaCBsaWJyYXJ5LgogICAgICBteSAkZGlyID0gJGtleTsKICAgICAgbXkgJHN0
cmlwX3N1YmRpciA9IDE7CiAgICAgIGlmICgkZGlyID1+IC9ebm9iYXNlXy8pCiAgICAgICAgewoJ
ICAkZGlyID1+IHMvXm5vYmFzZV8vLzsKCSAgJHN0cmlwX3N1YmRpciA9IDA7Cgl9CiAgICAgIG15
ICR2YXIgPSBydmFyICgka2V5IC4gJ19MVExJQlJBUklFUycpOwoKICAgICAgIyBXZSByZWplY3Qg
bGlicmFyaWVzIHdoaWNoIGFyZSBpbnN0YWxsZWQgaW4gc2V2ZXJhbCBwbGFjZXMKICAgICAgIyBp
biB0aGUgc2FtZSBjb25kaXRpb24sIGJlY2F1c2Ugd2UgY2FuIG9ubHkgc3BlY2lmeSBvbmUKICAg
ICAgIyAnLXJwYXRoJyBvcHRpb24uCiAgICAgICR2YXItPnRyYXZlcnNlX3JlY3Vyc2l2ZWx5Cgko
c3ViCgkgewoJICAgbXkgKCR2YXIsICR2YWwsICRjb25kLCAkZnVsbF9jb25kKSA9IEBfOwoJICAg
bXkgJGhjb25kID0gJGZ1bGxfY29uZC0+aHVtYW47CgkgICBteSAkd2hlcmUgPSAkdmFyLT5yZGVm
ICgkY29uZCktPmxvY2F0aW9uOwoJICAgbXkgJGxkaXIgPSAnJzsKCSAgICRsZGlyID0gJy8nIC4g
ZGlybmFtZSAoJHZhbCkKCSAgICAgaWYgKCEkc3RyaXBfc3ViZGlyKTsKCSAgICMgQSBsaWJyYXJ5
IGNhbm5vdCBiZSBpbnN0YWxsZWQgaW4gZGlmZmVyZW50IGRpcmVjdG9yaWVzCgkgICAjIGluIG92
ZXJsYXBwaW5nIGNvbmRpdGlvbnMuCgkgICBpZiAoZXhpc3RzICRpbnN0Y29uZHN7JHZhbH0pCgkg
ICAgIHsKCSAgICAgICBteSAoJG1zZywgJGFjb25kKSA9CgkJICRpbnN0Y29uZHN7JHZhbH0tPmFt
YmlndW91c19wICgkdmFsLCAkZnVsbF9jb25kKTsKCgkgICAgICAgaWYgKCRtc2cpCgkJIHsKCQkg
ICBlcnJvciAoJHdoZXJlLCAkbXNnLCBwYXJ0aWFsID0+IDEpOwoJCSAgIG15ICRkaXJ0eHQgPSAi
aW5zdGFsbGVkICIgLiAoJHN0cmlwX3N1YmRpciA/ICJpbiIgOiAiYmVsb3ciKSAuICIgJyRkaXIn
IjsKCQkgICAkZGlydHh0ID0gImJ1aWx0IGZvciAnJGRpciciCgkJICAgICBpZiAkZGlyIGVxICdF
WFRSQScgfHwgJGRpciBlcSAnbm9pbnN0JyB8fCAkZGlyIGVxICdjaGVjayc7CgkJICAgbXkgJGRp
cmNvbmQgPQoJCSAgICAgJGZ1bGxfY29uZC0+dHJ1ZSA/ICIiIDogIiBpbiBjb25kaXRpb24gJGhj
b25kIjsKCgkJICAgZXJyb3IgKCR3aGVyZSwgIickdmFsJyBzaG91bGQgYmUgJGRpcnR4dCRkaXJj
b25kIC4uLiIsCgkJCSAgcGFydGlhbCA9PiAxKTsKCgkJICAgbXkgJGhhY29uZCA9ICRhY29uZC0+
aHVtYW47CgkJICAgbXkgJGFkaXIgPSAkaW5zdGRpcnN7JHZhbH17JGFjb25kfTsKCQkgICBteSAk
YWRpcnR4dCA9ICJpbnN0YWxsZWQgaW4gJyRhZGlyJyI7CgkJICAgJGFkaXJ0eHQgPSAiYnVpbHQg
Zm9yICckYWRpciciCgkJICAgICBpZiAoJGFkaXIgZXEgJ0VYVFJBJyB8fCAkYWRpciBlcSAnbm9p
bnN0JwoJCQkgfHwgJGFkaXIgZXEgJ2NoZWNrJyk7CgkJICAgbXkgJGFkaXJjb25kID0gJGFjb25k
LT50cnVlID8gIiIgOiAiIGluIGNvbmRpdGlvbiAkaGFjb25kIjsKCgkJICAgbXkgJG9ubHlvbmUg
PSAoJGRpciBuZSAkYWRpcikgPwoJCSAgICAgKCJcbkxpYnRvb2wgbGlicmFyaWVzIGNhbiBiZSBi
dWlsdCBmb3Igb25seSBvbmUgIgoJCSAgICAgIC4gImRlc3RpbmF0aW9uIikgOiAiIjsKCgkJICAg
ZXJyb3IgKCRsaWJsb2NhdGlvbnN7JHZhbH17JGFjb25kfSwKCQkJICAiLi4uIGFuZCBzaG91bGQg
YWxzbyBiZSAkYWRpcnR4dCRhZGlyY29uZC4kb25seW9uZSIpOwoJCSAgIHJldHVybjsKCQkgfQoJ
ICAgICB9CgkgICBlbHNlCgkgICAgIHsKCSAgICAgICAkaW5zdGNvbmRzeyR2YWx9ID0gbmV3IEF1
dG9tYWtlOjpEaXNqQ29uZGl0aW9uczsKCSAgICAgfQoJICAgJGluc3RkaXJzeyR2YWx9eyRmdWxs
X2NvbmR9ID0gJGRpcjsKCSAgICRpbnN0c3ViZGlyc3skdmFsfXskZnVsbF9jb25kfSA9ICRsZGly
OwoJICAgJGxpYmxvY2F0aW9uc3skdmFsfXskZnVsbF9jb25kfSA9ICR3aGVyZTsKCSAgICRpbnN0
Y29uZHN7JHZhbH0gPSAkaW5zdGNvbmRzeyR2YWx9LT5tZXJnZSAoJGZ1bGxfY29uZCk7CgkgfSwK
CSBzdWIKCSB7CgkgICByZXR1cm4gKCk7CgkgfSwKCSBza2lwX2FjX3N1YnN0ID0+IDEpOwogICAg
fQoKICBmb3JlYWNoIG15ICRwYWlyIChAbHRsaWJsaXN0KQogICAgewogICAgICBteSAoJHdoZXJl
LCAkb25lbGliKSA9IEAkcGFpcjsKCiAgICAgIG15ICRzZWVuX2xpYm9ianMgPSAwOwogICAgICBt
eSAkb2JqID0gJy5sbyc7CgogICAgICAjIENhbm9uaWNhbGl6ZSBuYW1lcyBhbmQgY2hlY2sgZm9y
IG1pc3NwZWxsaW5ncy4KICAgICAgbXkgJHhsaWIgPSBjaGVja19jYW5vbmljYWxfc3BlbGxpbmcg
KCRvbmVsaWIsICdfTElCQUREJywgJ19MREZMQUdTJywKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdfU09VUkNFUycsICdfT0JKRUNUUycsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX0RFUEVOREVOQ0lFUycpOwoKICAgICAgIyBD
aGVjayB0aGF0IHRoZSBsaWJyYXJ5IGZpdHMgdGhlIHN0YW5kYXJkIG5hbWluZyBjb252ZW50aW9u
LgogICAgICBteSAkbGlibmFtZV9yeCA9ICdebGliLipcLmxhJzsKICAgICAgbXkgJGxkdmFyID0g
dmFyICgiJHt4bGlifV9MREZMQUdTIikgfHwgdmFyICgnQU1fTERGTEFHUycpOwogICAgICBteSAk
bGR2YXIyID0gdmFyICgnTERGTEFHUycpOwogICAgICBpZiAoKCRsZHZhciAmJiBncmVwICgvLW1v
ZHVsZS8sICRsZHZhci0+dmFsdWVfYXNfbGlzdF9yZWN1cnNpdmUpKQoJICB8fCAoJGxkdmFyMiAm
JiBncmVwICgvLW1vZHVsZS8sICRsZHZhcjItPnZhbHVlX2FzX2xpc3RfcmVjdXJzaXZlKSkpCgl7
CgkgICMgUmVsYXggbmFtZSBjaGVja2luZyBmb3IgbGlidG9vbCBtb2R1bGVzLgoJICAkbGlibmFt
ZV9yeCA9ICdcLmxhJzsKCX0KCiAgICAgIG15ICRibiA9IGJhc2VuYW1lICgkb25lbGliKTsKICAg
ICAgaWYgKCRibiAhfiAvJGxpYm5hbWVfcngkLykKCXsKCSAgbXkgJHR5cGUgPSAnbGlicmFyeSc7
CgkgIGlmICgkbGlibmFtZV9yeCBlcSAnXC5sYScpCgkgICAgewoJICAgICAgJGJuID1+IHMvXihs
aWJ8KSguKj8pKD86XC5bXi5dKik/JC8kMSQyLmxhLzsKCSAgICAgICR0eXBlID0gJ21vZHVsZSc7
CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJGJuID1+IHMvXig/OmxpYik/KC4qPykoPzpc
LlteLl0qKT8kL2xpYiQxLmxhLzsKCSAgICB9CgkgIG15ICRzdWdnZXN0aW9uID0gZGlybmFtZSAo
JG9uZWxpYikgLiAiLyRibiI7CgkgICRzdWdnZXN0aW9uID1+IHN8XlwuL3x8ZzsKCSAgbXNnICgn
ZXJyb3ItZ251L3dhcm4nLCAkd2hlcmUsCgkgICAgICAgIickb25lbGliJyBpcyBub3QgYSBzdGFu
ZGFyZCBsaWJ0b29sICR0eXBlIG5hbWVcbiIKCSAgICAgICAuICJkaWQgeW91IG1lYW4gJyRzdWdn
ZXN0aW9uJz8iKQoJfQoKICAgICAgKCRrbm93bl9saWJyYXJpZXN7JG9uZWxpYn0gPSAkYm4pID1+
IHMvXC5sYSQvLzsKCiAgICAgICR3aGVyZS0+cHVzaF9jb250ZXh0ICgid2hpbGUgcHJvY2Vzc2lu
ZyBMaWJ0b29sIGxpYnJhcnkgJyRvbmVsaWInIik7CiAgICAgICR3aGVyZS0+c2V0IChJTlRFUk5B
TC0+Z2V0KTsKCiAgICAgICMgTWFrZSBzdXJlIHdlIGxvb2sgYXQgdGhlc2UuCiAgICAgIHNldF9z
ZWVuICgkeGxpYiAuICdfTERGTEFHUycpOwogICAgICBzZXRfc2VlbiAoJHhsaWIgLiAnX0RFUEVO
REVOQ0lFUycpOwogICAgICBzZXRfc2VlbiAoJ0VYVFJBXycgLiAkeGxpYiAuICdfREVQRU5ERU5D
SUVTJyk7CgogICAgICAjIEdlbmVyYXRlIHN1cHBvcnQgZm9yIGNvbmRpdGlvbmFsIG9iamVjdCBp
bmNsdXNpb24gaW4KICAgICAgIyBsaWJyYXJpZXMuCiAgICAgIGlmICh2YXIgKCR4bGliIC4gJ19M
SUJBREQnKSkKCXsKCSAgaWYgKGhhbmRsZV9saWJfb2JqZWN0cyAoJHhsaWIsICR4bGliIC4gJ19M
SUJBREQnKSkKCSAgICB7CgkgICAgICAkc2Vlbl9saWJvYmpzID0gMTsKCSAgICB9Cgl9CiAgICAg
IGVsc2UKCXsKCSAgZGVmaW5lX3ZhcmlhYmxlICgkeGxpYiAuICJfTElCQUREIiwgJycsICR3aGVy
ZSk7Cgl9CgogICAgICByZWplY3RfdmFyICgiJHt4bGlifV9MREFERCIsCgkJICAidXNlICcke3hs
aWJ9X0xJQkFERCcsIG5vdCAnJHt4bGlifV9MREFERCciKTsKCgogICAgICBteSAkbGlua2VyID0g
aGFuZGxlX3NvdXJjZV90cmFuc2Zvcm0gKCR4bGliLCAkb25lbGliLCAkb2JqLCAkd2hlcmUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTk9OTElCVE9PTCA9PiAw
LCBMSUJUT09MID0+IDEpOwoKICAgICAgIyBEZXRlcm1pbmUgcHJvZ3JhbSB0byB1c2UgZm9yIGxp
bmsuCiAgICAgIG15KCR4bGluaywgJHZsaW5rKSA9IGRlZmluZV9wZXJfdGFyZ2V0X2xpbmtlcl92
YXJpYWJsZSAoJGxpbmtlciwgJHhsaWIpOwogICAgICAkdmxpbmsgPSB2ZXJib3NlX2ZsYWcgKCR2
bGluayB8fCAnR0VOJyk7CgogICAgICBteSAkcnBhdGh2YXIgPSAiYW1fJHt4bGlifV9ycGF0aCI7
CiAgICAgIG15ICRycGF0aCA9ICJcJCgkcnBhdGh2YXIpIjsKICAgICAgZm9yZWFjaCBteSAkcmNv
bmQgKCRpbnN0Y29uZHN7JG9uZWxpYn0tPmNvbmRzKQoJewoJICBteSAkdmFsOwoJICBpZiAoJGlu
c3RkaXJzeyRvbmVsaWJ9eyRyY29uZH0gZXEgJ0VYVFJBJwoJICAgICAgfHwgJGluc3RkaXJzeyRv
bmVsaWJ9eyRyY29uZH0gZXEgJ25vaW5zdCcKCSAgICAgIHx8ICRpbnN0ZGlyc3skb25lbGlifXsk
cmNvbmR9IGVxICdjaGVjaycpCgkgICAgewoJICAgICAgIyBJdCdzIGFuIEVYVFJBXyBsaWJyYXJ5
LCBzbyB3ZSBjYW4ndCBzcGVjaWZ5IC1ycGF0aCwKCSAgICAgICMgYmVjYXVzZSB3ZSBkb24ndCBr
bm93IHdoZXJlIHRoZSBsaWJyYXJ5IHdpbGwgZW5kIHVwLgoJICAgICAgIyBUaGUgdXNlciBwcm9i
YWJseSBrbm93cywgYnV0IGdlbmVyYWxseSBzcGVha2luZyBhdXRvbWFrZQoJICAgICAgIyBkb2Vz
bid0IC0tIGFuZCBpbiBmYWN0IGNvbmZpZ3VyZSBjb3VsZCBkZWNpZGUKCSAgICAgICMgZHluYW1p
Y2FsbHkgYmV0d2VlbiB0d28gZGlmZmVyZW50IGxvY2F0aW9ucy4KCSAgICAgICR2YWwgPSAnJzsK
CSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAkdmFsID0gKCctcnBhdGggJCgnIC4gJGluc3Rk
aXJzeyRvbmVsaWJ9eyRyY29uZH0gLiAnZGlyKScpOwoJICAgICAgJHZhbCAuPSAkaW5zdHN1YmRp
cnN7JG9uZWxpYn17JHJjb25kfQoJICAgICAgICBpZiBkZWZpbmVkICRpbnN0c3ViZGlyc3skb25l
bGlifXskcmNvbmR9OwoJICAgIH0KCSAgaWYgKCRyY29uZC0+dHJ1ZSkKCSAgICB7CgkgICAgICAj
IElmICRyY29uZCBpcyB0cnVlIHRoZXJlIGlzIG9ubHkgb25lIGNvbmRpdGlvbiBhbmQKCSAgICAg
ICMgdGhlcmUgaXMgbm8gcG9pbnQgZGVmaW5pbmcgYW4gaGVscGVyIHZhcmlhYmxlLgoJICAgICAg
JHJwYXRoID0gJHZhbDsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICBkZWZpbmVfcHJldHR5
X3ZhcmlhYmxlICgkcnBhdGh2YXIsICRyY29uZCwgSU5URVJOQUwsICR2YWwpOwoJICAgIH0KCX0K
CiAgICAgICMgSWYgdGhlIHJlc3VsdGluZyBsaWJyYXJ5IGxpZXMgaW4gYSBzdWJkaXJlY3Rvcnks
CiAgICAgICMgbWFrZSBzdXJlIHRoaXMgZGlyZWN0b3J5IHdpbGwgZXhpc3QuCiAgICAgIG15ICRk
aXJzdGFtcCA9IHJlcXVpcmVfYnVpbGRfZGlyZWN0b3J5X21heWJlICgkb25lbGliKTsKCiAgICAg
ICMgUmVtZW1iZXIgdG8gY2xlYW51cCAubGlicy8gaW4gdGhpcyBkaXJlY3RvcnkuCiAgICAgIG15
ICRkaXJuYW1lID0gZGlybmFtZSAkb25lbGliOwogICAgICAkbGlidG9vbF9jbGVhbl9kaXJlY3Rv
cmllc3skZGlybmFtZX0gPSAxOwoKICAgICAgJG91dHB1dF9ydWxlcyAuPSBmaWxlX2NvbnRlbnRz
ICgnbHRsaWJyYXJ5JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hl
cmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTFRMSUJSQVJZICA9PiAk
b25lbGliLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhMVExJQlJBUlkg
PT4gJHhsaWIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUlBBVEggICAg
ICA9PiAkcnBhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWExJTksg
ICAgICA9PiAkeGxpbmssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkVS
Qk9TRSAgICA9PiAkdmxpbmssCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
RElSU1RBTVAgICA9PiAkZGlyc3RhbXApOwogICAgICBpZiAoJHNlZW5fbGlib2JqcykKCXsKCSAg
aWYgKHZhciAoJHhsaWIgLiAnX0xJQkFERCcpKQoJICAgIHsKCSAgICAgIGNoZWNrX2xpYm9ianNf
c291cmNlcyAoJHhsaWIsICR4bGliIC4gJ19MSUJBREQnKTsKCSAgICB9Cgl9CgogICAgICBpZiAo
ISAkc2Vlbl9hcikKCXsKCSAgbXNnICgnZXh0cmEtcG9ydGFiaWxpdHknLCAkd2hlcmUsCgkgICAg
ICAgIickb25lbGliJzogbGlua2luZyBsaWJ0b29sIGxpYnJhcmllcyB1c2luZyBhIG5vbi1QT1NJ
WFxuIgoJICAgICAgIC4gImFyY2hpdmVyIHJlcXVpcmVzICdBTV9QUk9HX0FSJyBpbiAnJGNvbmZp
Z3VyZV9hYyciKQoJfQogICAgfQp9CgojIFNlZSBpZiBhbnkgX1NPVVJDRVMgdmFyaWFibGUgd2Vy
ZSBtaXNzcGVsbGVkLgpzdWIgY2hlY2tfdHlwb3MgKCkKewogICMgSXQgaXMgb2sgaWYgdGhlIHVz
ZXIgc2V0cyB0aGlzIHBhcnRpY3VsYXIgdmFyaWFibGUuCiAgc2V0X3NlZW4gJ0FNX0xERkxBR1Mn
OwoKICBmb3JlYWNoIG15ICRwcmltYXJ5ICgnU09VUkNFUycsICdMSUJBREQnLCAnTERBREQnLCAn
TERGTEFHUycsICdERVBFTkRFTkNJRVMnKQogICAgewogICAgICBmb3JlYWNoIG15ICR2YXIgKHZh
cmlhYmxlcyAkcHJpbWFyeSkKCXsKCSAgbXkgJHZhcm5hbWUgPSAkdmFyLT5uYW1lOwoJICAjIEEg
Y29uZmlndXJlIHZhcmlhYmxlIGlzIGFsd2F5cyBsZWdpdGltYXRlLgoJICBuZXh0IGlmIGV4aXN0
cyAkY29uZmlndXJlX3ZhcnN7JHZhcm5hbWV9OwoKCSAgZm9yIG15ICRjb25kICgkdmFyLT5jb25k
aXRpb25zLT5jb25kcykKCSAgICB7CgkgICAgICAkdmFybmFtZSA9fiAvXig/OkVYVFJBXyk/KD86
bm9iYXNlXyk/KD86ZGlzdF98bm9kaXN0Xyk/KC4qKV9bWzphbG51bTpdXSskLzsKCSAgICAgIG1z
Z192YXIgKCdzeW50YXgnLCAkdmFyLCAidmFyaWFibGUgJyR2YXJuYW1lJyBpcyBkZWZpbmVkIGJ1
dCBubyIKCQkgICAgICAgLiAiIHByb2dyYW0gb3JcbmxpYnJhcnkgaGFzICckMScgYXMgY2Fub25p
Y2FsIG5hbWUiCgkJICAgICAgIC4gIiAocG9zc2libGUgdHlwbykiKQoJCXVubGVzcyAkdmFyLT5y
ZGVmICgkY29uZCktPnNlZW47CgkgICAgfQoJfQogICAgfQp9CgoKc3ViIGhhbmRsZV9zY3JpcHRz
ICgpCnsKICAgICMgTk9URSB3ZSBubyBsb25nZXIgYXV0b21hdGljYWxseSBjbGVhbiBTQ1JJUFRT
LCBiZWNhdXNlIGl0IGlzCiAgICAjIHVzZWZ1bCB0byBzb21ldGltZXMgZGlzdHJpYnV0ZSBzY3Jp
cHRzIHZlcmJhdGltLiAgVGhpcyBoYXBwZW5zCiAgICAjIGUuZy4gaW4gQXV0b21ha2UgaXRzZWxm
LgogICAgYW1faW5zdGFsbF92YXIgKCctY2FuZGlzdCcsICdzY3JpcHRzJywgJ1NDUklQVFMnLAog
ICAgICAgICAgICAgICAgICAgICdiaW4nLCAnc2JpbicsICdsaWJleGVjJywgJ3BrZ2xpYmV4ZWMn
LCAncGtnZGF0YScsCiAgICAgICAgICAgICAgICAgICAgJ25vaW5zdCcsICdjaGVjaycpOwp9CgoK
IyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCiMjIEhhbmRsaW5nIFRleGluZm8gZmlsZXMu
ICAjIwojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKCiMgKCRPVVRGSUxFLCAkVkZJTEUp
CiMgc2Nhbl90ZXhpbmZvX2ZpbGUgKCRGSUxFTkFNRSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQojICRPVVRGSUxFICAgICAtIG5hbWUgb2YgdGhlIGluZm8gZmlsZSBwcm9kdWNlZCBi
eSAkRklMRU5BTUUuCiMgJFZGSUxFICAgICAgIC0gbmFtZSBvZiB0aGUgdmVyc2lvbi50ZXhpIGZp
bGUgdXNlZCAodW5kZWYgaWYgbm9uZSkuCnN1YiBzY2FuX3RleGluZm9fZmlsZQp7CiAgbXkgKCRm
aWxlbmFtZSkgPSBAXzsKICBteSAkb3JpZ19maWxlbmFtZSA9ICRmaWxlbmFtZTsKCiAgIyBJZiB0
aGUgc291cmNlIGZpbGUgZG9lc24ndCBleGlzdCwgd2UnbGwgZmFsbCBiYWNrIGJlbG93LgogIGlm
ICghIC1lICRmaWxlbmFtZSkKICAgIHsKICAgICAgaWYgKC1lICgkZmlsZW5hbWUgLiAnLmluJykp
CiAgICAgICAgewogICAgICAgICAgIyAkZmlsZW5hbWUudGV4aS5pbiBleGlzdHM6IGFzc3VtZSAk
ZmlsZW5hbWUudGV4aSBpcyBnZW5lcmF0ZWQKICAgICAgICAgICMgYW5kIHBhcnNlICRmaWxlbmFt
ZS50ZXhpLmluIGFzIHRoZSByZWFsIGlucHV0LgogICAgICAgICAgJGZpbGVuYW1lIC49ICcuaW4n
OwogICAgICAgIH0KICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICRmaWxlbmFtZSA9ICcv
ZGV2L251bGwnOwogICAgICAgIH0KICAgIH0KICBteSAkdGV4aSA9IG5ldyBBdXRvbWFrZTo6WEZp
bGUgIjwgJGZpbGVuYW1lIjsKICB2ZXJiICJyZWFkaW5nIHRleGluZm9fZmlsZSAkZmlsZW5hbWUi
OwoKICBteSAoJG91dGZpbGUsICR2ZmlsZSk7CiAgd2hpbGUgKCRfID0gJHRleGktPmdldGxpbmUp
CiAgICB7CiAgICAgIGlmICgvXlxAc2V0ZmlsZW5hbWUgKyhcUyspLykKCXsKCSAgIyBIb25vciBv
bmx5IHRoZSBmaXJzdCBAc2V0ZmlsZW5hbWUuICAoSXQncyBwb3NzaWJsZSB0byBoYXZlCgkgICMg
bW9yZSBvY2N1cnJlbmNlcyBsYXRlciBpZiB0aGUgbWFudWFsIHNob3dzIGV4YW1wbGVzIG9mIGhv
dwoJICAjIHRvIHVzZSBAc2V0ZmlsZW5hbWUuLi4pCgkgIG5leHQgaWYgJG91dGZpbGU7CgoJICAj
IEFsdGhvdWdoIHdlIG5vdGljZSB0aGUgQHNldGZpbGVuYW1lLCBhbmQgdGhlIHJ1bGVzIGFyZQoJ
ICAjIGFkanVzdGVkIHRvIHNvcnQgb2YgdXNlIGl0LCB0aGV5IGRvbid0IGFjdHVhbGx5IHdvcmsu
CgkgICMgU3BlY2lmaWNhbGx5LCBpZiBmb28udGV4aSBjb250YWlucyBAc2V0ZmlsZW5hbWUgYmFy
LmluZm8sCgkgICMgdGhlIGdlbmVyYXRlZCAudGV4aS5pbmZvIHN1ZmZpeCBydWxlIHdpbGwgbm90
IHJ1bi4KCSAgIwoJICAjIEFsc28sIGFsdGhvdWdoIHdlIGNoYW5nZSB0aGUgLmluZm8gdGFyZ2V0
IHRvIGJlIGJhci5pbmZvLAoJICAjIHRoZSBIVE1MKFMpIHZhcmlhYmxlL2V0Yy4gaXMgbm90IGNo
YW5nZWQuCgkgICMKCSAgIyBTaW5jZSBAc2V0ZmlsZW5hbWUgaXMgb3B0aW9uYWwgbm93YWRheXMs
IGRvZXNuJ3Qgc2VlbSB3b3J0aAoJICAjIHRoZSB0cm91YmxlIHRvIGhhbmRsZSAod2hpY2ggbG9v
a3MgdG8gYmUgbm9udHJpdmlhbCkuCgkgICMgaHR0cHM6Ly9idWdzLmdudS5vcmcvNTQwNjMKCgkg
ICRvdXRmaWxlID0gJDE7CgkgIGlmIChpbmRleCAoJG91dGZpbGUsICcuJykgPCAwKQoJICAgIHsK
CSAgICAgIG1zZyAnb2Jzb2xldGUnLCAiJGZpbGVuYW1lOiQuIiwKCSAgICAgICAgICAidXNlIG9m
IHN1ZmZpeC1sZXNzIGluZm8gZmlsZXMgaXMgZGlzY291cmFnZWQiCgkgICAgfQoJICBlbHNpZiAo
JG91dGZpbGUgIX4gL1wuaW5mbyQvKQoJICAgIHsKCSAgICAgIGVycm9yICgiJGZpbGVuYW1lOiQu
IiwKCQkgICAgICJvdXRwdXQgJyRvdXRmaWxlJyBoYXMgdW5yZWNvZ25pemVkIGV4dGVuc2lvbiIp
OwoJICAgICAgcmV0dXJuOwoJICAgIH0KCX0KICAgICAgIyBBICJ2ZXJzaW9uLnRleGkiIGZpbGUg
aXMgYWN0dWFsbHkgYW55IGZpbGUgd2hvc2UgbmFtZSBtYXRjaGVzCiAgICAgICMgInZlcnMqLnRl
eGkiLgogICAgICBlbHNpZiAoL15cQGluY2x1ZGVccysodmVyc1teLl0qXC50ZXhpKVxzKiQvKQoJ
ewoJICAkdmZpbGUgPSAkMTsKCX0KICAgIH0KCiAgaWYgKCEgJG91dGZpbGUpCiAgICB7CiAgICAg
ICMgSWYgbm8gZXhwbGljaXQgQHNldGZpbGVuYW1lLCB1c2UgdGhlIG9yaWdpbmFsIGZpbGVuYW1l
IGFzIHBhc3NlZAogICAgICAjIChub3QgZm9vLnRleGkuaW4gb3IgL2Rldi9udWxsKSBpbiB0aGUg
Z2VuZXJhdGVkIHJ1bGVzLCB3aGlsZQogICAgICAjIHJlcGxhY2luZyBhbnkgZXh0ZW5zaW9uIChw
cmVzdW1hYmx5IC50ZXhpKSB3aXRoIC5pbmZvLgogICAgICAkb3V0ZmlsZSA9IGJhc2VuYW1lICgk
b3JpZ19maWxlbmFtZSk7CiAgICAgICRvdXRmaWxlID1+IHMvXC5bXi5dKyQvLzsKICAgICAgJG91
dGZpbGUgLj0gJy5pbmZvJzsKICAgIH0KCiAgcmV0dXJuICgkb3V0ZmlsZSwgJHZmaWxlKTsKfQoK
CiMgKCRESVJTVEFNUCwgQENMRUFOX0ZJTEVTKQojIG91dHB1dF90ZXhpbmZvX2J1aWxkX3J1bGVz
ICgkU09VUkNFLCAkREVTVCwgJElOU1JDLCBAREVQRU5ERU5DSUVTKQojIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFNP
VVJDRSAtIHRoZSBzb3VyY2UgVGV4aW5mbyBmaWxlCiMgREVTVCAtIHRoZSBkZXN0aW5hdGlvbiBJ
bmZvIGZpbGUKIyBJTlNSQyAtIHdoZXRoZXIgREVTVCBzaG91bGQgYmUgYnVpbHQgaW4gdGhlIHNv
dXJjZSB0cmVlCiMgREVQRU5ERU5DSUVTIC0ga25vd24gZGVwZW5kZW5jaWVzCnN1YiBvdXRwdXRf
dGV4aW5mb19idWlsZF9ydWxlcwp7CiAgbXkgKCRzb3VyY2UsICRkZXN0LCAkaW5zcmMsIEBkZXBz
KSA9IEBfOwoKICAjIFNwbGl0ICdhLnRleGknIGludG8gJ2EnIGFuZCAnLnRleGknLgogIG15ICgk
c3BmeCwgJHNzZngpID0gKCRzb3VyY2UgPX4gL14oLio/KShcLlteLl0qKT8kLyk7CiAgbXkgKCRk
cGZ4LCAkZHNmeCkgPSAoJGRlc3QgPX4gL14oLio/KShcLlteLl0qKT8kLyk7CgogICRzc2Z4IHx8
PSAiIjsKICAkZHNmeCB8fD0gIiI7CgogICMgV2UgY2FuIG91dHB1dCB0d28ga2luZHMgb2YgcnVs
ZXM6IHRoZSAiZ2VuZXJpYyIgcnVsZXMgdXNlIE1ha2UKICAjIHN1ZmZpeCBydWxlcyBhbmQgYXJl
IGFwcHJvcHJpYXRlIHdoZW4gJHNvdXJjZSBhbmQgJGRlc3QgZG8gbm90IGxpZQogICMgaW4gYSBz
dWItZGlyZWN0b3J5OyB0aGUgInNwZWNpZmljIiBydWxlcyBhcmUgbmVlZGVkIGluIHRoZSBvdGhl
cgogICMgY2FzZS4KICAjCiAgIyBUaGUgZm9ybWVyIGFyZSBvdXRwdXQgb25seSBvbmNlICh0aGlz
IGlzIG5vdCByZWFsbHkgYXBwYXJlbnQgaGVyZSwKICAjIGJ1dCBqdXN0IHJlbWVtYmVyIHRoYXQg
c29tZSBsb2dpYyBkZWVwZXIgaW4gQXV0b21ha2Ugd2lsbCBub3QKICAjIG91dHB1dCB0aGUgc2Ft
ZSBydWxlIHR3aWNlKTsgd2hpbGUgdGhlIGxhdGVyIG5lZWQgdG8gYmUgb3V0cHV0IGZvcgogICMg
ZWFjaCBUZXhpbmZvIHNvdXJjZS4KICAjCiAgIyBOQjogVGhlIG1ha2VpbmZvZmxhZ3MgaXMgY3Vy
cmVudGx5IHBhc3NlZCB0byBtYWtlaW5mbyBhbmQgdGV4aTJkdmksIHNvCiAgIyBtYWtlIHN1cmUg
dGhhdCBpdCBvbmx5IHV0aWxpemVzIGNvbXBhdGlibGUgZmxhZ3MuICBCZXN0IHRvIHN0aWNrIHRv
IC1JLgogICMgQ2hhbmdpbmcgdGhpcyByZXF1aXJlcyB1cGRhdGluZyBsaWIvYW0vdGV4aWJ1aWxk
LmFtLgogIG15ICRnZW5lcmljOwogIG15ICRtYWtlaW5mb2ZsYWdzOwogIG15ICRzZGlyID0gZGly
bmFtZSAkc291cmNlOwogIGlmICgkc2RpciBlcSAnLicgJiYgZGlybmFtZSAoJGRlc3QpIGVxICcu
JykKICAgIHsKICAgICAgJGdlbmVyaWMgPSAxOwogICAgICAkbWFrZWluZm9mbGFncyA9ICctSSAk
KHNyY2RpciknOwogICAgfQogIGVsc2UKICAgIHsKICAgICAgJGdlbmVyaWMgPSAwOwogICAgICAk
bWFrZWluZm9mbGFncyA9ICItSSAkc2RpciAtSSBcJChzcmNkaXIpLyRzZGlyIjsKICAgIH0KCiAg
IyBBIGRpcmVjdG9yeSBjYW4gY29udGFpbiB0d28ga2luZHMgb2YgaW5mbyBmaWxlczogc29tZSBi
dWlsdCBpbiB0aGUKICAjIHNvdXJjZSB0cmVlLCBhbmQgc29tZSBidWlsdCBpbiB0aGUgYnVpbGQg
dHJlZS4gIFRoZSBydWxlcyBhcmUKICAjIGRpZmZlcmVudCBpbiBlYWNoIGNhc2UuICBIb3dldmVy
IHdlIGNhbm5vdCBvdXRwdXQgdHdvIGRpZmZlcmVudAogICMgc2V0IG9mIGdlbmVyaWMgcnVsZXMu
ICBCZWNhdXNlIGluLXNvdXJjZSBidWlsZHMgYXJlIG1vcmUgdXN1YWwsIHdlCiAgIyB1c2UgZ2Vu
ZXJpYyBydWxlcyBpbiB0aGlzIGNhc2UgYW5kIGZhbGwgYmFjayB0byAic3BlY2lmaWMiIHJ1bGVz
CiAgIyBmb3IgYnVpbGQtZGlyIGJ1aWxkcy4gIChJdCBzaG91bGQgbm90IGJlIGEgcHJvYmxlbSB0
byBpbnZlcnQgdGhpcwogICMgaWYgbmVlZGVkLikKICAkZ2VuZXJpYyA9IDAgdW5sZXNzICRpbnNy
YzsKCiAgIyBXZSBjYW5ub3QgdXNlIGEgc3VmZml4IHJ1bGUgdG8gYnVpbGQgaW5mbyBmaWxlcyB3
aXRoIGFuIGVtcHR5CiAgIyBleHRlbnNpb24uICBPdGhlcndpc2Ugd2Ugd291bGQgb3V0cHV0IGEg
c2luZ2xlIHN1ZmZpeCBpbmZlcmVuY2UKICAjIHJ1bGUsIHdpdGggc2VwYXJhdGUgZGVwZW5kZW5j
aWVzLCBhcyBpbgogICMKICAjICAgIC50ZXhpOgogICMgICAgICAgICAgICAgJChNQUtFSU5GTykg
Li4uCiAgIyAgICBmb28uaW5mbzogZm9vLnRleGkKICAjCiAgIyB3aGljaCBjb25mdXNlIFNvbGFy
aXMgbWFrZS4gIChTZWUgdGhlIEF1dG9jb25mIG1hbnVhbCBmb3IKICAjIGRldGFpbHMuKSAgVGhl
cmVmb3JlIHdlIHVzZSBhIHNwZWNpZmljIHJ1bGUgaW4gdGhpcyBjYXNlLiAgVGhpcwogICMgYXBw
bGllcyB0byBpbmZvIGZpbGVzIG9ubHkgKGR2aSBhbmQgcGRmIGZpbGVzIGFsd2F5cyBoYXZlIGFu
CiAgIyBleHRlbnNpb24pLgogIG15ICRnZW5lcmljX2luZm8gPSAoJGdlbmVyaWMgJiYgJGRzZngp
ID8gMSA6IDA7CgogICMgSWYgdGhlIHJlc3VsdGluZyBmaWxlIGxpZXMgaW4gYSBzdWJkaXJlY3Rv
cnksCiAgIyBtYWtlIHN1cmUgdGhpcyBkaXJlY3Rvcnkgd2lsbCBleGlzdC4KICBteSAkZGlyc3Rh
bXAgPSByZXF1aXJlX2J1aWxkX2RpcmVjdG9yeV9tYXliZSAoJGRlc3QpOwoKICBteSAkZGlwZngg
PSAoJGluc3JjID8gJyQoc3JjZGlyKS8nIDogJycpIC4gJGRwZng7CgogICRvdXRwdXRfcnVsZXMg
Lj0gZmlsZV9jb250ZW50cyAoJ3RleGlidWlsZCcsCgkJCQkgIG5ldyBBdXRvbWFrZTo6TG9jYXRp
b24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTV9WX01BS0VJTkZPICAgID0+
IHZlcmJvc2VfZmxhZygnTUFLRUlORk8nKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEFNX1ZfVEVYSTJEVkkgICAgPT4gdmVyYm9zZV9mbGFnKCdURVhJMkRWSScpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgQU1fVl9URVhJMlBERiAgICA9PiB2ZXJib3NlX2Zs
YWcoJ1RFWEkyUERGJyksCgkJCQkgIERFUFMgICAgICAgICAgICAgPT4gIkBkZXBzIiwKCQkJCSAg
REVTVF9QUkVGSVggICAgICA9PiAkZHBmeCwKCQkJCSAgREVTVF9JTkZPX1BSRUZJWCA9PiAkZGlw
ZngsCgkJCQkgIERFU1RfU1VGRklYICAgICAgPT4gJGRzZngsCgkJCQkgIERJUlNUQU1QICAgICAg
ICAgPT4gJGRpcnN0YW1wLAoJCQkJICBHRU5FUklDICAgICAgICAgID0+ICRnZW5lcmljLAoJCQkJ
ICBHRU5FUklDX0lORk8gICAgID0+ICRnZW5lcmljX2luZm8sCgkJCQkgIElOU1JDCQkgICA9PiAk
aW5zcmMsCgkJCQkgIE1BS0VJTkZPRkxBR1MgICAgPT4gJG1ha2VpbmZvZmxhZ3MsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBTSUxFTlQgICAgICAgICAgID0+IHNpbGVudF9mbGFn
KCksCgkJCQkgIFNPVVJDRSAgICAgICAgICAgPT4gKCRnZW5lcmljCgkJCQkJCSAgICAgICA/ICck
PCcgOiAkc291cmNlKSwKCQkJCSAgU09VUkNFX0lORk8gICAgICA9PiAoJGdlbmVyaWNfaW5mbwoJ
CQkJCQkgICAgICAgPyAnJDwnIDogJHNvdXJjZSksCgkJCQkgIFNPVVJDRV9SRUFMICAgICAgPT4g
JHNvdXJjZSwKCQkJCSAgU09VUkNFX1NVRkZJWCAgICA9PiAkc3NmeCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFRFWElRVUlFVCAgICAgICAgPT4gdmVyYm9zZV9mbGFnKCd0ZXhp
bmZvJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBURVhJREVWTlVMTCAgICAg
ID0+IHZlcmJvc2VfZmxhZygndGV4aWRldm51bGwnKSwKCQkJCSAgKTsKICByZXR1cm4gKCRkaXJz
dGFtcCwgIiRkcGZ4LmR2aSIsICIkZHBmeC5wZGYiLCAiJGRwZngucHMiLCAiJGRwZnguaHRtbCIp
Owp9CgoKIyAoJE1PU1RMWUNMRUFOLCAkVEVYSUNMRUFOLCAkTUFJTlRDTEVBTikKIyBoYW5kbGVf
dGV4aW5mb19oZWxwZXIgKCRpbmZvX3RleGluZm9zKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCiMgSGFuZGxlIGFsbCBUZXhpbmZvIHNvdXJjZTsgaGVscGVyIGZvciAn
aGFuZGxlX3RleGluZm8nLgpzdWIgaGFuZGxlX3RleGluZm9faGVscGVyCnsKICBteSAoJGluZm9f
dGV4aW5mb3MpID0gQF87CiAgbXkgKEBpbmZvYmFzZSwgQGluZm9fZGVwc19saXN0LCBAdGV4aV9k
ZXBzKTsKICBteSAldmVyc2lvbnM7CiAgbXkgJGRvbmUgPSAwOwogIG15IChAbW9zdGx5X2NsZWFu
cywgQHRleGlfY2xlYW5zLCBAbWFpbnRfY2xlYW5zKSA9ICgnJywgJycsICcnKTsKCiAgIyBCdWls
ZCBhIHJlZ2V4IG1hdGNoaW5nIHVzZXItY2xlYW5lZCBmaWxlcy4KICBteSAkZCA9IHZhciAnRElT
VENMRUFORklMRVMnOwogIG15ICRjID0gdmFyICdDTEVBTkZJTEVTJzsKICBteSBAZiA9ICgpOwog
IHB1c2ggQGYsICRkLT52YWx1ZV9hc19saXN0X3JlY3Vyc2l2ZSAoaW5uZXJfZXhwYW5kID0+IDEp
IGlmICRkOwogIHB1c2ggQGYsICRjLT52YWx1ZV9hc19saXN0X3JlY3Vyc2l2ZSAoaW5uZXJfZXhw
YW5kID0+IDEpIGlmICRjOwogIEBmID0gbWFwIHsgc3xbXkEtWmEtel8wLTkqXFtcXVwtXXxcXCQm
fGc7IHN8XCp8W14vXSp8ZzsgJF87IH0gQGY7CiAgbXkgJHVzZXJfY2xlYW5lZF9maWxlcyA9ICde
KD86JyAuIGpvaW4gKCd8JywgQGYpIC4gJykkJzsKCiAgZm9yZWFjaCBteSAkdGV4aQogICAgICAo
JGluZm9fdGV4aW5mb3MtPnZhbHVlX2FzX2xpc3RfcmVjdXJzaXZlIChpbm5lcl9leHBhbmQgPT4g
MSkpCiAgICB7CiAgICAgIG15ICRpbmZvYmFzZSA9ICR0ZXhpOwogICAgICBpZiAoJGluZm9iYXNl
ID1+IHMvXC50ZXhpJC8vKQogICAgICAgIHsKICAgICAgICAgIDE7ICMgTm90aGluZyBtb3JlIHRv
IGRvLgogICAgICAgIH0KICAgICAgZWxzaWYgKCRpbmZvYmFzZSA9fiBzL1wuKHR4aXx0ZXhpbmZv
KSQvLykKICAgICAgICB7CgkgIG1zZ192YXIgJ29ic29sZXRlJywgJGluZm9fdGV4aW5mb3MsCgkg
ICAgICAgICAgInN1ZmZpeCAnLiQxJyBmb3IgVGV4aW5mbyBmaWxlcyBpcyBkaXNjb3VyYWdlZDsi
IC4KICAgICAgICAgICAgICAgICAgIiB1c2UgJy50ZXhpJyBpbnN0ZWFkIjsKICAgICAgICB9CiAg
ICAgIGVsc2UKCXsKCSAgIyBGSVhNRTogcmVwb3J0IGxpbmUgbnVtYmVyLgoJICBlcnJfYW0gInRl
eGluZm8gZmlsZSAnJHRleGknIGhhcyB1bnJlY29nbml6ZWQgZXh0ZW5zaW9uIjsKCSAgbmV4dDsK
CX0KCiAgICAgIHB1c2ggQGluZm9iYXNlLCAkaW5mb2Jhc2U7CgogICAgICAjIElmICd2ZXJzaW9u
LnRleGknIGlzIHJlZmVyZW5jZWQgYnkgaW5wdXQgZmlsZSwgdGhlbiBpbmNsdWRlCiAgICAgICMg
YXV0b21hdGljIHZlcnNpb25pbmcgY2FwYWJpbGl0eS4KICAgICAgbXkgKCRvdXRfZmlsZSwgJHZ0
ZXhpKSA9CglzY2FuX3RleGluZm9fZmlsZSAoIiRyZWxhdGl2ZV9kaXIvJHRleGkiKQoJb3IgbmV4
dDsKICAgICAgIyBEaXJlY3Rvcnkgb2YgYXV4aWxpYXJ5IGZpbGVzIGFuZCBidWlsZCBieS1wcm9k
dWN0cyB1c2VkIGJ5IHRleGkyZHZpCiAgICAgICMgYW5kIHRleGkycGRmLgogICAgICBwdXNoIEBt
b3N0bHlfY2xlYW5zLCAiJGluZm9iYXNlLnQyZCI7CiAgICAgIHB1c2ggQG1vc3RseV9jbGVhbnMs
ICIkaW5mb2Jhc2UudDJwIjsKCiAgICAgICMgSWYgdGhlIFRleGluZm8gc291cmNlIGlzIGluIGEg
c3ViZGlyZWN0b3J5LCBjcmVhdGUgdGhlCiAgICAgICMgcmVzdWx0aW5nIGluZm8gaW4gdGhpcyBz
dWJkaXJlY3RvcnkuICBJZiBpdCBpcyBpbiB0aGUgY3VycmVudAogICAgICAjIGRpcmVjdG9yeSwg
dHJ5IGhhcmQgdG8gbm90IHByZWZpeCAiLi8iIGJlY2F1c2UgaXQgYnJlYWtzIHRoZQogICAgICAj
IGdlbmVyaWMgcnVsZXMuCiAgICAgIG15ICRvdXRkaXIgPSBkaXJuYW1lICgkdGV4aSkgLiAnLyc7
CiAgICAgICRvdXRkaXIgPSAiIiBpZiAkb3V0ZGlyIGVxICcuLyc7CiAgICAgICRvdXRfZmlsZSA9
ICAkb3V0ZGlyIC4gJG91dF9maWxlOwoKICAgICAgIyBVbnRpbCBBdXRvbWFrZSAxLjYuMywgLmlu
Zm8gZmlsZXMgd2VyZSBidWlsdCBpbiB0aGUKICAgICAgIyBzb3VyY2UgdHJlZS4gIFRoaXMgd2Fz
IGFuIG9ic3RhY2xlIHRvIHRoZSBzdXBwb3J0IG9mCiAgICAgICMgbm9uLWRpc3RyaWJ1dGVkIC5p
bmZvIGZpbGVzLCBhbmQgbm9uLWRpc3RyaWJ1dGVkIC50ZXhpCiAgICAgICMgZmlsZXMuCiAgICAg
ICMKICAgICAgIyAqIE5vbi1kaXN0cmlidXRlZCAudGV4aSBmaWxlcyBpcyBpbXBvcnRhbnQgaW4g
c29tZSBwYWNrYWdlcwogICAgICAjICAgd2hlcmUgLnRleGkgZmlsZXMgYXJlIGJ1aWx0IGF0IG1h
a2UgdGltZSwgcHJvYmFibHkgdXNpbmcKICAgICAgIyAgIG90aGVyIGJpbmFyaWVzIGJ1aWx0IGlu
IHRoZSBwYWNrYWdlIGl0c2VsZiwgbWF5YmUgdXNpbmcKICAgICAgIyAgIHRvb2xzIG9yIGluZm9y
bWF0aW9uIGZvdW5kIG9uIHRoZSBidWlsZCBob3N0LiAgQmVjYXVzZQogICAgICAjICAgdGhlc2Ug
ZmlsZXMgYXJlIG5vdCBkaXN0cmlidXRlZCB0aGV5IGFyZSBhbHdheXMgcmVidWlsdAogICAgICAj
ICAgYXQgbWFrZSB0aW1lOyB0aGV5IHNob3VsZCB0aGVyZWZvcmUgbm90IGxpZSBpbiB0aGUgc291
cmNlCiAgICAgICMgICBkaXJlY3RvcnkuICBPbmUgcGxhbiB3YXMgdG8gc3VwcG9ydCB0aGlzIHVz
aW5nCiAgICAgICMgICBub2Rpc3RfaW5mb19URVhJTkZPUyBvciBzb21ldGhpbmcgc2ltaWxhci4g
IChEb2luZyB0aGlzCiAgICAgICMgICByZXF1aXJlcyBzb21lIHNhbml0eSBjaGVja3MuICBGb3Ig
aW5zdGFuY2UgQXV0b21ha2Ugc2hvdWxkCiAgICAgICMgICBub3QgYWxsb3c6CiAgICAgICMgICAg
ICBkaXN0X2luZm9fVEVYSU5GT1MgPSBmb28udGV4aQogICAgICAjICAgICAgbm9kaXN0X2Zvb19U
RVhJTkZPUyA9IGluY2x1ZGVkLnRleGkKICAgICAgIyAgIGJlY2F1c2UgYSBkaXN0cmlidXRlZCBm
aWxlIHNob3VsZCBuZXZlciBkZXBlbmQgb24gYQogICAgICAjICAgbm9uLWRpc3RyaWJ1dGVkIGZp
bGUuKQogICAgICAjCiAgICAgICMgKiBJZiAudGV4aSBmaWxlcyBhcmUgbm90IGRpc3RyaWJ1dGVk
LCB0aGVuIC5pbmZvIGZpbGVzIHNob3VsZAogICAgICAjICAgbm90IGJlIGRpc3RyaWJ1dGVkIGVp
dGhlci4gIFRoZXJlIGFyZSBhbHNvIGNhc2VzIHdoZXJlIG9uZQogICAgICAjICAgd2FudHMgdG8g
ZGlzdHJpYnV0ZSAudGV4aSBmaWxlcywgYnV0IGRvZXMgbm90IHdhbnQgdG8KICAgICAgIyAgIGRp
c3RyaWJ1dGUgdGhlIC5pbmZvIGZpbGVzLiAgRm9yIGluc3RhbmNlIHRoZSBUZXhpbmZvIHBhY2th
Z2UKICAgICAgIyAgIGRpc3RyaWJ1dGVzIHRoZSB0b29sIHVzZWQgdG8gYnVpbGQgdGhlc2UgZmls
ZXM7IGl0IHdvdWxkCiAgICAgICMgICBiZSBhIHdhc3RlIG9mIHNwYWNlIHRvIGRpc3RyaWJ1dGUg
dGhlbS4gIEl0J3Mgbm90IGNsZWFyCiAgICAgICMgICB3aGljaCBzeW50YXggd2Ugc2hvdWxkIHVz
ZSB0byBpbmRpY2F0ZSB0aGF0IC5pbmZvIGZpbGVzIHNob3VsZAogICAgICAjICAgbm90IGJlIGRp
c3RyaWJ1dGVkLiAgQWtpbSBEZW1haWxsZSBzdWdnZXN0ZWQgdGhhdCBldmVudHVhbGx5CiAgICAg
ICMgICB3ZSBzd2l0Y2ggdG8gYSBuZXcgc3ludGF4OgogICAgICAjICAgfCAgTWF5YmUgd2Ugc2hv
dWxkIHRha2Ugc29tZSBpbnNwaXJhdGlvbiBmcm9tIHdoYXQncyBhbHJlYWR5CiAgICAgICMgICB8
ICBkb25lIGluIHRoZSByZXN0IG9mIEF1dG9tYWtlLiAgTWF5YmUgdGhlcmUgaXMgdG9vIG11Y2gK
ICAgICAgIyAgIHwgIHN5bnRhY3RpYyBzdWdhciBoZXJlLCBhbmQgeW91IHdhbnQKICAgICAgIyAg
IHwgICAgIG5vZGlzdF9JTkZPID0gYmFyLmluZm8KICAgICAgIyAgIHwgICAgIGRpc3RfYmFyX2lu
Zm9fU09VUkNFUyA9IGJhci50ZXhpCiAgICAgICMgICB8ICAgICBiYXJfdGV4aV9ERVBFTkRFTkNJ
RVMgPSBmb28udGV4aQogICAgICAjICAgfCAgd2l0aCBhIGJpdCBvZiBtYWdpYyB0byBoYXZlIGJh
ci5pbmZvIHJlcHJlc2VudCB0aGUgd2hvbGUKICAgICAgIyAgIHwgIGJhcippbmZvIHNldC4gIFRo
YXQncyBhIGxvdCBtb3JlIHZlcmJvc2UgdGhhdCB0aGUgY3VycmVudAogICAgICAjICAgfCAgc2l0
dWF0aW9uLCBidXQgaXQgaXMgIyBub3QgbmV3LCBoZW5jZSB0aGUgdXNlciBoYXMgbGVzcwogICAg
ICAjICAgfCAgdG8gbGVhcm4uCiAgICAgICMJICB8CiAgICAgICMgICB8ICBCdXQgdGhlcmUgaXMg
c3RpbGwgdG9vIG11Y2ggcm9vbSBmb3IgbWVhbmluZ2xlc3Mgc3BlY3M6CiAgICAgICMgICB8ICAg
ICBub2Rpc3RfSU5GTyA9IGJhci5pbmZvCiAgICAgICMgICB8ICAgICBkaXN0X2Jhcl9pbmZvX1NP
VVJDRVMgPSBiYXIudGV4aQogICAgICAjICAgfCAgICAgZGlzdF9QUyA9IGJhci5wcyBzb21ldGhp
bmctd3JpdHRlbi1ieS1oYW5kLnBzCiAgICAgICMgICB8ICAgICBub2Rpc3RfYmFyX3BzX1NPVVJD
RVMgPSBiYXIudGV4aQogICAgICAjICAgfCAgICAgYmFyX3RleGlfREVQRU5ERU5DSUVTID0gZm9v
LnRleGkKICAgICAgIyAgIHwgIGhlcmUgYmFyLnRleGkgaXMgZGlzdF8gaW4gbGluZSAyLCBhbmQg
bm9kaXN0XyBpbiA0LgogICAgICAjCiAgICAgICMgQmFjayB0byB0aGUgcG9pbnQsIGl0IHNob3Vs
ZCBiZSBjbGVhciB0aGF0IGluIG9yZGVyIHRvIHN1cHBvcnQKICAgICAgIyBub24tZGlzdHJpYnV0
ZWQgLmluZm8gZmlsZXMsIHdlIG5lZWQgdG8gYnVpbGQgdGhlbSBpbiB0aGUKICAgICAgIyBidWls
ZCB0cmVlLCBub3QgaW4gdGhlIHNvdXJjZSB0cmVlIChub24tZGlzdHJpYnV0ZWQgLnRleGkKICAg
ICAgIyBmaWxlcyBhcmUgbGVzcyBvZiBhIHByb2JsZW0sIGJlY2F1c2Ugd2UgZG8gbm90IG91dHB1
dCBidWlsZAogICAgICAjIHJ1bGVzIGZvciB0aGVtKS4gIEluIEF1dG9tYWtlIDEuNyAuaW5mbyBi
dWlsZCBydWxlcyBoYXZlIGJlZW4KICAgICAgIyBsYXJnZWx5IGNsZWFuZWQgdXAgc28gdGhhdCAu
aW5mbyBmaWxlcyBnZXQgYWx3YXlzIGJ1aWxkIGluIHRoZQogICAgICAjIGJ1aWxkIHRyZWUsIGV2
ZW4gd2hlbiBkaXN0cmlidXRlZC4gIFRoZSBpZGVhIHdhcyB0aGF0CiAgICAgICMgICAoMSkgaWYg
ZHVyaW5nIGEgVlBBVEggYnVpbGQgdGhlIC5pbmZvIGZpbGUgd2FzIGZvdW5kIHRvIGJlCiAgICAg
ICMgICAgICAgYWJzZW50IG9yIG91dC1vZi1kYXRlIChpbiB0aGUgc291cmNlIHRyZWUgb3IgaW4g
dGhlCiAgICAgICMgICAgICAgYnVpbGQgdHJlZSksIE1ha2Ugd291bGQgcmVidWlsZCBpdCBpbiB0
aGUgYnVpbGQgdHJlZS4KICAgICAgIyAgICAgICBJZiBhbiB1cC10by1kYXRlIHNvdXJjZS10cmVl
IG9mIHRoZSAuaW5mbyBmaWxlIGV4aXN0ZWQsCiAgICAgICMgICAgICAgbWFrZSB3b3VsZCBub3Qg
cmVidWlsZCBpdCBpbiB0aGUgYnVpbGQgdHJlZS4KICAgICAgIyAgICgyKSBoYXZpbmcgdHdvIGNv
cGllcyBvZiAuaW5mbyBmaWxlcywgb25lIGluIHRoZSBzb3VyY2UgdHJlZQogICAgICAjICAgICAg
IGFuZCBvbmUgKG5ld2VyKSBpbiB0aGUgYnVpbGQgdHJlZSBpcyBub3QgYSBwcm9ibGVtCiAgICAg
ICMgICAgICAgYmVjYXVzZSAnbWFrZSBkaXN0JyBhbHdheXMgcGljayBmaWxlcyBpbiB0aGUgYnVp
bGQgdHJlZQogICAgICAjICAgICAgIGZpcnN0LgogICAgICAjIEhvd2V2ZXIgaXQgdHVybmVkIG91
dCB0aGUgYmUgYSBiYWQgaWRlYSBmb3Igc2V2ZXJhbCByZWFzb25zOgogICAgICAjICAgKiBUcnU2
NCwgT3BlbkJTRCwgYW5kIEZyZWVCU0QgKG5vdCBOZXRCU0QpIE1ha2UgZG8gbm90IGJlaGF2ZQog
ICAgICAjICAgICBsaWtlIEdOVSBNYWtlIG9uIHBvaW50ICgxKSBhYm92ZS4gIFRoZXNlIGltcGxl
bWVudGF0aW9ucwogICAgICAjICAgICBvZiBNYWtlIHdvdWxkIGFsd2F5cyByZWJ1aWxkIC5pbmZv
IGZpbGVzIGluIHRoZSBidWlsZAogICAgICAjICAgICB0cmVlLCBldmVuIGlmIHN1Y2ggZmlsZXMg
d2VyZSB1cCB0byBkYXRlIGluIHRoZSBzb3VyY2UKICAgICAgIyAgICAgdHJlZS4gIENvbnNlcXVl
bnRseSwgaXQgd2FzIGltcG9zc2libGUgdG8gcGVyZm9ybSBhIFZQQVRICiAgICAgICMgICAgIGJ1
aWxkIG9mIGEgcGFja2FnZSBjb250YWluaW5nIFRleGluZm8gZmlsZXMgdXNpbmcgdGhlc2UKICAg
ICAgIyAgICAgTWFrZSBpbXBsZW1lbnRhdGlvbnMuCiAgICAgICMgICAgIChSZWZlciB0byB0aGUg
QXV0b2NvbmYgTWFudWFsLCBzZWN0aW9uICJMaW1pdGF0aW9uIG9mCiAgICAgICMgICAgIE1ha2Ui
LCBwYXJhZ3JhcGggIlZQQVRIIiwgaXRlbSAidGFyZ2V0IGxvb2t1cCIsIGZvcgogICAgICAjICAg
ICBhbiBhY2NvdW50IG9mIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZXNlCiAgICAgICMgICAg
IGltcGxlbWVudGF0aW9ucy4pCiAgICAgICMgICAqIFRoZSBHTlUgQ29kaW5nIFN0YW5kYXJkcyBy
ZXF1aXJlIHRoZXNlIGZpbGVzIHRvIGJlIGJ1aWx0CiAgICAgICMgICAgIGluIHRoZSBzb3VyY2Ut
dHJlZSAod2hlbiB0aGV5IGFyZSBkaXN0cmlidXRlZCwgdGhhdCBpcykuCiAgICAgICMgICAqIEtl
ZXBpbmcgYSBmcmVzaGVyIGNvcHkgb2YgZGlzdHJpYnV0ZWQgZmlsZXMgaW4gdGhlCiAgICAgICMg
ICAgIGJ1aWxkIHRyZWUgY2FuIGJlIGFubm95aW5nIGR1cmluZyBkZXZlbG9wbWVudCBiZWNhdXNl
CiAgICAgICMgICAgIC0gaWYgdGhlIGZpbGVzIGFyZSBrZXB0IHVuZGVyIHZlcnNpb24gY29udHJv
bCwgeW91IHJlYWxseQogICAgICAjICAgICAgICB3YW50IHRoZW0gdG8gYmUgdXBkYXRlZCBpbiB0
aGUgc291cmNlIHRyZWUsIGFuZAogICAgICAjICAgICAtIGl0IGlzIGNvbmZ1c2luZyB0aGF0ICdt
YWtlIGRpc3RjbGVhbicgZG9lcyBub3QgZXJhc2UKICAgICAgIyAgICAgICBhbGwgZmlsZXMgaW4g
dGhlIGJ1aWxkIHRyZWUuCiAgICAgICMKICAgICAgIyBDb25zZXF1ZW50bHksIHN0YXJ0aW5nIHdp
dGggQXV0b21ha2UgMS44LCAuaW5mbyBmaWxlcyBhcmUKICAgICAgIyBidWlsdCBpbiB0aGUgc291
cmNlIHRyZWUgYWdhaW4uICBCZWNhdXNlIHdlIHN0aWxsIHBsYW4gdG8KICAgICAgIyBzdXBwb3J0
IG5vbi1kaXN0cmlidXRlZCAuaW5mbyBmaWxlcyBhdCBzb21lIHBvaW50LCB3ZQogICAgICAjIGhh
dmUgYSBzaW5nbGUgdmFyaWFibGUgKCRJTlNSQykgdGhhdCBjb250cm9scyB3aGV0aGVyCiAgICAg
ICMgdGhlIGN1cnJlbnQgLmluZm8gZmlsZSBtdXN0IGJlIGJ1aWx0IGluIHRoZSBzb3VyY2UgdHJl
ZQogICAgICAjIG9yIGluIHRoZSBidWlsZCB0cmVlLiAgQWN0dWFsbHkgdGhpcyB2YXJpYWJsZSBp
cyBzd2l0Y2hlZAogICAgICAjIG9mZiBpbiB0d28gY2FzZXM6CiAgICAgICMgICgxKSBGb3IgJy5p
bmZvJyBmaWxlcyB0aGF0IGFwcGVhciB0byBiZSBjbGVhbmVkOyB0aGlzIGlzIGZvcgogICAgICAj
ICAgICAgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIHBhY2thZ2Ugc3VjaCBhcyBUZXhpbmZv
LAogICAgICAjICAgICAgd2hpY2ggZG8gdGhpbmdzIGxpa2UKICAgICAgIyAgICAgICAgaW5mb19U
RVhJTkZPUyA9IHRleGluZm8udHhpIGluZm8tc3RuZC50ZXhpIGluZm8udGV4aQogICAgICAjICAg
ICAgICBESVNUQ0xFQU5GSUxFUyA9IHRleGluZm8gdGV4aW5mby0qIGluZm8qLmluZm8qCiAgICAg
ICMgICAgICAgICMgRG8gbm90IGNyZWF0ZSBpbmZvIGZpbGVzIGZvciBkaXN0cmlidXRpb24uCiAg
ICAgICMgICAgICAgIGRpc3QtaW5mbzoKICAgICAgIyAgICAgIGluIG9yZGVyIG5vdCB0byBkaXN0
cmlidXRlIC5pbmZvIGZpbGVzLgogICAgICAjICAoMikgV2hlbiB0aGUgdW5kb2N1bWVudGVkIG9w
dGlvbiAnaW5mby1pbi1idWlsZGRpcicgaXMgZ2l2ZW4uCiAgICAgICMgICAgICBUaGlzIGlzIGRv
bmUgdG8gYWxsb3cgdGhlIGRldmVsb3BlcnMgb2YgR0NDLCBHREIsIEdOVQogICAgICAjICAgICAg
YmludXRpbHMgYW5kIHRoZSBHTlUgYmZkIGxpYnJhcnkgdG8gZm9yY2UgdGhlICcuaW5mbycgZmls
ZXMKICAgICAgIyAgICAgIHRvIGJlIGdlbmVyYXRlZCBpbiB0aGUgYnVpbGRkaXIgcmF0aGVyIHRo
YW4gdGhlIHNyY2RpciwgYXMKICAgICAgIyAgICAgIHdhcyBvbmNlIGRvbmUgd2hlbiB0aGUgKG5v
dyByZW1vdmVkKSAnY3lnbnVzJyBvcHRpb24gd2FzCiAgICAgICMgICAgICBnaXZlbi4gIFNlZSBh
dXRvbWFrZSBidWcjMTEwMzQgZm9yIG1vcmUgZGlzY3Vzc2lvbi4KICAgICAgbXkgJGluc3JjID0g
MTsKICAgICAgbXkgJHNvdXRkaXIgPSAnJChzcmNkaXIpLycgLiAkb3V0ZGlyOwoKICAgICAgaWYg
KG9wdGlvbiAnaW5mby1pbi1idWlsZGRpcicpCiAgICAgICAgewogICAgICAgICAgJGluc3JjID0g
MDsKICAgICAgICB9CiAgICAgIGVsc2lmICgkb3V0X2ZpbGUgPX4gJHVzZXJfY2xlYW5lZF9maWxl
cykKICAgICAgICB7CiAgICAgICAgICAkaW5zcmMgPSAwOwogICAgICAgICAgbXNnICdvYnNvbGV0
ZScsICIkYW1fZmlsZS5hbSIsIDw8RU9GOwpPb3BzIQogICAgSXQgYXBwZWFycyB0aGlzIGZpbGUg
KG9yIGZpbGVzIGluY2x1ZGVkIGJ5IGl0KSBhcmUgdHJpZ2dlcmluZwogICAgYW4gdW5kb2N1bWVu
dGVkLCBzb29uLXRvLWJlLXJlbW92ZWQgYXV0b21ha2UgaGFjay4KICAgIEZ1dHVyZSBhdXRvbWFr
ZSB2ZXJzaW9ucyB3aWxsIG5vIGxvbmdlciBwbGFjZSBpbiB0aGUgYnVpbGRkaXIKICAgIChyYXRo
ZXIgdGhhbiBpbiB0aGUgc3JjZGlyKSB0aGUgZ2VuZXJhdGVkICcuaW5mbycgZmlsZXMgdGhhdAog
ICAgYXBwZWFyIHRvIGJlIGNsZWFuZWQsIGJ5IGUuZy4gYmVpbmcgbGlzdGVkIGluIENMRUFORklM
RVMgb3IKICAgIERJU1RDTEVBTkZJTEVTLgogICAgSWYgeW91IHdhbnQgeW91ciAnLmluZm8nIGZp
bGVzIHRvIGJlIHBsYWNlZCBpbiB0aGUgYnVpbGRkaXIKICAgIHJhdGhlciB0aGFuIGluIHRoZSBz
cmNkaXIsIHlvdSBoYXZlIHRvIHVzZSB0aGUgc2hpbnkgbmV3CiAgICAnaW5mby1pbi1idWlsZGRp
cicgYXV0b21ha2Ugb3B0aW9uLgpFT0YKICAgICAgICB9CgogICAgICAkb3V0ZGlyID0gJHNvdXRk
aXIgaWYgJGluc3JjOwoKICAgICAgIyBJZiB1c2VyIHNwZWNpZmllZCBmaWxlX1RFWElORk9TLCB0
aGVuIHVzZSB0aGF0IGFzIGV4cGxpY2l0CiAgICAgICMgZGVwZW5kZW5jeSBsaXN0LgogICAgICBA
dGV4aV9kZXBzID0gKCk7CiAgICAgIHB1c2ggKEB0ZXhpX2RlcHMsICIke3NvdXRkaXJ9JHt2dGV4
aX0iKSBpZiAkdnRleGk7CgogICAgICBteSAkY2Fub25pY2FsID0gY2Fub25pY2FsaXplICgkaW5m
b2Jhc2UpOwogICAgICBpZiAodmFyICgkY2Fub25pY2FsIC4gIl9URVhJTkZPUyIpKQoJewoJICBw
dXNoIChAdGV4aV9kZXBzLCAnJCgnIC4gJGNhbm9uaWNhbCAuICdfVEVYSU5GT1MpJyk7CgkgIHB1
c2hfZGlzdF9jb21tb24gKCckKCcgLiAkY2Fub25pY2FsIC4gJ19URVhJTkZPUyknKTsKCX0KCiAg
ICAgIG15ICgkZGlyc3RhbXAsIEBjZmlsZXMpID0KCW91dHB1dF90ZXhpbmZvX2J1aWxkX3J1bGVz
ICgkdGV4aSwgJG91dF9maWxlLCAkaW5zcmMsIEB0ZXhpX2RlcHMpOwogICAgICBwdXNoIChAdGV4
aV9jbGVhbnMsIEBjZmlsZXMpOwoKICAgICAgcHVzaCAoQGluZm9fZGVwc19saXN0LCAkb3V0X2Zp
bGUpOwoKICAgICAgIyBJZiBhIHZlcnMqLnRleGkgZmlsZSBpcyBuZWVkZWQsIGVtaXQgdGhlIHJ1
bGUuCiAgICAgIGlmICgkdnRleGkpCgl7CgkgIGVycl9hbSAoIickdnRleGknLCBpbmNsdWRlZCBp
biAnJHRleGknLCAiCgkJICAuICJhbHNvIGluY2x1ZGVkIGluICckdmVyc2lvbnN7JHZ0ZXhpfSci
KQoJICAgIGlmIGRlZmluZWQgJHZlcnNpb25zeyR2dGV4aX07CgkgICR2ZXJzaW9uc3skdnRleGl9
ID0gJHRleGk7CgoJICAjIFdlIG51bWJlciB0aGUgc3RhbXAtdnRpIGZpbGVzLiAgVGhpcyBpcyBk
b2FibGUgc2luY2UgdGhlCgkgICMgYWN0dWFsIG5hbWVzIGRvbid0IG1hdHRlciBtdWNoLiAgV2Ug
b25seSBudW1iZXIgc3RhcnRpbmcKCSAgIyB3aXRoIHRoZSBzZWNvbmQgb25lLCBzbyB0aGF0IHRo
ZSBjb21tb24gY2FzZSBsb29rcyBuaWNlLgoJICBteSAkdnRpID0gKCRkb25lID8gJGRvbmUgOiAn
dnRpJyk7CgkgICsrJGRvbmU7CgoJICAjIFRoaXMgaXMgdWdseSwgYnV0IGl0IGlzIG91ciBoaXN0
b3JpY2FsIHByYWN0aWNlLgoJICBpZiAoJGNvbmZpZ19hdXhfZGlyX3NldF9pbl9jb25maWd1cmVf
YWMpCgkgICAgewoJICAgICAgcmVxdWlyZV9jb25mX2ZpbGVfd2l0aF9tYWNybyAoVFJVRSwgJ2lu
Zm9fVEVYSU5GT1MnLCBGT1JFSUdOLAoJCQkJCSAgICAnbWRhdGUtc2gnKTsKCSAgICB9CgkgIGVs
c2UKCSAgICB7CgkgICAgICByZXF1aXJlX2ZpbGVfd2l0aF9tYWNybyAoVFJVRSwgJ2luZm9fVEVY
SU5GT1MnLAoJCQkJICAgICAgIEZPUkVJR04sICdtZGF0ZS1zaCcpOwoJICAgIH0KCgkgIG15ICRj
b25mX2RpcjsKCSAgaWYgKCRjb25maWdfYXV4X2Rpcl9zZXRfaW5fY29uZmlndXJlX2FjKQoJICAg
IHsKCSAgICAgICRjb25mX2RpciA9ICIkYW1fY29uZmlnX2F1eF9kaXIvIjsKCSAgICB9CgkgIGVs
c2UKCSAgICB7CgkgICAgICAkY29uZl9kaXIgPSAnJChzcmNkaXIpLyc7CgkgICAgfQoJICAkb3V0
cHV0X3J1bGVzIC49IGZpbGVfY29udGVudHMgKCd0ZXhpLXZlcnMnLAoJCQkJCSAgbmV3IEF1dG9t
YWtlOjpMb2NhdGlvbiwKCQkJCQkgIFRFWEkgICAgID0+ICR0ZXhpLAoJCQkJCSAgVlRJICAgICAg
PT4gJHZ0aSwKCQkJCQkgIFNUQU1QVlRJID0+ICIke3NvdXRkaXJ9c3RhbXAtJHZ0aSIsCgkJCQkJ
ICBWVEVYSSAgICA9PiAiJHNvdXRkaXIkdnRleGkiLAoJCQkJCSAgTURESVIgICAgPT4gJGNvbmZf
ZGlyLAoJCQkJCSAgRElSU1RBTVAgPT4gJGRpcnN0YW1wKTsKCX0KICAgIH0KCiAgIyBIYW5kbGUg
bG9jYXRpb24gb2YgdGV4aW5mby50ZXguCiAgbXkgJG5lZWRfdGV4aV9maWxlID0gMDsKICBteSAk
dGV4aW5mb2RpcjsKICBpZiAodmFyICgnVEVYSU5GT19URVgnKSkKICAgIHsKICAgICAgIyBUaGUg
dXNlciBkZWZpbmVkIFRFWElORk9fVEVYIHNvIGFzc3VtZSBoZSBrbm93cyB3aGF0IGhlIGlzCiAg
ICAgICMgZG9pbmcuCiAgICAgICR0ZXhpbmZvZGlyID0gKCckKHNyY2RpcikvJwoJCSAgICAgLiBk
aXJuYW1lICh2YXJpYWJsZV92YWx1ZSAoJ1RFWElORk9fVEVYJykpKTsKICAgIH0KICBlbHNpZiAo
JGNvbmZpZ19hdXhfZGlyX3NldF9pbl9jb25maWd1cmVfYWMpCiAgICB7CiAgICAgICR0ZXhpbmZv
ZGlyID0gJGFtX2NvbmZpZ19hdXhfZGlyOwogICAgICBkZWZpbmVfdmFyaWFibGUgKCdURVhJTkZP
X1RFWCcsICIkdGV4aW5mb2Rpci90ZXhpbmZvLnRleCIsIElOVEVSTkFMKTsKICAgICAgJG5lZWRf
dGV4aV9maWxlID0gMjsgIyBzbyB0aGF0IHdlIHJlcXVpcmVfY29uZl9maWxlIGxhdGVyCiAgICB9
CiAgZWxzZQogICAgewogICAgICAkdGV4aW5mb2RpciA9ICckKHNyY2RpciknOwogICAgICAkbmVl
ZF90ZXhpX2ZpbGUgPSAxOwogICAgfQogIGRlZmluZV92YXJpYWJsZSAoJ2FtX19URVhJTkZPX1RF
WF9ESVInLCAkdGV4aW5mb2RpciwgSU5URVJOQUwpOwoKICBwdXNoIChAZGlzdF90YXJnZXRzLCAn
ZGlzdC1pbmZvJyk7CgogIGlmICghIG9wdGlvbiAnbm8taW5zdGFsbGluZm8nKQogICAgewogICAg
ICAjIE1ha2Ugc3VyZSBkb2N1bWVudGF0aW9uIGlzIG1hZGUgYW5kIGluc3RhbGxlZCBmaXJzdC4g
IFVzZQogICAgICAjICQoSU5GT19ERVBTKSwgbm90ICdpbmZvJywgYmVjYXVzZSBvdGhlcndpc2Ug
cmVjdXJzaXZlIG1ha2VzCiAgICAgICMgZ2V0IHJ1biB0d2ljZSBkdXJpbmcgIm1ha2UgYWxsIi4K
ICAgICAgdW5zaGlmdCAoQGFsbCwgJyQoSU5GT19ERVBTKScpOwogICAgfQoKICBkZWZpbmVfZmls
ZXNfdmFyaWFibGUgKCJEVklTIiwgQGluZm9iYXNlLCAnZHZpJywgSU5URVJOQUwpOwogIGRlZmlu
ZV9maWxlc192YXJpYWJsZSAoIlBERlMiLCBAaW5mb2Jhc2UsICdwZGYnLCBJTlRFUk5BTCk7CiAg
ZGVmaW5lX2ZpbGVzX3ZhcmlhYmxlICgiUFNTIiwgQGluZm9iYXNlLCAncHMnLCBJTlRFUk5BTCk7
CiAgZGVmaW5lX2ZpbGVzX3ZhcmlhYmxlICgiSFRNTFMiLCBAaW5mb2Jhc2UsICdodG1sJywgSU5U
RVJOQUwpOwoKICAjIFRoaXMgbmV4dCBpc24ndCBzdHJpY3RseSBuZWVkZWQgbm93IC0tIHRoZSBw
bGFjZXMgdGhhdCBsb29rIGhlcmUKICAjIGNvdWxkIGVhc2lseSBiZSBjaGFuZ2VkIHRvIGxvb2sg
aW4gaW5mb19URVhJTkZPUy4gIEJ1dCB0aGlzIGlzCiAgIyBwcm9iYWJseSBiZXR0ZXIsIGluIGNh
c2Ugbm9pbnN0X1RFWElORk9TIGlzIGV2ZXIgc3VwcG9ydGVkLgogIGRlZmluZV92YXJpYWJsZSAo
IlRFWElORk9TIiwgdmFyaWFibGVfdmFsdWUgKCdpbmZvX1RFWElORk9TJyksIElOVEVSTkFMKTsK
CiAgIyBEbyBzb21lIGVycm9yIGNoZWNraW5nLiAgTm90ZSB0aGF0IHRoaXMgZmlsZSBpcyBub3Qg
cmVxdWlyZWQKICAjIHdoZW4gaW4gQ3lnbnVzIG1vZGU7IGluc3RlYWQgd2UgZGVmaW5lZCBURVhJ
TkZPX1RFWCBleHBsaWNpdGx5CiAgIyB1cCBhYm92ZS4KICBpZiAoJG5lZWRfdGV4aV9maWxlICYm
ICEgb3B0aW9uICduby10ZXhpbmZvLnRleCcpCiAgICB7CiAgICAgIGlmICgkbmVlZF90ZXhpX2Zp
bGUgPiAxKQoJewoJICByZXF1aXJlX2NvbmZfZmlsZV93aXRoX21hY3JvIChUUlVFLCAnaW5mb19U
RVhJTkZPUycsIEZPUkVJR04sCgkJCQkJJ3RleGluZm8udGV4Jyk7Cgl9CiAgICAgIGVsc2UKCXsK
CSAgcmVxdWlyZV9maWxlX3dpdGhfbWFjcm8gKFRSVUUsICdpbmZvX1RFWElORk9TJywgRk9SRUlH
TiwKCQkJCSAgICd0ZXhpbmZvLnRleCcpOwoJfQogICAgfQoKICByZXR1cm4gKG1ha2VmaWxlX3dy
YXAgKCIiLCAiXHQgICIsIEBtb3N0bHlfY2xlYW5zKSwKCSAgbWFrZWZpbGVfd3JhcCAoIiIsICJc
dCAgIiwgQHRleGlfY2xlYW5zKSwKCSAgbWFrZWZpbGVfd3JhcCAoIiIsICJcdCAgIiwgQG1haW50
X2NsZWFucykpOwp9CgoKc3ViIGhhbmRsZV90ZXhpbmZvICgpCnsKICByZWplY3RfdmFyICdURVhJ
TkZPUycsICInVEVYSU5GT1MnIGlzIGFuIGFuYWNocm9uaXNtOyB1c2UgJ2luZm9fVEVYSU5GT1Mn
IjsKICAjIEZJWE1FOiBJIHRoaW5rIHRoaXMgaXMgYW4gb2Jzb2xldGUgZnV0dXJlIGZlYXR1cmUg
bmFtZS4KICByZWplY3RfdmFyICdodG1sX1RFWElORk9TJywgIkhUTUwgZ2VuZXJhdGlvbiBub3Qg
eWV0IHN1cHBvcnRlZCI7CgogIG15ICRpbmZvX3RleGluZm9zID0gdmFyICgnaW5mb19URVhJTkZP
UycpOwogIG15ICgkbW9zdGx5Y2xlYW4sICRjbGVhbiwgJG1haW50Y2xlYW4pID0gKCcnLCAnJywg
JycpOwogIGlmICgkaW5mb190ZXhpbmZvcykKICAgIHsKICAgICAgZGVmaW5lX3ZlcmJvc2VfdGV4
aW5mbzsKICAgICAgKCRtb3N0bHljbGVhbiwgJGNsZWFuLCAkbWFpbnRjbGVhbikgPSBoYW5kbGVf
dGV4aW5mb19oZWxwZXIgKCRpbmZvX3RleGluZm9zKTsKICAgICAgY2hvbXAgJG1vc3RseWNsZWFu
OwogICAgICBjaG9tcCAkY2xlYW47CiAgICAgIGNob21wICRtYWludGNsZWFuOwogICAgfQoKICAk
b3V0cHV0X3J1bGVzIC49ICBmaWxlX2NvbnRlbnRzICgndGV4aW5mb3MnLAoJCQkJICAgbmV3IEF1
dG9tYWtlOjpMb2NhdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTV9W
X0RWSVBTICAgID0+IHZlcmJvc2VfZmxhZygnRFZJUFMnKSwKCQkJCSAgIE1PU1RMWUNMRUFOICAg
PT4gJG1vc3RseWNsZWFuLAoJCQkJICAgVEVYSUNMRUFOICAgICA9PiAkY2xlYW4sCgkJCQkgICBN
QUlOVENMRUFOICAgID0+ICRtYWludGNsZWFuLAoJCQkJICAgJ0xPQ0FMLVRFWElTJyA9PiAhISRp
bmZvX3RleGluZm9zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRFWElRVUlF
VCAgICAgPT4gdmVyYm9zZV9mbGFnKCd0ZXhpbmZvJykpOwp9CgoKc3ViIGhhbmRsZV9tYW5fcGFn
ZXMgKCkKewogIHJlamVjdF92YXIgJ01BTlMnLCAiJ01BTlMnIGlzIGFuIGFuYWNocm9uaXNtOyB1
c2UgJ21hbl9NQU5TJyI7CgogICMgRmluZCBhbGwgdGhlIHNlY3Rpb25zIGluIHVzZS4gIFdlIGRv
IHRoaXMgYnkgZmlyc3QgbG9va2luZyBmb3IKICAjICJzdGFuZGFyZCIgc2VjdGlvbnMsIGFuZCB0
aGVuIGxvb2tpbmcgZm9yIGFueSBhZGRpdGlvbmFsCiAgIyBzZWN0aW9ucyB1c2VkIGluIG1hbl9N
QU5TLgogIG15ICglc2VjdGlvbnMsICVub3RyYW5zX3NlY3Rpb25zLCAldHJhbnNfc2VjdGlvbnMs
CiAgICAgICVub3RyYW5zX3ZhcnMsICV0cmFuc192YXJzLCAlbm90cmFuc19zZWN0X3ZhcnMsICV0
cmFuc19zZWN0X3ZhcnMpOwogICMgV2UgaGFuZGxlIG5vZGlzdF8gZm9yIHVuaWZvcm1pdHkuICBt
YW4gcGFnZXMgYXJlbid0IGRpc3RyaWJ1dGVkCiAgIyBieSBkZWZhdWx0IHNvIGl0IGlzbid0IGFj
dHVhbGx5IHZlcnkgaW1wb3J0YW50LgogIGZvcmVhY2ggbXkgJG5wZnggKCcnLCAnbm90cmFuc18n
KQogICAgewogICAgICBmb3JlYWNoIG15ICRwZnggKCcnLCAnZGlzdF8nLCAnbm9kaXN0XycpCgl7
CgkgICMgQWRkIG1vcmUgc2VjdGlvbnMgYXMgbmVlZGVkLgoJICBmb3JlYWNoIG15ICRzZWN0aW9u
ICgnMCcuLic5JywgJ24nLCAnbCcpCgkgICAgewoJICAgICAgbXkgJHZhcm5hbWUgPSAkbnBmeCAu
ICRwZnggLiAnbWFuJyAuICRzZWN0aW9uIC4gJ19NQU5TJzsKCSAgICAgIGlmICh2YXIgKCR2YXJu
YW1lKSkKCQl7CgkJICAkc2VjdGlvbnN7JHNlY3Rpb259ID0gMTsKCQkgICR2YXJuYW1lID0gJyQo
JyAuICR2YXJuYW1lIC4gJyknOwoJCSAgaWYgKCRucGZ4IGVxICdub3RyYW5zXycpCgkJICAgIHsK
CQkgICAgICAkbm90cmFuc19zZWN0aW9uc3skc2VjdGlvbn0gPSAxOwoJCSAgICAgICRub3RyYW5z
X3NlY3RfdmFyc3skdmFybmFtZX0gPSAxOwoJCSAgICB9CgkJICBlbHNlCgkJICAgIHsKCQkgICAg
ICAkdHJhbnNfc2VjdGlvbnN7JHNlY3Rpb259ID0gMTsKCQkgICAgICAkdHJhbnNfc2VjdF92YXJz
eyR2YXJuYW1lfSA9IDE7CgkJICAgIH0KCgkJICBwdXNoX2Rpc3RfY29tbW9uICgkdmFybmFtZSkK
CQkgICAgaWYgJHBmeCBlcSAnZGlzdF8nOwoJCX0KCSAgICB9CgoJICBteSAkdmFybmFtZSA9ICRu
cGZ4IC4gJHBmeCAuICdtYW5fTUFOUyc7CgkgIG15ICR2YXIgPSB2YXIgKCR2YXJuYW1lKTsKCSAg
aWYgKCR2YXIpCgkgICAgewoJICAgICAgZm9yZWFjaCAoJHZhci0+dmFsdWVfYXNfbGlzdF9yZWN1
cnNpdmUpCgkJewoJCSAgIyBBIHBhZ2UgbGlrZSAnZm9vLjFjJyBnb2VzIGludG8gbWFuMWRpci4K
CQkgIGlmICgvXC4oWzAtOWEtel0pKFthLXpdKikkLykKCQkgICAgewoJCSAgICAgICRzZWN0aW9u
c3skMX0gPSAxOwoJCSAgICAgIGlmICgkbnBmeCBlcSAnbm90cmFuc18nKQoJCQl7CgkJCSAgJG5v
dHJhbnNfc2VjdGlvbnN7JDF9ID0gMTsKCQkJfQoJCSAgICAgIGVsc2UKCQkJewoJCQkgICR0cmFu
c19zZWN0aW9uc3skMX0gPSAxOwoJCQl9CgkJICAgIH0KCQl9CgoJICAgICAgJHZhcm5hbWUgPSAn
JCgnIC4gJHZhcm5hbWUgLiAnKSc7CgkgICAgICBpZiAoJG5wZnggZXEgJ25vdHJhbnNfJykKCQl7
CgkJICAkbm90cmFuc192YXJzeyR2YXJuYW1lfSA9IDE7CgkJfQoJICAgICAgZWxzZQoJCXsKCQkg
ICR0cmFuc192YXJzeyR2YXJuYW1lfSA9IDE7CgkJfQoJICAgICAgcHVzaF9kaXN0X2NvbW1vbiAo
JHZhcm5hbWUpCgkJaWYgJHBmeCBlcSAnZGlzdF8nOwoJICAgIH0KCX0KICAgIH0KCiAgcmV0dXJu
IHVubGVzcyAlc2VjdGlvbnM7CgogIG15IEB1bnNvcnRlZF9kZXBzOwoKICAjIEJ1aWxkIHNlY3Rp
b24gaW5kZXBlbmRlbnQgdmFyaWFibGVzLgogIG15ICRoYXZlX25vdHJhbnMgPSAlbm90cmFuc192
YXJzOwogIG15IEBub3RyYW5zX2xpc3QgPSBzb3J0IGtleXMgJW5vdHJhbnNfdmFyczsKICBteSAk
aGF2ZV90cmFucyA9ICV0cmFuc192YXJzOwogIG15IEB0cmFuc19saXN0ID0gc29ydCBrZXlzICV0
cmFuc192YXJzOwoKICAjIE5vdyBmb3IgZWFjaCBzZWN0aW9uLCBnZW5lcmF0ZSBhbiBpbnN0YWxs
IGFuZCB1bmluc3RhbGwgcnVsZS4KICAjIFNvcnQgc2VjdGlvbnMgc28gb3V0cHV0IGlzIGRldGVy
bWluaXN0aWMuCiAgZm9yZWFjaCBteSAkc2VjdGlvbiAoc29ydCBrZXlzICVzZWN0aW9ucykKICAg
IHsKICAgICAgIyBCdWlsZCBzZWN0aW9uIGRlcGVuZGVudCB2YXJpYWJsZXMuCiAgICAgIG15ICRu
b3RyYW5zX21hbnMgPSAkaGF2ZV9ub3RyYW5zIHx8IGV4aXN0cyAkbm90cmFuc19zZWN0aW9uc3sk
c2VjdGlvbn07CiAgICAgIG15ICR0cmFuc19tYW5zID0gJGhhdmVfdHJhbnMgfHwgZXhpc3RzICR0
cmFuc19zZWN0aW9uc3skc2VjdGlvbn07CiAgICAgIG15ICglbm90cmFuc190aGlzX3NlY3QsICV0
cmFuc190aGlzX3NlY3QpOwogICAgICBteSAkZXhwciA9ICdtYW4nIC4gJHNlY3Rpb24gLiAnX01B
TlMnOwogICAgICBmb3JlYWNoIG15ICR2YXJuYW1lIChrZXlzICVub3RyYW5zX3NlY3RfdmFycykg
IyBzb3J0IGtleXMgbm90IG5lZWRlZAoJewoJICBpZiAoJHZhcm5hbWUgPX4gLyRleHByLykKCSAg
ICB7CgkgICAgICAkbm90cmFuc190aGlzX3NlY3R7JHZhcm5hbWV9ID0gMTsKCSAgICB9Cgl9CiAg
ICAgIGZvcmVhY2ggbXkgJHZhcm5hbWUgKGtleXMgJXRyYW5zX3NlY3RfdmFycykgIyBzb3J0IGtl
eXMgbm90IG5lZWRlZAoJewoJICBpZiAoJHZhcm5hbWUgPX4gLyRleHByLykKCSAgICB7CgkgICAg
ICAkdHJhbnNfdGhpc19zZWN0eyR2YXJuYW1lfSA9IDE7CgkgICAgfQoJfQogICAgICBteSBAbm90
cmFuc19zZWN0X2xpc3QgPSBzb3J0IGtleXMgJW5vdHJhbnNfdGhpc19zZWN0OwogICAgICBteSBA
dHJhbnNfc2VjdF9saXN0ID0gc29ydCBrZXlzICV0cmFuc190aGlzX3NlY3Q7CiAgICAgIEB1bnNv
cnRlZF9kZXBzID0gKGtleXMgJW5vdHJhbnNfdmFycywga2V5cyAldHJhbnNfdmFycywKICAgICAg
ICAgICAgICAgICAgICAgICAga2V5cyAlbm90cmFuc190aGlzX3NlY3QsIGtleXMgJXRyYW5zX3Ro
aXNfc2VjdCk7CiAgICAgIG15IEBkZXBzID0gc29ydCBAdW5zb3J0ZWRfZGVwczsKICAgICAgJG91
dHB1dF9ydWxlcyAuPSBmaWxlX2NvbnRlbnRzICgnbWFucycsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBTRUNUSU9OICAgICAgICAgICA9PiAkc2VjdGlvbiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBERVBTICAgICAgICAgICAgICA9PiAi
QGRlcHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5PVFJBTlNfTUFO
UyAgICAgID0+ICRub3RyYW5zX21hbnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTk9UUkFOU19TRUNUX0xJU1QgPT4gIkBub3RyYW5zX3NlY3RfbGlzdCIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFWRV9OT1RSQU5TICAgICAgPT4gJGhhdmVf
bm90cmFucywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOT1RSQU5TX0xJ
U1QgICAgICA9PiAiQG5vdHJhbnNfbGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgVFJBTlNfTUFOUyAgICAgICAgPT4gJHRyYW5zX21hbnMsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgVFJBTlNfU0VDVF9MSVNUICAgPT4gIkB0cmFuc19zZWN0
X2xpc3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBVkVfVFJBTlMg
ICAgICAgID0+ICRoYXZlX3RyYW5zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFRSQU5TX0xJU1QgICAgICAgID0+ICJAdHJhbnNfbGlzdCIpOwogICAgfQoKICBAdW5zb3J0
ZWRfZGVwcyAgPSAoa2V5cyAlbm90cmFuc192YXJzLCBrZXlzICV0cmFuc192YXJzLAogICAgICAg
ICAgICAgICAgICAgICBrZXlzICVub3RyYW5zX3NlY3RfdmFycywga2V5cyAldHJhbnNfc2VjdF92
YXJzKTsKICBteSBAbWFucyA9IHNvcnQgQHVuc29ydGVkX2RlcHM7CiAgJG91dHB1dF92YXJzIC49
IGZpbGVfY29udGVudHMgKCdtYW5zLXZhcnMnLAoJCQkJIG5ldyBBdXRvbWFrZTo6TG9jYXRpb24s
CgkJCQkgTUFOUyA9PiAiQG1hbnMiKTsKCiAgcHVzaCAoQGFsbCwgJyQoTUFOUyknKQogICAgdW5s
ZXNzIG9wdGlvbiAnbm8taW5zdGFsbG1hbic7Cn0KCgpzdWIgaGFuZGxlX2RhdGEgKCkKewogICAg
YW1faW5zdGFsbF92YXIgKCctbm9leHRyYScsICctY2FuZGlzdCcsICdkYXRhJywgJ0RBVEEnLAog
ICAgICAgICAgICAgICAgICAgICdkYXRhJywgJ2RhdGFyb290JywgJ2RvYycsICdkdmknLCAnaHRt
bCcsICdwZGYnLAogICAgICAgICAgICAgICAgICAgICdwcycsICdzeXNjb25mJywgJ3NoYXJlZHN0
YXRlJywgJ2xvY2Fsc3RhdGUnLAogICAgICAgICAgICAgICAgICAgICdwa2dkYXRhJywgJ2xpc3An
LCAnbm9pbnN0JywgJ2NoZWNrJyk7Cn0KCgpzdWIgaGFuZGxlX3RhZ3MgKCkKewogICAgbXkgQGNv
bmZpZzsKICAgIGZvcmVhY2ggbXkgJHNwZWMgKEBjb25maWdfaGVhZGVycykKICAgICAgewogICAg
ICAgIG15ICgkb3V0LCBAaW5zKSA9IHNwbGl0X2NvbmZpZ19maWxlX3NwZWMgKCRzcGVjKTsKCWZv
cmVhY2ggbXkgJGluIChAaW5zKQoJICB7CiAgICAgICAgICAgICMgSWYgdGhlIGNvbmZpZyBoZWFk
ZXIgc291cmNlIGlzIGluIHRoaXMgZGlyZWN0b3J5LAoJICAgICMgcmVxdWlyZSBpdC4KCSAgICBw
dXNoIEBjb25maWcsIGJhc2VuYW1lICgkaW4pCiAgICAgICAgICAgICAgaWYgJHJlbGF0aXZlX2Rp
ciBlcSBkaXJuYW1lICgkaW4pOwoJICAgfQogICAgICB9CgogICAgZGVmaW5lX3ZhcmlhYmxlICgn
YW1fX3RhZ2dlZF9maWxlcycsCiAgICAgICAgICAgICAgICAgICAgICckKEhFQURFUlMpICQoU09V
UkNFUykgJChUQUdTX0ZJTEVTKSAkKExJU1ApJwogICAgICAgICAgICAgICAgICAgICAuICIgQGNv
bmZpZyIsIElOVEVSTkFMKTsKCiAgICBpZiAocnZhcignYW1fX3RhZ2dlZF9maWxlcycpLT52YWx1
ZV9hc19saXN0X3JlY3Vyc2l2ZQogICAgICAgICAgfHwgdmFyICgnRVRBR1NfQVJHUycpIHx8IHZh
ciAoJ1NVQkRJUlMnKSkKICAgICAgewoJJG91dHB1dF9ydWxlcyAuPSBmaWxlX2NvbnRlbnRzICgn
dGFncycsIG5ldyBBdXRvbWFrZTo6TG9jYXRpb24pOwoJc2V0X3NlZW4gJ1RBR1NfREVQRU5ERU5D
SUVTJzsKICAgICAgfQogICAgZWxzZQogICAgICB7CiAgICAgICAgcmVqZWN0X3ZhciAoJ1RBR1Nf
REVQRU5ERU5DSUVTJywKCQkgICAgIml0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBkZWZpbmUgJ1RB
R1NfREVQRU5ERU5DSUVTJyIKCQkgICAgLiAiIHdpdGhvdXRcbnNvdXJjZXMgb3IgJ0VUQUdTX0FS
R1MnIik7CgkjIEV2ZXJ5IE1ha2VmaWxlIG11c3QgZGVmaW5lIHNvbWUgc29ydCBvZiBUQUdTIHJ1
bGUuCgkjIE90aGVyd2lzZSwgaXQgd291bGQgYmUgcG9zc2libGUgZm9yIGEgdG9wLWxldmVsICJt
YWtlIFRBR1MiCgkjIHRvIGZhaWwgYmVjYXVzZSBzb21lIHN1YmRpcmVjdG9yeSBmYWlsZWQuICBE
aXR0byBjdGFncyBhbmQKICAgICAgICAjIGNzY29wZS4KICAgICAgICAkb3V0cHV0X3J1bGVzIC49
CiAgICAgICAgICAidGFncyBUQUdTOlxuXG4iIC4KICAgICAgICAgICJjdGFncyBDVEFHUzpcblxu
IiAuCiAgICAgICAgICAiY3Njb3BlIGNzY29wZWxpc3Q6XG5cbiI7CiAgICAgIH0KfQoKCiMgdXNl
cl9waG9ueV9ydWxlICgkTkFNRSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJldHVybiBm
YWxzZSBpZiBydWxlICROQU1FIGRvZXMgbm90IGV4aXN0LiAgT3RoZXJ3aXNlLAojIGRlY2xhcmUg
aXQgYXMgcGhvbnksIGNvbXBsZXRlIGl0cyBkZWZpbml0aW9uIChpbiBjYXNlIGl0IGlzCiMgY29u
ZGl0aW9uYWwpLCBhbmQgcmV0dXJuIGl0cyBBdXRvbWFrZTo6UnVsZSBpbnN0YW5jZS4Kc3ViIHVz
ZXJfcGhvbnlfcnVsZQp7CiAgbXkgKCRuYW1lKSA9IEBfOwogIG15ICRydWxlID0gcnVsZSAkbmFt
ZTsKICBpZiAoJHJ1bGUpCiAgICB7CiAgICAgIGRlcGVuZCAoJy5QSE9OWScsICRuYW1lKTsKICAg
ICAgIyBEZWZpbmUgJE5BTUUgaW4gYWxsIGNvbmRpdGlvbiB3aGVyZSBpdCBpcyBub3QgYWxyZWFk
eSBkZWZpbmVkLAogICAgICAjIHNvIHRoYXQgaXQgaXMgYWx3YXlzIE9LIHRvIGRlcGVuZCBvbiAk
TkFNRS4KICAgICAgZm9yIG15ICRjICgkcnVsZS0+bm90X2Fsd2F5c19kZWZpbmVkX2luX2NvbmQg
KFRSVUUpLT5jb25kcykKCXsKCSAgQXV0b21ha2U6OlJ1bGU6OmRlZmluZSAoJG5hbWUsICdpbnRl
cm5hbCcsIFJVTEVfQVVUT01BS0UsCgkJCQkgICRjLCBJTlRFUk5BTCk7CgkgICRvdXRwdXRfcnVs
ZXMgLj0gJGMtPnN1YnN0X3N0cmluZyAuICIkbmFtZTpcbiI7Cgl9CiAgICB9CiAgcmV0dXJuICRy
dWxlOwp9CgoKIyBIYW5kbGUgJ2Rpc3QnIHRhcmdldC4Kc3ViIGhhbmRsZV9kaXN0ICgpCnsKICAj
IFN1YnN0aXR1dGlvbnMgZm9yIGRpc3RkaXIuYW0KICBteSAldHJhbnNmb3JtOwoKICAjIERlZmlu
ZSBESVNUX1NVQkRJUlMuICBUaGlzIG11c3QgYWx3YXlzIGJlIGRvbmUsIHJlZ2FyZGxlc3Mgb2Yg
dGhlCiAgIyBuby1kaXN0IHNldHRpbmc6IHRhcmdldCBsaWtlICdkaXN0Y2xlYW4nIG9yICdtYWlu
dGFpbmVyLWNsZWFuJyB1c2UgaXQuCiAgbXkgJHN1YmRpcnMgPSB2YXIgKCdTVUJESVJTJyk7CiAg
aWYgKCRzdWJkaXJzKQogICAgewogICAgICAjIElmIFNVQkRJUlMgaXMgY29uZGl0aW9uYWxseSBk
ZWZpbmVkLCB0aGVuIHNldCBESVNUX1NVQkRJUlMKICAgICAgIyB0byBhbGwgcG9zc2libGUgZGly
ZWN0b3JpZXMsIGFuZCB1c2UgaXQuICBJZiBESVNUX1NVQkRJUlMgaXMKICAgICAgIyBkZWZpbmVk
LCBqdXN0IHVzZSBpdC4KCiAgICAgICMgTm90ZSB0aGF0IHdlIGNoZWNrIERJU1RfU1VCRElSUyBm
aXJzdCBvbiBwdXJwb3NlLCBzbyB0aGF0CiAgICAgICMgd2UgZG9uJ3QgY2FsbCBoYXNfY29uZGl0
aW9uYWxfY29udGVudHMgZm9yIG5vdyByZWFzb24uCiAgICAgICMgKEluIHRoZSBwYXN0IG9uZSBw
cm9qZWN0IHVzZWQgc28gbWFueSBjb25kaXRpb25hbCBzdWJkaXJlY3RvcmllcwogICAgICAjIHRo
YXQgY2FsbGluZyBoYXNfY29uZGl0aW9uYWxfY29udGVudHMgb24gU1VCRElSUyBjYXVzZWQKICAg
ICAgIyBhdXRvbWFrZSB0byBncm93IHRvIDE1ME1iIC0tIHRoaXMgc2hvdWxkIG5vdCBoYXBwZW4g
d2l0aAogICAgICAjIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIG9mIGhhc19jb25kaXRpb25h
bF9jb250ZW50cywKICAgICAgIyBidXQgaXQncyBtb3JlIGVmZmljaWVudCB0byBhdm9pZCB0aGUg
Y2FsbCBhbnl3YXkuKQogICAgICBpZiAodmFyICgnRElTVF9TVUJESVJTJykpCgl7Cgl9CiAgICAg
IGVsc2lmICgkc3ViZGlycy0+aGFzX2NvbmRpdGlvbmFsX2NvbnRlbnRzKQoJewoJICBkZWZpbmVf
cHJldHR5X3ZhcmlhYmxlCgkgICAgKCdESVNUX1NVQkRJUlMnLCBUUlVFLCBJTlRFUk5BTCwKCSAg
ICAgdW5pcSAoJHN1YmRpcnMtPnZhbHVlX2FzX2xpc3RfcmVjdXJzaXZlKSk7Cgl9CiAgICAgIGVs
c2UKCXsKCSAgIyBXZSBhbHdheXMgZGVmaW5lIHRoaXMgYmVjYXVzZSB0aGF0IGlzIHdoYXQgJ2Rp
c3RjbGVhbicKCSAgIyB3YW50cy4KCSAgZGVmaW5lX3ByZXR0eV92YXJpYWJsZSAoJ0RJU1RfU1VC
RElSUycsIFRSVUUsIElOVEVSTkFMLAoJCQkJICAnJChTVUJESVJTKScpOwoJfQogICAgfQoKICAj
IFRoZSByZW1haW5pbmcgZGVmaW5pdGlvbnMgYXJlIG9ubHkgcmVxdWlyZWQgd2hlbiBhIGRpc3Qg
dGFyZ2V0IGlzIHVzZWQuCiAgcmV0dXJuIGlmIG9wdGlvbiAnbm8tZGlzdCc7CgogICMgQXQgbGVh
c3Qgb25lIG9mIHRoZSBhcmNoaXZlIGZvcm1hdHMgbXVzdCBiZSBlbmFibGVkLgogIGlmICgkcmVs
YXRpdmVfZGlyIGVxICcuJykKICAgIHsKICAgICAgbXkgJGFyY2hpdmVfZGVmaW5lZCA9IG9wdGlv
biAnbm8tZGlzdC1nemlwJyA/IDAgOiAxOwogICAgICAkYXJjaGl2ZV9kZWZpbmVkIHx8PQoJZ3Jl
cCB7IG9wdGlvbiAiZGlzdC0kXyIgfSBxdyhzaGFyIHppcCB0YXJaIGJ6aXAyIGJ6aXAzIGx6aXAg
eHogenN0ZCk7CiAgICAgIGVycm9yIChvcHRpb24gJ25vLWRpc3QtZ3ppcCcsCgkgICAgICJuby1k
aXN0LWd6aXAgc3BlY2lmaWVkIGJ1dCBubyBkaXN0LSogc3BlY2lmaWVkLFxuIgoJICAgICAuICJh
dCBsZWFzdCBvbmUgYXJjaGl2ZSBmb3JtYXQgbXVzdCBiZSBlbmFibGVkIikKCXVubGVzcyAkYXJj
aGl2ZV9kZWZpbmVkOwogICAgfQoKICAjIExvb2sgZm9yIGNvbW1vbiBmaWxlcyB0aGF0IHNob3Vs
ZCBiZSBpbmNsdWRlZCBpbiBkaXN0cmlidXRpb24uCiAgIyBJZiB0aGUgYXV4IGRpciBpcyBzZXQs
IGFuZCBpdCBkb2VzIG5vdCBoYXZlIGEgTWFrZWZpbGUuYW0sIHRoZW4KICAjIHdlIGNoZWNrIGZv
ciB0aGVzZSBmaWxlcyB0aGVyZSBhcyB3ZWxsLgogIG15ICRjaGVja19hdXggPSAwOwogIGlmICgk
cmVsYXRpdmVfZGlyIGVxICcuJwogICAgICAmJiAkY29uZmlnX2F1eF9kaXJfc2V0X2luX2NvbmZp
Z3VyZV9hYykKICAgIHsKICAgICAgaWYgKCEgaXNfbWFrZV9kaXIgKCRjb25maWdfYXV4X2Rpcikp
Cgl7CgkgICRjaGVja19hdXggPSAxOwoJfQogICAgfQogIGZvcmVhY2ggbXkgJGNmaWxlIChAdG9w
bGV2ZWxtZF9vaywgQGNvbW1vbl9maWxlcykKICAgIHsKICAgICAgaWYgKGRpcl9oYXNfY2FzZV9t
YXRjaGluZ19maWxlICgkcmVsYXRpdmVfZGlyLCAkY2ZpbGUpCgkgICMgVGhlIGZpbGUgbWlnaHQg
YmUgYWJzZW50LCBidXQgaWYgaXQgY2FuIGJlIGJ1aWx0IGl0J3Mgb2suCgkgIHx8IHJ1bGUgJGNm
aWxlKQoJewoJICBwdXNoX2Rpc3RfY29tbW9uICgkY2ZpbGUpOwoJfQogICAgICBlbHNpZiAoZ3Jl
cCB7ICRfIGVxICRjZmlsZSB9IEB0b3BsZXZlbG1kX29rKQogICAgICAgIHsgIyBJcnJpdGF0aW5n
bHksIGhhdmUgdG8gcmVwZWF0IHRoZSBjaGVja3MsIG5vdyBmb3IgLm1kIGZpbGVzOwogICAgICAg
ICAgIyB3ZSB3YW50IHRvIHByZWZlciBub24tLm1kLCBzbyBkbyB0aGlzIHNlY29uZCwgYW5kIG9u
bHkgImVsc2lmIi4KICAgICAgICAgIGlmIChkaXJfaGFzX2Nhc2VfbWF0Y2hpbmdfZmlsZSAoJHJl
bGF0aXZlX2RpciwgIiRjZmlsZS5tZCIpCgkgICAgICB8fCBydWxlICIkY2ZpbGUubWQiKQogIAkg
ICAgewoJICAgICAgcHVzaF9kaXN0X2NvbW1vbiAoIiRjZmlsZS5tZCIpOwoJICAgIH0KICAgICAg
ICB9CgogICAgICAjIERvbid0IHVzZSAnZWxzaWYnIGhlcmUgYmVjYXVzZSBhIGZpbGUgbWlnaHQg
bWVhbmluZ2Z1bGx5CiAgICAgICMgYXBwZWFyIGluIGJvdGggJHJlbGF0aXZlX2RpciBhbmQgJGNv
bmZpZ19hdXhfZGlyLgogICAgICBpZiAoJGNoZWNrX2F1eCAmJiBkaXJfaGFzX2Nhc2VfbWF0Y2hp
bmdfZmlsZSAoJGNvbmZpZ19hdXhfZGlyLCAkY2ZpbGUpKQoJewoJICBwdXNoX2Rpc3RfY29tbW9u
ICgiJGNvbmZpZ19hdXhfZGlyLyRjZmlsZSIpCgl9CiAgICAgIGVsc2lmICgkY2hlY2tfYXV4ICYm
IGdyZXAgeyAkXyBlcSAkY2ZpbGUgfSBAdG9wbGV2ZWxtZF9vaykKICAgICAgICB7CiAgICAgICAg
ICBpZiAoZGlyX2hhc19jYXNlX21hdGNoaW5nX2ZpbGUgKCRjb25maWdfYXV4X2RpciwgIiRjZmls
ZS5tZCIpCgkgICAgICB8fCBydWxlICIkY2ZpbGUubWQiKQogIAkgICAgewoJICAgICAgcHVzaF9k
aXN0X2NvbW1vbiAoIiRjZmlsZS5tZCIpOwoJICAgIH0KICAgICAgICB9CiAgICB9CgogICMgV2Ug
bWlnaHQgY29weSBlbGVtZW50cyBmcm9tIEBjb25maWd1cmVfZGlzdF9jb21tb24gdG8KICAjIEBk
aXN0X2NvbW1vbiBpZiB3ZSB0aGluayB3ZSBuZWVkIHRvLiAgSWYgdGhlIGZpbGUgYXBwZWFycyBp
biBvdXIKICAjIGRpcmVjdG9yeSwgd2Ugd291bGQgaGF2ZSBkaXNjb3ZlcmVkIGl0IGFscmVhZHks
IHNvIHdlIGRvbid0CiAgIyBjaGVjayB0aGF0LiAgQnV0IGlmIHRoZSBmaWxlIGlzIGluIGEgc3Vi
ZGlyIHdpdGhvdXQgYSBNYWtlZmlsZSwKICAjIHdlIHdhbnQgdG8gZGlzdHJpYnV0ZSBpdCBoZXJl
IGlmIHdlIGFyZSBkb2luZyAnLicuICBVZ2x5IQogICMgQWxzbywgaW4gc29tZSBjb3JuZXIgY2Fz
ZXMsIGl0J3MgcG9zc2libGUgdGhhdCB0aGUgZm9sbG93aW5nIGNvZGUKICAjIHdpbGwgY2F1c2Ug
dGhlIHNhbWUgZmlsZSB0byBhcHBlYXIgaW4gdGhlICQoRElTVF9DT01NT04pIHZhcmlhYmxlcwog
ICMgb2YgdHdvIGRpc3RpbmN0IE1ha2VmaWxlczsgYnV0IHRoaXMgaXMgbm90IGEgcHJvYmxlbSwg
c2luY2UgdGhlCiAgIyAnZGlzdGRpcicgdGFyZ2V0IGluICdsaWIvYW0vZGlzdGRpci5hbScgY2Fu
IGRlYWwgd2l0aCB0aGUgc2FtZQogICMgZmlsZSBiZWluZyBkaXN0cmlidXRlZCBtdWx0aXBsZSB0
aW1lcy4KICAjIFNlZSBhbHNvIGF1dG9tYWtlIGJ1ZyM5NjUxLgogIGlmICgkcmVsYXRpdmVfZGly
IGVxICcuJykKICAgIHsKICAgICAgZm9yZWFjaCBteSAkZmlsZSAoQGNvbmZpZ3VyZV9kaXN0X2Nv
bW1vbikKCXsKCSAgbXkgJGRpciA9IGRpcm5hbWUgKCRmaWxlKTsKCSAgcHVzaF9kaXN0X2NvbW1v
biAoJGZpbGUpCgkgICAgaWYgKCRkaXIgZXEgJy4nIHx8ICEgaXNfbWFrZV9kaXIgKCRkaXIpKTsK
CX0KICAgICAgQGNvbmZpZ3VyZV9kaXN0X2NvbW1vbiA9ICgpOwogICAgfQoKICAjICQoYW1fX0RJ
U1RfQ09NTU9OKTogZmlsZXMgdG8gYmUgZGlzdHJpYnV0ZWQgYXV0b21hdGljYWxseS4gIFdpbGwg
YmUKICAjIGFwcGVuZGVkIHRvICQoRElTVF9DT01NT04pIGluIHRoZSBnZW5lcmF0ZWQgTWFrZWZp
bGUuCiAgIyBVc2UgJ3NvcnQnIHNvIHRoYXQgdGhlIGV4cGFuc2lvbiBvZiAkKERJU1RfQ09NTU9O
KSBpbiB0aGUgZ2VuZXJhdGVkCiAgIyBNYWtlZmlsZSBpcyBkZXRlcm1pbmlzdGljLCBpbiBmYWNl
IG9mIG00IGFuZC9vciBwZXJsIHJhbmRvbWl6YXRpb25zCiAgIyAoc2VlIGF1dG9tYWtlIGJ1ZyMx
NzkwOCkuCiAgZGVmaW5lX3ByZXR0eV92YXJpYWJsZSAoJ2FtX19ESVNUX0NPTU1PTicsIFRSVUUs
IElOVEVSTkFMLAogICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXEgKHNvcnQgQGRpc3RfY29t
bW9uKSk7CgogICMgTm93IHRoYXQgd2UndmUgcHJvY2Vzc2VkIEBkaXN0X2NvbW1vbiwgZGlzYWxs
b3cgZnVydGhlciBhdHRlbXB0cwogICMgdG8gbW9kaWZ5IGl0LgogICRoYW5kbGVfZGlzdF9ydW4g
PSAxOwoKICAkdHJhbnNmb3JteydESVNUQ0hFQ0stSE9PSyd9ID0gISEgcnVsZSAnZGlzdGNoZWNr
LWhvb2snOwogICR0cmFuc2Zvcm17J0dFVFRFWFQnfSA9ICRzZWVuX2dldHRleHQgJiYgISRzZWVu
X2dldHRleHRfZXh0ZXJuYWw7CgogICMgSWYgdGhlIHRhcmdldCAnZGlzdC1ob29rJyBleGlzdHMs
IG1ha2Ugc3VyZSBpdCBpcyBydW4uICBUaGlzCiAgIyBhbGxvd3MgdXNlcnMgdG8gZG8gcmFuZG9t
IHdlaXJkIHRoaW5ncyB0byB0aGUgZGlzdHJpYnV0aW9uCiAgIyBiZWZvcmUgaXQgaXMgcGFja2Fn
ZWQgdXAuCiAgcHVzaCAoQGRpc3RfdGFyZ2V0cywgJ2Rpc3QtaG9vaycpCiAgICBpZiB1c2VyX3Bo
b255X3J1bGUgJ2Rpc3QtaG9vayc7CiAgJHRyYW5zZm9ybXsnRElTVC1UQVJHRVRTJ30gPSBqb2lu
ICgnICcsIEBkaXN0X3RhcmdldHMpOwoKICBteSAkZmxtID0gb3B0aW9uICgnZmlsZW5hbWUtbGVu
Z3RoLW1heCcpOwogIG15ICRmaWxlbmFtZV9maWx0ZXIgPSAkZmxtID8gJy4nIHggJGZsbS0+WzFd
IDogJyc7CgogICRvdXRwdXRfcnVsZXMgLj0gZmlsZV9jb250ZW50cyAoJ2Rpc3RkaXInLAoJCQkJ
ICBuZXcgQXV0b21ha2U6OkxvY2F0aW9uLAoJCQkJICAldHJhbnNmb3JtLAoJCQkJICBGSUxFTkFN
RV9GSUxURVIgPT4gJGZpbGVuYW1lX2ZpbHRlcik7Cn0KCgojIGNoZWNrX2RpcmVjdG9yeSAoJE5B
TUUsICRXSEVSRSBbLCAkUkVMQVRJVkVfRElSID0gIi4iXSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRW5zdXJlICROQU1FIGlzIGEg
ZGlyZWN0b3J5IChpbiAkUkVMQVRJVkVfRElSKSwgYW5kIHRoYXQgaXQgdXNlcyBhIHNhbmUKIyBu
YW1lLiAgVXNlICRXSEVSRSBhcyBhIGxvY2F0aW9uIGluIHRoZSBkaWFnbm9zdGljLCBpZiBhbnku
CnN1YiBjaGVja19kaXJlY3RvcnkKewogIG15ICgkZGlyLCAkd2hlcmUsICRyZWxkaXIpID0gQF87
CiAgJHJlbGRpciA9ICcuJyB1bmxlc3MgZGVmaW5lZCAkcmVsZGlyOwoKICBlcnJvciAkd2hlcmUs
ICJyZXF1aXJlZCBkaXJlY3RvcnkgJHJlbGRpci8kZGlyIGRvZXMgbm90IGV4aXN0IgogICAgdW5s
ZXNzIC1kICIkcmVsZGlyLyRkaXIiOwoKICAjIElmIGFuICdvYmovJyBkaXJlY3RvcnkgZXhpc3Rz
LCBCU0QgbWFrZSB3aWxsIGVudGVyIGl0IGJlZm9yZQogICMgcmVhZGluZyAnTWFrZWZpbGUnLiAg
SGVuY2UgdGhlICdNYWtlZmlsZScgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5CiAgIyB3aWxsIG5v
dCBiZSByZWFkLgogICMKICAjICAlIGNhdCBNYWtlZmlsZQogICMgIGFsbDoKICAjICAgICAgICAg
IGVjaG8gSGVsbG8KICAjICAlIGNhdCBvYmovTWFrZWZpbGUKICAjICBhbGw6CiAgIyAgICAgICAg
ICBlY2hvIFdvcmxkCiAgIyAgJSBtYWtlICAgICAgIyBHTlUgbWFrZQogICMgIGVjaG8gSGVsbG8K
ICAjICBIZWxsbwogICMgICUgcG1ha2UgICAgICMgQlNEIG1ha2UKICAjICBlY2hvIFdvcmxkCiAg
IyAgV29ybGQKICBtc2cgKCdwb3J0YWJpbGl0eScsICR3aGVyZSwKICAgICAgICJuYW1pbmcgYSBz
dWJkaXJlY3RvcnkgJ29iaicgY2F1c2VzIHRyb3VibGVzIHdpdGggQlNEIG1ha2UiKQogICAgaWYg
JGRpciBlcSAnb2JqJzsKCiAgIyAnYXV4JyBpcyBwcm9iYWJseSB0aGUgbW9zdCBpbXBvcnRhbnQg
b2YgdGhlIGZvbGxvd2luZyBmb3JiaWRkZW4gbmFtZSwKICAjIHNpbmNlIGl0J3MgdGVtcHRpbmcg
dG8gdXNlIGl0IGFzIGFuIEFDX0NPTkZJR19BVVhfRElSLgogIG1zZyAoJ3BvcnRhYmlsaXR5Jywg
JHdoZXJlLAogICAgICAgIm5hbWUgJyRkaXInIGlzIHJlc2VydmVkIG9uIFczMiBhbmQgRE9TIHBs
YXRmb3JtcyIpCiAgICBpZiBncmVwICgvXlxRJGRpclxFJC9pLCBxdy9hdXggbHB0MSBscHQyIGxw
dDMgY29tMSBjb20yIGNvbTMgY29tNCBjb24gcHJuLyk7Cn0KCiMgY2hlY2tfZGlyZWN0b3JpZXNf
aW5fdmFyICgkVkFSSUFCTEUpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CiMgUmVjdXJzaXZlbHkgY2hlY2sgYWxsIGl0ZW1zIGluIHZhcmlhYmxlcyAkVkFSSUFCTEUgYXMg
ZGlyZWN0b3JpZXMKc3ViIGNoZWNrX2RpcmVjdG9yaWVzX2luX3Zhcgp7CiAgbXkgKCR2YXIpID0g
QF87CiAgJHZhci0+dHJhdmVyc2VfcmVjdXJzaXZlbHkKICAgIChzdWIKICAgICB7CiAgICAgICBt
eSAoJHZhciwgJHZhbCwgJGNvbmQsICRmdWxsX2NvbmQpID0gQF87CiAgICAgICBjaGVja19kaXJl
Y3RvcnkgKCR2YWwsICR2YXItPnJkZWYgKCRjb25kKS0+bG9jYXRpb24sICRyZWxhdGl2ZV9kaXIp
OwogICAgICAgcmV0dXJuICgpOwogICAgIH0sCiAgICAgdW5kZWYsCiAgICAgc2tpcF9hY19zdWJz
dCA9PiAxKTsKfQoKCnN1YiBoYW5kbGVfc3ViZGlycyAoKQp7CiAgbXkgJHN1YmRpcnMgPSB2YXIg
KCdTVUJESVJTJyk7CiAgcmV0dXJuCiAgICB1bmxlc3MgJHN1YmRpcnM7CgogIGNoZWNrX2RpcmVj
dG9yaWVzX2luX3ZhciAkc3ViZGlyczsKCiAgbXkgJGRzdWJkaXJzID0gdmFyICgnRElTVF9TVUJE
SVJTJyk7CiAgY2hlY2tfZGlyZWN0b3JpZXNfaW5fdmFyICRkc3ViZGlycwogICAgaWYgJGRzdWJk
aXJzOwoKICAkb3V0cHV0X3J1bGVzIC49IGZpbGVfY29udGVudHMgKCdzdWJkaXJzJywgbmV3IEF1
dG9tYWtlOjpMb2NhdGlvbik7CiAgcnZhciAoJ1JFQ1VSU0lWRV9UQVJHRVRTJyktPnJkZWYgKFRS
VUUpLT57J3ByZXR0eSd9ID0gVkFSX1NPUlRFRDsgIyBHcm9zcyEKfQoKCiMgKCRSRUdFTiwgQERF
UEVOREVOQ0lFUykKIyBzY2FuX2FjbG9jYWxfbTQKIyAtLS0tLS0tLS0tLS0tLS0KIyBJZiBhY2xv
Y2FsLm00IGNyZWF0aW9uIGlzIGF1dG9tYXRlZCwgcmV0dXJuIHRoZSBsaXN0IG9mIGl0cyBkZXBl
bmRlbmNpZXMuCnN1YiBzY2FuX2FjbG9jYWxfbTQgKCkKewogIG15ICRyZWdlbl9hY2xvY2FsID0g
MDsKCiAgc2V0X3NlZW4gJ0NPTkZJR19TVEFUVVNfREVQRU5ERU5DSUVTJzsKICBzZXRfc2VlbiAn
Q09ORklHVVJFX0RFUEVOREVOQ0lFUyc7CgogIGlmICgtZiAnYWNsb2NhbC5tNCcpCiAgICB7CiAg
ICAgIGRlZmluZV92YXJpYWJsZSAoIkFDTE9DQUxfTTQiLCAnJCh0b3Bfc3JjZGlyKS9hY2xvY2Fs
Lm00JywgSU5URVJOQUwpOwoKICAgICAgbXkgJGFjbG9jYWwgPSBuZXcgQXV0b21ha2U6OlhGaWxl
ICI8IGFjbG9jYWwubTQiOwogICAgICBteSAkbGluZSA9ICRhY2xvY2FsLT5nZXRsaW5lOwogICAg
ICAkcmVnZW5fYWNsb2NhbCA9ICRsaW5lID1+ICdnZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSBh
Y2xvY2FsJzsKICAgIH0KCiAgbXkgQGFjX2RlcHMgPSAoKTsKCiAgaWYgKHNldF9zZWVuICgnQUNM
T0NBTF9NNF9TT1VSQ0VTJykpCiAgICB7CiAgICAgIHB1c2ggKEBhY19kZXBzLCAnJChBQ0xPQ0FM
X000X1NPVVJDRVMpJyk7CiAgICAgIG1zZ192YXIgKCdvYnNvbGV0ZScsICdBQ0xPQ0FMX000X1NP
VVJDRVMnLAoJICAgICAgICInQUNMT0NBTF9NNF9TT1VSQ0VTJyBpcyBvYnNvbGV0ZS5cbiIKCSAg
ICAgICAuICJJdCBzaG91bGQgYmUgc2FmZSB0byBzaW1wbHkgcmVtb3ZlIGl0Iik7CiAgICB9Cgog
ICMgTm90ZSB0aGF0IGl0IG1pZ2h0IGJlIHBvc3NpYmxlIHRoYXQgYWNsb2NhbC5tNCBkb2Vzbid0
IGV4aXN0IGJ1dAogICMgc2hvdWxkIGJlIGF1dG8tZ2VuZXJhdGVkLiAgVGhpcyBjYXNlIHByb2Jh
Ymx5IGlzbid0IHZlcnkKICAjIGltcG9ydGFudC4KCiAgcmV0dXJuICgkcmVnZW5fYWNsb2NhbCwg
QGFjX2RlcHMpOwp9CgoKIyBIZWxwZXIgZnVuY3Rpb24gZm9yICdzdWJzdGl0dXRlX2FjX3N1YnN0
X3ZhcmlhYmxlcycuCnN1YiBzdWJzdGl0dXRlX2FjX3N1YnN0X3ZhcmlhYmxlc193b3JrZXIKewog
IG15ICgkdG9rZW4pID0gQF87CiAgcmV0dXJuICJcQCR0b2tlblxAIiBpZiB2YXIgJHRva2VuOwog
IHJldHVybiAiXCR7JHRva2VuXH0iOwp9CgojIHN1YnN0aXR1dGVfYWNfc3Vic3RfdmFyaWFibGVz
ICgkVEVYVCkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUmVwbGFj
ZSBhbnkgb2NjdXJyZW5jZSBvZiAke0ZPT30gaW4gJFRFWFQgYnkgQEZPT0AgaWYgRk9PIGlzIGFu
IEFDX1NVQlNUCiMgdmFyaWFibGUuCnN1YiBzdWJzdGl0dXRlX2FjX3N1YnN0X3ZhcmlhYmxlcwp7
CiAgbXkgKCR0ZXh0KSA9IEBfOwogICR0ZXh0ID1+IHMvXCRbe10oW14gXHQ9Oit7fV0rKX0vc3Vi
c3RpdHV0ZV9hY19zdWJzdF92YXJpYWJsZXNfd29ya2VyICgkMSkvZ2U7CiAgcmV0dXJuICR0ZXh0
Owp9CgojIEBERVBFTkRFTkNJRVMKIyBwcmVwZW5kX3NyY2RpciAoQElOUFVUUykKIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIyBQcmVwZW5kICQoc3JjZGlyKSBvciAkKHRvcF9zcmNkaXIpIHRv
IGFsbCBASU5QVVRTLiAgVGhlIGlkZWEgaXMgdGhhdAojIGlmIGFuIGlucHV0IGZpbGUgaGFzIGEg
ZGlyZWN0b3J5IHBhcnQgdGhlIHNhbWUgYXMgdGhlIGN1cnJlbnQKIyBkaXJlY3RvcnksIHRoZW4g
dGhlIGRpcmVjdG9yeSBwYXJ0IGlzIHNpbXBseSByZXBsYWNlZCBieSAkKHNyY2RpcikuCiMgQnV0
IGlmIHRoZSBkaXJlY3RvcnkgcGFydCBpcyBkaWZmZXJlbnQsIHRoZW4gJCh0b3Bfc3JjZGlyKSBp
cwojIHByZXBlbmRlZC4Kc3ViIHByZXBlbmRfc3JjZGlyCnsKICBteSAoQGlucHV0cykgPSBAXzsK
ICBteSBAbmV3aW5wdXRzOwoKICBmb3JlYWNoIG15ICRzaW5nbGUgKEBpbnB1dHMpCiAgICB7CiAg
ICAgIGlmIChkaXJuYW1lICgkc2luZ2xlKSBlcSAkcmVsYXRpdmVfZGlyKQoJewoJICBwdXNoIChA
bmV3aW5wdXRzLCAnJChzcmNkaXIpLycgLiBiYXNlbmFtZSAoJHNpbmdsZSkpOwoJfQogICAgICBl
bHNlCgl7CgkgIHB1c2ggKEBuZXdpbnB1dHMsICckKHRvcF9zcmNkaXIpLycgLiAkc2luZ2xlKTsK
CX0KICAgIH0KICByZXR1cm4gQG5ld2lucHV0czsKfQoKIyBAREVQRU5ERU5DSUVTCiMgcmV3cml0
ZV9pbnB1dHNfaW50b19kZXBlbmRlbmNpZXMgKCRPVVRQVVQsIEBJTlBVVFMpCiMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ29tcHV0ZSBhIGxp
c3Qgb2YgZGVwZW5kZW5jaWVzIGFwcHJvcHJpYXRlIGZvciB0aGUgcmVidWlsZAojIHJ1bGUgb2YK
IyAgIEFDX0NPTkZJR19GSUxFUygkT1VUUFVUOiRJTlBVVFswXTokSU5QVVRTWzFdOi4uLikKIyBB
bHNvIGRpc3RyaWJ1dGUgJElOUFVUcyB3aGljaCBhcmUgbm90IGJ1aWx0IGJ5IGFub3RoZXIgQUNf
Q09ORklHX0ZPT3MuCnN1YiByZXdyaXRlX2lucHV0c19pbnRvX2RlcGVuZGVuY2llcwp7CiAgbXkg
KCRmaWxlLCBAaW5wdXRzKSA9IEBfOwogIG15IEByZXMgPSAoKTsKCiAgZm9yIG15ICRpIChAaW5w
dXRzKQogICAgewogICAgICAjIFdlIGNhbm5vdCBjcmVhdGUgZGVwZW5kZW5jaWVzIG9uIHNoZWxs
IHZhcmlhYmxlcy4KICAgICAgbmV4dCBpZiAoc3Vic3RpdHV0ZV9hY19zdWJzdF92YXJpYWJsZXMg
JGkpID1+IC9cJC87CgogICAgICBpZiAoZXhpc3RzICRhY19jb25maWdfZmlsZXNfbG9jYXRpb257
JGl9ICYmICRpIG5lICRmaWxlKQoJewoJICBteSAkZGkgPSBkaXJuYW1lICRpOwoJICBpZiAoJGRp
IGVxICRyZWxhdGl2ZV9kaXIpCgkgICAgewoJICAgICAgJGkgPSBiYXNlbmFtZSAkaTsKCSAgICB9
CgkgICMgSW4gdGhlIHRvcC1sZXZlbCBNYWtlZmlsZSB3ZSBkbyBub3QgdXNlICQodG9wX2J1aWxk
ZGlyKSwgYmVjYXVzZQoJICAjIHdlIGFyZSBhbHJlYWR5IHRoZXJlLCBhbmQgc2luY2UgdGhlIHRh
cmdldHMgYXJlIGJ1aWx0IHdpdGhvdXQKCSAgIyBhICQodG9wX2J1aWxkZGlyKSwgaXQgaGVscHMg
QlNEIE1ha2UgdG8gbWF0Y2ggdGhlbSB3aXRoCgkgICMgZGVwZW5kZW5jaWVzLgoJICBlbHNpZiAo
JHJlbGF0aXZlX2RpciBuZSAnLicpCgkgICAgewoJICAgICAgJGkgPSAnJCh0b3BfYnVpbGRkaXIp
LycgLiAkaTsKCSAgICB9Cgl9CiAgICAgIGVsc2UKCXsKCSAgbXNnICgnZXJyb3InLCAkYWNfY29u
ZmlnX2ZpbGVzX2xvY2F0aW9ueyRmaWxlfSwKCSAgICAgICAicmVxdWlyZWQgZmlsZSAnJGknIG5v
dCBmb3VuZCIpCgkgICAgdW5sZXNzICRpID1+IC9cJC8gfHwgZXhpc3RzICRvdXRwdXRfZmlsZXN7
JGl9IHx8IC1mICRpOwoJICAoJGkpID0gcHJlcGVuZF9zcmNkaXIgKCRpKTsKCSAgcHVzaF9kaXN0
X2NvbW1vbiAoJGkpOwoJfQogICAgICBwdXNoIEByZXMsICRpOwogICAgfQogIHJldHVybiBAcmVz
Owp9CgoKCiMgaGFuZGxlX2NvbmZpZ3VyZSAoJE1BS0VGSUxFX0FNLCAkTUFLRUZJTEVfSU4sICRN
QUtFRklMRSwgQElOUFVUUykKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEhhbmRsZSByZW1ha2luZyBhbmQgY29uZmln
dXJlIHN0dWZmLgojIFdlIG5lZWQgdGhlIG5hbWUgb2YgdGhlIGlucHV0IGZpbGUsIHRvIGRvIHBy
b3BlciByZW1ha2luZyBydWxlcy4Kc3ViIGhhbmRsZV9jb25maWd1cmUKewogIG15ICgkbWFrZWZp
bGVfYW0sICRtYWtlZmlsZV9pbiwgJG1ha2VmaWxlLCBAaW5wdXRzKSA9IEBfOwoKICBwcm9nX2Vy
cm9yICdlbXB0eSBAaW5wdXRzJwogICAgdW5sZXNzIEBpbnB1dHM7CgogIG15ICgkcmVsX21ha2Vm
aWxlX2FtLCAkcmVsX21ha2VmaWxlX2luKSA9IHByZXBlbmRfc3JjZGlyICgkbWFrZWZpbGVfYW0s
CgkJCQkJCQkgICAgJG1ha2VmaWxlX2luKTsKICBteSAkcmVsX21ha2VmaWxlID0gYmFzZW5hbWUg
JG1ha2VmaWxlOwoKICBteSAkY29sb25faW5maWxlID0gJzonIC4gam9pbiAoJzonLCBAaW5wdXRz
KTsKICAkY29sb25faW5maWxlID0gJycgaWYgJGNvbG9uX2luZmlsZSBlcSAiOiRtYWtlZmlsZS5p
biI7CiAgbXkgQHJld3JpdHRlbiA9IHJld3JpdGVfaW5wdXRzX2ludG9fZGVwZW5kZW5jaWVzICgk
bWFrZWZpbGUsIEBpbnB1dHMpOwogIG15ICgkcmVnZW5fYWNsb2NhbF9tNCwgQGFjbG9jYWxfbTRf
ZGVwcykgPSBzY2FuX2FjbG9jYWxfbTQ7CiAgZGVmaW5lX3ByZXR0eV92YXJpYWJsZSAoJ2FtX19h
Y2xvY2FsX200X2RlcHMnLCBUUlVFLCBJTlRFUk5BTCwKCQkJICBAY29uZmlndXJlX2RlcHMsIEBh
Y2xvY2FsX200X2RlcHMsCgkJCSAgJyQodG9wX3NyY2RpcikvJyAuICRjb25maWd1cmVfYWMpOwog
IG15IEBjb25maWd1cmVkZXBzID0gKCckKGFtX19hY2xvY2FsX200X2RlcHMpJywgJyQoQ09ORklH
VVJFX0RFUEVOREVOQ0lFUyknKTsKICBwdXNoIEBjb25maWd1cmVkZXBzLCAnJChBQ0xPQ0FMX000
KScgaWYgLWYgJ2FjbG9jYWwubTQnOwogIGRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCdhbV9fY29u
ZmlndXJlX2RlcHMnLCBUUlVFLCBJTlRFUk5BTCwKCQkJICBAY29uZmlndXJlZGVwcyk7CgogIG15
ICRhdXRvbWFrZV9vcHRpb25zID0gJy0tJyAuICRzdHJpY3RuZXNzX25hbWUgLgoJCQkgKGdsb2Jh
bF9vcHRpb24gJ25vLWRlcGVuZGVuY2llcycgPyAnIC0taWdub3JlLWRlcHMnIDogJycpOwoKICAk
b3V0cHV0X3J1bGVzIC49IGZpbGVfY29udGVudHMKICAgICgnY29uZmlndXJlJywKICAgICBuZXcg
QXV0b21ha2U6OkxvY2F0aW9uLAogICAgIE1BS0VGSUxFICAgICAgICAgICAgICA9PiAkcmVsX21h
a2VmaWxlLAogICAgICdNQUtFRklMRS1ERVBTJyAgICAgICA9PiAiQHJld3JpdHRlbiIsCiAgICAg
J0NPTkZJRy1NQUtFRklMRScgICAgID0+ICgkcmVsYXRpdmVfZGlyIGVxICcuJykgPyAnJEAnIDog
JyQoc3ViZGlyKS8kQCcsCiAgICAgJ01BS0VGSUxFLUlOJyAgICAgICAgID0+ICRyZWxfbWFrZWZp
bGVfaW4sCiAgICAgJ0hBVkUtTUFLRUZJTEUtSU4tREVQUycgPT4gKEBpbmNsdWRlX3N0YWNrID4g
MCksCiAgICAgJ01BS0VGSUxFLUlOLURFUFMnICAgID0+ICJAaW5jbHVkZV9zdGFjayIsCiAgICAg
J01BS0VGSUxFLUFNJyAgICAgICAgID0+ICRyZWxfbWFrZWZpbGVfYW0sCiAgICAgJ0FVVE9NQUtF
LU9QVElPTlMnICAgID0+ICRhdXRvbWFrZV9vcHRpb25zLAogICAgICdNQUtFRklMRS1BTS1TT1VS
Q0VTJyA9PiAiJG1ha2VmaWxlJGNvbG9uX2luZmlsZSIsCiAgICAgJ1JFR0VOLUFDTE9DQUwtTTQn
ICAgID0+ICRyZWdlbl9hY2xvY2FsX200LAogICAgIFZFUkJPU0UgICAgICAgICAgICAgICA9PiB2
ZXJib3NlX2ZsYWcgKCdHRU4nKSk7CgogIGlmICgkcmVsYXRpdmVfZGlyIGVxICcuJykKICAgIHsK
ICAgICAgcHVzaF9kaXN0X2NvbW1vbiAoJ2FjY29uZmlnLmgnKQoJaWYgLWYgJ2FjY29uZmlnLmgn
OwogICAgfQoKICAjIElmIHdlIGhhdmUgYSBjb25maWd1cmUgaGVhZGVyLCByZXF1aXJlIGl0Lgog
IG15ICRoZHJfaW5kZXggPSAwOwogIG15IEBkaXN0Y2xlYW5fY29uZmlnOwogIGZvcmVhY2ggbXkg
JHNwZWMgKEBjb25maWdfaGVhZGVycykKICAgIHsKICAgICAgJGhkcl9pbmRleCArPSAxOwogICAg
ICAjICRDT05GSUdfSF9QQVRIOiBjb25maWcuaCBmcm9tIHRvcCBsZXZlbC4KICAgICAgbXkgKCRj
b25maWdfaF9wYXRoLCBAaW5zKSA9IHNwbGl0X2NvbmZpZ19maWxlX3NwZWMgKCRzcGVjKTsKICAg
ICAgbXkgJGNvbmZpZ19oX2RpciA9IGRpcm5hbWUgKCRjb25maWdfaF9wYXRoKTsKCiAgICAgICMg
SWYgdGhlIGhlYWRlciBpcyBpbiB0aGUgY3VycmVudCBkaXJlY3Rvcnkgd2Ugd2FudCB0byBidWls
ZAogICAgICAjIHRoZSBoZWFkZXIgaGVyZS4gIE90aGVyd2lzZSwgaWYgd2UncmUgYXQgdGhlIHRv
cG1vc3QKICAgICAgIyBkaXJlY3RvcnkgYW5kIHRoZSBoZWFkZXIncyBkaXJlY3RvcnkgZG9lc24n
dCBoYXZlIGEKICAgICAgIyBNYWtlZmlsZSwgdGhlbiB3ZSBhbHNvIHdhbnQgdG8gYnVpbGQgdGhl
IGhlYWRlci4KICAgICAgaWYgKCRyZWxhdGl2ZV9kaXIgZXEgJGNvbmZpZ19oX2RpcgoJICB8fCAo
JHJlbGF0aXZlX2RpciBlcSAnLicgJiYgISBpc19tYWtlX2RpciAoJGNvbmZpZ19oX2RpcikpKQoJ
ewoJICBteSAoJGNuX3NhbnNfZGlyLCAkc3RhbXBfZGlyKTsKCSAgaWYgKCRyZWxhdGl2ZV9kaXIg
ZXEgJGNvbmZpZ19oX2RpcikKCSAgICB7CgkgICAgICAkY25fc2Fuc19kaXIgPSBiYXNlbmFtZSAo
JGNvbmZpZ19oX3BhdGgpOwoJICAgICAgJHN0YW1wX2RpciA9ICcnOwoJICAgIH0KCSAgZWxzZQoJ
ICAgIHsKCSAgICAgICRjbl9zYW5zX2RpciA9ICRjb25maWdfaF9wYXRoOwoJICAgICAgaWYgKCRj
b25maWdfaF9kaXIgZXEgJy4nKQoJCXsKCQkgICRzdGFtcF9kaXIgPSAnJzsKCQl9CgkgICAgICBl
bHNlCgkJewoJCSAgJHN0YW1wX2RpciA9ICRjb25maWdfaF9kaXIgLiAnLyc7CgkJfQoJICAgIH0K
CgkgICMgVGhpcyB3aWxsIGFsc28gZGlzdHJpYnV0ZSBhbGwgaW5wdXRzLgoJICBAaW5zID0gcmV3
cml0ZV9pbnB1dHNfaW50b19kZXBlbmRlbmNpZXMgKCRjb25maWdfaF9wYXRoLCBAaW5zKTsKCgkg
ICMgQ2Fubm90IGRlZmluZSByZWJ1aWxkIHJ1bGVzIGZvciBmaWxlbmFtZXMgd2l0aCBzaGVsbCB2
YXJpYWJsZXMuCgkgIG5leHQgaWYgKHN1YnN0aXR1dGVfYWNfc3Vic3RfdmFyaWFibGVzICRjb25m
aWdfaF9wYXRoKSA9fiAvXCQvOwoKCSAgIyBIZWFkZXIgZGVmaW5lZCBpbiB0aGlzIGRpcmVjdG9y
eS4KCSAgbXkgQGZpbGVzOwoJICBpZiAoLWYgJGNvbmZpZ19oX3BhdGggLiAnLnRvcCcpCgkgICAg
ewoJICAgICAgcHVzaCAoQGZpbGVzLCAiJGNuX3NhbnNfZGlyLnRvcCIpOwoJICAgIH0KCSAgaWYg
KC1mICRjb25maWdfaF9wYXRoIC4gJy5ib3QnKQoJICAgIHsKCSAgICAgIHB1c2ggKEBmaWxlcywg
IiRjbl9zYW5zX2Rpci5ib3QiKTsKCSAgICB9CgoJICBwdXNoX2Rpc3RfY29tbW9uIChAZmlsZXMp
OwoKCSAgIyBGb3Igbm93LCBhY2NvbmZpZy5oIGNhbiBvbmx5IGFwcGVhciBpbiB0aGUgdG9wIHNy
Y2Rpci4KCSAgaWYgKC1mICdhY2NvbmZpZy5oJykKCSAgICB7CgkgICAgICBwdXNoIChAZmlsZXMs
ICckKHRvcF9zcmNkaXIpL2FjY29uZmlnLmgnKTsKCSAgICB9CgoJICBteSAkc3RhbXAgPSAiJHtz
dGFtcF9kaXJ9c3RhbXAtaCR7aGRyX2luZGV4fSI7CgkgICRvdXRwdXRfcnVsZXMgLj0KCSAgICBm
aWxlX2NvbnRlbnRzICgncmVtYWtlLWhkcicsCgkJCSAgIG5ldyBBdXRvbWFrZTo6TG9jYXRpb24s
CgkJCSAgIEZJTEVTICAgICAgICAgICAgPT4gIkBmaWxlcyIsCgkJCSAgICdGSVJTVC1IRFInICAg
ICAgPT4gKCRoZHJfaW5kZXggPT0gMSksCgkJCSAgIENPTkZJR19IICAgICAgICAgPT4gJGNuX3Nh
bnNfZGlyLAoJCQkgICBDT05GSUdfSElOICAgICAgID0+ICRpbnNbMF0sCgkJCSAgIENPTkZJR19I
X0RFUFMgICAgPT4gIkBpbnMiLAoJCQkgICBDT05GSUdfSF9QQVRIICAgID0+ICRjb25maWdfaF9w
YXRoLAoJCQkgICBTVEFNUCAgICAgICAgICAgID0+ICIkc3RhbXAiKTsKCgkgIHB1c2ggQGRpc3Rj
bGVhbl9jb25maWcsICRjbl9zYW5zX2RpciwgJHN0YW1wOwoJfQogICAgfQoKICAkb3V0cHV0X3J1
bGVzIC49IGZpbGVfY29udGVudHMgKCdjbGVhbi1oZHInLAoJCQkJICBuZXcgQXV0b21ha2U6Okxv
Y2F0aW9uLAoJCQkJICBGSUxFUyA9PiAiQGRpc3RjbGVhbl9jb25maWciKQogICAgaWYgQGRpc3Rj
bGVhbl9jb25maWc7CgogICMgRGlzdHJpYnV0ZSBhbmQgZGVmaW5lIG1raW5zdGFsbGRpcnMgb25s
eSBpZiBpdCBpcyBhbHJlYWR5IHByZXNlbnQKICAjIGluIHRoZSBwYWNrYWdlLCBmb3IgYmFja3dh
cmQgY29tcGF0aWJpbGl0eSAoc29tZSBwZW9wbGUgbWF5IHN0aWxsCiAgIyB1c2UgJChta2luc3Rh
bGxkaXJzKSkuCiAgIyBUT0RPOiBzdGFydCB3YXJuaW5nIGFib3V0IHRoaXMgaW4gQXV0b21ha2Ug
MS4xNCwgYW5kIGhhdmUKICAjIFRPRE86IEF1dG9tYWtlIDIuMCBkcm9wIGl0IChhbmQgdGhlIG1r
aW5zdGFsbGRpcnMgc2NyaXB0CiAgIyBUT0RPOiBhcyB3ZWxsKS4KICBteSAkbWtpZHBhdGggPSAi
JGNvbmZpZ19hdXhfZGlyL21raW5zdGFsbGRpcnMiOwogIGlmICgtZiAkbWtpZHBhdGgpCiAgICB7
CiAgICAgICMgVXNlIHJlcXVpcmVfZmlsZSBzbyB0aGF0IGFueSBleGlzdGluZyBzY3JpcHQgZ2V0
cyB1cGRhdGVkCiAgICAgICMgYnkgLS1mb3JjZS1taXNzaW5nLgogICAgICByZXF1aXJlX2NvbmZf
ZmlsZSAoJG1raWRwYXRoLCBGT1JFSUdOLCAnbWtpbnN0YWxsZGlycycpOwogICAgICBkZWZpbmVf
dmFyaWFibGUgKCdta2luc3RhbGxkaXJzJywKCQkgICAgICAgIlwkKFNIRUxMKSAkYW1fY29uZmln
X2F1eF9kaXIvbWtpbnN0YWxsZGlycyIsIElOVEVSTkFMKTsKICAgIH0KICBlbHNlCiAgICB7CiAg
ICAgICMgVXNlICQoaW5zdGFsbF9zaCksIG5vdCAkKE1LRElSX1ApIGJlY2F1c2UgdGhlIGxhdHRl
ciByZXF1aXJlcwogICAgICAjIGF0IGxlYXN0IG9uZSBhcmd1bWVudCwgYW5kICQobWtpbnN0YWxs
ZGlycykgdXNlZCB0byB3b3JrCiAgICAgICMgZXZlbiB3aXRob3V0IGFyZ3VtZW50cyAoZS5nLiAk
KG1raW5zdGFsbGRpcnMpICQoY29uZGl0aW9uYWxfZGlyKSkuCiAgICAgICMgQWxzbywgJChNS0RJ
Ul9QKSB1c2VzIHRoZSB1bWFzayBmb3IgYW55IGludGVybWVkaWF0ZSBkaXJlY3RvcmllcwogICAg
ICAjIGNyZWF0ZWQsIHdoZXJlYXMgd2Ugd2FudCB0aGVtIHRvIGJlIGNyZWF0ZWQgd2l0aCB1bWFz
ayAwMjIKICAgICAgIyBzbyB0aGF0IHRoZXkgYXJlIG1vZGUgNzU1LgogICAgICBkZWZpbmVfdmFy
aWFibGUgKCdta2luc3RhbGxkaXJzJywgJyQoaW5zdGFsbF9zaCkgLWQnLCBJTlRFUk5BTCk7CiAg
ICB9CgogIHJlamVjdF92YXIgKCdDT05GSUdfSEVBREVSJywKCSAgICAgICInQ09ORklHX0hFQURF
UicgaXMgYW4gYW5hY2hyb25pc207IG5vdyBkZXRlcm1pbmVkICIKCSAgICAgIC4gImF1dG9tYXRp
Y2FsbHlcbmZyb20gJyRjb25maWd1cmVfYWMnIik7CgogIG15IEBjb25maWdfaDsKICBmb3JlYWNo
IG15ICRzcGVjIChAY29uZmlnX2hlYWRlcnMpCiAgICB7CiAgICAgIG15ICgkb3V0LCBAaW5zKSA9
IHNwbGl0X2NvbmZpZ19maWxlX3NwZWMgKCRzcGVjKTsKICAgICAgIyBHZW5lcmF0ZSBDT05GSUdf
SEVBREVSIGRlZmluZS4KICAgICAgaWYgKCRyZWxhdGl2ZV9kaXIgZXEgZGlybmFtZSAoJG91dCkp
Cgl7CgkgIHB1c2ggQGNvbmZpZ19oLCBiYXNlbmFtZSAoJG91dCk7Cgl9CiAgICAgIGVsc2UKCXsK
CSAgcHVzaCBAY29uZmlnX2gsICJcJCh0b3BfYnVpbGRkaXIpLyRvdXQiOwoJfQogICAgfQogIGRl
ZmluZV92YXJpYWJsZSAoIkNPTkZJR19IRUFERVIiLCAiQGNvbmZpZ19oIiwgSU5URVJOQUwpCiAg
ICBpZiBAY29uZmlnX2g7CgogICMgTm93IGxvb2sgZm9yIG90aGVyIGZpbGVzIGluIHRoaXMgZGly
ZWN0b3J5IHdoaWNoIG11c3QgYmUgcmVtYWRlCiAgIyBieSBjb25maWcuc3RhdHVzLCBhbmQgZ2Vu
ZXJhdGUgcnVsZXMgZm9yIHRoZW0uCiAgbXkgQGFjdHVhbF9vdGhlcl9maWxlcyA9ICgpOwogICMg
VGhlc2UgZ2V0IGNsZWFuZWQgb25seSBpbiBhIFZQQVRIIGJ1aWxkLgogIG15IEBhY3R1YWxfb3Ro
ZXJfdnBhdGhfZmlsZXMgPSAoKTsKICBmb3JlYWNoIG15ICRsZmlsZSAoQG90aGVyX2lucHV0X2Zp
bGVzKQogICAgewogICAgICBteSAkZmlsZTsKICAgICAgbXkgQGlucHV0czsKICAgICAgaWYgKCRs
ZmlsZSA9fiAvXihbXjpdKik6KC4qKSQvKQoJewoJICAjIFRoaXMgaXMgdGhlICI6IiBzeW50YXgg
b2YgQUNfT1VUUFVULgoJICAkZmlsZSA9ICQxOwoJICBAaW5wdXRzID0gc3BsaXQgKCc6JywgJDIp
OwoJfQogICAgICBlbHNlCgl7CgkgICMgTm9ybWFsIHVzYWdlLgoJICAkZmlsZSA9ICRsZmlsZTsK
CSAgQGlucHV0cyA9ICRmaWxlIC4gJy5pbic7Cgl9CgogICAgICAjIEF1dG9tYWtlIGZpbGVzIHNo
b3VsZCBub3QgYmUgc3RvcmVkIGluIGhlcmUsIGJ1dCBpbiAlTUFLRV9MSVNULgogICAgICBwcm9n
X2Vycm9yICgiJGxmaWxlIGluIFxAb3RoZXJfaW5wdXRfZmlsZXNcbiIKCQkgIC4gIlxAb3RoZXJf
aW5wdXRfZmlsZXMgPSAoQG90aGVyX2lucHV0X2ZpbGVzKSIpCglpZiAtZiAkZmlsZSAuICcuYW0n
OwoKICAgICAgbXkgJGxvY2FsID0gYmFzZW5hbWUgKCRmaWxlKTsKCiAgICAgICMgV2Ugc2tpcCBm
aWxlcyB0aGF0IGFyZW4ndCBpbiB0aGlzIGRpcmVjdG9yeS4gIEhvd2V2ZXIsIGlmCiAgICAgICMg
dGhlIGZpbGUncyBkaXJlY3RvcnkgZG9lcyBub3QgaGF2ZSBhIE1ha2VmaWxlLCBhbmQgd2UgYXJl
CiAgICAgICMgY3VycmVudGx5IGRvaW5nICcuJywgdGhlbiB3ZSBjcmVhdGUgYSBydWxlIHRvIHJl
YnVpbGQgdGhlCiAgICAgICMgZmlsZSBpbiB0aGUgc3ViZGlyLgogICAgICBteSAkZmQgPSBkaXJu
YW1lICgkZmlsZSk7CiAgICAgIGlmICgkZmQgbmUgJHJlbGF0aXZlX2RpcikKCXsKCSAgaWYgKCRy
ZWxhdGl2ZV9kaXIgZXEgJy4nICYmICEgaXNfbWFrZV9kaXIgKCRmZCkpCgkgICAgewoJICAgICAg
JGxvY2FsID0gJGZpbGU7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgbmV4dDsKCSAgICB9
Cgl9CgogICAgICBteSBAcmV3cml0dGVuX2lucHV0cyA9IHJld3JpdGVfaW5wdXRzX2ludG9fZGVw
ZW5kZW5jaWVzICgkZmlsZSwgQGlucHV0cyk7CgogICAgICAjIENhbm5vdCBvdXRwdXQgcnVsZXMg
Zm9yIHNoZWxsIHZhcmlhYmxlcy4KICAgICAgbmV4dCBpZiAoc3Vic3RpdHV0ZV9hY19zdWJzdF92
YXJpYWJsZXMgJGxvY2FsKSA9fiAvXCQvOwoKICAgICAgbXkgJGNvbmRzdHIgPSAnJzsKICAgICAg
bXkgJGNvbmQgPSAkYWNfY29uZmlnX2ZpbGVzX2NvbmRpdGlvbnskbGZpbGV9OwogICAgICBpZiAo
ZGVmaW5lZCAkY29uZCkKICAgICAgICB7CgkgICRjb25kc3RyID0gJGNvbmQtPnN1YnN0X3N0cmlu
ZzsKCSAgQXV0b21ha2U6OlJ1bGU6OmRlZmluZSAoJGxvY2FsLCAkY29uZmlndXJlX2FjLCBSVUxF
X0FVVE9NQUtFLCAkY29uZCwKCQkJCSAgJGFjX2NvbmZpZ19maWxlc19sb2NhdGlvbnskZmlsZX0p
OwogICAgICAgIH0KICAgICAgJG91dHB1dF9ydWxlcyAuPSAoJGNvbmRzdHIgLiAkbG9jYWwgLiAn
OiAnCgkJCS4gJyQodG9wX2J1aWxkZGlyKS9jb25maWcuc3RhdHVzICcKCQkJLiAiQHJld3JpdHRl
bl9pbnB1dHNcbiIKCQkJLiAkY29uZHN0ciAuICJcdCIKCQkJLiAnY2QgJCh0b3BfYnVpbGRkaXIp
ICYmICcKCQkJLiAnJChTSEVMTCkgLi9jb25maWcuc3RhdHVzICcKCQkJLiAoJHJlbGF0aXZlX2Rp
ciBlcSAnLicgPyAnJyA6ICckKHN1YmRpcikvJykKCQkJLiAnJEAnCgkJCS4gIlxuIik7CiAgICAg
IHB1c2ggKEBhY3R1YWxfb3RoZXJfZmlsZXMsICRsb2NhbCk7CiAgICB9CgogICMgRm9yIGxpbmtz
IHdlIHNob3VsZCBjbGVhbiBkZXN0aW5hdGlvbnMgYW5kIGRpc3RyaWJ1dGUgc291cmNlcy4KICBm
b3JlYWNoIG15ICRzcGVjIChAY29uZmlnX2xpbmtzKQogICAgewogICAgICBteSAoJGxpbmssICRm
aWxlKSA9IHNwbGl0IC86LywgJHNwZWM7CiAgICAgICMgU29tZSBwZW9wbGUgZG8gQUNfQ09ORklH
X0xJTktTKCRjb21wdXRlZCkuICBXZSBvbmx5IGhhbmRsZQogICAgICAjIHRoZSBERVNUOlNSQyBm
b3JtLgogICAgICBuZXh0IHVubGVzcyAkZmlsZTsKICAgICAgbXkgJHdoZXJlID0gJGFjX2NvbmZp
Z19maWxlc19sb2NhdGlvbnskbGlua307CgogICAgICAjIFNraXAgZGVzdGluYXRpb25zIHRoYXQg
Y29udGFpbiBzaGVsbCB2YXJpYWJsZXMuCiAgICAgIGlmICgoc3Vic3RpdHV0ZV9hY19zdWJzdF92
YXJpYWJsZXMgJGxpbmspICF+IC9cJC8pCgl7CgkgICMgV2Ugc2tpcCBsaW5rcyB0aGF0IGFyZW4n
dCBpbiB0aGlzIGRpcmVjdG9yeS4gIEhvd2V2ZXIsIGlmCgkgICMgdGhlIGxpbmsncyBkaXJlY3Rv
cnkgZG9lcyBub3QgaGF2ZSBhIE1ha2VmaWxlLCBhbmQgd2UgYXJlCgkgICMgY3VycmVudGx5IGRv
aW5nICcuJywgdGhlbiB3ZSBhZGQgdGhlIGxpbmsgdG8gQ09ORklHX0NMRUFOX0ZJTEVTCgkgICMg
aW4gJy4ncyBNYWtlZmlsZS5pbi4KCSAgbXkgJGxvY2FsID0gYmFzZW5hbWUgKCRsaW5rKTsKCSAg
bXkgJGZkID0gZGlybmFtZSAoJGxpbmspOwoJICBpZiAoJGZkIG5lICRyZWxhdGl2ZV9kaXIpCgkg
ICAgewoJICAgICAgaWYgKCRyZWxhdGl2ZV9kaXIgZXEgJy4nICYmICEgaXNfbWFrZV9kaXIgKCRm
ZCkpCgkJewoJCSAgJGxvY2FsID0gJGxpbms7CgkJfQoJICAgICAgZWxzZQoJCXsKCQkgICRsb2Nh
bCA9IHVuZGVmOwoJCX0KCSAgICB9CgkgIGlmICgkZmlsZSBuZSAkbGluaykKCSAgICB7CgkgICAg
ICBwdXNoIEBhY3R1YWxfb3RoZXJfZmlsZXMsICRsb2NhbCBpZiAkbG9jYWw7CgkgICAgfQoJICBl
bHNlCgkgICAgewoJICAgICAgcHVzaCBAYWN0dWFsX290aGVyX3ZwYXRoX2ZpbGVzLCAkbG9jYWwg
aWYgJGxvY2FsOwoJICAgIH0KCX0KCiAgICAgICMgRG8gbm90IHByb2Nlc3Mgc291cmNlcyB0aGF0
IGNvbnRhaW4gc2hlbGwgdmFyaWFibGVzLgogICAgICBpZiAoKHN1YnN0aXR1dGVfYWNfc3Vic3Rf
dmFyaWFibGVzICRmaWxlKSAhfiAvXCQvKQoJewoJICBteSAkZmQgPSBkaXJuYW1lICgkZmlsZSk7
CgoJICAjIFdlIGRpc3RyaWJ1dGUgZmlsZXMgdGhhdCBhcmUgaW4gdGhpcyBkaXJlY3RvcnkuCgkg
ICMgQXQgdGhlIHRvcC1sZXZlbCAoJy4nKSB3ZSBhbHNvIGRpc3RyaWJ1dGUgZmlsZXMgd2hvc2UK
CSAgIyBkaXJlY3RvcnkgZG9lcyBub3QgaGF2ZSBhIE1ha2VmaWxlLgoJICBpZiAoKCRmZCBlcSAk
cmVsYXRpdmVfZGlyKQoJICAgICAgfHwgKCRyZWxhdGl2ZV9kaXIgZXEgJy4nICYmICEgaXNfbWFr
ZV9kaXIgKCRmZCkpKQoJICAgIHsKCSAgICAgICMgVGhlIGZvbGxvd2luZyB3aWxsIGRpc3RyaWJ1
dGUgJGZpbGUgYXMgYSBzaWRlLWVmZmVjdCB3aGVuCgkgICAgICAjIGl0IGlzIGFwcHJvcHJpYXRl
IChpLmUuLCB3aGVuICRmaWxlIGlzIG5vdCBhbHJlYWR5IGFuIG91dHB1dCkuCgkgICAgICAjIFdl
IGRvIG5vdCBuZWVkIHRoZSByZXN1bHQsIGp1c3QgdGhlIHNpZGUtZWZmZWN0LgoJICAgICAgcmV3
cml0ZV9pbnB1dHNfaW50b19kZXBlbmRlbmNpZXMgKCRsaW5rLCAkZmlsZSk7CgkgICAgfQoJfQog
ICAgfQoKICAjIFRoZXNlIGZpbGVzIGdldCByZW1vdmVkIGJ5ICJtYWtlIGRpc3RjbGVhbiIuCiAg
ZGVmaW5lX3ByZXR0eV92YXJpYWJsZSAoJ0NPTkZJR19DTEVBTl9GSUxFUycsIFRSVUUsIElOVEVS
TkFMLAoJCQkgIEBhY3R1YWxfb3RoZXJfZmlsZXMpOwogIGRlZmluZV9wcmV0dHlfdmFyaWFibGUg
KCdDT05GSUdfQ0xFQU5fVlBBVEhfRklMRVMnLCBUUlVFLCBJTlRFUk5BTCwKCQkJICBAYWN0dWFs
X290aGVyX3ZwYXRoX2ZpbGVzKTsKfQoKc3ViIGhhbmRsZV9oZWFkZXJzICgpCnsKICAgIG15IEBy
ID0gYW1faW5zdGFsbF92YXIgKCctZGVmYXVsdGRpc3QnLCAnaGVhZGVyJywgJ0hFQURFUlMnLCAn
aW5jbHVkZScsCgkJCSAgICAnb2xkaW5jbHVkZScsICdwa2dpbmNsdWRlJywKCQkJICAgICdub2lu
c3QnLCAnY2hlY2snKTsKICAgIGZvcmVhY2ggKEByKQogICAgewogICAgICBuZXh0IHVubGVzcyAk
Xy0+WzFdID1+IC9cLi4qJC87CiAgICAgIHNhd19leHRlbnNpb24gKCQmKTsKICAgIH0KfQoKc3Vi
IGhhbmRsZV9nZXR0ZXh0ICgpCnsKICByZXR1cm4gaWYgISAkc2Vlbl9nZXR0ZXh0IHx8ICRyZWxh
dGl2ZV9kaXIgbmUgJy4nOwoKICBteSAkc3ViZGlycyA9IHZhciAnU1VCRElSUyc7CgogIGlmICgh
ICRzdWJkaXJzKQogICAgewogICAgICBlcnJfYWMgIkFNX0dOVV9HRVRURVhUIHVzZWQgYnV0IFNV
QkRJUlMgbm90IGRlZmluZWQiOwogICAgICByZXR1cm47CiAgICB9CgogICMgUGVyZm9ybSBzb21l
IHNhbml0eSBjaGVja3MgdG8gaGVscCB1c2VycyBnZXQgdGhlIHJpZ2h0IHNldHVwLgogICMgV2Ug
ZGlzYWJsZSB0aGVzZSB0ZXN0cyB3aGVuIHBvLyBkb2Vzbid0IGV4aXN0IGluIG9yZGVyIG5vdCB0
byBkaXNhbGxvdwogICMgdW51c3VhbCBnZXR0ZXh0IHNldHVwcy4KICAjCiAgIyBCcnVubyBIYWli
bGU6CiAgIyB8IFRoZSBpZGVhIGlzOgogICMgfAogICMgfCAgMSkgSWYgYSBwYWNrYWdlIGRvZXNu
J3QgaGF2ZSBhIGRpcmVjdG9yeSBwby8gYXQgdG9wIGxldmVsLCBpdAogICMgfCAgICAgd2lsbCBs
aWtlbHkgaGF2ZSBtdWx0aXBsZSBwby8gZGlyZWN0b3JpZXMgaW4gc3VicGFja2FnZXMuCiAgIyB8
CiAgIyB8ICAyKSBJdCBpcyB1c2VmdWwgdG8gd2FybiBmb3IgdGhlIGFic2VuY2Ugb2YgaW50bC8g
aWYgQU1fR05VX0dFVFRFWFQKICAjIHwgICAgIGlzIHVzZWQgd2l0aG91dCAnZXh0ZXJuYWwnLiBJ
dCBpcyBhbHNvIHVzZWZ1bCB0byB3YXJuIGZvciB0aGUKICAjIHwgICAgIHByZXNlbmNlIG9mIGlu
dGwvIGlmIEFNX0dOVV9HRVRURVhUKFtleHRlcm5hbF0pIGlzIHVzZWQuIEJvdGgKICAjIHwgICAg
IHdhcm5pbmdzIGFwcGx5IG9ubHkgdG8gdGhlIHVzdWFsIGxheW91dCBvZiBwYWNrYWdlcywgdGhl
cmVmb3JlCiAgIyB8ICAgICB0aGV5IHNob3VsZCBib3RoIGJlIGRpc2FibGVkIGlmIG5vIHBvLyBk
aXJlY3RvcnkgaXMgZm91bmQgYXQKICAjIHwgICAgIHRvcCBsZXZlbC4KCiAgaWYgKC1kICdwbycp
CiAgICB7CiAgICAgIG15IEBzdWJkaXJzID0gJHN1YmRpcnMtPnZhbHVlX2FzX2xpc3RfcmVjdXJz
aXZlOwoKICAgICAgbXNnX3ZhciAoJ3N5bnRheCcsICRzdWJkaXJzLAoJICAgICAgICJBTV9HTlVf
R0VUVEVYVCB1c2VkIGJ1dCAncG8nIG5vdCBpbiBTVUJESVJTIikKCWlmICEgZ3JlcCAoJF8gZXEg
J3BvJywgQHN1YmRpcnMpOwoKICAgICAgIyBpbnRsLyBpcyBub3QgcmVxdWlyZWQgd2hlbiBBTV9H
TlVfR0VUVEVYVCBpcyBjYWxsZWQgd2l0aCB0aGUKICAgICAgIyAnZXh0ZXJuYWwnIG9wdGlvbiBh
bmQgQU1fR05VX0dFVFRFWFRfSU5UTF9TVUJESVIgaXMgbm90IGNhbGxlZC4KICAgICAgbXNnX3Zh
ciAoJ3N5bnRheCcsICRzdWJkaXJzLAoJICAgICAgICJBTV9HTlVfR0VUVEVYVCB1c2VkIGJ1dCAn
aW50bCcgbm90IGluIFNVQkRJUlMiKQoJaWYgKCEgKCRzZWVuX2dldHRleHRfZXh0ZXJuYWwgJiYg
ISAkc2Vlbl9nZXR0ZXh0X2ludGwpCgkgICAgJiYgISBncmVwICgkXyBlcSAnaW50bCcsIEBzdWJk
aXJzKSk7CgogICAgICAjIGludGwvIHNob3VsZCBub3QgYmUgdXNlZCB3aXRoIEFNX0dOVV9HRVRU
RVhUKFtleHRlcm5hbF0pLCBleGNlcHQKICAgICAgIyBpZiBBTV9HTlVfR0VUVEVYVF9JTlRMX1NV
QkRJUiBpcyBjYWxsZWQuCiAgICAgIG1zZ192YXIgKCdzeW50YXgnLCAkc3ViZGlycywKCSAgICAg
ICAiJ2ludGwnIHNob3VsZCBub3QgYmUgaW4gU1VCRElSUyB3aGVuICIKCSAgICAgICAuICJBTV9H
TlVfR0VUVEVYVChbZXh0ZXJuYWxdKSBpcyB1c2VkIikKCWlmICgkc2Vlbl9nZXR0ZXh0X2V4dGVy
bmFsICYmICEgJHNlZW5fZ2V0dGV4dF9pbnRsCgkgICAgJiYgZ3JlcCAoJF8gZXEgJ2ludGwnLCBA
c3ViZGlycykpOwogICAgfQogIHJlcXVpcmVfZmlsZSAoJGFjX2dldHRleHRfbG9jYXRpb24sIEdO
SVRTLCAnQUJPVVQtTkxTJyk7Cn0KCiMgRW1pdCBtYWtlZmlsZSBmb290ZXIuCnN1YiBoYW5kbGVf
Zm9vdGVyICgpCnsKICAgIHJlamVjdF9ydWxlICgnLlNVRkZJWEVTJywKCQkgInVzZSB2YXJpYWJs
ZSAnU1VGRklYRVMnLCBub3QgdGFyZ2V0ICcuU1VGRklYRVMnIik7CgogICAgIyBOb3RlOiBBSVgg
NC4xIC9iaW4vbWFrZSB3aWxsIGZhaWwgaWYgYW55IHN1ZmZpeCBydWxlIGFwcGVhcnMKICAgICMg
YmVmb3JlIC5TVUZGSVhFUy4gIFNvIHdlIG1ha2Ugc3VyZSB0aGF0IC5TVUZGSVhFUyBhcHBlYXJz
IGJlZm9yZQogICAgIyBhbnl0aGluZyBlbHNlLCBieSBzdGlja2luZyBpdCByaWdodCBhZnRlciB0
aGUgZGVmYXVsdDogdGFyZ2V0LgogICAgJG91dHB1dF9oZWFkZXIgLj0gIi5TVUZGSVhFUzpcbiI7
CiAgICBteSAkc3VmZml4ZXMgPSB2YXIgJ1NVRkZJWEVTJzsKICAgIG15IEBzdWZmaXhlcyA9IEF1
dG9tYWtlOjpSdWxlOjpzdWZmaXhlczsKICAgIGlmIChAc3VmZml4ZXMgfHwgJHN1ZmZpeGVzKQog
ICAgewoJIyBNYWtlIHN1cmUgU1VGRklYRVMgaGFzIHVuaXF1ZSBlbGVtZW50cy4gIFNvcnQgdGhl
bSB0byBlbnN1cmUKCSMgdGhlIG91dHB1dCByZW1haW5zIGNvbnNpc3RlbnQuICBIb3dldmVyLCAk
KFNVRkZJWEVTKSBpcwoJIyBhbHdheXMgYXQgdGhlIHN0YXJ0IG9mIHRoZSBsaXN0LCB1bnNvcnRl
ZC4gIFRoaXMgaXMgZG9uZQoJIyBiZWNhdXNlIG1ha2Ugd2lsbCBjaG9vc2UgcnVsZXMgZGVwZW5k
aW5nIG9uIHRoZSBvcmRlcmluZyBvZgoJIyBzdWZmaXhlcywgYW5kIHRoaXMgbGV0cyB0aGUgdXNl
ciBoYXZlIHNvbWUgY29udHJvbC4gIFB1c2gKCSMgYWN0dWFsIHN1ZmZpeGVzLCBhbmQgbm90ICQo
U1VGRklYRVMpLiAgU29tZSB2ZXJzaW9ucyBvZiBtYWtlCgkjIGRvIG5vdCBsaWtlIHZhcmlhYmxl
IHN1YnN0aXR1dGlvbnMgb24gdGhlIC5TVUZGSVhFUyBsaW5lLgoJbXkgQHVzZXJfc3VmZml4ZXMg
PSAoJHN1ZmZpeGVzCgkJCSAgICAgPyAkc3VmZml4ZXMtPnZhbHVlX2FzX2xpc3RfcmVjdXJzaXZl
IDogKCkpOwoKCW15ICVzdWZmaXhlcyA9IG1hcCB7ICRfID0+IDEgfSBAc3VmZml4ZXM7CglkZWxl
dGUgQHN1ZmZpeGVze0B1c2VyX3N1ZmZpeGVzfTsKCgkkb3V0cHV0X2hlYWRlciAuPSAoIi5TVUZG
SVhFUzogIgoJCQkgICAuIGpvaW4gKCcgJywgQHVzZXJfc3VmZml4ZXMsIHNvcnQga2V5cyAlc3Vm
Zml4ZXMpCgkJCSAgIC4gIlxuIik7CiAgICB9CgogICAgJG91dHB1dF90cmFpbGVyIC49IGZpbGVf
Y29udGVudHMgKCdmb290ZXInLCBuZXcgQXV0b21ha2U6OkxvY2F0aW9uKTsKfQoKCiMgR2VuZXJh
dGUgJ21ha2UgaW5zdGFsbCcgcnVsZXMuCnN1YiBoYW5kbGVfaW5zdGFsbCAoKQp7CiAgJG91dHB1
dF9ydWxlcyAuPSBmaWxlX2NvbnRlbnRzCiAgICAoJ2luc3RhbGwnLAogICAgIG5ldyBBdXRvbWFr
ZTo6TG9jYXRpb24sCiAgICAgbWF5YmVfQlVJTFRfU09VUkNFUyA9PiAoc2V0X3NlZW4gKCdCVUlM
VF9TT1VSQ0VTJykKCQkJICAgICA/ICgiIFwkKEJVSUxUX1NPVVJDRVMpXG4iCgkJCQkuICJcdFwk
KE1BS0UpIFwkKEFNX01BS0VGTEFHUykiKQoJCQkgICAgIDogJycpLAogICAgICdpbnN0YWxsZGly
cy1sb2NhbCcgPT4gKHVzZXJfcGhvbnlfcnVsZSAoJ2luc3RhbGxkaXJzLWxvY2FsJykKCQkJICAg
ICA/ICcgaW5zdGFsbGRpcnMtbG9jYWwnIDogJycpLAogICAgIGFtX19pbnN0YWxsZGlycyA9PiB2
YXJpYWJsZV92YWx1ZSAoJ2FtX19pbnN0YWxsZGlycycpIHx8ICcnKTsKfQoKCiMgaGFuZGxlX2Fs
bCAoJE1BS0VGSUxFKQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBEZWFsIHdpdGggJ2FsbCcg
YW5kICdhbGwtYW0nLgpzdWIgaGFuZGxlX2FsbAp7CiAgICBteSAoJG1ha2VmaWxlKSA9IEBfOwoK
ICAgICMgT3V0cHV0ICdhbGwtYW0nLgoKICAgICMgUHV0IHRoaXMgYXQgdGhlIGJlZ2lubmluZyBm
b3IgdGhlIHNha2Ugb2Ygbm9uLUdOVSBtYWtlcy4gIFRoaXMKICAgICMgaXMgc3RpbGwgd3Jvbmcg
aWYgdGhlc2UgbWFrZXMgY2FuIHJ1biBwYXJhbGxlbCBqb2JzLiAgQnV0IGl0IGlzCiAgICAjIHJp
Z2h0IGVub3VnaC4KICAgIHVuc2hpZnQgKEBhbGwsIGJhc2VuYW1lICgkbWFrZWZpbGUpKTsKCiAg
ICBmb3JlYWNoIG15ICRzcGVjIChAY29uZmlnX2hlYWRlcnMpCiAgICAgIHsKCW15ICgkb3V0LCBA
aW5zKSA9IHNwbGl0X2NvbmZpZ19maWxlX3NwZWMgKCRzcGVjKTsKCXB1c2ggKEBhbGwsIGJhc2Vu
YW1lICgkb3V0KSkKCSAgaWYgZGlybmFtZSAoJG91dCkgZXEgJHJlbGF0aXZlX2RpcjsKICAgICAg
fQoKICAgICMgSW5zdGFsbCAnYWxsJyBob29rcy4KICAgIHB1c2ggKEBhbGwsICJhbGwtbG9jYWwi
KQogICAgICBpZiB1c2VyX3Bob255X3J1bGUgImFsbC1sb2NhbCI7CgogICAgcHJldHR5X3ByaW50
X3J1bGUgKCJhbGwtYW06IiwgIlx0XHQiLCBAYWxsKTsKICAgIGRlcGVuZCAoJy5QSE9OWScsICdh
bGwtYW0nLCAnYWxsJyk7CgoKICAgICMgT3V0cHV0ICdhbGwnLgoKICAgIG15IEBsb2NhbF9oZWFk
ZXJzID0gKCk7CiAgICBwdXNoIEBsb2NhbF9oZWFkZXJzLCAnJChCVUlMVF9TT1VSQ0VTKScKICAg
ICAgaWYgdmFyICgnQlVJTFRfU09VUkNFUycpOwogICAgZm9yZWFjaCBteSAkc3BlYyAoQGNvbmZp
Z19oZWFkZXJzKQogICAgICB7CglteSAoJG91dCwgQGlucykgPSBzcGxpdF9jb25maWdfZmlsZV9z
cGVjICgkc3BlYyk7CglwdXNoIEBsb2NhbF9oZWFkZXJzLCBiYXNlbmFtZSAoJG91dCkKCSAgaWYg
ZGlybmFtZSAoJG91dCkgZXEgJHJlbGF0aXZlX2RpcjsKICAgICAgfQoKICAgIGlmIChAbG9jYWxf
aGVhZGVycykKICAgICAgewoJIyBXZSBuZWVkIHRvIG1ha2Ugc3VyZSBjb25maWcuaCBpcyBidWls
dCBiZWZvcmUgd2UgcmVjdXJzZS4KCSMgV2UgYWxzbyB3YW50IHRvIG1ha2Ugc3VyZSB0aGF0IGJ1
aWx0IHNvdXJjZXMgYXJlIGJ1aWx0CgkjIGJlZm9yZSBhbnkgb3JkaW5hcnkgJ2FsbCcgdGFyZ2V0
cyBhcmUgcnVuLiAgV2UgY2FuJ3QgZG8gdGhpcwoJIyBieSBjaGFuZ2luZyB0aGUgb3JkZXIgb2Yg
ZGVwZW5kZW5jaWVzIHRvIHRoZSAiYWxsIiBiZWNhdXNlCgkjIHRoYXQgYnJlYWtzIHdoZW4gdXNp
bmcgcGFyYWxsZWwgbWFrZXMuICBJbnN0ZWFkIHdlIGhhbmRsZQoJIyB0aGluZ3MgZXhwbGljaXRs
eS4KCSRvdXRwdXRfYWxsIC49ICgiYWxsOiBAbG9jYWxfaGVhZGVycyIKCQkJLiAiXG5cdCIKCQkJ
LiAnJChNQUtFKSAkKEFNX01BS0VGTEFHUykgJwoJCQkuICh2YXIgKCdTVUJESVJTJykgPyAnYWxs
LXJlY3Vyc2l2ZScgOiAnYWxsLWFtJykKCQkJLiAiXG5cbiIpOwogICAgICAgIGRlcGVuZCAoJy5N
QUtFJywgJ2FsbCcpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRvdXRwdXRfYWxsIC49ICJh
bGw6ICIgLiAodmFyICgnU1VCRElSUycpCgkJCQkgID8gJ2FsbC1yZWN1cnNpdmUnIDogJ2FsbC1h
bScpIC4gIlxuXG4iOwogICAgICB9Cn0KCiMgR2VuZXJhdGUgaGVscGVyIHRhcmdldHMgZm9yIHVz
ZXItZGVmaW5lZCByZWN1cnNpdmUgdGFyZ2V0cywgd2hlcmUgbmVlZGVkLgpzdWIgaGFuZGxlX3Vz
ZXJfcmVjdXJzaW9uICgpCnsKICByZXR1cm4gdW5sZXNzIEBleHRyYV9yZWN1cnNpdmVfdGFyZ2V0
czsKCiAgZGVmaW5lX3ByZXR0eV92YXJpYWJsZSAoJ2FtX19leHRyYV9yZWN1cnNpdmVfdGFyZ2V0
cycsIFRSVUUsIElOVEVSTkFMLAogICAgICAgICAgICAgICAgICAgICAgICAgIG1hcCB7ICIkXy1y
ZWN1cnNpdmUiIH0gQGV4dHJhX3JlY3Vyc2l2ZV90YXJnZXRzKTsKICBteSAkYXV4ID0gdmFyICgn
U1VCRElSUycpID8gJ3JlY3Vyc2l2ZScgOiAnYW0nOwogIGZvcmVhY2ggbXkgJHRhcmdldCAoQGV4
dHJhX3JlY3Vyc2l2ZV90YXJnZXRzKQogICAgewogICAgICAjIFRoaXMgYWxsb3dzIHRoZSBkZWZh
dWx0IHRhcmdldCdzIHJ1bGVzIHRvIGJlIG92ZXJyaWRkZW4gaW4KICAgICAgIyBNYWtlZmlsZS5h
bS4KICAgICAgdXNlcl9waG9ueV9ydWxlICgkdGFyZ2V0KTsKICAgICAgZGVwZW5kICgiJHRhcmdl
dCIsICIkdGFyZ2V0LSRhdXgiKTsKICAgICAgZGVwZW5kICgiJHRhcmdldC1hbSIsICIkdGFyZ2V0
LWxvY2FsIik7CiAgICAgICMgRXZlcnkgdXNlci1kZWZpbmVkIHJlY3Vyc2l2ZSB0YXJnZXQgJ2Zv
bycgKm11c3QqIGhhdmUgYSB2YWxpZAogICAgICAjIGFzc29jaWF0ZWQgJ2Zvby1sb2NhbCcgcnVs
ZTsgd2UgZGVmaW5lIGl0IGFzIGFuIGVtcHR5IHJ1bGUgYnkKICAgICAgIyBkZWZhdWx0LCBzbyB0
aGF0IHRoZSB1c2VyIGNhbiB0cmFuc3BhcmVudGx5IGV4dGVuZCBpdCBpbiBoaXMKICAgICAgIyBv
d24gTWFrZWZpbGUuYW0uCiAgICAgIHByZXR0eV9wcmludF9ydWxlICgiJHRhcmdldC1sb2NhbDoi
LCAnJywgJycpOwogICAgICAjICR0YXJnZXQtcmVjdXJzaXZlIG1pZ2h0IGFzIHdlbGwgYmUgdW5k
ZWZpbmVkLCBzbyBkbyBub3QgYWRkCiAgICAgICMgaXQgaGVyZTsgaXQncyB0YWtlbiBjYXJlIG9m
IGluIHN1YmRpcnMuYW0gYW55d2F5LgogICAgICBkZXBlbmQgKCIuUEhPTlkiLCAiJHRhcmdldC1h
bSIsICIkdGFyZ2V0LWxvY2FsIik7CiAgICB9Cn0KCgojIEhhbmRsZSBjaGVjayBtZXJnZSB0YXJn
ZXQgc3BlY2lhbGx5LgpzdWIgZG9fY2hlY2tfbWVyZ2VfdGFyZ2V0ICgpCnsKICAjIEluY2x1ZGUg
dXNlci1kZWZpbmVkIGxvY2FsIGZvcm0gb2YgdGFyZ2V0LgogIHB1c2ggQGNoZWNrX3Rlc3RzLCAn
Y2hlY2stbG9jYWwnCiAgICBpZiB1c2VyX3Bob255X3J1bGUgJ2NoZWNrLWxvY2FsJzsKCiAgIyBU
aGUgY2hlY2sgdGFyZ2V0IG11c3QgZGVwZW5kIG9uIHRoZSBsb2NhbCBlcXVpdmFsZW50IG9mCiAg
IyAnYWxsJywgdG8gZW5zdXJlIGFsbCB0aGUgcHJpbWFyeSB0YXJnZXRzIGFyZSBidWlsdC4gIFRo
ZW4gaXQKICAjIG11c3QgYnVpbGQgdGhlIGxvY2FsIGNoZWNrIHJ1bGVzLgogICRvdXRwdXRfcnVs
ZXMgLj0gImNoZWNrLWFtOiBhbGwtYW1cbiI7CiAgaWYgKEBjaGVjaykKICAgIHsKICAgICAgcHJl
dHR5X3ByaW50X3J1bGUgKCJcdFwkKE1BS0UpIFwkKEFNX01BS0VGTEFHUykiLCAiXHQgICIsIEBj
aGVjayk7CiAgICAgIGRlcGVuZCAoJy5NQUtFJywgJ2NoZWNrLWFtJyk7CiAgICB9CgogIGlmIChA
Y2hlY2tfdGVzdHMpCiAgICB7CiAgICAgIHByZXR0eV9wcmludF9ydWxlICgiXHRcJChNQUtFKSBc
JChBTV9NQUtFRkxBR1MpIiwgIlx0ICAiLAoJCQkgQGNoZWNrX3Rlc3RzKTsKICAgICAgZGVwZW5k
ICgnLk1BS0UnLCAnY2hlY2stYW0nKTsKICAgIH0KCiAgZGVwZW5kICcuUEhPTlknLCAnY2hlY2sn
LCAnY2hlY2stYW0nOwogICMgSGFuZGxlIHJlY3Vyc2lvbi4gIFdlIGhhdmUgdG8gaG9ub3IgQlVJ
TFRfU09VUkNFUyBsaWtlIGZvciAnYWxsOicuCiAgJG91dHB1dF9ydWxlcyAuPSAoImNoZWNrOiAi
CgkJICAgIC4gKHZhciAoJ0JVSUxUX1NPVVJDRVMnKQoJCSAgICAgICA/ICJcJChCVUlMVF9TT1VS
Q0VTKVxuXHRcJChNQUtFKSBcJChBTV9NQUtFRkxBR1MpICIKCQkgICAgICAgOiAnJykKCQkgICAg
LiAodmFyICgnU1VCRElSUycpID8gJ2NoZWNrLXJlY3Vyc2l2ZScgOiAnY2hlY2stYW0nKQoJCSAg
ICAuICJcbiIpOwogIGRlcGVuZCAoJy5NQUtFJywgJ2NoZWNrJykKICAgIGlmIHZhciAoJ0JVSUxU
X1NPVVJDRVMnKTsKfQoKIyBIYW5kbGUgYWxsICdjbGVhbicgdGFyZ2V0cy4Kc3ViIGhhbmRsZV9j
bGVhbgp7CiAgbXkgKCRtYWtlZmlsZSkgPSBAXzsKCiAgIyBDbGVhbiB0aGUgZmlsZXMgbGlzdGVk
IGluIHVzZXIgdmFyaWFibGVzIGlmIHRoZXkgZXhpc3QuCiAgJGNsZWFuX2ZpbGVzeyckKE1PU1RM
WUNMRUFORklMRVMpJ30gPSBNT1NUTFlfQ0xFQU4KICAgIGlmIHZhciAoJ01PU1RMWUNMRUFORklM
RVMnKTsKICAkY2xlYW5fZmlsZXN7JyQoQ0xFQU5GSUxFUyknfSA9IENMRUFOCiAgICBpZiB2YXIg
KCdDTEVBTkZJTEVTJyk7CiAgJGNsZWFuX2ZpbGVzeyckKERJU1RDTEVBTkZJTEVTKSd9ID0gRElT
VF9DTEVBTgogICAgaWYgdmFyICgnRElTVENMRUFORklMRVMnKTsKICAkY2xlYW5fZmlsZXN7JyQo
TUFJTlRBSU5FUkNMRUFORklMRVMpJ30gPSBNQUlOVEFJTkVSX0NMRUFOCiAgICBpZiB2YXIgKCdN
QUlOVEFJTkVSQ0xFQU5GSUxFUycpOwoKICAjIEJ1aWx0IHNvdXJjZXMgYXJlIGF1dG9tYXRpY2Fs
bHkgcmVtb3ZlZCBieSBtYWludGFpbmVyLWNsZWFuLgogICRjbGVhbl9maWxlc3snJChCVUlMVF9T
T1VSQ0VTKSd9ID0gTUFJTlRBSU5FUl9DTEVBTgogICAgaWYgdmFyICgnQlVJTFRfU09VUkNFUycp
OwoKICAjIENvbXB1dGUgYSBsaXN0IG9mICJybSJzIHRvIHJ1biBmb3IgZWFjaCB0YXJnZXQuCiAg
bXkgJXJtcyA9IChNT1NUTFlfQ0xFQU4sIFtdLAoJICAgICBDTEVBTiwgW10sCgkgICAgIERJU1Rf
Q0xFQU4sIFtdLAoJICAgICBNQUlOVEFJTkVSX0NMRUFOLCBbXSk7CgogIGZvcmVhY2ggbXkgJGZp
bGUgKHNvcnQga2V5cyAlY2xlYW5fZmlsZXMpCiAgICB7CiAgICAgIG15ICR3aGVuID0gJGNsZWFu
X2ZpbGVzeyRmaWxlfTsKICAgICAgcHJvZ19lcnJvciAnaW52YWxpZCBlbnRyeSBpbiAlY2xlYW5f
ZmlsZXMnCgl1bmxlc3MgZXhpc3RzICRybXN7JHdoZW59OwoKICAgICAgcHVzaCBAeyRybXN7JHdo
ZW59fSwgIlx0LVwkKGFtX19ybV9mKSAkZmlsZVxuIjsKICAgIH0KCiAgJG91dHB1dF9ydWxlcyAu
PSBmaWxlX2NvbnRlbnRzCiAgICAoJ2NsZWFuJywKICAgICBuZXcgQXV0b21ha2U6OkxvY2F0aW9u
LAogICAgIE1PU1RMWUNMRUFOX1JNUyAgICAgID0+IGpvaW4gKCcnLCBzb3J0IEB7JHJtc3smTU9T
VExZX0NMRUFOfX0pLAogICAgIENMRUFOX1JNUyAgICAgICAgICAgID0+IGpvaW4gKCcnLCBzb3J0
IEB7JHJtc3smQ0xFQU59fSksCiAgICAgRElTVENMRUFOX1JNUyAgICAgICAgPT4gam9pbiAoJycs
IHNvcnQgQHskcm1zeyZESVNUX0NMRUFOfX0pLAogICAgIE1BSU5UQUlORVJfQ0xFQU5fUk1TID0+
IGpvaW4gKCcnLCBzb3J0IEB7JHJtc3smTUFJTlRBSU5FUl9DTEVBTn19KSwKICAgICBNQUtFRklM
RSAgICAgICAgICAgICA9PiBiYXNlbmFtZSAkbWFrZWZpbGUsCiAgICAgKTsKfQoKCiMgU3Vicm91
dGluZSBmb3IgaGFuZGxlX2ZhY3RvcmVkX2RlcGVuZGVuY2llcygpIHRvIGxldCAnLlBIT05ZJyBh
bmQKIyBvdGhlciAnLlRBUkdFVFMnIGJlIGxhc3QuICBUaGlzIGlzIG1lYW50IHRvIGJlIHVzZWQg
YXMgYSBjb21wYXJpc29uCiMgc3Vicm91dGluZSBwYXNzZWQgdG8gdGhlIHNvcnQgYnVpbHQtaW50
LgpzdWIgdGFyZ2V0X2NtcAp7CiAgcmV0dXJuIDAgaWYgJGEgZXEgJGI7CgogIG15ICRhMSA9IHN1
YnN0ciAoJGEsIDAsIDEpOwogIG15ICRiMSA9IHN1YnN0ciAoJGIsIDAsIDEpOwogIGlmICgkYTEg
bmUgJGIxKQogICAgewogICAgICByZXR1cm4gLTEgaWYgJGIxIGVxICcuJzsKICAgICAgcmV0dXJu
IDEgaWYgJGExIGVxICcuJzsKICAgIH0KICByZXR1cm4gJGEgY21wICRiOwp9CgoKIyBIYW5kbGUg
ZXZlcnl0aGluZyByZWxhdGVkIHRvIGdhdGhlcmVkIHRhcmdldHMuCnN1YiBoYW5kbGVfZmFjdG9y
ZWRfZGVwZW5kZW5jaWVzICgpCnsKICAjIFJlamVjdCBiYWQgaG9va3MuCiAgZm9yZWFjaCBteSAk
dXRhcmcgKCd1bmluc3RhbGwtZGF0YS1sb2NhbCcsICd1bmluc3RhbGwtZGF0YS1ob29rJywKCQkg
ICAgICd1bmluc3RhbGwtZXhlYy1sb2NhbCcsICd1bmluc3RhbGwtZXhlYy1ob29rJywKCQkgICAg
ICd1bmluc3RhbGwtZHZpLWxvY2FsJywKCQkgICAgICd1bmluc3RhbGwtaHRtbC1sb2NhbCcsCgkJ
ICAgICAndW5pbnN0YWxsLWluZm8tbG9jYWwnLAoJCSAgICAgJ3VuaW5zdGFsbC1wZGYtbG9jYWwn
LAoJCSAgICAgJ3VuaW5zdGFsbC1wcy1sb2NhbCcpCiAgICB7CiAgICAgIG15ICR4ID0gJHV0YXJn
OwogICAgICAkeCA9fiBzLy0uKi0vLS87CiAgICAgIHJlamVjdF9ydWxlICgkdXRhcmcsICJ1c2Ug
JyR4Jywgbm90ICckdXRhcmcnIik7CiAgICB9CgogIHJlamVjdF9ydWxlICgnaW5zdGFsbC1sb2Nh
bCcsCgkgICAgICAgInVzZSAnaW5zdGFsbC1kYXRhLWxvY2FsJyBvciAnaW5zdGFsbC1leGVjLWxv
Y2FsJywgIgoJICAgICAgIC4gIm5vdCAnaW5zdGFsbC1sb2NhbCciKTsKCiAgcmVqZWN0X3J1bGUg
KCdpbnN0YWxsLWhvb2snLAoJICAgICAgICJ1c2UgJ2luc3RhbGwtZGF0YS1ob29rJyBvciAnaW5z
dGFsbC1leGVjLWhvb2snLCAiCgkgICAgICAgLiAibm90ICdpbnN0YWxsLWhvb2snIik7CgogICMg
SW5zdGFsbCB0aGUgLWxvY2FsIGhvb2tzLgogIGZvcmVhY2ggKHNvcnQga2V5cyAlZGVwZW5kZW5j
aWVzKQogICAgewogICAgICAjIEhvb2tzIGFyZSBpbnN0YWxsZWQgb24gdGhlIC1hbSB0YXJnZXRz
LgogICAgICBzLy1hbSQvLyBvciBuZXh0OwogICAgICBkZXBlbmQgKCIkXy1hbSIsICIkXy1sb2Nh
bCIpCglpZiB1c2VyX3Bob255X3J1bGUgIiRfLWxvY2FsIjsKICAgIH0KCiAgIyBJbnN0YWxsIHRo
ZSAtaG9vayBob29rcy4KICAjIEZJWE1FOiBXaHkgbm90IGJlIGFzIGxpYmVyYWwgYXMgd2UgYXJl
IHdpdGggLWxvY2FsIGhvb2tzPwogIGZvcmVhY2ggKCdpbnN0YWxsLWV4ZWMnLCAnaW5zdGFsbC1k
YXRhJywgJ3VuaW5zdGFsbCcpCiAgICB7CiAgICAgIGlmICh1c2VyX3Bob255X3J1bGUgIiRfLWhv
b2siKQoJewoJICBkZXBlbmQgKCcuTUFLRScsICIkXy1hbSIpOwoJICByZWdpc3Rlcl9hY3Rpb24o
IiRfLWFtIiwKCQkJICAoIlx0XEBcJChOT1JNQUxfSU5TVEFMTClcbiIKCQkJICAgLiAiXHRcJChN
QUtFKSBcJChBTV9NQUtFRkxBR1MpICRfLWhvb2siKSk7Cgl9CiAgICB9CgogICMgQWxsIHRoZSBy
ZXF1aXJlZCB0YXJnZXRzIGFyZSBwaG9ueS4KICBkZXBlbmQgKCcuUEhPTlknLCBzb3J0IGtleXMg
JXJlcXVpcmVkX3RhcmdldHMpOwoKICAjIEFjdHVhbGx5IG91dHB1dCBnYXRoZXJlZCB0YXJnZXRz
LgogIGZvcmVhY2ggKHNvcnQgdGFyZ2V0X2NtcCBrZXlzICVkZXBlbmRlbmNpZXMpCiAgICB7CiAg
ICAgICMgSWYgdGhlcmUgaXMgbm90aGluZyBhYm91dCB0aGlzIGd1eSwgc2tpcCBpdC4KICAgICAg
bmV4dAoJdW5sZXNzIChAeyRkZXBlbmRlbmNpZXN7JF99fQoJCXx8ICRhY3Rpb25zeyRffQoJCXx8
ICRyZXF1aXJlZF90YXJnZXRzeyRffSk7CgogICAgICAjIERlZmluZSBnYXRoZXJlZCB0YXJnZXRz
IGluIHVuZGVmaW5lZCBjb25kaXRpb25zLgogICAgICAjIEZJWE1FOiBSaWdodCBub3cgd2UgbXVz
dCBoYW5kbGUgLlBIT05ZIGFzIGFuIGV4Y2VwdGlvbiwKICAgICAgIyBiZWNhdXNlIHBlb3BsZSB3
cml0ZSB0aGluZ3MgbGlrZQogICAgICAjICAgIC5QSE9OWTogbXlwaG9ueXRhcmdldAogICAgICAj
IHRvIGFwcGVuZCBkZXBlbmRlbmNpZXMuICBUaGlzIHdvdWxkIG5vdCB3b3JrIGlmIEF1dG9tYWtl
CiAgICAgICMgcmVmcmFpbmVkIGZyb20gZGVmaW5pbmcgaXRzIG93biAuUEhPTlkgdGFyZ2V0IGFz
IGl0IGRvZXMKICAgICAgIyB3aXRoIG90aGVyIG92ZXJyaWRkZW4gdGFyZ2V0cy4KICAgICAgIyBM
aWtld2lzZSBmb3IgJy5NQUtFJyBhbmQgJy5QUkVDSU9VUycuCiAgICAgIG15IEB1bmRlZmluZWRf
Y29uZHMgPSAoVFJVRSwpOwogICAgICBpZiAoJF8gbmUgJy5QSE9OWScgJiYgJF8gbmUgJy5NQUtF
JyAmJiAkXyBuZSAnLlBSRUNJT1VTJykKCXsKCSAgQHVuZGVmaW5lZF9jb25kcyA9CgkgICAgQXV0
b21ha2U6OlJ1bGU6OmRlZmluZSAoJF8sICdpbnRlcm5hbCcsCgkJCQkgICAgUlVMRV9BVVRPTUFL
RSwgVFJVRSwgSU5URVJOQUwpOwoJfQogICAgICBteSBAdW5pcV9kZXBzID0gdW5pcSAoc29ydCBA
eyRkZXBlbmRlbmNpZXN7JF99fSk7CiAgICAgIGZvcmVhY2ggbXkgJGNvbmQgKEB1bmRlZmluZWRf
Y29uZHMpCgl7CgkgIG15ICRjb25kc3RyID0gJGNvbmQtPnN1YnN0X3N0cmluZzsKCSAgcHJldHR5
X3ByaW50X3J1bGUgKCIkY29uZHN0ciRfOiIsICIkY29uZHN0clx0IiwgQHVuaXFfZGVwcyk7Cgkg
ICRvdXRwdXRfcnVsZXMgLj0gJGFjdGlvbnN7JF99IGlmIGRlZmluZWQgJGFjdGlvbnN7JF99OwoJ
ICAkb3V0cHV0X3J1bGVzIC49ICJcbiI7Cgl9CiAgICB9Cn0KCgpzdWIgaGFuZGxlX3Rlc3RzX2Rl
amFnbnUgKCkKewogICAgcHVzaCAoQGNoZWNrX3Rlc3RzLCAnY2hlY2stREVKQUdOVScpOwogICAg
JG91dHB1dF9ydWxlcyAuPSBmaWxlX2NvbnRlbnRzICgnZGVqYWdudScsIG5ldyBBdXRvbWFrZTo6
TG9jYXRpb24pOwp9CgojIGhhbmRsZV9wZXJfc3VmZml4X3Rlc3QgKCRURVNUX1NVRkZJWCwgWyVU
UkFOU0ZPUk1dKQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQpzdWIgaGFuZGxlX3Blcl9zdWZmaXhfdGVzdAp7CiAgbXkgKCR0ZXN0X3N1ZmZpeCwg
JXRyYW5zZm9ybSkgPSBAXzsKICBteSAoJHBmeCwgJGdlbmVyaWMsICRhbV9leGVleHQpOwogIGlm
ICgkdGVzdF9zdWZmaXggZXEgJycpCiAgICB7CiAgICAgICRwZnggPSAnJzsKICAgICAgJGdlbmVy
aWMgPSAwOwogICAgICAkYW1fZXhlZXh0ID0gJ0ZBTFNFJzsKICAgIH0KICBlbHNlCiAgICB7CiAg
ICAgIHByb2dfZXJyb3IgKCJ0ZXN0IHN1ZmZpeCAnJHRlc3Rfc3VmZml4JyBsYWNrcyBsZWFkaW5n
IGRvdCIpCiAgICAgICAgdW5sZXNzICR0ZXN0X3N1ZmZpeCA9fiBtL15cLiguKikvOwogICAgICAk
cGZ4ID0gdWMgKCQxKSAuICdfJzsKICAgICAgJGdlbmVyaWMgPSAxOwogICAgICAkYW1fZXhlZXh0
ID0gZXhpc3RzICRjb25maWd1cmVfdmFyc3snRVhFRVhUJ30gPyAnYW1fX0VYRUVYVCcKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ0ZBTFNFJzsK
ICAgIH0KICAjIFRoZSAidGVzdCBkcml2ZXIiIHByb2dyYW0sIGRlcHV0ZWQgdG8gaGFuZGxlIHRl
c3RzIHByb3RvY29sIHVzZWQgYnkKICAjIHRlc3Qgc2NyaXB0cy4gIEJ5IGRlZmF1bHQsIGl0J3Mg
YXNzdW1lZCB0aGF0IG5vIHByb3RvY29sIGlzIHVzZWQsIHNvCiAgIyB3ZSBmYWxsIGJhY2sgdG8g
dGhlIG9sZCBiZWhhdmlvciwgaW1wbGVtZW50ZWQgYnkgdGhlICd0ZXN0LWRyaXZlcicKICAjIGF1
eGlsaWFyeSBzY3JpcHQuCiAgaWYgKCEgdmFyICIke3BmeH1MT0dfRFJJVkVSIikKICAgIHsKICAg
ICAgcmVxdWlyZV9jb25mX2ZpbGUgKCJwYXJhbGxlbC10ZXN0cyIsIEZPUkVJR04sICd0ZXN0LWRy
aXZlcicpOwogICAgICBkZWZpbmVfdmFyaWFibGUgKCIke3BmeH1MT0dfRFJJVkVSIiwKICAgICAg
ICAgICAgICAgICAgICAgICAiXCQoU0hFTEwpICRhbV9jb25maWdfYXV4X2Rpci90ZXN0LWRyaXZl
ciIsCiAgICAgICAgICAgICAgICAgICAgICAgSU5URVJOQUwpOwogICAgfQogIG15ICRkcml2ZXIg
PSAnJCgnIC4gJHBmeCAuICdMT0dfRFJJVkVSKSc7CiAgbXkgJGRyaXZlcl9mbGFncyA9ICckKEFN
XycgLiAkcGZ4IC4gJ0xPR19EUklWRVJfRkxBR1MpJwogICAgICAgICAgICAgICAgICAgICAgIC4g
JyAkKCcgLiAkcGZ4IC4gJ0xPR19EUklWRVJfRkxBR1MpJzsKICBteSAkY29tcGlsZSA9ICIke3Bm
eH1MT0dfQ09NUElMRSI7CiAgZGVmaW5lX3ZhcmlhYmxlICgkY29tcGlsZSwKICAgICAgICAgICAg
ICAgICAgICckKCcgLiAkcGZ4IC4gJ0xPR19DT01QSUxFUiknCiAgICAgICAgICAgICAgICAgICAg
ICAuICcgJChBTV8nIC4gICRwZnggLiAnTE9HX0ZMQUdTKScKICAgICAgICAgICAgICAgICAgICAg
IC4gJyAkKCcgLiAkcGZ4IC4gJ0xPR19GTEFHUyknLAogICAgICAgICAgICAgICAgICAgICBJTlRF
Uk5BTCk7CiAgJG91dHB1dF9ydWxlcyAuPSBmaWxlX2NvbnRlbnRzICgnY2hlY2syJywgbmV3IEF1
dG9tYWtlOjpMb2NhdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRU5F
UklDID0+ICRnZW5lcmljLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERSSVZF
UiA9PiAkZHJpdmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERSSVZFUl9G
TEFHUyA9PiAkZHJpdmVyX2ZsYWdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IENPTVBJTEUgPT4gJyQoJyAuICRjb21waWxlIC4gJyknLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEVYVCA9PiAkdGVzdF9zdWZmaXgsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYW1fX0VYRUVYVCA9PiAkYW1fZXhlZXh0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICV0cmFuc2Zvcm0pOwp9CgojIGlzX3ZhbGlkX3Rlc3RfZXh0ZW5zaW9u
ICgkRVhUKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJldHVybiB0cnVlIGlm
ICRFWFQgY2FuIGFwcGVhciBpbiAkKFRFU1RfRVhURU5TSU9OUyksIHJldHVybiBmYWxzZQojIG90
aGVyd2lzZS4Kc3ViIGlzX3ZhbGlkX3Rlc3RfZXh0ZW5zaW9uCnsKICBteSAkZXh0ID0gc2hpZnQ7
CiAgcmV0dXJuIDEKICAgIGlmICgkZXh0ID1+IC9eXC5bYS16QS1aX11bYS16QS1aMC05X10qJC8p
OwogIHJldHVybiAxCiAgICBpZiAoZXhpc3RzICRjb25maWd1cmVfdmFyc3snRVhFRVhUJ30gJiYg
JGV4dCBlcSBzdWJzdCAoJ0VYRUVYVCcpKTsKICByZXR1cm4gMDsKfQoKCnN1YiBoYW5kbGVfdGVz
dHMgKCkKewogIGlmIChvcHRpb24gJ2RlamFnbnUnKQogICAgewogICAgICBoYW5kbGVfdGVzdHNf
ZGVqYWdudTsKICAgIH0KICBlbHNlCiAgICB7CiAgICAgIGZvcmVhY2ggbXkgJGMgKCdERUpBVE9P
TCcsICdSVU5URVNUJywgJ1JVTlRFU1RGTEFHUycpCgl7CgkgIHJlamVjdF92YXIgKCRjLCAiJyRj
JyBkZWZpbmVkIGJ1dCAnZGVqYWdudScgbm90IGluICIKCQkgICAgICAuICInQVVUT01BS0VfT1BU
SU9OUyciKTsKCX0KICAgIH0KCiAgaWYgKHZhciAoJ1RFU1RTJykpCiAgICB7CiAgICAgIHB1c2gg
KEBjaGVja190ZXN0cywgJ2NoZWNrLVRFU1RTJyk7CiAgICAgIG15ICRjaGVja19kZXBzID0gIkBj
aGVjayI7CiAgICAgICRvdXRwdXRfcnVsZXMgLj0gZmlsZV9jb250ZW50cyAoJ2NoZWNrJywgbmV3
IEF1dG9tYWtlOjpMb2NhdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBTRVJJQUxfVEVTVFMgPT4gISEgb3B0aW9uICdzZXJpYWwtdGVzdHMnLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIENIRUNLX0RFUFMgPT4gJGNoZWNrX2RlcHMpOwoKICAg
ICAgIyBUZXN0cyB0aGF0IGFyZSBrbm93biBwcm9ncmFtcyBzaG91bGQgaGF2ZSAkKEVYRUVYVCkg
YXBwZW5kZWQuCiAgICAgICMgRm9yIG1hdGNoaW5nIHB1cnBvc2VzLCB3ZSBuZWVkIHRvIGFkanVz
dCBYRkFJTF9URVNUUyBhcyB3ZWxsLgogICAgICBhcHBlbmRfZXhlZXh0IHsgZXhpc3RzICRrbm93
bl9wcm9ncmFtc3skX1swXX0gfSAnVEVTVFMnOwogICAgICBhcHBlbmRfZXhlZXh0IHsgZXhpc3Rz
ICRrbm93bl9wcm9ncmFtc3skX1swXX0gfSAnWEZBSUxfVEVTVFMnCglpZiAodmFyICgnWEZBSUxf
VEVTVFMnKSk7CgogICAgICBpZiAoISBvcHRpb24gJ3NlcmlhbC10ZXN0cycpCiAgICAgICAgewoJ
ICBkZWZpbmVfdmFyaWFibGUgKCdURVNUX1NVSVRFX0xPRycsICd0ZXN0LXN1aXRlLmxvZycsIElO
VEVSTkFMKTsKCSAgbXkgJHN1ZmYgPSAnLnRlc3QnOwoJICBteSAkYXRfZXhlZXh0ID0gJyc7Cgkg
IG15ICRoYW5kbGVfZXhlZXh0ID0gZXhpc3RzICRjb25maWd1cmVfdmFyc3snRVhFRVhUJ307Cgkg
IGlmICgkaGFuZGxlX2V4ZWV4dCkKCSAgICB7CgkgICAgICAkYXRfZXhlZXh0ID0gc3Vic3QgKCdF
WEVFWFQnKTsKCSAgICAgICRzdWZmID0gJGF0X2V4ZWV4dCAgLiAnICcgLiAkc3VmZjsKCSAgICB9
CiAgICAgICAgICBpZiAoISB2YXIgJ1RFU1RfRVhURU5TSU9OUycpCiAgICAgICAgICAgIHsKCSAg
ICAgIGRlZmluZV92YXJpYWJsZSAoJ1RFU1RfRVhURU5TSU9OUycsICRzdWZmLCBJTlRFUk5BTCk7
CiAgICAgICAgICAgIH0KICAgICAgICAgIG15ICR2YXIgPSB2YXIgJ1RFU1RfRVhURU5TSU9OUyc7
CiAgICAgICAgICAjIEN1cnJlbnRseSwgd2UgYXJlIG5vdCBhYmxlIHRvIGRlYWwgd2l0aCBjb25k
aXRpb25hbCBjb250ZW50cwogICAgICAgICAgIyBpbiBURVNUX0VYVEVOU0lPTlMuCiAgICAgICAg
ICBpZiAoJHZhci0+aGFzX2NvbmRpdGlvbmFsX2NvbnRlbnRzKQogICAgICAgICAgIHsKCSAgICAg
bXNnX3ZhciAndW5zdXBwb3J0ZWQnLCAkdmFyLAogICAgICAgICAgICAgICAgICAgICAiJ1RFU1Rf
RVhURU5TSU9OUycgY2Fubm90IGhhdmUgY29uZGl0aW9uYWwgY29udGVudHMiOwogICAgICAgICAg
IH0KCSAgbXkgQHRlc3Rfc3VmZml4ZXMgPSAkdmFyLT52YWx1ZV9hc19saXN0X3JlY3Vyc2l2ZTsK
ICAgICAgICAgIGlmICgobXkgQGludmFsaWRfdGVzdF9zdWZmaXhlcyA9CiAgICAgICAgICAgICAg
ICAgIGdyZXAgeyAhaXNfdmFsaWRfdGVzdF9leHRlbnNpb24gJF8gfSBAdGVzdF9zdWZmaXhlcykg
PiAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgZXJyb3IgJHZhci0+cmRlZiAoVFJVRSkt
PmxvY2F0aW9uLAogICAgICAgICAgICAgICAgICAgICJpbnZhbGlkIHRlc3QgZXh0ZW5zaW9uczog
QGludmFsaWRfdGVzdF9zdWZmaXhlcyI7CiAgICAgICAgICAgIH0KICAgICAgICAgIEB0ZXN0X3N1
ZmZpeGVzID0gZ3JlcCB7IGlzX3ZhbGlkX3Rlc3RfZXh0ZW5zaW9uICRfIH0gQHRlc3Rfc3VmZml4
ZXM7CgkgIGlmICgkaGFuZGxlX2V4ZWV4dCkKCSAgICB7CgkgICAgICB1bnNoaWZ0IChAdGVzdF9z
dWZmaXhlcywgJGF0X2V4ZWV4dCkKCSAgICAgICAgdW5sZXNzIEB0ZXN0X3N1ZmZpeGVzICYmICR0
ZXN0X3N1ZmZpeGVzWzBdIGVxICRhdF9leGVleHQ7CgkgICAgfQoJICB1bnNoaWZ0IChAdGVzdF9z
dWZmaXhlcywgJycpOwoKCSAgdHJhbnNmb3JtX3ZhcmlhYmxlX3JlY3Vyc2l2ZWx5CgkgICAgKCdU
RVNUUycsICdURVNUX0xPR1MnLCAnYW1fX3Rlc3Rsb2dzJywgMSwgSU5URVJOQUwsCgkgICAgICBz
dWIgewoJICAgICAgICBteSAoJHN1YnZhciwgJHZhbCwgJGNvbmQsICRmdWxsX2NvbmQpID0gQF87
CgkJbXkgJG9iaiA9ICR2YWw7CgkJcmV0dXJuICRvYmoKCQkgIGlmICR2YWwgPX4gL15cQC4qXEAk
LzsKCQkkb2JqID1+IHMvXCRcKEVYRUVYVFwpJC8vbzsKCgkJaWYgKCR2YWwgPX4gLyhcJFwoKHRv
cF8pP3NyY2RpclwpKVwvL28pCgkJICB7CgkJICAgIG1zZyAoJ2Vycm9yJywgJHN1YnZhci0+cmRl
ZiAoJGNvbmQpLT5sb2NhdGlvbiwKCQkJICJ1c2luZyAnJDEnIGluIFRFU1RTIGlzIGN1cnJlbnRs
eSBicm9rZW46ICckdmFsJyIpOwoJCSAgfQoKCQlmb3JlYWNoIG15ICR0ZXN0X3N1ZmZpeCAoQHRl
c3Rfc3VmZml4ZXMpCgkJICB7CgkJICAgIG5leHQKCQkgICAgICBpZiAkdGVzdF9zdWZmaXggZXEg
JGF0X2V4ZWV4dCB8fCAkdGVzdF9zdWZmaXggZXEgJyc7CgkJICAgIHJldHVybiBzdWJzdHIgKCRv
YmosIDAsIGxlbmd0aCAoJG9iaikgLSBsZW5ndGggKCR0ZXN0X3N1ZmZpeCkpIC4gJy5sb2cnCgkJ
ICAgICAgaWYgc3Vic3RyICgkb2JqLCAtIGxlbmd0aCAoJHRlc3Rfc3VmZml4KSkgZXEgJHRlc3Rf
c3VmZml4OwoJCSAgfQoJCW15ICRiYXNlID0gJG9iajsKCQkkb2JqIC49ICcubG9nJzsKICAgICAg
ICAgICAgICAgIGhhbmRsZV9wZXJfc3VmZml4X3Rlc3QgKCcnLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgT0JKID0+ICRvYmosCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBCQVNFID0+ICRiYXNlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgU09VUkNFID0+ICR2YWwpOwoJICAgICAgICByZXR1cm4gJG9iajsKCSAg
ICAgIH0pOwoKCSAgbXkgJG5oZWxwZXI9MTsKCSAgbXkgJHByZXYgPSAnVEVTVFMnOwoJICBteSAk
cG9zdCA9ICcnOwoJICBteSAkbGFzdF9zdWZmaXggPSAkdGVzdF9zdWZmaXhlc1skI3Rlc3Rfc3Vm
Zml4ZXNdOwoJICBteSAkY3VyID0gJyc7CgkgIGZvcmVhY2ggbXkgJHRlc3Rfc3VmZml4IChAdGVz
dF9zdWZmaXhlcykKCSAgICB7CgkgICAgICBpZiAoJHRlc3Rfc3VmZml4IGVxICRsYXN0X3N1ZmZp
eCkKCSAgICAgICAgewoJCSAgJGN1ciA9ICdURVNUX0xPR1MnOwoJCX0KCSAgICAgIGVsc2UKCSAg
ICAgICAgewoJCSAgJGN1ciA9ICdhbV9fdGVzdF9sb2dzJyAuICRuaGVscGVyOwoJCX0KCSAgICAg
IGRlZmluZV92YXJpYWJsZSAoJGN1ciwKCQknJCgnIC4gJHByZXYgLiAnOicgLiAkdGVzdF9zdWZm
aXggLiAkcG9zdCAuICc9LmxvZyknLCBJTlRFUk5BTCk7CgkgICAgICAkcG9zdCA9ICcubG9nJzsK
CSAgICAgICRwcmV2ID0gJGN1cjsKCSAgICAgICRuaGVscGVyKys7CgkgICAgICBpZiAoJHRlc3Rf
c3VmZml4IG5lICRhdF9leGVleHQgJiYgJHRlc3Rfc3VmZml4IG5lICcnKQoJICAgICAgICB7CiAg
ICAgICAgICAgICAgICAgIGhhbmRsZV9wZXJfc3VmZml4X3Rlc3QgKCR0ZXN0X3N1ZmZpeCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT0JKID0+ICcnLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCQVNFID0+ICckKicsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNPVVJDRSA9PiAnJDwnKTsKCSAgICAg
ICAgfQoJICAgIH0KCSAgJGNsZWFuX2ZpbGVzeyckKFRFU1RfTE9HUyknfSA9IE1PU1RMWV9DTEVB
TjsKCSAgJGNsZWFuX2ZpbGVzeyckKFRFU1RfTE9HUzoubG9nPS50cnMpJ30gPSBNT1NUTFlfQ0xF
QU47CgkgICRjbGVhbl9maWxlc3snJChURVNUX1NVSVRFX0xPRyknfSA9IE1PU1RMWV9DTEVBTjsK
CX0KICAgIH0KfQoKc3ViIGhhbmRsZV9lbWFjc19saXNwICgpCnsKICBteSBAZWxmaWxlcyA9IGFt
X2luc3RhbGxfdmFyICgnLWNhbmRpc3QnLCAnbGlzcCcsICdMSVNQJywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnbGlzcCcsICdub2luc3QnKTsKCiAgcmV0dXJuIGlmICEgQGVsZmls
ZXM7CgogIGRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCdhbV9fRUxGSUxFUycsIFRSVUUsIElOVEVS
TkFMLAoJCQkgIG1hcCB7ICRfLT5bMV0gfSBAZWxmaWxlcyk7CiAgZGVmaW5lX3ByZXR0eV92YXJp
YWJsZSAoJ2FtX19FTENGSUxFUycsIFRSVUUsIElOVEVSTkFMLAoJCQkgICckKGFtX19FTEZJTEVT
Oi5lbD0uZWxjKScpOwogICMgVGhpcyBvbmUgY2FuIGJlIG92ZXJyaWRkZW4gYnkgdXNlcnMuCiAg
ZGVmaW5lX3ByZXR0eV92YXJpYWJsZSAoJ0VMQ0ZJTEVTJywgVFJVRSwgSU5URVJOQUwsICckKExJ
U1A6LmVsPS5lbGMpJyk7CgogIHB1c2ggQGFsbCwgJyQoRUxDRklMRVMpJzsKCiAgcmVxdWlyZV92
YXJpYWJsZXMgKCRlbGZpbGVzWzBdWzBdLCAiRW1hY3MgTGlzcCBzb3VyY2VzIHNlZW4iLCBUUlVF
LAoJCSAgICAgJ0VNQUNTJywgJ2xpc3BkaXInKTsKfQoKc3ViIGhhbmRsZV9weXRob24gKCkKewog
IG15IEBweWZpbGVzID0gYW1faW5zdGFsbF92YXIgKCctZGVmYXVsdGRpc3QnLCAncHl0aG9uJywg
J1BZVEhPTicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25vaW5zdCcpOwogIHJl
dHVybiBpZiAhIEBweWZpbGVzOwoKICByZXF1aXJlX3ZhcmlhYmxlcyAoJHB5ZmlsZXNbMF1bMF0s
ICJQeXRob24gc291cmNlcyBzZWVuIiwgVFJVRSwgJ1BZVEhPTicpOwogIHJlcXVpcmVfY29uZl9m
aWxlICgkcHlmaWxlc1swXVswXSwgRk9SRUlHTiwgJ3B5LWNvbXBpbGUnKTsKICBkZWZpbmVfdmFy
aWFibGUgKCdweV9jb21waWxlJywgIiRhbV9jb25maWdfYXV4X2Rpci9weS1jb21waWxlIiwgSU5U
RVJOQUwpOwp9CgpzdWIgaGFuZGxlX2phdmEgKCkKewogICAgbXkgQHNvdXJjZWxpc3QgPSBhbV9p
bnN0YWxsX3ZhciAoJy1jYW5kaXN0JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICdqYXZhJywgJ0pBVkEnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
J25vaW5zdCcsICdjaGVjaycpOwogICAgcmV0dXJuIGlmICEgQHNvdXJjZWxpc3Q7CgogICAgbXkg
QHByZWZpeGVzID0gYW1fcHJpbWFyeV9wcmVmaXhlcyAoJ0pBVkEnLCAxLAoJCQkJICAgICAgICAn
bm9pbnN0JywgJ2NoZWNrJyk7CgogICAgbXkgJGRpcjsKICAgIG15IEBqYXZhX3NvdXJjZXMgPSAo
KTsKICAgIGZvcmVhY2ggbXkgJHByZWZpeCAoQHByZWZpeGVzKQogICAgICB7CiAgICAgICAgKG15
ICRjdXJzID0gJHByZWZpeCkgPX4gcy9eKD86bm9iYXNlXyk/KD86ZGlzdF98bm9kaXN0Xyk/Ly87
CgoJbmV4dAoJICBpZiAkY3VycyBlcSAnRVhUUkEnOwoKICAgICAgICBwdXNoIEBqYXZhX3NvdXJj
ZXMsICckKCcgLiAkcHJlZml4IC4gJ19KQVZBJyAuICcpJzsKCglpZiAoZGVmaW5lZCAkZGlyKQoJ
ICB7CgkgICAgZXJyX3ZhciAiJHtjdXJzfV9KQVZBIiwgIm11bHRpcGxlIF9KQVZBIHByaW1hcmll
cyBpbiB1c2UiCgkgICAgIHVubGVzcyAkY3VycyBlcSAkZGlyOwoJICB9CgoJJGRpciA9ICRjdXJz
OwogICAgICB9CgogICAgZGVmaW5lX3ByZXR0eV92YXJpYWJsZSAoJ2FtX19qYXZhX3NvdXJjZXMn
LCBUUlVFLCBJTlRFUk5BTCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJAamF2YV9zb3Vy
Y2VzIik7CgogICAgaWYgKCRkaXIgZXEgJ2NoZWNrJykKICAgICAgewogICAgICAgIHB1c2ggKEBj
aGVjaywgImNsYXNzJGRpci5zdGFtcCIpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKICAgICAg
ICBwdXNoIChAYWxsLCAiY2xhc3MkZGlyLnN0YW1wIik7CiAgICAgIH0KfQoKCnN1YiBoYW5kbGVf
bWlub3Jfb3B0aW9ucyAoKQp7CiAgaWYgKG9wdGlvbiAncmVhZG1lLWFscGhhJykKICAgIHsKICAg
ICAgaWYgKCRyZWxhdGl2ZV9kaXIgZXEgJy4nKQoJewoJICBpZiAoJHBhY2thZ2VfdmVyc2lvbiAh
fiAvXiRHTklUU19WRVJTSU9OX1BBVFRFUk4kLykKCSAgICB7CgkgICAgICBtc2cgKCdlcnJvci1n
bml0cycsICRwYWNrYWdlX3ZlcnNpb25fbG9jYXRpb24sCgkJICAgInZlcnNpb24gJyRwYWNrYWdl
X3ZlcnNpb24nIGRvZXNuJ3QgZm9sbG93ICIgLgoJCSAgICJHbml0cyBzdGFuZGFyZHMiKTsKCSAg
ICB9CgkgIGlmIChkZWZpbmVkICQxICYmICgtZiAnUkVBRE1FLWFscGhhJyB8fCAtZiAnUkVBRE1F
LWFscGhhLm1kJykpCgkgICAgewoJICAgICAgIyBUaGlzIG1lYW5zIHdlIGhhdmUgYW4gYWxwaGEg
cmVsZWFzZS4gIFNlZQoJICAgICAgIyBHTklUU19WRVJTSU9OX1BBVFRFUk4gZm9yIGRldGFpbHMu
CgkgICAgICBteSAkYWYgPSAtZiAnUkVBRE1FLWFscGhhJyA/ICdSRUFETUUtYWxwaGEnIDogJ1JF
QURNRS1hbHBoYS5tZCc7CgkgICAgICBwdXNoX2Rpc3RfY29tbW9uICgkYWYpOwoJICAgIH0KCX0K
ICAgIH0KfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIwoKIyAoJE9VVFBVVCwgQElOUFVUUykKIyBzcGxpdF9jb25maWdfZmls
ZV9zcGVjICgkU1BFQykKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBEZWNvZGUg
dGhlIEF1dG9jb25mIHN5bnRheCBmb3IgY29uZmlnIGZpbGVzIChmaWxlcywgaGVhZGVycywgbGlu
a3MKIyBldGMuKS4Kc3ViIHNwbGl0X2NvbmZpZ19maWxlX3NwZWMKewogIG15ICgkc3BlYykgPSBA
XzsKICBteSAoJG91dHB1dCwgQGlucHV0cykgPSBzcGxpdCAoLzovLCAkc3BlYyk7CgogIHB1c2gg
QGlucHV0cywgIiRvdXRwdXQuaW4iCiAgICB1bmxlc3MgQGlucHV0czsKCiAgcmV0dXJuICgkb3V0
cHV0LCBAaW5wdXRzKTsKfQoKIyAkaW5wdXQKIyBsb2NhdGVfYW0gKEBQT1NTSUJMRV9TT1VSQ0VT
KQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQUNfQ09ORklHX0ZJTEVTIGFsbG93
IHNwZWNpZmljYXRpb25zIHN1Y2ggYXMgTWFrZWZpbGU6dG9wLmluOm1pZC5pbjpib3QuaW4KIyBU
aGlzIGZ1bmN0aW9ucyByZXR1cm5zIHRoZSBmaXJzdCAqLmluIGZpbGUgZm9yIHdoaWNoIGEgKi5h
bSBleGlzdHMuCiMgSXQgcmV0dXJucyB1bmRlZiBvdGhlcndpc2UuCnN1YiBsb2NhdGVfYW0Kewog
IG15IChAcmVzdCkgPSBAXzsKICBteSAkaW5wdXQ7CiAgZm9yZWFjaCBteSAkZmlsZSAoQHJlc3Qp
CiAgICB7CiAgICAgIGlmICgoJGZpbGUgPX4gL14oLiopXC5pbiQvKSAmJiAtZiAiJDEuYW0iKQoJ
ewoJICAkaW5wdXQgPSAkZmlsZTsKCSAgbGFzdDsKCX0KICAgIH0KICByZXR1cm4gJGlucHV0Owp9
CgpteSAlbWFrZV9saXN0OwoKIyBzY2FuX2F1dG9jb25mX2NvbmZpZ19maWxlcyAoJFdIRVJFLCAk
Q09ORklHLUZJTEVTKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiMgU3R1ZHkgJENPTkZJRy1GSUxFUyB3aGljaCBpcyB0aGUgZmlyc3QgYXJndW1l
bnQgdG8gQUNfQ09ORklHX0ZJTEVTCiMgKG9yIEFDX09VVFBVVCkuCnN1YiBzY2FuX2F1dG9jb25m
X2NvbmZpZ19maWxlcwp7CiAgbXkgKCR3aGVyZSwgJGNvbmZpZ19maWxlcykgPSBAXzsKCiAgIyBM
b29rIGF0IHBvdGVudGlhbCBNYWtlZmlsZS5hbSdzLgogIGZvcmVhY2ggKHNwbGl0ICcgJywgJGNv
bmZpZ19maWxlcykKICAgIHsKICAgICAgIyBNdXN0IHNraXAgZW1wdHkgc3RyaW5nIGZvciBQZXJs
IDQuCiAgICAgIG5leHQgaWYgJF8gZXEgIlxcIiB8fCAkXyBlcSAnJzsKCiAgICAgICMgSGFuZGxl
ICRsb2NhbDokaW5wdXQgc3ludGF4LgogICAgICBteSAoJGxvY2FsLCBAcmVzdCkgPSBzcGxpdCAo
LzovKTsKICAgICAgQHJlc3QgPSAoIiRsb2NhbC5pbiIsKSB1bmxlc3MgQHJlc3Q7CiAgICAgICMg
S2VlcCBpbiBzeW5jIHdpdGggdGVzdCAnY29uZmZpbGUtbGVhZGluZy1kb3Quc2gnLgogICAgICBt
c2cgKCd1bnN1cHBvcnRlZCcsICR3aGVyZSwKICAgICAgICAgICAib21pdCBsZWFkaW5nICcuLycg
ZnJvbSBjb25maWcgZmlsZSBuYW1lcyBzdWNoIGFzICckbG9jYWwnOyIKICAgICAgICAgICAuICJc
bnJlbWFrZSBydWxlcyBtaWdodCBiZSBzdWJ0bHkgYnJva2VuIG90aGVyd2lzZSIpCiAgICAgICAg
aWYgKCRsb2NhbCA9fiAvXlwuXC8vKTsKICAgICAgbXkgJGlucHV0ID0gbG9jYXRlX2FtIEByZXN0
OwogICAgICBpZiAoJGlucHV0KQoJewoJICAjIFdlIGhhdmUgYSBmaWxlIHRoYXQgYXV0b21ha2Ug
c2hvdWxkIGdlbmVyYXRlLgoJICAkbWFrZV9saXN0eyRpbnB1dH0gPSBqb2luICgnOicsICgkbG9j
YWwsIEByZXN0KSk7Cgl9CiAgICAgIGVsc2UKCXsKCSAgIyBXZSBoYXZlIGEgZmlsZSB0aGF0IGF1
dG9tYWtlIHNob3VsZCBjYXVzZSB0byBiZQoJICAjIHJlYnVpbHQsIGJ1dCBzaG91bGRuJ3QgZ2Vu
ZXJhdGUgaXRzZWxmLgoJICBwdXNoIChAb3RoZXJfaW5wdXRfZmlsZXMsICRfKTsKCX0KICAgICAg
JGFjX2NvbmZpZ19maWxlc19sb2NhdGlvbnskbG9jYWx9ID0gJHdoZXJlOwogICAgICAkYWNfY29u
ZmlnX2ZpbGVzX2NvbmRpdGlvbnskbG9jYWx9ID0KICAgICAgICBuZXcgQXV0b21ha2U6OkNvbmRp
dGlvbiAoQGNvbmRfc3RhY2spCiAgICAgICAgICBpZiAoQGNvbmRfc3RhY2spOwogICAgfQp9CgoK
c3ViIHNjYW5fYXV0b2NvbmZfdHJhY2VzCnsKICBteSAoJGZpbGVuYW1lKSA9IEBfOwoKICAjIE1h
Y3JvcyB0byB0cmFjZSwgd2l0aCB0aGVpciBtaW5pbWFsIG51bWJlciBvZiBhcmd1bWVudHMuCiAg
IwogICMgSU1QT1JUQU5UOiBJZiB5b3UgYWRkIGEgbWFjcm8gaGVyZSwgeW91IHNob3VsZCBhbHNv
IGFkZCB0aGlzIG1hY3JvCiAgIyA9PT09PT09PT0gIHRvIEF1dG9tYWtlLXByZXNlbGVjdGlvbiBp
biBhdXRvY29uZi9saWIvYXV0b200dGUuaW4uCiAgbXkgJXRyYWNlZCA9ICgKCQlBQ19DQU5PTklD
QUxfQlVJTEQgPT4gMCwKCQlBQ19DQU5PTklDQUxfSE9TVCA9PiAwLAoJCUFDX0NBTk9OSUNBTF9U
QVJHRVQgPT4gMCwKCQlBQ19DT05GSUdfQVVYX0RJUiA9PiAxLAoJCUFDX0NPTkZJR19GSUxFUyA9
PiAxLAoJCUFDX0NPTkZJR19IRUFERVJTID0+IDEsCgkJQUNfQ09ORklHX0xJQk9CSl9ESVIgPT4g
MSwKCQlBQ19DT05GSUdfTElOS1MgPT4gMSwKCQlBQ19GQ19TUkNFWFQgPT4gMSwKCQlBQ19JTklU
ID0+IDAsCgkJQUNfTElCU09VUkNFID0+IDEsCgkJQUNfUkVRVUlSRV9BVVhfRklMRSA9PiAxLAoJ
CUFDX1NVQlNUX1RSQUNFID0+IDEsCgkJQU1fQVVUT01BS0VfVkVSU0lPTiA9PiAxLAogICAgICAg
ICAgICAgICAgQU1fUFJPR19NS0RJUl9QID0+IDAsCgkJQU1fQ09ORElUSU9OQUwgPT4gMiwKCQlB
TV9FWFRSQV9SRUNVUlNJVkVfVEFSR0VUUyA9PiAxLAoJCUFNX0dOVV9HRVRURVhUID0+IDAsCgkJ
QU1fR05VX0dFVFRFWFRfSU5UTF9TVUJESVIgPT4gMCwKCQlBTV9JTklUX0FVVE9NQUtFID0+IDAs
CgkJQU1fTUFJTlRBSU5FUl9NT0RFID0+IDAsCgkJQU1fUFJPR19BUiA9PiAwLAoJCV9BTV9TVUJT
VF9OT1RNQUtFID0+IDEsCgkJX0FNX0NPTkRfSUYgPT4gMSwKCQlfQU1fQ09ORF9FTFNFID0+IDEs
CgkJX0FNX0NPTkRfRU5ESUYgPT4gMSwKCQlMVF9TVVBQT1JURURfVEFHID0+IDEsCgkJX0xUX0FD
X1RBR0NPTkZJRyA9PiAwLAoJCW00X2luY2x1ZGUgPT4gMSwKCQltNF9zaW5jbHVkZSA9PiAxLAoJ
CXNpbmNsdWRlID0+IDEsCgkgICAgICApOwoKICAjIFN1cHByZXNzIGFsbCB3YXJuaW5ncyBmcm9t
IHRoaXMgaW52b2NhdGlvbiBvZiBhdXRvY29uZi4KICAjIFRoZSB1c2VyIGlzIHByZXN1bWFibHkg
YWJvdXQgdG8gcnVuIGF1dG9jb25mIHRoZW1zZWx2ZXMKICAjIGFuZCB3aWxsIHNlZSBpdHMgd2Fy
bmluZ3MgdGhlbi4KICBsb2NhbCAkRU5We1dBUk5JTkdTfSA9ICdub25lJzsKCiAgbXkgJHRyYWNl
cyA9ICgkRU5We0FVVE9DT05GfSB8fCAnYXV0b2NvbmYnKSAuICIgIjsKCiAgIyBVc2UgYSBzZXBh
cmF0b3IgdW5saWtlbHkgdG8gYmUgdXNlZCwgbm90ICc6JywgdGhlIGRlZmF1bHQsIHdoaWNoCiAg
IyBoYXMgYSBwcmVjaXNlIG1lYW5pbmcgZm9yIEFDX0NPTkZJR19GSUxFUyBhbmQgc28gb24uCiAg
JHRyYWNlcyAuPSBqb2luICgnICcsCgkJICAgbWFwIHsgIi0tdHJhY2U9JF8iIC4gJzpcJGY6XCRs
OjpcJGQ6Olwkbjo6XCR7Ojp9JScgfQoJCSAgIChzb3J0IGtleXMgJXRyYWNlZCkpOwoKICB2ZXJi
ICJydW5uaW5nIFdBUk5JTkdTPSRFTlZ7V0FSTklOR1N9ICR0cmFjZXMiOwogIG15ICR0cmFjZWZo
ID0gbmV3IEF1dG9tYWtlOjpYRmlsZSAoIiR0cmFjZXMgJGZpbGVuYW1lIHwiKTsKCiAgQGNvbmRf
c3RhY2sgPSAoKTsKICBteSAkd2hlcmU7CgogIHdoaWxlICgkXyA9ICR0cmFjZWZoLT5nZXRsaW5l
KQogICAgewogICAgICBjaG9tcDsKICAgICAgbXkgKCRoZXJlLCAkZGVwdGgsIEBhcmdzKSA9IHNw
bGl0ICgvOjovKTsKICAgICAgJHdoZXJlID0gbmV3IEF1dG9tYWtlOjpMb2NhdGlvbiAkaGVyZTsK
ICAgICAgbXkgJG1hY3JvID0gJGFyZ3NbMF07CgogICAgICBwcm9nX2Vycm9yICgidW5yZXF1ZXN0
ZWQgdHJhY2UgJyRtYWNybyciKQoJdW5sZXNzIGV4aXN0cyAkdHJhY2VkeyRtYWNyb307CgogICAg
ICAjIFNraXAgYW5kIGRpYWdub3NlIG1hbGZvcm1lZCBjYWxscy4KICAgICAgaWYgKCQjYXJncyA8
ICR0cmFjZWR7JG1hY3JvfSkKCXsKCSAgbXNnICgnc3ludGF4JywgJHdoZXJlLCAibm90IGVub3Vn
aCBhcmd1bWVudHMgZm9yICRtYWNybyIpOwoJICBuZXh0OwoJfQoKICAgICAgIyBBbHBoYWJldGlj
YWwgb3JkZXJpbmcgcGxlYXNlLgogICAgICBpZiAoJG1hY3JvIGVxICdBQ19DQU5PTklDQUxfQlVJ
TEQnKQoJewoJICBpZiAoJHNlZW5fY2Fub25pY2FsIDw9IEFDX0NBTk9OSUNBTF9CVUlMRCkKCSAg
ICB7CgkgICAgICAkc2Vlbl9jYW5vbmljYWwgPSBBQ19DQU5PTklDQUxfQlVJTEQ7CgkgICAgfQoJ
fQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdBQ19DQU5PTklDQUxfSE9TVCcpCgl7CgkgIGlmICgk
c2Vlbl9jYW5vbmljYWwgPD0gQUNfQ0FOT05JQ0FMX0hPU1QpCgkgICAgewoJICAgICAgJHNlZW5f
Y2Fub25pY2FsID0gQUNfQ0FOT05JQ0FMX0hPU1Q7CgkgICAgfQoJfQogICAgICBlbHNpZiAoJG1h
Y3JvIGVxICdBQ19DQU5PTklDQUxfVEFSR0VUJykKCXsKCSAgJHNlZW5fY2Fub25pY2FsID0gQUNf
Q0FOT05JQ0FMX1RBUkdFVDsKCX0KICAgICAgZWxzaWYgKCRtYWNybyBlcSAnQUNfQ09ORklHX0FV
WF9ESVInKQoJewoJICBpZiAoJHNlZW5faW5pdF9hdXRvbWFrZSkKCSAgICB7CgkgICAgICBlcnJv
ciAoJHdoZXJlLCAiQUNfQ09ORklHX0FVWF9ESVIgbXVzdCBiZSBjYWxsZWQgYmVmb3JlICIKCQkg
ICAgIC4gIkFNX0lOSVRfQVVUT01BS0UgLi4uIiwgcGFydGlhbCA9PiAxKTsKCSAgICAgIGVycm9y
ICgkc2Vlbl9pbml0X2F1dG9tYWtlLCAiLi4uIEFNX0lOSVRfQVVUT01BS0UgY2FsbGVkIGhlcmUi
KTsKCSAgICB9CgkgICRjb25maWdfYXV4X2RpciA9ICRhcmdzWzFdOwoJICAkY29uZmlnX2F1eF9k
aXJfc2V0X2luX2NvbmZpZ3VyZV9hYyA9IDE7CgkgIGNoZWNrX2RpcmVjdG9yeSAoJGNvbmZpZ19h
dXhfZGlyLCAkd2hlcmUpOwoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdBQ19DT05GSUdfRklM
RVMnKQoJewoJICAjIExvb2sgYXQgcG90ZW50aWFsIE1ha2VmaWxlLmFtJ3MuCgkgIHNjYW5fYXV0
b2NvbmZfY29uZmlnX2ZpbGVzICgkd2hlcmUsICRhcmdzWzFdKTsKCX0KICAgICAgZWxzaWYgKCRt
YWNybyBlcSAnQUNfQ09ORklHX0hFQURFUlMnKQoJewoJICBmb3JlYWNoIG15ICRzcGVjIChzcGxp
dCAoJyAnLCAkYXJnc1sxXSkpCgkgICAgewoJICAgICAgbXkgKCRkZXN0LCBAc3JjKSA9IHNwbGl0
ICgnOicsICRzcGVjKTsKCSAgICAgICRhY19jb25maWdfZmlsZXNfbG9jYXRpb257JGRlc3R9ID0g
JHdoZXJlOwoJICAgICAgcHVzaCBAY29uZmlnX2hlYWRlcnMsICRzcGVjOwoJICAgIH0KCX0KICAg
ICAgZWxzaWYgKCRtYWNybyBlcSAnQUNfQ09ORklHX0xJQk9CSl9ESVInKQoJewoJICAkY29uZmln
X2xpYm9ial9kaXIgPSAkYXJnc1sxXTsKCSAgY2hlY2tfZGlyZWN0b3J5ICgkY29uZmlnX2xpYm9i
al9kaXIsICR3aGVyZSk7Cgl9CiAgICAgIGVsc2lmICgkbWFjcm8gZXEgJ0FDX0NPTkZJR19MSU5L
UycpCgl7CgkgIGZvcmVhY2ggbXkgJHNwZWMgKHNwbGl0ICgnICcsICRhcmdzWzFdKSkKCSAgICB7
CgkgICAgICBteSAoJGRlc3QsICRzcmMpID0gc3BsaXQgKCc6JywgJHNwZWMpOwoJICAgICAgJGFj
X2NvbmZpZ19maWxlc19sb2NhdGlvbnskZGVzdH0gPSAkd2hlcmU7CgkgICAgICBwdXNoIEBjb25m
aWdfbGlua3MsICRzcGVjOwoJICAgIH0KCX0KICAgICAgZWxzaWYgKCRtYWNybyBlcSAnQUNfRkNf
U1JDRVhUJykKCXsKCSAgbXkgJHN1ZmZpeCA9ICRhcmdzWzFdOwoJICAjIFRoZXNlIGZsYWdzIGFy
ZSB1c2VkIGFzICVTT1VSQ0VGTEFHJSBpbiBkZXBlbmQyLmFtLAoJICAjIHdoZXJlIHRoZSB0cmFp
bGluZyBzcGFjZSBpcyBpbXBvcnRhbnQuCgkgICRzb3VyY2VmbGFnc3snLicgLiAkc3VmZml4fSA9
ICckKEZDRkxBR1NfJyAuICRzdWZmaXggLiAnKSAnCgkgICAgaWYgKCRzdWZmaXggZXEgJ2Y5MCcg
fHwgJHN1ZmZpeCBlcSAnZjk1JyB8fCAkc3VmZml4IGVxICdmMDMnIHx8ICRzdWZmaXggZXEgJ2Yw
OCcpOwoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdBQ19JTklUJykKCXsKCSAgaWYgKGRlZmlu
ZWQgJGFyZ3NbMl0pCgkgICAgewoJICAgICAgJHBhY2thZ2VfdmVyc2lvbiA9ICRhcmdzWzJdOwoJ
ICAgICAgJHBhY2thZ2VfdmVyc2lvbl9sb2NhdGlvbiA9ICR3aGVyZTsKCSAgICB9Cgl9CiAgICAg
IGVsc2lmICgkbWFjcm8gZXEgJ0FDX0xJQlNPVVJDRScpCgl7CgkgICRsaWJzb3VyY2VzeyRhcmdz
WzFdfSA9ICRoZXJlOwoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdBQ19SRVFVSVJFX0FVWF9G
SUxFJykKCXsKCSAgIyBPbmx5IHJlbWVtYmVyIHRoZSBmaXJzdCB0aW1lIGEgZmlsZSBpcyByZXF1
aXJlZC4KCSAgJHJlcXVpcmVkX2F1eF9maWxleyRhcmdzWzFdfSA9ICR3aGVyZQoJICAgIHVubGVz
cyBleGlzdHMgJHJlcXVpcmVkX2F1eF9maWxleyRhcmdzWzFdfTsKCX0KICAgICAgZWxzaWYgKCRt
YWNybyBlcSAnQUNfU1VCU1RfVFJBQ0UnKQoJewoJICAjIEp1c3QgY2hlY2sgZm9yIGFscGhhbnVt
ZXJpYyBpbiBBQ19TVUJTVF9UUkFDRS4gIElmIHlvdSBkbwoJICAjIEFDX1NVQlNUKDUpLCB0aGVu
IHRvbyBiYWQuCgkgICRjb25maWd1cmVfdmFyc3skYXJnc1sxXX0gPSAkd2hlcmUKCSAgICBpZiAk
YXJnc1sxXSA9fiAvXlx3KyQvOwoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdBTV9BVVRPTUFL
RV9WRVJTSU9OJykKCXsKCSAgZXJyb3IgKCR3aGVyZSwKCQkgInZlcnNpb24gbWlzbWF0Y2guICBU
aGlzIGlzIEF1dG9tYWtlICRWRVJTSU9OLFxuIiAuCgkJICJidXQgdGhlIGRlZmluaXRpb24gdXNl
ZCBieSB0aGlzIEFNX0lOSVRfQVVUT01BS0VcbiIgLgoJCSAiY29tZXMgZnJvbSBBdXRvbWFrZSAk
YXJnc1sxXS4gIFlvdSBzaG91bGQgcnVuXG4iIC4KCQkgImF1dG9yZWNvbmYgLWYgKG9yIG90aGVy
d2lzZSBlcmFzZSBhbGwgb2xkIGZpbGVzLCBydW5cbiIgLgoJCSAiYWNsb2NhbCB0byByZWNyZWF0
ZSBhY2xvY2FsLm00LCBhbmQgcmVydW4gYXV0b21ha2UpLiIsCgkJICMgJD8gPSA2MyBpcyB1c2Vk
IHRvIGluZGljYXRlIHZlcnNpb24gbWlzbWF0Y2ggdG8gbWlzc2luZy4KCQkgZXhpdF9jb2RlID0+
IDYzKQoJICAgIGlmICRWRVJTSU9OIG5lICRhcmdzWzFdOwoKCSAgJHNlZW5fYXV0b21ha2VfdmVy
c2lvbiA9IDE7Cgl9CiAgICAgIGVsc2lmICgkbWFjcm8gZXEgJ0FNX1BST0dfTUtESVJfUCcpCgl7
CgkgIG1zZyAnb2Jzb2xldGUnLCAkd2hlcmUsIDw8J0VPRic7ClRoZSAnQU1fUFJPR19NS0RJUl9Q
JyBtYWNybyBpcyBkZXByZWNhdGVkLCBhbmQgaXRzIHVzZSBpcyBkaXNjb3VyYWdlZC4KWW91IHNo
b3VsZCB1c2UgdGhlIEF1dG9jb25mLXByb3ZpZGVkICdBQ19QUk9HX01LRElSX1AnIG1hY3JvIGlu
c3RlYWQsCmFuZCB1c2UgJyQoTUtESVJfUCknIGluc3RlYWQgb2YgJyQobWtkaXJfcCknaW4geW91
ciBNYWtlZmlsZS5hbSBmaWxlcy4KRU9GCgl9CiAgICAgIGVsc2lmICgkbWFjcm8gZXEgJ0FNX0NP
TkRJVElPTkFMJykKCXsKCSAgJGNvbmZpZ3VyZV9jb25keyRhcmdzWzFdfSA9ICR3aGVyZTsKCX0K
ICAgICAgZWxzaWYgKCRtYWNybyBlcSAnQU1fRVhUUkFfUkVDVVJTSVZFX1RBUkdFVFMnKQoJewog
ICAgICAgICAgIyBFbXB0eSBsZWFkaW5nL3RyYWlsaW5nIGZpZWxkcyBtaWdodCBiZSBwcm9kdWNl
ZCBieSBzcGxpdCwKICAgICAgICAgICMgaGVuY2UgdGhlIGdyZXAgaXMgcmVhbGx5IG5lZWRlZC4K
ICAgICAgICAgIHB1c2ggQGV4dHJhX3JlY3Vyc2l2ZV90YXJnZXRzLAogICAgICAgICAgICAgICBn
cmVwICgvLi8sIChzcGxpdCAvXHMrLywgJGFyZ3NbMV0pKTsKCX0KICAgICAgZWxzaWYgKCRtYWNy
byBlcSAnQU1fR05VX0dFVFRFWFQnKQoJewoJICAkc2Vlbl9nZXR0ZXh0ID0gJHdoZXJlOwoJICAk
YWNfZ2V0dGV4dF9sb2NhdGlvbiA9ICR3aGVyZTsKCSAgJHNlZW5fZ2V0dGV4dF9leHRlcm5hbCA9
IGdyZXAgKCRfIGVxICdleHRlcm5hbCcsIEBhcmdzKTsKCX0KICAgICAgZWxzaWYgKCRtYWNybyBl
cSAnQU1fR05VX0dFVFRFWFRfSU5UTF9TVUJESVInKQoJewoJICAkc2Vlbl9nZXR0ZXh0X2ludGwg
PSAkd2hlcmU7Cgl9CiAgICAgIGVsc2lmICgkbWFjcm8gZXEgJ0FNX0lOSVRfQVVUT01BS0UnKQoJ
ewoJICAkc2Vlbl9pbml0X2F1dG9tYWtlID0gJHdoZXJlOwoJICBpZiAoZGVmaW5lZCAkYXJnc1sy
XSkKCSAgICB7CiAgICAgICAgICAgICAgbXNnICdvYnNvbGV0ZScsICR3aGVyZSwgPDwnRU9GJzsK
QU1fSU5JVF9BVVRPTUFLRTogdHdvLSBhbmQgdGhyZWUtYXJndW1lbnRzIGZvcm1zIGFyZSBkZXBy
ZWNhdGVkLiAgRm9yIG1vcmUgaW5mbywgc2VlOgpodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJl
L2F1dG9tYWtlL21hbnVhbC9hdXRvbWFrZS5odG1sI01vZGVybml6ZS1BTV8wMDVmSU5JVF8wMDVm
QVVUT01BS0UtaW52b2NhdGlvbgpFT0YKCSAgICAgICRwYWNrYWdlX3ZlcnNpb24gPSAkYXJnc1sy
XTsKCSAgICAgICRwYWNrYWdlX3ZlcnNpb25fbG9jYXRpb24gPSAkd2hlcmU7CgkgICAgfQoJICBl
bHNpZiAoZGVmaW5lZCAkYXJnc1sxXSkKCSAgICB7CgkgICAgICBteSBAb3B0cyA9IHNwbGl0ICgn
ICcsICRhcmdzWzFdKTsKCSAgICAgIEBvcHRzID0gbWFwIHsgeyBvcHRpb24gPT4gJF8sIHdoZXJl
ID0+ICR3aGVyZSB9IH0gQG9wdHM7CgkgICAgICBleGl0ICRleGl0X2NvZGUgdW5sZXNzIHByb2Nl
c3NfZ2xvYmFsX29wdGlvbl9saXN0IChAb3B0cyk7CgkgICAgfQoJfQogICAgICBlbHNpZiAoJG1h
Y3JvIGVxICdBTV9NQUlOVEFJTkVSX01PREUnKQoJewoJICAkc2Vlbl9tYWludF9tb2RlID0gJHdo
ZXJlOwoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdBTV9QUk9HX0FSJykKCXsKCSAgJHNlZW5f
YXIgPSAkd2hlcmU7Cgl9CiAgICAgIGVsc2lmICgkbWFjcm8gZXEgJ19BTV9DT05EX0lGJykKICAg
ICAgICB7CgkgIGNvbmRfc3RhY2tfaWYgKCcnLCAkYXJnc1sxXSwgJHdoZXJlKTsKCSAgZXJyb3Ig
KCR3aGVyZSwgIm1pc3NpbmcgbTQgcXVvdGluZywgbWFjcm8gZGVwdGggJGRlcHRoIikKCSAgICBp
ZiAoJGRlcHRoICE9IDEpOwoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdfQU1fQ09ORF9FTFNF
JykKICAgICAgICB7CgkgIGNvbmRfc3RhY2tfZWxzZSAoJyEnLCAkYXJnc1sxXSwgJHdoZXJlKTsK
CSAgZXJyb3IgKCR3aGVyZSwgIm1pc3NpbmcgbTQgcXVvdGluZywgbWFjcm8gZGVwdGggJGRlcHRo
IikKCSAgICBpZiAoJGRlcHRoICE9IDEpOwoJfQogICAgICBlbHNpZiAoJG1hY3JvIGVxICdfQU1f
Q09ORF9FTkRJRicpCiAgICAgICAgewoJICBjb25kX3N0YWNrX2VuZGlmICh1bmRlZiwgdW5kZWYs
ICR3aGVyZSk7CgkgIGVycm9yICgkd2hlcmUsICJtaXNzaW5nIG00IHF1b3RpbmcsIG1hY3JvIGRl
cHRoICRkZXB0aCIpCgkgICAgaWYgKCRkZXB0aCAhPSAxKTsKCX0KICAgICAgZWxzaWYgKCRtYWNy
byBlcSAnX0FNX1NVQlNUX05PVE1BS0UnKQoJewoJICAkaWdub3JlZF9jb25maWd1cmVfdmFyc3sk
YXJnc1sxXX0gPSAkd2hlcmU7Cgl9CiAgICAgIGVsc2lmICgkbWFjcm8gZXEgJ200X2luY2x1ZGUn
CgkgICAgIHx8ICRtYWNybyBlcSAnbTRfc2luY2x1ZGUnCgkgICAgIHx8ICRtYWNybyBlcSAnc2lu
Y2x1ZGUnKQoJewoJICAjIFNraXAgbWlzc2luZyAnc2luY2x1ZGUnZCBmaWxlcy4KCSAgbmV4dCBp
ZiAkbWFjcm8gbmUgJ200X2luY2x1ZGUnICYmICEgLWYgJGFyZ3NbMV07CgoJICAjIFNvbWUgbW9k
aWZpZWQgdmVyc2lvbnMgb2YgQXV0b2NvbmYgZG9uJ3QgdXNlCgkgICMgZnJvemVuIGZpbGVzLiAg
Q29uc2VxdWVudGx5IGl0J3MgcG9zc2libGUgdGhhdCB3ZSBzZWUgYWxsCgkgICMgbTRfaW5jbHVk
ZSdzIHBlcmZvcm1lZCBkdXJpbmcgQXV0b2NvbmYncyBzdGFydHVwLgoJICAjIE9idmlvdXNseSB3
ZSBkb24ndCB3YW50IHRvIGRpc3RyaWJ1dGUgQXV0b2NvbmYncyBmaWxlcwoJICAjIHNvIHdlIHNr
aXAgYWJzb2x1dGUgZmlsZW5hbWVzIGhlcmUuCgkgIHB1c2ggQGNvbmZpZ3VyZV9kZXBzLCAnJCh0
b3Bfc3JjZGlyKS8nIC4gJGFyZ3NbMV0KCSAgICB1bmxlc3MgJGhlcmUgPX4gbSxeKD86XHc6KT9b
XFwvXSw7CgkgICMgS2VlcCB0cmFjayBvZiB0aGUgZ3JlYXRlc3QgdGltZXN0YW1wLgoJICBpZiAo
LWUgJGFyZ3NbMV0pCgkgICAgewoJICAgICAgbXkgJG10aW1lID0gbXRpbWUgJGFyZ3NbMV07Cgkg
ICAgICAkY29uZmlndXJlX2RlcHNfZ3JlYXRlc3RfdGltZXN0YW1wID0gJG10aW1lCgkJaWYgJG10
aW1lID4gJGNvbmZpZ3VyZV9kZXBzX2dyZWF0ZXN0X3RpbWVzdGFtcDsKCSAgICB9Cgl9CiAgICAg
IGVsc2lmICgkbWFjcm8gZXEgJ0xUX1NVUFBPUlRFRF9UQUcnKQoJewoJICAkbGlidG9vbF90YWdz
eyRhcmdzWzFdfSA9IDE7CgkgICRsaWJ0b29sX25ld19hcGkgPSAxOwoJfQogICAgICBlbHNpZiAo
JG1hY3JvIGVxICdfTFRfQUNfVEFHQ09ORklHJykKCXsKCSAgIyBfTFRfQUNfVEFHQ09ORklHIGlz
IGFuIG9sZCBtYWNybyBwcmVzZW50IGluIExpYnRvb2wgMS41LgoJICAjIFdlIHVzZSBpdCB0byBk
ZXRlY3Qgd2hldGhlciB0YWdzIGFyZSBzdXBwb3J0ZWQuICBPdXIKCSAgIyBwcmVmZXJyZWQgaW50
ZXJmYWNlIGlzIExUX1NVUFBPUlRFRF9UQUcsIGJ1dCBpdCB3YXMKCSAgIyBpbnRyb2R1Y2VkIGlu
IExpYnRvb2wgMS42LgoJICBpZiAoMCA9PSBrZXlzICVsaWJ0b29sX3RhZ3MpCgkgICAgewoJICAg
ICAgIyBIYXJkY29kZSB0aGUgdGFncyBzdXBwb3J0ZWQgYnkgTGlidG9vbCAxLjUuCgkgICAgICAl
bGlidG9vbF90YWdzID0gKENDID0+IDEsIENYWCA9PiAxLCBHQ0ogPT4gMSwgRjc3ID0+IDEsCiAg
ICAgCSAgICAgICAgICAgICAgICAgICAgICAgQTY4ID0+IDEpOwoJICAgIH0KCX0KICAgIH0KCiAg
ZXJyb3IgKCR3aGVyZSwgImNvbmRpdGlvbiBzdGFjayBub3QgcHJvcGVybHkgY2xvc2VkIikKICAg
IGlmIChAY29uZF9zdGFjayk7CgogICR0cmFjZWZoLT5jbG9zZTsKfQoKCiMgQ2hlY2sgd2hldGhl
ciB3ZSB1c2UgJ2NvbmZpZ3VyZS5hYycgb3IgJ2NvbmZpZ3VyZS5pbicuCiMgU2NhbiBpdCAoYW5k
IHBvc3NpYmx5ICdhY2xvY2FsLm00JykgZm9yIGludGVyZXN0aW5nIHRoaW5ncy4KIyBXZSBtdXN0
IHNjYW4gYWNsb2NhbC5tNCBiZWNhdXNlIHRoZXJlIG1pZ2h0IGJlIEFDX1NVQlNUcyBhbmQgc3Vj
aCB0aGVyZS4Kc3ViIHNjYW5fYXV0b2NvbmZfZmlsZXMgKCkKewogICMgUmVpbml0aWFsaXplIGxp
YnNvdXJjZXMgaGVyZS4gIFRoaXMgaXNuJ3QgcmVhbGx5IG5lY2Vzc2FyeSwKICAjIHNpbmNlIHdl
IGN1cnJlbnRseSBhc3N1bWUgdGhlcmUgaXMgb25seSBvbmUgY29uZmlndXJlLmFjLiAgQnV0CiAg
IyB0aGF0IHdvbid0IGFsd2F5cyBiZSB0aGUgY2FzZS4KICAlbGlic291cmNlcyA9ICgpOwoKICAj
IEtlZXAgdHJhY2sgb2YgdGhlIHlvdW5nZXN0IGNvbmZpZ3VyZSBkZXBlbmRlbmN5LgogICRjb25m
aWd1cmVfZGVwc19ncmVhdGVzdF90aW1lc3RhbXAgPSBtdGltZSAkY29uZmlndXJlX2FjOwogIGlm
ICgtZSAnYWNsb2NhbC5tNCcpCiAgICB7CiAgICAgIG15ICRtdGltZSA9IG10aW1lICdhY2xvY2Fs
Lm00JzsKICAgICAgJGNvbmZpZ3VyZV9kZXBzX2dyZWF0ZXN0X3RpbWVzdGFtcCA9ICRtdGltZQoJ
aWYgJG10aW1lID4gJGNvbmZpZ3VyZV9kZXBzX2dyZWF0ZXN0X3RpbWVzdGFtcDsKICAgIH0KCiAg
c2Nhbl9hdXRvY29uZl90cmFjZXMgKCRjb25maWd1cmVfYWMpOwoKICBAY29uZmlndXJlX2lucHV0
X2ZpbGVzID0gc29ydCBrZXlzICVtYWtlX2xpc3Q7CiAgIyBTZXQgaW5wdXQgYW5kIG91dHB1dCBm
aWxlcyBpZiBub3Qgc3BlY2lmaWVkIGJ5IHVzZXIuCiAgaWYgKCEgQGlucHV0X2ZpbGVzKQogICAg
ewogICAgICBAaW5wdXRfZmlsZXMgPSBAY29uZmlndXJlX2lucHV0X2ZpbGVzOwogICAgICAlb3V0
cHV0X2ZpbGVzID0gJW1ha2VfbGlzdDsKICAgIH0KCgogIGlmICghICRzZWVuX2luaXRfYXV0b21h
a2UpCiAgICB7CiAgICAgIGVycl9hYyAoIm5vIHByb3BlciBpbnZvY2F0aW9uIG9mIEFNX0lOSVRf
QVVUT01BS0Ugd2FzIGZvdW5kLlxuWW91ICIKCSAgICAgIC4gInNob3VsZCB2ZXJpZnkgdGhhdCAk
Y29uZmlndXJlX2FjIGludm9rZXMgQU1fSU5JVF9BVVRPTUFLRSwiCgkgICAgICAuICJcbnRoYXQg
YWNsb2NhbC5tNCBpcyBwcmVzZW50IGluIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5LFxuIgoJICAg
ICAgLiAiYW5kIHRoYXQgYWNsb2NhbC5tNCB3YXMgcmVjZW50bHkgcmVnZW5lcmF0ZWQgIgoJICAg
ICAgLiAiKHVzaW5nIGFjbG9jYWwpIik7CiAgICB9CiAgZWxzZQogICAgewogICAgICBpZiAoISAk
c2Vlbl9hdXRvbWFrZV92ZXJzaW9uKQoJewoJICBpZiAoLWYgJ2FjbG9jYWwubTQnKQoJICAgIHsK
CSAgICAgIGVycm9yICgkc2Vlbl9pbml0X2F1dG9tYWtlLAogICAgICAgICAgICAgICAgICAgICAi
eW91ciBpbXBsZW1lbnRhdGlvbiBvZiBBTV9JTklUX0FVVE9NQUtFIGNvbWVzIGZyb21cbiIgLgog
ICAgICAgICAgICAgICAgICAgICAiYW4gb2xkIEF1dG9tYWtlIHZlcnNpb24uICBZb3Ugc2hvdWxk
IHJ1blxuIiAuCiAgICAgICAgICAgICAgICAgICAgICJhdXRvcmVjb25mIC1mIChvciBvdGhlcndp
c2UgZXJhc2UgYWxsIG9sZCBmaWxlcywgcnVuXG4iIC4KICAgICAgICAgICAgICAgICAgICAgImFj
bG9jYWwgdG8gcmVjcmVhdGUgYWNsb2NhbC5tNCwgYW5kIHJlcnVuIGF1dG9tYWtlKS4iLAoJCSAg
ICAgIyAkPyA9IDYzIGlzIHVzZWQgdG8gaW5kaWNhdGUgdmVyc2lvbiBtaXNtYXRjaCB0byBtaXNz
aW5nLgoJCSAgICAgZXhpdF9jb2RlID0+IDYzKTsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAg
ICBlcnJvciAoJHNlZW5faW5pdF9hdXRvbWFrZSwKCQkgICAgICJubyBwcm9wZXIgaW1wbGVtZW50
YXRpb24gb2YgQU1fSU5JVF9BVVRPTUFLRSB3YXMgIiAuCgkJICAgICAiZm91bmQsXG5wcm9iYWJs
eSBiZWNhdXNlIGFjbG9jYWwubTQgaXMgbWlzc2luZy5cbiIgLgoJCSAgICAgIllvdSBzaG91bGQg
cnVuIGF1dG9yZWNvbmYgLWYgKG9yIGFjbG9jYWwgdG8gY3JlYXRlXG4iIC4KCQkgICAgICJ0aGlz
IGZpbGUsIHRoZW4gcmVydW4gYXV0b21ha2UpLiIpOwoJICAgIH0KCX0KICAgIH0KCiAgbG9jYXRl
X2F1eF9kaXIgKCk7CgogICMgTG9vayBmb3Igc29tZSBmaWxlcyB3ZSBuZWVkLiAgQWx3YXlzIGNo
ZWNrIGZvciB0aGVzZS4gIFRoaXMKICAjIGNoZWNrIG11c3QgYmUgZG9uZSBmb3IgZXZlcnkgcnVu
LCBldmVuIHRob3NlIHdoZXJlIHdlIGFyZSBvbmx5CiAgIyBsb29raW5nIGF0IGEgc3ViZGlyIE1h
a2VmaWxlLiAgV2UgbXVzdCBzZXQgcmVsYXRpdmVfZGlyIGZvcgogICMgcHVzaF9yZXF1aXJlZF9m
aWxlIHRvIHdvcmsuCiAgIyBTb3J0IHRoZSBmaWxlcyBmb3Igc3RhYmxlIHZlcmJvc2Ugb3V0cHV0
LgogICRyZWxhdGl2ZV9kaXIgPSAnLic7CiAgZm9yZWFjaCBteSAkZmlsZSAoc29ydCBrZXlzICVy
ZXF1aXJlZF9hdXhfZmlsZSkKICAgIHsKICAgICAgcmVxdWlyZV9jb25mX2ZpbGUgKCRyZXF1aXJl
ZF9hdXhfZmlsZXskZmlsZX0tPmdldCwgRk9SRUlHTiwgJGZpbGUpCiAgICB9CgogIG15ICRhdXhk
aXJfaW5zdGFsbF9kb3Rfc2ggPSAiJGNvbmZpZ19hdXhfZGlyL2luc3RhbGwuc2giOwogICMgTWF5
YmUgdGhlcmUgaXMgYSB3YXkgdG8gcmVwb3J0IHRoZSBsaW5lIG51bWJlciBvZiB0aGUKICAjIEFD
X0NPTkZJR19BVVhfRElSIGNhbGwgaW4gY29uZmlndXJlLmFjPyBEb24ndCBrbm93LgogIG1zZyAn
b2Jzb2xldGUnLCAiJGNvbmZpZ3VyZV9hYyIsICInaW5zdGFsbC5zaCcgaXMgYW4gYW5hY2hyb25p
c21cbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAiICAoZm91bmQgaW4gJGF1
eGRpcl9pbnN0YWxsX2RvdF9zaCxcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LiAiICAgZGVmaW5lZCBieSBBQ19DT05GSUdfQVVYX0RJUik7XG4iCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC4gIiAgdXNlICdpbnN0YWxsLXNoJyBpbnN0ZWFkIgogICAgaWYgLWYg
JGF1eGRpcl9pbnN0YWxsX2RvdF9zaDsKCiAgIyBQcmVzZXJ2ZSBkaXN0X2NvbW1vbiBmb3IgbGF0
ZXIuCiAgQGNvbmZpZ3VyZV9kaXN0X2NvbW1vbiA9IEBkaXN0X2NvbW1vbjsKfQoKIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoK
IyBEbyBhbnkgZXh0cmEgY2hlY2tpbmcgZm9yIEdOVSBzdGFuZGFyZHMuCnN1YiBjaGVja19nbnVf
c3RhbmRhcmRzICgpCnsKICBpZiAoJHJlbGF0aXZlX2RpciBlcSAnLicpCiAgICB7CiAgICAgICMg
SW4gdG9wIGxldmVsIChvciBvbmx5KSBkaXJlY3RvcnkuCgogICAgICBmb3JlYWNoIG15ICRmaWxl
IChAdG9wbGV2ZWxtZF9vaykKICAgICAgICB7CiAgICAgICAgICBuZXh0IGlmICRmaWxlIGVxICdU
SEFOS1MnOyAjIGduaXRzLCBjaGVja2VkIGJlbG93CiAgICAgICAgICAjIGlmIG5vbi0ubWQgaXMg
YWJzZW50LCBhbmQgLm1kIGlzIHByZXNlbnQsIHJlcXVpcmUgLm1kOwogICAgICAgICAgIyBvdGhl
cndpc2UgcmVxdWlyZSBub24tLm1kLgogICAgICAgICAgbXkgJHJlcXVpcmVkCiAgICAgICAgICAg
PSAoISAtZiAkZmlsZSAmJiAtZiAiJGZpbGUubWQiKSA/ICIkZmlsZS5tZCIgOiAkZmlsZTsKICAg
ICAgICAgIHJlcXVpcmVfZmlsZSAoIiRhbV9maWxlLmFtIiwgR05VLCAkcmVxdWlyZWQpOwogICAg
ICAgIH0KCiAgICAgICMgQWNjZXB0IG9uZSBvZiB0aGVzZSB0aHJlZSBsaWNlbnNlczsgZGVmYXVs
dCB0byBDT1BZSU5HLgogICAgICAjIE1ha2Ugc3VyZSB3ZSBkbyBub3Qgb3ZlcndyaXRlIGFuIGV4
aXN0aW5nIGxpY2Vuc2UuCiAgICAgIG15ICRsaWNlbnNlOwogICAgICBmb3JlYWNoIChxdyAvQ09Q
WUlORyBDT1BZSU5HLkxJQiBDT1BZSU5HLkxFU1NFUi8pCgl7CgkgIGlmICgtZiAkXykKCSAgICB7
CgkgICAgICAkbGljZW5zZSA9ICRfOwoJICAgICAgbGFzdDsKCSAgICB9Cgl9CiAgICAgIHJlcXVp
cmVfZmlsZSAoIiRhbV9maWxlLmFtIiwgR05VLCAnQ09QWUlORycpCgl1bmxlc3MgJGxpY2Vuc2U7
CiAgICB9CgogIGZvciBteSAkb3B0ICgnbm8taW5zdGFsbG1hbicsICduby1pbnN0YWxsaW5mbycp
CiAgICB7CiAgICAgIG1zZyAoJ2Vycm9yLWdudScsIG9wdGlvbiAkb3B0LAoJICAgIm9wdGlvbiAn
JG9wdCcgZGlzYWxsb3dlZCBieSBHTlUgc3RhbmRhcmRzIikKCWlmIG9wdGlvbiAkb3B0OwogICAg
fQp9CgojIERvIGFueSBleHRyYSBjaGVja2luZyBmb3IgR05JVFMgc3RhbmRhcmRzLgpzdWIgY2hl
Y2tfZ25pdHNfc3RhbmRhcmRzICgpCnsKICBpZiAoJHJlbGF0aXZlX2RpciBlcSAnLicpCiAgICB7
CiAgICAgICMgSW4gdG9wIGxldmVsIChvciBvbmx5KSBkaXJlY3RvcnkuCiAgICAgIG15ICRmaWxl
ID0gJ1RIQU5LUyc7CiAgICAgIG15ICRyZXF1aXJlZAogICAgICAgPSAoISAtZiAkZmlsZSAmJiAt
ZiAiJGZpbGUubWQiKSA/ICIkZmlsZS5tZCIgOiAkZmlsZTsKICAgICAgcmVxdWlyZV9maWxlICgi
JGFtX2ZpbGUuYW0iLCBHTklUUywgJGZpbGUpOwogICAgfQp9CgojIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMKIyBGdW5jdGlv
bnMgdG8gaGFuZGxlIGZpbGVzIG9mIGVhY2ggbGFuZ3VhZ2UuCgojIEVhY2ggJ2xhbmdfWF9yZXdy
aXRlKCRESVJFQ1RPUlksICRCQVNFLCAkRVhUKScgZnVuY3Rpb24gZm9sbG93cyBhCiMgc2ltcGxl
IGZvcm11bGE6IFJldHVybiB2YWx1ZSBpcyBMQU5HX1NVQkRJUiBpZiB0aGUgcmVzdWx0aW5nIG9i
amVjdAojIGZpbGUgc2hvdWxkIGJlIGluIGEgc3ViZGlyIGlmIHRoZSBzb3VyY2UgZmlsZSBpcywg
TEFOR19QUk9DRVNTIGlmCiMgZmlsZSBpcyB0byBiZSBkZWFsdCB3aXRoLCBMQU5HX0lHTk9SRSBv
dGhlcndpc2UuCgojIE11Y2ggb2YgdGhlIGFjdHVhbCBwcm9jZXNzaW5nIGlzIGhhbmRsZWQgaW4K
IyBoYW5kbGVfc2luZ2xlX3RyYW5zZm9ybS4gIFRoZXNlIGZ1bmN0aW9ucyBleGlzdCBzbyB0aGF0
CiMgYXV4aWxpYXJ5IGluZm9ybWF0aW9uIGNhbiBiZSByZWNvcmRlZCBmb3IgYSBsYXRlciBjbGVh
bnVwIHBhc3MuCiMgTm90ZSB0aGF0IHRoZSBjYWxscyB0byB0aGVzZSBmdW5jdGlvbnMgYXJlIGNv
bXB1dGVkLCBzbyBkb24ndCBib3RoZXIKIyBzZWFyY2hpbmcgZm9yIHRoZWlyIHByZWNpc2UgbmFt
ZXMgaW4gdGhlIHNvdXJjZS4KCiMgVGhpcyBpcyBqdXN0IGEgY29udmVuaWVuY2UgZnVuY3Rpb24g
dGhhdCBjYW4gYmUgdXNlZCB0byBkZXRlcm1pbmUKIyB3aGVuIGEgc3ViZGlyIG9iamVjdCBzaG91
bGQgYmUgdXNlZC4Kc3ViIGxhbmdfc3ViX29iaiAoKQp7CiAgICByZXR1cm4gb3B0aW9uICdzdWJk
aXItb2JqZWN0cycgPyBMQU5HX1NVQkRJUiA6IExBTkdfUFJPQ0VTUzsKfQoKIyBSZXdyaXRlIGEg
c2luZ2xlIGhlYWRlciBmaWxlLgpzdWIgbGFuZ19oZWFkZXJfcmV3cml0ZQp7CiAgICAjIEhlYWRl
ciBmaWxlcyBhcmUgc2ltcGx5IGlnbm9yZWQuCiAgICByZXR1cm4gTEFOR19JR05PUkU7Cn0KCiMg
UmV3cml0ZSBhIHNpbmdsZSBWYWxhIHNvdXJjZSBmaWxlLgpzdWIgbGFuZ192YWxhX3Jld3JpdGUK
ewogICAgbXkgKCRkaXJlY3RvcnksICRiYXNlLCAkZXh0KSA9IEBfOwoKICAgIChteSAkbmV3ZXh0
ID0gJGV4dCkgPX4gcy92YWxhJC9jLzsKICAgIHJldHVybiAoTEFOR19TVUJESVIsICRuZXdleHQp
Owp9CgojIFJld3JpdGUgYSBzaW5nbGUgeWFjYy95YWNjKysgZmlsZS4Kc3ViIGxhbmdfeWFjY19y
ZXdyaXRlCnsKICAgIG15ICgkZGlyZWN0b3J5LCAkYmFzZSwgJGV4dCkgPSBAXzsKCiAgICBteSAk
ciA9IGxhbmdfc3ViX29iajsKICAgIChteSAkbmV3ZXh0ID0gJGV4dCkgPX4gdHIveS9jLzsKICAg
IHJldHVybiAoJHIsICRuZXdleHQpOwp9CnN1YiBsYW5nX3lhY2N4eF9yZXdyaXRlIHsgbGFuZ195
YWNjX3Jld3JpdGUgKEBfKTsgfTsKCiMgUmV3cml0ZSBhIHNpbmdsZSBsZXgvbGV4KysgZmlsZS4K
c3ViIGxhbmdfbGV4X3Jld3JpdGUKewogICAgbXkgKCRkaXJlY3RvcnksICRiYXNlLCAkZXh0KSA9
IEBfOwoKICAgIG15ICRyID0gbGFuZ19zdWJfb2JqOwogICAgKG15ICRuZXdleHQgPSAkZXh0KSA9
fiB0ci9sL2MvOwogICAgcmV0dXJuICgkciwgJG5ld2V4dCk7Cn0Kc3ViIGxhbmdfbGV4eHhfcmV3
cml0ZSB7IGxhbmdfbGV4X3Jld3JpdGUgKEBfKTsgfTsKCiMgUmV3cml0ZSBhIHNpbmdsZSBKYXZh
IGZpbGUuCnN1YiBsYW5nX2phdmFfcmV3cml0ZQp7CiAgICByZXR1cm4gTEFOR19TVUJESVI7Cn0K
CiMgVGhlIGxhbmdfWF9maW5pc2ggZnVuY3Rpb25zIGFyZSBjYWxsZWQgYWZ0ZXIgYWxsIHNvdXJj
ZSBmaWxlCiMgcHJvY2Vzc2luZyBpcyBkb25lLiAgRWFjaCBzaG91bGQgaGFuZGxlIGRlZmluaW5n
IHJ1bGVzIGZvciB0aGUKIyBsYW5ndWFnZSwgZXRjLiAgQSBmaW5pc2ggZnVuY3Rpb24gaXMgb25s
eSBjYWxsZWQgaWYgYSBzb3VyY2UgZmlsZSBvZgojIHRoZSBhcHByb3ByaWF0ZSB0eXBlIGhhcyBi
ZWVuIHNlZW4uCgpzdWIgbGFuZ192YWxhX2ZpbmlzaF90YXJnZXQKewogIG15ICgkc2VsZiwgJG5h
bWUpID0gQF87CgogIG15ICRkZXJpdmVkID0gY2Fub25pY2FsaXplICgkbmFtZSk7CiAgbXkgJHZh
ciA9IHZhciAiJHtkZXJpdmVkfV9TT1VSQ0VTIjsKICByZXR1cm4gdW5sZXNzICR2YXI7CgogIG15
IEB2YWxhX3NvdXJjZXMgPSBncmVwIHsgL1wuKHZhbGF8dmFwaSkkLyB9ICgkdmFyLT52YWx1ZV9h
c19saXN0X3JlY3Vyc2l2ZSk7CgogICMgRm9yIGF1dG9tYWtlIGJ1ZyMxMTIyOS4KICByZXR1cm4g
dW5sZXNzIEB2YWxhX3NvdXJjZXM7CgogIGZvcmVhY2ggbXkgJHZhbGFfZmlsZSAoQHZhbGFfc291
cmNlcykKICAgIHsKICAgICAgbXkgJGNfZmlsZSA9ICR2YWxhX2ZpbGU7CiAgICAgIGlmICgkY19m
aWxlID1+IHMvKC4qKVwudmFsYSQvJDEuYy8pCiAgICAgICAgewogICAgICAgICAgbXkgJGJ1aWx0
X2NfZmlsZSA9ICJcJChidWlsZGRpcikvJGNfZmlsZSI7CiAgICAgICAgICBteSAkYnVpbHRfZGly
ID0gZGlybmFtZSAkYnVpbHRfY19maWxlOwogICAgICAgICAgbXkgJGJhc2VfY19maWxlID0gYmFz
ZW5hbWUgJGNfZmlsZTsKICAgICAgICAgICMKICAgICAgICAgICMgVGhlIC1uZXdlciB0ZXN0IGhl
cmUgaXMgY2hlY2tpbmcgIkMgZmlsZSBub3Qgb2xkZXIgdGhhbiBWYWxhCiAgICAgICAgICAjIGZp
bGUiLCByYXRoZXIgdGhhbiAiQyBmaWxlIG5ld2VyIHRoYW4gVmFsYSBmaWxlIjsgc2VlCiAgICAg
ICAgICAjIGh0dHBzOi8vYnVncy5nbnUub3JnLzQ0NzcyLiBUaGUgbG9nIG1lc3NhZ2Ugb24gdGhl
IGNvbW1pdAogICAgICAgICAgIyBtaXNsZWFkaW5nbHkgc2F5cyAicmV2ZXJzZWQiLgogICAgICAg
ICAgIwogICAgICAgICAgJG91dHB1dF9ydWxlcyAuPSAiJGJ1aWx0X2NfZmlsZTogXCQoYnVpbGRk
aXIpLyR7ZGVyaXZlZH1fdmFsYS5zdGFtcFxuIgogICAgICAgICAgICAuICJcdFxAaWYgdGVzdCAh
IC1mIFwkQCAmJiB0ZXN0IFwkKHNyY2RpcikgIT0gXCQoYnVpbGRkaXIpICYmIHRlc3QgLW4gXCJc
JFwkKGZpbmQgLUwgXCQoc3JjZGlyKS8kdmFsYV9maWxlIC1wcnVuZSBcISAtbmV3ZXIgXCQoc3Jj
ZGlyKS8kY19maWxlKVwiOyB0aGVuIGNwIC1wIFwkKHNyY2RpcikvJGNfZmlsZSAkYnVpbHRfY19m
aWxlOyBmaVxuIgogICAgICAgICAgICAuICJcdFxAaWYgdGVzdCAtZiBcJEA7IHRoZW4gOjsgZWxz
ZSBybSAtZiBcJChidWlsZGRpcikvJHtkZXJpdmVkfV92YWxhLnN0YW1wOyBmaVxuIgogICAgICAg
ICAgICAuICJcdFxAaWYgdGVzdCAtZiBcJEA7IHRoZW4gOjsgZWxzZSBcXFxuIgogICAgICAgICAg
ICAuICJcdCAgXCQoTUFLRSkgXCQoQU1fTUFLRUZMQUdTKSBcJChidWlsZGRpcikvJHtkZXJpdmVk
fV92YWxhLnN0YW1wOyBcXFxuIgogICAgICAgICAgICAuICJcdCAgaWYgdGVzdCAkYnVpbHRfZGly
ICE9IC47IHRoZW4gbXYgJGJhc2VfY19maWxlICRidWlsdF9kaXIvOyBmaSBcXFxuIgogICAgICAg
ICAgICAuICJcdGZpXG4iOwoJICAkY2xlYW5fZmlsZXN7JGJ1aWx0X2NfZmlsZX0gPSBESVNUX0NM
RUFOOwoJICAkY2xlYW5fZmlsZXN7IlwkKHNyY2RpcikvJGNfZmlsZSJ9ID0gTUFJTlRBSU5FUl9D
TEVBTjsKICAgICAgICB9CiAgICB9CgogICMgQWRkIHJlYnVpbGQgcnVsZXMgZm9yIGdlbmVyYXRl
ZCBoZWFkZXIgYW5kIHZhcGkgZmlsZXMKICBteSAkZmxhZ3MgPSB2YXIgKCRkZXJpdmVkIC4gJ19W
QUxBRkxBR1MnKTsKICBpZiAoJGZsYWdzKQogICAgewogICAgICBteSAkbGFzdGZsYWcgPSAnJzsK
ICAgICAgZm9yZWFjaCBteSAkZmxhZyAoJGZsYWdzLT52YWx1ZV9hc19saXN0X3JlY3Vyc2l2ZSkK
CXsKCSAgaWYgKGdyZXAgKC9eJGxhc3RmbGFnJC8sICgnLUgnLCAnLWgnLCAnLS1oZWFkZXInLCAn
LS1pbnRlcm5hbC1oZWFkZXInLAoJICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLXZhcGkn
LCAnLS1pbnRlcm5hbC12YXBpJywgJy0tZ2lyJykpKQoJICAgIHsKCSAgICAgIG15ICRoZWFkZXJm
aWxlID0gIlwkKGJ1aWxkZGlyKS8kZmxhZyI7CgkgICAgICAkb3V0cHV0X3J1bGVzIC49ICIkaGVh
ZGVyZmlsZTogXCQoYnVpbGRkaXIpLyR7ZGVyaXZlZH1fdmFsYS5zdGFtcFxuIgoJCS4gIlx0XEBp
ZiB0ZXN0IC1mIFwkQDsgdGhlbiA6OyBlbHNlIHJtIC1mIFwkKGJ1aWxkZGlyKS8ke2Rlcml2ZWR9
X3ZhbGEuc3RhbXA7IGZpXG4iCgkJLiAiXHRcQGlmIHRlc3QgLWYgXCRAOyB0aGVuIDo7IGVsc2Ug
XFxcbiIKCQkuICJcdCAgXCQoTUFLRSkgXCQoQU1fTUFLRUZMQUdTKSBcJChidWlsZGRpcikvJHtk
ZXJpdmVkfV92YWxhLnN0YW1wOyBcXFxuIgoJCS4gIlx0ZmlcbiI7CgoJICAgICAgIyB2YWxhYyBp
cyBub3QgdXNlZCB3aGVuIGJ1aWxkaW5nIGZyb20gZGlzdCB0YXJiYWxscwoJICAgICAgIyBkaXN0
cmlidXRlIHRoZSBnZW5lcmF0ZWQgZmlsZXMKCSAgICAgIHB1c2hfZGlzdF9jb21tb24gKCRoZWFk
ZXJmaWxlKTsKCSAgICAgICRjbGVhbl9maWxlc3skaGVhZGVyZmlsZX0gPSBNQUlOVEFJTkVSX0NM
RUFOOwoJICAgIH0KCSAgaWYgKGdyZXAgKC8kbGFzdGZsYWcvLCAoJy0tbGlicmFyeScpKSkKCSAg
ICB7CgkgICAgICBteSAkaGVhZGVyZmlsZSA9ICJcJChidWlsZGRpcikvJGZsYWciOwoJICAgICAg
JG91dHB1dF9ydWxlcyAuPSAiJGhlYWRlcmZpbGUudmFwaTogXCQoYnVpbGRkaXIpLyR7ZGVyaXZl
ZH1fdmFsYS5zdGFtcFxuIgoJCS4gIlx0XEBpZiB0ZXN0IC1mIFwkQDsgdGhlbiA6OyBlbHNlIHJt
IC1mIFwkKGJ1aWxkZGlyKS8ke2Rlcml2ZWR9X3ZhbGEuc3RhbXA7IGZpXG4iCgkJLiAiXHRcQGlm
IHRlc3QgLWYgXCRAOyB0aGVuIDo7IGVsc2UgXFxcbiIKCQkuICJcdCAgXCQoTUFLRSkgXCQoQU1f
TUFLRUZMQUdTKSBcJChidWlsZGRpcikvJHtkZXJpdmVkfV92YWxhLnN0YW1wOyBcXFxuIgoJCS4g
Ilx0ZmlcbiI7CgoJICAgICAgIyB2YWxhYyBpcyBub3QgdXNlZCB3aGVuIGJ1aWxkaW5nIGZyb20g
ZGlzdCB0YXJiYWxscwoJICAgICAgIyBkaXN0cmlidXRlIHRoZSBnZW5lcmF0ZWQgZmlsZXMKCSAg
ICAgIG15ICR2YXBpID0gIiRoZWFkZXJmaWxlLnZhcGkiOwoJICAgICAgcHVzaF9kaXN0X2NvbW1v
biAoJHZhcGkpOwoJICAgICAgJGNsZWFuX2ZpbGVzeyRoZWFkZXJmaWxlLicudmFwaSd9ID0gTUFJ
TlRBSU5FUl9DTEVBTjsKCSAgICB9CgkgICRsYXN0ZmxhZyA9ICRmbGFnOwoJfQogICAgfQoKICBt
eSAkY29tcGlsZSA9ICRzZWxmLT5jb21waWxlOwoKICAjIFJld3JpdGUgZWFjaCBvY2N1cnJlbmNl
IG9mICdBTV9WQUxBRkxBR1MnIGluIHRoZSBjb21waWxlCiAgIyBydWxlIGludG8gJyR7ZGVyaXZl
ZH1fVkFMQUZMQUdTJyBpZiBpdCBleGlzdHMuCiAgbXkgJHZhbCA9ICIke2Rlcml2ZWR9X1ZBTEFG
TEFHUyI7CiAgJGNvbXBpbGUgPX4gcy9cKEFNX1ZBTEFGTEFHU1wpL1woJHZhbFwpLwogICAgaWYg
c2V0X3NlZW4gKCR2YWwpOwoKICAjIFZBTEFGTEFHUyBpcyBhIHVzZXIgdmFyaWFibGUgKHBlciBH
TlUgU3RhbmRhcmRzKSwKICAjIGl0IHNob3VsZCBub3QgYmUgb3ZlcnJpZGRlbiBpbiB0aGUgTWFr
ZWZpbGUuLi4KICBjaGVja191c2VyX3ZhcmlhYmxlcyAnVkFMQUZMQUdTJzsKCiAgbXkgJGRpcm5h
bWUgPSBkaXJuYW1lICgkbmFtZSk7CgogICMgT25seSBnZW5lcmF0ZSBDIGNvZGUsIGRvIG5vdCBy
dW4gQyBjb21waWxlcgogICRjb21waWxlIC49ICIgLUMiOwoKICBteSAkdmVyYm9zZSA9IHZlcmJv
c2VfZmxhZyAoJ1ZBTEFDJyk7CiAgbXkgJHNpbGVudCA9IHNpbGVudF9mbGFnICgpOwogIG15ICRz
dGFtcGZpbGUgPSAiXCQoYnVpbGRkaXIpLyR7ZGVyaXZlZH1fdmFsYS5zdGFtcCI7CgogICRvdXRw
dXRfcnVsZXMgLj0KICAgICJcJChidWlsZGRpcikvJHtkZXJpdmVkfV92YWxhLnN0YW1wOiBAdmFs
YV9zb3VyY2VzXG4iLgojIFNpbmNlIHRoZSBDIGZpbGVzIGdlbmVyYXRlZCBmcm9tIHRoZSB2YWxh
IHNvdXJjZXMgZGVwZW5kIG9uIHRoZQojICR7ZGVyaXZlZH1fdmFsYS5zdGFtcCBmaWxlLCB3ZSBt
dXN0IGVuc3VyZSBpdHMgdGltZXN0YW1wIGlzIG9sZGVyIHRoYW4KIyB0aG9zZSBvZiB0aGUgQyBm
aWxlcyBnZW5lcmF0ZWQgYnkgdGhlIHZhbGFjIGludm9jYXRpb24gYmVsb3cgKHRoaXMgaXMKIyBl
c3BlY2lhbGx5IGltcG9ydGFudCBvbiBzeXN0ZW1zIHdpdGggc3ViLXNlY29uZCB0aW1lc3RhbXAg
cmVzb2x1dGlvbikuCiMgVGh1cyB3ZSBuZWVkIHRvIGNyZWF0ZSB0aGUgc3RhbXAgZmlsZSAqYmVm
b3JlKiBpbnZva2luZyB2YWxhYywgYW5kIHRvCiMgbW92ZSBpdCB0byBpdHMgZmluYWwgbG9jYXRp
b24gb25seSBhZnRlciB2YWxhYyBoYXMgYmVlbiBpbnZva2VkLgogICAgIlx0JHtzaWxlbnR9cm0g
LWYgXCRcQCAmJiBlY2hvIHN0YW1wID4gXCRcQC10XG4iLgogICAgIlx0JHt2ZXJib3NlfSRjb21w
aWxlIFwkXlxuIi4KICAgICJcdCR7c2lsZW50fW12IC1mIFwkXEAtdCBcJFxAXG4iOwoKICBwdXNo
X2Rpc3RfY29tbW9uICgkc3RhbXBmaWxlKTsKCiAgJGNsZWFuX2ZpbGVzeyRzdGFtcGZpbGV9ID0g
TUFJTlRBSU5FUl9DTEVBTjsKfQoKIyBBZGQgb3V0cHV0IHJ1bGVzIHRvIGludm9rZSB2YWxhYyBh
bmQgY3JlYXRlIHN0YW1wIGZpbGUgYXMgYSB3aXRuZXNzCiMgdG8gaGFuZGxlIG11bHRpcGxlIG91
dHB1dHMuIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGFmdGVyIGFsbCBzb3VyY2UKIyBmaWxlIHBy
b2Nlc3NpbmcgaXMgZG9uZS4Kc3ViIGxhbmdfdmFsYV9maW5pc2ggKCkKewogIG15ICgkc2VsZikg
PSBAXzsKCiAgZm9yZWFjaCBteSAkcHJvZyAoc29ydCBrZXlzICVrbm93bl9wcm9ncmFtcykKICAg
IHsKICAgICAgbGFuZ192YWxhX2ZpbmlzaF90YXJnZXQgKCRzZWxmLCAkcHJvZyk7CiAgICB9Cgog
IHdoaWxlIChteSAoJG5hbWUpID0gZWFjaCAla25vd25fbGlicmFyaWVzKQogICAgewogICAgICBs
YW5nX3ZhbGFfZmluaXNoX3RhcmdldCAoJHNlbGYsICRuYW1lKTsKICAgIH0KfQoKIyBUaGUgYnVp
bHQgLmMgZmlsZXMgc2hvdWxkIGJlIGNsZWFuZWQgb25seSBvbiBtYWludGFpbmVyLWNsZWFuCiMg
YXMgdGhlIC5jIGZpbGVzIGFyZSBkaXN0cmlidXRlZC4gVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQg
Zm9yIGVhY2gKIyAudmFsYSBzb3VyY2UgZmlsZS4Kc3ViIGxhbmdfdmFsYV90YXJnZXRfaG9vawp7
CiAgbXkgKCRzZWxmLCAkYWdncmVnYXRlLCAkb3V0cHV0LCAkaW5wdXQsICV0cmFuc2Zvcm0pID0g
QF87CgogICRjbGVhbl9maWxlc3skb3V0cHV0fSA9IE1BSU5UQUlORVJfQ0xFQU47Cn0KCiMgVGhp
cyBpcyBhIHlhY2MgaGVscGVyIHdoaWNoIGlzIGNhbGxlZCB3aGVuZXZlciB3ZSBoYXZlIGRlY2lk
ZWQgdG8KIyBjb21waWxlIGEgeWFjYyBmaWxlLgpzdWIgbGFuZ195YWNjX3RhcmdldF9ob29rCnsK
ICAgIG15ICgkc2VsZiwgJGFnZ3JlZ2F0ZSwgJG91dHB1dCwgJGlucHV0LCAldHJhbnNmb3JtKSA9
IEBfOwoKICAgICMgSWYgc29tZSByZWxldmFudCAqWUZMQUdTIHZhcmlhYmxlIGNvbnRhaW5zIHRo
ZSAnLWQnIGZsYWcsIHdlJ2xsCiAgICAjIGhhdmUgdG8gZ2VuZXJhdGUgc3BlY2lhbCBjb2RlLgog
ICAgbXkgJHlmbGFnc19jb250YWluc19taW51c19kID0gMDsKCiAgICBmb3JlYWNoIG15ICRwZngg
KCIiLCAiJHthZ2dyZWdhdGV9XyIpCiAgICAgIHsKCW15ICR5ZmxhZ3N2YXIgPSB2YXIgKCIke3Bm
eH1ZRkxBR1MiKTsKCW5leHQgdW5sZXNzICR5ZmxhZ3N2YXI7CgkjIFdlIGNhbm5vdCB3b3JrIHJl
bGlhYmx5IHdpdGggY29uZGl0aW9uYWxseS1kZWZpbmVkIFlGTEFHUy4KCWlmICgkeWZsYWdzdmFy
LT5oYXNfY29uZGl0aW9uYWxfY29udGVudHMpCgkgIHsKCSAgICBtc2dfdmFyICgndW5zdXBwb3J0
ZWQnLCAkeWZsYWdzdmFyLAoJICAgICAgICAgICAgICInJHtwZnh9WUZMQUdTJyBjYW5ub3QgaGF2
ZSBjb25kaXRpb25hbCBjb250ZW50cyIpOwoJICB9CgllbHNlCgkgIHsKCSAgICAkeWZsYWdzX2Nv
bnRhaW5zX21pbnVzX2QgPSAxCgkgICAgICBpZiBncmVwICgvXi1kJC8sICR5ZmxhZ3N2YXItPnZh
bHVlX2FzX2xpc3RfcmVjdXJzaXZlKTsKCSAgfQogICAgICB9CgogICAgaWYgKCR5ZmxhZ3NfY29u
dGFpbnNfbWludXNfZCkKICAgICAgewoJIyBGb3VuZCBhICctZCcgdGhhdCBhcHBsaWVzIHRvIHRo
ZSBjb21waWxhdGlvbiBvZiB0aGlzIGZpbGUuCgkjIEFkZCBhIGRlcGVuZGVuY3kgZm9yIHRoZSBn
ZW5lcmF0ZWQgaGVhZGVyIGZpbGUsIGFuZCBhcnJhbmdlCgkjIGZvciB0aGF0IGZpbGUgdG8gYmUg
aW5jbHVkZWQgaW4gdGhlIGRpc3RyaWJ1dGlvbi4KCgkjIFRoZSBleHRlbnNpb24gb2YgdGhlIG91
dHB1dCBmaWxlIChlLmcuLCAnLmMnIG9yICcuY3h4JykuCgkjIFdlJ2xsIG5lZWQgaXQgdG8gY29t
cHV0ZSB0aGUgbmFtZSBvZiB0aGUgZ2VuZXJhdGVkIGhlYWRlciBmaWxlLgoJKG15ICRvdXRwdXRf
ZXh0ID0gYmFzZW5hbWUgKCRvdXRwdXQpKSA9fiBzLy4qKFwuW14uXSspJC8kMS87CgoJIyBXZSBr
bm93IHRoYXQgYSB5YWNjIGlucHV0IHNob3VsZCBiZSB0dXJuZWQgaW50byBlaXRoZXIgYSBDIG9y
CgkjIEMrKyBvdXRwdXQgZmlsZS4gIFdlIGRlcGVuZCBvbiB0aGlzIGZhY3QgKGhlcmUgYW5kIGlu
IHlhY2MuYW0pLAoJIyBzbyBjaGVjayB0aGF0IGl0IHJlYWxseSBob2xkcy4KCW15ICRsYW5nID0g
JGxhbmd1YWdlc3skZXh0ZW5zaW9uX21hcHskb3V0cHV0X2V4dH19OwoJcHJvZ19lcnJvciAiaW52
YWxpZCBvdXRwdXQgbmFtZSAnJG91dHB1dCcgZm9yIHlhY2MgZmlsZSAnJGlucHV0JyIKCSAgaWYg
KCEkbGFuZyB8fCAoJGxhbmctPm5hbWUgbmUgJ2MnICYmICRsYW5nLT5uYW1lIG5lICdjeHgnKSk7
CgoJKG15ICRoZWFkZXJfZXh0ID0gJG91dHB1dF9leHQpID1+IHMvYy9oL2c7CiAgICAgICAgIyBR
dW90ZSAkb3V0cHV0X2V4dCBpbiB0aGUgcmVnZXhwLCBzbyB0aGF0IGRvdHMgaW4gaXQgYXJlIHRh
a2VuCiAgICAgICAgIyBhcyBsaXRlcmFsIGRvdHMsIG5vdCBhcyBtZXRhY2hhcmFjdGVycy4KCSht
eSAkaGVhZGVyID0gJG91dHB1dCkgPX4gcy9cUSRvdXRwdXRfZXh0XEUkLyRoZWFkZXJfZXh0LzsK
Cglmb3JlYWNoIG15ICRjb25kIChBdXRvbWFrZTo6UnVsZTo6ZGVmaW5lICgke2hlYWRlcn0sICdp
bnRlcm5hbCcsCgkJCQkJCSAgUlVMRV9BVVRPTUFLRSwgVFJVRSwKCQkJCQkJICBJTlRFUk5BTCkp
CgkgIHsKCSAgICBteSAkY29uZHN0ciA9ICRjb25kLT5zdWJzdF9zdHJpbmc7CgkgICAgJG91dHB1
dF9ydWxlcyAuPQoJICAgICAgIiRjb25kc3RyJHtoZWFkZXJ9OiAkb3V0cHV0XG4iCgkgICAgICAj
IFJlY292ZXIgZnJvbSByZW1vdmFsIG9mICRoZWFkZXIKCSAgICAgIC4gIiRjb25kc3RyXHRcQGlm
IHRlc3QgISAtZiBcJEA7IHRoZW4gcm0gLWYgJG91dHB1dDsgZWxzZSA6OyBmaVxuIgoJICAgICAg
LiAiJGNvbmRzdHJcdFxAaWYgdGVzdCAhIC1mIFwkQDsgdGhlbiBcJChNQUtFKSBcJChBTV9NQUtF
RkxBR1MpICRvdXRwdXQ7IGVsc2UgOjsgZmlcbiI7CgkgIH0KCSMgRGlzdHJpYnV0ZSB0aGUgZ2Vu
ZXJhdGVkIGZpbGUsIHVubGVzcyBpdHMgLnkgc291cmNlIHdhcwoJIyBsaXN0ZWQgaW4gYSBub2Rp
c3RfIHZhcmlhYmxlLiAgKGhhbmRsZV9zb3VyY2VfdHJhbnNmb3JtKCkKCSMgd2lsbCBzZXQgRElT
VF9TT1VSQ0UuKQoJcHVzaF9kaXN0X2NvbW1vbiAoJGhlYWRlcikKCSAgaWYgJHRyYW5zZm9ybXsn
RElTVF9TT1VSQ0UnfTsKCgkjIFRoZSBHTlUgcnVsZXMgc2F5IHRoYXQgeWFjYy9sZXggb3V0cHV0
IGZpbGVzIHNob3VsZCBiZSByZW1vdmVkCgkjIGJ5IG1haW50YWluZXItY2xlYW4uICBIb3dldmVy
LCBpZiB0aGUgZmlsZXMgYXJlIG5vdCBkaXN0cmlidXRlZCwKCSMgdGhlbiB3ZSB3YW50IHRvIHJl
bW92ZSB0aGVtIHdpdGggIm1ha2UgY2xlYW4iOyBvdGhlcndpc2UsCgkjICJtYWtlIGRpc3RjaGVj
ayIgd2lsbCBmYWlsLgoJJGNsZWFuX2ZpbGVzeyRoZWFkZXJ9ID0gJHRyYW5zZm9ybXsnRElTVF9T
T1VSQ0UnfSA/IE1BSU5UQUlORVJfQ0xFQU4gOiBDTEVBTjsKICAgICAgfQogICAgIyBTZWUgdGhl
IGNvbW1lbnQgYWJvdmUgZm9yICRIRUFERVIuCiAgICAkY2xlYW5fZmlsZXN7JG91dHB1dH0gPSAk
dHJhbnNmb3JteydESVNUX1NPVVJDRSd9ID8gTUFJTlRBSU5FUl9DTEVBTiA6IENMRUFOOwp9Cgoj
IFRoaXMgaXMgYSBsZXggaGVscGVyIHdoaWNoIGlzIGNhbGxlZCB3aGVuZXZlciB3ZSBoYXZlIGRl
Y2lkZWQgdG8KIyBjb21waWxlIGEgbGV4IGZpbGUuCnN1YiBsYW5nX2xleF90YXJnZXRfaG9vawp7
CiAgICBteSAoJHNlbGYsICRhZ2dyZWdhdGUsICRvdXRwdXQsICRpbnB1dCwgJXRyYW5zZm9ybSkg
PSBAXzsKICAgICMgVGhlIEdOVSBydWxlcyBzYXkgdGhhdCB5YWNjL2xleCBvdXRwdXQgZmlsZXMg
c2hvdWxkIGJlIHJlbW92ZWQKICAgICMgYnkgbWFpbnRhaW5lci1jbGVhbi4gIEhvd2V2ZXIsIGlm
IHRoZSBmaWxlcyBhcmUgbm90IGRpc3RyaWJ1dGVkLAogICAgIyB0aGVuIHdlIHdhbnQgdG8gcmVt
b3ZlIHRoZW0gd2l0aCAibWFrZSBjbGVhbiI7IG90aGVyd2lzZSwKICAgICMgIm1ha2UgZGlzdGNo
ZWNrIiB3aWxsIGZhaWwuCiAgICAkY2xlYW5fZmlsZXN7JG91dHB1dH0gPSAkdHJhbnNmb3JteydE
SVNUX1NPVVJDRSd9ID8gTUFJTlRBSU5FUl9DTEVBTiA6IENMRUFOOwp9CgojIFRoaXMgaXMgYSBo
ZWxwZXIgZm9yIGJvdGggbGV4IGFuZCB5YWNjLgpzdWIgeWFjY19sZXhfZmluaXNoX2hlbHBlciAo
KQp7CiAgcmV0dXJuIGlmIGRlZmluZWQgJGxhbmd1YWdlX3NjcmF0Y2h7J2xleC15YWNjLWRvbmUn
fTsKICAkbGFuZ3VhZ2Vfc2NyYXRjaHsnbGV4LXlhY2MtZG9uZSd9ID0gMTsKCiAgIyBGSVhNRTog
Zm9yIG5vdywgbm8gbGluZSBudW1iZXIuCiAgcmVxdWlyZV9jb25mX2ZpbGUgKCRjb25maWd1cmVf
YWMsIEZPUkVJR04sICd5bHdyYXAnKTsKICBkZWZpbmVfdmFyaWFibGUgKCdZTFdSQVAnLCAiJGFt
X2NvbmZpZ19hdXhfZGlyL3lsd3JhcCIsIElOVEVSTkFMKTsKfQoKc3ViIGxhbmdfeWFjY19maW5p
c2ggKCkKewogIHJldHVybiBpZiBkZWZpbmVkICRsYW5ndWFnZV9zY3JhdGNoeyd5YWNjLWRvbmUn
fTsKICAkbGFuZ3VhZ2Vfc2NyYXRjaHsneWFjYy1kb25lJ30gPSAxOwoKICByZWplY3RfdmFyICdZ
QUNDRkxBR1MnLCAiJ1lBQ0NGTEFHUycgb2Jzb2xldGU7IHVzZSAnWUZMQUdTJyBpbnN0ZWFkIjsK
CiAgeWFjY19sZXhfZmluaXNoX2hlbHBlcjsKfQoKCnN1YiBsYW5nX2xleF9maW5pc2ggKCkKewog
IHJldHVybiBpZiBkZWZpbmVkICRsYW5ndWFnZV9zY3JhdGNoeydsZXgtZG9uZSd9OwogICRsYW5n
dWFnZV9zY3JhdGNoeydsZXgtZG9uZSd9ID0gMTsKCiAgeWFjY19sZXhfZmluaXNoX2hlbHBlcjsK
fQoKCiMgR2l2ZW4gYSBoYXNoIHRhYmxlIG9mIGxpbmtlciBuYW1lcywgcGljayB0aGUgbmFtZSB0
aGF0IGhhcyB0aGUgbW9zdAojIHByZWNlZGVuY2UuICBUaGlzIGlzIGxhbWUsIGJ1dCBzb21ldGhp
bmcgaGFzIHRvIGhhdmUgZ2xvYmFsCiMga25vd2xlZGdlIGluIG9yZGVyIHRvIGVsaW1pbmF0ZSB0
aGUgY29uZmxpY3QuICBBZGQgbW9yZSBsaW5rZXJzIGFzCiMgcmVxdWlyZWQuCnN1YiByZXNvbHZl
X2xpbmtlcgp7CiAgICBteSAoJWxpbmtlcnMpID0gQF87CgogICAgZm9yZWFjaCBteSAkbCAocXco
R0NKTElOSyBPQkpDWFhMSU5LIENYWExJTksgRjc3TElOSyBGQ0xJTksKICAgICAgICAgICAgICAg
ICAgICAgIE9CSkNMSU5LIFVQQ0xJTksgQTY4TElOSykpCiAgICB7CglyZXR1cm4gJGwgaWYgZGVm
aW5lZCAkbGlua2Vyc3skbH07CiAgICB9CiAgICByZXR1cm4gJ0xJTksnOwp9CgojIENhbGxlZCB0
byBpbmRpY2F0ZSB0aGF0IGFuIGV4dGVuc2lvbiB3YXMgdXNlZC4Kc3ViIHNhd19leHRlbnNpb24K
ewogICAgbXkgKCRleHQpID0gQF87CiAgICAkZXh0ZW5zaW9uX3NlZW57JGV4dH0gPSAxOwp9Cgoj
IHJlZ2lzdGVyX2xhbmd1YWdlICglQVRUUklCVVRFKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQojIFJlZ2lzdGVyIGEgc2luZ2xlIGxhbmd1YWdlLgojIEVhY2ggJUFUVFJJQlVURSBp
cyBvZiB0aGUgZm9ybSBBVFRSSUJVVEUgPT4gVkFMVUUuCnN1YiByZWdpc3Rlcl9sYW5ndWFnZQp7
CiAgbXkgKCVvcHRpb24pID0gQF87CgogICMgU2V0IHRoZSBkZWZhdWx0cy4KICAkb3B0aW9ueydh
dXRvZGVwJ30gPSAnbm8nCiAgICB1bmxlc3MgZGVmaW5lZCAkb3B0aW9ueydhdXRvZGVwJ307CiAg
JG9wdGlvbnsnbGlua2VyJ30gPSAnJwogICAgdW5sZXNzIGRlZmluZWQgJG9wdGlvbnsnbGlua2Vy
J307CiAgJG9wdGlvbnsnZmxhZ3MnfSA9IFtdCiAgICB1bmxlc3MgZGVmaW5lZCAkb3B0aW9ueydm
bGFncyd9OwogICRvcHRpb257J291dHB1dF9leHRlbnNpb25zJ30gPSBzdWIgeyByZXR1cm4gKCAn
LiQoT0JKRVhUKScsICcubG8nICkgfQogICAgdW5sZXNzIGRlZmluZWQgJG9wdGlvbnsnb3V0cHV0
X2V4dGVuc2lvbnMnfTsKICAkb3B0aW9ueydub2Rpc3Rfc3BlY2lmaWMnfSA9IDAKICAgIHVubGVz
cyBkZWZpbmVkICRvcHRpb257J25vZGlzdF9zcGVjaWZpYyd9OwoKICBteSAkbGFuZyA9IG5ldyBB
dXRvbWFrZTo6TGFuZ3VhZ2UgKCVvcHRpb24pOwoKICAjIEZpbGwgaW5kZXhlcy4KICAkZXh0ZW5z
aW9uX21hcHskX30gPSAkbGFuZy0+bmFtZSBmb3JlYWNoIEB7JGxhbmctPmV4dGVuc2lvbnN9Owog
ICRsYW5ndWFnZXN7JGxhbmctPm5hbWV9ID0gJGxhbmc7CiAgbXkgJGxpbmsgPSAkbGFuZy0+bGlu
a2VyOwogIGlmICgkbGluaykKICAgIHsKICAgICAgaWYgKGV4aXN0cyAkbGlua19sYW5ndWFnZXN7
JGxpbmt9KQoJewoJICBwcm9nX2Vycm9yICgiJyRsaW5rJyBoYXMgZGlmZmVyZW50IGRlZmluaXRp
b25zIGluICIKCQkgICAgICAuICRsYW5nLT5uYW1lIC4gIiBhbmQgIiAuICRsaW5rX2xhbmd1YWdl
c3skbGlua30tPm5hbWUpCgkgICAgaWYgJGxhbmctPmxpbmsgbmUgJGxpbmtfbGFuZ3VhZ2VzeyRs
aW5rfS0+bGluazsKCX0KICAgICAgZWxzZQoJewoJICAkbGlua19sYW5ndWFnZXN7JGxpbmt9ID0g
JGxhbmc7Cgl9CiAgICB9CgogICMgVXBkYXRlIHRoZSBwYXR0ZXJuIG9mIGtub3duIGV4dGVuc2lv
bnMuCiAgYWNjZXB0X2V4dGVuc2lvbnMgKEB7JGxhbmctPmV4dGVuc2lvbnN9KTsKCiAgIyBVcGRh
dGUgdGhlIHN1ZmZpeCBydWxlcyBtYXAuCiAgZm9yZWFjaCBteSAkc3VmZml4IChAeyRsYW5nLT5l
eHRlbnNpb25zfSkKICAgIHsKICAgICAgZm9yZWFjaCBteSAkZGVzdCAoJGxhbmctPm91dHB1dF9l
eHRlbnNpb25zLT4oJHN1ZmZpeCkpCgl7CgkgIHJlZ2lzdGVyX3N1ZmZpeF9ydWxlIChJTlRFUk5B
TCwgJHN1ZmZpeCwgJGRlc3QpOwoJfQogICAgfQp9CgojIGRlcml2ZV9zdWZmaXggKCRFWFQsICRP
QkopCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQg
dG8gZmluZCBhIHBhdGggZnJvbSBhIHVzZXItc3BlY2lmaWVkIHN1ZmZpeCAkRVhUCiMgdG8gJE9C
SiBvciB0byBzb21lIG90aGVyIHN1ZmZpeCB3ZSByZWNvZ25pemUgaW50ZXJuYWxseSwgZS5nLiAn
Y2MnLgpzdWIgZGVyaXZlX3N1ZmZpeAp7CiAgbXkgKCRzb3VyY2VfZXh0LCAkb2JqKSA9IEBfOwoK
ICB3aGlsZSAoISRleHRlbnNpb25fbWFweyRzb3VyY2VfZXh0fSAmJiAkc291cmNlX2V4dCBuZSAk
b2JqKQogICAgewogICAgICBteSAkbmV3X3NvdXJjZV9leHQgPSBuZXh0X2luX3N1ZmZpeF9jaGFp
biAoJHNvdXJjZV9leHQsICRvYmopOwogICAgICBsYXN0IGlmIG5vdCBkZWZpbmVkICRuZXdfc291
cmNlX2V4dDsKICAgICAgJHNvdXJjZV9leHQgPSAkbmV3X3NvdXJjZV9leHQ7CiAgICB9CgogIHJl
dHVybiAkc291cmNlX2V4dDsKfQoKCiMgUHJldHR5LXByaW50IHNvbWV0aGluZyBhbmQgYXBwZW5k
IHRvICckb3V0cHV0X3J1bGVzJy4Kc3ViIHByZXR0eV9wcmludF9ydWxlCnsKICAgICRvdXRwdXRf
cnVsZXMgLj0gbWFrZWZpbGVfd3JhcCAoc2hpZnQsIHNoaWZ0LCBAXyk7Cn0KCgojIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgoK
IyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgSGFuZGxpbmcgdGhlIGNv
bmRpdGlvbmFsIHN0YWNrLiAgIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g
IyMKCgojICRTVFJJTkcKIyBtYWtlX2NvbmRpdGlvbmFsX3N0cmluZyAoJE5FR0FURSwgJENPTkQp
CiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgbWFrZV9jb25k
aXRpb25hbF9zdHJpbmcKewogIG15ICgkbmVnYXRlLCAkY29uZCkgPSBAXzsKICAkY29uZCA9ICIk
e2NvbmR9X1RSVUUiCiAgICB1bmxlc3MgJGNvbmQgPX4gL15UUlVFfEZBTFNFJC87CiAgJGNvbmQg
PSBBdXRvbWFrZTo6Q29uZGl0aW9uOjpjb25kaXRpb25hbF9uZWdhdGUgKCRjb25kKQogICAgaWYg
JG5lZ2F0ZTsKICByZXR1cm4gJGNvbmQ7Cn0KCgpteSAlX2FtX21hY3JvX2Zvcl9jb25kID0KICAo
CiAgQU1ERVAgPT4gIm9uZSBvZiB0aGUgY29tcGlsZXIgdGVzdHNcbiIKCSAgIC4gIiAgICBBQ19Q
Uk9HX0NDLCBBQ19QUk9HX0NYWCwgQUNfUFJPR19PQkpDLCBBQ19QUk9HX09CSkNYWCxcbiIKCSAg
IC4gIiAgICBBTV9QUk9HX0FTLCBBTV9QUk9HX0dDSiwgQU1fUFJPR19VUEMsIEFNX1BST0dfQTY4
IiwKICBhbV9fZmFzdGRlcENDID0+ICdBQ19QUk9HX0NDJywKICBhbV9fZmFzdGRlcENDQVMgPT4g
J0FNX1BST0dfQVMnLAogIGFtX19mYXN0ZGVwQ1hYID0+ICdBQ19QUk9HX0NYWCcsCiAgYW1fX2Zh
c3RkZXBHQ0ogPT4gJ0FNX1BST0dfR0NKJywKICBhbV9fZmFzdGRlcEE2OCA9PiAnQU1fUFJPR19B
NjgnLAogIGFtX19mYXN0ZGVwT0JKQyA9PiAnQUNfUFJPR19PQkpDJywKICBhbV9fZmFzdGRlcE9C
SkNYWCA9PiAnQUNfUFJPR19PQkpDWFgnLAogIGFtX19mYXN0ZGVwVVBDID0+ICdBTV9QUk9HX1VQ
QycKICApOwoKIyAkQ09ORAojIGNvbmRfc3RhY2tfaWYgKCRORUdBVEUsICRDT05ELCAkV0hFUkUp
CiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIGNvbmRfc3RhY2tf
aWYKewogIG15ICgkbmVnYXRlLCAkY29uZCwgJHdoZXJlKSA9IEBfOwoKICBpZiAoISAkY29uZmln
dXJlX2NvbmR7JGNvbmR9ICYmICRjb25kICF+IC9eVFJVRXxGQUxTRSQvKQogICAgewogICAgICBt
eSAkdGV4dCA9ICIkY29uZCBkb2VzIG5vdCBhcHBlYXIgaW4gQU1fQ09ORElUSU9OQUwiOwogICAg
ICBteSAkc2NvcGUgPSBVU19MT0NBTDsKICAgICAgaWYgKGV4aXN0cyAkX2FtX21hY3JvX2Zvcl9j
b25keyRjb25kfSkKCXsKCSAgbXkgJG1hYyA9ICRfYW1fbWFjcm9fZm9yX2NvbmR7JGNvbmR9OwoJ
ICAkdGV4dCAuPSAiXG4gIFRoZSB1c3VhbCB3YXkgdG8gZGVmaW5lICckY29uZCcgaXMgdG8gYWRk
ICI7CgkgICR0ZXh0IC49ICgkbWFjID1+IC8gLykgPyAkbWFjIDogIickbWFjJyI7CgkgICR0ZXh0
IC49ICJcbiAgdG8gJyRjb25maWd1cmVfYWMnIGFuZCBydW4gJ2FjbG9jYWwnIGFuZCAnYXV0b2Nv
bmYnIGFnYWluIjsKCSAgIyBUaGVzZSB3YXJuaW5ncyBhcHBlYXIgaW4gQXV0b21ha2UgZmlsZXMg
KGRlcGVuZDIuYW0pLAoJICAjIHNvIHRoZXJlIGlzIG5vIG5lZWQgdG8gZGlzcGxheSB0aGVtIG1v
cmUgdGhhbiBvbmNlOgoJICAkc2NvcGUgPSBVU19HTE9CQUw7Cgl9CiAgICAgIGVycm9yICR3aGVy
ZSwgJHRleHQsIHVuaXFfc2NvcGUgPT4gJHNjb3BlOwogICAgfQoKICBwdXNoIChAY29uZF9zdGFj
aywgbWFrZV9jb25kaXRpb25hbF9zdHJpbmcgKCRuZWdhdGUsICRjb25kKSk7CgogIHJldHVybiBu
ZXcgQXV0b21ha2U6OkNvbmRpdGlvbiAoQGNvbmRfc3RhY2spOwp9CgoKIyAkQ09ORAojIGNvbmRf
c3RhY2tfZWxzZSAoJE5FR0FURSwgJENPTkQsICRXSEVSRSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBjb25kX3N0YWNrX2Vsc2UKewogIG15ICgkbmVnYXRl
LCAkY29uZCwgJHdoZXJlKSA9IEBfOwoKICBpZiAoISBAY29uZF9zdGFjaykKICAgIHsKICAgICAg
ZXJyb3IgJHdoZXJlLCAiZWxzZSB3aXRob3V0IGlmIjsKICAgICAgcmV0dXJuIEZBTFNFOwogICAg
fQoKICAkY29uZF9zdGFja1skI2NvbmRfc3RhY2tdID0KICAgIEF1dG9tYWtlOjpDb25kaXRpb246
OmNvbmRpdGlvbmFsX25lZ2F0ZSAoJGNvbmRfc3RhY2tbJCNjb25kX3N0YWNrXSk7CgogICMgSWYg
JENPTkQgaXMgZ2l2ZW4sIGNoZWNrIGFnYWluc3QgaXQuCiAgaWYgKGRlZmluZWQgJGNvbmQpCiAg
ICB7CiAgICAgICRjb25kID0gbWFrZV9jb25kaXRpb25hbF9zdHJpbmcgKCRuZWdhdGUsICRjb25k
KTsKCiAgICAgIGVycm9yICgkd2hlcmUsICJlbHNlIHJlbWluZGVyICgkbmVnYXRlJGNvbmQpIGlu
Y29tcGF0aWJsZSB3aXRoICIKCSAgICAgLiAiY3VycmVudCBjb25kaXRpb25hbDogJGNvbmRfc3Rh
Y2tbJCNjb25kX3N0YWNrXSIpCglpZiAkY29uZF9zdGFja1skI2NvbmRfc3RhY2tdIG5lICRjb25k
OwogICAgfQoKICByZXR1cm4gbmV3IEF1dG9tYWtlOjpDb25kaXRpb24gKEBjb25kX3N0YWNrKTsK
fQoKCiMgJENPTkQKIyBjb25kX3N0YWNrX2VuZGlmICgkTkVHQVRFLCAkQ09ORCwgJFdIRVJFKQoj
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiBjb25kX3N0YWNr
X2VuZGlmCnsKICBteSAoJG5lZ2F0ZSwgJGNvbmQsICR3aGVyZSkgPSBAXzsKICBteSAkb2xkX2Nv
bmQ7CgogIGlmICghIEBjb25kX3N0YWNrKQogICAgewogICAgICBlcnJvciAkd2hlcmUsICJlbmRp
ZiB3aXRob3V0IGlmIjsKICAgICAgcmV0dXJuIFRSVUU7CiAgICB9CgogICMgSWYgJENPTkQgaXMg
Z2l2ZW4sIGNoZWNrIGFnYWluc3QgaXQuCiAgaWYgKGRlZmluZWQgJGNvbmQpCiAgICB7CiAgICAg
ICRjb25kID0gbWFrZV9jb25kaXRpb25hbF9zdHJpbmcgKCRuZWdhdGUsICRjb25kKTsKCiAgICAg
IGVycm9yICgkd2hlcmUsICJlbmRpZiByZW1pbmRlciAoJG5lZ2F0ZSRjb25kKSBpbmNvbXBhdGli
bGUgd2l0aCAiCgkgICAgIC4gImN1cnJlbnQgY29uZGl0aW9uYWw6ICRjb25kX3N0YWNrWyQjY29u
ZF9zdGFja10iKQoJaWYgJGNvbmRfc3RhY2tbJCNjb25kX3N0YWNrXSBuZSAkY29uZDsKICAgIH0K
CiAgcG9wIEBjb25kX3N0YWNrOwoKICByZXR1cm4gbmV3IEF1dG9tYWtlOjpDb25kaXRpb24gKEBj
b25kX3N0YWNrKTsKfQoKCgoKCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBIYW5k
bGluZyB0aGUgdmFyaWFibGVzLiAgIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCgoK
IyBkZWZpbmVfcHJldHR5X3ZhcmlhYmxlICgkVkFSLCAkQ09ORCwgJFdIRVJFLCBAVkFMVUUpCiMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIExp
a2UgZGVmaW5lX3ZhcmlhYmxlLCBidXQgdGhlIHZhbHVlIGlzIGEgbGlzdCwgYW5kIHRoZSB2YXJp
YWJsZSBtYXkKIyBiZSBkZWZpbmVkIGNvbmRpdGlvbmFsbHkuICBUaGUgc2Vjb25kIGFyZ3VtZW50
IGlzIHRoZSBjb25kaXRpb24KIyB1bmRlciB3aGljaCB0aGUgdmFsdWUgc2hvdWxkIGJlIGRlZmlu
ZWQ7IHRoaXMgc2hvdWxkIGJlIHRoZSBlbXB0eQojIHN0cmluZyB0byBkZWZpbmUgdGhlIHZhcmlh
YmxlIHVuY29uZGl0aW9uYWxseS4gIFRoZSB0aGlyZCBhcmd1bWVudAojIGlzIGEgbGlzdCBob2xk
aW5nIHRoZSB2YWx1ZXMgdG8gdXNlIGZvciB0aGUgdmFyaWFibGUuICBUaGUgdmFsdWUgaXMKIyBw
cmV0dHkgcHJpbnRlZCBpbiB0aGUgb3V0cHV0IGZpbGUuCnN1YiBkZWZpbmVfcHJldHR5X3Zhcmlh
YmxlCnsKICAgIG15ICgkdmFyLCAkY29uZCwgJHdoZXJlLCBAdmFsdWUpID0gQF87CgogICAgaWYg
KCEgdmFyZGVmICgkdmFyLCAkY29uZCkpCiAgICB7CglBdXRvbWFrZTo6VmFyaWFibGU6OmRlZmlu
ZSAoJHZhciwgVkFSX0FVVE9NQUtFLCAnJywgJGNvbmQsICJAdmFsdWUiLAoJCQkJICAgICcnLCAk
d2hlcmUsIFZBUl9QUkVUVFkpOwoJcnZhciAoJHZhciktPnJkZWYgKCRjb25kKS0+c2V0X3NlZW47
CiAgICB9Cn0KCgojIGRlZmluZV92YXJpYWJsZSAoJFZBUiwgJFZBTFVFLCAkV0hFUkUpCiMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBEZWZpbmUgYSBuZXcgQXV0b21h
a2UgTWFrZWZpbGUgdmFyaWFibGUgVkFSIHRvIFZBTFVFLCBidXQgb25seSBpZgojIG5vdCBhbHJl
YWR5IGRlZmluZWQuCnN1YiBkZWZpbmVfdmFyaWFibGUKewogICAgbXkgKCR2YXIsICR2YWx1ZSwg
JHdoZXJlKSA9IEBfOwogICAgZGVmaW5lX3ByZXR0eV92YXJpYWJsZSAoJHZhciwgVFJVRSwgJHdo
ZXJlLCAkdmFsdWUpOwp9CgoKIyBkZWZpbmVfZmlsZXNfdmFyaWFibGUgKCRWQVIsIFxAQkFTRU5B
TUUsICRFWFRFTlNJT04sICRXSEVSRSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBEZWZpbmUgdGhlICRWQVIgd2hpY2ggY29u
dGVudCBpcyB0aGUgbGlzdCBvZiBmaWxlIG5hbWVzIGNvbXBvc2VkIG9mCiMgYSBAQkFTRU5BTUUg
YW5kIHRoZSAkRVhURU5TSU9OLgpzdWIgZGVmaW5lX2ZpbGVzX3ZhcmlhYmxlICgkXEAkJCkKewog
IG15ICgkdmFyLCAkYmFzZW5hbWUsICRleHRlbnNpb24sICR3aGVyZSkgPSBAXzsKICBkZWZpbmVf
dmFyaWFibGUgKCR2YXIsCgkJICAgam9pbiAoJyAnLCBtYXAgeyAiJF8uJGV4dGVuc2lvbiIgfSBA
JGJhc2VuYW1lKSwKCQkgICAkd2hlcmUpOwp9CgoKIyBMaWtlIGRlZmluZV92YXJpYWJsZSwgYnV0
IGRlZmluZSBhIHZhcmlhYmxlIHRvIGJlIHRoZSBjb25maWd1cmUKIyBzdWJzdGl0dXRpb24gYnkg
dGhlIHNhbWUgbmFtZS4Kc3ViIGRlZmluZV9jb25maWd1cmVfdmFyaWFibGUKewogIG15ICgkdmFy
KSA9IEBfOwogICMgU29tZSB2YXJpYWJsZXMgd2UgZG8gbm90IHdhbnQgdG8gb3V0cHV0LiAgRm9y
IGluc3RhbmNlIGl0CiAgIyB3b3VsZCBiZSBhIGJhZCBpZGVhIHRvIG91dHB1dCBgVSA9IEBVQGAg
d2hlbiBgQFVAYCBjYW4gYmUKICAjIHN1YnN0aXR1dGVkIGFzIGBcYC4KICBteSAkcHJldHR5ID0g
ZXhpc3RzICRpZ25vcmVkX2NvbmZpZ3VyZV92YXJzeyR2YXJ9ID8gVkFSX1NJTEVOVCA6IFZBUl9B
U0lTOwogIEF1dG9tYWtlOjpWYXJpYWJsZTo6ZGVmaW5lICgkdmFyLCBWQVJfQ09ORklHVVJFLCAn
JywgVFJVRSwgc3Vic3QgKCR2YXIpLAoJCQkgICAgICAnJywgJGNvbmZpZ3VyZV92YXJzeyR2YXJ9
LCAkcHJldHR5KTsKfQoKCiMgZGVmaW5lX2NvbXBpbGVyX3ZhcmlhYmxlICgkTEFORykKIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIERlZmluZSBhIGNvbXBpbGVyIHZhcmlhYmxl
LiAgV2UgYWxzbyBoYW5kbGUgZGVmaW5pbmcgdGhlICdMVCcKIyB2ZXJzaW9uIG9mIHRoZSBjb21t
YW5kIHdoZW4gdXNpbmcgbGlidG9vbC4Kc3ViIGRlZmluZV9jb21waWxlcl92YXJpYWJsZQp7CiAg
ICBteSAoJGxhbmcpID0gQF87CgogICAgbXkgKCR2YXIsICR2YWx1ZSkgPSAoJGxhbmctPmNvbXBp
bGVyLCAkbGFuZy0+Y29tcGlsZSk7CiAgICBteSAkbGlidG9vbF90YWcgPSAnJzsKICAgICRsaWJ0
b29sX3RhZyA9ICctLXRhZz0nIC4gJGxhbmctPmxpYnRvb2xfdGFnIC4gJyAnCiAgICAgIGlmICRs
YW5nLT5saWJ0b29sX3RhZyAmJiBleGlzdHMgJGxpYnRvb2xfdGFnc3skbGFuZy0+bGlidG9vbF90
YWd9OwogICAgZGVmaW5lX3ZhcmlhYmxlICgkdmFyLCAkdmFsdWUsIElOVEVSTkFMKTsKICAgIGlm
ICh2YXIgKCdMSUJUT09MJykpCiAgICAgIHsKCW15ICR2ZXJib3NlID0gZGVmaW5lX3ZlcmJvc2Vf
bGlidG9vbCAoKTsKCWRlZmluZV92YXJpYWJsZSAoIkxUJHZhciIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAiXCQoTElCVE9PTCkgJHZlcmJvc2UgJGxpYnRvb2xfdGFnXCQoQU1fTElCVE9PTEZM
QUdTKSIKICAgICAgICAgICAgICAgICAgICAgICAgIC4gIiBcJChMSUJUT09MRkxBR1MpIC0tbW9k
ZT1jb21waWxlICR2YWx1ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICBJTlRFUk5BTCk7CiAg
ICAgIH0KICAgIGRlZmluZV92ZXJib3NlX3RhZ3ZhciAoJGxhbmctPmNjZXIgfHwgJ0dFTicpOwp9
CgoKc3ViIGRlZmluZV9saW5rZXJfdmFyaWFibGUKewogICAgbXkgKCRsYW5nKSA9IEBfOwoKICAg
IG15ICRsaWJ0b29sX3RhZyA9ICcnOwogICAgJGxpYnRvb2xfdGFnID0gJy0tdGFnPScgLiAkbGFu
Zy0+bGlidG9vbF90YWcgLiAnICcKICAgICAgaWYgJGxhbmctPmxpYnRvb2xfdGFnICYmIGV4aXN0
cyAkbGlidG9vbF90YWdzeyRsYW5nLT5saWJ0b29sX3RhZ307CiAgICAjIENDTEQgPSAkKENDKS4K
ICAgIGRlZmluZV92YXJpYWJsZSAoJGxhbmctPmxkZXIsICRsYW5nLT5sZCwgSU5URVJOQUwpOwog
ICAgIyBDQ0xJTksgPSAkKENDTEQpIGJsYWggYmxhaC4uLgogICAgbXkgJGxpbmsgPSAnJzsKICAg
IGlmICh2YXIgKCdMSUJUT09MJykpCiAgICAgIHsKCW15ICR2ZXJib3NlID0gZGVmaW5lX3ZlcmJv
c2VfbGlidG9vbCAoKTsKCSRsaW5rID0gIlwkKExJQlRPT0wpICR2ZXJib3NlICRsaWJ0b29sX3Rh
Z1wkKEFNX0xJQlRPT0xGTEFHUykgIgoJCS4gIlwkKExJQlRPT0xGTEFHUykgLS1tb2RlPWxpbmsg
IjsKICAgICAgfQogICAgZGVmaW5lX3ZhcmlhYmxlICgkbGFuZy0+bGlua2VyLCAkbGluayAuICRs
YW5nLT5saW5rLCBJTlRFUk5BTCk7CiAgICBkZWZpbmVfdmFyaWFibGUgKCRsYW5nLT5jb21waWxl
ciwgJGxhbmcsIElOVEVSTkFMKTsKICAgIGRlZmluZV92ZXJib3NlX3RhZ3ZhciAoJGxhbmctPmxk
ZXIgfHwgJ0dFTicpOwp9CgpzdWIgZGVmaW5lX3Blcl90YXJnZXRfbGlua2VyX3ZhcmlhYmxlCnsK
ICBteSAoJGxpbmtlciwgJHRhcmdldCkgPSBAXzsKCiAgIyBJZiB0aGUgdXNlciB3cm90ZSBhIGN1
c3RvbSBsaW5rIGNvbW1hbmQsIHdlIGRvbid0IGRlZmluZSBvdXJzLgogIG15ICRjdXN0b21fbGlu
ayA9ICIke3RhcmdldH1fTElOSyI7CiAgaWYgKHNldF9zZWVuICgkY3VzdG9tX2xpbmspKQogICAg
ewogICAgICBteSAkdmVyYm9zZSA9ICRjdXN0b21fbGluayBpZiB2YXIgKHZlcmJvc2VfdmFyICgk
Y3VzdG9tX2xpbmspKTsKICAgICAgcmV0dXJuICgkY3VzdG9tX2xpbmssICR2ZXJib3NlKTsKICAg
IH0KCiAgbXkgJHhsaW5rID0gJGxpbmtlciA/ICRsaW5rZXIgOiAnTElOSyc7CgogIG15ICRsYW5n
ID0gJGxpbmtfbGFuZ3VhZ2VzeyR4bGlua307CiAgcHJvZ19lcnJvciAiVW5rbm93biBsYW5ndWFn
ZSBmb3IgbGlua2VyIHZhcmlhYmxlICckeGxpbmsnIgogICAgdW5sZXNzICRsYW5nOwoKICBteSAk
bGlua19jb21tYW5kID0gJGxhbmctPmxpbms7CiAgaWYgKHZhciAnTElCVE9PTCcpCiAgICB7CiAg
ICAgIG15ICRsaWJ0b29sX3RhZyA9ICcnOwogICAgICAkbGlidG9vbF90YWcgPSAnLS10YWc9JyAu
ICRsYW5nLT5saWJ0b29sX3RhZyAuICcgJwoJaWYgJGxhbmctPmxpYnRvb2xfdGFnICYmIGV4aXN0
cyAkbGlidG9vbF90YWdzeyRsYW5nLT5saWJ0b29sX3RhZ307CgogICAgICBteSAkdmVyYm9zZSA9
IGRlZmluZV92ZXJib3NlX2xpYnRvb2wgKCk7CiAgICAgICRsaW5rX2NvbW1hbmQgPQoJIlwkKExJ
QlRPT0wpICR2ZXJib3NlICRsaWJ0b29sX3RhZ1wkKEFNX0xJQlRPT0xGTEFHUykgXCQoTElCVE9P
TEZMQUdTKSAiCgkuICItLW1vZGU9bGluayAiIC4gJGxpbmtfY29tbWFuZDsKICAgIH0KCiAgIyBS
ZXdyaXRlIGVhY2ggb2NjdXJyZW5jZSBvZiAnQU1fJGZsYWcnIGluIHRoZSBsaW5rCiAgIyBjb21t
YW5kIGludG8gJyR7ZGVyaXZlZH1fJGZsYWcnIGlmIGl0IGV4aXN0cy4KICBteSAkb3JpZ19jb21t
YW5kID0gJGxpbmtfY29tbWFuZDsKICBteSBAZmxhZ3MgPSAoQHskbGFuZy0+ZmxhZ3N9LCAnTERG
TEFHUycpOwogIHB1c2ggQGZsYWdzLCAnTElCVE9PTEZMQUdTJyBpZiB2YXIgJ0xJQlRPT0wnOwog
IGZvciBteSAkZmxhZyAoQGZsYWdzKQogICAgewogICAgICBteSAkdmFsID0gIiR7dGFyZ2V0fV8k
ZmxhZyI7CiAgICAgICRsaW5rX2NvbW1hbmQgPX4gcy9cKEFNXyRmbGFnXCkvXCgkdmFsXCkvCglp
ZiBzZXRfc2VlbiAoJHZhbCk7CiAgICB9CgogICMgSWYgdGhlIGNvbXB1dGVkIGNvbW1hbmQgaXMg
dGhlIHNhbWUgYXMgdGhlIGdlbmVyaWMgY29tbWFuZCwgdXNlCiAgIyB0aGUgY29tbWFuZCBsaW5r
ZXIgdmFyaWFibGUuCiAgcmV0dXJuICgkbGFuZy0+bGlua2VyLCAkbGFuZy0+bGRlcikKICAgIGlm
ICRsaW5rX2NvbW1hbmQgZXEgJG9yaWdfY29tbWFuZDsKCiAgZGVmaW5lX3ZhcmlhYmxlICgiJHt0
YXJnZXR9X0xJTksiLCAkbGlua19jb21tYW5kLCBJTlRFUk5BTCk7CiAgcmV0dXJuICgiJHt0YXJn
ZXR9X0xJTksiLCAkbGFuZy0+bGRlcik7Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgY2hlY2tfdHJhaWxpbmdfc2xh
c2ggKCRXSEVSRSwgJExJTkUpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CiMgUmV0dXJuIDEgaWZmICRMSU5FIGVuZHMgd2l0aCBhIHNsYXNoLgojIE1pZ2h0IG1vZGlmeSAk
TElORS4Kc3ViIGNoZWNrX3RyYWlsaW5nX3NsYXNoICgkXCQpCnsKICBteSAoJHdoZXJlLCAkbGlu
ZSkgPSBAXzsKCiAgIyBJZ25vcmUgJyMjJyBsaW5lcy4KICByZXR1cm4gMCBpZiAkJGxpbmUgPX4g
LyRJR05PUkVfUEFUVEVSTi9vOwoKICAjIENhdGNoIGFuZCBmaXggYSBjb21tb24gZXJyb3IuCiAg
bXNnICJzeW50YXgiLCAkd2hlcmUsICJ3aGl0ZXNwYWNlIGZvbGxvd2luZyB0cmFpbGluZyBiYWNr
c2xhc2giCiAgICBpZiAkJGxpbmUgPX4gcy9cXFxzK1xuJC9cXFxuLzsKCiAgcmV0dXJuICQkbGlu
ZSA9fiAvXFwkLzsKfQoKCiMgcmVhZF9hbV9maWxlICgkQU1GSUxFLCAkV0hFUkUsICRSRUxESVIp
CiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUmVhZCAkQU1GSUxF
IGZpbGUgbmFtZSB3aGljaCBpcyBsb2NhdGVkIGluICRSRUxESVIsIGFuZCBzZXQgdXAKIyBnbG9i
YWwgdmFyaWFibGVzIHJlc2V0IGJ5ICcmZ2VuZXJhdGVfbWFrZWZpbGUnLiAgU2ltdWx0YW5lb3Vz
bHkKIyBjb3B5IGxpbmVzIGZyb20gJEFNRklMRSBpbnRvICckb3V0cHV0X3RyYWlsZXInLCBvciBk
ZWZpbmUgdmFyaWFibGVzCiMgYXMgYXBwcm9wcmlhdGUuCiMKIyBOT1RFOiBXZSBwdXQgcnVsZXMg
aW4gdGhlIHRyYWlsZXIgc2VjdGlvbi4gIFdlIHdhbnQgdXNlciBydWxlcyB0bwojIGNvbWUgYWZ0
ZXIgb3VyIGdlbmVyYXRlZCBzdHVmZi4Kc3ViIHJlYWRfYW1fZmlsZQp7CiAgICBteSAoJGFtZmls
ZSwgJHdoZXJlLCAkcmVsZGlyKSA9IEBfOwogICAgbXkgJGNhbm9uX3JlbGRpciA9ICZjYW5vbmlj
YWxpemUgKCRyZWxkaXIpOwoKICAgIG15ICRhbV9maWxlID0gbmV3IEF1dG9tYWtlOjpYRmlsZSAo
IjwgJGFtZmlsZSIpOwogICAgdmVyYiAicmVhZGluZyAkYW1maWxlIjsKCiAgICAjIEtlZXAgdHJh
Y2sgb2YgdGhlIHlvdW5nZXN0IG91dHB1dCBkZXBlbmRlbmN5LgogICAgbXkgJG10aW1lID0gbXRp
bWUgJGFtZmlsZTsKICAgICRvdXRwdXRfZGVwc19ncmVhdGVzdF90aW1lc3RhbXAgPSAkbXRpbWUK
ICAgICAgaWYgJG10aW1lID4gJG91dHB1dF9kZXBzX2dyZWF0ZXN0X3RpbWVzdGFtcDsKCiAgICBt
eSAkc3BhY2luZyA9ICcnOwogICAgbXkgJGNvbW1lbnQgPSAnJzsKICAgIG15ICRibGFuayA9IDA7
CiAgICBteSAkc2F3X2JrID0gMDsKICAgIG15ICR2YXJfbG9vayA9IFZBUl9BU0lTOwoKICAgIHVz
ZSBjb25zdGFudCBJTl9WQVJfREVGID0+IDA7CiAgICB1c2UgY29uc3RhbnQgSU5fUlVMRV9ERUYg
PT4gMTsKICAgIHVzZSBjb25zdGFudCBJTl9DT01NRU5UID0+IDI7CiAgICBteSAkcHJldl9zdGF0
ZSA9IElOX1JVTEVfREVGOwoKICAgIHdoaWxlICgkXyA9ICRhbV9maWxlLT5nZXRsaW5lKQogICAg
ewoJJHdoZXJlLT5zZXQgKCIkYW1maWxlOiQuIik7CglpZiAoLyRJR05PUkVfUEFUVEVSTi9vKQoJ
ewoJICAgICMgTWVyZWx5IGRlbGV0ZSBjb21tZW50cyBiZWdpbm5pbmcgd2l0aCB0d28gaGFzaGVz
LgoJfQoJZWxzaWYgKC8kV0hJVEVfUEFUVEVSTi9vKQoJewoJICAgIGVycm9yICR3aGVyZSwgImJs
YW5rIGxpbmUgZm9sbG93aW5nIHRyYWlsaW5nIGJhY2tzbGFzaCIKCSAgICAgIGlmICRzYXdfYms7
CgkgICAgIyBTdGljayBhIHNpbmdsZSB3aGl0ZSBsaW5lIGJlZm9yZSB0aGUgaW5jb21pbmcgbWFj
cm8gb3IgcnVsZS4KCSAgICAkc3BhY2luZyA9ICJcbiI7CgkgICAgJGJsYW5rID0gMTsKCSAgICAj
IEZsdXNoIGFsbCBjb21tZW50cyBzZWVuIHNvIGZhci4KCSAgICBpZiAoJGNvbW1lbnQgbmUgJycp
CgkgICAgewoJCSRvdXRwdXRfdmFycyAuPSAkY29tbWVudDsKCQkkY29tbWVudCA9ICcnOwoJICAg
IH0KCX0KCWVsc2lmICgvJENPTU1FTlRfUEFUVEVSTi9vKQoJewoJICAgICMgU3RpY2sgY29tbWVu
dHMgYmVmb3JlIHRoZSBpbmNvbWluZyBtYWNybyBvciBydWxlLiAgTWFrZQoJICAgICMgc3VyZSBh
IGJsYW5rIGxpbmUgcHJlY2VkZXMgdGhlIGZpcnN0IGJsb2NrIG9mIGNvbW1lbnRzLgoJICAgICRz
cGFjaW5nID0gIlxuIiB1bmxlc3MgJGJsYW5rOwoJICAgICRibGFuayA9IDE7CgkgICAgJGNvbW1l
bnQgLj0gJHNwYWNpbmcgLiAkXzsKCSAgICAkc3BhY2luZyA9ICcnOwoJICAgICRwcmV2X3N0YXRl
ID0gSU5fQ09NTUVOVDsKCX0KCWVsc2UKCXsKCSAgICBsYXN0OwoJfQoJJHNhd19iayA9IGNoZWNr
X3RyYWlsaW5nX3NsYXNoICgkd2hlcmUsICRfKTsKICAgIH0KCiAgICAjIFdlIHNhdmUgdGhlIGNv
bmRpdGlvbmFsIHN0YWNrIG9uIGVudHJ5LCBhbmQgdGhlbiBjaGVjayB0byBtYWtlCiAgICAjIHN1
cmUgaXQgaXMgdGhlIHNhbWUgb24gZXhpdC4gIFRoaXMgbGV0cyB1cyBjb25kaXRpb25hbGx5IGlu
Y2x1ZGUKICAgICMgb3RoZXIgZmlsZXMuCiAgICBteSBAc2F2ZWRfY29uZF9zdGFjayA9IEBjb25k
X3N0YWNrOwogICAgbXkgJGNvbmQgPSBuZXcgQXV0b21ha2U6OkNvbmRpdGlvbiAoQGNvbmRfc3Rh
Y2spOwoKICAgIG15ICRsYXN0X3Zhcl9uYW1lID0gJyc7CiAgICBteSAkbGFzdF92YXJfdHlwZSA9
ICcnOwogICAgbXkgJGxhc3RfdmFyX3ZhbHVlID0gJyc7CiAgICBteSAkbGFzdF93aGVyZTsKICAg
ICMgRklYTUU6IHNob3VsZG4ndCB1c2UgJF8gaW4gdGhpcyBsb29wOyBpdCBpcyB0b28gYmlnLgog
ICAgd2hpbGUgKCRfKQogICAgewoJJHdoZXJlLT5zZXQgKCIkYW1maWxlOiQuIik7CgoJIyBNYWtl
IHN1cmUgdGhlIGxpbmUgaXMgXG4tdGVybWluYXRlZC4KCWNob21wOwoJJF8gLj0gIlxuIjsKCgkj
IERvbid0IGxvb2sgYXQgTUFJTlRBSU5FUl9NT0RFX1RSVUUgaGVyZS4gIFRoYXQgc2hvdWxkbid0
IGJlCgkjIHVzZWQgYnkgdXNlcnMuICBATUFJTlRAIGlzIGFuIGFuYWNocm9uaXNtIG5vdy4KCSRf
ID1+IHMvXEBNQUlOVFxALy9nCgkgICAgdW5sZXNzICRzZWVuX21haW50X21vZGU7CgoJbXkgJG5l
d19zYXdfYmsgPSBjaGVja190cmFpbGluZ19zbGFzaCAoJHdoZXJlLCAkXyk7CgoJaWYgKCRyZWxk
aXIgZXEgJy4nKQoJICB7CgkgICAgIyBJZiBwcmVzZW50LCBlYXQgdGhlIGZvbGxvd2luZyAnXycg
b3IgJy8nLCBjb252ZXJ0aW5nCgkgICAgIyAiJXJlbGRpciUvZm9vIiBhbmQgIiVjYW5vbl9yZWxk
aXIlX2ZvbyIgaW50byBwbGFpbiAiZm9vIgoJICAgICMgd2hlbiAkcmVsZGlyIGlzICcuJy4KCSAg
ICAkXyA9fiBzLCUoRHxyZWxkaXIpJS8sLGc7CgkgICAgJF8gPX4gcywlKEN8Y2Fub25fcmVsZGly
KSVfLCxnOwoJICB9CgkkXyA9fiBzLyUoRHxyZWxkaXIpJS8ke3JlbGRpcn0vZzsKCSRfID1+IHMv
JShDfGNhbm9uX3JlbGRpciklLyR7Y2Fub25fcmVsZGlyfS9nOwoKCWlmICgvJElHTk9SRV9QQVRU
RVJOL28pCgl7CgkgICAgIyBNZXJlbHkgZGVsZXRlIGNvbW1lbnRzIGJlZ2lubmluZyB3aXRoIHR3
byBoYXNoZXMuCgoJICAgICMgS2VlcCBhbnkgYmFja3NsYXNoIGZyb20gdGhlIHByZXZpb3VzIGxp
bmUuCgkgICAgJG5ld19zYXdfYmsgPSAkc2F3X2JrOwoJfQoJZWxzaWYgKC8kV0hJVEVfUEFUVEVS
Ti9vKQoJewoJICAgICMgU3RpY2sgYSBzaW5nbGUgd2hpdGUgbGluZSBiZWZvcmUgdGhlIGluY29t
aW5nIG1hY3JvIG9yIHJ1bGUuCgkgICAgJHNwYWNpbmcgPSAiXG4iOwoJICAgIGVycm9yICR3aGVy
ZSwgImJsYW5rIGxpbmUgZm9sbG93aW5nIHRyYWlsaW5nIGJhY2tzbGFzaCIKCSAgICAgIGlmICRz
YXdfYms7Cgl9CgllbHNpZiAoLyRDT01NRU5UX1BBVFRFUk4vbykKCXsKCSAgICBlcnJvciAkd2hl
cmUsICJjb21tZW50IGZvbGxvd2luZyB0cmFpbGluZyBiYWNrc2xhc2giCgkgICAgICBpZiAkc2F3
X2JrICYmICRwcmV2X3N0YXRlICE9IElOX0NPTU1FTlQ7CgoJICAgICMgU3RpY2sgY29tbWVudHMg
YmVmb3JlIHRoZSBpbmNvbWluZyBtYWNybyBvciBydWxlLgoJICAgICRjb21tZW50IC49ICRzcGFj
aW5nIC4gJF87CgkgICAgJHNwYWNpbmcgPSAnJzsKCSAgICAkcHJldl9zdGF0ZSA9IElOX0NPTU1F
TlQ7Cgl9CgllbHNpZiAoJHNhd19iaykKCXsKCSAgICBpZiAoJHByZXZfc3RhdGUgPT0gSU5fUlVM
RV9ERUYpCgkgICAgewoJICAgICAgbXkgJGNvbmQgPSBuZXcgQXV0b21ha2U6OkNvbmRpdGlvbiBA
Y29uZF9zdGFjazsKCSAgICAgICRvdXRwdXRfdHJhaWxlciAuPSAkY29uZC0+c3Vic3Rfc3RyaW5n
OwoJICAgICAgJG91dHB1dF90cmFpbGVyIC49ICRfOwoJICAgIH0KCSAgICBlbHNpZiAoJHByZXZf
c3RhdGUgPT0gSU5fQ09NTUVOVCkKCSAgICB7CgkJIyBJZiB0aGUgbGluZSBkb2Vzbid0IHN0YXJ0
IHdpdGggYSAnIycsIGFkZCBpdC4KCQkjIFdlIGRvIHRoaXMgYmVjYXVzZSBhIGNvbnRpbnVlZCBj
b21tZW50IGxpa2UKCQkjICAgIyBBID0gZm9vIFwKCQkjICAgICAgICAgYmFyIFwKCQkjICAgICAg
ICAgYmF6CgkJIyBpcyBub3QgcG9ydGFibGUuICBCU0QgbWFrZSBkb2Vzbid0IGhvbm9yCgkJIyBl
c2NhcGVkIG5ld2xpbmVzIGluIGNvbW1lbnRzLgoJCXMvXiM/LyMvOwoJCSRjb21tZW50IC49ICRz
cGFjaW5nIC4gJF87CgkgICAgfQoJICAgIGVsc2UgIyAkcHJldl9zdGF0ZSA9PSBJTl9WQVJfREVG
CgkgICAgewoJICAgICAgJGxhc3RfdmFyX3ZhbHVlIC49ICcgJwoJCXVubGVzcyAkbGFzdF92YXJf
dmFsdWUgPX4gL1xzJC87CgkgICAgICAkbGFzdF92YXJfdmFsdWUgLj0gJF87CgoJICAgICAgaWYg
KCEvXFwkLykKCQl7CgkJICBBdXRvbWFrZTo6VmFyaWFibGU6OmRlZmluZSAoJGxhc3RfdmFyX25h
bWUsIFZBUl9NQUtFRklMRSwKCQkJCQkgICAgICAkbGFzdF92YXJfdHlwZSwgJGNvbmQsCgkJCQkJ
ICAgICAgJGxhc3RfdmFyX3ZhbHVlLCAkY29tbWVudCwKCQkJCQkgICAgICAkbGFzdF93aGVyZSwg
VkFSX0FTSVMpCgkJICAgIGlmICRjb25kICE9IEZBTFNFOwoJCSAgJGNvbW1lbnQgPSAkc3BhY2lu
ZyA9ICcnOwoJCX0KCSAgICB9Cgl9CgoJZWxzaWYgKC8kSUZfUEFUVEVSTi9vKQoJICB7CgkgICAg
JGNvbmQgPSBjb25kX3N0YWNrX2lmICgkMSwgJDIsICR3aGVyZSk7CgkgIH0KCWVsc2lmICgvJEVM
U0VfUEFUVEVSTi9vKQoJICB7CgkgICAgJGNvbmQgPSBjb25kX3N0YWNrX2Vsc2UgKCQxLCAkMiwg
JHdoZXJlKTsKCSAgfQoJZWxzaWYgKC8kRU5ESUZfUEFUVEVSTi9vKQoJICB7CgkgICAgJGNvbmQg
PSBjb25kX3N0YWNrX2VuZGlmICgkMSwgJDIsICR3aGVyZSk7CgkgIH0KCgllbHNpZiAoLyRSVUxF
X1BBVFRFUk4vbykKCXsKCSAgICAjIEZvdW5kIGEgcnVsZS4KCSAgICAkcHJldl9zdGF0ZSA9IElO
X1JVTEVfREVGOwoKCSAgICAjIEZvciBub3cgd2UgaGF2ZSB0byBvdXRwdXQgYWxsIGRlZmluaXRp
b25zIG9mIHVzZXIgcnVsZXMKCSAgICAjIGFuZCBjYW4ndCBkaWFnbm9zZSBkdXBsaWNhdGVzIChz
ZWUgdGhlIGNvbW1lbnQgaW4KCSAgICAjIEF1dG9tYWtlOjpSdWxlOjpkZWZpbmUpLiBTbyB3ZSBn
byBvbiBhbmQgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUuCgkgICAgQXV0b21ha2U6OlJ1bGU6OmRl
ZmluZSAoJDEsICRhbWZpbGUsIFJVTEVfVVNFUiwgJGNvbmQsICR3aGVyZSk7CgoJICAgIGNoZWNr
X3ZhcmlhYmxlX2V4cGFuc2lvbnMgKCRfLCAkd2hlcmUpOwoKCSAgICAkb3V0cHV0X3RyYWlsZXIg
Lj0gJGNvbW1lbnQgLiAkc3BhY2luZzsKCSAgICBteSAkY29uZCA9IG5ldyBBdXRvbWFrZTo6Q29u
ZGl0aW9uIEBjb25kX3N0YWNrOwoJICAgICRvdXRwdXRfdHJhaWxlciAuPSAkY29uZC0+c3Vic3Rf
c3RyaW5nOwoJICAgICRvdXRwdXRfdHJhaWxlciAuPSAkXzsKCSAgICAkY29tbWVudCA9ICRzcGFj
aW5nID0gJyc7Cgl9CgllbHNpZiAoLyRBU1NJR05NRU5UX1BBVFRFUk4vbykKCXsKCSAgICAjIEZv
dW5kIGEgbWFjcm8gZGVmaW5pdGlvbi4KCSAgICAkcHJldl9zdGF0ZSA9IElOX1ZBUl9ERUY7Cgkg
ICAgJGxhc3RfdmFyX25hbWUgPSAkMTsKCSAgICAkbGFzdF92YXJfdHlwZSA9ICQyOwoJICAgICRs
YXN0X3Zhcl92YWx1ZSA9ICQzOwoJICAgICRsYXN0X3doZXJlID0gJHdoZXJlLT5jbG9uZTsKCSAg
ICBpZiAoJDMgbmUgJycgJiYgc3Vic3RyICgkMywgLTEpIGVxICJcXCIpCgkgICAgICB7CgkJIyBX
ZSBwcmVzZXJ2ZSB0aGUgJ1wnIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBsb25nIGxpbmVzCgkJIyB0
aGF0IGFyZSBnZW5lcmF0ZWQgd2lsbCBiZSB0cnVuY2F0ZWQgYnkgYnJva2VuCgkJIyAnc2VkJ3Mu
CgkJJGxhc3RfdmFyX3ZhbHVlID0gJDMgLiAiXG4iOwoJICAgICAgfQoJICAgICMgTm9ybWFsbHkg
d2UgdHJ5IHRvIG91dHB1dCB2YXJpYWJsZSBkZWZpbml0aW9ucyBpbiB0aGUKCSAgICAjIHNhbWUg
Zm9ybWF0IHRoZXkgd2VyZSBpbnB1dC4gIEhvd2V2ZXIsIFBPU0lYIGNvbXBsaWFudAoJICAgICMg
c3lzdGVtcyBhcmUgbm90IHJlcXVpcmVkIHRvIHN1cHBvcnQgbGluZXMgbG9uZ2VyIHRoYW4KCSAg
ICAjIDIwNDggYnl0ZXMgKG1vc3Qgbm90YWJseSwgc29tZSBzZWQgaW1wbGVtZW50YXRpb24gYXJl
CgkgICAgIyBsaW1pdGVkIHRvIDQwMDAgYnl0ZXMsIGFuZCBzZWQgaXMgdXNlZCBieSBjb25maWcu
c3RhdHVzCgkgICAgIyB0byByZXdyaXRlIE1ha2VmaWxlLmluIGludG8gTWFrZWZpbGUpLiAgTW9y
ZW92ZXIgbm9ib2R5CgkgICAgIyB3b3VsZCByZWFsbHkgd3JpdGUgc3VjaCBsb25nIGxpbmVzIGJ5
IGhhbmQgc2luY2UgaXQgaXMKCSAgICAjIGhhcmRseSBtYWludGFpbmFibGUuICBTbyBpZiBhIGxp
bmUgaXMgbG9uZ2VyIHRoYXQgMTAwMAoJICAgICMgYnl0ZXMgKGFuIGFyYml0cmFyeSBsaW1pdCks
IGFzc3VtZSBpdCBoYXMgYmVlbgoJICAgICMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgc29t
ZSB0b29scywgYW5kIGZsYXR0ZW4gdGhlCgkgICAgIyB2YXJpYWJsZSBkZWZpbml0aW9uLiAgT3Ro
ZXJ3aXNlLCBrZWVwIHRoZSB2YXJpYWJsZSBhcyBpdAoJICAgICMgYXMgYmVlbiBpbnB1dC4KCSAg
ICAkdmFyX2xvb2sgPSBWQVJfUFJFVFRZIGlmIGxlbmd0aCAoJGxhc3RfdmFyX3ZhbHVlKSA+PSAx
MDAwOwoKCSAgICBpZiAoIS9cXCQvKQoJICAgICAgewoJCUF1dG9tYWtlOjpWYXJpYWJsZTo6ZGVm
aW5lICgkbGFzdF92YXJfbmFtZSwgVkFSX01BS0VGSUxFLAoJCQkJCSAgICAkbGFzdF92YXJfdHlw
ZSwgJGNvbmQsCgkJCQkJICAgICRsYXN0X3Zhcl92YWx1ZSwgJGNvbW1lbnQsCgkJCQkJICAgICRs
YXN0X3doZXJlLCAkdmFyX2xvb2spCgkJICBpZiAkY29uZCAhPSBGQUxTRTsKCQkkY29tbWVudCA9
ICRzcGFjaW5nID0gJyc7CgkJJHZhcl9sb29rID0gVkFSX0FTSVM7CgkgICAgICB9Cgl9CgllbHNp
ZiAoLyRJTkNMVURFX1BBVFRFUk4vbykKCXsKCSAgICBteSAkcGF0aCA9ICQxOwoKCSAgICBpZiAo
JHBhdGggPX4gcy9eXCRcKHRvcF9zcmNkaXJcKVwvLy8pCgkgICAgICB7CgkJcHVzaCAoQGluY2x1
ZGVfc3RhY2ssICJcJFwodG9wX3NyY2RpclwpLyRwYXRoIik7CgkJIyBEaXN0cmlidXRlIGFueSBp
bmNsdWRlZCBmaWxlLgoKCQkjIEFsd2F5cyB1c2UgdGhlICQodG9wX3NyY2RpcikgcHJlZml4IGlu
IERJU1RfQ09NTU9OLAoJCSMgb3RoZXJ3aXNlIE9TRiBtYWtlIHdpbGwgaW1wbGljaXRseSBjb3B5
IHRoZSBpbmNsdWRlZAoJCSMgZmlsZSBpbiB0aGUgYnVpbGQgdHJlZSBkdXJpbmcgIm1ha2UgZGlz
dGRpciIgdG8gc2F0aXNmeQoJCSMgdGhlIGRlcGVuZGVuY3kuCgkJIyAoc3ViZGlyLWFtLWNvbmQu
c2ggYW5kIHN1YmRpci1hYy1jb25kLnNoIHdpbGwgZmFpbCkKCQlwdXNoX2Rpc3RfY29tbW9uICgi
XCRcKHRvcF9zcmNkaXJcKS8kcGF0aCIpOwoJICAgICAgfQoJICAgIGVsc2UKCSAgICAgIHsKCQkk
cGF0aCA9fiBzL1wkXChzcmNkaXJcKVwvLy87CgkJcHVzaCAoQGluY2x1ZGVfc3RhY2ssICJcJFwo
c3JjZGlyXCkvJHBhdGgiKTsKCQkjIEFsd2F5cyB1c2UgdGhlICQoc3JjZGlyKSBwcmVmaXggaW4g
RElTVF9DT01NT04sCgkJIyBvdGhlcndpc2UgT1NGIG1ha2Ugd2lsbCBpbXBsaWNpdGx5IGNvcHkg
dGhlIGluY2x1ZGVkCgkJIyBmaWxlIGluIHRoZSBidWlsZCB0cmVlIGR1cmluZyAibWFrZSBkaXN0
ZGlyIiB0byBzYXRpc2Z5CgkJIyB0aGUgZGVwZW5kZW5jeS4KCQkjIChzdWJkaXItYW0tY29uZC5z
aCBhbmQgc3ViZGlyLWFjLWNvbmQuc2ggd2lsbCBmYWlsKQoJCXB1c2hfZGlzdF9jb21tb24gKCJc
JFwoc3JjZGlyXCkvJHBhdGgiKTsKCQkkcGF0aCA9ICRyZWxhdGl2ZV9kaXIgLiAiLyIgLiAkcGF0
aCBpZiAkcmVsYXRpdmVfZGlyIG5lICcuJzsKCSAgICAgIH0KCSAgICBteSAkbmV3X3JlbGRpciA9
IEZpbGU6OlNwZWMtPmFiczJyZWwgKCRwYXRoLCAkcmVsYXRpdmVfZGlyKTsKCSAgICAkbmV3X3Jl
bGRpciA9ICcuJyBpZiAkbmV3X3JlbGRpciAhfiBzLC9bXi9dKiQsLDsKCSAgICAkd2hlcmUtPnB1
c2hfY29udGV4dCAoIickcGF0aCcgaW5jbHVkZWQgZnJvbSBoZXJlIik7CgkgICAgcmVhZF9hbV9m
aWxlICgkcGF0aCwgJHdoZXJlLCAkbmV3X3JlbGRpcik7CgkgICAgJHdoZXJlLT5wb3BfY29udGV4
dDsKCX0KCWVsc2UKCXsKCSAgICAjIFRoaXMgaXNuJ3QgYW4gZXJyb3I7IGl0IGlzIHByb2JhYmx5
IGEgY29udGludWVkIHJ1bGUuCgkgICAgIyBJbiBmYWN0LCB0aGlzIGlzIHdoYXQgd2UgYXNzdW1l
LgoJICAgICRwcmV2X3N0YXRlID0gSU5fUlVMRV9ERUY7CgkgICAgY2hlY2tfdmFyaWFibGVfZXhw
YW5zaW9ucyAoJF8sICR3aGVyZSk7CgkgICAgJG91dHB1dF90cmFpbGVyIC49ICRjb21tZW50IC4g
JHNwYWNpbmc7CgkgICAgbXkgJGNvbmQgPSBuZXcgQXV0b21ha2U6OkNvbmRpdGlvbiBAY29uZF9z
dGFjazsKCSAgICAkb3V0cHV0X3RyYWlsZXIgLj0gJGNvbmQtPnN1YnN0X3N0cmluZzsKCSAgICAk
b3V0cHV0X3RyYWlsZXIgLj0gJF87CgkgICAgJGNvbW1lbnQgPSAkc3BhY2luZyA9ICcnOwoJICAg
IGVycm9yICR3aGVyZSwgIicjJyBjb21tZW50IGF0IHN0YXJ0IG9mIHJ1bGUgaXMgdW5wb3J0YWJs
ZSIKCSAgICAgIGlmICRfID1+IC9eXHRccypcIy87Cgl9CgoJJHNhd19iayA9ICRuZXdfc2F3X2Jr
OwoJJF8gPSAkYW1fZmlsZS0+Z2V0bGluZTsKICAgIH0KCiAgICAkb3V0cHV0X3RyYWlsZXIgLj0g
JGNvbW1lbnQ7CgogICAgZXJyb3IgKCR3aGVyZSwgInRyYWlsaW5nIGJhY2tzbGFzaCBvbiBsYXN0
IGxpbmUiKQogICAgICBpZiAkc2F3X2JrOwoKICAgIGVycm9yICgkd2hlcmUsIChAY29uZF9zdGFj
ayA/ICJ1bnRlcm1pbmF0ZWQgY29uZGl0aW9uYWxzOiBAY29uZF9zdGFjayIKCQkgICAgOiAidG9v
IG1hbnkgY29uZGl0aW9uYWxzIGNsb3NlZCBpbiBpbmNsdWRlIGZpbGUiKSkKICAgICAgaWYgIkBz
YXZlZF9jb25kX3N0YWNrIiBuZSAiQGNvbmRfc3RhY2siOwp9CgoKIyBBIGhlbHBlciBmb3IgcmVh
ZF9tYWluX2FtX2ZpbGUgd2hpY2ggaW5pdGlhbGl6ZXMgY29uZmlndXJlIHZhcmlhYmxlcwojIGFu
ZCB2YXJpYWJsZXMgZnJvbSBoZWFkZXItdmFycy5hbS4Kc3ViIGRlZmluZV9zdGFuZGFyZF92YXJp
YWJsZXMgKCkKewogIG15ICRzYXZlZF9vdXRwdXRfdmFycyA9ICRvdXRwdXRfdmFyczsKICBteSAo
JGNvbW1lbnRzLCB1bmRlZiwgJHJ1bGVzKSA9CiAgICBmaWxlX2NvbnRlbnRzX2ludGVybmFsICgx
LCAiJGxpYmRpci9hbS9oZWFkZXItdmFycy5hbSIsCgkJCSAgICBuZXcgQXV0b21ha2U6OkxvY2F0
aW9uKTsKCiAgZm9yZWFjaCBteSAkdmFyIChzb3J0IGtleXMgJWNvbmZpZ3VyZV92YXJzKQogICAg
ewogICAgICBkZWZpbmVfY29uZmlndXJlX3ZhcmlhYmxlICgkdmFyKTsKICAgIH0KCiAgJG91dHB1
dF92YXJzIC49ICRjb21tZW50cyAuICRydWxlczsKfQoKCiMgcmVhZF9tYWluX2FtX2ZpbGUgKCRN
QUtFRklMRV9BTSwgJE1BS0VGSUxFX0lOKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0Kc3ViIHJlYWRfbWFpbl9hbV9maWxlCnsKICAgIG15ICgkYW1maWxl
LCAkaW5maWxlKSA9IEBfOwoKICAgICMgVGhpcyBzdXBwb3J0cyB0aGUgc3RyYW5nZSB2YXJpYWJs
ZSB0cmlja3Mgd2UgYXJlIGFib3V0IHRvIHBsYXkuCiAgICBwcm9nX2Vycm9yICgidmFyaWFibGUg
ZGVmaW5lZCBiZWZvcmUgcmVhZF9tYWluX2FtX2ZpbGVcbiIgLiB2YXJpYWJsZXNfZHVtcCAoKSkK
ICAgICAgaWYgKHNjYWxhciAodmFyaWFibGVzKSA+IDApOwoKICAgICMgR2VuZXJhdGUgY29weXJp
Z2h0IGhlYWRlciBmb3IgZ2VuZXJhdGVkIE1ha2VmaWxlLmluLgogICAgIyBXZSBkbyBkaXNjYXJk
IHRoZSBvdXRwdXQgb2YgcHJlZGVmaW5lZCB2YXJpYWJsZXMsIGhhbmRsZWQgYmVsb3cuCiAgICAk
b3V0cHV0X3ZhcnMgPSAoIiMgIiAuIGJhc2VuYW1lICgkaW5maWxlKSAuICIgZ2VuZXJhdGVkIGJ5
IGF1dG9tYWtlICIKCQkgICAuICRWRVJTSU9OIC4gIiBmcm9tICIgLiBiYXNlbmFtZSAoJGFtZmls
ZSkgLiAiLlxuIik7CiAgICAkb3V0cHV0X3ZhcnMgLj0gJyMgJyAuIHN1YnN0ICgnY29uZmlndXJl
X2lucHV0JykgLiAiXG4iOwogICAgJG91dHB1dF92YXJzIC49ICRnZW5fY29weXJpZ2h0OwoKICAg
ICMgV2Ugd2FudCB0byBwcmVkZWZpbmUgYXMgbWFueSB2YXJpYWJsZXMgYXMgcG9zc2libGUuICBU
aGlzIGxldHMKICAgICMgdGhlIHVzZXIgc2V0IHRoZW0gd2l0aCAnKz0nIGluIE1ha2VmaWxlLmFt
LgogICAgZGVmaW5lX3N0YW5kYXJkX3ZhcmlhYmxlczsKCiAgICAjIFJlYWQgdXNlciBmaWxlLCB3
aGljaCBtaWdodCBvdmVycmlkZSBzb21lIG9mIG91ciB2YWx1ZXMuCiAgICByZWFkX2FtX2ZpbGUg
KCRhbWZpbGUsIG5ldyBBdXRvbWFrZTo6TG9jYXRpb24sICcuJyk7Cn0KCgoKIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKIyAk
U1RSSU5HCiMgZmxhdHRlbiAoJE9SSUdJTkFMX1NUUklORykKIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQpzdWIgZmxhdHRlbgp7CiAgJF8gPSBzaGlmdDsKCiAgcy9cXFxuLy9zb21nOwogIHMv
XHMrLyAvZzsKICBzL14gLy87CiAgcy8gJC8vOwoKICByZXR1cm4gJF87Cn0KCgojIHRyYW5zZm9y
bV90b2tlbiAoJFRPS0VOLCBcJVBBSVJTLCAkS0VZKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQojIFJldHVybiB0aGUgdmFsdWUgYXNzb2NpYXRlZCB0byAkS0VZIGlu
ICVQQUlSUywgYXMgdXNlZCBvbiAkVE9LRU4KIyAod2hpY2ggc2hvdWxkIGJlID9LRVk/IG9yIGFu
eSBvZiB0aGUgc3BlY2lhbCAlJSByZXF1ZXN0cykuLgpzdWIgdHJhbnNmb3JtX3Rva2VuICgkXCUk
KQp7CiAgbXkgKCR0b2tlbiwgJHRyYW5zZm9ybSwgJGtleSkgPSBAXzsKICBteSAkcmVzID0gJHRy
YW5zZm9ybS0+eyRrZXl9OwogIHByb2dfZXJyb3IgIlVua25vd24ga2V5ICcka2V5JyBpbiAnJHRv
a2VuJyIgdW5sZXNzIGRlZmluZWQgJHJlczsKICByZXR1cm4gJHJlczsKfQoKCiMgdHJhbnNmb3Jt
ICgkVE9LRU4sIFwlUEFJUlMpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgSWYgKCRU
T0tFTiwgJFZBTCkgaXMgaW4gJVBBSVJTOgojICAgLSByZXBsYWNlcyAlS0VZJSB3aXRoICRWQUws
CiMgICAtIGVuYWJsZXMvZGlzYWJsZXMgP0tFWT8gYW5kID8hS0VZPywKIyAgIC0gcmVwbGFjZXMg
JT9LRVklIHdpdGggVFJVRSBvciBGQUxTRS4Kc3ViIHRyYW5zZm9ybSAoJFwlKQp7CiAgbXkgKCR0
b2tlbiwgJHRyYW5zZm9ybSkgPSBAXzsKCiAgIyAlS0VZJS4KICAjIE11c3QgYmUgYmVmb3JlIHRo
ZSBmb2xsb3dpbmcgcGF0dGVybiB0byBleGNsdWRlIHRoZSBjYXNlCiAgIyB3aGVuIHRoZXJlIGlz
IG5laXRoZXIgSUZUUlVFIG5vciBJRkZBTFNFLgogIGlmICgkdG9rZW4gPX4gL14lKFtcd1wtXSsp
JSQvKQogICAgewogICAgICByZXR1cm4gdHJhbnNmb3JtX3Rva2VuICgkdG9rZW4sICUkdHJhbnNm
b3JtLCAkMSk7CiAgICB9CiAgIyAlP0tFWSUuCiAgZWxzaWYgKCR0b2tlbiA9fiAvXiVcPyhbXHdc
LV0rKSUkLykKICAgIHsKICAgICAgcmV0dXJuIHRyYW5zZm9ybV90b2tlbiAoJHRva2VuLCAlJHRy
YW5zZm9ybSwgJDEpID8gJ1RSVUUnIDogJ0ZBTFNFJzsKICAgIH0KICAjID9LRVk/IGFuZCA/IUtF
WT8uCiAgZWxzaWYgKCR0b2tlbiA9fiAvXiBcPyAoIT8pIChbXHdcLV0rKSBcPyAkL3gpCiAgICB7
CiAgICAgIG15ICRuZWcgPSAoJDEgZXEgJyEnKSA/IDEgOiAwOwogICAgICBteSAkdmFsID0gdHJh
bnNmb3JtX3Rva2VuICgkdG9rZW4sICUkdHJhbnNmb3JtLCAkMik7CiAgICAgIHJldHVybiAoKCEh
JHZhbCkgPT0gJG5lZykgPyAnIyMlJyA6ICcnOwogICAgfQogIGVsc2UKICAgIHsKICAgICAgcHJv
Z19lcnJvciAiVW5rbm93biByZXF1ZXN0IGZvcm1hdDogJHRva2VuIjsKICAgIH0KfQoKIyAkVEVY
VAojIHByZXByb2Nlc3NfZmlsZSAoJE1BS0VGSUxFLCBbJVRSQU5TRk9STV0pCiMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMb2FkIGEgJE1BS0VGSUxFLCBhcHBs
eSB0aGUgJVRSQU5TRk9STSwgYW5kIHJldHVybiB0aGUgcmVzdWx0LgojIE5vIGV4dHJhIHBhcnNp
bmcgb3IgcG9zdC1wcm9jZXNzaW5nIGlzIGRvbmUgKGkuZS4sIHJlY29nbml0aW9uIG9mCiMgcnVs
ZXMgZGVjbGFyYXRpb24gb3Igb2YgbWFrZSB2YXJpYWJsZXMgZGVmaW5pdGlvbnMpLgpzdWIgcHJl
cHJvY2Vzc19maWxlCnsKICBteSAoJGZpbGUsICV0cmFuc2Zvcm0pID0gQF87CgogICMgQ29tcGxl
dGUgJXRyYW5zZm9ybSB3aXRoIGdsb2JhbCBvcHRpb25zLgogICMgTm90ZSB0aGF0ICV0cmFuc2Zv
cm0gZ29lcyBsYXN0LCBzbyBpdCBvdmVycmlkZXMgZ2xvYmFsIG9wdGlvbnMuCiAgJXRyYW5zZm9y
bSA9ICggJ01BSU5UQUlORVItTU9ERScKCQkgPT4gJHNlZW5fbWFpbnRfbW9kZSA/IHN1YnN0ICgn
TUFJTlRBSU5FUl9NT0RFX1RSVUUnKSA6ICcnLAoKCQkgJ1haJyAgICAgICAgICA9PiAhISBvcHRp
b24gJ2Rpc3QteHonLAoJCSAnTFpJUCcgICAgICAgID0+ICEhIG9wdGlvbiAnZGlzdC1semlwJywK
CQkgJ0JaSVAyJyAgICAgICA9PiAhISBvcHRpb24gJ2Rpc3QtYnppcDInLAoJCSAnQlpJUDMnICAg
ICAgID0+ICEhIG9wdGlvbiAnZGlzdC1iemlwMycsCgkJICdDT01QUkVTUycgICAgPT4gISEgb3B0
aW9uICdkaXN0LXRhclonLAoJCSAnR1pJUCcgICAgICAgID0+ICAhIG9wdGlvbiAnbm8tZGlzdC1n
emlwJywKCQkgJ1NIQVInICAgICAgICA9PiAhISBvcHRpb24gJ2Rpc3Qtc2hhcicsCgkJICdaSVAn
ICAgICAgICAgPT4gISEgb3B0aW9uICdkaXN0LXppcCcsCgkJICdaU1REJyAgICAgICAgPT4gISEg
b3B0aW9uICdkaXN0LXpzdGQnLAoJCSAnRElTVF9CVUlMVF9TT1VSQ0VTJyA9PiAhIG9wdGlvbiAn
bm8tZGlzdC1idWlsdC1zb3VyY2VzJywKCgkJICdJTlNUQUxMLUlORk8nID0+ICAhIG9wdGlvbiAn
bm8taW5zdGFsbGluZm8nLAoJCSAnSU5TVEFMTC1NQU4nICA9PiAgISBvcHRpb24gJ25vLWluc3Rh
bGxtYW4nLAoJCSAnQ0stTkVXUycgICAgICA9PiAhISBvcHRpb24gJ2NoZWNrLW5ld3MnLAoKCQkg
J1NVQkRJUlMnICAgICAgPT4gISEgdmFyICgnU1VCRElSUycpLAoJCSAnVE9QRElSX1AnICAgICA9
PiAkcmVsYXRpdmVfZGlyIGVxICcuJywKCgkJICdCVUlMRCcgICAgPT4gKCRzZWVuX2Nhbm9uaWNh
bCA+PSBBQ19DQU5PTklDQUxfQlVJTEQpLAoJCSAnSE9TVCcgICAgID0+ICgkc2Vlbl9jYW5vbmlj
YWwgPj0gQUNfQ0FOT05JQ0FMX0hPU1QpLAoJCSAnVEFSR0VUJyAgID0+ICgkc2Vlbl9jYW5vbmlj
YWwgPj0gQUNfQ0FOT05JQ0FMX1RBUkdFVCksCgoJCSAnTElCVE9PTCcgICAgICA9PiAhISB2YXIg
KCdMSUJUT09MJyksCgkJICdOT05MSUJUT09MJyAgID0+IDEsCgkJJXRyYW5zZm9ybSk7CgogIGlm
ICghIGRlZmluZWQgKCRfID0gJGFtX2ZpbGVfY2FjaGV7JGZpbGV9KSkKICAgIHsKICAgICAgdmVy
YiAicmVhZGluZyAkZmlsZSI7CiAgICAgICMgU3dhbGxvdyB0aGUgd2hvbGUgZmlsZS4KICAgICAg
bXkgJGZjX2ZpbGUgPSBuZXcgQXV0b21ha2U6OlhGaWxlICI8ICRmaWxlIjsKICAgICAgbXkgJHNh
dmVkX2RvbGxhcl9zbGFzaCA9ICQvOwogICAgICB1bmRlZiAkLzsKICAgICAgJF8gPSAkZmNfZmls
ZS0+Z2V0bGluZTsKICAgICAgJC8gPSAkc2F2ZWRfZG9sbGFyX3NsYXNoOwogICAgICAkZmNfZmls
ZS0+Y2xvc2U7CiAgICAgICMgUmVtb3ZlICMjLWNvbW1lbnRzLgogICAgICAjIEJlc2lkZXMgd2Ug
ZG9uJ3QgbmVlZCBtb3JlIHRoYW4gdHdvIGNvbnNlY3V0aXZlIG5ldy1saW5lcy4KICAgICAgcy8o
PzokSUdOT1JFX1BBVFRFUk58KD88PVxuXG4pXG4rKS8vZ29tOwogICAgICAjIFJlbWVtYmVyIHRo
ZSBjb250ZW50cyBvZiB0aGUganVzdC1yZWFkIGZpbGUuCiAgICAgICRhbV9maWxlX2NhY2hleyRm
aWxlfSA9ICRfOwogICAgfQoKICAjIFN1YnN0aXR1dGUgQXV0b21ha2UgdGVtcGxhdGUgdG9rZW5z
LgogIHMvKD86ICUgXD8/IFtcd1wtXSsgJQogICAgICB8IFw/ICE/IFtcd1wtXSsgXD8KICAgICkv
dHJhbnNmb3JtKCQmLCAldHJhbnNmb3JtKS9nZXg7CiAgIyB0cmFuc2Zvcm0oKSBtYXkgaGF2ZSBh
ZGRlZCBzb21lICMjJS1jb21tZW50cyB0byBzdHJpcC4KICAjICh3ZSB1c2UgJyMjJScgaW5zdGVh
ZCBvZiAnIyMnIHNvIHdlIGNhbiBkaXN0aW5ndWlzaCAjIyUjIyUjIyUgZnJvbQogICMgIyMjIyMj
IyBhbmQgZG8gbm90IHJlbW92ZSB0aGUgbGF0dGVyLikKICBzL15bIFx0XSooPzojIyUpKy4qXG4v
L2dtOwoKICByZXR1cm4gJF87Cn0KCgojIEBQQVJBR1JBUEhTCiMgbWFrZV9wYXJhZ3JhcGhzICgk
TUFLRUZJTEUsIFslVFJBTlNGT1JNXSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQojIExvYWQgYSAkTUFLRUZJTEUsIGFwcGx5IHRoZSAlVFJBTlNGT1JNLCBhbmQg
cmV0dXJuIGl0IGFzIGEgbGlzdCBvZgojIHBhcmFncmFwaHMuCnN1YiBtYWtlX3BhcmFncmFwaHMK
ewogIG15ICgkZmlsZSwgJXRyYW5zZm9ybSkgPSBAXzsKICAkdHJhbnNmb3Jte0ZJUlNUfSA9ICEk
dHJhbnNmb3JtZWRfZmlsZXN7JGZpbGV9OwogICR0cmFuc2Zvcm1lZF9maWxlc3skZmlsZX0gPSAx
OwoKICBteSBAbGluZXMgPSBzcGxpdCAvKD88IVxcKVxuLywgcHJlcHJvY2Vzc19maWxlICgkZmls
ZSwgJXRyYW5zZm9ybSk7CiAgbXkgQHJlczsKCiAgd2hpbGUgKGRlZmluZWQgKCRfID0gc2hpZnQg
QGxpbmVzKSkKICAgIHsKICAgICAgbXkgJHBhcmFncmFwaCA9ICRfOwogICAgICAjIElmIHdlIGFy
ZSBhIHJ1bGUsIGVhdCBhcyBsb25nIGFzIHdlIHN0YXJ0IHdpdGggYSB0YWIuCiAgICAgIGlmICgv
JFJVTEVfUEFUVEVSTi9zbW8pCgl7CgkgIHdoaWxlIChkZWZpbmVkICgkXyA9IHNoaWZ0IEBsaW5l
cykgJiYgJF8gPX4gL15cdC8pCgkgICAgewoJICAgICAgJHBhcmFncmFwaCAuPSAiXG4kXyI7Cgkg
ICAgfQoJICB1bnNoaWZ0IChAbGluZXMsICRfKTsKCX0KCiAgICAgICMgSWYgd2UgYXJlIGEgY29t
bWVudHMsIGVhdCBhcyBtdWNoIGNvbW1lbnRzIGFzIHlvdSBjYW4uCiAgICAgIGVsc2lmICgvJENP
TU1FTlRfUEFUVEVSTi9zbW8pCgl7CgkgIHdoaWxlIChkZWZpbmVkICgkXyA9IHNoaWZ0IEBsaW5l
cykKCQkgJiYgJF8gPX4gLyRDT01NRU5UX1BBVFRFUk4vc21vKQoJICAgIHsKCSAgICAgICRwYXJh
Z3JhcGggLj0gIlxuJF8iOwoJICAgIH0KCSAgdW5zaGlmdCAoQGxpbmVzLCAkXyk7Cgl9CgogICAg
ICBwdXNoIEByZXMsICRwYXJhZ3JhcGg7CiAgICB9CgogIHJldHVybiBAcmVzOwp9CgoKCiMgKCRD
T01NRU5ULCAkVkFSSUFCTEVTLCAkUlVMRVMpCiMgZmlsZV9jb250ZW50c19pbnRlcm5hbCAoJElT
X0FNLCAkRklMRSwgJFdIRVJFLCBbJVRSQU5TRk9STV0pCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUmV0dXJuIGNvbnRlbnRz
IG9mIGEgZmlsZSBmcm9tICRsaWJkaXIvYW0sIGF1dG9tYXRpY2FsbHkgc2tpcHBpbmcKIyBtYWNy
b3Mgb3IgcnVsZXMgd2hpY2ggYXJlIGFscmVhZHkga25vd24uICRJU19BTSBpZmYgdGhlIGNhbGxl
ciBpcwojIHJlYWRpbmcgYW4gQXV0b21ha2UgZmlsZSAoYXMgb3Bwb3NlZCB0byB0aGUgdXNlcidz
IE1ha2VmaWxlLmFtKS4Kc3ViIGZpbGVfY29udGVudHNfaW50ZXJuYWwKewogICAgbXkgKCRpc19h
bSwgJGZpbGUsICR3aGVyZSwgJXRyYW5zZm9ybSkgPSBAXzsKCiAgICAkd2hlcmUtPnNldCAoJGZp
bGUpOwoKICAgIG15ICRyZXN1bHRfdmFycyA9ICcnOwogICAgbXkgJHJlc3VsdF9ydWxlcyA9ICcn
OwogICAgbXkgJGNvbW1lbnQgPSAnJzsKICAgIG15ICRzcGFjaW5nID0gJyc7CgogICAgIyBUaGUg
Zm9sbG93aW5nIGZsYWdzIGFyZSB1c2VkIHRvIHRyYWNrIHJ1bGVzIHNwYW5uaW5nIGFjcm9zcwog
ICAgIyBtdWx0aXBsZSBwYXJhZ3JhcGhzLgogICAgbXkgJGlzX3J1bGUgPSAwOwkJIyAxIGlmIHdl
IGFyZSBwcm9jZXNzaW5nIGEgcnVsZS4KICAgIG15ICRkaXNjYXJkX3J1bGUgPSAwOwkjIDEgaWYg
dGhlIGN1cnJlbnQgcnVsZSBzaG91bGQgbm90IGJlIG91dHB1dC4KCiAgICAjIFdlIHNhdmUgdGhl
IGNvbmRpdGlvbmFsIHN0YWNrIG9uIGVudHJ5LCBhbmQgdGhlbiBjaGVjayB0byBtYWtlCiAgICAj
IHN1cmUgaXQgaXMgdGhlIHNhbWUgb24gZXhpdC4gIFRoaXMgbGV0cyB1cyBjb25kaXRpb25hbGx5
IGluY2x1ZGUKICAgICMgb3RoZXIgZmlsZXMuCiAgICBteSBAc2F2ZWRfY29uZF9zdGFjayA9IEBj
b25kX3N0YWNrOwogICAgbXkgJGNvbmQgPSBuZXcgQXV0b21ha2U6OkNvbmRpdGlvbiAoQGNvbmRf
c3RhY2spOwoKICAgIGZvcmVhY2ggKG1ha2VfcGFyYWdyYXBocyAoJGZpbGUsICV0cmFuc2Zvcm0p
KQogICAgewoJIyBGSVhNRTogbm8gbGluZSBudW1iZXIgYXZhaWxhYmxlLgoJJHdoZXJlLT5zZXQg
KCRmaWxlKTsKCgkjIFNhbml0eSBjaGVja3MuCgllcnJvciAkd2hlcmUsICJibGFuayBsaW5lIGZv
bGxvd2luZyB0cmFpbGluZyBiYWNrc2xhc2g6XG4kXyIKCSAgaWYgL1xcJC87CgllcnJvciAkd2hl
cmUsICJjb21tZW50IGZvbGxvd2luZyB0cmFpbGluZyBiYWNrc2xhc2g6XG4kXyIKCSAgaWYgL1xc
Iy87CgoJaWYgKC9eJC8pCgl7CgkgICAgJGlzX3J1bGUgPSAwOwoJICAgICMgU3RpY2sgZW1wdHkg
bGluZSBiZWZvcmUgdGhlIGluY29taW5nIG1hY3JvIG9yIHJ1bGUuCgkgICAgJHNwYWNpbmcgPSAi
XG4iOwoJfQoJZWxzaWYgKC8kQ09NTUVOVF9QQVRURVJOL21zbykKCXsKCSAgICAkaXNfcnVsZSA9
IDA7CgkgICAgIyBTdGljayBjb21tZW50cyBiZWZvcmUgdGhlIGluY29taW5nIG1hY3JvIG9yIHJ1
bGUuCgkgICAgJGNvbW1lbnQgPSAiJF9cbiI7Cgl9CgoJIyBIYW5kbGUgaW5jbHVzaW9uIG9mIG90
aGVyIGZpbGVzLgoJZWxzaWYgKC8kSU5DTFVERV9QQVRURVJOL28pCgl7CgkgICAgaWYgKCRjb25k
ICE9IEZBTFNFKQoJICAgICAgewoJCW15ICRmaWxlID0gKCRpc19hbSA/ICIkbGliZGlyL2FtLyIg
OiAnJykgLiAkMTsKCQkkd2hlcmUtPnB1c2hfY29udGV4dCAoIickZmlsZScgaW5jbHVkZWQgZnJv
bSBoZXJlIik7CgkJIyBOLWFyeSAnLj0nIGZhaWxzLgoJCW15ICgkY29tLCAkdmFycywgJHJ1bGVz
KQoJCSAgPSBmaWxlX2NvbnRlbnRzX2ludGVybmFsICgkaXNfYW0sICRmaWxlLCAkd2hlcmUsICV0
cmFuc2Zvcm0pOwoJCSR3aGVyZS0+cG9wX2NvbnRleHQ7CgkJJGNvbW1lbnQgLj0gJGNvbTsKCQkk
cmVzdWx0X3ZhcnMgLj0gJHZhcnM7CgkJJHJlc3VsdF9ydWxlcyAuPSAkcnVsZXM7CgkgICAgICB9
Cgl9CgoJIyBIYW5kbGluZyB0aGUgY29uZGl0aW9uYWxzLgoJZWxzaWYgKC8kSUZfUEFUVEVSTi9v
KQoJICB7CgkgICAgJGNvbmQgPSBjb25kX3N0YWNrX2lmICgkMSwgJDIsICRmaWxlKTsKCSAgfQoJ
ZWxzaWYgKC8kRUxTRV9QQVRURVJOL28pCgkgIHsKCSAgICAkY29uZCA9IGNvbmRfc3RhY2tfZWxz
ZSAoJDEsICQyLCAkZmlsZSk7CgkgIH0KCWVsc2lmICgvJEVORElGX1BBVFRFUk4vbykKCSAgewoJ
ICAgICRjb25kID0gY29uZF9zdGFja19lbmRpZiAoJDEsICQyLCAkZmlsZSk7CgkgIH0KCgkjIEhh
bmRsaW5nIHJ1bGVzLgoJZWxzaWYgKC8kUlVMRV9QQVRURVJOL21zbykKCXsKCSAgJGlzX3J1bGUg
PSAxOwoJICAkZGlzY2FyZF9ydWxlID0gMDsKCSAgIyBTZXBhcmF0ZSByZWxhdGlvbnNoaXAgZnJv
bSBvcHRpb25hbCBhY3Rpb25zOiB0aGUgZmlyc3QKCSAgIyBgbmV3LWxpbmUgdGFiIiBub3QgcHJl
Y2VkZWQgYnkgYmFja3NsYXNoIChjb250aW51YXRpb24KCSAgIyBsaW5lKS4KCSAgbXkgJHBhcmFn
cmFwaCA9ICRfOwoJICAvXiguKj8pKD86KD88IVxcKVxuKFx0LiopKT8kL3M7CgkgIG15ICgkcmVs
YXRpb25zaGlwLCAkYWN0aW9ucykgPSAoJDEsICQyIHx8ICcnKTsKCgkgICMgU2VwYXJhdGUgdGFy
Z2V0cyBmcm9tIGRlcGVuZGVuY2llczogdGhlIGZpcnN0IGNvbG9uLgoJICAkcmVsYXRpb25zaGlw
ID1+IC9eKFteOl0rXFMrKSAqOiAqKC4qKSQvc29tOwoJICBteSAoJHRhcmdldHMsICRkZXBlbmRl
bmNpZXMpID0gKCQxLCAkMik7CgkgICMgUmVtb3ZlIHRoZSBlc2NhcGVkIG5ldyBsaW5lcy4KCSAg
IyBJIGRvbid0IGtub3cgd2h5LCBidXQgSSBoYXZlIHRvIHVzZSBhIHRtcCAkZmxhdF9kZXBzLgoJ
ICBteSAkZmxhdF9kZXBzID0gZmxhdHRlbiAoJGRlcGVuZGVuY2llcyk7CgkgIG15IEBkZXBzID0g
c3BsaXQgKCcgJywgJGZsYXRfZGVwcyk7CgoJICBmb3JlYWNoIChzcGxpdCAoJyAnLCAkdGFyZ2V0
cykpCgkgICAgewoJICAgICAgIyBGSVhNRTogMS4gV2UgYXJlIG5vdCByb2J1c3QgdG8gcGVvcGxl
IGRlZmluaW5nIHNldmVyYWwgdGFyZ2V0cwoJICAgICAgIyBhdCBvbmNlLCBvbmx5IHNvbWUgb2Yg
dGhlbSBiZWluZyBpbiAlZGVwZW5kZW5jaWVzLiAgVGhlCgkgICAgICAjIGFjdGlvbnMgZnJvbSB0
aGUgdGFyZ2V0cyBpbiAlZGVwZW5kZW5jaWVzIGFyZSB1c3VhbGx5IGdlbmVyYXRlZAoJICAgICAg
IyBmcm9tIHRoZSBjb250ZW50IG9mICVhY3Rpb25zLCBidXQgaWYgc29tZSB0YXJnZXRzIGluICR0
YXJnZXRzCgkgICAgICAjIGFyZSBub3QgaW4gJWRlcGVuZGVuY2llcyB0aGUgRUxTRSBicmFuY2gg
d2lsbCBvdXRwdXQKCSAgICAgICMgYSBydWxlIGZvciBhbGwgJHRhcmdldHMgKGkuZS4gdGhlIHRh
cmdldHMgd2hpY2ggYXJlIGJvdGgKCSAgICAgICMgaW4gJWRlcGVuZGVuY2llcyBhbmQgJHRhcmdl
dHMgd2lsbCBoYXZlIHR3byBydWxlcykuCgoJICAgICAgIyBGSVhNRTogMi4gVGhlIGxvZ2ljIGhl
cmUgaXMgbm90IGFibGUgdG8gb3V0cHV0IGEKCSAgICAgICMgbXVsdGktcGFyYWdyYXBoIHJ1bGUg
c2V2ZXJhbCB0aW1lIChlLmcuIGZvciBlYWNoIGNvbmRpdGlvbgoJICAgICAgIyBpdCBpcyBkZWZp
bmVkIGZvcikgYmVjYXVzZSBpdCBvbmx5IGtub3dzIHRoZSBmaXJzdCBwYXJhZ3JhcGguCgoJICAg
ICAgIyBGSVhNRTogMy4gV2UgYXJlIG5vdCByb2J1c3QgdG8gcGVvcGxlIGRlZmluaW5nIGEgc3Vi
c2V0CgkgICAgICAjIG9mIGEgcHJldmlvdXNseSBkZWZpbmVkICJtdWx0aXBsZS10YXJnZXQiIHJ1
bGUuICBFLmcuCgkgICAgICAjICdmb286JyBhZnRlciAnZm9vIGJhcjonLgoKCSAgICAgICMgT3V0
cHV0IG9ubHkgaWYgbm90IGluIEZBTFNFLgoJICAgICAgaWYgKGRlZmluZWQgJGRlcGVuZGVuY2ll
c3skX30gJiYgJGNvbmQgIT0gRkFMU0UpCgkJewoJCSAgZGVwZW5kICgkXywgQGRlcHMpOwoJCSAg
cmVnaXN0ZXJfYWN0aW9uICgkXywgJGFjdGlvbnMpOwoJCX0KCSAgICAgIGVsc2UKCQl7CgkJICAj
IEZyZWUtbGFuY2UgZGVwZW5kZW5jeS4gIE91dHB1dCB0aGUgcnVsZSBmb3IgYWxsIHRoZQoJCSAg
IyB0YXJnZXRzIGluc3RlYWQgb2Ygb25lIGJ5IG9uZS4KCQkgIG15IEB1bmRlZmluZWRfY29uZHMg
PQoJCSAgICBBdXRvbWFrZTo6UnVsZTo6ZGVmaW5lICgkdGFyZ2V0cywgJGZpbGUsCgkJCQkJICAg
ICRpc19hbSA/IFJVTEVfQVVUT01BS0UgOiBSVUxFX1VTRVIsCgkJCQkJICAgICRjb25kLCAkd2hl
cmUpOwoJCSAgZm9yIG15ICR1bmRlZmluZWRfY29uZCAoQHVuZGVmaW5lZF9jb25kcykKCQkgICAg
ewoJCSAgICAgIG15ICRjb25kcGFyYWdyYXBoID0gJHBhcmFncmFwaDsKCQkgICAgICAkY29uZHBh
cmFncmFwaCA9fiBzL14vJHVuZGVmaW5lZF9jb25kLT5zdWJzdF9zdHJpbmcvZ21lOwoJCSAgICAg
ICRyZXN1bHRfcnVsZXMgLj0gIiRzcGFjaW5nJGNvbW1lbnQkY29uZHBhcmFncmFwaFxuIjsKCQkg
ICAgfQoJCSAgaWYgKHNjYWxhciBAdW5kZWZpbmVkX2NvbmRzID09IDApCgkJICAgIHsKCQkgICAg
ICAjIFJlbWVtYmVyIHRvIGRpc2NhcmQgbmV4dCBwYXJhZ3JhcGhzCgkJICAgICAgIyBpZiB0aGV5
IGJlbG9uZyB0byB0aGlzIHJ1bGUuCgkJICAgICAgIyAoYnV0IHNlZSBhbHNvIEZJWE1FOiAjMiBh
Ym92ZS4pCgkJICAgICAgJGRpc2NhcmRfcnVsZSA9IDE7CgkJICAgIH0KCQkgICRjb21tZW50ID0g
JHNwYWNpbmcgPSAnJzsKCQkgIGxhc3Q7CgkJfQoJICAgIH0KCX0KCgllbHNpZiAoLyRBU1NJR05N
RU5UX1BBVFRFUk4vbXNvKQoJewoJICAgIG15ICgkdmFyLCAkdHlwZSwgJHZhbCkgPSAoJDEsICQy
LCAkMyk7CgkgICAgZXJyb3IgJHdoZXJlLCAidmFyaWFibGUgJyR2YXInIHdpdGggdHJhaWxpbmcg
YmFja3NsYXNoIgoJICAgICAgaWYgL1xcJC87CgoJICAgICRpc19ydWxlID0gMDsKCgkgICAgQXV0
b21ha2U6OlZhcmlhYmxlOjpkZWZpbmUgKCR2YXIsCgkJCQkJJGlzX2FtID8gVkFSX0FVVE9NQUtF
IDogVkFSX01BS0VGSUxFLAoJCQkJCSR0eXBlLCAkY29uZCwgJHZhbCwgJGNvbW1lbnQsICR3aGVy
ZSwKCQkJCQlWQVJfQVNJUykKCSAgICAgIGlmICRjb25kICE9IEZBTFNFOwoKCSAgICAkY29tbWVu
dCA9ICRzcGFjaW5nID0gJyc7Cgl9CgllbHNlCgl7CgkgICAgIyBUaGlzIGlzbid0IGFuIGVycm9y
OyBpdCBpcyBwcm9iYWJseSBzb21lIHRva2VucyB3aGljaAoJICAgICMgY29uZmlndXJlIGlzIHN1
cHBvc2VkIHRvIHJlcGxhY2UsIHN1Y2ggYXMgJ0BTRVQtTUFLRUAnLAoJICAgICMgb3Igc29tZSBw
YXJ0IG9mIGEgcnVsZSBjdXQgYnkgYW4gaWYvZW5kaWYuCgkgICAgaWYgKCEgJGNvbmQtPmZhbHNl
ICYmICEgKCRpc19ydWxlICYmICRkaXNjYXJkX3J1bGUpKQoJICAgICAgewoJCXMvXi8kY29uZC0+
c3Vic3Rfc3RyaW5nL2dtZTsKCQkkcmVzdWx0X3J1bGVzIC49ICIkc3BhY2luZyRjb21tZW50JF9c
biI7CgkgICAgICB9CgkgICAgJGNvbW1lbnQgPSAkc3BhY2luZyA9ICcnOwoJfQogICAgfQoKICAg
IGVycm9yICgkd2hlcmUsIEBjb25kX3N0YWNrID8KCSAgICJ1bnRlcm1pbmF0ZWQgY29uZGl0aW9u
YWxzOiBAY29uZF9zdGFjayIgOgoJICAgInRvbyBtYW55IGNvbmRpdGlvbmFscyBjbG9zZWQgaW4g
aW5jbHVkZSBmaWxlIikKICAgICAgaWYgIkBzYXZlZF9jb25kX3N0YWNrIiBuZSAiQGNvbmRfc3Rh
Y2siOwoKICAgIHJldHVybiAoJGNvbW1lbnQsICRyZXN1bHRfdmFycywgJHJlc3VsdF9ydWxlcyk7
Cn0KCgojICRDT05URU5UUwojIGZpbGVfY29udGVudHMgKCRCQVNFTkFNRSwgJFdIRVJFLCBbJVRS
QU5TRk9STV0pCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIyBSZXR1cm4gY29udGVudHMgb2YgYSBmaWxlIGZyb20gJGxpYmRpci9hbSwgYXV0b21hdGlj
YWxseSBza2lwcGluZwojIG1hY3JvcyBvciBydWxlcyB3aGljaCBhcmUgYWxyZWFkeSBrbm93bi4K
c3ViIGZpbGVfY29udGVudHMKewogICAgbXkgKCRiYXNlbmFtZSwgJHdoZXJlLCAldHJhbnNmb3Jt
KSA9IEBfOwogICAgbXkgKCRjb21tZW50cywgJHZhcmlhYmxlcywgJHJ1bGVzKSA9CiAgICAgIGZp
bGVfY29udGVudHNfaW50ZXJuYWwgKDEsICIkbGliZGlyL2FtLyRiYXNlbmFtZS5hbSIsICR3aGVy
ZSwKCQkJICAgICAgJXRyYW5zZm9ybSk7CiAgICByZXR1cm4gIiRjb21tZW50cyR2YXJpYWJsZXMk
cnVsZXMiOwp9CgoKIyBAUFJFRklYCiMgYW1fcHJpbWFyeV9wcmVmaXhlcyAoJFBSSU1BUlksICRD
QU5fRElTVCwgQFBSRUZJWEVTKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIyBGaW5kIGFsbCB2YXJpYWJsZSBwcmVmaXhlcyB0aGF0IGFyZSB1
c2VkIGZvciBpbnN0YWxsIGRpcmVjdG9yaWVzLiAgQQojIHByZWZpeCAnemFyJyBxdWFsaWZpZXMg
aWZmOgojCiMgKiAnemFyZGlyJyBpcyBhIHZhcmlhYmxlLgojICogJ3phcl9QUklNQVJZJyBpcyBh
IHZhcmlhYmxlLgojCiMgQXMgYSBzaWRlIGVmZmVjdCwgaXQgbG9va3MgZm9yIG1pc3NwZWxsaW5n
cy4gIEl0IGlzIGFuIGVycm9yIHRvIGhhdmUKIyBhIHZhcmlhYmxlIGVuZGluZyBpbiBhICJyZXNl
cnZlZCIgc3VmZml4IHdob3NlIHByZWZpeCBpcyB1bmtub3duLCBlLmcuCiMgImJuaV9QUk9HUkFN
UyIuICBIb3dldmVyLCB1bnVzdWFsIHByZWZpeGVzIGFyZSBhbGxvd2VkIGlmIGEgdmFyaWFibGUK
IyBvZiB0aGUgc2FtZSBuYW1lICh3aXRoICJkaXIiIGFwcGVuZGVkKSBleGlzdHMuICBGb3IgaW5z
dGFuY2UsIGlmIHRoZQojIHZhcmlhYmxlICJ6YXJkaXIiIGlzIGRlZmluZWQsIHRoZW4gInphcl9Q
Uk9HUkFNUyIgYmVjb21lcyB2YWxpZC4KIyBUaGlzIGlzIHRvIHByb3ZpZGUgYSBsaXR0bGUgZXh0
cmEgZmxleGliaWxpdHkgaW4gdGhvc2UgY2FzZXMgd2hpY2gKIyBuZWVkIGl0LgpzdWIgYW1fcHJp
bWFyeV9wcmVmaXhlcwp7CiAgbXkgKCRwcmltYXJ5LCAkY2FuX2Rpc3QsIEBwcmVmaXhlcykgPSBA
XzsKCiAgbG9jYWwgJF87CiAgbXkgJXZhbGlkID0gbWFwIHsgJF8gPT4gMCB9IEBwcmVmaXhlczsK
ICAkdmFsaWR7J0VYVFJBJ30gPSAwOwogIGZvcmVhY2ggbXkgJHZhciAodmFyaWFibGVzICRwcmlt
YXJ5KQogICAgewogICAgICAjIEF1dG9tYWtlIGlzIGFsbG93ZWQgdG8gZGVmaW5lIHZhcmlhYmxl
cyB0aGF0IGxvb2sgbGlrZSBwcmltYXJpZXMKICAgICAgIyBidXQgd2hpY2ggYXJlbid0LiAgRS5n
LiBJTlNUQUxMX3NoX0RBVEEuCiAgICAgICMgQXV0b2NvbmYgY2FuIGFsc28gZGVmaW5lIHZhcmlh
YmxlcyBsaWtlIElOU1RBTExfREFUQSwgc28KICAgICAgIyBpZ25vcmUgYWxsIGNvbmZpZ3VyZSB2
YXJpYWJsZXMgKGF0IGxlYXN0IHRob3NlIHdoaWNoIGFyZSBub3QKICAgICAgIyByZWRlZmluZWQg
aW4gTWFrZWZpbGUuYW0pLgogICAgICAjIEZJWE1FOiBXZSBzaG91bGQgbWFrZSBzdXJlIHRoYXQg
dGhlc2UgdmFyaWFibGVzIGFyZSBub3QKICAgICAgIyBjb25kaXRpb25hbGx5IGRlZmluZWQgKG9y
IGVsc2UgYWRqdXN0IHRoZSBjb25kaXRpb24gYmVsb3cpLgogICAgICBteSAkZGVmID0gJHZhci0+
ZGVmIChUUlVFKTsKICAgICAgbmV4dCBpZiAkZGVmICYmICRkZWYtPm93bmVyICE9IFZBUl9NQUtF
RklMRTsKCiAgICAgIG15ICR2YXJuYW1lID0gJHZhci0+bmFtZTsKCiAgICAgIGlmICgkdmFybmFt
ZSA9fiAvXihub2Jhc2VfKT8oZGlzdF98bm9kaXN0Xyk/KC4qKV9bWzphbG51bTpdXSskLykKCXsK
CSAgbXkgKCRiYXNlLCAkZGlzdCwgJFgpID0gKCQxIHx8ICcnLCAkMiB8fCAnJywgJDMgfHwgJycp
OwoJICBpZiAoJGRpc3QgbmUgJycgJiYgISAkY2FuX2Rpc3QpCgkgICAgewoJICAgICAgZXJyX3Zh
ciAoJHZhciwKCQkgICAgICAgImludmFsaWQgdmFyaWFibGUgJyR2YXJuYW1lJzogJ2Rpc3QnIGlz
IGZvcmJpZGRlbiIpOwoJICAgIH0KCSAgIyBTdGFuZGFyZCBkaXJlY3RvcmllcyBtdXN0IGJlIGV4
cGxpY2l0bHkgYWxsb3dlZC4KCSAgZWxzaWYgKCEgZGVmaW5lZCAkdmFsaWR7JFh9ICYmIGV4aXN0
cyAkc3RhbmRhcmRfcHJlZml4eyRYfSkKCSAgICB7CgkgICAgICBlcnJfdmFyICgkdmFyLAoJCSAg
ICAgICAiJyR7WH1kaXInIGlzIG5vdCBhIGxlZ2l0aW1hdGUgZGlyZWN0b3J5ICIgLgoJCSAgICAg
ICAiZm9yICckcHJpbWFyeSciKTsKCSAgICB9CgkgICMgQSBub3QgZXhwbGljaXRseSB2YWxpZCBk
aXJlY3RvcnkgaXMgYWxsb3dlZCBpZiBYZGlyIGlzIGRlZmluZWQuCgkgIGVsc2lmICghIGRlZmlu
ZWQgJHZhbGlkeyRYfSAmJgoJCSAkdmFyLT5yZXF1aXJlc192YXJpYWJsZXMgKCInJHZhcm5hbWUn
IGlzIHVzZWQiLCAiJHtYfWRpciIpKQoJICAgIHsKCSAgICAgICMgTm90aGluZyB0byBkby4gIEFu
eSBlcnJvciBtZXNzYWdlIGhhcyBiZWVuIG91dHB1dAoJICAgICAgIyBieSAkdmFyLT5yZXF1aXJl
c192YXJpYWJsZXMuCgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgIyBFbnN1cmUgYWxsIGV4
dGVuZGVkIHByZWZpeGVzIGFyZSBhY3R1YWxseSB1c2VkLgoJICAgICAgJHZhbGlkeyIkYmFzZSRk
aXN0JFgifSA9IDE7CgkgICAgfQoJfQogICAgICBlbHNlCgl7CgkgIHByb2dfZXJyb3IgInVuZXhw
ZWN0ZWQgdmFyaWFibGUgbmFtZTogJHZhcm5hbWUiOwoJfQogICAgfQoKICAjIFJldHVybiBvbmx5
IHRob3NlIHdoaWNoIGFyZSBhY3R1YWxseSBkZWZpbmVkLgogIHJldHVybiBzb3J0IGdyZXAgeyB2
YXIgKCRfIC4gJ18nIC4gJHByaW1hcnkpIH0ga2V5cyAldmFsaWQ7Cn0KCgojIGFtX2luc3RhbGxf
dmFyICgtT1BUSU9OLi4uLCBmaWxlLCBIT1csIHdoZXJlLi4uKQojIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgSGFuZGxlICd3aGVyZV9IT1cnIHZh
cmlhYmxlIG1hZ2ljLiAgRG9lcyBhbGwgbG9va3VwcywgZ2VuZXJhdGVzCiMgaW5zdGFsbCBjb2Rl
LCBhbmQgcG9zc2libHkgZ2VuZXJhdGVzIGNvZGUgdG8gZGVmaW5lIHRoZSBwcmltYXJ5CiMgdmFy
aWFibGUuICBUaGUgZmlyc3QgYXJndW1lbnQgaXMgdGhlIG5hbWUgb2YgdGhlIC5hbSBmaWxlIHRv
IG11bmdlLAojIHRoZSBzZWNvbmQgYXJndW1lbnQgaXMgdGhlIHByaW1hcnkgdmFyaWFibGUgKGUu
Zy4gSEVBREVSUyksIGFuZCBhbGwKIyBzdWJzZXF1ZW50IGFyZ3VtZW50cyBhcmUgcG9zc2libGUg
aW5zdGFsbGF0aW9uIGxvY2F0aW9ucy4KIwojIFJldHVybnMgbGlzdCBvZiBbJGxvY2F0aW9uLCAk
dmFsdWVdIHBhaXJzLCB3aGVyZQojICR2YWx1ZSdzIGFyZSB0aGUgdmFsdWVzIGluIGFsbCB3aGVy
ZV9IT1cgdmFyaWFibGUsIGFuZCAkbG9jYXRpb24KIyB0aGVyZSBhc3NvY2lhdGVkIGxvY2F0aW9u
ICh0aGUgcGxhY2UgaGVyZSB0aGVpciBwYXJlbnQgdmFyaWFibGVzIHdlcmUKIyBkZWZpbmVkKS4K
IwojIEZJWE1FOiB0aGlzIHNob3VsZCBiZSByZXdyaXR0ZW4gdG8gYmUgY2xlYW5lci4gIEl0IHNo
b3VsZCBiZSBicm9rZW4KIyB1cCBpbnRvIG11bHRpcGxlIGZ1bmN0aW9ucy4KIwpzdWIgYW1faW5z
dGFsbF92YXIKewogIG15IChAYXJncykgPSBAXzsKCiAgbXkgJGRvX3JlcXVpcmUgPSAxOwogIG15
ICRjYW5fZGlzdCA9IDA7CiAgbXkgJGRlZmF1bHRfZGlzdCA9IDA7CiAgd2hpbGUgKEBhcmdzKQog
ICAgewogICAgICBpZiAoJGFyZ3NbMF0gZXEgJy1ub2V4dHJhJykKCXsKCSAgJGRvX3JlcXVpcmUg
PSAwOwoJfQogICAgICBlbHNpZiAoJGFyZ3NbMF0gZXEgJy1jYW5kaXN0JykKCXsKCSAgJGNhbl9k
aXN0ID0gMTsKCX0KICAgICAgZWxzaWYgKCRhcmdzWzBdIGVxICctZGVmYXVsdGRpc3QnKQoJewoJ
ICAkZGVmYXVsdF9kaXN0ID0gMTsKCSAgJGNhbl9kaXN0ID0gMTsKCX0KICAgICAgZWxzaWYgKCRh
cmdzWzBdICF+IC9eLS8pCgl7CgkgIGxhc3Q7Cgl9CiAgICAgIHNoaWZ0IChAYXJncyk7CiAgICB9
CgogIG15ICgkZmlsZSwgJHByaW1hcnksIEBwcmVmaXgpID0gQGFyZ3M7CgogICMgTm93IHRoYXQg
Y29uZmlndXJlIHN1YnN0aXR1dGlvbnMgYXJlIGFsbG93ZWQgaW4gd2hlcmVfSE9XCiAgIyB2YXJp
YWJsZXMsIGl0IGlzIGFuIGVycm9yIHRvIGFjdHVhbGx5IGRlZmluZSB0aGUgcHJpbWFyeS4gIFdl
CiAgIyBhbGxvdyAnSkFWQScsIGFzIGl0IGlzIGN1c3RvbWFyaWx5IHVzZWQgdG8gbWVhbiB0aGUg
SmF2YQogICMgaW50ZXJwcmV0ZXIuICBUaGlzIGlzIGJ1dCBvbmUgb2Ygc2V2ZXJhbCBKYXZhIGhh
Y2tzLiAgU2ltaWxhcmx5LAogICMgJ1BZVEhPTicgaXMgY3VzdG9tYXJpbHkgdXNlZCB0byBtZWFu
IHRoZSBQeXRob24gaW50ZXJwcmV0ZXIuCiAgcmVqZWN0X3ZhciAkcHJpbWFyeSwgIickcHJpbWFy
eScgaXMgYW4gYW5hY2hyb25pc20iCiAgICB1bmxlc3MgJHByaW1hcnkgZXEgJ0pBVkEnIHx8ICRw
cmltYXJ5IGVxICdQWVRIT04nOwoKICAjIEdldCB0aGUgcHJlZml4ZXMgd2hpY2ggYXJlIHZhbGlk
IGFuZCBhY3R1YWxseSB1c2VkLgogIEBwcmVmaXggPSBhbV9wcmltYXJ5X3ByZWZpeGVzICgkcHJp
bWFyeSwgJGNhbl9kaXN0LCBAcHJlZml4KTsKCiAgIyBJZiBhIHByaW1hcnkgaW5jbHVkZXMgYSBj
b25maWd1cmUgc3Vic3RpdHV0aW9uLCB0aGVuIHRoZSBFWFRSQV8KICAjIGZvcm0gaXMgcmVxdWly
ZWQuICBPdGhlcndpc2Ugd2UgY2FuJ3QgcHJvcGVybHkgZG8gb3VyIGpvYi4KICBteSAkcmVxdWly
ZV9leHRyYTsKCiAgbXkgQHVzZWQgPSAoKTsKICBteSBAcmVzdWx0ID0gKCk7CgogIGZvcmVhY2gg
bXkgJFggKEBwcmVmaXgpCiAgICB7CiAgICAgIG15ICRub2Rpcl9uYW1lID0gJFg7CiAgICAgIG15
ICRvbmVfbmFtZSA9ICRYIC4gJ18nIC4gJHByaW1hcnk7CiAgICAgIG15ICRvbmVfdmFyID0gdmFy
ICRvbmVfbmFtZTsKCiAgICAgIG15ICRzdHJpcF9zdWJkaXIgPSAxOwogICAgICAjIElmIHN1YmRp
ciBwcmVmaXggc2hvdWxkIGJlIHByZXNlcnZlZCwgZG8gc28uCiAgICAgIGlmICgkbm9kaXJfbmFt
ZSA9fiAvXm5vYmFzZV8vKQoJewoJICAkc3RyaXBfc3ViZGlyID0gMDsKCSAgJG5vZGlyX25hbWUg
PX4gcy9ebm9iYXNlXy8vOwoJfQoKICAgICAgIyBJZiBmaWxlcyBzaG91bGQgYmUgZGlzdHJpYnV0
ZWQsIGRvIHNvLgogICAgICBteSAkZGlzdF9wID0gMDsKICAgICAgaWYgKCRjYW5fZGlzdCkKCXsK
CSAgJGRpc3RfcCA9ICgoJGRlZmF1bHRfZGlzdCAmJiAkbm9kaXJfbmFtZSAhfiAvXm5vZGlzdF8v
KQoJCSAgICAgfHwgKCEgJGRlZmF1bHRfZGlzdCAmJiAkbm9kaXJfbmFtZSA9fiAvXmRpc3RfLykp
OwoJICAkbm9kaXJfbmFtZSA9fiBzL14oZGlzdHxub2Rpc3QpXy8vOwoJfQoKCiAgICAgICMgVXNl
IHRoZSBsb2NhdGlvbiBvZiB0aGUgY3VycmVudGx5IHByb2Nlc3NlZCB2YXJpYWJsZS4KICAgICAg
IyBXZSBhcmUgbm90IHByb2Nlc3NpbmcgYSBwYXJ0aWN1bGFyIGNvbmRpdGlvbiwgc28gcGljayB0
aGUgZmlyc3QKICAgICAgIyBhdmFpbGFibGUuCiAgICAgIG15ICR0bXBjb25kID0gJG9uZV92YXIt
PmNvbmRpdGlvbnMtPm9uZV9jb25kOwogICAgICBteSAkd2hlcmUgPSAkb25lX3Zhci0+cmRlZiAo
JHRtcGNvbmQpLT5sb2NhdGlvbi0+Y2xvbmU7CgogICAgICAjIEFwcGVuZCBhY3R1YWwgY29udGVu
dHMgb2Ygd2hlcmVfUFJJTUFSWSB2YXJpYWJsZSB0bwogICAgICAjIEByZXN1bHQsIHNraXBwaW5n
IEBzdWJzdGl0dXRpb25zQC4KICAgICAgZm9yZWFjaCBteSAkbG9jdmFscyAoJG9uZV92YXItPnZh
bHVlX2FzX2xpc3RfcmVjdXJzaXZlIChsb2NhdGlvbiA9PiAxKSkKCXsKCSAgbXkgKCRsb2MsICR2
YWx1ZSkgPSBAJGxvY3ZhbHM7CgkgICMgU2tpcCBjb25maWd1cmUgc3Vic3RpdHV0aW9ucy4KCSAg
aWYgKCR2YWx1ZSA9fiAvXlxALipcQCQvKQoJICAgIHsKCSAgICAgIGlmICgkbm9kaXJfbmFtZSBl
cSAnRVhUUkEnKQoJCXsKCQkgIGVycm9yICgkd2hlcmUsCgkJCSAiJyRvbmVfbmFtZScgY29udGFp
bnMgY29uZmlndXJlIHN1YnN0aXR1dGlvbiwgIgoJCQkgLiAiYnV0IHNob3VsZG4ndCIpOwoJCX0K
CSAgICAgICMgQ2hlY2sgaGVyZSB0byBtYWtlIHN1cmUgdmFyaWFibGVzIGRlZmluZWQgaW4KCSAg
ICAgICMgY29uZmlndXJlLmFjIGRvIG5vdCBpbXBseSB0aGF0IEVYVFJBX1BSSU1BUlkKCSAgICAg
ICMgbXVzdCBiZSBkZWZpbmVkLgoJICAgICAgZWxzaWYgKCEgZGVmaW5lZCAkY29uZmlndXJlX3Zh
cnN7JG9uZV9uYW1lfSkKCQl7CgkJICAkcmVxdWlyZV9leHRyYSA9ICRvbmVfbmFtZQoJCSAgICBp
ZiAkZG9fcmVxdWlyZTsKCQl9CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgIyBTdHJpcCBh
bnkgJChFWEVFWFQpIHN1ZmZpeCB0aGUgdXNlciBtaWdodCBoYXZlIGFkZGVkLAogICAgICAgICAg
ICAgICMgb3IgdGhpcyB3aWxsIGNvbmZ1c2UgaGFuZGxlX3NvdXJjZV90cmFuc2Zvcm0oKSBhbmQK
ICAgICAgICAgICAgICAjIGNoZWNrX2Nhbm9uaWNhbF9zcGVsbGluZygpLgoJICAgICAgIyBXZSds
bCBhZGQgJChFWEVFWFQpIGJhY2sgbGF0ZXIgYW55d2F5LgoJICAgICAgIyBEbyBpdCBoZXJlIHJh
dGhlciB0aGFuIGluIGhhbmRsZV9wcm9ncmFtcyBzbyB0aGUKICAgICAgICAgICAgICAjIHVuaXF1
aWZ5aW5nIGF0IHRoZSBlbmQgb2YgdGhpcyBmdW5jdGlvbiB3b3Jrcy4KCSAgICAgICR7JGxvY3Zh
bHN9WzFdID1+IHMvXCRcKEVYRUVYVFwpJC8vCgkgICAgICAgIGlmICRwcmltYXJ5IGVxICdQUk9H
UkFNUyc7CgoJICAgICAgcHVzaCAoQHJlc3VsdCwgJGxvY3ZhbHMpOwoJICAgIH0KCX0KICAgICAg
IyBBIGJsYXRhbnQgaGFjazogd2UgcmV3cml0ZSBlYWNoIF9QUk9HUkFNUyBwcmltYXJ5IHRvIGlu
Y2x1ZGUKICAgICAgIyBFWEVFWFQuCiAgICAgIGFwcGVuZF9leGVleHQgeyAxIH0gJG9uZV9uYW1l
CglpZiAkcHJpbWFyeSBlcSAnUFJPR1JBTVMnOwogICAgICAjICJFWFRSQSIgc2hvdWxkbid0IGJl
IHVzZWQgd2hlbiBnZW5lcmF0aW5nIGNsZWFuIHRhcmdldHMsCiAgICAgICMgYWxsLCBvciBpbnN0
YWxsIHRhcmdldHMuICBXZSB1c2VkIHRvIHdhcm4gaWYgRVhUUkFfRk9PIHdhcwogICAgICAjIGRl
ZmluZWQgdXNlbGVzc2x5LCBidXQgdGhpcyB3YXMgYW5ub3lpbmcuCiAgICAgIG5leHQKCWlmICRu
b2Rpcl9uYW1lIGVxICdFWFRSQSc7CgogICAgICBpZiAoJG5vZGlyX25hbWUgZXEgJ2NoZWNrJykK
CXsKCSAgcHVzaCAoQGNoZWNrLCAnJCgnIC4gJG9uZV9uYW1lIC4gJyknKTsKCX0KICAgICAgZWxz
ZQoJewoJICBwdXNoIChAdXNlZCwgJyQoJyAuICRvbmVfbmFtZSAuICcpJyk7Cgl9CgogICAgICAj
IElzIHRoaXMgdG8gYmUgaW5zdGFsbGVkPwogICAgICBteSAkaW5zdGFsbF9wID0gJG5vZGlyX25h
bWUgbmUgJ25vaW5zdCcgJiYgJG5vZGlyX25hbWUgbmUgJ2NoZWNrJzsKCiAgICAgICMgSWYgc28s
IHdpdGggaW5zdGFsbC1leGVjPyAob3IgaW5zdGFsbC1kYXRhPykuCiAgICAgIG15ICRleGVjX3Ag
PSAoJG5vZGlyX25hbWUgPX4gLyRFWEVDX0RJUl9QQVRURVJOL28pOwoKICAgICAgbXkgJGNoZWNr
X29wdGlvbnNfcCA9ICRpbnN0YWxsX3AgJiYgISEgb3B0aW9uICdzdGQtb3B0aW9ucyc7CgogICAg
ICAjIFVzZSB0aGUgbG9jYXRpb24gb2YgdGhlIGN1cnJlbnRseSBwcm9jZXNzZWQgdmFyaWFibGUg
YXMgY29udGV4dC4KICAgICAgJHdoZXJlLT5wdXNoX2NvbnRleHQgKCJ3aGlsZSBwcm9jZXNzaW5n
ICckb25lX25hbWUnIik7CgogICAgICAjIFRoZSB2YXJpYWJsZSBjb250YWluaW5nIGFsbCBmaWxl
cyB0byBkaXN0cmlidXRlLgogICAgICBteSAkZGlzdHZhciA9ICJcJCgkb25lX25hbWUpIjsKICAg
ICAgJGRpc3R2YXIgPSBzaGFkb3dfdW5jb25kaXRpb25hbGx5ICgkb25lX25hbWUsICR3aGVyZSkK
CWlmICgkZGlzdF9wICYmICRvbmVfdmFyLT5oYXNfY29uZGl0aW9uYWxfY29udGVudHMpOwoKICAg
ICAgIyBTaW5ndWxhciBmb3JtIG9mICRQUklNQVJZLgogICAgICAobXkgJG9uZV9wcmltYXJ5ID0g
JHByaW1hcnkpID1+IHMvUyQvLzsKICAgICAgJG91dHB1dF9ydWxlcyAuPSBmaWxlX2NvbnRlbnRz
ICgkZmlsZSwgJHdoZXJlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBS
SU1BUlkgICAgID0+ICRwcmltYXJ5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE9ORV9QUklNQVJZID0+ICRvbmVfcHJpbWFyeSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBESVIgICAgICAgICA9PiAkWCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBORElSICAgICAgICA9PiAkbm9kaXJfbmFtZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBCQVNFICAgICAgICA9PiAkc3RyaXBfc3ViZGlyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYRUMgICAgICAgID0+ICRleGVjX3As
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5TVEFMTCAgICAgPT4gJGlu
c3RhbGxfcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBESVNUICAgICAg
ICA9PiAkZGlzdF9wLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERJU1RW
QVIgICAgID0+ICRkaXN0dmFyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICdDSy1PUFRTJyAgID0+ICRjaGVja19vcHRpb25zX3ApOwogICAgfQoKICAjIFRoZSBKQVZBIHZh
cmlhYmxlIGlzIHVzZWQgYXMgdGhlIG5hbWUgb2YgdGhlIEphdmEgaW50ZXJwcmV0ZXIuCiAgIyBU
aGUgUFlUSE9OIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIG5hbWUgb2YgdGhlIFB5dGhvbiBpbnRl
cnByZXRlci4KICBpZiAoQHVzZWQgJiYgJHByaW1hcnkgbmUgJ0pBVkEnICYmICRwcmltYXJ5IG5l
ICdQWVRIT04nKQogICAgewogICAgICAjIERlZmluZSBpdC4KICAgICAgZGVmaW5lX3ByZXR0eV92
YXJpYWJsZSAoJHByaW1hcnksIFRSVUUsIElOVEVSTkFMLCBAdXNlZCk7CiAgICAgICRvdXRwdXRf
dmFycyAuPSAiXG4iOwogICAgfQoKICBlcnJfdmFyICgkcmVxdWlyZV9leHRyYSwKCSAgICInJHJl
cXVpcmVfZXh0cmEnIGNvbnRhaW5zIGNvbmZpZ3VyZSBzdWJzdGl0dXRpb24sXG4iCgkgICAuICJi
dXQgJ0VYVFJBXyRwcmltYXJ5JyBub3QgZGVmaW5lZCIpCiAgICBpZiAoJHJlcXVpcmVfZXh0cmEg
JiYgISB2YXIgKCdFWFRSQV8nIC4gJHByaW1hcnkpKTsKCiAgIyBQdXNoIGhlcmUgYmVjYXVzZSBQ
UklNQVJZIG1pZ2h0IGJlIGNvbmZpZ3VyZSB0aW1lIGRldGVybWluZWQuCiAgcHVzaCAoQGFsbCwg
JyQoJyAuICRwcmltYXJ5IC4gJyknKQogICAgaWYgQHVzZWQgJiYgJHByaW1hcnkgbmUgJ0pBVkEn
ICYmICRwcmltYXJ5IG5lICdQWVRIT04nOwoKICAjIE1ha2UgdGhlIHJlc3VsdCB1bmlxdWUuICBU
aGlzIGxldHMgdGhlIHVzZXIgdXNlIGNvbmRpdGlvbmFscyBpbgogICMgYSBuYXR1cmFsIHdheSwg
YnV0IHN0aWxsIGxldHMgdXMgcHJvZ3JhbSBsYXppbHkgLS0gd2UgZG9uJ3QgaGF2ZQogICMgdG8g
d29ycnkgYWJvdXQgaGFuZGxpbmcgYSBwYXJ0aWN1bGFyIG9iamVjdCBtb3JlIHRoYW4gb25jZS4K
ICAjIFdlIHdpbGwga2VlcCBvbmx5IG9uZSBsb2NhdGlvbiBwZXIgb2JqZWN0LgogIG15ICVyZXN1
bHQgPSAoKTsKICBmb3IgbXkgJHBhaXIgKEByZXN1bHQpCiAgICB7CiAgICAgIG15ICgkbG9jLCAk
dmFsKSA9IEAkcGFpcjsKICAgICAgJHJlc3VsdHskdmFsfSA9ICRsb2M7CiAgICB9CiAgbXkgQGwg
PSBzb3J0IGtleXMgJXJlc3VsdDsKICByZXR1cm4gbWFwIHsgWyRyZXN1bHR7JF99LT5jbG9uZSwg
JF9dIH0gQGw7Cn0KCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIEVhY2gga2V5IGluIHRoaXMgaGFzaCBpcyB0aGUgbmFt
ZSBvZiBhIGRpcmVjdG9yeSBob2xkaW5nIGEKIyBNYWtlZmlsZS5pbi4gIFRoZXNlIHZhcmlhYmxl
cyBhcmUgbG9jYWwgdG8gJ2lzX21ha2VfZGlyJy4KbXkgJW1ha2VfZGlycyA9ICgpOwpteSAkbWFr
ZV9kaXJzX3NldCA9IDA7CgojIGlzX21ha2VfZGlyICgkRElSRUNUT1JZKQojIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQpzdWIgaXNfbWFrZV9kaXIKewogICAgbXkgKCRkaXIpID0gQF87CiAgICBp
ZiAoISAkbWFrZV9kaXJzX3NldCkKICAgIHsKCWZvcmVhY2ggbXkgJGl0ZXIgKEBjb25maWd1cmVf
aW5wdXRfZmlsZXMpCgl7CgkgICAgJG1ha2VfZGlyc3tkaXJuYW1lICgkaXRlcil9ID0gMTsKCX0K
CSMgV2UgYWxzbyB3YW50IHRvIG5vdGljZSBNYWtlZmlsZS5pbidzLgoJZm9yZWFjaCBteSAkaXRl
ciAoQG90aGVyX2lucHV0X2ZpbGVzKQoJewoJICAgIGlmICgkaXRlciA9fiAvTWFrZWZpbGVcLmlu
JC8pCgkgICAgewoJCSRtYWtlX2RpcnN7ZGlybmFtZSAoJGl0ZXIpfSA9IDE7CgkgICAgfQoJfQoJ
JG1ha2VfZGlyc19zZXQgPSAxOwogICAgfQogICAgcmV0dXJuIGRlZmluZWQgJG1ha2VfZGlyc3sk
ZGlyfTsKfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIwoKIyBGaW5kIHRoZSBhdXggZGlyLiAgVGhpcyBzaG91bGQgbWF0Y2gg
dGhlIGFsZ29yaXRobSB1c2VkIGJ5CiMgLi9jb25maWd1cmUuIFNlZSB0aGUgQXV0b2NvbmYgZG9j
dW1lbnRhdGlvbiBmb3IgQUNfQ09ORklHX0FVWF9ESVIuCnN1YiBsb2NhdGVfYXV4X2RpciAoKQp7
CiAgaWYgKCEgJGNvbmZpZ19hdXhfZGlyX3NldF9pbl9jb25maWd1cmVfYWMpCiAgICB7CiAgICAg
ICMgVGhlIGRlZmF1bHQgYXV4aWxpYXJ5IGRpcmVjdG9yeSBpcyB0aGUgZmlyc3QKICAgICAgIyBv
ZiAuLCAuLiwgb3IgLi4vLi4gdGhhdCBjb250YWlucyBpbnN0YWxsLXNoLgogICAgICAjIEFzc3Vt
ZSAuIGlmIGluc3RhbGwtc2ggZG9lc24ndCBleGlzdCB5ZXQuCiAgICAgIGZvciBteSAkZGlyIChx
dyAoLiAuLiAuLi8uLikpCgl7CgkgIGlmICgtZiAiJGRpci9pbnN0YWxsLXNoIikKCSAgICB7Cgkg
ICAgICAkY29uZmlnX2F1eF9kaXIgPSAkZGlyOwoJICAgICAgbGFzdDsKCSAgICB9Cgl9CiAgICAg
ICRjb25maWdfYXV4X2RpciA9ICcuJyB1bmxlc3MgJGNvbmZpZ19hdXhfZGlyOwogICAgfQogICMg
QXZvaWQgdW5zaWdodGx5ICcvLidzLgogICRhbV9jb25maWdfYXV4X2RpciA9CiAgICAnJCh0b3Bf
c3JjZGlyKScgLiAoJGNvbmZpZ19hdXhfZGlyIGVxICcuJyA/ICIiIDogIi8kY29uZmlnX2F1eF9k
aXIiKTsKICAkYW1fY29uZmlnX2F1eF9kaXIgPX4gcywvKiQsLDsKfQoKCiMgcHVzaF9yZXF1aXJl
ZF9maWxlICgkRElSLCAkRklMRSwgJEZVTExGSUxFKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBQdXNoIHRoZSBnaXZlbiBmaWxlIG9udG8gRElTVF9DT01N
T04uCnN1YiBwdXNoX3JlcXVpcmVkX2ZpbGUKewogIG15ICgkZGlyLCAkZmlsZSwgJGZ1bGxmaWxl
KSA9IEBfOwoKICAjIElmIHRoZSBmaWxlIHRvIGJlIGRpc3RyaWJ1dGVkIGlzIGluIHRoZSBzYW1l
IGRpcmVjdG9yeSBvZiB0aGUKICAjIGN1cnJlbnRseSBwcm9jZXNzZWQgTWFrZWZpbGUuYW0sIHRo
ZW4gd2Ugd2FudCB0byBkaXN0cmlidXRlIGl0CiAgIyBmcm9tIHRoaXMgc2FtZSBNYWtlZmlsZS5h
bS4KICBpZiAoJGRpciBlcSAkcmVsYXRpdmVfZGlyKQogICAgewogICAgICBwdXNoX2Rpc3RfY29t
bW9uICgkZmlsZSk7CiAgICB9CiAgIyBUaGlzIGlzIG5lZWRlZCB0byBhbGxvdyBhIGNvbnN0cnVj
dCBpbiBhIG5vbi10b3AtbGV2ZWwgTWFrZWZpbGUuYW0KICAjIHRvIHJlcXVpcmUgYSBmaWxlIGlu
IHRoZSBidWlsZC1hdXggZGlyZWN0b3J5IChzZWUgYXQgbGVhc3QgdGhlIHRlc3QKICAjIHNjcmlw
dCAndGVzdC1kcml2ZXItaXMtZGlzdHJpYnV0ZWQuc2gnKS4gIFRoaXMgaXMgcmVsYXRlZCB0byB0
aGUKICAjIGF1dG9tYWtlIGJ1ZyM5NTQ2LiAgTm90ZSB0aGF0IHRoZSB1c2Ugb2YgJGNvbmZpZ19h
dXhfZGlyIGluc3RlYWQKICAjIG9mICRhbV9jb25maWdfYXV4X2RpciBoZXJlIGlzIGRlbGliZXJh
dGUgYW5kIG5lY2Vzc2FyeS4KICBlbHNpZiAoJGRpciBlcSAkY29uZmlnX2F1eF9kaXIpCiAgICB7
CiAgICAgIHB1c2hfZGlzdF9jb21tb24gKCIkYW1fY29uZmlnX2F1eF9kaXIvJGZpbGUiKTsKICAg
IH0KICAjIEZJWE1FOiBhbm90aGVyIHNwZWNpYWwgY2FzZSwgZm9yIEFDX0xJQk9CSi9BQ19MSUJT
T1VSQ0Ugc3VwcG9ydC4KICAjIFdlIHByb2JhYmx5IG5lZWQgc29tZSByZWZhY3RvcmluZyBvZiB0
aGlzIGZ1bmN0aW9uIGFuZCBpdHMgY2FsbGVycywKICAjIHRvIGhhdmUgYSBtb3JlIGV4cGxpY2l0
IGFuZCBzeXN0ZW1hdGljIGhhbmRsaW5nIG9mIGFsbCB0aGUgc3BlY2lhbAogICMgY2FzZXM7IGJ1
dCwgc2luY2UgdGhlcmUgYXJlIG9ubHkgdHdvIG9mIHRoZW0sIHRoaXMgaXMgbG93LXByaW9yaXR5
CiAgIyBBVE0uCiAgZWxzaWYgKCRjb25maWdfbGlib2JqX2RpciAmJiAkZGlyIGVxICRjb25maWdf
bGlib2JqX2RpcikKICAgIHsKICAgICAgIyBBdm9pZCB1bnNpZ2h0bHkgJy8uJ3MuCiAgICAgIG15
ICRhbV9jb25maWdfbGlib2JqX2RpciA9CiAgICAgICAgJyQodG9wX3NyY2RpciknIC4KICAgICAg
ICAoJGNvbmZpZ19saWJvYmpfZGlyIGVxICcuJyA/ICIiIDogIi8kY29uZmlnX2xpYm9ial9kaXIi
KTsKICAgICAgJGFtX2NvbmZpZ19saWJvYmpfZGlyID1+IHN8LyokfHw7CiAgICAgIHB1c2hfZGlz
dF9jb21tb24gKCIkYW1fY29uZmlnX2xpYm9ial9kaXIvJGZpbGUiKTsKICAgIH0KICBlbHNpZiAo
JHJlbGF0aXZlX2RpciBlcSAnLicgJiYgISBpc19tYWtlX2RpciAoJGRpcikpCiAgICB7CiAgICAg
ICMgSWYgd2UgYXJlIGRvaW5nIHRoZSB0b3Btb3N0IGRpcmVjdG9yeSwgYW5kIHRoZSBmaWxlIGlz
IGluIGEKICAgICAgIyBzdWJkaXIgd2hpY2ggZG9lcyBub3QgaGF2ZSBhIE1ha2VmaWxlLCB0aGVu
IHdlIGRpc3RyaWJ1dGUgaXQKICAgICAgIyBoZXJlLgoKICAgICAgIyBJZiBhIHJlcXVpcmVkIGZp
bGUgaXMgYWJvdmUgdGhlIHNvdXJjZSB0cmVlLCBpdCBpcyBpbXBvcnRhbnQKICAgICAgIyB0byBw
cmVmaXggaXQgd2l0aCAnJChzcmNkaXIpJyBzbyB0aGF0IG5vIFZQQVRIIHNlYXJjaCBpcwogICAg
ICAjIHBlcmZvcm1lZC4gIE90aGVyd2lzZSBwcm9ibGVtcyBvY2N1ciB3aXRoIE1ha2UgaW1wbGVt
ZW50YXRpb25zCiAgICAgICMgdGhhdCByZXdyaXRlIGFuZCBzaW1wbGlmeSBydWxlcyB3aG9zZSBk
ZXBlbmRlbmNpZXMgYXJlIGZvdW5kIGluIGEKICAgICAgIyBWUEFUSCBsb2NhdGlvbi4gIEhlcmUg
aXMgYW4gZXhhbXBsZSB3aXRoIE9TRjEvVHJ1NjQgTWFrZS4KICAgICAgIwogICAgICAjICAgJSBj
YXQgTWFrZWZpbGUKICAgICAgIyAgIFZQQVRIID0gc3ViCiAgICAgICMgICBkaXN0ZGlyOiAuLi9h
CiAgICAgICMJICAgICAgICAgIGVjaG8gLi4vYQogICAgICAjICAgJSBscwogICAgICAjICAgTWFr
ZWZpbGUgYQogICAgICAjICAgJSBtYWtlCiAgICAgICMgICBlY2hvIGEKICAgICAgIyAgIGEKICAg
ICAgIwogICAgICAjIERlcGVuZGVuY3kgJy4uL2EnIHdhcyBmb3VuZCBpbiAnc3ViLy4uL2EnLCBi
dXQgdGhpcyBtYWtlCiAgICAgICMgaW1wbGVtZW50YXRpb24gc2ltcGxpZmllZCBpdCBhcyAnYScu
ICAoTm90ZSB0aGF0IHRoZSBzdWIvCiAgICAgICMgZGlyZWN0b3J5IGRvZXMgbm90IGV2ZW4gZXhp
c3QuKQogICAgICAjCiAgICAgICMgVGhpcyBraW5kIG9mIFZQQVRIIHJld3JpdGluZyBzZWVtcyBo
YXJkIHRvIGNhbmNlbC4gIFRoZQogICAgICAjIGRpc3RkaXIuYW0gaGFjayBhZ2FpbnN0IFZQQVRI
IHJld3JpdGluZyB3b3JrcyBvbmx5IHdoZW4gbm8KICAgICAgIyBzaW1wbGlmaWNhdGlvbiBpcyBk
b25lLCBpLmUuLCBmb3IgZGVwZW5kZW5jaWVzIHdoaWNoIGFyZSBpbgogICAgICAjIHN1YmRpcmVj
dG9yaWVzLCBub3QgaW4gZW5jbG9zaW5nIGRpcmVjdG9yaWVzLiAgSGVuY2UsIGluCiAgICAgICMg
dGhlIGxhdHRlciBjYXNlIHdlIHVzZSBhIGZ1bGwgcGF0aCB0byBtYWtlIHN1cmUgbm8gVlBBVEgK
ICAgICAgIyBzZWFyY2ggb2NjdXJzLgogICAgICAkZnVsbGZpbGUgPSAnJChzcmNkaXIpLycgLiAk
ZnVsbGZpbGUKCWlmICRkaXIgPX4gbSxeXC5cLig/OiR8LyksOwoKICAgICAgcHVzaF9kaXN0X2Nv
bW1vbiAoJGZ1bGxmaWxlKTsKICAgIH0KICBlbHNlCiAgICB7CiAgICAgIHByb2dfZXJyb3IgImEg
TWFrZWZpbGUgaW4gcmVsYXRpdmUgZGlyZWN0b3J5ICRyZWxhdGl2ZV9kaXIgIiAuCiAgICAgICAg
ICAgICAgICAgImNhbid0IGFkZCBmaWxlcyBpbiBkaXJlY3RvcnkgJGRpciB0byBESVNUX0NPTU1P
TiI7CiAgICB9Cn0KCgojIElmIGEgZmlsZSBuYW1lIGFwcGVhcnMgYXMgYSBrZXkgaW4gdGhpcyBo
YXNoLCB0aGVuIGl0IGhhcyBhbHJlYWR5CiMgYmVlbiBjaGVja2VkIGZvci4gIFRoaXMgYWxsb3dz
IHVzIG5vdCB0byByZXBvcnQgdGhlIHNhbWUgZXJyb3IgbW9yZQojIHRoYW4gb25jZS4KbXkgJXJl
cXVpcmVkX2ZpbGVfbm90X2ZvdW5kID0gKCk7CgojIHJlcXVpcmVkX2ZpbGVfY2hlY2tfb3JfY29w
eSAoJFdIRVJFLCAkRElSRUNUT1JZLCAkRklMRSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVmVyaWZ5IHRoYXQgdGhlIGZpbGUgbXVz
dCBleGlzdCBpbiAkRElSRUNUT1JZLCBvciBpbnN0YWxsIGl0LgpzdWIgcmVxdWlyZWRfZmlsZV9j
aGVja19vcl9jb3B5CnsKICBteSAoJHdoZXJlLCAkZGlyLCAkZmlsZSkgPSBAXzsKCiAgbXkgJGZ1
bGxmaWxlID0gIiRkaXIvJGZpbGUiOwogICMgSW4gY2FzZXMgd2hlcmUgJGZpbGUgaXMgYWN0dWFs
bHkgYSBzdWJkaXIvZmlsZW5hbWUsIHNwbGl0IHRoZSBmdWxsIHBhdGggYmFjawogICMgaW50byBk
aXIgJiBmaWxlIG5hbWVzLiAgVGhlIEZpbGVVdGlscyAoZS5nLiBkaXJfaGFzX2Nhc2VfbWF0Y2hp
bmdfZmlsZSkgZG8KICAjIG5vdCBoYW5kbGUgdGhpcyBzY2VuYXJpbyBhdCBhbGwgYW5kIGV4cGVj
dCAkZmlsZSB0byBvbmx5IGJlIGEgZmlsZW5hbWUuCiAgIyBodHRwczovL2J1Z3MuZ251Lm9yZy8y
MDMwMAogICRkaXIgPSBkaXJuYW1lICgkZnVsbGZpbGUpOwogICRmaWxlID0gYmFzZW5hbWUgKCRm
dWxsZmlsZSk7CgogIG15ICRmb3VuZF9pdCA9IDA7CiAgbXkgJGRhbmdsaW5nX3N5bSA9IDA7Cgog
IGlmICgtbCAkZnVsbGZpbGUgJiYgISAtZiAkZnVsbGZpbGUpCiAgICB7CiAgICAgICRkYW5nbGlu
Z19zeW0gPSAxOwogICAgfQogIGVsc2lmIChkaXJfaGFzX2Nhc2VfbWF0Y2hpbmdfZmlsZSAoJGRp
ciwgJGZpbGUpKQogICAgewogICAgICAkZm91bmRfaXQgPSAxOwogICAgfQoKICAjICctLWZvcmNl
LW1pc3NpbmcnIG9ubHkgaGFzIGFuIGVmZmVjdCBpZiAnLS1hZGQtbWlzc2luZycgaXMKICAjIHNw
ZWNpZmllZC4KICByZXR1cm4KICAgIGlmICRmb3VuZF9pdCAmJiAoISAkYWRkX21pc3NpbmcgfHwg
ISAkZm9yY2VfbWlzc2luZyk7CgogICMgSWYgd2UndmUgYWxyZWFkeSBsb29rZWQgZm9yIGl0LCB3
ZSdyZSBkb25lLiAgWW91IG1pZ2h0IHdvbmRlciB3aHkgd2UKICAjIGRvbid0IGRvIHRoaXMgYmVm
b3JlIHNlYXJjaGluZyBmb3IgdGhlIGZpbGUuICBJZiB3ZSBkbyB0aGF0LCB0aGVuCiAgIyBzb21l
dGhpbmcgbGlrZSBBQ19PVVRQVVQoW3N1YmRpci9mb28gZm9vXSkgd2lsbCBmYWlsIHRvIHB1dCAn
Zm9vLmluJwogICMgaW50byAkKERJU1RfQ09NTU9OKS4KICBpZiAoISAkZm91bmRfaXQpCiAgICB7
CiAgICAgIHJldHVybiBpZiBkZWZpbmVkICRyZXF1aXJlZF9maWxlX25vdF9mb3VuZHskZnVsbGZp
bGV9OwogICAgICAkcmVxdWlyZWRfZmlsZV9ub3RfZm91bmR7JGZ1bGxmaWxlfSA9IDE7CiAgICB9
CiAgaWYgKCRkYW5nbGluZ19zeW0gJiYgJGFkZF9taXNzaW5nKQogICAgewogICAgICB1bmxpbmsg
KCRmdWxsZmlsZSk7CiAgICB9CgogIG15ICR0cmFpbGVyID0gJyc7CiAgbXkgJHRyYWlsZXIyID0g
Jyc7CiAgbXkgJHN1cHByZXNzID0gMDsKCiAgIyBPbmx5IGluc3RhbGwgbWlzc2luZyBmaWxlcyBh
Y2NvcmRpbmcgdG8gb3VyIGRlc2lyZWQKICAjIHN0cmljdG5lc3MgbGV2ZWwuCiAgbXkgJG1lc3Nh
Z2UgPSAicmVxdWlyZWQgZmlsZSAnJGZ1bGxmaWxlJyBub3QgZm91bmQiOwogIGlmICgkYWRkX21p
c3NpbmcpCiAgICB7CiAgICAgIGlmICgtZiAiJGxpYmRpci8kZmlsZSIpCiAgICAgICAgewogICAg
ICAgICAgJHN1cHByZXNzID0gMTsKCiAgICAgICAgICAjIEluc3RhbGwgdGhlIG1pc3NpbmcgZmls
ZS4gIFN5bWxpbmsgaWYgd2UKICAgICAgICAgICMgY2FuLCBjb3B5IGlmIHdlIG11c3QuICBOb3Rl
OiBkZWxldGUgdGhlIGZpbGUKICAgICAgICAgICMgZmlyc3QsIGluIGNhc2UgaXQgaXMgYSBkYW5n
bGluZyBzeW1saW5rLgogICAgICAgICAgJG1lc3NhZ2UgPSAiaW5zdGFsbGluZyAnJGZ1bGxmaWxl
JyI7CgogICAgICAgICAgIyBUaGUgbGljZW5zZSBmaWxlIHNob3VsZCBub3QgYmUgdm9sYXRpbGUu
CiAgICAgICAgICBpZiAoJGZpbGUgZXEgIkNPUFlJTkciKQogICAgICAgICAgICB7CiAgICAgICAg
ICAgICAgJG1lc3NhZ2UgLj0gIiB1c2luZyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MyBm
aWxlIjsKICAgICAgICAgICAgICAkdHJhaWxlcjIgPSAiXG4gICAgQ29uc2lkZXIgYWRkaW5nIHRo
ZSBDT1BZSU5HIGZpbGUiCiAgICAgICAgICAgICAgICAgICAgICAgIC4gIiB0byB0aGUgdmVyc2lv
biBjb250cm9sIHN5c3RlbSIKICAgICAgICAgICAgICAgICAgICAgICAgLiAiXG4gICAgZm9yIHlv
dXIgY29kZSwgdG8gYXZvaWQgcXVlc3Rpb25zIgogICAgICAgICAgICAgICAgICAgICAgICAuICIg
YWJvdXQgd2hpY2ggbGljZW5zZSB5b3VyIHByb2plY3QgdXNlcyI7CiAgICAgICAgICAgIH0KCiAg
ICAgICAgICAjIFdpbmRvd3MgUGVybCB3aWxsIGhhbmcgaWYgd2UgdHJ5IHRvIGRlbGV0ZSBhCiAg
ICAgICAgICAjIGZpbGUgdGhhdCBkb2Vzbid0IGV4aXN0LgogICAgICAgICAgdW5saW5rICgkZnVs
bGZpbGUpIGlmIC1mICRmdWxsZmlsZTsKICAgICAgICAgIGlmICgkc3ltbGlua19leGlzdHMgJiYg
ISAkY29weV9taXNzaW5nKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgaWYgKCEgc3ltbGlu
ayAoIiRsaWJkaXIvJGZpbGUiLCAkZnVsbGZpbGUpCiAgICAgICAgICAgICAgICAgIHx8ICEgLWUg
JGZ1bGxmaWxlKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAkc3VwcHJlc3Mg
PSAwOwogICAgICAgICAgICAgICAgICAkdHJhaWxlciA9ICI7IGVycm9yIHdoaWxlIG1ha2luZyBs
aW5rOiAkISI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIGVsc2lm
IChzeXN0ZW0gKCdjcCcsICIkbGliZGlyLyRmaWxlIiwgJGZ1bGxmaWxlKSkKICAgICAgICAgICAg
ewogICAgICAgICAgICAgICRzdXBwcmVzcyA9IDA7CiAgICAgICAgICAgICAgJHRyYWlsZXIgPSAi
XG4gICAgZXJyb3Igd2hpbGUgY29weWluZyI7CiAgICAgICAgICAgIH0KICAgICAgICAgIHNldF9k
aXJfY2FjaGVfZmlsZSAoJGRpciwgJGZpbGUpOwogICAgICAgIH0KICAgIH0KICBlbHNlCiAgICB7
CiAgICAgICR0cmFpbGVyID0gIlxuICAnYXV0b21ha2UgLS1hZGQtbWlzc2luZycgY2FuIGluc3Rh
bGwgJyRmaWxlJyIKICAgICAgICBpZiAtZiAiJGxpYmRpci8kZmlsZSI7CiAgICB9CgogICMgSWYg
LS1mb3JjZS1taXNzaW5nIHdhcyBzcGVjaWZpZWQsIGFuZCB3ZSBoYXZlCiAgIyBhY3R1YWxseSBm
b3VuZCB0aGUgZmlsZSwgdGhlbiBkbyBub3RoaW5nLgogIHJldHVybgogICAgaWYgJGZvdW5kX2l0
ICYmICRmb3JjZV9taXNzaW5nOwoKICAjIElmIHdlIGNvdWxkbid0IGluc3RhbGwgdGhlIGZpbGUs
IGJ1dCBpdCBpcyBhIHRhcmdldCBpbgogICMgdGhlIE1ha2VmaWxlLCBkb24ndCBwcmludCBhbnl0
aGluZy4gIFRoaXMgYWxsb3dzIGZpbGVzCiAgIyBsaWtlIFJFQURNRSwgQVVUSE9SUywgb3IgVEhB
TktTIHRvIGJlIGdlbmVyYXRlZC4KICByZXR1cm4KICAgIGlmICEkc3VwcHJlc3MgJiYgcnVsZSAk
ZmlsZTsKCiAgbXNnICgkc3VwcHJlc3MgPyAnbm90ZScgOiAnZXJyb3InLCAkd2hlcmUsICIkbWVz
c2FnZSR0cmFpbGVyJHRyYWlsZXIyIik7Cn0KCgojIHJlcXVpcmVfZmlsZV9pbnRlcm5hbCAoJFdI
RVJFLCAkTVlTVFJJQ1QsICRESVJFQ1RPUlksICRRVUVVRSwgQEZJTEVTKQojIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQojIFZlcmlmeSB0aGF0IHRoZSBmaWxlIG11c3QgZXhpc3QgaW4gJERJUkVDVE9SWSwgb3IgaW5z
dGFsbCBpdC4KIyAkTVlTVFJJQ1QgaXMgdGhlIHN0cmljdG5lc3MgbGV2ZWwgYXQgd2hpY2ggdGhp
cyBmaWxlIGJlY29tZXMgcmVxdWlyZWQuCiMgV29ya2VyIHRocmVhZHMgbWF5IHF1ZXVlIHVwIHRo
ZSBhY3Rpb24gdG8gYmUgc2VyaWFsaXplZCBieSB0aGUgbWFzdGVyLAojIGlmICRRVUVVRSBpcyB0
cnVlCnN1YiByZXF1aXJlX2ZpbGVfaW50ZXJuYWwKewogIG15ICgkd2hlcmUsICRteXN0cmljdCwg
JGRpciwgJHF1ZXVlLCBAZmlsZXMpID0gQF87CgogIHJldHVybgogICAgdW5sZXNzICRzdHJpY3Ru
ZXNzID49ICRteXN0cmljdDsKCiAgZm9yZWFjaCBteSAkZmlsZSAoQGZpbGVzKQogICAgewogICAg
ICBwdXNoX3JlcXVpcmVkX2ZpbGUgKCRkaXIsICRmaWxlLCAiJGRpci8kZmlsZSIpOwogICAgICBp
ZiAoJHF1ZXVlKQogICAgICAgIHsKICAgICAgICAgIHF1ZXVlX3JlcXVpcmVkX2ZpbGVfY2hlY2tf
b3JfY29weSAoJHJlcXVpcmVkX2NvbmZfZmlsZV9xdWV1ZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgUVVFVUVfQ09ORl9GSUxFLCAkcmVsYXRpdmVfZGlyLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hlcmUsICRteXN0
cmljdCwgQGZpbGVzKTsKICAgICAgICB9CiAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICBy
ZXF1aXJlZF9maWxlX2NoZWNrX29yX2NvcHkgKCR3aGVyZSwgJGRpciwgJGZpbGUpOwogICAgICAg
IH0KICAgIH0KfQoKIyByZXF1aXJlX2ZpbGUgKCRXSEVSRSwgJE1ZU1RSSUNULCBARklMRVMpCiMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgcmVxdWlyZV9maWxl
CnsKICAgIG15ICgkd2hlcmUsICRteXN0cmljdCwgQGZpbGVzKSA9IEBfOwogICAgcmVxdWlyZV9m
aWxlX2ludGVybmFsICgkd2hlcmUsICRteXN0cmljdCwgJHJlbGF0aXZlX2RpciwgMCwgQGZpbGVz
KTsKfQoKIyByZXF1aXJlX2ZpbGVfd2l0aF9tYWNybyAoJENPTkQsICRNQUNSTywgJE1ZU1RSSUNU
LCBARklMRVMpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQpzdWIgcmVxdWlyZV9maWxlX3dpdGhfbWFjcm8KewogICAgbXkgKCRjb25k
LCAkbWFjcm8sICRteXN0cmljdCwgQGZpbGVzKSA9IEBfOwogICAgJG1hY3JvID0gcnZhciAoJG1h
Y3JvKSB1bmxlc3MgcmVmICRtYWNybzsKICAgIHJlcXVpcmVfZmlsZSAoJG1hY3JvLT5yZGVmICgk
Y29uZCktPmxvY2F0aW9uLCAkbXlzdHJpY3QsIEBmaWxlcyk7Cn0KCiMgcmVxdWlyZV9saWJzb3Vy
Y2Vfd2l0aF9tYWNybyAoJENPTkQsICRNQUNSTywgJE1ZU1RSSUNULCBARklMRVMpCiMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CiMgUmVxdWlyZSBhbiBBQ19MSUJTT1VSQ0VkIGZpbGUuICBJZiBBQ19DT05GSUdfTElCT0JKX0RJ
UiB3YXMgY2FsbGVkLCBpdAojIG11c3QgYmUgaW4gdGhhdCBkaXJlY3RvcnkuICBPdGhlcndpc2Ug
ZXhwZWN0IGl0IGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4Kc3ViIHJlcXVpcmVfbGlic291cmNl
X3dpdGhfbWFjcm8KewogICAgbXkgKCRjb25kLCAkbWFjcm8sICRteXN0cmljdCwgQGZpbGVzKSA9
IEBfOwogICAgJG1hY3JvID0gcnZhciAoJG1hY3JvKSB1bmxlc3MgcmVmICRtYWNybzsKICAgIGlm
ICgkY29uZmlnX2xpYm9ial9kaXIpCiAgICAgIHsKCXJlcXVpcmVfZmlsZV9pbnRlcm5hbCAoJG1h
Y3JvLT5yZGVmICgkY29uZCktPmxvY2F0aW9uLCAkbXlzdHJpY3QsCgkJCSAgICAgICAkY29uZmln
X2xpYm9ial9kaXIsIDAsIEBmaWxlcyk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJcmVxdWly
ZV9maWxlICgkbWFjcm8tPnJkZWYgKCRjb25kKS0+bG9jYXRpb24sICRteXN0cmljdCwgQGZpbGVz
KTsKICAgICAgfQp9CgojIHF1ZXVlX3JlcXVpcmVkX2ZpbGVfY2hlY2tfb3JfY29weSAoJFFVRVVF
LCAkS0VZLCAkRElSLCAkV0hFUkUsCiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAkTVlTVFJJQ1QsIEBGSUxFUykKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgcXVldWVfcmVxdWlyZWRfZmlsZV9jaGVj
a19vcl9jb3B5CnsKICAgIG15ICgkcXVldWUsICRrZXksICRkaXIsICR3aGVyZSwgJG15c3RyaWN0
LCBAZmlsZXMpID0gQF87CiAgICBteSBAc2VyaWFsX2xvYzsKICAgIGlmIChyZWYgJHdoZXJlKQog
ICAgICB7CiAgICAgICAgQHNlcmlhbF9sb2MgPSAoUVVFVUVfTE9DQVRJT04sICR3aGVyZS0+c2Vy
aWFsaXplICgpKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CiAgICAgICAgQHNlcmlhbF9sb2Mg
PSAoUVVFVUVfU1RSSU5HLCAkd2hlcmUpOwogICAgICB9CiAgICAkcXVldWUtPmVucXVldWUgKCRr
ZXksICRkaXIsIEBzZXJpYWxfbG9jLCAkbXlzdHJpY3QsIDAgKyBAZmlsZXMsIEBmaWxlcyk7Cn0K
CiMgcmVxdWlyZV9xdWV1ZWRfZmlsZV9jaGVja19vcl9jb3B5ICgkUVVFVUUpCiMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCnN1YiByZXF1aXJlX3F1ZXVlZF9maWxl
X2NoZWNrX29yX2NvcHkKewogICAgbXkgKCRxdWV1ZSkgPSBAXzsKICAgIG15ICR3aGVyZTsKICAg
IG15ICRkaXIgPSAkcXVldWUtPmRlcXVldWUgKCk7CiAgICBteSAkbG9jX2tleSA9ICRxdWV1ZS0+
ZGVxdWV1ZSAoKTsKICAgIGlmICgkbG9jX2tleSBlcSBRVUVVRV9MT0NBVElPTikKICAgICAgewoJ
JHdoZXJlID0gQXV0b21ha2U6OkxvY2F0aW9uOjpkZXNlcmlhbGl6ZSAoJHF1ZXVlKTsKICAgICAg
fQogICAgZWxzaWYgKCRsb2Nfa2V5IGVxIFFVRVVFX1NUUklORykKICAgICAgewoJJHdoZXJlID0g
JHF1ZXVlLT5kZXF1ZXVlICgpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCXByb2dfZXJyb3Ig
InVuZXhwZWN0ZWQga2V5ICRsb2Nfa2V5IjsKICAgICAgfQogICAgbXkgJG15c3RyaWN0ID0gJHF1
ZXVlLT5kZXF1ZXVlICgpOwogICAgbXkgJG5maWxlcyA9ICRxdWV1ZS0+ZGVxdWV1ZSAoKTsKICAg
IG15IEBmaWxlczsKICAgIHB1c2ggQGZpbGVzLCAkcXVldWUtPmRlcXVldWUgKCkKICAgICAgZm9y
ZWFjaCAoMSAuLiAkbmZpbGVzKTsKICAgIHJldHVybgogICAgICB1bmxlc3MgJHN0cmljdG5lc3Mg
Pj0gJG15c3RyaWN0OwogICAgZm9yZWFjaCBteSAkZmlsZSAoQGZpbGVzKQogICAgICB7CiAgICAg
ICAgcmVxdWlyZWRfZmlsZV9jaGVja19vcl9jb3B5ICgkd2hlcmUsICRjb25maWdfYXV4X2Rpciwg
JGZpbGUpOwogICAgICB9Cn0KCiMgcmVxdWlyZV9jb25mX2ZpbGUgKCRXSEVSRSwgJE1ZU1RSSUNU
LCBARklMRVMpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CiMgTG9va3MgaW4gY29uZmlndXJhdGlvbiBwYXRoLCBhcyBzcGVjaWZpZWQgYnkgQUNfQ09ORklH
X0FVWF9ESVIuCnN1YiByZXF1aXJlX2NvbmZfZmlsZQp7CiAgICBteSAoJHdoZXJlLCAkbXlzdHJp
Y3QsIEBmaWxlcykgPSBAXzsKICAgIG15ICRxdWV1ZSA9IGRlZmluZWQgJHJlcXVpcmVkX2NvbmZf
ZmlsZV9xdWV1ZSA/IDEgOiAwOwogICAgcmVxdWlyZV9maWxlX2ludGVybmFsICgkd2hlcmUsICRt
eXN0cmljdCwgJGNvbmZpZ19hdXhfZGlyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAkcXVl
dWUsIEBmaWxlcyk7Cn0KCgojIHJlcXVpcmVfY29uZl9maWxlX3dpdGhfbWFjcm8gKCRDT05ELCAk
TUFDUk8sICRNWVNUUklDVCwgQEZJTEVTKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpzdWIgcmVxdWlyZV9jb25mX2ZpbGVf
d2l0aF9tYWNybwp7CiAgICBteSAoJGNvbmQsICRtYWNybywgJG15c3RyaWN0LCBAZmlsZXMpID0g
QF87CiAgICByZXF1aXJlX2NvbmZfZmlsZSAocnZhciAoJG1hY3JvKS0+cmRlZiAoJGNvbmQpLT5s
b2NhdGlvbiwKCQkgICAgICAgJG15c3RyaWN0LCBAZmlsZXMpOwp9CgojIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIHJlcXVp
cmVfYnVpbGRfZGlyZWN0b3J5ICgkRElSRUNUT1JZKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQojIEVtaXQgcnVsZXMgdG8gY3JlYXRlICRESVJFQ1RPUlkgaWYgbmVlZGVk
LCBhbmQgcmV0dXJuCiMgdGhlIGZpbGUgdGhhdCBhbnkgdGFyZ2V0IHJlcXVpcmluZyB0aGlzIGRp
cmVjdG9yeSBzaG91bGQgYmUgbWFkZQojIGRlcGVuZGVudCB1cG9uLgojIFdlIGRvbid0IHdhbnQg
dG8gZW1pdCB0aGUgcnVsZSB0d2ljZSwgYW5kIHdhbnQgdG8gcmV1c2UgaXQKIyBmb3IgZGlyZWN0
b3JpZXMgd2l0aCBlcXVpdmFsZW50IG5hbWVzIChlLmcuLCAnZm9vL2JhcicgYW5kICcuL2Zvby8v
YmFyJykuCnN1YiByZXF1aXJlX2J1aWxkX2RpcmVjdG9yeQp7CiAgbXkgJGRpcmVjdG9yeSA9IHNo
aWZ0OwoKICByZXR1cm4gJGRpcmVjdG9yeV9tYXB7JGRpcmVjdG9yeX0gaWYgZXhpc3RzICRkaXJl
Y3RvcnlfbWFweyRkaXJlY3Rvcnl9OwoKICBteSAkY2RpciA9IEZpbGU6OlNwZWMtPmNhbm9ucGF0
aCAoJGRpcmVjdG9yeSk7CgogIGlmIChleGlzdHMgJGRpcmVjdG9yeV9tYXB7JGNkaXJ9KQogICAg
ewogICAgICBteSAkc3RhbXAgPSAkZGlyZWN0b3J5X21hcHskY2Rpcn07CiAgICAgICRkaXJlY3Rv
cnlfbWFweyRkaXJlY3Rvcnl9ID0gJHN0YW1wOwogICAgICByZXR1cm4gJHN0YW1wOwogICAgfQoK
ICBteSAkZGlyc3RhbXAgPSAiJGNkaXIvXCQoYW1fX2RpcnN0YW1wKSI7CgogICRkaXJlY3Rvcnlf
bWFweyRkaXJlY3Rvcnl9ID0gJGRpcnN0YW1wOwogICRkaXJlY3RvcnlfbWFweyRjZGlyfSA9ICRk
aXJzdGFtcDsKCiAgIyBTZXQgYSB2YXJpYWJsZSBmb3IgdGhlIGRpcnN0YW1wIGJhc2VuYW1lLgog
IGRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCdhbV9fZGlyc3RhbXAnLCBUUlVFLCBJTlRFUk5BTCwK
CQkJICAnJChhbV9fbGVhZGluZ19kb3QpZGlyc3RhbXAnKTsKCiAgIyBEaXJlY3RvcnkgbXVzdCBi
ZSByZW1vdmVkIGJ5ICdtYWtlIGRpc3RjbGVhbicuCiAgJGNsZWFuX2ZpbGVzeyRkaXJzdGFtcH0g
PSBESVNUX0NMRUFOOwoKICAkb3V0cHV0X3J1bGVzIC49ICgiJGRpcnN0YW1wOlxuIgoJCSAgICAu
ICJcdFxAXCQoTUtESVJfUCkgJGRpcmVjdG9yeVxuIgoJCSAgICAuICJcdFxAOiA+PiRkaXJzdGFt
cFxuIik7CgogIHJldHVybiAkZGlyc3RhbXA7Cn0KCiMgcmVxdWlyZV9idWlsZF9kaXJlY3Rvcnlf
bWF5YmUgKCRGSUxFKQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBJ
ZiAkRklMRSBsaWVzIGluIGEgc3ViZGlyZWN0b3J5LCBlbWl0IGEgcnVsZSB0byBjcmVhdGUgdGhp
cwojIGRpcmVjdG9yeSBhbmQgcmV0dXJuIHRoZSBmaWxlIHRoYXQgJEZJTEUgc2hvdWxkIGJlIG1h
ZGUKIyBkZXBlbmRlbnQgdXBvbi4gIE90aGVyd2lzZSwganVzdCByZXR1cm4gdGhlIGVtcHR5IHN0
cmluZy4Kc3ViIHJlcXVpcmVfYnVpbGRfZGlyZWN0b3J5X21heWJlCnsKICAgIG15ICRmaWxlID0g
c2hpZnQ7CiAgICBteSAkZGlyZWN0b3J5ID0gZGlybmFtZSAoJGZpbGUpOwoKICAgIGlmICgkZGly
ZWN0b3J5IG5lICcuJykKICAgIHsKCXJldHVybiByZXF1aXJlX2J1aWxkX2RpcmVjdG9yeSAoJGRp
cmVjdG9yeSk7CiAgICB9CiAgICBlbHNlCiAgICB7CglyZXR1cm4gJyc7CiAgICB9Cn0KCiMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMKCiMgUHVzaCBhIGxpc3Qgb2YgZmlsZXMgb250byAnQGRpc3RfY29tbW9uJy4Kc3ViIHB1c2hf
ZGlzdF9jb21tb24KewogIHByb2dfZXJyb3IgInB1c2hfZGlzdF9jb21tb24gcnVuIGFmdGVyIGhh
bmRsZV9kaXN0IgogICAgaWYgJGhhbmRsZV9kaXN0X3J1bjsKICBwdXNoIEBkaXN0X2NvbW1vbiwg
QF87Cn0KCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjCgojIGdlbmVyYXRlX21ha2VmaWxlICgkTUFLRUZJTEVfQU0sICRNQUtF
RklMRV9JTikKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CiMgR2VuZXJhdGUgYSBNYWtlZmlsZS5pbiBnaXZlbiB0aGUgbmFtZSBvZiB0aGUgY29ycmVzcG9u
ZGluZyBNYWtlZmlsZSBhbmQKIyB0aGUgbmFtZSBvZiB0aGUgZmlsZSBvdXRwdXQgYnkgY29uZmln
LnN0YXR1cy4Kc3ViIGdlbmVyYXRlX21ha2VmaWxlCnsKICBteSAoJG1ha2VmaWxlX2FtLCAkbWFr
ZWZpbGVfaW4pID0gQF87CgogICMgUmVzZXQgYWxsIHRoZSBNYWtlZmlsZS5hbSByZWxhdGVkIHZh
cmlhYmxlcy4KICBpbml0aWFsaXplX3Blcl9pbnB1dDsKCiAgIyBBVVRPTUFLRV9PUFRJT05TIGNh
biBjb250YWlucyAtVyBmbGFncyB0byBkaXNhYmxlIG9yIGVuYWJsZQogICMgd2FybmluZ3MgZm9y
IHRoaXMgZmlsZS4gIFNvIGhvbGQgYW55IHdhcm5pbmcgaXNzdWVkIGJlZm9yZQogICMgd2UgaGF2
ZSBwcm9jZXNzZWQgQVVUT01BS0VfT1BUSU9OUy4KICBidWZmZXJfbWVzc2FnZXMgKCd3YXJuaW5n
Jyk7CgogICMgJE9VVFBVVCBpcyBlbmNvZGVkLiAgSWYgaXQgY29udGFpbnMgYSAiOiIgdGhlbiB0
aGUgZmlyc3QgZWxlbWVudAogICMgaXMgdGhlIHJlYWwgb3V0cHV0IGZpbGUsIGFuZCBhbGwgcmVt
YWluaW5nIGVsZW1lbnRzIGFyZSBpbnB1dAogICMgZmlsZXMuICBXZSBkb24ndCBzY2FuIG9yIG90
aGVyd2lzZSBkZWFsIHdpdGggdGhlc2UgaW5wdXQgZmlsZXMsCiAgIyBvdGhlciB0aGFuIHRvIG1h
cmsgdGhlbSBhcyBkZXBlbmRlbmNpZXMuICBTZWUgdGhlIHN1YnJvdXRpbmUKICAjICdzY2FuX2F1
dG9jb25mX2ZpbGVzJyBmb3IgZGV0YWlscy4KICBteSAoJG1ha2VmaWxlLCBAaW5wdXRzKSA9IHNw
bGl0ICgvOi8sICRvdXRwdXRfZmlsZXN7JG1ha2VmaWxlX2lufSk7CgogICRyZWxhdGl2ZV9kaXIg
PSBkaXJuYW1lICgkbWFrZWZpbGUpOwoKICByZWFkX21haW5fYW1fZmlsZSAoJG1ha2VmaWxlX2Ft
LCAkbWFrZWZpbGVfaW4pOwogIGlmIChub3QgaGFuZGxlX29wdGlvbnMpCiAgICB7CiAgICAgICMg
UHJvY2VzcyBidWZmZXJlZCB3YXJuaW5ncy4KICAgICAgZmx1c2hfbWVzc2FnZXM7CiAgICAgICMg
RmF0YWwgZXJyb3IuICBKdXN0IHJldHVybiwgc28gd2UgY2FuIGNvbnRpbnVlIHdpdGggbmV4dCBm
aWxlLgogICAgICByZXR1cm47CiAgICB9CiAgIyBQcm9jZXNzIGJ1ZmZlcmVkIHdhcm5pbmdzLgog
IGZsdXNoX21lc3NhZ2VzOwoKICAjIFRoZXJlIGFyZSBhIGZldyBpbnN0YWxsLXJlbGF0ZWQgdmFy
aWFibGVzIHRoYXQgeW91IHNob3VsZCBub3QgZGVmaW5lLgogIGZvcmVhY2ggbXkgJHZhciAoJ1BS
RV9JTlNUQUxMJywgJ1BPU1RfSU5TVEFMTCcsICdOT1JNQUxfSU5TVEFMTCcpCiAgICB7CiAgICAg
IG15ICR2ID0gdmFyICR2YXI7CiAgICAgIGlmICgkdikKCXsKCSAgbXkgJGRlZiA9ICR2LT5kZWYg
KFRSVUUpOwoJICBwcm9nX2Vycm9yICIkdmFyIG5vdCBkZWZpbmVkIGluIGNvbmRpdGlvbiBUUlVF
IgoJICAgIHVubGVzcyAkZGVmOwoJICByZWplY3RfdmFyICR2YXIsICInJHZhcicgc2hvdWxkIG5v
dCBiZSBkZWZpbmVkIgoJICAgIGlmICRkZWYtPm93bmVyICE9IFZBUl9BVVRPTUFLRTsKCX0KICAg
IH0KCiAgIyBDYXRjaCBzb21lIG9ic29sZXRlIHZhcmlhYmxlcy4KICBtc2dfdmFyICgnb2Jzb2xl
dGUnLCAnSU5DTFVERVMnLAoJICAgIidJTkNMVURFUycgaXMgdGhlIG9sZCBuYW1lIGZvciAnQU1f
Q1BQRkxBR1MnIChvciAnKl9DUFBGTEFHUycpIikKICAgIGlmIHZhciAoJ0lOQ0xVREVTJyk7Cgog
ICMgTXVzdCBkbyB0aGlzIGFmdGVyIHJlYWRpbmcgLmFtIGZpbGUuCiAgZGVmaW5lX3ZhcmlhYmxl
ICgnc3ViZGlyJywgJHJlbGF0aXZlX2RpciwgSU5URVJOQUwpOwoKICAjIElmIERJU1RfU1VCRElS
UyBpcyBkZWZpbmVkLCBtYWtlIHN1cmUgU1VCRElSUyBpcywgc28gdGhhdAogICMgcmVjdXJzaXZl
IHJ1bGVzIGFyZSBlbmFibGVkLgogIGRlZmluZV9wcmV0dHlfdmFyaWFibGUgKCdTVUJESVJTJywg
VFJVRSwgSU5URVJOQUwsICcnKQogICAgaWYgdmFyICdESVNUX1NVQkRJUlMnICYmICEgdmFyICdT
VUJESVJTJzsKCiAgIyBDaGVjayBmaXJzdCwgYmVjYXVzZSB3ZSBtaWdodCBtb2RpZnkgc29tZSBz
dGF0ZS4KICBjaGVja19nbnVfc3RhbmRhcmRzOwogIGNoZWNrX2duaXRzX3N0YW5kYXJkczsKCiAg
aGFuZGxlX2NvbmZpZ3VyZSAoJG1ha2VmaWxlX2FtLCAkbWFrZWZpbGVfaW4sICRtYWtlZmlsZSwg
QGlucHV0cyk7CiAgaGFuZGxlX2dldHRleHQ7CgogIGhhbmRsZV90YXJnZXRzOwogIGhhbmRsZV9s
aWJyYXJpZXM7CiAgaGFuZGxlX2x0bGlicmFyaWVzOwogIGhhbmRsZV9wcm9ncmFtczsKICBoYW5k
bGVfc2NyaXB0czsKCiAgaGFuZGxlX3NpbGVudDsKCiAgIyBUaGVzZSBtdXN0IGJlIHJ1biBhZnRl
ciBhbGwgdGhlIHNvdXJjZXMgYXJlIHNjYW5uZWQuICBUaGV5IHVzZQogICMgdmFyaWFibGVzIGRl
ZmluZWQgYnkgaGFuZGxlX2xpYnJhcmllcygpLCBoYW5kbGVfbHRsaWJyYXJpZXMoKSwKICAjIG9y
IGhhbmRsZV9wcm9ncmFtcygpLgogIGhhbmRsZV9jb21waWxlOwogIGhhbmRsZV9sYW5ndWFnZXM7
CiAgaGFuZGxlX2xpYnRvb2w7CgogICMgVmFyaWFibGVzIHVzZWQgYnkgZGlzdGRpci5hbSBhbmQg
dGFncy5hbS4KICBkZWZpbmVfcHJldHR5X3ZhcmlhYmxlICgnU09VUkNFUycsIFRSVUUsIElOVEVS
TkFMLCBAc291cmNlcyk7CiAgaWYgKCEgb3B0aW9uICduby1kaXN0JykKICAgIHsKICAgICAgZGVm
aW5lX3ByZXR0eV92YXJpYWJsZSAoJ0RJU1RfU09VUkNFUycsIFRSVUUsIElOVEVSTkFMLCBAZGlz
dF9zb3VyY2VzKTsKICAgIH0KCiAgaGFuZGxlX3RleGluZm87CiAgaGFuZGxlX2VtYWNzX2xpc3A7
CiAgaGFuZGxlX3B5dGhvbjsKICBoYW5kbGVfamF2YTsKICBoYW5kbGVfbWFuX3BhZ2VzOwogIGhh
bmRsZV9kYXRhOwogIGhhbmRsZV9oZWFkZXJzOwogIGhhbmRsZV9zdWJkaXJzOwogIGhhbmRsZV91
c2VyX3JlY3Vyc2lvbjsKICBoYW5kbGVfdGFnczsKICBoYW5kbGVfbWlub3Jfb3B0aW9uczsKICAj
IE11c3QgY29tZSBhZnRlciBoYW5kbGVfcHJvZ3JhbXMgc28gdGhhdCAla25vd25fcHJvZ3JhbXMg
aXMgdXAtdG8tZGF0ZS4KICBoYW5kbGVfdGVzdHM7CgogICMgVGhpcyBtdXN0IGNvbWUgYWZ0ZXIg
bW9zdCBvdGhlciBydWxlcy4KICBoYW5kbGVfZGlzdDsKCiAgaGFuZGxlX2Zvb3RlcjsKICBkb19j
aGVja19tZXJnZV90YXJnZXQ7CiAgaGFuZGxlX2FsbCAoJG1ha2VmaWxlKTsKCiAgIyBGSVhNRTog
R3Jvc3MhCiAgbXkgJGhhdmVfbHQxID0gISF2YXIoImxpYl9MVExJQlJBUklFUyIpOwogIG15ICRo
YXZlX2x0MiA9ICEhdmFyKCJub2Jhc2VfbGliX0xUTElCUkFSSUVTIik7CiAgZm9yIG15ICR2YXIg
KHZhcmlhYmxlcygiUFJPR1JBTVMiKSwgdmFyaWFibGVzKCJMVExJQlJBUklFUyIpKQogICAgewog
ICAgICBpZiAoJHZhci0+bmFtZSBlcSAibGliX0xUTElCUkFSSUVTIgogICAgICAgICAgfHwgJHZh
ci0+bmFtZSBlcSAibm9iYXNlX2xpYl9MVExJQlJBUklFUyIKICAgICAgICAgIHx8IHN1YnN0cigk
dmFyLT5uYW1lLCAwLCA3KSBlcSAibm9pbnN0XyIpCiAgICAgICAgewogICAgICAgICAgbmV4dDsK
ICAgICAgICB9CiAgICAgIG15ICRzaG9ydG5hbWUgPSAkdmFyLT5uYW1lOwogICAgICAkc2hvcnRu
YW1lID1+IHRye199e31kOwogICAgICBpZiAoJGhhdmVfbHQxKQogICAgICAgIHsKICAgICAgICAg
ICRvdXRwdXRfcnVsZXMgLj0gImluc3RhbGwtJHNob3J0bmFtZTogaW5zdGFsbC1saWJMVExJQlJB
UklFU1xuXG4iOwogICAgICAgIH0KICAgICAgaWYgKCRoYXZlX2x0MikKICAgICAgICB7CiAgICAg
ICAgICAkb3V0cHV0X3J1bGVzIC49ICJpbnN0YWxsLSRzaG9ydG5hbWU6IGluc3RhbGwtbm9iYXNl
X2xpYkxUTElCUkFSSUVTXG5cbiI7CiAgICAgICAgfQogICAgfQoKICBoYW5kbGVfaW5zdGFsbDsK
ICBoYW5kbGVfY2xlYW4gKCRtYWtlZmlsZSk7CiAgaGFuZGxlX2ZhY3RvcmVkX2RlcGVuZGVuY2ll
czsKCiAgIyBDb21lcyBsYXN0LCBiZWNhdXNlIGFsbCB0aGUgYWJvdmUgcHJvY2VkdXJlcyBtYXkg
aGF2ZQogICMgZGVmaW5lZCBvciBvdmVycmlkZGVuIHZhcmlhYmxlcy4KICAkb3V0cHV0X3ZhcnMg
Lj0gb3V0cHV0X3ZhcmlhYmxlczsKCiAgY2hlY2tfdHlwb3M7CgogIGlmICgkZXhpdF9jb2RlICE9
IDApCiAgICB7CiAgICAgIHZlcmIgIm5vdCB3cml0aW5nICRtYWtlZmlsZV9pbiBiZWNhdXNlIG9m
IGVhcmxpZXIgZXJyb3JzIjsKICAgICAgcmV0dXJuOwogICAgfQoKICBteSAkYW1fcmVsYXRpdmVf
ZGlyID0gZGlybmFtZSAoJG1ha2VmaWxlX2FtKTsKICBta2RpciAoJGFtX3JlbGF0aXZlX2Rpciwg
MDc1NSkgaWYgISAtZCAkYW1fcmVsYXRpdmVfZGlyOwoKICAjIFdlIG1ha2Ugc3VyZSB0aGF0ICdh
bGw6JyBpcyB0aGUgZmlyc3QgdGFyZ2V0LgogIG15ICRvdXRwdXQgPQogICAgIiRvdXRwdXRfdmFy
cyRvdXRwdXRfYWxsJG91dHB1dF9oZWFkZXIkb3V0cHV0X3J1bGVzJG91dHB1dF90cmFpbGVyIjsK
CiAgIyBUaGUgLlBPU0lYIHNwZWNpYWwgdGFyZ2V0IG11c3QgYmUgdGhlIGZpcnN0IG5vbi1jb21t
ZW50IGxpbmU7CiAgIyBvdGhlcndpc2UsIHRoZSBiZWhhdmlvciBvZiAibWFrZSIgaXMgdW5zcGVj
aWZpZWQgYnkgUE9TSVguCiAgaWYgKG9wdGlvbiAncG9zaXgnKQogICAgewogICAgICAkb3V0cHV0
ID1+IHMvXigoIy4qKT9cbikqLy5QT1NJWDpcblxuLzsKICAgIH0KCiAgIyBEZWNpZGUgd2hldGhl
ciB3ZSBtdXN0IHVwZGF0ZSB0aGUgb3V0cHV0IGZpbGUgb3Igbm90LgogICMgV2UgaGF2ZSB0byB1
cGRhdGUgaW4gdGhlIGZvbGxvd2luZyBzaXR1YXRpb25zLgogICMgICogJGZvcmNlX2dlbmVyYXRp
b24gaXMgc2V0LgogICMgICogYW55IG9mIHRoZSBvdXRwdXQgZGVwZW5kZW5jaWVzIGlzIHlvdW5n
ZXIgdGhhbiB0aGUgb3V0cHV0CiAgIyAgKiB0aGUgY29udGVudHMgb2YgdGhlIG91dHB1dCBpcyBk
aWZmZXJlbnQgKHRoaXMgY2FuIGhhcHBlbgogICMgICAgaWYgdGhlIHByb2plY3QgaGFzIGJlZW4g
cG9wdWxhdGVkIHdpdGggYSBmaWxlIGxpc3RlZCBpbgogICMgICAgQGNvbW1vbl9maWxlcyBzaW5j
ZSB0aGUgbGFzdCBydW4pLgogICMgT3V0cHV0J3MgZGVwZW5kZW5jaWVzIGFyZSBzcGxpdCBpbiB0
d28gc2V0czoKICAjICAqIGRlcGVuZGVuY2llcyB3aGljaCBhcmUgYWxzbyBjb25maWd1cmUgZGVw
ZW5kZW5jaWVzCiAgIyAgICBUaGVzZSBkbyBub3QgY2hhbmdlIGJldHdlZW4gZWFjaCBNYWtlZmls
ZS5hbQogICMgICogb3RoZXIgZGVwZW5kZW5jaWVzLCBzcGVjaWZpYyB0byB0aGUgTWFrZWZpbGUu
YW0gYmVpbmcgcHJvY2Vzc2VkCiAgIyAgICAoc3VjaCBhcyB0aGUgTWFrZWZpbGUuYW0gaXRzZWxm
LCBvciBhbnkgTWFrZWZpbGUgZnJhZ21lbnQKICAjICAgIGl0IGluY2x1ZGVzKS4KICBteSAkdGlt
ZXN0YW1wID0gbXRpbWUgJG1ha2VmaWxlX2luOwogIGlmICghICRmb3JjZV9nZW5lcmF0aW9uCiAg
ICAgICYmICRjb25maWd1cmVfZGVwc19ncmVhdGVzdF90aW1lc3RhbXAgPCAkdGltZXN0YW1wCiAg
ICAgICYmICRvdXRwdXRfZGVwc19ncmVhdGVzdF90aW1lc3RhbXAgPCAkdGltZXN0YW1wCiAgICAg
ICYmICRvdXRwdXQgZXEgY29udGVudHMgKCRtYWtlZmlsZV9pbikpCiAgICB7CiAgICAgIHZlcmIg
IiRtYWtlZmlsZV9pbiB1bmNoYW5nZWQiOwogICAgICAjIE5vIG5lZWQgdG8gdXBkYXRlLgogICAg
ICByZXR1cm47CiAgICB9CgogIGlmICgtZSAkbWFrZWZpbGVfaW4pCiAgICB7CiAgICAgIHVubGlu
ayAoJG1ha2VmaWxlX2luKQoJb3IgZmF0YWwgImNhbm5vdCByZW1vdmUgJG1ha2VmaWxlX2luOiAk
ISI7CiAgICB9CgogIG15ICRnbV9maWxlID0gbmV3IEF1dG9tYWtlOjpYRmlsZSAiPiAkbWFrZWZp
bGVfaW4iOwogIHZlcmIgImNyZWF0aW5nICRtYWtlZmlsZV9pbiI7CiAgcHJpbnQgJGdtX2ZpbGUg
JG91dHB1dDsKfQoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMKCgojIEhlbHBlciBmdW5jdGlvbiBmb3IgdXNhZ2UoKS4Kc3Vi
IHByaW50X2F1dG9kaXN0X2ZpbGVzCnsKICBteSBAbGNvbW0gPSB1bmlxIChzb3J0IEBfKTsKCiAg
bXkgQGZvdXI7CiAgZm9ybWF0IFVTQUdFX0ZPUk1BVCA9CiAgQDw8PDw8PDw8PDw8PDw8PDwgICBA
PDw8PDw8PDw8PDw8PDw8PCAgIEA8PDw8PDw8PDw8PDw8PDw8ICAgQDw8PDw8PDw8PDw8PDw8PDwK
ICAkZm91clswXSwgICAgICAgICAgICRmb3VyWzFdLCAgICAgICAgICAgJGZvdXJbMl0sICAgICAg
ICAgICAkZm91clszXQouCiAgbG9jYWwgJH4gPSAiVVNBR0VfRk9STUFUIjsKCiAgbXkgJGNvbHMg
PSA0OwogIG15ICRyb3dzID0gaW50KEBsY29tbSAvICRjb2xzKTsKICBteSAkcmVzdCA9IEBsY29t
bSAlICRjb2xzOwoKICBpZiAoJHJlc3QpCiAgICB7CiAgICAgICRyb3dzKys7CiAgICB9CiAgZWxz
ZQogICAgewogICAgICAkcmVzdCA9ICRjb2xzOwogICAgfQoKICBmb3IgKG15ICR5ID0gMDsgJHkg
PCAkcm93czsgJHkrKykKICAgIHsKICAgICAgQGZvdXIgPSAoIiIsICIiLCAiIiwgIiIpOwogICAg
ICBmb3IgKG15ICR4ID0gMDsgJHggPCAkY29sczsgJHgrKykKICAgICAgICB7CiAgICAgICAgICBs
YXN0IGlmICR5ICsgMSA9PSAkcm93cyAmJiAkeCA9PSAkcmVzdDsKCiAgICAgICAgICBteSAkaWR4
ID0gKCgkeCA+ICRyZXN0KQogICAgICAgICAgICAgICA/ICAoJHJvd3MgKiAkcmVzdCArICgkcm93
cyAtIDEpICogKCR4IC0gJHJlc3QpKQogICAgICAgICAgICAgICA6ICgkcm93cyAqICR4KSk7Cgog
ICAgICAgICAgJGlkeCArPSAkeTsKICAgICAgICAgICRmb3VyWyR4XSA9ICRsY29tbVskaWR4XTsK
ICAgICAgICB9CiAgICAgIHdyaXRlOwogICAgfQp9CgoKc3ViIHVzYWdlICgpCnsKICAgIHByaW50
ICJVc2FnZTogJDAgW09QVElPTl0uLi4gW01ha2VmaWxlXS4uLgoKR2VuZXJhdGUgTWFrZWZpbGUu
aW4gZm9yIGNvbmZpZ3VyZSBmcm9tIE1ha2VmaWxlLmFtLgoKT3BlcmF0aW9uIG1vZGVzOgogICAg
ICAtLWhlbHAgICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHAsIHRoZW4gZXhpdAogICAgICAt
LXZlcnNpb24gICAgICAgICAgICBwcmludCB2ZXJzaW9uIG51bWJlciwgdGhlbiBleGl0CiAgLXYs
IC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2VseSBsaXN0IGZpbGVzIHByb2Nlc3NlZAogICAg
ICAtLW5vLWZvcmNlICAgICAgICAgICBvbmx5IHVwZGF0ZSBNYWtlZmlsZS5pbidzIHRoYXQgYXJl
IG91dCBvZiBkYXRlCiAgLVcsIC0td2FybmluZ3M9Q0FURUdPUlkgIHJlcG9ydCB0aGUgd2Fybmlu
Z3MgZmFsbGluZyBpbiBDQVRFR09SWQoKRGVwZW5kZW5jeSB0cmFja2luZzoKICAtaSwgLS1pZ25v
cmUtZGVwcyAgICAgIGRpc2FibGUgZGVwZW5kZW5jeSB0cmFja2luZyBjb2RlCiAgICAgIC0taW5j
bHVkZS1kZXBzICAgICBlbmFibGUgZGVwZW5kZW5jeSB0cmFja2luZyBjb2RlCgpGbGF2b3JzOgog
ICAgICAtLWZvcmVpZ24gICAgICAgICAgc2V0IHN0cmljdG5lc3MgdG8gZm9yZWlnbgogICAgICAt
LWduaXRzICAgICAgICAgICAgc2V0IHN0cmljdG5lc3MgdG8gZ25pdHMKICAgICAgLS1nbnUgICAg
ICAgICAgICAgIHNldCBzdHJpY3RuZXNzIHRvIGdudQoKTGlicmFyeSBmaWxlczoKICAtYSwgLS1h
ZGQtbWlzc2luZyAgICAgIGFkZCBtaXNzaW5nIHN0YW5kYXJkIGZpbGVzIHRvIHBhY2thZ2UKICAg
ICAgLS1saWJkaXI9RElSICAgICAgIHNldCBkaXJlY3Rvcnkgc3RvcmluZyBsaWJyYXJ5IGZpbGVz
CiAgICAgIC0tcHJpbnQtbGliZGlyICAgICBwcmludCBkaXJlY3Rvcnkgc3RvcmluZyBsaWJyYXJ5
IGZpbGVzCiAgLWMsIC0tY29weSAgICAgICAgICAgICB3aXRoIC1hLCBjb3B5IG1pc3NpbmcgZmls
ZXMgKGRlZmF1bHQgaXMgc3ltbGluaykKICAtZiwgLS1mb3JjZS1taXNzaW5nICAgIGZvcmNlIHVw
ZGF0ZSBvZiBzdGFuZGFyZCBmaWxlcwoKIjsKICAgIHByaW50IEF1dG9tYWtlOjpDaGFubmVsRGVm
czo6dXNhZ2UgKCksICJcbiI7CgogICAgcHJpbnQgIlxuRmlsZXMgYXV0b21hdGljYWxseSBkaXN0
cmlidXRlZCBpZiBmb3VuZCAiIC4KICAgICAgICAgICIoYWx3YXlzKTpcbiI7CiAgICBwcmludF9h
dXRvZGlzdF9maWxlcyBAY29tbW9uX2ZpbGVzOwogICAgcHJpbnQgIlxuRmlsZXMgYXV0b21hdGlj
YWxseSBkaXN0cmlidXRlZCBpZiBmb3VuZCAiIC4KICAgICAgICAgICIoYXMgLm1kIGlmIG5lZWRl
ZCk6XG4iOwogICAgcHJpbnRfYXV0b2Rpc3RfZmlsZXMgKG1hcCB7ICIke199Wy5tZF0iIH0gQHRv
cGxldmVsbWRfb2spOwogICAgcHJpbnQgIlxuRmlsZXMgYXV0b21hdGljYWxseSBkaXN0cmlidXRl
ZCBpZiBmb3VuZCAiIC4KICAgICAgICAgICIodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKTpcbiI7
CiAgICBwcmludF9hdXRvZGlzdF9maWxlcyBAY29tbW9uX3NvbWV0aW1lcywgJ1JFQURNRS1hbHBo
YVsubWRdJzsKCiAgICBwcmludCAnClJlcG9ydCBidWdzIHRvIDxidWctYXV0b21ha2VAZ251Lm9y
Zz4uCkdOVSBBdXRvbWFrZSBob21lIHBhZ2U6IDxodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJl
L2F1dG9tYWtlLz4uCkdlbmVyYWwgaGVscCB1c2luZyBHTlUgc29mdHdhcmU6IDxodHRwczovL3d3
dy5nbnUub3JnL2dldGhlbHAvPi4KJzsKCiAgICAjIC0taGVscCBhbHdheXMgcmV0dXJucyAwIHBl
ciBHTlUgc3RhbmRhcmRzLgogICAgZXhpdCAwOwp9CgoKc3ViIHZlcnNpb24gKCkKewogIHByaW50
ICJhdXRvbWFrZSAoR05VICRQQUNLQUdFKSAkVkVSU0lPTlxuIjsKICBwcmludCAiRmVhdHVyZXM6
IHN1YnNlY29uZC1tdGltZVxuIgogICAgICBpZiAkQXV0b21ha2U6OkZpbGVVdGlsczo6c3Vic2Vj
b25kX210aW1lCiAgICAgICAgICYmICRBdXRvbWFrZTo6RmlsZVV0aWxzOjpzdWJzZWNvbmRfbXRp
bWU7ICMgYXZvaWQgIm9uY2UiIHdhcm5pbmcKICBwcmludCAiXG5Db3B5cmlnaHQgKEMpICRSRUxF
QVNFX1lFQVIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIjsKICBwcmludCAnCkxpY2Vu
c2UgR1BMdjIrOiBHTlUgR1BMIHZlcnNpb24gMiBvciBsYXRlcgogIDxodHRwczovL2dudS5vcmcv
bGljZW5zZXMvZ3BsLTIuMC5odG1sPgpUaGlzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJl
ZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4KVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRv
IHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4KCldyaXR0ZW4gYnkgVG9tIFRyb21leSA8dHJv
bWV5QHJlZGhhdC5jb20+CiAgICAgICBhbmQgQWxleGFuZHJlIER1cmV0LUx1dHogPGFkbEBnbnUu
b3JnPi4KJzsKICAjIC0tdmVyc2lvbiBhbHdheXMgcmV0dXJucyAwIHBlciBHTlUgc3RhbmRhcmRz
LgogIGV4aXQgMDsKfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKIyBQYXJzZSBjb21tYW5kIGxpbmUuCnN1YiBwYXJzZV9h
cmd1bWVudHMgKCkKewogIG15ICRzdHJpY3QgPSAnZ251JzsKICBteSAkaWdub3JlX2RlcHMgPSAw
OwogIG15IEB3YXJuaW5ncyA9ICgpOwoKICBteSAlY2xpX29wdGlvbnMgPQogICAgKAogICAgICd2
ZXJzaW9uJyA9PiBcJnZlcnNpb24sCiAgICAgJ2hlbHAnICAgID0+IFwmdXNhZ2UsCiAgICAgJ2xp
YmRpcj1zJwk9PiBcJGxpYmRpciwKICAgICAncHJpbnQtbGliZGlyJyAgICAgPT4gc3ViIHsgcHJp
bnQgIiRsaWJkaXJcbiI7IGV4aXQgMDsgfSwKICAgICAnZ251JwkJPT4gc3ViIHsgJHN0cmljdCA9
ICdnbnUnOyB9LAogICAgICdnbml0cycJCT0+IHN1YiB7ICRzdHJpY3QgPSAnZ25pdHMnOyB9LAog
ICAgICdmb3JlaWduJwkJPT4gc3ViIHsgJHN0cmljdCA9ICdmb3JlaWduJzsgfSwKICAgICAnaW5j
bHVkZS1kZXBzJwk9PiBzdWIgeyAkaWdub3JlX2RlcHMgPSAwOyB9LAogICAgICdpfGlnbm9yZS1k
ZXBzJwk9PiBzdWIgeyAkaWdub3JlX2RlcHMgPSAxOyB9LAogICAgICduby1mb3JjZScJPT4gc3Vi
IHsgJGZvcmNlX2dlbmVyYXRpb24gPSAwOyB9LAogICAgICdmfGZvcmNlLW1pc3NpbmcnICA9PiBc
JGZvcmNlX21pc3NpbmcsCiAgICAgJ2F8YWRkLW1pc3NpbmcnCT0+IFwkYWRkX21pc3NpbmcsCiAg
ICAgJ2N8Y29weScJCT0+IFwkY29weV9taXNzaW5nLAogICAgICd2fHZlcmJvc2UnCT0+IHN1YiB7
IHNldHVwX2NoYW5uZWwgJ3ZlcmInLCBzaWxlbnQgPT4gMDsgfSwKICAgICAnV3x3YXJuaW5ncz1z
JyAgICAgPT4gXEB3YXJuaW5ncywKICAgICApOwoKICB1c2UgQXV0b21ha2U6OkdldG9wdCAoKTsK
ICBBdXRvbWFrZTo6R2V0b3B0OjpwYXJzZV9vcHRpb25zICVjbGlfb3B0aW9uczsKCiAgc2V0X3N0
cmljdG5lc3MgKCRzdHJpY3QpOwogIG15ICRjbGlfd2hlcmUgPSBuZXcgQXV0b21ha2U6OkxvY2F0
aW9uOwogIHNldF9nbG9iYWxfb3B0aW9uICgnbm8tZGVwZW5kZW5jaWVzJywgJGNsaV93aGVyZSkg
aWYgJGlnbm9yZV9kZXBzOwogIHBhcnNlX3dhcm5pbmdzIEB3YXJuaW5nczsKCiAgcmV0dXJuIHVu
bGVzcyBAQVJHVjsKCiAgbXkgJGVycnNwZWMgPSAwOwogIGZvcmVhY2ggbXkgJGFyZyAoQEFSR1Yp
CiAgICB7CiAgICAgIGZhdGFsICgiZW1wdHkgYXJndW1lbnRcblRyeSAnJDAgLS1oZWxwJyBmb3Ig
bW9yZSBpbmZvcm1hdGlvbiIpCglpZiAoJGFyZyBlcSAnJyk7CgogICAgICAjIEhhbmRsZSAkbG9j
YWw6JGlucHV0IHN5bnRheC4KICAgICAgbXkgKCRsb2NhbCwgQHJlc3QpID0gc3BsaXQgKC86Lywg
JGFyZyk7CiAgICAgIEByZXN0ID0gKCIkbG9jYWwuaW4iLCkgdW5sZXNzIEByZXN0OwogICAgICBt
eSAkaW5wdXQgPSBsb2NhdGVfYW0gQHJlc3Q7CiAgICAgIGlmICgkaW5wdXQpCgl7CgkgIHB1c2gg
QGlucHV0X2ZpbGVzLCAkaW5wdXQ7CgkgICRvdXRwdXRfZmlsZXN7JGlucHV0fSA9IGpvaW4gKCc6
JywgKCRsb2NhbCwgQHJlc3QpKTsKCX0KICAgICAgZWxzZQoJewoJICBlcnJvciAibm8gQXV0b21h
a2UgaW5wdXQgZmlsZSBmb3VuZCBmb3IgJyRhcmcnIjsKCSAgJGVycnNwZWMgPSAxOwoJfQogICAg
fQogIGZhdGFsICJubyBpbnB1dCBmaWxlIGZvdW5kIGFtb25nIHN1cHBsaWVkIGFyZ3VtZW50cyIK
ICAgIGlmICRlcnJzcGVjICYmICEgQGlucHV0X2ZpbGVzOwp9CgoKIyBoYW5kbGVfbWFrZWZpbGUg
KCRNQUtFRklMRSkKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0Kc3ViIGhhbmRsZV9tYWtl
ZmlsZQp7CiAgbXkgKCRmaWxlKSA9ICBAXzsKICAoJGFtX2ZpbGUgPSAkZmlsZSkgPX4gcy9cLmlu
JC8vOwogIGlmICghIC1mICgkYW1fZmlsZSAuICcuYW0nKSkKICAgIHsKICAgICAgZXJyb3IgIick
YW1fZmlsZS5hbScgZG9lcyBub3QgZXhpc3QiOwogICAgfQogIGVsc2UKICAgIHsKICAgICAgIyBB
bnkgd2FybmluZyBzZXR0aW5nIG5vdyBsb2NhbCB0byB0aGlzIE1ha2VmaWxlLmFtLgogICAgICBk
dXBfY2hhbm5lbF9zZXR1cDsKCiAgICAgIGdlbmVyYXRlX21ha2VmaWxlICgkYW1fZmlsZSAuICcu
YW0nLCAkZmlsZSk7CgogICAgICAjIEJhY2sgb3V0IGFueSB3YXJuaW5nIHNldHRpbmcuCiAgICAg
IGRyb3BfY2hhbm5lbF9zZXR1cDsKICAgIH0KfQoKIyBEZWFsIHdpdGggYWxsIG1ha2VmaWxlcywg
d2l0aG91dCB0aHJlYWRzLgpzdWIgaGFuZGxlX21ha2VmaWxlc19zZXJpYWwgKCkKewogIGZvcmVh
Y2ggbXkgJGZpbGUgKEBpbnB1dF9maWxlcykKICAgIHsKICAgICAgaGFuZGxlX21ha2VmaWxlICgk
ZmlsZSk7CiAgICB9Cn0KCiMgTG9naWMgZm9yIGRlY2lkaW5nIGhvdyBtYW55IHdvcmtlciB0aHJl
YWRzIHRvIHVzZS4Kc3ViIGdldF9udW1iZXJfb2ZfdGhyZWFkcyAoKQp7CiAgbXkgJG50aHJlYWRz
ID0gJEVOVnsnQVVUT01BS0VfSk9CUyd9IHx8IDA7CgogICRudGhyZWFkcyA9IDAKICAgIHVubGVz
cyAkbnRocmVhZHMgPX4gL15bMC05XSskLzsKCiAgIyBJdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8g
dXNlIG1vcmUgdGhyZWFkcyB0aGFuIG1ha2VmaWxlcywKICBteSAkbWF4X3RocmVhZHMgPSBAaW5w
dXRfZmlsZXM7CgogIGlmICgkbnRocmVhZHMgPiAkbWF4X3RocmVhZHMpCiAgICB7CiAgICAgICRu
dGhyZWFkcyA9ICRtYXhfdGhyZWFkczsKICAgIH0KICByZXR1cm4gJG50aHJlYWRzOwp9CgojIGhh
bmRsZV9tYWtlZmlsZXNfdGhyZWFkZWQgKCROVEhSRUFEUykKIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiMgRGVhbCB3aXRoIGFsbCBtYWtlZmlsZXMsIHVzaW5nIHRocmVh
ZHMuICBUaGUgZ2VuZXJhbCBzdHJhdGVneSBpcyB0bwojIHNwYXduIE5USFJFQURTIHdvcmtlciB0
aHJlYWRzLCBkaXNwYXRjaCBtYWtlZmlsZXMgdG8gdGhlbSwgYW5kIGxldCB0aGUKIyB3b3JrZXIg
dGhyZWFkcyBwdXNoIGJhY2sgZXZlcnl0aGluZyB0aGF0IG5lZWRzIHNlcmlhbGl6YXRpb246CiMg
KiB3YXJuaW5nIGFuZCAobm9ybWFsKSBlcnJvciBtZXNzYWdlcywgZm9yIHN0YWJsZSBzdGRlcnIg
b3V0cHV0CiMgICBvcmRlciBhbmQgY29udGVudCAoYXZvaWRpbmcgZHVwbGljYXRlcywgZm9yIGV4
YW1wbGUpLAojICogcmFjZXMgd2hlbiBpbnN0YWxsaW5nIGF1eCBmaWxlcyAoYW5kIHJlc3BlY3Rp
dmUgbWVzc2FnZXMpLAojICogcmFjZXMgd2hlbiBjb2xsZWN0aW5nIGF1eCBmaWxlcyBmb3IgZGlz
dHJpYnV0aW9uLgojCiMgVGhlIGxhdHRlciByZXF1aXJlcyB0aGF0IHRoZSBtYWtlZmlsZSB0aGF0
IGRlYWxzIHdpdGggdGhlIGF1eCBkaXIKIyBmaWxlcyBiZSBoYW5kbGVkIGxhc3QsIGRvbmUgYnkg
dGhlIG1hc3RlciB0aHJlYWQuCnN1YiBoYW5kbGVfbWFrZWZpbGVzX3RocmVhZGVkCnsKICBteSAo
JG50aHJlYWRzKSA9IEBfOwoKICAjIFRoZSBmaWxlIHF1ZXVlIGRpc3RyaWJ1dGVzIGFsbCBtYWtl
ZmlsZXMsIHRoZSBtZXNzYWdlIHF1ZXVlcwogICMgY29sbGVjdCBhbGwgc2VyaWFsaXphdGlvbnMg
bmVlZGVkIGZvciByZXNwZWN0aXZlIGZpbGVzLgogIG15ICRmaWxlX3F1ZXVlID0gVGhyZWFkOjpR
dWV1ZS0+bmV3OwogIG15ICVtc2dfcXVldWVzOwogIGZvcmVhY2ggbXkgJGZpbGUgKEBpbnB1dF9m
aWxlcykKICAgIHsKICAgICAgJG1zZ19xdWV1ZXN7JGZpbGV9ID0gVGhyZWFkOjpRdWV1ZS0+bmV3
OwogICAgfQoKICB2ZXJiICJzcGF3bmluZyAkbnRocmVhZHMgd29ya2VyIHRocmVhZHMiOwogIG15
IEB0aHJlYWRzID0gKDEgLi4gJG50aHJlYWRzKTsKICBmb3JlYWNoIG15ICR0IChAdGhyZWFkcykK
ICAgIHsKICAgICAgJHQgPSB0aHJlYWRzLT5uZXcgKHN1YgoJewoJICB3aGlsZSAobXkgJGZpbGUg
PSAkZmlsZV9xdWV1ZS0+ZGVxdWV1ZSkKCSAgICB7CgkgICAgICB2ZXJiICJoYW5kbGluZyAkZmls
ZSI7CgkgICAgICBteSAkcXVldWUgPSAkbXNnX3F1ZXVlc3skZmlsZX07CgkgICAgICBzZXR1cF9j
aGFubmVsX3F1ZXVlICgkcXVldWUsIFFVRVVFX01FU1NBR0UpOwoJICAgICAgJHJlcXVpcmVkX2Nv
bmZfZmlsZV9xdWV1ZSA9ICRxdWV1ZTsKCSAgICAgIGhhbmRsZV9tYWtlZmlsZSAoJGZpbGUpOwoJ
ICAgICAgJHF1ZXVlLT5lbnF1ZXVlICh1bmRlZik7CgkgICAgICBzZXR1cF9jaGFubmVsX3F1ZXVl
ICh1bmRlZiwgdW5kZWYpOwoJICAgICAgJHJlcXVpcmVkX2NvbmZfZmlsZV9xdWV1ZSA9IHVuZGVm
OwoJICAgIH0KCSAgcmV0dXJuICRleGl0X2NvZGU7Cgl9KTsKICAgIH0KCiAgIyBRdWV1ZSBhbGwg
bWFrZWZpbGVzLgogIHZlcmIgInF1ZXVpbmcgIiAuIEBpbnB1dF9maWxlcyAuICIgaW5wdXQgZmls
ZXMiOwogICRmaWxlX3F1ZXVlLT5lbnF1ZXVlIChAaW5wdXRfZmlsZXMsICh1bmRlZikgeCBAdGhy
ZWFkcyk7CgogICMgQ29sbGVjdCBhbmQgcHJvY2VzcyBzZXJpYWxpemF0aW9ucy4KICBmb3JlYWNo
IG15ICRmaWxlIChAaW5wdXRfZmlsZXMpCiAgICB7CiAgICAgIHZlcmIgImRlcXVldWluZyBtZXNz
YWdlcyBmb3IgIiAuICRmaWxlOwogICAgICByZXNldF9sb2NhbF9kdXBsaWNhdGVzICgpOwogICAg
ICBteSAkcXVldWUgPSAkbXNnX3F1ZXVlc3skZmlsZX07CiAgICAgIHdoaWxlIChteSAka2V5ID0g
JHF1ZXVlLT5kZXF1ZXVlKQoJewoJICBpZiAoJGtleSBlcSBRVUVVRV9NRVNTQUdFKQoJICAgIHsK
CSAgICAgIHBvcF9jaGFubmVsX3F1ZXVlICgkcXVldWUpOwoJICAgIH0KCSAgZWxzaWYgKCRrZXkg
ZXEgUVVFVUVfQ09ORl9GSUxFKQoJICAgIHsKCSAgICAgIHJlcXVpcmVfcXVldWVkX2ZpbGVfY2hl
Y2tfb3JfY29weSAoJHF1ZXVlKTsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICBwcm9nX2Vy
cm9yICJ1bmV4cGVjdGVkIGtleSAka2V5IjsKCSAgICB9Cgl9CiAgICB9CgogIGZvcmVhY2ggbXkg
JHQgKEB0aHJlYWRzKQogICAgewogICAgICBteSBAZXhpdF90aHJlYWQgPSAkdC0+am9pbjsKICAg
ICAgJGV4aXRfY29kZSA9ICRleGl0X3RocmVhZFswXQoJaWYgKCRleGl0X3RocmVhZFswXSA+ICRl
eGl0X2NvZGUpOwogICAgfQp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIFBhcnNlIHRoZSBXQVJOSU5HUyBlbnZpcm9u
bWVudCB2YXJpYWJsZS4KcGFyc2VfV0FSTklOR1M7CgojIFBhcnNlIGNvbW1hbmQgbGluZS4KcGFy
c2VfYXJndW1lbnRzOwoKJGNvbmZpZ3VyZV9hYyA9IHJlcXVpcmVfY29uZmlndXJlX2FjOwoKIyBE
byBjb25maWd1cmUuYWMgc2NhbiBvbmx5IG9uY2UuCnNjYW5fYXV0b2NvbmZfZmlsZXM7CgppZiAo
ISBAaW5wdXRfZmlsZXMpCiAgewogICAgbXkgJG1zZyA9ICcnOwogICAgJG1zZyA9ICJcbkRpZCB5
b3UgZm9yZ2V0IEFDX0NPTkZJR19GSUxFUyhbTWFrZWZpbGVdKSBpbiAkY29uZmlndXJlX2FjPyIK
ICAgICAgaWYgLWYgJ01ha2VmaWxlLmFtJzsKICAgIGZhdGFsICgibm8gJ01ha2VmaWxlLmFtJyBm
b3VuZCBmb3IgYW55IGNvbmZpZ3VyZSBvdXRwdXQkbXNnIik7CiAgfQoKbXkgJG50aHJlYWRzID0g
Z2V0X251bWJlcl9vZl90aHJlYWRzICgpOwoKaWYgKCRwZXJsX3RocmVhZHMgJiYgJG50aHJlYWRz
ID49IDEpCiAgewogICAgaGFuZGxlX21ha2VmaWxlc190aHJlYWRlZCAoJG50aHJlYWRzKTsKICB9
CmVsc2UKICB7CiAgICBoYW5kbGVfbWFrZWZpbGVzX3NlcmlhbCAoKTsKICB9CgpleGl0ICRleGl0
X2NvZGU7CisgdGVzdCAwIC1lcSAwCisgX2FtX2V4aXQgNzcKKyBzZXQgK2UKKyB0ZXN0IDc3ID0g
NzcKKyBhbV9fdGVzdF9za2lwcGVkPXllcworIGV4aXQgNzcKKyBleGl0IDc3CisgYW1fZXhpdF90
cmFwIDc3CisgZXhpdF9zdGF0dXM9NzcKKyBzZXQgK2UKKyBjZCAvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZQorIHRlc3Qgbm9uZSA9IHRhcAorIGNhc2UgJGFtX2V4cGxpY2l0X3NraXBzIGluCisgdGVz
dCA3NyAtZXEgMAorIGtlZXBfdGVzdGRpcnM9eWVzCisgYW1fa2VlcGluZ190ZXN0ZGlycworIGNh
c2UgJGtlZXBfdGVzdGRpcnMgaW4KKyByZXR1cm4gMAorIHNldCAreApTS0lQIHQvZ2V0LXN5c2Nv
bmYuc2ggKGV4aXQgc3RhdHVzOiA3NykKClhGQUlMOiB0L3BtL0NvbmQyCj09PT09PT09PT09PT09
PT09CgonQXV0b21ha2U6OkNvbmRpdGlvbj1IQVNIKDB4YzRjYzU2MzYwKScgaXMgYSByZWZlcmVu
Y2UsIGV4cGVjdGVkIGEgc3RyaW5nIGF0IC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL2xpYi9BdXRv
bWFrZS9Db25kaXRpb24ucG0gbGluZSAxODYuCglBdXRvbWFrZTo6Q29uZGl0aW9uOjpuZXcoIkF1
dG9tYWtlOjpDb25kaXRpb24iLCBBdXRvbWFrZTo6Q29uZGl0aW9uPUhBU0goMHhjNGNjNTYzNjAp
KSBjYWxsZWQgYXQgLi90L3BtL0NvbmQyLnBsIGxpbmUgMjIKWEZBSUwgdC9wbS9Db25kMi5wbCAo
ZXhpdCBzdGF0dXM6IDI1NSkKClhGQUlMOiB0L3BtL0NvbmQzCj09PT09PT09PT09PT09PT09Cgon
QXV0b21ha2U6OkNvbmRpdGlvbj1IQVNIKDB4MTAyZmM5NjY4KScgZG9lcyBub3QgbG9vayBsaWtl
IGEgY29uZGl0aW9uIGF0IC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL2xpYi9BdXRvbWFrZS9Db25k
aXRpb24ucG0gbGluZSAxODguCglBdXRvbWFrZTo6Q29uZGl0aW9uOjpuZXcoIkF1dG9tYWtlOjpD
b25kaXRpb24iLCAiQXV0b21ha2U6OkNvbmRpdGlvbj1IQVNIKDB4MTAyZmM5NjY4KSIpIGNhbGxl
ZCBhdCAuL3QvcG0vQ29uZDMucGwgbGluZSAyMgpYRkFJTCB0L3BtL0NvbmQzLnBsIChleGl0IHN0
YXR1czogMjU1KQoKWEZBSUw6IHQvcG0vRGlzakNvbjIKPT09PT09PT09PT09PT09PT09PT0KCidB
dXRvbWFrZTo6RGlzakNvbmRpdGlvbnM9SEFTSCgweDEwMTRjZDc0MCknIGlzbid0IGFuIEF1dG9t
YWtlOjpDb25kaXRpb24gYXQgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvbGliL0F1dG9tYWtlL0Rp
c2pDb25kaXRpb25zLnBtIGxpbmUgMTUxLgoJQXV0b21ha2U6OkRpc2pDb25kaXRpb25zOjpuZXco
IkF1dG9tYWtlOjpEaXNqQ29uZGl0aW9ucyIsIEF1dG9tYWtlOjpEaXNqQ29uZGl0aW9ucz1IQVNI
KDB4MTAxNGNkNzQwKSkgY2FsbGVkIGF0IC4vdC9wbS9EaXNqQ29uMi5wbCBsaW5lIDI0ClhGQUlM
IHQvcG0vRGlzakNvbjIucGwgKGV4aXQgc3RhdHVzOiAyNTUpCgpYRkFJTDogdC9wbS9EaXNqQ29u
Mwo9PT09PT09PT09PT09PT09PT09PQoKJ0F1dG9tYWtlOjpDb25kaXRpb249SEFTSCgweGI2MGMw
NDlhOCknIGlzbid0IGEgcmVmZXJlbmNlIGF0IC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL2xpYi9B
dXRvbWFrZS9EaXNqQ29uZGl0aW9ucy5wbSBsaW5lIDE1MC4KCUF1dG9tYWtlOjpEaXNqQ29uZGl0
aW9uczo6bmV3KCJBdXRvbWFrZTo6RGlzakNvbmRpdGlvbnMiLCAiQXV0b21ha2U6OkNvbmRpdGlv
bj1IQVNIKDB4YjYwYzA0OWE4KSIpIGNhbGxlZCBhdCAuL3QvcG0vRGlzakNvbjMucGwgbGluZSAy
MwpYRkFJTCB0L3BtL0Rpc2pDb24zLnBsIChleGl0IHN0YXR1czogMjU1KQoKWEZBSUw6IHQvcG0v
VmVyc2lvbjIKPT09PT09PT09PT09PT09PT09PT0KClZlcnNpb24yLnBsOiBlcnJvcjogdmVyc2lv
biBpcyBpbmNvcnJlY3Q6IApWZXJzaW9uMi5wbDogUGxlYXNlIGNvbnRhY3QgPGJ1Zy1hdXRvbWFr
ZUBnbnUub3JnPi4KIGF0IC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL2xpYi9BdXRvbWFrZS9DaGFu
bmVscy5wbSBsaW5lIDY1OC4KCUF1dG9tYWtlOjpDaGFubmVsczo6bXNnKCJhdXRvbWFrZSIsICIi
LCAidmVyc2lvbiBpcyBpbmNvcnJlY3Q6ICIpIGNhbGxlZCBhdCAvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS9saWIvQXV0b21ha2UvQ2hhbm5lbERlZnMucG0gbGluZSAyMzAKCUF1dG9tYWtlOjpDaGFu
bmVsRGVmczo6cHJvZ19lcnJvcigidmVyc2lvbiBpcyBpbmNvcnJlY3Q6ICIpIGNhbGxlZCBhdCAv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS9saWIvQXV0b21ha2UvVmVyc2lvbi5wbSBsaW5lIDE0NQoJ
QXV0b21ha2U6OlZlcnNpb246OmNoZWNrKCIiLCAiMS4yLjMiKSBjYWxsZWQgYXQgLi90L3BtL1Zl
cnNpb24yLnBsIGxpbmUgMjAKWEZBSUwgdC9wbS9WZXJzaW9uMi5wbCAoZXhpdCBzdGF0dXM6IDI1
NSkKClhGQUlMOiB0L3BtL1ZlcnNpb24zCj09PT09PT09PT09PT09PT09PT09CgpWZXJzaW9uMy5w
bDogZXJyb3I6IHJlcXVpcmVkIHZlcnNpb24gaXMgaW5jb3JyZWN0OiAKVmVyc2lvbjMucGw6IFBs
ZWFzZSBjb250YWN0IDxidWctYXV0b21ha2VAZ251Lm9yZz4uCiBhdCAvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS9saWIvQXV0b21ha2UvQ2hhbm5lbHMucG0gbGluZSA2NTguCglBdXRvbWFrZTo6Q2hh
bm5lbHM6Om1zZygiYXV0b21ha2UiLCAiIiwgInJlcXVpcmVkIHZlcnNpb24gaXMgaW5jb3JyZWN0
OiAiKSBjYWxsZWQgYXQgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvbGliL0F1dG9tYWtlL0NoYW5u
ZWxEZWZzLnBtIGxpbmUgMjMwCglBdXRvbWFrZTo6Q2hhbm5lbERlZnM6OnByb2dfZXJyb3IoInJl
cXVpcmVkIHZlcnNpb24gaXMgaW5jb3JyZWN0OiAiKSBjYWxsZWQgYXQgL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvbGliL0F1dG9tYWtlL1ZlcnNpb24ucG0gbGluZSAxNTAKCUF1dG9tYWtlOjpWZXJz
aW9uOjpjaGVjaygiMS4yLjMiLCAiIikgY2FsbGVkIGF0IC4vdC9wbS9WZXJzaW9uMy5wbCBsaW5l
IDIwClhGQUlMIHQvcG0vVmVyc2lvbjMucGwgKGV4aXQgc3RhdHVzOiAyNTUpCgpQQVNTOiB0L2lu
c3RzcGMKPT09PT09PT09PT09PT09CgojW3N0ZGVycl0rKyBwd2QKI1tzdGRlcnJdKyBhbGxfdGVz
dF9uYW1lc19saXN0PQphbS10ZXN0LWxpYi5zaDogUnVubmluZyBmcm9tIGluc3RhbGxjaGVjazog
bm8KI1tzdGRlcnJdKyBidWlsZGRpcl94ZmFpbHM9CmFtLXRlc3QtbGliLnNoOiBUZXN0IFByb3Rv
Y29sOiB0YXAKI1tzdGRlcnJdKyBkZXN0ZGlyX3hmYWlscz0KI1tzdGRlcnJdKyBicz0kJ1xiJwoj
W3N0ZGVycl0rIGNyPSQnXHInCiNbc3RkZXJyXSsgZmY9JCdcZicKI1tzdGRlcnJdKyBodD0nCScK
I1tzdGRlcnJdKyBsZj0nCiNbc3RkZXJyXScKI1tzdGRlcnJdKyBkZWY9ZGVmaW5lX3Byb2JsZW1h
dGljX3N0cmluZwphbS10ZXN0LWxpYi5zaDogUEFUSCA9IC91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L2JpbjovdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2F4Oi90bXAvZ251LWxpbmtzOi46L1VzZXJz
L2pvaG5zb25lL2Jpbi9vc3g6L1VzZXJzL2pvaG5zb25lL2JpbjovdXNyL2xvY2FsL2JpbjovU3lz
dGVtL0NyeXB0ZXhlcy9BcHAvdXNyL2JpbjovdXNyL2JpbjovYmluOi91c3Ivc2Jpbjovc2Jpbjov
dmFyL3J1bi9jb20uYXBwbGUuc2VjdXJpdHkuY3J5cHRleGQvY29kZXguc3lzdGVtL2Jvb3RzdHJh
cC91c3IvbG9jYWwvYmluOi92YXIvcnVuL2NvbS5hcHBsZS5zZWN1cml0eS5jcnlwdGV4ZC9jb2Rl
eC5zeXN0ZW0vYm9vdHN0cmFwL3Vzci9iaW46L3Zhci9ydW4vY29tLmFwcGxlLnNlY3VyaXR5LmNy
eXB0ZXhkL2NvZGV4LnN5c3RlbS9ib290c3RyYXAvdXNyL2FwcGxlaW50ZXJuYWwvYmluOi9wa2cv
ZW52L2dsb2JhbC9iaW46L29wdC9YMTEvYmluOi9MaWJyYXJ5L0FwcGxlL3Vzci9iaW46L0xpYnJh
cnkvVGVYL3RleGJpbjouOi9Vc2Vycy9qb2huc29uZS9iaW4vb3N4Oi9Vc2Vycy9qb2huc29uZS9i
aW4KL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpcgojW3N0ZGVycl0rIGRlZmlu
ZV9wcm9ibGVtYXRpY19zdHJpbmcgc3F1b3RlICcnXCcnJyBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVz
dGRpcgojW3N0ZGVycl0rIHRzdD1zcXVvdGUKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGV2
YWwgJ2luc3RzcGNfX3NxdW90ZT0kMScKI1tzdGRlcnJdKysgaW5zdHNwY19fc3F1b3RlPScnXCcn
JwojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgYWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90
ZScKI1tzdGRlcnJdKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIgZmFpbC1idWlsZGRpciBmYWls
LWRlc3RkaXIKI1tzdGRlcnJdKyBpdGVtPWZhaWwtYnVpbGRkaXIKI1tzdGRlcnJdKyBzaGlmdAoj
W3N0ZGVycl0rIGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDAKI1tzdGRlcnJdKyBi
dWlsZGRpcl94ZmFpbHM9JyBzcXVvdGUnCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWRlc3Rk
aXIgZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIKI1tzdGRlcnJdKyBpdGVtPWZhaWwtZGVzdGRp
cgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyBy
ZXR1cm4gMAojW3N0ZGVycl0rIGRlc3RkaXJfeGZhaWxzPScgc3F1b3RlJwojW3N0ZGVycl0rIGRl
ZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgZHF1b3RlICciJyBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVz
dGRpcgojW3N0ZGVycl0rIHRzdD1kcXVvdGUKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGV2
YWwgJ2luc3RzcGNfX2RxdW90ZT0kMScKI1tzdGRlcnJdKysgaW5zdHNwY19fZHF1b3RlPSciJwoj
W3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgYWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBk
cXVvdGUnCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyIGZhaWwtYnVpbGRkaXIg
ZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgaXRlbT1mYWlsLWJ1aWxkZGlyCiNbc3RkZXJyXSsgc2hp
ZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAwCiNbc3RkZXJy
XSsgYnVpbGRkaXJfeGZhaWxzPScgc3F1b3RlIGRxdW90ZScKI1tzdGRlcnJdKyBpc19pbl9saXN0
IGZhaWwtZGVzdGRpciBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVzdGRpcgojW3N0ZGVycl0rIGl0ZW09
ZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgoj
W3N0ZGVycl0rIHJldHVybiAwCiNbc3RkZXJyXSsgZGVzdGRpcl94ZmFpbHM9JyBzcXVvdGUgZHF1
b3RlJwojW3N0ZGVycl0rIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgYnF1b3RlICdgJyBmYWls
LWJ1aWxkZGlyIGZhaWwtZGVzdGRpcgojW3N0ZGVycl0rIHRzdD1icXVvdGUKI1tzdGRlcnJdKyBz
aGlmdAojW3N0ZGVycl0rIGV2YWwgJ2luc3RzcGNfX2JxdW90ZT0kMScKI1tzdGRlcnJdKysgaW5z
dHNwY19fYnF1b3RlPSdgJwojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgYWxsX3Rlc3RfbmFt
ZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlJwojW3N0ZGVycl0rIGlzX2luX2xpc3QgZmFp
bC1idWlsZGRpciBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVzdGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFp
bC1idWlsZGRpcgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tz
dGRlcnJdKyByZXR1cm4gMAojW3N0ZGVycl0rIGJ1aWxkZGlyX3hmYWlscz0nIHNxdW90ZSBkcXVv
dGUgYnF1b3RlJwojW3N0ZGVycl0rIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyIGZhaWwtYnVpbGRk
aXIgZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgaXRlbT1mYWlsLWRlc3RkaXIKI1tzdGRlcnJdKyBz
aGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDAKI1tzdGRl
cnJdKyBkZXN0ZGlyX3hmYWlscz0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlJwojW3N0ZGVycl0rIGRl
ZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgc2hhcnAgJyMnIGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0
ZGlyCiNbc3RkZXJyXSsgdHN0PXNoYXJwCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBldmFs
ICdpbnN0c3BjX19zaGFycD0kMScKI1tzdGRlcnJdKysgaW5zdHNwY19fc2hhcnA9JyMnCiNbc3Rk
ZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBhbGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRxdW90
ZSBicXVvdGUgc2hhcnAnCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyIGZhaWwt
YnVpbGRkaXIgZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgaXRlbT1mYWlsLWJ1aWxkZGlyCiNbc3Rk
ZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAw
CiNbc3RkZXJyXSsgYnVpbGRkaXJfeGZhaWxzPScgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAn
CiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIgZmFpbC1idWlsZGRpciBmYWlsLWRl
c3RkaXIKI1tzdGRlcnJdKyBpdGVtPWZhaWwtZGVzdGRpcgojW3N0ZGVycl0rIHNoaWZ0CiNbc3Rk
ZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMAojW3N0ZGVycl0rIGRlc3Rk
aXJfeGZhaWxzPScgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAnCiNbc3RkZXJyXSsgZGVmaW5l
X3Byb2JsZW1hdGljX3N0cmluZyBkb2xsYXIgJyQnIGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0ZGly
CiNbc3RkZXJyXSsgdHN0PWRvbGxhcgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgZXZhbCAn
aW5zdHNwY19fZG9sbGFyPSQxJwojW3N0ZGVycl0rKyBpbnN0c3BjX19kb2xsYXI9JyQnCiNbc3Rk
ZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBhbGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRxdW90
ZSBicXVvdGUgc2hhcnAgZG9sbGFyJwojW3N0ZGVycl0rIGlzX2luX2xpc3QgZmFpbC1idWlsZGRp
ciBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVzdGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1idWlsZGRp
cgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyBy
ZXR1cm4gMAojW3N0ZGVycl0rIGJ1aWxkZGlyX3hmYWlscz0nIHNxdW90ZSBkcXVvdGUgYnF1b3Rl
IHNoYXJwIGRvbGxhcicKI1tzdGRlcnJdKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpciBmYWlsLWJ1
aWxkZGlyIGZhaWwtZGVzdGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1kZXN0ZGlyCiNbc3RkZXJy
XSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAwCiNb
c3RkZXJyXSsgZGVzdGRpcl94ZmFpbHM9JyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xs
YXInCiNbc3RkZXJyXSsgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBiYW5nICchJwojW3N0ZGVy
cl0rIHRzdD1iYW5nCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBldmFsICdpbnN0c3BjX19i
YW5nPSQxJwojW3N0ZGVycl0rKyBpbnN0c3BjX19iYW5nPSchJwojW3N0ZGVycl0rIHNoaWZ0CiNb
c3RkZXJyXSsgYWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJw
IGRvbGxhciBiYW5nJwojW3N0ZGVycl0rIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgojW3N0ZGVy
cl0rIGl0ZW09ZmFpbC1idWlsZGRpcgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAi
ICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIGlzX2luX2xpc3QgZmFpbC1k
ZXN0ZGlyCiNbc3RkZXJyXSsgaXRlbT1mYWlsLWRlc3RkaXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0
ZGVycl0rIGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBkZWZp
bmVfcHJvYmxlbWF0aWNfc3RyaW5nIGJzbGFzaCAnXCcgZmFpbC1idWlsZGRpcgojW3N0ZGVycl0r
IHRzdD1ic2xhc2gKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGV2YWwgJ2luc3RzcGNfX2Jz
bGFzaD0kMScKI1tzdGRlcnJdKysgaW5zdHNwY19fYnNsYXNoPSdcJwojW3N0ZGVycl0rIHNoaWZ0
CiNbc3RkZXJyXSsgYWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNo
YXJwIGRvbGxhciBiYW5nIGJzbGFzaCcKI1tzdGRlcnJdKyBpc19pbl9saXN0IGZhaWwtYnVpbGRk
aXIgZmFpbC1idWlsZGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1idWlsZGRpcgojW3N0ZGVycl0r
IHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMAojW3N0
ZGVycl0rIGJ1aWxkZGlyX3hmYWlscz0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxh
ciBic2xhc2gnCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIgZmFpbC1idWlsZGRp
cgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJd
KyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgZGVmaW5lX3By
b2JsZW1hdGljX3N0cmluZyBhbXBlcnNhbmQgJyYnIGZhaWwtYnVpbGRkaXIKI1tzdGRlcnJdKyB0
c3Q9YW1wZXJzYW5kCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBldmFsICdpbnN0c3BjX19h
bXBlcnNhbmQ9JDEnCiNbc3RkZXJyXSsrIGluc3RzcGNfX2FtcGVyc2FuZD0nJicKI1tzdGRlcnJd
KyBzaGlmdAojW3N0ZGVycl0rIGFsbF90ZXN0X25hbWVzX2xpc3Q9JyBzcXVvdGUgZHF1b3RlIGJx
dW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kJwojW3N0ZGVycl0rIGlzX2lu
X2xpc3QgZmFpbC1idWlsZGRpciBmYWlsLWJ1aWxkZGlyCiNbc3RkZXJyXSsgaXRlbT1mYWlsLWJ1
aWxkZGlyCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVy
cl0rIHJldHVybiAwCiNbc3RkZXJyXSsgYnVpbGRkaXJfeGZhaWxzPScgc3F1b3RlIGRxdW90ZSBi
cXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQnCiNbc3RkZXJyXSsgaXNfaW5fbGlz
dCBmYWlsLWRlc3RkaXIgZmFpbC1idWlsZGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1kZXN0ZGly
CiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJl
dHVybiAxCiNbc3RkZXJyXSsgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBwZXJjZW50ICUKI1tz
dGRlcnJdKyB0c3Q9cGVyY2VudAojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgZXZhbCAnaW5z
dHNwY19fcGVyY2VudD0kMScKI1tzdGRlcnJdKysgaW5zdHNwY19fcGVyY2VudD0lCiNbc3RkZXJy
XSsgc2hpZnQKI1tzdGRlcnJdKyBhbGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRxdW90ZSBi
cXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50JwojW3N0ZGVy
cl0rIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1idWlsZGRp
cgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyBy
ZXR1cm4gMQojW3N0ZGVycl0rIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgaXRl
bT1mYWlsLWRlc3RkaXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGlu
CiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5n
IGxlZnRwYXIgJygnCiNbc3RkZXJyXSsgdHN0PWxlZnRwYXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0
ZGVycl0rIGV2YWwgJ2luc3RzcGNfX2xlZnRwYXI9JDEnCiNbc3RkZXJyXSsrIGluc3RzcGNfX2xl
ZnRwYXI9JygnCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBhbGxfdGVzdF9uYW1lc19saXN0
PScgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2Fu
ZCBwZXJjZW50IGxlZnRwYXInCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCjEu
Ljk0CiNbc3RkZXJyXSsgaXRlbT1mYWlsLWJ1aWxkZGlyCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRl
cnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgaXNfaW5f
bGlzdCBmYWlsLWRlc3RkaXIKI1tzdGRlcnJdKyBpdGVtPWZhaWwtZGVzdGRpcgojW3N0ZGVycl0r
IHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0
ZGVycl0rIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgcmlnaHRwYXIgJyknCiNbc3RkZXJyXSsg
dHN0PXJpZ2h0cGFyCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBldmFsICdpbnN0c3BjX19y
aWdodHBhcj0kMScKI1tzdGRlcnJdKysgaW5zdHNwY19fcmlnaHRwYXI9JyknCiNbc3RkZXJyXSsg
c2hpZnQKI1tzdGRlcnJdKyBhbGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRxdW90ZSBicXVv
dGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmln
aHRwYXInCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCiNbc3RkZXJyXSsgaXRl
bT1mYWlsLWJ1aWxkZGlyCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBp
bgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIK
I1tzdGRlcnJdKyBpdGVtPWZhaWwtZGVzdGRpcgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsg
Y2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIGRlZmluZV9wcm9i
bGVtYXRpY19zdHJpbmcgcGlwZSAnfCcKI1tzdGRlcnJdKyB0c3Q9cGlwZQojW3N0ZGVycl0rIHNo
aWZ0CiNbc3RkZXJyXSsgZXZhbCAnaW5zdHNwY19fcGlwZT0kMScKI1tzdGRlcnJdKysgaW5zdHNw
Y19fcGlwZT0nfCcKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGFsbF90ZXN0X25hbWVzX2xp
c3Q9JyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJz
YW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlJwojW3N0ZGVycl0rIGlzX2luX2xpc3Qg
ZmFpbC1idWlsZGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1idWlsZGRpcgojW3N0ZGVycl0rIHNo
aWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVy
cl0rIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgaXRlbT1mYWlsLWRlc3RkaXIK
I1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0
dXJuIDEKI1tzdGRlcnJdKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIGNhcmV0ICdeJwojW3N0
ZGVycl0rIHRzdD1jYXJldAojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgZXZhbCAnaW5zdHNw
Y19fY2FyZXQ9JDEnCiNbc3RkZXJyXSsrIGluc3RzcGNfX2NhcmV0PSdeJwojW3N0ZGVycl0rIHNo
aWZ0CiNbc3RkZXJyXSsgYWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3Rl
IHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0
cGFyIHBpcGUgY2FyZXQnCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCiNbc3Rk
ZXJyXSsgaXRlbT1mYWlsLWJ1aWxkZGlyCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNl
ICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWls
LWRlc3RkaXIKI1tzdGRlcnJdKyBpdGVtPWZhaWwtZGVzdGRpcgojW3N0ZGVycl0rIHNoaWZ0CiNb
c3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIGRl
ZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgdGlsZGUgJ34nCiNbc3RkZXJyXSsgdHN0PXRpbGRlCiNb
c3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBldmFsICdpbnN0c3BjX190aWxkZT0kMScKI1tzdGRl
cnJdKysgaW5zdHNwY19fdGlsZGU9J34nCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBhbGxf
dGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcg
YnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxk
ZScKI1tzdGRlcnJdKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKI1tzdGRlcnJdKyBpdGVtPWZh
aWwtYnVpbGRkaXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGluCiNb
c3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgojW3N0
ZGVycl0rIGl0ZW09ZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNl
ICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgZGVmaW5lX3Byb2JsZW1h
dGljX3N0cmluZyBxbWFyayAnPycKI1tzdGRlcnJdKyB0c3Q9cW1hcmsKI1tzdGRlcnJdKyBzaGlm
dAojW3N0ZGVycl0rIGV2YWwgJ2luc3RzcGNfX3FtYXJrPSQxJwojW3N0ZGVycl0rKyBpbnN0c3Bj
X19xbWFyaz0nPycKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGFsbF90ZXN0X25hbWVzX2xp
c3Q9JyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJz
YW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrJwojW3N0
ZGVycl0rIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1idWls
ZGRpcgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJd
KyByZXR1cm4gMQojW3N0ZGVycl0rIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsg
aXRlbT1mYWlsLWRlc3RkaXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAi
IGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3Ry
aW5nIHN0YXIgJyonCiNbc3RkZXJyXSsgdHN0PXN0YXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVy
cl0rIGV2YWwgJ2luc3RzcGNfX3N0YXI9JDEnCiNbc3RkZXJyXSsrIGluc3RzcGNfX3N0YXI9Jyon
CiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBhbGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3Rl
IGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50
IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyJwojW3N0ZGVycl0r
IGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1idWlsZGRpcgoj
W3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1
cm4gMQojW3N0ZGVycl0rIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgaXRlbT1m
YWlsLWRlc3RkaXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGluCiNb
c3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIHBs
dXMgKwojW3N0ZGVycl0rIHRzdD1wbHVzCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBldmFs
ICdpbnN0c3BjX19wbHVzPSQxJwojW3N0ZGVycl0rKyBpbnN0c3BjX19wbHVzPSsKI1tzdGRlcnJd
KyBzaGlmdAojW3N0ZGVycl0rIGFsbF90ZXN0X25hbWVzX2xpc3Q9JyBzcXVvdGUgZHF1b3RlIGJx
dW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciBy
aWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cycKI1tzdGRlcnJdKyBpc19p
bl9saXN0IGZhaWwtYnVpbGRkaXIKI1tzdGRlcnJdKyBpdGVtPWZhaWwtYnVpbGRkaXIKI1tzdGRl
cnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEK
I1tzdGRlcnJdKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1k
ZXN0ZGlyCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVy
cl0rIHJldHVybiAxCiNbc3RkZXJyXSsgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBtaW51cyAt
CiNbc3RkZXJyXSsgdHN0PW1pbnVzCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBldmFsICdp
bnN0c3BjX19taW51cz0kMScKI1tzdGRlcnJdKysgaW5zdHNwY19fbWludXM9LQojW3N0ZGVycl0r
IHNoaWZ0CiNbc3RkZXJyXSsgYWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1
b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJp
Z2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzJwojW3N0ZGVycl0r
IGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1idWlsZGRpcgoj
W3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1
cm4gMQojW3N0ZGVycl0rIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgaXRlbT1m
YWlsLWRlc3RkaXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGluCiNb
c3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIGNv
bW1hICwKI1tzdGRlcnJdKyB0c3Q9Y29tbWEKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGV2
YWwgJ2luc3RzcGNfX2NvbW1hPSQxJwojW3N0ZGVycl0rKyBpbnN0c3BjX19jb21tYT0sCiNbc3Rk
ZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBhbGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRxdW90
ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRw
YXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEn
CiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCiNbc3RkZXJyXSsgaXRlbT1mYWls
LWJ1aWxkZGlyCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0
ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKI1tzdGRl
cnJdKyBpdGVtPWZhaWwtZGVzdGRpcgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAi
ICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIGRlZmluZV9wcm9ibGVtYXRp
Y19zdHJpbmcgY29sb24gOgojW3N0ZGVycl0rIHRzdD1jb2xvbgojW3N0ZGVycl0rIHNoaWZ0CiNb
c3RkZXJyXSsgZXZhbCAnaW5zdHNwY19fY29sb249JDEnCiNbc3RkZXJyXSsrIGluc3RzcGNfX2Nv
bG9uPToKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGFsbF90ZXN0X25hbWVzX2xpc3Q9JyBz
cXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBl
cmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBt
aW51cyBjb21tYSBjb2xvbicKI1tzdGRlcnJdKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKI1tz
dGRlcnJdKyBpdGVtPWZhaWwtYnVpbGRkaXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNh
c2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBpc19pbl9saXN0IGZh
aWwtZGVzdGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgc2hpZnQK
I1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsg
ZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBzZW1pY29sICc7JwojW3N0ZGVycl0rIHRzdD1zZW1p
Y29sCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBldmFsICdpbnN0c3BjX19zZW1pY29sPSQx
JwojW3N0ZGVycl0rKyBpbnN0c3BjX19zZW1pY29sPSc7JwojW3N0ZGVycl0rIHNoaWZ0CiNbc3Rk
ZXJyXSsgYWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRv
bGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUg
Y2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wnCiNb
c3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCiNbc3RkZXJyXSsgaXRlbT1mYWlsLWJ1
aWxkZGlyCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVy
cl0rIHJldHVybiAxCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKI1tzdGRlcnJd
KyBpdGVtPWZhaWwtZGVzdGRpcgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQq
ICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIGRlZmluZV9wcm9ibGVtYXRpY19z
dHJpbmcgZXF1YWwgPQojW3N0ZGVycl0rIHRzdD1lcXVhbAojW3N0ZGVycl0rIHNoaWZ0CiNbc3Rk
ZXJyXSsgZXZhbCAnaW5zdHNwY19fZXF1YWw9JDEnCiNbc3RkZXJyXSsrIGluc3RzcGNfX2VxdWFs
PT0KI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGFsbF90ZXN0X25hbWVzX2xpc3Q9JyBzcXVv
dGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNl
bnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51
cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsJwojW3N0ZGVycl0rIGlzX2luX2xpc3QgZmFpbC1i
dWlsZGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1idWlsZGRpcgojW3N0ZGVycl0rIHNoaWZ0CiNb
c3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIGlz
X2luX2xpc3QgZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgaXRlbT1mYWlsLWRlc3RkaXIKI1tzdGRl
cnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEK
I1tzdGRlcnJdKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIGxlc3MgJzwnCiNbc3RkZXJyXSsg
dHN0PWxlc3MKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGV2YWwgJ2luc3RzcGNfX2xlc3M9
JDEnCiNbc3RkZXJyXSsrIGluc3RzcGNfX2xlc3M9JzwnCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRl
cnJdKyBhbGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9s
bGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBj
YXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVh
bCBsZXNzJwojW3N0ZGVycl0rIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgojW3N0ZGVycl0rIGl0
ZW09ZmFpbC1idWlsZGRpcgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIg
aW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGly
CiNbc3RkZXJyXSsgaXRlbT1mYWlsLWRlc3RkaXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0r
IGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBkZWZpbmVfcHJv
YmxlbWF0aWNfc3RyaW5nIG1vcmUgJz4nCiNbc3RkZXJyXSsgdHN0PW1vcmUKI1tzdGRlcnJdKyBz
aGlmdAojW3N0ZGVycl0rIGV2YWwgJ2luc3RzcGNfX21vcmU9JDEnCiNbc3RkZXJyXSsrIGluc3Rz
cGNfX21vcmU9Jz4nCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBhbGxfdGVzdF9uYW1lc19s
aXN0PScgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVy
c2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFy
IHBsdXMgbWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUnCiNbc3RkZXJy
XSsgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCiNbc3RkZXJyXSsgaXRlbT1mYWlsLWJ1aWxkZGly
CiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJl
dHVybiAxCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKI1tzdGRlcnJdKyBpdGVt
PWZhaWwtZGVzdGRpcgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4K
I1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcg
YXQgQAojW3N0ZGVycl0rIHRzdD1hdAojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgZXZhbCAn
aW5zdHNwY19fYXQ9JDEnCiNbc3RkZXJyXSsrIGluc3RzcGNfX2F0PUAKI1tzdGRlcnJdKyBzaGlm
dAojW3N0ZGVycl0rIGFsbF90ZXN0X25hbWVzX2xpc3Q9JyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBz
aGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBh
ciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbiBzZW1p
Y29sIGVxdWFsIGxlc3MgbW9yZSBhdCcKI1tzdGRlcnJdKyBpc19pbl9saXN0IGZhaWwtYnVpbGRk
aXIKI1tzdGRlcnJdKyBpdGVtPWZhaWwtYnVpbGRkaXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVy
cl0rIGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBpc19pbl9s
aXN0IGZhaWwtZGVzdGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsg
c2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3Rk
ZXJyXSsgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBscWJyYWNrICdbJwojW3N0ZGVycl0rIHRz
dD1scWJyYWNrCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBldmFsICdpbnN0c3BjX19scWJy
YWNrPSQxJwojW3N0ZGVycl0rKyBpbnN0c3BjX19scWJyYWNrPSdbJwojW3N0ZGVycl0rIHNoaWZ0
CiNbc3RkZXJyXSsgYWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNo
YXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFy
IHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWlj
b2wgZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2snCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWls
LWJ1aWxkZGlyCiNbc3RkZXJyXSsgaXRlbT1mYWlsLWJ1aWxkZGlyCiNbc3RkZXJyXSsgc2hpZnQK
I1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsg
aXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKI1tzdGRlcnJdKyBpdGVtPWZhaWwtZGVzdGRpcgojW3N0
ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4g
MQojW3N0ZGVycl0rIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgcnFicmFjayAnXScKI1tzdGRl
cnJdKyB0c3Q9cnFicmFjawojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgZXZhbCAnaW5zdHNw
Y19fcnFicmFjaz0kMScKI1tzdGRlcnJdKysgaW5zdHNwY19fcnFicmFjaz0nXScKI1tzdGRlcnJd
KyBzaGlmdAojW3N0ZGVycl0rIGFsbF90ZXN0X25hbWVzX2xpc3Q9JyBzcXVvdGUgZHF1b3RlIGJx
dW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciBy
aWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xv
biBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJyYWNrIHJxYnJhY2snCiNbc3RkZXJyXSsg
aXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCiNbc3RkZXJyXSsgaXRlbT1mYWlsLWJ1aWxkZGlyCiNb
c3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVy
biAxCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKI1tzdGRlcnJdKyBpdGVtPWZh
aWwtZGVzdGRpcgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tz
dGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgbGNi
cmFjayAneycKI1tzdGRlcnJdKyB0c3Q9bGNicmFjawojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJy
XSsgZXZhbCAnaW5zdHNwY19fbGNicmFjaz0kMScKI1tzdGRlcnJdKysgaW5zdHNwY19fbGNicmFj
az0neycKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGFsbF90ZXN0X25hbWVzX2xpc3Q9JyBz
cXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBl
cmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBt
aW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJyYWNrIHJxYnJh
Y2sgbGNicmFjaycKI1tzdGRlcnJdKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKI1tzdGRlcnJd
KyBpdGVtPWZhaWwtYnVpbGRkaXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAk
KiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBpc19pbl9saXN0IGZhaWwtZGVz
dGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRl
cnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgZGVmaW5l
X3Byb2JsZW1hdGljX3N0cmluZyByY2JyYWNrICd9JwojW3N0ZGVycl0rIHRzdD1yY2JyYWNrCiNb
c3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBldmFsICdpbnN0c3BjX19yY2JyYWNrPSQxJwojW3N0
ZGVycl0rKyBpbnN0c3BjX19yY2JyYWNrPSd9JwojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsg
YWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBi
YW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQg
dGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVz
cyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2snCiNbc3RkZXJyXSsgaXNf
aW5fbGlzdCBmYWlsLWJ1aWxkZGlyCiNbc3RkZXJyXSsgaXRlbT1mYWlsLWJ1aWxkZGlyCiNbc3Rk
ZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAx
CiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKI1tzdGRlcnJdKyBpdGVtPWZhaWwt
ZGVzdGRpcgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRl
cnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgc3BhY2Ug
JyAnCiNbc3RkZXJyXSsgdHN0PXNwYWNlCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBldmFs
ICdpbnN0c3BjX19zcGFjZT0kMScKI1tzdGRlcnJdKysgaW5zdHNwY19fc3BhY2U9JyAnCiNbc3Rk
ZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBhbGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRxdW90
ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRw
YXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEg
Y29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFjayBycWJyYWNrIGxjYnJhY2sg
cmNicmFjayBzcGFjZScKI1tzdGRlcnJdKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKI1tzdGRl
cnJdKyBpdGVtPWZhaWwtYnVpbGRkaXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2Ug
IiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBpc19pbl9saXN0IGZhaWwt
ZGVzdGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgc2hpZnQKI1tz
dGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgZGVm
aW5lX3Byb2JsZW1hdGljX3N0cmluZyB0YWIgJwknCiNbc3RkZXJyXSsgdHN0PXRhYgojW3N0ZGVy
cl0rIHNoaWZ0CiNbc3RkZXJyXSsgZXZhbCAnaW5zdHNwY19fdGFiPSQxJwojW3N0ZGVycl0rKyBp
bnN0c3BjX190YWI9JwknCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBhbGxfdGVzdF9uYW1l
c19saXN0PScgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFt
cGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBz
dGFyIHBsdXMgbWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFi
cmFjayBycWJyYWNrIGxjYnJhY2sgcmNicmFjayBzcGFjZSB0YWInCiNbc3RkZXJyXSsgaXNfaW5f
bGlzdCBmYWlsLWJ1aWxkZGlyCiNbc3RkZXJyXSsgaXRlbT1mYWlsLWJ1aWxkZGlyCiNbc3RkZXJy
XSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNb
c3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKI1tzdGRlcnJdKyBpdGVtPWZhaWwtZGVz
dGRpcgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJd
KyByZXR1cm4gMQojW3N0ZGVycl0rIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgbGluZWZlZWQg
JwojW3N0ZGVycl0nIGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgdHN0PWxp
bmVmZWVkCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBldmFsICdpbnN0c3BjX19saW5lZmVl
ZD0kMScKI1tzdGRlcnJdKysgaW5zdHNwY19fbGluZWZlZWQ9JwojW3N0ZGVycl0nCiNbc3RkZXJy
XSsgc2hpZnQKI1tzdGRlcnJdKyBhbGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRxdW90ZSBi
cXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIg
cmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29s
b24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFjayBycWJyYWNrIGxjYnJhY2sgcmNi
cmFjayBzcGFjZSB0YWIgbGluZWZlZWQnCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWJ1aWxk
ZGlyIGZhaWwtYnVpbGRkaXIgZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgaXRlbT1mYWlsLWJ1aWxk
ZGlyCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0r
IHJldHVybiAwCiNbc3RkZXJyXSsgYnVpbGRkaXJfeGZhaWxzPScgc3F1b3RlIGRxdW90ZSBicXVv
dGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQnCiNbc3RkZXJyXSsgaXNf
aW5fbGlzdCBmYWlsLWRlc3RkaXIgZmFpbC1idWlsZGRpciBmYWlsLWRlc3RkaXIKI1tzdGRlcnJd
KyBpdGVtPWZhaWwtZGVzdGRpcgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQq
ICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMAojW3N0ZGVycl0rIGRlc3RkaXJfeGZhaWxzPScgc3F1
b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkJwojW3N0ZGVycl0rIGRlZmlu
ZV9wcm9ibGVtYXRpY19zdHJpbmcgYmFja3NwYWNlICQnXGInCiNbc3RkZXJyXSsgdHN0PWJhY2tz
cGFjZQojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgZXZhbCAnaW5zdHNwY19fYmFja3NwYWNl
PSQxJwojW3N0ZGVycl0rKyBpbnN0c3BjX19iYWNrc3BhY2U9JCdcYicKI1tzdGRlcnJdKyBzaGlm
dAojW3N0ZGVycl0rIGFsbF90ZXN0X25hbWVzX2xpc3Q9JyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBz
aGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBh
ciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbiBzZW1p
Y29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJyYWNrIHJxYnJhY2sgbGNicmFjayByY2JyYWNrIHNw
YWNlIHRhYiBsaW5lZmVlZCBiYWNrc3BhY2UnCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWJ1
aWxkZGlyCiNbc3RkZXJyXSsgaXRlbT1mYWlsLWJ1aWxkZGlyCiNbc3RkZXJyXSsgc2hpZnQKI1tz
dGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgaXNf
aW5fbGlzdCBmYWlsLWRlc3RkaXIKI1tzdGRlcnJdKyBpdGVtPWZhaWwtZGVzdGRpcgojW3N0ZGVy
cl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQoj
W3N0ZGVycl0rIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgZm9ybWZlZWQgJCdcZicKI1tzdGRl
cnJdKyB0c3Q9Zm9ybWZlZWQKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGV2YWwgJ2luc3Rz
cGNfX2Zvcm1mZWVkPSQxJwojW3N0ZGVycl0rKyBpbnN0c3BjX19mb3JtZmVlZD0kJ1xmJwojW3N0
ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgYWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVv
dGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0
cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1h
IGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNr
IHJjYnJhY2sgc3BhY2UgdGFiIGxpbmVmZWVkIGJhY2tzcGFjZSBmb3JtZmVlZCcKI1tzdGRlcnJd
KyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKI1tzdGRlcnJdKyBpdGVtPWZhaWwtYnVpbGRkaXIK
I1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0
dXJuIDEKI1tzdGRlcnJdKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgojW3N0ZGVycl0rIGl0ZW09
ZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgoj
W3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBj
YXJyaWFnZXJldCAkJ1xyJwojW3N0ZGVycl0rIHRzdD1jYXJyaWFnZXJldAojW3N0ZGVycl0rIHNo
aWZ0CiNbc3RkZXJyXSsgZXZhbCAnaW5zdHNwY19fY2FycmlhZ2VyZXQ9JDEnCiNbc3RkZXJyXSsr
IGluc3RzcGNfX2NhcnJpYWdlcmV0PSQnXHInCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBh
bGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJh
bmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0
aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNz
IG1vcmUgYXQgbHFicmFjayBycWJyYWNrIGxjYnJhY2sgcmNicmFjayBzcGFjZSB0YWIgbGluZWZl
ZWQgYmFja3NwYWNlIGZvcm1mZWVkIGNhcnJpYWdlcmV0JwojW3N0ZGVycl0rIGlzX2luX2xpc3Qg
ZmFpbC1idWlsZGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1idWlsZGRpcgojW3N0ZGVycl0rIHNo
aWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVy
cl0rIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgaXRlbT1mYWlsLWRlc3RkaXIK
I1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0
dXJuIDEKI1tzdGRlcnJdKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIHF1YWRyaWdyYXBoMCAn
QCZ0QCcgZmFpbC1idWlsZGRpcgojW3N0ZGVycl0rIHRzdD1xdWFkcmlncmFwaDAKI1tzdGRlcnJd
KyBzaGlmdAojW3N0ZGVycl0rIGV2YWwgJ2luc3RzcGNfX3F1YWRyaWdyYXBoMD0kMScKI1tzdGRl
cnJdKysgaW5zdHNwY19fcXVhZHJpZ3JhcGgwPSdAJnRAJwojW3N0ZGVycl0rIHNoaWZ0CiNbc3Rk
ZXJyXSsgYWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRv
bGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUg
Y2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1
YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3BhY2UgdGFi
IGxpbmVmZWVkIGJhY2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFnZXJldCBxdWFkcmlncmFwaDAnCiNb
c3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyIGZhaWwtYnVpbGRkaXIKI1tzdGRlcnJd
KyBpdGVtPWZhaWwtYnVpbGRkaXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAk
KiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDAKI1tzdGRlcnJdKyBidWlsZGRpcl94ZmFpbHM9JyBz
cXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVl
ZCBxdWFkcmlncmFwaDAnCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIgZmFpbC1i
dWlsZGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgc2hpZnQKI1tz
dGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgZGVm
aW5lX3Byb2JsZW1hdGljX3N0cmluZyBxdWFkcmlncmFwaDEgJ0A8OkAnCiNbc3RkZXJyXSsgdHN0
PXF1YWRyaWdyYXBoMQojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgZXZhbCAnaW5zdHNwY19f
cXVhZHJpZ3JhcGgxPSQxJwojW3N0ZGVycl0rKyBpbnN0c3BjX19xdWFkcmlncmFwaDE9J0A8OkAn
CiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBhbGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3Rl
IGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50
IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMg
Y29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFjayBycWJyYWNrIGxj
YnJhY2sgcmNicmFjayBzcGFjZSB0YWIgbGluZWZlZWQgYmFja3NwYWNlIGZvcm1mZWVkIGNhcnJp
YWdlcmV0IHF1YWRyaWdyYXBoMCBxdWFkcmlncmFwaDEnCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBm
YWlsLWJ1aWxkZGlyCiNbc3RkZXJyXSsgaXRlbT1mYWlsLWJ1aWxkZGlyCiNbc3RkZXJyXSsgc2hp
ZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJy
XSsgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKI1tzdGRlcnJdKyBpdGVtPWZhaWwtZGVzdGRpcgoj
W3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1
cm4gMQojW3N0ZGVycl0rIGRlZmluZV9wcm9ibGVtYXRpY19zdHJpbmcgcXVhZHJpZ3JhcGgyICdA
Oj5AJwojW3N0ZGVycl0rIHRzdD1xdWFkcmlncmFwaDIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVy
cl0rIGV2YWwgJ2luc3RzcGNfX3F1YWRyaWdyYXBoMj0kMScKI1tzdGRlcnJdKysgaW5zdHNwY19f
cXVhZHJpZ3JhcGgyPSdAOj5AJwojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgYWxsX3Rlc3Rf
bmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFz
aCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1h
cmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3JlIGF0
IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3BhY2UgdGFiIGxpbmVmZWVkIGJhY2tz
cGFjZSBmb3JtZmVlZCBjYXJyaWFnZXJldCBxdWFkcmlncmFwaDAgcXVhZHJpZ3JhcGgxIHF1YWRy
aWdyYXBoMicKI1tzdGRlcnJdKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKI1tzdGRlcnJdKyBp
dGVtPWZhaWwtYnVpbGRkaXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAi
IGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBpc19pbl9saXN0IGZhaWwtZGVzdGRp
cgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJd
KyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgZGVmaW5lX3By
b2JsZW1hdGljX3N0cmluZyBxdWFkcmlncmFwaDMgJ0BTfEAnCiNbc3RkZXJyXSsgdHN0PXF1YWRy
aWdyYXBoMwojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgZXZhbCAnaW5zdHNwY19fcXVhZHJp
Z3JhcGgzPSQxJwojW3N0ZGVycl0rKyBpbnN0c3BjX19xdWFkcmlncmFwaDM9J0BTfEAnCiNbc3Rk
ZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBhbGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3RlIGRxdW90
ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50IGxlZnRw
YXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMgY29tbWEg
Y29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFjayBycWJyYWNrIGxjYnJhY2sg
cmNicmFjayBzcGFjZSB0YWIgbGluZWZlZWQgYmFja3NwYWNlIGZvcm1mZWVkIGNhcnJpYWdlcmV0
IHF1YWRyaWdyYXBoMCBxdWFkcmlncmFwaDEgcXVhZHJpZ3JhcGgyIHF1YWRyaWdyYXBoMycKI1tz
dGRlcnJdKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKI1tzdGRlcnJdKyBpdGVtPWZhaWwtYnVp
bGRkaXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGluCiNbc3RkZXJy
XSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgojW3N0ZGVycl0r
IGl0ZW09ZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCog
IiBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgZGVmaW5lX3Byb2JsZW1hdGljX3N0
cmluZyBxdWFkcmlncmFwaDQgQCU6QAojW3N0ZGVycl0rIHRzdD1xdWFkcmlncmFwaDQKI1tzdGRl
cnJdKyBzaGlmdAojW3N0ZGVycl0rIGV2YWwgJ2luc3RzcGNfX3F1YWRyaWdyYXBoND0kMScKI1tz
dGRlcnJdKysgaW5zdHNwY19fcXVhZHJpZ3JhcGg0PUAlOkAKI1tzdGRlcnJdKyBzaGlmdAojW3N0
ZGVycl0rIGFsbF90ZXN0X25hbWVzX2xpc3Q9JyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBk
b2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBl
IGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVx
dWFsIGxlc3MgbW9yZSBhdCBscWJyYWNrIHJxYnJhY2sgbGNicmFjayByY2JyYWNrIHNwYWNlIHRh
YiBsaW5lZmVlZCBiYWNrc3BhY2UgZm9ybWZlZWQgY2FycmlhZ2VyZXQgcXVhZHJpZ3JhcGgwIHF1
YWRyaWdyYXBoMSBxdWFkcmlncmFwaDIgcXVhZHJpZ3JhcGgzIHF1YWRyaWdyYXBoNCcKI1tzdGRl
cnJdKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKI1tzdGRlcnJdKyBpdGVtPWZhaWwtYnVpbGRk
aXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsg
cmV0dXJuIDEKI1tzdGRlcnJdKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgojW3N0ZGVycl0rIGl0
ZW09ZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBp
bgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmlu
ZyBhX2IgJ2EgYicKI1tzdGRlcnJdKyB0c3Q9YV9iCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJd
KyBldmFsICdpbnN0c3BjX19hX2I9JDEnCiNbc3RkZXJyXSsrIGluc3RzcGNfX2FfYj0nYSBiJwoj
W3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgYWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBk
cXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBs
ZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNv
bW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2Jy
YWNrIHJjYnJhY2sgc3BhY2UgdGFiIGxpbmVmZWVkIGJhY2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFn
ZXJldCBxdWFkcmlncmFwaDAgcXVhZHJpZ3JhcGgxIHF1YWRyaWdyYXBoMiBxdWFkcmlncmFwaDMg
cXVhZHJpZ3JhcGg0IGFfYicKI1tzdGRlcnJdKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKI1tz
dGRlcnJdKyBpdGVtPWZhaWwtYnVpbGRkaXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNh
c2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBpc19pbl9saXN0IGZh
aWwtZGVzdGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgc2hpZnQK
I1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsg
ZGVmaW5lX3Byb2JsZW1hdGljX3N0cmluZyBhX19iICdhICBiJwojW3N0ZGVycl0rIHRzdD1hX19i
CiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBldmFsICdpbnN0c3BjX19hX19iPSQxJwojW3N0
ZGVycl0rKyBpbnN0c3BjX19hX19iPSdhICBiJwojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsg
YWxsX3Rlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBi
YW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFyIHBpcGUgY2FyZXQg
dGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWljb2wgZXF1YWwgbGVz
cyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3BhY2UgdGFiIGxpbmVm
ZWVkIGJhY2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFnZXJldCBxdWFkcmlncmFwaDAgcXVhZHJpZ3Jh
cGgxIHF1YWRyaWdyYXBoMiBxdWFkcmlncmFwaDMgcXVhZHJpZ3JhcGg0IGFfYiBhX19iJwojW3N0
ZGVycl0rIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1idWls
ZGRpcgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJd
KyByZXR1cm4gMQojW3N0ZGVycl0rIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsg
aXRlbT1mYWlsLWRlc3RkaXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAi
IGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3Ry
aW5nIGFfbGZfYiAnYQojW3N0ZGVycl1iJyBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVzdGRpcgojW3N0
ZGVycl0rIHRzdD1hX2xmX2IKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGV2YWwgJ2luc3Rz
cGNfX2FfbGZfYj0kMScKI1tzdGRlcnJdKysgaW5zdHNwY19fYV9sZl9iPSdhCiNbc3RkZXJyXWIn
CiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBhbGxfdGVzdF9uYW1lc19saXN0PScgc3F1b3Rl
IGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJhbmcgYnNsYXNoIGFtcGVyc2FuZCBwZXJjZW50
IGxlZnRwYXIgcmlnaHRwYXIgcGlwZSBjYXJldCB0aWxkZSBxbWFyayBzdGFyIHBsdXMgbWludXMg
Y29tbWEgY29sb24gc2VtaWNvbCBlcXVhbCBsZXNzIG1vcmUgYXQgbHFicmFjayBycWJyYWNrIGxj
YnJhY2sgcmNicmFjayBzcGFjZSB0YWIgbGluZWZlZWQgYmFja3NwYWNlIGZvcm1mZWVkIGNhcnJp
YWdlcmV0IHF1YWRyaWdyYXBoMCBxdWFkcmlncmFwaDEgcXVhZHJpZ3JhcGgyIHF1YWRyaWdyYXBo
MyBxdWFkcmlncmFwaDQgYV9iIGFfX2IgYV9sZl9iJwojW3N0ZGVycl0rIGlzX2luX2xpc3QgZmFp
bC1idWlsZGRpciBmYWlsLWJ1aWxkZGlyIGZhaWwtZGVzdGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFp
bC1idWlsZGRpcgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tz
dGRlcnJdKyByZXR1cm4gMAojW3N0ZGVycl0rIGJ1aWxkZGlyX3hmYWlscz0nIHNxdW90ZSBkcXVv
dGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdy
YXBoMCBhX2xmX2InCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIgZmFpbC1idWls
ZGRpciBmYWlsLWRlc3RkaXIKI1tzdGRlcnJdKyBpdGVtPWZhaWwtZGVzdGRpcgojW3N0ZGVycl0r
IHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMAojW3N0
ZGVycl0rIGRlc3RkaXJfeGZhaWxzPScgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFy
IGxpbmVmZWVkIGFfbGZfYicKI1tzdGRlcnJdKyBkZWZpbmVfcHJvYmxlbWF0aWNfc3RyaW5nIGRv
dGRvdGRvdCAuLi4KI1tzdGRlcnJdKyB0c3Q9ZG90ZG90ZG90CiNbc3RkZXJyXSsgc2hpZnQKI1tz
dGRlcnJdKyBldmFsICdpbnN0c3BjX19kb3Rkb3Rkb3Q9JDEnCiNbc3RkZXJyXSsrIGluc3RzcGNf
X2RvdGRvdGRvdD0uLi4KI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGFsbF90ZXN0X25hbWVz
X2xpc3Q9JyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1w
ZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0
YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJy
YWNrIHJxYnJhY2sgbGNicmFjayByY2JyYWNrIHNwYWNlIHRhYiBsaW5lZmVlZCBiYWNrc3BhY2Ug
Zm9ybWZlZWQgY2FycmlhZ2VyZXQgcXVhZHJpZ3JhcGgwIHF1YWRyaWdyYXBoMSBxdWFkcmlncmFw
aDIgcXVhZHJpZ3JhcGgzIHF1YWRyaWdyYXBoNCBhX2IgYV9fYiBhX2xmX2IgZG90ZG90ZG90Jwoj
W3N0ZGVycl0rIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgojW3N0ZGVycl0rIGl0ZW09ZmFpbC1i
dWlsZGRpcgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRl
cnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIGlzX2luX2xpc3QgZmFpbC1kZXN0ZGlyCiNbc3RkZXJy
XSsgaXRlbT1mYWlsLWRlc3RkaXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAk
KiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBkZWZpbmVfcHJvYmxlbWF0aWNf
c3RyaW5nIGRvc2RyaXZlIGE6CiNbc3RkZXJyXSsgdHN0PWRvc2RyaXZlCiNbc3RkZXJyXSsgc2hp
ZnQKI1tzdGRlcnJdKyBldmFsICdpbnN0c3BjX19kb3Nkcml2ZT0kMScKI1tzdGRlcnJdKysgaW5z
dHNwY19fZG9zZHJpdmU9YToKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGFsbF90ZXN0X25h
bWVzX2xpc3Q9JyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2gg
YW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJr
IHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBs
cWJyYWNrIHJxYnJhY2sgbGNicmFjayByY2JyYWNrIHNwYWNlIHRhYiBsaW5lZmVlZCBiYWNrc3Bh
Y2UgZm9ybWZlZWQgY2FycmlhZ2VyZXQgcXVhZHJpZ3JhcGgwIHF1YWRyaWdyYXBoMSBxdWFkcmln
cmFwaDIgcXVhZHJpZ3JhcGgzIHF1YWRyaWdyYXBoNCBhX2IgYV9fYiBhX2xmX2IgZG90ZG90ZG90
IGRvc2RyaXZlJwojW3N0ZGVycl0rIGlzX2luX2xpc3QgZmFpbC1idWlsZGRpcgojW3N0ZGVycl0r
IGl0ZW09ZmFpbC1idWlsZGRpcgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQq
ICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIGlzX2luX2xpc3QgZmFpbC1kZXN0
ZGlyCiNbc3RkZXJyXSsgaXRlbT1mYWlsLWRlc3RkaXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVy
cl0rIGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBkZWZpbmVf
cHJvYmxlbWF0aWNfc3RyaW5nIG1pc2NnbG9iMSAnP1thLXpdKicKI1tzdGRlcnJdKyB0c3Q9bWlz
Y2dsb2IxCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBldmFsICdpbnN0c3BjX19taXNjZ2xv
YjE9JDEnCiNbc3RkZXJyXSsrIGluc3RzcGNfX21pc2NnbG9iMT0nP1thLXpdKicKI1tzdGRlcnJd
KyBzaGlmdAojW3N0ZGVycl0rIGFsbF90ZXN0X25hbWVzX2xpc3Q9JyBzcXVvdGUgZHF1b3RlIGJx
dW90ZSBzaGFycCBkb2xsYXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciBy
aWdodHBhciBwaXBlIGNhcmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xv
biBzZW1pY29sIGVxdWFsIGxlc3MgbW9yZSBhdCBscWJyYWNrIHJxYnJhY2sgbGNicmFjayByY2Jy
YWNrIHNwYWNlIHRhYiBsaW5lZmVlZCBiYWNrc3BhY2UgZm9ybWZlZWQgY2FycmlhZ2VyZXQgcXVh
ZHJpZ3JhcGgwIHF1YWRyaWdyYXBoMSBxdWFkcmlncmFwaDIgcXVhZHJpZ3JhcGgzIHF1YWRyaWdy
YXBoNCBhX2IgYV9fYiBhX2xmX2IgZG90ZG90ZG90IGRvc2RyaXZlIG1pc2NnbG9iMScKI1tzdGRl
cnJdKyBpc19pbl9saXN0IGZhaWwtYnVpbGRkaXIKI1tzdGRlcnJdKyBpdGVtPWZhaWwtYnVpbGRk
aXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsg
cmV0dXJuIDEKI1tzdGRlcnJdKyBpc19pbl9saXN0IGZhaWwtZGVzdGRpcgojW3N0ZGVycl0rIGl0
ZW09ZmFpbC1kZXN0ZGlyCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBp
bgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgZGVmaW5lX3Byb2JsZW1hdGljX3N0cmlu
ZyBtaXNjZ2xvYjIgJy4qP1swLTldJwojW3N0ZGVycl0rIHRzdD1taXNjZ2xvYjIKI1tzdGRlcnJd
KyBzaGlmdAojW3N0ZGVycl0rIGV2YWwgJ2luc3RzcGNfX21pc2NnbG9iMj0kMScKI1tzdGRlcnJd
KysgaW5zdHNwY19fbWlzY2dsb2IyPScuKj9bMC05XScKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVy
cl0rIGFsbF90ZXN0X25hbWVzX2xpc3Q9JyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xs
YXIgYmFuZyBic2xhc2ggYW1wZXJzYW5kIHBlcmNlbnQgbGVmdHBhciByaWdodHBhciBwaXBlIGNh
cmV0IHRpbGRlIHFtYXJrIHN0YXIgcGx1cyBtaW51cyBjb21tYSBjb2xvbiBzZW1pY29sIGVxdWFs
IGxlc3MgbW9yZSBhdCBscWJyYWNrIHJxYnJhY2sgbGNicmFjayByY2JyYWNrIHNwYWNlIHRhYiBs
aW5lZmVlZCBiYWNrc3BhY2UgZm9ybWZlZWQgY2FycmlhZ2VyZXQgcXVhZHJpZ3JhcGgwIHF1YWRy
aWdyYXBoMSBxdWFkcmlncmFwaDIgcXVhZHJpZ3JhcGgzIHF1YWRyaWdyYXBoNCBhX2IgYV9fYiBh
X2xmX2IgZG90ZG90ZG90IGRvc2RyaXZlIG1pc2NnbG9iMSBtaXNjZ2xvYjInCiNbc3RkZXJyXSsg
aXNfaW5fbGlzdCBmYWlsLWJ1aWxkZGlyCiNbc3RkZXJyXSsgaXRlbT1mYWlsLWJ1aWxkZGlyCiNb
c3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVy
biAxCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBmYWlsLWRlc3RkaXIKI1tzdGRlcnJdKyBpdGVtPWZh
aWwtZGVzdGRpcgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tz
dGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIHVuc2V0IGRlZgojW3N0ZGVycl0rIHRlc3QgMCAt
Z3QgMAojW3N0ZGVycl0rIHRlc3RfbmFtZXNfbGlzdD0nIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNo
YXJwIGRvbGxhciBiYW5nIGJzbGFzaCBhbXBlcnNhbmQgcGVyY2VudCBsZWZ0cGFyIHJpZ2h0cGFy
IHBpcGUgY2FyZXQgdGlsZGUgcW1hcmsgc3RhciBwbHVzIG1pbnVzIGNvbW1hIGNvbG9uIHNlbWlj
b2wgZXF1YWwgbGVzcyBtb3JlIGF0IGxxYnJhY2sgcnFicmFjayBsY2JyYWNrIHJjYnJhY2sgc3Bh
Y2UgdGFiIGxpbmVmZWVkIGJhY2tzcGFjZSBmb3JtZmVlZCBjYXJyaWFnZXJldCBxdWFkcmlncmFw
aDAgcXVhZHJpZ3JhcGgxIHF1YWRyaWdyYXBoMiBxdWFkcmlncmFwaDMgcXVhZHJpZ3JhcGg0IGFf
YiBhX19iIGFfbGZfYiBkb3Rkb3Rkb3QgZG9zZHJpdmUgbWlzY2dsb2IxIG1pc2NnbG9iMicKI1tz
dGRlcnJdKyBwbGFuXyA5NAojW3N0ZGVycl0rIHRlc3QgMSAtZXEgMAojW3N0ZGVycl0rIHRlc3Qg
MSAtZ2UgMgojW3N0ZGVycl0rIHRlc3QgeG5vbmUgJyE9JyB4bm9uZQojW3N0ZGVycl0rIHRlc3Qg
eDk0ID0geHVua25vd24KI1tzdGRlcnJdKyB0ZXN0IHg5NCA9IHhsYXRlcgojW3N0ZGVycl0rIHRl
c3QgeDk0ID0geGxhenkKI1tzdGRlcnJdKyB0ZXN0IHg5NCA9IHhub3cKI1tzdGRlcnJdKyB0ZXN0
IDk0IC1nZSAwCiNbc3RkZXJyXSsgcGxhbm5lZF89OTQKI1tzdGRlcnJdKyBlY2hvIDEuLjk0CiNb
c3RkZXJyXSsrIHB3ZAojW3N0ZGVycl0rIG9jd2Q9L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpcgojW3N0ZGVycl0rIGNyZWF0ZV9pbnB1dF9kYXRhCiNbc3RkZXJyXSsgbWtkaXIg
c3ViCiNbc3RkZXJyXSsgdW5pbmRlbnQKI1tzdGRlcnJdKyB0ZXN0IHggPSB4CiNbc3RkZXJyXSsr
IHByaW50ZiAnJXNcbicgJwojW3N0ZGVycl0gIC9eJC9iICAgICAgICAgICAgICAgICAgICAjIE5v
dGhpbmcgdG8gZG8gZm9yIGVtcHR5IGxpbmVzLgojW3N0ZGVycl0gIHggICAgICAgICAgICAgICAg
ICAgICAgICAjIEdldCB4PGluZGVudD4gaW50byBwYXR0ZXJuIHNwYWNlLgojW3N0ZGVycl0gIC9e
JC97ICAgICAgICAgICAgICAgICAgICAjIE5vIHByaW9yIHg8aW5kZW50PiwgZ28gcHJlcGFyZSBp
dC4KI1tzdGRlcnJdICAgIGcgICAgICAgICAgICAgICAgICAgICAgIyBDb3B5IHRoaXMgMXN0IG5v
bi1ibGFuayBsaW5lIGludG8gcGF0dGVybiBzcGFjZS4KI1tzdGRlcnJdICAgIHMvXlwoWwkgXSpc
KS4qL3hcMS8gICAjIFByZXBhcmUgeDxpbmRlbnQ+IGluIHBhdHRlcm4gc3BhY2UuCiNbc3RkZXJy
XSAgfSAgICAgICAgICAgICAgICAgICAgICAgICMgTm93OiB4PGluZGVudD4gaW4gcGF0dGVybiBh
bmQgPGxpbmU+IGluIGhvbGQuCiNbc3RkZXJyXSAgRyAgICAgICAgICAgICAgICAgICAgICAgICMg
QnVpbGQgeDxpbmRlbnQ+XG48bGluZT4gaW4gcGF0dGVybiBzcGFjZSwgYW5kCiNbc3RkZXJyXSAg
aCAgICAgICAgICAgICAgICAgICAgICAgICMgZHVwbGljYXRlIGl0IGludG8gaG9sZCBzcGFjZS4K
I1tzdGRlcnJdICBzL1xuLiokLy8gICAgICAgICAgICAgICAgIyBSZXN0b3JlIHg8aW5kZW50PiBp
biBwYXR0ZXJuIHNwYWNlLCBhbmQKI1tzdGRlcnJdICB4ICAgICAgICAgICAgICAgICAgICAgICAg
IyBleGNoYW5nZSB3aXRoIHRoZSBhYm92ZSBkdXBsaWNhdGUgaW4gaG9sZCBzcGFjZS4KI1tzdGRl
cnJdICBzL154XCguKlwpXG5cMS8vICAgICAgICAgIyBSZW1vdmUgbGVhZGluZyA8aW5kZW50PiBm
cm9tIDxsaW5lPi4KI1tzdGRlcnJdICBzL154Lipcbi8vICAgICAgICAgICAgICAgIyBSZXN0b3Jl
IDxsaW5lPiB3aGVuIHRoZXJlIGlzIG5vIGxlYWRpbmcgPGluZGVudD4uCiNbc3RkZXJyXScKI1tz
dGRlcnJdKysgc2VkIC1lICdzLyAgKiMgLiovLycKI1tzdGRlcnJdKyBzZWRfdW5pbmRlbnRfcHJv
Zz0nCiNbc3RkZXJyXSAgL14kL2IKI1tzdGRlcnJdICB4CiNbc3RkZXJyXSAgL14kL3sKI1tzdGRl
cnJdICAgIGcKI1tzdGRlcnJdICAgIHMvXlwoWwkgXSpcKS4qL3hcMS8KI1tzdGRlcnJdICB9CiNb
c3RkZXJyXSAgRwojW3N0ZGVycl0gIGgKI1tzdGRlcnJdICBzL1xuLiokLy8KI1tzdGRlcnJdICB4
CiNbc3RkZXJyXSAgcy9eeFwoLipcKVxuXDEvLwojW3N0ZGVycl0gIHMvXnguKlxuLy8nCiNbc3Rk
ZXJyXSsgc2VkICcKI1tzdGRlcnJdICAvXiQvYgojW3N0ZGVycl0gIHgKI1tzdGRlcnJdICAvXiQv
ewojW3N0ZGVycl0gICAgZwojW3N0ZGVycl0gICAgcy9eXChbCSBdKlwpLioveFwxLwojW3N0ZGVy
cl0gIH0KI1tzdGRlcnJdICBHCiNbc3RkZXJyXSAgaAojW3N0ZGVycl0gIHMvXG4uKiQvLwojW3N0
ZGVycl0gIHgKI1tzdGRlcnJdICBzL154XCguKlwpXG5cMS8vCiNbc3RkZXJyXSAgcy9eeC4qXG4v
LycKI1tzdGRlcnJdKyA6CiNbc3RkZXJyXSsgOgojW3N0ZGVycl0rIDoKI1tzdGRlcnJdKyA6CiNb
c3RkZXJyXSsgOgojW3N0ZGVycl0rIDoKI1tzdGRlcnJdKyB1bmluZGVudAojW3N0ZGVycl0rIHRl
c3QgJ3gKI1tzdGRlcnJdICAvXiQvYgojW3N0ZGVycl0gIHgKI1tzdGRlcnJdICAvXiQvewojW3N0
ZGVycl0gICAgZwojW3N0ZGVycl0gICAgcy9eXChbCSBdKlwpLioveFwxLwojW3N0ZGVycl0gIH0K
I1tzdGRlcnJdICBHCiNbc3RkZXJyXSAgaAojW3N0ZGVycl0gIHMvXG4uKiQvLwojW3N0ZGVycl0g
IHgKI1tzdGRlcnJdICBzL154XCguKlwpXG5cMS8vCiNbc3RkZXJyXSAgcy9eeC4qXG4vLycgPSB4
CiNbc3RkZXJyXSsgc2VkICcKI1tzdGRlcnJdICAvXiQvYgojW3N0ZGVycl0gIHgKI1tzdGRlcnJd
ICAvXiQvewojW3N0ZGVycl0gICAgZwojW3N0ZGVycl0gICAgcy9eXChbCSBdKlwpLioveFwxLwoj
W3N0ZGVycl0gIH0KI1tzdGRlcnJdICBHCiNbc3RkZXJyXSAgaAojW3N0ZGVycl0gIHMvXG4uKiQv
LwojW3N0ZGVycl0gIHgKI1tzdGRlcnJdICBzL154XCguKlwpXG5cMS8vCiNbc3RkZXJyXSAgcy9e
eC4qXG4vLycKI1tzdGRlcnJdKyB1bmluZGVudAojW3N0ZGVycl0rIHRlc3QgJ3gKI1tzdGRlcnJd
ICAvXiQvYgojW3N0ZGVycl0gIHgKI1tzdGRlcnJdICAvXiQvewojW3N0ZGVycl0gICAgZwojW3N0
ZGVycl0gICAgcy9eXChbCSBdKlwpLioveFwxLwojW3N0ZGVycl0gIH0KI1tzdGRlcnJdICBHCiNb
c3RkZXJyXSAgaAojW3N0ZGVycl0gIHMvXG4uKiQvLwojW3N0ZGVycl0gIHgKI1tzdGRlcnJdICBz
L154XCguKlwpXG5cMS8vCiNbc3RkZXJyXSAgcy9eeC4qXG4vLycgPSB4CiNbc3RkZXJyXSsgc2Vk
ICcKI1tzdGRlcnJdICAvXiQvYgojW3N0ZGVycl0gIHgKI1tzdGRlcnJdICAvXiQvewojW3N0ZGVy
cl0gICAgZwojW3N0ZGVycl0gICAgcy9eXChbCSBdKlwpLioveFwxLwojW3N0ZGVycl0gIH0KI1tz
dGRlcnJdICBHCiNbc3RkZXJyXSAgaAojW3N0ZGVycl0gIHMvXG4uKiQvLwojW3N0ZGVycl0gIHgK
I1tzdGRlcnJdICBzL154XCguKlwpXG5cMS8vCiNbc3RkZXJyXSAgcy9eeC4qXG4vLycKI1tzdGRl
cnJdKyBhY2xvY2FsLTEuMTggLVdlcnJvcgojW3N0ZGVycl0rIGF1dG9jb25mCiNbc3RkZXJyXSsg
YXV0b21ha2UtMS4xOCAtLWZvcmVpZ24gLVdlcnJvciAtV2FsbCAtYQojW3N0ZGVycl1jb25maWd1
cmUuYWM6NTogaW5zdGFsbGluZyAnLi9hci1saWInCiNbc3RkZXJyXSsgZm9yIHRlc3RfbmFtZSBp
biAnJHRlc3RfbmFtZXNfbGlzdCcKI1tzdGRlcnJdKyBldmFsICd0ZXN0X3N0cmluZz0ke2luc3Rz
cGNfX3NxdW90ZX0nCiNbc3RkZXJyXSsrIHRlc3Rfc3RyaW5nPScnXCcnJwojW3N0ZGVycl0rIHRl
c3QgJ3gnXCcnJyA9IHgKI1tzdGRlcnJdKyBta2RpciAnLi8nXCcnJwojW3N0ZGVycl0rIGNhc2Ug
JHRlc3Rfc3RyaW5nIGluCiNbc3RkZXJyXSsgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKI1tzdGRl
cnJdKyBjYXNlICR3aGVyZSBpbgojW3N0ZGVycl0rIGJ1aWxkPScuLydcJycnCiNbc3RkZXJyXSsg
ZGVzdD0vdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlCiNb
c3RkZXJyXSsgY2QgJy4vJ1wnJycKI1tzdGRlcnJdKyByPW9rCiNbc3RkZXJyXSsgLi4vY29uZmln
dXJlIC0tcHJlZml4ICcvJ1wnJy1wcmVmaXgnCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxl
IGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIHNsZWVwIHN1
cHBvcnRzIGZyYWN0aW9uYWwgc2Vjb25kcy4uLiB5ZXMKY2hlY2tpbmcgZmlsZXN5c3RlbSB0aW1l
c3RhbXAgcmVzb2x1dGlvbi4uLiAwLjAxCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1l
bnQgaXMgc2FuZS4uLiBubwojW3N0ZGVycl1jb25maWd1cmU6IGVycm9yOiB1bnNhZmUgYWJzb2x1
dGUgd29ya2luZyBkaXJlY3RvcnkgbmFtZQojW3N0ZGVycl0rIHI9J25vdCBvaycKI1tzdGRlcnJd
KyBkZXNjcmlwdGlvbj0nc3F1b3RlIGluIGJ1aWxkZGlyJwojW3N0ZGVycl0rIGV4cGVjdGVkX3Rv
X2ZhaWwgYnVpbGQgc3F1b3RlCiNbc3RkZXJyXSsgY2FzZSAkMSBpbgojW3N0ZGVycl0rIGlzX2lu
X2xpc3Qgc3F1b3RlIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1w
ZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKI1tzdGRlcnJdKyBpdGVtPXNxdW90
ZQojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyBy
ZXR1cm4gMAojW3N0ZGVycl0rIGRpcmVjdGl2ZT1UT0RPCm5vdCBvayAxIC0gc3F1b3RlIGluIGJ1
aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KWEZBSUw6IHQvaW5zdHNwYy50
YXAgMSAtIHNxdW90ZSBpbiBidWlsZGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9u
CiNbc3RkZXJyXSsgcmVhc29uPSdsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24nCiNbc3RkZXJyXSsg
cmVzdWx0XyAnbm90IG9rJyAtRCBUT0RPIC1yICdsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24nIC0t
ICdzcXVvdGUgaW4gYnVpbGRkaXInCiNbc3RkZXJyXSsgc2V0ICt4CiNbc3RkZXJyXSsgY2QgL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpcgojW3N0ZGVycl0rIG5vdCBhbV9rZWVw
aW5nX3Rlc3RkaXJzCiNbc3RkZXJyXSsgYW1fa2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGNh
c2UgJGtlZXBfdGVzdGRpcnMgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIHRlc3Qg
J25vdCBvaycgPSBvawojW3N0ZGVycl0rIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCAnc2V0IC1l
LicKI1tzdGRlcnJdKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAojW3N0ZGVycl0rIGNhc2UgJHdo
ZXJlIGluCiNbc3RkZXJyXSsgYnVpbGQ9YnVpbGQtc3F1b3RlCiNbc3RkZXJyXSsgZGVzdD0nL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNxdW90ZS8nXCcnJwojW3N0
ZGVycl0rIG1rZGlyIGJ1aWxkLXNxdW90ZQojW3N0ZGVycl0rIGNkIGJ1aWxkLXNxdW90ZQojW3N0
ZGVycl0rIHI9b2sKI1tzdGRlcnJdKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy8nXCcnLXByZWZp
eCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0
YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgc2xlZXAgc3VwcG9ydHMgZnJhY3Rpb25hbCBzZWNvbmRz
Li4uIHllcwpjaGVja2luZyBmaWxlc3lzdGVtIHRpbWVzdGFtcCByZXNvbHV0aW9uLi4uIDAuMDEK
Y2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2lu
ZyBmb3IgYSByYWNlLWZyZWUgbWtkaXIgLXAuLi4gbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2su
Li4gbm8KY2hlY2tpbmcgZm9yIG1hd2suLi4gbm8KY2hlY2tpbmcgZm9yIG5hd2suLi4gbm8KY2hl
Y2tpbmcgZm9yIGF3ay4uLiBhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4u
LiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4g
eWVzCmNoZWNraW5nIHhhcmdzIC1uIHdvcmtzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIFVJRCAn
NTAxJyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVja2luZyB3aGV0aGVy
IEdJRCAnMjAnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVzCmNoZWNraW5nIGhv
dyB0byBjcmVhdGUgYSB1c3RhciB0YXIgYXJjaGl2ZS4uLiBwbGFpbnRhcgpjaGVja2luZyBmb3Ig
Z2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpj
aGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQK
Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3
ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0
IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB0aGUgY29tcGlsZXIgc3VwcG9ydHMgR05VIEMu
Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZv
ciBnY2Mgb3B0aW9uIHRvIGVuYWJsZSBDMjMgZmVhdHVyZXMuLi4gLXN0ZD1nbnUyMwpjaGVja2lu
ZyB3aGV0aGVyIGdjYyAtc3RkPWdudTIzIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4u
LiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2
ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MgLXN0
ZD1nbnUyMy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2
ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hl
Y2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRv
bmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3Jl
YXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRz
CiNbc3RkZXJyXSsgbWFrZSBhbGwKZ2NjIC1zdGQ9Z251MjMgLURQQUNLQUdFX05BTUU9XCJpbnN0
c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIx
LjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9S
VD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9O
PVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRl
cHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3Vy
Y2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL2Jh
c2Ugc291cmNlLm8gIApnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3Vy
Y2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3Igc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAK
cmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNyIHN1Yi9saWJu
b2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQojW3N0ZGVycl0rIERFU1RE
SVI9Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJ1wn
JycKI1tzdGRlcnJdKyBmaWxlPScuLydcJycnCiNbc3RkZXJyXSsgbWFrZSB0ZXN0LWluc3QKbWFr
ZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2J1aWxkLXNxdW90ZScKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFs
bCAtYyAuLi9zdWIvYmFzZS5zaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LXNxdW90ZS8nLyctcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vJwogL3Vzci9i
aW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28nCiAoIGNkICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgv
Zm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vJwogIC91c3IvYmlu
L2luc3RhbGwgLWMgc3ViL2Jhc2UgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNxdW90ZS8nLyctcHJlZml4L2ZvbycKIG1rZGly
IC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycv
Jy1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2gg
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXBy
ZWZpeC9mb28vc3ViLycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28vc3Vi
JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNxdW90ZS8nLyctcHJlZml4L2Zvby9z
dWInCiAoIGNkICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1
b3RlLycvJy1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIG1rZGlyIC1w
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1w
cmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1j
IHN1Yi9ub2Jhc2UgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1z
cXVvdGUvJy8nLXByZWZpeC9mb28vc3ViLycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vJwogL3Vzci9iaW4v
aW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZp
eC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9v
JwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1z
cXVvdGUvJy8nLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXNxdW90ZS8nLyctcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9p
bnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8nLXByZWZpeC9mb28vc3ViJwogbWtkaXIg
LXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zcXVvdGUvJy8n
LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LXNxdW90ZS8nLyctcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1j
IC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3Qtc3F1b3RlLycvJy1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBk
aXJlY3RvcnkgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvYnVpbGQtc3F1
b3RlJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1zcXVvdGUvJy8uLyctcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCiNbc3RkZXJyXW1ha2U6ICoq
KiBbTWFrZWZpbGU6MTE2MDogdGVzdC1pbnN0XSBFcnJvciAxCiNbc3RkZXJyXSsgcj0nbm90IG9r
JwojW3N0ZGVycl0rIGRlc2NyaXB0aW9uPSdzcXVvdGUgaW4gZGVzdGRpcicKI1tzdGRlcnJdKyBl
eHBlY3RlZF90b19mYWlsIGRlc3Qgc3F1b3RlCiNbc3RkZXJyXSsgY2FzZSAkMSBpbgojW3N0ZGVy
cl0rIGlzX2luX2xpc3Qgc3F1b3RlIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBs
aW5lZmVlZCBhX2xmX2IKI1tzdGRlcnJdKyBpdGVtPXNxdW90ZQojW3N0ZGVycl0rIHNoaWZ0CiNb
c3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMApub3Qgb2sgMiAtIHNx
dW90ZSBpbiBkZXN0ZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KWEZBSUw6IHQv
aW5zdHNwYy50YXAgMiAtIHNxdW90ZSBpbiBkZXN0ZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxp
bWl0YXRpb24KI1tzdGRlcnJdKyBkaXJlY3RpdmU9VE9ETwojW3N0ZGVycl0rIHJlYXNvbj0nbG9u
Zy1zdGFuZGluZyBsaW1pdGF0aW9uJwojW3N0ZGVycl0rIHJlc3VsdF8gJ25vdCBvaycgLUQgVE9E
TyAtciAnbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uJyAtLSAnc3F1b3RlIGluIGRlc3RkaXInCiNb
c3RkZXJyXSsgc2V0ICt4CiNbc3RkZXJyXSsgY2QgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpcgojW3N0ZGVycl0rIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCiNbc3RkZXJyXSsg
YW1fa2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KI1tz
dGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIHRlc3QgJ25vdCBvaycgPSBvawojW3N0ZGVycl0r
IDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCAnc2V0IC1lLicKI1tzdGRlcnJdKyBmb3IgdGVzdF9u
YW1lIGluICckdGVzdF9uYW1lc19saXN0JwojW3N0ZGVycl0rIGV2YWwgJ3Rlc3Rfc3RyaW5nPSR7
aW5zdHNwY19fZHF1b3RlfScKI1tzdGRlcnJdKysgdGVzdF9zdHJpbmc9JyInCiNbc3RkZXJyXSsg
dGVzdCAneCInID0geAojW3N0ZGVycl0rIG1rZGlyICcuLyInCiNbc3RkZXJyXSsgY2FzZSAkdGVz
dF9zdHJpbmcgaW4KI1tzdGRlcnJdKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAojW3N0ZGVycl0r
IGNhc2UgJHdoZXJlIGluCiNbc3RkZXJyXSsgYnVpbGQ9Jy4vIicKI1tzdGRlcnJdKyBkZXN0PS91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1kcXVvdGUKI1tzdGRlcnJd
KyBjZCAnLi8iJwojW3N0ZGVycl0rIHI9b2sKI1tzdGRlcnJdKyAuLi9jb25maWd1cmUgLS1wcmVm
aXggJy8iLXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAv
dXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgc2xlZXAgc3VwcG9ydHMgZnJhY3Rp
b25hbCBzZWNvbmRzLi4uIHllcwpjaGVja2luZyBmaWxlc3lzdGVtIHRpbWVzdGFtcCByZXNvbHV0
aW9uLi4uIDAuMDEKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4u
IG5vCiNbc3RkZXJyXWNvbmZpZ3VyZTogZXJyb3I6IHVuc2FmZSBhYnNvbHV0ZSB3b3JraW5nIGRp
cmVjdG9yeSBuYW1lCiNbc3RkZXJyXSsgcj0nbm90IG9rJwojW3N0ZGVycl0rIGRlc2NyaXB0aW9u
PSdkcXVvdGUgaW4gYnVpbGRkaXInCiNbc3RkZXJyXSsgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBk
cXVvdGUKI1tzdGRlcnJdKyBjYXNlICQxIGluCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBkcXVvdGUg
c3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZl
ZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgojW3N0ZGVycl0rIGl0ZW09ZHF1b3RlCiNbc3RkZXJyXSsg
c2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAwCm5vdCBv
ayAzIC0gZHF1b3RlIGluIGJ1aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24K
WEZBSUw6IHQvaW5zdHNwYy50YXAgMyAtIGRxdW90ZSBpbiBidWlsZGRpciAjIFRPRE8gbG9uZy1z
dGFuZGluZyBsaW1pdGF0aW9uCiNbc3RkZXJyXSsgZGlyZWN0aXZlPVRPRE8KI1tzdGRlcnJdKyBy
ZWFzb249J2xvbmctc3RhbmRpbmcgbGltaXRhdGlvbicKI1tzdGRlcnJdKyByZXN1bHRfICdub3Qg
b2snIC1EIFRPRE8gLXIgJ2xvbmctc3RhbmRpbmcgbGltaXRhdGlvbicgLS0gJ2RxdW90ZSBpbiBi
dWlsZGRpcicKI1tzdGRlcnJdKyBzZXQgK3gKI1tzdGRlcnJdKyBjZCAvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyCiNbc3RkZXJyXSsgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMK
I1tzdGRlcnJdKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCiNbc3RkZXJyXSsgY2FzZSAka2VlcF90ZXN0
ZGlycyBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgdGVzdCAnbm90IG9rJyA9IG9r
CiNbc3RkZXJyXSsgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkICdzZXQgLWUuJwojW3N0ZGVycl0r
IGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CiNbc3RkZXJyXSsgY2FzZSAkd2hlcmUgaW4KI1tzdGRl
cnJdKyBidWlsZD1idWlsZC1kcXVvdGUKI1tzdGRlcnJdKyBkZXN0PScvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZHF1b3RlLyInCiNbc3RkZXJyXSsgbWtkaXIgYnVp
bGQtZHF1b3RlCiNbc3RkZXJyXSsgY2QgYnVpbGQtZHF1b3RlCiNbc3RkZXJyXSsgcj1vawojW3N0
ZGVycl0rIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAnLyItcHJlZml4JwpjaGVja2luZyBmb3IgYSBC
U0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hl
dGhlciBzbGVlcCBzdXBwb3J0cyBmcmFjdGlvbmFsIHNlY29uZHMuLi4geWVzCmNoZWNraW5nIGZp
bGVzeXN0ZW0gdGltZXN0YW1wIHJlc29sdXRpb24uLi4gMC4wMQpjaGVja2luZyB3aGV0aGVyIGJ1
aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHJhY2UtZnJlZSBt
a2RpciAtcC4uLiBta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBubwpjaGVja2luZyBmb3Ig
bWF3ay4uLiBubwpjaGVja2luZyBmb3IgbmF3ay4uLiBubwpjaGVja2luZyBmb3IgYXdrLi4uIGF3
awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0
aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgeGFyZ3Mg
LW4gd29ya3MuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgVUlEICc1MDEnIGlzIHN1cHBvcnRlZCBi
eSB1c3RhciBmb3JtYXQuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgR0lEICcyMCcgaXMgc3VwcG9y
dGVkIGJ5IHVzdGFyIGZvcm1hdC4uLiB5ZXMKY2hlY2tpbmcgaG93IHRvIGNyZWF0ZSBhIHVzdGFy
IHRhciBhcmNoaXZlLi4uIHBsYWludGFyCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5n
IHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBp
bGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4
IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxp
bmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2lu
ZyB3aGV0aGVyIHRoZSBjb21waWxlciBzdXBwb3J0cyBHTlUgQy4uLiB5ZXMKY2hlY2tpbmcgd2hl
dGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gZW5h
YmxlIEMyMyBmZWF0dXJlcy4uLiAtc3RkPWdudTIzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIC1zdGQ9
Z251MjMgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0
aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxl
KQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYyAtc3RkPWdudTIzLi4uIGdjYzMKY2hl
Y2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4u
LiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRl
ZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0
aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25m
aWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKI1tzdGRlcnJdKyBtYWtlIGFs
bApnY2MgLXN0ZD1nbnUyMyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFS
TkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJ
Tkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VS
TD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAg
ICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1v
IHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNl
LlBvCmdjYyAtc3RkPWdudTIzICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAt
c3RkPWdudTIzICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xp
YmJhc2UuYQphciBjciBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2Uu
YQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3Igc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApy
YW5saWIgc3ViL2xpYm5vYmFzZS5hCiNbc3RkZXJyXSsgREVTVERJUj0nL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWRxdW90ZS8iJwojW3N0ZGVycl0rIGZpbGU9Jy4v
IicKI1tzdGRlcnJdKyBtYWtlIHRlc3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3Rvcnkg
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvYnVpbGQtZHF1b3RlJwojW3N0
ZGVycl0vYmluL3NoOiAtYzogbGluZSAyMzogdW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBm
b3IgbWF0Y2hpbmcgYCInCiNbc3RkZXJyXS9iaW4vc2g6IC1jOiBsaW5lIDI2OiBzeW50YXggZXJy
b3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUKI1tzdGRlcnJdbWFrZVsxXTogKioqIFtNYWtlZmls
ZTo1NzI6IGluc3RhbGwtZGlzdF9mb29leGVjU0NSSVBUU10gRXJyb3IgMgptYWtlWzFdOiBMZWF2
aW5nIGRpcmVjdG9yeSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9idWls
ZC1kcXVvdGUnCiNbc3RkZXJyXW1ha2U6ICoqKiBbTWFrZWZpbGU6MTAxNzogaW5zdGFsbC1hbV0g
RXJyb3IgMgojW3N0ZGVycl0rIHI9J25vdCBvaycKI1tzdGRlcnJdKyBkZXNjcmlwdGlvbj0nZHF1
b3RlIGluIGRlc3RkaXInCiNbc3RkZXJyXSsgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IGRxdW90ZQoj
W3N0ZGVycl0rIGNhc2UgJDEgaW4KI1tzdGRlcnJdKyBpc19pbl9saXN0IGRxdW90ZSBzcXVvdGUg
ZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCiNbc3RkZXJyXSsgaXRl
bT1kcXVvdGUKbm90IG9rIDQgLSBkcXVvdGUgaW4gZGVzdGRpciAjIFRPRE8gbG9uZy1zdGFuZGlu
ZyBsaW1pdGF0aW9uClhGQUlMOiB0L2luc3RzcGMudGFwIDQgLSBkcXVvdGUgaW4gZGVzdGRpciAj
IFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJd
KyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAwCiNbc3RkZXJyXSsgZGlyZWN0aXZl
PVRPRE8KI1tzdGRlcnJdKyByZWFzb249J2xvbmctc3RhbmRpbmcgbGltaXRhdGlvbicKI1tzdGRl
cnJdKyByZXN1bHRfICdub3Qgb2snIC1EIFRPRE8gLXIgJ2xvbmctc3RhbmRpbmcgbGltaXRhdGlv
bicgLS0gJ2RxdW90ZSBpbiBkZXN0ZGlyJwojW3N0ZGVycl0rIHNldCAreAojW3N0ZGVycl0rIGNk
IC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIKI1tzdGRlcnJdKyBub3QgYW1f
a2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJd
KyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyB0
ZXN0ICdub3Qgb2snID0gb2sKI1tzdGRlcnJdKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgJ3Nl
dCAtZS4nCiNbc3RkZXJyXSsgZm9yIHRlc3RfbmFtZSBpbiAnJHRlc3RfbmFtZXNfbGlzdCcKI1tz
dGRlcnJdKyBldmFsICd0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2JxdW90ZX0nCiNbc3RkZXJyXSsr
IHRlc3Rfc3RyaW5nPSdgJwojW3N0ZGVycl0rIHRlc3QgJ3hgJyA9IHgKI1tzdGRlcnJdKyBta2Rp
ciAnLi9gJwojW3N0ZGVycl0rIGNhc2UgJHRlc3Rfc3RyaW5nIGluCiNbc3RkZXJyXSsgZm9yIHdo
ZXJlIGluIGJ1aWxkIGRlc3QKI1tzdGRlcnJdKyBjYXNlICR3aGVyZSBpbgojW3N0ZGVycl0rIGJ1
aWxkPScuL2AnCiNbc3RkZXJyXSsgZGVzdD0vdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtYnF1b3RlCiNbc3RkZXJyXSsgY2QgJy4vYCcKI1tzdGRlcnJdKyByPW9rCiNb
c3RkZXJyXSsgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvYC1wcmVmaXgnCmNoZWNraW5nIGZvciBh
IEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3
aGV0aGVyIHNsZWVwIHN1cHBvcnRzIGZyYWN0aW9uYWwgc2Vjb25kcy4uLiB5ZXMKY2hlY2tpbmcg
ZmlsZXN5c3RlbSB0aW1lc3RhbXAgcmVzb2x1dGlvbi4uLiAwLjAxCmNoZWNraW5nIHdoZXRoZXIg
YnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiBubwojW3N0ZGVycl1jb25maWd1cmU6IGVycm9y
OiB1bnNhZmUgYWJzb2x1dGUgd29ya2luZyBkaXJlY3RvcnkgbmFtZQojW3N0ZGVycl0rIHI9J25v
dCBvaycKI1tzdGRlcnJdKyBkZXNjcmlwdGlvbj0nYnF1b3RlIGluIGJ1aWxkZGlyJwojW3N0ZGVy
cl0rIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgYnF1b3RlCiNbc3RkZXJyXSsgY2FzZSAkMSBpbgoj
W3N0ZGVycl0rIGlzX2luX2xpc3QgYnF1b3RlIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRv
bGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKI1tzdGRl
cnJdKyBpdGVtPWJxdW90ZQojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIg
aW4KI1tzdGRlcnJdKyByZXR1cm4gMAojW3N0ZGVycl0rIGRpcmVjdGl2ZT1UT0RPCm5vdCBvayA1
IC0gYnF1b3RlIGluIGJ1aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KWEZB
SUw6IHQvaW5zdHNwYy50YXAgNSAtIGJxdW90ZSBpbiBidWlsZGRpciAjIFRPRE8gbG9uZy1zdGFu
ZGluZyBsaW1pdGF0aW9uCiNbc3RkZXJyXSsgcmVhc29uPSdsb25nLXN0YW5kaW5nIGxpbWl0YXRp
b24nCiNbc3RkZXJyXSsgcmVzdWx0XyAnbm90IG9rJyAtRCBUT0RPIC1yICdsb25nLXN0YW5kaW5n
IGxpbWl0YXRpb24nIC0tICdicXVvdGUgaW4gYnVpbGRkaXInCiNbc3RkZXJyXSsgc2V0ICt4CiNb
c3RkZXJyXSsgY2QgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpcgojW3N0ZGVy
cl0rIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCiNbc3RkZXJyXSsgYW1fa2VlcGluZ190ZXN0ZGly
cwojW3N0ZGVycl0rIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQoj
W3N0ZGVycl0rIHRlc3QgJ25vdCBvaycgPSBvawojW3N0ZGVycl0rIDogRm9yIHNoZWxscyB3aXRo
IGJ1c3RlZCAnc2V0IC1lLicKI1tzdGRlcnJdKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAojW3N0
ZGVycl0rIGNhc2UgJHdoZXJlIGluCiNbc3RkZXJyXSsgYnVpbGQ9YnVpbGQtYnF1b3RlCiNbc3Rk
ZXJyXSsgZGVzdD0nL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJx
dW90ZS9gJwojW3N0ZGVycl0rIG1rZGlyIGJ1aWxkLWJxdW90ZQojW3N0ZGVycl0rIGNkIGJ1aWxk
LWJxdW90ZQojW3N0ZGVycl0rIHI9b2sKI1tzdGRlcnJdKyAuLi9jb25maWd1cmUgLS1wcmVmaXgg
Jy9gLXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNy
L2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgc2xlZXAgc3VwcG9ydHMgZnJhY3Rpb25h
bCBzZWNvbmRzLi4uIHllcwpjaGVja2luZyBmaWxlc3lzdGVtIHRpbWVzdGFtcCByZXNvbHV0aW9u
Li4uIDAuMDEKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHll
cwpjaGVja2luZyBmb3IgYSByYWNlLWZyZWUgbWtkaXIgLXAuLi4gbWtkaXIgLXAKY2hlY2tpbmcg
Zm9yIGdhd2suLi4gbm8KY2hlY2tpbmcgZm9yIG1hd2suLi4gbm8KY2hlY2tpbmcgZm9yIG5hd2su
Li4gbm8KY2hlY2tpbmcgZm9yIGF3ay4uLiBhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMg
JChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJp
YWJsZXMuLi4geWVzCmNoZWNraW5nIHhhcmdzIC1uIHdvcmtzLi4uIHllcwpjaGVja2luZyB3aGV0
aGVyIFVJRCAnNTAxJyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVja2lu
ZyB3aGV0aGVyIEdJRCAnMjAnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVzCmNo
ZWNraW5nIGhvdyB0byBjcmVhdGUgYSB1c3RhciB0YXIgYXJjaGl2ZS4uLiBwbGFpbnRhcgpjaGVj
a2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtz
Li4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUu
Li4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcg
d2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXgg
b2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB0aGUgY29tcGlsZXIgc3VwcG9y
dHMgR05VIEMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNo
ZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGVuYWJsZSBDMjMgZmVhdHVyZXMuLi4gLXN0ZD1nbnUy
MwpjaGVja2luZyB3aGV0aGVyIGdjYyAtc3RkPWdudTIzIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0
b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRl
IGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBv
ZiBnY2MgLXN0ZD1nbnUyMy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0
aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiBy
YW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmln
dXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0
YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVz
IGNvbW1hbmRzCiNbc3RkZXJyXSsgbWFrZSBhbGwKZ2NjIC1zdGQ9Z251MjMgLURQQUNLQUdFX05B
TUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZF
UlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdF
X0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIg
LURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1N
UCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAu
ZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAg
LW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL25v
YmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3Igc3ViL2xpYmJhc2UuYSBz
b3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNy
IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQojW3N0ZGVy
cl0rIERFU1RESVI9Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1i
cXVvdGUvYCcKI1tzdGRlcnJdKyBmaWxlPScuL2AnCiNbc3RkZXJyXSsgbWFrZSB0ZXN0LWluc3QK
bWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2J1aWxkLWJxdW90ZScKI1tzdGRlcnJdL2Jpbi9zaDogLWM6IGxpbmUgMjM6IHVu
ZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGBgJwojW3N0ZGVycl0vYmlu
L3NoOiAtYzogbGluZSAyNjogc3ludGF4IGVycm9yOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlCiNb
c3RkZXJyXW1ha2VbMV06ICoqKiBbTWFrZWZpbGU6NTcyOiBpbnN0YWxsLWRpc3RfZm9vZXhlY1ND
UklQVFNdIEVycm9yIDIKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvYnVpbGQtYnF1b3RlJwojW3N0ZGVycl1tYWtlOiAqKiog
W01ha2VmaWxlOjEwMTc6IGluc3RhbGwtYW1dIEVycm9yIDIKI1tzdGRlcnJdKyByPSdub3Qgb2sn
CiNbc3RkZXJyXSsgZGVzY3JpcHRpb249J2JxdW90ZSBpbiBkZXN0ZGlyJwojW3N0ZGVycl0rIGV4
cGVjdGVkX3RvX2ZhaWwgZGVzdCBicXVvdGUKI1tzdGRlcnJdKyBjYXNlICQxIGluCm5vdCBvayA2
IC0gYnF1b3RlIGluIGRlc3RkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgpYRkFJ
TDogdC9pbnN0c3BjLnRhcCA2IC0gYnF1b3RlIGluIGRlc3RkaXIgIyBUT0RPIGxvbmctc3RhbmRp
bmcgbGltaXRhdGlvbgojW3N0ZGVycl0rIGlzX2luX2xpc3QgYnF1b3RlIHNxdW90ZSBkcXVvdGUg
YnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKI1tzdGRlcnJdKyBpdGVtPWJxdW90
ZQojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyBy
ZXR1cm4gMAojW3N0ZGVycl0rIGRpcmVjdGl2ZT1UT0RPCiNbc3RkZXJyXSsgcmVhc29uPSdsb25n
LXN0YW5kaW5nIGxpbWl0YXRpb24nCiNbc3RkZXJyXSsgcmVzdWx0XyAnbm90IG9rJyAtRCBUT0RP
IC1yICdsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24nIC0tICdicXVvdGUgaW4gZGVzdGRpcicKI1tz
dGRlcnJdKyBzZXQgK3gKI1tzdGRlcnJdKyBjZCAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyCiNbc3RkZXJyXSsgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBh
bV9rZWVwaW5nX3Rlc3RkaXJzCiNbc3RkZXJyXSsgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgojW3N0
ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgdGVzdCAnbm90IG9rJyA9IG9rCiNbc3RkZXJyXSsg
OiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkICdzZXQgLWUuJwojW3N0ZGVycl0rIGZvciB0ZXN0X25h
bWUgaW4gJyR0ZXN0X25hbWVzX2xpc3QnCiNbc3RkZXJyXSsgZXZhbCAndGVzdF9zdHJpbmc9JHtp
bnN0c3BjX19zaGFycH0nCiNbc3RkZXJyXSsrIHRlc3Rfc3RyaW5nPScjJwojW3N0ZGVycl0rIHRl
c3QgeCMgPSB4CiNbc3RkZXJyXSsgbWtkaXIgLi8jCiNbc3RkZXJyXSsgY2FzZSAkdGVzdF9zdHJp
bmcgaW4KI1tzdGRlcnJdKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAojW3N0ZGVycl0rIGNhc2Ug
JHdoZXJlIGluCiNbc3RkZXJyXSsgYnVpbGQ9Li8jCiNbc3RkZXJyXSsgZGVzdD0vdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAKI1tzdGRlcnJdKyBjZCAuLyMK
I1tzdGRlcnJdKyByPW9rCiNbc3RkZXJyXSsgLi4vY29uZmlndXJlIC0tcHJlZml4IC8jLXByZWZp
eApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3Rh
bGwgLWMKY2hlY2tpbmcgd2hldGhlciBzbGVlcCBzdXBwb3J0cyBmcmFjdGlvbmFsIHNlY29uZHMu
Li4geWVzCmNoZWNraW5nIGZpbGVzeXN0ZW0gdGltZXN0YW1wIHJlc29sdXRpb24uLi4gMC4wMQpj
aGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4gbm8KI1tzdGRlcnJd
Y29uZmlndXJlOiBlcnJvcjogdW5zYWZlIGFic29sdXRlIHdvcmtpbmcgZGlyZWN0b3J5IG5hbWUK
I1tzdGRlcnJdKyByPSdub3Qgb2snCiNbc3RkZXJyXSsgZGVzY3JpcHRpb249J3NoYXJwIGluIGJ1
aWxkZGlyJwojW3N0ZGVycl0rIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgc2hhcnAKI1tzdGRlcnJd
KyBjYXNlICQxIGluCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBzaGFycCBzcXVvdGUgZHF1b3RlIGJx
dW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAg
YV9sZl9iCiNbc3RkZXJyXSsgaXRlbT1zaGFycAojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsg
Y2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMAojW3N0ZGVycl0rIGRpcmVjdGl2ZT1U
T0RPCm5vdCBvayA3IC0gc2hhcnAgaW4gYnVpbGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGlt
aXRhdGlvbgpYRkFJTDogdC9pbnN0c3BjLnRhcCA3IC0gc2hhcnAgaW4gYnVpbGRkaXIgIyBUT0RP
IGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgojW3N0ZGVycl0rIHJlYXNvbj0nbG9uZy1zdGFuZGlu
ZyBsaW1pdGF0aW9uJwojW3N0ZGVycl0rIHJlc3VsdF8gJ25vdCBvaycgLUQgVE9ETyAtciAnbG9u
Zy1zdGFuZGluZyBsaW1pdGF0aW9uJyAtLSAnc2hhcnAgaW4gYnVpbGRkaXInCiNbc3RkZXJyXSsg
c2V0ICt4CiNbc3RkZXJyXSsgY2QgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
cgojW3N0ZGVycl0rIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCiNbc3RkZXJyXSsgYW1fa2VlcGlu
Z190ZXN0ZGlycwojW3N0ZGVycl0rIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KI1tzdGRlcnJdKyBy
ZXR1cm4gMQojW3N0ZGVycl0rIHRlc3QgJ25vdCBvaycgPSBvawojW3N0ZGVycl0rIDogRm9yIHNo
ZWxscyB3aXRoIGJ1c3RlZCAnc2V0IC1lLicKI1tzdGRlcnJdKyBmb3Igd2hlcmUgaW4gYnVpbGQg
ZGVzdAojW3N0ZGVycl0rIGNhc2UgJHdoZXJlIGluCiNbc3RkZXJyXSsgYnVpbGQ9YnVpbGQtc2hh
cnAKI1tzdGRlcnJdKyBkZXN0PS91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1zaGFycC8jCiNbc3RkZXJyXSsgbWtkaXIgYnVpbGQtc2hhcnAKI1tzdGRlcnJdKyBjZCBi
dWlsZC1zaGFycAojW3N0ZGVycl0rIHI9b2sKI1tzdGRlcnJdKyAuLi9jb25maWd1cmUgLS1wcmVm
aXggLyMtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vz
ci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIHNsZWVwIHN1cHBvcnRzIGZyYWN0aW9u
YWwgc2Vjb25kcy4uLiB5ZXMKY2hlY2tpbmcgZmlsZXN5c3RlbSB0aW1lc3RhbXAgcmVzb2x1dGlv
bi4uLiAwLjAxCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5
ZXMKY2hlY2tpbmcgZm9yIGEgcmFjZS1mcmVlIG1rZGlyIC1wLi4uIG1rZGlyIC1wCmNoZWNraW5n
IGZvciBnYXdrLi4uIG5vCmNoZWNraW5nIGZvciBtYXdrLi4uIG5vCmNoZWNraW5nIGZvciBuYXdr
Li4uIG5vCmNoZWNraW5nIGZvciBhd2suLi4gYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRz
ICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFy
aWFibGVzLi4uIHllcwpjaGVja2luZyB4YXJncyAtbiB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgd2hl
dGhlciBVSUQgJzUwMScgaXMgc3VwcG9ydGVkIGJ5IHVzdGFyIGZvcm1hdC4uLiB5ZXMKY2hlY2tp
bmcgd2hldGhlciBHSUQgJzIwJyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpj
aGVja2luZyBob3cgdG8gY3JlYXRlIGEgdXN0YXIgdGFyIGFyY2hpdmUuLi4gcGxhaW50YXIKY2hl
Y2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jr
cy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1l
Li4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5n
IHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4
IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgdGhlIGNvbXBpbGVyIHN1cHBv
cnRzIEdOVSBDLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpj
aGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBlbmFibGUgQzIzIGZlYXR1cmVzLi4uIC1zdGQ9Z251
MjMKY2hlY2tpbmcgd2hldGhlciBnY2MgLXN0ZD1nbnUyMyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8g
dG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVk
ZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUg
b2YgZ2NjIC1zdGQ9Z251MjMuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcg
dGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4g
cmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZp
Z3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5z
dGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxl
cyBjb21tYW5kcwojW3N0ZGVycl0rIG1ha2UgYWxsCmdjYyAtc3RkPWdudTIzIC1EUEFDS0FHRV9O
QU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9W
RVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FH
RV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wi
IC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAt
TVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYg
LmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjIC1zdGQ9Z251MjMgIC1nIC1PMiAg
IC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjIC1zdGQ9Z251MjMgIC1nIC1PMiAgIC1vIHN1Yi9u
b2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNyIHN1Yi9saWJiYXNlLmEg
c291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBj
ciBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKI1tzdGRl
cnJdKyBERVNURElSPS91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1z
aGFycC8jCiNbc3RkZXJyXSsgZmlsZT0uLyMKI1tzdGRlcnJdKyBtYWtlIHRlc3QtaW5zdAptYWtl
WzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvYnVpbGQtc2hhcnAnCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LXNoYXJwLyMvL2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3Vi
L2Jhc2Uuc2ggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFy
cC8jLy9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LXNoYXJwLyMvL2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGli
YmFzZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAv
Iy8vZm9vJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LXNoYXJwLyMvL2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNoYXJwLyMvL2ZvbycKICAvdXNyL2Jp
bi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNoYXJwLyMvL2Zvby9zdWIvJwogL3Vzci9i
aW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNoYXJwLyMvL2ZvbycKIG1rZGlyIC1w
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9v
L3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9mb28vc3ViJwog
KCBjZCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNoYXJwLyMv
L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNoYXJwLyMvL2ZvbycKIG1rZGlyIC1wICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vL3N1
Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNoYXJwLyMvL2ZvbycKIC91
c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNoYXJwLyMvL2ZvbycKIG1rZGlyIC1wICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vJwogL3Vz
ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNoYXJwLyMvL2ZvbycKIG1rZGlyIC1wICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vJwogbWtkaXIg
LXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy9m
b28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2hhcnAvIy8vZm9vL3N1
YicKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
c2hhcnAvIy8vZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1zaGFycC8jLy9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg
IC4uL3N1Yi9ub2Jhc2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LXNoYXJwLyMvL2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5ICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2J1aWxkLXNoYXJwJwp0ZXN0ICAgLWYgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zaGFycC8jLy4vIy1wcmVm
aXgvZm9vL3N1Yi9ub2Jhc2UuaCcKI1tzdGRlcnJdbWFrZTogKioqIFtNYWtlZmlsZToxMTYwOiB0
ZXN0LWluc3RdIEVycm9yIDEKI1tzdGRlcnJdKyByPSdub3Qgb2snCiNbc3RkZXJyXSsgZGVzY3Jp
cHRpb249J3NoYXJwIGluIGRlc3RkaXInCiNbc3RkZXJyXSsgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0
IHNoYXJwCiNbc3RkZXJyXSsgY2FzZSAkMSBpbgojW3N0ZGVycl0rIGlzX2luX2xpc3Qgc2hhcnAg
c3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZfYgojW3N0ZGVy
cl0rIGl0ZW09c2hhcnAKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGlu
Cm5vdCBvayA4IC0gc2hhcnAgaW4gZGVzdGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0
aW9uClhGQUlMOiB0L2luc3RzcGMudGFwIDggLSBzaGFycCBpbiBkZXN0ZGlyICMgVE9ETyBsb25n
LXN0YW5kaW5nIGxpbWl0YXRpb24KI1tzdGRlcnJdKyByZXR1cm4gMAojW3N0ZGVycl0rIGRpcmVj
dGl2ZT1UT0RPCiNbc3RkZXJyXSsgcmVhc29uPSdsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24nCiNb
c3RkZXJyXSsgcmVzdWx0XyAnbm90IG9rJyAtRCBUT0RPIC1yICdsb25nLXN0YW5kaW5nIGxpbWl0
YXRpb24nIC0tICdzaGFycCBpbiBkZXN0ZGlyJwojW3N0ZGVycl0rIHNldCAreAojW3N0ZGVycl0r
IGNkIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIKI1tzdGRlcnJdKyBub3Qg
YW1fa2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRl
cnJdKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJd
KyB0ZXN0ICdub3Qgb2snID0gb2sKI1tzdGRlcnJdKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQg
J3NldCAtZS4nCiNbc3RkZXJyXSsgZm9yIHRlc3RfbmFtZSBpbiAnJHRlc3RfbmFtZXNfbGlzdCcK
I1tzdGRlcnJdKyBldmFsICd0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2RvbGxhcn0nCiNbc3RkZXJy
XSsrIHRlc3Rfc3RyaW5nPSckJwojW3N0ZGVycl0rIHRlc3QgJ3gkJyA9IHgKI1tzdGRlcnJdKyBt
a2RpciAnLi8kJwojW3N0ZGVycl0rIGNhc2UgJHRlc3Rfc3RyaW5nIGluCiNbc3RkZXJyXSsgZm9y
IHdoZXJlIGluIGJ1aWxkIGRlc3QKI1tzdGRlcnJdKyBjYXNlICR3aGVyZSBpbgojW3N0ZGVycl0r
IGJ1aWxkPScuLyQnCiNbc3RkZXJyXSsgZGVzdD0vdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtZG9sbGFyCiNbc3RkZXJyXSsgY2QgJy4vJCcKI1tzdGRlcnJdKyByPW9r
CiNbc3RkZXJyXSsgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvJC1wcmVmaXgnCmNoZWNraW5nIGZv
ciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2lu
ZyB3aGV0aGVyIHNsZWVwIHN1cHBvcnRzIGZyYWN0aW9uYWwgc2Vjb25kcy4uLiB5ZXMKY2hlY2tp
bmcgZmlsZXN5c3RlbSB0aW1lc3RhbXAgcmVzb2x1dGlvbi4uLiAwLjAxCmNoZWNraW5nIHdoZXRo
ZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiBubwojW3N0ZGVycl1jb25maWd1cmU6IGVy
cm9yOiB1bnNhZmUgYWJzb2x1dGUgd29ya2luZyBkaXJlY3RvcnkgbmFtZQojW3N0ZGVycl0rIHI9
J25vdCBvaycKI1tzdGRlcnJdKyBkZXNjcmlwdGlvbj0nZG9sbGFyIGluIGJ1aWxkZGlyJwojW3N0
ZGVycl0rIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgZG9sbGFyCiNbc3RkZXJyXSsgY2FzZSAkMSBp
bgojW3N0ZGVycl0rIGlzX2luX2xpc3QgZG9sbGFyIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJw
IGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKI1tz
dGRlcnJdKyBpdGVtPWRvbGxhcgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQq
ICIgaW4Kbm90IG9rIDkgLSBkb2xsYXIgaW4gYnVpbGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcg
bGltaXRhdGlvbgpYRkFJTDogdC9pbnN0c3BjLnRhcCA5IC0gZG9sbGFyIGluIGJ1aWxkZGlyICMg
VE9ETyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KI1tzdGRlcnJdKyByZXR1cm4gMAojW3N0ZGVy
cl0rIGRpcmVjdGl2ZT1UT0RPCiNbc3RkZXJyXSsgcmVhc29uPSdsb25nLXN0YW5kaW5nIGxpbWl0
YXRpb24nCiNbc3RkZXJyXSsgcmVzdWx0XyAnbm90IG9rJyAtRCBUT0RPIC1yICdsb25nLXN0YW5k
aW5nIGxpbWl0YXRpb24nIC0tICdkb2xsYXIgaW4gYnVpbGRkaXInCiNbc3RkZXJyXSsgc2V0ICt4
CiNbc3RkZXJyXSsgY2QgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpcgojW3N0
ZGVycl0rIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCiNbc3RkZXJyXSsgYW1fa2VlcGluZ190ZXN0
ZGlycwojW3N0ZGVycl0rIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KI1tzdGRlcnJdKyByZXR1cm4g
MQojW3N0ZGVycl0rIHRlc3QgJ25vdCBvaycgPSBvawojW3N0ZGVycl0rIDogRm9yIHNoZWxscyB3
aXRoIGJ1c3RlZCAnc2V0IC1lLicKI1tzdGRlcnJdKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAoj
W3N0ZGVycl0rIGNhc2UgJHdoZXJlIGluCiNbc3RkZXJyXSsgYnVpbGQ9YnVpbGQtZG9sbGFyCiNb
c3RkZXJyXSsgZGVzdD0nL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LWRvbGxhci8kJwojW3N0ZGVycl0rIG1rZGlyIGJ1aWxkLWRvbGxhcgojW3N0ZGVycl0rIGNkIGJ1
aWxkLWRvbGxhcgojW3N0ZGVycl0rIHI9b2sKI1tzdGRlcnJdKyAuLi9jb25maWd1cmUgLS1wcmVm
aXggJy8kLXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAv
dXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgc2xlZXAgc3VwcG9ydHMgZnJhY3Rp
b25hbCBzZWNvbmRzLi4uIHllcwpjaGVja2luZyBmaWxlc3lzdGVtIHRpbWVzdGFtcCByZXNvbHV0
aW9uLi4uIDAuMDEKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4u
IHllcwpjaGVja2luZyBmb3IgYSByYWNlLWZyZWUgbWtkaXIgLXAuLi4gbWtkaXIgLXAKY2hlY2tp
bmcgZm9yIGdhd2suLi4gbm8KY2hlY2tpbmcgZm9yIG1hd2suLi4gbm8KY2hlY2tpbmcgZm9yIG5h
d2suLi4gbm8KY2hlY2tpbmcgZm9yIGF3ay4uLiBhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNl
dHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2
YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHhhcmdzIC1uIHdvcmtzLi4uIHllcwpjaGVja2luZyB3
aGV0aGVyIFVJRCAnNTAxJyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVj
a2luZyB3aGV0aGVyIEdJRCAnMjAnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVz
CmNoZWNraW5nIGhvdyB0byBjcmVhdGUgYSB1c3RhciB0YXIgYXJjaGl2ZS4uLiBwbGFpbnRhcgpj
aGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdv
cmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5h
bWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tp
bmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZm
aXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB0aGUgY29tcGlsZXIgc3Vw
cG9ydHMgR05VIEMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVz
CmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGVuYWJsZSBDMjMgZmVhdHVyZXMuLi4gLXN0ZD1n
bnUyMwpjaGVja2luZyB3aGV0aGVyIGdjYyAtc3RkPWdudTIzIHVuZGVyc3RhbmRzIC1jIGFuZCAt
byB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNs
dWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHls
ZSBvZiBnY2MgLXN0ZD1nbnUyMy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2lu
ZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4u
LiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29u
ZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmln
LnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZp
bGVzIGNvbW1hbmRzCiNbc3RkZXJyXSsgbWFrZSBhbGwKZ2NjIC1zdGQ9Z251MjMgLURQQUNLQUdF
X05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF
X1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNL
QUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3Bj
XCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1E
IC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAt
ZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgLXN0ZD1nbnUyMyAgLWcgLU8y
ICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3Vi
L25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3Igc3ViL2xpYmJhc2Uu
YSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFy
IGNyIHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQojW3N0
ZGVycl0rIERFU1RESVI9Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1kb2xsYXIvJCcKI1tzdGRlcnJdKyBmaWxlPScuLyQnCiNbc3RkZXJyXSsgbWFrZSB0ZXN0LWlu
c3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2J1aWxkLWRvbGxhcicKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyLyQvcHJlZml4L2ZvbycKIC91c3IvYmluL2lu
c3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vJwogL3Vzci9i
aW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vJwogKCBjZCAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9mb28n
ICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3Rh
bGwgLWMgc3ViL2Jhc2UgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1kb2xsYXIvJC9wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9v
L3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vL3N1Yi8n
CiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWRv
bGxhci8kL3ByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFs
bCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9mb28vc3ViJwogKCBjZCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9mb28nICYm
IHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgv
Zm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyLyQvcHJlZml4L2Zvby9zdWIvJwog
bWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xs
YXIvJC9wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2Uu
ZGF0ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZG9sbGFyLyQv
cHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtZG9sbGFyLyQvcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0
IC4uL3N1Yi9iYXNlLmggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1kb2xsYXIvJC9wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9v
L3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWRvbGxhci8kL3ByZWZpeC9m
b28vc3ViJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu
L2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1kb2xsYXIvJC9wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTog
TGVhdmluZyBkaXJlY3RvcnkgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
YnVpbGQtZG9sbGFyJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1kb2xsYXIvJC8uLyQtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCiNbc3RkZXJy
XW1ha2U6ICoqKiBbTWFrZWZpbGU6MTE2MDogdGVzdC1pbnN0XSBFcnJvciAxCiNbc3RkZXJyXSsg
cj0nbm90IG9rJwojW3N0ZGVycl0rIGRlc2NyaXB0aW9uPSdkb2xsYXIgaW4gZGVzdGRpcicKI1tz
dGRlcnJdKyBleHBlY3RlZF90b19mYWlsIGRlc3QgZG9sbGFyCiNbc3RkZXJyXSsgY2FzZSAkMSBp
bgojW3N0ZGVycl0rIGlzX2luX2xpc3QgZG9sbGFyIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJw
IGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKI1tzdGRlcnJdKyBpdGVtPWRvbGxhcgojW3N0ZGVycl0r
IHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMAojW3N0
ZGVycl0rIGRpcmVjdGl2ZT1UT0RPCm5vdCBvayAxMCAtIGRvbGxhciBpbiBkZXN0ZGlyICMgVE9E
TyBsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24KWEZBSUw6IHQvaW5zdHNwYy50YXAgMTAgLSBkb2xs
YXIgaW4gZGVzdGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uCiNbc3RkZXJyXSsg
cmVhc29uPSdsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24nCiNbc3RkZXJyXSsgcmVzdWx0XyAnbm90
IG9rJyAtRCBUT0RPIC1yICdsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24nIC0tICdkb2xsYXIgaW4g
ZGVzdGRpcicKI1tzdGRlcnJdKyBzZXQgK3gKI1tzdGRlcnJdKyBjZCAvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyCiNbc3RkZXJyXSsgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMK
I1tzdGRlcnJdKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCiNbc3RkZXJyXSsgY2FzZSAka2VlcF90ZXN0
ZGlycyBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgdGVzdCAnbm90IG9rJyA9IG9r
CiNbc3RkZXJyXSsgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkICdzZXQgLWUuJwojW3N0ZGVycl0r
IGZvciB0ZXN0X25hbWUgaW4gJyR0ZXN0X25hbWVzX2xpc3QnCiNbc3RkZXJyXSsgZXZhbCAndGVz
dF9zdHJpbmc9JHtpbnN0c3BjX19iYW5nfScKI1tzdGRlcnJdKysgdGVzdF9zdHJpbmc9JyEnCiNb
c3RkZXJyXSsgdGVzdCAneCEnID0geAojW3N0ZGVycl0rIG1rZGlyICcuLyEnCiNbc3RkZXJyXSsg
Y2FzZSAkdGVzdF9zdHJpbmcgaW4KI1tzdGRlcnJdKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAoj
W3N0ZGVycl0rIGNhc2UgJHdoZXJlIGluCiNbc3RkZXJyXSsgYnVpbGQ9Jy4vIScKI1tzdGRlcnJd
KyBkZXN0PS91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nCiNb
c3RkZXJyXSsgY2QgJy4vIScKI1tzdGRlcnJdKyByPW9rCiNbc3RkZXJyXSsgLi4vY29uZmlndXJl
IC0tcHJlZml4ICcvIS1wcmVmaXgnCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3Rh
bGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIHNsZWVwIHN1cHBvcnRz
IGZyYWN0aW9uYWwgc2Vjb25kcy4uLiB5ZXMKY2hlY2tpbmcgZmlsZXN5c3RlbSB0aW1lc3RhbXAg
cmVzb2x1dGlvbi4uLiAwLjAxCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMg
c2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgcmFjZS1mcmVlIG1rZGlyIC1wLi4uIG1rZGlyIC1w
CmNoZWNraW5nIGZvciBnYXdrLi4uIG5vCmNoZWNraW5nIGZvciBtYXdrLi4uIG5vCmNoZWNraW5n
IGZvciBuYXdrLi4uIG5vCmNoZWNraW5nIGZvciBhd2suLi4gYXdrCmNoZWNraW5nIHdoZXRoZXIg
bWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBu
ZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyB4YXJncyAtbiB3b3Jrcy4uLiB5ZXMKY2hl
Y2tpbmcgd2hldGhlciBVSUQgJzUwMScgaXMgc3VwcG9ydGVkIGJ5IHVzdGFyIGZvcm1hdC4uLiB5
ZXMKY2hlY2tpbmcgd2hldGhlciBHSUQgJzIwJyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0
Li4uIHllcwpjaGVja2luZyBob3cgdG8gY3JlYXRlIGEgdXN0YXIgdGFyIGFyY2hpdmUuLi4gcGxh
aW50YXIKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21w
aWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQg
ZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4g
CmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBm
b3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgdGhlIGNvbXBp
bGVyIHN1cHBvcnRzIEdOVSBDLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1n
Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBlbmFibGUgQzIzIGZlYXR1cmVzLi4u
IC1zdGQ9Z251MjMKY2hlY2tpbmcgd2hldGhlciBnY2MgLXN0ZD1nbnUyMyB1bmRlcnN0YW5kcyAt
YyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0
aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVu
Y3kgc3R5bGUgb2YgZ2NjIC1zdGQ9Z251MjMuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIK
Y2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciBy
YW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0
aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVz
CmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGlu
ZyBkZXBmaWxlcyBjb21tYW5kcwojW3N0ZGVycl0rIG1ha2UgYWxsCmdjYyAtc3RkPWdudTIzIC1E
UEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1E
UEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwi
IC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwi
aW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJj
ZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNl
LmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjIC1zdGQ9Z251MjMg
IC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjIC1zdGQ9Z251MjMgIC1nIC1PMiAg
IC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNyIHN1Yi9s
aWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jh
c2UuYQphciBjciBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNl
LmEKI1tzdGRlcnJdKyBERVNURElSPS91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1iYW5nCiNbc3RkZXJyXSsgZmlsZT0nLi8hJwojW3N0ZGVycl0rIG1ha2UgdGVzdC1p
bnN0Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci8hJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4v
c3ViL2Jhc2Uuc2ggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1i
YW5nLyEtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t
IDY0NCAgc3ViL2xpYmJhc2UuYSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9vJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5h
ICkKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
YmFuZy8hLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9vJwog
bWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5n
LyEtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMg
Li4vc3ViL25vYmFzZS5zaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LWJhbmcvIS1wcmVmaXgvZm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2Zv
by9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28v
c3ViJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJh
bmcvIS1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIG1rZGlyIC1wICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9m
b28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LWJhbmcvIS1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNl
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZp
eC9mb28vc3ViLycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAu
Li9zdWIvYmFzZS5kYXQgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1iYW5nLyEtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1j
IC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2Zv
by9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2Zv
by9zdWInCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LWJhbmcvIS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0
YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5n
IGRpcmVjdG9yeSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci8hJwp0ZXN0
ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLy4v
IS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8uLyEtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVz
dCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8u
LyEtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvLi8hLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRl
c3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcv
Li8hLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8uLyEtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVz
dCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8u
LyEtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLy4vIS1wcmVmaXgvZm9vL25vYmFzZS5zaCcK
dGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYmFu
Zy8uLyEtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLy4vIS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRl
c3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcv
Li8hLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLy4vIS1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvLi8hLXByZWZp
eC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLy4vIS1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0
ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLy4v
IS1wcmVmaXgvZm9vL2xpYmJhc2UuYScKI1tzdGRlcnJdKyBkZXNjcmlwdGlvbj0nYmFuZyBpbiBi
dWlsZGRpcicKI1tzdGRlcnJdKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGJhbmcKI1tzdGRlcnJd
KyBjYXNlICQxIGluCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBiYW5nIHNxdW90ZSBkcXVvdGUgYnF1
b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBh
X2xmX2IKI1tzdGRlcnJdKyBpdGVtPWJhbmcKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNh
c2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKb2sgMTEgLSBiYW5nIGluIGJ1aWxkZGly
ClBBU1M6IHQvaW5zdHNwYy50YXAgMTEgLSBiYW5nIGluIGJ1aWxkZGlyCiNbc3RkZXJyXSsgZGly
ZWN0aXZlPQojW3N0ZGVycl0rIHJlYXNvbj0KI1tzdGRlcnJdKyByZXN1bHRfIG9rIC1EICcnIC1y
ICcnIC0tICdiYW5nIGluIGJ1aWxkZGlyJwojW3N0ZGVycl0rIHNldCAreAojW3N0ZGVycl0rIGNk
IC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIKI1tzdGRlcnJdKyBub3QgYW1f
a2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJd
KyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyB0
ZXN0IG9rID0gb2sKI1tzdGRlcnJdKyBybV9yZl8gJy4vIScgL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcKI1tzdGRlcnJdKyB0ZXN0IDIgLWd0IDAKI1tzdGRl
cnJdKyBjaG1vZCAtUiB1K3J3eCAnLi8hJyAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtYmFuZwojW3N0ZGVycl0rIHJtIC1yZiAnLi8hJyAvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZwojW3N0ZGVycl0rIF9hbV9ybXJmX3N0YXR1
cz0wCiNbc3RkZXJyXSsgZm9yIF9hbV9ybXJmX3YgaW4gJyIkQCInCiNbc3RkZXJyXSsgdGVzdCAt
ZSAnLi8hJwojW3N0ZGVycl0rIGZvciBfYW1fcm1yZl92IGluICciJEAiJwojW3N0ZGVycl0rIHRl
c3QgLWUgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcKI1tz
dGRlcnJdKyByZXR1cm4gMAojW3N0ZGVycl0rIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCAnc2V0
IC1lLicKI1tzdGRlcnJdKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAojW3N0ZGVycl0rIGNhc2Ug
JHdoZXJlIGluCiNbc3RkZXJyXSsgYnVpbGQ9YnVpbGQtYmFuZwojW3N0ZGVycl0rIGRlc3Q9Jy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEnCiNbc3RkZXJy
XSsgbWtkaXIgYnVpbGQtYmFuZwojW3N0ZGVycl0rIGNkIGJ1aWxkLWJhbmcKI1tzdGRlcnJdKyBy
PW9rCiNbc3RkZXJyXSsgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvIS1wcmVmaXgnCmNoZWNraW5n
IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVj
a2luZyB3aGV0aGVyIHNsZWVwIHN1cHBvcnRzIGZyYWN0aW9uYWwgc2Vjb25kcy4uLiB5ZXMKY2hl
Y2tpbmcgZmlsZXN5c3RlbSB0aW1lc3RhbXAgcmVzb2x1dGlvbi4uLiAwLjAxCmNoZWNraW5nIHdo
ZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgcmFj
ZS1mcmVlIG1rZGlyIC1wLi4uIG1rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIG5vCmNoZWNr
aW5nIGZvciBtYXdrLi4uIG5vCmNoZWNraW5nIGZvciBuYXdrLi4uIG5vCmNoZWNraW5nIGZvciBh
d2suLi4gYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNr
aW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2lu
ZyB4YXJncyAtbiB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBVSUQgJzUwMScgaXMgc3Vw
cG9ydGVkIGJ5IHVzdGFyIGZvcm1hdC4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBHSUQgJzIwJyBp
cyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVja2luZyBob3cgdG8gY3JlYXRl
IGEgdXN0YXIgdGFyIGFyY2hpdmUuLi4gcGxhaW50YXIKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MK
Y2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9y
IEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZv
ciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3Nz
IGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBv
CmNoZWNraW5nIHdoZXRoZXIgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIEdOVSBDLi4uIHllcwpjaGVj
a2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlv
biB0byBlbmFibGUgQzIzIGZlYXR1cmVzLi4uIC1zdGQ9Z251MjMKY2hlY2tpbmcgd2hldGhlciBn
Y2MgLXN0ZD1nbnUyMyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNr
aW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChH
TlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjIC1zdGQ9Z251MjMuLi4g
Z2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50
ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQg
Z2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3Vy
ZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2Vm
aWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcwojW3N0ZGVycl0r
IG1ha2UgYWxsCmdjYyAtc3RkPWdudTIzIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFD
S0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNL
QUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBB
Q0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1J
LiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5U
cG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVw
cy9zb3VyY2UuUG8KZ2NjIC1zdGQ9Z251MjMgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5v
ICAKZ2NjIC1zdGQ9Z251MjMgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAt
ZiBzdWIvbGliYmFzZS5hCmFyIGNyIHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIv
bGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjciBzdWIvbGlibm9iYXNlLmEgc291
cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKI1tzdGRlcnJdKyBERVNURElSPScvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hJwojW3N0ZGVycl0rIGZp
bGU9Jy4vIScKI1tzdGRlcnJdKyBtYWtlIHRlc3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJl
Y3RvcnkgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvYnVpbGQtYmFuZycK
IG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYmFu
Zy8hLyEtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1wcmVmaXgv
Zm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1iYW5nLyEvIS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9s
aWJiYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5n
LyEvIS1wcmVmaXgvZm9vJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWJhbmcvIS8hLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogbWtk
aXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEv
IS1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1wcmVmaXgvZm9vJwogbWtk
aXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEv
IS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1iYW5nLyEvIS1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1j
IC4uL3N1Yi9ub2Jhc2Uuc2ggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1iYW5nLyEvIS1wcmVmaXgvZm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8hLXByZWZpeC9mb28nCiBta2RpciAt
cCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8hLXBy
ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2Uu
YSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8hLXBy
ZWZpeC9mb28vc3ViJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LWJhbmcvIS8hLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQog
bWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5n
LyEvIS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFs
bCAtYyBzdWIvbm9iYXNlICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtYmFuZy8hLyEtcHJlZml4L2Zvby9zdWIvJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1wcmVmaXgvZm9vJwogL3Vzci9iaW4v
aW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLyEtcHJlZml4L2Zv
bycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1wcmVmaXgvZm9vJwogbWtk
aXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEv
IS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1iYW5nLyEvIS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMg
LW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LWJhbmcvIS8hLXByZWZpeC9mb28vc3ViJwogbWtkaXIgLXAgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvIS1wcmVmaXgvZm9vJwog
bWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5n
LyEvIS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIv
bm9iYXNlLmggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5n
LyEvIS1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvYnVpbGQtYmFuZycKdGVzdCAgIC1mICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLy4vIS1wcmVmaXgv
Zm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtYmFuZy8hLy4vIS1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYg
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvLi8hLXBy
ZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1iYW5nLyEvLi8hLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3Qg
ISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8u
LyEtcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvLi8hLXByZWZpeC9mb28vYmFzZS5kYXQnCnRl
c3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcv
IS8uLyEtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvLi8hLXByZWZpeC9mb28vbm9iYXNl
LnNoJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1iYW5nLyEvLi8hLXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYmFuZy8hLy4vIS1wcmVmaXgvZm9vL3N1Yi9u
b2Jhc2UnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LWJhbmcvIS8uLyEtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJhbmcvIS8uLyEtcHJlZml4L2Zvby9iYXNl
Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1i
YW5nLyEvLi8hLXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEvLi8hLXByZWZpeC9mb28v
bGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWJhbmcvIS8uLyEtcHJlZml4L2Zvby9saWJiYXNlLmEnCiNbc3RkZXJyXSsgZGVz
Y3JpcHRpb249J2JhbmcgaW4gZGVzdGRpcicKI1tzdGRlcnJdKyBleHBlY3RlZF90b19mYWlsIGRl
c3QgYmFuZwojW3N0ZGVycl0rIGNhc2UgJDEgaW4KI1tzdGRlcnJdKyBpc19pbl9saXN0IGJhbmcg
c3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZfYgojW3N0ZGVy
cl0rIGl0ZW09YmFuZwojW3N0ZGVycl0rIHNoaWZ0Cm9rIDEyIC0gYmFuZyBpbiBkZXN0ZGlyClBB
U1M6IHQvaW5zdHNwYy50YXAgMTIgLSBiYW5nIGluIGRlc3RkaXIKI1tzdGRlcnJdKyBjYXNlICIg
JCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgZGlyZWN0aXZlPQojW3N0ZGVy
cl0rIHJlYXNvbj0KI1tzdGRlcnJdKyByZXN1bHRfIG9rIC1EICcnIC1yICcnIC0tICdiYW5nIGlu
IGRlc3RkaXInCiNbc3RkZXJyXSsgc2V0ICt4CiNbc3RkZXJyXSsgY2QgL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpcgojW3N0ZGVycl0rIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJz
CiNbc3RkZXJyXSsgYW1fa2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGNhc2UgJGtlZXBfdGVz
dGRpcnMgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIHRlc3Qgb2sgPSBvawojW3N0
ZGVycl0rIHJtX3JmXyBidWlsZC1iYW5nICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtYmFuZy8hJwojW3N0ZGVycl0rIHRlc3QgMiAtZ3QgMAojW3N0ZGVycl0rIGNo
bW9kIC1SIHUrcnd4IGJ1aWxkLWJhbmcgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1iYW5nLyEnCiNbc3RkZXJyXSsgcm0gLXJmIGJ1aWxkLWJhbmcgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1iYW5nLyEnCiNbc3RkZXJyXSsgX2Ft
X3JtcmZfc3RhdHVzPTAKI1tzdGRlcnJdKyBmb3IgX2FtX3JtcmZfdiBpbiAnIiRAIicKI1tzdGRl
cnJdKyB0ZXN0IC1lIGJ1aWxkLWJhbmcKI1tzdGRlcnJdKyBmb3IgX2FtX3JtcmZfdiBpbiAnIiRA
IicKI1tzdGRlcnJdKyB0ZXN0IC1lICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtYmFuZy8hJwojW3N0ZGVycl0rIHJldHVybiAwCiNbc3RkZXJyXSsgOiBGb3Igc2hl
bGxzIHdpdGggYnVzdGVkICdzZXQgLWUuJwojW3N0ZGVycl0rIGZvciB0ZXN0X25hbWUgaW4gJyR0
ZXN0X25hbWVzX2xpc3QnCiNbc3RkZXJyXSsgZXZhbCAndGVzdF9zdHJpbmc9JHtpbnN0c3BjX19i
c2xhc2h9JwojW3N0ZGVycl0rKyB0ZXN0X3N0cmluZz0nXCcKI1tzdGRlcnJdKyB0ZXN0ICd4XCcg
PSB4CiNbc3RkZXJyXSsgbWtkaXIgJy4vXCcKI1tzdGRlcnJdKyBjYXNlICR0ZXN0X3N0cmluZyBp
bgojW3N0ZGVycl0rIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CiNbc3RkZXJyXSsgY2FzZSAkd2hl
cmUgaW4KI1tzdGRlcnJdKyBidWlsZD0nLi9cJwojW3N0ZGVycl0rIGRlc3Q9L3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaAojW3N0ZGVycl0rIGNkICcuL1wn
CiNbc3RkZXJyXSsgcj1vawojW3N0ZGVycl0rIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAnL1wtcHJl
Zml4JwpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2lu
c3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBzbGVlcCBzdXBwb3J0cyBmcmFjdGlvbmFsIHNlY29u
ZHMuLi4geWVzCmNoZWNraW5nIGZpbGVzeXN0ZW0gdGltZXN0YW1wIHJlc29sdXRpb24uLi4gMC4w
MQpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4gbm8KI1tzdGRl
cnJdY29uZmlndXJlOiBlcnJvcjogdW5zYWZlIGFic29sdXRlIHdvcmtpbmcgZGlyZWN0b3J5IG5h
bWUKI1tzdGRlcnJdKyByPSdub3Qgb2snCiNbc3RkZXJyXSsgZGVzY3JpcHRpb249J2JzbGFzaCBp
biBidWlsZGRpcicKI1tzdGRlcnJdKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGJzbGFzaAojW3N0
ZGVycl0rIGNhc2UgJDEgaW4Kbm90IG9rIDEzIC0gYnNsYXNoIGluIGJ1aWxkZGlyICMgVE9ETyBs
b25nLXN0YW5kaW5nIGxpbWl0YXRpb24KWEZBSUw6IHQvaW5zdHNwYy50YXAgMTMgLSBic2xhc2gg
aW4gYnVpbGRkaXIgIyBUT0RPIGxvbmctc3RhbmRpbmcgbGltaXRhdGlvbgojW3N0ZGVycl0rIGlz
X2luX2xpc3QgYnNsYXNoIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2gg
YW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBhX2xmX2IKI1tzdGRlcnJdKyBpdGVtPWJz
bGFzaAojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJd
KyByZXR1cm4gMAojW3N0ZGVycl0rIGRpcmVjdGl2ZT1UT0RPCiNbc3RkZXJyXSsgcmVhc29uPSds
b25nLXN0YW5kaW5nIGxpbWl0YXRpb24nCiNbc3RkZXJyXSsgcmVzdWx0XyAnbm90IG9rJyAtRCBU
T0RPIC1yICdsb25nLXN0YW5kaW5nIGxpbWl0YXRpb24nIC0tICdic2xhc2ggaW4gYnVpbGRkaXIn
CiNbc3RkZXJyXSsgc2V0ICt4CiNbc3RkZXJyXSsgY2QgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpcgojW3N0ZGVycl0rIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCiNbc3RkZXJy
XSsgYW1fa2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4K
I1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIHRlc3QgJ25vdCBvaycgPSBvawojW3N0ZGVy
cl0rIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCAnc2V0IC1lLicKI1tzdGRlcnJdKyBmb3Igd2hl
cmUgaW4gYnVpbGQgZGVzdAojW3N0ZGVycl0rIGNhc2UgJHdoZXJlIGluCiNbc3RkZXJyXSsgYnVp
bGQ9YnVpbGQtYnNsYXNoCiNbc3RkZXJyXSsgZGVzdD0nL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cJwojW3N0ZGVycl0rIG1rZGlyIGJ1aWxkLWJzbGFz
aAojW3N0ZGVycl0rIGNkIGJ1aWxkLWJzbGFzaAojW3N0ZGVycl0rIHI9b2sKI1tzdGRlcnJdKyAu
Li9jb25maWd1cmUgLS1wcmVmaXggJy9cLXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBh
dGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgc2xl
ZXAgc3VwcG9ydHMgZnJhY3Rpb25hbCBzZWNvbmRzLi4uIHllcwpjaGVja2luZyBmaWxlc3lzdGVt
IHRpbWVzdGFtcCByZXNvbHV0aW9uLi4uIDAuMDEKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZp
cm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSByYWNlLWZyZWUgbWtkaXIgLXAu
Li4gbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gbm8KY2hlY2tpbmcgZm9yIG1hd2suLi4g
bm8KY2hlY2tpbmcgZm9yIG5hd2suLi4gbm8KY2hlY2tpbmcgZm9yIGF3ay4uLiBhd2sKY2hlY2tp
bmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtl
IHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHhhcmdzIC1uIHdvcmtz
Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIFVJRCAnNTAxJyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIg
Zm9ybWF0Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIEdJRCAnMjAnIGlzIHN1cHBvcnRlZCBieSB1
c3RhciBmb3JtYXQuLi4geWVzCmNoZWNraW5nIGhvdyB0byBjcmVhdGUgYSB1c3RhciB0YXIgYXJj
aGl2ZS4uLiBwbGFpbnRhcgpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVy
IHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZh
dWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVj
dXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5v
CmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhl
ciB0aGUgY29tcGlsZXIgc3VwcG9ydHMgR05VIEMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2Nj
IGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGVuYWJsZSBDMjMg
ZmVhdHVyZXMuLi4gLXN0ZD1nbnUyMwpjaGVja2luZyB3aGV0aGVyIGdjYyAtc3RkPWdudTIzIHVu
ZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtl
IHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tp
bmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MgLXN0ZD1nbnUyMy4uLiBnY2MzCmNoZWNraW5nIGZv
ciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hl
Y2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMg
YXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2Nv
bmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1
czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCiNbc3RkZXJyXSsgbWFrZSBhbGwKZ2NjIC1z
dGQ9Z251MjMgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJp
bnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5z
dHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAt
RFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1P
MiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2Uu
byAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2Mg
LXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgLXN0ZD1nbnUy
MyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEK
YXIgY3Igc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYg
c3ViL2xpYm5vYmFzZS5hCmFyIGNyIHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1
Yi9saWJub2Jhc2UuYQojW3N0ZGVycl0rIERFU1RESVI9Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXCcKI1tzdGRlcnJdKyBmaWxlPScuL1wnCiNbc3Rk
ZXJyXSsgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2J1aWxkLWJzbGFzaCcKIG1rZGlyIC1wICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVm
aXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cL1wtcHJlZml4L2ZvbycKIG1r
ZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNo
L1wvXC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNl
LmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9c
LXByZWZpeC9mb28nCiAoIGNkICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIG1rZGly
IC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wv
XC1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28nCiBt
a2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFz
aC9cL1wtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0
YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28vc3ViLycKIG1rZGlyIC1wICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9v
JwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1i
c2xhc2gvXC9cLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1
Yi9saWJub2Jhc2UuYSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LWJzbGFzaC9cL1wtcHJlZml4L2Zvby9zdWInCiAoIGNkICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3Vi
L2xpYm5vYmFzZS5hICkKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28vc3Vi
LycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28vc3ViLycKIG1rZGly
IC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wv
XC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1w
cmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0
NCAuLi9zdWIvYmFzZS5oICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28nCiBta2RpciAtcCAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cL1wtcHJl
Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5k
YXQgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9c
LXByZWZpeC9mb28vc3ViJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1ic2xhc2gvXC9cLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cL1wtcHJlZml4L2Zvby9z
dWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvXC1wcmVmaXgvZm9v
L3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvYnVpbGQtYnNsYXNoJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC8uL1wtcHJlZml4L2Zvby9zdWIvbm9i
YXNlLmgnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LWJzbGFzaC9cLy4vXC1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC8uL1wtcHJlZml4L2Zv
by9iYXNlLmgnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LWJzbGFzaC9cLy4vXC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYg
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC8uL1wt
cHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC8uL1wtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVz
dCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNo
L1wvLi9cLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wvLi9cLXByZWZpeC9mb28vbm9i
YXNlLnNoJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1ic2xhc2gvXC8uL1wtcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ic2xhc2gvXC8uL1wtcHJlZml4L2Zv
by9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1ic2xhc2gvXC8uL1wtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cLy4vXC1wcmVm
aXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWJzbGFzaC9cLy4vXC1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAh
IC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wv
Li9cLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cLy4vXC1wcmVmaXgvZm9vL2xpYmJhc2Uu
YScKI1tzdGRlcnJdKyBkZXNjcmlwdGlvbj0nYnNsYXNoIGluIGRlc3RkaXInCiNbc3RkZXJyXSsg
ZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IGJzbGFzaAojW3N0ZGVycl0rIGNhc2UgJDEgaW4KI1tzdGRl
cnJdKyBpc19pbl9saXN0IGJzbGFzaCBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIg
bGluZWZlZWQgYV9sZl9iCiNbc3RkZXJyXSsgaXRlbT1ic2xhc2gKI1tzdGRlcnJdKyBzaGlmdAoj
W3N0ZGVycl0rIGNhc2UgIiAkKiAiIGluCm9rIDE0IC0gYnNsYXNoIGluIGRlc3RkaXIKUEFTUzog
dC9pbnN0c3BjLnRhcCAxNCAtIGJzbGFzaCBpbiBkZXN0ZGlyCiNbc3RkZXJyXSsgcmV0dXJuIDEK
I1tzdGRlcnJdKyBkaXJlY3RpdmU9CiNbc3RkZXJyXSsgcmVhc29uPQojW3N0ZGVycl0rIHJlc3Vs
dF8gb2sgLUQgJycgLXIgJycgLS0gJ2JzbGFzaCBpbiBkZXN0ZGlyJwojW3N0ZGVycl0rIHNldCAr
eAojW3N0ZGVycl0rIGNkIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIKI1tz
dGRlcnJdKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGFtX2tlZXBpbmdfdGVz
dGRpcnMKI1tzdGRlcnJdKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCiNbc3RkZXJyXSsgcmV0dXJu
IDEKI1tzdGRlcnJdKyB0ZXN0IG9rID0gb2sKI1tzdGRlcnJdKyBybV9yZl8gYnVpbGQtYnNsYXNo
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wnCiNb
c3RkZXJyXSsgdGVzdCAyIC1ndCAwCiNbc3RkZXJyXSsgY2htb2QgLVIgdStyd3ggYnVpbGQtYnNs
YXNoICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYnNsYXNoL1wn
CiNbc3RkZXJyXSsgcm0gLXJmIGJ1aWxkLWJzbGFzaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LWJzbGFzaC9cJwojW3N0ZGVycl0rIF9hbV9ybXJmX3N0YXR1cz0w
CiNbc3RkZXJyXSsgZm9yIF9hbV9ybXJmX3YgaW4gJyIkQCInCiNbc3RkZXJyXSsgdGVzdCAtZSBi
dWlsZC1ic2xhc2gKI1tzdGRlcnJdKyBmb3IgX2FtX3JtcmZfdiBpbiAnIiRAIicKI1tzdGRlcnJd
KyB0ZXN0IC1lICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYnNs
YXNoL1wnCiNbc3RkZXJyXSsgcmV0dXJuIDAKI1tzdGRlcnJdKyA6IEZvciBzaGVsbHMgd2l0aCBi
dXN0ZWQgJ3NldCAtZS4nCiNbc3RkZXJyXSsgZm9yIHRlc3RfbmFtZSBpbiAnJHRlc3RfbmFtZXNf
bGlzdCcKI1tzdGRlcnJdKyBldmFsICd0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2FtcGVyc2FuZH0n
CiNbc3RkZXJyXSsrIHRlc3Rfc3RyaW5nPScmJwojW3N0ZGVycl0rIHRlc3QgJ3gmJyA9IHgKI1tz
dGRlcnJdKyBta2RpciAnLi8mJwojW3N0ZGVycl0rIGNhc2UgJHRlc3Rfc3RyaW5nIGluCiNbc3Rk
ZXJyXSsgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKI1tzdGRlcnJdKyBjYXNlICR3aGVyZSBpbgoj
W3N0ZGVycl0rIGJ1aWxkPScuLyYnCiNbc3RkZXJyXSsgZGVzdD0vdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kCiNbc3RkZXJyXSsgY2QgJy4vJicKI1tz
dGRlcnJdKyByPW9rCiNbc3RkZXJyXSsgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvJi1wcmVmaXgn
CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFs
bCAtYwpjaGVja2luZyB3aGV0aGVyIHNsZWVwIHN1cHBvcnRzIGZyYWN0aW9uYWwgc2Vjb25kcy4u
LiB5ZXMKY2hlY2tpbmcgZmlsZXN5c3RlbSB0aW1lc3RhbXAgcmVzb2x1dGlvbi4uLiAwLjAxCmNo
ZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiBubwojW3N0ZGVycl1j
b25maWd1cmU6IGVycm9yOiB1bnNhZmUgYWJzb2x1dGUgd29ya2luZyBkaXJlY3RvcnkgbmFtZQoj
W3N0ZGVycl0rIHI9J25vdCBvaycKI1tzdGRlcnJdKyBkZXNjcmlwdGlvbj0nYW1wZXJzYW5kIGlu
IGJ1aWxkZGlyJwojW3N0ZGVycl0rIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgYW1wZXJzYW5kCiNb
c3RkZXJyXSsgY2FzZSAkMSBpbgojW3N0ZGVycl0rIGlzX2luX2xpc3QgYW1wZXJzYW5kIHNxdW90
ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1
YWRyaWdyYXBoMCBhX2xmX2IKI1tzdGRlcnJdKyBpdGVtPWFtcGVyc2FuZAojW3N0ZGVycl0rIHNo
aWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMAojW3N0ZGVy
cl0rIGRpcmVjdGl2ZT1UT0RPCiNbc3RkZXJyXSsgcmVhc29uPSdsb25nLXN0YW5kaW5nIGxpbWl0
YXRpb24nCiNbc3RkZXJyXSsgcmVzdWx0XyAnbm90IG9rJyAtRCBUT0RPIC1yICdsb25nLXN0YW5k
aW5nIGxpbWl0YXRpb24nIC0tICdhbXBlcnNhbmQgaW4gYnVpbGRkaXInCiNbc3RkZXJyXSsgc2V0
ICt4CiNbc3RkZXJyXSsgY2QgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpcgoj
W3N0ZGVycl0rIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCm5vdCBvayAxNSAtIGFtcGVyc2FuZCBp
biBidWlsZGRpciAjIFRPRE8gbG9uZy1zdGFuZGluZyBsaW1pdGF0aW9uClhGQUlMOiB0L2luc3Rz
cGMudGFwIDE1IC0gYW1wZXJzYW5kIGluIGJ1aWxkZGlyICMgVE9ETyBsb25nLXN0YW5kaW5nIGxp
bWl0YXRpb24KI1tzdGRlcnJdKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCiNbc3RkZXJyXSsgY2FzZSAk
a2VlcF90ZXN0ZGlycyBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgdGVzdCAnbm90
IG9rJyA9IG9rCiNbc3RkZXJyXSsgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkICdzZXQgLWUuJwoj
W3N0ZGVycl0rIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CiNbc3RkZXJyXSsgY2FzZSAkd2hlcmUg
aW4KI1tzdGRlcnJdKyBidWlsZD1idWlsZC1hbXBlcnNhbmQKI1tzdGRlcnJdKyBkZXN0PScvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYnCiNbc3Rk
ZXJyXSsgbWtkaXIgYnVpbGQtYW1wZXJzYW5kCiNbc3RkZXJyXSsgY2QgYnVpbGQtYW1wZXJzYW5k
CiNbc3RkZXJyXSsgcj1vawojW3N0ZGVycl0rIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAnLyYtcHJl
Zml4JwpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2lu
c3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBzbGVlcCBzdXBwb3J0cyBmcmFjdGlvbmFsIHNlY29u
ZHMuLi4geWVzCmNoZWNraW5nIGZpbGVzeXN0ZW0gdGltZXN0YW1wIHJlc29sdXRpb24uLi4gMC4w
MQpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNr
aW5nIGZvciBhIHJhY2UtZnJlZSBta2RpciAtcC4uLiBta2RpciAtcApjaGVja2luZyBmb3IgZ2F3
ay4uLiBubwpjaGVja2luZyBmb3IgbWF3ay4uLiBubwpjaGVja2luZyBmb3IgbmF3ay4uLiBubwpj
aGVja2luZyBmb3IgYXdrLi4uIGF3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0Up
Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4u
LiB5ZXMKY2hlY2tpbmcgeGFyZ3MgLW4gd29ya3MuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgVUlE
ICc1MDEnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVzCmNoZWNraW5nIHdoZXRo
ZXIgR0lEICcyMCcgaXMgc3VwcG9ydGVkIGJ5IHVzdGFyIGZvcm1hdC4uLiB5ZXMKY2hlY2tpbmcg
aG93IHRvIGNyZWF0ZSBhIHVzdGFyIHRhciBhcmNoaXZlLi4uIHBsYWludGFyCmNoZWNraW5nIGZv
ciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVz
CmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91
dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVy
IHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmpl
Y3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHRoZSBjb21waWxlciBzdXBwb3J0cyBHTlUg
Qy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcg
Zm9yIGdjYyBvcHRpb24gdG8gZW5hYmxlIEMyMyBmZWF0dXJlcy4uLiAtc3RkPWdudTIzCmNoZWNr
aW5nIHdoZXRoZXIgZ2NjIC1zdGQ9Z251MjMgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVy
Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0
aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYyAt
c3RkPWdudTIzLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNo
aXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpj
aGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4g
ZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBj
cmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFu
ZHMKI1tzdGRlcnJdKyBtYWtlIGFsbApnY2MgLXN0ZD1nbnUyMyAtRFBBQ0tBR0VfTkFNRT1cImlu
c3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1c
IjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQ
T1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJ
T049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAu
ZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3Nv
dXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAtc3RkPWdudTIzICAtZyAtTzIgICAtbyBzdWIv
YmFzZSBzb3VyY2UubyAgCmdjYyAtc3RkPWdudTIzICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNv
dXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjciBzdWIvbGliYmFzZS5hIHNvdXJjZS5v
IApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3Igc3ViL2xp
Ym5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCiNbc3RkZXJyXSsgREVT
VERJUj0nL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2Fu
ZC8mJwojW3N0ZGVycl0rIGZpbGU9Jy4vJicKI1tzdGRlcnJdKyBtYWtlIHRlc3QtaW5zdAptYWtl
WzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvYnVpbGQtYW1wZXJzYW5kJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9p
bnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvJi1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9m
b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJlZml4L2Zv
bycKICggY2QgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBl
cnNhbmQvJi8mLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogbWtkaXIgLXAgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXBy
ZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJlZml4L2ZvbycKIG1r
ZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJz
YW5kLyYvJi1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmlu
L2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJlZml4L2Zvby9zdWIvJwogbWtkaXIgLXAg
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8m
LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxs
IC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvJi1wcmVmaXgvZm9vL3N1YicKICggY2QgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZp
eC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28n
CiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWFt
cGVyc2FuZC8mLyYtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25v
YmFzZSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2Fu
ZC8mLyYtcHJlZml4L2Zvby9zdWIvJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9p
bnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9mb28nCiBta2RpciAtcCAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLyYt
cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXBy
ZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvJi1wcmVmaXgvZm9vL3N1
YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJlZml4
L2Zvby9zdWInCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LWFtcGVyc2FuZC8mLyYtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvJi1wcmVmaXgvZm9vL3N1
YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8mLXByZWZpeC9m
b28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9idWlsZC1hbXBlcnNhbmQnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLy4vJi1wcmVmaXgvZm9v
L3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvLi8mLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAt
ZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8m
Ly4vJi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvLi8mLXByZWZpeC9mb28vc3ViL25vYmFz
ZS5kYXQnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LWFtcGVyc2FuZC8mLy4vJi1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLy4vJi1w
cmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8uLyYtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNo
Jwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1h
bXBlcnNhbmQvJi8uLyYtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8mLy4vJi1wcmVmaXgv
Zm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWFtcGVyc2FuZC8mLy4vJi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAt
ZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWFtcGVyc2FuZC8m
Ly4vJi1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvLi8mLXByZWZpeC9mb28vYmFzZScKdGVz
dCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJz
YW5kLyYvLi8mLXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJi8uLyYtcHJlZml4
L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5kLyYvLi8mLXByZWZpeC9mb28vbGliYmFzZS5hJwojW3N0
ZGVycl0rIGRlc2NyaXB0aW9uPSdhbXBlcnNhbmQgaW4gZGVzdGRpcicKI1tzdGRlcnJdKyBleHBl
Y3RlZF90b19mYWlsIGRlc3QgYW1wZXJzYW5kCiNbc3RkZXJyXSsgY2FzZSAkMSBpbgojW3N0ZGVy
cl0rIGlzX2luX2xpc3QgYW1wZXJzYW5kIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxh
ciBsaW5lZmVlZCBhX2xmX2IKI1tzdGRlcnJdKyBpdGVtPWFtcGVyc2FuZAojW3N0ZGVycl0rIHNo
aWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVy
cl0rIGRpcmVjdGl2ZT0KI1tzdGRlcnJdKyByZWFzb249CiNbc3RkZXJyXSsgcmVzdWx0XyBvayAt
RCAnJyAtciAnJyAtLSAnYW1wZXJzYW5kIGluIGRlc3RkaXInCiNbc3RkZXJyXSsgc2V0ICt4Cm9r
IDE2IC0gYW1wZXJzYW5kIGluIGRlc3RkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCAxNiAtIGFtcGVy
c2FuZCBpbiBkZXN0ZGlyCiNbc3RkZXJyXSsgY2QgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpcgojW3N0ZGVycl0rIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCiNbc3RkZXJyXSsg
YW1fa2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KI1tz
dGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIHRlc3Qgb2sgPSBvawojW3N0ZGVycl0rIHJtX3Jm
XyBidWlsZC1hbXBlcnNhbmQgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1hbXBlcnNhbmQvJicKI1tzdGRlcnJdKyB0ZXN0IDIgLWd0IDAKI1tzdGRlcnJdKyBjaG1v
ZCAtUiB1K3J3eCBidWlsZC1hbXBlcnNhbmQgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJicKI1tzdGRlcnJdKyBybSAtcmYgYnVpbGQtYW1wZXJz
YW5kICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYW1wZXJzYW5k
LyYnCiNbc3RkZXJyXSsgX2FtX3JtcmZfc3RhdHVzPTAKI1tzdGRlcnJdKyBmb3IgX2FtX3JtcmZf
diBpbiAnIiRAIicKI1tzdGRlcnJdKyB0ZXN0IC1lIGJ1aWxkLWFtcGVyc2FuZAojW3N0ZGVycl0r
IGZvciBfYW1fcm1yZl92IGluICciJEAiJwojW3N0ZGVycl0rIHRlc3QgLWUgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hbXBlcnNhbmQvJicKI1tzdGRlcnJdKyBy
ZXR1cm4gMAojW3N0ZGVycl0rIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCAnc2V0IC1lLicKI1tz
dGRlcnJdKyBmb3IgdGVzdF9uYW1lIGluICckdGVzdF9uYW1lc19saXN0JwojW3N0ZGVycl0rIGV2
YWwgJ3Rlc3Rfc3RyaW5nPSR7aW5zdHNwY19fcGVyY2VudH0nCiNbc3RkZXJyXSsrIHRlc3Rfc3Ry
aW5nPSUKI1tzdGRlcnJdKyB0ZXN0IHglID0geAojW3N0ZGVycl0rIG1rZGlyIC4vJQojW3N0ZGVy
cl0rIGNhc2UgJHRlc3Rfc3RyaW5nIGluCiNbc3RkZXJyXSsgZm9yIHdoZXJlIGluIGJ1aWxkIGRl
c3QKI1tzdGRlcnJdKyBjYXNlICR3aGVyZSBpbgojW3N0ZGVycl0rIGJ1aWxkPS4vJQojW3N0ZGVy
cl0rIGRlc3Q9L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNl
bnQKI1tzdGRlcnJdKyBjZCAuLyUKI1tzdGRlcnJdKyByPW9rCiNbc3RkZXJyXSsgLi4vY29uZmln
dXJlIC0tcHJlZml4IC8lLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0
YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBzbGVlcCBzdXBwb3J0
cyBmcmFjdGlvbmFsIHNlY29uZHMuLi4geWVzCmNoZWNraW5nIGZpbGVzeXN0ZW0gdGltZXN0YW1w
IHJlc29sdXRpb24uLi4gMC4wMQpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlz
IHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHJhY2UtZnJlZSBta2RpciAtcC4uLiBta2RpciAt
cApjaGVja2luZyBmb3IgZ2F3ay4uLiBubwpjaGVja2luZyBmb3IgbWF3ay4uLiBubwpjaGVja2lu
ZyBmb3IgbmF3ay4uLiBubwpjaGVja2luZyBmb3IgYXdrLi4uIGF3awpjaGVja2luZyB3aGV0aGVy
IG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMg
bmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgeGFyZ3MgLW4gd29ya3MuLi4geWVzCmNo
ZWNraW5nIHdoZXRoZXIgVUlEICc1MDEnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4g
eWVzCmNoZWNraW5nIHdoZXRoZXIgR0lEICcyMCcgaXMgc3VwcG9ydGVkIGJ5IHVzdGFyIGZvcm1h
dC4uLiB5ZXMKY2hlY2tpbmcgaG93IHRvIGNyZWF0ZSBhIHVzdGFyIHRhciBhcmNoaXZlLi4uIHBs
YWludGFyCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29t
cGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0
IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4u
IApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcg
Zm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHRoZSBjb21w
aWxlciBzdXBwb3J0cyBHTlUgQy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAt
Zy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gZW5hYmxlIEMyMyBmZWF0dXJlcy4u
LiAtc3RkPWdudTIzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIC1zdGQ9Z251MjMgdW5kZXJzdGFuZHMg
LWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMg
dGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRl
bmN5IHN0eWxlIG9mIGdjYyAtc3RkPWdudTIzLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFy
CmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3Ig
cmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIg
dGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1
cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRp
bmcgZGVwZmlsZXMgY29tbWFuZHMKI1tzdGRlcnJdKyBtYWtlIGFsbApnY2MgLXN0ZD1nbnUyMyAt
RFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAt
RFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBc
IiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1c
Imluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3Vy
Y2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJj
ZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAtc3RkPWdudTIz
ICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAtc3RkPWdudTIzICAtZyAtTzIg
ICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjciBzdWIv
bGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9i
YXNlLmEKYXIgY3Igc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFz
ZS5hCiNbc3RkZXJyXSsgREVTVERJUj0vdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtcGVyY2VudAojW3N0ZGVycl0rIGZpbGU9Li8lCiNbc3RkZXJyXSsgbWFrZSB0ZXN0
LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyLyUnCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAt
YyAuLi9zdWIvYmFzZS5zaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4L2ZvbycKIC91c3IvYmluL2lu
c3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28nCiAoIGNkICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28nICYm
IHJhbmxpYiBsaWJiYXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxs
IC1jIHN1Yi9iYXNlICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
cGVyY2VudC8lLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4L2Zv
by9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28vc3Vi
LycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
cGVyY2VudC8lLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2lu
c3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4L2Zvby9zdWInCiAoIGNkICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9m
b28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4L2ZvbycKIG1rZGly
IC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8l
LXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4L2Zv
by9zdWIvJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1wZXJjZW50LyUtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4u
L3N1Yi9iYXNlLmRhdCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LXBlcmNlbnQvJS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3Rh
bGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28nCiBt
a2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNl
bnQvJS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIv
bm9iYXNlLmRhdCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBl
cmNlbnQvJS1wcmVmaXgvZm9vL3N1YicKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS1wcmVmaXgv
Zm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUtcHJlZml4
L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyLyUnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvLi8lLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0
ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJj
ZW50Ly4vJS1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50Ly4vJS1wcmVmaXgvZm9vL2Jhc2UuaCcK
dGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVy
Y2VudC8uLyUtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8uLyUtcHJlZml4L2Zvby9u
b2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1wZXJjZW50Ly4vJS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50Ly4vJS1wcmVmaXgv
Zm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvLi8lLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAg
LWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50Ly4v
JS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvLi8lLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVz
dCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2Vu
dC8uLyUtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvLi8lLXByZWZpeC9mb28vYmFzZScKdGVzdCAg
IC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8u
LyUtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvLi8lLXByZWZpeC9mb28vbGlibm9i
YXNlLmEnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LXBlcmNlbnQvLi8lLXByZWZpeC9mb28vbGliYmFzZS5hJwojW3N0ZGVycl0rIGRlc2NyaXB0
aW9uPSdwZXJjZW50IGluIGJ1aWxkZGlyJwojW3N0ZGVycl0rIGV4cGVjdGVkX3RvX2ZhaWwgYnVp
bGQgcGVyY2VudAojW3N0ZGVycl0rIGNhc2UgJDEgaW4KI1tzdGRlcnJdKyBpc19pbl9saXN0IHBl
cmNlbnQgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQg
bGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgojW3N0ZGVycl0rIGl0ZW09cGVyY2VudAojW3N0
ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4g
MQojW3N0ZGVycl0rIGRpcmVjdGl2ZT0Kb2sgMTcgLSBwZXJjZW50IGluIGJ1aWxkZGlyClBBU1M6
IHQvaW5zdHNwYy50YXAgMTcgLSBwZXJjZW50IGluIGJ1aWxkZGlyCiNbc3RkZXJyXSsgcmVhc29u
PQojW3N0ZGVycl0rIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ3BlcmNlbnQgaW4gYnVpbGRk
aXInCiNbc3RkZXJyXSsgc2V0ICt4CiNbc3RkZXJyXSsgY2QgL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpcgojW3N0ZGVycl0rIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCiNbc3Rk
ZXJyXSsgYW1fa2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGNhc2UgJGtlZXBfdGVzdGRpcnMg
aW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIHRlc3Qgb2sgPSBvawojW3N0ZGVycl0r
IHJtX3JmXyAuLyUgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBl
cmNlbnQKI1tzdGRlcnJdKyB0ZXN0IDIgLWd0IDAKI1tzdGRlcnJdKyBjaG1vZCAtUiB1K3J3eCAu
LyUgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQKI1tz
dGRlcnJdKyBybSAtcmYgLi8lIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1wZXJjZW50CiNbc3RkZXJyXSsgX2FtX3JtcmZfc3RhdHVzPTAKI1tzdGRlcnJdKyBmb3Ig
X2FtX3JtcmZfdiBpbiAnIiRAIicKI1tzdGRlcnJdKyB0ZXN0IC1lIC4vJQojW3N0ZGVycl0rIGZv
ciBfYW1fcm1yZl92IGluICciJEAiJwojW3N0ZGVycl0rIHRlc3QgLWUgL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQKI1tzdGRlcnJdKyByZXR1cm4gMAoj
W3N0ZGVycl0rIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCAnc2V0IC1lLicKI1tzdGRlcnJdKyBm
b3Igd2hlcmUgaW4gYnVpbGQgZGVzdAojW3N0ZGVycl0rIGNhc2UgJHdoZXJlIGluCiNbc3RkZXJy
XSsgYnVpbGQ9YnVpbGQtcGVyY2VudAojW3N0ZGVycl0rIGRlc3Q9L3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJQojW3N0ZGVycl0rIG1rZGlyIGJ1aWxk
LXBlcmNlbnQKI1tzdGRlcnJdKyBjZCBidWlsZC1wZXJjZW50CiNbc3RkZXJyXSsgcj1vawojW3N0
ZGVycl0rIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvJS1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNE
LWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRo
ZXIgc2xlZXAgc3VwcG9ydHMgZnJhY3Rpb25hbCBzZWNvbmRzLi4uIHllcwpjaGVja2luZyBmaWxl
c3lzdGVtIHRpbWVzdGFtcCByZXNvbHV0aW9uLi4uIDAuMDEKY2hlY2tpbmcgd2hldGhlciBidWls
ZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSByYWNlLWZyZWUgbWtk
aXIgLXAuLi4gbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gbm8KY2hlY2tpbmcgZm9yIG1h
d2suLi4gbm8KY2hlY2tpbmcgZm9yIG5hd2suLi4gbm8KY2hlY2tpbmcgZm9yIGF3ay4uLiBhd2sK
Y2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhl
ciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHhhcmdzIC1u
IHdvcmtzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIFVJRCAnNTAxJyBpcyBzdXBwb3J0ZWQgYnkg
dXN0YXIgZm9ybWF0Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIEdJRCAnMjAnIGlzIHN1cHBvcnRl
ZCBieSB1c3RhciBmb3JtYXQuLi4geWVzCmNoZWNraW5nIGhvdyB0byBjcmVhdGUgYSB1c3RhciB0
YXIgYXJjaGl2ZS4uLiBwbGFpbnRhcgpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3
aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxl
ciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBv
ZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5n
Li4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcg
d2hldGhlciB0aGUgY29tcGlsZXIgc3VwcG9ydHMgR05VIEMuLi4geWVzCmNoZWNraW5nIHdoZXRo
ZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGVuYWJs
ZSBDMjMgZmVhdHVyZXMuLi4gLXN0ZD1nbnUyMwpjaGVja2luZyB3aGV0aGVyIGdjYyAtc3RkPWdu
dTIzIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhl
ciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkK
Y2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MgLXN0ZD1nbnUyMy4uLiBnY2MzCmNoZWNr
aW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4g
YXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQg
ZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGlu
ZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmln
LnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCiNbc3RkZXJyXSsgbWFrZSBhbGwK
Z2NjIC1zdGQ9Z251MjMgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5B
TUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5H
PVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9
XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAg
IC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBz
b3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5Q
bwpnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgLXN0
ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJi
YXNlLmEKYXIgY3Igc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEK
cm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNyIHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFu
bGliIHN1Yi9saWJub2Jhc2UuYQojW3N0ZGVycl0rIERFU1RESVI9L3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJQojW3N0ZGVycl0rIGZpbGU9Li8lCiNb
c3RkZXJyXSsgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2J1aWxkLXBlcmNlbnQnCiBta2RpciAt
cCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8l
LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLyUtcHJlZml4L2Zv
bycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
cGVyY2VudC8lLyUtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIv
bGliYmFzZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVy
Y2VudC8lLyUtcHJlZml4L2ZvbycKICggY2QgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5h
ICkKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
cGVyY2VudC8lLyUtcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLyUtcHJl
Zml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtcGVyY2VudC8lLyUtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLyUtcHJlZml4L2Zvby9zdWIvJwog
L3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLyUtcHJlZml4L2Zvby9zdWIvJwogbWtk
aXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50
LyUvJS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3Rh
bGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgvZm9vL3N1YicKICggY2QgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgv
Zm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLyUtcHJlZml4L2ZvbycKIG1r
ZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2Vu
dC8lLyUtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8lLXBy
ZWZpeC9mb28vc3ViLycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtcGVyY2VudC8lLyUtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg
LW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LXBlcmNlbnQvJS8lLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8lLXByZWZpeC9mb28nCiAv
dXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLyUtcHJlZml4L2ZvbycKIG1rZGly
IC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8l
LyUtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtcGVyY2VudC8lLyUtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxs
IC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvJS1wcmVmaXgvZm9vL3N1YicKIG1rZGlyIC1wICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLyUtcHJl
Zml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtcGVyY2VudC8lLyUtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t
IDY0NCAgLi4vc3ViL25vYmFzZS5oICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtcGVyY2VudC8lLyUtcHJlZml4L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcgZGly
ZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2J1aWxkLXBlcmNl
bnQnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LXBlcmNlbnQvJS8uLyUtcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8uLyUtcHJlZml4
L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtcGVyY2VudC8lLy4vJS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLy4vJS1w
cmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvLi8lLXByZWZpeC9mb28vbm9iYXNlLmRh
dCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
cGVyY2VudC8lLy4vJS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvLi8lLXByZWZpeC9mb28v
c3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtcGVyY2VudC8lLy4vJS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1m
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLy4v
JS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJS8uLyUtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0
ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJj
ZW50LyUvLi8lLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvLi8lLXByZWZpeC9mb28vYmFzZScK
dGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVy
Y2VudC8lLy4vJS1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lLy4vJS1wcmVmaXgv
Zm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1wZXJjZW50LyUvLi8lLXByZWZpeC9mb28vbGliYmFzZS5hJwojW3N0ZGVy
cl0rIGRlc2NyaXB0aW9uPSdwZXJjZW50IGluIGRlc3RkaXInCiNbc3RkZXJyXSsgZXhwZWN0ZWRf
dG9fZmFpbCBkZXN0IHBlcmNlbnQKb2sgMTggLSBwZXJjZW50IGluIGRlc3RkaXIKUEFTUzogdC9p
bnN0c3BjLnRhcCAxOCAtIHBlcmNlbnQgaW4gZGVzdGRpcgojW3N0ZGVycl0rIGNhc2UgJDEgaW4K
I1tzdGRlcnJdKyBpc19pbl9saXN0IHBlcmNlbnQgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAg
ZG9sbGFyIGxpbmVmZWVkIGFfbGZfYgojW3N0ZGVycl0rIGl0ZW09cGVyY2VudAojW3N0ZGVycl0r
IHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0
ZGVycl0rIGRpcmVjdGl2ZT0KI1tzdGRlcnJdKyByZWFzb249CiNbc3RkZXJyXSsgcmVzdWx0XyBv
ayAtRCAnJyAtciAnJyAtLSAncGVyY2VudCBpbiBkZXN0ZGlyJwojW3N0ZGVycl0rIHNldCAreAoj
W3N0ZGVycl0rIGNkIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIKI1tzdGRl
cnJdKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGFtX2tlZXBpbmdfdGVzdGRp
cnMKI1tzdGRlcnJdKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEK
I1tzdGRlcnJdKyB0ZXN0IG9rID0gb2sKI1tzdGRlcnJdKyBybV9yZl8gYnVpbGQtcGVyY2VudCAv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lCiNbc3Rk
ZXJyXSsgdGVzdCAyIC1ndCAwCiNbc3RkZXJyXSsgY2htb2QgLVIgdStyd3ggYnVpbGQtcGVyY2Vu
dCAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2VudC8lCiNb
c3RkZXJyXSsgcm0gLXJmIGJ1aWxkLXBlcmNlbnQgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LXBlcmNlbnQvJQojW3N0ZGVycl0rIF9hbV9ybXJmX3N0YXR1cz0wCiNb
c3RkZXJyXSsgZm9yIF9hbV9ybXJmX3YgaW4gJyIkQCInCiNbc3RkZXJyXSsgdGVzdCAtZSBidWls
ZC1wZXJjZW50CiNbc3RkZXJyXSsgZm9yIF9hbV9ybXJmX3YgaW4gJyIkQCInCiNbc3RkZXJyXSsg
dGVzdCAtZSAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGVyY2Vu
dC8lCiNbc3RkZXJyXSsgcmV0dXJuIDAKI1tzdGRlcnJdKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0
ZWQgJ3NldCAtZS4nCiNbc3RkZXJyXSsgZm9yIHRlc3RfbmFtZSBpbiAnJHRlc3RfbmFtZXNfbGlz
dCcKI1tzdGRlcnJdKyBldmFsICd0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2xlZnRwYXJ9JwojW3N0
ZGVycl0rKyB0ZXN0X3N0cmluZz0nKCcKI1tzdGRlcnJdKyB0ZXN0ICd4KCcgPSB4CiNbc3RkZXJy
XSsgbWtkaXIgJy4vKCcKI1tzdGRlcnJdKyBjYXNlICR0ZXN0X3N0cmluZyBpbgojW3N0ZGVycl0r
IGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CiNbc3RkZXJyXSsgY2FzZSAkd2hlcmUgaW4KI1tzdGRl
cnJdKyBidWlsZD0nLi8oJwojW3N0ZGVycl0rIGRlc3Q9L3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIKI1tzdGRlcnJdKyBjZCAnLi8oJwojW3N0ZGVycl0r
IHI9b2sKI1tzdGRlcnJdKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy8oLXByZWZpeCcKY2hlY2tp
bmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNo
ZWNraW5nIHdoZXRoZXIgc2xlZXAgc3VwcG9ydHMgZnJhY3Rpb25hbCBzZWNvbmRzLi4uIHllcwpj
aGVja2luZyBmaWxlc3lzdGVtIHRpbWVzdGFtcCByZXNvbHV0aW9uLi4uIDAuMDEKY2hlY2tpbmcg
d2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSBy
YWNlLWZyZWUgbWtkaXIgLXAuLi4gbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gbm8KY2hl
Y2tpbmcgZm9yIG1hd2suLi4gbm8KY2hlY2tpbmcgZm9yIG5hd2suLi4gbm8KY2hlY2tpbmcgZm9y
IGF3ay4uLiBhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hl
Y2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNr
aW5nIHhhcmdzIC1uIHdvcmtzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIFVJRCAnNTAxJyBpcyBz
dXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIEdJRCAnMjAn
IGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVzCmNoZWNraW5nIGhvdyB0byBjcmVh
dGUgYSB1c3RhciB0YXIgYXJjaGl2ZS4uLiBwbGFpbnRhcgpjaGVja2luZyBmb3IgZ2NjLi4uIGdj
YwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBm
b3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcg
Zm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jv
c3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4u
IG8KY2hlY2tpbmcgd2hldGhlciB0aGUgY29tcGlsZXIgc3VwcG9ydHMgR05VIEMuLi4geWVzCmNo
ZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0
aW9uIHRvIGVuYWJsZSBDMjMgZmVhdHVyZXMuLi4gLXN0ZD1nbnUyMwpjaGVja2luZyB3aGV0aGVy
IGdjYyAtc3RkPWdudTIzIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hl
Y2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMg
KEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MgLXN0ZD1nbnUyMy4u
LiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBp
bnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhh
dCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmln
dXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFr
ZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCiNbc3RkZXJy
XSsgbWFrZSBhbGwKZ2NjIC1zdGQ9Z251MjMgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQ
QUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBB
Q0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1E
UEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIg
LUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNl
LlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5k
ZXBzL3NvdXJjZS5QbwpnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNl
Lm8gIApnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJt
IC1mIHN1Yi9saWJiYXNlLmEKYXIgY3Igc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1
Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNyIHN1Yi9saWJub2Jhc2UuYSBz
b3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQojW3N0ZGVycl0rIERFU1RESVI9L3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIKI1tzdGRlcnJdKyBm
aWxlPScuLygnCiNbc3RkZXJyXSsgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGly
ZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyLygnCiBta2RpciAt
cCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1w
cmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vJwog
bWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0
cGFyLygtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFz
ZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8o
LXByZWZpeC9mb28nCiAoIGNkICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogbWtkaXIg
LXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygt
cHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28nCiBta2Rp
ciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIv
KC1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAt
YyAuLi9zdWIvbm9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28vc3ViLycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28nCiBta2Rp
ciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIv
KC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9i
YXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFy
LygtcHJlZml4L2Zvby9zdWInCiAoIGNkICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNl
LmEgKQogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1sZWZ0cGFyLygtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jp
bi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4L2Zvby9zdWIvJwogbWtkaXIgLXAgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4L2ZvbycK
IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vJwogbWtk
aXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFy
LygtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmgg
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJl
Zml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtbGVmdHBhci8oLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vL3N1YicKIC91c3Iv
YmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vL3N1YicKIG1r
ZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBh
ci8oLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LWxlZnRwYXIvKC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwg
LWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygtcHJlZml4L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcg
ZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyLygnCnRlc3Qg
ICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIv
Li8oLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL25vYmFzZS5o
Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1s
ZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8uLygtcHJlZml4L2Zvby9zdWIvbm9i
YXNlLmRhdCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtbGVmdHBhci8uLygtcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgv
Zm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAt
ZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvLi8o
LXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLy4vKC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3Qg
ICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIv
Li8oLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8uLygtcHJlZml4L2Zvby9ub2Jhc2UnCnRl
c3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRw
YXIvLi8oLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8uLygtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNl
LmEnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LWxlZnRwYXIvLi8oLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvLi8oLXByZWZpeC9mb28v
bGliYmFzZS5hJwpvayAxOSAtIGxlZnRwYXIgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRh
cCAxOSAtIGxlZnRwYXIgaW4gYnVpbGRkaXIKI1tzdGRlcnJdKyBkZXNjcmlwdGlvbj0nbGVmdHBh
ciBpbiBidWlsZGRpcicKI1tzdGRlcnJdKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGxlZnRwYXIK
I1tzdGRlcnJdKyBjYXNlICQxIGluCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBsZWZ0cGFyIHNxdW90
ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1
YWRyaWdyYXBoMCBhX2xmX2IKI1tzdGRlcnJdKyBpdGVtPWxlZnRwYXIKI1tzdGRlcnJdKyBzaGlm
dAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJd
KyBkaXJlY3RpdmU9CiNbc3RkZXJyXSsgcmVhc29uPQojW3N0ZGVycl0rIHJlc3VsdF8gb2sgLUQg
JycgLXIgJycgLS0gJ2xlZnRwYXIgaW4gYnVpbGRkaXInCiNbc3RkZXJyXSsgc2V0ICt4CiNbc3Rk
ZXJyXSsgY2QgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpcgojW3N0ZGVycl0r
IG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCiNbc3RkZXJyXSsgYW1fa2VlcGluZ190ZXN0ZGlycwoj
W3N0ZGVycl0rIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0
ZGVycl0rIHRlc3Qgb2sgPSBvawojW3N0ZGVycl0rIHJtX3JmXyAnLi8oJyAvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhcgojW3N0ZGVycl0rIHRlc3QgMiAt
Z3QgMAojW3N0ZGVycl0rIGNobW9kIC1SIHUrcnd4ICcuLygnIC91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyCiNbc3RkZXJyXSsgcm0gLXJmICcuLygnIC91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyCiNbc3RkZXJy
XSsgX2FtX3JtcmZfc3RhdHVzPTAKI1tzdGRlcnJdKyBmb3IgX2FtX3JtcmZfdiBpbiAnIiRAIicK
I1tzdGRlcnJdKyB0ZXN0IC1lICcuLygnCiNbc3RkZXJyXSsgZm9yIF9hbV9ybXJmX3YgaW4gJyIk
QCInCiNbc3RkZXJyXSsgdGVzdCAtZSAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtbGVmdHBhcgojW3N0ZGVycl0rIHJldHVybiAwCiNbc3RkZXJyXSsgOiBGb3Igc2hl
bGxzIHdpdGggYnVzdGVkICdzZXQgLWUuJwojW3N0ZGVycl0rIGZvciB3aGVyZSBpbiBidWlsZCBk
ZXN0CiNbc3RkZXJyXSsgY2FzZSAkd2hlcmUgaW4KI1tzdGRlcnJdKyBidWlsZD1idWlsZC1sZWZ0
cGFyCiNbc3RkZXJyXSsgZGVzdD0nL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LWxlZnRwYXIvKCcKI1tzdGRlcnJdKyBta2RpciBidWlsZC1sZWZ0cGFyCiNbc3RkZXJy
XSsgY2QgYnVpbGQtbGVmdHBhcgojW3N0ZGVycl0rIHI9b2sKI1tzdGRlcnJdKyAuLi9jb25maWd1
cmUgLS1wcmVmaXggJy8oLXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5z
dGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgc2xlZXAgc3VwcG9y
dHMgZnJhY3Rpb25hbCBzZWNvbmRzLi4uIHllcwpjaGVja2luZyBmaWxlc3lzdGVtIHRpbWVzdGFt
cCByZXNvbHV0aW9uLi4uIDAuMDEKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBp
cyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSByYWNlLWZyZWUgbWtkaXIgLXAuLi4gbWtkaXIg
LXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gbm8KY2hlY2tpbmcgZm9yIG1hd2suLi4gbm8KY2hlY2tp
bmcgZm9yIG5hd2suLi4gbm8KY2hlY2tpbmcgZm9yIGF3ay4uLiBhd2sKY2hlY2tpbmcgd2hldGhl
ciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRz
IG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHhhcmdzIC1uIHdvcmtzLi4uIHllcwpj
aGVja2luZyB3aGV0aGVyIFVJRCAnNTAxJyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4u
IHllcwpjaGVja2luZyB3aGV0aGVyIEdJRCAnMjAnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3Jt
YXQuLi4geWVzCmNoZWNraW5nIGhvdyB0byBjcmVhdGUgYSB1c3RhciB0YXIgYXJjaGl2ZS4uLiBw
bGFpbnRhcgpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNv
bXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1
dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4u
LiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5n
IGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB0aGUgY29t
cGlsZXIgc3VwcG9ydHMgR05VIEMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMg
LWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGVuYWJsZSBDMjMgZmVhdHVyZXMu
Li4gLXN0ZD1nbnUyMwpjaGVja2luZyB3aGV0aGVyIGdjYyAtc3RkPWdudTIzIHVuZGVyc3RhbmRz
IC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRz
IHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5k
ZW5jeSBzdHlsZSBvZiBnY2MgLXN0ZD1nbnUyMy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBh
cgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9y
IHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2Vy
IHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0
dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0
aW5nIGRlcGZpbGVzIGNvbW1hbmRzCiNbc3RkZXJyXSsgbWFrZSBhbGwKZ2NjIC1zdGQ9Z251MjMg
LURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIg
LURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4w
XCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9
XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291
cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3Vy
Y2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgLXN0ZD1nbnUy
MyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgLXN0ZD1nbnUyMyAgLWcgLU8y
ICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3Igc3Vi
L2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5v
YmFzZS5hCmFyIGNyIHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jh
c2UuYQojW3N0ZGVycl0rIERFU1RESVI9Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1sZWZ0cGFyLygnCiNbc3RkZXJyXSsgZmlsZT0nLi8oJwojW3N0ZGVycl0rIG1h
a2UgdGVzdC1pbnN0Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9idWlsZC1sZWZ0cGFyJwogbWtkaXIgLXAgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgvZm9v
JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9mb28nCiBta2RpciAt
cCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8o
LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8oLXBy
ZWZpeC9mb28nCiAoIGNkICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtbGVmdHBhci8oLygtcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiBta2RpciAt
cCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8o
LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9mb28nCiBt
a2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRw
YXIvKC8oLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2lu
c3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9mb28vc3ViLycKIG1rZGlyIC1wICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLygtcHJlZml4
L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtbGVmdHBhci8oLygtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0
NCAgc3ViL2xpYm5vYmFzZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtbGVmdHBhci8oLygtcHJlZml4L2Zvby9zdWInCiAoIGNkICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLygtcHJlZml4L2ZvbycgJiYgcmFu
bGliIHN1Yi9saWJub2Jhc2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8oLXByZWZp
eC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgvZm9vL3N1
Yi8nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LWxlZnRwYXIvKC8oLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z
dWIvYmFzZS5kYXQgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1s
ZWZ0cGFyLygvKC1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvKC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5z
dGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9m
b28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LWxlZnRwYXIvKC8oLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg
IC4uL3N1Yi9ub2Jhc2UuZGF0ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtbGVmdHBhci8oLygtcHJlZml4L2Zvby9zdWInCiBta2RpciAtcCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8oLXByZWZpeC9mb28nCiBt
a2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRw
YXIvKC8oLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1
Yi9ub2Jhc2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxl
ZnRwYXIvKC8oLXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9idWlsZC1sZWZ0cGFyJwp0ZXN0ICAg
LWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygv
Li8oLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygvLi8oLXByZWZpeC9mb28vbm9iYXNl
LmgnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LWxlZnRwYXIvKC8uLygtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8uLygtcHJlZml4L2Zvby9z
dWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtbGVmdHBhci8oLy4vKC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAt
ZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8u
LygtcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLy4vKC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu
c2gnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LWxlZnRwYXIvKC8uLygtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8uLygtcHJlZml4L2Zv
by9iYXNlLnNoJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1sZWZ0cGFyLygvLi8oLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLy4vKC1w
cmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtbGVmdHBhci8oLy4vKC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8uLygt
cHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKC8uLygtcHJlZml4L2Zvby9saWJub2Jh
c2UuYScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtbGVmdHBhci8oLy4vKC1wcmVmaXgvZm9vL2xpYmJhc2UuYScKI1tzdGRlcnJdKyBkZXNjcmlw
dGlvbj0nbGVmdHBhciBpbiBkZXN0ZGlyJwojW3N0ZGVycl0rIGV4cGVjdGVkX3RvX2ZhaWwgZGVz
dCBsZWZ0cGFyCiNbc3RkZXJyXSsgY2FzZSAkMSBpbgojW3N0ZGVycl0rIGlzX2luX2xpc3QgbGVm
dHBhciBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCiNb
c3RkZXJyXSsgaXRlbT1sZWZ0cGFyCiNbc3RkZXJyXSsgc2hpZnQKb2sgMjAgLSBsZWZ0cGFyIGlu
IGRlc3RkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCAyMCAtIGxlZnRwYXIgaW4gZGVzdGRpcgojW3N0
ZGVycl0rIGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBkaXJl
Y3RpdmU9CiNbc3RkZXJyXSsgcmVhc29uPQojW3N0ZGVycl0rIHJlc3VsdF8gb2sgLUQgJycgLXIg
JycgLS0gJ2xlZnRwYXIgaW4gZGVzdGRpcicKI1tzdGRlcnJdKyBzZXQgK3gKI1tzdGRlcnJdKyBj
ZCAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyCiNbc3RkZXJyXSsgbm90IGFt
X2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCiNbc3RkZXJy
XSsgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsg
dGVzdCBvayA9IG9rCiNbc3RkZXJyXSsgcm1fcmZfIGJ1aWxkLWxlZnRwYXIgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygnCiNbc3RkZXJyXSsgdGVz
dCAyIC1ndCAwCiNbc3RkZXJyXSsgY2htb2QgLVIgdStyd3ggYnVpbGQtbGVmdHBhciAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlZnRwYXIvKCcKI1tzdGRlcnJd
KyBybSAtcmYgYnVpbGQtbGVmdHBhciAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWxlZnRwYXIvKCcKI1tzdGRlcnJdKyBfYW1fcm1yZl9zdGF0dXM9MAojW3N0ZGVy
cl0rIGZvciBfYW1fcm1yZl92IGluICciJEAiJwojW3N0ZGVycl0rIHRlc3QgLWUgYnVpbGQtbGVm
dHBhcgojW3N0ZGVycl0rIGZvciBfYW1fcm1yZl92IGluICciJEAiJwojW3N0ZGVycl0rIHRlc3Qg
LWUgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZWZ0cGFyLygn
CiNbc3RkZXJyXSsgcmV0dXJuIDAKI1tzdGRlcnJdKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQg
J3NldCAtZS4nCiNbc3RkZXJyXSsgZm9yIHRlc3RfbmFtZSBpbiAnJHRlc3RfbmFtZXNfbGlzdCcK
I1tzdGRlcnJdKyBldmFsICd0ZXN0X3N0cmluZz0ke2luc3RzcGNfX3JpZ2h0cGFyfScKI1tzdGRl
cnJdKysgdGVzdF9zdHJpbmc9JyknCiNbc3RkZXJyXSsgdGVzdCAneCknID0geAojW3N0ZGVycl0r
IG1rZGlyICcuLyknCiNbc3RkZXJyXSsgY2FzZSAkdGVzdF9zdHJpbmcgaW4KI1tzdGRlcnJdKyBm
b3Igd2hlcmUgaW4gYnVpbGQgZGVzdAojW3N0ZGVycl0rIGNhc2UgJHdoZXJlIGluCiNbc3RkZXJy
XSsgYnVpbGQ9Jy4vKScKI1tzdGRlcnJdKyBkZXN0PS91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhcgojW3N0ZGVycl0rIGNkICcuLyknCiNbc3RkZXJyXSsg
cj1vawojW3N0ZGVycl0rIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAnLyktcHJlZml4JwpjaGVja2lu
ZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hl
Y2tpbmcgd2hldGhlciBzbGVlcCBzdXBwb3J0cyBmcmFjdGlvbmFsIHNlY29uZHMuLi4geWVzCmNo
ZWNraW5nIGZpbGVzeXN0ZW0gdGltZXN0YW1wIHJlc29sdXRpb24uLi4gMC4wMQpjaGVja2luZyB3
aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHJh
Y2UtZnJlZSBta2RpciAtcC4uLiBta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBubwpjaGVj
a2luZyBmb3IgbWF3ay4uLiBubwpjaGVja2luZyBmb3IgbmF3ay4uLiBubwpjaGVja2luZyBmb3Ig
YXdrLi4uIGF3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVj
a2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tp
bmcgeGFyZ3MgLW4gd29ya3MuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgVUlEICc1MDEnIGlzIHN1
cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgR0lEICcyMCcg
aXMgc3VwcG9ydGVkIGJ5IHVzdGFyIGZvcm1hdC4uLiB5ZXMKY2hlY2tpbmcgaG93IHRvIGNyZWF0
ZSBhIHVzdGFyIHRhciBhcmNoaXZlLi4uIHBsYWludGFyCmNoZWNraW5nIGZvciBnY2MuLi4gZ2Nj
CmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZv
ciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBm
b3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9z
cyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4g
bwpjaGVja2luZyB3aGV0aGVyIHRoZSBjb21waWxlciBzdXBwb3J0cyBHTlUgQy4uLiB5ZXMKY2hl
Y2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRp
b24gdG8gZW5hYmxlIEMyMyBmZWF0dXJlcy4uLiAtc3RkPWdudTIzCmNoZWNraW5nIHdoZXRoZXIg
Z2NjIC1zdGQ9Z251MjMgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVj
a2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAo
R05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYyAtc3RkPWdudTIzLi4u
IGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGlu
dGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0
IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1
cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtl
ZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKI1tzdGRlcnJd
KyBtYWtlIGFsbApnY2MgLXN0ZD1nbnUyMyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBB
Q0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFD
S0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQ
QUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAt
SS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2Uu
VHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRl
cHMvc291cmNlLlBvCmdjYyAtc3RkPWdudTIzICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2Uu
byAgCmdjYyAtc3RkPWdudTIzICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0g
LWYgc3ViL2xpYmJhc2UuYQphciBjciBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3Vi
L2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3Igc3ViL2xpYm5vYmFzZS5hIHNv
dXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCiNbc3RkZXJyXSsgREVTVERJUj0vdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIKI1tzdGRlcnJdKyBm
aWxlPScuLyknCiNbc3RkZXJyXSsgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGly
ZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyLyknCiBta2RpciAt
cCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykt
cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLXByZWZpeC9mb28n
CiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJp
Z2h0cGFyLyktcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGli
YmFzZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRw
YXIvKS1wcmVmaXgvZm9vJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiBt
a2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0
cGFyLyktcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9v
JwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1y
aWdodHBhci8pLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4v
aW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4
L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0
ICBzdWIvbGlibm9iYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1yaWdodHBhci8pLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbycgJiYgcmFubGli
IHN1Yi9saWJub2Jhc2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9v
L3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vL3N1Yi8nCiBt
a2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0
cGFyLyktcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl
LmRhdCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFy
LyktcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt
bSA2NDQgLi4vc3ViL2Jhc2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vJwogbWtkaXIg
LXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8p
LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh
c2UuZGF0ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRw
YXIvKS1wcmVmaXgvZm9vL3N1YicKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLXByZWZpeC9m
b28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyktcHJlZml4
L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyLyknCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLy4vKS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcK
dGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtcmln
aHRwYXIvLi8pLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLy4vKS1wcmVmaXgvZm9vL2Jhc2Uu
aCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
cmlnaHRwYXIvLi8pLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLy4vKS1wcmVmaXgv
Zm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LXJpZ2h0cGFyLy4vKS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYg
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8uLykt
cHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8uLyktcHJlZml4L2Zvby9ub2Jhc2Uuc2gn
CnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJp
Z2h0cGFyLy4vKS1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLy4vKS1wcmVmaXgvZm9vL3N1Yi9u
b2Jhc2UnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LXJpZ2h0cGFyLy4vKS1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvLi8pLXByZWZpeC9mb28v
YmFzZScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtcmlnaHRwYXIvLi8pLXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8uLyktcHJl
Zml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvLi8pLXByZWZpeC9mb28vbGliYmFzZS5hJwojW3N0
ZGVycl0rIGRlc2NyaXB0aW9uPSdyaWdodHBhciBpbiBidWlsZGRpcicKI1tzdGRlcnJdKyBleHBl
Y3RlZF90b19mYWlsIGJ1aWxkIHJpZ2h0cGFyCiNbc3RkZXJyXSsgY2FzZSAkMSBpbgojW3N0ZGVy
cl0rIGlzX2luX2xpc3QgcmlnaHRwYXIgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFy
IGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgojW3N0ZGVycl0r
IGl0ZW09cmlnaHRwYXIKI1tzdGRlcnJdKyBzaGlmdApvayAyMSAtIHJpZ2h0cGFyIGluIGJ1aWxk
ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMjEgLSByaWdodHBhciBpbiBidWlsZGRpcgojW3N0ZGVy
cl0rIGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBkaXJlY3Rp
dmU9CiNbc3RkZXJyXSsgcmVhc29uPQojW3N0ZGVycl0rIHJlc3VsdF8gb2sgLUQgJycgLXIgJycg
LS0gJ3JpZ2h0cGFyIGluIGJ1aWxkZGlyJwojW3N0ZGVycl0rIHNldCAreAojW3N0ZGVycl0rIGNk
IC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIKI1tzdGRlcnJdKyBub3QgYW1f
a2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJd
KyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyB0
ZXN0IG9rID0gb2sKI1tzdGRlcnJdKyBybV9yZl8gJy4vKScgL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyCiNbc3RkZXJyXSsgdGVzdCAyIC1ndCAwCiNb
c3RkZXJyXSsgY2htb2QgLVIgdStyd3ggJy4vKScgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyCiNbc3RkZXJyXSsgcm0gLXJmICcuLyknIC91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhcgojW3N0ZGVycl0rIF9h
bV9ybXJmX3N0YXR1cz0wCiNbc3RkZXJyXSsgZm9yIF9hbV9ybXJmX3YgaW4gJyIkQCInCiNbc3Rk
ZXJyXSsgdGVzdCAtZSAnLi8pJwojW3N0ZGVycl0rIGZvciBfYW1fcm1yZl92IGluICciJEAiJwoj
W3N0ZGVycl0rIHRlc3QgLWUgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LXJpZ2h0cGFyCiNbc3RkZXJyXSsgcmV0dXJuIDAKI1tzdGRlcnJdKyA6IEZvciBzaGVsbHMg
d2l0aCBidXN0ZWQgJ3NldCAtZS4nCiNbc3RkZXJyXSsgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QK
I1tzdGRlcnJdKyBjYXNlICR3aGVyZSBpbgojW3N0ZGVycl0rIGJ1aWxkPWJ1aWxkLXJpZ2h0cGFy
CiNbc3RkZXJyXSsgZGVzdD0nL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LXJpZ2h0cGFyLyknCiNbc3RkZXJyXSsgbWtkaXIgYnVpbGQtcmlnaHRwYXIKI1tzdGRlcnJd
KyBjZCBidWlsZC1yaWdodHBhcgojW3N0ZGVycl0rIHI9b2sKI1tzdGRlcnJdKyAuLi9jb25maWd1
cmUgLS1wcmVmaXggJy8pLXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5z
dGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgc2xlZXAgc3VwcG9y
dHMgZnJhY3Rpb25hbCBzZWNvbmRzLi4uIHllcwpjaGVja2luZyBmaWxlc3lzdGVtIHRpbWVzdGFt
cCByZXNvbHV0aW9uLi4uIDAuMDEKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBp
cyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSByYWNlLWZyZWUgbWtkaXIgLXAuLi4gbWtkaXIg
LXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gbm8KY2hlY2tpbmcgZm9yIG1hd2suLi4gbm8KY2hlY2tp
bmcgZm9yIG5hd2suLi4gbm8KY2hlY2tpbmcgZm9yIGF3ay4uLiBhd2sKY2hlY2tpbmcgd2hldGhl
ciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRz
IG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHhhcmdzIC1uIHdvcmtzLi4uIHllcwpj
aGVja2luZyB3aGV0aGVyIFVJRCAnNTAxJyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4u
IHllcwpjaGVja2luZyB3aGV0aGVyIEdJRCAnMjAnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3Jt
YXQuLi4geWVzCmNoZWNraW5nIGhvdyB0byBjcmVhdGUgYSB1c3RhciB0YXIgYXJjaGl2ZS4uLiBw
bGFpbnRhcgpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNv
bXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1
dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4u
LiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5n
IGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB0aGUgY29t
cGlsZXIgc3VwcG9ydHMgR05VIEMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMg
LWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGVuYWJsZSBDMjMgZmVhdHVyZXMu
Li4gLXN0ZD1nbnUyMwpjaGVja2luZyB3aGV0aGVyIGdjYyAtc3RkPWdudTIzIHVuZGVyc3RhbmRz
IC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRz
IHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5k
ZW5jeSBzdHlsZSBvZiBnY2MgLXN0ZD1nbnUyMy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBh
cgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9y
IHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2Vy
IHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0
dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0
aW5nIGRlcGZpbGVzIGNvbW1hbmRzCiNbc3RkZXJyXSsgbWFrZSBhbGwKZ2NjIC1zdGQ9Z251MjMg
LURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIg
LURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4w
XCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9
XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291
cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3Vy
Y2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgLXN0ZD1nbnUy
MyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgLXN0ZD1nbnUyMyAgLWcgLU8y
ICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3Igc3Vi
L2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5v
YmFzZS5hCmFyIGNyIHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jh
c2UuYQojW3N0ZGVycl0rIERFU1RESVI9Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1yaWdodHBhci8pJwojW3N0ZGVycl0rIGZpbGU9Jy4vKScKI1tzdGRlcnJdKyBt
YWtlIHRlc3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvYnVpbGQtcmlnaHRwYXInCiBta2RpciAtcCAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgv
Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9vJwogbWtk
aXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBh
ci8pLyktcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFz
ZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIv
KS8pLXByZWZpeC9mb28nCiAoIGNkICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQog
bWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdo
dHBhci8pLyktcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8pLXByZWZp
eC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLyktcHJlZml4L2Zvby9zdWIvJwog
L3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28vc3ViLycKIG1r
ZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRw
YXIvKS8pLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2lu
c3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLyktcHJlZml4L2Zvby9zdWInCiAoIGNkICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8pLXBy
ZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLyktcHJlZml4L2Zv
bycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
cmlnaHRwYXIvKS8pLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9u
b2Jhc2UgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBh
ci8pLyktcHJlZml4L2Zvby9zdWIvJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLyktcHJlZml4L2ZvbycKIC91c3IvYmluL2lu
c3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLyktcHJl
Zml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLyktcHJlZml4
L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtcmlnaHRwYXIvKS8pLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9vL3N1YicKIC91
c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9vL3N1
YicKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
cmlnaHRwYXIvKS8pLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvKS1wcmVmaXgvZm9vL3N1YicKIC91c3Iv
YmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLyktcHJlZml4L2Zvby9zdWInCm1h
a2VbMV06IExlYXZpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2J1aWxkLXJpZ2h0cGFyJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLy4vKS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu
aCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
cmlnaHRwYXIvKS8uLyktcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8uLyktcHJlZml4L2Zv
by9iYXNlLmgnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LXJpZ2h0cGFyLykvLi8pLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAt
ZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykv
Li8pLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8uLyktcHJlZml4L2Zvby9iYXNlLmRh
dCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
cmlnaHRwYXIvKS8uLyktcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pLy4vKS1wcmVm
aXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtcmlnaHRwYXIvKS8uLyktcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAg
LWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8p
Ly4vKS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvLi8pLXByZWZpeC9mb28vbm9iYXNl
Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1y
aWdodHBhci8pLy4vKS1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLykvLi8pLXByZWZpeC9mb28vc3Vi
L2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1yaWdodHBhci8pLy4vKS1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAg
LWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8p
Ly4vKS1wcmVmaXgvZm9vL2xpYmJhc2UuYScKI1tzdGRlcnJdKyBkZXNjcmlwdGlvbj0ncmlnaHRw
YXIgaW4gZGVzdGRpcicKI1tzdGRlcnJdKyBleHBlY3RlZF90b19mYWlsIGRlc3QgcmlnaHRwYXIK
I1tzdGRlcnJdKyBjYXNlICQxIGluCm9rIDIyIC0gcmlnaHRwYXIgaW4gZGVzdGRpcgpQQVNTOiB0
L2luc3RzcGMudGFwIDIyIC0gcmlnaHRwYXIgaW4gZGVzdGRpcgojW3N0ZGVycl0rIGlzX2luX2xp
c3QgcmlnaHRwYXIgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkIGFf
bGZfYgojW3N0ZGVycl0rIGl0ZW09cmlnaHRwYXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0r
IGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBkaXJlY3RpdmU9
CiNbc3RkZXJyXSsgcmVhc29uPQojW3N0ZGVycl0rIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0g
J3JpZ2h0cGFyIGluIGRlc3RkaXInCiNbc3RkZXJyXSsgc2V0ICt4CiNbc3RkZXJyXSsgY2QgL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpcgojW3N0ZGVycl0rIG5vdCBhbV9rZWVw
aW5nX3Rlc3RkaXJzCiNbc3RkZXJyXSsgYW1fa2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGNh
c2UgJGtlZXBfdGVzdGRpcnMgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIHRlc3Qg
b2sgPSBvawojW3N0ZGVycl0rIHJtX3JmXyBidWlsZC1yaWdodHBhciAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFyLyknCiNbc3RkZXJyXSsgdGVzdCAy
IC1ndCAwCiNbc3RkZXJyXSsgY2htb2QgLVIgdStyd3ggYnVpbGQtcmlnaHRwYXIgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1yaWdodHBhci8pJwojW3N0ZGVycl0r
IHJtIC1yZiBidWlsZC1yaWdodHBhciAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LXJpZ2h0cGFyLyknCiNbc3RkZXJyXSsgX2FtX3JtcmZfc3RhdHVzPTAKI1tzdGRl
cnJdKyBmb3IgX2FtX3JtcmZfdiBpbiAnIiRAIicKI1tzdGRlcnJdKyB0ZXN0IC1lIGJ1aWxkLXJp
Z2h0cGFyCiNbc3RkZXJyXSsgZm9yIF9hbV9ybXJmX3YgaW4gJyIkQCInCiNbc3RkZXJyXSsgdGVz
dCAtZSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJpZ2h0cGFy
LyknCiNbc3RkZXJyXSsgcmV0dXJuIDAKI1tzdGRlcnJdKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0
ZWQgJ3NldCAtZS4nCiNbc3RkZXJyXSsgZm9yIHRlc3RfbmFtZSBpbiAnJHRlc3RfbmFtZXNfbGlz
dCcKI1tzdGRlcnJdKyBldmFsICd0ZXN0X3N0cmluZz0ke2luc3RzcGNfX3BpcGV9JwojW3N0ZGVy
cl0rKyB0ZXN0X3N0cmluZz0nfCcKI1tzdGRlcnJdKyB0ZXN0ICd4fCcgPSB4CiNbc3RkZXJyXSsg
bWtkaXIgJy4vfCcKI1tzdGRlcnJdKyBjYXNlICR0ZXN0X3N0cmluZyBpbgojW3N0ZGVycl0rIGZv
ciB3aGVyZSBpbiBidWlsZCBkZXN0CiNbc3RkZXJyXSsgY2FzZSAkd2hlcmUgaW4KI1tzdGRlcnJd
KyBidWlsZD0nLi98JwojW3N0ZGVycl0rIGRlc3Q9L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LXBpcGUKI1tzdGRlcnJdKyBjZCAnLi98JwojW3N0ZGVycl0rIHI9b2sK
I1tzdGRlcnJdKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy98LXByZWZpeCcKY2hlY2tpbmcgZm9y
IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5n
IHdoZXRoZXIgc2xlZXAgc3VwcG9ydHMgZnJhY3Rpb25hbCBzZWNvbmRzLi4uIHllcwpjaGVja2lu
ZyBmaWxlc3lzdGVtIHRpbWVzdGFtcCByZXNvbHV0aW9uLi4uIDAuMDEKY2hlY2tpbmcgd2hldGhl
ciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSByYWNlLWZy
ZWUgbWtkaXIgLXAuLi4gbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gbm8KY2hlY2tpbmcg
Zm9yIG1hd2suLi4gbm8KY2hlY2tpbmcgZm9yIG5hd2suLi4gbm8KY2hlY2tpbmcgZm9yIGF3ay4u
LiBhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcg
d2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHhh
cmdzIC1uIHdvcmtzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIFVJRCAnNTAxJyBpcyBzdXBwb3J0
ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIEdJRCAnMjAnIGlzIHN1
cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVzCmNoZWNraW5nIGhvdyB0byBjcmVhdGUgYSB1
c3RhciB0YXIgYXJjaGl2ZS4uLiBwbGFpbnRhcgpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVj
a2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBj
b21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1
ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29t
cGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hl
Y2tpbmcgd2hldGhlciB0aGUgY29tcGlsZXIgc3VwcG9ydHMgR05VIEMuLi4geWVzCmNoZWNraW5n
IHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRv
IGVuYWJsZSBDMjMgZmVhdHVyZXMuLi4gLXN0ZD1nbnUyMwpjaGVja2luZyB3aGV0aGVyIGdjYyAt
c3RkPWdudTIzIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcg
d2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBz
dHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MgLXN0ZD1nbnUyMy4uLiBnY2Mz
CmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZh
Y2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5l
cmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBj
cmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUK
Y29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCiNbc3RkZXJyXSsgbWFr
ZSBhbGwKZ2NjIC1zdGQ9Z251MjMgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF
X1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0Vf
U1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FH
RV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1J
Li4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAt
YyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3Nv
dXJjZS5QbwpnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApn
Y2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1
Yi9saWJiYXNlLmEKYXIgY3Igc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJi
YXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNyIHN1Yi9saWJub2Jhc2UuYSBzb3VyY2Uu
byAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQojW3N0ZGVycl0rIERFU1RESVI9L3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUKI1tzdGRlcnJdKyBmaWxlPScuL3wn
CiNbc3RkZXJyXSsgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5ICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL3wnCiBta2RpciAtcCAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vJwog
L3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2ZvbycK
IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28nCiAoIGNkICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9m
b28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0
YWxsIC1jIHN1Yi9iYXNlICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtcGlwZS98LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2Zvby9zdWIv
JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28vc3ViLycKIG1rZGly
IC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXBy
ZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0
ICBzdWIvbGlibm9iYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1waXBlL3wtcHJlZml4L2Zvby9zdWInCiAoIGNkICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGli
bm9iYXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1waXBlL3wtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jp
bi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2Zvby9zdWIvJwogbWtkaXIgLXAgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2ZvbycKIC91c3Iv
YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2Zv
bycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2ZvbycKIG1rZGly
IC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXBy
ZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0
ICAuLi9zdWIvbm9iYXNlLmRhdCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LXBpcGUvfC1wcmVmaXgvZm9vL3N1YicKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98LXByZWZpeC9mb28nCiBta2RpciAtcCAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC1wcmVmaXgv
Zm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wtcHJlZml4L2Zv
by9zdWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL3wnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LXBpcGUvLi98LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEg
LWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlLy4vfC1w
cmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1waXBlLy4vfC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS8uL3wtcHJlZml4
L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS8uL3wtcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAg
LWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlLy4vfC1w
cmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1waXBlLy4vfC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3Qg
ISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvLi98
LXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlLy4vfC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAt
ZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvLi98LXBy
ZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS8uL3wtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvLi98LXByZWZp
eC9mb28vYmFzZScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtcGlwZS8uL3wtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvLi98LXByZWZp
eC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LXBpcGUvLi98LXByZWZpeC9mb28vbGliYmFzZS5hJwojW3N0ZGVycl0r
IGRlc2NyaXB0aW9uPSdwaXBlIGluIGJ1aWxkZGlyJwojW3N0ZGVycl0rIGV4cGVjdGVkX3RvX2Zh
aWwgYnVpbGQgcGlwZQojW3N0ZGVycl0rIGNhc2UgJDEgaW4KI1tzdGRlcnJdKyBpc19pbl9saXN0
IHBpcGUgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQg
bGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgpvayAyMyAtIHBpcGUgaW4gYnVpbGRkaXIKUEFT
UzogdC9pbnN0c3BjLnRhcCAyMyAtIHBpcGUgaW4gYnVpbGRkaXIKI1tzdGRlcnJdKyBpdGVtPXBp
cGUKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsg
cmV0dXJuIDEKI1tzdGRlcnJdKyBkaXJlY3RpdmU9CiNbc3RkZXJyXSsgcmVhc29uPQojW3N0ZGVy
cl0rIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ3BpcGUgaW4gYnVpbGRkaXInCiNbc3RkZXJy
XSsgc2V0ICt4CiNbc3RkZXJyXSsgY2QgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpcgojW3N0ZGVycl0rIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCiNbc3RkZXJyXSsgYW1fa2Vl
cGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KI1tzdGRlcnJd
KyByZXR1cm4gMQojW3N0ZGVycl0rIHRlc3Qgb2sgPSBvawojW3N0ZGVycl0rIHJtX3JmXyAnLi98
JyAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZQojW3N0ZGVy
cl0rIHRlc3QgMiAtZ3QgMAojW3N0ZGVycl0rIGNobW9kIC1SIHUrcnd4ICcuL3wnIC91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlCiNbc3RkZXJyXSsgcm0gLXJm
ICcuL3wnIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlCiNb
c3RkZXJyXSsgX2FtX3JtcmZfc3RhdHVzPTAKI1tzdGRlcnJdKyBmb3IgX2FtX3JtcmZfdiBpbiAn
IiRAIicKI1tzdGRlcnJdKyB0ZXN0IC1lICcuL3wnCiNbc3RkZXJyXSsgZm9yIF9hbV9ybXJmX3Yg
aW4gJyIkQCInCiNbc3RkZXJyXSsgdGVzdCAtZSAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtcGlwZQojW3N0ZGVycl0rIHJldHVybiAwCiNbc3RkZXJyXSsgOiBGb3Ig
c2hlbGxzIHdpdGggYnVzdGVkICdzZXQgLWUuJwojW3N0ZGVycl0rIGZvciB3aGVyZSBpbiBidWls
ZCBkZXN0CiNbc3RkZXJyXSsgY2FzZSAkd2hlcmUgaW4KI1tzdGRlcnJdKyBidWlsZD1idWlsZC1w
aXBlCiNbc3RkZXJyXSsgZGVzdD0nL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LXBpcGUvfCcKI1tzdGRlcnJdKyBta2RpciBidWlsZC1waXBlCiNbc3RkZXJyXSsgY2Qg
YnVpbGQtcGlwZQojW3N0ZGVycl0rIHI9b2sKI1tzdGRlcnJdKyAuLi9jb25maWd1cmUgLS1wcmVm
aXggJy98LXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAv
dXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgc2xlZXAgc3VwcG9ydHMgZnJhY3Rp
b25hbCBzZWNvbmRzLi4uIHllcwpjaGVja2luZyBmaWxlc3lzdGVtIHRpbWVzdGFtcCByZXNvbHV0
aW9uLi4uIDAuMDEKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4u
IHllcwpjaGVja2luZyBmb3IgYSByYWNlLWZyZWUgbWtkaXIgLXAuLi4gbWtkaXIgLXAKY2hlY2tp
bmcgZm9yIGdhd2suLi4gbm8KY2hlY2tpbmcgZm9yIG1hd2suLi4gbm8KY2hlY2tpbmcgZm9yIG5h
d2suLi4gbm8KY2hlY2tpbmcgZm9yIGF3ay4uLiBhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNl
dHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2
YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHhhcmdzIC1uIHdvcmtzLi4uIHllcwpjaGVja2luZyB3
aGV0aGVyIFVJRCAnNTAxJyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVj
a2luZyB3aGV0aGVyIEdJRCAnMjAnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVz
CmNoZWNraW5nIGhvdyB0byBjcmVhdGUgYSB1c3RhciB0YXIgYXJjaGl2ZS4uLiBwbGFpbnRhcgpj
aGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdv
cmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5h
bWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tp
bmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZm
aXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB0aGUgY29tcGlsZXIgc3Vw
cG9ydHMgR05VIEMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVz
CmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGVuYWJsZSBDMjMgZmVhdHVyZXMuLi4gLXN0ZD1n
bnUyMwpjaGVja2luZyB3aGV0aGVyIGdjYyAtc3RkPWdudTIzIHVuZGVyc3RhbmRzIC1jIGFuZCAt
byB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNs
dWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHls
ZSBvZiBnY2MgLXN0ZD1nbnUyMy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2lu
ZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4u
LiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29u
ZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmln
LnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZp
bGVzIGNvbW1hbmRzCiNbc3RkZXJyXSsgbWFrZSBhbGwKZ2NjIC1zdGQ9Z251MjMgLURQQUNLQUdF
X05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF
X1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNL
QUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3Bj
XCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1E
IC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAt
ZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgLXN0ZD1nbnUyMyAgLWcgLU8y
ICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3Vi
L25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3Igc3ViL2xpYmJhc2Uu
YSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFy
IGNyIHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQojW3N0
ZGVycl0rIERFU1RESVI9Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1waXBlL3wnCiNbc3RkZXJyXSsgZmlsZT0nLi98JwojW3N0ZGVycl0rIG1ha2UgdGVzdC1pbnN0
Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9idWlsZC1waXBlJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvfC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFs
bCAtYyAuLi9zdWIvYmFzZS5zaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9p
bnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28nCiAoIGNkICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98L3wtcHJlZml4L2ZvbycgJiYg
cmFubGliIGxpYmJhc2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAt
YyBzdWIvYmFzZSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBp
cGUvfC98LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28vc3Vi
LycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28vc3ViLycKIG1r
ZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98
L3wtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtcGlwZS98L3wtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1j
IC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtcGlwZS98L3wtcHJlZml4L2Zvby9zdWInCiAoIGNkICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98L3wtcHJlZml4L2ZvbycgJiYgcmFu
bGliIHN1Yi9saWJub2Jhc2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28v
c3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvfC1wcmVmaXgvZm9vL3N1Yi8nCiBta2Rp
ciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98
LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQg
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvfC1wcmVm
aXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1waXBlL3wvfC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4v
c3ViL2Jhc2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBp
cGUvfC98LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28vc3Vi
JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98L3wtcHJlZml4L2Zvby9z
dWInCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LXBpcGUvfC98LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5z
dGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC98LXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2
aW5nIGRpcmVjdG9yeSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9idWls
ZC1waXBlJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1waXBlL3wvLi98LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wvLi98LXByZWZpeC9m
b28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LXBpcGUvfC8uL3wtcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC8uL3wtcHJlZml4L2Zv
by9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtcGlwZS98Ly4vfC1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAt
ZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC8uL3wt
cHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98Ly4vfC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRl
c3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUv
fC8uL3wtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC8uL3wtcHJlZml4L2Zvby9iYXNlLnNoJwp0
ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBl
L3wvLi98LXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98Ly4vfC1wcmVmaXgvZm9vL25vYmFzZScK
dGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGlw
ZS98Ly4vfC1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfC8uL3wtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNl
LmEnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LXBpcGUvfC8uL3wtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGlwZS98Ly4vfC1wcmVmaXgvZm9vL2xp
YmJhc2UuYScKI1tzdGRlcnJdKyBkZXNjcmlwdGlvbj0ncGlwZSBpbiBkZXN0ZGlyJwojW3N0ZGVy
cl0rIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBwaXBlCiNbc3RkZXJyXSsgY2FzZSAkMSBpbgojW3N0
ZGVycl0rIGlzX2luX2xpc3QgcGlwZSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIg
bGluZWZlZWQgYV9sZl9iCiNbc3RkZXJyXSsgaXRlbT1waXBlCiNbc3RkZXJyXSsgc2hpZnQKI1tz
dGRlcnJdKyBjYXNlICIgJCogIiBpbgpvayAyNCAtIHBpcGUgaW4gZGVzdGRpcgpQQVNTOiB0L2lu
c3RzcGMudGFwIDI0IC0gcGlwZSBpbiBkZXN0ZGlyCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRl
cnJdKyBkaXJlY3RpdmU9CiNbc3RkZXJyXSsgcmVhc29uPQojW3N0ZGVycl0rIHJlc3VsdF8gb2sg
LUQgJycgLXIgJycgLS0gJ3BpcGUgaW4gZGVzdGRpcicKI1tzdGRlcnJdKyBzZXQgK3gKI1tzdGRl
cnJdKyBjZCAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyCiNbc3RkZXJyXSsg
bm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCiNb
c3RkZXJyXSsgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3Rk
ZXJyXSsgdGVzdCBvayA9IG9rCiNbc3RkZXJyXSsgcm1fcmZfIGJ1aWxkLXBpcGUgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wnCiNbc3RkZXJyXSsgdGVz
dCAyIC1ndCAwCiNbc3RkZXJyXSsgY2htb2QgLVIgdStyd3ggYnVpbGQtcGlwZSAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBpcGUvfCcKI1tzdGRlcnJdKyBybSAt
cmYgYnVpbGQtcGlwZSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LXBpcGUvfCcKI1tzdGRlcnJdKyBfYW1fcm1yZl9zdGF0dXM9MAojW3N0ZGVycl0rIGZvciBfYW1f
cm1yZl92IGluICciJEAiJwojW3N0ZGVycl0rIHRlc3QgLWUgYnVpbGQtcGlwZQojW3N0ZGVycl0r
IGZvciBfYW1fcm1yZl92IGluICciJEAiJwojW3N0ZGVycl0rIHRlc3QgLWUgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1waXBlL3wnCiNbc3RkZXJyXSsgcmV0dXJu
IDAKI1tzdGRlcnJdKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgJ3NldCAtZS4nCiNbc3RkZXJy
XSsgZm9yIHRlc3RfbmFtZSBpbiAnJHRlc3RfbmFtZXNfbGlzdCcKI1tzdGRlcnJdKyBldmFsICd0
ZXN0X3N0cmluZz0ke2luc3RzcGNfX2NhcmV0fScKI1tzdGRlcnJdKysgdGVzdF9zdHJpbmc9J14n
CiNbc3RkZXJyXSsgdGVzdCAneF4nID0geAojW3N0ZGVycl0rIG1rZGlyICcuL14nCiNbc3RkZXJy
XSsgY2FzZSAkdGVzdF9zdHJpbmcgaW4KI1tzdGRlcnJdKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVz
dAojW3N0ZGVycl0rIGNhc2UgJHdoZXJlIGluCiNbc3RkZXJyXSsgYnVpbGQ9Jy4vXicKI1tzdGRl
cnJdKyBkZXN0PS91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJl
dAojW3N0ZGVycl0rIGNkICcuL14nCiNbc3RkZXJyXSsgcj1vawojW3N0ZGVycl0rIC4uL2NvbmZp
Z3VyZSAtLXByZWZpeCAnL14tcHJlZml4JwpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBp
bnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBzbGVlcCBzdXBw
b3J0cyBmcmFjdGlvbmFsIHNlY29uZHMuLi4geWVzCmNoZWNraW5nIGZpbGVzeXN0ZW0gdGltZXN0
YW1wIHJlc29sdXRpb24uLi4gMC4wMQpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50
IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHJhY2UtZnJlZSBta2RpciAtcC4uLiBta2Rp
ciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBubwpjaGVja2luZyBmb3IgbWF3ay4uLiBubwpjaGVj
a2luZyBmb3IgbmF3ay4uLiBubwpjaGVja2luZyBmb3IgYXdrLi4uIGF3awpjaGVja2luZyB3aGV0
aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9y
dHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgeGFyZ3MgLW4gd29ya3MuLi4geWVz
CmNoZWNraW5nIHdoZXRoZXIgVUlEICc1MDEnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3JtYXQu
Li4geWVzCmNoZWNraW5nIHdoZXRoZXIgR0lEICcyMCcgaXMgc3VwcG9ydGVkIGJ5IHVzdGFyIGZv
cm1hdC4uLiB5ZXMKY2hlY2tpbmcgaG93IHRvIGNyZWF0ZSBhIHVzdGFyIHRhciBhcmNoaXZlLi4u
IHBsYWludGFyCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMg
Y29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0
cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVz
Li4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tp
bmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHRoZSBj
b21waWxlciBzdXBwb3J0cyBHTlUgQy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0
cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gZW5hYmxlIEMyMyBmZWF0dXJl
cy4uLiAtc3RkPWdudTIzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIC1zdGQ9Z251MjMgdW5kZXJzdGFu
ZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9y
dHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBl
bmRlbmN5IHN0eWxlIG9mIGdjYyAtc3RkPWdudTIzLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4u
IGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBm
b3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3
ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0
YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVj
dXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKI1tzdGRlcnJdKyBtYWtlIGFsbApnY2MgLXN0ZD1nbnUy
MyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNc
IiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAx
LjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FH
RT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBz
b3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3Nv
dXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAtc3RkPWdu
dTIzICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAtc3RkPWdudTIzICAtZyAt
TzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjciBz
dWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGli
bm9iYXNlLmEKYXIgY3Igc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5v
YmFzZS5hCiNbc3RkZXJyXSsgREVTVERJUj0vdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtY2FyZXQKI1tzdGRlcnJdKyBmaWxlPScuL14nCiNbc3RkZXJyXSsgbWFrZSB0
ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL14nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwg
LWMgLi4vc3ViL2Jhc2Uuc2ggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1jYXJldC9eLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3Rh
bGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2ZvbycgJiYgcmFubGli
IGxpYmJhc2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9i
YXNlICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1w
cmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1jYXJldC9eLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2Zvby9zdWIvJwogL3Vzci9i
aW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2Zv
bycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
Y2FyZXQvXi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIv
bGlibm9iYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1j
YXJldC9eLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jh
c2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LWNhcmV0L14tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4v
aW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2ZvbycKIC91c3Iv
YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgv
Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14tcHJlZml4L2ZvbycKIG1r
ZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQv
Xi1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1jYXJldC9eLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt
bSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vL3N1YicKIG1rZGlyIC1wICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi1wcmVmaXgvZm9vJwogbWtk
aXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9e
LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh
c2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14t
cHJlZml4L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL14nCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0Ly4vXi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu
aCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
Y2FyZXQvLi9eLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0Ly4vXi1wcmVmaXgvZm9vL2Jhc2UuaCcK
dGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY2Fy
ZXQvLi9eLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0Ly4vXi1wcmVmaXgvZm9vL25vYmFz
ZS5kYXQnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LWNhcmV0Ly4vXi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC8uL14tcHJlZml4L2Zvby9zdWIv
bm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1jYXJldC8uL14tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0Ly4vXi1wcmVmaXgvZm9v
L2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LWNhcmV0Ly4vXi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0Ly4vXi1wcmVmaXgvZm9v
L25vYmFzZScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtY2FyZXQvLi9eLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvLi9eLXByZWZpeC9mb28vc3ViL2xp
Ym5vYmFzZS5hJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1jYXJldC8uL14tcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvLi9eLXByZWZpeC9m
b28vbGliYmFzZS5hJwojW3N0ZGVycl0rIGRlc2NyaXB0aW9uPSdjYXJldCBpbiBidWlsZGRpcicK
I1tzdGRlcnJdKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGNhcmV0CiNbc3RkZXJyXSsgY2FzZSAk
MSBpbgojW3N0ZGVycl0rIGlzX2luX2xpc3QgY2FyZXQgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh
cnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgoj
W3N0ZGVycl0rIGl0ZW09Y2FyZXQKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAk
KiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBkaXJlY3RpdmU9CiNbc3RkZXJy
XSsgcmVhc29uPQojW3N0ZGVycl0rIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ2NhcmV0IGlu
IGJ1aWxkZGlyJwpvayAyNSAtIGNhcmV0IGluIGJ1aWxkZGlyClBBU1M6IHQvaW5zdHNwYy50YXAg
MjUgLSBjYXJldCBpbiBidWlsZGRpcgojW3N0ZGVycl0rIHNldCAreAojW3N0ZGVycl0rIGNkIC91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIKI1tzdGRlcnJdKyBub3QgYW1fa2Vl
cGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBj
YXNlICRrZWVwX3Rlc3RkaXJzIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyB0ZXN0
IG9rID0gb2sKI1tzdGRlcnJdKyBybV9yZl8gJy4vXicgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0CiNbc3RkZXJyXSsgdGVzdCAyIC1ndCAwCiNbc3RkZXJy
XSsgY2htb2QgLVIgdStyd3ggJy4vXicgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWNhcmV0CiNbc3RkZXJyXSsgcm0gLXJmICcuL14nIC91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldAojW3N0ZGVycl0rIF9hbV9ybXJmX3N0YXR1
cz0wCiNbc3RkZXJyXSsgZm9yIF9hbV9ybXJmX3YgaW4gJyIkQCInCiNbc3RkZXJyXSsgdGVzdCAt
ZSAnLi9eJwojW3N0ZGVycl0rIGZvciBfYW1fcm1yZl92IGluICciJEAiJwojW3N0ZGVycl0rIHRl
c3QgLWUgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0CiNb
c3RkZXJyXSsgcmV0dXJuIDAKI1tzdGRlcnJdKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgJ3Nl
dCAtZS4nCiNbc3RkZXJyXSsgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKI1tzdGRlcnJdKyBjYXNl
ICR3aGVyZSBpbgojW3N0ZGVycl0rIGJ1aWxkPWJ1aWxkLWNhcmV0CiNbc3RkZXJyXSsgZGVzdD0n
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14nCiNbc3Rk
ZXJyXSsgbWtkaXIgYnVpbGQtY2FyZXQKI1tzdGRlcnJdKyBjZCBidWlsZC1jYXJldAojW3N0ZGVy
cl0rIHI9b2sKI1tzdGRlcnJdKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy9eLXByZWZpeCcKY2hl
Y2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1j
CmNoZWNraW5nIHdoZXRoZXIgc2xlZXAgc3VwcG9ydHMgZnJhY3Rpb25hbCBzZWNvbmRzLi4uIHll
cwpjaGVja2luZyBmaWxlc3lzdGVtIHRpbWVzdGFtcCByZXNvbHV0aW9uLi4uIDAuMDEKY2hlY2tp
bmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3Ig
YSByYWNlLWZyZWUgbWtkaXIgLXAuLi4gbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gbm8K
Y2hlY2tpbmcgZm9yIG1hd2suLi4gbm8KY2hlY2tpbmcgZm9yIG5hd2suLi4gbm8KY2hlY2tpbmcg
Zm9yIGF3ay4uLiBhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMK
Y2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNo
ZWNraW5nIHhhcmdzIC1uIHdvcmtzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIFVJRCAnNTAxJyBp
cyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIEdJRCAn
MjAnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVzCmNoZWNraW5nIGhvdyB0byBj
cmVhdGUgYSB1c3RhciB0YXIgYXJjaGl2ZS4uLiBwbGFpbnRhcgpjaGVja2luZyBmb3IgZ2NjLi4u
IGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2lu
ZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tp
bmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg
Y3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVz
Li4uIG8KY2hlY2tpbmcgd2hldGhlciB0aGUgY29tcGlsZXIgc3VwcG9ydHMgR05VIEMuLi4geWVz
CmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mg
b3B0aW9uIHRvIGVuYWJsZSBDMjMgZmVhdHVyZXMuLi4gLXN0ZD1nbnUyMwpjaGVja2luZyB3aGV0
aGVyIGdjYyAtc3RkPWdudTIzIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMK
Y2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5
ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MgLXN0ZD1nbnUy
My4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFy
KSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcg
dGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29u
ZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcg
TWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCiNbc3Rk
ZXJyXSsgbWFrZSBhbGwKZ2NjIC1zdGQ9Z251MjMgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIg
LURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAt
RFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwi
IC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4w
XCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291
cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBv
IC5kZXBzL3NvdXJjZS5QbwpnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291
cmNlLm8gIApnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAg
CnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3Igc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGli
IHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNyIHN1Yi9saWJub2Jhc2Uu
YSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQojW3N0ZGVycl0rIERFU1RESVI9Jy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eJwojW3N0ZGVy
cl0rIGZpbGU9Jy4vXicKI1tzdGRlcnJdKyBtYWtlIHRlc3QtaW5zdAptYWtlWzFdOiBFbnRlcmlu
ZyBkaXJlY3RvcnkgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvYnVpbGQt
Y2FyZXQnCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LWNhcmV0L14vXi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFz
ZS5zaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14v
Xi1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1jYXJldC9eL14tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g
NjQ0ICBzdWIvbGliYmFzZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9mb28nCiAoIGNkICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJi
YXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1jYXJldC9eL14tcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNl
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXBy
ZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LWNhcmV0L14vXi1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eL14tcHJlZml4L2Zvby9zdWIvJwogL3Vz
ci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9mb28vc3ViLycKIG1rZGlyIC1w
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXBy
ZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LWNhcmV0L14vXi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g
NjQ0ICBzdWIvbGlibm9iYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1jYXJldC9eL14tcHJlZml4L2Zvby9zdWInCiAoIGNkICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9mb28nICYmIHJhbmxp
YiBzdWIvbGlibm9iYXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eL14tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9mb28v
c3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eL14tcHJlZml4L2Zvby9zdWIvJwogbWtk
aXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9e
L14tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRh
dCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vXi1w
cmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1jYXJldC9eL14tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0
IC4uL3N1Yi9iYXNlLmggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1jYXJldC9eL14tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vXi1wcmVmaXgv
Zm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vXi1wcmVm
aXgvZm9vL3N1YicKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtY2FyZXQvXi9eLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vXi1wcmVmaXgvZm9vL3N1YicKIC91
c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eL14tcHJlZml4L2Zvby9zdWInCm1h
a2VbMV06IExlYXZpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2J1aWxkLWNhcmV0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eLy4vXi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVz
dCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQv
Xi8uL14tcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi8uL14tcHJlZml4L2Zvby9iYXNlLmgnCnRl
c3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0
L14vLi9eLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vLi9eLXByZWZpeC9mb28vbm9i
YXNlLmRhdCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtY2FyZXQvXi8uL14tcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi8uL14tcHJlZml4L2Zv
by9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1jYXJldC9eLy4vXi1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1m
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY2FyZXQvXi8uL14t
cHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eLy4vXi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3Qg
ISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14v
Li9eLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eLy4vXi1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAt
ZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14vLi9e
LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jYXJldC9eLy4vXi1wcmVmaXgvZm9vL2xpYm5vYmFz
ZS5hJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1jYXJldC9eLy4vXi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKI1tzdGRlcnJdKyBkZXNjcmlwdGlv
bj0nY2FyZXQgaW4gZGVzdGRpcicKI1tzdGRlcnJdKyBleHBlY3RlZF90b19mYWlsIGRlc3QgY2Fy
ZXQKI1tzdGRlcnJdKyBjYXNlICQxIGluCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBjYXJldCBzcXVv
dGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCiNbc3RkZXJyXSsg
aXRlbT1jYXJldAojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4Kb2sg
MjYgLSBjYXJldCBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMjYgLSBjYXJldCBpbiBk
ZXN0ZGlyCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBkaXJlY3RpdmU9CiNbc3RkZXJy
XSsgcmVhc29uPQojW3N0ZGVycl0rIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ2NhcmV0IGlu
IGRlc3RkaXInCiNbc3RkZXJyXSsgc2V0ICt4CiNbc3RkZXJyXSsgY2QgL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpcgojW3N0ZGVycl0rIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJz
CiNbc3RkZXJyXSsgYW1fa2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGNhc2UgJGtlZXBfdGVz
dGRpcnMgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIHRlc3Qgb2sgPSBvawojW3N0
ZGVycl0rIHJtX3JmXyBidWlsZC1jYXJldCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LWNhcmV0L14nCiNbc3RkZXJyXSsgdGVzdCAyIC1ndCAwCiNbc3RkZXJyXSsg
Y2htb2QgLVIgdStyd3ggYnVpbGQtY2FyZXQgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1jYXJldC9eJwojW3N0ZGVycl0rIHJtIC1yZiBidWlsZC1jYXJldCAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNhcmV0L14nCiNbc3RkZXJy
XSsgX2FtX3JtcmZfc3RhdHVzPTAKI1tzdGRlcnJdKyBmb3IgX2FtX3JtcmZfdiBpbiAnIiRAIicK
I1tzdGRlcnJdKyB0ZXN0IC1lIGJ1aWxkLWNhcmV0CiNbc3RkZXJyXSsgZm9yIF9hbV9ybXJmX3Yg
aW4gJyIkQCInCiNbc3RkZXJyXSsgdGVzdCAtZSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LWNhcmV0L14nCiNbc3RkZXJyXSsgcmV0dXJuIDAKI1tzdGRlcnJdKyA6
IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgJ3NldCAtZS4nCiNbc3RkZXJyXSsgZm9yIHRlc3RfbmFt
ZSBpbiAnJHRlc3RfbmFtZXNfbGlzdCcKI1tzdGRlcnJdKyBldmFsICd0ZXN0X3N0cmluZz0ke2lu
c3RzcGNfX3RpbGRlfScKI1tzdGRlcnJdKysgdGVzdF9zdHJpbmc9J34nCiNbc3RkZXJyXSsgdGVz
dCB4fiA9IHgKI1tzdGRlcnJdKyBta2RpciAuL34KI1tzdGRlcnJdKyBjYXNlICR0ZXN0X3N0cmlu
ZyBpbgojW3N0ZGVycl0rIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CiNbc3RkZXJyXSsgY2FzZSAk
d2hlcmUgaW4KI1tzdGRlcnJdKyBidWlsZD0uL34KI1tzdGRlcnJdKyBkZXN0PS91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZQojW3N0ZGVycl0rIGNkIC4vfgoj
W3N0ZGVycl0rIHI9b2sKI1tzdGRlcnJdKyAuLi9jb25maWd1cmUgLS1wcmVmaXggL34tcHJlZml4
CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFs
bCAtYwpjaGVja2luZyB3aGV0aGVyIHNsZWVwIHN1cHBvcnRzIGZyYWN0aW9uYWwgc2Vjb25kcy4u
LiB5ZXMKY2hlY2tpbmcgZmlsZXN5c3RlbSB0aW1lc3RhbXAgcmVzb2x1dGlvbi4uLiAwLjAxCmNo
ZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcg
Zm9yIGEgcmFjZS1mcmVlIG1rZGlyIC1wLi4uIG1rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4u
IG5vCmNoZWNraW5nIGZvciBtYXdrLi4uIG5vCmNoZWNraW5nIGZvciBuYXdrLi4uIG5vCmNoZWNr
aW5nIGZvciBhd2suLi4gYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4g
eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHll
cwpjaGVja2luZyB4YXJncyAtbiB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBVSUQgJzUw
MScgaXMgc3VwcG9ydGVkIGJ5IHVzdGFyIGZvcm1hdC4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBH
SUQgJzIwJyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVja2luZyBob3cg
dG8gY3JlYXRlIGEgdXN0YXIgdGFyIGFyY2hpdmUuLi4gcGxhaW50YXIKY2hlY2tpbmcgZm9yIGdj
Yy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hl
Y2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNo
ZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2Ug
YXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBm
aWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIEdOVSBDLi4u
IHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3Ig
Z2NjIG9wdGlvbiB0byBlbmFibGUgQzIzIGZlYXR1cmVzLi4uIC1zdGQ9Z251MjMKY2hlY2tpbmcg
d2hldGhlciBnY2MgLXN0ZD1nbnUyMyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4g
eWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUu
Li4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjIC1zdGQ9
Z251MjMuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVy
IChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNr
aW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25l
CmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0
aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcwoj
W3N0ZGVycl0rIG1ha2UgYWxsCmdjYyAtc3RkPWdudTIzIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNw
Y1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4w
XCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9
XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1c
IjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBz
L3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNl
LlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjIC1zdGQ9Z251MjMgIC1nIC1PMiAgIC1vIHN1Yi9iYXNl
IHNvdXJjZS5vICAKZ2NjIC1zdGQ9Z251MjMgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNl
Lm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNyIHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJh
bmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjciBzdWIvbGlibm9i
YXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKI1tzdGRlcnJdKyBERVNURElS
PS91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZQojW3N0ZGVy
cl0rIGZpbGU9Li9+CiNbc3RkZXJyXSsgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcg
ZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL34nCiBta2Rp
ciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34t
cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28nCiBt
a2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRl
L34tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5h
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVm
aXgvZm9vJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LXRpbGRlL34tcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiBta2RpciAtcCAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2Zv
bycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28n
CiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRp
bGRlL34tcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNl
LnNoICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1w
cmVmaXgvZm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vL3N1YicKIC91
c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28vc3ViJwogKCBj
ZCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34tcHJl
Zml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2ZvbycKIG1r
ZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUv
fi1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9v
L3N1Yi8nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LXRpbGRlL34tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1
Yi9iYXNlLmRhdCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRp
bGRlL34tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt
bSA2NDQgLi4vc3ViL2Jhc2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LXRpbGRlL34tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9m
b28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi1wcmVmaXgv
Zm9vL3N1YicKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtdGlsZGUvfi1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4v
aW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34tcHJlZml4L2Zvby9zdWInCm1ha2VbMV06IExl
YXZpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL34n
CnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRp
bGRlLy4vfi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvLi9+LXByZWZpeC9mb28vbm9iYXNl
LmgnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LXRpbGRlLy4vfi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvLi9+LXByZWZpeC9mb28vc3ViL25vYmFz
ZS5kYXQnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LXRpbGRlLy4vfi1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlLy4vfi1wcmVmaXgvZm9vL2Jh
c2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC10aWxkZS8uL34tcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS8uL34tcHJlZml4L2Zv
by9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LXRpbGRlLy4vfi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlLy4vfi1wcmVmaXgvZm9v
L3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LXRpbGRlLy4vfi1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvLi9+LXByZWZpeC9mb28v
YmFzZScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtdGlsZGUvLi9+LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS8uL34tcHJlZml4L2Zv
by9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtdGlsZGUvLi9+LXByZWZpeC9mb28vbGliYmFzZS5hJwojW3N0ZGVycl0rIGRl
c2NyaXB0aW9uPSd0aWxkZSBpbiBidWlsZGRpcicKI1tzdGRlcnJdKyBleHBlY3RlZF90b19mYWls
IGJ1aWxkIHRpbGRlCiNbc3RkZXJyXSsgY2FzZSAkMSBpbgojW3N0ZGVycl0rIGlzX2luX2xpc3Qg
dGlsZGUgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQg
bGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgojW3N0ZGVycl0rIGl0ZW09dGlsZGUKI1tzdGRl
cnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGluCm9rIDI3IC0gdGlsZGUgaW4gYnVp
bGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCAyNyAtIHRpbGRlIGluIGJ1aWxkZGlyCiNbc3RkZXJy
XSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBkaXJlY3RpdmU9CiNbc3RkZXJyXSsgcmVhc29uPQojW3N0
ZGVycl0rIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ3RpbGRlIGluIGJ1aWxkZGlyJwojW3N0
ZGVycl0rIHNldCAreAojW3N0ZGVycl0rIGNkIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIKI1tzdGRlcnJdKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGFt
X2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCiNbc3Rk
ZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyB0ZXN0IG9rID0gb2sKI1tzdGRlcnJdKyBybV9yZl8g
Li9+IC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZQojW3N0
ZGVycl0rIHRlc3QgMiAtZ3QgMAojW3N0ZGVycl0rIGNobW9kIC1SIHUrcnd4IC4vfiAvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUKI1tzdGRlcnJdKyBybSAt
cmYgLi9+IC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZQoj
W3N0ZGVycl0rIF9hbV9ybXJmX3N0YXR1cz0wCiNbc3RkZXJyXSsgZm9yIF9hbV9ybXJmX3YgaW4g
JyIkQCInCiNbc3RkZXJyXSsgdGVzdCAtZSAuL34KI1tzdGRlcnJdKyBmb3IgX2FtX3JtcmZfdiBp
biAnIiRAIicKI1tzdGRlcnJdKyB0ZXN0IC1lIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC10aWxkZQojW3N0ZGVycl0rIHJldHVybiAwCiNbc3RkZXJyXSsgOiBGb3Ig
c2hlbGxzIHdpdGggYnVzdGVkICdzZXQgLWUuJwojW3N0ZGVycl0rIGZvciB3aGVyZSBpbiBidWls
ZCBkZXN0CiNbc3RkZXJyXSsgY2FzZSAkd2hlcmUgaW4KI1tzdGRlcnJdKyBidWlsZD1idWlsZC10
aWxkZQojW3N0ZGVycl0rIGRlc3Q9L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LXRpbGRlL34KI1tzdGRlcnJdKyBta2RpciBidWlsZC10aWxkZQojW3N0ZGVycl0rIGNk
IGJ1aWxkLXRpbGRlCiNbc3RkZXJyXSsgcj1vawojW3N0ZGVycl0rIC4uL2NvbmZpZ3VyZSAtLXBy
ZWZpeCAvfi1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAv
dXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgc2xlZXAgc3VwcG9ydHMgZnJhY3Rp
b25hbCBzZWNvbmRzLi4uIHllcwpjaGVja2luZyBmaWxlc3lzdGVtIHRpbWVzdGFtcCByZXNvbHV0
aW9uLi4uIDAuMDEKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4u
IHllcwpjaGVja2luZyBmb3IgYSByYWNlLWZyZWUgbWtkaXIgLXAuLi4gbWtkaXIgLXAKY2hlY2tp
bmcgZm9yIGdhd2suLi4gbm8KY2hlY2tpbmcgZm9yIG1hd2suLi4gbm8KY2hlY2tpbmcgZm9yIG5h
d2suLi4gbm8KY2hlY2tpbmcgZm9yIGF3ay4uLiBhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNl
dHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2
YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHhhcmdzIC1uIHdvcmtzLi4uIHllcwpjaGVja2luZyB3
aGV0aGVyIFVJRCAnNTAxJyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVj
a2luZyB3aGV0aGVyIEdJRCAnMjAnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVz
CmNoZWNraW5nIGhvdyB0byBjcmVhdGUgYSB1c3RhciB0YXIgYXJjaGl2ZS4uLiBwbGFpbnRhcgpj
aGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdv
cmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5h
bWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tp
bmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZm
aXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB0aGUgY29tcGlsZXIgc3Vw
cG9ydHMgR05VIEMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVz
CmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGVuYWJsZSBDMjMgZmVhdHVyZXMuLi4gLXN0ZD1n
bnUyMwpjaGVja2luZyB3aGV0aGVyIGdjYyAtc3RkPWdudTIzIHVuZGVyc3RhbmRzIC1jIGFuZCAt
byB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNs
dWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHls
ZSBvZiBnY2MgLXN0ZD1nbnUyMy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2lu
ZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4u
LiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29u
ZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmln
LnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZp
bGVzIGNvbW1hbmRzCiNbc3RkZXJyXSsgbWFrZSBhbGwKZ2NjIC1zdGQ9Z251MjMgLURQQUNLQUdF
X05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF
X1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNL
QUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3Bj
XCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1E
IC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAt
ZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgLXN0ZD1nbnUyMyAgLWcgLU8y
ICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3Vi
L25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3Igc3ViL2xpYmJhc2Uu
YSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFy
IGNyIHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQojW3N0
ZGVycl0rIERFU1RESVI9L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LXRpbGRlL34KI1tzdGRlcnJdKyBmaWxlPS4vfgojW3N0ZGVycl0rIG1ha2UgdGVzdC1pbnN0Cm1h
a2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9idWlsZC10aWxkZScKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxs
IC1jIC4uL3N1Yi9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vfi1wcmVmaXgvZm9vJwogL3Vzci9iaW4v
aW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2ZvbycKICggY2QgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2Zvbycg
JiYgcmFubGliIGxpYmJhc2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vfi1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3Rh
bGwgLWMgc3ViL2Jhc2UgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC10aWxkZS9+L34tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vfi1wcmVmaXgv
Zm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2Zvby9z
dWIvJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC10aWxkZS9+L34tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4v
aW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vfi1wcmVmaXgvZm9vL3N1YicKICggY2QgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4
L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vfi1wcmVmaXgvZm9vJwogbWtk
aXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+
L34tcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vfi1wcmVmaXgv
Zm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LXRpbGRlL34vfi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg
Li4vc3ViL2Jhc2UuZGF0ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtdGlsZGUvfi9+LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vfi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5z
dGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LXRpbGRlL34vfi1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2ZvbycK
IG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtdGls
ZGUvfi9+LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1
Yi9ub2Jhc2UuZGF0ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
dGlsZGUvfi9+LXByZWZpeC9mb28vc3ViJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+L34tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi9+LXByZWZp
eC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vfi1wcmVm
aXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvYnVpbGQtdGlsZGUnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vLi9+LXByZWZpeC9mb28vc3Vi
L25vYmFzZS5oJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC10aWxkZS9+Ly4vfi1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+Ly4vfi1wcmVmaXgv
Zm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtdGlsZGUvfi8uL34tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1m
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtdGlsZGUvfi8uL34t
cHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+Ly4vfi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0
ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+
Ly4vfi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vLi9+LXByZWZpeC9mb28vbm9iYXNl
LnNoJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC10aWxkZS9+Ly4vfi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vLi9+LXByZWZpeC9mb28vc3Vi
L25vYmFzZScKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtdGlsZGUvfi8uL34tcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vLi9+LXByZWZpeC9mb28v
YmFzZScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtdGlsZGUvfi8uL34tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34vLi9+LXByZWZp
eC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LXRpbGRlL34vLi9+LXByZWZpeC9mb28vbGliYmFzZS5hJwojW3N0ZGVy
cl0rIGRlc2NyaXB0aW9uPSd0aWxkZSBpbiBkZXN0ZGlyJwojW3N0ZGVycl0rIGV4cGVjdGVkX3Rv
X2ZhaWwgZGVzdCB0aWxkZQojW3N0ZGVycl0rIGNhc2UgJDEgaW4KI1tzdGRlcnJdKyBpc19pbl9s
aXN0IHRpbGRlIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xm
X2IKI1tzdGRlcnJdKyBpdGVtPXRpbGRlCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNl
ICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAxCm9rIDI4IC0gdGlsZGUgaW4gZGVzdGRpcgpQ
QVNTOiB0L2luc3RzcGMudGFwIDI4IC0gdGlsZGUgaW4gZGVzdGRpcgojW3N0ZGVycl0rIGRpcmVj
dGl2ZT0KI1tzdGRlcnJdKyByZWFzb249CiNbc3RkZXJyXSsgcmVzdWx0XyBvayAtRCAnJyAtciAn
JyAtLSAndGlsZGUgaW4gZGVzdGRpcicKI1tzdGRlcnJdKyBzZXQgK3gKI1tzdGRlcnJdKyBjZCAv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyCiNbc3RkZXJyXSsgbm90IGFtX2tl
ZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCiNbc3RkZXJyXSsg
Y2FzZSAka2VlcF90ZXN0ZGlycyBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgdGVz
dCBvayA9IG9rCiNbc3RkZXJyXSsgcm1fcmZfIGJ1aWxkLXRpbGRlIC91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+CiNbc3RkZXJyXSsgdGVzdCAyIC1ndCAw
CiNbc3RkZXJyXSsgY2htb2QgLVIgdStyd3ggYnVpbGQtdGlsZGUgL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34KI1tzdGRlcnJdKyBybSAtcmYgYnVpbGQt
dGlsZGUgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXRpbGRlL34K
I1tzdGRlcnJdKyBfYW1fcm1yZl9zdGF0dXM9MAojW3N0ZGVycl0rIGZvciBfYW1fcm1yZl92IGlu
ICciJEAiJwojW3N0ZGVycl0rIHRlc3QgLWUgYnVpbGQtdGlsZGUKI1tzdGRlcnJdKyBmb3IgX2Ft
X3JtcmZfdiBpbiAnIiRAIicKI1tzdGRlcnJdKyB0ZXN0IC1lIC91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC10aWxkZS9+CiNbc3RkZXJyXSsgcmV0dXJuIDAKI1tzdGRl
cnJdKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgJ3NldCAtZS4nCiNbc3RkZXJyXSsgZm9yIHRl
c3RfbmFtZSBpbiAnJHRlc3RfbmFtZXNfbGlzdCcKI1tzdGRlcnJdKyBldmFsICd0ZXN0X3N0cmlu
Zz0ke2luc3RzcGNfX3FtYXJrfScKI1tzdGRlcnJdKysgdGVzdF9zdHJpbmc9Jz8nCiNbc3RkZXJy
XSsgdGVzdCAneD8nID0geAojW3N0ZGVycl0rIG1rZGlyICcuLz8nCiNbc3RkZXJyXSsgY2FzZSAk
dGVzdF9zdHJpbmcgaW4KI1tzdGRlcnJdKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAojW3N0ZGVy
cl0rIGNhc2UgJHdoZXJlIGluCiNbc3RkZXJyXSsgYnVpbGQ9Jy4vPycKI1tzdGRlcnJdKyBkZXN0
PS91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyawojW3N0ZGVy
cl0rIGNkICcuLz8nCiNbc3RkZXJyXSsgcj1vawojW3N0ZGVycl0rIC4uL2NvbmZpZ3VyZSAtLXBy
ZWZpeCAnLz8tcHJlZml4JwpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4u
IC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBzbGVlcCBzdXBwb3J0cyBmcmFj
dGlvbmFsIHNlY29uZHMuLi4geWVzCmNoZWNraW5nIGZpbGVzeXN0ZW0gdGltZXN0YW1wIHJlc29s
dXRpb24uLi4gMC4wMQpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUu
Li4geWVzCmNoZWNraW5nIGZvciBhIHJhY2UtZnJlZSBta2RpciAtcC4uLiBta2RpciAtcApjaGVj
a2luZyBmb3IgZ2F3ay4uLiBubwpjaGVja2luZyBmb3IgbWF3ay4uLiBubwpjaGVja2luZyBmb3Ig
bmF3ay4uLiBubwpjaGVja2luZyBmb3IgYXdrLi4uIGF3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ug
c2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVk
IHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgeGFyZ3MgLW4gd29ya3MuLi4geWVzCmNoZWNraW5n
IHdoZXRoZXIgVUlEICc1MDEnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVzCmNo
ZWNraW5nIHdoZXRoZXIgR0lEICcyMCcgaXMgc3VwcG9ydGVkIGJ5IHVzdGFyIGZvcm1hdC4uLiB5
ZXMKY2hlY2tpbmcgaG93IHRvIGNyZWF0ZSBhIHVzdGFyIHRhciBhcmNoaXZlLi4uIHBsYWludGFy
CmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIg
d29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUg
bmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVj
a2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1
ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHRoZSBjb21waWxlciBz
dXBwb3J0cyBHTlUgQy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5
ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gZW5hYmxlIEMyMyBmZWF0dXJlcy4uLiAtc3Rk
PWdudTIzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIC1zdGQ9Z251MjMgdW5kZXJzdGFuZHMgLWMgYW5k
IC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGlu
Y2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0
eWxlIG9mIGdjYyAtc3RkPWdudTIzLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNr
aW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGli
Li4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBj
b25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25m
aWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVw
ZmlsZXMgY29tbWFuZHMKI1tzdGRlcnJdKyBtYWtlIGFsbApnY2MgLXN0ZD1nbnUyMyAtRFBBQ0tB
R0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tB
R0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBB
Q0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3Rz
cGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAt
TUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12
IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAtc3RkPWdudTIzICAtZyAt
TzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAtc3RkPWdudTIzICAtZyAtTzIgICAtbyBz
dWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjciBzdWIvbGliYmFz
ZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEK
YXIgY3Igc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCiNb
c3RkZXJyXSsgREVTVERJUj0vdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtcW1hcmsKI1tzdGRlcnJdKyBmaWxlPScuLz8nCiNbc3RkZXJyXSsgbWFrZSB0ZXN0LWluc3QK
bWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyLz8nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3Vi
L2Jhc2Uuc2ggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFy
ay8/LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g
NjQ0ICBzdWIvbGliYmFzZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2Uu
YSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LXFtYXJrLz8tcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9v
JwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1x
bWFyay8/LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFs
bCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2ZvbycKIG1rZGly
IC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1w
cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNl
LmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/LXBy
ZWZpeC9mb28vc3ViJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LXFtYXJrLz8tcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiBt
a2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJr
Lz8tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAt
YyBzdWIvbm9iYXNlICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
cW1hcmsvPy1wcmVmaXgvZm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3Rh
bGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vJwogL3Vz
ci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgv
Zm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1xbWFyay8/LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4u
L3N1Yi9ub2Jhc2UuZGF0ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtcW1hcmsvPy1wcmVmaXgvZm9vL3N1YicKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/LXByZWZpeC9m
b28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8tcHJlZml4L2Zv
by9zdWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyLz8nCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAh
IC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvLi8/
LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1m
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvLi8/LXBy
ZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRl
c3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJr
Ly4vPy1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8uLz8tcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNo
Jwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1x
bWFyay8uLz8tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9vL2Jhc2Uuc2gn
CnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXFt
YXJrLy4vPy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLy4vPy1wcmVmaXgvZm9vL25vYmFzZScK
dGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcW1h
cmsvLi8/LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvLi8/LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5h
Jwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1x
bWFyay8uLz8tcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvLi8/LXByZWZpeC9mb28vbGliYmFz
ZS5hJwojW3N0ZGVycl0rIGRlc2NyaXB0aW9uPSdxbWFyayBpbiBidWlsZGRpcicKI1tzdGRlcnJd
KyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIHFtYXJrCiNbc3RkZXJyXSsgY2FzZSAkMSBpbgpvayAy
OSAtIHFtYXJrIGluIGJ1aWxkZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMjkgLSBxbWFyayBpbiBi
dWlsZGRpcgojW3N0ZGVycl0rIGlzX2luX2xpc3QgcW1hcmsgc3F1b3RlIGRxdW90ZSBicXVvdGUg
c2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZf
YgojW3N0ZGVycl0rIGl0ZW09cW1hcmsKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2Ug
IiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBkaXJlY3RpdmU9CiNbc3Rk
ZXJyXSsgcmVhc29uPQojW3N0ZGVycl0rIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ3FtYXJr
IGluIGJ1aWxkZGlyJwojW3N0ZGVycl0rIHNldCAreAojW3N0ZGVycl0rIGNkIC91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIKI1tzdGRlcnJdKyBub3QgYW1fa2VlcGluZ190ZXN0
ZGlycwojW3N0ZGVycl0rIGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBjYXNlICRrZWVw
X3Rlc3RkaXJzIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyB0ZXN0IG9rID0gb2sK
I1tzdGRlcnJdKyBybV9yZl8gJy4vPycgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LXFtYXJrCiNbc3RkZXJyXSsgdGVzdCAyIC1ndCAwCiNbc3RkZXJyXSsgY2htb2Qg
LVIgdStyd3ggJy4vPycgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LXFtYXJrCiNbc3RkZXJyXSsgcm0gLXJmICcuLz8nIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1xbWFyawojW3N0ZGVycl0rIF9hbV9ybXJmX3N0YXR1cz0wCiNbc3Rk
ZXJyXSsgZm9yIF9hbV9ybXJmX3YgaW4gJyIkQCInCiNbc3RkZXJyXSsgdGVzdCAtZSAnLi8/Jwoj
W3N0ZGVycl0rIGZvciBfYW1fcm1yZl92IGluICciJEAiJwojW3N0ZGVycl0rIHRlc3QgLWUgL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrCiNbc3RkZXJyXSsg
cmV0dXJuIDAKI1tzdGRlcnJdKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgJ3NldCAtZS4nCiNb
c3RkZXJyXSsgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKI1tzdGRlcnJdKyBjYXNlICR3aGVyZSBp
bgojW3N0ZGVycl0rIGJ1aWxkPWJ1aWxkLXFtYXJrCiNbc3RkZXJyXSsgZGVzdD0nL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8nCiNbc3RkZXJyXSsgbWtk
aXIgYnVpbGQtcW1hcmsKI1tzdGRlcnJdKyBjZCBidWlsZC1xbWFyawojW3N0ZGVycl0rIHI9b2sK
I1tzdGRlcnJdKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy8/LXByZWZpeCcKY2hlY2tpbmcgZm9y
IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5n
IHdoZXRoZXIgc2xlZXAgc3VwcG9ydHMgZnJhY3Rpb25hbCBzZWNvbmRzLi4uIHllcwpjaGVja2lu
ZyBmaWxlc3lzdGVtIHRpbWVzdGFtcCByZXNvbHV0aW9uLi4uIDAuMDEKY2hlY2tpbmcgd2hldGhl
ciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSByYWNlLWZy
ZWUgbWtkaXIgLXAuLi4gbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gbm8KY2hlY2tpbmcg
Zm9yIG1hd2suLi4gbm8KY2hlY2tpbmcgZm9yIG5hd2suLi4gbm8KY2hlY2tpbmcgZm9yIGF3ay4u
LiBhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcg
d2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHhh
cmdzIC1uIHdvcmtzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIFVJRCAnNTAxJyBpcyBzdXBwb3J0
ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIEdJRCAnMjAnIGlzIHN1
cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVzCmNoZWNraW5nIGhvdyB0byBjcmVhdGUgYSB1
c3RhciB0YXIgYXJjaGl2ZS4uLiBwbGFpbnRhcgpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVj
a2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBj
b21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1
ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29t
cGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hl
Y2tpbmcgd2hldGhlciB0aGUgY29tcGlsZXIgc3VwcG9ydHMgR05VIEMuLi4geWVzCmNoZWNraW5n
IHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRv
IGVuYWJsZSBDMjMgZmVhdHVyZXMuLi4gLXN0ZD1nbnUyMwpjaGVja2luZyB3aGV0aGVyIGdjYyAt
c3RkPWdudTIzIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcg
d2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBz
dHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MgLXN0ZD1nbnUyMy4uLiBnY2Mz
CmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZh
Y2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5l
cmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBj
cmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUK
Y29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCiNbc3RkZXJyXSsgbWFr
ZSBhbGwKZ2NjIC1zdGQ9Z251MjMgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF
X1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0Vf
U1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FH
RV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1J
Li4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAt
YyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3Nv
dXJjZS5QbwpnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApn
Y2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1
Yi9saWJiYXNlLmEKYXIgY3Igc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJi
YXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNyIHN1Yi9saWJub2Jhc2UuYSBzb3VyY2Uu
byAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQojW3N0ZGVycl0rIERFU1RESVI9Jy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/JwojW3N0ZGVycl0rIGZpbGU9
Jy4vPycKI1tzdGRlcnJdKyBtYWtlIHRlc3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3Rv
cnkgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvYnVpbGQtcW1hcmsnCiBt
a2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJr
Lz8vPy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1wcmVmaXgv
Zm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1xbWFyay8/Lz8tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIv
bGliYmFzZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcW1h
cmsvPy8/LXByZWZpeC9mb28nCiAoIGNkICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQog
bWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFy
ay8/Lz8tcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZpeC9mb28n
CiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXFt
YXJrLz8vPy1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Lz8tcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5z
dGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZpeC9mb28vc3ViLycKIG1rZGlyIC1wICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZpeC9mb28n
CiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXFt
YXJrLz8vPy1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIv
bGlibm9iYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1x
bWFyay8/Lz8tcHJlZml4L2Zvby9zdWInCiAoIGNkICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGli
bm9iYXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1xbWFyay8/Lz8tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZpeC9mb28vc3ViLycKICAv
dXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Lz8tcHJlZml4L2Zvby9zdWIvJwogbWtkaXIgLXAgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Lz8tcHJlZml4
L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1wcmVmaXgvZm9v
JwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1x
bWFyay8/Lz8tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9i
YXNlLmggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/
Lz8tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtcW1hcmsvPy8/LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1wcmVmaXgvZm9vL3N1YicK
IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1wcmVmaXgvZm9vL3N1
YicKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
cW1hcmsvPy8/LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vPy1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2lu
c3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Lz8tcHJlZml4L2Zvby9zdWInCm1ha2VbMV06IExl
YXZpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2J1
aWxkLXFtYXJrJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1xbWFyay8/Ly4vPy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8uLz8tcHJl
Zml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8uLz8tcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vLi8/LXBy
ZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vLi8/LXByZWZpeC9mb28vbm9iYXNlLmRhdCcK
dGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcW1h
cmsvPy8uLz8tcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8uLz8tcHJlZml4L2Zvby9zdWIvbm9i
YXNlLnNoJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1xbWFyay8/Ly4vPy1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcW1hcmsvPy8uLz8tcHJlZml4L2Zv
by9iYXNlLnNoJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1xbWFyay8/Ly4vPy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vLi8/LXByZWZp
eC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1xbWFyay8/Ly4vPy1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8vLi8/LXByZWZpeC9m
b28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/Ly4vPy1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0
ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1xbWFyay8/
Ly4vPy1wcmVmaXgvZm9vL2xpYmJhc2UuYScKI1tzdGRlcnJdKyBkZXNjcmlwdGlvbj0ncW1hcmsg
aW4gZGVzdGRpcicKI1tzdGRlcnJdKyBleHBlY3RlZF90b19mYWlsIGRlc3QgcW1hcmsKI1tzdGRl
cnJdKyBjYXNlICQxIGluCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBxbWFyayBzcXVvdGUgZHF1b3Rl
IGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCiNbc3RkZXJyXSsgaXRlbT1xbWFy
awojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4Kb2sgMzAgLSBxbWFy
ayBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgMzAgLSBxbWFyayBpbiBkZXN0ZGlyCiNb
c3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBkaXJlY3RpdmU9CiNbc3RkZXJyXSsgcmVhc29u
PQojW3N0ZGVycl0rIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ3FtYXJrIGluIGRlc3RkaXIn
CiNbc3RkZXJyXSsgc2V0ICt4CiNbc3RkZXJyXSsgY2QgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpcgojW3N0ZGVycl0rIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCiNbc3RkZXJy
XSsgYW1fa2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4K
I1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIHRlc3Qgb2sgPSBvawojW3N0ZGVycl0rIHJt
X3JmXyBidWlsZC1xbWFyayAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LXFtYXJrLz8nCiNbc3RkZXJyXSsgdGVzdCAyIC1ndCAwCiNbc3RkZXJyXSsgY2htb2QgLVIg
dStyd3ggYnVpbGQtcW1hcmsgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1xbWFyay8/JwojW3N0ZGVycl0rIHJtIC1yZiBidWlsZC1xbWFyayAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXFtYXJrLz8nCiNbc3RkZXJyXSsgX2FtX3Jt
cmZfc3RhdHVzPTAKI1tzdGRlcnJdKyBmb3IgX2FtX3JtcmZfdiBpbiAnIiRAIicKI1tzdGRlcnJd
KyB0ZXN0IC1lIGJ1aWxkLXFtYXJrCiNbc3RkZXJyXSsgZm9yIF9hbV9ybXJmX3YgaW4gJyIkQCIn
CiNbc3RkZXJyXSsgdGVzdCAtZSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LXFtYXJrLz8nCiNbc3RkZXJyXSsgcmV0dXJuIDAKI1tzdGRlcnJdKyA6IEZvciBzaGVs
bHMgd2l0aCBidXN0ZWQgJ3NldCAtZS4nCiNbc3RkZXJyXSsgZm9yIHRlc3RfbmFtZSBpbiAnJHRl
c3RfbmFtZXNfbGlzdCcKI1tzdGRlcnJdKyBldmFsICd0ZXN0X3N0cmluZz0ke2luc3RzcGNfX3N0
YXJ9JwojW3N0ZGVycl0rKyB0ZXN0X3N0cmluZz0nKicKI1tzdGRlcnJdKyB0ZXN0ICd4KicgPSB4
CiNbc3RkZXJyXSsgbWtkaXIgJy4vKicKI1tzdGRlcnJdKyBjYXNlICR0ZXN0X3N0cmluZyBpbgoj
W3N0ZGVycl0rIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CiNbc3RkZXJyXSsgY2FzZSAkd2hlcmUg
aW4KI1tzdGRlcnJdKyBidWlsZD0nLi8qJwojW3N0ZGVycl0rIGRlc3Q9L3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIKI1tzdGRlcnJdKyBjZCAnLi8qJwojW3N0
ZGVycl0rIHI9b2sKI1tzdGRlcnJdKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy8qLXByZWZpeCcK
Y2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxs
IC1jCmNoZWNraW5nIHdoZXRoZXIgc2xlZXAgc3VwcG9ydHMgZnJhY3Rpb25hbCBzZWNvbmRzLi4u
IHllcwpjaGVja2luZyBmaWxlc3lzdGVtIHRpbWVzdGFtcCByZXNvbHV0aW9uLi4uIDAuMDEKY2hl
Y2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBm
b3IgYSByYWNlLWZyZWUgbWtkaXIgLXAuLi4gbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4g
bm8KY2hlY2tpbmcgZm9yIG1hd2suLi4gbm8KY2hlY2tpbmcgZm9yIG5hd2suLi4gbm8KY2hlY2tp
bmcgZm9yIGF3ay4uLiBhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5
ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVz
CmNoZWNraW5nIHhhcmdzIC1uIHdvcmtzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIFVJRCAnNTAx
JyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIEdJ
RCAnMjAnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVzCmNoZWNraW5nIGhvdyB0
byBjcmVhdGUgYSB1c3RhciB0YXIgYXJjaGl2ZS4uLiBwbGFpbnRhcgpjaGVja2luZyBmb3IgZ2Nj
Li4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVj
a2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hl
Y2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBh
cmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZp
bGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB0aGUgY29tcGlsZXIgc3VwcG9ydHMgR05VIEMuLi4g
eWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBn
Y2Mgb3B0aW9uIHRvIGVuYWJsZSBDMjMgZmVhdHVyZXMuLi4gLXN0ZD1nbnUyMwpjaGVja2luZyB3
aGV0aGVyIGdjYyAtc3RkPWdudTIzIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5
ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4u
LiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MgLXN0ZD1n
bnUyMy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIg
KGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tp
bmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUK
Y29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRp
bmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCiNb
c3RkZXJyXSsgbWFrZSBhbGwKZ2NjIC1zdGQ9Z251MjMgLURQQUNLQUdFX05BTUU9XCJpbnN0c3Bj
XCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBc
IiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1c
IlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwi
MS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMv
c291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2Uu
VHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ug
c291cmNlLm8gIApnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2Uu
byAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3Igc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFu
bGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNyIHN1Yi9saWJub2Jh
c2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQojW3N0ZGVycl0rIERFU1RESVI9
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIKI1tzdGRlcnJd
KyBmaWxlPScuLyonCiNbc3RkZXJyXSsgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcg
ZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyLyonCiBta2Rp
ciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1w
cmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vJwogbWtk
aXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyot
cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9m
b28nCiAoIGNkICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rh
ci8qLXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4L2ZvbycKICAv
dXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vJwogbWtkaXIg
LXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJl
Zml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28v
c3ViLycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3Qtc3Rhci8qLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3Rh
bGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4L2Zvby9zdWInCiAoIGNkICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28nICYmIHJh
bmxpYiBzdWIvbGlibm9iYXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28vc3Vi
LycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4L2Zvby9zdWIvJwogbWtkaXIgLXAg
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4
L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vJwog
bWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFy
LyotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmgg
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyotcHJlZml4
L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3Qtc3Rhci8qLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3Rh
bGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi1wcmVmaXgvZm9vL3N1YicKIG1rZGlyIC1wICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLXByZWZpeC9mb28n
CiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0
YXIvKi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIv
bm9iYXNlLmggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFy
LyotcHJlZml4L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyLyonCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvLi8qLXByZWZpeC9mb28vc3ViL25vYmFz
ZS5oJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1zdGFyLy4vKi1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL2Jhc2UuaCcK
dGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rh
ci8uLyotcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8uLyotcHJlZml4L2Zvby9ub2Jhc2Uu
ZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1zdGFyLy4vKi1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL3N1Yi9ub2Jh
c2Uuc2gnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LXN0YXIvLi8qLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLy4vKi1wcmVmaXgvZm9vL2Jhc2Uu
c2gnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LXN0YXIvLi8qLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8uLyotcHJlZml4L2Zvby9ub2Jhc2Un
CnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0
YXIvLi8qLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8uLyotcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEn
CnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0
YXIvLi8qLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvLi8qLXByZWZpeC9mb28vbGliYmFzZS5h
JwojW3N0ZGVycl0rIGRlc2NyaXB0aW9uPSdzdGFyIGluIGJ1aWxkZGlyJwojW3N0ZGVycl0rIGV4
cGVjdGVkX3RvX2ZhaWwgYnVpbGQgc3RhcgojW3N0ZGVycl0rIGNhc2UgJDEgaW4KI1tzdGRlcnJd
KyBpc19pbl9saXN0IHN0YXIgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFz
aCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgpvayAzMSAtIHN0YXIgaW4g
YnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCAzMSAtIHN0YXIgaW4gYnVpbGRkaXIKI1tzdGRl
cnJdKyBpdGVtPXN0YXIKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGlu
CiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBkaXJlY3RpdmU9CiNbc3RkZXJyXSsgcmVh
c29uPQojW3N0ZGVycl0rIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ3N0YXIgaW4gYnVpbGRk
aXInCiNbc3RkZXJyXSsgc2V0ICt4CiNbc3RkZXJyXSsgY2QgL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpcgojW3N0ZGVycl0rIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCiNbc3Rk
ZXJyXSsgYW1fa2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGNhc2UgJGtlZXBfdGVzdGRpcnMg
aW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIHRlc3Qgb2sgPSBvawojW3N0ZGVycl0r
IHJtX3JmXyAnLi8qJyAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
c3RhcgojW3N0ZGVycl0rIHRlc3QgMiAtZ3QgMAojW3N0ZGVycl0rIGNobW9kIC1SIHUrcnd4ICcu
LyonIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyCiNbc3Rk
ZXJyXSsgcm0gLXJmICcuLyonIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1zdGFyCiNbc3RkZXJyXSsgX2FtX3JtcmZfc3RhdHVzPTAKI1tzdGRlcnJdKyBmb3IgX2Ft
X3JtcmZfdiBpbiAnIiRAIicKI1tzdGRlcnJdKyB0ZXN0IC1lICcuLyonCiNbc3RkZXJyXSsgZm9y
IF9hbV9ybXJmX3YgaW4gJyIkQCInCiNbc3RkZXJyXSsgdGVzdCAtZSAvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3RhcgojW3N0ZGVycl0rIHJldHVybiAwCiNbc3Rk
ZXJyXSsgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkICdzZXQgLWUuJwojW3N0ZGVycl0rIGZvciB3
aGVyZSBpbiBidWlsZCBkZXN0CiNbc3RkZXJyXSsgY2FzZSAkd2hlcmUgaW4KI1tzdGRlcnJdKyBi
dWlsZD1idWlsZC1zdGFyCiNbc3RkZXJyXSsgZGVzdD0nL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKicKI1tzdGRlcnJdKyBta2RpciBidWlsZC1zdGFyCiNb
c3RkZXJyXSsgY2QgYnVpbGQtc3RhcgojW3N0ZGVycl0rIHI9b2sKI1tzdGRlcnJdKyAuLi9jb25m
aWd1cmUgLS1wcmVmaXggJy8qLXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUg
aW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgc2xlZXAgc3Vw
cG9ydHMgZnJhY3Rpb25hbCBzZWNvbmRzLi4uIHllcwpjaGVja2luZyBmaWxlc3lzdGVtIHRpbWVz
dGFtcCByZXNvbHV0aW9uLi4uIDAuMDEKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVu
dCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSByYWNlLWZyZWUgbWtkaXIgLXAuLi4gbWtk
aXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gbm8KY2hlY2tpbmcgZm9yIG1hd2suLi4gbm8KY2hl
Y2tpbmcgZm9yIG5hd2suLi4gbm8KY2hlY2tpbmcgZm9yIGF3ay4uLiBhd2sKY2hlY2tpbmcgd2hl
dGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBv
cnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHhhcmdzIC1uIHdvcmtzLi4uIHll
cwpjaGVja2luZyB3aGV0aGVyIFVJRCAnNTAxJyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0
Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIEdJRCAnMjAnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBm
b3JtYXQuLi4geWVzCmNoZWNraW5nIGhvdyB0byBjcmVhdGUgYSB1c3RhciB0YXIgYXJjaGl2ZS4u
LiBwbGFpbnRhcgpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBD
IGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91
dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxl
cy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNr
aW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB0aGUg
Y29tcGlsZXIgc3VwcG9ydHMgR05VIEMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2Vw
dHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGVuYWJsZSBDMjMgZmVhdHVy
ZXMuLi4gLXN0ZD1nbnUyMwpjaGVja2luZyB3aGV0aGVyIGdjYyAtc3RkPWdudTIzIHVuZGVyc3Rh
bmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBv
cnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVw
ZW5kZW5jeSBzdHlsZSBvZiBnY2MgLXN0ZD1nbnUyMy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4u
LiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcg
Zm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5l
d2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5z
dGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhl
Y3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCiNbc3RkZXJyXSsgbWFrZSBhbGwKZ2NjIC1zdGQ9Z251
MjMgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3Bj
XCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wg
MS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tB
R0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQg
c291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9z
b3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgLXN0ZD1n
bnUyMyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgLXN0ZD1nbnUyMyAgLWcg
LU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3Ig
c3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xp
Ym5vYmFzZS5hCmFyIGNyIHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJu
b2Jhc2UuYQojW3N0ZGVycl0rIERFU1RESVI9Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1zdGFyLyonCiNbc3RkZXJyXSsgZmlsZT0nLi8qJwojW3N0ZGVycl0rIG1h
a2UgdGVzdC1pbnN0Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9idWlsZC1zdGFyJwogbWtkaXIgLXAgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovKi1wcmVmaXgvZm9vJwogL3Vz
ci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28n
CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28nCiAoIGNk
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyotcHJl
Zml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28nCiAgL3Vzci9i
aW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28nCiBta2RpciAt
cCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXBy
ZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9m
b28vc3ViLycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3Qtc3Rhci8qLyotcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyotcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jp
bi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyotcHJlZml4L2Zvby9zdWInCiAoIGNkICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyotcHJlZml4
L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28nCiBta2Rp
ciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8q
LXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovKi1wcmVmaXgvZm9v
L3N1Yi8nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LXN0YXIvKi8qLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z
dWIvYmFzZS5kYXQgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1z
dGFyLyovKi1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovKi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAt
YyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28nCiBta2RpciAt
cCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXBy
ZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2Uu
ZGF0ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLyot
cHJlZml4L2Zvby9zdWInCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28vc3ViJwog
L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8qLXByZWZpeC9mb28vc3ViJwpt
YWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9idWlsZC1zdGFyJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1zdGFyLyovLi8qLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0
ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyov
Li8qLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8uLyotcHJlZml4L2Zvby9iYXNlLmgnCnRlc3Qg
ICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8u
LyotcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLy4vKi1wcmVmaXgvZm9vL25vYmFzZS5k
YXQnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LXN0YXIvKi8uLyotcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLy4vKi1wcmVmaXgvZm9vL3N1Yi9u
b2Jhc2Uuc2gnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LXN0YXIvKi8uLyotcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8uLyotcHJlZml4L2Zv
by9iYXNlLnNoJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1zdGFyLyovLi8qLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLy4vKi1wcmVmaXgv
Zm9vL25vYmFzZScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3Qtc3Rhci8qLy4vKi1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKi8uLyotcHJlZml4L2Zvby9z
dWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LXN0YXIvKi8uLyotcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1m
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc3Rhci8qLy4vKi1w
cmVmaXgvZm9vL2xpYmJhc2UuYScKI1tzdGRlcnJdKyBkZXNjcmlwdGlvbj0nc3RhciBpbiBkZXN0
ZGlyJwojW3N0ZGVycl0rIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBzdGFyCiNbc3RkZXJyXSsgY2Fz
ZSAkMSBpbgpvayAzMiAtIHN0YXIgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDMyIC0g
c3RhciBpbiBkZXN0ZGlyCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBzdGFyIHNxdW90ZSBkcXVvdGUg
YnF1b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKI1tzdGRlcnJdKyBpdGVtPXN0YXIK
I1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0
dXJuIDEKI1tzdGRlcnJdKyBkaXJlY3RpdmU9CiNbc3RkZXJyXSsgcmVhc29uPQojW3N0ZGVycl0r
IHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ3N0YXIgaW4gZGVzdGRpcicKI1tzdGRlcnJdKyBz
ZXQgK3gKI1tzdGRlcnJdKyBjZCAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
CiNbc3RkZXJyXSsgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBhbV9rZWVwaW5n
X3Rlc3RkaXJzCiNbc3RkZXJyXSsgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgojW3N0ZGVycl0rIHJl
dHVybiAxCiNbc3RkZXJyXSsgdGVzdCBvayA9IG9rCiNbc3RkZXJyXSsgcm1fcmZfIGJ1aWxkLXN0
YXIgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyonCiNb
c3RkZXJyXSsgdGVzdCAyIC1ndCAwCiNbc3RkZXJyXSsgY2htb2QgLVIgdStyd3ggYnVpbGQtc3Rh
ciAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXN0YXIvKicKI1tz
dGRlcnJdKyBybSAtcmYgYnVpbGQtc3RhciAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LXN0YXIvKicKI1tzdGRlcnJdKyBfYW1fcm1yZl9zdGF0dXM9MAojW3N0ZGVy
cl0rIGZvciBfYW1fcm1yZl92IGluICciJEAiJwojW3N0ZGVycl0rIHRlc3QgLWUgYnVpbGQtc3Rh
cgojW3N0ZGVycl0rIGZvciBfYW1fcm1yZl92IGluICciJEAiJwojW3N0ZGVycl0rIHRlc3QgLWUg
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zdGFyLyonCiNbc3Rk
ZXJyXSsgcmV0dXJuIDAKI1tzdGRlcnJdKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgJ3NldCAt
ZS4nCiNbc3RkZXJyXSsgZm9yIHRlc3RfbmFtZSBpbiAnJHRlc3RfbmFtZXNfbGlzdCcKI1tzdGRl
cnJdKyBldmFsICd0ZXN0X3N0cmluZz0ke2luc3RzcGNfX3BsdXN9JwojW3N0ZGVycl0rKyB0ZXN0
X3N0cmluZz0rCiNbc3RkZXJyXSsgdGVzdCB4KyA9IHgKI1tzdGRlcnJdKyBta2RpciAuLysKI1tz
dGRlcnJdKyBjYXNlICR0ZXN0X3N0cmluZyBpbgojW3N0ZGVycl0rIGZvciB3aGVyZSBpbiBidWls
ZCBkZXN0CiNbc3RkZXJyXSsgY2FzZSAkd2hlcmUgaW4KI1tzdGRlcnJdKyBidWlsZD0uLysKI1tz
dGRlcnJdKyBkZXN0PS91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1w
bHVzCiNbc3RkZXJyXSsgY2QgLi8rCiNbc3RkZXJyXSsgcj1vawojW3N0ZGVycl0rIC4uL2NvbmZp
Z3VyZSAtLXByZWZpeCAvKy1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5z
dGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgc2xlZXAgc3VwcG9y
dHMgZnJhY3Rpb25hbCBzZWNvbmRzLi4uIHllcwpjaGVja2luZyBmaWxlc3lzdGVtIHRpbWVzdGFt
cCByZXNvbHV0aW9uLi4uIDAuMDEKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBp
cyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSByYWNlLWZyZWUgbWtkaXIgLXAuLi4gbWtkaXIg
LXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gbm8KY2hlY2tpbmcgZm9yIG1hd2suLi4gbm8KY2hlY2tp
bmcgZm9yIG5hd2suLi4gbm8KY2hlY2tpbmcgZm9yIGF3ay4uLiBhd2sKY2hlY2tpbmcgd2hldGhl
ciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRz
IG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHhhcmdzIC1uIHdvcmtzLi4uIHllcwpj
aGVja2luZyB3aGV0aGVyIFVJRCAnNTAxJyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4u
IHllcwpjaGVja2luZyB3aGV0aGVyIEdJRCAnMjAnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3Jt
YXQuLi4geWVzCmNoZWNraW5nIGhvdyB0byBjcmVhdGUgYSB1c3RhciB0YXIgYXJjaGl2ZS4uLiBw
bGFpbnRhcgpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNv
bXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1
dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4u
LiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5n
IGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB0aGUgY29t
cGlsZXIgc3VwcG9ydHMgR05VIEMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMg
LWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGVuYWJsZSBDMjMgZmVhdHVyZXMu
Li4gLXN0ZD1nbnUyMwpjaGVja2luZyB3aGV0aGVyIGdjYyAtc3RkPWdudTIzIHVuZGVyc3RhbmRz
IC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRz
IHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5k
ZW5jeSBzdHlsZSBvZiBnY2MgLXN0ZD1nbnUyMy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBh
cgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9y
IHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2Vy
IHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0
dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0
aW5nIGRlcGZpbGVzIGNvbW1hbmRzCiNbc3RkZXJyXSsgbWFrZSBhbGwKZ2NjIC1zdGQ9Z251MjMg
LURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIg
LURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4w
XCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9
XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291
cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3Vy
Y2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgLXN0ZD1nbnUy
MyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgLXN0ZD1nbnUyMyAgLWcgLU8y
ICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3Igc3Vi
L2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5v
YmFzZS5hCmFyIGNyIHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jh
c2UuYQojW3N0ZGVycl0rIERFU1RESVI9L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LXBsdXMKI1tzdGRlcnJdKyBmaWxlPS4vKwojW3N0ZGVycl0rIG1ha2UgdGVzdC1p
bnN0Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci8rJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1wbHVzLystcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4v
c3ViL2Jhc2Uuc2ggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1w
bHVzLystcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t
IDY0NCAgc3ViL2xpYmJhc2UuYSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9vJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5h
ICkKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
cGx1cy8rLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9vJwog
bWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVz
LystcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMg
Li4vc3ViL25vYmFzZS5zaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LXBsdXMvKy1wcmVmaXgvZm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJlZml4L2Zv
by9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28v
c3ViJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBs
dXMvKy1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIG1rZGlyIC1wICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9m
b28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LXBsdXMvKy1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNl
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZp
eC9mb28vc3ViLycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAu
Li9zdWIvYmFzZS5kYXQgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1wbHVzLystcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1j
IC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJlZml4L2Zv
by9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJlZml4L2Zv
by9zdWInCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LXBsdXMvKy1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLystcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0
YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5n
IGRpcmVjdG9yeSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci8rJwp0ZXN0
ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4v
Ky1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8uLystcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVz
dCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8u
LystcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvLi8rLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRl
c3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMv
Li8rLXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8uLystcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVz
dCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8u
LystcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVmaXgvZm9vL25vYmFzZS5zaCcK
dGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGx1
cy8uLystcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRl
c3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMv
Li8rLXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvLi8rLXByZWZp
eC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4vKy1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0
ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLy4v
Ky1wcmVmaXgvZm9vL2xpYmJhc2UuYScKI1tzdGRlcnJdKyBkZXNjcmlwdGlvbj0ncGx1cyBpbiBi
dWlsZGRpcicKI1tzdGRlcnJdKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIHBsdXMKI1tzdGRlcnJd
KyBjYXNlICQxIGluCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBwbHVzIHNxdW90ZSBkcXVvdGUgYnF1
b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVkIHF1YWRyaWdyYXBoMCBh
X2xmX2IKI1tzdGRlcnJdKyBpdGVtPXBsdXMKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNh
c2UgIiAkKiAiIGluCm9rIDMzIC0gcGx1cyBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFw
IDMzIC0gcGx1cyBpbiBidWlsZGRpcgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgZGly
ZWN0aXZlPQojW3N0ZGVycl0rIHJlYXNvbj0KI1tzdGRlcnJdKyByZXN1bHRfIG9rIC1EICcnIC1y
ICcnIC0tICdwbHVzIGluIGJ1aWxkZGlyJwojW3N0ZGVycl0rIHNldCAreAojW3N0ZGVycl0rIGNk
IC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIKI1tzdGRlcnJdKyBub3QgYW1f
a2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJd
KyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyB0
ZXN0IG9rID0gb2sKI1tzdGRlcnJdKyBybV9yZl8gLi8rIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzCiNbc3RkZXJyXSsgdGVzdCAyIC1ndCAwCiNbc3RkZXJy
XSsgY2htb2QgLVIgdStyd3ggLi8rIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1wbHVzCiNbc3RkZXJyXSsgcm0gLXJmIC4vKyAvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cwojW3N0ZGVycl0rIF9hbV9ybXJmX3N0YXR1cz0wCiNb
c3RkZXJyXSsgZm9yIF9hbV9ybXJmX3YgaW4gJyIkQCInCiNbc3RkZXJyXSsgdGVzdCAtZSAuLysK
I1tzdGRlcnJdKyBmb3IgX2FtX3JtcmZfdiBpbiAnIiRAIicKI1tzdGRlcnJdKyB0ZXN0IC1lIC91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzCiNbc3RkZXJyXSsg
cmV0dXJuIDAKI1tzdGRlcnJdKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgJ3NldCAtZS4nCiNb
c3RkZXJyXSsgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKI1tzdGRlcnJdKyBjYXNlICR3aGVyZSBp
bgojW3N0ZGVycl0rIGJ1aWxkPWJ1aWxkLXBsdXMKI1tzdGRlcnJdKyBkZXN0PS91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysKI1tzdGRlcnJdKyBta2RpciBi
dWlsZC1wbHVzCiNbc3RkZXJyXSsgY2QgYnVpbGQtcGx1cwojW3N0ZGVycl0rIHI9b2sKI1tzdGRl
cnJdKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLystcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1j
b21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVy
IHNsZWVwIHN1cHBvcnRzIGZyYWN0aW9uYWwgc2Vjb25kcy4uLiB5ZXMKY2hlY2tpbmcgZmlsZXN5
c3RlbSB0aW1lc3RhbXAgcmVzb2x1dGlvbi4uLiAwLjAxCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQg
ZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgcmFjZS1mcmVlIG1rZGly
IC1wLi4uIG1rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIG5vCmNoZWNraW5nIGZvciBtYXdr
Li4uIG5vCmNoZWNraW5nIGZvciBuYXdrLi4uIG5vCmNoZWNraW5nIGZvciBhd2suLi4gYXdrCmNo
ZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg
bWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyB4YXJncyAtbiB3
b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBVSUQgJzUwMScgaXMgc3VwcG9ydGVkIGJ5IHVz
dGFyIGZvcm1hdC4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBHSUQgJzIwJyBpcyBzdXBwb3J0ZWQg
YnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVja2luZyBob3cgdG8gY3JlYXRlIGEgdXN0YXIgdGFy
IGFyY2hpdmUuLi4gcGxhaW50YXIKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hl
dGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIg
ZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2Yg
ZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4u
LiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdo
ZXRoZXIgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIEdOVSBDLi4uIHllcwpjaGVja2luZyB3aGV0aGVy
IGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBlbmFibGUg
QzIzIGZlYXR1cmVzLi4uIC1zdGQ9Z251MjMKY2hlY2tpbmcgd2hldGhlciBnY2MgLXN0ZD1nbnUy
MyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg
bWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNo
ZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjIC1zdGQ9Z251MjMuLi4gZ2NjMwpjaGVja2lu
ZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFy
CmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZp
bGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcg
Li9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5z
dGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcwojW3N0ZGVycl0rIG1ha2UgYWxsCmdj
YyAtc3RkPWdudTIzIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1F
PVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1c
Imluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwi
XCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAt
ZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291
cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8K
Z2NjIC1zdGQ9Z251MjMgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjIC1zdGQ9
Z251MjMgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFz
ZS5hCmFyIGNyIHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJt
IC1mIHN1Yi9saWJub2Jhc2UuYQphciBjciBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxp
YiBzdWIvbGlibm9iYXNlLmEKI1tzdGRlcnJdKyBERVNURElSPS91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysKI1tzdGRlcnJdKyBmaWxlPS4vKwojW3N0ZGVy
cl0rIG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9idWlsZC1wbHVzJwogbWtkaXIgLXAgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9v
JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiBta2RpciAtcCAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZp
eC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28n
CiAoIGNkICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8r
LystcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiAg
L3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiBt
a2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMv
Ky8rLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5z
aCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXBy
ZWZpeC9mb28vc3ViLycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtcGx1cy8rLystcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLystcHJlZml4L2Zvby9zdWInCiAv
dXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLystcHJlZml4L2Zvby9zdWInCiAo
IGNkICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLyst
cHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiBta2RpciAtcCAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28n
CiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBs
dXMvKy8rLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2Ug
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1wcmVm
aXgvZm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0
NCAuLi9zdWIvYmFzZS5kYXQgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvKy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5z
dGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiBt
a2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMv
Ky8rLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9u
b2Jhc2UuZGF0ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGx1
cy8rLystcHJlZml4L2Zvby9zdWInCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28v
c3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8rLXByZWZpeC9mb28v
c3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9idWlsZC1wbHVzJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1wbHVzLysvLi8rLXByZWZpeC9mb28vc3ViL25vYmFzZS5o
Jwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1w
bHVzLysvLi8rLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8uLystcHJlZml4L2Zvby9iYXNlLmgn
CnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBs
dXMvKy8uLystcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLy4vKy1wcmVmaXgvZm9vL25v
YmFzZS5kYXQnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LXBsdXMvKy8uLystcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLy4vKy1wcmVmaXgvZm9v
L3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LXBsdXMvKy8uLystcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8uLystcHJl
Zml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1wbHVzLysvLi8rLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1m
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8rLy4vKy1w
cmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtcGx1cy8rLy4vKy1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8uLystcHJlZml4
L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKy8uLystcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVz
dCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcGx1cy8r
Ly4vKy1wcmVmaXgvZm9vL2xpYmJhc2UuYScKI1tzdGRlcnJdKyBkZXNjcmlwdGlvbj0ncGx1cyBp
biBkZXN0ZGlyJwojW3N0ZGVycl0rIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBwbHVzCiNbc3RkZXJy
XSsgY2FzZSAkMSBpbgojW3N0ZGVycl0rIGlzX2luX2xpc3QgcGx1cyBzcXVvdGUgZHF1b3RlIGJx
dW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCiNbc3RkZXJyXSsgaXRlbT1wbHVzCiNb
c3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVy
biAxCiNbc3RkZXJyXSsgZGlyZWN0aXZlPQojW3N0ZGVycl0rIHJlYXNvbj0Kb2sgMzQgLSBwbHVz
IGluIGRlc3RkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCAzNCAtIHBsdXMgaW4gZGVzdGRpcgojW3N0
ZGVycl0rIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ3BsdXMgaW4gZGVzdGRpcicKI1tzdGRl
cnJdKyBzZXQgK3gKI1tzdGRlcnJdKyBjZCAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyCiNbc3RkZXJyXSsgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBhbV9r
ZWVwaW5nX3Rlc3RkaXJzCiNbc3RkZXJyXSsgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgojW3N0ZGVy
cl0rIHJldHVybiAxCiNbc3RkZXJyXSsgdGVzdCBvayA9IG9rCiNbc3RkZXJyXSsgcm1fcmZfIGJ1
aWxkLXBsdXMgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMv
KwojW3N0ZGVycl0rIHRlc3QgMiAtZ3QgMAojW3N0ZGVycl0rIGNobW9kIC1SIHUrcnd4IGJ1aWxk
LXBsdXMgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKwoj
W3N0ZGVycl0rIHJtIC1yZiBidWlsZC1wbHVzIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1wbHVzLysKI1tzdGRlcnJdKyBfYW1fcm1yZl9zdGF0dXM9MAojW3N0ZGVy
cl0rIGZvciBfYW1fcm1yZl92IGluICciJEAiJwojW3N0ZGVycl0rIHRlc3QgLWUgYnVpbGQtcGx1
cwojW3N0ZGVycl0rIGZvciBfYW1fcm1yZl92IGluICciJEAiJwojW3N0ZGVycl0rIHRlc3QgLWUg
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXBsdXMvKwojW3N0ZGVy
cl0rIHJldHVybiAwCiNbc3RkZXJyXSsgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkICdzZXQgLWUu
JwojW3N0ZGVycl0rIGZvciB0ZXN0X25hbWUgaW4gJyR0ZXN0X25hbWVzX2xpc3QnCiNbc3RkZXJy
XSsgZXZhbCAndGVzdF9zdHJpbmc9JHtpbnN0c3BjX19taW51c30nCiNbc3RkZXJyXSsrIHRlc3Rf
c3RyaW5nPS0KI1tzdGRlcnJdKyB0ZXN0IHgtID0geAojW3N0ZGVycl0rIG1rZGlyIC4vLQojW3N0
ZGVycl0rIGNhc2UgJHRlc3Rfc3RyaW5nIGluCiNbc3RkZXJyXSsgZm9yIHdoZXJlIGluIGJ1aWxk
IGRlc3QKI1tzdGRlcnJdKyBjYXNlICR3aGVyZSBpbgojW3N0ZGVycl0rIGJ1aWxkPS4vLQojW3N0
ZGVycl0rIGRlc3Q9L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1p
bnVzCiNbc3RkZXJyXSsgY2QgLi8tCiNbc3RkZXJyXSsgcj1vawojW3N0ZGVycl0rIC4uL2NvbmZp
Z3VyZSAtLXByZWZpeCAvLS1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5z
dGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgc2xlZXAgc3VwcG9y
dHMgZnJhY3Rpb25hbCBzZWNvbmRzLi4uIHllcwpjaGVja2luZyBmaWxlc3lzdGVtIHRpbWVzdGFt
cCByZXNvbHV0aW9uLi4uIDAuMDEKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBp
cyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSByYWNlLWZyZWUgbWtkaXIgLXAuLi4gbWtkaXIg
LXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gbm8KY2hlY2tpbmcgZm9yIG1hd2suLi4gbm8KY2hlY2tp
bmcgZm9yIG5hd2suLi4gbm8KY2hlY2tpbmcgZm9yIGF3ay4uLiBhd2sKY2hlY2tpbmcgd2hldGhl
ciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRz
IG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHhhcmdzIC1uIHdvcmtzLi4uIHllcwpj
aGVja2luZyB3aGV0aGVyIFVJRCAnNTAxJyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4u
IHllcwpjaGVja2luZyB3aGV0aGVyIEdJRCAnMjAnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3Jt
YXQuLi4geWVzCmNoZWNraW5nIGhvdyB0byBjcmVhdGUgYSB1c3RhciB0YXIgYXJjaGl2ZS4uLiBw
bGFpbnRhcgpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNv
bXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1
dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4u
LiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5n
IGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB0aGUgY29t
cGlsZXIgc3VwcG9ydHMgR05VIEMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMg
LWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGVuYWJsZSBDMjMgZmVhdHVyZXMu
Li4gLXN0ZD1nbnUyMwpjaGVja2luZyB3aGV0aGVyIGdjYyAtc3RkPWdudTIzIHVuZGVyc3RhbmRz
IC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRz
IHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5k
ZW5jeSBzdHlsZSBvZiBnY2MgLXN0ZD1nbnUyMy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBh
cgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9y
IHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2Vy
IHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0
dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0
aW5nIGRlcGZpbGVzIGNvbW1hbmRzCiNbc3RkZXJyXSsgbWFrZSBhbGwKZ2NjIC1zdGQ9Z251MjMg
LURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIg
LURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4w
XCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9
XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291
cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3Vy
Y2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgLXN0ZD1nbnUy
MyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgLXN0ZD1nbnUyMyAgLWcgLU8y
ICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3Igc3Vi
L2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5v
YmFzZS5hCmFyIGNyIHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jh
c2UuYQojW3N0ZGVycl0rIERFU1RESVI9L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LW1pbnVzCiNbc3RkZXJyXSsgZmlsZT0uLy0KI1tzdGRlcnJdKyBtYWtlIHRlc3Qt
aW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvLScKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAu
Li9zdWIvYmFzZS5zaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LW1pbnVzLy0tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAt
YyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28nCiAoIGNkICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGli
YmFzZS5hICkKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2Ug
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLXByZWZp
eC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LW1pbnVzLy0tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9p
bnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28vc3ViLycKIG1rZGlyIC1wICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwog
bWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51
cy8tLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJu
b2Jhc2UuYSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVz
Ly0tcHJlZml4L2Zvby9zdWInCiAoIGNkICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5h
ICkKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
bWludXMvLS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0
YWxsIC1jIHN1Yi9ub2Jhc2UgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1taW51cy8tLXByZWZpeC9mb28vc3ViLycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogL3Vzci9iaW4v
aW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28n
CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVmaXgvZm9vJwogbWtkaXIg
LXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLXBy
ZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LW1pbnVzLy0tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0
NCAgLi4vc3ViL25vYmFzZS5kYXQgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28vc3ViJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLXByZWZpeC9mb28nCiBta2RpciAt
cCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0tcHJl
Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5o
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS1wcmVm
aXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvLScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLi8tLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0
ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51
cy8uLy0tcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLi8tLXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0
ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8u
Ly0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLi8tLXByZWZpeC9mb28vbm9iYXNlLmRh
dCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
bWludXMvLi8tLXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy4vLS1wcmVmaXgvZm9vL3N1Yi9ub2Jh
c2Uuc2gnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LW1pbnVzLy4vLS1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLi8tLXByZWZpeC9mb28vYmFz
ZS5zaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtbWludXMvLi8tLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLi8tLXByZWZpeC9mb28vbm9i
YXNlJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1taW51cy8uLy0tcHJlZml4L2Zvby9iYXNlJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8uLy0tcHJlZml4L2Zvby9zdWIvbGlibm9i
YXNlLmEnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LW1pbnVzLy4vLS1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8uLy0tcHJlZml4L2Zvby9s
aWJiYXNlLmEnCiNbc3RkZXJyXSsgZGVzY3JpcHRpb249J21pbnVzIGluIGJ1aWxkZGlyJwojW3N0
ZGVycl0rIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgbWludXMKI1tzdGRlcnJdKyBjYXNlICQxIGlu
CiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBtaW51cyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBk
b2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCiNbc3Rk
ZXJyXSsgaXRlbT1taW51cwojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIg
aW4KI1tzdGRlcnJdKyByZXR1cm4gMQpvayAzNSAtIG1pbnVzIGluIGJ1aWxkZGlyClBBU1M6IHQv
aW5zdHNwYy50YXAgMzUgLSBtaW51cyBpbiBidWlsZGRpcgojW3N0ZGVycl0rIGRpcmVjdGl2ZT0K
I1tzdGRlcnJdKyByZWFzb249CiNbc3RkZXJyXSsgcmVzdWx0XyBvayAtRCAnJyAtciAnJyAtLSAn
bWludXMgaW4gYnVpbGRkaXInCiNbc3RkZXJyXSsgc2V0ICt4CiNbc3RkZXJyXSsgY2QgL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpcgojW3N0ZGVycl0rIG5vdCBhbV9rZWVwaW5n
X3Rlc3RkaXJzCiNbc3RkZXJyXSsgYW1fa2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGNhc2Ug
JGtlZXBfdGVzdGRpcnMgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIHRlc3Qgb2sg
PSBvawojW3N0ZGVycl0rIHJtX3JmXyAuLy0gL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LW1pbnVzCiNbc3RkZXJyXSsgdGVzdCAyIC1ndCAwCiNbc3RkZXJyXSsgY2ht
b2QgLVIgdStyd3ggLi8tIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1taW51cwojW3N0ZGVycl0rIHJtIC1yZiAuLy0gL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LW1pbnVzCiNbc3RkZXJyXSsgX2FtX3JtcmZfc3RhdHVzPTAKI1tzdGRl
cnJdKyBmb3IgX2FtX3JtcmZfdiBpbiAnIiRAIicKI1tzdGRlcnJdKyB0ZXN0IC1lIC4vLQojW3N0
ZGVycl0rIGZvciBfYW1fcm1yZl92IGluICciJEAiJwojW3N0ZGVycl0rIHRlc3QgLWUgL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzCiNbc3RkZXJyXSsgcmV0
dXJuIDAKI1tzdGRlcnJdKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgJ3NldCAtZS4nCiNbc3Rk
ZXJyXSsgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKI1tzdGRlcnJdKyBjYXNlICR3aGVyZSBpbgoj
W3N0ZGVycl0rIGJ1aWxkPWJ1aWxkLW1pbnVzCiNbc3RkZXJyXSsgZGVzdD0vdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLQojW3N0ZGVycl0rIG1rZGlyIGJ1
aWxkLW1pbnVzCiNbc3RkZXJyXSsgY2QgYnVpbGQtbWludXMKI1tzdGRlcnJdKyByPW9rCiNbc3Rk
ZXJyXSsgLi4vY29uZmlndXJlIC0tcHJlZml4IC8tLXByZWZpeApjaGVja2luZyBmb3IgYSBCU0Qt
Y29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhl
ciBzbGVlcCBzdXBwb3J0cyBmcmFjdGlvbmFsIHNlY29uZHMuLi4geWVzCmNoZWNraW5nIGZpbGVz
eXN0ZW0gdGltZXN0YW1wIHJlc29sdXRpb24uLi4gMC4wMQpjaGVja2luZyB3aGV0aGVyIGJ1aWxk
IGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHJhY2UtZnJlZSBta2Rp
ciAtcC4uLiBta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBubwpjaGVja2luZyBmb3IgbWF3
ay4uLiBubwpjaGVja2luZyBmb3IgbmF3ay4uLiBubwpjaGVja2luZyBmb3IgYXdrLi4uIGF3awpj
aGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVy
IG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgeGFyZ3MgLW4g
d29ya3MuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgVUlEICc1MDEnIGlzIHN1cHBvcnRlZCBieSB1
c3RhciBmb3JtYXQuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgR0lEICcyMCcgaXMgc3VwcG9ydGVk
IGJ5IHVzdGFyIGZvcm1hdC4uLiB5ZXMKY2hlY2tpbmcgaG93IHRvIGNyZWF0ZSBhIHVzdGFyIHRh
ciBhcmNoaXZlLi4uIHBsYWludGFyCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdo
ZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVy
IGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9m
IGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcu
Li4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3
aGV0aGVyIHRoZSBjb21waWxlciBzdXBwb3J0cyBHTlUgQy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhl
ciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gZW5hYmxl
IEMyMyBmZWF0dXJlcy4uLiAtc3RkPWdudTIzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIC1zdGQ9Z251
MjMgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVy
IG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpj
aGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYyAtc3RkPWdudTIzLi4uIGdjYzMKY2hlY2tp
bmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBh
cgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBm
aWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5n
IC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcu
c3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKI1tzdGRlcnJdKyBtYWtlIGFsbApn
Y2MgLXN0ZD1nbnUyMyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFN
RT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9
XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1c
IlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAg
LWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNv
dXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBv
CmdjYyAtc3RkPWdudTIzICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAtc3Rk
PWdudTIzICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJh
c2UuYQphciBjciBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpy
bSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3Igc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5s
aWIgc3ViL2xpYm5vYmFzZS5hCiNbc3RkZXJyXSsgREVTVERJUj0vdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLQojW3N0ZGVycl0rIGZpbGU9Li8tCiNbc3Rk
ZXJyXSsgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2J1aWxkLW1pbnVzJwogbWtkaXIgLXAgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy0tcHJlZml4
L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2ZvbycKIG1rZGly
IC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS8t
LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLS1wcmVm
aXgvZm9vJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LW1pbnVzLy0vLS1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIG1rZGlyIC1wICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS8tLXByZWZp
eC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLS1wcmVmaXgvZm9vJwogbWtkaXIgLXAg
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy0tcHJl
Zml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4v
c3ViL25vYmFzZS5zaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LW1pbnVzLy0vLS1wcmVmaXgvZm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLS1wcmVmaXgvZm9vJwogbWtkaXIgLXAg
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy0tcHJl
Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5h
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS8tLXBy
ZWZpeC9mb28vc3ViJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LW1pbnVzLy0vLS1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkK
IG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWlu
dXMvLS8tLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLS1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5z
dGFsbCAtYyBzdWIvbm9iYXNlICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28vc3ViLycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28nCiAvdXNy
L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2ZvbycKIG1rZGlyIC1w
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS8tLXBy
ZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS8tLXByZWZpeC9m
b28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LW1pbnVzLy0vLS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9p
bnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2Zvby9zdWInCiBta2RpciAt
cCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLS1w
cmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1taW51cy8tLy0tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t
IDY0NCAgLi4vc3ViL25vYmFzZS5oICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtbWludXMvLS8tLXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVj
dG9yeSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9idWlsZC1taW51cycK
dGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWlu
dXMvLS8uLy0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLi8tLXByZWZpeC9mb28vbm9i
YXNlLmgnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LW1pbnVzLy0vLi8tLXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy4vLS1wcmVmaXgvZm9vL3N1
Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1taW51cy8tLy4vLS1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLi8tLXBy
ZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLi8tLXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVz
dCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMv
LS8uLy0tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0vLi8tLXByZWZpeC9mb28vYmFzZS5zaCcK
dGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWlu
dXMvLS8uLy0tcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy4vLS1wcmVmaXgvZm9vL25vYmFz
ZScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
bWludXMvLS8uLy0tcHJlZml4L2Zvby9iYXNlJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1taW51cy8tLy4vLS1wcmVmaXgvZm9vL3N1Yi9saWJu
b2Jhc2UuYScKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtbWludXMvLS8uLy0tcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLS8uLy0tcHJlZml4
L2Zvby9saWJiYXNlLmEnCiNbc3RkZXJyXSsgZGVzY3JpcHRpb249J21pbnVzIGluIGRlc3RkaXIn
CiNbc3RkZXJyXSsgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IG1pbnVzCiNbc3RkZXJyXSsgY2FzZSAk
MSBpbgojW3N0ZGVycl0rIGlzX2luX2xpc3QgbWludXMgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh
cnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZfYgojW3N0ZGVycl0rIGl0ZW09bWludXMKI1tzdGRlcnJd
KyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGluCm9rIDM2IC0gbWludXMgaW4gZGVzdGRp
cgpQQVNTOiB0L2luc3RzcGMudGFwIDM2IC0gbWludXMgaW4gZGVzdGRpcgojW3N0ZGVycl0rIHJl
dHVybiAxCiNbc3RkZXJyXSsgZGlyZWN0aXZlPQojW3N0ZGVycl0rIHJlYXNvbj0KI1tzdGRlcnJd
KyByZXN1bHRfIG9rIC1EICcnIC1yICcnIC0tICdtaW51cyBpbiBkZXN0ZGlyJwojW3N0ZGVycl0r
IHNldCAreAojW3N0ZGVycl0rIGNkIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIKI1tzdGRlcnJdKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGFtX2tlZXBp
bmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCiNbc3RkZXJyXSsg
cmV0dXJuIDEKI1tzdGRlcnJdKyB0ZXN0IG9rID0gb2sKI1tzdGRlcnJdKyBybV9yZl8gYnVpbGQt
bWludXMgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0K
I1tzdGRlcnJdKyB0ZXN0IDIgLWd0IDAKI1tzdGRlcnJdKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1t
aW51cyAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbWludXMvLQoj
W3N0ZGVycl0rIHJtIC1yZiBidWlsZC1taW51cyAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtbWludXMvLQojW3N0ZGVycl0rIF9hbV9ybXJmX3N0YXR1cz0wCiNbc3Rk
ZXJyXSsgZm9yIF9hbV9ybXJmX3YgaW4gJyIkQCInCiNbc3RkZXJyXSsgdGVzdCAtZSBidWlsZC1t
aW51cwojW3N0ZGVycl0rIGZvciBfYW1fcm1yZl92IGluICciJEAiJwojW3N0ZGVycl0rIHRlc3Qg
LWUgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1pbnVzLy0KI1tz
dGRlcnJdKyByZXR1cm4gMAojW3N0ZGVycl0rIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCAnc2V0
IC1lLicKI1tzdGRlcnJdKyBmb3IgdGVzdF9uYW1lIGluICckdGVzdF9uYW1lc19saXN0JwojW3N0
ZGVycl0rIGV2YWwgJ3Rlc3Rfc3RyaW5nPSR7aW5zdHNwY19fY29tbWF9JwojW3N0ZGVycl0rKyB0
ZXN0X3N0cmluZz0sCiNbc3RkZXJyXSsgdGVzdCB4LCA9IHgKI1tzdGRlcnJdKyBta2RpciAuLywK
I1tzdGRlcnJdKyBjYXNlICR0ZXN0X3N0cmluZyBpbgojW3N0ZGVycl0rIGZvciB3aGVyZSBpbiBi
dWlsZCBkZXN0CiNbc3RkZXJyXSsgY2FzZSAkd2hlcmUgaW4KI1tzdGRlcnJdKyBidWlsZD0uLywK
I1tzdGRlcnJdKyBkZXN0PS91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1jb21tYQojW3N0ZGVycl0rIGNkIC4vLAojW3N0ZGVycl0rIHI9b2sKI1tzdGRlcnJdKyAuLi9j
b25maWd1cmUgLS1wcmVmaXggLywtcHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxl
IGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIHNsZWVwIHN1
cHBvcnRzIGZyYWN0aW9uYWwgc2Vjb25kcy4uLiB5ZXMKY2hlY2tpbmcgZmlsZXN5c3RlbSB0aW1l
c3RhbXAgcmVzb2x1dGlvbi4uLiAwLjAxCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1l
bnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgcmFjZS1mcmVlIG1rZGlyIC1wLi4uIG1r
ZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIG5vCmNoZWNraW5nIGZvciBtYXdrLi4uIG5vCmNo
ZWNraW5nIGZvciBuYXdrLi4uIG5vCmNoZWNraW5nIGZvciBhd2suLi4gYXdrCmNoZWNraW5nIHdo
ZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBw
b3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyB4YXJncyAtbiB3b3Jrcy4uLiB5
ZXMKY2hlY2tpbmcgd2hldGhlciBVSUQgJzUwMScgaXMgc3VwcG9ydGVkIGJ5IHVzdGFyIGZvcm1h
dC4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBHSUQgJzIwJyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIg
Zm9ybWF0Li4uIHllcwpjaGVja2luZyBob3cgdG8gY3JlYXRlIGEgdXN0YXIgdGFyIGFyY2hpdmUu
Li4gcGxhaW50YXIKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUg
QyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBv
dXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJs
ZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVj
a2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgdGhl
IGNvbXBpbGVyIHN1cHBvcnRzIEdOVSBDLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2Nl
cHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBlbmFibGUgQzIzIGZlYXR1
cmVzLi4uIC1zdGQ9Z251MjMKY2hlY2tpbmcgd2hldGhlciBnY2MgLXN0ZD1nbnUyMyB1bmRlcnN0
YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBw
b3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRl
cGVuZGVuY3kgc3R5bGUgb2YgZ2NjIC1zdGQ9Z251MjMuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIu
Li4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5n
IGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBu
ZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcu
c3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4
ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcwojW3N0ZGVycl0rIG1ha2UgYWxsCmdjYyAtc3RkPWdu
dTIzIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNw
Y1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNc
IDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNL
QUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1U
IHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4v
c291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjIC1zdGQ9
Z251MjMgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjIC1zdGQ9Z251MjMgIC1n
IC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNy
IHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9s
aWJub2Jhc2UuYQphciBjciBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGli
bm9iYXNlLmEKI1tzdGRlcnJdKyBERVNURElSPS91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1jb21tYQojW3N0ZGVycl0rIGZpbGU9Li8sCiNbc3RkZXJyXSsgbWFrZSB0
ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyLywnCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwg
LWMgLi4vc3ViL2Jhc2Uuc2ggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1jb21tYS8sLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3Rh
bGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbycgJiYgcmFubGli
IGxpYmJhc2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9i
YXNlICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1w
cmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1jb21tYS8sLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9i
aW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2Zv
bycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
Y29tbWEvLC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIv
bGlibm9iYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1j
b21tYS8sLXByZWZpeC9mb28vc3ViJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jh
c2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LWNvbW1hLywtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4v
aW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbycKIC91c3Iv
YmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgv
Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywtcHJlZml4L2ZvbycKIG1r
ZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEv
LC1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1jb21tYS8sLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt
bSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vL3N1YicKIG1rZGlyIC1wICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC1wcmVmaXgvZm9vJwogbWtk
aXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8s
LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jh
c2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywt
cHJlZml4L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyLywnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLy4vLC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu
aCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
Y29tbWEvLi8sLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLy4vLC1wcmVmaXgvZm9vL2Jhc2UuaCcK
dGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29t
bWEvLi8sLXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLy4vLC1wcmVmaXgvZm9vL25vYmFz
ZS5kYXQnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LWNvbW1hLy4vLC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8uLywtcHJlZml4L2Zvby9zdWIv
bm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1jb21tYS8uLywtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLy4vLC1wcmVmaXgvZm9v
L2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LWNvbW1hLy4vLC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLy4vLC1wcmVmaXgvZm9v
L25vYmFzZScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtY29tbWEvLi8sLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLi8sLXByZWZpeC9mb28vc3ViL2xp
Ym5vYmFzZS5hJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1jb21tYS8uLywtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLi8sLXByZWZpeC9m
b28vbGliYmFzZS5hJwojW3N0ZGVycl0rIGRlc2NyaXB0aW9uPSdjb21tYSBpbiBidWlsZGRpcicK
I1tzdGRlcnJdKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGNvbW1hCiNbc3RkZXJyXSsgY2FzZSAk
MSBpbgojW3N0ZGVycl0rIGlzX2luX2xpc3QgY29tbWEgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hh
cnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgoj
W3N0ZGVycl0rIGl0ZW09Y29tbWEKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAk
KiAiIGluCm9rIDM3IC0gY29tbWEgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCAzNyAt
IGNvbW1hIGluIGJ1aWxkZGlyCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBkaXJlY3Rp
dmU9CiNbc3RkZXJyXSsgcmVhc29uPQojW3N0ZGVycl0rIHJlc3VsdF8gb2sgLUQgJycgLXIgJycg
LS0gJ2NvbW1hIGluIGJ1aWxkZGlyJwojW3N0ZGVycl0rIHNldCAreAojW3N0ZGVycl0rIGNkIC91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIKI1tzdGRlcnJdKyBub3QgYW1fa2Vl
cGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBj
YXNlICRrZWVwX3Rlc3RkaXJzIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyB0ZXN0
IG9rID0gb2sKI1tzdGRlcnJdKyBybV9yZl8gLi8sIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1jb21tYQojW3N0ZGVycl0rIHRlc3QgMiAtZ3QgMAojW3N0ZGVycl0r
IGNobW9kIC1SIHUrcnd4IC4vLCAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtY29tbWEKI1tzdGRlcnJdKyBybSAtcmYgLi8sIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYQojW3N0ZGVycl0rIF9hbV9ybXJmX3N0YXR1cz0wCiNb
c3RkZXJyXSsgZm9yIF9hbV9ybXJmX3YgaW4gJyIkQCInCiNbc3RkZXJyXSsgdGVzdCAtZSAuLywK
I1tzdGRlcnJdKyBmb3IgX2FtX3JtcmZfdiBpbiAnIiRAIicKI1tzdGRlcnJdKyB0ZXN0IC1lIC91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYQojW3N0ZGVycl0r
IHJldHVybiAwCiNbc3RkZXJyXSsgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkICdzZXQgLWUuJwoj
W3N0ZGVycl0rIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CiNbc3RkZXJyXSsgY2FzZSAkd2hlcmUg
aW4KI1tzdGRlcnJdKyBidWlsZD1idWlsZC1jb21tYQojW3N0ZGVycl0rIGRlc3Q9L3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywKI1tzdGRlcnJdKyBta2Rp
ciBidWlsZC1jb21tYQojW3N0ZGVycl0rIGNkIGJ1aWxkLWNvbW1hCiNbc3RkZXJyXSsgcj1vawoj
W3N0ZGVycl0rIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvLC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEg
QlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdo
ZXRoZXIgc2xlZXAgc3VwcG9ydHMgZnJhY3Rpb25hbCBzZWNvbmRzLi4uIHllcwpjaGVja2luZyBm
aWxlc3lzdGVtIHRpbWVzdGFtcCByZXNvbHV0aW9uLi4uIDAuMDEKY2hlY2tpbmcgd2hldGhlciBi
dWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSByYWNlLWZyZWUg
bWtkaXIgLXAuLi4gbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gbm8KY2hlY2tpbmcgZm9y
IG1hd2suLi4gbm8KY2hlY2tpbmcgZm9yIG5hd2suLi4gbm8KY2hlY2tpbmcgZm9yIGF3ay4uLiBh
d2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hl
dGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHhhcmdz
IC1uIHdvcmtzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIFVJRCAnNTAxJyBpcyBzdXBwb3J0ZWQg
YnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIEdJRCAnMjAnIGlzIHN1cHBv
cnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVzCmNoZWNraW5nIGhvdyB0byBjcmVhdGUgYSB1c3Rh
ciB0YXIgYXJjaGl2ZS4uLiBwbGFpbnRhcgpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2lu
ZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21w
aWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZp
eCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGls
aW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tp
bmcgd2hldGhlciB0aGUgY29tcGlsZXIgc3VwcG9ydHMgR05VIEMuLi4geWVzCmNoZWNraW5nIHdo
ZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGVu
YWJsZSBDMjMgZmVhdHVyZXMuLi4gLXN0ZD1nbnUyMwpjaGVja2luZyB3aGV0aGVyIGdjYyAtc3Rk
PWdudTIzIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hl
dGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHls
ZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MgLXN0ZD1nbnUyMy4uLiBnY2MzCmNo
ZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2Uu
Li4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0
ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVh
dGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29u
ZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCiNbc3RkZXJyXSsgbWFrZSBh
bGwKZ2NjIC1zdGQ9Z251MjMgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RB
Uk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RS
SU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9V
Ukw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4g
ICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAt
byBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJj
ZS5QbwpnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2Mg
LXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9s
aWJiYXNlLmEKYXIgY3Igc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNl
LmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNyIHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAK
cmFubGliIHN1Yi9saWJub2Jhc2UuYQojW3N0ZGVycl0rIERFU1RESVI9L3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywKI1tzdGRlcnJdKyBmaWxlPS4vLAoj
W3N0ZGVycl0rIG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9idWlsZC1jb21tYScKIG1rZGlyIC1w
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXBy
ZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28nCiBt
a2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1h
LywvLC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNl
LmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLywt
cHJlZml4L2ZvbycKICggY2QgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1jb21tYS8sLywtcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiBta2RpciAt
cCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLC1w
cmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLywtcHJlZml4L2ZvbycKIG1rZGly
IC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8s
LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1j
IC4uL3N1Yi9ub2Jhc2Uuc2ggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1jb21tYS8sLywtcHJlZml4L2Zvby9zdWIvJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLywtcHJlZml4L2ZvbycKIG1rZGly
IC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8s
LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jh
c2UuYSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywv
LC1wcmVmaXgvZm9vL3N1YicKICggY2QgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1jb21tYS8sLywtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2Uu
YSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LWNvbW1hLywvLC1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLywtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmlu
L2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9vJwog
L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28nCiBta2Rp
ciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywv
LC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLC1wcmVm
aXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1jb21tYS8sLywtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28vc3ViJwogL3Vzci9i
aW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28vc3ViJwogbWtk
aXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8s
LywtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtY29tbWEvLC8sLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAt
YyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LWNvbW1hLywvLC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBk
aXJlY3RvcnkgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvYnVpbGQtY29t
bWEnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LWNvbW1hLywvLi8sLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLy4vLC1wcmVmaXgvZm9v
L25vYmFzZS5oJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1jb21tYS8sLy4vLC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8uLywtcHJlZml4L2Zv
by9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8uLywtcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAg
LWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLy4v
LC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLy4vLC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gn
CnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNv
bW1hLywvLi8sLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8sLy4vLC1wcmVmaXgvZm9vL2Jhc2Uu
c2gnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LWNvbW1hLywvLi8sLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8uLywtcHJlZml4L2Zvby9u
b2Jhc2UnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LWNvbW1hLywvLi8sLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29tbWEvLC8uLywtcHJlZml4L2Zvby9zdWIv
bGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWNvbW1hLywvLi8sLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywvLi8sLXBy
ZWZpeC9mb28vbGliYmFzZS5hJwojW3N0ZGVycl0rIGRlc2NyaXB0aW9uPSdjb21tYSBpbiBkZXN0
ZGlyJwojW3N0ZGVycl0rIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBjb21tYQojW3N0ZGVycl0rIGNh
c2UgJDEgaW4KI1tzdGRlcnJdKyBpc19pbl9saXN0IGNvbW1hIHNxdW90ZSBkcXVvdGUgYnF1b3Rl
IHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKI1tzdGRlcnJdKyBpdGVtPWNvbW1hCiNbc3Rk
ZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgpvayAzOCAtIGNvbW1hIGluIGRl
c3RkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCAzOCAtIGNvbW1hIGluIGRlc3RkaXIKI1tzdGRlcnJd
KyByZXR1cm4gMQojW3N0ZGVycl0rIGRpcmVjdGl2ZT0KI1tzdGRlcnJdKyByZWFzb249CiNbc3Rk
ZXJyXSsgcmVzdWx0XyBvayAtRCAnJyAtciAnJyAtLSAnY29tbWEgaW4gZGVzdGRpcicKI1tzdGRl
cnJdKyBzZXQgK3gKI1tzdGRlcnJdKyBjZCAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyCiNbc3RkZXJyXSsgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBhbV9r
ZWVwaW5nX3Rlc3RkaXJzCiNbc3RkZXJyXSsgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgojW3N0ZGVy
cl0rIHJldHVybiAxCiNbc3RkZXJyXSsgdGVzdCBvayA9IG9rCiNbc3RkZXJyXSsgcm1fcmZfIGJ1
aWxkLWNvbW1hIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21t
YS8sCiNbc3RkZXJyXSsgdGVzdCAyIC1ndCAwCiNbc3RkZXJyXSsgY2htb2QgLVIgdStyd3ggYnVp
bGQtY29tbWEgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbW1h
LywKI1tzdGRlcnJdKyBybSAtcmYgYnVpbGQtY29tbWEgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LWNvbW1hLywKI1tzdGRlcnJdKyBfYW1fcm1yZl9zdGF0dXM9MAoj
W3N0ZGVycl0rIGZvciBfYW1fcm1yZl92IGluICciJEAiJwojW3N0ZGVycl0rIHRlc3QgLWUgYnVp
bGQtY29tbWEKI1tzdGRlcnJdKyBmb3IgX2FtX3JtcmZfdiBpbiAnIiRAIicKI1tzdGRlcnJdKyB0
ZXN0IC1lIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb21tYS8s
CiNbc3RkZXJyXSsgcmV0dXJuIDAKI1tzdGRlcnJdKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQg
J3NldCAtZS4nCiNbc3RkZXJyXSsgZm9yIHRlc3RfbmFtZSBpbiAnJHRlc3RfbmFtZXNfbGlzdCcK
I1tzdGRlcnJdKyBldmFsICd0ZXN0X3N0cmluZz0ke2luc3RzcGNfX2NvbG9ufScKI1tzdGRlcnJd
KysgdGVzdF9zdHJpbmc9OgojW3N0ZGVycl0rIHRlc3QgeDogPSB4CiNbc3RkZXJyXSsgbWtkaXIg
Li86CiNbc3RkZXJyXSsgY2FzZSAkdGVzdF9zdHJpbmcgaW4KI1tzdGRlcnJdKyBjZCAuLzoKI1tz
dGRlcnJdKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAojW3N0ZGVycl0rIGNhc2UgJHdoZXJlIGlu
CiNbc3RkZXJyXSsgYnVpbGQ9Li86CiNbc3RkZXJyXSsgZGVzdD0vdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24KI1tzdGRlcnJdKyBjZCAuLzoKI1tzdGRlcnJd
KyByPW9rCiNbc3RkZXJyXSsgLi4vY29uZmlndXJlIC0tcHJlZml4IC86LXByZWZpeApjaGVja2lu
ZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hl
Y2tpbmcgd2hldGhlciBzbGVlcCBzdXBwb3J0cyBmcmFjdGlvbmFsIHNlY29uZHMuLi4geWVzCmNo
ZWNraW5nIGZpbGVzeXN0ZW0gdGltZXN0YW1wIHJlc29sdXRpb24uLi4gMC4wMQpjaGVja2luZyB3
aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHJh
Y2UtZnJlZSBta2RpciAtcC4uLiBta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBubwpjaGVj
a2luZyBmb3IgbWF3ay4uLiBubwpjaGVja2luZyBmb3IgbmF3ay4uLiBubwpjaGVja2luZyBmb3Ig
YXdrLi4uIGF3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVj
a2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tp
bmcgeGFyZ3MgLW4gd29ya3MuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgVUlEICc1MDEnIGlzIHN1
cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgR0lEICcyMCcg
aXMgc3VwcG9ydGVkIGJ5IHVzdGFyIGZvcm1hdC4uLiB5ZXMKY2hlY2tpbmcgaG93IHRvIGNyZWF0
ZSBhIHVzdGFyIHRhciBhcmNoaXZlLi4uIHBsYWludGFyCmNoZWNraW5nIGZvciBnY2MuLi4gZ2Nj
CmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZv
ciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBm
b3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9z
cyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4g
bwpjaGVja2luZyB3aGV0aGVyIHRoZSBjb21waWxlciBzdXBwb3J0cyBHTlUgQy4uLiB5ZXMKY2hl
Y2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRp
b24gdG8gZW5hYmxlIEMyMyBmZWF0dXJlcy4uLiAtc3RkPWdudTIzCmNoZWNraW5nIHdoZXRoZXIg
Z2NjIC1zdGQ9Z251MjMgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVj
a2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAo
R05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYyAtc3RkPWdudTIzLi4u
IGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGlu
dGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0
IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1
cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtl
ZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKI1tzdGRlcnJd
KyBtYWtlIGFsbApnY2MgLXN0ZD1nbnUyMyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBB
Q0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFD
S0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQ
QUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAt
SS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2Uu
VHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRl
cHMvc291cmNlLlBvCmdjYyAtc3RkPWdudTIzICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2Uu
byAgCmdjYyAtc3RkPWdudTIzICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0g
LWYgc3ViL2xpYmJhc2UuYQphciBjciBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3Vi
L2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3Igc3ViL2xpYm5vYmFzZS5hIHNv
dXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCiNbc3RkZXJyXSsgREVTVERJUj0vdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24KI1tzdGRlcnJdKyBmaWxl
PS4vOgojW3N0ZGVycl0rIG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9y
eSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci86JwogbWtkaXIgLXAgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9m
b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vJwogbWtkaXIgLXAg
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZp
eC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2ZvbycK
ICggY2QgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86
LXByZWZpeC9mb28nICYmIHJhbmxpYiBsaWJiYXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9mb28nCiAgL3Vz
ci9iaW4vaW5zdGFsbCAtYyBzdWIvYmFzZSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vJwogbWtkaXIg
LXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXBy
ZWZpeC9mb28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2Zv
by9zdWIvJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1jb2xvbi86LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9p
bnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vL3N1YicKICggY2QgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9mb28n
ICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9mb28nCiBta2RpciAtcCAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4
L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2Zvby9zdWIvJwog
bWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xv
bi86LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5k
YXQgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LXBy
ZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LWNvbG9uLzotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4u
L3N1Yi9iYXNlLmggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1j
b2xvbi86LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vL3N1YicK
IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzotcHJlZml4L2Zvby9zdWIn
CiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNv
bG9uLzotcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtY29sb24vOi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwg
LWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1jb2xvbi86LXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBMZWF2aW5nIGRp
cmVjdG9yeSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci86Jwp0ZXN0ICAg
LWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi8uLzot
cHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLy4vOi1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0
ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi8u
LzotcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLy4vOi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0
ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xv
bi8uLzotcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi8uLzotcHJlZml4L2Zvby9iYXNlLmRhdCcK
dGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29s
b24vLi86LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vLi86LXByZWZpeC9mb28vbm9iYXNl
LnNoJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1jb2xvbi8uLzotcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi8uLzotcHJlZml4L2Zvby9zdWIvbm9i
YXNlJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1jb2xvbi8uLzotcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLy4vOi1wcmVmaXgvZm9vL2Jhc2UnCnRl
c3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9u
Ly4vOi1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vLi86LXByZWZpeC9mb28vbGlibm9i
YXNlLmEnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LWNvbG9uLy4vOi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKI1tzdGRlcnJdKyBkZXNjcmlwdGlv
bj0nY29sb24gaW4gYnVpbGRkaXInCiNbc3RkZXJyXSsgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBj
b2xvbgojW3N0ZGVycl0rIGNhc2UgJDEgaW4KI1tzdGRlcnJdKyBpc19pbl9saXN0IGNvbG9uIHNx
dW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVk
IHF1YWRyaWdyYXBoMCBhX2xmX2IKI1tzdGRlcnJdKyBpdGVtPWNvbG9uCiNbc3RkZXJyXSsgc2hp
ZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAxCm9rIDM5IC0g
Y29sb24gaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCAzOSAtIGNvbG9uIGluIGJ1aWxk
ZGlyCiNbc3RkZXJyXSsgZGlyZWN0aXZlPQojW3N0ZGVycl0rIHJlYXNvbj0KI1tzdGRlcnJdKyBy
ZXN1bHRfIG9rIC1EICcnIC1yICcnIC0tICdjb2xvbiBpbiBidWlsZGRpcicKI1tzdGRlcnJdKyBz
ZXQgK3gKI1tzdGRlcnJdKyBjZCAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
CiNbc3RkZXJyXSsgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBhbV9rZWVwaW5n
X3Rlc3RkaXJzCiNbc3RkZXJyXSsgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgojW3N0ZGVycl0rIHJl
dHVybiAxCiNbc3RkZXJyXSsgdGVzdCBvayA9IG9rCiNbc3RkZXJyXSsgcm1fcmZfIC4vOiAvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24KI1tzdGRlcnJdKyB0
ZXN0IDIgLWd0IDAKI1tzdGRlcnJdKyBjaG1vZCAtUiB1K3J3eCAuLzogL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uCiNbc3RkZXJyXSsgcm0gLXJmIC4vOiAv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24KI1tzdGRlcnJd
KyBfYW1fcm1yZl9zdGF0dXM9MAojW3N0ZGVycl0rIGZvciBfYW1fcm1yZl92IGluICciJEAiJwoj
W3N0ZGVycl0rIHRlc3QgLWUgLi86CiNbc3RkZXJyXSsgZm9yIF9hbV9ybXJmX3YgaW4gJyIkQCIn
CiNbc3RkZXJyXSsgdGVzdCAtZSAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtY29sb24KI1tzdGRlcnJdKyByZXR1cm4gMAojW3N0ZGVycl0rIDogRm9yIHNoZWxscyB3
aXRoIGJ1c3RlZCAnc2V0IC1lLicKI1tzdGRlcnJdKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAoj
W3N0ZGVycl0rIGNhc2UgJHdoZXJlIGluCiNbc3RkZXJyXSsgYnVpbGQ9YnVpbGQtY29sb24KI1tz
dGRlcnJdKyBkZXN0PS91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1j
b2xvbi86CiNbc3RkZXJyXSsgbWtkaXIgYnVpbGQtY29sb24KI1tzdGRlcnJdKyBjZCBidWlsZC1j
b2xvbgojW3N0ZGVycl0rIHI9b2sKI1tzdGRlcnJdKyAuLi9jb25maWd1cmUgLS1wcmVmaXggLzot
cHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4v
aW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIHNsZWVwIHN1cHBvcnRzIGZyYWN0aW9uYWwgc2Vj
b25kcy4uLiB5ZXMKY2hlY2tpbmcgZmlsZXN5c3RlbSB0aW1lc3RhbXAgcmVzb2x1dGlvbi4uLiAw
LjAxCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hl
Y2tpbmcgZm9yIGEgcmFjZS1mcmVlIG1rZGlyIC1wLi4uIG1rZGlyIC1wCmNoZWNraW5nIGZvciBn
YXdrLi4uIG5vCmNoZWNraW5nIGZvciBtYXdrLi4uIG5vCmNoZWNraW5nIGZvciBuYXdrLi4uIG5v
CmNoZWNraW5nIGZvciBhd2suLi4gYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFL
RSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVz
Li4uIHllcwpjaGVja2luZyB4YXJncyAtbiB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBV
SUQgJzUwMScgaXMgc3VwcG9ydGVkIGJ5IHVzdGFyIGZvcm1hdC4uLiB5ZXMKY2hlY2tpbmcgd2hl
dGhlciBHSUQgJzIwJyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVja2lu
ZyBob3cgdG8gY3JlYXRlIGEgdXN0YXIgdGFyIGFyY2hpdmUuLi4gcGxhaW50YXIKY2hlY2tpbmcg
Zm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5
ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEu
b3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRo
ZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9i
amVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIEdO
VSBDLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2lu
ZyBmb3IgZ2NjIG9wdGlvbiB0byBlbmFibGUgQzIzIGZlYXR1cmVzLi4uIC1zdGQ9Z251MjMKY2hl
Y2tpbmcgd2hldGhlciBnY2MgLXN0ZD1nbnUyMyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRo
ZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJl
Y3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2Nj
IC1zdGQ9Z251MjMuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFy
Y2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGli
CmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4u
LiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6
IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21t
YW5kcwojW3N0ZGVycl0rIG1ha2UgYWxsCmdjYyAtc3RkPWdudTIzIC1EUEFDS0FHRV9OQU1FPVwi
aW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9O
PVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdS
RVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVS
U0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1G
IC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMv
c291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjIC1zdGQ9Z251MjMgIC1nIC1PMiAgIC1vIHN1
Yi9iYXNlIHNvdXJjZS5vICAKZ2NjIC1zdGQ9Z251MjMgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ug
c291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNyIHN1Yi9saWJiYXNlLmEgc291cmNl
Lm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjciBzdWIv
bGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKI1tzdGRlcnJdKyBE
RVNURElSPS91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86
CiNbc3RkZXJyXSsgZmlsZT0uLzoKI1tzdGRlcnJdKyBtYWtlIHRlc3QtaW5zdAptYWtlWzFdOiBF
bnRlcmluZyBkaXJlY3RvcnkgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
YnVpbGQtY29sb24nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWNvbG9uLzovOi1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9z
dWIvYmFzZS5zaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNv
bG9uLzovOi1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwg
LWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28nCiAoIGNkICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28nICYmIHJhbmxp
YiBsaWJiYXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1
Yi9iYXNlICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24v
Oi86LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LWNvbG9uLzovOi1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2Zvby9zdWIv
JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28vc3ViLycKIG1r
ZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24v
Oi86LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LWNvbG9uLzovOi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwg
LWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2Zvby9zdWInCiAoIGNkICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28nICYm
IHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2ZvbycKIG1rZGlyIC1wICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZp
eC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2Zvby9zdWIv
JwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1j
b2xvbi86LzotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9i
YXNlLmRhdCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9u
LzovOi1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg
LW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28nCiBta2RpciAt
cCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzovOi1w
cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNl
LmRhdCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzov
Oi1wcmVmaXgvZm9vL3N1YicKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtY29sb24vOi86LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzovOi1wcmVmaXgvZm9vL3N1
YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86LzotcHJlZml4L2Zvby9z
dWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2J1aWxkLWNvbG9uJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86Ly4vOi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uu
aCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
Y29sb24vOi8uLzotcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi8uLzotcHJlZml4L2Zvby9iYXNl
LmgnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LWNvbG9uLzovLi86LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9uLzovLi86LXByZWZpeC9m
b28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtY29sb24vOi8uLzotcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOi8uLzotcHJl
Zml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86Ly4vOi1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVz
dCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtY29sb24v
Oi8uLzotcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86Ly4vOi1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Un
CnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNv
bG9uLzovLi86LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86Ly4vOi1wcmVmaXgvZm9vL2Jhc2UnCnRl
c3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWNvbG9u
LzovLi86LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86Ly4vOi1wcmVmaXgvZm9vL2xp
Ym5vYmFzZS5hJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1jb2xvbi86Ly4vOi1wcmVmaXgvZm9vL2xpYmJhc2UuYScKI1tzdGRlcnJdKyBkZXNj
cmlwdGlvbj0nY29sb24gaW4gZGVzdGRpcicKI1tzdGRlcnJdKyBleHBlY3RlZF90b19mYWlsIGRl
c3QgY29sb24KI1tzdGRlcnJdKyBjYXNlICQxIGluCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBjb2xv
biBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgbGluZWZlZWQgYV9sZl9iCm9rIDQw
IC0gY29sb24gaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDQwIC0gY29sb24gaW4gZGVz
dGRpcgojW3N0ZGVycl0rIGl0ZW09Y29sb24KI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNh
c2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBkaXJlY3RpdmU9CiNb
c3RkZXJyXSsgcmVhc29uPQojW3N0ZGVycl0rIHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ2Nv
bG9uIGluIGRlc3RkaXInCiNbc3RkZXJyXSsgc2V0ICt4CiNbc3RkZXJyXSsgY2QgL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpcgojW3N0ZGVycl0rIG5vdCBhbV9rZWVwaW5nX3Rl
c3RkaXJzCiNbc3RkZXJyXSsgYW1fa2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGNhc2UgJGtl
ZXBfdGVzdGRpcnMgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIHRlc3Qgb2sgPSBv
awojW3N0ZGVycl0rIHJtX3JmXyBidWlsZC1jb2xvbiAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtY29sb24vOgojW3N0ZGVycl0rIHRlc3QgMiAtZ3QgMAojW3N0ZGVy
cl0rIGNobW9kIC1SIHUrcnd4IGJ1aWxkLWNvbG9uIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86CiNbc3RkZXJyXSsgcm0gLXJmIGJ1aWxkLWNvbG9uIC91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1jb2xvbi86CiNbc3RkZXJy
XSsgX2FtX3JtcmZfc3RhdHVzPTAKI1tzdGRlcnJdKyBmb3IgX2FtX3JtcmZfdiBpbiAnIiRAIicK
I1tzdGRlcnJdKyB0ZXN0IC1lIGJ1aWxkLWNvbG9uCiNbc3RkZXJyXSsgZm9yIF9hbV9ybXJmX3Yg
aW4gJyIkQCInCiNbc3RkZXJyXSsgdGVzdCAtZSAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtY29sb24vOgojW3N0ZGVycl0rIHJldHVybiAwCiNbc3RkZXJyXSsgOiBG
b3Igc2hlbGxzIHdpdGggYnVzdGVkICdzZXQgLWUuJwojW3N0ZGVycl0rIGZvciB0ZXN0X25hbWUg
aW4gJyR0ZXN0X25hbWVzX2xpc3QnCiNbc3RkZXJyXSsgZXZhbCAndGVzdF9zdHJpbmc9JHtpbnN0
c3BjX19zZW1pY29sfScKI1tzdGRlcnJdKysgdGVzdF9zdHJpbmc9JzsnCiNbc3RkZXJyXSsgdGVz
dCAneDsnID0geAojW3N0ZGVycl0rIG1rZGlyICcuLzsnCiNbc3RkZXJyXSsgY2FzZSAkdGVzdF9z
dHJpbmcgaW4KI1tzdGRlcnJdKyBmb3Igd2hlcmUgaW4gYnVpbGQgZGVzdAojW3N0ZGVycl0rIGNh
c2UgJHdoZXJlIGluCiNbc3RkZXJyXSsgYnVpbGQ9Jy4vOycKI1tzdGRlcnJdKyBkZXN0PS91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sCiNbc3RkZXJyXSsg
Y2QgJy4vOycKI1tzdGRlcnJdKyByPW9rCiNbc3RkZXJyXSsgLi4vY29uZmlndXJlIC0tcHJlZml4
ICcvOy1wcmVmaXgnCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vz
ci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIHNsZWVwIHN1cHBvcnRzIGZyYWN0aW9u
YWwgc2Vjb25kcy4uLiB5ZXMKY2hlY2tpbmcgZmlsZXN5c3RlbSB0aW1lc3RhbXAgcmVzb2x1dGlv
bi4uLiAwLjAxCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5
ZXMKY2hlY2tpbmcgZm9yIGEgcmFjZS1mcmVlIG1rZGlyIC1wLi4uIG1rZGlyIC1wCmNoZWNraW5n
IGZvciBnYXdrLi4uIG5vCmNoZWNraW5nIGZvciBtYXdrLi4uIG5vCmNoZWNraW5nIGZvciBuYXdr
Li4uIG5vCmNoZWNraW5nIGZvciBhd2suLi4gYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRz
ICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFy
aWFibGVzLi4uIHllcwpjaGVja2luZyB4YXJncyAtbiB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgd2hl
dGhlciBVSUQgJzUwMScgaXMgc3VwcG9ydGVkIGJ5IHVzdGFyIGZvcm1hdC4uLiB5ZXMKY2hlY2tp
bmcgd2hldGhlciBHSUQgJzIwJyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpj
aGVja2luZyBob3cgdG8gY3JlYXRlIGEgdXN0YXIgdGFyIGFyY2hpdmUuLi4gcGxhaW50YXIKY2hl
Y2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jr
cy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1l
Li4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5n
IHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4
IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgdGhlIGNvbXBpbGVyIHN1cHBv
cnRzIEdOVSBDLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpj
aGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBlbmFibGUgQzIzIGZlYXR1cmVzLi4uIC1zdGQ9Z251
MjMKY2hlY2tpbmcgd2hldGhlciBnY2MgLXN0ZD1nbnUyMyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8g
dG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVk
ZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUg
b2YgZ2NjIC1zdGQ9Z251MjMuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcg
dGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4g
cmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZp
Z3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5z
dGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxl
cyBjb21tYW5kcwojW3N0ZGVycl0rIG1ha2UgYWxsCmdjYyAtc3RkPWdudTIzIC1EUEFDS0FHRV9O
QU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9W
RVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FH
RV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wi
IC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAt
TVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYg
LmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjIC1zdGQ9Z251MjMgIC1nIC1PMiAg
IC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2NjIC1zdGQ9Z251MjMgIC1nIC1PMiAgIC1vIHN1Yi9u
b2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNyIHN1Yi9saWJiYXNlLmEg
c291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBj
ciBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKI1tzdGRl
cnJdKyBERVNURElSPS91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1z
ZW1pY29sCiNbc3RkZXJyXSsgZmlsZT0nLi87JwojW3N0ZGVycl0rIG1ha2UgdGVzdC1pbnN0Cm1h
a2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci87JwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3Vi
L2Jhc2Uuc2ggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1p
Y29sLzstcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1j
IC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vJyAmJiByYW5saWIg
bGliYmFzZS5hICkKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIv
YmFzZSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wv
Oy1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28vc3ViLycK
IC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vL3N1Yi8nCiBta2Rp
ciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wv
Oy1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1j
IC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vJyAmJiBy
YW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgv
Zm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28vc3ViLycK
IG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2Vt
aWNvbC87LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFz
ZS5kYXQgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29s
LzstcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t
IDY0NCAuLi9zdWIvYmFzZS5oICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vJwogbWtkaXIgLXAg
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJl
Zml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5k
YXQgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzst
cHJlZml4L2Zvby9zdWInCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LXNlbWljb2wvOy1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzstcHJlZml4L2Zvby9zdWIn
CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LXByZWZpeC9mb28vc3Vi
JwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci87Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1zZW1pY29sLy4vOy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1m
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC8uLzst
cHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC8uLzstcHJlZml4L2Zvby9iYXNlLmgnCnRlc3QgICAt
ZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvLi87
LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvLi87LXByZWZpeC9mb28vbm9iYXNlLmRh
dCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
c2VtaWNvbC8uLzstcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC8uLzstcHJlZml4L2Zvby9zdWIv
bm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1zZW1pY29sLy4vOy1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC8uLzstcHJlZml4
L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1zZW1pY29sLy4vOy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvLi87LXBy
ZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1zZW1pY29sLy4vOy1wcmVmaXgvZm9vL2Jhc2UnCnRlc3QgICAtZiAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvLi87LXByZWZp
eC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLy4vOy1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0
ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1p
Y29sLy4vOy1wcmVmaXgvZm9vL2xpYmJhc2UuYScKI1tzdGRlcnJdKyBkZXNjcmlwdGlvbj0nc2Vt
aWNvbCBpbiBidWlsZGRpcicKI1tzdGRlcnJdKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIHNlbWlj
b2wKI1tzdGRlcnJdKyBjYXNlICQxIGluCiNbc3RkZXJyXSsgaXNfaW5fbGlzdCBzZW1pY29sIHNx
dW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBic2xhc2ggYW1wZXJzYW5kIGxpbmVmZWVk
IHF1YWRyaWdyYXBoMCBhX2xmX2IKI1tzdGRlcnJdKyBpdGVtPXNlbWljb2wKI1tzdGRlcnJdKyBz
aGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGluCm9rIDQxIC0gc2VtaWNvbCBpbiBidWlsZGRp
cgpQQVNTOiB0L2luc3RzcGMudGFwIDQxIC0gc2VtaWNvbCBpbiBidWlsZGRpcgojW3N0ZGVycl0r
IHJldHVybiAxCiNbc3RkZXJyXSsgZGlyZWN0aXZlPQojW3N0ZGVycl0rIHJlYXNvbj0KI1tzdGRl
cnJdKyByZXN1bHRfIG9rIC1EICcnIC1yICcnIC0tICdzZW1pY29sIGluIGJ1aWxkZGlyJwojW3N0
ZGVycl0rIHNldCAreAojW3N0ZGVycl0rIGNkIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIKI1tzdGRlcnJdKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGFt
X2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCiNbc3Rk
ZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyB0ZXN0IG9rID0gb2sKI1tzdGRlcnJdKyBybV9yZl8g
Jy4vOycgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wK
I1tzdGRlcnJdKyB0ZXN0IDIgLWd0IDAKI1tzdGRlcnJdKyBjaG1vZCAtUiB1K3J3eCAnLi87JyAv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbAojW3N0ZGVy
cl0rIHJtIC1yZiAnLi87JyAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3Qtc2VtaWNvbAojW3N0ZGVycl0rIF9hbV9ybXJmX3N0YXR1cz0wCiNbc3RkZXJyXSsgZm9yIF9h
bV9ybXJmX3YgaW4gJyIkQCInCiNbc3RkZXJyXSsgdGVzdCAtZSAnLi87JwojW3N0ZGVycl0rIGZv
ciBfYW1fcm1yZl92IGluICciJEAiJwojW3N0ZGVycl0rIHRlc3QgLWUgL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wKI1tzdGRlcnJdKyByZXR1cm4gMAoj
W3N0ZGVycl0rIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCAnc2V0IC1lLicKI1tzdGRlcnJdKyBm
b3Igd2hlcmUgaW4gYnVpbGQgZGVzdAojW3N0ZGVycl0rIGNhc2UgJHdoZXJlIGluCiNbc3RkZXJy
XSsgYnVpbGQ9YnVpbGQtc2VtaWNvbAojW3N0ZGVycl0rIGRlc3Q9Jy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsnCiNbc3RkZXJyXSsgbWtkaXIgYnVp
bGQtc2VtaWNvbAojW3N0ZGVycl0rIGNkIGJ1aWxkLXNlbWljb2wKI1tzdGRlcnJdKyByPW9rCiNb
c3RkZXJyXSsgLi4vY29uZmlndXJlIC0tcHJlZml4ICcvOy1wcmVmaXgnCmNoZWNraW5nIGZvciBh
IEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3
aGV0aGVyIHNsZWVwIHN1cHBvcnRzIGZyYWN0aW9uYWwgc2Vjb25kcy4uLiB5ZXMKY2hlY2tpbmcg
ZmlsZXN5c3RlbSB0aW1lc3RhbXAgcmVzb2x1dGlvbi4uLiAwLjAxCmNoZWNraW5nIHdoZXRoZXIg
YnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgcmFjZS1mcmVl
IG1rZGlyIC1wLi4uIG1rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdrLi4uIG5vCmNoZWNraW5nIGZv
ciBtYXdrLi4uIG5vCmNoZWNraW5nIGZvciBuYXdrLi4uIG5vCmNoZWNraW5nIGZvciBhd2suLi4g
YXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIHdo
ZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVzLi4uIHllcwpjaGVja2luZyB4YXJn
cyAtbiB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBVSUQgJzUwMScgaXMgc3VwcG9ydGVk
IGJ5IHVzdGFyIGZvcm1hdC4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBHSUQgJzIwJyBpcyBzdXBw
b3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVja2luZyBob3cgdG8gY3JlYXRlIGEgdXN0
YXIgdGFyIGFyY2hpdmUuLi4gcGxhaW50YXIKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tp
bmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMgY29t
cGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEub3V0CmNoZWNraW5nIGZvciBzdWZm
aXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBp
bGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNr
aW5nIHdoZXRoZXIgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIEdOVSBDLi4uIHllcwpjaGVja2luZyB3
aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBl
bmFibGUgQzIzIGZlYXR1cmVzLi4uIC1zdGQ9Z251MjMKY2hlY2tpbmcgd2hldGhlciBnY2MgLXN0
ZD1nbnUyMyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIuLi4geWVzCmNoZWNraW5nIHdo
ZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4geWVzIChHTlUgc3R5
bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjIC1zdGQ9Z251MjMuLi4gZ2NjMwpj
aGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFyY2hpdmVyIChhcikgaW50ZXJmYWNl
Li4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIHRoYXQgZ2VuZXJh
dGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4uLiBkb25lCmNvbmZpZ3VyZTogY3Jl
YXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6IGNyZWF0aW5nIE1ha2VmaWxlCmNv
bmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21tYW5kcwojW3N0ZGVycl0rIG1ha2Ug
YWxsCmdjYyAtc3RkPWdudTIzIC1EUEFDS0FHRV9OQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9U
QVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NU
UklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJcIiAtRFBBQ0tBR0Vf
VVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1JLiAtSS4u
ICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1GIC5kZXBzL3NvdXJjZS5UcG8gLWMg
LW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMvc291cmNlLlRwbyAuZGVwcy9zb3Vy
Y2UuUG8KZ2NjIC1zdGQ9Z251MjMgIC1nIC1PMiAgIC1vIHN1Yi9iYXNlIHNvdXJjZS5vICAKZ2Nj
IC1zdGQ9Z251MjMgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ugc291cmNlLm8gIApybSAtZiBzdWIv
bGliYmFzZS5hCmFyIGNyIHN1Yi9saWJiYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGliYmFz
ZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjciBzdWIvbGlibm9iYXNlLmEgc291cmNlLm8g
CnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKI1tzdGRlcnJdKyBERVNURElSPScvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87JwojW3N0ZGVycl0rIGZpbGU9
Jy4vOycKI1tzdGRlcnJdKyBtYWtlIHRlc3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3Rv
cnkgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvYnVpbGQtc2VtaWNvbCcK
IG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2Vt
aWNvbC87LzstcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2gg
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1w
cmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2
NDQgIHN1Yi9saWJiYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXByZWZpeC9mb28nICYmIHJhbmxpYiBs
aWJiYXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3Vi
L2Jhc2UgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29s
LzsvOy1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9v
L3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vL3N1
Yi8nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LXNlbWljb2wvOy87LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXByZWZpeC9mb28vc3ViJwogL3Vzci9i
aW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXByZWZpeC9mb28vc3ViJwogKCBj
ZCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87
LXByZWZpeC9mb28nICYmIHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogbWtkaXIgLXAgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgv
Zm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIv
bm9iYXNlICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNv
bC87LzstcHJlZml4L2Zvby9zdWIvJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5z
dGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LzstcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87LzstcHJlZml4
L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9v
JwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1z
ZW1pY29sLzsvOy1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmlu
L2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRhdCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy87LXByZWZpeC9mb28vc3ViJwogbWtk
aXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29s
LzsvOy1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3Rh
bGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvOy1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVh
dmluZyBkaXJlY3RvcnkgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvYnVp
bGQtc2VtaWNvbCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3Qtc2VtaWNvbC87Ly4vOy1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuaCcKdGVzdCAhIC1m
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87Ly4v
Oy1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvLi87LXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0
ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29s
LzsvLi87LXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy8uLzstcHJlZml4L2Zvby9u
b2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1zZW1pY29sLzsvLi87LXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy8uLzstcHJl
Zml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvLi87LXByZWZpeC9mb28vbm9iYXNlLnNoJwp0
ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1p
Y29sLzsvLi87LXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNvbC87Ly4vOy1wcmVmaXgvZm9vL3N1Yi9u
b2Jhc2UnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LXNlbWljb2wvOy8uLzstcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy8uLzstcHJlZml4L2Zv
by9iYXNlJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1zZW1pY29sLzsvLi87LXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYg
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsvLi87
LXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LXNlbWljb2wvOy8uLzstcHJlZml4L2Zvby9saWJiYXNlLmEn
CiNbc3RkZXJyXSsgZGVzY3JpcHRpb249J3NlbWljb2wgaW4gZGVzdGRpcicKI1tzdGRlcnJdKyBl
eHBlY3RlZF90b19mYWlsIGRlc3Qgc2VtaWNvbAojW3N0ZGVycl0rIGNhc2UgJDEgaW4KI1tzdGRl
cnJdKyBpc19pbl9saXN0IHNlbWljb2wgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFy
IGxpbmVmZWVkIGFfbGZfYgojW3N0ZGVycl0rIGl0ZW09c2VtaWNvbAojW3N0ZGVycl0rIHNoaWZ0
Cm9rIDQyIC0gc2VtaWNvbCBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgNDIgLSBzZW1p
Y29sIGluIGRlc3RkaXIKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVy
biAxCiNbc3RkZXJyXSsgZGlyZWN0aXZlPQojW3N0ZGVycl0rIHJlYXNvbj0KI1tzdGRlcnJdKyBy
ZXN1bHRfIG9rIC1EICcnIC1yICcnIC0tICdzZW1pY29sIGluIGRlc3RkaXInCiNbc3RkZXJyXSsg
c2V0ICt4CiNbc3RkZXJyXSsgY2QgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
cgojW3N0ZGVycl0rIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCiNbc3RkZXJyXSsgYW1fa2VlcGlu
Z190ZXN0ZGlycwojW3N0ZGVycl0rIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KI1tzdGRlcnJdKyBy
ZXR1cm4gMQojW3N0ZGVycl0rIHRlc3Qgb2sgPSBvawojW3N0ZGVycl0rIHJtX3JmXyBidWlsZC1z
ZW1pY29sICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qtc2VtaWNv
bC87JwojW3N0ZGVycl0rIHRlc3QgMiAtZ3QgMAojW3N0ZGVycl0rIGNobW9kIC1SIHUrcnd4IGJ1
aWxkLXNlbWljb2wgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1z
ZW1pY29sLzsnCiNbc3RkZXJyXSsgcm0gLXJmIGJ1aWxkLXNlbWljb2wgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1zZW1pY29sLzsnCiNbc3RkZXJyXSsgX2FtX3Jt
cmZfc3RhdHVzPTAKI1tzdGRlcnJdKyBmb3IgX2FtX3JtcmZfdiBpbiAnIiRAIicKI1tzdGRlcnJd
KyB0ZXN0IC1lIGJ1aWxkLXNlbWljb2wKI1tzdGRlcnJdKyBmb3IgX2FtX3JtcmZfdiBpbiAnIiRA
IicKI1tzdGRlcnJdKyB0ZXN0IC1lICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3Qtc2VtaWNvbC87JwojW3N0ZGVycl0rIHJldHVybiAwCiNbc3RkZXJyXSsgOiBGb3Ig
c2hlbGxzIHdpdGggYnVzdGVkICdzZXQgLWUuJwojW3N0ZGVycl0rIGZvciB0ZXN0X25hbWUgaW4g
JyR0ZXN0X25hbWVzX2xpc3QnCiNbc3RkZXJyXSsgZXZhbCAndGVzdF9zdHJpbmc9JHtpbnN0c3Bj
X19lcXVhbH0nCiNbc3RkZXJyXSsrIHRlc3Rfc3RyaW5nPT0KI1tzdGRlcnJdKyB0ZXN0IHg9ID0g
eAojW3N0ZGVycl0rIG1rZGlyIC4vPQojW3N0ZGVycl0rIGNhc2UgJHRlc3Rfc3RyaW5nIGluCiNb
c3RkZXJyXSsgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKI1tzdGRlcnJdKyBjYXNlICR3aGVyZSBp
bgojW3N0ZGVycl0rIGJ1aWxkPS4vPQojW3N0ZGVycl0rIGRlc3Q9L3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsCiNbc3RkZXJyXSsgY2QgLi89CiNbc3RkZXJy
XSsgcj1vawojW3N0ZGVycl0rIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAvPS1wcmVmaXgKY2hlY2tp
bmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNo
ZWNraW5nIHdoZXRoZXIgc2xlZXAgc3VwcG9ydHMgZnJhY3Rpb25hbCBzZWNvbmRzLi4uIHllcwpj
aGVja2luZyBmaWxlc3lzdGVtIHRpbWVzdGFtcCByZXNvbHV0aW9uLi4uIDAuMDEKY2hlY2tpbmcg
d2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSBy
YWNlLWZyZWUgbWtkaXIgLXAuLi4gbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gbm8KY2hl
Y2tpbmcgZm9yIG1hd2suLi4gbm8KY2hlY2tpbmcgZm9yIG5hd2suLi4gbm8KY2hlY2tpbmcgZm9y
IGF3ay4uLiBhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hl
Y2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNr
aW5nIHhhcmdzIC1uIHdvcmtzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIFVJRCAnNTAxJyBpcyBz
dXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIEdJRCAnMjAn
IGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVzCmNoZWNraW5nIGhvdyB0byBjcmVh
dGUgYSB1c3RhciB0YXIgYXJjaGl2ZS4uLiBwbGFpbnRhcgpjaGVja2luZyBmb3IgZ2NjLi4uIGdj
YwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBm
b3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcg
Zm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jv
c3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4u
IG8KY2hlY2tpbmcgd2hldGhlciB0aGUgY29tcGlsZXIgc3VwcG9ydHMgR05VIEMuLi4geWVzCmNo
ZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0
aW9uIHRvIGVuYWJsZSBDMjMgZmVhdHVyZXMuLi4gLXN0ZD1nbnUyMwpjaGVja2luZyB3aGV0aGVy
IGdjYyAtc3RkPWdudTIzIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hl
Y2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMg
KEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MgLXN0ZD1nbnUyMy4u
LiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBp
bnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhh
dCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmln
dXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFr
ZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCiNbc3RkZXJy
XSsgbWFrZSBhbGwKZ2NjIC1zdGQ9Z251MjMgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQ
QUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBB
Q0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1E
UEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIg
LUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNl
LlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5k
ZXBzL3NvdXJjZS5QbwpnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNl
Lm8gIApnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJt
IC1mIHN1Yi9saWJiYXNlLmEKYXIgY3Igc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1
Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNyIHN1Yi9saWJub2Jhc2UuYSBz
b3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQojW3N0ZGVycl0rIERFU1RESVI9L3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsCiNbc3RkZXJyXSsgZmls
ZT0uLz0KI1tzdGRlcnJdKyBtYWtlIHRlc3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3Rv
cnkgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvPScKIG1rZGlyIC1wICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgv
Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2ZvbycKIG1rZGlyIC1w
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVm
aXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89LXByZWZpeC9mb28n
CiAoIGNkICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwv
PS1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIG1rZGlyIC1wICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vJwogIC91
c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1lcXVhbC89LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2ZvbycKIG1rZGly
IC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1w
cmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89LXByZWZpeC9m
b28vc3ViLycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4v
aW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2Zvby9zdWInCiAoIGNkICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9v
JyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vJwogbWtkaXIgLXAg
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89LXByZWZp
eC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89LXByZWZpeC9mb28vc3ViLycK
IG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1
YWwvPS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2Uu
ZGF0ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1w
cmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1lcXVhbC89LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAu
Li9zdWIvYmFzZS5oICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
ZXF1YWwvPS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2Zvby9zdWIn
CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89LXByZWZpeC9mb28vc3Vi
JwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1l
cXVhbC89LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LWVxdWFsLz0tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxs
IC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBk
aXJlY3RvcnkgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvPScKdGVzdCAg
IC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvLi89
LXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC8uLz0tcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVz
dCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwv
Li89LXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC8uLz0tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcK
dGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1
YWwvLi89LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvLi89LXByZWZpeC9mb28vYmFzZS5kYXQn
CnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWVx
dWFsLy4vPS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLy4vPS1wcmVmaXgvZm9vL25vYmFz
ZS5zaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtZXF1YWwvLi89LXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvLi89LXByZWZpeC9mb28vc3ViL25v
YmFzZScKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtZXF1YWwvLi89LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC8uLz0tcHJlZml4L2Zvby9iYXNlJwp0
ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVh
bC8uLz0tcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLy4vPS1wcmVmaXgvZm9vL2xpYm5v
YmFzZS5hJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1lcXVhbC8uLz0tcHJlZml4L2Zvby9saWJiYXNlLmEnCiNbc3RkZXJyXSsgZGVzY3JpcHRp
b249J2VxdWFsIGluIGJ1aWxkZGlyJwojW3N0ZGVycl0rIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQg
ZXF1YWwKI1tzdGRlcnJdKyBjYXNlICQxIGluCm9rIDQzIC0gZXF1YWwgaW4gYnVpbGRkaXIKUEFT
UzogdC9pbnN0c3BjLnRhcCA0MyAtIGVxdWFsIGluIGJ1aWxkZGlyCiNbc3RkZXJyXSsgaXNfaW5f
bGlzdCBlcXVhbCBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVy
c2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCiNbc3RkZXJyXSsgaXRlbT1lcXVhbAoj
W3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1
cm4gMQojW3N0ZGVycl0rIGRpcmVjdGl2ZT0KI1tzdGRlcnJdKyByZWFzb249CiNbc3RkZXJyXSsg
cmVzdWx0XyBvayAtRCAnJyAtciAnJyAtLSAnZXF1YWwgaW4gYnVpbGRkaXInCiNbc3RkZXJyXSsg
c2V0ICt4CiNbc3RkZXJyXSsgY2QgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
cgojW3N0ZGVycl0rIG5vdCBhbV9rZWVwaW5nX3Rlc3RkaXJzCiNbc3RkZXJyXSsgYW1fa2VlcGlu
Z190ZXN0ZGlycwojW3N0ZGVycl0rIGNhc2UgJGtlZXBfdGVzdGRpcnMgaW4KI1tzdGRlcnJdKyBy
ZXR1cm4gMQojW3N0ZGVycl0rIHRlc3Qgb2sgPSBvawojW3N0ZGVycl0rIHJtX3JmXyAuLz0gL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsCiNbc3RkZXJyXSsg
dGVzdCAyIC1ndCAwCiNbc3RkZXJyXSsgY2htb2QgLVIgdStyd3ggLi89IC91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbAojW3N0ZGVycl0rIHJtIC1yZiAuLz0g
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsCiNbc3RkZXJy
XSsgX2FtX3JtcmZfc3RhdHVzPTAKI1tzdGRlcnJdKyBmb3IgX2FtX3JtcmZfdiBpbiAnIiRAIicK
I1tzdGRlcnJdKyB0ZXN0IC1lIC4vPQojW3N0ZGVycl0rIGZvciBfYW1fcm1yZl92IGluICciJEAi
JwojW3N0ZGVycl0rIHRlc3QgLWUgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LWVxdWFsCiNbc3RkZXJyXSsgcmV0dXJuIDAKI1tzdGRlcnJdKyA6IEZvciBzaGVsbHMg
d2l0aCBidXN0ZWQgJ3NldCAtZS4nCiNbc3RkZXJyXSsgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QK
I1tzdGRlcnJdKyBjYXNlICR3aGVyZSBpbgojW3N0ZGVycl0rIGJ1aWxkPWJ1aWxkLWVxdWFsCiNb
c3RkZXJyXSsgZGVzdD0vdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
ZXF1YWwvPQojW3N0ZGVycl0rIG1rZGlyIGJ1aWxkLWVxdWFsCiNbc3RkZXJyXSsgY2QgYnVpbGQt
ZXF1YWwKI1tzdGRlcnJdKyByPW9rCiNbc3RkZXJyXSsgLi4vY29uZmlndXJlIC0tcHJlZml4IC89
LXByZWZpeApjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmlu
L2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBzbGVlcCBzdXBwb3J0cyBmcmFjdGlvbmFsIHNl
Y29uZHMuLi4geWVzCmNoZWNraW5nIGZpbGVzeXN0ZW0gdGltZXN0YW1wIHJlc29sdXRpb24uLi4g
MC4wMQpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNo
ZWNraW5nIGZvciBhIHJhY2UtZnJlZSBta2RpciAtcC4uLiBta2RpciAtcApjaGVja2luZyBmb3Ig
Z2F3ay4uLiBubwpjaGVja2luZyBmb3IgbWF3ay4uLiBubwpjaGVja2luZyBmb3IgbmF3ay4uLiBu
bwpjaGVja2luZyBmb3IgYXdrLi4uIGF3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1B
S0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxl
cy4uLiB5ZXMKY2hlY2tpbmcgeGFyZ3MgLW4gd29ya3MuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg
VUlEICc1MDEnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVzCmNoZWNraW5nIHdo
ZXRoZXIgR0lEICcyMCcgaXMgc3VwcG9ydGVkIGJ5IHVzdGFyIGZvcm1hdC4uLiB5ZXMKY2hlY2tp
bmcgaG93IHRvIGNyZWF0ZSBhIHVzdGFyIHRhciBhcmNoaXZlLi4uIHBsYWludGFyCmNoZWNraW5n
IGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4g
eWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBh
Lm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0
aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBv
YmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHRoZSBjb21waWxlciBzdXBwb3J0cyBH
TlUgQy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tp
bmcgZm9yIGdjYyBvcHRpb24gdG8gZW5hYmxlIEMyMyBmZWF0dXJlcy4uLiAtc3RkPWdudTIzCmNo
ZWNraW5nIHdoZXRoZXIgZ2NjIC1zdGQ9Z251MjMgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0
aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGly
ZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdj
YyAtc3RkPWdudTIzLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBh
cmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxp
YgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUu
Li4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVz
OiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29t
bWFuZHMKI1tzdGRlcnJdKyBtYWtlIGFsbApnY2MgLXN0ZD1nbnUyMyAtRFBBQ0tBR0VfTkFNRT1c
Imluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lP
Tj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVH
UkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZF
UlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1N
RiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBz
L3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAtc3RkPWdudTIzICAtZyAtTzIgICAtbyBz
dWIvYmFzZSBzb3VyY2UubyAgCmdjYyAtc3RkPWdudTIzICAtZyAtTzIgICAtbyBzdWIvbm9iYXNl
IHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjciBzdWIvbGliYmFzZS5hIHNvdXJj
ZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3Igc3Vi
L2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCiNbc3RkZXJyXSsg
REVTVERJUj0vdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwv
PQojW3N0ZGVycl0rIGZpbGU9Li89CiNbc3RkZXJyXSsgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXTog
RW50ZXJpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2J1aWxkLWVxdWFsJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1lcXVhbC89Lz0tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4v
c3ViL2Jhc2Uuc2ggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1l
cXVhbC89Lz0tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxs
IC1jIC1tIDY0NCAgc3ViL2xpYmJhc2UuYSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVmaXgvZm9vJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVmaXgvZm9vJyAmJiByYW5s
aWIgbGliYmFzZS5hICkKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBz
dWIvYmFzZSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFs
Lz0vPS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1lcXVhbC89Lz0tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZpeC9mb28vc3Vi
LycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVmaXgvZm9vL3N1Yi8nCiBt
a2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFs
Lz0vPS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1lcXVhbC89Lz0tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxs
IC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVmaXgvZm9vJyAm
JiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZpeC9mb28nCiBta2RpciAtcCAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVm
aXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIvbm9iYXNlICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZpeC9mb28vc3Vi
LycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
ZXF1YWwvPS89LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIv
YmFzZS5kYXQgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVh
bC89Lz0tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1j
IC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVmaXgvZm9vJwogbWtkaXIg
LXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Lz0t
cHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFz
ZS5kYXQgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89
Lz0tcHJlZml4L2Zvby9zdWInCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vPS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Lz0tcHJlZml4L2Zvby9z
dWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS89LXByZWZpeC9mb28v
c3ViJwptYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9idWlsZC1lcXVhbCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS8uLz0tcHJlZml4L2Zvby9zdWIvbm9iYXNl
LmgnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LWVxdWFsLz0vLi89LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vLi89LXByZWZpeC9mb28vYmFz
ZS5oJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1lcXVhbC89Ly4vPS1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVhbC89Ly4vPS1wcmVmaXgv
Zm9vL25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LWVxdWFsLz0vLi89LXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0vLi89LXBy
ZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS8uLz0tcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRl
c3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWVxdWFs
Lz0vLi89LXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS8uLz0tcHJlZml4L2Zvby9zdWIvbm9iYXNl
Jwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1l
cXVhbC89Ly4vPS1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS8uLz0tcHJlZml4L2Zvby9iYXNlJwp0
ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1lcXVh
bC89Ly4vPS1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPS8uLz0tcHJlZml4L2Zvby9s
aWJub2Jhc2UuYScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtZXF1YWwvPS8uLz0tcHJlZml4L2Zvby9saWJiYXNlLmEnCiNbc3RkZXJyXSsgZGVz
Y3JpcHRpb249J2VxdWFsIGluIGRlc3RkaXInCiNbc3RkZXJyXSsgZXhwZWN0ZWRfdG9fZmFpbCBk
ZXN0IGVxdWFsCiNbc3RkZXJyXSsgY2FzZSAkMSBpbgojW3N0ZGVycl0rIGlzX2luX2xpc3QgZXF1
YWwgc3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZfYgojW3N0
ZGVycl0rIGl0ZW09ZXF1YWwKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAi
IGluCm9rIDQ0IC0gZXF1YWwgaW4gZGVzdGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDQ0IC0gZXF1
YWwgaW4gZGVzdGRpcgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgZGlyZWN0aXZlPQoj
W3N0ZGVycl0rIHJlYXNvbj0KI1tzdGRlcnJdKyByZXN1bHRfIG9rIC1EICcnIC1yICcnIC0tICdl
cXVhbCBpbiBkZXN0ZGlyJwojW3N0ZGVycl0rIHNldCAreAojW3N0ZGVycl0rIGNkIC91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIKI1tzdGRlcnJdKyBub3QgYW1fa2VlcGluZ190
ZXN0ZGlycwojW3N0ZGVycl0rIGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBjYXNlICRr
ZWVwX3Rlc3RkaXJzIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyB0ZXN0IG9rID0g
b2sKI1tzdGRlcnJdKyBybV9yZl8gYnVpbGQtZXF1YWwgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LWVxdWFsLz0KI1tzdGRlcnJdKyB0ZXN0IDIgLWd0IDAKI1tzdGRl
cnJdKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1lcXVhbCAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPQojW3N0ZGVycl0rIHJtIC1yZiBidWlsZC1lcXVhbCAv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtZXF1YWwvPQojW3N0ZGVy
cl0rIF9hbV9ybXJmX3N0YXR1cz0wCiNbc3RkZXJyXSsgZm9yIF9hbV9ybXJmX3YgaW4gJyIkQCIn
CiNbc3RkZXJyXSsgdGVzdCAtZSBidWlsZC1lcXVhbAojW3N0ZGVycl0rIGZvciBfYW1fcm1yZl92
IGluICciJEAiJwojW3N0ZGVycl0rIHRlc3QgLWUgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LWVxdWFsLz0KI1tzdGRlcnJdKyByZXR1cm4gMAojW3N0ZGVycl0rIDog
Rm9yIHNoZWxscyB3aXRoIGJ1c3RlZCAnc2V0IC1lLicKI1tzdGRlcnJdKyBmb3IgdGVzdF9uYW1l
IGluICckdGVzdF9uYW1lc19saXN0JwojW3N0ZGVycl0rIGV2YWwgJ3Rlc3Rfc3RyaW5nPSR7aW5z
dHNwY19fbGVzc30nCiNbc3RkZXJyXSsrIHRlc3Rfc3RyaW5nPSc8JwojW3N0ZGVycl0rIHRlc3Qg
J3g8JyA9IHgKI1tzdGRlcnJdKyBta2RpciAnLi88JwojW3N0ZGVycl0rIGNhc2UgJHRlc3Rfc3Ry
aW5nIGluCiNbc3RkZXJyXSsgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKI1tzdGRlcnJdKyBjYXNl
ICR3aGVyZSBpbgojW3N0ZGVycl0rIGJ1aWxkPScuLzwnCiNbc3RkZXJyXSsgZGVzdD0vdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcwojW3N0ZGVycl0rIGNkICcu
LzwnCiNbc3RkZXJyXSsgcj1vawojW3N0ZGVycl0rIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAnLzwt
cHJlZml4JwpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmlu
L2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBzbGVlcCBzdXBwb3J0cyBmcmFjdGlvbmFsIHNl
Y29uZHMuLi4geWVzCmNoZWNraW5nIGZpbGVzeXN0ZW0gdGltZXN0YW1wIHJlc29sdXRpb24uLi4g
MC4wMQpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNo
ZWNraW5nIGZvciBhIHJhY2UtZnJlZSBta2RpciAtcC4uLiBta2RpciAtcApjaGVja2luZyBmb3Ig
Z2F3ay4uLiBubwpjaGVja2luZyBmb3IgbWF3ay4uLiBubwpjaGVja2luZyBmb3IgbmF3ay4uLiBu
bwpjaGVja2luZyBmb3IgYXdrLi4uIGF3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1B
S0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxl
cy4uLiB5ZXMKY2hlY2tpbmcgeGFyZ3MgLW4gd29ya3MuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIg
VUlEICc1MDEnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVzCmNoZWNraW5nIHdo
ZXRoZXIgR0lEICcyMCcgaXMgc3VwcG9ydGVkIGJ5IHVzdGFyIGZvcm1hdC4uLiB5ZXMKY2hlY2tp
bmcgaG93IHRvIGNyZWF0ZSBhIHVzdGFyIHRhciBhcmNoaXZlLi4uIHBsYWludGFyCmNoZWNraW5n
IGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4g
eWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBh
Lm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0
aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBv
YmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHRoZSBjb21waWxlciBzdXBwb3J0cyBH
TlUgQy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tp
bmcgZm9yIGdjYyBvcHRpb24gdG8gZW5hYmxlIEMyMyBmZWF0dXJlcy4uLiAtc3RkPWdudTIzCmNo
ZWNraW5nIHdoZXRoZXIgZ2NjIC1zdGQ9Z251MjMgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0
aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGly
ZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdj
YyAtc3RkPWdudTIzLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBh
cmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxp
YgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUu
Li4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVz
OiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29t
bWFuZHMKI1tzdGRlcnJdKyBtYWtlIGFsbApnY2MgLXN0ZD1nbnUyMyAtRFBBQ0tBR0VfTkFNRT1c
Imluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lP
Tj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVH
UkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZF
UlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1N
RiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBz
L3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAtc3RkPWdudTIzICAtZyAtTzIgICAtbyBz
dWIvYmFzZSBzb3VyY2UubyAgCmdjYyAtc3RkPWdudTIzICAtZyAtTzIgICAtbyBzdWIvbm9iYXNl
IHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjciBzdWIvbGliYmFzZS5hIHNvdXJj
ZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3Igc3Vi
L2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCiNbc3RkZXJyXSsg
REVTVERJUj0vdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcwoj
W3N0ZGVycl0rIGZpbGU9Jy4vPCcKI1tzdGRlcnJdKyBtYWtlIHRlc3QtaW5zdAptYWtlWzFdOiBF
bnRlcmluZyBkaXJlY3RvcnkgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
PCcKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
bGVzcy88LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9m
b28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LWxlc3MvPC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJi
YXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwt
cHJlZml4L2ZvbycKICggY2QgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1sZXNzLzwtcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiBta2RpciAtcCAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgv
Zm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28n
CiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxl
c3MvPC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uu
c2ggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJl
Zml4L2Zvby9zdWIvJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28vc3ViJwogL3Vzci9i
aW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vL3N1YicKICggY2QgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4L2Zv
bycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vJwogbWtkaXIgLXAg
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4
L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC1wcmVmaXgvZm9vL3N1Yi8nCiBt
a2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3Mv
PC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZp
eC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LWxlc3MvPC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3Vi
L2Jhc2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3Mv
PC1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1sZXNzLzwtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28vc3ViJwogL3Vzci9i
aW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LXByZWZpeC9mb28vc3ViJwogbWtkaXIg
LXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwtcHJl
Zml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtbGVzcy88LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg
IC4uL3N1Yi9ub2Jhc2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LWxlc3MvPC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvPCcKdGVzdCAgIC1mICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy8uLzwtcHJlZml4L2Zvby9z
dWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWxlc3MvLi88LXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvLi88LXByZWZpeC9mb28v
YmFzZS5oJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9v
L25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWxlc3MvLi88LXByZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvLi88LXByZWZpeC9mb28v
c3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtbGVzcy8uLzwtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvLi88LXByZWZpeC9m
b28vYmFzZS5zaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtbGVzcy8uLzwtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9v
L25vYmFzZScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtbGVzcy8uLzwtcHJlZml4L2Zvby9iYXNlJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLy4vPC1wcmVmaXgvZm9vL3N1Yi9saWJu
b2Jhc2UuYScKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtbGVzcy8uLzwtcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy8uLzwtcHJlZml4L2Zvby9s
aWJiYXNlLmEnCiNbc3RkZXJyXSsgZGVzY3JpcHRpb249J2xlc3MgaW4gYnVpbGRkaXInCiNbc3Rk
ZXJyXSsgZXhwZWN0ZWRfdG9fZmFpbCBidWlsZCBsZXNzCiNbc3RkZXJyXSsgY2FzZSAkMSBpbgoj
W3N0ZGVycl0rIGlzX2luX2xpc3QgbGVzcyBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xs
YXIgYnNsYXNoIGFtcGVyc2FuZCBsaW5lZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCiNbc3RkZXJy
XSsgaXRlbT1sZXNzCiNbc3RkZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgpv
ayA0NSAtIGxlc3MgaW4gYnVpbGRkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA0NSAtIGxlc3MgaW4g
YnVpbGRkaXIKI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIGRpcmVjdGl2ZT0KI1tzdGRl
cnJdKyByZWFzb249CiNbc3RkZXJyXSsgcmVzdWx0XyBvayAtRCAnJyAtciAnJyAtLSAnbGVzcyBp
biBidWlsZGRpcicKI1tzdGRlcnJdKyBzZXQgK3gKI1tzdGRlcnJdKyBjZCAvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyCiNbc3RkZXJyXSsgbm90IGFtX2tlZXBpbmdfdGVzdGRp
cnMKI1tzdGRlcnJdKyBhbV9rZWVwaW5nX3Rlc3RkaXJzCiNbc3RkZXJyXSsgY2FzZSAka2VlcF90
ZXN0ZGlycyBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNbc3RkZXJyXSsgdGVzdCBvayA9IG9rCiNb
c3RkZXJyXSsgcm1fcmZfICcuLzwnIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1sZXNzCiNbc3RkZXJyXSsgdGVzdCAyIC1ndCAwCiNbc3RkZXJyXSsgY2htb2QgLVIg
dStyd3ggJy4vPCcgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxl
c3MKI1tzdGRlcnJdKyBybSAtcmYgJy4vPCcgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LWxlc3MKI1tzdGRlcnJdKyBfYW1fcm1yZl9zdGF0dXM9MAojW3N0ZGVycl0r
IGZvciBfYW1fcm1yZl92IGluICciJEAiJwojW3N0ZGVycl0rIHRlc3QgLWUgJy4vPCcKI1tzdGRl
cnJdKyBmb3IgX2FtX3JtcmZfdiBpbiAnIiRAIicKI1tzdGRlcnJdKyB0ZXN0IC1lIC91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzCiNbc3RkZXJyXSsgcmV0dXJu
IDAKI1tzdGRlcnJdKyA6IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgJ3NldCAtZS4nCiNbc3RkZXJy
XSsgZm9yIHdoZXJlIGluIGJ1aWxkIGRlc3QKI1tzdGRlcnJdKyBjYXNlICR3aGVyZSBpbgojW3N0
ZGVycl0rIGJ1aWxkPWJ1aWxkLWxlc3MKI1tzdGRlcnJdKyBkZXN0PScvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88JwojW3N0ZGVycl0rIG1rZGlyIGJ1aWxk
LWxlc3MKI1tzdGRlcnJdKyBjZCBidWlsZC1sZXNzCiNbc3RkZXJyXSsgcj1vawojW3N0ZGVycl0r
IC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAnLzwtcHJlZml4JwpjaGVja2luZyBmb3IgYSBCU0QtY29t
cGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBz
bGVlcCBzdXBwb3J0cyBmcmFjdGlvbmFsIHNlY29uZHMuLi4geWVzCmNoZWNraW5nIGZpbGVzeXN0
ZW0gdGltZXN0YW1wIHJlc29sdXRpb24uLi4gMC4wMQpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVu
dmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHJhY2UtZnJlZSBta2RpciAt
cC4uLiBta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBubwpjaGVja2luZyBmb3IgbWF3ay4u
LiBubwpjaGVja2luZyBmb3IgbmF3ay4uLiBubwpjaGVja2luZyBmb3IgYXdrLi4uIGF3awpjaGVj
a2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1h
a2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgeGFyZ3MgLW4gd29y
a3MuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgVUlEICc1MDEnIGlzIHN1cHBvcnRlZCBieSB1c3Rh
ciBmb3JtYXQuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgR0lEICcyMCcgaXMgc3VwcG9ydGVkIGJ5
IHVzdGFyIGZvcm1hdC4uLiB5ZXMKY2hlY2tpbmcgaG93IHRvIGNyZWF0ZSBhIHVzdGFyIHRhciBh
cmNoaXZlLi4uIHBsYWludGFyCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRo
ZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRl
ZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4
ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4g
bm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0
aGVyIHRoZSBjb21waWxlciBzdXBwb3J0cyBHTlUgQy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBn
Y2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gZW5hYmxlIEMy
MyBmZWF0dXJlcy4uLiAtc3RkPWdudTIzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIC1zdGQ9Z251MjMg
dW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1h
a2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVj
a2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYyAtc3RkPWdudTIzLi4uIGdjYzMKY2hlY2tpbmcg
Zm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpj
aGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxl
cyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4v
Y29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3Rh
dHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKI1tzdGRlcnJdKyBtYWtlIGFsbApnY2Mg
LXN0ZD1nbnUyMyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1c
Imluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJp
bnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwi
IC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcg
LU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJj
ZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdj
YyAtc3RkPWdudTIzICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAtc3RkPWdu
dTIzICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2Uu
YQphciBjciBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAt
ZiBzdWIvbGlibm9iYXNlLmEKYXIgY3Igc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIg
c3ViL2xpYm5vYmFzZS5hCiNbc3RkZXJyXSsgREVTVERJUj0nL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPCcKI1tzdGRlcnJdKyBmaWxlPScuLzwnCiNbc3Rk
ZXJyXSsgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2J1aWxkLWxlc3MnCiBta2RpciAtcCAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC88LXByZWZpeC9m
b28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2ZvbycKIG1rZGlyIC1w
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJl
Zml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2Zv
bycKICggY2QgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNz
LzwvPC1wcmVmaXgvZm9vJyAmJiByYW5saWIgbGliYmFzZS5hICkKIG1rZGlyIC1wICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2ZvbycK
ICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9iYXNlICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2ZvbycK
IG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVz
cy88LzwtcHJlZml4L2Zvby9zdWIvJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNl
LnNoICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88Lzwt
cHJlZml4L2Zvby9zdWIvJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1sZXNzLzwvPC1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvPC1wcmVmaXgvZm9vL3N1YicK
IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvPC1wcmVmaXgvZm9vL3N1YicK
ICggY2QgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwv
PC1wcmVmaXgvZm9vJyAmJiByYW5saWIgc3ViL2xpYm5vYmFzZS5hICkKIG1rZGlyIC1wICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2Zv
bycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
bGVzcy88LzwtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFz
ZSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC88LXBy
ZWZpeC9mb28vc3ViLycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g
NjQ0IC4uL3N1Yi9iYXNlLmRhdCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LWxlc3MvPC88LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC88LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9p
bnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5oICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2ZvbycK
IG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVz
cy88LzwtcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3Vi
L25vYmFzZS5kYXQgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1s
ZXNzLzwvPC1wcmVmaXgvZm9vL3N1YicKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2Zv
by9zdWInCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88LzwtcHJlZml4L2Zv
by9zdWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2J1aWxkLWxlc3MnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3MvPC8uLzwtcHJlZml4L2Zvby9zdWIvbm9iYXNl
LmgnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LWxlc3MvPC8uLzwtcHJlZml4L2Zvby9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88Ly4vPC1wcmVmaXgvZm9vL2Jhc2Uu
aCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
bGVzcy88Ly4vPC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvLi88LXByZWZpeC9mb28v
bm9iYXNlLmRhdCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtbGVzcy88Ly4vPC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvLi88LXByZWZpeC9m
b28vc3ViL25vYmFzZS5zaCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtbGVzcy88Ly4vPC1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1m
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88Ly4vPC1w
cmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LWxlc3MvPC8uLzwtcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEg
LWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvLi88
LXByZWZpeC9mb28vbm9iYXNlJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1sZXNzLzwvLi88LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88Ly4vPC1wcmVm
aXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88Ly4vPC1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0
ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1sZXNz
LzwvLi88LXByZWZpeC9mb28vbGliYmFzZS5hJwojW3N0ZGVycl0rIGRlc2NyaXB0aW9uPSdsZXNz
IGluIGRlc3RkaXInCiNbc3RkZXJyXSsgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IGxlc3MKI1tzdGRl
cnJdKyBjYXNlICQxIGluCm9rIDQ2IC0gbGVzcyBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50
YXAgNDYgLSBsZXNzIGluIGRlc3RkaXIKI1tzdGRlcnJdKyBpc19pbl9saXN0IGxlc3Mgc3F1b3Rl
IGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGxpbmVmZWVkIGFfbGZfYgojW3N0ZGVycl0rIGl0
ZW09bGVzcwojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRl
cnJdKyByZXR1cm4gMQojW3N0ZGVycl0rIGRpcmVjdGl2ZT0KI1tzdGRlcnJdKyByZWFzb249CiNb
c3RkZXJyXSsgcmVzdWx0XyBvayAtRCAnJyAtciAnJyAtLSAnbGVzcyBpbiBkZXN0ZGlyJwojW3N0
ZGVycl0rIHNldCAreAojW3N0ZGVycl0rIGNkIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIKI1tzdGRlcnJdKyBub3QgYW1fa2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGFt
X2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCiNbc3Rk
ZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyB0ZXN0IG9rID0gb2sKI1tzdGRlcnJdKyBybV9yZl8g
YnVpbGQtbGVzcyAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxl
c3MvPCcKI1tzdGRlcnJdKyB0ZXN0IDIgLWd0IDAKI1tzdGRlcnJdKyBjaG1vZCAtUiB1K3J3eCBi
dWlsZC1sZXNzICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVz
cy88JwojW3N0ZGVycl0rIHJtIC1yZiBidWlsZC1sZXNzICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtbGVzcy88JwojW3N0ZGVycl0rIF9hbV9ybXJmX3N0YXR1cz0w
CiNbc3RkZXJyXSsgZm9yIF9hbV9ybXJmX3YgaW4gJyIkQCInCiNbc3RkZXJyXSsgdGVzdCAtZSBi
dWlsZC1sZXNzCiNbc3RkZXJyXSsgZm9yIF9hbV9ybXJmX3YgaW4gJyIkQCInCiNbc3RkZXJyXSsg
dGVzdCAtZSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxlc3Mv
PCcKI1tzdGRlcnJdKyByZXR1cm4gMAojW3N0ZGVycl0rIDogRm9yIHNoZWxscyB3aXRoIGJ1c3Rl
ZCAnc2V0IC1lLicKI1tzdGRlcnJdKyBmb3IgdGVzdF9uYW1lIGluICckdGVzdF9uYW1lc19saXN0
JwojW3N0ZGVycl0rIGV2YWwgJ3Rlc3Rfc3RyaW5nPSR7aW5zdHNwY19fbW9yZX0nCiNbc3RkZXJy
XSsrIHRlc3Rfc3RyaW5nPSc+JwojW3N0ZGVycl0rIHRlc3QgJ3g+JyA9IHgKI1tzdGRlcnJdKyBt
a2RpciAnLi8+JwojW3N0ZGVycl0rIGNhc2UgJHRlc3Rfc3RyaW5nIGluCiNbc3RkZXJyXSsgZm9y
IHdoZXJlIGluIGJ1aWxkIGRlc3QKI1tzdGRlcnJdKyBjYXNlICR3aGVyZSBpbgojW3N0ZGVycl0r
IGJ1aWxkPScuLz4nCiNbc3RkZXJyXSsgZGVzdD0vdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtbW9yZQojW3N0ZGVycl0rIGNkICcuLz4nCiNbc3RkZXJyXSsgcj1vawoj
W3N0ZGVycl0rIC4uL2NvbmZpZ3VyZSAtLXByZWZpeCAnLz4tcHJlZml4JwpjaGVja2luZyBmb3Ig
YSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcg
d2hldGhlciBzbGVlcCBzdXBwb3J0cyBmcmFjdGlvbmFsIHNlY29uZHMuLi4geWVzCmNoZWNraW5n
IGZpbGVzeXN0ZW0gdGltZXN0YW1wIHJlc29sdXRpb24uLi4gMC4wMQpjaGVja2luZyB3aGV0aGVy
IGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHJhY2UtZnJl
ZSBta2RpciAtcC4uLiBta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBubwpjaGVja2luZyBm
b3IgbWF3ay4uLiBubwpjaGVja2luZyBmb3IgbmF3ay4uLiBubwpjaGVja2luZyBmb3IgYXdrLi4u
IGF3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3
aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZhcmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgeGFy
Z3MgLW4gd29ya3MuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgVUlEICc1MDEnIGlzIHN1cHBvcnRl
ZCBieSB1c3RhciBmb3JtYXQuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgR0lEICcyMCcgaXMgc3Vw
cG9ydGVkIGJ5IHVzdGFyIGZvcm1hdC4uLiB5ZXMKY2hlY2tpbmcgaG93IHRvIGNyZWF0ZSBhIHVz
dGFyIHRhciBhcmNoaXZlLi4uIHBsYWludGFyCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNr
aW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNv
bXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3Vm
Zml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21w
aWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVj
a2luZyB3aGV0aGVyIHRoZSBjb21waWxlciBzdXBwb3J0cyBHTlUgQy4uLiB5ZXMKY2hlY2tpbmcg
d2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8g
ZW5hYmxlIEMyMyBmZWF0dXJlcy4uLiAtc3RkPWdudTIzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIC1z
dGQ9Z251MjMgdW5kZXJzdGFuZHMgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3
aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0
eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9mIGdjYyAtc3RkPWdudTIzLi4uIGdjYzMK
Y2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5nIHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFj
ZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVy
YXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25maWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNy
ZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpj
b25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKI1tzdGRlcnJdKyBtYWtl
IGFsbApnY2MgLXN0ZD1nbnUyMyAtRFBBQ0tBR0VfTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0Vf
VEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9T
VFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdF
X1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNcIiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUku
LiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQgLU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1j
IC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1mIC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291
cmNlLlBvCmdjYyAtc3RkPWdudTIzICAtZyAtTzIgICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdj
YyAtc3RkPWdudTIzICAtZyAtTzIgICAtbyBzdWIvbm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3Vi
L2xpYmJhc2UuYQphciBjciBzdWIvbGliYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJh
c2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIgY3Igc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5v
IApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCiNbc3RkZXJyXSsgREVTVERJUj0vdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZQojW3N0ZGVycl0rIGZpbGU9Jy4vPicK
I1tzdGRlcnJdKyBtYWtlIHRlc3QtaW5zdAptYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvPicKIG1rZGlyIC1wICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28nCiAv
dXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vJwog
L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJiYXNlLmEgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2ZvbycKICggY2QgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2Zv
bycgJiYgcmFubGliIGxpYmJhc2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3Rh
bGwgLWMgc3ViL2Jhc2UgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1tb3JlLz4tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vL3N1Yi8n
CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4uL3N1Yi9ub2Jhc2Uuc2ggJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2Zvby9zdWIvJwogbWtkaXIg
LXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJl
Zml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtbW9yZS8+LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg
IHN1Yi9saWJub2Jhc2UuYSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LW1vcmUvPi1wcmVmaXgvZm9vL3N1YicKICggY2QgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJu
b2Jhc2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmlu
L2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vJwogL3Vzci9i
aW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuZGF0ICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9v
JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9vJwogbWtkaXIg
LXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJl
Zml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtbW9yZS8+LXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg
IC4uL3N1Yi9ub2Jhc2UuZGF0ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtbW9yZS8+LXByZWZpeC9mb28vc3ViJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+LXByZWZpeC9m
b28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi1wcmVmaXgvZm9v
L3N1YicKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvPicKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAt
ZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvLi8+LXBy
ZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LW1vcmUvLi8+LXByZWZpeC9mb28vYmFzZS5oJwp0ZXN0ICAgLWYgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1wcmVmaXgv
Zm9vL3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1wcmVmaXgvZm9vL25vYmFzZS5kYXQnCnRlc3QgICAt
ZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvLi8+LXBy
ZWZpeC9mb28vYmFzZS5kYXQnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LW1vcmUvLi8+LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVzdCAh
IC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4t
cHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvLi8+LXByZWZpeC9mb28vYmFzZS5zaCcKdGVzdCAgIC1m
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4tcHJl
Zml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1tb3JlLy4vPi1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4tcHJlZml4
L2Zvby9iYXNlJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1tb3JlLy4vPi1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2UuYScKdGVzdCAhIC1mICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4tcHJlZml4
L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtbW9yZS8uLz4tcHJlZml4L2Zvby9saWJiYXNlLmEnCiNbc3RkZXJyXSsg
ZGVzY3JpcHRpb249J21vcmUgaW4gYnVpbGRkaXInCiNbc3RkZXJyXSsgZXhwZWN0ZWRfdG9fZmFp
bCBidWlsZCBtb3JlCiNbc3RkZXJyXSsgY2FzZSAkMSBpbgojW3N0ZGVycl0rIGlzX2luX2xpc3Qg
bW9yZSBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xsYXIgYnNsYXNoIGFtcGVyc2FuZCBs
aW5lZmVlZCBxdWFkcmlncmFwaDAgYV9sZl9iCiNbc3RkZXJyXSsgaXRlbT1tb3JlCm9rIDQ3IC0g
bW9yZSBpbiBidWlsZGRpcgpQQVNTOiB0L2luc3RzcGMudGFwIDQ3IC0gbW9yZSBpbiBidWlsZGRp
cgojW3N0ZGVycl0rIHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyBy
ZXR1cm4gMQojW3N0ZGVycl0rIGRpcmVjdGl2ZT0KI1tzdGRlcnJdKyByZWFzb249CiNbc3RkZXJy
XSsgcmVzdWx0XyBvayAtRCAnJyAtciAnJyAtLSAnbW9yZSBpbiBidWlsZGRpcicKI1tzdGRlcnJd
KyBzZXQgK3gKI1tzdGRlcnJdKyBjZCAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyCiNbc3RkZXJyXSsgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBhbV9rZWVw
aW5nX3Rlc3RkaXJzCiNbc3RkZXJyXSsgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgojW3N0ZGVycl0r
IHJldHVybiAxCiNbc3RkZXJyXSsgdGVzdCBvayA9IG9rCiNbc3RkZXJyXSsgcm1fcmZfICcuLz4n
IC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlCiNbc3RkZXJy
XSsgdGVzdCAyIC1ndCAwCiNbc3RkZXJyXSsgY2htb2QgLVIgdStyd3ggJy4vPicgL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUKI1tzdGRlcnJdKyBybSAtcmYg
Jy4vPicgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUKI1tz
dGRlcnJdKyBfYW1fcm1yZl9zdGF0dXM9MAojW3N0ZGVycl0rIGZvciBfYW1fcm1yZl92IGluICci
JEAiJwojW3N0ZGVycl0rIHRlc3QgLWUgJy4vPicKI1tzdGRlcnJdKyBmb3IgX2FtX3JtcmZfdiBp
biAnIiRAIicKI1tzdGRlcnJdKyB0ZXN0IC1lIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1tb3JlCiNbc3RkZXJyXSsgcmV0dXJuIDAKI1tzdGRlcnJdKyA6IEZvciBz
aGVsbHMgd2l0aCBidXN0ZWQgJ3NldCAtZS4nCiNbc3RkZXJyXSsgZm9yIHdoZXJlIGluIGJ1aWxk
IGRlc3QKI1tzdGRlcnJdKyBjYXNlICR3aGVyZSBpbgojW3N0ZGVycl0rIGJ1aWxkPWJ1aWxkLW1v
cmUKI1tzdGRlcnJdKyBkZXN0PScvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtbW9yZS8+JwojW3N0ZGVycl0rIG1rZGlyIGJ1aWxkLW1vcmUKI1tzdGRlcnJdKyBjZCBi
dWlsZC1tb3JlCiNbc3RkZXJyXSsgcj1vawojW3N0ZGVycl0rIC4uL2NvbmZpZ3VyZSAtLXByZWZp
eCAnLz4tcHJlZml4JwpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4uIC91
c3IvYmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBzbGVlcCBzdXBwb3J0cyBmcmFjdGlv
bmFsIHNlY29uZHMuLi4geWVzCmNoZWNraW5nIGZpbGVzeXN0ZW0gdGltZXN0YW1wIHJlc29sdXRp
b24uLi4gMC4wMQpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4g
eWVzCmNoZWNraW5nIGZvciBhIHJhY2UtZnJlZSBta2RpciAtcC4uLiBta2RpciAtcApjaGVja2lu
ZyBmb3IgZ2F3ay4uLiBubwpjaGVja2luZyBmb3IgbWF3ay4uLiBubwpjaGVja2luZyBmb3IgbmF3
ay4uLiBubwpjaGVja2luZyBmb3IgYXdrLi4uIGF3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0
cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgbmVzdGVkIHZh
cmlhYmxlcy4uLiB5ZXMKY2hlY2tpbmcgeGFyZ3MgLW4gd29ya3MuLi4geWVzCmNoZWNraW5nIHdo
ZXRoZXIgVUlEICc1MDEnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVzCmNoZWNr
aW5nIHdoZXRoZXIgR0lEICcyMCcgaXMgc3VwcG9ydGVkIGJ5IHVzdGFyIGZvcm1hdC4uLiB5ZXMK
Y2hlY2tpbmcgaG93IHRvIGNyZWF0ZSBhIHVzdGFyIHRhciBhcmNoaXZlLi4uIHBsYWludGFyCmNo
ZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29y
a3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFt
ZS4uLiBhLm91dApjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIApjaGVja2lu
ZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hlY2tpbmcgZm9yIHN1ZmZp
eCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2luZyB3aGV0aGVyIHRoZSBjb21waWxlciBzdXBw
b3J0cyBHTlUgQy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMK
Y2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gZW5hYmxlIEMyMyBmZWF0dXJlcy4uLiAtc3RkPWdu
dTIzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIC1zdGQ9Z251MjMgdW5kZXJzdGFuZHMgLWMgYW5kIC1v
IHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc3VwcG9ydHMgdGhlIGluY2x1
ZGUgZGlyZWN0aXZlLi4uIHllcyAoR05VIHN0eWxlKQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxl
IG9mIGdjYyAtc3RkPWdudTIzLi4uIGdjYzMKY2hlY2tpbmcgZm9yIGFyLi4uIGFyCmNoZWNraW5n
IHRoZSBhcmNoaXZlciAoYXIpIGludGVyZmFjZS4uLiBhcgpjaGVja2luZyBmb3IgcmFubGliLi4u
IHJhbmxpYgpjaGVja2luZyB0aGF0IGdlbmVyYXRlZCBmaWxlcyBhcmUgbmV3ZXIgdGhhbiBjb25m
aWd1cmUuLi4gZG9uZQpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcu
c3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmls
ZXMgY29tbWFuZHMKI1tzdGRlcnJdKyBtYWtlIGFsbApnY2MgLXN0ZD1nbnUyMyAtRFBBQ0tBR0Vf
TkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImluc3RzcGNcIiAtRFBBQ0tBR0Vf
VkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJpbnN0c3BjXCAxLjBcIiAtRFBBQ0tB
R0VfQlVHUkVQT1JUPVwiXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImluc3RzcGNc
IiAtRFZFUlNJT049XCIxLjBcIiAtSS4gLUkuLiAgICAgLWcgLU8yIC1NVCBzb3VyY2UubyAtTUQg
LU1QIC1NRiAuZGVwcy9zb3VyY2UuVHBvIC1jIC1vIHNvdXJjZS5vIC4uL3NvdXJjZS5jCm12IC1m
IC5kZXBzL3NvdXJjZS5UcG8gLmRlcHMvc291cmNlLlBvCmdjYyAtc3RkPWdudTIzICAtZyAtTzIg
ICAtbyBzdWIvYmFzZSBzb3VyY2UubyAgCmdjYyAtc3RkPWdudTIzICAtZyAtTzIgICAtbyBzdWIv
bm9iYXNlIHNvdXJjZS5vICAKcm0gLWYgc3ViL2xpYmJhc2UuYQphciBjciBzdWIvbGliYmFzZS5h
IHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYmJhc2UuYQpybSAtZiBzdWIvbGlibm9iYXNlLmEKYXIg
Y3Igc3ViL2xpYm5vYmFzZS5hIHNvdXJjZS5vIApyYW5saWIgc3ViL2xpYm5vYmFzZS5hCiNbc3Rk
ZXJyXSsgREVTVERJUj0nL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LW1vcmUvPicKI1tzdGRlcnJdKyBmaWxlPScuLz4nCiNbc3RkZXJyXSsgbWFrZSB0ZXN0LWluc3QK
bWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2J1aWxkLW1vcmUnCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxs
IC1jIC4uL3N1Yi9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2ZvbycKIC91c3IvYmluL2lu
c3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2ZvbycKICggY2QgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgvZm9vJyAmJiBy
YW5saWIgbGliYmFzZS5hICkKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1j
IHN1Yi9iYXNlICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9y
ZS8+Lz4tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2Zvby9zdWIv
JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2Zvby9zdWIvJwogbWtk
aXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4v
Pi1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMg
LW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgvZm9vL3N1YicKICggY2QgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgvZm9vJyAmJiByYW5s
aWIgc3ViL2xpYm5vYmFzZS5hICkKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2Zvby9z
dWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFzZSAnL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8+LXByZWZpeC9mb28vc3ViLycKIG1rZGly
IC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Lz4t
cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNlLmRhdCAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8+LXByZWZp
eC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LW1vcmUvPi8+LXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAuLi9z
dWIvYmFzZS5oICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9y
ZS8+Lz4tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2Zvby9zdWIn
CiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5kYXQgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vPi1wcmVmaXgvZm9vL3N1
YicKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
bW9yZS8+Lz4tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jpbi9pbnN0
YWxsIC1jIC1tIDY0NCAgLi4vc3ViL25vYmFzZS5oICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Lz4tcHJlZml4L2Zvby9zdWInCm1ha2VbMV06IExlYXZp
bmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2J1aWxk
LW1vcmUnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LW1vcmUvPi8uLz4tcHJlZml4L2Zvby9zdWIvbm9iYXNlLmgnCnRlc3QgISAtZiAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPi8uLz4tcHJlZml4L2Zv
by9ub2Jhc2UuaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtbW9yZS8+Ly4vPi1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Ly4vPi1wcmVmaXgvZm9v
L3N1Yi9ub2Jhc2UuZGF0Jwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1tb3JlLz4vLi8+LXByZWZpeC9mb28vbm9iYXNlLmRhdCcKdGVzdCAgIC1m
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Ly4vPi1w
cmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vLi8+LXByZWZpeC9mb28vc3ViL25vYmFzZS5zaCcKdGVz
dCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+
Ly4vPi1wcmVmaXgvZm9vL25vYmFzZS5zaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Ly4vPi1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRl
c3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUv
Pi8uLz4tcHJlZml4L2Zvby9zdWIvbm9iYXNlJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vLi8+LXByZWZpeC9mb28vbm9iYXNlJwp0
ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3Jl
Lz4vLi8+LXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+Ly4vPi1wcmVmaXgvZm9vL3N1Yi9saWJub2Jhc2Uu
YScKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
bW9yZS8+Ly4vPi1wcmVmaXgvZm9vL2xpYm5vYmFzZS5hJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1tb3JlLz4vLi8+LXByZWZpeC9mb28vbGli
YmFzZS5hJwojW3N0ZGVycl0rIGRlc2NyaXB0aW9uPSdtb3JlIGluIGRlc3RkaXInCiNbc3RkZXJy
XSsgZXhwZWN0ZWRfdG9fZmFpbCBkZXN0IG1vcmUKI1tzdGRlcnJdKyBjYXNlICQxIGluCiNbc3Rk
ZXJyXSsgaXNfaW5fbGlzdCBtb3JlIHNxdW90ZSBkcXVvdGUgYnF1b3RlIHNoYXJwIGRvbGxhciBs
aW5lZmVlZCBhX2xmX2IKI1tzdGRlcnJdKyBpdGVtPW1vcmUKI1tzdGRlcnJdKyBzaGlmdAojW3N0
ZGVycl0rIGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyBkaXJl
Y3RpdmU9CiNbc3RkZXJyXSsgcmVhc29uPQojW3N0ZGVycl0rIHJlc3VsdF8gb2sgLUQgJycgLXIg
JycgLS0gJ21vcmUgaW4gZGVzdGRpcicKI1tzdGRlcnJdKyBzZXQgK3gKb2sgNDggLSBtb3JlIGlu
IGRlc3RkaXIKUEFTUzogdC9pbnN0c3BjLnRhcCA0OCAtIG1vcmUgaW4gZGVzdGRpcgojW3N0ZGVy
cl0rIGNkIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIKI1tzdGRlcnJdKyBu
b3QgYW1fa2VlcGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tz
dGRlcnJdKyBjYXNlICRrZWVwX3Rlc3RkaXJzIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRl
cnJdKyB0ZXN0IG9rID0gb2sKI1tzdGRlcnJdKyBybV9yZl8gYnVpbGQtbW9yZSAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPicKI1tzdGRlcnJdKyB0ZXN0
IDIgLWd0IDAKI1tzdGRlcnJdKyBjaG1vZCAtUiB1K3J3eCBidWlsZC1tb3JlICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbW9yZS8+JwojW3N0ZGVycl0rIHJtIC1y
ZiBidWlsZC1tb3JlICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
bW9yZS8+JwojW3N0ZGVycl0rIF9hbV9ybXJmX3N0YXR1cz0wCiNbc3RkZXJyXSsgZm9yIF9hbV9y
bXJmX3YgaW4gJyIkQCInCiNbc3RkZXJyXSsgdGVzdCAtZSBidWlsZC1tb3JlCiNbc3RkZXJyXSsg
Zm9yIF9hbV9ybXJmX3YgaW4gJyIkQCInCiNbc3RkZXJyXSsgdGVzdCAtZSAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LW1vcmUvPicKI1tzdGRlcnJdKyByZXR1cm4g
MAojW3N0ZGVycl0rIDogRm9yIHNoZWxscyB3aXRoIGJ1c3RlZCAnc2V0IC1lLicKI1tzdGRlcnJd
KyBmb3IgdGVzdF9uYW1lIGluICckdGVzdF9uYW1lc19saXN0JwojW3N0ZGVycl0rIGV2YWwgJ3Rl
c3Rfc3RyaW5nPSR7aW5zdHNwY19fYXR9JwojW3N0ZGVycl0rKyB0ZXN0X3N0cmluZz1ACiNbc3Rk
ZXJyXSsgdGVzdCB4QCA9IHgKI1tzdGRlcnJdKyBta2RpciAuL0AKI1tzdGRlcnJdKyBjYXNlICR0
ZXN0X3N0cmluZyBpbgojW3N0ZGVycl0rIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CiNbc3RkZXJy
XSsgY2FzZSAkd2hlcmUgaW4KI1tzdGRlcnJdKyBidWlsZD0uL0AKI1tzdGRlcnJdKyBkZXN0PS91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hdAojW3N0ZGVycl0rIGNk
IC4vQAojW3N0ZGVycl0rIHI9b2sKI1tzdGRlcnJdKyAuLi9jb25maWd1cmUgLS1wcmVmaXggL0At
cHJlZml4CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL3Vzci9iaW4v
aW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIHNsZWVwIHN1cHBvcnRzIGZyYWN0aW9uYWwgc2Vj
b25kcy4uLiB5ZXMKY2hlY2tpbmcgZmlsZXN5c3RlbSB0aW1lc3RhbXAgcmVzb2x1dGlvbi4uLiAw
LjAxCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hl
Y2tpbmcgZm9yIGEgcmFjZS1mcmVlIG1rZGlyIC1wLi4uIG1rZGlyIC1wCmNoZWNraW5nIGZvciBn
YXdrLi4uIG5vCmNoZWNraW5nIGZvciBtYXdrLi4uIG5vCmNoZWNraW5nIGZvciBuYXdrLi4uIG5v
CmNoZWNraW5nIGZvciBhd2suLi4gYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFL
RSkuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyBuZXN0ZWQgdmFyaWFibGVz
Li4uIHllcwpjaGVja2luZyB4YXJncyAtbiB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBV
SUQgJzUwMScgaXMgc3VwcG9ydGVkIGJ5IHVzdGFyIGZvcm1hdC4uLiB5ZXMKY2hlY2tpbmcgd2hl
dGhlciBHSUQgJzIwJyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVja2lu
ZyBob3cgdG8gY3JlYXRlIGEgdXN0YXIgdGFyIGFyY2hpdmUuLi4gcGxhaW50YXIKY2hlY2tpbmcg
Zm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5
ZXMKY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEu
b3V0CmNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gCmNoZWNraW5nIHdoZXRo
ZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9i
amVjdCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIEdO
VSBDLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2lu
ZyBmb3IgZ2NjIG9wdGlvbiB0byBlbmFibGUgQzIzIGZlYXR1cmVzLi4uIC1zdGQ9Z251MjMKY2hl
Y2tpbmcgd2hldGhlciBnY2MgLXN0ZD1nbnUyMyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRo
ZXIuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJl
Y3RpdmUuLi4geWVzIChHTlUgc3R5bGUpCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2Nj
IC1zdGQ9Z251MjMuLi4gZ2NjMwpjaGVja2luZyBmb3IgYXIuLi4gYXIKY2hlY2tpbmcgdGhlIGFy
Y2hpdmVyIChhcikgaW50ZXJmYWNlLi4uIGFyCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGli
CmNoZWNraW5nIHRoYXQgZ2VuZXJhdGVkIGZpbGVzIGFyZSBuZXdlciB0aGFuIGNvbmZpZ3VyZS4u
LiBkb25lCmNvbmZpZ3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6
IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBkZXBmaWxlcyBjb21t
YW5kcwojW3N0ZGVycl0rIG1ha2UgYWxsCmdjYyAtc3RkPWdudTIzIC1EUEFDS0FHRV9OQU1FPVwi
aW5zdHNwY1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiaW5zdHNwY1wiIC1EUEFDS0FHRV9WRVJTSU9O
PVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImluc3RzcGNcIDEuMFwiIC1EUEFDS0FHRV9CVUdS
RVBPUlQ9XCJcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiaW5zdHNwY1wiIC1EVkVS
U0lPTj1cIjEuMFwiIC1JLiAtSS4uICAgICAtZyAtTzIgLU1UIHNvdXJjZS5vIC1NRCAtTVAgLU1G
IC5kZXBzL3NvdXJjZS5UcG8gLWMgLW8gc291cmNlLm8gLi4vc291cmNlLmMKbXYgLWYgLmRlcHMv
c291cmNlLlRwbyAuZGVwcy9zb3VyY2UuUG8KZ2NjIC1zdGQ9Z251MjMgIC1nIC1PMiAgIC1vIHN1
Yi9iYXNlIHNvdXJjZS5vICAKZ2NjIC1zdGQ9Z251MjMgIC1nIC1PMiAgIC1vIHN1Yi9ub2Jhc2Ug
c291cmNlLm8gIApybSAtZiBzdWIvbGliYmFzZS5hCmFyIGNyIHN1Yi9saWJiYXNlLmEgc291cmNl
Lm8gCnJhbmxpYiBzdWIvbGliYmFzZS5hCnJtIC1mIHN1Yi9saWJub2Jhc2UuYQphciBjciBzdWIv
bGlibm9iYXNlLmEgc291cmNlLm8gCnJhbmxpYiBzdWIvbGlibm9iYXNlLmEKI1tzdGRlcnJdKyBE
RVNURElSPS91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hdAojW3N0
ZGVycl0rIGZpbGU9Li9ACiNbc3RkZXJyXSsgbWFrZSB0ZXN0LWluc3QKbWFrZVsxXTogRW50ZXJp
bmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL0AnCiBt
a2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0At
cHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL2Jhc2Uuc2ggJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALXByZWZpeC9mb28nCiBta2Rp
ciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJl
Zml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vJwog
KCBjZCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJl
Zml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9p
bnN0YWxsIC1jIHN1Yi9iYXNlICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtYXQvQC1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2Zvby9zdWIvJwog
L3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vL3N1Yi8nCiBta2RpciAtcCAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2Zv
bycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
YXQvQC1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICBzdWIvbGli
bm9iYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9A
LXByZWZpeC9mb28vc3ViJwogKCBjZCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWF0L0AtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiBt
a2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0At
cHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vL3N1Yi8nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIv
bm9iYXNlICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1w
cmVmaXgvZm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LWF0L0AtcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0
IC4uL3N1Yi9iYXNlLmRhdCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LWF0L0AtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt
bSA2NDQgLi4vc3ViL2Jhc2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LWF0L0AtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALXByZWZpeC9mb28vc3ViJwog
L3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1wcmVmaXgvZm9vL3N1YicKIG1r
ZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC1w
cmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1hdC9ALXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg
IC4uL3N1Yi9ub2Jhc2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LWF0L0AtcHJlZml4L2Zvby9zdWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5ICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL0AnCnRlc3QgICAtZiAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0Ly4vQC1wcmVmaXgvZm9vL3N1Yi9u
b2Jhc2UuaCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtYXQvLi9ALXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0Ly4vQC1wcmVmaXgvZm9vL2Jhc2UuaCcK
dGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYXQv
Li9ALXByZWZpeC9mb28vc3ViL25vYmFzZS5kYXQnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0Ly4vQC1wcmVmaXgvZm9vL25vYmFzZS5kYXQn
CnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0
Ly4vQC1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC8uL0AtcHJlZml4L2Zvby9zdWIvbm9iYXNlLnNoJwp0
ZXN0ICEgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC8u
L0AtcHJlZml4L2Zvby9ub2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0Ly4vQC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAt
ZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0Ly4vQC1wcmVm
aXgvZm9vL3N1Yi9ub2Jhc2UnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LWF0Ly4vQC1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYXQvLi9ALXByZWZpeC9mb28v
YmFzZScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtYXQvLi9ALXByZWZpeC9mb28vc3ViL2xpYm5vYmFzZS5hJwp0ZXN0ICEgLWYgJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC8uL0AtcHJlZml4L2Zvby9saWJu
b2Jhc2UuYScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtYXQvLi9ALXByZWZpeC9mb28vbGliYmFzZS5hJwojW3N0ZGVycl0rIGRlc2NyaXB0aW9u
PSdhdCBpbiBidWlsZGRpcicKI1tzdGRlcnJdKyBleHBlY3RlZF90b19mYWlsIGJ1aWxkIGF0CiNb
c3RkZXJyXSsgY2FzZSAkMSBpbgojW3N0ZGVycl0rIGlzX2luX2xpc3QgYXQgc3F1b3RlIGRxdW90
ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQgcXVhZHJpZ3Jh
cGgwIGFfbGZfYgojW3N0ZGVycl0rIGl0ZW09YXQKI1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0r
IGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKb2sgNDkgLSBhdCBpbiBidWlsZGRp
cgpQQVNTOiB0L2luc3RzcGMudGFwIDQ5IC0gYXQgaW4gYnVpbGRkaXIKI1tzdGRlcnJdKyBkaXJl
Y3RpdmU9CiNbc3RkZXJyXSsgcmVhc29uPQojW3N0ZGVycl0rIHJlc3VsdF8gb2sgLUQgJycgLXIg
JycgLS0gJ2F0IGluIGJ1aWxkZGlyJwojW3N0ZGVycl0rIHNldCAreAojW3N0ZGVycl0rIGNkIC91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIKI1tzdGRlcnJdKyBub3QgYW1fa2Vl
cGluZ190ZXN0ZGlycwojW3N0ZGVycl0rIGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBj
YXNlICRrZWVwX3Rlc3RkaXJzIGluCiNbc3RkZXJyXSsgcmV0dXJuIDEKI1tzdGRlcnJdKyB0ZXN0
IG9rID0gb2sKI1tzdGRlcnJdKyBybV9yZl8gLi9AIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1hdAojW3N0ZGVycl0rIHRlc3QgMiAtZ3QgMAojW3N0ZGVycl0rIGNo
bW9kIC1SIHUrcnd4IC4vQCAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtYXQKI1tzdGRlcnJdKyBybSAtcmYgLi9AIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1hdAojW3N0ZGVycl0rIF9hbV9ybXJmX3N0YXR1cz0wCiNbc3RkZXJyXSsg
Zm9yIF9hbV9ybXJmX3YgaW4gJyIkQCInCiNbc3RkZXJyXSsgdGVzdCAtZSAuL0AKI1tzdGRlcnJd
KyBmb3IgX2FtX3JtcmZfdiBpbiAnIiRAIicKI1tzdGRlcnJdKyB0ZXN0IC1lIC91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hdAojW3N0ZGVycl0rIHJldHVybiAwCiNb
c3RkZXJyXSsgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkICdzZXQgLWUuJwojW3N0ZGVycl0rIGZv
ciB3aGVyZSBpbiBidWlsZCBkZXN0CiNbc3RkZXJyXSsgY2FzZSAkd2hlcmUgaW4KI1tzdGRlcnJd
KyBidWlsZD1idWlsZC1hdAojW3N0ZGVycl0rIGRlc3Q9L3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LWF0L0AKI1tzdGRlcnJdKyBta2RpciBidWlsZC1hdAojW3N0ZGVy
cl0rIGNkIGJ1aWxkLWF0CiNbc3RkZXJyXSsgcj1vawojW3N0ZGVycl0rIC4uL2NvbmZpZ3VyZSAt
LXByZWZpeCAvQC1wcmVmaXgKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4u
LiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgc2xlZXAgc3VwcG9ydHMgZnJh
Y3Rpb25hbCBzZWNvbmRzLi4uIHllcwpjaGVja2luZyBmaWxlc3lzdGVtIHRpbWVzdGFtcCByZXNv
bHV0aW9uLi4uIDAuMDEKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5l
Li4uIHllcwpjaGVja2luZyBmb3IgYSByYWNlLWZyZWUgbWtkaXIgLXAuLi4gbWtkaXIgLXAKY2hl
Y2tpbmcgZm9yIGdhd2suLi4gbm8KY2hlY2tpbmcgZm9yIG1hd2suLi4gbm8KY2hlY2tpbmcgZm9y
IG5hd2suLi4gbm8KY2hlY2tpbmcgZm9yIGF3ay4uLiBhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtl
IHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3Rl
ZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHhhcmdzIC1uIHdvcmtzLi4uIHllcwpjaGVja2lu
ZyB3aGV0aGVyIFVJRCAnNTAxJyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpj
aGVja2luZyB3aGV0aGVyIEdJRCAnMjAnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4g
eWVzCmNoZWNraW5nIGhvdyB0byBjcmVhdGUgYSB1c3RhciB0YXIgYXJjaGl2ZS4uLiBwbGFpbnRh
cgpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVy
IHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxl
IG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hl
Y2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBz
dWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB0aGUgY29tcGlsZXIg
c3VwcG9ydHMgR05VIEMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4g
eWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGVuYWJsZSBDMjMgZmVhdHVyZXMuLi4gLXN0
ZD1nbnUyMwpjaGVja2luZyB3aGV0aGVyIGdjYyAtc3RkPWdudTIzIHVuZGVyc3RhbmRzIC1jIGFu
ZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBp
bmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBz
dHlsZSBvZiBnY2MgLXN0ZD1nbnUyMy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVj
a2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxp
Yi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4g
Y29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29u
ZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRl
cGZpbGVzIGNvbW1hbmRzCiNbc3RkZXJyXSsgbWFrZSBhbGwKZ2NjIC1zdGQ9Z251MjMgLURQQUNL
QUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNL
QUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQ
QUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0
c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8g
LU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwpt
diAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgLXN0ZD1nbnUyMyAgLWcg
LU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8g
c3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3Igc3ViL2xpYmJh
c2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5h
CmFyIGNyIHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQoj
W3N0ZGVycl0rIERFU1RESVI9L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LWF0L0AKI1tzdGRlcnJdKyBmaWxlPS4vQAojW3N0ZGVycl0rIG1ha2UgdGVzdC1pbnN0Cm1h
a2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9idWlsZC1hdCcKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC4u
L3N1Yi9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
YXQvQC9ALXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAt
bSA2NDQgIHN1Yi9saWJiYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1hdC9AL0AtcHJlZml4L2ZvbycKICggY2QgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AL0AtcHJlZml4L2ZvbycgJiYgcmFubGliIGxpYmJhc2Uu
YSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LWF0L0AvQC1wcmVmaXgvZm9vJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL2Jhc2UgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AL0AtcHJlZml4L2ZvbycK
IG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYXQv
QC9ALXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vL3N1Yi8nCiAvdXNyL2Jpbi9pbnN0YWxsIC1j
IC4uL3N1Yi9ub2Jhc2Uuc2ggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1hdC9AL0AtcHJlZml4L2Zvby9zdWIvJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AL0AtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXByZWZpeC9m
b28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIHN1Yi9saWJub2Jhc2UuYSAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9v
L3N1YicKICggY2QgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1h
dC9AL0AtcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiBta2RpciAtcCAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVmaXgv
Zm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1hdC9AL0AtcHJlZml4L2Zvby9zdWIvJwogIC91c3IvYmluL2luc3RhbGwgLWMgc3ViL25vYmFz
ZSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVm
aXgvZm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQg
Li4vc3ViL2Jhc2UuZGF0ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtYXQvQC9ALXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAt
YyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1
dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9AL0AtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXByZWZpeC9m
b28vc3ViJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXByZWZpeC9m
b28vc3ViJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1hdC9AL0AtcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC9ALXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5z
dGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvQC1wcmVmaXgvZm9vL3N1YicKbWFrZVsxXTogTGVhdmlu
ZyBkaXJlY3RvcnkgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvYnVpbGQt
YXQnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LWF0L0AvLi9ALXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALy4vQC1wcmVmaXgvZm9vL25vYmFz
ZS5oJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1hdC9ALy4vQC1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC8uL0AtcHJlZml4L2Zvby9zdWIvbm9iYXNl
LmRhdCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtYXQvQC8uL0AtcHJlZml4L2Zvby9ub2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ALy4vQC1wcmVmaXgvZm9vL2Jhc2Uu
ZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1hdC9ALy4vQC1wcmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvLi9ALXByZWZpeC9mb28vbm9i
YXNlLnNoJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1hdC9ALy4vQC1wcmVmaXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvLi9ALXByZWZpeC9mb28vc3ViL25v
YmFzZScKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtYXQvQC8uL0AtcHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvLi9ALXByZWZpeC9mb28vYmFzZScKdGVz
dCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtYXQvQC8u
L0AtcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AvLi9ALXByZWZpeC9mb28vbGlibm9iYXNl
LmEnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LWF0L0AvLi9ALXByZWZpeC9mb28vbGliYmFzZS5hJwojW3N0ZGVycl0rIGRlc2NyaXB0aW9uPSdh
dCBpbiBkZXN0ZGlyJwojW3N0ZGVycl0rIGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBhdAojW3N0ZGVy
cl0rIGNhc2UgJDEgaW4KI1tzdGRlcnJdKyBpc19pbl9saXN0IGF0IHNxdW90ZSBkcXVvdGUgYnF1
b3RlIHNoYXJwIGRvbGxhciBsaW5lZmVlZCBhX2xmX2IKI1tzdGRlcnJdKyBpdGVtPWF0CiNbc3Rk
ZXJyXSsgc2hpZnQKI1tzdGRlcnJdKyBjYXNlICIgJCogIiBpbgojW3N0ZGVycl0rIHJldHVybiAx
CiNbc3RkZXJyXSsgZGlyZWN0aXZlPQojW3N0ZGVycl0rIHJlYXNvbj0KI1tzdGRlcnJdKyByZXN1
bHRfIG9rIC1EICcnIC1yICcnIC0tICdhdCBpbiBkZXN0ZGlyJwojW3N0ZGVycl0rIHNldCAreAoj
W3N0ZGVycl0rIGNkIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIKb2sgNTAg
LSBhdCBpbiBkZXN0ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgNTAgLSBhdCBpbiBkZXN0ZGlyCiNb
c3RkZXJyXSsgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBhbV9rZWVwaW5nX3Rl
c3RkaXJzCiNbc3RkZXJyXSsgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgojW3N0ZGVycl0rIHJldHVy
biAxCiNbc3RkZXJyXSsgdGVzdCBvayA9IG9rCiNbc3RkZXJyXSsgcm1fcmZfIGJ1aWxkLWF0IC91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ACiNbc3RkZXJyXSsg
dGVzdCAyIC1ndCAwCiNbc3RkZXJyXSsgY2htb2QgLVIgdStyd3ggYnVpbGQtYXQgL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AKI1tzdGRlcnJdKyBybSAtcmYg
YnVpbGQtYXQgL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWF0L0AK
I1tzdGRlcnJdKyBfYW1fcm1yZl9zdGF0dXM9MAojW3N0ZGVycl0rIGZvciBfYW1fcm1yZl92IGlu
ICciJEAiJwojW3N0ZGVycl0rIHRlc3QgLWUgYnVpbGQtYXQKI1tzdGRlcnJdKyBmb3IgX2FtX3Jt
cmZfdiBpbiAnIiRAIicKI1tzdGRlcnJdKyB0ZXN0IC1lIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1hdC9ACiNbc3RkZXJyXSsgcmV0dXJuIDAKI1tzdGRlcnJdKyA6
IEZvciBzaGVsbHMgd2l0aCBidXN0ZWQgJ3NldCAtZS4nCiNbc3RkZXJyXSsgZm9yIHRlc3RfbmFt
ZSBpbiAnJHRlc3RfbmFtZXNfbGlzdCcKI1tzdGRlcnJdKyBldmFsICd0ZXN0X3N0cmluZz0ke2lu
c3RzcGNfX2xxYnJhY2t9JwojW3N0ZGVycl0rKyB0ZXN0X3N0cmluZz0nWycKI1tzdGRlcnJdKyB0
ZXN0ICd4WycgPSB4CiNbc3RkZXJyXSsgbWtkaXIgJy4vWycKI1tzdGRlcnJdKyBjYXNlICR0ZXN0
X3N0cmluZyBpbgojW3N0ZGVycl0rIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CiNbc3RkZXJyXSsg
Y2FzZSAkd2hlcmUgaW4KI1tzdGRlcnJdKyBidWlsZD0nLi9bJwojW3N0ZGVycl0rIGRlc3Q9L3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2sKI1tzdGRlcnJd
KyBjZCAnLi9bJwojW3N0ZGVycl0rIHI9b2sKI1tzdGRlcnJdKyAuLi9jb25maWd1cmUgLS1wcmVm
aXggJy9bLXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAv
dXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgc2xlZXAgc3VwcG9ydHMgZnJhY3Rp
b25hbCBzZWNvbmRzLi4uIHllcwpjaGVja2luZyBmaWxlc3lzdGVtIHRpbWVzdGFtcCByZXNvbHV0
aW9uLi4uIDAuMDEKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4u
IHllcwpjaGVja2luZyBmb3IgYSByYWNlLWZyZWUgbWtkaXIgLXAuLi4gbWtkaXIgLXAKY2hlY2tp
bmcgZm9yIGdhd2suLi4gbm8KY2hlY2tpbmcgZm9yIG1hd2suLi4gbm8KY2hlY2tpbmcgZm9yIG5h
d2suLi4gbm8KY2hlY2tpbmcgZm9yIGF3ay4uLiBhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNl
dHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2
YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHhhcmdzIC1uIHdvcmtzLi4uIHllcwpjaGVja2luZyB3
aGV0aGVyIFVJRCAnNTAxJyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVj
a2luZyB3aGV0aGVyIEdJRCAnMjAnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVz
CmNoZWNraW5nIGhvdyB0byBjcmVhdGUgYSB1c3RhciB0YXIgYXJjaGl2ZS4uLiBwbGFpbnRhcgpj
aGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdv
cmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5h
bWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tp
bmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZm
aXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB0aGUgY29tcGlsZXIgc3Vw
cG9ydHMgR05VIEMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVz
CmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGVuYWJsZSBDMjMgZmVhdHVyZXMuLi4gLXN0ZD1n
bnUyMwpjaGVja2luZyB3aGV0aGVyIGdjYyAtc3RkPWdudTIzIHVuZGVyc3RhbmRzIC1jIGFuZCAt
byB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNs
dWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHls
ZSBvZiBnY2MgLXN0ZD1nbnUyMy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2lu
ZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4u
LiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29u
ZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmln
LnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZp
bGVzIGNvbW1hbmRzCiNbc3RkZXJyXSsgbWFrZSBhbGwKZ2NjIC1zdGQ9Z251MjMgLURQQUNLQUdF
X05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF
X1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNL
QUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3Bj
XCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1E
IC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAt
ZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgLXN0ZD1nbnUyMyAgLWcgLU8y
ICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3Vi
L25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3Igc3ViL2xpYmJhc2Uu
YSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFy
IGNyIHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQojW3N0
ZGVycl0rIERFU1RESVI9L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LWxxYnJhY2sKI1tzdGRlcnJdKyBmaWxlPScuL1snCiNbc3RkZXJyXSsgbWFrZSB0ZXN0LWluc3QK
bWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL1snCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9z
dWIvYmFzZS5zaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxx
YnJhY2svWy1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwg
LWMgLW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28nCiAoIGNkICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28nICYmIHJhbmxp
YiBsaWJiYXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1
Yi9iYXNlICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFj
ay9bLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2Zvby9zdWIv
JwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28vc3ViLycKIG1r
ZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFj
ay9bLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwg
LWMgLW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2Zvby9zdWInCiAoIGNkICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28nICYm
IHJhbmxpYiBzdWIvbGlibm9iYXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9t
YWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2ZvbycKIG1rZGlyIC1wICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZp
eC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2Zvby9zdWIv
JwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1s
cWJyYWNrL1stcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9i
YXNlLmRhdCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJh
Y2svWy1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg
LW0gNjQ0IC4uL3N1Yi9iYXNlLmggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28nCiBta2RpciAt
cCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1w
cmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNl
LmRhdCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2sv
Wy1wcmVmaXgvZm9vL3N1YicKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy1wcmVmaXgvZm9vL3N1
YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy91c3IvbG9j
YWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1stcHJlZml4L2Zvby9z
dWInCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90
L2luc3RzcGMuZGlyL1snCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LWxxYnJhY2svLi9bLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEg
LWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrLy4v
Wy1wcmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrLy4vWy1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAg
IC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay8u
L1stcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay8uL1stcHJlZml4L2Zvby9ub2Jhc2Uu
ZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1scWJyYWNrLy4vWy1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrLy4vWy1wcmVmaXgvZm9vL3N1
Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWxxYnJhY2svLi9bLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrLy4vWy1wcmVm
aXgvZm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LWxxYnJhY2svLi9bLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1m
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay8uL1st
cHJlZml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LWxxYnJhY2svLi9bLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay8uL1stcHJl
Zml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svLi9bLXByZWZpeC9mb28vbGlibm9iYXNlLmEn
CnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxx
YnJhY2svLi9bLXByZWZpeC9mb28vbGliYmFzZS5hJwojW3N0ZGVycl0rIGRlc2NyaXB0aW9uPSds
cWJyYWNrIGluIGJ1aWxkZGlyJwojW3N0ZGVycl0rIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgbHFi
cmFjawojW3N0ZGVycl0rIGNhc2UgJDEgaW4KI1tzdGRlcnJdKyBpc19pbl9saXN0IGxxYnJhY2sg
c3F1b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZl
ZWQgcXVhZHJpZ3JhcGgwIGFfbGZfYgojW3N0ZGVycl0rIGl0ZW09bHFicmFjawojW3N0ZGVycl0r
IHNoaWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0
ZGVycl0rIGRpcmVjdGl2ZT0KI1tzdGRlcnJdKyByZWFzb249CiNbc3RkZXJyXSsgcmVzdWx0XyBv
ayAtRCAnJyAtciAnJyAtLSAnbHFicmFjayBpbiBidWlsZGRpcicKI1tzdGRlcnJdKyBzZXQgK3gK
I1tzdGRlcnJdKyBjZCAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyCiNbc3Rk
ZXJyXSsgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBhbV9rZWVwaW5nX3Rlc3Rk
aXJzCiNbc3RkZXJyXSsgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgojW3N0ZGVycl0rIHJldHVybiAx
CiNbc3RkZXJyXSsgdGVzdCBvayA9IG9rCm9rIDUxIC0gbHFicmFjayBpbiBidWlsZGRpcgpQQVNT
OiB0L2luc3RzcGMudGFwIDUxIC0gbHFicmFjayBpbiBidWlsZGRpcgojW3N0ZGVycl0rIHJtX3Jm
XyAnLi9bJyAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFj
awojW3N0ZGVycl0rIHRlc3QgMiAtZ3QgMAojW3N0ZGVycl0rIGNobW9kIC1SIHUrcnd4ICcuL1sn
IC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrCiNbc3Rk
ZXJyXSsgcm0gLXJmICcuL1snIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1scWJyYWNrCiNbc3RkZXJyXSsgX2FtX3JtcmZfc3RhdHVzPTAKI1tzdGRlcnJdKyBmb3Ig
X2FtX3JtcmZfdiBpbiAnIiRAIicKI1tzdGRlcnJdKyB0ZXN0IC1lICcuL1snCiNbc3RkZXJyXSsg
Zm9yIF9hbV9ybXJmX3YgaW4gJyIkQCInCiNbc3RkZXJyXSsgdGVzdCAtZSAvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjawojW3N0ZGVycl0rIHJldHVybiAw
CiNbc3RkZXJyXSsgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkICdzZXQgLWUuJwojW3N0ZGVycl0r
IGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CiNbc3RkZXJyXSsgY2FzZSAkd2hlcmUgaW4KI1tzdGRl
cnJdKyBidWlsZD1idWlsZC1scWJyYWNrCiNbc3RkZXJyXSsgZGVzdD0nL3Vzci9sb2NhbC9zcmMv
YXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWycKI1tzdGRlcnJdKyBta2RpciBi
dWlsZC1scWJyYWNrCiNbc3RkZXJyXSsgY2QgYnVpbGQtbHFicmFjawojW3N0ZGVycl0rIHI9b2sK
I1tzdGRlcnJdKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy9bLXByZWZpeCcKY2hlY2tpbmcgZm9y
IGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5n
IHdoZXRoZXIgc2xlZXAgc3VwcG9ydHMgZnJhY3Rpb25hbCBzZWNvbmRzLi4uIHllcwpjaGVja2lu
ZyBmaWxlc3lzdGVtIHRpbWVzdGFtcCByZXNvbHV0aW9uLi4uIDAuMDEKY2hlY2tpbmcgd2hldGhl
ciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSByYWNlLWZy
ZWUgbWtkaXIgLXAuLi4gbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gbm8KY2hlY2tpbmcg
Zm9yIG1hd2suLi4gbm8KY2hlY2tpbmcgZm9yIG5hd2suLi4gbm8KY2hlY2tpbmcgZm9yIGF3ay4u
LiBhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcg
d2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHhh
cmdzIC1uIHdvcmtzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIFVJRCAnNTAxJyBpcyBzdXBwb3J0
ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIEdJRCAnMjAnIGlzIHN1
cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVzCmNoZWNraW5nIGhvdyB0byBjcmVhdGUgYSB1
c3RhciB0YXIgYXJjaGl2ZS4uLiBwbGFpbnRhcgpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVj
a2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBj
b21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1
ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29t
cGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hl
Y2tpbmcgd2hldGhlciB0aGUgY29tcGlsZXIgc3VwcG9ydHMgR05VIEMuLi4geWVzCmNoZWNraW5n
IHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRv
IGVuYWJsZSBDMjMgZmVhdHVyZXMuLi4gLXN0ZD1nbnUyMwpjaGVja2luZyB3aGV0aGVyIGdjYyAt
c3RkPWdudTIzIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcg
d2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBz
dHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MgLXN0ZD1nbnUyMy4uLiBnY2Mz
CmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZh
Y2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5l
cmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBj
cmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUK
Y29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCiNbc3RkZXJyXSsgbWFr
ZSBhbGwKZ2NjIC1zdGQ9Z251MjMgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdF
X1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0Vf
U1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FH
RV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1J
Li4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAt
YyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3Nv
dXJjZS5QbwpnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApn
Y2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1
Yi9saWJiYXNlLmEKYXIgY3Igc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJi
YXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNyIHN1Yi9saWJub2Jhc2UuYSBzb3VyY2Uu
byAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQojW3N0ZGVycl0rIERFU1RESVI9Jy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1snCiNbc3RkZXJyXSsgZmls
ZT0nLi9bJwojW3N0ZGVycl0rIG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVj
dG9yeSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9idWlsZC1scWJyYWNr
JwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1s
cWJyYWNrL1svWy1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5z
aCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9b
LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1t
IDY0NCAgc3ViL2xpYmJhc2UuYSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9mb28nCiAoIGNkICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bL1stcHJlZml4L2ZvbycgJiYgcmFubGli
IGxpYmJhc2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBz
dWIvYmFzZSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJh
Y2svWy9bLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9m
b28vc3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9mb28v
c3ViLycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rl
c3QtbHFicmFjay9bL1stcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bL1stcHJlZml4L2Zvby9zdWInCiAvdXNy
L2Jpbi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bL1stcHJlZml4L2Zvby9zdWInCiAo
IGNkICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9b
L1stcHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiBta2RpciAtcCAnL3Vz
ci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZp
eC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LWxxYnJhY2svWy9bLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1
Yi9ub2Jhc2UgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJy
YWNrL1svWy1wcmVmaXgvZm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9p
bnN0YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91
c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svWy1wcmVm
aXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9m
b28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LWxxYnJhY2svWy9bLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9mb28vc3ViJwogL3Vzci9i
aW4vaW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bL1stcHJlZml4L2Zvby9zdWInCiBt
a2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJh
Y2svWy9bLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9p
bnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5z
dGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy9bLXByZWZpeC9mb28vc3ViJwptYWtlWzFdOiBM
ZWF2aW5nIGRpcmVjdG9yeSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9i
dWlsZC1scWJyYWNrJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1scWJyYWNrL1svLi9bLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEg
LWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1sv
Li9bLXByZWZpeC9mb28vbm9iYXNlLmgnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy8uL1stcHJlZml4L2Zvby9iYXNlLmgnCnRl
c3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJh
Y2svWy8uL1stcHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvdXNyL2xvY2Fs
L3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLy4vWy1wcmVmaXgvZm9v
L25vYmFzZS5kYXQnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LWxxYnJhY2svWy8uL1stcHJlZml4L2Zvby9iYXNlLmRhdCcKdGVzdCAgIC1mICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLy4vWy1w
cmVmaXgvZm9vL3N1Yi9ub2Jhc2Uuc2gnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21h
a2UvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy8uL1stcHJlZml4L2Zvby9ub2Jhc2Uuc2gn
CnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxx
YnJhY2svWy8uL1stcHJlZml4L2Zvby9iYXNlLnNoJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJyYWNrL1svLi9bLXByZWZpeC9mb28vc3Vi
L25vYmFzZScKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGly
L2Rlc3QtbHFicmFjay9bLy4vWy1wcmVmaXgvZm9vL25vYmFzZScKdGVzdCAgIC1mICcvdXNyL2xv
Y2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLy4vWy1wcmVmaXgv
Zm9vL2Jhc2UnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LWxxYnJhY2svWy8uL1stcHJlZml4L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAt
ZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWy8u
L1stcHJlZml4L2Zvby9saWJub2Jhc2UuYScKdGVzdCAgIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtbHFicmFjay9bLy4vWy1wcmVmaXgvZm9vL2xpYmJhc2Uu
YScKI1tzdGRlcnJdKyBkZXNjcmlwdGlvbj0nbHFicmFjayBpbiBkZXN0ZGlyJwojW3N0ZGVycl0r
IGV4cGVjdGVkX3RvX2ZhaWwgZGVzdCBscWJyYWNrCiNbc3RkZXJyXSsgY2FzZSAkMSBpbgojW3N0
ZGVycl0rIGlzX2luX2xpc3QgbHFicmFjayBzcXVvdGUgZHF1b3RlIGJxdW90ZSBzaGFycCBkb2xs
YXIgbGluZWZlZWQgYV9sZl9iCm9rIDUyIC0gbHFicmFjayBpbiBkZXN0ZGlyClBBU1M6IHQvaW5z
dHNwYy50YXAgNTIgLSBscWJyYWNrIGluIGRlc3RkaXIKI1tzdGRlcnJdKyBpdGVtPWxxYnJhY2sK
I1tzdGRlcnJdKyBzaGlmdAojW3N0ZGVycl0rIGNhc2UgIiAkKiAiIGluCiNbc3RkZXJyXSsgcmV0
dXJuIDEKI1tzdGRlcnJdKyBkaXJlY3RpdmU9CiNbc3RkZXJyXSsgcmVhc29uPQojW3N0ZGVycl0r
IHJlc3VsdF8gb2sgLUQgJycgLXIgJycgLS0gJ2xxYnJhY2sgaW4gZGVzdGRpcicKI1tzdGRlcnJd
KyBzZXQgK3gKI1tzdGRlcnJdKyBjZCAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyCiNbc3RkZXJyXSsgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBhbV9rZWVw
aW5nX3Rlc3RkaXJzCiNbc3RkZXJyXSsgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgojW3N0ZGVycl0r
IHJldHVybiAxCiNbc3RkZXJyXSsgdGVzdCBvayA9IG9rCiNbc3RkZXJyXSsgcm1fcmZfIGJ1aWxk
LWxxYnJhY2sgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1scWJy
YWNrL1snCiNbc3RkZXJyXSsgdGVzdCAyIC1ndCAwCiNbc3RkZXJyXSsgY2htb2QgLVIgdStyd3gg
YnVpbGQtbHFicmFjayAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LWxxYnJhY2svWycKI1tzdGRlcnJdKyBybSAtcmYgYnVpbGQtbHFicmFjayAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LWxxYnJhY2svWycKI1tzdGRlcnJdKyBfYW1f
cm1yZl9zdGF0dXM9MAojW3N0ZGVycl0rIGZvciBfYW1fcm1yZl92IGluICciJEAiJwojW3N0ZGVy
cl0rIHRlc3QgLWUgYnVpbGQtbHFicmFjawojW3N0ZGVycl0rIGZvciBfYW1fcm1yZl92IGluICci
JEAiJwojW3N0ZGVycl0rIHRlc3QgLWUgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1scWJyYWNrL1snCiNbc3RkZXJyXSsgcmV0dXJuIDAKI1tzdGRlcnJdKyA6IEZv
ciBzaGVsbHMgd2l0aCBidXN0ZWQgJ3NldCAtZS4nCiNbc3RkZXJyXSsgZm9yIHRlc3RfbmFtZSBp
biAnJHRlc3RfbmFtZXNfbGlzdCcKI1tzdGRlcnJdKyBldmFsICd0ZXN0X3N0cmluZz0ke2luc3Rz
cGNfX3JxYnJhY2t9JwojW3N0ZGVycl0rKyB0ZXN0X3N0cmluZz0nXScKI1tzdGRlcnJdKyB0ZXN0
ICd4XScgPSB4CiNbc3RkZXJyXSsgbWtkaXIgJy4vXScKI1tzdGRlcnJdKyBjYXNlICR0ZXN0X3N0
cmluZyBpbgojW3N0ZGVycl0rIGZvciB3aGVyZSBpbiBidWlsZCBkZXN0CiNbc3RkZXJyXSsgY2Fz
ZSAkd2hlcmUgaW4KI1tzdGRlcnJdKyBidWlsZD0nLi9dJwojW3N0ZGVycl0rIGRlc3Q9L3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2sKI1tzdGRlcnJdKyBj
ZCAnLi9dJwojW3N0ZGVycl0rIHI9b2sKI1tzdGRlcnJdKyAuLi9jb25maWd1cmUgLS1wcmVmaXgg
Jy9dLXByZWZpeCcKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNy
L2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgc2xlZXAgc3VwcG9ydHMgZnJhY3Rpb25h
bCBzZWNvbmRzLi4uIHllcwpjaGVja2luZyBmaWxlc3lzdGVtIHRpbWVzdGFtcCByZXNvbHV0aW9u
Li4uIDAuMDEKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHll
cwpjaGVja2luZyBmb3IgYSByYWNlLWZyZWUgbWtkaXIgLXAuLi4gbWtkaXIgLXAKY2hlY2tpbmcg
Zm9yIGdhd2suLi4gbm8KY2hlY2tpbmcgZm9yIG1hd2suLi4gbm8KY2hlY2tpbmcgZm9yIG5hd2su
Li4gbm8KY2hlY2tpbmcgZm9yIGF3ay4uLiBhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMg
JChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJp
YWJsZXMuLi4geWVzCmNoZWNraW5nIHhhcmdzIC1uIHdvcmtzLi4uIHllcwpjaGVja2luZyB3aGV0
aGVyIFVJRCAnNTAxJyBpcyBzdXBwb3J0ZWQgYnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVja2lu
ZyB3aGV0aGVyIEdJRCAnMjAnIGlzIHN1cHBvcnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVzCmNo
ZWNraW5nIGhvdyB0byBjcmVhdGUgYSB1c3RhciB0YXIgYXJjaGl2ZS4uLiBwbGFpbnRhcgpjaGVj
a2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtz
Li4uIHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUu
Li4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcg
d2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXgg
b2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB0aGUgY29tcGlsZXIgc3VwcG9y
dHMgR05VIEMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNo
ZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGVuYWJsZSBDMjMgZmVhdHVyZXMuLi4gLXN0ZD1nbnUy
MwpjaGVja2luZyB3aGV0aGVyIGdjYyAtc3RkPWdudTIzIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0
b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRl
IGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHlsZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBv
ZiBnY2MgLXN0ZD1nbnUyMy4uLiBnY2MzCmNoZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0
aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2UuLi4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiBy
YW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmln
dXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0
YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVz
IGNvbW1hbmRzCiNbc3RkZXJyXSsgbWFrZSBhbGwKZ2NjIC1zdGQ9Z251MjMgLURQQUNLQUdFX05B
TUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZF
UlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdF
X0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIg
LURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4gICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1N
UCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAtbyBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAu
ZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJjZS5QbwpnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAg
LW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL25v
YmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9saWJiYXNlLmEKYXIgY3Igc3ViL2xpYmJhc2UuYSBz
b3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNlLmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNy
IHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJub2Jhc2UuYQojW3N0ZGVy
cl0rIERFU1RESVI9L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJx
YnJhY2sKI1tzdGRlcnJdKyBmaWxlPScuL10nCiNbc3RkZXJyXSsgbWFrZSB0ZXN0LWluc3QKbWFr
ZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL10nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIv
YmFzZS5zaCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJh
Y2svXS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5z
dHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMg
LW0gNjQ0ICBzdWIvbGliYmFzZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMu
ZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28nCiAoIGNkICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28nICYmIHJhbmxpYiBs
aWJiYXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5k
aXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2ZvbycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9i
YXNlICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9d
LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2Zvby9zdWIvJwog
L3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvbm9iYXNlLnNoICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28vc3ViLycKIG1rZGly
IC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9d
LXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMg
LW0gNjQ0ICBzdWIvbGlibm9iYXNlLmEgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2Zvby9zdWInCiAoIGNkICcvdXNyL2xvY2FsL3Ny
Yy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28nICYmIHJh
bmxpYiBzdWIvbGlibm9iYXNlLmEgKQogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtl
L3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9m
b28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9ub2Jhc2UgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2Zvby9zdWIvJwog
bWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJy
YWNrL10tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0IC4uL3N1Yi9iYXNl
LmRhdCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2sv
XS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNw
Yy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2ZvbycKIC91c3IvYmluL2luc3RhbGwgLWMgLW0g
NjQ0IC4uL3N1Yi9iYXNlLmggJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIv
ZGVzdC1ycWJyYWNrL10tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28nCiBta2RpciAtcCAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS1wcmVm
aXgvZm9vL3N1YicKIC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmRh
dCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS1w
cmVmaXgvZm9vL3N1YicKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3Rz
cGMuZGlyL2Rlc3QtcnFicmFjay9dLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS1wcmVmaXgvZm9vL3N1YicK
IC91c3IvYmluL2luc3RhbGwgLWMgLW0gNjQ0ICAuLi9zdWIvbm9iYXNlLmggJy91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10tcHJlZml4L2Zvby9zdWIn
Cm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2lu
c3RzcGMuZGlyL10nCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LXJxYnJhY2svLi9dLXByZWZpeC9mb28vc3ViL25vYmFzZS5oJwp0ZXN0ICEgLWYg
Jy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrLy4vXS1w
cmVmaXgvZm9vL25vYmFzZS5oJwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrLy4vXS1wcmVmaXgvZm9vL2Jhc2UuaCcKdGVzdCAgIC1m
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay8uL10t
cHJlZml4L2Zvby9zdWIvbm9iYXNlLmRhdCcKdGVzdCAhIC1mICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay8uL10tcHJlZml4L2Zvby9ub2Jhc2UuZGF0
Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1y
cWJyYWNrLy4vXS1wcmVmaXgvZm9vL2Jhc2UuZGF0Jwp0ZXN0ICAgLWYgJy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrLy4vXS1wcmVmaXgvZm9vL3N1Yi9u
b2Jhc2Uuc2gnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LXJxYnJhY2svLi9dLXByZWZpeC9mb28vbm9iYXNlLnNoJwp0ZXN0ICAgLWYgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrLy4vXS1wcmVmaXgv
Zm9vL2Jhc2Uuc2gnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3Bj
LmRpci9kZXN0LXJxYnJhY2svLi9dLXByZWZpeC9mb28vc3ViL25vYmFzZScKdGVzdCAhIC1mICcv
dXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay8uL10tcHJl
Zml4L2Zvby9ub2Jhc2UnCnRlc3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LXJxYnJhY2svLi9dLXByZWZpeC9mb28vYmFzZScKdGVzdCAgIC1mICcvdXNy
L2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay8uL10tcHJlZml4
L2Zvby9zdWIvbGlibm9iYXNlLmEnCnRlc3QgISAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svLi9dLXByZWZpeC9mb28vbGlibm9iYXNlLmEnCnRl
c3QgICAtZiAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJh
Y2svLi9dLXByZWZpeC9mb28vbGliYmFzZS5hJwojW3N0ZGVycl0rIGRlc2NyaXB0aW9uPSdycWJy
YWNrIGluIGJ1aWxkZGlyJwojW3N0ZGVycl0rIGV4cGVjdGVkX3RvX2ZhaWwgYnVpbGQgcnFicmFj
awojW3N0ZGVycl0rIGNhc2UgJDEgaW4KI1tzdGRlcnJdKyBpc19pbl9saXN0IHJxYnJhY2sgc3F1
b3RlIGRxdW90ZSBicXVvdGUgc2hhcnAgZG9sbGFyIGJzbGFzaCBhbXBlcnNhbmQgbGluZWZlZWQg
cXVhZHJpZ3JhcGgwIGFfbGZfYgojW3N0ZGVycl0rIGl0ZW09cnFicmFjawojW3N0ZGVycl0rIHNo
aWZ0CiNbc3RkZXJyXSsgY2FzZSAiICQqICIgaW4KI1tzdGRlcnJdKyByZXR1cm4gMQojW3N0ZGVy
cl0rIGRpcmVjdGl2ZT0KI1tzdGRlcnJdKyByZWFzb249CiNbc3RkZXJyXSsgcmVzdWx0XyBvayAt
RCAnJyAtciAnJyAtLSAncnFicmFjayBpbiBidWlsZGRpcicKI1tzdGRlcnJdKyBzZXQgK3gKI1tz
dGRlcnJdKyBjZCAvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyCiNbc3RkZXJy
XSsgbm90IGFtX2tlZXBpbmdfdGVzdGRpcnMKI1tzdGRlcnJdKyBhbV9rZWVwaW5nX3Rlc3RkaXJz
CiNbc3RkZXJyXSsgY2FzZSAka2VlcF90ZXN0ZGlycyBpbgojW3N0ZGVycl0rIHJldHVybiAxCiNb
c3RkZXJyXSsgdGVzdCBvayA9IG9rCiNbc3RkZXJyXSsgcm1fcmZfICcuL10nIC91c3IvbG9jYWwv
c3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrCiNbc3RkZXJyXSsgdGVzdCAy
IC1ndCAwCiNbc3RkZXJyXSsgY2htb2QgLVIgdStyd3ggJy4vXScgL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2sKb2sgNTMgLSBycWJyYWNrIGluIGJ1aWxk
ZGlyClBBU1M6IHQvaW5zdHNwYy50YXAgNTMgLSBycWJyYWNrIGluIGJ1aWxkZGlyCiNbc3RkZXJy
XSsgcm0gLXJmICcuL10nIC91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVz
dC1ycWJyYWNrCiNbc3RkZXJyXSsgX2FtX3JtcmZfc3RhdHVzPTAKI1tzdGRlcnJdKyBmb3IgX2Ft
X3JtcmZfdiBpbiAnIiRAIicKI1tzdGRlcnJdKyB0ZXN0IC1lICcuL10nCiNbc3RkZXJyXSsgZm9y
IF9hbV9ybXJmX3YgaW4gJyIkQCInCiNbc3RkZXJyXSsgdGVzdCAtZSAvdXNyL2xvY2FsL3NyYy9h
dXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjawojW3N0ZGVycl0rIHJldHVybiAwCiNb
c3RkZXJyXSsgOiBGb3Igc2hlbGxzIHdpdGggYnVzdGVkICdzZXQgLWUuJwojW3N0ZGVycl0rIGZv
ciB3aGVyZSBpbiBidWlsZCBkZXN0CiNbc3RkZXJyXSsgY2FzZSAkd2hlcmUgaW4KI1tzdGRlcnJd
KyBidWlsZD1idWlsZC1ycWJyYWNrCiNbc3RkZXJyXSsgZGVzdD0nL3Vzci9sb2NhbC9zcmMvYXV0
b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXScKI1tzdGRlcnJdKyBta2RpciBidWls
ZC1ycWJyYWNrCiNbc3RkZXJyXSsgY2QgYnVpbGQtcnFicmFjawojW3N0ZGVycl0rIHI9b2sKI1tz
dGRlcnJdKyAuLi9jb25maWd1cmUgLS1wcmVmaXggJy9dLXByZWZpeCcKY2hlY2tpbmcgZm9yIGEg
QlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAvdXNyL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdo
ZXRoZXIgc2xlZXAgc3VwcG9ydHMgZnJhY3Rpb25hbCBzZWNvbmRzLi4uIHllcwpjaGVja2luZyBm
aWxlc3lzdGVtIHRpbWVzdGFtcCByZXNvbHV0aW9uLi4uIDAuMDEKY2hlY2tpbmcgd2hldGhlciBi
dWlsZCBlbnZpcm9ubWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSByYWNlLWZyZWUg
bWtkaXIgLXAuLi4gbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gbm8KY2hlY2tpbmcgZm9y
IG1hd2suLi4gbm8KY2hlY2tpbmcgZm9yIG5hd2suLi4gbm8KY2hlY2tpbmcgZm9yIGF3ay4uLiBh
d2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4uLiB5ZXMKY2hlY2tpbmcgd2hl
dGhlciBtYWtlIHN1cHBvcnRzIG5lc3RlZCB2YXJpYWJsZXMuLi4geWVzCmNoZWNraW5nIHhhcmdz
IC1uIHdvcmtzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIFVJRCAnNTAxJyBpcyBzdXBwb3J0ZWQg
YnkgdXN0YXIgZm9ybWF0Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIEdJRCAnMjAnIGlzIHN1cHBv
cnRlZCBieSB1c3RhciBmb3JtYXQuLi4geWVzCmNoZWNraW5nIGhvdyB0byBjcmVhdGUgYSB1c3Rh
ciB0YXIgYXJjaGl2ZS4uLiBwbGFpbnRhcgpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2lu
ZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3IgQyBjb21w
aWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5vdXQKY2hlY2tpbmcgZm9yIHN1ZmZp
eCBvZiBleGVjdXRhYmxlcy4uLiAKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGls
aW5nLi4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tp
bmcgd2hldGhlciB0aGUgY29tcGlsZXIgc3VwcG9ydHMgR05VIEMuLi4geWVzCmNoZWNraW5nIHdo
ZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGVu
YWJsZSBDMjMgZmVhdHVyZXMuLi4gLXN0ZD1nbnUyMwpjaGVja2luZyB3aGV0aGVyIGdjYyAtc3Rk
PWdudTIzIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlci4uLiB5ZXMKY2hlY2tpbmcgd2hl
dGhlciBtYWtlIHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2ZS4uLiB5ZXMgKEdOVSBzdHls
ZSkKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MgLXN0ZD1nbnUyMy4uLiBnY2MzCmNo
ZWNraW5nIGZvciBhci4uLiBhcgpjaGVja2luZyB0aGUgYXJjaGl2ZXIgKGFyKSBpbnRlcmZhY2Uu
Li4gYXIKY2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgdGhhdCBnZW5lcmF0
ZWQgZmlsZXMgYXJlIG5ld2VyIHRoYW4gY29uZmlndXJlLi4uIGRvbmUKY29uZmlndXJlOiBjcmVh
dGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29u
ZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCiNbc3RkZXJyXSsgbWFrZSBh
bGwKZ2NjIC1zdGQ9Z251MjMgLURQQUNLQUdFX05BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1RB
Uk5BTUU9XCJpbnN0c3BjXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RS
SU5HPVwiaW5zdHNwY1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cIlwiIC1EUEFDS0FHRV9V
Ukw9XCJcIiAtRFBBQ0tBR0U9XCJpbnN0c3BjXCIgLURWRVJTSU9OPVwiMS4wXCIgLUkuIC1JLi4g
ICAgIC1nIC1PMiAtTVQgc291cmNlLm8gLU1EIC1NUCAtTUYgLmRlcHMvc291cmNlLlRwbyAtYyAt
byBzb3VyY2UubyAuLi9zb3VyY2UuYwptdiAtZiAuZGVwcy9zb3VyY2UuVHBvIC5kZXBzL3NvdXJj
ZS5QbwpnY2MgLXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL2Jhc2Ugc291cmNlLm8gIApnY2Mg
LXN0ZD1nbnUyMyAgLWcgLU8yICAgLW8gc3ViL25vYmFzZSBzb3VyY2UubyAgCnJtIC1mIHN1Yi9s
aWJiYXNlLmEKYXIgY3Igc3ViL2xpYmJhc2UuYSBzb3VyY2UubyAKcmFubGliIHN1Yi9saWJiYXNl
LmEKcm0gLWYgc3ViL2xpYm5vYmFzZS5hCmFyIGNyIHN1Yi9saWJub2Jhc2UuYSBzb3VyY2UubyAK
cmFubGliIHN1Yi9saWJub2Jhc2UuYQojW3N0ZGVycl0rIERFU1RESVI9Jy91c3IvbG9jYWwvc3Jj
L2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10nCiNbc3RkZXJyXSsgZmlsZT0n
Li9dJwojW3N0ZGVycl0rIG1ha2UgdGVzdC1pbnN0Cm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9y
eSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9idWlsZC1ycWJyYWNrJwog
bWtkaXIgLXAgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJy
YWNrL10vXS1wcmVmaXgvZm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAuLi9zdWIvYmFzZS5zaCAn
L3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXBy
ZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LXJxYnJhY2svXS9dLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0YWxsIC1jIC1tIDY0
NCAgc3ViL2xpYmJhc2UuYSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9k
ZXN0LXJxYnJhY2svXS9dLXByZWZpeC9mb28nCiAoIGNkICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dL10tcHJlZml4L2ZvbycgJiYgcmFubGliIGxp
YmJhc2UuYSApCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRp
ci9kZXN0LXJxYnJhY2svXS9dLXByZWZpeC9mb28nCiAgL3Vzci9iaW4vaW5zdGFsbCAtYyBzdWIv
YmFzZSAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2sv
XS9dLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZpeC9mb28v
c3ViLycKIC91c3IvYmluL2luc3RhbGwgLWMgLi4vc3ViL25vYmFzZS5zaCAnL3Vzci9sb2NhbC9z
cmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZpeC9mb28vc3Vi
LycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3Qt
cnFicmFjay9dL10tcHJlZml4L2ZvbycKIG1rZGlyIC1wICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFr
ZS90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dL10tcHJlZml4L2Zvby9zdWInCiAvdXNyL2Jp
bi9pbnN0YWxsIC1jIC1tIDY0NCAgc3ViL2xpYm5vYmFzZS5hICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dL10tcHJlZml4L2Zvby9zdWInCiAoIGNk
ICcvdXNyL2xvY2FsL3NyYy9hdXRvbWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dL10t
cHJlZml4L2ZvbycgJiYgcmFubGliIHN1Yi9saWJub2Jhc2UuYSApCiBta2RpciAtcCAnL3Vzci9s
b2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZpeC9m
b28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0
LXJxYnJhY2svXS9dLXByZWZpeC9mb28vc3ViLycKICAvdXNyL2Jpbi9pbnN0YWxsIC1jIHN1Yi9u
b2Jhc2UgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNr
L10vXS1wcmVmaXgvZm9vL3N1Yi8nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZpeC9mb28nCiAvdXNyL2Jpbi9pbnN0
YWxsIC1jIC1tIDY0NCAuLi9zdWIvYmFzZS5kYXQgJy91c3IvbG9jYWwvc3JjL2F1dG9tYWtlL3Qv
aW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgvZm9vJwogbWtkaXIgLXAgJy91c3Iv
bG9jYWwvc3JjL2F1dG9tYWtlL3QvaW5zdHNwYy5kaXIvZGVzdC1ycWJyYWNrL10vXS1wcmVmaXgv
Zm9vJwogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgLi4vc3ViL2Jhc2UuaCAnL3Vzci9sb2Nh
bC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZpeC9mb28n
CiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJx
YnJhY2svXS9dLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2Uv
dC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4v
aW5zdGFsbCAtYyAtbSA2NDQgIC4uL3N1Yi9ub2Jhc2UuZGF0ICcvdXNyL2xvY2FsL3NyYy9hdXRv
bWFrZS90L2luc3RzcGMuZGlyL2Rlc3QtcnFicmFjay9dL10tcHJlZml4L2Zvby9zdWInCiBta2Rp
ciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0c3BjLmRpci9kZXN0LXJxYnJhY2sv
XS9dLXByZWZpeC9mb28nCiBta2RpciAtcCAnL3Vzci9sb2NhbC9zcmMvYXV0b21ha2UvdC9pbnN0
c3BjLmRpci9kZXN0LXJxYnJhY2svXS9dLXByZWZpeC9mb28vc3ViJwogL3Vzci9iaW4vaW5zdGFs