This is the mail archive of the gcc-bugs@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]

libstdc++/1797: 1/27 CVS won't make bootstrap. wchar_t not defined



>Number:         1797
>Category:       libstdc++
>Synopsis:       1/27 CVS won't make bootstrap.  wchar_t not defined
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jan 28 01:36:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Matthew Schalit using SCO UnixWare 7.1.1
>Release:        gcc 2.97 20010127
>Organization:
>Environment:

Using SCO UnixWare 7.1.1 with cc, not UDK, on a dual pentiumII 400.

Configured with: ../gcc/configure --disable-nls --enable-threads --enable-shared --enable-languages=c++ --with-as=/usr/bin/as

PATH=/sbin:/usr/sbin:/etc:/usr/bin:/usr/local/bin:/usr/ccs/bin:/usr/local/kde/bin:/usr/X/bin

LD_LIBRARY_PATH=/usr/lib:/lib:/usr/local/lib:/usr/ccs/lib::/usr/local/BerkeleyDB.3.2/lib

LIBPATH=/usr/lib:/lib:/usr/local/lib:/usr/ccs/lib

gnu-make 3.79.1
libdb-3.2.3h
autoconf-2.49d
automake-1.4c
perl-5.6.0
glib-1.2.8
imlib-1.9.8.1
gettext-0.10.35
tcl/tk-8.3.2
binutils-2.10.1
gmp-3.1.1
libtool-1.3.5

>Description:
I configured and compiled in objdir.

I used the configure command listed in the Environment.

Then I used gmake bootstrap, where gmake = /usr/local/bin/make

I saw the following error when the gmake bootstrap got
to the libstdc++-v3 stuff, and the compile failed.  I didn't
know if I should put it here or as an attachment:

-------------------------------------

