Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Dec 2009 18:27:24 +0100
From:      "Ebbe Hjorth" <info@ebbehjorth.dk>
To:        "Guido Falsi" <mad@madpilot.net>
Cc:        ports@freebsd.org
Subject:   Re: FreeBSD Port: gnokii-0.6.28,1
Message-ID:  <f863dccbd2b7da36057ef8200746a80f.squirrel@mail02.apz.dk>
In-Reply-To: <20091228154324.GE60869@megatron.madpilot.net>
References:  <f041367c70ca696374083ef0f6f91c89.squirrel@mail02.apz.dk> <20091228152314.GD60869@megatron.madpilot.net> <23917facf433fc050cd7c4134b9a8c7e.squirrel@mail02.apz.dk> <20091228154324.GE60869@megatron.madpilot.net>

next in thread | previous in thread | raw e-mail | index | archive | help
------=_20091228182724_50708
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit

> On Mon, Dec 28, 2009 at 04:38:32PM +0100, Ebbe Hjorth wrote:
>>
>> The system is a fresh install, so all ports is new and should be working
>> 100% :)
>
> I'll have to try this case as soon as I can(I'm unable right now).
>

I want to help, so i just did a complete reinstall of a freebsd 8.0 and
the error is still there, but now i have a log file :)

>
>> >> Thank you for all the good work!
>> >
>> > You're welcome and thank you again for bothering with reporting this!
>> >
>>
>> Im sorry for disturbing you, for nothing, without any log file, but i
>> guess it is good that you cant reproduce the problem :)
>
> Don't feel guilty! Better to report a problem than leave it there. If in
> fact there is a problem it is not going to fix it by itself!
>
------=_20091228182724_50708
Content-Type: application/octet-stream; name="config.log"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="config.log"

VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp
bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz
IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IGdub2tpaSBjb25maWd1cmUgMC42LjI4LCB3
aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjYzLiAgSW52b2NhdGlvbiBjb21t
YW5kIGxpbmUgd2FzCgogICQgLi9jb25maWd1cmUgLS13aXRoLWxpYmludGwtcHJlZml4PS91c3Iv
bG9jYWwgLS1lbmFibGUtc2VjdXJpdHkgLS13aXRoLXhnbm9raWlkaXI9L3Vzci9sb2NhbC9zaGFy
ZSAtLXdpdGhvdXQteCAtLXByZWZpeD0vdXNyL2xvY2FsIC0tbWFuZGlyPS91c3IvbG9jYWwvbWFu
IC0taW5mb2Rpcj0vdXNyL2xvY2FsL2luZm8vIC0tYnVpbGQ9aTM4Ni1wb3J0YmxkLWZyZWVic2Q4
LjAKCiMjIC0tLS0tLS0tLSAjIwojIyBQbGF0Zm9ybS4gIyMKIyMgLS0tLS0tLS0tICMjCgpob3N0
bmFtZSA9IG1haWwwMy5hcHouZGsKdW5hbWUgLW0gPSBpMzg2CnVuYW1lIC1yID0gOC4wLVJFTEVB
U0UKdW5hbWUgLXMgPSBGcmVlQlNECnVuYW1lIC12ID0gRnJlZUJTRCA4LjAtUkVMRUFTRSAjMDog
U2F0IE5vdiAyMSAxNTo0ODoxNyBVVEMgMjAwOSAgICAgcm9vdEBhbG1laWRhLmNzZS5idWZmYWxv
LmVkdTovdXNyL29iai91c3Ivc3JjL3N5cy9HRU5FUklDIAoKL3Vzci9iaW4vdW5hbWUgLXAgPSBp
Mzg2Ci9iaW4vdW5hbWUgLVggICAgID0gdW5rbm93bgoKL2Jpbi9hcmNoICAgICAgICAgICAgICA9
IHVua25vd24KL3Vzci9iaW4vYXJjaCAtayAgICAgICA9IHVua25vd24KL3Vzci9jb252ZXgvZ2V0
c3lzaW5mbyA9IHVua25vd24KL3Vzci9iaW4vaG9zdGluZm8gICAgICA9IHVua25vd24KL2Jpbi9t
YWNoaW5lICAgICAgICAgICA9IHVua25vd24KL3Vzci9iaW4vb3NsZXZlbCAgICAgICA9IHVua25v
d24KL2Jpbi91bml2ZXJzZSAgICAgICAgICA9IHVua25vd24KClBBVEg6IC9zYmluClBBVEg6IC9i
aW4KUEFUSDogL3Vzci9zYmluClBBVEg6IC91c3IvYmluClBBVEg6IC91c3IvZ2FtZXMKUEFUSDog
L3Vzci9sb2NhbC9zYmluClBBVEg6IC91c3IvbG9jYWwvYmluClBBVEg6IC9yb290L2JpbgoKCiMj
IC0tLS0tLS0tLS0tICMjCiMjIENvcmUgdGVzdHMuICMjCiMjIC0tLS0tLS0tLS0tICMjCgpjb25m
aWd1cmU6MjI1ODogY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5cGUKY29uZmlndXJlOjIyNzY6IHJl
c3VsdDogaTM4Ni1wb3J0YmxkLWZyZWVic2Q4LjAKY29uZmlndXJlOjIyOTg6IGNoZWNraW5nIGhv
c3Qgc3lzdGVtIHR5cGUKY29uZmlndXJlOjIzMTM6IHJlc3VsdDogaTM4Ni1wb3J0YmxkLWZyZWVi
c2Q4LjAKY29uZmlndXJlOjIzMzU6IGNoZWNraW5nIHRhcmdldCBzeXN0ZW0gdHlwZQpjb25maWd1
cmU6MjM1MDogcmVzdWx0OiBpMzg2LXBvcnRibGQtZnJlZWJzZDguMApjb25maWd1cmU6MjQyNjog
Y2hlY2tpbmcgZm9yIGdjYwpjb25maWd1cmU6MjQ1MzogcmVzdWx0OiBjYwpjb25maWd1cmU6MjY4
NTogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgdmVyc2lvbgpjb25maWd1cmU6MjY5MzogY2MgLS12
ZXJzaW9uID4mNQpjYyAoR0NDKSA0LjIuMSAyMDA3MDcxOSAgW0ZyZWVCU0RdCkNvcHlyaWdodCAo
QykgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KVGhpcyBpcyBmcmVlIHNvZnR3
YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8K
d2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuCgpjb25maWd1cmU6MjY5NzogJD8gPSAwCmNvbmZpZ3VyZToyNzA0
OiBjYyAtdiA+JjUKVXNpbmcgYnVpbHQtaW4gc3BlY3MuClRhcmdldDogaTM4Ni11bmRlcm15ZGVz
ay1mcmVlYnNkCkNvbmZpZ3VyZWQgd2l0aDogRnJlZUJTRC9pMzg2IHN5c3RlbSBjb21waWxlcgpU
aHJlYWQgbW9kZWw6IHBvc2l4CmdjYyB2ZXJzaW9uIDQuMi4xIDIwMDcwNzE5ICBbRnJlZUJTRF0K
Y29uZmlndXJlOjI3MDg6ICQ/ID0gMApjb25maWd1cmU6MjcxNTogY2MgLVYgPiY1CmNjOiAnLVYn
IG9wdGlvbiBtdXN0IGhhdmUgYXJndW1lbnQKY29uZmlndXJlOjI3MTk6ICQ/ID0gMQpjb25maWd1
cmU6Mjc0MjogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1l
CmNvbmZpZ3VyZToyNzY0OiBjYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1w
aXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1mUElDIC1ML3Vz
ci9sb2NhbC9saWIgY29uZnRlc3QuYyAtTC91c3IvcG9ydHMvY29tbXMvZ25va2lpL3dvcmsvZ25v
a2lpLTAuNi4yOC9jb21tb24gLUwvdXNyL2xvY2FsL2xpYiA+JjUKY29uZmlndXJlOjI3Njg6ICQ/
ID0gMApjb25maWd1cmU6MjgwNjogcmVzdWx0OiBhLm91dApjb25maWd1cmU6MjgyNTogY2hlY2tp
bmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jrcwpjb25maWd1cmU6MjgzNTogLi9hLm91dApj
b25maWd1cmU6MjgzOTogJD8gPSAwCmNvbmZpZ3VyZToyODU4OiByZXN1bHQ6IHllcwpjb25maWd1
cmU6Mjg2NTogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nCmNvbmZpZ3Vy
ZToyODY3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyODcwOiBjaGVja2luZyBmb3Igc3VmZml4IG9m
IGV4ZWN1dGFibGVzCmNvbmZpZ3VyZToyODc3OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZu
by1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9s
b2NhbC9pbmNsdWRlIC1mUElDIC1ML3Vzci9sb2NhbC9saWIgY29uZnRlc3QuYyAtTC91c3IvcG9y
dHMvY29tbXMvZ25va2lpL3dvcmsvZ25va2lpLTAuNi4yOC9jb21tb24gLUwvdXNyL2xvY2FsL2xp
YiA+JjUKY29uZmlndXJlOjI4ODE6ICQ/ID0gMApjb25maWd1cmU6MjkwNzogcmVzdWx0OiAKY29u
ZmlndXJlOjI5MTM6IGNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzCmNvbmZpZ3Vy
ZToyOTM5OiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1m
bm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1mUElDIGNvbmZ0ZXN0LmMg
PiY1CmNvbmZpZ3VyZToyOTQzOiAkPyA9IDAKY29uZmlndXJlOjI5Njg6IHJlc3VsdDogbwpjb25m
aWd1cmU6Mjk3MjogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBp
bGVyCmNvbmZpZ3VyZTozMDAxOiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcg
LU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1mUElD
IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozMDA4OiAkPyA9IDAKY29uZmlndXJlOjMwMjU6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZTozMDM0OiBjaGVja2luZyB3aGV0aGVyIGNjIGFjY2VwdHMgLWcK
Y29uZmlndXJlOjMwNjQ6IGNjIC1jIC1nIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAt
SS91c3IvbG9jYWwvaW5jbHVkZSAtZlBJQyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MzA3MTog
JD8gPSAwCmNvbmZpZ3VyZTozMTcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzE4OTogY2hlY2tp
bmcgZm9yIGNjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OQpjb25maWd1cmU6MzI2MzogY2MgIC1j
IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxp
YXNpbmcgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLWZQSUMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl
OjMyNzA6ICQ/ID0gMApjb25maWd1cmU6MzI5MzogcmVzdWx0OiBub25lIG5lZWRlZApjb25maWd1
cmU6MzMxNzogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IKY29uZmlndXJl
OjMzNTc6IGNjIC1FIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtSS91c3IvbG9jYWwv
aW5jbHVkZSAtZlBJQyBjb25mdGVzdC5jCmNvbmZpZ3VyZTozMzY0OiAkPyA9IDAKY29uZmlndXJl
OjMzOTU6IGNjIC1FIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtSS91c3IvbG9jYWwv
aW5jbHVkZSAtZlBJQyBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6ODoyODogZXJyb3I6IGFjX25vbmV4
aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjM0MDI6ICQ/ID0g
MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oLiAgKi8KfCAj
ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ25va2lpIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJn
bm9raWkiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjAuNi4yOCIKfCAjZGVmaW5lIFBBQ0tB
R0VfU1RSSU5HICJnbm9raWkgMC42LjI4Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0
dHA6Ly93d3cuZ25va2lpLm9yZy8iCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl
IDxhY19ub25leGlzdGVudC5oPgpjb25maWd1cmU6MzQzNTogcmVzdWx0OiBjYyAtRQpjb25maWd1
cmU6MzQ2NDogY2MgLUUgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9sb2Nh
bC9pbmNsdWRlIC1mUElDIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjM0NzE6ICQ/ID0gMApjb25maWd1
cmU6MzUwMjogY2MgLUUgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9sb2Nh
bC9pbmNsdWRlIC1mUElDIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzo4OjI4OiBlcnJvcjogYWNfbm9u
ZXhpc3RlbnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6MzUwOTogJD8g
PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmguICAqLwp8
ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnbm9raWkiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg
Imdub2tpaSIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMC42LjI4Igp8ICNkZWZpbmUgUEFD
S0FHRV9TVFJJTkcgImdub2tpaSAwLjYuMjgiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi
aHR0cDovL3d3dy5nbm9raWkub3JnLyIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1
ZGUgPGFjX25vbmV4aXN0ZW50Lmg+CmNvbmZpZ3VyZTozNTQ5OiBjaGVja2luZyBmb3IgZ3JlcCB0
aGF0IGhhbmRsZXMgbG9uZyBsaW5lcyBhbmQgLWUKY29uZmlndXJlOjM2MDk6IHJlc3VsdDogL3Vz
ci9iaW4vZ3JlcApjb25maWd1cmU6MzYxNDogY2hlY2tpbmcgZm9yIGVncmVwCmNvbmZpZ3VyZToz
Njc4OiByZXN1bHQ6IC91c3IvYmluL2dyZXAgLUUKY29uZmlndXJlOjM2ODM6IGNoZWNraW5nIGZv
ciBBTlNJIEMgaGVhZGVyIGZpbGVzCmNvbmZpZ3VyZTozNzEzOiBjYyAtYyAtTzIgLXBpcGUgLWZu
by1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9s
b2NhbC9pbmNsdWRlIC1mUElDIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozNzIwOiAkPyA9IDAK
Y29uZmlndXJlOjM4MTk6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlh
c2luZyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLUkvdXNyL2xvY2FsL2luY2x1ZGUg
LWZQSUMgLUwvdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5jIC1ML3Vzci9wb3J0cy9jb21tcy9nbm9r
aWkvd29yay9nbm9raWktMC42LjI4L2NvbW1vbiAtTC91c3IvbG9jYWwvbGliID4mNQpjb25maWd1
cmU6MzgyMzogJD8gPSAwCmNvbmZpZ3VyZTozODI5OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZTozODMz
OiAkPyA9IDAKY29uZmlndXJlOjM4NTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozODc1OiBjaGVj
a2luZyBmb3Igc3lzL3R5cGVzLmgKY29uZmlndXJlOjM4OTY6IGNjIC1jIC1PMiAtcGlwZSAtZm5v
LXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLUkvdXNyL2xv
Y2FsL2luY2x1ZGUgLWZQSUMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjM5MDM6ICQ/ID0gMApj
b25maWd1cmU6MzkyMDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM4NzU6IGNoZWNraW5nIGZvciBz
eXMvc3RhdC5oCmNvbmZpZ3VyZTozODk2OiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxp
YXNpbmcgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9sb2NhbC9pbmNsdWRl
IC1mUElDIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozOTAzOiAkPyA9IDAKY29uZmlndXJlOjM5
MjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozODc1OiBjaGVja2luZyBmb3Igc3RkbGliLmgKY29u
ZmlndXJlOjM4OTY6IGNjIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBp
cGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLWZQSUMgY29uZnRl
c3QuYyA+JjUKY29uZmlndXJlOjM5MDM6ICQ/ID0gMApjb25maWd1cmU6MzkyMDogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjM4NzU6IGNoZWNraW5nIGZvciBzdHJpbmcuaApjb25maWd1cmU6Mzg5Njog
Y2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtZm5vLXN0cmlj
dC1hbGlhc2luZyAtSS91c3IvbG9jYWwvaW5jbHVkZSAtZlBJQyBjb25mdGVzdC5jID4mNQpjb25m
aWd1cmU6MzkwMzogJD8gPSAwCmNvbmZpZ3VyZTozOTIwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6
Mzg3NTogY2hlY2tpbmcgZm9yIG1lbW9yeS5oCmNvbmZpZ3VyZTozODk2OiBjYyAtYyAtTzIgLXBp
cGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1J
L3Vzci9sb2NhbC9pbmNsdWRlIC1mUElDIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozOTAzOiAk
PyA9IDAKY29uZmlndXJlOjM5MjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozODc1OiBjaGVja2lu
ZyBmb3Igc3RyaW5ncy5oCmNvbmZpZ3VyZTozODk2OiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJp
Y3QtYWxpYXNpbmcgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9sb2NhbC9p
bmNsdWRlIC1mUElDIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozOTAzOiAkPyA9IDAKY29uZmln
dXJlOjM5MjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozODc1OiBjaGVja2luZyBmb3IgaW50dHlw
ZXMuaApjb25maWd1cmU6Mzg5NjogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5n
IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtSS91c3IvbG9jYWwvaW5jbHVkZSAtZlBJ
QyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MzkwMzogJD8gPSAwCmNvbmZpZ3VyZTozOTIwOiBy
ZXN1bHQ6IHllcwpjb25maWd1cmU6Mzg3NTogY2hlY2tpbmcgZm9yIHN0ZGludC5oCmNvbmZpZ3Vy
ZTozODk2OiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1m
bm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1mUElDIGNvbmZ0ZXN0LmMg
PiY1CmNvbmZpZ3VyZTozOTAzOiAkPyA9IDAKY29uZmlndXJlOjM5MjA6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZTozODc1OiBjaGVja2luZyBmb3IgdW5pc3RkLmgKY29uZmlndXJlOjM4OTY6IGNjIC1j
IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxp
YXNpbmcgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLWZQSUMgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl
OjM5MDM6ICQ/ID0gMApjb25maWd1cmU6MzkyMDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM5NDU6
IGNoZWNraW5nIG1pbml4L2NvbmZpZy5oIHVzYWJpbGl0eQpjb25maWd1cmU6Mzk2MjogY2MgLWMg
LU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlh
c2luZyAtSS91c3IvbG9jYWwvaW5jbHVkZSAtZlBJQyBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j
OjUxOjI2OiBlcnJvcjogbWluaXgvY29uZmlnLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkK
Y29uZmlndXJlOjM5Njk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv
KiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ25va2lpIgp8ICNkZWZp
bmUgUEFDS0FHRV9UQVJOQU1FICJnbm9raWkiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjAu
Ni4yOCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbm9raWkgMC42LjI4Igp8ICNkZWZpbmUg
UEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly93d3cuZ25va2lpLm9yZy8iCnwgI2RlZmluZSBTVERD
X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO
R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg
MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8
ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs
dWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMv
dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxz
eXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0
ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RE
TElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVm
IEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhB
VkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRl
IDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUg
PHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRl
IDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRl
IDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8
dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPG1pbml4L2NvbmZpZy5oPgpjb25maWd1cmU6
Mzk4MzogcmVzdWx0OiBubwpjb25maWd1cmU6Mzk4NzogY2hlY2tpbmcgbWluaXgvY29uZmlnLmgg
cHJlc2VuY2UKY29uZmlndXJlOjQwMDI6IGNjIC1FIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlh
c2luZyAtSS91c3IvbG9jYWwvaW5jbHVkZSAtZlBJQyBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6MTg6
MjY6IGVycm9yOiBtaW5peC9jb25maWcuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25m
aWd1cmU6NDAwOTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv
bmZkZWZzLmguICAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnbm9raWkiCnwgI2RlZmluZSBQ
QUNLQUdFX1RBUk5BTUUgImdub2tpaSIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMC42LjI4
Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdub2tpaSAwLjYuMjgiCnwgI2RlZmluZSBQQUNL
QUdFX0JVR1JFUE9SVCAiaHR0cDovL3d3dy5nbm9raWkub3JnLyIKfCAjZGVmaW5lIFNURENfSEVB
REVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg
MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg
I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl
ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUg
PG1pbml4L2NvbmZpZy5oPgpjb25maWd1cmU6NDAyMzogcmVzdWx0OiBubwpjb25maWd1cmU6NDA1
NjogY2hlY2tpbmcgZm9yIG1pbml4L2NvbmZpZy5oCmNvbmZpZ3VyZTo0MDYzOiByZXN1bHQ6IG5v
CmNvbmZpZ3VyZTo0MDk0OiBjaGVja2luZyB3aGV0aGVyIGl0IGlzIHNhZmUgdG8gZGVmaW5lIF9f
RVhURU5TSU9OU19fCmNvbmZpZ3VyZTo0MTIyOiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3Qt
YWxpYXNpbmcgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9sb2NhbC9pbmNs
dWRlIC1mUElDIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MTI5OiAkPyA9IDAKY29uZmlndXJl
OjQxNDQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MTg3OiBjaGVja2luZyBmb3IgYSBCU0QtY29t
cGF0aWJsZSBpbnN0YWxsCmNvbmZpZ3VyZTo0MjU1OiByZXN1bHQ6IC91c3IvYmluL2luc3RhbGwg
LWMgLW8gcm9vdCAtZyB3aGVlbApjb25maWd1cmU6NDI2NjogY2hlY2tpbmcgd2hldGhlciBidWls
ZCBlbnZpcm9ubWVudCBpcyBzYW5lCmNvbmZpZ3VyZTo0MzA5OiByZXN1bHQ6IHllcwpjb25maWd1
cmU6NDMzNDogY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAKY29uZmlndXJlOjQz
NzM6IHJlc3VsdDogLi9pbnN0YWxsLXNoIC1jIC1kCmNvbmZpZ3VyZTo0Mzg2OiBjaGVja2luZyBm
b3IgZ2F3awpjb25maWd1cmU6NDQxNjogcmVzdWx0OiBubwpjb25maWd1cmU6NDM4NjogY2hlY2tp
bmcgZm9yIG1hd2sKY29uZmlndXJlOjQ0MTY6IHJlc3VsdDogbm8KY29uZmlndXJlOjQzODY6IGNo
ZWNraW5nIGZvciBuYXdrCmNvbmZpZ3VyZTo0NDAyOiBmb3VuZCAvdXNyL2Jpbi9uYXdrCmNvbmZp
Z3VyZTo0NDEzOiByZXN1bHQ6IG5hd2sKY29uZmlndXJlOjQ0MjQ6IGNoZWNraW5nIHdoZXRoZXIg
Z21ha2Ugc2V0cyAkKE1BS0UpCmNvbmZpZ3VyZTo0NDQ2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6
NDQ3NjogY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBnbWFrZQpjb25maWd1
cmU6NDUwNDogcmVzdWx0OiBHTlUKY29uZmlndXJlOjQ2OTM6IGNoZWNraW5nIGRlcGVuZGVuY3kg
c3R5bGUgb2YgY2MKY29uZmlndXJlOjQ3ODQ6IHJlc3VsdDogZ2NjMwpjb25maWd1cmU6NDg1MTog
Y2hlY2tpbmcgZm9yIGdjYwpjb25maWd1cmU6NDg3ODogcmVzdWx0OiBjYwpjb25maWd1cmU6NTEx
MDogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgdmVyc2lvbgpjb25maWd1cmU6NTExODogY2MgLS12
ZXJzaW9uID4mNQpjYyAoR0NDKSA0LjIuMSAyMDA3MDcxOSAgW0ZyZWVCU0RdCkNvcHlyaWdodCAo
QykgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KVGhpcyBpcyBmcmVlIHNvZnR3
YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8K
d2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuCgpjb25maWd1cmU6NTEyMjogJD8gPSAwCmNvbmZpZ3VyZTo1MTI5
OiBjYyAtdiA+JjUKVXNpbmcgYnVpbHQtaW4gc3BlY3MuClRhcmdldDogaTM4Ni11bmRlcm15ZGVz
ay1mcmVlYnNkCkNvbmZpZ3VyZWQgd2l0aDogRnJlZUJTRC9pMzg2IHN5c3RlbSBjb21waWxlcgpU
aHJlYWQgbW9kZWw6IHBvc2l4CmdjYyB2ZXJzaW9uIDQuMi4xIDIwMDcwNzE5ICBbRnJlZUJTRF0K
Y29uZmlndXJlOjUxMzM6ICQ/ID0gMApjb25maWd1cmU6NTE0MDogY2MgLVYgPiY1CmNjOiAnLVYn
IG9wdGlvbiBtdXN0IGhhdmUgYXJndW1lbnQKY29uZmlndXJlOjUxNDQ6ICQ/ID0gMQpjb25maWd1
cmU6NTE0NzogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVy
CmNvbmZpZ3VyZTo1MjAwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTIwOTogY2hlY2tpbmcgd2hl
dGhlciBjYyBhY2NlcHRzIC1nCmNvbmZpZ3VyZTo1MzQ3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6
NTM2NDogY2hlY2tpbmcgZm9yIGNjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OQpjb25maWd1cmU6
NTQ2ODogcmVzdWx0OiBub25lIG5lZWRlZApjb25maWd1cmU6NTQ5MDogY2hlY2tpbmcgd2hldGhl
ciBjYyB1bmRlcnN0YW5kcyAtYyBhbmQgLW8gdG9nZXRoZXIKY29uZmlndXJlOjU1MjI6IGNjIC1j
IGNvbmZ0ZXN0LmMgLW8gY29uZnRlc3QyLm8gPiY1CmNvbmZpZ3VyZTo1NTI2OiAkPyA9IDAKY29u
ZmlndXJlOjU1MzI6IGNjIC1jIGNvbmZ0ZXN0LmMgLW8gY29uZnRlc3QyLm8gPiY1CmNvbmZpZ3Vy
ZTo1NTM2OiAkPyA9IDAKY29uZmlndXJlOjU1OTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NjIz
OiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nvcgpjb25maWd1cmU6NTc0MTog
cmVzdWx0OiBjYyAtRQpjb25maWd1cmU6NTc3MDogY2MgLUUgLU8yIC1waXBlIC1mbm8tc3RyaWN0
LWFsaWFzaW5nIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1mUElDIGNvbmZ0ZXN0LmMKY29uZmlndXJl
OjU3Nzc6ICQ/ID0gMApjb25maWd1cmU6NTgwODogY2MgLUUgLU8yIC1waXBlIC1mbm8tc3RyaWN0
LWFsaWFzaW5nIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1mUElDIGNvbmZ0ZXN0LmMKY29uZnRlc3Qu
YzoyNToyODogZXJyb3I6IGFjX25vbmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv
cnkKY29uZmlndXJlOjU4MTU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK
fCAvKiBjb25mZGVmcy5oLiAgKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ25va2lpIgp8ICNk
ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnbm9raWkiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g
IjAuNi4yOCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnbm9raWkgMC42LjI4Igp8ICNkZWZp
bmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly93d3cuZ25va2lpLm9yZy8iCnwgI2RlZmluZSBT
VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU
UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT
X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg
MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwg
I2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBf
UE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNk
ZWZpbmUgUEFDS0FHRSAiZ25va2lpIgp8ICNkZWZpbmUgVkVSU0lPTiAiMC42LjI4Igp8IC8qIGVu
ZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJl
OjU4NTg6IGNoZWNraW5nIGZvciBmbGV4CmNvbmZpZ3VyZTo1ODc0OiBmb3VuZCAvdXNyL2Jpbi9m
bGV4CmNvbmZpZ3VyZTo1ODg1OiByZXN1bHQ6IGZsZXgKY29uZmlndXJlOjU5MjI6IGZsZXggY29u
ZnRlc3QubApjb25maWd1cmU6NTkyNjogJD8gPSAwCmNvbmZpZ3VyZTo1OTI4OiBjaGVja2luZyBs
ZXggb3V0cHV0IGZpbGUgcm9vdApjb25maWd1cmU6NTk0NDogcmVzdWx0OiBsZXgueXkKY29uZmln
dXJlOjU5NDk6IGNoZWNraW5nIGxleCBsaWJyYXJ5CmNvbmZpZ3VyZTo1OTY4OiBjYyAtbyBjb25m
dGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1mbm8tc3RyaWN0
LWFsaWFzaW5nIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1mUElDIC1ML3Vzci9sb2NhbC9saWIgY29u
ZnRlc3QuYyAgLUwvdXNyL3BvcnRzL2NvbW1zL2dub2tpaS93b3JrL2dub2tpaS0wLjYuMjgvY29t
bW9uIC1ML3Vzci9sb2NhbC9saWIgPiY1CmNvbmZ0ZXN0Lmw6IEluIGZ1bmN0aW9uICd5eWxleCc6
CmNvbmZ0ZXN0Lmw6Njogd2FybmluZzogY29tcGFyaXNvbiBiZXR3ZWVuIHBvaW50ZXIgYW5kIGlu
dGVnZXIKY29uZnRlc3QubDo2OiB3YXJuaW5nOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIgZnJv
bSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0Ci92YXIvdG1wLy9jY2NiUFRncC5vKC50ZXh0KzB4OTZl
KTogSW4gZnVuY3Rpb24gYGlucHV0JzoKOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB5eXdyYXAn
Ci92YXIvdG1wLy9jY2NiUFRncC5vKC50ZXh0KzB4ZTkxKTogSW4gZnVuY3Rpb24gYC5MMjA3JzoK
OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB5eXdyYXAnCi92YXIvdG1wLy9jY2NiUFRncC5vKC50
ZXh0KzB4MTA4Yyk6IEluIGZ1bmN0aW9uIGBtYWluJzoKOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRv
IGB5eXdyYXAnCmNvbmZpZ3VyZTo1OTc1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh
bSB3YXM6CnwgLyogQSBsZXhpY2FsIHNjYW5uZXIgZ2VuZXJhdGVkIGJ5IGZsZXggKi8KfCAKfCAv
KiBTY2FubmVyIHNrZWxldG9uIHZlcnNpb246CnwgICogJEhlYWRlcjogL2hvbWUvZGFmZnkvdTAv
dmVybi9mbGV4L1JDUy9mbGV4LnNrbCx2IDIuOTEgOTYvMDkvMTAgMTY6NTg6NDggdmVybiBFeHAg
JAp8ICAqICRGcmVlQlNEOiBzcmMvdXNyLmJpbi9sZXgvZmxleC5za2wsdiAxLjEwLjIuMS4yLjEg
MjAwOS8xMC8yNSAwMToxMDoyOSBrZW5zbWl0aCBFeHAgJAp8ICAqLwp8IAp8ICNpZiBkZWZpbmVk
KF9fRnJlZUJTRF9fKQp8ICNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KfCAjZWxzZQp8ICNkZWZpbmUg
X191bnVzZWQKfCAjZGVmaW5lIF9fZGVhZDIKfCAjZW5kaWYKfCAKfCAjZGVmaW5lIEZMRVhfU0NB
Tk5FUgp8ICNkZWZpbmUgWVlfRkxFWF9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIFlZX0ZMRVhf
TUlOT1JfVkVSU0lPTiA1CnwgCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgCnwgCnwgLyogY2Zyb250
IDEuMiBkZWZpbmVzICJjX3BsdXNwbHVzIiBpbnN0ZWFkIG9mICJfX2NwbHVzcGx1cyIgKi8KfCAj
aWZkZWYgY19wbHVzcGx1cwp8ICNpZm5kZWYgX19jcGx1c3BsdXMKfCAjZGVmaW5lIF9fY3BsdXNw
bHVzCnwgI2VuZGlmCnwgI2VuZGlmCnwgCnwgCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgCnwgI2lu
Y2x1ZGUgPHN0ZGxpYi5oPgp8ICNpbmNsdWRlIDx1bmlzdGQuaD4KfCAKfCAvKiBVc2UgcHJvdG90
eXBlcyBpbiBmdW5jdGlvbiBkZWNsYXJhdGlvbnMuICovCnwgI2RlZmluZSBZWV9VU0VfUFJPVE9T
CnwgCnwgLyogVGhlICJjb25zdCIgc3RvcmFnZS1jbGFzcy1tb2RpZmllciBpcyB2YWxpZC4gKi8K
fCAjZGVmaW5lIFlZX1VTRV9DT05TVAp8IAp8ICNlbHNlCS8qICEgX19jcGx1c3BsdXMgKi8KfCAK
fCAjaWYgX19TVERDX18KfCAKfCAjZGVmaW5lIFlZX1VTRV9QUk9UT1MKfCAjZGVmaW5lIFlZX1VT
RV9DT05TVAp8IAp8ICNlbmRpZgkvKiBfX1NURENfXyAqLwp8ICNlbmRpZgkvKiAhIF9fY3BsdXNw
bHVzICovCnwgCnwgI2lmZGVmIF9fVFVSQk9DX18KfCAgI3ByYWdtYSB3YXJuIC1yY2gKfCAgI3By
YWdtYSB3YXJuIC11c2UKfCAjaW5jbHVkZSA8aW8uaD4KfCAjaW5jbHVkZSA8c3RkbGliLmg+Cnwg
I2RlZmluZSBZWV9VU0VfQ09OU1QKfCAjZGVmaW5lIFlZX1VTRV9QUk9UT1MKfCAjZW5kaWYKfCAK
fCAjaWZkZWYgWVlfVVNFX0NPTlNUCnwgI2RlZmluZSB5eWNvbnN0IGNvbnN0CnwgI2Vsc2UKfCAj
ZGVmaW5lIHl5Y29uc3QKfCAjZW5kaWYKfCAKfCAKfCAjaWZkZWYgWVlfVVNFX1BST1RPUwp8ICNk
ZWZpbmUgWVlfUFJPVE8ocHJvdG8pIHByb3RvCnwgI2Vsc2UKfCAjZGVmaW5lIFlZX1BST1RPKHBy
b3RvKSAoKQp8ICNlbmRpZgp8IAp8IC8qIFJldHVybmVkIHVwb24gZW5kLW9mLWZpbGUuICovCnwg
I2RlZmluZSBZWV9OVUxMIDAKfCAKfCAvKiBQcm9tb3RlcyBhIHBvc3NpYmx5IG5lZ2F0aXZlLCBw
b3NzaWJseSBzaWduZWQgY2hhciB0byBhbiB1bnNpZ25lZAp8ICAqIGludGVnZXIgZm9yIHVzZSBh
cyBhbiBhcnJheSBpbmRleC4gIElmIHRoZSBzaWduZWQgY2hhciBpcyBuZWdhdGl2ZSwKfCAgKiB3
ZSB3YW50IHRvIGluc3RlYWQgdHJlYXQgaXQgYXMgYW4gOC1iaXQgdW5zaWduZWQgY2hhciwgaGVu
Y2UgdGhlCnwgICogZG91YmxlIGNhc3QuCnwgICovCnwgI2RlZmluZSBZWV9TQ19UT19VSShjKSAo
KHVuc2lnbmVkIGludCkgKHVuc2lnbmVkIGNoYXIpIGMpCnwgCnwgLyogRW50ZXIgYSBzdGFydCBj
b25kaXRpb24uICBUaGlzIG1hY3JvIHJlYWxseSBvdWdodCB0byB0YWtlIGEgcGFyYW1ldGVyLAp8
ICAqIGJ1dCB3ZSBkbyBpdCB0aGUgZGlzZ3VzdGluZyBjcnVmdHkgd2F5IGZvcmNlZCBvbiB1cyBi
eSB0aGUgKCktbGVzcwp8ICAqIGRlZmluaXRpb24gb2YgQkVHSU4uCnwgICovCnwgI2RlZmluZSBC
RUdJTiB5eV9zdGFydCA9IDEgKyAyICoKfCAKfCAvKiBUcmFuc2xhdGUgdGhlIGN1cnJlbnQgc3Rh
cnQgc3RhdGUgaW50byBhIHZhbHVlIHRoYXQgY2FuIGJlIGxhdGVyIGhhbmRlZAp8ICAqIHRvIEJF
R0lOIHRvIHJldHVybiB0byB0aGUgc3RhdGUuICBUaGUgWVlTVEFURSBhbGlhcyBpcyBmb3IgbGV4
CnwgICogY29tcGF0aWJpbGl0eS4KfCAgKi8KfCAjZGVmaW5lIFlZX1NUQVJUICgoeXlfc3RhcnQg
LSAxKSAvIDIpCnwgI2RlZmluZSBZWVNUQVRFIFlZX1NUQVJUCnwgCnwgLyogQWN0aW9uIG51bWJl
ciBmb3IgRU9GIHJ1bGUgb2YgYSBnaXZlbiBzdGFydCBzdGF0ZS4gKi8KfCAjZGVmaW5lIFlZX1NU
QVRFX0VPRihzdGF0ZSkgKFlZX0VORF9PRl9CVUZGRVIgKyBzdGF0ZSArIDEpCnwgCnwgLyogU3Bl
Y2lhbCBhY3Rpb24gbWVhbmluZyAic3RhcnQgcHJvY2Vzc2luZyBhIG5ldyBmaWxlIi4gKi8KfCAj
ZGVmaW5lIFlZX05FV19GSUxFIHl5cmVzdGFydCggeXlpbiApCnwgCnwgI2RlZmluZSBZWV9FTkRf
T0ZfQlVGRkVSX0NIQVIgMAp8IAp8IC8qIFNpemUgb2YgZGVmYXVsdCBpbnB1dCBidWZmZXIuICov
CnwgI2RlZmluZSBZWV9CVUZfU0laRSAxNjM4NAp8IAp8IHR5cGVkZWYgc3RydWN0IHl5X2J1ZmZl
cl9zdGF0ZSAqWVlfQlVGRkVSX1NUQVRFOwp8IAp8IGV4dGVybiBpbnQgeXlsZW5nOwp8IGV4dGVy
biBGSUxFICp5eWluLCAqeXlvdXQ7CnwgCnwgI2RlZmluZSBFT0JfQUNUX0NPTlRJTlVFX1NDQU4g
MAp8ICNkZWZpbmUgRU9CX0FDVF9FTkRfT0ZfRklMRSAxCnwgI2RlZmluZSBFT0JfQUNUX0xBU1Rf
TUFUQ0ggMgp8IAp8IC8qIFRoZSBmdW5reSBkby13aGlsZSBpbiB0aGUgZm9sbG93aW5nICNkZWZp
bmUgaXMgdXNlZCB0byB0dXJuIHRoZSBkZWZpbml0aW9uCnwgICogaW50IGEgc2luZ2xlIEMgc3Rh
dGVtZW50ICh3aGljaCBuZWVkcyBhIHNlbWktY29sb24gdGVybWluYXRvcikuICBUaGlzCnwgICog
YXZvaWRzIHByb2JsZW1zIHdpdGggY29kZSBsaWtlOgp8ICAqCnwgICogCWlmICggY29uZGl0aW9u
X2hvbGRzICkKfCAgKgkJeXlsZXNzKCA1ICk7CnwgICoJZWxzZQp8ICAqCQlkb19zb21ldGhpbmdf
ZWxzZSgpOwp8ICAqCnwgICogUHJpb3IgdG8gdXNpbmcgdGhlIGRvLXdoaWxlIHRoZSBjb21waWxl
ciB3b3VsZCBnZXQgdXBzZXQgYXQgdGhlCnwgICogImVsc2UiIGJlY2F1c2UgaXQgaW50ZXJwcmV0
ZWQgdGhlICJpZiIgc3RhdGVtZW50IGFzIGJlaW5nIGFsbAp8ICAqIGRvbmUgd2hlbiBpdCByZWFj
aGVkIHRoZSAnOycgYWZ0ZXIgdGhlIHl5bGVzcygpIGNhbGwuCnwgICovCnwgCnwgLyogUmV0dXJu
IGFsbCBidXQgdGhlIGZpcnN0ICduJyBtYXRjaGVkIGNoYXJhY3RlcnMgYmFjayB0byB0aGUgaW5w
dXQgc3RyZWFtLiAqLwp8IAp8ICNkZWZpbmUgeXlsZXNzKG4pIFwKfCAJZG8gXAp8IAkJeyBcCnwg
CQkvKiBVbmRvIGVmZmVjdHMgb2Ygc2V0dGluZyB1cCB5eXRleHQuICovIFwKfCAJCSp5eV9jcCA9
IHl5X2hvbGRfY2hhcjsgXAp8IAkJWVlfUkVTVE9SRV9ZWV9NT1JFX09GRlNFVCBcCnwgCQl5eV9j
X2J1Zl9wID0geXlfY3AgPSB5eV9icCArIG4gLSBZWV9NT1JFX0FESjsgXAp8IAkJWVlfRE9fQkVG
T1JFX0FDVElPTjsgLyogc2V0IHVwIHl5dGV4dCBhZ2FpbiAqLyBcCnwgCQl9IFwKfCAJd2hpbGUg
KCAwICkKfCAKfCAjZGVmaW5lIHVucHV0KGMpIHl5dW5wdXQoIGMsIHl5dGV4dF9wdHIgKQp8IAp8
IC8qIFRoZSBmb2xsb3dpbmcgaXMgYmVjYXVzZSB3ZSBjYW5ub3QgcG9ydGFibHkgZ2V0IG91ciBo
YW5kcyBvbiBzaXplX3QKfCAgKiAod2l0aG91dCBhdXRvY29uZidzIGhlbHAsIHdoaWNoIGlzbid0
IGF2YWlsYWJsZSBiZWNhdXNlIHdlIHdhbnQKfCAgKiBmbGV4LWdlbmVyYXRlZCBzY2FubmVycyB0
byBjb21waWxlIG9uIHRoZWlyIG93bikuCnwgICovCnwgdHlwZWRlZiB1bnNpZ25lZCBpbnQgeXlf
c2l6ZV90Owp8IAp8IAp8IHN0cnVjdCB5eV9idWZmZXJfc3RhdGUKfCAJewp8IAlGSUxFICp5eV9p
bnB1dF9maWxlOwp8IAp8IAljaGFyICp5eV9jaF9idWY7CQkvKiBpbnB1dCBidWZmZXIgKi8KfCAJ
Y2hhciAqeXlfYnVmX3BvczsJCS8qIGN1cnJlbnQgcG9zaXRpb24gaW4gaW5wdXQgYnVmZmVyICov
CnwgCnwgCS8qIFNpemUgb2YgaW5wdXQgYnVmZmVyIGluIGJ5dGVzLCBub3QgaW5jbHVkaW5nIHJv
b20gZm9yIEVPQgp8IAkgKiBjaGFyYWN0ZXJzLgp8IAkgKi8KfCAJeXlfc2l6ZV90IHl5X2J1Zl9z
aXplOwp8IAp8IAkvKiBOdW1iZXIgb2YgY2hhcmFjdGVycyByZWFkIGludG8geXlfY2hfYnVmLCBu
b3QgaW5jbHVkaW5nIEVPQgp8IAkgKiBjaGFyYWN0ZXJzLgp8IAkgKi8KfCAJaW50IHl5X25fY2hh
cnM7CnwgCnwgCS8qIFdoZXRoZXIgd2UgIm93biIgdGhlIGJ1ZmZlciAtIGkuZS4sIHdlIGtub3cg
d2UgY3JlYXRlZCBpdCwKfCAJICogYW5kIGNhbiByZWFsbG9jKCkgaXQgdG8gZ3JvdyBpdCwgYW5k
IHNob3VsZCBmcmVlKCkgaXQgdG8KfCAJICogZGVsZXRlIGl0Lgp8IAkgKi8KfCAJaW50IHl5X2lz
X291cl9idWZmZXI7CnwgCnwgCS8qIFdoZXRoZXIgdGhpcyBpcyBhbiAiaW50ZXJhY3RpdmUiIGlu
cHV0IHNvdXJjZTsgaWYgc28sIGFuZAp8IAkgKiBpZiB3ZSdyZSB1c2luZyBzdGRpbyBmb3IgaW5w
dXQsIHRoZW4gd2Ugd2FudCB0byB1c2UgZ2V0YygpCnwgCSAqIGluc3RlYWQgb2YgZnJlYWQoKSwg
dG8gbWFrZSBzdXJlIHdlIHN0b3AgZmV0Y2hpbmcgaW5wdXQgYWZ0ZXIKfCAJICogZWFjaCBuZXds
aW5lLgp8IAkgKi8KfCAJaW50IHl5X2lzX2ludGVyYWN0aXZlOwp8IAp8IAkvKiBXaGV0aGVyIHdl
J3JlIGNvbnNpZGVyZWQgdG8gYmUgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmUuCnwgCSAqIElm
IHNvLCAnXicgcnVsZXMgd2lsbCBiZSBhY3RpdmUgb24gdGhlIG5leHQgbWF0Y2gsIG90aGVyd2lz
ZQp8IAkgKiBub3QuCnwgCSAqLwp8IAlpbnQgeXlfYXRfYm9sOwp8IAp8IAkvKiBXaGV0aGVyIHRv
IHRyeSB0byBmaWxsIHRoZSBpbnB1dCBidWZmZXIgd2hlbiB3ZSByZWFjaCB0aGUKfCAJICogZW5k
IG9mIGl0Lgp8IAkgKi8KfCAJaW50IHl5X2ZpbGxfYnVmZmVyOwp8IAp8IAlpbnQgeXlfYnVmZmVy
X3N0YXR1czsKfCAjZGVmaW5lIFlZX0JVRkZFUl9ORVcgMAp8ICNkZWZpbmUgWVlfQlVGRkVSX05P
Uk1BTCAxCnwgCS8qIFdoZW4gYW4gRU9GJ3MgYmVlbiBzZWVuIGJ1dCB0aGVyZSdzIHN0aWxsIHNv
bWUgdGV4dCB0byBwcm9jZXNzCnwgCSAqIHRoZW4gd2UgbWFyayB0aGUgYnVmZmVyIGFzIFlZX0VP
Rl9QRU5ESU5HLCB0byBpbmRpY2F0ZSB0aGF0IHdlCnwgCSAqIHNob3VsZG4ndCB0cnkgcmVhZGlu
ZyBmcm9tIHRoZSBpbnB1dCBzb3VyY2UgYW55IG1vcmUuICBXZSBtaWdodAp8IAkgKiBzdGlsbCBo
YXZlIGEgYnVuY2ggb2YgdG9rZW5zIHRvIG1hdGNoLCB0aG91Z2gsIGJlY2F1c2Ugb2YKfCAJICog
cG9zc2libGUgYmFja2luZy11cC4KfCAJICoKfCAJICogV2hlbiB3ZSBhY3R1YWxseSBzZWUgdGhl
IEVPRiwgd2UgY2hhbmdlIHRoZSBzdGF0dXMgdG8gIm5ldyIKfCAJICogKHZpYSB5eXJlc3RhcnQo
KSksIHNvIHRoYXQgdGhlIHVzZXIgY2FuIGNvbnRpbnVlIHNjYW5uaW5nIGJ5CnwgCSAqIGp1c3Qg
cG9pbnRpbmcgeXlpbiBhdCBhIG5ldyBpbnB1dCBmaWxlLgp8IAkgKi8KfCAjZGVmaW5lIFlZX0JV
RkZFUl9FT0ZfUEVORElORyAyCnwgCX07CnwgCnwgc3RhdGljIFlZX0JVRkZFUl9TVEFURSB5eV9j
dXJyZW50X2J1ZmZlciA9IDA7CnwgCnwgLyogV2UgcHJvdmlkZSBtYWNyb3MgZm9yIGFjY2Vzc2lu
ZyBidWZmZXIgc3RhdGVzIGluIGNhc2UgaW4gdGhlCnwgICogZnV0dXJlIHdlIHdhbnQgdG8gcHV0
IHRoZSBidWZmZXIgc3RhdGVzIGluIGEgbW9yZSBnZW5lcmFsCnwgICogInNjYW5uZXIgc3RhdGUi
Lgp8ICAqLwp8ICNkZWZpbmUgWVlfQ1VSUkVOVF9CVUZGRVIgeXlfY3VycmVudF9idWZmZXIKfCAK
fCAKfCAvKiB5eV9ob2xkX2NoYXIgaG9sZHMgdGhlIGNoYXJhY3RlciBsb3N0IHdoZW4geXl0ZXh0
IGlzIGZvcm1lZC4gKi8KfCBzdGF0aWMgY2hhciB5eV9ob2xkX2NoYXI7CnwgCnwgc3RhdGljIGlu
dCB5eV9uX2NoYXJzOwkJLyogbnVtYmVyIG9mIGNoYXJhY3RlcnMgcmVhZCBpbnRvIHl5X2NoX2J1
ZiAqLwp8IAp8IAp8IGludCB5eWxlbmc7CnwgCnwgLyogUG9pbnRzIHRvIGN1cnJlbnQgY2hhcmFj
dGVyIGluIGJ1ZmZlci4gKi8KfCBzdGF0aWMgY2hhciAqeXlfY19idWZfcCA9IChjaGFyICopIDA7
Cnwgc3RhdGljIGludCB5eV9pbml0ID0gMTsJCS8qIHdoZXRoZXIgd2UgbmVlZCB0byBpbml0aWFs
aXplICovCnwgc3RhdGljIGludCB5eV9zdGFydCA9IDA7CS8qIHN0YXJ0IHN0YXRlIG51bWJlciAq
Lwp8IAp8IC8qIEZsYWcgd2hpY2ggaXMgdXNlZCB0byBhbGxvdyB5eXdyYXAoKSdzIHRvIGRvIGJ1
ZmZlciBzd2l0Y2hlcwp8ICAqIGluc3RlYWQgb2Ygc2V0dGluZyB1cCBhIGZyZXNoIHl5aW4uICBB
IGJpdCBvZiBhIGhhY2sgLi4uCnwgICovCnwgc3RhdGljIGludCB5eV9kaWRfYnVmZmVyX3N3aXRj
aF9vbl9lb2Y7CnwgCnwgdm9pZCB5eXJlc3RhcnQgWVlfUFJPVE8oKCBGSUxFICppbnB1dF9maWxl
ICkpOwp8IAp8IHZvaWQgeXlfc3dpdGNoX3RvX2J1ZmZlciBZWV9QUk9UTygoIFlZX0JVRkZFUl9T
VEFURSBuZXdfYnVmZmVyICkpOwp8IHZvaWQgeXlfbG9hZF9idWZmZXJfc3RhdGUgWVlfUFJPVE8o
KCB2b2lkICkpOwp8IFlZX0JVRkZFUl9TVEFURSB5eV9jcmVhdGVfYnVmZmVyIFlZX1BST1RPKCgg
RklMRSAqZmlsZSwgaW50IHNpemUgKSk7Cnwgdm9pZCB5eV9kZWxldGVfYnVmZmVyIFlZX1BST1RP
KCggWVlfQlVGRkVSX1NUQVRFIGIgKSk7Cnwgdm9pZCB5eV9pbml0X2J1ZmZlciBZWV9QUk9UTygo
IFlZX0JVRkZFUl9TVEFURSBiLCBGSUxFICpmaWxlICkpOwp8IHZvaWQgeXlfZmx1c2hfYnVmZmVy
IFlZX1BST1RPKCggWVlfQlVGRkVSX1NUQVRFIGIgKSk7CnwgI2RlZmluZSBZWV9GTFVTSF9CVUZG
RVIgeXlfZmx1c2hfYnVmZmVyKCB5eV9jdXJyZW50X2J1ZmZlciApCnwgCnwgWVlfQlVGRkVSX1NU
QVRFIHl5X3NjYW5fYnVmZmVyIFlZX1BST1RPKCggY2hhciAqYmFzZSwgeXlfc2l6ZV90IHNpemUg
KSk7CnwgWVlfQlVGRkVSX1NUQVRFIHl5X3NjYW5fc3RyaW5nIFlZX1BST1RPKCggeXljb25zdCBj
aGFyICp5eV9zdHIgKSk7CnwgWVlfQlVGRkVSX1NUQVRFIHl5X3NjYW5fYnl0ZXMgWVlfUFJPVE8o
KCB5eWNvbnN0IGNoYXIgKmJ5dGVzLCBpbnQgbGVuICkpOwp8IAp8IHN0YXRpYyB2b2lkICp5eV9m
bGV4X2FsbG9jIFlZX1BST1RPKCggeXlfc2l6ZV90ICkpOwp8IHN0YXRpYyB2b2lkICp5eV9mbGV4
X3JlYWxsb2MgWVlfUFJPVE8oKCB2b2lkICosIHl5X3NpemVfdCApKSBfX3VudXNlZDsKfCBzdGF0
aWMgdm9pZCB5eV9mbGV4X2ZyZWUgWVlfUFJPVE8oKCB2b2lkICogKSk7CnwgCnwgI2RlZmluZSB5
eV9uZXdfYnVmZmVyIHl5X2NyZWF0ZV9idWZmZXIKfCAKfCAjZGVmaW5lIHl5X3NldF9pbnRlcmFj
dGl2ZShpc19pbnRlcmFjdGl2ZSkgXAp8IAl7IFwKfCAJaWYgKCAhIHl5X2N1cnJlbnRfYnVmZmVy
ICkgXAp8IAkJeXlfY3VycmVudF9idWZmZXIgPSB5eV9jcmVhdGVfYnVmZmVyKCB5eWluLCBZWV9C
VUZfU0laRSApOyBcCnwgCXl5X2N1cnJlbnRfYnVmZmVyLT55eV9pc19pbnRlcmFjdGl2ZSA9IGlz
X2ludGVyYWN0aXZlOyBcCnwgCX0KfCAKfCAjZGVmaW5lIHl5X3NldF9ib2woYXRfYm9sKSBcCnwg
CXsgXAp8IAlpZiAoICEgeXlfY3VycmVudF9idWZmZXIgKSBcCnwgCQl5eV9jdXJyZW50X2J1ZmZl
ciA9IHl5X2NyZWF0ZV9idWZmZXIoIHl5aW4sIFlZX0JVRl9TSVpFICk7IFwKfCAJeXlfY3VycmVu
dF9idWZmZXItPnl5X2F0X2JvbCA9IGF0X2JvbDsgXAp8IAl9CnwgCnwgI2RlZmluZSBZWV9BVF9C
T0woKSAoeXlfY3VycmVudF9idWZmZXItPnl5X2F0X2JvbCkKfCAKfCAKfCAjZGVmaW5lIFlZX1VT
RVNfUkVKRUNUCnwgdHlwZWRlZiB1bnNpZ25lZCBjaGFyIFlZX0NIQVI7CnwgRklMRSAqeXlpbiA9
IChGSUxFICopIDAsICp5eW91dCA9IChGSUxFICopIDA7CnwgdHlwZWRlZiBpbnQgeXlfc3RhdGVf
dHlwZTsKfCBleHRlcm4gY2hhciAqeXl0ZXh0Owp8ICNkZWZpbmUgeXl0ZXh0X3B0ciB5eXRleHQK
fCAKfCBzdGF0aWMgeXlfc3RhdGVfdHlwZSB5eV9nZXRfcHJldmlvdXNfc3RhdGUgWVlfUFJPVE8o
KCB2b2lkICkpOwp8IHN0YXRpYyB5eV9zdGF0ZV90eXBlIHl5X3RyeV9OVUxfdHJhbnMgWVlfUFJP
VE8oKCB5eV9zdGF0ZV90eXBlIGN1cnJlbnRfc3RhdGUgKSk7Cnwgc3RhdGljIGludCB5eV9nZXRf
bmV4dF9idWZmZXIgWVlfUFJPVE8oKCB2b2lkICkpOwp8IHN0YXRpYyB2b2lkIHl5X2ZhdGFsX2Vy
cm9yIFlZX1BST1RPKCggeXljb25zdCBjaGFyIG1zZ1tdICkpIF9fZGVhZDI7CnwgCnwgLyogRG9u
ZSBhZnRlciB0aGUgY3VycmVudCBwYXR0ZXJuIGhhcyBiZWVuIG1hdGNoZWQgYW5kIGJlZm9yZSB0
aGUKfCAgKiBjb3JyZXNwb25kaW5nIGFjdGlvbiAtIHNldHMgdXAgeXl0ZXh0Lgp8ICAqLwp8ICNk
ZWZpbmUgWVlfRE9fQkVGT1JFX0FDVElPTiBcCnwgCXl5dGV4dF9wdHIgPSB5eV9icDsgXAp8IAl5
eXRleHRfcHRyIC09IHl5X21vcmVfbGVuOyBcCnwgCXl5bGVuZyA9IChpbnQpICh5eV9jcCAtIHl5
dGV4dF9wdHIpOyBcCnwgCXl5X2hvbGRfY2hhciA9ICp5eV9jcDsgXAp8IAkqeXlfY3AgPSAnXDAn
OyBcCnwgCXl5X2NfYnVmX3AgPSB5eV9jcDsKfCAKfCAjZGVmaW5lIFlZX05VTV9SVUxFUyA4Cnwg
I2RlZmluZSBZWV9FTkRfT0ZfQlVGRkVSIDkKfCBzdGF0aWMgeXljb25zdCBzaG9ydCBpbnQgeXlf
YWNjbGlzdFsyM10gPQp8ICAgICB7ICAgMCwKfCAgICAgICAgIDksICAgIDcsICAgIDgsICAgIDgs
ICAgIDEsICAgIDcsICAgIDgsICAgIDIsICAgIDcsICAgIDgsCnwgICAgICAgICAzLCAgICA3LCAg
ICA4LCAgICA0LCAgICA3LCAgICA4LCAgICA1LCAgICA3LCAgICA4LCAgICA2LAp8ICAgICAgICAg
NywgICAgOAp8ICAgICB9IDsKfCAKfCBzdGF0aWMgeXljb25zdCBzaG9ydCBpbnQgeXlfYWNjZXB0
WzE0XSA9CnwgICAgIHsgICAwLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMiwgICAgNCwg
ICAgNSwgICAgOCwgICAxMSwgICAxNCwgICAxNywKfCAgICAgICAgMjAsICAgMjMsICAgMjMKfCAg
ICAgfSA7CnwgCnwgc3RhdGljIHl5Y29uc3QgaW50IHl5X2VjWzI1Nl0gPQp8ICAgICB7ICAgMCwK
fCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDIsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDMsICAgIDQsICAgIDUsICAgIDYsCnwgCnwgICAgICAgICA3
LCAgICA4LCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8
ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8IAp8ICAgICAgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwg
ICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxCnwgICAgIH0gOwp8IAp8IHN0YXRpYyB5eWNvbnN0IGludCB5eV9tZXRhWzldID0KfCAg
ICAgeyAgIDAsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxCnwgICAgIH0gOwp8IAp8IHN0YXRpYyB5eWNvbnN0IHNob3J0IGludCB5eV9iYXNlWzEz
XSA9CnwgICAgIHsgICAwLAp8ICAgICAgICAgMCwgICAgMCwgICAgOSwgICAxMCwgICAxMCwgICAx
MCwgICAxMCwgICAxMCwgICAxMCwgICAxMCwKfCAgICAgICAgMTAsICAgMTAKfCAgICAgfSA7Cnwg
Cnwgc3RhdGljIHl5Y29uc3Qgc2hvcnQgaW50IHl5X2RlZlsxM10gPQp8ICAgICB7ICAgMCwKfCAg
ICAgICAgMTIsICAgIDEsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIs
ICAgMTIsCnwgICAgICAgIDEyLCAgICAwCnwgICAgIH0gOwp8IAp8IHN0YXRpYyB5eWNvbnN0IHNo
b3J0IGludCB5eV9ueHRbMTldID0KfCAgICAgeyAgIDAsCnwgICAgICAgICA0LCAgICA1LCAgICA2
LCAgICA3LCAgICA4LCAgICA5LCAgIDEwLCAgIDExLCAgIDEyLCAgICAzLAp8ICAgICAgICAxMiwg
ICAxMiwgICAxMiwgICAxMiwgICAxMiwgICAxMiwgICAxMiwgICAxMgp8ICAgICB9IDsKfCAKfCBz
dGF0aWMgeXljb25zdCBzaG9ydCBpbnQgeXlfY2hrWzE5XSA9CnwgICAgIHsgICAwLAp8ICAgICAg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMywgICAx
MiwKfCAgICAgICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIK
fCAgICAgfSA7CnwgCnwgc3RhdGljIHl5X3N0YXRlX3R5cGUgeXlfc3RhdGVfYnVmW1lZX0JVRl9T
SVpFICsgMl0sICp5eV9zdGF0ZV9wdHI7Cnwgc3RhdGljIGNoYXIgKnl5X2Z1bGxfbWF0Y2g7Cnwg
c3RhdGljIGludCB5eV9scDsKfCAjZGVmaW5lIFJFSkVDVCBcCnwgeyBcCnwgKnl5X2NwID0geXlf
aG9sZF9jaGFyOyAvKiB1bmRvIGVmZmVjdHMgb2Ygc2V0dGluZyB1cCB5eXRleHQgKi8gXAp8IHl5
X2NwID0geXlfZnVsbF9tYXRjaDsgLyogcmVzdG9yZSBwb3NzLiBiYWNrZWQtb3ZlciB0ZXh0ICov
IFwKfCArK3l5X2xwOyBcCnwgZ290byBmaW5kX3J1bGU7IFwKfCB9Cnwgc3RhdGljIGludCB5eV9t
b3JlX2ZsYWcgPSAwOwp8IHN0YXRpYyBpbnQgeXlfbW9yZV9sZW4gPSAwOwp8ICNkZWZpbmUgeXlt
b3JlKCkgKHl5X21vcmVfZmxhZyA9IDEpCnwgI2RlZmluZSBZWV9NT1JFX0FESiB5eV9tb3JlX2xl
bgp8ICNkZWZpbmUgWVlfUkVTVE9SRV9ZWV9NT1JFX09GRlNFVAp8IGNoYXIgKnl5dGV4dDsKfCAj
bGluZSAxICJjb25mdGVzdC5sIgp8ICNkZWZpbmUgSU5JVElBTCAwCnwgI2xpbmUgMzkxICJsZXgu
eXkuYyIKfCAKfCAvKiBNYWNyb3MgYWZ0ZXIgdGhpcyBwb2ludCBjYW4gYWxsIGJlIG92ZXJyaWRk
ZW4gYnkgdXNlciBkZWZpbml0aW9ucyBpbgp8ICAqIHNlY3Rpb24gMS4KfCAgKi8KfCAKfCAjaWZu
ZGVmIFlZX1NLSVBfWVlXUkFQCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIiBpbnQg
eXl3cmFwIFlZX1BST1RPKCggdm9pZCApKTsKfCAjZWxzZQp8IGV4dGVybiBpbnQgeXl3cmFwIFlZ
X1BST1RPKCggdm9pZCApKTsKfCAjZW5kaWYKfCAjZW5kaWYKfCAKfCAjaWZuZGVmIFlZX05PX1VO
UFVUCnwgc3RhdGljIHZvaWQgeXl1bnB1dCBZWV9QUk9UTygoIGludCBjLCBjaGFyICpidWZfcHRy
ICkpOwp8ICNlbmRpZgp8IAp8ICNpZm5kZWYgeXl0ZXh0X3B0cgp8IHN0YXRpYyB2b2lkIHl5X2Zs
ZXhfc3RybmNweSBZWV9QUk9UTygoIGNoYXIgKiwgeXljb25zdCBjaGFyICosIGludCApKTsKfCAj
ZW5kaWYKfCAKfCAjaWZkZWYgWVlfTkVFRF9TVFJMRU4KfCBzdGF0aWMgaW50IHl5X2ZsZXhfc3Ry
bGVuIFlZX1BST1RPKCggeXljb25zdCBjaGFyICogKSk7CnwgI2VuZGlmCnwgCnwgI2lmbmRlZiBZ
WV9OT19JTlBVVAp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IHN0YXRpYyBpbnQgeXlpbnB1dCBZWV9Q
Uk9UTygoIHZvaWQgKSk7CnwgI2Vsc2UKfCBzdGF0aWMgaW50IGlucHV0IFlZX1BST1RPKCggdm9p
ZCApKTsKfCAjZW5kaWYKfCAjZW5kaWYKfCAKfCAjaWYgWVlfU1RBQ0tfVVNFRAp8IHN0YXRpYyBp
bnQgeXlfc3RhcnRfc3RhY2tfcHRyID0gMDsKfCBzdGF0aWMgaW50IHl5X3N0YXJ0X3N0YWNrX2Rl
cHRoID0gMDsKfCBzdGF0aWMgaW50ICp5eV9zdGFydF9zdGFjayA9IDA7CnwgI2lmbmRlZiBZWV9O
T19QVVNIX1NUQVRFCnwgc3RhdGljIHZvaWQgeXlfcHVzaF9zdGF0ZSBZWV9QUk9UTygoIGludCBu
ZXdfc3RhdGUgKSk7CnwgI2VuZGlmCnwgI2lmbmRlZiBZWV9OT19QT1BfU1RBVEUKfCBzdGF0aWMg
dm9pZCB5eV9wb3Bfc3RhdGUgWVlfUFJPVE8oKCB2b2lkICkpOwp8ICNlbmRpZgp8ICNpZm5kZWYg
WVlfTk9fVE9QX1NUQVRFCnwgc3RhdGljIGludCB5eV90b3Bfc3RhdGUgWVlfUFJPVE8oKCB2b2lk
ICkpOwp8ICNlbmRpZgp8IAp8ICNlbHNlCnwgI2RlZmluZSBZWV9OT19QVVNIX1NUQVRFIDEKfCAj
ZGVmaW5lIFlZX05PX1BPUF9TVEFURSAxCnwgI2RlZmluZSBZWV9OT19UT1BfU1RBVEUgMQp8ICNl
bmRpZgp8IAp8ICNpZmRlZiBZWV9NQUxMT0NfREVDTAp8IFlZX01BTExPQ19ERUNMCnwgI2Vsc2UK
fCAjaWYgX19TVERDX18KfCAjaWZuZGVmIF9fY3BsdXNwbHVzCnwgI2luY2x1ZGUgPHN0ZGxpYi5o
Pgp8ICNlbmRpZgp8ICNlbHNlCnwgLyogSnVzdCB0cnkgdG8gZ2V0IGJ5IHdpdGhvdXQgZGVjbGFy
aW5nIHRoZSByb3V0aW5lcy4gIFRoaXMgd2lsbCBmYWlsCnwgICogbWlzZXJhYmx5IG9uIG5vbi1B
TlNJIHN5c3RlbXMgZm9yIHdoaWNoIHNpemVvZihzaXplX3QpICE9IHNpemVvZihpbnQpCnwgICog
b3Igc2l6ZW9mKHZvaWQqKSAhPSBzaXplb2YoaW50KS4KfCAgKi8KfCAjZW5kaWYKfCAjZW5kaWYK
fCAKfCAvKiBBbW91bnQgb2Ygc3R1ZmYgdG8gc2x1cnAgdXAgd2l0aCBlYWNoIHJlYWQuICovCnwg
I2lmbmRlZiBZWV9SRUFEX0JVRl9TSVpFCnwgI2RlZmluZSBZWV9SRUFEX0JVRl9TSVpFIDgxOTIK
fCAjZW5kaWYKfCAKfCAvKiBDb3B5IHdoYXRldmVyIHRoZSBsYXN0IHJ1bGUgbWF0Y2hlZCB0byB0
aGUgc3RhbmRhcmQgb3V0cHV0LiAqLwp8IAp8ICNpZm5kZWYgRUNITwp8IC8qIFRoaXMgdXNlZCB0
byBiZSBhbiBmcHV0cygpLCBidXQgc2luY2UgdGhlIHN0cmluZyBtaWdodCBjb250YWluIE5VTCdz
LAp8ICAqIHdlIG5vdyB1c2UgZndyaXRlKCkuCnwgICovCnwgI2RlZmluZSBFQ0hPICh2b2lkKSBm
d3JpdGUoIHl5dGV4dCwgeXlsZW5nLCAxLCB5eW91dCApCnwgI2VuZGlmCnwgCnwgLyogR2V0cyBp
bnB1dCBhbmQgc3R1ZmZzIGl0IGludG8gImJ1ZiIuICBudW1iZXIgb2YgY2hhcmFjdGVycyByZWFk
LCBvciBZWV9OVUxMLAp8ICAqIGlzIHJldHVybmVkIGluICJyZXN1bHQiLgp8ICAqLwp8ICNpZm5k
ZWYgWVlfSU5QVVQKfCAjZGVmaW5lIFlZX0lOUFVUKGJ1ZixyZXN1bHQsbWF4X3NpemUpIFwKfCAJ
aWYgKCB5eV9jdXJyZW50X2J1ZmZlci0+eXlfaXNfaW50ZXJhY3RpdmUgKSBcCnwgCQl7IFwKfCAJ
CWludCBjID0gJyonLCBuOyBcCnwgCQlmb3IgKCBuID0gMDsgbiA8IG1heF9zaXplICYmIFwKfCAJ
CQkgICAgIChjID0gZ2V0YyggeXlpbiApKSAhPSBFT0YgJiYgYyAhPSAnXG4nOyArK24gKSBcCnwg
CQkJYnVmW25dID0gKGNoYXIpIGM7IFwKfCAJCWlmICggYyA9PSAnXG4nICkgXAp8IAkJCWJ1Zltu
KytdID0gKGNoYXIpIGM7IFwKfCAJCWlmICggYyA9PSBFT0YgJiYgZmVycm9yKCB5eWluICkgKSBc
CnwgCQkJWVlfRkFUQUxfRVJST1IoICJpbnB1dCBpbiBmbGV4IHNjYW5uZXIgZmFpbGVkIiApOyBc
CnwgCQlyZXN1bHQgPSBuOyBcCnwgCQl9IFwKfCAJZWxzZSBpZiAoICgocmVzdWx0ID0gZnJlYWQo
IGJ1ZiwgMSwgbWF4X3NpemUsIHl5aW4gKSkgPT0gMCkgXAp8IAkJICAmJiBmZXJyb3IoIHl5aW4g
KSApIFwKfCAJCVlZX0ZBVEFMX0VSUk9SKCAiaW5wdXQgaW4gZmxleCBzY2FubmVyIGZhaWxlZCIg
KTsKfCAjZW5kaWYKfCAKfCAvKiBObyBzZW1pLWNvbG9uIGFmdGVyIHJldHVybjsgY29ycmVjdCB1
c2FnZSBpcyB0byB3cml0ZSAieXl0ZXJtaW5hdGUoKTsiIC0KfCAgKiB3ZSBkb24ndCB3YW50IGFu
IGV4dHJhICc7JyBhZnRlciB0aGUgInJldHVybiIgYmVjYXVzZSB0aGF0IHdpbGwgY2F1c2UKfCAg
KiBzb21lIGNvbXBpbGVycyB0byBjb21wbGFpbiBhYm91dCB1bnJlYWNoYWJsZSBzdGF0ZW1lbnRz
Lgp8ICAqLwp8ICNpZm5kZWYgeXl0ZXJtaW5hdGUKfCAjZGVmaW5lIHl5dGVybWluYXRlKCkgcmV0
dXJuIFlZX05VTEwKfCAjZW5kaWYKfCAKfCAvKiBOdW1iZXIgb2YgZW50cmllcyBieSB3aGljaCBz
dGFydC1jb25kaXRpb24gc3RhY2sgZ3Jvd3MuICovCnwgI2lmbmRlZiBZWV9TVEFSVF9TVEFDS19J
TkNSCnwgI2RlZmluZSBZWV9TVEFSVF9TVEFDS19JTkNSIDI1CnwgI2VuZGlmCnwgCnwgLyogUmVw
b3J0IGEgZmF0YWwgZXJyb3IuICovCnwgI2lmbmRlZiBZWV9GQVRBTF9FUlJPUgp8ICNkZWZpbmUg
WVlfRkFUQUxfRVJST1IobXNnKSB5eV9mYXRhbF9lcnJvciggbXNnICkKfCAjZW5kaWYKfCAKfCAv
KiBEZWZhdWx0IGRlY2xhcmF0aW9uIG9mIGdlbmVyYXRlZCBzY2FubmVyIC0gYSBkZWZpbmUgc28g
dGhlIHVzZXIgY2FuCnwgICogZWFzaWx5IGFkZCBwYXJhbWV0ZXJzLgp8ICAqLwp8ICNpZm5kZWYg
WVlfREVDTAp8ICNkZWZpbmUgWVlfREVDTCBpbnQgeXlsZXggWVlfUFJPVE8oKCB2b2lkICkpCnwg
I2VuZGlmCnwgCnwgLyogQ29kZSBleGVjdXRlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggcnVs
ZSwgYWZ0ZXIgeXl0ZXh0IGFuZCB5eWxlbmcKfCAgKiBoYXZlIGJlZW4gc2V0IHVwLgp8ICAqLwp8
ICNpZm5kZWYgWVlfVVNFUl9BQ1RJT04KfCAjZGVmaW5lIFlZX1VTRVJfQUNUSU9OCnwgI2VuZGlm
CnwgCnwgLyogQ29kZSBleGVjdXRlZCBhdCB0aGUgZW5kIG9mIGVhY2ggcnVsZS4gKi8KfCAjaWZu
ZGVmIFlZX0JSRUFLCnwgI2RlZmluZSBZWV9CUkVBSyBicmVhazsKfCAjZW5kaWYKfCAKfCAjZGVm
aW5lIFlZX1JVTEVfU0VUVVAgXAp8IAlZWV9VU0VSX0FDVElPTgp8IAp8IFlZX0RFQ0wKfCAJewp8
IAl5eV9zdGF0ZV90eXBlIHl5X2N1cnJlbnRfc3RhdGU7CnwgCWNoYXIgKnl5X2NwLCAqeXlfYnA7
CnwgCWludCB5eV9hY3Q7CnwgCnwgI2xpbmUgMSAiY29uZnRlc3QubCIKfCAKfCAjbGluZSA1NDQg
ImxleC55eS5jIgp8IAp8IAlpZiAoIHl5X2luaXQgKQp8IAkJewp8IAkJeXlfaW5pdCA9IDA7Cnwg
CnwgI2lmZGVmIFlZX1VTRVJfSU5JVAp8IAkJWVlfVVNFUl9JTklUOwp8ICNlbmRpZgp8IAp8IAkJ
aWYgKCAhIHl5X3N0YXJ0ICkKfCAJCQl5eV9zdGFydCA9IDE7CS8qIGZpcnN0IHN0YXJ0IHN0YXRl
ICovCnwgCnwgCQlpZiAoICEgeXlpbiApCnwgCQkJeXlpbiA9IHN0ZGluOwp8IAp8IAkJaWYgKCAh
IHl5b3V0ICkKfCAJCQl5eW91dCA9IHN0ZG91dDsKfCAKfCAJCWlmICggISB5eV9jdXJyZW50X2J1
ZmZlciApCnwgCQkJeXlfY3VycmVudF9idWZmZXIgPQp8IAkJCQl5eV9jcmVhdGVfYnVmZmVyKCB5
eWluLCBZWV9CVUZfU0laRSApOwp8IAp8IAkJeXlfbG9hZF9idWZmZXJfc3RhdGUoKTsKfCAJCX0K
fCAKfCAJd2hpbGUgKCAxICkJCS8qIGxvb3BzIHVudGlsIGVuZC1vZi1maWxlIGlzIHJlYWNoZWQg
Ki8KfCAJCXsKfCAJCXl5X21vcmVfbGVuID0gMDsKfCAJCWlmICggeXlfbW9yZV9mbGFnICkKfCAJ
CQl7CnwgCQkJeXlfbW9yZV9sZW4gPSB5eV9jX2J1Zl9wIC0geXl0ZXh0X3B0cjsKfCAJCQl5eV9t
b3JlX2ZsYWcgPSAwOwp8IAkJCX0KfCAJCXl5X2NwID0geXlfY19idWZfcDsKfCAKfCAJCS8qIFN1
cHBvcnQgb2YgeXl0ZXh0LiAqLwp8IAkJKnl5X2NwID0geXlfaG9sZF9jaGFyOwp8IAp8IAkJLyog
eXlfYnAgcG9pbnRzIHRvIHRoZSBwb3NpdGlvbiBpbiB5eV9jaF9idWYgb2YgdGhlIHN0YXJ0IG9m
CnwgCQkgKiB0aGUgY3VycmVudCBydW4uCnwgCQkgKi8KfCAJCXl5X2JwID0geXlfY3A7CnwgCnwg
CQl5eV9jdXJyZW50X3N0YXRlID0geXlfc3RhcnQ7CnwgCQl5eV9zdGF0ZV9wdHIgPSB5eV9zdGF0
ZV9idWY7CnwgCQkqeXlfc3RhdGVfcHRyKysgPSB5eV9jdXJyZW50X3N0YXRlOwp8IHl5X21hdGNo
Ogp8IAkJZG8KfCAJCQl7CnwgCQkJWVlfQ0hBUiB5eV9jID0geXlfZWNbWVlfU0NfVE9fVUkoKnl5
X2NwKV07CnwgCQkJd2hpbGUgKCB5eV9jaGtbeXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArIHl5
X2NdICE9IHl5X2N1cnJlbnRfc3RhdGUgKQp8IAkJCQl7CnwgCQkJCXl5X2N1cnJlbnRfc3RhdGUg
PSAoaW50KSB5eV9kZWZbeXlfY3VycmVudF9zdGF0ZV07CnwgCQkJCWlmICggeXlfY3VycmVudF9z
dGF0ZSA+PSAxMyApCnwgCQkJCQl5eV9jID0geXlfbWV0YVsodW5zaWduZWQgaW50KSB5eV9jXTsK
fCAJCQkJfQp8IAkJCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9ueHRbeXlfYmFzZVt5eV9jdXJyZW50
X3N0YXRlXSArICh1bnNpZ25lZCBpbnQpIHl5X2NdOwp8IAkJCSp5eV9zdGF0ZV9wdHIrKyA9IHl5
X2N1cnJlbnRfc3RhdGU7CnwgCQkJKyt5eV9jcDsKfCAJCQl9CnwgCQl3aGlsZSAoIHl5X2Jhc2Vb
eXlfY3VycmVudF9zdGF0ZV0gIT0gMTAgKTsKfCAKfCB5eV9maW5kX2FjdGlvbjoKfCAJCXl5X2N1
cnJlbnRfc3RhdGUgPSAqLS15eV9zdGF0ZV9wdHI7CnwgCQl5eV9scCA9IHl5X2FjY2VwdFt5eV9j
dXJyZW50X3N0YXRlXTsKfCBnb3RvIGZpbmRfcnVsZTsgLyogYXZvaWQgYGRlZmluZWQgYnV0IG5v
dCB1c2VkJyB3YXJuaW5nICovCnwgZmluZF9ydWxlOiAvKiB3ZSBicmFuY2ggdG8gdGhpcyBsYWJl
bCB3aGVuIGJhY2tpbmcgdXAgKi8KfCAJCWZvciAoIDsgOyApIC8qIHVudGlsIHdlIGZpbmQgd2hh
dCBydWxlIHdlIG1hdGNoZWQgKi8KfCAJCQl7CnwgCQkJaWYgKCB5eV9scCAmJiB5eV9scCA8IHl5
X2FjY2VwdFt5eV9jdXJyZW50X3N0YXRlICsgMV0gKQp8IAkJCQl7CnwgCQkJCXl5X2FjdCA9IHl5
X2FjY2xpc3RbeXlfbHBdOwp8IAkJCQkJewp8IAkJCQkJeXlfZnVsbF9tYXRjaCA9IHl5X2NwOwp8
IAkJCQkJYnJlYWs7CnwgCQkJCQl9CnwgCQkJCX0KfCAJCQktLXl5X2NwOwp8IAkJCXl5X2N1cnJl
bnRfc3RhdGUgPSAqLS15eV9zdGF0ZV9wdHI7CnwgCQkJeXlfbHAgPSB5eV9hY2NlcHRbeXlfY3Vy
cmVudF9zdGF0ZV07CnwgCQkJfQp8IAp8IAkJWVlfRE9fQkVGT1JFX0FDVElPTjsKfCAKfCAKfCBk
b19hY3Rpb246CS8qIFRoaXMgbGFiZWwgaXMgdXNlZCBvbmx5IHRvIGFjY2VzcyBFT0YgYWN0aW9u
cy4gKi8KfCAKfCAKfCAJCXN3aXRjaCAoIHl5X2FjdCApCnwgCXsgLyogYmVnaW5uaW5nIG9mIGFj
dGlvbiBzd2l0Y2ggKi8KfCBjYXNlIDE6CnwgWVlfUlVMRV9TRVRVUAp8ICNsaW5lIDIgImNvbmZ0
ZXN0LmwiCnwgeyBFQ0hPOyB9CnwgCVlZX0JSRUFLCnwgY2FzZSAyOgp8IFlZX1JVTEVfU0VUVVAK
fCAjbGluZSAzICJjb25mdGVzdC5sIgp8IHsgUkVKRUNUOyB9CnwgCVlZX0JSRUFLCnwgY2FzZSAz
Ogp8IFlZX1JVTEVfU0VUVVAKfCAjbGluZSA0ICJjb25mdGVzdC5sIgp8IHsgeXltb3JlICgpOyB9
CnwgCVlZX0JSRUFLCnwgY2FzZSA0Ogp8IFlZX1JVTEVfU0VUVVAKfCAjbGluZSA1ICJjb25mdGVz
dC5sIgp8IHsgeXlsZXNzICgxKTsgfQp8IAlZWV9CUkVBSwp8IGNhc2UgNToKfCBZWV9SVUxFX1NF
VFVQCnwgI2xpbmUgNiAiY29uZnRlc3QubCIKfCB7IHl5bGVzcyAoaW5wdXQgKCkgIT0gMCk7IH0K
fCAJWVlfQlJFQUsKfCBjYXNlIDY6CnwgWVlfUlVMRV9TRVRVUAp8ICNsaW5lIDcgImNvbmZ0ZXN0
LmwiCnwgeyB1bnB1dCAoeXl0ZXh0WzBdKTsgfQp8IAlZWV9CUkVBSwp8IGNhc2UgNzoKfCBZWV9S
VUxFX1NFVFVQCnwgI2xpbmUgOCAiY29uZnRlc3QubCIKfCB7IEJFR0lOIElOSVRJQUw7IH0KfCAJ
WVlfQlJFQUsKfCBjYXNlIDg6CnwgWVlfUlVMRV9TRVRVUAp8ICNsaW5lIDkgImNvbmZ0ZXN0Lmwi
CnwgRUNITzsKfCAJWVlfQlJFQUsKfCAjbGluZSA2NzUgImxleC55eS5jIgp8IAkJCWNhc2UgWVlf
U1RBVEVfRU9GKElOSVRJQUwpOgp8IAkJCQl5eXRlcm1pbmF0ZSgpOwp8IAp8IAljYXNlIFlZX0VO
RF9PRl9CVUZGRVI6CnwgCQl7CnwgCQkvKiBBbW91bnQgb2YgdGV4dCBtYXRjaGVkIG5vdCBpbmNs
dWRpbmcgdGhlIEVPQiBjaGFyLiAqLwp8IAkJaW50IHl5X2Ftb3VudF9vZl9tYXRjaGVkX3RleHQg
PSAoaW50KSAoeXlfY3AgLSB5eXRleHRfcHRyKSAtIDE7CnwgCnwgCQkvKiBVbmRvIHRoZSBlZmZl
Y3RzIG9mIFlZX0RPX0JFRk9SRV9BQ1RJT04uICovCnwgCQkqeXlfY3AgPSB5eV9ob2xkX2NoYXI7
CnwgCQlZWV9SRVNUT1JFX1lZX01PUkVfT0ZGU0VUCnwgCnwgCQlpZiAoIHl5X2N1cnJlbnRfYnVm
ZmVyLT55eV9idWZmZXJfc3RhdHVzID09IFlZX0JVRkZFUl9ORVcgKQp8IAkJCXsKfCAJCQkvKiBX
ZSdyZSBzY2FubmluZyBhIG5ldyBmaWxlIG9yIGlucHV0IHNvdXJjZS4gIEl0J3MKfCAJCQkgKiBw
b3NzaWJsZSB0aGF0IHRoaXMgaGFwcGVuZWQgYmVjYXVzZSB0aGUgdXNlcgp8IAkJCSAqIGp1c3Qg
cG9pbnRlZCB5eWluIGF0IGEgbmV3IHNvdXJjZSBhbmQgY2FsbGVkCnwgCQkJICogeXlsZXgoKS4g
IElmIHNvLCB0aGVuIHdlIGhhdmUgdG8gYXNzdXJlCnwgCQkJICogY29uc2lzdGVuY3kgYmV0d2Vl
biB5eV9jdXJyZW50X2J1ZmZlciBhbmQgb3VyCnwgCQkJICogZ2xvYmFscy4gIEhlcmUgaXMgdGhl
IHJpZ2h0IHBsYWNlIHRvIGRvIHNvLCBiZWNhdXNlCnwgCQkJICogdGhpcyBpcyB0aGUgZmlyc3Qg
YWN0aW9uIChvdGhlciB0aGFuIHBvc3NpYmx5IGEKfCAJCQkgKiBiYWNrLXVwKSB0aGF0IHdpbGwg
bWF0Y2ggZm9yIHRoZSBuZXcgaW5wdXQgc291cmNlLgp8IAkJCSAqLwp8IAkJCXl5X25fY2hhcnMg
PSB5eV9jdXJyZW50X2J1ZmZlci0+eXlfbl9jaGFyczsKfCAJCQl5eV9jdXJyZW50X2J1ZmZlci0+
eXlfaW5wdXRfZmlsZSA9IHl5aW47CnwgCQkJeXlfY3VycmVudF9idWZmZXItPnl5X2J1ZmZlcl9z
dGF0dXMgPSBZWV9CVUZGRVJfTk9STUFMOwp8IAkJCX0KfCAKfCAJCS8qIE5vdGUgdGhhdCBoZXJl
IHdlIHRlc3QgZm9yIHl5X2NfYnVmX3AgIjw9IiB0byB0aGUgcG9zaXRpb24KfCAJCSAqIG9mIHRo
ZSBmaXJzdCBFT0IgaW4gdGhlIGJ1ZmZlciwgc2luY2UgeXlfY19idWZfcCB3aWxsCnwgCQkgKiBh
bHJlYWR5IGhhdmUgYmVlbiBpbmNyZW1lbnRlZCBwYXN0IHRoZSBOVUwgY2hhcmFjdGVyCnwgCQkg
KiAoc2luY2UgYWxsIHN0YXRlcyBtYWtlIHRyYW5zaXRpb25zIG9uIEVPQiB0byB0aGUKfCAJCSAq
IGVuZC1vZi1idWZmZXIgc3RhdGUpLiAgQ29udHJhc3QgdGhpcyB3aXRoIHRoZSB0ZXN0CnwgCQkg
KiBpbiBpbnB1dCgpLgp8IAkJICovCnwgCQlpZiAoIHl5X2NfYnVmX3AgPD0gJnl5X2N1cnJlbnRf
YnVmZmVyLT55eV9jaF9idWZbeXlfbl9jaGFyc10gKQp8IAkJCXsgLyogVGhpcyB3YXMgcmVhbGx5
IGEgTlVMLiAqLwp8IAkJCXl5X3N0YXRlX3R5cGUgeXlfbmV4dF9zdGF0ZTsKfCAKfCAJCQl5eV9j
X2J1Zl9wID0geXl0ZXh0X3B0ciArIHl5X2Ftb3VudF9vZl9tYXRjaGVkX3RleHQ7CnwgCnwgCQkJ
eXlfY3VycmVudF9zdGF0ZSA9IHl5X2dldF9wcmV2aW91c19zdGF0ZSgpOwp8IAp8IAkJCS8qIE9r
YXksIHdlJ3JlIG5vdyBwb3NpdGlvbmVkIHRvIG1ha2UgdGhlIE5VTAp8IAkJCSAqIHRyYW5zaXRp
b24uICBXZSBjb3VsZG4ndCBoYXZlCnwgCQkJICogeXlfZ2V0X3ByZXZpb3VzX3N0YXRlKCkgZ28g
YWhlYWQgYW5kIGRvIGl0CnwgCQkJICogZm9yIHVzIGJlY2F1c2UgaXQgZG9lc24ndCBrbm93IGhv
dyB0byBkZWFsCnwgCQkJICogd2l0aCB0aGUgcG9zc2liaWxpdHkgb2YgamFtbWluZyAoYW5kIHdl
IGRvbid0CnwgCQkJICogd2FudCB0byBidWlsZCBqYW1taW5nIGludG8gaXQgYmVjYXVzZSB0aGVu
IGl0CnwgCQkJICogd2lsbCBydW4gbW9yZSBzbG93bHkpLgp8IAkJCSAqLwp8IAp8IAkJCXl5X25l
eHRfc3RhdGUgPSB5eV90cnlfTlVMX3RyYW5zKCB5eV9jdXJyZW50X3N0YXRlICk7CnwgCnwgCQkJ
eXlfYnAgPSB5eXRleHRfcHRyICsgWVlfTU9SRV9BREo7CnwgCnwgCQkJaWYgKCB5eV9uZXh0X3N0
YXRlICkKfCAJCQkJewp8IAkJCQkvKiBDb25zdW1lIHRoZSBOVUwuICovCnwgCQkJCXl5X2NwID0g
Kyt5eV9jX2J1Zl9wOwp8IAkJCQl5eV9jdXJyZW50X3N0YXRlID0geXlfbmV4dF9zdGF0ZTsKfCAJ
CQkJZ290byB5eV9tYXRjaDsKfCAJCQkJfQp8IAp8IAkJCWVsc2UKfCAJCQkJewp8IAkJCQl5eV9j
cCA9IHl5X2NfYnVmX3A7CnwgCQkJCWdvdG8geXlfZmluZF9hY3Rpb247CnwgCQkJCX0KfCAJCQl9
CnwgCnwgCQllbHNlIHN3aXRjaCAoIHl5X2dldF9uZXh0X2J1ZmZlcigpICkKfCAJCQl7CnwgCQkJ
Y2FzZSBFT0JfQUNUX0VORF9PRl9GSUxFOgp8IAkJCQl7CnwgCQkJCXl5X2RpZF9idWZmZXJfc3dp
dGNoX29uX2VvZiA9IDA7CnwgCnwgCQkJCWlmICggeXl3cmFwKCkgKQp8IAkJCQkJewp8IAkJCQkJ
LyogTm90ZTogYmVjYXVzZSB3ZSd2ZSB0YWtlbiBjYXJlIGluCnwgCQkJCQkgKiB5eV9nZXRfbmV4
dF9idWZmZXIoKSB0byBoYXZlIHNldCB1cAp8IAkJCQkJICogeXl0ZXh0LCB3ZSBjYW4gbm93IHNl
dCB1cAp8IAkJCQkJICogeXlfY19idWZfcCBzbyB0aGF0IGlmIHNvbWUgdG90YWwKfCAJCQkJCSAq
IGhvc2VyIChsaWtlIGZsZXggaXRzZWxmKSB3YW50cyB0bwp8IAkJCQkJICogY2FsbCB0aGUgc2Nh
bm5lciBhZnRlciB3ZSByZXR1cm4gdGhlCnwgCQkJCQkgKiBZWV9OVUxMLCBpdCdsbCBzdGlsbCB3
b3JrIC0gYW5vdGhlcgp8IAkJCQkJICogWVlfTlVMTCB3aWxsIGdldCByZXR1cm5lZC4KfCAJCQkJ
CSAqLwp8IAkJCQkJeXlfY19idWZfcCA9IHl5dGV4dF9wdHIgKyBZWV9NT1JFX0FESjsKfCAKfCAJ
CQkJCXl5X2FjdCA9IFlZX1NUQVRFX0VPRihZWV9TVEFSVCk7CnwgCQkJCQlnb3RvIGRvX2FjdGlv
bjsKfCAJCQkJCX0KfCAKfCAJCQkJZWxzZQp8IAkJCQkJewp8IAkJCQkJaWYgKCAhIHl5X2RpZF9i
dWZmZXJfc3dpdGNoX29uX2VvZiApCnwgCQkJCQkJWVlfTkVXX0ZJTEU7CnwgCQkJCQl9CnwgCQkJ
CWJyZWFrOwp8IAkJCQl9CnwgCnwgCQkJY2FzZSBFT0JfQUNUX0NPTlRJTlVFX1NDQU46CnwgCQkJ
CXl5X2NfYnVmX3AgPQp8IAkJCQkJeXl0ZXh0X3B0ciArIHl5X2Ftb3VudF9vZl9tYXRjaGVkX3Rl
eHQ7CnwgCnwgCQkJCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9nZXRfcHJldmlvdXNfc3RhdGUoKTsK
fCAKfCAJCQkJeXlfY3AgPSB5eV9jX2J1Zl9wOwp8IAkJCQl5eV9icCA9IHl5dGV4dF9wdHIgKyBZ
WV9NT1JFX0FESjsKfCAJCQkJZ290byB5eV9tYXRjaDsKfCAKfCAJCQljYXNlIEVPQl9BQ1RfTEFT
VF9NQVRDSDoKfCAJCQkJeXlfY19idWZfcCA9CnwgCQkJCSZ5eV9jdXJyZW50X2J1ZmZlci0+eXlf
Y2hfYnVmW3l5X25fY2hhcnNdOwp8IAp8IAkJCQl5eV9jdXJyZW50X3N0YXRlID0geXlfZ2V0X3By
ZXZpb3VzX3N0YXRlKCk7CnwgCnwgCQkJCXl5X2NwID0geXlfY19idWZfcDsKfCAJCQkJeXlfYnAg
PSB5eXRleHRfcHRyICsgWVlfTU9SRV9BREo7CnwgCQkJCWdvdG8geXlfZmluZF9hY3Rpb247Cnwg
CQkJfQp8IAkJYnJlYWs7CnwgCQl9CnwgCnwgCWRlZmF1bHQ6CnwgCQlZWV9GQVRBTF9FUlJPUigK
fCAJCQkiZmF0YWwgZmxleCBzY2FubmVyIGludGVybmFsIGVycm9yLS1ubyBhY3Rpb24gZm91bmQi
ICk7CnwgCX0gLyogZW5kIG9mIGFjdGlvbiBzd2l0Y2ggKi8KfCAJCX0gLyogZW5kIG9mIHNjYW5u
aW5nIG9uZSB0b2tlbiAqLwp8IAl9IC8qIGVuZCBvZiB5eWxleCAqLwp8IAp8IAp8IC8qIHl5X2dl
dF9uZXh0X2J1ZmZlciAtIHRyeSB0byByZWFkIGluIGEgbmV3IGJ1ZmZlcgp8ICAqCnwgICogUmV0
dXJucyBhIGNvZGUgcmVwcmVzZW50aW5nIGFuIGFjdGlvbjoKfCAgKglFT0JfQUNUX0xBU1RfTUFU
Q0ggLQp8ICAqCUVPQl9BQ1RfQ09OVElOVUVfU0NBTiAtIGNvbnRpbnVlIHNjYW5uaW5nIGZyb20g
Y3VycmVudCBwb3NpdGlvbgp8ICAqCUVPQl9BQ1RfRU5EX09GX0ZJTEUgLSBlbmQgb2YgZmlsZQp8
ICAqLwp8IAp8IHN0YXRpYyBpbnQgeXlfZ2V0X25leHRfYnVmZmVyKCkKfCAJewp8IAljaGFyICpk
ZXN0ID0geXlfY3VycmVudF9idWZmZXItPnl5X2NoX2J1ZjsKfCAJY2hhciAqc291cmNlID0geXl0
ZXh0X3B0cjsKfCAJaW50IG51bWJlcl90b19tb3ZlLCBpOwp8IAlpbnQgcmV0X3ZhbDsKfCAKfCAJ
aWYgKCB5eV9jX2J1Zl9wID4gJnl5X2N1cnJlbnRfYnVmZmVyLT55eV9jaF9idWZbeXlfbl9jaGFy
cyArIDFdICkKfCAJCVlZX0ZBVEFMX0VSUk9SKAp8IAkJImZhdGFsIGZsZXggc2Nhbm5lciBpbnRl
cm5hbCBlcnJvci0tZW5kIG9mIGJ1ZmZlciBtaXNzZWQiICk7CnwgCnwgCWlmICggeXlfY3VycmVu
dF9idWZmZXItPnl5X2ZpbGxfYnVmZmVyID09IDAgKQp8IAkJeyAvKiBEb24ndCB0cnkgdG8gZmls
bCB0aGUgYnVmZmVyLCBzbyB0aGlzIGlzIGFuIEVPRi4gKi8KfCAJCWlmICggeXlfY19idWZfcCAt
IHl5dGV4dF9wdHIgLSBZWV9NT1JFX0FESiA9PSAxICkKfCAJCQl7CnwgCQkJLyogV2UgbWF0Y2hl
ZCBhIHNpbmdsZSBjaGFyYWN0ZXIsIHRoZSBFT0IsIHNvCnwgCQkJICogdHJlYXQgdGhpcyBhcyBh
IGZpbmFsIEVPRi4KfCAJCQkgKi8KfCAJCQlyZXR1cm4gRU9CX0FDVF9FTkRfT0ZfRklMRTsKfCAJ
CQl9CnwgCnwgCQllbHNlCnwgCQkJewp8IAkJCS8qIFdlIG1hdGNoZWQgc29tZSB0ZXh0IHByaW9y
IHRvIHRoZSBFT0IsIGZpcnN0CnwgCQkJICogcHJvY2VzcyBpdC4KfCAJCQkgKi8KfCAJCQlyZXR1
cm4gRU9CX0FDVF9MQVNUX01BVENIOwp8IAkJCX0KfCAJCX0KfCAKfCAJLyogVHJ5IHRvIHJlYWQg
bW9yZSBkYXRhLiAqLwp8IAp8IAkvKiBGaXJzdCBtb3ZlIGxhc3QgY2hhcnMgdG8gc3RhcnQgb2Yg
YnVmZmVyLiAqLwp8IAludW1iZXJfdG9fbW92ZSA9IChpbnQpICh5eV9jX2J1Zl9wIC0geXl0ZXh0
X3B0cikgLSAxOwp8IAp8IAlmb3IgKCBpID0gMDsgaSA8IG51bWJlcl90b19tb3ZlOyArK2kgKQp8
IAkJKihkZXN0KyspID0gKihzb3VyY2UrKyk7CnwgCnwgCWlmICggeXlfY3VycmVudF9idWZmZXIt
Pnl5X2J1ZmZlcl9zdGF0dXMgPT0gWVlfQlVGRkVSX0VPRl9QRU5ESU5HICkKfCAJCS8qIGRvbid0
IGRvIHRoZSByZWFkLCBpdCdzIG5vdCBndWFyYW50ZWVkIHRvIHJldHVybiBhbiBFT0YsCnwgCQkg
KiBqdXN0IGZvcmNlIGFuIEVPRgp8IAkJICovCnwgCQl5eV9jdXJyZW50X2J1ZmZlci0+eXlfbl9j
aGFycyA9IHl5X25fY2hhcnMgPSAwOwp8IAp8IAllbHNlCnwgCQl7CnwgCQlpbnQgbnVtX3RvX3Jl
YWQgPQp8IAkJCXl5X2N1cnJlbnRfYnVmZmVyLT55eV9idWZfc2l6ZSAtIG51bWJlcl90b19tb3Zl
IC0gMTsKfCAKfCAJCXdoaWxlICggbnVtX3RvX3JlYWQgPD0gMCApCnwgCQkJeyAvKiBOb3QgZW5v
dWdoIHJvb20gaW4gdGhlIGJ1ZmZlciAtIGdyb3cgaXQuICovCnwgI2lmZGVmIFlZX1VTRVNfUkVK
RUNUCnwgCQkJWVlfRkFUQUxfRVJST1IoCnwgImlucHV0IGJ1ZmZlciBvdmVyZmxvdywgY2FuJ3Qg
ZW5sYXJnZSBidWZmZXIgYmVjYXVzZSBzY2FubmVyIHVzZXMgUkVKRUNUIiApOwp8ICNlbHNlCnwg
CnwgCQkJLyoganVzdCBhIHNob3J0ZXIgbmFtZSBmb3IgdGhlIGN1cnJlbnQgYnVmZmVyICovCnwg
CQkJWVlfQlVGRkVSX1NUQVRFIGIgPSB5eV9jdXJyZW50X2J1ZmZlcjsKfCAKfCAJCQlpbnQgeXlf
Y19idWZfcF9vZmZzZXQgPQp8IAkJCQkoaW50KSAoeXlfY19idWZfcCAtIGItPnl5X2NoX2J1Zik7
CnwgCnwgCQkJaWYgKCBiLT55eV9pc19vdXJfYnVmZmVyICkKfCAJCQkJewp8IAkJCQlpbnQgbmV3
X3NpemUgPSBiLT55eV9idWZfc2l6ZSAqIDI7CnwgCnwgCQkJCWlmICggbmV3X3NpemUgPD0gMCAp
CnwgCQkJCQliLT55eV9idWZfc2l6ZSArPSBiLT55eV9idWZfc2l6ZSAvIDg7CnwgCQkJCWVsc2UK
fCAJCQkJCWItPnl5X2J1Zl9zaXplICo9IDI7CnwgCnwgCQkJCWItPnl5X2NoX2J1ZiA9IChjaGFy
ICopCnwgCQkJCQkvKiBJbmNsdWRlIHJvb20gaW4gZm9yIDIgRU9CIGNoYXJzLiAqLwp8IAkJCQkJ
eXlfZmxleF9yZWFsbG9jKCAodm9pZCAqKSBiLT55eV9jaF9idWYsCnwgCQkJCQkJCSBiLT55eV9i
dWZfc2l6ZSArIDIgKTsKfCAJCQkJfQp8IAkJCWVsc2UKfCAJCQkJLyogQ2FuJ3QgZ3JvdyBpdCwg
d2UgZG9uJ3Qgb3duIGl0LiAqLwp8IAkJCQliLT55eV9jaF9idWYgPSAwOwp8IAp8IAkJCWlmICgg
ISBiLT55eV9jaF9idWYgKQp8IAkJCQlZWV9GQVRBTF9FUlJPUigKfCAJCQkJImZhdGFsIGVycm9y
IC0gc2Nhbm5lciBpbnB1dCBidWZmZXIgb3ZlcmZsb3ciICk7CnwgCnwgCQkJeXlfY19idWZfcCA9
ICZiLT55eV9jaF9idWZbeXlfY19idWZfcF9vZmZzZXRdOwp8IAp8IAkJCW51bV90b19yZWFkID0g
eXlfY3VycmVudF9idWZmZXItPnl5X2J1Zl9zaXplIC0KfCAJCQkJCQludW1iZXJfdG9fbW92ZSAt
IDE7CnwgI2VuZGlmCnwgCQkJfQp8IAp8IAkJaWYgKCBudW1fdG9fcmVhZCA+IFlZX1JFQURfQlVG
X1NJWkUgKQp8IAkJCW51bV90b19yZWFkID0gWVlfUkVBRF9CVUZfU0laRTsKfCAKfCAJCS8qIFJl
YWQgaW4gbW9yZSBkYXRhLiAqLwp8IAkJWVlfSU5QVVQoICgmeXlfY3VycmVudF9idWZmZXItPnl5
X2NoX2J1ZltudW1iZXJfdG9fbW92ZV0pLAp8IAkJCXl5X25fY2hhcnMsIG51bV90b19yZWFkICk7
CnwgCnwgCQl5eV9jdXJyZW50X2J1ZmZlci0+eXlfbl9jaGFycyA9IHl5X25fY2hhcnM7CnwgCQl9
CnwgCnwgCWlmICggeXlfbl9jaGFycyA9PSAwICkKfCAJCXsKfCAJCWlmICggbnVtYmVyX3RvX21v
dmUgPT0gWVlfTU9SRV9BREogKQp8IAkJCXsKfCAJCQlyZXRfdmFsID0gRU9CX0FDVF9FTkRfT0Zf
RklMRTsKfCAJCQl5eXJlc3RhcnQoIHl5aW4gKTsKfCAJCQl9CnwgCnwgCQllbHNlCnwgCQkJewp8
IAkJCXJldF92YWwgPSBFT0JfQUNUX0xBU1RfTUFUQ0g7CnwgCQkJeXlfY3VycmVudF9idWZmZXIt
Pnl5X2J1ZmZlcl9zdGF0dXMgPQp8IAkJCQlZWV9CVUZGRVJfRU9GX1BFTkRJTkc7CnwgCQkJfQp8
IAkJfQp8IAp8IAllbHNlCnwgCQlyZXRfdmFsID0gRU9CX0FDVF9DT05USU5VRV9TQ0FOOwp8IAp8
IAl5eV9uX2NoYXJzICs9IG51bWJlcl90b19tb3ZlOwp8IAl5eV9jdXJyZW50X2J1ZmZlci0+eXlf
Y2hfYnVmW3l5X25fY2hhcnNdID0gWVlfRU5EX09GX0JVRkZFUl9DSEFSOwp8IAl5eV9jdXJyZW50
X2J1ZmZlci0+eXlfY2hfYnVmW3l5X25fY2hhcnMgKyAxXSA9IFlZX0VORF9PRl9CVUZGRVJfQ0hB
UjsKfCAKfCAJeXl0ZXh0X3B0ciA9ICZ5eV9jdXJyZW50X2J1ZmZlci0+eXlfY2hfYnVmWzBdOwp8
IAp8IAlyZXR1cm4gcmV0X3ZhbDsKfCAJfQp8IAp8IAp8IC8qIHl5X2dldF9wcmV2aW91c19zdGF0
ZSAtIGdldCB0aGUgc3RhdGUganVzdCBiZWZvcmUgdGhlIEVPQiBjaGFyIHdhcyByZWFjaGVkICov
CnwgCnwgc3RhdGljIHl5X3N0YXRlX3R5cGUgeXlfZ2V0X3ByZXZpb3VzX3N0YXRlKCkKfCAJewp8
IAl5eV9zdGF0ZV90eXBlIHl5X2N1cnJlbnRfc3RhdGU7CnwgCWNoYXIgKnl5X2NwOwp8IAp8IAl5
eV9jdXJyZW50X3N0YXRlID0geXlfc3RhcnQ7CnwgCXl5X3N0YXRlX3B0ciA9IHl5X3N0YXRlX2J1
ZjsKfCAJKnl5X3N0YXRlX3B0cisrID0geXlfY3VycmVudF9zdGF0ZTsKfCAKfCAJZm9yICggeXlf
Y3AgPSB5eXRleHRfcHRyICsgWVlfTU9SRV9BREo7IHl5X2NwIDwgeXlfY19idWZfcDsgKyt5eV9j
cCApCnwgCQl7CnwgCQlZWV9DSEFSIHl5X2MgPSAoKnl5X2NwID8geXlfZWNbWVlfU0NfVE9fVUko
Knl5X2NwKV0gOiAxKTsKfCAJCXdoaWxlICggeXlfY2hrW3l5X2Jhc2VbeXlfY3VycmVudF9zdGF0
ZV0gKyB5eV9jXSAhPSB5eV9jdXJyZW50X3N0YXRlICkKfCAJCQl7CnwgCQkJeXlfY3VycmVudF9z
dGF0ZSA9IChpbnQpIHl5X2RlZlt5eV9jdXJyZW50X3N0YXRlXTsKfCAJCQlpZiAoIHl5X2N1cnJl
bnRfc3RhdGUgPj0gMTMgKQp8IAkJCQl5eV9jID0geXlfbWV0YVsodW5zaWduZWQgaW50KSB5eV9j
XTsKfCAJCQl9CnwgCQl5eV9jdXJyZW50X3N0YXRlID0geXlfbnh0W3l5X2Jhc2VbeXlfY3VycmVu
dF9zdGF0ZV0gKyAodW5zaWduZWQgaW50KSB5eV9jXTsKfCAJCSp5eV9zdGF0ZV9wdHIrKyA9IHl5
X2N1cnJlbnRfc3RhdGU7CnwgCQl9CnwgCnwgCXJldHVybiB5eV9jdXJyZW50X3N0YXRlOwp8IAl9
CnwgCnwgCnwgLyogeXlfdHJ5X05VTF90cmFucyAtIHRyeSB0byBtYWtlIGEgdHJhbnNpdGlvbiBv
biB0aGUgTlVMIGNoYXJhY3Rlcgp8ICAqCnwgICogc3lub3BzaXMKfCAgKgluZXh0X3N0YXRlID0g
eXlfdHJ5X05VTF90cmFucyggY3VycmVudF9zdGF0ZSApOwp8ICAqLwp8IAp8ICNpZmRlZiBZWV9V
U0VfUFJPVE9TCnwgc3RhdGljIHl5X3N0YXRlX3R5cGUgeXlfdHJ5X05VTF90cmFucyggeXlfc3Rh
dGVfdHlwZSB5eV9jdXJyZW50X3N0YXRlICkKfCAjZWxzZQp8IHN0YXRpYyB5eV9zdGF0ZV90eXBl
IHl5X3RyeV9OVUxfdHJhbnMoIHl5X2N1cnJlbnRfc3RhdGUgKQp8IHl5X3N0YXRlX3R5cGUgeXlf
Y3VycmVudF9zdGF0ZTsKfCAjZW5kaWYKfCAJewp8IAlpbnQgeXlfaXNfamFtOwp8IAp8IAlZWV9D
SEFSIHl5X2MgPSAxOwp8IAl3aGlsZSAoIHl5X2Noa1t5eV9iYXNlW3l5X2N1cnJlbnRfc3RhdGVd
ICsgeXlfY10gIT0geXlfY3VycmVudF9zdGF0ZSApCnwgCQl7CnwgCQl5eV9jdXJyZW50X3N0YXRl
ID0gKGludCkgeXlfZGVmW3l5X2N1cnJlbnRfc3RhdGVdOwp8IAkJaWYgKCB5eV9jdXJyZW50X3N0
YXRlID49IDEzICkKfCAJCQl5eV9jID0geXlfbWV0YVsodW5zaWduZWQgaW50KSB5eV9jXTsKfCAJ
CX0KfCAJeXlfY3VycmVudF9zdGF0ZSA9IHl5X254dFt5eV9iYXNlW3l5X2N1cnJlbnRfc3RhdGVd
ICsgKHVuc2lnbmVkIGludCkgeXlfY107CnwgCXl5X2lzX2phbSA9ICh5eV9jdXJyZW50X3N0YXRl
ID09IDEyKTsKfCAJaWYgKCAhIHl5X2lzX2phbSApCnwgCQkqeXlfc3RhdGVfcHRyKysgPSB5eV9j
dXJyZW50X3N0YXRlOwp8IAp8IAlyZXR1cm4geXlfaXNfamFtID8gMCA6IHl5X2N1cnJlbnRfc3Rh
dGU7CnwgCX0KfCAKfCAKfCAjaWZuZGVmIFlZX05PX1VOUFVUCnwgI2lmZGVmIFlZX1VTRV9QUk9U
T1MKfCBzdGF0aWMgdm9pZCB5eXVucHV0KCBpbnQgYywgY2hhciAqeXlfYnAgKQp8ICNlbHNlCnwg
c3RhdGljIHZvaWQgeXl1bnB1dCggYywgeXlfYnAgKQp8IGludCBjOwp8IGNoYXIgKnl5X2JwOwp8
ICNlbmRpZgp8IAl7CnwgCWNoYXIgKnl5X2NwID0geXlfY19idWZfcDsKfCAKfCAJLyogdW5kbyBl
ZmZlY3RzIG9mIHNldHRpbmcgdXAgeXl0ZXh0ICovCnwgCSp5eV9jcCA9IHl5X2hvbGRfY2hhcjsK
fCAKfCAJaWYgKCB5eV9jcCA8IHl5X2N1cnJlbnRfYnVmZmVyLT55eV9jaF9idWYgKyAyICkKfCAJ
CXsgLyogbmVlZCB0byBzaGlmdCB0aGluZ3MgdXAgdG8gbWFrZSByb29tICovCnwgCQkvKiArMiBm
b3IgRU9CIGNoYXJzLiAqLwp8IAkJaW50IG51bWJlcl90b19tb3ZlID0geXlfbl9jaGFycyArIDI7
CnwgCQljaGFyICpkZXN0ID0gJnl5X2N1cnJlbnRfYnVmZmVyLT55eV9jaF9idWZbCnwgCQkJCQl5
eV9jdXJyZW50X2J1ZmZlci0+eXlfYnVmX3NpemUgKyAyXTsKfCAJCWNoYXIgKnNvdXJjZSA9Cnwg
CQkJCSZ5eV9jdXJyZW50X2J1ZmZlci0+eXlfY2hfYnVmW251bWJlcl90b19tb3ZlXTsKfCAKfCAJ
CXdoaWxlICggc291cmNlID4geXlfY3VycmVudF9idWZmZXItPnl5X2NoX2J1ZiApCnwgCQkJKi0t
ZGVzdCA9ICotLXNvdXJjZTsKfCAKfCAJCXl5X2NwICs9IChpbnQpIChkZXN0IC0gc291cmNlKTsK
fCAJCXl5X2JwICs9IChpbnQpIChkZXN0IC0gc291cmNlKTsKfCAJCXl5X2N1cnJlbnRfYnVmZmVy
LT55eV9uX2NoYXJzID0KfCAJCQl5eV9uX2NoYXJzID0geXlfY3VycmVudF9idWZmZXItPnl5X2J1
Zl9zaXplOwp8IAp8IAkJaWYgKCB5eV9jcCA8IHl5X2N1cnJlbnRfYnVmZmVyLT55eV9jaF9idWYg
KyAyICkKfCAJCQlZWV9GQVRBTF9FUlJPUiggImZsZXggc2Nhbm5lciBwdXNoLWJhY2sgb3ZlcmZs
b3ciICk7CnwgCQl9CnwgCnwgCSotLXl5X2NwID0gKGNoYXIpIGM7CnwgCnwgCnwgCXl5dGV4dF9w
dHIgPSB5eV9icDsKfCAJeXlfaG9sZF9jaGFyID0gKnl5X2NwOwp8IAl5eV9jX2J1Zl9wID0geXlf
Y3A7CnwgCX0KfCAjZW5kaWYJLyogaWZuZGVmIFlZX05PX1VOUFVUICovCnwgCnwgCnwgI2lmZGVm
IF9fY3BsdXNwbHVzCnwgc3RhdGljIGludCB5eWlucHV0KCkKfCAjZWxzZQp8IHN0YXRpYyBpbnQg
aW5wdXQoKQp8ICNlbmRpZgp8IAl7CnwgCWludCBjOwp8IAp8IAkqeXlfY19idWZfcCA9IHl5X2hv
bGRfY2hhcjsKfCAKfCAJaWYgKCAqeXlfY19idWZfcCA9PSBZWV9FTkRfT0ZfQlVGRkVSX0NIQVIg
KQp8IAkJewp8IAkJLyogeXlfY19idWZfcCBub3cgcG9pbnRzIHRvIHRoZSBjaGFyYWN0ZXIgd2Ug
d2FudCB0byByZXR1cm4uCnwgCQkgKiBJZiB0aGlzIG9jY3VycyAqYmVmb3JlKiB0aGUgRU9CIGNo
YXJhY3RlcnMsIHRoZW4gaXQncyBhCnwgCQkgKiB2YWxpZCBOVUw7IGlmIG5vdCwgdGhlbiB3ZSd2
ZSBoaXQgdGhlIGVuZCBvZiB0aGUgYnVmZmVyLgp8IAkJICovCnwgCQlpZiAoIHl5X2NfYnVmX3Ag
PCAmeXlfY3VycmVudF9idWZmZXItPnl5X2NoX2J1Zlt5eV9uX2NoYXJzXSApCnwgCQkJLyogVGhp
cyB3YXMgcmVhbGx5IGEgTlVMLiAqLwp8IAkJCSp5eV9jX2J1Zl9wID0gJ1wwJzsKfCAKfCAJCWVs
c2UKfCAJCQl7IC8qIG5lZWQgbW9yZSBpbnB1dCAqLwp8IAkJCWludCBvZmZzZXQgPSB5eV9jX2J1
Zl9wIC0geXl0ZXh0X3B0cjsKfCAJCQkrK3l5X2NfYnVmX3A7CnwgCnwgCQkJc3dpdGNoICggeXlf
Z2V0X25leHRfYnVmZmVyKCkgKQp8IAkJCQl7CnwgCQkJCWNhc2UgRU9CX0FDVF9MQVNUX01BVENI
Ogp8IAkJCQkJLyogVGhpcyBoYXBwZW5zIGJlY2F1c2UgeXlfZ19uX2IoKQp8IAkJCQkJICogc2Vl
cyB0aGF0IHdlJ3ZlIGFjY3VtdWxhdGVkIGEKfCAJCQkJCSAqIHRva2VuIGFuZCBmbGFncyB0aGF0
IHdlIG5lZWQgdG8KfCAJCQkJCSAqIHRyeSBtYXRjaGluZyB0aGUgdG9rZW4gYmVmb3JlCnwgCQkJ
CQkgKiBwcm9jZWVkaW5nLiAgQnV0IGZvciBpbnB1dCgpLAp8IAkJCQkJICogdGhlcmUncyBubyBt
YXRjaGluZyB0byBjb25zaWRlci4KfCAJCQkJCSAqIFNvIGNvbnZlcnQgdGhlIEVPQl9BQ1RfTEFT
VF9NQVRDSAp8IAkJCQkJICogdG8gRU9CX0FDVF9FTkRfT0ZfRklMRS4KfCAJCQkJCSAqLwp8IAp8
IAkJCQkJLyogUmVzZXQgYnVmZmVyIHN0YXR1cy4gKi8KfCAJCQkJCXl5cmVzdGFydCggeXlpbiAp
Owp8IAp8IAkJCQkJLyogZmFsbCB0aHJvdWdoICovCnwgCnwgCQkJCWNhc2UgRU9CX0FDVF9FTkRf
T0ZfRklMRToKfCAJCQkJCXsKfCAJCQkJCWlmICggeXl3cmFwKCkgKQp8IAkJCQkJCXJldHVybiBF
T0Y7CnwgCnwgCQkJCQlpZiAoICEgeXlfZGlkX2J1ZmZlcl9zd2l0Y2hfb25fZW9mICkKfCAJCQkJ
CQlZWV9ORVdfRklMRTsKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCAJCQkJCXJldHVybiB5eWlucHV0
KCk7CnwgI2Vsc2UKfCAJCQkJCXJldHVybiBpbnB1dCgpOwp8ICNlbmRpZgp8IAkJCQkJfQp8IAp8
IAkJCQljYXNlIEVPQl9BQ1RfQ09OVElOVUVfU0NBTjoKfCAJCQkJCXl5X2NfYnVmX3AgPSB5eXRl
eHRfcHRyICsgb2Zmc2V0Owp8IAkJCQkJYnJlYWs7CnwgCQkJCX0KfCAJCQl9CnwgCQl9CnwgCnwg
CWMgPSAqKHVuc2lnbmVkIGNoYXIgKikgeXlfY19idWZfcDsJLyogY2FzdCBmb3IgOC1iaXQgY2hh
cidzICovCnwgCSp5eV9jX2J1Zl9wID0gJ1wwJzsJLyogcHJlc2VydmUgeXl0ZXh0ICovCnwgCXl5
X2hvbGRfY2hhciA9ICorK3l5X2NfYnVmX3A7CnwgCnwgCnwgCXJldHVybiBjOwp8IAl9CnwgCnwg
CnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MKfCB2b2lkIHl5cmVzdGFydCggRklMRSAqaW5wdXRfZmls
ZSApCnwgI2Vsc2UKfCB2b2lkIHl5cmVzdGFydCggaW5wdXRfZmlsZSApCnwgRklMRSAqaW5wdXRf
ZmlsZTsKfCAjZW5kaWYKfCAJewp8IAlpZiAoICEgeXlfY3VycmVudF9idWZmZXIgKQp8IAkJeXlf
Y3VycmVudF9idWZmZXIgPSB5eV9jcmVhdGVfYnVmZmVyKCB5eWluLCBZWV9CVUZfU0laRSApOwp8
IAp8IAl5eV9pbml0X2J1ZmZlciggeXlfY3VycmVudF9idWZmZXIsIGlucHV0X2ZpbGUgKTsKfCAJ
eXlfbG9hZF9idWZmZXJfc3RhdGUoKTsKfCAJfQp8IAp8IAp8ICNpZmRlZiBZWV9VU0VfUFJPVE9T
Cnwgdm9pZCB5eV9zd2l0Y2hfdG9fYnVmZmVyKCBZWV9CVUZGRVJfU1RBVEUgbmV3X2J1ZmZlciAp
CnwgI2Vsc2UKfCB2b2lkIHl5X3N3aXRjaF90b19idWZmZXIoIG5ld19idWZmZXIgKQp8IFlZX0JV
RkZFUl9TVEFURSBuZXdfYnVmZmVyOwp8ICNlbmRpZgp8IAl7CnwgCWlmICggeXlfY3VycmVudF9i
dWZmZXIgPT0gbmV3X2J1ZmZlciApCnwgCQlyZXR1cm47CnwgCnwgCWlmICggeXlfY3VycmVudF9i
dWZmZXIgKQp8IAkJewp8IAkJLyogRmx1c2ggb3V0IGluZm9ybWF0aW9uIGZvciBvbGQgYnVmZmVy
LiAqLwp8IAkJKnl5X2NfYnVmX3AgPSB5eV9ob2xkX2NoYXI7CnwgCQl5eV9jdXJyZW50X2J1ZmZl
ci0+eXlfYnVmX3BvcyA9IHl5X2NfYnVmX3A7CnwgCQl5eV9jdXJyZW50X2J1ZmZlci0+eXlfbl9j
aGFycyA9IHl5X25fY2hhcnM7CnwgCQl9CnwgCnwgCXl5X2N1cnJlbnRfYnVmZmVyID0gbmV3X2J1
ZmZlcjsKfCAJeXlfbG9hZF9idWZmZXJfc3RhdGUoKTsKfCAKfCAJLyogV2UgZG9uJ3QgYWN0dWFs
bHkga25vdyB3aGV0aGVyIHdlIGRpZCB0aGlzIHN3aXRjaCBkdXJpbmcKfCAJICogRU9GICh5eXdy
YXAoKSkgcHJvY2Vzc2luZywgYnV0IHRoZSBvbmx5IHRpbWUgdGhpcyBmbGFnCnwgCSAqIGlzIGxv
b2tlZCBhdCBpcyBhZnRlciB5eXdyYXAoKSBpcyBjYWxsZWQsIHNvIGl0J3Mgc2FmZQp8IAkgKiB0
byBnbyBhaGVhZCBhbmQgYWx3YXlzIHNldCBpdC4KfCAJICovCnwgCXl5X2RpZF9idWZmZXJfc3dp
dGNoX29uX2VvZiA9IDE7CnwgCX0KfCAKfCAKfCAjaWZkZWYgWVlfVVNFX1BST1RPUwp8IHZvaWQg
eXlfbG9hZF9idWZmZXJfc3RhdGUoIHZvaWQgKQp8ICNlbHNlCnwgdm9pZCB5eV9sb2FkX2J1ZmZl
cl9zdGF0ZSgpCnwgI2VuZGlmCnwgCXsKfCAJeXlfbl9jaGFycyA9IHl5X2N1cnJlbnRfYnVmZmVy
LT55eV9uX2NoYXJzOwp8IAl5eXRleHRfcHRyID0geXlfY19idWZfcCA9IHl5X2N1cnJlbnRfYnVm
ZmVyLT55eV9idWZfcG9zOwp8IAl5eWluID0geXlfY3VycmVudF9idWZmZXItPnl5X2lucHV0X2Zp
bGU7CnwgCXl5X2hvbGRfY2hhciA9ICp5eV9jX2J1Zl9wOwp8IAl9CnwgCnwgCnwgI2lmZGVmIFlZ
X1VTRV9QUk9UT1MKfCBZWV9CVUZGRVJfU1RBVEUgeXlfY3JlYXRlX2J1ZmZlciggRklMRSAqZmls
ZSwgaW50IHNpemUgKQp8ICNlbHNlCnwgWVlfQlVGRkVSX1NUQVRFIHl5X2NyZWF0ZV9idWZmZXIo
IGZpbGUsIHNpemUgKQp8IEZJTEUgKmZpbGU7CnwgaW50IHNpemU7CnwgI2VuZGlmCnwgCXsKfCAJ
WVlfQlVGRkVSX1NUQVRFIGI7CnwgCnwgCWIgPSAoWVlfQlVGRkVSX1NUQVRFKSB5eV9mbGV4X2Fs
bG9jKCBzaXplb2YoIHN0cnVjdCB5eV9idWZmZXJfc3RhdGUgKSApOwp8IAlpZiAoICEgYiApCnwg
CQlZWV9GQVRBTF9FUlJPUiggIm91dCBvZiBkeW5hbWljIG1lbW9yeSBpbiB5eV9jcmVhdGVfYnVm
ZmVyKCkiICk7CnwgCnwgCWItPnl5X2J1Zl9zaXplID0gc2l6ZTsKfCAKfCAJLyogeXlfY2hfYnVm
IGhhcyB0byBiZSAyIGNoYXJhY3RlcnMgbG9uZ2VyIHRoYW4gdGhlIHNpemUgZ2l2ZW4gYmVjYXVz
ZQp8IAkgKiB3ZSBuZWVkIHRvIHB1dCBpbiAyIGVuZC1vZi1idWZmZXIgY2hhcmFjdGVycy4KfCAJ
ICovCnwgCWItPnl5X2NoX2J1ZiA9IChjaGFyICopIHl5X2ZsZXhfYWxsb2MoIGItPnl5X2J1Zl9z
aXplICsgMiApOwp8IAlpZiAoICEgYi0+eXlfY2hfYnVmICkKfCAJCVlZX0ZBVEFMX0VSUk9SKCAi
b3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIHl5X2NyZWF0ZV9idWZmZXIoKSIgKTsKfCAKfCAJYi0+
eXlfaXNfb3VyX2J1ZmZlciA9IDE7CnwgCnwgCXl5X2luaXRfYnVmZmVyKCBiLCBmaWxlICk7Cnwg
CnwgCXJldHVybiBiOwp8IAl9CnwgCnwgCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MKfCB2b2lkIHl5
X2RlbGV0ZV9idWZmZXIoIFlZX0JVRkZFUl9TVEFURSBiICkKfCAjZWxzZQp8IHZvaWQgeXlfZGVs
ZXRlX2J1ZmZlciggYiApCnwgWVlfQlVGRkVSX1NUQVRFIGI7CnwgI2VuZGlmCnwgCXsKfCAJaWYg
KCAhIGIgKQp8IAkJcmV0dXJuOwp8IAp8IAlpZiAoIGIgPT0geXlfY3VycmVudF9idWZmZXIgKQp8
IAkJeXlfY3VycmVudF9idWZmZXIgPSAoWVlfQlVGRkVSX1NUQVRFKSAwOwp8IAp8IAlpZiAoIGIt
Pnl5X2lzX291cl9idWZmZXIgKQp8IAkJeXlfZmxleF9mcmVlKCAodm9pZCAqKSBiLT55eV9jaF9i
dWYgKTsKfCAKfCAJeXlfZmxleF9mcmVlKCAodm9pZCAqKSBiICk7CnwgCX0KfCAKfCAKfCAjaWZu
ZGVmIFlZX0FMV0FZU19JTlRFUkFDVElWRQp8ICNpZm5kZWYgWVlfTkVWRVJfSU5URVJBQ1RJVkUK
fCBleHRlcm4gaW50IGlzYXR0eSBZWV9QUk9UTygoIGludCApKTsKfCAjZW5kaWYKfCAjZW5kaWYK
fCAKfCAjaWZkZWYgWVlfVVNFX1BST1RPUwp8IHZvaWQgeXlfaW5pdF9idWZmZXIoIFlZX0JVRkZF
Ul9TVEFURSBiLCBGSUxFICpmaWxlICkKfCAjZWxzZQp8IHZvaWQgeXlfaW5pdF9idWZmZXIoIGIs
IGZpbGUgKQp8IFlZX0JVRkZFUl9TVEFURSBiOwp8IEZJTEUgKmZpbGU7CnwgI2VuZGlmCnwgCnwg
CnwgCXsKfCAJeXlfZmx1c2hfYnVmZmVyKCBiICk7CnwgCnwgCWItPnl5X2lucHV0X2ZpbGUgPSBm
aWxlOwp8IAliLT55eV9maWxsX2J1ZmZlciA9IDE7CnwgCnwgI2lmIFlZX0FMV0FZU19JTlRFUkFD
VElWRQp8IAliLT55eV9pc19pbnRlcmFjdGl2ZSA9IDE7CnwgI2Vsc2UKfCAjaWYgWVlfTkVWRVJf
SU5URVJBQ1RJVkUKfCAJYi0+eXlfaXNfaW50ZXJhY3RpdmUgPSAwOwp8ICNlbHNlCnwgCWItPnl5
X2lzX2ludGVyYWN0aXZlID0gZmlsZSA/IChpc2F0dHkoIGZpbGVubyhmaWxlKSApID4gMCkgOiAw
Owp8ICNlbmRpZgp8ICNlbmRpZgp8IAl9CnwgCnwgCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MKfCB2
b2lkIHl5X2ZsdXNoX2J1ZmZlciggWVlfQlVGRkVSX1NUQVRFIGIgKQp8ICNlbHNlCnwgdm9pZCB5
eV9mbHVzaF9idWZmZXIoIGIgKQp8IFlZX0JVRkZFUl9TVEFURSBiOwp8ICNlbmRpZgp8IAp8IAl7
CnwgCWlmICggISBiICkKfCAJCXJldHVybjsKfCAKfCAJYi0+eXlfbl9jaGFycyA9IDA7CnwgCnwg
CS8qIFdlIGFsd2F5cyBuZWVkIHR3byBlbmQtb2YtYnVmZmVyIGNoYXJhY3RlcnMuICBUaGUgZmly
c3QgY2F1c2VzCnwgCSAqIGEgdHJhbnNpdGlvbiB0byB0aGUgZW5kLW9mLWJ1ZmZlciBzdGF0ZS4g
IFRoZSBzZWNvbmQgY2F1c2VzCnwgCSAqIGEgamFtIGluIHRoYXQgc3RhdGUuCnwgCSAqLwp8IAli
LT55eV9jaF9idWZbMF0gPSBZWV9FTkRfT0ZfQlVGRkVSX0NIQVI7CnwgCWItPnl5X2NoX2J1Zlsx
XSA9IFlZX0VORF9PRl9CVUZGRVJfQ0hBUjsKfCAKfCAJYi0+eXlfYnVmX3BvcyA9ICZiLT55eV9j
aF9idWZbMF07CnwgCnwgCWItPnl5X2F0X2JvbCA9IDE7CnwgCWItPnl5X2J1ZmZlcl9zdGF0dXMg
PSBZWV9CVUZGRVJfTkVXOwp8IAp8IAlpZiAoIGIgPT0geXlfY3VycmVudF9idWZmZXIgKQp8IAkJ
eXlfbG9hZF9idWZmZXJfc3RhdGUoKTsKfCAJfQp8IAp8IAp8ICNpZm5kZWYgWVlfTk9fU0NBTl9C
VUZGRVIKfCAjaWZkZWYgWVlfVVNFX1BST1RPUwp8IFlZX0JVRkZFUl9TVEFURSB5eV9zY2FuX2J1
ZmZlciggY2hhciAqYmFzZSwgeXlfc2l6ZV90IHNpemUgKQp8ICNlbHNlCnwgWVlfQlVGRkVSX1NU
QVRFIHl5X3NjYW5fYnVmZmVyKCBiYXNlLCBzaXplICkKfCBjaGFyICpiYXNlOwp8IHl5X3NpemVf
dCBzaXplOwp8ICNlbmRpZgp8IAl7CnwgCVlZX0JVRkZFUl9TVEFURSBiOwp8IAp8IAlpZiAoIHNp
emUgPCAyIHx8CnwgCSAgICAgYmFzZVtzaXplLTJdICE9IFlZX0VORF9PRl9CVUZGRVJfQ0hBUiB8
fAp8IAkgICAgIGJhc2Vbc2l6ZS0xXSAhPSBZWV9FTkRfT0ZfQlVGRkVSX0NIQVIgKQp8IAkJLyog
VGhleSBmb3Jnb3QgdG8gbGVhdmUgcm9vbSBmb3IgdGhlIEVPQidzLiAqLwp8IAkJcmV0dXJuIDA7
CnwgCnwgCWIgPSAoWVlfQlVGRkVSX1NUQVRFKSB5eV9mbGV4X2FsbG9jKCBzaXplb2YoIHN0cnVj
dCB5eV9idWZmZXJfc3RhdGUgKSApOwp8IAlpZiAoICEgYiApCnwgCQlZWV9GQVRBTF9FUlJPUigg
Im91dCBvZiBkeW5hbWljIG1lbW9yeSBpbiB5eV9zY2FuX2J1ZmZlcigpIiApOwp8IAp8IAliLT55
eV9idWZfc2l6ZSA9IHNpemUgLSAyOwkvKiAiLSAyIiB0byB0YWtlIGNhcmUgb2YgRU9CJ3MgKi8K
fCAJYi0+eXlfYnVmX3BvcyA9IGItPnl5X2NoX2J1ZiA9IGJhc2U7CnwgCWItPnl5X2lzX291cl9i
dWZmZXIgPSAwOwp8IAliLT55eV9pbnB1dF9maWxlID0gMDsKfCAJYi0+eXlfbl9jaGFycyA9IGIt
Pnl5X2J1Zl9zaXplOwp8IAliLT55eV9pc19pbnRlcmFjdGl2ZSA9IDA7CnwgCWItPnl5X2F0X2Jv
bCA9IDE7CnwgCWItPnl5X2ZpbGxfYnVmZmVyID0gMDsKfCAJYi0+eXlfYnVmZmVyX3N0YXR1cyA9
IFlZX0JVRkZFUl9ORVc7CnwgCnwgCXl5X3N3aXRjaF90b19idWZmZXIoIGIgKTsKfCAKfCAJcmV0
dXJuIGI7CnwgCX0KfCAjZW5kaWYKfCAKfCAKfCAjaWZuZGVmIFlZX05PX1NDQU5fU1RSSU5HCnwg
I2lmZGVmIFlZX1VTRV9QUk9UT1MKfCBZWV9CVUZGRVJfU1RBVEUgeXlfc2Nhbl9zdHJpbmcoIHl5
Y29uc3QgY2hhciAqeXlfc3RyICkKfCAjZWxzZQp8IFlZX0JVRkZFUl9TVEFURSB5eV9zY2FuX3N0
cmluZyggeXlfc3RyICkKfCB5eWNvbnN0IGNoYXIgKnl5X3N0cjsKfCAjZW5kaWYKfCAJewp8IAlp
bnQgbGVuOwp8IAlmb3IgKCBsZW4gPSAwOyB5eV9zdHJbbGVuXTsgKytsZW4gKQp8IAkJOwp8IAp8
IAlyZXR1cm4geXlfc2Nhbl9ieXRlcyggeXlfc3RyLCBsZW4gKTsKfCAJfQp8ICNlbmRpZgp8IAp8
IAp8ICNpZm5kZWYgWVlfTk9fU0NBTl9CWVRFUwp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TCnwgWVlf
QlVGRkVSX1NUQVRFIHl5X3NjYW5fYnl0ZXMoIHl5Y29uc3QgY2hhciAqYnl0ZXMsIGludCBsZW4g
KQp8ICNlbHNlCnwgWVlfQlVGRkVSX1NUQVRFIHl5X3NjYW5fYnl0ZXMoIGJ5dGVzLCBsZW4gKQp8
IHl5Y29uc3QgY2hhciAqYnl0ZXM7CnwgaW50IGxlbjsKfCAjZW5kaWYKfCAJewp8IAlZWV9CVUZG
RVJfU1RBVEUgYjsKfCAJY2hhciAqYnVmOwp8IAl5eV9zaXplX3QgbjsKfCAJaW50IGk7CnwgCnwg
CS8qIEdldCBtZW1vcnkgZm9yIGZ1bGwgYnVmZmVyLCBpbmNsdWRpbmcgc3BhY2UgZm9yIHRyYWls
aW5nIEVPQidzLiAqLwp8IAluID0gbGVuICsgMjsKfCAJYnVmID0gKGNoYXIgKikgeXlfZmxleF9h
bGxvYyggbiApOwp8IAlpZiAoICEgYnVmICkKfCAJCVlZX0ZBVEFMX0VSUk9SKCAib3V0IG9mIGR5
bmFtaWMgbWVtb3J5IGluIHl5X3NjYW5fYnl0ZXMoKSIgKTsKfCAKfCAJZm9yICggaSA9IDA7IGkg
PCBsZW47ICsraSApCnwgCQlidWZbaV0gPSBieXRlc1tpXTsKfCAKfCAJYnVmW2xlbl0gPSBidWZb
bGVuKzFdID0gWVlfRU5EX09GX0JVRkZFUl9DSEFSOwp8IAp8IAliID0geXlfc2Nhbl9idWZmZXIo
IGJ1ZiwgbiApOwp8IAlpZiAoICEgYiApCnwgCQlZWV9GQVRBTF9FUlJPUiggImJhZCBidWZmZXIg
aW4geXlfc2Nhbl9ieXRlcygpIiApOwp8IAp8IAkvKiBJdCdzIG9rYXkgdG8gZ3JvdyBldGMuIHRo
aXMgYnVmZmVyLCBhbmQgd2Ugc2hvdWxkIHRocm93IGl0CnwgCSAqIGF3YXkgd2hlbiB3ZSdyZSBk
b25lLgp8IAkgKi8KfCAJYi0+eXlfaXNfb3VyX2J1ZmZlciA9IDE7CnwgCnwgCXJldHVybiBiOwp8
IAl9CnwgI2VuZGlmCnwgCnwgCnwgI2lmbmRlZiBZWV9OT19QVVNIX1NUQVRFCnwgI2lmZGVmIFlZ
X1VTRV9QUk9UT1MKfCBzdGF0aWMgdm9pZCB5eV9wdXNoX3N0YXRlKCBpbnQgbmV3X3N0YXRlICkK
fCAjZWxzZQp8IHN0YXRpYyB2b2lkIHl5X3B1c2hfc3RhdGUoIG5ld19zdGF0ZSApCnwgaW50IG5l
d19zdGF0ZTsKfCAjZW5kaWYKfCAJewp8IAlpZiAoIHl5X3N0YXJ0X3N0YWNrX3B0ciA+PSB5eV9z
dGFydF9zdGFja19kZXB0aCApCnwgCQl7CnwgCQl5eV9zaXplX3QgbmV3X3NpemU7CnwgCnwgCQl5
eV9zdGFydF9zdGFja19kZXB0aCArPSBZWV9TVEFSVF9TVEFDS19JTkNSOwp8IAkJbmV3X3NpemUg
PSB5eV9zdGFydF9zdGFja19kZXB0aCAqIHNpemVvZiggaW50ICk7CnwgCnwgCQlpZiAoICEgeXlf
c3RhcnRfc3RhY2sgKQp8IAkJCXl5X3N0YXJ0X3N0YWNrID0gKGludCAqKSB5eV9mbGV4X2FsbG9j
KCBuZXdfc2l6ZSApOwp8IAp8IAkJZWxzZQp8IAkJCXl5X3N0YXJ0X3N0YWNrID0gKGludCAqKSB5
eV9mbGV4X3JlYWxsb2MoCnwgCQkJCQkodm9pZCAqKSB5eV9zdGFydF9zdGFjaywgbmV3X3NpemUg
KTsKfCAKfCAJCWlmICggISB5eV9zdGFydF9zdGFjayApCnwgCQkJWVlfRkFUQUxfRVJST1IoCnwg
CQkJIm91dCBvZiBtZW1vcnkgZXhwYW5kaW5nIHN0YXJ0LWNvbmRpdGlvbiBzdGFjayIgKTsKfCAJ
CX0KfCAKfCAJeXlfc3RhcnRfc3RhY2tbeXlfc3RhcnRfc3RhY2tfcHRyKytdID0gWVlfU1RBUlQ7
CnwgCnwgCUJFR0lOKG5ld19zdGF0ZSk7CnwgCX0KfCAjZW5kaWYKfCAKfCAKfCAjaWZuZGVmIFlZ
X05PX1BPUF9TVEFURQp8IHN0YXRpYyB2b2lkIHl5X3BvcF9zdGF0ZSgpCnwgCXsKfCAJaWYgKCAt
LXl5X3N0YXJ0X3N0YWNrX3B0ciA8IDAgKQp8IAkJWVlfRkFUQUxfRVJST1IoICJzdGFydC1jb25k
aXRpb24gc3RhY2sgdW5kZXJmbG93IiApOwp8IAp8IAlCRUdJTih5eV9zdGFydF9zdGFja1t5eV9z
dGFydF9zdGFja19wdHJdKTsKfCAJfQp8ICNlbmRpZgp8IAp8IAp8ICNpZm5kZWYgWVlfTk9fVE9Q
X1NUQVRFCnwgc3RhdGljIGludCB5eV90b3Bfc3RhdGUoKQp8IAl7CnwgCXJldHVybiB5eV9zdGFy
dF9zdGFja1t5eV9zdGFydF9zdGFja19wdHIgLSAxXTsKfCAJfQp8ICNlbmRpZgp8IAp8ICNpZm5k
ZWYgWVlfRVhJVF9GQUlMVVJFCnwgI2RlZmluZSBZWV9FWElUX0ZBSUxVUkUgMgp8ICNlbmRpZgp8
IAp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TCnwgc3RhdGljIHZvaWQgeXlfZmF0YWxfZXJyb3IoIHl5
Y29uc3QgY2hhciBtc2dbXSApCnwgI2Vsc2UKfCBzdGF0aWMgdm9pZCB5eV9mYXRhbF9lcnJvcigg
bXNnICkKfCBjaGFyIG1zZ1tdOwp8ICNlbmRpZgp8IAl7CnwgCSh2b2lkKSBmcHJpbnRmKCBzdGRl
cnIsICIlc1xuIiwgbXNnICk7CnwgCWV4aXQoIFlZX0VYSVRfRkFJTFVSRSApOwp8IAl9CnwgCnwg
CnwgCnwgLyogUmVkZWZpbmUgeXlsZXNzKCkgc28gaXQgd29ya3MgaW4gc2VjdGlvbiAzIGNvZGUu
ICovCnwgCnwgI3VuZGVmIHl5bGVzcwp8ICNkZWZpbmUgeXlsZXNzKG4pIFwKfCAJZG8gXAp8IAkJ
eyBcCnwgCQkvKiBVbmRvIGVmZmVjdHMgb2Ygc2V0dGluZyB1cCB5eXRleHQuICovIFwKfCAJCXl5
dGV4dFt5eWxlbmddID0geXlfaG9sZF9jaGFyOyBcCnwgCQl5eV9jX2J1Zl9wID0geXl0ZXh0ICsg
bjsgXAp8IAkJeXlfaG9sZF9jaGFyID0gKnl5X2NfYnVmX3A7IFwKfCAJCSp5eV9jX2J1Zl9wID0g
J1wwJzsgXAp8IAkJeXlsZW5nID0gbjsgXAp8IAkJfSBcCnwgCXdoaWxlICggMCApCnwgCnwgCnwg
LyogSW50ZXJuYWwgdXRpbGl0eSByb3V0aW5lcy4gKi8KfCAKfCAjaWZuZGVmIHl5dGV4dF9wdHIK
fCAjaWZkZWYgWVlfVVNFX1BST1RPUwp8IHN0YXRpYyB2b2lkIHl5X2ZsZXhfc3RybmNweSggY2hh
ciAqczEsIHl5Y29uc3QgY2hhciAqczIsIGludCBuICkKfCAjZWxzZQp8IHN0YXRpYyB2b2lkIHl5
X2ZsZXhfc3RybmNweSggczEsIHMyLCBuICkKfCBjaGFyICpzMTsKfCB5eWNvbnN0IGNoYXIgKnMy
Owp8IGludCBuOwp8ICNlbmRpZgp8IAl7CnwgCWludCBpOwp8IAlmb3IgKCBpID0gMDsgaSA8IG47
ICsraSApCnwgCQlzMVtpXSA9IHMyW2ldOwp8IAl9CnwgI2VuZGlmCnwgCnwgI2lmZGVmIFlZX05F
RURfU1RSTEVOCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MKfCBzdGF0aWMgaW50IHl5X2ZsZXhfc3Ry
bGVuKCB5eWNvbnN0IGNoYXIgKnMgKQp8ICNlbHNlCnwgc3RhdGljIGludCB5eV9mbGV4X3N0cmxl
biggcyApCnwgeXljb25zdCBjaGFyICpzOwp8ICNlbmRpZgp8IAl7CnwgCWludCBuOwp8IAlmb3Ig
KCBuID0gMDsgc1tuXTsgKytuICkKfCAJCTsKfCAKfCAJcmV0dXJuIG47CnwgCX0KfCAjZW5kaWYK
fCAKfCAKfCAjaWZkZWYgWVlfVVNFX1BST1RPUwp8IHN0YXRpYyB2b2lkICp5eV9mbGV4X2FsbG9j
KCB5eV9zaXplX3Qgc2l6ZSApCnwgI2Vsc2UKfCBzdGF0aWMgdm9pZCAqeXlfZmxleF9hbGxvYygg
c2l6ZSApCnwgeXlfc2l6ZV90IHNpemU7CnwgI2VuZGlmCnwgCXsKfCAJcmV0dXJuICh2b2lkICop
IG1hbGxvYyggc2l6ZSApOwp8IAl9CnwgCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MKfCBzdGF0aWMg
dm9pZCAqeXlfZmxleF9yZWFsbG9jKCB2b2lkICpwdHIsIHl5X3NpemVfdCBzaXplICkKfCAjZWxz
ZQp8IHN0YXRpYyB2b2lkICp5eV9mbGV4X3JlYWxsb2MoIHB0ciwgc2l6ZSApCnwgdm9pZCAqcHRy
Owp8IHl5X3NpemVfdCBzaXplOwp8ICNlbmRpZgp8IAl7CnwgCS8qIFRoZSBjYXN0IHRvIChjaGFy
ICopIGluIHRoZSBmb2xsb3dpbmcgYWNjb21tb2RhdGVzIGJvdGgKfCAJICogaW1wbGVtZW50YXRp
b25zIHRoYXQgdXNlIGNoYXIqIGdlbmVyaWMgcG9pbnRlcnMsIGFuZCB0aG9zZQp8IAkgKiB0aGF0
IHVzZSB2b2lkKiBnZW5lcmljIHBvaW50ZXJzLiAgSXQgd29ya3Mgd2l0aCB0aGUgbGF0dGVyCnwg
CSAqIGJlY2F1c2UgYm90aCBBTlNJIEMgYW5kIEMrKyBhbGxvdyBjYXN0bGVzcyBhc3NpZ25tZW50
IGZyb20KfCAJICogYW55IHBvaW50ZXIgdHlwZSB0byB2b2lkKiwgYW5kIGRlYWwgd2l0aCBhcmd1
bWVudCBjb252ZXJzaW9ucwp8IAkgKiBhcyB0aG91Z2ggZG9pbmcgYW4gYXNzaWdubWVudC4KfCAJ
ICovCnwgCXJldHVybiAodm9pZCAqKSByZWFsbG9jKCAoY2hhciAqKSBwdHIsIHNpemUgKTsKfCAJ
fQp8IAp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TCnwgc3RhdGljIHZvaWQgeXlfZmxleF9mcmVlKCB2
b2lkICpwdHIgKQp8ICNlbHNlCnwgc3RhdGljIHZvaWQgeXlfZmxleF9mcmVlKCBwdHIgKQp8IHZv
aWQgKnB0cjsKfCAjZW5kaWYKfCAJewp8IAlmcmVlKCBwdHIgKTsKfCAJfQp8IAp8ICNpZiBZWV9N
QUlOCnwgaW50IG1haW4oKQp8IAl7CnwgCXl5bGV4KCk7CnwgCXJldHVybiAwOwp8IAl9CnwgI2Vu
ZGlmCnwgI2xpbmUgOSAiY29uZnRlc3QubCIKfCAKfCAjaWZkZWYgWVlURVhUX1BPSU5URVIKfCBl
eHRlcm4gY2hhciAqeXl0ZXh0Owp8ICNlbmRpZgp8IGludAp8IG1haW4gKHZvaWQpCnwgewp8ICAg
cmV0dXJuICEgeXlsZXggKCkgKyAhIHl5d3JhcCAoKTsKfCB9CmNvbmZpZ3VyZTo1OTY4OiBjYyAt
byBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLU8yIC1waXBlIC1mbm8t
c3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1mUElDIC1ML3Vzci9sb2NhbC9s
aWIgY29uZnRlc3QuYyAtbGZsIC1ML3Vzci9wb3J0cy9jb21tcy9nbm9raWkvd29yay9nbm9raWkt
MC42LjI4L2NvbW1vbiAtTC91c3IvbG9jYWwvbGliID4mNQpjb25mdGVzdC5sOiBJbiBmdW5jdGlv
biAneXlsZXgnOgpjb25mdGVzdC5sOjY6IHdhcm5pbmc6IGNvbXBhcmlzb24gYmV0d2VlbiBwb2lu
dGVyIGFuZCBpbnRlZ2VyCmNvbmZ0ZXN0Lmw6Njogd2FybmluZzogYXNzaWdubWVudCBtYWtlcyBw
b2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdApjb25maWd1cmU6NTk3NTogJD8gPSAw
CmNvbmZpZ3VyZTo1OTk5OiByZXN1bHQ6IC1sZmwKY29uZmlndXJlOjYwMDU6IGNoZWNraW5nIHdo
ZXRoZXIgeXl0ZXh0IGlzIGEgcG9pbnRlcgpjb25maWd1cmU6NjAyNjogY2MgLW8gY29uZnRlc3Qg
LU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlh
c2luZyAtSS91c3IvbG9jYWwvaW5jbHVkZSAtZlBJQyAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0
LmMgLWxmbCAtTC91c3IvcG9ydHMvY29tbXMvZ25va2lpL3dvcmsvZ25va2lpLTAuNi4yOC9jb21t
b24gLUwvdXNyL2xvY2FsL2xpYiA+JjUKY29uZnRlc3QubDogSW4gZnVuY3Rpb24gJ3l5bGV4JzoK
Y29uZnRlc3QubDo2OiB3YXJuaW5nOiBjb21wYXJpc29uIGJldHdlZW4gcG9pbnRlciBhbmQgaW50
ZWdlcgpjb25mdGVzdC5sOjY6IHdhcm5pbmc6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9t
IGludGVnZXIgd2l0aG91dCBhIGNhc3QKY29uZmlndXJlOjYwMzM6ICQ/ID0gMApjb25maWd1cmU6
NjA1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjYwNzc6IGNoZWNraW5nIGZvciBybQpjb25maWd1
cmU6NjA5NTogZm91bmQgL2Jpbi9ybQpjb25maWd1cmU6NjEwODogcmVzdWx0OiAvYmluL3JtCmNv
bmZpZ3VyZTo2MTE4OiBjaGVja2luZyBmb3IgZmluZApjb25maWd1cmU6NjEzNjogZm91bmQgL3Vz
ci9iaW4vZmluZApjb25maWd1cmU6NjE0OTogcmVzdWx0OiAvdXNyL2Jpbi9maW5kCmNvbmZpZ3Vy
ZTo2MTYxOiBjaGVja2luZyBmb3IgZ21ha2UKY29uZmlndXJlOjYxODg6IHJlc3VsdDogZ21ha2UK
Y29uZmlndXJlOjYyMDM6IGNoZWNraW5nIGZvciBhcgpjb25maWd1cmU6NjIxOTogZm91bmQgL3Vz
ci9iaW4vYXIKY29uZmlndXJlOjYyMzA6IHJlc3VsdDogYXIKY29uZmlndXJlOjYyNTU6IGNoZWNr
aW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwKY29uZmlndXJlOjYzMjM6IHJlc3VsdDog
L3Vzci9iaW4vaW5zdGFsbCAtYyAtbyByb290IC1nIHdoZWVsCmNvbmZpZ3VyZTo2MzM3OiBjaGVj
a2luZyB3aGV0aGVyIE5MUyBpcyByZXF1ZXN0ZWQKY29uZmlndXJlOjYzNDY6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZTo2MzYzOiBjaGVja2luZyBmb3IgaW50bHRvb2wgPj0gMC4zNS4wCmNvbmZpZ3Vy
ZTo2MzcwOiByZXN1bHQ6ICBmb3VuZApjb25maWd1cmU6NjM3MzogZXJyb3I6IFlvdXIgaW50bHRv
b2wgaXMgdG9vIG9sZC4gIFlvdSBuZWVkIGludGx0b29sIDAuMzUuMCBvciBsYXRlci4KCiMjIC0t
LS0tLS0tLS0tLS0tLS0gIyMKIyMgQ2FjaGUgdmFyaWFibGVzLiAjIwojIyAtLS0tLS0tLS0tLS0t
LS0tICMjCgphY19jdl9idWlsZD1pMzg2LXBvcnRibGQtZnJlZWJzZDguMAphY19jdl9jX2NvbXBp
bGVyX2dudT15ZXMKYWNfY3ZfZW52X0NDX3NldD1zZXQKYWNfY3ZfZW52X0NDX3ZhbHVlPWNjCmFj
X2N2X2Vudl9DRkxBR1Nfc2V0PXNldAphY19jdl9lbnZfQ0ZMQUdTX3ZhbHVlPSctTzIgLXBpcGUg
LWZuby1zdHJpY3QtYWxpYXNpbmcnCmFjX2N2X2Vudl9DUFBGTEFHU19zZXQ9c2V0CmFjX2N2X2Vu
dl9DUFBGTEFHU192YWx1ZT0nLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9s
b2NhbC9pbmNsdWRlIC1mUElDJwphY19jdl9lbnZfQ1BQX3NldD0nJwphY19jdl9lbnZfQ1BQX3Zh
bHVlPScnCmFjX2N2X2Vudl9HTElCX0NGTEFHU19zZXQ9JycKYWNfY3ZfZW52X0dMSUJfQ0ZMQUdT
X3ZhbHVlPScnCmFjX2N2X2Vudl9HTElCX0xJQlNfc2V0PScnCmFjX2N2X2Vudl9HTElCX0xJQlNf
dmFsdWU9JycKYWNfY3ZfZW52X0dUS19DRkxBR1Nfc2V0PScnCmFjX2N2X2Vudl9HVEtfQ0ZMQUdT
X3ZhbHVlPScnCmFjX2N2X2Vudl9HVEtfTElCU19zZXQ9JycKYWNfY3ZfZW52X0dUS19MSUJTX3Zh
bHVlPScnCmFjX2N2X2Vudl9MREZMQUdTX3NldD1zZXQKYWNfY3ZfZW52X0xERkxBR1NfdmFsdWU9
LUwvdXNyL2xvY2FsL2xpYgphY19jdl9lbnZfTElCUENTQ0xJVEVfQ0ZMQUdTX3NldD0nJwphY19j
dl9lbnZfTElCUENTQ0xJVEVfQ0ZMQUdTX3ZhbHVlPScnCmFjX2N2X2Vudl9MSUJQQ1NDTElURV9M
SUJTX3NldD0nJwphY19jdl9lbnZfTElCUENTQ0xJVEVfTElCU192YWx1ZT0nJwphY19jdl9lbnZf
TElCU19zZXQ9c2V0CmFjX2N2X2Vudl9MSUJTX3ZhbHVlPSctTC91c3IvcG9ydHMvY29tbXMvZ25v
a2lpL3dvcmsvZ25va2lpLTAuNi4yOC9jb21tb24gLUwvdXNyL2xvY2FsL2xpYicKYWNfY3ZfZW52
X1BLR19DT05GSUdfc2V0PXNldAphY19jdl9lbnZfUEtHX0NPTkZJR192YWx1ZT0vdXNyL2xvY2Fs
L2Jpbi9wa2ctY29uZmlnCmFjX2N2X2Vudl9YTUtNRl9zZXQ9JycKYWNfY3ZfZW52X1hNS01GX3Zh
bHVlPScnCmFjX2N2X2Vudl9idWlsZF9hbGlhc19zZXQ9c2V0CmFjX2N2X2Vudl9idWlsZF9hbGlh
c192YWx1ZT1pMzg2LXBvcnRibGQtZnJlZWJzZDguMAphY19jdl9lbnZfaG9zdF9hbGlhc19zZXQ9
JycKYWNfY3ZfZW52X2hvc3RfYWxpYXNfdmFsdWU9JycKYWNfY3ZfZW52X3RhcmdldF9hbGlhc19z
ZXQ9JycKYWNfY3ZfZW52X3RhcmdldF9hbGlhc192YWx1ZT0nJwphY19jdl9oZWFkZXJfaW50dHlw
ZXNfaD15ZXMKYWNfY3ZfaGVhZGVyX21lbW9yeV9oPXllcwphY19jdl9oZWFkZXJfbWluaXhfY29u
ZmlnX2g9bm8KYWNfY3ZfaGVhZGVyX3N0ZGM9eWVzCmFjX2N2X2hlYWRlcl9zdGRpbnRfaD15ZXMK
YWNfY3ZfaGVhZGVyX3N0ZGxpYl9oPXllcwphY19jdl9oZWFkZXJfc3RyaW5nX2g9eWVzCmFjX2N2
X2hlYWRlcl9zdHJpbmdzX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfc3RhdF9oPXllcwphY19jdl9o
ZWFkZXJfc3lzX3R5cGVzX2g9eWVzCmFjX2N2X2hlYWRlcl91bmlzdGRfaD15ZXMKYWNfY3ZfaG9z
dD1pMzg2LXBvcnRibGQtZnJlZWJzZDguMAphY19jdl9saWJfbGV4PS1sZmwKYWNfY3Zfb2JqZXh0
PW8KYWNfY3ZfcGF0aF9FR1JFUD0nL3Vzci9iaW4vZ3JlcCAtRScKYWNfY3ZfcGF0aF9GSU5EPS91
c3IvYmluL2ZpbmQKYWNfY3ZfcGF0aF9HUkVQPS91c3IvYmluL2dyZXAKYWNfY3ZfcGF0aF9STT0v
YmluL3JtCmFjX2N2X3Byb2dfQVI9YXIKYWNfY3ZfcHJvZ19BV0s9bmF3awphY19jdl9wcm9nX0NQ
UD0nY2MgLUUnCmFjX2N2X3Byb2dfTEVYPWZsZXgKYWNfY3ZfcHJvZ19NQUtFPWdtYWtlCmFjX2N2
X3Byb2dfYWNfY3RfQ0M9Y2MKYWNfY3ZfcHJvZ19jY19jODk9JycKYWNfY3ZfcHJvZ19jY19jY19j
X289eWVzCmFjX2N2X3Byb2dfY2NfZz15ZXMKYWNfY3ZfcHJvZ19sZXhfcm9vdD1sZXgueXkKYWNf
Y3ZfcHJvZ19sZXhfeXl0ZXh0X3BvaW50ZXI9eWVzCmFjX2N2X3Byb2dfbWFrZV9nbWFrZV9zZXQ9
eWVzCmFjX2N2X3NhZmVfdG9fZGVmaW5lX19fZXh0ZW5zaW9uc19fPXllcwphY19jdl90YXJnZXQ9
aTM4Ni1wb3J0YmxkLWZyZWVic2Q4LjAKYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2NvbXBpbGVyX3R5
cGU9Z2NjMwpsdF9jdl9zeXNfbWF4X2NtZF9sZW49MjYyMTQ0CgojIyAtLS0tLS0tLS0tLS0tLS0t
LSAjIwojIyBPdXRwdXQgdmFyaWFibGVzLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tLSAjIwoKQUNM
T0NBTD0nJHtTSEVMTH0gL3Vzci9wb3J0cy9jb21tcy9nbm9raWkvd29yay9nbm9raWktMC42LjI4
L21pc3NpbmcgLS1ydW4gYWNsb2NhbC0xLjEwJwpBTExfTElOR1VBUz0nJwpBTURFUEJBQ0tTTEFT
SD0nXCcKQU1ERVBfRkFMU0U9JyMnCkFNREVQX1RSVUU9JycKQU1UQVI9JyR7U0hFTEx9IC91c3Iv
cG9ydHMvY29tbXMvZ25va2lpL3dvcmsvZ25va2lpLTAuNi4yOC9taXNzaW5nIC0tcnVuIHRhcicK
QVI9J2FyJwpBUz0nJwpBVVRPQ09ORj0nJHtTSEVMTH0gL3Vzci9wb3J0cy9jb21tcy9nbm9raWkv
d29yay9nbm9raWktMC42LjI4L21pc3NpbmcgLS1ydW4gYXV0b2NvbmYnCkFVVE9IRUFERVI9JyR7
U0hFTEx9IC91c3IvcG9ydHMvY29tbXMvZ25va2lpL3dvcmsvZ25va2lpLTAuNi4yOC9taXNzaW5n
IC0tcnVuIGF1dG9oZWFkZXInCkFVVE9NQUtFPScke1NIRUxMfSAvdXNyL3BvcnRzL2NvbW1zL2du
b2tpaS93b3JrL2dub2tpaS0wLjYuMjgvbWlzc2luZyAtLXJ1biBhdXRvbWFrZS0xLjEwJwpBV0s9
J25hd2snCkJMVUVUT09USF9MSUJTPScnCkNBVEFMT0dTPScnCkNBVE9CSkVYVD0nJwpDQz0nY2Mn
CkNDREVQTU9ERT0nZGVwbW9kZT1nY2MzJwpDRkxBR1M9Jy1PMiAtcGlwZSAtZm5vLXN0cmljdC1h
bGlhc2luZycKQ1BQPSdjYyAtRScKQ1BQRkxBR1M9Jy1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlh
c2luZyAtSS91c3IvbG9jYWwvaW5jbHVkZSAtZlBJQycKQ1lHUEFUSF9XPSdlY2hvJwpEQVRBRElS
TkFNRT0nJwpERUZTPScnCkRFUERJUj0nLmRlcHMnCkRMTFRPT0w9JycKRFNZTVVUSUw9JycKRFVN
UEJJTj0nJwpFQ0hPX0M9JycKRUNIT19OPSctbicKRUNIT19UPScnCkVHUkVQPScvdXNyL2Jpbi9n
cmVwIC1FJwpFWEVFWFQ9JycKRkdSRVA9JycKRklORD0nL3Vzci9iaW4vZmluZCcKR0VUVEVYVF9Q
QUNLQUdFPScnCkdMREZMQUdTPScnCkdMSUJfQ0ZMQUdTPScnCkdMSUJfTElCUz0nJwpHTU9GSUxF
Uz0nJwpHTVNHRk1UPScnCkdOT0tJSV9MVF9WRVJTSU9OPScnCkdOT0tJSV9MVF9WRVJTSU9OX0FH
RT0nMCcKR05PS0lJX0xUX1ZFUlNJT05fQ1VSUkVOVD0nNScKR05PS0lJX0xUX1ZFUlNJT05fUkVW
SVNJT049JzAnCkdSRVA9Jy91c3IvYmluL2dyZXAnCkdUS19DRkxBR1M9JycKR1RLX0xJQlM9JycK
SEFWRV9HVEtfRkFMU0U9JycKSEFWRV9HVEtfVFJVRT0nJwpIQVZFX0xJQklDQUw9JycKSEFWRV9M
SUJVU0I9JycKSEFWRV9NWVNRTF9GQUxTRT0nJwpIQVZFX01ZU1FMX1RSVUU9JycKSEFWRV9QT1NU
R1JFU19GQUxTRT0nJwpIQVZFX1BPU1RHUkVTX1RSVUU9JycKSEFWRV9YR05PS0lJPScnCklOU1RB
TExfREFUQT0naW5zdGFsbCAgLW8gcm9vdCAtZyB3aGVlbCAtbSA0NDQnCklOU1RBTExfUFJPR1JB
TT0naW5zdGFsbCAgLXMgLW8gcm9vdCAtZyB3aGVlbCAtbSA1NTUnCklOU1RBTExfU0NSSVBUPSdp
bnN0YWxsICAtbyByb290IC1nIHdoZWVsIC1tIDU1NScKSU5TVEFMTF9TVFJJUF9QUk9HUkFNPSck
KGluc3RhbGxfc2gpIC1jIC1zJwpJTlNUT0JKRVhUPScnCklOVExMSUJTPScnCklOVExUT09MX0NB
VkVTX1JVTEU9JycKSU5UTFRPT0xfREVTS1RPUF9SVUxFPScnCklOVExUT09MX0RJUkVDVE9SWV9S
VUxFPScnCklOVExUT09MX0VYVFJBQ1Q9JycKSU5UTFRPT0xfS0JEX1JVTEU9JycKSU5UTFRPT0xf
S0VZU19SVUxFPScnCklOVExUT09MX01FUkdFPScnCklOVExUT09MX09BRl9SVUxFPScnCklOVExU
T09MX1BFUkw9JycKSU5UTFRPT0xfUE9MSUNZX1JVTEU9JycKSU5UTFRPT0xfUE9OR19SVUxFPScn
CklOVExUT09MX1BST1BfUlVMRT0nJwpJTlRMVE9PTF9TQ0hFTUFTX1JVTEU9JycKSU5UTFRPT0xf
U0VSVkVSX1JVTEU9JycKSU5UTFRPT0xfU0VSVklDRV9SVUxFPScnCklOVExUT09MX1NIRUVUX1JV
TEU9JycKSU5UTFRPT0xfU09VTkRMSVNUX1JVTEU9JycKSU5UTFRPT0xfVEhFTUVfUlVMRT0nJwpJ
TlRMVE9PTF9VSV9SVUxFPScnCklOVExUT09MX1VQREFURT0nJwpJTlRMVE9PTF9YQU1fUlVMRT0n
JwpJTlRMVE9PTF9YTUxfTk9NRVJHRV9SVUxFPScnCklOVExUT09MX1hNTF9SVUxFPScnCkxEPScn
CkxERkxBR1M9Jy1ML3Vzci9sb2NhbC9saWInCkxFWD0nZmxleCcKTEVYTElCPSctbGZsJwpMRVhf
T1VUUFVUX1JPT1Q9J2xleC55eScKTElCR05PS0lJX1ZFUlNJT05fTUFKT1I9JycKTElCR05PS0lJ
X1ZFUlNJT05fTUlOT1I9JycKTElCR05PS0lJX1ZFUlNJT05fUkVMRUFTRT0nJwpMSUJHTk9LSUlf
VkVSU0lPTl9TVFJJTkc9JycKTElCSUNPTlY9JycKTElCT0JKUz0nJwpMSUJQQ1NDTElURV9DRkxB
R1M9JycKTElCUENTQ0xJVEVfTElCUz0nJwpMSUJTPSctTC91c3IvcG9ydHMvY29tbXMvZ25va2lp
L3dvcmsvZ25va2lpLTAuNi4yOC9jb21tb24gLUwvdXNyL2xvY2FsL2xpYicKTElCVE9PTD0nJwpM
SVBPPScnCkxOX1M9JycKTFRMSUJJQ09OVj0nJwpMVExJQk9CSlM9JycKTUFLRT0nZ21ha2UnCk1B
S0VJTkZPPScke1NIRUxMfSAvdXNyL3BvcnRzL2NvbW1zL2dub2tpaS93b3JrL2dub2tpaS0wLjYu
MjgvbWlzc2luZyAtLXJ1biBtYWtlaW5mbycKTUtESVJfUD0nLi9pbnN0YWxsLXNoIC1jIC1kJwpN
S0lOU1RBTExESVJTPScnCk1TR0ZNVD0nL3Vzci9sb2NhbC9iaW4vbXNnZm10JwpNU0dGTVRfT1BU
Uz0nJwpNU0dNRVJHRT0nJwpNWVNRTENPTkZJRzU9JycKTVlTUUxDT05GSUc9JycKTVlTUUxfQ0ZM
QUdTPScnCk1ZU1FMX0xJQlM9JycKTkVFRF9MT0NBTEVfQ0hBUlNFVD0nJwpOTT0nJwpOTUVESVQ9
JycKT0JKRFVNUD0nJwpPQkpFWFQ9J28nCk9UT09MNjQ9JycKT1RPT0w9JycKT1dOX0dFVE9QVD0n
JwpQQUNLQUdFPSdnbm9raWknClBBQ0tBR0VfQlVHUkVQT1JUPSdodHRwOi8vd3d3Lmdub2tpaS5v
cmcvJwpQQUNLQUdFX05BTUU9J2dub2tpaScKUEFDS0FHRV9TVFJJTkc9J2dub2tpaSAwLjYuMjgn
ClBBQ0tBR0VfVEFSTkFNRT0nZ25va2lpJwpQQUNLQUdFX1ZFUlNJT049JzAuNi4yOCcKUEFUSF9T
RVBBUkFUT1I9JzonClBHQ09ORklHPScnClBLR19DT05GSUc9Jy91c3IvbG9jYWwvYmluL3BrZy1j
b25maWcnClBPRklMRVM9JycKUE9TVEdSRVNfQ0ZMQUdTPScnClBPU1RHUkVTX0xJQlM9JycKUE9T
VUI9JycKUE9fSU5fREFUQURJUl9GQUxTRT0nJwpQT19JTl9EQVRBRElSX1RSVUU9JycKUFRIUkVB
RF9DQz0nJwpQVEhSRUFEX0NGTEFHUz0nJwpQVEhSRUFEX0xJQlM9JycKUkFOTElCPScnClJNPScv
YmluL3JtJwpTRUQ9JycKU0VUX01BS0U9JycKU0hFTEw9Jy9iaW4vc2gnClNNU0RfRkFMU0U9JycK
U01TRF9UUlVFPScnClNUUklQPScnClRDUF9MSUJTPScnClRFUk1MREZMQUdTPScnClRFUk1MSUJT
PScnClVTQl9MSUJTPScnClVTRV9OTFM9J3llcycKVVNFX1VOSVg5OFBUWVM9JycKVkVSU0lPTj0n
MC42LjI4JwpXSU4zMj0nJwpXSU4zMl9DUk9TUz0nJwpXSU4zMl9GQUxTRT0nJwpXSU4zMl9UUlVF
PScnClhHRVRURVhUPScvdXNyL2xvY2FsL2Jpbi94Z2V0dGV4dCcKWE1LTUY9JycKWFBBQ0tBR0U9
JycKWFBNX0NGTEFHUz0nJwpYUE1fTElCUz0nJwpYVkVSU0lPTj0nMS4wJwphY19jdF9DQz0nY2Mn
CmFjX2N0X0RVTVBCSU49JycKYWN4X3B0aHJlYWRfY29uZmlnPScnCmFtX19mYXN0ZGVwQ0NfRkFM
U0U9JyMnCmFtX19mYXN0ZGVwQ0NfVFJVRT0nJwphbV9faW5jbHVkZT0naW5jbHVkZScKYW1fX2lz
cmM9JycKYW1fX2xlYWRpbmdfZG90PScuJwphbV9fcXVvdGU9JycKYW1fX3Rhcj0nJHtBTVRBUn0g
Y2hvZiAtICIkJHRhcmRpciInCmFtX191bnRhcj0nJHtBTVRBUn0geGYgLScKYmluZGlyPScke2V4
ZWNfcHJlZml4fS9iaW4nCmJ1aWxkPSdpMzg2LXBvcnRibGQtZnJlZWJzZDguMCcKYnVpbGRfYWxp
YXM9J2kzODYtcG9ydGJsZC1mcmVlYnNkOC4wJwpidWlsZF9jcHU9J2kzODYnCmJ1aWxkX29zPSdm
cmVlYnNkOC4wJwpidWlsZF92ZW5kb3I9J3BvcnRibGQnCmRhdGFkaXI9JyR7ZGF0YXJvb3RkaXJ9
JwpkYXRhcm9vdGRpcj0nJHtwcmVmaXh9L3NoYXJlJwpkb2NkaXI9JyR7ZGF0YXJvb3RkaXJ9L2Rv
Yy8ke1BBQ0tBR0VfVEFSTkFNRX0nCmR2aWRpcj0nJHtkb2NkaXJ9JwpleGVjX3ByZWZpeD0nTk9O
RScKaG9zdD0naTM4Ni1wb3J0YmxkLWZyZWVic2Q4LjAnCmhvc3RfYWxpYXM9JycKaG9zdF9jcHU9
J2kzODYnCmhvc3Rfb3M9J2ZyZWVic2Q4LjAnCmhvc3RfdmVuZG9yPSdwb3J0YmxkJwpodG1sZGly
PScke2RvY2Rpcn0nCmluY2x1ZGVkaXI9JyR7cHJlZml4fS9pbmNsdWRlJwppbmZvZGlyPScvdXNy
L2xvY2FsL2luZm8nCmluc3RhbGxfc2g9JyQoU0hFTEwpIC91c3IvcG9ydHMvY29tbXMvZ25va2lp
L3dvcmsvZ25va2lpLTAuNi4yOC9pbnN0YWxsLXNoJwpsaWJkaXI9JyR7ZXhlY19wcmVmaXh9L2xp
YicKbGliZXhlY2Rpcj0nJHtleGVjX3ByZWZpeH0vbGliZXhlYycKbG9jYWxlZGlyPScke2RhdGFy
b290ZGlyfS9sb2NhbGUnCmxvY2Fsc3RhdGVkaXI9JyR7cHJlZml4fS92YXInCmx0X0VDSE89J2Vj
aG8nCm1hbmRpcj0nL3Vzci9sb2NhbC9tYW4nCm1rZGlyX3A9JyQodG9wX2J1aWxkZGlyKS8uL2lu
c3RhbGwtc2ggLWMgLWQnCm9sZGluY2x1ZGVkaXI9Jy91c3IvaW5jbHVkZScKcGRmZGlyPScke2Rv
Y2Rpcn0nCnByZWZpeD0nL3Vzci9sb2NhbCcKcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZT0ncyx4LHgs
Jwpwc2Rpcj0nJHtkb2NkaXJ9JwpzYmluZGlyPScke2V4ZWNfcHJlZml4fS9zYmluJwpzaGFyZWRz
dGF0ZWRpcj0nJHtwcmVmaXh9L2NvbScKc3lzY29uZmRpcj0nJHtwcmVmaXh9L2V0YycKdGFyZ2V0
PSdpMzg2LXBvcnRibGQtZnJlZWJzZDguMCcKdGFyZ2V0X2FsaWFzPScnCnRhcmdldF9jcHU9J2kz
ODYnCnRhcmdldF9vcz0nZnJlZWJzZDguMCcKdGFyZ2V0X3ZlbmRvcj0ncG9ydGJsZCcKCiMjIC0t
LS0tLS0tLS0tICMjCiMjIGNvbmZkZWZzLmguICMjCiMjIC0tLS0tLS0tLS0tICMjCgojZGVmaW5l
IFBBQ0tBR0VfTkFNRSAiZ25va2lpIgojZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ25va2lpIgoj
ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMC42LjI4IgojZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJn
bm9raWkgMC42LjI4IgojZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vd3d3Lmdub2tp
aS5vcmcvIgojZGVmaW5lIFNURENfSEVBREVSUyAxCiNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx
CiNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKI2RlZmluZSBIQVZFX1NURExJQl9IIDEKI2RlZmlu
ZSBIQVZFX1NUUklOR19IIDEKI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKI2RlZmluZSBIQVZFX1NU
UklOR1NfSCAxCiNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKI2RlZmluZSBIQVZFX1NURElOVF9I
IDEKI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCiNkZWZp
bmUgX0FMTF9TT1VSQ0UgMQojZGVmaW5lIF9HTlVfU09VUkNFIDEKI2RlZmluZSBfUE9TSVhfUFRI
UkVBRF9TRU1BTlRJQ1MgMQojZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKI2RlZmluZSBQQUNLQUdF
ICJnbm9raWkiCiNkZWZpbmUgVkVSU0lPTiAiMC42LjI4IgojZGVmaW5lIFlZVEVYVF9QT0lOVEVS
IDEKCmNvbmZpZ3VyZTogZXhpdCAxCg==
------=_20091228182724_50708--





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