Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Jul 2015 02:02:59 +1030
From:      Michael Vale <m.vale@live.com.au>
To:        "freebsd-embedded@freebsd.org" <freebsd-embedded@freebsd.org>
Subject:   FW: Cross Ports - working - find attached bsd.port.mk
Message-ID:  <COL130-W7946C2AFDB176DB0DF2BB0C49F0@phx.gbl>
In-Reply-To: <COL130-W6FB5D38826E76368EA830C49F0@phx.gbl>
References:  <COL130-W6FB5D38826E76368EA830C49F0@phx.gbl>

next in thread | previous in thread | raw e-mail | index | archive | help
--_01f8a305-7abb-45a1-bdd8-ecc1d92c2c95_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable



From: m.vale@live.com.au
To: freebsd-mips@freebsd.org
Subject: Cross Ports - working - find attached bsd.port.mk
Date: Sat=2C 11 Jul 2015 02:01:24 +1030

=0A=
=0A=
=0A=
Okay=2C
So=2C I'm submitting my work on cross ports.
Here's what works and what doesn't work
Clang support is there but GNU configure tries to append -march=3Dmips32r2 =
to the command which causes the compiler check to fail.
GCC support is there=2C except when a GNU configure script tries to link -l=
gcc_s - apparently Adrian and bapt were meant to have fixed this in -head=
=2C but I updated and still had the problem.
So an example of the ports I've tried and worked are:
sysutils/busyboxsecurity/dropbear
Now when running bmake X_BUILD_FOR=3Dmips on dropbear=2C it fails "installi=
ng" files into the stage.  But if you run bmake again without X_BUILD_FOR=
=3Dmips it "installs" those files into stage and one can continue along wit=
h bmake install.
It is assumed that one has built a world with freebsd-wifi-build.
An example of running a bmake is
SRCDIR=3D/home/masked/work/src bmake X_BUILD_FOR=3Dmips

 		 	   		   		 	   		  =

--_01f8a305-7abb-45a1-bdd8-ecc1d92c2c95_
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="bsd.port.mk"

Iy0qLSB0YWItd2lkdGg6IDQ7IC0qLQojIGV4OnRzPTQKIwojICRGcmVlQlNEOiBoZWFkL01rL2Jz
ZC5wb3J0Lm1rIDM5MTI5NSAyMDE1LTA3LTA0IDA4OjU2OjU0WiBiYXB0ICQKIwkkTmV0QlNEOiAk
CiMKIwlic2QucG9ydC5tayAtIDk0MDgyMCBKb3JkYW4gSy4gSHViYmFyZC4KIwlUaGlzIGZpbGUg
aXMgaW4gdGhlIHB1YmxpYyBkb21haW4uCiMKIyBQbGVhc2UgdmlldyBtZSB3aXRoIDQgY29sdW1u
IHRhYnMhCgojIFRoaXMgaXMgdGhlIG1hc3RlciBmaWxlIGZvciB0aGUgbW9zdCBjb21tb24gZWxl
bWVudHMgdG8gYWxsIHBvcnQKIyBNYWtlZmlsZSBpbiB0aGUgcG9ydHMgc3lzdGVtLiAgRm9yIGEg
bW9yZSBnZW5lcmFsIG92ZXJ2aWV3IG9mIGl0cwojIHVzZSBhbmQgaW1wb3J0YW5jZSwgc2VlIHRo
ZSBQb3J0ZXIncyBIYW5kYm9vay4KCiMgVGhlcmUgYXJlIHR3byBkaWZmZXJlbnQgdHlwZXMgb2Yg
Im1haW50YWluZXJzIiBpbiB0aGUgcG9ydHMgZnJhbWV3b3JrLgojIFRoZSBtYWludGFpbmVyIGFs
aWFzIG9mIHRoZSBic2QucG9ydC5tayBmaWxlIGlzIGxpc3RlZCBiZWxvdyBpbiB0aGUKIyBGcmVl
QlNEX01BSU5UQUlORVIgZW50cnkuICBZb3Ugc2hvdWxkIGNvbnN1bHQgdGhlbSBpZiB5b3UgaGF2
ZSBhbnkKIyBxdWVzdGlvbnMvc3VnZ2VzdGlvbnMgcmVnYXJkaW5nIHRoaXMgZmlsZS4KIwojIERP
IE5PVCBDT01NSVQgQ0hBTkdFUyBUTyBUSElTIEZJTEUgQlkgWU9VUlNFTEYsIEVWRU4gSUYgWU9V
IERJRCBOT1QgR0VUCiMgQSBSRVNQT05TRSBGUk9NIFRIRSBNQUlOVEFJTkVSKFMpIFdJVEhJTiBB
IFJFQVNPTkFCTEUgVElNRUZSQU1FISBBTEwKIyBVTkFVVEhPUklTRUQgQ0hBTkdFUyBXSUxMIEJF
IFVOQ09ORElUSU9OQUxMWSBSRVZFUlRFRCEKCkZyZWVCU0RfTUFJTlRBSU5FUj0JcG9ydG1nckBG
cmVlQlNELm9yZwoKIyBGb3IgZWFjaCBwb3J0LCB0aGUgTUFJTlRBSU5FUiB2YXJpYWJsZSBpcyB3
aGF0IHlvdSBzaG91bGQgY29uc3VsdCBmb3IKIyBjb250YWN0IGluZm9ybWF0aW9uIG9uIHRoZSBw
ZXJzb24ocykgdG8gY29udGFjdCBpZiB5b3UgaGF2ZSBxdWVzdGlvbnMvCiMgc3VnZ2VzdGlvbnMg
YWJvdXQgdGhhdCBzcGVjaWZpYyBwb3J0LiAgQnkgZGVmYXVsdCAoaWYgbm8gTUFJTlRBSU5FUgoj
IGlzIGxpc3RlZCksIGEgcG9ydCBpcyBtYWludGFpbmVkIGJ5IHRoZSBzdWJzY3JpYmVycyBvZiB0
aGUgcG9ydHNARnJlZUJTRC5vcmcKIyBtYWlsaW5nIGxpc3QsIGFuZCBhbnkgY29ycmVzcG9uZGVu
Y2Ugc2hvdWxkIGJlIGRpcmVjdGVkIHRoZXJlLgojCiMgTUFJTlRBSU5FUgktIFRoZSBlLW1haWwg
YWRkcmVzcyBvZiB0aGUgY29udGFjdCBwZXJzb24gZm9yIHRoaXMgcG9ydC4KIwkJCQkgIERlZmF1
bHQ6IHBvcnRzQEZyZWVCU0Qub3JnCiMKIyBUaGVzZSBhcmUgbWV0YS12YXJpYWJsZXMgdGhhdCBh
cmUgYXV0b21hdGljYWxseSBzZXQgdG8gdGhlIHN5c3RlbQojIHlvdSBhcmUgcnVubmluZyBvbi4g
IFRoZXNlIGFyZSBwcm92aWRlZCBpbiBjYXNlIHlvdSBuZWVkIHRvIHRha2UKIyBkaWZmZXJlbnQg
YWN0aW9ucyBmb3IgZGlmZmVyZW50IHZhbHVlcy4KIwojIEFSQ0gJCQktIFRoZSBhcmNoaXRlY3R1
cmUgb2YgdGhlIHRhcmdldCBtYWNoaW5lLCBzdWNoIGFzIHdvdWxkIGJlCiMJCQkJICByZXR1cm5l
ZCBieSAidW5hbWUgLXAiLgojIE9QU1lTCQkJLSBQb3J0YWJpbGl0eSBjbGF1c2UuICBUaGlzIGlz
IHRoZSBvcGVyYXRpbmcgc3lzdGVtIHRoZQojCQkJCSAgbWFrZWZpbGUgaXMgYmVpbmcgdXNlZCBv
bi4gIEF1dG9tYXRpY2FsbHkgc2V0IHRvCiMJCQkJICAiRnJlZUJTRCwiICJOZXRCU0QsIiBvciAi
T3BlbkJTRCIgYXMgYXBwcm9wcmlhdGUuCiMgT1NSRUwJCQktIFRoZSByZWxlYXNlIHZlcnNpb24g
KG51bWVyaWMpIG9mIHRoZSBvcGVyYXRpbmcgc3lzdGVtLgojIE9TVkVSU0lPTgkJLSBUaGUgdmFs
dWUgb2YgX19GcmVlQlNEX3ZlcnNpb24uCiMKIyBUaGlzIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhl
IGxpc3Qgb2YgYWxsIHZhcmlhYmxlcyB0aGF0IG5lZWQgdG8gYmUKIyBkZWZpbmVkIGluIGEgcG9y
dCwgbGlzdGVkIGluIG9yZGVyIHRoYXQgdGhleSBzaG91bGQgYmUgaW5jbHVkZWQKIyB0byBmaXQg
aW4gd2l0aCBleGlzdGluZyBjb252ZW50aW9ucy4gIChFeGNlcHRpb246IE1BSU5UQUlORVIgYWN0
dWFsbHkKIyBzaG91bGQgYXBwZWFyIGFmdGVyIEVYVFJBQ1RfT05MWSBhbmQgYmVmb3JlIE1BU1RF
Ul9TSVRFX0JBQ0tVUCkuCiMKIyBUaGVzZSB2YXJpYWJsZXMgYXJlIHVzZWQgdG8gaWRlbnRpZnkg
eW91ciBwb3J0LgojCiMgUE9SVE5BTUUJCS0gTmFtZSBvZiBzb2Z0d2FyZS4gIE1hbmRhdG9yeS4K
IyBQT1JUVkVSU0lPTgktIFZlcnNpb24gb2Ygc29mdHdhcmUuICBNYW5kYXRvcnkgd2hlbiBubyBE
SVNUVkVSU0lPTiBpcyBnaXZlbi4KIyBQT1JUUkVWSVNJT04JLSBWZXJzaW9uIG9mIHBvcnQuICBP
cHRpb25hbC4gIENvbW1vbmx5IHVzZWQgdG8gaW5kaWNhdGUKIwkJCQkgIHRoYXQgYW4gdXBkYXRl
IGhhcyBoYXBwZW5lZCB0aGF0IGFmZmVjdHMgdGhlIHBvcnQKIwkJCQkgIGZyYW1ld29yayBpdHNl
bGYsIGJ1dCBub3QgdGhlIGRpc3RyaWJ1dGVkIHNvZnR3YXJlCiMJCQkJICAoZS5nLiwgbG9jYWwg
cGF0Y2hlcyBvciBNYWtlZmlsZSBjaGFuZ2VzKS4KIyBQT1JURVBPQ0gJCS0gT3B0aW9uYWwuICBJ
biBjZXJ0YWluIG9kZCBjYXNlcywgdGhlIFBPUlRSRVZJU0lPTiBsb2dpYwojCQkJCSAgY2FuIGJl
IGZvb2xlZCBieSBwb3J0cyB0aGF0IGFwcGVhciB0byBnbyBiYWNrd2FyZHMKIwkJCQkgIG51bWVy
aWNhbGx5IChlLmcuIGlmIHBvcnQtMC4zIGlzIG5ld2VyIHRoYW4gcG9ydC0xOTk4KS4KIwkJCQkg
IEluIHRoaXMgY2FzZSwgaW5jcmVtZW50aW5nIFBPUlRFUE9DSCBmb3JjZXMgdGhlIHJldmlzaW9u
LgojCQkJCSAgRGVmYXVsdDogMCAobm8gZWZmZWN0KS4KIyBQS0dOQU1FCQktIEFsd2F5cyBkZWZp
bmVkIGFzCiMJCQkJICAke1BLR05BTUVQUkVGSVh9JHtQT1JUTkFNRX0ke1BLR05BTUVTVUZGSVh9
LSR7UE9SVFZFUlNJT059LgojCQkJCSAgRG8gbm90IGRlZmluZSB0aGlzIGluIHlvdXIgTWFrZWZp
bGUuCiMgUEtHTkFNRVBSRUZJWAktIFByZWZpeCB0byBzcGVjaWZ5IHRoYXQgcG9ydCBpcyBsYW5n
dWFnZS1zcGVjaWZpYywgZXRjLgojCQkJCSAgT3B0aW9uYWwuCiMgUEtHTkFNRVNVRkZJWAktIFN1
ZmZpeCB0byBzcGVjaWZ5IGNvbXBpbGF0aW9uIG9wdGlvbnMgb3IgYSB2ZXJzaW9uCiMJCQkJICBk
ZXNpZ25hdG9yIChpbiBjYXNlIHRoZXJlIGFyZSBkaWZmZXJlbnQgdmVyc2lvbnMgb2YKIwkJCQkg
IG9uZSBwb3J0IGFzIGlzIHRoZSBjYXNlIGZvciBUY2wpLgojCQkJCSAgT3B0aW9uYWwuCiMgUEtH
VkVSU0lPTgktIEFsd2F5cyBkZWZpbmVkIGFzICR7UE9SVFZFUlNJT059LgojCQkJCSAgRG8gbm90
IGRlZmluZSB0aGlzIGluIHlvdXIgTWFrZWZpbGUuCiMgVU5JUVVFTkFNRQktIEEgbmFtZSBmb3Ig
eW91ciBwb3J0IHRoYXQgaXMgZ2xvYmFsbHkgdW5pcXVlLiAgQnkgZGVmYXVsdCwKIwkJCQkgIHRo
aXMgaXMgc2V0IHRvICR7TEFURVNUX0xJTkt9IHdoZW4gTEFURVNUX0xJTksgaXMgc2V0LAojCQkJ
CSAgYW5kIHRvICR7UEtHTkFNRVBSRUZJWH0ke1BPUlROQU1FfSBvdGhlcndpc2UuCiMgRElTVFZF
UlNJT04JLSBWZW5kb3IgdmVyc2lvbiBvZiB0aGUgZGlzdHJpYnV0aW9uLgojCQkJCSAgRGVmYXVs
dDogJHtQT1JUVkVSU0lPTn0KIyBESVNUTkFNRQkJLSBOYW1lIG9mIHBvcnQgb3IgZGlzdHJpYnV0
aW9uIHVzZWQgaW4gZ2VuZXJhdGluZwojCQkJCSAgV1JLU1JDIGFuZCBESVNURklMRVMgYmVsb3cu
CiMJCQkJICBEZWZhdWx0OgojCQkJCSAgJHtQT1JUTkFNRX0tJHtESVNUVkVSU0lPTlBSRUZJWH0k
e0RJU1RWRVJTSU9OfSR7RElTVFZFUlNJT05TVUZGSVh9CiMgQ0FURUdPUklFUwktIEEgbGlzdCBv
ZiBkZXNjcmlwdGl2ZSBjYXRlZ29yaWVzIGludG8gd2hpY2ggdGhpcyBwb3J0IGZhbGxzLgojCQkJ
CSAgTWFuZGF0b3J5LgojCiMgVGhlc2UgdmFyaWFibGUgZGVzY3JpYmUgaG93IHRvIGZldGNoIGZp
bGVzIHJlcXVpcmVkIGZvciBidWlsZGluZyB0aGUgcG9ydC4KIwojIERJU1RGSUxFUwkJLSBOYW1l
KHMpIG9mIGFyY2hpdmUgZmlsZShzKSBjb250YWluaW5nIGRpc3RyaWJ1dGlvbi4KIwkJCQkgIFNl
dCB0aGlzIHRvIGFuIGVtcHR5IHN0cmluZyBpZiB0aGUgcG9ydCBkb2Vzbid0IHJlcXVpcmUgaXQu
CiMJCQkJICBEZWZhdWx0OiAke0RJU1ROQU1FfSR7RVhUUkFDVF9TVUZYfQojIEVYVFJBQ1RfU1VG
WAktIFN1ZmZpeCBmb3IgYXJjaGl2ZSBuYW1lcwojCQkJCSAgWW91IG5ldmVyIGhhdmUgdG8gc2V0
IGJvdGggRElTVEZJTEVTIGFuZCBFWFRSQUNUX1NVRlguCiMJCQkJICBEZWZhdWx0OiAudGFyLmJ6
MiBpZiBVU0VTPXRhcjpiemlwMiBpcyBzZXQsIC50YXIueHogaWYKIwkJCQkgIFVTRVM9dGFyOnh6
IFVTRV9YWiBpcyBzZXQsIC50YXIuZ3ogb3RoZXJ3aXNlKS4KIyBNQVNURVJfU0lURVMJLSBQcmlt
YXJ5IGxvY2F0aW9uKHMpIGZvciBkaXN0cmlidXRpb24gZmlsZXMgaWYgbm90IGZvdW5kCiMJCQkJ
ICBsb2NhbGx5LiAgU2VlIGJzZC5zaXRlcy5tayBmb3IgY29tbW9uIGNob2ljZXMgZm9yCiMJCQkJ
ICBNQVNURVJfU0lURVMuCiMgTUFTVEVSX1NJVEVfU1VCRElSCiMJCQkJLSBTdWJkaXJlY3Rvcnkg
b2YgTUFTVEVSX1NJVEVTLiBXaWxsIHNvbWV0aW1lcyBuZWVkIHRvIGJlCiMJCQkJICBzZXQgdG8g
JHtQT1JUTkFNRX0gZm9yIChlLmcuKSBNQVNURVJfU0lURV9TT1VSQ0VGT1JHRS4KIwkJCQkgIE9u
bHkgZ3VhcmFudGVlZCB0byB3b3JrIGZvciBjaG9pY2VzIG9mICR7TUFTVEVSX1NJVEVTfQojCQkJ
CSAgZGVmaW5lZCBpbiBic2Quc2l0ZXMubWsuCiMJCQkJICBEZWZhdWx0OiBub3Qgc2V0LgojIFBB
VENIRklMRVMJLSBOYW1lKHMpIG9mIGFkZGl0aW9uYWwgZmlsZXMgdGhhdCBjb250YWluIGRpc3Ry
aWJ1dGlvbgojCQkJCSAgcGF0Y2hlcy4gTWFrZSB3aWxsIGxvb2sgZm9yIHRoZW0gYXQgUEFUQ0hf
U0lURVMgKHNlZSBiZWxvdykuCiMJCQkJICBUaGV5IHdpbGwgYXV0b21hdGljYWxseSBiZSB1bmNv
bXByZXNzZWQgYmVmb3JlIHBhdGNoaW5nIGlmCiMJCQkJICB0aGUgbmFtZXMgZW5kIHdpdGggIi5n
eiIsICIuYnoyIiBvciAiLloiLgojCQkJCSAgRm9yIGVhY2ggZmlsZSB5b3UgY2FuIG9wdGlvbmFs
bHkgc3BlY2lmeSBhIHN0cmlwCiMJCQkJICBmbGFnIG9mIHBhdGNoKDEpIGFmdGVyIGEgY29sb24g
aWYgaXQgaGFzIGEgZGlmZmVyZW50CiMJCQkJICBiYXNlIGRpcmVjdG9yeSwgZS5nLiAiZmlsZTEg
ZmlsZTI6LXAxIGZpbGUzIi4KIwkJCQkgIFlvdSBjYW4gYWxzbyB1c2UgYSA6Z3JvdXAgYXQgdGhl
IGVuZCBmb3IgbWF0Y2hpbmcgdXAgdG8KIwkJCQkgIGRpc3QgZmlsZSBncm91cHMuIFNlZSBQb3J0
ZXJzIEhhbmRib29rIGZvciBtb3JlIGluZm9ybWF0aW9uLgojCQkJCSAgU3ludGF4OiBQQVRDSEZJ
TEVTPSBwYXRjaFs6LXBYXVs6Z3JvdXBdCiMJCQkJICBEZWZhdWx0OiBub3Qgc2V0LgojIFBBVENI
X1NJVEVTCS0gUHJpbWFyeSBsb2NhdGlvbihzKSBmb3IgZGlzdHJpYnV0aW9uIHBhdGNoIGZpbGVz
CiMJCQkJICBpZiBub3QgZm91bmQgbG9jYWxseS4KIyBESVNUX1NVQkRJUgktIFN1ZmZpeCB0byAk
e0RJU1RESVJ9LiAgSWYgc2V0LCBhbGwgJHtESVNURklMRVN9IGFuZAojCQkJCSAgJHtQQVRDSEZJ
TEVTfSB3aWxsIGJlIHB1dCBpbiB0aGlzIHN1YmRpcmVjdG9yeSBvZgojCQkJCSAgJHtESVNURElS
fSAoc2VlIGJlbG93KS4gIEFsc28gdGhleSB3aWxsIGJlIGZldGNoZWQgaW4gdGhpcwojCQkJCSAg
c3ViZGlyZWN0b3J5IGZyb20gRnJlZUJTRCBtaXJyb3Igc2l0ZXMuCiMgQUxMRklMRVMJCS0gQWxs
IG9mICR7RElTVEZJTEVTfSBhbmQgJHtQQVRDSEZJTEVTfS4KIyBOT0ZFVENIRklMRVMJLSBJZiBz
ZXQsIGRvbid0IGRvd25sb2FkIHRoZXNlIGZpbGVzIGZyb20gdGhlICR7TUFTVEVSX1NJVEVTfQoj
CQkJCSAgb3IgJHtNQVNURVJfU0lURV9CQUNLVVB9IChidXQgZG8gZnJvbQojCQkJCSAgJHtNQVNU
RVJfU0lURV9PVkVSUklERX0pCiMgRVhUUkFDVF9PTkxZCS0gSWYgc2V0LCBhIHN1YnNldCBvZiAk
e0RJU1RGSUxFU30geW91IHdhbnQgdG8KIwkJCQkgIGFjdHVhbGx5IGV4dHJhY3QuCiMgQUxXQVlT
X0tFRVBfRElTVEZJTEVTCiMJCQkJLSBJZiBzZXQsIHRoZSBwYWNrYWdlIGJ1aWxkaW5nIGNsdXN0
ZXIgd2lsbCBzYXZlIHRoZSBkaXN0ZmlsZXMKIwkJCQkgIGFsb25nIHdpdGggdGhlIHBhY2thZ2Vz
LiBUaGlzIG1heSBiZSByZXF1aXJlZCB0byBjb21wbHkgd2l0aAojCQkJCSAgc29tZSBsaWNlbnNl
cywgZS5nLiBHUEwgaW4gc29tZSBjYXNlcy4KIwkJCQkgIERlZmF1bHQ6IG5vdCBzZXQuCiMKIyAo
Tk9URTogYnkgY29udmVudGlvbiwgdGhlIE1BSU5UQUlORVIgZW50cnkgKHNlZSBhYm92ZSkgc2hv
dWxkIGdvIGhlcmUuKQojCiMgVGhlc2UgdmFyaWFibGVzIGFyZSB0eXBpY2FsbHkgc2V0IGluIC9l
dGMvbWFrZS5jb25mIHRvIGluZGljYXRlCiMgdGhlIHVzZXIncyBwcmVmZXJyZWQgbG9jYXRpb24g
dG8gZmV0Y2ggZmlsZXMgZnJvbS4gIFlvdSBzaG91bGQKIyByYXJlbHkgbmVlZCB0byBzZXQgdGhl
c2UuCiMKIyBNQVNURVJfU0lURV9CQUNLVVAKIwkJCQktIEJhY2t1cCBsb2NhdGlvbihzKSBmb3Ig
ZGlzdHJpYnV0aW9uIGZpbGVzIGFuZCBwYXRjaAojCQkJCSAgZmlsZXMgaWYgbm90IGZvdW5kIGxv
Y2FsbHkgYW5kICR7TUFTVEVSX1NJVEVTfS8ke1BBVENIX1NJVEVTfQojCQkJCSAgRGVmYXVsdDoK
IwkJCQkgIGh0dHA6Ly9kaXN0Y2FjaGUuRnJlZUJTRC5vcmcvcG9ydHMtZGlzdGZpbGVzLyR7RElT
VF9TVUJESVJ9LwojIE1BU1RFUl9TSVRFX09WRVJSSURFCiMJCQkJLSBJZiBzZXQsIHByZXBlbmQg
dGhlIE1BU1RFUl9TSVRFUyBzZXR0aW5nIHdpdGggdGhpcyB2YWx1ZS4KIyBNQVNURVJfU0lURV9G
UkVFQlNECiMJCQkJLSBJZiBzZXQsIHByZXBlbmQgJHtNQVNURVJfU0lURV9CQUNLVVB9IGluIE1B
U1RFUl9TSVRFUy4KIwojIFNldCB0aGVzZSBpZiB5b3VyIHBvcnQgc2hvdWxkIG5vdCBiZSBidWls
dCB1bmRlciBjZXJ0YWluIGNpcmN1bXN0YW5jZXMuCiMgVGhlc2UgYXJlIHN0cmluZyB2YXJpYWJs
ZXM7IHlvdSBzaG91bGQgc2V0IHRoZW0gdG8gdGhlIHJlYXNvbiB3aHkKIyB0aGV5IGFyZSBuZWNl
c3NhcnkuCiMKIyBSRVNUUklDVEVECS0gUHJldmVudCB0aGUgZGlzdHJpYnV0aW9uIG9mIGRpc3Rm
aWxlcyBhbmQgcGFja2FnZXMgdG8KIwkJCQkgIHRoZSBGVFAgc2l0ZXMgb3Igb24gQ0RST00gKGUu
Zy4gZm9yYmlkZGVuIGJ5IGxpY2Vuc2UKIwkJCQkgIGNvbnNpZGVyYXRpb25zKS4KIyBOT19DRFJP
TQkJLSBQYWNrYWdlcyBhbmQgZGlzdGZpbGVzIG1heSBub3QgZ28gb24gQ0RST00gKGUuZy4gbXVz
dAojCQkJCSAgbm90IGJlIHJlLXNvbGQpIGJ1dCBjYW4gZ28gb24gRlRQIHNpdGVzLgojIE5PX1BB
Q0tBR0UJLSBQb3J0IHNob3VsZCBub3QgYmUgcGFja2FnZWQgZm9yIGZ0cCBzaXRlcyBvciBDRFJP
TXMsCiMJCQkJICBidXQgZGlzdGZpbGVzIGNhbiBiZSBwdXQgb24gZnRwIHNpdGVzIGFuZCBDRFJP
TXMuCiMgRk9SQklEREVOCQktIFBhY2thZ2UgYnVpbGQgc2hvdWxkIG5vdCBiZSBhdHRlbXB0ZWQg
YmVjYXVzZSBvZgojCQkJCSAgc2VjdXJpdHkgdnVsbmVyYWJpbGl0aWVzLgojIExFR0FMX1RFWFQJ
LSBQb3J0IGhhcyBsZWdhbCBpc3N1ZXMgKGUuZy4sIHNwZWNpYWwgcGVybWlzc2lvbiB0byBkaXN0
cmlidXRlLCBsYWNrcyBhIGxpY2Vuc2UpLgojIExFR0FMX1BBQ0tBR0UgLSBQb3J0IGhhcyBubyBs
ZWdhbCBpc3N1ZXMgYnV0IGRlZmluZXMgTk9fUEFDS0FHRQojIElHTk9SRQkJLSBQYWNrYWdlIGJ1
aWxkIHNob3VsZCBiZSBza2lwcGVkIGVudGlyZWx5IChlLmcuCiMJCQkJICBiZWNhdXNlIG9mIHNl
cmlvdXMgdW5maXhhYmxlIHByb2JsZW1zIGluIHRoZSBidWlsZCwKIwkJCQkgIGJlY2F1c2UgaXQg
Y2Fubm90IGJlIG1hbnVhbGx5IGZldGNoZWQsIGV0YykuICBFcnJvcgojCQkJCSAgbG9ncyB3aWxs
IG5vdCBhcHBlYXIgb24gcG9pbnR5aGF0LCBzbyB0aGlzIHNob3VsZCBiZQojCQkJCSAgdXNlZCBz
cGFyaW5nbHkuCiMgQlJPS0VOCQktIFBvcnQgaXMgYmVsaWV2ZWQgdG8gYmUgYnJva2VuLiAgUGFj
a2FnZSBidWlsZHMgY2FuCiMgCQkJCSAgc3RpbGwgYmUgYXR0ZW1wdGVkIHVzaW5nIFRSWUJST0tF
TiB0byB0ZXN0IHRoaXMKIwkJCQkgIGFzc3VtcHRpb24uCiMgQlJPS0VOXyR7QVJDSH0gLSBQb3J0
IGlzIGJlbGlldmVkIHRvIGJlIGJyb2tlbiBvbiAke0FSQ0h9LiBQYWNrYWdlIGJ1aWxkcwojCQkJ
CSAgY2FuIHN0aWxsIGJlIGF0dGVtcHRlZCB1c2luZyBUUllCUk9LRU4gdG8KIwkJCQkgIHRlc3Qg
dGhpcyBhc3N1bXB0aW9uLgojIEJST0tFTl8ke09QU1lTfSAtIFBvcnQgaXMgYmVsaWV2ZWQgdG8g
YmUgYnJva2VuIG9uICR7T1BTWVN9LiBQYWNrYWdlIGJ1aWxkcwojCQkJCSAgY2FuIHN0aWxsIGJl
IGF0dGVtcHRlZCB1c2luZyBUUllCUk9LRU4gdG8KIwkJCQkgIHRlc3QgdGhpcyBhc3N1bXB0aW9u
LgojIEJST0tFTl8ke09QU1lTfV8ke09TUkVMOlJ9IC0gIFBvcnQgaXMgYmVsaWV2ZWQgdG8gYmUg
YnJva2VuIG9uIGEgc2luZ2xlCiMJCQkJICByZWxlYXNlIG9mICR7T1BTWVN9LCBlLmcgQlJPS0VO
X0ZyZWVCU0RfOAojCQkJCSAgd291bGQgYWZmZWN0IGFsbCBwb2ludCByZWxlYXNlcyBvZiBGcmVl
QlNEIDgKIwkJCQkgIHVubGVzcyBUUllCUk9LRU4gaXMgYWxzbyBzZXQuCiMgQlJPS0VOXyR7T1BT
WVN9XyR7T1NSRUw6Un1fJHtBUkNIfSAtICBQb3J0IGlzIGJlbGlldmVkIHRvIGJlIGJyb2tlbiBv
biBhCiMJCQkJICBzaW5nbGUgcmVsZWFzZSBvZiAke09QU1lTfSBhbmQgc3BlY2lmaWMgYXJjaGl0
ZWN0dXJlLAojCQkJCSAgZS5nIEJST0tFTl9GcmVlQlNEXzhfaTM4NiB3b3VsZCBhZmZlY3QgYWxs
IHBvaW50CiMJCQkJICByZWxlYXNlcyBvZiBGcmVlQlNEIDggaW4gaTM4NgojCQkJCSAgdW5sZXNz
IFRSWUJST0tFTiBpcyBhbHNvIHNldC4KIyBERVBSRUNBVEVECS0gUG9ydCBpcyBkZXByZWNhdGVk
IHRvIGluc3RhbGwuIEFkdmlzb3J5IG9ubHkuCiMgRVhQSVJBVElPTl9EQVRFCiMJCQkJLSBJZiBE
RVBSRUNBVEVEIGlzIHNldCwgZGV0ZXJtaW5lcyBhIGRhdGUgd2hlbgojCQkJCSAgdGhlIHBvcnQg
aXMgcGxhbmVkIHRvIHJlbW92ZS4gVGhlIGRhdGUgZm9ybWF0IGlzCiMJCQkJICBJU08gODYwMSAo
WVlZWS1NTS1ERCkuCiMKIyBESVNBQkxFX1ZVTE5FUkFCSUxJVElFUwojCQkJCS0gSWYgc2V0LCBk
byBub3QgY2hlY2sgaWYgdGhlIHBvcnQgaXMgbGlzdGVkIGluIHRoZQojCQkJCSAgdnVsbmVyYWJp
bGl0aWVzIGRhdGFiYXNlLgojCiMgSW4gYWRkaXRpb24gdG8gUkVTVFJJQ1RFRCBvciBOT19DRFJP
TSwgaWYgb25seSBhIHN1YnNldCBvZiBkaXN0ZmlsZXMKIyBvciBwYXRjaGZpbGVzIGhhdmUgcmVk
aXN0cmlidXRpb24gcmVzdHJpY3Rpb25zLCBzZXQgdGhlIGZvbGxvd2luZwojIHRvIHRoZSBsaXN0
IG9mIHN1Y2ggZmlsZXMuCiMKIyBSRVNUUklDVEVEX0ZJTEVTCiMJCQkJLSBMaXN0IG9mIGZpbGVz
IHRoYXQgY2Fubm90IGJlIHJlZGlzdHJpYnV0ZWQuCiMJCQkJICBEZWZhdWx0OiAiJHtESVNURklM
RVN9ICR7UEFUQ0hGSUxFU30iIGlmIFJFU1RSSUNURUQKIwkJCQkgIG9yIE5PX0NEUk9NIGlzIHNl
dCwgZW1wdHkgb3RoZXJ3aXNlLgojCiMgVGhlc2UgdmFyaWFibGVzIGFyZSBib29sZWFucywgc28g
eW91IGRvbid0IG5lZWQgdG8gc2V0IHRoZW0gdG8gdGhlIHJlYXNvbi4KIwojIElTX0lOVEVSQUNU
SVZFCiMJCQkJLSBTZXQgdGhpcyBpZiB5b3VyIHBvcnQgbmVlZHMgdG8gaW50ZXJhY3Qgd2l0aCB0
aGUgdXNlcgojCQkJCSAgZHVyaW5nIGFueSBzdGVwIGluIGEgcGFja2FnZSBidWlsZC4gIFVzZXIg
Y2FuIHRoZW4gZGVjaWRlCiMJCQkJICB0byBza2lwIHRoaXMgcG9ydCBieSBzZXR0aW5nICR7QkFU
Q0h9LCBvciBjb21waWxpbmcgb25seQojCQkJCSAgdGhlIGludGVyYWN0aXZlIHBvcnRzIGJ5IHNl
dHRpbmcgJHtJTlRFUkFDVElWRX0uCiMJCQkJICBEZWZhdWx0OiBub3Qgc2V0LgojIFVTRV9TVUJN
QUtFCS0gU2V0IHRoaXMgaWYgeW91IHdhbnQgdGhhdCBlYWNoIG9mIHRoZSBwb3J0J3MgbWFpbiA3
IHRhcmdldHMKIwkJCQkgIChleHRyYWN0LCBwYXRjaCwgY29uZmlndXJlLCBidWlsZCwgc3RhZ2Us
IGluc3RhbGwgYW5kCiMJCQkJICBwYWNrYWdlKSB0byBiZSBleGVjdXRlZCBpbiBhIHNlcGFyYXRl
IG1ha2UoMSkgcHJvY2Vzcy4KIwkJCQkgIFVzZWZ1bCB3aGVuIG9uZSBvZiB0aGUgc3RhZ2VzIG5l
ZWRzIHRvIGluZmx1ZW5jZSBtYWtlKDEpCiMJCQkJICB2YXJpYWJsZXMgb2YgdGhlIGxhdGVyIHN0
YWdlcyB1c2luZyAke1dSS0RJUn0vTWFrZWZpbGUuaW5jCiMJCQkJICBnZW5lcmF0ZWQgb24gdGhl
IGZseS4KIwkJCQkgIERlZmF1bHQ6IG5vdCBzZXQuCiMKIyBOT19BUkNICQkJLSBTZXQgdGhpcyBp
ZiBwb3J0IGlzIGFyY2hpdGVjdHVyZSBuZXV0cmFsLgojCiMgU2V0IHRoZXNlIGlmIHlvdXIgcG9y
dCBvbmx5IG1ha2VzIHNlbnNlIHRvIGNlcnRhaW4gYXJjaGl0ZWN0dXJlcy4KIyBUaGV5IGFyZSBs
aXN0cyBjb250YWluaW5nIG5hbWVzIGZvciB0aGVtIChlLmcuLCAiYW1kNjQgaTM4NiIpLgojIChE
ZWZhdWx0czogbm90IHNldC4pCiMKIyBPTkxZX0ZPUl9BUkNIUwojCQkJCS0gT25seSBidWlsZCBw
b3J0cyBpZiAke0FSQ0h9IG1hdGNoZXMgb25lIG9mIHRoZXNlLgojIE5PVF9GT1JfQVJDSFMJLSBP
bmx5IGJ1aWxkIHBvcnRzIGlmICR7QVJDSH0gZG9lc24ndCBtYXRjaCBvbmUgb2YgdGhlc2UuCiMg
T05MWV9GT1JfQVJDSFNfUkVBU09OCiMgT05MWV9GT1JfQVJDSFNfUkVBU09OXyR7QVJDSH0KIwkJ
CQktIFJlYXNvbiB3aHkgaXQncyBvbmx5IGZvciAke09OTFlfRk9SX0FSQ0hTfXMKIyBOT1RfRk9S
X0FSQ0hTX1JFQVNPTgojIE5PVF9GT1JfQVJDSFNfUkVBU09OXyR7QVJDSH0KIwkJCQktIFJlYXNv
biB3aHkgaXQncyBub3QgZm9yICR7Tk9UX0ZPUl9BUkNIU31zCiMgSUEzMl9CSU5BUllfUE9SVAoj
CQkJCS0gU2V0IHRoaXMgaW5zdGVhZCBvZiBPTkxZX0ZPUl9BUkNIUyBpZiB0aGUgZ2l2ZW4gcG9y
dAojCQkJCSAgZmV0Y2hlcyBhbmQgaW5zdGFsbHMgY29tcGlsZWQgaTM4NiBiaW5hcmllcy4KIwoj
IERlcGVuZGVuY3kgY2hlY2tpbmcuICBVc2UgdGhlc2UgaWYgeW91ciBwb3J0IHJlcXVpcmVzIGFu
b3RoZXIgcG9ydAojIG5vdCBpbiB0aGUgbGlzdCBiZWxvdy4gIChEZWZhdWx0OiBlbXB0eS4pCiMK
IyBFWFRSQUNUX0RFUEVORFMKIwkJCQktIEEgbGlzdCBvZiAicGF0aDpkaXJbOnRhcmdldF0iIHR1
cGxlcyBvZiBvdGhlciBwb3J0cyB0aGlzCiMJCQkJICBwYWNrYWdlIGRlcGVuZHMgb24gaW4gdGhl
ICJleHRyYWN0IiBzdGFnZS4gICJwYXRoIiBpcwojCQkJCSAgdGhlIG5hbWUgb2YgYSBmaWxlIGlm
IGl0IHN0YXJ0cyB3aXRoIGEgc2xhc2ggKC8pLCBhbgojCQkJCSAgZXhlY3V0YWJsZSBvdGhlcndp
c2UuICBtYWtlIHdpbGwgdGVzdCBmb3IgdGhlIGV4aXN0ZW5jZQojCQkJCSAgKGlmIGl0IGlzIGEg
ZnVsbCBwYXRobmFtZSkgb3Igc2VhcmNoIGZvciBpdCBpbiB5b3VyCiMJCQkJICAkUEFUSCAoaWYg
aXQgaXMgYW4gZXhlY3V0YWJsZSkgYW5kIGdvIGludG8gImRpciIgdG8gZG8KIwkJCQkgIGEgIm1h
a2UgYWxsIGluc3RhbGwiIGlmIGl0J3Mgbm90IGZvdW5kLiAgSWYgdGhlIHRoaXJkCiMJCQkJICBm
aWVsZCAoInRhcmdldCIpIGV4aXN0cywgaXQgd2lsbCBiZSB1c2VkIGluc3RlYWQgb2YKIwkJCQkg
ICR7REVQRU5EU19UQVJHRVR9LiAgVGhlIGZpcnN0IGZpZWxkIGFsc28gc3VwcG9ydHMgYQojCQkJ
CSAgcGFja2FnZSBuYW1lIHdpdGggYSB2ZXJzaW9uIHJhbmdlLCBpbiB0aGUgZm9ybSBwYWNrYWdl
Pj0xLjIKIwkJCQkgIGlmIGEgcGFydGljdWxhciB2ZXJzaW9uIGlzIGRlc2lyZWQuCiMgUEFUQ0hf
REVQRU5EUwktIEEgbGlzdCBvZiAicGF0aDpkaXJbOnRhcmdldF0iIHR1cGxlcyBvZiBvdGhlciBw
b3J0cyB0aGlzCiMJCQkJICBwYWNrYWdlIGRlcGVuZHMgb24gaW4gdGhlICJwYXRjaCIgc3RhZ2Uu
ICAicGF0aCIgaXMgdGhlCiMJCQkJICBuYW1lIG9mIGEgZmlsZSBpZiBpdCBzdGFydHMgd2l0aCBh
IHNsYXNoICgvKSwgYW4KIwkJCQkgIGV4ZWN1dGFibGUgb3RoZXJ3aXNlLiAgbWFrZSB3aWxsIHRl
c3QgZm9yIHRoZSBleGlzdGVuY2UKIwkJCQkgIChpZiBpdCBpcyBhIGZ1bGwgcGF0aG5hbWUpIG9y
IHNlYXJjaCBmb3IgaXQgaW4geW91cgojCQkJCSAgJFBBVEggKGlmIGl0IGlzIGFuIGV4ZWN1dGFi
bGUpIGFuZCBnbyBpbnRvICJkaXIiIHRvIGRvCiMJCQkJICBhICJtYWtlIGFsbCBpbnN0YWxsIiBp
ZiBpdCdzIG5vdCBmb3VuZC4gIElmIHRoZSB0aGlyZAojCQkJCSAgZmllbGQgKCJ0YXJnZXQiKSBl
eGlzdHMsIGl0IHdpbGwgYmUgdXNlZCBpbnN0ZWFkIG9mCiMJCQkJICAke0RFUEVORFNfVEFSR0VU
fS4gIFRoZSBmaXJzdCBmaWVsZCBhbHNvIHN1cHBvcnRzIGEKIwkJCQkgIHBhY2thZ2UgbmFtZSB3
aXRoIGEgdmVyc2lvbiByYW5nZSwgaW4gdGhlIGZvcm0gcGFja2FnZT49MS4yCiMJCQkJICBpZiBh
IHBhcnRpY3VsYXIgdmVyc2lvbiBpcyBkZXNpcmVkLgojIEZFVENIX0RFUEVORFMJLSBBIGxpc3Qg
b2YgInBhdGg6ZGlyWzp0YXJnZXRdIiB0dXBsZXMgb2Ygb3RoZXIgcG9ydHMgdGhpcwojCQkJCSAg
cGFja2FnZSBkZXBlbmRzIGluIHRoZSAiZmV0Y2giIHN0YWdlLiAgInBhdGgiIGlzIHRoZQojCQkJ
CSAgbmFtZSBvZiBhIGZpbGUgaWYgaXQgc3RhcnRzIHdpdGggYSBzbGFzaCAoLyksIGFuCiMJCQkJ
ICBleGVjdXRhYmxlIG90aGVyd2lzZS4gIG1ha2Ugd2lsbCB0ZXN0IGZvciB0aGUKIwkJCQkgIGV4
aXN0ZW5jZSAoaWYgaXQgaXMgYSBmdWxsIHBhdGhuYW1lKSBvciBzZWFyY2ggZm9yCiMJCQkJICBp
dCBpbiB5b3VyICRQQVRIIChpZiBpdCBpcyBhbiBleGVjdXRhYmxlKSBhbmQgZ28KIwkJCQkgIGlu
dG8gImRpciIgdG8gZG8gYSAibWFrZSBhbGwgaW5zdGFsbCIgaWYgaXQncyBub3QKIwkJCQkgIGZv
dW5kLiAgSWYgdGhlIHRoaXJkIGZpZWxkICgidGFyZ2V0IikgZXhpc3RzLCBpdCB3aWxsCiMJCQkJ
ICBiZSB1c2VkIGluc3RlYWQgb2YgJHtERVBFTkRTX1RBUkdFVH0uICBUaGUgZmlyc3QgZmllbGQK
IwkJCQkgIGFsc28gc3VwcG9ydHMgYSBwYWNrYWdlIG5hbWUgd2l0aCBhIHZlcnNpb24gcmFuZ2Us
IGluCiMJCQkJICB0aGUgZm9ybSBwYWNrYWdlPj0xLjIgaWYgYSBwYXJ0aWN1bGFyIHZlcnNpb24g
aXMgZGVzaXJlZC4KIyBCVUlMRF9ERVBFTkRTCS0gQSBsaXN0IG9mICJwYXRoOmRpcls6dGFyZ2V0
XSIgdHVwbGVzIG9mIG90aGVyIHBvcnRzIHRoaXMKIwkJCQkgIHBhY2thZ2UgZGVwZW5kcyB0byBi
dWlsZCAoYmV0d2VlbiB0aGUgImV4dHJhY3QiIGFuZAojCQkJCSAgImJ1aWxkIiBzdGFnZXMsIGlu
Y2x1c2l2ZSkuICBUaGUgdGVzdCBkb25lIHRvCiMJCQkJICBkZXRlcm1pbmUgdGhlIGV4aXN0ZW5j
ZSBvZiB0aGUgZGVwZW5kZW5jeSBpcyB0aGUKIwkJCQkgIHNhbWUgYXMgRkVUQ0hfREVQRU5EUy4g
IElmIHRoZSB0aGlyZCBmaWVsZCAoInRhcmdldCIpCiMJCQkJICBleGlzdHMsIGl0IHdpbGwgYmUg
dXNlZCBpbnN0ZWFkIG9mICR7REVQRU5EU19UQVJHRVR9LgojIFJVTl9ERVBFTkRTCS0gQSBsaXN0
IG9mICJwYXRoOmRpcls6dGFyZ2V0XSIgdHVwbGVzIG9mIG90aGVyIHBvcnRzIHRoaXMKIwkJCQkg
IHBhY2thZ2UgZGVwZW5kcyB0byBydW4uICBUaGUgdGVzdCBkb25lIHRvIGRldGVybWluZQojCQkJ
CSAgdGhlIGV4aXN0ZW5jZSBvZiB0aGUgZGVwZW5kZW5jeSBpcyB0aGUgc2FtZSBhcwojCQkJCSAg
RkVUQ0hfREVQRU5EUy4gIFRoaXMgd2lsbCBiZSBjaGVja2VkIGR1cmluZyB0aGUKIwkJCQkgICJp
bnN0YWxsIiBzdGFnZSBhbmQgdGhlIG5hbWUgb2YgdGhlIGRlcGVuZGVuY3kgd2lsbAojCQkJCSAg
YmUgcHV0IGludG8gdGhlIHBhY2thZ2UgYXMgd2VsbC4gIElmIHRoZSB0aGlyZCBmaWVsZAojCQkJ
CSAgKCJ0YXJnZXQiKSBleGlzdHMsIGl0IHdpbGwgYmUgdXNlZCBpbnN0ZWFkIG9mCiMJCQkJICAk
e0RFUEVORFNfVEFSR0VUfS4gIFRoZSBmaXJzdCBmaWVsZCBhbHNvIHN1cHBvcnRzIGEKIwkJCQkg
IHBhY2thZ2UgbmFtZSB3aXRoIGEgdmVyc2lvbiByYW5nZSwgaW4gdGhlIGZvcm0gcGFja2FnZT49
MS4yCiMJCQkJICBpZiBhIHBhcnRpY3VsYXIgdmVyc2lvbiBpcyBkZXNpcmVkLgojIExJQl9ERVBF
TkRTCS0gQSBsaXN0IG9mICJsaWI6ZGlyWzp0YXJnZXRdIiB0dXBsZXMgb2Ygb3RoZXIgcG9ydHMg
dGhpcwojCQkJCSAgcGFja2FnZSBkZXBlbmRzIG9uLiAgImxpYiIgaXMgdGhlIG5hbWUgb2YgYSBz
aGFyZWQgbGlicmFyeS4KIwkJCQkgIG1ha2Ugd2lsbCB1c2UgImxkY29uZmlnIC1yIiB0byBzZWFy
Y2ggZm9yIHRoZSBsaWJyYXJ5LgojCQkJCSAgbGliIGNhbiBjb250YWluIGV4dGVuZGVkIHJlZ3Vs
YXIgZXhwcmVzc2lvbnMuCiMgREVQRU5EU19UQVJHRVQKIwkJCQktIFRoZSBkZWZhdWx0IHRhcmdl
dCB0byBleGVjdXRlIHdoZW4gYSBwb3J0IGlzIGNhbGxpbmcgYQojCQkJCSAgZGVwZW5kZW5jeS4K
IwkJCQkgIERlZmF1bHQ6IGluc3RhbGwKIwojIFRoZXNlIHZhcmlhYmxlcyBjb250cm9sIG9wdGlv
bnMgYWJvdXQgaG93IGEgcG9ydCBnZXRzIGJ1aWx0IGFuZC9vcgojIGFyZSBzaG9ydGhhbmQgbm90
YXRpb25zIGZvciBjb21tb24gc2V0cyBvZiBkZXBlbmRlbmNpZXMuCiMgVXNlIHRoZXNlIGlmIHlv
dXIgcG9ydCB1c2VzIHNvbWUgb2YgdGhlIGNvbW1vbiBzb2Z0d2FyZSBwYWNrYWdlcy4gQnkKIyBj
b252ZW50aW9uIHRoZXNlIHNob3VsZCBiZSBzZXQgdG8gJ3llcycsIGFsdGhvdWdoIHRoZXkgb25s
eSBuZWVkIHRvIGJlCiMgZGVmaW5lZC4gRGVmYXVsdHM6IG5vdCBzZXQsIHVubGVzcyBleHBsaWNp
dGx5IGluZGljYXRlZCBiZWxvdy4KIwojIE5vdGU6IHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRo
ZSBVU0VfKiBhbmQgV0FOVF8qIHZhcmlhYmxlcywgYW5kIHRoZQojIFdJVEhfKiBhbmQgV0lUSE9V
VF8qIHZhcmlhYmxlcywgYXJlIHRoYXQgdGhlIGZvcm1lciBhcmUgcmVzdHJpY3RlZCB0bwojIHVz
YWdlIGluc2lkZSB0aGUgcG9ydHMgZnJhbWV3b3JrLCBhbmQgdGhlIGxhdHRlciBhcmUgcmVzZXJ2
ZWQgZm9yIHVzZXItCiMgc2V0dGFibGUgb3B0aW9ucy4gIChTZXR0aW5nIFVTRV8qIGluIC9ldGMv
bWFrZS5jb25mIGlzIGFsd2F5cyB3cm9uZykuCiMKIyBXSVRIX0RFQlVHICAgICAgICAgICAgLSBJ
ZiBzZXQsIGRlYnVnZ2luZyBmbGFncyBhcmUgYWRkZWQgdG8gQ0ZMQUdTIGFuZCB0aGUKIyAgICAg
ICAgICAgICAgICAgICAgICAgICBiaW5hcmllcyBkb24ndCBnZXQgc3RyaXBwZWQgYnkgSU5TVEFM
TF9QUk9HUkFNIG9yCiMgICAgICAgICAgICAgICAgICAgICAgICAgSU5TVEFMTF9MSUIuIEJlc2lk
ZXMsIGluZGl2aWR1YWwgcG9ydHMgbWlnaHQKIyAgICAgICAgICAgICAgICAgICAgICAgICBhZGQg
dGhlaXIgc3BlY2lmaWMgdG8gcHJvZHVjZSBiaW5hcmllcyBmb3IgZGVidWdnaW5nCiMgICAgICAg
ICAgICAgICAgICAgICAgICAgcHVycG9zZXMuIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlYnVnIGZs
YWdzIHRoYXQgYXJlCiMgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc2VkIHRvIHRoZSBjb21w
aWxlciBieSBzZXR0aW5nIERFQlVHX0ZMQUdTLiBJdCBpcwojICAgICAgICAgICAgICAgICAgICAg
ICAgIHNldCB0byAiLWciIGF0IGRlZmF1bHQuCiMKIyBXSVRIX0RFQlVHX1BPUlRTCQktIEEgbGlz
dCBvZiBvcmlnaW5zIGZvciB3aGljaCBXSVRIX0RFQlVHIHdpbGwgYmUgc2V0CiMKIyBXSVRIT1VU
X1NTUAktIERpc2FibGUgU1NQLgojCiMgU1NQX0NGTEFHUwktIERlZmF1bHRzIHRvIC1mc3RhY2st
cHJvdGVjdG9yLiBUaGlzIHZhbHVlCiMJCQkJICBpcyBhZGRlZCB0byBDRkxBR1MgYW5kIHRoZSBu
ZWNlc3NhcnkgZmxhZ3MKIwkJCQkgIGFyZSBhZGRlZCB0byBMREZMQUdTLiBOb3RlIHRoYXQgU1NQ
X1VOU0FGRQojCQkJCSAgY2FuIGJlIHVzZWQgaW4gTWFrZWZpbGVzIGJ5IHBvcnQgbWFpbnRhaW5l
cnMKIwkJCQkgIGlmIGEgcG9ydCBicmVha3Mgd2l0aCBpdCAoaXQgc2hvdWxkIGJlCiMJCQkJICBl
eHRyZW1lbHkgcmFyZSkuCiMKIyBVU0VfR0NDCQktIElmIHNldCwgdGhpcyBwb3J0IHJlcXVpcmVz
IHRoaXMgdmVyc2lvbiBvZiBnY2MsIGVpdGhlciBpbgojCQkJCSAgdGhlIHN5c3RlbSBvciBpbnN0
YWxsZWQgZnJvbSBhIHBvcnQuCiMgVVNFX0NTVEQJCS0gT3ZlcnJpZGUgdGhlIGRlZmF1bHQgQyBs
YW5ndWFnZSBzdGFuZGFyZCAoZ251ODksIGdudTk5KQojIFVTRV9DWFhTVEQJICBPdmVycmlkZSB0
aGUgZGVmYXVsdCBDKysgbGFuZ3VhZ2Ugc3RhbmRhcmQKIyBVU0VfQklOVVRJTFMJLSBVc2UgYmlu
dXRpbHMgc3VpdGUgZnJvbSBwb3J0IGluc3RlYWQgb2YgdGhlIHZlcnNpb24gaW4gYmFzZS4KIyBD
RkxBR1NfJHtBUkNIfSAgQXBwZW5kIHRoZSBjZmxhZ3MgdG8gQ0ZMQUdTIG9ubHkgb24gdGhlIHNw
ZWNpZmllZCBhcmNoaXRlY3R1cmUKIyBDWFhGTEFHU18ke0FSQ0h9CiMJCQkJIEFwcGVuZCB0aGUg
Y3h4ZmxhZ3MgdG8gQ1hYRkxBR1Mgb25seSBvbiB0aGUgc3BlY2lmaWVkIGFyY2hpdGVjdHVyZQoj
IwojIFVTRV9HSE9TVFNDUklQVAojCQkJCS0gSWYgc2V0LCB0aGlzIHBvcnQgbmVlZHMgZ2hvc3Rz
Y3JpcHQgdG8gYm90aAojCQkJCSAgYnVpbGQgYW5kIHJ1bi4gIElmIGEgbnVtYmVyIGlzIHNwZWNp
ZmllZCwKIwkJCQkgIHRoZSBzcGVjaWZpZWQgdmVyc2lvbiB3aWxsIGJlIHVzZWQuCiMJCQkJICBU
aGUgdmFsaWQgdmFsdWUgaXMgJzcnLCAnOCcsIG9yICc5JyBpbiB0aGF0IGNhc2UuCiMgVVNFX0dI
T1NUU0NSSVBUX0JVSUxECiMJCQkJLSBJZiBzZXQsIHRoaXMgcG9ydCBuZWVkcyBnaG9zdHNjcmlw
dCB0byBidWlsZC4KIyBVU0VfR0hPU1RTQ1JJUFRfUlVOCiMJCQkJLSBJZiBzZXQsIHRoaXMgcG9y
dCBuZWVkcyBnaG9zdHNjcmlwdCB0byBydW4uCiMgR0hPU1RTQ1JJUFRfUE9SVAojCQkJCS0gVGhl
IHBvcnQgdGhhdCBwcm92aWRlcyBwb3N0c2NyaXB0IGZ1bmN0aW9uYWxpdHkuCiMJCQkJICBTb21l
IGluc3RhbGxhdGlvbnMgbWF5IHdpc2ggdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQKIwkJCQkgIHRv
IHNwZWNpZnkgYSB2ZXJzaW9uIHdpdGhvdXQgWDExIGFuZC9vciBsb2NhbGl6ZWQKIwkJCQkgIHZl
cnNpb25zIGZvciB0aGVpciBuYXRpb25hbGl0eS4KIwkJCQkgIERlZmF1bHQ6IHByaW50L2dob3N0
c2NyaXB0OQojIFdJVEhfR0hPU1RTQ1JJUFRfVkVSCiMJCQkJLSBJZiBzZXQsIHRoZSBzcGVjaWZp
ZWQgdmVyc2lvbiBvZiBnaG9zdHNjcmlwdCB3aWxsIGJlCiMJCQkJICB1c2VkLiAgVGhlIHZhbGlk
IHZhbHVlIGlzICI3IiwgIjgiLCBvciAiOSIuICBOb3RlIHRoYXQKIwkJCQkgIHRoaXMgaXMgZm9y
IHVzZXJzLCBub3QgZm9yIHBvcnQgbWFpbnRhaW5lcnMuICBUaGlzCiMJCQkJICBzaG91bGQgbm90
IGJlIHVzZWQgaW4gTWFrZWZpbGUuCiMjCiMgVVNFX0dMCQktIEEgbGlzdCBvZiBNZXNhIG9yIEdM
IHJlbGF0ZWQgZGVwZW5kZW5jaWVzIG5lZWRlZCBieSB0aGUgcG9ydC4KIwkJCQkgIFN1cHBvcnRl
ZCBjb21wb25lbnRzIGFyZTogZWdsLCBnbGVzdjIsIGdsdXQsIGdsdSwgZ2x3LCBhbmQgZ2wuCiMJ
CQkJICBJZiBzZXQgdG8gInllcyIsIHRoaXMgaXMgZXF1aXZhbGVudCB0byAiZ2x1Ii4gTm90ZSB0
aGF0CiMJCQkJICBnbGV3IGFuZCBnbHV0IGRlcGVuZCBvbiBnbHUsIGdsdyBhbmQgZ2x1IGRlcGVu
ZCBvbiBnbC4KIyMKIyBVU0VfU0RMCQktIElmIHNldCwgdGhpcyBwb3J0IHVzZXMgdGhlIHNkbCBs
aWJyYXJpZXMuCiMJCQkJICBTZWUgYnNkLnNkbC5tayBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KIyMK
IyBVU0VfT1BFTlNTTAktIElmIHNldCwgdGhpcyBwb3J0IHJlbGllcyBvbiB0aGUgT3BlblNTTCBw
YWNrYWdlLgojIwojIFVTRV9PUEVOTERBUAktIElmIHNldCwgdGhpcyBwb3J0IHVzZXMgdGhlIE9w
ZW5MREFQIGxpYnJhcmllcy4KIwkJCQkgIEltcGxpZXM6IFdBTlRfT1BFTkxEQVBfVkVSPz0yNAoj
IFdBTlRfT1BFTkxEQVBfVkVSCiMJCQkJLSBMZWdhbCB2YWx1ZXMgYXJlOiAyMywgMjQKIwkJCQkg
IElmIHNldCB0byBhbiB1bmtub3duIHZhbHVlLCB0aGUgcG9ydCBpcyBtYXJrZWQgQlJPS0VOLgoj
IFdBTlRfT1BFTkxEQVBfU0FTTAojCQkJCS0gSWYgc2V0LCB0aGUgc3lzdGVtIHNob3VsZCB1c2Ug
T3BlbkxEQVAgbGlicmFyaWVzCiMJCQkJICB3aXRoIFNBU0wgc3VwcG9ydC4KIyMKIyBVU0VfQVVU
T1RPT0xTCS0gSWYgc2V0LCB0aGlzIHBvcnQgdXNlcyB2YXJpb3VzIEdOVSBhdXRvdG9vbHMKIwkJ
CQkgIChsaWJ0b29sLCBhdXRvY29uZiwgYXV0b2hlYWRlciwgYXV0b21ha2UgZXQgYWwuKQojCQkJ
CSAgU2VlIGJzZC5hdXRvdG9vbHMubWsgZm9yIG1vcmUgZGV0YWlscy4KIyMKIyBVU0VfRlBDCQkt
IElmIHNldCwgdGhpcyBwb3J0IHJlbGllcyBvbiB0aGUgRnJlZSBQYXNjYWwgbGFuZ3VhZ2UuCiMg
CQkJCSAgSW1wbGllcyBpbmNsdXNpb24gb2YgYnNkLmZwYy5tay4gIChBbHNvIHNlZQojCQkJCSAg
dGhhdCBmaWxlIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIFdBTlRfRlBDXyopLgojIFVTRV9KQVZB
CQktIElmIHNldCwgdGhpcyBwb3J0IHJlbGllcyBvbiB0aGUgSmF2YSBsYW5ndWFnZS4KIwkJCQkg
IEltcGxpZXMgaW5jbHVzaW9uIG9mIGJzZC5qYXZhLm1rLiAgKEFsc28gc2VlCiMJCQkJICB0aGF0
IGZpbGUgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gVVNFX0pBVkFfKikuCiMgVVNFX09DQU1MCQkt
IElmIHNldCwgdGhpcyBwb3J0IHJlbGllcyBvbiB0aGUgT0NhbWwgbGFuZ3VhZ2UuCiMJCQkJICBJ
bXBsaWVzIGluY2x1c2lvbiBvZiBic2Qub2NhbWwubWsuICAoQWxzbyBzZWUKIwkJCQkgIHRoYXQg
ZmlsZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBVU0VfT0NBTUwqKS4KIyBVU0VfUlVCWQkJLSBJ
ZiBzZXQsIHRoaXMgcG9ydCByZWxpZXMgb24gdGhlIFJ1YnkgbGFuZ3VhZ2UuCiMJCQkJICBJbXBs
aWVzIGluY2x1c2lvbiBvZiBic2QucnVieS5tay4gIChBbHNvIHNlZQojCQkJCSAgdGhhdCBmaWxl
IGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIFVTRV9SVUJZXyopLgojIwojIFVTRV9HRUNLTwkJLSBJ
ZiBzZXQsIHRoaXMgcG9ydCB1c2VzIHRoZSBHZWNrby9Nb3ppbGxhIHByb2R1Y3QuCiMJCQkJICBT
ZWUgYnNkLmdlY2tvLm1rIGZvciBtb3JlIGRldGFpbHMuCiMjCiMgVVNFX0dOT01FCQktIEEgbGlz
dCBvZiB0aGUgR25vbWUgZGVwZW5kZW5jaWVzIHRoZSBwb3J0IGhhcyAoZS5nLiwKIwkJCQkgIGds
aWIxMiwgZ3RrMTIpLiAgSW1wbGllcyB0aGF0IHRoZSBwb3J0IG5lZWRzIEdub21lLgojCQkJCSAg
SW1wbGllcyBpbmNsdXNpb24gb2YgYnNkLmdub21lLm1rLiAgU2VlIGJzZC5nbm9tZS5tawojCQkJ
CSAgb3IgaHR0cDovL3d3dy5GcmVlQlNELm9yZy9nbm9tZS9kb2NzL3BvcnRpbmcuaHRtbAojCQkJ
CSAgZm9yIG1vcmUgZGV0YWlscy4KIyMKIyBVU0VfTUFURQkJLSBBIGxpc3Qgb2YgdGhlIE1BVEUg
ZGVwZW5kZW5jaWVzIHRoZSBwb3J0IGhhcy4gSW1wbGllcwojCQkJCSAgdGhhdCB0aGUgcG9ydCBu
ZWVkcyBNQVRFLiBJbXBsaWVzIGluY2x1c2lvbiBvZgojCQkJCSAgYnNkLm1hdGUubWsuIFNlZSBi
c2QubWF0ZS5tayBmb3IgbW9yZSBkZXRhaWxzLgojIwojIFVTRV9XWAkJLSBJZiBzZXQsIHRoaXMg
cG9ydCB1c2VzIHRoZSBXeFdpZGdldHMgbGlicmFyeSBhbmQgcmVsYXRlZAojCQkJCSAgY29tcG9u
ZW50cy4gU2VlIGJzZC53eC5tayBmb3IgbW9yZSBkZXRhaWxzLgojIwojIFVTRV9LREU0CQktIEEg
bGlzdCBvZiB0aGUgS0RFIDQgZGVwZW5kZW5jaWVzIHRoZSBwb3J0IGhhcyAoZS5nLiwKIwkJCQkg
IGtkZWxpYnMsIGtkZWJhc2UpLiAgSW1wbGllcyB0aGF0IHRoZSBwb3J0IG5lZWRzIEtERS4KIwkJ
CQkgIEltcGxpZXMgaW5jbHVzaW9uIG9mIGJzZC5rZGU0Lm1rLiAgU2VlIGJzZC5rZGU0Lm1rCiMJ
CQkJICBmb3IgbW9yZSBkZXRhaWxzLgojCiMgVVNFX1FUNAkJLSBBIGxpc3Qgb2YgdGhlIFF0IDQg
ZGVwZW5kZW5jaWVzIHRoZSBwb3J0IGhhcyAoZS5nLAojCQkJCSAgY29yZWxpYiwgd2Via2l0KS4g
IEltcGxpZXMgdGhhdCB0aGUgcG9ydCBuZWVkcyBRdC4KIwkJCQkgIEltcGxpZXMgdGhlIGluY2x1
c2lvbiBvZiBic2QucXQubWsuICBTZWUgYnNkLnF0Lm1rCiMJCQkJICBmb3IgbW9yZSBkZXRhaWxz
LgojCiMgVVNFX1FUNQkJLSBBIGxpc3Qgb2YgdGhlIFF0IDUgZGVwZW5kZW5jaWVzIHRoZSBwb3J0
IGhhcyAoZS5nLAojCQkJCSAgY29yZSwgd2Via2l0KS4gIEltcGxpZXMgdGhhdCB0aGUgcG9ydCBu
ZWVkcyBRdC4KIwkJCQkgIEltcGxpZXMgdGhlIGluY2x1c2lvbiBvZiBic2QucXQubWsuICBTZWUg
YnNkLnF0Lm1rCiMJCQkJICBmb3IgbW9yZSBkZXRhaWxzLgojCiMgVVNFX0xJTlVYCQktIFNldCB0
byB5ZXMgdG8gc2F5IHRoZSBwb3J0IG5lZWRzIHRoZSBkZWZhdWx0IGxpbnV4IGJhc2UgcG9ydC4K
IwkJCQkgIFNldCB0byB2YWx1ZSA8WD4sIGlmIHRoZSBwb3J0IG5lZWRzIGVtdWxhdG9ycy9saW51
eF9iYXNlLTxYPi4KIwkJCQkgIEltcGxpZXMgYXBwcm9wcmlhdGUgc2V0dGluZ3MgZm9yIFNUUklQ
IGFuZCBTVFJJUF9DTUQuCiMgVVNFX0xJTlVYX1BSRUZJWAojCQkJCS0gY29udHJvbHMgdGhlIGFj
dGlvbiBvZiBQUkVGSVggKHNlZSBhYm92ZSkuIE9ubHkgdXNlIHRoaXMKIwkJCQkgIGlmIHRoZSBw
b3J0IGlzIGEgbGludXggaW5mcmFzdHJ1Y3R1cmUgcG9ydCAoZS5nLiBjb250YWlucyBsaWJzCiMJ
CQkJICBvciBhIHNvdW5kIHNlcnZlciB3aGljaCBzdXBwb3J0cyB0aGUgRnJlZUJTRCBuYXRpdmUg
b25lKSwKIwkJCQkgIHVzZSB0aGUgZGVmYXVsdCBvciB0aGUgWDExIHByZWZpeCBpZiBpdCdzIGEg
bGVhZiBwb3J0CiMJCQkJICAoZS5nLiBhIGdhbWUgb3IgcHJvZ3JhbSkuCiMJCQkJICBJbXBsaWVz
IE5PX01UUkVFPXllcywgYW5kLCBpZiBVU0VfTERDT05GSUcgaXMgZGVmaW5lZDoKIwkJCQkgICAg
LSBVU0VfTElOVVg9eWVzCiMJCQkJICAgIC0gYXBwcm9wcmlhdGUgaW52b2NhdGlvbiBvZiB0aGUg
TGludXggbGRjb25maWcKIyBVU0VfTElOVVhfUlBNCS0gU2V0IHRvIHllcyB0byBwdWxsIGluIHZh
cmlhYmxlcyBhbmQgdGFyZ2V0cyB1c2VmdWwgdG8gTGludXgKIwkJCQkgIFJQTSBwb3J0cy4KIwkJ
CQkgIEltcGxpZXMgaW5jbHVzaW9uIG9mIGJzZC5saW51eC1ycG0ubWsuCiMKIyBMSU5VWF9PU1JF
TEVBU0UJLSBDb250YWlucyB0aGUgdmFsdWUgb2YgY29tcGF0LmxpbnV4Lm9zcmVsZWFzZSBzeXNj
dGwuCiMJCQkJICBXaWxsIGJlIHVzZWQgdG8gZGlzdGluZ3Vpc2ggd2hpY2ggbGludXgKIwkJCQkg
IGluZnJhc3RydWN0dXJlIHBvcnRzIHNob3VsZCBiZSB1c2VkLgojCQkJCSAgVmFsaWQgdmFsdWVz
OiAyLjYuMTYuCiMKIyBPVkVSUklERV9MSU5VWF9CQVNFX1BPUlQKIwkJCQktIFRoaXMgc3BlY2lm
aWVzIHRoZSBkZWZhdWx0IGxpbnV4IGJhc2UgdG8gdXNlLCBmb3IgdmFsaWQKIwkJCQkgIHZhbHVl
cyBoYXZlIGEgbG9vayBhdCB0aGUgZGVzY3JpcHRpb24gb2YgVVNFX0xJTlVYLiBUaGlzIGlzCiMJ
CQkJICBhbiB1c2VyLW9ubHkgdmFyaWFibGUuIERvbid0IHVzZSBpdCBpbiBhbnkgcG9ydCwgaXQn
cyBtZWFudAojCQkJCSAgdG8gYmUgdXNlZCBpbiBtYWtlLmNvbmYuCiMKIyBMSU5VWF9CQVNFX1BP
UlQKIwkJCQktIFRoaXMgaXMgYSByZWFkLW9ubHkgdmFyaWFibGUsIGl0IGdldHMgc2V0IHRvIGEg
dmFsdWUgd2hpY2ggaXMKIwkJCQkgIHVzYWJsZSBpbiAqX0RFUEVORFMgKGUuZy4gQlVJTERfREVQ
RU5EUz0ke0xJTlVYX0JBU0VfUE9SVH0pLgojCQkJCSAgSXQgaG9ub3JzIFVTRV9MSU5VWD1mb28g
YW5kIE9WRVJSSURFX0xJTlVYX0JBU0VfUE9SVC4KIyMKIyBVU0VfWE9SRwkJCS0gU2V0IHRvIGEg
bGlzdCBvZiBYLm9yZyBtb2R1bGUgZGVwZW5kZW5jaWVzLgojCQkJCSAgSW1wbGllcyBpbmNsdXNp
b24gb2YgYnNkLnhvcmcubWsuCiMjCiMgVVNFX1RFWAkJCS0gQSBsaXN0IG9mIHRoZSBUZVggZGVw
ZW5kZW5jaWVzIHRoZSBwb3J0IGhhcy4KIwojIwojIFVTRV9SQ19TVUJSCS0gSWYgc2V0LCB0aGUg
cG9ydHMgc3RhcnR1cC9zaHV0ZG93biBzY3JpcHQgdXNlcyB0aGUgY29tbW9uCiMJCQkJICByb3V0
aW5lcyBmb3VuZCBpbiAvZXRjL3JjLnN1YnIuCiMJCQkJICBJZiB0aGlzIGlzIHNldCB0byBhIGxp
c3Qgb2YgZmlsZXMsIHRoZXNlIGZpbGVzIHdpbGwgYmUKIwkJCQkgIGF1dG9tYXRpY2FsbHkgYWRk
ZWQgdG8gJHtTVUJfRklMRVN9LCBzb21lICUlVkFSJSUncyB3aWxsCiMJCQkJICBhdXRvbWF0aWNh
bGx5IGJlIGV4cGFuZGVkLCB0aGV5IHdpbGwgYmUgaW5zdGFsbGVkIGluCiMJCQkJICAke1BSRUZJ
WH0vZXRjL3JjLmQgaWYgJHtQUkVGSVh9IGlzIG5vdCAvdXNyLCBvdGhlcndpc2UgdGhleQojCQkJ
CSAgd2lsbCBiZSBpbnN0YWxsZWQgaW4gL2V0Yy9yYy5kLyBhbmQgYWRkZWQgdG8gdGhlIHBhY2tp
bmcgbGlzdC4KIyMKIyBVU0VfQVBBQ0hFCS0gSWYgc2V0LCB0aGlzIHBvcnQgcmVsaWVzIG9uIGFu
IGFwYWNoZSB3ZWJzZXJ2ZXIuCiMKIyBDb25mbGljdCBjaGVja2luZy4gIFVzZSBpZiB5b3VyIHBv
cnQgY2Fubm90IGJlIGluc3RhbGxlZCBhdCB0aGUgc2FtZSB0aW1lIGFzCiMgYW5vdGhlciBwYWNr
YWdlLgojCiMgQ09ORkxJQ1RTCQktIEEgbGlzdCBvZiBwYWNrYWdlIG5hbWUgcGF0dGVybnMgdGhh
dCB0aGUgcG9ydCBjb25mbGljdHMKIwkJCQkgIHdpdGgsIHNlcGFyYXRlZCBieSBibGFua3MuICBU
aGUgbmFtZXMgbWF5IGluY2x1ZGUgc2hlbGwKIwkJCQkgIHBhdHRlcm4gbWV0YS1jaGFyYWN0ZXJz
ICIqIiwgIj8iLCAiWyIsICJdIiwgYW5kICIhIi4KIwkJCQkgIEV4YW1wbGU6IGFwYWNoZSotMS4y
KiBhcGFjaGUqLTEuMy5bMDEyMzQ1XSBhcGFjaGUtKitzc2xfKgojCiMgQ09ORkxJQ1RTX0JVSUxE
CiMJCQkJLSBDaGVjayBjb25mbGljdCBwcmlvciB0byB0aGUgYnVpbGQuCiMKIyBDT05GTElDVFNf
SU5TVEFMTAojCQkJCS0gQ2hlY2sgY29uZmxpY3QgcHJpb3IgdG8gdGhlIGluc3RhbGxhdGlvbiBz
dGFnZS4KIwojIFZhcmlvdXMgZGlyZWN0b3J5IGRlZmluaXRpb25zIGFuZCB2YXJpYWJsZXMgdG8g
Y29udHJvbCB0aGVtLgojIFlvdSByYXJlbHkgbmVlZCB0byByZWRlZmluZSBhbnkgb2YgdGhlc2Ug
ZXhjZXB0IFdSS1NSQyBhbmQgTk9fV1JLU1VCRElSLgojCiMgTE9DQUxCQVNFCQktIFdoZXJlIHBv
cnRzIGluc3RhbGwgdGhpbmdzLgojCQkJCSAgRGVmYXVsdDogL3Vzci9sb2NhbAojIExJTlVYQkFT
RQkJLSBXaGVyZSBMaW51eCBwb3J0cyBpbnN0YWxsIHRoaW5ncy4KIwkJCQkgIERlZmF1bHQ6IC9j
b21wYXQvbGludXgKIyBQUkVGSVgJCS0gV2hlcmUgKnRoaXMqIHBvcnQgaW5zdGFsbHMgaXRzIGZp
bGVzLgojCQkJCSAgRGVmYXVsdDogJHtMSU5VWEJBU0V9IGlmIFVTRV9MSU5VWF9QUkVGSVggaXMg
c2V0LAojCQkJCSAgb3RoZXJ3aXNlICR7TE9DQUxCQVNFfQojCiMgSUdOT1JFX1BBVEhfQ0hFQ0tT
CiMJCQkJLSBUaGVyZSBhcmUgc29tZSBzYW5pdHkgY2hlY2tzIGFnYWluc3QgUFJFRklYLgojCQkJ
CSAgWW91IGNhbiBkaXNhYmxlIHRoZXNlIGNoZWNrcyB3aXRoIGRlZmluaW5nCiMJCQkJICB0aGlz
IHZhcmlhYmxlLCBidXQgdGhpcyBpcyBub3QgcmVjb21tZW5kZWQhCiMJCQkJICBPbmx5IGRvIHRo
aXMgaWYgeW91IHJlYWxseSBrbm93IHdoYXQgeW91IGFyZQojCQkJCSAgZG9pbmcuICBUaGVzZSBz
YW5pdHkgY2hlY2tzIGFyZSB0aGUgZm9sbG93aW5nOgojCQkJCSAgICAtIFBSRUZJWCBoYXMgdG8g
YmUgYW4gYWJzb2x1dGUgcGF0aC4KIwkJCQkgICAgLSBQUkVGSVggY2FuJ3QgaGF2ZSBhIHRyYWls
aW5nIHNsYXNoLgojCiMgQlVORExFX0xJQlMJICBUZWFjaCBwa2coOCkgdG8gbm90IGF1dG9tYXRp
Y2FsbHkgYWRkIGFsbCBzaGFyZWQgbGlicmFyaWVzCiMgCQkJCSAgaW5zdGFsbGVkIGJ5IGEgcG9y
dCBhcyBzaGFyZWQgbGlicmFyaWVzICJwcm92aWRlZCIgZm9yCiMJCQkJICBvdGhlciBwYWNrYWdl
cyAoaS5lLiwgZG8gbm90IGV4cG9zZSB0aGVtIGluIHRoZSBzb2x2ZXIpLgojCQkJCSAgVGhpcyBo
YXMgdG8gYmUgdXNlZCBmb3IgcG9ydHMgdGhhdCBidW5kbGUgdGhpcmQgcGFydHkKIwkJCQkgIGxp
YnJhcmllcyBmb3IgaW50ZXJuYWwgdXNhZ2UuCiMgTUFTVEVSRElSCQktIFdoZXJlIHRoZSBwb3J0
IGZpbmRzIHBhdGNoZXMsIHBhY2thZ2UgZmlsZXMsIGV0Yy4gIERlZmluZQojCQkJCSAgdGhpcyBp
cyB5b3UgaGF2ZSB0d28gb3IgbW9yZSBwb3J0cyB0aGF0IHNoYXJlIG1vc3Qgb2YgdGhlCiMJCQkJ
ICBmaWxlcy4KIwkJCQkgIERlZmF1bHQ6ICR7LkNVUkRJUn0KIyBQT1JUU0RJUgkJLSBUaGUgcm9v
dCBvZiB0aGUgcG9ydHMgdHJlZS4KIwkJCQkgIERlZmF1bHQ6IC91c3IvcG9ydHMKIyBESVNURElS
CQktIFdoZXJlIHRvIHNlYXJjaCBmb3IgYW5kIHN0b3JlIGNvcGllcyBvZiBvcmlnaW5hbCBzb3Vy
Y2VzCiMJCQkJICBEZWZhdWx0OiAke1BPUlRTRElSfS9kaXN0ZmlsZXMKIyBQQUNLQUdFUwkJLSBB
IHRvcCBsZXZlbCBkaXJlY3Rvcnkgd2hlcmUgYWxsIHBhY2thZ2VzIGdvIChyYXRoZXIgdGhhbgoj
CQkJCSAgZ29pbmcgbG9jYWxseSB0byBlYWNoIHBvcnQpLgojCQkJCSAgRGVmYXVsdDogJHtQT1JU
U0RJUn0vcGFja2FnZXMKIyBXUktESVJQUkVGSVgJLSBUaGUgcGxhY2UgdG8gcm9vdCB0aGUgdGVt
cG9yYXJ5IHdvcmtpbmcgZGlyZWN0b3J5CiMJCQkJICBoaWVyYXJjaHkuCiMJCQkJICBEZWZhdWx0
OiBub25lCiMgV1JLRElSCQktIEEgdGVtcG9yYXJ5IHdvcmtpbmcgZGlyZWN0b3J5IHRoYXQgZ2V0
cyAqY2xvYmJlcmVkKiBvbiBjbGVhbgojCQkJCSAgRGVmYXVsdDogJHtXUktESVJQUkVGSVh9JHsu
Q1VSRElSfS93b3JrCiMgV1JLU1JDCQktIEEgc3ViZGlyZWN0b3J5IG9mICR7V1JLRElSfSB3aGVy
ZSB0aGUgZGlzdHJpYnV0aW9uIGFjdHVhbGx5CiMJCQkJICB1bnBhY2tzIHRvLgojCQkJCSAgRGVm
YXVsdDogJHtXUktESVJ9LyR7RElTVE5BTUV9IHVubGVzcyBOT19XUktTVUJESVIgaXMgc2V0LAoj
CQkJCSAgaW4gd2hpY2ggY2FzZSBzaW1wbHkgJHtXUktESVJ9CiMgV1JLU1JDX1NVQkRJUgktIEEg
c3ViZGlyZWN0b3J5IG9mICR7V1JLU1JDfSB3aGVyZSB0aGUgZGlzdHJpYnV0aW9uIGFjdHVhbGx5
CiMJCQkJICBidWlsZHMgaW4uCiMJCQkJICBEZWZhdWx0OiBub3Qgc2V0CiMgTk9fV1JLU1VCRElS
CS0gQXNzdW1lIHBvcnQgdW5wYWNrcyBkaXJlY3RseSBpbnRvICR7V1JLRElSfS4KIyBQQVRDSERJ
UgkJLSBBIGRpcmVjdG9yeSBjb250YWluaW5nIGFueSBhZGRpdGlvbmFsIHBhdGNoZXMgeW91IG1h
ZGUKIwkJCQkgIHRvIHBvcnQgdGhpcyBzb2Z0d2FyZSB0byBGcmVlQlNELgojCQkJCSAgRGVmYXVs
dDogJHtNQVNURVJESVJ9L2ZpbGVzCiMgU0NSSVBURElSCQktIEEgZGlyZWN0b3J5IGNvbnRhaW5p
bmcgYW55IGF1eGlsaWFyeSBzY3JpcHRzCiMJCQkJICBEZWZhdWx0OiAke01BU1RFUkRJUn0vc2Ny
aXB0cwojIEZJTEVTRElSCQktIEEgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYW55IG1pc2NlbGxhbmVv
dXMgYWRkaXRpb25hbCBmaWxlcy4KIwkJCQkgIERlZmF1bHQ6ICR7TUFTVEVSRElSfS9maWxlcwoj
IFBLR0RJUgkJLSBBIGRpcmVjdG9yeSBjb250YWluaW5nIGFueSBwYWNrYWdlIGNyZWF0aW9uIGZp
bGVzLgojCQkJCSAgRGVmYXVsdDogJHtNQVNURVJESVJ9CiMgU1JDX0JBU0UJCS0gVGhlIHJvb3Qg
b2YgdGhlIHNyYyB0cmVlLiAgKFNvbWUgcG9ydHMgcmVxdWlyZSB0aGlzIHRvIGdldAojCQkJCSAg
a2VybmVsIHNvdXJjZXMpLiAgRGVmYXVsdDogL3Vzci9zcmMKIyBVSURfRklMRVMJCS0gQSBsaXN0
IG9mIGZpbGVzIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgcmVnaXN0ZXJlZCBVSURzLgoj
IAkJCQkgIE5vdGUgdGhhdCBmaWxlcyBoYXZlIGRlY3JlYXNpbmcgcHJpb3JpdHkuCiMgR0lEX0ZJ
TEVTCQktIEEgbGlzdCBvZiBmaWxlcyBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IHJlZ2lz
dGVyZWQgR0lEcy4KIyAJCQkJICBOb3RlIHRoYXQgZmlsZXMgaGF2ZSBkZWNyZWFzaW5nIHByaW9y
aXR5LgojCiMgVmFyaWFibGVzIHRoYXQgc2VydmUgYXMgY29udmVuaWVudCAiYWxpYXNlcyIgZm9y
IHlvdXIgKi1pbnN0YWxsIHRhcmdldHMuCiMgVXNlIHRoZXNlIGxpa2U6ICIke0lOU1RBTExfUFJP
R1JBTX0gJHtXUktTUkN9L3Byb2cgJHtQUkVGSVh9L2JpbiIuCiMKIyBJTlNUQUxMX1BST0dSQU0K
IwkJCQktIEEgY29tbWFuZCB0byBpbnN0YWxsIGJpbmFyeSBleGVjdXRhYmxlcy4gIChCeQojCQkJ
CSAgZGVmYXVsdCwgYWxzbyBzdHJpcHMgdGhlbSwgdW5sZXNzICR7U1RSSVB9IGlzCiMJCQkJICBv
dmVycmlkZGVuIHRvIGJlIHRoZSBlbXB0eSBzdHJpbmcpLgojIElOU1RBTExfS0xECS0gQXMgSU5T
VEFMTF9QUk9HUkFNLCBidXQgd2l0aG91dCB0aGUgU1RSSVAuCiMgSU5TVEFMTF9MSUIJLSBBcyBJ
TlNUQUxMX0RBVEEsIGJ1dCBhbHNvIHN0cmlwcyB0aGUgZmlsZS4KIyBJTlNUQUxMX1NDUklQVAoj
CQkJCS0gQSBjb21tYW5kIHRvIGluc3RhbGwgZXhlY3V0YWJsZSBzY3JpcHRzLgojIElOU1RBTExf
REFUQQktIEEgY29tbWFuZCB0byBpbnN0YWxsIHNoYXJhYmxlIGRhdGEuCiMgSU5TVEFMTF9NQU4J
LSBBIGNvbW1hbmQgdG8gaW5zdGFsbCBtYW5wYWdlcy4KIyBDT1BZVFJFRV9CSU4KIyBDT1BZVFJF
RV9TSEFSRQojCQkJCS0gU2ltaWxpYXIgdG8gSU5TVEFMTF9QUk9HUkFNIGFuZCBJTlNUQUxMX0RB
VEEgY29tbWFuZHMgYnV0CiMJCQkJICB3b3JraW5nIG9uIHdob2xlIHRyZWVzIG9mIGRpcmVjdG9y
aWVzLCB0YWtlcyAzIGFyZ3VtZW50cywKIwkJCQkgIGxhc3Qgb25lIGlzIGZpbmQoMSkgYXJndW1l
bnRzIGFuZCBvcHRpb25hbC4KIwkJCQkgIEV4YW1wbGUgdXNlOiAKIwkJCQkgIGNkICR7V1JLU1JD
fS9kb2MgJiYgJHtDT1BZVFJFRV9TSEFSRX0gLiAke0RPQ1NESVJ9ICIhIC1uYW1lICpcLmJhayIK
IwojCQkJCSAgSW5zdGFsbHMgYWxsIGRpcmVjdG9yaWVzIGFuZCBmaWxlcyBmcm9tICR7V1JLU1JD
fS9kb2MKIwkJCQkgIHRvICR7RE9DU0RJUn0gZXhjZXB0IHNlZCBiYWNrdXAgZmlsZXMuCiMKIyBN
QU5QUkVGSVgJCS0gVGhlIGRpcmVjdG9yeSBwcmVmaXggZm9yICR7TUFOPHNlY3Q+fSBhbmQgJHtN
TElOS1N9LgojCQkJCSAgRGVmYXVsdDogJHtQUkVGSVh9CiMgTUFOPHNlY3Q+UFJFRklYCiMJCQkJ
LSBJZiBtYW51YWwgcGFnZXMgb2Ygc29tZSBzZWN0aW9ucyBpbnN0YWxsIGluIGRpZmZlcmVudAoj
CQkJCSAgbG9jYXRpb25zIHRoYW4gb3RoZXJzLCB1c2UgdGhlc2UuCiMJCQkJICBEZWZhdWx0OiAk
e01BTlBSRUZJWH0KIwojIFNldCB0aGUgZm9sbG93aW5nIHRvIHNwZWNpZnkgYWxsIC5pbmZvIGZp
bGVzIHlvdXIgcG9ydCBpbnN0YWxscy4KIwojIElORk8JCQktIEEgbGlzdCBvZiAuaW5mbyBmaWxl
cyAob21pdHRpbmcgdGhlIHRyYWlsaW5nICIuaW5mbyIpOwojCQkJCSAgb25seSBvbmUgZW50cnkg
cGVyIGRvY3VtZW50ISBUaGVzZSBmaWxlcyBhcmUgbGlzdGVkIGluCiMJCQkJICB0aGUgcGF0aCBy
ZWxhdGl2ZSB0byAke0lORk9fUEFUSH0uCiMgSU5GT19QQVRICQktIFBhdGgsIHdoZXJlIGFsbCAu
aW5mbyBmaWxlcyB3aWxsIGJlIGluc3RhbGxlZCBieSB5b3VyCiMJCQkJICBwb3J0LCByZWxhdGl2
ZSB0byAke1BSRUZJWH0KIwkJCQkgIERlZmF1bHQ6ICJzaGFyZS9pbmZvIiBpZiAke1BSRUZJWH0g
aXMgZXF1YWwgdG8gL3VzcgojCQkJCSAgYW5kICJpbmZvIiBvdGhlcndpc2UuCiMKIyBTZXQgdGhl
IGZvbGxvd2luZyB0byBzcGVjaWZ5IGFsbCBkb2N1bWVudGF0aW9uIHlvdXIgcG9ydCBpbnN0YWxs
cyBpbnRvCiMgJHtET0NTRElSfQojCiMgUE9SVERPQ1MJCS0gQSBsaXN0IG9mIGZpbGVzIGFuZCBk
aXJlY3RvcmllcyByZWxhdGl2ZSB0byBET0NTRElSLgojCQkJCSAgU2hlbGwgZ2xvYiBwYXR0ZXJu
cyBjYW4gYmUgdXNlZCwgZGlyZWN0b3JpZXMgaW5jbHVkZQojCQkJCSAgdGhlIGVudGlyZSBzdWJ0
cmVlIG9mIGNvbnRhaW5lZCBmaWxlcyBhbmQgZGlyZWN0b3JpZXMuCiMJCQkJICBTaG91bGQgbm90
IGJlIHNldCB3aGVuIG5vIGRvY3VtZW50YXRpb24gZmlsZXMgYXJlCiMJCQkJICBpbnN0YWxsZWQu
CiMJCQkJICBVc2VmdWwgZm9yIGR5bmFtaWNhbGx5IGdlbmVyYXRlZCBkb2N1bWVudGF0aW9uLgoj
CiMgU2V0IHRoZSBmb2xsb3dpbmcgdG8gc3BlY2lmeSBhbGwgZG9jdW1lbnRhdGlvbiB5b3VyIHBv
cnQgaW5zdGFsbHMgaW50bwojICR7RVhBTVBMRVNESVJ9CiMKIyBQT1JURVhBTVBMRVMJCS0gQSBs
aXN0IG9mIGZpbGVzIGFuZCBkaXJlY3RvcmllcyByZWxhdGl2ZSB0byBFWEFNUExFU0RJUi4KIwkJ
CQkgIFNoZWxsIGdsb2IgcGF0dGVybnMgY2FuIGJlIHVzZWQsIGRpcmVjdG9yaWVzIGluY2x1ZGUK
IwkJCQkgIHRoZSBlbnRpcmUgc3VidHJlZSBvZiBjb250YWluZWQgZmlsZXMgYW5kIGRpcmVjdG9y
aWVzLgojCQkJCSAgU2hvdWxkIG5vdCBiZSBzZXQgd2hlbiBubyBleGFtcGxlcyBmaWxlcyBhcmUK
IwkJCQkgIGluc3RhbGxlZC4KIwkJCQkgIFVzZWZ1bCBmb3IgZHluYW1pY2FsbHkgZ2VuZXJhdGVk
IGV4YW1wbGVzLgojCiMgU2V0IHRoZSBmb2xsb3dpbmcgdG8gc3BlY2lmeSBhbGwgZmlsZXMgYW5k
IGRpcmVjdG9yaWVzIHlvdXIgcG9ydCBpbnN0YWxscyBpbnRvCiMgJHtEQVRBRElSfQojCiMgUE9S
VERBVEEJCS0gQSBsaXN0IG9mIGZpbGVzIGFuZCBkaXJlY3RvcmllcyByZWxhdGl2ZSB0byBEQVRB
RElSLgojCQkJCSAgU2hlbGwgZ2xvYiBwYXR0ZXJucyBjYW4gYmUgdXNlZCwgZGlyZWN0b3JpZXMg
aW5jbHVkZQojCQkJCSAgdGhlIGVudGlyZSBzdWJ0cmVlIG9mIGNvbnRhaW5lZCBmaWxlcyBhbmQg
ZGlyZWN0b3JpZXMuCiMJCQkJICBTaG91bGQgbm90IGJlIHNldCB3aGVuIG5vIGRhdGEgZmlsZXMg
YXJlCiMJCQkJICBpbnN0YWxsZWQuCiMJCQkJICBVc2VmdWwgZm9yIGR5bmFtaWNhbGx5IGdlbmVy
YXRlZCBkYXRhIGZpbGVzLgojCiMgRGVmYXVsdCB0YXJnZXRzIGFuZCB0aGVpciBiZWhhdmlvcnM6
CiMKIyBmZXRjaAkJCS0gUmV0cmlldmVzIG1pc3NpbmcgJHtESVNURklMRVN9IGFuZCAke1BBVENI
RklMRVN9IGZvciB0aGlzCiMJCQkJICBwb3J0LgojIGZldGNoLWxpc3QJLSBTaG93IGxpc3Qgb2Yg
Y29tbWFuZHMgdG8gcmV0cmlldmUgbWlzc2luZyAke0RJU1RGSUxFU30gYW5kCiMJCQkJICAke1BB
VENIRklMRVN9IGZvciB0aGlzIHBvcnQuCiMgZmV0Y2gtcmVjdXJzaXZlCiMJCQkJLSBSZXRyaWV2
ZXMgbWlzc2luZyAke0RJU1RGSUxFU30gYW5kICR7UEFUQ0hGSUxFU30gZm9yIHRoaXMKIwkJCQkg
IHBvcnQgYW5kIGRlcGVuZGVuY2llcy4KIyBmZXRjaC1yZWN1cnNpdmUtbGlzdAojCQkJCS0gU2hv
dyBsaXN0IG9mIGNvbW1hbmRzIHRvIHJldHJpZXZlIG1pc3NpbmcgJHtESVNURklMRVN9IGFuZAoj
CQkJCSAgJHtQQVRDSEZJTEVTfSBmb3IgdGhpcyBwb3J0IGFuZCBkZXBlbmRlbmNpZXMuCiMgZmV0
Y2gtcmVxdWlyZWQKIwkJCQktIFJldHJpZXZlcyBtaXNzaW5nICR7RElTVEZJTEVTfSBhbmQgJHtQ
QVRDSEZJTEVTfSBmb3IgdGhpcwojCQkJCSAgcG9ydCBhbmQgZGVwZW5kZW5jaWVzLgojIGZldGNo
LXJlcXVpcmVkLWxpc3QKIwkJCQktIFNob3cgbGlzdCBvZiBjb21tYW5kcyB0byByZXRyaWV2ZSBt
aXNzaW5nICR7RElTVEZJTEVTfSBhbmQKIwkJCQkgICR7UEFUQ0hGSUxFU30gZm9yIHRoaXMgcG9y
dCBhbmQgZGVwZW5kZW5jaWVzLgojIGZldGNoLXVybC1saXN0CiMJCQkJLSBTaG93IGxpc3Qgb2Yg
VVJMUyB0byByZXRyaWV2ZSBtaXNzaW5nICR7RElTVEZJTEVTfSBhbmQKIwkJCQkgICR7UEFUQ0hG
SUxFU30gZm9yIHRoaXMgcG9ydC4KIyBmZXRjaC11cmxhbGwtbGlzdAojCQkJCS0gU2hvdyBsaXN0
IG9mIFVSTFMgdG8gcmV0cmlldmUgJHtESVNURklMRVN9IGFuZAojCQkJCSAgJHtQQVRDSEZJTEVT
fSBmb3IgdGhpcyBwb3J0LgojCiMgYWxsLWRlcGVuZHMtbGlzdAojCQkJCS0gU2hvdyBhbGwgZGly
ZWN0b3JpZXMgd2hpY2ggYXJlIGRlcGVuZGVuY2llcwojCQkJCSAgZm9yIHRoaXMgcG9ydC4KIyBi
dWlsZC1kZXBlbmRzLWxpc3QKIwkJCQktIFNob3cgYWxsIGRpcmVjdG9yaWVzIHdoaWNoIGFyZSBi
dWlsZC1kZXBlbmRlbmNpZXMKIwkJCQkgIGZvciB0aGlzIHBvcnQuCiMgcGFja2FnZS1kZXBlbmRz
LWxpc3QKIwkJCQktIFNob3cgYWxsIGRpcmVjdG9yaWVzIHdoaWNoIGFyZSBwYWNrYWdlLWRlcGVu
ZGVuY2llcwojCQkJCSAgZm9yIHRoaXMgcG9ydC4gVGhpcyBpcyBiYXNlZCB1cG9uIHRoZSBkZXBl
bmRlbmN5CiMJCQkJICB0cmVlIGFzIHJlY29yZGVkIGluIHRoZSBNYWtlZmlsZXMgb2YgdGhlIHBv
cnRzCiMJCQkJICBjb2xsZWN0aW9uLCBub3QgYXMgcmVjb3JkZWQgaW4gdGhlIGN1cnJlbnRseQoj
CQkJCSAgaW5zdGFsbGVkIHBvcnRzLgojIGFjdHVhbC1wYWNrYWdlLWRlcGVuZHMKIwkJCQktIExp
a2UgcGFja2FnZS1kZXBlbmRzLWxpc3QgYnV0IHdpdGggdGhlIGRpZmZlcmVuY2UKIwkJCQkgIHRo
YXQgdGhlIGRlcGVuZGVuY2llcyBvZiB0aGUgY3VycmVudGx5IGluc3RhbGxlZAojCQkJCSAgcG9y
dHMgYXJlIHVzZWQgaW5zdGVhZCBvZiB0aGUgZGVwZW5kZW5jaWVzIGFzCiMJCQkJICByZWNvcmRl
ZCBpbiB0aGUgcG9ydHMgY29sbGVjdGlvbi4KIyBydW4tZGVwZW5kcy1saXN0CiMJCQkJLSBTaG93
IGFsbCBkaXJlY3RvcmllcyB3aGljaCBhcmUgcnVuLWRlcGVuZGVuY2llcwojCQkJCSAgZm9yIHRo
aXMgcG9ydC4KIwojIGV4dHJhY3QJCS0gVW5wYWNrcyAke0RJU1RGSUxFU30gaW50byAke1dSS0RJ
Un0uCiMgcGF0Y2gJCQktIEFwcGx5IGFueSBwcm92aWRlZCBwYXRjaGVzIHRvIHRoZSBzb3VyY2Uu
CiMgY29uZmlndXJlCQktIFJ1bnMgZWl0aGVyIEdOVSBjb25maWd1cmUsIG9uZSBvciBtb3JlIGxv
Y2FsIGNvbmZpZ3VyZQojCQkJCSAgc2NyaXB0cyBvciBub3RoaW5nLCBkZXBlbmRpbmcgb24gd2hh
dCdzIGF2YWlsYWJsZS4KIyBidWlsZAkJCS0gQWN0dWFsbHkgY29tcGlsZSB0aGUgc291cmNlcy4K
IyBpbnN0YWxsCQktIEluc3RhbGwgdGhlIHJlc3VsdHMgb2YgYSBidWlsZC4KIyByZWluc3RhbGwJ
CS0gSW5zdGFsbCB0aGUgcmVzdWx0cyBvZiBhIGJ1aWxkLCBpZ25vcmluZyAiYWxyZWFkeSBpbnN0
YWxsZWQiCiMJCQkJICBmbGFnLgojIGRlaW5zdGFsbAkJLSBSZW1vdmUgdGhlIGluc3RhbGxhdGlv
bi4KIyBkZWluc3RhbGwtYWxsCS0gUmVtb3ZlIGFsbCBpbnN0YWxsYXRpb25zIHdpdGggdGhlIHNh
bWUgUEtHT1JJR0lOLgojIHBhY2thZ2UJCS0gQ3JlYXRlIGEgcGFja2FnZSBmcm9tIGFuIF9pbnN0
YWxsZWRfIHBvcnQuCiMgcGFja2FnZS1yZWN1cnNpdmUKIwkJCQktIENyZWF0ZSBhIHBhY2thZ2Ug
Zm9yIGEgcG9ydCBhbmQgX2FsbF8gb2YgaXRzIGRlcGVuZGVuY2llcy4KIyBkZXNjcmliZQkJLSBU
cnkgdG8gZ2VuZXJhdGUgYSBvbmUtbGluZSBkZXNjcmlwdGlvbiBmb3IgZWFjaCBwb3J0IGZvcgoj
CQkJCSAgdXNlIGluIElOREVYIGZpbGVzIGFuZCB0aGUgbGlrZS4KIyBjaGVjay1wbGlzdAkJLSBD
aGVja3MgZm9yIGZpbGVzIG1pc3NpbmcgZnJvbSB0aGUgcGxpc3QsIGFuZCBmaWxlcyBpbiB0aGUg
cGxpc3QKIwkJCQkgIHRoYXQgYXJlIG5vdCBpbnN0YWxsZWQgYnkgdGhlIHBvcnQuCiMgY2hlY2st
c2FuaXR5CQktIFBlcmZvcm0gc29tZSBiYXNpYyBjaGVja3Mgb2YgdGhlIHBvcnQgbGF5b3V0Lgoj
IGNoZWNrcGF0Y2gJLSBEbyBhICJwYXRjaCAtQyIgaW5zdGVhZCBvZiBhICJwYXRjaCIuICBOb3Rl
IHRoYXQgaXQgbWF5CiMJCQkJICBnaXZlIGluY29ycmVjdCByZXN1bHRzIGlmIG11bHRpcGxlIHBh
dGNoZXMgZGVhbCB3aXRoCiMJCQkJICB0aGUgc2FtZSBmaWxlLgojIGNoZWNrc3VtCQktIFVzZSBk
aXN0aW5mbyB0byBlbnN1cmUgdGhhdCB5b3VyIGRpc3RmaWxlcyBhcmUgdmFsaWQuCiMgY2hlY2tz
dW0tcmVjdXJzaXZlCiMJCQkJLSBSdW4gY2hlY2tzdW0gaW4gdGhpcyBwb3J0IGFuZCBhbGwgZGVw
ZW5kZW5jaWVzLgojIG1ha2VzdW0JCS0gR2VuZXJhdGUgZGlzdGluZm8gKG9ubHkgZG8gdGhpcyBm
b3IgeW91ciBvd24gcG9ydHMhKS4KIyBjbGVhbgkJCS0gUmVtb3ZlICR7V1JLRElSfSBhbmQgb3Ro
ZXIgdGVtcG9yYXJ5IGZpbGVzIHVzZWQgZm9yIGJ1aWxkaW5nLgojIGNsZWFuLWRlcGVuZHMJLSBE
byBhICJtYWtlIGNsZWFuIiBmb3IgYWxsIGRlcGVuZGVuY2llcy4KIyBjb25maWcJCS0gQ29uZmln
dXJlIG9wdGlvbnMgZm9yIHRoaXMgcG9ydCAodXNpbmcgJHtESUFMT0d9KS4KIwkJCQkgIEF1dG9t
YXRpY2FsbHkgcnVuIHByaW9yIHRvIGV4dHJhY3QsIHBhdGNoLCBjb25maWd1cmUsIGJ1aWxkLAoj
CQkJCSAgaW5zdGFsbCwgYW5kIHBhY2thZ2UuCiMgY29uZmlnLXJlY3Vyc2l2ZQojCQkJCS0gQ29u
ZmlndXJlIG9wdGlvbnMgZm9yIHRoaXMgcG9ydCBmb3IgYSBwb3J0IGFuZCBhbGwgaXRzCiMJCQkJ
ICBkZXBlbmRlbmNpZXMuCiMgc2hvd2NvbmZpZwktIERpc3BsYXkgb3B0aW9ucyBjb25maWcgZm9y
IHRoaXMgcG9ydC4KIyBzaG93Y29uZmlnLXJlY3Vyc2l2ZQojCQkJCS0gRGlzcGxheSBvcHRpb25z
IGNvbmZpZyBmb3IgdGhpcyBwb3J0IGFuZCBhbGwgaXRzCiMJCQkJICBkZXBlbmRlbmNpZXMuCiMg
cm1jb25maWcJCS0gUmVtb3ZlIHRoZSBvcHRpb25zIGNvbmZpZyBmb3IgdGhpcyBwb3J0LgojIHJt
Y29uZmlnLXJlY3Vyc2l2ZQojCQkJCS0gUmVtb3ZlIHRoZSBvcHRpb25zIGNvbmZpZyBmb3IgdGhp
cyBwb3J0IGFuZCBhbGwgaXRzCiMJCQkJICBkZXBlbmRlbmNpZXMuCiMKIyBEZWZhdWx0IHNlcXVl
bmNlIGZvciAiYWxsIiBpczoKIwojCQljaGVjay1zYW5pdHkgZmV0Y2ggY2hlY2tzdW0gZXh0cmFj
dCBwYXRjaCBjb25maWd1cmUgYnVpbGQKIwojIFBsZWFzZSByZWFkIHRoZSBjb21tZW50cyBpbiB0
aGUgdGFyZ2V0cyBzZWN0aW9uIGJlbG93OyB5b3UKIyBzaG91bGQgYmUgYWJsZSB0byB1c2UgdGhl
IHByZS0qIG9yIHBvc3QtKiB0YXJnZXRzL3NjcmlwdHMKIyAod2hpY2ggYXJlIGF2YWlsYWJsZSBm
b3IgZXZlcnkgc3RhZ2UgZXhjZXB0IGNoZWNrc3VtKSBvcgojIG92ZXJyaWRlIHRoZSBkby0qIHRh
cmdldHMgdG8gZG8gcHJldHR5IG11Y2ggYW55dGhpbmcgeW91IHdhbnQuCiMKIyBORVZFUiBvdmVy
cmlkZSB0aGUgInJlZ3VsYXIiIHRhcmdldHMgdW5sZXNzIHlvdSB3YW50IHRvIG9wZW4KIyBhIG1h
am9yIGNhbiBvZiB3b3Jtcy4KIwojIFNldCB0aGVzZSB2YXJpYWJsZXMgaWYgeW91ciBwb3J0IGRv
ZXNuJ3QgbmVlZCBzb21lIG9mIHRoZSBzdGVwcy4KIyBOb3RlIHRoYXQgdGhlcmUgYXJlIG5vIE5P
X1BBVENIIG9yIE5PX0NPTkZJR1VSRSB2YXJpYWJsZXMgYmVjYXVzZQojIHRob3NlIHN0ZXBzIGFy
ZSBlbXB0eSBieSBkZWZhdWx0LiAgTk9fRVhUUkFDVCBpcyBub3QgYWxsb3dlZCBhbnltb3JlCiMg
c2luY2Ugd2UgbmVlZCB0byBhdCBsZWFzdCBjcmVhdGUgJHtXUktESVJ9LiAgQWxzbywgTk9fQ0hF
Q0tTVU0gaXMgYSB1c2VyCiMgdmFyaWFibGUgYW5kIGlzIG5vdCB0byBiZSBzZXQgaW4gYSBwb3J0
J3MgTWFrZWZpbGUuICBTZWUgYWJvdmUgZm9yIE5PX1BBQ0tBR0UuCiMKIyBOT19CVUlMRAkJLSBV
c2UgYSBkdW1teSAoZG8tbm90aGluZykgYnVpbGQgdGFyZ2V0LgojIE5PX0lOU1RBTEwJLSBVc2Ug
YSBkdW1teSAoZG8tbm90aGluZykgaW5zdGFsbCB0YXJnZXQuCiMKIyBIZXJlIGFyZSBzb21lIHZh
cmlhYmxlcyB1c2VkIGluIHZhcmlvdXMgc3RhZ2VzLgojCiMgRm9yIG9wdGlvbnMgc2VlIGJzZC5v
cHRpb25zLm1rCiMKIyBGb3IgZmV0Y2g6CiMKIyBGRVRDSF9CSU5BUlkJLSBQYXRoIHRvIGZ0cC9o
dHRwIGZldGNoIGNvbW1hbmQgaWYgbm90IGluICRQQVRILgojCQkJCSAgRGVmYXVsdDogIi91c3Iv
YmluL2ZldGNoIgojIEZFVENIX0FSR1MJLSBBcmd1bWVudHMgdG8gZnRwL2h0dHAgZmV0Y2ggY29t
bWFuZC4KIwkJCQkgIERlZmF1bHQ6ICItRnByIgojIEZFVENIX0NNRAkJLSBmdHAvaHR0cCBmZXRj
aCBjb21tYW5kLgojCQkJCSAgRGVmYXVsdDogJHtGRVRDSF9CSU5BUll9ICR7RkVUQ0hfQVJHU30K
IyBGRVRDSF9CRUZPUkVfQVJHUwojCQkJCS0gQXJndW1lbnRzIHRvICR7RkVUQ0hfQ01EfSBiZWZv
cmUgZmlsZW5hbWUuCiMJCQkJICBEZWZhdWx0OiBub25lCiMgRkVUQ0hfQUZURVJfQVJHUwojCQkJ
CS0gQXJndW1lbnRzIHRvICR7RkVUQ0hfQ01EfSBmb2xsb3dpbmcgZmlsZW5hbWUuCiMJCQkJICBE
ZWZhdWx0OiBub25lCiMgRkVUQ0hfRU5WCQktIEVudmlyb25tZW50IHRvIHBhc3MgdG8gJHtGRVRD
SF9DTUR9LgojCQkJCSAgRGVmYXVsdDogbm9uZQojIEZFVENIX1JFR0VUCS0gVGltZXMgdG8gcmV0
cnkgZmV0Y2hpbmcgb2YgZmlsZXMgb24gY2hlY2tzdW0gZXJyb3JzLgojCQkJCSAgRGVmYXVsdDog
MQojIENMRUFOX0ZFVENIX0VOVgojCQkJCS0gRGlzYWJsZSBwYWNrYWdlIGRlcGVuZGVuY3kgaW4g
ZmV0Y2ggdGFyZ2V0IGZvciBtYXNzCiMJCQkJICBmZXRjaGluZy4gIFVzZXIgc2V0dGFibGUuCiMK
IyBGb3IgZXh0cmFjdDoKIwojIEVYVFJBQ1RfQ01ECS0gQ29tbWFuZCBmb3IgZXh0cmFjdGluZyBh
cmNoaXZlCiMJCQkJICBEZWZhdWx0OiAke1RBUn0KIyBFWFRSQUNUX0JFRk9SRV9BUkdTCiMJCQkJ
LSBBcmd1bWVudHMgdG8gJHtFWFRSQUNUX0NNRH0gYmVmb3JlIGZpbGVuYW1lLgojCQkJCSAgRGVm
YXVsdDogIi14ZiIKIyBFWFRSQUNUX0FGVEVSX0FSR1MKIwkJCQktIEFyZ3VtZW50cyB0byAke0VY
VFJBQ1RfQ01EfSBmb2xsb3dpbmcgZmlsZW5hbWUuCiMJCQkJICBEZWZhdWx0OiAiLS1uby1zYW1l
LW93bmVyIC0tbm8tc2FtZS1wZXJtaXNzaW9ucyIKIyBGb3IgcGF0Y2g6CiMKIyBFWFRSQV9QQVRD
SEVTCS0gRGVmaW5lIHRoaXMgdmFyaWFibGUgaWYgeW91IGhhdmUgcGF0Y2hlcyBub3QgaW4KIwkJ
CQkgICR7UEFUQ0hESVJ9LiAgVGhpcyB1c3VhbGx5IGhhcHBlbnMgd2hlbiB5b3UgbmVlZCB0bwoj
CQkJCSAgZG8gc29tZSBwcmUtcHJvY2Vzc2luZyBiZWZvcmUgc29tZSBkaXN0cmlidXRpb24KIwkJ
CQkgIHBhdGNoZXMgY2FuIGJlIGFwcGxpZWQuICBJbiB0aGF0IGNhc2UsIGZldGNoIHRoZW0gYXMK
IwkJCQkgIGV4dHJhIGRpc3RmaWxlcywgcHV0IHRoZSBwcm9jZXNzZWQgcmVzdWx0cyBpbgojCQkJ
CSAgJHtXUktESVJ9LCB0aGVuIHBvaW50IEVYVFJBX1BBVENIRVMgdG8gdGhlbS4KIwkJCQkgIFRo
ZSBwYXRjaGVzIHNwZWNpZmllZCBieSB0aGlzIHZhcmlhYmxlIHdpbGwgYmUKIwkJCQkgIGFwcGxp
ZWQgYWZ0ZXIgdGhlIG5vcm1hbCBkaXN0cmlidXRpb24gcGF0Y2hlcyBidXQKIwkJCQkgIGJlZm9y
ZSB0aG9zZSBpbiAke1BBVENIRElSfS4KIyBQQVRDSF9XUktTUkMJLSBEaXJlY3RvcnkgdG8gYXBw
bHkgcGF0Y2hlcyBpbi4KIwkJCQkgIERlZmF1bHQ6ICR7V1JLU1JDfQojCiMgRm9yIGNvbmZpZ3Vy
ZToKIwojIEhBU19DT05GSUdVUkUJLSBJZiBzZXQsIHRoaXMgcG9ydCBoYXMgaXRzIG93biBjb25m
aWd1cmUgc2NyaXB0LiAgVGhlCiMJCQkJICBjb25maWd1cmUgc3RhZ2Ugd2lsbCBub3QgZG8gYW55
dGhpbmcgaWYgdGhpcyBpcyBub3Qgc2V0LgojIEdOVV9DT05GSUdVUkUJLSBJZiBzZXQsIHlvdSBh
cmUgdXNpbmcgR05VIGNvbmZpZ3VyZSAob3B0aW9uYWwpLiAgSW1wbGllcwojCQkJCSAgSEFTX0NP
TkZJR1VSRS4KIyBDT05GSUdVUkVfV1JLU1JDCiMJCQkJLSBEaXJlY3RvcnkgdG8gcnVuIGNvbmZp
Z3VyZSBpbi4KIwkJCQkgIERlZmF1bHQ6ICR7V1JLU1JDfQojIENPTkZJR1VSRV9TQ1JJUFQKIwkJ
CQktIE5hbWUgb2YgY29uZmlndXJlIHNjcmlwdCwgcmVsYXRpdmUgdG8gJHtDT05GSUdVUkVfV1JL
U1JDfS4KIwkJCQkgIERlZmF1bHQ6ICJNYWtlZmlsZS5QTCIgaWYgVVNFUz1wZXJsNSBhbmQgVVNF
X1BFUkw1PWNvbmZpZ3VyZQojCQkJCSAgYXJlIHNldCwgImNvbmZpZ3VyZSIgb3RoZXJ3aXNlLgoj
IENPTkZJR1VSRV9UQVJHRVQKIwkJCQktIFRoZSBuYW1lIG9mIHRhcmdldCB0byBjYWxsIHdoZW4g
R05VX0NPTkZJR1VSRSBpcwojCQkJCSAgZGVmaW5lZC4KIwkJCQkgIERlZmF1bHQ6ICR7QVJDSH0t
cG9ydGJsZC0ke09QU1lTOnRsfSR7T1NSRUx9CiMgR05VX0NPTkZJR1VSRV9QUkVGSVgKIwkJCQkt
IFRoZSBkaXJlY3RvcnkgcGFzc2VkIGFzIHByZWZpeCB0byB0aGUgY29uZmlndXJlIHNjcmlwdCBp
ZgojCQkJCSAgR05VX0NPTkZJR1VSRSBpcyBzZXQuCiMJCQkJICBEZWZhdWx0OiAke1BSRUZJWH0K
IyBDT05GSUdVUkVfQVJHUwojCQkJCS0gUGFzcyB0aGVzZSBhcmdzIHRvIGNvbmZpZ3VyZSBpZiAk
e0hBU19DT05GSUdVUkV9IGlzIHNldC4KIwkJCQkgIERlZmF1bHQ6ICItLXByZWZpeD0ke0dOVV9D
T05GSUdVUkVfUFJFRklYfQojCQkJCSAgLS1pbmZvZGlyPSR7UFJFRklYfS8ke0lORk9fUEFUSH0g
LS1sb2NhbHN0YXRlZGlyPS92YXIKIwkJCQkgIC0tbWFuZGlyPSR7TUFOUFJFRklYfS9tYW4gLS1i
dWlsZD0ke0NPTkZJR1VSRV9UQVJHRVR9IiBpZgojCQkJCSAgR05VX0NPTkZJR1VSRSBpcyBzZXQs
ICJDQz0ke0NDfSBDRkxBR1M9JHtDRkxBR1N9CiMJCQkJICBQUkVGSVg9JHtQUkVGSVh9IElOU1RB
TExQUklWTElCPSR7UFJFRklYfS9saWIKIwkJCQkgIElOU1RBTExBUkNITElCPSR7UFJFRklYfS9s
aWIiIGlmIFVTRVM9cGVybDUgYW5kCiMJCQkJICBVU0VfUEVSTDU9Y29uZmlndXJlIGFyZSBzZXQs
IGVtcHR5IG90aGVyd2lzZS4KIyBDT05GSUdVUkVfRU5WCS0gUGFzcyB0aGVzZSBlbnYgKHNoZWxs
LWxpa2UpIHRvIGNvbmZpZ3VyZSBpZgojCQkJCSAgJHtIQVNfQ09ORklHVVJFfSBpcyBzZXQuCiMg
Q09ORklHVVJFX0xPRwktIFRoZSBuYW1lIG9mIGNvbmZpZ3VyZSBsb2cgZmlsZS4gSXQgd2lsbCBi
ZSBwcmludGVkIHRvCiMJCQkJICB0aGUgc2NyZWVuIGlmIGNvbmZpZ3VyZSBmYWlscy4KIwkJCQkg
IERlZmF1bHQ6IGNvbmZpZy5sb2cKIyBDT05GSUdVUkVfRkFJTF9NRVNTQUdFCiMJCQkJLSBBIG1l
c3NhZ2UgZGlzcGxheWVkIHRvIHVzZXJzIHdoZW4gY29uZmlndXJlCiMJCQkJICBmYWlscyAobm90
ZTogdGhpcyBhc3N1bWVzIHRoZSBkby1jb25maWd1cmUKIwkJCQkgIHRhcmdldCBoYXMgbm90IGJl
ZW4gb3ZlcndyaXR0ZW4pLiAgVGhpcyBtZXNzYWdlCiMJCQkJICB3aWxsIGJlIHBhc3NlZCB0aHJv
dWdoIC91c3IvYmluL2ZtdCBiZWZvcmUKIwkJCQkgIGJlaW5nIHNob3duIHRvIHRoZSB1c2VyLgoj
CiMgV0lUSE9VVF9GQlNEMTBfRklYCQkgIERpc2FibGUgRnJlZUJTRCAxMC4wIGF1dG90b29scyB3
b3JrYXJvdW5kLgojCiMgRm9yIGJ1aWxkIGFuZCBpbnN0YWxsOgojCiMgTUFLRUZJTEUJCS0gTmFt
ZSBvZiB0aGUgbWFrZWZpbGUuCiMJCQkJICBEZWZhdWx0OiBNYWtlZmlsZQojIEFMTF9UQVJHRVQJ
LSBEZWZhdWx0IHRhcmdldCBmb3Igc3ViLW1ha2UgaW4gYnVpbGQgc3RhZ2UuCiMJCQkJICBEZWZh
dWx0OiBhbGwKIyBCVUlMRF9XUktTUkMJLSBEaXJlY3RvcnkgdG8gZG8gYnVpbGQgaW4gKGRlZmF1
bHQ6ICR7V1JLU1JDfSkuCiMgTUFLRV9FTlYJCS0gQWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJz
IHBhc3NlZCB0byBzdWItbWFrZSBpbiBidWlsZAojCQkJCSAgYW5kIGluc3RhbGwgc3RhZ2VzLgoj
CQkJCSAgRGVmYXVsdDogc2VlIGJlbG93CiMgTUFLRV9BUkdTCQktIEFueSBleHRyYSBhcmd1bWVu
dHMgdG8gc3ViLW1ha2UgaW4gYnVpbGQgYW5kIGluc3RhbGwgc3RhZ2VzLgojCQkJCSAgRGVmYXVs
dDogbm9uZQojIwojIE1BS0VfSk9CU19VTlNBRkUKIwkJCQktIERpc2FsbG93IG11bHRpcGxlIGpv
YnMgZXZlbiB3aGVuIHVzZXIgc2V0IGEgZ2xvYmFsIG92ZXJyaWRlLgojCQkJCSAgVG8gYmUgdXNl
ZCB3aXRoIGtub3duIGJhZCBwb3J0cy4KIyBESVNBQkxFX01BS0VfSk9CUwojCQkJCS0gU2V0IHRv
IGRpc2FibGUgdGhlIG11bHRpcGxlIGpvYnMgZmVhdHVyZS4gIFVzZXIgc2V0dGFibGUuCiMgTUFL
RV9KT0JTX05VTUJFUgojCQkJCS0gT3ZlcnJpZGUgdGhlIG51bWJlciBvZiBtYWtlIGpvYnMgdG8g
YmUgdXNlZC4gIFVzZXIgc2V0dGFibGUuCiMgTUFLRV9KT0JTX05VTUJFUl9MSU1JVAojCQkJCS0g
U2V0IGEgbGltaXQgZm9yIG1heGltdW0gbnVtYmVyIG9mIG1ha2Ugam9icyBhbGxvd2VkIHRvIGJl
CiMJCQkJICB1c2VkLgojIyBjYWNjaGUKIwojIFdJVEhfQ0NBQ0hFX0JVSUxECiMgCQkJCS0gRW5h
YmxlIENDQUNIRSBzdXBwb3J0IChkZXZlbC9jY2FjaGUpLiAgVXNlciBzZXR0YWJsZS4KIyBDQ0FD
SEVfRElSCiMgCQkJCS0gV2hpY2ggZGlyZWN0b3J5IHRvIHVzZSBmb3IgY2NhY2hlIChkZWZhdWx0
OiAkSE9NRS8uY2NhY2hlKQojIE5PX0NDQUNIRQojCQkJCS0gRGlzYWJsZSBDQ0FDSEUgc3VwcG9y
dCBmb3IgZXhhbXBsZSBmb3IgY2VydGFpbiBwb3J0cyBpZgojCQkJCSAgQ0NBQ0hFIGlzIGVuYWJs
ZWQuICBVc2VyIHNldHRhYmxlLgojCiMgRm9yIGluc3RhbGw6CiMKIyBJTlNUQUxMX1RBUkdFVAoj
CQkJCS0gRGVmYXVsdCB0YXJnZXQgZm9yIHN1Yi1tYWtlIGluIGluc3RhbGwgc3RhZ2UuCiMJCQkJ
ICBEZWZhdWx0OiBpbnN0YWxsCiMgSU5TVEFMTF9XUktTUkMKIwkJCQktIERpcmVjdG9yeSB0byBp
bnN0YWxsIGZyb20KIwkJCQkgIERlZmF1bHQ6ICR7V1JLU1JDfQojIE5PX01UUkVFCQktIElmIHNl
dCwgd2lsbCBub3QgaW52b2tlIG10cmVlIGZyb20gYnNkLnBvcnQubWsgZnJvbQojCQkJCSAgdGhl
ICJpbnN0YWxsIiB0YXJnZXQuCiMgTVRSRUVfRklMRQktIFRoZSBuYW1lIG9mIHRoZSBtdHJlZSBm
aWxlLgojCQkJCSAgRGVmYXVsdDogJHtQT1JUU0RJUn0vVGVtcGxhdGVzL0JTRC5sb2NhbC5kaXN0
IG9yCiMJCQkJICAvZXRjL210cmVlL0JTRC51c3IuZGlzdCBpZiAke1BSRUZJWH0gPT0gIi91c3Ii
LgojIFBMSVNUX0RJUlMJLSBEaXJlY3RvcmllcyB0byBiZSBhZGRlZCB0byBwYWNraW5nIGxpc3QK
IyBQTElTVF9GSUxFUwktIEZpbGVzIGFuZCBzeW1ib2xpYyBsaW5rcyB0byBiZSBhZGRlZCB0byBw
YWNraW5nIGxpc3QKIwojIFBMSVNUCQkJLSBOYW1lIG9mIHRoZSBgcGFja2luZyBsaXN0JyBmaWxl
LgojCQkJCSAgQ2hhbmdlIHRoaXMgdG8gJHtXUktESVJ9L1BMSVNUIG9yIHNvbWV0aGluZyBpZiB5
b3UKIwkJCQkgIG5lZWQgdG8gd3JpdGUgdG8gaXQuICAoSXQgaXMgbm90IGEgZ29vZCBpZGVhIGZv
ciBhIHBvcnQKIwkJCQkgIHRvIHdyaXRlIHRvIGFueSBmaWxlIG91dHNpZGUgJHtXUktESVJ9IGR1
cmluZyBhIG5vcm1hbAojCQkJCSAgYnVpbGQuKQojCQkJCSAgRGVmYXVsdDogJHtQS0dESVJ9L3Br
Zy1wbGlzdAojIFRNUFBMSVNUCQktIE5hbWUgb2YgdGhlIGBwYWNraW5nIGxpc3QnIGZpbGUgYWZ0
ZXIgcHJvY2Vzc2luZwojCQkJCSAgRGVmYXVsdDogJHtXUktESVJ9Ly5QTElTVC5ta3RtcAojIFBM
SVNUX1NVQgkJLSBMaXN0IG9mICJ2YXJpYWJsZT12YWx1ZSIgcGFpciBmb3Igc3Vic3RpdHV0aW9u
IGluICR7UExJU1R9CiMJCQkJICBEZWZhdWx0OiBzZWUgYmVsb3cKIwojIFNVQl9GSUxFUwkJLSBG
aWxlcyB0aGF0IHNob3VsZCBiZSBwYXNzZWQgdGhyb3VnaCBzZWQgYW5kIHJlZGlyZWN0ZWQgdG8K
IwkJCQkgICR7V1JLRElSfS4KIwkJCQktIEZvciBlYWNoIGZpbGUgc3BlY2lmaWVkIGluIFNVQl9G
SUxFUywgdGhlcmUgbXVzdCBiZSBhCiMJCQkJICBjb3JyZXNwb25kaW5nIGZpbGUgaW4gJHtGSUxF
U0RJUn0gd2hvc2Ugc3VmZml4IGlzICIuaW4iLiBGb3IKIwkJCQkgIGluc3RhbmNlLCBpZiB0aGUg
TWFrZWZpbGUgc3BlY2lmaWVzICJTVUJfRklMRVM9IHBrZy1tZXNzYWdlIgojCQkJCSAgdGhlbiB0
aGVyZSBtdXN0IGJlIGEgZmlsZSBjYWxsZWQgcGtnLW1lc3NhZ2UuaW4gaW4KIwkJCQkgICR7RklM
RVNESVJ9LgojCQkJCS0gVGhlIHN1YnN0aXR1dGlvbiBwcm9jZXNzIGlzIHRoZSBzYW1lIGFzIFBM
SVNUX0ZJTEVTLCBhcwojCQkJCSAgZGVzY3JpYmVkIGJlbG93IGV4Y2VwdCB0aGF0IGFueSBsaW5l
IGJlZ2lubmluZyB3aXRoIEBjb21tZW50CiMJCQkJICBpcyBkZWxldGVkLgojIFNVQl9MSVNUCQkt
IExpc3Qgb2YgInZhcmlhYmxlPXZhbHVlIiBwYWlyIGZvciBzdWJzdGl0dXRpb24gaW4gJHtTVUJf
RklMRVN9CiMJCQkJICBTb21lIHBhaXJzIGFyZSBhZGRlZCBieSBkZWZhdWx0OiBlZy4gUFJFRklY
PSR7UFJFRklYfQojCiMgVVNFX0xEQ09ORklHICAtIElmIHNldCB0byAieWVzIiwgdGhpcyBhZGRz
ICR7UFJFRklYfS9saWIgdG8gdGhlIGxpc3Qgb2YKIwkJCQkgIGRpcmVjdG9yaWVzIHRvIGJlIHNl
YXJjaGVkIGZvciBzaGFyZWQgbGlicmFyaWVzLgojCQkJCSAgT3RoZXJ3aXNlLCB0aGlzIGlzIGEg
bGlzdCBvZiBkaXJlY3RvcmllcyB0byBiZSBhZGRlZCB0byB0aGF0CiMJCQkJICBsaXN0LiBUaGUg
ZGlyZWN0b3J5IG5hbWVzIGFyZSB3cml0dGVuIHRvCiMJCQkJICAke0xPQ0FMQkFTRX0vbGliZGF0
YS9sZGNvbmZpZy8ke1VOSVFVRU5BTUV9IHdoaWNoIGlzIHRoZW4KIwkJCQkgIHVzZWQgYnkgdGhl
IGxkY29uZmlnIHN0YXJ0dXAgc2NyaXB0LgojCQkJCSAgVGhpcyBtZWNoYW5pc20gcmVwbGFjZXMg
bGRjb25maWcgc2NyaXB0cyBpbnN0YWxsZWQgYnkgc29tZQojCQkJCSAgcG9ydHMsIG9mdGVuIHVu
ZGVyIHN1Y2ggbmFtZXMgYXMgMDAwLiR7VU5RVUVOQU1FfS5zaC4KIwkJCQkgIElmIFVTRV9MSU5V
WF9QUkVGSVggaXMgZGVmaW5lZCwgdGhlIExpbnV4IHZlcnNpb24gb2YKIwkJCQkgIGxkY29uZmln
IHdpbGwgYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSBuYXRpdmUgRnJlZUJTRAojCQkJCSAgdmVyc2lv
biwgYW5kIHRoZSBkaXJlY3RvcnkgbGlzdCBnaXZlbiB3aWxsIGJlIGlnbm9yZWQuCiMgVVNFX0xE
Q09ORklHMzIKIyAJCQkJLSBTYW1lIGFzIFVTRV9MRENPTkZJRyBidXQgdGhlIHRhcmdldCBmaWxl
IGlzCiMgCQkJCSAgJHtMT0NBTEJBU0V9L2xpYmRhdGEvbGRjb25maWczMi8ke1VOSVFVRU5BTUV9
IGluc3RlYWQuCiMgCQkJCSAgTm90ZTogdGhhdCBzaG91bGQgb25seSBiZSB1c2VkIG9uIDY0LWJp
dCBhcmNoaXRlY3R1cmVzLgojCiMgRE9DU0RJUgkJLSBOYW1lIG9mIHRoZSBkaXJlY3RvcnkgdG8g
aW5zdGFsbCB0aGUgcGFja2FnZXMgZG9jcyBpbi4KIwkJCQkgIERlZmF1bHQ6ICR7UFJFRklYfS9z
aGFyZS9kb2MvJHtQT1JUTkFNRX0KIyBET0NTRElSX1JFTAktIFRoZSBET0NTRElSIHJlbGF0aXZl
IHRvICR7UFJFRklYfQojIEVYQU1QTEVTRElSCS0gTmFtZSBvZiB0aGUgZGlyZWN0b3J5IHRvIGlu
c3RhbGwgdGhlIHBhY2thZ2VzIGV4YW1wbGVzIGluLgojCQkJCSAgRGVmYXVsdDogJHtQUkVGSVh9
L3NoYXJlL2V4YW1wbGVzLyR7UE9SVE5BTUV9CiMgRVhBTVBMRVNESVJfUkVMCiMJCQkJLSBUaGUg
RVhBTVBMRVNESVIgcmVsYXRpdmUgdG8gJHtQUkVGSVh9CiMgREFUQURJUgkJLSBOYW1lIG9mIHRo
ZSBkaXJlY3RvcnkgdG8gaW5zdGFsbCB0aGUgcGFja2FnZXMgc2hhcmVkIGRhdGEgaW4uCiMJCQkJ
ICBEZWZhdWx0OiAke1BSRUZJWH0vc2hhcmUvJHtQT1JUTkFNRX0KIyBEQVRBRElSX1JFTAktIFRo
ZSBEQVRBRElSIHJlbGF0aXZlIHRvICR7UFJFRklYfQojCiMgV1dXRElSCQktIE5hbWUgb2YgdGhl
IGRpcmVjdG9yeSB0byBpbnN0YWxsIHRoZSBwYWNrYWdlcyB3d3cgZGF0YSBpbi4KIwkJCQkgIERl
ZmF1bHQ6ICR7UFJFRklYfS93d3cvJHtQT1JUTkFNRX0KIyBXV1dESVJfUkVMCS0gVGhlIFdXV0RJ
UiByZWxhdGl2ZSB0byAke1BSRUZJWH0KIwojIFVTRVJTCQkJLSBMaXN0IG9mIHVzZXJzIHRvIGNy
ZWF0ZSBhdCBpbnN0YWxsIHRpbWUuIEVhY2ggbG9naW4gbXVzdAojIAkJCQkgIGhhdmUgYSBjb3Jy
ZXNwb25kaW5nIGVudHJ5IGluICR7VUlEX0ZJTEVTfS4KIyBHUk9VUFMJCS0gTGlzdCBvZiBncm91
cHMgdG8gY3JlYXRlIGF0IGluc3RhbGwgdGltZS4gRWFjaCBncm91cCBtdXN0CiMgCQkJCSAgaGF2
ZSBhIGNvcnJlc3BvbmRpbmcgZW50cnkgaW4gJHtHSURfRklMRVN9LgojCiMgREVTS1RPUERJUgkt
IE5hbWUgb2YgdGhlIGRpcmVjdG9yeSB0byBpbnN0YWxsICR7REVTS1RPUF9FTlRSSUVTfSBpbi4K
IwkJCQkgIERlZmF1bHQ6ICR7UFJFRklYfS9zaGFyZS9hcHBsaWNhdGlvbnMKIyBERVNLVE9QX0VO
VFJJRVMKIwkJCQktIExpc3Qgb2YgZGVza3RvcCBlbnRyeSBmaWxlcyB0byBnZW5lcmF0ZSBhbmQg
aW5zdGFsbCBpbgojCQkJCSAgJHtERVNLVE9QRElSfS4gVGhlIGZvcm1hdCBpcwojCQkJCSAgIk5h
bWUiICJDb21tZW50IiAiSWNvbiIgIkV4ZWMiICJDYXRlZ29yaWVzIiBTdGFydHVwTm90aWZ5CiMJ
CQkJICBSdWxlczoKIwkJCQkJKiBPbmx5IGFkZCBkZXNrdG9wIGVudHJpZXMgZm9yIGFwcGxpY2F0
aW9ucyB3aGljaCBkbyBub3QKIwkJCQkJICByZXF1aXJlIGEgdGVybWluYWwgKGllLiBYIGFwcGxp
Y2F0aW9ucykuCiMJCQkJCSogSWYgdGhlIHVwc3RyZWFtIGRpc3RyaWJ1dGlvbiBhbHJlYWR5IGlu
c3RhbGxzIC5kZXNrdG9wCiMJCQkJCSAgZmlsZXMsIHlvdSBkbyBub3QgbmVlZCB0byB1c2UgdGhp
cy4KIwkJCQkJKiBJZiB5b3UgcmVxdWlyZSBhIG1vcmUgZWxhYm9yYXRlIC5kZXNrdG9wIGZpbGUg
dGhhbiB0aGlzCiMJCQkJCSAgdmFyaWFibGUgcGVybWl0cywgd3JpdGUgaXQgeW91cnNlbGYgYW5k
IGluc3RhbGwgaXQKIwkJCQkJICBpbiAke0RFU0tUT1BESVJ9LgojCQkJCSAgTm90ZXM6CiMJCQkJ
CSogQ29tbWVudCwgSWNvbiBhbmQgU3RhcnR1cE5vdGlmeSBtYXkgYmUgZW1wdHkKIwkJCQkJICBz
dHJpbmdzICgiIikuIENhdGVnb3JpZXMgbWF5IGJlIGFuIGVtcHR5IHN0cmluZyBpbiBzb21lCiMJ
CQkJCSAgY2FzZXMgKHNlZSBiZWxvdykuIFRoZSBvdGhlciBmaWVsZHMgYXJlIG1hbmRhdG9yeS4K
IwkJCQkJKiBJZiBDb21tZW50IGlzIGFuIGVtcHR5IHN0cmluZywgcG9ydCAke0NPTU1FTlR9IHdp
bGwgYmUKIwkJCQkJICB1c2VkLgojCQkJCQkqIElmIHNldCwgSWNvbiBtdXN0IGJlIGVpdGhlciBh
YnNvbHV0ZSBwYXRoICh1c3VhbGx5CiMJCQkJCSAgJHtQUkVGSVh9L3NoYXJlL3BpeG1hcHMvJHtQ
T1JUTkFNRX0ucG5nKSBvciBpY29uIG5hbWUKIwkJCQkJICB3aXRob3V0IGV4dGVuc2lvbiBpZiBp
bnN0YWxsZWQgaWNvbnMgZm9sbG93IEljb24gVGhlbWUKIwkJCQkJICBTcGVjaWZpY2F0aW9uLgoj
CQkJCQkqIElmIENhdGVnb3JpZXMgaXMgYW4gZW1wdHkgc3RyaW5nLCBic2QucG9ydC5tayB3aWxs
IHRyeQojCQkJCQkgIHRvIGRlZHVjZSBhIGRlZmF1bHQgdmFsdWUgdXNpbmcgdGhlIENBVEVHT1JJ
RVMgdmFyaWFibGUuCiMJCQkJCSAgSWYgdGhlIGRlZHVjdGlvbiBmYWlscywgeW91IHdpbGwgaGF2
ZSB0byBzZXQgQ2F0ZWdvcmllcwojCQkJCQkgIG1hbnVhbGx5LiBZb3Ugc2hvdWxkIGNoZWNrIHRo
ZSBnZW5lcmF0ZWQgdmFsdWUgdXNpbmcKIwkJCQkJICAibWFrZSBkZXNrdG9wLWNhdGVnb3JpZXMi
LCBhbmQgb3ZlcnJpZGUgaXQgaWYgbmVjZXNzYXJ5LgojCQkJCQkqIEV4ZWMgd2lsbCBhbHNvIGJl
IHVzZWQgdG8gbmFtZSB0aGUgLmRlc2t0b3AgZmlsZS4KIwkJCQkJKiBTdGFydHVwTm90aWZ5IG1h
eSBiZSB0cnVlLCBmYWxzZSBvciBlbXB0eSAoc2VlIERlc2t0b3AKIwkJCQkJICBFbnRyeSBTcGVj
aWZpY2F0aW9uIGZvciBkZXRhaWxzKS4KIwkJCQkJKiBUaGUgZmlsZXMgd2lsbCBiZSBhdXRvbWF0
aWNhbGx5IGFkZGVkIHRvICR7UExJU1R9LgojCQkJCSAgRXhhbXBsZToKIwkJCQkJIlggV2luZG93
IEluZm9ybWF0aW9uIiBcCiMJCQkJCSJHZXQgaW5mb3JtYXRpb24gYWJvdXQgWCB3aW5kb3dzIiBc
CiMJCQkJCSIke1BSRUZJWH0vc2hhcmUvcGl4bWFwcy93aW5pbmZvLnBuZyIgXAojCQkJCQkiJHtQ
UkVGSVh9L2Jpbi93aW5pbmZvIiBcCiMJCQkJCSJTeXN0ZW07IiBcCiMJCQkJCSIiCiMJCQkJICBT
ZWUgaHR0cDovL3N0YW5kYXJkcy5mcmVlZGVza3RvcC5vcmcvZGVza3RvcC1lbnRyeS1zcGVjL2Rl
c2t0b3AtZW50cnktc3BlYy1sYXRlc3QuaHRtbAojCQkJCSAgZm9yIGFuIGV4cGxhbmF0aW9uIG9m
IHRoZSBmaWVsZHMuIElmIHlvdSBuZWVkIHRvIGNyZWF0ZSBtb3JlCiMJCQkJICB0aGFuIG9uZSBm
aWxlLCBqdXN0IGNoYWluIHRoZW0gaW50byBhIHNpbmdsZSB2YXJpYWJsZS4KIwojIE5vdGUgdGhh
dCB0aGUgaW5zdGFsbCB0YXJnZXQgd2lsbCBhdXRvbWF0aWNhbGx5IGFkZCBtYW5wYWdlcyAoc2Vl
CiMgYWJvdmUpIGFuZCBhbHNvIHN1YnN0aXR1dGUgc3BlY2lhbCBzZXF1ZW5jZXMgb2YgY2hhcmFj
dGVycyAoZGVsaW1pdGVkCiMgYnkgIiUlIikgYXMgZGVmaW5lZCBpbiBQTElTVF9TVUIgdG8gZ2Vu
ZXJhdGUgJHtUTVBQTElTVH0uICBGb3IKIyBpbnN0YW5jZSwgIk9TUkVMPSR7T1NSRUx9IiBpbiBQ
TElTVF9TVUIgY2F1c2VzIGFsbCBvY2N1cnJlbmNlcyBvZgojICIlJU9TUkVMJSUiIGluICR7UExJ
U1R9IHRvIGJlIHN1YnN0aXR1dGVkIGJ5IHRoZSB2YWx1ZSBvZiBPU1JFTC4KIyAke1RNUFBMSVNU
fSBpcyBnZW5lcmF0ZWQgYmVmb3JlIHRoZSBkby1pbnN0YWxsIHN0YWdlLiAgSWYgeW91IGFyZQoj
IGdlbmVyYXRpbmcgdGhlIHBhY2tpbmcgbGlzdCBvbi10aGUtZmx5LCBtYWtlIHN1cmUgaXQncyBn
ZW5lcmF0ZWQgYmVmb3JlCiMgZG8taW5zdGFsbCBpcyBjYWxsZWQhCiMKIyBGb3IgcGFja2FnZToK
IwojIExBVEVTVF9MSU5LCS0gSW5zdGFsbCB0aGUgIkxhdGVzdCIgbGluayBmb3IgdGhlIHBhY2th
Z2UgYXMgX19fLiAgRGVmaW5lCiMJCQkJICB0aGlzIGlmIHRoZSAiTGF0ZXN0IiBsaW5rIG5hbWUg
d2lsbCBiZSBpbmNvcnJlY3RseSBkZXRlcm1pbmVkLgojCiMgVGhpcyBpcyB1c2VkIGluIGFsbCBz
dGFnZXM6CiMKIyBTQ1JJUFRTX0VOVgktIEFkZGl0aW9uYWwgZW52aXJvbm1lbnQgdmFycyBwYXNz
ZWQgdG8gc2NyaXB0cyBpbgojCQkJCSAgJHtTQ1JJUFRESVJ9IGV4ZWN1dGVkIGJ5IGJzZC5wb3J0
Lm1rLgojCQkJCSAgRGVmYXVsdDogc2VlIGJlbG93CiMKIyBGaW5hbGx5LCB2YXJpYWJsZXMgdG8g
Y2hhbmdlIGlmIHlvdSB3YW50IGEgc3BlY2lhbCBiZWhhdmlvci4gIFRoZXNlCiMgYXJlIGZvciBk
ZWJ1Z2dpbmcgcHVycG9zZXMuICBEb24ndCBzZXQgdGhlbSBpbiB5b3VyIE1ha2VmaWxlLgojCiMg
RUNIT19NU0cJCS0gVXNlZCB0byBwcmludCBhbGwgdGhlICc9PT0+JyBzdHlsZSBwcm9tcHRzIC0g
b3ZlcnJpZGUgdGhpcwojCQkJCSAgdG8gdHVybiB0aGVtIG9mZi4KIwkJCQkgIERlZmF1bHQ6ICR7
RUNIT19DTUR9CiMgUEFUQ0hfREVCVUcJLSBJZiBzZXQsIHByaW50IG91dCBtb3JlIGluZm9ybWF0
aW9uIGFib3V0IHRoZSBwYXRjaGVzIGFzCiMJCQkJICBpdCBhdHRlbXB0cyB0byBhcHBseSB0aGVt
LgojIFBLR19EQkRJUgkJLSBXaGVyZSBwYWNrYWdlIGluc3RhbGxhdGlvbiBpcyByZWNvcmRlZDsg
dGhpcyBkaXJlY3RvcnkKIwkJCQkgIG11c3Qgbm90IGNvbnRhaW4gYW55dGhpbmcgZWxzZS4KIwkJ
CQkgIERlZmF1bHQ6IC92YXIvZGIvcGtnCiMgUE9SVF9EQkRJUgktIFdoZXJlIHBvcnQgY29uZmln
dXJhdGlvbiBvcHRpb25zIGFyZSByZWNvcmRlZC4KIwkJCQkgIERlZmF1bHQ6IC92YXIvZGIvcG9y
dHMKIyBOT19QS0dfUkVHSVNURVIKIwkJCQktIERvbid0IHJlZ2lzdGVyIGEgcG9ydCBpbnN0YWxs
YXRpb24gYXMgYSBwYWNrYWdlLgojIEZPUkNFX1BLR19SRUdJU1RFUgojCQkJCS0gSWYgc2V0LCBp
dCB3aWxsIG92ZXJ3cml0ZSBhbnkgZXhpc3RpbmcgcGFja2FnZQojCQkJCSAgcmVnaXN0cmF0aW9u
IGluZm9ybWF0aW9uIGluICR7UEtHX0RCRElSfS8ke1BLR05BTUV9LgojIE5PX0RFUEVORFMJLSBE
b24ndCB2ZXJpZnkgYnVpbGQgb2YgZGVwZW5kZW5jaWVzLgojIFNUUklDVF9ERVBFTkRTCiMJCQkJ
LSBWZXJpZnkgZGVwZW5kZW5jaWVzIGJ1dCBjb25zaWRlciBtaXNzaW5nIGRlcGVuZGVuY2llcyBh
cwojCQkJCSAgZmF0YWwuCiMgQ0hFQ0tTVU1fQUxHT1JJVEhNUwojCQkJCS0gRGlmZmVyZW50IGNo
ZWNrc3VtIGFsZ29yaXRobXMgdG8gY2hlY2sgZm9yIHZlcmlmeWluZyB0aGUKIwkJCQkgIGludGVn
cml0eSBvZiB0aGUgZGlzdGZpbGVzLiBUaGUgYWJzZW5jZSBvZiB0aGUgYWxnb3JpdGhtCiMJCQkJ
ICBpbiBkaXN0aW5mbyBkb2Vzbid0IG1ha2UgaXQgZmFpbC4KIwkJCQkgIERlZmF1bHQ6IHNoYTI1
NgojIE5PX0NIRUNLU1VNCS0gRG9uJ3QgdmVyaWZ5IHRoZSBjaGVja3N1bS4gIFR5cGljYWxseSB1
c2VkIHdoZW4KIwkJCQkgIHdoZW4geW91IG5vdGljZWQgdGhlIGRpc3RmaWxlIHlvdSBqdXN0IGZl
dGNoZWQgaGFzCiMJCQkJICBhIGRpZmZlcmVudCBjaGVja3N1bSBhbmQgeW91IGludGVuZCB0byB2
ZXJpZnkgaWYKIwkJCQkgIHRoZSBwb3J0IHN0aWxsIHdvcmtzIHdpdGggaXQuCiMgVVNFX1BBQ0tB
R0VfREVQRU5EUwojCQkJCS0gVHJ5IHRvIGluc3RhbGwgZGVwZW5kZW5jaWVzIGZyb20gZXhpc3Rp
bmcgcGFja2FnZXMgaW5zdGVhZAojCQkJCSAgb2YgYnVpbGRpbmcgdGhlIHBvcnQgZnJvbSBzY3Jh
dGNoLiBGYWxsYmFjayBvbiBzb3VyY2UKIwkJCQkgIGlmIGFuIGV4aXN0aW5nIHBhY2thZ2UgaXMg
bm90IHByZXNlbnQuCiMgVVNFX1BBQ0tBR0VfREVQRU5EU19PTkxZCiMJCQkJLSBMaWtlIFVTRV9Q
QUNLQUdFX0RFUEVORFMsIGJ1dCBkbyBub3QgZmFsbGJhY2sgb24gc291cmNlLgojIElOU1RBTExf
QVNfVVNFUgojCQkJCS0gRGVmaW5lIHRoaXMgdG8gaW5zdGFsbCBhcyB0aGUgY3VycmVudCB1c2Vy
LCBpbnRlbmRlZAojCQkJCSAgZm9yIHN5c3RlbXMgd2hlcmUgeW91IGhhdmUgbm8gcm9vdCBhY2Nl
c3MuCiMgRElTQUJMRV9TSVpFCS0gRG8gbm90IGNoZWNrIHRoZSBzaXplIG9mIGEgZGlzdGZpbGUg
ZXZlbiBpZiB0aGUgU0laRSBmaWVsZAojCQkJCSAgaGFzIGJlZW4gc3BlY2lmaWVkIGluIGRpc3Rp
bmZvLiAgVGhpcyBpcyB1c2VmdWwKIwkJCQkgIHdoZW4gdXNpbmcgYW4gYWx0ZXJuYXRlIEZFVENI
X0NNRC4KIwojIEVuZCBvZiB0aGUgbGlzdCBvZiBhbGwgdmFyaWFibGVzIHRoYXQgbmVlZCB0byBi
ZSBkZWZpbmVkIGluIGEgcG9ydC4KIyBNb3N0IHBvcnQgYXV0aG9ycyBzaG91bGQgbm90IG5lZWQg
dG8gdW5kZXJzdGFuZCBhbnl0aGluZyBhZnRlciB0aGlzIHBvaW50LgojCgojIFRoZXNlIG5lZWQg
dG8gYmUgYWJzb2x1dGUgc2luY2Ugd2UgZG9uJ3Qga25vdyBob3cgZGVlcCBpbiB0aGUgcG9ydHMK
IyB0cmVlIHdlIGFyZSBhbmQgdGh1cyBjYW4ndCBnbyByZWxhdGl2ZS4gIFRoZXkgY2FuLCBvZiBj
b3Vyc2UsIGJlIG92ZXJyaWRkZW4KIyBieSBpbmRpdmlkdWFsIE1ha2VmaWxlcyBvciBsb2NhbCBz
eXN0ZW0gbWFrZSBjb25maWd1cmF0aW9uLgpQT1JUU0RJUj89CQkvdXNyL3BvcnRzCkxPQ0FMQkFT
RT89CQkvdXNyL2xvY2FsCkxJTlVYQkFTRT89CQkvY29tcGF0L2xpbnV4CkRJU1RESVI/PQkJJHtQ
T1JUU0RJUn0vZGlzdGZpbGVzCl9ESVNURElSPz0JCSR7RElTVERJUn0vJHtESVNUX1NVQkRJUn0K
SU5ERVhESVI/PQkJJHtQT1JUU0RJUn0KU1JDX0JBU0U/PQkJL3Vzci9zcmMKVVNFU0RJUj89CQkk
e1BPUlRTRElSfS9Nay9Vc2VzClNDUklQVFNESVI/PQkke1BPUlRTRElSfS9Nay9TY3JpcHRzCkxJ
Ql9ESVJTPz0JCS9saWIgL3Vzci9saWIgJHtMT0NBTEJBU0V9L2xpYgpTVEFHRURJUj89CSR7V1JL
RElSfS9zdGFnZQpOT1RQSE9OWT89Ck1JTklNQUxfUEtHX1ZFUlNJT049CTEuMy44CgojIG1ha2Ug
c3VyZSBibWFrZSB0cmVhdHMgLVYgYXMgZXhwZWN0ZWQKLk1BS0UuRVhQQU5EX1ZBUklBQkxFUz0g
eWVzCgouaW5jbHVkZSAiJHtQT1JUU0RJUn0vTWsvYnNkLmNvbW1hbmRzLm1rIgoKLmlmIGRlZmlu
ZWQoWF9CVUlMRF9GT1IpCi5pZiAhZGVmaW5lZCguUEFSU0VESVIpCklHTk9SRT0JQ3Jvc3MgYnVp
bGRpbmcgY2FuIG9ubHkgYmUgZG9uZSB3aGVuIHVzaW5nIGJtYWtlKDEpIGFzIG1ha2UoMSkKLmVu
ZGlmCi5pZiAhZGVmaW5lZChBUkNIKQpBUkNIPQkJJHtYX0JVSUxEX0ZPUn0KLmVuZGlmCiMgRG8g
bm90IGRlZmluZSBDUFAgb24gcHVycG9zZQouaWYgIWRlZmluZWQoSE9TVENDKQpIT1NUQ0M6PQkk
e0NDfQpIT1NUQ1hYOj0JJHtDWFh9Ci5lbmRpZgoKU1lTUk9PVD0JJHtTUkNESVJ9Ly4uL3Jvb3Qv
JHtBUkNIfS8KCk5NPQkJJHtBUkNIfS1mcmVlYnNkLW5tClNUUklQX0NNRD0JJHtBUkNIfS1mcmVl
YnNkLXN0cmlwCiMgb25seSBibWFrZSBzdXBwb3J0IHRoZSBiZWxvdwpTVFJJUEJJTj0JJHtTVFJJ
UF9DTUR9Ci5leHBvcnQuZW52IFNUUklQQklOCgouZW5kaWYKCgojCiMgREVTVERJUiBzZWN0aW9u
IHRvIHN0YXJ0IGEgY2hyb290ZWQgcHJvY2VzcyBpZiBpbnZva2VkIHdpdGggREVTVERJUiBzZXQK
IwoKLmlmIGRlZmluZWQoREVTVERJUikgJiYgIWVtcHR5KERFU1RESVIpICYmICFkZWZpbmVkKENI
Uk9PVEVEKSAmJiBcCgkhZGVmaW5lZChCRUZPUkVQT1JUTUspICYmICFkZWZpbmVkKElOT1BUSU9O
U01LKQoKLmluY2x1ZGUgIiR7UE9SVFNESVJ9L01rL2JzZC5kZXN0ZGlyLm1rIgoKLmVsc2UKCiMg
TG9vayBmb3IgZmlsZXMgbmFtZWQgIioub3JpZyIgdW5kZXIgJHtQQVRDSF9XUktTUkN9IGFuZCAo
cmUtKWdlbmVyYXRlCiMgJHtQQVRDSERJUn0vcGF0Y2gtKiBmaWxlcyBmcm9tIHRoZW0uICBCeSBw
b3B1bGFyIGRlbWFuZCwgd2UgY3VycmVudGx5CiMgdXNlICdfJyAodW5kZXJzY29yZSkgdG8gcmVw
bGFjZSBwYXRoIHNlcGFyYXRvcnMgaW4gcGF0Y2ggZmlsZSBuYW1lcy4KIwojIElmIGEgZmlsZSBu
YW1lIGhhcHBlbnMgdG8gY29udGFpbiBjaGFyYWN0ZXIgd2hpY2ggaXMgYWxzbyBhIHNlcGFyYXRv
cgojIHJlcGxhY2VtZW50IGNoYXJhY3RlciwgaXQgd2lsbCBiZSBkb3VibGVkIGluIHRoZSByZXN1
bHRpbmcgcGF0Y2ggbmFtZS4KIwojIFRvIG1pbmltaXplIGdyYXR1aXRvdXMgcGF0Y2ggcmVuYW1l
cywgbmV3bHkgZ2VuZXJhdGVkIHBhdGNoZXMgd2lsbCBiZQojIHdyaXR0ZW4gdW5kZXIgZXhpc3Rp
bmcgZmlsZSBuYW1lcyB3aGVuIHRoZXkgdXNlIGFueSBvZiB0aGUgcHJldmlvdXNseQojIGNvbW1v
biBwYXRoIHNlcGFyYXRvcnMgKFstK19dKSBvciBsZWdhY3kgZG91YmxlIHVuZGVyc2NvcmUgKF9f
KS4KCi5pZiAhdGFyZ2V0KG1ha2VwYXRjaCkKUEFUQ0hfUEFUSF9TRVBBUkFUT1I9CV8KbWFrZXBh
dGNoOgoJQCR7TUtESVJ9ICR7UEFUQ0hESVJ9CglAKGNkICR7UEFUQ0hfV1JLU1JDfTsgXAoJCWZv
ciBmIGluIGAke0ZJTkR9IC1zIC4gLXR5cGUgZiAtbmFtZSAnKi5vcmlnJ2A7IGRvIFwKCQkJT1JJ
Rz0kJHtmIy4vfTsgXAoJCQlORVc9JCR7T1JJRyUub3JpZ307IFwKCQkJY21wIC1zICQke09SSUd9
ICQke05FV30gJiYgY29udGludWU7IFwKCQkJISBmb3IgX2xwcyBpbiBgJHtFQ0hPfSBfIC0gKyB8
ICR7U0VEfSAtZSBcCgkJCQknc3wke1BBVENIX1BBVEhfU0VQQVJBVE9SfXxfX3wnYDsgZG8gXAoJ
CQkJCVBBVENIPWAke0VDSE99ICQke05FV30gfCAke1NFRH0gLWUgInN8L3wkJHtfbHBzfXxnImA7
IFwKCQkJCQl0ZXN0IC1mICIke1BBVENIRElSfS9wYXRjaC0kJHtQQVRDSH0iICYmIGJyZWFrOyBc
CgkJCWRvbmUgfHwgJHtFQ0hPfSAkJHtfU0VFTn0gfCAke0dSRVB9IC1xIC8kJHtQQVRDSH0gJiYg
eyBcCgkJCQlQQVRDSD1gJHtFQ0hPfSAkJHtORVd9IHwgJHtTRUR9IC1lIFwKCQkJCQknc3wke1BB
VENIX1BBVEhfU0VQQVJBVE9SfXwmJnxnJyAtZSBcCgkJCQkJJ3N8L3wke1BBVENIX1BBVEhfU0VQ
QVJBVE9SfXxnJ2A7IFwKCQkJCV9TRUVOPSQke19TRUVOfS8kJHtQQVRDSH07IFwKCQkJfTsgXAoJ
CQlPVVQ9JHtQQVRDSERJUn0vcGF0Y2gtJCR7UEFUQ0h9OyBcCgkJCSR7RUNIT30gJHtESUZGfSAt
dWRwICQke09SSUd9ICQke05FV30gJz4nICQke09VVH07IFwKCQkJVFo9VVRDICR7RElGRn0gLXVk
cCAkJHtPUklHfSAkJHtORVd9IHwgJHtTRUR9IC1lIFwKCQkJCScvXi0tLS9zfFwuWzAtOV0qICsw
MDAwJCR8IFVUQ3wnIC1lIFwKCQkJCScvXisrKy9zfFwoW1s6Ymxhbms6XV1bLTAtOTouK10qXCkq
JCR8fCcgXAoJCQkJCT4gJCR7T1VUfSB8fCAke1RSVUV9OyBcCgkJZG9uZSBcCgkpCi5lbmRpZgoK
CiMgU3RhcnQgb2Ygb3B0aW9ucyBzZWN0aW9uCi5pZiBkZWZpbmVkKElOT1BUSU9OU01LKSB8fCAo
ICFkZWZpbmVkKFVTRU9QVElPTlNNSykgJiYgIWRlZmluZWQoQUZURVJQT1JUTUspICkKCgojIEdl
dCB0aGUgZGVmYXVsdCBtYWludGFpbmVyCk1BSU5UQUlORVI/PQlwb3J0c0BGcmVlQlNELm9yZwoK
IyBHZXQgdGhlIGFyY2hpdGVjdHVyZQouaWYgIWRlZmluZWQoQVJDSCkKQVJDSCE9CSR7VU5BTUV9
IC1wCi5lbmRpZgoKIyBHZXQgdGhlIG9wZXJhdGluZyBzeXN0ZW0gdHlwZQouaWYgIWRlZmluZWQo
T1BTWVMpCk9QU1lTIT0JJHtVTkFNRX0gLXMKLmVuZGlmCgpVTkFNRVIhPSR7VU5BTUV9IC1yCgoj
IEdldCB0aGUgb3BlcmF0aW5nIHN5c3RlbSByZXZpc2lvbgpPU1JFTD89CSR7VU5BTUVSOkMvLS4q
Ly99CgojIEdldCBfX0ZyZWVCU0RfdmVyc2lvbgouaWYgIWRlZmluZWQoT1NWRVJTSU9OKQouaWYg
ZXhpc3RzKC91c3IvaW5jbHVkZS9zeXMvcGFyYW0uaCkKT1NWRVJTSU9OIT0JJHtBV0t9ICcvXlwj
ZGVmaW5lW1s6Ymxhbms6XV1fX0ZyZWVCU0RfdmVyc2lvbi8ge3ByaW50ICQkM30nIDwgL3Vzci9p
bmNsdWRlL3N5cy9wYXJhbS5oCi5lbGlmIGV4aXN0cygke1NSQ19CQVNFfS9zeXMvc3lzL3BhcmFt
LmgpCk9TVkVSU0lPTiE9CSR7QVdLfSAnL15cI2RlZmluZVtbOmJsYW5rOl1dX19GcmVlQlNEX3Zl
cnNpb24vIHtwcmludCAkJDN9JyA8ICR7U1JDX0JBU0V9L3N5cy9zeXMvcGFyYW0uaAouZWxzZQou
ZXJyb3IgVW5hYmxlIHRvIGRldGVybWluZSBPUyB2ZXJzaW9uLiAgRWl0aGVyIGRlZmluZSBPU1ZF
UlNJT04sIGluc3RhbGwgL3Vzci9pbmNsdWRlL3N5cy9wYXJhbS5oIG9yIGRlZmluZSBTUkNfQkFT
RS4KLmVuZGlmCi5lbmRpZgoKIyBDb252ZXJ0IE9TVkVSU0lPTiB0byBtYWpvciByZWxlYXNlIG51
bWJlcgpfT1NWRVJTSU9OX01BSk9SPQkke09TVkVSU0lPTjpDLyhbMC05XT9bMC05XSkoWzAtOV1b
MC05XSlbMC05XXszfS9cMS99CiMgU2FuaXR5IGNoZWNrcyBmb3IgY2hyb290L2phaWwgYnVpbGRp
bmcuCiMgU2tpcCBpZiBPU1ZFUlNJT04gc3BlY2lmaWVkIG9uIGNtZGxpbmUgZm9yIHRlc3Rpbmcu
IE9ubHkgd29ya3MgZm9yIGJtYWtlLgouaWYgIWRlZmluZWQoLk1BS0VPVkVSUklERVMpIHx8ICEk
ey5NQUtFT1ZFUlJJREVTOk1PU1ZFUlNJT059Ci5pZiAke19PU1ZFUlNJT05fTUFKT1J9ICE9ICR7
VU5BTUVSOlJ9Ci5lcnJvciBVTkFNRV9yICgke1VOQU1FUn0pIGFuZCBPU1ZFUlNJT04gKCR7T1NW
RVJTSU9OfSkgZG8gbm90IGFncmVlIG9uIG1ham9yIHZlcnNpb24gbnVtYmVyLgouZWxpZiAke19P
U1ZFUlNJT05fTUFKT1J9ICE9ICR7T1NSRUw6Un0KLmVycm9yIE9TUkVMICgke09TUkVMfSkgYW5k
IE9TVkVSU0lPTiAoJHtPU1ZFUlNJT059KSBkbyBub3QgYWdyZWUgb24gbWFqb3IgdmVyc2lvbiBu
dW1iZXIuCi5lbmRpZgouZW5kaWYKCiMgT25seSBkZWZpbmUgdG9vbHMgaGVyZSAoZm9yIHRyYW5z
aXRpb24gcGVyaW9kIHdpdGggYmV0d2VlbiBwa2cgdG9vbHMpCi5pbmNsdWRlICIke1BPUlRTRElS
fS9Nay9ic2QuY29tbWFuZHMubWsiCgouaWYgZXhpc3RzKCR7UEtHX0JJTn0pCi5pZiAhZGVmaW5l
ZChfUEtHX1ZFUlNJT04pCl9QS0dfVkVSU0lPTiE9CSR7UEtHX0JJTn0gLXYKLmVuZGlmCl9QS0df
U1RBVFVTIT0JJHtQS0dfQklOfSB2ZXJzaW9uIC10ICR7X1BLR19WRVJTSU9OOkMvLS4qLy9nfSAk
e01JTklNQUxfUEtHX1ZFUlNJT059Ci5pZiAke19QS0dfU1RBVFVTfSA9PSAiPCIKSUdOT1JFPQkJ
cGtnKDgpIG11c3QgYmUgdmVyc2lvbiAke01JTklNQUxfUEtHX1ZFUlNJT059IG9yIGdyZWF0ZXIs
IGJ1dCB5b3UgaGF2ZSAke19QS0dfVkVSU0lPTn0uIFlvdSBtdXN0IHVwZ3JhZGUgdGhlICR7UEtH
X09SSUdJTn0gcG9ydCBmaXJzdAouZW5kaWYKLmVuZGlmCgpNQVNURVJESVI/PQkkey5DVVJESVJ9
CgouaWYgJHtNQVNURVJESVJ9ICE9ICR7LkNVUkRJUn0KU0xBVkVfUE9SVD89CXllcwpNQVNURVJf
UE9SVD89JHtNQVNURVJESVI6Qy9bXlwvXStcL1wuXC5cLy8vOkMvW15cL10rXC9cLlwuXC8vLzpD
L14uKlwvKFteXC9dK1wvW15cL10rKSQvXFwxL30KLmVsc2UKU0xBVkVfUE9SVD89CW5vCk1BU1RF
Ul9QT1JUPz0KLmVuZGlmCgojIElmIHRoZXkgZXhpc3QsIGluY2x1ZGUgTWFrZWZpbGUuaW5jLCB0
aGVuIGFyY2hpdGVjdHVyZS9vcGVyYXRpbmcKIyBzeXN0ZW0gc3BlY2lmaWMgTWFrZWZpbGVzLCB0
aGVuIGxvY2FsIE1ha2VmaWxlLmxvY2FsLgoKLmlmICR7TUFTVEVSRElSfSAhPSAkey5DVVJESVJ9
ICYmIGV4aXN0cygkey5DVVJESVJ9Ly4uL01ha2VmaWxlLmluYykKLmluY2x1ZGUgIiR7LkNVUkRJ
Un0vLi4vTWFrZWZpbGUuaW5jIgpVU0VfU1VCTUFLRT0JeWVzCi5lbmRpZgoKLmlmIGV4aXN0cygk
e01BU1RFUkRJUn0vLi4vTWFrZWZpbGUuaW5jKQouaW5jbHVkZSAiJHtNQVNURVJESVJ9Ly4uL01h
a2VmaWxlLmluYyIKVVNFX1NVQk1BS0U9CXllcwouZW5kaWYKCi5pZiBleGlzdHMoJHtNQVNURVJE
SVJ9L01ha2VmaWxlLiR7QVJDSH0tJHtPUFNZU30pCi5pbmNsdWRlICIke01BU1RFUkRJUn0vTWFr
ZWZpbGUuJHtBUkNIfS0ke09QU1lTfSIKVVNFX1NVQk1BS0U9CXllcwouZWxpZiBleGlzdHMoJHtN
QVNURVJESVJ9L01ha2VmaWxlLiR7T1BTWVN9KQouaW5jbHVkZSAiJHtNQVNURVJESVJ9L01ha2Vm
aWxlLiR7T1BTWVN9IgpVU0VfU1VCTUFLRT0JeWVzCi5lbGlmIGV4aXN0cygke01BU1RFUkRJUn0v
TWFrZWZpbGUuJHtBUkNIfSkKLmluY2x1ZGUgIiR7TUFTVEVSRElSfS9NYWtlZmlsZS4ke0FSQ0h9
IgpVU0VfU1VCTUFLRT0JeWVzCi5lbmRpZgoKLmlmIGV4aXN0cygke01BU1RFUkRJUn0vTWFrZWZp
bGUubG9jYWwpCi5pbmNsdWRlICIke01BU1RFUkRJUn0vTWFrZWZpbGUubG9jYWwiClVTRV9TVUJN
QUtFPQl5ZXMKLmVuZGlmCgouZm9yIF9DQVRFR09SWSBpbiAke0NBVEVHT1JJRVN9ClBLR0NBVEVH
T1JZPz0JJHtfQ0FURUdPUll9Ci5lbmRmb3IKX1BPUlRESVJOQU1FPQkkey5DVVJESVI6VH0KUE9S
VERJUk5BTUU/PQkke19QT1JURElSTkFNRX0KUEtHT1JJR0lOPz0JCSR7UEtHQ0FURUdPUll9LyR7
UE9SVERJUk5BTUV9CgojIHdoZXJlICdtYWtlIGNvbmZpZycgcmVjb3JkcyB1c2VyIGNvbmZpZ3Vy
YXRpb24gb3B0aW9ucwpQT1JUX0RCRElSPz0JL3Zhci9kYi9wb3J0cwoKVUlEX0ZJTEVTPz0JJHtQ
T1JUU0RJUn0vVUlEcwpHSURfRklMRVM/PQkke1BPUlRTRElSfS9HSURzClVJRF9PRkZTRVQ/PQkw
CkdJRF9PRkZTRVQ/PQkwCgojIHByZWRlZmluZWQgYWNjb3VudHMgZnJvbSBzcmMvZXRjL21hc3Rl
ci5wYXNzd2QKIyBhbHBoYSBudW1lcmljIHNvcnQgb3JkZXIKVVNFUlNfQkxBQ0tMSVNUPQlfZGhj
cCBfcGZsb2dkIGF1ZGl0ZGlzdGQgYmluIGJpbmQgZGFlbW9uIGdhbWVzIGhhc3Qga21lbSBtYWls
bnVsbCBtYW4gbmV3cyBub2JvZHkgb3BlcmF0b3IgcG9wIHByb3h5IHJvb3Qgc21tc3Agc3NoZCB0
b29yIHR0eSB1dWNwIHd3dwoKTERDT05GSUdfRElSPQlsaWJkYXRhL2xkY29uZmlnCkxEQ09ORklH
MzJfRElSPQlsaWJkYXRhL2xkY29uZmlnMzIKCi5pZiBkZWZpbmVkKExBVEVTVF9MSU5LKQpVTklR
VUVOQU1FPz0JJHtMQVRFU1RfTElOS30KLmVsc2UKVU5JUVVFTkFNRT89CSR7UEtHTkFNRVBSRUZJ
WH0ke1BPUlROQU1FfQouZW5kaWYKCi5lbmRpZgoKIyBBdCBsZWFzdCBLREUgbmVlZHMgVE1QRElS
IGZvciB0aGUgcGFja2FnZSBidWlsZGluZywKIyBzbyB3ZSdyZSBzZXR0aW5nIGl0IHRvIHRoZSBr
bm93biBkZWZhdWx0IHZhbHVlLgouaWYgZGVmaW5lZChQQUNLQUdFX0JVSUxESU5HKQpUTVBESVI/
PQkvdG1wCi5lbmRpZiAjIGRlZmluZWQoUEFDS0FHRV9CVUlMRElORykKCi5pZiBkZWZpbmVkKFdJ
VEhfREVCVUdfUE9SVFMpCi5pZiAke1dJVEhfREVCVUdfUE9SVFM6TSR7UEtHT1JJR0lOfX0KV0lU
SF9ERUJVRz0JeWVzCi5lbmRpZgouZW5kaWYKCi5pbmNsdWRlICIke1BPUlRTRElSfS9Nay9ic2Qu
b3B0aW9ucy5tayIKCiMgU3RhcnQgb2YgcHJlLW1ha2VmaWxlIHNlY3Rpb24uCi5pZiAhZGVmaW5l
ZChBRlRFUlBPUlRNSykgJiYgIWRlZmluZWQoSU5PUFRJT05TTUspCgouaWYgZGVmaW5lZChQT1JU
TkFNRSkKLmluY2x1ZGUgIiR7UE9SVFNESVJ9L01rL2JzZC5zYW5pdHkubWsiCi5lbmRpZgoKX1BS
RU1LSU5DTFVERUQ9CXllcwoKLmlmIGRlZmluZWQoUE9SVFZFUlNJT04pCi5pZiAke1BPUlRWRVJT
SU9OOk0qWy1fLF0qfXggIT0geApJR05PUkU9CQkJUE9SVFZFUlNJT04gJHtQT1JUVkVSU0lPTn0g
bWF5IG5vdCBjb250YWluICctJyAnXycgb3IgJywnCi5lbmRpZgpESVNUVkVSU0lPTj89CSR7UE9S
VFZFUlNJT046Uy86Lzo6L2d9Ci5lbGlmIGRlZmluZWQoRElTVFZFUlNJT04pClBPUlRWRVJTSU9O
PQkke0RJU1RWRVJTSU9OOnRsOkMvKFthLXpdKVthLXpdKy9cMS9nOkMvKFswLTldKShbYS16XSkv
XDEuXDIvZzpDLzooLikvXDEvZzpDL1teYS16MC05K10rLy4vZ30KLmVuZGlmCgpQT1JUUkVWSVNJ
T04/PQkwCi5pZiAke1BPUlRSRVZJU0lPTn0gIT0gMApfU1VGMT0JXyR7UE9SVFJFVklTSU9OfQou
ZW5kaWYKClBPUlRFUE9DSD89CQkwCi5pZiAke1BPUlRFUE9DSH0gIT0gMApfU1VGMj0JLCR7UE9S
VEVQT0NIfQouZW5kaWYKClBLR1ZFUlNJT049CSR7UE9SVFZFUlNJT046Qy9bLV8sXS8uL2d9JHtf
U1VGMX0ke19TVUYyfQpQS0dOQU1FPQkke1BLR05BTUVQUkVGSVh9JHtQT1JUTkFNRX0ke1BLR05B
TUVTVUZGSVh9LSR7UEtHVkVSU0lPTn0KRElTVFZFUlNJT05GVUxMPQkke0RJU1RWRVJTSU9OUFJF
RklYfSR7RElTVFZFUlNJT046Qy86KC4pL1wxL2d9JHtESVNUVkVSU0lPTlNVRkZJWH0KLmlmIGRl
ZmluZWQoVVNFX0dJVEhVQikgJiYgZW1wdHkoTUFTVEVSX1NJVEVTOk1HSEMpICYmIGVtcHR5KERJ
U1ROQU1FKSAmJiBlbXB0eShVU0VfR0lUSFVCOk1ub2RlZmF1bHQpCl9HSVRIVUJfTVVTVF9TRVRf
RElTVE5BTUU9CQl5ZXMKLmVsc2UKRElTVE5BTUU/PQkke1BPUlROQU1FfS0ke0RJU1RWRVJTSU9O
RlVMTH0KLmVuZGlmCgpJTkRFWEZJTEU/PQkJSU5ERVgtJHtPU1ZFUlNJT046Qy8oWzAtOV0qKVsw
LTldezV9L1wxL30KCkRPQ1NESVI/PQkJJHtQUkVGSVh9L3NoYXJlL2RvYy8ke1BPUlROQU1FfQpF
WEFNUExFU0RJUj89CQkke1BSRUZJWH0vc2hhcmUvZXhhbXBsZXMvJHtQT1JUTkFNRX0KREFUQURJ
Uj89CQkke1BSRUZJWH0vc2hhcmUvJHtQT1JUTkFNRX0KV1dXRElSPz0JCSR7UFJFRklYfS93d3cv
JHtQT1JUTkFNRX0KRVRDRElSPz0JCSR7UFJFRklYfS9ldGMvJHtQT1JUTkFNRX0KCi5pZiBkZWZp
bmVkKFVTRV9MSU5VWF9SUE0pCi5pbmNsdWRlICIke1BPUlRTRElSfS9Nay9ic2QubGludXgtcnBt
Lm1rIgouZW5kaWYKCi5pZiBkZWZpbmVkKFVTRV9MSU5VWF9BUFBTKQouaW5jbHVkZSAiJHtQT1JU
U0RJUn0vTWsvYnNkLmxpbnV4LWFwcHMubWsiCi5lbmRpZgoKLmlmIGRlZmluZWQoVVNFX1hPUkcp
IHx8IGRlZmluZWQoWE9SR19DQVQpCi5pbmNsdWRlICIke1BPUlRTRElSfS9Nay9ic2QueG9yZy5t
ayIKLmVuZGlmCgpQQUNLQUdFUz89CQkke1BPUlRTRElSfS9wYWNrYWdlcwpURU1QTEFURVM/PQkJ
JHtQT1JUU0RJUn0vVGVtcGxhdGVzCktFWVdPUkRTPz0JCSR7UE9SVFNESVJ9L0tleXdvcmRzCgpQ
QVRDSERJUj89CQkke01BU1RFUkRJUn0vZmlsZXMKRklMRVNESVI/PQkJJHtNQVNURVJESVJ9L2Zp
bGVzClNDUklQVERJUj89CQkke01BU1RFUkRJUn0vc2NyaXB0cwpQS0dESVI/PQkJJHtNQVNURVJE
SVJ9CgouaWYgZGVmaW5lZChVU0VfTElOVVhfUFJFRklYKQpQUkVGSVg6PQkJJHtMSU5VWEJBU0V9
Ck5PX01UUkVFPQkJeWVzCi5lbHNlClBSRUZJWD89CQkke0xPQ0FMQkFTRX0KLmVuZGlmCgouaWYg
ZGVmaW5lZChVU0VfTElOVVhfUFJFRklYKQpMRENPTkZJR19DTUQ/PQkJCSR7TElOVVhCQVNFfS9z
YmluL2xkY29uZmlnIC1yICR7TElOVVhCQVNFfQouZW5kaWYKClBLR0NPTVBBVERJUj89CQkke0xP
Q0FMQkFTRX0vbGliL2NvbXBhdC9wa2cKCi5pZiBkZWZpbmVkKFVTRV9MT0NBTF9NSykKLmluY2x1
ZGUgIiR7UE9SVFNESVJ9L01rL2JzZC5sb2NhbC5tayIKLmVuZGlmCgouaWYgZGVmaW5lZChVU0Vf
T1BFTlNTTCkKLmluY2x1ZGUgIiR7UE9SVFNESVJ9L01rL2JzZC5vcGVuc3NsLm1rIgouZW5kaWYK
Ci5pZiBkZWZpbmVkKFVTRV9FTUFDUykKLmluY2x1ZGUgIiR7UE9SVFNESVJ9L01rL2JzZC5lbWFj
cy5tayIKLmVuZGlmCgouaWYgZGVmaW5lZChVU0VfUEhQKQouaW5jbHVkZSAiJHtQT1JUU0RJUn0v
TWsvYnNkLnBocC5tayIKLmVuZGlmCgouaWYgZGVmaW5lZChVU0VfRlBDKSB8fCBkZWZpbmVkKFdB
TlRfRlBDX0JBU0UpIHx8IGRlZmluZWQoV0FOVF9GUENfQUxMKQouaW5jbHVkZSAiJHtQT1JUU0RJ
Un0vTWsvYnNkLmZwYy5tayIKLmVuZGlmCgouaWYgZGVmaW5lZChVU0VfSkFWQSkKLmluY2x1ZGUg
IiR7UE9SVFNESVJ9L01rL2JzZC5qYXZhLm1rIgouZW5kaWYKCi5pZiBkZWZpbmVkKFVTRV9SVUJZ
KSB8fCBkZWZpbmVkKFVTRV9MSUJSVUJZKQouaW5jbHVkZSAiJHtQT1JUU0RJUn0vTWsvYnNkLnJ1
YnkubWsiCi5lbmRpZgoKLmlmIGRlZmluZWQoVVNFX09DQU1MKQouaW5jbHVkZSAiJHtQT1JUU0RJ
Un0vTWsvYnNkLm9jYW1sLm1rIgouZW5kaWYKCi5pZiBkZWZpbmVkKFVTRV9BUEFDSEUpIHx8IGRl
ZmluZWQoVVNFX0FQQUNIRV9CVUlMRCkgfHwgZGVmaW5lZChVU0VfQVBBQ0hFX1JVTikKLmluY2x1
ZGUgIiR7UE9SVFNESVJ9L01rL2JzZC5hcGFjaGUubWsiCi5lbmRpZgoKLmlmIGRlZmluZWQoVVNF
X1FUNCkgfHwgZGVmaW5lZChVU0VfUVQ1KQouaW5jbHVkZSAiJHtQT1JUU0RJUn0vTWsvYnNkLnF0
Lm1rIgouZW5kaWYKCi5pZiBkZWZpbmVkKFVTRV9URVgpCi5pbmNsdWRlICIke1BPUlRTRElSfS9N
ay9ic2QudGV4Lm1rIgouZW5kaWYKCi5pZiBkZWZpbmVkKFVTRV9HRUNLTykKLmluY2x1ZGUgIiR7
UE9SVFNESVJ9L01rL2JzZC5nZWNrby5tayIKLmVuZGlmCgouaWYgZGVmaW5lZChXQU5UX0dOT01F
KSB8fCBkZWZpbmVkKFVTRV9HTk9NRSkgfHwgZGVmaW5lZChJTlNUQUxMU19JQ09OUykKLmluY2x1
ZGUgIiR7UE9SVFNESVJ9L01rL2JzZC5nbm9tZS5tayIKLmVuZGlmCgouaWYgZGVmaW5lZChVU0Vf
TUFURSkKLmluY2x1ZGUgIiR7UE9SVFNESVJ9L01rL2JzZC5tYXRlLm1rIgouZW5kaWYKCi5pZiBk
ZWZpbmVkKFdBTlRfV1gpIHx8IGRlZmluZWQoVVNFX1dYKSB8fCBkZWZpbmVkKFVTRV9XWF9OT1Qp
Ci5pbmNsdWRlICIke1BPUlRTRElSfS9Nay9ic2Qud3gubWsiCi5lbmRpZgoKLmlmIGRlZmluZWQo
V0FOVF9HU1RSRUFNRVIpIHx8IGRlZmluZWQoVVNFX0dTVFJFQU1FUikgfHwgZGVmaW5lZChVU0Vf
R1NUUkVBTUVSMSkKLmluY2x1ZGUgIiR7UE9SVFNESVJ9L01rL2JzZC5nc3RyZWFtZXIubWsiCi5l
bmRpZgoKLmlmIGRlZmluZWQoVVNFX1NETCkgfHwgZGVmaW5lZChXQU5UX1NETCkKLmluY2x1ZGUg
IiR7UE9SVFNESVJ9L01rL2JzZC5zZGwubWsiCi5lbmRpZgoKLmlmIGRlZmluZWQoVVNFX0tERTQp
IHx8IGRlZmluZWQoS0RFNF9CVUlMREVOVikKLmluY2x1ZGUgIiR7UE9SVFNESVJ9L01rL2JzZC5r
ZGU0Lm1rIgouZW5kaWYKCi5pZiAhZGVmaW5lZChVSUQpClVJRCE9CSR7SUR9IC11Ci5lbmRpZgoK
REVTVERJUk5BTUU/PQlERVNURElSCgojIExvYWRpbmcgZmVhdHVyZXMKLmZvciBmIGluICR7VVNF
U30KX2Y6PQkJJHtmOkMvXDouKi8vfQouaWYgIWRlZmluZWQoJHtfZn1fQVJHUykKJHtfZn1fQVJH
Uzo9CSR7ZjpDL15bXlw6XSooXDp8XCQpLy86Uy8sLyAvZ30KLmVuZGlmCi5lbmRmb3IKLmZvciBm
IGluICR7VVNFU30KLmluY2x1ZGUgIiR7VVNFU0RJUn0vJHtmOkMvXDouKi8vfS5tayIKLmVuZGZv
cgoKRVhUUkFDVF9TVUZYPz0JCQkudGFyLmd6CgojIFlvdSBjYW4gZm9yY2Ugc2tpcHBpbmcgdGhl
c2UgdGVzdCBieSBkZWZpbmluZyBJR05PUkVfUEFUSF9DSEVDS1MKLmlmICFkZWZpbmVkKElHTk9S
RV9QQVRIX0NIRUNLUykKLmlmICEgJHtQUkVGSVg6TS8qfQouQkVHSU46CglAJHtFQ0hPX01TR30g
IlBSRUZJWCBtdXN0IGJlIGRlZmluZWQgYXMgYW4gYWJzb2x1dGUgcGF0aCBzbyB0aGF0IHdoZW4g
J21ha2UnIgoJQCR7RUNIT19NU0d9ICJpcyBpbnZva2VkIGluIHRoZSB3b3JrIGFyZWEgUFJFRklY
IHBvaW50cyB0byB0aGUgcmlnaHQgcGxhY2UuIgoJQCR7RkFMU0V9Ci5lbmRpZgouZW5kaWYKCiMg
T3duZXIgYW5kIGdyb3VwIG9mIHRoZSBXV1cgdXNlcgpXV1dPV04/PQl3d3cKV1dXR1JQPz0Jd3d3
CgojIEtlZXAgUEtHTkdfT1JJR0lOL1dJVEhfUEtHTkcgZm9yIGNvbXBhdCB3aXRoIHNjcmlwdHMg
d2hpY2ggYXJlIGxvb2tpbmcgZm9yIGl0ClBLR19PUklHSU4/PQlwb3J0cy1tZ210L3BrZwpQS0dO
R19PUklHSU49CSR7UEtHX09SSUdJTn0KV0lUSF9QS0dORz89CXllcwpXSVRIX1BLRz89CSR7V0lU
SF9QS0dOR30KCi5lbmRpZgojIEVuZCBvZiBwcmUtbWFrZWZpbGUgc2VjdGlvbi4KCiMgU3RhcnQg
b2YgcG9zdC1tYWtlZmlsZSBzZWN0aW9uLgouaWYgIWRlZmluZWQoQkVGT1JFUE9SVE1LKSAmJiAh
ZGVmaW5lZChJTk9QVElPTlNNSykKCi5pZiBkZWZpbmVkKF9QT1NUTUtJTkNMVURFRCkKREVWX0VS
Uk9SKz0JIiR7UEtHTkFNRX06IE1ha2VmaWxlIGVycm9yOiB5b3UgY2Fubm90IGluY2x1ZGUgYnNk
LnBvcnRbLnBvc3RdLm1rIHR3aWNlIgoJQCR7RkFMU0V9Ci5lbmRpZgoKX1BPU1RNS0lOQ0xVREVE
PQl5ZXMKCi5pZiBkZWZpbmVkKEJVTkRMRV9MSUJTKQpQS0dfTk9URVMrPQlub19wcm92aWRlX3No
bGliClBLR19OT1RFX25vX3Byb3ZpZGVfc2hsaWI9CXllcwouZW5kaWYKClBLR19FTlYrPQkJUE9S
VFNESVI9JHtQT1JUU0RJUn0KQ09ORklHVVJFX0VOVis9CVhER19EQVRBX0hPTUU9JHtXUktESVJ9
IFwKCQkJCVhER19DT05GSUdfSE9NRT0ke1dSS0RJUn0gXAoJCQkJSE9NRT0ke1dSS0RJUn0KTUFL
RV9FTlYrPQkJWERHX0RBVEFfSE9NRT0ke1dSS0RJUn0gXAoJCQkJWERHX0NPTkZJR19IT01FPSR7
V1JLRElSfSBcCgkJCQlIT01FPSR7V1JLRElSfQojIFJlc3BlY3QgVE1QRElSIHBhc3NlZCB2aWEg
bWFrZS5jb25mIG9yIHNpbWlsYXIgYW5kIHBhc3MgaXQgZG93bgojIHRvIGNvbmZpZ3VyZSBhbmQg
bWFrZS4KLmlmIGRlZmluZWQoVE1QRElSKQpNQUtFX0VOVis9CQlUTVBESVI9IiR7VE1QRElSfSIK
Q09ORklHVVJFX0VOVis9CVRNUERJUj0iJHtUTVBESVJ9IgouZW5kaWYgIyBkZWZpbmVkKFRNUERJ
UikKClFBX0VOVis9CQlTVEFHRURJUj0ke1NUQUdFRElSfSBcCgkJCQlQUkVGSVg9JHtQUkVGSVh9
IFwKCQkJCUxJTlVYQkFTRT0ke0xJTlVYQkFTRX0gXAoJCQkJTE9DQUxCQVNFPSR7TE9DQUxCQVNF
fSBcCgkJCQkiU1RSSVA9JHtTVFJJUH0iIFwKCQkJCVRNUFBMSVNUPSR7VE1QUExJU1R9Ci5pZiAh
ZW1wdHkoVVNFUzpNZGVza3RvcC1maWxlLXV0aWxzKQpRQV9FTlYrPQkJVVNFU0RFU0tUT1BGSUxF
VVRJTFM9eWVzCi5lbmRpZgouaWYgIWVtcHR5KFVTRVM6TWxpYnRvb2wqKQpRQV9FTlYrPQkJVVNF
U0xJQlRPT0w9eWVzCi5lbmRpZgouaWYgIWVtcHR5KFVTRVM6TXNoYXJlZC1taW1lLWluZm8pClFB
X0VOVis9CQlVU0VTU0hBUkVETUlNRUlORk89eWVzCi5lbmRpZgoKQ09fRU5WKz0JCVNUQUdFRElS
PSR7U1RBR0VESVJ9IFwKCQkJCVBSRUZJWD0ke1BSRUZJWH0gXAoJCQkJTE9DQUxCQVNFPSR7TE9D
QUxCQVNFfSBcCgkJCQlXUktESVI9JHtXUktESVJ9IFwKCQkJCVdSS1NSQz0ke1dSS1NSQ30gXAoJ
CQkJTVRSRUVfRklMRT0ke01UUkVFX0ZJTEV9IFwKCQkJCVRNUFBMSVNUPSR7VE1QUExJU1R9IFwK
CQkJCVNDUklQVFNESVI9JHtTQ1JJUFRTRElSfSBcCgkJCQlQTElTVF9TVUJfU0VEPSIke1BMSVNU
X1NVQl9TRUR9IiBcCgkJCQlQT1JUX09QVElPTlM9IiR7UE9SVF9PUFRJT05TfSIgXAoJCQkJUE9S
VFNESVI9IiR7UE9SVFNESVJ9IgoKLmlmIGRlZmluZWQoWF9CVUlMRF9GT1IpCi5pZiAke0NDfSA9
PSBnY2MKQ09ORklHVVJFX1RBUkdFVD0JJHtBUkNIfS1wb3J0YmxkLSR7T1BTWVM6dGx9JHtPU1JF
TH0KQ0M9CQkJJHtDT05GSUdVUkVfVEFSR0VUfS1nY2MKQ1hYPQkJCSR7QVJDSH0tcG9ydGJsZC0k
e09QU1lTOnRsfSR7T1NSRUx9LWcrKwpCVUlMRF9ERVBFTkRTKz0JCSR7Q09ORklHVVJFX1RBUkdF
VH0tZ2NjOiR7UE9SVFNESVJ9L2RldmVsLyR7QVJDSH0tZ2NjCiAgICAgICAgCQlAaWYgWyAhIC1o
IC91c3IvbG9jYWwvYmluL21pcHMtcG9ydGJsZC1mcmVlYnNkMTEuMC1hciAgXTsgdGhlbiBcCgkJ
CSAgIGxuIC1zZiAvdXNyL2xvY2FsL2Jpbi9taXBzLWZyZWVic2QtYXIgL3Vzci9sb2NhbC9iaW4v
bWlwcy1wb3J0YmxkLWZyZWVic2QxMS4wLWFyIDsgXAoJCQlmaSA7CgkJCWlmIFsgISAtaCAvdXNy
L2xvY2FsL2Jpbi9taXBzLXBvcnRibGQtZnJlZWJzZDExLjAtbm0gIF07IHRoZW4gXAoJCQkgICBs
biAtc2YgL3Vzci9sb2NhbC9iaW4vbWlwcy1mcmVlYnNkLW5tIC91c3IvbG9jYWwvYmluL21pcHMt
cG9ydGJsZC1mcmVlYnNkMTEuMC1ubSA7IFwKCQkJZmkgOwoJCQlpZiBbICEgLWggL3Vzci9sb2Nh
bC9iaW4vbWlwcy1wb3J0YmxkLWZyZWVic2QxMS4wLXJhbmxpYiAgXTsgdGhlbiBcCgkJCSAgIGxu
IC1zZiAvdXNyL2xvY2FsL2Jpbi9taXBzLWZyZWVic2QtcmFubGliIC91c3IvbG9jYWwvYmluL21p
cHMtcG9ydGJsZC1mcmVlYnNkMTEuMC1yYW5saWIgOyBcCgkJCWZpIDsKCQkJaWYgWyAhIC1oIC91
c3IvbG9jYWwvYmluL21pcHMtcG9ydGJsZC1mcmVlYnNkMTEuMC1zdHJpcCAgXTsgdGhlbiBcCgkJ
CSAgIGxuIC1zZiAvdXNyL2xvY2FsL2Jpbi9taXBzLWZyZWVic2Qtc3RyaXAgL3Vzci9sb2NhbC9i
aW4vbWlwcy1wb3J0YmxkLWZyZWVic2QxMS4wLXN0cmlwIDsgXAoJCQlmaQoKLmVuZGlmCi5pZiAk
e0NDfSA9PSBjYyB8fCAke0NDfSA9PSBjbGFuZwpDT05GSUdVUkVfVEFSR0VUPSAgICAgICAke0FS
Q0h9LXBvcnRibGQtJHtPUFNZUzp0bH0ke09TUkVMfQpDRkxBR1MrPQkJLS10YXJnZXQ9JHtDT05G
SUdVUkVfVEFSR0VUfQouZW5kaWYKClBLR19FTlYrPQkJQUJJX0ZJTEU9JHtTWVNST09UfS91c3Iv
bGliL2NydDEubwpOTT0JCQkke05NfQpMRD0JCQkke0NPTkZJR1VSRV9UQVJHRVR9LWdjYy1sZApB
Uj0JCQkke0NPTkZJR1VSRV9UQVJHRVR9LWdjYy1hcgpSQU5MSUI9CQkJJHtDT05GSUdVUkVfVEFS
R0VUfS1nY2MtcmFubGliCklOQ1M9CQkJLUkke1NSQ0RJUn0vLi4vcm9vdC8ke0FSQ0h9L3Vzci9p
bmNsdWRlCkNST1NTX0NPTVBJTEU9CQkke0FSQ0h9LXBvcnRibGQtZnJlZWJzZCR7T1NfUkVMfQpT
WVNST09UPQkJJHtTUkNESVJ9Ly4uL3Jvb3QvJHtBUkNIfQpDRkxBR1MrPQkJLS1zeXNyb290PSR7
U1lTUk9PVH0gJHtDUFVfQVJHU30gJHtJTkNTfSAtTwpDWFhGTEFHUys9CQktLXN5c3Jvb3Q9JHtT
WVNST09UfSAke0NQVV9BUkdTfSAke0lOQ1N9IC1PCkxERkxBR1MrPQkJLS1zeXNyb290PSR7U1lT
Uk9PVH0KU1RSSVBCSU49CQkke1NUUklQfQpQS0dfQ09ORklHX1NZU1JPT1RfRElSPQkiJHtTWVNS
T09UfSIKQ09ORklHVVJFX0VOVis9CQlQS0dfQ09ORklHX1NZU1JPT1RfRElSPSIke1NZU1JPT1R9
IgouZW5kaWYKCldSS0RJUj89CQkke1dSS0RJUlBSRUZJWH0key5DVVJESVJ9L3dvcmsKLmlmICFk
ZWZpbmVkKElHTk9SRV9NQVNURVJfU0lURV9HSVRIVUIpICYmIGRlZmluZWQoVVNFX0dJVEhVQikK
V1JLU1JDPz0JCSR7V1JLRElSfS8ke0dIX1BST0pFQ1R9LSR7R0hfVEFHTkFNRV9FWFRSQUNUfQou
ZW5kaWYKLmlmIGRlZmluZWQoTk9fV1JLU1VCRElSKQpXUktTUkM/PQkJJHtXUktESVJ9Ci5lbHNl
CldSS1NSQz89CQkke1dSS0RJUn0vJHtESVNUTkFNRX0KLmVuZGlmCi5pZiBkZWZpbmVkKFdSS1NS
Q19TVUJESVIpCldSS1NSQzo9CQkke1dSS1NSQ30vJHtXUktTUkNfU1VCRElSfQouZW5kaWYKClBB
VENIX1dSS1NSQz89CSR7V1JLU1JDfQpDT05GSUdVUkVfV1JLU1JDPz0JJHtXUktTUkN9CkJVSUxE
X1dSS1NSQz89CSR7V1JLU1JDfQpJTlNUQUxMX1dSS1NSQz89JHtXUktTUkN9CgpQTElTVF9TVUIr
PQlPU1JFTD0ke09TUkVMfSBQUkVGSVg9JUQgTE9DQUxCQVNFPSR7TE9DQUxCQVNFfSBcCgkJCVJF
U0VUUFJFRklYPSR7UFJFRklYfQpTVUJfTElTVCs9CVBSRUZJWD0ke1BSRUZJWH0gTE9DQUxCQVNF
PSR7TE9DQUxCQVNFfSBcCgkJREFUQURJUj0ke0RBVEFESVJ9IERPQ1NESVI9JHtET0NTRElSfSBF
WEFNUExFU0RJUj0ke0VYQU1QTEVTRElSfSBcCgkJV1dXRElSPSR7V1dXRElSfSBFVENESVI9JHtF
VENESVJ9CiMgVGhpcyBpcyB1c2VkIGZvciBjaGVjay1zdGFnZWRpci5zaCBhbmQgY2hlY2tfbGVm
dG92ZXIuc2ggdG8gcmVwbGFjZQojIGRpcmVjdG9yaWVzL2ZpbGVzIHdpdGggUExJU1RfU1VCICUl
S0VZUyUlLgojICBSZW1vdmUgVkFSUyB0aGF0IGFyZSB0b28gZ2VuZXJpYwojICBSZW1vdmUgZW1w
dHkgdmFsdWVzCiMgIFJlbW92ZSBAY29tbWVudCB2YWx1ZXMKIyAgUmVtb3ZlIHF1b3RlcwojICBS
ZXBsYWNlIC4gd2l0aCBcLiBmb3IgbGF0ZXIgc2VkKDEpIHVzYWdlClBMSVNUX1NVQl9TRURfTUlO
Pz0JMgpQTElTVF9TVUJfU0VEPz0gJHtQTElTVF9TVUI6Qy8uKj0uezEsJHtQTElTVF9TVUJfU0VE
X01JTn19JC8vZzpORVhUUkFDVF9TVUZYPSo6Tk9TUkVMPSo6TkxJQjMyRElSPSo6TlBSRUZJWD0q
Ok5MT0NBTEJBU0U9KjpOUkVTRVRQUkVGSVg9KjpOKj0iIjpOKj0iQGNvbW1lbnQqOkMvKFtePV0q
KT0iPyhbXiJdKikiPy9zIVwyISUlXDElJSFnOy9nOkMvXC4vXFwuL2d9CgojIGtsdWRnZSB0byBz
dHJpcCB0cmFpbGluZyB3aGl0ZXNwYWNlIGZyb20gQ0ZMQUdTOwojIHN1Yi1jb25maWd1cmUgd2ls
bCBub3QgIyBzdXJ2aXZlIGRvdWJsZSBzcGFjZQpDRkxBR1M6PQkke0NGTEFHUzpDLyAkLy99Cgou
aWYgZGVmaW5lZChXSVRIT1VUX0NQVV9DRkxBR1MpCi5pZiBkZWZpbmVkKF9DUFVDRkxBR1MpCi5p
ZiAhZW1wdHkoX0NQVUNGTEFHUykKQ0ZMQUdTOj0JJHtDRkxBR1M6Qy8ke19DUFVDRkxBR1N9Ly99
Ci5lbmRpZgouZW5kaWYKLmVuZGlmCgojIFJlc2V0IHZhbHVlIGZyb20gYnNkLm93bi5tay4KLmlm
IGRlZmluZWQoV0lUSF9ERUJVRykgJiYgIWRlZmluZWQoV0lUSE9VVF9ERUJVRykKLmlmICFkZWZp
bmVkKElOU1RBTExfU1RSSVBQRUQpClNUUklQPQkjbm9uZQpNQUtFX0VOVis9CURPTlRTVFJJUD15
ZXMKU1RSSVBfQ01EPQkke1RSVUV9Ci5lbmRpZgpERUJVR19GTEFHUz89CS1nCkNGTEFHUzo9CQkk
e0NGTEFHUzpOLU8qOk4tZm5vLXN0cmljdCp9ICR7REVCVUdfRkxBR1N9Ci5pZiBkZWZpbmVkKElO
U1RBTExfVEFSR0VUKQpJTlNUQUxMX1RBUkdFVDo9CSR7SU5TVEFMTF9UQVJHRVQ6Uy9eaW5zdGFs
bC1zdHJpcCQvaW5zdGFsbC9nfQouZW5kaWYKLmVuZGlmCgouaWYgIWRlZmluZWQoV0lUSE9VVF9T
U1ApCi5pbmNsdWRlICIke1BPUlRTRElSfS9Nay9ic2Quc3NwLm1rIgouZW5kaWYKCiMgWFhYIFBJ
RSBzdXBwb3J0IHRvIGJlIGFkZGVkIGhlcmUKTUFLRV9FTlYrPQlOT19QSUU9eWVzCgouaWYgZGVm
aW5lZChOT1BPUlRET0NTKQpQTElTVF9TVUIrPQkJUE9SVERPQ1M9IkBjb21tZW50ICIKLmVsc2UK
UExJU1RfU1VCKz0JCVBPUlRET0NTPSIiCi5lbmRpZgoKLmlmIGRlZmluZWQoTk9QT1JURVhBTVBM
RVMpClBMSVNUX1NVQis9CSAgICAgICAgUE9SVEVYQU1QTEVTPSJAY29tbWVudCAiCi5lbHNlClBM
SVNUX1NVQis9CSAgICAgICAgUE9SVEVYQU1QTEVTPSIiCi5lbmRpZgoKQ09ORklHVVJFX1NIRUxM
Pz0JJHtTSH0KTUFLRV9TSEVMTD89CSR7U0h9CgpDT05GSUdVUkVfRU5WKz0JU0hFTEw9JHtDT05G
SUdVUkVfU0hFTEx9IENPTkZJR19TSEVMTD0ke0NPTkZJR1VSRV9TSEVMTH0KTUFLRV9FTlYrPQkJ
U0hFTEw9JHtNQUtFX1NIRUxMfSBOT19MSU5UPVlFUwoKLmlmIGRlZmluZWQoUEFUQ0hGSUxFUykg
JiYgJHtQQVRDSEZJTEVTOk0qLnppcH0KUEFUQ0hfREVQRU5EUys9CQkke0xPQ0FMQkFTRX0vYmlu
L3VuemlwOiR7UE9SVFNESVJ9L2FyY2hpdmVycy91bnppcAouZW5kaWYKCiMgQ2hlY2sgdGhlIGNv
bXBhdGliaWxpdHkgbGF5ZXIgZm9yIGFtZDY0L2lhNjQKCi5pZiAke0FSQ0h9ID09ICJhbWQ2NCIg
fHwgJHtBUkNIfSA9PSJpYTY0IgouaWYgZXhpc3RzKC91c3IvbGliMzIpCkhBVkVfQ09NUEFUX0lB
MzJfTElCUz89ICBZRVMKLmVuZGlmCi5pZiAhZGVmaW5lZChIQVZFX0NPTVBBVF9JQTMyX0tFUk4p
CkhBVkVfQ09NUEFUX0lBMzJfS0VSTiE9IGlmICR7U1lTQ1RMfSAtbiBjb21wYXQuaWEzMi5tYXh2
bWVtID4vZGV2L251bGwgMj4mMTsgdGhlbiBlY2hvIFlFUzsgZmk7IGVjaG8KLmlmIGVtcHR5KEhB
VkVfQ09NUEFUX0lBMzJfS0VSTikKLnVuZGVmIEhBVkVfQ09NUEFUX0lBMzJfS0VSTgouZW5kaWYK
LmVuZGlmCi5lbmRpZgoKLmlmIGRlZmluZWQoSUEzMl9CSU5BUllfUE9SVCkgJiYgJHtBUkNIfSAh
PSAiaTM4NiIKLmlmICR7QVJDSH0gPT0gImFtZDY0IiB8fCAke0FSQ0h9ID09ICJpYTY0IgouaWYg
IWRlZmluZWQoSEFWRV9DT01QQVRfSUEzMl9LRVJOKQpJR05PUkU9CQlyZXF1aXJlcyBhIGtlcm5l
bCB3aXRoIGNvbXBpbGVkLWluIElBMzIgY29tcGF0aWJpbGl0eQouZWxpZiAhZGVmaW5lZChIQVZF
X0NPTVBBVF9JQTMyX0xJQlMpCklHTk9SRT0JCXJlcXVpcmVzIDMyLWJpdCBsaWJyYXJpZXMgaW5z
dGFsbGVkIHVuZGVyIC91c3IvbGliMzIKLmVuZGlmCl9MRENPTkZJR19GTEFHUz0tMzIKTElCMzJE
SVI9CWxpYjMyCi5lbHNlCklHTk9SRT0JCXJlcXVpcmVzIGkzODYgKG9yIGNvbXBhdGlibGUpIHBs
YXRmb3JtIHRvIHJ1bgouZW5kaWYKLmVsc2UKTElCMzJESVI9CWxpYgouZW5kaWYKUExJU1RfU1VC
Kz0JTElCMzJESVI9JHtMSUIzMkRJUn0KCi5pZiAke1dJVEhfUEtHfSA9PSBkZXZlbApQS0dfT1JJ
R0lOPQkJcG9ydHMtbWdtdC9wa2ctZGV2ZWwKLmVuZGlmCgouaWYgIWRlZmluZWQoUEtHX0RFUEVO
RFMpICYmICFkZWZpbmVkKENMRUFOX0ZFVENIX0VOVikKUEtHX0RFUEVORFMrPQkke0xPQ0FMQkFT
RX0vc2Jpbi9wa2c6JHtQT1JUU0RJUn0vJHtQS0dfT1JJR0lOfQouZW5kaWYKCi5pZiBkZWZpbmVk
KFVTRV9HQ0MpCi5pbmNsdWRlICIke1BPUlRTRElSfS9Nay9ic2QuZ2NjLm1rIgouZW5kaWYKCi5p
ZiBkZWZpbmVkKFVTRV9CSU5VVElMUykgJiYgIWRlZmluZWQoRElTQUJMRV9CSU5VVElMUykKQlVJ
TERfREVQRU5EUys9CSR7TE9DQUxCQVNFfS9iaW4vYXM6JHtQT1JUU0RJUn0vZGV2ZWwvYmludXRp
bHMKQklOVVRJTFM/PQlBRERSMkxJTkUgQVIgQVMgQ1BQRklMVCBHUFJPRiBMRCBOTSBPQkpDT1BZ
IE9CSkRVTVAgUkFOTElCIFwKCVJFQURFTEYgU0laRSBTVFJJTkdTCkJJTlVUSUxTX05PX01BS0Vf
RU5WPz0KLiBmb3IgYiBpbiAke0JJTlVUSUxTfQoke2J9PQkke0xPQ0FMQkFTRX0vYmluLyR7YjpD
L1BQLysrLzp0bH0KLiAgaWYgZGVmaW5lZChHTlVfQ09ORklHVVJFKSB8fCBkZWZpbmVkKEJJTlVU
SUxTX0NPTkZJR1VSRSkKQ09ORklHVVJFX0VOVis9CSR7Yn09IiR7JHtifX0iCi4gIGVuZGlmCi4g
IGlmICR7QklOVVRJTFNfTk9fTUFLRV9FTlY6TSR7Yn19ID09ICIiCk1BS0VfRU5WKz0JJHtifT0i
JHske2J9fSIKLiAgZW5kaWYKLiBlbmRmb3IKLmVuZGlmCgouaWYgZGVmaW5lZChVU0VfT1BFTkxE
QVApIHx8IGRlZmluZWQoV0FOVF9PUEVOTERBUF9WRVIpCi5pbmNsdWRlICIke1BPUlRTRElSfS9N
ay9ic2QubGRhcC5tayIKLmVuZGlmCgouaWYgZGVmaW5lZChVU0VfUkNfU1VCUikgJiYgJHtVU0Vf
UkNfU1VCUjp0dX0gIT0gIllFUyIKU1VCX0ZJTEVTKz0JJHtVU0VfUkNfU1VCUn0KLmVuZGlmCgou
aWYgZGVmaW5lZChVU0VfUkNPUkRFUikKU1VCX0ZJTEVTKz0JJHtVU0VfUkNPUkRFUn0KLmVuZGlm
CgouaWYgZGVmaW5lZChVU0VfTERDT05GSUcpICYmICR7VVNFX0xEQ09ORklHOnRsfSA9PSAieWVz
IgpVU0VfTERDT05GSUc9CSR7UFJFRklYfS9saWIKLmVuZGlmCi5pZiBkZWZpbmVkKFVTRV9MRENP
TkZJRzMyKSAmJiAke1VTRV9MRENPTkZJRzMyOnRsfSA9PSAieWVzIgpJR05PUkU9CQkJaGFzIFVT
RV9MRENPTkZJRzMyIHNldCB0byB5ZXMsIHdoaWNoIGlzIG5vdCBjb3JyZWN0Ci5lbmRpZgoKLmlm
IGRlZmluZWQoVVNFX0xJTlVYX1BSRUZJWCkgJiYgZGVmaW5lZChVU0VfTERDT05GSUcpCiMgd2Ug
bmVlZCAke0xJTlVYQkFTRX0vc2Jpbi9sZGNvbmZpZwpVU0VfTElOVVg/PQl5ZXMKLmVuZGlmCgou
aWYgZGVmaW5lZChVU0VfTElOVVgpCgouICBpZiAhZGVmaW5lZChMSU5VWF9PU1JFTEVBU0UpCkxJ
TlVYX09TUkVMRUFTRSE9CSR7RUNIT19DTUR9IGAke1NZU0NUTH0gLW4gY29tcGF0LmxpbnV4Lm9z
cmVsZWFzZSAyPi9kZXYvbnVsbGAKLiAgZW5kaWYKCiMgaW5zdGFsbCgxKSBhbHNvIGRvZXMgYSBi
cmFuZGVsZiBvbiBzdHJpcCwgc28gZG9uJ3Qgc3RyaXAgd2l0aCBGcmVlQlNEIHRvb2xzLgpTVFJJ
UD0KLglpZiBleGlzdHMoJHtMSU5VWEJBU0V9L3Vzci9iaW4vc3RyaXApClNUUklQX0NNRD0JJHtM
SU5VWEJBU0V9L3Vzci9iaW4vc3RyaXAKLgllbHNlClNUUklQX0NNRD0JJHtUUlVFfQouCWVuZGlm
CgojIEFsbG93IHRoZSB1c2VyIHRvIHNwZWNpZnkgYW5vdGhlciBsaW51eF9iYXNlIHZlcnNpb24u
Ci4JaWYgZGVmaW5lZChPVkVSUklERV9MSU5VWF9CQVNFX1BPUlQpCi4JCWlmICR7VVNFX0xJTlVY
OnRsfSA9PSB5ZXMKVVNFX0xJTlVYPQkke09WRVJSSURFX0xJTlVYX0JBU0VfUE9SVH0KLgkJZW5k
aWYKLgllbmRpZgoKIyBOT1RFOiB3aGVuIHlvdSB1cGRhdGUgdGhlIGRlZmF1bHQgbGludXhfYmFz
ZSB2ZXJzaW9uIChjYXNlICJ5ZXMiKSwKIyBkb24ndCBmb3JnZXQgdG8gdXBkYXRlIHRoZSBIYW5k
Ym9vayEKCi4JaWYgZXhpc3RzKCR7UE9SVFNESVJ9L2VtdWxhdG9ycy9saW51eF9iYXNlLSR7VVNF
X0xJTlVYfSkKTElOVVhfQkFTRV9QT1JUPQkke0xJTlVYQkFTRX0vYmluL3NoOiR7UE9SVFNESVJ9
L2VtdWxhdG9ycy9saW51eF9iYXNlLSR7VVNFX0xJTlVYfQouCWVsc2UKLgkJaWYgJHtVU0VfTElO
VVg6dGx9ID09ICJ5ZXMiClVTRV9MSU5VWD0JYzYKTElOVVhfQkFTRV9QT1JUPQkke0xJTlVYQkFT
RX0vZXRjL3JlZGhhdC1yZWxlYXNlOiR7UE9SVFNESVJ9L2VtdWxhdG9ycy9saW51eF9iYXNlLWM2
Ci4JCWVsc2UKSUdOT1JFPQkJY2Fubm90IGJlIGJ1aWx0OiB0aGVyZSBpcyBubyBlbXVsYXRvcnMv
bGludXhfYmFzZS0ke1VTRV9MSU5VWH0sIHBlcmhhcHMgd3JvbmcgdXNlIG9mIFVTRV9MSU5VWCBv
ciBPVkVSUklERV9MSU5VWF9CQVNFX1BPUlQKLgkJZW5kaWYKLgllbmRpZgoKUlVOX0RFUEVORFMr
PQkke0xJTlVYX0JBU0VfUE9SVH0KLmVuZGlmCgpQS0dfSUdOT1JFX0RFUEVORFM/PQkJJ3RoaXNf
cG9ydF9kb2VzX25vdF9leGlzdCcKCl9HTF9nYm1fTElCX0RFUEVORFM9CQlsaWJnYm0uc286JHtQ
T1JUU0RJUn0vZ3JhcGhpY3MvZ2JtCl9HTF9nbGVzdjJfQlVJTERfREVQRU5EUz0JCWxpYmdsZXN2
Mj4wOiR7UE9SVFNESVJ9L2dyYXBoaWNzL2xpYmdsZXN2MgpfR0xfZ2xlc3YyX1JVTl9ERVBFTkRT
PQkJbGliZ2xlc3YyPjA6JHtQT1JUU0RJUn0vZ3JhcGhpY3MvbGliZ2xlc3YyCl9HTF9lZ2xfQlVJ
TERfREVQRU5EUz0JCWxpYkVHTD4wOiR7UE9SVFNESVJ9L2dyYXBoaWNzL2xpYkVHTApfR0xfZWds
X1JVTl9ERVBFTkRTPQkJbGliRUdMPjA6JHtQT1JUU0RJUn0vZ3JhcGhpY3MvbGliRUdMCl9HTF9n
bF9CVUlMRF9ERVBFTkRTPQkJbGliR0w+MDoke1BPUlRTRElSfS9ncmFwaGljcy9saWJHTApfR0xf
Z2xfUlVOX0RFUEVORFM9CQlsaWJHTD4wOiR7UE9SVFNESVJ9L2dyYXBoaWNzL2xpYkdMCl9HTF9n
bF9VU0VfWE9SRz0JCWdscHJvdG8gZHJpMnByb3RvCl9HTF9nbGV3X0xJQl9ERVBFTkRTPQkJbGli
R0xFVy5zbzoke1BPUlRTRElSfS9ncmFwaGljcy9nbGV3Cl9HTF9nbHVfTElCX0RFUEVORFM9CQls
aWJHTFUuc286JHtQT1JUU0RJUn0vZ3JhcGhpY3MvbGliR0xVCl9HTF9nbHVfVVNFX1hPUkc9CQln
bHByb3RvIGRyaTJwcm90bwpfR0xfZ2x3X0xJQl9ERVBFTkRTPQkJbGliR0x3LnNvOiR7UE9SVFNE
SVJ9L2dyYXBoaWNzL2xpYkdMdwpfR0xfZ2x1dF9MSUJfREVQRU5EUz0JCWxpYmdsdXQuc286JHtQ
T1JUU0RJUn0vZ3JhcGhpY3MvZnJlZWdsdXQKCi5pZiBkZWZpbmVkKFVTRV9HTCkKLiBpZiAke1VT
RV9HTDp0bH0gPT0gInllcyIKVVNFX0dMPQkJZ2x1Ci4gZW5kaWYKLiBmb3IgX2NvbXBvbmVudCBp
biAke1VTRV9HTH0KLiAgaWYgIWRlZmluZWQoX0dMXyR7X2NvbXBvbmVudH1fTElCX0RFUEVORFMp
ICYmIFwKCQkhZGVmaW5lZChfR0xfJHtfY29tcG9uZW50fV9SVU5fREVQRU5EUykKSUdOT1JFPQkJ
dXNlcyB1bmtub3duIEdMIGNvbXBvbmVudAouICBlbHNlClVTRV9YT1JHKz0JJHtfR0xfJHtfY29t
cG9uZW50fV9VU0VfWE9SR30KQlVJTERfREVQRU5EUys9CSR7X0dMXyR7X2NvbXBvbmVudH1fQlVJ
TERfREVQRU5EU30KTElCX0RFUEVORFMrPQkke19HTF8ke19jb21wb25lbnR9X0xJQl9ERVBFTkRT
fQpSVU5fREVQRU5EUys9CSR7X0dMXyR7X2NvbXBvbmVudH1fUlVOX0RFUEVORFN9Ci4gIGVuZGlm
Ci4gZW5kZm9yCi5lbmRpZgoKLmlmIGRlZmluZWQoX0RFU1RESVJfVklBX0VOVikKTUFLRV9FTlYr
PQkke0RFU1RESVJOQU1FfT0ke1NUQUdFRElSfQouZWxzZQpNQUtFX0FSR1MrPQkke0RFU1RESVJO
QU1FfT0ke1NUQUdFRElSfQouZW5kaWYKCi5pZiBkZWZpbmVkKE5PX1BSRUZJWF9STURJUikKQ09f
RU5WKz0JTk9fUFJFRklYX1JNRElSPTEKLmVsc2UKQ09fRU5WKz0JTk9fUFJFRklYX1JNRElSPTAK
LmVuZGlmCgoKTUVUQURJUj0JCSR7V1JLRElSfS8ubWV0YWRpcgpNQU5JRkVTVEY9CQkke01FVEFE
SVJ9LytNQU5JRkVTVAoKUEtHUFJFSU5TVEFMTD89CQkke1BLR0RJUn0vcGtnLXByZS1pbnN0YWxs
ClBLR1BPU1RJTlNUQUxMPz0JJHtQS0dESVJ9L3BrZy1wb3N0LWluc3RhbGwKUEtHUFJFREVJTlNU
QUxMPz0JJHtQS0dESVJ9L3BrZy1wcmUtZGVpbnN0YWxsClBLR1BPU1RERUlOU1RBTEw/PQkke1BL
R0RJUn0vcGtnLXBvc3QtZGVpbnN0YWxsClBLR1BSRVVQR1JBREU/PQkJJHtQS0dESVJ9L3BrZy1w
cmUtdXBncmFkZQpQS0dQT1NUVVBHUkFERT89CSR7UEtHRElSfS9wa2ctcG9zdC11cGdyYWRlClBL
R1VQR1JBREU/PQkJJHtQS0dESVJ9L3BrZy11cGdyYWRlCgpfRk9SQ0VfUE9TVF9QQVRURVJOUz0J
cm1kaXIga2xkeHJlZiBta2ZvbnRzY2FsZSBta2ZvbnRkaXIgZmMtY2FjaGUgXAoJCQkJCQlmb250
cy5kaXIgZm9udHMuc2NhbGUgZ3RrLXVwZGF0ZS1pY29uLWNhY2hlIFwKCQkJCQkJZ2lvLXF1ZXJ5
bW9kdWxlcyBcCgkJCQkJCWd0ay1xdWVyeS1pbW1vZHVsZXMgXAoJCQkJCQlsZGNvbmZpZyBcCgkJ
CQkJCWxvYWQtb2N0YXZlLXBrZyBcCgkJCQkJCW9jYW1sZmluZCBcCgkJCQkJCXVwZGF0ZS1kZXNr
dG9wLWRhdGFiYXNlIHVwZGF0ZS1taW1lLWRhdGFiYXNlIFwKCQkJCQkJZ2RrLXBpeGJ1Zi1xdWVy
eS1sb2FkZXJzIGNhdGFsb2cucG9ydHMgXAoJCQkJCQlnbGliLWNvbXBpbGUtc2NoZW1hcyBcCgkJ
CQkJCWNjYWNoZS11cGRhdGUtbGlua3MKCi5pZiBkZWZpbmVkKFVTRV9MT0NBTF9NSykKLmluY2x1
ZGUgIiR7UE9SVFNESVJ9L01rL2JzZC5sb2NhbC5tayIKLmVuZGlmCgouaWYgZGVmaW5lZChVU0Vf
WE9SRykgfHwgZGVmaW5lZChYT1JHX0NBVCkKLmluY2x1ZGUgIiR7UE9SVFNESVJ9L01rL2JzZC54
b3JnLm1rIgouZW5kaWYKCi5pZiBkZWZpbmVkKFVTRV9NWVNRTCkgfHwgZGVmaW5lZChXQU5UX01Z
U1FMX1ZFUikgfHwgXAoJZGVmaW5lZChVU0VfQkRCKSB8fCBkZWZpbmVkKFVTRV9TUUxJVEUpIHx8
IGRlZmluZWQoVVNFX0ZJUkVCSVJEKQouaW5jbHVkZSAiJHtQT1JUU0RJUn0vTWsvYnNkLmRhdGFi
YXNlLm1rIgouZW5kaWYKCi5pZiBkZWZpbmVkKFdBTlRfR1NUUkVBTUVSKSB8fCBkZWZpbmVkKFVT
RV9HU1RSRUFNRVIpIHx8IGRlZmluZWQoVVNFX0dTVFJFQU1FUjEpCi5pbmNsdWRlICIke1BPUlRT
RElSfS9Nay9ic2QuZ3N0cmVhbWVyLm1rIgouZW5kaWYKCi5pZiBkZWZpbmVkKFVTRV9KQVZBKQou
aW5jbHVkZSAiJHtQT1JUU0RJUn0vTWsvYnNkLmphdmEubWsiCi5lbmRpZgoKLmlmIGRlZmluZWQo
VVNFX09DQU1MKQouaW5jbHVkZSAiJHtQT1JUU0RJUn0vTWsvYnNkLm9jYW1sLm1rIgouZW5kaWYK
Ci5pZiBkZWZpbmVkKFVTRV9MSU5VWF9SUE0pCi5pbmNsdWRlICIke1BPUlRTRElSfS9Nay9ic2Qu
bGludXgtcnBtLm1rIgouZW5kaWYKCi5pZiBkZWZpbmVkKFVTRV9MSU5VWF9BUFBTKQouaW5jbHVk
ZSAiJHtQT1JUU0RJUn0vTWsvYnNkLmxpbnV4LWFwcHMubWsiCi5lbmRpZgoKLmlmIGRlZmluZWQo
VVNFX1FUNCkgfHwgZGVmaW5lZChVU0VfUVQ1KQouaW5jbHVkZSAiJHtQT1JUU0RJUn0vTWsvYnNk
LnF0Lm1rIgouZW5kaWYKCi5pZiBkZWZpbmVkKFVTRV9TREwpIHx8IGRlZmluZWQoV0FOVF9TREwp
Ci5pbmNsdWRlICIke1BPUlRTRElSfS9Nay9ic2Quc2RsLm1rIgouZW5kaWYKCi5pZiBkZWZpbmVk
KFVTRV9QSFApCi5pbmNsdWRlICIke1BPUlRTRElSfS9Nay9ic2QucGhwLm1rIgouZW5kaWYKCi5p
ZiBkZWZpbmVkKFVTRV9XWCkgfHwgZGVmaW5lZChVU0VfV1hfTk9UKQouaW5jbHVkZSAiJHtQT1JU
U0RJUn0vTWsvYnNkLnd4Lm1rIgouZW5kaWYKCi5pZiBkZWZpbmVkKFVTRV9BUEFDSEUpIHx8IGRl
ZmluZWQoVVNFX0FQQUNIRV9CVUlMRCkgfHwgZGVmaW5lZChVU0VfQVBBQ0hFX1JVTikKLmluY2x1
ZGUgIiR7UE9SVFNESVJ9L01rL2JzZC5hcGFjaGUubWsiCi5lbmRpZgoKLmlmIGRlZmluZWQoVVNF
X0FVVE9UT09MUykKLmluY2x1ZGUgIiR7UE9SVFNESVJ9L01rL2JzZC5hdXRvdG9vbHMubWsiCi5l
bmRpZgoKLmlmIGRlZmluZWQoVVNFX0ZQQykgfHwgZGVmaW5lZChXQU5UX0ZQQ19CQVNFKSB8fCBk
ZWZpbmVkKFdBTlRfRlBDX0FMTCkKLmluY2x1ZGUgIiR7UE9SVFNESVJ9L01rL2JzZC5mcGMubWsi
Ci5lbmRpZgoKLmlmIGRlZmluZWQoVVNFX0dFQ0tPKQouaW5jbHVkZSAiJHtQT1JUU0RJUn0vTWsv
YnNkLmdlY2tvLm1rIgouZW5kaWYKCi5pZiBkZWZpbmVkKFdBTlRfR05PTUUpIHx8IGRlZmluZWQo
VVNFX0dOT01FKQouaW5jbHVkZSAiJHtQT1JUU0RJUn0vTWsvYnNkLmdub21lLm1rIgouZW5kaWYK
Ci5pZiBkZWZpbmVkKFVTRV9NQVRFKQouaW5jbHVkZSAiJHtQT1JUU0RJUn0vTWsvYnNkLm1hdGUu
bWsiCi5lbmRpZgoKLmlmIGRlZmluZWQoVVNFX0tERTQpCi5pbmNsdWRlICIke1BPUlRTRElSfS9N
ay9ic2Qua2RlNC5tayIKLmVuZGlmCgouaWYgZXhpc3RzKCR7UE9SVFNESVJ9L01ha2VmaWxlLmlu
YykKLmluY2x1ZGUgIiR7UE9SVFNESVJ9L01ha2VmaWxlLmluYyIKVVNFX1NVQk1BS0U9CXllcwou
ZW5kaWYKCiMgTG9hZGluZyBmZWF0dXJlcwouZm9yIGYgaW4gJHtfVVNFU19QT1NUfQpfZjo9CQkk
e2Y6Qy9cOi4qLy99Ci5pZiAhZGVmaW5lZCgke19mfV9BUkdTKQoke19mfV9BUkdTOj0JJHtmOkMv
XlteXDpdKihcOnxcJCkvLzpTLywvIC9nfQouZW5kaWYKLmVuZGZvcgouZm9yIGYgaW4gJHtfVVNF
U19QT1NUfQouaW5jbHVkZSAiJHtVU0VTRElSfS8ke2Y6Qy9cOi4qLy99Lm1rIgouZW5kZm9yCgou
aWYgZGVmaW5lZChVU0VfWE9SRykKIyBBZGQgZXhwbGljaXQgWCBvcHRpb25zIHRvIGF2b2lkIHBy
b2JsZW1zIHdpdGggZmFsc2UgcG9zaXRpdmVzIGluIGNvbmZpZ3VyZQouaWYgZGVmaW5lZChHTlVf
Q09ORklHVVJFKQpDT05GSUdVUkVfQVJHUys9LS14LWxpYnJhcmllcz0ke0xPQ0FMQkFTRX0vbGli
IC0teC1pbmNsdWRlcz0ke0xPQ0FMQkFTRX0vaW5jbHVkZQouZW5kaWYKLmVuZGlmCgojIFNldCB0
aGUgZGVmYXVsdCBmb3IgdGhlIGluc3RhbGxhdGlvbiBvZiBQb3N0c2NyaXB0KFRNKS0KIyBjb21w
YXRpYmxlIGZ1bmN0aW9uYWxpdHkuCi5pZiAhZGVmaW5lZChVU0VfR0hPU1RTQ1JJUFQpCi4JaWYg
ZGVmaW5lZChVU0VfR0hPU1RTQ1JJUFRfQlVJTEQpCl9VU0VfR0hPU1RTQ1JJUFQ9CSR7VVNFX0dI
T1NUU0NSSVBUX0JVSUxEfQouCWVsaWYgZGVmaW5lZChVU0VfR0hPU1RTQ1JJUFRfUlVOKQpfVVNF
X0dIT1NUU0NSSVBUPQkke1VTRV9HSE9TVFNDUklQVF9SVU59Ci4JZW5kaWYKLmVsc2UKX1VTRV9H
SE9TVFNDUklQVD0JJHtVU0VfR0hPU1RTQ1JJUFR9Ci5lbmRpZgoKLmlmIGRlZmluZWQoV0lUSF9H
SE9TVFNDUklQVF9WRVIpICYmICFlbXB0eShXSVRIX0dIT1NUU0NSSVBUX1ZFUjpNWzc4OV0pCl9V
U0VfR0hPU1RTQ1JJUFRfREVGQVVMVF9WRVI9CSR7V0lUSF9HSE9TVFNDUklQVF9WRVJ9Ci5lbHNl
Cl9VU0VfR0hPU1RTQ1JJUFRfREVGQVVMVF9WRVI9CTkKLmVuZGlmCgouaWYgZGVmaW5lZChfVVNF
X0dIT1NUU0NSSVBUKQouCWlmICFkZWZpbmVkKFdJVEhPVVRfWDExKQpfVVNFX0dIT1NUU0NSSVBU
X1BLR05BTUVfU1VGRklYPQouCWVsc2UKX1VTRV9HSE9TVFNDUklQVF9QS0dOQU1FX1NVRkZJWD0t
bm94MTEKLgllbmRpZgouCWlmICFlbXB0eShfVVNFX0dIT1NUU0NSSVBUOk1bNzg5XSkKX1VTRV9H
SE9TVFNDUklQVF9WRVI9JHtfVVNFX0dIT1NUU0NSSVBUOk1bNzg5XX0KLgllbHNlCl9VU0VfR0hP
U1RTQ1JJUFRfVkVSPSR7X1VTRV9HSE9TVFNDUklQVF9ERUZBVUxUX1ZFUn0KLgllbmRpZgouZWxz
ZQpfVVNFX0dIT1NUU0NSSVBUX1ZFUj0ke19VU0VfR0hPU1RTQ1JJUFRfREVGQVVMVF9WRVJ9Ci5l
bmRpZgoKIyBTYW5pdHkgY2hlY2sKLmlmIGRlZmluZWQoX1VTRV9HSE9TVFNDUklQVCkgJiYgZGVm
aW5lZChXSVRIX0dIT1NUU0NSSVBUX1ZFUikKLglpZiBlbXB0eShXSVRIX0dIT1NUU0NSSVBUX1ZF
UjpNWzc4OV0pCi4JCWVycm9yIFlvdSBzZXQgYW4gaW52YWxpZCB2YWx1ZSAiJHtXSVRIX0dIT1NU
U0NSSVBUX1ZFUn0iIGluIFdJVEhfR0hPU1RTQ1JJUFRfVkVSLiAgQWJvcnQuCi4JZWxpZiAke19V
U0VfR0hPU1RTQ1JJUFRfVkVSfSAhPSAke1dJVEhfR0hPU1RTQ1JJUFRfVkVSfQouCQllcnJvciBZ
b3Ugc2V0IFdJVEhfR0hPU1RTQ1JJUFRfVkVSIGFzICR7V0lUSF9HSE9TVFNDUklQVF9WRVJ9IGJ1
dCAke1BLR05BTUV9IHJlcXVpcmVzIHByaW50L2dob3N0c2NyaXB0JHtfVVNFX0dIT1NUU0NSSVBU
X1ZFUn0uICBBYm9ydC4KLgllbmRpZgouZW5kaWYKCkdIT1NUU0NSSVBUX1BPUlQ/PQlwcmludC9n
aG9zdHNjcmlwdCR7X1VTRV9HSE9TVFNDUklQVF9WRVJ9JHtfVVNFX0dIT1NUU0NSSVBUX1BLR05B
TUVfU1VGRklYfQoKIyBTZXQgdXAgdGhlIGdob3N0c2NyaXB0IGRlcGVuZGVuY2llcy4KLmlmIGRl
ZmluZWQoVVNFX0dIT1NUU0NSSVBUKSB8fCBkZWZpbmVkKFVTRV9HSE9TVFNDUklQVF9CVUlMRCkK
QlVJTERfREVQRU5EUys9CWdzOiR7UE9SVFNESVJ9LyR7R0hPU1RTQ1JJUFRfUE9SVH0KLmVuZGlm
Ci5pZiBkZWZpbmVkKFVTRV9HSE9TVFNDUklQVCkgfHwgZGVmaW5lZChVU0VfR0hPU1RTQ1JJUFRf
UlVOKQpSVU5fREVQRU5EUys9CWdzOiR7UE9SVFNESVJ9LyR7R0hPU1RTQ1JJUFRfUE9SVH0KLmVu
ZGlmCgojIE1hY3JvIGZvciBkb2luZyBpbi1wbGFjZSBmaWxlIGVkaXRpbmcgdXNpbmcgcmVnZXhw
cwpSRUlOUExBQ0VfQVJHUz89CS1pLmJhawpSRUlOUExBQ0VfQ01EPz0JJHtTRUR9ICR7UkVJTlBM
QUNFX0FSR1N9CgojIE5hbWVzIG9mIGNvb2tpZXMgdXNlZCB0byBza2lwIGFscmVhZHkgY29tcGxl
dGVkIHN0YWdlcwpFWFRSQUNUX0NPT0tJRT89CSR7V1JLRElSfS8uZXh0cmFjdF9kb25lLiR7UE9S
VE5BTUV9LiR7UFJFRklYOlMvXC8vXy9nfQpDT05GSUdVUkVfQ09PS0lFPz0JJHtXUktESVJ9Ly5j
b25maWd1cmVfZG9uZS4ke1BPUlROQU1FfS4ke1BSRUZJWDpTL1wvL18vZ30KSU5TVEFMTF9DT09L
SUU/PQkke1dSS0RJUn0vLmluc3RhbGxfZG9uZS4ke1BPUlROQU1FfS4ke1BSRUZJWDpTL1wvL18v
Z30KQlVJTERfQ09PS0lFPz0JCSR7V1JLRElSfS8uYnVpbGRfZG9uZS4ke1BPUlROQU1FfS4ke1BS
RUZJWDpTL1wvL18vZ30KUEFUQ0hfQ09PS0lFPz0JCSR7V1JLRElSfS8ucGF0Y2hfZG9uZS4ke1BP
UlROQU1FfS4ke1BSRUZJWDpTL1wvL18vZ30KUEFDS0FHRV9DT09LSUU/PQkke1dSS0RJUn0vLnBh
Y2thZ2VfZG9uZS4ke1BPUlROQU1FfS4ke1BSRUZJWDpTL1wvL18vZ30KU1RBR0VfQ09PS0lFPz0J
CSR7V1JLRElSfS8uc3RhZ2VfZG9uZS4ke1BPUlROQU1FfS4ke1BSRUZJWDpTL1wvL18vZ30KCiMg
SG93IHRvIGRvIG5vdGhpbmcuICBPdmVycmlkZSBpZiB5b3UsIGZvciBzb21lIHN0cmFuZ2UgcmVh
c29uLCB3b3VsZCByYXRoZXIKIyBkbyBzb21ldGhpbmcuCkRPX05BREE/PQkJJHtUUlVFfQoKIyBV
c2UgdGhpcyBhcyB0aGUgZmlyc3Qgb3BlcmFuZCB0byBhbHdheXMgYnVpbGQgZGVwZW5kZW5jeS4K
Tk9ORVhJU1RFTlQ/PQkvbm9uZXhpc3RlbnQKCkNIRUNLU1VNX0FMR09SSVRITVM/PSBzaGEyNTYK
CkRJU1RJTkZPX0ZJTEU/PQkJJHtNQVNURVJESVJ9L2Rpc3RpbmZvCgpNQUtFX0ZMQUdTPz0JLWYK
TUFLRUZJTEU/PQkJTWFrZWZpbGUKTUFLRV9DTUQ/PQkJJHtCU0RNQUtFfQpNQUtFX0VOVis9CQlQ
UkVGSVg9JHtQUkVGSVh9IFwKCQkJTE9DQUxCQVNFPSR7TE9DQUxCQVNFfSBcCgkJCUxJQkRJUj0i
JHtMSUJESVJ9IiBcCgkJCUNDPSIke0NDfSIgQ0ZMQUdTPSIke0NGTEFHU30iIFwKCQkJQ1BQPSIk
e0NQUH0iIENQUEZMQUdTPSIke0NQUEZMQUdTfSIgXAoJCQlMREZMQUdTPSIke0xERkxBR1N9IiBM
SUJTPSIke0xJQlN9IiBcCgkJCUNYWD0iJHtDWFh9IiBDWFhGTEFHUz0iJHtDWFhGTEFHU30iIFwK
CQkJTUFOUFJFRklYPSIke01BTlBSRUZJWH0iCgojIEFkZCAtZm5vLXN0cmljdC1hbGlhc2luZyB0
byBDRkxBR1Mgd2l0aCBvcHRpbWl6YXRpb24gbGV2ZWwgLU8yIG9yIGhpZ2hlci4KIyBnY2MgNC54
IGVuYWJsZSBzdHJpY3QgYWxpYXNpbmcgb3B0aW1pemF0aW9uIHdpdGggLU8yIHdoaWNoIGlzIGtu
b3duIHRvIGJyZWFrCiMgYSBsb3Qgb2YgcG9ydHMuCi5pZiAhZGVmaW5lZChXSVRIT1VUX05PX1NU
UklDVF9BTElBU0lORykKLmlmICR7Q0N9ICE9ICJpY2MiCi5pZiBlbXB0eShDRkxBR1M6TS1mbm8t
c3RyaWN0LWFsaWFzaW5nKQpDRkxBR1MrPSAgICAgICAtZm5vLXN0cmljdC1hbGlhc2luZwouZW5k
aWYKLmVuZGlmCi5lbmRpZgoKLmZvciBsYW5nIGluIEMgQ1hYCi5pZiBkZWZpbmVkKFVTRV8ke2xh
bmd9U1REKQoke2xhbmd9RkxBR1M6PQkkeyR7bGFuZ31GTEFHUzpOLXN0ZD0qfSAtc3RkPSR7VVNF
XyR7bGFuZ31TVER9Ci5lbmRpZgoKLmlmIGRlZmluZWQoJHtsYW5nfUZMQUdTXyR7QVJDSH0pCiR7
bGFuZ31GTEFHUys9CSR7JHtsYW5nfUZMQUdTXyR7QVJDSH19Ci5lbmRpZgouZW5kZm9yCgojIE11
bHRpcGxlIG1ha2Ugam9icyBzdXBwb3J0Ci5pZiBkZWZpbmVkKERJU0FCTEVfTUFLRV9KT0JTKSB8
fCBkZWZpbmVkKE1BS0VfSk9CU19VTlNBRkUpCl9NQUtFX0pPQlM/PQkJIwpNQUtFX0pPQlNfTlVN
QkVSPQkxCi5lbHNlCi5pZiBkZWZpbmVkKE1BS0VfSk9CU19OVU1CRVIpCl9NQUtFX0pPQlNfTlVN
QkVSOj0JJHtNQUtFX0pPQlNfTlVNQkVSfQouZWxzZQpfTUFLRV9KT0JTX05VTUJFUiE9CSR7U1lT
Q1RMfSAtbiBrZXJuLnNtcC5jcHVzCi5lbmRpZgouaWYgZGVmaW5lZChNQUtFX0pPQlNfTlVNQkVS
X0xJTUlUKSAmJiAoICR7TUFLRV9KT0JTX05VTUJFUl9MSU1JVH0gPCAke19NQUtFX0pPQlNfTlVN
QkVSfSApCk1BS0VfSk9CU19OVU1CRVI9CSR7TUFLRV9KT0JTX05VTUJFUl9MSU1JVH0KLmVsc2UK
TUFLRV9KT0JTX05VTUJFUj0JJHtfTUFLRV9KT0JTX05VTUJFUn0KLmVuZGlmCl9NQUtFX0pPQlM/
PQkJLWoke01BS0VfSk9CU19OVU1CRVJ9CkJVSUxEX0ZBSUxfTUVTU0FHRSs9CVRyeSB0byBzZXQg
TUFLRV9KT0JTX1VOU0FGRT15ZXMgYW5kIHJlYnVpbGQgYmVmb3JlIHJlcG9ydGluZyB0aGUgZmFp
bHVyZSB0byB0aGUgbWFpbnRhaW5lci4KLmVuZGlmCgouaW5jbHVkZSAiJHtQT1JUU0RJUn0vTWsv
YnNkLmNjYWNoZS5tayIKCkZFVENIX0VOVj89CQlTU0xfTk9fVkVSSUZZX1BFRVI9MSBTU0xfTk9f
VkVSSUZZX0hPU1ROQU1FPTEKRkVUQ0hfQklOQVJZPz0JL3Vzci9iaW4vZmV0Y2gKRkVUQ0hfQVJH
Uz89CS1GcHIKRkVUQ0hfUkVHRVQ/PQkxCi5pZiAhZGVmaW5lZChESVNBQkxFX1NJWkUpCkZFVENI
X0JFRk9SRV9BUkdTKz0JJCR7Q0tTSVpFOistUyAkJENLU0laRX0KLmVuZGlmCkZFVENIX0NNRD89
CQkke0ZFVENIX0JJTkFSWX0gJHtGRVRDSF9BUkdTfQoKLmlmIGRlZmluZWQoUkFORE9NSVpFX01B
U1RFUl9TSVRFUykKLmlmIGV4aXN0cygvdXNyL2dhbWVzL3JhbmRvbSkKUkFORE9NX0NNRD89CS91
c3IvZ2FtZXMvcmFuZG9tClJBTkRPTV9BUkdTPz0JIi13IC1mIC0iCl9SQU5ET01JWkVfU0lURVM9
CSIgfCR7UkFORE9NX0NNRH0gJHtSQU5ET01fQVJHU30iCi5lbmRpZgouZW5kaWYKClRPVUNIPz0J
CQkvdXNyL2Jpbi90b3VjaApUT1VDSF9GTEFHUz89CS1mCgpESVNUT1JJRz89CS5iYWsub3JpZwpQ
QVRDSD89CQkJL3Vzci9iaW4vcGF0Y2gKUEFUQ0hfU1RSSVA/PQktcDAKUEFUQ0hfRElTVF9TVFJJ
UD89CS1wMAouaWYgZGVmaW5lZChQQVRDSF9ERUJVRykKUEFUQ0hfREVCVUdfVE1QPQl5ZXMKUEFU
Q0hfQVJHUz89CS1kICR7UEFUQ0hfV1JLU1JDfSAtRSAke1BBVENIX1NUUklQfQpQQVRDSF9ESVNU
X0FSR1M/PQktLXN1ZmZpeCAke0RJU1RPUklHfSAtZCAke1BBVENIX1dSS1NSQ30gLUUgJHtQQVRD
SF9ESVNUX1NUUklQfQouZWxzZQpQQVRDSF9ERUJVR19UTVA9CW5vClBBVENIX0FSR1M/PQktZCAk
e1BBVENIX1dSS1NSQ30gLS1mb3J3YXJkIC0tcXVpZXQgLUUgJHtQQVRDSF9TVFJJUH0KUEFUQ0hf
RElTVF9BUkdTPz0JLS1zdWZmaXggJHtESVNUT1JJR30gLWQgJHtQQVRDSF9XUktTUkN9IC0tZm9y
d2FyZCAtLXF1aWV0IC1FICR7UEFUQ0hfRElTVF9TVFJJUH0KLmVuZGlmCi5pZiAhZGVmaW5lZChR
VUlFVCkKUEFUQ0hfU0lMRU5UPQkJUEFUQ0hfU0lMRU5UPXllcwouZW5kaWYKLmlmIGRlZmluZWQo
QkFUQ0gpClBBVENIX0FSR1MrPQkJLS1iYXRjaApQQVRDSF9ESVNUX0FSR1MrPQktLWJhdGNoCi5l
bmRpZgoKIyBQcmV2ZW50IGJyZWFrYWdlIHdpdGggVkVSU0lPTl9DT05UUk9MPW51bWJlcmVkClBB
VENIX0FSR1MrPQktViBzaW1wbGUKCi5pZiBkZWZpbmVkKFBBVENIX0NIRUNLX09OTFkpClBBVENI
X0FSR1MrPQktQwpQQVRDSF9ESVNUX0FSR1MrPQktQwouZW5kaWYKCi5pZiAke1BBVENIfSA9PSAi
L3Vzci9iaW4vcGF0Y2giClBBVENIX0FSR1MrPQktLXN1ZmZpeCAub3JpZwpQQVRDSF9ESVNUX0FS
R1MrPQktLXN1ZmZpeCAub3JpZwouZW5kaWYKClRBUj89CS91c3IvYmluL3RhcgoKIyBFWFRSQUNU
X1NVRlggaXMgZGVmaW5lZCBpbiAucHJlLm1rIHNlY3Rpb24KRVhUUkFDVF9DTUQ/PQkke1RBUn0K
RVhUUkFDVF9CRUZPUkVfQVJHUz89CS14ZgpFWFRSQUNUX0FGVEVSX0FSR1M/PQktLW5vLXNhbWUt
b3duZXIgLS1uby1zYW1lLXBlcm1pc3Npb25zCgojIEZpZ3VyZSBvdXQgd2hlcmUgdGhlIGxvY2Fs
IG10cmVlIGZpbGUgaXMKLmlmICFkZWZpbmVkKE1UUkVFX0ZJTEUpICYmICFkZWZpbmVkKE5PX01U
UkVFKQouaWYgJHtQUkVGSVh9ID09IC91c3IKTVRSRUVfRklMRT0JL2V0Yy9tdHJlZS9CU0QudXNy
LmRpc3QKLmVsc2UKTVRSRUVfRklMRT0JJHtQT1JUU0RJUn0vVGVtcGxhdGVzL0JTRC5sb2NhbC5k
aXN0Ci5lbmRpZgpNVFJFRV9GSUxFX0RFRkFVTFQ9eWVzCi5lbmRpZgpNVFJFRV9DTUQ/PQkvdXNy
L3NiaW4vbXRyZWUKTVRSRUVfQVJHUz89CS1VICR7TVRSRUVfRk9MTE9XU19TWU1MSU5LU30gLWYg
JHtNVFJFRV9GSUxFfSAtZCAtZSAtcAoKX1NIQVJFTU9ERT89CTA2NDQKCiMgQSBmZXcgYWxpYXNl
cyBmb3IgKi1pbnN0YWxsIHRhcmdldHMKSU5TVEFMTF9QUk9HUkFNPQkke0lOU1RBTEx9ICR7Q09Q
WX0gJHtTVFJJUH0gLW0gJHtCSU5NT0RFfQpJTlNUQUxMX0tMRD0JJHtJTlNUQUxMfSAke0NPUFl9
IC1tICR7QklOTU9ERX0KSU5TVEFMTF9MSUI9CSR7SU5TVEFMTH0gJHtDT1BZfSAke1NUUklQfSAt
bSAke1NIQVJFTU9ERX0KSU5TVEFMTF9TQ1JJUFQ9CSR7SU5TVEFMTH0gJHtDT1BZfSAtbSAke0JJ
Tk1PREV9CklOU1RBTExfREFUQT0JJHtJTlNUQUxMfSAke0NPUFl9IC1tICR7X1NIQVJFTU9ERX0K
SU5TVEFMTF9NQU49CSR7SU5TVEFMTH0gJHtDT1BZfSAtbSAke01BTk1PREV9CgpJTlNUQUxMX01B
Q1JPUz0JQlNEX0lOU1RBTExfUFJPR1JBTT0iJHtJTlNUQUxMX1BST0dSQU19IiBcCgkJCUJTRF9J
TlNUQUxMX0xJQj0iJHtJTlNUQUxMX0xJQn0iIFwKCQkJQlNEX0lOU1RBTExfU0NSSVBUPSIke0lO
U1RBTExfU0NSSVBUfSIgXAoJCQlCU0RfSU5TVEFMTF9EQVRBPSIke0lOU1RBTExfREFUQX0iIFwK
CQkJQlNEX0lOU1RBTExfTUFOPSIke0lOU1RBTExfTUFOfSIKTUFLRV9FTlYrPQkke0lOU1RBTExf
TUFDUk9TfQpTQ1JJUFRTX0VOVis9CSR7SU5TVEFMTF9NQUNST1N9CgojIE1hY3JvIGZvciBjb3B5
aW5nIGVudGlyZSBkaXJlY3RvcnkgdHJlZSB3aXRoIGNvcnJlY3QgcGVybWlzc2lvbnMKQ09QWVRS
RUVfQklOPQkke1NIfSAtYyAnKCR7RklORH0gLWQgJCQwICQkMiB8ICR7Q1BJT30gLWR1bXBsICQk
MSA+L2Rldi9udWxsIFwKCQkJCQkyPiYxKSAmJiBcCgkJCQkJJHtGSU5EfSAtZCAkJDAgJCQyIC10
eXBlIGQgLWV4ZWMgY2htb2QgNzU1ICQkMS97fSBcOyAmJiBcCgkJCQkJJHtGSU5EfSAtZCAkJDAg
JCQyIC10eXBlIGYgLWV4ZWMgY2htb2QgJHtCSU5NT0RFfSAkJDEve30gXDsnIC0tCkNPUFlUUkVF
X1NIQVJFPQkke1NIfSAtYyAnKCR7RklORH0gLWQgJCQwICQkMiB8ICR7Q1BJT30gLWR1bXBsICQk
MSA+L2Rldi9udWxsIFwKCQkJCQkyPiYxKSAmJiBcCgkJCQkJJHtGSU5EfSAtZCAkJDAgJCQyIC10
eXBlIGQgLWV4ZWMgY2htb2QgNzU1ICQkMS97fSBcOyAmJiBcCgkJCQkJJHtGSU5EfSAtZCAkJDAg
JCQyIC10eXBlIGYgLWV4ZWMgY2htb2QgJHtTSEFSRU1PREV9ICQkMS97fSBcOycgLS0KCiMgVGhl
IHVzZXIgY2FuIG92ZXJyaWRlIHRoZSBOT19QQUNLQUdFIGJ5IHNwZWNpZnlpbmcgdGhpcyBmcm9t
CiMgdGhlIG1ha2UgY29tbWFuZCBsaW5lCi5pZiBkZWZpbmVkKEZPUkNFX1BBQ0tBR0UpCi51bmRl
ZiBOT19QQUNLQUdFCi5lbmRpZgoKREVTQ1I/PQkJCSR7UEtHRElSfS9wa2ctZGVzY3IKUExJU1Q/
PQkJCSR7UEtHRElSfS9wa2ctcGxpc3QKUEtHSEVMUD89CQkke1BLR0RJUn0vcGtnLWhlbHAKUEtH
SU5TVEFMTD89CSR7UEtHRElSfS9wa2ctaW5zdGFsbApQS0dERUlOU1RBTEw/PQkke1BLR0RJUn0v
cGtnLWRlaW5zdGFsbApQS0dSRVE/PQkJJHtQS0dESVJ9L3BrZy1yZXEKUEtHTUVTU0FHRT89CSR7
UEtHRElSfS9wa2ctbWVzc2FnZQoKVE1QUExJU1Q/PQkke1dSS0RJUn0vLlBMSVNULm1rdG1wClRN
UFBMSVNUX1NPUlQ/PQkke1dSS0RJUn0vLlBMSVNULm1rdG1wLnNvcnRlZApUTVBHVUNNRD89CSR7
V1JLRElSfS8uUExJU1QuZ3VjbWQKCi5pZiBkZWZpbmVkKFBLR19OT0NPTVBSRVNTKQpQS0dfU1VG
WD89CQkudGFyCi5lbHNlClBLR19TVUZYPz0JCS50eHoKLmVuZGlmCiMgd2hlcmUgcGtnX2FkZCBy
ZWNvcmRzIGl0cyBkaXJ0eSBkZWVkcy4KUEtHX0RCRElSPz0JCS92YXIvZGIvcGtnCgpBTExfVEFS
R0VUPz0JCWFsbApJTlNUQUxMX1RBUkdFVD89CWluc3RhbGwKSU5TVEFMTF9UQVJHRVQrPQkke0xB
VEVfSU5TVEFMTF9BUkdTfQoKIyBJbnRlZ3JhdGUgd2l0aCB0aGUgbGljZW5zZSBhdWRpdGluZyBm
cmFtZXdvcmsKLmlmICFkZWZpbmVkIChESVNBQkxFX0xJQ0VOU0VTKQouaW5jbHVkZSAiJHtQT1JU
U0RJUn0vTWsvYnNkLmxpY2Vuc2VzLm1rIgouZW5kaWYKCiMgUG9wdWxhciBtYXN0ZXIgc2l0ZXMK
LmluY2x1ZGUgIiR7UE9SVFNESVJ9L01rL2JzZC5zaXRlcy5tayIKCiMgRW1wdHkgZGVjbGFyYXRp
b24gdG8gYXZvaWQgInZhcmlhYmxlIE1BU1RFUl9TSVRFUyByZWN1cnNpdmUiIGVycm9yCk1BU1RF
Ul9TSVRFUz89ClBBVENIX1NJVEVTPz0KX01BU1RFUl9TSVRFU19ERUZBVUxUPz0KX1BBVENIX1NJ
VEVTX0RFRkFVTFQ/PQoKIyBGZWVkIGludGVybmFsIF97TUFTVEVSLFBBVENIfV9TSVRFU19uIHdo
ZXJlIG4gaXMgYSBncm91cCBkZXNpZ25hdGlvbgojIGFzIHBlciBncm91cGluZyBydWxlcyAoOnNv
bWV0aGluZykKIyBPcmdhbml6ZSBfe01BU1RFUixQQVRDSH1fU0lURVNfe0RFRkFVTFQsW14vOl0r
fSBhY2NvcmRpbmcgdG8gZ3JvdXBpbmcKIyBydWxlcyAoOnNvbWV0aGluZykKLmZvciBfUyBpbiAk
e01BU1RFUl9TSVRFU30KX1NfVEVNUD0JJHtfUzpTL14ke19TOkNALz86W14vOl0rJEAvQH0vLzpT
L146Ly99Ci4JaWYgIWVtcHR5KF9TX1RFTVApCi4JCWZvciBfZ3JvdXAgaW4gJHtfU19URU1QOlMv
LC8gL2d9Cl9HX1RFTVA9CSR7X2dyb3VwfQouCQkJaWYgJHtfR19URU1QfSA9PSBhbGwgfHwgJHtf
R19URU1QfSA9PSBBTEwgfHwgJHtfR19URU1QfSA9PSBkZWZhdWx0CmNoZWNrLW1ha2V2YXJzOjoK
CQkJCUAke0VDSE9fTVNHfSAiTWFrZWZpbGUgZXJyb3I6IHRoZSB3b3JkcyBhbGwsIEFMTCBhbmQg
ZGVmYXVsdCBhcmUgcmVzZXJ2ZWQgYW5kIGNhbm5vdCBiZSIKCQkJCUAke0VDSE9fTVNHfSAidXNl
ZCBpbiBncm91cCBkZWZpbml0aW9ucy4gUGxlYXNlIGZpeCB5b3VyIE1BU1RFUl9TSVRFUyIKCQkJ
CUAke0ZBTFNFfQouCQkJZW5kaWYKX01BU1RFUl9TSVRFU18ke19ncm91cH0rPQkke19TOkNAXigu
Ki8pOlteLzpdKyRAXDFAfQouCQllbmRmb3IKLgllbHNlCl9NQVNURVJfU0lURVNfREVGQVVMVCs9
CSR7X1M6Q0BeKC4qLyk6W14vOl0rJEBcMUB9Ci4JZW5kaWYKLmVuZGZvcgouZm9yIF9TIGluICR7
UEFUQ0hfU0lURVN9Cl9TX1RFTVA9CSR7X1M6Uy9eJHtfUzpDQC86W14vOl0rJEAvQH0vLzpTL146
Ly99Ci4JaWYgIWVtcHR5KF9TX1RFTVApCi4JCWZvciBfZ3JvdXAgaW4gJHtfU19URU1QOlMvLC8g
L2d9Cl9HX1RFTVA9CSR7X2dyb3VwfQouCQkJaWYgJHtfR19URU1QfSA9PSBhbGwgfHwgJHtfR19U
RU1QfSA9PSBBTEwgfHwgJHtfR19URU1QfSA9PSBkZWZhdWx0CmNoZWNrLW1ha2V2YXJzOjoKCQkJ
CUAke0VDSE9fTVNHfSAiVGhlIHdvcmRzIGFsbCwgQUxMIGFuZCBkZWZhdWx0IGFyZSByZXNlcnZl
ZCBhbmQgY2Fubm90IGJlIgoJCQkJQCR7RUNIT19NU0d9ICJ1c2VkIGluIGdyb3VwIGRlZmluaXRp
b25zLiBQbGVhc2UgZml4IHlvdXIgUEFUQ0hfU0lURVMiCgkJCQlAJHtGQUxTRX0KLgkJCWVuZGlm
Cl9QQVRDSF9TSVRFU18ke19ncm91cH0rPQkke19TOkNAXiguKi8pOlteLzpdKyRAXDFAfQouCQll
bmRmb3IKLgllbHNlCl9QQVRDSF9TSVRFU19ERUZBVUxUKz0JJHtfUzpDQF4oLiovKTpbXi86XSsk
QFwxQH0KLgllbmRpZgouZW5kZm9yCgojIEZlZWQgaW50ZXJuYWwgX3tNQVNURVIsUEFUQ0h9X1NJ
VEVfU1VCRElSX24gd2hlcmUgbiBpcyBhIGdyb3VwIGRlc2lnbmF0aW9uCiMgYXMgcGVyIGdyb3Vw
aW5nIHJ1bGVzICg6c29tZXRoaW5nKQojIE9yZ2FuaXplIF97TUFTVEVSLFBBVENIfV9TSVRFX1NV
QkRJUl97REVGQVVMVCxbXi86XSt9IGFjY29yZGluZyB0byBncm91cGluZwojIHJ1bGVzICg6c29t
ZXRoaW5nKQouZm9yIF9TIGluICR7TUFTVEVSX1NJVEVfU1VCRElSfQpfU19URU1QPQkke19TOlMv
XiR7X1M6Q0AvOlteLzpdKyRAL0B9Ly86Uy9eOi8vfQouCWlmICFlbXB0eShfU19URU1QKQouCQlm
b3IgX2dyb3VwIGluICR7X1NfVEVNUDpTLywvIC9nfQpfR19URU1QPQkke19ncm91cH0KLgkJCWlm
ICR7X0dfVEVNUH0gPT0gYWxsIHx8ICR7X0dfVEVNUH0gPT0gQUxMIHx8ICR7X0dfVEVNUH0gPT0g
ZGVmYXVsdApjaGVjay1tYWtldmFyczo6CgkJCQlAJHtFQ0hPX01TR30gIk1ha2VmaWxlIGVycm9y
OiB0aGUgd29yZHMgYWxsLCBBTEwgYW5kIGRlZmF1bHQgYXJlIHJlc2VydmVkIGFuZCBjYW5ub3Qg
YmUiCgkJCQlAJHtFQ0hPX01TR30gInVzZWQgaW4gZ3JvdXAgZGVmaW5pdGlvbnMuIFBsZWFzZSBm
aXggeW91ciBNQVNURVJfU0lURV9TVUJESVIiCgkJCQlAJHtGQUxTRX0KLgkJCWVuZGlmCi4JCQlp
ZiBkZWZpbmVkKF9NQVNURVJfU0lURVNfJHtfZ3JvdXB9KQpfTUFTVEVSX1NJVEVfU1VCRElSXyR7
X2dyb3VwfSs9ICR7X1M6Q0BeKC4qKS86W14vOl0rJEBcMUB9Ci4JCQllbmRpZgouCQllbmRmb3IK
LgllbHNlCi4JCWlmIGRlZmluZWQoX01BU1RFUl9TSVRFU19ERUZBVUxUKQpfTUFTVEVSX1NJVEVf
U1VCRElSX0RFRkFVTFQrPQkke19TOkNAXiguKikvOlteLzpdKyRAXDFAfQouCQllbmRpZgouCWVu
ZGlmCi5lbmRmb3IKLmZvciBfUyBpbiAke1BBVENIX1NJVEVfU1VCRElSfQpfU19URU1QPQkke19T
OlMvXiR7X1M6Q0AvOlteLzpdKyRAL0B9Ly86Uy9eOi8vfQouCWlmICFlbXB0eShfU19URU1QKQou
CQlmb3IgX2dyb3VwIGluICR7X1NfVEVNUDpTLywvIC9nfQpfR19URU1QPQkke19ncm91cH0KLgkJ
CWlmICR7X0dfVEVNUH0gPT0gYWxsIHx8ICR7X0dfVEVNUH0gPT0gQUxMIHx8ICR7X0dfVEVNUH0g
PT0gZGVmYXVsdApjaGVjay1tYWtldmFyczo6CgkJCQlAJHtFQ0hPX01TR30gIk1ha2VmaWxlIGVy
cm9yOiB0aGUgd29yZHMgYWxsLCBBTEwgYW5kIGRlZmF1bHQgYXJlIHJlc2VydmVkIGFuZCBjYW5u
b3QgYmUiCgkJCQlAJHtFQ0hPX01TR30gInVzZWQgaW4gZ3JvdXAgZGVmaW5pdGlvbnMuIFBsZWFz
ZSBmaXggeW91ciBQQVRDSF9TSVRFX1NVQkRJUiIKCQkJCUAke0ZBTFNFfQouCQkJZW5kaWYKLgkJ
CWlmIGRlZmluZWQoX1BBVENIX1NJVEVTXyR7X2dyb3VwfSkKX1BBVENIX1NJVEVfU1VCRElSXyR7
X2dyb3VwfSs9ICR7X1M6Q0BeKC4qKS86W14vOl0rJEBcMUB9Ci4JCQllbmRpZgouCQllbmRmb3IK
LgllbHNlCi4JCWlmIGRlZmluZWQoX1BBVENIX1NJVEVTX0RFRkFVTFQpCl9QQVRDSF9TSVRFX1NV
QkRJUl9ERUZBVUxUKz0JJHtfUzpDQF4oLiopLzpbXi86XSskQFwxQH0KLgkJZW5kaWYKLgllbmRp
ZgouZW5kZm9yCgojIFN1YnN0aXR1dGUgc3ViZGlyZWN0b3J5IG5hbWVzCiMgWFhYIHNpbXBsZXIv
ZmFzdGVyIHNvbHV0aW9uIGJ1dCBub3QgdGhlIGJlc3Qgc3BhY2Ugd2lzZSwgc3VnZ2VzdGlvbnMg
cGxlYXNlCi5mb3IgX1MgaW4gJHtNQVNURVJfU0lURVN9Cl9TX1RFTVA9CSR7X1M6Uy9eJHtfUzpD
QC86W14vOl0rJEAvQH0vLzpTL146Ly99Ci4JaWYgIWVtcHR5KF9TX1RFTVApCi4JCWZvciBfZ3Jv
dXAgaW4gJHtfU19URU1QOlMvLC8gL2d9Ci4JCQlpZiAhZGVmaW5lZChfTUFTVEVSX1NJVEVfU1VC
RElSXyR7X2dyb3VwfSkKTUFTVEVSX1NJVEVTX1RNUD0JJHtfTUFTVEVSX1NJVEVTXyR7X2dyb3Vw
fTpTXiVTVUJESVIlL15efQouCQkJZWxzZQpfU19URU1QX1RFTVA9CQkke19NQVNURVJfU0lURVNf
JHtfZ3JvdXB9Ok0qJVNVQkRJUiUvKn0KLgkJCQlpZiBlbXB0eShfU19URU1QX1RFTVApCk1BU1RF
Ul9TSVRFU19UTVA9CSR7X01BU1RFUl9TSVRFU18ke19ncm91cH19Ci4JCQkJZWxzZQpNQVNURVJf
U0lURVNfVE1QPQouCQkJCQlmb3Igc2l0ZSBpbiAke19NQVNURVJfU0lURVNfJHtfZ3JvdXB9fQpf
U19URU1QX1RFTVA9CSR7c2l0ZTpNKiVTVUJESVIlLyp9Ci4JCQkJCQlpZiBlbXB0eShfU19URU1Q
X1RFTVApCk1BU1RFUl9TSVRFU19UTVArPQkke3NpdGV9Ci4JCQkJCQllbHNlCi4JCQkJCQkJZm9y
IGRpciBpbiAke19NQVNURVJfU0lURV9TVUJESVJfJHtfZ3JvdXB9fQpNQVNURVJfU0lURVNfVE1Q
Kz0JJHtzaXRlOlNeJVNVQkRJUiVeXCR7ZGlyfV59Ci4JCQkJCQkJZW5kZm9yCi4JCQkJCQllbmRp
ZgouCQkJCQllbmRmb3IKLgkJCQllbmRpZgouCQkJZW5kaWYKX01BU1RFUl9TSVRFU18ke19ncm91
cH06PQkke01BU1RFUl9TSVRFU19UTVB9Ci4JCWVuZGZvcgouCWVuZGlmCi5lbmRmb3IKLmlmIGRl
ZmluZWQoX01BU1RFUl9TSVRFX1NVQkRJUl9ERUZBVUxUKQpfU19URU1QPQkke19NQVNURVJfU0lU
RVNfREVGQVVMVDpNKiVTVUJESVIlLyp9Ci4JaWYgZW1wdHkoX1NfVEVNUCkKTUFTVEVSX1NJVEVT
X1RNUD0JJHtfTUFTVEVSX1NJVEVTX0RFRkFVTFR9Ci4JZWxzZQpNQVNURVJfU0lURVNfVE1QPQou
CQlmb3Igc2l0ZSBpbiAke19NQVNURVJfU0lURVNfREVGQVVMVH0KX1NfVEVNUF9URU1QPQkJJHtz
aXRlOk0qJVNVQkRJUiUvKn0KLgkJCWlmIGVtcHR5KF9TX1RFTVBfVEVNUCkKTUFTVEVSX1NJVEVT
X1RNUCs9CSR7c2l0ZX0KLgkJCWVsc2UKLgkJCQlmb3IgZGlyIGluICR7X01BU1RFUl9TSVRFX1NV
QkRJUl9ERUZBVUxUfQpNQVNURVJfU0lURVNfVE1QKz0JJHtzaXRlOlNeJVNVQkRJUiVeXCR7ZGly
fV59Ci4JCQkJZW5kZm9yCi4JCQllbmRpZgouCQllbmRmb3IKLgllbmRpZgouZWxzZQpNQVNURVJf
U0lURVNfVE1QPQkke19NQVNURVJfU0lURVNfREVGQVVMVDpTXiVTVUJESVIlL15efQouZW5kaWYK
X01BU1RFUl9TSVRFU19ERUZBVUxUOj0JJHtNQVNURVJfU0lURVNfVE1QfQpNQVNURVJfU0lURVNf
VE1QPQouZm9yIF9TIGluICR7UEFUQ0hfU0lURVN9Cl9TX1RFTVA9CSR7X1M6Uy9eJHtfUzpDQC86
W14vOl0rJEAvQH0vLzpTL146Ly99Ci4JaWYgIWVtcHR5KF9TX1RFTVApCi4JCWZvciBfZ3JvdXAg
aW4gJHtfU19URU1QOlMvLC8gL2d9Ci4JCQlpZiAhZGVmaW5lZChfUEFUQ0hfU0lURV9TVUJESVJf
JHtfZ3JvdXB9KQpQQVRDSF9TSVRFU19UTVA9CSR7X1BBVENIX1NJVEVTXyR7X2dyb3VwfTpTXiVT
VUJESVIlL15efQouCQkJZWxzZQpfU19URU1QX1RFTVA9CQkke19QQVRDSF9TSVRFU18ke19ncm91
cH06TSolU1VCRElSJS8qfQouCQkJCWlmIGVtcHR5KF9TX1RFTVBfVEVNUCkKUEFUQ0hfU0lURVNf
VE1QPQkke19QQVRDSF9TSVRFU18ke19ncm91cH19Ci4JCQkJZWxzZQpQQVRDSF9TSVRFU19UTVA9
Ci4JCQkJCWZvciBzaXRlIGluICR7X1BBVENIX1NJVEVTXyR7X2dyb3VwfX0KX1NfVEVNUF9URU1Q
PQkke3NpdGU6TSolU1VCRElSJS8qfQouCQkJCQkJaWYgZW1wdHkoX1NfVEVNUF9URU1QKQpQQVRD
SF9TSVRFU19UTVArPQkke3NpdGV9Ci4JCQkJCQllbHNlCi4JCQkJCQkJZm9yIGRpciBpbiAke19Q
QVRDSF9TSVRFX1NVQkRJUl8ke19ncm91cH19ClBBVENIX1NJVEVTX1RNUCs9CSR7c2l0ZTpTXiVT
VUJESVIlXlwke2Rpcn1efQouCQkJCQkJCWVuZGZvcgouCQkJCQkJZW5kaWYKLgkJCQkJZW5kZm9y
Ci4JCQkJZW5kaWYKLgkJCWVuZGlmCl9QQVRDSF9TSVRFU18ke19ncm91cH06PQkke1BBVENIX1NJ
VEVTX1RNUH0KLgkJZW5kZm9yCi4JZW5kaWYKLmVuZGZvcgouaWYgZGVmaW5lZChfUEFUQ0hfU0lU
RV9TVUJESVJfREVGQVVMVCkKX1NfVEVNUD0JJHtfUEFUQ0hfU0lURVNfREVGQVVMVDpNKiVTVUJE
SVIlLyp9Ci4JaWYgZW1wdHkoX1NfVEVNUCkKUEFUQ0hfU0lURVNfVE1QPQkke19QQVRDSF9TSVRF
U19ERUZBVUxUfQouCWVsc2UKUEFUQ0hfU0lURVNfVE1QPQouCQlmb3Igc2l0ZSBpbiAke19QQVRD
SF9TSVRFU19ERUZBVUxUfQpfU19URU1QX1RFTVA9CQkke3NpdGU6TSolU1VCRElSJS8qfQouCQkJ
aWYgZW1wdHkoX1NfVEVNUF9URU1QKQpQQVRDSF9TSVRFU19UTVArPQkke3NpdGV9Ci4JCQllbHNl
Ci4JCQkJZm9yIGRpciBpbiAke19QQVRDSF9TSVRFX1NVQkRJUl9ERUZBVUxUfQpQQVRDSF9TSVRF
U19UTVArPQkke3NpdGU6U14lU1VCRElSJV5cJHtkaXJ9Xn0KLgkJCQllbmRmb3IKLgkJCWVuZGlm
Ci4JCWVuZGZvcgouCWVuZGlmCi5lbHNlClBBVENIX1NJVEVTX1RNUD0JJHtfUEFUQ0hfU0lURVNf
REVGQVVMVDpTXiVTVUJESVIlL15efQouZW5kaWYKX1BBVENIX1NJVEVTX0RFRkFVTFQ6PQkke1BB
VENIX1NJVEVTX1RNUH0KUEFUQ0hfU0lURVNfVE1QPQoKIyBUaGUgcHJpbWFyeSBiYWNrdXAgc2l0
ZS4KTUFTVEVSX1NJVEVfQkFDS1VQPz0JXAoJaHR0cDovL2Rpc3RjYWNoZS5GcmVlQlNELm9yZy9w
b3J0cy1kaXN0ZmlsZXMvJHtESVNUX1NVQkRJUn0vCk1BU1RFUl9TSVRFX0JBQ0tVUDo9CSR7TUFT
VEVSX1NJVEVfQkFDS1VQOlNeXCR7RElTVF9TVUJESVJ9L15efQoKIyBJZiB0aGUgdXNlciBoYXMg
TUFTVEVSX1NJVEVfRlJFRUJTRCBzZXQsIGdvIHRvIHRoZSBGcmVlQlNEIHJlcG9zaXRvcnkKIyBm
b3IgZXZlcnl0aGluZywgYnV0IGRvbid0IHNlYXJjaCBpdCB0d2ljZSBieSBhcHBlbmRpbmcgaXQg
dG8gdGhlIGVuZC4KLmlmIGRlZmluZWQoTUFTVEVSX1NJVEVfRlJFRUJTRCkKX01BU1RFUl9TSVRF
X09WRVJSSURFOj0JJHtNQVNURVJfU0lURV9CQUNLVVB9Cl9NQVNURVJfU0lURV9CQUNLVVA6PQkj
IGVtcHR5Ci5lbHNlCl9NQVNURVJfU0lURV9PVkVSUklERT0JJHtNQVNURVJfU0lURV9PVkVSUklE
RX0KX01BU1RFUl9TSVRFX0JBQ0tVUD0JJHtNQVNURVJfU0lURV9CQUNLVVB9Ci5lbmRpZgoKTk9G
RVRDSEZJTEVTPz0KCiMgT3JnYW5pemUgRElTVEZJTEVTLCBQQVRDSEZJTEVTLCBfTUFTVEVSX1NJ
VEVTX0FMTCwgX1BBVENIX1NJVEVTX0FMTAojIGFjY29yZGluZyB0byBncm91cGluZyBydWxlcyAo
OnNvbWV0aGluZykKRElTVEZJTEVTPz0JCSR7RElTVE5BTUV9JHtFWFRSQUNUX1NVRlh9Cl9NQVNU
RVJfU0lURVNfQUxMPQkke19NQVNURVJfU0lURVNfREVGQVVMVH0KX1BBVENIX1NJVEVTX0FMTD0J
JHtfUEFUQ0hfU0lURVNfREVGQVVMVH0KX0dfVEVNUD0JREVGQVVMVAouZm9yIF9EIGluICR7RElT
VEZJTEVTfQpfRF9URU1QPQkke19EOlMvXiR7X0Q6Qy86W146XSskLy99Ly99Ci4JaWYgIWVtcHR5
KF9EX1RFTVApCi4JCWZvciBfZ3JvdXAgaW4gJHtfRF9URU1QOlMvXjovLzpTLywvIC9nfQouCQkJ
aWYgIWRlZmluZWQoX01BU1RFUl9TSVRFU18ke19ncm91cH0pCl9HX1RFTVBfVEVNUD0JJHtfR19U
RU1QOk0vJHtfZ3JvdXB9L30KLgkJCQlpZiBlbXB0eShfR19URU1QX1RFTVApCl9HX1RFTVArPQkk
e19ncm91cH0KX01BU1RFUl9TSVRFU19BTEwrPQkke19NQVNURVJfU0lURVNfJHtfZ3JvdXB9fQou
CQkJCWVuZGlmCi4JCQllbmRpZgouCQllbmRmb3IKX0RJU1RGSUxFUys9CSR7X0Q6Qy86W146XSsk
Ly99Ci4JZWxzZQpfRElTVEZJTEVTKz0JJHtfRH0KLgllbmRpZgouZW5kZm9yCl9HX1RFTVA9CURF
RkFVTFQKLmZvciBfUCBpbiAke1BBVENIRklMRVN9Cl9QX1RFTVA9CSR7X1A6Qy86W14tOl1bXjpd
KiQvL30KX1BfZ3JvdXBzPQkke19QOlMvXiR7X1A6Qy86W146XSskLy99Ly86Uy9eOi8vfQpfUF9m
aWxlPQkke19QX1RFTVA6Qy86LVteOl0rJC8vfQpfUF9zdHJpcD0JJHtfUF9URU1QOlMvXiR7X1Bf
VEVNUDpDLzotW146XSokLy99Ly86Uy9eOi8vfQouCWlmICFlbXB0eShfUF9ncm91cHMpCi4JCWZv
ciBfZ3JvdXAgaW4gJHtfUF9ncm91cHM6Uy8sLyAvZ30KLgkJCWlmICFkZWZpbmVkKF9QQVRDSF9T
SVRFU18ke19ncm91cH0pCl9HX1RFTVBfVEVNUD0JJHtfR19URU1QOk0vJHtfZ3JvdXB9L30KLgkJ
CQlpZiBlbXB0eShfR19URU1QX1RFTVApCl9HX1RFTVArPQkke19ncm91cH0KX1BBVENIX1NJVEVT
X0FMTCs9CSR7X1BBVENIX1NJVEVTXyR7X2dyb3VwfX0KLgkJCQllbmRpZgouCQkJZW5kaWYKLgkJ
ZW5kZm9yCi4JZW5kaWYKX1BBVENIRklMRVM6PQkke19QQVRDSEZJTEVTfSAke19QX2ZpbGV9Ci4J
aWYgIWVtcHR5KF9QX3N0cmlwKQpfUEFUQ0hfRElTVF9TVFJJUF9DQVNFUzo9CSR7X1BBVENIX0RJ
U1RfU1RSSVBfQ0FTRVN9ICgiJHtfUF9maWxlfSIpIHByaW50ZiAlcyAiJHtfUF9zdHJpcH0iIDs7
Ci4JZW5kaWYKLmVuZGZvcgpfUF9ncm91cHM9Cl9QX2ZpbGU9Cl9QX3N0cmlwPQpfR19URU1QPQpf
R19URU1QX1RFTVA9CkFMTEZJTEVTPz0JJHtfRElTVEZJTEVTfSAke19QQVRDSEZJTEVTfQoKIwoj
IFNvcnQgdGhlIG1hc3RlciBzaXRlIGxpc3QgYWNjb3JkaW5nIHRvIHRoZSBwYXR0ZXJucyBpbiBN
QVNURVJfU09SVAojCk1BU1RFUl9TT1JUPz0KTUFTVEVSX1NPUlRfUkVHRVg/PQpNQVNURVJfU09S
VF9SRUdFWCs9CSR7TUFTVEVSX1NPUlQ6U3wufFxcLnxnOlN8Xnw6Ly9bXi9dKnw6U3wkfC98fQoK
TUFTVEVSX1NPUlRfQVdLPQlCRUdJTiB7IFJTID0gIiAiOyBPUlMgPSAiICI7IElHTk9SRUNBU0Ug
PSAxIDsgZ2wgPSAiJHtNQVNURVJfU09SVF9SRUdFWDpTfFxcfFxcXFx8Z30iOyB9Ci5mb3Igc3J0
IGluICR7TUFTVEVSX1NPUlRfUkVHRVh9Ck1BU1RFUl9TT1JUX0FXSys9CS8ke3NydDpTfC98XFwv
fGd9LyB7IGdvb2RbIiR7c3J0OlN8XFx8XFxcXHxnfSJdID0gZ29vZFsiJHtzcnQ6U3xcXHxcXFxc
fGd9Il0gIiAiICQkMCA7IG5leHQ7IH0KLmVuZGZvcgpNQVNURVJfU09SVF9BV0srPQl7IHJlc3Qg
PSByZXN0ICIgIiAkJDA7IH0gRU5EIHsgbj1zcGxpdChnbCwgZ2xhKTsgZm9yKGk9MTtpPD1uO2kr
KykgeyBwcmludCBnb29kW2dsYVtpXV07IH0gcHJpbnQgcmVzdDsgfQoKU09SVEVEX01BU1RFUl9T
SVRFU19ERUZBVUxUX0NNRD0JY2QgJHsuQ1VSRElSfSAmJiAke01BS0V9IG1hc3Rlci1zaXRlcy1E
RUZBVUxUClNPUlRFRF9QQVRDSF9TSVRFU19ERUZBVUxUX0NNRD0JCWNkICR7LkNVUkRJUn0gJiYg
JHtNQUtFfSBwYXRjaC1zaXRlcy1ERUZBVUxUClNPUlRFRF9NQVNURVJfU0lURVNfQUxMX0NNRD0J
Y2QgJHsuQ1VSRElSfSAmJiAke01BS0V9IG1hc3Rlci1zaXRlcy1BTEwKU09SVEVEX1BBVENIX1NJ
VEVTX0FMTF9DTUQ9CWNkICR7LkNVUkRJUn0gJiYgJHtNQUtFfSBwYXRjaC1zaXRlcy1BTEwKCiMg
aGFzIHNpbWlsYXIgZWZmZWN0IHRvIG9sZCB0YXJnZXRzLCBpLmUuLCBhY2Nlc3Mgb25seSB7TUFT
VEVSLFBBVENIfV9TSVRFUywgbm90IHdvcmtpbmcgd2l0aCB0aGUgbmV3IF9uIHZhcmlhYmxlcwpt
YXN0ZXItc2l0ZXMtREVGQVVMVDoKCUAke0VDSE9fQ01EfSAke19NQVNURVJfU0lURV9PVkVSUklE
RX0gYCR7RUNIT19DTUR9ICcke19NQVNURVJfU0lURVNfREVGQVVMVH0nIHwgJHtBV0t9ICcke01B
U1RFUl9TT1JUX0FXSzpTfFxcfFxcXFx8Z30nYCAke19NQVNURVJfU0lURV9CQUNLVVB9CnBhdGNo
LXNpdGVzLURFRkFVTFQ6CglAJHtFQ0hPX0NNRH0gJHtfTUFTVEVSX1NJVEVfT1ZFUlJJREV9IGAk
e0VDSE9fQ01EfSAnJHtfUEFUQ0hfU0lURVNfREVGQVVMVH0nIHwgJHtBV0t9ICcke01BU1RFUl9T
T1JUX0FXSzpTfFxcfFxcXFx8Z30nYCAke19NQVNURVJfU0lURV9CQUNLVVB9CgojCiMgU29ydCB0
aGUgbWFzdGVyIHNpdGUgbGlzdCBhY2NvcmRpbmcgdG8gdGhlIHBhdHRlcm5zIGluIE1BU1RFUl9T
T1JUCiMgYWNjb3JkaW5nIHRvIGdyb3VwaW5nIHJ1bGVzICg6c29tZXRoaW5nKQojCiMgZm9yIHVz
ZSBpbiB0aGUgZmV0Y2ggdGFyZ2V0cwouZm9yIF9TIGluICR7TUFTVEVSX1NJVEVTfQpfU19URU1Q
PQkke19TOlMvXiR7X1M6Q0AvOlteLzpdKyRAL0B9Ly99Ci4JaWYgIWVtcHR5KF9TX1RFTVApCi4J
CWZvciBfZ3JvdXAgaW4gJHtfU19URU1QOlMvXjovLzpTLywvIC9nfQouCQkJaWYgIXRhcmdldCht
YXN0ZXItc2l0ZXMtJHtfZ3JvdXB9KQpTT1JURURfTUFTVEVSX1NJVEVTXyR7X2dyb3VwfV9DTUQ9
CWNkICR7LkNVUkRJUn0gJiYgJHtNQUtFfSBtYXN0ZXItc2l0ZXMtJHtfZ3JvdXB9Cm1hc3Rlci1z
aXRlcy0ke19ncm91cH06CglAJHtFQ0hPX0NNRH0gJHtfTUFTVEVSX1NJVEVfT1ZFUlJJREV9IGAk
e0VDSE9fQ01EfSAnJHtfTUFTVEVSX1NJVEVTXyR7X2dyb3VwfX0nIHwgJHtBV0t9ICcke01BU1RF
Ul9TT1JUX0FXSzpTfFxcfFxcXFx8Z30nYCAke19NQVNURVJfU0lURV9CQUNLVVB9Ci4JCQllbmRp
ZgouCQllbmRmb3IKLgllbmRpZgouZW5kZm9yCi5mb3IgX1MgaW4gJHtQQVRDSF9TSVRFU30KX1Nf
VEVNUD0JJHtfUzpTL14ke19TOkNALzpbXi86XSskQC9AfS8vfQouCWlmICFlbXB0eShfU19URU1Q
KQouCQlmb3IgX2dyb3VwIGluICR7X1NfVEVNUDpTL146Ly86Uy8sLyAvZ30KLgkJCWlmICF0YXJn
ZXQocGF0Y2gtc2l0ZXMtJHtfZ3JvdXB9KQpTT1JURURfUEFUQ0hfU0lURVNfJHtfZ3JvdXB9X0NN
RD0JY2QgJHsuQ1VSRElSfSAmJiAke01BS0V9IHBhdGNoLXNpdGVzLSR7X2dyb3VwfQpwYXRjaC1z
aXRlcy0ke19ncm91cH06CglAJHtFQ0hPX0NNRH0gJHtfTUFTVEVSX1NJVEVfT1ZFUlJJREV9IGAk
e0VDSE9fQ01EfSAnJHtfUEFUQ0hfU0lURVNfJHtfZ3JvdXB9fScgfCAke0FXS30gJyR7TUFTVEVS
X1NPUlRfQVdLOlN8XFx8XFxcXHxnfSdgICR7X01BU1RFUl9TSVRFX0JBQ0tVUH0KLgkJCWVuZGlm
Ci4JCWVuZGZvcgouCWVuZGlmCi5lbmRmb3IKCiMKIyBIYWNrZXJ5IHRvIGVuYWJsZSBzaW1wbGUg
ZmV0Y2ggdGFyZ2V0cyB3aXRoIHNldmVyYWwgZHluYW1pYyBNQVNURVJfU0lURVMKIwpfTUFTVEVS
X1NJVEVTX0VOVj0JX01BU1RFUl9TSVRFU19ERUZBVUxUPSIke19NQVNURVJfU0lURVNfREVGQVVM
VH0iCi5mb3IgX0YgaW4gJHtESVNURklMRVN9Cl9GX1RFTVA9CSR7X0Y6Uy9eJHtfRjpDLzpbXjpd
KyQvL30vLzpTL146Ly99Ci4JaWYgIWVtcHR5KF9GX1RFTVApCi4JCWZvciBfZ3JvdXAgaW4gJHtf
Rl9URU1QOlMvLC8gL2d9Ci4JCQlpZiBkZWZpbmVkKF9NQVNURVJfU0lURVNfJHtfZ3JvdXB9KQpf
TUFTVEVSX1NJVEVTX0VOVis9CV9NQVNURVJfU0lURVNfJHtfZ3JvdXB9PSIke19NQVNURVJfU0lU
RVNfJHtfZ3JvdXB9fSIKLgkJCWVuZGlmCi4JCWVuZGZvcgouCWVuZGlmCi5lbmRmb3IKX1BBVENI
X1NJVEVTX0VOVj0JX1BBVENIX1NJVEVTX0RFRkFVTFQ9IiR7X1BBVENIX1NJVEVTX0RFRkFVTFR9
IgouZm9yIF9GIGluICR7UEFUQ0hGSUxFU30KX0ZfVEVNUD0JJHtfRjpTL14ke19GOkMvOlteLTpd
W146XSokLy99Ly86Uy9eOi8vfQouCWlmICFlbXB0eShfRl9URU1QKQouCQlmb3IgX2dyb3VwIGlu
ICR7X0ZfVEVNUDpTLywvIC9nfQouCQkJaWYgZGVmaW5lZChfUEFUQ0hfU0lURVNfJHtfZ3JvdXB9
KQpfUEFUQ0hfU0lURVNfRU5WKz0JX1BBVENIX1NJVEVTXyR7X2dyb3VwfT0iJHtfUEFUQ0hfU0lU
RVNfJHtfZ3JvdXB9fSIKLgkJCWVuZGlmCi4JCWVuZGZvcgouCWVuZGlmCi5lbmRmb3IKCm1hc3Rl
ci1zaXRlcy1BTEw6CglAJHtFQ0hPX0NNRH0gJHtfTUFTVEVSX1NJVEVfT1ZFUlJJREV9IGAke0VD
SE9fQ01EfSAnJHtfTUFTVEVSX1NJVEVTX0FMTH0nIHwgJHtBV0t9ICcke01BU1RFUl9TT1JUX0FX
SzpTfFxcfFxcXFx8Z30nYCAke19NQVNURVJfU0lURV9CQUNLVVB9CnBhdGNoLXNpdGVzLUFMTDoK
CUAke0VDSE9fQ01EfSAke19NQVNURVJfU0lURV9PVkVSUklERX0gYCR7RUNIT19DTUR9ICcke19Q
QVRDSF9TSVRFU19BTEx9JyB8ICR7QVdLfSAnJHtNQVNURVJfU09SVF9BV0s6U3xcXHxcXFxcfGd9
J2AgJHtfTUFTVEVSX1NJVEVfQkFDS1VQfQoKIyBzeW5vbnltcywgbW5lbW9uaWNzCm1hc3Rlci1z
aXRlcy1hbGw6IG1hc3Rlci1zaXRlcy1BTEwKcGF0Y2gtc2l0ZXMtYWxsOiBwYXRjaC1zaXRlcy1B
TEwKbWFzdGVyLXNpdGVzLWRlZmF1bHQ6IG1hc3Rlci1zaXRlcy1ERUZBVUxUCnBhdGNoLXNpdGVz
LWRlZmF1bHQ6IHBhdGNoLXNpdGVzLURFRkFVTFQKCiMgY29tcGF0aWJpbGl0eSB3aXRoIG9sZCBi
ZWhhdmlvcgptYXN0ZXItc2l0ZXM6IG1hc3Rlci1zaXRlcy1ERUZBVUxUCnBhdGNoLXNpdGVzOiBw
YXRjaC1zaXRlcy1ERUZBVUxUCgpDS1NVTUZJTEVTPQkJJHtBTExGSUxFU30KCiMgTGlzdCBvZiBh
bGwgZmlsZXMsIHdpdGggJHtESVNUX1NVQkRJUn0gaW4gZnJvbnQuICBVc2VkIGZvciBjaGVja3N1
bS4KLmlmIGRlZmluZWQoRElTVF9TVUJESVIpCi5pZiBkZWZpbmVkKENLU1VNRklMRVMpICYmICR7
Q0tTVU1GSUxFU30hPSIiCl9DS1NVTUZJTEVTPz0JJHtDS1NVTUZJTEVTOlMvXi8ke0RJU1RfU1VC
RElSfVwvL30KLmVuZGlmCi5lbHNlCl9DS1NVTUZJTEVTPz0JJHtDS1NVTUZJTEVTfQouZW5kaWYK
CiMgVGhpcyBpcyB3aGF0IGlzIGFjdHVhbGx5IGdvaW5nIHRvIGJlIGV4dHJhY3RlZCwgYW5kIGlz
IG92ZXJyaWRhYmxlCiMgIGJ5IHVzZXIuCkVYVFJBQ1RfT05MWT89CSR7X0RJU1RGSUxFU30KCi5p
ZiAhdGFyZ2V0KG1haW50YWluZXIpCm1haW50YWluZXI6CglAJHtFQ0hPX0NNRH0gIiR7TUFJTlRB
SU5FUn0iCi5lbmRpZgoKLmlmICFkZWZpbmVkKENBVEVHT1JJRVMpCmNoZWNrLWNhdGVnb3JpZXM6
CglAJHtFQ0hPX01TR30gIiR7UEtHTkFNRX06IE1ha2VmaWxlIGVycm9yOiBDQVRFR09SSUVTIGlz
IG1hbmRhdG9yeS4iCglAJHtGQUxTRX0KLmVsc2UKClZBTElEX0NBVEVHT1JJRVMrPSBhY2Nlc3Np
YmlsaXR5IGFmdGVyc3RlcCBhcmFiaWMgYXJjaGl2ZXJzIGFzdHJvIGF1ZGlvIFwKCWJlbmNobWFy
a3MgYmlvbG9neSBjYWQgY2hpbmVzZSBjb21tcyBjb252ZXJ0ZXJzIGRhdGFiYXNlcyBcCglkZXNr
dXRpbHMgZGV2ZWwgZG9jcyBkbnMgZWRpdG9ycyBlbGlzcCBlbXVsYXRvcnMgZW5saWdodGVubWVu
dCBmaW5hbmNlIGZyZW5jaCBmdHAgXAoJZ2FtZXMgZ2VvZ3JhcGh5IGdlcm1hbiBnbm9tZSBnbnVz
dGVwIGdyYXBoaWNzIGhhbXJhZGlvIGhhc2tlbGwgaGVicmV3IGh1bmdhcmlhbiBcCglpcHY2IGly
YyBqYXBhbmVzZSBqYXZhIGtkZSBrbGQga29yZWFuIGxhbmcgbGludXggbGlzcCBcCgltYWlsIG1h
dGUgbWF0aCBtYm9uZSBtaXNjIG11bHRpbWVkaWEgbmV0IG5ldC1pbSBuZXQtbWdtdCBuZXQtcDJw
IG5ld3MgXAoJcGFsbSBwYXJhbGxlbCBwZWFyIHBlcmw1IHBsYW45IHBvbGlzaCBwb3J0dWd1ZXNl
IHBvcnRzLW1nbXQgXAoJcHJpbnQgcHl0aG9uIHJ1YnkgcnVieWdlbXMgcnVzc2lhbiBcCglzY2hl
bWUgc2NpZW5jZSBzZWN1cml0eSBzaGVsbHMgc3BhbmlzaCBzeXN1dGlscyBcCgl0Y2wgdGV4dHBy
b2MgdGsgXAoJdWtyYWluaWFuIHZpZXRuYW1lc2Ugd2luZG93bWFrZXIgd3d3IFwKCXgxMSB4MTEt
Y2xvY2tzIHgxMS1kcml2ZXJzIHgxMS1mbSB4MTEtZm9udHMgeDExLXNlcnZlcnMgeDExLXRoZW1l
cyBcCgl4MTEtdG9vbGtpdHMgeDExLXdtIHhmY2Ugem9wZQoKY2hlY2stY2F0ZWdvcmllczoKLmZv
ciBjYXQgaW4gJHtDQVRFR09SSUVTfQouCWlmIGVtcHR5KFZBTElEX0NBVEVHT1JJRVM6TSR7Y2F0
fSkKCQlAJHtFQ0hPX01TR30gIiR7UEtHTkFNRX06IE1ha2VmaWxlIGVycm9yOiBjYXRlZ29yeSAk
e2NhdH0gbm90IGluIGxpc3Qgb2YgdmFsaWQgY2F0ZWdvcmllcy4iOyBcCgkJJHtGQUxTRX07Ci4J
ZW5kaWYKLmVuZGZvcgouZW5kaWYKClBLR1JFUE9TSVRPUllTVUJESVI/PQlBbGwKUEtHUkVQT1NJ
VE9SWT89CQkke1BBQ0tBR0VTfS8ke1BLR1JFUE9TSVRPUllTVUJESVJ9Ci5pZiBleGlzdHMoJHtQ
QUNLQUdFU30pClBLR0ZJTEU/PQkJJHtQS0dSRVBPU0lUT1JZfS8ke1BLR05BTUV9JHtQS0dfU1VG
WH0KLmVsc2UKUEtHRklMRT89CQkkey5DVVJESVJ9LyR7UEtHTkFNRX0ke1BLR19TVUZYfQouZW5k
aWYKV1JLRElSX1BLR0ZJTEU9CSR7V1JLRElSfS9wa2cvJHtQS0dOQU1FfSR7UEtHX1NVRlh9Cgoj
IFRoZSAibGF0ZXN0IHZlcnNpb24iIGxpbmsgLS0gJHtQS0dOQU1FfSBtaW51cyBldmVydGhpbmcg
YWZ0ZXIgdGhlIGxhc3QgJy0nClBLR0xBVEVTVFJFUE9TSVRPUlk/PQkke1BBQ0tBR0VTfS9MYXRl
c3QKUEtHQkFTRT89CQkJJHtQS0dOQU1FUFJFRklYfSR7UE9SVE5BTUV9JHtQS0dOQU1FU1VGRklY
fQpMQVRFU1RfTElOSz89CQkke1BLR0JBU0V9ClBLR0xBVEVTVEZJTEU9CQkke1BLR0xBVEVTVFJF
UE9TSVRPUll9LyR7TEFURVNUX0xJTkt9JHtQS0dfU1VGWH0KCkNPTkZJR1VSRV9TQ1JJUFQ/PQlj
b25maWd1cmUKQ09ORklHVVJFX0NNRD89CQkuLyR7Q09ORklHVVJFX1NDUklQVH0KQlVJTERfQVJD
SCE9CQkke1VOQU1FfSAtcApDT05GSUdVUkVfVEFSR0VUX0JVSUxEPz0JJHtCVUlMRF9BUkNIfS1w
b3J0YmxkLSR7T1BTWVM6dGx9JHtPU1JFTH0KQ09ORklHVVJFX1RBUkdFVF9CVUlMRDo9CSR7Q09O
RklHVVJFX1RBUkdFVF9CVUlMRDpTLy0tYnVpbGQ9Ly99CiMuaWYgZGVmaW5lZChYX0JVSUxEX0ZP
UikKI0NPTkZJR1VSRV9UQVJHRVRfVEFSR0VUPz0JCSR7QVJDSH0tcG9ydGJsZC0ke09QU1lTOnRs
fSR7T1NSRUx9CiNDT05GSUdVUkVfVEFSR0VUX1RBUkdFVDo9CQkke0NPTkZJR1VSRV9UQVJHRVRf
VEFSR0VUOlMvLS10YXJnZXQ9Ly99CiMuZW5kaWYKQ09ORklHVVJFX0xPRz89CQljb25maWcubG9n
CgojIEEgZGVmYXVsdCBtZXNzYWdlIHRvIHByaW50IGlmIGRvLWNvbmZpZ3VyZSBmYWlscy4KQ09O
RklHVVJFX0ZBSUxfTUVTU0FHRT89CSJQbGVhc2UgcmVwb3J0IHRoZSBwcm9ibGVtIHRvICR7TUFJ
TlRBSU5FUn0gW21haW50YWluZXJdIGFuZCBhdHRhY2ggdGhlIFwiJHtDT05GSUdVUkVfV1JLU1JD
fS8ke0NPTkZJR1VSRV9MT0d9XCIgaW5jbHVkaW5nIHRoZSBvdXRwdXQgb2YgdGhlIGZhaWx1cmUg
b2YgeW91ciBtYWtlIGNvbW1hbmQuIEFsc28sIGl0IG1pZ2h0IGJlIGEgZ29vZCBpZGVhIHRvIHBy
b3ZpZGUgYW4gb3ZlcnZpZXcgb2YgYWxsIHBhY2thZ2VzIGluc3RhbGxlZCBvbiB5b3VyIHN5c3Rl
bSAoZS5nLiBhICR7UEtHX0lORk99IC1FYSkuIgoKLmlmIGRlZmluZWQoR05VX0NPTkZJR1VSRSkK
IyBNYXhpbXVtIGNvbW1hbmQgbGluZSBsZW5ndGgKLmlmICFkZWZpbmVkKENPTkZJR1VSRV9NQVhf
Q01EX0xFTikKQ09ORklHVVJFX01BWF9DTURfTEVOIT0JJHtTWVNDVEx9IC1uIGtlcm4uYXJnbWF4
Ci5lbmRpZgpHTlVfQ09ORklHVVJFX1BSRUZJWD89CSR7UFJFRklYfQpHTlVfQ09ORklHVVJFX01B
TlBSRUZJWD89CSR7TUFOUFJFRklYfQpDT05GSUdfU0lURT89CQkke1BPUlRTRElSfS9UZW1wbGF0
ZXMvY29uZmlnLnNpdGUKQ09ORklHVVJFX0FSR1MrPQktLXByZWZpeD0ke0dOVV9DT05GSUdVUkVf
UFJFRklYfSAkJHtfTEFURV9DT05GSUdVUkVfQVJHU30KQ09ORklHVVJFX0VOVis9CQlDT05GSUdf
U0lURT0ke0NPTkZJR19TSVRFfSBsdF9jdl9zeXNfbWF4X2NtZF9sZW49JHtDT05GSUdVUkVfTUFY
X0NNRF9MRU59CkhBU19DT05GSUdVUkU9CQl5ZXMKClNFVF9MQVRFX0NPTkZJR1VSRV9BUkdTPSBc
CiAgICAgX0xBVEVfQ09ORklHVVJFX0FSR1M9IiIgOyBcCglpZiBbIC16ICIke0NPTkZJR1VSRV9B
UkdTOk0tLWxvY2Fsc3RhdGVkaXI9KjpRfSIgXSAmJiBcCgkgICAuLyR7Q09ORklHVVJFX1NDUklQ
VH0gLS1oZWxwIDI+JjEgfCAke0dSRVB9IC0tIC0tbG9jYWxzdGF0ZWRpciA+IC9kZXYvbnVsbDsg
dGhlbiBcCgkgICAgX0xBVEVfQ09ORklHVVJFX0FSR1M9IiQke19MQVRFX0NPTkZJR1VSRV9BUkdT
fSAtLWxvY2Fsc3RhdGVkaXI9L3ZhciIgOyBcCglmaSA7IFwKCWlmIFsgISAteiAiYC4vJHtDT05G
SUdVUkVfU0NSSVBUfSAtLWhlbHAgMj4mMSB8ICR7R1JFUH0gLS0gJy0tbWFuZGlyJ2AiIF07IHRo
ZW4gXAoJICAgIF9MQVRFX0NPTkZJR1VSRV9BUkdTPSIkJHtfTEFURV9DT05GSUdVUkVfQVJHU30g
LS1tYW5kaXI9JHtHTlVfQ09ORklHVVJFX01BTlBSRUZJWH0vbWFuIiA7IFwKCWZpIDsgXAoJaWYg
WyAhIC16ICJgLi8ke0NPTkZJR1VSRV9TQ1JJUFR9IC0taGVscCAyPiYxIHwgJHtHUkVQfSAtLSAn
LS1pbmZvZGlyJ2AiIF07IHRoZW4gXAoJICAgIF9MQVRFX0NPTkZJR1VSRV9BUkdTPSIkJHtfTEFU
RV9DT05GSUdVUkVfQVJHU30gLS1pbmZvZGlyPSR7R05VX0NPTkZJR1VSRV9QUkVGSVh9LyR7SU5G
T19QQVRIfS8ke0lORk9fU1VCRElSfSIgOyBcCglmaSA7IFwKCWlmIFsgLXogImAuLyR7Q09ORklH
VVJFX1NDUklQVH0gLS12ZXJzaW9uIDI+JjEgfCAke0VHUkVQfSAtaSAnKGF1dG9jb25mLioyXC4x
M3xVbnJlY29nbml6ZWQgb3B0aW9uKSdgIiBdOyB0aGVuIFwKCQlfTEFURV9DT05GSUdVUkVfQVJH
Uz0iJCR7X0xBVEVfQ09ORklHVVJFX0FSR1N9IC0tYnVpbGQ9JHtDT05GSUdVUkVfVEFSR0VUX0JV
SUxEfSAtLWhvc3Q9JHtDT05GSUdVUkVfVEFSR0VUfSIgOyBcCgllbHNlIFwKCQlfTEFURV9DT05G
SUdVUkVfQVJHUz0iJCR7X0xBVEVfQ09ORklHVVJFX0FSR1N9ICR7Q09ORklHVVJFX1RBUkdFVH0i
IDsgXAoJZmkgOwouZW5kaWYKCiMgUGFzc2VkIHRvIG1vc3Qgb2Ygc2NyaXB0IGludm9jYXRpb25z
ClNDUklQVFNfRU5WKz0JQ1VSRElSPSR7TUFTVEVSRElSfSBESVNURElSPSR7RElTVERJUn0gXAoJ
CSAgV1JLRElSPSR7V1JLRElSfSBXUktTUkM9JHtXUktTUkN9IFBBVENIRElSPSR7UEFUQ0hESVJ9
IFwKCQkgIFNDUklQVERJUj0ke1NDUklQVERJUn0gRklMRVNESVI9JHtGSUxFU0RJUn0gXAoJCSAg
UE9SVFNESVI9JHtQT1JUU0RJUn0gUFJFRklYPSR7UFJFRklYfSBMT0NBTEJBU0U9JHtMT0NBTEJB
U0V9CgouaWYgZGVmaW5lZChCQVRDSCkKU0NSSVBUU19FTlYrPQlCQVRDSD15ZXMKLmVuZGlmCgou
aWYgJHtQUkVGSVh9ID09IC91c3IKTUFOUFJFRklYPz0JL3Vzci9zaGFyZQouZWxzZQpNQU5QUkVG
SVg/PQkke1BSRUZJWH0KLmVuZGlmCgpNQU5ESVJTKz0JJHtNQU5QUkVGSVh9L21hbgouZm9yIHNl
Y3QgaW4gMSAyIDMgNCA1IDYgNyA4IDkKTUFOJHtzZWN0fVBSRUZJWD89CSR7TUFOUFJFRklYfQou
ZW5kZm9yCk1BTkxQUkVGSVg/PQkke01BTlBSRUZJWH0KTUFOTlBSRUZJWD89CSR7TUFOUFJFRklY
fQoKLmlmICR7UFJFRklYfSA9PSAvdXNyCklORk9fUEFUSD89CXNoYXJlL2luZm8KLmVsc2UKSU5G
T19QQVRIPz0JaW5mbwouZW5kaWYKCi5pZiBkZWZpbmVkKElORk8pClJVTl9ERVBFTkRTKz0JaW5k
ZXhpbmZvOiR7UE9SVFNESVJ9L3ByaW50L2luZGV4aW5mbwoKLiBmb3IgRCBpbiAke0lORk86SH0K
UkQ6PQkke0R9Ci4gIGlmICR7UkR9ICE9ICIuIgouICAgaWYgIWRlZmluZWQoSU5GT19TVUJESVIp
CklORk9fU1VCRElSOj0JJHtSRH0KLiAgIGVsaWYgJHtJTkZPX1NVQkRJUn0gIT0gJHtSRH0KQlJP
S0VOPQkJb25seSBvbmUgc3ViZGlyZWN0b3J5IGluIElORk8gaXMgYWxsb3dlZAouICAgZW5kaWYK
LiAgZW5kaWYKLnVuZGVmIFJECi4gZW5kZm9yCi5lbmRpZgoKRE9DU0RJUl9SRUw/PQkke0RPQ1NE
SVI6UyxeJHtQUkVGSVh9LywsfQpFWEFNUExFU0RJUl9SRUw/PQkke0VYQU1QTEVTRElSOlMsXiR7
UFJFRklYfS8sLH0KREFUQURJUl9SRUw/PQkke0RBVEFESVI6UyxeJHtQUkVGSVh9LywsfQpXV1dE
SVJfUkVMPz0JJHtXV1dESVI6UyxeJHtQUkVGSVh9LywsfQpFVENESVJfUkVMPz0JJHtFVENESVI6
UyxeJHtQUkVGSVh9LywsfQoKUExJU1RfU1VCKz0JRE9DU0RJUj0iJHtET0NTRElSX1JFTH0iIFwK
CQlFWEFNUExFU0RJUj0iJHtFWEFNUExFU0RJUl9SRUx9IiBcCgkJREFUQURJUj0iJHtEQVRBRElS
X1JFTH0iIFwKCQlXV1dESVI9IiR7V1dXRElSX1JFTH0iIFwKCQlFVENESVI9IiR7RVRDRElSX1JF
TH0iCgpERVNLVE9QRElSPz0JCSR7UFJFRklYfS9zaGFyZS9hcHBsaWNhdGlvbnMKCi5NQUlOOiBh
bGwKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMKIyBNYW55IHdheXMgdG8gZGlzYWJsZSBhIHBvcnQuCiMKIyBJZiB3ZSdyZSBp
biBCQVRDSCBtb2RlIGFuZCB0aGUgcG9ydCBpcyBpbnRlcmFjdGl2ZSwgb3Igd2UncmUKIyBpbiBp
bnRlcmFjdGl2ZSBtb2RlIGFuZCB0aGUgcG9ydCBpcyBub24taW50ZXJhY3RpdmUsIHNraXAgYWxs
CiMgdGhlIGltcG9ydGFudCB0YXJnZXRzLiAgVGhlIHJlYXNvbiB3ZSBoYXZlIHR3byBtb2RlcyBp
cyB0aGF0CiMgb25lIG1pZ2h0IHdhbnQgdG8gbGVhdmUgYSBidWlsZCBpbiBCQVRDSCBtb2RlIHJ1
bm5pbmcKIyBvdmVybmlnaHQsIHRoZW4gY29tZSBiYWNrIGluIHRoZSBtb3JuaW5nIGFuZCBkbyBf
b25seV8gdGhlCiMgaW50ZXJhY3RpdmUgb25lcyB0aGF0IHJlcXVpcmVkIHlvdXIgaW50ZXJ2ZW50
aW9uLgojCiMgSWdub3JlIHBvcnRzIHRoYXQgY2FuJ3QgYmUgcmVzb2xkIGlmIGJ1aWxkaW5nIGZv
ciBhIENEUk9NLgojCiMgRG9uJ3QgYnVpbGQgYSBwb3J0IGlmIGl0J3MgcmVzdHJpY3RlZCBhbmQg
d2UgZG9uJ3Qgd2FudCB0byBnZXQKIyBpbnRvIHRoYXQuCiMKIyBEb24ndCBidWlsZCBhIHBvcnQg
aWYgaXQncyBicm9rZW4sIHVubGVzcyB3ZSdyZSBydW5uaW5nIGEgcGFyYWxsZWwKIyBidWlsZCAo
aW4gY2FzZSBpdCdzIGZpeGVkKS4KIwojIERvbid0IGJ1aWxkIGEgcG9ydCBpZiBpdCdzIGZvcmJp
ZGRlbiBmb3Igd2hhdGV2ZXIgcmVhc29uLgojCiMgRG9uJ3QgYnVpbGQgYSBwb3J0IGlmIHRoZSBz
eXN0ZW0gaXMgdG9vIG9sZC4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKIyBDaGVjayB0aGUgbWFjaGluZSBhcmNoaXRlY3R1
cmVzCi5pZiBkZWZpbmVkKE9OTFlfRk9SX0FSQ0hTKQouZm9yIF9fQVJDSCBpbiAke09OTFlfRk9S
X0FSQ0hTfQouaWYgJHtBUkNIOk0ke19fQVJDSH19ICE9ICIiCl9fQVJDSF9PSz89CQkxCi5lbmRp
ZgouZW5kZm9yCi5lbHNlCl9fQVJDSF9PSz89CQkxCi5lbmRpZgoKLmlmIGRlZmluZWQoTk9UX0ZP
Ul9BUkNIUykKLmZvciBfX05BUkNIIGluICR7Tk9UX0ZPUl9BUkNIU30KLmlmICR7QVJDSDpNJHtf
X05BUkNIfX0gIT0gIiIKLnVuZGVmIF9fQVJDSF9PSwouZW5kaWYKLmVuZGZvcgouZW5kaWYKCi5p
ZiAhZGVmaW5lZChfX0FSQ0hfT0spCi5pZiBkZWZpbmVkKE9OTFlfRk9SX0FSQ0hTKQpJR05PUkU9
CQlpcyBvbmx5IGZvciAke09OTFlfRk9SX0FSQ0hTfSwKLmVsc2UgIyBkZWZpbmVkKE5PVF9GT1Jf
QVJDSFMpCklHTk9SRT0JCWRvZXMgbm90IHJ1biBvbiAke05PVF9GT1JfQVJDSFN9LAouZW5kaWYK
SUdOT1JFKz0Jd2hpbGUgeW91IGFyZSBydW5uaW5nICR7QVJDSH0KCi5pZiBkZWZpbmVkKE9OTFlf
Rk9SX0FSQ0hTX1JFQVNPTl8ke0FSQ0h9KQpJR05PUkUrPQkocmVhc29uOiAke09OTFlfRk9SX0FS
Q0hTX1JFQVNPTl8ke0FSQ0h9fSkKLmVsaWYgZGVmaW5lZChPTkxZX0ZPUl9BUkNIU19SRUFTT04p
CklHTk9SRSs9CShyZWFzb246ICR7T05MWV9GT1JfQVJDSFNfUkVBU09OfSkKLmVuZGlmCgouaWYg
ZGVmaW5lZChOT1RfRk9SX0FSQ0hTX1JFQVNPTl8ke0FSQ0h9KQpJR05PUkUrPQkocmVhc29uOiAk
e05PVF9GT1JfQVJDSFNfUkVBU09OXyR7QVJDSH19KQouZWxpZiBkZWZpbmVkKE5PVF9GT1JfQVJD
SFNfUkVBU09OKQpJR05PUkUrPQkocmVhc29uOiAke05PVF9GT1JfQVJDSFNfUkVBU09OfSkKLmVu
ZGlmCgouZW5kaWYKCiMgQ2hlY2sgdGhlIHVzZXIgaW50ZXJhY3Rpb24gYW5kIGxlZ2FsIGlzc3Vl
cwouaWYgIWRlZmluZWQoTk9fSUdOT1JFKQouaWYgKGRlZmluZWQoSVNfSU5URVJBQ1RJVkUpICYm
IGRlZmluZWQoQkFUQ0gpKQpJR05PUkU9CQlpcyBhbiBpbnRlcmFjdGl2ZSBwb3J0Ci5lbGlmICgh
ZGVmaW5lZChJU19JTlRFUkFDVElWRSkgJiYgZGVmaW5lZChJTlRFUkFDVElWRSkpCklHTk9SRT0J
CWlzIG5vdCBhbiBpbnRlcmFjdGl2ZSBwb3J0Ci5lbGlmIChkZWZpbmVkKE5PX0NEUk9NKSAmJiBk
ZWZpbmVkKEZPUl9DRFJPTSkpCklHTk9SRT0JCW1heSBub3QgYmUgcGxhY2VkIG9uIGEgQ0RST006
ICR7Tk9fQ0RST019Ci5lbGlmIChkZWZpbmVkKFJFU1RSSUNURUQpICYmIGRlZmluZWQoTk9fUkVT
VFJJQ1RFRCkpCklHTk9SRT0JCWlzIHJlc3RyaWN0ZWQ6ICR7UkVTVFJJQ1RFRH0KLmVsaWYgKGRl
ZmluZWQoTk9fUEFDS0FHRSkgJiYgZGVmaW5lZChQQUNLQUdFX0JVSUxESU5HKSkKSUdOT1JFPQkJ
bWF5IG5vdCBiZSBwYWNrYWdlZDogJHtOT19QQUNLQUdFfQouZWxpZiBkZWZpbmVkKEJST0tFTikK
LmlmICFkZWZpbmVkKFRSWUJST0tFTikKSUdOT1JFPQkJaXMgbWFya2VkIGFzIGJyb2tlbjogJHtC
Uk9LRU59Ci5lbmRpZgouZWxpZiBkZWZpbmVkKEJST0tFTl8ke0FSQ0h9KQouaWYgIWRlZmluZWQo
VFJZQlJPS0VOKQpJR05PUkU9CQlpcyBtYXJrZWQgYXMgYnJva2VuIG9uICR7QVJDSH06ICR7QlJP
S0VOXyR7QVJDSH19Ci5lbmRpZgouZWxpZiBkZWZpbmVkKEJST0tFTl8ke09QU1lTfV8ke09TUkVM
OlJ9KQouaWYgIWRlZmluZWQoVFJZQlJPS0VOKQpJR05PUkU9CQlpcyBtYXJrZWQgYXMgYnJva2Vu
IG9uICR7T1BTWVN9ICR7T1NSRUx9OiAke0JST0tFTl8ke09QU1lTfV8ke09TUkVMOlJ9fQouZW5k
aWYKLmVsaWYgZGVmaW5lZChCUk9LRU5fJHtPUFNZU31fJHtPU1JFTDpSfV8ke0FSQ0h9KQouaWYg
IWRlZmluZWQoVFJZQlJPS0VOKQpJR05PUkU9CQlpcyBtYXJrZWQgYXMgYnJva2VuIG9uICR7T1BT
WVN9ICR7T1NSRUx9ICR7QVJDSH06ICR7QlJPS0VOXyR7T1BTWVN9XyR7T1NSRUw6Un1fJHtBUkNI
fX0KLmVuZGlmCi5lbGlmIGRlZmluZWQoQlJPS0VOXyR7T1BTWVN9KQouaWYgIWRlZmluZWQoVFJZ
QlJPS0VOKQpJR05PUkU9CQlpcyBtYXJrZWQgYXMgYnJva2VuIG9uICR7T1BTWVN9OiAke0JST0tF
Tl8ke09QU1lTfX0KLmVuZGlmCi5lbGlmIGRlZmluZWQoRk9SQklEREVOKQpJR05PUkU9CQlpcyBm
b3JiaWRkZW46ICR7Rk9SQklEREVOfQouZW5kaWYKCiMgRGVmaW5lIHRoZSB0ZXh0IHRvIGJlIG91
dHB1dCB0byBMRUdBTAouaWYgZGVmaW5lZChMRUdBTF9URVhUKQpMRUdBTD0gJHtMRUdBTF9URVhU
fQouZWxpZiBkZWZpbmVkKFJFU1RSSUNURUQpCkxFR0FMPSAke1JFU1RSSUNURUR9Ci5lbGlmIGRl
ZmluZWQoTk9fQ0RST00pCkxFR0FMPSAke05PX0NEUk9NfQouZWxpZiBkZWZpbmVkKE5PX1BBQ0tB
R0UpICYmICEgZGVmaW5lZChMRUdBTF9QQUNLQUdFKQpMRUdBTD0gJHtOT19QQUNLQUdFfQouZW5k
aWYKCi5pZiAoZGVmaW5lZChNQU5VQUxfUEFDS0FHRV9CVUlMRCkgJiYgZGVmaW5lZChQQUNLQUdF
X0JVSUxESU5HKSkKSUdOT1JFPQkJaGFzIHRvIGJlIGJ1aWx0IG1hbnVhbGx5OiAke01BTlVBTF9Q
QUNLQUdFX0JVSUxEfQpjbGVhbjoKCUAke0lHTk9SRUNNRH0KLmVuZGlmCgouaWYgZGVmaW5lZChJ
R05PUkUpCi5pZiBkZWZpbmVkKElHTk9SRV9TSUxFTlQpCklHTk9SRUNNRD0JJHtET19OQURBfQou
ZWxzZQpJR05PUkVDTUQ9CSR7RUNIT19NU0d9ICI9PT0+ICAke1BLR05BTUV9ICIke0lHTk9SRTpR
fS47ZXhpdCAxCi5lbmRpZgoKX1RBUkdFVFM9CWNoZWNrLXNhbml0eSBmZXRjaCBjaGVja3N1bSBl
eHRyYWN0IHBhdGNoIGNvbmZpZ3VyZSBhbGwgYnVpbGQgXAoJCQlpbnN0YWxsIHJlaW5zdGFsbCBw
YWNrYWdlIHN0YWdlIHJlc3RhZ2UKCi5mb3IgdGFyZ2V0IGluICR7X1RBUkdFVFN9Ci5pZiAhdGFy
Z2V0KCR7dGFyZ2V0fSkKJHt0YXJnZXR9OgoJQCR7SUdOT1JFQ01EfQouaWYgZGVmaW5lZChJTlNU
QUxMU19ERVBFTkRTKQoJQCR7RkFMU0V9Ci5lbmRpZgouZW5kaWYKLmVuZGZvcgoKLmVuZGlmCgou
ZW5kaWYKCi5pZiBkZWZpbmVkKElHTk9SRSkgfHwgZGVmaW5lZChOT19QQUNLQUdFKQppZ25vcmVs
aXN0OiBwYWNrYWdlLW5hbWUKLmVsc2UKaWdub3JlbGlzdDoKCUAke0RPX05BREF9Ci5lbmRpZgoK
LmlmIGRlZmluZWQoSUdOT1JFKSB8fCBkZWZpbmVkKE5PX1BBQ0tBR0UpCmlnbm9yZWxpc3QtdmVy
Ym9zZToKLmlmIGRlZmluZWQoSUdOT1JFKQoJQCR7RUNIT19DTUR9ICIke1BLR05BTUV9fElHTk9S
RTogIiR7SUdOT1JFOlF9Ci5lbHNlCglAJHtFQ0hPX0NNRH0gIiR7UEtHTkFNRX18Tk9fUEFDS0FH
RTogIiR7Tk9fUEFDS0FHRTpRfQouZW5kaWYKLmVsc2UKaWdub3JlbGlzdC12ZXJib3NlOgoJQCR7
RE9fTkFEQX0KLmVuZGlmCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgQ2xlYW4gZGlyZWN0b3JpZXMgZm9yIGZ0cCBvciBD
RFJPTS4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIwoKLmlmICFkZWZpbmVkKExJQ0VOU0UpCgouaWYgZGVmaW5lZChSRVNUUklD
VEVEKQpjbGVhbi1yZXN0cmljdGVkOglkZWxldGUtZGlzdGZpbGVzIGRlbGV0ZS1wYWNrYWdlCmNs
ZWFuLXJlc3RyaWN0ZWQtbGlzdDogZGVsZXRlLWRpc3RmaWxlcy1saXN0IGRlbGV0ZS1wYWNrYWdl
LWxpc3QKUkVTVFJJQ1RFRF9GSUxFUz89CSR7X0RJU1RGSUxFU30gJHtfUEFUQ0hGSUxFU30KLmVs
c2UKY2xlYW4tcmVzdHJpY3RlZDoKY2xlYW4tcmVzdHJpY3RlZC1saXN0OgouZW5kaWYKCi5pZiBk
ZWZpbmVkKE5PX0NEUk9NKQpjbGVhbi1mb3ItY2Ryb206CWRlbGV0ZS1kaXN0ZmlsZXMgZGVsZXRl
LXBhY2thZ2UKY2xlYW4tZm9yLWNkcm9tLWxpc3Q6CWRlbGV0ZS1kaXN0ZmlsZXMtbGlzdCBkZWxl
dGUtcGFja2FnZS1saXN0ClJFU1RSSUNURURfRklMRVM/PQkke19ESVNURklMRVN9ICR7X1BBVENI
RklMRVN9Ci5lbHNlCmNsZWFuLWZvci1jZHJvbToKY2xlYW4tZm9yLWNkcm9tLWxpc3Q6Ci5lbmRp
ZgoKLmVuZGlmICMgIWRlZmluZWQoTElDRU5TRSkKCi5pZiBkZWZpbmVkKEFMTF9IT09LKQphbGw6
CglAY2QgJHsuQ1VSRElSfSAmJiAke1NFVEVOVn0gQ1VSRElSPSR7LkNVUkRJUn0gRElTVE5BTUU9
JHtESVNUTkFNRX0gXAoJICBESVNURElSPSR7RElTVERJUn0gV1JLRElSPSR7V1JLRElSfSBXUktT
UkM9JHtXUktTUkN9IFwKCSAgUEFUQ0hESVI9JHtQQVRDSERJUn0gU0NSSVBURElSPSR7U0NSSVBU
RElSfSBcCgkgIEZJTEVTRElSPSR7RklMRVNESVJ9IFBPUlRTRElSPSR7UE9SVFNESVJ9IFBSRUZJ
WD0ke1BSRUZJWH0gXAoJICBCVUlMRF9ERVBFTkRTPSIke0JVSUxEX0RFUEVORFN9IiBSVU5fREVQ
RU5EUz0iJHtSVU5fREVQRU5EU30iIFwKCSAgQ09ORkxJQ1RTPSIke0NPTkZMSUNUU30iIFwKCSR7
QUxMX0hPT0t9Ci5lbmRpZgoKLmlmICF0YXJnZXQoYWxsKQphbGw6IHN0YWdlCi5lbmRpZgoKLmlm
ICFkZWZpbmVkKERFUEVORFNfVEFSR0VUKQouaWYgZGVmaW5lZChERVBFTkRTX1BSRUNMRUFOKQpE
RVBFTkRTX1RBUkdFVD0JY2xlYW4KREVQRU5EU19BUkdTPQlOT0NMRUFOREVQRU5EUz15ZXMKLmVu
ZGlmCi5pZiBtYWtlKHJlaW5zdGFsbCkKREVQRU5EU19UQVJHRVQrPQlyZWluc3RhbGwKLmVsc2UK
REVQRU5EU19UQVJHRVQrPQlpbnN0YWxsCi5lbmRpZgouaWYgZGVmaW5lZChERVBFTkRTX0NMRUFO
KQpERVBFTkRTX1RBUkdFVCs9CWNsZWFuCkRFUEVORFNfQVJHUys9CU5PQ0xFQU5ERVBFTkRTPXll
cwouZW5kaWYKLmVuZGlmCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMKIyBEbyBwcmVsaW1pbmFyeSB3b3JrIHRvIGRldGVj
dCBpZiB3ZSBuZWVkIHRvIHJ1biB0aGUgY29uZmlnCiMgdGFyZ2V0IG9yIG5vdC4KIwojIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
Ci5pZiAoKCFkZWZpbmVkKE9QVElPTlNfREVGSU5FKSAmJiAhZGVmaW5lZChPUFRJT05TX1NJTkdM
RSkgJiYgIWRlZmluZWQoT1BUSU9OU19NVUxUSSkpIFwKCSYmICFkZWZpbmVkKE9QVElPTlNfR1JP
VVApICYmICFkZWZpbmVkKE9QVElPTlNfUkFESU8pIFwKCXx8IGRlZmluZWQoQ09ORklHX0RPTkVf
JHtVTklRVUVOQU1FOnR1fSkgfHwgXAoJZGVmaW5lZChQQUNLQUdFX0JVSUxESU5HKSB8fCBkZWZp
bmVkKEJBVENIKSkKX09QVElPTlNfT0s9eWVzCi5lbmRpZgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIFRoZSBmb2xsb3dp
bmcgYXJlIHVzZWQgdG8gY3JlYXRlIGVhc3kgZHVtbXkgdGFyZ2V0cyBmb3IKIyBkaXNhYmxpbmcg
c29tZSBiaXQgb2YgZGVmYXVsdCB0YXJnZXQgYmVoYXZpb3IgeW91IGRvbid0IHdhbnQuCiMgVGhl
eSBzdGlsbCBjaGVjayB0byBzZWUgaWYgdGhlIHRhcmdldCBleGlzdHMsIGFuZCBpZiBzbyBkb24n
dAojIGRvIGFueXRoaW5nLCBzaW5jZSB5b3UgbWlnaHQgd2FudCB0byBzZXQgdGhpcyBnbG9iYWxs
eSBmb3IgYQojIGdyb3VwIG9mIHBvcnRzIGluIGEgTWFrZWZpbGUuaW5jLCBidXQgc3RpbGwgYmUg
YWJsZSB0bwojIG92ZXJyaWRlIGZyb20gYW4gaW5kaXZpZHVhbCBNYWtlZmlsZS4KIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoK
IyBEaXNhYmxlIGNoZWNrc3VtCi5pZiBkZWZpbmVkKE5PX0NIRUNLU1VNKSAmJiAhdGFyZ2V0KGNo
ZWNrc3VtKQpjaGVja3N1bTogZmV0Y2gKCUAke0RPX05BREF9Ci5lbmRpZgoKIyBEaXNhYmxlIGJ1
aWxkCi5pZiBkZWZpbmVkKE5PX0JVSUxEKSAmJiAhdGFyZ2V0KGJ1aWxkKQpidWlsZDogY29uZmln
dXJlCglAJHtUT1VDSH0gJHtUT1VDSF9GTEFHU30gJHtCVUlMRF9DT09LSUV9Ci5lbmRpZgoKIyBE
aXNhYmxlIHBhY2thZ2UKLmlmIGRlZmluZWQoTk9fUEFDS0FHRSkgJiYgIXRhcmdldChwYWNrYWdl
KQpwYWNrYWdlOgouaWYgZGVmaW5lZChJR05PUkVfU0lMRU5UKQoJQCR7RE9fTkFEQX0KLmVsc2UK
CUAke0VDSE9fTVNHfSAiPT09PiAgJHtQS0dOQU1FfSBtYXkgbm90IGJlIHBhY2thZ2VkOiAiJHtO
T19QQUNLQUdFOlF9LgouZW5kaWYKLmVuZGlmCgojIERpc2FibGUgZGVzY3JpYmUKLmlmIGRlZmlu
ZWQoTk9fREVTQ1JJQkUpICYmICF0YXJnZXQoZGVzY3JpYmUpCmRlc2NyaWJlOgoJQCR7RE9fTkFE
QX0KLmVuZGlmCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjCiMgTW9yZSBzdGFuZGFyZCB0YXJnZXRzIHN0YXJ0IGhlcmUuCiMK
IyBUaGVzZSBhcmUgdGhlIGJvZHkgb2YgdGhlIGJ1aWxkL2luc3RhbGwgZnJhbWV3b3JrLiAgSWYg
eW91IGFyZQojIG5vdCBoYXBweSB3aXRoIHRoZSBkZWZhdWx0IGFjdGlvbnMsIGFuZCB5b3UgY2Fu
J3Qgc29sdmUgaXQgYnkKIyBhZGRpbmcgcHJlLSogb3IgcG9zdC0qIHRhcmdldHMvc2NyaXB0cywg
b3ZlcnJpZGUgdGhlc2UuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgUHJlLWV2ZXJ5dGhpbmcKCnByZS1ldmVyeXRoaW5n
OjoKCUAke0RPX05BREF9CgouaWYgZGVmaW5lZChUUllCUk9LRU4pICYmIGRlZmluZWQoQlJPS0VO
KQpidWlsZGFueXdheS1tZXNzYWdlOgoJQCR7RUNIT19NU0d9ICJUcnlpbmcgYnVpbGQgb2YgJHtQ
S0dOQU1FfSBldmVuIHRob3VnaCBpdCBpcyBtYXJrZWQgQlJPS0VOLiIKLmVuZGlmCgpvcHRpb25z
LW1lc3NhZ2U6Ci5pZiBkZWZpbmVkKEdOT01FX09QVElPTl9NU0cpICYmICghZGVmaW5lZChQQUNL
QUdFX0JVSUxESU5HKSB8fCAhZGVmaW5lZChCQVRDSCkpCglAZm9yIG0gaW4gJHtHTk9NRV9PUFRJ
T05fTVNHfTsgZG8gXAoJCSR7RUNIT19NU0d9ICQkbTsgXAoJZG9uZQouZWxzZQoJQCR7RE9fTkFE
QX0KLmVuZGlmCi5pZiBkZWZpbmVkKF9PUFRJT05TX1JFQUQpCglAJHtFQ0hPX01TR30gIj09PT4g
IEZvdW5kIHNhdmVkIGNvbmZpZ3VyYXRpb24gZm9yICR7X09QVElPTlNfUkVBRH0iCi5lbmRpZgoK
JHtQS0dfREJESVJ9ICR7UFJFRklYfSAke1dSS0RJUn0gJHtXUktTUkN9OgoJQCR7TUtESVJ9ICR7
LlRBUkdFVH0KCiMgV2FybiB1c2VyIGFib3V0IGRlcHJlY2F0ZWQgcGFja2FnZXMuICBBZHZpc29y
eSBvbmx5LgoKLmlmICF0YXJnZXQoY2hlY2stZGVwcmVjYXRlZCkKY2hlY2stZGVwcmVjYXRlZDoK
LmlmIGRlZmluZWQoREVQUkVDQVRFRCkKCUAke0VDSE9fTVNHfSAiPT09PiAgIE5PVElDRToiCglA
JHtFQ0hPX01TR30KCUAke0VDSE9fTVNHfSAiVGhpcyBwb3J0IGlzIGRlcHJlY2F0ZWQ7IHlvdSBt
YXkgd2lzaCB0byByZWNvbnNpZGVyIGluc3RhbGxpbmcgaXQ6IgoJQCR7RUNIT19NU0d9CglAJHtF
Q0hPX01TR30gJHtERVBSRUNBVEVEOlF9LgoJQCR7RUNIT19NU0d9Ci5pZiBkZWZpbmVkKEVYUElS
QVRJT05fREFURSkKCUAke0VDSE9fTVNHfSAiSXQgaXMgc2NoZWR1bGVkIHRvIGJlIHJlbW92ZWQg
b24gb3IgYWZ0ZXIgJHtFWFBJUkFUSU9OX0RBVEV9LiIKCUAke0VDSE9fTVNHfQouZW5kaWYKLmVu
ZGlmCi5lbmRpZgoKIyBDaGVjayBpZiB0aGUgcG9ydCBpcyBsaXN0ZWQgaW4gdGhlIHZ1bG5lcmFi
aWxpdHkgZGF0YWJhc2UKCkFVRElURklMRT89CQkke1BLR19EQkRJUn0vdnVsbi54bWwKX0VYVFJB
Q1RfQVVESVRGSUxFPQkke0NBVH0gIiR7QVVESVRGSUxFfSIKCmNoZWNrLXZ1bG5lcmFibGU6Ci5p
ZiAhZGVmaW5lZChESVNBQkxFX1ZVTE5FUkFCSUxJVElFUykgJiYgIWRlZmluZWQoUEFDS0FHRV9C
VUlMRElORykKCUBpZiBbIC1mICIke0FVRElURklMRX0iIF07IHRoZW4gXAoJCWlmIFsgLXggIiR7
UEtHX0JJTn0iIF07IHRoZW4gXAoJCQl2bGlzdD1gJHtQS0dfQklOfSBhdWRpdCAiJHtQS0dOQU1F
fSIgfHwgOmA7IFwKCQkJaWYgWyAiJCR7dmxpc3R9IiA9ICIwIHByb2JsZW0ocykgaW4gdGhlIGlu
c3RhbGxlZCBwYWNrYWdlcyBmb3VuZC4iIF07IHRoZW4gXAoJCQkJdmxpc3Q9IiI7IFwKCQkJZmk7
IFwKCQllbGlmIFsgIiR7UE9SVE5BTUV9IiA9ICJwa2ciIF07IHRoZW4gXAoJCQl2bGlzdD0iIjsg
XAoJCWZpOyBcCgkJaWYgWyAtbiAiJCR2bGlzdCIgXTsgdGhlbiBcCgkJCSR7RUNIT19NU0d9ICI9
PT0+ICAke1BLR05BTUV9IGhhcyBrbm93biB2dWxuZXJhYmlsaXRpZXM6IjsgXAoJCQkke0VDSE9f
TVNHfSAiJCR2bGlzdCI7IFwKCQkJJHtFQ0hPX01TR30gIj0+IFBsZWFzZSB1cGRhdGUgeW91ciBw
b3J0cyB0cmVlIGFuZCB0cnkgYWdhaW4uIjsgXAoJCQkke0VDSE9fTVNHfSAiPT4gTm90ZTogVnVs
bmVyYWJsZSBwb3J0cyBhcmUgbWFya2VkIGFzIHN1Y2ggZXZlbiBpZiB0aGVyZSBpcyBubyB1cGRh
dGUgYXZhaWxhYmxlLiI7IFwKCQkJJHtFQ0hPX01TR30gIj0+IElmIHlvdSB3aXNoIHRvIGlnbm9y
ZSB0aGlzIHZ1bG5lcmFiaWxpdHkgcmVidWlsZCB3aXRoICdtYWtlIERJU0FCTEVfVlVMTkVSQUJJ
TElUSUVTPXllcyciOyBcCgkJCWV4aXQgMTsgXAoJCWZpOyBcCglmaQouZW5kaWYKCiMgc2V0IGFs
ZyB0byBhbnkgb2YgU0laRSwgU0hBMjU2IChvciBhbnkgb3RoZXIgY2hlY2tzdW0gYWxnb3JpdGht
KToKRElTVElORk9fREFUQT89CWlmIFsgXCggLW4gIiR7RElTQUJMRV9TSVpFfSIgLWEgLW4gIiR7
Tk9fQ0hFQ0tTVU19IiBcKSAtbyAhIC1mICIke0RJU1RJTkZPX0ZJTEV9IiBdOyB0aGVuIGV4aXQ7
IGZpOyBcCglESVI9JHtESVNUX1NVQkRJUn07ICR7QVdLfSAtdiBhbGc9JCRhbGcgLXYgZmlsZT0k
JHtESVI6KyQkRElSL30kJHtmaWxlfQlcCgkJJyQkMSA9PSBhbGcgJiYgJCQyID09ICIoIiBmaWxl
ICIpIiB7cHJpbnQgJCQ0fScgJHtESVNUSU5GT19GSUxFfQoKIyBGZXRjaAoKLmlmICF0YXJnZXQo
ZG8tZmV0Y2gpCmRvLWZldGNoOgoJQCR7TUtESVJ9ICR7X0RJU1RESVJ9CglAY2QgJHtfRElTVERJ
Un07XAoJJHtfTUFTVEVSX1NJVEVTX0VOVn0gOyBcCglmb3IgX2ZpbGUgaW4gJHtESVNURklMRVN9
OyBkbyBcCgkJZmlsZT0kJHtfZmlsZSUlOip9OyBcCgkJaWYgWyAkJF9maWxlID0gJCRmaWxlIF07
IHRoZW4JXAoJCQlzZWxlY3Q9Jyc7CVwKCQllbHNlCVwKCQkJc2VsZWN0PWAke0VDSE9fQ01EfSAk
JHtfZmlsZSMjKjp9IHwgJHtTRUR9IC1lICdzLywvIC9nJ2AgOwlcCgkJZmk7CVwKCQlmb3JjZV9m
ZXRjaD1mYWxzZTsgXAoJCWZpbGViYXNlbmFtZT0kJHtmaWxlIyMqL307IFwKCQlmb3IgYWZpbGUg
aW4gJHtGT1JDRV9GRVRDSH07IGRvIFwKCQkJYWZpbGU9JCR7YWZpbGUjIyovfTsgXAoJCQlpZiBb
ICJ4JCRhZmlsZSIgPSAieCQkZmlsZWJhc2VuYW1lIiBdOyB0aGVuIFwKCQkJCWZvcmNlX2ZldGNo
PXRydWU7IFwKCQkJZmk7IFwKCQlkb25lOyBcCgkJaWYgWyAhIC1mICQkZmlsZSAtYSAhIC1mICQk
ZmlsZWJhc2VuYW1lIC1vICIkJGZvcmNlX2ZldGNoIiA9ICJ0cnVlIiBdOyB0aGVuIFwKCQkJaWYg
WyAtTCAkJGZpbGUgLW8gLUwgJCRmaWxlYmFzZW5hbWUgXTsgdGhlbiBcCgkJCQkke0VDSE9fTVNH
fSAiPT4gJHtfRElTVERJUn0vJCRmaWxlIGlzIGEgYnJva2VuIHN5bWxpbmsuIjsgXAoJCQkJJHtF
Q0hPX01TR30gIj0+IFBlcmhhcHMgYSBmaWxlc3lzdGVtIChtb3N0IGxpa2VseSBhIENEKSBpc24n
dCBtb3VudGVkPyI7IFwKCQkJCSR7RUNIT19NU0d9ICI9PiBQbGVhc2UgY29ycmVjdCB0aGlzIHBy
b2JsZW0gYW5kIHRyeSBhZ2Fpbi4iOyBcCgkJCQlleGl0IDE7IFwKCQkJZmk7IFwKCQkJaWYgWyAt
ZiAke0RJU1RJTkZPX0ZJTEV9IC1hICJ4JHtOT19DSEVDS1NVTX0iID0gIngiIF07IHRoZW4gXAoJ
CQkJX3NoYTI1NnN1bT1gYWxnPVNIQTI1NjsgJHtESVNUSU5GT19EQVRBfWA7IFwKCQkJCWlmIFsg
LXogIiQkX3NoYTI1NnN1bSIgXTsgdGhlbiBcCgkJCQkJJHtFQ0hPX01TR30gIj0+ICQke0RJUjor
JCRESVIvfSQkZmlsZSBpcyBub3QgaW4gJHtESVNUSU5GT19GSUxFfS4iOyBcCgkJCQkJJHtFQ0hP
X01TR30gIj0+IEVpdGhlciAke0RJU1RJTkZPX0ZJTEV9IGlzIG91dCBvZiBkYXRlLCBvciI7IFwK
CQkJCQkke0VDSE9fTVNHfSAiPT4gJCR7RElSOiskJERJUi99JCRmaWxlIGlzIHNwZWxsZWQgaW5j
b3JyZWN0bHkuIjsgXAoJCQkJCWV4aXQgMTsgXAoJCQkJZmk7IFwKCQkJZmk7IFwKCQkJJHtFQ0hP
X01TR30gIj0+ICQkZmlsZSBkb2Vzbid0IHNlZW0gdG8gZXhpc3QgaW4gJHtfRElTVERJUn0uIjsg
XAoJCQlpZiBbICEgLXcgJHtfRElTVERJUn0gXTsgdGhlbiBcCgkJCSAgICR7RUNIT19NU0d9ICI9
PiAke19ESVNURElSfSBpcyBub3Qgd3JpdGFibGUgYnkgeW91OyBjYW5ub3QgZmV0Y2guIjsgXAoJ
CQkgICBleGl0IDE7IFwKCQkJZmk7IFwKCQkJaWYgWyAhIC16ICIkJHNlbGVjdCIgXSA7IHRoZW4g
XAoJCQkJX19NQVNURVJfU0lURVNfVE1QPSA7IFwKCQkJCWZvciBncm91cCBpbiAkJHNlbGVjdDsg
ZG8gXAoJCQkJCWlmIFsgISAteiBcJCR7X01BU1RFUl9TSVRFU18kJHtncm91cH19IF0gOyB0aGVu
IFwKCQkJCQkJZXZhbCBfX19NQVNURVJfU0lURVNfVE1QPSJcJCR7X01BU1RFUl9TSVRFU18kJHtn
cm91cH19IiA7IFwKCQkJCQkJX19NQVNURVJfU0lURVNfVE1QPSIkJHtfX01BU1RFUl9TSVRFU19U
TVB9ICQke19fX01BU1RFUl9TSVRFU19UTVB9IiA7IFwKCQkJCQlmaTsgXAoJCQkJZG9uZTsgXAoJ
CQkJX19fTUFTVEVSX1NJVEVTX1RNUD0gOyBcCgkJCQlTT1JURURfTUFTVEVSX1NJVEVTX0NNRF9U
TVA9IiR7RUNIT19DTUR9ICR7X01BU1RFUl9TSVRFX09WRVJSSURFfSBgJHtFQ0hPX0NNRH0gJCR7
X19NQVNURVJfU0lURVNfVE1QfSB8ICR7QVdLfSAnJHtNQVNURVJfU09SVF9BV0s6U3xcXHxcXFxc
fGd9J2AgJHtfTUFTVEVSX1NJVEVfQkFDS1VQfSIgOyBcCgkJCWVsc2UgXAoJCQkJU09SVEVEX01B
U1RFUl9TSVRFU19DTURfVE1QPSIke1NPUlRFRF9NQVNURVJfU0lURVNfREVGQVVMVF9DTUR9IiA7
IFwKCQkJZmk7IFwKCQkJc2l0ZXNfcmVtYWluaW5nPTA7IFwKCQkJc2l0ZXM9ImBldmFsICQkU09S
VEVEX01BU1RFUl9TSVRFU19DTURfVE1QICR7X1JBTkRPTUlaRV9TSVRFU31gIjsgXAoJCQlmb3Ig
c2l0ZSBpbiAkJHtzaXRlc307IGRvIFwKCQkJCXNpdGVzX3JlbWFpbmluZz0kJCgoJCR7c2l0ZXNf
cmVtYWluaW5nfSArIDEpKTsgXAoJCQlkb25lOyBcCgkJCWZvciBzaXRlIGluICQke3NpdGVzfTsg
ZG8gXAoJCQkJc2l0ZXNfcmVtYWluaW5nPSQkKCgkJHtzaXRlc19yZW1haW5pbmd9IC0gMSkpOyBc
CgkJCSAgICAke0VDSE9fTVNHfSAiPT4gQXR0ZW1wdGluZyB0byBmZXRjaCAkJHtzaXRlfSQke2Zp
bGV9IjsgXAoJCQkJQ0tTSVpFPWBhbGc9U0laRTsgJHtESVNUSU5GT19EQVRBfWA7IFwKCQkJCWNh
c2UgJCR7ZmlsZX0gaW4gXAoJCQkJKi8qKQkke01LRElSfSAkJHtmaWxlJS8qfTsgXAoJCQkJCQlh
cmdzPSItbyAkJHtmaWxlfSAkJHtzaXRlfSQke2ZpbGV9Ijs7IFwKCQkJCSopCQlhcmdzPSQke3Np
dGV9JCR7ZmlsZX07OyBcCgkJCQllc2FjOyBcCgkJCQlpZiAke1NFVEVOVn0gJHtGRVRDSF9FTlZ9
ICR7RkVUQ0hfQ01EfSAke0ZFVENIX0JFRk9SRV9BUkdTfSAkJHthcmdzfSAke0ZFVENIX0FGVEVS
X0FSR1N9OyB0aGVuIFwKCQkJCQlhY3R1YWxfc2l6ZT1gc3RhdCAtZiAleiAiJCR7ZmlsZX0iYDsg
XAoJCQkJCWlmIFsgLW4gIiR7RElTQUJMRV9TSVpFfSIgXSB8fCBbIC16ICIkJHtDS1NJWkV9IiBd
IHx8IFsgJCR7YWN0dWFsX3NpemV9IC1lcSAkJHtDS1NJWkV9IF07IHRoZW4gXAoJCQkJCQljb250
aW51ZSAyOyBcCgkJCQkJZWxzZSBcCgkJCQkJCSR7RUNIT19NU0d9ICI9PiBGZXRjaGVkIGZpbGUg
c2l6ZSBtaXNtYXRjaCAoZXhwZWN0ZWQgJCR7Q0tTSVpFfSwgYWN0dWFsICQke2FjdHVhbF9zaXpl
fSkiOyBcCgkJCQkJCWlmIFsgJCR7c2l0ZXNfcmVtYWluaW5nfSAtZ3QgMCBdOyB0aGVuIFwKCQkJ
CQkJCSR7RUNIT19NU0d9ICI9PiBUcnlpbmcgbmV4dCBzaXRlIjsgXAoJCQkJCQkJJHtSTX0gLWYg
JCR7ZmlsZX07IFwKCQkJCQkJZmk7IFwKCQkJCQlmaTsgXAoJCQkJZmk7IFwKCQkJZG9uZTsgXAoJ
CQkke0VDSE9fTVNHfSAiPT4gQ291bGRuJ3QgZmV0Y2ggaXQgLSBwbGVhc2UgdHJ5IHRvIHJldHJp
ZXZlIHRoaXMiO1wKCQkJJHtFQ0hPX01TR30gIj0+IHBvcnQgbWFudWFsbHkgaW50byAke19ESVNU
RElSfSBhbmQgdHJ5IGFnYWluLiI7IFwKCQkJZXhpdCAxOyBcCgkgICAgZmk7IFwKCSBkb25lCi5p
ZiBkZWZpbmVkKFBBVENIRklMRVMpCglAY2QgJHtfRElTVERJUn07XAoJJHtfUEFUQ0hfU0lURVNf
RU5WfSA7IFwKCWZvciBfZmlsZSBpbiAke1BBVENIRklMRVN9OyBkbyBcCgkJZmlsZT1gJHtFQ0hP
X0NNRH0gJCRfZmlsZSB8ICR7U0VEfSAtRSAtZSAncy86W14tOl1bXjpdKiQkLy8nYCA7IFwKCQlp
ZiBbICQkX2ZpbGUgPSAkJGZpbGUgXTsgdGhlbglcCgkJCXNlbGVjdD0nJzsJXAoJCWVsc2UJXAoJ
CQlzZWxlY3Q9YCR7RUNIT19DTUR9ICQke19maWxlIyMqOn0gfCAke1NFRH0gLWUgJ3MvLC8gL2cn
YCA7CVwKCQlmaTsJXAoJCWZpbGU9YCR7RUNIT19DTUR9ICQkZmlsZSB8ICR7U0VEfSAtRSAtZSAn
cy86LVteOl0rJCQvLydgIDsgXAoJCWZvcmNlX2ZldGNoPWZhbHNlOyBcCgkJZmlsZWJhc2VuYW1l
PSQke2ZpbGUjIyovfTsgXAoJCWZvciBhZmlsZSBpbiAke0ZPUkNFX0ZFVENIfTsgZG8gXAoJCQlh
ZmlsZT0kJHthZmlsZSMjKi99OyBcCgkJCWlmIFsgIngkJGFmaWxlIiA9ICJ4JCRmaWxlYmFzZW5h
bWUiIF07IHRoZW4gXAoJCQkJZm9yY2VfZmV0Y2g9dHJ1ZTsgXAoJCQlmaTsgXAoJCWRvbmU7IFwK
CQlpZiBbICEgLWYgJCRmaWxlIC1hICEgLWYgJCRmaWxlYmFzZW5hbWUgLW8gIiQkZm9yY2VfZmV0
Y2giID0gInRydWUiIF07IHRoZW4gXAoJCQlpZiBbIC1MICQkZmlsZSAtbyAtTCAkJHtmaWxlIyMq
L30gXTsgdGhlbiBcCgkJCQkke0VDSE9fTVNHfSAiPT4gJHtfRElTVERJUn0vJCRmaWxlIGlzIGEg
YnJva2VuIHN5bWxpbmsuIjsgXAoJCQkJJHtFQ0hPX01TR30gIj0+IFBlcmhhcHMgYSBmaWxlc3lz
dGVtIChtb3N0IGxpa2VseSBhIENEKSBpc24ndCBtb3VudGVkPyI7IFwKCQkJCSR7RUNIT19NU0d9
ICI9PiBQbGVhc2UgY29ycmVjdCB0aGlzIHByb2JsZW0gYW5kIHRyeSBhZ2Fpbi4iOyBcCgkJCQll
eGl0IDE7IFwKCQkJZmk7IFwKCQkJJHtFQ0hPX01TR30gIj0+ICQkZmlsZSBkb2Vzbid0IHNlZW0g
dG8gZXhpc3QgaW4gJHtfRElTVERJUn0uIjsgXAoJCQlpZiBbICEgLXogIiQkc2VsZWN0IiBdIDsg
dGhlbiBcCgkJCQlfX1BBVENIX1NJVEVTX1RNUD0gOyBcCgkJCQlmb3IgZ3JvdXAgaW4gJCRzZWxl
Y3Q7IGRvIFwKCQkJCQlpZiBbICEgLXogXCQke19QQVRDSF9TSVRFU18kJHtncm91cH19IF0gOyB0
aGVuIFwKCQkJCQkJZXZhbCBfX19QQVRDSF9TSVRFU19UTVA9IlwkJHtfUEFUQ0hfU0lURVNfJCR7
Z3JvdXB9fSIgOyBcCgkJCQkJCV9fUEFUQ0hfU0lURVNfVE1QPSIkJHtfX1BBVENIX1NJVEVTX1RN
UH0gJCR7X19fUEFUQ0hfU0lURVNfVE1QfSIgOyBcCgkJCQkJZmk7IFwKCQkJCWRvbmU7IFwKCQkJ
CV9fX1BBVENIX1NJVEVTX1RNUD0gOyBcCgkJCQlTT1JURURfUEFUQ0hfU0lURVNfQ01EX1RNUD0i
JHtFQ0hPX0NNRH0gJHtfTUFTVEVSX1NJVEVfT1ZFUlJJREV9IGAke0VDSE9fQ01EfSAkJHtfX1BB
VENIX1NJVEVTX1RNUH0gfCAke0FXS30gJyR7TUFTVEVSX1NPUlRfQVdLOlN8XFx8XFxcXHxnfSdg
ICR7X01BU1RFUl9TSVRFX0JBQ0tVUH0iIDsgXAoJCQllbHNlIFwKCQkJCVNPUlRFRF9QQVRDSF9T
SVRFU19DTURfVE1QPSIke1NPUlRFRF9QQVRDSF9TSVRFU19ERUZBVUxUX0NNRH0iIDsgXAoJCQlm
aTsgXAoJCQlzaXRlc19yZW1haW5pbmc9MDsgXAoJCQlzaXRlcz0iYGV2YWwgJCRTT1JURURfUEFU
Q0hfU0lURVNfQ01EX1RNUGAiOyBcCgkJCWZvciBzaXRlIGluICQke3NpdGVzfTsgZG8gXAoJCQkJ
c2l0ZXNfcmVtYWluaW5nPSQkKCgkJHtzaXRlc19yZW1haW5pbmd9ICsgMSkpOyBcCgkJCWRvbmU7
IFwKCQkJZm9yIHNpdGUgaW4gJCR7c2l0ZXN9OyBkbyBcCgkJCQlzaXRlc19yZW1haW5pbmc9JCQo
KCQke3NpdGVzX3JlbWFpbmluZ30gLSAxKSk7IFwKCQkJICAgICR7RUNIT19NU0d9ICI9PiBBdHRl
bXB0aW5nIHRvIGZldGNoICQke3NpdGV9JCR7ZmlsZX0iOyBcCgkJCQlDS1NJWkU9YGFsZz1TSVpF
OyAke0RJU1RJTkZPX0RBVEF9YDsgXAoJCQkJY2FzZSAkJHtmaWxlfSBpbiBcCgkJCQkqLyopCSR7
TUtESVJ9ICQke2ZpbGUlLyp9OyBcCgkJCQkJCWFyZ3M9Ii1vICQke2ZpbGV9ICQke3NpdGV9JCR7
ZmlsZX0iOzsgXAoJCQkJKikJCWFyZ3M9JCR7c2l0ZX0kJHtmaWxlfTs7IFwKCQkJCWVzYWM7IFwK
CQkJCWlmICR7U0VURU5WfSAke0ZFVENIX0VOVn0gJHtGRVRDSF9DTUR9ICR7RkVUQ0hfQkVGT1JF
X0FSR1N9ICQke2FyZ3N9ICR7RkVUQ0hfQUZURVJfQVJHU307IHRoZW4gXAoJCQkJCWFjdHVhbF9z
aXplPWBzdGF0IC1mICV6ICIkJHtmaWxlfSJgOyBcCgkJCQkJaWYgWyAtbiAiJHtESVNBQkxFX1NJ
WkV9IiBdIHx8IFsgLXogIiQke0NLU0laRX0iIF0gfHwgWyAkJHthY3R1YWxfc2l6ZX0gLWVxICQk
e0NLU0laRX0gXTsgdGhlbiBcCgkJCQkJCWNvbnRpbnVlIDI7IFwKCQkJCQllbHNlIFwKCQkJCQkJ
JHtFQ0hPX01TR30gIj0+IEZldGNoZWQgZmlsZSBzaXplIG1pc21hdGNoIChleHBlY3RlZCAkJHtD
S1NJWkV9LCBhY3R1YWwgJCR7YWN0dWFsX3NpemV9KSI7IFwKCQkJCQkJaWYgWyAkJHtzaXRlc19y
ZW1haW5pbmd9IC1ndCAxIF07IHRoZW4gXAoJCQkJCQkJJHtFQ0hPX01TR30gIj0+IFRyeWluZyBu
ZXh0IHNpdGUiOyBcCgkJCQkJCQkke1JNfSAtZiAkJHtmaWxlfTsgXAoJCQkJCQlmaTsgXAoJCQkJ
CWZpOyBcCgkJCQlmaTsgXAoJCQlkb25lOyBcCgkJCSR7RUNIT19NU0d9ICI9PiBDb3VsZG4ndCBm
ZXRjaCBpdCAtIHBsZWFzZSB0cnkgdG8gcmV0cmlldmUgdGhpcyI7XAoJCQkke0VDSE9fTVNHfSAi
PT4gcG9ydCBtYW51YWxseSBpbnRvICR7X0RJU1RESVJ9IGFuZCB0cnkgYWdhaW4uIjsgXAoJCQll
eGl0IDE7IFwKCQlmaTsgXAoJIGRvbmUKLmVuZGlmCi5lbmRpZgoKIyBFeHRyYWN0CgpjbGVhbi13
cmtkaXI6CglAJHtSTX0gLXJmICR7V1JLRElSfQoKLmlmICF0YXJnZXQoZG8tZXh0cmFjdCkKZG8t
ZXh0cmFjdDoKCUBmb3IgZmlsZSBpbiAke0VYVFJBQ1RfT05MWX07IGRvIFwKCQlpZiAhIChjZCAk
e1dSS0RJUn0gJiYgJHtFWFRSQUNUX0NNRH0gJHtFWFRSQUNUX0JFRk9SRV9BUkdTfSAke19ESVNU
RElSfS8kJGZpbGUgJHtFWFRSQUNUX0FGVEVSX0FSR1N9KTtcCgkJdGhlbiBcCgkJCWV4aXQgMTsg
XAoJCWZpOyBcCglkb25lCglAaWYgWyAke1VJRH0gPSAwIF07IHRoZW4gXAoJCSR7Q0hNT0R9IC1S
IHVnLXMgJHtXUktESVJ9OyBcCgkJJHtDSE9XTn0gLVIgMDowICR7V1JLRElSfTsgXAoJZmkKLmVu
ZGlmCgojIFBhdGNoCgouaWYgIXRhcmdldChkby1wYXRjaCkKZG8tcGF0Y2g6Ci5pZiBkZWZpbmVk
KFBBVENIRklMRVMpCglAJHtFQ0hPX01TR30gIj09PT4gIEFwcGx5aW5nIGRpc3RyaWJ1dGlvbiBw
YXRjaGVzIGZvciAke1BLR05BTUV9IgoJQChzZXQgLWU7IFwKCWNkICR7X0RJU1RESVJ9OyBcCglw
YXRjaF9kaXN0X3N0cmlwICgpIHsgXAoJCWNhc2UgIiQkMSIgaW4gXAoJCSR7X1BBVENIX0RJU1Rf
U1RSSVBfQ0FTRVN9IFwKCQllc2FjOyBcCgl9OyBcCglmb3IgaSBpbiAke19QQVRDSEZJTEVTfTsg
ZG8gXAoJCWlmIFsgJHtQQVRDSF9ERUJVR19UTVB9ID0geWVzIF07IHRoZW4gXAoJCQkke0VDSE9f
TVNHfSAiPT09PiAgIEFwcGx5aW5nIGRpc3RyaWJ1dGlvbiBwYXRjaCAkJGkiIDsgXAoJCWZpIDsg
XAoJCWNhc2UgJCRpIGluIFwKCQkqLlp8Ki5neikgJHtHWkNBVH0gJCRpIDs7IFwKCQkqLmJ6Mikg
JHtCWkNBVH0gJCRpIDs7IFwKCQkqLnh6KSAke1haQ0FUfSAkJGkgOzsgXAoJCSouemlwKSAke1VO
WklQX05BVElWRV9DTUR9IC1wICQkaSA7OyBcCgkJKikgJHtDQVR9ICQkaSA7OyBcCgkJZXNhYyB8
ICR7UEFUQ0h9ICR7UEFUQ0hfRElTVF9BUkdTfSBgcGF0Y2hfZGlzdF9zdHJpcCAkJGlgIDsgXAoJ
ZG9uZSApCi5lbmRpZgouaWYgZGVmaW5lZChFWFRSQV9QQVRDSEVTKQoJQHNldCAtZSA7IFwKCWZv
ciBpIGluICR7RVhUUkFfUEFUQ0hFU307IGRvIFwKCQljYXNlICQkaSBpbiBcCgkJKjotcFswLTld
KSBwYXRjaF9maWxlPSQke2klOip9IDsgcGF0Y2hfc3RyaXA9JCR7aSMjKjp9IDs7IFwKCQkqKSBw
YXRjaF9maWxlPSQkaSA7OyBcCgkJZXNhYyA7IFwKCQkke0VDSE9fTVNHfSAiPT09PiAgQXBwbHlp
bmcgZXh0cmEgcGF0Y2ggJCRwYXRjaF9maWxlIiA7IFwKCQljYXNlICQkcGF0Y2hfZmlsZSBpbiBc
CgkJKi5afCouZ3opICR7R1pDQVR9ICQkcGF0Y2hfZmlsZSA7OyBcCgkJKi5iejIpICR7QlpDQVR9
ICQkcGF0Y2hfZmlsZSA7OyBcCgkJKi54eikgJHtYWkNBVH0gJCRwYXRjaF9maWxlIDs7IFwKCQkq
LnppcCkgJHtVTlpJUF9OQVRJVkVfQ01EfSAtcCAkJHBhdGNoX2ZpbGUgOzsgXAoJCSopICR7Q0FU
fSAkJHBhdGNoX2ZpbGUgOzsgXAoJCWVzYWMgfCAke1BBVENIfSAke1BBVENIX0FSR1N9ICQkcGF0
Y2hfc3RyaXAgOyBcCglkb25lCi5lbmRpZgoJQHNldCAtZSA7XAoJaWYgWyAtZCAke1BBVENIRElS
fSBdOyB0aGVuIFwKCQlpZiBbICJgJHtFQ0hPX0NNRH0gJHtQQVRDSERJUn0vcGF0Y2gtKmAiICE9
ICIke1BBVENIRElSfS9wYXRjaC0qIiBdOyB0aGVuIFwKCQkJJHtFQ0hPX01TR30gIj09PT4gIEFw
cGx5aW5nICR7T1BTWVN9IHBhdGNoZXMgZm9yICR7UEtHTkFNRX0iIDsgXAoJCQlQQVRDSEVTX0FQ
UExJRUQ9IiIgOyBcCgkJCWZvciBpIGluICR7UEFUQ0hESVJ9L3BhdGNoLSo7IGRvIFwKCQkJCWNh
c2UgJCRpIGluIFwKCQkJCQkqLm9yaWd8Ki5yZWp8Kn58Kix2KSBcCgkJCQkJCSR7RUNIT19NU0d9
ICI9PT0+ICAgSWdub3JpbmcgcGF0Y2hmaWxlICQkaSIgOyBcCgkJCQkJCTs7IFwKCQkJCQkqKSBc
CgkJCQkJCWlmIFsgJHtQQVRDSF9ERUJVR19UTVB9ID0geWVzIF07IHRoZW4gXAoJCQkJCQkJJHtF
Q0hPX01TR30gIj09PT4gICBBcHBseWluZyAke09QU1lTfSBwYXRjaCAkJGkiIDsgXAoJCQkJCQlm
aTsgXAoJCQkJCQlpZiAke1BBVENIfSAke1BBVENIX0FSR1N9IDwgJCRpIDsgdGhlbiBcCgkJCQkJ
CQlQQVRDSEVTX0FQUExJRUQ9IiQkUEFUQ0hFU19BUFBMSUVEICQkaSIgOyBcCgkJCQkJCWVsc2Ug
XAoJCQkJCQkJJHtFQ0hPX01TR30gYCR7RUNIT19DTUR9ICI9PiBQYXRjaCAkJGkgZmFpbGVkIHRv
IGFwcGx5IGNsZWFubHkuIiB8ICR7U0VEfSAic3wke1BBVENIRElSfS98fCJgIDsgXAoJCQkJCQkJ
aWYgWyB4IiQkUEFUQ0hFU19BUFBMSUVEIiAhPSB4IiIgLWEgJHtQQVRDSF9TSUxFTlR9ICE9ICJ5
ZXMiIF07IHRoZW4gXAoJCQkJCQkJCSR7RUNIT19NU0d9IGAke0VDSE9fQ01EfSAiPT4gUGF0Y2go
ZXMpICQkUEFUQ0hFU19BUFBMSUVEIGFwcGxpZWQgY2xlYW5seS4iIHwgJHtTRUR9ICJzfCR7UEFU
Q0hESVJ9L3x8ZyJgIDsgXAoJCQkJCQkJZmk7IFwKCQkJCQkJCSR7RkFMU0V9IDsgXAoJCQkJCQlm
aTsgXAoJCQkJCQk7OyBcCgkJCQllc2FjOyBcCgkJCWRvbmU7IFwKCQlmaTsgXAoJZmkKLmVuZGlm
CgouaWYgIXRhcmdldChydW4tYXV0b3Rvb2xzLWZpeHVwKQpydW4tYXV0b3Rvb2xzLWZpeHVwOgoj
IFdvcmsgYXJvdW5kIGFuIGlzc3VlIHdoZXJlIEZyZWVCU0QgMTAuMCBpcyBkZXRlY3RlZCBhcyBG
cmVlQlNEIDEueC4KLmlmICR7T1NWRVJTSU9OfSA+PSAxMDAwMDAwICYmICFkZWZpbmVkKFdJVEhP
VVRfRkJTRDEwX0ZJWCkKCS1AZm9yIGYgaW4gYCR7RklORH0gJHtXUktESVJ9IC10eXBlIGYgXCgg
LW5hbWUgY29uZmlnLmxpYnBhdGggLW8gXAoJCS1uYW1lIGNvbmZpZy5ycGF0aCAtbyAtbmFtZSBj
b25maWd1cmUgLW8gLW5hbWUgbGlidG9vbC5tNCAtbyBcCgkJLW5hbWUgbHRjb25maWcgLW8gLW5h
bWUgbGlidG9vbCAtbyAtbmFtZSBhY2xvY2FsLm00IC1vIFwKCQktbmFtZSBhY2luY2x1ZGUubTQg
XClgIDsgZG8gXAoJCQkke1NFRH0gLWkuZmJzZDEwYmFrIFwKCQkJCS1lICdzfGZyZWVic2QxXCop
fGZyZWVic2QxLlwqKXxnJyBcCgkJCQktZSAnc3xmcmVlYnNkXFsxMlxdXCopfGZyZWVic2RbMTJd
LiopfGcnIFwKCQkJCS1lICdzfGZyZWVic2RcWzEyM1xdXCopfGZyZWVic2RbMTIzXS4qKXxnJyBc
CgkJCQktZSAnc3xmcmVlYnNkXFtcWzEyXF1cXVwqKXxmcmVlYnNkW1sxMl1dLiopfGcnIFwKCQkJ
CS1lICdzfGZyZWVic2RcW1xbMTIzXF1cXVwqKXxmcmVlYnNkW1sxMjNdXS4qKXxnJyBcCgkJCQkJ
JCR7Zn0gOyBcCgkJCWNtcCAtcyAkJHtmfS5mYnNkMTBiYWsgJCR7Zn0gfHwgXAoJCQkke0VDSE9f
TVNHfSAiPT09PiAgIEZyZWVCU0QgMTAgYXV0b3Rvb2xzIGZpeCBhcHBsaWVkIHRvICQke2Z9Ijsg
XAoJCQkke1RPVUNIfSAke1RPVUNIX0ZMQUdTfSAtbXIgJCR7Zn0uZmJzZDEwYmFrICQke2Z9IDsg
XAoJCQkke1JNfSAtZiAkJHtmfS5mYnNkMTBiYWsgOyBcCgkJZG9uZQouZW5kaWYKLmVuZGlmCgoj
IENvbmZpZ3VyZQoKLmlmICF0YXJnZXQoZG8tY29uZmlndXJlKQpkby1jb25maWd1cmU6CglAaWYg
WyAtZiAke1NDUklQVERJUn0vY29uZmlndXJlIF07IHRoZW4gXAoJCWNkICR7LkNVUkRJUn0gJiYg
JHtTRVRFTlZ9ICR7U0NSSVBUU19FTlZ9ICR7U0h9IFwKCQkgICR7U0NSSVBURElSfS9jb25maWd1
cmU7IFwKCWZpCi5pZiBkZWZpbmVkKEdOVV9DT05GSUdVUkUpCglAQ09ORklHX0dVRVNTX0RJUlM9
JCQoJHtGSU5EfSAke1dSS0RJUn0gLW5hbWUgY29uZmlnLmd1ZXNzIC1vIC1uYW1lIGNvbmZpZy5z
dWIgXAoJCXwgJHtYQVJHU30gLW4gMSAke0RJUk5BTUV9KTsgXAoJZm9yIF9EIGluICQke0NPTkZJ
R19HVUVTU19ESVJTfTsgZG8gXAoJCSR7Uk19ICQke19EfS9jb25maWcuZ3Vlc3M7IFwKCQkke0NQ
fSAke1RFTVBMQVRFU30vY29uZmlnLmd1ZXNzICQke19EfS9jb25maWcuZ3Vlc3M7IFwKCQkke0NI
TU9EfSBhK3J4ICQke19EfS9jb25maWcuZ3Vlc3M7IFwKCQkke1JNfSAkJHtfRH0vY29uZmlnLnN1
YjsgXAoJCSR7Q1B9ICR7VEVNUExBVEVTfS9jb25maWcuc3ViICQke19EfS9jb25maWcuc3ViOyBc
CgkJJHtDSE1PRH0gYStyeCAkJHtfRH0vY29uZmlnLnN1YjsgXAoJZG9uZQouZW5kaWYKLmlmIGRl
ZmluZWQoSEFTX0NPTkZJR1VSRSkKCUAoY2QgJHtDT05GSUdVUkVfV1JLU1JDfSAmJiBcCgkgICAg
JHtTRVRfTEFURV9DT05GSUdVUkVfQVJHU30gXAoJCWlmICEgJHtTRVRFTlZ9IENDPSIke0NDfSIg
Q1BQPSIke0NQUH0iIENYWD0iJHtDWFh9IiBcCgkgICAgQ0ZMQUdTPSIke0NGTEFHU30iIENQUEZM
QUdTPSIke0NQUEZMQUdTfSIgQ1hYRkxBR1M9IiR7Q1hYRkxBR1N9IiBcCgkgICAgTERGTEFHUz0i
JHtMREZMQUdTfSIgTElCUz0iJHtMSUJTfSIgXAoJICAgIElOU1RBTEw9Ii91c3IvYmluL2luc3Rh
bGwgLWMiIFwKCSAgICBJTlNUQUxMX0RBVEE9IiR7SU5TVEFMTF9EQVRBfSIgXAoJICAgIElOU1RB
TExfTElCPSIke0lOU1RBTExfTElCfSIgXAoJICAgIElOU1RBTExfUFJPR1JBTT0iJHtJTlNUQUxM
X1BST0dSQU19IiBcCgkgICAgSU5TVEFMTF9TQ1JJUFQ9IiR7SU5TVEFMTF9TQ1JJUFR9IiBcCgkg
ICAgJHtDT05GSUdVUkVfRU5WfSAke0NPTkZJR1VSRV9DTUR9ICR7Q09ORklHVVJFX0FSR1N9OyB0
aGVuIFwKCQkJICR7RUNIT19NU0d9ICI9PT0+ICBTY3JpcHQgXCIke0NPTkZJR1VSRV9TQ1JJUFR9
XCIgZmFpbGVkIHVuZXhwZWN0ZWRseS4iOyBcCgkJCSAoJHtFQ0hPX0NNRH0gJHtDT05GSUdVUkVf
RkFJTF9NRVNTQUdFfSkgfCAke0ZNVH0gNzUgNzkgOyBcCgkJCSAke0ZBTFNFfTsgXAoJCWZpKQou
ZW5kaWYKLmVuZGlmCgojIEJ1aWxkCiMgWFhYOiAke01BS0VfQVJHUzpOJHtERVNURElSTkFNRX09
Kn0gd291bGQgYmUgZWFzaWVyIGJ1dCBpdCBpcyBub3QgdmFsaWQgd2l0aCB0aGUgb2xkIGZtYWtl
CkRPX01BS0VfQlVJTEQ/PQkke1NFVEVOVn0gJHtNQUtFX0VOVn0gJHtNQUtFX0NNRH0gJHtNQUtF
X0ZMQUdTfSAke01BS0VGSUxFfSAke19NQUtFX0pPQlN9ICR7TUFLRV9BUkdTOkMsXiR7REVTVERJ
Uk5BTUV9PS4qLCxnfQouaWYgIXRhcmdldChkby1idWlsZCkKZG8tYnVpbGQ6CglAKGNkICR7QlVJ
TERfV1JLU1JDfTsgaWYgISAke0RPX01BS0VfQlVJTER9ICR7QUxMX1RBUkdFVH07IHRoZW4gXAoJ
CWlmIFsgLW4gIiR7QlVJTERfRkFJTF9NRVNTQUdFfSIgXSA7IHRoZW4gXAoJCQkke0VDSE9fTVNH
fSAiPT09PiBDb21waWxhdGlvbiBmYWlsZWQgdW5leHBlY3RlZGx5LiI7IFwKCQkJKCR7RUNIT19D
TUR9ICIke0JVSUxEX0ZBSUxfTUVTU0FHRX0iKSB8ICR7Rk1UfSA3NSA3OSA7IFwKCQkJZmk7IFwK
CQkke0ZBTFNFfTsgXAoJCWZpKQouZW5kaWYKCiMgQ2hlY2sgY29uZmxpY3RzCgouaWYgIXRhcmdl
dChjaGVjay1jb25mbGljdHMpCmNoZWNrLWNvbmZsaWN0czogY2hlY2stYnVpbGQtY29uZmxpY3Rz
IGNoZWNrLWluc3RhbGwtY29uZmxpY3RzCi5lbmRpZgoKLmlmICF0YXJnZXQoY2hlY2stYnVpbGQt
Y29uZmxpY3RzKQpjaGVjay1idWlsZC1jb25mbGljdHM6Ci5pZiAoIGRlZmluZWQoQ09ORkxJQ1RT
KSB8fCBkZWZpbmVkKENPTkZMSUNUU19CVUlMRCkgKSAmJiAhZGVmaW5lZChESVNBQkxFX0NPTkZM
SUNUUykgJiYgIWRlZmluZWQoREVGRVJfQ09ORkxJQ1RTX0NIRUNLKQoJQGNvbmZsaWN0c193aXRo
PSQkKCBcCgl7ICR7UEtHX1FVRVJZfSAtZyAiJW4tJXYgJXAgJW8iICR7Q09ORkxJQ1RTOkMvLisv
JyYnL30gJHtDT05GTElDVFNfQlVJTEQ6Qy8uKy8nJicvfSAyPi9kZXYvbnVsbCB8fCA6IDsgfSBc
CgkJfCB3aGlsZSByZWFkIHBrZ25hbWUgcHJmeCBvcmduOyBkbyBcCgkJaWYgWyAiLyR7UFJFRklY
fSIgPSAiLyQke3ByZnh9IiAtYSAiLyR7UEtHT1JJR0lOfSIgIT0gIi8kJHtvcmdufSIgXTsgdGhl
biBcCgkJCSR7RUNIT19DTUR9IC1uICIgJCR7cGtnbmFtZX0iOyBcCgkJZmk7IFwKCWRvbmUpOyBc
CglpZiBbIC1uICIkJHtjb25mbGljdHNfd2l0aH0iIF07IHRoZW4gXAoJCSR7RUNIT19NU0d9OyBc
CgkJJHtFQ0hPX01TR30gIj09PT4gICR7UEtHTkFNRX0gY29uZmxpY3RzIHdpdGggaW5zdGFsbGVk
IHBhY2thZ2Uocyk6ICI7IFwKCQlmb3IgZW50cnkgaW4gJCR7Y29uZmxpY3RzX3dpdGh9OyBkbyBc
CgkJCSR7RUNIT19NU0d9ICIgICAgICAkJHtlbnRyeX0iOyBcCgkJZG9uZTsgXAoJCSR7RUNIT19N
U0d9OyBcCgkJJHtFQ0hPX01TR30gIiAgICAgIFRoZXkgd2lsbCBub3QgYnVpbGQgdG9nZXRoZXIu
IjsgXAoJCSR7RUNIT19NU0d9ICIgICAgICBQbGVhc2UgcmVtb3ZlIHRoZW0gZmlyc3Qgd2l0aCBw
a2cgZGVsZXRlLiI7IFwKCQlleGl0IDE7XAoJZmkKLmVuZGlmCi5lbmRpZgoKLmlmICF0YXJnZXQo
aWRlbnRpZnktaW5zdGFsbC1jb25mbGljdHMpCmlkZW50aWZ5LWluc3RhbGwtY29uZmxpY3RzOgou
aWYgKCBkZWZpbmVkKENPTkZMSUNUUykgfHwgZGVmaW5lZChDT05GTElDVFNfSU5TVEFMTCkgKSAm
JiAhZGVmaW5lZChESVNBQkxFX0NPTkZMSUNUUykKCUBjb25mbGljdHNfd2l0aD0kJCggXAoJeyAk
e1BLR19RVUVSWX0gLWcgIiVuLSV2ICVwICVvIiAke0NPTkZMSUNUUzpDLy4rLycmJy99ICR7Q09O
RkxJQ1RTX0lOU1RBTEw6Qy8uKy8nJicvfSAyPi9kZXYvbnVsbCB8fCA6IDsgfSBcCgkJfCB3aGls
ZSByZWFkIHBrZ25hbWUgcHJmeCBvcmduOyBkbyBcCgkJaWYgWyAiLyR7UFJFRklYfSIgPSAiLyQk
e3ByZnh9IiAtYSAiLyR7UEtHT1JJR0lOfSIgIT0gIi8kJHtvcmdufSIgXTsgdGhlbiBcCgkJCSR7
RUNIT19DTUR9IC1uICIgJCR7cGtnbmFtZX0iOyBcCgkJZmk7IFwKCWRvbmUpOyBcCglpZiBbIC1u
ICIkJHtjb25mbGljdHNfd2l0aH0iIF07IHRoZW4gXAoJCSR7RUNIT19NU0d9OyBcCgkJJHtFQ0hP
X01TR30gIj09PT4gICR7UEtHTkFNRX0gY29uZmxpY3RzIHdpdGggaW5zdGFsbGVkIHBhY2thZ2Uo
cyk6ICI7IFwKCQlmb3IgZW50cnkgaW4gJCR7Y29uZmxpY3RzX3dpdGh9OyBkbyBcCgkJCSR7RUNI
T19NU0d9ICIgICAgICAkJHtlbnRyeX0iOyBcCgkJZG9uZTsgXAoJCSR7RUNIT19NU0d9OyBcCgkJ
JHtFQ0hPX01TR30gIiAgICAgIFRoZXkgaW5zdGFsbCBmaWxlcyBpbnRvIHRoZSBzYW1lIHBsYWNl
LiI7IFwKCQkke0VDSE9fTVNHfSAiICAgICAgWW91IG1heSB3YW50IHRvIHN0b3AgYnVpbGQgd2l0
aCBDdHJsICsgQy4iOyBcCgkJc2xlZXAgMTA7IFwKCWZpCi5lbmRpZgouZW5kaWYKCi5pZiAhdGFy
Z2V0KGNoZWNrLWluc3RhbGwtY29uZmxpY3RzKQpjaGVjay1pbnN0YWxsLWNvbmZsaWN0czoKLmlm
ICggZGVmaW5lZChDT05GTElDVFMpIHx8IGRlZmluZWQoQ09ORkxJQ1RTX0lOU1RBTEwpIHx8ICgg
ZGVmaW5lZChDT05GTElDVFNfQlVJTEQpICYmIGRlZmluZWQoREVGRVJfQ09ORkxJQ1RTX0NIRUNL
KSApICkgJiYgIWRlZmluZWQoRElTQUJMRV9DT05GTElDVFMpIAouaWYgZGVmaW5lZChERUZFUl9D
T05GTElDVFNfQ0hFQ0spCglAY29uZmxpY3RzX3dpdGg9JCQoIFwKCXsgJHtQS0dfUVVFUll9IC1n
ICIlbi0ldiAlcCAlbyIgJHtDT05GTElDVFM6Qy8uKy8nJicvfSAke0NPTkZMSUNUU19CVUlMRDpD
Ly4rLycmJy99ICR7Q09ORkxJQ1RTX0lOU1RBTEw6Qy8uKy8nJicvfSAyPi9kZXYvbnVsbCB8fCA6
IDsgfSBcCgkgICAgICAgCXwgd2hpbGUgcmVhZCBwa2duYW1lIHByZnggb3JnbjsgZG8gXAoJCWlm
IFsgIi8ke1BSRUZJWH0iID0gIi8kJHtwcmZ4fSIgLWEgIi8ke1BLR09SSUdJTn0iICE9ICIvJCR7
b3Jnbn0iIF07IHRoZW4gXAoJCQkke0VDSE9fQ01EfSAtbiAiICQke3BrZ25hbWV9IjsgXAoJCWZp
OyBcCglkb25lKTsgXAoJaWYgWyAtbiAiJCR7Y29uZmxpY3RzX3dpdGh9IiBdOyB0aGVuIFwKCQkk
e0VDSE9fTVNHfTsgXAoJCSR7RUNIT19NU0d9ICI9PT0+ICAke1BLR05BTUV9IGNvbmZsaWN0cyB3
aXRoIGluc3RhbGxlZCBwYWNrYWdlKHMpOiAiOyBcCgkJZm9yIGVudHJ5IGluICQke2NvbmZsaWN0
c193aXRofTsgZG8gXAoJCQkke0VDSE9fTVNHfSAiICAgICAgJCR7ZW50cnl9IjsgXAoJCWRvbmU7
IFwKCQkke0VDSE9fTVNHfTsgXAoJCSR7RUNIT19NU0d9ICIgICAgICBQbGVhc2UgcmVtb3ZlIHRo
ZW0gZmlyc3Qgd2l0aCBwa2cgZGVsZXRlLiI7IFwKCQlleGl0IDE7IFwKCWZpCi5lbHNlCglAY29u
ZmxpY3RzX3dpdGg9JCQoIFwKCXsgJHtQS0dfUVVFUll9IC1nICIlbi0ldiAlcCAlbyIgJHtDT05G
TElDVFM6Qy8uKy8nJicvfSAke0NPTkZMSUNUU19JTlNUQUxMOkMvLisvJyYnL30gMj4vZGV2L251
bGwgfHwgOiA7IH0gXAoJICAgICAgIAl8IHdoaWxlIHJlYWQgcGtnbmFtZSBwcmZ4IG9yZ247IGRv
IFwKCQlpZiBbICIvJHtQUkVGSVh9IiA9ICIvJCR7cHJmeH0iIC1hICIvJHtQS0dPUklHSU59IiAh
PSAiLyQke29yZ259IiBdOyB0aGVuIFwKCQkJJHtFQ0hPX0NNRH0gLW4gIiAkJHtwa2duYW1lfSI7
IFwKCQlmaTsgXAoJZG9uZSk7IFwKCWlmIFsgLW4gIiQke2NvbmZsaWN0c193aXRofSIgXTsgdGhl
biBcCgkJJHtFQ0hPX01TR307IFwKCQkke0VDSE9fTVNHfSAiPT09PiAgJHtQS0dOQU1FfSBjb25m
bGljdHMgd2l0aCBpbnN0YWxsZWQgcGFja2FnZShzKTogIjsgXAoJCWZvciBlbnRyeSBpbiAkJHtj
b25mbGljdHNfd2l0aH07IGRvIFwKCQkJJHtFQ0hPX01TR30gIiAgICAgICQke2VudHJ5fSI7IFwK
CQlkb25lOyBcCgkJJHtFQ0hPX01TR307IFwKCQkke0VDSE9fTVNHfSAiICAgICAgVGhleSBpbnN0
YWxsIGZpbGVzIGludG8gdGhlIHNhbWUgcGxhY2UuIjsgXAoJCSR7RUNIT19NU0d9ICIgICAgICBQ
bGVhc2UgcmVtb3ZlIHRoZW0gZmlyc3Qgd2l0aCBwa2cgZGVsZXRlLiI7IFwKCQlleGl0IDE7IFwK
CWZpCi5lbmRpZiAjIGRlZmluZWQoREVGRVJfQ09ORkxJQ1RTX0NIRUNLKQouZW5kaWYKLmVuZGlm
CgojIEluc3RhbGwKCi5pZiAhdGFyZ2V0KGRvLWluc3RhbGwpICYmICFkZWZpbmVkKE5PX0lOU1RB
TEwpCmRvLWluc3RhbGw6CglAKGNkICR7SU5TVEFMTF9XUktTUkN9ICYmICR7U0VURU5WfSAke01B
S0VfRU5WfSAke0ZBS0VST09UfSAke01BS0VfQ01EfSAke01BS0VfRkxBR1N9ICR7TUFLRUZJTEV9
ICR7TUFLRV9BUkdTfSAke0lOU1RBTExfVEFSR0VUfSkKLmVuZGlmCgojIFBhY2thZ2UKCi5pZiAh
dGFyZ2V0KGRvLXBhY2thZ2UpClBLR19DUkVBVEVfQVJHUz0JLXIgJHtTVEFHRURJUn0gLW0gJHtN
RVRBRElSfSAtcCAke1RNUFBMSVNUfQpkby1wYWNrYWdlOiBjcmVhdGUtbWFuaWZlc3QKZG8tcGFj
a2FnZTogJHtUTVBQTElTVH0KCUBpZiBbIC1kICR7UEFDS0FHRVN9IF07IHRoZW4gXAoJCWlmIFsg
ISAtZCAke1BLR1JFUE9TSVRPUll9IF07IHRoZW4gXAoJCQlpZiAhICR7TUtESVJ9ICR7UEtHUkVQ
T1NJVE9SWX07IHRoZW4gXAoJCQkJJHtFQ0hPX01TR30gIj0+IENhbid0IGNyZWF0ZSBkaXJlY3Rv
cnkgJHtQS0dSRVBPU0lUT1JZfS4iOyBcCgkJCQlleGl0IDE7IFwKCQkJZmk7IFwKCQlmaTsgXAoJ
ZmkKCUBmb3IgY2F0IGluICR7Q0FURUdPUklFU307IGRvIFwKCQkke1JNfSAtZiAke1BBQ0tBR0VT
fS8kJGNhdC8ke1BLR05BTUVQUkVGSVh9JHtQT1JUTkFNRX0qJHtQS0dfU1VGWH0gOyBcCglkb25l
CglAJHtNS0RJUn0gJHtXUktESVJ9L3BrZwoJQGlmICR7U0VURU5WfSAke1BLR19FTlZ9IEZPUkNF
X1BPU1Q9IiR7X0ZPUkNFX1BPU1RfUEFUVEVSTlN9IiAke1BLR19DUkVBVEV9ICR7UEtHX0NSRUFU
RV9BUkdTfSAtZiAke1BLR19TVUZYOlMvLi8vfSAtbyAke1dSS0RJUn0vcGtnICR7UEtHTkFNRX07
IHRoZW4gXAoJCWlmIFsgLWQgJHtQS0dSRVBPU0lUT1JZfSAtYSAtdyAke1BLR1JFUE9TSVRPUll9
IF07IHRoZW4gXAoJCQkke0xOfSAtZiAke1dSS0RJUl9QS0dGSUxFfSAke1BLR0ZJTEV9IDI+L2Rl
di9udWxsIFwKCQkJCXx8ICR7Q1B9IC1mICR7V1JLRElSX1BLR0ZJTEV9ICR7UEtHRklMRX07IFwK
CQkJaWYgWyAiJHtQS0dPUklHSU59IiA9ICJwb3J0cy1tZ210L3BrZyIgLW8gIiR7UEtHT1JJR0lO
fSIgPSAicG9ydHMtbWdtdC9wa2ctZGV2ZWwiIF07IHRoZW4gXAoJCQkJaWYgWyAhIC1kICR7UEtH
TEFURVNUUkVQT1NJVE9SWX0gXTsgdGhlbiBcCgkJCQkJaWYgISAke01LRElSfSAke1BLR0xBVEVT
VFJFUE9TSVRPUll9OyB0aGVuIFwKCQkJCQkJJHtFQ0hPX01TR30gIj0+IENhbid0IGNyZWF0ZSBk
aXJlY3RvcnkgJHtQS0dMQVRFU1RSRVBPU0lUT1JZfS4iOyBcCgkJCQkJCWV4aXQgMTsgXAoJCQkJ
CWZpOyBcCgkJCQlmaSA7IFwKCQkJCSR7TE59IC1zZiAuLi8ke1BLR1JFUE9TSVRPUllTVUJESVJ9
LyR7UEtHTkFNRX0ke1BLR19TVUZYfSAke1BLR0xBVEVTVEZJTEV9IDsgXAoJCQlmaTsgXAoJCWZp
OyBcCgllbHNlIFwKCQljZCAkey5DVVJESVJ9ICYmIGV2YWwgJHtNQUtFfSBkZWxldGUtcGFja2Fn
ZSA+L2Rldi9udWxsOyBcCgkJZXhpdCAxOyBcCglmaQouZW5kaWYKIyBTb21lIHN1cHBvcnQgcnVs
ZXMgZm9yIGRvLXBhY2thZ2UKCi5pZiAhdGFyZ2V0KGRlbGV0ZS1wYWNrYWdlKQpkZWxldGUtcGFj
a2FnZToKCUAke0VDSE9fTVNHfSAiPT09PiAgRGVsZXRpbmcgcGFja2FnZSBmb3IgJHtQS0dOQU1F
fSIKIyBXaGVuIHN0YWdpbmcsIHRoZSBwYWNrYWdlIG1heSBvbmx5IGJlIGluIHRoZSB3b3JrZGly
IGlmIG5vdCByb290CglAJHtSTX0gLWYgJHtQS0dGSUxFfSAke1dSS0RJUl9QS0dGSUxFfSAyPi9k
ZXYvbnVsbCB8fCA6Ci5lbmRpZgoKLmlmICF0YXJnZXQoZGVsZXRlLXBhY2thZ2UtbGlzdCkKZGVs
ZXRlLXBhY2thZ2UtbGlzdDoKCUAke0VDSE9fQ01EfSAiWyAtZiAke1BLR0ZJTEV9IF0gJiYgKCR7
RUNIT19DTUR9IGRlbGV0aW5nICR7UEtHRklMRX07ICR7Uk19IC1mICR7UEtHRklMRX0pIgouZW5k
aWYKCiMgVXNlZCBieSBzY3JpcHRzIGFuZCB1c2VycyB0byBpbnN0YWxsIGEgcGFja2FnZSBmcm9t
IGxvY2FsIHJlcG9zaXRvcnkuCiMgUG91ZHJpZXJlIC1pIHVzZXMgdGhpcywgcGxlYXNlIGtlZXAu
Ci5pZiAhdGFyZ2V0KGluc3RhbGwtcGFja2FnZSkKLmlmIGRlZmluZWQoRk9SQ0VfUEtHX1JFR0lT
VEVSKQpfSU5TVEFMTF9QS0dfQVJHUz0JLWYKLmVuZGlmCi5pZiBkZWZpbmVkKElOU1RBTExTX0RF
UEVORFMpCl9JTlNUQUxMX1BLR19BUkdTKz0JLUEKLmVuZGlmCmluc3RhbGwtcGFja2FnZToKCUBp
ZiBbIC1mICIke1dSS0RJUn0vcGtnLyR7UEtHTkFNRX0ke1BLR19TVUZYfSIgXTsgdGhlbiBcCgkg
ICAgX3BrZ2ZpbGU9IiR7V1JLRElSX1BLR0ZJTEV9IjsgXAoJZWxzZSBcCgkgICAgX3BrZ2ZpbGU9
IiR7UEtHRklMRX0iOyBcCglmaTsgXAoJJHtQS0dfQUREfSAke19JTlNUQUxMX1BLR19BUkdTfSAk
JHtfcGtnZmlsZX0KLmVuZGlmCgoKIyBVdGlsaXR5IHRhcmdldHMgZm9sbG93CgouaWYgIXRhcmdl
dChjaGVjay1hbHJlYWR5LWluc3RhbGxlZCkKLmlmICFkZWZpbmVkKE5PX1BLR19SRUdJU1RFUikg
JiYgIWRlZmluZWQoRk9SQ0VfUEtHX1JFR0lTVEVSKQpjaGVjay1hbHJlYWR5LWluc3RhbGxlZDoK
CQlAJHtFQ0hPX01TR30gIj09PT4gIENoZWNraW5nIGlmICR7UEtHQkFTRX0gYWxyZWFkeSBpbnN0
YWxsZWQiOyBcCgkJcGtnbmFtZT1gJHtQS0dfSU5GT30gLXEgLU8gJHtQS0dCQVNFfWA7IFwKCQlp
ZiBbIC1uICIkJHtwa2duYW1lfSIgXTsgdGhlbiBcCgkJCXY9YCR7UEtHX1ZFUlNJT059IC10ICQk
e3BrZ25hbWV9ICR7UEtHTkFNRX1gOyBcCgkJCWlmIFsgIiQke3Z9IiA9ICI8IiBdOyB0aGVuIFwK
CQkJCSR7RUNIT19DTUR9ICI9PT0+ICAgQW4gb2xkZXIgdmVyc2lvbiBvZiAke1BLR0JBU0V9IGlz
IGFscmVhZHkgaW5zdGFsbGVkICgkJHtwa2duYW1lfSkiOyBcCgkJCWVsc2UgXAoJCQkJJHtFQ0hP
X0NNRH0gIj09PT4gICAke1BLR05BTUV9IGlzIGFscmVhZHkgaW5zdGFsbGVkIjsgXAoJCQlmaTsg
XAoJCQkke0VDSE9fTVNHfSAiICAgICAgWW91IG1heSB3aXNoIHRvIFxgXGBtYWtlIGRlaW5zdGFs
bCcnIGFuZCBpbnN0YWxsIHRoaXMgcG9ydCBhZ2FpbiI7IFwKCQkJJHtFQ0hPX01TR30gIiAgICAg
IGJ5IFxgXGBtYWtlIHJlaW5zdGFsbCcnIHRvIHVwZ3JhZGUgaXQgcHJvcGVybHkuIjsgXAoJCQkk
e0VDSE9fTVNHfSAiICAgICAgSWYgeW91IHJlYWxseSB3aXNoIHRvIG92ZXJ3cml0ZSB0aGUgb2xk
IHBvcnQgb2YgJHtQS0dCQVNFfSI7IFwKCQkJJHtFQ0hPX01TR30gIiAgICAgIHdpdGhvdXQgZGVs
ZXRpbmcgaXQgZmlyc3QsIHNldCB0aGUgdmFyaWFibGUgXCJGT1JDRV9QS0dfUkVHSVNURVJcIiI7
IFwKCQkJJHtFQ0hPX01TR30gIiAgICAgIGluIHlvdXIgZW52aXJvbm1lbnQgb3IgdGhlIFwibWFr
ZSBpbnN0YWxsXCIgY29tbWFuZCBsaW5lLiI7IFwKCQkJZXhpdCAxOyBcCgkJZmkKLmVuZGlmCi5l
bmRpZgoKLmlmICF0YXJnZXQoY2hlY2stdW1hc2spCmNoZWNrLXVtYXNrOgoJQGlmIFsgYCR7U0h9
IC1jIHVtYXNrYCAhPSAwMDIyIF07IHRoZW4gXAoJCSR7RUNIT19NU0d9ICI9PT0+ICBXYXJuaW5n
OiB5b3VyIHVtYXNrIGlzIFwiYCR7U0h9IC1jIHVtYXNrYCJcIi47IFwKCQkke0VDSE9fTVNHfSAi
ICAgICAgSWYgdGhpcyBpcyBub3QgZGVzaXJlZCwgc2V0IGl0IHRvIGFuIGFwcHJvcHJpYXRlIHZh
bHVlIjsgXAoJCSR7RUNIT19NU0d9ICIgICAgICBhbmQgaW5zdGFsbCB0aGlzIHBvcnQgYWdhaW4g
YnkgXGBcYG1ha2UgcmVpbnN0YWxsJycuIjsgXAoJZmkKLmVuZGlmCgouaWYgIXRhcmdldChpbnN0
YWxsLW10cmVlKQppbnN0YWxsLW10cmVlOgoJQCR7RE9fTkFEQX0KLmVuZGlmCgouaWYgIXRhcmdl
dChpbnN0YWxsLWxkY29uZmlnLWZpbGUpCmluc3RhbGwtbGRjb25maWctZmlsZToKLmlmIGRlZmlu
ZWQoVVNFX0xEQ09ORklHKSB8fCBkZWZpbmVkKFVTRV9MRENPTkZJRzMyKQouaWYgZGVmaW5lZChV
U0VfTERDT05GSUcpCi5pZiBkZWZpbmVkKFVTRV9MSU5VWF9QUkVGSVgpCi5lbHNlCi5pZiAke1VT
RV9MRENPTkZJR30gIT0gIiR7TE9DQUxCQVNFfS9saWIiICYmICFkZWZpbmVkKElOU1RBTExfQVNf
VVNFUikKCUAke0VDSE9fTVNHfSAiPT09PiAgIEluc3RhbGxpbmcgbGRjb25maWcgY29uZmlndXJh
dGlvbiBmaWxlIgouaWYgZGVmaW5lZChOT19NVFJFRSkgfHwgJHtQUkVGSVh9ICE9ICR7TE9DQUxC
QVNFfQoJQCR7TUtESVJ9ICR7U1RBR0VESVJ9JHtMT0NBTEJBU0V9LyR7TERDT05GSUdfRElSfQou
ZW5kaWYKCUAke0VDSE9fQ01EfSAke1VTRV9MRENPTkZJR30gfCAke1RSfSAnICcgJ1xuJyBcCgkJ
PiAke1NUQUdFRElSfSR7TE9DQUxCQVNFfS8ke0xEQ09ORklHX0RJUn0vJHtVTklRVUVOQU1FfQoJ
QCR7RUNIT19DTUR9ICR7TE9DQUxCQVNFfS8ke0xEQ09ORklHX0RJUn0vJHtVTklRVUVOQU1FfSA+
PiAke1RNUFBMSVNUfQouZW5kaWYKLmVuZGlmCi5lbmRpZgouaWYgZGVmaW5lZChVU0VfTERDT05G
SUczMikKLmlmICFkZWZpbmVkKElOU1RBTExfQVNfVVNFUikKCUAke0VDSE9fTVNHfSAiPT09PiAg
IEluc3RhbGxpbmcgMzItYml0IGxkY29uZmlnIGNvbmZpZ3VyYXRpb24gZmlsZSIKLmlmIGRlZmlu
ZWQoTk9fTVRSRUUpIHx8ICR7UFJFRklYfSAhPSAke0xPQ0FMQkFTRX0KCUAke01LRElSfSAke1NU
QUdFRElSfSR7TE9DQUxCQVNFfS8ke0xEQ09ORklHMzJfRElSfQouZW5kaWYKCUAke0VDSE9fQ01E
fSAke1VTRV9MRENPTkZJRzMyfSB8ICR7VFJ9ICcgJyAnXG4nIFwKCQk+ICR7U1RBR0VESVJ9JHtM
T0NBTEJBU0V9LyR7TERDT05GSUczMl9ESVJ9LyR7VU5JUVVFTkFNRX0KCUAke0VDSE9fQ01EfSAk
e0xPQ0FMQkFTRX0vJHtMRENPTkZJRzMyX0RJUn0vJHtVTklRVUVOQU1FfSA+PiAke1RNUFBMSVNU
fQouZW5kaWYKLmVuZGlmCi5lbmRpZgouZW5kaWYKCi5pZiAhdGFyZ2V0KGNyZWF0ZS11c2Vycy1n
cm91cHMpCi5pZiBkZWZpbmVkKEdST1VQUykgfHwgZGVmaW5lZChVU0VSUykKX1VHX09VVFBVVD0J
JHtXUktESVJ9L3VzZXJzLWdyb3Vwcy5zaApQS0dQUkVJTlNUQUxMKz0JJHtfVUdfT1VUUFVUfQpj
cmVhdGUtdXNlcnMtZ3JvdXBzOgouaWYgZGVmaW5lZChHUk9VUFMpCi5mb3IgX2ZpbGUgaW4gJHtH
SURfRklMRVN9Ci5pZiAhZXhpc3RzKCR7X2ZpbGV9KQoJQCR7RUNIT19DTUR9ICIqKiAke19maWxl
fSBkb2Vzbid0IGV4aXN0LiBFeGl0aW5nLiI7IGV4aXQgMQouZW5kaWYKLmVuZGZvcgoJQCR7Uk19
IC1mICR7X1VHX09VVFBVVH0gfHwgJHtUUlVFfQoJQCR7RUNIT19NU0d9ICI9PT0+IENyZWF0aW5n
IHVzZXJzIGFuZC9vciBncm91cHMuIgoJQCR7RUNIT19DTUR9ICJlY2hvIFwiPT09PiBDcmVhdGlu
ZyB1c2VycyBhbmQvb3IgZ3JvdXBzLlwiIiA+PiAke19VR19PVVRQVVR9Ci5mb3IgX2dyb3VwIGlu
ICR7R1JPVVBTfQojIF9iZ3BkOio6MTMwOgoJQGlmICEgJHtHUkVQfSAtaCBeJHtfZ3JvdXB9OiAk
e0dJRF9GSUxFU30gPi9kZXYvbnVsbCAyPiYxOyB0aGVuIFwKCQkke0VDSE9fQ01EfSAiKiogQ2Fu
bm90IGZpbmQgYW55IGluZm9ybWF0aW9uIGFib3V0IGdyb3VwIFxgJHtfZ3JvdXB9JyBpbiAke0dJ
RF9GSUxFU30uIjsgXAoJCWV4aXQgMTsgXAoJZmkKCUBJRlM9IjoiOyAke0dSRVB9IC1oIF4ke19n
cm91cH06ICR7R0lEX0ZJTEVTfSB8IGhlYWQgLW4gMSB8IHdoaWxlIHJlYWQgZ3JvdXAgZm9vIGdp
ZCBtZW1iZXJzOyBkbyBcCgkJZ2lkPSQkKCgkJGdpZCske0dJRF9PRkZTRVR9KSk7IFwKCQkke0VD
SE9fQ01EfSAtZSAiaWYgISAke1BXfSBncm91cHNob3cgJCRncm91cCA+L2Rldi9udWxsIDI+JjE7
IHRoZW4gXG4gXAoJCQllY2hvIFwiQ3JlYXRpbmcgZ3JvdXAgJyQkZ3JvdXAnIHdpdGggZ2lkICck
JGdpZCcuXCIgXG4gXAoJCQkke1BXfSBncm91cGFkZCAkJGdyb3VwIC1nICQkZ2lkOyBlbHNlIGVj
aG8gXCJVc2luZyBleGlzdGluZyBncm91cCAnJCRncm91cCcuXCJcbmZpIiA+PiAke19VR19PVVRQ
VVR9OyBcCglkb25lCi5lbmRmb3IKLmVuZGlmCi5pZiBkZWZpbmVkKFVTRVJTKQouZm9yIF9maWxl
IGluICR7VUlEX0ZJTEVTfQouaWYgIWV4aXN0cygke19maWxlfSkKCUAke0VDSE9fQ01EfSAiKiog
JHtfZmlsZX0gZG9lc24ndCBleGlzdC4gRXhpdGluZy4iOyBleGl0IDEKLmVuZGlmCi5lbmRmb3IK
LmZvciBfdXNlciBpbiAke1VTRVJTfQojIF9iZ3BkOio6MTMwOjEzMDpCR1AgRGFlbW9uOi92YXIv
ZW1wdHk6L3NiaW4vbm9sb2dpbgoJQGlmICEgJHtHUkVQfSAtaCBeJHtfdXNlcn06ICR7VUlEX0ZJ
TEVTfSA+L2Rldi9udWxsIDI+JjE7IHRoZW4gXAoJCSR7RUNIT19DTUR9ICIqKiBDYW5ub3QgZmlu
ZCBhbnkgaW5mb3JtYXRpb24gYWJvdXQgdXNlciBcYCR7X3VzZXJ9JyBpbiAke1VJRF9GSUxFU30u
IjsgXAoJCWV4aXQgMTsgXAoJZmkKCUBJRlM9IjoiOyAke0dSRVB9IC1oIF4ke191c2VyfTogJHtV
SURfRklMRVN9IHwgaGVhZCAtbiAxIHwgd2hpbGUgcmVhZCBsb2dpbiBwYXNzd2QgdWlkIGdpZCBj
bGFzcyBjaGFuZ2UgZXhwaXJlIGdlY29zIGhvbWVkaXIgc2hlbGw7IGRvIFwKCQl1aWQ9JCQoKCQk
dWlkKyR7VUlEX09GRlNFVH0pKTsgXAoJCWdpZD0kJCgoJCRnaWQrJHtHSURfT0ZGU0VUfSkpOyBc
CgkJY2xhc3M9IiQke2NsYXNzOistTCB9JCRjbGFzcyI7IFwKCQlob21lZGlyPSQkKGVjaG8gJCRo
b21lZGlyIHwgc2VkICJzfF4vdXNyL2xvY2FsfCR7UFJFRklYfXwiKTsgXAoJCSR7RUNIT19DTUR9
IC1lICJpZiAhICR7UFd9IHVzZXJzaG93ICQkbG9naW4gPi9kZXYvbnVsbCAyPiYxOyB0aGVuIFxu
IFwKCQkJZWNobyBcIkNyZWF0aW5nIHVzZXIgJyQkbG9naW4nIHdpdGggdWlkICckJHVpZCcuXCIg
XG4gXAoJCQkke1BXfSB1c2VyYWRkICQkbG9naW4gLXUgJCR1aWQgLWcgJCRnaWQgJCRjbGFzcyAt
YyBcIiQkZ2Vjb3NcIiAtZCAkJGhvbWVkaXIgLXMgJCRzaGVsbCBcbiBcCgkJCWVsc2UgXG5lY2hv
IFwiVXNpbmcgZXhpc3RpbmcgdXNlciAnJCRsb2dpbicuXCIgXG5maSIgPj4gJHtfVUdfT1VUUFVU
fTsgXAoJCWNhc2UgJCRob21lZGlyIGluIC98L25vbmV4aXN0ZW50fC92YXIvZW1wdHkpIDs7ICop
ICR7RUNIT19DTUR9ICIke0lOU1RBTEx9IC1kIC1nICQkZ2lkIC1vICQkdWlkICQkaG9tZWRpciIg
Pj4gJHtfVUdfT1VUUFVUfTs7IGVzYWM7IFwKCWRvbmUKLmVuZGZvcgouaWYgZGVmaW5lZChHUk9V
UFMpCi5mb3IgX2dyb3VwIGluICR7R1JPVVBTfQojIG1haWw6Kjo2OnBvc3RmaXgsY2xhbWF2CglA
SUZTPSI6IjsgJHtHUkVQfSAtaCBeJHtfZ3JvdXB9OiAke0dJRF9GSUxFU30gfCBoZWFkIC1uIDEg
fCB3aGlsZSByZWFkIGdyb3VwIGZvbyBnaWQgbWVtYmVyczsgZG8gXAoJCWdpZD0kJCgoJCRnaWQr
JHtHSURfT0ZGU0VUfSkpOyBcCgkJSUZTPSIsIjsgZm9yIF9sb2dpbiBpbiAkJG1lbWJlcnM7IGRv
IFwKCQkJZm9yIF91c2VyIGluICR7VVNFUlN9OyBkbyBcCgkJCQlpZiBbICJ4JCR7X3VzZXJ9IiA9
ICJ4JCR7X2xvZ2lufSIgXTsgdGhlbiBcCgkJCQkJJHtFQ0hPX0NNRH0gLWUgImlmICEgJHtQV30g
Z3JvdXBzaG93ICR7X2dyb3VwfSB8ICR7R1JFUH0gLXF3ICQke19sb2dpbn07IHRoZW4gXG4gXAoJ
CQkJCQllY2hvIFwiQWRkaW5nIHVzZXIgJyQke19sb2dpbn0nIHRvIGdyb3VwICcke19ncm91cH0n
LlwiIFxuIFwKCQkJCQkJJHtQV30gZ3JvdXBtb2QgJHtfZ3JvdXB9IC1tICQke19sb2dpbn0gXG5m
aSIgPj4gJHtfVUdfT1VUUFVUfTsgXAoJCQkJZmk7IFwKCQkJZG9uZTsgXAoJCWRvbmU7IFwKCWRv
bmUKLmVuZGZvcgouZW5kaWYKLmlmIGRlZmluZWQoVVNFUlMpCi5mb3IgX3VzZXIgaW4gJHtVU0VS
U30KCUBpZiBbICEgJHtVU0VSU19CTEFDS0xJU1Q6TSR7X3VzZXJ9fSBdOyB0aGVuIFwKCQkke0VD
SE9fQ01EfSAiQHVuZXhlYyBpZiAke1BXfSB1c2Vyc2hvdyAke191c2VyfSA+L2Rldi9udWxsIDI+
JjE7IHRoZW4gXAoJCWVjaG8gXCI9PT4gWW91IHNob3VsZCBtYW51YWxseSByZW1vdmUgdGhlIFxc
XCIke191c2VyfVxcXCIgdXNlci4gXCI7IGZpIiA+PiAke1RNUFBMSVNUfTsgXAoJZmkKLmVuZGZv
cgouZW5kaWYKLmVuZGlmCi5lbmRpZgouZW5kaWYKCi5pZiAhZGVmaW5lZChESVNBQkxFX1NFQ1VS
SVRZX0NIRUNLKQouaWYgIXRhcmdldChzZWN1cml0eS1jaGVjaykKc2VjdXJpdHktY2hlY2s6ICR7
VE1QUExJU1R9CiMgU2NhbiBQTElTVCBmb3I6CiMgICAxLiAgc2V0dWdpZCBmaWxlcwojICAgMi4g
IGFjY2VwdCgpL3JlY3Zmcm9tKCkgd2hpY2ggaW5kaWNhdGVzIG5ldHdvcmsgbGlzdGVuaW5nIGNh
cGFiaWxpdHkKIyAgIDMuICBpbnNlY3VyZSBmdW5jdGlvbnMgKGdldHMvbWt0ZW1wL3RlbXBuYW0v
W1hYWF0pCiMgICA0LiAgc3RhcnR1cCBzY3JpcHRzLCBpbiBjb25qdW5jdGlvbiB3aXRoIDIuCiMg
ICA1LiAgd29ybGQtd3JpdGFibGUgZmlsZXMvZGlycwojCgktQCR7Uk19IC1mICR7V1JLRElSfS8u
UExJU1Quc2V0dWlkICR7V1JLRElSfS8uUExJU1Qud3JpdGFibGUgJHtXUktESVJ9Ly5QTElTVC5v
YmpkdW1wOyBcCgkke0FXS30gLXYgcHJlZml4PScke1BSRUZJWH0nICcgXAoJCW1hdGNoKCQkMCwg
L15AY3dkIC8pIHsgcHJlZml4ID0gc3Vic3RyKCQkMCwgUlNUQVJUICsgUkxFTkdUSCk7IGlmIChw
cmVmaXggPT0gIi8iKSBwcmVmaXg9IiI7IG5leHQ7IH0gXAoJCS9eQC8geyBuZXh0OyB9IFwKCQkv
XlwvLyB7IHByaW50OyBuZXh0OyB9IFwKCQl7IHByaW50IHByZWZpeCAiLyIgJCQwOyB9IFwKCScg
JHtUTVBQTElTVH0gPiAke1dSS0RJUn0vLlBMSVNULmZsYXR0ZW5lZDsgXAoJJHtUUn0gJ1xuJyAn
XDAnIDwgJHtXUktESVJ9Ly5QTElTVC5mbGF0dGVuZWQgXAoJfCAke1hBUkdTfSAtMCAtSiAlICR7
RklORH0gJSAtcHJ1bmUgISAtdHlwZSBsIC10eXBlIGYgXCggLXBlcm0gLTQwMDAgLW8gLXBlcm0g
LTIwMDAgXCkgXCggLXBlcm0gLTAwMTAgLW8gLXBlcm0gLTAwMDEgXCkgMj4gL2Rldi9udWxsID4g
JHtXUktESVJ9Ly5QTElTVC5zZXR1aWQ7IFwKCSR7VFJ9ICdcbicgJ1wwJyA8ICR7V1JLRElSfS8u
UExJU1QuZmxhdHRlbmVkIFwKCXwgJHtYQVJHU30gLTAgLUogJSAke0ZJTkR9ICUgLXBydW5lIC1w
ZXJtIC0wMDAyIFwhIC10eXBlIGwgMj4gL2Rldi9udWxsID4gJHtXUktESVJ9Ly5QTElTVC53cml0
YWJsZTsgXAoJJHtUUn0gJ1xuJyAnXDAnIDwgJHtXUktESVJ9Ly5QTElTVC5mbGF0dGVuZWQgXAoJ
fCAke1hBUkdTfSAtMCAtSiAlICR7RklORH0gJSAtcHJ1bmUgISAtdHlwZSBsIC10eXBlIGYgLXBy
aW50MCAyPiAvZGV2L251bGwgXAoJfCAke1hBUkdTfSAtMCAtbiAxICR7T0JKRFVNUH0gLVIgMj4g
L2Rldi9udWxsID4gJHtXUktESVJ9Ly5QTElTVC5vYmpkdW1wOyBcCglpZiBcCgkJISAke0FXS30g
LXYgYXVkaXQ9IiQke1BPUlRTX0FVRElUfSIgLWYgJHtTQ1JJUFRTRElSfS9zZWN1cml0eS1jaGVj
ay5hd2sgXAoJCSAgJHtXUktESVJ9Ly5QTElTVC5mbGF0dGVuZWQgJHtXUktESVJ9Ly5QTElTVC5v
YmpkdW1wICR7V1JLRElSfS8uUExJU1Quc2V0dWlkICR7V1JLRElSfS8uUExJU1Qud3JpdGFibGU7
IFwKCXRoZW4gXAoJCXd3d19zaXRlPSQkKGNkICR7LkNVUkRJUn0gJiYgJHtNQUtFfSB3d3ctc2l0
ZSk7IFwKCSAgICBpZiBbICEgLXogIiQke3d3d19zaXRlfSIgXTsgdGhlbiBcCgkJCSR7RUNIT19N
U0d9OyBcCgkJCSR7RUNIT19NU0d9ICIgICAgICBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgYW5kIGNv
bnRhY3QgZGV0YWlscyBhYm91dCB0aGUgc2VjdXJpdHkiOyBcCgkJCSR7RUNIT19NU0d9ICIgICAg
ICBzdGF0dXMgb2YgdGhpcyBzb2Z0d2FyZSwgc2VlIHRoZSBmb2xsb3dpbmcgd2VicGFnZTogIjsg
XAoJCQkke0VDSE9fTVNHfSAiJCR7d3d3X3NpdGV9IjsgXAoJCWZpOyBcCglmaQouZW5kaWYKLmVs
c2UgIyBpLmUuIGRlZmluZWQoRElTQUJMRV9TRUNVUklUWV9DSEVDSykKc2VjdXJpdHktY2hlY2s6
CglAJHtFQ0hPX01TR30gIiAgICAgIFdBUk5JTkc6IFNlY3VyaXR5IGNoZWNrIGhhcyBiZWVuIGRp
c2FibGVkLiIKLmVuZGlmICMgIWRlZmluZWQoRElTQUJMRV9TRUNVUklUWV9DSEVDSykKCiMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMKIyBTa2VsZXRvbiB0YXJnZXRzIHN0YXJ0IGhlcmUKIwojIFlvdSBzaG91bGRuJ3QgaGF2ZSB0
byBjaGFuZ2UgdGhlc2UuICBFaXRoZXIgYWRkIHRoZSBwcmUtKiBvcgojIHBvc3QtKiB0YXJnZXRz
L3NjcmlwdHMgb3IgcmVkZWZpbmUgdGhlIGRvLSogdGFyZ2V0cy4gIFRoZXNlCiMgdGFyZ2V0cyBk
b24ndCBkbyBhbnl0aGluZyBvdGhlciB0aGFuIGNoZWNraW5nIGZvciBjb29raWVzIGFuZAojIGNh
bGwgdGhlIG5lY2Vzc2FyeSB0YXJnZXRzL3NjcmlwdHMuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCmV4dHJhY3QtbWVzc2Fn
ZToKCUAke0VDSE9fTVNHfSAiPT09PiAgRXh0cmFjdGluZyBmb3IgJHtQS0dOQU1FfSIKcGF0Y2gt
bWVzc2FnZToKCUAke0VDSE9fTVNHfSAiPT09PiAgUGF0Y2hpbmcgZm9yICR7UEtHTkFNRX0iCmNv
bmZpZ3VyZS1tZXNzYWdlOgoJQCR7RUNIT19NU0d9ICI9PT0+ICBDb25maWd1cmluZyBmb3IgJHtQ
S0dOQU1FfSIKYnVpbGQtbWVzc2FnZToKCUAke0VDSE9fTVNHfSAiPT09PiAgQnVpbGRpbmcgZm9y
ICR7UEtHTkFNRX0iCnN0YWdlLW1lc3NhZ2U6CglAJHtFQ0hPX01TR30gIj09PT4gIFN0YWdpbmcg
Zm9yICR7UEtHTkFNRX0iCmluc3RhbGwtbWVzc2FnZToKCUAke0VDSE9fTVNHfSAiPT09PiAgSW5z
dGFsbGluZyBmb3IgJHtQS0dOQU1FfSIKcGFja2FnZS1tZXNzYWdlOgoJQCR7RUNIT19NU0d9ICI9
PT0+ICBCdWlsZGluZyBwYWNrYWdlIGZvciAke1BLR05BTUV9IgoKIyBFbXB0eSBwcmUtKiBhbmQg
cG9zdC0qIHRhcmdldHMKCi5mb3Igc3RhZ2UgaW4gcHJlIHBvc3QKLmZvciBuYW1lIGluIHBrZyBj
aGVjay1zYW5pdHkgZmV0Y2ggZXh0cmFjdCBwYXRjaCBjb25maWd1cmUgYnVpbGQgc3RhZ2UgaW5z
dGFsbCBwYWNrYWdlCgouaWYgZXhpc3RzKCR7U0NSSVBURElSfS8ke3N0YWdlfS0ke25hbWV9KQou
aWYgIXRhcmdldCgke3N0YWdlfS0ke25hbWV9LXNjcmlwdCkKJHtzdGFnZX0tJHtuYW1lfS1zY3Jp
cHQ6CglAIGNkICR7LkNVUkRJUn0gJiYgJHtTRVRFTlZ9ICR7U0NSSVBUU19FTlZ9ICR7U0h9IFwK
CQkJJHtTQ1JJUFRESVJ9LyR7LlRBUkdFVDpTLy1zY3JpcHQkLy99Ci5lbmRpZgouZW5kaWYKCi5l
bmRmb3IKLmVuZGZvcgoKLmlmICF0YXJnZXQocHJldHR5LXByaW50LXd3dy1zaXRlKQpwcmV0dHkt
cHJpbnQtd3d3LXNpdGU6CglAd3d3X3NpdGU9JCQoY2QgJHsuQ1VSRElSfSAmJiAke01BS0V9IHd3
dy1zaXRlKTsgXAoJaWYgWyAtbiAiJCR7d3d3X3NpdGV9IiBdOyB0aGVuIFwKCQkke0VDSE9fTVNH
fSAtbiAiIGFuZC9vciB2aXNpdCB0aGUgIjsgXAoJCSR7RUNIT19NU0d9IC1uICI8YSBocmVmPVwi
JCR7d3d3X3NpdGV9XCI+d2ViIHNpdGU8L2E+IjsgXAoJCSR7RUNIT19NU0d9ICIgZm9yIGZ1cnRo
ZXIgaW5mb3JtYXRpb24iOyBcCglmaQouZW5kaWYKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBTb21lIG1vcmUgdGFyZ2V0
cyBzdXBwbGllZCBmb3IgdXNlcnMnIGNvbnZlbmllbmNlCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgQ2hlY2twYXRjaAoj
CiMgU3BlY2lhbCB0YXJnZXQgdG8gdmVyaWZ5IHBhdGNoZXMKCi5pZiAhdGFyZ2V0KGNoZWNrcGF0
Y2gpCmNoZWNrcGF0Y2g6CglAY2QgJHsuQ1VSRElSfSAmJiAke01BS0V9ICR7UEFUQ0hfU0lMRU5U
fSBQQVRDSF9DSEVDS19PTkxZPXllcyAke19QQVRDSF9ERVB9ICR7X1BBVENIX1JFQUxfU0VRfQou
ZW5kaWYKCiMgUmVpbnN0YWxsCiMKIyBTcGVjaWFsIHRhcmdldCB0byByZS1ydW4gaW5zdGFsbAoK
LmlmICF0YXJnZXQocmVpbnN0YWxsKQpyZWluc3RhbGw6CglAJHtSTX0gLWYgJHtJTlNUQUxMX0NP
T0tJRX0gJHtQQUNLQUdFX0NPT0tJRX0KCUBjZCAkey5DVVJESVJ9ICYmIERFUEVORFNfVEFSR0VU
PSIke0RFUEVORFNfVEFSR0VUfSIgJHtNQUtFfSAtREZPUkNFX1BLR19SRUdJU1RFUiBpbnN0YWxs
Ci5lbmRpZgoKLmlmICF0YXJnZXQocmVzdGFnZSkKcmVzdGFnZToKCUAke1JNfSAtcmYgJHtTVEFH
RURJUn0gJHtTVEFHRV9DT09LSUV9ICR7SU5TVEFMTF9DT09LSUV9ICR7UEFDS0FHRV9DT09LSUV9
CglAY2QgJHsuQ1VSRElSfSAmJiAke01BS0V9IHN0YWdlCi5lbmRpZgoKIyBEZWluc3RhbGwKIwoj
IFNwZWNpYWwgdGFyZ2V0IHRvIHJlbW92ZSBpbnN0YWxsYXRpb24KCi5pZiAhdGFyZ2V0KGRlaW5z
dGFsbCkKZGVpbnN0YWxsOgouaWYgZGVmaW5lZChVSUQpICYmICR7VUlEfSAhPSAwICYmICFkZWZp
bmVkKElOU1RBTExfQVNfVVNFUikKCUAke0VDSE9fTVNHfSAiPT09PiAgU3dpdGNoaW5nIHRvIHJv
b3QgY3JlZGVudGlhbHMgZm9yICckey5UQVJHRVR9JyB0YXJnZXQiCglAY2QgJHsuQ1VSRElSfSAm
JiBcCgkJJHtTVV9DTUR9ICIke01BS0V9ICR7LlRBUkdFVH0iCglAJHtFQ0hPX01TR30gIj09PT4g
IFJldHVybmluZyB0byB1c2VyIGNyZWRlbnRpYWxzIgouZWxzZQoJQCR7RUNIT19NU0d9ICI9PT0+
ICBEZWluc3RhbGxpbmcgZm9yICR7UEtHQkFTRX0iCglAaWYgJHtQS0dfSU5GT30gLWUgJHtQS0dC
QVNFfTsgdGhlbiBcCgkJcD1gJHtQS0dfSU5GT30gLXEgLU8gJHtQS0dCQVNFfWA7IFwKCQkke0VD
SE9fTVNHfSAiPT09PiAgIERlaW5zdGFsbGluZyAkJHtwfSI7IFwKCQkke1BLR19ERUxFVEV9IC1m
ICR7UEtHQkFTRX0gOyBcCgllbHNlIFwKCQkke0VDSE9fTVNHfSAiPT09PiAgICR7UEtHQkFTRX0g
bm90IGluc3RhbGxlZCwgc2tpcHBpbmciOyBcCglmaQoJQCR7Uk19IC1mICR7SU5TVEFMTF9DT09L
SUV9ICR7UEFDS0FHRV9DT09LSUV9Ci5lbmRpZgouZW5kaWYKCiMgRGVpbnN0YWxsLWFsbAojCiMg
U3BlY2lhbCB0YXJnZXQgdG8gcmVtb3ZlIGluc3RhbGxhdGlvbiBvZiBhbGwgcG9ydHMgb2YgdGhl
IHNhbWUgb3JpZ2luCgouaWYgIXRhcmdldChkZWluc3RhbGwtYWxsKQpkZWluc3RhbGwtYWxsOgou
aWYgJHtVSUR9ICE9IDAgJiYgIWRlZmluZWQoSU5TVEFMTF9BU19VU0VSKQoJQCR7RUNIT19NU0d9
ICI9PT0+ICBTd2l0Y2hpbmcgdG8gcm9vdCBjcmVkZW50aWFscyBmb3IgJyR7LlRBUkdFVH0nIHRh
cmdldCIKCUBjZCAkey5DVVJESVJ9ICYmIFwKCQkke1NVX0NNRH0gIiR7TUFLRX0gJHsuVEFSR0VU
fSIKCUAke0VDSE9fTVNHfSAiPT09PiAgUmV0dXJuaW5nIHRvIHVzZXIgY3JlZGVudGlhbHMiCi5l
bHNlCglAJHtFQ0hPX01TR30gIj09PT4gIERlaW5zdGFsbGluZyBmb3IgJHtQS0dPUklHSU59IgoJ
QGRlaW5zdGFsbF9uYW1lcz1gJHtQS0dfSU5GT30gLXEgLU8gJHtQS0dPUklHSU59YDsgXAoJZm9y
IG9sZHBrZ29yaWdpbiBpbiAkJCgke0dSRVB9ICJ8JHtQS0dPUklHSU59fCIgJHtQT1JUU0RJUn0v
TU9WRUQgfCAke0NVVH0gLWYgMSAtZCAnfCcgfCAke1NPUlR9IC11KTsgZG8gXAoJCWRlaW5zdGFs
bF9uYW1lcz0iJCR7ZGVpbnN0YWxsX25hbWVzfSAkJCgke1BLR19JTkZPfSAtcSAtTyAkJHtvbGRw
a2dvcmlnaW59KSI7IFwKCWRvbmU7IFwKCWlmIFsgLW4gIiQke2RlaW5zdGFsbF9uYW1lc30iIF07
IHRoZW4gXAoJCWZvciBkIGluICQke2RlaW5zdGFsbF9uYW1lc307IGRvIFwKCQkJJHtFQ0hPX01T
R30gIj09PT4gICBEZWluc3RhbGxpbmcgJCR7ZH0iOyBcCgkJCSR7UEtHX0RFTEVURX0gLWYgJCR7
ZH07IFwKCQlkb25lOyBcCgllbHNlIFwKCQkke0VDSE9fTVNHfSAiPT09PiAgICR7UEtHT1JJR0lO
fSBub3QgaW5zdGFsbGVkLCBza2lwcGluZyI7IFwKCWZpOyBcCgkke1JNfSAtZiAke0lOU1RBTExf
Q09PS0lFfSAke1BBQ0tBR0VfQ09PS0lFfQouZW5kaWYKLmVuZGlmCgojIENsZWFuaW5nIHVwCgou
aWYgIXRhcmdldChkby1jbGVhbikKZG8tY2xlYW46CglAaWYgWyAtZCAke1dSS0RJUn0gXTsgdGhl
biBcCgkJaWYgWyAtdyAke1dSS0RJUn0gXTsgdGhlbiBcCgkJCSR7Uk19IC1yZiAke1dSS0RJUn07
IFwKCQllbHNlIFwKCQkJJHtFQ0hPX01TR30gIj09PT4gICAke1dSS0RJUn0gbm90IHdyaXRhYmxl
LCBza2lwcGluZyI7IFwKCQlmaTsgXAoJZmkKLmVuZGlmCgouaWYgIXRhcmdldChjbGVhbikKY2xl
YW46Ci5pZiAhZGVmaW5lZChOT0NMRUFOREVQRU5EUykKCUBjZCAkey5DVVJESVJ9ICYmICR7TUFL
RX0gbGltaXRlZC1jbGVhbi1kZXBlbmRzCi5lbmRpZgoJQCR7RUNIT19NU0d9ICI9PT0+ICBDbGVh
bmluZyBmb3IgJHtQS0dOQU1FfSIKLmlmIHRhcmdldChwcmUtY2xlYW4pCglAY2QgJHsuQ1VSRElS
fSAmJiAke01BS0V9IHByZS1jbGVhbgouZW5kaWYKCUBjZCAkey5DVVJESVJ9ICYmICR7TUFLRX0g
ZG8tY2xlYW4KLmlmIHRhcmdldChwb3N0LWNsZWFuKQoJQGNkICR7LkNVUkRJUn0gJiYgJHtNQUtF
fSBwb3N0LWNsZWFuCi5lbmRpZgouZW5kaWYKCi5pZiAhdGFyZ2V0KHByZS1kaXN0Y2xlYW4pCnBy
ZS1kaXN0Y2xlYW46CglAJHtET19OQURBfQouZW5kaWYKCi5pZiAhdGFyZ2V0KGRpc3RjbGVhbikK
ZGlzdGNsZWFuOiBwcmUtZGlzdGNsZWFuIGNsZWFuCglAY2QgJHsuQ1VSRElSfSAmJiAke01BS0V9
IGRlbGV0ZS1kaXN0ZmlsZXMgUkVTVFJJQ1RFRF9GSUxFUz0iJHtfRElTVEZJTEVTfSAke19QQVRD
SEZJTEVTfSIKLmVuZGlmCgouaWYgIXRhcmdldChkZWxldGUtZGlzdGZpbGVzKQpkZWxldGUtZGlz
dGZpbGVzOgoJQCR7RUNIT19NU0d9ICI9PT0+ICBEZWxldGluZyBkaXN0ZmlsZXMgZm9yICR7UEtH
TkFNRX0iCglAKGlmIFsgIlgke1JFU1RSSUNURURfRklMRVN9IiAhPSAiWCIgLWEgLWQgJHtfRElT
VERJUn0gXTsgdGhlbiBcCgkJY2QgJHtfRElTVERJUn07IFwKCQlmb3IgZmlsZSBpbiAke1JFU1RS
SUNURURfRklMRVN9OyBkbyBcCgkJCSR7Uk19IC1mICQke2ZpbGV9OyBcCgkJCWRpcj0kJHtmaWxl
JS8qfTsgXAoJCQlpZiBbICIkJHtkaXJ9IiAhPSAiJCR7ZmlsZX0iIF07IHRoZW4gXAoJCQkJJHtS
TURJUn0gLXAgJCR7ZGlyfSA+L2Rldi9udWxsIDI+JjEgfHwgOjsgXAoJCQlmaTsgXAoJCWRvbmU7
IFwKCWZpKQouaWYgZGVmaW5lZChESVNUX1NVQkRJUikKCS1AJHtSTURJUn0gJHtfRElTVERJUn0g
Pi9kZXYvbnVsbCAyPiYxIHx8ICR7VFJVRX0KLmVuZGlmCi5lbmRpZgoKLmlmICF0YXJnZXQoZGVs
ZXRlLWRpc3RmaWxlcy1saXN0KQpkZWxldGUtZGlzdGZpbGVzLWxpc3Q6CglAJHtFQ0hPX0NNRH0g
IiMgJHtQS0dOQU1FfSIKCUBpZiBbICJYJHtSRVNUUklDVEVEX0ZJTEVTfSIgIT0gIlgiIF07IHRo
ZW4gXAoJCWZvciBmaWxlIGluICR7UkVTVFJJQ1RFRF9GSUxFU307IGRvIFwKCQkJJHtFQ0hPX0NN
RH0gIlsgLWYgJHtfRElTVERJUn0vJCRmaWxlIF0gJiYgKCR7RUNIT19DTUR9IGRlbGV0aW5nICR7
X0RJU1RESVJ9LyQkZmlsZTsgJHtSTX0gLWYgJHtfRElTVERJUn0vJCRmaWxlKSI7IFwKCQkJZGly
PSQke2ZpbGUlLyp9OyBcCgkJCWlmIFsgIiQke2Rpcn0iICE9ICIkJHtmaWxlfSIgXTsgdGhlbiBc
CgkJCQkke0VDSE9fQ01EfSAiKGNkICR7X0RJU1RESVJ9ICYmICR7Uk1ESVJ9IC1wICQke2Rpcn0g
Mj4vZGV2L251bGwpIjsgXAoJCQlmaTsgXAoJCWRvbmU7IFwKCWZpCi5pZiBkZWZpbmVkKERJU1Rf
U1VCRElSKQoJQCR7RUNIT19DTUR9ICIke1JNRElSfSAke19ESVNURElSfSAyPi9kZXYvbnVsbCB8
fCAke1RSVUV9IgouZW5kaWYKLmVuZGlmCgojIFByaW50cyBvdXQgYSBsaXN0IG9mIGZpbGVzIHRv
IGZldGNoICh1c2VmdWwgdG8gZG8gYSBiYXRjaCBmZXRjaCkKCi5pZiAhdGFyZ2V0KGZldGNoLWxp
c3QpCmZldGNoLWxpc3Q6CglAJHtNS0RJUn0gJHtfRElTVERJUn0KCUAoY2QgJHtfRElTVERJUn07
IFwKCSAke19NQVNURVJfU0lURVNfRU5WfSA7IFwKCSBmb3IgX2ZpbGUgaW4gJHtESVNURklMRVN9
OyBkbyBcCgkJZmlsZT1gJHtFQ0hPX0NNRH0gJCRfZmlsZSB8ICR7U0VEfSAtRSAtZSAncy86W146
XSskJC8vJ2AgOyBcCgkJaWYgWyAkJF9maWxlID0gJCRmaWxlIF07IHRoZW4JXAoJCQlzZWxlY3Q9
Jyc7CVwKCQllbHNlCVwKCQkJc2VsZWN0PWAke0VDSE9fQ01EfSAkJHtfZmlsZSMjKjp9IHwgJHtT
RUR9IC1lICdzLywvIC9nJ2AgOwlcCgkJZmk7CVwKCQlpZiBbICEgLWYgJCRmaWxlIC1hICEgLWYg
JCR7ZmlsZSMjKi99IF07IHRoZW4gXAoJCQlpZiBbICEgLXogIiQkc2VsZWN0IiBdIDsgdGhlbiBc
CgkJCQlfX01BU1RFUl9TSVRFU19UTVA9IDsgXAoJCQkJZm9yIGdyb3VwIGluICQkc2VsZWN0OyBk
byBcCgkJCQkJaWYgWyAhIC16IFwkJHtfTUFTVEVSX1NJVEVTXyQke2dyb3VwfX0gXSA7IHRoZW4g
XAoJCQkJCQlldmFsIF9fX01BU1RFUl9TSVRFU19UTVA9XCQke19NQVNURVJfU0lURVNfJCR7Z3Jv
dXB9fSA7IFwKCQkJCQkJX19NQVNURVJfU0lURVNfVE1QPSIkJHtfX01BU1RFUl9TSVRFU19UTVB9
ICQke19fX01BU1RFUl9TSVRFU19UTVB9IiA7IFwKCQkJCQlmaTsgXAoJCQkJZG9uZTsgXAoJCQkJ
X19fTUFTVEVSX1NJVEVTX1RNUD0gOyBcCgkJCQlTT1JURURfTUFTVEVSX1NJVEVTX0NNRF9UTVA9
IiR7RUNIT19DTUR9ICR7X01BU1RFUl9TSVRFX09WRVJSSURFfSBgJHtFQ0hPX0NNRH0gJCR7X19N
QVNURVJfU0lURVNfVE1QfSB8ICR7QVdLfSAnJHtNQVNURVJfU09SVF9BV0s6U3xcXHxcXFxcfGd9
J2AgJHtfTUFTVEVSX1NJVEVfQkFDS1VQfSIgOyBcCgkJCWVsc2UgXAoJCQkJU09SVEVEX01BU1RF
Ul9TSVRFU19DTURfVE1QPSIke1NPUlRFRF9NQVNURVJfU0lURVNfREVGQVVMVF9DTUR9IiA7IFwK
CQkJZmk7IFwKCQkJZm9yIHNpdGUgaW4gYGV2YWwgJCRTT1JURURfTUFTVEVSX1NJVEVTX0NNRF9U
TVAgJHtfUkFORE9NSVpFX1NJVEVTfWA7IGRvIFwKCQkJCWlmIFsgISAteiAiYCR7RUNIT19DTUR9
ICR7Tk9GRVRDSEZJTEVTfSB8ICR7R1JFUH0gLXcgJCR7ZmlsZX1gIiBdOyB0aGVuIFwKCQkJCQlp
ZiBbIC16ICJgJHtFQ0hPX0NNRH0gJHtNQVNURVJfU0lURV9PVkVSUklERX0gfCAke0dSRVB9IC13
ICQke3NpdGV9YCIgXTsgdGhlbiBcCgkJCQkJCWNvbnRpbnVlOyBcCgkJCQkJZmk7IFwKCQkJCWZp
OyBcCgkJCQlESVI9JHtESVNUX1NVQkRJUn07XAoJCQkJQ0tTSVpFPWBhbGc9U0laRTsgJHtESVNU
SU5GT19EQVRBfWA7IFwKCQkJCWNhc2UgJCR7ZmlsZX0gaW4gXAoJCQkJKi8qKQlhcmdzPSItbyAk
JHtmaWxlfSAkJHtzaXRlfSQke2ZpbGV9Ijs7IFwKCQkJCSopCQlhcmdzPSQke3NpdGV9JCR7Zmls
ZX07OyBcCgkJCQllc2FjOyBcCgkJCQkke0VDSE9fQ01EfSAtbiAke1NFVEVOVn0gJHtGRVRDSF9F
TlZ9ICR7RkVUQ0hfQ01EfSAke0ZFVENIX0JFRk9SRV9BUkdTfSAkJHthcmdzfSAiJHtGRVRDSF9B
RlRFUl9BUkdTfSIgJ3x8ICcgOyBcCgkJCWRvbmU7IFwKCQkJJHtFQ0hPX0NNRH0gIiR7RUNIT19D
TUR9ICQke2ZpbGV9IG5vdCBmZXRjaGVkIiA7IFwKCQlmaTsgXAoJZG9uZSkKLmlmIGRlZmluZWQo
UEFUQ0hGSUxFUykKCUAoY2QgJHtfRElTVERJUn07IFwKCSAke19QQVRDSF9TSVRFU19FTlZ9IDsg
XAoJIGZvciBfZmlsZSBpbiAke1BBVENIRklMRVN9OyBkbyBcCgkJZmlsZT1gJHtFQ0hPX0NNRH0g
JCRfZmlsZSB8ICR7U0VEfSAtRSAtZSAncy86W14tOl1bXjpdKiQkLy8nYCA7IFwKCQlpZiBbICQk
X2ZpbGUgPSAkJGZpbGUgXTsgdGhlbglcCgkJCXNlbGVjdD0nJzsJXAoJCWVsc2UJXAoJCQlzZWxl
Y3Q9YCR7RUNIT19DTUR9ICQke19maWxlIyMqOn0gfCAke1NFRH0gLWUgJ3MvLC8gL2cnYCA7CVwK
CQlmaTsJXAoJCWZpbGU9YCR7RUNIT19DTUR9ICQkZmlsZSB8ICR7U0VEfSAtRSAtZSAncy86LVte
Ol0rJCQvLydgIDsgXAoJCWlmIFsgISAtZiAkJGZpbGUgLWEgISAtZiAkJHtmaWxlIyMqL30gXTsg
dGhlbiBcCgkJCWlmIFsgISAteiAiJCRzZWxlY3QiIF0gOyB0aGVuIFwKCQkJCV9fUEFUQ0hfU0lU
RVNfVE1QPSA7IFwKCQkJCWZvciBncm91cCBpbiAkJHNlbGVjdDsgZG8gXAoJCQkJCWlmIFsgISAt
eiBcJCR7X1BBVENIX1NJVEVTXyQke2dyb3VwfX0gXSA7IHRoZW4gXAoJCQkJCQlldmFsIF9fX1BB
VENIX1NJVEVTX1RNUD1cJCR7X1BBVENIX1NJVEVTXyQke2dyb3VwfX0gOyBcCgkJCQkJCV9fUEFU
Q0hfU0lURVNfVE1QPSIkJHtfX1BBVENIX1NJVEVTX1RNUH0gJCR7X19fUEFUQ0hfU0lURVNfVE1Q
fSIgOyBcCgkJCQlmaTsgXAoJCQkJZG9uZTsgXAoJCQkJX19fUEFUQ0hfU0lURVNfVE1QPSA7IFwK
CQkJCVNPUlRFRF9QQVRDSF9TSVRFU19DTURfVE1QPSIke0VDSE9fQ01EfSAke19NQVNURVJfU0lU
RV9PVkVSUklERX0gYCR7RUNIT19DTUR9ICQke19fUEFUQ0hfU0lURVNfVE1QfSB8ICR7QVdLfSAn
JHtNQVNURVJfU09SVF9BV0s6U3xcXHxcXFxcfGd9J2AgJHtfTUFTVEVSX1NJVEVfQkFDS1VQfSIg
OyBcCgkJCWVsc2UgXAoJCQkJU09SVEVEX1BBVENIX1NJVEVTX0NNRF9UTVA9IiR7U09SVEVEX1BB
VENIX1NJVEVTX0RFRkFVTFRfQ01EfSIgOyBcCgkJCWZpOyBcCgkJCWZvciBzaXRlIGluIGBldmFs
ICQkU09SVEVEX1BBVENIX1NJVEVTX0NNRF9UTVAgJHtfUkFORE9NSVpFX1NJVEVTfWA7IGRvIFwK
CQkJCUNLU0laRT1gYWxnPVNJWkU7ICR7RElTVElORk9fREFUQX1gOyBcCgkJCQljYXNlICQke2Zp
bGV9IGluIFwKCQkJCSovKikJYXJncz0iLW8gJCR7ZmlsZX0gJCR7c2l0ZX0kJHtmaWxlfSI7OyBc
CgkJCQkqKQkJYXJncz0kJHtzaXRlfSQke2ZpbGV9OzsgXAoJCQkJZXNhYzsgXAoJCQkJJHtFQ0hP
X0NNRH0gLW4gJHtTRVRFTlZ9ICR7RkVUQ0hfRU5WfSAke0ZFVENIX0NNRH0gJHtGRVRDSF9CRUZP
UkVfQVJHU30gJCR7YXJnc30gIiR7RkVUQ0hfQUZURVJfQVJHU30iICd8fCAnIDsgXAoJCQlkb25l
OyBcCgkJCSR7RUNIT19DTUR9ICIke0VDSE9fQ01EfSAkJHtmaWxlfSBub3QgZmV0Y2hlZCIgOyBc
CgkJZmk7IFwKCSBkb25lKQouZW5kaWYKLmVuZGlmCgouaWYgIXRhcmdldChmZXRjaC11cmwtbGlz
dC1pbnQpCmZldGNoLXVybC1saXN0LWludDoKCUAke01LRElSfSAke19ESVNURElSfQoJQChjZCAk
e19ESVNURElSfTsgXAoJJHtfTUFTVEVSX1NJVEVTX0VOVn07IFwKCWZvciBfZmlsZSBpbiAke0RJ
U1RGSUxFU307IGRvIFwKCQlmaWxlPWAke0VDSE9fQ01EfSAkJF9maWxlIHwgJHtTRUR9IC1FIC1l
ICdzLzpbXjpdKyQkLy8nYCA7IFwKCQkJZmlsZXB0bj1gJHtFQ0hPX0NNRH0gJCRmaWxlIHwgJHtT
RUR9ICdzfC98XFxcXC98ZztzL1wuL1xcXFwuL2c7cy9cKy9cXFxcKy9nO3MvXD8vXFxcXD8vZydg
IDsgXAoJCWlmIFsgJCRfZmlsZSA9ICQkZmlsZSBdOyB0aGVuCVwKCQkJc2VsZWN0PScnOwlcCgkJ
ZWxzZQlcCgkJCXNlbGVjdD1gJHtFQ0hPX0NNRH0gJCR7X2ZpbGUjIyo6fSB8ICR7U0VEfSAtZSAn
cy8sLyAvZydgIDsJXAoJCWZpOwlcCgkJaWYgWyAhIC16ICIke0xJU1RBTEx9IiAtbyAhIC1mICQk
ZmlsZSAtYSAhIC1mICQke2ZpbGUjIyovfSBdOyB0aGVuIFwKCQkJaWYgWyAhIC16ICIkJHNlbGVj
dCIgXSA7IHRoZW4gXAoJCQkJX19NQVNURVJfU0lURVNfVE1QPSA7IFwKCQkJCWZvciBncm91cCBp
biAkJHNlbGVjdDsgZG8gXAoJCQkJCWlmIFsgISAteiBcJCR7X01BU1RFUl9TSVRFU18kJHtncm91
cH19IF0gOyB0aGVuIFwKCQkJCQkJZXZhbCBfX19NQVNURVJfU0lURVNfVE1QPVwkJHtfTUFTVEVS
X1NJVEVTXyQke2dyb3VwfX0gOyBcCgkJCQkJCV9fTUFTVEVSX1NJVEVTX1RNUD0iJCR7X19NQVNU
RVJfU0lURVNfVE1QfSAkJHtfX19NQVNURVJfU0lURVNfVE1QfSIgOyBcCgkJCQkJZmkgXAoJCQkJ
ZG9uZTsgXAoJCQkJX19fTUFTVEVSX1NJVEVTX1RNUD0gOyBcCgkJCQlTT1JURURfTUFTVEVSX1NJ
VEVTX0NNRF9UTVA9IiR7RUNIT19DTUR9ICR7X01BU1RFUl9TSVRFX09WRVJSSURFfSBgJHtFQ0hP
X0NNRH0gJCR7X19NQVNURVJfU0lURVNfVE1QfSB8ICR7QVdLfSAnJHtNQVNURVJfU09SVF9BV0s6
U3xcXHxcXFxcfGd9J2AgJHtfTUFTVEVSX1NJVEVfQkFDS1VQfSIgOyBcCgkJCWVsc2UgXAoJCQkJ
U09SVEVEX01BU1RFUl9TSVRFU19DTURfVE1QPSIke1NPUlRFRF9NQVNURVJfU0lURVNfREVGQVVM
VF9DTUR9IiA7IFwKCQkJZmkgOyBcCgkJCWZvciBzaXRlIGluIGBldmFsICQkU09SVEVEX01BU1RF
Ul9TSVRFU19DTURfVE1QICR7X1JBTkRPTUlaRV9TSVRFU31gOyBkbyBcCgkJCQljYXNlICQke2Zp
bGV9IGluIFwKCQkJCSovKikJYXJncz0iLW8gJCR7ZmlsZX0gJCR7c2l0ZX0kJHtmaWxlfSI7OyBc
CgkJCQkqKQkJYXJncz0kJHtzaXRlfSQke2ZpbGV9OzsgXAoJCQkJZXNhYzsgXAoJCQkJJHtFQ0hP
X0NNRH0gJCR7YXJnc30gOyBcCgkJCWRvbmU7IFwKCQlmaSBcCglkb25lKQouaWYgZGVmaW5lZChQ
QVRDSEZJTEVTKQoJQChjZCAke19ESVNURElSfTsgXAoJJHtfUEFUQ0hfU0lURVNfRU5WfSA7IFwK
CWZvciBfZmlsZSBpbiAke1BBVENIRklMRVN9OyBkbyBcCgkJZmlsZT1gJHtFQ0hPX0NNRH0gJCRf
ZmlsZSB8ICR7U0VEfSAtRSAtZSAncy86W14tOl1bXjpdKiQkLy8nYCA7IFwKCQlpZiBbICQkX2Zp
bGUgPSAkJGZpbGUgXTsgdGhlbglcCgkJCXNlbGVjdD0nJzsJXAoJCWVsc2UJXAoJCQlzZWxlY3Q9
YCR7RUNIT19DTUR9ICQke19maWxlIyMqOn0gfCAke1NFRH0gLWUgJ3MvLC8gL2cnYCA7CVwKCQlm
aTsJXAoJCWZpbGU9YCR7RUNIT19DTUR9ICQkZmlsZSB8ICR7U0VEfSAtRSAtZSAncy86LVteOl0r
JCQvLydgIDsgXAoJCWZpbGVwdG49YCR7RUNIT19DTUR9ICQkZmlsZSB8ICR7U0VEfSAnc3wvfFxc
XFwvfGc7cy9cLi9cXFxcLi9nO3MvXCsvXFxcXCsvZztzL1w/L1xcXFw/L2cnYCA7IFwKCQlpZiBb
ICEgLXogIiR7TElTVEFMTH0iIC1vICEgLWYgJCRmaWxlIC1hICEgLWYgJCR7ZmlsZSMjKi99IF07
IHRoZW4gXAoJCQlpZiBbICEgLXogIiQkc2VsZWN0IiBdIDsgdGhlbiBcCgkJCQlfX1BBVENIX1NJ
VEVTX1RNUD0gOyBcCgkJCQlmb3IgZ3JvdXAgaW4gJCRzZWxlY3Q7IGRvIFwKCQkJCQlpZiBbICEg
LXogXCQke19QQVRDSF9TSVRFU18kJHtncm91cH19IF0gOyB0aGVuIFwKCQkJCQkJZXZhbCBfX19Q
QVRDSF9TSVRFU19UTVA9XCQke19QQVRDSF9TSVRFU18kJHtncm91cH19IDsgXAoJCQkJCQlfX1BB
VENIX1NJVEVTX1RNUD0iJCR7X19QQVRDSF9TSVRFU19UTVB9ICQke19fX1BBVENIX1NJVEVTX1RN
UH0iIDsgXAoJCQkJCWZpIFwKCQkJCWRvbmU7IFwKCQkJCV9fX1BBVENIX1NJVEVTX1RNUD0gOyBc
CgkJCQlTT1JURURfUEFUQ0hfU0lURVNfQ01EX1RNUD0iJHtFQ0hPX0NNRH0gJHtfTUFTVEVSX1NJ
VEVfT1ZFUlJJREV9IGAke0VDSE9fQ01EfSAkJHtfX1BBVENIX1NJVEVTX1RNUH0gfCAke0FXS30g
JyR7TUFTVEVSX1NPUlRfQVdLOlN8XFx8XFxcXHxnfSdgICR7X01BU1RFUl9TSVRFX0JBQ0tVUH0i
IDsgXAoJCQllbHNlIFwKCQkJCVNPUlRFRF9QQVRDSF9TSVRFU19DTURfVE1QPSIke1NPUlRFRF9Q
QVRDSF9TSVRFU19ERUZBVUxUX0NNRH0iIDsgXAoJCQlmaSA7IFwKCQkJZm9yIHNpdGUgaW4gYGV2
YWwgJCRTT1JURURfUEFUQ0hfU0lURVNfQ01EX1RNUCAke19SQU5ET01JWkVfU0lURVN9YDsgZG8g
XAoJCQkJY2FzZSAkJHtmaWxlfSBpbiBcCgkJCQkqLyopCWFyZ3M9Ii1vICQke2ZpbGV9ICQke3Np
dGV9JCR7ZmlsZX0iOzsgXAoJCQkJKikJCWFyZ3M9JCR7c2l0ZX0kJHtmaWxlfTs7IFwKCQkJCWVz
YWM7IFwKCQkJCSR7RUNIT19DTUR9ICQke2FyZ3N9IDsgXAoJCQlkb25lOyBcCgkJZmkgXAoJIGRv
bmUpCi5lbmRpZgouZW5kaWYKCi5pZiAhdGFyZ2V0KGZldGNoLXVybGFsbC1saXN0KQpmZXRjaC11
cmxhbGwtbGlzdDoKCUBjZCAkey5DVVJESVJ9ICYmIExJU1RBTEw9eWVzICR7TUFLRX0gZmV0Y2gt
dXJsLWxpc3QtaW50Ci5lbmRpZgoKLmlmICF0YXJnZXQoZmV0Y2gtdXJsLWxpc3QpCmZldGNoLXVy
bC1saXN0OiBmZXRjaC11cmwtbGlzdC1pbnQKLmVuZGlmCgojIEdlbmVyYXRlcyBwYXRjaGVzLgoK
dXBkYXRlLXBhdGNoZXM6CglAdG9lZGl0PWBQQVRDSF9XUktTUkM9JHtQQVRDSF9XUktTUkN9IFwK
CQlQQVRDSERJUj0ke1BBVENIRElSfSBcCgkJUEFUQ0hfTElTVD0ke1BBVENIRElSfS9wYXRjaC0q
IFwKCQlESUZGX0FSR1M9JHtESUZGX0FSR1N9IFwKCQlESVNUT1JJRz0ke0RJU1RPUklHfSBcCgkJ
JHtTSH0gJHtQT1JUU0RJUn0vVG9vbHMvc2NyaXB0cy91cGRhdGUtcGF0Y2hlc2A7IFwKCWNhc2Ug
JCR0b2VkaXQgaW4gIiIpOzsgXAoJKikgJHtFQ0hPX0NNRH0gLW4gJ2VkaXQgcGF0Y2hlczogJzsg
cmVhZCBpOyBcCgljZCAke1BBVENIRElSfSAmJiAkJHtWSVNVQUw6LSQke0VESVQ6LS91c3IvYmlu
L3ZpfX0gJCR0b2VkaXQ7OyBlc2FjCgojIENoZWNrc3VtbWluZyB1dGlsaXRpZXMKCmNoZWNrLWNo
ZWNrc3VtLWFsZ29yaXRobXM6CglAIFwKCSR7Y2hlY2tzdW1faW5pdH0gXAoJXAoJZm9yIGFsZyBp
biAke0NIRUNLU1VNX0FMR09SSVRITVM6dHV9OyBkbyBcCgkJZXZhbCBhbGdfZXhlY3V0YWJsZT1c
JCQkJGFsZzsgXAoJCWlmIFsgLXogIiQkYWxnX2V4ZWN1dGFibGUiIF07IHRoZW4gXAoJCQkke0VD
SE9fTVNHfSAiQ2hlY2tzdW0gYWxnb3JpdGhtICQkYWxnOiBDb3VsZG4ndCBmaW5kIHRoZSBleGVj
dXRhYmxlLiI7IFwKCQkJJHtFQ0hPX01TR30gIlNldCAkJGFsZz0vcGF0aC90by8kJGFsZyBpbiAv
ZXRjL21ha2UuY29uZiBhbmQgdHJ5IGFnYWluLiI7IFwKCQkJZXhpdCAxOyBcCgkJZmk7IFwKCWRv
bmU7IFwKCmNoZWNrc3VtX2luaXQ9XAoJU0hBMjU2PSR7U0hBMjU2fTsKCi5pZiAhdGFyZ2V0KG1h
a2VzdW0pCm1ha2VzdW06IGNoZWNrLWNoZWNrc3VtLWFsZ29yaXRobXMKCUBjZCAkey5DVVJESVJ9
ICYmICR7TUFLRX0gZmV0Y2ggTk9fQ0hFQ0tTVU09eWVzIFwKCQlESVNBQkxFX1NJWkU9eWVzCglA
aWYgWyAtZiAke0RJU1RJTkZPX0ZJTEV9IF07IHRoZW4gJHtDQVR9IC9kZXYvbnVsbCA+ICR7RElT
VElORk9fRklMRX07IGZpCglAKCBcCgkJY2QgJHtESVNURElSfTsgXAoJCVwKCQkke2NoZWNrc3Vt
X2luaXR9IFwKCQlcCgkJZm9yIGZpbGUgaW4gJHtfQ0tTVU1GSUxFU307IGRvIFwKCQkJZm9yIGFs
ZyBpbiAke0NIRUNLU1VNX0FMR09SSVRITVM6dHV9OyBkbyBcCgkJCQlldmFsIGFsZ19leGVjdXRh
YmxlPVwkJCQkYWxnOyBcCgkJCQlcCgkJCQlpZiBbICQkYWxnX2V4ZWN1dGFibGUgIT0gIk5PIiBd
OyB0aGVuIFwKCQkJCQkkJGFsZ19leGVjdXRhYmxlICQkZmlsZSA+PiAke0RJU1RJTkZPX0ZJTEV9
OyBcCgkJCQlmaTsgXAoJCQlkb25lOyBcCgkJCSR7RUNIT19DTUR9ICJTSVpFICgkJGZpbGUpID0g
YCR7U1RBVH0gLWYgXCIlelwiICQkZmlsZWAiID4+ICR7RElTVElORk9fRklMRX07IFwKCQlkb25l
IFwKCSkKLmVuZGlmCgouaWYgIXRhcmdldChjaGVja3N1bSkKY2hlY2tzdW06IGZldGNoIGNoZWNr
LWNoZWNrc3VtLWFsZ29yaXRobXMKCUBzZXQgLWUgOyBcCgkke2NoZWNrc3VtX2luaXR9IFwKCWlm
IFsgLWYgJHtESVNUSU5GT19GSUxFfSBdOyB0aGVuIFwKCQljZCAke0RJU1RESVJ9OyBPSz0iIjtc
CgkJZm9yIGZpbGUgaW4gJHtfQ0tTVU1GSUxFU307IGRvIFwKCQkJaWdub3JlZD0idHJ1ZSI7IFwK
CQkJX2ZpbGU9JCR7ZmlsZSMke0RJU1RfU1VCRElSfS8qfTsJXAoJCQlmb3IgYWxnIGluICR7Q0hF
Q0tTVU1fQUxHT1JJVEhNUzp0dX07IGRvIFwKCQkJCWlnbm9yZT0iZmFsc2UiOyBcCgkJCQlldmFs
IGFsZ19leGVjdXRhYmxlPVwkJCQkYWxnOyBcCgkJCQlcCgkJCQlpZiBbICQkYWxnX2V4ZWN1dGFi
bGUgIT0gIk5PIiBdOyB0aGVuIFwKCQkJCQlNS1NVTT1gJCRhbGdfZXhlY3V0YWJsZSA8ICQkZmls
ZWA7IFwKCQkJCQlDS1NVTT1gZmlsZT0kJF9maWxlOyAke0RJU1RJTkZPX0RBVEF9YDsgXAoJCQkJ
ZWxzZSBcCgkJCQkJaWdub3JlPSJ0cnVlIjsgXAoJCQkJZmk7IFwKCQkJCVwKCQkJCWlmIFsgJCRp
Z25vcmUgPSAiZmFsc2UiIC1hIC16ICIkJENLU1VNIiBdOyB0aGVuIFwKCQkJCQkke0VDSE9fTVNH
fSAiPT4gTm8gJCRhbGcgY2hlY2tzdW0gcmVjb3JkZWQgZm9yICQkZmlsZS4iOyBcCgkJCQkJaWdu
b3JlPSJ0cnVlIjsgXAoJCQkJZmk7IFwKCQkJCVwKCQkJCWlmIFsgJCRpZ25vcmUgPSAiZmFsc2Ui
IF07IHRoZW4gXAoJCQkJCW1hdGNoPSJmYWxzZSI7IFwKCQkJCQlmb3IgY2hrc3VtIGluICQkQ0tT
VU07IGRvIFwKCQkJCQkJaWYgWyAiJCRjaGtzdW0iID0gIiQkTUtTVU0iIF07IHRoZW4gXAoJCQkJ
CQkJbWF0Y2g9InRydWUiOyBcCgkJCQkJCQlicmVhazsgXAoJCQkJCQlmaTsgXAoJCQkJCWRvbmU7
IFwKCQkJCQlpZiBbICQkbWF0Y2ggPSAidHJ1ZSIgXTsgdGhlbiBcCgkJCQkJCSR7RUNIT19NU0d9
ICI9PiAkJGFsZyBDaGVja3N1bSBPSyBmb3IgJCRmaWxlLiI7IFwKCQkJCQkJaWdub3JlZD0iZmFs
c2UiOyBcCgkJCQkJZWxzZSBcCgkJCQkJCSR7RUNIT19NU0d9ICI9PiAkJGFsZyBDaGVja3N1bSBt
aXNtYXRjaCBmb3IgJCRmaWxlLiI7IFwKCQkJCQkJcmVmZXRjaGxpc3Q9IiQkcmVmZXRjaGxpc3Qk
JGZpbGUgIjsgXAoJCQkJCQlPSz0iJCR7T0s6LXJldHJ5fSI7IFwKCQkJCQkJWyAiJCR7T0t9IiA9
ICJyZXRyeSIgLWEgJHtGRVRDSF9SRUdFVH0gLWd0IDAgXSAmJiAke1JNfSAtZiAkJHtmaWxlfTsg
XAoJCQkJCQlpZ25vcmVkPSJmYWxzZSI7IFwKCQkJCQlmaTsgXAoJCQkJZmk7IFwKCQkJZG9uZTsg
XAoJCQlcCgkJCWlmIFsgJCRpZ25vcmVkID0gInRydWUiIF07IHRoZW4gXAoJCQkJJHtFQ0hPX01T
R30gIj0+IE5vIHN1aXRhYmxlIGNoZWNrc3VtIGZvdW5kIGZvciAkJGZpbGUuIjsgXAoJCQkJT0s9
IiR7RkFMU0V9IjsgXAoJCQlmaTsgXAoJCQlcCgkJZG9uZTsgXAoJCVwKCQlpZiBbICIkJHtPSzo9
dHJ1ZX0iID0gInJldHJ5IiBdICYmIFsgJHtGRVRDSF9SRUdFVH0gLWd0IDAgXTsgdGhlbiBcCgkJ
CSR7RUNIT19NU0d9ICI9PT0+ICBSZWZldGNoIGZvciAke0ZFVENIX1JFR0VUfSBtb3JlIHRpbWVz
IGZpbGVzOiAkJHJlZmV0Y2hsaXN0IjsgXAoJCQlpZiAoIGNkICR7LkNVUkRJUn0gJiYgXAoJCQkg
ICAgJHtNQUtFfSAkey5NQUtFRkxBR1N9IEZPUkNFX0ZFVENIPSIkJHJlZmV0Y2hsaXN0IiBGRVRD
SF9SRUdFVD0iYCR7RVhQUn0gJHtGRVRDSF9SRUdFVH0gLSAxYCIgZmV0Y2gpOyB0aGVuIFwKCQkJ
CSAgaWYgKCBjZCAkey5DVVJESVJ9ICYmIFwKCQkJICAgICAgICAke01BS0V9ICR7Lk1BS0VGTEFH
U30gRkVUQ0hfUkVHRVQ9ImAke0VYUFJ9ICR7RkVUQ0hfUkVHRVR9IC0gMWAiIGNoZWNrc3VtICk7
IHRoZW4gXAoJCQkJICAgICAgT0s9InRydWUiOyBcCgkJCQkgIGZpOyBcCgkJCWZpOyBcCgkJZmk7
IFwKCQlcCgkJaWYgWyAiJCRPSyIgIT0gInRydWUiIC1hICR7RkVUQ0hfUkVHRVR9IC1lcSAwIF07
IHRoZW4gXAoJCQkke0VDSE9fTVNHfSAiPT09PiAgR2l2aW5nIHVwIG9uIGZldGNoaW5nIGZpbGVz
OiAkJHJlZmV0Y2hsaXN0IjsgXAoJCQkke0VDSE9fTVNHfSAiTWFrZSBzdXJlIHRoZSBNYWtlZmls
ZSBhbmQgZGlzdGluZm8gZmlsZSAoJHtESVNUSU5GT19GSUxFfSkiOyBcCgkJCSR7RUNIT19NU0d9
ICJhcmUgdXAgdG8gZGF0ZS4gIElmIHlvdSBhcmUgYWJzb2x1dGVseSBzdXJlIHlvdSB3YW50IHRv
IG92ZXJyaWRlIHRoaXMiOyBcCgkJCSR7RUNIT19NU0d9ICJjaGVjaywgdHlwZSBcIm1ha2UgTk9f
Q0hFQ0tTVU09eWVzIFtvdGhlciBhcmdzXVwiLiI7IFwKCQkJZXhpdCAxOyBcCgkJZmk7IFwKCQlp
ZiBbICIkJE9LIiAhPSAidHJ1ZSIgXTsgdGhlbiBcCgkJCWV4aXQgMTsgXAoJCWZpOyBcCgllbGlm
IFsgLW4gIiR7X0NLU1VNRklMRVM6TSp9IiBdOyB0aGVuIFwKCQkke0VDSE9fTVNHfSAiPT4gTm8g
Y2hlY2tzdW0gZmlsZSAoJHtESVNUSU5GT19GSUxFfSkuIjsgXAoJCWV4aXQgMTsgXAoJZmkKLmVu
ZGlmCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjCiMgVGhlIHNwZWNpYWwgcGFja2FnZS1idWlsZGluZyB0YXJnZXRzCiMgWW91
IHByb2JhYmx5IHdvbid0IG5lZWQgdG8gdG91Y2ggdGhlc2UKIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKIyBOb2JvZHkgc2hv
dWxkIHdhbnQgdG8gb3ZlcnJpZGUgdGhpcyB1bmxlc3MgUEtHTkFNRSBpcyBzaW1wbHkgYm9ndXMu
CgouaWYgIXRhcmdldChwYWNrYWdlLW5hbWUpCnBhY2thZ2UtbmFtZToKCUAke0VDSE9fQ01EfSAk
e1BLR05BTUV9Ci5lbmRpZgoKIyBCdWlsZCBhIHBhY2thZ2UgYnV0IGRvbid0IGNoZWNrIHRoZSBw
YWNrYWdlIGNvb2tpZQoKLmlmICF0YXJnZXQocmVwYWNrYWdlKQpyZXBhY2thZ2U6IHByZS1yZXBh
Y2thZ2UgcGFja2FnZQoKcHJlLXJlcGFja2FnZToKCUAke1JNfSAtZiAke1BBQ0tBR0VfQ09PS0lF
fQouZW5kaWYKCiMgQnVpbGQgYSBwYWNrYWdlIGJ1dCBkb24ndCBjaGVjayB0aGUgY29va2llIGZv
ciBpbnN0YWxsYXRpb24sIGFsc28gZG9uJ3QKIyBpbnN0YWxsIHBhY2thZ2UgY29va2llCgouaWYg
IXRhcmdldChwYWNrYWdlLW5vaW5zdGFsbCkKcGFja2FnZS1ub2luc3RhbGw6IHBhY2thZ2UKLmVu
ZGlmCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjCiMgRGVwZW5kZW5jeSBjaGVja2luZwojIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgouaWYgIXRhcmdldChk
ZXBlbmRzKQpkZXBlbmRzOiBwa2ctZGVwZW5kcyBleHRyYWN0LWRlcGVuZHMgcGF0Y2gtZGVwZW5k
cyBsaWItZGVwZW5kcyBmZXRjaC1kZXBlbmRzIGJ1aWxkLWRlcGVuZHMgcnVuLWRlcGVuZHMKCi5m
b3IgZGVwdHlwZSBpbiBQS0cgRVhUUkFDVCBQQVRDSCBGRVRDSCBCVUlMRCBMSUIgUlVOCiR7ZGVw
dHlwZTp0bH0tZGVwZW5kczoKLmlmIGRlZmluZWQoJHtkZXB0eXBlfV9ERVBFTkRTKSAmJiAhZGVm
aW5lZChOT19ERVBFTkRTKQoJQCR7U0VURU5WfSBcCgkJZHBfUkFXREVQRU5EUz0iJHske2RlcHR5
cGV9X0RFUEVORFN9IiBcCgkJZHBfREVQVFlQRT0iJHtkZXB0eXBlfV9ERVBFTkRTIiBcCgkJZHBf
REVQRU5EU19UQVJHRVQ9IiR7REVQRU5EU19UQVJHRVR9IiBcCgkJZHBfREVQRU5EU19QUkVDTEVB
Tj0iJHtERVBFTkRTX1BSRUNMRUFOfSIgXAoJCWRwX0RFUEVORFNfQ0xFQU49IiR7REVQRU5EU19D
TEVBTn0iIFwKCQlkcF9ERVBFTkRTX0FSR1M9IiR7REVQRU5EU19BUkdTfSIgXAoJCWRwX1VTRV9Q
QUNLQUdFX0RFUEVORFM9IiR7VVNFX1BBQ0tBR0VfREVQRU5EU30iIFwKCQlkcF9VU0VfUEFDS0FH
RV9ERVBFTkRTX09OTFk9IiR7VVNFX1BBQ0tBR0VfREVQRU5EU19PTkxZfSIgXAoJCWRwX1BLR19B
REQ9IiR7UEtHX0FERH0iIFwKCQlkcF9QS0dfSU5GTz0iJHtQS0dfSU5GT30iIFwKCQlkcF9XUktE
SVI9IiR7V1JLRElSfSIgXAoJCWRwX1BLR05BTUU9IiR7UEtHTkFNRX0iIFwKCQlkcF9TVFJJQ1Rf
REVQRU5EUz0iJHtTVFJJQ1RfREVQRU5EU30iIFwKCQlkcF9MT0NBTEJBU0U9IiR7TE9DQUxCQVNF
fSIgXAoJCWRwX0xJQl9ESVJTPSIke0xJQl9ESVJTfSIgXAoJCWRwX1NIPSIke1NIfSIgXAoJCWRw
X1NDUklQVFNESVI9IiR7U0NSSVBUU0RJUn0iIFwKCQlkcF9QT1JUU0RJUj0iJHtQT1JUU0RJUn0i
IFwKCQlkcF9NQUtFPSIke01BS0V9IiBcCgkJJHtTSH0gJHtTQ1JJUFRTRElSfS9kby1kZXBlbmRz
LnNoCi5lbmRpZgouZW5kZm9yCgouZW5kaWYKCiMgRGVwZW5kZW5jeSBsaXN0czogYm90aCBidWls
ZCBhbmQgcnVudGltZSwgcmVjdXJzaXZlLiAgUHJpbnQgb3V0IGRpcmVjdG9yeSBuYW1lcy4KCl9V
TklGSUVEX0RFUEVORFM9JHtQS0dfREVQRU5EU30gJHtFWFRSQUNUX0RFUEVORFN9ICR7UEFUQ0hf
REVQRU5EU30gJHtGRVRDSF9ERVBFTkRTfSAke0JVSUxEX0RFUEVORFN9ICR7TElCX0RFUEVORFN9
ICR7UlVOX0RFUEVORFN9Cl9ERVBFTkRfU1BFQ0lBTFM9CSR7X1VOSUZJRURfREVQRU5EUzpNKlw6
Klw6KjpDLF5bXjpdKjooW146XSopOi4qJCxcMSx9CgphbGwtZGVwZW5kcy1saXN0OgoJQCR7QUxM
LURFUEVORFMtTElTVH0KCkFMTC1ERVBFTkRTLUxJU1Q9IFwKCSR7U0VURU5WfSBkcF9BTExERVBF
TkRTPSIke19VTklGSUVEX0RFUEVORFN9IiBcCgkJCWRwX1BPUlRTRElSPSIke1BPUlRTRElSfSIg
XAoJCQlkcF9NQUtFPSIke01BS0V9IiBcCgkJCWRwX1BLR05BTUU9IiR7UEtHTkFNRX0iIFwKCQkJ
ZHBfU0NSSVBUU0RJUj0iJHtTQ1JJUFRTRElSfSIgXAoJCQkke1NIfSAke1NDUklQVFNESVJ9L2Fs
bC1kZXBlbmRzLWxpc3Quc2gKCkNMRUFOLURFUEVORFMtTElTVD0gXAoJJHtTRVRFTlZ9IGRwX0FM
TERFUEVORFM9IiR7X1VOSUZJRURfREVQRU5EU30iIFwKCQkJZHBfUE9SVFNESVI9IiR7UE9SVFNE
SVJ9IiBcCgkJCWRwX01BS0U9IiR7TUFLRX0iIFwKCQkJZHBfUEtHTkFNRT0iJHtQS0dOQU1FfSIg
XAoJCQlkcF9TQ1JJUFRTRElSPSIke1NDUklQVFNESVJ9IiBcCgkJCSR7U0h9ICR7U0NSSVBUU0RJ
Un0vY2xlYW4tZGVwZW5kcy1saXN0LnNoCgouaWYgIXRhcmdldChjbGVhbi1kZXBlbmRzKQpjbGVh
bi1kZXBlbmRzOgoJQGZvciBkaXIgaW4gJCQoJHtDTEVBTi1ERVBFTkRTLUxJU1R9IGZ1bGwpOyBk
byBcCgkJKGNkICQkZGlyOyAke01BS0V9IE5PQ0xFQU5ERVBFTkRTPXllcyBjbGVhbik7IFwKCWRv
bmUKLmVuZGlmCgouaWYgIXRhcmdldChsaW1pdGVkLWNsZWFuLWRlcGVuZHMpCmxpbWl0ZWQtY2xl
YW4tZGVwZW5kczoKCUBmb3IgZGlyIGluICQkKCR7Q0xFQU4tREVQRU5EUy1MSVNUfSBsaW1pdGVk
KTsgZG8gXAoJCShjZCAkJGRpcjsgJHtNQUtFfSBOT0NMRUFOREVQRU5EUz15ZXMgY2xlYW4pOyBc
Cglkb25lCi5lbmRpZgoKLmlmICF0YXJnZXQoZGVpbnN0YWxsLWRlcGVuZHMpCmRlaW5zdGFsbC1k
ZXBlbmRzOgoJQGZvciBkaXIgaW4gJCQoJHtBTEwtREVQRU5EUy1MSVNUfSk7IGRvIFwKCQkoY2Qg
JCRkaXI7ICR7TUFLRX0gZGVpbnN0YWxsKTsgXAoJZG9uZQouZW5kaWYKCi5pZiAhdGFyZ2V0KGZl
dGNoLXNwZWNpYWxzKQpmZXRjaC1zcGVjaWFsczoKCUAke0VDSE9fTVNHfSAiPT09PiBGZXRjaGlu
ZyBhbGwgZGlzdGZpbGVzIHJlcXVpcmVkIGJ5ICR7UEtHTkFNRX0gZm9yIGJ1aWxkaW5nIgoJQGZv
ciBkaXIgaW4gJHtfREVQRU5EX1NQRUNJQUxTfTsgZG8gXAoJCShjZCAkJGRpcjsgJHtNQUtFfSBm
ZXRjaCk7IFwKCWRvbmUKLmVuZGlmCgouaWYgIXRhcmdldChmZXRjaC1yZWN1cnNpdmUpCmZldGNo
LXJlY3Vyc2l2ZToKCUAke0VDSE9fTVNHfSAiPT09PiBGZXRjaGluZyBhbGwgZGlzdGZpbGVzIGZv
ciAke1BLR05BTUV9IGFuZCBkZXBlbmRlbmNpZXMiCglAZm9yIGRpciBpbiAkey5DVVJESVJ9ICQk
KCR7QUxMLURFUEVORFMtTElTVH0pOyBkbyBcCgkJKGNkICQkZGlyOyAke01BS0V9IGZldGNoKTsg
XAoJZG9uZQouZW5kaWYKCi5pZiAhdGFyZ2V0KGZldGNoLXJlY3Vyc2l2ZS1saXN0KQpmZXRjaC1y
ZWN1cnNpdmUtbGlzdDoKCUBmb3IgZGlyIGluICR7LkNVUkRJUn0gJCQoJHtBTEwtREVQRU5EUy1M
SVNUfSk7IGRvIFwKCQkoY2QgJCRkaXI7ICR7TUFLRX0gZmV0Y2gtbGlzdCk7IFwKCWRvbmUKLmVu
ZGlmCgojIFVzZWQgYnkgZmV0Y2gtcmVxdWlyZWQgYW5kIGZldGNoLXJlcXVpcmVkIGxpc3QsIHRo
aXMgc2NyaXB0IGxvb2tzCiMgYXQgZWFjaCBvZiB0aGUgZGVwZW5kZW5jaWVzLiBJZiAzIGl0ZW1z
IGFyZSBzcGVjaWZpZWQgaW4gdGhlIHR1cGxlLAojIHN1Y2ggYXMgZm9vOiR7UE9SVFNESVJ9L2dy
YXBoaWNzL2ZvbzpleHRyYWN0LCB0aGUgZmlyc3QgaXRlbSAoZm9vKQojIGlzIGV4YW1pbmVkLiBP
bmx5IGlmIGl0IGJlZ2lucyB3aXRoIGEgLyBhbmQgZG9lcyBub3QgZXhpc3Qgb24gdGhlCiMgZmls
ZS1zeXN0ZW0gd2lsbCBgYG1ha2UgdGFyZycnIHByb2NlZWQuCiMgRm9yIG1vcmUgdXN1YWwgKGR1
YWwtaXRlbSkgZGVwZW5kZW5jeSB0dXBsZXMsIHRoZSBgYG1ha2UgdGFyZycnCiMgcHJvY2VlZHMs
IGlmIHRoZSBleGFjdCBwYWNrYWdlLCB3aGljaCB0aGUgZGlyZWN0b3J5IFdPVUxEJ1ZFIGluc3Rh
bGxlZCwKIyBpcyBub3QgeWV0IGluc3RhbGxlZC4KIyBUaGlzIGlzIHRoZSBleGFjdCBiZWhhdmlv
dXIgb2YgdGhlIG9sZCBjb2RlLCBhbmQgaXQgbWF5IG5lZWQKIyByZXZpc2l0aW5nLiBGb3IgZXhh
bXBsZSwgdGhlIGVudGlyZSBmaXJzdCBjYXNlIHNlZW1zIGR1YmlvdXMsIGFuZCBpbgojIHRoZSBz
ZWNvbmQgY2FzZSB3ZSwgcHJvYmFibHksIHNob3VsZCBiZSBzYXRpc2ZpZWQgd2l0aCBfYW55XyAo
ZWFybGllcikKIyBwYWNrYWdlLCB3aXRoIHRoZSBzYW1lIG9yaWdpbiBhcyB0aGF0IG9mIHRoZSBk
aXIuCiMKIwktbWkKRkVUQ0hfTElTVD89CWZvciBpIGluICQkZGVwczsgZG8gXAoJCXByb2c9JCR7
aSUlOip9OyBkaXI9JCR7aVwjKjp9OyBcCgkJY2FzZSAkJGRpciBpbglcCgkJKjoqKSBpZiBbICQk
cHJvZyAhPSAkJHtwcm9nXCMvfSAtbyAhIC1lICQkcHJvZyBdOyB0aGVuCVwKCQkJCWRpcj0kJHtk
aXIlJToqfTsJXAoJCQllbHNlCVwKCQkJCWNvbnRpbnVlOwlcCgkJCWZpOzsJXAoJCSopIGlmIFsg
LWQgJHtQS0dfREJESVJ9LyQkKGNkICQkZGlyOyAke01BS0V9IC1WIFBLR05BTUUpIF07IHRoZW4g
XAoJCQkJY29udGludWU7CVwKCQkJZmk7OwlcCgkJZXNhYzsJXAoJCWVjaG8gY2QgJCRkaXI7IGNk
ICQkZGlyOyAke01BS0V9ICQkdGFyZzsgXAoJZG9uZQoKLmlmICF0YXJnZXQoZmV0Y2gtcmVxdWly
ZWQpCmZldGNoLXJlcXVpcmVkOiBmZXRjaAouaWYgZGVmaW5lZChOT19ERVBFTkRTKQoJQCR7RUNI
T19NU0d9ICI9PT0+IE5PX0RFUEVORFMgaXMgc2V0LCBub3QgZmV0Y2hpbmcgYW55IG90aGVyIGRp
c3RmaWxlcyBmb3IgJHtQS0dOQU1FfSIKLmVsc2UKCUAke0VDSE9fTVNHfSAiPT09PiBGZXRjaGlu
ZyBhbGwgcmVxdWlyZWQgZGlzdGZpbGVzIGZvciAke1BLR05BTUV9IGFuZCBkZXBlbmRlbmNpZXMi
Ci5mb3IgZGVwdHlwZSBpbiBQS0cgRVhUUkFDVCBQQVRDSCBGRVRDSCBCVUlMRCBSVU4KLmlmIGRl
ZmluZWQoJHtkZXB0eXBlfV9ERVBFTkRTKQoJQHRhcmc9ZmV0Y2g7IGRlcHM9IiR7JHtkZXB0eXBl
fV9ERVBFTkRTfSI7ICR7RkVUQ0hfTElTVH0KLmVuZGlmCi5lbmRmb3IKLmVuZGlmCgouZW5kaWYK
Ci5pZiAhdGFyZ2V0KGZldGNoLXJlcXVpcmVkLWxpc3QpCmZldGNoLXJlcXVpcmVkLWxpc3Q6IGZl
dGNoLWxpc3QKLmlmICFkZWZpbmVkKE5PX0RFUEVORFMpCi5mb3IgZGVwdHlwZSBpbiBQS0cgRVhU
UkFDVCBQQVRDSCBGRVRDSCBCVUlMRCBSVU4KLmlmIGRlZmluZWQoJHtkZXB0eXBlfV9ERVBFTkRT
KQoJQHRhcmc9ZmV0Y2gtbGlzdDsgZGVwcz0iJHske2RlcHR5cGV9X0RFUEVORFN9IjsgJHtGRVRD
SF9MSVNUfQouZW5kaWYKLmVuZGZvcgouZW5kaWYKLmVuZGlmCgouaWYgIXRhcmdldChjaGVja3N1
bS1yZWN1cnNpdmUpCmNoZWNrc3VtLXJlY3Vyc2l2ZToKCUAke0VDSE9fTVNHfSAiPT09PiBGZXRj
aGluZyBhbmQgY2hlY2tpbmcgY2hlY2tzdW1zIGZvciAke1BLR05BTUV9IGFuZCBkZXBlbmRlbmNp
ZXMiCglAZm9yIGRpciBpbiAkey5DVVJESVJ9ICQkKCR7QUxMLURFUEVORFMtTElTVH0pOyBkbyBc
CgkJKGNkICQkZGlyOyAke01BS0V9IGNoZWNrc3VtKTsgXAoJZG9uZQouZW5kaWYKCiMgRGVwZW5k
ZW5jeSBsaXN0czogYnVpbGQgYW5kIHJ1bnRpbWUuICBQcmludCBvdXQgZGlyZWN0b3J5IG5hbWVz
LgoKYnVpbGQtZGVwZW5kcy1saXN0OgouaWYgZGVmaW5lZChQS0dfREVQRU5EUykgfHwgZGVmaW5l
ZChFWFRSQUNUX0RFUEVORFMpIHx8IGRlZmluZWQoUEFUQ0hfREVQRU5EUykgfHwgZGVmaW5lZChG
RVRDSF9ERVBFTkRTKSB8fCBkZWZpbmVkKEJVSUxEX0RFUEVORFMpIHx8IGRlZmluZWQoTElCX0RF
UEVORFMpCglAJHtCVUlMRC1ERVBFTkRTLUxJU1R9Ci5lbmRpZgoKQlVJTEQtREVQRU5EUy1MSVNU
PSBcCglmb3IgZGlyIGluICQkKCR7RUNIT19DTUR9ICIke1BLR19ERVBFTkRTfSAke0VYVFJBQ1Rf
REVQRU5EU30gJHtQQVRDSF9ERVBFTkRTfSAke0ZFVENIX0RFUEVORFN9ICR7QlVJTERfREVQRU5E
U30gJHtMSUJfREVQRU5EU30iIHwgJHtTRUR9IC1FIC1lICdzLChbXjogXSopOihbXjogXSopKDpb
XiBdKik/LFwyLGcnIC1lICd5LyAvXG4vJ3wgJHtTT1JUfSAtdSk7IGRvIFwKCQlpZiBbIC1kICQk
ZGlyIF07IHRoZW4gXAoJCQkke0VDSE9fQ01EfSAkJGRpcjsgXAoJCWVsc2UgXAoJCQkke0VDSE9f
TVNHfSAiJHtQS0dOQU1FfTogXCIkJGRpclwiIG5vbi1leGlzdGVudCAtLSBkZXBlbmRlbmN5IGxp
c3QgaW5jb21wbGV0ZSIgPiYyOyBcCgkJZmk7IFwKCWRvbmUgfCAke1NPUlR9IC11CgpydW4tZGVw
ZW5kcy1saXN0OgouaWYgZGVmaW5lZChMSUJfREVQRU5EUykgfHwgZGVmaW5lZChSVU5fREVQRU5E
UykKCUAke1JVTi1ERVBFTkRTLUxJU1R9Ci5lbmRpZgoKUlVOLURFUEVORFMtTElTVD0gXAoJZm9y
IGRpciBpbiAkJCgke0VDSE9fQ01EfSAiJHtfTElCX1JVTl9ERVBFTkRTOkMsLio6KFteOl0qKS4q
LFwxLH0iIHwgJHtTRUR9IC1lICd5LyAvXG4vJyB8ICR7U09SVH0gLXUpOyBkbyBcCgkJaWYgWyAt
ZCAkJGRpciBdOyB0aGVuIFwKCQkJJHtFQ0hPX0NNRH0gJCRkaXI7IFwKCQllbHNlIFwKCQkJJHtF
Q0hPX01TR30gIiR7UEtHTkFNRX06IFwiJCRkaXJcIiBub24tZXhpc3RlbnQgLS0gZGVwZW5kZW5j
eSBsaXN0IGluY29tcGxldGUiID4mMjsgXAoJCWZpOyBcCglkb25lIHwgJHtTT1JUfSAtdQoKIyBQ
YWNrYWdlIChyZWN1cnNpdmUgcnVudGltZSkgZGVwZW5kZW5jeSBsaXN0LiAgUHJpbnQgb3V0IGJv
dGggZGlyZWN0b3J5IG5hbWVzCiMgYW5kIHBhY2thZ2UgbmFtZXMuCgpwYWNrYWdlLWRlcGVuZHMt
bGlzdDoKLmlmIGRlZmluZWQoQ0hJTERfREVQRU5EUykgfHwgZGVmaW5lZChMSUJfREVQRU5EUykg
fHwgZGVmaW5lZChSVU5fREVQRU5EUykKCUAke1BBQ0tBR0UtREVQRU5EUy1MSVNUfQouZW5kaWYK
Cl9MSUJfUlVOX0RFUEVORFM9CSR7TElCX0RFUEVORFN9ICR7UlVOX0RFUEVORFN9ClBBQ0tBR0Ut
REVQRU5EUy1MSVNUPz0gXAoJaWYgWyAiJHtDSElMRF9ERVBFTkRTfSIgXTsgdGhlbiBcCgkJaW5z
dGFsbGVkPSQkKCR7UEtHX0lORk99IC1xTyAke1BLR09SSUdJTn0gMj4vZGV2L251bGwgfHwgXAoJ
CQkke1RSVUV9KTsgXAoJCWlmIFsgIiQkaW5zdGFsbGVkIiBdOyB0aGVuIFwKCQkJYnJlYWs7IFwK
CQlmaTsgXAoJCWlmIFsgLXogIiQkaW5zdGFsbGVkIiBdOyB0aGVuIFwKCQkJaW5zdGFsbGVkPSIk
e1BLR05BTUV9IjsgXAoJCWZpOyBcCgkJZm9yIHBrZ25hbWUgaW4gJCRpbnN0YWxsZWQ7IGRvIFwK
CQkJJHtFQ0hPX0NNRH0gIiQkcGtnbmFtZSAkey5DVVJESVJ9ICR7UEtHT1JJR0lOfSI7IFwKCQlk
b25lOyBcCglmaTsgXAoJY2hlY2tlZD0iJHtQQVJFTlRfQ0hFQ0tFRH0iOyBcCglmb3IgZGlyIGlu
ICR7X0xJQl9SVU5fREVQRU5EUzpDLFteOl0qOihbXjpdKik6Py4qLFwxLH07IGRvIFwKCQlkaXI9
JCQoJHtSRUFMUEFUSH0gJCRkaXIpOyBcCgkJaWYgWyAtZCAkJGRpciBdOyB0aGVuIFwKCQkJY2Fz
ZSAkJGNoZWNrZWQgaW4JXAoJCQkkJGRpcnwkJGRpclwgKnwqXCAkJGRpcnwqXCAkJGRpclwgKikg
Y29udGludWU7OwlcCgkJCWVzYWM7CVwKCQkJY2hpbGRvdXQ9JCQoY2QgJCRkaXI7ICR7TUFLRX0g
Q0hJTERfREVQRU5EUz15ZXMgUEFSRU5UX0NIRUNLRUQ9IiQkY2hlY2tlZCIgcGFja2FnZS1kZXBl
bmRzLWxpc3QpOyBcCgkJCXNldCAtLSAkJGNoaWxkb3V0OyBcCgkJCWNoaWxkZGlyPSIiOyBcCgkJ
CXdoaWxlIFsgJCRcIyAhPSAwIF07IGRvIFwKCQkJCWNoaWxkZGlyPSIkJGNoaWxkZGlyICQkMiI7
IFwKCQkJCSR7RUNIT19DTUR9ICIkJDEgJCQyICQkMyI7IFwKCQkJCXNoaWZ0IDM7IFwKCQkJZG9u
ZTsgXAoJCQljaGVja2VkPSIkJGRpciAkJGNoaWxkZGlyICQkY2hlY2tlZCI7IFwKCQllbHNlIFwK
CQkJJHtFQ0hPX01TR30gIiR7UEtHTkFNRX06IFwiJCRkaXJcIiBub24tZXhpc3RlbnQgLS0gZGVw
ZW5kZW5jeSBsaXN0IGluY29tcGxldGUiID4mMjsgXAoJCWZpOyBcCglkb25lCgpBQ1RVQUwtUEFD
S0FHRS1ERVBFTkRTPz0gXAoJZGVwZmlsZXM9IiIgOyBcCglmb3IgbGliIGluICR7TElCX0RFUEVO
RFM6Qy9cOi4qLy99OyBkbyBcCgkJZGVwZmlsZXM9IiQkZGVwZmlsZXMgYCR7U0VURU5WfSBMSUJf
RElSUz0iJHtMSUJfRElSU30iIExPQ0FMQkFTRT0iJHtMT0NBTEJBU0V9IiAke1NIfSAke1NDUklQ
VFNESVJ9L2ZpbmQtbGliLnNoICQke2xpYn1gIiA7IFwKCWRvbmUgOyBcCgkke1NFVEVOVn0gUEtH
X0JJTj0iJHtQS0dfQklOfSIgJHtTSH0gJHtTQ1JJUFRTRElSfS9hY3R1YWwtcGFja2FnZS1kZXBl
bmRzLnNoICQke2RlcGZpbGVzfSAke1JVTl9ERVBFTkRTOkMvKC4qKVw6LiovIlwxIi99CgpjcmVh
dGUtbWFuaWZlc3Q6CglAJHtNS0RJUn0gJHtNRVRBRElSfTsgXAoJKFwKCQllY2hvICJuYW1lOiBc
IiR7UEtHQkFTRX1cIiIgOyBcCgkJZWNobyAidmVyc2lvbjogXCIke1BLR1ZFUlNJT059XCIiIDsg
XAoJCWVjaG8gIm9yaWdpbjogJHtQS0dPUklHSU59IiA7IFwKCQllY2hvICJjb21tZW50OiA8PEVP
RCIgOyBcCgkJZWNobyAke0NPTU1FTlQ6UX0gOyBcCgkJZWNobyAiRU9EIiA7IFwKCQllY2hvICJt
YWludGFpbmVyOiAke01BSU5UQUlORVJ9IiA7IFwKCQllY2hvICJwcmVmaXg6ICR7UFJFRklYfSIg
OyBcCgkJWyAteiAiJHtXV1d9IiBdIHx8IGVjaG8gInd3dzogJHtXV1d9IiA7IFwKCQllY2hvICJk
ZXBzOiB7ICI7IFwKCQkke0FDVFVBTC1QQUNLQUdFLURFUEVORFN9IHwgJHtHUkVQfSAtdiAtRSAk
e1BLR19JR05PUkVfREVQRU5EU30gfCAke1NPUlR9IC11IDsgXAoJCWVjaG8gIn0iIDsgXAoJCWVj
aG8gImNhdGVnb3JpZXM6IFsgJHtDQVRFR09SSUVTOnU6Uy8kLywvfSBdIiA7IFwKCQlsPSR7TElD
RU5TRV9DT01CfSA7IFwKCQlbIC1uICIke05PX0FSQ0h9IiBdICYmIGVjaG8gImFyY2ggOiBgJHtQ
S0dfQklOfSBjb25maWcgYWJpIHwgdHIgJ1s6dXBwZXI6XScgJ1s6bG93ZXI6XScgfCAke0NVVH0g
LWQ6IC1mMSwyYDoqIiA7IFwKCQlbIC1uICIke05PX0FSQ0h9IiBdICYmIGVjaG8gImFiaSA6IGAk
e1BLR19CSU59IGNvbmZpZyBhYmkgfCAke0NVVH0gLWQ6IC1mMSwyYDoqIiA7IFwKCQllY2hvICJs
aWNlbnNlbG9naWM6ICQke2w6LXNpbmdsZX0iIDsgXAoJCVsgLXogIiR7TElDRU5TRX0iIF0gfHwg
ZWNobyAibGljZW5zZXM6IFsgJHtMSUNFTlNFOnU6Uy8kLywvfSBdIiA7IFwKCQlbIC16ICIke1VT
RVJTfSIgXSB8fCBlY2hvICJ1c2VyczogWyAke1VTRVJTOnU6Uy8kLywvfSBdIiA7IFwKCQlbIC16
ICIke0dST1VQU30iIF0gfHwgZWNobyAiZ3JvdXBzOiBbICR7R1JPVVBTOnU6Uy8kLywvfSBdIiA7
IFwKCSkgPiAke01BTklGRVNURn0KCUAke0VDSE9fQ01EfSAtbiAib3B0aW9uczogeyIgPj4gJHtN
QU5JRkVTVEZ9Ci5mb3Igb3B0IGluICR7Q09NUExFVEVfT1BUSU9OU19MSVNUfQoJQFsgLXogIiR7
UE9SVF9PUFRJT05TOk0ke29wdH19IiBdIHx8IG1hdGNoPSJvbiIgOyAke0VDSE9fTVNHfSAtbiAi
ICR7b3B0fTogJCR7bWF0Y2g6LW9mZn0sIiA+PiAke01BTklGRVNURn0KLmVuZGZvcgoJQCR7RUNI
T19DTUR9ICJ9IiA+PiAke01BTklGRVNURn0KLmlmIGRlZmluZWQoUEtHX05PVEVTKQoJQCR7RUNI
T19DTUR9IC1uICJhbm5vdGF0aW9uczogeyIgPj4gJHtNQU5JRkVTVEZ9Ci5mb3Igbm90ZSBpbiAk
e1BLR19OT1RFU30KCUAke0VDSE9fQ01EfSAtbiAnICR7bm90ZX06ICIke1BLR19OT1RFXyR7bm90
ZX06Uy8iL1wiL2d9IiwnID4+ICR7TUFOSUZFU1RGfQouZW5kZm9yCglAJHtFQ0hPX0NNRH0gIiB9
IiA+PiAke01BTklGRVNURn0KLmVuZGlmCglAWyAtZiAke1BLR0lOU1RBTEx9IF0gJiYgJHtDUH0g
JHtQS0dJTlNUQUxMfSAke01FVEFESVJ9LytJTlNUQUxMOyBcCgkke1JNfSAtZiAke01FVEFESVJ9
LytQUkVfSU5TVEFMTCA7IFwKCWZvciBhIGluICR7UEtHUFJFSU5TVEFMTH07IGRvIFwKCQlbIC1m
ICQkYSBdICYmICR7Q0FUfSAkJGEgPj4gJHtNRVRBRElSfS8rUFJFX0lOU1RBTEwgOyBcCglkb25l
IDsgXAoJJHtSTX0gLWYgJHtNRVRBRElSfS8rUE9TVF9JTlNUQUxMIDsgXAoJZm9yIGEgaW4gJHtQ
S0dQT1NUSU5TVEFMTH07IGRvIFwKCQlbIC1mICQkYSBdICYmICR7Q0FUfSAkJGEgPj4gJHtNRVRB
RElSfS8rUE9TVF9JTlNUQUxMIDsgXAoJZG9uZSA7IFwKCVsgLWYgJHtQS0dERUlOU1RBTEx9IF0g
JiYgJHtDUH0gJHtQS0dERUlOU1RBTEx9ICR7TUVUQURJUn0vK0RFSU5TVEFMTDsgXAoJJHtSTX0g
LWYgJHtNRVRBRElSfS8rUFJFX0RFSU5TVEFMTCA7IFwKCWZvciBhIGluICR7UEtHUFJFREVJTlNU
QUxMfTsgZG8gXAoJCVsgLWYgJCRhIF0gJiYgJHtDQVR9ICQkYSA+PiAke01FVEFESVJ9LytQUkVf
REVJTlNUQUxMIDsgXAoJZG9uZSA7IFwKCSR7Uk19IC1mICR7TUVUQURJUn0vK1BPU1RfREVJTlNU
QUxMIDsgXAoJZm9yIGEgaW4gJHtQS0dQT1NUREVJTlNUQUxMfTsgZG8gXAoJCVsgLWYgJCRhIF0g
JiYgJHtDQVR9ICQkYSA+PiAke01FVEFESVJ9LytQT1NUX0RFSU5TVEFMTCA7IFwKCWRvbmUgOyBc
CglbIC1mICR7UEtHUE9TVERFSU5TVEFMTH0gXSAmJiAke0NQfSAke1BLR1BPU1RERUlOU1RBTEx9
ICR7TUVUQURJUn0vK1BPU1RfREVJTlNUQUxMOyBcCglbIC1mICR7UEtHVVBHUkFERX0gXSAmJiAk
e0NQfSAke1BLR1VQR1JBREV9ICR7TUVUQURJUn0vK1VQR1JBREU7IFwKCVsgLWYgJHtQS0dQUkVV
UEdSQURFfSBdICYmICR7Q1B9ICR7UEtHUFJFVVBHUkFERX0gJHtNRVRBRElSfS8rUFJFX1VQR1JB
REU7IFwKCVsgLWYgJHtQS0dQT1NUVVBHUkFERX0gXSAmJiAke0NQfSAke1BLR1BPU1RVUEdSQURF
fSAke01FVEFESVJ9LytQT1NUX1VQR1JBREU7IFwKCSR7Q1B9ICR7REVTQ1J9ICR7TUVUQURJUn0v
K0RFU0M7IFwKCVsgLWYgJHtQS0dNRVNTQUdFfSBdICYmICR7Q1B9ICR7UEtHTUVTU0FHRX0gJHtN
RVRBRElSfS8rRElTUExBWSB8fCByZXR1cm4gMAoKIyBQcmludCBvdXQgcGFja2FnZSBuYW1lcy4K
CnBhY2thZ2UtZGVwZW5kczoKCUAke1BBQ0tBR0UtREVQRU5EUy1MSVNUfSB8ICR7QVdLfSAne3By
aW50ICQkMSI6IiQkM30nCgphY3R1YWwtcGFja2FnZS1kZXBlbmRzOgoJQCR7QUNUVUFMLVBBQ0tB
R0UtREVQRU5EU30KCiMgQnVpbGQgcGFja2FnZXMgZm9yIHBvcnQgYW5kIGRlcGVuZGVuY2llcwoK
cGFja2FnZS1yZWN1cnNpdmU6IHBhY2thZ2UKCUBmb3IgZGlyIGluICQkKCR7QUxMLURFUEVORFMt
TElTVH0pOyBkbyBcCgkJKGNkICQkZGlyOyAke01BS0V9IHBhY2thZ2Utbm9pbnN0YWxsKTsgXAoJ
ZG9uZQoKIyBTaG93IG1pc3NpbmcgZGVwZW5kZW5jaWVzCm1pc3Npbmc6CglAX29yaWdpbnM9JCQo
JHtQS0dfSU5GT30gLWFvcSk7IFwKCWZvciBkaXIgaW4gJCQoJHtBTEwtREVQRU5EUy1MSVNUfSk7
IGRvIFwKCQlfb3JpZ2luPSQke2RpciMjJHtQT1JUU0RJUn0vfTsgXAoJCWlmICEgJCQoJHtFQ0hP
X0NNRH0gJCR7X29yaWdpbnN9IHwgJHtHUkVQfSAtcSAkJHtfb3JpZ2lufSk7IHRoZW4gXAoJCQkk
e0VDSE9fQ01EfSAkJHtfb3JpZ2lufTsgXAoJCWZpOyBcCglkb25lCgojIFNob3cgbWlzc2luZyBk
ZXBlbmRlbmNpZXMgYnkgbmFtZQptaXNzaW5nLXBhY2thZ2VzOgoJQF9wYWNrYWdlcz0kJCgke1BL
R19JTkZPfSAtYXEpOyBcCglmb3IgZGlyIGluICQkKCR7QUxMLURFUEVORFMtTElTVH0pOyBkbyBc
CgkJX3A9JCQoY2QgJCRkaXI7ICR7TUFLRX0gLVZQS0dOQU1FKTsgXAoJCWlmICEgJCQoJHtFQ0hP
X0NNRH0gJCR7X3BhY2thZ2VzfSB8ICR7R1JFUH0gLXEgJCR7X3B9KTsgdGhlbiBcCgkJCSR7RUNI
T19DTUR9ICQke19wfTsgXAoJCWZpOyBcCglkb25lCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgRXZlcnl0aGluZyBhZnRl
ciBoZXJlIGFyZSBpbnRlcm5hbCB0YXJnZXRzIGFuZCByZWFsbHkKIyBzaG91bGRuJ3QgYmUgdG91
Y2hlZCBieSBhbnlib2R5IGJ1dCB0aGUgcmVsZWFzZSBlbmdpbmVlcnMuCiMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgVGhp
cyB0YXJnZXQgZ2VuZXJhdGVzIGFuIGluZGV4IGVudHJ5IHN1aXRhYmxlIGZvciBhZ2dyZWdhdGlv
biBpbnRvCiMgYSBsYXJnZSBpbmRleC4gIEZvcm1hdCBpczoKIwojIGRpc3RyaWJ1dGlvbi1uYW1l
fHBvcnQtcGF0aHxpbnN0YWxsYXRpb24tcHJlZml4fGNvbW1lbnR8IFwKIyAgZGVzY3JpcHRpb24t
ZmlsZXxtYWludGFpbmVyfGNhdGVnb3JpZXN8ZXh0cmFjdC1kZXBlbmRzfCBcCiMgIHBhdGNoLWRl
cGVuZHN8ZmV0Y2gtZGVwZW5kc3xidWlsZC1kZXBlbmRzfHJ1bi1kZXBlbmRzfHd3dyBzaXRlCiMK
IyBJZiB0aGlzIGV2ZXIgY2hhbmdlcywgcG9ydG1nciBzaG91bGQgY29udGFjdCB0aGUgcG9ydHNu
YXAgbWFpbnRhaW5lcgojIGZpcnN0IHRvIGF2b2lkIGdyYXR1aXRvdXMgYnJlYWthZ2UuCgouIGlm
ICF0YXJnZXQoZGVzY3JpYmUpCl9FWFRSQUNUX0RFUEVORFM9JHtFWFRSQUNUX0RFUEVORFM6Qy9e
W14gOl0rOihbXiA6XSspKDpbXiA6XSspPy9cMS86Tzp1fQpfUEFUQ0hfREVQRU5EUz0ke1BBVENI
X0RFUEVORFM6Qy9eW14gOl0rOihbXiA6XSspKDpbXiA6XSspPy9cMS86Tzp1fQpfRkVUQ0hfREVQ
RU5EUz0ke0ZFVENIX0RFUEVORFM6Qy9eW14gOl0rOihbXiA6XSspKDpbXiA6XSspPy9cMS86Tzp1
fQpfTElCX0RFUEVORFM9JHtMSUJfREVQRU5EUzpDL15bXiA6XSs6KFteIDpdKykoOlteIDpdKyk/
L1wxLzpPOnV9Cl9CVUlMRF9ERVBFTkRTPSR7QlVJTERfREVQRU5EUzpDL15bXiA6XSs6KFteIDpd
KykoOlteIDpdKyk/L1wxLzpPOnV9ICR7X0xJQl9ERVBFTkRTfQpfUlVOX0RFUEVORFM9JHtSVU5f
REVQRU5EUzpDL15bXiA6XSs6KFteIDpdKykoOlteIDpdKyk/L1wxLzpPOnV9ICR7X0xJQl9ERVBF
TkRTfQouIGlmIGV4aXN0cygke0RFU0NSfSkKX0RFU0NSPSR7REVTQ1J9Ci4gZWxzZQpfREVTQ1I9
L2Rldi9udWxsCi4gZW5kaWYKCi4gIGlmIGRlZmluZWQoQlVJTERJTkdfSU5ERVgpICYmIGRlZmlu
ZWQoSU5ERVhfUE9SVFMpCklOREVYX09VVD0ke0lOREVYX1RNUERJUn0vJHtJTkRFWEZJTEV9LmRl
c2MuYWdncgouICBlbHNlCklOREVYX09VVD0vZGV2L3N0ZG91dAouICBlbmRpZgoKZGVzY3JpYmU6
CglAKCR7RUNIT19DTUR9IC1uICIke1BLR05BTUV9fCR7LkNVUkRJUn18JHtQUkVGSVh9fCI7IFwK
CSR7RUNIT19DTUR9IC1uICR7Q09NTUVOVDpRfTsgXAoJJHtFQ0hPX0NNRH0gLW4gInwke19ERVND
Un18JHtNQUlOVEFJTkVSfXwke0NBVEVHT1JJRVN9fCR7X0VYVFJBQ1RfREVQRU5EU318JHtfUEFU
Q0hfREVQRU5EU318JHtfRkVUQ0hfREVQRU5EU318JHtfQlVJTERfREVQRU5EUzpPOnV9fCR7X1JV
Tl9ERVBFTkRTOk86dX18IjsgXAoJd2hpbGUgcmVhZCBvbmUgdHdvIGRpc2NhcmQ7IGRvIFwKCQlj
YXNlICIkJG9uZSIgaW4gXAoJCVdXVzopICAgY2FzZSAiJCR0d28iIGluIFwKCQkJaHR0cHM6Ly8q
fGh0dHA6Ly8qfGZ0cDovLyopICR7RUNIT19DTUR9IC1uICIkJHR3byIgOzsgXAoJCQkqKSAke0VD
SE9fQ01EfSAtbiAiaHR0cDovLyQkdHdvIiA7OyBcCgkJCWVzYWM7IFwKCQkJYnJlYWs7IFwKCQkJ
OzsgXAoJCWVzYWM7IFwKCWRvbmUgPCAke0RFU0NSfTsgJHtFQ0hPX0NNRH0pID4+JHtJTkRFWF9P
VVR9Ci4gZW5kaWYKCnd3dy1zaXRlOgouaWYgZXhpc3RzKCR7REVTQ1J9KQoJQCR7QVdLfSAnJCQx
IH4gL15XV1c6LyB7cHJpbnQgJCQyfScgJHtERVNDUn0gfCAke0hFQUR9IC0xCi5lbHNlCglAJHtF
Q0hPX0NNRH0KLmVuZGlmCgouaWYgIXRhcmdldChyZWFkbWVzKQpyZWFkbWVzOglyZWFkbWUKLmVu
ZGlmCgouaWYgIXRhcmdldChyZWFkbWUpCnJlYWRtZToKCUAke1JNfSAtZiAkey5DVVJESVJ9L1JF
QURNRS5odG1sCglAY2QgJHsuQ1VSRElSfSAmJiAke01BS0V9ICR7LkNVUkRJUn0vUkVBRE1FLmh0
bWwKLmVuZGlmCgokey5DVVJESVJ9L1JFQURNRS5odG1sOgoJQCR7RUNIT19NU0d9ICI9PT0+ICAg
Q3JlYXRpbmcgUkVBRE1FLmh0bWwgZm9yICR7UEtHTkFNRX0iCglAJHtTRUR9IC1lICdzfCUlUE9S
VCUlfCckJCgke0VDSE9fQ01EfSAkey5DVVJESVJ9IHwgXAoJCQkJCQkJICAke1NFRH0gLWUgJ3N8
LiovXChbXi9dKi9bXi9dKlwpJCR8XDF8JyknfGcnIFwKCQkJLWUgJ3N8JSVQS0clJXwke1BLR05B
TUV9fGcnIFwKCQkJLWUgJ3N8JSVDT01NRU5UJSV8JyIkJCgke0VDSE9fQ01EfSAke0NPTU1FTlQ6
UX0pIid8JyBcCgkJCS1lICcvJSVDT01NRU5UJSUvZCcgXAoJCQktZSAnc3wlJURFU0NSJSV8JyIk
JCgke0VDSE9fQ01EfSAke0RFU0NSfSB8IFwKCQkJCQkJCQkgJHtTRUR9IC1lICdzfCR7LkNVUkRJ
Un0vfHwnKSInfCcgXAoJCQktZSAnc3wlJUVNQUlMJSV8JyIkJCgke0VDSE9fQ01EfSAiJHtNQUlO
VEFJTkVSfSIgfCBcCgkJCQkJCQkJICR7U0VEfSAtZSAncy8oW14pXSopLy87cy8uKjwvLztzLz4u
Ki8vJykiJ3xnJyBcCgkJCS1lICdzfCUlTUFJTlRBSU5FUiUlfCR7TUFJTlRBSU5FUn18ZycgXAoJ
CQktZSAnc3wlJVdFQlNJVEUlJXwnIiQkKGNkICR7LkNVUkRJUn0gJiYgZXZhbCAke01BS0V9IHBy
ZXR0eS1wcmludC13d3ctc2l0ZSkiJ3wnIFwKCQkJLWUgJ3N8JSVCVUlMRF9ERVBFTkRTJSV8JyIk
JChjZCAkey5DVVJESVJ9ICYmIGV2YWwgJHtNQUtFfSBwcmV0dHktcHJpbnQtYnVpbGQtZGVwZW5k
cy1saXN0KSInfCcgXAoJCQktZSAnc3wlJVJVTl9ERVBFTkRTJSV8JyIkJChjZCAkey5DVVJESVJ9
ICYmIGV2YWwgJHtNQUtFfSBwcmV0dHktcHJpbnQtcnVuLWRlcGVuZHMtbGlzdCkiJ3wnIFwKCQkJ
LWUgJ3N8JSVUT1AlJXwnIiQkKCR7RUNIT19DTUR9ICR7Q0FURUdPUklFU30gfCBcCgkJCQkJCQkg
ICAke1NFRH0gLWUgJ3N8IC4qfHwnIC1lICdzfFteL10qfC4ufGcnKSInLy4ufCcgXAoJCSR7VEVN
UExBVEVTfS9SRUFETUUucG9ydCA+PiAkey5UQVJHRVR9CgojIFRoZSBmb2xsb3dpbmcgdHdvIHRh
cmdldHMgcmVxdWlyZSBhbiB1cC10by1kYXRlIElOREVYIGluICR7UE9SVFNESVJ9CgpfUFJFVFRZ
X1BSSU5UX0RFUEVORFNfTElTVD1cCglpZiBbICEgLXIgJHtJTkRFWERJUn0vJHtJTkRFWEZJTEV9
IF0gOyB0aGVuIFwKCQkke0VDSE9fTVNHfSAiJHsuVEFSR0VUfSByZXF1aXJlcyBhbiBJTkRFWCBm
aWxlICgke0lOREVYRklMRX0pLiBQbGVhc2UgcnVuIG1ha2UgaW5kZXggb3IgbWFrZSBmZXRjaGlu
ZGV4LiI7IFwKCWVsc2UgXAoJCXRhcmdldD0key5UQVJHRVQ6Qy9wcmV0dHktcHJpbnQtKC4qKS1k
ZXBlbmRzLWxpc3QvXDEvfSA7IFwKCQlpZiBbICIkJHRhcmdldCIgPSAiYnVpbGQiIF0gOyB0aGVu
IGZsZG51bT04IDsgZWxzZSBmbGRudW09OSA7IGZpOyBcCgkJJHtFQ0hPX01TR30gLW4gJ1RoaXMg
cG9ydCByZXF1aXJlcyBwYWNrYWdlKHMpICInIDsgXAoJCSR7RUNIT19NU0d9IC1uIGAke0FXS30g
LUZcfCAiXFwkJDEgfiAvXiR7UEtHTkFNRX0vIHtwcmludCBcXCQkJCR7ZmxkbnVtfTt9IiAke0lO
REVYRElSfS8ke0lOREVYRklMRX1gIDsgXAoJCSR7RUNIT19NU0d9ICJcIiB0byAkJHRhcmdldC4i
OyBcCglmaTsKCgouaWYgIXRhcmdldChwcmV0dHktcHJpbnQtYnVpbGQtZGVwZW5kcy1saXN0KQpw
cmV0dHktcHJpbnQtYnVpbGQtZGVwZW5kcy1saXN0OgouaWYgZGVmaW5lZChQS0dfREVQRU5EUykg
fHwgZGVmaW5lZChFWFRSQUNUX0RFUEVORFMpIHx8IGRlZmluZWQoUEFUQ0hfREVQRU5EUykgfHwg
XAoJZGVmaW5lZChGRVRDSF9ERVBFTkRTKSB8fCBkZWZpbmVkKEJVSUxEX0RFUEVORFMpIHx8IGRl
ZmluZWQoTElCX0RFUEVORFMpCglAJHtfUFJFVFRZX1BSSU5UX0RFUEVORFNfTElTVH0KLmVuZGlm
Ci5lbmRpZgoKLmlmICF0YXJnZXQocHJldHR5LXByaW50LXJ1bi1kZXBlbmRzLWxpc3QpCnByZXR0
eS1wcmludC1ydW4tZGVwZW5kcy1saXN0OgouaWYgZGVmaW5lZChSVU5fREVQRU5EUykgfHwgZGVm
aW5lZChMSUJfREVQRU5EUykKCUAke19QUkVUVFlfUFJJTlRfREVQRU5EU19MSVNUfQouZW5kaWYK
LmVuZGlmCgpfU1VCX0xJU1RfVEVNUD0JJHtTVUJfTElTVDpTLyQvIWcvOlMvXi8gLWUgcyElJS86
Uy89LyUlIS99Ci5pZiAhdGFyZ2V0KGFwcGx5LXNsaXN0KQphcHBseS1zbGlzdDoKLmlmIGRlZmlu
ZWQoU1VCX0ZJTEVTKQouZm9yIGZpbGUgaW4gJHtTVUJfRklMRVN9Ci5pZiAhZXhpc3RzKCR7RklM
RVNESVJ9LyR7ZmlsZX0uaW4pCglAJHtFQ0hPX01TR30gIioqIE1pc3NpbmcgJHtGSUxFU0RJUn0v
JHtmaWxlfS5pbiBmb3IgJHtQS0dOQU1FfS4iOyBleGl0IDEKLmVsc2UKCUAke1NFRH0gJHtfU1VC
X0xJU1RfVEVNUH0gLWUgJy9eQGNvbW1lbnQgL2QnICR7RklMRVNESVJ9LyR7ZmlsZX0uaW4gPiAk
e1dSS0RJUn0vJHtmaWxlfQouZW5kaWYKLmVuZGZvcgouZm9yIGkgaW4gcGtnLW1lc3NhZ2UgcGtn
LWluc3RhbGwgcGtnLWRlaW5zdGFsbCBwa2ctcmVxCi5pZiAke1NVQl9GSUxFUzpNJHtpfSp9IT0i
Igoke2k6Uy8tLy86dHV9PQkke1dSS0RJUn0vJHtTVUJfRklMRVM6TSR7aX0qfQouZW5kaWYKLmVu
ZGZvcgouZW5kaWYKLmVuZGlmCgojIEdlbmVyYXRlIHBhY2tpbmcgbGlzdC4gIEFsc28gdGVzdHMg
dG8gbWFrZSBzdXJlIGFsbCByZXF1aXJlZCBwYWNrYWdlCiMgZmlsZXMgZXhpc3QuCgouaWYgIXRh
cmdldChnZW5lcmF0ZS1wbGlzdCkKZ2VuZXJhdGUtcGxpc3Q6ICR7V1JLRElSfQoJQCR7RUNIT19N
U0d9ICI9PT0+ICAgR2VuZXJhdGluZyB0ZW1wb3JhcnkgcGFja2luZyBsaXN0IgoJQCR7TUtESVJ9
IGAke0RJUk5BTUV9ICR7VE1QUExJU1R9YAoJQGlmIFsgISAtZiAke0RFU0NSfSBdOyB0aGVuICR7
RUNIT19NU0d9ICIqKiBNaXNzaW5nIHBrZy1kZXNjciBmb3IgJHtQS0dOQU1FfS4iOyBleGl0IDE7
IGZpCglAPiR7VE1QUExJU1R9CglAZm9yIGZpbGUgaW4gJHtQTElTVF9GSUxFU307IGRvIFwKCQkk
e0VDSE9fQ01EfSAkJHtmaWxlfSB8ICR7U0VEfSAke1BMSVNUX1NVQjpTLyQvIWcvOlMvXi8gLWUg
cyElJS86Uy89LyUlIS99ID4+ICR7VE1QUExJU1R9OyBcCglkb25lCglAaWYgWyAtZiAke1BMSVNU
fSBdOyB0aGVuIFwKCQkke1NFRH0gJHtQTElTVF9TVUI6Uy8kLyFnLzpTL14vIC1lIHMhJSUvOlMv
PS8lJSEvfSAke1BMSVNUfSA+PiAke1RNUFBMSVNUfTsgXAoJZmkKCiMgS2VlcCBQTElTVF9ESVJT
VFJZIGFzIGNvbXBhdGliaWxpdHkKLmZvciBkaXIgaW4gJHtQTElTVF9ESVJTfSAke1BMSVNUX0RJ
UlNUUll9CglAJHtFQ0hPX0NNRH0gJHtkaXJ9IHwgJHtTRUR9ICR7UExJU1RfU1VCOlMvJC8hZy86
Uy9eLyAtZSBzISUlLzpTLz0vJSUhL30gLWUgJ3MsXixAZGlyICwnID4+ICR7VE1QUExJU1R9Ci5l
bmRmb3IKCi5pZiBkZWZpbmVkKFVTRV9MSU5VWF9QUkVGSVgpCi5pZiBkZWZpbmVkKFVTRV9MRENP
TkZJRykKCUAke0VDSE9fQ01EfSAiQGV4ZWMgJHtMRENPTkZJR19DTUR9IiA+PiAke1RNUFBMSVNU
fQoJQCR7RUNIT19DTUR9ICJAdW5leGVjICR7TERDT05GSUdfQ01EfSIgPj4gJHtUTVBQTElTVH0K
LmVuZGlmCi5lbHNlCi5pZiBkZWZpbmVkKFVTRV9MRENPTkZJRykKLmlmICFkZWZpbmVkKElOU1RB
TExfQVNfVVNFUikKCUAke0VDSE9fQ01EfSAiQGV4ZWMgJHtMRENPTkZJR30gLW0gJHtVU0VfTERD
T05GSUd9IiA+PiAke1RNUFBMSVNUfQoJQCR7RUNIT19DTUR9ICJAdW5leGVjICR7TERDT05GSUd9
IC1SIiA+PiAke1RNUFBMSVNUfQouZWxzZQoJQCR7RUNIT19DTUR9ICJAZXhlYyAke0xEQ09ORklH
fSAtbSAke1VTRV9MRENPTkZJR30gfHwgJHtUUlVFfSIgPj4gJHtUTVBQTElTVH0KCUAke0VDSE9f
Q01EfSAiQHVuZXhlYyAke0xEQ09ORklHfSAtUiB8fCAke1RSVUV9IiA+PiAke1RNUFBMSVNUfQou
ZW5kaWYKLmVuZGlmCi5pZiBkZWZpbmVkKFVTRV9MRENPTkZJRzMyKQouaWYgIWRlZmluZWQoSU5T
VEFMTF9BU19VU0VSKQoJQCR7RUNIT19DTUR9ICJAZXhlYyAke0xEQ09ORklHfSAtMzIgLW0gJHtV
U0VfTERDT05GSUczMn0iID4+ICR7VE1QUExJU1R9CglAJHtFQ0hPX0NNRH0gIkB1bmV4ZWMgJHtM
RENPTkZJR30gLTMyIC1SIiA+PiAke1RNUFBMSVNUfQouZWxzZQoJQCR7RUNIT19DTUR9ICJAZXhl
YyAke0xEQ09ORklHfSAtMzIgLW0gJHtVU0VfTERDT05GSUczMn0gfHwgJHtUUlVFfSIgPj4gJHtU
TVBQTElTVH0KCUAke0VDSE9fQ01EfSAiQHVuZXhlYyAke0xEQ09ORklHfSAtMzIgLVIgfHwgJHtU
UlVFfSIgPj4gJHtUTVBQTElTVH0KLmVuZGlmCi5lbmRpZgouZW5kaWYKLmVuZGlmCgoke1RNUFBM
SVNUfToKCUBjZCAkey5DVVJESVJ9ICYmICR7TUFLRX0gZ2VuZXJhdGUtcGxpc3QKCiR7VE1QUExJ
U1RfU09SVH06ICR7VE1QUExJU1R9CglAJHtTT1JUfSAtdSAke1RNUFBMSVNUfSA+JHtUTVBQTElT
VF9TT1JUfQoKLmZvciBfdHlwZSBpbiBFWEFNUExFUyBET0NTCi5pZiAhdGFyZ2V0KGFkZC1wbGlz
dC0ke190eXBlOnRsfSkKLmlmIGRlZmluZWQoUE9SVCR7X3R5cGV9KSAmJiAhZGVmaW5lZChOT1BP
UlQke190eXBlfSkKYWRkLXBsaXN0LSR7X3R5cGU6dGx9OgouZm9yIHggaW4gJHtQT1JUJHtfdHlw
ZX19CglAaWYgJHtFQ0hPX0NNRH0gIiR7eH0ifCAke0FXS30gJyQkMSB+IC8oXCp8XHx8XFt8XF18
XD98XHt8XH18XCQkKS8geyBleGl0IDF9Oyc7IHRoZW4gXAoJCWlmIFsgISAtZSAke1NUQUdFRElS
fSR7JHtfdHlwZX1ESVJ9LyR7eH0gXTsgdGhlbiBcCgkJJHtFQ0hPX0NNRH0gJHske190eXBlfURJ
Un0vJHt4fSA+PiAke1RNUFBMSVNUfTsgXAoJZmk7ZmkKLmVuZGZvcgoJQCR7RklORH0gLVAgJHtQ
T1JUJHtfdHlwZX06Uy9eLyR7U1RBR0VESVJ9JHske190eXBlfURJUn1cLy99ICEgLXR5cGUgZCAy
Pi9kZXYvbnVsbCB8IFwKCQkke1NFRH0gLW5lICdzLF4ke1NUQUdFRElSfSwscCcgPj4gJHtUTVBQ
TElTVH0KLmVuZGlmCi5lbmRpZgouZW5kZm9yCgouaWYgIXRhcmdldChhZGQtcGxpc3QtZGF0YSkK
LmlmIGRlZmluZWQoUE9SVERBVEEpCmFkZC1wbGlzdC1kYXRhOgouZm9yIHggaW4gJHtQT1JUREFU
QX0KCUBpZiAke0VDSE9fQ01EfSAiJHt4fSJ8ICR7QVdLfSAnJCQxIH4gLyhcKnxcfHxcW3xcXXxc
P3xce3xcfXxcJCQpLyB7IGV4aXQgMX07JzsgdGhlbiBcCgkJaWYgWyAhIC1lICR7U1RBR0VESVJ9
JHtEQVRBRElSfS8ke3h9IF07IHRoZW4gXAoJCSR7RUNIT19DTUR9ICR7REFUQURJUn0vJHt4fSA+
PiAke1RNUFBMSVNUfTsgXAoJZmk7ZmkKLmVuZGZvcgoJQCR7RklORH0gLVAgJHtQT1JUREFUQTpT
L14vJHtTVEFHRURJUn0ke0RBVEFESVJ9XC8vfSAhIC10eXBlIGQgMj4vZGV2L251bGwgfCBcCgkJ
JHtTRUR9IC1uZSAncyxeJHtTVEFHRURJUn0sLHAnID4+ICR7VE1QUExJU1R9Ci5lbmRpZgouZW5k
aWYKCi5pZiAhdGFyZ2V0KGFkZC1wbGlzdC1pbmZvKQouaWYgZGVmaW5lZChJTkZPKQphZGQtcGxp
c3QtaW5mbzoKLmZvciBpIGluICR7SU5GT30KCUAke0xTfSAke1NUQUdFRElSfSR7UFJFRklYfS8k
e0lORk9fUEFUSH0vJGkuaW5mbyogfCAke1NFRH0gLWUgczoke1NUQUdFRElSfTpAaW5mb1wgOmcg
Pj4gJHtUTVBQTElTVH0KLmVuZGZvcgouZW5kaWYKLmVuZGlmCgojIElmIHdlJ3JlIGluc3RhbGxp
bmcgaW50byBhIG5vbi1zdGFuZGFyZCBQUkVGSVgsIHdlIG5lZWQgdG8gcmVtb3ZlIHRoYXQgZGly
ZWN0b3J5IGF0CiMgZGVpbnN0YWxsLXRpbWUKLmlmICF0YXJnZXQoYWRkLXBsaXN0LXBvc3QpCi5p
ZiAoJHtQUkVGSVh9ICE9ICR7TE9DQUxCQVNFfSAmJiAke1BSRUZJWH0gIT0gJHtMSU5VWEJBU0V9
ICYmIFwKICAgICR7UFJFRklYfSAhPSAiL3VzciIgJiYgIWRlZmluZWQoTk9fUFJFRklYX1JNRElS
KSkKYWRkLXBsaXN0LXBvc3Q6CglAJHtFQ0hPX0NNRH0gIkBkaXIgJHtQUkVGSVh9IiA+PiAke1RN
UFBMSVNUfQouZW5kaWYKLmVuZGlmCgouaWYgIXRhcmdldChpbnN0YWxsLXJjLXNjcmlwdCkKLmlm
IGRlZmluZWQoVVNFX1JDX1NVQlIpICYmICR7VVNFX1JDX1NVQlI6dHV9ICE9ICJZRVMiCmluc3Rh
bGwtcmMtc2NyaXB0OgoJQCR7RUNIT19NU0d9ICI9PT0+IFN0YWdpbmcgcmMuZCBzdGFydHVwIHNj
cmlwdChzKSIKCUBmb3IgaSBpbiAke1VTRV9SQ19TVUJSfTsgZG8gXAoJCV9wcmVmaXg9JHtQUkVG
SVh9OyBcCgkJWyAiJHtQUkVGSVh9IiA9ICIvdXNyIiBdICYmIF9wcmVmaXg9IiIgOyBcCgkJJHtJ
TlNUQUxMX1NDUklQVH0gJHtXUktESVJ9LyQke2l9ICR7U1RBR0VESVJ9JCR7X3ByZWZpeH0vZXRj
L3JjLmQvJCR7aSUuc2h9OyBcCgkJJHtFQ0hPX0NNRH0gIiQke19wcmVmaXh9L2V0Yy9yYy5kLyQk
e2klLnNofSIgPj4gJHtUTVBQTElTVH07IFwKCWRvbmUKLmVuZGlmCi5lbmRpZgoKLmlmICF0YXJn
ZXQoY2hlY2stbWFuKQpjaGVjay1tYW46IHN0YWdlCglAJHtFQ0hPX01TR30gIj09PT0+IENoZWNr
aW5nIG1hbiBwYWdlcyAoY2hlY2stbWFuKSIKCUBtZGlycz0gOyBcCglmb3IgZGlyIGluICR7TUFO
RElSUzpTL14vJHtTVEFHRURJUn0vfSA7IGRvIFwKCQlbIC1kICQkZGlyIF0gJiYgbWRpcnM9IiQk
bWRpcnMgJCRkaXIiIDtcCglkb25lIDsgXAoJZXJyPTAgOyBcCglmb3IgZGlyIGluICQkbWRpcnM7
IGRvIFwKCQlmb3IgZiBpbiAkJChmaW5kICQkZGlyIC1uYW1lICIqLmd6Iik7IGRvIFwKCQkJJHtF
Q0hPX0NNRH0gIj09PT4gQ2hlY2tpbmcgJCR7ZiMjKi99IiA7IFwKCQkJZ3VuemlwIC1jICQkZiB8
IG1hbmRvYyAtVGxpbnQgLVdlcnJvciAmJiBjb250aW51ZSA7IFwKCQkJZXJyPTEgOyBcCgkJZG9u
ZSA7IFwKCWRvbmUgOyBcCglleGl0ICQkZXJyCi5lbmRpZgoKIyBDb21wcmVzcyBhbGwgbWFucGFn
ZSBub3QgYWxyZWFkeSBjb21wcmVzc2VkIHdoaWNoIGFyZSBub3QgaGFyZGxpbmtzCiMgRmluZCBh
bGwgbWFucGFnZXMgd2hpY2ggYXJlIG5vdCBjb21wcmVzc2VkIGFuZCBhcmUgaGFkbGlua3MsIGFu
ZCBvbmx5IGdldCB0aGUgbGlzdCBvZiBpbm9kZXMgY29uY2VybmVkLCBmb3IgZWFjaCBvZiB0aGVt
IGNvbXByZXNzIHRoZSBmaXJzdCBvbmUgZm91bmQgYW5kIHJlY3JlYXRlIHRoZSBoYXJkbGlua3Mg
Zm9yIHRoZSBvdGhlcnMKIyBGaXhlcyBhbGwgZGVhZCBzeW1saW5rcyBsZWZ0IGJ5IHRoZSBwcmV2
aW91cyByb3VuZAouaWYgIXRhcmdldChjb21wcmVzcy1tYW4pCmNvbXByZXNzLW1hbjoKCUAke0VD
SE9fTVNHfSAiPT09PT4gQ29tcHJlc3NpbmcgbWFuIHBhZ2VzIChjb21wcmVzcy1tYW4pIgoJQG1k
aXJzPSA7IFwKCWZvciBkaXIgaW4gJHtNQU5ESVJTOlMvXi8ke1NUQUdFRElSfS99IDsgZG8gXAoJ
CVsgLWQgJCRkaXIgXSAmJiBtZGlycz0iJCRtZGlycyAkJGRpciIgO1wKCWRvbmUgOyBcCglmb3Ig
ZGlyIGluICQkbWRpcnM7IGRvIFwKCQkke0ZJTkR9ICQkZGlyIC10eXBlIGYgXCEgLW5hbWUgIiou
Z3oiIC1saW5rcyAxIC1leGVjICR7R1pJUF9DTUR9IHt9IFw7IDsgXAoJCSR7RklORH0gJCRkaXIg
LXR5cGUgZiBcISAtbmFtZSAiKi5neiIgXCEgLWxpbmtzIDEgLWV4ZWMgJHtTVEFUfSAtZiAnJWkn
IHt9IFw7IHwgXAoJCQkke1NPUlR9IC11IHwgd2hpbGUgcmVhZCBpbm9kZSA7IGRvIFwKCQkJCXVu
c2V0IHJlZiA7IFwKCQkJCWZvciBmIGluICQkKCR7RklORH0gJCRkaXIgLXR5cGUgZiAtaW51bSAk
JHtpbm9kZX0gLXByaW50KTsgZG8gXAoJCQkJCWlmIFsgLXogJCRyZWYgXTsgdGhlbiBcCgkJCQkJ
CXJlZj0kJHtmfS5neiA7IFwKCQkJCQkJJHtHWklQX0NNRH0gJCR7Zn0gOyBcCgkJCQkJCWNvbnRp
bnVlIDsgXAoJCQkJCWZpIDsgXAoJCQkJCSR7Uk19IC1mICQke2Z9IDsgXAoJCQkJCShjZCAkJHtm
JS8qfTsgJHtMTn0gLWYgJCR7cmVmIyMqL30gJCR7ZiMjKi99Lmd6KSA7IFwKCQkJCWRvbmUgOyBc
CgkJCWRvbmUgOyBcCgkJJHtGSU5EfSAkJGRpciAtdHlwZSBsIFwhIC1uYW1lICIqLmd6IiB8IHdo
aWxlIHJlYWQgbGluayA7IGRvIFwKCQkJCSR7TE59IC1zZiAkJChyZWFkbGluayAkJGxpbmspLmd6
ICQkbGluay5neiA7XAoJCQkJJHtSTX0gLWYgJCRsaW5rIDsgXAoJCWRvbmU7IFwKCWRvbmUKLmVu
ZGlmCgouaWYgIXRhcmdldChzdGFnZS1kaXIpCnN0YWdlLWRpcjoKCUAke01LRElSfSAke1NUQUdF
RElSfSR7UFJFRklYfQouaWYgIWRlZmluZWQoTk9fTVRSRUUpCglAJHtNVFJFRV9DTUR9ICR7TVRS
RUVfQVJHU30gJHtTVEFHRURJUn0ke1BSRUZJWH0gPiAvZGV2L251bGwKLmVuZGlmCi5lbmRpZgoK
LmlmICF0YXJnZXQobWFrZXBsaXN0KQptYWtlcGxpc3Q6IHN0YWdlCglAJHtTRVRFTlZ9ICR7Q09f
RU5WfSAke1NIfSAke1NDUklQVFNESVJ9L2NoZWNrLXN0YWdlZGlyLnNoIG1ha2VwbGlzdAouZW5k
aWYKCi5pZiAhdGFyZ2V0KGNoZWNrLXBsaXN0KQpjaGVjay1wbGlzdDogc3RhZ2UKCUAke0VDSE9f
TVNHfSAiPT09PT4gQ2hlY2tpbmcgZm9yIHBrZy1wbGlzdCBpc3N1ZXMgKGNoZWNrLXBsaXN0KSIK
CUAke1NFVEVOVn0gJHtDT19FTlZ9ICR7U0h9ICR7U0NSSVBUU0RJUn0vY2hlY2stc3RhZ2VkaXIu
c2ggY2hlY2twbGlzdAoJQCR7RUNIT19NU0d9ICI9PT0+IE5vIHBrZy1wbGlzdCBpc3N1ZXMgZm91
bmQgKGNoZWNrLXBsaXN0KSIKLmVuZGlmCgouaWYgIXRhcmdldChjaGVjay1vcnBoYW5zKQpjaGVj
ay1vcnBoYW5zOiBjaGVjay1wbGlzdAouZW5kaWYKCi5pZiAhdGFyZ2V0KHN0YWdlLXFhKQpzdGFn
ZS1xYToKCUAke0VDSE9fTVNHfSAiPT09PT4gUnVubmluZyBRL0EgdGVzdHMgKHN0YWdlLXFhKSIK
CUAke1NFVEVOVn0gJHtRQV9FTlZ9ICR7U0h9ICR7U0NSSVBUU0RJUn0vcWEuc2gKLmVuZGlmCgoj
IEZha2UgaW5zdGFsbGF0aW9uIG9mIHBhY2thZ2Ugc28gdGhhdCB1c2VyIGNhbiBwa2cgZGVsZXRl
IGl0IGxhdGVyLgouaWYgIXRhcmdldChmYWtlLXBrZykKU1RBR0VfQVJHUz0JCS1pICR7U1RBR0VE
SVJ9CgouaWYgIWRlZmluZWQoTk9fUEtHX1JFR0lTVEVSKQpmYWtlLXBrZzogY3JlYXRlLW1hbmlm
ZXN0Ci5pZiBkZWZpbmVkKElOU1RBTExTX0RFUEVORFMpCglAJHtFQ0hPX01TR30gIj09PT4gICBS
ZWdpc3RlcmluZyBpbnN0YWxsYXRpb24gZm9yICR7UEtHTkFNRX0gYXMgYXV0b21hdGljIgouZWxz
ZQoJQCR7RUNIT19NU0d9ICI9PT0+ICAgUmVnaXN0ZXJpbmcgaW5zdGFsbGF0aW9uIGZvciAke1BL
R05BTUV9IgouZW5kaWYKLmlmIGRlZmluZWQoSU5TVEFMTFNfREVQRU5EUykKCUAke1NFVEVOVn0g
JHtQS0dfRU5WfSBGT1JDRV9QT1NUPSIke19GT1JDRV9QT1NUX1BBVFRFUk5TfSIgJHtQS0dfQ01E
fSAtZCAke1NUQUdFX0FSR1N9IC1tICR7TUVUQURJUn0gLWYgJHtUTVBQTElTVH0KLmVsc2UKCUAk
e1NFVEVOVn0gJHtQS0dfRU5WfSBGT1JDRV9QT1NUPSIke19GT1JDRV9QT1NUX1BBVFRFUk5TfSIg
JHtQS0dfQ01EfSAke1NUQUdFX0FSR1N9IC1tICR7TUVUQURJUn0gLWYgJHtUTVBQTElTVH0KLmVu
ZGlmCglAJHtSTX0gLXJmICR7TUVUQURJUn0KLmVuZGlmCi5lbmRpZgoKIyBEZXBlbmQgaXMgZ2Vu
ZXJhbGx5IG1lYW5pbmdsZXNzIGZvciBhcmJpdHJhcnkgcG9ydHMsIGJ1dCBpZiBzb21lb25lIHdh
bnRzCiMgb25lIHRoZXkgY2FuIG92ZXJyaWRlIHRoaXMuICBUaGlzIGlzIGp1c3QgdG8gY2F0Y2gg
cGVvcGxlIHdobyd2ZSBnb3R0ZW4gaW50bwojIHRoZSBoYWJpdCBvZiB0eXBpbmcgYG1ha2UgZGVw
ZW5kIGFsbCBpbnN0YWxsJyBhcyBhIG1hdHRlciBvZiBjb3Vyc2UuCiMgU2FtZSBnb2VzIGZvciB0
YWdzCi5mb3IgX3QgaW4gZGVwZW5kIHRhZ3MKLmlmICF0YXJnZXQoJHtfdH0pCiR7X3R9OgouZW5k
aWYKLmVuZGZvcgoKLmlmICFkZWZpbmVkKE5PUFJFQ0lPVVNNQUtFVkFSUykKIyBUaGVzZSB3b24n
dCBjaGFuZ2UsIHNvIHdlIGNhbiBwYXNzIHRoZW0gdGhyb3VnaCB0aGUgZW52aXJvbm1lbnQKLk1B
S0VGTEFHUzogXAoJQVJDSD0iJHtBUkNIOlMvIi8iJyInIi9nOlMvXCQvXCRcJC9nOlMvXFwvXFxc
XC9nfSIgXAoJT1BTWVM9IiR7T1BTWVM6Uy8iLyInIiciL2c6Uy9cJC9cJFwkL2c6Uy9cXC9cXFxc
L2d9IiBcCglPU1JFTD0iJHtPU1JFTDpTLyIvIiciJyIvZzpTL1wkL1wkXCQvZzpTL1xcL1xcXFwv
Z30iIFwKCU9TVkVSU0lPTj0iJHtPU1ZFUlNJT046Uy8iLyInIiciL2c6Uy9cJC9cJFwkL2c6Uy9c
XC9cXFxcL2d9IiBcCglTWVNURU1WRVJTSU9OPSIke1NZU1RFTVZFUlNJT046Uy8iLyInIiciL2c6
Uy9cJC9cJFwkL2c6Uy9cXC9cXFxcL2d9IgouZW5kaWYKCi5pZiAhdGFyZ2V0KHByZS1jaGVjay1j
b25maWcpCnByZS1jaGVjay1jb25maWc6Ci5mb3Igc2luZ2xlIGluICR7T1BUSU9OU19TSU5HTEV9
Ci4gIGZvciBvcHQgaW4gJHtPUFRJT05TX1NJTkdMRV8ke3NpbmdsZX19Ci4gICAgaWYgZW1wdHko
QUxMX09QVElPTlM6TSR7c2luZ2xlfSkgfHwgIWVtcHR5KFBPUlRfT1BUSU9OUzpNJHtzaW5nbGV9
KQouICAgICAgaWYgIWVtcHR5KFBPUlRfT1BUSU9OUzpNJHtvcHR9KQouICAgICAgICBpZiBkZWZp
bmVkKE9QVEZPVU5EKQpPUFRJT05TX1dST05HX1NJTkdMRSs9CSR7c2luZ2xlfQouICAgICAgICBl
bHNlCk9QVEZPVU5EPQl0cnVlCi4gICAgICAgIGVuZGlmCi4gICAgICBlbmRpZgouICAgIGVsc2UK
IyBpZiBjb25kaXRpb25hbCBhbmQgaWYgdGhlIGNvbmRpdGlvbiBpcyB1bmNoZWNrZWQsIHJlbW92
ZSBvcHQgZnJvbSB0aGUgbGlzdCBvZgojIHNldCBvcHRpb25zClBPUlRfT1BUSU9OUzo9CSR7UE9S
VF9PUFRJT05TOk4ke29wdH19Ck9QVE5PQ0hFQ0s9CXRydWUKLiAgICBlbmRpZgouICBlbmRmb3IK
LiAgaWYgIWRlZmluZWQoT1BURk9VTkQpICYmICFkZWZpbmVkKE9QVE5PQ0hFQ0spCk9QVElPTlNf
V1JPTkdfU0lOR0xFKz0JJHtzaW5nbGV9Ci4gIGVuZGlmCi4gIHVuZGVmIE9QVEZPVU5ECi4gIHVu
ZGVmIE9QVE5PQ0hFQ0sKLmVuZGZvcgoudW5kZWYgc2luZ2xlCgouZm9yIHJhZGlvIGluICR7T1BU
SU9OU19SQURJT30KLiAgZm9yIG9wdCBpbiAke09QVElPTlNfUkFESU9fJHtyYWRpb319Ci4gICAg
aWYgIWVtcHR5KFBPUlRfT1BUSU9OUzpNJHtvcHR9KQouICAgICAgaWYgZGVmaW5lZChPUFRGT1VO
RCkKT1BUSU9OU19XUk9OR19SQURJTys9CSR7cmFkaW99Ci4gICAgICBlbHNlCk9QVEZPVU5EPQl0
cnVlCi4gICAgICBlbmRpZgouICAgIGVuZGlmCi4gIGVuZGZvcgouICB1bmRlZiBPUFRGT1VORAou
ZW5kZm9yCgouZm9yIG11bHRpIGluICR7T1BUSU9OU19NVUxUSX0KLiAgZm9yIG9wdCBpbiAke09Q
VElPTlNfTVVMVElfJHttdWx0aX19Ci4gICAgaWYgZW1wdHkoQUxMX09QVElPTlM6TSR7bXVsdGl9
KSB8fCAhZW1wdHkoUE9SVF9PUFRJT05TOk0ke211bHRpfSkKLiAgICAgIGlmICFlbXB0eShQT1JU
X09QVElPTlM6TSR7b3B0fSkKT1BURk9VTkQ9CXRydWUKLiAgICAgIGVuZGlmCi4gICAgZWxzZQoj
IGlmIGNvbmRpdGlvbmFsIGFuZCBpZiB0aGUgY29uZGl0aW9uIGlzIHVuY2hlY2tlZCwgcmVtb3Zl
IG9wdCBmcm9tIHRoZSBsaXN0IG9mCiMgc2V0IG9wdGlvbnMKUE9SVF9PUFRJT05TOj0JJHtQT1JU
X09QVElPTlM6TiR7b3B0fX0KT1BUTk9DSEVDSz0JdHJ1ZQouICAgIGVuZGlmCi4gIGVuZGZvcgou
ICBpZiAhZGVmaW5lZChPUFRGT1VORCkgJiYgIWRlZmluZWQoT1BUTk9DSEVDSykKT1BUSU9OU19X
Uk9OR19NVUxUSSs9CSR7bXVsdGl9Ci4gIGVuZGlmCi4gIHVuZGVmIE9QVEZPVU5ECi4gIHVuZGVm
IE9QVE5PQ0hFQ0sKLmVuZGZvcgoudW5kZWYgbXVsdGkKLnVuZGVmIG9wdAouZW5kaWYgI3ByZS1j
aGVjay1jb25maWcKCi5pZiAhdGFyZ2V0KF9jaGVjay1jb25maWcpCl9jaGVjay1jb25maWc6IHBy
ZS1jaGVjay1jb25maWcKLmZvciBtdWx0aSBpbiAke09QVElPTlNfV1JPTkdfTVVMVEl9CglAJHtF
Q0hPX01TR30gIj09PT0+IFlvdSBtdXN0IGNoZWNrIGF0IGxlYXN0IG9uZSBvcHRpb24gaW4gdGhl
ICR7bXVsdGl9IG11bHRpIgouZW5kZm9yCi5mb3Igc2luZ2xlIGluICR7T1BUSU9OU19XUk9OR19T
SU5HTEV9CglAJHtFQ0hPX01TR30gIj09PT0+IFlvdSBtdXN0IHNlbGVjdCBvbmUgYW5kIG9ubHkg
b25lIG9wdGlvbiBmcm9tIHRoZSAke3NpbmdsZX0gc2luZ2xlIgouZW5kZm9yCi5mb3IgcmFkaW8g
aW4gJHtPUFRJT05TX1dST05HX1JBRElPfQoJQCR7RUNIT19NU0d9ICI9PT09PiBZb3UgY2Fubm90
IHNlbGVjdCBtdWx0aXBsZSBvcHRpb25zIGZyb20gdGhlICR7cmFkaW99IHJhZGlvIgouZW5kZm9y
Ci5pZiAhZW1wdHkoT1BUSU9OU19XUk9OR19NVUxUSSkgfHwgIWVtcHR5KE9QVElPTlNfV1JPTkdf
U0lOR0xFKSB8fCAhZW1wdHkoT1BUSU9OU19XUk9OR19SQURJTykKX0NIRUNLX0NPTkZJR19FUlJP
Uj0JdHJ1ZQouZW5kaWYKLmVuZGlmICMgX2NoZWNrLWNvbmZpZwoKLmlmICF0YXJnZXQoY2hlY2st
Y29uZmlnKQpjaGVjay1jb25maWc6IF9jaGVjay1jb25maWcKLmlmICFlbXB0eShfQ0hFQ0tfQ09O
RklHX0VSUk9SKQoJQCR7RkFMU0V9Ci5lbmRpZgouZW5kaWYgIyBjaGVjay1jb25maWcKCi5pZiAh
dGFyZ2V0KHNhbml0eS1jb25maWcpCnNhbml0eS1jb25maWc6IF9jaGVjay1jb25maWcKLmlmICFl
bXB0eShfQ0hFQ0tfQ09ORklHX0VSUk9SKQoJQGVjaG8gLW4gIkNvbmZpZyBpcyBpbnZhbGlkLiBS
ZS1lZGl0PyBbWS9uXSAiOyBcCglyZWFkIGFuc3dlcjsgXAoJY2FzZSAkJGFuc3dlciBpbiBcCglb
Tm5dfFtObl1bT29dKSBcCgkJZXhpdCAwOyBcCgllc2FjOyBcCgljZCAkey5DVVJESVJ9ICYmICR7
TUFLRX0gY29uZmlnCi5lbmRpZgouZW5kaWYgIyBzYW5pdHktY29uZmlnCgouaWYgIXRhcmdldChw
cmUtY29uZmlnKQpwcmUtY29uZmlnOgpENFBfRU5WPQlQS0dOQU1FPSIke1BLR05BTUV9IiBcCgkJ
UE9SVF9PUFRJT05TPSIke1BPUlRfT1BUSU9OU30iIFwKCQlBTExfT1BUSU9OUz0iJHtBTExfT1BU
SU9OU30iIFwKCQlPUFRJT05TX01VTFRJPSIke09QVElPTlNfTVVMVEl9IiBcCgkJT1BUSU9OU19T
SU5HTEU9IiR7T1BUSU9OU19TSU5HTEV9IiBcCgkJT1BUSU9OU19SQURJTz0iJHtPUFRJT05TX1JB
RElPfSIgXAoJCU9QVElPTlNfR1JPVVA9IiR7T1BUSU9OU19HUk9VUH0iIFwKCQlORVdfT1BUSU9O
Uz0iJHtORVdfT1BUSU9OU30iIFwKCQlESUFMT0c0UE9SVFM9IiR7RElBTE9HNFBPUlRTfSIgXAoJ
CVBSRUZJWD0iJHtQUkVGSVh9IiBcCgkJTE9DQUxCQVNFPSIke0xPQ0FMQkFTRX0iIFwKCQlQT1JU
U0RJUj0iJHtQT1JUU0RJUn0iIFwKCQlNQUtFPSIke01BS0V9IiBcCgkJRDRQSEVJR0hUPSIke0Q0
UEhFSUdIVH0iIFwKCQlENFBXSURUSD0iJHtENFBXSURUSH0iIFwKCQlENFBGVUxMU0NSRUVOPSIk
e0Q0UEZVTExTQ1JFRU59IgouaWYgZXhpc3RzKCR7UEtHSEVMUH0pCkQ0UF9FTlYrPQlQS0dIRUxQ
PSIke1BLR0hFTFB9IgouZW5kaWYKLmZvciBvcHQgaW4gJHtBTExfT1BUSU9OU30KRDRQX0VOVis9
CSAke29wdH1fREVTQz0iIiR7JHtvcHR9X0RFU0M6UX0iIgouZW5kZm9yCi5mb3Igb3R5cGUgaW4g
TVVMVEkgR1JPVVAgU0lOR0xFIFJBRElPCi4gIGZvciBtIGluICR7T1BUSU9OU18ke290eXBlfX0K
RDRQX0VOVis9CU9QVElPTlNfJHtvdHlwZX1fJHttfT0iJHtPUFRJT05TXyR7b3R5cGV9XyR7bX19
IiBcCgkJJHttfV9ERVNDPSIiJHske219X0RFU0M6UX0iIgouICAgIGZvciBvcHQgaW4gJHtPUFRJ
T05TXyR7b3R5cGV9XyR7bX19CkQ0UF9FTlYrPQkgJHtvcHR9X0RFU0M9IiIkeyR7b3B0fV9ERVND
OlF9IiIKLiAgICBlbmRmb3IKLiAgZW5kZm9yCi5lbmRmb3IKLnVuZGVmIG0KLnVuZGVmIG90eXBl
Ci51bmRlZiBvcHQKLmVuZGlmICMgcHJlLWNvbmZpZwoKLmlmICF0YXJnZXQoZG8tY29uZmlnKQpk
by1jb25maWc6Ci5pZiBlbXB0eShBTExfT1BUSU9OUykgJiYgZW1wdHkoT1BUSU9OU19TSU5HTEUp
ICYmIGVtcHR5KE9QVElPTlNfTVVMVEkpICYmIGVtcHR5KE9QVElPTlNfUkFESU8pICYmIGVtcHR5
KE9QVElPTlNfR1JPVVApCglAJHtFQ0hPX01TR30gIj09PT4gTm8gb3B0aW9ucyB0byBjb25maWd1
cmUiCi5lbHNlCglAb3B0aW9uc2Rpcj0ke09QVElPTlNfRklMRTpIfTsgXAoJb2xkb3B0aW9uc2Rp
cj0ke09QVElPTlNGSUxFOkh9OyBcCglpZiBbICR7VUlEfSAhPSAwIC1hIC16ICIke0lOU1RBTExf
QVNfVVNFUn0iIC1hICEgLXcgIiR7UE9SVF9EQkRJUn0iIF0gOyB0aGVuIFwKCQkke0VDSE9fTVNH
fSAiPT09PiAgU3dpdGNoaW5nIHRvIHJvb3QgY3JlZGVudGlhbHMgdG8gY3JlYXRlICQke29wdGlv
bnNkaXJ9IjsgXAoJCSgke1NVX0NNRH0gIiR7U0h9IC1jIFwiaWYgWyAtZCAkJHtvbGRvcHRpb25z
ZGlyfSAtYSAhIC1kICQke29wdGlvbnNkaXJ9IF07IHRoZW4gJHtNVn0gJCR7b2xkb3B0aW9uc2Rp
cn0gJCR7b3B0aW9uc2Rpcn07IGVsaWYgWyAtZCAkJHtvbGRvcHRpb25zZGlyfSAtYSAtZCAkJHtv
cHRpb25zZGlyfSBdOyB0aGVuICR7Uk19IC1yZiAkJHtvbGRvcHRpb25zZGlyfSA7IGZpIDsgJHtN
S0RJUn0gJCR7b3B0aW9uc2Rpcn0gMj4gL2Rldi9udWxsXCIiKSB8fCBcCgkJCSgke0VDSE9fTVNH
fSAiPT09PiBDYW5ub3QgY3JlYXRlICQke29wdGlvbnNkaXJ9LCBjaGVjayBwZXJtaXNzaW9ucyI7
IGV4aXQgMSk7IFwKCQkke0VDSE9fTVNHfSAiPT09PiAgUmV0dXJuaW5nIHRvIHVzZXIgY3JlZGVu
dGlhbHMiIDsgXAoJZWxzZSBcCglpZiBbIC1kICQke29sZG9wdGlvbnNkaXJ9IC1hICEgLWQgJCR7
b3B0aW9uc2Rpcn0gXTsgdGhlbiBcCgkJJHtNVn0gJCR7b2xkb3B0aW9uc2Rpcn0gJCR7b3B0aW9u
c2Rpcn07IFwKCWVsaWYgWyAtZCAkJHtvbGRvcHRpb25zZGlyfSAtYSAtZCAkJHtvcHRpb25zZGly
fSBdOyB0aGVuIFwKCQkke1JNfSAtcmYgJCR7b2xkb3B0aW9uc2Rpcn0gOyBcCglmaSA7IFwKCSR7
TUtESVJ9ICQke29wdGlvbnNkaXJ9IDI+IC9kZXYvbnVsbCB8fCBcCgkoJHtFQ0hPX01TR30gIj09
PT4gQ2Fubm90IGNyZWF0ZSAkJHtvcHRpb25zZGlyfSwgY2hlY2sgcGVybWlzc2lvbnMiOyBleGl0
IDEpIDsgXAoJZmkKCUBUTVBPUFRJT05TRklMRT0kJChta3RlbXAgLXQgcG9ydG9wdGlvbnMpOyBc
Cgl0cmFwICIke1JNfSAtZiAkJHtUTVBPUFRJT05TRklMRX07IGV4aXQgMSIgMSAyIDMgNSAxMCAx
MyAxNTsgXAoJJHtTRVRFTlZ9ICR7RDRQX0VOVn0gJHtTSH0gJHtTQ1JJUFRTRElSfS9kaWFsb2c0
cG9ydHMuc2ggJCR7VE1QT1BUSU9OU0ZJTEV9IHx8IHsgXAoJCSR7Uk19IC1mICQke1RNUE9QVElP
TlNGSUxFfTsgXAoJCSR7RUNIT19NU0d9ICI9PT0+IE9wdGlvbnMgdW5jaGFuZ2VkIjsgXAoJCWV4
aXQgMDsgXAoJfTsgXAoJJHtFQ0hPX0NNRH07IFwKCWlmIFsgISAtZSAkJHtUTVBPUFRJT05TRklM
RX0gXTsgdGhlbiBcCgkJJHtFQ0hPX01TR30gIj09PT4gTm8gdXNlci1zcGVjaWZpZWQgb3B0aW9u
cyB0byBzYXZlIGZvciAke1BLR05BTUV9IjsgXAoJCWV4aXQgMDsgXAoJZmk7IFwKCVNFTE9QVElP
TlM9JCQoJHtDQVR9ICQke1RNUE9QVElPTlNGSUxFfSk7IFwKCSR7Uk19IC1mICQke1RNUE9QVElP
TlNGSUxFfTsgXAoJVE1QT1BUSU9OU0ZJTEU9JCQobWt0ZW1wIC10IHBvcnRvcHRpb25zKTsgXAoJ
dHJhcCAiJHtSTX0gLWYgJCR7VE1QT1BUSU9OU0ZJTEV9OyBleGl0IDEiIDEgMiAzIDUgMTAgMTMg
MTU7IFwKCSR7RUNIT19DTUR9ICIjIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSAnbWFr
ZSBjb25maWcnLiIgPiAkJHtUTVBPUFRJT05TRklMRX07IFwKCSR7RUNIT19DTUR9ICIjIE9wdGlv
bnMgZm9yICR7UEtHTkFNRX0iID4+ICQke1RNUE9QVElPTlNGSUxFfTsgXAoJJHtFQ0hPX0NNRH0g
Il9PUFRJT05TX1JFQUQ9JHtQS0dOQU1FfSIgPj4gJCR7VE1QT1BUSU9OU0ZJTEV9OyBcCgkke0VD
SE9fQ01EfSAiX0ZJTEVfQ09NUExFVEVfT1BUSU9OU19MSVNUPSR7Q09NUExFVEVfT1BUSU9OU19M
SVNUfSIgPj4gJCR7VE1QT1BUSU9OU0ZJTEV9OyBcCglmb3IgaSBpbiAke0NPTVBMRVRFX09QVElP
TlNfTElTVH07IGRvIFwKCQlpZiAke0VDSE9fQ01EfSAkJHtTRUxPUFRJT05TfSB8ICR7R1JFUH0g
LXF3ICQke2l9OyB0aGVuIFwKCQkJJHtFQ0hPX0NNRH0gIk9QVElPTlNfRklMRV9TRVQrPSQke2l9
IiA+PiAkJHtUTVBPUFRJT05TRklMRX07IFwKCQllbHNlIFwKCQkJJHtFQ0hPX0NNRH0gIk9QVElP
TlNfRklMRV9VTlNFVCs9JCR7aX0iID4+ICQke1RNUE9QVElPTlNGSUxFfTsgXAoJCWZpOyBcCglk
b25lOyBcCglpZiBbICR7VUlEfSAhPSAwIC1hIC16ICIke0lOU1RBTExfQVNfVVNFUn0iIC1hICEg
LXcgIiR7T1BUSU9OU19GSUxFOkh9IiBdOyB0aGVuIFwKCQkke0VDSE9fTVNHfSAiPT09PiAgU3dp
dGNoaW5nIHRvIHJvb3QgY3JlZGVudGlhbHMgdG8gd3JpdGUgJHtPUFRJT05TX0ZJTEV9IjsgXAoJ
CSR7U1VfQ01EfSAiJHtDQVR9ICQke1RNUE9QVElPTlNGSUxFfSA+ICR7T1BUSU9OU19GSUxFfSI7
IFwKCQkke0VDSE9fTVNHfSAiPT09PiAgUmV0dXJuaW5nIHRvIHVzZXIgY3JlZGVudGlhbHMiOyBc
CgllbHNlIFwKCQkke0NBVH0gJCR7VE1QT1BUSU9OU0ZJTEV9ID4gJHtPUFRJT05TX0ZJTEV9OyBc
CglmaTsgXAoJJHtSTX0gLWYgJCR7VE1QT1BUSU9OU0ZJTEV9CglAY2QgJHsuQ1VSRElSfSAmJiAk
e01BS0V9IHNhbml0eS1jb25maWcKLmVuZGlmCi5lbmRpZiAjIGRvLWNvbmZpZwoKLmlmICF0YXJn
ZXQoY29uZmlnKQouaWYgIWRlZmluZWQoTk9fRElBTE9HKQpjb25maWc6IHByZS1jb25maWcgZG8t
Y29uZmlnCi5lbHNlCmNvbmZpZzoKCUAke0VDSE9fTVNHfSAiPT09PiBTa2lwcGluZyAnY29uZmln
JyBhcyBOT19ESUFMT0cgaXMgZGVmaW5lZCIKLmVuZGlmCi5lbmRpZiAjIGNvbmZpZwoKLmlmICF0
YXJnZXQoY29uZmlnLXJlY3Vyc2l2ZSkKY29uZmlnLXJlY3Vyc2l2ZToKCUAke0VDSE9fTVNHfSAi
PT09PiBTZXR0aW5nIHVzZXItc3BlY2lmaWVkIG9wdGlvbnMgZm9yICR7UEtHTkFNRX0gYW5kIGRl
cGVuZGVuY2llcyI7CglAZm9yIGRpciBpbiAkey5DVVJESVJ9ICQkKCR7QUxMLURFUEVORFMtTElT
VH0pOyBkbyBcCgkJKGNkICQkZGlyOyAke01BS0V9IGNvbmZpZy1jb25kaXRpb25hbCk7IFwKCWRv
bmUKLmVuZGlmICMgY29uZmlnLXJlY3Vyc2l2ZQoKLmlmICF0YXJnZXQoY29uZmlnLWNvbmRpdGlv
bmFsKQpjb25maWctY29uZGl0aW9uYWw6Ci5pZiAhZW1wdHkoTkVXX09QVElPTlMpCglAY2QgJHsu
Q1VSRElSfSAmJiAke01BS0V9IGNvbmZpZzsKLmVuZGlmCi5lbmRpZiAjIGNvbmZpZy1jb25kaXRp
b25hbAoKLmlmICF0YXJnZXQoc2hvd2NvbmZpZykKLmluY2x1ZGUgIiR7UE9SVFNESVJ9L01rL2Jz
ZC5vcHRpb25zLmRlc2MubWsiCk1VTFRJX0VPTD0JOiB5b3UgaGF2ZSB0byBjaG9vc2UgYXQgbGVh
c3Qgb25lIG9mIHRoZW0KU0lOR0xFX0VPTD0JOiB5b3UgaGF2ZSB0byBzZWxlY3QgZXhhY3RseSBv
bmUgb2YgdGhlbQpSQURJT19FT0w9CTogeW91IGNhbiBvbmx5IHNlbGVjdCBub25lIG9yIG9uZSBv
ZiB0aGVtCnNob3djb25maWc6IGNoZWNrLWNvbmZpZwouaWYgIWVtcHR5KENPTVBMRVRFX09QVElP
TlNfTElTVCkKCUAke0VDSE9fTVNHfSAiPT09PiBUaGUgZm9sbG93aW5nIGNvbmZpZ3VyYXRpb24g
b3B0aW9ucyBhcmUgYXZhaWxhYmxlIGZvciAke1BLR05BTUV9IjoKLmZvciBvcHQgaW4gJHtBTExf
T1BUSU9OU30KCUBbIC16ICIke1BPUlRfT1BUSU9OUzpNJHtvcHR9fSIgXSB8fCBtYXRjaD0ib24i
IDsgJHtFQ0hPX01TR30gLW4gIiAgICAgJHtvcHR9PSQke21hdGNoOi1vZmZ9IgouICBpZiAhZW1w
dHkoJHtvcHR9X0RFU0MpCglAJHtFQ0hPX01TR30gLW4gIjogIiR7JHtvcHR9X0RFU0M6UX0KLiAg
ZW5kaWYKCUAke0VDSE9fTVNHfSAiIgouZW5kZm9yCgojbXVsdGkgYW5kIGNvbmRpdGlvbmFsIG11
bHRpcwouZm9yIG90eXBlIGluIE1VTFRJIEdST1VQIFNJTkdMRSBSQURJTwouICBmb3IgbSBpbiAk
e09QVElPTlNfJHtvdHlwZX19Ci4gICAgaWYgZW1wdHkoJHttfV9ERVNDKQoJCUAke0VDSE9fTVNH
fSAiPT09PT4gT3B0aW9ucyBhdmFpbGFibGUgZm9yIHRoZSAke290eXBlOnRsfSAke219JHske290
eXBlfV9FT0x9IgouICAgIGVsc2UKCQlAJHtFQ0hPX01TR30gIj09PT0+ICR7JHttfV9ERVNDfSR7
JHtvdHlwZX1fRU9MfSIKLiAgICBlbmRpZgouICAgIGZvciBvcHQgaW4gJHtPUFRJT05TXyR7b3R5
cGV9XyR7bX19CglAWyAteiAiJHtQT1JUX09QVElPTlM6TSR7b3B0fX0iIF0gfHwgbWF0Y2g9Im9u
IiA7ICR7RUNIT19NU0d9IC1uICIgICAgICR7b3B0fT0kJHttYXRjaDotb2ZmfSIKLiAgICAgIGlm
ICFlbXB0eSgke29wdH1fREVTQykKCUAke0VDSE9fTVNHfSAtbiAiOiAiJHske29wdH1fREVTQzpR
fQouICAgICAgZW5kaWYKCUAke0VDSE9fTVNHfSAiIgouICAgIGVuZGZvcgouICBlbmRmb3IKLmVu
ZGZvcgoKLnVuZGVmIG90eXBlCi51bmRlZiBtCi51bmRlZiBvcHQKCUAke0VDSE9fTVNHfSAiPT09
PiBVc2UgJ21ha2UgY29uZmlnJyB0byBtb2RpZnkgdGhlc2Ugc2V0dGluZ3MiCi5lbmRpZgouZW5k
aWYgIyBzaG93Y29uZmlnCgouaWYgIXRhcmdldChzaG93Y29uZmlnLXJlY3Vyc2l2ZSkKc2hvd2Nv
bmZpZy1yZWN1cnNpdmU6CglAJHtFQ0hPX01TR30gIj09PT4gVGhlIGZvbGxvd2luZyBjb25maWd1
cmF0aW9uIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSBmb3IgJHtQS0dOQU1FfSBhbmQgZGVwZW5kZW5j
aWVzIjsKCUBmb3IgZGlyIGluICR7LkNVUkRJUn0gJCQoJHtBTEwtREVQRU5EUy1MSVNUfSk7IGRv
IFwKCQkoY2QgJCRkaXI7ICR7TUFLRX0gc2hvd2NvbmZpZyk7IFwKCWRvbmUKLmVuZGlmICMgc2hv
d2NvbmZpZy1yZWN1cnNpdmUKCi5pZiAhdGFyZ2V0KHJtY29uZmlnKQpybWNvbmZpZzoKLmlmIGV4
aXN0cygke09QVElPTlNGSUxFfSkKCS1AJHtFQ0hPX01TR30gIj09PT4gUmVtb3ZpbmcgdXNlci1j
b25maWd1cmVkIG9wdGlvbnMgZm9yICR7UEtHTkFNRX0iOyBcCglvcHRpb25zZGlyPSR7T1BUSU9O
U0ZJTEU6SH07IFwKCWlmIFsgJHtVSUR9ICE9IDAgLWEgIngke0lOU1RBTExfQVNfVVNFUn0iID0g
IngiIC1hICEgLXcgIiR7T1BUSU9OU0ZJTEV9IiBdOyB0aGVuIFwKCQkke0VDSE9fTVNHfSAiPT09
PiBTd2l0Y2hpbmcgdG8gcm9vdCBjcmVkZW50aWFscyB0byByZW1vdmUgJHtPUFRJT05TRklMRX0g
YW5kICQke29wdGlvbnNkaXJ9IjsgXAoJCSR7U1VfQ01EfSAiJHtSTX0gLWYgJHtPUFRJT05TRklM
RX0gOyBcCgkJCSR7Uk1ESVJ9ICQke29wdGlvbnNkaXJ9IjsgXAoJCSR7RUNIT19NU0d9ICI9PT0+
IFJldHVybmluZyB0byB1c2VyIGNyZWRlbnRpYWxzIjsgXAoJZWxzZSBcCgkJJHtSTX0gLWYgJHtP
UFRJT05TRklMRX07IFwKCQkke1JNRElSfSAkJHtvcHRpb25zZGlyfSAyPi9kZXYvbnVsbCB8fCBy
ZXR1cm4gMDsgXAoJZmkKLmVuZGlmCi5pZiBleGlzdHMoJHtPUFRJT05TX0ZJTEV9KQoJLUAke0VD
SE9fTVNHfSAiPT09PiBSZW1vdmluZyB1c2VyLWNvbmZpZ3VyZWQgb3B0aW9ucyBmb3IgJHtQS0dO
QU1FfSI7IFwKCW9wdGlvbnNkaXI9JHtPUFRJT05TX0ZJTEU6SH07IFwKCWlmIFsgJHtVSUR9ICE9
IDAgLWEgIngke0lOU1RBTExfQVNfVVNFUn0iID0gIngiIC1hICEgLXcgIiR7T1BUSU9OU19GSUxF
fSIgXTsgdGhlbiBcCgkJJHtFQ0hPX01TR30gIj09PT4gU3dpdGNoaW5nIHRvIHJvb3QgY3JlZGVu
dGlhbHMgdG8gcmVtb3ZlICR7T1BUSU9OU19GSUxFfSBhbmQgJCR7b3B0aW9uc2Rpcn0iOyBcCgkJ
JHtTVV9DTUR9ICIke1JNfSAtZiAke09QVElPTlNfRklMRX0gOyBcCgkJCSR7Uk1ESVJ9ICQke29w
dGlvbnNkaXJ9IjsgXAoJCSR7RUNIT19NU0d9ICI9PT0+IFJldHVybmluZyB0byB1c2VyIGNyZWRl
bnRpYWxzIjsgXAoJZWxzZSBcCgkJJHtSTX0gLWYgJHtPUFRJT05TX0ZJTEV9OyBcCgkJJHtSTURJ
Un0gJCR7b3B0aW9uc2Rpcn0gMj4vZGV2L251bGwgfHwgcmV0dXJuIDA7IFwKCWZpCi5lbHNlCglA
JHtFQ0hPX01TR30gIj09PT4gTm8gdXNlci1zcGVjaWZpZWQgb3B0aW9ucyBjb25maWd1cmVkIGZv
ciAke1BLR05BTUV9IgouZW5kaWYKLmVuZGlmICMgcm1jb25maWcKCi5pZiAhdGFyZ2V0KHJtY29u
ZmlnLXJlY3Vyc2l2ZSkKcm1jb25maWctcmVjdXJzaXZlOgoJQCR7RUNIT19NU0d9ICI9PT0+IFJl
bW92aW5nIHVzZXItc3BlY2lmaWVkIG9wdGlvbnMgZm9yICR7UEtHTkFNRX0gYW5kIGRlcGVuZGVu
Y2llcyI7CglAZm9yIGRpciBpbiAkey5DVVJESVJ9ICQkKCR7QUxMLURFUEVORFMtTElTVH0pOyBk
byBcCgkJKGNkICQkZGlyOyAke01BS0V9IHJtY29uZmlnKTsgXAoJZG9uZQouZW5kaWYgIyBybWNv
bmZpZy1yZWN1cnNpdmUKCi5pZiAhdGFyZ2V0KHByZXR0eS1wcmludC1jb25maWcpCk1VTFRJX1NU
QVJUPQlbCk1VTFRJX0VORD0JXQpHUk9VUF9TVEFSVD0JWwpHUk9VUF9FTkQ9CV0KU0lOR0xFX1NU
QVJUPQkoClNJTkdMRV9FTkQ9CSkKUkFESU9fU1RBUlQ9CSgKUkFESU9fRU5EPQkpCnByZXR0eS1w
cmludC1jb25maWc6Ci5mb3Igb3B0IGluICR7QUxMX09QVElPTlN9CglAWyAteiAiJHtQT1JUX09Q
VElPTlM6TSR7b3B0fX0iIF0gfHwgbWF0Y2g9IisiIDsgJHtFQ0hPX01TR30gLW4gIiQke21hdGNo
Oi0tfSR7b3B0fSAiCi5lbmRmb3IKLmZvciBvdHlwZSBpbiBNVUxUSSBHUk9VUCBTSU5HTEUgUkFE
SU8KLiAgZm9yIG0gaW4gJHtPUFRJT05TXyR7b3R5cGV9fQoJQCR7RUNIT19NU0d9IC1uICIke219
JHske290eXBlfV9TVEFSVH0gIgouICAgIGZvciBvcHQgaW4gJHtPUFRJT05TXyR7b3R5cGV9XyR7
bX19CgkJQFsgLXogIiR7UE9SVF9PUFRJT05TOk0ke29wdH19IiBdIHx8IG1hdGNoPSIrIiA7ICR7
RUNIT19NU0d9IC1uICIkJHttYXRjaDotLX0ke29wdH0gIgouICAgIGVuZGZvcgoJQCR7RUNIT19N
U0d9IC1uICIkeyR7b3R5cGV9X0VORH0gIgouICBlbmRmb3IKLmVuZGZvcgoudW5kZWYgb3R5cGUK
LnVuZGVmIG0KLnVuZGVmIG9wdAoJQCR7RUNIT19NU0d9ICIiCi5lbmRpZiAjIHByZXR0eS1wcmlu
dC1jb25maWcKCmRlc2t0b3AtY2F0ZWdvcmllczoKCUBjYXRlZ29yaWVzPSIiOyBcCglmb3IgbmF0
aXZlX2NhdGVnb3J5IGluICR7Q0FURUdPUklFU307IGRvIFwKCQljPSIiOyBcCgkJY2FzZSAkJG5h
dGl2ZV9jYXRlZ29yeSBpbiBcCgkJCWFjY2Vzc2liaWxpdHkpCWM9IlV0aWxpdHkgQWNjZXNzaWJp
bGl0eSIJCTs7IFwKCQkJYXJjaGl2ZXJzKQkJYz0iVXRpbGl0eSBBcmNoaXZpbmciCQkJOzsgXAoJ
CQlhc3RybykJCQljPSJFZHVjYXRpb24gU2NpZW5jZSBBc3Ryb25vbXkiCTs7IFwKCQkJYXVkaW8p
CQkJYz0iQXVkaW9WaWRlbyBBdWRpbyIJCQk7OyBcCgkJCWJlbmNobWFya3MpCQljPSJTeXN0ZW0i
CQkJCQkJOzsgXAoJCQliaW9sb2d5KQkJYz0iRWR1Y2F0aW9uIFNjaWVuY2UgQmlvbG9neSIJOzsg
XAoJCQljYWQpCQkJYz0iR3JhcGhpY3MgRW5naW5lZXJpbmciCQk7OyBcCgkJCWNvbW1zKQkJCWM9
IlV0aWxpdHkiCQkJCQkJOzsgXAoJCQljb252ZXJ0ZXJzKQkJYz0iVXRpbGl0eSIJCQkJCQk7OyBc
CgkJCWRhdGFiYXNlcykJCWM9Ik9mZmljZSBEYXRhYmFzZSIJCQkJOzsgXAoJCQlkZXNrdXRpbHMp
CQljPSJVdGlsaXR5IgkJCQkJCTs7IFwKCQkJZGV2ZWwpCQkJYz0iRGV2ZWxvcG1lbnQiCQkJCQk7
OyBcCgkJCWRucykJCQljPSJOZXR3b3JrIgkJCQkJCTs7IFwKCQkJZWxpc3ApCQkJYz0iRGV2ZWxv
cG1lbnQiCQkJCQk7OyBcCgkJCWVkaXRvcnMpCQljPSJVdGlsaXR5IgkJCQkJCTs7IFwKCQkJZW11
bGF0b3JzKQkJYz0iU3lzdGVtIEVtdWxhdG9yIgkJCQk7OyBcCgkJCWZpbmFuY2UpCQljPSJPZmZp
Y2UgRmluYW5jZSIJCQkJOzsgXAoJCQlmdHApCQkJYz0iTmV0d29yayBGaWxlVHJhbnNmZXIiCQk7
OyBcCgkJCWdhbWVzKQkJCWM9IkdhbWUiCQkJCQkJOzsgXAoJCQlnZW9ncmFwaHkpCQljPSJFZHVj
YXRpb24gU2NpZW5jZSBHZW9ncmFwaHkiCTs7IFwKCQkJZ25vbWUpCQkJYz0iR05PTUUgR1RLIgkJ
CQkJOzsgXAoJCQlncmFwaGljcykJCWM9IkdyYXBoaWNzIgkJCQkJOzsgXAoJCQloYW1yYWRpbykJ
CWM9IkhhbVJhZGlvIgkJCQkJOzsgXAoJCQloYXNrZWxsKQkJYz0iRGV2ZWxvcG1lbnQiCQkJCQk7
OyBcCgkJCWlyYykJCQljPSJOZXR3b3JrIElSQ0NsaWVudCIJCQk7OyBcCgkJCWphdmEpCQkJYz0i
RGV2ZWxvcG1lbnQgSmF2YSIJCQk7OyBcCgkJCWtkZSkJCQljPSJLREUgUXQiCQkJCQkJOzsgXAoJ
CQlsYW5nKQkJCWM9IkRldmVsb3BtZW50IgkJCQkJOzsgXAoJCQlsaXNwKQkJCWM9IkRldmVsb3Bt
ZW50IgkJCQkJOzsgXAoJCQltYWlsKQkJCWM9Ik9mZmljZSBFbWFpbCIJCQkJOzsgXAoJCQltYXRl
KQkJCWM9Ik1BVEUgR1RLIgkJOzsgXAoJCQltYXRoKQkJCWM9IkVkdWNhdGlvbiBTY2llbmNlIE1h
dGgiCQk7OyBcCgkJCW1ib25lKQkJCWM9Ik5ldHdvcmsgQXVkaW9WaWRlbyIJCQk7OyBcCgkJCW11
bHRpbWVkaWEpCQljPSJBdWRpb1ZpZGVvIgkJCQkJOzsgXAoJCQluZXQpCQkJYz0iTmV0d29yayIJ
CQkJCQk7OyBcCgkJCW5ldC1pbSkJCQljPSJOZXR3b3JrIEluc3RhbnRNZXNzYWdpbmciCTs7IFwK
CQkJbmV0LW1nbXQpCQljPSJOZXR3b3JrIgkJCQkJCTs7IFwKCQkJbmV0LXAycCkJCWM9Ik5ldHdv
cmsgUDJQIgkJCQkJOzsgXAoJCQluZXdzKQkJCWM9Ik5ldHdvcmsgTmV3cyIJCQkJOzsgXAoJCQlw
YWxtKQkJCWM9Ik9mZmljZSBQREEiCQkJCQk7OyBcCgkJCXBhcmFsbGVsKQkJYz0iUGFyYWxsZWxD
b21wdXRpbmciCQkJOzsgXAoJCQlwZWFyKQkJCWM9IkRldmVsb3BtZW50IFdlYkRldmVsb3BtZW50
Igk7OyBcCgkJCXBlcmw1KQkJCWM9IkRldmVsb3BtZW50IgkJCQkJOzsgXAoJCQlweXRob24pCQkJ
Yz0iRGV2ZWxvcG1lbnQiCQkJCQk7OyBcCgkJCXJ1YnkpCQkJYz0iRGV2ZWxvcG1lbnQiCQkJCQk7
OyBcCgkJCXJ1YnlnZW1zKQkJYz0iRGV2ZWxvcG1lbnQiCQkJCQk7OyBcCgkJCXNjaGVtZSkJCQlj
PSJEZXZlbG9wbWVudCIJCQkJCTs7IFwKCQkJc2NpZW5jZSkJCWM9IlNjaWVuY2UgRWR1Y2F0aW9u
IgkJCTs7IFwKCQkJc2VjdXJpdHkpCQljPSJTeXN0ZW0gU2VjdXJpdHkiCQkJCTs7IFwKCQkJc2hl
bGxzKQkJCWM9IlN5c3RlbSBTaGVsbCIJCQkJOzsgXAoJCQlzeXN1dGlscykJCWM9IlN5c3RlbSIJ
CQkJCQk7OyBcCgkJCXRjbCp8dGsqKQkJYz0iRGV2ZWxvcG1lbnQiCQkJCQk7OyBcCgkJCXRleHRw
cm9jKQkJYz0iVXRpbGl0eSBUZXh0VG9vbHMiCQkJOzsgXAoJCQl3d3cpCQkJYz0iTmV0d29yayIJ
CQkJCQk7OyBcCgkJCXgxMS1jbG9ja3MpCQljPSJVdGlsaXR5IENsb2NrIgkJCQk7OyBcCgkJCXgx
MS1mbSkJCQljPSJTeXN0ZW0gRmlsZU1hbmFnZXIiCQkJOzsgXAoJCQl4ZmNlKQkJCWM9IkdUSyBY
RkNFIgkJCQkJOzsgXAoJCQl6b3BlKQkJCWM9IkRldmVsb3BtZW50IFdlYkRldmVsb3BtZW50Igk7
OyBcCgkJZXNhYzsgXAoJCWlmIFsgLW4gIiQkYyIgXTsgdGhlbiBcCgkJCWNhdGVnb3JpZXM9IiQk
Y2F0ZWdvcmllcyAkJGMiOyBcCgkJZmk7IFwKCWRvbmU7IFwKCWlmIFsgLW4gIiQkY2F0ZWdvcmll
cyIgXTsgdGhlbiBcCgkJZm9yIGMgaW4gJCRjYXRlZ29yaWVzOyBkbyAke0VDSE9fTVNHfSAiJCRj
IjsgZG9uZSBcCgkJCXwgJHtTT1JUfSAtdSB8ICR7VFJ9ICdcbicgJzsnOyBcCgkJJHtFQ0hPX01T
R307IFwKCWZpCgojIGh0dHA6Ly9zdGFuZGFyZHMuZnJlZWRlc2t0b3Aub3JnL21lbnUtc3BlYy9t
ZW51LXNwZWMtbGF0ZXN0Lmh0bWwKREVTS1RPUF9DQVRFR09SSUVTX01BSU49CUF1ZGlvVmlkZW8g
QXVkaW8gVmlkZW8gRGV2ZWxvcG1lbnQgRWR1Y2F0aW9uIFwKCUdhbWUgR3JhcGhpY3MgTmV0d29y
ayBPZmZpY2UgU2NpZW5jZSBTZXR0aW5ncyBTeXN0ZW0gVXRpbGl0eQpERVNLVE9QX0NBVEVHT1JJ
RVNfQURESVRJT05BTD0JQnVpbGRpbmcgRGVidWdnZXIgSURFIEdVSURlc2lnbmVyIFByb2ZpbGlu
ZyBcCglSZXZpc2lvbkNvbnRyb2wgVHJhbnNsYXRpb24gQ2FsZW5kYXIgQ29udGFjdE1hbmFnZW1l
bnQgRGF0YWJhc2UgXAoJRGljdGlvbmFyeSBDaGFydCBFbWFpbCBGaW5hbmNlIEZsb3dDaGFydCBQ
REEgUHJvamVjdE1hbmFnZW1lbnQgXAoJUHJlc2VudGF0aW9uIFNwcmVhZHNoZWV0IFdvcmRQcm9j
ZXNzb3IgMkRHcmFwaGljcyBWZWN0b3JHcmFwaGljcyBcCglSYXN0ZXJHcmFwaGljcyAzREdyYXBo
aWNzIFNjYW5uaW5nIE9DUiBQaG90b2dyYXBoeSBQdWJsaXNoaW5nIFZpZXdlciBcCglUZXh0VG9v
bHMgRGVza3RvcFNldHRpbmdzIEhhcmR3YXJlU2V0dGluZ3MgUHJpbnRpbmcgUGFja2FnZU1hbmFn
ZXIgXAoJRGlhbHVwIEluc3RhbnRNZXNzYWdpbmcgQ2hhdCBJUkNDbGllbnQgRmVlZCBGaWxlVHJh
bnNmZXIgSGFtUmFkaW8gTmV3cyBcCglQMlAgUmVtb3RlQWNjZXNzIFRlbGVwaG9ueSBUZWxlcGhv
bnlUb29scyBWaWRlb0NvbmZlcmVuY2UgV2ViQnJvd3NlciBcCglXZWJEZXZlbG9wbWVudCBNaWRp
IE1peGVyIFNlcXVlbmNlciBUdW5lciBUViBBdWRpb1ZpZGVvRWRpdGluZyBQbGF5ZXIgXAoJUmVj
b3JkZXIgRGlzY0J1cm5pbmcgQWN0aW9uR2FtZSBBZHZlbnR1cmVHYW1lIEFyY2FkZUdhbWUgQm9h
cmRHYW1lIFwKCUJsb2Nrc0dhbWUgQ2FyZEdhbWUgS2lkc0dhbWUgTG9naWNHYW1lIFJvbGVQbGF5
aW5nIFNob290ZXIgU2ltdWxhdGlvbiBcCglTcG9ydHNHYW1lIFN0cmF0ZWd5R2FtZSBBcnQgQ29u
c3RydWN0aW9uIE11c2ljIExhbmd1YWdlcyBcCglBcnRpZmljaWFsSW50ZWxsaWdlbmNlIEFzdHJv
bm9teSBCaW9sb2d5IENoZW1pc3RyeSBDb21wdXRlclNjaWVuY2UgXAoJRGF0YVZpc3VhbGl6YXRp
b24gRWNvbm9teSBFbGVjdHJpY2l0eSBHZW9ncmFwaHkgR2VvbG9neSBHZW9zY2llbmNlIFwKCUhp
c3RvcnkgSHVtYW5pdGllcyBJbWFnZVByb2Nlc3NpbmcgTGl0ZXJhdHVyZSBNYXBzIE1hdGggXAoJ
TnVtZXJpY2FsQW5hbHlzaXMgTWVkaWNhbFNvZnR3YXJlIFBoeXNpY3MgUm9ib3RpY3MgU3Bpcml0
dWFsaXR5IFNwb3J0cyBcCglQYXJhbGxlbENvbXB1dGluZyBBbXVzZW1lbnQgQXJjaGl2aW5nIENv
bXByZXNzaW9uIEVsZWN0cm9uaWNzIEVtdWxhdG9yIFwKCUVuZ2luZWVyaW5nIEZpbGVUb29scyBG
aWxlTWFuYWdlciBUZXJtaW5hbEVtdWxhdG9yIEZpbGVzeXN0ZW0gTW9uaXRvciBcCglTZWN1cml0
eSBBY2Nlc3NpYmlsaXR5IENhbGN1bGF0b3IgQ2xvY2sgVGV4dEVkaXRvciBEb2N1bWVudGF0aW9u
IEFkdWx0IFwKCUNvcmUgS0RFIEdOT01FIE1BVEUgWEZDRSBHVEsgUXQgTW90aWYgSmF2YSBDb25z
b2xlT25seQpERVNLVE9QX0NBVEVHT1JJRVNfUkVTRVJWRUQ9CVNjcmVlbnNhdmVyIFRyYXlJY29u
IEFwcGxldCBTaGVsbAoKVkFMSURfREVTS1RPUF9DQVRFR09SSUVTKz0JJHtERVNLVE9QX0NBVEVH
T1JJRVNfTUFJTn0gXAoJJHtERVNLVE9QX0NBVEVHT1JJRVNfQURESVRJT05BTH0gXAoJJHtERVNL
VE9QX0NBVEVHT1JJRVNfUkVTRVJWRUR9CgouaWYgZGVmaW5lZChERVNLVE9QX0VOVFJJRVMpCmNo
ZWNrLWRlc2t0b3AtZW50cmllczoKCUBzZXQgLS0gJHtERVNLVE9QX0VOVFJJRVN9IFhYWDsgXAoJ
aWYgWyBgJHtFWFBSfSBcKCAkJCMgLSAxIFwpICUgNmAgLW5lIDAgXTsgdGhlbiBcCgkJJHtFQ0hP
X01TR30gIiR7UEtHTkFNRX06IE1ha2VmaWxlIGVycm9yOiB0aGUgREVTS1RPUF9FTlRSSUVTIGxp
c3QgbXVzdCBjb250YWluIG9uZSBvciBtb3JlIGdyb3VwcyBvZiA2IGVsZW1lbnRzIjsgXAoJCWV4
aXQgMTsgXAoJZmk7IFwKCW51bT0xOyBcCgl3aGlsZSBbICQkIyAtZ3QgNiBdOyBkbyBcCgkJZW50
cnk9IiMkJG51bSI7IFwKCQlpZiBbIC1uICIkJDQiIF07IHRoZW4gXAoJCQllbnRyeT0iJCRlbnRy
eSAoJCQ0KSI7IFwKCQllbGlmIFsgLW4gIiQkMSIgXTsgdGhlbiBcCgkJCWVudHJ5PSIkJGVudHJ5
ICgkJDEpIjsgXAoJCWZpOyBcCgkJaWYgWyAteiAiJCQxIiBdOyB0aGVuIFwKCQkJJHtFQ0hPX01T
R30gIiR7UEtHTkFNRX06IE1ha2VmaWxlIGVycm9yOiBpbiBkZXNrdG9wIGVudHJ5ICQkZW50cnk6
IGZpZWxkIDEgKE5hbWUpIGlzIGVtcHR5IjsgXAoJCQlleGl0IDE7IFwKCQlmaTsgXAoJCWlmICR7
RUNIT19DTUR9ICIkJDMiIHwgJHtHUkVQfSAtaXEgJy5cKHBuZ1x8c3ZnXHx4cG1cKSQkJzsgdGhl
biBcCgkJCWlmICEgJHtFQ0hPX0NNRH0gIiQkMyIgfCAke0dSRVB9IC1pcSAnXi8nOyB0aGVuIFwK
CQkJCSR7RUNIT19NU0d9ICIke1BLR05BTUV9OiBNYWtlZmlsZSB3YXJuaW5nOiBpbiBkZXNrdG9w
IGVudHJ5ICQkZW50cnk6IGZpZWxkIDMgKEljb24pIHNob3VsZCBiZSBlaXRoZXIgYWJzb2x1dGUg
cGF0aCBvciBpY29uIG5hbWUgd2l0aG91dCBleHRlbnNpb24gaWYgaW5zdGFsbGVkIGljb25zIGZv
bGxvdyBJY29uIFRoZW1lIFNwZWNpZmljYXRpb24iOyBcCgkJCWZpOyBcCgkJZmk7IFwKCQlpZiBb
IC16ICIkJDQiIF07IHRoZW4gXAoJCQkke0VDSE9fTVNHfSAiJHtQS0dOQU1FfTogTWFrZWZpbGUg
ZXJyb3I6IGluIGRlc2t0b3AgZW50cnkgJCRlbnRyeTogZmllbGQgNCAoRXhlYykgaXMgZW1wdHki
OyBcCgkJCWV4aXQgMTsgXAoJCWZpOyBcCgkJaWYgWyAtbiAiJCQ1IiBdOyB0aGVuIFwKCQkJZm9y
IGMgaW4gYCR7RUNIT19DTUR9ICIkJDUiIHwgJHtUUn0gJzsnICcgJ2A7IGRvIFwKCQkJCWlmICEg
JHtFQ0hPX0NNRH0gJHtWQUxJRF9ERVNLVE9QX0NBVEVHT1JJRVN9IHwgJHtHUkVQfSAtd3EgJCRj
OyB0aGVuIFwKCQkJCQkke0VDSE9fQ01EfSAiJHtQS0dOQU1FfTogTWFrZWZpbGUgd2FybmluZzog
aW4gZGVza3RvcCBlbnRyeSAkJGVudHJ5OiBjYXRlZ29yeSAkJGMgaXMgbm90IGEgdmFsaWQgZGVz
a3RvcCBjYXRlZ29yeSI7IFwKCQkJCWZpOyBcCgkJCWRvbmU7IFwKCQkJaWYgISAke0VDSE9fQ01E
fSAiJCQ1IiB8ICR7R1JFUH0gLXEgImAke0VDSE9fQ01EfSAke0RFU0tUT1BfQ0FURUdPUklFU19N
QUlOfSB8ICR7U0VEfSAtRSAncyxbWzpibGFuazpdXSssXFxcfCxnJ2AiOyB0aGVuIFwKCQkJCSR7
RUNIT19DTUR9ICIke1BLR05BTUV9OiBNYWtlZmlsZSB3YXJuaW5nOiBpbiBkZXNrdG9wIGVudHJ5
ICQkZW50cnk6IGZpZWxkIDUgKENhdGVnb3JpZXMpIG11c3QgY29udGFpbiBhdCBsZWFzdCBvbmUg
bWFpbiBkZXNrdG9wIGNhdGVnb3J5IChtYWtlIC1WREVTS1RPUF9DQVRFR09SSUVTX01BSU4pIjsg
XAoJCQlmaTsgXAoJCQlpZiAhICR7RUNIT19DTUR9ICIkJDUiIHwgJHtHUkVQfSAtcSAnOyQkJzsg
dGhlbiBcCgkJCQkke0VDSE9fTVNHfSAiJHtQS0dOQU1FfTogTWFrZWZpbGUgZXJyb3I6IGluIGRl
c2t0b3AgZW50cnkgJCRlbnRyeTogZmllbGQgNSAoQ2F0ZWdvcmllcykgZG9lcyBub3QgZW5kIHdp
dGggYSBzZW1pY29sb24iOyBcCgkJCQlleGl0IDE7IFwKCQkJZmk7IFwKCQllbHNlIFwKCQkJaWYg
WyAteiAiYGNkICR7LkNVUkRJUn0gJiYgJHtNQUtFfSBkZXNrdG9wLWNhdGVnb3JpZXNgIiBdOyB0
aGVuIFwKCQkJCSR7RUNIT19NU0d9ICIke1BLR05BTUV9OiBNYWtlZmlsZSBlcnJvcjogaW4gZGVz
a3RvcCBlbnRyeSAkJGVudHJ5OiBmaWVsZCA1IChDYXRlZ29yaWVzKSBpcyBlbXB0eSBhbmQgY291
bGQgbm90IGJlIGRlZHVjZWQgZnJvbSB0aGUgQ0FURUdPUklFUyB2YXJpYWJsZSI7IFwKCQkJCWV4
aXQgMTsgXAoJCQlmaTsgXAoJCWZpOyBcCgkJaWYgWyAieCQkNiIgIT0gInh0cnVlIiBdICYmIFsg
IngkJDYiICE9ICJ4ZmFsc2UiIF0gJiYgWyAieCQkNiIgIT0gIngiIF07IHRoZW4gXAoJCQkke0VD
SE9fTVNHfSAiJHtQS0dOQU1FfTogTWFrZWZpbGUgZXJyb3I6IGluIGRlc2t0b3AgZW50cnkgJCRl
bnRyeTogZmllbGQgNiAoU3RhcnR1cE5vdGlmeSkgaXMgbm90IFwidHJ1ZVwiLCBcImZhbHNlXCIg
b3IgXCJcIihlbXB0eSkiOyBcCgkJCWV4aXQgMTsgXAoJCWZpOyBcCgkJc2hpZnQgNjsgXAoJCW51
bT1gJHtFWFBSfSAkJG51bSArIDFgOyBcCglkb25lCi5lbmRpZgoKLmlmICF0YXJnZXQoaW5zdGFs
bC1kZXNrdG9wLWVudHJpZXMpCi5pZiBkZWZpbmVkKERFU0tUT1BfRU5UUklFUykKaW5zdGFsbC1k
ZXNrdG9wLWVudHJpZXM6CglAc2V0IC0tICR7REVTS1RPUF9FTlRSSUVTfSBYWFg7IFwKCXdoaWxl
IFsgJCQjIC1ndCA2IF07IGRvIFwKCQlmaWxlbmFtZT0iYCR7RUNIT19DTUR9ICIkJDQiIHwgJHtT
RUR9IC1lICdzLF4vLCxnO3MsWy8gXSxfLGc7cyxbXl9bOmFsbnVtOl1dLCxnJ2AuZGVza3RvcCI7
IFwKCQlwYXRobmFtZT0iJHtTVEFHRURJUn0ke0RFU0tUT1BESVJ9LyQkZmlsZW5hbWUiOyBcCgkJ
Y2F0ZWdvcmllcz0iJCQ1IjsgXAoJCWlmIFsgLXogIiQkY2F0ZWdvcmllcyIgXTsgdGhlbiBcCgkJ
CWNhdGVnb3JpZXM9ImBjZCAkey5DVVJESVJ9ICYmICR7TUFLRX0gZGVza3RvcC1jYXRlZ29yaWVz
YCI7IFwKCQlmaTsgXAoJCSR7RUNIT19DTUR9ICIke0RFU0tUT1BESVJ9LyQkZmlsZW5hbWUiID4+
ICR7VE1QUExJU1R9OyBcCgkJJHtFQ0hPX0NNRH0gIltEZXNrdG9wIEVudHJ5XSIgPiAkJHBhdGhu
YW1lOyBcCgkJJHtFQ0hPX0NNRH0gIlR5cGU9QXBwbGljYXRpb24iID4+ICQkcGF0aG5hbWU7IFwK
CQkke0VDSE9fQ01EfSAiVmVyc2lvbj0xLjAiID4+ICQkcGF0aG5hbWU7IFwKCQkke0VDSE9fQ01E
fSAiTmFtZT0kJDEiID4+ICQkcGF0aG5hbWU7IFwKCQljb21tZW50PSIkJDIiOyBcCgkJaWYgWyAt
eiAiJCQyIiBdOyB0aGVuIFwKCQkJY29tbWVudD0iYGNkICR7LkNVUkRJUn0gJiYgJHtNQUtFfSAt
VkNPTU1FTlRgIjsgXAoJCWZpOyBcCgkJJHtFQ0hPX0NNRH0gIkdlbmVyaWNOYW1lPSQkY29tbWVu
dCIgPj4gJCRwYXRobmFtZTsgXAoJCSR7RUNIT19DTUR9ICJDb21tZW50PSQkY29tbWVudCIgPj4g
JCRwYXRobmFtZTsgXAoJCWlmIFsgLW4gIiQkMyIgXTsgdGhlbiBcCgkJCSR7RUNIT19DTUR9ICJJ
Y29uPSQkMyIgPj4gJCRwYXRobmFtZTsgXAoJCWZpOyBcCgkJJHtFQ0hPX0NNRH0gIkV4ZWM9JCQ0
IiA+PiAkJHBhdGhuYW1lOyBcCgkJJHtFQ0hPX0NNRH0gIkNhdGVnb3JpZXM9JCRjYXRlZ29yaWVz
IiA+PiAkJHBhdGhuYW1lOyBcCgkJaWYgWyAtbiAiJCQ2IiBdOyB0aGVuIFwKCQkJJHtFQ0hPX0NN
RH0gIlN0YXJ0dXBOb3RpZnk9JCQ2IiA+PiAkJHBhdGhuYW1lOyBcCgkJZmk7IFwKCQlzaGlmdCA2
OyBcCglkb25lCi5lbmRpZgouZW5kaWYKCi5pZiBkZWZpbmVkKFdBUk5JTkcpCldBUk5JTkdfV0FJ
VD89CTEwCnNob3ctd2FybmluZ3M6CglAJHtFQ0hPX01TR30gIi8hXFwgV0FSTklORyAvIVxcIgou
Zm9yIG0gaW4gJHtXQVJOSU5HfQoJQCR7RUNIT19NU0d9ICIke219IgouZW5kZm9yCglAJHtFQ0hP
X01TR30KCUBzbGVlcCAke1dBUk5JTkdfV0FJVH0KLmVuZGlmCgouaWYgZGVmaW5lZChERVZFTE9Q
RVIpCi5pZiBkZWZpbmVkKERFVl9XQVJOSU5HKQpERVZfV0FSTklOR19XQUlUPz0JMTAKc2hvdy1k
ZXYtd2FybmluZ3M6CglAJHtFQ0hPX01TR30gIi8hXFwgJHtQS0dOQU1FfTogTWFrZWZpbGUgd2Fy
bmluZ3MsIHBsZWFzZSBjb25zaWRlciBmaXhpbmcgLyFcXCIKCUAke0VDSE9fTVNHfQouZm9yIG0g
aW4gJHtERVZfV0FSTklOR30KCUAke0VDSE9fTVNHfSAiJHttfSIKLmVuZGZvcgoJQCR7RUNIT19N
U0d9Ci5pZiBkZWZpbmVkKERFVl9XQVJOSU5HX0ZBVEFMKQoJQCR7RkFMU0V9Ci5lbHNlCglAc2xl
ZXAgJHtERVZfV0FSTklOR19XQUlUfQouZW5kaWYKLmVuZGlmCgouaWYgZGVmaW5lZChERVZfRVJS
T1IpCnNob3ctZGV2LWVycm9yczoKCUAke0VDSE9fTVNHfSAiLyFcXCAke1BLR05BTUV9OiBNYWtl
ZmlsZSBlcnJvcnMgLyFcXCIKCUAke0VDSE9fTVNHfQouZm9yIG0gaW4gJHtERVZfRVJST1J9CglA
JHtFQ0hPX01TR30gIiR7bX0iCi5lbmRmb3IKCUAke0VDSE9fTVNHfQoJQCR7RkFMU0V9Ci5lbmRp
ZgouZW5kaWYgI0RFVkVMT1BFUgoKIyBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBvcmRlciBvZiB0aGUg
Zm9sbG93aW5nIHRhcmdldHMgaXMgaW1wb3J0YW50LCBhbmQKIyBzaG91bGQgbm90IGJlIG1vZGlm
aWVkLgoKX1RBUkdFVFNfU1RBR0VTPQlTQU5JVFkgUEtHIEZFVENIIEVYVFJBQ1QgUEFUQ0ggQ09O
RklHVVJFIEJVSUxEIElOU1RBTEwgUEFDS0FHRSBTVEFHRQoKIyBEZWZpbmUgdGhlIFNFUSBvZiBh
Y3Rpb25zIHRvIHRha2Ugd2hlbiBlYWNoIHRhcmdldCBpcyByYW4sIGFuZCB3aGljaCB0YXJnZXRz
CiMgaXQgZGVwZW5kcyBvbiBiZWZvcmUgcnVubmluZyBpdHMgU0VRLgoKX1NBTklUWV9TRVE9CXBv
c3QtY2hyb290IHByZS1ldmVyeXRoaW5nIGNoZWNrLW1ha2VmaWxlIFwKCQkJCXNob3ctd2Fybmlu
Z3Mgc2hvdy1kZXYtd2FybmluZ3Mgc2hvdy1kZXYtZXJyb3JzIFwKCQkJCWNoZWNrLWNhdGVnb3Jp
ZXMgY2hlY2stbWFrZXZhcnMgY2hlY2stZGVza3RvcC1lbnRyaWVzIFwKCQkJCWNoZWNrLWRlcGVu
ZHMgaWRlbnRpZnktaW5zdGFsbC1jb25mbGljdHMgY2hlY2stZGVwcmVjYXRlZCBcCgkJCQljaGVj
ay12dWxuZXJhYmxlIGNoZWNrLWxpY2Vuc2UgY2hlY2stY29uZmlnIGJ1aWxkYW55d2F5LW1lc3Nh
Z2UgXAoJCQkJb3B0aW9ucy1tZXNzYWdlCgpfUEtHX0RFUD0JCWNoZWNrLXNhbml0eQpfUEtHX1NF
UT0JCXBrZy1kZXBlbmRzCl9GRVRDSF9ERVA9CQlwa2cKX0ZFVENIX1NFUT0JCWZldGNoLWRlcGVu
ZHMgcHJlLWZldGNoICR7X09QVElPTlNfcHJlX2ZldGNofSBwcmUtZmV0Y2gtc2NyaXB0IFwKCQkJ
CWRvLWZldGNoIGZldGNoLXNwZWNpYWxzIHBvc3QtZmV0Y2ggJHtfT1BUSU9OU19wb3N0X2ZldGNo
fSBwb3N0LWZldGNoLXNjcmlwdApfRVhUUkFDVF9ERVA9CWZldGNoCl9FWFRSQUNUX1NFUT0JY2hl
Y2stYnVpbGQtY29uZmxpY3RzIGV4dHJhY3QtbWVzc2FnZSBjaGVja3N1bSBleHRyYWN0LWRlcGVu
ZHMgXAoJCQkJY2xlYW4td3JrZGlyICR7V1JLRElSfSBwcmUtZXh0cmFjdCAke19PUFRJT05TX3By
ZV9leHRyYWN0fSBwcmUtZXh0cmFjdC1zY3JpcHQgZG8tZXh0cmFjdCBcCgkJCQlwb3N0LWV4dHJh
Y3QgJHtfT1BUSU9OU19wb3N0X2V4dHJhY3R9IHBvc3QtZXh0cmFjdC1zY3JpcHQKX1BBVENIX0RF
UD0JCWV4dHJhY3QKX1BBVENIX1NFUT0JCWFzay1saWNlbnNlIHBhdGNoLW1lc3NhZ2UgcGF0Y2gt
ZGVwZW5kcyBwYXRoZml4IGRvczJ1bml4IGZpeC1zaGViYW5nIFwKCQkJCXByZS1wYXRjaCAke19P
UFRJT05TX3ByZV9wYXRjaH0gXAoJCQkJcHJlLXBhdGNoLXNjcmlwdCBkby1wYXRjaCBjaGFyc2V0
Zml4LXBvc3QtcGF0Y2ggcG9zdC1wYXRjaCAke19PUFRJT05TX3Bvc3RfcGF0Y2h9IHBvc3QtcGF0
Y2gtc2NyaXB0Cl9DT05GSUdVUkVfREVQPQlwYXRjaApfQ09ORklHVVJFX1NFUT0JYnVpbGQtZGVw
ZW5kcyBsaWItZGVwZW5kcyBjb25maWd1cmUtbWVzc2FnZSBcCgkJCQlwcmUtY29uZmlndXJlICR7
X09QVElPTlNfcHJlX2NvbmZpZ3VyZX0gcHJlLWNvbmZpZ3VyZS1zY3JpcHQgXAoJCQkJcnVuLWF1
dG90b29scyBkby1hdXRvcmVjb25mIHBhdGNoLWxpYnRvb2wgcnVuLWF1dG90b29scy1maXh1cCBk
by1jb25maWd1cmUgXAoJCQkJcG9zdC1jb25maWd1cmUgJHtfT1BUSU9OU19wb3N0X2NvbmZpZ3Vy
ZX0gcG9zdC1jb25maWd1cmUtc2NyaXB0Cl9CVUlMRF9ERVA9CQljb25maWd1cmUKX0JVSUxEX1NF
UT0JCWJ1aWxkLW1lc3NhZ2UgcHJlLWJ1aWxkICR7X09QVElPTlNfcHJlX2J1aWxkfSBwcmUtYnVp
bGQtc2NyaXB0IGRvLWJ1aWxkIFwKCQkJCXBvc3QtYnVpbGQgJHtfT1BUSU9OU19wb3N0X2J1aWxk
fSBwb3N0LWJ1aWxkLXNjcmlwdAoKX1NUQUdFX0RFUD0JCWJ1aWxkCl9TVEFHRV9TRVE9CQlzdGFn
ZS1tZXNzYWdlIHN0YWdlLWRpciBydW4tZGVwZW5kcyBsaWItZGVwZW5kcyBhcHBseS1zbGlzdCBw
cmUtaW5zdGFsbCAke19PUFRJT05TX3ByZV9pbnN0YWxsfSAke19PUFRJT05TX3ByZV9zdGFnZX0g
Z2VuZXJhdGUtcGxpc3QgXAoJCQkJcHJlLXN1LWluc3RhbGwKIyAke1BPU1RfUExJU1R9IG11c3Qg
YmUgYWZ0ZXIgYW55dGhpbmcgdGhhdCBtb2RpZmllcyBUTVBQTElTVApfU1RBR0VfU0VRKz0JY3Jl
YXRlLXVzZXJzLWdyb3VwcyBkby1pbnN0YWxsIFwKCQkJCWttb2QtcG9zdC1pbnN0YWxsIGZpeC1w
ZXJsLXRoaW5ncyBcCgkJCQl3ZWJwbHVnaW4tcG9zdC1pbnN0YWxsIHBvc3QtaW5zdGFsbCAke19P
UFRJT05TX3Bvc3RfaW5zdGFsbH0gcG9zdC1pbnN0YWxsLXNjcmlwdCBcCgkJCQltb3ZlLXVuaXF1
ZWZpbGVzIHBhdGNoLWxhZmlsZXMgcG9zdC1zdGFnZSAke19PUFRJT05TX3Bvc3Rfc3RhZ2V9IGNv
bXByZXNzLW1hbiBcCgkJCQlpbnN0YWxsLXJjLXNjcmlwdCBpbnN0YWxsLWxkY29uZmlnLWZpbGUg
aW5zdGFsbC1saWNlbnNlIFwKCQkJCWluc3RhbGwtZGVza3RvcC1lbnRyaWVzIGFkZC1wbGlzdC1p
bmZvIGFkZC1wbGlzdC1kb2NzIFwKCQkJCWFkZC1wbGlzdC1leGFtcGxlcyBhZGQtcGxpc3QtZGF0
YSBhZGQtcGxpc3QtcG9zdCBcCgkJCQltb3ZlLXVuaXF1ZWZpbGVzLXBsaXN0ICR7UE9TVF9QTElT
VH0KLmlmIGRlZmluZWQoREVWRUxPUEVSKQpfU1RBR0VfU0VRKz0Jc3RhZ2UtcWEKLmVuZGlmCl9J
TlNUQUxMX0RFUD0Jc3RhZ2UKX0lOU1RBTExfU0VRPQlpbnN0YWxsLW1lc3NhZ2UgcnVuLWRlcGVu
ZHMgbGliLWRlcGVuZHMgY2hlY2stYWxyZWFkeS1pbnN0YWxsZWQKX0lOU1RBTExfU1VTRVE9CWZh
a2UtcGtnIHNlY3VyaXR5LWNoZWNrCgpfUEFDS0FHRV9ERVA9CXN0YWdlCl9QQUNLQUdFX1NFUT0J
cGFja2FnZS1tZXNzYWdlIHByZS1wYWNrYWdlICR7X09QVElPTlNfcHJlX3BhY2thZ2V9IHByZS1w
YWNrYWdlLXNjcmlwdCBkby1wYWNrYWdlICR7X09QVElPTlNfcG9zdF9wYWNrYWdlfSBwb3N0LXBh
Y2thZ2Utc2NyaXB0CgojIEVuZm9yY2Ugb3JkZXIgZm9yIC1qTiBidWlsZHMKCi5mb3IgX3QgaW4g
JHtfVEFSR0VUU19TVEFHRVN9Ci4gIGZvciBzIGluICR7XyR7X3R9X1NFUX0KLiAgICBpZiB0YXJn
ZXQoJHtzfSkKLiAgICAgIGlmICEgJHtOT1RQSE9OWTpNJHtzfX0KX1BIT05ZX1RBUkdFVFMrPSAk
e3N9Ci4gICAgICBlbmRpZgpfJHtfdH1fUkVBTF9TRVErPQkke3N9Ci4gICAgZW5kaWYKLiAgZW5k
Zm9yCi4gIGZvciBzIGluICR7XyR7X3R9X1NVU0VRfQouICAgIGlmIHRhcmdldCgke3N9KQouICAg
ICAgaWYgISAke05PVFBIT05ZOk0ke3N9fQpfUEhPTllfVEFSR0VUUys9ICR7c30KLiAgICAgICBl
bmRpZgpfJHtfdH1fUkVBTF9TVVNFUSs9CSR7c30KLiAgICBlbmRpZgouICBlbmRmb3IKLk9SREVS
OiAke18ke190fV9ERVB9ICR7XyR7X3R9X1JFQUxfU0VRfQouZW5kZm9yCgojIERlZmluZSBhbGwg
b2YgdGhlIG1haW4gdGFyZ2V0cyB3aGljaCBkZXBlbmQgb24gYSBzZXF1ZW5jZSBvZiBvdGhlciB0
YXJnZXRzLgojIFNlZSBhYm92ZSAqX1NFUSBhbmQgKl9ERVAuIFRoZSBfREVQIHdpbGwgcnVuIGJl
Zm9yZSB0aGlzIGRlZmluZWQgdGFyZ2V0IGlzCiMgcmFuLiBUaGUgX1NFUSB3aWxsIHJ1biBhcyB0
aGlzIHRhcmdldCBvbmNlIF9ERVAgaXMgc2F0aXNmaWVkLgoKLmZvciB0YXJnZXQgaW4gZXh0cmFj
dCBwYXRjaCBjb25maWd1cmUgYnVpbGQgc3RhZ2UgaW5zdGFsbCBwYWNrYWdlCgojIENoZWNrIGlm
IGNvbmZpZyBkaWFsb2cgbmVlZHMgdG8gc2hvdyBhbmQgZXhlY3V0ZSBpdCBpZiBuZWVkZWQuIElm
IGlzIGl0IG5vdAojIG5lZWRlZCAoX09QVElPTlNfT0spLCB0aGVuIGp1c3QgZGVwZW5kIG9uIHRo
ZSBjb29raWUgd2hpY2ggaXMgZGVmaW5lZCBsYXRlcgojIHRvIGRlcGVuZCBvbiB0aGUgKl9ERVAg
YW5kIGV4ZWN1dGUgdGhlICpfU0VRLgojIElmIG9wdGlvbnMgYXJlIHJlcXVpcmVkLCBleGVjdXRl
IGNvbmZpZy1jb25kaXRpb25hbCBhbmQgdGhlbiByZS1leGVjdXRlIHRoZQojIHRhcmdldCBub3Rp
bmcgdGhhdCBjb25maWcgaXMgbm8gbG9uZ2VyIG5lZWRlZC4KLmlmICF0YXJnZXQoJHt0YXJnZXR9
KSAmJiBkZWZpbmVkKF9PUFRJT05TX09LKQpfUEhPTllfVEFSR0VUUys9ICR7dGFyZ2V0fQoke3Rh
cmdldH06ICR7JHt0YXJnZXQ6dHV9X0NPT0tJRX0KLmVsaWYgIXRhcmdldCgke3RhcmdldH0pCiR7
dGFyZ2V0fTogY29uZmlnLWNvbmRpdGlvbmFsCglAY2QgJHsuQ1VSRElSfSAmJiAke01BS0V9IENP
TkZJR19ET05FXyR7VU5JUVVFTkFNRTp0dX09MSAkeyR7dGFyZ2V0OnR1fV9DT09LSUV9Ci5lbGlm
IHRhcmdldCgke3RhcmdldH0pICYmIGRlZmluZWQoSUdOT1JFKQouZW5kaWYKCi5pZiAhZXhpc3Rz
KCR7JHt0YXJnZXQ6dHV9X0NPT0tJRX0pCgojIERlZmluZSB0aGUgcmVhbCB0YXJnZXQgYmVoYXZp
b3IuIERlcGVuZCBvbiB0aGUgdGFyZ2V0J3MgKl9ERVAuIEV4ZWN1dGUKIyB0aGUgdGFyZ2V0J3Mg
Kl9TRVEuIEFsc28gaGFuZGxlIHN1IGFuZCBVU0VfU1VCTUFLRSBuZWVkcy4KLmlmICR7VUlEfSAh
PSAwICYmIGRlZmluZWQoXyR7dGFyZ2V0OnR1fV9SRUFMX1NVU0VRKSAmJiAhZGVmaW5lZChJTlNU
QUxMX0FTX1VTRVIpCi4gIGlmIGRlZmluZWQoVVNFX1NVQk1BS0UpCiR7JHt0YXJnZXQ6dHV9X0NP
T0tJRX06ICR7XyR7dGFyZ2V0OnR1fV9ERVB9CglAY2QgJHsuQ1VSRElSfSAmJiAke01BS0V9ICR7
XyR7dGFyZ2V0OnR1fV9SRUFMX1NFUX0KLiAgZWxzZSAgIyAhVVNFX1NVQk1BS0UKJHske3Rhcmdl
dDp0dX1fQ09PS0lFfTogJHtfJHt0YXJnZXQ6dHV9X0RFUH0gJHtfJHt0YXJnZXQ6dHV9X1JFQUxf
U0VRfQouICBlbmRpZiAjIFVTRV9TVUJNQUtFCglAJHtFQ0hPX01TR30gIj09PT4gIFN3aXRjaGlu
ZyB0byByb290IGNyZWRlbnRpYWxzIGZvciAnJHt0YXJnZXR9JyB0YXJnZXQiCglAY2QgJHsuQ1VS
RElSfSAmJiBcCgkJJHtTVV9DTUR9ICIke01BS0V9ICR7XyR7dGFyZ2V0OnR1fV9SRUFMX1NVU0VR
fSIKCUAke0VDSE9fTVNHfSAiPT09PiAgUmV0dXJuaW5nIHRvIHVzZXIgY3JlZGVudGlhbHMiCglA
JHtUT1VDSH0gJHtUT1VDSF9GTEFHU30gJHsuVEFSR0VUfQouZWxzZSAjIE5vIFNVIG5lZWRlZAou
ICBpZiBkZWZpbmVkKFVTRV9TVUJNQUtFKQokeyR7dGFyZ2V0OnR1fV9DT09LSUV9OiAke18ke3Rh
cmdldDp0dX1fREVQfQoJQGNkICR7LkNVUkRJUn0gJiYgXAoJCSR7TUFLRX0gJHtfJHt0YXJnZXQ6
dHV9X1JFQUxfU0VRfSAke18ke3RhcmdldDp0dX1fUkVBTF9TVVNFUX0KCUAke1RPVUNIfSAke1RP
VUNIX0ZMQUdTfSAkey5UQVJHRVR9Ci4gIGVsc2UgIyAhVVNFX1NVQk1BS0UKJHske3RhcmdldDp0
dX1fQ09PS0lFfTogJHtfJHt0YXJnZXQ6dHV9X0RFUH0gJHtfJHt0YXJnZXQ6dHV9X1JFQUxfU0VR
fSAke18ke3RhcmdldDp0dX1fUkVBTF9TVVNFUX0KCUAke1RPVUNIfSAke1RPVUNIX0ZMQUdTfSAk
ey5UQVJHRVR9Ci4gIGVuZGlmICMgVVNFX1NVQk1BS0UKLmVuZGlmICMgU1UgbmVlZGVkCgouZWxz
ZSAjIGV4aXN0cyhjb29raWUpCiR7JHt0YXJnZXQ6dHV9X0NPT0tJRX06OgoJQGlmIFsgLWUgJHsu
VEFSR0VUfSBdOyB0aGVuIFwKCQkke0RPX05BREF9OyBcCgllbHNlIFwKCQljZCAkey5DVVJESVJ9
ICYmICR7TUFLRX0gJHsuVEFSR0VUfTsgXAoJZmkKLmVuZGlmICMgIWV4aXN0cyhjb29raWUpCgou
ZW5kZm9yICMgZm9yZWFjaCh0YXJnZXRzKQoKLlBIT05ZOiAke19QSE9OWV9UQVJHRVRTfSBjaGVj
ay1zYW5pdHkgZmV0Y2ggcGtnCgouaWYgIXRhcmdldChjaGVjay1zYW5pdHkpCmNoZWNrLXNhbml0
eTogJHtfU0FOSVRZX1JFQUxfU0VRfQouZW5kaWYKCi5pZiAhdGFyZ2V0KGZldGNoKQpmZXRjaDog
JHtfRkVUQ0hfREVQfSAke19GRVRDSF9SRUFMX1NFUX0KLmVuZGlmCgouaWYgIXRhcmdldChwa2cp
CnBrZzogJHtfUEtHX0RFUH0gJHtfUEtHX1JFQUxfU0VRfQouZW5kaWYKCi5lbmRpZgojIEVuZCBv
ZiBwb3N0LW1ha2VmaWxlIHNlY3Rpb24uCgouZW5kaWYKIyBFbmQgb2YgdGhlIERFU1RESVIgaWYg
c3RhdGVtZW50Cg==

--_01f8a305-7abb-45a1-bdd8-ecc1d92c2c95_--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?COL130-W7946C2AFDB176DB0DF2BB0C49F0>