gmake[2]: Leaving directory `/home/matthew/Uber/CVS/objdir/i586-sco-sysv5uw7.1.1/libiberty'
Configuring in i586-sco-sysv5uw7.1.1/libstdc++-v3
loading cache ../config.cache
checking host system type... i586-sco-sysv5uw7.1.1
checking target system type... i586-sco-sysv5uw7.1.1
checking build system type... i586-sco-sysv5uw7.1.1
checking for a BSD compatible install... /bin/sh /home/matthew/Uber/CVS/gcc/install-sh -c
checking whether build environment is sane... yes
checking whether gmake sets ${MAKE}... yes
checking for Cygwin environment... no
checking for mingw32 environment... no
checking for working aclocal... found
checking for working autoconf... found
checking for working automake... found
checking for working autoheader... found
checking for working makeinfo... found
checking for gcc... (cached) /home/matthew/Uber/CVS/objdir/gcc/xgcc -B/home/matthew/Uber/CVS/objdir/gcc/ -B/usr/local/i586-sco-sysv5uw7.1.1/bin/ -B/usr/local/i586-sco-sysv5uw7.1.1/lib/ -isystem /usr/local/i586-sco-sysv5uw7.1.1/include
checking whether we are using GNU C... (cached) yes
checking whether /home/matthew/Uber/CVS/objdir/gcc/xgcc -B/home/matthew/Uber/CVS/objdir/gcc/ -B/usr/local/i586-sco-sysv5uw7.1.1/bin/ -B/usr/local/i586-sco-sysv5uw7.1.1/lib/ -isystem /usr/local/i586-sco-sysv5uw7.1.1/include accepts -g... (cached) yes
checking for c++... /home/matthew/Uber/CVS/objdir/gcc/g++ -B/home/matthew/Uber/CVS/objdir/gcc/ -nostdinc++  -L/home/matthew/Uber/CVS/objdir/i586-sco-sysv5uw7.1.1/libstdc++-v3/src -L/home/matthew/Uber/CVS/objdir/i586-sco-sysv5uw7.1.1/libstdc++-v3/src/.libs -B/usr/local/i586-sco-sysv5uw7.1.1/bin/ -B/usr/local/i586-sco-sysv5uw7.1.1/lib/ -isystem /usr/local/i586-sco-sysv5uw7.1.1/include
checking whether we are using GNU C++... yes
checking whether /home/matthew/Uber/CVS/objdir/gcc/g++ -B/home/matthew/Uber/CVS/objdir/gcc/ -nostdinc++  -L/home/matthew/Uber/CVS/objdir/i586-sco-sysv5uw7.1.1/libstdc++-v3/src -L/home/matthew/Uber/CVS/objdir/i586-sco-sysv5uw7.1.1/libstdc++-v3/src/.libs -B/usr/local/i586-sco-sysv5uw7.1.1/bin/ -B/usr/local/i586-sco-sysv5uw7.1.1/lib/ -isystem /usr/local/i586-sco-sysv5uw7.1.1/include accepts -g... yes
checking for as... as
checking for ar... (cached) ar
checking for ranlib... (cached) true
checking for a BSD compatible install... /bin/sh /home/matthew/Uber/CVS/gcc/install-sh -c
checking whether to enable maintainer-specific portions of Makefiles... no
CPU config directory is config/cpu/i486
OS config directory is config/os/generic
checking for ld used by GCC... ld
checking if the linker (ld) is GNU ld... no
checking for ld option to reload object files... -r
checking for BSD-compatible nm... nm
checking whether ln -s works... yes
checking how to recognise dependant libraries... unknown
checking for object suffix... o
checking for ranlib... (cached) true
checking for strip... strip
checking how to run the C++ preprocessor... /home/matthew/Uber/CVS/objdir/gcc/g++ -B/home/matthew/Uber/CVS/objdir/gcc/ -nostdinc++  -L/home/matthew/Uber/CVS/objdir/i586-sco-sysv5uw7.1.1/libstdc++-v3/src -L/home/matthew/Uber/CVS/objdir/i586-sco-sysv5uw7.1.1/libstdc++-v3/src/.libs -B/usr/local/i586-sco-sysv5uw7.1.1/bin/ -B/usr/local/i586-sco-sysv5uw7.1.1/lib/ -isystem /usr/local/i586-sco-sysv5uw7.1.1/include -E
updating cache ../config.cache
loading cache ../config.cache within ltconfig
checking for objdir... .libs
checking for /home/matthew/Uber/CVS/objdir/gcc/xgcc option to produce PIC... -fPIC -DPIC
checking if /home/matthew/Uber/CVS/objdir/gcc/xgcc PIC flag -fPIC -DPIC works... yes
checking if /home/matthew/Uber/CVS/objdir/gcc/xgcc static flag -static works... yes
checking if /home/matthew/Uber/CVS/objdir/gcc/xgcc supports -c -o file.o... yes
checking if /home/matthew/Uber/CVS/objdir/gcc/xgcc supports -fno-rtti -fno-exceptions ... yes
checking whether the linker (ld) supports shared libraries... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... no
checking dynamic linker characteristics... sysv5uw7.1.1 ld.so
checking command to parse nm output... failed
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for dlopen in -ldl... yes
checking for dlfcn.h... yes
checking whether a program can dlopen itself... no
creating libtool
updating cache ../config.cache
loading cache ../config.cache
loading cache ../config.cache within ltconfig
checking host system type... i586-sco-sysv5uw7.1.1
checking build system type... i586-sco-sysv5uw7.1.1
checking for objdir... .libs
checking for /home/matthew/Uber/CVS/objdir/gcc/g++ option to produce PIC... -fPIC -DPIC
checking if /home/matthew/Uber/CVS/objdir/gcc/g++ PIC flag -fPIC -DPIC works... yes
checking if /home/matthew/Uber/CVS/objdir/gcc/g++ static flag -static works... no
checking if /home/matthew/Uber/CVS/objdir/gcc/g++ supports -c -o file.o... yes
checking if /home/matthew/Uber/CVS/objdir/gcc/g++ supports -fno-rtti -fno-exceptions ... yes
checking whether the linker (/home/matthew/Uber/CVS/objdir/gcc/g++ -B/home/matthew/Uber/CVS/objdir/gcc/ -nostdinc++  -L/home/matthew/Uber/CVS/objdir/i586-sco-sysv5uw7.1.1/libstdc++-v3/src -L/home/matthew/Uber/CVS/objdir/i586-sco-sysv5uw7.1.1/libstdc++-v3/src/.libs -B/usr/local/i586-sco-sysv5uw7.1.1/bin/ -B/usr/local/i586-sco-sysv5uw7.1.1/lib/ -isystem /usr/local/i586-sco-sysv5uw7.1.1/include) supports shared libraries... no
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... no
checking dynamic linker characteristics... sysv5uw7.1.1 ld.so
checking command to parse nm output... failed
checking if libtool supports shared libraries... no
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for dlfcn.h... (cached) yes
checking whether a program can dlopen itself... (cached) no
appending configuration tag "CXX" to libtool
checking for GNU make... gmake
checking for g++ that will successfully compile libstdc++-v3... yes
checking how to run the C preprocessor... (cached) /home/matthew/Uber/CVS/objdir/gcc/xgcc -B/home/matthew/Uber/CVS/objdir/gcc/ -B/usr/local/i586-sco-sysv5uw7.1.1/bin/ -B/usr/local/i586-sco-sysv5uw7.1.1/lib/ -isystem /usr/local/i586-sco-sysv5uw7.1.1/include -E
checking for cstdio to use... stdio
checking for strtoll... yes
checking for strtoull... yes
checking for lldiv_t declaration... no
checking for enabled long long... no
checking for c header strategy to use... c_std
checking for threads package to use... threads-posix.h
checking for nan.h... no
checking for ieeefp.h... yes
checking for endian.h... no
checking for sys/isa_defs.h... no
checking for machine/endian.h... no
checking for machine/param.h... no
checking for sys/machine.h... no
checking for fp.h... no
checking for locale.h... yes
checking for float.h... yes
checking for inttypes.h... no
checking for gconv.h... no
checking for g++ that supports -fdiagnostics-show-location=once... yes
checking for g++ that supports -ffunction-sections -fdata-sections... yes
checking for __builtin_abs declaration... yes
checking for __builtin_abs linkage... yes
checking for __builtin_fabsf declaration... yes
checking for __builtin_fabsf linkage... yes
checking for __builtin_fabs declaration... yes
checking for __builtin_fabs linkage... yes
checking for __builtin_fabsl declaration... yes
checking for __builtin_fabsl linkage... yes
checking for __builtin_labs declaration... yes
checking for __builtin_labs linkage... yes
checking for __builtin_sqrtf declaration... yes
checking for __builtin_sqrtf linkage... no
checking for __builtin_fsqrt declaration... yes
checking for __builtin_fsqrt linkage... no
checking for __builtin_sqrtl declaration... yes
checking for __builtin_sqrtl linkage... no
checking for __builtin_sinf declaration... yes
checking for __builtin_sinf linkage... no
checking for __builtin_sin declaration... yes
checking for __builtin_sin linkage... no
checking for __builtin_sinl declaration... yes
checking for __builtin_sinl linkage... no
checking for __builtin_cosf declaration... yes
checking for __builtin_cosf linkage... no
checking for __builtin_cos declaration... yes
checking for __builtin_cos linkage... no
checking for __builtin_cosl declaration... yes
checking for __builtin_cosl linkage... no
checking for sin in -lm... yes
checking for isinf declaration... no
checking for isnan declaration... yes
checking for isnan... yes
checking for finite declaration... yes
checking for finite... yes
checking for copysign declaration... yes
checking for copysign... yes
checking for sincos declaration... no
checking for fpclass declaration... no
checking for qfpclass declaration... no
checking for float trig functions... yes
checking for acosf... yes
checking for asinf... yes
checking for atanf... yes
checking for cosf... yes
checking for sinf... yes
checking for tanf... yes
checking for coshf... yes
checking for sinhf... yes
checking for tanhf... yes
checking for float round functions... yes
checking for ceilf... yes
checking for floorf... yes
checking for isnanf declaration... no
checking for isinff declaration... no
checking for fabsf declaration... yes
checking for fabsf... yes
checking for fmodf declaration... yes
checking for fmodf... yes
checking for frexpf declaration... no
checking for ldexpf declaration... no
checking for logf declaration... yes
checking for logf... yes
checking for log10f declaration... yes
checking for log10f... yes
checking for modff declaration... yes
checking for modff... yes
checking for powf declaration... yes
checking for powf... yes
checking for sqrtf declaration... yes
checking for sqrtf... yes
checking for sincosf declaration... no
checking for finitef declaration... no
checking for long double trig functions... no
checking for long double round functions... no
checking for isnanl declaration... no
checking for isinfl declaration... no
checking for copysignl declaration... no
checking for atan2l declaration... no
checking for expl declaration... no
checking for fabsl declaration... no
checking for fmodl declaration... no
checking for frexpl declaration... yes
checking for frexpl... yes
checking for ldexpl declaration... yes
checking for ldexpl... yes
checking for logl declaration... no
checking for log10l declaration... no
checking for modfl declaration... yes
checking for modfl... yes
checking for powl declaration... no
checking for sqrtl declaration... no
checking for sincosl declaration... no
checking for finitel declaration... yes
checking for finitel... yes
checking for _isinf declaration... no
checking for _isnan declaration... no
checking for _finite declaration... no
checking for _copysign declaration... no
checking for _sincos declaration... no
checking for _fpclass declaration... no
checking for _qfpclass declaration... no
checking for _float trig functions... no
checking for _float round functions... no
checking for _isnanf declaration... no
checking for _isinff declaration... no
checking for _fabsf declaration... no
checking for _fmodf declaration... no
checking for _frexpf declaration... no
checking for _ldexpf declaration... no
checking for _logf declaration... no
checking for _log10f declaration... no
checking for _modff declaration... no
checking for _powf declaration... no
checking for _sqrtf declaration... no
checking for _sincosf declaration... no
checking for _finitef declaration... no
checking for _long double trig functions... no
checking for _long double round functions... no
checking for _isnanl declaration... no
checking for _isinfl declaration... no
checking for _copysignl declaration... no
checking for _atan2l declaration... no
checking for _expl declaration... no
checking for _fabsl declaration... no
checking for _fmodl declaration... no
checking for _frexpl declaration... no
checking for _ldexpl declaration... no
checking for _logl declaration... no
checking for _log10l declaration... no
checking for _modfl declaration... no
checking for _powl declaration... no
checking for _sqrtl declaration... no
checking for _sincosl declaration... no
checking for _finitel declaration... no
checking for main in -lm... yes
checking for nan... yes
checking for hypot... yes
checking for hypotf... no
checking for atan2f... yes
checking for expf... yes
checking for copysignf... no
checking for GNU C++ __complex__ support... ok
checking for GNU C++ __complex__ float support... ok
checking for mbstate_t... yes
checking for wchar.h... yes
checking for wctype.h... yes
configure: warning: wchar_t support disabled.
checking for strtof... yes
checking for strtold declaration... no
checking for unistd.h... (cached) yes
checking for getpagesize... (cached) yes
checking for working mmap... (cached) yes
updating cache ../config.cache
checking for locale.h... (cached) yes
checking for LC_MESSAGES... yes
checking for interface version number... v3
checking for --with-gxx-include-dir... no
checking for --enable-version-specific-runtime-libs... no
checking for /home/matthew/Uber/CVS/objdir/i586-sco-sysv5uw7.1.1/libstdc++-v3/include
updating cache ../config.cache
creating ./config.status
creating tests_flags
creating mkcheck
creating Makefile
creating src/Makefile
creating libmath/Makefile
creating libio/Makefile
creating libsupc++/Makefile
creating config.h
linking ../../../gcc/libstdc++-v3/config/os/generic/bits/os_defines.h to include/bits/os_defines.h
linking ../../../gcc/libstdc++-v3/config/c_io_stdio.h to include/bits/c++io.h
linking ../../../gcc/libstdc++-v3/config/c_io_stdio.cc to src/c++io.cc
linking ../../../gcc/libstdc++-v3/config/c_io_libio_codecvt.c to libio/c_codecvt.c
linking ../../../gcc/libstdc++-v3/config/threads-posix.h to include/bits/c++threads.h
linking ../../../gcc/libstdc++-v3/config/os/generic/bits/ctype_base.h to include/bits/ctype_base.h
linking ../../../gcc/libstdc++-v3/config/os/generic/bits/ctype_inline.h to include/bits/ctype_inline.h
linking ../../../gcc/libstdc++-v3/config/os/generic/bits/ctype_noninline.h to include/bits/ctype_noninline.h
linking ../../../gcc/libstdc++-v3/config/cpu/i486/bits/atomicity.h to include/bits/atomicity.h
Adding multilib support to Makefile in ../../../gcc/libstdc++-v3
multidirs=
with_multisubdir=
running mkc++config
running mknumeric_limits
/home/matthew/Uber/CVS/objdir/gcc/g++ -B/home/matthew/Uber/CVS/objdir/gcc/ -nostdinc++  -L/home/matthew/Uber/CVS/objdir/i586-sco-sysv5uw7.1.1/libstdc++-v3/src -L/home/matthew/Uber/CVS/objdir/i586-sco-sysv5uw7.1.1/libstdc++-v3/src/.libs -B/usr/local/i586-sco-sysv5uw7.1.1/bin/ -B/usr/local/i586-sco-sysv5uw7.1.1/lib/ -isystem /usr/local/i586-sco-sysv5uw7.1.1/include  -I/home/matthew/Uber/CVS/objdir/i586-sco-sysv5uw7.1.1/libstdc++-v3/include     -o /home/matthew/Uber/CVS/objdir/i586-sco-sysv5uw7.1.1/libstdc++-v3/src/gen-num-limits ../../../gcc/libstdc++-v3/src/gen-num-limits.cc      -nodefaultlibs -lgcc -lc
In file included from /home/matthew/Uber/CVS/objdir/gcc/include/stdio.h:19,
                 from ../../../gcc/libstdc++-v3/src/gen-num-limits.cc:52:
/home/matthew/Uber/CVS/objdir/gcc/include/sys/types.h:151: declaration does not 
   declare anything
gen-num-limits failed to build, exiting.
mknumeric_limits failed to execute properly: exiting
gmake[1]: *** [configure-target-libstdc++-v3] Error 1
gmake[1]: Leaving directory `/home/matthew/Uber/CVS/objdir'
gmake: *** [bootstrap] Error 2
----------------------------------------



You might also note that the config.log for this lib
had this to say at the time it checked wchar.h, because
it already started complaining about wchar_t.




