This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

optimization/4413: GCC 3.0.2 prerelease internal error when compiling linux-2.4.10



>Number:         4413
>Category:       optimization
>Synopsis:       GCC 3.0.2 prerelease internal error when compiling linux-2.4.10
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Thu Sep 27 13:56:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     thomr9am@ss1000.ms.mff.cuni.cz
>Release:        GNU C version 3.0.2 20010927 (prerelease) (i586-pc-linux-gnu)
>Organization:
>Environment:
SuSE Linux 7.2, glibc 2.2.2, anything else?
>Description:
GCC fails with internal compiler error when compiling
drivers/usb/usb-uhci.c from linux-2.4.10.

After I replaced `-O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common'
with `-O0', everything went well.

Preprocessed file is attached.

Here is the output from gcc:

gcc: Warning: -pipe ignored because -save-temps specified
Reading specs from /usr/src/rudo/gcc-CVS/prefix/lib/gcc-lib/i586-pc-linux-gnu/3.0.2/specs
Configured with: ../gcc/configure --prefix=/usr/src/rudo/gcc-CVS/prefix --enable-shared --enable-static --enable-threads --with-cpu=k6
Thread model: posix
gcc version 3.0.2 20010927 (prerelease)
 /usr/src/rudo/gcc-CVS/prefix/lib/gcc-lib/i586-pc-linux-gnu/3.0.2/cpp0 -lang-c -v -I/usr/src/rudo/linux-2.4.10/include -D__GNUC__=3 -D__GNUC_MINOR__=0 -D__GNUC_PATCHLEVEL__=2 -D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux -Asystem=posix -D__OPTIMIZE__ -D__STDC_HOSTED__=1 -Wall -Wstrict-prototypes -Wno-trigraphs -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__k6 -D__k6__ -D__tune_k6__ -D__KERNEL__ -DMODULE -DMODVERSIONS -include /usr/src/rudo/linux-2.4.10/include/linux/modversions.h usb-uhci.c usb-uhci.i
GNU CPP version 3.0.2 20010927 (prerelease) (cpplib) (i386 Linux/ELF)
ignoring nonexistent directory "/usr/src/rudo/gcc-CVS/prefix/i586-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/src/rudo/linux-2.4.10/include
 /usr/local/include
 /usr/src/rudo/gcc-CVS/prefix/lib/gcc-lib/i586-pc-linux-gnu/3.0.2/include
 /usr/include
End of search list.
 /usr/src/rudo/gcc-CVS/prefix/lib/gcc-lib/i586-pc-linux-gnu/3.0.2/cc1 -fpreprocessed usb-uhci.i -quiet -dumpbase usb-uhci.c -mpreferred-stack-boundary=2 -march=k6 -O2 -Wall -Wstrict-prototypes -Wno-trigraphs -version -fomit-frame-pointer -fno-strict-aliasing -fno-common -o usb-uhci.s
GNU CPP version 3.0.2 20010927 (prerelease) (cpplib) (i386 Linux/ELF)
GNU C version 3.0.2 20010927 (prerelease) (i586-pc-linux-gnu)
        compiled by GNU C version 3.0.2 20010927 (prerelease).
