public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
From: p.grassberger@fz-juelich.de
To: gcc-gnats@gcc.gnu.org
Subject: c/9526: Internal compiler error
Date: Fri, 31 Jan 2003 15:26:00 -0000	[thread overview]
Message-ID: <20030131152318.31222.qmail@sources.redhat.com> (raw)


>Number:         9526
>Category:       c
>Synopsis:       Internal compiler error
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jan 31 15:26:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     p.grassberger@fz-juelich.de
>Release:        gcc version 3.0.1
>Organization:
>Environment:
Reading specs from /usr/local/bin/../lib/gcc-lib/sparc-sun-solaris2.7/3.0.1/specs
Configured with: ../gcc-3.0.1-src/gcc-3.0.1/configure --prefix=/usr/local/gcc --enable-languages=c,c++
Thread model: posix
>Description:

>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
 
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="zhou.i"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="zhou.i"

IyAxICJ6aG91LmMiCiMgMSAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJp
czIuNy8zLjAuMS9pbmNsdWRlL3N0ZGlvLmgiIDEgMwojIDE0ICIvdXNyL2xvY2FsL2xpYi9nY2Mt
bGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3RkaW8uaCIgMwojIDEgIi91
c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9z
dGRhcmcuaCIgMSAzCiMgNDMgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFy
aXMyLjcvMy4wLjEvaW5jbHVkZS9zdGRhcmcuaCIgMwp0eXBlZGVmIF9fYnVpbHRpbl92YV9saXN0
IF9fZ251Y192YV9saXN0OwojIDE1ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1z
b2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3RkaW8uaCIgMiAzCiMgMzQgIi91c3IvbG9jYWwvbGli
L2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9zdGRpby5oIiAzCiNw
cmFnbWEgaWRlbnQgIkAoIylzdGRpby5oCTEuNjkJOTgvMDcvMTMgU01JIgoKIyAxICIvdXNyL2lu
Y2x1ZGUvc3lzL2ZlYXR1cmVfdGVzdHMuaCIgMSAzCiMgMTMgIi91c3IvaW5jbHVkZS9zeXMvZmVh
dHVyZV90ZXN0cy5oIiAzCiNwcmFnbWEgaWRlbnQgIkAoIylmZWF0dXJlX3Rlc3RzLmgJMS4xOAk5
OS8wNy8yNiBTTUkiCgojIDEgIi91c3IvaW5jbHVkZS9zeXMvaXNhX2RlZnMuaCIgMSAzCiMgOSAi
L3Vzci9pbmNsdWRlL3N5cy9pc2FfZGVmcy5oIiAzCiNwcmFnbWEgaWRlbnQgIkAoIylpc2FfZGVm
cy5oCTEuMjAJOTkvMDUvMDQgU01JIgojIDE2ICIvdXNyL2luY2x1ZGUvc3lzL2ZlYXR1cmVfdGVz
dHMuaCIgMiAzCiMgMzcgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMy
LjcvMy4wLjEvaW5jbHVkZS9zdGRpby5oIiAyIDMKIyAxICIvdXNyL2luY2x1ZGUvc3lzL3ZhX2xp
c3QuaCIgMSAzCiMgOSAiL3Vzci9pbmNsdWRlL3N5cy92YV9saXN0LmgiIDMKI3ByYWdtYSBpZGVu
dCAiQCgjKXZhX2xpc3QuaAkxLjEyCTk5LzA1LzA0IFNNSSIKIyAyNiAiL3Vzci9pbmNsdWRlL3N5
cy92YV9saXN0LmgiIDMKdHlwZWRlZiB2b2lkICpfX3ZhX2xpc3Q7CiMgMzggIi91c3IvbG9jYWwv
bGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9zdGRpby5oIiAy
IDMKIyAxICIvdXNyL2luY2x1ZGUvc3RkaW9fdGFnLmgiIDEgMwojIDkgIi91c3IvaW5jbHVkZS9z
dGRpb190YWcuaCIgMwojcHJhZ21hIGlkZW50ICJAKCMpc3RkaW9fdGFnLmgJMS4zCTk4LzA0LzIw
IFNNSSIKIyAyMSAiL3Vzci9pbmNsdWRlL3N0ZGlvX3RhZy5oIiAzCnR5cGVkZWYgc3RydWN0IF9f
RklMRSBfX0ZJTEU7CiMgMzkgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFy
aXMyLjcvMy4wLjEvaW5jbHVkZS9zdGRpby5oIiAyIDMKIyAxICIvdXNyL2luY2x1ZGUvc3RkaW9f
aW1wbC5oIiAxIDMKIyA5ICIvdXNyL2luY2x1ZGUvc3RkaW9faW1wbC5oIiAzCiNwcmFnbWEgaWRl
bnQgIkAoIylzdGRpb19pbXBsLmgJMS44CTk5LzA2LzEwIFNNSSIKCiMgMSAiL3Vzci9pbmNsdWRl
L3N5cy9pc2FfZGVmcy5oIiAxIDMKIyAxMiAiL3Vzci9pbmNsdWRlL3N0ZGlvX2ltcGwuaCIgMiAz
CiMgMjIgIi91c3IvaW5jbHVkZS9zdGRpb19pbXBsLmgiIDMKdHlwZWRlZiBpbnQgc3NpemVfdDsK
IyAzOCAiL3Vzci9pbmNsdWRlL3N0ZGlvX2ltcGwuaCIgMwpzdHJ1Y3QgX19GSUxFCnsKCgoKCiAg
ICAgICAgc3NpemVfdCBfY250OwogICAgICAgIHVuc2lnbmVkIGNoYXIgKl9wdHI7CgogICAgICAg
IHVuc2lnbmVkIGNoYXIgKl9iYXNlOwogICAgICAgIHVuc2lnbmVkIGNoYXIgX2ZsYWc7CiAgICAg
ICAgdW5zaWduZWQgY2hhciBfZmlsZTsKICAgICAgICB1bnNpZ25lZCBfX29yaWVudGF0aW9uOjI7
CiAgICAgICAgdW5zaWduZWQgX19pb25vbG9jazoxOwogICAgICAgIHVuc2lnbmVkIF9fZmlsbGVy
OjU7Cn07CiMgNDAgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcv
My4wLjEvaW5jbHVkZS9zdGRpby5oIiAyIDMKIyA1NSAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9z
cGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N0ZGlvLmgiIDMKdHlwZWRlZiBfX0ZJ
TEUgRklMRTsKCgoKCgoKCnR5cGVkZWYgdW5zaWduZWQgaW50IHNpemVfdDsKIyA3NCAiL3Vzci9s
b2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N0ZGlv
LmgiIDMKdHlwZWRlZiBsb25nIGxvbmcgX19sb25nbG9uZ190OwojIDg4ICIvdXNyL2xvY2FsL2xp
Yi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3RkaW8uaCIgMwp0
eXBlZGVmIGxvbmcgb2ZmX3Q7CgoKCgoKCgp0eXBlZGVmIF9fbG9uZ2xvbmdfdCBvZmY2NF90OwoK
CgoKCgp0eXBlZGVmIGxvbmcgZnBvc190OwoKCgoKCgoKdHlwZWRlZiBfX2xvbmdsb25nX3QgZnBv
czY0X3Q7CiMgMjAzICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43
LzMuMC4xL2luY2x1ZGUvc3RkaW8uaCIgMwpleHRlcm4gRklMRSBfX2lvYlsyMF07CiMgMjE1ICIv
dXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUv
c3RkaW8uaCIgMwpleHRlcm4gdW5zaWduZWQgY2hhciBfc2lidWZbXSwgX3NvYnVmW107CiMgMjQ0
ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1
ZGUvc3RkaW8uaCIgMwpleHRlcm4gdW5zaWduZWQgY2hhciAqX2J1ZmVuZHRhYltdOwpleHRlcm4g
RklMRSAqX2xhc3RidWY7CiMgMjc1ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1z
b2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3RkaW8uaCIgMwpleHRlcm4gaW50IHJlbW92ZShjb25z
dCBjaGFyICopOwpleHRlcm4gaW50IHJlbmFtZShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7
CmV4dGVybiBGSUxFICp0bXBmaWxlKHZvaWQpOwpleHRlcm4gY2hhciAqdG1wbmFtKGNoYXIgKik7
CgoKCmV4dGVybiBpbnQgZmNsb3NlKEZJTEUgKik7CmV4dGVybiBpbnQgZmZsdXNoKEZJTEUgKik7
CmV4dGVybiBGSUxFICpmb3Blbihjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CmV4dGVybiBG
SUxFICpmcmVvcGVuKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBGSUxFICopOwpleHRlcm4g
dm9pZCBzZXRidWYoRklMRSAqLCBjaGFyICopOwoKCmV4dGVybiB2b2lkIHNldGJ1ZmZlcihGSUxF
ICosIGNoYXIgKiwgc2l6ZV90KTsKZXh0ZXJuIGludCBzZXRsaW5lYnVmKEZJTEUgKik7CgpleHRl
cm4gaW50IHNldHZidWYoRklMRSAqLCBjaGFyICosIGludCwgc2l6ZV90KTsKCmV4dGVybiBpbnQg
ZnByaW50ZihGSUxFICosIGNvbnN0IGNoYXIgKiwgLi4uKTsKCmV4dGVybiBpbnQgZnNjYW5mKEZJ
TEUgKiwgY29uc3QgY2hhciAqLCAuLi4pOwoKZXh0ZXJuIGludCBwcmludGYoY29uc3QgY2hhciAq
LCAuLi4pOwoKZXh0ZXJuIGludCBzY2FuZihjb25zdCBjaGFyICosIC4uLik7CgoKCgpleHRlcm4g
aW50IHNucHJpbnRmKGNoYXIgKiwgc2l6ZV90LCBjb25zdCBjaGFyICosIC4uLik7CgoKZXh0ZXJu
IGludCBzcHJpbnRmKGNoYXIgKiwgY29uc3QgY2hhciAqLCAuLi4pOwoKZXh0ZXJuIGludCBzc2Nh
bmYoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIC4uLik7CmV4dGVybiBpbnQgdmZwcmludGYo
RklMRSAqLCBjb25zdCBjaGFyICosIF9fZ251Y192YV9saXN0KTsKZXh0ZXJuIGludCB2cHJpbnRm
KGNvbnN0IGNoYXIgKiwgX19nbnVjX3ZhX2xpc3QpOwoKCgpleHRlcm4gaW50IHZzbnByaW50Zihj
aGFyICosIHNpemVfdCwgY29uc3QgY2hhciAqLCBfX2dudWNfdmFfbGlzdCk7CgpleHRlcm4gaW50
IHZzcHJpbnRmKGNoYXIgKiwgY29uc3QgY2hhciAqLCBfX2dudWNfdmFfbGlzdCk7CmV4dGVybiBp
bnQgZmdldGMoRklMRSAqKTsKZXh0ZXJuIGNoYXIgKmZnZXRzKGNoYXIgKiwgaW50LCBGSUxFICop
OwpleHRlcm4gaW50IGZwdXRjKGludCwgRklMRSAqKTsKZXh0ZXJuIGludCBmcHV0cyhjb25zdCBj
aGFyICosIEZJTEUgKik7CmV4dGVybiBpbnQgZ2V0YyhGSUxFICopOwpleHRlcm4gaW50IGdldGNo
YXIodm9pZCk7CmV4dGVybiBjaGFyICpnZXRzKGNoYXIgKik7CmV4dGVybiBpbnQgcHV0YyhpbnQs
IEZJTEUgKik7CmV4dGVybiBpbnQgcHV0Y2hhcihpbnQpOwpleHRlcm4gaW50IHB1dHMoY29uc3Qg
Y2hhciAqKTsKZXh0ZXJuIGludCB1bmdldGMoaW50LCBGSUxFICopOwpleHRlcm4gc2l6ZV90IGZy
ZWFkKHZvaWQgKiwgc2l6ZV90LCBzaXplX3QsIEZJTEUgKik7CmV4dGVybiBzaXplX3QgZndyaXRl
KGNvbnN0IHZvaWQgKiwgc2l6ZV90LCBzaXplX3QsIEZJTEUgKik7CmV4dGVybiBpbnQgZmdldHBv
cyhGSUxFICosIGZwb3NfdCAqKTsKZXh0ZXJuIGludCBmc2VlayhGSUxFICosIGxvbmcsIGludCk7
CmV4dGVybiBpbnQgZnNldHBvcyhGSUxFICosIGNvbnN0IGZwb3NfdCAqKTsKZXh0ZXJuIGxvbmcg
ZnRlbGwoRklMRSAqKTsKZXh0ZXJuIHZvaWQgcmV3aW5kKEZJTEUgKik7CmV4dGVybiB2b2lkIGNs
ZWFyZXJyKEZJTEUgKik7CmV4dGVybiBpbnQgZmVvZihGSUxFICopOwpleHRlcm4gaW50IGZlcnJv
cihGSUxFICopOwpleHRlcm4gdm9pZCBwZXJyb3IoY29uc3QgY2hhciAqKTsKCgpleHRlcm4gaW50
IF9fZmlsYnVmKEZJTEUgKik7CmV4dGVybiBpbnQgX19mbHNidWYoaW50LCBGSUxFICopOwojIDM1
MyAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNs
dWRlL3N0ZGlvLmgiIDMKZXh0ZXJuIEZJTEUgKmZkb3BlbihpbnQsIGNvbnN0IGNoYXIgKik7CmV4
dGVybiBjaGFyICpjdGVybWlkKGNoYXIgKik7CmV4dGVybiBpbnQgZmlsZW5vKEZJTEUgKik7CiMg
Mzc5ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2lu
Y2x1ZGUvc3RkaW8uaCIgMwpleHRlcm4gRklMRSAqcG9wZW4oY29uc3QgY2hhciAqLCBjb25zdCBj
aGFyICopOwpleHRlcm4gY2hhciAqY3VzZXJpZChjaGFyICopOwpleHRlcm4gY2hhciAqdGVtcG5h
bShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CmV4dGVybiBpbnQgZ2V0b3B0KGludCwgY2hh
ciAqY29uc3QgKiwgY29uc3QgY2hhciAqKTsKCmV4dGVybiBpbnQgZ2V0c3Vib3B0KGNoYXIgKios
IGNoYXIgKmNvbnN0ICosIGNoYXIgKiopOwoKZXh0ZXJuIGNoYXIgKm9wdGFyZzsKZXh0ZXJuIGlu
dCBvcHRpbmQsIG9wdGVyciwgb3B0b3B0OwpleHRlcm4gaW50IGdldHcoRklMRSAqKTsKZXh0ZXJu
IGludCBwdXR3KGludCwgRklMRSAqKTsKZXh0ZXJuIGludCBwY2xvc2UoRklMRSAqKTsKCgoKCgoK
CmV4dGVybiBpbnQgZnNlZWtvKEZJTEUgKiwgb2ZmX3QsIGludCk7CmV4dGVybiBvZmZfdCBmdGVs
bG8oRklMRSAqKTsKIyA0MDggIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFy
aXMyLjcvMy4wLjEvaW5jbHVkZS9zdGRpby5oIiAzCmV4dGVybiBGSUxFICpmb3BlbjY0KGNvbnN0
IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKZXh0ZXJuIEZJTEUgKmZyZW9wZW42NChjb25zdCBjaGFy
ICosIGNvbnN0IGNoYXIgKiwgRklMRSAqKTsKZXh0ZXJuIEZJTEUgKnRtcGZpbGU2NCh2b2lkKTsK
ZXh0ZXJuIGludCBmZ2V0cG9zNjQoRklMRSAqLCBmcG9zNjRfdCAqKTsKZXh0ZXJuIGludCBmc2V0
cG9zNjQoRklMRSAqLCBjb25zdCBmcG9zNjRfdCAqKTsKZXh0ZXJuIGludCBmc2Vla282NChGSUxF
ICosIG9mZjY0X3QsIGludCk7CmV4dGVybiBvZmY2NF90IGZ0ZWxsbzY0KEZJTEUgKik7CiMgMiAi
emhvdS5jIiAyCiMgMSAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIu
Ny8zLjAuMS9pbmNsdWRlL3N0ZGxpYi5oIiAxIDMKIyAyNSAiL3Vzci9sb2NhbC9saWIvZ2NjLWxp
Yi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N0ZGxpYi5oIiAzCiNwcmFnbWEg
aWRlbnQgIkAoIylzdGRsaWIuaAkxLjQ0CTk4LzAxLzIyIFNNSSIKCiMgMSAiL3Vzci9pbmNsdWRl
L3N5cy9mZWF0dXJlX3Rlc3RzLmgiIDEgMwojIDI4ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3Nw
YXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3RkbGliLmgiIDIgMwojIDM4ICIvdXNy
L2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3Rk
bGliLmgiIDMKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGludCBxdW90OwogICAgICAgIGludCBy
ZW07Cn0gZGl2X3Q7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgbG9uZyBxdW90OwogICAgICAg
IGxvbmcgcmVtOwp9IGxkaXZfdDsKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgbG9uZyBsb25n
IHF1b3Q7CiAgICAgICAgbG9uZyBsb25nIHJlbTsKfSBsbGRpdl90OwojIDc3ICIvdXNyL2xvY2Fs
L2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3RkbGliLmgi
IDMKdHlwZWRlZiBsb25nIHVpZF90OwojIDEwNyAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFy
Yy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N0ZGxpYi5oIiAzCnR5cGVkZWYgbG9uZyBp
bnQgd2NoYXJfdDsKIyAxNDggIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFy
aXMyLjcvMy4wLjEvaW5jbHVkZS9zdGRsaWIuaCIgMwpleHRlcm4gdW5zaWduZWQgY2hhciBfX2N0
eXBlW107CgoKCmV4dGVybiBkb3VibGUgYXRvZihjb25zdCBjaGFyICopOwpleHRlcm4gaW50IGF0
b2koY29uc3QgY2hhciAqKTsKZXh0ZXJuIGxvbmcgaW50IGF0b2woY29uc3QgY2hhciAqKTsKZXh0
ZXJuIGRvdWJsZSBzdHJ0b2QoY29uc3QgY2hhciAqLCBjaGFyICoqKTsKZXh0ZXJuIGxvbmcgaW50
IHN0cnRvbChjb25zdCBjaGFyICosIGNoYXIgKiosIGludCk7CmV4dGVybiB1bnNpZ25lZCBsb25n
IGludCBzdHJ0b3VsKGNvbnN0IGNoYXIgKiwgY2hhciAqKiwgaW50KTsKCmV4dGVybiBpbnQgcmFu
ZCh2b2lkKTsKZXh0ZXJuIHZvaWQgc3JhbmQodW5zaWduZWQgaW50KTsKCgoKCgpleHRlcm4gdm9p
ZCAqY2FsbG9jKHNpemVfdCwgc2l6ZV90KTsKZXh0ZXJuIHZvaWQgZnJlZSh2b2lkICopOwpleHRl
cm4gdm9pZCAqbWFsbG9jKHNpemVfdCk7CmV4dGVybiB2b2lkICpyZWFsbG9jKHZvaWQgKiwgc2l6
ZV90KTsKCmV4dGVybiB2b2lkIGFib3J0KHZvaWQpOwpleHRlcm4gaW50IGF0ZXhpdCh2b2lkICgq
KSh2b2lkKSk7CmV4dGVybiB2b2lkIGV4aXQoaW50KTsKZXh0ZXJuIHZvaWQgX2V4aXRoYW5kbGUo
dm9pZCk7CmV4dGVybiBjaGFyICpnZXRlbnYoY29uc3QgY2hhciAqKTsKZXh0ZXJuIGludCBzeXN0
ZW0oY29uc3QgY2hhciAqKTsKCmV4dGVybiB2b2lkICpic2VhcmNoKGNvbnN0IHZvaWQgKiwgY29u
c3Qgdm9pZCAqLCBzaXplX3QsIHNpemVfdCwKICAgICAgICBpbnQgKCopKGNvbnN0IHZvaWQgKiwg
Y29uc3Qgdm9pZCAqKSk7CmV4dGVybiB2b2lkIHFzb3J0KHZvaWQgKiwgc2l6ZV90LCBzaXplX3Qs
CiAgICAgICAgaW50ICgqKShjb25zdCB2b2lkICosIGNvbnN0IHZvaWQgKikpOwoKZXh0ZXJuIGlu
dCBhYnMoaW50KTsKZXh0ZXJuIGRpdl90IGRpdihpbnQsIGludCk7CmV4dGVybiBsb25nIGludCBs
YWJzKGxvbmcpOwpleHRlcm4gbGRpdl90IGxkaXYobG9uZywgbG9uZyk7CgpleHRlcm4gaW50IG1i
dG93Yyh3Y2hhcl90ICosIGNvbnN0IGNoYXIgKiwgc2l6ZV90KTsKZXh0ZXJuIGludCBtYmxlbihj
b25zdCBjaGFyICosIHNpemVfdCk7CmV4dGVybiBpbnQgd2N0b21iKGNoYXIgKiwgd2NoYXJfdCk7
CgpleHRlcm4gc2l6ZV90IG1ic3Rvd2NzKHdjaGFyX3QgKiwgY29uc3QgY2hhciAqLCBzaXplX3Qp
OwpleHRlcm4gc2l6ZV90IHdjc3RvbWJzKGNoYXIgKiwgY29uc3Qgd2NoYXJfdCAqLCBzaXplX3Qp
OwoKCgoKZXh0ZXJuIGRvdWJsZSBkcmFuZDQ4KHZvaWQpOwpleHRlcm4gZG91YmxlIGVyYW5kNDgo
dW5zaWduZWQgc2hvcnQgKik7CmV4dGVybiBsb25nIGpyYW5kNDgodW5zaWduZWQgc2hvcnQgKik7
CmV4dGVybiB2b2lkIGxjb25nNDgodW5zaWduZWQgc2hvcnQgKik7CmV4dGVybiBsb25nIGxyYW5k
NDgodm9pZCk7CmV4dGVybiBsb25nIG1yYW5kNDgodm9pZCk7CmV4dGVybiBsb25nIG5yYW5kNDgo
dW5zaWduZWQgc2hvcnQgKik7CmV4dGVybiB1bnNpZ25lZCBzaG9ydCAqc2VlZDQ4KHVuc2lnbmVk
IHNob3J0ICopOwpleHRlcm4gdm9pZCBzcmFuZDQ4KGxvbmcpOwpleHRlcm4gaW50IHB1dGVudihj
aGFyICopOwpleHRlcm4gdm9pZCBzZXRrZXkoY29uc3QgY2hhciAqKTsKCgoKCgpleHRlcm4gdm9p
ZCBzd2FiKGNvbnN0IGNoYXIgKiwgY2hhciAqLCBpbnQpOwoKCgoKZXh0ZXJuIGludCBta3N0ZW1w
KGNoYXIgKik7CgoKZXh0ZXJuIGludCBta3N0ZW1wNjQoY2hhciAqKTsKCgoKCgoKZXh0ZXJuIGxv
bmcgYTY0bChjb25zdCBjaGFyICopOwpleHRlcm4gY2hhciAqZWN2dChkb3VibGUsIGludCwgaW50
ICosIGludCAqKTsKZXh0ZXJuIGNoYXIgKmZjdnQoZG91YmxlLCBpbnQsIGludCAqLCBpbnQgKik7
CmV4dGVybiBjaGFyICpnY3Z0KGRvdWJsZSwgaW50LCBjaGFyICopOwpleHRlcm4gaW50IGdldHN1
Ym9wdChjaGFyICoqLCBjaGFyICpjb25zdCAqLCBjaGFyICoqKTsKZXh0ZXJuIGludCBncmFudHB0
KGludCk7CmV4dGVybiBjaGFyICppbml0c3RhdGUodW5zaWduZWQsIGNoYXIgKiwgc2l6ZV90KTsK
ZXh0ZXJuIGNoYXIgKmw2NGEobG9uZyk7CmV4dGVybiBjaGFyICpta3RlbXAoY2hhciAqKTsKZXh0
ZXJuIGNoYXIgKnB0c25hbWUoaW50KTsKZXh0ZXJuIGxvbmcgcmFuZG9tKHZvaWQpOwpleHRlcm4g
Y2hhciAqcmVhbHBhdGgoY29uc3QgY2hhciAqLCBjaGFyICopOwpleHRlcm4gY2hhciAqc2V0c3Rh
dGUoY29uc3QgY2hhciAqKTsKZXh0ZXJuIHZvaWQgc3JhbmRvbSh1bnNpZ25lZCk7CmV4dGVybiBp
bnQgdHR5c2xvdCh2b2lkKTsKZXh0ZXJuIGludCB1bmxvY2twdChpbnQpOwpleHRlcm4gdm9pZCAq
dmFsbG9jKHNpemVfdCk7CgoKCgpleHRlcm4gaW50IGR1cDIoaW50LCBpbnQpOwpleHRlcm4gY2hh
ciAqcWVjdnQobG9uZyBkb3VibGUsIGludCwgaW50ICosIGludCAqKTsKZXh0ZXJuIGNoYXIgKnFm
Y3Z0KGxvbmcgZG91YmxlLCBpbnQsIGludCAqLCBpbnQgKik7CmV4dGVybiBjaGFyICpxZ2N2dChs
b25nIGRvdWJsZSwgaW50LCBjaGFyICopOwpleHRlcm4gY2hhciAqZ2V0Y3dkKGNoYXIgKiwgc2l6
ZV90KTsKZXh0ZXJuIGNvbnN0IGNoYXIgKmdldGV4ZWNuYW1lKHZvaWQpOwpleHRlcm4gY2hhciAq
Z2V0bG9naW4odm9pZCk7CmV4dGVybiBpbnQgZ2V0b3B0KGludCwgY2hhciAqY29uc3QgKiwgY29u
c3QgY2hhciAqKTsKZXh0ZXJuIGNoYXIgKm9wdGFyZzsKZXh0ZXJuIGludCBvcHRpbmQsIG9wdGVy
ciwgb3B0b3B0OwpleHRlcm4gY2hhciAqZ2V0cGFzcyhjb25zdCBjaGFyICopOwpleHRlcm4gY2hh
ciAqZ2V0cGFzc3BocmFzZShjb25zdCBjaGFyICopOwpleHRlcm4gaW50IGdldHB3KHVpZF90LCBj
aGFyICopOwpleHRlcm4gaW50IGlzYXR0eShpbnQpOwpleHRlcm4gdm9pZCAqbWVtYWxpZ24oc2l6
ZV90LCBzaXplX3QpOwpleHRlcm4gY2hhciAqdHR5bmFtZShpbnQpOwoKCmV4dGVybiBsb25nIGxv
bmcgYXRvbGwoY29uc3QgY2hhciAqKTsKZXh0ZXJuIGxvbmcgbG9uZyBsbGFicyhsb25nIGxvbmcp
OwpleHRlcm4gbGxkaXZfdCBsbGRpdihsb25nIGxvbmcsIGxvbmcgbG9uZyk7CmV4dGVybiBjaGFy
ICpsbHRvc3RyKGxvbmcgbG9uZywgY2hhciAqKTsKZXh0ZXJuIGxvbmcgbG9uZyBzdHJ0b2xsKGNv
bnN0IGNoYXIgKiwgY2hhciAqKiwgaW50KTsKZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbG9uZyBzdHJ0
b3VsbChjb25zdCBjaGFyICosIGNoYXIgKiosIGludCk7CmV4dGVybiBjaGFyICp1bGx0b3N0cih1
bnNpZ25lZCBsb25nIGxvbmcsIGNoYXIgKik7CiMgMyAiemhvdS5jIiAyCiMgMSAiL3Vzci9sb2Nh
bC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL21hdGguaCIg
MSAzCiMgMjcgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4w
LjEvaW5jbHVkZS9tYXRoLmgiIDMKI3ByYWdtYSBpZGVudCAiQCgjKW1hdGguaAkyLjcJOTgvMDEv
MjciCiMgNDYgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4w
LjEvaW5jbHVkZS9tYXRoLmgiIDMKdHlwZWRlZiB1bmlvbiBfaF92YWwgewogICAgICAgIHVuc2ln
bmVkIGxvbmcgX2lbc2l6ZW9mKGRvdWJsZSkgLyBzaXplb2YodW5zaWduZWQgbG9uZyldOwogICAg
ICAgIGRvdWJsZSBfZDsKfSBfaF92YWw7CgoKZXh0ZXJuIGNvbnN0IF9oX3ZhbCBfX2h1Z2VfdmFs
OwojIDgwICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4x
L2luY2x1ZGUvbWF0aC5oIiAzCmV4dGVybiBpbnQgc2lnbmdhbTsKCgoKCgoKCmVudW0gdmVyc2lv
biB7bGlibV9pZWVlID0gLTEsIGNfaXNzdWVfNCwgYW5zaV8xLCBzdHJpY3RfYW5zaX07CgoKZXh0
ZXJuIGNvbnN0IGVudW0gdmVyc2lvbiBfbGliX3ZlcnNpb247CgoKCgpzdHJ1Y3QgZXhjZXB0aW9u
IHsKICAgICAgICBpbnQgdHlwZTsKICAgICAgICBjaGFyICpuYW1lOwogICAgICAgIGRvdWJsZSBh
cmcxOwogICAgICAgIGRvdWJsZSBhcmcyOwogICAgICAgIGRvdWJsZSByZXR2YWw7Cn07CiMgMTM0
ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1
ZGUvbWF0aC5oIiAzCmV4dGVybiBkb3VibGUgYWNvcyAoZG91YmxlKTsKZXh0ZXJuIGRvdWJsZSBh
c2luIChkb3VibGUpOwpleHRlcm4gZG91YmxlIGF0YW4gKGRvdWJsZSk7CmV4dGVybiBkb3VibGUg
YXRhbjIgKGRvdWJsZSwgZG91YmxlKTsKZXh0ZXJuIGRvdWJsZSBjb3MgKGRvdWJsZSk7CmV4dGVy
biBkb3VibGUgc2luIChkb3VibGUpOwpleHRlcm4gZG91YmxlIHRhbiAoZG91YmxlKTsKCmV4dGVy
biBkb3VibGUgY29zaCAoZG91YmxlKTsKZXh0ZXJuIGRvdWJsZSBzaW5oIChkb3VibGUpOwpleHRl
cm4gZG91YmxlIHRhbmggKGRvdWJsZSk7CgpleHRlcm4gZG91YmxlIGV4cCAoZG91YmxlKTsKZXh0
ZXJuIGRvdWJsZSBmcmV4cCAoZG91YmxlLCBpbnQgKik7CmV4dGVybiBkb3VibGUgbGRleHAgKGRv
dWJsZSwgaW50KTsKZXh0ZXJuIGRvdWJsZSBsb2cgKGRvdWJsZSk7CmV4dGVybiBkb3VibGUgbG9n
MTAgKGRvdWJsZSk7CmV4dGVybiBkb3VibGUgbW9kZiAoZG91YmxlLCBkb3VibGUgKik7CgpleHRl
cm4gZG91YmxlIHBvdyAoZG91YmxlLCBkb3VibGUpOwpleHRlcm4gZG91YmxlIHNxcnQgKGRvdWJs
ZSk7CgpleHRlcm4gZG91YmxlIGNlaWwgKGRvdWJsZSk7CmV4dGVybiBkb3VibGUgZmFicyAoZG91
YmxlKTsKZXh0ZXJuIGRvdWJsZSBmbG9vciAoZG91YmxlKTsKZXh0ZXJuIGRvdWJsZSBmbW9kIChk
b3VibGUsIGRvdWJsZSk7CgoKCgoKCmV4dGVybiBkb3VibGUgZXJmIChkb3VibGUpOwpleHRlcm4g
ZG91YmxlIGVyZmMgKGRvdWJsZSk7CmV4dGVybiBkb3VibGUgZ2FtbWEgKGRvdWJsZSk7CmV4dGVy
biBkb3VibGUgaHlwb3QgKGRvdWJsZSwgZG91YmxlKTsKZXh0ZXJuIGludCBpc25hbiAoZG91Ymxl
KTsKZXh0ZXJuIGRvdWJsZSBqMCAoZG91YmxlKTsKZXh0ZXJuIGRvdWJsZSBqMSAoZG91YmxlKTsK
ZXh0ZXJuIGRvdWJsZSBqbiAoaW50LCBkb3VibGUpOwpleHRlcm4gZG91YmxlIGxnYW1tYSAoZG91
YmxlKTsKZXh0ZXJuIGRvdWJsZSB5MCAoZG91YmxlKTsKZXh0ZXJuIGRvdWJsZSB5MSAoZG91Ymxl
KTsKZXh0ZXJuIGRvdWJsZSB5biAoaW50LCBkb3VibGUpOwoKCgoKCgoKZXh0ZXJuIGRvdWJsZSBh
Y29zaCAoZG91YmxlKTsKZXh0ZXJuIGRvdWJsZSBhc2luaCAoZG91YmxlKTsKZXh0ZXJuIGRvdWJs
ZSBhdGFuaCAoZG91YmxlKTsKZXh0ZXJuIGRvdWJsZSBjYnJ0IChkb3VibGUpOwpleHRlcm4gZG91
YmxlIGxvZ2IgKGRvdWJsZSk7CmV4dGVybiBkb3VibGUgbmV4dGFmdGVyIChkb3VibGUsIGRvdWJs
ZSk7CmV4dGVybiBkb3VibGUgcmVtYWluZGVyIChkb3VibGUsIGRvdWJsZSk7CmV4dGVybiBkb3Vi
bGUgc2NhbGIgKGRvdWJsZSwgZG91YmxlKTsKCgoKCmV4dGVybiBkb3VibGUgZXhwbTEgKGRvdWJs
ZSk7CmV4dGVybiBpbnQgaWxvZ2IgKGRvdWJsZSk7CmV4dGVybiBkb3VibGUgbG9nMXAgKGRvdWJs
ZSk7CmV4dGVybiBkb3VibGUgcmludCAoZG91YmxlKTsKCgoKCgoKZXh0ZXJuIGludCBtYXRoZXJy
IChzdHJ1Y3QgZXhjZXB0aW9uICopOwoKCgoKZXh0ZXJuIGRvdWJsZSBzaWduaWZpY2FuZCAoZG91
YmxlKTsKCgoKCmV4dGVybiBkb3VibGUgY29weXNpZ24gKGRvdWJsZSwgZG91YmxlKTsKZXh0ZXJu
IGRvdWJsZSBzY2FsYm4gKGRvdWJsZSwgaW50KTsKIyAyMzIgIi91c3IvbG9jYWwvbGliL2djYy1s
aWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9tYXRoLmgiIDMKZXh0ZXJuIGZs
b2F0IG1vZGZmIChmbG9hdCwgZmxvYXQgKik7CgojIDEgIi91c3IvbG9jYWwvbGliL2djYy1saWIv
c3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9mbG9hdGluZ3BvaW50LmgiIDEgMwoj
IDI0ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2lu
Y2x1ZGUvZmxvYXRpbmdwb2ludC5oIiAzCiNwcmFnbWEgaWRlbnQgIkAoIylmbG9hdGluZ3BvaW50
LmgJMi40IDk0LzA2LzA5IgojIDQyICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1z
b2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvZmxvYXRpbmdwb2ludC5oIiAzCiMgMSAiL3Vzci9sb2Nh
bC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N0ZGlvLmgi
IDEgMwojIDQzICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMu
MC4xL2luY2x1ZGUvZmxvYXRpbmdwb2ludC5oIiAyIDMKCiMgMSAiL3Vzci9sb2NhbC9saWIvZ2Nj
LWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5cy9pZWVlZnAuaCIgMSAz
CiMgMTcgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEv
aW5jbHVkZS9zeXMvaWVlZWZwLmgiIDMKI3ByYWdtYSBpZGVudCAiQCgjKWllZWVmcC5oCTIuNyA5
NC8xMS8wOSIKIyAyNyAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIu
Ny8zLjAuMS9pbmNsdWRlL3N5cy9pZWVlZnAuaCIgMwplbnVtIGZwX2RpcmVjdGlvbl90eXBlIHsK
ICAgICAgICBmcF9uZWFyZXN0ID0gMCwKICAgICAgICBmcF90b3plcm8gPSAxLAogICAgICAgIGZw
X3Bvc2l0aXZlID0gMiwKICAgICAgICBmcF9uZWdhdGl2ZSA9IDMKfTsKCmVudW0gZnBfcHJlY2lz
aW9uX3R5cGUgewogICAgICAgIGZwX2V4dGVuZGVkID0gMCwKICAgICAgICBmcF9zaW5nbGUgPSAx
LAogICAgICAgIGZwX2RvdWJsZSA9IDIsCiAgICAgICAgZnBfcHJlY2lzaW9uXzMgPSAzCn07Cgpl
bnVtIGZwX2V4Y2VwdGlvbl90eXBlIHsKICAgICAgICBmcF9pbmV4YWN0ID0gMCwKICAgICAgICBm
cF9kaXZpc2lvbiA9IDEsCiAgICAgICAgZnBfdW5kZXJmbG93ID0gMiwKICAgICAgICBmcF9vdmVy
ZmxvdyA9IDMsCiAgICAgICAgZnBfaW52YWxpZCA9IDQKfTsKCmVudW0gZnBfdHJhcF9lbmFibGVf
dHlwZSB7CiAgICAgICAgZnBfdHJhcF9pbmV4YWN0ID0gMCwKICAgICAgICBmcF90cmFwX2Rpdmlz
aW9uID0gMSwKICAgICAgICBmcF90cmFwX3VuZGVyZmxvdyA9IDIsCiAgICAgICAgZnBfdHJhcF9v
dmVyZmxvdyA9IDMsCiAgICAgICAgZnBfdHJhcF9pbnZhbGlkID0gNAp9OwojIDEzMyAiL3Vzci9s
b2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5cy9p
ZWVlZnAuaCIgMwplbnVtIGZwX2NsYXNzX3R5cGUgewogICAgICAgIGZwX3plcm8gPSAwLAogICAg
ICAgIGZwX3N1Ym5vcm1hbCA9IDEsCiAgICAgICAgZnBfbm9ybWFsID0gMiwKICAgICAgICBmcF9p
bmZpbml0eSA9IDMsCiAgICAgICAgZnBfcXVpZXQgPSA0LAogICAgICAgIGZwX3NpZ25hbGluZyA9
IDUKfTsKIyA0NSAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8z
LjAuMS9pbmNsdWRlL2Zsb2F0aW5ncG9pbnQuaCIgMiAzCiMgNTggIi91c3IvbG9jYWwvbGliL2dj
Yy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9mbG9hdGluZ3BvaW50Lmgi
IDMKdHlwZWRlZiBpbnQgc2lnZnBlX2NvZGVfdHlwZTsKCnR5cGVkZWYgdm9pZCAoKnNpZ2ZwZV9o
YW5kbGVyX3R5cGUpKCk7CgoKCgoKZXh0ZXJuIHNpZ2ZwZV9oYW5kbGVyX3R5cGUgc2lnZnBlIChz
aWdmcGVfY29kZV90eXBlLCBzaWdmcGVfaGFuZGxlcl90eXBlKTsKCgoKCnR5cGVkZWYgZmxvYXQg
c2luZ2xlOwoKCgp0eXBlZGVmIHVuc2lnbmVkIGV4dGVuZGVkWzNdOwoKCnR5cGVkZWYgbG9uZyBk
b3VibGUgcXVhZHJ1cGxlOwoKdHlwZWRlZiB1bnNpZ25lZCBmcF9leGNlcHRpb25fZmllbGRfdHlw
ZTsKIyA5MCAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAu
MS9pbmNsdWRlL2Zsb2F0aW5ncG9pbnQuaCIgMwp0eXBlZGVmIGNoYXIgZGVjaW1hbF9zdHJpbmdb
NTEyXTsKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZW51bSBmcF9jbGFzc190eXBlIGZwY2xh
c3M7CiAgICAgICAgaW50IHNpZ247CiAgICAgICAgaW50IGV4cG9uZW50OwogICAgICAgIGRlY2lt
YWxfc3RyaW5nIGRzOwoKCiAgICAgICAgaW50IG1vcmU7CgoKICAgICAgICBpbnQgbmRpZ2l0czsK
Cgp9IGRlY2ltYWxfcmVjb3JkOwoKZW51bSBkZWNpbWFsX2Zvcm0gewogICAgICAgIGZpeGVkX2Zv
cm0sCgoKICAgICAgICBmbG9hdGluZ19mb3JtCgp9OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAg
IGVudW0gZnBfZGlyZWN0aW9uX3R5cGUgcmQ7CgogICAgICAgIGVudW0gZGVjaW1hbF9mb3JtIGRm
OwoKICAgICAgICBpbnQgbmRpZ2l0czsKfSBkZWNpbWFsX21vZGU7CgplbnVtIGRlY2ltYWxfc3Ry
aW5nX2Zvcm0gewogICAgICAgIGludmFsaWRfZm9ybSwKICAgICAgICB3aGl0ZXNwYWNlX2Zvcm0s
CiAgICAgICAgZml4ZWRfaW50X2Zvcm0sCiAgICAgICAgZml4ZWRfaW50ZG90X2Zvcm0sCiAgICAg
ICAgZml4ZWRfZG90ZnJhY19mb3JtLAogICAgICAgIGZpeGVkX2ludGRvdGZyYWNfZm9ybSwKICAg
ICAgICBmbG9hdGluZ19pbnRfZm9ybSwKICAgICAgICBmbG9hdGluZ19pbnRkb3RfZm9ybSwKICAg
ICAgICBmbG9hdGluZ19kb3RmcmFjX2Zvcm0sCiAgICAgICAgZmxvYXRpbmdfaW50ZG90ZnJhY19m
b3JtLAogICAgICAgIGluZl9mb3JtLAogICAgICAgIGluZmluaXR5X2Zvcm0sCiAgICAgICAgbmFu
X2Zvcm0sCiAgICAgICAgbmFuc3RyaW5nX2Zvcm0KfTsKCmV4dGVybiB2b2lkIHNpbmdsZV90b19k
ZWNpbWFsIChzaW5nbGUgKiwgZGVjaW1hbF9tb2RlICosIGRlY2ltYWxfcmVjb3JkICosIGZwX2V4
Y2VwdGlvbl9maWVsZF90eXBlICopOwoKZXh0ZXJuIHZvaWQgZG91YmxlX3RvX2RlY2ltYWwgKGRv
dWJsZSAqLCBkZWNpbWFsX21vZGUgKiwgZGVjaW1hbF9yZWNvcmQgKiwgZnBfZXhjZXB0aW9uX2Zp
ZWxkX3R5cGUgKik7CgpleHRlcm4gdm9pZCBleHRlbmRlZF90b19kZWNpbWFsIChleHRlbmRlZCAq
LCBkZWNpbWFsX21vZGUgKiwgZGVjaW1hbF9yZWNvcmQgKiwgZnBfZXhjZXB0aW9uX2ZpZWxkX3R5
cGUgKik7CgpleHRlcm4gdm9pZCBxdWFkcnVwbGVfdG9fZGVjaW1hbCAocXVhZHJ1cGxlICosIGRl
Y2ltYWxfbW9kZSAqLCBkZWNpbWFsX3JlY29yZCAqLCBmcF9leGNlcHRpb25fZmllbGRfdHlwZSAq
KTsKCgpleHRlcm4gdm9pZCBkZWNpbWFsX3RvX3NpbmdsZSAoc2luZ2xlICosIGRlY2ltYWxfbW9k
ZSAqLCBkZWNpbWFsX3JlY29yZCAqLCBmcF9leGNlcHRpb25fZmllbGRfdHlwZSAqKTsKCmV4dGVy
biB2b2lkIGRlY2ltYWxfdG9fZG91YmxlIChkb3VibGUgKiwgZGVjaW1hbF9tb2RlICosIGRlY2lt
YWxfcmVjb3JkICosIGZwX2V4Y2VwdGlvbl9maWVsZF90eXBlICopOwoKZXh0ZXJuIHZvaWQgZGVj
aW1hbF90b19leHRlbmRlZCAoZXh0ZW5kZWQgKiwgZGVjaW1hbF9tb2RlICosIGRlY2ltYWxfcmVj
b3JkICosIGZwX2V4Y2VwdGlvbl9maWVsZF90eXBlICopOwoKZXh0ZXJuIHZvaWQgZGVjaW1hbF90
b19xdWFkcnVwbGUgKHF1YWRydXBsZSAqLCBkZWNpbWFsX21vZGUgKiwgZGVjaW1hbF9yZWNvcmQg
KiwgZnBfZXhjZXB0aW9uX2ZpZWxkX3R5cGUgKik7CgoKZXh0ZXJuIHZvaWQgc3RyaW5nX3RvX2Rl
Y2ltYWwgKGNoYXIgKiosIGludCwgaW50LCBkZWNpbWFsX3JlY29yZCAqLCBlbnVtIGRlY2ltYWxf
c3RyaW5nX2Zvcm0gKiwgY2hhciAqKik7CgpleHRlcm4gdm9pZCBmdW5jX3RvX2RlY2ltYWwgKGNo
YXIgKiosIGludCwgaW50LCBkZWNpbWFsX3JlY29yZCAqLCBlbnVtIGRlY2ltYWxfc3RyaW5nX2Zv
cm0gKiwgY2hhciAqKiwgaW50ICgqKSh2b2lkKSwgaW50ICosIGludCAoKikoaW50KSk7CgoKZXh0
ZXJuIHZvaWQgZmlsZV90b19kZWNpbWFsIChjaGFyICoqLCBpbnQsIGludCwgZGVjaW1hbF9yZWNv
cmQgKiwgZW51bSBkZWNpbWFsX3N0cmluZ19mb3JtICosIGNoYXIgKiosIEZJTEUgKiwgaW50ICop
OwoKCgpleHRlcm4gY2hhciAqc2Vjb252ZXJ0IChzaW5nbGUgKiwgaW50LCBpbnQgKiwgaW50ICos
IGNoYXIgKik7CmV4dGVybiBjaGFyICpzZmNvbnZlcnQgKHNpbmdsZSAqLCBpbnQsIGludCAqLCBp
bnQgKiwgY2hhciAqKTsKZXh0ZXJuIGNoYXIgKnNnY29udmVydCAoc2luZ2xlICosIGludCwgaW50
LCBjaGFyICopOwpleHRlcm4gY2hhciAqZWNvbnZlcnQgKGRvdWJsZSwgaW50LCBpbnQgKiwgaW50
ICosIGNoYXIgKik7CmV4dGVybiBjaGFyICpmY29udmVydCAoZG91YmxlLCBpbnQsIGludCAqLCBp
bnQgKiwgY2hhciAqKTsKZXh0ZXJuIGNoYXIgKmdjb252ZXJ0IChkb3VibGUsIGludCwgaW50LCBj
aGFyICopOwpleHRlcm4gY2hhciAqcWVjb252ZXJ0IChxdWFkcnVwbGUgKiwgaW50LCBpbnQgKiwg
aW50ICosIGNoYXIgKik7CmV4dGVybiBjaGFyICpxZmNvbnZlcnQgKHF1YWRydXBsZSAqLCBpbnQs
IGludCAqLCBpbnQgKiwgY2hhciAqKTsKZXh0ZXJuIGNoYXIgKnFnY29udmVydCAocXVhZHJ1cGxl
ICosIGludCwgaW50LCBjaGFyICopOwoKZXh0ZXJuIGNoYXIgKmVjdnQgKGRvdWJsZSwgaW50LCBp
bnQgKiwgaW50ICopOwpleHRlcm4gY2hhciAqZmN2dCAoZG91YmxlLCBpbnQsIGludCAqLCBpbnQg
Kik7CmV4dGVybiBjaGFyICpnY3Z0IChkb3VibGUsIGludCwgY2hhciAqKTsKCgoKCgpleHRlcm4g
ZG91YmxlIGF0b2YgKGNvbnN0IGNoYXIgKik7CmV4dGVybiBkb3VibGUgc3RydG9kIChjb25zdCBj
aGFyICosIGNoYXIgKiopOwojIDIzNSAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4t
c29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL21hdGguaCIgMiAzCiMgNCAiemhvdS5jIiAyCiMgMSAi
L3Vzci9pbmNsdWRlL3RpbWUuaCIgMSAzCiMgMTYgIi91c3IvaW5jbHVkZS90aW1lLmgiIDMKI3By
YWdtYSBpZGVudCAiQCgjKXRpbWUuaAkxLjM5CTk5LzA4LzEwIFNNSSIKCiMgMSAiL3Vzci9pbmNs
dWRlL3N5cy9mZWF0dXJlX3Rlc3RzLmgiIDEgMwojIDE5ICIvdXNyL2luY2x1ZGUvdGltZS5oIiAy
IDMKIyAxICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4x
L2luY2x1ZGUvc3lzL3R5cGVzLmgiIDEgMwojIDI1ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3Nw
YXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDMKI3ByYWdtYSBp
ZGVudCAiQCgjKXR5cGVzLmgJMS42Mwk5OC8wNC8yOCBTTUkiCgojIDEgIi91c3IvaW5jbHVkZS9z
eXMvaXNhX2RlZnMuaCIgMSAzCiMgMjggIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3Vu
LXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMiAzCiMgMSAiL3Vzci9pbmNs
dWRlL3N5cy9mZWF0dXJlX3Rlc3RzLmgiIDEgMwojIDI5ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGli
L3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDIgMwoKCgoK
IyAxICIvdXNyL2luY2x1ZGUvc3lzL21hY2h0eXBlcy5oIiAxIDMKIyAxNiAiL3Vzci9pbmNsdWRl
L3N5cy9tYWNodHlwZXMuaCIgMwojcHJhZ21hIGlkZW50ICJAKCMpbWFjaHR5cGVzLmgJMS4xMwk5
OS8wNS8wNCBTTUkiCgojIDEgIi91c3IvaW5jbHVkZS9zeXMvZmVhdHVyZV90ZXN0cy5oIiAxIDMK
IyAxOSAiL3Vzci9pbmNsdWRlL3N5cy9tYWNodHlwZXMuaCIgMiAzCiMgMzMgIi91c3IvaW5jbHVk
ZS9zeXMvbWFjaHR5cGVzLmgiIDMKdHlwZWRlZiBzdHJ1Y3QgX2xhYmVsX3QgeyBsb25nIHZhbFsy
XTsgfSBsYWJlbF90OwoKCgp0eXBlZGVmIHVuc2lnbmVkIGNoYXIgbG9ja190OwojIDM0ICIvdXNy
L2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3lz
L3R5cGVzLmgiIDIgMwojIDQ1ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xh
cmlzMi43LzMuMC4xL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDMKIyAxICIvdXNyL2luY2x1ZGUvc3lz
L2ludF90eXBlcy5oIiAxIDMKIyA5ICIvdXNyL2luY2x1ZGUvc3lzL2ludF90eXBlcy5oIiAzCiNw
cmFnbWEgaWRlbnQgIkAoIylpbnRfdHlwZXMuaAkxLjYJOTcvMDgvMjAgU01JIgojIDQyICIvdXNy
L2luY2x1ZGUvc3lzL2ludF90eXBlcy5oIiAzCiMgMSAiL3Vzci9pbmNsdWRlL3N5cy9pc2FfZGVm
cy5oIiAxIDMKIyA0MyAiL3Vzci9pbmNsdWRlL3N5cy9pbnRfdHlwZXMuaCIgMiAzCiMgNjIgIi91
c3IvaW5jbHVkZS9zeXMvaW50X3R5cGVzLmgiIDMKdHlwZWRlZiBjaGFyIGludDhfdDsKCgoKCgp0
eXBlZGVmIHNob3J0IGludDE2X3Q7CnR5cGVkZWYgaW50IGludDMyX3Q7CgoKCgp0eXBlZGVmIGxv
bmcgbG9uZyBpbnQ2NF90OwoKCgp0eXBlZGVmIHVuc2lnbmVkIGNoYXIgdWludDhfdDsKdHlwZWRl
ZiB1bnNpZ25lZCBzaG9ydCB1aW50MTZfdDsKdHlwZWRlZiB1bnNpZ25lZCBpbnQgdWludDMyX3Q7
CgoKCgp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyB1aW50NjRfdDsKIyA5NCAiL3Vzci9pbmNs
dWRlL3N5cy9pbnRfdHlwZXMuaCIgMwp0eXBlZGVmIGludDY0X3QgaW50bWF4X3Q7CnR5cGVkZWYg
dWludDY0X3QgdWludG1heF90OwojIDExMCAiL3Vzci9pbmNsdWRlL3N5cy9pbnRfdHlwZXMuaCIg
Mwp0eXBlZGVmIGludCBpbnRwdHJfdDsKdHlwZWRlZiB1bnNpZ25lZCBpbnQgdWludHB0cl90OwoK
CgoKCgoKdHlwZWRlZiBjaGFyIGludF9sZWFzdDhfdDsKCgoKCgp0eXBlZGVmIHNob3J0IGludF9s
ZWFzdDE2X3Q7CnR5cGVkZWYgaW50IGludF9sZWFzdDMyX3Q7CgoKCgp0eXBlZGVmIGxvbmcgbG9u
ZyBpbnRfbGVhc3Q2NF90OwoKCgp0eXBlZGVmIHVuc2lnbmVkIGNoYXIgdWludF9sZWFzdDhfdDsK
dHlwZWRlZiB1bnNpZ25lZCBzaG9ydCB1aW50X2xlYXN0MTZfdDsKdHlwZWRlZiB1bnNpZ25lZCBp
bnQgdWludF9sZWFzdDMyX3Q7CgoKCgp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyB1aW50X2xl
YXN0NjRfdDsKIyA0NiAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIu
Ny8zLjAuMS9pbmNsdWRlL3N5cy90eXBlcy5oIiAyIDMKIyA2MiAiL3Vzci9sb2NhbC9saWIvZ2Nj
LWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5cy90eXBlcy5oIiAzCnR5
cGVkZWYgbG9uZyBsb25nIGxvbmdsb25nX3Q7CnR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIHVf
bG9uZ2xvbmdfdDsKIyA4NSAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJp
czIuNy8zLjAuMS9pbmNsdWRlL3N5cy90eXBlcy5oIiAzCnR5cGVkZWYgbG9uZyB0X3NjYWxhcl90
Owp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgdF91c2NhbGFyX3Q7CgoKCgoKdHlwZWRlZiB1bnNpZ25l
ZCBjaGFyIHVjaGFyX3Q7CnR5cGVkZWYgdW5zaWduZWQgc2hvcnQgdXNob3J0X3Q7CnR5cGVkZWYg
dW5zaWduZWQgaW50IHVpbnRfdDsKdHlwZWRlZiB1bnNpZ25lZCBsb25nIHVsb25nX3Q7Cgp0eXBl
ZGVmIGNoYXIgKmNhZGRyX3Q7CnR5cGVkZWYgbG9uZyBkYWRkcl90Owp0eXBlZGVmIHNob3J0IGNu
dF90OwoKCnR5cGVkZWYgdWxvbmdfdCBwYWRkcl90OwojIDExNiAiL3Vzci9sb2NhbC9saWIvZ2Nj
LWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5cy90eXBlcy5oIiAzCnR5
cGVkZWYgaW50IHB0cmRpZmZfdDsKIyAxMjUgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMt
c3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMwp0eXBlZGVmIHVsb25n
X3QgcGZuX3Q7CnR5cGVkZWYgdWxvbmdfdCBwZ2NudF90Owp0eXBlZGVmIGxvbmcgc3BnY250X3Q7
Cgp0eXBlZGVmIHVjaGFyX3QgdXNlX3Q7CnR5cGVkZWYgc2hvcnQgc3lzaWRfdDsKdHlwZWRlZiBz
aG9ydCBpbmRleF90Owp0eXBlZGVmIHZvaWQgKnRpbWVvdXRfaWRfdDsKdHlwZWRlZiB2b2lkICpi
dWZjYWxsX2lkX3Q7CiMgMTYzICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xh
cmlzMi43LzMuMC4xL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDMKdHlwZWRlZiB1bG9uZ190IGlub190
Owp0eXBlZGVmIGxvbmcgYmxrY250X3Q7CnR5cGVkZWYgdWxvbmdfdCBmc2Jsa2NudF90Owp0eXBl
ZGVmIHVsb25nX3QgZnNmaWxjbnRfdDsKIyAxODEgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3Bh
cmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMwp0eXBlZGVmIHVf
bG9uZ2xvbmdfdCBpbm82NF90Owp0eXBlZGVmIGxvbmdsb25nX3QgYmxrY250NjRfdDsKdHlwZWRl
ZiB1X2xvbmdsb25nX3QgZnNibGtjbnQ2NF90Owp0eXBlZGVmIHVfbG9uZ2xvbmdfdCBmc2ZpbGNu
dDY0X3Q7CgoKCgoKCnR5cGVkZWYgbG9uZyBibGtzaXplX3Q7CgoKCgoKdHlwZWRlZiBlbnVtIHsg
Ql9GQUxTRSwgQl9UUlVFIH0gYm9vbGVhbl90OwojIDIwOCAiL3Vzci9sb2NhbC9saWIvZ2NjLWxp
Yi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5cy90eXBlcy5oIiAzCnR5cGVk
ZWYgaW50NjRfdCBwYWQ2NF90Owp0eXBlZGVmIHVpbnQ2NF90IHVwYWQ2NF90OwojIDIyMSAiL3Vz
ci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5
cy90eXBlcy5oIiAzCnR5cGVkZWYgbG9uZ2xvbmdfdCBvZmZzZXRfdDsKdHlwZWRlZiB1X2xvbmds
b25nX3QgdV9vZmZzZXRfdDsKdHlwZWRlZiB1X2xvbmdsb25nX3QgbGVuX3Q7CnR5cGVkZWYgbG9u
Z2xvbmdfdCBkaXNrYWRkcl90OwojIDI0MiAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1z
dW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5cy90eXBlcy5oIiAzCnR5cGVkZWYgdW5pb24g
ewogICAgICAgIG9mZnNldF90IF9mOwogICAgICAgIHN0cnVjdCB7CiAgICAgICAgICAgICAgICBp
bnQzMl90IF91OwogICAgICAgICAgICAgICAgaW50MzJfdCBfbDsKICAgICAgICB9IF9wOwp9IGxs
b2ZmX3Q7CiMgMjYyICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43
LzMuMC4xL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDMKdHlwZWRlZiB1bmlvbiB7CiAgICAgICAgZGlz
a2FkZHJfdCBfZjsKICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICAgICAgaW50MzJfdCBfdTsK
ICAgICAgICAgICAgICAgIGludDMyX3QgX2w7CiAgICAgICAgfSBfcDsKfSBsbGRhZGRyX3Q7CgoK
dHlwZWRlZiB1aW50X3Qga19mbHRzZXRfdDsKIyAyODcgIi91c3IvbG9jYWwvbGliL2djYy1saWIv
c3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMwp0eXBlZGVm
IGxvbmcgaWRfdDsKCgoKCgoKdHlwZWRlZiB1aW50X3QgdXNlY29uZHNfdDsKCgoKdHlwZWRlZiBs
b25nIHN1c2Vjb25kc190OwojIDMwOCAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4t
c29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5cy90eXBlcy5oIiAzCnR5cGVkZWYgdWxvbmdfdCBt
YWpvcl90Owp0eXBlZGVmIHVsb25nX3QgbWlub3JfdDsKCgoKCgp0eXBlZGVmIHNob3J0IHByaV90
OwojIDMyOCAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAu
MS9pbmNsdWRlL3N5cy90eXBlcy5oIiAzCnR5cGVkZWYgdXNob3J0X3Qgb19tb2RlX3Q7CnR5cGVk
ZWYgc2hvcnQgb19kZXZfdDsKdHlwZWRlZiB1c2hvcnRfdCBvX3VpZF90Owp0eXBlZGVmIG9fdWlk
X3Qgb19naWRfdDsKdHlwZWRlZiBzaG9ydCBvX25saW5rX3Q7CnR5cGVkZWYgc2hvcnQgb19waWRf
dDsKdHlwZWRlZiB1c2hvcnRfdCBvX2lub190OwoKCgoKCnR5cGVkZWYgaW50IGtleV90OwoKCgp0
eXBlZGVmIHVsb25nX3QgbW9kZV90OwojIDM1NiAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFy
Yy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5cy90eXBlcy5oIiAzCnR5cGVkZWYgdWlk
X3QgZ2lkX3Q7CgoKCgoKCnR5cGVkZWYgdW5zaWduZWQgaW50IHB0aHJlYWRfdDsKdHlwZWRlZiB1
bnNpZ25lZCBpbnQgcHRocmVhZF9rZXlfdDsKCnR5cGVkZWYgc3RydWN0IF9wdGhyZWFkX211dGV4
IHsKICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICAgICAgdWludDhfdCBfX3B0aHJlYWRfbXV0
ZXhfZmxhZ1s0XTsKICAgICAgICAgICAgICAgIHVpbnQzMl90IF9fcHRocmVhZF9tdXRleF90eXBl
OwogICAgICAgIH0gX19wdGhyZWFkX211dGV4X2ZsYWdzOwogICAgICAgIHVuaW9uIHsKICAgICAg
ICAgICAgICAgIHN0cnVjdCB7CiAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgX19wdGhy
ZWFkX211dGV4X3BhZFs4XTsKICAgICAgICAgICAgICAgIH0gX19wdGhyZWFkX211dGV4X2xvY2s2
NDsKICAgICAgICAgICAgICAgIHVwYWQ2NF90IF9fcHRocmVhZF9tdXRleF9vd25lcjY0OwogICAg
ICAgIH0gX19wdGhyZWFkX211dGV4X2xvY2s7CiAgICAgICAgdXBhZDY0X3QgX19wdGhyZWFkX211
dGV4X2RhdGE7Cn0gcHRocmVhZF9tdXRleF90OwoKdHlwZWRlZiBzdHJ1Y3QgX3B0aHJlYWRfY29u
ZCB7CiAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgICAgIHVpbnQ4X3QgX19wdGhyZWFkX2Nv
bmRfZmxhZ1s0XTsKICAgICAgICAgICAgICAgIHVpbnQzMl90IF9fcHRocmVhZF9jb25kX3R5cGU7
CiAgICAgICAgfSBfX3B0aHJlYWRfY29uZF9mbGFnczsKICAgICAgICB1cGFkNjRfdCBfX3B0aHJl
YWRfY29uZF9kYXRhOwp9IHB0aHJlYWRfY29uZF90OwoKCgoKdHlwZWRlZiBzdHJ1Y3QgX3B0aHJl
YWRfcndsb2NrIHsKICAgICAgICBpbnQzMl90IF9fcHRocmVhZF9yd2xvY2tfcmVhZGVyczsKICAg
ICAgICB1aW50MTZfdCBfX3B0aHJlYWRfcndsb2NrX3R5cGU7CiAgICAgICAgdWludDE2X3QgX19w
dGhyZWFkX3J3bG9ja19tYWdpYzsKICAgICAgICB1cGFkNjRfdCBfX3B0aHJlYWRfcndsb2NrX3Bh
ZDFbM107CiAgICAgICAgdXBhZDY0X3QgX19wdGhyZWFkX3J3bG9ja19wYWQyWzJdOwogICAgICAg
IHVwYWQ2NF90IF9fcHRocmVhZF9yd2xvY2tfcGFkM1syXTsKfSBwdGhyZWFkX3J3bG9ja190OwoK
CgoKdHlwZWRlZiBzdHJ1Y3QgX3B0aHJlYWRfYXR0ciB7CiAgICAgICAgdm9pZCAqX19wdGhyZWFk
X2F0dHJwOwp9IHB0aHJlYWRfYXR0cl90OwoKCgoKCnR5cGVkZWYgc3RydWN0IF9wdGhyZWFkX211
dGV4YXR0ciB7CiAgICAgICAgdm9pZCAqX19wdGhyZWFkX211dGV4YXR0cnA7Cn0gcHRocmVhZF9t
dXRleGF0dHJfdDsKCgoKCgp0eXBlZGVmIHN0cnVjdCBfcHRocmVhZF9jb25kYXR0ciB7CiAgICAg
ICAgdm9pZCAqX19wdGhyZWFkX2NvbmRhdHRycDsKfSBwdGhyZWFkX2NvbmRhdHRyX3Q7CgoKCgp0
eXBlZGVmIHN0cnVjdCBfb25jZSB7CiAgICAgICAgdXBhZDY0X3QgX19wdGhyZWFkX29uY2VfcGFk
WzRdOwp9IHB0aHJlYWRfb25jZV90OwoKCgoKCnR5cGVkZWYgc3RydWN0IF9wdGhyZWFkX3J3bG9j
a2F0dHIgewogICAgICAgIHZvaWQgKl9fcHRocmVhZF9yd2xvY2thdHRycDsKfSBwdGhyZWFkX3J3
bG9ja2F0dHJfdDsKCnR5cGVkZWYgdWxvbmdfdCBkZXZfdDsKCgoKCgp0eXBlZGVmIHVsb25nX3Qg
bmxpbmtfdDsKdHlwZWRlZiBsb25nIHBpZF90OwojIDQ3NiAiL3Vzci9sb2NhbC9saWIvZ2NjLWxp
Yi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5cy90eXBlcy5oIiAzCnR5cGVk
ZWYgbG9uZyB0aW1lX3Q7CgoKCgp0eXBlZGVmIGxvbmcgY2xvY2tfdDsKCgoKCnR5cGVkZWYgaW50
IGNsb2NraWRfdDsKCgoKCnR5cGVkZWYgaW50IHRpbWVyX3Q7CgoKCgoKCnR5cGVkZWYgdW5zaWdu
ZWQgY2hhciB1bmNoYXI7CnR5cGVkZWYgdW5zaWduZWQgc2hvcnQgdXNob3J0Owp0eXBlZGVmIHVu
c2lnbmVkIGludCB1aW50Owp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgdWxvbmc7CiMgNTUyICIvdXNy
L2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3lz
L3R5cGVzLmgiIDMKdHlwZWRlZiB1bnNpZ25lZCBjaGFyIHVfY2hhcjsKdHlwZWRlZiB1bnNpZ25l
ZCBzaG9ydCB1X3Nob3J0Owp0eXBlZGVmIHVuc2lnbmVkIGludCB1X2ludDsKdHlwZWRlZiB1bnNp
Z25lZCBsb25nIHVfbG9uZzsKdHlwZWRlZiBzdHJ1Y3QgX3F1YWQgeyBpbnQgdmFsWzJdOyB9IHF1
YWRfdDsKdHlwZWRlZiBxdWFkX3QgcXVhZDsKCgoKCgoKIyAxICIvdXNyL2luY2x1ZGUvc3lzL3Nl
bGVjdC5oIiAxIDMKIyAxMiAiL3Vzci9pbmNsdWRlL3N5cy9zZWxlY3QuaCIgMwojcHJhZ21hIGlk
ZW50ICJAKCMpc2VsZWN0LmgJMS4xNgk5OC8wNC8yNyBTTUkiCgojIDEgIi91c3IvaW5jbHVkZS9z
eXMvZmVhdHVyZV90ZXN0cy5oIiAxIDMKIyAxNSAiL3Vzci9pbmNsdWRlL3N5cy9zZWxlY3QuaCIg
MiAzCgoKIyAxICIvdXNyL2luY2x1ZGUvc3lzL3RpbWUuaCIgMSAzCiMgMjIgIi91c3IvaW5jbHVk
ZS9zeXMvdGltZS5oIiAzCiNwcmFnbWEgaWRlbnQgIkAoIyl0aW1lLmgJMi42NgkwMS8wMS8xNyBT
TUkiCgojIDEgIi91c3IvaW5jbHVkZS9zeXMvZmVhdHVyZV90ZXN0cy5oIiAxIDMKIyAyNSAiL3Vz
ci9pbmNsdWRlL3N5cy90aW1lLmgiIDIgMwojIDQ5ICIvdXNyL2luY2x1ZGUvc3lzL3RpbWUuaCIg
MwpzdHJ1Y3QgdGltZXZhbCB7CiAgICAgICAgdGltZV90IHR2X3NlYzsKICAgICAgICBzdXNlY29u
ZHNfdCB0dl91c2VjOwp9OwojIDgyICIvdXNyL2luY2x1ZGUvc3lzL3RpbWUuaCIgMwpzdHJ1Y3Qg
dGltZXpvbmUgewogICAgICAgIGludCB0el9taW51dGVzd2VzdDsKICAgICAgICBpbnQgdHpfZHN0
dGltZTsKfTsKIyAxMDAgIi91c3IvaW5jbHVkZS9zeXMvdGltZS5oIiAzCiMgMSAiL3Vzci9sb2Nh
bC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5cy90eXBl
cy5oIiAxIDMKIyAxMDEgIi91c3IvaW5jbHVkZS9zeXMvdGltZS5oIiAyIDMKIyAxNTUgIi91c3Iv
aW5jbHVkZS9zeXMvdGltZS5oIiAzCnN0cnVjdCBpdGltZXJ2YWwgewogICAgICAgIHN0cnVjdCB0
aW1ldmFsIGl0X2ludGVydmFsOwogICAgICAgIHN0cnVjdCB0aW1ldmFsIGl0X3ZhbHVlOwp9Owoj
IDIwMyAiL3Vzci9pbmNsdWRlL3N5cy90aW1lLmgiIDMKdHlwZWRlZiBsb25nbG9uZ190IGhydGlt
ZV90OwojIDMyMCAiL3Vzci9pbmNsdWRlL3N5cy90aW1lLmgiIDMKaW50IGFkanRpbWUoc3RydWN0
IHRpbWV2YWwgKiwgc3RydWN0IHRpbWV2YWwgKik7CiMgMzMxICIvdXNyL2luY2x1ZGUvc3lzL3Rp
bWUuaCIgMwppbnQgZ2V0aXRpbWVyKGludCwgc3RydWN0IGl0aW1lcnZhbCAqKTsKaW50IHV0aW1l
cyhjb25zdCBjaGFyICosIGNvbnN0IHN0cnVjdCB0aW1ldmFsICopOwoKCgppbnQgc2V0aXRpbWVy
KGludCwgc3RydWN0IGl0aW1lcnZhbCAqLCBzdHJ1Y3QgaXRpbWVydmFsICopOwojIDM2OSAiL3Vz
ci9pbmNsdWRlL3N5cy90aW1lLmgiIDMKaW50IHNldHRpbWVvZmRheShzdHJ1Y3QgdGltZXZhbCAq
LCB2b2lkICopOwoKaHJ0aW1lX3QgZ2V0aHJ0aW1lKHZvaWQpOwpocnRpbWVfdCBnZXRocnZ0aW1l
KHZvaWQpOwojIDM4OSAiL3Vzci9pbmNsdWRlL3N5cy90aW1lLmgiIDMKaW50IGdldHRpbWVvZmRh
eShzdHJ1Y3QgdGltZXZhbCAqLCB2b2lkICopOwojIDQxMCAiL3Vzci9pbmNsdWRlL3N5cy90aW1l
LmgiIDMKIyAxICIvdXNyL2luY2x1ZGUvdGltZS5oIiAxIDMKIyA0MTEgIi91c3IvaW5jbHVkZS9z
eXMvdGltZS5oIiAyIDMKIyA0MjMgIi91c3IvaW5jbHVkZS9zeXMvdGltZS5oIiAzCiMgMSAiL3Vz
ci9pbmNsdWRlL3N5cy9zZWxlY3QuaCIgMSAzCiMgNDI0ICIvdXNyL2luY2x1ZGUvc3lzL3RpbWUu
aCIgMiAzCiMgMTggIi91c3IvaW5jbHVkZS9zeXMvc2VsZWN0LmgiIDIgMwojIDQ1ICIvdXNyL2lu
Y2x1ZGUvc3lzL3NlbGVjdC5oIiAzCnR5cGVkZWYgbG9uZyBmZF9tYXNrOwoKdHlwZWRlZiBsb25n
IGZkc19tYXNrOwojIDczICIvdXNyL2luY2x1ZGUvc3lzL3NlbGVjdC5oIiAzCnR5cGVkZWYgc3Ry
dWN0IGZkX3NldCB7CgoKCiAgICAgICAgbG9uZyBmZHNfYml0c1soKCgxMDI0KSsoKChzaXplb2Yg
KGZkc19tYXNrKSAqIDgpKS0xKSkvKChzaXplb2YgKGZkc19tYXNrKSAqIDgpKSldOwp9IGZkX3Nl
dDsKIyA5NyAiL3Vzci9pbmNsdWRlL3N5cy9zZWxlY3QuaCIgMwpleHRlcm4gaW50IHNlbGVjdChp
bnQsIGZkX3NldCAqLCBmZF9zZXQgKiwgZmRfc2V0ICosIHN0cnVjdCB0aW1ldmFsICopOwojIDU2
NSAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNs
dWRlL3N5cy90eXBlcy5oIiAyIDMKIyAyMCAiL3Vzci9pbmNsdWRlL3RpbWUuaCIgMiAzCiMgMSAi
L3Vzci9pbmNsdWRlL2lzby90aW1lX2lzby5oIiAxIDMKIyAyOCAiL3Vzci9pbmNsdWRlL2lzby90
aW1lX2lzby5oIiAzCiNwcmFnbWEgaWRlbnQgIkAoIyl0aW1lX2lzby5oCTEuMQk5OS8wOC8wOSBT
TUkiCgojIDEgIi91c3IvaW5jbHVkZS9zeXMvZmVhdHVyZV90ZXN0cy5oIiAxIDMKIyAzMSAiL3Vz
ci9pbmNsdWRlL2lzby90aW1lX2lzby5oIiAyIDMKIyA2OSAiL3Vzci9pbmNsdWRlL2lzby90aW1l
X2lzby5oIiAzCnN0cnVjdCB0bSB7CiAgICAgICAgaW50IHRtX3NlYzsKICAgICAgICBpbnQgdG1f
bWluOwogICAgICAgIGludCB0bV9ob3VyOwogICAgICAgIGludCB0bV9tZGF5OwogICAgICAgIGlu
dCB0bV9tb247CiAgICAgICAgaW50IHRtX3llYXI7CiAgICAgICAgaW50IHRtX3dkYXk7CiAgICAg
ICAgaW50IHRtX3lkYXk7CiAgICAgICAgaW50IHRtX2lzZHN0Owp9OwoKCgoKZXh0ZXJuIGNoYXIg
KmFzY3RpbWUoY29uc3Qgc3RydWN0IHRtICopOwpleHRlcm4gY2xvY2tfdCBjbG9jayh2b2lkKTsK
ZXh0ZXJuIGNoYXIgKmN0aW1lKGNvbnN0IHRpbWVfdCAqKTsKZXh0ZXJuIGRvdWJsZSBkaWZmdGlt
ZSh0aW1lX3QsIHRpbWVfdCk7CmV4dGVybiBzdHJ1Y3QgdG0gKmdtdGltZShjb25zdCB0aW1lX3Qg
Kik7CmV4dGVybiBzdHJ1Y3QgdG0gKmxvY2FsdGltZShjb25zdCB0aW1lX3QgKik7CmV4dGVybiB0
aW1lX3QgbWt0aW1lKHN0cnVjdCB0bSAqKTsKZXh0ZXJuIHRpbWVfdCB0aW1lKHRpbWVfdCAqKTsK
ZXh0ZXJuIHNpemVfdCBzdHJmdGltZShjaGFyICosIHNpemVfdCwgY29uc3QgY2hhciAqLCBjb25z
dCBzdHJ1Y3QgdG0gKik7CiMgMjEgIi91c3IvaW5jbHVkZS90aW1lLmgiIDIgMwojIDY3ICIvdXNy
L2luY2x1ZGUvdGltZS5oIiAzCmV4dGVybiBjaGFyICpzdHJwdGltZShjb25zdCBjaGFyICosIGNv
bnN0IGNoYXIgKiwgc3RydWN0IHRtICopOwojIDgzICIvdXNyL2luY2x1ZGUvdGltZS5oIiAzCiMg
MSAiL3Vzci9pbmNsdWRlL3N5cy90aW1lX2ltcGwuaCIgMSAzCiMgMTUgIi91c3IvaW5jbHVkZS9z
eXMvdGltZV9pbXBsLmgiIDMKI3ByYWdtYSBpZGVudCAiQCgjKXRpbWVfaW1wbC5oCTEuNQk5OS8x
MC8wNSBTTUkiCgojIDEgIi91c3IvaW5jbHVkZS9zeXMvZmVhdHVyZV90ZXN0cy5oIiAxIDMKIyAx
OCAiL3Vzci9pbmNsdWRlL3N5cy90aW1lX2ltcGwuaCIgMiAzCiMgMzYgIi91c3IvaW5jbHVkZS9z
eXMvdGltZV9pbXBsLmgiIDMKdHlwZWRlZiBzdHJ1Y3QgdGltZXNwZWMgewogICAgICAgIHRpbWVf
dCB0dl9zZWM7CiAgICAgICAgbG9uZyB0dl9uc2VjOwp9IHRpbWVzcGVjX3Q7CiMgNjAgIi91c3Iv
aW5jbHVkZS9zeXMvdGltZV9pbXBsLmgiIDMKdHlwZWRlZiBzdHJ1Y3QgdGltZXNwZWMgdGltZXN0
cnVjX3Q7CiMgNzkgIi91c3IvaW5jbHVkZS9zeXMvdGltZV9pbXBsLmgiIDMKdHlwZWRlZiBzdHJ1
Y3QgaXRpbWVyc3BlYyB7CiAgICAgICAgc3RydWN0IHRpbWVzcGVjIGl0X2ludGVydmFsOwogICAg
ICAgIHN0cnVjdCB0aW1lc3BlYyBpdF92YWx1ZTsKfSBpdGltZXJzcGVjX3Q7CiMgODQgIi91c3Iv
aW5jbHVkZS90aW1lLmgiIDIgMwojIDk4ICIvdXNyL2luY2x1ZGUvdGltZS5oIiAzCnVuaW9uIHNp
Z3ZhbCB7CiAgICAgICAgaW50IHNpdmFsX2ludDsKICAgICAgICB2b2lkICpzaXZhbF9wdHI7Cn07
CgoKCgpzdHJ1Y3Qgc2lnZXZlbnQgewogICAgICAgIGludCBzaWdldl9ub3RpZnk7CiAgICAgICAg
aW50IHNpZ2V2X3NpZ25vOwogICAgICAgIHVuaW9uIHNpZ3ZhbCBzaWdldl92YWx1ZTsKICAgICAg
ICB2b2lkICgqc2lnZXZfbm90aWZ5X2Z1bmN0aW9uKSh1bmlvbiBzaWd2YWwpOwogICAgICAgIHB0
aHJlYWRfYXR0cl90ICpzaWdldl9ub3RpZnlfYXR0cmlidXRlczsKICAgICAgICBpbnQgX19zaWdl
dl9wYWQyOwp9OwoKCmV4dGVybiBpbnQgY2xvY2tfZ2V0cmVzKGNsb2NraWRfdCwgc3RydWN0IHRp
bWVzcGVjICopOwpleHRlcm4gaW50IGNsb2NrX2dldHRpbWUoY2xvY2tpZF90LCBzdHJ1Y3QgdGlt
ZXNwZWMgKik7CmV4dGVybiBpbnQgY2xvY2tfc2V0dGltZShjbG9ja2lkX3QsIGNvbnN0IHN0cnVj
dCB0aW1lc3BlYyAqKTsKZXh0ZXJuIGludCB0aW1lcl9jcmVhdGUoY2xvY2tpZF90LCBzdHJ1Y3Qg
c2lnZXZlbnQgKiwgdGltZXJfdCAqKTsKZXh0ZXJuIGludCB0aW1lcl9kZWxldGUodGltZXJfdCk7
CmV4dGVybiBpbnQgdGltZXJfZ2V0b3ZlcnJ1bih0aW1lcl90KTsKZXh0ZXJuIGludCB0aW1lcl9n
ZXR0aW1lKHRpbWVyX3QsIHN0cnVjdCBpdGltZXJzcGVjICopOwpleHRlcm4gaW50IHRpbWVyX3Nl
dHRpbWUodGltZXJfdCwgaW50LCBjb25zdCBzdHJ1Y3QgaXRpbWVyc3BlYyAqLAogICAgICAgICAg
ICAgICAgc3RydWN0IGl0aW1lcnNwZWMgKik7CmV4dGVybiBpbnQgbmFub3NsZWVwKGNvbnN0IHN0
cnVjdCB0aW1lc3BlYyAqLCBzdHJ1Y3QgdGltZXNwZWMgKik7CgoKCgpleHRlcm4gdm9pZCB0enNl
dCh2b2lkKTsKCmV4dGVybiBjaGFyICp0em5hbWVbMl07CgoKZXh0ZXJuIGxvbmcgX3N5c2NvbmYo
aW50KTsKCgoKCgoKZXh0ZXJuIGxvbmcgdGltZXpvbmU7CmV4dGVybiBpbnQgZGF5bGlnaHQ7CgoK
CgoKZXh0ZXJuIGludCBjZnRpbWUoY2hhciAqLCBjaGFyICosIGNvbnN0IHRpbWVfdCAqKTsKZXh0
ZXJuIGludCBhc2NmdGltZShjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3Qgc3RydWN0IHRtICop
OwpleHRlcm4gbG9uZyBhbHR6b25lOwoKCgoKZXh0ZXJuIHN0cnVjdCB0bSAqZ2V0ZGF0ZShjb25z
dCBjaGFyICopOwoKCgoKCgpleHRlcm4gaW50IGdldGRhdGVfZXJyOwojIDUgInpob3UuYyIgMgoj
IDEgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5j
bHVkZS9saW1pdHMuaCIgMSAzCiMgMTEgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3Vu
LXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9saW1pdHMuaCIgMwojIDEgIi91c3IvbG9jYWwvbGli
L2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9zeXNsaW1pdHMuaCIg
MSAzCiMgMjUgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4w
LjEvaW5jbHVkZS9zeXNsaW1pdHMuaCIgMwojcHJhZ21hIGlkZW50ICJAKCMpbGltaXRzLmgJMS40
OAk5OC8wNy8yMCBTTUkiCgojIDEgIi91c3IvaW5jbHVkZS9zeXMvZmVhdHVyZV90ZXN0cy5oIiAx
IDMKIyAyOCAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAu
MS9pbmNsdWRlL3N5c2xpbWl0cy5oIiAyIDMKIyAxICIvdXNyL2luY2x1ZGUvc3lzL2lzYV9kZWZz
LmgiIDEgMwojIDI5ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43
LzMuMC4xL2luY2x1ZGUvc3lzbGltaXRzLmgiIDIgMwojIDQwICIvdXNyL2xvY2FsL2xpYi9nY2Mt
bGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3lzbGltaXRzLmgiIDMKIyAx
ICIvdXNyL2luY2x1ZGUvc3lzL2ludF9saW1pdHMuaCIgMSAzCiMgOSAiL3Vzci9pbmNsdWRlL3N5
cy9pbnRfbGltaXRzLmgiIDMKI3ByYWdtYSBpZGVudCAiQCgjKWludF9saW1pdHMuaAkxLjYJOTkv
MDgvMDYgU01JIgojIDQ0ICIvdXNyL2luY2x1ZGUvc3lzL2ludF9saW1pdHMuaCIgMwojIDEgIi91
c3IvaW5jbHVkZS9zeXMvaXNhX2RlZnMuaCIgMSAzCiMgNDUgIi91c3IvaW5jbHVkZS9zeXMvaW50
X2xpbWl0cy5oIiAyIDMKIyA0MSAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29s
YXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5c2xpbWl0cy5oIiAyIDMKIyAxMiAiL3Vzci9sb2NhbC9s
aWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL2xpbWl0cy5oIiAy
IDMKIyA2ICJ6aG91LmMiIDIKIyAxICJyYW5kb20uYyIgMQoKCgp1bnNpZ25lZCBuZD0xLCBpcmFu
PTI5MTUzMDcxNywgcmFuLCByYVsxNjM4NF07CmRvdWJsZSByYW5zY2FsZT0oZG91YmxlKTEvKCgy
MTQ3NDgzNjQ3ICogMlUgKyAxKSsoZG91YmxlKTEpOwoKCnZvaWQgaW5pdGlhbGl6ZV9ybmcodm9p
ZCkKewogIGRvdWJsZSB6PTAuNDYxNzAzNDsKICBpbnQgbTsKCiAgZm9yKG09MDttPDE2Mzg0O20r
KykKICAgIHsKICAgICAgaXJhbio9NjkwNjk7CiAgICAgIGlyYW4rKzsKICAgICAgcmFbbV09aXJh
bl4oaW50KSgxLjFlOSpzaW4oKGRvdWJsZSltKSleKGludCkoNS5lMTAqeik7CiAgICAgIHo9MS45
OTg3NjQwNzA4ZTAteip6OwogICAgfQogIGZvcihtPTA7bTwxNjM4NDttKyspCiAgICB7CiAgICAg
IGlyYW4qPTY5MDY5OwogICAgICBpcmFuKys7CiAgICAgIHJhW21dXj0oaXJhbjw8Myk7CiAgICAg
IGlyYW4rKzsKICAgICAgcmFbbV1ePShpcmFuPj4xOSk7CiAgICB9CiAgZm9yKG09MDttPDE2Mzg0
O20rPTI3KQogICAgewogICAgICBpcmFuKj02OTA2OTsKICAgICAgaXJhbisrOwogICAgICByYVtt
XV49aXJhbjsKICAgIH0KICBmb3IobT0wO208NTAwMDAwO20rKykKICAgICAgcmFuPSgrK25kLHJh
W25kJjE2MzgzXSA9IHJhWyhuZC00NzEpJjE2MzgzXV5yYVsobmQtNjk4OCkmMTYzODNdXnJhWyhu
ZC05Njg5KSYxNjM4M11ecmFbKG5kLTE1ODYpJjE2MzgzXSkgOwp9CiMgNyAiemhvdS5jIiAyCiMg
MjYgInpob3UuYyIKY2xvY2tfdCBzdGFydCwgZW5kZTsKZG91YmxlIGNwdV90aW1lPTA7CmludCBp
LCBuLCBzdGFydHMsIHN0YXJ0c2xhc3RbNTAwXSxlOwpkb3VibGUgd2s7CmRvdWJsZSB6blsyNV0s
c2Vld1syNV0sIHNlZXcyWzI1XTsKaW50IGVtYXg9MDsKaW50IGNbMjVdLGVlWzI1XTsKaW50IHRv
dXJsZW5ndGg7CmludCBubWF4X2xlbmd0aCxzdGFydG1pbls1MDBdOwpkb3VibGUgeHhbMjVdLHl5
WzI1XSx6elsyNV0scGhpWzI1XSx0aGV0YVsyNV0seHgwWzI1XSx5eTBbMjVdLHp6MFsyNV07CmRv
dWJsZSBwaTI9My4xNDE1OTI2NTM1ODk3OTMwKjIuLHJhbnNjYWxlMixyYW5zY2FsZXBpMjsKZG91
YmxlIGxhbWJkYTI9MS41KjEuNTsKZG91YmxlIGxvZ3AwOwpkb3VibGUgZWhpc3RbNTAwXVs1XTsK
aW50IGxhc3RoaXRbNTAwXVs1XSwgY2VoaXN0WzUwMF1bNV07CmludCBsZW5nWzVdPXsyNCwxNSwx
MSw3LDV9OwoKRklMRSAqZm91dDsKaW50IHN1Y2NbNTAwXTsKZG91YmxlIHN1Y2N3WzUwMF07CmRv
dWJsZSBzdW1xWzYwICsxXSxzdW1xdFs2MCo2MCo2MC82XSxzdW1xMls2MCo2MCo2MC82XTsKZG91
YmxlIHEwWzEzXTsKCnZvaWQgc3RlcChkb3VibGUgdykKewogaW50IGsxLGsyLGszLGosbmZyZWUs
bmZyZWUxOwogaW50IGVlbmV4dFs2MCArMV07CiBkb3VibGUgdzEsIHcyLCB3cHJlZDsKIGRvdWJs
ZSBxWzYwICsxXSxxcVs2MCArMV07CiBkb3VibGUgeHhuZXdbNjAgKzFdLHl5bmV3WzYwICsxXSx6
em5ld1s2MCArMV0seHh0LHl5dCx6enQ7CiBkb3VibGUgcGhpbmV3WzYwICsxXSx0aGV0YW5ld1s2
MCArMV07CiBkb3VibGUgZW9sZCxycDsKIGRvdWJsZSBwaGkxLHRoZXRhMTsKIGRvdWJsZSBjb3N0
aGV0YTEsc2ludGhldGExOwogZG91YmxlIHh4biwgeXluLCB6em4sIHJrbjI7CiBpbnQgZGUsbmV4
dFs2MCo2MCo2MC82XVs0XSxudW0xLG51bXQsbmV4dGZyZWUsam5bNjAgKzFdOwogaW50IGlyMDsK
IGRvdWJsZSB3ZjsKCiAgICAgICAgICAgICBpZih3PjEuZTMwKSB7cHJpbnRmKCJ3ID0gJWU6IHN0
YXJ0cyxuID0gJWQsICVkXG4iLHcsc3RhcnRzLG4pOyAoLS0oKCZfX2lvYlswXSkpLT5fY250IDwg
MCA/IF9fZmlsYnVmKCgmX19pb2JbMF0pKSA6IChpbnQpKigoJl9faW9iWzBdKSktPl9wdHIrKyk7
fQogIGVvbGQ9ZTsKICBlKz1lZVtuXTsKICB6bltuXSs9dzsKICBjW25dKys7CiAgc2Vld1tuXSs9
ZSp3OyBzZWV3MltuXSs9ZSplKnc7CgogIHh4dD14eFtuXTsgeXl0PXl5W25dOyB6enQ9enpbbl07
CgogIGlmIChuPnRvdXJsZW5ndGgpIHRvdXJsZW5ndGg9bjsKCiAgZm9yIChpPTA7aTw1O2krKykg
ewogICAgICBpZiAobj09bGVuZ1tpXSkgewogICAgICAgICAgZWhpc3RbZV1baV0rPXc7CiAgICAg
ICAgICBpZiAobGFzdGhpdFtlXVtpXTxzdGFydHMpIHsgY2VoaXN0W2VdW2ldKys7IGxhc3RoaXRb
ZV1baV09c3RhcnRzO30KICAgICAgfQogIH0KCiAgaWYgKG48bm1heF9sZW5ndGgpIHsKICAgICBu
Kys7CiAgICAgbmZyZWU9MDsKICAgICBwaGkxPSgrK25kLHJhW25kJjE2MzgzXSA9IHJhWyhuZC00
NzEpJjE2MzgzXV5yYVsobmQtNjk4OCkmMTYzODNdXnJhWyhuZC05Njg5KSYxNjM4M11ecmFbKG5k
LTE1ODYpJjE2MzgzXSkqcmFuc2NhbGVwaTI7CiAgICAgZm9yIChqPTE7ajw9NjA7aisrKSB7CiAg
ICAgICAgcGhpMSs9cGkyLzYwOyBpZihwaGkxPnBpMikgcGhpMS09cGkyOwogICAgICAgIGNvc3Ro
ZXRhMT0oKytuZCxyYVtuZCYxNjM4M10gPSByYVsobmQtNDcxKSYxNjM4M11ecmFbKG5kLTY5ODgp
JjE2MzgzXV5yYVsobmQtOTY4OSkmMTYzODNdXnJhWyhuZC0xNTg2KSYxNjM4M10pKnJhbnNjYWxl
Mi0xOwogICAgICAgIHNpbnRoZXRhMT1zcXJ0KDEtY29zdGhldGExKmNvc3RoZXRhMSk7CiAgICAg
ICAgdGhldGExPWFjb3MoY29zdGhldGExKTsKICAgICAgICB4eG49eHh0K3NpbnRoZXRhMSpjb3Mo
cGhpMSk7CiAgICAgICAgeXluPXl5dCtzaW50aGV0YTEqc2luKHBoaTEpOwogICAgICAgIHp6bj16
enQrY29zdGhldGExOwogICAgICAgIGRlPTA7CiAgICAgICAgZm9yIChrMT1uLTI7IGsxPj0wOyBr
MS0tKSB7CiAgICAgICAgICBya24yPSh4eG4teHhbazFdKSooeHhuLXh4W2sxXSkrKHl5bi15eVtr
MV0pKih5eW4teXlbazFdKSsoenpuLXp6W2sxXSkqKHp6bi16eltrMV0pOwogICAgICAgICAgaWYo
cmtuMjwxLikgZ290byBhYWE7CiAgICAgICAgICBpZihya24yPGxhbWJkYTIpIGRlKys7CiAgICAg
ICAgfQogICAgICAgIG5mcmVlKys7CiAgICAgICAgcVtuZnJlZV09cTBbZGVdOwogICAgICAgIGVl
bmV4dFtuZnJlZV09ZGU7CiAgICAgICAgeHhuZXdbbmZyZWVdPXh4bjsgeXluZXdbbmZyZWVdPXl5
bjsgenpuZXdbbmZyZWVdPXp6bjsKICAgICAgICBwaGluZXdbbmZyZWVdPXBoaTE7IHRoZXRhbmV3
W25mcmVlXT10aGV0YTE7CiAgICAgICAgYWFhOjsKICAgICB9CgogICAgIGlmIChuZnJlZT4wKSB7
CiAgICAgICBzdW1xWzBdPTA7CiAgICAgICBmb3IgKGo9MTtqPD1uZnJlZTtqKyspIHsKICAgICAg
ICAgIG5mcmVlMT0wOwogICAgICAgICAgbmV4dGZyZWU9MStuZnJlZTEqMi4wOwogICAgICAgICAg
c3VtcVtqXT0ocXFbal09cVtqXSpuZXh0ZnJlZSkrc3VtcVtqLTFdO2puW2pdPWo7CiAgICAgICB9
CiAgICAgICB3cHJlZD13KnN1bXFbbmZyZWVdOwogICAgICAgaWYoem5bbl0+MWUtMTUwKSB7dzE9
em5bbl0qY1tuXSp3aypjW25dKmNbbl07IHcyPXcxKi4yO30KICAgICAgIGVsc2Uge3cxPTEuZTE2
MDsgdzI9MC47fQoKICAgICAgIGlmICgod3ByZWQ+dzEpJiYobmZyZWU+MSkpIHsKICAgICAgICAg
IGlmKCh3cHJlZD53MSozKSYmKG5mcmVlPjIpKSB7CiAgICAgICAgICAgICBudW10PTA7IHN1bXF0
WzBdPTA7CiAgICAgICAgICAgICBmb3IgKGsxPTE7azE8bmZyZWUtMTsgazErKykgewogICAgICAg
ICAgICAgICBmb3IgKGsyPWsxKzE7azI8bmZyZWU7IGsyKyspIHsKICAgICAgICAgICAgICAgICBm
b3IgKGszPWsyKzE7azM8PW5mcmVlOyBrMysrKSB7CiAgICAgICAgICAgICAgICAgICBudW10Kys7
CiAgICAgICAgICAgICAgICAgICBuZXh0W251bXRdWzFdPWpuW2sxXTsKICAgICAgICAgICAgICAg
ICAgIG5leHRbbnVtdF1bMl09am5bazJdOwogICAgICAgICAgICAgICAgICAgbmV4dFtudW10XVsz
XT1qbltrM107CiAgICAgICAgICAgICAgICAgICBzdW1xMltudW10XT1xcVtrMV0rcXFbazJdK3Fx
W2szXTsKICAgICAgICAgICAgICAgICAgIHN1bXF0W251bXRdPXN1bXEyW251bXRdK3N1bXF0W251
bXQtMV07CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9
CiAgICAgICAgICAgICBycD0oKCsrbmQscmFbbmQmMTYzODNdID0gcmFbKG5kLTQ3MSkmMTYzODNd
XnJhWyhuZC02OTg4KSYxNjM4M11ecmFbKG5kLTk2ODkpJjE2MzgzXV5yYVsobmQtMTU4NikmMTYz
ODNdKSpyYW5zY2FsZSkqc3VtcXRbbnVtdF07CiAgICAgICAgICAgICBudW0xPTA7CiAgICAgICAg
ICAgICBkbyBudW0xKys7IHdoaWxlIChzdW1xdFtudW0xXTxycCk7CiAgICAgICAgICAgICBpZihu
dW0xPm51bXQpIHByaW50ZigibnVtMT5udW10ID0gJWQhXG4iLG51bXQpOwogICAgICAgICAgICAg
dyo9c3VtcVtuZnJlZV0vc3VtcTJbbnVtMV07CiAgICAgICAgICAgICBmb3IgKGszPTE7azM8PTM7
azMrKykgewogICAgICAgICAgICAgICAgazE9bmV4dFtudW0xXVtrM107CiAgICAgICAgICAgICAg
ICBlZVtuXT1lZW5leHRbazFdOwogICAgICAgICAgICAgICAgeHhbbl09eHhuZXdbazFdOyB5eVtu
XT15eW5ld1trMV07IHp6W25dPXp6bmV3W2sxXTsKICAgICAgICAgICAgICAgIHBoaVtuXT1waGlu
ZXdbazFdOyB0aGV0YVtuXT10aGV0YW5ld1trMV07CiAgICAgICAgICAgICAgICBzdGVwKHcqcVtr
MV0pOwogICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG51bXQ9
MDsgc3VtcXRbMF09MDsKICAgICAgICAgICAgIGZvciAoazE9MTtrMTxuZnJlZTsgazErKykgewog
ICAgICAgICAgICAgICBmb3IgKGsyPWsxKzE7azI8PW5mcmVlOyBrMisrKSB7CiAgICAgICAgICAg
ICAgICAgbnVtdCsrOwogICAgICAgICAgICAgICAgIG5leHRbbnVtdF1bMV09am5bazFdOwogICAg
ICAgICAgICAgICAgIG5leHRbbnVtdF1bMl09am5bazJdOwogICAgICAgICAgICAgICAgIHN1bXEy
W251bXRdPXFxW2sxXStxcVtrMl07CiAgICAgICAgICAgICAgICAgc3VtcXRbbnVtdF09c3VtcTJb
bnVtdF0rc3VtcXRbbnVtdC0xXTsKICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgcnA9KCgrK25kLHJhW25kJjE2MzgzXSA9IHJhWyhuZC00NzEpJjE2MzgzXV5yYVso
bmQtNjk4OCkmMTYzODNdXnJhWyhuZC05Njg5KSYxNjM4M11ecmFbKG5kLTE1ODYpJjE2MzgzXSkq
cmFuc2NhbGUpKnN1bXF0W251bXRdOwogICAgICAgICAgICAgbnVtMT0wOwogICAgICAgICAgICAg
ZG8gbnVtMSsrOyB3aGlsZSAoc3VtcXRbbnVtMV08cnApOwogICAgICAgICAgICAgaWYobnVtMT5u
dW10KSBwcmludGYoIm51bTE+bnVtdCA9ICVkIVxuIixudW10KTsKICAgICAgICAgICAgIHcqPXN1
bXFbbmZyZWVdL3N1bXEyW251bTFdOwogICAgICAgICAgICAgZm9yIChrMj0xO2syPD0yO2syKysp
ewogICAgICAgICAgICAgICAgazE9bmV4dFtudW0xXVtrMl07CiAgICAgICAgICAgICAgICBlZVtu
XT1lZW5leHRbazFdOwogICAgICAgICAgICAgICAgeHhbbl09eHhuZXdbazFdOyB5eVtuXT15eW5l
d1trMV07IHp6W25dPXp6bmV3W2sxXTsKICAgICAgICAgICAgICAgIHBoaVtuXT1waGluZXdbazFd
OyB0aGV0YVtuXT10aGV0YW5ld1trMV07CiAgICAgICAgICAgICAgICBzdGVwKHcqcVtrMV0pOwog
ICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgfSBlbHNlIGlmICh3cHJlZD53Mikgewog
ICAgICAgICAgIHJwPXN1bXFbbmZyZWVdKigoKytuZCxyYVtuZCYxNjM4M10gPSByYVsobmQtNDcx
KSYxNjM4M11ecmFbKG5kLTY5ODgpJjE2MzgzXV5yYVsobmQtOTY4OSkmMTYzODNdXnJhWyhuZC0x
NTg2KSYxNjM4M10pKnJhbnNjYWxlKTsKICAgICAgICAgICBudW0xPTA7CiAgICAgICAgICAgZG8g
bnVtMSsrOyB3aGlsZSAoc3VtcVtudW0xXTxycCk7CiAgICAgICAgICAgaWYobnVtMT5uZnJlZSkg
cHJpbnRmKCJudW0xPm5mcmVlID0gJWQhXG4iLG5mcmVlKTsKICAgICAgICAgICB3Kj1zdW1xW25m
cmVlXS9xcVtudW0xXTsKICAgICAgICAgICBrMT1qbltudW0xXTsKICAgICAgICAgICBlZVtuXT1l
ZW5leHRbazFdOwogICAgICAgICAgIHh4W25dPXh4bmV3W2sxXTsgeXlbbl09eXluZXdbazFdOyB6
eltuXT16em5ld1trMV07CiAgICAgICAgICAgcGhpW25dPXBoaW5ld1trMV07IHRoZXRhW25dPXRo
ZXRhbmV3W2sxXTsKICAgICAgICAgICBzdGVwKHcqcVtrMV0pOwogICAgICAgfSBlbHNlIHsKICAg
ICAgICAgICBpZih3cHJlZD53MiouNDUpIHsgaXIwPTE7IHdmPTI7IH0KICAgICAgICAgICBlbHNl
IHsgaXIwPTM7IHdmPTQ7IH0KICAgICAgICAgICBpZigoKCsrbmQscmFbbmQmMTYzODNdID0gcmFb
KG5kLTQ3MSkmMTYzODNdXnJhWyhuZC02OTg4KSYxNjM4M11ecmFbKG5kLTk2ODkpJjE2MzgzXV5y
YVsobmQtMTU4NikmMTYzODNdKSZpcjApPT0wKSB7CiAgICAgICAgICAgICAgcnA9c3VtcVtuZnJl
ZV0qKCgrK25kLHJhW25kJjE2MzgzXSA9IHJhWyhuZC00NzEpJjE2MzgzXV5yYVsobmQtNjk4OCkm
MTYzODNdXnJhWyhuZC05Njg5KSYxNjM4M11ecmFbKG5kLTE1ODYpJjE2MzgzXSkqcmFuc2NhbGUp
OwogICAgICAgICAgICAgIG51bTE9MDsKICAgICAgICAgICAgICBkbyBudW0xKys7IHdoaWxlIChz
dW1xW251bTFdPHJwKTsKICAgICAgICAgICAgICBpZihudW0xPm5mcmVlKSBwcmludGYoIm51bTE+
bmZyZWUgPSAlZFxuIixuZnJlZSk7CiAgICAgICAgICAgICAgdyo9KHdmKnN1bXFbbmZyZWVdL3Fx
W251bTFdKTsKICAgICAgICAgICAgICBrMT1qbltudW0xXTsKICAgICAgICAgICAgICBlZVtuXT1l
ZW5leHRbazFdOwogICAgICAgICAgICAgIHh4W25dPXh4bmV3W2sxXTsgeXlbbl09eXluZXdbazFd
OyB6eltuXT16em5ld1trMV07CiAgICAgICAgICAgICAgcGhpW25dPXBoaW5ld1trMV07IHRoZXRh
W25dPXRoZXRhbmV3W2sxXTsKICAgICAgICAgICAgICBzdGVwKHcqcVtrMV0pOwogICAgICAgICAg
IH0KICAgICAgIH0KICAgICB9CiAgICAgbi0tOwogIH0gZWxzZSB7CiAgICAgaWYgKGU+ZW1heCkg
ewogICAgICAgIHN0YXJ0bWluW2VdPXN0YXJ0czsKICAgICAgICBlbWF4PWU7CiAgICAgICAgZm91
dD1mb3BlbigicC16aDI1LTEuMC02MC5kYXQtYiIsInciKTsKICAgICAgICBmcHJpbnRmKGZvdXQs
IiMgIE5ldyBQRVJNaXNcbiIpOwogICAgICAgIGZwcmludGYoZm91dCwiIyAgdGVtcCA9ICVnICBw
MCA9ICVnIEN1dG9mZj0lZywgQ1BVLVplaXQ9JTExLjFmIHNlYy4gXG4iLDEuLzEuMCwxLi82MCww
LjAxLGNwdV90aW1lKTsKICAgICAgICBmcHJpbnRmKGZvdXQsIiMgIHN0YXJ0cyA9ICV1LCBlbWlu
ID0gJWQgKHN0YXJ0PSVkKSBcbiIsc3RhcnRzLC1lbWF4LHN0YXJ0bWluW2VtYXhdKTsKICAgICAg
ICBmcHJpbnRmKGZvdXQsIiMgICVkIGNhbmRpZGF0ZXNcbiIsNjApOwogICAgICAgIGZwcmludGYo
Zm91dCwiIyAgZXZlbmx5IHNwYWNlZCBwaGktdmFsdWVzICEhXG4iKTsKICAgICAgICBmb3IgKGo9
ZW1heC05O2o8PWVtYXg7aisrKQogICAgICAgICAgIGZwcmludGYoZm91dCwiIyAgJTEyZCAlOGRc
biIsLWosc3RhcnRtaW5bal0pOwogICAgICAgIGZwcmludGYoZm91dCwiIyBuIHwgeHggfCB5eSB8
IHp6IFxuIik7CiAgICAgICAgZm9yIChqPTA7ajw9bm1heF9sZW5ndGg7aisrKXsKICAgICAgICAg
ICBpZihlPT1lbWF4KSB7IHh4MFtqXT14eFtqXTsgeXkwW2pdPXl5W2pdOyB6ejBbal09enpbal07
fQogICAgICAgICAgIGZwcmludGYoZm91dCwiJTNkICUxMi41ZiAlMTIuNWYgJTEyLjVmXG4iLGos
eHgwW2pdLHl5MFtqXSx6ejBbal0pOwogICAgICAgIH0KICAgICAgICBmY2xvc2UoZm91dCk7CiAg
ICAgfQogICAgIHN1Y2N3W2VdKz13OwogICAgIGlmKHN0YXJ0cz5zdGFydHNsYXN0W2VdKXsKICAg
ICAgICBzdGFydHNsYXN0W2VdPXN0YXJ0czsKICAgICAgICBzdWNjW2VdKys7CiAgICAgfQogIH0K
ICBlPWVvbGQ7Cn0KCmludCBtYWluKHZvaWQpCnsKICAgaW50IGosayxrayxra3A9MCxudG91clsy
NV0sdG91cnMsaWk7CiAgIGRvdWJsZSBhdnosIGF2ZWV3OwogICBkb3VibGUgYXZlZXcyLCBjdjsK
ICAgZG91YmxlIGVoWzRdPXswLDAsMCwwfTsKICAgaW5pdGlhbGl6ZV9ybmcoICk7CiAgIHJhbnNj
YWxlMj1yYW5zY2FsZSoyOyByYW5zY2FsZXBpMj1yYW5zY2FsZSpwaTI7CgogICBsb2dwMD1sb2co
MS4vNjApOwogICBmb3IoaT0wO2k8MjU7aSsrKSB6bltpXT1jW2ldPXNlZXdbaV09bnRvdXJbaV09
MDsKICAgZm9yKGk9MDtpPDUwMDtpKyspIHsKICAgICAgICAgc3VjY1tpXT1zdWNjd1tpXT1zdGFy
dHNsYXN0W2ldPXN0YXJ0bWluW2ldPTA7CiAgICAgICAgIGZvciAoaj0wO2o8NTtqKyspIGVoaXN0
W2ldW2pdPWNlaGlzdFtpXVtqXT1sYXN0aGl0W2ldW2pdPTA7CiAgIH0KICAgZm9yKGk9MDtpPDEz
O2krKykgcTBbaV09MS4vNjAqZXhwKDEuMCppKTsKICAgc3RhcnRzPTA7CiAgIG5tYXhfbGVuZ3Ro
PTI1IC0xOwogICBmb3Ioa2s9MTtrazwyMDAwMDAwMDA7a2srKykgewogICAgICBzdGFydD1jbG9j
aygpOwogICAgICBmb3Ioaz0xO2s8PTUwMDtrKyspIHsKICAgICAgICAgc3RhcnRzKys7IHdrPTAu
MDEvKGRvdWJsZSlzdGFydHMvc3RhcnRzLyhkb3VibGUpc3RhcnRzL3N0YXJ0czsKICAgICAgICAg
eHhbMF09eXlbMF09enpbMF09MDsgem5bMF0rKztjWzBdKys7CiAgICAgICAgIHh4WzFdPTE7IHl5
WzFdPXBoaVsxXT1lZVsxXT0wOwogICAgICAgICBlPTAuMDsgdG91cmxlbmd0aD1uPTE7CiAgICAg
ICAgIHN0ZXAoMS4vNjApOwogICAgICAgICBudG91clt0b3VybGVuZ3RoXSsrO30KICAgICAgZW5k
ZT1jbG9jayggKTsKICAgICAgY3B1X3RpbWUrPShkb3VibGUpKGVuZGUtc3RhcnQpLzEwMDAwMDA7
CgogICAgICBpZihraz5ra3ApIHsKICAgICAgICAgcHJpbnRmKCIgJWQgcnVuczogJWQgc3VjY2Vz
c2VzLCB6biA9ICVnLCAlZiBzZWMsICBlX21pbiA9ICVkXG4iLGtrKjUwMCxudG91cltubWF4X2xl
bmd0aF0sem5bbm1heF9sZW5ndGhdL2trLzUwMCxjcHVfdGltZSwtZW1heCk7CiAgICAgICAgIGtr
cD1rayoxLjAyOwogICAgICAgICBmb3V0PWZvcGVuKCJlLXpoMjUtMS4wLTYwLmRhdC1iIiwidyIp
OwogICAgICAgICBmcHJpbnRmKGZvdXQsIiMgIE5ldyBQRVJNaXNcbiIpOwogICAgICAgICBmcHJp
bnRmKGZvdXQsIiMgIHRlbXAgPSAlZyAgcDAgPSAlZyBDdXRvZmY9JWcsIENQVS1aZWl0PSUxMS4x
ZiBzZWMuIFxuIiwxLi8xLjAsMS4vNjAsMC4wMSxjcHVfdGltZSk7CiAgICAgICAgIGZwcmludGYo
Zm91dCwiIyAgc3RhcnRzID0gJXUsIGVtaW4gPSAlZCAoc3RhcnQ9JWQpIFxuIixzdGFydHMsLWVt
YXgsc3RhcnRtaW5bZW1heF0pOwogICAgICAgICBmcHJpbnRmKGZvdXQsIiMgICVkIGNhbmRpZGF0
ZXNcbiIsNjApOwogICAgICAgICBmb3Ioaj0wOyBqPDUwMDsgaisrKSBpZihzdWNjW2pdPjApIGZw
cmludGYoZm91dCwiJTdkICU4ZCAlMTEuNmZcbiIsLWosc3VjY1tqXSxsb2coc3VjY3dbal0pLW5t
YXhfbGVuZ3RoKmxvZ3AwKTsKICAgICAgICAgZmNsb3NlKGZvdXQpOwogICAgICAgICBmb3V0PWZv
cGVuKCJ6LXpoMjUtMS4wLTYwLmRhdC1iIiwidyIpOwogICAgICAgICBmcHJpbnRmKGZvdXQsIiMg
IE5ldyBQRVJNaXNcbiIpOwogICAgICAgICBmcHJpbnRmKGZvdXQsIiMgIHRlbXAgPSAlZyAgcDAg
PSAlZyBDdXRvZmY9JWcsIENQVS1aZWl0PSUxMS4xZiBzZWMuIFxuIiwxLi8xLjAsMS4vNjAsMC4w
MSxjcHVfdGltZSk7CiAgICAgICAgIGZwcmludGYoZm91dCwiIyAgc3RhcnRzID0gJXUsIGVtaW4g
PSAlZCAoc3RhcnQ9JWQpIFxuIixzdGFydHMsLWVtYXgsc3RhcnRtaW5bZW1heF0pOwogICAgICAg
ICBmcHJpbnRmKGZvdXQsIiMgICVkIGNhbmRpZGF0ZXNcbiIsNjApOwogICAgICAgICB0b3Vycz1r
ayo1MDA7CiAgICAgICAgIGZwcmludGYoZm91dCwgIiMgbiB8IGxuIHpuW25dIHwgY2MgfCB0b3Vy
cyB8IGNfdiB8IDxlPnwgXG4iKTsKICAgICAgICAgZm9yKGo9MDsgajw9bm1heF9sZW5ndGg7aisr
KXsKICAgICAgICAgICAgYXZlZXc9c2Vld1tqXS96bltqXTsKICAgICAgICAgICAgYXZlZXcyPXNl
ZXcyW2pdL3puW2pdOwogICAgICAgICAgICBhdno9em5bal0va2svNTAwOwogICAgICAgICAgICBj
dj0xLjAqMS4wKihhdmVldzItYXZlZXcqYXZlZXcpOwoKICAgICAgICAgICAgZnByaW50Zihmb3V0
LCIlM2QgJTExLjVmICUxMmQgJTEyZCAlMTAuNGYgJTEwLjRmXG4iLGosbG9nKGF2eiktaipsb2dw
MCxjW2pdLHRvdXJzLGN2LC1hdmVldyk7CiAgICAgICAgICAgIHRvdXJzLT1udG91cltqXTsgfQog
ICAgICAgICBmY2xvc2UoZm91dCk7CiAgICAgICAgIGZvdXQ9Zm9wZW4oImgtemgyNS0xLjAtNjAu
ZGF0LWIiLCJ3Iik7CiAgICAgICAgIGZwcmludGYoZm91dCwiIyAgTmV3IFBFUk1pc1xuIik7CiAg
ICAgICAgIGZwcmludGYoZm91dCwiIyAgdGVtcCA9ICVnICBwMCA9ICVnIEN1dG9mZj0lZywgQ1BV
LVplaXQ9JTExLjFmIHNlYy4gXG4iLDEuLzEuMCwxLi82MCwwLjAxLGNwdV90aW1lKTsKICAgICAg
ICAgZnByaW50Zihmb3V0LCIjICBzdGFydHMgPSAldSwgZW1pbiA9ICVkIChzdGFydD0lZCkgXG4i
LHN0YXJ0cywtZW1heCxzdGFydG1pbltlbWF4XSk7CiAgICAgICAgIGZwcmludGYoZm91dCwiIyAg
JWQgY2FuZGlkYXRlc1xuIiw2MCk7CiAgICAgICAgIGZvciAoaT0wOyBpPDUwMDtpKyspewogICAg
ICAgICAgICBpaT1jZWhpc3RbaV1bMF0rY2VoaXN0W2ldWzFdK2NlaGlzdFtpXVsyXStjZWhpc3Rb
aV1bM10rY2VoaXN0W2ldWzRdOwogICAgICAgICAgICBpZihpaT09MCkgY29udGludWU7CiAgICAg
ICAgICAgIGZvciAoaj0wO2o8NTtqKyspIHsKICAgICAgICAgICAgaWYoY2VoaXN0W2ldW2pdPjAp
IGVoW2pdPWxvZyhlaGlzdFtpXVtqXS9zdGFydHMpLShsZW5nW2pdKSpsb2dwMDsgZWxzZSBlaFtq
XT0wO30KICAgICAgICAgICAgZnByaW50Zihmb3V0LCIlNWQgJThkICUxMS42ZiAlOGQgJTExLjZm
ICU4ZCAlMTEuNmYgJThkICUxMS42ZiAlOGQgJTExLjZmXG4iLGksCiAgICAgICAgICAgICAgIGNl
aGlzdFtpXVswXSxlaFswXSwgY2VoaXN0W2ldWzFdLGVoWzFdLCBjZWhpc3RbaV1bMl0sZWhbMl0s
IGNlaGlzdFtpXVszXSxlaFszXSwgY2VoaXN0W2ldWzRdLGVoWzRdKTsKICAgICAgICAgY29udGlu
dWU7CiAgICAgICAgfQogICAgICAgICBmY2xvc2UoZm91dCk7CgogICAgICB9CiAgIH0KfQo=


             reply	other threads:[~2003-01-31 15:26 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-31 15:26 p.grassberger [this message]
2003-01-31 18:56 pme
2003-02-01 14:43 ehrhardt
2003-02-01 16:06 P.Grassberger
2003-05-09 22:46 Dara Hazeghi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030131152318.31222.qmail@sources.redhat.com \
    --to=p.grassberger@fz-juelich.de \
    --cc=gcc-gnats@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).