configure:14398: checking for GNU C++ __complex__ support
configure:14421: /home/matthew/Uber/CVS/objdir/gcc/g++ -B/home/matthew/Uber/CVS/objdir/gcc/ -nostdinc++  -L/home/matthew/Uber/CVS/objdir/i586-sco-sysv5uw7.1.1/libstdc++-v3/src -L/home/matthew/Uber/CVS/objdir/i586-sco-sysv5uw7.1.1/libstdc++-v3/src/.libs -B/usr/local/i586-sco-sysv5uw7.1.1/bin/ -B/usr/local/i586-sco-sysv5uw7.1.1/lib/ -isystem /usr/local/i586-sco-sysv5uw7.1.1/include -c -g -O2  conftest.C 1>&5
configure:14451: checking for GNU C++ __complex__ float support
configure:14491: /home/matthew/Uber/CVS/objdir/gcc/g++ -B/home/matthew/Uber/CVS/objdir/gcc/ -nostdinc++  -L/home/matthew/Uber/CVS/objdir/i586-sco-sysv5uw7.1.1/libstdc++-v3/src -L/home/matthew/Uber/CVS/objdir/i586-sco-sysv5uw7.1.1/libstdc++-v3/src/.libs -B/usr/local/i586-sco-sysv5uw7.1.1/bin/ -B/usr/local/i586-sco-sysv5uw7.1.1/lib/ -isystem /usr/local/i586-sco-sysv5uw7.1.1/include -c -g -O2  conftest.C 1>&5
configure:14523: checking for mbstate_t
configure:14532: /home/matthew/Uber/CVS/objdir/gcc/xgcc -B/home/matthew/Uber/CVS/objdir/gcc/ -B/usr/local/i586-sco-sysv5uw7.1.1/bin/ -B/usr/local/i586-sco-sysv5uw7.1.1/lib/ -isystem /usr/local/i586-sco-sysv5uw7.1.1/include -c -g  conftest.c 1>&5
configure:14554: checking for wchar.h
configure:14564: /home/matthew/Uber/CVS/objdir/gcc/xgcc -B/home/matthew/Uber/CVS/objdir/gcc/ -B/usr/local/i586-sco-sysv5uw7.1.1/bin/ -B/usr/local/i586-sco-sysv5uw7.1.1/lib/ -isystem /usr/local/i586-sco-sysv5uw7.1.1/include -E  conftest.c >/dev/null 2>conftest.out
configure:14593: checking for wctype.h
configure:14603: /home/matthew/Uber/CVS/objdir/gcc/xgcc -B/home/matthew/Uber/CVS/objdir/gcc/ -B/usr/local/i586-sco-sysv5uw7.1.1/bin/ -B/usr/local/i586-sco-sysv5uw7.1.1/lib/ -isystem /usr/local/i586-sco-sysv5uw7.1.1/include -E  conftest.c >/dev/null 2>conftest.out
configure:14953: checking for strtof
configure:14981: /home/matthew/Uber/CVS/objdir/gcc/xgcc -B/home/matthew/Uber/CVS/objdir/gcc/ -B/usr/local/i586-sco-sysv5uw7.1.1/bin/ -B/usr/local/i586-sco-sysv5uw7.1.1/lib/ -isystem /usr/local/i586-sco-sysv5uw7.1.1/include -o conftest -g   conftest.c -lm  1>&5
configure:15007: checking for strtold declaration
configure:15029: /home/matthew/Uber/CVS/objdir/gcc/g++ -B/home/matthew/Uber/CVS/objdir/gcc/ -nostdinc++  -L/home/matthew/Uber/CVS/objdir/i586-sco-sysv5uw7.1.1/libstdc++-v3/src -L/home/matthew/Uber/CVS/objdir/i586-sco-sysv5uw7.1.1/libstdc++-v3/src/.libs -B/usr/local/i586-sco-sysv5uw7.1.1/bin/ -B/usr/local/i586-sco-sysv5uw7.1.1/lib/ -isystem /usr/local/i586-sco-sysv5uw7.1.1/include -c -fno-builtins -D_GNU_SOURCE  conftest.C 1>&5
In file included from configure:15023:
/home/matthew/Uber/CVS/objdir/gcc/include/stdlib.h:45: declaration does not 
   declare anything
configure: failed program was:
#line 15022 "configure"
#include "confdefs.h"
#include <stdlib.h>
int main() {
 strtold(0, 0);
; return 0; }
configure:15117: checking for unistd.h
configure:15156: checking for getpagesize
configure:15209: checking for working mmap
--------------------------------------------



And here's the stdlib.h section around line 45
that the above configure script had problems with:

#ifndef _WCHAR_T
#   define _WCHAR_T
#ifndef __WCHAR_TYPE__
#define __WCHAR_TYPE__ int
#endif
        typedef __WCHAR_TYPE__ wchar_t;
#endif


>How-To-Repeat:
Compile as described.

Thanks for your time and consideration of this issue.
Matthew
>Fix:

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