usb-uhci.c: In function `process_urb':
usb-uhci.c:2719: Unrecognizable insn:
(insn 653 588 470 (parallel[
            (set (reg:SI 3 ebx [77])
                (const_int 0 [0x0]))
            (clobber (reg:CC 17 flags))
        ] ) -1 (nil)
    (expr_list:REG_UNUSED (reg:CC 17 flags)
        (nil)))
usb-uhci.c:2719: Internal compiler error in insn_default_length, at insn-attrtab.c:223
>How-To-Repeat:
Try to compile it yourself. It's in the vanilla linux version
2.4.10.
>Fix:

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

IyAxICJ1c2ItdWhjaS5jIgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUv
bGludXgvbW9kdmVyc2lvbnMuaCIgMQoKCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAv
aW5jbHVkZS9saW51eC9tb2RzZXR2ZXIuaCIgMQojIDQgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40
LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGlu
dXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy81M2M3MDAtbWVtLnZlciIgMQojIDUgIi91
c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgoj
IDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy81M2M3
MDAudmVyIiAxCiMgNiAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9t
b2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9s
aW51eC9tb2R1bGVzLzgzOTAudmVyIiAxCiMgNyAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAv
aW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0y
LjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL0RBQzk2MC52ZXIiIDEKIyA4ICIvdXNyL3NyYy9y
dWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNy
L3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvRGl2YXNfbW9kLnZl
ciIgMQojIDkgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVy
c2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgv
bW9kdWxlcy9hYzk3LnZlciIgMQojIDEwICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNs
dWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4x
MC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvYWM5N19jb2RlYy52ZXIiIDEKIyAxMSAiL3Vzci9zcmMv
cnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vz
ci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL2FjaS52ZXIiIDEK
IyAxMiAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9u
cy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1
bGVzL2FjcGlfa3N5bXMudmVyIiAxCiMgMTMgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2lu
Y2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40
LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9hZDE4NDgudmVyIiAxCiMgMTQgIi91c3Ivc3JjL3J1
ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Iv
c3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9hZGIudmVyIiAxCiMg
MTUgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMu
aCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxl
cy9hZl9heDI1LnZlciIgMQojIDE2ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRl
L2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9p
bmNsdWRlL2xpbnV4L21vZHVsZXMvYWZfaXB4LnZlciIgMQojIDE3ICIvdXNyL3NyYy9ydWRvL2xp
bnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9y
dWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvYWZfbmV0bGluay52ZXIiIDEK
IyAxOCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9u
cy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1
bGVzL2FmX3NweC52ZXIiIDEKIyAxOSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVk
ZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAv
aW5jbHVkZS9saW51eC9tb2R1bGVzL2FncGdhcnRfYmUudmVyIiAxCiMgMjAgIi91c3Ivc3JjL3J1
ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Iv
c3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9haXJvLnZlciIgMQoj
IDIxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25z
LmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVs
ZXMvYWlyb25ldDQ1MDBfY2FyZC52ZXIiIDEKIyAyMiAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQu
MTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51
eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL2Fpcm9uZXQ0NTAwX2NvcmUudmVyIiAxCiMg
MjMgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMu
aCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxl
cy9hbWQ3OTMwLnZlciIgMQojIDI0ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRl
L2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9p
bmNsdWRlL2xpbnV4L21vZHVsZXMvYXJjbmV0LnZlciIgMQojIDI1ICIvdXNyL3NyYy9ydWRvL2xp
bnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9y
dWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvYXJsYW4udmVyIiAxCiMgMjYg
Ii91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIg
MgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9h
dG1fbWlzYy52ZXIiIDEKIyAyNyAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9s
aW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5j
bHVkZS9saW51eC9tb2R1bGVzL2F0eWZiX2Jhc2UudmVyIiAxCiMgMjggIi91c3Ivc3JjL3J1ZG8v
bGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3Jj
L3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9hdWRpby52ZXIiIDEKIyAy
OSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5o
IiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVz
L2F1ZGlvX3N5bXMudmVyIiAxCiMgMzAgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1
ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEw
L2luY2x1ZGUvbGludXgvbW9kdWxlcy9hdXRvX2lycS52ZXIiIDEKIyAzMSAiL3Vzci9zcmMvcnVk
by9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9z
cmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL2IxLnZlciIgMQojIDMy
ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgi
IDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMv
YjFkbWEudmVyIiAxCiMgMzMgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGlu
dXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1
ZGUvbGludXgvbW9kdWxlcy9iMXBjbWNpYS52ZXIiIDEKIyAzNCAiL3Vzci9zcmMvcnVkby9saW51
eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVk
by9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL2Jhc2UudmVyIiAxCiMgMzUgIi91
c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgoj
IDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9iYmNf
aTJjLnZlciIgMQojIDM2ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4
L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRl
L2xpbnV4L21vZHVsZXMvYmxrcGcudmVyIiAxCiMgMzcgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40
LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGlu
dXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9ibV9vc2wudmVyIiAxCiMgMzggIi91c3Iv
c3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEg
Ii91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9ib290bGRy
LnZlciIgMQojIDM5ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21v
ZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xp
bnV4L21vZHVsZXMvYnR0di1pZi52ZXIiIDEKIyA0MCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQu
MTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51
eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL2J1c21vdXNlLnZlciIgMQojIDQxICIvdXNy
L3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAx
ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvY2FwaWZz
LnZlciIgMQojIDQyICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21v
ZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xp
bnV4L21vZHVsZXMvY2FwaXV0aWwudmVyIiAxCiMgNDMgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40
LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGlu
dXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9jYl9lbmFibGVyLnZlciIgMQojIDQ0ICIv
dXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIK
IyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvY2Ry
b20udmVyIiAxCiMgNDUgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgv
bW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUv
bGludXgvbW9kdWxlcy9jaGVjay52ZXIiIDEKIyA0NiAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQu
MTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51
eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL2NoaXByZWcudmVyIiAxCiMgNDcgIi91c3Iv
c3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEg
Ii91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9jbWRsaW5l
LnZlciIgMQojIDQ4ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21v
ZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xp
bnV4L21vZHVsZXMvY29tMjAwMjAudmVyIiAxCiMgNDkgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40
LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGlu
dXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9jb21tb24udmVyIiAxCiMgNTAgIi91c3Iv
c3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEg
Ii91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9jb214LnZl
ciIgMQojIDUxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZl
cnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4
L21vZHVsZXMvY29uZmlnLnZlciIgMQojIDUyICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9p
bmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIu
NC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvY29uc29sZS52ZXIiIDEKIyA1MyAiL3Vzci9zcmMv
cnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vz
ci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL2NvbnRleHQudmVy
IiAxCiMgNTQgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVy
c2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgv
bW9kdWxlcy9jcGlhLnZlciIgMQojIDU1ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNs
dWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4x
MC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvY3B1aWQudmVyIiAxCiMgNTYgIi91c3Ivc3JjL3J1ZG8v
bGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3Jj
L3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9jcy52ZXIiIDEKIyA1NyAi
L3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAy
CiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL2N5
YmVyMjAwMGZiLnZlciIgMQojIDU4ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRl
L2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9p
bmNsdWRlL2xpbnV4L21vZHVsZXMvY3ljeF9kcnYudmVyIiAxCiMgNTkgIi91c3Ivc3JjL3J1ZG8v
bGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3Jj
L3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9kYnJpLnZlciIgMQojIDYw
ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgi
IDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMv
ZGNhY2hlLnZlciIgMQojIDYxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xp
bnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNs
dWRlL2xpbnV4L21vZHVsZXMvZGRwLnZlciIgMQojIDYyICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIu
NC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xp
bnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvZGVjX2FuZF9sb2NrLnZlciIgMQojIDYz
ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgi
IDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMv
ZG1hc291bmRfY29yZS52ZXIiIDEKIyA2NCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5j
bHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQu
MTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL2RzLnZlciIgMQojIDY1ICIvdXNyL3NyYy9ydWRvL2xp
bnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9y
dWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvZWljb25fbW9kLnZlciIgMQoj
IDY2ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25z
LmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVs
ZXMvZXhlY19kb21haW4udmVyIiAxCiMgNjcgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2lu
Y2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40
LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9mYXRmc19zeW1zLnZlciIgMQojIDY4ICIvdXNyL3Ny
Yy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIv
dXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvZmJjbWFwLnZl
ciIgMQojIDY5ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZl
cnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4
L21vZHVsZXMvZmJjb24tYWZiLnZlciIgMQojIDcwICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4x
MC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4
LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvZmJjb24tY2ZiMTYudmVyIiAxCiMgNzEgIi91
c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgoj
IDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9mYmNv
bi1jZmIyLnZlciIgMQojIDcyICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xp
bnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNs
dWRlL2xpbnV4L21vZHVsZXMvZmJjb24tY2ZiMjQudmVyIiAxCiMgNzMgIi91c3Ivc3JjL3J1ZG8v
bGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3Jj
L3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9mYmNvbi1jZmIzMi52ZXIi
IDEKIyA3NCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJz
aW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9t
b2R1bGVzL2ZiY29uLWNmYjQudmVyIiAxCiMgNzUgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEw
L2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgt
Mi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9mYmNvbi1jZmI4LnZlciIgMQojIDc2ICIvdXNy
L3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAx
ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvZmJjb24t
aGdhLnZlciIgMQojIDc3ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4
L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRl
L2xpbnV4L21vZHVsZXMvZmJjb24taWxibS52ZXIiIDEKIyA3OCAiL3Vzci9zcmMvcnVkby9saW51
eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVk
by9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL2ZiY29uLWlwbGFuMnAyLnZlciIg
MQojIDc5ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNp
b25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21v
ZHVsZXMvZmJjb24taXBsYW4ycDQudmVyIiAxCiMgODAgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40
LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGlu
dXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9mYmNvbi1pcGxhbjJwOC52ZXIiIDEKIyA4
MSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5o
IiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVz
L2ZiY29uLW1hYy52ZXIiIDEKIyA4MiAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVk
ZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAv
aW5jbHVkZS9saW51eC9tb2R1bGVzL2ZiY29uLW1mYi52ZXIiIDEKIyA4MyAiL3Vzci9zcmMvcnVk
by9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9z
cmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL2ZiY29uLXZnYS1wbGFu
ZXMudmVyIiAxCiMgODQgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgv
bW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUv
bGludXgvbW9kdWxlcy9mYmNvbi12Z2EudmVyIiAxCiMgODUgIi91c3Ivc3JjL3J1ZG8vbGludXgt
Mi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8v
bGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9mYmNvbi52ZXIiIDEKIyA4NiAiL3Vz
ci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMg
MSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL2ZibWVt
LnZlciIgMQojIDg3ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21v
ZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xp
bnV4L21vZHVsZXMvZmJtb24udmVyIiAxCiMgODggIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEw
L2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgt
Mi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9mY19zeW1zLnZlciIgMQojIDg5ICIvdXNyL3Ny
Yy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIv
dXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvZmlsZXN5c3Rl
bXMudmVyIiAxCiMgOTAgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgv
bW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUv
bGludXgvbW9kdWxlcy9mc20udmVyIiAxCiMgOTEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEw
L2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgt
Mi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9mdGFwZV9zeW1zLnZlciIgMQojIDkyICIvdXNy
L3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAx
ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvZ2FtZXBv
cnQudmVyIiAxCiMgOTMgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgv
bW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUv
bGludXgvbW9kdWxlcy9nZW5oZC52ZXIiIDEKIyA5NCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQu
MTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51
eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL2hkbGMudmVyIiAxCiMgOTUgIi91c3Ivc3Jj
L3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91
c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9oZGxjZHJ2LnZl
ciIgMQojIDk2ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZl
cnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4
L21vZHVsZXMvaGVybWVzLnZlciIgMQojIDk3ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9p
bmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIu
NC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvaTJjLWFsZ28tYml0LnZlciIgMQojIDk4ICIvdXNy
L3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAx
ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvaTJjLWFs
Z28tcGNmLnZlciIgMQojIDk5ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xp
bnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNs
dWRlL2xpbnV4L21vZHVsZXMvaTJjLWNvcmUudmVyIiAxCiMgMTAwICIvdXNyL3NyYy9ydWRvL2xp
bnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9y
dWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvaTJjLW9sZC52ZXIiIDEKIyAx
MDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMu
aCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxl
cy9pMm9fYmxvY2sudmVyIiAxCiMgMTAyICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNs
dWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4x
MC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvaTJvX2NvbmZpZy52ZXIiIDEKIyAxMDMgIi91c3Ivc3Jj
L3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91
c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9pMm9fY29yZS52
ZXIiIDEKIyAxMDQgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9k
dmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGlu
dXgvbW9kdWxlcy9pMm9fbGFuLnZlciIgMQojIDEwNSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQu
MTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51
eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL2kyb19wY2kudmVyIiAxCiMgMTA2ICIvdXNy
L3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAx
ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvaTJvX3By
b2MudmVyIiAxCiMgMTA3ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4
L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRl
L2xpbnV4L21vZHVsZXMvaTJvX3Njc2kudmVyIiAxCiMgMTA4ICIvdXNyL3NyYy9ydWRvL2xpbnV4
LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRv
L2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvaTM4Nl9rc3ltcy52ZXIiIDEKIyAx
MDkgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMu
aCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxl
cy9pYm0udmVyIiAxCiMgMTEwICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xp
bnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNs
dWRlL2xpbnV4L21vZHVsZXMvaWRlLWZlYXR1cmVzLnZlciIgMQojIDExMSAiL3Vzci9zcmMvcnVk
by9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9z
cmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL2lkZS52ZXIiIDEKIyAx
MTIgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMu
aCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxl
cy9pZHQ3NzEwNS52ZXIiIDEKIyAxMTMgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1
ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEw
L2luY2x1ZGUvbGludXgvbW9kdWxlcy9pZWVlMTM5NF9zeW1zLnZlciIgMQojIDExNCAiL3Vzci9z
cmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAi
L3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL2luaXQudmVy
IiAxCiMgMTE1ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZl
cnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4
L21vZHVsZXMvaW5wdXQudmVyIiAxCiMgMTE2ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9p
bmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIu
NC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvaXBfY29ubnRyYWNrX2Z0cC52ZXIiIDEKIyAxMTcg
Ii91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIg
MgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9p
cF9jb25udHJhY2tfc3RhbmRhbG9uZS52ZXIiIDEKIyAxMTggIi91c3Ivc3JjL3J1ZG8vbGludXgt
Mi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8v
bGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9pcF9md19jb21wYXQudmVyIiAxCiMg
MTE5ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25z
LmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVs
ZXMvaXBfZ3JlLnZlciIgMQojIDEyMCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVk
ZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAv
aW5jbHVkZS9saW51eC9tb2R1bGVzL2lwX25hdF9zdGFuZGFsb25lLnZlciIgMQojIDEyMSAiL3Vz
ci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMg
MSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL2lwX3Rh
Ymxlcy52ZXIiIDEKIyAxMjIgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGlu
dXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1
ZGUvbGludXgvbW9kdWxlcy9pcGNvbW1vbi52ZXIiIDEKIyAxMjMgIi91c3Ivc3JjL3J1ZG8vbGlu
dXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1
ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9pcGlwLnZlciIgMQojIDEyNCAi
L3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAy
CiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL2ly
cG9ydC52ZXIiIDEKIyAxMjUgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGlu
dXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1
ZGUvbGludXgvbW9kdWxlcy9pcnN5bXMudmVyIiAxCiMgMTI2ICIvdXNyL3NyYy9ydWRvL2xpbnV4
LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRv
L2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvaXNhcG5wLnZlciIgMQojIDEyNyAi
L3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAy
CiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL2lz
ZG5fY29tbW9uLnZlciIgMQojIDEyOCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVk
ZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAv
aW5jbHVkZS9saW51eC9tb2R1bGVzL2lzZW5zZS52ZXIiIDEKIyAxMjkgIi91c3Ivc3JjL3J1ZG8v
bGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3Jj
L3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9peGoudmVyIiAxCiMgMTMw
ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgi
IDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMv
a2NhcGkudmVyIiAxCiMgMTMxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xp
bnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNs
dWRlL2xpbnV4L21vZHVsZXMva2V5Ym9hcmQudmVyIiAxCiMgMTMyICIvdXNyL3NyYy9ydWRvL2xp
bnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9y
dWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMva21vZC52ZXIiIDEKIyAxMzMg
Ii91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIg
MgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9r
c3ltcy52ZXIiIDEKIyAxMzQgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGlu
dXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1
ZGUvbGludXgvbW9kdWxlcy9sYXBiX2lmYWNlLnZlciIgMQojIDEzNSAiL3Vzci9zcmMvcnVkby9s
aW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMv
cnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL2xsX3J3X2Jsay52ZXIiIDEK
IyAxMzYgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lv
bnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9k
dWxlcy9sbGNfbWFjaW5pdC52ZXIiIDEKIyAxMzcgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEw
L2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgt
Mi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9sb2NrZF9zeW1zLnZlciIgMQojIDEzOCAiL3Vz
ci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMg
MSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL2xvb3Au
dmVyIiAxCiMgMTM5ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21v
ZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xp
bnV4L21vZHVsZXMvbWFjX2hpZC52ZXIiIDEKIyAxNDAgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40
LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGlu
dXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9tYWNoNjRfYWNjZWwudmVyIiAxCiMgMTQx
ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgi
IDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMv
bWF0cm94ZmJfREFDMTA2NC52ZXIiIDEKIyAxNDIgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEw
L2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgt
Mi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9tYXRyb3hmYl9UaTMwMjYudmVyIiAxCiMgMTQz
ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgi
IDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMv
bWF0cm94ZmJfYWNjZWwudmVyIiAxCiMgMTQ0ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9p
bmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIu
NC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvbWF0cm94ZmJfYmFzZS52ZXIiIDEKIyAxNDUgIi91
c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgoj
IDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9tYXRy
b3hmYl9taXNjLnZlciIgMQojIDE0NiAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVk
ZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAv
aW5jbHVkZS9saW51eC9tb2R1bGVzL21jYS52ZXIiIDEKIyAxNDcgIi91c3Ivc3JjL3J1ZG8vbGlu
dXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1
ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9tZC52ZXIiIDEKIyAxNDggIi91
c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgoj
IDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9taWNy
b2NvZGUudmVyIiAxCiMgMTQ5ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xp
bnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNs
dWRlL2xpbnV4L21vZHVsZXMvbWlkaV9zeW1zLnZlciIgMQojIDE1MCAiL3Vzci9zcmMvcnVkby9s
aW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMv
cnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL21pcm9wY20yMC1yZHMtY29y
ZS52ZXIiIDEKIyAxNTEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgv
bW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUv
bGludXgvbW9kdWxlcy9taXNjLnZlciIgMQojIDE1MiAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQu
MTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51
eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL21vZGVkYi52ZXIiIDEKIyAxNTMgIi91c3Iv
c3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEg
Ii91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9tcHRiYXNl
LnZlciIgMQojIDE1NCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9t
b2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9s
aW51eC9tb2R1bGVzL21wdGN0bC52ZXIiIDEKIyAxNTUgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40
LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGlu
dXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9tcHRsYW4udmVyIiAxCiMgMTU2ICIvdXNy
L3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAx
ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvbXB0c2Nz
aWgudmVyIiAxCiMgMTU3ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4
L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRl
L2xpbnV4L21vZHVsZXMvbXB1NDAxLnZlciIgMQojIDE1OCAiL3Vzci9zcmMvcnVkby9saW51eC0y
LjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9s
aW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL21zZG9zZnNfc3ltcy52ZXIiIDEKIyAx
NTkgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMu
aCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxl
cy9tc25kLnZlciIgMQojIDE2MCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9s
aW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5j
bHVkZS9saW51eC9tb2R1bGVzL21zci52ZXIiIDEKIyAxNjEgIi91c3Ivc3JjL3J1ZG8vbGludXgt
Mi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8v
bGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9tdGRjb3JlLnZlciIgMQojIDE2MiAi
L3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAy
CiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL210
ZHBhcnQudmVyIiAxCiMgMTYzICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xp
bnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNs
dWRlL2xpbnV4L21vZHVsZXMvbXRyci52ZXIiIDEKIyAxNjQgIi91c3Ivc3JjL3J1ZG8vbGludXgt
Mi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8v
bGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9uYW5kLnZlciIgMQojIDE2NSAiL3Vz
ci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMg
MSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL25hbmRf
ZWNjLnZlciIgMQojIDE2NiAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51
eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVk
ZS9saW51eC9tb2R1bGVzL25ldF9pbml0LnZlciIgMQojIDE2NyAiL3Vzci9zcmMvcnVkby9saW51
eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVk
by9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL25ldGZpbHRlci52ZXIiIDEKIyAx
NjggIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMu
aCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxl
cy9uZXRzeW1zLnZlciIgMQojIDE2OSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVk
ZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAv
aW5jbHVkZS9saW51eC9tb2R1bGVzL25ld3BvcnQudmVyIiAxCiMgMTcwICIvdXNyL3NyYy9ydWRv
L2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3Ny
Yy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvbmxzX2Jhc2UudmVyIiAx
CiMgMTcxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNp
b25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21v
ZHVsZXMvbmxzX2NwODUwLnZlciIgMQojIDE3MiAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAv
aW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0y
LjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL25sc19jcDg1Mi52ZXIiIDEKIyAxNzMgIi91c3Iv
c3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEg
Ii91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9ubHNfaXNv
ODg1OS0xLnZlciIgMQojIDE3NCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9s
aW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5j
bHVkZS9saW51eC9tb2R1bGVzL25sc19pc284ODU5LTIudmVyIiAxCiMgMTc1ICIvdXNyL3NyYy9y
dWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNy
L3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvbmxzX3V0ZjgudmVy
IiAxCiMgMTc2ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZl
cnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4
L21vZHVsZXMvbm0yNTZfYXVkaW8udmVyIiAxCiMgMTc3ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIu
NC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xp
bnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvbnVidXNfc3ltcy52ZXIiIDEKIyAxNzgg
Ii91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIg
MgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9v
cGVuLnZlciIgMQojIDE3OSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51
eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVk
ZS9saW51eC9tb2R1bGVzL29wbDMudmVyIiAxCiMgMTgwICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIu
NC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xp
bnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvb3Jpbm9jby52ZXIiIDEKIyAxODEgIi91
c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgoj
IDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9wODAy
Mi52ZXIiIDEKIyAxODIgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgv
bW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUv
bGludXgvbW9kdWxlcy9wYXJwb3J0X3BjLnZlciIgMQojIDE4MyAiL3Vzci9zcmMvcnVkby9saW51
eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVk
by9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL3BjaS52ZXIiIDEKIyAxODQgIi91
c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgoj
IDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9wY2lf
c29ja2V0LnZlciIgMQojIDE4NSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9s
aW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5j
bHVkZS9saW51eC9tb2R1bGVzL3Bob25lZGV2LnZlciIgMQojIDE4NiAiL3Vzci9zcmMvcnVkby9s
aW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMv
cnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL3BtLnZlciIgMQojIDE4NyAi
L3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAy
CiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL3Bw
cF9hc3luYy52ZXIiIDEKIyAxODggIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUv
bGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2lu
Y2x1ZGUvbGludXgvbW9kdWxlcy9wcHBfZ2VuZXJpYy52ZXIiIDEKIyAxODkgIi91c3Ivc3JjL3J1
ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Iv
c3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9wcHBveC52ZXIiIDEK
IyAxOTAgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lv
bnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9k
dWxlcy9wcmludGsudmVyIiAxCiMgMTkxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNs
dWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4x
MC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvcHJvYy52ZXIiIDEKIyAxOTIgIi91c3Ivc3JjL3J1ZG8v
bGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3Jj
L3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9wcm9maWxlLnZlciIgMQoj
IDE5MyAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9u
cy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1
bGVzL3BzbmFwLnZlciIgMQojIDE5NCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVk
ZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAv
aW5jbHVkZS9saW51eC9tb2R1bGVzL3B0eS52ZXIiIDEKIyAxOTUgIi91c3Ivc3JjL3J1ZG8vbGlu
dXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1
ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9wd2MtdW5jb21wcmVzcy52ZXIi
IDEKIyAxOTYgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVy
c2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgv
bW9kdWxlcy9yYW5kb20udmVyIiAxCiMgMTk3ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9p
bmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIu
NC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvcmF3LnZlciIgMQojIDE5OCAiL3Vzci9zcmMvcnVk
by9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9z
cmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL3JheV9jcy52ZXIiIDEK
IyAxOTkgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lv
bnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9k
dWxlcy9yZWRib290LnZlciIgMQojIDIwMCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5j
bHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQu
MTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL3Jlc291cmNlcy52ZXIiIDEKIyAyMDEgIi91c3Ivc3Jj
L3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91
c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9yb290LnZlciIg
MQojIDIwMiAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJz
aW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9t
b2R1bGVzL3J0Yy52ZXIiIDEKIyAyMDMgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1
ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEw
L2luY2x1ZGUvbGludXgvbW9kdWxlcy9yd3NlbS1zcGlubG9jay52ZXIiIDEKIyAyMDQgIi91c3Iv
c3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEg
Ii91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9yd3NlbS52
ZXIiIDEKIyAyMDUgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9k
dmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGlu
dXgvbW9kdWxlcy9zYl9jb21tb24udmVyIiAxCiMgMjA2ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIu
NC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xp
bnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvc2NzaV9zeW1zLnZlciIgMQojIDIwNyAi
L3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAy
CiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL3Nk
bGFkcnYudmVyIiAxCiMgMjA4ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xp
bnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNs
dWRlL2xpbnV4L21vZHVsZXMvc2VsZWN0aW9uLnZlciIgMQojIDIwOSAiL3Vzci9zcmMvcnVkby9s
aW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMv
cnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL3NlcXVlbmNlcl9zeW1zLnZl
ciIgMQojIDIxMCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2
ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51
eC9tb2R1bGVzL3NlcmlhbC52ZXIiIDEKIyAyMTEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEw
L2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgt
Mi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9zZXJpby52ZXIiIDEKIyAyMTIgIi91c3Ivc3Jj
L3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91
c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9zZ2ljb25zLnZl
ciIgMQojIDIxMyAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2
ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51
eC9tb2R1bGVzL3NobWVtLnZlciIgMQojIDIxNCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAv
aW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0y
LjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL3NobWlxLnZlciIgMQojIDIxNSAiL3Vzci9zcmMv
cnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vz
ci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL3NpZ25hbC52ZXIi
IDEKIyAyMTYgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVy
c2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgv
bW9kdWxlcy9zbGhjLnZlciIgMQojIDIxNyAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5j
bHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQu
MTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL3NvbnlwaS52ZXIiIDEKIyAyMTggIi91c3Ivc3JjL3J1
ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Iv
c3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9zb3VuZF9jb3JlLnZl
ciIgMQojIDIxOSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2
ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51
eC9tb2R1bGVzL3NvdW5kX3N5bXMudmVyIiAxCiMgMjIwICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIu
NC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xp
bnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvc3UudmVyIiAxCiMgMjIxICIvdXNyL3Ny
Yy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIv
dXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvc3VuaS52ZXIi
IDEKIyAyMjIgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVy
c2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgv
bW9kdWxlcy9zdW5ycGNfc3ltcy52ZXIiIDEKIyAyMjMgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40
LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGlu
dXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy9zeW1zLnZlciIgMQojIDIyNCAiL3Vzci9z
cmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAi
L3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL3N5bmNwcHAu
dmVyIiAxCiMgMjI1ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21v
ZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xp
bnV4L21vZHVsZXMvc3lzLnZlciIgMQojIDIyNiAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAv
aW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0y
LjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL3N5c3JxLnZlciIgMQojIDIyNyAiL3Vzci9zcmMv
cnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vz
ci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL3RjLnZlciIgMQoj
IDIyOCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9u
cy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1
bGVzL3RtczM4MHRyLnZlciIgMQojIDIyOSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5j
bHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQu
MTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL3R0eV9pby52ZXIiIDEKIyAyMzAgIi91c3Ivc3JjL3J1
ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Iv
c3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy90dHlfaW9jdGwudmVy
IiAxCiMgMjMxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZl
cnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4
L21vZHVsZXMvdVBEOTg0MDIudmVyIiAxCiMgMjMyICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4x
MC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4
LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvdWFydDQwMS52ZXIiIDEKIyAyMzMgIi91c3Iv
c3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgojIDEg
Ii91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy91c2IudmVy
IiAxCiMgMjM0ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZl
cnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4
L21vZHVsZXMvdXNic2VyaWFsLnZlciIgMQojIDIzNSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQu
MTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51
eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL3VzZW1hLnZlciIgMQojIDIzNiAiL3Vzci9z
cmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAi
L3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL3V0aWwudmVy
IiAxCiMgMjM3ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZl
cnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4
L21vZHVsZXMvdmZhdGZzX3N5bXMudmVyIiAxCiMgMjM4ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIu
NC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xp
bnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvdmlhLXBtdS52ZXIiIDEKIyAyMzkgIi91
c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgoj
IDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy92aWRl
b2Rldi52ZXIiIDEKIyAyNDAgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGlu
dXgvbW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1
ZGUvbGludXgvbW9kdWxlcy93YW5tYWluLnZlciIgMQojIDI0MSAiL3Vzci9zcmMvcnVkby9saW51
eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R2ZXJzaW9ucy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVk
by9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGVzL3hvci52ZXIiIDEKIyAyNDIgIi91
c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdmVyc2lvbnMuaCIgMgoj
IDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlcy95ZW50
YS52ZXIiIDEKIyAyNDMgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgv
bW9kdmVyc2lvbnMuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUv
bGludXgvbW9kdWxlcy96ODUyMzAudmVyIiAxCiMgMjQ0ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIu
NC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xp
bnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMvemZ0YXBlX3N5bXMudmVyIiAxCiMgMjQ1
ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHZlcnNpb25zLmgi
IDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZXMv
em9ycm8udmVyIiAxCiMgMjQ2ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xp
bnV4L21vZHZlcnNpb25zLmgiIDIKIyAyICJ1c2ItdWhjaS5jIiAyCiMgMjIgInVzYi11aGNpLmMi
CiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9jb25maWcuaCIg
MQoKCgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvYXV0b2Nv
bmYuaCIgMQojIDUgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvY29u
ZmlnLmgiIDIKIyAyMyAidXNiLXVoY2kuYyIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40
LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlLmgiIDEKIyAxMCAiL3Vzci9zcmMvcnVkby9saW51eC0y
LjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGUuaCIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIu
NC4xMC9pbmNsdWRlL2xpbnV4L2NvbmZpZy5oIiAxCiMgMTEgIi91c3Ivc3JjL3J1ZG8vbGludXgt
Mi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4
LTIuNC4xMC9pbmNsdWRlL2xpbnV4L3NwaW5sb2NrLmgiIDEKCgoKIyAxICIvdXNyL3NyYy9ydWRv
L2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L2NvbmZpZy5oIiAxCiMgNSAiL3Vzci9zcmMvcnVk
by9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9zcGlubG9jay5oIiAyCiMgNTIgIi91c3Ivc3Jj
L3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvc3BpbmxvY2suaCIKICB0eXBlZGVmIHN0
cnVjdCB7IH0gc3BpbmxvY2tfdDsKIyAxMTUgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2lu
Y2x1ZGUvbGludXgvc3BpbmxvY2suaCIKICB0eXBlZGVmIHN0cnVjdCB7IH0gcndsb2NrX3Q7CiMg
MTIgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlLmgiIDIK
IyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L2xpc3QuaCIgMQoK
CgoKCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9wcmVmZXRj
aC5oIiAxCiMgMTMgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvcHJl
ZmV0Y2guaCIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2FzbS9wcm9j
ZXNzb3IuaCIgMQojIDEwICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2FzbS9w
cm9jZXNzb3IuaCIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2FzbS92
bTg2LmgiIDEKIyA2OCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9hc20vdm04
Ni5oIgpzdHJ1Y3Qgdm04Nl9yZWdzIHsKCgoKICAgICAgICBsb25nIGVieDsKICAgICAgICBsb25n
IGVjeDsKICAgICAgICBsb25nIGVkeDsKICAgICAgICBsb25nIGVzaTsKICAgICAgICBsb25nIGVk
aTsKICAgICAgICBsb25nIGVicDsKICAgICAgICBsb25nIGVheDsKICAgICAgICBsb25nIF9fbnVs
bF9kczsKICAgICAgICBsb25nIF9fbnVsbF9lczsKICAgICAgICBsb25nIF9fbnVsbF9mczsKICAg
ICAgICBsb25nIF9fbnVsbF9nczsKICAgICAgICBsb25nIG9yaWdfZWF4OwogICAgICAgIGxvbmcg
ZWlwOwogICAgICAgIHVuc2lnbmVkIHNob3J0IGNzLCBfX2NzaDsKICAgICAgICBsb25nIGVmbGFn
czsKICAgICAgICBsb25nIGVzcDsKICAgICAgICB1bnNpZ25lZCBzaG9ydCBzcywgX19zc2g7CgoK
CiAgICAgICAgdW5zaWduZWQgc2hvcnQgZXMsIF9fZXNoOwogICAgICAgIHVuc2lnbmVkIHNob3J0
IGRzLCBfX2RzaDsKICAgICAgICB1bnNpZ25lZCBzaG9ydCBmcywgX19mc2g7CiAgICAgICAgdW5z
aWduZWQgc2hvcnQgZ3MsIF9fZ3NoOwp9OwoKc3RydWN0IHJldmVjdG9yZWRfc3RydWN0IHsKICAg
ICAgICB1bnNpZ25lZCBsb25nIF9fbWFwWzhdOwp9OwoKc3RydWN0IHZtODZfc3RydWN0IHsKICAg
ICAgICBzdHJ1Y3Qgdm04Nl9yZWdzIHJlZ3M7CiAgICAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsK
ICAgICAgICB1bnNpZ25lZCBsb25nIHNjcmVlbl9iaXRtYXA7CiAgICAgICAgdW5zaWduZWQgbG9u
ZyBjcHVfdHlwZTsKICAgICAgICBzdHJ1Y3QgcmV2ZWN0b3JlZF9zdHJ1Y3QgaW50X3JldmVjdG9y
ZWQ7CiAgICAgICAgc3RydWN0IHJldmVjdG9yZWRfc3RydWN0IGludDIxX3JldmVjdG9yZWQ7Cn07
CgoKCgoKCnN0cnVjdCB2bTg2cGx1c19pbmZvX3N0cnVjdCB7CiAgICAgICAgdW5zaWduZWQgbG9u
ZyBmb3JjZV9yZXR1cm5fZm9yX3BpYzoxOwogICAgICAgIHVuc2lnbmVkIGxvbmcgdm04NmRiZ19h
Y3RpdmU6MTsKICAgICAgICB1bnNpZ25lZCBsb25nIHZtODZkYmdfVEZwZW5kaWc6MTsKICAgICAg
ICB1bnNpZ25lZCBsb25nIHVudXNlZDoyODsKICAgICAgICB1bnNpZ25lZCBsb25nIGlzX3ZtODZw
dXM6MTsKICAgICAgICB1bnNpZ25lZCBjaGFyIHZtODZkYmdfaW50eHh0YWJbMzJdOwp9OwoKc3Ry
dWN0IHZtODZwbHVzX3N0cnVjdCB7CiAgICAgICAgc3RydWN0IHZtODZfcmVncyByZWdzOwogICAg
ICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAgICAgICAgdW5zaWduZWQgbG9uZyBzY3JlZW5fYml0
bWFwOwogICAgICAgIHVuc2lnbmVkIGxvbmcgY3B1X3R5cGU7CiAgICAgICAgc3RydWN0IHJldmVj
dG9yZWRfc3RydWN0IGludF9yZXZlY3RvcmVkOwogICAgICAgIHN0cnVjdCByZXZlY3RvcmVkX3N0
cnVjdCBpbnQyMV9yZXZlY3RvcmVkOwogICAgICAgIHN0cnVjdCB2bTg2cGx1c19pbmZvX3N0cnVj
dCB2bTg2cGx1czsKfTsKIyAxNDUgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUv
YXNtL3ZtODYuaCIKc3RydWN0IGtlcm5lbF92bTg2X3JlZ3MgewoKCgogICAgICAgIGxvbmcgZWJ4
OwogICAgICAgIGxvbmcgZWN4OwogICAgICAgIGxvbmcgZWR4OwogICAgICAgIGxvbmcgZXNpOwog
ICAgICAgIGxvbmcgZWRpOwogICAgICAgIGxvbmcgZWJwOwogICAgICAgIGxvbmcgZWF4OwogICAg
ICAgIGxvbmcgX19udWxsX2RzOwogICAgICAgIGxvbmcgX19udWxsX2VzOwogICAgICAgIGxvbmcg
b3JpZ19lYXg7CiAgICAgICAgbG9uZyBlaXA7CiAgICAgICAgdW5zaWduZWQgc2hvcnQgY3MsIF9f
Y3NoOwogICAgICAgIGxvbmcgZWZsYWdzOwogICAgICAgIGxvbmcgZXNwOwogICAgICAgIHVuc2ln
bmVkIHNob3J0IHNzLCBfX3NzaDsKCgoKICAgICAgICB1bnNpZ25lZCBzaG9ydCBlcywgX19lc2g7
CiAgICAgICAgdW5zaWduZWQgc2hvcnQgZHMsIF9fZHNoOwogICAgICAgIHVuc2lnbmVkIHNob3J0
IGZzLCBfX2ZzaDsKICAgICAgICB1bnNpZ25lZCBzaG9ydCBncywgX19nc2g7Cn07CgpzdHJ1Y3Qg
a2VybmVsX3ZtODZfc3RydWN0IHsKICAgICAgICBzdHJ1Y3Qga2VybmVsX3ZtODZfcmVncyByZWdz
OwojIDE4NCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9hc20vdm04Ni5oIgog
ICAgICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAgICAgICAgdW5zaWduZWQgbG9uZyBzY3JlZW5f
Yml0bWFwOwogICAgICAgIHVuc2lnbmVkIGxvbmcgY3B1X3R5cGU7CiAgICAgICAgc3RydWN0IHJl
dmVjdG9yZWRfc3RydWN0IGludF9yZXZlY3RvcmVkOwogICAgICAgIHN0cnVjdCByZXZlY3RvcmVk
X3N0cnVjdCBpbnQyMV9yZXZlY3RvcmVkOwogICAgICAgIHN0cnVjdCB2bTg2cGx1c19pbmZvX3N0
cnVjdCB2bTg2cGx1czsKICAgICAgICBzdHJ1Y3QgcHRfcmVncyAqcmVnczMyOwojIDIwMSAiL3Vz
ci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9hc20vdm04Ni5oIgp9OwoKdm9pZCBoYW5k
bGVfdm04Nl9mYXVsdChzdHJ1Y3Qga2VybmVsX3ZtODZfcmVncyAqLCBsb25nKTsKaW50IGhhbmRs
ZV92bTg2X3RyYXAoc3RydWN0IGtlcm5lbF92bTg2X3JlZ3MgKiwgbG9uZywgaW50KTsKIyAxMSAi
L3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9hc20vcHJvY2Vzc29yLmgiIDIKIyAx
ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2FzbS9tYXRoX2VtdS5oIiAxCgoK
CiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9hc20vc2lnY29udGV4dC5o
IiAxCiMgMTggIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvYXNtL3NpZ2NvbnRl
eHQuaCIKc3RydWN0IF9mcHJlZyB7CiAgICAgICAgdW5zaWduZWQgc2hvcnQgc2lnbmlmaWNhbmRb
NF07CiAgICAgICAgdW5zaWduZWQgc2hvcnQgZXhwb25lbnQ7Cn07CgpzdHJ1Y3QgX2ZweHJlZyB7
CiAgICAgICAgdW5zaWduZWQgc2hvcnQgc2lnbmlmaWNhbmRbNF07CiAgICAgICAgdW5zaWduZWQg
c2hvcnQgZXhwb25lbnQ7CiAgICAgICAgdW5zaWduZWQgc2hvcnQgcGFkZGluZ1szXTsKfTsKCnN0
cnVjdCBfeG1tcmVnIHsKICAgICAgICB1bnNpZ25lZCBsb25nIGVsZW1lbnRbNF07Cn07CgpzdHJ1
Y3QgX2Zwc3RhdGUgewoKICAgICAgICB1bnNpZ25lZCBsb25nIGN3OwogICAgICAgIHVuc2lnbmVk
IGxvbmcgc3c7CiAgICAgICAgdW5zaWduZWQgbG9uZyB0YWc7CiAgICAgICAgdW5zaWduZWQgbG9u
ZyBpcG9mZjsKICAgICAgICB1bnNpZ25lZCBsb25nIGNzc2VsOwogICAgICAgIHVuc2lnbmVkIGxv
bmcgZGF0YW9mZjsKICAgICAgICB1bnNpZ25lZCBsb25nIGRhdGFzZWw7CiAgICAgICAgc3RydWN0
IF9mcHJlZyBfc3RbOF07CiAgICAgICAgdW5zaWduZWQgc2hvcnQgc3RhdHVzOwogICAgICAgIHVu
c2lnbmVkIHNob3J0IG1hZ2ljOwoKCiAgICAgICAgdW5zaWduZWQgbG9uZyBfZnhzcl9lbnZbNl07
CiAgICAgICAgdW5zaWduZWQgbG9uZyBteGNzcjsKICAgICAgICB1bnNpZ25lZCBsb25nIHJlc2Vy
dmVkOwogICAgICAgIHN0cnVjdCBfZnB4cmVnIF9meHNyX3N0WzhdOwogICAgICAgIHN0cnVjdCBf
eG1tcmVnIF94bW1bOF07CiAgICAgICAgdW5zaWduZWQgbG9uZyBwYWRkaW5nWzU2XTsKfTsKCgoK
c3RydWN0IHNpZ2NvbnRleHQgewogICAgICAgIHVuc2lnbmVkIHNob3J0IGdzLCBfX2dzaDsKICAg
ICAgICB1bnNpZ25lZCBzaG9ydCBmcywgX19mc2g7CiAgICAgICAgdW5zaWduZWQgc2hvcnQgZXMs
IF9fZXNoOwogICAgICAgIHVuc2lnbmVkIHNob3J0IGRzLCBfX2RzaDsKICAgICAgICB1bnNpZ25l
ZCBsb25nIGVkaTsKICAgICAgICB1bnNpZ25lZCBsb25nIGVzaTsKICAgICAgICB1bnNpZ25lZCBs
b25nIGVicDsKICAgICAgICB1bnNpZ25lZCBsb25nIGVzcDsKICAgICAgICB1bnNpZ25lZCBsb25n
IGVieDsKICAgICAgICB1bnNpZ25lZCBsb25nIGVkeDsKICAgICAgICB1bnNpZ25lZCBsb25nIGVj
eDsKICAgICAgICB1bnNpZ25lZCBsb25nIGVheDsKICAgICAgICB1bnNpZ25lZCBsb25nIHRyYXBu
bzsKICAgICAgICB1bnNpZ25lZCBsb25nIGVycjsKICAgICAgICB1bnNpZ25lZCBsb25nIGVpcDsK
ICAgICAgICB1bnNpZ25lZCBzaG9ydCBjcywgX19jc2g7CiAgICAgICAgdW5zaWduZWQgbG9uZyBl
ZmxhZ3M7CiAgICAgICAgdW5zaWduZWQgbG9uZyBlc3BfYXRfc2lnbmFsOwogICAgICAgIHVuc2ln
bmVkIHNob3J0IHNzLCBfX3NzaDsKICAgICAgICBzdHJ1Y3QgX2Zwc3RhdGUgKiBmcHN0YXRlOwog
ICAgICAgIHVuc2lnbmVkIGxvbmcgb2xkbWFzazsKICAgICAgICB1bnNpZ25lZCBsb25nIGNyMjsK
fTsKIyA1ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2FzbS9tYXRoX2VtdS5o
IiAyCgppbnQgcmVzdG9yZV9pMzg3X3NvZnQodm9pZCAqczM4Nywgc3RydWN0IF9mcHN0YXRlICpi
dWYpOwppbnQgc2F2ZV9pMzg3X3NvZnQodm9pZCAqczM4Nywgc3RydWN0IF9mcHN0YXRlICogYnVm
KTsKCgoKCgpzdHJ1Y3QgaW5mbyB7CiAgICAgICAgbG9uZyBfX19vcmlnX2VpcDsKICAgICAgICBs
b25nIF9fX2VieDsKICAgICAgICBsb25nIF9fX2VjeDsKICAgICAgICBsb25nIF9fX2VkeDsKICAg
ICAgICBsb25nIF9fX2VzaTsKICAgICAgICBsb25nIF9fX2VkaTsKICAgICAgICBsb25nIF9fX2Vi
cDsKICAgICAgICBsb25nIF9fX2VheDsKICAgICAgICBsb25nIF9fX2RzOwogICAgICAgIGxvbmcg
X19fZXM7CiAgICAgICAgbG9uZyBfX19vcmlnX2VheDsKICAgICAgICBsb25nIF9fX2VpcDsKICAg
ICAgICBsb25nIF9fX2NzOwogICAgICAgIGxvbmcgX19fZWZsYWdzOwogICAgICAgIGxvbmcgX19f
ZXNwOwogICAgICAgIGxvbmcgX19fc3M7CiAgICAgICAgbG9uZyBfX192bTg2X2VzOwogICAgICAg
IGxvbmcgX19fdm04Nl9kczsKICAgICAgICBsb25nIF9fX3ZtODZfZnM7CiAgICAgICAgbG9uZyBf
X192bTg2X2dzOwp9OwojIDEyICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2Fz
bS9wcm9jZXNzb3IuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUv
YXNtL3NlZ21lbnQuaCIgMQojIDEzICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRl
L2FzbS9wcm9jZXNzb3IuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1
ZGUvYXNtL3BhZ2UuaCIgMQojIDEyICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRl
L2FzbS9wYWdlLmgiCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51
eC9jb25maWcuaCIgMQojIDEzICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2Fz
bS9wYWdlLmgiIDIKIyA0NSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9hc20v
cGFnZS5oIgp0eXBlZGVmIHN0cnVjdCB7IHVuc2lnbmVkIGxvbmcgcHRlX2xvdzsgfSBwdGVfdDsK
dHlwZWRlZiBzdHJ1Y3QgeyB1bnNpZ25lZCBsb25nIHBtZDsgfSBwbWRfdDsKdHlwZWRlZiBzdHJ1
Y3QgeyB1bnNpZ25lZCBsb25nIHBnZDsgfSBwZ2RfdDsKCgoKCnR5cGVkZWYgc3RydWN0IHsgdW5z
aWduZWQgbG9uZyBwZ3Byb3Q7IH0gcGdwcm90X3Q7CiMgMTA1ICIvdXNyL3NyYy9ydWRvL2xpbnV4
LTIuNC4xMC9pbmNsdWRlL2FzbS9wYWdlLmgiCnN0YXRpYyBfX2lubGluZV9fIGludCBnZXRfb3Jk
ZXIodW5zaWduZWQgbG9uZyBzaXplKQp7CiAgICAgICAgaW50IG9yZGVyOwoKICAgICAgICBzaXpl
ID0gKHNpemUtMSkgPj4gKDEyIC0xKTsKICAgICAgICBvcmRlciA9IC0xOwogICAgICAgIGRvIHsK
ICAgICAgICAgICAgICAgIHNpemUgPj49IDE7CiAgICAgICAgICAgICAgICBvcmRlcisrOwogICAg
ICAgIH0gd2hpbGUgKHNpemUpOwogICAgICAgIHJldHVybiBvcmRlcjsKfQojIDE0ICIvdXNyL3Ny
Yy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaCIgMgojIDEgIi91c3Iv
c3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvYXNtL3R5cGVzLmgiIDEKCgoKdHlwZWRlZiB1
bnNpZ25lZCBzaG9ydCB1bW9kZV90OwoKCgoKCgp0eXBlZGVmIF9fc2lnbmVkX18gY2hhciBfX3M4
Owp0eXBlZGVmIHVuc2lnbmVkIGNoYXIgX191ODsKCnR5cGVkZWYgX19zaWduZWRfXyBzaG9ydCBf
X3MxNjsKdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBfX3UxNjsKCnR5cGVkZWYgX19zaWduZWRfXyBp
bnQgX19zMzI7CnR5cGVkZWYgdW5zaWduZWQgaW50IF9fdTMyOwoKCnR5cGVkZWYgX19zaWduZWRf
XyBsb25nIGxvbmcgX19zNjQ7CnR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIF9fdTY0OwoKCgoK
CgoKdHlwZWRlZiBzaWduZWQgY2hhciBzODsKdHlwZWRlZiB1bnNpZ25lZCBjaGFyIHU4OwoKdHlw
ZWRlZiBzaWduZWQgc2hvcnQgczE2Owp0eXBlZGVmIHVuc2lnbmVkIHNob3J0IHUxNjsKCnR5cGVk
ZWYgc2lnbmVkIGludCBzMzI7CnR5cGVkZWYgdW5zaWduZWQgaW50IHUzMjsKCnR5cGVkZWYgc2ln
bmVkIGxvbmcgbG9uZyBzNjQ7CnR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIHU2NDsKCgoKCgp0
eXBlZGVmIHUzMiBkbWFfYWRkcl90OwojIDE1ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9p
bmNsdWRlL2FzbS9wcm9jZXNzb3IuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEw
L2luY2x1ZGUvYXNtL3NpZ2NvbnRleHQuaCIgMQojIDE2ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIu
NC4xMC9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgt
Mi40LjEwL2luY2x1ZGUvYXNtL2NwdWZlYXR1cmUuaCIgMQojIDE3ICIvdXNyL3NyYy9ydWRvL2xp
bnV4LTIuNC4xMC9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8v
bGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvY2FjaGUuaCIgMQoKCgojIDEgIi91c3Ivc3JjL3J1
ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvY29uZmlnLmgiIDEKIyA1ICIvdXNyL3NyYy9y
dWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L2NhY2hlLmgiIDIKIyAxICIvdXNyL3NyYy9y
dWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2FzbS9jYWNoZS5oIiAxCgoKCgoKCiMgMSAiL3Vzci9z
cmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9jb25maWcuaCIgMQojIDggIi91c3Iv
c3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvYXNtL2NhY2hlLmgiIDIKIyA2ICIvdXNyL3Ny
Yy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L2NhY2hlLmgiIDIKIyAxOCAiL3Vzci9z
cmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9hc20vcHJvY2Vzc29yLmgiIDIKIyAxICIvdXNy
L3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L2NvbmZpZy5oIiAxCiMgMTkgIi91
c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oIiAyCiMgMSAi
L3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC90aHJlYWRzLmgiIDEKCgoK
IyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L2NvbmZpZy5oIiAx
CiMgNSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC90aHJlYWRzLmgi
IDIKIyAyMCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9hc20vcHJvY2Vzc29y
LmgiIDIKIyAzMyAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9hc20vcHJvY2Vz
c29yLmgiCnN0cnVjdCBjcHVpbmZvX3g4NiB7CiAgICAgICAgX191OCB4ODY7CiAgICAgICAgX191
OCB4ODZfdmVuZG9yOwogICAgICAgIF9fdTggeDg2X21vZGVsOwogICAgICAgIF9fdTggeDg2X21h
c2s7CiAgICAgICAgY2hhciB3cF93b3Jrc19vazsKICAgICAgICBjaGFyIGhsdF93b3Jrc19vazsK
ICAgICAgICBjaGFyIGhhcmRfbWF0aDsKICAgICAgICBjaGFyIHJmdTsKICAgICAgICBpbnQgY3B1
aWRfbGV2ZWw7CiAgICAgICAgX191MzIgeDg2X2NhcGFiaWxpdHlbNF07CiAgICAgICAgY2hhciB4
ODZfdmVuZG9yX2lkWzE2XTsKICAgICAgICBjaGFyIHg4Nl9tb2RlbF9pZFs2NF07CiAgICAgICAg
aW50IHg4Nl9jYWNoZV9zaXplOwoKICAgICAgICBpbnQgZmRpdl9idWc7CiAgICAgICAgaW50IGYw
MGZfYnVnOwogICAgICAgIGludCBjb21hX2J1ZzsKICAgICAgICB1bnNpZ25lZCBsb25nIGxvb3Bz
X3Blcl9qaWZmeV9SYmE0OTdmMTM7CiAgICAgICAgdW5zaWduZWQgbG9uZyAqcGdkX3F1aWNrOwog
ICAgICAgIHVuc2lnbmVkIGxvbmcgKnBtZF9xdWljazsKICAgICAgICB1bnNpZ25lZCBsb25nICpw
dGVfcXVpY2s7CiAgICAgICAgdW5zaWduZWQgbG9uZyBwZ3RhYmxlX2NhY2hlX3N6Owp9IF9fYXR0
cmlidXRlX18oKF9fYWxpZ25lZF9fKCgxIDw8ICgoNSkpKSkpKTsKIyA3MiAiL3Vzci9zcmMvcnVk
by9saW51eC0yLjQuMTAvaW5jbHVkZS9hc20vcHJvY2Vzc29yLmgiCmV4dGVybiBzdHJ1Y3QgY3B1
aW5mb194ODYgYm9vdF9jcHVfZGF0YV9SMDY1N2QwMzc7CmV4dGVybiBzdHJ1Y3QgdHNzX3N0cnVj
dCBpbml0X3Rzc1sxXTsKIyA5NCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9h
c20vcHJvY2Vzc29yLmgiCmV4dGVybiBjaGFyIGlnbm9yZV9pcnExMzsKCmV4dGVybiB2b2lkIGlk
ZW50aWZ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYgKik7CmV4dGVybiB2b2lkIHByaW50X2NwdV9p
bmZvKHN0cnVjdCBjcHVpbmZvX3g4NiAqKTsKZXh0ZXJuIHZvaWQgZG9kZ3lfdHNjKHZvaWQpOwoj
IDEyNCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9hc20vcHJvY2Vzc29yLmgi
CnN0YXRpYyBpbmxpbmUgdm9pZCBjcHVpZChpbnQgb3AsIGludCAqZWF4LCBpbnQgKmVieCwgaW50
ICplY3gsIGludCAqZWR4KQp7CiAgICAgICAgX19hc21fXygiY3B1aWQiCiAgICAgICAgICAgICAg
ICA6ICI9YSIgKCplYXgpLAogICAgICAgICAgICAgICAgICAiPWIiICgqZWJ4KSwKICAgICAgICAg
ICAgICAgICAgIj1jIiAoKmVjeCksCiAgICAgICAgICAgICAgICAgICI9ZCIgKCplZHgpCiAgICAg
ICAgICAgICAgICA6ICIwIiAob3ApKTsKfQoKCgoKc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQg
Y3B1aWRfZWF4KHVuc2lnbmVkIGludCBvcCkKewogICAgICAgIHVuc2lnbmVkIGludCBlYXg7Cgog
ICAgICAgIF9fYXNtX18oImNwdWlkIgogICAgICAgICAgICAgICAgOiAiPWEiIChlYXgpCiAgICAg
ICAgICAgICAgICA6ICIwIiAob3ApCiAgICAgICAgICAgICAgICA6ICJieCIsICJjeCIsICJkeCIp
OwogICAgICAgIHJldHVybiBlYXg7Cn0Kc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgY3B1aWRf
ZWJ4KHVuc2lnbmVkIGludCBvcCkKewogICAgICAgIHVuc2lnbmVkIGludCBlYXgsIGVieDsKCiAg
ICAgICAgX19hc21fXygiY3B1aWQiCiAgICAgICAgICAgICAgICA6ICI9YSIgKGVheCksICI9YiIg
KGVieCkKICAgICAgICAgICAgICAgIDogIjAiIChvcCkKICAgICAgICAgICAgICAgIDogImN4Iiwg
ImR4IiApOwogICAgICAgIHJldHVybiBlYng7Cn0Kc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQg
Y3B1aWRfZWN4KHVuc2lnbmVkIGludCBvcCkKewogICAgICAgIHVuc2lnbmVkIGludCBlYXgsIGVj
eDsKCiAgICAgICAgX19hc21fXygiY3B1aWQiCiAgICAgICAgICAgICAgICA6ICI9YSIgKGVheCks
ICI9YyIgKGVjeCkKICAgICAgICAgICAgICAgIDogIjAiIChvcCkKICAgICAgICAgICAgICAgIDog
ImJ4IiwgImR4IiApOwogICAgICAgIHJldHVybiBlY3g7Cn0Kc3RhdGljIGlubGluZSB1bnNpZ25l
ZCBpbnQgY3B1aWRfZWR4KHVuc2lnbmVkIGludCBvcCkKewogICAgICAgIHVuc2lnbmVkIGludCBl
YXgsIGVkeDsKCiAgICAgICAgX19hc21fXygiY3B1aWQiCiAgICAgICAgICAgICAgICA6ICI9YSIg
KGVheCksICI9ZCIgKGVkeCkKICAgICAgICAgICAgICAgIDogIjAiIChvcCkKICAgICAgICAgICAg
ICAgIDogImJ4IiwgImN4Iik7CiAgICAgICAgcmV0dXJuIGVkeDsKfQojIDE5OSAiL3Vzci9zcmMv
cnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9hc20vcHJvY2Vzc29yLmgiCmV4dGVybiB1bnNpZ25l
ZCBsb25nIG1tdV9jcjRfZmVhdHVyZXM7CgpzdGF0aWMgaW5saW5lIHZvaWQgc2V0X2luX2NyNCAo
dW5zaWduZWQgbG9uZyBtYXNrKQp7CiAgICAgICAgbW11X2NyNF9mZWF0dXJlcyB8PSBtYXNrOwog
ICAgICAgIF9fYXNtX18oIm1vdmwgJSVjcjQsJSVlYXhcblx0IgogICAgICAgICAgICAgICAgIm9y
bCAlMCwlJWVheFxuXHQiCiAgICAgICAgICAgICAgICAibW92bCAlJWVheCwlJWNyNFxuIgogICAg
ICAgICAgICAgICAgOiA6ICJpcmciIChtYXNrKQogICAgICAgICAgICAgICAgOiJheCIpOwp9Cgpz
dGF0aWMgaW5saW5lIHZvaWQgY2xlYXJfaW5fY3I0ICh1bnNpZ25lZCBsb25nIG1hc2spCnsKICAg
ICAgICBtbXVfY3I0X2ZlYXR1cmVzICY9IH5tYXNrOwogICAgICAgIF9fYXNtX18oIm1vdmwgJSVj
cjQsJSVlYXhcblx0IgogICAgICAgICAgICAgICAgImFuZGwgJTAsJSVlYXhcblx0IgogICAgICAg
ICAgICAgICAgIm1vdmwgJSVlYXgsJSVjcjRcbiIKICAgICAgICAgICAgICAgIDogOiAiaXJnIiAo
fm1hc2spCiAgICAgICAgICAgICAgICA6ImF4Iik7Cn0KIyAyNTYgIi91c3Ivc3JjL3J1ZG8vbGlu
dXgtMi40LjEwL2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oIgpleHRlcm4gaW50IE1DQV9idXNfUmY0
OGEyYzRjOwoKCgpleHRlcm4gdW5zaWduZWQgaW50IG1hY2hpbmVfaWQ7CmV4dGVybiB1bnNpZ25l
ZCBpbnQgbWFjaGluZV9zdWJtb2RlbF9pZDsKZXh0ZXJuIHVuc2lnbmVkIGludCBCSU9TX3Jldmlz
aW9uOwpleHRlcm4gdW5zaWduZWQgaW50IG1jYV9wZW50aXVtX2ZsYWc7CiMgMjgyICIvdXNyL3Ny
Yy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaCIKc3RydWN0IGkzODdf
ZnNhdmVfc3RydWN0IHsKICAgICAgICBsb25nIGN3ZDsKICAgICAgICBsb25nIHN3ZDsKICAgICAg
ICBsb25nIHR3ZDsKICAgICAgICBsb25nIGZpcDsKICAgICAgICBsb25nIGZjczsKICAgICAgICBs
b25nIGZvbzsKICAgICAgICBsb25nIGZvczsKICAgICAgICBsb25nIHN0X3NwYWNlWzIwXTsKICAg
ICAgICBsb25nIHN0YXR1czsKfTsKCnN0cnVjdCBpMzg3X2Z4c2F2ZV9zdHJ1Y3QgewogICAgICAg
IHVuc2lnbmVkIHNob3J0IGN3ZDsKICAgICAgICB1bnNpZ25lZCBzaG9ydCBzd2Q7CiAgICAgICAg
dW5zaWduZWQgc2hvcnQgdHdkOwogICAgICAgIHVuc2lnbmVkIHNob3J0IGZvcDsKICAgICAgICBs
b25nIGZpcDsKICAgICAgICBsb25nIGZjczsKICAgICAgICBsb25nIGZvbzsKICAgICAgICBsb25n
IGZvczsKICAgICAgICBsb25nIG14Y3NyOwogICAgICAgIGxvbmcgcmVzZXJ2ZWQ7CiAgICAgICAg
bG9uZyBzdF9zcGFjZVszMl07CiAgICAgICAgbG9uZyB4bW1fc3BhY2VbMzJdOwogICAgICAgIGxv
bmcgcGFkZGluZ1s1Nl07Cn0gX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQgKDE2KSkpOwoKc3RydWN0
IGkzODdfc29mdF9zdHJ1Y3QgewogICAgICAgIGxvbmcgY3dkOwogICAgICAgIGxvbmcgc3dkOwog
ICAgICAgIGxvbmcgdHdkOwogICAgICAgIGxvbmcgZmlwOwogICAgICAgIGxvbmcgZmNzOwogICAg
ICAgIGxvbmcgZm9vOwogICAgICAgIGxvbmcgZm9zOwogICAgICAgIGxvbmcgc3Rfc3BhY2VbMjBd
OwogICAgICAgIHVuc2lnbmVkIGNoYXIgZnRvcCwgY2hhbmdlZCwgbG9va2FoZWFkLCBub191cGRh
dGUsIHJtLCBhbGltaXQ7CiAgICAgICAgc3RydWN0IGluZm8gKmluZm87CiAgICAgICAgdW5zaWdu
ZWQgbG9uZyBlbnRyeV9laXA7Cn07Cgp1bmlvbiBpMzg3X3VuaW9uIHsKICAgICAgICBzdHJ1Y3Qg
aTM4N19mc2F2ZV9zdHJ1Y3QgZnNhdmU7CiAgICAgICAgc3RydWN0IGkzODdfZnhzYXZlX3N0cnVj
dCBmeHNhdmU7CiAgICAgICAgc3RydWN0IGkzODdfc29mdF9zdHJ1Y3Qgc29mdDsKfTsKCnR5cGVk
ZWYgc3RydWN0IHsKICAgICAgICB1bnNpZ25lZCBsb25nIHNlZzsKfSBtbV9zZWdtZW50X3Q7Cgpz
dHJ1Y3QgdHNzX3N0cnVjdCB7CiAgICAgICAgdW5zaWduZWQgc2hvcnQgYmFja19saW5rLF9fYmxo
OwogICAgICAgIHVuc2lnbmVkIGxvbmcgZXNwMDsKICAgICAgICB1bnNpZ25lZCBzaG9ydCBzczAs
X19zczBoOwogICAgICAgIHVuc2lnbmVkIGxvbmcgZXNwMTsKICAgICAgICB1bnNpZ25lZCBzaG9y
dCBzczEsX19zczFoOwogICAgICAgIHVuc2lnbmVkIGxvbmcgZXNwMjsKICAgICAgICB1bnNpZ25l
ZCBzaG9ydCBzczIsX19zczJoOwogICAgICAgIHVuc2lnbmVkIGxvbmcgX19jcjM7CiAgICAgICAg
dW5zaWduZWQgbG9uZyBlaXA7CiAgICAgICAgdW5zaWduZWQgbG9uZyBlZmxhZ3M7CiAgICAgICAg
dW5zaWduZWQgbG9uZyBlYXgsZWN4LGVkeCxlYng7CiAgICAgICAgdW5zaWduZWQgbG9uZyBlc3A7
CiAgICAgICAgdW5zaWduZWQgbG9uZyBlYnA7CiAgICAgICAgdW5zaWduZWQgbG9uZyBlc2k7CiAg
ICAgICAgdW5zaWduZWQgbG9uZyBlZGk7CiAgICAgICAgdW5zaWduZWQgc2hvcnQgZXMsIF9fZXNo
OwogICAgICAgIHVuc2lnbmVkIHNob3J0IGNzLCBfX2NzaDsKICAgICAgICB1bnNpZ25lZCBzaG9y
dCBzcywgX19zc2g7CiAgICAgICAgdW5zaWduZWQgc2hvcnQgZHMsIF9fZHNoOwogICAgICAgIHVu
c2lnbmVkIHNob3J0IGZzLCBfX2ZzaDsKICAgICAgICB1bnNpZ25lZCBzaG9ydCBncywgX19nc2g7
CiAgICAgICAgdW5zaWduZWQgc2hvcnQgbGR0LCBfX2xkdGg7CiAgICAgICAgdW5zaWduZWQgc2hv
cnQgdHJhY2UsIGJpdG1hcDsKICAgICAgICB1bnNpZ25lZCBsb25nIGlvX2JpdG1hcFszMiArMV07
CgoKCiAgICAgICAgdW5zaWduZWQgbG9uZyBfX2NhY2hlbGluZV9maWxsZXJbNV07Cn07CgpzdHJ1
Y3QgdGhyZWFkX3N0cnVjdCB7CiAgICAgICAgdW5zaWduZWQgbG9uZyBlc3AwOwogICAgICAgIHVu
c2lnbmVkIGxvbmcgZWlwOwogICAgICAgIHVuc2lnbmVkIGxvbmcgZXNwOwogICAgICAgIHVuc2ln
bmVkIGxvbmcgZnM7CiAgICAgICAgdW5zaWduZWQgbG9uZyBnczsKCiAgICAgICAgdW5zaWduZWQg
bG9uZyBkZWJ1Z3JlZ1s4XTsKCiAgICAgICAgdW5zaWduZWQgbG9uZyBjcjIsIHRyYXBfbm8sIGVy
cm9yX2NvZGU7CgogICAgICAgIHVuaW9uIGkzODdfdW5pb24gaTM4NzsKCiAgICAgICAgc3RydWN0
IHZtODZfc3RydWN0ICogdm04Nl9pbmZvOwogICAgICAgIHVuc2lnbmVkIGxvbmcgc2NyZWVuX2Jp
dG1hcDsKICAgICAgICB1bnNpZ25lZCBsb25nIHY4NmZsYWdzLCB2ODZtYXNrLCB2ODZtb2RlLCBz
YXZlZF9lc3AwOwoKICAgICAgICBpbnQgaW9wZXJtOwogICAgICAgIHVuc2lnbmVkIGxvbmcgaW9f
Yml0bWFwWzMyICsxXTsKfTsKIyA0MjQgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1
ZGUvYXNtL3Byb2Nlc3Nvci5oIgpzdHJ1Y3QgdGFza19zdHJ1Y3Q7CnN0cnVjdCBtbV9zdHJ1Y3Q7
CgoKZXh0ZXJuIHZvaWQgcmVsZWFzZV90aHJlYWQoc3RydWN0IHRhc2tfc3RydWN0ICopOwoKCgpl
eHRlcm4gaW50IGtlcm5lbF90aHJlYWRfUjdlOWViYjA1KGludCAoKmZuKSh2b2lkICopLCB2b2lk
ICogYXJnLCB1bnNpZ25lZCBsb25nIGZsYWdzKTsKCgpleHRlcm4gdm9pZCBjb3B5X3NlZ21lbnRz
KHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgc3RydWN0IG1tX3N0cnVjdCAqIG1tKTsKZXh0ZXJuIHZv
aWQgcmVsZWFzZV9zZWdtZW50cyhzdHJ1Y3QgbW1fc3RydWN0ICogbW0pOwoKCgoKc3RhdGljIGlu
bGluZSB1bnNpZ25lZCBsb25nIHRocmVhZF9zYXZlZF9wYyhzdHJ1Y3QgdGhyZWFkX3N0cnVjdCAq
dCkKewogICAgICAgIHJldHVybiAoKHVuc2lnbmVkIGxvbmcgKil0LT5lc3ApWzNdOwp9Cgp1bnNp
Z25lZCBsb25nIGdldF93Y2hhbl9SMmQ4Njk3Zjgoc3RydWN0IHRhc2tfc3RydWN0ICpwKTsKIyA0
NTggIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oIgpz
dHJ1Y3QgbWljcm9jb2RlIHsKICAgICAgICB1bnNpZ25lZCBpbnQgaGRydmVyOwogICAgICAgIHVu
c2lnbmVkIGludCByZXY7CiAgICAgICAgdW5zaWduZWQgaW50IGRhdGU7CiAgICAgICAgdW5zaWdu
ZWQgaW50IHNpZzsKICAgICAgICB1bnNpZ25lZCBpbnQgY2tzdW07CiAgICAgICAgdW5zaWduZWQg
aW50IGxkcnZlcjsKICAgICAgICB1bnNpZ25lZCBpbnQgcGY7CiAgICAgICAgdW5zaWduZWQgaW50
IHJlc2VydmVkWzVdOwogICAgICAgIHVuc2lnbmVkIGludCBiaXRzWzUwMF07Cn07CgoKCgoKc3Rh
dGljIGlubGluZSB2b2lkIHJlcF9ub3Aodm9pZCkKewogICAgICAgIF9fYXNtX18gX192b2xhdGls
ZV9fKCJyZXA7bm9wIik7Cn0KIyAxNCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVk
ZS9saW51eC9wcmVmZXRjaC5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5j
bHVkZS9hc20vY2FjaGUuaCIgMQojIDE1ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNs
dWRlL2xpbnV4L3ByZWZldGNoLmgiIDIKIyA0MyAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAv
aW5jbHVkZS9saW51eC9wcmVmZXRjaC5oIgpzdGF0aWMgaW5saW5lIHZvaWQgcHJlZmV0Y2goY29u
c3Qgdm9pZCAqeCkgezt9CgoKCgpzdGF0aWMgaW5saW5lIHZvaWQgcHJlZmV0Y2h3KGNvbnN0IHZv
aWQgKngpIHs7fQojIDcgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgv
bGlzdC5oIiAyCiMgMTggIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgv
bGlzdC5oIgpzdHJ1Y3QgbGlzdF9oZWFkIHsKICAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICpuZXh0
LCAqcHJldjsKfTsKIyAzNyAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51
eC9saXN0LmgiCnN0YXRpYyBfX2lubGluZV9fIHZvaWQgX19saXN0X2FkZChzdHJ1Y3QgbGlzdF9o
ZWFkICogbmV3LAogICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgKiBwcmV2LAogICAgICAgIHN0cnVj
dCBsaXN0X2hlYWQgKiBuZXh0KQp7CiAgICAgICAgbmV4dC0+cHJldiA9IG5ldzsKICAgICAgICBu
ZXctPm5leHQgPSBuZXh0OwogICAgICAgIG5ldy0+cHJldiA9IHByZXY7CiAgICAgICAgcHJldi0+
bmV4dCA9IG5ldzsKfQojIDU1ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xp
bnV4L2xpc3QuaCIKc3RhdGljIF9faW5saW5lX18gdm9pZCBsaXN0X2FkZChzdHJ1Y3QgbGlzdF9o
ZWFkICpuZXcsIHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQpCnsKICAgICAgICBfX2xpc3RfYWRkKG5l
dywgaGVhZCwgaGVhZC0+bmV4dCk7Cn0KIyA2OCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAv
aW5jbHVkZS9saW51eC9saXN0LmgiCnN0YXRpYyBfX2lubGluZV9fIHZvaWQgbGlzdF9hZGRfdGFp
bChzdHJ1Y3QgbGlzdF9oZWFkICpuZXcsIHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQpCnsKICAgICAg
ICBfX2xpc3RfYWRkKG5ldywgaGVhZC0+cHJldiwgaGVhZCk7Cn0KIyA4MCAiL3Vzci9zcmMvcnVk
by9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9saXN0LmgiCnN0YXRpYyBfX2lubGluZV9fIHZv
aWQgX19saXN0X2RlbChzdHJ1Y3QgbGlzdF9oZWFkICogcHJldiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgKiBuZXh0KQp7CiAgICAgICAgbmV4dC0+
cHJldiA9IHByZXY7CiAgICAgICAgcHJldi0+bmV4dCA9IG5leHQ7Cn0KCgoKCgoKc3RhdGljIF9f
aW5saW5lX18gdm9pZCBsaXN0X2RlbChzdHJ1Y3QgbGlzdF9oZWFkICplbnRyeSkKewogICAgICAg
IF9fbGlzdF9kZWwoZW50cnktPnByZXYsIGVudHJ5LT5uZXh0KTsKICAgICAgICBlbnRyeS0+bmV4
dCA9IGVudHJ5LT5wcmV2ID0gMDsKfQoKCgoKCnN0YXRpYyBfX2lubGluZV9fIHZvaWQgbGlzdF9k
ZWxfaW5pdChzdHJ1Y3QgbGlzdF9oZWFkICplbnRyeSkKewogICAgICAgIF9fbGlzdF9kZWwoZW50
cnktPnByZXYsIGVudHJ5LT5uZXh0KTsKICAgICAgICBkbyB7IChlbnRyeSktPm5leHQgPSAoZW50
cnkpOyAoZW50cnkpLT5wcmV2ID0gKGVudHJ5KTsgfSB3aGlsZSAoMCk7Cn0KCgoKCgpzdGF0aWMg
X19pbmxpbmVfXyBpbnQgbGlzdF9lbXB0eShzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKQp7CiAgICAg
ICAgcmV0dXJuIGhlYWQtPm5leHQgPT0gaGVhZDsKfQoKCgoKCgpzdGF0aWMgX19pbmxpbmVfXyB2
b2lkIGxpc3Rfc3BsaWNlKHN0cnVjdCBsaXN0X2hlYWQgKmxpc3QsIHN0cnVjdCBsaXN0X2hlYWQg
KmhlYWQpCnsKICAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICpmaXJzdCA9IGxpc3QtPm5leHQ7Cgog
ICAgICAgIGlmIChmaXJzdCAhPSBsaXN0KSB7CiAgICAgICAgICAgICAgICBzdHJ1Y3QgbGlzdF9o
ZWFkICpsYXN0ID0gbGlzdC0+cHJldjsKICAgICAgICAgICAgICAgIHN0cnVjdCBsaXN0X2hlYWQg
KmF0ID0gaGVhZC0+bmV4dDsKCiAgICAgICAgICAgICAgICBmaXJzdC0+cHJldiA9IGhlYWQ7CiAg
ICAgICAgICAgICAgICBoZWFkLT5uZXh0ID0gZmlyc3Q7CgogICAgICAgICAgICAgICAgbGFzdC0+
bmV4dCA9IGF0OwogICAgICAgICAgICAgICAgYXQtPnByZXYgPSBsYXN0OwogICAgICAgIH0KfQoj
IDEzICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21vZHVsZS5oIiAy
CiMgMjUgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlLmgi
CiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9hc20vYXRvbWljLmgiIDEK
CgoKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L2NvbmZpZy5o
IiAxCiMgNSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9hc20vYXRvbWljLmgi
IDIKIyAyMiAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9hc20vYXRvbWljLmgi
CnR5cGVkZWYgc3RydWN0IHsgdm9sYXRpbGUgaW50IGNvdW50ZXI7IH0gYXRvbWljX3Q7CiMgNTMg
Ii91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvYXNtL2F0b21pYy5oIgpzdGF0aWMg
X19pbmxpbmVfXyB2b2lkIGF0b21pY19hZGQoaW50IGksIGF0b21pY190ICp2KQp7CiAgICAgICAg
X19hc21fXyBfX3ZvbGF0aWxlX18oCiAgICAgICAgICAgICAgICAiIiAiYWRkbCAlMSwlMCIKICAg
ICAgICAgICAgICAgIDoiPW0iICh2LT5jb3VudGVyKQogICAgICAgICAgICAgICAgOiJpciIgKGkp
LCAibSIgKHYtPmNvdW50ZXIpKTsKfQojIDY5ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9p
bmNsdWRlL2FzbS9hdG9taWMuaCIKc3RhdGljIF9faW5saW5lX18gdm9pZCBhdG9taWNfc3ViKGlu
dCBpLCBhdG9taWNfdCAqdikKewogICAgICAgIF9fYXNtX18gX192b2xhdGlsZV9fKAogICAgICAg
ICAgICAgICAgIiIgInN1YmwgJTEsJTAiCiAgICAgICAgICAgICAgICA6Ij1tIiAodi0+Y291bnRl
cikKICAgICAgICAgICAgICAgIDoiaXIiIChpKSwgIm0iICh2LT5jb3VudGVyKSk7Cn0KIyA4NyAi
L3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9hc20vYXRvbWljLmgiCnN0YXRpYyBf
X2lubGluZV9fIGludCBhdG9taWNfc3ViX2FuZF90ZXN0KGludCBpLCBhdG9taWNfdCAqdikKewog
ICAgICAgIHVuc2lnbmVkIGNoYXIgYzsKCiAgICAgICAgX19hc21fXyBfX3ZvbGF0aWxlX18oCiAg
ICAgICAgICAgICAgICAiIiAic3VibCAlMiwlMDsgc2V0ZSAlMSIKICAgICAgICAgICAgICAgIDoi
PW0iICh2LT5jb3VudGVyKSwgIj1xbSIgKGMpCiAgICAgICAgICAgICAgICA6ImlyIiAoaSksICJt
IiAodi0+Y291bnRlcikgOiAibWVtb3J5Iik7CiAgICAgICAgcmV0dXJuIGM7Cn0KIyAxMDUgIi91
c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvYXNtL2F0b21pYy5oIgpzdGF0aWMgX19p
bmxpbmVfXyB2b2lkIGF0b21pY19pbmMoYXRvbWljX3QgKnYpCnsKICAgICAgICBfX2FzbV9fIF9f
dm9sYXRpbGVfXygKICAgICAgICAgICAgICAgICIiICJpbmNsICUwIgogICAgICAgICAgICAgICAg
OiI9bSIgKHYtPmNvdW50ZXIpCiAgICAgICAgICAgICAgICA6Im0iICh2LT5jb3VudGVyKSk7Cn0K
IyAxMjAgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvYXNtL2F0b21pYy5oIgpz
dGF0aWMgX19pbmxpbmVfXyB2b2lkIGF0b21pY19kZWMoYXRvbWljX3QgKnYpCnsKICAgICAgICBf
X2FzbV9fIF9fdm9sYXRpbGVfXygKICAgICAgICAgICAgICAgICIiICJkZWNsICUwIgogICAgICAg
ICAgICAgICAgOiI9bSIgKHYtPmNvdW50ZXIpCiAgICAgICAgICAgICAgICA6Im0iICh2LT5jb3Vu
dGVyKSk7Cn0KIyAxMzcgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvYXNtL2F0
b21pYy5oIgpzdGF0aWMgX19pbmxpbmVfXyBpbnQgYXRvbWljX2RlY19hbmRfdGVzdChhdG9taWNf
dCAqdikKewogICAgICAgIHVuc2lnbmVkIGNoYXIgYzsKCiAgICAgICAgX19hc21fXyBfX3ZvbGF0
aWxlX18oCiAgICAgICAgICAgICAgICAiIiAiZGVjbCAlMDsgc2V0ZSAlMSIKICAgICAgICAgICAg
ICAgIDoiPW0iICh2LT5jb3VudGVyKSwgIj1xbSIgKGMpCiAgICAgICAgICAgICAgICA6Im0iICh2
LT5jb3VudGVyKSA6ICJtZW1vcnkiKTsKICAgICAgICByZXR1cm4gYyAhPSAwOwp9CiMgMTU3ICIv
dXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2FzbS9hdG9taWMuaCIKc3RhdGljIF9f
aW5saW5lX18gaW50IGF0b21pY19pbmNfYW5kX3Rlc3QoYXRvbWljX3QgKnYpCnsKICAgICAgICB1
bnNpZ25lZCBjaGFyIGM7CgogICAgICAgIF9fYXNtX18gX192b2xhdGlsZV9fKAogICAgICAgICAg
ICAgICAgIiIgImluY2wgJTA7IHNldGUgJTEiCiAgICAgICAgICAgICAgICA6Ij1tIiAodi0+Y291
bnRlciksICI9cW0iIChjKQogICAgICAgICAgICAgICAgOiJtIiAodi0+Y291bnRlcikgOiAibWVt
b3J5Iik7CiAgICAgICAgcmV0dXJuIGMgIT0gMDsKfQojIDE3OCAiL3Vzci9zcmMvcnVkby9saW51
eC0yLjQuMTAvaW5jbHVkZS9hc20vYXRvbWljLmgiCnN0YXRpYyBfX2lubGluZV9fIGludCBhdG9t
aWNfYWRkX25lZ2F0aXZlKGludCBpLCBhdG9taWNfdCAqdikKewogICAgICAgIHVuc2lnbmVkIGNo
YXIgYzsKCiAgICAgICAgX19hc21fXyBfX3ZvbGF0aWxlX18oCiAgICAgICAgICAgICAgICAiIiAi
YWRkbCAlMiwlMDsgc2V0cyAlMSIKICAgICAgICAgICAgICAgIDoiPW0iICh2LT5jb3VudGVyKSwg
Ij1xbSIgKGMpCiAgICAgICAgICAgICAgICA6ImlyIiAoaSksICJtIiAodi0+Y291bnRlcikgOiAi
bWVtb3J5Iik7CiAgICAgICAgcmV0dXJuIGM7Cn0KIyAyNiAiL3Vzci9zcmMvcnVkby9saW51eC0y
LjQuMTAvaW5jbHVkZS9saW51eC9tb2R1bGUuaCIgMgoKCnN0cnVjdCBleGNlcHRpb25fdGFibGVf
ZW50cnk7CgoKc3RydWN0IGtlcm5lbF9zeW0KewogICAgICAgIHVuc2lnbmVkIGxvbmcgdmFsdWU7
CiAgICAgICAgY2hhciBuYW1lWzYwXTsKfTsKCnN0cnVjdCBtb2R1bGVfc3ltYm9sCnsKICAgICAg
ICB1bnNpZ25lZCBsb25nIHZhbHVlOwogICAgICAgIGNvbnN0IGNoYXIgKm5hbWU7Cn07CgpzdHJ1
Y3QgbW9kdWxlX3JlZgp7CiAgICAgICAgc3RydWN0IG1vZHVsZSAqZGVwOwogICAgICAgIHN0cnVj
dCBtb2R1bGUgKnJlZjsKICAgICAgICBzdHJ1Y3QgbW9kdWxlX3JlZiAqbmV4dF9yZWY7Cn07CgoK
c3RydWN0IG1vZHVsZV9wZXJzaXN0OwoKc3RydWN0IG1vZHVsZQp7CiAgICAgICAgdW5zaWduZWQg
bG9uZyBzaXplX29mX3N0cnVjdDsKICAgICAgICBzdHJ1Y3QgbW9kdWxlICpuZXh0OwogICAgICAg
IGNvbnN0IGNoYXIgKm5hbWU7CiAgICAgICAgdW5zaWduZWQgbG9uZyBzaXplOwoKICAgICAgICB1
bmlvbgogICAgICAgIHsKICAgICAgICAgICAgICAgIGF0b21pY190IHVzZWNvdW50OwogICAgICAg
ICAgICAgICAgbG9uZyBwYWQ7CiAgICAgICAgfSB1YzsKCiAgICAgICAgdW5zaWduZWQgbG9uZyBm
bGFnczsKCiAgICAgICAgdW5zaWduZWQgbnN5bXM7CiAgICAgICAgdW5zaWduZWQgbmRlcHM7Cgog
ICAgICAgIHN0cnVjdCBtb2R1bGVfc3ltYm9sICpzeW1zOwogICAgICAgIHN0cnVjdCBtb2R1bGVf
cmVmICpkZXBzOwogICAgICAgIHN0cnVjdCBtb2R1bGVfcmVmICpyZWZzOwogICAgICAgIGludCAo
KmluaXQpKHZvaWQpOwogICAgICAgIHZvaWQgKCpjbGVhbnVwKSh2b2lkKTsKICAgICAgICBjb25z
dCBzdHJ1Y3QgZXhjZXB0aW9uX3RhYmxlX2VudHJ5ICpleF90YWJsZV9zdGFydDsKICAgICAgICBj
b25zdCBzdHJ1Y3QgZXhjZXB0aW9uX3RhYmxlX2VudHJ5ICpleF90YWJsZV9lbmQ7CgoKCgoKCiAg
ICAgICAgY29uc3Qgc3RydWN0IG1vZHVsZV9wZXJzaXN0ICpwZXJzaXN0X3N0YXJ0OwogICAgICAg
IGNvbnN0IHN0cnVjdCBtb2R1bGVfcGVyc2lzdCAqcGVyc2lzdF9lbmQ7CiAgICAgICAgaW50ICgq
Y2FuX3VubG9hZCkodm9pZCk7CiAgICAgICAgaW50IHJ1bnNpemU7CiAgICAgICAgY29uc3QgY2hh
ciAqa2FsbHN5bXNfc3RhcnQ7CiAgICAgICAgY29uc3QgY2hhciAqa2FsbHN5bXNfZW5kOwogICAg
ICAgIGNvbnN0IGNoYXIgKmFyY2hkYXRhX3N0YXJ0OwogICAgICAgIGNvbnN0IGNoYXIgKmFyY2hk
YXRhX2VuZDsKICAgICAgICBjb25zdCBjaGFyICprZXJuZWxfZGF0YTsKfTsKCnN0cnVjdCBtb2R1
bGVfaW5mbwp7CiAgICAgICAgdW5zaWduZWQgbG9uZyBhZGRyOwogICAgICAgIHVuc2lnbmVkIGxv
bmcgc2l6ZTsKICAgICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwogICAgICAgIGxvbmcgdXNlY291
bnQ7Cn07CiMgMTgzICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21v
ZHVsZS5oIgpleHRlcm4gdm9pZCBpbnRlcl9tb2R1bGVfcmVnaXN0ZXJfUjYyZGFkYTA1KGNvbnN0
IGNoYXIgKiwgc3RydWN0IG1vZHVsZSAqLCBjb25zdCB2b2lkICopOwpleHRlcm4gdm9pZCBpbnRl
cl9tb2R1bGVfdW5yZWdpc3Rlcl9SN2E5ZTg0NWUoY29uc3QgY2hhciAqKTsKZXh0ZXJuIGNvbnN0
IHZvaWQgKmludGVyX21vZHVsZV9nZXRfUmY2YTBjZTI0KGNvbnN0IGNoYXIgKik7CmV4dGVybiBj
b25zdCB2b2lkICppbnRlcl9tb2R1bGVfZ2V0X3JlcXVlc3RfUmI2OWY4MjZiKGNvbnN0IGNoYXIg
KiwgY29uc3QgY2hhciAqKTsKZXh0ZXJuIHZvaWQgaW50ZXJfbW9kdWxlX3B1dF9SNmI5OWY3ZDgo
Y29uc3QgY2hhciAqKTsKCnN0cnVjdCBpbnRlcl9tb2R1bGVfZW50cnkgewogICAgICAgIHN0cnVj
dCBsaXN0X2hlYWQgbGlzdDsKICAgICAgICBjb25zdCBjaGFyICppbV9uYW1lOwogICAgICAgIHN0
cnVjdCBtb2R1bGUgKm93bmVyOwogICAgICAgIGNvbnN0IHZvaWQgKnVzZXJkYXRhOwp9OwoKZXh0
ZXJuIGludCB0cnlfaW5jX21vZF9jb3VudF9SZTYxMDViMjMoc3RydWN0IG1vZHVsZSAqbW9kKTsK
IyAyOTIgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlLmgi
CmV4dGVybiBzdHJ1Y3QgbW9kdWxlIF9fdGhpc19tb2R1bGU7CgoKCgoKCiMgMSAiL3Vzci9zcmMv
cnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC92ZXJzaW9uLmgiIDEKIyAzMDAgIi91c3Iv
c3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW9kdWxlLmgiIDIKc3RhdGljIGNv
bnN0IGNoYXIgX19tb2R1bGVfa2VybmVsX3ZlcnNpb25bXSBfX2F0dHJpYnV0ZV9fKChzZWN0aW9u
KCIubW9kaW5mbyIpKSkgPQoia2VybmVsX3ZlcnNpb249IiAiMi40LjEwIjsKCnN0YXRpYyBjb25z
dCBjaGFyIF9fbW9kdWxlX3VzaW5nX2NoZWNrc3Vtc1tdIF9fYXR0cmlidXRlX18oKHNlY3Rpb24o
Ii5tb2RpbmZvIikpKSA9CiJ1c2luZ19jaGVja3N1bXM9MSI7CiMgMjQgInVzYi11aGNpLmMiIDIK
IyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L3BjaS5oIiAxCiMg
Mjc2ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L3BjaS5oIgojIDEg
Ii91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvcGNpX2lkcy5oIiAxCiMg
Mjc3ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L3BjaS5oIiAyCiMg
Mjk5ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L3BjaS5oIgojIDEg
Ii91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvdHlwZXMuaCIgMQoKCgoK
IyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L2NvbmZpZy5oIiAx
CiMgNiAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC90eXBlcy5oIiAy
CgoKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L3Bvc2l4X3R5
cGVzLmgiIDEKCgoKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4
L3N0ZGRlZi5oIiAxCiMgNSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51
eC9wb3NpeF90eXBlcy5oIiAyCiMgMzYgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1
ZGUvbGludXgvcG9zaXhfdHlwZXMuaCIKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIHVuc2lnbmVk
IGxvbmcgZmRzX2JpdHMgWygxMDI0Lyg4ICogc2l6ZW9mKHVuc2lnbmVkIGxvbmcpKSldOwp9IF9f
a2VybmVsX2ZkX3NldDsKCgp0eXBlZGVmIHZvaWQgKCpfX2tlcm5lbF9zaWdoYW5kbGVyX3QpKGlu
dCk7CgoKdHlwZWRlZiBpbnQgX19rZXJuZWxfa2V5X3Q7CgojIDEgIi91c3Ivc3JjL3J1ZG8vbGlu
dXgtMi40LjEwL2luY2x1ZGUvYXNtL3Bvc2l4X3R5cGVzLmgiIDEKIyAxMCAiL3Vzci9zcmMvcnVk
by9saW51eC0yLjQuMTAvaW5jbHVkZS9hc20vcG9zaXhfdHlwZXMuaCIKdHlwZWRlZiB1bnNpZ25l
ZCBzaG9ydCBfX2tlcm5lbF9kZXZfdDsKdHlwZWRlZiB1bnNpZ25lZCBsb25nIF9fa2VybmVsX2lu
b190Owp0eXBlZGVmIHVuc2lnbmVkIHNob3J0IF9fa2VybmVsX21vZGVfdDsKdHlwZWRlZiB1bnNp
Z25lZCBzaG9ydCBfX2tlcm5lbF9ubGlua190Owp0eXBlZGVmIGxvbmcgX19rZXJuZWxfb2ZmX3Q7
CnR5cGVkZWYgaW50IF9fa2VybmVsX3BpZF90Owp0eXBlZGVmIHVuc2lnbmVkIHNob3J0IF9fa2Vy
bmVsX2lwY19waWRfdDsKdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBfX2tlcm5lbF91aWRfdDsKdHlw
ZWRlZiB1bnNpZ25lZCBzaG9ydCBfX2tlcm5lbF9naWRfdDsKdHlwZWRlZiB1bnNpZ25lZCBpbnQg
X19rZXJuZWxfc2l6ZV90Owp0eXBlZGVmIGludCBfX2tlcm5lbF9zc2l6ZV90Owp0eXBlZGVmIGlu
dCBfX2tlcm5lbF9wdHJkaWZmX3Q7CnR5cGVkZWYgbG9uZyBfX2tlcm5lbF90aW1lX3Q7CnR5cGVk
ZWYgbG9uZyBfX2tlcm5lbF9zdXNlY29uZHNfdDsKdHlwZWRlZiBsb25nIF9fa2VybmVsX2Nsb2Nr
X3Q7CnR5cGVkZWYgaW50IF9fa2VybmVsX2RhZGRyX3Q7CnR5cGVkZWYgY2hhciAqIF9fa2VybmVs
X2NhZGRyX3Q7CnR5cGVkZWYgdW5zaWduZWQgc2hvcnQgX19rZXJuZWxfdWlkMTZfdDsKdHlwZWRl
ZiB1bnNpZ25lZCBzaG9ydCBfX2tlcm5lbF9naWQxNl90Owp0eXBlZGVmIHVuc2lnbmVkIGludCBf
X2tlcm5lbF91aWQzMl90Owp0eXBlZGVmIHVuc2lnbmVkIGludCBfX2tlcm5lbF9naWQzMl90OwoK
dHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBfX2tlcm5lbF9vbGRfdWlkX3Q7CnR5cGVkZWYgdW5zaWdu
ZWQgc2hvcnQgX19rZXJuZWxfb2xkX2dpZF90OwoKCnR5cGVkZWYgbG9uZyBsb25nIF9fa2VybmVs
X2xvZmZfdDsKCgp0eXBlZGVmIHN0cnVjdCB7CgogICAgICAgIGludCB2YWxbMl07CgoKCn0gX19r
ZXJuZWxfZnNpZF90OwojIDQ3ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xp
bnV4L3Bvc2l4X3R5cGVzLmgiIDIKIyA5ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNs
dWRlL2xpbnV4L3R5cGVzLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNs
dWRlL2FzbS90eXBlcy5oIiAxCiMgMTAgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1
ZGUvbGludXgvdHlwZXMuaCIgMgoKCgp0eXBlZGVmIF9fa2VybmVsX2ZkX3NldCBmZF9zZXQ7CnR5
cGVkZWYgX19rZXJuZWxfZGV2X3QgZGV2X3Q7CnR5cGVkZWYgX19rZXJuZWxfaW5vX3QgaW5vX3Q7
CnR5cGVkZWYgX19rZXJuZWxfbW9kZV90IG1vZGVfdDsKdHlwZWRlZiBfX2tlcm5lbF9ubGlua190
IG5saW5rX3Q7CnR5cGVkZWYgX19rZXJuZWxfb2ZmX3Qgb2ZmX3Q7CnR5cGVkZWYgX19rZXJuZWxf
cGlkX3QgcGlkX3Q7CnR5cGVkZWYgX19rZXJuZWxfZGFkZHJfdCBkYWRkcl90Owp0eXBlZGVmIF9f
a2VybmVsX2tleV90IGtleV90Owp0eXBlZGVmIF9fa2VybmVsX3N1c2Vjb25kc190IHN1c2Vjb25k
c190OwoKCnR5cGVkZWYgX19rZXJuZWxfdWlkMzJfdCB1aWRfdDsKdHlwZWRlZiBfX2tlcm5lbF9n
aWQzMl90IGdpZF90Owp0eXBlZGVmIF9fa2VybmVsX3VpZDE2X3QgdWlkMTZfdDsKdHlwZWRlZiBf
X2tlcm5lbF9naWQxNl90IGdpZDE2X3Q7CgoKCnR5cGVkZWYgX19rZXJuZWxfb2xkX3VpZF90IG9s
ZF91aWRfdDsKdHlwZWRlZiBfX2tlcm5lbF9vbGRfZ2lkX3Qgb2xkX2dpZF90OwojIDQ1ICIvdXNy
L3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L3R5cGVzLmgiCnR5cGVkZWYgX19r
ZXJuZWxfbG9mZl90IGxvZmZfdDsKIyA1NCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5j
bHVkZS9saW51eC90eXBlcy5oIgp0eXBlZGVmIF9fa2VybmVsX3NpemVfdCBzaXplX3Q7CgoKCgp0
eXBlZGVmIF9fa2VybmVsX3NzaXplX3Qgc3NpemVfdDsKCgoKCnR5cGVkZWYgX19rZXJuZWxfcHRy
ZGlmZl90IHB0cmRpZmZfdDsKCgoKCnR5cGVkZWYgX19rZXJuZWxfdGltZV90IHRpbWVfdDsKCgoK
CnR5cGVkZWYgX19rZXJuZWxfY2xvY2tfdCBjbG9ja190OwoKCgoKdHlwZWRlZiBfX2tlcm5lbF9j
YWRkcl90IGNhZGRyX3Q7CgoKCnR5cGVkZWYgdW5zaWduZWQgY2hhciB1X2NoYXI7CnR5cGVkZWYg
dW5zaWduZWQgc2hvcnQgdV9zaG9ydDsKdHlwZWRlZiB1bnNpZ25lZCBpbnQgdV9pbnQ7CnR5cGVk
ZWYgdW5zaWduZWQgbG9uZyB1X2xvbmc7CgoKdHlwZWRlZiB1bnNpZ25lZCBjaGFyIHVuY2hhcjsK
dHlwZWRlZiB1bnNpZ25lZCBzaG9ydCB1c2hvcnQ7CnR5cGVkZWYgdW5zaWduZWQgaW50IHVpbnQ7
CnR5cGVkZWYgdW5zaWduZWQgbG9uZyB1bG9uZzsKCgoKCnR5cGVkZWYgX191OCB1X2ludDhfdDsK
dHlwZWRlZiBfX3M4IGludDhfdDsKdHlwZWRlZiBfX3UxNiB1X2ludDE2X3Q7CnR5cGVkZWYgX19z
MTYgaW50MTZfdDsKdHlwZWRlZiBfX3UzMiB1X2ludDMyX3Q7CnR5cGVkZWYgX19zMzIgaW50MzJf
dDsKCgoKdHlwZWRlZiBfX3U4IHVpbnQ4X3Q7CnR5cGVkZWYgX191MTYgdWludDE2X3Q7CnR5cGVk
ZWYgX191MzIgdWludDMyX3Q7CgoKdHlwZWRlZiBfX3U2NCB1aW50NjRfdDsKdHlwZWRlZiBfX3U2
NCB1X2ludDY0X3Q7CnR5cGVkZWYgX19zNjQgaW50NjRfdDsKIyAxMjMgIi91c3Ivc3JjL3J1ZG8v
bGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvdHlwZXMuaCIKc3RydWN0IHVzdGF0IHsKICAgICAg
ICBfX2tlcm5lbF9kYWRkcl90IGZfdGZyZWU7CiAgICAgICAgX19rZXJuZWxfaW5vX3QgZl90aW5v
ZGU7CiAgICAgICAgY2hhciBmX2ZuYW1lWzZdOwogICAgICAgIGNoYXIgZl9mcGFja1s2XTsKfTsK
IyAzMDAgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvcGNpLmgiIDIK
IyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L2NvbmZpZy5oIiAx
CiMgMzAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L3BjaS5oIiAy
CiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9pb3BvcnQuaCIg
MQojIDE1ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L2lvcG9ydC5o
IgpzdHJ1Y3QgcmVzb3VyY2UgewogICAgICAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgICAgICAgdW5z
aWduZWQgbG9uZyBzdGFydCwgZW5kOwogICAgICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAgICAg
ICAgc3RydWN0IHJlc291cmNlICpwYXJlbnQsICpzaWJsaW5nLCAqY2hpbGQ7Cn07CgpzdHJ1Y3Qg
cmVzb3VyY2VfbGlzdCB7CiAgICAgICAgc3RydWN0IHJlc291cmNlX2xpc3QgKm5leHQ7CiAgICAg
ICAgc3RydWN0IHJlc291cmNlICpyZXM7CiAgICAgICAgc3RydWN0IHBjaV9kZXYgKmRldjsKfTsK
IyA4MyAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9pb3BvcnQuaCIK
ZXh0ZXJuIHN0cnVjdCByZXNvdXJjZSBpb3BvcnRfcmVzb3VyY2VfUjg2NWViY2NkOwpleHRlcm4g
c3RydWN0IHJlc291cmNlIGlvbWVtX3Jlc291cmNlX1I5ZWZlZDVhZjsKCmV4dGVybiBpbnQgZ2V0
X3Jlc291cmNlX2xpc3Qoc3RydWN0IHJlc291cmNlICosIGNoYXIgKmJ1ZiwgaW50IHNpemUpOwoK
ZXh0ZXJuIGludCBjaGVja19yZXNvdXJjZV9SZDhkNzhhYWEoc3RydWN0IHJlc291cmNlICpyb290
LCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nKTsKZXh0ZXJuIGludCByZXF1ZXN0X3Jlc291
cmNlX1I0MTY4NWNmYihzdHJ1Y3QgcmVzb3VyY2UgKnJvb3QsIHN0cnVjdCByZXNvdXJjZSAqbmV3
KTsKZXh0ZXJuIGludCByZWxlYXNlX3Jlc291cmNlX1I4MTRlODQwNyhzdHJ1Y3QgcmVzb3VyY2Ug
Km5ldyk7CmV4dGVybiBpbnQgYWxsb2NhdGVfcmVzb3VyY2VfUmE3MTU4MTJiKHN0cnVjdCByZXNv
dXJjZSAqcm9vdCwgc3RydWN0IHJlc291cmNlICpuZXcsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgbG9uZyBzaXplLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu
c2lnbmVkIGxvbmcgbWluLCB1bnNpZ25lZCBsb25nIG1heCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBsb25nIGFsaWduLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHZvaWQgKCphbGlnbmYpKHZvaWQgKiwgc3RydWN0IHJlc291cmNlICosIHVuc2lnbmVkIGxvbmcp
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmFsaWduZl9kYXRhKTsKCgoKCgpl
eHRlcm4gc3RydWN0IHJlc291cmNlICogX19yZXF1ZXN0X3JlZ2lvbl9SMWExYTRmMDkoc3RydWN0
IHJlc291cmNlICosIHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgbiwgY29uc3Qg
Y2hhciAqbmFtZSk7CgoKCgoKCgpleHRlcm4gaW50IF9fY2hlY2tfcmVnaW9uX1JmMWQwY2RhYihz
dHJ1Y3QgcmVzb3VyY2UgKiwgdW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZyk7CmV4dGVybiB2
b2lkIF9fcmVsZWFzZV9yZWdpb25fUmQ0OTUwMWQ0KHN0cnVjdCByZXNvdXJjZSAqLCB1bnNpZ25l
ZCBsb25nLCB1bnNpZ25lZCBsb25nKTsKCgoKCgpleHRlcm4gdm9pZCBhdXRvaXJxX3NldHVwX1I1
YTVhMjI4MChpbnQgd2FpdHRpbWUpOwpleHRlcm4gaW50IGF1dG9pcnFfcmVwb3J0X1I4NDUzMGM1
MyhpbnQgd2FpdHRpbWUpOwojIDMwMiAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVk
ZS9saW51eC9wY2kuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUv
bGludXgvbGlzdC5oIiAxCiMgMzAzICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRl
L2xpbnV4L3BjaS5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9s
aW51eC9lcnJuby5oIiAxCgoKCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVk
ZS9hc20vZXJybm8uaCIgMQojIDUgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUv
bGludXgvZXJybm8uaCIgMgojIDMwNCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVk
ZS9saW51eC9wY2kuaCIgMgoKCmVudW0gcGNpX21tYXBfc3RhdGUgewogICAgICAgIHBjaV9tbWFw
X2lvLAogICAgICAgIHBjaV9tbWFwX21lbQp9OwojIDMzNiAiL3Vzci9zcmMvcnVkby9saW51eC0y
LjQuMTAvaW5jbHVkZS9saW51eC9wY2kuaCIKc3RydWN0IHBjaV9kZXYgewogICAgICAgIHN0cnVj
dCBsaXN0X2hlYWQgZ2xvYmFsX2xpc3Q7CiAgICAgICAgc3RydWN0IGxpc3RfaGVhZCBidXNfbGlz
dDsKICAgICAgICBzdHJ1Y3QgcGNpX2J1cyAqYnVzOwogICAgICAgIHN0cnVjdCBwY2lfYnVzICpz
dWJvcmRpbmF0ZTsKCiAgICAgICAgdm9pZCAqc3lzZGF0YTsKICAgICAgICBzdHJ1Y3QgcHJvY19k
aXJfZW50cnkgKnByb2NlbnQ7CgogICAgICAgIHVuc2lnbmVkIGludCBkZXZmbjsKICAgICAgICB1
bnNpZ25lZCBzaG9ydCB2ZW5kb3I7CiAgICAgICAgdW5zaWduZWQgc2hvcnQgZGV2aWNlOwogICAg
ICAgIHVuc2lnbmVkIHNob3J0IHN1YnN5c3RlbV92ZW5kb3I7CiAgICAgICAgdW5zaWduZWQgc2hv
cnQgc3Vic3lzdGVtX2RldmljZTsKICAgICAgICB1bnNpZ25lZCBpbnQgY2xhc3M7CiAgICAgICAg
dTggaGRyX3R5cGU7CiAgICAgICAgdTggcm9tX2Jhc2VfcmVnOwoKICAgICAgICBzdHJ1Y3QgcGNp
X2RyaXZlciAqZHJpdmVyOwogICAgICAgIHZvaWQgKmRyaXZlcl9kYXRhOwogICAgICAgIGRtYV9h
ZGRyX3QgZG1hX21hc2s7CgoKCgoKICAgICAgICB1MzIgY3VycmVudF9zdGF0ZTsKCgoKCiAgICAg
ICAgdW5zaWduZWQgc2hvcnQgdmVuZG9yX2NvbXBhdGlibGVbNF07CiAgICAgICAgdW5zaWduZWQg
c2hvcnQgZGV2aWNlX2NvbXBhdGlibGVbNF07CgoKCgoKICAgICAgICB1bnNpZ25lZCBpbnQgaXJx
OwogICAgICAgIHN0cnVjdCByZXNvdXJjZSByZXNvdXJjZVsxMl07CiAgICAgICAgc3RydWN0IHJl
c291cmNlIGRtYV9yZXNvdXJjZVsyXTsKICAgICAgICBzdHJ1Y3QgcmVzb3VyY2UgaXJxX3Jlc291
cmNlWzJdOwoKICAgICAgICBjaGFyIG5hbWVbODBdOwogICAgICAgIGNoYXIgc2xvdF9uYW1lWzhd
OwogICAgICAgIGludCBhY3RpdmU7CiAgICAgICAgaW50IHJvOwogICAgICAgIHVuc2lnbmVkIHNo
b3J0IHJlZ3M7CgogICAgICAgIGludCAoKnByZXBhcmUpKHN0cnVjdCBwY2lfZGV2ICpkZXYpOwog
ICAgICAgIGludCAoKmFjdGl2YXRlKShzdHJ1Y3QgcGNpX2RldiAqZGV2KTsKICAgICAgICBpbnQg
KCpkZWFjdGl2YXRlKShzdHJ1Y3QgcGNpX2RldiAqZGV2KTsKfTsKIyA0MDcgIi91c3Ivc3JjL3J1
ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvcGNpLmgiCnN0cnVjdCBwY2lfYnVzIHsKICAg
ICAgICBzdHJ1Y3QgbGlzdF9oZWFkIG5vZGU7CiAgICAgICAgc3RydWN0IHBjaV9idXMgKnBhcmVu
dDsKICAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkIGNoaWxkcmVuOwogICAgICAgIHN0cnVjdCBsaXN0
X2hlYWQgZGV2aWNlczsKICAgICAgICBzdHJ1Y3QgcGNpX2RldiAqc2VsZjsKICAgICAgICBzdHJ1
Y3QgcmVzb3VyY2UgKnJlc291cmNlWzRdOwoKICAgICAgICBzdHJ1Y3QgcGNpX29wcyAqb3BzOwog
ICAgICAgIHZvaWQgKnN5c2RhdGE7CiAgICAgICAgc3RydWN0IHByb2NfZGlyX2VudHJ5ICpwcm9j
ZGlyOwoKICAgICAgICB1bnNpZ25lZCBjaGFyIG51bWJlcjsKICAgICAgICB1bnNpZ25lZCBjaGFy
IHByaW1hcnk7CiAgICAgICAgdW5zaWduZWQgY2hhciBzZWNvbmRhcnk7CiAgICAgICAgdW5zaWdu
ZWQgY2hhciBzdWJvcmRpbmF0ZTsKCiAgICAgICAgY2hhciBuYW1lWzQ4XTsKICAgICAgICB1bnNp
Z25lZCBzaG9ydCB2ZW5kb3I7CiAgICAgICAgdW5zaWduZWQgc2hvcnQgZGV2aWNlOwogICAgICAg
IHVuc2lnbmVkIGludCBzZXJpYWw7CiAgICAgICAgdW5zaWduZWQgY2hhciBwbnB2ZXI7CiAgICAg
ICAgdW5zaWduZWQgY2hhciBwcm9kdWN0dmVyOwogICAgICAgIHVuc2lnbmVkIGNoYXIgY2hlY2tz
dW07CiAgICAgICAgdW5zaWduZWQgY2hhciBwYWQxOwp9OwoKCgpleHRlcm4gc3RydWN0IGxpc3Rf
aGVhZCBwY2lfcm9vdF9idXNlc19SMDgyYzMyMTM7CmV4dGVybiBzdHJ1Y3QgbGlzdF9oZWFkIHBj
aV9kZXZpY2VzX1I3YTg0YjEwMjsKIyA0NTIgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2lu
Y2x1ZGUvbGludXgvcGNpLmgiCnN0cnVjdCBwY2lfb3BzIHsKICAgICAgICBpbnQgKCpyZWFkX2J5
dGUpKHN0cnVjdCBwY2lfZGV2ICosIGludCB3aGVyZSwgdTggKnZhbCk7CiAgICAgICAgaW50ICgq
cmVhZF93b3JkKShzdHJ1Y3QgcGNpX2RldiAqLCBpbnQgd2hlcmUsIHUxNiAqdmFsKTsKICAgICAg
ICBpbnQgKCpyZWFkX2R3b3JkKShzdHJ1Y3QgcGNpX2RldiAqLCBpbnQgd2hlcmUsIHUzMiAqdmFs
KTsKICAgICAgICBpbnQgKCp3cml0ZV9ieXRlKShzdHJ1Y3QgcGNpX2RldiAqLCBpbnQgd2hlcmUs
IHU4IHZhbCk7CiAgICAgICAgaW50ICgqd3JpdGVfd29yZCkoc3RydWN0IHBjaV9kZXYgKiwgaW50
IHdoZXJlLCB1MTYgdmFsKTsKICAgICAgICBpbnQgKCp3cml0ZV9kd29yZCkoc3RydWN0IHBjaV9k
ZXYgKiwgaW50IHdoZXJlLCB1MzIgdmFsKTsKfTsKCnN0cnVjdCBwYnVzX3NldF9yYW5nZXNfZGF0
YQp7CiAgICAgICAgaW50IGZvdW5kX3ZnYTsKICAgICAgICB1bnNpZ25lZCBsb25nIGlvX3N0YXJ0
LCBpb19lbmQ7CiAgICAgICAgdW5zaWduZWQgbG9uZyBtZW1fc3RhcnQsIG1lbV9lbmQ7Cn07Cgpz
dHJ1Y3QgcGNpX2RldmljZV9pZCB7CiAgICAgICAgdW5zaWduZWQgaW50IHZlbmRvciwgZGV2aWNl
OwogICAgICAgIHVuc2lnbmVkIGludCBzdWJ2ZW5kb3IsIHN1YmRldmljZTsKICAgICAgICB1bnNp
Z25lZCBpbnQgY2xhc3MsIGNsYXNzX21hc2s7CiAgICAgICAgdW5zaWduZWQgbG9uZyBkcml2ZXJf
ZGF0YTsKfTsKCnN0cnVjdCBwY2lfZHJpdmVyIHsKICAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkIG5v
ZGU7CiAgICAgICAgY2hhciAqbmFtZTsKICAgICAgICBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9p
ZCAqaWRfdGFibGU7CiAgICAgICAgaW50ICgqcHJvYmUpIChzdHJ1Y3QgcGNpX2RldiAqZGV2LCBj
b25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqaWQpOwogICAgICAgIHZvaWQgKCpyZW1vdmUpIChz
dHJ1Y3QgcGNpX2RldiAqZGV2KTsKICAgICAgICBpbnQgKCpzYXZlX3N0YXRlKSAoc3RydWN0IHBj
aV9kZXYgKmRldiwgdTMyIHN0YXRlKTsKICAgICAgICBpbnQgKCpzdXNwZW5kKShzdHJ1Y3QgcGNp
X2RldiAqZGV2LCB1MzIgc3RhdGUpOwogICAgICAgIGludCAoKnJlc3VtZSkgKHN0cnVjdCBwY2lf
ZGV2ICpkZXYpOwogICAgICAgIGludCAoKmVuYWJsZV93YWtlKSAoc3RydWN0IHBjaV9kZXYgKmRl
diwgdTMyIHN0YXRlLCBpbnQgZW5hYmxlKTsKfTsKIyA0OTQgIi91c3Ivc3JjL3J1ZG8vbGludXgt
Mi40LjEwL2luY2x1ZGUvbGludXgvcGNpLmgiCnZvaWQgcGNpYmlvc19pbml0KHZvaWQpOwp2b2lk
IHBjaWJpb3NfZml4dXBfYnVzKHN0cnVjdCBwY2lfYnVzICopOwppbnQgcGNpYmlvc19lbmFibGVf
ZGV2aWNlKHN0cnVjdCBwY2lfZGV2ICopOwpjaGFyICpwY2liaW9zX3NldHVwIChjaGFyICpzdHIp
OwoKCnZvaWQgcGNpYmlvc19hbGlnbl9yZXNvdXJjZSh2b2lkICosIHN0cnVjdCByZXNvdXJjZSAq
LCB1bnNpZ25lZCBsb25nKTsKdm9pZCBwY2liaW9zX3VwZGF0ZV9yZXNvdXJjZShzdHJ1Y3QgcGNp
X2RldiAqLCBzdHJ1Y3QgcmVzb3VyY2UgKiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dHJ1Y3QgcmVzb3VyY2UgKiwgaW50KTsKdm9pZCBwY2liaW9zX3VwZGF0ZV9pcnEoc3RydWN0IHBj
aV9kZXYgKiwgaW50IGlycSk7CnZvaWQgcGNpYmlvc19maXh1cF9wYnVzX3JhbmdlcyhzdHJ1Y3Qg
cGNpX2J1cyAqLCBzdHJ1Y3QgcGJ1c19zZXRfcmFuZ2VzX2RhdGEgKik7CgoKCmludCBwY2liaW9z
X3ByZXNlbnRfUjUyMGE3NWI5KHZvaWQpOwppbnQgcGNpYmlvc19yZWFkX2NvbmZpZ19ieXRlX1Jk
ODAxMTVlMSAodW5zaWduZWQgY2hhciBidXMsIHVuc2lnbmVkIGNoYXIgZGV2X2ZuLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIHdoZXJlLCB1bnNpZ25lZCBjaGFy
ICp2YWwpOwppbnQgcGNpYmlvc19yZWFkX2NvbmZpZ193b3JkX1JhYTllZmZkNyAodW5zaWduZWQg
Y2hhciBidXMsIHVuc2lnbmVkIGNoYXIgZGV2X2ZuLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBjaGFyIHdoZXJlLCB1bnNpZ25lZCBzaG9ydCAqdmFsKTsKaW50IHBjaWJp
b3NfcmVhZF9jb25maWdfZHdvcmRfUjM4YWU2Njg5ICh1bnNpZ25lZCBjaGFyIGJ1cywgdW5zaWdu
ZWQgY2hhciBkZXZfZm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBj
aGFyIHdoZXJlLCB1bnNpZ25lZCBpbnQgKnZhbCk7CmludCBwY2liaW9zX3dyaXRlX2NvbmZpZ19i
eXRlX1I3MTk4NTZlZSAodW5zaWduZWQgY2hhciBidXMsIHVuc2lnbmVkIGNoYXIgZGV2X2ZuLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciB3aGVyZSwgdW5zaWdu
ZWQgY2hhciB2YWwpOwppbnQgcGNpYmlvc193cml0ZV9jb25maWdfd29yZF9SNGYxYzJlMzMgKHVu
c2lnbmVkIGNoYXIgYnVzLCB1bnNpZ25lZCBjaGFyIGRldl9mbiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgd2hlcmUsIHVuc2lnbmVkIHNob3J0IHZhbCk7Cmlu
dCBwY2liaW9zX3dyaXRlX2NvbmZpZ19kd29yZF9SODFiNGY0NjUgKHVuc2lnbmVkIGNoYXIgYnVz
LCB1bnNpZ25lZCBjaGFyIGRldl9mbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBjaGFyIHdoZXJlLCB1bnNpZ25lZCBpbnQgdmFsKTsKaW50IHBjaWJpb3NfZmluZF9j
bGFzc19SZWYzMzNmN2IgKHVuc2lnbmVkIGludCBjbGFzc19jb2RlLCB1bnNpZ25lZCBzaG9ydCBp
bmRleCwgdW5zaWduZWQgY2hhciAqYnVzLCB1bnNpZ25lZCBjaGFyICpkZXZfZm4pOwppbnQgcGNp
Ymlvc19maW5kX2RldmljZV9SOTdkNDljNGQgKHVuc2lnbmVkIHNob3J0IHZlbmRvciwgdW5zaWdu
ZWQgc2hvcnQgZGV2X2lkLAogICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgc2hvcnQg
aW5kZXgsIHVuc2lnbmVkIGNoYXIgKmJ1cywKICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGNoYXIgKmRldl9mbik7CgoKCnZvaWQgcGNpX2luaXQodm9pZCk7CmludCBwY2lfYnVzX2V4
aXN0cyhjb25zdCBzdHJ1Y3QgbGlzdF9oZWFkICpsaXN0LCBpbnQgbnIpOwpzdHJ1Y3QgcGNpX2J1
cyAqcGNpX3NjYW5fYnVzKGludCBidXMsIHN0cnVjdCBwY2lfb3BzICpvcHMsIHZvaWQgKnN5c2Rh
dGEpOwpzdHJ1Y3QgcGNpX2J1cyAqcGNpX2FsbG9jX3ByaW1hcnlfYnVzKGludCBidXMpOwpzdHJ1
Y3QgcGNpX2RldiAqcGNpX3NjYW5fc2xvdChzdHJ1Y3QgcGNpX2RldiAqdGVtcCk7CmludCBwY2lf
cHJvY19hdHRhY2hfZGV2aWNlKHN0cnVjdCBwY2lfZGV2ICpkZXYpOwppbnQgcGNpX3Byb2NfZGV0
YWNoX2RldmljZShzdHJ1Y3QgcGNpX2RldiAqZGV2KTsKdm9pZCBwY2lfbmFtZV9kZXZpY2Uoc3Ry
dWN0IHBjaV9kZXYgKmRldik7CmNoYXIgKnBjaV9jbGFzc19uYW1lKHUzMiBjbGFzcyk7CnZvaWQg
cGNpX3JlYWRfYnJpZGdlX2Jhc2VzKHN0cnVjdCBwY2lfYnVzICpjaGlsZCk7CnN0cnVjdCByZXNv
dXJjZSAqcGNpX2ZpbmRfcGFyZW50X3Jlc291cmNlX1I1Y2NjZmEzNyhjb25zdCBzdHJ1Y3QgcGNp
X2RldiAqZGV2LCBzdHJ1Y3QgcmVzb3VyY2UgKnJlcyk7CmludCBwY2lfc2V0dXBfZGV2aWNlKHN0
cnVjdCBwY2lfZGV2ICpkZXYpOwppbnQgcGNpX2dldF9pbnRlcnJ1cHRfcGluKHN0cnVjdCBwY2lf
ZGV2ICpkZXYsIHN0cnVjdCBwY2lfZGV2ICoqYnJpZGdlKTsKCgoKc3RydWN0IHBjaV9kZXYgKnBj
aV9maW5kX2RldmljZV9SNGVmYmI3Y2IgKHVuc2lnbmVkIGludCB2ZW5kb3IsIHVuc2lnbmVkIGlu
dCBkZXZpY2UsIGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpmcm9tKTsKc3RydWN0IHBjaV9kZXYgKnBj
aV9maW5kX3N1YnN5c19SODVhNTk5NTIgKHVuc2lnbmVkIGludCB2ZW5kb3IsIHVuc2lnbmVkIGlu
dCBkZXZpY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBz
c192ZW5kb3IsIHVuc2lnbmVkIGludCBzc19kZXZpY2UsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpmcm9tKTsKc3RydWN0IHBjaV9kZXYgKnBj
aV9maW5kX2NsYXNzX1I2ODEwMjc2YiAodW5zaWduZWQgaW50IGNsYXNzLCBjb25zdCBzdHJ1Y3Qg
cGNpX2RldiAqZnJvbSk7CnN0cnVjdCBwY2lfZGV2ICpwY2lfZmluZF9zbG90X1JlMjllYjY1ZCAo
dW5zaWduZWQgaW50IGJ1cywgdW5zaWduZWQgaW50IGRldmZuKTsKaW50IHBjaV9maW5kX2NhcGFi
aWxpdHlfUmFmMjc5ZmIyIChzdHJ1Y3QgcGNpX2RldiAqZGV2LCBpbnQgY2FwKTsKCmludCBwY2lf
cmVhZF9jb25maWdfYnl0ZV9SZTQyNmMwZTgoc3RydWN0IHBjaV9kZXYgKmRldiwgaW50IHdoZXJl
LCB1OCAqdmFsKTsKaW50IHBjaV9yZWFkX2NvbmZpZ193b3JkX1IxMWFiYzBkNChzdHJ1Y3QgcGNp
X2RldiAqZGV2LCBpbnQgd2hlcmUsIHUxNiAqdmFsKTsKaW50IHBjaV9yZWFkX2NvbmZpZ19kd29y
ZF9SYTNiODI4MTMoc3RydWN0IHBjaV9kZXYgKmRldiwgaW50IHdoZXJlLCB1MzIgKnZhbCk7Cmlu
dCBwY2lfd3JpdGVfY29uZmlnX2J5dGVfUmJiNDNlMTE0KHN0cnVjdCBwY2lfZGV2ICpkZXYsIGlu
dCB3aGVyZSwgdTggdmFsKTsKaW50IHBjaV93cml0ZV9jb25maWdfd29yZF9SMjBmODU4NDUoc3Ry
dWN0IHBjaV9kZXYgKmRldiwgaW50IHdoZXJlLCB1MTYgdmFsKTsKaW50IHBjaV93cml0ZV9jb25m
aWdfZHdvcmRfUjhjNGUxYTIxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIGludCB3aGVyZSwgdTMyIHZh
bCk7CgppbnQgcGNpX2VuYWJsZV9kZXZpY2VfUmQwNGZlYTA4KHN0cnVjdCBwY2lfZGV2ICpkZXYp
Owp2b2lkIHBjaV9kaXNhYmxlX2RldmljZV9SNWEzNDNhNzgoc3RydWN0IHBjaV9kZXYgKmRldik7
CnZvaWQgcGNpX3NldF9tYXN0ZXJfUjJkMDc2MGFlKHN0cnVjdCBwY2lfZGV2ICpkZXYpOwppbnQg
cGNpX3NldF9kbWFfbWFza19SZTE1YTdkMjQoc3RydWN0IHBjaV9kZXYgKmRldiwgZG1hX2FkZHJf
dCBtYXNrKTsKaW50IHBjaV9hc3NpZ25fcmVzb3VyY2VfUmY1YmVjNzNmKHN0cnVjdCBwY2lfZGV2
ICpkZXYsIGludCBpKTsKCgppbnQgcGNpX3NhdmVfc3RhdGVfUjFlMmZhOTI5KHN0cnVjdCBwY2lf
ZGV2ICpkZXYsIHUzMiAqYnVmZmVyKTsKaW50IHBjaV9yZXN0b3JlX3N0YXRlX1I5N2FkNGUwYShz
dHJ1Y3QgcGNpX2RldiAqZGV2LCB1MzIgKmJ1ZmZlcik7CmludCBwY2lfc2V0X3Bvd2VyX3N0YXRl
X1I1MTYyZWQ2YyhzdHJ1Y3QgcGNpX2RldiAqZGV2LCBpbnQgc3RhdGUpOwppbnQgcGNpX2VuYWJs
ZV93YWtlX1I2NDM1M2FmMyhzdHJ1Y3QgcGNpX2RldiAqZGV2LCB1MzIgc3RhdGUsIGludCBlbmFi
bGUpOwoKCgppbnQgcGNpX2NsYWltX3Jlc291cmNlKHN0cnVjdCBwY2lfZGV2ICosIGludCk7CnZv
aWQgcGNpX2Fzc2lnbl91bmFzc2lnbmVkX3Jlc291cmNlcyh2b2lkKTsKdm9pZCBwZGV2X2VuYWJs
ZV9kZXZpY2Uoc3RydWN0IHBjaV9kZXYgKik7CnZvaWQgcGRldl9zb3J0X3Jlc291cmNlcyhzdHJ1
Y3QgcGNpX2RldiAqLCBzdHJ1Y3QgcmVzb3VyY2VfbGlzdCAqLCB1MzIpOwp1bnNpZ25lZCBsb25n
IHBjaV9icmlkZ2VfY2hlY2tfaW8oc3RydWN0IHBjaV9kZXYgKik7CnZvaWQgcGNpX2ZpeHVwX2ly
cXModTggKCopKHN0cnVjdCBwY2lfZGV2ICosIHU4ICopLAogICAgICAgICAgICAgICAgICAgIGlu
dCAoKikoc3RydWN0IHBjaV9kZXYgKiwgdTgsIHU4KSk7CgppbnQgcGNpX3JlcXVlc3RfcmVnaW9u
c19SM2E5ZjZiMmQoc3RydWN0IHBjaV9kZXYgKiwgY2hhciAqKTsKdm9pZCBwY2lfcmVsZWFzZV9y
ZWdpb25zX1JlOWEwODY1MShzdHJ1Y3QgcGNpX2RldiAqKTsKCgppbnQgcGNpX3JlZ2lzdGVyX2Ry
aXZlcl9SZGU3YjI3NTEoc3RydWN0IHBjaV9kcml2ZXIgKik7CnZvaWQgcGNpX3VucmVnaXN0ZXJf
ZHJpdmVyX1I4MzZlYTIxMShzdHJ1Y3QgcGNpX2RyaXZlciAqKTsKdm9pZCBwY2lfaW5zZXJ0X2Rl
dmljZShzdHJ1Y3QgcGNpX2RldiAqLCBzdHJ1Y3QgcGNpX2J1cyAqKTsKdm9pZCBwY2lfcmVtb3Zl
X2RldmljZShzdHJ1Y3QgcGNpX2RldiAqKTsKc3RydWN0IHBjaV9kcml2ZXIgKnBjaV9kZXZfZHJp
dmVyX1JmY2M0NTBjNChjb25zdCBzdHJ1Y3QgcGNpX2RldiAqKTsKY29uc3Qgc3RydWN0IHBjaV9k
ZXZpY2VfaWQgKnBjaV9tYXRjaF9kZXZpY2VfUjQwMWFmYzliKGNvbnN0IHN0cnVjdCBwY2lfZGV2
aWNlX2lkICppZHMsIGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpkZXYpOwoKCnN0cnVjdCBwY2lfcG9v
bCAqcGNpX3Bvb2xfY3JlYXRlX1I2OWI2Nzg0MyAoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHBj
aV9kZXYgKmRldiwKICAgICAgICAgICAgICAgIHNpemVfdCBzaXplLCBzaXplX3QgYWxpZ24sIHNp
emVfdCBhbGxvY2F0aW9uLCBpbnQgZmxhZ3MpOwp2b2lkIHBjaV9wb29sX2Rlc3Ryb3lfUjFkN2I5
Y2MyIChzdHJ1Y3QgcGNpX3Bvb2wgKnBvb2wpOwoKdm9pZCAqcGNpX3Bvb2xfYWxsb2NfUjUxMzFi
ODE4IChzdHJ1Y3QgcGNpX3Bvb2wgKnBvb2wsIGludCBmbGFncywgZG1hX2FkZHJfdCAqaGFuZGxl
KTsKdm9pZCBwY2lfcG9vbF9mcmVlX1I3N2I4N2NmMyAoc3RydWN0IHBjaV9wb29sICpwb29sLCB2
b2lkICp2YWRkciwgZG1hX2FkZHJfdCBhZGRyKTsKCgoKCgojIDEgIi91c3Ivc3JjL3J1ZG8vbGlu
dXgtMi40LjEwL2luY2x1ZGUvYXNtL3BjaS5oIiAxCgoKCiMgMSAiL3Vzci9zcmMvcnVkby9saW51
eC0yLjQuMTAvaW5jbHVkZS9saW51eC9jb25maWcuaCIgMQojIDUgIi91c3Ivc3JjL3J1ZG8vbGlu
dXgtMi40LjEwL2luY2x1ZGUvYXNtL3BjaS5oIiAyCiMgMTMgIi91c3Ivc3JjL3J1ZG8vbGludXgt
Mi40LjEwL2luY2x1ZGUvYXNtL3BjaS5oIgpleHRlcm4gdW5zaWduZWQgaW50IHBjaWJpb3NfYXNz
aWduX2FsbF9idXNzZXModm9pZCk7CgoKCgpleHRlcm4gdW5zaWduZWQgbG9uZyBwY2lfbWVtX3N0
YXJ0X1IzZGExNzFmOTsKCgoKdm9pZCBwY2liaW9zX3NldF9tYXN0ZXIoc3RydWN0IHBjaV9kZXYg
KmRldik7CnZvaWQgcGNpYmlvc19wZW5hbGl6ZV9pc2FfaXJxX1I1MjExYzhiZihpbnQgaXJxKTsK
CgoKCgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvdHlwZXMu
aCIgMQojIDMwICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2FzbS9wY2kuaCIg
MgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvc2xhYi5oIiAx
CiMgMTIgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvc2xhYi5oIgp0
eXBlZGVmIHN0cnVjdCBrbWVtX2NhY2hlX3Mga21lbV9jYWNoZV90OwoKIyAxICIvdXNyL3NyYy9y
dWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21tLmgiIDEKCgoKIyAxICIvdXNyL3NyYy9y
dWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L3NjaGVkLmgiIDEKCgoKIyAxICIvdXNyL3Ny
Yy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2FzbS9wYXJhbS5oIiAxCiMgNSAiL3Vzci9zcmMv
cnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9zY2hlZC5oIiAyCgpleHRlcm4gdW5zaWdu
ZWQgbG9uZyBldmVudF9SN2IxNmMzNDQ7CgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEw
L2luY2x1ZGUvbGludXgvY29uZmlnLmgiIDEKIyA5ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4x
MC9pbmNsdWRlL2xpbnV4L3NjaGVkLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4x
MC9pbmNsdWRlL2xpbnV4L2JpbmZtdHMuaCIgMQoKCgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgt
Mi40LjEwL2luY2x1ZGUvbGludXgvcHRyYWNlLmgiIDEKIyAyNCAiL3Vzci9zcmMvcnVkby9saW51
eC0yLjQuMTAvaW5jbHVkZS9saW51eC9wdHJhY2UuaCIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4
LTIuNC4xMC9pbmNsdWRlL2FzbS9wdHJhY2UuaCIgMQojIDI2ICIvdXNyL3NyYy9ydWRvL2xpbnV4
LTIuNC4xMC9pbmNsdWRlL2FzbS9wdHJhY2UuaCIKc3RydWN0IHB0X3JlZ3MgewogICAgICAgIGxv
bmcgZWJ4OwogICAgICAgIGxvbmcgZWN4OwogICAgICAgIGxvbmcgZWR4OwogICAgICAgIGxvbmcg
ZXNpOwogICAgICAgIGxvbmcgZWRpOwogICAgICAgIGxvbmcgZWJwOwogICAgICAgIGxvbmcgZWF4
OwogICAgICAgIGludCB4ZHM7CiAgICAgICAgaW50IHhlczsKICAgICAgICBsb25nIG9yaWdfZWF4
OwogICAgICAgIGxvbmcgZWlwOwogICAgICAgIGludCB4Y3M7CiAgICAgICAgbG9uZyBlZmxhZ3M7
CiAgICAgICAgbG9uZyBlc3A7CiAgICAgICAgaW50IHhzczsKfTsKIyA2MCAiL3Vzci9zcmMvcnVk
by9saW51eC0yLjQuMTAvaW5jbHVkZS9hc20vcHRyYWNlLmgiCmV4dGVybiB2b2lkIHNob3dfcmVn
cyhzdHJ1Y3QgcHRfcmVncyAqKTsKIyAyNSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5j
bHVkZS9saW51eC9wdHJhY2UuaCIgMgojIDUgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2lu
Y2x1ZGUvbGludXgvYmluZm10cy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAv
aW5jbHVkZS9saW51eC9jYXBhYmlsaXR5LmgiIDEKIyAxNiAiL3Vzci9zcmMvcnVkby9saW51eC0y
LjQuMTAvaW5jbHVkZS9saW51eC9jYXBhYmlsaXR5LmgiCiMgMSAiL3Vzci9zcmMvcnVkby9saW51
eC0yLjQuMTAvaW5jbHVkZS9saW51eC90eXBlcy5oIiAxCiMgMTcgIi91c3Ivc3JjL3J1ZG8vbGlu
dXgtMi40LjEwL2luY2x1ZGUvbGludXgvY2FwYWJpbGl0eS5oIiAyCiMgMSAiL3Vzci9zcmMvcnVk
by9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9mcy5oIiAxCiMgOSAiL3Vzci9zcmMvcnVkby9s
aW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9mcy5oIgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgt
Mi40LjEwL2luY2x1ZGUvbGludXgvY29uZmlnLmgiIDEKIyAxMCAiL3Vzci9zcmMvcnVkby9saW51
eC0yLjQuMTAvaW5jbHVkZS9saW51eC9mcy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0y
LjQuMTAvaW5jbHVkZS9saW51eC9saW5rYWdlLmgiIDEKCgoKIyAxICIvdXNyL3NyYy9ydWRvL2xp
bnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L2NvbmZpZy5oIiAxCiMgNSAiL3Vzci9zcmMvcnVkby9s
aW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9saW5rYWdlLmgiIDIKIyAxMSAiL3Vzci9zcmMvcnVk
by9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9mcy5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9s
aW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9saW1pdHMuaCIgMQojIDEyICIvdXNyL3NyYy9ydWRv
L2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L2ZzLmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xp
bnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L3dhaXQuaCIgMQojIDEzICIvdXNyL3NyYy9ydWRvL2xp
bnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L3dhaXQuaCIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4
LTIuNC4xMC9pbmNsdWRlL2xpbnV4L2tlcm5lbC5oIiAxCiMgMTAgIi91c3Ivc3JjL3J1ZG8vbGlu
dXgtMi40LjEwL2luY2x1ZGUvbGludXgva2VybmVsLmgiCiMgMSAiL3Vzci9zcmMvcnVkby9nY2Mt
Q1ZTL3ByZWZpeC9saWIvZ2NjLWxpYi9pNTg2LXBjLWxpbnV4LWdudS8zLjAuMi9pbmNsdWRlL3N0
ZGFyZy5oIiAxIDMKIyA0MyAiL3Vzci9zcmMvcnVkby9nY2MtQ1ZTL3ByZWZpeC9saWIvZ2NjLWxp
Yi9pNTg2LXBjLWxpbnV4LWdudS8zLjAuMi9pbmNsdWRlL3N0ZGFyZy5oIiAzCnR5cGVkZWYgX19i
dWlsdGluX3ZhX2xpc3QgX19nbnVjX3ZhX2xpc3Q7CiMgMTEwICIvdXNyL3NyYy9ydWRvL2djYy1D
VlMvcHJlZml4L2xpYi9nY2MtbGliL2k1ODYtcGMtbGludXgtZ251LzMuMC4yL2luY2x1ZGUvc3Rk
YXJnLmgiIDMKdHlwZWRlZiBfX2dudWNfdmFfbGlzdCB2YV9saXN0OwojIDExICIvdXNyL3NyYy9y
dWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L2tlcm5lbC5oIiAyCiMgMSAiL3Vzci9zcmMv
cnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9saW5rYWdlLmgiIDEKIyAxMiAiL3Vzci9z
cmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9rZXJuZWwuaCIgMgojIDEgIi91c3Iv
c3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvc3RkZGVmLmgiIDEKIyAxMyAiL3Vz
ci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9rZXJuZWwuaCIgMgojIDEgIi91
c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvdHlwZXMuaCIgMQojIDE0ICIv
dXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L2tlcm5lbC5oIiAyCiMgNDkg
Ii91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgva2VybmVsLmgiCnN0cnVj
dCBjb21wbGV0aW9uOwoKZXh0ZXJuIHN0cnVjdCBub3RpZmllcl9ibG9jayAqcGFuaWNfbm90aWZp
ZXJfbGlzdDsKICAgICAgICAgICB2b2lkIHBhbmljX1IwMTA3NWJmMChjb25zdCBjaGFyICogZm10
LCAuLi4pCiAgICAgICAgX19hdHRyaWJ1dGVfXyAoKG5vcmV0dXJuLCBmb3JtYXQgKHByaW50Ziwg
MSwgMikpKTsKICAgICAgICAgICB2b2lkIGRvX2V4aXQobG9uZyBlcnJvcl9jb2RlKQogICAgICAg
IF9fYXR0cmlidXRlX18oKG5vcmV0dXJuKSk7CiAgICAgICAgICAgdm9pZCBjb21wbGV0ZV9hbmRf
ZXhpdF9SOTVkZWZmYjcoc3RydWN0IGNvbXBsZXRpb24gKiwgbG9uZykKICAgICAgICBfX2F0dHJp
YnV0ZV9fKChub3JldHVybikpOwpleHRlcm4gaW50IGFicyhpbnQpOwpleHRlcm4gdW5zaWduZWQg
bG9uZyBzaW1wbGVfc3RydG91bF9SMjAwMDAzMjkoY29uc3QgY2hhciAqLGNoYXIgKiosdW5zaWdu
ZWQgaW50KTsKZXh0ZXJuIGxvbmcgc2ltcGxlX3N0cnRvbF9SMGI3NDJmZDcoY29uc3QgY2hhciAq
LGNoYXIgKiosdW5zaWduZWQgaW50KTsKZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbG9uZyBzaW1wbGVf
c3RydG91bGwoY29uc3QgY2hhciAqLGNoYXIgKiosdW5zaWduZWQgaW50KTsKZXh0ZXJuIGxvbmcg
bG9uZyBzaW1wbGVfc3RydG9sbChjb25zdCBjaGFyICosY2hhciAqKix1bnNpZ25lZCBpbnQpOwpl
eHRlcm4gaW50IHNwcmludGZfUjNjMmM1YWY1KGNoYXIgKiBidWYsIGNvbnN0IGNoYXIgKiBmbXQs
IC4uLik7CmV4dGVybiBpbnQgdnNwcmludGZfUjk1NGNiYjI2KGNoYXIgKmJ1ZiwgY29uc3QgY2hh
ciAqLCB2YV9saXN0KTsKZXh0ZXJuIGludCBzbnByaW50Zl9SNzAxZDBlYmQoY2hhciAqIGJ1Ziwg
c2l6ZV90IHNpemUsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKZXh0ZXJuIGludCB2c25wcmludGZf
UjU3YTY1MDRlKGNoYXIgKmJ1Ziwgc2l6ZV90IHNpemUsIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlz
dCBhcmdzKTsKCmV4dGVybiBpbnQgc3NjYW5mX1I4NTkyMDRhZihjb25zdCBjaGFyICosIGNvbnN0
IGNoYXIgKiwgLi4uKQogICAgICAgIF9fYXR0cmlidXRlX18gKChmb3JtYXQgKHNjYW5mLDIsMykp
KTsKZXh0ZXJuIGludCB2c3NjYW5mX1JiNTA0NDI3MShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIg
KiwgdmFfbGlzdCk7CgpleHRlcm4gaW50IGdldF9vcHRpb25fUmIwZTEwNzgxKGNoYXIgKipzdHIs
IGludCAqcGludCk7CmV4dGVybiBjaGFyICpnZXRfb3B0aW9uc19SMGZiZmY5YjkoY2hhciAqc3Ry
LCBpbnQgbmludHMsIGludCAqaW50cyk7CmV4dGVybiB1bnNpZ25lZCBsb25nIGxvbmcgbWVtcGFy
c2VfUjIzZjJkMzZmKGNoYXIgKnB0ciwgY2hhciAqKnJldHB0cik7CmV4dGVybiB2b2lkIGRldl9w
cm9iZV9sb2NrKHZvaWQpOwpleHRlcm4gdm9pZCBkZXZfcHJvYmVfdW5sb2NrKHZvaWQpOwoKZXh0
ZXJuIGludCBzZXNzaW9uX29mX3BncnAoaW50IHBncnApOwoKIF9fYXR0cmlidXRlX18oKHJlZ3Bh
cm0oMCkpKSBpbnQgcHJpbnRrX1IxYjdkNDA3NChjb25zdCBjaGFyICogZm10LCAuLi4pCiAgICAg
ICAgX19hdHRyaWJ1dGVfXyAoKGZvcm1hdCAocHJpbnRmLCAxLCAyKSkpOwoKZXh0ZXJuIGludCBj
b25zb2xlX2xvZ2xldmVsOwoKc3RhdGljIGlubGluZSB2b2lkIGNvbnNvbGVfc2lsZW50KHZvaWQp
CnsKICAgICAgICBjb25zb2xlX2xvZ2xldmVsID0gMDsKfQoKc3RhdGljIGlubGluZSB2b2lkIGNv
bnNvbGVfdmVyYm9zZSh2b2lkKQp7CiAgICAgICAgaWYgKGNvbnNvbGVfbG9nbGV2ZWwpCiAgICAg
ICAgICAgICAgICBjb25zb2xlX2xvZ2xldmVsID0gMTU7Cn0KCmV4dGVybiB2b2lkIGJ1c3Rfc3Bp
bmxvY2tzKGludCB5ZXMpOwpleHRlcm4gaW50IG9vcHNfaW5fcHJvZ3Jlc3M7CiMgMTU3ICIvdXNy
L3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L2tlcm5lbC5oIgpzdHJ1Y3Qgc3lz
aW5mbyB7CiAgICAgICAgbG9uZyB1cHRpbWU7CiAgICAgICAgdW5zaWduZWQgbG9uZyBsb2Fkc1sz
XTsKICAgICAgICB1bnNpZ25lZCBsb25nIHRvdGFscmFtOwogICAgICAgIHVuc2lnbmVkIGxvbmcg
ZnJlZXJhbTsKICAgICAgICB1bnNpZ25lZCBsb25nIHNoYXJlZHJhbTsKICAgICAgICB1bnNpZ25l
ZCBsb25nIGJ1ZmZlcnJhbTsKICAgICAgICB1bnNpZ25lZCBsb25nIHRvdGFsc3dhcDsKICAgICAg
ICB1bnNpZ25lZCBsb25nIGZyZWVzd2FwOwogICAgICAgIHVuc2lnbmVkIHNob3J0IHByb2NzOwog
ICAgICAgIHVuc2lnbmVkIHNob3J0IHBhZDsKICAgICAgICB1bnNpZ25lZCBsb25nIHRvdGFsaGln
aDsKICAgICAgICB1bnNpZ25lZCBsb25nIGZyZWVoaWdoOwogICAgICAgIHVuc2lnbmVkIGludCBt
ZW1fdW5pdDsKICAgICAgICBjaGFyIF9mWzIwLTIqc2l6ZW9mKGxvbmcpLXNpemVvZihpbnQpXTsK
fTsKIyAxNCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC93YWl0Lmgi
IDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L2xpc3QuaCIg
MQojIDE1ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L3dhaXQuaCIg
MgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvc3RkZGVmLmgi
IDEKIyAxNiAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC93YWl0Lmgi
IDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L3NwaW5sb2Nr
LmgiIDEKIyAxNyAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC93YWl0
LmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L2NvbmZp
Zy5oIiAxCiMgMTggIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvd2Fp
dC5oIiAyCgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvYXNtL3BhZ2Uu
aCIgMQojIDIwICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L3dhaXQu
aCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvYXNtL3Byb2Nlc3Nv
ci5oIiAxCiMgMjEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvd2Fp
dC5oIiAyCiMgMzEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvd2Fp
dC5oIgpzdHJ1Y3QgX193YWl0X3F1ZXVlIHsKICAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3M7Cgog
ICAgICAgIHN0cnVjdCB0YXNrX3N0cnVjdCAqIHRhc2s7CiAgICAgICAgc3RydWN0IGxpc3RfaGVh
ZCB0YXNrX2xpc3Q7CgoKCgp9Owp0eXBlZGVmIHN0cnVjdCBfX3dhaXRfcXVldWUgd2FpdF9xdWV1
ZV90OwojIDc3ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L3dhaXQu
aCIKc3RydWN0IF9fd2FpdF9xdWV1ZV9oZWFkIHsKICAgICAgICBzcGlubG9ja190IGxvY2s7CiAg
ICAgICAgc3RydWN0IGxpc3RfaGVhZCB0YXNrX2xpc3Q7CgoKCgp9Owp0eXBlZGVmIHN0cnVjdCBf
X3dhaXRfcXVldWVfaGVhZCB3YWl0X3F1ZXVlX2hlYWRfdDsKIyAxNTUgIi91c3Ivc3JjL3J1ZG8v
bGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvd2FpdC5oIgpzdGF0aWMgaW5saW5lIHZvaWQgaW5p
dF93YWl0cXVldWVfaGVhZCh3YWl0X3F1ZXVlX2hlYWRfdCAqcSkKewoKCgoKICAgICAgICBxLT5s
b2NrID0gKHNwaW5sb2NrX3QpIHsgfTsKICAgICAgICBkbyB7ICgmcS0+dGFza19saXN0KS0+bmV4
dCA9ICgmcS0+dGFza19saXN0KTsgKCZxLT50YXNrX2xpc3QpLT5wcmV2ID0gKCZxLT50YXNrX2xp
c3QpOyB9IHdoaWxlICgwKTsKCgoKCn0KCnN0YXRpYyBpbmxpbmUgdm9pZCBpbml0X3dhaXRxdWV1
ZV9lbnRyeSh3YWl0X3F1ZXVlX3QgKnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKewoKCgoKICAg
ICAgICBxLT5mbGFncyA9IDA7CiAgICAgICAgcS0+dGFzayA9IHA7CgoKCn0KCnN0YXRpYyBpbmxp
bmUgaW50IHdhaXRxdWV1ZV9hY3RpdmUod2FpdF9xdWV1ZV9oZWFkX3QgKnEpCnsKCgoKCgoKICAg
ICAgICByZXR1cm4gIWxpc3RfZW1wdHkoJnEtPnRhc2tfbGlzdCk7Cn0KCnN0YXRpYyBpbmxpbmUg
dm9pZCBfX2FkZF93YWl0X3F1ZXVlKHdhaXRfcXVldWVfaGVhZF90ICpoZWFkLCB3YWl0X3F1ZXVl
X3QgKm5ldykKewojIDIwMyAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51
eC93YWl0LmgiCiAgICAgICAgbGlzdF9hZGQoJm5ldy0+dGFza19saXN0LCAmaGVhZC0+dGFza19s
aXN0KTsKfQoKCgoKc3RhdGljIGlubGluZSB2b2lkIF9fYWRkX3dhaXRfcXVldWVfdGFpbCh3YWl0
X3F1ZXVlX2hlYWRfdCAqaGVhZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgd2FpdF9xdWV1ZV90ICpuZXcpCnsKIyAyMjAgIi91c3Ivc3JjL3J1ZG8vbGlu
dXgtMi40LjEwL2luY2x1ZGUvbGludXgvd2FpdC5oIgogICAgICAgIGxpc3RfYWRkX3RhaWwoJm5l
dy0+dGFza19saXN0LCAmaGVhZC0+dGFza19saXN0KTsKfQoKc3RhdGljIGlubGluZSB2b2lkIF9f
cmVtb3ZlX3dhaXRfcXVldWUod2FpdF9xdWV1ZV9oZWFkX3QgKmhlYWQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FpdF9xdWV1ZV90ICpv
bGQpCnsKCgoKCgogICAgICAgIGxpc3RfZGVsKCZvbGQtPnRhc2tfbGlzdCk7Cn0KIyAxMyAiL3Vz
ci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9mcy5oIiAyCiMgMSAiL3Vzci9z
cmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC90eXBlcy5oIiAxCiMgMTQgIi91c3Iv
c3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvZnMuaCIgMgojIDEgIi91c3Ivc3Jj
L3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvdmZzLmgiIDEKCgoKIyAxICIvdXNyL3Ny
Yy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2FzbS9zdGF0ZnMuaCIgMQoKCgoKCiMgMSAiL3Vz
ci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC90eXBlcy5oIiAxCiMgNyAiL3Vz
ci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9hc20vc3RhdGZzLmgiIDIKCnR5cGVkZWYg
X19rZXJuZWxfZnNpZF90IGZzaWRfdDsKCgoKc3RydWN0IHN0YXRmcyB7CiAgICAgICAgbG9uZyBm
X3R5cGU7CiAgICAgICAgbG9uZyBmX2JzaXplOwogICAgICAgIGxvbmcgZl9ibG9ja3M7CiAgICAg
ICAgbG9uZyBmX2JmcmVlOwogICAgICAgIGxvbmcgZl9iYXZhaWw7CiAgICAgICAgbG9uZyBmX2Zp
bGVzOwogICAgICAgIGxvbmcgZl9mZnJlZTsKICAgICAgICBfX2tlcm5lbF9mc2lkX3QgZl9mc2lk
OwogICAgICAgIGxvbmcgZl9uYW1lbGVuOwogICAgICAgIGxvbmcgZl9zcGFyZVs2XTsKfTsKIyA1
ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L3Zmcy5oIiAyCiMgMTUg
Ii91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvZnMuaCIgMgojIDEgIi91
c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbmV0LmgiIDEKIyAyMSAiL3Vz
ci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9uZXQuaCIKIyAxICIvdXNyL3Ny
Yy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L2NvbmZpZy5oIiAxCiMgMjIgIi91c3Iv
c3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbmV0LmgiIDIKIyAxICIvdXNyL3Ny
Yy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L3NvY2tldC5oIiAxCgoKCgoKIyAxICIv
dXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2FzbS9zb2NrZXQuaCIgMQoKCgojIDEg
Ii91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvYXNtL3NvY2tpb3MuaCIgMQojIDUg
Ii91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvYXNtL3NvY2tldC5oIiAyCiMgNyAi
L3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9zb2NrZXQuaCIgMgojIDEg
Ii91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvc29ja2lvcy5oIiAxCiMg
MjEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvc29ja2lvcy5oIgoj
IDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvYXNtL3NvY2tpb3MuaCIgMQoj
IDIyICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L3NvY2tpb3MuaCIg
MgojIDggIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvc29ja2V0Lmgi
IDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L3Vpby5oIiAx
CgoKCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC90eXBlcy5o
IiAxCiMgNSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC91aW8uaCIg
MgojIDE5ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L3Vpby5oIgpz
dHJ1Y3QgaW92ZWMKewogICAgICAgIHZvaWQgKmlvdl9iYXNlOwogICAgICAgIF9fa2VybmVsX3Np
emVfdCBpb3ZfbGVuOwp9OwojIDkgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUv
bGludXgvc29ja2V0LmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRl
L2xpbnV4L3R5cGVzLmgiIDEKIyAxMCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVk
ZS9saW51eC9zb2NrZXQuaCIgMgoKdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBzYV9mYW1pbHlfdDsK
CgoKCgpzdHJ1Y3Qgc29ja2FkZHIgewogICAgICAgIHNhX2ZhbWlseV90IHNhX2ZhbWlseTsKICAg
ICAgICBjaGFyIHNhX2RhdGFbMTRdOwp9OwoKc3RydWN0IGxpbmdlciB7CiAgICAgICAgaW50IGxf
b25vZmY7CiAgICAgICAgaW50IGxfbGluZ2VyOwp9OwoKCgoKCgoKc3RydWN0IG1zZ2hkciB7CiAg
ICAgICAgdm9pZCAqIG1zZ19uYW1lOwogICAgICAgIGludCBtc2dfbmFtZWxlbjsKICAgICAgICBz
dHJ1Y3QgaW92ZWMgKiBtc2dfaW92OwogICAgICAgIF9fa2VybmVsX3NpemVfdCBtc2dfaW92bGVu
OwogICAgICAgIHZvaWQgKiBtc2dfY29udHJvbDsKICAgICAgICBfX2tlcm5lbF9zaXplX3QgbXNn
X2NvbnRyb2xsZW47CiAgICAgICAgdW5zaWduZWQgbXNnX2ZsYWdzOwp9OwoKCgoKCgoKc3RydWN0
IGNtc2doZHIgewogICAgICAgIF9fa2VybmVsX3NpemVfdCBjbXNnX2xlbjsKICAgICAgICBpbnQg
Y21zZ19sZXZlbDsKICAgICAgICBpbnQgY21zZ190eXBlOwp9OwojIDEwMiAiL3Vzci9zcmMvcnVk
by9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9zb2NrZXQuaCIKc3RhdGljIGlubGluZSBzdHJ1
Y3QgY21zZ2hkciAqIF9fY21zZ19ueHRoZHIodm9pZCAqX19jdGwsIF9fa2VybmVsX3NpemVfdCBf
X3NpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry
dWN0IGNtc2doZHIgKl9fY21zZykKewogICAgICAgIHN0cnVjdCBjbXNnaGRyICogX19wdHI7Cgog
ICAgICAgIF9fcHRyID0gKHN0cnVjdCBjbXNnaGRyKikoKCh1bnNpZ25lZCBjaGFyICopIF9fY21z
ZykgKyAoICgoX19jbXNnLT5jbXNnX2xlbikrc2l6ZW9mKGxvbmcpLTEpICYgfihzaXplb2YobG9u
ZyktMSkgKSk7CiAgICAgICAgaWYgKCh1bnNpZ25lZCBsb25nKSgoY2hhciopKF9fcHRyKzEpIC0g
KGNoYXIgKikgX19jdGwpID4gX19zaXplKQogICAgICAgICAgICAgICAgcmV0dXJuIChzdHJ1Y3Qg
Y21zZ2hkciAqKTA7CgogICAgICAgIHJldHVybiBfX3B0cjsKfQoKc3RhdGljIGlubGluZSBzdHJ1
Y3QgY21zZ2hkciAqIGNtc2dfbnh0aGRyIChzdHJ1Y3QgbXNnaGRyICpfX21zZywgc3RydWN0IGNt
c2doZHIgKl9fY21zZykKewogICAgICAgIHJldHVybiBfX2Ntc2dfbnh0aGRyKF9fbXNnLT5tc2df
Y29udHJvbCwgX19tc2ctPm1zZ19jb250cm9sbGVuLCBfX2Ntc2cpOwp9CgoKCgoKCgpzdHJ1Y3Qg
dWNyZWQgewogICAgICAgIF9fdTMyIHBpZDsKICAgICAgICBfX3UzMiB1aWQ7CiAgICAgICAgX191
MzIgZ2lkOwp9OwojIDI0NSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51
eC9zb2NrZXQuaCIKZXh0ZXJuIGludCBtZW1jcHlfZnJvbWlvdmVjX1I5ZmIzZGQzMCh1bnNpZ25l
ZCBjaGFyICprZGF0YSwgc3RydWN0IGlvdmVjICppb3YsIGludCBsZW4pOwpleHRlcm4gaW50IG1l
bWNweV9mcm9taW92ZWNlbmQodW5zaWduZWQgY2hhciAqa2RhdGEsIHN0cnVjdCBpb3ZlYyAqaW92
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBvZmZzZXQsIGludCBsZW4pOwpl
eHRlcm4gaW50IGNzdW1fcGFydGlhbF9jb3B5X2Zyb21pb3ZlY2VuZCh1bnNpZ25lZCBjaGFyICpr
ZGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGlv
dmVjICppb3YsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBv
ZmZzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGludCBsZW4sIGludCAqY3N1bXApOwoKZXh0ZXJuIGludCB2ZXJpZnlfaW92ZWMoc3RydWN0IG1z
Z2hkciAqbSwgc3RydWN0IGlvdmVjICppb3YsIGNoYXIgKmFkZHJlc3MsIGludCBtb2RlKTsKZXh0
ZXJuIGludCBtZW1jcHlfdG9pb3ZlY19SOWNlYjE2M2Moc3RydWN0IGlvdmVjICp2LCB1bnNpZ25l
ZCBjaGFyICprZGF0YSwgaW50IGxlbik7CmV4dGVybiB2b2lkIG1lbWNweV90b2tlcm5lbGlvdmVj
X1JjMTI1ZTA4OChzdHJ1Y3QgaW92ZWMgKmlvdiwgdW5zaWduZWQgY2hhciAqa2RhdGEsIGludCBs
ZW4pOwpleHRlcm4gaW50IG1vdmVfYWRkcl90b191c2VyKHZvaWQgKmthZGRyLCBpbnQga2xlbiwg
dm9pZCAqdWFkZHIsIGludCAqdWxlbik7CmV4dGVybiBpbnQgbW92ZV9hZGRyX3RvX2tlcm5lbCh2
b2lkICp1YWRkciwgaW50IHVsZW4sIHZvaWQgKmthZGRyKTsKZXh0ZXJuIGludCBwdXRfY21zZ19S
ZjM5YmY0ZDkoc3RydWN0IG1zZ2hkciosIGludCBsZXZlbCwgaW50IHR5cGUsIGludCBsZW4sIHZv
aWQgKmRhdGEpOwojIDIzICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4
L25ldC5oIiAyCiMgMSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC93
YWl0LmgiIDEKIyAyNCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9u
ZXQuaCIgMgoKc3RydWN0IHBvbGxfdGFibGVfc3RydWN0OwojIDQ5ICIvdXNyL3NyYy9ydWRvL2xp
bnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L25ldC5oIgp0eXBlZGVmIGVudW0gewogIFNTX0ZSRUUg
PSAwLAogIFNTX1VOQ09OTkVDVEVELAogIFNTX0NPTk5FQ1RJTkcsCiAgU1NfQ09OTkVDVEVELAog
IFNTX0RJU0NPTk5FQ1RJTkcKfSBzb2NrZXRfc3RhdGU7CiMgNjUgIi91c3Ivc3JjL3J1ZG8vbGlu
dXgtMi40LjEwL2luY2x1ZGUvbGludXgvbmV0LmgiCnN0cnVjdCBzb2NrZXQKewogICAgICAgIHNv
Y2tldF9zdGF0ZSBzdGF0ZTsKCiAgICAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKICAgICAgICBz
dHJ1Y3QgcHJvdG9fb3BzICpvcHM7CiAgICAgICAgc3RydWN0IGlub2RlICppbm9kZTsKICAgICAg
ICBzdHJ1Y3QgZmFzeW5jX3N0cnVjdCAqZmFzeW5jX2xpc3Q7CiAgICAgICAgc3RydWN0IGZpbGUg
KmZpbGU7CiAgICAgICAgc3RydWN0IHNvY2sgKnNrOwogICAgICAgIHdhaXRfcXVldWVfaGVhZF90
IHdhaXQ7CgogICAgICAgIHNob3J0IHR5cGU7CiAgICAgICAgdW5zaWduZWQgY2hhciBwYXNzY3Jl
ZDsKfTsKCgoKc3RydWN0IHNjbV9jb29raWU7CnN0cnVjdCB2bV9hcmVhX3N0cnVjdDsKc3RydWN0
IHBhZ2U7CgpzdHJ1Y3QgcHJvdG9fb3BzIHsKICBpbnQgZmFtaWx5OwoKICBpbnQgKCpyZWxlYXNl
KSAoc3RydWN0IHNvY2tldCAqc29jayk7CiAgaW50ICgqYmluZCkgKHN0cnVjdCBzb2NrZXQgKnNv
Y2ssIHN0cnVjdCBzb2NrYWRkciAqdW15YWRkciwKICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBzb2NrYWRkcl9sZW4pOwogIGludCAoKmNvbm5lY3QpIChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBz
dHJ1Y3Qgc29ja2FkZHIgKnVzZXJ2YWRkciwKICAgICAgICAgICAgICAgICAgICAgICAgIGludCBz
b2NrYWRkcl9sZW4sIGludCBmbGFncyk7CiAgaW50ICgqc29ja2V0cGFpcikgKHN0cnVjdCBzb2Nr
ZXQgKnNvY2sxLCBzdHJ1Y3Qgc29ja2V0ICpzb2NrMik7CiAgaW50ICgqYWNjZXB0KSAoc3RydWN0
IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2tldCAqbmV3c29jaywKICAgICAgICAgICAgICAgICAg
ICAgICAgIGludCBmbGFncyk7CiAgaW50ICgqZ2V0bmFtZV9SN2M2MGQ2NmUpIChzdHJ1Y3Qgc29j
a2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2FkZHIgKnVhZGRyLAogICAgICAgICAgICAgICAgICAgICAg
ICAgaW50ICp1c29ja2FkZHJfbGVuLCBpbnQgcGVlcik7CiAgdW5zaWduZWQgaW50ICgqcG9sbCkg
KHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3QgcG9sbF90YWJs
ZV9zdHJ1Y3QgKndhaXQpOwogIGludCAoKmlvY3RsKSAoc3RydWN0IHNvY2tldCAqc29jaywgdW5z
aWduZWQgaW50IGNtZCwKICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgYXJn
KTsKICBpbnQgKCpsaXN0ZW4pIChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgbGVuKTsKICBpbnQg
KCpzaHV0ZG93bikgKHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBmbGFncyk7CiAgaW50ICgqc2V0
c29ja29wdCkgKHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBsZXZlbCwgaW50IG9wdG5hbWUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICBjaGFyICpvcHR2YWwsIGludCBvcHRsZW4pOwogIGludCAo
KmdldHNvY2tvcHQpIChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgbGV2ZWwsIGludCBvcHRuYW1l
LAogICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqb3B0dmFsLCBpbnQgKm9wdGxlbik7CiAg
aW50ICgqc2VuZG1zZykgKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBtc2doZHIgKm0sIGlu
dCB0b3RhbF9sZW4sIHN0cnVjdCBzY21fY29va2llICpzY20pOwogIGludCAoKnJlY3Ztc2cpIChz
dHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3QgbXNnaGRyICptLCBpbnQgdG90YWxfbGVuLCBpbnQg
ZmxhZ3MsIHN0cnVjdCBzY21fY29va2llICpzY20pOwogIGludCAoKm1tYXApIChzdHJ1Y3QgZmls
ZSAqZmlsZSwgc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHZtX2FyZWFfc3RydWN0ICogdm1h
KTsKICBzc2l6ZV90ICgqc2VuZHBhZ2UpIChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3QgcGFn
ZSAqcGFnZSwgaW50IG9mZnNldCwgc2l6ZV90IHNpemUsIGludCBmbGFncyk7Cn07CgpzdHJ1Y3Qg
bmV0X3Byb3RvX2ZhbWlseQp7CiAgICAgICAgaW50IGZhbWlseTsKICAgICAgICBpbnQgKCpjcmVh
dGUpKHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBwcm90b2NvbCk7CgoKICAgICAgICBzaG9ydCBh
dXRoZW50aWNhdGlvbjsKICAgICAgICBzaG9ydCBlbmNyeXB0aW9uOwogICAgICAgIHNob3J0IGVu
Y3J5cHRfbmV0Owp9OwoKc3RydWN0IG5ldF9wcm90bwp7CiAgICAgICAgY29uc3QgY2hhciAqbmFt
ZTsKICAgICAgICB2b2lkICgqaW5pdF9mdW5jKShzdHJ1Y3QgbmV0X3Byb3RvICopOwp9OwoKZXh0
ZXJuIGludCBzb2NrX3dha2VfYXN5bmNfUjVkZmY2NDE3KHN0cnVjdCBzb2NrZXQgKnNrLCBpbnQg
aG93LCBpbnQgYmFuZCk7CmV4dGVybiBpbnQgc29ja19yZWdpc3Rlcl9SNzBmNDIyMDUoc3RydWN0
IG5ldF9wcm90b19mYW1pbHkgKmZhbSk7CmV4dGVybiBpbnQgc29ja191bnJlZ2lzdGVyX1IyMzk0
YTA2MihpbnQgZmFtaWx5KTsKZXh0ZXJuIHN0cnVjdCBzb2NrZXQgKnNvY2tfYWxsb2NfUjE0YTg2
ODZmKHZvaWQpOwpleHRlcm4gaW50IHNvY2tfY3JlYXRlX1JlMjdhZGE5ZChpbnQgZmFtaWx5LCBp
bnQgdHlwZSwgaW50IHByb3RvLCBzdHJ1Y3Qgc29ja2V0ICoqKTsKZXh0ZXJuIHZvaWQgc29ja19y
ZWxlYXNlX1JhOTNjMWY2NihzdHJ1Y3Qgc29ja2V0ICopOwpleHRlcm4gaW50IHNvY2tfc2VuZG1z
Z19SMTZmMGRkYWYoc3RydWN0IHNvY2tldCAqLCBzdHJ1Y3QgbXNnaGRyICptLCBpbnQgbGVuKTsK
ZXh0ZXJuIGludCBzb2NrX3JlY3Ztc2dfUjJiYmVhMWE1KHN0cnVjdCBzb2NrZXQgKiwgc3RydWN0
IG1zZ2hkciAqbSwgaW50IGxlbiwgaW50IGZsYWdzKTsKZXh0ZXJuIGludCBzb2NrX3JlYWR2X3dy
aXRldihpbnQgdHlwZSwgc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlsZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBpb3ZlYyAqIGlv
diwgbG9uZyBjb3VudCwgbG9uZyBzaXplKTsKCmV4dGVybiBpbnQgbmV0X3JhdGVsaW1pdF9SZjZl
YmMwM2Iodm9pZCk7CmV4dGVybiB1bnNpZ25lZCBsb25nIG5ldF9yYW5kb21fUjFjNjZmNjRjKHZv
aWQpOwpleHRlcm4gdm9pZCBuZXRfc3JhbmRvbV9SZmY5NjNlZDgodW5zaWduZWQgbG9uZyk7CiMg
MTYgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvZnMuaCIgMgojIDEg
Ii91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgva2Rldl90LmgiIDEKIyA2
NyAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9rZGV2X3QuaCIKdHlw
ZWRlZiB1bnNpZ25lZCBzaG9ydCBrZGV2X3Q7CiMgNzYgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40
LjEwL2luY2x1ZGUvbGludXgva2Rldl90LmgiCmV4dGVybiBjb25zdCBjaGFyICoga2Rldm5hbWVf
UmMyNThjOTA2KGtkZXZfdCk7CgoKCgoKCnN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGtkZXZf
dF90b19ucihrZGV2X3QgZGV2KSB7CiAgICAgICAgcmV0dXJuICgoKHVuc2lnbmVkIGludCkgKChk
ZXYpID4+IDgpKTw8OCkgfCAoKHVuc2lnbmVkIGludCkgKChkZXYpICYgKCgxVSA8PCA4KSAtIDEp
KSk7Cn0KCnN0YXRpYyBpbmxpbmUga2Rldl90IHRvX2tkZXZfdChpbnQgZGV2KQp7CiAgICAgICAg
aW50IG1ham9yLCBtaW5vcjsKIyA5OCAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVk
ZS9saW51eC9rZGV2X3QuaCIKICAgICAgICBtYWpvciA9IChkZXYgPj4gOCk7CiAgICAgICAgbWlu
b3IgPSAoZGV2ICYgMHhmZik7CgogICAgICAgIHJldHVybiAoKChtYWpvcikgPDwgOCkgfCAobWlu
b3IpKTsKfQojIDE3ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L2Zz
LmgiIDIKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L2lvY3Rs
LmgiIDEKCgoKIyAxICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2FzbS9pb2N0
bC5oIiAxCiMgNSAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9pb2N0
bC5oIiAyCiMgMTggIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvZnMu
aCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbGlzdC5o
IiAxCiMgMTkgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvZnMuaCIg
MgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvZGNhY2hlLmgi
IDEKCgoKCgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvYXNtL2F0b21p
Yy5oIiAxCiMgNyAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9kY2Fj
aGUuaCIgMgojIDEgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGludXgvbW91
bnQuaCIgMQojIDE5ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4L21v
dW50LmgiCnN0cnVjdCB2ZnNtb3VudAp7CiAgICAgICAgc3RydWN0IGxpc3RfaGVhZCBtbnRfaGFz
aDsKICAgICAgICBzdHJ1Y3QgdmZzbW91bnQgKm1udF9wYXJlbnQ7CiAgICAgICAgc3RydWN0IGRl
bnRyeSAqbW50X21vdW50cG9pbnQ7CiAgICAgICAgc3RydWN0IGRlbnRyeSAqbW50X3Jvb3Q7CiAg
ICAgICAgc3RydWN0IHN1cGVyX2Jsb2NrICptbnRfc2I7CiAgICAgICAgc3RydWN0IGxpc3RfaGVh
ZCBtbnRfbW91bnRzOwogICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgbW50X2NoaWxkOwogICAgICAg
IGF0b21pY190IG1udF9jb3VudDsKICAgICAgICBpbnQgbW50X2ZsYWdzOwogICAgICAgIGNoYXIg
Km1udF9kZXZuYW1lOwogICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgbW50X2xpc3Q7CiAgICAgICAg
dWlkX3QgbW50X293bmVyOwp9OwoKc3RhdGljIGlubGluZSBzdHJ1Y3QgdmZzbW91bnQgKm1udGdl
dChzdHJ1Y3QgdmZzbW91bnQgKm1udCkKewogICAgICAgIGlmIChtbnQpCiAgICAgICAgICAgICAg
ICBhdG9taWNfaW5jKCZtbnQtPm1udF9jb3VudCk7CiAgICAgICAgcmV0dXJuIG1udDsKfQoKZXh0
ZXJuIHZvaWQgX19tbnRwdXRfUjk3Njk1ZGFhKHN0cnVjdCB2ZnNtb3VudCAqbW50KTsKCnN0YXRp
YyBpbmxpbmUgdm9pZCBtbnRwdXQoc3RydWN0IHZmc21vdW50ICptbnQpCnsKICAgICAgICBpZiAo
bW50KSB7CiAgICAgICAgICAgICAgICBpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmbW50LT5tbnRf
Y291bnQpKQogICAgICAgICAgICAgICAgICAgICAgICBfX21udHB1dF9SOTc2OTVkYWEobW50KTsK
ICAgICAgICB9Cn0KIyA4ICIvdXNyL3NyYy9ydWRvL2xpbnV4LTIuNC4xMC9pbmNsdWRlL2xpbnV4
L2RjYWNoZS5oIiAyCiMgMjQgIi91c3Ivc3JjL3J1ZG8vbGludXgtMi40LjEwL2luY2x1ZGUvbGlu
dXgvZGNhY2hlLmgiCnN0cnVjdCBxc3RyIHsKICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICog
bmFtZTsKICAgICAgICB1bnNpZ25lZCBpbnQgbGVuOwogICAgICAgIHVuc2lnbmVkIGludCBoYXNo
Owp9OwoKc3RydWN0IGRlbnRyeV9zdGF0X3QgewogICAgICAgIGludCBucl9kZW50cnk7CiAgICAg
ICAgaW50IG5yX3VudXNlZDsKICAgICAgICBpbnQgYWdlX2xpbWl0OwogICAgICAgIGludCB3YW50
X3BhZ2VzOwogICAgICAgIGludCBkdW1teVsyXTsKfTsKZXh0ZXJuIHN0cnVjdCBkZW50cnlfc3Rh
dF90IGRlbnRyeV9zdGF0OwoKCgoKCgpzdGF0aWMgX19pbmxpbmVfXyB1bnNpZ25lZCBsb25nIHBh
cnRpYWxfbmFtZV9oYXNoKHVuc2lnbmVkIGxvbmcgYywgdW5zaWduZWQgbG9uZyBwcmV2aGFzaCkK
ewogICAgICAgIHJldHVybiAocHJldmhhc2ggKyAoYyA8PCA0KSArIChjID4+IDQpKSAqIDExOwp9
CgoKc3RhdGljIF9faW5saW5lX18gdW5zaWduZWQgbG9uZyBlbmRfbmFtZV9oYXNoKHVuc2lnbmVk
IGxvbmcgaGFzaCkKewogICAgICAgIHJldHVybiAodW5zaWduZWQgaW50KSBoYXNoOwp9CgoKc3Rh
dGljIF9faW5saW5lX18gdW5zaWduZWQgaW50IGZ1bGxfbmFtZV9oYXNoKGNvbnN0IHVuc2lnbmVk
IGNoYXIgKiBuYW1lLCB1bnNpZ25lZCBpbnQgbGVuKQp7CiAgICAgICAgdW5zaWduZWQgbG9uZyBo
YXNoID0gMDsKICAgICAgICB3aGlsZSAobGVuLS0pCiAgICAgICAgICAgICAgICBoYXNoID0gcGFy
dGlhbF9uYW1lX2hhc2goKm5hbWUrKywgaGFzaCk7CiAgICAgICAgcmV0dXJuIGVuZF9uYW1lX2hh
c2goaGFzaCk7Cn0KCgoKc3RydWN0IGRlbnRyeSB7CiAgICAgICAgYXRvbWljX3QgZF9jb3VudDsK
ICAgICAgICB1bnNpZ25lZCBpbnQgZF9mbGFnczsKICAgICAgICBzdHJ1Y3QgaW5vZGUgKiBkX2lu
b2RlOwogICAgICAgIHN0cnVjdCBkZW50cnkgKiBkX3BhcmVudDsKICAgICAgICBzdHJ1Y3QgbGlz
dF9oZWFkIGRfaGFzaDsKICAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkIGRfbHJ1OwogICAgICAgIHN0
cnVjdCBsaXN0X2hlYWQgZF9jaGlsZDsKICAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkIGRfc3ViZGly
czsKICAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkIGRfYWxpYXM7CiAgICAgICAgaW50IGRfbW91bnRl
ZDsKICAgICAgICBzdHJ1Y3QgcXN0ciBkX25hbWU7CiAgICAgICAgdW5zaWduZWQgbG9uZyBkX3Rp
bWU7CiAgICAgICAgc3RydWN0IGRlbnRyeV9vcGVyYXRpb25zICpkX29wOwogICAgICAgIHN0cnVj
dCBzdXBlcl9ibG9jayAqIGRfc2I7CiAgICAgICAgdW5zaWduZWQgbG9uZyBkX3Zmc19mbGFnczsK
ICAgICAgICB2b2lkICogZF9mc2RhdGE7CiAgICAgICAgdW5zaWduZWQgY2hhciBkX2luYW1lWzE2
XTsKfTsKCnN0cnVjdCBkZW50cnlfb3BlcmF0aW9ucyB7CiAgICAgICAgaW50ICgqZF9yZXZhbGlk
YXRlKShzdHJ1Y3QgZGVudHJ5ICosIGludCk7CiAgICAgICAgaW50ICgqZF9oYXNoKSAoc3RydWN0
IGRlbnRyeSAqLCBzdHJ1Y3QgcXN0ciAqKTsKICAgICAgICBpbnQgKCpkX2NvbXBhcmUpIChzdHJ1
Y3QgZGVudHJ5ICosIHN0cnVjdCBxc3RyICosIHN0cnVjdCBxc3RyICopOwogICAgICAgIGludCAo
KmRfZGVsZXRlX1IzNTVjZWQ5NSkoc3RydWN0IGRlbnRyeSAqKTsKICAgICAgICB2b2lkICgqZF9y
ZWxlYXNlKShzdHJ1Y3QgZGVudHJ5ICopOwogICAgICAgIHZvaWQgKCpkX2lwdXQpKHN0cnVjdCBk
ZW50cnkgKiwgc3RydWN0IGlub2RlICopOwp9OwojIDEyNyAiL3Vzci9zcmMvcnVkby9saW51eC0y
LjQuMTAvaW5jbHVkZS9saW51eC9kY2FjaGUuaCIKZXh0ZXJuIHNwaW5sb2NrX3QgZGNhY2hlX2xv
Y2tfUjczNDYzY2VmOwojIDE0NiAiL3Vzci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9s
aW51eC9kY2FjaGUuaCIKc3RhdGljIF9faW5saW5lX18gdm9pZCBkX2Ryb3Aoc3RydWN0IGRlbnRy
eSAqIGRlbnRyeSkKewogICAgICAgICh2b2lkKSgmZGNhY2hlX2xvY2tfUjczNDYzY2VmKTsKICAg
ICAgICBsaXN0X2RlbCgmZGVudHJ5LT5kX2hhc2gpOwogICAgICAgIGRvIHsgKCZkZW50cnktPmRf
aGFzaCktPm5leHQgPSAoJmRlbnRyeS0+ZF9oYXNoKTsgKCZkZW50cnktPmRfaGFzaCktPnByZXYg
PSAoJmRlbnRyeS0+ZF9oYXNoKTsgfSB3aGlsZSAoMCk7CiAgICAgICAgZG8geyB9IHdoaWxlKDAp
Owp9CgpzdGF0aWMgX19pbmxpbmVfXyBpbnQgZG5hbWVfZXh0ZXJuYWwoc3RydWN0IGRlbnRyeSAq
ZCkKewogICAgICAgIHJldHVybiBkLT5kX25hbWUubmFtZSAhPSBkLT5kX2luYW1lOwp9CgoKCgpl
eHRlcm4gdm9pZCBkX2luc3RhbnRpYXRlX1IxYjg3NzFjYShzdHJ1Y3QgZGVudHJ5ICosIHN0cnVj
dCBpbm9kZSAqKTsKZXh0ZXJuIHZvaWQgZF9kZWxldGVfUjM1NWNlZDk1KHN0cnVjdCBkZW50cnkg
Kik7CgoKZXh0ZXJuIHN0cnVjdCBkZW50cnkgKiBkX2FsbG9jX1IyMjk3Yzk1NChzdHJ1Y3QgZGVu
dHJ5ICosIGNvbnN0IHN0cnVjdCBxc3RyICopOwpleHRlcm4gdm9pZCBzaHJpbmtfZGNhY2hlX3Ni
X1JjOGNmYmVkMChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKik7CmV4dGVybiB2b2lkIHNocmlua19kY2Fj
aGVfcGFyZW50X1IyZWI4OTU4NihzdHJ1Y3QgZGVudHJ5ICopOwpleHRlcm4gaW50IGRfaW52YWxp
ZGF0ZV9SYjJlNzJjYzkoc3RydWN0IGRlbnRyeSAqKTsKCgpzdHJ1Y3Qgem9uZV9zdHJ1Y3Q7Cgpl
eHRlcm4gaW50IHNocmlua19kY2FjaGVfbWVtb3J5KGludCwgdW5zaWduZWQgaW50KTsKZXh0ZXJu
IHZvaWQgcHJ1bmVfZGNhY2hlX1I2Y2YyOGY3NyhpbnQpOwoKCmV4dGVybiBpbnQgc2hyaW5rX2lj
YWNoZV9tZW1vcnkoaW50LCBpbnQpOwpleHRlcm4gdm9pZCBwcnVuZV9pY2FjaGUoaW50KTsKCgpl
eHRlcm4gc3RydWN0IGRlbnRyeSAqIGRfYWxsb2Nfcm9vdF9SMjljYThiOWYoc3RydWN0IGlub2Rl
ICopOwoKCmV4dGVybiB2b2lkIGRfZ2Vub2NpZGUoc3RydWN0IGRlbnRyeSAqKTsKCmV4dGVybiBz
dHJ1Y3QgZGVudHJ5ICpkX2ZpbmRfYWxpYXNfUjdkZWJjNzU4KHN0cnVjdCBpbm9kZSAqKTsKZXh0
ZXJuIHZvaWQgZF9wcnVuZV9hbGlhc2VzX1IzMTg1MGViMChzdHJ1Y3QgaW5vZGUgKik7CgoKZXh0
ZXJuIGludCBoYXZlX3N1Ym1vdW50c19SZTkyMTA1Mjcoc3RydWN0IGRlbnRyeSAqKTsKCgoKCmV4
dGVybiB2b2lkIGRfcmVoYXNoX1JlZjY4Y2UwOChzdHJ1Y3QgZGVudHJ5ICopOwojIDIwNyAiL3Vz
ci9zcmMvcnVkby9saW51eC0yLjQuMTAvaW5jbHVkZS9saW51eC9kY2FjaGUuaCIKc3RhdGljIF9f
aW5saW5lX18gdm9pZCBkX2FkZChzdHJ1Y3QgZGVudHJ5ICogZW50cnksIHN0cnVjdCBpbm9kZSAq
IGlub2RlKQp7CiAgICAgICAgZF9pbnN0YW50aWF0ZV9SMWI4NzcxY2EoZW50cnksIGlub2RlKTsK
ICAgICAgICBkX3JlaGFzaF9SZWY2OGNlMDgoZW50cnkpOwp9CgoKZXh0ZXJuIHZvaWQgZF9tb3Zl
X1IzYzA5NDdiYyhzdHJ1Y3QgZGVudHJ5ICosIHN0cnVjdCBkZW50cnkgKik7CgoKZXh0ZXJuIHN0
cnVjdCBkZW50cnkgKiBkX2xvb2t1cF9SNmRmYjY3YzAoc3RydWN0IGRlbnRyeSAqLCBzdHJ1Y3Qg
cXN0ciAqKTsKCgpleHRlcm4gaW50IGRfdmFsaWRhdGVfUjVmOTVhYzdlKHN0cnVjdCBkZW50cnkg
Kiwgc3RydWN0IGRlbnRyeSAqKTsKCmV4dGVybiBjaGFyICogX19kX3BhdGhfUjZjZjNkOTQ4KHN0
cnVjdCBkZW50cnkgKiwgc3RydWN0IHZmc21vdW50ICosIHN0cnVjdCBkZW50cnkgKiwKICAgICAg
ICBzdHJ1Y3QgdmZzbW91bnQgKiwgY2hhciAqLCBpbnQpOwojIDI0MCAiL3Vz