Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Feb 2011 15:25:01 -0400
From:      "Marcelo C. Mota" <marcelo.mota@cpaa.embrapa.br>
To:        gnome@freebsd.org
Subject:   gnomelogalyzer cannot solve the problem
Message-ID:  <20ee46036430a0bf3a3d0fcc014b694d.squirrel@www2.cpaa.embrapa.br>

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

*** Error code 1

Stop in /usr/ports/devel/gobject-introspection.
*** Error code 1

Stop in /usr/ports/multimedia/gstreamer.
*** Error code 1

Stop in /usr/ports/multimedia/gstreamer-plugins.
*** Error code 1

Stop in /usr/ports/x11-toolkits/wxgtk28-unicode.
*** Error code 1

Stop in /usr/ports/x11-toolkits/wxgtk28-unicode.
*** Error code 1

Stop in /usr/ports/lang/erlang.
*** Error code 1

Stop in /usr/ports/lang/erlang.
*** Error code 1

Stop in /usr/ports/net-im/ejabberd.
*** Error code 1

Stop in /usr/ports/net-im/ejabberd.

GNOMELOGALYZER
candiru# sh gnomelogalyzer.sh

Generating build log. Please wait... done.

The cause of your build failure is not known to gnomelogalyzer.sh.  Before
e-mailing the build log to the FreeBSD GNOME team at
freebsd-gnome@FreeBSD.org,
TRY EACH OF THE FOLLOWING:

  * If you are generating your own logfile, make sure to generate it with
    something similar to:
          "make 2>&1 | tee /path/to/logfile" (sh/bash/ksh/zsh) or
          "make |& tee /path/to/logfile" (csh/tcsh)
        * Make sure your cvsup(1) configuration file specifies the
'ports-all'
          collection
        * Run cvsup(1) and attempt the build again
        * Check /usr/ports/UPDATING for information pertinent to your build
          failure
        * 99% of the commonly reported build failures can be solved by
          running "portupgrade -a"
        * Read the FAQs at http://www.FreeBSD.org/gnome/
        * Search the archives of freebsd-gnome@FreeBSD.org.  Archives can be
          searched at http://www.freebsd.org/gnome/index.html#search

If you have not performed each of the above suggestions, don't bother asking
for help.  The chances are good that you'll simply be told to perform one of
the aforementioned steps.


-- 
Marcelo C. Mota
Núcleo de Tecnologia da Informação – NTI
Embrapa Amazônia Ocidental
Rodovia AM-10, KM 29, S/N - Manaus/AM
Fone: +55 92 3303-7849
Fax: +55 92 3303-7820
http://www.cpaa.embrapa.br


"Embora ninguém possa voltar atrás e fazer um novo começo, qualquer um
pode começar agora e fazer um novo fim" (Chico Xavier)
____________________________________________________________________________
Aviso de confidencialidade 

Esta mensagem da Empresa  Brasileira de Pesquisa  Agropecuária  (Embrapa),
empresa pública federal  regida pelo disposto  na Lei Federal no. 5.851,  de
7 de dezembro de 1972,  é  enviada exclusivamente  a seu destinatário e pode
conter informações  confidenciais, protegidas  por sigilo profissional.  Sua
utilização desautorizada  é ilegal e  sujeita o infrator às penas da lei. Se
você  a recebeu indevidamente, queira, por gentileza, reenviá-la ao emitente,
esclarecendo o equivoco.

Confidentiality note

This message from Empresa  Brasileira de Pesquisa  Agropecuária  (Embrapa), a
government company  established under  Brazilian law  (5.851/72), is directed
exclusively to  its addressee  and may contain  confidential data,  protected
under  professional secrecy  rules. Its unauthorized  use is illegal and  may
subject the transgressor to the law's penalties. If you are not the addressee,
please send it back, elucidating the failure.

------=_20110221152501_53815
Content-Type: application/octet-stream; name="config.log"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="config.log"

VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp
bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz
IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IGdvYmplY3QtaW50cm9zcGVjdGlvbiBjb25m
aWd1cmUgMC45LjEyLCB3aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY2LiAg
SW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCgogICQgLi9jb25maWd1cmUgLS1kaXNhYmxlLXRl
c3RzIC0tcHJlZml4PS91c3IvbG9jYWwgLS1tYW5kaXI9L3Vzci9sb2NhbC9tYW4gLS1pbmZvZGly
PS91c3IvbG9jYWwvaW5mby8gLS1idWlsZD1hbWQ2NC1wb3J0YmxkLWZyZWVic2Q3LjIKCiMjIC0t
LS0tLS0tLSAjIwojIyBQbGF0Zm9ybS4gIyMKIyMgLS0tLS0tLS0tICMjCgpob3N0bmFtZSA9IGNh
bmRpcnUuY3BhYS5lbWJyYXBhLmJyCnVuYW1lIC1tID0gYW1kNjQKdW5hbWUgLXIgPSA3LjItU1RB
QkxFCnVuYW1lIC1zID0gRnJlZUJTRAp1bmFtZSAtdiA9IEZyZWVCU0QgNy4yLVNUQUJMRSAjMTog
V2VkIFNlcCAzMCAxNToyNjoyMCBBTVQgMjAwOSAgICAgcm9vdEBhcmFuaGEuY3BhYS5lbWJyYXBh
LmJyOi91c3Ivc3JjL3N5cy9hbWQ2NC9jb21waWxlL0FSQU5IQSAKCi91c3IvYmluL3VuYW1lIC1w
ID0gYW1kNjQKL2Jpbi91bmFtZSAtWCAgICAgPSB1bmtub3duCgovYmluL2FyY2ggICAgICAgICAg
ICAgID0gdW5rbm93bgovdXNyL2Jpbi9hcmNoIC1rICAgICAgID0gdW5rbm93bgovdXNyL2NvbnZl
eC9nZXRzeXNpbmZvID0gdW5rbm93bgovdXNyL2Jpbi9ob3N0aW5mbyAgICAgID0gdW5rbm93bgov
YmluL21hY2hpbmUgICAgICAgICAgID0gdW5rbm93bgovdXNyL2Jpbi9vc2xldmVsICAgICAgID0g
dW5rbm93bgovYmluL3VuaXZlcnNlICAgICAgICAgID0gdW5rbm93bgoKUEFUSDogL3NiaW4KUEFU
SDogL2JpbgpQQVRIOiAvdXNyL3NiaW4KUEFUSDogL3Vzci9iaW4KUEFUSDogL3Vzci9nYW1lcwpQ
QVRIOiAvdXNyL2xvY2FsL3NiaW4KUEFUSDogL3Vzci9sb2NhbC9iaW4KUEFUSDogL3Jvb3QvYmlu
CgoKIyMgLS0tLS0tLS0tLS0gIyMKIyMgQ29yZSB0ZXN0cy4gIyMKIyMgLS0tLS0tLS0tLS0gIyMK
CmNvbmZpZ3VyZToyNTI1OiBjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsCmNv
bmZpZ3VyZToyNTkzOiByZXN1bHQ6IC91c3IvYmluL2luc3RhbGwgLWMgLW8gcm9vdCAtZyB3aGVl
bApjb25maWd1cmU6MjYwNDogY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9ubWVudCBpcyBz
YW5lCmNvbmZpZ3VyZToyNjU0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjc5NTogY2hlY2tpbmcg
Zm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAKY29uZmlndXJlOjI4MzQ6IHJlc3VsdDogLi9pbnN0
YWxsLXNoIC1jIC1kCmNvbmZpZ3VyZToyODQ3OiBjaGVja2luZyBmb3IgZ2F3awpjb25maWd1cmU6
Mjg3NzogcmVzdWx0OiBubwpjb25maWd1cmU6Mjg0NzogY2hlY2tpbmcgZm9yIG1hd2sKY29uZmln
dXJlOjI4Nzc6IHJlc3VsdDogbm8KY29uZmlndXJlOjI4NDc6IGNoZWNraW5nIGZvciBuYXdrCmNv
bmZpZ3VyZToyODYzOiBmb3VuZCAvdXNyL2Jpbi9uYXdrCmNvbmZpZ3VyZToyODc0OiByZXN1bHQ6
IG5hd2sKY29uZmlndXJlOjI4ODU6IGNoZWNraW5nIHdoZXRoZXIgZ21ha2Ugc2V0cyAkKE1BS0Up
CmNvbmZpZ3VyZToyOTA3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjk4ODogY2hlY2tpbmcgd2hl
dGhlciB0byBlbmFibGUgbWFpbnRhaW5lci1zcGVjaWZpYyBwb3J0aW9ucyBvZiBNYWtlZmlsZXMK
Y29uZmlndXJlOjI5OTc6IHJlc3VsdDogbm8KY29uZmlndXJlOjMwMzQ6IGNoZWNraW5nIGJ1aWxk
IHN5c3RlbSB0eXBlCmNvbmZpZ3VyZTozMDQ4OiByZXN1bHQ6IGFtZDY0LXBvcnRibGQtZnJlZWJz
ZDcuMgpjb25maWd1cmU6MzA2ODogY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZQpjb25maWd1cmU6
MzA4MTogcmVzdWx0OiBhbWQ2NC1wb3J0YmxkLWZyZWVic2Q3LjIKY29uZmlndXJlOjMxMDE6IGNo
ZWNraW5nIGZvciBXaW4zMgpjb25maWd1cmU6MzExMTogcmVzdWx0OiBubwpjb25maWd1cmU6MzE3
MTogY2hlY2tpbmcgZm9yIGdjYwpjb25maWd1cmU6MzE5ODogcmVzdWx0OiBjYwpjb25maWd1cmU6
MzQyNzogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgdmVyc2lvbgpjb25maWd1cmU6MzQzNjogY2Mg
LS12ZXJzaW9uID4mNQpjYyAoR0NDKSA0LjIuMSAyMDA3MDcxOSAgW0ZyZWVCU0RdCkNvcHlyaWdo
dCAoQykgMjAwNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KVGhpcyBpcyBmcmVlIHNv
ZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMg
Tk8Kd2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuCgpjb25maWd1cmU6MzQ0NzogJD8gPSAwCmNvbmZpZ3VyZToz
NDM2OiBjYyAtdiA+JjUKVXNpbmcgYnVpbHQtaW4gc3BlY3MuClRhcmdldDogYW1kNjQtdW5kZXJt
eWRlc2stZnJlZWJzZApDb25maWd1cmVkIHdpdGg6IEZyZWVCU0QvYW1kNjQgc3lzdGVtIGNvbXBp
bGVyClRocmVhZCBtb2RlbDogcG9zaXgKZ2NjIHZlcnNpb24gNC4yLjEgMjAwNzA3MTkgIFtGcmVl
QlNEXQpjb25maWd1cmU6MzQ0NzogJD8gPSAwCmNvbmZpZ3VyZTozNDM2OiBjYyAtViA+JjUKY2M6
ICctVicgb3B0aW9uIG11c3QgaGF2ZSBhcmd1bWVudApjb25maWd1cmU6MzQ0NzogJD8gPSAxCmNv
bmZpZ3VyZTozNDM2OiBjYyAtcXZlcnNpb24gPiY1CmNjOiB1bnJlY29nbml6ZWQgb3B0aW9uICct
cXZlcnNpb24nCmNjOiBObyBpbnB1dCBmaWxlcyBzcGVjaWZpZWQKY29uZmlndXJlOjM0NDc6ICQ/
ID0gMQpjb25maWd1cmU6MzQ2NzogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciB3b3Jr
cwpjb25maWd1cmU6MzQ4OTogY2MgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vz
ci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3Vy
ZTozNDkzOiAkPyA9IDAKY29uZmlndXJlOjM1NDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozNTQ0
OiBjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUKY29uZmln
dXJlOjM1NDY6IHJlc3VsdDogYS5vdXQKY29uZmlndXJlOjM1NTI6IGNoZWNraW5nIGZvciBzdWZm
aXggb2YgZXhlY3V0YWJsZXMKY29uZmlndXJlOjM1NTk6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtZm5v
LXN0cmljdC1hbGlhc2luZyAtcGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTC91c3IvbG9jYWwv
bGliIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6MzU2MzogJD8gPSAwCmNvbmZpZ3VyZTozNTg1
OiByZXN1bHQ6IApjb25maWd1cmU6MzYwNzogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3Mg
Y29tcGlsaW5nCmNvbmZpZ3VyZTozNjE1OiBjYyAtbyBjb25mdGVzdCAtTzIgLWZuby1zdHJpY3Qt
YWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiBjb25m
dGVzdC5jICA+JjUKY29uZmlndXJlOjM2MTk6ICQ/ID0gMApjb25maWd1cmU6MzYyNjogLi9jb25m
dGVzdApjb25maWd1cmU6MzYzMDogJD8gPSAwCmNvbmZpZ3VyZTozNjQ1OiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZTozNjUwOiBjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcwpjb25maWd1
cmU6MzY3MjogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2Nh
bC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozNjc2OiAkPyA9IDAKY29uZmlndXJl
OjM2OTc6IHJlc3VsdDogbwpjb25maWd1cmU6MzcwMTogY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUg
dXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyCmNvbmZpZ3VyZTozNzIwOiBjYyAtYyAtTzIgLWZuby1z
dHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUK
Y29uZmlndXJlOjM3MjA6ICQ/ID0gMApjb25maWd1cmU6MzcyOTogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjM3Mzg6IGNoZWNraW5nIHdoZXRoZXIgY2MgYWNjZXB0cyAtZwpjb25maWd1cmU6Mzc1ODog
Y2MgLWMgLWcgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjM3
NTg6ICQ/ID0gMApjb25maWd1cmU6Mzc5OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM4MTY6IGNo
ZWNraW5nIGZvciBjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkKY29uZmlndXJlOjM4ODA6IGNj
ICAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUg
Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjM4ODA6ICQ/ID0gMApjb25maWd1cmU6Mzg5MzogcmVz
dWx0OiBub25lIG5lZWRlZApjb25maWd1cmU6MzkyNDogY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGlu
Y2x1ZGUgdXNlZCBieSBnbWFrZQpjb25maWd1cmU6Mzk1MjogcmVzdWx0OiBHTlUKY29uZmlndXJl
OjM5Nzc6IGNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgY2MKY29uZmlndXJlOjQwODc6IHJl
c3VsdDogZ2NjMwpjb25maWd1cmU6NDEwNjogY2hlY2tpbmcgd2hldGhlciBjYyB1bmRlcnN0YW5k
cyAtYyBhbmQgLW8gdG9nZXRoZXIKY29uZmlndXJlOjQxMzQ6IGNjIC1jIGNvbmZ0ZXN0LmMgLW8g
Y29uZnRlc3QyLm8gPiY1CmNvbmZpZ3VyZTo0MTM4OiAkPyA9IDAKY29uZmlndXJlOjQxNDQ6IGNj
IC1jIGNvbmZ0ZXN0LmMgLW8gY29uZnRlc3QyLm8gPiY1CmNvbmZpZ3VyZTo0MTQ4OiAkPyA9IDAK
Y29uZmlndXJlOjQyMDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0Mjc0OiBjaGVja2luZyBob3cg
dG8gcHJpbnQgc3RyaW5ncwpjb25maWd1cmU6NDMwMTogcmVzdWx0OiBwcmludGYKY29uZmlndXJl
OjQzMjI6IGNoZWNraW5nIGZvciBhIHNlZCB0aGF0IGRvZXMgbm90IHRydW5jYXRlIG91dHB1dApj
b25maWd1cmU6NDM4NjogcmVzdWx0OiAvdXNyL2Jpbi9zZWQKY29uZmlndXJlOjQ0MDQ6IGNoZWNr
aW5nIGZvciBncmVwIHRoYXQgaGFuZGxlcyBsb25nIGxpbmVzIGFuZCAtZQpjb25maWd1cmU6NDQ2
MjogcmVzdWx0OiAvdXNyL2Jpbi9ncmVwCmNvbmZpZ3VyZTo0NDY3OiBjaGVja2luZyBmb3IgZWdy
ZXAKY29uZmlndXJlOjQ1Mjk6IHJlc3VsdDogL3Vzci9iaW4vZ3JlcCAtRQpjb25maWd1cmU6NDUz
NDogY2hlY2tpbmcgZm9yIGZncmVwCmNvbmZpZ3VyZTo0NTk2OiByZXN1bHQ6IC91c3IvYmluL2dy
ZXAgLUYKY29uZmlndXJlOjQ2MzE6IGNoZWNraW5nIGZvciBsZCB1c2VkIGJ5IGNjCmNvbmZpZ3Vy
ZTo0Njk4OiByZXN1bHQ6IC91c3IvYmluL2xkCmNvbmZpZ3VyZTo0NzA1OiBjaGVja2luZyBpZiB0
aGUgbGlua2VyICgvdXNyL2Jpbi9sZCkgaXMgR05VIGxkCmNvbmZpZ3VyZTo0NzIwOiByZXN1bHQ6
IHllcwpjb25maWd1cmU6NDczMjogY2hlY2tpbmcgZm9yIEJTRC0gb3IgTVMtY29tcGF0aWJsZSBu
YW1lIGxpc3RlciAobm0pCmNvbmZpZ3VyZTo0NzgxOiByZXN1bHQ6IC91c3IvYmluL25tIC1CCmNv
bmZpZ3VyZTo0OTExOiBjaGVja2luZyB0aGUgbmFtZSBsaXN0ZXIgKC91c3IvYmluL25tIC1CKSBp
bnRlcmZhY2UKY29uZmlndXJlOjQ5MTg6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAt
cGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDkyMTog
L3Vzci9iaW4vbm0gLUIgImNvbmZ0ZXN0Lm8iCmNvbmZpZ3VyZTo0OTI0OiBvdXRwdXQKMDAwMDAw
MDAwMDAwMDAwMCBCIHNvbWVfdmFyaWFibGUKY29uZmlndXJlOjQ5MzE6IHJlc3VsdDogQlNEIG5t
CmNvbmZpZ3VyZTo0OTM0OiBjaGVja2luZyB3aGV0aGVyIGxuIC1zIHdvcmtzCmNvbmZpZ3VyZTo0
OTM4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDk0NjogY2hlY2tpbmcgdGhlIG1heGltdW0gbGVu
Z3RoIG9mIGNvbW1hbmQgbGluZSBhcmd1bWVudHMKY29uZmlndXJlOjUwNzE6IHJlc3VsdDogMjYy
MTQ0CmNvbmZpZ3VyZTo1MDg4OiBjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1bmRlcnN0YW5k
cyBzb21lIFhTSSBjb25zdHJ1Y3RzCmNvbmZpZ3VyZTo1MDk4OiByZXN1bHQ6IHllcwpjb25maWd1
cmU6NTEwMjogY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdW5kZXJzdGFuZHMgIis9Igpjb25m
aWd1cmU6NTEwODogcmVzdWx0OiBubwpjb25maWd1cmU6NTE0MzogY2hlY2tpbmcgZm9yIC91c3Iv
YmluL2xkIG9wdGlvbiB0byByZWxvYWQgb2JqZWN0IGZpbGVzCmNvbmZpZ3VyZTo1MTUwOiByZXN1
bHQ6IC1yCmNvbmZpZ3VyZTo1MjE5OiBjaGVja2luZyBmb3Igb2JqZHVtcApjb25maWd1cmU6NTIz
NTogZm91bmQgL3Vzci9iaW4vb2JqZHVtcApjb25maWd1cmU6NTI0NjogcmVzdWx0OiBvYmpkdW1w
CmNvbmZpZ3VyZTo1Mjc4OiBjaGVja2luZyBob3cgdG8gcmVjb2duaXplIGRlcGVuZGVudCBsaWJy
YXJpZXMKY29uZmlndXJlOjU0ODA6IHJlc3VsdDogcGFzc19hbGwKY29uZmlndXJlOjU1NDA6IGNo
ZWNraW5nIGZvciBhcgpjb25maWd1cmU6NTU1NjogZm91bmQgL3Vzci9iaW4vYXIKY29uZmlndXJl
OjU1Njc6IHJlc3VsdDogYXIKY29uZmlndXJlOjU2NDU6IGNoZWNraW5nIGZvciBzdHJpcApjb25m
aWd1cmU6NTY2MTogZm91bmQgL3Vzci9iaW4vc3RyaXAKY29uZmlndXJlOjU2NzI6IHJlc3VsdDog
c3RyaXAKY29uZmlndXJlOjU3NDQ6IGNoZWNraW5nIGZvciByYW5saWIKY29uZmlndXJlOjU3NjA6
IGZvdW5kIC91c3IvYmluL3JhbmxpYgpjb25maWd1cmU6NTc3MTogcmVzdWx0OiByYW5saWIKY29u
ZmlndXJlOjU4NzM6IGNoZWNraW5nIGNvbW1hbmQgdG8gcGFyc2UgL3Vzci9iaW4vbm0gLUIgb3V0
cHV0IGZyb20gY2Mgb2JqZWN0CmNvbmZpZ3VyZTo1OTkxOiBjYyAtYyAtTzIgLWZuby1zdHJpY3Qt
YWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmln
dXJlOjU5OTQ6ICQ/ID0gMApjb25maWd1cmU6NTk5ODogL3Vzci9iaW4vbm0gLUIgY29uZnRlc3Qu
byBcfCBzZWQgLW4gLWUgJ3MvXi4qWyBdXChbQUJDREdJUlNUV11bQUJDREdJUlNUV10qXClbIF1b
IF0qXChbX0EtWmEtel1bX0EtWmEtejAtOV0qXCkkL1wxIFwyIFwyL3AnIFw+IGNvbmZ0ZXN0Lm5t
CmNvbmZpZ3VyZTo2MDAxOiAkPyA9IDAKY29uZmlndXJlOjYwNTU6IGNjIC1vIGNvbmZ0ZXN0IC1P
MiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTC91c3Iv
bG9jYWwvbGliIGNvbmZ0ZXN0LmMgY29uZnRzdG0ubyA+JjUKY29uZmlndXJlOjYwNTg6ICQ/ID0g
MApjb25maWd1cmU6NjA5NjogcmVzdWx0OiBvawpjb25maWd1cmU6NjkzNzogY2hlY2tpbmcgaG93
IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IKY29uZmlndXJlOjcwMDc6IHJlc3VsdDogY3BwCmNv
bmZpZ3VyZTo3MDI3OiBjcHAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYwpjb25maWd1
cmU6NzAyNzogJD8gPSAwCmNvbmZpZ3VyZTo3MDQxOiBjcHAgLUkvdXNyL2xvY2FsL2luY2x1ZGUg
Y29uZnRlc3QuYwpjb25mdGVzdC5jOjExOjI4OiBlcnJvcjogYWNfbm9uZXhpc3RlbnQuaDogTm8g
c3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6NzA0MTogJD8gPSAxCmNvbmZpZ3VyZTog
ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf
TkFNRSAiZ29iamVjdC1pbnRyb3NwZWN0aW9uIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJn
b2JqZWN0LWludHJvc3BlY3Rpb24iCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjAuOS4xMiIK
fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnb2JqZWN0LWludHJvc3BlY3Rpb24gMC45LjEyIgp8
ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50
ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWImY29tcG9uZW50PWludHJvc3BlY3Rpb24iCnwgI2RlZmlu
ZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiZ29iamVjdC1pbnRyb3NwZWN0aW9u
Igp8ICNkZWZpbmUgVkVSU0lPTiAiMC45LjEyIgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj
aW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjcwNzA6IGNoZWNraW5nIGZvciBB
TlNJIEMgaGVhZGVyIGZpbGVzCmNvbmZpZ3VyZTo3MDkwOiBjYyAtYyAtTzIgLWZuby1zdHJpY3Qt
YWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmln
dXJlOjcwOTA6ICQ/ID0gMApjb25maWd1cmU6NzE2MzogY2MgLW8gY29uZnRlc3QgLU8yIC1mbm8t
c3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9s
aWIgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo3MTYzOiAkPyA9IDAKY29uZmlndXJlOjcxNjM6
IC4vY29uZnRlc3QKY29uZmlndXJlOjcxNjM6ICQ/ID0gMApjb25maWd1cmU6NzE3NDogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjcxODc6IGNoZWNraW5nIGZvciBzeXMvdHlwZXMuaApjb25maWd1cmU6
NzE4NzogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9p
bmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo3MTg3OiAkPyA9IDAKY29uZmlndXJlOjcx
ODc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo3MTg3OiBjaGVja2luZyBmb3Igc3lzL3N0YXQuaApj
b25maWd1cmU6NzE4NzogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vz
ci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo3MTg3OiAkPyA9IDAKY29u
ZmlndXJlOjcxODc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo3MTg3OiBjaGVja2luZyBmb3Igc3Rk
bGliLmgKY29uZmlndXJlOjcxODc6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlw
ZSAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NzE4NzogJD8g
PSAwCmNvbmZpZ3VyZTo3MTg3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NzE4NzogY2hlY2tpbmcg
Zm9yIHN0cmluZy5oCmNvbmZpZ3VyZTo3MTg3OiBjYyAtYyAtTzIgLWZuby1zdHJpY3QtYWxpYXNp
bmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjcx
ODc6ICQ/ID0gMApjb25maWd1cmU6NzE4NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjcxODc6IGNo
ZWNraW5nIGZvciBtZW1vcnkuaApjb25maWd1cmU6NzE4NzogY2MgLWMgLU8yIC1mbm8tc3RyaWN0
LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp
Z3VyZTo3MTg3OiAkPyA9IDAKY29uZmlndXJlOjcxODc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo3
MTg3OiBjaGVja2luZyBmb3Igc3RyaW5ncy5oCmNvbmZpZ3VyZTo3MTg3OiBjYyAtYyAtTzIgLWZu
by1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+
JjUKY29uZmlndXJlOjcxODc6ICQ/ID0gMApjb25maWd1cmU6NzE4NzogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjcxODc6IGNoZWNraW5nIGZvciBpbnR0eXBlcy5oCmNvbmZpZ3VyZTo3MTg3OiBjYyAt
YyAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29u
ZnRlc3QuYyA+JjUKY29uZmlndXJlOjcxODc6ICQ/ID0gMApjb25maWd1cmU6NzE4NzogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjcxODc6IGNoZWNraW5nIGZvciBzdGRpbnQuaApjb25maWd1cmU6NzE4
NzogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9pbmNs
dWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo3MTg3OiAkPyA9IDAKY29uZmlndXJlOjcxODc6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo3MTg3OiBjaGVja2luZyBmb3IgdW5pc3RkLmgKY29uZmln
dXJlOjcxODc6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtSS91c3IvbG9j
YWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NzE4NzogJD8gPSAwCmNvbmZpZ3Vy
ZTo3MTg3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NzIwMTogY2hlY2tpbmcgZm9yIGRsZmNuLmgK
Y29uZmlndXJlOjcyMDE6IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtSS91
c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NzIwMTogJD8gPSAwCmNv
bmZpZ3VyZTo3MjAxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NzM4ODogY2hlY2tpbmcgZm9yIG9i
amRpcgpjb25maWd1cmU6NzQwMzogcmVzdWx0OiAubGlicwpjb25maWd1cmU6NzY3NDogY2hlY2tp
bmcgaWYgY2Mgc3VwcG9ydHMgLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucwpjb25maWd1cmU6NzY5
MjogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9pbmNs
dWRlIC1mbm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMgY29uZnRlc3QuYyA+JjUKY2MxOiB3YXJuaW5n
OiBjb21tYW5kIGxpbmUgb3B0aW9uICItZm5vLXJ0dGkiIGlzIHZhbGlkIGZvciBDKysvT2JqQysr
IGJ1dCBub3QgZm9yIEMKY29uZmlndXJlOjc2OTY6ICQ/ID0gMApjb25maWd1cmU6NzcwOTogcmVz
dWx0OiBubwpjb25maWd1cmU6NzcyOTogY2hlY2tpbmcgZm9yIGNjIG9wdGlvbiB0byBwcm9kdWNl
IFBJQwpjb25maWd1cmU6ODAxNDogcmVzdWx0OiAtZlBJQyAtRFBJQwpjb25maWd1cmU6ODAyNjog
Y2hlY2tpbmcgaWYgY2MgUElDIGZsYWcgLWZQSUMgLURQSUMgd29ya3MKY29uZmlndXJlOjgwNDQ6
IGNjIC1jIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtSS91c3IvbG9jYWwvaW5jbHVk
ZSAtZlBJQyAtRFBJQyAtRFBJQyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6ODA0ODogJD8gPSAw
CmNvbmZpZ3VyZTo4MDYxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODA4NTogY2hlY2tpbmcgaWYg
Y2Mgc3RhdGljIGZsYWcgLXN0YXRpYyB3b3Jrcwpjb25maWd1cmU6ODExMzogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjgxMjg6IGNoZWNraW5nIGlmIGNjIHN1cHBvcnRzIC1jIC1vIGZpbGUubwpjb25m
aWd1cmU6ODE0OTogY2MgLWMgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9s
b2NhbC9pbmNsdWRlIC1vIG91dC9jb25mdGVzdDIubyBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6
ODE1MzogJD8gPSAwCmNvbmZpZ3VyZTo4MTc1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODE4Mzog
Y2hlY2tpbmcgaWYgY2Mgc3VwcG9ydHMgLWMgLW8gZmlsZS5vCmNvbmZpZ3VyZTo4MjMwOiByZXN1
bHQ6IHllcwpjb25maWd1cmU6ODI2MzogY2hlY2tpbmcgd2hldGhlciB0aGUgY2MgbGlua2VyICgv
dXNyL2Jpbi9sZCkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcwpjb25maWd1cmU6OTMzODogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjkzNzU6IGNoZWNraW5nIHdoZXRoZXIgLWxjIHNob3VsZCBiZSBl
eHBsaWNpdGx5IGxpbmtlZCBpbgpjb25maWd1cmU6OTM4MzogY2MgLWMgLU8yIC1mbm8tc3RyaWN0
LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp
Z3VyZTo5Mzg2OiAkPyA9IDAKY29uZmlndXJlOjk0MDE6IGNjIC1zaGFyZWQgY29uZnRlc3QubyAg
LXYgLVdsLC1zb25hbWUgLVdsLGNvbmZ0ZXN0IC1vIGNvbmZ0ZXN0IDJcPlwmMSBcfCAvdXNyL2Jp
bi9ncmVwICAtbGMgIFw+L2Rldi9udWxsIDJcPlwmMQpjb25maWd1cmU6OTQwNDogJD8gPSAwCmNv
bmZpZ3VyZTo5NDE4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5NTgzOiBjaGVja2luZyBkeW5hbWlj
IGxpbmtlciBjaGFyYWN0ZXJpc3RpY3MKY29uZmlndXJlOjEwMjY0OiByZXN1bHQ6IGZyZWVic2Q3
LjIgbGQuc28KY29uZmlndXJlOjEwMzcxOiBjaGVja2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFy
eSBwYXRocyBpbnRvIHByb2dyYW1zCmNvbmZpZ3VyZToxMDM5NjogcmVzdWx0OiBpbW1lZGlhdGUK
Y29uZmlndXJlOjEwOTM2OiBjaGVja2luZyB3aGV0aGVyIHN0cmlwcGluZyBsaWJyYXJpZXMgaXMg
cG9zc2libGUKY29uZmlndXJlOjEwOTQxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTA5NzY6IGNo
ZWNraW5nIGlmIGxpYnRvb2wgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcwpjb25maWd1cmU6MTA5
Nzg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDk4MTogY2hlY2tpbmcgd2hldGhlciB0byBidWls
ZCBzaGFyZWQgbGlicmFyaWVzCmNvbmZpZ3VyZToxMTAwMjogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjExMDA1OiBjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHN0YXRpYyBsaWJyYXJpZXMKY29uZmln
dXJlOjExMDA5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTEwOTc6IGNoZWNraW5nIGZvciBwa2ct
Y29uZmlnCmNvbmZpZ3VyZToxMTExNTogZm91bmQgL3Vzci9sb2NhbC9iaW4vcGtnLWNvbmZpZwpj
b25maWd1cmU6MTExMjc6IHJlc3VsdDogL3Vzci9sb2NhbC9iaW4vcGtnLWNvbmZpZwpjb25maWd1
cmU6MTExNTI6IGNoZWNraW5nIHBrZy1jb25maWcgaXMgYXQgbGVhc3QgdmVyc2lvbiAwLjkuMApj
b25maWd1cmU6MTExNTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTE2ODogY2hlY2tpbmcgZm9y
IGZsZXgKY29uZmlndXJlOjExMTg0OiBmb3VuZCAvdXNyL2Jpbi9mbGV4CmNvbmZpZ3VyZToxMTE5
NTogcmVzdWx0OiBmbGV4CmNvbmZpZ3VyZToxMTIzMjogZmxleCBjb25mdGVzdC5sCmNvbmZpZ3Vy
ZToxMTIzNjogJD8gPSAwCmNvbmZpZ3VyZToxMTIzODogY2hlY2tpbmcgbGV4IG91dHB1dCBmaWxl
IHJvb3QKY29uZmlndXJlOjExMjUyOiByZXN1bHQ6IGxleC55eQpjb25maWd1cmU6MTEyNTc6IGNo
ZWNraW5nIGxleCBsaWJyYXJ5CmNvbmZpZ3VyZToxMTI3MTogY2MgLW8gY29uZnRlc3QgLU8yIC1m
bm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2Nh
bC9saWIgY29uZnRlc3QuYyAgID4mNQpjb25mdGVzdC5sOiBJbiBmdW5jdGlvbiAneXlsZXgnOgpj
b25mdGVzdC5sOjY6IHdhcm5pbmc6IGNvbXBhcmlzb24gYmV0d2VlbiBwb2ludGVyIGFuZCBpbnRl
Z2VyCmNvbmZ0ZXN0Lmw6Njogd2FybmluZzogYXNzaWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20g
aW50ZWdlciB3aXRob3V0IGEgY2FzdAovdmFyL3RtcC8vY2NOdE1vVWMubygudGV4dCsweDhiZCk6
IEluIGZ1bmN0aW9uIGBpbnB1dCc6CjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgeXl3cmFwJwov
dmFyL3RtcC8vY2NOdE1vVWMubygudGV4dCsweGRiMyk6IEluIGZ1bmN0aW9uIGB5eWxleCc6Cjog
dW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgeXl3cmFwJwovdmFyL3RtcC8vY2NOdE1vVWMubygudGV4
dCsweGY1OSk6IEluIGZ1bmN0aW9uIGBtYWluJzoKOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB5
eXdyYXAnCmNvbmZpZ3VyZToxMTI3MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g
d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ29iamVjdC1p
bnRyb3NwZWN0aW9uIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnb2JqZWN0LWludHJvc3Bl
Y3Rpb24iCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjAuOS4xMiIKfCAjZGVmaW5lIFBBQ0tB
R0VfU1RSSU5HICJnb2JqZWN0LWludHJvc3BlY3Rpb24gMC45LjEyIgp8ICNkZWZpbmUgUEFDS0FH
RV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9k
dWN0PWdsaWImY29tcG9uZW50PWludHJvc3BlY3Rpb24iCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAi
Igp8ICNkZWZpbmUgUEFDS0FHRSAiZ29iamVjdC1pbnRyb3NwZWN0aW9uIgp8ICNkZWZpbmUgVkVS
U0lPTiAiMC45LjEyIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I
IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx
CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk
ZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8IC8qIGVu
ZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBBIGxleGljYWwgc2Nhbm5lciBnZW5lcmF0ZWQgYnkgZmxl
eCAqLwp8IAp8IC8qIFNjYW5uZXIgc2tlbGV0b24gdmVyc2lvbjoKfCAgKiAkSGVhZGVyOiAvaG9t
ZS9kYWZmeS91MC92ZXJuL2ZsZXgvUkNTL2ZsZXguc2tsLHYgMi45MSA5Ni8wOS8xMCAxNjo1ODo0
OCB2ZXJuIEV4cCAkCnwgICogJEZyZWVCU0Q6IHNyYy91c3IuYmluL2xleC9mbGV4LnNrbCx2IDEu
OCAyMDA0LzAxLzA2IDE5OjAzOjQ0IG5lY3RhciBFeHAgJAp8ICAqLwp8IAp8ICNpZiBkZWZpbmVk
KF9fRnJlZUJTRF9fKQp8ICNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KfCAjZWxzZQp8ICNkZWZpbmUg
X191bnVzZWQKfCAjZW5kaWYKfCAKfCAjZGVmaW5lIEZMRVhfU0NBTk5FUgp8ICNkZWZpbmUgWVlf
RkxFWF9NQUpPUl9WRVJTSU9OIDIKfCAjZGVmaW5lIFlZX0ZMRVhfTUlOT1JfVkVSU0lPTiA1Cnwg
CnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgCnwgCnwgLyogY2Zyb250IDEuMiBkZWZpbmVzICJjX3Bs
dXNwbHVzIiBpbnN0ZWFkIG9mICJfX2NwbHVzcGx1cyIgKi8KfCAjaWZkZWYgY19wbHVzcGx1cwp8
ICNpZm5kZWYgX19jcGx1c3BsdXMKfCAjZGVmaW5lIF9fY3BsdXNwbHVzCnwgI2VuZGlmCnwgI2Vu
ZGlmCnwgCnwgCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgCnwgI2luY2x1ZGUgPHN0ZGxpYi5oPgp8
ICNpbmNsdWRlIDx1bmlzdGQuaD4KfCAKfCAvKiBVc2UgcHJvdG90eXBlcyBpbiBmdW5jdGlvbiBk
ZWNsYXJhdGlvbnMuICovCnwgI2RlZmluZSBZWV9VU0VfUFJPVE9TCnwgCnwgLyogVGhlICJjb25z
dCIgc3RvcmFnZS1jbGFzcy1tb2RpZmllciBpcyB2YWxpZC4gKi8KfCAjZGVmaW5lIFlZX1VTRV9D
T05TVAp8IAp8ICNlbHNlCS8qICEgX19jcGx1c3BsdXMgKi8KfCAKfCAjaWYgX19TVERDX18KfCAK
fCAjZGVmaW5lIFlZX1VTRV9QUk9UT1MKfCAjZGVmaW5lIFlZX1VTRV9DT05TVAp8IAp8ICNlbmRp
ZgkvKiBfX1NURENfXyAqLwp8ICNlbmRpZgkvKiAhIF9fY3BsdXNwbHVzICovCnwgCnwgI2lmZGVm
IF9fVFVSQk9DX18KfCAgI3ByYWdtYSB3YXJuIC1yY2gKfCAgI3ByYWdtYSB3YXJuIC11c2UKfCAj
aW5jbHVkZSA8aW8uaD4KfCAjaW5jbHVkZSA8c3RkbGliLmg+CnwgI2RlZmluZSBZWV9VU0VfQ09O
U1QKfCAjZGVmaW5lIFlZX1VTRV9QUk9UT1MKfCAjZW5kaWYKfCAKfCAjaWZkZWYgWVlfVVNFX0NP
TlNUCnwgI2RlZmluZSB5eWNvbnN0IGNvbnN0CnwgI2Vsc2UKfCAjZGVmaW5lIHl5Y29uc3QKfCAj
ZW5kaWYKfCAKfCAKfCAjaWZkZWYgWVlfVVNFX1BST1RPUwp8ICNkZWZpbmUgWVlfUFJPVE8ocHJv
dG8pIHByb3RvCnwgI2Vsc2UKfCAjZGVmaW5lIFlZX1BST1RPKHByb3RvKSAoKQp8ICNlbmRpZgp8
IAp8IC8qIFJldHVybmVkIHVwb24gZW5kLW9mLWZpbGUuICovCnwgI2RlZmluZSBZWV9OVUxMIDAK
fCAKfCAvKiBQcm9tb3RlcyBhIHBvc3NpYmx5IG5lZ2F0aXZlLCBwb3NzaWJseSBzaWduZWQgY2hh
ciB0byBhbiB1bnNpZ25lZAp8ICAqIGludGVnZXIgZm9yIHVzZSBhcyBhbiBhcnJheSBpbmRleC4g
IElmIHRoZSBzaWduZWQgY2hhciBpcyBuZWdhdGl2ZSwKfCAgKiB3ZSB3YW50IHRvIGluc3RlYWQg
dHJlYXQgaXQgYXMgYW4gOC1iaXQgdW5zaWduZWQgY2hhciwgaGVuY2UgdGhlCnwgICogZG91Ymxl
IGNhc3QuCnwgICovCnwgI2RlZmluZSBZWV9TQ19UT19VSShjKSAoKHVuc2lnbmVkIGludCkgKHVu
c2lnbmVkIGNoYXIpIGMpCnwgCnwgLyogRW50ZXIgYSBzdGFydCBjb25kaXRpb24uICBUaGlzIG1h
Y3JvIHJlYWxseSBvdWdodCB0byB0YWtlIGEgcGFyYW1ldGVyLAp8ICAqIGJ1dCB3ZSBkbyBpdCB0
aGUgZGlzZ3VzdGluZyBjcnVmdHkgd2F5IGZvcmNlZCBvbiB1cyBieSB0aGUgKCktbGVzcwp8ICAq
IGRlZmluaXRpb24gb2YgQkVHSU4uCnwgICovCnwgI2RlZmluZSBCRUdJTiB5eV9zdGFydCA9IDEg
KyAyICoKfCAKfCAvKiBUcmFuc2xhdGUgdGhlIGN1cnJlbnQgc3RhcnQgc3RhdGUgaW50byBhIHZh
bHVlIHRoYXQgY2FuIGJlIGxhdGVyIGhhbmRlZAp8ICAqIHRvIEJFR0lOIHRvIHJldHVybiB0byB0
aGUgc3RhdGUuICBUaGUgWVlTVEFURSBhbGlhcyBpcyBmb3IgbGV4CnwgICogY29tcGF0aWJpbGl0
eS4KfCAgKi8KfCAjZGVmaW5lIFlZX1NUQVJUICgoeXlfc3RhcnQgLSAxKSAvIDIpCnwgI2RlZmlu
ZSBZWVNUQVRFIFlZX1NUQVJUCnwgCnwgLyogQWN0aW9uIG51bWJlciBmb3IgRU9GIHJ1bGUgb2Yg
YSBnaXZlbiBzdGFydCBzdGF0ZS4gKi8KfCAjZGVmaW5lIFlZX1NUQVRFX0VPRihzdGF0ZSkgKFlZ
X0VORF9PRl9CVUZGRVIgKyBzdGF0ZSArIDEpCnwgCnwgLyogU3BlY2lhbCBhY3Rpb24gbWVhbmlu
ZyAic3RhcnQgcHJvY2Vzc2luZyBhIG5ldyBmaWxlIi4gKi8KfCAjZGVmaW5lIFlZX05FV19GSUxF
IHl5cmVzdGFydCggeXlpbiApCnwgCnwgI2RlZmluZSBZWV9FTkRfT0ZfQlVGRkVSX0NIQVIgMAp8
IAp8IC8qIFNpemUgb2YgZGVmYXVsdCBpbnB1dCBidWZmZXIuICovCnwgI2RlZmluZSBZWV9CVUZf
U0laRSAxNjM4NAp8IAp8IHR5cGVkZWYgc3RydWN0IHl5X2J1ZmZlcl9zdGF0ZSAqWVlfQlVGRkVS
X1NUQVRFOwp8IAp8IGV4dGVybiBpbnQgeXlsZW5nOwp8IGV4dGVybiBGSUxFICp5eWluLCAqeXlv
dXQ7CnwgCnwgI2RlZmluZSBFT0JfQUNUX0NPTlRJTlVFX1NDQU4gMAp8ICNkZWZpbmUgRU9CX0FD
VF9FTkRfT0ZfRklMRSAxCnwgI2RlZmluZSBFT0JfQUNUX0xBU1RfTUFUQ0ggMgp8IAp8IC8qIFRo
ZSBmdW5reSBkby13aGlsZSBpbiB0aGUgZm9sbG93aW5nICNkZWZpbmUgaXMgdXNlZCB0byB0dXJu
IHRoZSBkZWZpbml0aW9uCnwgICogaW50IGEgc2luZ2xlIEMgc3RhdGVtZW50ICh3aGljaCBuZWVk
cyBhIHNlbWktY29sb24gdGVybWluYXRvcikuICBUaGlzCnwgICogYXZvaWRzIHByb2JsZW1zIHdp
dGggY29kZSBsaWtlOgp8ICAqCnwgICogCWlmICggY29uZGl0aW9uX2hvbGRzICkKfCAgKgkJeXls
ZXNzKCA1ICk7CnwgICoJZWxzZQp8ICAqCQlkb19zb21ldGhpbmdfZWxzZSgpOwp8ICAqCnwgICog
UHJpb3IgdG8gdXNpbmcgdGhlIGRvLXdoaWxlIHRoZSBjb21waWxlciB3b3VsZCBnZXQgdXBzZXQg
YXQgdGhlCnwgICogImVsc2UiIGJlY2F1c2UgaXQgaW50ZXJwcmV0ZWQgdGhlICJpZiIgc3RhdGVt
ZW50IGFzIGJlaW5nIGFsbAp8ICAqIGRvbmUgd2hlbiBpdCByZWFjaGVkIHRoZSAnOycgYWZ0ZXIg
dGhlIHl5bGVzcygpIGNhbGwuCnwgICovCnwgCnwgLyogUmV0dXJuIGFsbCBidXQgdGhlIGZpcnN0
ICduJyBtYXRjaGVkIGNoYXJhY3RlcnMgYmFjayB0byB0aGUgaW5wdXQgc3RyZWFtLiAqLwp8IAp8
ICNkZWZpbmUgeXlsZXNzKG4pIFwKfCAJZG8gXAp8IAkJeyBcCnwgCQkvKiBVbmRvIGVmZmVjdHMg
b2Ygc2V0dGluZyB1cCB5eXRleHQuICovIFwKfCAJCSp5eV9jcCA9IHl5X2hvbGRfY2hhcjsgXAp8
IAkJWVlfUkVTVE9SRV9ZWV9NT1JFX09GRlNFVCBcCnwgCQl5eV9jX2J1Zl9wID0geXlfY3AgPSB5
eV9icCArIG4gLSBZWV9NT1JFX0FESjsgXAp8IAkJWVlfRE9fQkVGT1JFX0FDVElPTjsgLyogc2V0
IHVwIHl5dGV4dCBhZ2FpbiAqLyBcCnwgCQl9IFwKfCAJd2hpbGUgKCAwICkKfCAKfCAjZGVmaW5l
IHVucHV0KGMpIHl5dW5wdXQoIGMsIHl5dGV4dF9wdHIgKQp8IAp8IC8qIFRoZSBmb2xsb3dpbmcg
aXMgYmVjYXVzZSB3ZSBjYW5ub3QgcG9ydGFibHkgZ2V0IG91ciBoYW5kcyBvbiBzaXplX3QKfCAg
KiAod2l0aG91dCBhdXRvY29uZidzIGhlbHAsIHdoaWNoIGlzbid0IGF2YWlsYWJsZSBiZWNhdXNl
IHdlIHdhbnQKfCAgKiBmbGV4LWdlbmVyYXRlZCBzY2FubmVycyB0byBjb21waWxlIG9uIHRoZWly
IG93bikuCnwgICovCnwgdHlwZWRlZiB1bnNpZ25lZCBpbnQgeXlfc2l6ZV90Owp8IAp8IAp8IHN0
cnVjdCB5eV9idWZmZXJfc3RhdGUKfCAJewp8IAlGSUxFICp5eV9pbnB1dF9maWxlOwp8IAp8IAlj
aGFyICp5eV9jaF9idWY7CQkvKiBpbnB1dCBidWZmZXIgKi8KfCAJY2hhciAqeXlfYnVmX3BvczsJ
CS8qIGN1cnJlbnQgcG9zaXRpb24gaW4gaW5wdXQgYnVmZmVyICovCnwgCnwgCS8qIFNpemUgb2Yg
aW5wdXQgYnVmZmVyIGluIGJ5dGVzLCBub3QgaW5jbHVkaW5nIHJvb20gZm9yIEVPQgp8IAkgKiBj
aGFyYWN0ZXJzLgp8IAkgKi8KfCAJeXlfc2l6ZV90IHl5X2J1Zl9zaXplOwp8IAp8IAkvKiBOdW1i
ZXIgb2YgY2hhcmFjdGVycyByZWFkIGludG8geXlfY2hfYnVmLCBub3QgaW5jbHVkaW5nIEVPQgp8
IAkgKiBjaGFyYWN0ZXJzLgp8IAkgKi8KfCAJaW50IHl5X25fY2hhcnM7CnwgCnwgCS8qIFdoZXRo
ZXIgd2UgIm93biIgdGhlIGJ1ZmZlciAtIGkuZS4sIHdlIGtub3cgd2UgY3JlYXRlZCBpdCwKfCAJ
ICogYW5kIGNhbiByZWFsbG9jKCkgaXQgdG8gZ3JvdyBpdCwgYW5kIHNob3VsZCBmcmVlKCkgaXQg
dG8KfCAJICogZGVsZXRlIGl0Lgp8IAkgKi8KfCAJaW50IHl5X2lzX291cl9idWZmZXI7CnwgCnwg
CS8qIFdoZXRoZXIgdGhpcyBpcyBhbiAiaW50ZXJhY3RpdmUiIGlucHV0IHNvdXJjZTsgaWYgc28s
IGFuZAp8IAkgKiBpZiB3ZSdyZSB1c2luZyBzdGRpbyBmb3IgaW5wdXQsIHRoZW4gd2Ugd2FudCB0
byB1c2UgZ2V0YygpCnwgCSAqIGluc3RlYWQgb2YgZnJlYWQoKSwgdG8gbWFrZSBzdXJlIHdlIHN0
b3AgZmV0Y2hpbmcgaW5wdXQgYWZ0ZXIKfCAJICogZWFjaCBuZXdsaW5lLgp8IAkgKi8KfCAJaW50
IHl5X2lzX2ludGVyYWN0aXZlOwp8IAp8IAkvKiBXaGV0aGVyIHdlJ3JlIGNvbnNpZGVyZWQgdG8g
YmUgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmUuCnwgCSAqIElmIHNvLCAnXicgcnVsZXMgd2ls
bCBiZSBhY3RpdmUgb24gdGhlIG5leHQgbWF0Y2gsIG90aGVyd2lzZQp8IAkgKiBub3QuCnwgCSAq
Lwp8IAlpbnQgeXlfYXRfYm9sOwp8IAp8IAkvKiBXaGV0aGVyIHRvIHRyeSB0byBmaWxsIHRoZSBp
bnB1dCBidWZmZXIgd2hlbiB3ZSByZWFjaCB0aGUKfCAJICogZW5kIG9mIGl0Lgp8IAkgKi8KfCAJ
aW50IHl5X2ZpbGxfYnVmZmVyOwp8IAp8IAlpbnQgeXlfYnVmZmVyX3N0YXR1czsKfCAjZGVmaW5l
IFlZX0JVRkZFUl9ORVcgMAp8ICNkZWZpbmUgWVlfQlVGRkVSX05PUk1BTCAxCnwgCS8qIFdoZW4g
YW4gRU9GJ3MgYmVlbiBzZWVuIGJ1dCB0aGVyZSdzIHN0aWxsIHNvbWUgdGV4dCB0byBwcm9jZXNz
CnwgCSAqIHRoZW4gd2UgbWFyayB0aGUgYnVmZmVyIGFzIFlZX0VPRl9QRU5ESU5HLCB0byBpbmRp
Y2F0ZSB0aGF0IHdlCnwgCSAqIHNob3VsZG4ndCB0cnkgcmVhZGluZyBmcm9tIHRoZSBpbnB1dCBz
b3VyY2UgYW55IG1vcmUuICBXZSBtaWdodAp8IAkgKiBzdGlsbCBoYXZlIGEgYnVuY2ggb2YgdG9r
ZW5zIHRvIG1hdGNoLCB0aG91Z2gsIGJlY2F1c2Ugb2YKfCAJICogcG9zc2libGUgYmFja2luZy11
cC4KfCAJICoKfCAJICogV2hlbiB3ZSBhY3R1YWxseSBzZWUgdGhlIEVPRiwgd2UgY2hhbmdlIHRo
ZSBzdGF0dXMgdG8gIm5ldyIKfCAJICogKHZpYSB5eXJlc3RhcnQoKSksIHNvIHRoYXQgdGhlIHVz
ZXIgY2FuIGNvbnRpbnVlIHNjYW5uaW5nIGJ5CnwgCSAqIGp1c3QgcG9pbnRpbmcgeXlpbiBhdCBh
IG5ldyBpbnB1dCBmaWxlLgp8IAkgKi8KfCAjZGVmaW5lIFlZX0JVRkZFUl9FT0ZfUEVORElORyAy
CnwgCX07CnwgCnwgc3RhdGljIFlZX0JVRkZFUl9TVEFURSB5eV9jdXJyZW50X2J1ZmZlciA9IDA7
CnwgCnwgLyogV2UgcHJvdmlkZSBtYWNyb3MgZm9yIGFjY2Vzc2luZyBidWZmZXIgc3RhdGVzIGlu
IGNhc2UgaW4gdGhlCnwgICogZnV0dXJlIHdlIHdhbnQgdG8gcHV0IHRoZSBidWZmZXIgc3RhdGVz
IGluIGEgbW9yZSBnZW5lcmFsCnwgICogInNjYW5uZXIgc3RhdGUiLgp8ICAqLwp8ICNkZWZpbmUg
WVlfQ1VSUkVOVF9CVUZGRVIgeXlfY3VycmVudF9idWZmZXIKfCAKfCAKfCAvKiB5eV9ob2xkX2No
YXIgaG9sZHMgdGhlIGNoYXJhY3RlciBsb3N0IHdoZW4geXl0ZXh0IGlzIGZvcm1lZC4gKi8KfCBz
dGF0aWMgY2hhciB5eV9ob2xkX2NoYXI7CnwgCnwgc3RhdGljIGludCB5eV9uX2NoYXJzOwkJLyog
bnVtYmVyIG9mIGNoYXJhY3RlcnMgcmVhZCBpbnRvIHl5X2NoX2J1ZiAqLwp8IAp8IAp8IGludCB5
eWxlbmc7CnwgCnwgLyogUG9pbnRzIHRvIGN1cnJlbnQgY2hhcmFjdGVyIGluIGJ1ZmZlci4gKi8K
fCBzdGF0aWMgY2hhciAqeXlfY19idWZfcCA9IChjaGFyICopIDA7Cnwgc3RhdGljIGludCB5eV9p
bml0ID0gMTsJCS8qIHdoZXRoZXIgd2UgbmVlZCB0byBpbml0aWFsaXplICovCnwgc3RhdGljIGlu
dCB5eV9zdGFydCA9IDA7CS8qIHN0YXJ0IHN0YXRlIG51bWJlciAqLwp8IAp8IC8qIEZsYWcgd2hp
Y2ggaXMgdXNlZCB0byBhbGxvdyB5eXdyYXAoKSdzIHRvIGRvIGJ1ZmZlciBzd2l0Y2hlcwp8ICAq
IGluc3RlYWQgb2Ygc2V0dGluZyB1cCBhIGZyZXNoIHl5aW4uICBBIGJpdCBvZiBhIGhhY2sgLi4u
CnwgICovCnwgc3RhdGljIGludCB5eV9kaWRfYnVmZmVyX3N3aXRjaF9vbl9lb2Y7CnwgCnwgdm9p
ZCB5eXJlc3RhcnQgWVlfUFJPVE8oKCBGSUxFICppbnB1dF9maWxlICkpOwp8IAp8IHZvaWQgeXlf
c3dpdGNoX3RvX2J1ZmZlciBZWV9QUk9UTygoIFlZX0JVRkZFUl9TVEFURSBuZXdfYnVmZmVyICkp
Owp8IHZvaWQgeXlfbG9hZF9idWZmZXJfc3RhdGUgWVlfUFJPVE8oKCB2b2lkICkpOwp8IFlZX0JV
RkZFUl9TVEFURSB5eV9jcmVhdGVfYnVmZmVyIFlZX1BST1RPKCggRklMRSAqZmlsZSwgaW50IHNp
emUgKSk7Cnwgdm9pZCB5eV9kZWxldGVfYnVmZmVyIFlZX1BST1RPKCggWVlfQlVGRkVSX1NUQVRF
IGIgKSk7Cnwgdm9pZCB5eV9pbml0X2J1ZmZlciBZWV9QUk9UTygoIFlZX0JVRkZFUl9TVEFURSBi
LCBGSUxFICpmaWxlICkpOwp8IHZvaWQgeXlfZmx1c2hfYnVmZmVyIFlZX1BST1RPKCggWVlfQlVG
RkVSX1NUQVRFIGIgKSk7CnwgI2RlZmluZSBZWV9GTFVTSF9CVUZGRVIgeXlfZmx1c2hfYnVmZmVy
KCB5eV9jdXJyZW50X2J1ZmZlciApCnwgCnwgWVlfQlVGRkVSX1NUQVRFIHl5X3NjYW5fYnVmZmVy
IFlZX1BST1RPKCggY2hhciAqYmFzZSwgeXlfc2l6ZV90IHNpemUgKSk7CnwgWVlfQlVGRkVSX1NU
QVRFIHl5X3NjYW5fc3RyaW5nIFlZX1BST1RPKCggeXljb25zdCBjaGFyICp5eV9zdHIgKSk7Cnwg
WVlfQlVGRkVSX1NUQVRFIHl5X3NjYW5fYnl0ZXMgWVlfUFJPVE8oKCB5eWNvbnN0IGNoYXIgKmJ5
dGVzLCBpbnQgbGVuICkpOwp8IAp8IHN0YXRpYyB2b2lkICp5eV9mbGV4X2FsbG9jIFlZX1BST1RP
KCggeXlfc2l6ZV90ICkpOwp8IHN0YXRpYyB2b2lkICp5eV9mbGV4X3JlYWxsb2MgWVlfUFJPVE8o
KCB2b2lkICosIHl5X3NpemVfdCApKSBfX3VudXNlZDsKfCBzdGF0aWMgdm9pZCB5eV9mbGV4X2Zy
ZWUgWVlfUFJPVE8oKCB2b2lkICogKSk7CnwgCnwgI2RlZmluZSB5eV9uZXdfYnVmZmVyIHl5X2Ny
ZWF0ZV9idWZmZXIKfCAKfCAjZGVmaW5lIHl5X3NldF9pbnRlcmFjdGl2ZShpc19pbnRlcmFjdGl2
ZSkgXAp8IAl7IFwKfCAJaWYgKCAhIHl5X2N1cnJlbnRfYnVmZmVyICkgXAp8IAkJeXlfY3VycmVu
dF9idWZmZXIgPSB5eV9jcmVhdGVfYnVmZmVyKCB5eWluLCBZWV9CVUZfU0laRSApOyBcCnwgCXl5
X2N1cnJlbnRfYnVmZmVyLT55eV9pc19pbnRlcmFjdGl2ZSA9IGlzX2ludGVyYWN0aXZlOyBcCnwg
CX0KfCAKfCAjZGVmaW5lIHl5X3NldF9ib2woYXRfYm9sKSBcCnwgCXsgXAp8IAlpZiAoICEgeXlf
Y3VycmVudF9idWZmZXIgKSBcCnwgCQl5eV9jdXJyZW50X2J1ZmZlciA9IHl5X2NyZWF0ZV9idWZm
ZXIoIHl5aW4sIFlZX0JVRl9TSVpFICk7IFwKfCAJeXlfY3VycmVudF9idWZmZXItPnl5X2F0X2Jv
bCA9IGF0X2JvbDsgXAp8IAl9CnwgCnwgI2RlZmluZSBZWV9BVF9CT0woKSAoeXlfY3VycmVudF9i
dWZmZXItPnl5X2F0X2JvbCkKfCAKfCAKfCAjZGVmaW5lIFlZX1VTRVNfUkVKRUNUCnwgdHlwZWRl
ZiB1bnNpZ25lZCBjaGFyIFlZX0NIQVI7CnwgRklMRSAqeXlpbiA9IChGSUxFICopIDAsICp5eW91
dCA9IChGSUxFICopIDA7CnwgdHlwZWRlZiBpbnQgeXlfc3RhdGVfdHlwZTsKfCBleHRlcm4gY2hh
ciAqeXl0ZXh0Owp8ICNkZWZpbmUgeXl0ZXh0X3B0ciB5eXRleHQKfCAKfCBzdGF0aWMgeXlfc3Rh
dGVfdHlwZSB5eV9nZXRfcHJldmlvdXNfc3RhdGUgWVlfUFJPVE8oKCB2b2lkICkpOwp8IHN0YXRp
YyB5eV9zdGF0ZV90eXBlIHl5X3RyeV9OVUxfdHJhbnMgWVlfUFJPVE8oKCB5eV9zdGF0ZV90eXBl
IGN1cnJlbnRfc3RhdGUgKSk7Cnwgc3RhdGljIGludCB5eV9nZXRfbmV4dF9idWZmZXIgWVlfUFJP
VE8oKCB2b2lkICkpOwp8IHN0YXRpYyB2b2lkIHl5X2ZhdGFsX2Vycm9yIFlZX1BST1RPKCggeXlj
b25zdCBjaGFyIG1zZ1tdICkpOwp8IAp8IC8qIERvbmUgYWZ0ZXIgdGhlIGN1cnJlbnQgcGF0dGVy
biBoYXMgYmVlbiBtYXRjaGVkIGFuZCBiZWZvcmUgdGhlCnwgICogY29ycmVzcG9uZGluZyBhY3Rp
b24gLSBzZXRzIHVwIHl5dGV4dC4KfCAgKi8KfCAjZGVmaW5lIFlZX0RPX0JFRk9SRV9BQ1RJT04g
XAp8IAl5eXRleHRfcHRyID0geXlfYnA7IFwKfCAJeXl0ZXh0X3B0ciAtPSB5eV9tb3JlX2xlbjsg
XAp8IAl5eWxlbmcgPSAoaW50KSAoeXlfY3AgLSB5eXRleHRfcHRyKTsgXAp8IAl5eV9ob2xkX2No
YXIgPSAqeXlfY3A7IFwKfCAJKnl5X2NwID0gJ1wwJzsgXAp8IAl5eV9jX2J1Zl9wID0geXlfY3A7
CnwgCnwgI2RlZmluZSBZWV9OVU1fUlVMRVMgOAp8ICNkZWZpbmUgWVlfRU5EX09GX0JVRkZFUiA5
Cnwgc3RhdGljIHl5Y29uc3Qgc2hvcnQgaW50IHl5X2FjY2xpc3RbMjNdID0KfCAgICAgeyAgIDAs
CnwgICAgICAgICA5LCAgICA3LCAgICA4LCAgICA4LCAgICAxLCAgICA3LCAgICA4LCAgICAyLCAg
ICA3LCAgICA4LAp8ICAgICAgICAgMywgICAgNywgICAgOCwgICAgNCwgICAgNywgICAgOCwgICAg
NSwgICAgNywgICAgOCwgICAgNiwKfCAgICAgICAgIDcsICAgIDgKfCAgICAgfSA7CnwgCnwgc3Rh
dGljIHl5Y29uc3Qgc2hvcnQgaW50IHl5X2FjY2VwdFsxNF0gPQp8ICAgICB7ICAgMCwKfCAgICAg
ICAgIDEsICAgIDEsICAgIDEsICAgIDIsICAgIDQsICAgIDUsICAgIDgsICAgMTEsICAgMTQsICAg
MTcsCnwgICAgICAgIDIwLCAgIDIzLCAgIDIzCnwgICAgIH0gOwp8IAp8IHN0YXRpYyB5eWNvbnN0
IGludCB5eV9lY1syNTZdID0KfCAgICAgeyAgIDAsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAyLAp8ICAgICAgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAg
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAg
ICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAzLCAg
ICA0LCAgICA1LCAgICA2LAp8IAp8ICAgICAgICAgNywgICAgOCwgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAg
ICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwKfCAKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwKfCAgICAgICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsCnwgICAgICAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LAp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMQp8ICAgICB9IDsKfCAKfCBzdGF0
aWMgeXljb25zdCBpbnQgeXlfbWV0YVs5XSA9CnwgICAgIHsgICAwLAp8ICAgICAgICAgMSwgICAg
MSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMQp8ICAgICB9IDsKfCAKfCBzdGF0
aWMgeXljb25zdCBzaG9ydCBpbnQgeXlfYmFzZVsxM10gPQp8ICAgICB7ICAgMCwKfCAgICAgICAg
IDAsICAgIDAsICAgIDksICAgMTAsICAgMTAsICAgMTAsICAgMTAsICAgMTAsICAgMTAsICAgMTAs
CnwgICAgICAgIDEwLCAgIDEwCnwgICAgIH0gOwp8IAp8IHN0YXRpYyB5eWNvbnN0IHNob3J0IGlu
dCB5eV9kZWZbMTNdID0KfCAgICAgeyAgIDAsCnwgICAgICAgIDEyLCAgICAxLCAgIDEyLCAgIDEy
LCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLAp8ICAgICAgICAxMiwgICAgMAp8
ICAgICB9IDsKfCAKfCBzdGF0aWMgeXljb25zdCBzaG9ydCBpbnQgeXlfbnh0WzE5XSA9CnwgICAg
IHsgICAwLAp8ICAgICAgICAgNCwgICAgNSwgICAgNiwgICAgNywgICAgOCwgICAgOSwgICAxMCwg
ICAxMSwgICAxMiwgICAgMywKfCAgICAgICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAg
MTIsICAgMTIsICAgMTIKfCAgICAgfSA7CnwgCnwgc3RhdGljIHl5Y29uc3Qgc2hvcnQgaW50IHl5
X2Noa1sxOV0gPQp8ICAgICB7ICAgMCwKfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsICAgIDEsICAgIDEsICAgIDEsICAgIDMsICAgMTIsCnwgICAgICAgIDEyLCAgIDEyLCAgIDEy
LCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyLCAgIDEyCnwgICAgIH0gOwp8IAp8IHN0YXRpYyB5eV9z
dGF0ZV90eXBlIHl5X3N0YXRlX2J1ZltZWV9CVUZfU0laRSArIDJdLCAqeXlfc3RhdGVfcHRyOwp8
IHN0YXRpYyBjaGFyICp5eV9mdWxsX21hdGNoOwp8IHN0YXRpYyBpbnQgeXlfbHA7CnwgI2RlZmlu
ZSBSRUpFQ1QgXAp8IHsgXAp8ICp5eV9jcCA9IHl5X2hvbGRfY2hhcjsgLyogdW5kbyBlZmZlY3Rz
IG9mIHNldHRpbmcgdXAgeXl0ZXh0ICovIFwKfCB5eV9jcCA9IHl5X2Z1bGxfbWF0Y2g7IC8qIHJl
c3RvcmUgcG9zcy4gYmFja2VkLW92ZXIgdGV4dCAqLyBcCnwgKyt5eV9scDsgXAp8IGdvdG8gZmlu
ZF9ydWxlOyBcCnwgfQp8IHN0YXRpYyBpbnQgeXlfbW9yZV9mbGFnID0gMDsKfCBzdGF0aWMgaW50
IHl5X21vcmVfbGVuID0gMDsKfCAjZGVmaW5lIHl5bW9yZSgpICh5eV9tb3JlX2ZsYWcgPSAxKQp8
ICNkZWZpbmUgWVlfTU9SRV9BREogeXlfbW9yZV9sZW4KfCAjZGVmaW5lIFlZX1JFU1RPUkVfWVlf
TU9SRV9PRkZTRVQKfCBjaGFyICp5eXRleHQ7CnwgI2xpbmUgMSAiY29uZnRlc3QubCIKfCAjZGVm
aW5lIElOSVRJQUwgMAp8ICNsaW5lIDM5MCAibGV4Lnl5LmMiCnwgCnwgLyogTWFjcm9zIGFmdGVy
IHRoaXMgcG9pbnQgY2FuIGFsbCBiZSBvdmVycmlkZGVuIGJ5IHVzZXIgZGVmaW5pdGlvbnMgaW4K
fCAgKiBzZWN0aW9uIDEuCnwgICovCnwgCnwgI2lmbmRlZiBZWV9TS0lQX1lZV1JBUAp8ICNpZmRl
ZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIgaW50IHl5d3JhcCBZWV9QUk9UTygoIHZvaWQgKSk7
CnwgI2Vsc2UKfCBleHRlcm4gaW50IHl5d3JhcCBZWV9QUk9UTygoIHZvaWQgKSk7CnwgI2VuZGlm
CnwgI2VuZGlmCnwgCnwgI2lmbmRlZiBZWV9OT19VTlBVVAp8IHN0YXRpYyB2b2lkIHl5dW5wdXQg
WVlfUFJPVE8oKCBpbnQgYywgY2hhciAqYnVmX3B0ciApKTsKfCAjZW5kaWYKfCAKfCAjaWZuZGVm
IHl5dGV4dF9wdHIKfCBzdGF0aWMgdm9pZCB5eV9mbGV4X3N0cm5jcHkgWVlfUFJPVE8oKCBjaGFy
ICosIHl5Y29uc3QgY2hhciAqLCBpbnQgKSk7CnwgI2VuZGlmCnwgCnwgI2lmZGVmIFlZX05FRURf
U1RSTEVOCnwgc3RhdGljIGludCB5eV9mbGV4X3N0cmxlbiBZWV9QUk9UTygoIHl5Y29uc3QgY2hh
ciAqICkpOwp8ICNlbmRpZgp8IAp8ICNpZm5kZWYgWVlfTk9fSU5QVVQKfCAjaWZkZWYgX19jcGx1
c3BsdXMKfCBzdGF0aWMgaW50IHl5aW5wdXQgWVlfUFJPVE8oKCB2b2lkICkpOwp8ICNlbHNlCnwg
c3RhdGljIGludCBpbnB1dCBZWV9QUk9UTygoIHZvaWQgKSk7CnwgI2VuZGlmCnwgI2VuZGlmCnwg
CnwgI2lmIFlZX1NUQUNLX1VTRUQKfCBzdGF0aWMgaW50IHl5X3N0YXJ0X3N0YWNrX3B0ciA9IDA7
Cnwgc3RhdGljIGludCB5eV9zdGFydF9zdGFja19kZXB0aCA9IDA7Cnwgc3RhdGljIGludCAqeXlf
c3RhcnRfc3RhY2sgPSAwOwp8ICNpZm5kZWYgWVlfTk9fUFVTSF9TVEFURQp8IHN0YXRpYyB2b2lk
IHl5X3B1c2hfc3RhdGUgWVlfUFJPVE8oKCBpbnQgbmV3X3N0YXRlICkpOwp8ICNlbmRpZgp8ICNp
Zm5kZWYgWVlfTk9fUE9QX1NUQVRFCnwgc3RhdGljIHZvaWQgeXlfcG9wX3N0YXRlIFlZX1BST1RP
KCggdm9pZCApKTsKfCAjZW5kaWYKfCAjaWZuZGVmIFlZX05PX1RPUF9TVEFURQp8IHN0YXRpYyBp
bnQgeXlfdG9wX3N0YXRlIFlZX1BST1RPKCggdm9pZCApKTsKfCAjZW5kaWYKfCAKfCAjZWxzZQp8
ICNkZWZpbmUgWVlfTk9fUFVTSF9TVEFURSAxCnwgI2RlZmluZSBZWV9OT19QT1BfU1RBVEUgMQp8
ICNkZWZpbmUgWVlfTk9fVE9QX1NUQVRFIDEKfCAjZW5kaWYKfCAKfCAjaWZkZWYgWVlfTUFMTE9D
X0RFQ0wKfCBZWV9NQUxMT0NfREVDTAp8ICNlbHNlCnwgI2lmIF9fU1REQ19fCnwgI2lmbmRlZiBf
X2NwbHVzcGx1cwp8ICNpbmNsdWRlIDxzdGRsaWIuaD4KfCAjZW5kaWYKfCAjZWxzZQp8IC8qIEp1
c3QgdHJ5IHRvIGdldCBieSB3aXRob3V0IGRlY2xhcmluZyB0aGUgcm91dGluZXMuICBUaGlzIHdp
bGwgZmFpbAp8ICAqIG1pc2VyYWJseSBvbiBub24tQU5TSSBzeXN0ZW1zIGZvciB3aGljaCBzaXpl
b2Yoc2l6ZV90KSAhPSBzaXplb2YoaW50KQp8ICAqIG9yIHNpemVvZih2b2lkKikgIT0gc2l6ZW9m
KGludCkuCnwgICovCnwgI2VuZGlmCnwgI2VuZGlmCnwgCnwgLyogQW1vdW50IG9mIHN0dWZmIHRv
IHNsdXJwIHVwIHdpdGggZWFjaCByZWFkLiAqLwp8ICNpZm5kZWYgWVlfUkVBRF9CVUZfU0laRQp8
ICNkZWZpbmUgWVlfUkVBRF9CVUZfU0laRSA4MTkyCnwgI2VuZGlmCnwgCnwgLyogQ29weSB3aGF0
ZXZlciB0aGUgbGFzdCBydWxlIG1hdGNoZWQgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC4gKi8KfCAK
fCAjaWZuZGVmIEVDSE8KfCAvKiBUaGlzIHVzZWQgdG8gYmUgYW4gZnB1dHMoKSwgYnV0IHNpbmNl
IHRoZSBzdHJpbmcgbWlnaHQgY29udGFpbiBOVUwncywKfCAgKiB3ZSBub3cgdXNlIGZ3cml0ZSgp
Lgp8ICAqLwp8ICNkZWZpbmUgRUNITyAodm9pZCkgZndyaXRlKCB5eXRleHQsIHl5bGVuZywgMSwg
eXlvdXQgKQp8ICNlbmRpZgp8IAp8IC8qIEdldHMgaW5wdXQgYW5kIHN0dWZmcyBpdCBpbnRvICJi
dWYiLiAgbnVtYmVyIG9mIGNoYXJhY3RlcnMgcmVhZCwgb3IgWVlfTlVMTCwKfCAgKiBpcyByZXR1
cm5lZCBpbiAicmVzdWx0Ii4KfCAgKi8KfCAjaWZuZGVmIFlZX0lOUFVUCnwgI2RlZmluZSBZWV9J
TlBVVChidWYscmVzdWx0LG1heF9zaXplKSBcCnwgCWlmICggeXlfY3VycmVudF9idWZmZXItPnl5
X2lzX2ludGVyYWN0aXZlICkgXAp8IAkJeyBcCnwgCQlpbnQgYyA9ICcqJywgbjsgXAp8IAkJZm9y
ICggbiA9IDA7IG4gPCBtYXhfc2l6ZSAmJiBcCnwgCQkJICAgICAoYyA9IGdldGMoIHl5aW4gKSkg
IT0gRU9GICYmIGMgIT0gJ1xuJzsgKytuICkgXAp8IAkJCWJ1ZltuXSA9IChjaGFyKSBjOyBcCnwg
CQlpZiAoIGMgPT0gJ1xuJyApIFwKfCAJCQlidWZbbisrXSA9IChjaGFyKSBjOyBcCnwgCQlpZiAo
IGMgPT0gRU9GICYmIGZlcnJvciggeXlpbiApICkgXAp8IAkJCVlZX0ZBVEFMX0VSUk9SKCAiaW5w
dXQgaW4gZmxleCBzY2FubmVyIGZhaWxlZCIgKTsgXAp8IAkJcmVzdWx0ID0gbjsgXAp8IAkJfSBc
CnwgCWVsc2UgaWYgKCAoKHJlc3VsdCA9IGZyZWFkKCBidWYsIDEsIG1heF9zaXplLCB5eWluICkp
ID09IDApIFwKfCAJCSAgJiYgZmVycm9yKCB5eWluICkgKSBcCnwgCQlZWV9GQVRBTF9FUlJPUigg
ImlucHV0IGluIGZsZXggc2Nhbm5lciBmYWlsZWQiICk7CnwgI2VuZGlmCnwgCnwgLyogTm8gc2Vt
aS1jb2xvbiBhZnRlciByZXR1cm47IGNvcnJlY3QgdXNhZ2UgaXMgdG8gd3JpdGUgInl5dGVybWlu
YXRlKCk7IiAtCnwgICogd2UgZG9uJ3Qgd2FudCBhbiBleHRyYSAnOycgYWZ0ZXIgdGhlICJyZXR1
cm4iIGJlY2F1c2UgdGhhdCB3aWxsIGNhdXNlCnwgICogc29tZSBjb21waWxlcnMgdG8gY29tcGxh
aW4gYWJvdXQgdW5yZWFjaGFibGUgc3RhdGVtZW50cy4KfCAgKi8KfCAjaWZuZGVmIHl5dGVybWlu
YXRlCnwgI2RlZmluZSB5eXRlcm1pbmF0ZSgpIHJldHVybiBZWV9OVUxMCnwgI2VuZGlmCnwgCnwg
LyogTnVtYmVyIG9mIGVudHJpZXMgYnkgd2hpY2ggc3RhcnQtY29uZGl0aW9uIHN0YWNrIGdyb3dz
LiAqLwp8ICNpZm5kZWYgWVlfU1RBUlRfU1RBQ0tfSU5DUgp8ICNkZWZpbmUgWVlfU1RBUlRfU1RB
Q0tfSU5DUiAyNQp8ICNlbmRpZgp8IAp8IC8qIFJlcG9ydCBhIGZhdGFsIGVycm9yLiAqLwp8ICNp
Zm5kZWYgWVlfRkFUQUxfRVJST1IKfCAjZGVmaW5lIFlZX0ZBVEFMX0VSUk9SKG1zZykgeXlfZmF0
YWxfZXJyb3IoIG1zZyApCnwgI2VuZGlmCnwgCnwgLyogRGVmYXVsdCBkZWNsYXJhdGlvbiBvZiBn
ZW5lcmF0ZWQgc2Nhbm5lciAtIGEgZGVmaW5lIHNvIHRoZSB1c2VyIGNhbgp8ICAqIGVhc2lseSBh
ZGQgcGFyYW1ldGVycy4KfCAgKi8KfCAjaWZuZGVmIFlZX0RFQ0wKfCAjZGVmaW5lIFlZX0RFQ0wg
aW50IHl5bGV4IFlZX1BST1RPKCggdm9pZCApKQp8ICNlbmRpZgp8IAp8IC8qIENvZGUgZXhlY3V0
ZWQgYXQgdGhlIGJlZ2lubmluZyBvZiBlYWNoIHJ1bGUsIGFmdGVyIHl5dGV4dCBhbmQgeXlsZW5n
CnwgICogaGF2ZSBiZWVuIHNldCB1cC4KfCAgKi8KfCAjaWZuZGVmIFlZX1VTRVJfQUNUSU9OCnwg
I2RlZmluZSBZWV9VU0VSX0FDVElPTgp8ICNlbmRpZgp8IAp8IC8qIENvZGUgZXhlY3V0ZWQgYXQg
dGhlIGVuZCBvZiBlYWNoIHJ1bGUuICovCnwgI2lmbmRlZiBZWV9CUkVBSwp8ICNkZWZpbmUgWVlf
QlJFQUsgYnJlYWs7CnwgI2VuZGlmCnwgCnwgI2RlZmluZSBZWV9SVUxFX1NFVFVQIFwKfCAJWVlf
VVNFUl9BQ1RJT04KfCAKfCBZWV9ERUNMCnwgCXsKfCAJcmVnaXN0ZXIgeXlfc3RhdGVfdHlwZSB5
eV9jdXJyZW50X3N0YXRlOwp8IAlyZWdpc3RlciBjaGFyICp5eV9jcCwgKnl5X2JwOwp8IAlyZWdp
c3RlciBpbnQgeXlfYWN0Owp8IAp8ICNsaW5lIDEgImNvbmZ0ZXN0LmwiCnwgCnwgI2xpbmUgNTQz
ICJsZXgueXkuYyIKfCAKfCAJaWYgKCB5eV9pbml0ICkKfCAJCXsKfCAJCXl5X2luaXQgPSAwOwp8
IAp8ICNpZmRlZiBZWV9VU0VSX0lOSVQKfCAJCVlZX1VTRVJfSU5JVDsKfCAjZW5kaWYKfCAKfCAJ
CWlmICggISB5eV9zdGFydCApCnwgCQkJeXlfc3RhcnQgPSAxOwkvKiBmaXJzdCBzdGFydCBzdGF0
ZSAqLwp8IAp8IAkJaWYgKCAhIHl5aW4gKQp8IAkJCXl5aW4gPSBzdGRpbjsKfCAKfCAJCWlmICgg
ISB5eW91dCApCnwgCQkJeXlvdXQgPSBzdGRvdXQ7CnwgCnwgCQlpZiAoICEgeXlfY3VycmVudF9i
dWZmZXIgKQp8IAkJCXl5X2N1cnJlbnRfYnVmZmVyID0KfCAJCQkJeXlfY3JlYXRlX2J1ZmZlcigg
eXlpbiwgWVlfQlVGX1NJWkUgKTsKfCAKfCAJCXl5X2xvYWRfYnVmZmVyX3N0YXRlKCk7CnwgCQl9
CnwgCnwgCXdoaWxlICggMSApCQkvKiBsb29wcyB1bnRpbCBlbmQtb2YtZmlsZSBpcyByZWFjaGVk
ICovCnwgCQl7CnwgCQl5eV9tb3JlX2xlbiA9IDA7CnwgCQlpZiAoIHl5X21vcmVfZmxhZyApCnwg
CQkJewp8IAkJCXl5X21vcmVfbGVuID0geXlfY19idWZfcCAtIHl5dGV4dF9wdHI7CnwgCQkJeXlf
bW9yZV9mbGFnID0gMDsKfCAJCQl9CnwgCQl5eV9jcCA9IHl5X2NfYnVmX3A7CnwgCnwgCQkvKiBT
dXBwb3J0IG9mIHl5dGV4dC4gKi8KfCAJCSp5eV9jcCA9IHl5X2hvbGRfY2hhcjsKfCAKfCAJCS8q
IHl5X2JwIHBvaW50cyB0byB0aGUgcG9zaXRpb24gaW4geXlfY2hfYnVmIG9mIHRoZSBzdGFydCBv
Zgp8IAkJICogdGhlIGN1cnJlbnQgcnVuLgp8IAkJICovCnwgCQl5eV9icCA9IHl5X2NwOwp8IAp8
IAkJeXlfY3VycmVudF9zdGF0ZSA9IHl5X3N0YXJ0Owp8IAkJeXlfc3RhdGVfcHRyID0geXlfc3Rh
dGVfYnVmOwp8IAkJKnl5X3N0YXRlX3B0cisrID0geXlfY3VycmVudF9zdGF0ZTsKfCB5eV9tYXRj
aDoKfCAJCWRvCnwgCQkJewp8IAkJCXJlZ2lzdGVyIFlZX0NIQVIgeXlfYyA9IHl5X2VjW1lZX1ND
X1RPX1VJKCp5eV9jcCldOwp8IAkJCXdoaWxlICggeXlfY2hrW3l5X2Jhc2VbeXlfY3VycmVudF9z
dGF0ZV0gKyB5eV9jXSAhPSB5eV9jdXJyZW50X3N0YXRlICkKfCAJCQkJewp8IAkJCQl5eV9jdXJy
ZW50X3N0YXRlID0gKGludCkgeXlfZGVmW3l5X2N1cnJlbnRfc3RhdGVdOwp8IAkJCQlpZiAoIHl5
X2N1cnJlbnRfc3RhdGUgPj0gMTMgKQp8IAkJCQkJeXlfYyA9IHl5X21ldGFbKHVuc2lnbmVkIGlu
dCkgeXlfY107CnwgCQkJCX0KfCAJCQl5eV9jdXJyZW50X3N0YXRlID0geXlfbnh0W3l5X2Jhc2Vb
eXlfY3VycmVudF9zdGF0ZV0gKyAodW5zaWduZWQgaW50KSB5eV9jXTsKfCAJCQkqeXlfc3RhdGVf
cHRyKysgPSB5eV9jdXJyZW50X3N0YXRlOwp8IAkJCSsreXlfY3A7CnwgCQkJfQp8IAkJd2hpbGUg
KCB5eV9iYXNlW3l5X2N1cnJlbnRfc3RhdGVdICE9IDEwICk7CnwgCnwgeXlfZmluZF9hY3Rpb246
CnwgCQl5eV9jdXJyZW50X3N0YXRlID0gKi0teXlfc3RhdGVfcHRyOwp8IAkJeXlfbHAgPSB5eV9h
Y2NlcHRbeXlfY3VycmVudF9zdGF0ZV07CnwgZ290byBmaW5kX3J1bGU7IC8qIGF2b2lkIGBkZWZp
bmVkIGJ1dCBub3QgdXNlZCcgd2FybmluZyAqLwp8IGZpbmRfcnVsZTogLyogd2UgYnJhbmNoIHRv
IHRoaXMgbGFiZWwgd2hlbiBiYWNraW5nIHVwICovCnwgCQlmb3IgKCA7IDsgKSAvKiB1bnRpbCB3
ZSBmaW5kIHdoYXQgcnVsZSB3ZSBtYXRjaGVkICovCnwgCQkJewp8IAkJCWlmICggeXlfbHAgJiYg
eXlfbHAgPCB5eV9hY2NlcHRbeXlfY3VycmVudF9zdGF0ZSArIDFdICkKfCAJCQkJewp8IAkJCQl5
eV9hY3QgPSB5eV9hY2NsaXN0W3l5X2xwXTsKfCAJCQkJCXsKfCAJCQkJCXl5X2Z1bGxfbWF0Y2gg
PSB5eV9jcDsKfCAJCQkJCWJyZWFrOwp8IAkJCQkJfQp8IAkJCQl9CnwgCQkJLS15eV9jcDsKfCAJ
CQl5eV9jdXJyZW50X3N0YXRlID0gKi0teXlfc3RhdGVfcHRyOwp8IAkJCXl5X2xwID0geXlfYWNj
ZXB0W3l5X2N1cnJlbnRfc3RhdGVdOwp8IAkJCX0KfCAKfCAJCVlZX0RPX0JFRk9SRV9BQ1RJT047
CnwgCnwgCnwgZG9fYWN0aW9uOgkvKiBUaGlzIGxhYmVsIGlzIHVzZWQgb25seSB0byBhY2Nlc3Mg
RU9GIGFjdGlvbnMuICovCnwgCnwgCnwgCQlzd2l0Y2ggKCB5eV9hY3QgKQp8IAl7IC8qIGJlZ2lu
bmluZyBvZiBhY3Rpb24gc3dpdGNoICovCnwgY2FzZSAxOgp8IFlZX1JVTEVfU0VUVVAKfCAjbGlu
ZSAyICJjb25mdGVzdC5sIgp8IHsgRUNITzsgfQp8IAlZWV9CUkVBSwp8IGNhc2UgMjoKfCBZWV9S
VUxFX1NFVFVQCnwgI2xpbmUgMyAiY29uZnRlc3QubCIKfCB7IFJFSkVDVDsgfQp8IAlZWV9CUkVB
Swp8IGNhc2UgMzoKfCBZWV9SVUxFX1NFVFVQCnwgI2xpbmUgNCAiY29uZnRlc3QubCIKfCB7IHl5
bW9yZSAoKTsgfQp8IAlZWV9CUkVBSwp8IGNhc2UgNDoKfCBZWV9SVUxFX1NFVFVQCnwgI2xpbmUg
NSAiY29uZnRlc3QubCIKfCB7IHl5bGVzcyAoMSk7IH0KfCAJWVlfQlJFQUsKfCBjYXNlIDU6Cnwg
WVlfUlVMRV9TRVRVUAp8ICNsaW5lIDYgImNvbmZ0ZXN0LmwiCnwgeyB5eWxlc3MgKGlucHV0ICgp
ICE9IDApOyB9CnwgCVlZX0JSRUFLCnwgY2FzZSA2Ogp8IFlZX1JVTEVfU0VUVVAKfCAjbGluZSA3
ICJjb25mdGVzdC5sIgp8IHsgdW5wdXQgKHl5dGV4dFswXSk7IH0KfCAJWVlfQlJFQUsKfCBjYXNl
IDc6CnwgWVlfUlVMRV9TRVRVUAp8ICNsaW5lIDggImNvbmZ0ZXN0LmwiCnwgeyBCRUdJTiBJTklU
SUFMOyB9CnwgCVlZX0JSRUFLCnwgY2FzZSA4Ogp8IFlZX1JVTEVfU0VUVVAKfCAjbGluZSA5ICJj
b25mdGVzdC5sIgp8IEVDSE87CnwgCVlZX0JSRUFLCnwgI2xpbmUgNjc0ICJsZXgueXkuYyIKfCAJ
CQljYXNlIFlZX1NUQVRFX0VPRihJTklUSUFMKToKfCAJCQkJeXl0ZXJtaW5hdGUoKTsKfCAKfCAJ
Y2FzZSBZWV9FTkRfT0ZfQlVGRkVSOgp8IAkJewp8IAkJLyogQW1vdW50IG9mIHRleHQgbWF0Y2hl
ZCBub3QgaW5jbHVkaW5nIHRoZSBFT0IgY2hhci4gKi8KfCAJCWludCB5eV9hbW91bnRfb2ZfbWF0
Y2hlZF90ZXh0ID0gKGludCkgKHl5X2NwIC0geXl0ZXh0X3B0cikgLSAxOwp8IAp8IAkJLyogVW5k
byB0aGUgZWZmZWN0cyBvZiBZWV9ET19CRUZPUkVfQUNUSU9OLiAqLwp8IAkJKnl5X2NwID0geXlf
aG9sZF9jaGFyOwp8IAkJWVlfUkVTVE9SRV9ZWV9NT1JFX09GRlNFVAp8IAp8IAkJaWYgKCB5eV9j
dXJyZW50X2J1ZmZlci0+eXlfYnVmZmVyX3N0YXR1cyA9PSBZWV9CVUZGRVJfTkVXICkKfCAJCQl7
CnwgCQkJLyogV2UncmUgc2Nhbm5pbmcgYSBuZXcgZmlsZSBvciBpbnB1dCBzb3VyY2UuICBJdCdz
CnwgCQkJICogcG9zc2libGUgdGhhdCB0aGlzIGhhcHBlbmVkIGJlY2F1c2UgdGhlIHVzZXIKfCAJ
CQkgKiBqdXN0IHBvaW50ZWQgeXlpbiBhdCBhIG5ldyBzb3VyY2UgYW5kIGNhbGxlZAp8IAkJCSAq
IHl5bGV4KCkuICBJZiBzbywgdGhlbiB3ZSBoYXZlIHRvIGFzc3VyZQp8IAkJCSAqIGNvbnNpc3Rl
bmN5IGJldHdlZW4geXlfY3VycmVudF9idWZmZXIgYW5kIG91cgp8IAkJCSAqIGdsb2JhbHMuICBI
ZXJlIGlzIHRoZSByaWdodCBwbGFjZSB0byBkbyBzbywgYmVjYXVzZQp8IAkJCSAqIHRoaXMgaXMg
dGhlIGZpcnN0IGFjdGlvbiAob3RoZXIgdGhhbiBwb3NzaWJseSBhCnwgCQkJICogYmFjay11cCkg
dGhhdCB3aWxsIG1hdGNoIGZvciB0aGUgbmV3IGlucHV0IHNvdXJjZS4KfCAJCQkgKi8KfCAJCQl5
eV9uX2NoYXJzID0geXlfY3VycmVudF9idWZmZXItPnl5X25fY2hhcnM7CnwgCQkJeXlfY3VycmVu
dF9idWZmZXItPnl5X2lucHV0X2ZpbGUgPSB5eWluOwp8IAkJCXl5X2N1cnJlbnRfYnVmZmVyLT55
eV9idWZmZXJfc3RhdHVzID0gWVlfQlVGRkVSX05PUk1BTDsKfCAJCQl9CnwgCnwgCQkvKiBOb3Rl
IHRoYXQgaGVyZSB3ZSB0ZXN0IGZvciB5eV9jX2J1Zl9wICI8PSIgdG8gdGhlIHBvc2l0aW9uCnwg
CQkgKiBvZiB0aGUgZmlyc3QgRU9CIGluIHRoZSBidWZmZXIsIHNpbmNlIHl5X2NfYnVmX3Agd2ls
bAp8IAkJICogYWxyZWFkeSBoYXZlIGJlZW4gaW5jcmVtZW50ZWQgcGFzdCB0aGUgTlVMIGNoYXJh
Y3Rlcgp8IAkJICogKHNpbmNlIGFsbCBzdGF0ZXMgbWFrZSB0cmFuc2l0aW9ucyBvbiBFT0IgdG8g
dGhlCnwgCQkgKiBlbmQtb2YtYnVmZmVyIHN0YXRlKS4gIENvbnRyYXN0IHRoaXMgd2l0aCB0aGUg
dGVzdAp8IAkJICogaW4gaW5wdXQoKS4KfCAJCSAqLwp8IAkJaWYgKCB5eV9jX2J1Zl9wIDw9ICZ5
eV9jdXJyZW50X2J1ZmZlci0+eXlfY2hfYnVmW3l5X25fY2hhcnNdICkKfCAJCQl7IC8qIFRoaXMg
d2FzIHJlYWxseSBhIE5VTC4gKi8KfCAJCQl5eV9zdGF0ZV90eXBlIHl5X25leHRfc3RhdGU7Cnwg
CnwgCQkJeXlfY19idWZfcCA9IHl5dGV4dF9wdHIgKyB5eV9hbW91bnRfb2ZfbWF0Y2hlZF90ZXh0
Owp8IAp8IAkJCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9nZXRfcHJldmlvdXNfc3RhdGUoKTsKfCAK
fCAJCQkvKiBPa2F5LCB3ZSdyZSBub3cgcG9zaXRpb25lZCB0byBtYWtlIHRoZSBOVUwKfCAJCQkg
KiB0cmFuc2l0aW9uLiAgV2UgY291bGRuJ3QgaGF2ZQp8IAkJCSAqIHl5X2dldF9wcmV2aW91c19z
dGF0ZSgpIGdvIGFoZWFkIGFuZCBkbyBpdAp8IAkJCSAqIGZvciB1cyBiZWNhdXNlIGl0IGRvZXNu
J3Qga25vdyBob3cgdG8gZGVhbAp8IAkJCSAqIHdpdGggdGhlIHBvc3NpYmlsaXR5IG9mIGphbW1p
bmcgKGFuZCB3ZSBkb24ndAp8IAkJCSAqIHdhbnQgdG8gYnVpbGQgamFtbWluZyBpbnRvIGl0IGJl
Y2F1c2UgdGhlbiBpdAp8IAkJCSAqIHdpbGwgcnVuIG1vcmUgc2xvd2x5KS4KfCAJCQkgKi8KfCAK
fCAJCQl5eV9uZXh0X3N0YXRlID0geXlfdHJ5X05VTF90cmFucyggeXlfY3VycmVudF9zdGF0ZSAp
Owp8IAp8IAkJCXl5X2JwID0geXl0ZXh0X3B0ciArIFlZX01PUkVfQURKOwp8IAp8IAkJCWlmICgg
eXlfbmV4dF9zdGF0ZSApCnwgCQkJCXsKfCAJCQkJLyogQ29uc3VtZSB0aGUgTlVMLiAqLwp8IAkJ
CQl5eV9jcCA9ICsreXlfY19idWZfcDsKfCAJCQkJeXlfY3VycmVudF9zdGF0ZSA9IHl5X25leHRf
c3RhdGU7CnwgCQkJCWdvdG8geXlfbWF0Y2g7CnwgCQkJCX0KfCAKfCAJCQllbHNlCnwgCQkJCXsK
fCAJCQkJeXlfY3AgPSB5eV9jX2J1Zl9wOwp8IAkJCQlnb3RvIHl5X2ZpbmRfYWN0aW9uOwp8IAkJ
CQl9CnwgCQkJfQp8IAp8IAkJZWxzZSBzd2l0Y2ggKCB5eV9nZXRfbmV4dF9idWZmZXIoKSApCnwg
CQkJewp8IAkJCWNhc2UgRU9CX0FDVF9FTkRfT0ZfRklMRToKfCAJCQkJewp8IAkJCQl5eV9kaWRf
YnVmZmVyX3N3aXRjaF9vbl9lb2YgPSAwOwp8IAp8IAkJCQlpZiAoIHl5d3JhcCgpICkKfCAJCQkJ
CXsKfCAJCQkJCS8qIE5vdGU6IGJlY2F1c2Ugd2UndmUgdGFrZW4gY2FyZSBpbgp8IAkJCQkJICog
eXlfZ2V0X25leHRfYnVmZmVyKCkgdG8gaGF2ZSBzZXQgdXAKfCAJCQkJCSAqIHl5dGV4dCwgd2Ug
Y2FuIG5vdyBzZXQgdXAKfCAJCQkJCSAqIHl5X2NfYnVmX3Agc28gdGhhdCBpZiBzb21lIHRvdGFs
CnwgCQkJCQkgKiBob3NlciAobGlrZSBmbGV4IGl0c2VsZikgd2FudHMgdG8KfCAJCQkJCSAqIGNh
bGwgdGhlIHNjYW5uZXIgYWZ0ZXIgd2UgcmV0dXJuIHRoZQp8IAkJCQkJICogWVlfTlVMTCwgaXQn
bGwgc3RpbGwgd29yayAtIGFub3RoZXIKfCAJCQkJCSAqIFlZX05VTEwgd2lsbCBnZXQgcmV0dXJu
ZWQuCnwgCQkJCQkgKi8KfCAJCQkJCXl5X2NfYnVmX3AgPSB5eXRleHRfcHRyICsgWVlfTU9SRV9B
REo7CnwgCnwgCQkJCQl5eV9hY3QgPSBZWV9TVEFURV9FT0YoWVlfU1RBUlQpOwp8IAkJCQkJZ290
byBkb19hY3Rpb247CnwgCQkJCQl9CnwgCnwgCQkJCWVsc2UKfCAJCQkJCXsKfCAJCQkJCWlmICgg
ISB5eV9kaWRfYnVmZmVyX3N3aXRjaF9vbl9lb2YgKQp8IAkJCQkJCVlZX05FV19GSUxFOwp8IAkJ
CQkJfQp8IAkJCQlicmVhazsKfCAJCQkJfQp8IAp8IAkJCWNhc2UgRU9CX0FDVF9DT05USU5VRV9T
Q0FOOgp8IAkJCQl5eV9jX2J1Zl9wID0KfCAJCQkJCXl5dGV4dF9wdHIgKyB5eV9hbW91bnRfb2Zf
bWF0Y2hlZF90ZXh0Owp8IAp8IAkJCQl5eV9jdXJyZW50X3N0YXRlID0geXlfZ2V0X3ByZXZpb3Vz
X3N0YXRlKCk7CnwgCnwgCQkJCXl5X2NwID0geXlfY19idWZfcDsKfCAJCQkJeXlfYnAgPSB5eXRl
eHRfcHRyICsgWVlfTU9SRV9BREo7CnwgCQkJCWdvdG8geXlfbWF0Y2g7CnwgCnwgCQkJY2FzZSBF
T0JfQUNUX0xBU1RfTUFUQ0g6CnwgCQkJCXl5X2NfYnVmX3AgPQp8IAkJCQkmeXlfY3VycmVudF9i
dWZmZXItPnl5X2NoX2J1Zlt5eV9uX2NoYXJzXTsKfCAKfCAJCQkJeXlfY3VycmVudF9zdGF0ZSA9
IHl5X2dldF9wcmV2aW91c19zdGF0ZSgpOwp8IAp8IAkJCQl5eV9jcCA9IHl5X2NfYnVmX3A7Cnwg
CQkJCXl5X2JwID0geXl0ZXh0X3B0ciArIFlZX01PUkVfQURKOwp8IAkJCQlnb3RvIHl5X2ZpbmRf
YWN0aW9uOwp8IAkJCX0KfCAJCWJyZWFrOwp8IAkJfQp8IAp8IAlkZWZhdWx0Ogp8IAkJWVlfRkFU
QUxfRVJST1IoCnwgCQkJImZhdGFsIGZsZXggc2Nhbm5lciBpbnRlcm5hbCBlcnJvci0tbm8gYWN0
aW9uIGZvdW5kIiApOwp8IAl9IC8qIGVuZCBvZiBhY3Rpb24gc3dpdGNoICovCnwgCQl9IC8qIGVu
ZCBvZiBzY2FubmluZyBvbmUgdG9rZW4gKi8KfCAJfSAvKiBlbmQgb2YgeXlsZXggKi8KfCAKfCAK
fCAvKiB5eV9nZXRfbmV4dF9idWZmZXIgLSB0cnkgdG8gcmVhZCBpbiBhIG5ldyBidWZmZXIKfCAg
Kgp8ICAqIFJldHVybnMgYSBjb2RlIHJlcHJlc2VudGluZyBhbiBhY3Rpb246CnwgICoJRU9CX0FD
VF9MQVNUX01BVENIIC0KfCAgKglFT0JfQUNUX0NPTlRJTlVFX1NDQU4gLSBjb250aW51ZSBzY2Fu
bmluZyBmcm9tIGN1cnJlbnQgcG9zaXRpb24KfCAgKglFT0JfQUNUX0VORF9PRl9GSUxFIC0gZW5k
IG9mIGZpbGUKfCAgKi8KfCAKfCBzdGF0aWMgaW50IHl5X2dldF9uZXh0X2J1ZmZlcigpCnwgCXsK
fCAJcmVnaXN0ZXIgY2hhciAqZGVzdCA9IHl5X2N1cnJlbnRfYnVmZmVyLT55eV9jaF9idWY7Cnwg
CXJlZ2lzdGVyIGNoYXIgKnNvdXJjZSA9IHl5dGV4dF9wdHI7CnwgCXJlZ2lzdGVyIGludCBudW1i
ZXJfdG9fbW92ZSwgaTsKfCAJaW50IHJldF92YWw7CnwgCnwgCWlmICggeXlfY19idWZfcCA+ICZ5
eV9jdXJyZW50X2J1ZmZlci0+eXlfY2hfYnVmW3l5X25fY2hhcnMgKyAxXSApCnwgCQlZWV9GQVRB
TF9FUlJPUigKfCAJCSJmYXRhbCBmbGV4IHNjYW5uZXIgaW50ZXJuYWwgZXJyb3ItLWVuZCBvZiBi
dWZmZXIgbWlzc2VkIiApOwp8IAp8IAlpZiAoIHl5X2N1cnJlbnRfYnVmZmVyLT55eV9maWxsX2J1
ZmZlciA9PSAwICkKfCAJCXsgLyogRG9uJ3QgdHJ5IHRvIGZpbGwgdGhlIGJ1ZmZlciwgc28gdGhp
cyBpcyBhbiBFT0YuICovCnwgCQlpZiAoIHl5X2NfYnVmX3AgLSB5eXRleHRfcHRyIC0gWVlfTU9S
RV9BREogPT0gMSApCnwgCQkJewp8IAkJCS8qIFdlIG1hdGNoZWQgYSBzaW5nbGUgY2hhcmFjdGVy
LCB0aGUgRU9CLCBzbwp8IAkJCSAqIHRyZWF0IHRoaXMgYXMgYSBmaW5hbCBFT0YuCnwgCQkJICov
CnwgCQkJcmV0dXJuIEVPQl9BQ1RfRU5EX09GX0ZJTEU7CnwgCQkJfQp8IAp8IAkJZWxzZQp8IAkJ
CXsKfCAJCQkvKiBXZSBtYXRjaGVkIHNvbWUgdGV4dCBwcmlvciB0byB0aGUgRU9CLCBmaXJzdAp8
IAkJCSAqIHByb2Nlc3MgaXQuCnwgCQkJICovCnwgCQkJcmV0dXJuIEVPQl9BQ1RfTEFTVF9NQVRD
SDsKfCAJCQl9CnwgCQl9CnwgCnwgCS8qIFRyeSB0byByZWFkIG1vcmUgZGF0YS4gKi8KfCAKfCAJ
LyogRmlyc3QgbW92ZSBsYXN0IGNoYXJzIHRvIHN0YXJ0IG9mIGJ1ZmZlci4gKi8KfCAJbnVtYmVy
X3RvX21vdmUgPSAoaW50KSAoeXlfY19idWZfcCAtIHl5dGV4dF9wdHIpIC0gMTsKfCAKfCAJZm9y
ICggaSA9IDA7IGkgPCBudW1iZXJfdG9fbW92ZTsgKytpICkKfCAJCSooZGVzdCsrKSA9ICooc291
cmNlKyspOwp8IAp8IAlpZiAoIHl5X2N1cnJlbnRfYnVmZmVyLT55eV9idWZmZXJfc3RhdHVzID09
IFlZX0JVRkZFUl9FT0ZfUEVORElORyApCnwgCQkvKiBkb24ndCBkbyB0aGUgcmVhZCwgaXQncyBu
b3QgZ3VhcmFudGVlZCB0byByZXR1cm4gYW4gRU9GLAp8IAkJICoganVzdCBmb3JjZSBhbiBFT0YK
fCAJCSAqLwp8IAkJeXlfY3VycmVudF9idWZmZXItPnl5X25fY2hhcnMgPSB5eV9uX2NoYXJzID0g
MDsKfCAKfCAJZWxzZQp8IAkJewp8IAkJaW50IG51bV90b19yZWFkID0KfCAJCQl5eV9jdXJyZW50
X2J1ZmZlci0+eXlfYnVmX3NpemUgLSBudW1iZXJfdG9fbW92ZSAtIDE7CnwgCnwgCQl3aGlsZSAo
IG51bV90b19yZWFkIDw9IDAgKQp8IAkJCXsgLyogTm90IGVub3VnaCByb29tIGluIHRoZSBidWZm
ZXIgLSBncm93IGl0LiAqLwp8ICNpZmRlZiBZWV9VU0VTX1JFSkVDVAp8IAkJCVlZX0ZBVEFMX0VS
Uk9SKAp8ICJpbnB1dCBidWZmZXIgb3ZlcmZsb3csIGNhbid0IGVubGFyZ2UgYnVmZmVyIGJlY2F1
c2Ugc2Nhbm5lciB1c2VzIFJFSkVDVCIgKTsKfCAjZWxzZQp8IAp8IAkJCS8qIGp1c3QgYSBzaG9y
dGVyIG5hbWUgZm9yIHRoZSBjdXJyZW50IGJ1ZmZlciAqLwp8IAkJCVlZX0JVRkZFUl9TVEFURSBi
ID0geXlfY3VycmVudF9idWZmZXI7CnwgCnwgCQkJaW50IHl5X2NfYnVmX3Bfb2Zmc2V0ID0KfCAJ
CQkJKGludCkgKHl5X2NfYnVmX3AgLSBiLT55eV9jaF9idWYpOwp8IAp8IAkJCWlmICggYi0+eXlf
aXNfb3VyX2J1ZmZlciApCnwgCQkJCXsKfCAJCQkJaW50IG5ld19zaXplID0gYi0+eXlfYnVmX3Np
emUgKiAyOwp8IAp8IAkJCQlpZiAoIG5ld19zaXplIDw9IDAgKQp8IAkJCQkJYi0+eXlfYnVmX3Np
emUgKz0gYi0+eXlfYnVmX3NpemUgLyA4Owp8IAkJCQllbHNlCnwgCQkJCQliLT55eV9idWZfc2l6
ZSAqPSAyOwp8IAp8IAkJCQliLT55eV9jaF9idWYgPSAoY2hhciAqKQp8IAkJCQkJLyogSW5jbHVk
ZSByb29tIGluIGZvciAyIEVPQiBjaGFycy4gKi8KfCAJCQkJCXl5X2ZsZXhfcmVhbGxvYyggKHZv
aWQgKikgYi0+eXlfY2hfYnVmLAp8IAkJCQkJCQkgYi0+eXlfYnVmX3NpemUgKyAyICk7CnwgCQkJ
CX0KfCAJCQllbHNlCnwgCQkJCS8qIENhbid0IGdyb3cgaXQsIHdlIGRvbid0IG93biBpdC4gKi8K
fCAJCQkJYi0+eXlfY2hfYnVmID0gMDsKfCAKfCAJCQlpZiAoICEgYi0+eXlfY2hfYnVmICkKfCAJ
CQkJWVlfRkFUQUxfRVJST1IoCnwgCQkJCSJmYXRhbCBlcnJvciAtIHNjYW5uZXIgaW5wdXQgYnVm
ZmVyIG92ZXJmbG93IiApOwp8IAp8IAkJCXl5X2NfYnVmX3AgPSAmYi0+eXlfY2hfYnVmW3l5X2Nf
YnVmX3Bfb2Zmc2V0XTsKfCAKfCAJCQludW1fdG9fcmVhZCA9IHl5X2N1cnJlbnRfYnVmZmVyLT55
eV9idWZfc2l6ZSAtCnwgCQkJCQkJbnVtYmVyX3RvX21vdmUgLSAxOwp8ICNlbmRpZgp8IAkJCX0K
fCAKfCAJCWlmICggbnVtX3RvX3JlYWQgPiBZWV9SRUFEX0JVRl9TSVpFICkKfCAJCQludW1fdG9f
cmVhZCA9IFlZX1JFQURfQlVGX1NJWkU7CnwgCnwgCQkvKiBSZWFkIGluIG1vcmUgZGF0YS4gKi8K
fCAJCVlZX0lOUFVUKCAoJnl5X2N1cnJlbnRfYnVmZmVyLT55eV9jaF9idWZbbnVtYmVyX3RvX21v
dmVdKSwKfCAJCQl5eV9uX2NoYXJzLCBudW1fdG9fcmVhZCApOwp8IAp8IAkJeXlfY3VycmVudF9i
dWZmZXItPnl5X25fY2hhcnMgPSB5eV9uX2NoYXJzOwp8IAkJfQp8IAp8IAlpZiAoIHl5X25fY2hh
cnMgPT0gMCApCnwgCQl7CnwgCQlpZiAoIG51bWJlcl90b19tb3ZlID09IFlZX01PUkVfQURKICkK
fCAJCQl7CnwgCQkJcmV0X3ZhbCA9IEVPQl9BQ1RfRU5EX09GX0ZJTEU7CnwgCQkJeXlyZXN0YXJ0
KCB5eWluICk7CnwgCQkJfQp8IAp8IAkJZWxzZQp8IAkJCXsKfCAJCQlyZXRfdmFsID0gRU9CX0FD
VF9MQVNUX01BVENIOwp8IAkJCXl5X2N1cnJlbnRfYnVmZmVyLT55eV9idWZmZXJfc3RhdHVzID0K
fCAJCQkJWVlfQlVGRkVSX0VPRl9QRU5ESU5HOwp8IAkJCX0KfCAJCX0KfCAKfCAJZWxzZQp8IAkJ
cmV0X3ZhbCA9IEVPQl9BQ1RfQ09OVElOVUVfU0NBTjsKfCAKfCAJeXlfbl9jaGFycyArPSBudW1i
ZXJfdG9fbW92ZTsKfCAJeXlfY3VycmVudF9idWZmZXItPnl5X2NoX2J1Zlt5eV9uX2NoYXJzXSA9
IFlZX0VORF9PRl9CVUZGRVJfQ0hBUjsKfCAJeXlfY3VycmVudF9idWZmZXItPnl5X2NoX2J1Zlt5
eV9uX2NoYXJzICsgMV0gPSBZWV9FTkRfT0ZfQlVGRkVSX0NIQVI7CnwgCnwgCXl5dGV4dF9wdHIg
PSAmeXlfY3VycmVudF9idWZmZXItPnl5X2NoX2J1ZlswXTsKfCAKfCAJcmV0dXJuIHJldF92YWw7
CnwgCX0KfCAKfCAKfCAvKiB5eV9nZXRfcHJldmlvdXNfc3RhdGUgLSBnZXQgdGhlIHN0YXRlIGp1
c3QgYmVmb3JlIHRoZSBFT0IgY2hhciB3YXMgcmVhY2hlZCAqLwp8IAp8IHN0YXRpYyB5eV9zdGF0
ZV90eXBlIHl5X2dldF9wcmV2aW91c19zdGF0ZSgpCnwgCXsKfCAJcmVnaXN0ZXIgeXlfc3RhdGVf
dHlwZSB5eV9jdXJyZW50X3N0YXRlOwp8IAlyZWdpc3RlciBjaGFyICp5eV9jcDsKfCAKfCAJeXlf
Y3VycmVudF9zdGF0ZSA9IHl5X3N0YXJ0Owp8IAl5eV9zdGF0ZV9wdHIgPSB5eV9zdGF0ZV9idWY7
CnwgCSp5eV9zdGF0ZV9wdHIrKyA9IHl5X2N1cnJlbnRfc3RhdGU7CnwgCnwgCWZvciAoIHl5X2Nw
ID0geXl0ZXh0X3B0ciArIFlZX01PUkVfQURKOyB5eV9jcCA8IHl5X2NfYnVmX3A7ICsreXlfY3Ag
KQp8IAkJewp8IAkJcmVnaXN0ZXIgWVlfQ0hBUiB5eV9jID0gKCp5eV9jcCA/IHl5X2VjW1lZX1ND
X1RPX1VJKCp5eV9jcCldIDogMSk7CnwgCQl3aGlsZSAoIHl5X2Noa1t5eV9iYXNlW3l5X2N1cnJl
bnRfc3RhdGVdICsgeXlfY10gIT0geXlfY3VycmVudF9zdGF0ZSApCnwgCQkJewp8IAkJCXl5X2N1
cnJlbnRfc3RhdGUgPSAoaW50KSB5eV9kZWZbeXlfY3VycmVudF9zdGF0ZV07CnwgCQkJaWYgKCB5
eV9jdXJyZW50X3N0YXRlID49IDEzICkKfCAJCQkJeXlfYyA9IHl5X21ldGFbKHVuc2lnbmVkIGlu
dCkgeXlfY107CnwgCQkJfQp8IAkJeXlfY3VycmVudF9zdGF0ZSA9IHl5X254dFt5eV9iYXNlW3l5
X2N1cnJlbnRfc3RhdGVdICsgKHVuc2lnbmVkIGludCkgeXlfY107CnwgCQkqeXlfc3RhdGVfcHRy
KysgPSB5eV9jdXJyZW50X3N0YXRlOwp8IAkJfQp8IAp8IAlyZXR1cm4geXlfY3VycmVudF9zdGF0
ZTsKfCAJfQp8IAp8IAp8IC8qIHl5X3RyeV9OVUxfdHJhbnMgLSB0cnkgdG8gbWFrZSBhIHRyYW5z
aXRpb24gb24gdGhlIE5VTCBjaGFyYWN0ZXIKfCAgKgp8ICAqIHN5bm9wc2lzCnwgICoJbmV4dF9z
dGF0ZSA9IHl5X3RyeV9OVUxfdHJhbnMoIGN1cnJlbnRfc3RhdGUgKTsKfCAgKi8KfCAKfCAjaWZk
ZWYgWVlfVVNFX1BST1RPUwp8IHN0YXRpYyB5eV9zdGF0ZV90eXBlIHl5X3RyeV9OVUxfdHJhbnMo
IHl5X3N0YXRlX3R5cGUgeXlfY3VycmVudF9zdGF0ZSApCnwgI2Vsc2UKfCBzdGF0aWMgeXlfc3Rh
dGVfdHlwZSB5eV90cnlfTlVMX3RyYW5zKCB5eV9jdXJyZW50X3N0YXRlICkKfCB5eV9zdGF0ZV90
eXBlIHl5X2N1cnJlbnRfc3RhdGU7CnwgI2VuZGlmCnwgCXsKfCAJcmVnaXN0ZXIgaW50IHl5X2lz
X2phbTsKfCAKfCAJcmVnaXN0ZXIgWVlfQ0hBUiB5eV9jID0gMTsKfCAJd2hpbGUgKCB5eV9jaGtb
eXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArIHl5X2NdICE9IHl5X2N1cnJlbnRfc3RhdGUgKQp8
IAkJewp8IAkJeXlfY3VycmVudF9zdGF0ZSA9IChpbnQpIHl5X2RlZlt5eV9jdXJyZW50X3N0YXRl
XTsKfCAJCWlmICggeXlfY3VycmVudF9zdGF0ZSA+PSAxMyApCnwgCQkJeXlfYyA9IHl5X21ldGFb
KHVuc2lnbmVkIGludCkgeXlfY107CnwgCQl9CnwgCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9ueHRb
eXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArICh1bnNpZ25lZCBpbnQpIHl5X2NdOwp8IAl5eV9p
c19qYW0gPSAoeXlfY3VycmVudF9zdGF0ZSA9PSAxMik7CnwgCWlmICggISB5eV9pc19qYW0gKQp8
IAkJKnl5X3N0YXRlX3B0cisrID0geXlfY3VycmVudF9zdGF0ZTsKfCAKfCAJcmV0dXJuIHl5X2lz
X2phbSA/IDAgOiB5eV9jdXJyZW50X3N0YXRlOwp8IAl9CnwgCnwgCnwgI2lmbmRlZiBZWV9OT19V
TlBVVAp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TCnwgc3RhdGljIHZvaWQgeXl1bnB1dCggaW50IGMs
IHJlZ2lzdGVyIGNoYXIgKnl5X2JwICkKfCAjZWxzZQp8IHN0YXRpYyB2b2lkIHl5dW5wdXQoIGMs
IHl5X2JwICkKfCBpbnQgYzsKfCByZWdpc3RlciBjaGFyICp5eV9icDsKfCAjZW5kaWYKfCAJewp8
IAlyZWdpc3RlciBjaGFyICp5eV9jcCA9IHl5X2NfYnVmX3A7CnwgCnwgCS8qIHVuZG8gZWZmZWN0
cyBvZiBzZXR0aW5nIHVwIHl5dGV4dCAqLwp8IAkqeXlfY3AgPSB5eV9ob2xkX2NoYXI7CnwgCnwg
CWlmICggeXlfY3AgPCB5eV9jdXJyZW50X2J1ZmZlci0+eXlfY2hfYnVmICsgMiApCnwgCQl7IC8q
IG5lZWQgdG8gc2hpZnQgdGhpbmdzIHVwIHRvIG1ha2Ugcm9vbSAqLwp8IAkJLyogKzIgZm9yIEVP
QiBjaGFycy4gKi8KfCAJCXJlZ2lzdGVyIGludCBudW1iZXJfdG9fbW92ZSA9IHl5X25fY2hhcnMg
KyAyOwp8IAkJcmVnaXN0ZXIgY2hhciAqZGVzdCA9ICZ5eV9jdXJyZW50X2J1ZmZlci0+eXlfY2hf
YnVmWwp8IAkJCQkJeXlfY3VycmVudF9idWZmZXItPnl5X2J1Zl9zaXplICsgMl07CnwgCQlyZWdp
c3RlciBjaGFyICpzb3VyY2UgPQp8IAkJCQkmeXlfY3VycmVudF9idWZmZXItPnl5X2NoX2J1Zltu
dW1iZXJfdG9fbW92ZV07CnwgCnwgCQl3aGlsZSAoIHNvdXJjZSA+IHl5X2N1cnJlbnRfYnVmZmVy
LT55eV9jaF9idWYgKQp8IAkJCSotLWRlc3QgPSAqLS1zb3VyY2U7CnwgCnwgCQl5eV9jcCArPSAo
aW50KSAoZGVzdCAtIHNvdXJjZSk7CnwgCQl5eV9icCArPSAoaW50KSAoZGVzdCAtIHNvdXJjZSk7
CnwgCQl5eV9jdXJyZW50X2J1ZmZlci0+eXlfbl9jaGFycyA9CnwgCQkJeXlfbl9jaGFycyA9IHl5
X2N1cnJlbnRfYnVmZmVyLT55eV9idWZfc2l6ZTsKfCAKfCAJCWlmICggeXlfY3AgPCB5eV9jdXJy
ZW50X2J1ZmZlci0+eXlfY2hfYnVmICsgMiApCnwgCQkJWVlfRkFUQUxfRVJST1IoICJmbGV4IHNj
YW5uZXIgcHVzaC1iYWNrIG92ZXJmbG93IiApOwp8IAkJfQp8IAp8IAkqLS15eV9jcCA9IChjaGFy
KSBjOwp8IAp8IAp8IAl5eXRleHRfcHRyID0geXlfYnA7CnwgCXl5X2hvbGRfY2hhciA9ICp5eV9j
cDsKfCAJeXlfY19idWZfcCA9IHl5X2NwOwp8IAl9CnwgI2VuZGlmCS8qIGlmbmRlZiBZWV9OT19V
TlBVVCAqLwp8IAp8IAp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IHN0YXRpYyBpbnQgeXlpbnB1dCgp
CnwgI2Vsc2UKfCBzdGF0aWMgaW50IGlucHV0KCkKfCAjZW5kaWYKfCAJewp8IAlpbnQgYzsKfCAK
fCAJKnl5X2NfYnVmX3AgPSB5eV9ob2xkX2NoYXI7CnwgCnwgCWlmICggKnl5X2NfYnVmX3AgPT0g
WVlfRU5EX09GX0JVRkZFUl9DSEFSICkKfCAJCXsKfCAJCS8qIHl5X2NfYnVmX3Agbm93IHBvaW50
cyB0byB0aGUgY2hhcmFjdGVyIHdlIHdhbnQgdG8gcmV0dXJuLgp8IAkJICogSWYgdGhpcyBvY2N1
cnMgKmJlZm9yZSogdGhlIEVPQiBjaGFyYWN0ZXJzLCB0aGVuIGl0J3MgYQp8IAkJICogdmFsaWQg
TlVMOyBpZiBub3QsIHRoZW4gd2UndmUgaGl0IHRoZSBlbmQgb2YgdGhlIGJ1ZmZlci4KfCAJCSAq
Lwp8IAkJaWYgKCB5eV9jX2J1Zl9wIDwgJnl5X2N1cnJlbnRfYnVmZmVyLT55eV9jaF9idWZbeXlf
bl9jaGFyc10gKQp8IAkJCS8qIFRoaXMgd2FzIHJlYWxseSBhIE5VTC4gKi8KfCAJCQkqeXlfY19i
dWZfcCA9ICdcMCc7CnwgCnwgCQllbHNlCnwgCQkJeyAvKiBuZWVkIG1vcmUgaW5wdXQgKi8KfCAJ
CQlpbnQgb2Zmc2V0ID0geXlfY19idWZfcCAtIHl5dGV4dF9wdHI7CnwgCQkJKyt5eV9jX2J1Zl9w
Owp8IAp8IAkJCXN3aXRjaCAoIHl5X2dldF9uZXh0X2J1ZmZlcigpICkKfCAJCQkJewp8IAkJCQlj
YXNlIEVPQl9BQ1RfTEFTVF9NQVRDSDoKfCAJCQkJCS8qIFRoaXMgaGFwcGVucyBiZWNhdXNlIHl5
X2dfbl9iKCkKfCAJCQkJCSAqIHNlZXMgdGhhdCB3ZSd2ZSBhY2N1bXVsYXRlZCBhCnwgCQkJCQkg
KiB0b2tlbiBhbmQgZmxhZ3MgdGhhdCB3ZSBuZWVkIHRvCnwgCQkJCQkgKiB0cnkgbWF0Y2hpbmcg
dGhlIHRva2VuIGJlZm9yZQp8IAkJCQkJICogcHJvY2VlZGluZy4gIEJ1dCBmb3IgaW5wdXQoKSwK
fCAJCQkJCSAqIHRoZXJlJ3Mgbm8gbWF0Y2hpbmcgdG8gY29uc2lkZXIuCnwgCQkJCQkgKiBTbyBj
b252ZXJ0IHRoZSBFT0JfQUNUX0xBU1RfTUFUQ0gKfCAJCQkJCSAqIHRvIEVPQl9BQ1RfRU5EX09G
X0ZJTEUuCnwgCQkJCQkgKi8KfCAKfCAJCQkJCS8qIFJlc2V0IGJ1ZmZlciBzdGF0dXMuICovCnwg
CQkJCQl5eXJlc3RhcnQoIHl5aW4gKTsKfCAKfCAJCQkJCS8qIGZhbGwgdGhyb3VnaCAqLwp8IAp8
IAkJCQljYXNlIEVPQl9BQ1RfRU5EX09GX0ZJTEU6CnwgCQkJCQl7CnwgCQkJCQlpZiAoIHl5d3Jh
cCgpICkKfCAJCQkJCQlyZXR1cm4gRU9GOwp8IAp8IAkJCQkJaWYgKCAhIHl5X2RpZF9idWZmZXJf
c3dpdGNoX29uX2VvZiApCnwgCQkJCQkJWVlfTkVXX0ZJTEU7CnwgI2lmZGVmIF9fY3BsdXNwbHVz
CnwgCQkJCQlyZXR1cm4geXlpbnB1dCgpOwp8ICNlbHNlCnwgCQkJCQlyZXR1cm4gaW5wdXQoKTsK
fCAjZW5kaWYKfCAJCQkJCX0KfCAKfCAJCQkJY2FzZSBFT0JfQUNUX0NPTlRJTlVFX1NDQU46Cnwg
CQkJCQl5eV9jX2J1Zl9wID0geXl0ZXh0X3B0ciArIG9mZnNldDsKfCAJCQkJCWJyZWFrOwp8IAkJ
CQl9CnwgCQkJfQp8IAkJfQp8IAp8IAljID0gKih1bnNpZ25lZCBjaGFyICopIHl5X2NfYnVmX3A7
CS8qIGNhc3QgZm9yIDgtYml0IGNoYXIncyAqLwp8IAkqeXlfY19idWZfcCA9ICdcMCc7CS8qIHBy
ZXNlcnZlIHl5dGV4dCAqLwp8IAl5eV9ob2xkX2NoYXIgPSAqKyt5eV9jX2J1Zl9wOwp8IAp8IAp8
IAlyZXR1cm4gYzsKfCAJfQp8IAp8IAp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TCnwgdm9pZCB5eXJl
c3RhcnQoIEZJTEUgKmlucHV0X2ZpbGUgKQp8ICNlbHNlCnwgdm9pZCB5eXJlc3RhcnQoIGlucHV0
X2ZpbGUgKQp8IEZJTEUgKmlucHV0X2ZpbGU7CnwgI2VuZGlmCnwgCXsKfCAJaWYgKCAhIHl5X2N1
cnJlbnRfYnVmZmVyICkKfCAJCXl5X2N1cnJlbnRfYnVmZmVyID0geXlfY3JlYXRlX2J1ZmZlcigg
eXlpbiwgWVlfQlVGX1NJWkUgKTsKfCAKfCAJeXlfaW5pdF9idWZmZXIoIHl5X2N1cnJlbnRfYnVm
ZmVyLCBpbnB1dF9maWxlICk7CnwgCXl5X2xvYWRfYnVmZmVyX3N0YXRlKCk7CnwgCX0KfCAKfCAK
fCAjaWZkZWYgWVlfVVNFX1BST1RPUwp8IHZvaWQgeXlfc3dpdGNoX3RvX2J1ZmZlciggWVlfQlVG
RkVSX1NUQVRFIG5ld19idWZmZXIgKQp8ICNlbHNlCnwgdm9pZCB5eV9zd2l0Y2hfdG9fYnVmZmVy
KCBuZXdfYnVmZmVyICkKfCBZWV9CVUZGRVJfU1RBVEUgbmV3X2J1ZmZlcjsKfCAjZW5kaWYKfCAJ
ewp8IAlpZiAoIHl5X2N1cnJlbnRfYnVmZmVyID09IG5ld19idWZmZXIgKQp8IAkJcmV0dXJuOwp8
IAp8IAlpZiAoIHl5X2N1cnJlbnRfYnVmZmVyICkKfCAJCXsKfCAJCS8qIEZsdXNoIG91dCBpbmZv
cm1hdGlvbiBmb3Igb2xkIGJ1ZmZlci4gKi8KfCAJCSp5eV9jX2J1Zl9wID0geXlfaG9sZF9jaGFy
Owp8IAkJeXlfY3VycmVudF9idWZmZXItPnl5X2J1Zl9wb3MgPSB5eV9jX2J1Zl9wOwp8IAkJeXlf
Y3VycmVudF9idWZmZXItPnl5X25fY2hhcnMgPSB5eV9uX2NoYXJzOwp8IAkJfQp8IAp8IAl5eV9j
dXJyZW50X2J1ZmZlciA9IG5ld19idWZmZXI7CnwgCXl5X2xvYWRfYnVmZmVyX3N0YXRlKCk7Cnwg
CnwgCS8qIFdlIGRvbid0IGFjdHVhbGx5IGtub3cgd2hldGhlciB3ZSBkaWQgdGhpcyBzd2l0Y2gg
ZHVyaW5nCnwgCSAqIEVPRiAoeXl3cmFwKCkpIHByb2Nlc3NpbmcsIGJ1dCB0aGUgb25seSB0aW1l
IHRoaXMgZmxhZwp8IAkgKiBpcyBsb29rZWQgYXQgaXMgYWZ0ZXIgeXl3cmFwKCkgaXMgY2FsbGVk
LCBzbyBpdCdzIHNhZmUKfCAJICogdG8gZ28gYWhlYWQgYW5kIGFsd2F5cyBzZXQgaXQuCnwgCSAq
Lwp8IAl5eV9kaWRfYnVmZmVyX3N3aXRjaF9vbl9lb2YgPSAxOwp8IAl9CnwgCnwgCnwgI2lmZGVm
IFlZX1VTRV9QUk9UT1MKfCB2b2lkIHl5X2xvYWRfYnVmZmVyX3N0YXRlKCB2b2lkICkKfCAjZWxz
ZQp8IHZvaWQgeXlfbG9hZF9idWZmZXJfc3RhdGUoKQp8ICNlbmRpZgp8IAl7CnwgCXl5X25fY2hh
cnMgPSB5eV9jdXJyZW50X2J1ZmZlci0+eXlfbl9jaGFyczsKfCAJeXl0ZXh0X3B0ciA9IHl5X2Nf
YnVmX3AgPSB5eV9jdXJyZW50X2J1ZmZlci0+eXlfYnVmX3BvczsKfCAJeXlpbiA9IHl5X2N1cnJl
bnRfYnVmZmVyLT55eV9pbnB1dF9maWxlOwp8IAl5eV9ob2xkX2NoYXIgPSAqeXlfY19idWZfcDsK
fCAJfQp8IAp8IAp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TCnwgWVlfQlVGRkVSX1NUQVRFIHl5X2Ny
ZWF0ZV9idWZmZXIoIEZJTEUgKmZpbGUsIGludCBzaXplICkKfCAjZWxzZQp8IFlZX0JVRkZFUl9T
VEFURSB5eV9jcmVhdGVfYnVmZmVyKCBmaWxlLCBzaXplICkKfCBGSUxFICpmaWxlOwp8IGludCBz
aXplOwp8ICNlbmRpZgp8IAl7CnwgCVlZX0JVRkZFUl9TVEFURSBiOwp8IAp8IAliID0gKFlZX0JV
RkZFUl9TVEFURSkgeXlfZmxleF9hbGxvYyggc2l6ZW9mKCBzdHJ1Y3QgeXlfYnVmZmVyX3N0YXRl
ICkgKTsKfCAJaWYgKCAhIGIgKQp8IAkJWVlfRkFUQUxfRVJST1IoICJvdXQgb2YgZHluYW1pYyBt
ZW1vcnkgaW4geXlfY3JlYXRlX2J1ZmZlcigpIiApOwp8IAp8IAliLT55eV9idWZfc2l6ZSA9IHNp
emU7CnwgCnwgCS8qIHl5X2NoX2J1ZiBoYXMgdG8gYmUgMiBjaGFyYWN0ZXJzIGxvbmdlciB0aGFu
IHRoZSBzaXplIGdpdmVuIGJlY2F1c2UKfCAJICogd2UgbmVlZCB0byBwdXQgaW4gMiBlbmQtb2Yt
YnVmZmVyIGNoYXJhY3RlcnMuCnwgCSAqLwp8IAliLT55eV9jaF9idWYgPSAoY2hhciAqKSB5eV9m
bGV4X2FsbG9jKCBiLT55eV9idWZfc2l6ZSArIDIgKTsKfCAJaWYgKCAhIGItPnl5X2NoX2J1ZiAp
CnwgCQlZWV9GQVRBTF9FUlJPUiggIm91dCBvZiBkeW5hbWljIG1lbW9yeSBpbiB5eV9jcmVhdGVf
YnVmZmVyKCkiICk7CnwgCnwgCWItPnl5X2lzX291cl9idWZmZXIgPSAxOwp8IAp8IAl5eV9pbml0
X2J1ZmZlciggYiwgZmlsZSApOwp8IAp8IAlyZXR1cm4gYjsKfCAJfQp8IAp8IAp8ICNpZmRlZiBZ
WV9VU0VfUFJPVE9TCnwgdm9pZCB5eV9kZWxldGVfYnVmZmVyKCBZWV9CVUZGRVJfU1RBVEUgYiAp
CnwgI2Vsc2UKfCB2b2lkIHl5X2RlbGV0ZV9idWZmZXIoIGIgKQp8IFlZX0JVRkZFUl9TVEFURSBi
Owp8ICNlbmRpZgp8IAl7CnwgCWlmICggISBiICkKfCAJCXJldHVybjsKfCAKfCAJaWYgKCBiID09
IHl5X2N1cnJlbnRfYnVmZmVyICkKfCAJCXl5X2N1cnJlbnRfYnVmZmVyID0gKFlZX0JVRkZFUl9T
VEFURSkgMDsKfCAKfCAJaWYgKCBiLT55eV9pc19vdXJfYnVmZmVyICkKfCAJCXl5X2ZsZXhfZnJl
ZSggKHZvaWQgKikgYi0+eXlfY2hfYnVmICk7CnwgCnwgCXl5X2ZsZXhfZnJlZSggKHZvaWQgKikg
YiApOwp8IAl9CnwgCnwgCnwgI2lmbmRlZiBZWV9BTFdBWVNfSU5URVJBQ1RJVkUKfCAjaWZuZGVm
IFlZX05FVkVSX0lOVEVSQUNUSVZFCnwgZXh0ZXJuIGludCBpc2F0dHkgWVlfUFJPVE8oKCBpbnQg
KSk7CnwgI2VuZGlmCnwgI2VuZGlmCnwgCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MKfCB2b2lkIHl5
X2luaXRfYnVmZmVyKCBZWV9CVUZGRVJfU1RBVEUgYiwgRklMRSAqZmlsZSApCnwgI2Vsc2UKfCB2
b2lkIHl5X2luaXRfYnVmZmVyKCBiLCBmaWxlICkKfCBZWV9CVUZGRVJfU1RBVEUgYjsKfCBGSUxF
ICpmaWxlOwp8ICNlbmRpZgp8IAp8IAp8IAl7CnwgCXl5X2ZsdXNoX2J1ZmZlciggYiApOwp8IAp8
IAliLT55eV9pbnB1dF9maWxlID0gZmlsZTsKfCAJYi0+eXlfZmlsbF9idWZmZXIgPSAxOwp8IAp8
ICNpZiBZWV9BTFdBWVNfSU5URVJBQ1RJVkUKfCAJYi0+eXlfaXNfaW50ZXJhY3RpdmUgPSAxOwp8
ICNlbHNlCnwgI2lmIFlZX05FVkVSX0lOVEVSQUNUSVZFCnwgCWItPnl5X2lzX2ludGVyYWN0aXZl
ID0gMDsKfCAjZWxzZQp8IAliLT55eV9pc19pbnRlcmFjdGl2ZSA9IGZpbGUgPyAoaXNhdHR5KCBm
aWxlbm8oZmlsZSkgKSA+IDApIDogMDsKfCAjZW5kaWYKfCAjZW5kaWYKfCAJfQp8IAp8IAp8ICNp
ZmRlZiBZWV9VU0VfUFJPVE9TCnwgdm9pZCB5eV9mbHVzaF9idWZmZXIoIFlZX0JVRkZFUl9TVEFU
RSBiICkKfCAjZWxzZQp8IHZvaWQgeXlfZmx1c2hfYnVmZmVyKCBiICkKfCBZWV9CVUZGRVJfU1RB
VEUgYjsKfCAjZW5kaWYKfCAKfCAJewp8IAlpZiAoICEgYiApCnwgCQlyZXR1cm47CnwgCnwgCWIt
Pnl5X25fY2hhcnMgPSAwOwp8IAp8IAkvKiBXZSBhbHdheXMgbmVlZCB0d28gZW5kLW9mLWJ1ZmZl
ciBjaGFyYWN0ZXJzLiAgVGhlIGZpcnN0IGNhdXNlcwp8IAkgKiBhIHRyYW5zaXRpb24gdG8gdGhl
IGVuZC1vZi1idWZmZXIgc3RhdGUuICBUaGUgc2Vjb25kIGNhdXNlcwp8IAkgKiBhIGphbSBpbiB0
aGF0IHN0YXRlLgp8IAkgKi8KfCAJYi0+eXlfY2hfYnVmWzBdID0gWVlfRU5EX09GX0JVRkZFUl9D
SEFSOwp8IAliLT55eV9jaF9idWZbMV0gPSBZWV9FTkRfT0ZfQlVGRkVSX0NIQVI7CnwgCnwgCWIt
Pnl5X2J1Zl9wb3MgPSAmYi0+eXlfY2hfYnVmWzBdOwp8IAp8IAliLT55eV9hdF9ib2wgPSAxOwp8
IAliLT55eV9idWZmZXJfc3RhdHVzID0gWVlfQlVGRkVSX05FVzsKfCAKfCAJaWYgKCBiID09IHl5
X2N1cnJlbnRfYnVmZmVyICkKfCAJCXl5X2xvYWRfYnVmZmVyX3N0YXRlKCk7CnwgCX0KfCAKfCAK
fCAjaWZuZGVmIFlZX05PX1NDQU5fQlVGRkVSCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MKfCBZWV9C
VUZGRVJfU1RBVEUgeXlfc2Nhbl9idWZmZXIoIGNoYXIgKmJhc2UsIHl5X3NpemVfdCBzaXplICkK
fCAjZWxzZQp8IFlZX0JVRkZFUl9TVEFURSB5eV9zY2FuX2J1ZmZlciggYmFzZSwgc2l6ZSApCnwg
Y2hhciAqYmFzZTsKfCB5eV9zaXplX3Qgc2l6ZTsKfCAjZW5kaWYKfCAJewp8IAlZWV9CVUZGRVJf
U1RBVEUgYjsKfCAKfCAJaWYgKCBzaXplIDwgMiB8fAp8IAkgICAgIGJhc2Vbc2l6ZS0yXSAhPSBZ
WV9FTkRfT0ZfQlVGRkVSX0NIQVIgfHwKfCAJICAgICBiYXNlW3NpemUtMV0gIT0gWVlfRU5EX09G
X0JVRkZFUl9DSEFSICkKfCAJCS8qIFRoZXkgZm9yZ290IHRvIGxlYXZlIHJvb20gZm9yIHRoZSBF
T0Incy4gKi8KfCAJCXJldHVybiAwOwp8IAp8IAliID0gKFlZX0JVRkZFUl9TVEFURSkgeXlfZmxl
eF9hbGxvYyggc2l6ZW9mKCBzdHJ1Y3QgeXlfYnVmZmVyX3N0YXRlICkgKTsKfCAJaWYgKCAhIGIg
KQp8IAkJWVlfRkFUQUxfRVJST1IoICJvdXQgb2YgZHluYW1pYyBtZW1vcnkgaW4geXlfc2Nhbl9i
dWZmZXIoKSIgKTsKfCAKfCAJYi0+eXlfYnVmX3NpemUgPSBzaXplIC0gMjsJLyogIi0gMiIgdG8g
dGFrZSBjYXJlIG9mIEVPQidzICovCnwgCWItPnl5X2J1Zl9wb3MgPSBiLT55eV9jaF9idWYgPSBi
YXNlOwp8IAliLT55eV9pc19vdXJfYnVmZmVyID0gMDsKfCAJYi0+eXlfaW5wdXRfZmlsZSA9IDA7
CnwgCWItPnl5X25fY2hhcnMgPSBiLT55eV9idWZfc2l6ZTsKfCAJYi0+eXlfaXNfaW50ZXJhY3Rp
dmUgPSAwOwp8IAliLT55eV9hdF9ib2wgPSAxOwp8IAliLT55eV9maWxsX2J1ZmZlciA9IDA7Cnwg
CWItPnl5X2J1ZmZlcl9zdGF0dXMgPSBZWV9CVUZGRVJfTkVXOwp8IAp8IAl5eV9zd2l0Y2hfdG9f
YnVmZmVyKCBiICk7CnwgCnwgCXJldHVybiBiOwp8IAl9CnwgI2VuZGlmCnwgCnwgCnwgI2lmbmRl
ZiBZWV9OT19TQ0FOX1NUUklORwp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TCnwgWVlfQlVGRkVSX1NU
QVRFIHl5X3NjYW5fc3RyaW5nKCB5eWNvbnN0IGNoYXIgKnl5X3N0ciApCnwgI2Vsc2UKfCBZWV9C
VUZGRVJfU1RBVEUgeXlfc2Nhbl9zdHJpbmcoIHl5X3N0ciApCnwgeXljb25zdCBjaGFyICp5eV9z
dHI7CnwgI2VuZGlmCnwgCXsKfCAJaW50IGxlbjsKfCAJZm9yICggbGVuID0gMDsgeXlfc3RyW2xl
bl07ICsrbGVuICkKfCAJCTsKfCAKfCAJcmV0dXJuIHl5X3NjYW5fYnl0ZXMoIHl5X3N0ciwgbGVu
ICk7CnwgCX0KfCAjZW5kaWYKfCAKfCAKfCAjaWZuZGVmIFlZX05PX1NDQU5fQllURVMKfCAjaWZk
ZWYgWVlfVVNFX1BST1RPUwp8IFlZX0JVRkZFUl9TVEFURSB5eV9zY2FuX2J5dGVzKCB5eWNvbnN0
IGNoYXIgKmJ5dGVzLCBpbnQgbGVuICkKfCAjZWxzZQp8IFlZX0JVRkZFUl9TVEFURSB5eV9zY2Fu
X2J5dGVzKCBieXRlcywgbGVuICkKfCB5eWNvbnN0IGNoYXIgKmJ5dGVzOwp8IGludCBsZW47Cnwg
I2VuZGlmCnwgCXsKfCAJWVlfQlVGRkVSX1NUQVRFIGI7CnwgCWNoYXIgKmJ1ZjsKfCAJeXlfc2l6
ZV90IG47CnwgCWludCBpOwp8IAp8IAkvKiBHZXQgbWVtb3J5IGZvciBmdWxsIGJ1ZmZlciwgaW5j
bHVkaW5nIHNwYWNlIGZvciB0cmFpbGluZyBFT0Incy4gKi8KfCAJbiA9IGxlbiArIDI7CnwgCWJ1
ZiA9IChjaGFyICopIHl5X2ZsZXhfYWxsb2MoIG4gKTsKfCAJaWYgKCAhIGJ1ZiApCnwgCQlZWV9G
QVRBTF9FUlJPUiggIm91dCBvZiBkeW5hbWljIG1lbW9yeSBpbiB5eV9zY2FuX2J5dGVzKCkiICk7
CnwgCnwgCWZvciAoIGkgPSAwOyBpIDwgbGVuOyArK2kgKQp8IAkJYnVmW2ldID0gYnl0ZXNbaV07
CnwgCnwgCWJ1ZltsZW5dID0gYnVmW2xlbisxXSA9IFlZX0VORF9PRl9CVUZGRVJfQ0hBUjsKfCAK
fCAJYiA9IHl5X3NjYW5fYnVmZmVyKCBidWYsIG4gKTsKfCAJaWYgKCAhIGIgKQp8IAkJWVlfRkFU
QUxfRVJST1IoICJiYWQgYnVmZmVyIGluIHl5X3NjYW5fYnl0ZXMoKSIgKTsKfCAKfCAJLyogSXQn
cyBva2F5IHRvIGdyb3cgZXRjLiB0aGlzIGJ1ZmZlciwgYW5kIHdlIHNob3VsZCB0aHJvdyBpdAp8
IAkgKiBhd2F5IHdoZW4gd2UncmUgZG9uZS4KfCAJICovCnwgCWItPnl5X2lzX291cl9idWZmZXIg
PSAxOwp8IAp8IAlyZXR1cm4gYjsKfCAJfQp8ICNlbmRpZgp8IAp8IAp8ICNpZm5kZWYgWVlfTk9f
UFVTSF9TVEFURQp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TCnwgc3RhdGljIHZvaWQgeXlfcHVzaF9z
dGF0ZSggaW50IG5ld19zdGF0ZSApCnwgI2Vsc2UKfCBzdGF0aWMgdm9pZCB5eV9wdXNoX3N0YXRl
KCBuZXdfc3RhdGUgKQp8IGludCBuZXdfc3RhdGU7CnwgI2VuZGlmCnwgCXsKfCAJaWYgKCB5eV9z
dGFydF9zdGFja19wdHIgPj0geXlfc3RhcnRfc3RhY2tfZGVwdGggKQp8IAkJewp8IAkJeXlfc2l6
ZV90IG5ld19zaXplOwp8IAp8IAkJeXlfc3RhcnRfc3RhY2tfZGVwdGggKz0gWVlfU1RBUlRfU1RB
Q0tfSU5DUjsKfCAJCW5ld19zaXplID0geXlfc3RhcnRfc3RhY2tfZGVwdGggKiBzaXplb2YoIGlu
dCApOwp8IAp8IAkJaWYgKCAhIHl5X3N0YXJ0X3N0YWNrICkKfCAJCQl5eV9zdGFydF9zdGFjayA9
IChpbnQgKikgeXlfZmxleF9hbGxvYyggbmV3X3NpemUgKTsKfCAKfCAJCWVsc2UKfCAJCQl5eV9z
dGFydF9zdGFjayA9IChpbnQgKikgeXlfZmxleF9yZWFsbG9jKAp8IAkJCQkJKHZvaWQgKikgeXlf
c3RhcnRfc3RhY2ssIG5ld19zaXplICk7CnwgCnwgCQlpZiAoICEgeXlfc3RhcnRfc3RhY2sgKQp8
IAkJCVlZX0ZBVEFMX0VSUk9SKAp8IAkJCSJvdXQgb2YgbWVtb3J5IGV4cGFuZGluZyBzdGFydC1j
b25kaXRpb24gc3RhY2siICk7CnwgCQl9CnwgCnwgCXl5X3N0YXJ0X3N0YWNrW3l5X3N0YXJ0X3N0
YWNrX3B0cisrXSA9IFlZX1NUQVJUOwp8IAp8IAlCRUdJTihuZXdfc3RhdGUpOwp8IAl9CnwgI2Vu
ZGlmCnwgCnwgCnwgI2lmbmRlZiBZWV9OT19QT1BfU1RBVEUKfCBzdGF0aWMgdm9pZCB5eV9wb3Bf
c3RhdGUoKQp8IAl7CnwgCWlmICggLS15eV9zdGFydF9zdGFja19wdHIgPCAwICkKfCAJCVlZX0ZB
VEFMX0VSUk9SKCAic3RhcnQtY29uZGl0aW9uIHN0YWNrIHVuZGVyZmxvdyIgKTsKfCAKfCAJQkVH
SU4oeXlfc3RhcnRfc3RhY2tbeXlfc3RhcnRfc3RhY2tfcHRyXSk7CnwgCX0KfCAjZW5kaWYKfCAK
fCAKfCAjaWZuZGVmIFlZX05PX1RPUF9TVEFURQp8IHN0YXRpYyBpbnQgeXlfdG9wX3N0YXRlKCkK
fCAJewp8IAlyZXR1cm4geXlfc3RhcnRfc3RhY2tbeXlfc3RhcnRfc3RhY2tfcHRyIC0gMV07Cnwg
CX0KfCAjZW5kaWYKfCAKfCAjaWZuZGVmIFlZX0VYSVRfRkFJTFVSRQp8ICNkZWZpbmUgWVlfRVhJ
VF9GQUlMVVJFIDIKfCAjZW5kaWYKfCAKfCAjaWZkZWYgWVlfVVNFX1BST1RPUwp8IHN0YXRpYyB2
b2lkIHl5X2ZhdGFsX2Vycm9yKCB5eWNvbnN0IGNoYXIgbXNnW10gKQp8ICNlbHNlCnwgc3RhdGlj
IHZvaWQgeXlfZmF0YWxfZXJyb3IoIG1zZyApCnwgY2hhciBtc2dbXTsKfCAjZW5kaWYKfCAJewp8
IAkodm9pZCkgZnByaW50Ziggc3RkZXJyLCAiJXNcbiIsIG1zZyApOwp8IAlleGl0KCBZWV9FWElU
X0ZBSUxVUkUgKTsKfCAJfQp8IAp8IAp8IAp8IC8qIFJlZGVmaW5lIHl5bGVzcygpIHNvIGl0IHdv
cmtzIGluIHNlY3Rpb24gMyBjb2RlLiAqLwp8IAp8ICN1bmRlZiB5eWxlc3MKfCAjZGVmaW5lIHl5
bGVzcyhuKSBcCnwgCWRvIFwKfCAJCXsgXAp8IAkJLyogVW5kbyBlZmZlY3RzIG9mIHNldHRpbmcg
dXAgeXl0ZXh0LiAqLyBcCnwgCQl5eXRleHRbeXlsZW5nXSA9IHl5X2hvbGRfY2hhcjsgXAp8IAkJ
eXlfY19idWZfcCA9IHl5dGV4dCArIG47IFwKfCAJCXl5X2hvbGRfY2hhciA9ICp5eV9jX2J1Zl9w
OyBcCnwgCQkqeXlfY19idWZfcCA9ICdcMCc7IFwKfCAJCXl5bGVuZyA9IG47IFwKfCAJCX0gXAp8
IAl3aGlsZSAoIDAgKQp8IAp8IAp8IC8qIEludGVybmFsIHV0aWxpdHkgcm91dGluZXMuICovCnwg
CnwgI2lmbmRlZiB5eXRleHRfcHRyCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MKfCBzdGF0aWMgdm9p
ZCB5eV9mbGV4X3N0cm5jcHkoIGNoYXIgKnMxLCB5eWNvbnN0IGNoYXIgKnMyLCBpbnQgbiApCnwg
I2Vsc2UKfCBzdGF0aWMgdm9pZCB5eV9mbGV4X3N0cm5jcHkoIHMxLCBzMiwgbiApCnwgY2hhciAq
czE7CnwgeXljb25zdCBjaGFyICpzMjsKfCBpbnQgbjsKfCAjZW5kaWYKfCAJewp8IAlyZWdpc3Rl
ciBpbnQgaTsKfCAJZm9yICggaSA9IDA7IGkgPCBuOyArK2kgKQp8IAkJczFbaV0gPSBzMltpXTsK
fCAJfQp8ICNlbmRpZgp8IAp8ICNpZmRlZiBZWV9ORUVEX1NUUkxFTgp8ICNpZmRlZiBZWV9VU0Vf
UFJPVE9TCnwgc3RhdGljIGludCB5eV9mbGV4X3N0cmxlbiggeXljb25zdCBjaGFyICpzICkKfCAj
ZWxzZQp8IHN0YXRpYyBpbnQgeXlfZmxleF9zdHJsZW4oIHMgKQp8IHl5Y29uc3QgY2hhciAqczsK
fCAjZW5kaWYKfCAJewp8IAlyZWdpc3RlciBpbnQgbjsKfCAJZm9yICggbiA9IDA7IHNbbl07ICsr
biApCnwgCQk7CnwgCnwgCXJldHVybiBuOwp8IAl9CnwgI2VuZGlmCnwgCnwgCnwgI2lmZGVmIFlZ
X1VTRV9QUk9UT1MKfCBzdGF0aWMgdm9pZCAqeXlfZmxleF9hbGxvYyggeXlfc2l6ZV90IHNpemUg
KQp8ICNlbHNlCnwgc3RhdGljIHZvaWQgKnl5X2ZsZXhfYWxsb2MoIHNpemUgKQp8IHl5X3NpemVf
dCBzaXplOwp8ICNlbmRpZgp8IAl7CnwgCXJldHVybiAodm9pZCAqKSBtYWxsb2MoIHNpemUgKTsK
fCAJfQp8IAp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TCnwgc3RhdGljIHZvaWQgKnl5X2ZsZXhfcmVh
bGxvYyggdm9pZCAqcHRyLCB5eV9zaXplX3Qgc2l6ZSApCnwgI2Vsc2UKfCBzdGF0aWMgdm9pZCAq
eXlfZmxleF9yZWFsbG9jKCBwdHIsIHNpemUgKQp8IHZvaWQgKnB0cjsKfCB5eV9zaXplX3Qgc2l6
ZTsKfCAjZW5kaWYKfCAJewp8IAkvKiBUaGUgY2FzdCB0byAoY2hhciAqKSBpbiB0aGUgZm9sbG93
aW5nIGFjY29tbW9kYXRlcyBib3RoCnwgCSAqIGltcGxlbWVudGF0aW9ucyB0aGF0IHVzZSBjaGFy
KiBnZW5lcmljIHBvaW50ZXJzLCBhbmQgdGhvc2UKfCAJICogdGhhdCB1c2Ugdm9pZCogZ2VuZXJp
YyBwb2ludGVycy4gIEl0IHdvcmtzIHdpdGggdGhlIGxhdHRlcgp8IAkgKiBiZWNhdXNlIGJvdGgg
QU5TSSBDIGFuZCBDKysgYWxsb3cgY2FzdGxlc3MgYXNzaWdubWVudCBmcm9tCnwgCSAqIGFueSBw
b2ludGVyIHR5cGUgdG8gdm9pZCosIGFuZCBkZWFsIHdpdGggYXJndW1lbnQgY29udmVyc2lvbnMK
fCAJICogYXMgdGhvdWdoIGRvaW5nIGFuIGFzc2lnbm1lbnQuCnwgCSAqLwp8IAlyZXR1cm4gKHZv
aWQgKikgcmVhbGxvYyggKGNoYXIgKikgcHRyLCBzaXplICk7CnwgCX0KfCAKfCAjaWZkZWYgWVlf
VVNFX1BST1RPUwp8IHN0YXRpYyB2b2lkIHl5X2ZsZXhfZnJlZSggdm9pZCAqcHRyICkKfCAjZWxz
ZQp8IHN0YXRpYyB2b2lkIHl5X2ZsZXhfZnJlZSggcHRyICkKfCB2b2lkICpwdHI7CnwgI2VuZGlm
CnwgCXsKfCAJZnJlZSggcHRyICk7CnwgCX0KfCAKfCAjaWYgWVlfTUFJTgp8IGludCBtYWluKCkK
fCAJewp8IAl5eWxleCgpOwp8IAlyZXR1cm4gMDsKfCAJfQp8ICNlbmRpZgp8ICNsaW5lIDkgImNv
bmZ0ZXN0LmwiCnwgCnwgI2lmZGVmIFlZVEVYVF9QT0lOVEVSCnwgZXh0ZXJuIGNoYXIgKnl5dGV4
dDsKfCAjZW5kaWYKfCBpbnQKfCBtYWluICh2b2lkKQp8IHsKfCAgIHJldHVybiAhIHl5bGV4ICgp
ICsgISB5eXdyYXAgKCk7CnwgfQpjb25maWd1cmU6MTEyNzE6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAt
Zm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTC91c3IvbG9j
YWwvbGliIGNvbmZ0ZXN0LmMgLWxmbCAgPiY1CmNvbmZ0ZXN0Lmw6IEluIGZ1bmN0aW9uICd5eWxl
eCc6CmNvbmZ0ZXN0Lmw6Njogd2FybmluZzogY29tcGFyaXNvbiBiZXR3ZWVuIHBvaW50ZXIgYW5k
IGludGVnZXIKY29uZnRlc3QubDo2OiB3YXJuaW5nOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIg
ZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0CmNvbmZpZ3VyZToxMTI3MTogJD8gPSAwCmNvbmZp
Z3VyZToxMTI4MTogcmVzdWx0OiAtbGZsCmNvbmZpZ3VyZToxMTI4NzogY2hlY2tpbmcgd2hldGhl
ciB5eXRleHQgaXMgYSBwb2ludGVyCmNvbmZpZ3VyZToxMTMwMzogY2MgLW8gY29uZnRlc3QgLU8y
IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9s
b2NhbC9saWIgY29uZnRlc3QuYyAtbGZsICA+JjUKY29uZnRlc3QubDogSW4gZnVuY3Rpb24gJ3l5
bGV4JzoKY29uZnRlc3QubDo2OiB3YXJuaW5nOiBjb21wYXJpc29uIGJldHdlZW4gcG9pbnRlciBh
bmQgaW50ZWdlcgpjb25mdGVzdC5sOjY6IHdhcm5pbmc6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRl
ciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QKY29uZmlndXJlOjExMzAzOiAkPyA9IDAKY29u
ZmlndXJlOjExMzExOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTEzMjk6IGNoZWNraW5nIGZvciBi
aXNvbgpjb25maWd1cmU6MTEzNDU6IGZvdW5kIC91c3IvbG9jYWwvYmluL2Jpc29uCmNvbmZpZ3Vy
ZToxMTM1NjogcmVzdWx0OiBiaXNvbiAteQpjb25maWd1cmU6MTEzOTU6IGNoZWNraW5nIGZvciBk
bG9wZW4gaW4gLWxkbApjb25maWd1cmU6MTE0MjA6IGNjIC1vIGNvbmZ0ZXN0IC1Xc2lnbi1jb21w
YXJlIC1XY2FzdC1hbGlnbiAtV3BvaW50ZXItYXJpdGggLVduZXN0ZWQtZXh0ZXJucyAtV21pc3Np
bmctcHJvdG90eXBlcyAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XY2hhci1zdWJzY3JpcHRzIC1X
YWxsIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAt
TC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgLWxkbCAgID4mNQovdXNyL2Jpbi9sZDogY2Fubm90
IGZpbmQgLWxkbApjb25maWd1cmU6MTE0MjA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n
cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdvYmpl
Y3QtaW50cm9zcGVjdGlvbiIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ29iamVjdC1pbnRy
b3NwZWN0aW9uIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIwLjkuMTIiCnwgI2RlZmluZSBQ
QUNLQUdFX1NUUklORyAiZ29iamVjdC1pbnRyb3NwZWN0aW9uIDAuOS4xMiIKfCAjZGVmaW5lIFBB
Q0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/
cHJvZHVjdD1nbGliJmNvbXBvbmVudD1pbnRyb3NwZWN0aW9uIgp8ICNkZWZpbmUgUEFDS0FHRV9V
UkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgImdvYmplY3QtaW50cm9zcGVjdGlvbiIKfCAjZGVmaW5l
IFZFUlNJT04gIjAuOS4xMiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF
X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF
X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P
UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK
fCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAj
ZGVmaW5lIFlZVEVYVF9QT0lOVEVSIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyog
T3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwg
ICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEg
R0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0
aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlm
CnwgY2hhciBkbG9wZW4gKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZGxvcGVuICgp
Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTE0Mjk6IHJlc3VsdDogbm8KY29u
ZmlndXJlOjExNDQxOiBjaGVja2luZyBmb3IgdGhlIHN1ZmZpeCBvZiBzaGFyZWQgbGlicmFyaWVz
CmNvbmZpZ3VyZToxMTQ1MjogcmVzdWx0OiAuc28KY29uZmlndXJlOjExNjY1OiBjaGVja2luZyBm
b3IgR09CSkVDVApjb25maWd1cmU6MTE2NzI6ICRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQt
ZXJyb3JzICJnb2JqZWN0LTIuMCBnaW8tMi4wIgpjb25maWd1cmU6MTE2NzU6ICQ/ID0gMApjb25m
aWd1cmU6MTE2ODg6ICRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzICJnb2JqZWN0
LTIuMCBnaW8tMi4wIgpjb25maWd1cmU6MTE2OTE6ICQ/ID0gMApjb25maWd1cmU6MTE3NTA6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZToxMTc1NjogY2hlY2tpbmcgZm9yIEdUSFJFQUQKY29uZmlndXJl
OjExNzYzOiAkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAiZ3RocmVhZC0yLjAi
CmNvbmZpZ3VyZToxMTc2NjogJD8gPSAwCmNvbmZpZ3VyZToxMTc3OTogJFBLR19DT05GSUcgLS1l
eGlzdHMgLS1wcmludC1lcnJvcnMgImd0aHJlYWQtMi4wIgpjb25maWd1cmU6MTE3ODI6ICQ/ID0g
MApjb25maWd1cmU6MTE4NDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMTg0NzogY2hlY2tpbmcg
Zm9yIEdJT19VTklYCmNvbmZpZ3VyZToxMTg1NDogJFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmlu
dC1lcnJvcnMgImdpby11bml4LTIuMCIKY29uZmlndXJlOjExODU3OiAkPyA9IDAKY29uZmlndXJl
OjExODcwOiAkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAiZ2lvLXVuaXgtMi4w
Igpjb25maWd1cmU6MTE4NzM6ICQ/ID0gMApjb25maWd1cmU6MTE5MTA6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZToxMjAyNDogY2hlY2tpbmcgZm9yIFNDQU5ORVIKY29uZmlndXJlOjEyMDMxOiAkUEtH
X0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAiZ29iamVjdC0yLjAgZ3RocmVhZC0yLjAg
Z2lvLTIuMCIKY29uZmlndXJlOjEyMDM0OiAkPyA9IDAKY29uZmlndXJlOjEyMDQ3OiAkUEtHX0NP
TkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAiZ29iamVjdC0yLjAgZ3RocmVhZC0yLjAgZ2lv
LTIuMCIKY29uZmlndXJlOjEyMDUwOiAkPyA9IDAKY29uZmlndXJlOjEyMTA5OiByZXN1bHQ6IHll
cwpjb25maWd1cmU6MTIxMTY6IGNoZWNraW5nIGZvciBGRkkKY29uZmlndXJlOjEyMTIzOiAkUEtH
X0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAibGliZmZpIgpjb25maWd1cmU6MTIxMjY6
ICQ/ID0gMApjb25maWd1cmU6MTIxMzk6ICRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJy
b3JzICJsaWJmZmkiCmNvbmZpZ3VyZToxMjE0MjogJD8gPSAwCmNvbmZpZ3VyZToxMjE3OTogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjEyMjk3OiBjaGVja2luZyBzaXplIG9mIGNoYXIKY29uZmlndXJl
OjEyMzAyOiBjYyAtbyBjb25mdGVzdCAtV3NpZ24tY29tcGFyZSAtV2Nhc3QtYWxpZ24gLVdwb2lu
dGVyLWFyaXRoIC1XbmVzdGVkLWV4dGVybnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdtaXNzaW5n
LWRlY2xhcmF0aW9ucyAtV2NoYXItc3Vic2NyaXB0cyAtV2FsbCAtTzIgLWZuby1zdHJpY3QtYWxp
YXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiBjb25mdGVz
dC5jICA+JjUKY29uZmlndXJlOjEyMzAyOiAkPyA9IDAKY29uZmlndXJlOjEyMzAyOiAuL2NvbmZ0
ZXN0CmNvbmZpZ3VyZToxMjMwMjogJD8gPSAwCmNvbmZpZ3VyZToxMjMxNjogcmVzdWx0OiAxCmNv
bmZpZ3VyZToxMjMzMDogY2hlY2tpbmcgc2l6ZSBvZiBzaG9ydApjb25maWd1cmU6MTIzMzU6IGNj
IC1vIGNvbmZ0ZXN0IC1Xc2lnbi1jb21wYXJlIC1XY2FzdC1hbGlnbiAtV3BvaW50ZXItYXJpdGgg
LVduZXN0ZWQtZXh0ZXJucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV21pc3NpbmctZGVjbGFyYXRp
b25zIC1XY2hhci1zdWJzY3JpcHRzIC1XYWxsIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlw
ZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgID4mNQpj
b25maWd1cmU6MTIzMzU6ICQ/ID0gMApjb25maWd1cmU6MTIzMzU6IC4vY29uZnRlc3QKY29uZmln
dXJlOjEyMzM1OiAkPyA9IDAKY29uZmlndXJlOjEyMzQ5OiByZXN1bHQ6IDIKY29uZmlndXJlOjEy
MzYzOiBjaGVja2luZyBzaXplIG9mIGludApjb25maWd1cmU6MTIzNjg6IGNjIC1vIGNvbmZ0ZXN0
IC1Xc2lnbi1jb21wYXJlIC1XY2FzdC1hbGlnbiAtV3BvaW50ZXItYXJpdGggLVduZXN0ZWQtZXh0
ZXJucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XY2hhci1z
dWJzY3JpcHRzIC1XYWxsIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtSS91c3IvbG9j
YWwvaW5jbHVkZSAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6MTIz
Njg6ICQ/ID0gMApjb25maWd1cmU6MTIzNjg6IC4vY29uZnRlc3QKY29uZmlndXJlOjEyMzY4OiAk
PyA9IDAKY29uZmlndXJlOjEyMzgyOiByZXN1bHQ6IDQKY29uZmlndXJlOjEyMzk2OiBjaGVja2lu
ZyBzaXplIG9mIGxvbmcKY29uZmlndXJlOjEyNDAxOiBjYyAtbyBjb25mdGVzdCAtV3NpZ24tY29t
cGFyZSAtV2Nhc3QtYWxpZ24gLVdwb2ludGVyLWFyaXRoIC1XbmVzdGVkLWV4dGVybnMgLVdtaXNz
aW5nLXByb3RvdHlwZXMgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV2NoYXItc3Vic2NyaXB0cyAt
V2FsbCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUg
LUwvdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjEyNDAxOiAkPyA9IDAK
Y29uZmlndXJlOjEyNDAxOiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToxMjQwMTogJD8gPSAwCmNvbmZp
Z3VyZToxMjQxNTogcmVzdWx0OiA4CmNvbmZpZ3VyZToxMjQyODogY2hlY2tpbmcgZm9yIEdJUkVQ
Twpjb25maWd1cmU6MTI0MzU6ICRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzICJn
bGliLTIuMCA+PSAyLjI0LjAgZ29iamVjdC0yLjAgZ21vZHVsZS0yLjAgZ2lvLTIuMCIKY29uZmln
dXJlOjEyNDM4OiAkPyA9IDAKY29uZmlndXJlOjEyNDUxOiAkUEtHX0NPTkZJRyAtLWV4aXN0cyAt
LXByaW50LWVycm9ycyAiZ2xpYi0yLjAgPj0gMi4yNC4wIGdvYmplY3QtMi4wIGdtb2R1bGUtMi4w
IGdpby0yLjAiCmNvbmZpZ3VyZToxMjQ1NDogJD8gPSAwCmNvbmZpZ3VyZToxMjUxMzogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjEyNTMwOiBjaGVja2luZyBmb3IgZ3RrZG9jLWNoZWNrCmNvbmZpZ3Vy
ZToxMjU2MzogcmVzdWx0OiBubwpjb25maWd1cmU6MTI1NzI6IGNoZWNraW5nIGZvciBndGtkb2Mt
cmViYXNlCmNvbmZpZ3VyZToxMjYwNTogcmVzdWx0OiBubwpjb25maWd1cmU6MTI2MTY6IGNoZWNr
aW5nIGZvciBndGtkb2MtbWtwZGYKY29uZmlndXJlOjEyNjQ5OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy
ZToxMjY4NzogY2hlY2tpbmcgd2hldGhlciB0byBidWlsZCBndGstZG9jIGRvY3VtZW50YXRpb24K
Y29uZmlndXJlOjEyNjg5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjc1NTogY2hlY2tpbmcgZm9y
IEFOU0kgQyBoZWFkZXIgZmlsZXMKY29uZmlndXJlOjEyODU5OiByZXN1bHQ6IHllcwpjb25maWd1
cmU6MTI4NzA6IGNoZWNraW5nIGZjbnRsLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxMjg3MDogY2Mg
LWMgLVdzaWduLWNvbXBhcmUgLVdjYXN0LWFsaWduIC1XcG9pbnRlci1hcml0aCAtV25lc3RlZC1l
eHRlcm5zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdjaGFy
LXN1YnNjcmlwdHMgLVdhbGwgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9s
b2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMjg3MDogJD8gPSAwCmNvbmZp
Z3VyZToxMjg3MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyODcwOiBjaGVja2luZyBmY250bC5o
IHByZXNlbmNlCmNvbmZpZ3VyZToxMjg3MDogY3BwIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0
ZXN0LmMKY29uZmlndXJlOjEyODcwOiAkPyA9IDAKY29uZmlndXJlOjEyODcwOiByZXN1bHQ6IHll
cwpjb25maWd1cmU6MTI4NzA6IGNoZWNraW5nIGZvciBmY250bC5oCmNvbmZpZ3VyZToxMjg3MDog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyODcwOiBjaGVja2luZyBmb3Igc3RkbGliLmgKY29uZmln
dXJlOjEyODcwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTI4NzA6IGNoZWNraW5nIGZvciBzdHJp
bmcuaApjb25maWd1cmU6MTI4NzA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjg4MjogY2hlY2tp
bmcgZm9yIGFuIEFOU0kgQy1jb25mb3JtaW5nIGNvbnN0CmNvbmZpZ3VyZToxMjk0NzogY2MgLWMg
LVdzaWduLWNvbXBhcmUgLVdjYXN0LWFsaWduIC1XcG9pbnRlci1hcml0aCAtV25lc3RlZC1leHRl
cm5zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdjaGFyLXN1
YnNjcmlwdHMgLVdhbGwgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2Nh
bC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoK
Y29uZnRlc3QuYzo2NTogd2FybmluZzogJ3QnIGlzIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlz
IGZ1bmN0aW9uCmNvbmZ0ZXN0LmM6ODE6IHdhcm5pbmc6ICdiJyBpcyB1c2VkIHVuaW5pdGlhbGl6
ZWQgaW4gdGhpcyBmdW5jdGlvbgpjb25mdGVzdC5jOjg3OiB3YXJuaW5nOiAnY3NbMF0nIGlzIHVz
ZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCmNvbmZpZ3VyZToxMjk0NzogJD8gPSAw
CmNvbmZpZ3VyZToxMjk1NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyOTY0OiBjaGVja2luZyBm
b3Igd29ya2luZyBzdHJ0b2QKY29uZmlndXJlOjEzMDA1OiBjYyAtbyBjb25mdGVzdCAtV3NpZ24t
Y29tcGFyZSAtV2Nhc3QtYWxpZ24gLVdwb2ludGVyLWFyaXRoIC1XbmVzdGVkLWV4dGVybnMgLVdt
aXNzaW5nLXByb3RvdHlwZXMgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV2NoYXItc3Vic2NyaXB0
cyAtV2FsbCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1
ZGUgLUwvdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjEzMDA1OiAkPyA9
IDAKY29uZmlndXJlOjEzMDA1OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZToxMzAwNTogJD8gPSAwCmNv
bmZpZ3VyZToxMzAxNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMDgwOiBjaGVja2luZyBmb3Ig
bWVtY2hyCmNvbmZpZ3VyZToxMzA4MDogY2MgLW8gY29uZnRlc3QgLVdzaWduLWNvbXBhcmUgLVdj
YXN0LWFsaWduIC1XcG9pbnRlci1hcml0aCAtV25lc3RlZC1leHRlcm5zIC1XbWlzc2luZy1wcm90
b3R5cGVzIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdjaGFyLXN1YnNjcmlwdHMgLVdhbGwgLU8y
IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9s
b2NhbC9saWIgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZToxMzA4MDogJD8gPSAwCmNvbmZpZ3Vy
ZToxMzA4MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMDgwOiBjaGVja2luZyBmb3Igc3RyY2hy
CmNvbmZpZ3VyZToxMzA4MDogY2MgLW8gY29uZnRlc3QgLVdzaWduLWNvbXBhcmUgLVdjYXN0LWFs
aWduIC1XcG9pbnRlci1hcml0aCAtV25lc3RlZC1leHRlcm5zIC1XbWlzc2luZy1wcm90b3R5cGVz
IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdjaGFyLXN1YnNjcmlwdHMgLVdhbGwgLU8yIC1mbm8t
c3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vzci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9s
aWIgY29uZnRlc3QuYyAgPiY1CmNvbmZ0ZXN0LmM6NjA6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5
cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiAnc3RyY2hyJwpjb25maWd1cmU6MTMwODA6ICQ/ID0g
MApjb25maWd1cmU6MTMwODA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzA4MDogY2hlY2tpbmcg
Zm9yIHN0cnNwbgpjb25maWd1cmU6MTMwODA6IGNjIC1vIGNvbmZ0ZXN0IC1Xc2lnbi1jb21wYXJl
IC1XY2FzdC1hbGlnbiAtV3BvaW50ZXItYXJpdGggLVduZXN0ZWQtZXh0ZXJucyAtV21pc3Npbmct
cHJvdG90eXBlcyAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XY2hhci1zdWJzY3JpcHRzIC1XYWxs
IC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZSAtSS91c3IvbG9jYWwvaW5jbHVkZSAtTC91
c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgID4mNQpjb25mdGVzdC5jOjYxOiB3YXJuaW5nOiBjb25m
bGljdGluZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gJ3N0cnNwbicKY29uZmlndXJlOjEz
MDgwOiAkPyA9IDAKY29uZmlndXJlOjEzMDgwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMwODA6
IGNoZWNraW5nIGZvciBzdHJzdHIKY29uZmlndXJlOjEzMDgwOiBjYyAtbyBjb25mdGVzdCAtV3Np
Z24tY29tcGFyZSAtV2Nhc3QtYWxpZ24gLVdwb2ludGVyLWFyaXRoIC1XbmVzdGVkLWV4dGVybnMg
LVdtaXNzaW5nLXByb3RvdHlwZXMgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV2NoYXItc3Vic2Ny
aXB0cyAtV2FsbCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xvY2FsL2lu
Y2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5jICA+JjUKY29uZnRlc3QuYzo2Mjogd2Fy
bmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdzdHJzdHInCmNv
bmZpZ3VyZToxMzA4MDogJD8gPSAwCmNvbmZpZ3VyZToxMzA4MDogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjEzMDgwOiBjaGVja2luZyBmb3Igc3RydG9sCmNvbmZpZ3VyZToxMzA4MDogY2MgLW8gY29u
ZnRlc3QgLVdzaWduLWNvbXBhcmUgLVdjYXN0LWFsaWduIC1XcG9pbnRlci1hcml0aCAtV25lc3Rl
ZC1leHRlcm5zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdj
aGFyLXN1YnNjcmlwdHMgLVdhbGwgLU8yIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1JL3Vz
ci9sb2NhbC9pbmNsdWRlIC1ML3Vzci9sb2NhbC9saWIgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3Vy
ZToxMzA4MDogJD8gPSAwCmNvbmZpZ3VyZToxMzA4MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEz
MDgwOiBjaGVja2luZyBmb3Igc3RydG91bGwKY29uZmlndXJlOjEzMDgwOiBjYyAtbyBjb25mdGVz
dCAtV3NpZ24tY29tcGFyZSAtV2Nhc3QtYWxpZ24gLVdwb2ludGVyLWFyaXRoIC1XbmVzdGVkLWV4
dGVybnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV2NoYXIt
c3Vic2NyaXB0cyAtV2FsbCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xv
Y2FsL2luY2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjEz
MDgwOiAkPyA9IDAKY29uZmlndXJlOjEzMDgwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMwOTI6
IGNoZWNraW5nIGZvciBiYWNrdHJhY2UKY29uZmlndXJlOjEzMDkyOiBjYyAtbyBjb25mdGVzdCAt
V3NpZ24tY29tcGFyZSAtV2Nhc3QtYWxpZ24gLVdwb2ludGVyLWFyaXRoIC1XbmVzdGVkLWV4dGVy
bnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV2NoYXItc3Vi
c2NyaXB0cyAtV2FsbCAtTzIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLXBpcGUgLUkvdXNyL2xvY2Fs
L2luY2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5jICA+JjUKL3Zhci90bXAvL2Njb29y
TndtLm8oLnRleHQrMHg3KTogSW4gZnVuY3Rpb24gYG1haW4nOgo6IHVuZGVmaW5lZCByZWZlcmVu
Y2UgdG8gYGJhY2t0cmFjZScKY29uZmlndXJlOjEzMDkyOiAkPyA9IDEKY29uZmlndXJlOiBmYWls
ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F
ICJnb2JqZWN0LWludHJvc3BlY3Rpb24iCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImdvYmpl
Y3QtaW50cm9zcGVjdGlvbiIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMC45LjEyIgp8ICNk
ZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdvYmplY3QtaW50cm9zcGVjdGlvbiAwLjkuMTIiCnwgI2Rl
ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9i
dWcuY2dpP3Byb2R1Y3Q9Z2xpYiZjb21wb25lbnQ9aW50cm9zcGVjdGlvbiIKfCAjZGVmaW5lIFBB
Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJnb2JqZWN0LWludHJvc3BlY3Rpb24iCnwg
I2RlZmluZSBWRVJTSU9OICIwLjkuMTIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp
bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB
VkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J
TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT
VERfSCAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGli
cy8iCnwgI2RlZmluZSBZWVRFWFRfUE9JTlRFUiAxCnwgI2RlZmluZSBTSExJQl9TVUZGSVggInNv
Igp8ICNkZWZpbmUgR09CSkVDVF9JTlRST1NQRUNUSU9OX0xJQkRJUiAiL3Vzci9sb2NhbC9saWIi
CnwgI2RlZmluZSBHSVJfU1VGRklYICJnaXItMS4wIgp8ICNkZWZpbmUgR0lSX0RJUiAiL3Vzci9s
b2NhbC9zaGFyZS9naXItMS4wIgp8ICNkZWZpbmUgU0laRU9GX0NIQVIgMQp8ICNkZWZpbmUgU0la
RU9GX1NIT1JUIDIKfCAjZGVmaW5lIFNJWkVPRl9JTlQgNAp8ICNkZWZpbmUgU0laRU9GX0xPTkcg
OAp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg
SEFWRV9NRU1DSFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJDSFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJT
UE4gMQp8ICNkZWZpbmUgSEFWRV9TVFJTVFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0wgMQp8ICNk
ZWZpbmUgSEFWRV9TVFJUT1VMTCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmlu
ZSBiYWNrdHJhY2UgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBk
ZWNsYXJlcyBiYWNrdHJhY2UuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+
IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBiYWNrdHJhY2UgaW5ub2N1b3Vz
X2JhY2t0cmFjZQp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3Mg
YW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdp
dGggY2hhciBiYWNrdHJhY2UgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8
YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4g
ZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9f
U1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0
Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGJhY2t0cmFjZQp8IAp8IC8qIE92ZXJyaWRlIGFueSBH
Q0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJl
Y2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0
aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICov
CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgYmFja3Ry
YWNlICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25z
IHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBT
b21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5n
IHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmlu
ZWQgX19zdHViX2JhY2t0cmFjZSB8fCBkZWZpbmVkIF9fc3R1Yl9fX2JhY2t0cmFjZQp8IGNob2tl
IG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gYmFja3RyYWNlICgp
Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTMwOTI6IHJlc3VsdDogbm8KY29u
ZmlndXJlOjEzMDkyOiBjaGVja2luZyBmb3IgYmFja3RyYWNlX3N5bWJvbHMKY29uZmlndXJlOjEz
MDkyOiBjYyAtbyBjb25mdGVzdCAtV3NpZ24tY29tcGFyZSAtV2Nhc3QtYWxpZ24gLVdwb2ludGVy
LWFyaXRoIC1XbmVzdGVkLWV4dGVybnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdtaXNzaW5nLWRl
Y2xhcmF0aW9ucyAtV2NoYXItc3Vic2NyaXB0cyAtV2FsbCAtTzIgLWZuby1zdHJpY3QtYWxpYXNp
bmcgLXBpcGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUwvdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5j
ICA+JjUKL3Zhci90bXAvL2NjbEdveFVjLm8oLnRleHQrMHg3KTogSW4gZnVuY3Rpb24gYG1haW4n
Ogo6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGJhY2t0cmFjZV9zeW1ib2xzJwpjb25maWd1cmU6
MTMwOTI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm
cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImdvYmplY3QtaW50cm9zcGVjdGlvbiIKfCAj
ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ29iamVjdC1pbnRyb3NwZWN0aW9uIgp8ICNkZWZpbmUg
UEFDS0FHRV9WRVJTSU9OICIwLjkuMTIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZ29iamVj
dC1pbnRyb3NwZWN0aW9uIDAuOS4xMiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRw
Oi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliJmNvbXBvbmVu
dD1pbnRyb3NwZWN0aW9uIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tB
R0UgImdvYmplY3QtaW50cm9zcGVjdGlvbiIKfCAjZGVmaW5lIFZFUlNJT04gIjAuOS4xMiIKfCAj
ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l
IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF
X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05f
SCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIFlZVEVYVF9QT0lOVEVS
IDEKfCAjZGVmaW5lIFNITElCX1NVRkZJWCAic28iCnwgI2RlZmluZSBHT0JKRUNUX0lOVFJPU1BF
Q1RJT05fTElCRElSICIvdXNyL2xvY2FsL2xpYiIKfCAjZGVmaW5lIEdJUl9TVUZGSVggImdpci0x
LjAiCnwgI2RlZmluZSBHSVJfRElSICIvdXNyL2xvY2FsL3NoYXJlL2dpci0xLjAiCnwgI2RlZmlu
ZSBTSVpFT0ZfQ0hBUiAxCnwgI2RlZmluZSBTSVpFT0ZfU0hPUlQgMgp8ICNkZWZpbmUgU0laRU9G
X0lOVCA0CnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8
ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTUNIUiAxCnwgI2RlZmluZSBIQVZF
X1NUUkNIUiAxCnwgI2RlZmluZSBIQVZFX1NUUlNQTiAxCnwgI2RlZmluZSBIQVZFX1NUUlNUUiAx
CnwgI2RlZmluZSBIQVZFX1NUUlRPTCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPVUxMIDEKfCAvKiBl
bmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGJhY2t0cmFjZV9zeW1ib2xzIHRvIGFuIGlu
bm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgYmFja3RyYWNlX3N5
bWJvbHMuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdl
dHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBiYWNrdHJhY2Vfc3ltYm9scyBpbm5vY3VvdXNfYmFj
a3RyYWNlX3N5bWJvbHMKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFj
cm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGlj
dCB3aXRoIGNoYXIgYmFja3RyYWNlX3N5bWJvbHMgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxp
bWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAg
IDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwg
CnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5j
bHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGJhY2t0cmFjZV9zeW1ib2xzCnwg
CnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJy
b3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl
IG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv
dWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwg
I2VuZGlmCnwgY2hhciBiYWNrdHJhY2Vfc3ltYm9scyAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFy
eSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRv
IGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5h
bWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUg
aXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9iYWNrdHJhY2Vfc3ltYm9scyB8
fCBkZWZpbmVkIF9fc3R1Yl9fX2JhY2t0cmFjZV9zeW1ib2xzCnwgY2hva2UgbWUKfCAjZW5kaWYK
fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBiYWNrdHJhY2Vfc3ltYm9scyAoKTsKfCAg
IDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEzMDkyOiByZXN1bHQ6IG5vCmNvbmZpZ3Vy
ZToxMzEwNDogY2hlY2tpbmcgd2hldGhlciBQeXRob24gc3VwcG9ydCBpcyByZXF1ZXN0ZWQKY29u
ZmlndXJlOjEzMTEzOiBjaGVja2luZyB3aGV0aGVyIC91c3IvbG9jYWwvYmluL3B5dGhvbjIuNiB2
ZXJzaW9uID49IDIuNQpjb25maWd1cmU6MTMxMjQ6IC91c3IvbG9jYWwvYmluL3B5dGhvbjIuNiAt
YyBpbXBvcnQgc3lzICMgc3BsaXQgc3RyaW5ncyBieSAnLicgYW5kIGNvbnZlcnQgdG8gbnVtZXJp
Yy4gQXBwZW5kIHNvbWUgemVyb3MgIyBiZWNhdXNlIHdlIG5lZWQgYXQgbGVhc3QgNCBkaWdpdHMg
Zm9yIHRoZSBoZXggY29udmVyc2lvbi4gIyBtYXAgcmV0dXJucyBhbiBpdGVyYXRvciBpbiBQeXRo
b24gMy4wIGFuZCBhIGxpc3QgaW4gMi54IG1pbnZlciA9IGxpc3QobWFwKGludCwgJzIuNScuc3Bs
aXQoJy4nKSkpICsgWzAsIDAsIDBdIG1pbnZlcmhleCA9IDAgIyB4cmFuZ2UgaXMgbm90IHByZXNl
bnQgaW4gUHl0aG9uIDMuMCBhbmQgcmFuZ2UgcmV0dXJucyBhbiBpdGVyYXRvciBmb3IgaSBpbiBs
aXN0KHJhbmdlKDAsIDQpKTogbWludmVyaGV4ID0gKG1pbnZlcmhleCA8PCA4KSArIG1pbnZlcltp
XSBzeXMuZXhpdChzeXMuaGV4dmVyc2lvbiA8IG1pbnZlcmhleCkKY29uZmlndXJlOjEzMTI3OiAk
PyA9IDAKY29uZmlndXJlOjEzMTI5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMyMjA6IGNoZWNr
aW5nIGZvciAvdXNyL2xvY2FsL2Jpbi9weXRob24yLjYgdmVyc2lvbgpjb25maWd1cmU6MTMyMjc6
IHJlc3VsdDogMi42CmNvbmZpZ3VyZToxMzIzOTogY2hlY2tpbmcgZm9yIC91c3IvbG9jYWwvYmlu
L3B5dGhvbjIuNiBwbGF0Zm9ybQpjb25maWd1cmU6MTMyNDY6IHJlc3VsdDogZnJlZWJzZDcKY29u
ZmlndXJlOjEzMjUzOiBjaGVja2luZyBmb3IgL3Vzci9sb2NhbC9iaW4vcHl0aG9uMi42IHNjcmlw
dCBkaXJlY3RvcnkKY29uZmlndXJlOjEzMjgyOiByZXN1bHQ6ICR7cHJlZml4fS9saWIvcHl0aG9u
Mi42L3NpdGUtcGFja2FnZXMKY29uZmlndXJlOjEzMjkxOiBjaGVja2luZyBmb3IgL3Vzci9sb2Nh
bC9iaW4vcHl0aG9uMi42IGV4dGVuc2lvbiBtb2R1bGUgZGlyZWN0b3J5CmNvbmZpZ3VyZToxMzMy
MDogcmVzdWx0OiAke2V4ZWNfcHJlZml4fS9saWIvcHl0aG9uMi42L3NpdGUtcGFja2FnZXMKY29u
ZmlndXJlOjEzMzQxOiBjaGVja2luZyBmb3IgaGVhZGVycyByZXF1aXJlZCB0byBjb21waWxlIHB5
dGhvbiBleHRlbnNpb25zCmNvbmZpZ3VyZToxMzM1NjogY3BwIC1JL3Vzci9sb2NhbC9pbmNsdWRl
IC1JL3Vzci9sb2NhbC9pbmNsdWRlL3B5dGhvbjIuNiBjb25mdGVzdC5jCkluIGZpbGUgaW5jbHVk
ZWQgZnJvbSBjb25mdGVzdC5jOjQyOgovdXNyL2xvY2FsL2luY2x1ZGUvcHl0aG9uMi42L1B5dGhv
bi5oOjE2MzoxNzogZXJyb3I6IHB0aC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZp
Z3VyZToxMzM1NjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv
bmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ29iamVjdC1pbnRyb3NwZWN0aW9u
Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnb2JqZWN0LWludHJvc3BlY3Rpb24iCnwgI2Rl
ZmluZSBQQUNLQUdFX1ZFUlNJT04gIjAuOS4xMiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJn
b2JqZWN0LWludHJvc3BlY3Rpb24gMC45LjEyIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg
Imh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWImY29t
cG9uZW50PWludHJvc3BlY3Rpb24iCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg
UEFDS0FHRSAiZ29iamVjdC1pbnRyb3NwZWN0aW9uIgp8ICNkZWZpbmUgVkVSU0lPTiAiMC45LjEy
Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8
ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l
IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI
QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9E
TEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgWVlURVhUX1BP
SU5URVIgMQp8ICNkZWZpbmUgU0hMSUJfU1VGRklYICJzbyIKfCAjZGVmaW5lIEdPQkpFQ1RfSU5U
Uk9TUEVDVElPTl9MSUJESVIgIi91c3IvbG9jYWwvbGliIgp8ICNkZWZpbmUgR0lSX1NVRkZJWCAi
Z2lyLTEuMCIKfCAjZGVmaW5lIEdJUl9ESVIgIi91c3IvbG9jYWwvc2hhcmUvZ2lyLTEuMCIKfCAj
ZGVmaW5lIFNJWkVPRl9DSEFSIDEKfCAjZGVmaW5lIFNJWkVPRl9TSE9SVCAyCnwgI2RlZmluZSBT
SVpFT0ZfSU5UIDQKfCAjZGVmaW5lIFNJWkVPRl9MT05HIDgKfCAjZGVmaW5lIFNURENfSEVBREVS
UyAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg
I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNQ0hSIDEKfCAjZGVmaW5l
IEhBVkVfU1RSQ0hSIDEKfCAjZGVmaW5lIEhBVkVfU1RSU1BOIDEKfCAjZGVmaW5lIEhBVkVfU1RS
U1RSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9MIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9VTEwgMQp8
IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8UHl0aG9uLmg+CmNvbmZpZ3VyZTox
MzM2MTogcmVzdWx0OiBub3QgZm91bmQKY29uZmlndXJlOjEzMzYzOiBlcnJvcjogUHl0aG9uIGhl
YWRlcnMgbm90IGZvdW5kCgojIyAtLS0tLS0tLS0tLS0tLS0tICMjCiMjIENhY2hlIHZhcmlhYmxl
cy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLSAjIwoKYWNfY3ZfYnVpbGQ9YW1kNjQtcG9ydGJsZC1m
cmVlYnNkNy4yCmFjX2N2X2NfY29tcGlsZXJfZ251PXllcwphY19jdl9jX2NvbnN0PXllcwphY19j
dl9lbnZfQ0FJUk9fQ0ZMQUdTX3NldD0nJwphY19jdl9lbnZfQ0FJUk9fQ0ZMQUdTX3ZhbHVlPScn
CmFjX2N2X2Vudl9DQUlST19MSUJTX3NldD0nJwphY19jdl9lbnZfQ0FJUk9fTElCU192YWx1ZT0n
JwphY19jdl9lbnZfQ0Nfc2V0PXNldAphY19jdl9lbnZfQ0NfdmFsdWU9Y2MKYWNfY3ZfZW52X0NG
TEFHU19zZXQ9c2V0CmFjX2N2X2Vudl9DRkxBR1NfdmFsdWU9Jy1PMiAtZm5vLXN0cmljdC1hbGlh
c2luZyAtcGlwZScKYWNfY3ZfZW52X0NQUEZMQUdTX3NldD1zZXQKYWNfY3ZfZW52X0NQUEZMQUdT
X3ZhbHVlPS1JL3Vzci9sb2NhbC9pbmNsdWRlCmFjX2N2X2Vudl9DUFBfc2V0PXNldAphY19jdl9l
bnZfQ1BQX3ZhbHVlPWNwcAphY19jdl9lbnZfRkZJX0NGTEFHU19zZXQ9JycKYWNfY3ZfZW52X0ZG
SV9DRkxBR1NfdmFsdWU9JycKYWNfY3ZfZW52X0ZGSV9MSUJTX3NldD0nJwphY19jdl9lbnZfRkZJ
X0xJQlNfdmFsdWU9JycKYWNfY3ZfZW52X0dJT19VTklYX0NGTEFHU19zZXQ9JycKYWNfY3ZfZW52
X0dJT19VTklYX0NGTEFHU192YWx1ZT0nJwphY19jdl9lbnZfR0lPX1VOSVhfTElCU19zZXQ9JycK
YWNfY3ZfZW52X0dJT19VTklYX0xJQlNfdmFsdWU9JycKYWNfY3ZfZW52X0dJUkVQT19DRkxBR1Nf
c2V0PScnCmFjX2N2X2Vudl9HSVJFUE9fQ0ZMQUdTX3ZhbHVlPScnCmFjX2N2X2Vudl9HSVJFUE9f
TElCU19zZXQ9JycKYWNfY3ZfZW52X0dJUkVQT19MSUJTX3ZhbHVlPScnCmFjX2N2X2Vudl9HT0JK
RUNUX0NGTEFHU19zZXQ9JycKYWNfY3ZfZW52X0dPQkpFQ1RfQ0ZMQUdTX3ZhbHVlPScnCmFjX2N2
X2Vudl9HT0JKRUNUX0xJQlNfc2V0PScnCmFjX2N2X2Vudl9HT0JKRUNUX0xJQlNfdmFsdWU9JycK
YWNfY3ZfZW52X0dUSFJFQURfQ0ZMQUdTX3NldD0nJwphY19jdl9lbnZfR1RIUkVBRF9DRkxBR1Nf
dmFsdWU9JycKYWNfY3ZfZW52X0dUSFJFQURfTElCU19zZXQ9JycKYWNfY3ZfZW52X0dUSFJFQURf
TElCU192YWx1ZT0nJwphY19jdl9lbnZfTERGTEFHU19zZXQ9c2V0CmFjX2N2X2Vudl9MREZMQUdT
X3ZhbHVlPS1ML3Vzci9sb2NhbC9saWIKYWNfY3ZfZW52X0xJQlNfc2V0PScnCmFjX2N2X2Vudl9M
SUJTX3ZhbHVlPScnCmFjX2N2X2Vudl9QS0dfQ09ORklHX0xJQkRJUl9zZXQ9JycKYWNfY3ZfZW52
X1BLR19DT05GSUdfTElCRElSX3ZhbHVlPScnCmFjX2N2X2Vudl9QS0dfQ09ORklHX1BBVEhfc2V0
PScnCmFjX2N2X2Vudl9QS0dfQ09ORklHX1BBVEhfdmFsdWU9JycKYWNfY3ZfZW52X1BLR19DT05G
SUdfc2V0PScnCmFjX2N2X2Vudl9QS0dfQ09ORklHX3ZhbHVlPScnCmFjX2N2X2Vudl9TQ0FOTkVS
X0NGTEFHU19zZXQ9JycKYWNfY3ZfZW52X1NDQU5ORVJfQ0ZMQUdTX3ZhbHVlPScnCmFjX2N2X2Vu
dl9TQ0FOTkVSX0xJQlNfc2V0PScnCmFjX2N2X2Vudl9TQ0FOTkVSX0xJQlNfdmFsdWU9JycKYWNf
Y3ZfZW52X2J1aWxkX2FsaWFzX3NldD1zZXQKYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3ZhbHVlPWFt
ZDY0LXBvcnRibGQtZnJlZWJzZDcuMgphY19jdl9lbnZfaG9zdF9hbGlhc19zZXQ9JycKYWNfY3Zf
ZW52X2hvc3RfYWxpYXNfdmFsdWU9JycKYWNfY3ZfZW52X3RhcmdldF9hbGlhc19zZXQ9JycKYWNf
Y3ZfZW52X3RhcmdldF9hbGlhc192YWx1ZT0nJwphY19jdl9mdW5jX2JhY2t0cmFjZT1ubwphY19j
dl9mdW5jX2JhY2t0cmFjZV9zeW1ib2xzPW5vCmFjX2N2X2Z1bmNfbWVtY2hyPXllcwphY19jdl9m
dW5jX3N0cmNocj15ZXMKYWNfY3ZfZnVuY19zdHJzcG49eWVzCmFjX2N2X2Z1bmNfc3Ryc3RyPXll
cwphY19jdl9mdW5jX3N0cnRvZD15ZXMKYWNfY3ZfZnVuY19zdHJ0b2w9eWVzCmFjX2N2X2Z1bmNf
c3RydG91bGw9eWVzCmFjX2N2X2hlYWRlcl9kbGZjbl9oPXllcwphY19jdl9oZWFkZXJfZmNudGxf
aD15ZXMKYWNfY3ZfaGVhZGVyX2ludHR5cGVzX2g9eWVzCmFjX2N2X2hlYWRlcl9tZW1vcnlfaD15
ZXMKYWNfY3ZfaGVhZGVyX3N0ZGM9eWVzCmFjX2N2X2hlYWRlcl9zdGRpbnRfaD15ZXMKYWNfY3Zf
aGVhZGVyX3N0ZGxpYl9oPXllcwphY19jdl9oZWFkZXJfc3RyaW5nX2g9eWVzCmFjX2N2X2hlYWRl
cl9zdHJpbmdzX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfc3RhdF9oPXllcwphY19jdl9oZWFkZXJf
c3lzX3R5cGVzX2g9eWVzCmFjX2N2X2hlYWRlcl91bmlzdGRfaD15ZXMKYWNfY3ZfaG9zdD1hbWQ2
NC1wb3J0YmxkLWZyZWVic2Q3LjIKYWNfY3ZfbGliX2RsX2Rsb3Blbj1ubwphY19jdl9saWJfbGV4
PS1sZmwKYWNfY3Zfb2JqZXh0PW8KYWNfY3ZfcGF0aF9ET0xUX0JBU0g9JycKYWNfY3ZfcGF0aF9F
R1JFUD0nL3Vzci9iaW4vZ3JlcCAtRScKYWNfY3ZfcGF0aF9GR1JFUD0nL3Vzci9iaW4vZ3JlcCAt
RicKYWNfY3ZfcGF0aF9HUkVQPS91c3IvYmluL2dyZXAKYWNfY3ZfcGF0aF9TRUQ9L3Vzci9iaW4v
c2VkCmFjX2N2X3BhdGhfYWNfcHRfUEtHX0NPTkZJRz0vdXNyL2xvY2FsL2Jpbi9wa2ctY29uZmln
CmFjX2N2X3Byb2dfQVdLPW5hd2sKYWNfY3ZfcHJvZ19DUFA9Y3BwCmFjX2N2X3Byb2dfTEVYPWZs
ZXgKYWNfY3ZfcHJvZ19ZQUNDPSdiaXNvbiAteScKYWNfY3ZfcHJvZ19hY19jdF9BUj1hcgphY19j
dl9wcm9nX2FjX2N0X0NDPWNjCmFjX2N2X3Byb2dfYWNfY3RfT0JKRFVNUD1vYmpkdW1wCmFjX2N2
X3Byb2dfYWNfY3RfUkFOTElCPXJhbmxpYgphY19jdl9wcm9nX2FjX2N0X1NUUklQPXN0cmlwCmFj
X2N2X3Byb2dfY2NfYzg5PScnCmFjX2N2X3Byb2dfY2NfY2NfY19vPXllcwphY19jdl9wcm9nX2Nj
X2c9eWVzCmFjX2N2X3Byb2dfbGV4X3Jvb3Q9bGV4Lnl5CmFjX2N2X3Byb2dfbGV4X3l5dGV4dF9w
b2ludGVyPXllcwphY19jdl9wcm9nX21ha2VfZ21ha2Vfc2V0PXllcwphY19jdl9zaXplb2ZfY2hh
cj0xCmFjX2N2X3NpemVvZl9pbnQ9NAphY19jdl9zaXplb2ZfbG9uZz04CmFjX2N2X3NpemVvZl9z
aG9ydD0yCmFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPWdjYzMKYW1fY3ZfcHl0
aG9uX3BsYXRmb3JtPWZyZWVic2Q3CmFtX2N2X3B5dGhvbl9weWV4ZWNkaXI9JyR7ZXhlY19wcmVm
aXh9L2xpYi9weXRob24yLjYvc2l0ZS1wYWNrYWdlcycKYW1fY3ZfcHl0aG9uX3B5dGhvbmRpcj0n
JHtwcmVmaXh9L2xpYi9weXRob24yLjYvc2l0ZS1wYWNrYWdlcycKYW1fY3ZfcHl0aG9uX3ZlcnNp
b249Mi42Cmx0X2N2X2FyY2hpdmVfY21kc19uZWVkX2xjPW5vCmx0X2N2X2RlcGxpYnNfY2hlY2tf
bWV0aG9kPXBhc3NfYWxsCmx0X2N2X2ZpbGVfbWFnaWNfY21kPSckTUFHSUNfQ01EJwpsdF9jdl9m
aWxlX21hZ2ljX3Rlc3RfZmlsZT0nJwpsdF9jdl9sZF9yZWxvYWRfZmxhZz0tcgpsdF9jdl9ubV9p
bnRlcmZhY2U9J0JTRCBubScKbHRfY3Zfb2JqZGlyPS5saWJzCmx0X2N2X3BhdGhfTEQ9L3Vzci9i
aW4vbGQKbHRfY3ZfcGF0aF9OTT0nL3Vzci9iaW4vbm0gLUInCmx0X2N2X3Byb2dfY29tcGlsZXJf
Y19vPXllcwpsdF9jdl9wcm9nX2NvbXBpbGVyX3BpY193b3Jrcz15ZXMKbHRfY3ZfcHJvZ19jb21w
aWxlcl9ydHRpX2V4Y2VwdGlvbnM9bm8KbHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3M9
eWVzCmx0X2N2X3Byb2dfZ251X2xkPXllcwpsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdz
ZWQgLW4gLWUgJ1wnJ3MvXi4qWwkgXVwoW0FCQ0RHSVJTVFddW0FCQ0RHSVJTVFddKlwpWwkgXVsJ
IF0qXChbX0EtWmEtel1bX0EtWmEtejAtOV0qXCkkL1wxIFwyIFwyL3AnXCcnJwpsdF9jdl9zeXNf
Z2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0nc2VkIC1uIC1lICdcJydzL146IFwoW14g
XSpcKSAkLyAge1wiXDFcIiwgKHZvaWQgKikgMH0sL3AnXCcnIC1lICdcJydzL15bQUJDREdJUlNU
V10qIFwoW14gXSpcKSBcKFteIF0qXCkkLyAgeyJcMiIsICh2b2lkICopIFwmXDJ9LC9wJ1wnJycK
bHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0nc2Vk
IC1uIC1lICdcJydzL146IFwoW14gXSpcKSAkLyAge1wiXDFcIiwgKHZvaWQgKikgMH0sL3AnXCcn
IC1lICdcJydzL15bQUJDREdJUlNUV10qIFwoW14gXSpcKSBcKGxpYlteIF0qXCkkLyAgeyJcMiIs
ICh2b2lkICopIFwmXDJ9LC9wJ1wnJyAtZSAnXCcncy9eW0FCQ0RHSVJTVFddKiBcKFteIF0qXCkg
XChbXiBdKlwpJC8gIHsibGliXDIiLCAodm9pZCAqKSBcJlwyfSwvcCdcJycnCmx0X2N2X3N5c19n
bG9iYWxfc3ltYm9sX3RvX2NkZWNsPSdzZWQgLW4gLWUgJ1wnJ3MvXlQgLiogXCguKlwpJC9leHRl
cm4gaW50IFwxKCk7L3AnXCcnIC1lICdcJydzL15bQUJDREdJUlNUV10qIC4qIFwoLipcKSQvZXh0
ZXJuIGNoYXIgXDE7L3AnXCcnJwpsdF9jdl9zeXNfbWF4X2NtZF9sZW49MjYyMTQ0CnBrZ19jdl9G
RklfQ0ZMQUdTPSctSS91c3IvbG9jYWwvbGliL2xpYmZmaS0zLjAuOS9pbmNsdWRlICAnCnBrZ19j
dl9GRklfTElCUz0nLUwvdXNyL2xvY2FsL2xpYiAtbGZmaSAgJwpwa2dfY3ZfR0lPX1VOSVhfQ0ZM
QUdTPSctRF9SRUVOVFJBTlQgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91
c3IvbG9jYWwvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbG9jYWwvbGliL2dsaWItMi4wL2luY2x1
ZGUgICcKcGtnX2N2X0dJT19VTklYX0xJQlM9Jy1wdGhyZWFkIC1ML3Vzci9sb2NhbC9saWIgLWxn
aW8tMi4wIC1sZ29iamVjdC0yLjAgLWxnbW9kdWxlLTIuMCAtbGd0aHJlYWQtMi4wIC1sZ2xpYi0y
LjAgICcKcGtnX2N2X0dJUkVQT19DRkxBR1M9Jy1EX1JFRU5UUkFOVCAtSS91c3IvbG9jYWwvaW5j
bHVkZS9nbGliLTIuMCAtSS91c3IvbG9jYWwvbGliL2dsaWItMi4wL2luY2x1ZGUgICcKcGtnX2N2
X0dJUkVQT19MSUJTPSctcHRocmVhZCAtV2wsLS1leHBvcnQtZHluYW1pYyAtTC91c3IvbG9jYWwv
bGliIC1sZ2lvLTIuMCAtbGdvYmplY3QtMi4wIC1sZ21vZHVsZS0yLjAgLWxndGhyZWFkLTIuMCAt
bGdsaWItMi4wICAnCnBrZ19jdl9HT0JKRUNUX0NGTEFHUz0nLURfUkVFTlRSQU5UIC1JL3Vzci9s
b2NhbC9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9sb2NhbC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAg
Jwpwa2dfY3ZfR09CSkVDVF9MSUJTPSctcHRocmVhZCAtTC91c3IvbG9jYWwvbGliIC1sZ2lvLTIu
MCAtbGdvYmplY3QtMi4wIC1sZ21vZHVsZS0yLjAgLWxndGhyZWFkLTIuMCAtbGdsaWItMi4wICAn
CnBrZ19jdl9HVEhSRUFEX0NGTEFHUz0nLURfUkVFTlRSQU5UIC1JL3Vzci9sb2NhbC9pbmNsdWRl
L2dsaWItMi4wIC1JL3Vzci9sb2NhbC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAgJwpwa2dfY3ZfR1RI
UkVBRF9MSUJTPSctcHRocmVhZCAtTC91c3IvbG9jYWwvbGliIC1sZ3RocmVhZC0yLjAgLWxnbGli
LTIuMCAgJwpwa2dfY3ZfU0NBTk5FUl9DRkxBR1M9Jy1EX1JFRU5UUkFOVCAtSS91c3IvbG9jYWwv
aW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbG9jYWwvbGliL2dsaWItMi4wL2luY2x1ZGUgICcKcGtn
X2N2X1NDQU5ORVJfTElCUz0nLXB0aHJlYWQgLUwvdXNyL2xvY2FsL2xpYiAtbGdpby0yLjAgLWxn
b2JqZWN0LTIuMCAtbGdtb2R1bGUtMi4wIC1sZ3RocmVhZC0yLjAgLWxnbGliLTIuMCAgJwoKIyMg
LS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgT3V0cHV0IHZhcmlhYmxlcy4gIyMKIyMgLS0tLS0tLS0t
LS0tLS0tLS0gIyMKCkFDTE9DQUw9JyR7U0hFTEx9IC91c3IvcG9ydHMvZGV2ZWwvZ29iamVjdC1p
bnRyb3NwZWN0aW9uL3dvcmsvZ29iamVjdC1pbnRyb3NwZWN0aW9uLTAuOS4xMi9taXNzaW5nIC0t
cnVuIGFjbG9jYWwtMS4xMScKQU1ERVBCQUNLU0xBU0g9J1wnCkFNREVQX0ZBTFNFPScjJwpBTURF
UF9UUlVFPScnCkFNVEFSPScke1NIRUxMfSAvdXNyL3BvcnRzL2RldmVsL2dvYmplY3QtaW50cm9z
cGVjdGlvbi93b3JrL2dvYmplY3QtaW50cm9zcGVjdGlvbi0wLjkuMTIvbWlzc2luZyAtLXJ1biB0
YXInCkFNX0JBQ0tTTEFTSD0nXCcKQU1fREVGQVVMVF9WRVJCT1NJVFk9JzAnCkFSPSdhcicKQVVU
T0NPTkY9JyR7U0hFTEx9IC91c3IvcG9ydHMvZGV2ZWwvZ29iamVjdC1pbnRyb3NwZWN0aW9uL3dv
cmsvZ29iamVjdC1pbnRyb3NwZWN0aW9uLTAuOS4xMi9taXNzaW5nIC0tcnVuIGF1dG9jb25mJwpB
VVRPSEVBREVSPScke1NIRUxMfSAvdXNyL3BvcnRzL2RldmVsL2dvYmplY3QtaW50cm9zcGVjdGlv
bi93b3JrL2dvYmplY3QtaW50cm9zcGVjdGlvbi0wLjkuMTIvbWlzc2luZyAtLXJ1biBhdXRvaGVh
ZGVyJwpBVVRPTUFLRT0nJHtTSEVMTH0gL3Vzci9wb3J0cy9kZXZlbC9nb2JqZWN0LWludHJvc3Bl
Y3Rpb24vd29yay9nb2JqZWN0LWludHJvc3BlY3Rpb24tMC45LjEyL21pc3NpbmcgLS1ydW4gYXV0
b21ha2UtMS4xMScKQVdLPSduYXdrJwpCVUlMRF9URVNUU19GQUxTRT0nJwpCVUlMRF9URVNUU19U
UlVFPScjJwpDQUlST19DRkxBR1M9JycKQ0FJUk9fTElCUz0nJwpDQz0nY2MnCkNDREVQTU9ERT0n
ZGVwbW9kZT1nY2MzJwpDRkxBR1M9Jy1Xc2lnbi1jb21wYXJlIC1XY2FzdC1hbGlnbiAtV3BvaW50
ZXItYXJpdGggLVduZXN0ZWQtZXh0ZXJucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV21pc3Npbmct
ZGVjbGFyYXRpb25zIC1XY2hhci1zdWJzY3JpcHRzIC1XYWxsIC1PMiAtZm5vLXN0cmljdC1hbGlh
c2luZyAtcGlwZScKQ1BQPSdjcHAnCkNQUEZMQUdTPSctSS91c3IvbG9jYWwvaW5jbHVkZSAtSS91
c3IvbG9jYWwvaW5jbHVkZS9weXRob24yLjYnCkNZR1BBVEhfVz0nZWNobycKREVGUz0nJwpERVBE
SVI9Jy5kZXBzJwpEU1lNVVRJTD0nJwpEVU1QQklOPScnCkVDSE9fQz0nJwpFQ0hPX049Jy1uJwpF
Q0hPX1Q9JycKRUdSRVA9Jy91c3IvYmluL2dyZXAgLUUnCkVOQUJMRV9HVEtfRE9DX0ZBTFNFPScn
CkVOQUJMRV9HVEtfRE9DX1RSVUU9JyMnCkVYRUVYVD0nJwpFWFBBTkRFRF9CSU5ESVI9Jy91c3Iv
bG9jYWwvYmluJwpFWFBBTkRFRF9EQVRBRElSPScvdXNyL2xvY2FsL3NoYXJlJwpFWFBBTkRFRF9M
SUJESVI9Jy91c3IvbG9jYWwvbGliJwpFWFBBTkRFRF9MSUJFWEVDRElSPScvdXNyL2xvY2FsL2xp
YmV4ZWMnCkVYUEFOREVEX0xPQ0FMU1RBVEVESVI9Jy91c3IvbG9jYWwvdmFyJwpFWFBBTkRFRF9T
WVNDT05GRElSPScvdXNyL2xvY2FsL2V0YycKRkZJX0NGTEFHUz0nLUkvdXNyL2xvY2FsL2xpYi9s
aWJmZmktMy4wLjkvaW5jbHVkZSAgJwpGRklfTElCUz0nLUwvdXNyL2xvY2FsL2xpYiAtbGZmaSAg
JwpGRklfUENfQ0ZMQUdTPScnCkZGSV9QQ19MSUJTPScnCkZGSV9QQ19QQUNLQUdFUz0nbGliZmZp
JwpGR1JFUD0nL3Vzci9iaW4vZ3JlcCAtRicKR0lPX1VOSVhfQ0ZMQUdTPSctRF9SRUVOVFJBTlQg
LUkvdXNyL2xvY2FsL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtSS91c3IvbG9jYWwvaW5jbHVkZS9n
bGliLTIuMCAtSS91c3IvbG9jYWwvbGliL2dsaWItMi4wL2luY2x1ZGUgICcKR0lPX1VOSVhfTElC
Uz0nLXB0aHJlYWQgLUwvdXNyL2xvY2FsL2xpYiAtbGdpby0yLjAgLWxnb2JqZWN0LTIuMCAtbGdt
b2R1bGUtMi4wIC1sZ3RocmVhZC0yLjAgLWxnbGliLTIuMCAgJwpHSVJFUE9fQ0ZMQUdTPSctRF9S
RUVOVFJBTlQgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZ2xpYi0yLjAgLUkvdXNyL2xvY2FsL2xpYi9n
bGliLTIuMC9pbmNsdWRlICAgLUkvdXNyL2xvY2FsL2xpYi9saWJmZmktMy4wLjkvaW5jbHVkZSAg
ICcKR0lSRVBPX0xJQlM9Jy1wdGhyZWFkIC1XbCwtLWV4cG9ydC1keW5hbWljIC1ML3Vzci9sb2Nh
bC9saWIgLWxnaW8tMi4wIC1sZ29iamVjdC0yLjAgLWxnbW9kdWxlLTIuMCAtbGd0aHJlYWQtMi4w
IC1sZ2xpYi0yLjAgICAgLUwvdXNyL2xvY2FsL2xpYiAtbGZmaSAgJwpHSVJfRElSPScvdXNyL2xv
Y2FsL3NoYXJlL2dpci0xLjAnCkdJUl9TVUZGSVg9J2dpci0xLjAnCkdMSUJTUkM9JycKR09CSkVD
VF9DRkxBR1M9Jy1EX1JFRU5UUkFOVCAtSS91c3IvbG9jYWwvaW5jbHVkZS9nbGliLTIuMCAtSS91
c3IvbG9jYWwvbGliL2dsaWItMi4wL2luY2x1ZGUgICcKR09CSkVDVF9JTlRST1NQRUNUSU9OX0xJ
QkRJUj0nL3Vzci9sb2NhbC9saWInCkdPQkpFQ1RfTElCUz0nLXB0aHJlYWQgLUwvdXNyL2xvY2Fs
L2xpYiAtbGdpby0yLjAgLWxnb2JqZWN0LTIuMCAtbGdtb2R1bGUtMi4wIC1sZ3RocmVhZC0yLjAg
LWxnbGliLTIuMCAgJwpHUkVQPScvdXNyL2Jpbi9ncmVwJwpHVEhSRUFEX0NGTEFHUz0nLURfUkVF
TlRSQU5UIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9sb2NhbC9saWIvZ2xp
Yi0yLjAvaW5jbHVkZSAgJwpHVEhSRUFEX0xJQlM9Jy1wdGhyZWFkIC1ML3Vzci9sb2NhbC9saWIg
LWxndGhyZWFkLTIuMCAtbGdsaWItMi4wICAnCkdUS0RPQ19DSEVDSz0nJwpHVEtET0NfTUtQREY9
JycKR1RLRE9DX1JFQkFTRT0ndHJ1ZScKR1RLX0RPQ19CVUlMRF9IVE1MX0ZBTFNFPScjJwpHVEtf
RE9DX0JVSUxEX0hUTUxfVFJVRT0nJwpHVEtfRE9DX0JVSUxEX1BERl9GQUxTRT0nJwpHVEtfRE9D
X0JVSUxEX1BERl9UUlVFPScjJwpHVEtfRE9DX1VTRV9MSUJUT09MX0ZBTFNFPScjJwpHVEtfRE9D
X1VTRV9MSUJUT09MX1RSVUU9JycKR1RLX0RPQ19VU0VfUkVCQVNFX0ZBTFNFPScjJwpHVEtfRE9D
X1VTRV9SRUJBU0VfVFJVRT0nJwpIQVZFX0NBSVJPX0ZBTFNFPScnCkhBVkVfQ0FJUk9fVFJVRT0n
IycKSEFWRV9HSU9fVU5JWF9GQUxTRT0nIycKSEFWRV9HSU9fVU5JWF9UUlVFPScnCkhUTUxfRElS
PScke2RhdGFkaXJ9L2d0ay1kb2MvaHRtbCcKSU5TVEFMTF9EQVRBPSdpbnN0YWxsICAtbyByb290
IC1nIHdoZWVsIC1tIDQ0NCcKSU5TVEFMTF9QUk9HUkFNPSdpbnN0YWxsICAtcyAtbyByb290IC1n
IHdoZWVsIC1tIDU1NScKSU5TVEFMTF9TQ1JJUFQ9J2luc3RhbGwgIC1vIHJvb3QgLWcgd2hlZWwg
LW0gNTU1JwpJTlNUQUxMX1NUUklQX1BST0dSQU09JyQoaW5zdGFsbF9zaCkgLWMgLXMnCkxEPScv
dXNyL2Jpbi9sZCcKTERGTEFHUz0nLUwvdXNyL2xvY2FsL2xpYicKTEVYPSdmbGV4JwpMRVhMSUI9
Jy1sZmwnCkxFWF9PVVRQVVRfUk9PVD0nbGV4Lnl5JwpMSUJPQkpTPScnCkxJQlM9JycKTElCVE9P
TD0nJChTSEVMTCkgL3Vzci9wb3J0cy9kZXZlbC9nb2JqZWN0LWludHJvc3BlY3Rpb24vd29yay9n
bm9tZS1saWJ0b29sJwpMSVBPPScnCkxOX1M9J2xuIC1zJwpMVExJQk9CSlM9JycKTUFJTlQ9JyMn
Ck1BSU5UQUlORVJfTU9ERV9GQUxTRT0nJwpNQUlOVEFJTkVSX01PREVfVFJVRT0nIycKTUFLRUlO
Rk89JyR7U0hFTEx9IC91c3IvcG9ydHMvZGV2ZWwvZ29iamVjdC1pbnRyb3NwZWN0aW9uL3dvcmsv
Z29iamVjdC1pbnRyb3NwZWN0aW9uLTAuOS4xMi9taXNzaW5nIC0tcnVuIG1ha2VpbmZvJwpNS0RJ
Ul9QPScuL2luc3RhbGwtc2ggLWMgLWQnCk5NPScvdXNyL2Jpbi9ubSAtQicKTk1FRElUPScnCk9C
SkRVTVA9J29iamR1bXAnCk9CSkVYVD0nbycKT1NfV0lOMzJfRkFMU0U9JycKT1NfV0lOMzJfVFJV
RT0nIycKT1RPT0w2ND0nJwpPVE9PTD0nJwpQQUNLQUdFPSdnb2JqZWN0LWludHJvc3BlY3Rpb24n
ClBBQ0tBR0VfQlVHUkVQT1JUPSdodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5j
Z2k/cHJvZHVjdD1nbGliJmNvbXBvbmVudD1pbnRyb3NwZWN0aW9uJwpQQUNLQUdFX05BTUU9J2dv
YmplY3QtaW50cm9zcGVjdGlvbicKUEFDS0FHRV9TVFJJTkc9J2dvYmplY3QtaW50cm9zcGVjdGlv
biAwLjkuMTInClBBQ0tBR0VfVEFSTkFNRT0nZ29iamVjdC1pbnRyb3NwZWN0aW9uJwpQQUNLQUdF
X1VSTD0nJwpQQUNLQUdFX1ZFUlNJT049JzAuOS4xMicKUEFUSF9TRVBBUkFUT1I9JzonClBLR19D
T05GSUc9Jy91c3IvbG9jYWwvYmluL3BrZy1jb25maWcnClBLR19DT05GSUdfTElCRElSPScnClBL
R19DT05GSUdfUEFUSD0nJwpQT1dfTElCPScnClBZVEhPTj0nL3Vzci9sb2NhbC9iaW4vcHl0aG9u
Mi42JwpQWVRIT05fRVhFQ19QUkVGSVg9JyR7ZXhlY19wcmVmaXh9JwpQWVRIT05fSU5DTFVERVM9
Jy1JL3Vzci9sb2NhbC9pbmNsdWRlL3B5dGhvbjIuNicKUFlUSE9OX1BMQVRGT1JNPSdmcmVlYnNk
NycKUFlUSE9OX1BSRUZJWD0nJHtwcmVmaXh9JwpQWVRIT05fVkVSU0lPTj0nMi42JwpSQU5MSUI9
J3JhbmxpYicKU0NBTk5FUl9DRkxBR1M9Jy1EX1JFRU5UUkFOVCAtSS91c3IvbG9jYWwvaW5jbHVk
ZS9nbGliLTIuMCAtSS91c3IvbG9jYWwvbGliL2dsaWItMi4wL2luY2x1ZGUgICcKU0NBTk5FUl9M
SUJTPSctcHRocmVhZCAtTC91c3IvbG9jYWwvbGliIC1sZ2lvLTIuMCAtbGdvYmplY3QtMi4wIC1s
Z21vZHVsZS0yLjAgLWxndGhyZWFkLTIuMCAtbGdsaWItMi4wICAnClNFRD0nL3Vzci9iaW4vc2Vk
JwpTRVRfTUFLRT0nJwpTSEVMTD0nL2Jpbi9zaCcKU1RSSVA9J3N0cmlwJwpWRVJTSU9OPScwLjku
MTInCldJVEhfR0xJQlNSQ19GQUxTRT0nJwpXSVRIX0dMSUJTUkNfVFJVRT0nJwpZQUNDPSdiaXNv
biAteScKYWNfY3RfQ0M9J2NjJwphY19jdF9EVU1QQklOPScnCmFtX19FWEVFWFRfRkFMU0U9JycK
YW1fX0VYRUVYVF9UUlVFPScnCmFtX19mYXN0ZGVwQ0NfRkFMU0U9JyMnCmFtX19mYXN0ZGVwQ0Nf
VFJVRT0nJwphbV9faW5jbHVkZT0naW5jbHVkZScKYW1fX2lzcmM9JycKYW1fX2xlYWRpbmdfZG90
PScuJwphbV9fcXVvdGU9JycKYW1fX3Rhcj0nJHtBTVRBUn0gY2hvZiAtICIkJHRhcmRpciInCmFt
X191bnRhcj0nJHtBTVRBUn0geGYgLScKYmluZGlyPScke2V4ZWNfcHJlZml4fS9iaW4nCmJ1aWxk
PSdhbWQ2NC1wb3J0YmxkLWZyZWVic2Q3LjInCmJ1aWxkX2FsaWFzPSdhbWQ2NC1wb3J0YmxkLWZy
ZWVic2Q3LjInCmJ1aWxkX2NwdT0nYW1kNjQnCmJ1aWxkX29zPSdmcmVlYnNkNy4yJwpidWlsZF92
ZW5kb3I9J3BvcnRibGQnCmRhdGFkaXI9JyR7ZGF0YXJvb3RkaXJ9JwpkYXRhcm9vdGRpcj0nJHtw
cmVmaXh9L3NoYXJlJwpkb2NkaXI9JyR7ZGF0YXJvb3RkaXJ9L2RvYy8ke1BBQ0tBR0VfVEFSTkFN
RX0nCmR2aWRpcj0nJHtkb2NkaXJ9JwpleGVjX3ByZWZpeD0nTk9ORScKaG9zdD0nYW1kNjQtcG9y
dGJsZC1mcmVlYnNkNy4yJwpob3N0X2FsaWFzPScnCmhvc3RfY3B1PSdhbWQ2NCcKaG9zdF9vcz0n
ZnJlZWJzZDcuMicKaG9zdF92ZW5kb3I9J3BvcnRibGQnCmh0bWxkaXI9JyR7ZG9jZGlyfScKaW5j
bHVkZWRpcj0nJHtwcmVmaXh9L2luY2x1ZGUnCmluZm9kaXI9Jy91c3IvbG9jYWwvaW5mbycKaW5z
dGFsbF9zaD0nJHtTSEVMTH0gL3Vzci9wb3J0cy9kZXZlbC9nb2JqZWN0LWludHJvc3BlY3Rpb24v
d29yay9nb2JqZWN0LWludHJvc3BlY3Rpb24tMC45LjEyL2luc3RhbGwtc2gnCmxpYmRpcj0nJHtl
eGVjX3ByZWZpeH0vbGliJwpsaWJleGVjZGlyPScke2V4ZWNfcHJlZml4fS9saWJleGVjJwpsb2Nh
bGVkaXI9JyR7ZGF0YXJvb3RkaXJ9L2xvY2FsZScKbG9jYWxzdGF0ZWRpcj0nJHtwcmVmaXh9L3Zh
cicKbWFuZGlyPScvdXNyL2xvY2FsL21hbicKbWtkaXJfcD0nJCh0b3BfYnVpbGRkaXIpLy4vaW5z
dGFsbC1zaCAtYyAtZCcKb2xkaW5jbHVkZWRpcj0nL3Vzci9pbmNsdWRlJwpwZGZkaXI9JyR7ZG9j
ZGlyfScKcGtncHlleGVjZGlyPScke3B5ZXhlY2Rpcn0vZ29iamVjdC1pbnRyb3NwZWN0aW9uJwpw
a2dweXRob25kaXI9JyR7cHl0aG9uZGlyfS9nb2JqZWN0LWludHJvc3BlY3Rpb24nCnByZWZpeD0n
L3Vzci9sb2NhbCcKcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZT0ncyx4LHgsJwpwc2Rpcj0nJHtkb2Nk
aXJ9JwpweWV4ZWNkaXI9JyR7ZXhlY19wcmVmaXh9L2xpYi9weXRob24yLjYvc2l0ZS1wYWNrYWdl
cycKcHl0aG9uZGlyPScke3ByZWZpeH0vbGliL3B5dGhvbjIuNi9zaXRlLXBhY2thZ2VzJwpzYmlu
ZGlyPScke2V4ZWNfcHJlZml4fS9zYmluJwpzaGFyZWRzdGF0ZWRpcj0nJHtwcmVmaXh9L2NvbScK
c3lzY29uZmRpcj0nJHtwcmVmaXh9L2V0YycKdGFyZ2V0X2FsaWFzPScnCgojIyAtLS0tLS0tLS0t
LSAjIwojIyBjb25mZGVmcy5oLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoKLyogY29uZmRlZnMuaCAq
LwojZGVmaW5lIFBBQ0tBR0VfTkFNRSAiZ29iamVjdC1pbnRyb3NwZWN0aW9uIgojZGVmaW5lIFBB
Q0tBR0VfVEFSTkFNRSAiZ29iamVjdC1pbnRyb3NwZWN0aW9uIgojZGVmaW5lIFBBQ0tBR0VfVkVS
U0lPTiAiMC45LjEyIgojZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJnb2JqZWN0LWludHJvc3BlY3Rp
b24gMC45LjEyIgojZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25v
bWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliJmNvbXBvbmVudD1pbnRyb3NwZWN0aW9u
IgojZGVmaW5lIFBBQ0tBR0VfVVJMICIiCiNkZWZpbmUgUEFDS0FHRSAiZ29iamVjdC1pbnRyb3Nw
ZWN0aW9uIgojZGVmaW5lIFZFUlNJT04gIjAuOS4xMiIKI2RlZmluZSBTVERDX0hFQURFUlMgMQoj
ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCiNkZWZp
bmUgSEFWRV9TVERMSUJfSCAxCiNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCiNkZWZpbmUgSEFWRV9N
RU1PUllfSCAxCiNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQojZGVmaW5lIEhBVkVfSU5UVFlQRVNf
SCAxCiNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCiNkZWZpbmUgSEFWRV9VTklTVERfSCAxCiNkZWZp
bmUgSEFWRV9ETEZDTl9IIDEKI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKI2RlZmluZSBZWVRF
WFRfUE9JTlRFUiAxCiNkZWZpbmUgU0hMSUJfU1VGRklYICJzbyIKI2RlZmluZSBHT0JKRUNUX0lO
VFJPU1BFQ1RJT05fTElCRElSICIvdXNyL2xvY2FsL2xpYiIKI2RlZmluZSBHSVJfU1VGRklYICJn
aXItMS4wIgojZGVmaW5lIEdJUl9ESVIgIi91c3IvbG9jYWwvc2hhcmUvZ2lyLTEuMCIKI2RlZmlu
ZSBTSVpFT0ZfQ0hBUiAxCiNkZWZpbmUgU0laRU9GX1NIT1JUIDIKI2RlZmluZSBTSVpFT0ZfSU5U
IDQKI2RlZmluZSBTSVpFT0ZfTE9ORyA4CiNkZWZpbmUgU1REQ19IRUFERVJTIDEKI2RlZmluZSBI
QVZFX0ZDTlRMX0ggMQojZGVmaW5lIEhBVkVfU1RETElCX0ggMQojZGVmaW5lIEhBVkVfU1RSSU5H
X0ggMQojZGVmaW5lIEhBVkVfTUVNQ0hSIDEKI2RlZmluZSBIQVZFX1NUUkNIUiAxCiNkZWZpbmUg
SEFWRV9TVFJTUE4gMQojZGVmaW5lIEhBVkVfU1RSU1RSIDEKI2RlZmluZSBIQVZFX1NUUlRPTCAx
CiNkZWZpbmUgSEFWRV9TVFJUT1VMTCAxCgpjb25maWd1cmU6IGV4aXQgMQo=
------=_20110221152501_53815--





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