LyoKICogQ29weXJpZ2h0IChjKSAxOTk5IFRoZSBTYW50YSBDcnV6IE9wZXJhdGlvbiwgSW5jLi4g
QWxsIFJpZ2h0cyBSZXNlcnZlZC4gCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogKiAgICAgICAgVEhJUyBJ
UyBVTlBVQkxJU0hFRCBQUk9QUklFVEFSWSBTT1VSQ0UgQ09ERSBPRiBUSEUgICAgICAgICAgICAg
ICAKICogICAgICAgICAgICAgICAgICAgU0FOVEEgQ1JVWiBPUEVSQVRJT04gSU5DLiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogKiAgIFRoZSBjb3B5cmln
aHQgbm90aWNlIGFib3ZlIGRvZXMgbm90IGV2aWRlbmNlIGFueSBhY3R1YWwgb3IgaW50ZW5kZWQg
ICAKICogICBwdWJsaWNhdGlvbiBvZiBzdWNoIHNvdXJjZSBjb2RlLiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCiAqLwoKI2lmbmRlZiBfVVRJTF9UWVBFU19ICS8qIHdyYXBw
ZXIgc3ltYm9sIGZvciBrZXJuZWwgdXNlICovCiNkZWZpbmUgX1VUSUxfVFlQRVNfSAkvKiBzdWJq
ZWN0IHRvIGNoYW5nZSB3aXRob3V0IG5vdGljZSAqLwojZGVmaW5lIF9TWVNfVFlQRVNfSAkvKiBT
VlI0LjBDT01QQVQgKi8KCiNpZGVudAkiQCgjKXVuaXhzcmM6dXNyL3NyYy9pMzg2L3V0cy91dGls
L3R5cGVzLmggL21haW4vdXc3X25qLzQiCgovKgogKiBEZWZpbml0aW9ucyBvZiBhbGwgdGhlIGJh
c2ljIHN5c3RlbSB0eXBlcy4KICovCgovKgogKiBUaGUgbmV4dCBmZXcgdHlwZXMgaGF2ZSB0aGUg
c2FtZSBzcGVsbGluZyBhbmQgc2FtZSBzaXplCiAqIHJlZ2FyZGxlc3Mgb2YgY29tcGlsYXRpb24g
bW9kZWwuCiAqLwojaWZuZGVmIF9JTlQ4X1QKI2RlZmluZSBfSU5UOF9UCnR5cGVkZWYgY2hhcgkJ
aW50OF90OwojZW5kaWYKCiNpZm5kZWYgX1VJTlQ4X1QKI2RlZmluZSBfVUlOVDhfVAp0eXBlZGVm
IHVuc2lnbmVkIGNoYXIJdWludDhfdDsKI2VuZGlmCgojaWZuZGVmIF9JTlQxNl9UCiNkZWZpbmUg
X0lOVDE2X1QKdHlwZWRlZiBzaG9ydAkJaW50MTZfdDsKI2VuZGlmCgojaWZuZGVmIF9VSU5UMTZf
VAojZGVmaW5lIF9VSU5UMTZfVAp0eXBlZGVmIHVuc2lnbmVkIHNob3J0CXVpbnQxNl90OwojZW5k
aWYKCiNpZm5kZWYgX0lOVDMyX1QKI2RlZmluZSBfSU5UMzJfVAp0eXBlZGVmIGludAkJaW50MzJf
dDsKI2VuZGlmCgojaWZuZGVmIF9VSU5UMzJfVAojZGVmaW5lIF9VSU5UMzJfVAp0eXBlZGVmIHVu
c2lnbmVkIGludAl1aW50MzJfdDsKI2VuZGlmCgojaWZuZGVmIF9UX1NDQUxBUl9UCiNkZWZpbmUg
X1RfU0NBTEFSX1QKdHlwZWRlZiBpbnQJCXRfc2NhbGFyX3Q7CiNlbmRpZgoKI2lmbmRlZiBfVF9V
U0NBTEFSX1QKI2RlZmluZSBfVF9VU0NBTEFSX1QKdHlwZWRlZiB1bnNpZ25lZCBpbnQJdF91c2Nh
bGFyX3Q7CiNlbmRpZgoKCi8qIFRoZSBzaXplIG9mIGludHB0cl90IHZhcmllcyBkZXBlbmRpbmcg
b24gdGhlIGNvbXBpbGF0aW9uIG1vZGVsLiAqLwojaWZuZGVmIF9JTlRQVFJfVAojZGVmaW5lIF9J
TlRQVFJfVAp0eXBlZGVmIGxvbmcJCWludHB0cl90OwojZW5kaWYKCiNpZm5kZWYgX1VJTlRQVFJf
VAojZGVmaW5lIF9VSU5UUFRSX1QKdHlwZWRlZiB1bnNpZ25lZCBsb25nCXVpbnRwdHJfdDsKI2Vu
ZGlmCgoKLyoKICogVGhlc2UgdHlwZXMgaGF2ZSB0aGUgc2FtZSBzaXplIGJ1dCBkaWZmZXJlbnQg
c3BlbGxpbmcgZGVwZW5kaW5nCiAqIG9uIHRoZSBjb21waWxhdGlvbiBtb2RlbC4KICovCiNpZiAj
bW9kZWwobHA2NCkKI2lmbmRlZiBfSU5UNjRfVAojZGVmaW5lIF9JTlQ2NF9UCnR5cGVkZWYgbG9u
ZyBpbnQ2NF90OwojZW5kaWYKCiNpZm5kZWYgX1VJTlQ2NF9UCiNkZWZpbmUgX1VJTlQ2NF9UCnR5
cGVkZWYgdW5zaWduZWQgbG9uZyB1aW50NjRfdDsKI2VuZGlmCgojaWZuZGVmIF9TSVpFMzJfVAoj
ZGVmaW5lIF9TSVpFMzJfVAp0eXBlZGVmIHVpbnQzMl90IHNpemUzMl90OwojZW5kaWYKCiNlbHNl
CiNpZm5kZWYgX0lOVDY0X1QKI2RlZmluZSBfSU5UNjRfVAp0eXBlZGVmIGxvbmcgbG9uZyBpbnQ2
NF90OwojZW5kaWYKCiNpZm5kZWYgX1VJTlQ2NF9UCiNkZWZpbmUgX1VJTlQ2NF9UCnR5cGVkZWYg
dW5zaWduZWQgbG9uZyBsb25nIHVpbnQ2NF90OwojZW5kaWYKCiNlbmRpZiAvKiAjbW9kZWwobHA2
NCkgKi8KCnR5cGVkZWYJdW5zaWduZWQgY2hhcgl1Y2hhcl90OwoKI2lmbmRlZiBfVVNIT1JUX1QK
I2RlZmluZSBfVVNIT1JUX1QKdHlwZWRlZgl1bnNpZ25lZCBzaG9ydAl1c2hvcnRfdDsKI2VuZGlm
Cgp0eXBlZGVmCXVuc2lnbmVkIGludAl1aW50X3Q7CgojaWZuZGVmIF9VTE9OR19UCiNkZWZpbmUg
X1VMT05HX1QKdHlwZWRlZgl1bnNpZ25lZCBsb25nCXVsb25nX3Q7CiNlbmRpZgoKI2lmbmRlZiBf
VVNFQ09ORFNfVAojZGVmaW5lIF9VU0VDT05EU19UCnR5cGVkZWYgdW5zaWduZWQgbG9uZyB1c2Vj
b25kc190OwojZW5kaWYKCiNpZm5kZWYgX1VMTE9OR19UCiNkZWZpbmUgX1VMTE9OR19UCnR5cGVk
ZWYJdW5zaWduZWQgbG9uZyBsb25nCXVsbG9uZ190OwojZW5kaWYKCiNpZm5kZWYgX0xMT05HX1QK
I2RlZmluZSBfTExPTkdfVAp0eXBlZGVmCWxvbmcgbG9uZwlsbG9uZ190OwojZW5kaWYKCi8qIFNv
bWUgImFkZHJlc3MiIHR5cGVzLCBtb3N0bHkgZm9yIGFwcGxpY2F0aW9uIGNvbXBhdGliaWxpdHk6
ICovCnR5cGVkZWYJbG9uZwlkYWRkcl90OwkJLyogZGlzayAoc2VjdG9yKSBhZGRyZXNzIHR5cGUg
Ki8KdHlwZWRlZgljaGFyICoJY2FkZHJfdDsJCS8qICJjb3JlIiAodmlydHVhbCBtZW1vcnkpIGFk
ZHJlc3MgdHlwZSAqLwp0eXBlZGVmIGNoYXIgKglhZGRyX3Q7CQkJLyogImNvcmUiICh2aXJ0dWFs
IG1lbW9yeSkgYWRkcmVzcyB0eXBlICovCnR5cGVkZWYgY2hhciAqCWZhZGRyX3Q7CQkvKiAiZmFy
IiBhZGRyZXNzIHR5cGUgKi8KCiNpZm5kZWYJX1dDSEFSX1QKI2RlZmluZQlfV0NIQVJfVAojaWZu
ZGVmIF9fV0NIQVJfVFlQRV9fCiNkZWZpbmUgX19XQ0hBUl9UWVBFX18gaW50CiNlbmRpZgp0eXBl
ZGVmIF9fV0NIQVJfVFlQRV9fIHdjaGFyX3Q7CQkJLyogd2lkZSBjaGFyYWN0ZXIgdHlwZSAqLwoj
ZW5kaWYKCi8qCiAqIEJhc2ljIHR5cGVzIHdpdGggdGhyZWUgc2l6ZXM6IDMyLWJpdCwgNjQtYml0
LCBhbmQgIm5hdGl2ZSIuCiAqLwoKLyogb2Zmc2V0cyB3aXRoaW4gZmlsZXMgKi8KdHlwZWRlZiBs
b25nCQlvZmYzMl90Owp0eXBlZGVmIGxsb25nX3QJCW9mZjY0X3Q7CnR5cGVkZWYgbG9uZwkJbl9v
ZmZfdDsKdHlwZWRlZiB1bG9uZ190CQl1b2ZmMzJfdDsKdHlwZWRlZiB1bGxvbmdfdAl1b2ZmNjRf
dDsKdHlwZWRlZiB1bG9uZ190CQluX3VvZmZfdDsKCi8qIGlub2RlIHZhbHVlcyAqLwp0eXBlZGVm
IHVsb25nX3QJCWlubzMyX3Q7CnR5cGVkZWYgdWxsb25nX3QgCWlubzY0X3Q7CnR5cGVkZWYgdWxv
bmdfdAkJbl9pbm9fdDsKCi8qIGNvdW50IG9mIGZpbGUgYmxvY2tzICovCnR5cGVkZWYgbG9uZwkJ
YmxrY250MzJfdDsKdHlwZWRlZglsbG9uZ190CQlibGtjbnQ2NF90Owp0eXBlZGVmIGxvbmcJCW5f
YmxrY250X3Q7CgovKiBDb3VudCBvZiBmaWxlIHN5c3RlbSBibG9ja3MgKi8KdHlwZWRlZiB1bG9u
Z190CQlmc2Jsa2NudDMyX3Q7CnR5cGVkZWYgdWxsb25nX3QJZnNibGtjbnQ2NF90Owp0eXBlZGVm
IHVsb25nX3QJCW5fZnNibGtjbnRfdDsKCi8qIGNvdW50IG9mIGZpbGVzICovCnR5cGVkZWYgdWxv
bmdfdAkJZnNmaWxjbnQzMl90Owp0eXBlZGVmIHVsbG9uZ190CWZzZmlsY250NjRfdDsKdHlwZWRl
ZiB1bG9uZ190CQluX2ZzZmlsY250X3Q7CgojaWZkZWYgX0tFUk5FTAoKdHlwZWRlZglpbm8zMl90
CQlpbm9fdDsKI2lmIF9GU0tJID49IDIKI2lmbmRlZiBfRERJCnR5cGVkZWYgb2ZmNjRfdAkJb2Zm
X3Q7CiNlbmRpZiAvKiBfRERJICovCnR5cGVkZWYgdW9mZjY0X3QJdW9mZl90OwovKnR5cGVkZWYg
aW5vNjRfdAlpbm9fdDsqLwp0eXBlZGVmIGJsa2NudDY0X3QJYmxrY250X3Q7CnR5cGVkZWYgZnNi
bGtjbnQ2NF90CWZzYmxrY250X3Q7CnR5cGVkZWYgZnNmaWxjbnQ2NF90CWZzZmlsY250X3Q7CiNl
bGlmIF9GU0tJID09IDEKI2lmbmRlZiBfRERJCnR5cGVkZWYgb2ZmMzJfdAkJb2ZmX3Q7CiNlbmRp
ZiAvKiBfRERJICovCnR5cGVkZWYgdW9mZjMyX3QJdW9mZl90OwovKnR5cGVkZWYgaW5vMzJfdAlp
bm9fdDsqLwp0eXBlZGVmIGJsa2NudDMyX3QJYmxrY250X3Q7CnR5cGVkZWYgZnNibGtjbnQzMl90
CWZzYmxrY250X3Q7CnR5cGVkZWYgZnNmaWxjbnQzMl90CWZzZmlsY250X3Q7CiNlbmRpZiAvKl9G
U0tJKi8KCnR5cGVkZWYgdm9pZCAqIGNoYW5faGFuZGxlX3Q7CnR5cGVkZWYgdWxvbmdfdAljaGFu
bmVsX3Q7Cgp0eXBlZGVmCXN0cnVjdCBfX2RldnNpemUgewoJZGFkZHJfdAkJYmxrbm87CQkJLyog
IyBvZiBibG9ja3MgKi8KCXVzaG9ydF90CWJsa29mZjsJCQkvKiBhbmQgcGFydGlhbCBibG9ja3Mg
Ki8KfSBkZXZzaXplX3Q7CgojZWxzZSAvKiAhX0tFUk5FTCAqLwoKI2lmbmRlZiBfRklMRV9PRkZT
RVRfQklUUwp0eXBlZGVmIG5fb2ZmX3QJCW9mZl90Owp0eXBlZGVmIG5fdW9mZl90CXVvZmZfdDsK
dHlwZWRlZiBuX2lub190CQlpbm9fdDsKdHlwZWRlZiBuX2Jsa2NudF90CWJsa2NudF90Owp0eXBl
ZGVmIG5fZnNibGtjbnRfdAlmc2Jsa2NudF90Owp0eXBlZGVmIG5fZnNmaWxjbnRfdAlmc2ZpbGNu
dF90OwojZWxpZiBfRklMRV9PRkZTRVRfQklUUyAtIDAgPT0gMzIKdHlwZWRlZiBvZmYzMl90CQlv
ZmZfdDsKdHlwZWRlZiB1b2ZmMzJfdAl1b2ZmX3Q7CnR5cGVkZWYgaW5vMzJfdAkJaW5vX3Q7CnR5
cGVkZWYgYmxrY250MzJfdAlibGtjbnRfdDsKdHlwZWRlZiBmc2Jsa2NudDMyX3QJZnNibGtjbnRf
dDsKdHlwZWRlZiBmc2ZpbGNudDMyX3QJZnNmaWxjbnRfdDsKI2VsaWYgX0ZJTEVfT0ZGU0VUX0JJ
VFMgLSAwID09IDY0CnR5cGVkZWYgb2ZmNjRfdAkJb2ZmX3Q7CnR5cGVkZWYgdW9mZjY0X3QJdW9m
Zl90OwovKiBpbm9fdCBtdXN0IG1hdGNoIGtlcm5lbCBkZWZpbnRpb24gKi8KI2lmZGVmIF9OT1Rf
WUVUCnR5cGVkZWYgaW5vNjRfdAkJaW5vX3Q7CiNlbHNlCnR5cGVkZWYgaW5vMzJfdAkJaW5vX3Q7
CiNlbmRpZgp0eXBlZGVmIGJsa2NudDY0X3QJYmxrY250X3Q7CnR5cGVkZWYgZnNibGtjbnQ2NF90
CWZzYmxrY250X3Q7CnR5cGVkZWYgZnNmaWxjbnQ2NF90CWZzZmlsY250X3Q7CiNlbHNlCiNlcnJv
ciAiX0ZJTEVfT0ZGU0VUX0JJVFMsIGlmIGRlZmluZWQsIG11c3QgYmUgMzIgb3IgNjQiCiNlbmRp
ZiAvKiBfRklMRV9PRkZTRVRfQklUUyAqLwoKI2VuZGlmIC8qICFfS0VSTkVMICovCgp0eXBlZGVm
CXNob3J0CWNudF90OwkJCS8qID88Y291bnQ+IHR5cGUgKi8KdHlwZWRlZgl1bG9uZ190CXZhZGRy
X3Q7CQkvKiA8dmlydHVhbCBhZGRyZXNzPiB0eXBlICovCnR5cGVkZWYJdWxvbmdfdAlwYWRkcl90
OwkJLyogPHBoeXNpY2FsIGFkZHJlc3M+IHR5cGUgKi8KdHlwZWRlZiB1aW50X3QJcHBpZF90OwkJ
CS8qIDxwaHlzaWNhbCBwYWdlIGlkPiB0eXBlICovCnR5cGVkZWYJdWNoYXJfdAl1c2VfdDsJCQkv
KiB1c2UgY291bnQgZm9yIHN3YXAgKi8KdHlwZWRlZglzaG9ydAlzeXNpZF90OwkJLyogc3lzdGVt
IElEIChSRlMpICovCnR5cGVkZWYJc2hvcnQJaW5kZXhfdDsJCS8qIGJpdG1hcCBpbmRleCAobm8g
bG9uZ2VyIHVzZWQpICovCgp0eXBlZGVmIHVsb25nX3QgcGFkZHIzMl90OwkJLyogPDMyLWJpdCBw
aHlzaWNhbCBhZGRyZXNzPiB0eXBlICovCnR5cGVkZWYgdWxsb25nX3QgcGFkZHI2NF90OwkJLyog
PDY0LWJpdCBwaHlzaWNhbCBhZGRyZXNzPiB0eXBlICovCgovKgogKiBUaGUgdHlwZSBvZiBhIHJl
c291cmNlIG1hbmFnZXIga2V5LCBkZWZpbmVkIGhlcmUgYmVjYXVzZSBsb3RzCiAqIG9mIHRoaW5n
cywgYm90aCBhdCB0aGUgYXBwIGFuZCBrZXJuZWwgbGV2ZWwsIG5lZWQgaXQuCiAqLwojaWZuZGVm
IF9STV9LRVlfVAojZGVmaW5lIF9STV9LRVlfVAp0eXBlZGVmCXVpbnRfdAlybV9rZXlfdDsKI2Vu
ZGlmCgojaWYgIWRlZmluZWQoX1BPU0lYX1NPVVJDRSkgJiYgIWRlZmluZWQoX1BPU0lYX0NfU09V
UkNFKSBcCgkmJiAhZGVmaW5lZChfWE9QRU5fU09VUkNFKQp0eXBlZGVmIGVudW0gYm9vbGVhbiB7
IEJfRkFMU0UsIEJfVFJVRSB9IGJvb2xlYW5fdDsKdHlwZWRlZglzdHJ1Y3QgX2xhYmVsIHsgaW50
IHZhbFs2XTsgfSBsYWJlbF90Owp0eXBlZGVmIHN0cnVjdCBfcXVhZCB7IGxvbmcgdmFsWzJdOyB9
IHF1YWQ7CS8qIHVzZWQgYnkgVUZTICovCiNkZWZpbmUgcXVhZF9sb3coeCkJeC52YWxbMF0KI2Vu
ZGlmCgovKgogKiBUaGUgZm9sbG93aW5nIHR5cGUgaXMgZm9yIHZhcmlvdXMga2luZHMgb2YgaWRl
bnRpZmllcnMuICBUaGUKICogYWN0dWFsIHR5cGUgbXVzdCBiZSB0aGUgc2FtZSBmb3IgYWxsIHNp
bmNlIHNvbWUgc3lzdGVtIGNhbGxzCiAqIChzdWNoIGFzIHNpZ3NlbmQpIHRha2UgYXJndW1lbnRz
IHRoYXQgbWF5IGJlIGFueSBvZiB0aGVzZQogKiB0eXBlcy4gIFRoZSBlbnVtZXJhdGlvbiB0eXBl
IGlkdHlwZV90IGRlZmluZWQgaW4gcHJvY3NldC5oCiAqIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hh
dCB0eXBlIG9mIGlkIGlzIGJlaW5nIHNwZWNpZmllZC4KICovCgojaWZuZGVmIF9JRF9UCiNkZWZp
bmUgX0lEX1QKdHlwZWRlZiBsb25nCWlkX3Q7CQkvKiBBIHByb2Nlc3MgaWQsCSovCiNlbmRpZgoJ
CQkJLyogcHJvY2VzcyBncm91cCBpZCwJKi8KCQkJCS8qIHNlc3Npb24gaWQsIAkJKi8KCQkJCS8q
IHNjaGVkdWxpbmcgY2xhc3MgaWQsCSovCgkJCQkvKiB1c2VyIGlkLCBvciBncm91cCBpZC4qLwoK
LyogQSB0eXBlIGZvciB0YWxraW5nIGFib3V0IChwb3NzaWJseSBodWdlKSBwaHlzaWNhbCBtZW1v
cnkgc2l6ZXMgaW4gYnl0ZXMgKi8KdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgbWVtc2l6ZV90
OwoKLyogVGhlIHR5cGUgdXNlZCB0byBzcGVjaWZ5IGFuIExXUCBJRCBhdCB1c2VyIGxldmVsICov
CnR5cGVkZWYJbG9uZwlsd3BpZF90OwoKLyogQW4gb3BhcXVlIGlkZW50aWZpZXIgZm9yIGEgQ1BV
IEdyb3VwLCB2aXNpYmxlIGF0IHVzZXIgbGV2ZWwgKi8KdHlwZWRlZiBsb25nIGxvbmcgY2dpZF90
OwoKLyogQ1BVIGdyb3VwIG51bWJlciB1c2VkIGludGVybmFsbHkgYXMgYW4gYXJyYXkgaW5kZXgs
IGV0Yy4gKi8KdHlwZWRlZiBpbnQJY2dudW1fdDsKCi8qIEEgcHJvY2Vzc29yIG5hbWUgKi8KdHlw
ZWRlZglpbnQJcHJvY2Vzc29yaWRfdDsKCi8qIFRoZSB0eXBlIHJldHVybmVkIGJ5IHRoZSB0aW1l
b3V0IGludGVyZmFjZXMgKi8KdHlwZWRlZglpbnQJdG9pZF90OwoKLyogVHlwZWRlZiBmb3Iga2Vy
bmVsIHByaXZpbGVnZSBtZWNoYW5pc20gKi8KCnR5cGVkZWYgdWxvbmdfdAlwdmVjX3Q7CQkvKiBr
ZXJuZWwgcHJpdmlsZWdlIHZlY3RvciAqLwoKLyogVHlwZWRlZnMgZm9yIE1hbmRhdG9yeSBBY2Nl
c3MgQ29udHJvbHMgKE1BQykgKi8KCnR5cGVkZWYgdWxvbmdfdAlsaWRfdDsJCS8qIGludGVybmFs
IHJlcHJlc2VudGF0aW9uIG9mIHNlY3VyaXR5IGxldmVsICovCgp0eXBlZGVmIGxpZF90CWxldmVs
X3Q7CS8qIHVzZXIgdmlldyBvZiBzZWN1cml0eSBsZXZlbCAqLwoJCQkJLyogKGN1cnJlbnRseSB0
aGUgc2FtZSBhcyB0aGUgaW50ZXJuYWwgdmlldykgKi8KCi8qIFR5cGVkZWZzIGZvciBkZXZfdCBj
b21wb25lbnRzICovCgp0eXBlZGVmIHVsb25nX3QJbWFqb3JfdDsJLyogbWFqb3IgcGFydCBvZiBk
ZXZpY2UgbnVtYmVyICovCnR5cGVkZWYgdWxvbmdfdAltaW5vcl90OwkvKiBtaW5vciBwYXJ0IG9m
IGRldmljZSBudW1iZXIgKi8KCiNpZiAhZGVmaW5lZChfUE9TSVhfU09VUkNFKSAmJiAhZGVmaW5l
ZChfUE9TSVhfQ19TT1VSQ0UpICYmIFwKCSFkZWZpbmVkKF9YT1BFTl9TT1VSQ0UpCgovKiBUeXBl
ZGVmIGZvciBBVURJVCBldmVudCBtYXNrICovCiNkZWZpbmUgQURUX0VNQVNLU0laRQk4CS8qIHNp
emUoYnl0ZXMpIG9mIGF1ZGl0YWJsZSBldmVudCBtYXNrICovCnR5cGVkZWYgdW5zaWduZWQgbG9u
ZyAgYWR0ZW1hc2tfdFtBRFRfRU1BU0tTSVpFXTsgLyogYXVkaXQgZXZlbnQgbWFzayB0eXBlICov
CgojZW5kaWYgLyogIWRlZmluZWQoX1BPU0lYX1NPVVJDRSkgLi4uICYmICFkZWZpbmVkKF9YT1BF
Tl9TT1VSQ0UpICovCgovKgogKiBGb3IgY29tcGF0aWJpbGl0eSByZWFzb25zIHRoZSBmb2xsb3dp
bmcgdHlwZWRlZnMgKHByZWZpeGVkIG9fKQogKiBjYW4ndCBncm93IHJlZ2FyZGxlc3Mgb2YgdGhl
IEVGVCBkZWZpbml0aW9uLiAgQWx0aG91Z2gKICogYXBwbGljYXRpb25zIHNob3VsZCBub3QgZXhw
bGljaXRseSB1c2UgdGhlc2UgdHlwZWRlZnMsIHRoZXkKICogbWF5IGJlIGluY2x1ZGVkIHZpYSBh
IHN5c3RlbSBoZWFkZXIgZGVmaW5pdGlvbi4gIEZvciBleGFtcGxlLAogKiB0aGUgZGVmaW5pdGlv
bnMgaW4gczVpbm9kZS5oIHVzZSB0aGVzZSBvbGQgdHlwZXMgaW4gb3JkZXIgdG8KICogcHJlc2Vy
dmUgY29tcGF0aWJpbGl0eSB3aXRoIGV4aXN0aW5nIFM1IGZpbGVzeXN0ZW0gaW1hZ2VzLgogKgog
KiBXQVJOSU5HOiBUaGVzZSB0eXBlZGVmcyBtYXkgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxl
YXNlLgogKi8KdHlwZWRlZgl1c2hvcnRfdCBvX21vZGVfdDsJCS8qIG9sZCBmaWxlIGF0dHJpYnV0
ZSB0eXBlICovCnR5cGVkZWYgc2hvcnQJIG9fZGV2X3Q7CQkvKiBvbGQgZGV2aWNlIHR5cGUJKi8K
dHlwZWRlZgl1c2hvcnRfdCBvX3VpZF90OwkJLyogb2xkIFVJRCB0eXBlCQkqLwp0eXBlZGVmCW9f
dWlkX3QJIG9fZ2lkX3Q7CQkvKiBvbGQgR0lEIHR5cGUJCSovCnR5cGVkZWYJc2hvcnQJIG9fbmxp
bmtfdDsJCS8qIG9sZCBmaWxlIGxpbmsgdHlwZQkqLwp0eXBlZGVmIHNob3J0CSBvX3BpZF90OwkJ
Lyogb2xkIHByb2Nlc3MgaWQgdHlwZQkqLwp0eXBlZGVmIHVzaG9ydF90IG9faW5vX3Q7CQkvKiBv
bGQgaW5vZGUgdHlwZQkqLwoKCi8qIFBPU0lYIGFuZCBYT1BFTiBEZWNsYXJhdGlvbnMgKi8KCiNp
Zm5kZWYgX0tFWV9UCiNkZWZpbmUgX0tFWV9UCnR5cGVkZWYJaW50CWtleV90OwkJCS8qIElQQyBr
ZXkgdHlwZQkJKi8KI2VuZGlmCgojaWZuZGVmIF9NT0RFX1QKI2RlZmluZSBfTU9ERV9UCnR5cGVk
ZWYJdWxvbmdfdAltb2RlX3Q7CQkJLyogZmlsZSBhdHRyaWJ1dGUgdHlwZQkqLwojZW5kaWYKCiNp
Zm5kZWYgX1VJRF9UCiNkZWZpbmUgX1VJRF9UCnR5cGVkZWYJbG9uZwl1aWRfdDsJCQkvKiBVSUQg
dHlwZQkJKi8KI2VuZGlmCgojaWZuZGVmIF9HSURfVAojZGVmaW5lIF9HSURfVAp0eXBlZGVmCXVp
ZF90CWdpZF90OwkJCS8qIEdJRCB0eXBlCQkqLwojZW5kaWYKCiNpZm5kZWYgX05MSU5LX1QKI2Rl
ZmluZSBfTkxJTktfVAp0eXBlZGVmCXVsb25nX3QgbmxpbmtfdDsJCS8qIGZpbGUgbGluayB0eXBl
CSovCiNlbmRpZgoKI2lmbmRlZiBfREVWX1QKI2RlZmluZSBfREVWX1QKdHlwZWRlZiB1bG9uZ190
CWRldl90OwkJCS8qIGV4cGFuZGVkIGRldmljZSB0eXBlICovCiNlbmRpZgoKI2lmbmRlZiBfUElE
X1QKI2RlZmluZSBfUElEX1QKdHlwZWRlZiBsb25nCXBpZF90OwkJCS8qIHByb2Nlc3MgaWQgdHlw
ZQkqLwojZW5kaWYKCiNpZm5kZWYgX1RIUkVBRF9UCiNkZWZpbmUgX1RIUkVBRF9UCnR5cGVkZWYg
aWRfdAl0aHJlYWRfdDsJCS8qIHRocmVhZCBpZCB0eXBlCSovCiNlbmRpZgoKI2lmbmRlZiBfUFRI
UkVBRF9UCiNkZWZpbmUgX1BUSFJFQURfVAp0eXBlZGVmIHRocmVhZF90CXB0aHJlYWRfdDsJLyog
cHRocmVhZCBpZCB0eXBlCSovCiNlbmRpZgoKI2lmbmRlZiBfU0laRV9UCiNkZWZpbmUgX1NJWkVf
VAojaWZuZGVmIF9fU0laRV9UWVBFX18KI2RlZmluZSBfX1NJWkVfVFlQRV9fIGxvbmcgdW5zaWdu
ZWQgaW50CiNlbmRpZgp0eXBlZGVmIF9fU0laRV9UWVBFX18gc2l6ZV90OwkJLyogbGVuIHBhcmFt
IGZvciBzdHJpbmcgZnVuY3MgKi8KI2VuZGlmCgojaWZuZGVmIF9TU0laRV9UCiNkZWZpbmUgX1NT
SVpFX1QKdHlwZWRlZglpbnQJc3NpemVfdDsJLyogcmV0dXJuIGJ5dGUgY291bnQgb3IgaW5kaWNh
dGUgZXJyb3IgKi8KI2VuZGlmCgojaWZuZGVmIF9USU1FX1QKI2RlZmluZSBfVElNRV9UCnR5cGVk
ZWYJbG9uZwl0aW1lX3Q7CQkvKiB0aW1lIG9mIGRheSBpbiBzZWNvbmRzICovCiNlbmRpZgoKI2lm
bmRlZiBfQ0xPQ0tfVAojZGVmaW5lIF9DTE9DS19UCnR5cGVkZWYJbG9uZwljbG9ja190OwkvKiBy
ZWxhdGl2ZSB0aW1lIGluIGEgc3BlY2lmaWVkIHJlc29sdXRpb24gKi8KI2VuZGlmCgoKI2lmIGRl
ZmluZWQoX0tFUk5FTCkgfHwgZGVmaW5lZChfS01FTVVTRVIpCgovKgogKiBEZWZpbmUgdGhlIGlu
dGVybmFsIGtlcm5lbCBMV1AgSUQgdHlwZS4KICogV2UgZGVmaW5lIHRoaXMgYXMgdXNob3J0IHRv
IHNhdmUgc3BhY2UgaW4gdGhlIGtlcm5lbCAoZS5nLCBpbiB0aGUgcHJvYwogKiBzdHJ1Y3R1cmUg
YW5kIGluIHRoZSBrZXJuZWwgc3luY2hyb25pemF0aW9uIG9iamVjdHMsIGV0Yy4pLCBidXQgc3Rp
bGwKICogYWxsb3cgVVNIUlRfTUFYIExXUHMgcGVyIHByb2Nlc3MuICBUaGUgZXh0ZXJuYWwgbHdw
aWRfdCB0eXBlIGlzICJsb25nIgogKiBob3dldmVyLgogKi8KdHlwZWRlZgl1c2hvcnRfdCBrX2x3
cGlkX3Q7CnR5cGVkZWYJdXNob3J0X3Qga3RocmVhZF9pZF90OwoKLyoKICogVGhlIHN0YXRlcyBh
biBMV1AgbWF5IGJlIGluLgogKi8KdHlwZWRlZgllbnVtIHtTT05QUk9DLCBTUlVOLCBTU0xFRVAs
IFNTVE9QLCBTSURMfSBsd3BzdGF0X3Q7CgovKgogKiBUaGUgdHlwZXMgb2Ygc3luY2hyb25pemF0
aW9uIG9iamVjdHMgYW4gTFdQIG1heSBibG9jayBhZ2FpbnN0LgogKi8KdHlwZWRlZgllbnVtIHtT
VF9OT05FLCBTVF9DT05ELCBTVF9FVkVOVCwgU1RfUkRMT0NLLCBTVF9XUkxPQ0ssCgkgICAgICBT
VF9TTFBMT0NLLCBTVF9VU1lOQ30gc3R5cGVfdDsKCiNlbmRpZiAvKiBfS0VSTkVMIHx8IF9LTUVN
VVNFUiAqLwoKCiNpZiBkZWZpbmVkKF9LRVJORUwpIHx8ICFkZWZpbmVkKF9QT1NJWF9TT1VSQ0Up
IFwKCSYmICFkZWZpbmVkKF9QT1NJWF9DX1NPVVJDRSkgJiYgIWRlZmluZWQoX1hPUEVOX1NPVVJD
RSkKCnR5cGVkZWYJc3RydWN0IHsgaW50IHJbMV07IH0gKglwaHlzYWRyOwp0eXBlZGVmCXVuc2ln
bmVkIGNoYXIJdW5jaGFyOwp0eXBlZGVmCXVuc2lnbmVkIHNob3J0CXVzaG9ydDsKdHlwZWRlZgl1
bnNpZ25lZCBpbnQJdWludDsKdHlwZWRlZgl1bnNpZ25lZCBsb25nCXVsb25nOwoKI2lmZGVmIF9L
RVJORUwKCiNkZWZpbmUgU0hSVF9NSU4JLTMyNzY4CQkvKiBtaW4gdmFsdWUgb2YgYSAic2hvcnQg
aW50IiAqLwojZGVmaW5lIFNIUlRfTUFYCTMyNzY3CQkvKiBtYXggdmFsdWUgb2YgYSAic2hvcnQg
aW50IiAqLwojZGVmaW5lIFVTSFJUX01BWAk2NTUzNVUJCS8qIG1heCB2YWx1ZSBvZiAidW5zaWdu
ZWQgc2hvcnQgaW50IiAqLwojZGVmaW5lIElOVF9NSU4JCSgtMjE0NzQ4MzY0Ny0xKSAvKiBtaW4g
dmFsdWUgb2YgYW4gImludCIgKi8KI2RlZmluZSBJTlRfTUFYCQkyMTQ3NDgzNjQ3CS8qIG1heCB2
YWx1ZSBvZiBhbiAiaW50IiAqLwojZGVmaW5lIFVJTlRfTUFYCTQyOTQ5NjcyOTVVCS8qIG1heCB2
YWx1ZSBvZiBhbiAidW5zaWduZWQgaW50IiAqLwojZGVmaW5lIExPTkdfTUlOCSgtMjE0NzQ4MzY0
Ny0xKSAvKiBtaW4gdmFsdWUgb2YgYSAibG9uZyBpbnQiICovCiNkZWZpbmUgTE9OR19NQVgJMjE0
NzQ4MzY0NwkvKiBtYXggdmFsdWUgb2YgYSAibG9uZyBpbnQiICovCiNkZWZpbmUgVUxPTkdfTUFY
CTQyOTQ5NjcyOTVVCS8qIG1heCB2YWx1ZSBvZiAidW5zaWduZWQgbG9uZyBpbnQiICovCiNkZWZp
bmUgTExPTkdfTUFYCTkyMjMzNzIwMzY4NTQ3NzU4MDcJLyogbWF4IHZhbHVlIG9mICJsb25nbG9u
ZyIgKi8KI2RlZmluZSBMTE9OR19NSU4JKC05MjIzMzcyMDM2ODU0Nzc1ODA3LTEpIC8qIG1pbiB2
YWx1ZSBvZiBsb25nbG9uZyIgKi8KI2RlZmluZSBVTExPTkdfTUFYCTE4NDQ2NzQ0MDczNzA5NTUx
NjE1VQkvKiBtYXggdmFsdWUgb2YgdW5zaWduZWQgbG9uZ2xvbmcgKi8KCiNkZWZpbmUgT0ZGMzJf
TUFYCUxPTkdfTUFYCS8qIG9mZl90IGlzIHR5cGUgbG9uZyAgKi8KI2RlZmluZSBPRkY2NF9NQVgJ
TExPTkdfTUFYCS8qIG9mZl90IGlzIHR5cGUgbG9uZ2xvbmcgKi8KCiNkZWZpbmUgSVNUQVRfQVNT
RVJURUQJMAkKI2RlZmluZSBJU1RBVF9BU1NVTUVEIAkxCiNkZWZpbmUgSVNUQVRfTk9ORQkyCgoj
aWYgIWRlZmluZWQoX0ZTS0kpIHx8IF9GU0tJID49IDIKI2RlZmluZSBPRkZfTUFYCQlPRkY2NF9N
QVgKI2Vsc2UKI2RlZmluZSBPRkZfTUFYCQlPRkYzMl9NQVgKI2VuZGlmCgojZGVmaW5lIENMT0NL
X01BWAlMT05HX01BWAkvKiBtYXggdmFsdWUgb2YgImNsb2NrX3QiICovCgojaWZuZGVmIE9fTk9E
RVYKI2RlZmluZSBPX05PREVWIChvX2Rldl90KSgtMSkKI2VuZGlmCgojZGVmaW5lCU1ZU0VMRiAo
dm9pZCAqKU5VTEwKCiNlbmRpZiAvKiBfS0VSTkVMICovCgoKI2RlZmluZQlQX01ZUElECSgocGlk
X3QpMCkKCi8qCiAqIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHZhbHVlIG9mIHR5cGUgaWRfdCB0byB1
c2UgdG8gaW5kaWNhdGUgdGhlCiAqIGNhbGxlcidzIGN1cnJlbnQgaWQuICBTZWUgcHJvY3NldC5o
IGZvciB0aGUgdHlwZSBpZHR5cGVfdAogKiB3aGljaCBkZWZpbmVzIHdoaWNoIGtpbmQgb2YgaWQg
aXMgYmVpbmcgc3BlY2lmaWVkLgogKi8KCiNkZWZpbmUJUF9NWUlECSgtMSkKI2RlZmluZSBOT1BJ
RCAocGlkX3QpKC0xKQoKI2lmbmRlZiBOT0RFVgojZGVmaW5lIE5PREVWIChkZXZfdCkoLTEpCiNl
bmRpZgoKLyoKICogQSBob3N0IGlkZW50aWZpZXIgaXMgdXNlZCB0byB1bmlxdWVseSBkZWZpbmUg
YSBwYXJ0aWN1bGFyIG5vZGUKICogb24gYW4gcmZzIG5ldHdvcmsuICBJdHMgdHlwZSBpcyBhcyBm
b2xsb3dzLgogKi8KCnR5cGVkZWYJbG9uZwlob3N0aWRfdDsKCi8qCiAqIFRoZSBmb2xsb3dpbmcg
dmFsdWUgb2YgdHlwZSBob3N0aWRfdCBpcyB1c2VkIHRvIGluZGljYXRlIHRoZQogKiBjdXJyZW50
IGhvc3QuICBUaGUgYWN0dWFsIGhvc3RpZCBmb3IgZWFjaCBob3N0IGlzIGluIHRoZQogKiBrZXJu
ZWwgZ2xvYmFsIHZhcmlhYmxlIHJmc19ob3N0aWQuCiAqLwoKI2RlZmluZQlQX01ZSE9TVElECSgt
MSkKCnR5cGVkZWYgdW5zaWduZWQgY2hhcgl1X2NoYXI7CnR5cGVkZWYgdW5zaWduZWQgc2hvcnQJ
dV9zaG9ydDsKdHlwZWRlZiB1bnNpZ25lZCBpbnQJdV9pbnQ7CnR5cGVkZWYgdW5zaWduZWQgbG9u
Zwl1X2xvbmc7Cgp0eXBlZGVmCXVuc2lnbmVkIGludAlwbF90OwkJLyogcHJpb3JpdHkgbGV2ZWwg
Ki8KCi8qCiAqIERlZmluZSB0aGUgaW50ZXJuYWwga2VybmVsIHByaW9yaXR5IGxldmVsIHR5cGUg
YXMgYSB1Y2hhcl90CiAqIGluIG9yZGVyIHRvIGVuYWJsZSBjZXJ0YWluIG9wdGltaXphdGlvbnMu
CiAqIFRoZSBleHRlcm5hbCB0eXBlIGlzIHN0aWxsIGFuIHVuc2lnbmVkIGludC4KICovCnR5cGVk
ZWYJdWNoYXJfdAkJa19wbF90OwoKLyoKICogTmVzdGVkIGluY2x1ZGUgZm9yIEJTRC9zb2NrZXRz
IHNvdXJjZSBjb21wYXRpYmlsaXR5LgogKiAoVGhlIHNlbGVjdCBtYWNyb3MgdXNlZCB0byBiZSBk
ZWZpbmVkIGhlcmUpLgogKi8KI2lmZGVmIF9LRVJORUxfSEVBREVSUwoKI2luY2x1ZGUgPGZzL3Nl
bGVjdC5oPgkvKiBTVlI0LjBDT01QQVQgKi8KCiNlbGlmIGRlZmluZWQoX0tFUk5FTCkgfHwgZGVm
aW5lZChfS01FTVVTRVIpCgojaW5jbHVkZSA8c3lzL3NlbGVjdC5oPgkvKiBTVlI0LjBDT01QQVQg
Ki8KCiNlbHNlCgojaW5jbHVkZSA8c3lzL3NlbGVjdC5oPiAvKiBTVlI0LjBDT01QQVQgKi8KCiNl
bmRpZiAvKiBfS0VSTkVMX0hFQURFUlMgKi8KCiNlbmRpZiAvKiBfS0VSTkVMIHx8ICghX1BPU0lY
X1NPVVJDRSAmJiAhX1BPU0lYX0NfU09VUkNFICAmJiAhX1hPUEVOX1NPVVJDRSkgKi8KCiNpZm5k
ZWYgX1ZPSUQKI2RlZmluZSBfVk9JRAl2b2lkCiNlbmRpZgoKdHlwZWRlZiBzdHJ1Y3QgX19zY2hl
ZF9maWZvX3BhcmFtIHsKCWludAlfX3ByaW87Cn0gc2NoZWRfZmlmb19wYXJhbV90OwoKdHlwZWRl
ZiBzdHJ1Y3QgX19zY2hlZF9mY2ZzX3BhcmFtIHsKCWludAlfX3ByaW87Cn0gc2NoZWRfZmNmc19w
YXJhbV90OwoKdHlwZWRlZiBzdHJ1Y3QgX19zY2hlZF9vdGhlcl9wYXJhbSB7CglpbnQJX19wcmlv
Owp9IHNjaGVkX290aGVyX3BhcmFtX3Q7Cgp0eXBlZGVmIHN0cnVjdCBfX3NjaGVkX3RzX3BhcmFt
IHsKCWludAlfX3ByaW87Cn0gc2NoZWRfdHNfcGFyYW1fdDsKCnVuaW9uIF9fc2NoZWRfdW5pb24g
ewoJc2NoZWRfZmlmb19wYXJhbV90CV9fc2NoZWRfZmlmbzsKCXNjaGVkX2ZjZnNfcGFyYW1fdAlf
X3NjaGVkX2ZjZnM7CglzY2hlZF9vdGhlcl9wYXJhbV90CV9fc2NoZWRfb3RoZXI7CglzY2hlZF90
c19wYXJhbV90CV9fc2NoZWRfdHM7Cglsb25nCQkJX19wb2xpY3lfcGFyYW1zWzFdOwkKfTsKCnN0
cnVjdCBfX3NjaGVkX3BhcmFtIHsKCWludAkJCV9fc2NoZWRfcHJpb3JpdHk7Cgl1bmlvbiBfX3Nj
aGVkX3VuaW9uCV9fc2NoZWRfb3RoZXJfc3R1ZmY7Cn07Cgp0eXBlZGVmIHN0cnVjdCB7CglpbnQJ
X19wdF9hdHRyX3N0YXR1czsJCglzaXplX3QJX19wdF9hdHRyX3N0YWNrc2l6ZTsJCgl2b2lkCSpf
X3B0X2F0dHJfc3RhY2thZGRyOwkKCWludAlfX3B0X2F0dHJfZGV0YWNoc3RhdGU7CQoJaW50CV9f
cHRfYXR0cl9jb250ZW50aW9uc2NvcGU7CglpbnQJX19wdF9hdHRyX2luaGVyaXRzY2hlZDsJCglp
bnQJX19wdF9hdHRyX3NjaGVkcG9saWN5OwkKCXN0cnVjdCBfX3NjaGVkX3BhcmFtCV9fcHRfYXR0
cl9zY2hlZF9wYXJhbTsKCWludAlfX3B0X2F0dHJfdGxmbGFnczsJCn0gcHRocmVhZF9hdHRyX3Q7
Cgp0eXBlZGVmIHN0cnVjdCB7CglpbnQJX19wdF9jb25kYXR0cl9zdGF0dXM7CQoJaW50CV9fcHRf
Y29uZGF0dHJfcHNoYXJlZDsJCn0gcHRocmVhZF9jb25kYXR0cl90OwoKdHlwZWRlZiBzdHJ1Y3Qg
ewoJaW50CV9fcHRfbXV0ZXhhdHRyX3N0YXR1czsJCglpbnQJX19wdF9tdXRleGF0dHJfcHNoYXJl
ZDsJCglpbnQJX19wdF9tdXRleGF0dHJfdHlwZTsKfSBwdGhyZWFkX211dGV4YXR0cl90OwoKdHlw
ZWRlZiBzdHJ1Y3QgewoJaW50CV9fcHRfcndsb2NrYXR0cl9zdGF0dXM7CQoJaW50CV9fcHRfcnds
b2NrYXR0cl9wc2hhcmVkOwkKfSBwdGhyZWFkX3J3bG9ja2F0dHJfdDsKCnR5cGVkZWYgc3RydWN0
IF9fdGhycV9lbHQgdGhycV9lbHRfdDsKCnN0cnVjdCBfX3RocnFfZWx0IHsKCXRocnFfZWx0X3QJ
Kl9fdGhycV9uZXh0OwoJdGhycV9lbHRfdAkqX190aHJxX3ByZXY7Cn07Cgp0eXBlZGVmIHZvbGF0
aWxlIHVuc2lnbmVkIGNoYXIgX3NpbXBsZWxvY2tfdDsKCnR5cGVkZWYgdm9sYXRpbGUgc3RydWN0
IF9fbHdwX211dGV4IHsKCWNoYXIJCV9fd2FudGVkOwoJX3NpbXBsZWxvY2tfdAlfX2xvY2s7Cn0g
bHdwX211dGV4X3Q7Cgp0eXBlZGVmIHZvbGF0aWxlIHN0cnVjdCB7Cglsd3BfbXV0ZXhfdAkJX19t
X2xtdXRleDsKCWx3cF9tdXRleF90CQlfX21fc3luY19sb2NrOwoJaW50CQkJX19tX3R5cGU7Cgl0
aHJxX2VsdF90CQlfX21fc2xlZXBxOwoJaW50CQkJX19maWxsZXJbMl07Cn0gbXV0ZXhfdDsKCi8q
CiAqIFRoZSBmaXJzdCBmb3VyIGZpZWxkcyBvZiB0aGUgZm9sbG93aW5nIHN0cnVjdHVyZXMgbXVz
dCBtYXRjaC4KICovCnR5cGVkZWYgdm9sYXRpbGUgc3RydWN0IHsKCW11dGV4X3QJCV9fcm1fbXV0
ZXg7CglwaWRfdAkJX19ybV9waWQ7Cgl0aHJlYWRfdAlfX3JtX293bmVyOwoJaW50CQlfX3JtX2Rl
cHRoOwoJbG9uZwkJX19maWxsZXI7Cn0gcm11dGV4X3Q7Cgp0eXBlZGVmIHZvbGF0aWxlIHN0cnVj
dCB7CgltdXRleF90CQkJX19wdF9tdXRleF9tdXRleDsKCXBpZF90CQkJX19wdF9tdXRleF9waWQ7
Cgl0aHJlYWRfdAkJX19wdF9tdXRleF9vd25lcjsKCWludAkJCV9fcHRfbXV0ZXhfZGVwdGg7Cglw
dGhyZWFkX211dGV4YXR0cl90CV9fcHRfbXV0ZXhfYXR0cjsKfSBwdGhyZWFkX211dGV4X3Q7Cgp0
eXBlZGVmIHZvbGF0aWxlIHN0cnVjdCB7CgljaGFyCQkJX193YW50ZWQ7Cn0gbHdwX2NvbmRfdDsK
CnR5cGVkZWYgdm9sYXRpbGUgc3RydWN0IHsKCWx3cF9jb25kX3QJCV9fY19sY29uZDsKCWx3cF9t
dXRleF90CQlfX2Nfc3luY19sb2NrOwoJaW50CQkJX19jX3R5cGU7Cgl0aHJxX2VsdF90CQlfX2Nf
c3luY3E7Cn0gY29uZF90OwoKdHlwZWRlZiB2b2xhdGlsZSBzdHJ1Y3QgewoJbXV0ZXhfdAkJX19z
X211dGV4OwoJY29uZF90CQlfX3NfY29uZDsKCXNob3J0CQlfX3NfY291bnQ7CglzaG9ydAkJX19z
X3dha2VjbnQ7CglpbnQJCV9fc190eXBlOwp9IHNlbWFfdCwgc2VtX3Q7Cgp0eXBlZGVmIHZvbGF0
aWxlIHN0cnVjdCB7Cgljb25kX3QJCQlfX3B0X2NvbmRfY29uZDsKCXB0aHJlYWRfY29uZGF0dHJf
dAlfX3B0X2NvbmRfYXR0cjsKfSBwdGhyZWFkX2NvbmRfdDsKCnR5cGVkZWYgdm9sYXRpbGUgc3Ry
dWN0IF9fcndjdiByd2N2X3Q7CgpzdHJ1Y3QgX19yd2N2IHsKCWNvbmRfdAkJX19yd2N2X2NvbmQ7
Cglyd2N2X3QJCSpfX3J3Y3ZfbmV4dDsKCWNoYXIJCV9fcndjdl9ydzsKCWNoYXIJCV9fcndjdl93
YWtldXA7CglzaG9ydAkJX19yd2N2X3JlYWRlcndhbnRlZDsKfTsKCnN0cnVjdCBfX3J3bG9jayB7
CgltdXRleF90CQlfX3J3X211dGV4OwoJbHdwX2NvbmRfdAlfX3J3X2x3cGNvbmQ7CglpbnQJCV9f
cndfdHlwZTsKCXNob3J0CQlfX3J3X3JlYWRlcnM7CgljaGFyCQlfX3J3X3dyaXRlcjsKCWNoYXIJ
CV9fcndfd3J3YWtldXA7CglzaG9ydAkJX19yd193cml0ZXJ3YW50ZWQ7CglzaG9ydAkJX19yd19y
ZHdha2VjbnQ7Cglyd2N2X3QJCSpfX3J3X2N2cWhlYWQ7Cglyd2N2X3QJCSpfX3J3X2N2cXRhaWw7
CglpbnQJCV9fcGFkWzRdOwp9OwoKdHlwZWRlZiBzdHJ1Y3QgewoJc3RydWN0IF9fcndsb2NrCQlf
X3B0X3J3bG9ja19yd2xvY2s7CglwdGhyZWFkX3J3bG9ja2F0dHJfdAlfX3B0X3J3bG9ja19hdHRy
Owp9ICBwdGhyZWFkX3J3bG9ja190OwoKdHlwZWRlZiB1bnNpZ25lZCBpbnQJCXRocmVhZF9rZXlf
dDsKCnR5cGVkZWYgdGhyZWFkX2tleV90CQlwdGhyZWFkX2tleV90OwoKdHlwZWRlZiBzdHJ1Y3Qg
ewoJaW50CQlfX3B0X29uY2VfaW5pdGlhbGl6ZWQ7CglpbnQJCV9fcHRfb25jZV9pbml0X2luX3By
b2dyZXNzOwoJbXV0ZXhfdAkJX19wdF9vbmNlX211dGV4OwoJY29uZF90CQlfX3B0X29uY2VfY29u
ZDsKfSBwdGhyZWFkX29uY2VfdDsKCiNlbmRpZiAvKl9VVElMX1RZUEVTX0gqLwo=

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