Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Sep 2010 18:26:21 +0200
From:      David DEMELIER <demelier.david@gmail.com>
To:        Anonymous <swell.k@gmail.com>
Cc:        freebsd-ports <freebsd-ports@freebsd.org>
Subject:   Re: x11/sessreg fails to build
Message-ID:  <AANLkTinV31pktFbobs1KULHTFo__0MGskGQKN%2BOFh_pu@mail.gmail.com>
In-Reply-To: <861v8l6ckx.fsf@gmail.com>
References:  <AANLkTinYd0seY8t8hXDdAdtyvcNXDEPFZYk03R7fs-Ny@mail.gmail.com> <861v8l6ckx.fsf@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--0016e6dab73f19fc380490db9b1d
Content-Type: text/plain; charset=UTF-8

2010/9/22 Anonymous <swell.k@gmail.com>:
> David DEMELIER <demelier.david@gmail.com> writes:
>
>> sessreg.o(.text+0xfa): In function `UtmpxIdOpen':
>> : undefined reference to `setutxent'
>> sessreg.o(.text+0x101): In function `UtmpxIdOpen':
>> : undefined reference to `getutxent'
>> sessreg.o(.text+0x12b): In function `UtmpxIdOpen':
>> : undefined reference to `endutxent'
>> sessreg.o(.text+0x13b): In function `UtmpxIdOpen':
>> : undefined reference to `endutxent'
>> sessreg.o(.text+0x992): In function `main':
>> : undefined reference to `setutxent'
>> sessreg.o(.text+0x99f): In function `main':
>> : undefined reference to `getutxid'
>> sessreg.o(.text+0x9ac): In function `main':
>> : undefined reference to `pututxline'
>> sessreg.o(.text+0x9b1): In function `main':
>> : undefined reference to `endutxent'
>> sessreg.o(.text+0xa91): In function `main':
>> : undefined reference to `getutxent'
>> sessreg.o(.text+0xace): In function `main':
>> : undefined reference to `endutxent'
>> *** Error code 1
>
> Do you have utmpx.h in /usr/include while not having getutxent(3) in libc?
> I guess this may happen if you downgrade from /head to /stable/8.
>
> If it's smth else providing config.log is essential.
>

 74 __BEGIN_DECLS
 75 void    endutxent(void);
 76 struct utmpx *getutxent(void);
 77 struct utmpx *getutxid(const struct utmpx *);
 78 struct utmpx *getutxline(const struct utmpx *);
 79 struct utmpx *pututxline(const struct utmpx *);
 80 void    setutxent(void);
 81

I have them in /usr/include/utmpx.h

At configure stage :

checking utmpx.h usability... yes
checking utmpx.h presence... yes
checking for utmpx.h... yes

In config.log there is not something strange but if you want to check
it I attached it.

By the way I'm running 8.1-RELEASE on amd64.

With kind regards,

-- 
Demelier David

--0016e6dab73f19fc380490db9b1d
Content-Type: application/octet-stream; name="config.log"
Content-Disposition: attachment; filename="config.log"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_geeenlpd0

VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp
bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz
IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IHNlc3NyZWcgY29uZmlndXJlIDEuMC41LCB3
aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY3LiAgSW52b2NhdGlvbiBjb21t
YW5kIGxpbmUgd2FzCgogICQgLi9jb25maWd1cmUgLS14LWxpYnJhcmllcz0vdXNyL2xvY2FsL2xp
YiAtLXgtaW5jbHVkZXM9L3Vzci9sb2NhbC9pbmNsdWRlIC0tcHJlZml4PS91c3IvbG9jYWwgLS1t
YW5kaXI9L3Vzci9sb2NhbC9tYW4gLS1pbmZvZGlyPS91c3IvbG9jYWwvaW5mby8gLS1idWlsZD1h
bWQ2NC1wb3J0YmxkLWZyZWVic2Q4LjEKCiMjIC0tLS0tLS0tLSAjIwojIyBQbGF0Zm9ybS4gIyMK
IyMgLS0tLS0tLS0tICMjCgpob3N0bmFtZSA9IE1lbG9uLm1hbGlrYW5pYS5mcgp1bmFtZSAtbSA9
IGFtZDY0CnVuYW1lIC1yID0gOC4xLVJFTEVBU0UKdW5hbWUgLXMgPSBGcmVlQlNECnVuYW1lIC12
ID0gRnJlZUJTRCA4LjEtUkVMRUFTRSAjMjogU3VuIFNlcCAxOSAyMTo0NzozNiBDRVNUIDIwMTAg
ICAgIHJvb3RATWVsb24ubWFsaWthbmlhLmZyOi91c3Ivb2JqL3Vzci9zcmMvc3lzL01lbG9uIAoK
L3Vzci9iaW4vdW5hbWUgLXAgPSBhbWQ2NAovYmluL3VuYW1lIC1YICAgICA9IHVua25vd24KCi9i
aW4vYXJjaCAgICAgICAgICAgICAgPSB1bmtub3duCi91c3IvYmluL2FyY2ggLWsgICAgICAgPSB1
bmtub3duCi91c3IvY29udmV4L2dldHN5c2luZm8gPSB1bmtub3duCi91c3IvYmluL2hvc3RpbmZv
ICAgICAgPSB1bmtub3duCi9iaW4vbWFjaGluZSAgICAgICAgICAgPSB1bmtub3duCi91c3IvYmlu
L29zbGV2ZWwgICAgICAgPSB1bmtub3duCi9iaW4vdW5pdmVyc2UgICAgICAgICAgPSB1bmtub3du
CgpQQVRIOiAvYmluClBBVEg6IC91c3IvYmluClBBVEg6IC9zYmluClBBVEg6IC91c3Ivc2JpbgpQ
QVRIOiAvdXNyL2xvY2FsL2JpbgpQQVRIOiAvdXNyL2xvY2FsL3NiaW4KCgojIyAtLS0tLS0tLS0t
LSAjIwojIyBDb3JlIHRlc3RzLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoKY29uZmlndXJlOjIzMjY6
IGNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwKY29uZmlndXJlOjIzOTQ6IHJl
c3VsdDogL3Vzci9iaW4vaW5zdGFsbCAtYyAtbyByb290IC1nIHdoZWVsCmNvbmZpZ3VyZToyNDA1
OiBjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUKY29uZmlndXJlOjI0
NDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNTY5OiBjaGVja2luZyBmb3IgYSB0aHJlYWQtc2Fm
ZSBta2RpciAtcApjb25maWd1cmU6MjYwODogcmVzdWx0OiAuL2luc3RhbGwtc2ggLWMgLWQKY29u
ZmlndXJlOjI2MjE6IGNoZWNraW5nIGZvciBnYXdrCmNvbmZpZ3VyZToyNjUxOiByZXN1bHQ6IG5v
CmNvbmZpZ3VyZToyNjIxOiBjaGVja2luZyBmb3IgbWF3awpjb25maWd1cmU6MjY1MTogcmVzdWx0
OiBubwpjb25maWd1cmU6MjYyMTogY2hlY2tpbmcgZm9yIG5hd2sKY29uZmlndXJlOjI2Mzc6IGZv
dW5kIC91c3IvYmluL25hd2sKY29uZmlndXJlOjI2NDg6IHJlc3VsdDogbmF3awpjb25maWd1cmU6
MjY1OTogY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKQpjb25maWd1cmU6MjY4MTog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjI3NjE6IGNoZWNraW5nIHdoZXRoZXIgdG8gZW5hYmxlIG1h
aW50YWluZXItc3BlY2lmaWMgcG9ydGlvbnMgb2YgTWFrZWZpbGVzCmNvbmZpZ3VyZToyNzcwOiBy
ZXN1bHQ6IG5vCmNvbmZpZ3VyZToyODQ4OiBjaGVja2luZyBmb3IgZ2NjCmNvbmZpZ3VyZToyODc1
OiByZXN1bHQ6IGNjCmNvbmZpZ3VyZTozMTA0OiBjaGVja2luZyBmb3IgQyBjb21waWxlciB2ZXJz
aW9uCmNvbmZpZ3VyZTozMTEzOiBjYyAtLXZlcnNpb24gPiY1CmNjIChHQ0MpIDQuMi4xIDIwMDcw
NzE5ICBbRnJlZUJTRF0KQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLgpUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5n
IGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTwp3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KCmNvbmZpZ3VyZToz
MTI0OiAkPyA9IDAKY29uZmlndXJlOjMxMTM6IGNjIC12ID4mNQpVc2luZyBidWlsdC1pbiBzcGVj
cy4KVGFyZ2V0OiBhbWQ2NC11bmRlcm15ZGVzay1mcmVlYnNkCkNvbmZpZ3VyZWQgd2l0aDogRnJl
ZUJTRC9hbWQ2NCBzeXN0ZW0gY29tcGlsZXIKVGhyZWFkIG1vZGVsOiBwb3NpeApnY2MgdmVyc2lv
biA0LjIuMSAyMDA3MDcxOSAgW0ZyZWVCU0RdCmNvbmZpZ3VyZTozMTI0OiAkPyA9IDAKY29uZmln
dXJlOjMxMTM6IGNjIC1WID4mNQpjYzogJy1WJyBvcHRpb24gbXVzdCBoYXZlIGFyZ3VtZW50CmNv
bmZpZ3VyZTozMTI0OiAkPyA9IDEKY29uZmlndXJlOjMxMTM6IGNjIC1xdmVyc2lvbiA+JjUKY2M6
IHVucmVjb2duaXplZCBvcHRpb24gJy1xdmVyc2lvbicKY2M6IE5vIGlucHV0IGZpbGVzIHNwZWNp
ZmllZApjb25maWd1cmU6MzEyNDogJD8gPSAxCmNvbmZpZ3VyZTozMTQ0OiBjaGVja2luZyB3aGV0
aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzCmNvbmZpZ3VyZTozMTY2OiBjYyAtTzIgLXBpcGUgLWZu
by1zdHJpY3QtYWxpYXNpbmcgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjMxNzA6ICQ/ID0g
MApjb25maWd1cmU6MzIxODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMyMjE6IGNoZWNraW5nIGZv
ciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZQpjb25maWd1cmU6MzIyMzogcmVz
dWx0OiBhLm91dApjb25maWd1cmU6MzIyOTogY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRh
Ymxlcwpjb25maWd1cmU6MzIzNjogY2MgLW8gY29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0
LWFsaWFzaW5nICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTozMjQwOiAkPyA9IDAKY29uZmln
dXJlOjMyNjI6IHJlc3VsdDogCmNvbmZpZ3VyZTozMjg0OiBjaGVja2luZyB3aGV0aGVyIHdlIGFy
ZSBjcm9zcyBjb21waWxpbmcKY29uZmlndXJlOjMyOTI6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlw
ZSAtZm5vLXN0cmljdC1hbGlhc2luZyAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6MzI5Njog
JD8gPSAwCmNvbmZpZ3VyZTozMzAzOiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZTozMzA3OiAkPyA9IDAK
Y29uZmlndXJlOjMzMjI6IHJlc3VsdDogbm8KY29uZmlndXJlOjMzMjc6IGNoZWNraW5nIGZvciBz
dWZmaXggb2Ygb2JqZWN0IGZpbGVzCmNvbmZpZ3VyZTozMzQ5OiBjYyAtYyAtTzIgLXBpcGUgLWZu
by1zdHJpY3QtYWxpYXNpbmcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozMzUzOiAkPyA9IDAK
Y29uZmlndXJlOjMzNzQ6IHJlc3VsdDogbwpjb25maWd1cmU6MzM3ODogY2hlY2tpbmcgd2hldGhl
ciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyCmNvbmZpZ3VyZTozMzk3OiBjYyAtYyAt
TzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToz
Mzk3OiAkPyA9IDAKY29uZmlndXJlOjM0MDY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozNDE1OiBj
aGVja2luZyB3aGV0aGVyIGNjIGFjY2VwdHMgLWcKY29uZmlndXJlOjM0MzU6IGNjIC1jIC1nICBj
b25mdGVzdC5jID4mNQpjb25maWd1cmU6MzQzNTogJD8gPSAwCmNvbmZpZ3VyZTozNDc2OiByZXN1
bHQ6IHllcwpjb25maWd1cmU6MzQ5MzogY2hlY2tpbmcgZm9yIGNjIG9wdGlvbiB0byBhY2NlcHQg
SVNPIEM4OQpjb25maWd1cmU6MzU1NzogY2MgIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlh
c2luZyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjM1NTc6ICQ/ID0gMApjb25maWd1cmU6MzU3
MDogcmVzdWx0OiBub25lIG5lZWRlZApjb25maWd1cmU6MzYwMTogY2hlY2tpbmcgZm9yIHN0eWxl
IG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlCmNvbmZpZ3VyZTozNjI5OiByZXN1bHQ6IEdOVQpjb25m
aWd1cmU6MzY1NDogY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBjYwpjb25maWd1cmU6Mzc2
NDogcmVzdWx0OiBnY2MzCmNvbmZpZ3VyZTozNzg3OiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBD
IHByZXByb2Nlc3Nvcgpjb25maWd1cmU6MzgxODogY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJl
OjM4MTg6ICQ/ID0gMApjb25maWd1cmU6MzgzMjogY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZnRlc3Qu
YzoxMToyODogZXJyb3I6IGFjX25vbmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv
cnkKY29uZmlndXJlOjM4MzI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK
fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgInNlc3NyZWciCnwgI2Rl
ZmluZSBQQUNLQUdFX1RBUk5BTUUgInNlc3NyZWciCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g
IjEuMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgInNlc3NyZWcgMS4wLjUiCnwgI2RlZmlu
ZSBQQUNLQUdFX0JVR1JFUE9SVCAiaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9lbnRlcl9i
dWcuY2dpP3Byb2R1Y3Q9eG9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQ
QUNLQUdFICJzZXNzcmVnIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS4wLjUiCnwgLyogZW5kIGNvbmZk
ZWZzLmguICAqLwp8ICNpbmNsdWRlIDxhY19ub25leGlzdGVudC5oPgpjb25maWd1cmU6Mzg1Nzog
cmVzdWx0OiBjYyAtRQpjb25maWd1cmU6Mzg3NzogY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJl
OjM4Nzc6ICQ/ID0gMApjb25maWd1cmU6Mzg5MTogY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZnRlc3Qu
YzoxMToyODogZXJyb3I6IGFjX25vbmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv
cnkKY29uZmlndXJlOjM4OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK
fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgInNlc3NyZWciCnwgI2Rl
ZmluZSBQQUNLQUdFX1RBUk5BTUUgInNlc3NyZWciCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g
IjEuMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgInNlc3NyZWcgMS4wLjUiCnwgI2RlZmlu
ZSBQQUNLQUdFX0JVR1JFUE9SVCAiaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9lbnRlcl9i
dWcuY2dpP3Byb2R1Y3Q9eG9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQ
QUNLQUdFICJzZXNzcmVnIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS4wLjUiCnwgLyogZW5kIGNvbmZk
ZWZzLmguICAqLwp8ICNpbmNsdWRlIDxhY19ub25leGlzdGVudC5oPgpjb25maWd1cmU6MzkyMDog
Y2hlY2tpbmcgZm9yIGdyZXAgdGhhdCBoYW5kbGVzIGxvbmcgbGluZXMgYW5kIC1lCmNvbmZpZ3Vy
ZTozOTc4OiByZXN1bHQ6IC91c3IvYmluL2dyZXAKY29uZmlndXJlOjM5ODM6IGNoZWNraW5nIGZv
ciBlZ3JlcApjb25maWd1cmU6NDA0NTogcmVzdWx0OiAvdXNyL2Jpbi9ncmVwIC1FCmNvbmZpZ3Vy
ZTo0MDUwOiBjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcwpjb25maWd1cmU6NDA3MDog
Y2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nICBjb25mdGVzdC5jID4mNQpjb25m
aWd1cmU6NDA3MDogJD8gPSAwCmNvbmZpZ3VyZTo0MTQzOiBjYyAtbyBjb25mdGVzdCAtTzIgLXBp
cGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjQxNDM6
ICQ/ID0gMApjb25maWd1cmU6NDE0MzogLi9jb25mdGVzdApjb25maWd1cmU6NDE0MzogJD8gPSAw
CmNvbmZpZ3VyZTo0MTU0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDE2NzogY2hlY2tpbmcgZm9y
IHN5cy90eXBlcy5oCmNvbmZpZ3VyZTo0MTY3OiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3Qt
YWxpYXNpbmcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MTY3OiAkPyA9IDAKY29uZmlndXJl
OjQxNjc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MTY3OiBjaGVja2luZyBmb3Igc3lzL3N0YXQu
aApjb25maWd1cmU6NDE2NzogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nICBj
b25mdGVzdC5jID4mNQpjb25maWd1cmU6NDE2NzogJD8gPSAwCmNvbmZpZ3VyZTo0MTY3OiByZXN1
bHQ6IHllcwpjb25maWd1cmU6NDE2NzogY2hlY2tpbmcgZm9yIHN0ZGxpYi5oCmNvbmZpZ3VyZTo0
MTY3OiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgIGNvbmZ0ZXN0LmMgPiY1
CmNvbmZpZ3VyZTo0MTY3OiAkPyA9IDAKY29uZmlndXJlOjQxNjc6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZTo0MTY3OiBjaGVja2luZyBmb3Igc3RyaW5nLmgKY29uZmlndXJlOjQxNjc6IGNjIC1jIC1P
MiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQx
Njc6ICQ/ID0gMApjb25maWd1cmU6NDE2NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQxNjc6IGNo
ZWNraW5nIGZvciBtZW1vcnkuaApjb25maWd1cmU6NDE2NzogY2MgLWMgLU8yIC1waXBlIC1mbm8t
c3RyaWN0LWFsaWFzaW5nICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDE2NzogJD8gPSAwCmNv
bmZpZ3VyZTo0MTY3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDE2NzogY2hlY2tpbmcgZm9yIHN0
cmluZ3MuaApjb25maWd1cmU6NDE2NzogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFz
aW5nICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDE2NzogJD8gPSAwCmNvbmZpZ3VyZTo0MTY3
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDE2NzogY2hlY2tpbmcgZm9yIGludHR5cGVzLmgKY29u
ZmlndXJlOjQxNjc6IGNjIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAgY29uZnRl
c3QuYyA+JjUKY29uZmlndXJlOjQxNjc6ICQ/ID0gMApjb25maWd1cmU6NDE2NzogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjQxNjc6IGNoZWNraW5nIGZvciBzdGRpbnQuaApjb25maWd1cmU6NDE2Nzog
Y2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nICBjb25mdGVzdC5jID4mNQpjb25m
aWd1cmU6NDE2NzogJD8gPSAwCmNvbmZpZ3VyZTo0MTY3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6
NDE2NzogY2hlY2tpbmcgZm9yIHVuaXN0ZC5oCmNvbmZpZ3VyZTo0MTY3OiBjYyAtYyAtTzIgLXBp
cGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MTY3OiAk
PyA9IDAKY29uZmlndXJlOjQxNjc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MTc5OiBjaGVja2lu
ZyBmb3IgY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzk5CmNvbmZpZ3VyZTo0MzI4OiBjYyAgLWMg
LU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j
OjcxOiBlcnJvcjogZXhwZWN0ZWQgJzsnLCAnLCcgb3IgJyknIGJlZm9yZSAndGV4dCcKY29uZnRl
c3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEyNTogZXJyb3I6IGV4cGVjdGVk
ICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ25ld3ZhcicK
Y29uZnRlc3QuYzoxMjU6IGVycm9yOiAnbmV3dmFyJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4g
dGhpcyBmdW5jdGlvbikKY29uZnRlc3QuYzoxMjU6IGVycm9yOiAoRWFjaCB1bmRlY2xhcmVkIGlk
ZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlCmNvbmZ0ZXN0LmM6MTI1OiBlcnJvcjogZm9y
IGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbi4pCmNvbmZ0ZXN0LmM6MTM1OiBlcnJvcjogJ2Zv
cicgbG9vcCBpbml0aWFsIGRlY2xhcmF0aW9uIHVzZWQgb3V0c2lkZSBDOTkgbW9kZQpjb25maWd1
cmU6NDMyODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk
ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAic2Vzc3JlZyIKfCAjZGVmaW5lIFBBQ0tB
R0VfVEFSTkFNRSAic2Vzc3JlZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMS4wLjUiCnwg
I2RlZmluZSBQQUNLQUdFX1NUUklORyAic2Vzc3JlZyAxLjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0Vf
QlVHUkVQT1JUICJodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL2VudGVyX2J1Zy5jZ2k/cHJv
ZHVjdD14b3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgInNl
c3NyZWciCnwgI2RlZmluZSBWRVJTSU9OICIxLjAuNSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx
CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx
CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk
ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu
ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI
QVZFX1VOSVNURF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGFy
Zy5oPgp8ICNpbmNsdWRlIDxzdGRib29sLmg+CnwgI2luY2x1ZGUgPHN0ZGxpYi5oPgp8ICNpbmNs
dWRlIDx3Y2hhci5oPgp8ICNpbmNsdWRlIDxzdGRpby5oPgp8IAp8IC8vIENoZWNrIHZhcmFyZ3Mg
bWFjcm9zLiAgVGhlc2UgZXhhbXBsZXMgYXJlIHRha2VuIGZyb20gQzk5IDYuMTAuMy41Lgp8ICNk
ZWZpbmUgZGVidWcoLi4uKSBmcHJpbnRmIChzdGRlcnIsIF9fVkFfQVJHU19fKQp8ICNkZWZpbmUg
c2hvd2xpc3QoLi4uKSBwdXRzICgjX19WQV9BUkdTX18pCnwgI2RlZmluZSByZXBvcnQodGVzdCwu
Li4pICgodGVzdCkgPyBwdXRzICgjdGVzdCkgOiBwcmludGYgKF9fVkFfQVJHU19fKSkKfCBzdGF0
aWMgdm9pZAp8IHRlc3RfdmFyYXJnc19tYWNyb3MgKHZvaWQpCnwgewp8ICAgaW50IHggPSAxMjM0
Owp8ICAgaW50IHkgPSA1Njc4Owp8ICAgZGVidWcgKCJGbGFnIik7CnwgICBkZWJ1ZyAoIlggPSAl
ZFxuIiwgeCk7CnwgICBzaG93bGlzdCAoVGhlIGZpcnN0LCBzZWNvbmQsIGFuZCB0aGlyZCBpdGVt
cy4pOwp8ICAgcmVwb3J0ICh4PnksICJ4IGlzICVkIGJ1dCB5IGlzICVkIiwgeCwgeSk7CnwgfQp8
IAp8IC8vIENoZWNrIGxvbmcgbG9uZyB0eXBlcy4KfCAjZGVmaW5lIEJJRzY0IDE4NDQ2NzQ0MDcz
NzA5NTUxNjE1dWxsCnwgI2RlZmluZSBCSUczMiA0Mjk0OTY3Mjk1dWwKfCAjZGVmaW5lIEJJR19P
SyAoQklHNjQgLyBCSUczMiA9PSA0Mjk0OTY3Mjk3dWxsICYmIEJJRzY0ICUgQklHMzIgPT0gMCkK
fCAjaWYgIUJJR19PSwp8ICAgeW91ciBwcmVwcm9jZXNzb3IgaXMgYnJva2VuOwp8ICNlbmRpZgp8
ICNpZiBCSUdfT0sKfCAjZWxzZQp8ICAgeW91ciBwcmVwcm9jZXNzb3IgaXMgYnJva2VuOwp8ICNl
bmRpZgp8IHN0YXRpYyBsb25nIGxvbmcgaW50IGJpZ251bSA9IC05MjIzMzcyMDM2ODU0Nzc1ODA3
TEw7Cnwgc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgdWJpZ251bSA9IEJJRzY0Owp8IAp8
IHN0cnVjdCBpbmNvbXBsZXRlX2FycmF5Cnwgewp8ICAgaW50IGRhdGFzaXplOwp8ICAgZG91Ymxl
IGRhdGFbXTsKfCB9Owp8IAp8IHN0cnVjdCBuYW1lZF9pbml0IHsKfCAgIGludCBudW1iZXI7Cnwg
ICBjb25zdCB3Y2hhcl90ICpuYW1lOwp8ICAgZG91YmxlIGF2ZXJhZ2U7CnwgfTsKfCAKfCB0eXBl
ZGVmIGNvbnN0IGNoYXIgKmNjcDsKfCAKfCBzdGF0aWMgaW5saW5lIGludAp8IHRlc3RfcmVzdHJp
Y3QgKGNjcCByZXN0cmljdCB0ZXh0KQp8IHsKfCAgIC8vIFNlZSBpZiBDKystc3R5bGUgY29tbWVu
dHMgd29yay4KfCAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBpdGVtcyB2aWEgdGhlIHJlc3RyaWN0ZWQg
cG9pbnRlci4KfCAgIC8vIEFsc28gY2hlY2sgZm9yIGRlY2xhcmF0aW9ucyBpbiBmb3IgbG9vcHMu
CnwgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgKih0ZXh0K2kpICE9ICdcMCc7ICsraSkKfCAg
ICAgY29udGludWU7CnwgICByZXR1cm4gMDsKfCB9CnwgCnwgLy8gQ2hlY2sgdmFyYXJncyBhbmQg
dmFfY29weS4KfCBzdGF0aWMgdm9pZAp8IHRlc3RfdmFyYXJncyAoY29uc3QgY2hhciAqZm9ybWF0
LCAuLi4pCnwgewp8ICAgdmFfbGlzdCBhcmdzOwp8ICAgdmFfc3RhcnQgKGFyZ3MsIGZvcm1hdCk7
CnwgICB2YV9saXN0IGFyZ3NfY29weTsKfCAgIHZhX2NvcHkgKGFyZ3NfY29weSwgYXJncyk7Cnwg
CnwgICBjb25zdCBjaGFyICpzdHI7CnwgICBpbnQgbnVtYmVyOwp8ICAgZmxvYXQgZm51bWJlcjsK
fCAKfCAgIHdoaWxlICgqZm9ybWF0KQp8ICAgICB7CnwgICAgICAgc3dpdGNoICgqZm9ybWF0Kysp
CnwgCXsKfCAJY2FzZSAncyc6IC8vIHN0cmluZwp8IAkgIHN0ciA9IHZhX2FyZyAoYXJnc19jb3B5
LCBjb25zdCBjaGFyICopOwp8IAkgIGJyZWFrOwp8IAljYXNlICdkJzogLy8gaW50CnwgCSAgbnVt
YmVyID0gdmFfYXJnIChhcmdzX2NvcHksIGludCk7CnwgCSAgYnJlYWs7CnwgCWNhc2UgJ2YnOiAv
LyBmbG9hdAp8IAkgIGZudW1iZXIgPSB2YV9hcmcgKGFyZ3NfY29weSwgZG91YmxlKTsKfCAJICBi
cmVhazsKfCAJZGVmYXVsdDoKfCAJICBicmVhazsKfCAJfQp8ICAgICB9CnwgICB2YV9lbmQgKGFy
Z3NfY29weSk7CnwgICB2YV9lbmQgKGFyZ3MpOwp8IH0KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8
IAp8ICAgLy8gQ2hlY2sgYm9vbC4KfCAgIF9Cb29sIHN1Y2Nlc3MgPSBmYWxzZTsKfCAKfCAgIC8v
IENoZWNrIHJlc3RyaWN0Lgp8ICAgaWYgKHRlc3RfcmVzdHJpY3QgKCJTdHJpbmcgbGl0ZXJhbCIp
ID09IDApCnwgICAgIHN1Y2Nlc3MgPSB0cnVlOwp8ICAgY2hhciAqcmVzdHJpY3QgbmV3dmFyID0g
IkFub3RoZXIgc3RyaW5nIjsKfCAKfCAgIC8vIENoZWNrIHZhcmFyZ3MuCnwgICB0ZXN0X3ZhcmFy
Z3MgKCJzLCBkJyBmIC4iLCAic3RyaW5nIiwgNjUsIDM0LjIzNCk7CnwgICB0ZXN0X3ZhcmFyZ3Nf
bWFjcm9zICgpOwp8IAp8ICAgLy8gQ2hlY2sgZmxleGlibGUgYXJyYXkgbWVtYmVycy4KfCAgIHN0
cnVjdCBpbmNvbXBsZXRlX2FycmF5ICppYSA9CnwgICAgIG1hbGxvYyAoc2l6ZW9mIChzdHJ1Y3Qg
aW5jb21wbGV0ZV9hcnJheSkgKyAoc2l6ZW9mIChkb3VibGUpICogMTApKTsKfCAgIGlhLT5kYXRh
c2l6ZSA9IDEwOwp8ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBpYS0+ZGF0YXNpemU7ICsraSkKfCAg
ICAgaWEtPmRhdGFbaV0gPSBpICogMS4yMzQ7CnwgCnwgICAvLyBDaGVjayBuYW1lZCBpbml0aWFs
aXplcnMuCnwgICBzdHJ1Y3QgbmFtZWRfaW5pdCBuaSA9IHsKfCAgICAgLm51bWJlciA9IDM0LAp8
ICAgICAubmFtZSA9IEwiVGVzdCB3aWRlIHN0cmluZyIsCnwgICAgIC5hdmVyYWdlID0gNTQzLjM0
MzQzLAp8ICAgfTsKfCAKfCAgIG5pLm51bWJlciA9IDU4Owp8IAp8ICAgaW50IGR5bmFtaWNfYXJy
YXlbbmkubnVtYmVyXTsKfCAgIGR5bmFtaWNfYXJyYXlbbmkubnVtYmVyIC0gMV0gPSA1NDM7Cnwg
CnwgICAvLyB3b3JrIGFyb3VuZCB1bnVzZWQgdmFyaWFibGUgd2FybmluZ3MKfCAgIHJldHVybiAo
IXN1Y2Nlc3MgfHwgYmlnbnVtID09IDBMTCB8fCB1YmlnbnVtID09IDB1TEwgfHwgbmV3dmFyWzBd
ID09ICd4Jwp8IAkgIHx8IGR5bmFtaWNfYXJyYXlbbmkubnVtYmVyIC0gMV0gIT0gNTQzKTsKfCAK
fCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjQzMjg6IGNjIC1zdGQ9Z251OTkgLWMg
LU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6
NDMyODogJD8gPSAwCmNvbmZpZ3VyZTo0MzQ4OiByZXN1bHQ6IC1zdGQ9Z251OTkKY29uZmlndXJl
OjQ0MDk6IGNoZWNraW5nIGZvciBwa2ctY29uZmlnCmNvbmZpZ3VyZTo0NDI3OiBmb3VuZCAvdXNy
L2xvY2FsL2Jpbi9wa2ctY29uZmlnCmNvbmZpZ3VyZTo0NDM5OiByZXN1bHQ6IC91c3IvbG9jYWwv
YmluL3BrZy1jb25maWcKY29uZmlndXJlOjQ0NjQ6IGNoZWNraW5nIHBrZy1jb25maWcgaXMgYXQg
bGVhc3QgdmVyc2lvbiAwLjkuMApjb25maWd1cmU6NDQ2NzogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjQ0Nzk6IGNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlCmNvbmZpZ3VyZTo0NDkzOiByZXN1bHQ6
IGFtZDY0LXBvcnRibGQtZnJlZWJzZDguMQpjb25maWd1cmU6NDUxMzogY2hlY2tpbmcgaG9zdCBz
eXN0ZW0gdHlwZQpjb25maWd1cmU6NDUyNjogcmVzdWx0OiBhbWQ2NC1wb3J0YmxkLWZyZWVic2Q4
LjEKY29uZmlndXJlOjQ3NDI6IGNoZWNraW5nIGxhc3Rsb2cuaCB1c2FiaWxpdHkKY29uZmlndXJl
OjQ3NDI6IGNjIC1zdGQ9Z251OTkgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nICBj
b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjU3OjIxOiBlcnJvcjogbGFzdGxvZy5oOiBObyBzdWNo
IGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo0NzQyOiAkPyA9IDEKY29uZmlndXJlOiBmYWls
ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F
ICJzZXNzcmVnIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJzZXNzcmVnIgp8ICNkZWZpbmUg
UEFDS0FHRV9WRVJTSU9OICIxLjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJzZXNzcmVn
IDEuMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHBzOi8vYnVncy5mcmVlZGVz
a3RvcC5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PXhvcmciCnwgI2RlZmluZSBQQUNLQUdFX1VS
TCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAic2Vzc3JlZyIKfCAjZGVmaW5lIFZFUlNJT04gIjEuMC41
Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8
ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l
IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI
QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgUEFDS0FH
RV9WRVJTSU9OX01BSk9SIDEKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTl9NSU5PUiAwCnwgI2Rl
ZmluZSBQQUNLQUdFX1ZFUlNJT05fUEFUQ0hMRVZFTCA1CnwgLyogZW5kIGNvbmZkZWZzLmguICAq
Lwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNs
dWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBp
bmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGlu
Y2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVm
IEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlm
CnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBk
ZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwg
IyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAj
IGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwg
IyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwg
IyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMg
aW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPGxhc3Rsb2cuaD4KY29uZmln
dXJlOjQ3NDI6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ3NDI6IGNoZWNraW5nIGxhc3Rsb2cuaCBw
cmVzZW5jZQpjb25maWd1cmU6NDc0MjogY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoyNDoy
MTogZXJyb3I6IGxhc3Rsb2cuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6
NDc0MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz
LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAic2Vzc3JlZyIKfCAjZGVmaW5lIFBBQ0tBR0Vf
VEFSTkFNRSAic2Vzc3JlZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMS4wLjUiCnwgI2Rl
ZmluZSBQQUNLQUdFX1NUUklORyAic2Vzc3JlZyAxLjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH
UkVQT1JUICJodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVj
dD14b3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgInNlc3Ny
ZWciCnwgI2RlZmluZSBWRVJTSU9OICIxLjAuNSIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg
I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg
I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp
bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI
QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF
X1VOSVNURF9IIDEKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTl9NQUpPUiAxCnwgI2RlZmluZSBQ
QUNLQUdFX1ZFUlNJT05fTUlOT1IgMAp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OX1BBVENITEVW
RUwgNQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8bGFzdGxvZy5oPgpjb25m
aWd1cmU6NDc0MjogcmVzdWx0OiBubwpjb25maWd1cmU6NDc0MjogY2hlY2tpbmcgZm9yIGxhc3Rs
b2cuaApjb25maWd1cmU6NDc0MjogcmVzdWx0OiBubwpjb25maWd1cmU6NDc0MjogY2hlY2tpbmcg
dXRtcC5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDc0MjogY2MgLXN0ZD1nbnU5OSAtYyAtTzIgLXBp
cGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0NzQyOiAk
PyA9IDAKY29uZmlndXJlOjQ3NDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NzQyOiBjaGVja2lu
ZyB1dG1wLmggcHJlc2VuY2UKY29uZmlndXJlOjQ3NDI6IGNjIC1FICBjb25mdGVzdC5jCmNvbmZp
Z3VyZTo0NzQyOiAkPyA9IDAKY29uZmlndXJlOjQ3NDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0
NzQyOiBjaGVja2luZyBmb3IgdXRtcC5oCmNvbmZpZ3VyZTo0NzQyOiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6NDc0MjogY2hlY2tpbmcgdXRtcHguaCB1c2FiaWxpdHkKY29uZmlndXJlOjQ3NDI6IGNj
IC1zdGQ9Z251OTkgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nICBjb25mdGVzdC5j
ID4mNQpjb25maWd1cmU6NDc0MjogJD8gPSAwCmNvbmZpZ3VyZTo0NzQyOiByZXN1bHQ6IHllcwpj
b25maWd1cmU6NDc0MjogY2hlY2tpbmcgdXRtcHguaCBwcmVzZW5jZQpjb25maWd1cmU6NDc0Mjog
Y2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQ3NDI6ICQ/ID0gMApjb25maWd1cmU6NDc0Mjog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ3NDI6IGNoZWNraW5nIGZvciB1dG1weC5oCmNvbmZpZ3Vy
ZTo0NzQyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDc0MjogY2hlY2tpbmcgc3lzL3BhcmFtLmgg
dXNhYmlsaXR5CmNvbmZpZ3VyZTo0NzQyOiBjYyAtc3RkPWdudTk5IC1jIC1PMiAtcGlwZSAtZm5v
LXN0cmljdC1hbGlhc2luZyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ3NDI6ICQ/ID0gMApj
b25maWd1cmU6NDc0MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ3NDI6IGNoZWNraW5nIHN5cy9w
YXJhbS5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0NzQyOiBjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1
cmU6NDc0MjogJD8gPSAwCmNvbmZpZ3VyZTo0NzQyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDc0
MjogY2hlY2tpbmcgZm9yIHN5cy9wYXJhbS5oCmNvbmZpZ3VyZTo0NzQyOiByZXN1bHQ6IHllcwpj
b25maWd1cmU6NDc1MjogY2hlY2tpbmcgZm9yIHN0cnVjdCB1dG1weC51dF9zeXNsZW4KY29uZmln
dXJlOjQ3NTI6IGNjIC1zdGQ9Z251OTkgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5n
ICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0
LmM6MzM6IGVycm9yOiAnc3RydWN0IHV0bXB4JyBoYXMgbm8gbWVtYmVyIG5hbWVkICd1dF9zeXNs
ZW4nCmNvbmZpZ3VyZTo0NzUyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6
CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJzZXNzcmVnIgp8ICNk
ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJzZXNzcmVnIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O
ICIxLjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJzZXNzcmVnIDEuMC41Igp8ICNkZWZp
bmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvZW50ZXJf
YnVnLmNnaT9wcm9kdWN0PXhvcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg
UEFDS0FHRSAic2Vzc3JlZyIKfCAjZGVmaW5lIFZFUlNJT04gIjEuMC41Igp8ICNkZWZpbmUgU1RE
Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ
TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I
IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK
fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OX01BSk9S
IDEKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTl9NSU5PUiAwCnwgI2RlZmluZSBQQUNLQUdFX1ZF
UlNJT05fUEFUQ0hMRVZFTCA1CnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZF
X1VUTVBYX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgLyogZW5kIGNvbmZkZWZz
LmguICAqLwp8ICNpbmNsdWRlIDx1dG1weC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3Rh
dGljIHN0cnVjdCB1dG1weCBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnV0X3N5c2xlbikKfCByZXR1
cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjQ3NTI6IGNjIC1zdGQ9Z251
OTkgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nICBjb25mdGVzdC5jID4mNQpjb25m
dGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MzM6IGVycm9yOiAnc3RydWN0
IHV0bXB4JyBoYXMgbm8gbWVtYmVyIG5hbWVkICd1dF9zeXNsZW4nCmNvbmZpZ3VyZTo0NzUyOiAk
PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8
ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJzZXNzcmVnIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F
ICJzZXNzcmVnIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxLjAuNSIKfCAjZGVmaW5lIFBB
Q0tBR0VfU1RSSU5HICJzZXNzcmVnIDEuMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg
Imh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PXhvcmci
CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAic2Vzc3JlZyIKfCAj
ZGVmaW5lIFZFUlNJT04gIjEuMC41Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l
IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U
VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE
X0ggMQp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OX01BSk9SIDEKfCAjZGVmaW5lIFBBQ0tBR0Vf
VkVSU0lPTl9NSU5PUiAwCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT05fUEFUQ0hMRVZFTCA1Cnwg
I2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBYX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfUEFSQU1fSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDx1
dG1weC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCB1dG1weCBhY19h
Z2dyOwp8IGlmIChzaXplb2YgYWNfYWdnci51dF9zeXNsZW4pCnwgcmV0dXJuIDA7CnwgICA7Cnwg
ICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo0NzUyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0NzY4
OiBjaGVja2luZyBmb3IgdXBkd3RtcHgKY29uZmlndXJlOjQ3Njg6IGNjIC1zdGQ9Z251OTkgLW8g
Y29uZnRlc3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nICAgY29uZnRlc3QuYyAgPiY1
Ci90bXAvY2M4b1lIdUUubygudGV4dCsweDcpOiBJbiBmdW5jdGlvbiBgbWFpbic6CjogdW5kZWZp
bmVkIHJlZmVyZW5jZSB0byBgdXBkd3RtcHgnCmNvbmZpZ3VyZTo0NzY4OiAkPyA9IDEKY29uZmln
dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD
S0FHRV9OQU1FICJzZXNzcmVnIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJzZXNzcmVnIgp8
ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIxLjAuNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H
ICJzZXNzcmVnIDEuMC41Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHBzOi8vYnVn
cy5mcmVlZGVza3RvcC5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PXhvcmciCnwgI2RlZmluZSBQ
QUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAic2Vzc3JlZyIKfCAjZGVmaW5lIFZFUlNJ
T04gIjEuMC41Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ
UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK
fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg
I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp
bmUgUEFDS0FHRV9WRVJTSU9OX01BSk9SIDEKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTl9NSU5P
UiAwCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT05fUEFUQ0hMRVZFTCA1CnwgI2RlZmluZSBIQVZF
X1VUTVBfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBYX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFS
QU1fSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBYX1VUX1NZU0xFTiAwCnwgLyogZW5kIGNvbmZkZWZz
LmguICAqLwp8IC8qIERlZmluZSB1cGR3dG1weCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4g
Y2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHVwZHd0bXB4Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1V
WCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgdXBk
d3RtcHggaW5ub2N1b3VzX3VwZHd0bXB4CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUg
X19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBj
YW4gY29uZmxpY3Qgd2l0aCBjaGFyIHVwZHd0bXB4ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxs
aW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAg
ICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8
IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGlu
Y2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiB1cGR3dG1weAp8IAp8IC8qIE92
ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAg
IFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdD
Qwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGls
bCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8
IGNoYXIgdXBkd3RtcHggKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZv
ciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRo
IEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhp
bmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8K
fCAjaWYgZGVmaW5lZCBfX3N0dWJfdXBkd3RtcHggfHwgZGVmaW5lZCBfX3N0dWJfX191cGR3dG1w
eAp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gdXBk
d3RtcHggKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo0NzY4OiByZXN1bHQ6
IG5vCmNvbmZpZ3VyZTo0NzY4OiBjaGVja2luZyBmb3IgdXRtcHhuYW1lCmNvbmZpZ3VyZTo0NzY4
OiBjYyAtc3RkPWdudTk5IC1vIGNvbmZ0ZXN0IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2lu
ZyAgIGNvbmZ0ZXN0LmMgID4mNQovdG1wL2NjWWc3eG9hLm8oLnRleHQrMHg3KTogSW4gZnVuY3Rp
b24gYG1haW4nOgo6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHV0bXB4bmFtZScKY29uZmlndXJl
OjQ3Njg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm
cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgInNlc3NyZWciCnwgI2RlZmluZSBQQUNLQUdF
X1RBUk5BTUUgInNlc3NyZWciCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjEuMC41Igp8ICNk
ZWZpbmUgUEFDS0FHRV9TVFJJTkcgInNlc3NyZWcgMS4wLjUiCnwgI2RlZmluZSBQQUNLQUdFX0JV
R1JFUE9SVCAiaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1
Y3Q9eG9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJzZXNz
cmVnIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS4wLjUiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8
ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm
aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg
SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW
RV9VTklTVERfSCAxCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT05fTUFKT1IgMQp8ICNkZWZpbmUg
UEFDS0FHRV9WRVJTSU9OX01JTk9SIDAKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTl9QQVRDSExF
VkVMIDUKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUFhfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUFhfVVRfU1lTTEVO
IDAKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHV0bXB4bmFtZSB0byBhbiBp
bm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHV0bXB4bmFtZS4K
fCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9m
ZGF5LiAgKi8KfCAjZGVmaW5lIHV0bXB4bmFtZSBpbm5vY3VvdXNfdXRtcHhuYW1lCnwgCnwgLyog
U3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBw
cm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHV0bXB4bmFtZSAo
KTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERD
X18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVl
c3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUg
PGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAj
dW5kZWYgdXRtcHhuYW1lCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5
cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0
Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJn
dW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3Bs
dXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciB1dG1weG5hbWUgKCk7CnwgLyogVGhlIEdO
VSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50
cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBh
Y3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5v
cm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfdXRtcHhuYW1l
IHx8IGRlZmluZWQgX19zdHViX19fdXRtcHhuYW1lCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBp
bnQKfCBtYWluICgpCnwgewp8IHJldHVybiB1dG1weG5hbWUgKCk7CnwgICA7CnwgICByZXR1cm4g
MDsKfCB9CmNvbmZpZ3VyZTo0NzY4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0Nzg1OiBjaGVja2lu
ZyBmb3Igc3BlY2lhbCBDIGNvbXBpbGVyIG9wdGlvbnMgbmVlZGVkIGZvciBsYXJnZSBmaWxlcwpj
b25maWd1cmU6NDgzMDogcmVzdWx0OiBubwpjb25maWd1cmU6NDgzNjogY2hlY2tpbmcgZm9yIF9G
SUxFX09GRlNFVF9CSVRTIHZhbHVlIG5lZWRlZCBmb3IgbGFyZ2UgZmlsZXMKY29uZmlndXJlOjQ4
NjE6IGNjIC1zdGQ9Z251OTkgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nICBjb25m
dGVzdC5jID4mNQpjb25maWd1cmU6NDg2MTogJD8gPSAwCmNvbmZpZ3VyZTo0ODkzOiByZXN1bHQ6
IG5vCmNvbmZpZ3VyZTo0OTgwOiBjaGVja2luZyBmb3IgU0VTU1JFRwpjb25maWd1cmU6NDk4Nzog
JFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmludC1lcnJvcnMgInhwcm90byIKY29uZmlndXJlOjQ5
OTA6ICQ/ID0gMApjb25maWd1cmU6NTAwMzogJFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmludC1l
cnJvcnMgInhwcm90byIKY29uZmlndXJlOjUwMDY6ICQ/ID0gMApjb25maWd1cmU6NTA2MzogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjUyMzI6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwoKIyMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBSdW5uaW5nIGNvbmZpZy5zdGF0dXMuICMjCiMjIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKClRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgc2Vzc3Jl
ZyBjb25maWcuc3RhdHVzIDEuMC41LCB3aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29u
ZiAyLjY3LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCgogIENPTkZJR19GSUxFUyAgICA9
IAogIENPTkZJR19IRUFERVJTICA9IAogIENPTkZJR19MSU5LUyAgICA9IAogIENPTkZJR19DT01N
QU5EUyA9IAogICQgLi9jb25maWcuc3RhdHVzIAoKb24gTWVsb24ubWFsaWthbmlhLmZyCgpjb25m
aWcuc3RhdHVzOjg5OTogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czo4OTk6IGNyZWF0
aW5nIGNvbmZpZy5oCmNvbmZpZy5zdGF0dXM6MTEyNzogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1h
bmRzCgojIyAtLS0tLS0tLS0tLS0tLS0tICMjCiMjIENhY2hlIHZhcmlhYmxlcy4gIyMKIyMgLS0t
LS0tLS0tLS0tLS0tLSAjIwoKYWNfY3ZfYnVpbGQ9YW1kNjQtcG9ydGJsZC1mcmVlYnNkOC4xCmFj
X2N2X2NfY29tcGlsZXJfZ251PXllcwphY19jdl9lbnZfQ0Nfc2V0PXNldAphY19jdl9lbnZfQ0Nf
dmFsdWU9Y2MKYWNfY3ZfZW52X0NGTEFHU19zZXQ9c2V0CmFjX2N2X2Vudl9DRkxBR1NfdmFsdWU9
Jy1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZycKYWNfY3ZfZW52X0NQUEZMQUdTX3NldD0n
JwphY19jdl9lbnZfQ1BQRkxBR1NfdmFsdWU9JycKYWNfY3ZfZW52X0NQUF9zZXQ9JycKYWNfY3Zf
ZW52X0NQUF92YWx1ZT0nJwphY19jdl9lbnZfTERGTEFHU19zZXQ9JycKYWNfY3ZfZW52X0xERkxB
R1NfdmFsdWU9JycKYWNfY3ZfZW52X0xJQlNfc2V0PScnCmFjX2N2X2Vudl9MSUJTX3ZhbHVlPScn
CmFjX2N2X2Vudl9QS0dfQ09ORklHX0xJQkRJUl9zZXQ9JycKYWNfY3ZfZW52X1BLR19DT05GSUdf
TElCRElSX3ZhbHVlPScnCmFjX2N2X2Vudl9QS0dfQ09ORklHX1BBVEhfc2V0PScnCmFjX2N2X2Vu
dl9QS0dfQ09ORklHX1BBVEhfdmFsdWU9JycKYWNfY3ZfZW52X1BLR19DT05GSUdfc2V0PScnCmFj
X2N2X2Vudl9QS0dfQ09ORklHX3ZhbHVlPScnCmFjX2N2X2Vudl9TRVNTUkVHX0NGTEFHU19zZXQ9
JycKYWNfY3ZfZW52X1NFU1NSRUdfQ0ZMQUdTX3ZhbHVlPScnCmFjX2N2X2Vudl9TRVNTUkVHX0xJ
QlNfc2V0PScnCmFjX2N2X2Vudl9TRVNTUkVHX0xJQlNfdmFsdWU9JycKYWNfY3ZfZW52X2J1aWxk
X2FsaWFzX3NldD1zZXQKYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3ZhbHVlPWFtZDY0LXBvcnRibGQt
ZnJlZWJzZDguMQphY19jdl9lbnZfaG9zdF9hbGlhc19zZXQ9JycKYWNfY3ZfZW52X2hvc3RfYWxp
YXNfdmFsdWU9JycKYWNfY3ZfZW52X3RhcmdldF9hbGlhc19zZXQ9JycKYWNfY3ZfZW52X3Rhcmdl
dF9hbGlhc192YWx1ZT0nJwphY19jdl9mdW5jX3VwZHd0bXB4PW5vCmFjX2N2X2Z1bmNfdXRtcHhu
YW1lPW5vCmFjX2N2X2hlYWRlcl9pbnR0eXBlc19oPXllcwphY19jdl9oZWFkZXJfbGFzdGxvZ19o
PW5vCmFjX2N2X2hlYWRlcl9tZW1vcnlfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGM9eWVzCmFjX2N2
X2hlYWRlcl9zdGRpbnRfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGxpYl9oPXllcwphY19jdl9oZWFk
ZXJfc3RyaW5nX2g9eWVzCmFjX2N2X2hlYWRlcl9zdHJpbmdzX2g9eWVzCmFjX2N2X2hlYWRlcl9z
eXNfcGFyYW1faD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19zdGF0X2g9eWVzCmFjX2N2X2hlYWRlcl9z
eXNfdHlwZXNfaD15ZXMKYWNfY3ZfaGVhZGVyX3VuaXN0ZF9oPXllcwphY19jdl9oZWFkZXJfdXRt
cF9oPXllcwphY19jdl9oZWFkZXJfdXRtcHhfaD15ZXMKYWNfY3ZfaG9zdD1hbWQ2NC1wb3J0Ymxk
LWZyZWVic2Q4LjEKYWNfY3ZfbWVtYmVyX3N0cnVjdF91dG1weF91dF9zeXNsZW49bm8KYWNfY3Zf
b2JqZXh0PW8KYWNfY3ZfcGF0aF9FR1JFUD0nL3Vzci9iaW4vZ3JlcCAtRScKYWNfY3ZfcGF0aF9H
UkVQPS91c3IvYmluL2dyZXAKYWNfY3ZfcGF0aF9hY19wdF9QS0dfQ09ORklHPS91c3IvbG9jYWwv
YmluL3BrZy1jb25maWcKYWNfY3ZfcHJvZ19BV0s9bmF3awphY19jdl9wcm9nX0NQUD0nY2MgLUUn
CmFjX2N2X3Byb2dfYWNfY3RfQ0M9Y2MKYWNfY3ZfcHJvZ19jY19jODk9JycKYWNfY3ZfcHJvZ19j
Y19jOTk9LXN0ZD1nbnU5OQphY19jdl9wcm9nX2NjX2c9eWVzCmFjX2N2X3Byb2dfbWFrZV9tYWtl
X3NldD15ZXMKYWNfY3Zfc3lzX2ZpbGVfb2Zmc2V0X2JpdHM9bm8KYWNfY3Zfc3lzX2xhcmdlZmls
ZV9DQz1ubwphbV9jdl9DQ19kZXBlbmRlbmNpZXNfY29tcGlsZXJfdHlwZT1nY2MzCmx0X2N2X3N5
c19tYXhfY21kX2xlbj0yNjIxNDQKcGtnX2N2X1NFU1NSRUdfQ0ZMQUdTPSctSS91c3IvbG9jYWwv
aW5jbHVkZSAgJwpwa2dfY3ZfU0VTU1JFR19MSUJTPScgJwoKIyMgLS0tLS0tLS0tLS0tLS0tLS0g
IyMKIyMgT3V0cHV0IHZhcmlhYmxlcy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKCkFDTE9D
QUw9Jy91c3IvbG9jYWwvYmluL2FjbG9jYWwtMS4xMCcKQURNSU5fTUFOX0RJUj0nJChtYW5kaXIp
L21hbiQoQURNSU5fTUFOX1NVRkZJWCknCkFETUlOX01BTl9TVUZGSVg9JzgnCkFNREVQQkFDS1NM
QVNIPSdcJwpBTURFUF9GQUxTRT0nIycKQU1ERVBfVFJVRT0nJwpBTVRBUj0nJHtTSEVMTH0gL3Vz
ci9vYmovdXNyL3BvcnRzL3gxMS9zZXNzcmVnL3dvcmsvc2Vzc3JlZy0xLjAuNS9taXNzaW5nIC0t
cnVuIHRhcicKQVBQX01BTl9ESVI9JyQobWFuZGlyKS9tYW4kKEFQUF9NQU5fU1VGRklYKScKQVBQ
X01BTl9TVUZGSVg9JzEnCkFVVE9DT05GPScvdXNyL2xvY2FsL2Jpbi9hdXRvY29uZi0yLjY3JwpB
VVRPSEVBREVSPScvdXNyL2xvY2FsL2Jpbi9hdXRvaGVhZGVyLTIuNjcnCkFVVE9NQUtFPScvdXNy
L2xvY2FsL2Jpbi9hdXRvbWFrZS0xLjEwJwpBV0s9J25hd2snCkNDPSdjYyAtc3RkPWdudTk5JwpD
Q0RFUE1PREU9J2RlcG1vZGU9Z2NjMycKQ0ZMQUdTPSctTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxp
YXNpbmcnCkNIQU5HRUxPR19DTUQ9JyhHSVRfRElSPSQodG9wX3NyY2RpcikvLmdpdCBnaXQgbG9n
ID4gJCh0b3Bfc3JjZGlyKS8uY2hhbmdlbG9nLnRtcCAmJiBtdiAkKHRvcF9zcmNkaXIpLy5jaGFu
Z2Vsb2cudG1wICQodG9wX3NyY2RpcikvQ2hhbmdlTG9nKSB8fCAocm0gLWYgJCh0b3Bfc3JjZGly
KS8uY2hhbmdlbG9nLnRtcDsgdG91Y2ggJCh0b3Bfc3JjZGlyKS9DaGFuZ2VMb2c7IGVjaG8gJ1wn
J2dpdCBkaXJlY3Rvcnkgbm90IGZvdW5kOiBpbnN0YWxsaW5nIHBvc3NpYmx5IGVtcHR5IGNoYW5n
ZWxvZy4nXCcnID4mMiknCkNQUD0nY2MgLUUnCkNQUEZMQUdTPScnCkNXQVJORkxBR1M9Jy1XYWxs
IC1XcG9pbnRlci1hcml0aCAtV3N0cmljdC1wcm90b3R5cGVzIC1XbWlzc2luZy1wcm90b3R5cGVz
IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVduZXN0ZWQtZXh0ZXJucyAtZm5vLXN0cmljdC1hbGlh
c2luZyAtV2JhZC1mdW5jdGlvbi1jYXN0IC1XZm9ybWF0PTIgLVdvbGQtc3R5bGUtZGVmaW5pdGlv
biAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAnCkNZR1BBVEhfVz0nZWNobycKREVGUz0n
LURIQVZFX0NPTkZJR19IJwpERVBESVI9Jy5kZXBzJwpEUklWRVJfTUFOX0RJUj0nJChtYW5kaXIp
L21hbiQoRFJJVkVSX01BTl9TVUZGSVgpJwpEUklWRVJfTUFOX1NVRkZJWD0nNCcKRUNIT19DPScn
CkVDSE9fTj0nLW4nCkVDSE9fVD0nJwpFR1JFUD0nL3Vzci9iaW4vZ3JlcCAtRScKRVhFRVhUPScn
CkZJTEVfTUFOX0RJUj0nJChtYW5kaXIpL21hbiQoRklMRV9NQU5fU1VGRklYKScKRklMRV9NQU5f
U1VGRklYPSc1JwpHUkVQPScvdXNyL2Jpbi9ncmVwJwpJTlNUQUxMX0NNRD0nKGNwIC1mIC91c3Iv
bG9jYWwvc2hhcmUvdXRpbC1tYWNyb3MvSU5TVEFMTCAkKHRvcF9zcmNkaXIpLy5JTlNUQUxMLnRt
cCAmJiBtdiAkKHRvcF9zcmNkaXIpLy5JTlNUQUxMLnRtcCAkKHRvcF9zcmNkaXIpL0lOU1RBTEwp
IHx8IChybSAtZiAkKHRvcF9zcmNkaXIpLy5JTlNUQUxMLnRtcDsgdG91Y2ggJCh0b3Bfc3JjZGly
KS9JTlNUQUxMOyBlY2hvICdcJyd1dGlsLW1hY3JvcyAicGtnZGF0YWRpciIgZnJvbSB4b3JnLW1h
Y3Jvcy5wYyBub3QgZm91bmQ6IGluc3RhbGxpbmcgcG9zc2libHkgZW1wdHkgSU5TVEFMTC4nXCcn
ID4mMiknCklOU1RBTExfREFUQT0naW5zdGFsbCAgLW8gcm9vdCAtZyB3aGVlbCAtbSA0NDQnCklO
U1RBTExfUFJPR1JBTT0naW5zdGFsbCAgLXMgLW8gcm9vdCAtZyB3aGVlbCAtbSA1NTUnCklOU1RB
TExfU0NSSVBUPSdpbnN0YWxsICAtbyByb290IC1nIHdoZWVsIC1tIDU1NScKSU5TVEFMTF9TVFJJ
UF9QUk9HUkFNPSckKGluc3RhbGxfc2gpIC1jIC1zJwpMREZMQUdTPScnCkxJQk9CSlM9JycKTElC
Uz0nJwpMSUJfTUFOX0RJUj0nJChtYW5kaXIpL21hbiQoTElCX01BTl9TVUZGSVgpJwpMSUJfTUFO
X1NVRkZJWD0nMycKTElOVD0nbm8nCkxJTlRfRkFMU0U9JycKTElOVF9GTEFHUz0nJwpMSU5UX1RS
VUU9JyMnCkxUTElCT0JKUz0nJwpNQUlOVD0nIycKTUFJTlRBSU5FUl9NT0RFX0ZBTFNFPScnCk1B
SU5UQUlORVJfTU9ERV9UUlVFPScjJwpNQUtFSU5GTz0nJHtTSEVMTH0gL3Vzci9vYmovdXNyL3Bv
cnRzL3gxMS9zZXNzcmVnL3dvcmsvc2Vzc3JlZy0xLjAuNS9taXNzaW5nIC0tcnVuIG1ha2VpbmZv
JwpNSVNDX01BTl9ESVI9JyQobWFuZGlyKS9tYW4kKE1JU0NfTUFOX1NVRkZJWCknCk1JU0NfTUFO
X1NVRkZJWD0nNycKTUtESVJfUD0nLi9pbnN0YWxsLXNoIC1jIC1kJwpPQkpFWFQ9J28nClBBQ0tB
R0U9J3Nlc3NyZWcnClBBQ0tBR0VfQlVHUkVQT1JUPSdodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Au
b3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD14b3JnJwpQQUNLQUdFX05BTUU9J3Nlc3NyZWcnClBB
Q0tBR0VfU1RSSU5HPSdzZXNzcmVnIDEuMC41JwpQQUNLQUdFX1RBUk5BTUU9J3Nlc3NyZWcnClBB
Q0tBR0VfVVJMPScnClBBQ0tBR0VfVkVSU0lPTj0nMS4wLjUnClBBVEhfU0VQQVJBVE9SPSc6JwpQ
S0dfQ09ORklHPScvdXNyL2xvY2FsL2Jpbi9wa2ctY29uZmlnJwpQS0dfQ09ORklHX0xJQkRJUj0n
JwpQS0dfQ09ORklHX1BBVEg9JycKU0VTU1JFR19DRkxBR1M9Jy1JL3Vzci9sb2NhbC9pbmNsdWRl
ICAnClNFU1NSRUdfTElCUz0nICcKU0VUX01BS0U9JycKU0hFTEw9Jy9iaW4vc2gnClNUUklQPScn
ClZFUlNJT049JzEuMC41JwphY19jdF9DQz0nY2MnCmFtX19mYXN0ZGVwQ0NfRkFMU0U9JyMnCmFt
X19mYXN0ZGVwQ0NfVFJVRT0nJwphbV9faW5jbHVkZT0naW5jbHVkZScKYW1fX2lzcmM9JycKYW1f
X2xlYWRpbmdfZG90PScuJwphbV9fcXVvdGU9JycKYW1fX3Rhcj0nJHtBTVRBUn0gY2hvZiAtICIk
JHRhcmRpciInCmFtX191bnRhcj0nJHtBTVRBUn0geGYgLScKYmluZGlyPScke2V4ZWNfcHJlZml4
fS9iaW4nCmJ1aWxkPSdhbWQ2NC1wb3J0YmxkLWZyZWVic2Q4LjEnCmJ1aWxkX2FsaWFzPSdhbWQ2
NC1wb3J0YmxkLWZyZWVic2Q4LjEnCmJ1aWxkX2NwdT0nYW1kNjQnCmJ1aWxkX29zPSdmcmVlYnNk
OC4xJwpidWlsZF92ZW5kb3I9J3BvcnRibGQnCmRhdGFkaXI9JyR7ZGF0YXJvb3RkaXJ9JwpkYXRh
cm9vdGRpcj0nJHtwcmVmaXh9L3NoYXJlJwpkb2NkaXI9JyR7ZGF0YXJvb3RkaXJ9L2RvYy8ke1BB
Q0tBR0VfVEFSTkFNRX0nCmR2aWRpcj0nJHtkb2NkaXJ9JwpleGVjX3ByZWZpeD0nJHtwcmVmaXh9
Jwpob3N0PSdhbWQ2NC1wb3J0YmxkLWZyZWVic2Q4LjEnCmhvc3RfYWxpYXM9JycKaG9zdF9jcHU9
J2FtZDY0Jwpob3N0X29zPSdmcmVlYnNkOC4xJwpob3N0X3ZlbmRvcj0ncG9ydGJsZCcKaHRtbGRp
cj0nJHtkb2NkaXJ9JwppbmNsdWRlZGlyPScke3ByZWZpeH0vaW5jbHVkZScKaW5mb2Rpcj0nL3Vz
ci9sb2NhbC9pbmZvJwppbnN0YWxsX3NoPSckKFNIRUxMKSAvdXNyL29iai91c3IvcG9ydHMveDEx
L3Nlc3NyZWcvd29yay9zZXNzcmVnLTEuMC41L2luc3RhbGwtc2gnCmxpYmRpcj0nJHtleGVjX3By
ZWZpeH0vbGliJwpsaWJleGVjZGlyPScke2V4ZWNfcHJlZml4fS9saWJleGVjJwpsb2NhbGVkaXI9
JyR7ZGF0YXJvb3RkaXJ9L2xvY2FsZScKbG9jYWxzdGF0ZWRpcj0nJHtwcmVmaXh9L3ZhcicKbWFu
ZGlyPScvdXNyL2xvY2FsL21hbicKbWtkaXJfcD0nJCh0b3BfYnVpbGRkaXIpLy4vaW5zdGFsbC1z
aCAtYyAtZCcKb2xkaW5jbHVkZWRpcj0nL3Vzci9pbmNsdWRlJwpwZGZkaXI9JyR7ZG9jZGlyfScK
cHJlZml4PScvdXNyL2xvY2FsJwpwcm9ncmFtX3RyYW5zZm9ybV9uYW1lPSdzLHgseCwnCnBzZGly
PScke2RvY2Rpcn0nCnNiaW5kaXI9JyR7ZXhlY19wcmVmaXh9L3NiaW4nCnNoYXJlZHN0YXRlZGly
PScke3ByZWZpeH0vY29tJwpzeXNjb25mZGlyPScke3ByZWZpeH0vZXRjJwp0YXJnZXRfYWxpYXM9
JycKCiMjIC0tLS0tLS0tLS0tICMjCiMjIGNvbmZkZWZzLmguICMjCiMjIC0tLS0tLS0tLS0tICMj
CgovKiBjb25mZGVmcy5oICovCiNkZWZpbmUgUEFDS0FHRV9OQU1FICJzZXNzcmVnIgojZGVmaW5l
IFBBQ0tBR0VfVEFSTkFNRSAic2Vzc3JlZyIKI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjEuMC41
IgojZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJzZXNzcmVnIDEuMC41IgojZGVmaW5lIFBBQ0tBR0Vf
QlVHUkVQT1JUICJodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL2VudGVyX2J1Zy5jZ2k/cHJv
ZHVjdD14b3JnIgojZGVmaW5lIFBBQ0tBR0VfVVJMICIiCiNkZWZpbmUgUEFDS0FHRSAic2Vzc3Jl
ZyIKI2RlZmluZSBWRVJTSU9OICIxLjAuNSIKI2RlZmluZSBTVERDX0hFQURFUlMgMQojZGVmaW5l
IEhBVkVfU1lTX1RZUEVTX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCiNkZWZpbmUgSEFW
RV9TVERMSUJfSCAxCiNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCiNkZWZpbmUgSEFWRV9NRU1PUllf
SCAxCiNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQojZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCiNk
ZWZpbmUgSEFWRV9TVERJTlRfSCAxCiNkZWZpbmUgSEFWRV9VTklTVERfSCAxCiNkZWZpbmUgUEFD
S0FHRV9WRVJTSU9OX01BSk9SIDEKI2RlZmluZSBQQUNLQUdFX1ZFUlNJT05fTUlOT1IgMAojZGVm
aW5lIFBBQ0tBR0VfVkVSU0lPTl9QQVRDSExFVkVMIDUKI2RlZmluZSBIQVZFX1VUTVBfSCAxCiNk
ZWZpbmUgSEFWRV9VVE1QWF9IIDEKI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKI2RlZmluZSBI
QVZFX1VUTVBYX1VUX1NZU0xFTiAwCgpjb25maWd1cmU6IGV4aXQgMAo=
--0016e6dab73f19fc380490db9b1d--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTinV31pktFbobs1KULHTFo__0MGskGQKN%2BOFh_pu>