NetBSD Problem Report #46003
From www@NetBSD.org Sun Feb 12 11:52:16 2012
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
by www.NetBSD.org (Postfix) with ESMTP id EB1C663E02D
for <gnats-bugs@gnats.NetBSD.org>; Sun, 12 Feb 2012 11:52:15 +0000 (UTC)
Message-Id: <20120212115215.0915163E028@www.NetBSD.org>
Date: Sun, 12 Feb 2012 11:52:15 +0000 (UTC)
From: slitvinov@gmail.com
Reply-To: slitvinov@gmail.com
To: gnats-bugs@NetBSD.org
Subject: bootstrap failed on Linux with gcc 4.6.1 because of libutil.h location
X-Send-Pr-Version: www-1.0
>Number: 46003
>Category: pkg
>Synopsis: bootstrap failed on Linux with gcc 4.6.1 because of libutil.h location
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: pkg-manager
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Feb 12 11:55:00 +0000 2012
>Closed-Date: Thu Sep 05 09:56:00 +0000 2019
>Last-Modified: Thu Sep 05 09:56:00 +0000 2019
>Originator: Litvinov Sergey
>Release: Linux Ubuntu
>Organization:
>Environment:
Linux desktop 3.0.0-15-generic #26-Ubuntu SMP Fri Jan 20 15:59:53 UTC 2012 i686 athlon i386 GNU/Linux
>Description:
Bootstrap fails with the following error
gcc -O2 -Wno-error -I/usr/include -Wno-error -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wreturn-type -Wcast-qual -Wpointer-arith -Wwrite-strings -Wswitch -Wshadow -Werror -D_LARGEFILE_SOURCE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -DDEF_UMASK=022 -I/media/sdb2/src/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libfetch -DHAVE_NBCOMPAT_H=1 -I/media/sdb2/src/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libnbcompat -I/usr/include -I. -D_LARGEFILE_SOURCE -D_LARGE_FILES -DFTP_COMBINE_CWDS -c common.c
In file included from /media/sdb2/src/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libnbcompat/nbcompat/util.h:39:0,
from /media/sdb2/src/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libnbcompat/nbcompat.h:67,
from common.c:37:
/usr/include/libutil.h:33:2: error: #warning "Deprecated header, use <bsd/libutil.h> or libbsd-overlay.pc instead." [-Werror=cpp]
cc1: all warnings being treated as errors
*** Error code 1
Stop.
bmake: stopped in /media/sdb2/src/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libfetch
*** Error code 1
Stop.
bmake: stopped in /media/sdb2/src/pkgsrc/pkgtools/pkg_install
*** Error code 1
Stop.
bmake: stopped in /media/sdb2/src/pkgsrc/pkgtools/pkg_install
===> exited with status 1
aborted.
>How-To-Repeat:
On Ubuntu Linux with gcc 4.6.1
SH=/bin/bash ./bootstrap --ignore-user-check --prefix=$HOME/netbsd
>Fix:
I changed here to bypass on my system.
RCS file: /cvsroot/pkgsrc/pkgtools/libnbcompat/files/nbcompat/util.h,v
retrieving revision 1.2
diff -u -r1.2 util.h
--- util.h 29 Apr 2008 05:46:08 -0000 1.2
+++ util.h 12 Feb 2012 11:49:28 -0000
@@ -36,7 +36,7 @@
# include <util.h>
#endif
#if HAVE_LIBUTIL_H
-# include <libutil.h>
+# include <bsd/libutil.h>
#endif
/*
>Release-Note:
>Audit-Trail:
From: Joerg Sonnenberger <joerg@britannica.bec.de>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: pkg/46003: bootstrap failed on Linux with gcc 4.6.1 because of
libutil.h location
Date: Sun, 12 Feb 2012 13:34:13 +0100
On Sun, Feb 12, 2012 at 11:55:00AM +0000, slitvinov@gmail.com wrote:
> /usr/include/libutil.h:33:2: error: #warning "Deprecated header, use <bsd/libutil.h> or libbsd-overlay.pc instead." [-Werror=cpp]
*sigh* Can you please start by filling a PR for glibc.
What is the content of libbsd-overlay.pc? Can I also have the config.log
please.
> >Fix:
> I changed here to bypass on my system.
That's compltely unacceptable as patch.
Joerg
From: Sergey Litvinov <slitvinov@gmail.com>
To: gnats-bugs@netbsd.org
Cc: pkg-manager@netbsd.org, gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/46003: bootstrap failed on Linux with gcc 4.6.1 because of
libutil.h location
Date: Sun, 12 Feb 2012 14:02:54 +0100
--f46d042f9210ee39ce04b8c3fa99
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
> =A0What is the content of libbsd-overlay.pc?
It is in
/usr/lib/pkgconfig/libbsd-overlay.pc
Attached.
> Can I also have the config.log
I have several
bootstrap/work/libnbcompat/config.log
bootstrap/work/bmake/Linux/config.log
bootstrap/work/wrk/devel/bmake/work/libnbcompat/config.log
bootstrap/work/wrk/devel/bmake/work/Linux/config.log
bootstrap/work/wrk/pkgtools/pkg_install/work/libnbcompat/config.log
bootstrap/work/pkg_install/config.log
I am attaching the first one.
--f46d042f9210ee39ce04b8c3fa99
Content-Type: application/octet-stream; name="libbsd-overlay.pc"
Content-Disposition: attachment; filename="libbsd-overlay.pc"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gyk30e730
cHJlZml4PS91c3IKZXhlY19wcmVmaXg9CmxpYmRpcj0ke3ByZWZpeH0vbGliCmluY2x1ZGVkaXI9
JHtwcmVmaXh9L2luY2x1ZGUKCk5hbWU6IGxpYmJzZApEZXNjcmlwdGlvbjogVXRpbGl0eSBmdW5j
dGlvbnMgZnJvbSBCU0Qgc3lzdGVtcyAob3ZlcmxheSkKVmVyc2lvbjogMC4zLjAKVVJMOiBodHRw
Oi8vbGliYnNkLmZyZWVkZXNrdG9wLm9yZy8KTGliczogLUwke2xpYmRpcn0gLWxic2QKQ2ZsYWdz
OiAtaXN5c3RlbSAke2luY2x1ZGVkaXJ9L2JzZCAtRExJQkJTRF9PVkVSTEFZCg==
--f46d042f9210ee39ce04b8c3fa99
Content-Type: text/x-log; charset=US-ASCII; name="config.log"
Content-Disposition: attachment; filename="config.log"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gyk316yr1
VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp
bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz
IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IGxpYm5iY29tcGF0IGNvbmZpZ3VyZSAyMDA4
MDYwNSwgd2hpY2ggd2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OC4gIEludm9jYXRp
b24gY29tbWFuZCBsaW5lIHdhcwoKICAkIC4vY29uZmlndXJlIC1DIC0tcHJlZml4PS9ob21lL3Zp
dGFsMzAzL25ldGJzZCAtLW1hbmRpcj0vaG9tZS92aXRhbDMwMy9uZXRic2QvbWFuIC0tc3lzY29u
ZmRpcj0vaG9tZS92aXRhbDMwMy9uZXRic2QvZXRjIC0tZW5hYmxlLWJzZC1nZXRvcHQgLS1lbmFi
bGUtZGIKCiMjIC0tLS0tLS0tLSAjIwojIyBQbGF0Zm9ybS4gIyMKIyMgLS0tLS0tLS0tICMjCgpo
b3N0bmFtZSA9IHZpdGFsMzAzLWRlc2t0b3AKdW5hbWUgLW0gPSBpNjg2CnVuYW1lIC1yID0gMy4w
LjAtMTUtZ2VuZXJpYwp1bmFtZSAtcyA9IExpbnV4CnVuYW1lIC12ID0gIzI2LVVidW50dSBTTVAg
RnJpIEphbiAyMCAxNTo1OTo1MyBVVEMgMjAxMgoKL3Vzci9iaW4vdW5hbWUgLXAgPSB1bmtub3du
Ci9iaW4vdW5hbWUgLVggICAgID0gdW5rbm93bgoKL2Jpbi9hcmNoICAgICAgICAgICAgICA9IHVu
a25vd24KL3Vzci9iaW4vYXJjaCAtayAgICAgICA9IHVua25vd24KL3Vzci9jb252ZXgvZ2V0c3lz
aW5mbyA9IHVua25vd24KL3Vzci9iaW4vaG9zdGluZm8gICAgICA9IHVua25vd24KL2Jpbi9tYWNo
aW5lICAgICAgICAgICA9IHVua25vd24KL3Vzci9iaW4vb3NsZXZlbCAgICAgICA9IHVua25vd24K
L2Jpbi91bml2ZXJzZSAgICAgICAgICA9IHVua25vd24KClBBVEg6IC9ob21lL3ZpdGFsMzAzL25l
dGJzZC9iaW4KUEFUSDogL2hvbWUvdml0YWwzMDMvbmV0YnNkL3NiaW4KUEFUSDogLgpQQVRIOiAv
aG9tZS92aXRhbDMwMy9uZXRic2QvYmluLwpQQVRIOiAvaG9tZS92aXRhbDMwMy9uZXRic2Qvc2Jp
bi8KUEFUSDogL2hvbWUvdml0YWwzMDMvc3JjL2FuZHJvaWQtc2RrLWxpbnV4L3Rvb2xzLwpQQVRI
OiAvaG9tZS92aXRhbDMwMy9uZXRic2QvYmluLwpQQVRIOiAvaG9tZS92aXRhbDMwMy9zcmMvYW5k
cm9pZC1zZGstbGludXgvdG9vbHMvClBBVEg6IC9ob21lL3ZpdGFsMzAzL2JpbgpQQVRIOiAvdXNy
L2xpYi9saWdodGRtL2xpZ2h0ZG0KUEFUSDogL3Vzci9sb2NhbC9zYmluClBBVEg6IC91c3IvbG9j
YWwvYmluClBBVEg6IC91c3Ivc2JpbgpQQVRIOiAvdXNyL2JpbgpQQVRIOiAvc2JpbgpQQVRIOiAv
YmluClBBVEg6IC91c3IvZ2FtZXMKUEFUSDogL2hvbWUvdml0YWwzMDMvLmNhYmFsL2JpbgpQQVRI
OiAvaG9tZS92aXRhbDMwMy8uY2FiYWwvYmluClBBVEg6IC9zYmluClBBVEg6IC91c3Ivc2JpbgoK
CiMjIC0tLS0tLS0tLS0tICMjCiMjIENvcmUgdGVzdHMuICMjCiMjIC0tLS0tLS0tLS0tICMjCgpj
b25maWd1cmU6MjQ5NTogY3JlYXRpbmcgY2FjaGUgY29uZmlnLmNhY2hlCmNvbmZpZ3VyZToyNjE0
OiBjaGVja2luZyBidWlsZCBzeXN0ZW0gdHlwZQpjb25maWd1cmU6MjYyODogcmVzdWx0OiBpNjg2
LXBjLWxpbnV4LWdudQpjb25maWd1cmU6MjY0ODogY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlwZQpj
b25maWd1cmU6MjY2MTogcmVzdWx0OiBpNjg2LXBjLWxpbnV4LWdudQpjb25maWd1cmU6MjY4Njog
Y2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKQpjb25maWd1cmU6MjcwODogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjI3NjU6IGNoZWNraW5nIGZvciBnY2MKY29uZmlndXJlOjI3ODE6IGZv
dW5kIC91c3IvYmluL2djYwpjb25maWd1cmU6Mjc5MjogcmVzdWx0OiBnY2MKY29uZmlndXJlOjMw
MjE6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIHZlcnNpb24KY29uZmlndXJlOjMwMzA6IGdjYyAt
LXZlcnNpb24gPiY1CmdjYyAoVWJ1bnR1L0xpbmFybyA0LjYuMS05dWJ1bnR1MykgNC42LjEKQ29w
eXJpZ2h0IChDKSAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpUaGlzIGlzIGZy
ZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVy
ZSBpcyBOTwp3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KCmNvbmZpZ3VyZTozMDQxOiAkPyA9IDAKY29uZmln
dXJlOjMwMzA6IGdjYyAtdiA+JjUKVXNpbmcgYnVpbHQtaW4gc3BlY3MuCkNPTExFQ1RfR0NDPWdj
YwpDT0xMRUNUX0xUT19XUkFQUEVSPS91c3IvbGliL2djYy9pNjg2LWxpbnV4LWdudS80LjYuMS9s
dG8td3JhcHBlcgpUYXJnZXQ6IGk2ODYtbGludXgtZ251CkNvbmZpZ3VyZWQgd2l0aDogLi4vc3Jj
L2NvbmZpZ3VyZSAtdiAtLXdpdGgtcGtndmVyc2lvbj0nVWJ1bnR1L0xpbmFybyA0LjYuMS05dWJ1
bnR1MycgLS13aXRoLWJ1Z3VybD1maWxlOi8vL3Vzci9zaGFyZS9kb2MvZ2NjLTQuNi9SRUFETUUu
QnVncyAtLWVuYWJsZS1sYW5ndWFnZXM9YyxjKyssZm9ydHJhbixvYmpjLG9iai1jKyssZ28gLS1w
cmVmaXg9L3VzciAtLXByb2dyYW0tc3VmZml4PS00LjYgLS1lbmFibGUtc2hhcmVkIC0tZW5hYmxl
LWxpbmtlci1idWlsZC1pZCAtLXdpdGgtc3lzdGVtLXpsaWIgLS1saWJleGVjZGlyPS91c3IvbGli
IC0td2l0aG91dC1pbmNsdWRlZC1nZXR0ZXh0IC0tZW5hYmxlLXRocmVhZHM9cG9zaXggLS13aXRo
LWd4eC1pbmNsdWRlLWRpcj0vdXNyL2luY2x1ZGUvYysrLzQuNiAtLWxpYmRpcj0vdXNyL2xpYiAt
LWVuYWJsZS1ubHMgLS13aXRoLXN5c3Jvb3Q9LyAtLWVuYWJsZS1jbG9jYWxlPWdudSAtLWVuYWJs
ZS1saWJzdGRjeHgtZGVidWcgLS1lbmFibGUtbGlic3RkY3h4LXRpbWU9eWVzIC0tZW5hYmxlLXBs
dWdpbiAtLWVuYWJsZS1vYmpjLWdjIC0tZW5hYmxlLXRhcmdldHM9YWxsIC0tZGlzYWJsZS13ZXJy
b3IgLS13aXRoLWFyY2gtMzI9aTY4NiAtLXdpdGgtdHVuZT1nZW5lcmljIC0tZW5hYmxlLWNoZWNr
aW5nPXJlbGVhc2UgLS1idWlsZD1pNjg2LWxpbnV4LWdudSAtLWhvc3Q9aTY4Ni1saW51eC1nbnUg
LS10YXJnZXQ9aTY4Ni1saW51eC1nbnUKVGhyZWFkIG1vZGVsOiBwb3NpeApnY2MgdmVyc2lvbiA0
LjYuMSAoVWJ1bnR1L0xpbmFybyA0LjYuMS05dWJ1bnR1MykgCmNvbmZpZ3VyZTozMDQxOiAkPyA9
IDAKY29uZmlndXJlOjMwMzA6IGdjYyAtViA+JjUKZ2NjOiBlcnJvcjogdW5yZWNvZ25pemVkIG9w
dGlvbiAnLVYnCmdjYzogZmF0YWwgZXJyb3I6IG5vIGlucHV0IGZpbGVzCmNvbXBpbGF0aW9uIHRl
cm1pbmF0ZWQuCmNvbmZpZ3VyZTozMDQxOiAkPyA9IDQKY29uZmlndXJlOjMwMzA6IGdjYyAtcXZl
cnNpb24gPiY1CmdjYzogZXJyb3I6IHVucmVjb2duaXplZCBvcHRpb24gJy1xdmVyc2lvbicKZ2Nj
OiBmYXRhbCBlcnJvcjogbm8gaW5wdXQgZmlsZXMKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29u
ZmlndXJlOjMwNDE6ICQ/ID0gNApjb25maWd1cmU6MzA2MTogY2hlY2tpbmcgd2hldGhlciB0aGUg
QyBjb21waWxlciB3b3Jrcwpjb25maWd1cmU6MzA4MzogZ2NjICAgIGNvbmZ0ZXN0LmMgID4mNQpj
b25maWd1cmU6MzA4NzogJD8gPSAwCmNvbmZpZ3VyZTozMTM1OiByZXN1bHQ6IHllcwpjb25maWd1
cmU6MzEzODogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1l
CmNvbmZpZ3VyZTozMTQwOiByZXN1bHQ6IGEub3V0CmNvbmZpZ3VyZTozMTQ2OiBjaGVja2luZyBm
b3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzCmNvbmZpZ3VyZTozMTUzOiBnY2MgLW8gY29uZnRlc3Qg
ICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTozMTU3OiAkPyA9IDAKY29uZmlndXJlOjMxNzk6
IHJlc3VsdDogCmNvbmZpZ3VyZTozMjAxOiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBj
b21waWxpbmcKY29uZmlndXJlOjMyMDk6IGdjYyAtbyBjb25mdGVzdCAgICBjb25mdGVzdC5jICA+
JjUKY29uZmlndXJlOjMyMTM6ICQ/ID0gMApjb25maWd1cmU6MzIyMDogLi9jb25mdGVzdApjb25m
aWd1cmU6MzIyNDogJD8gPSAwCmNvbmZpZ3VyZTozMjM5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToz
MjQ0OiBjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcwpjb25maWd1cmU6MzI2Njog
Z2NjIC1jICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjMyNzA6ICQ/ID0gMApjb25maWd1cmU6
MzI5MTogcmVzdWx0OiBvCmNvbmZpZ3VyZTozMjk1OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1
c2luZyB0aGUgR05VIEMgY29tcGlsZXIKY29uZmlndXJlOjMzMTQ6IGdjYyAtYyAgIGNvbmZ0ZXN0
LmMgPiY1CmNvbmZpZ3VyZTozMzE0OiAkPyA9IDAKY29uZmlndXJlOjMzMjM6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZTozMzMyOiBjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nCmNvbmZpZ3Vy
ZTozMzUyOiBnY2MgLWMgLWcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozMzUyOiAkPyA9IDAK
Y29uZmlndXJlOjMzOTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozNDEwOiBjaGVja2luZyBmb3Ig
Z2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OQpjb25maWd1cmU6MzQ3NDogZ2NjICAtYyAtZyAt
TzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozNDc0OiAkPyA9IDAKY29uZmlndXJlOjM0ODc6
IHJlc3VsdDogbm9uZSBuZWVkZWQKY29uZmlndXJlOjM1MjE6IGNoZWNraW5nIGZvciBhIEJTRC1j
b21wYXRpYmxlIGluc3RhbGwKY29uZmlndXJlOjM1ODk6IHJlc3VsdDogL3Vzci9iaW4vaW5zdGFs
bCAtYwpjb25maWd1cmU6MzYwMDogY2hlY2tpbmcgd2hldGhlciBsbiAtcyB3b3Jrcwpjb25maWd1
cmU6MzYwNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM2NTQ6IGNoZWNraW5nIGZvciByYW5saWIK
Y29uZmlndXJlOjM2NzA6IGZvdW5kIC91c3IvYmluL3JhbmxpYgpjb25maWd1cmU6MzY4MTogcmVz
dWx0OiByYW5saWIKY29uZmlndXJlOjM3MDc6IGNoZWNraW5nIGZvciBnYXdrCmNvbmZpZ3VyZToz
NzIzOiBmb3VuZCAvdXNyL2Jpbi9nYXdrCmNvbmZpZ3VyZTozNzM0OiByZXN1bHQ6IGdhd2sKY29u
ZmlndXJlOjM3NDc6IGNoZWNraW5nIGZvciBhcgpjb25maWd1cmU6Mzc2MzogZm91bmQgL3Vzci9i
aW4vYXIKY29uZmlndXJlOjM3NzQ6IHJlc3VsdDogYXIKY29uZmlndXJlOjM3ODk6IGNoZWNraW5n
IGZvciBmcGFyc2VsbiBpbiAtbHV0aWwKY29uZmlndXJlOjM4MTQ6IGdjYyAtbyBjb25mdGVzdCAt
ZyAtTzIgICBjb25mdGVzdC5jIC1sdXRpbCAgID4mNQovdG1wL2NjQWZBRTFwLm86IEluIGZ1bmN0
aW9uIGBtYWluJzoKL21lZGlhL3NkYjIvc3JjL3BrZ3NyYy9ib290c3RyYXAvd29yay9saWJuYmNv
bXBhdC9jb25mdGVzdC5jOjIwOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBmcGFyc2VsbicKY29s
bGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjM4MTQ6ICQ/ID0gMQpj
b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu
ZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJs
aWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmlu
ZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdF
X0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwg
LyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwg
cHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1p
Z2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4g
aXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9f
Y3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZnBhcnNlbG4gKCk7CnwgaW50
CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZnBhcnNlbG4gKCk7CnwgICA7CnwgICByZXR1cm4gMDsK
fCB9CmNvbmZpZ3VyZTozODIzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozODQwOiBjaGVja2luZyBo
b3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nvcgpjb25maWd1cmU6Mzg3MTogZ2NjIC1FICBjb25m
dGVzdC5jCmNvbmZpZ3VyZTozODcxOiAkPyA9IDAKY29uZmlndXJlOjM4ODU6IGdjYyAtRSAgY29u
ZnRlc3QuYwpjb25mdGVzdC5jOjk6Mjg6IGZhdGFsIGVycm9yOiBhY19ub25leGlzdGVudC5oOiBO
byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3Vy
ZTozODg1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl
ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBB
Q0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIw
MDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8
ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQ
QUNLQUdFX1VSTCAiIgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNfbm9u
ZXhpc3RlbnQuaD4KY29uZmlndXJlOjM5MTA6IHJlc3VsdDogZ2NjIC1FCmNvbmZpZ3VyZTozOTMw
OiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjM5MzA6ICQ/ID0gMApjb25maWd1cmU6Mzk0
NDogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6OToyODogZmF0YWwgZXJyb3I6IGFjX25v
bmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWlu
YXRlZC4KY29uZmlndXJlOjM5NDQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh
czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0
Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tB
R0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21w
YXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9y
ZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp
bmNsdWRlIDxhY19ub25leGlzdGVudC5oPgpjb25maWd1cmU6Mzk3MzogY2hlY2tpbmcgZm9yIGdy
ZXAgdGhhdCBoYW5kbGVzIGxvbmcgbGluZXMgYW5kIC1lCmNvbmZpZ3VyZTo0MDMxOiByZXN1bHQ6
IC9iaW4vZ3JlcApjb25maWd1cmU6NDAzNjogY2hlY2tpbmcgZm9yIGVncmVwCmNvbmZpZ3VyZTo0
MDk4OiByZXN1bHQ6IC9iaW4vZ3JlcCAtRQpjb25maWd1cmU6NDEwMzogY2hlY2tpbmcgZm9yIEFO
U0kgQyBoZWFkZXIgZmlsZXMKY29uZmlndXJlOjQxMjM6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0
LmMgPiY1CmNvbmZpZ3VyZTo0MTIzOiAkPyA9IDAKY29uZmlndXJlOjQxOTY6IGdjYyAtbyBjb25m
dGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjQxOTY6ICQ/ID0gMApjb25m
aWd1cmU6NDE5NjogLi9jb25mdGVzdApjb25maWd1cmU6NDE5NjogJD8gPSAwCmNvbmZpZ3VyZTo0
MjA3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDIxNTogY2hlY2tpbmcgd2hldGhlciB0aW1lLmgg
YW5kIHN5cy90aW1lLmggbWF5IGJvdGggYmUgaW5jbHVkZWQKY29uZmlndXJlOjQyMzU6IGdjYyAt
YyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MjM1OiAkPyA9IDAKY29uZmlndXJl
OjQyNDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MjU1OiBjaGVja2luZyBmb3Igc3lzL3R5cGVz
LmgKY29uZmlndXJlOjQyNTU6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy
ZTo0MjU1OiAkPyA9IDAKY29uZmlndXJlOjQyNTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MjU1
OiBjaGVja2luZyBmb3Igc3lzL3N0YXQuaApjb25maWd1cmU6NDI1NTogZ2NjIC1jIC1nIC1PMiAg
Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQyNTU6ICQ/ID0gMApjb25maWd1cmU6NDI1NTogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjQyNTU6IGNoZWNraW5nIGZvciBzdGRsaWIuaApjb25maWd1cmU6
NDI1NTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQyNTU6ICQ/ID0g
MApjb25maWd1cmU6NDI1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQyNTU6IGNoZWNraW5nIGZv
ciBzdHJpbmcuaApjb25maWd1cmU6NDI1NTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUK
Y29uZmlndXJlOjQyNTU6ICQ/ID0gMApjb25maWd1cmU6NDI1NTogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjQyNTU6IGNoZWNraW5nIGZvciBtZW1vcnkuaApjb25maWd1cmU6NDI1NTogZ2NjIC1jIC1n
IC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQyNTU6ICQ/ID0gMApjb25maWd1cmU6NDI1
NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQyNTU6IGNoZWNraW5nIGZvciBzdHJpbmdzLmgKY29u
ZmlndXJlOjQyNTU6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MjU1
OiAkPyA9IDAKY29uZmlndXJlOjQyNTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MjU1OiBjaGVj
a2luZyBmb3IgaW50dHlwZXMuaApjb25maWd1cmU6NDI1NTogZ2NjIC1jIC1nIC1PMiAgY29uZnRl
c3QuYyA+JjUKY29uZmlndXJlOjQyNTU6ICQ/ID0gMApjb25maWd1cmU6NDI1NTogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjQyNTU6IGNoZWNraW5nIGZvciBzdGRpbnQuaApjb25maWd1cmU6NDI1NTog
Z2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQyNTU6ICQ/ID0gMApjb25m
aWd1cmU6NDI1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQyNTU6IGNoZWNraW5nIGZvciB1bmlz
dGQuaApjb25maWd1cmU6NDI1NTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmln
dXJlOjQyNTU6ICQ/ID0gMApjb25maWd1cmU6NDI1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQy
Njc6IGNoZWNraW5nIGZvciBzdGRib29sLmggdGhhdCBjb25mb3JtcyB0byBDOTkKY29uZmlndXJl
OjQzMzQ6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MzM0OiAkPyA9
IDAKY29uZmlndXJlOjQzNDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzQzOiBjaGVja2luZyBm
b3IgX0Jvb2wKY29uZmlndXJlOjQzNDM6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNv
bmZpZ3VyZTo0MzQzOiAkPyA9IDAKY29uZmlndXJlOjQzNDM6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0
ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzo1Njoy
MDogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgpjb25maWd1cmU6
NDM0MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz
LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNL
QUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4
MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAj
ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFD
S0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhf
U1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO
R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg
MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8
ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs
dWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMv
dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxz
eXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0
ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RE
TElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVm
IEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhB
VkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRl
IDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUg
PHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRl
IDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRl
IDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8
dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgoX0Jv
b2wpKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6
NDM0MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGFsbG9jYS5oIHVzYWJp
bGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmln
dXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQz
NzI6IGNoZWNraW5nIGFsbG9jYS5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNv
bmZ0ZXN0LmMKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGZvciBhbGxvY2EuaApjb25maWd1cmU6NDM3Mjog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGFzc2VydC5oIHVzYWJpbGl0eQpj
b25maWd1cmU6NDM3MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQz
NzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNo
ZWNraW5nIGFzc2VydC5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNvbmZ0ZXN0
LmMKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjQzNzI6IGNoZWNraW5nIGZvciBhc3NlcnQuaApjb25maWd1cmU6NDM3MjogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGN0eXBlLmggdXNhYmlsaXR5CmNvbmZpZ3Vy
ZTo0MzcyOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDM3MjogJD8g
PSAwCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcg
Y3R5cGUuaCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZp
Z3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0
MzcyOiBjaGVja2luZyBmb3IgY3R5cGUuaApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjQzNzI6IGNoZWNraW5nIGRpcmVudC5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3Mjog
Z2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25m
aWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGRpcmVudC5o
IHByZXNlbmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQz
NzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNo
ZWNraW5nIGZvciBkaXJlbnQuaApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjQzNzI6IGNoZWNraW5nIGVuZGlhbi5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1j
IC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6
NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGVuZGlhbi5oIHByZXNl
bmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQzNzI6ICQ/
ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5n
IGZvciBlbmRpYW4uaApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6
IGNoZWNraW5nIGVyci5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1jIC1nIC1PMiAg
Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGVyci5oIHByZXNlbmNlCmNvbmZpZ3Vy
ZTo0MzcyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1
cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGZvciBlcnIuaApj
b25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGVycm5v
LmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0MzcyOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4m
NQpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6NDM3MjogY2hlY2tpbmcgZXJybm8uaCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2Nj
IC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBmb3IgZXJybm8uaApjb25maWd1cmU6
NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGZjbnRsLmggdXNhYmls
aXR5CmNvbmZpZ3VyZTo0MzcyOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1
cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3
MjogY2hlY2tpbmcgZmNudGwuaCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25m
dGVzdC5jCmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBmb3IgZmNudGwuaApjb25maWd1cmU6NDM3MjogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGZubWF0Y2guaCB1c2FiaWxpdHkKY29u
ZmlndXJlOjQzNzI6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0Mzcy
OiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVj
a2luZyBmbm1hdGNoLmggcHJlc2VuY2UKY29uZmlndXJlOjQzNzI6IGdjYyAtRSAgY29uZnRlc3Qu
Ywpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6NDM3MjogY2hlY2tpbmcgZm9yIGZubWF0Y2guaApjb25maWd1cmU6NDM3MjogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGZ0cy5oIHVzYWJpbGl0eQpjb25maWd1cmU6
NDM3MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0g
MApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGZ0
cy5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJl
OjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6
IGNoZWNraW5nIGZvciBmdHMuaApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjQzNzI6IGNoZWNraW5nIGdycC5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1jIC1n
IC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3
MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGdycC5oIHByZXNlbmNlCmNv
bmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApj
b25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGZvciBn
cnAuaApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5n
IGZvciBpbnR0eXBlcy5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3
MjogY2hlY2tpbmcgbGlidXRpbC5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1jIC1n
IC1PMiAgY29uZnRlc3QuYyA+JjUKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZ0ZXN0LmM6Njc6
MDoKL3Vzci9pbmNsdWRlL2xpYnV0aWwuaDozMzoyOiB3YXJuaW5nOiAjd2FybmluZyAiRGVwcmVj
YXRlZCBoZWFkZXIsIHVzZSA8YnNkL2xpYnV0aWwuaD4gb3IgbGliYnNkLW92ZXJsYXkucGMgaW5z
dGVhZC4iIFstV2NwcF0KY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGxpYnV0aWwuaCBwcmVzZW5jZQpjb25m
aWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25m
dGVzdC5jOjM0OjA6Ci91c3IvaW5jbHVkZS9saWJ1dGlsLmg6MzM6Mjogd2FybmluZzogI3dhcm5p
bmcgIkRlcHJlY2F0ZWQgaGVhZGVyLCB1c2UgPGJzZC9saWJ1dGlsLmg+IG9yIGxpYmJzZC1vdmVy
bGF5LnBjIGluc3RlYWQuIiBbLVdjcHBdCmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJl
OjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBmb3IgbGlidXRpbC5o
CmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgbGlt
aXRzLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0MzcyOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5j
ID4mNQpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpj
b25maWd1cmU6NDM3MjogY2hlY2tpbmcgbGltaXRzLmggcHJlc2VuY2UKY29uZmlndXJlOjQzNzI6
IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0Mzcy
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgZm9yIGxpbWl0cy5oCmNvbmZp
Z3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgbWFjaGluZS9l
bmRpYW4uaCB1c2FiaWxpdHkKY29uZmlndXJlOjQzNzI6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0
LmMgPiY1CmNvbmZ0ZXN0LmM6Njk6Mjg6IGZhdGFsIGVycm9yOiBtYWNoaW5lL2VuZGlhbi5oOiBO
byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3Vy
ZTo0MzcyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl
ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBB
Q0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIw
MDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8
ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQ
QUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lU
SF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS
SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf
SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx
CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZp
bmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBI
QVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJ
UkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAx
CnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVm
aW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFW
RV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJV
VElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq
Lwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNs
dWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBp
bmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGlu
Y2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVm
IEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlm
CnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBk
ZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwg
IyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAj
IGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwg
IyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwg
IyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMg
aW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPG1hY2hpbmUvZW5kaWFuLmg+
CmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBtYWNo
aW5lL2VuZGlhbi5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMK
Y29uZnRlc3QuYzozNjoyODogZmF0YWwgZXJyb3I6IG1hY2hpbmUvZW5kaWFuLmg6IE5vIHN1Y2gg
ZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjQzNzI6
ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov
CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9U
QVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUi
CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmlu
ZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0Vf
VVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19U
SU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB
VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx
CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj
ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm
aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZF
X1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNT
RVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg
MQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVm
aW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFW
RV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9I
IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAx
CnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lu
Y2x1ZGUgPG1hY2hpbmUvZW5kaWFuLmg+CmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZp
Z3VyZTo0MzcyOiBjaGVja2luZyBmb3IgbWFjaGluZS9lbmRpYW4uaApjb25maWd1cmU6NDM3Mjog
cmVzdWx0OiBubwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgbmRpci5oIHVzYWJpbGl0eQpjb25m
aWd1cmU6NDM3MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo2OTox
ODogZmF0YWwgZXJyb3I6IG5kaXIuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxh
dGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6NDM3MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk
IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi
bGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNk
ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H
ICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFu
dEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVB
REVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNf
VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM
SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK
fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl
ZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhB
VkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NU
WVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9I
IDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVm
aW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBI
QVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF
U19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0gg
MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYg
SEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lm
ZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAj
aWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0
ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3Rk
bGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAh
ZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVk
ZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwg
I2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwg
I2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYK
fCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwg
I2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNp
bmNsdWRlIDxuZGlyLmg+CmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0Mzcy
OiBjaGVja2luZyBuZGlyLmggcHJlc2VuY2UKY29uZmlndXJlOjQzNzI6IGdjYyAtRSAgY29uZnRl
c3QuYwpjb25mdGVzdC5jOjM2OjE4OiBmYXRhbCBlcnJvcjogbmRpci5oOiBObyBzdWNoIGZpbGUg
b3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo0MzcyOiAkPyA9
IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk
ZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFN
RSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNk
ZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFD
S0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAi
Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAx
CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx
CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk
ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu
ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI
QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERC
T09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9I
IDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAj
ZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBI
QVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5N
QVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwg
I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNk
ZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl
IDxuZGlyLmg+CmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0MzcyOiBjaGVj
a2luZyBmb3IgbmRpci5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0Mzcy
OiBjaGVja2luZyBuZXRkYi5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1jIC1nIC1P
MiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3Mjog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIG5ldGRiLmggcHJlc2VuY2UKY29u
ZmlndXJlOjQzNzI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNv
bmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgZm9yIG5l
dGRiLmgKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2lu
ZyBwYXRocy5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRl
c3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIHBhdGhzLmggcHJlc2VuY2UKY29uZmlndXJlOjQz
NzI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0
MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgZm9yIHBhdGhzLmgKY29u
ZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBwd2QuaCB1
c2FiaWxpdHkKY29uZmlndXJlOjQzNzI6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNv
bmZpZ3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTo0MzcyOiBjaGVja2luZyBwd2QuaCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBj
b25mdGVzdC5jCmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBmb3IgcHdkLmgKY29uZmlndXJlOjQzNzI6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzaWduYWwuaCB1c2FiaWxpdHkKY29u
ZmlndXJlOjQzNzI6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0Mzcy
OiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVj
a2luZyBzaWduYWwuaCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5j
CmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZTo0MzcyOiBjaGVja2luZyBmb3Igc2lnbmFsLmgKY29uZmlndXJlOjQzNzI6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzdGRhcmcuaCB1c2FiaWxpdHkKY29uZmlndXJl
OjQzNzI6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MzcyOiAkPyA9
IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBz
dGRhcmcuaCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZp
Z3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0
MzcyOiBjaGVja2luZyBmb3Igc3RkYXJnLmgKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzdGRkZWYuaCB1c2FiaWxpdHkKY29uZmlndXJlOjQzNzI6
IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDAKY29u
ZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzdGRkZWYu
aCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0
MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBj
aGVja2luZyBmb3Igc3RkZGVmLmgKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTo0MzcyOiBjaGVja2luZyBmb3Igc3RkaW50LmgKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzdGRpby5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3
MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApj
b25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIHN0ZGlv
LmggcHJlc2VuY2UKY29uZmlndXJlOjQzNzI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6
NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3Mjog
Y2hlY2tpbmcgZm9yIHN0ZGlvLmgKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTo0MzcyOiBjaGVja2luZyBmb3Igc3RkbGliLmgKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBmb3Igc3RyaW5nLmgKY29uZmlndXJlOjQzNzI6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXMvYnl0ZW9yZGVyLmggdXNhYmls
aXR5CmNvbmZpZ3VyZTo0MzcyOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVz
dC5jOjc5OjI3OiBmYXRhbCBlcnJvcjogc3lzL2J5dGVvcmRlci5oOiBObyBzdWNoIGZpbGUgb3Ig
ZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDEK
Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp
bmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi
bGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZp
bmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FH
RV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8
ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg
I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg
I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp
bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI
QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF
X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09M
X0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEK
fCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm
aW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZF
X0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRD
SF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2Rl
ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZp
bmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFW
RV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxf
SCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAvKiBlbmQgY29u
ZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVT
X0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19T
VEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVB
REVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxz
ZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5k
aWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19I
RUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8
ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU
UklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lO
VFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf
U1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VO
SVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8c3lzL2J5
dGVvcmRlci5oPgpjb25maWd1cmU6NDM3MjogcmVzdWx0OiBubwpjb25maWd1cmU6NDM3MjogY2hl
Y2tpbmcgc3lzL2J5dGVvcmRlci5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNv
bmZ0ZXN0LmMKY29uZnRlc3QuYzo0NjoyNzogZmF0YWwgZXJyb3I6IHN5cy9ieXRlb3JkZXIuaDog
Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1
cmU6NDM3MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk
ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQ
QUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy
MDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIK
fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUg
UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJ
VEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU
UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT
X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg
MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVm
aW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUg
SEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9E
SVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0gg
MQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2Rl
ZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhB
VkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElC
VVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9I
IDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVm
aW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBI
QVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf
SCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvYnl0ZW9yZGVyLmg+
CmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBmb3Ig
c3lzL2J5dGVvcmRlci5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0Mzcy
OiBjaGVja2luZyBzeXMvY2RlZnMuaCB1c2FiaWxpdHkKY29uZmlndXJlOjQzNzI6IGdjYyAtYyAt
ZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQz
NzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXMvY2RlZnMuaCBwcmVz
ZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0MzcyOiAk
PyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2lu
ZyBmb3Igc3lzL2NkZWZzLmgKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0
MzcyOiBjaGVja2luZyBzeXMvZGlyLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0MzcyOiBnY2MgLWMg
LWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0
MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgc3lzL2Rpci5oIHByZXNl
bmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQzNzI6ICQ/
ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5n
IGZvciBzeXMvZGlyLmgKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0Mzcy
OiBjaGVja2luZyBzeXMvZW5kaWFuLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0MzcyOiBnY2MgLWMg
LWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjgxOjI0OiBmYXRhbCBlcnJvcjogc3lz
L2VuZGlhbi5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0
ZWQuCmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6
CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIK
fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdF
X1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0
IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmci
CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm
aW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI
QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW
RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JP
T0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAx
CnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2Rl
ZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUg
SEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05U
TF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8
ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp
bmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBI
QVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdE
X0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEK
fCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI
QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFW
RV9TWVNfRElSX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8u
aD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+Cnwg
I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4K
fCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAj
IGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAg
aW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklO
R19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9I
CnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+
CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+
CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMu
aD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+
CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8
ICNlbmRpZgp8ICNpbmNsdWRlIDxzeXMvZW5kaWFuLmg+CmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6
IG5vCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXMvZW5kaWFuLmggcHJlc2VuY2UKY29uZmln
dXJlOjQzNzI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjQ4OjI0OiBmYXRhbCBlcnJv
cjogc3lzL2VuZGlhbi5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRl
cm1pbmF0ZWQuCmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh
bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNv
bXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQ
QUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5i
Y29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJT
RC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK
fCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK
fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB
VkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExP
Q0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAx
CnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNk
ZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFW
RV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRT
X0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8
ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2Rl
ZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhB
VkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFS
R19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx
CnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfRElSX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8
c3lzL2VuZGlhbi5oPgpjb25maWd1cmU6NDM3MjogcmVzdWx0OiBubwpjb25maWd1cmU6NDM3Mjog
Y2hlY2tpbmcgZm9yIHN5cy9lbmRpYW4uaApjb25maWd1cmU6NDM3MjogcmVzdWx0OiBubwpjb25m
aWd1cmU6NDM3MjogY2hlY2tpbmcgc3lzL2ZpbGUuaCB1c2FiaWxpdHkKY29uZmlndXJlOjQzNzI6
IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDAKY29u
ZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXMvZmls
ZS5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJl
OjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6
IGNoZWNraW5nIGZvciBzeXMvZmlsZS5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6NDM3MjogY2hlY2tpbmcgc3lzL21rZGV2LmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0Mzcy
OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjgyOjIzOiBmYXRhbCBl
cnJvcjogc3lzL21rZGV2Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24g
dGVybWluYXRlZC4KY29uZmlndXJlOjQzNzI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n
cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5i
Y29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5l
IFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGli
bmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0
QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMg
MQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg
SEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FM
TE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9I
IDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwg
I2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBI
QVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9G
VFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx
CnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAj
ZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUg
SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
QVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I
IDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8IC8qIGVu
ZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNf
VFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf
U1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1RE
Q19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8
ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+Cnwg
IyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBT
VERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5
Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB
VkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB
VkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYg
SEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB
VkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxz
eXMvbWtkZXYuaD4KY29uZmlndXJlOjQzNzI6IHJlc3VsdDogbm8KY29uZmlndXJlOjQzNzI6IGNo
ZWNraW5nIHN5cy9ta2Rldi5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNvbmZ0
ZXN0LmMKY29uZnRlc3QuYzo0OToyMzogZmF0YWwgZXJyb3I6IHN5cy9ta2Rldi5oOiBObyBzdWNo
IGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo0Mzcy
OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq
Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0Vf
VEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1
Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZp
bmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdF
X1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf
VElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg
MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg
I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl
ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFW
RV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FT
U0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9I
IDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2Rl
ZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhB
VkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBf
SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0gg
MQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNk
ZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFW
RV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
REVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1
ZGUgPHN5cy9ta2Rldi5oPgpjb25maWd1cmU6NDM3MjogcmVzdWx0OiBubwpjb25maWd1cmU6NDM3
MjogY2hlY2tpbmcgZm9yIHN5cy9ta2Rldi5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXMvbmRpci5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3
MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo4MjoyMjogZmF0YWwg
ZXJyb3I6IHN5cy9uZGlyLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24g
dGVybWluYXRlZC4KY29uZmlndXJlOjQzNzI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n
cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5i
Y29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5l
IFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGli
bmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0
QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMg
MQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg
SEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FM
TE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9I
IDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwg
I2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBI
QVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9G
VFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx
CnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAj
ZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUg
SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
QVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I
IDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8IC8qIGVu
ZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNf
VFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf
U1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1RE
Q19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8
ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+Cnwg
IyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBT
VERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5
Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB
VkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB
VkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYg
SEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB
VkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxz
eXMvbmRpci5oPgpjb25maWd1cmU6NDM3MjogcmVzdWx0OiBubwpjb25maWd1cmU6NDM3MjogY2hl
Y2tpbmcgc3lzL25kaXIuaCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVz
dC5jCmNvbmZ0ZXN0LmM6NDk6MjI6IGZhdGFsIGVycm9yOiBzeXMvbmRpci5oOiBObyBzdWNoIGZp
bGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo0MzcyOiAk
PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8
ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS
TkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8
ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUg
UEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VS
TCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElN
RSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf
SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8
ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl
ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu
ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9T
VERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VS
VF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK
fCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmlu
ZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVf
Rk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAx
CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8
ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZp
bmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9T
SUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVG
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfRklMRV9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUg
PHN5cy9uZGlyLmg+CmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0MzcyOiBj
aGVja2luZyBmb3Igc3lzL25kaXIuaApjb25maWd1cmU6NDM3MjogcmVzdWx0OiBubwpjb25maWd1
cmU6NDM3MjogY2hlY2tpbmcgc3lzL3BhcmFtLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0MzcyOiBn
Y2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNvbmZp
Z3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgc3lzL3BhcmFt
LmggcHJlc2VuY2UKY29uZmlndXJlOjQzNzI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6
NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3Mjog
Y2hlY2tpbmcgZm9yIHN5cy9wYXJhbS5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6NDM3MjogY2hlY2tpbmcgc3lzL3NvY2tldC5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3
MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApj
b25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIHN5cy9z
b2NrZXQuaCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZp
Z3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0
MzcyOiBjaGVja2luZyBmb3Igc3lzL3NvY2tldC5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHll
cwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgZm9yIHN5cy9zdGF0LmgKY29uZmlndXJlOjQzNzI6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXMvc3RhdGZzLmggdXNhYmls
aXR5CmNvbmZpZ3VyZTo0MzcyOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1
cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3
MjogY2hlY2tpbmcgc3lzL3N0YXRmcy5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUg
IGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGZvciBzeXMvc3RhdGZzLmgKY29uZmlndXJl
OjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXMvc3RhdHZmcy5o
IHVzYWJpbGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUK
Y29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjQzNzI6IGNoZWNraW5nIHN5cy9zdGF0dmZzLmggcHJlc2VuY2UKY29uZmlndXJlOjQzNzI6
IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0Mzcy
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgZm9yIHN5cy9zdGF0dmZzLmgK
Y29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXMv
dGltZS5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3Qu
YyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjQzNzI6IGNoZWNraW5nIHN5cy90aW1lLmggcHJlc2VuY2UKY29uZmlndXJlOjQz
NzI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0
MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgZm9yIHN5cy90aW1lLmgK
Y29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXMv
dHR5Y29tLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0MzcyOiBnY2MgLWMgLWcgLU8yICBjb25mdGVz
dC5jID4mNQpjb25mdGVzdC5jOjg4OjI0OiBmYXRhbCBlcnJvcjogc3lzL3R0eWNvbS5oOiBObyBz
dWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo0
MzcyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu
aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tB
R0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgw
NjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNk
ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNL
QUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9T
WVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx
CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg
I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUg
SEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZF
X0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVO
VF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwg
I2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5l
IEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9H
UlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElM
X0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8
ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUg
SEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVf
U1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElP
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8
ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8
ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K
fCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVk
ZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5j
bHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNs
dWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBI
QVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8
ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVm
aW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMg
aW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBp
bmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMg
aW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMg
aW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGlu
Y2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxzeXMvdHR5Y29tLmg+CmNvbmZp
Z3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXMvdHR5Y29t
LmggcHJlc2VuY2UKY29uZmlndXJlOjQzNzI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25mdGVzdC5j
OjU1OjI0OiBmYXRhbCBlcnJvcjogc3lzL3R0eWNvbS5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0
b3J5CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDEKY29uZmln
dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD
S0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJj
b21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFD
S0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS
RVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp
bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW
RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO
VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU
RF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8
ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVm
aW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhB
VkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5P
X0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEK
fCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBI
QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFW
RV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRI
U19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwg
I2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFW
RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
RklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
U09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19USU1FX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R0
eWNvbS5oPgpjb25maWd1cmU6NDM3MjogcmVzdWx0OiBubwpjb25maWd1cmU6NDM3MjogY2hlY2tp
bmcgZm9yIHN5cy90dHljb20uaApjb25maWd1cmU6NDM3MjogcmVzdWx0OiBubwpjb25maWd1cmU6
NDM3MjogY2hlY2tpbmcgZm9yIHN5cy90eXBlcy5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHll
cwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgc3lzL3Vpby5oIHVzYWJpbGl0eQpjb25maWd1cmU6
NDM3MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0g
MApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIHN5
cy91aW8uaCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZp
Z3VyZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0
MzcyOiBjaGVja2luZyBmb3Igc3lzL3Vpby5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpj
b25maWd1cmU6NDM3MjogY2hlY2tpbmcgc3lzL3Zmcy5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3
MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApj
b25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIHN5cy92
ZnMuaCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3Vy
ZTo0MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0Mzcy
OiBjaGVja2luZyBmb3Igc3lzL3Zmcy5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6NDM3MjogY2hlY2tpbmcgc3lzZXhpdHMuaCB1c2FiaWxpdHkKY29uZmlndXJlOjQzNzI6
IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDAKY29u
ZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBzeXNleGl0
cy5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0MzcyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJl
OjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6
IGNoZWNraW5nIGZvciBzeXNleGl0cy5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6NDM3MjogY2hlY2tpbmcgdGVybWNhcC5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3Mjog
Z2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25m
aWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIHRlcm1jYXAu
aCBwcmVzZW5jZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0
MzcyOiAkPyA9IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBj
aGVja2luZyBmb3IgdGVybWNhcC5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1
cmU6NDM3MjogY2hlY2tpbmcgdGltZS5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1j
IC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6
NDM3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIHRpbWUuaCBwcmVzZW5j
ZQpjb25maWd1cmU6NDM3MjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0MzcyOiAkPyA9
IDAKY29uZmlndXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBm
b3IgdGltZS5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hl
Y2tpbmcgdHpmaWxlLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0MzcyOiBnY2MgLWMgLWcgLU8yICBj
b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjk0OjIwOiBmYXRhbCBlcnJvcjogdHpmaWxlLmg6IE5v
IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJl
OjQzNzI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm
cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFD
S0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAw
ODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwg
I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBB
Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRI
X1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ
TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I
IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK
fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmlu
ZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhB
VkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElS
RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEK
fCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZp
bmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZF
X0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVU
SUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAx
CnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFW
RV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
SU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZG
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAx
CnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs
dWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMv
dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxz
eXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0
ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RE
TElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVm
IEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhB
VkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRl
IDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUg
PHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRl
IDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRl
IDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8
dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPHR6ZmlsZS5oPgpjb25maWd1cmU6NDM3Mjog
cmVzdWx0OiBubwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgdHpmaWxlLmggcHJlc2VuY2UKY29u
ZmlndXJlOjQzNzI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjYxOjIwOiBmYXRhbCBl
cnJvcjogdHpmaWxlLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVy
bWluYXRlZC4KY29uZmlndXJlOjQzNzI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt
IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29t
cGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBB
Q0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJj
b21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNE
Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8
ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW
RV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9D
QV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEK
fCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2Rl
ZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZF
X0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNf
SCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg
I2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVm
aW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFW
RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJH
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK
fCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgLyogZW5kIGNvbmZk
ZWZzLmguICAqLwp8ICNpbmNsdWRlIDx0emZpbGUuaD4KY29uZmlndXJlOjQzNzI6IHJlc3VsdDog
bm8KY29uZmlndXJlOjQzNzI6IGNoZWNraW5nIGZvciB0emZpbGUuaApjb25maWd1cmU6NDM3Mjog
cmVzdWx0OiBubwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgZm9yIHVuaXN0ZC5oCmNvbmZpZ3Vy
ZTo0MzcyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgdXRpbC5oIHVzYWJp
bGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRl
c3QuYzo5NToxODogZmF0YWwgZXJyb3I6IHV0aWwuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y
eQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6NDM3MjogJD8gPSAxCmNvbmZpZ3Vy
ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB
R0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29t
cGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tB
R0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ
T1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5l
IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUg
SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf
TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU
WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf
SCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAj
ZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmlu
ZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZF
X0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19I
IDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwg
I2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFW
RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVf
TElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNf
SCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5l
IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVf
U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19D
REVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJ
TEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP
Q0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T
VEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNF
WElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9I
IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj
aW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8
c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVk
ZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRl
IDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZF
X1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNp
ZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5l
ZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5j
bHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNs
dWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5j
bHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5j
bHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1
ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDx1dGlsLmg+CmNvbmZpZ3VyZTo0Mzcy
OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyB1dGlsLmggcHJlc2VuY2UKY29u
ZmlndXJlOjQzNzI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjYyOjE4OiBmYXRhbCBl
cnJvcjogdXRpbC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1p
bmF0ZWQuCmNvbmZpZ3VyZTo0MzcyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3
YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBh
dCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNL
QUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29t
cGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5v
cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj
ZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf
X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0Ff
SCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwg
I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZp
bmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9G
Q05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0gg
MQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmlu
ZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVf
UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19I
IDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg
I2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUg
SEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9V
TklTVERfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDx1dGlsLmg+CmNv
bmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyBmb3IgdXRp
bC5oCmNvbmZpZ3VyZTo0MzcyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0MzcyOiBjaGVja2luZyB1
dGltZS5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDM3MjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3Qu
YyA+JjUKY29uZmlndXJlOjQzNzI6ICQ/ID0gMApjb25maWd1cmU6NDM3MjogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjQzNzI6IGNoZWNraW5nIHV0aW1lLmggcHJlc2VuY2UKY29uZmlndXJlOjQzNzI6
IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDM3MjogJD8gPSAwCmNvbmZpZ3VyZTo0Mzcy
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM3MjogY2hlY2tpbmcgZm9yIHV0aW1lLmgKY29uZmln
dXJlOjQzNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0Mzg0OiBjaGVja2luZyBmb3Igc3lzL21v
dW50LmgKY29uZmlndXJlOjQzODQ6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp
Z3VyZTo0Mzg0OiAkPyA9IDAKY29uZmlndXJlOjQzODQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0
NDA1OiBjaGVja2luZyBnbG9iLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0NDA1OiBnY2MgLWMgLWcg
LU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDQwNTogJD8gPSAwCmNvbmZpZ3VyZTo0NDA1
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDQwNTogY2hlY2tpbmcgZ2xvYi5oIHByZXNlbmNlCmNv
bmZpZ3VyZTo0NDA1OiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQ0MDU6ICQ/ID0gMApj
b25maWd1cmU6NDQwNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ0MDU6IGNoZWNraW5nIGZvciBn
bG9iLmgKY29uZmlndXJlOjQ0MDU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NDI3OiBjaGVja2lu
ZyBzeXMvcXVldWUuaCB1c2FiaWxpdHkKY29uZmlndXJlOjQ0Mjc6IGdjYyAtYyAtZyAtTzIgIGNv
bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0NDI3OiAkPyA9IDAKY29uZmlndXJlOjQ0Mjc6IHJlc3Vs
dDogeWVzCmNvbmZpZ3VyZTo0NDI3OiBjaGVja2luZyBzeXMvcXVldWUuaCBwcmVzZW5jZQpjb25m
aWd1cmU6NDQyNzogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0NDI3OiAkPyA9IDAKY29u
ZmlndXJlOjQ0Mjc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NDI3OiBjaGVja2luZyBmb3Igc3lz
L3F1ZXVlLmgKY29uZmlndXJlOjQ0Mjc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NDQzOiBjaGVj
a2luZyByZWdleC5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDQ0MzogZ2NjIC1jIC1nIC1PMiAgY29u
ZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ0NDM6ICQ/ID0gMApjb25maWd1cmU6NDQ0MzogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjQ0NDM6IGNoZWNraW5nIHJlZ2V4LmggcHJlc2VuY2UKY29uZmlndXJl
OjQ0NDM6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDQ0MzogJD8gPSAwCmNvbmZpZ3Vy
ZTo0NDQzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDQ0MzogY2hlY2tpbmcgZm9yIHJlZ2V4LmgK
Y29uZmlndXJlOjQ0NDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NDUzOiBjaGVja2luZyBmb3Ig
cmVnZXhlYwpjb25maWd1cmU6NDQ1MzogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0
LmMgID4mNQpjb25maWd1cmU6NDQ1MzogJD8gPSAwCmNvbmZpZ3VyZTo0NDUzOiByZXN1bHQ6IHll
cwpjb25maWd1cmU6NDQ5MTogY2hlY2tpbmcgbWQ1LmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0NDkx
OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjEwMjoxNzogZmF0YWwg
ZXJyb3I6IG1kNS5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbXBpbGF0aW9uIHRlcm1p
bmF0ZWQuCmNvbmZpZ3VyZTo0NDkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3
YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBh
dCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNL
QUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29t
cGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5v
cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj
ZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf
X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0Ff
SCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwg
I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZp
bmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9G
Q05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0gg
MQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmlu
ZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVf
UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19I
IDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg
I2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUg
SEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9V
TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9V
TlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dM
T0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
X1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq
Lwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNs
dWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBp
bmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGlu
Y2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVm
IEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlm
CnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBk
ZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwg
IyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAj
IGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwg
IyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwg
IyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMg
aW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPG1kNS5oPgpjb25maWd1cmU6
NDQ5MTogcmVzdWx0OiBubwpjb25maWd1cmU6NDQ5MTogY2hlY2tpbmcgbWQ1LmggcHJlc2VuY2UK
Y29uZmlndXJlOjQ0OTE6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjY5OjE3OiBmYXRh
bCBlcnJvcjogbWQ1Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVy
bWluYXRlZC4KY29uZmlndXJlOjQ0OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt
IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29t
cGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBB
Q0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJj
b21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNE
Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8
ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW
RV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9D
QV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEK
fCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2Rl
ZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZF
X0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNf
SCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg
I2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVm
aW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFW
RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJH
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK
fCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZF
X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19N
T1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRf
R0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01Q
QVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g
ICovCnwgI2luY2x1ZGUgPG1kNS5oPgpjb25maWd1cmU6NDQ5MTogcmVzdWx0OiBubwpjb25maWd1
cmU6NDQ5MTogY2hlY2tpbmcgZm9yIG1kNS5oCmNvbmZpZ3VyZTo0NDkxOiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZTo0NTUxOiBjaGVja2luZyBmb3IgbWQ1LmgKY29uZmlndXJlOjQ1NTE6IHJlc3VsdDog
bm8KY29uZmlndXJlOjQ1NTE6IGNoZWNraW5nIHJtZDE2MC5oIHVzYWJpbGl0eQpjb25maWd1cmU6
NDU1MTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoxMDI6MjA6IGZh
dGFsIGVycm9yOiBybWQxNjAuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb21waWxhdGlv
biB0ZXJtaW5hdGVkLgpjb25maWd1cmU6NDU1MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy
b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGli
bmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZp
bmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJs
aWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBO
ZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVS
UyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ
RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf
SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj
ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu
ZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVf
QUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NUWVBF
X0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9IIDEK
fCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5l
IEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZF
X0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I
IDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8
ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8
ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAj
ZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAjZGVmaW5l
IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNP
TVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9O
QkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8IC8qIGVuZCBjb25mZGVm
cy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8
ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRf
SAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJT
CnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwg
IyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8
ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURF
UlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBl
bmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5H
U19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQ
RVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJ
TlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1RE
X0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpbmNsdWRlIDxybWQxNjAuaD4K
Y29uZmlndXJlOjQ1NTE6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ1NTE6IGNoZWNraW5nIHJtZDE2
MC5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0NTUxOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZnRlc3Qu
Yzo2OToyMDogZmF0YWwgZXJyb3I6IHJtZDE2MC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5
CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo0NTUxOiAkPyA9IDEKY29uZmlndXJl
OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH
RV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21w
YXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FH
RV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP
UlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg
U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBI
QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI
QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N
RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ
UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I
IDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNk
ZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5l
IEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf
RU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0gg
MQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAj
ZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZF
X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9M
SU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19I
IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NE
RUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklM
RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09D
S0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
QVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VY
SVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0gg
MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmlu
ZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2Rl
ZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgLyog
ZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxybWQxNjAuaD4KY29uZmlndXJlOjQ1NTE6
IHJlc3VsdDogbm8KY29uZmlndXJlOjQ1NTE6IGNoZWNraW5nIGZvciBybWQxNjAuaApjb25maWd1
cmU6NDU1MTogcmVzdWx0OiBubwpjb25maWd1cmU6NDU1MTogY2hlY2tpbmcgc2hhMS5oIHVzYWJp
bGl0eQpjb25maWd1cmU6NDU1MTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRl
c3QuYzoxMDI6MTg6IGZhdGFsIGVycm9yOiBzaGExLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv
cnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjQ1NTE6ICQ/ID0gMQpjb25maWd1
cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL
QUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNv
bXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNL
QUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF
UE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmlu
ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l
IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U
VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE
X0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwg
I2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZp
bmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW
RV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9f
SCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8
ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhB
VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZF
X0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhT
X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZF
X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
Q0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19G
SUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T
T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
U1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
RVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVf
SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVm
aW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAj
ZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAv
KiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVf
U1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI
QVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVm
IFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYu
aD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5o
Pgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmlu
ZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1l
bW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRl
ZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRl
ZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lm
ZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRl
ZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVk
ZSA8c2hhMS5oPgpjb25maWd1cmU6NDU1MTogcmVzdWx0OiBubwpjb25maWd1cmU6NDU1MTogY2hl
Y2tpbmcgc2hhMS5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0NTUxOiBnY2MgLUUgIGNvbmZ0ZXN0LmMK
Y29uZnRlc3QuYzo2OToxODogZmF0YWwgZXJyb3I6IHNoYTEuaDogTm8gc3VjaCBmaWxlIG9yIGRp
cmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6NDU1MTogJD8gPSAxCmNv
bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l
IFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxp
Ym5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5l
IFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0Vf
QlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj
ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l
IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW
RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V
TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9I
IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwg
I2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu
ZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9F
UlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hf
SCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZp
bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5l
IEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVf
UEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5l
IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFW
RV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVf
VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8
ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0gg
MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0gg
MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c2hhMS5oPgpjb25maWd1cmU6
NDU1MTogcmVzdWx0OiBubwpjb25maWd1cmU6NDU1MTogY2hlY2tpbmcgZm9yIHNoYTEuaApjb25m
aWd1cmU6NDU1MTogcmVzdWx0OiBubwpjb25maWd1cmU6NDU1MTogY2hlY2tpbmcgc2hhMi5oIHVz
YWJpbGl0eQpjb25maWd1cmU6NDU1MTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29u
ZnRlc3QuYzoxMDI6MTg6IGZhdGFsIGVycm9yOiBzaGEyLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl
Y3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjQ1NTE6ICQ/ID0gMQpjb25m
aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ
QUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJu
YmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQ
QUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JV
R1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl
ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI
QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf
SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J
U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAx
CnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNk
ZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg
SEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJS
Tk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0gg
MQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5l
IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBI
QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BB
VEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEK
fCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBI
QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJ
TUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAj
ZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEK
fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEK
fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhB
VkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl
ZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lm
ZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRk
ZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxp
Yi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRl
ZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUg
PG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNp
ZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNp
ZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwg
I2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNp
ZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5j
bHVkZSA8c2hhMi5oPgpjb25maWd1cmU6NDU1MTogcmVzdWx0OiBubwpjb25maWd1cmU6NDU1MTog
Y2hlY2tpbmcgc2hhMi5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0NTUxOiBnY2MgLUUgIGNvbmZ0ZXN0
LmMKY29uZnRlc3QuYzo2OToxODogZmF0YWwgZXJyb3I6IHNoYTIuaDogTm8gc3VjaCBmaWxlIG9y
IGRpcmVjdG9yeQpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6NDU1MTogJD8gPSAx
CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm
aW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg
ImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVm
aW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tB
R0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK
fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8
ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm
aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg
SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW
RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9P
TF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAx
CnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl
ZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFW
RV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFU
Q0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNk
ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVm
aW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhB
VkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFM
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEK
fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVm
aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI
QVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI
QVZFX1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhB
VkVfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElN
RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0gg
MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVF
X0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VY
X0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c2hhMi5oPgpjb25maWd1
cmU6NDU1MTogcmVzdWx0OiBubwpjb25maWd1cmU6NDU1MTogY2hlY2tpbmcgZm9yIHNoYTIuaApj
b25maWd1cmU6NDU1MTogcmVzdWx0OiBubwpjb25maWd1cmU6NDU2MTogY2hlY2tpbmcgZm9yIE1E
NUZpbGUKY29uZmlndXJlOjQ1NjE6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5j
ICA+JjUKL3RtcC9jY0NQUUphRy5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9tZWRpYS9zZGIyL3Ny
Yy9wa2dzcmMvYm9vdHN0cmFwL3dvcmsvbGlibmJjb21wYXQvY29uZnRlc3QuYzoxMDM6IHVuZGVm
aW5lZCByZWZlcmVuY2UgdG8gYE1ENUZpbGUnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQg
c3RhdHVzCmNvbmZpZ3VyZTo0NTYxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3
YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBh
dCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNL
QUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29t
cGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5v
cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj
ZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf
X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0Ff
SCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwg
I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZp
bmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9G
Q05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0gg
MQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmlu
ZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVf
UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19I
IDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg
I2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUg
SEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9V
TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9V
TlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dM
T0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
X1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq
Lwp8IC8qIERlZmluZSBNRDVGaWxlIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxs
aW1pdHMuaD4gZGVjbGFyZXMgTUQ1RmlsZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxs
aW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIE1ENUZpbGUgaW5u
b2N1b3VzX01ENUZpbGUKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFj
cm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGlj
dCB3aXRoIGNoYXIgTUQ1RmlsZSAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRv
IDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5o
PiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYg
X19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3Nl
cnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgTUQ1RmlsZQp8IAp8IC8qIE92ZXJyaWRlIGFueSBH
Q0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJl
Y2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0
aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICov
CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgTUQ1Rmls
ZSAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3
aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29t
ZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3
aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVk
IF9fc3R1Yl9NRDVGaWxlIHx8IGRlZmluZWQgX19zdHViX19fTUQ1RmlsZQp8IGNob2tlIG1lCnwg
I2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gTUQ1RmlsZSAoKTsKfCAgIDsK
fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjQ1NjE6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ1
ODQ6IGNoZWNraW5nIGZvciBSTUQxNjBGaWxlCmNvbmZpZ3VyZTo0NTg0OiBnY2MgLW8gY29uZnRl
c3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1Ci90bXAvY2NrVk9vQlEubzogSW4gZnVuY3Rpb24g
YG1haW4nOgovbWVkaWEvc2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xpYm5iY29tcGF0
L2NvbmZ0ZXN0LmM6MTA0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBSTUQxNjBGaWxlJwpjb2xs
ZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6NDU4NDogJD8gPSAxCmNv
bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l
IFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxp
Ym5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5l
IFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0Vf
QlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj
ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l
IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW
RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V
TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9I
IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwg
I2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu
ZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9F
UlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hf
SCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZp
bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5l
IEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVf
UEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5l
IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFW
RV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVf
VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8
ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0gg
MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0gg
MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K
fCAvKiBEZWZpbmUgUk1EMTYwRmlsZSB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8
bGltaXRzLmg+IGRlY2xhcmVzIFJNRDE2MEZpbGUuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDEx
aSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBSTUQxNjBG
aWxlIGlubm9jdW91c19STUQxNjBGaWxlCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUg
X19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBj
YW4gY29uZmxpY3Qgd2l0aCBjaGFyIFJNRDE2MEZpbGUgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIg
PGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwg
ICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICov
CnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMg
aW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIFJNRDE2MEZpbGUKfCAKfCAv
KiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4K
fCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg
YSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQg
c3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5k
aWYKfCBjaGFyIFJNRDE2MEZpbGUgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0
aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFp
bCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBz
b21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFz
LiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfUk1EMTYwRmlsZSB8fCBkZWZpbmVkIF9fc3R1Yl9f
X1JNRDE2MEZpbGUKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwg
cmV0dXJuIFJNRDE2MEZpbGUgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo0
NTg0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0NjA3OiBjaGVja2luZyBmb3IgU0hBMUZpbGUKY29u
ZmlndXJlOjQ2MDc6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKL3Rt
cC9jY09sUlMzMy5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9tZWRpYS9zZGIyL3NyYy9wa2dzcmMv
Ym9vdHN0cmFwL3dvcmsvbGlibmJjb21wYXQvY29uZnRlc3QuYzoxMDU6IHVuZGVmaW5lZCByZWZl
cmVuY2UgdG8gYFNIQTFGaWxlJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpj
b25maWd1cmU6NDYwNzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q
IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2Rl
ZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT
SU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4
MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNk
ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBU
SU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI
QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEK
fCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNk
ZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUg
SEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVf
RVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAx
CnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVm
aW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB
VkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9O
RVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEK
fCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19Q
QVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVS
TUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg
MQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8
ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAx
CnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8
ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K
fCAvKiBEZWZpbmUgU0hBMUZpbGUgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxp
bWl0cy5oPiBkZWNsYXJlcyBTSEExRmlsZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxs
aW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIFNIQTFGaWxlIGlu
bm9jdW91c19TSEExRmlsZQp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBt
YWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZs
aWN0IHdpdGggY2hhciBTSEExRmlsZSAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+
IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0
cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZk
ZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxh
c3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgU0hBMUZpbGUKfCAKfCAvKiBPdmVycmlkZSBh
bnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hh
ciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBi
dWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHku
ICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIFNI
QTFGaWxlICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rp
b25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMu
ICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0
aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRl
ZmluZWQgX19zdHViX1NIQTFGaWxlIHx8IGRlZmluZWQgX19zdHViX19fU0hBMUZpbGUKfCBjaG9r
ZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIFNIQTFGaWxlICgp
Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NDYwNzogcmVzdWx0OiBubwpjb25m
aWd1cmU6NDYzMTogY2hlY2tpbmcgZm9yIFNIQTUxMl9GaWxlCmNvbmZpZ3VyZTo0NjMxOiBnY2Mg
LW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1Ci90bXAvY2NhbGZrZmQubzogSW4g
ZnVuY3Rpb24gYG1haW4nOgovbWVkaWEvc2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xp
Ym5iY29tcGF0L2NvbmZ0ZXN0LmM6MTA2OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBTSEE1MTJf
RmlsZScKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjQ2MzE6
ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov
CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9U
QVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUi
CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmlu
ZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0Vf
VVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19U
SU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB
VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx
CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj
ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm
aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZF
X1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNT
RVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg
MQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVm
aW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFW
RV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9I
IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAx
CnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2Rl
ZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZF
X1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERE
RUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAx
CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2Rl
ZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2Rl
ZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB
VkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVf
R0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZ
U19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFW
RV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVf
TkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgLyogZW5k
IGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBTSEE1MTJfRmlsZSB0byBhbiBpbm5vY3VvdXMg
dmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIFNIQTUxMl9GaWxlLgp8ICAgIEZv
ciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAq
Lwp8ICNkZWZpbmUgU0hBNTEyX0ZpbGUgaW5ub2N1b3VzX1NIQTUxMl9GaWxlCnwgCnwgLyogU3lz
dGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90
b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIFNIQTUxMl9GaWxlICgp
OyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENf
XyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVz
dGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8
bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1
bmRlZiBTSEE1MTJfRmlsZQp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90
eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1h
dGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFy
Z3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNw
bHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgU0hBNTEyX0ZpbGUgKCk7CnwgLyogVGhl
IEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVt
ZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFy
ZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhl
IG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfU0hBNTEy
X0ZpbGUgfHwgZGVmaW5lZCBfX3N0dWJfX19TSEE1MTJfRmlsZQp8IGNob2tlIG1lCnwgI2VuZGlm
CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gU0hBNTEyX0ZpbGUgKCk7CnwgICA7Cnwg
ICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo0NjMxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0Njc1
OiBjaGVja2luZyBmb3IgaXNzZXR1Z2lkCmNvbmZpZ3VyZTo0Njc1OiBnY2MgLW8gY29uZnRlc3Qg
LWcgLU8yICAgY29uZnRlc3QuYyAgPiY1Ci90bXAvY2NMU3BkaXEubzogSW4gZnVuY3Rpb24gYG1h
aW4nOgovbWVkaWEvc2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xpYm5iY29tcGF0L2Nv
bmZ0ZXN0LmM6MTA3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBpc3NldHVnaWQnCmNvbGxlY3Qy
OiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTo0Njc1OiAkPyA9IDEKY29uZmln
dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD
S0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJj
b21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFD
S0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS
RVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp
bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW
RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO
VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU
RF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8
ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVm
aW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhB
VkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5P
X0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEK
fCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBI
QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFW
RV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRI
U19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwg
I2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFW
RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
RklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
U09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1F
X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8
ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2Rl
ZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwg
I2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwg
I2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2
MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBB
VF9TSEEyIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGlzc2V0dWdpZCB0
byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGlzc2V0
dWdpZC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0
dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGlzc2V0dWdpZCBpbm5vY3VvdXNfaXNzZXR1Z2lkCnwg
CnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5
IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGlzc2V0
dWdpZCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYg
X19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBv
biBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGlu
Y2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYK
fCAKfCAjdW5kZWYgaXNzZXR1Z2lkCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBw
cm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWln
aHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBp
dHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19j
cGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBpc3NldHVnaWQgKCk7CnwgLyog
VGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1w
bGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25z
IGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQg
dGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfaXNz
ZXR1Z2lkIHx8IGRlZmluZWQgX19zdHViX19faXNzZXR1Z2lkCnwgY2hva2UgbWUKfCAjZW5kaWYK
fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBpc3NldHVnaWQgKCk7CnwgICA7CnwgICBy
ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo0Njc1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0NjkxOiBj
aGVja2luZyB3aGV0aGVyIG9wdGFyZyBpcyBkZWNsYXJlZApjb25maWd1cmU6NDY5MTogZ2NjIC1j
IC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ2OTE6ICQ/ID0gMApjb25maWd1cmU6
NDY5MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ3MTE6IGNoZWNraW5nIHdoZXRoZXIgb3B0aW5k
IGlzIGRlY2xhcmVkCmNvbmZpZ3VyZTo0NzExOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4m
NQpjb25maWd1cmU6NDcxMTogJD8gPSAwCmNvbmZpZ3VyZTo0NzExOiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6NDczMTogY2hlY2tpbmcgd2hldGhlciBvcHRyZXNldCBpcyBkZWNsYXJlZApjb25maWd1
cmU6NDczMTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVu
Y3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjg4OjEwOiBlcnJvcjogJ29wdHJlc2V0JyB1bmRlY2xh
cmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKY29uZnRlc3QuYzo4ODoxMDogbm90ZTog
ZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNo
IGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29uZmlndXJlOjQ3MzE6ICQ/ID0gMQpjb25maWd1cmU6
IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdF
X05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBh
dCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdF
X1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S
VCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBT
VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB
VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F
TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ
RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg
MQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2Rl
ZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUg
SEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9F
TkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAx
CnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNk
ZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVf
SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJ
TUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0gg
MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVm
aW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBI
QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NU
RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RF
RlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxF
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL
RVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB
VEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJ
VFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAx
CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5l
IEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVm
aW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVm
aW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEK
fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NI
QTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BU
SU5EIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgCSNpbmNsdWRlIDxzdGRpby5oPgp8
IAkjaW5jbHVkZSA8c3RkbGliLmg+CnwgCSNpbmNsdWRlIDx1bmlzdGQuaD4KfCAKfCAKfCBpbnQK
fCBtYWluICgpCnwgewp8ICNpZm5kZWYgb3B0cmVzZXQKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCAg
ICh2b2lkKSBvcHRyZXNldDsKfCAjZWxzZQp8ICAgKHZvaWQpIG9wdHJlc2V0Owp8ICNlbmRpZgp8
ICNlbmRpZgp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NDczMTogcmVzdWx0
OiBubwpjb25maWd1cmU6NDc1NjogY2hlY2tpbmcgZ2V0b3B0LmggdXNhYmlsaXR5CmNvbmZpZ3Vy
ZTo0NzU2OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDc1NjogJD8g
PSAwCmNvbmZpZ3VyZTo0NzU2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDc1NjogY2hlY2tpbmcg
Z2V0b3B0LmggcHJlc2VuY2UKY29uZmlndXJlOjQ3NTY6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25m
aWd1cmU6NDc1NjogJD8gPSAwCmNvbmZpZ3VyZTo0NzU2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6
NDc1NjogY2hlY2tpbmcgZm9yIGdldG9wdC5oCmNvbmZpZ3VyZTo0NzU2OiByZXN1bHQ6IHllcwpj
b25maWd1cmU6NDc2MTogY2hlY2tpbmcgZm9yIHN0cnVjdCBvcHRpb24KY29uZmlndXJlOjQ3NjE6
IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0NzYxOiAkPyA9IDAKY29u
ZmlndXJlOjQ3NjE6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IElu
IGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzo4MjoyODogZXJyb3I6IGV4cGVjdGVkIGV4cHJl
c3Npb24gYmVmb3JlICcpJyB0b2tlbgpjb25maWd1cmU6NDc2MTogJD8gPSAxCmNvbmZpZ3VyZTog
ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf
TkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0
Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0Vf
U1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU
ICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNU
RENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFW
RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW
RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN
T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx
CnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVm
aW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBI
QVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VO
RElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEK
fCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2Rl
ZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9J
TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElN
SVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAx
CnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhB
VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVG
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF
VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU
RlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
VUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElU
U19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEK
fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUg
SEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZp
bmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZp
bmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8
ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hB
MiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJ
TkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BU
X0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8Z2V0b3B0Lmg+CnwgCnwg
aW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgoc3RydWN0IG9wdGlvbikpKQp8IAkgICAg
cmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo0NzYxOiByZXN1bHQ6
IHllcwpjb25maWd1cmU6NDc4NDogVXNpbmcgaW5jbHVkZWQgZ2V0b3B0IGFuZCBnZXRvcHRfbG9u
Zwpjb25maWd1cmU6NDgwODogY2hlY2tpbmcgdmlzLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0ODA4
OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gY29u
ZnRlc3QuYzoxMTE6MDoKL3Vzci9pbmNsdWRlL3Zpcy5oOjMzOjI6IHdhcm5pbmc6ICN3YXJuaW5n
ICJEZXByZWNhdGVkIGhlYWRlciwgdXNlIDxic2QvdmlzLmg+IG9yIGxpYmJzZC1vdmVybGF5LnBj
IGluc3RlYWQuIiBbLVdjcHBdCmNvbmZpZ3VyZTo0ODA4OiAkPyA9IDAKY29uZmlndXJlOjQ4MDg6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODA4OiBjaGVja2luZyB2aXMuaCBwcmVzZW5jZQpjb25m
aWd1cmU6NDgwODogZ2NjIC1FICBjb25mdGVzdC5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25m
dGVzdC5jOjc4OjA6Ci91c3IvaW5jbHVkZS92aXMuaDozMzoyOiB3YXJuaW5nOiAjd2FybmluZyAi
RGVwcmVjYXRlZCBoZWFkZXIsIHVzZSA8YnNkL3Zpcy5oPiBvciBsaWJic2Qtb3ZlcmxheS5wYyBp
bnN0ZWFkLiIgWy1XY3BwXQpjb25maWd1cmU6NDgwODogJD8gPSAwCmNvbmZpZ3VyZTo0ODA4OiBy
ZXN1bHQ6IHllcwpjb25maWd1cmU6NDgwODogY2hlY2tpbmcgZm9yIHZpcy5oCmNvbmZpZ3VyZTo0
ODA4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDgxNTogY2hlY2tpbmcgZm9yIFZJU19XSElURSBp
biB2aXMuaApjb25maWd1cmU6NDgzNTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKSW4g
ZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZ0ZXN0LmM6ODE6MDoKL3Vzci9pbmNsdWRlL3Zpcy5oOjMz
OjI6IHdhcm5pbmc6ICN3YXJuaW5nICJEZXByZWNhdGVkIGhlYWRlciwgdXNlIDxic2QvdmlzLmg+
IG9yIGxpYmJzZC1vdmVybGF5LnBjIGluc3RlYWQuIiBbLVdjcHBdCmNvbmZpZ3VyZTo0ODM1OiAk
PyA9IDAKY29uZmlndXJlOjQ4NDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODUwOiBjaGVja2lu
ZyBmb3Igc3RydW52aXMKY29uZmlndXJlOjQ4NTA6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBj
b25mdGVzdC5jICA+JjUKL3RtcC9jY0JlVmlVRS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9tZWRp
YS9zZGIyL3NyYy9wa2dzcmMvYm9vdHN0cmFwL3dvcmsvbGlibmJjb21wYXQvY29uZnRlc3QuYzox
MTM6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHN0cnVudmlzJwpjb2xsZWN0MjogbGQgcmV0dXJu
ZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6NDg1MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk
IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi
bGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNk
ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H
ICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFu
dEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVB
REVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNf
VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM
SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK
fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl
ZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhB
VkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NU
WVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9I
IDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVm
aW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBI
QVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF
U19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0gg
MQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2Rl
ZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFW
RV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0gg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEK
fCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAjZGVm
aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFWRV9O
QkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUgSEFW
RV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUgSEFW
RV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNkZWZp
bmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAxCnwg
I2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQgMQp8
ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8IC8q
IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgc3RydW52aXMgdG8gYW4gaW5ub2N1b3Vz
IHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBzdHJ1bnZpcy4KfCAgICBGb3Ig
ZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8K
fCAjZGVmaW5lIHN0cnVudmlzIGlubm9jdW91c19zdHJ1bnZpcwp8IAp8IC8qIFN5c3RlbSBoZWFk
ZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywK
fCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzdHJ1bnZpcyAoKTsgYmVsb3cuCnwg
ICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5l
ZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29t
cGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8
ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgc3RydW52
aXMKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh
biBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJu
IHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5
cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAi
QyIKfCAjZW5kaWYKfCBjaGFyIHN0cnVudmlzICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRl
ZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3
YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQK
fCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBh
biBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX3N0cnVudmlzIHx8IGRlZmluZWQgX19z
dHViX19fc3RydW52aXMKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7
CnwgcmV0dXJuIHN0cnVudmlzICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6
NDg1MDogcmVzdWx0OiBubwpjb25maWd1cmU6NDg1MDogY2hlY2tpbmcgZm9yIHN0cnZpcwpjb25m
aWd1cmU6NDg1MDogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQovdG1w
L2NjVDg4MldTLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL21lZGlhL3NkYjIvc3JjL3BrZ3NyYy9i
b290c3RyYXAvd29yay9saWJuYmNvbXBhdC9jb25mdGVzdC5jOjExMzogdW5kZWZpbmVkIHJlZmVy
ZW5jZSB0byBgc3RydmlzJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25m
aWd1cmU6NDg1MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv
bmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmlu
ZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O
ICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYw
NSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZp
bmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1F
X1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI
QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF
X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ
TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U
X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAj
ZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZp
bmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFW
RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJS
X0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwg
I2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5l
IEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf
TElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRE
Ql9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAj
ZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW
RV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ
TkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJ
Ul9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJB
TV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T
VEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
VkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNB
UF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8
ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNk
ZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwg
I2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNk
ZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEEx
IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BU
QVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09Q
VFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf
T1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K
fCAvKiBEZWZpbmUgc3RydmlzIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1p
dHMuaD4gZGVjbGFyZXMgc3RydmlzLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0
cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgc3RydmlzIGlubm9jdW91
c19zdHJ2aXMKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFu
ZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRo
IGNoYXIgc3RydmlzICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2Vy
dC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0
cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENf
Xwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8
ICNlbmRpZgp8IAp8ICN1bmRlZiBzdHJ2aXMKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVy
bmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGlu
dCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0
aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRl
ZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHN0cnZpcyAoKTsKfCAv
KiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBp
bXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlv
bnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFu
ZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9z
dHJ2aXMgfHwgZGVmaW5lZCBfX3N0dWJfX19zdHJ2aXMKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8
IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHN0cnZpcyAoKTsKfCAgIDsKfCAgIHJldHVybiAw
Owp8IH0KY29uZmlndXJlOjQ4NTA6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ4NTA6IGNoZWNraW5n
IGZvciBzdHJzdmlzCmNvbmZpZ3VyZTo0ODUwOiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29u
ZnRlc3QuYyAgPiY1Ci90bXAvY2M0czZMN1MubzogSW4gZnVuY3Rpb24gYG1haW4nOgovbWVkaWEv
c2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xpYm5iY29tcGF0L2NvbmZ0ZXN0LmM6MTEz
OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzdHJzdmlzJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQg
MSBleGl0IHN0YXR1cwpjb25maWd1cmU6NDg1MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy
b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGli
bmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZp
bmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJs
aWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBO
ZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVS
UyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ
RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf
SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj
ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu
ZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVf
QUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NUWVBF
X0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9IIDEK
fCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5l
IEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZF
X0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I
IDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8
ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8
ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAj
ZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAjZGVmaW5l
IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNP
TVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9O
QkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUgSEFWRV9O
QkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNkZWZpbmUg
SEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAxCnwgI2Rl
ZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQgMQp8ICNk
ZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8IC8qIGVu
ZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgc3Ryc3ZpcyB0byBhbiBpbm5vY3VvdXMgdmFy
aWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHN0cnN2aXMuCnwgICAgRm9yIGV4YW1w
bGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2Rl
ZmluZSBzdHJzdmlzIGlubm9jdW91c19zdHJzdmlzCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBk
ZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3
aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHN0cnN2aXMgKCk7IGJlbG93Lgp8ICAgICBQcmVm
ZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNl
CnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4g
ICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8
ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHN0cnN2aXMKfCAKfCAv
KiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4K
fCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg
YSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQg
c3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5k
aWYKfCBjaGFyIHN0cnN2aXMgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlz
IGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3
aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21l
dGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAg
Ki8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfc3Ryc3ZpcyB8fCBkZWZpbmVkIF9fc3R1Yl9fX3N0cnN2
aXMKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHN0
cnN2aXMgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo0ODUwOiByZXN1bHQ6
IG5vCmNvbmZpZ3VyZTo0ODUwOiBjaGVja2luZyBmb3Igc3Zpcwpjb25maWd1cmU6NDg1MDogZ2Nj
IC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQovdG1wL2NjcVh1WUQ2Lm86IElu
IGZ1bmN0aW9uIGBtYWluJzoKL21lZGlhL3NkYjIvc3JjL3BrZ3NyYy9ib290c3RyYXAvd29yay9s
aWJuYmNvbXBhdC9jb25mdGVzdC5jOjExMzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc3ZpcycK
Y29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjQ4NTA6ICQ/ID0g
MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl
ZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F
ICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2Rl
ZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNL
QUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi
CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK
fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl
ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5l
IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB
VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJP
T0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0gg
MQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk
ZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhB
VkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1B
VENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAj
ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2Rl
ZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBI
QVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05B
TF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAx
CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2Rl
ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBI
QVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI
QVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5l
IEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBI
QVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJ
TUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9I
IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVV
RV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdF
WF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01Q
QVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZF
X05CQ09NUEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBI
QVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmlu
ZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmlu
ZSBIQVZFX1ZJU19IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHN2aXMg
dG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBzdmlz
Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1l
b2ZkYXkuICAqLwp8ICNkZWZpbmUgc3ZpcyBpbm5vY3VvdXNfc3Zpcwp8IAp8IC8qIFN5c3RlbSBo
ZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBl
cywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzdmlzICgpOyBiZWxvdy4KfCAg
ICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVk
LCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21w
aWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+Cnwg
I2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBzdmlzCnwg
CnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJy
b3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl
IG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv
dWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwg
I2VuZGlmCnwgY2hhciBzdmlzICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhp
cyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwg
d2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29t
ZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4g
ICovCnwgI2lmIGRlZmluZWQgX19zdHViX3N2aXMgfHwgZGVmaW5lZCBfX3N0dWJfX19zdmlzCnwg
Y2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBzdmlzICgp
Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NDg1MDogcmVzdWx0OiBubwpjb25m
aWd1cmU6NDg1MDogY2hlY2tpbmcgZm9yIHVudmlzCmNvbmZpZ3VyZTo0ODUwOiBnY2MgLW8gY29u
ZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1Ci90bXAvY2NhOFByVGkubzogSW4gZnVuY3Rp
b24gYG1haW4nOgovbWVkaWEvc2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xpYm5iY29t
cGF0L2NvbmZ0ZXN0LmM6MTEzOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB1bnZpcycKY29sbGVj
dDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjQ4NTA6ICQ/ID0gMQpjb25m
aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ
QUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJu
YmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQ
QUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JV
R1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl
ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI
QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf
SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J
U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAx
CnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNk
ZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg
SEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJS
Tk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0gg
MQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5l
IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBI
QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BB
VEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEK
fCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBI
QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJ
TUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAj
ZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEK
fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEK
fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1E
MTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09N
UEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RF
Q0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZF
X0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZF
X1ZJU19IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHVudmlzIHRvIGFu
IGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgdW52aXMuCnwg
ICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRh
eS4gICovCnwgI2RlZmluZSB1bnZpcyBpbm5vY3VvdXNfdW52aXMKfCAKfCAvKiBTeXN0ZW0gaGVh
ZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMs
CnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgdW52aXMgKCk7IGJlbG93Lgp8ICAg
ICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQs
IHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBp
bGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAj
ZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHVudmlzCnwg
CnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJy
b3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl
IG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv
dWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwg
I2VuZGlmCnwgY2hhciB1bnZpcyAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRo
aXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWls
IHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNv
bWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMu
ICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl91bnZpcyB8fCBkZWZpbmVkIF9fc3R1Yl9fX3Vudmlz
CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiB1bnZp
cyAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjQ4NTA6IHJlc3VsdDogbm8K
Y29uZmlndXJlOjQ4NTA6IGNoZWNraW5nIGZvciB2aXMKY29uZmlndXJlOjQ4NTA6IGdjYyAtbyBj
b25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKL3RtcC9jY1hHVWZvdS5vOiBJbiBmdW5j
dGlvbiBgbWFpbic6Ci9tZWRpYS9zZGIyL3NyYy9wa2dzcmMvYm9vdHN0cmFwL3dvcmsvbGlibmJj
b21wYXQvY29uZnRlc3QuYzoxMTM6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHZpcycKY29sbGVj
dDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjQ4NTA6ICQ/ID0gMQpjb25m
aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ
QUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJu
YmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQ
QUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JV
R1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl
ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI
QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf
SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J
U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAx
CnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNk
ZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg
SEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJS
Tk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0gg
MQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5l
IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBI
QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BB
VEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEK
fCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBI
QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJ
TUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAj
ZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEK
fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEK
fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1E
MTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09N
UEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RF
Q0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZF
X0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZF
X1ZJU19IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHZpcyB0byBhbiBp
bm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHZpcy4KfCAgICBG
b3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAg
Ki8KfCAjZGVmaW5lIHZpcyBpbm5vY3VvdXNfdmlzCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBk
ZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3
aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHZpcyAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8
bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAg
ICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8K
fCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBp
bmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgdmlzCnwgCnwgLyogT3ZlcnJp
ZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNl
IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwg
ICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFw
cGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hh
ciB2aXMgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlv
bnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4g
IFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRp
bmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVm
aW5lZCBfX3N0dWJfdmlzIHx8IGRlZmluZWQgX19zdHViX19fdmlzCnwgY2hva2UgbWUKfCAjZW5k
aWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiB2aXMgKCk7CnwgICA7CnwgICByZXR1
cm4gMDsKfCB9CmNvbmZpZ3VyZTo0ODUwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0ODYyOiBjaGVj
a2luZyBmb3Igc3RydW52aXMKY29uZmlndXJlOjQ4NjI6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ5
MDQ6IGNoZWNraW5nIGZvciBfX2F0dHJpYnV0ZV9fCmNvbmZpZ3VyZTo0OTIyOiBnY2MgLWMgLWcg
LU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDkyMjogJD8gPSAwCmNvbmZpZ3VyZTo0OTM1
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDkzODogY2hlY2tpbmcgZm9yIHNpemVfdApjb25maWd1
cmU6NDkzODogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ5Mzg6ICQ/
ID0gMApjb25maWd1cmU6NDkzODogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRl
c3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjExNzoyMTogZXJyb3I6IGV4cGVj
dGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgpjb25maWd1cmU6NDkzODogJD8gPSAxCmNv
bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l
IFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxp
Ym5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5l
IFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0Vf
QlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj
ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l
IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW
RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V
TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9I
IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwg
I2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu
ZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9F
UlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hf
SCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZp
bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5l
IEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVf
UEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5l
IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFW
RV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVf
VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8
ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0gg
MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0gg
MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9S
TUQxNjAgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJD
T01QQVRfU0hBMiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVf
REVDTF9PUFRJTkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhB
VkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhB
VkVfVklTX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUgSEFWRV9f
X0FUVFJJQlVURV9fIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlv
Lmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8
ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+
CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+Cnwg
IyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMg
IGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJ
TkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllf
SAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5o
Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5o
Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVz
Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5o
Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4K
fCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKChzaXplX3QpKSkKfCAJ
ICAgIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NDkzODogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjQ5NTA6IGNoZWNraW5nIGZvciB1aW50cHRyX3QKY29uZmlndXJl
OjQ5NTA6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0OTUwOiAkPyA9
IDAKY29uZmlndXJlOjQ5NTA6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0
LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMTc6MjQ6IGVycm9yOiBleHBlY3Rl
ZCBleHByZXNzaW9uIGJlZm9yZSAnKScgdG9rZW4KY29uZmlndXJlOjQ5NTA6ICQ/ID0gMQpjb25m
aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ
QUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJu
YmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQ
QUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JV
R1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl
ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI
QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf
SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J
U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAx
CnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNk
ZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg
SEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJS
Tk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0gg
MQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5l
IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBI
QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BB
VEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEK
fCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBI
QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJ
TUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAj
ZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEK
fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEK
fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1E
MTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09N
UEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RF
Q0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZF
X0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZF
X1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19B
VFRSSUJVVEVfXyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5o
Pgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAj
ZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8
ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMg
aW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBp
bmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5H
X0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gK
fCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4K
fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4K
fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5o
Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4K
fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+Cnwg
I2VuZGlmCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgodWludHB0cl90KSkpCnwg
CSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjQ5NTA6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZTo0OTg1OiBjaGVja2luZyBmb3IgaW50OF90CmNvbmZpZ3VyZTo0
OTg1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDk4NTogJD8gPSAw
CmNvbmZpZ3VyZTo0OTg1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j
OiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTE5OjEyOiBlcnJvcjogc2l6ZSBvZiBh
cnJheSAndGVzdF9hcnJheScgaXMgbmVnYXRpdmUKY29uZmlndXJlOjQ5ODU6ICQ/ID0gMQpjb25m
aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ
QUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJu
YmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQ
QUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JV
R1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl
ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI
QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf
SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J
U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAx
CnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNk
ZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg
SEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJS
Tk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0gg
MQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5l
IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBI
QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BB
VEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEK
fCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBI
QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJ
TUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAj
ZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEK
fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEK
fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1E
MTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09N
UEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RF
Q0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZF
X0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZF
X1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19B
VFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgLyogZW5kIGNvbmZkZWZz
LmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwg
IyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9I
CnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMK
fCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAj
IGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwg
I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVS
UyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVu
ZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdT
X0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBF
U19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElO
VF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERf
SAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgCSAgICAgICAgZW51bSB7IE4gPSA4
IC8gMiAtIDEgfTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBpbnQgdGVzdF9hcnJheSBb
MSAtIDIgKiAhKChpbnQ4X3QpICgoKCgoaW50OF90KSAxIDw8IE4pIDw8IE4pIC0gMSkgKiAyICsg
MSkKfCAJCSA8IChpbnQ4X3QpICgoKCgoaW50OF90KSAxIDw8IE4pIDw8IE4pIC0gMSkgKiAyICsg
MikpXTsKfCB0ZXN0X2FycmF5IFswXSA9IDAKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u
ZmlndXJlOjQ5ODU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0OTk2OiBjaGVja2luZyBmb3IgaW50
MTZfdApjb25maWd1cmU6NDk5NjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmln
dXJlOjQ5OTY6ICQ/ID0gMApjb25maWd1cmU6NDk5NjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3Qu
YyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjExOToxMjog
ZXJyb3I6IHNpemUgb2YgYXJyYXkgJ3Rlc3RfYXJyYXknIGlzIG5lZ2F0aXZlCmNvbmZpZ3VyZTo0
OTk2OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu
aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tB
R0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgw
NjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNk
ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNL
QUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9T
WVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx
CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg
I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUg
SEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZF
X0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVO
VF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwg
I2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5l
IEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9H
UlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElM
X0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8
ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUg
SEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVf
U1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElP
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8
ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8
ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8
ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu
ZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBI
QVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFW
RV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5l
IEhBVkVfUkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBI
QVZFX05CQ09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNk
ZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8
ICNkZWZpbmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQg
MAp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04g
MQp8ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwg
I2RlZmluZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8
IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFW
RV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVm
IEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZk
ZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRl
Zi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGli
Lmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVm
aW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8
bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lm
ZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lm
ZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAj
aWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lm
ZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAkgICAg
ICAgIGVudW0geyBOID0gMTYgLyAyIC0gMSB9Owp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGlj
IGludCB0ZXN0X2FycmF5IFsxIC0gMiAqICEoKGludDE2X3QpICgoKCgoaW50MTZfdCkgMSA8PCBO
KSA8PCBOKSAtIDEpICogMiArIDEpCnwgCQkgPCAoaW50MTZfdCkgKCgoKChpbnQxNl90KSAxIDw8
IE4pIDw8IE4pIC0gMSkgKiAyICsgMikpXTsKfCB0ZXN0X2FycmF5IFswXSA9IDAKfCAKfCAgIDsK
fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjQ5OTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1
MDA3OiBjaGVja2luZyBmb3IgaW50MzJfdApjb25maWd1cmU6NTAwNzogZ2NjIC1jIC1nIC1PMiAg
Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjUwMDc6ICQ/ID0gMApjb25maWd1cmU6NTAwNzogZ2Nj
IC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4n
Ogpjb25mdGVzdC5jOjEyMDo1Mzogd2FybmluZzogaW50ZWdlciBvdmVyZmxvdyBpbiBleHByZXNz
aW9uIFstV292ZXJmbG93XQpjb25mdGVzdC5jOjExOToxMjogZXJyb3I6IHNpemUgb2YgYXJyYXkg
J3Rlc3RfYXJyYXknIGlzIG5lZ2F0aXZlCmNvbmZ0ZXN0LmM6MTE5OjEyOiBlcnJvcjogc3RvcmFn
ZSBzaXplIG9mICd0ZXN0X2FycmF5JyBpc24ndCBjb25zdGFudApjb25maWd1cmU6NTAwNzogJD8g
PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj
ZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B
TUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAj
ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBB
Q0tBR0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg
IiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj
ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp
bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg
SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1RE
Qk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRf
SCAxCnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwg
I2RlZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUg
SEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZO
TUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8
ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAj
ZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5l
IEhBVkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lH
TkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9I
IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAj
ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5l
IEhBVkVfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9V
VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9C
X0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FV
RVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JF
R0VYX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNP
TVBBVF9STUQxNjAgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhB
VkVfTkJDT01QQVRfU0hBMiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5l
IEhBVkVfREVDTF9PUFRJTkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVm
aW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVm
aW5lIEhBVkVfVklTX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUg
SEFWRV9fX0FUVFJJQlVURV9fIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAvKiBlbmQg
Y29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZ
UEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZ
U19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENf
SEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAj
ZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMg
ZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1RE
Q19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5o
Pgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF
X1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF
X0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB
VkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF
X1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAJICAgICAgICBlbnVt
IHsgTiA9IDMyIC8gMiAtIDEgfTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBpbnQgdGVz
dF9hcnJheSBbMSAtIDIgKiAhKChpbnQzMl90KSAoKCgoKGludDMyX3QpIDEgPDwgTikgPDwgTikg
LSAxKSAqIDIgKyAxKQp8IAkJIDwgKGludDMyX3QpICgoKCgoaW50MzJfdCkgMSA8PCBOKSA8PCBO
KSAtIDEpICogMiArIDIpKV07CnwgdGVzdF9hcnJheSBbMF0gPSAwCnwgCnwgICA7CnwgICByZXR1
cm4gMDsKfCB9CmNvbmZpZ3VyZTo1MDA3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTAxODogY2hl
Y2tpbmcgZm9yIGludDY0X3QKY29uZmlndXJlOjUwMTg6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0
LmMgPiY1CmNvbmZpZ3VyZTo1MDE4OiAkPyA9IDAKY29uZmlndXJlOjUwMTg6IGdjYyAtYyAtZyAt
TzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRl
c3QuYzoxMjA6NTM6IHdhcm5pbmc6IGludGVnZXIgb3ZlcmZsb3cgaW4gZXhwcmVzc2lvbiBbLVdv
dmVyZmxvd10KY29uZnRlc3QuYzoxMTk6MTI6IGVycm9yOiBzaXplIG9mIGFycmF5ICd0ZXN0X2Fy
cmF5JyBpcyBuZWdhdGl2ZQpjb25mdGVzdC5jOjExOToxMjogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBv
ZiAndGVzdF9hcnJheScgaXNuJ3QgY29uc3RhbnQKY29uZmlndXJlOjUwMTg6ICQ/ID0gMQpjb25m
aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ
QUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJu
YmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQ
QUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JV
R1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl
ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI
QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf
SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J
U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAx
CnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNk
ZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg
SEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJS
Tk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0gg
MQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5l
IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBI
QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BB
VEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEK
fCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBI
QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJ
TUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAj
ZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEK
fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEK
fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1E
MTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09N
UEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RF
Q0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZF
X0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZF
X1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19B
VFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgLyogZW5kIGNvbmZkZWZz
LmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwg
IyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9I
CnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMK
fCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAj
IGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwg
I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVS
UyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVu
ZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdT
X0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBF
U19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElO
VF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERf
SAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgCSAgICAgICAgZW51bSB7IE4gPSA2
NCAvIDIgLSAxIH07CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgaW50IHRlc3RfYXJyYXkg
WzEgLSAyICogISgoaW50NjRfdCkgKCgoKChpbnQ2NF90KSAxIDw8IE4pIDw8IE4pIC0gMSkgKiAy
ICsgMSkKfCAJCSA8IChpbnQ2NF90KSAoKCgoKGludDY0X3QpIDEgPDwgTikgPDwgTikgLSAxKSAq
IDIgKyAyKSldOwp8IHRlc3RfYXJyYXkgWzBdID0gMAp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg
fQpjb25maWd1cmU6NTAxODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjUwMjk6IGNoZWNraW5nIGZv
ciB1aW50OF90CmNvbmZpZ3VyZTo1MDI5OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpj
b25maWd1cmU6NTAyOTogJD8gPSAwCmNvbmZpZ3VyZTo1MDI5OiByZXN1bHQ6IHllcwpjb25maWd1
cmU6NTA0MzogY2hlY2tpbmcgZm9yIHVpbnQxNl90CmNvbmZpZ3VyZTo1MDQzOiBnY2MgLWMgLWcg
LU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTA0MzogJD8gPSAwCmNvbmZpZ3VyZTo1MDQz
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTA1NTogY2hlY2tpbmcgZm9yIHVpbnQzMl90CmNvbmZp
Z3VyZTo1MDU1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTA1NTog
JD8gPSAwCmNvbmZpZ3VyZTo1MDU1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTA2OTogY2hlY2tp
bmcgZm9yIHVpbnQ2NF90CmNvbmZpZ3VyZTo1MDY5OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5j
ID4mNQpjb25maWd1cmU6NTA2OTogJD8gPSAwCmNvbmZpZ3VyZTo1MDY5OiByZXN1bHQ6IHllcwpj
b25maWd1cmU6NTA4MzogY2hlY2tpbmcgZm9yIGxvbmcgbG9uZwpjb25maWd1cmU6NTA4MzogZ2Nj
IC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjUwODM6ICQ/ID0gMApjb25maWd1
cmU6NTA4MzogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVu
Y3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjk5OjI0OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lv
biBiZWZvcmUgJyknIHRva2VuCmNvbmZpZ3VyZTo1MDgzOiAkPyA9IDEKY29uZmlndXJlOiBmYWls
ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F
ICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwg
I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ
TkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdy
YW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19I
RUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZ
U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU
RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf
SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj
ZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUg
SEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVf
Q1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFO
X0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNk
ZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5l
IEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ
UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNf
SCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAj
ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBI
QVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf
SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0gg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0gg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9f
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0gg
MQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNk
ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZF
X05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBI
QVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgI2RlZmluZSBI
QVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2MCAxCnwgI2Rl
ZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEK
fCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVElORCAx
CnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAx
CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwg
I2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2RlZmluZSBIQVZFX19fQVRUUklCVVRFX18g
MQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj
aWYgU1REQ19IRUFERVJTCnwgI2luY2x1ZGUgPHN0ZGxpYi5oPgp8ICNpbmNsdWRlIDxzdGRkZWYu
aD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9JTlRUWVBFU19ICnwgI2luY2x1ZGUgPGludHR5cGVzLmg+
CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gKfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+
CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX0JJVFlQRVNfSAp8ICNpbmNsdWRlIDxzeXMvYml0eXBl
cy5oPgp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYgKHNpemVvZiAoKGxvbmcg
bG9uZykpKQp8IAkgICAgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3Vy
ZTo1MDgzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTEwNTogY2hlY2tpbmcgZm9yIGxvbmcgZG91
YmxlCmNvbmZpZ3VyZTo1MTA1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1
cmU6NTEwNTogJD8gPSAwCmNvbmZpZ3VyZTo1MTA1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5j
ID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTAwOjI2OiBl
cnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJyknIHRva2VuCmNvbmZpZ3VyZTo1MTA1
OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq
Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0Vf
VEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1
Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZp
bmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdF
X1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf
VElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg
MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg
I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl
ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFW
RV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FT
U0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9I
IDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2Rl
ZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhB
VkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBf
SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0gg
MQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNk
ZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFW
RV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
REVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNk
ZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI
QVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZF
X0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9T
WVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhB
VkVfUkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZF
X05CQ09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZp
bmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNk
ZWZpbmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8
ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8
ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2Rl
ZmluZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNk
ZWZpbmUgSEFWRV9MT05HX0xPTkcgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaWYgU1RE
Q19IRUFERVJTCnwgI2luY2x1ZGUgPHN0ZGxpYi5oPgp8ICNpbmNsdWRlIDxzdGRkZWYuaD4KfCAj
ZW5kaWYKfCAjaWYgSEFWRV9JTlRUWVBFU19ICnwgI2luY2x1ZGUgPGludHR5cGVzLmg+CnwgI2Vu
ZGlmCnwgI2lmIEhBVkVfU1lTX1RZUEVTX0gKfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2Vu
ZGlmCnwgI2lmIEhBVkVfU1lTX0JJVFlQRVNfSAp8ICNpbmNsdWRlIDxzeXMvYml0eXBlcy5oPgp8
ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYgKHNpemVvZiAoKGxvbmcgZG91Ymxl
KSkpCnwgCSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjUx
MDU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1MTI4OiBjaGVja2luZyBmb3IgZnNpZF90CmNvbmZp
Z3VyZTo1MTI4OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTEyODog
JD8gPSAwCmNvbmZpZ3VyZTo1MTI4OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25m
dGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTAwOjIxOiBlcnJvcjogZXhw
ZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJyknIHRva2VuCmNvbmZpZ3VyZTo1MTI4OiAkPyA9IDEK
Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp
bmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi
bGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZp
bmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FH
RV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8
ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg
I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg
I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp
bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI
QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF
X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09M
X0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEK
fCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm
aW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZF
X0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRD
SF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2Rl
ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZp
bmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFW
RV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxf
SCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFW
RV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW
RV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBI
QVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFW
RV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAx
CnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVf
SCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhf
SCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
X1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9O
QkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNkZWZpbmUgSEFW
RV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8ICNkZWZpbmUg
SEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUg
SEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2RlZmluZSBIQVZF
X19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFW
RV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgLyogZW5kIGNvbmZk
ZWZzLmguICAqLwp8ICNpZiBIQVZFX1NZU19UWVBFU19ICnwgI2luY2x1ZGUgPHN5cy90eXBlcy5o
Pgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NZU19QQVJBTV9ICnwgI2luY2x1ZGUgPHN5cy9wYXJhbS5o
Pgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NZU19NT1VOVF9ICnwgI2luY2x1ZGUgPHN5cy9tb3VudC5o
Pgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NZU19WRlNfSAp8ICNpbmNsdWRlIDxzeXMvdmZzLmg+Cnwg
I2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgoZnNpZF90KSkpCnwg
CSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjUxMjg6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZTo1MTUwOiBjaGVja2luZyB3aGV0aGVyIGJ5dGUgb3JkZXJpbmcg
aXMgYmlnZW5kaWFuCmNvbmZpZ3VyZTo1MTY1OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4m
NQpjb25mdGVzdC5jOjg2Ojk6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnbm90Jwpjb25mdGVz
dC5jOjg2OjE1OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0
cmlidXRlX18nIGJlZm9yZSAndW5pdmVyc2FsJwpjb25mdGVzdC5jOjg2OjE1OiBlcnJvcjogdW5r
bm93biB0eXBlIG5hbWUgJ3VuaXZlcnNhbCcKY29uZmlndXJlOjUxNjU6ICQ/ID0gMQpjb25maWd1
cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL
QUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNv
bXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNL
QUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF
UE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmlu
ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l
IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U
VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE
X0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwg
I2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZp
bmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW
RV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9f
SCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8
ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhB
VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZF
X0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhT
X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZF
X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
Q0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19G
SUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T
T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
U1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
RVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVf
SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVm
aW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAj
ZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAj
ZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYw
IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
X1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf
T1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dF
VE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJ
U19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRS
SUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdf
TE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9U
IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lmbmRlZiBfX0FQUExFX0NDX18KfCAJICAg
ICAgIG5vdCBhIHVuaXZlcnNhbCBjYXBhYmxlIGNvbXBpbGVyCnwgCSAgICAgI2VuZGlmCnwgCSAg
ICAgdHlwZWRlZiBpbnQgZHVtbXk7CnwgCmNvbmZpZ3VyZTo1MjEwOiBnY2MgLWMgLWcgLU8yICBj
b25mdGVzdC5jID4mNQpjb25maWd1cmU6NTIxMDogJD8gPSAwCmNvbmZpZ3VyZTo1MjI4OiBnY2Mg
LWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6
CmNvbmZ0ZXN0LmM6OTI6NDogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdub3QnCmNvbmZ0ZXN0
LmM6OTI6MTI6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRy
aWJ1dGVfXycgYmVmb3JlICdlbmRpYW4nCmNvbmZpZ3VyZTo1MjI4OiAkPyA9IDEKY29uZmlndXJl
OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH
RV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21w
YXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FH
RV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP
UlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg
U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBI
QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI
QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N
RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ
UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I
IDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNk
ZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5l
IEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf
RU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0gg
MQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAj
ZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZF
X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9M
SU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19I
IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NE
RUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklM
RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09D
S0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
QVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VY
SVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0gg
MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmlu
ZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2Rl
ZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgI2Rl
ZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2MCAx
CnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9T
SEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09Q
VElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8ICNkZWZpbmUgSEFWRV9HRVRP
UFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgSEFWRV9WSVNf
SCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2RlZmluZSBIQVZFX19fQVRUUklC
VVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xP
TkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2RlZmluZSBIQVZFX0ZTSURfVCAx
CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAJCSNp
bmNsdWRlIDxzeXMvcGFyYW0uaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8ICNpZiBCWVRFX09S
REVSICE9IEJJR19FTkRJQU4KfCAJCSBub3QgYmlnIGVuZGlhbgp8IAkJI2VuZGlmCnwgCnwgICA7
CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo1MzU2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1
Mzc4OiBjaGVja2luZyBzaXplIG9mIG9mZl90CmNvbmZpZ3VyZTo1MzgzOiBnY2MgLW8gY29uZnRl
c3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo1MzgzOiAkPyA9IDAKY29uZmln
dXJlOjUzODM6IC4vY29uZnRlc3QKY29uZmlndXJlOjUzODM6ICQ/ID0gMApjb25maWd1cmU6NTM5
NzogcmVzdWx0OiA0CmNvbmZpZ3VyZTo1NDExOiBjaGVja2luZyBmb3Igc3RkbGliLmgKY29uZmln
dXJlOjU0MTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NDIxOiBjaGVja2luZyBmb3IgR05VIGxp
YmMgY29tcGF0aWJsZSBtYWxsb2MKY29uZmlndXJlOjU0NDU6IGdjYyAtbyBjb25mdGVzdCAtZyAt
TzIgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjU0NDU6ICQ/ID0gMApjb25maWd1cmU6NTQ0
NTogLi9jb25mdGVzdApjb25maWd1cmU6NTQ0NTogJD8gPSAwCmNvbmZpZ3VyZTo1NDU1OiByZXN1
bHQ6IHllcwpjb25maWd1cmU6NTQ3NjogY2hlY2tpbmcgd2hldGhlciBzdHJlcnJvcl9yIGlzIGRl
Y2xhcmVkCmNvbmZpZ3VyZTo1NDc2OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25m
aWd1cmU6NTQ3NjogJD8gPSAwCmNvbmZpZ3VyZTo1NDc2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6
NTQ4OTogY2hlY2tpbmcgZm9yIHN0cmVycm9yX3IKY29uZmlndXJlOjU0ODk6IGdjYyAtbyBjb25m
dGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjU0ODk6ICQ/ID0gMApjb25m
aWd1cmU6NTQ4OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU0OTg6IGNoZWNraW5nIHdoZXRoZXIg
c3RyZXJyb3JfciByZXR1cm5zIGNoYXIgKgpjb25maWd1cmU6NTUyMjogZ2NjIC1jIC1nIC1PMiAg
Y29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5j
OjEyODoxMzogZXJyb3I6IGludmFsaWQgdHlwZSBhcmd1bWVudCBvZiB1bmFyeSAnKicgKGhhdmUg
J2ludCcpCmNvbmZ0ZXN0LmM6MTI5OjE0OiB3YXJuaW5nOiBpbml0aWFsaXphdGlvbiBtYWtlcyBw
b2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbZW5hYmxlZCBieSBkZWZhdWx0XQpj
b25maWd1cmU6NTUyMjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q
IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2Rl
ZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT
SU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4
MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNk
ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBU
SU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI
QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEK
fCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNk
ZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUg
SEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVf
RVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAx
CnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVm
aW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB
VkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9O
RVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEK
fCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19Q
QVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVS
TUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg
MQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8
ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAx
CnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8
ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9T
SEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf
T1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNM
X09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJV
Q1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBB
VF9WSVMgMQp8ICNkZWZpbmUgSEFWRV9fX0FUVFJJQlVURV9fIDEKfCAjZGVmaW5lIEhBVkVfVUlO
VFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19E
T1VCTEUgMQp8ICNkZWZpbmUgSEFWRV9GU0lEX1QgMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQK
fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0MgMQp8ICNkZWZp
bmUgSEFWRV9ERUNMX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUl9SIDEKfCAv
KiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVf
U1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI
QVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVm
IFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYu
aD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5o
Pgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmlu
ZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1l
bW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRl
ZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRl
ZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lm
ZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRl
ZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBt
YWluICgpCnwgewp8IAp8IAkgIGNoYXIgYnVmWzEwMF07CnwgCSAgY2hhciB4ID0gKnN0cmVycm9y
X3IgKDAsIGJ1Ziwgc2l6ZW9mIGJ1Zik7CnwgCSAgY2hhciAqcCA9IHN0cmVycm9yX3IgKDAsIGJ1
Ziwgc2l6ZW9mIGJ1Zik7CnwgCSAgcmV0dXJuICFwIHx8IHg7CnwgCnwgICA7CnwgICByZXR1cm4g
MDsKfCB9CmNvbmZpZ3VyZTo1NTYwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1NTY4OiBjaGVja2lu
ZyBmb3IgcGlkX3QKY29uZmlndXJlOjU1Njg6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1
CmNvbmZpZ3VyZTo1NTY4OiAkPyA9IDAKY29uZmlndXJlOjU1Njg6IGdjYyAtYyAtZyAtTzIgIGNv
bmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzox
MjY6MjA6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnKScgdG9rZW4KY29uZmln
dXJlOjU1Njg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m
ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUg
UEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi
MjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUi
CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5l
IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9X
SVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW
RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I
IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2Rl
ZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5l
IEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVf
RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9I
IDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNk
ZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBI
QVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJ
QlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJf
SCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf
U1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1f
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB
VFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U
WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZG
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBf
SCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj
ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVm
aW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNk
ZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVm
aW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAx
CnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFS
RyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRS
RVNFVCAwCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09Q
VElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklT
IDEKfCAjZGVmaW5lIEhBVkVfX19BVFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJf
VCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxF
IDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2Rl
ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5lIEhB
VkVfREVDTF9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgLyogZW5k
IGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19U
WVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T
WVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERD
X0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+Cnwg
I2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAj
IGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNU
RENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnku
aD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW
RV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW
RV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI
QVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW
RV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50CnwgbWFpbiAo
KQp8IHsKfCBpZiAoc2l6ZW9mICgocGlkX3QpKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8ICAg
cmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NTU2ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU1ODE6
IGNoZWNraW5nIHZmb3JrLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo1NTgxOiBnY2MgLWMgLWcgLU8y
ICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjEyMzoxOTogZmF0YWwgZXJyb3I6IHZmb3JrLmg6
IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmln
dXJlOjU1ODE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m
ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUg
UEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi
MjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUi
CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5l
IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9X
SVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW
RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I
IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2Rl
ZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5l
IEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVf
RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9I
IDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNk
ZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBI
QVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJ
QlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJf
SCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf
U1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1f
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB
VFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U
WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZG
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBf
SCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj
ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVm
aW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNk
ZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVm
aW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAx
CnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFS
RyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRS
RVNFVCAwCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09Q
VElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklT
IDEKfCAjZGVmaW5lIEhBVkVfX19BVFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJf
VCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxF
IDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2Rl
ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5lIEhB
VkVfREVDTF9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgLyogZW5k
IGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19U
WVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T
WVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERD
X0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+Cnwg
I2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAj
IGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNU
RENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnku
aD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW
RV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW
RV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI
QVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW
RV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPHZm
b3JrLmg+CmNvbmZpZ3VyZTo1NTgxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1NTgxOiBjaGVja2lu
ZyB2Zm9yay5oIHByZXNlbmNlCmNvbmZpZ3VyZTo1NTgxOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29u
ZnRlc3QuYzo5MDoxOTogZmF0YWwgZXJyb3I6IHZmb3JrLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl
Y3RvcnkKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjU1ODE6ICQ/ID0gMQpjb25m
aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ
QUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJu
YmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQ
QUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JV
R1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2Rl
ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI
QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf
SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J
U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAx
CnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNk
ZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg
SEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJS
Tk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0gg
MQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5l
IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBI
QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BB
VEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEK
fCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBI
QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJ
TUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAj
ZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEK
fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEK
fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1E
MTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09N
UEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RF
Q0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZF
X0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZF
X1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19B
VFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xP
TkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJ
RF9UIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK
fCAjZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJFUlJPUl9SIDEK
fCAjZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp
bmNsdWRlIDx2Zm9yay5oPgpjb25maWd1cmU6NTU4MTogcmVzdWx0OiBubwpjb25maWd1cmU6NTU4
MTogY2hlY2tpbmcgZm9yIHZmb3JrLmgKY29uZmlndXJlOjU1ODE6IHJlc3VsdDogbm8KY29uZmln
dXJlOjU1OTQ6IGNoZWNraW5nIGZvciBmb3JrCmNvbmZpZ3VyZTo1NTk0OiBnY2MgLW8gY29uZnRl
c3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZ0ZXN0LmM6MTEzOjY6IHdhcm5pbmc6IGNv
bmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiAnZm9yaycgW2VuYWJsZWQgYnkg
ZGVmYXVsdF0KY29uZmlndXJlOjU1OTQ6ICQ/ID0gMApjb25maWd1cmU6NTU5NDogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjU1OTQ6IGNoZWNraW5nIGZvciB2Zm9yawpjb25maWd1cmU6NTU5NDogZ2Nj
IC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6NTU5NDogJD8g
PSAwCmNvbmZpZ3VyZTo1NTk0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTYwNDogY2hlY2tpbmcg
Zm9yIHdvcmtpbmcgZm9yawpjb25maWd1cmU6NTYyNjogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAg
IGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6NTYyNjogJD8gPSAwCmNvbmZpZ3VyZTo1NjI2OiAu
L2NvbmZ0ZXN0CmNvbmZpZ3VyZTo1NjI2OiAkPyA9IDAKY29uZmlndXJlOjU2MzY6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZTo1NjU3OiBjaGVja2luZyBmb3Igd29ya2luZyB2Zm9yawpjb25maWd1cmU6
NTc2NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU3OTQ6IGNoZWNraW5nIGZvciB2cHJpbnRmCmNv
bmZpZ3VyZTo1Nzk0OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNv
bmZ0ZXN0LmM6MTE3OjY6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBm
dW5jdGlvbiAndnByaW50ZicgW2VuYWJsZWQgYnkgZGVmYXVsdF0KY29uZmlndXJlOjU3OTQ6ICQ/
ID0gMApjb25maWd1cmU6NTc5NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU4MDA6IGNoZWNraW5n
IGZvciBfZG9wcm50CmNvbmZpZ3VyZTo1ODAwOiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29u
ZnRlc3QuYyAgPiY1Ci90bXAvY2NVRjlySXEubzogSW4gZnVuY3Rpb24gYG1haW4nOgovbWVkaWEv
c2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xpYm5iY29tcGF0L2NvbmZ0ZXN0LmM6MTI5
OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfZG9wcm50Jwpjb2xsZWN0MjogbGQgcmV0dXJuZWQg
MSBleGl0IHN0YXR1cwpjb25maWd1cmU6NTgwMDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy
b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGli
bmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZp
bmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJs
aWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBO
ZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVS
UyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ
RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf
SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj
ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu
ZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVf
QUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NUWVBF
X0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9IIDEK
fCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5l
IEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZF
X0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I
IDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8
ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8
ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAj
ZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAjZGVmaW5l
IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNP
TVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9O
QkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUgSEFWRV9O
QkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNkZWZpbmUg
SEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAxCnwgI2Rl
ZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQgMQp8ICNk
ZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8ICNkZWZp
bmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUgSEFWRV9fX0FUVFJJQlVURV9fIDEKfCAj
ZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEKfCAjZGVm
aW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFWRV9GU0lEX1QgMQp8ICNkZWZpbmUg
U0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9N
QUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9T
VFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEK
fCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9S
SyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAv
KiBEZWZpbmUgX2RvcHJudCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRz
Lmg+IGRlY2xhcmVzIF9kb3BybnQuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRz
Lmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBfZG9wcm50IGlubm9jdW91
c19fZG9wcm50CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBh
bmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0
aCBjaGFyIF9kb3BybnQgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNz
ZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhp
c3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1RE
Q19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+
CnwgI2VuZGlmCnwgCnwgI3VuZGVmIF9kb3BybnQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGlu
dGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNl
IGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFu
ZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNp
ZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIF9kb3BybnQgKCk7
CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2gg
aXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVu
Y3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBf
XyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0
dWJfX2RvcHJudCB8fCBkZWZpbmVkIF9fc3R1Yl9fX19kb3BybnQKfCBjaG9rZSBtZQp8ICNlbmRp
Zgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIF9kb3BybnQgKCk7CnwgICA7CnwgICBy
ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo1ODAwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1ODEyOiBj
aGVja2luZyB3aGV0aGVyIHNucHJpbnRmIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZTo1ODEyOiBnY2Mg
LWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTgxMjogJD8gPSAwCmNvbmZpZ3Vy
ZTo1ODEyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTgyMzogY2hlY2tpbmcgd2hldGhlciB2YXNw
cmludGYgaXMgZGVjbGFyZWQKY29uZmlndXJlOjU4MjM6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0
LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMDU6MTA6
IGVycm9yOiAndmFzcHJpbnRmJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv
bikKY29uZnRlc3QuYzoxMDU6MTA6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlz
IHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCmNvbmZp
Z3VyZTo1ODIzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u
ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5l
IFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g
IjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1
Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmlu
ZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVf
V0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf
U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO
R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf
SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNk
ZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmlu
ZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZF
X0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJf
SCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAj
ZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUg
SEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9M
SUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERC
X0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5l
IEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF
X1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO
R19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElS
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFN
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB
VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
QVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19W
RlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQ
X0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg
I2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2Rl
ZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZp
bmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAj
ZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2Rl
ZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEg
MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRB
UkcgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BU
UkVTRVQgMAp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9P
UFRJT04gMQp8ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJ
UyAxCnwgI2RlZmluZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRS
X1QgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJM
RSAxCnwgI2RlZmluZSBIQVZFX0ZTSURfVCAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNk
ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQyAxCnwgI2RlZmluZSBI
QVZFX0RFQ0xfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SX1IgMQp8ICNkZWZp
bmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JL
SU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVf
VlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8IC8qIGVuZCBjb25mZGVm
cy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8ICNp
Zm5kZWYgdmFzcHJpbnRmCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgICAodm9pZCkgdmFzcHJpbnRm
Owp8ICNlbHNlCnwgICAodm9pZCkgdmFzcHJpbnRmOwp8ICNlbmRpZgp8ICNlbmRpZgp8IAp8ICAg
Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NTgyMzogcmVzdWx0OiBubwpjb25maWd1cmU6
NTg0MzogY2hlY2tpbmcgZm9yIGFzcHJpbnRmCmNvbmZpZ3VyZTo1ODQzOiBnY2MgLW8gY29uZnRl
c3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo1ODQzOiAkPyA9IDAKY29uZmln
dXJlOjU4NDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1ODU2OiBjaGVja2luZyBmb3IgZXJyCmNv
bmZpZ3VyZTo1ODU2OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNv
bmZpZ3VyZTo1ODU2OiAkPyA9IDAKY29uZmlndXJlOjU4NTY6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTo1ODY5OiBjaGVja2luZyBmb3IgZmdldGxuCmNvbmZpZ3VyZTo1ODY5OiBnY2MgLW8gY29uZnRl
c3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1Ci90bXAvY2N2RWtxTWEubzogSW4gZnVuY3Rpb24g
YG1haW4nOgovbWVkaWEvc2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xpYm5iY29tcGF0
L2NvbmZ0ZXN0LmM6MTMzOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBmZ2V0bG4nCmNvbGxlY3Qy
OiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTo1ODY5OiAkPyA9IDEKY29uZmln
dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD
S0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJj
b21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFD
S0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS
RVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZp
bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW
RV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO
VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU
RF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8
ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVm
aW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhB
VkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5P
X0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEK
fCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBI
QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFW
RV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRI
U19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwg
I2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFW
RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
RklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
U09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1F
X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8
ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2Rl
ZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwg
I2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwg
I2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2
MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBB
VF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNkZWZpbmUgSEFWRV9ERUNM
X09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8ICNkZWZpbmUgSEFWRV9H
RVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgSEFWRV9W
SVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2RlZmluZSBIQVZFX19fQVRU
UklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9MT05H
X0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2RlZmluZSBIQVZFX0ZTSURf
VCAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg
I2RlZmluZSBIQVZFX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSRVJST1JfUiAxCnwg
I2RlZmluZSBIQVZFX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5l
IEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhB
VkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZF
X0RFQ0xfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZBU1BSSU5URiAwCnwgI2RlZmlu
ZSBIQVZFX0FTUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfRVJSIDEKfCAvKiBlbmQgY29uZmRlZnMu
aC4gICovCnwgLyogRGVmaW5lIGZnZXRsbiB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2Fz
ZSA8bGltaXRzLmg+IGRlY2xhcmVzIGZnZXRsbi4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFp
IDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGZnZXRsbiBp
bm5vY3VvdXNfZmdldGxuCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1h
Y3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxp
Y3Qgd2l0aCBjaGFyIGZnZXRsbiAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRv
IDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5o
PiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYg
X19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3Nl
cnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZmdldGxuCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdD
QyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVj
YXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRp
biBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8K
fCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBmZ2V0bG4g
KCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hp
Y2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUg
ZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0
aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBf
X3N0dWJfZmdldGxuIHx8IGRlZmluZWQgX19zdHViX19fZmdldGxuCnwgY2hva2UgbWUKfCAjZW5k
aWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBmZ2V0bG4gKCk7CnwgICA7CnwgICBy
ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo1ODY5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1ODgyOiBj
aGVja2luZyBmb3IgZm5tYXRjaApjb25maWd1cmU6NTg4MjogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1P
MiAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6NTg4MjogJD8gPSAwCmNvbmZpZ3VyZTo1ODgy
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTg5NTogY2hlY2tpbmcgZm9yIGZwYXJzZWxuCmNvbmZp
Z3VyZTo1ODk1OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1Ci90bXAv
Y2NBaURvc20ubzogSW4gZnVuY3Rpb24gYG1haW4nOgovbWVkaWEvc2RiMi9zcmMvcGtnc3JjL2Jv
b3RzdHJhcC93b3JrL2xpYm5iY29tcGF0L2NvbmZ0ZXN0LmM6MTM0OiB1bmRlZmluZWQgcmVmZXJl
bmNlIHRvIGBmcGFyc2VsbicKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29u
ZmlndXJlOjU4OTU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj
b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZp
bmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP
TiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2
MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVm
aW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElN
RV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW
RV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS
SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO
VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwg
I2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVm
aW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhB
VkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VS
Ul9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8
ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmlu
ZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
X0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVU
REJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwg
I2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB
VkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS
SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19E
SVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFS
QU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T
VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
U1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1D
QVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK
fCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAj
ZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2Rl
ZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8
ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAj
ZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hB
MSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09Q
VEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9P
UFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU
X09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRf
VklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQ
VFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9V
QkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0Cnwg
I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5l
IEhBVkVfREVDTF9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgI2Rl
ZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dP
UktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFW
RV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZF
X0RFQ0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5lIEhBVkVfQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFW
RV9FUlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov
CnwgLyogRGVmaW5lIGZwYXJzZWxuIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxs
aW1pdHMuaD4gZGVjbGFyZXMgZnBhcnNlbG4uCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8
bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBmcGFyc2VsbiBp
bm5vY3VvdXNfZnBhcnNlbG4KfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIg
bWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25m
bGljdCB3aXRoIGNoYXIgZnBhcnNlbG4gKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5o
PiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1p
dHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lm
ZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8
YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGZwYXJzZWxuCnwgCnwgLyogT3ZlcnJpZGUg
YW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNo
YXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAg
YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5
LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBm
cGFyc2VsbiAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0
aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lT
LiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFy
dGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBk
ZWZpbmVkIF9fc3R1Yl9mcGFyc2VsbiB8fCBkZWZpbmVkIF9fc3R1Yl9fX2ZwYXJzZWxuCnwgY2hv
a2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBmcGFyc2VsbiAo
KTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjU4OTU6IHJlc3VsdDogbm8KY29u
ZmlndXJlOjU5MDg6IGNoZWNraW5nIGZvciBnZXRlbnYKY29uZmlndXJlOjU5MDg6IGdjYyAtbyBj
b25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjU5MDg6ICQ/ID0gMApj
b25maWd1cmU6NTkwODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU5MjE6IGNoZWNraW5nIGZvciBp
c2JsYW5rCmNvbmZpZ3VyZTo1OTIxOiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3Qu
YyAgPiY1CmNvbmZ0ZXN0LmM6MTI0OjY6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBi
dWlsdC1pbiBmdW5jdGlvbiAnaXNibGFuaycgW2VuYWJsZWQgYnkgZGVmYXVsdF0KY29uZmlndXJl
OjU5MjE6ICQ/ID0gMApjb25maWd1cmU6NTkyMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU5MzQ6
IGNoZWNraW5nIGZvciBsY2hmbGFncwpjb25maWd1cmU6NTkzNDogZ2NjIC1vIGNvbmZ0ZXN0IC1n
IC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQovdG1wL2NjbHpaS09RLm86IEluIGZ1bmN0aW9uIGBtYWlu
JzoKL21lZGlhL3NkYjIvc3JjL3BrZ3NyYy9ib290c3RyYXAvd29yay9saWJuYmNvbXBhdC9jb25m
dGVzdC5jOjEzNjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbGNoZmxhZ3MnCmNvbGxlY3QyOiBs
ZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTo1OTM0OiAkPyA9IDEKY29uZmlndXJl
OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH
RV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21w
YXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FH
RV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP
UlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUg
U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBI
QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI
QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9N
RU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ
UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I
IDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNk
ZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5l
IEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf
RU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0gg
MQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAj
ZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZF
X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9M
SU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19I
IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NE
RUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklM
RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09D
S0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
QVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VY
SVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0gg
MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmlu
ZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2Rl
ZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgI2Rl
ZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2MCAx
CnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9T
SEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09Q
VElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8ICNkZWZpbmUgSEFWRV9HRVRP
UFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgSEFWRV9WSVNf
SCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2RlZmluZSBIQVZFX19fQVRUUklC
VVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xP
TkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2RlZmluZSBIQVZFX0ZTSURfVCAx
CnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl
ZmluZSBIQVZFX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSRVJST1JfUiAxCnwgI2Rl
ZmluZSBIQVZFX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhB
VkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVf
V09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RF
Q0xfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZBU1BSSU5URiAwCnwgI2RlZmluZSBI
QVZFX0FTUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfRVJSIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRD
SCAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8IC8q
IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgbGNoZmxhZ3MgdG8gYW4gaW5ub2N1b3Vz
IHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBsY2hmbGFncy4KfCAgICBGb3Ig
ZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8K
fCAjZGVmaW5lIGxjaGZsYWdzIGlubm9jdW91c19sY2hmbGFncwp8IAp8IC8qIFN5c3RlbSBoZWFk
ZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywK
fCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBsY2hmbGFncyAoKTsgYmVsb3cuCnwg
ICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5l
ZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29t
cGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8
ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgbGNoZmxh
Z3MKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh
biBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJu
IHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5
cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAi
QyIKfCAjZW5kaWYKfCBjaGFyIGxjaGZsYWdzICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRl
ZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3
YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQK
fCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBh
biBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2xjaGZsYWdzIHx8IGRlZmluZWQgX19z
dHViX19fbGNoZmxhZ3MKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7
CnwgcmV0dXJuIGxjaGZsYWdzICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6
NTkzNDogcmVzdWx0OiBubwpjb25maWd1cmU6NTk0NzogY2hlY2tpbmcgZm9yIGxjaG1vZApjb25m
aWd1cmU6NTk0NzogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpjb25m
dGVzdC5jOjEzMDoxOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ2Nob2tlJwpjb25mdGVzdC5j
OjEzMzoxOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmli
dXRlX18nIGJlZm9yZSAnaW50Jwpjb25maWd1cmU6NTk0NzogJD8gPSAxCmNvbmZpZ3VyZTogZmFp
bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN
RSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8
ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS
SU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJn
cmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENf
SEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9T
WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I
IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg
I2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5l
IEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZF
X0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElB
Tl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAj
ZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmlu
ZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU
WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRT
X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwg
I2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVf
U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN
RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlP
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19I
IDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAj
ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFW
RV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUg
SEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUg
SEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNk
ZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAx
CnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQg
MQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8
ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUgSEFWRV9fX0FUVFJJQlVURV9f
IDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEK
fCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFWRV9GU0lEX1QgMQp8ICNk
ZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg
SEFWRV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUg
SEFWRV9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZG
T1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJ
TkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NO
UFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9WQVNQUklOVEYgMAp8ICNkZWZpbmUgSEFWRV9B
U1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0VSUiAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0ggMQp8
ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAvKiBlbmQg
Y29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGxjaG1vZCB0byBhbiBpbm5vY3VvdXMgdmFyaWFu
dCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGxjaG1vZC4KfCAgICBGb3IgZXhhbXBsZSwg
SFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5l
IGxjaG1vZCBpbm5vY3VvdXNfbGNobW9kCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUg
X19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBj
YW4gY29uZmxpY3Qgd2l0aCBjaGFyIGxjaG1vZCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGlt
aXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAg
PGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAK
fCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNs
dWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgbGNobW9kCnwgCnwgLyogT3ZlcnJp
ZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNl
IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwg
ICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFw
cGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hh
ciBsY2htb2QgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5j
dGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZ
Uy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3Rh
cnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYg
ZGVmaW5lZCBfX3N0dWJfbGNobW9kIHx8IGRlZmluZWQgX19zdHViX19fbGNobW9kCnwgY2hva2Ug
bWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBsY2htb2QgKCk7Cnwg
ICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo1OTQ3OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy
ZTo1OTYwOiBjaGVja2luZyBmb3IgbGNob3duCmNvbmZpZ3VyZTo1OTYwOiBnY2MgLW8gY29uZnRl
c3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo1OTYwOiAkPyA9IDAKY29uZmln
dXJlOjU5NjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1OTczOiBjaGVja2luZyBmb3IgbHV0aW1l
cwpjb25maWd1cmU6NTk3MzogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4m
NQpjb25maWd1cmU6NTk3MzogJD8gPSAwCmNvbmZpZ3VyZTo1OTczOiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6NTk4NjogY2hlY2tpbmcgZm9yIG1rZHRlbXAKY29uZmlndXJlOjU5ODY6IGdjYyAtbyBj
b25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjU5ODY6ICQ/ID0gMApj
b25maWd1cmU6NTk4NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU5OTk6IGNoZWNraW5nIGZvciBt
a3N0ZW1wCmNvbmZpZ3VyZTo1OTk5OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3Qu
YyAgPiY1CmNvbmZpZ3VyZTo1OTk5OiAkPyA9IDAKY29uZmlndXJlOjU5OTk6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZTo2MDEyOiBjaGVja2luZyBmb3Igc2V0ZW52CmNvbmZpZ3VyZTo2MDEyOiBnY2Mg
LW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo2MDEyOiAkPyA9
IDAKY29uZmlndXJlOjYwMTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2MDI1OiBjaGVja2luZyBm
b3Igc2V0Z3JvdXBlbnQKY29uZmlndXJlOjYwMjU6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBj
b25mdGVzdC5jICA+JjUKL3RtcC9jY0ZQOERVTS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9tZWRp
YS9zZGIyL3NyYy9wa2dzcmMvYm9vdHN0cmFwL3dvcmsvbGlibmJjb21wYXQvY29uZnRlc3QuYzox
NDE6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHNldGdyb3VwZW50Jwpjb2xsZWN0MjogbGQgcmV0
dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6NjAyNTogJD8gPSAxCmNvbmZpZ3VyZTogZmFp
bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN
RSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8
ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS
SU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJn
cmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENf
SEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9T
WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I
IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg
I2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5l
IEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZF
X0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElB
Tl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAj
ZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmlu
ZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU
WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRT
X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwg
I2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVf
U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN
RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlP
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19I
IDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAj
ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFW
RV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUg
SEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUg
SEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNk
ZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAx
CnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQg
MQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8
ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUgSEFWRV9fX0FUVFJJQlVURV9f
IDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEK
fCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFWRV9GU0lEX1QgMQp8ICNk
ZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg
SEFWRV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUg
SEFWRV9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZG
T1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJ
TkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NO
UFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9WQVNQUklOVEYgMAp8ICNkZWZpbmUgSEFWRV9B
U1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0VSUiAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0ggMQp8
ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5l
IEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX01L
RFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEK
fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHNldGdyb3VwZW50IHRvIGFuIGlu
bm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgc2V0Z3JvdXBlbnQu
CnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVv
ZmRheS4gICovCnwgI2RlZmluZSBzZXRncm91cGVudCBpbm5vY3VvdXNfc2V0Z3JvdXBlbnQKfCAK
fCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkg
ZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc2V0Z3Jv
dXBlbnQgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlm
IF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4g
b24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBp
bmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlm
CnwgCnwgI3VuZGVmIHNldGdyb3VwZW50CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5h
bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQg
bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhl
biBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYg
X19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBzZXRncm91cGVudCAoKTsK
fCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBp
dCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5j
dGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9f
IGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1
Yl9zZXRncm91cGVudCB8fCBkZWZpbmVkIF9fc3R1Yl9fX3NldGdyb3VwZW50CnwgY2hva2UgbWUK
fCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBzZXRncm91cGVudCAoKTsK
fCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjYwMjU6IHJlc3VsdDogbm8KY29uZmln
dXJlOjYwMzg6IGNoZWNraW5nIGZvciBzZXRwYXNzZW50CmNvbmZpZ3VyZTo2MDM4OiBnY2MgLW8g
Y29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1Ci90bXAvY2NYS3lGdlgubzogSW4gZnVu
Y3Rpb24gYG1haW4nOgovbWVkaWEvc2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xpYm5i
Y29tcGF0L2NvbmZ0ZXN0LmM6MTQxOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzZXRwYXNzZW50
Jwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6NjAzODogJD8g
PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj
ZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B
TUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAj
ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBB
Q0tBR0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg
IiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj
ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp
bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg
SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1RE
Qk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRf
SCAxCnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwg
I2RlZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUg
SEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZO
TUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8
ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAj
ZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5l
IEhBVkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lH
TkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9I
IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAj
ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5l
IEhBVkVfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9V
VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9C
X0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FV
RVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JF
R0VYX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNP
TVBBVF9STUQxNjAgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhB
VkVfTkJDT01QQVRfU0hBMiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5l
IEhBVkVfREVDTF9PUFRJTkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVm
aW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVm
aW5lIEhBVkVfVklTX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUg
SEFWRV9fX0FUVFJJQlVURV9fIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5l
IEhBVkVfTE9OR19MT05HIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUg
SEFWRV9GU0lEX1QgMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIEhBVkVfU1RE
TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkVS
Uk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAx
CnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwg
I2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNk
ZWZpbmUgSEFWRV9ERUNMX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9WQVNQUklOVEYg
MAp8ICNkZWZpbmUgSEFWRV9BU1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0VSUiAxCnwgI2RlZmlu
ZSBIQVZFX0ZOTUFUQ0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9J
U0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAx
CnwgI2RlZmluZSBIQVZFX01LRFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVm
aW5lIEhBVkVfU0VURU5WIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHNl
dHBhc3NlbnQgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNs
YXJlcyBzZXRwYXNzZW50Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBk
ZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgc2V0cGFzc2VudCBpbm5vY3VvdXNf
c2V0cGFzc2VudAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3Mg
YW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdp
dGggY2hhciBzZXRwYXNzZW50ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8g
PGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+
IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBf
X1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2Vy
dC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBzZXRwYXNzZW50CnwgCnwgLyogT3ZlcnJpZGUgYW55
IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIg
YmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVp
bHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAg
Ki8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBzZXRw
YXNzZW50ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rp
b25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMu
ICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0
aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRl
ZmluZWQgX19zdHViX3NldHBhc3NlbnQgfHwgZGVmaW5lZCBfX3N0dWJfX19zZXRwYXNzZW50Cnwg
Y2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBzZXRwYXNz
ZW50ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NjAzODogcmVzdWx0OiBu
bwpjb25maWd1cmU6NjA1MTogY2hlY2tpbmcgZm9yIHNldHByb2duYW1lCmNvbmZpZ3VyZTo2MDUx
OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1Ci90bXAvY2NGVEZZMzgu
bzogSW4gZnVuY3Rpb24gYG1haW4nOgovbWVkaWEvc2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93
b3JrL2xpYm5iY29tcGF0L2NvbmZ0ZXN0LmM6MTQxOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBz
ZXRwcm9nbmFtZScKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJl
OjYwNTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm
cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFD
S0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAw
ODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwg
I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBB
Q0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRI
X1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ
TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I
IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK
fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmlu
ZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhB
VkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElS
RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEK
fCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZp
bmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZF
X0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVU
SUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAx
CnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFW
RV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
SU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZG
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAx
CnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm
aW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5l
IEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBI
QVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZp
bmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5l
IEhBVkVfTkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwg
I2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAx
CnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNF
VCAwCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElP
TiAxCnwgI2RlZmluZSBIQVZFX1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEK
fCAjZGVmaW5lIEhBVkVfX19BVFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAx
CnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEK
fCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmlu
ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVf
REVDTF9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBI
QVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdf
VkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WUFJJ
TlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf
VkFTUFJJTlRGIDAKfCAjZGVmaW5lIEhBVkVfQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9FUlIg
MQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAjZGVm
aW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBIQVZF
X0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVN
UCAxCnwgI2RlZmluZSBIQVZFX1NFVEVOViAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8q
IERlZmluZSBzZXRwcm9nbmFtZSB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGlt
aXRzLmg+IGRlY2xhcmVzIHNldHByb2duYW1lLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkg
PGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgc2V0cHJvZ25h
bWUgaW5ub2N1b3VzX3NldHByb2duYW1lCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUg
X19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBj
YW4gY29uZmxpY3Qgd2l0aCBjaGFyIHNldHByb2duYW1lICgpOyBiZWxvdy4KfCAgICAgUHJlZmVy
IDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8
ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAq
Lwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAj
IGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBzZXRwcm9nbmFtZQp8IAp8
IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9y
Lgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv
ZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3Vs
ZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNl
bmRpZgp8IGNoYXIgc2V0cHJvZ25hbWUgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5l
cyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMg
ZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAg
ICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFs
aWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfc2V0cHJvZ25hbWUgfHwgZGVmaW5lZCBfX3N0
dWJfX19zZXRwcm9nbmFtZQp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8
IHsKfCByZXR1cm4gc2V0cHJvZ25hbWUgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp
Z3VyZTo2MDUxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2MDY0OiBjaGVja2luZyBmb3Igc2hxdW90
ZQpjb25maWd1cmU6NjA2NDogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4m
NQovdG1wL2NjTE81Z0ZhLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL21lZGlhL3NkYjIvc3JjL3Br
Z3NyYy9ib290c3RyYXAvd29yay9saWJuYmNvbXBhdC9jb25mdGVzdC5jOjE0MTogdW5kZWZpbmVk
IHJlZmVyZW5jZSB0byBgc2hxdW90ZScKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0
dXMKY29uZmlndXJlOjYwNjQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK
fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8
ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0Vf
VkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQg
MjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIK
fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp
bmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB
VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9P
TCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEK
fCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVm
aW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBI
QVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRM
X0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwg
I2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu
ZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhB
VkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf
SCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB
VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFW
RV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBI
QVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZF
X1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU
RF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9I
IDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAx
CnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVF
VUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1
IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01Q
QVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9E
RUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVf
REVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVf
U1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJD
T01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZF
X1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xP
TkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZf
VCA0CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAj
ZGVmaW5lIEhBVkVfREVDTF9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAx
CnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBI
QVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZp
bmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCnwgI2RlZmlu
ZSBIQVZFX0RFQ0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5lIEhBVkVfQVNQUklOVEYgMQp8ICNkZWZp
bmUgSEFWRV9FUlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIIDEKfCAjZGVmaW5lIEhBVkVfR0VU
RU5WIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwg
I2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5l
IEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX1NFVEVOViAxCnwgLyogZW5kIGNvbmZkZWZz
LmguICAqLwp8IC8qIERlZmluZSBzaHF1b3RlIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBj
YXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgc2hxdW90ZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVgg
MTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHNocXVv
dGUgaW5ub2N1b3VzX3NocXVvdGUKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0
dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBj
b25mbGljdCB3aXRoIGNoYXIgc2hxdW90ZSAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRz
Lmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxp
bWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAj
aWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRl
IDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgc2hxdW90ZQp8IAp8IC8qIE92ZXJyaWRl
IGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBj
aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAg
IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBs
eS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIg
c2hxdW90ZSAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0
aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lT
LiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFy
dGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBk
ZWZpbmVkIF9fc3R1Yl9zaHF1b3RlIHx8IGRlZmluZWQgX19zdHViX19fc2hxdW90ZQp8IGNob2tl
IG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gc2hxdW90ZSAoKTsK
fCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjYwNjQ6IHJlc3VsdDogbm8KY29uZmln
dXJlOjYwNzc6IGNoZWNraW5nIGZvciBzbnByaW50Zgpjb25maWd1cmU6NjA3NzogZ2NjIC1vIGNv
bmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpjb25mdGVzdC5jOjEzMDo2OiB3YXJuaW5n
OiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gJ3NucHJpbnRmJyBbZW5h
YmxlZCBieSBkZWZhdWx0XQpjb25maWd1cmU6NjA3NzogJD8gPSAwCmNvbmZpZ3VyZTo2MDc3OiBy
ZXN1bHQ6IHllcwpjb25maWd1cmU6NjA5MDogY2hlY2tpbmcgZm9yIHN0YXR2ZnMKY29uZmlndXJl
OjYwOTA6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJl
OjYwOTA6ICQ/ID0gMApjb25maWd1cmU6NjA5MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjYxMDM6
IGNoZWNraW5nIGZvciBzdHJkdXAKY29uZmlndXJlOjYxMDM6IGdjYyAtbyBjb25mdGVzdCAtZyAt
TzIgICBjb25mdGVzdC5jICA+JjUKY29uZnRlc3QuYzoxMzI6Njogd2FybmluZzogY29uZmxpY3Rp
bmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdzdHJkdXAnIFtlbmFibGVkIGJ5IGRlZmF1
bHRdCmNvbmZpZ3VyZTo2MTAzOiAkPyA9IDAKY29uZmlndXJlOjYxMDM6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZTo2MTE2OiBjaGVja2luZyBmb3Igc3RyZXJyb3IKY29uZmlndXJlOjYxMTY6IGdjYyAt
byBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjYxMTY6ICQ/ID0g
MApjb25maWd1cmU6NjExNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjYxMjk6IGNoZWNraW5nIGZv
ciBzdHJsY2F0CmNvbmZpZ3VyZTo2MTI5OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRl
c3QuYyAgPiY1Ci90bXAvY2NUNnhCNDMubzogSW4gZnVuY3Rpb24gYG1haW4nOgovbWVkaWEvc2Ri
Mi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xpYm5iY29tcGF0L2NvbmZ0ZXN0LmM6MTQ1OiB1
bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzdHJsY2F0Jwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBl
eGl0IHN0YXR1cwpjb25maWd1cmU6NjEyOTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy
YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJj
b21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUg
UEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJu
YmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBOZXRC
U0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx
CnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx
CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm
aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI
QVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxM
T0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NUWVBFX0gg
MQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9IIDEKfCAj
ZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhB
VkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZU
U19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK
fCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2RlZmluZSBI
QVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERB
UkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAjZGVm
aW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAjZGVmaW5lIEhB
VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBB
VF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNP
TVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNP
TVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNkZWZpbmUgSEFW
RV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAxCnwgI2RlZmlu
ZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQgMQp8ICNkZWZp
bmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8ICNkZWZpbmUg
SEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUgSEFWRV9fX0FUVFJJQlVURV9fIDEKfCAjZGVm
aW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEKfCAjZGVmaW5l
IEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFWRV9GU0lEX1QgMQp8ICNkZWZpbmUgU0la
RU9GX09GRl9UIDQKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxM
T0MgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJF
UlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAj
ZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAx
CnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NOUFJJTlRGIDEK
fCAjZGVmaW5lIEhBVkVfREVDTF9WQVNQUklOVEYgMAp8ICNkZWZpbmUgSEFWRV9BU1BSSU5URiAx
CnwgI2RlZmluZSBIQVZFX0VSUiAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0ggMQp8ICNkZWZpbmUg
SEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfTENI
T1dOIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX01LRFRFTVAgMQp8
ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5l
IEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVf
U1RSRFVQIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAg
Ki8KfCAvKiBEZWZpbmUgc3RybGNhdCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8
bGltaXRzLmg+IGRlY2xhcmVzIHN0cmxjYXQuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8
bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBzdHJsY2F0IGlu
bm9jdW91c19zdHJsY2F0CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1h
Y3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxp
Y3Qgd2l0aCBjaGFyIHN0cmxjYXQgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0
byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMu
aD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVm
IF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNz
ZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHN0cmxjYXQKfCAKfCAvKiBPdmVycmlkZSBhbnkg
R0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBi
ZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWls
dGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAq
Lwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHN0cmxj
YXQgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMg
d2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNv
bWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcg
d2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5l
ZCBfX3N0dWJfc3RybGNhdCB8fCBkZWZpbmVkIF9fc3R1Yl9fX3N0cmxjYXQKfCBjaG9rZSBtZQp8
ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHN0cmxjYXQgKCk7CnwgICA7
CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo2MTI5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2
MTQyOiBjaGVja2luZyBmb3Igc3RybGNweQpjb25maWd1cmU6NjE0MjogZ2NjIC1vIGNvbmZ0ZXN0
IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQovdG1wL2NjNUJBaEVjLm86IEluIGZ1bmN0aW9uIGBt
YWluJzoKL21lZGlhL3NkYjIvc3JjL3BrZ3NyYy9ib290c3RyYXAvd29yay9saWJuYmNvbXBhdC9j
b25mdGVzdC5jOjE0NTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc3RybGNweScKY29sbGVjdDI6
IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjYxNDI6ICQ/ID0gMQpjb25maWd1
cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL
QUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNv
bXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNL
QUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF
UE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmlu
ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l
IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U
VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE
X0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwg
I2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZp
bmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW
RV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9f
SCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8
ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhB
VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZF
X0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhT
X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZF
X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
Q0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19G
SUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T
T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
U1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
RVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVf
SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVm
aW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAj
ZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAj
ZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYw
IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
X1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf
T1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dF
VE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJ
U19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRS
SUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdf
TE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9U
IDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj
ZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJFUlJPUl9SIDEKfCAj
ZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUg
SEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFW
RV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf
REVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5l
IEhBVkVfQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9FUlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1B
VENIIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwg
I2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUg
SEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX1NF
VEVOViAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAx
CnwgI2RlZmluZSBIQVZFX1NUUkRVUCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAvKiBl
bmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHN0cmxjcHkgdG8gYW4gaW5ub2N1b3VzIHZh
cmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBzdHJsY3B5Lgp8ICAgIEZvciBleGFt
cGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNk
ZWZpbmUgc3RybGNweSBpbm5vY3VvdXNfc3RybGNweQp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8g
ZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAg
d2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzdHJsY3B5ICgpOyBiZWxvdy4KfCAgICAgUHJl
ZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5j
ZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMu
ICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UK
fCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBzdHJsY3B5CnwgCnwg
LyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu
CnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9m
IGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk
IHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2Vu
ZGlmCnwgY2hhciBzdHJsY3B5ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhp
cyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwg
d2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29t
ZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4g
ICovCnwgI2lmIGRlZmluZWQgX19zdHViX3N0cmxjcHkgfHwgZGVmaW5lZCBfX3N0dWJfX19zdHJs
Y3B5CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBz
dHJsY3B5ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NjE0MjogcmVzdWx0
OiBubwpjb25maWd1cmU6NjE1NTogY2hlY2tpbmcgZm9yIHN0cm1vZGUKY29uZmlndXJlOjYxNTU6
IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKL3RtcC9jY3l3YUlYZC5v
OiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9tZWRpYS9zZGIyL3NyYy9wa2dzcmMvYm9vdHN0cmFwL3dv
cmsvbGlibmJjb21wYXQvY29uZnRlc3QuYzoxNDU6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHN0
cm1vZGUnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTo2MTU1
OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq
Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0Vf
VEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1
Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZp
bmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdF
X1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNf
VElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg
MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg
I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl
ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFW
RV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FT
U0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9I
IDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2Rl
ZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhB
VkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBf
SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0gg
MQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNk
ZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFW
RV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
REVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNk
ZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI
QVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZF
X0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9T
WVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhB
VkVfUkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZF
X05CQ09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZp
bmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNk
ZWZpbmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8
ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8
ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2Rl
ZmluZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNk
ZWZpbmUgSEFWRV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2Rl
ZmluZSBIQVZFX0ZTSURfVCAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgSEFW
RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf
U1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9G
T1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JL
IDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAx
CnwgI2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZBU1BS
SU5URiAwCnwgI2RlZmluZSBIQVZFX0FTUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfRVJSIDEKfCAj
ZGVmaW5lIEhBVkVfRk5NQVRDSCAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwgI2RlZmluZSBI
QVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MVVRJ
TUVTIDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVNUCAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8
ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmlu
ZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVFJEVVAgMQp8ICNkZWZpbmUgSEFWRV9T
VFJFUlJPUiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBzdHJtb2RlIHRv
IGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgc3RybW9k
ZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGlt
ZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHN0cm1vZGUgaW5ub2N1b3VzX3N0cm1vZGUKfCAKfCAvKiBT
eXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHBy
b3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc3RybW9kZSAoKTsg
YmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18g
aXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3Rh
bmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxp
bWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5k
ZWYgc3RybW9kZQp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRv
IGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo
ZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50
IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwg
ZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgc3RybW9kZSAoKTsKfCAvKiBUaGUgR05VIEMgbGli
cmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAg
IHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5
IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5h
bWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9zdHJtb2RlIHx8IGRlZmlu
ZWQgX19zdHViX19fc3RybW9kZQp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAo
KQp8IHsKfCByZXR1cm4gc3RybW9kZSAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln
dXJlOjYxNTU6IHJlc3VsdDogbm8KY29uZmlndXJlOjYxNjg6IGNoZWNraW5nIGZvciBzdHJzZXAK
Y29uZmlndXJlOjYxNjg6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUK
Y29uZmlndXJlOjYxNjg6ICQ/ID0gMApjb25maWd1cmU6NjE2ODogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjYxODE6IGNoZWNraW5nIGZvciBzdHJ0b2xsCmNvbmZpZ3VyZTo2MTgxOiBnY2MgLW8gY29u
ZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo2MTgxOiAkPyA9IDAKY29u
ZmlndXJlOjYxODE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2MTk0OiBjaGVja2luZyBmb3IgdW5z
ZXRlbnYKY29uZmlndXJlOjYxOTQ6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5j
ICA+JjUKY29uZmlndXJlOjYxOTQ6ICQ/ID0gMApjb25maWd1cmU6NjE5NDogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjYyMDc6IGNoZWNraW5nIGZvciB1c2xlZXAKY29uZmlndXJlOjYyMDc6IGdjYyAt
byBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjYyMDc6ICQ/ID0g
MApjb25maWd1cmU6NjIwNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjYyMjA6IGNoZWNraW5nIGZv
ciB1dGltZXMKY29uZmlndXJlOjYyMjA6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVz
dC5jICA+JjUKY29uZmlndXJlOjYyMjA6ICQ/ID0gMApjb25maWd1cmU6NjIyMDogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjYyMzM6IGNoZWNraW5nIGZvciB3YXJuCmNvbmZpZ3VyZTo2MjMzOiBnY2Mg
LW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo2MjMzOiAkPyA9
IDAKY29uZmlndXJlOjYyMzM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2MjQ4OiBjaGVja2luZyBm
b3IgbGlicmFyeSBjb250YWluaW5nIHNvY2tldApjb25maWd1cmU6NjI3OTogZ2NjIC1vIGNvbmZ0
ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6NjI3OTogJD8gPSAwCmNvbmZp
Z3VyZTo2Mjk2OiByZXN1bHQ6IG5vbmUgcmVxdWlyZWQKY29uZmlndXJlOjYzMDQ6IGNoZWNraW5n
IGZvciBnZXRob3N0YnluYW1lIGluIC1sbnNsCmNvbmZpZ3VyZTo2MzI5OiBnY2MgLW8gY29uZnRl
c3QgLWcgLU8yICAgY29uZnRlc3QuYyAtbG5zbCAgID4mNQpjb25maWd1cmU6NjMyOTogJD8gPSAw
CmNvbmZpZ3VyZTo2MzM4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjM1MTogY2hlY2tpbmcgZm9y
IHNvY2tsZW5fdApjb25maWd1cmU6NjM1MTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUK
Y29uZmlndXJlOjYzNTE6ICQ/ID0gMApjb25maWd1cmU6NjM1MTogZ2NjIC1jIC1nIC1PMiAgY29u
ZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEy
ODoyNDogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Npb24gYmVmb3JlICcpJyB0b2tlbgpjb25maWd1
cmU6NjM1MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk
ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQ
QUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy
MDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIK
fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUg
UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJ
VEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU
UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT
X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg
MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVm
aW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUg
SEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9E
SVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0gg
MQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2Rl
ZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhB
VkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElC
VVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9I
IDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVm
aW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBI
QVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU
VkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ
UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZT
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9I
IDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk
ZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZp
bmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2Rl
ZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZp
bmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEK
fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJH
IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJF
U0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BU
SU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMg
MQp8ICNkZWZpbmUgSEFWRV9fX0FUVFJJQlVURV9fIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9U
IDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUg
MQp8ICNkZWZpbmUgSEFWRV9GU0lEX1QgMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVm
aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFW
RV9ERUNMX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUl9SIDEKfCAjZGVmaW5l
IEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lO
R19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZQ
UklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVD
TF9WQVNQUklOVEYgMAp8ICNkZWZpbmUgSEFWRV9BU1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0VS
UiAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNk
ZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhB
VkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX01LRFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NU
RU1QIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8
ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVfU1RSRFVQIDEKfCAjZGVmaW5l
IEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJTRVAgMQp8ICNkZWZpbmUgSEFWRV9T
VFJUT0xMIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VU0xFRVAg
MQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9XQVJOIDEKfCAjZGVmaW5l
IEhBVkVfTElCTlNMIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lmZGVmIEhBVkVfU1lT
X1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRl
IDxzeXMvc29ja2V0Lmg+CnwgCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgo
c29ja2xlbl90KSkpCnwgCSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u
ZmlndXJlOjYzNTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2MzY3OiBjaGVja2luZyBmb3Igc3Ry
dWN0IGFkZHJpbmZvCmNvbmZpZ3VyZTo2MzY3OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4m
NQpjb25maWd1cmU6NjM2NzogJD8gPSAwCmNvbmZpZ3VyZTo2MzY3OiBnY2MgLWMgLWcgLU8yICBj
b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6
MTI0OjMwOiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJyknIHRva2VuCmNvbmZp
Z3VyZTo2MzY3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u
ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5l
IFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g
IjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1
Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmlu
ZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVf
V0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf
U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO
R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf
SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNk
ZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmlu
ZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZF
X0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJf
SCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAj
ZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUg
SEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9M
SUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERC
X0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5l
IEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF
X1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO
R19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElS
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFN
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB
VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
QVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19W
RlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQ
X0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg
I2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2Rl
ZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZp
bmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAj
ZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2Rl
ZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEg
MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRB
UkcgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BU
UkVTRVQgMAp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9P
UFRJT04gMQp8ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJ
UyAxCnwgI2RlZmluZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRS
X1QgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJM
RSAxCnwgI2RlZmluZSBIQVZFX0ZTSURfVCAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNk
ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQyAxCnwgI2RlZmluZSBI
QVZFX0RFQ0xfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SX1IgMQp8ICNkZWZp
bmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JL
SU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVf
VlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9E
RUNMX1ZBU1BSSU5URiAwCnwgI2RlZmluZSBIQVZFX0FTUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf
RVJSIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSCAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwg
I2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04gMQp8ICNkZWZpbmUg
SEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVNUCAxCnwgI2RlZmluZSBIQVZFX01L
U1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAx
CnwgI2RlZmluZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVFJEVVAgMQp8ICNkZWZp
bmUgSEFWRV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUlNFUCAxCnwgI2RlZmluZSBIQVZF
X1NUUlRPTEwgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VTTEVF
UCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1dBUk4gMQp8ICNkZWZp
bmUgSEFWRV9MSUJOU0wgMQp8ICNkZWZpbmUgSEFWRV9TT0NLTEVOX1QgMQp8IC8qIGVuZCBjb25m
ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8bmV0ZGIuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8
IGlmIChzaXplb2YgKChzdHJ1Y3QgYWRkcmluZm8pKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8
ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NjM2NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjYz
Nzg6IGNoZWNraW5nIGZvciBzdHJ1Y3QgaW42X2FkZHIKY29uZmlndXJlOjYzNzg6IGdjYyAtYyAt
ZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2Mzc4OiAkPyA9IDAKY29uZmlndXJlOjYz
Nzg6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9u
ICdtYWluJzoKY29uZnRlc3QuYzoxMjk6MzA6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJl
Zm9yZSAnKScgdG9rZW4KY29uZmlndXJlOjYzNzg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw
cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxp
Ym5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVm
aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi
bGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRA
TmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURF
UlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ
UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK
fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg
I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp
bmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZF
X0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQ
RV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAx
CnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmlu
ZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFW
RV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf
SCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEK
fCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZp
bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVf
U1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO
VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK
fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8
ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwg
I2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmlu
ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJD
T01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVf
TkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVf
TkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5l
IEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTIgMQp8ICNk
ZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUSU5EIDEKfCAj
ZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJU19IIDEKfCAjZGVm
aW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRSSUJVVEVfXyAxCnwg
I2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2Rl
ZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEKfCAjZGVmaW5l
IFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf
TUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVf
U1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAx
CnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZP
UksgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5U
RiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5lIEhBVkVfQVNQUklO
VEYgMQp8ICNkZWZpbmUgSEFWRV9FUlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIIDEKfCAjZGVm
aW5lIEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZF
X0xDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1Q
IDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX1NFVEVOViAxCnwgI2Rl
ZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwgI2RlZmluZSBI
QVZFX1NUUkRVUCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RS
U0VQIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9MTCAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEK
fCAjZGVmaW5lIEhBVkVfVVNMRUVQIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5l
IEhBVkVfV0FSTiAxCnwgI2RlZmluZSBIQVZFX0xJQk5TTCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tM
RU5fVCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgLyogZW5kIGNvbmZkZWZz
LmguICAqLwp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMu
aD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgp8IAp8IAp8IGludAp8IG1haW4g
KCkKfCB7CnwgaWYgKHNpemVvZiAoKHN0cnVjdCBpbjZfYWRkcikpKQp8IAkgICAgcmV0dXJuIDA7
CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo2Mzc4OiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6NjM5MzogY2hlY2tpbmcgZm9yIHN0cnVjdCBzb2NrYWRkcl9pbjYKY29uZmlndXJlOjYz
OTM6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2MzkzOiAkPyA9IDAK
Y29uZmlndXJlOjYzOTM6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6
IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMzA6MzQ6IGVycm9yOiBleHBlY3RlZCBl
eHByZXNzaW9uIGJlZm9yZSAnKScgdG9rZW4KY29uZmlndXJlOjYzOTM6ICQ/ID0gMQpjb25maWd1
cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL
QUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNv
bXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNL
QUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF
UE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmlu
ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l
IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U
VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE
X0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwg
I2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZp
bmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW
RV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9f
SCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8
ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhB
VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZF
X0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhT
X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZF
X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
Q0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19G
SUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T
T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
U1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
RVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVf
SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVm
aW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAj
ZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAj
ZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYw
IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
X1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf
T1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dF
VE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJ
U19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRS
SUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdf
TE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9U
IDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj
ZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJFUlJPUl9SIDEKfCAj
ZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUg
SEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFW
RV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf
REVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5l
IEhBVkVfQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9FUlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1B
VENIIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwg
I2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUg
SEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX1NF
VEVOViAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAx
CnwgI2RlZmluZSBIQVZFX1NUUkRVUCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVm
aW5lIEhBVkVfU1RSU0VQIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9MTCAxCnwgI2RlZmluZSBIQVZF
X1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVVNMRUVQIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVT
IDEKfCAjZGVmaW5lIEhBVkVfV0FSTiAxCnwgI2RlZmluZSBIQVZFX0xJQk5TTCAxCnwgI2RlZmlu
ZSBIQVZFX1NPQ0tMRU5fVCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2Rl
ZmluZSBIQVZFX1NUUlVDVF9JTjZfQUREUiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp
ZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYK
fCAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgp8IAp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYg
KHNpemVvZiAoKHN0cnVjdCBzb2NrYWRkcl9pbjYpKSkKfCAJICAgIHJldHVybiAwOwp8ICAgOwp8
ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NjM5MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY0
MDg6IGNoZWNraW5nIGZvciBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZQpjb25maWd1cmU6NjQwODog
Z2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY0MDg6ICQ/ID0gMApjb25m
aWd1cmU6NjQwODogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4g
ZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEzMTozODogZXJyb3I6IGV4cGVjdGVkIGV4cHJl
c3Npb24gYmVmb3JlICcpJyB0b2tlbgpjb25maWd1cmU6NjQwODogJD8gPSAxCmNvbmZpZ3VyZTog
ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf
TkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0
Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0Vf
U1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU
ICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNU
RENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFW
RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW
RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN
T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx
CnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVm
aW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBI
QVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VO
RElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEK
fCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2Rl
ZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9J
TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElN
SVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAx
CnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhB
VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVG
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF
VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU
RlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
VUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElU
U19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEK
fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUg
SEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZp
bmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZp
bmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8
ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hB
MiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJ
TkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BU
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0gg
MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUgSEFWRV9fX0FUVFJJQlVU
RV9fIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05H
IDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFWRV9GU0lEX1QgMQp8
ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp
bmUgSEFWRV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkVSUk9SX1IgMQp8ICNkZWZp
bmUgSEFWRV9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZF
X1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dP
UktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNM
X1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9WQVNQUklOVEYgMAp8ICNkZWZpbmUgSEFW
RV9BU1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0VSUiAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0gg
MQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVm
aW5lIEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZF
X01LRFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5W
IDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAj
ZGVmaW5lIEhBVkVfU1RSRFVQIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUg
SEFWRV9TVFJTRVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0xMIDEKfCAjZGVmaW5lIEhBVkVfVU5T
RVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VU0xFRVAgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8
ICNkZWZpbmUgSEFWRV9XQVJOIDEKfCAjZGVmaW5lIEhBVkVfTElCTlNMIDEKfCAjZGVmaW5lIEhB
VkVfU09DS0xFTl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5l
IEhBVkVfU1RSVUNUX0lONl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX0lO
NiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwg
IyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5o
Pgp8IAp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgaWYgKHNpemVvZiAoKHN0cnVjdCBzb2NrYWRk
cl9zdG9yYWdlKSkpCnwgCSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u
ZmlndXJlOjY0MDg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NDI2OiBjaGVja2luZyBmb3IgZ2V0
bmFtZWluZm8KY29uZmlndXJlOjY0MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVz
dC5jIC1sbnNsICA+JjUKY29uZmlndXJlOjY0MjY6ICQ/ID0gMApjb25maWd1cmU6NjQyNjogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjY0MjY6IGNoZWNraW5nIGZvciBnYWlfc3RyZXJyb3IKY29uZmln
dXJlOjY0MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jIC1sbnNsICA+JjUK
Y29uZmlndXJlOjY0MjY6ICQ/ID0gMApjb25maWd1cmU6NjQyNjogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjY0MjY6IGNoZWNraW5nIGZvciBnZXRhZGRyaW5mbwpjb25maWd1cmU6NjQyNjogZ2NjIC1v
IGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgLWxuc2wgID4mNQpjb25maWd1cmU6NjQyNjog
JD8gPSAwCmNvbmZpZ3VyZTo2NDI2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjQ1MDogY2hlY2tp
bmcgZm9yIGdldGVudgpjb25maWd1cmU6NjQ1MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY0NTA6
IGNoZWNraW5nIGZvciBzZXRlbnYKY29uZmlndXJlOjY0NTA6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTo2NDUwOiBjaGVja2luZyBmb3IgdW5zZXRlbnYKY29uZmlndXJlOjY0NTA6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZTo2NDc0OiBjaGVja2luZyBmb3IgbWtkdGVtcApjb25maWd1cmU6NjQ3NDogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjY0NzQ6IGNoZWNraW5nIGZvciBta3N0ZW1wCmNvbmZpZ3VyZTo2
NDc0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjQ5NzogY2hlY2tpbmcgZm9yIGJjb3B5CmNvbmZp
Z3VyZTo2NDk3OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAtbG5zbCAgPiY1
CmNvbmZ0ZXN0LmM6MTU0OjY6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1p
biBmdW5jdGlvbiAnYmNvcHknIFtlbmFibGVkIGJ5IGRlZmF1bHRdCmNvbmZpZ3VyZTo2NDk3OiAk
PyA9IDAKY29uZmlndXJlOjY0OTc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NDk3OiBjaGVja2lu
ZyBmb3IgYnplcm8KY29uZmlndXJlOjY0OTc6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25m
dGVzdC5jIC1sbnNsICA+JjUKY29uZnRlc3QuYzoxNTU6Njogd2FybmluZzogY29uZmxpY3Rpbmcg
dHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdiemVybycgW2VuYWJsZWQgYnkgZGVmYXVsdF0K
Y29uZmlndXJlOjY0OTc6ICQ/ID0gMApjb25maWd1cmU6NjQ5NzogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjY0OTc6IGNoZWNraW5nIGZvciBtZW1zZXQKY29uZmlndXJlOjY0OTc6IGdjYyAtbyBjb25m
dGVzdCAtZyAtTzIgICBjb25mdGVzdC5jIC1sbnNsICA+JjUKY29uZnRlc3QuYzoxNTY6Njogd2Fy
bmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdtZW1zZXQnIFtl
bmFibGVkIGJ5IGRlZmF1bHRdCmNvbmZpZ3VyZTo2NDk3OiAkPyA9IDAKY29uZmlndXJlOjY0OTc6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NDk3OiBjaGVja2luZyBmb3IgbWVtY3B5CmNvbmZpZ3Vy
ZTo2NDk3OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuYyAtbG5zbCAgPiY1CmNv
bmZ0ZXN0LmM6MTU3OjY6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBm
dW5jdGlvbiAnbWVtY3B5JyBbZW5hYmxlZCBieSBkZWZhdWx0XQpjb25maWd1cmU6NjQ5NzogJD8g
PSAwCmNvbmZpZ3VyZTo2NDk3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjQ5NzogY2hlY2tpbmcg
Zm9yIHNldGxvY2FsZQpjb25maWd1cmU6NjQ5NzogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNv
bmZ0ZXN0LmMgLWxuc2wgID4mNQpjb25maWd1cmU6NjQ5NzogJD8gPSAwCmNvbmZpZ3VyZTo2NDk3
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjUxMTogY2hlY2tpbmcgZm9yIGdldG1vZGUKY29uZmln
dXJlOjY1MTE6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jIC1sbnNsICA+JjUK
L3RtcC9jY3VlaDM1Wi5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9tZWRpYS9zZGIyL3NyYy9wa2dz
cmMvYm9vdHN0cmFwL3dvcmsvbGlibmJjb21wYXQvY29uZnRlc3QuYzoxNzA6IHVuZGVmaW5lZCBy
ZWZlcmVuY2UgdG8gYGdldG1vZGUnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVz
CmNvbmZpZ3VyZTo2NTExOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg
LyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAj
ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZF
UlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIw
MDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwg
I2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l
IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l
IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF
X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wg
MQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwg
I2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmlu
ZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFW
RV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9I
IDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg
SEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZF
X05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0gg
MQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAj
ZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF
X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFW
RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9U
RVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf
SCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAx
CnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8
ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVF
IDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAx
CnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
X1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVD
TF9PUFRBUkcgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RF
Q0xfT1BUUkVTRVQgMAp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NU
UlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09N
UEFUX1ZJUyAxCnwgI2RlZmluZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9V
SU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05H
X0RPVUJMRSAxCnwgI2RlZmluZSBIQVZFX0ZTSURfVCAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1Qg
NAp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQyAxCnwgI2Rl
ZmluZSBIQVZFX0RFQ0xfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SX1IgMQp8
ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFW
RV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5l
IEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNkZWZpbmUg
SEFWRV9ERUNMX1ZBU1BSSU5URiAwCnwgI2RlZmluZSBIQVZFX0FTUFJJTlRGIDEKfCAjZGVmaW5l
IEhBVkVfRVJSIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSCAxCnwgI2RlZmluZSBIQVZFX0dFVEVO
ViAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04gMQp8ICNk
ZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVNUCAxCnwgI2RlZmluZSBI
QVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TTlBS
SU5URiAxCnwgI2RlZmluZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVFJEVVAgMQp8
ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUlNFUCAxCnwgI2RlZmlu
ZSBIQVZFX1NUUlRPTEwgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZF
X1VTTEVFUCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1dBUk4gMQp8
ICNkZWZpbmUgSEFWRV9MSUJOU0wgMQp8ICNkZWZpbmUgSEFWRV9TT0NLTEVOX1QgMQp8ICNkZWZp
bmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSU42X0FERFIg
MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfSU42IDEKfCAjZGVmaW5lIEhBVkVfU1RS
VUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVROQU1FSU5GTyAxCnwgI2Rl
ZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAj
ZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhB
VkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtT
VEVNUCAxCnwgI2RlZmluZSBIQVZFX0JDT1BZIDEKfCAjZGVmaW5lIEhBVkVfQlpFUk8gMQp8ICNk
ZWZpbmUgSEFWRV9NRU1TRVQgMQp8ICNkZWZpbmUgSEFWRV9NRU1DUFkgMQp8ICNkZWZpbmUgSEFW
RV9TRVRMT0NBTEUgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgZ2V0bW9k
ZSB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGdl
dG1vZGUuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdl
dHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBnZXRtb2RlIGlubm9jdW91c19nZXRtb2RlCnwgCnwg
LyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZl
dyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGdldG1vZGUg
KCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1RE
Q19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJl
ZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRl
IDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwg
I3VuZGVmIGdldG1vZGUKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlw
ZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRj
aCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1
bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1
cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGdldG1vZGUgKCk7CnwgLyogVGhlIEdOVSBD
IGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8
ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1
YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1h
bCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZ2V0bW9kZSB8fCBk
ZWZpbmVkIF9fc3R1Yl9fX2dldG1vZGUKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1h
aW4gKCkKfCB7CnwgcmV0dXJuIGdldG1vZGUgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNv
bmZpZ3VyZTo2NTExOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NTExOiBjaGVja2luZyBmb3Igc2V0
bW9kZQpjb25maWd1cmU6NjUxMTogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMg
LWxuc2wgID4mNQovdG1wL2NjOW1PQk9iLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL21lZGlhL3Nk
YjIvc3JjL3BrZ3NyYy9ib290c3RyYXAvd29yay9saWJuYmNvbXBhdC9jb25mdGVzdC5jOjE3MDog
dW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc2V0bW9kZScKY29sbGVjdDI6IGxkIHJldHVybmVkIDEg
ZXhpdCBzdGF0dXMKY29uZmlndXJlOjY1MTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n
cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5i
Y29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5l
IFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGli
bmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0
QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMg
MQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg
SEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FM
TE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9I
IDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwg
I2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBI
QVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9G
VFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx
CnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAj
ZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUg
SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
QVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I
IDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2Rl
ZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBI
QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01Q
QVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJD
T01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJD
T01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhB
VkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTIgMQp8ICNkZWZp
bmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVm
aW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJU19IIDEKfCAjZGVmaW5l
IEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRSSUJVVEVfXyAxCnwgI2Rl
ZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2RlZmlu
ZSBIQVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEKfCAjZGVmaW5lIFNJ
WkVPRl9PRkZfVCA0CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfTUFM
TE9DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfU1RS
RVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwg
I2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksg
MQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5URiAx
CnwgI2RlZmluZSBIQVZFX0RFQ0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5lIEhBVkVfQVNQUklOVEYg
MQp8ICNkZWZpbmUgSEFWRV9FUlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIIDEKfCAjZGVmaW5l
IEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0xD
SE9XTiAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEK
fCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX1NFVEVOViAxCnwgI2RlZmlu
ZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwgI2RlZmluZSBIQVZF
X1NUUkRVUCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0VQ
IDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9MTCAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAj
ZGVmaW5lIEhBVkVfVVNMRUVQIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhB
VkVfV0FSTiAxCnwgI2RlZmluZSBIQVZFX0xJQk5TTCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tMRU5f
VCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlVD
VF9JTjZfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9JTjYgMQp8ICNkZWZp
bmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX0dFVE5BTUVJ
TkZPIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUQURE
UklORk8gMQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8
ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX01LRFRFTVAgMQp8ICNkZWZp
bmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfQkNPUFkgMQp8ICNkZWZpbmUgSEFWRV9C
WkVSTyAxCnwgI2RlZmluZSBIQVZFX01FTVNFVCAxCnwgI2RlZmluZSBIQVZFX01FTUNQWSAxCnwg
I2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERl
ZmluZSBzZXRtb2RlIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4g
ZGVjbGFyZXMgc2V0bW9kZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4g
ZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHNldG1vZGUgaW5ub2N1b3VzX3Nl
dG1vZGUKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBo
b3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNo
YXIgc2V0bW9kZSAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQu
aD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMg
ZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18K
fCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAj
ZW5kaWYKfCAKfCAjdW5kZWYgc2V0bW9kZQp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJu
YWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50
IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRo
ZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVm
IF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgc2V0bW9kZSAoKTsKfCAv
KiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBp
bXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlv
bnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFu
ZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9z
ZXRtb2RlIHx8IGRlZmluZWQgX19zdHViX19fc2V0bW9kZQp8IGNob2tlIG1lCnwgI2VuZGlmCnwg
CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gc2V0bW9kZSAoKTsKfCAgIDsKfCAgIHJldHVy
biAwOwp8IH0KY29uZmlndXJlOjY1MTE6IHJlc3VsdDogbm8KY29uZmlndXJlOjY1MzI6IGNoZWNr
aW5nIHdoZXRoZXIgZW5kZ3JlbnQgaXMgZGVjbGFyZWQKY29uZmlndXJlOjY1MzI6IGdjYyAtYyAt
ZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29u
ZnRlc3QuYzoxNzY6MTA6IGVycm9yOiAnZW5kZ3JlbnQnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp
biB0aGlzIGZ1bmN0aW9uKQpjb25mdGVzdC5jOjE3NjoxMDogbm90ZTogZWFjaCB1bmRlY2xhcmVk
IGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFw
cGVhcnMgaW4KY29uZmlndXJlOjY1MzI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt
IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29t
cGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBB
Q0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJj
b21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNE
Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8
ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW
RV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9D
QV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEK
fCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2Rl
ZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZF
X0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNf
SCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg
I2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVm
aW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFW
RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJH
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK
fCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZF
X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19N
T1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRf
R0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01Q
QVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01Q
QVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVf
TkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTIgMQp8ICNkZWZpbmUg
SEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVmaW5l
IEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5l
IEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJU19IIDEKfCAjZGVmaW5lIEhB
VkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRSSUJVVEVfXyAxCnwgI2RlZmlu
ZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBI
QVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEKfCAjZGVmaW5lIFNJWkVP
Rl9PRkZfVCA0CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9D
IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJS
T1JfUiAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2Rl
ZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8
ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCnwg
I2RlZmluZSBIQVZFX0RFQ0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5lIEhBVkVfQVNQUklOVEYgMQp8
ICNkZWZpbmUgSEFWRV9FUlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIIDEKfCAjZGVmaW5lIEhB
VkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0xDSE9X
TiAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAj
ZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX1NFVEVOViAxCnwgI2RlZmluZSBI
QVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwgI2RlZmluZSBIQVZFX1NU
UkRVUCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0VQIDEK
fCAjZGVmaW5lIEhBVkVfU1RSVE9MTCAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVm
aW5lIEhBVkVfVVNMRUVQIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVf
V0FSTiAxCnwgI2RlZmluZSBIQVZFX0xJQk5TTCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tMRU5fVCAx
CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9J
TjZfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9JTjYgMQp8ICNkZWZpbmUg
SEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX0dFVE5BTUVJTkZP
IDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklO
Rk8gMQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNk
ZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX01LRFRFTVAgMQp8ICNkZWZpbmUg
SEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfQkNPUFkgMQp8ICNkZWZpbmUgSEFWRV9CWkVS
TyAxCnwgI2RlZmluZSBIQVZFX01FTVNFVCAxCnwgI2RlZmluZSBIQVZFX01FTUNQWSAxCnwgI2Rl
ZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRl
IDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlw
ZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMv
c3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxp
Yi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElC
X0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhB
VkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVf
TUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxz
dHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0
cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxp
bnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxz
dGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5p
c3RkLmg+CnwgI2VuZGlmCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAjaWZuZGVmIGVuZGdyZW50Cnwg
I2lmZGVmIF9fY3BsdXNwbHVzCnwgICAodm9pZCkgZW5kZ3JlbnQ7CnwgI2Vsc2UKfCAgICh2b2lk
KSBlbmRncmVudDsKfCAjZW5kaWYKfCAjZW5kaWYKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0K
Y29uZmlndXJlOjY1MzI6IHJlc3VsdDogbm8KY29uZmlndXJlOjY1NDI6IGNoZWNraW5nIHdoZXRo
ZXIgZW5kcHdlbnQgaXMgZGVjbGFyZWQKY29uZmlndXJlOjY1NDI6IGdjYyAtYyAtZyAtTzIgIGNv
bmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzox
Nzc6MTA6IGVycm9yOiAnZW5kcHdlbnQnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1
bmN0aW9uKQpjb25mdGVzdC5jOjE3NzoxMDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZp
ZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4K
Y29uZmlndXJlOjY1NDI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv
KiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNk
ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS
U0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAw
ODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAj
ZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg
VElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf
U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU
RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAx
CnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAj
ZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5l
IEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZF
X0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0gg
MQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2Rl
ZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI
QVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVf
TkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAx
CnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l
IEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf
U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RF
Uk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I
IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEK
fCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwg
I2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUg
MQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEK
fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRf
U0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNM
X09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVD
TF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS
VUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01Q
QVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJ
TlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdf
RE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0
CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVm
aW5lIEhBVkVfREVDTF9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwg
I2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZF
X1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUg
SEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBI
QVZFX0RFQ0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5lIEhBVkVfQVNQUklOVEYgMQp8ICNkZWZpbmUg
SEFWRV9FUlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5W
IDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2Rl
ZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhB
VkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX1NFVEVOViAxCnwgI2RlZmluZSBIQVZFX1NOUFJJ
TlRGIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwgI2RlZmluZSBIQVZFX1NUUkRVUCAxCnwg
I2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0VQIDEKfCAjZGVmaW5l
IEhBVkVfU1RSVE9MTCAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVf
VVNMRUVQIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfV0FSTiAxCnwg
I2RlZmluZSBIQVZFX0xJQk5TTCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tMRU5fVCAxCnwgI2RlZmlu
ZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JTjZfQUREUiAx
CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9JTjYgMQp8ICNkZWZpbmUgSEFWRV9TVFJV
Q1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX0dFVE5BTUVJTkZPIDEKfCAjZGVm
aW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNk
ZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFW
RV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX01LRFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NU
RU1QIDEKfCAjZGVmaW5lIEhBVkVfQkNPUFkgMQp8ICNkZWZpbmUgSEFWRV9CWkVSTyAxCnwgI2Rl
ZmluZSBIQVZFX01FTVNFVCAxCnwgI2RlZmluZSBIQVZFX01FTUNQWSAxCnwgI2RlZmluZSBIQVZF
X1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRU5ER1JFTlQgMAp8IC8qIGVuZCBjb25m
ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNf
SAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NU
QVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFE
RVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNl
CnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRp
Zgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hF
QURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+Cnwg
IyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RS
SU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5U
VFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T
VERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5J
U1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7
CnwgI2lmbmRlZiBlbmRwd2VudAp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8ICAgKHZvaWQpIGVuZHB3
ZW50Owp8ICNlbHNlCnwgICAodm9pZCkgZW5kcHdlbnQ7CnwgI2VuZGlmCnwgI2VuZGlmCnwgCnwg
ICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo2NTQyOiByZXN1bHQ6IG5vCmNvbmZpZ3Vy
ZTo2NTYwOiBjaGVja2luZyBmb3IgZ2lkX2Zyb21fZ3JvdXAKY29uZmlndXJlOjY1NjA6IGdjYyAt
byBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jIC1sbnNsICA+JjUKL3RtcC9jY2xlTUV4QS5v
OiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9tZWRpYS9zZGIyL3NyYy9wa2dzcmMvYm9vdHN0cmFwL3dv
cmsvbGlibmJjb21wYXQvY29uZnRlc3QuYzoxNzI6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdp
ZF9mcm9tX2dyb3VwJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1
cmU6NjU2MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk
ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQ
QUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy
MDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIK
fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUg
UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJ
VEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU
UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT
X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg
MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVm
aW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUg
SEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9E
SVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0gg
MQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2Rl
ZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhB
VkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElC
VVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9I
IDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVm
aW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBI
QVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU
VkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ
UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZT
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9I
IDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk
ZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZp
bmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2Rl
ZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZp
bmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEK
fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJH
IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJF
U0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BU
SU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMg
MQp8ICNkZWZpbmUgSEFWRV9fX0FUVFJJQlVURV9fIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9U
IDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUg
MQp8ICNkZWZpbmUgSEFWRV9GU0lEX1QgMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVm
aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFW
RV9ERUNMX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUl9SIDEKfCAjZGVmaW5l
IEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lO
R19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZQ
UklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVD
TF9WQVNQUklOVEYgMAp8ICNkZWZpbmUgSEFWRV9BU1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0VS
UiAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNk
ZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhB
VkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX01LRFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NU
RU1QIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8
ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVfU1RSRFVQIDEKfCAjZGVmaW5l
IEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJTRVAgMQp8ICNkZWZpbmUgSEFWRV9T
VFJUT0xMIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VU0xFRVAg
MQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9XQVJOIDEKfCAjZGVmaW5l
IEhBVkVfTElCTlNMIDEKfCAjZGVmaW5lIEhBVkVfU09DS0xFTl9UIDEKfCAjZGVmaW5lIEhBVkVf
U1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lONl9BRERSIDEKfCAjZGVm
aW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX0lONiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NL
QUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVfR0VUTkFNRUlORk8gMQp8ICNkZWZpbmUgSEFW
RV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBI
QVZFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX1NFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VOU0VU
RU5WIDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVNUCAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8
ICNkZWZpbmUgSEFWRV9CQ09QWSAxCnwgI2RlZmluZSBIQVZFX0JaRVJPIDEKfCAjZGVmaW5lIEhB
VkVfTUVNU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUVNQ1BZIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9D
QUxFIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9FTkRHUkVOVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf
RU5EUFdFTlQgMAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgZ2lkX2Zyb21f
Z3JvdXAgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJl
cyBnaWRfZnJvbV9ncm91cC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4g
ZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGdpZF9mcm9tX2dyb3VwIGlubm9j
dW91c19naWRfZnJvbV9ncm91cAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1
YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNv
bmZsaWN0IHdpdGggY2hhciBnaWRfZnJvbV9ncm91cCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8
bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAg
ICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8K
fCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBp
bmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgZ2lkX2Zyb21fZ3JvdXAKfCAK
fCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv
ci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUg
b2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291
bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAj
ZW5kaWYKfCBjaGFyIGdpZF9mcm9tX2dyb3VwICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRl
ZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3
YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQK
fCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBh
biBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2dpZF9mcm9tX2dyb3VwIHx8IGRlZmlu
ZWQgX19zdHViX19fZ2lkX2Zyb21fZ3JvdXAKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8
IG1haW4gKCkKfCB7CnwgcmV0dXJuIGdpZF9mcm9tX2dyb3VwICgpOwp8ICAgOwp8ICAgcmV0dXJu
IDA7CnwgfQpjb25maWd1cmU6NjU2MDogcmVzdWx0OiBubwpjb25maWd1cmU6NjU2MDogY2hlY2tp
bmcgZm9yIGdyb3VwX2Zyb21fZ2lkCmNvbmZpZ3VyZTo2NTYwOiBnY2MgLW8gY29uZnRlc3QgLWcg
LU8yICAgY29uZnRlc3QuYyAtbG5zbCAgPiY1Ci90bXAvY2NQNHFzekoubzogSW4gZnVuY3Rpb24g
YG1haW4nOgovbWVkaWEvc2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xpYm5iY29tcGF0
L2NvbmZ0ZXN0LmM6MTcyOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBncm91cF9mcm9tX2dpZCcK
Y29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjY1NjA6ICQ/ID0g
MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl
ZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1F
ICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2Rl
ZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNL
QUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi
CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK
fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl
ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5l
IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB
VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJP
T0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0gg
MQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk
ZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhB
VkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1B
VENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAj
ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2Rl
ZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBI
QVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05B
TF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAx
CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2Rl
ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBI
QVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI
QVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5l
IEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBI
QVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJ
TUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9I
IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVV
RV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdF
WF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01Q
QVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZF
X05CQ09NUEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBI
QVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmlu
ZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmlu
ZSBIQVZFX1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhB
VkVfX19BVFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBI
QVZFX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhB
VkVfRlNJRF9UIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBIQVZFX1NURExJ
Ql9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJFUlJP
Ul9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8
ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNk
ZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVm
aW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVkFTUFJJTlRGIDAK
fCAjZGVmaW5lIEhBVkVfQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9FUlIgMQp8ICNkZWZpbmUg
SEFWRV9GTk1BVENIIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSVNC
TEFOSyAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8
ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmlu
ZSBIQVZFX1NFVEVOViAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf
U1RBVFZGUyAxCnwgI2RlZmluZSBIQVZFX1NUUkRVUCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9S
IDEKfCAjZGVmaW5lIEhBVkVfU1RSU0VQIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9MTCAxCnwgI2Rl
ZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVVNMRUVQIDEKfCAjZGVmaW5lIEhB
VkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfV0FSTiAxCnwgI2RlZmluZSBIQVZFX0xJQk5TTCAx
CnwgI2RlZmluZSBIQVZFX1NPQ0tMRU5fVCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5G
TyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JTjZfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVD
VF9TT0NLQUREUl9JTjYgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAx
CnwgI2RlZmluZSBIQVZFX0dFVE5BTUVJTkZPIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9S
IDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8
ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmlu
ZSBIQVZFX01LRFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVf
QkNPUFkgMQp8ICNkZWZpbmUgSEFWRV9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX01FTVNFVCAxCnwg
I2RlZmluZSBIQVZFX01FTUNQWSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmlu
ZSBIQVZFX0RFQ0xfRU5ER1JFTlQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0VORFBXRU5UIDAKfCAv
KiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGdyb3VwX2Zyb21fZ2lkIHRvIGFuIGlu
bm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ3JvdXBfZnJvbV9n
aWQuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRp
bWVvZmRheS4gICovCnwgI2RlZmluZSBncm91cF9mcm9tX2dpZCBpbm5vY3VvdXNfZ3JvdXBfZnJv
bV9naWQKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBo
b3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNo
YXIgZ3JvdXBfZnJvbV9naWQgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8
YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4g
ZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9f
U1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0
Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGdyb3VwX2Zyb21fZ2lkCnwgCnwgLyogT3ZlcnJpZGUg
YW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNo
YXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAg
YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5
LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBn
cm91cF9mcm9tX2dpZCAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9y
IGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGgg
RU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGlu
ZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8
ICNpZiBkZWZpbmVkIF9fc3R1Yl9ncm91cF9mcm9tX2dpZCB8fCBkZWZpbmVkIF9fc3R1Yl9fX2dy
b3VwX2Zyb21fZ2lkCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8
IHJldHVybiBncm91cF9mcm9tX2dpZCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln
dXJlOjY1NjA6IHJlc3VsdDogbm8KY29uZmlndXJlOjY1NjA6IGNoZWNraW5nIGZvciBwd2NhY2hl
X2dyb3VwZGIKY29uZmlndXJlOjY1NjA6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVz
dC5jIC1sbnNsICA+JjUKL3RtcC9jYzh6aTd6WC5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9tZWRp
YS9zZGIyL3NyYy9wa2dzcmMvYm9vdHN0cmFwL3dvcmsvbGlibmJjb21wYXQvY29uZnRlc3QuYzox
NzI6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHB3Y2FjaGVfZ3JvdXBkYicKY29sbGVjdDI6IGxk
IHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjY1NjA6ICQ/ID0gMQpjb25maWd1cmU6
IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdF
X05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBh
dCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdF
X1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S
VCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBT
VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB
VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F
TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ
RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg
MQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2Rl
ZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUg
SEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9F
TkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAx
CnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNk
ZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVf
SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJ
TUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0gg
MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVm
aW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBI
QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NU
RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RF
RlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxF
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL
RVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB
VEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJ
VFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAx
CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5l
IEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVm
aW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVm
aW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEK
fCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NI
QTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BU
SU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dFVE9Q
VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJU19I
IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRSSUJV
VEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9O
RyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEK
fCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm
aW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJFUlJPUl9SIDEKfCAjZGVm
aW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFW
RV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9X
T1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVD
TF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5lIEhB
VkVfQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9FUlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENI
IDEKfCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2Rl
ZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFW
RV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX1NFVEVO
ViAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwg
I2RlZmluZSBIQVZFX1NUUkRVUCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5l
IEhBVkVfU1RSU0VQIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9MTCAxCnwgI2RlZmluZSBIQVZFX1VO
U0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVVNMRUVQIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEK
fCAjZGVmaW5lIEhBVkVfV0FSTiAxCnwgI2RlZmluZSBIQVZFX0xJQk5TTCAxCnwgI2RlZmluZSBI
QVZFX1NPQ0tMRU5fVCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmlu
ZSBIQVZFX1NUUlVDVF9JTjZfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9J
TjYgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBI
QVZFX0dFVE5BTUVJTkZPIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5l
IEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFW
RV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX01LRFRF
TVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfQkNPUFkgMQp8ICNk
ZWZpbmUgSEFWRV9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX01FTVNFVCAxCnwgI2RlZmluZSBIQVZF
X01FTUNQWSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf
RU5ER1JFTlQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0VORFBXRU5UIDAKfCAvKiBlbmQgY29uZmRl
ZnMuaC4gICovCnwgLyogRGVmaW5lIHB3Y2FjaGVfZ3JvdXBkYiB0byBhbiBpbm5vY3VvdXMgdmFy
aWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHB3Y2FjaGVfZ3JvdXBkYi4KfCAgICBG
b3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAg
Ki8KfCAjZGVmaW5lIHB3Y2FjaGVfZ3JvdXBkYiBpbm5vY3VvdXNfcHdjYWNoZV9ncm91cGRiCnwg
CnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5
IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHB3Y2Fj
aGVfZ3JvdXBkYiAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQu
aD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMg
ZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18K
fCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAj
ZW5kaWYKfCAKfCAjdW5kZWYgcHdjYWNoZV9ncm91cGRiCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdD
QyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVj
YXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRp
biBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8K
fCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBwd2NhY2hl
X2dyb3VwZGIgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5j
dGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZ
Uy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3Rh
cnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYg
ZGVmaW5lZCBfX3N0dWJfcHdjYWNoZV9ncm91cGRiIHx8IGRlZmluZWQgX19zdHViX19fcHdjYWNo
ZV9ncm91cGRiCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJl
dHVybiBwd2NhY2hlX2dyb3VwZGIgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3Vy
ZTo2NTYwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NTYwOiBjaGVja2luZyBmb3IgcHdjYWNoZV91
c2VyZGIKY29uZmlndXJlOjY1NjA6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5j
IC1sbnNsICA+JjUKL3RtcC9jY3BjZ0lkOS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9tZWRpYS9z
ZGIyL3NyYy9wa2dzcmMvYm9vdHN0cmFwL3dvcmsvbGlibmJjb21wYXQvY29uZnRlc3QuYzoxNzI6
IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHB3Y2FjaGVfdXNlcmRiJwpjb2xsZWN0MjogbGQgcmV0
dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6NjU2MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFp
bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN
RSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0Igp8
ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS
SU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJn
cmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNURENf
SEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9T
WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I
IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg
I2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5l
IEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBIQVZF
X0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VORElB
Tl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEKfCAj
ZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2RlZmlu
ZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU
WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRT
X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAxCnwg
I2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhBVkVf
U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFURlNf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN
RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlP
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19I
IDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEKfCAj
ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUgSEFW
RV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZpbmUg
SEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZpbmUg
SEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8ICNk
ZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMiAx
CnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJTkQg
MQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0ggMQp8
ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUgSEFWRV9fX0FUVFJJQlVURV9f
IDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HIDEK
fCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFWRV9GU0lEX1QgMQp8ICNk
ZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg
SEFWRV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUg
SEFWRV9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZG
T1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJ
TkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NO
UFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9WQVNQUklOVEYgMAp8ICNkZWZpbmUgSEFWRV9B
U1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0VSUiAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0ggMQp8
ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5l
IEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZFX01L
RFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEK
fCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAjZGVm
aW5lIEhBVkVfU1RSRFVQIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFW
RV9TVFJTRVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0xMIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRF
TlYgMQp8ICNkZWZpbmUgSEFWRV9VU0xFRVAgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8ICNk
ZWZpbmUgSEFWRV9XQVJOIDEKfCAjZGVmaW5lIEhBVkVfTElCTlNMIDEKfCAjZGVmaW5lIEhBVkVf
U09DS0xFTl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5lIEhB
VkVfU1RSVUNUX0lONl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX0lONiAx
CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhBVkVf
R0VUTkFNRUlORk8gMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFW
RV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX1NF
VEVOViAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVNUCAx
CnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9CQ09QWSAxCnwgI2RlZmlu
ZSBIQVZFX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDEKfCAjZGVmaW5lIEhBVkVfTUVN
Q1BZIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9FTkRH
UkVOVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRU5EUFdFTlQgMAp8IC8qIGVuZCBjb25mZGVmcy5o
LiAgKi8KfCAvKiBEZWZpbmUgcHdjYWNoZV91c2VyZGIgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQs
IGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBwd2NhY2hlX3VzZXJkYi4KfCAgICBGb3IgZXhh
bXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAj
ZGVmaW5lIHB3Y2FjaGVfdXNlcmRiIGlubm9jdW91c19wd2NhY2hlX3VzZXJkYgp8IAp8IC8qIFN5
c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJv
dG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBwd2NhY2hlX3VzZXJk
YiAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19T
VERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBm
cmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1
ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAK
fCAjdW5kZWYgcHdjYWNoZV91c2VyZGIKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFs
IHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBt
aWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVu
IGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBf
X2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHB3Y2FjaGVfdXNlcmRiICgp
Owp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNo
IGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1
bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGgg
X18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19z
dHViX3B3Y2FjaGVfdXNlcmRiIHx8IGRlZmluZWQgX19zdHViX19fcHdjYWNoZV91c2VyZGIKfCBj
aG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHB3Y2FjaGVf
dXNlcmRiICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6NjU2MDogcmVzdWx0
OiBubwpjb25maWd1cmU6NjU2MDogY2hlY2tpbmcgZm9yIHVpZF9mcm9tX3VzZXIKY29uZmlndXJl
OjY1NjA6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jIC1sbnNsICA+JjUKL3Rt
cC9jY2U2Wm1ibC5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci9tZWRpYS9zZGIyL3NyYy9wa2dzcmMv
Ym9vdHN0cmFwL3dvcmsvbGlibmJjb21wYXQvY29uZnRlc3QuYzoxNzI6IHVuZGVmaW5lZCByZWZl
cmVuY2UgdG8gYHVpZF9mcm9tX3VzZXInCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3Rh
dHVzCmNvbmZpZ3VyZTo2NTYwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6
CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIK
fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdF
X1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0
IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmci
CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm
aW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI
QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW
RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JP
T0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAx
CnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2Rl
ZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUg
SEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05U
TF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8
ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp
bmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBI
QVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdE
X0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEK
fCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI
QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFW
RV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFW
RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBI
QVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFW
RV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT
VERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRf
SCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0Ig
MQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FV
RVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01E
NSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09N
UEFUX1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVf
REVDTF9PUFRBUkcgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZF
X0RFQ0xfT1BUUkVTRVQgMAp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZF
X1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05C
Q09NUEFUX1ZJUyAxCnwgI2RlZmluZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFW
RV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9M
T05HX0RPVUJMRSAxCnwgI2RlZmluZSBIQVZFX0ZTSURfVCAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZG
X1QgNAp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQyAxCnwg
I2RlZmluZSBIQVZFX0RFQ0xfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SX1Ig
MQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUg
SEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVm
aW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNkZWZp
bmUgSEFWRV9ERUNMX1ZBU1BSSU5URiAwCnwgI2RlZmluZSBIQVZFX0FTUFJJTlRGIDEKfCAjZGVm
aW5lIEhBVkVfRVJSIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSCAxCnwgI2RlZmluZSBIQVZFX0dF
VEVOViAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04gMQp8
ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVNUCAxCnwgI2RlZmlu
ZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9T
TlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVFJEVVAg
MQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUlNFUCAxCnwgI2Rl
ZmluZSBIQVZFX1NUUlRPTEwgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBI
QVZFX1VTTEVFUCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1dBUk4g
MQp8ICNkZWZpbmUgSEFWRV9MSUJOU0wgMQp8ICNkZWZpbmUgSEFWRV9TT0NLTEVOX1QgMQp8ICNk
ZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSU42X0FE
RFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfSU42IDEKfCAjZGVmaW5lIEhBVkVf
U1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVROQU1FSU5GTyAxCnwg
I2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEK
fCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5l
IEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVf
TUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0JDT1BZIDEKfCAjZGVmaW5lIEhBVkVfQlpFUk8gMQp8
ICNkZWZpbmUgSEFWRV9NRU1TRVQgMQp8ICNkZWZpbmUgSEFWRV9NRU1DUFkgMQp8ICNkZWZpbmUg
SEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0VOREdSRU5UIDAKfCAjZGVmaW5l
IEhBVkVfREVDTF9FTkRQV0VOVCAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmlu
ZSB1aWRfZnJvbV91c2VyIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMu
aD4gZGVjbGFyZXMgdWlkX2Zyb21fdXNlci4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxs
aW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHVpZF9mcm9tX3Vz
ZXIgaW5ub2N1b3VzX3VpZF9mcm9tX3VzZXIKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmlu
ZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNo
IGNhbiBjb25mbGljdCB3aXRoIGNoYXIgdWlkX2Zyb21fdXNlciAoKTsgYmVsb3cuCnwgICAgIFBy
ZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2lu
Y2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJz
LiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNl
CnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgdWlkX2Zyb21fdXNl
cgp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFu
IGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4g
dHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlw
ZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJD
Igp8ICNlbmRpZgp8IGNoYXIgdWlkX2Zyb21fdXNlciAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFy
eSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRv
IGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5h
bWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUg
aXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl91aWRfZnJvbV91c2VyIHx8IGRl
ZmluZWQgX19zdHViX19fdWlkX2Zyb21fdXNlcgp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50
CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gdWlkX2Zyb21fdXNlciAoKTsKfCAgIDsKfCAgIHJldHVy
biAwOwp8IH0KY29uZmlndXJlOjY1NjA6IHJlc3VsdDogbm8KY29uZmlndXJlOjY1NjA6IGNoZWNr
aW5nIGZvciB1c2VyX2Zyb21fdWlkCmNvbmZpZ3VyZTo2NTYwOiBnY2MgLW8gY29uZnRlc3QgLWcg
LU8yICAgY29uZnRlc3QuYyAtbG5zbCAgPiY1Ci90bXAvY2NRTENnd3UubzogSW4gZnVuY3Rpb24g
YG1haW4nOgovbWVkaWEvc2RiMi9zcmMvcGtnc3JjL2Jvb3RzdHJhcC93b3JrL2xpYm5iY29tcGF0
L2NvbmZ0ZXN0LmM6MTcyOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB1c2VyX2Zyb21fdWlkJwpj
b2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6NjU2MDogJD8gPSAx
CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm
aW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg
ImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVm
aW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tB
R0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK
fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8
ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm
aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg
SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW
RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9P
TF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAx
CnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl
ZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFW
RV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFU
Q0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNk
ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVm
aW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhB
VkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFM
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEK
fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVm
aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI
QVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI
QVZFX1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhB
VkVfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElN
RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0gg
MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVF
X0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VY
X0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBB
VF9STUQxNjAgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVf
TkJDT01QQVRfU0hBMiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhB
VkVfREVDTF9PUFRJTkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5l
IEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5l
IEhBVkVfVklTX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUgSEFW
RV9fX0FUVFJJQlVURV9fIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhB
VkVfTE9OR19MT05HIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFW
RV9GU0lEX1QgMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIEhBVkVfU1RETElC
X0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkVSUk9S
X1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwg
I2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2Rl
ZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZp
bmUgSEFWRV9ERUNMX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9WQVNQUklOVEYgMAp8
ICNkZWZpbmUgSEFWRV9BU1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0VSUiAxCnwgI2RlZmluZSBI
QVZFX0ZOTUFUQ0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JU0JM
QU5LIDEKfCAjZGVmaW5lIEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwg
I2RlZmluZSBIQVZFX01LRFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5l
IEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9T
VEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVfU1RSRFVQIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1Ig
MQp8ICNkZWZpbmUgSEFWRV9TVFJTRVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0xMIDEKfCAjZGVm
aW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VU0xFRVAgMQp8ICNkZWZpbmUgSEFW
RV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9XQVJOIDEKfCAjZGVmaW5lIEhBVkVfTElCTlNMIDEK
fCAjZGVmaW5lIEhBVkVfU09DS0xFTl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZP
IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lONl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU
X1NPQ0tBRERSX0lONiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEK
fCAjZGVmaW5lIEhBVkVfR0VUTkFNRUlORk8gMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1Ig
MQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwg
I2RlZmluZSBIQVZFX1NFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5l
IEhBVkVfTUtEVEVNUCAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9C
Q09QWSAxCnwgI2RlZmluZSBIQVZFX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDEKfCAj
ZGVmaW5lIEhBVkVfTUVNQ1BZIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l
IEhBVkVfREVDTF9FTkRHUkVOVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRU5EUFdFTlQgMAp8IC8q
IGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgdXNlcl9mcm9tX3VpZCB0byBhbiBpbm5v
Y3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHVzZXJfZnJvbV91aWQu
CnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVv
ZmRheS4gICovCnwgI2RlZmluZSB1c2VyX2Zyb21fdWlkIGlubm9jdW91c191c2VyX2Zyb21fdWlk
CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1
bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHVz
ZXJfZnJvbV91aWQgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0
Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3Rz
IGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19f
CnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+Cnwg
I2VuZGlmCnwgCnwgI3VuZGVmIHVzZXJfZnJvbV91aWQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0ND
IGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNh
dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGlu
IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8
ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHVzZXJfZnJv
bV91aWQgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlv
bnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4g
IFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRp
bmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVm
aW5lZCBfX3N0dWJfdXNlcl9mcm9tX3VpZCB8fCBkZWZpbmVkIF9fc3R1Yl9fX3VzZXJfZnJvbV91
aWQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHVz
ZXJfZnJvbV91aWQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo2NTYwOiBy
ZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NTgxOiBjaGVja2luZyBmb3IgZnRzX29wZW4KY29uZmlndXJl
OjY1ODE6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jIC1sbnNsICA+JjUKY29u
ZmlndXJlOjY1ODE6ICQ/ID0gMApjb25maWd1cmU6NjU4MTogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjY1OTk6IGNoZWNraW5nIGZvciB0aW1lZ20KY29uZmlndXJlOjY1OTk6IGdjYyAtbyBjb25mdGVz
dCAtZyAtTzIgICBjb25mdGVzdC5jIC1sbnNsICA+JjUKY29uZmlndXJlOjY1OTk6ICQ/ID0gMApj
b25maWd1cmU6NjU5OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY2MjA6IGNoZWNraW5nIHBvbGwu
aCB1c2FiaWxpdHkKY29uZmlndXJlOjY2MjA6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1
CmNvbmZpZ3VyZTo2NjIwOiAkPyA9IDAKY29uZmlndXJlOjY2MjA6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZTo2NjIwOiBjaGVja2luZyBwb2xsLmggcHJlc2VuY2UKY29uZmlndXJlOjY2MjA6IGdjYyAt
RSAgY29uZnRlc3QuYwpjb25maWd1cmU6NjYyMDogJD8gPSAwCmNvbmZpZ3VyZTo2NjIwOiByZXN1
bHQ6IHllcwpjb25maWd1cmU6NjYyMDogY2hlY2tpbmcgZm9yIHBvbGwuaApjb25maWd1cmU6NjYy
MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY2MjA6IGNoZWNraW5nIHN5cy9wb2xsLmggdXNhYmls
aXR5CmNvbmZpZ3VyZTo2NjIwOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1
cmU6NjYyMDogJD8gPSAwCmNvbmZpZ3VyZTo2NjIwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjYy
MDogY2hlY2tpbmcgc3lzL3BvbGwuaCBwcmVzZW5jZQpjb25maWd1cmU6NjYyMDogZ2NjIC1FICBj
b25mdGVzdC5jCmNvbmZpZ3VyZTo2NjIwOiAkPyA9IDAKY29uZmlndXJlOjY2MjA6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZTo2NjIwOiBjaGVja2luZyBmb3Igc3lzL3BvbGwuaApjb25maWd1cmU6NjYy
MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY2MzM6IGNoZWNraW5nIGZvciBwb2xsLmgKY29uZmln
dXJlOjY2MzM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NjMzOiBjaGVja2luZyBmb3Igc3lzL3Bv
bGwuaApjb25maWd1cmU6NjYzMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY2NTA6IGNoZWNraW5n
IGZvciBwb2xsCmNvbmZpZ3VyZTo2NjUwOiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRl
c3QuYyAtbG5zbCAgPiY1CmNvbmZpZ3VyZTo2NjUwOiAkPyA9IDAKY29uZmlndXJlOjY2NTA6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZTo2NjU0OiBjaGVja2luZyBpZiBwb2xsKCkgaXMgaW1wbGVtZW50
ZWQgbmF0aXZlbHkKY29uZmlndXJlOjY2ODA6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1
CmNvbmZpZ3VyZTo2NjgwOiAkPyA9IDAKY29uZmlndXJlOjY2ODg6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZTo2NzE3OiBjaGVja2luZyBmb3IgZ2V0cGFzc3BocmFzZQpjb25maWd1cmU6NjcxNzogZ2Nj
IC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgLWxuc2wgID4mNQovdG1wL2NjcGdTd1NJ
Lm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL21lZGlhL3NkYjIvc3JjL3BrZ3NyYy9ib290c3RyYXAv
d29yay9saWJuYmNvbXBhdC9jb25mdGVzdC5jOjE3NjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBg
Z2V0cGFzc3BocmFzZScKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmln
dXJlOjY3MTc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m
ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUg
UEFDS0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi
MjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUi
CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5l
IFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9X
SVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW
RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I
IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2Rl
ZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5l
IEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZpbmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVf
RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9I
IDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9fSCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNk
ZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBI
QVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJ
QlVUSUxfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJf
SCAxCnwgI2RlZmluZSBIQVZFX1BBVEhTX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NJR05BTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVERERUZfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf
U1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19GSUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1f
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB
VFZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U
WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZG
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBf
SCAxCnwgI2RlZmluZSBIQVZFX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj
ZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVm
aW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNk
ZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVm
aW5lIEhBVkVfTkJDT01QQVRfUk1EMTYwIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAx
CnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFS
RyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRS
RVNFVCAwCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09Q
VElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJU19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklT
IDEKfCAjZGVmaW5lIEhBVkVfX19BVFRSSUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJf
VCAxCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxF
IDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9UIDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2Rl
ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5lIEhB
VkVfREVDTF9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgI2RlZmlu
ZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJ
TkdfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9W
UFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RF
Q0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5lIEhBVkVfQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9F
UlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAj
ZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBI
QVZFX0xVVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtT
VEVNUCAxCnwgI2RlZmluZSBIQVZFX1NFVEVOViAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEK
fCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAxCnwgI2RlZmluZSBIQVZFX1NUUkRVUCAxCnwgI2RlZmlu
ZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0VQIDEKfCAjZGVmaW5lIEhBVkVf
U1RSVE9MTCAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVVNMRUVQ
IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfV0FSTiAxCnwgI2RlZmlu
ZSBIQVZFX0xJQk5TTCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tMRU5fVCAxCnwgI2RlZmluZSBIQVZF
X1NUUlVDVF9BRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JTjZfQUREUiAxCnwgI2Rl
ZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9JTjYgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09D
S0FERFJfU1RPUkFHRSAxCnwgI2RlZmluZSBIQVZFX0dFVE5BTUVJTkZPIDEKfCAjZGVmaW5lIEhB
VkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUg
SEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VTlNF
VEVOViAxCnwgI2RlZmluZSBIQVZFX01LRFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEK
fCAjZGVmaW5lIEhBVkVfQkNPUFkgMQp8ICNkZWZpbmUgSEFWRV9CWkVSTyAxCnwgI2RlZmluZSBI
QVZFX01FTVNFVCAxCnwgI2RlZmluZSBIQVZFX01FTUNQWSAxCnwgI2RlZmluZSBIQVZFX1NFVExP
Q0FMRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRU5ER1JFTlQgMAp8ICNkZWZpbmUgSEFWRV9ERUNM
X0VORFBXRU5UIDAKfCAjZGVmaW5lIEhBVkVfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BP
TExfSCAxCnwgI2RlZmluZSBIQVZFX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0gg
MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgZ2V0cGFzc3BocmFzZSB0byBh
biBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHBhc3Nw
aHJhc2UuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdl
dHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBnZXRwYXNzcGhyYXNlIGlubm9jdW91c19nZXRwYXNz
cGhyYXNlCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQg
aG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBj
aGFyIGdldHBhc3NwaHJhc2UgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8
YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4g
ZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9f
U1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0
Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGdldHBhc3NwaHJhc2UKfCAKfCAvKiBPdmVycmlkZSBh
bnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hh
ciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBi
dWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHku
ICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGdl
dHBhc3NwaHJhc2UgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBm
dW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVO
T1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcg
c3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAj
aWYgZGVmaW5lZCBfX3N0dWJfZ2V0cGFzc3BocmFzZSB8fCBkZWZpbmVkIF9fc3R1Yl9fX2dldHBh
c3NwaHJhc2UKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0
dXJuIGdldHBhc3NwaHJhc2UgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo2
NzE3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NzE3OiBjaGVja2luZyBmb3IgZ2V0cGdycApjb25m
aWd1cmU6NjcxNzogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgLWxuc2wgID4m
NQpjb25maWd1cmU6NjcxNzogJD8gPSAwCmNvbmZpZ3VyZTo2NzE3OiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6NjcxNzogY2hlY2tpbmcgZm9yIG1lbW1vdmUKY29uZmlndXJlOjY3MTc6IGdjYyAtbyBj
b25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5jIC1sbnNsICA+JjUKY29uZnRlc3QuYzoxNjY6Njog
d2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdtZW1tb3Zl
JyBbZW5hYmxlZCBieSBkZWZhdWx0XQpjb25maWd1cmU6NjcxNzogJD8gPSAwCmNvbmZpZ3VyZTo2
NzE3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjcxNzogY2hlY2tpbmcgZm9yIHNlbGVjdApjb25m
aWd1cmU6NjcxNzogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAgIGNvbmZ0ZXN0LmMgLWxuc2wgID4m
NQpjb25maWd1cmU6NjcxNzogJD8gPSAwCmNvbmZpZ3VyZTo2NzE3OiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6NjcyNzogY2hlY2tpbmcgZm9yIGdldHBncnAKY29uZmlndXJlOjY3Mjc6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZTo2NzI5OiBjaGVja2luZyB3aGV0aGVyIGdldHBncnAgcmVxdWlyZXMgemVy
byBhcmd1bWVudHMKY29uZmlndXJlOjY3NDY6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1
CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxODE6MTogZXJyb3I6
IHRvbyBtYW55IGFyZ3VtZW50cyB0byBmdW5jdGlvbiAnZ2V0cGdycCcKL3Vzci9pbmNsdWRlL3Vu
aXN0ZC5oOjYzMzoxNjogbm90ZTogZGVjbGFyZWQgaGVyZQpjb25maWd1cmU6Njc0NjogJD8gPSAx
CmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm
aW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg
ImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVm
aW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tB
R0VfQlVHUkVQT1JUICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIK
fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8
ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm
aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg
SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW
RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9P
TF9IIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAx
CnwgI2RlZmluZSBIQVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl
ZmluZSBIQVZFX0VORElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFW
RV9FUlJOT19IIDEKfCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFU
Q0hfSCAxCnwgI2RlZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNk
ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVm
aW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhB
VkVfUEFUSFNfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFM
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEK
fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVm
aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI
QVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX0ZJTEVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBI
QVZFX1NZU19TVEFURlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhB
VkVfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElN
RV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0gg
MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVF
X0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VY
X0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBB
VF9STUQxNjAgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVf
TkJDT01QQVRfU0hBMiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhB
VkVfREVDTF9PUFRJTkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5l
IEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5l
IEhBVkVfVklTX0ggMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUgSEFW
RV9fX0FUVFJJQlVURV9fIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhB
VkVfTE9OR19MT05HIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFW
RV9GU0lEX1QgMQp8ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIEhBVkVfU1RETElC
X0ggMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkVSUk9S
X1IgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwg
I2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2Rl
ZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZp
bmUgSEFWRV9ERUNMX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9WQVNQUklOVEYgMAp8
ICNkZWZpbmUgSEFWRV9BU1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0VSUiAxCnwgI2RlZmluZSBI
QVZFX0ZOTUFUQ0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JU0JM
QU5LIDEKfCAjZGVmaW5lIEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwg
I2RlZmluZSBIQVZFX01LRFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5l
IEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9T
VEFUVkZTIDEKfCAjZGVmaW5lIEhBVkVfU1RSRFVQIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1Ig
MQp8ICNkZWZpbmUgSEFWRV9TVFJTRVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0xMIDEKfCAjZGVm
aW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VU0xFRVAgMQp8ICNkZWZpbmUgSEFW
RV9VVElNRVMgMQp8ICNkZWZpbmUgSEFWRV9XQVJOIDEKfCAjZGVmaW5lIEhBVkVfTElCTlNMIDEK
fCAjZGVmaW5lIEhBVkVfU09DS0xFTl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZP
IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lONl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU
X1NPQ0tBRERSX0lONiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEK
fCAjZGVmaW5lIEhBVkVfR0VUTkFNRUlORk8gMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1Ig
MQp8ICNkZWZpbmUgSEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwg
I2RlZmluZSBIQVZFX1NFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5l
IEhBVkVfTUtEVEVNUCAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9C
Q09QWSAxCnwgI2RlZmluZSBIQVZFX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDEKfCAj
ZGVmaW5lIEhBVkVfTUVNQ1BZIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l
IEhBVkVfREVDTF9FTkRHUkVOVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRU5EUFdFTlQgMAp8ICNk
ZWZpbmUgSEFWRV9QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5l
IEhBVkVfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZF
X0dFVFBHUlAgMQp8ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNU
IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVm
IEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNp
ZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwg
I2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxz
dGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0
ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYg
IWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1
ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8
ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8
ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlm
CnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8
ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBp
bnQKfCBtYWluICgpCnwgewp8IGdldHBncnAgKDApOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj
b25maWd1cmU6Njc1NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY3NjU6IGNoZWNraW5nIGZvciBz
dHJ1Y3Qgc3RhdGZzLmZfZmxhZ3MKY29uZmlndXJlOjY3NjU6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0
ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2NzY1OiAkPyA9IDAKY29uZmlndXJlOjY3NjU6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZTo2Nzc4OiBjaGVja2luZyBmb3Igc3RydWN0IHN0YXRmcy5mX2ZzaXplCmNv
bmZpZ3VyZTo2Nzc4OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJ
biBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTUzOjEyOiBlcnJvcjogJ3N0cnVjdCBzdGF0
ZnMnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2ZfZnNpemUnCmNvbmZpZ3VyZTo2Nzc4OiAkPyA9IDEK
Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp
bmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi
bGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZp
bmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FH
RV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8
ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg
I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg
I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp
bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI
QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF
X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09M
X0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEK
fCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm
aW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZF
X0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRD
SF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2Rl
ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZp
bmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFW
RV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxf
SCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFW
RV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW
RV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBI
QVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFW
RV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1F
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAx
CnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVf
SCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhf
SCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
X1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9O
QkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNkZWZpbmUgSEFW
RV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8ICNkZWZpbmUg
SEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUg
SEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2RlZmluZSBIQVZF
X19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFW
RV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2RlZmluZSBIQVZF
X0ZTSURfVCAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgSEFWRV9TVERMSUJf
SCAxCnwgI2RlZmluZSBIQVZFX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSRVJST1Jf
UiAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAj
ZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVm
aW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmlu
ZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZBU1BSSU5URiAwCnwg
I2RlZmluZSBIQVZFX0FTUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfRVJSIDEKfCAjZGVmaW5lIEhB
VkVfRk5NQVRDSCAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX0lTQkxB
TksgMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAj
ZGVmaW5lIEhBVkVfTUtEVEVNUCAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUg
SEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NU
QVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVFJEVVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAx
CnwgI2RlZmluZSBIQVZFX1NUUlNFUCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPTEwgMQp8ICNkZWZp
bmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VTTEVFUCAxCnwgI2RlZmluZSBIQVZF
X1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1dBUk4gMQp8ICNkZWZpbmUgSEFWRV9MSUJOU0wgMQp8
ICNkZWZpbmUgSEFWRV9TT0NLTEVOX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8g
MQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSU42X0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf
U09DS0FERFJfSU42IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8
ICNkZWZpbmUgSEFWRV9HRVROQU1FSU5GTyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAx
CnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAj
ZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUg
SEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0JD
T1BZIDEKfCAjZGVmaW5lIEhBVkVfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQgMQp8ICNk
ZWZpbmUgSEFWRV9NRU1DUFkgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUg
SEFWRV9ERUNMX0VOREdSRU5UIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9FTkRQV0VOVCAwCnwgI2Rl
ZmluZSBIQVZFX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUg
SEFWRV9QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVf
R0VUUEdSUCAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1Qg
MQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRGU19G
X0ZMQUdTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgICNpbmNsdWRlIDxzeXMvc3RhdGZz
Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXRmcyBhY19hZ2dy
Owp8IGlmIChhY19hZ2dyLmZfZnNpemUpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsK
fCB9CmNvbmZpZ3VyZTo2Nzc4OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVz
dC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTUzOjE5OiBlcnJvcjogJ3N0cnVj
dCBzdGF0ZnMnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2ZfZnNpemUnCmNvbmZpZ3VyZTo2Nzc4OiAk
PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8
ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS
TkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8
ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUg
UEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VS
TCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElN
RSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf
SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8
ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl
ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu
ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9T
VERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VS
VF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK
fCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmlu
ZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVf
Rk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAx
CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8
ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZp
bmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9T
SUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVG
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZp
bmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF
X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dM
T0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNf
UVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVf
UkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZFX05C
Q09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZpbmUg
SEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNkZWZp
bmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8ICNk
ZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNk
ZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2RlZmlu
ZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZp
bmUgSEFWRV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2RlZmlu
ZSBIQVZFX0ZTSURfVCAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgSEFWRV9T
VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS
RVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9GT1JL
IDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEK
fCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwg
I2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZBU1BSSU5U
RiAwCnwgI2RlZmluZSBIQVZFX0FTUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfRVJSIDEKfCAjZGVm
aW5lIEhBVkVfRk5NQVRDSCAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZF
X0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVT
IDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVNUCAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNk
ZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBI
QVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVFJEVVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJF
UlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUlNFUCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPTEwgMQp8
ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VTTEVFUCAxCnwgI2RlZmlu
ZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1dBUk4gMQp8ICNkZWZpbmUgSEFWRV9MSUJO
U0wgMQp8ICNkZWZpbmUgSEFWRV9TT0NLTEVOX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQURE
UklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSU42X0FERFIgMQp8ICNkZWZpbmUgSEFWRV9T
VFJVQ1RfU09DS0FERFJfSU42IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JB
R0UgMQp8ICNkZWZpbmUgSEFWRV9HRVROQU1FSU5GTyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJF
UlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5W
IDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNk
ZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBI
QVZFX0JDT1BZIDEKfCAjZGVmaW5lIEhBVkVfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQg
MQp8ICNkZWZpbmUgSEFWRV9NRU1DUFkgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNk
ZWZpbmUgSEFWRV9ERUNMX0VOREdSRU5UIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9FTkRQV0VOVCAw
CnwgI2RlZmluZSBIQVZFX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNk
ZWZpbmUgSEFWRV9QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5l
IEhBVkVfR0VUUEdSUCAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9T
RUxFQ1QgMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NU
QVRGU19GX0ZMQUdTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgICNpbmNsdWRlIDxzeXMv
c3RhdGZzLmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXRmcyBh
Y19hZ2dyOwp8IGlmIChzaXplb2YgYWNfYWdnci5mX2ZzaXplKQp8IHJldHVybiAwOwp8ICAgOwp8
ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6Njc3ODogcmVzdWx0OiBubwpjb25maWd1cmU6Njc5
MTogY2hlY2tpbmcgZm9yIHN0cnVjdCBzdGF0ZnMuZl9pb3NpemUKY29uZmlndXJlOjY3OTE6IGdj
YyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWlu
JzoKY29uZnRlc3QuYzoxNTM6MTI6IGVycm9yOiAnc3RydWN0IHN0YXRmcycgaGFzIG5vIG1lbWJl
ciBuYW1lZCAnZl9pb3NpemUnCmNvbmZpZ3VyZTo2NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWls
ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F
ICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwg
I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ
TkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdy
YW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19I
RUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZ
U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU
RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf
SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj
ZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUg
SEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVf
Q1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFO
X0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNk
ZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5l
IEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZ
UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNf
SCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAj
ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBI
QVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf
SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0gg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0gg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9f
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0gg
MQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNk
ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZF
X05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBI
QVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgI2RlZmluZSBI
QVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2MCAxCnwgI2Rl
ZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEK
fCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVElORCAx
CnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAx
CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwg
I2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2RlZmluZSBIQVZFX19fQVRUUklCVVRFX18g
MQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkcgMQp8
ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2RlZmluZSBIQVZFX0ZTSURfVCAxCnwgI2Rl
ZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI
QVZFX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBI
QVZFX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZP
UksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lO
R19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU05Q
UklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZBU1BSSU5URiAwCnwgI2RlZmluZSBIQVZFX0FT
UFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfRVJSIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSCAxCnwg
I2RlZmluZSBIQVZFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUg
SEFWRV9MQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTUtE
VEVNUCAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8
ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZp
bmUgSEFWRV9TVFJEVVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZF
X1NUUlNFUCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPTEwgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVO
ViAxCnwgI2RlZmluZSBIQVZFX1VTTEVFUCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2Rl
ZmluZSBIQVZFX1dBUk4gMQp8ICNkZWZpbmUgSEFWRV9MSUJOU0wgMQp8ICNkZWZpbmUgSEFWRV9T
T0NLTEVOX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFW
RV9TVFJVQ1RfSU42X0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfSU42IDEK
fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9H
RVROQU1FSU5GTyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZF
X0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfU0VU
RU5WIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEK
fCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0JDT1BZIDEKfCAjZGVmaW5l
IEhBVkVfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQgMQp8ICNkZWZpbmUgSEFWRV9NRU1D
UFkgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0VOREdS
RU5UIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9FTkRQV0VOVCAwCnwgI2RlZmluZSBIQVZFX1BPTExf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9QT0xMX0ggMQp8
ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEdSUCAxCnwgI2Rl
ZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgR0VU
UEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRGU19GX0ZMQUdTIDEKfCAvKiBl
bmQgY29uZmRlZnMuaC4gICovCnwgICNpbmNsdWRlIDxzeXMvc3RhdGZzLmg+CnwgCnwgaW50Cnwg
bWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXRmcyBhY19hZ2dyOwp8IGlmIChhY19hZ2dy
LmZfaW9zaXplKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6
Njc5MTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rp
b24gJ21haW4nOgpjb25mdGVzdC5jOjE1MzoxOTogZXJyb3I6ICdzdHJ1Y3Qgc3RhdGZzJyBoYXMg
bm8gbWVtYmVyIG5hbWVkICdmX2lvc2l6ZScKY29uZmlndXJlOjY3OTE6ICQ/ID0gMQpjb25maWd1
cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL
QUdFX05BTUUgImxpYm5iY29tcGF0Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJuYmNv
bXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjAwODA2MDUiCnwgI2RlZmluZSBQQUNL
QUdFX1NUUklORyAibGlibmJjb21wYXQgMjAwODA2MDUiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF
UE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmlu
ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l
IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U
VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE
X0ggMQp8ICNkZWZpbmUgSEFWRV9fQk9PTCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwg
I2RlZmluZSBIQVZFX0FMTE9DQV9IIDEKfCAjZGVmaW5lIEhBVkVfQVNTRVJUX0ggMQp8ICNkZWZp
bmUgSEFWRV9DVFlQRV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW
RV9FTkRJQU5fSCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSTk9f
SCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9GTk1BVENIX0ggMQp8
ICNkZWZpbmUgSEFWRV9GVFNfSCAxCnwgI2RlZmluZSBIQVZFX0dSUF9IIDEKfCAjZGVmaW5lIEhB
VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlVUSUxfSCAxCnwgI2RlZmluZSBIQVZF
X0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX1BBVEhT
X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NJR05BTF9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1REQVJHX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERERUZfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZF
X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
Q0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19ESVJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19G
SUxFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T
T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
U1RBVEZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVFZGU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1ZGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
RVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1RFUk1DQVBfSCAxCnwgI2RlZmluZSBIQVZFX1RJTUVf
SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKfCAjZGVmaW5lIEhBVkVfR0xPQl9IIDEKfCAjZGVm
aW5lIEhBVkVfTkJDT01QQVRfR0xPQiAxCnwgI2RlZmluZSBIQVZFX1NZU19RVUVVRV9IIDEKfCAj
ZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQp8ICNkZWZpbmUgSEFWRV9SRUdFWF9IIDEKfCAj
ZGVmaW5lIEhBVkVfTkJDT01QQVRfTUQ1IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1EMTYw
IDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hBMSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
X1NIQTIgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf
T1BUSU5EIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRSRVNFVCAwCnwgI2RlZmluZSBIQVZFX0dF
VE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX09QVElPTiAxCnwgI2RlZmluZSBIQVZFX1ZJ
U19IIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfVklTIDEKfCAjZGVmaW5lIEhBVkVfX19BVFRS
SUJVVEVfXyAxCnwgI2RlZmluZSBIQVZFX1VJTlRQVFJfVCAxCnwgI2RlZmluZSBIQVZFX0xPTkdf
TE9ORyAxCnwgI2RlZmluZSBIQVZFX0xPTkdfRE9VQkxFIDEKfCAjZGVmaW5lIEhBVkVfRlNJRF9U
IDEKfCAjZGVmaW5lIFNJWkVPRl9PRkZfVCA0CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj
ZGVmaW5lIEhBVkVfTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJFUlJPUl9SIDEKfCAj
ZGVmaW5lIEhBVkVfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX0ZPUksgMQp8ICNkZWZpbmUg
SEFWRV9WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dPUktJTkdfVkZPUksgMQp8ICNkZWZpbmUgSEFW
RV9XT1JLSU5HX0ZPUksgMQp8ICNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf
REVDTF9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVkFTUFJJTlRGIDAKfCAjZGVmaW5l
IEhBVkVfQVNQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9FUlIgMQp8ICNkZWZpbmUgSEFWRV9GTk1B
VENIIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwg
I2RlZmluZSBIQVZFX0xDSE9XTiAxCnwgI2RlZmluZSBIQVZFX0xVVElNRVMgMQp8ICNkZWZpbmUg
SEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX1NF
VEVOViAxCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfU1RBVFZGUyAx
CnwgI2RlZmluZSBIQVZFX1NUUkRVUCAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKfCAjZGVm
aW5lIEhBVkVfU1RSU0VQIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9MTCAxCnwgI2RlZmluZSBIQVZF
X1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVVNMRUVQIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVT
IDEKfCAjZGVmaW5lIEhBVkVfV0FSTiAxCnwgI2RlZmluZSBIQVZFX0xJQk5TTCAxCnwgI2RlZmlu
ZSBIQVZFX1NPQ0tMRU5fVCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BRERSSU5GTyAxCnwgI2Rl
ZmluZSBIQVZFX1NUUlVDVF9JTjZfQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQURE
Ul9JTjYgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfU1RPUkFHRSAxCnwgI2RlZmlu
ZSBIQVZFX0dFVE5BTUVJTkZPIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVm
aW5lIEhBVkVfR0VUQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUg
SEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX01L
RFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfQkNPUFkgMQp8
ICNkZWZpbmUgSEFWRV9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX01FTVNFVCAxCnwgI2RlZmluZSBI
QVZFX01FTUNQWSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0RF
Q0xfRU5ER1JFTlQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0VORFBXRU5UIDAKfCAjZGVmaW5lIEhB
VkVfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1BP
TExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRQR1JQ
IDEKfCAjZGVmaW5lIEhBVkVfTUVNTU9WRSAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2Rl
ZmluZSBHRVRQR1JQX1ZPSUQgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVEZTX0ZfRkxBR1Mg
MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAgI2luY2x1ZGUgPHN5cy9zdGF0ZnMuaD4KfCAK
fCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdGZzIGFjX2FnZ3I7CnwgaWYg
KHNpemVvZiBhY19hZ2dyLmZfaW9zaXplKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7
CnwgfQpjb25maWd1cmU6Njc5MTogcmVzdWx0OiBubwpjb25maWd1cmU6NjgwNDogY2hlY2tpbmcg
Zm9yIHN0cnVjdCBkaXJlbnQuZF9uYW1sZW4KY29uZmlndXJlOjY4MDQ6IGdjYyAtYyAtZyAtTzIg
IGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3Qu
YzoxNjc6MTI6IGVycm9yOiAnc3RydWN0IGRpcmVudCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnZF9u
YW1sZW4nCmNvbmZpZ3VyZTo2ODA0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3
YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBh
dCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNL
QUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29t
cGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5v
cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj
ZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf
X0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0Ff
SCAxCnwgI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwg
I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZp
bmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9G
Q05UTF9IIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0gg
MQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmlu
ZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVf
UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19I
IDEKfCAjZGVmaW5lIEhBVkVfU1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg
I2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfRElSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19WRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUg
SEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9V
TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9V
TlRfSCAxCnwgI2RlZmluZSBIQVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dM
T0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
X1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVfUkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFU
X01ENSAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05C
Q09NUEFUX1NIQTEgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhB
VkVfREVDTF9PUFRBUkcgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBI
QVZFX0RFQ0xfT1BUUkVTRVQgMAp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBI
QVZFX1NUUlVDVF9PUFRJT04gMQp8ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZF
X05CQ09NUEFUX1ZJUyAxCnwgI2RlZmluZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUg
SEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFW
RV9MT05HX0RPVUJMRSAxCnwgI2RlZmluZSBIQVZFX0ZTSURfVCAxCnwgI2RlZmluZSBTSVpFT0Zf
T0ZGX1QgNAp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQyAx
CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9S
X1IgMQp8ICNkZWZpbmUgSEFWRV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZp
bmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAj
ZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNk
ZWZpbmUgSEFWRV9ERUNMX1ZBU1BSSU5URiAwCnwgI2RlZmluZSBIQVZFX0FTUFJJTlRGIDEKfCAj
ZGVmaW5lIEhBVkVfRVJSIDEKfCAjZGVmaW5lIEhBVkVfRk5NQVRDSCAxCnwgI2RlZmluZSBIQVZF
X0dFVEVOViAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04g
MQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVNUCAxCnwgI2Rl
ZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFW
RV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVFJE
VVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUlNFUCAxCnwg
I2RlZmluZSBIQVZFX1NUUlRPTEwgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmlu
ZSBIQVZFX1VTTEVFUCAxCnwgI2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1dB
Uk4gMQp8ICNkZWZpbmUgSEFWRV9MSUJOU0wgMQp8ICNkZWZpbmUgSEFWRV9TT0NLTEVOX1QgMQp8
ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSU42
X0FERFIgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfU09DS0FERFJfSU42IDEKfCAjZGVmaW5lIEhB
VkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVROQU1FSU5GTyAx
CnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZP
IDEKfCAjZGVmaW5lIEhBVkVfR0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVm
aW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhB
VkVfTUtTVEVNUCAxCnwgI2RlZmluZSBIQVZFX0JDT1BZIDEKfCAjZGVmaW5lIEhBVkVfQlpFUk8g
MQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQgMQp8ICNkZWZpbmUgSEFWRV9NRU1DUFkgMQp8ICNkZWZp
bmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0VOREdSRU5UIDAKfCAjZGVm
aW5lIEhBVkVfREVDTF9FTkRQV0VOVCAwCnwgI2RlZmluZSBIQVZFX1BPTExfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9QT0xMX0ggMQp8ICNkZWZpbmUgSEFW
RV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEdSUCAxCnwgI2RlZmluZSBIQVZFX01F
TU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEK
fCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NUQVRGU19GX0ZMQUdTIDEKfCAvKiBlbmQgY29uZmRlZnMu
aC4gICovCnwgICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAJICAjaWYgSEFWRV9ESVJFTlRfSAp8
IAkgICMgaW5jbHVkZSA8ZGlyZW50Lmg+CnwgCSAgI2Vsc2UKfCAJICAjIGRlZmluZSBkaXJlbnQg
ZGlyZWN0CnwgCSAgIyBpZiBIQVZFX1NZU19ORElSX0gKfCAJICAjICBpbmNsdWRlIDxzeXMvbmRp
ci5oPgp8IAkgICMgZW5kaWYKfCAJICAjIGlmIEhBVkVfU1lTX0RJUl9ICnwgCSAgIyAgaW5jbHVk
ZSA8c3lzL2Rpci5oPgp8IAkgICMgZW5kaWYKfCAJICAjIGlmIEhBVkVfTkRJUl9ICnwgCSAgIyAg
aW5jbHVkZSA8bmRpci5oPgp8IAkgICMgZW5kaWYKfCAJICAjZW5kaWYKfCAKfCBpbnQKfCBtYWlu
ICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3QgZGlyZW50IGFjX2FnZ3I7CnwgaWYgKGFjX2FnZ3IuZF9u
YW1sZW4pCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo2ODA0
OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAn
bWFpbic6CmNvbmZ0ZXN0LmM6MTY3OjE5OiBlcnJvcjogJ3N0cnVjdCBkaXJlbnQnIGhhcyBubyBt
ZW1iZXIgbmFtZWQgJ2RfbmFtbGVuJwpjb25maWd1cmU6NjgwNDogJD8gPSAxCmNvbmZpZ3VyZTog
ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf
TkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYm5iY29tcGF0
Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0Vf
U1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU
ICJncmFudEBOZXRCU0Qub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFNU
RENfSEVBREVSUyAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFW
RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW
RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN
T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx
CnwgI2RlZmluZSBIQVZFX19CT09MIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKfCAjZGVm
aW5lIEhBVkVfQUxMT0NBX0ggMQp8ICNkZWZpbmUgSEFWRV9BU1NFUlRfSCAxCnwgI2RlZmluZSBI
QVZFX0NUWVBFX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VO
RElBTl9IIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJOT19IIDEK
fCAjZGVmaW5lIEhBVkVfRkNOVExfSCAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCnwgI2Rl
ZmluZSBIQVZFX0ZUU19IIDEKfCAjZGVmaW5lIEhBVkVfR1JQX0ggMQp8ICNkZWZpbmUgSEFWRV9J
TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfTElCVVRJTF9IIDEKfCAjZGVmaW5lIEhBVkVfTElN
SVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfUEFUSFNfSCAx
CnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVERBUkdfSCAxCnwgI2RlZmluZSBIQVZFX1NURERFRl9IIDEKfCAjZGVmaW5lIEhB
VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVG
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0RJUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0ZJTEVf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF
VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU
RlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
VUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVkZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElU
U19IIDEKfCAjZGVmaW5lIEhBVkVfVEVSTUNBUF9IIDEKfCAjZGVmaW5lIEhBVkVfVElNRV9IIDEK
fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElNRV9IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX01PVU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9HTE9CX0ggMQp8ICNkZWZpbmUg
SEFWRV9OQkNPTVBBVF9HTE9CIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1FVRVVFX0ggMQp8ICNkZWZp
bmUgSEFWRV9OQkNPTVBBVF9RVUVVRSAxCnwgI2RlZmluZSBIQVZFX1JFR0VYX0ggMQp8ICNkZWZp
bmUgSEFWRV9OQkNPTVBBVF9NRDUgMQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9STUQxNjAgMQp8
ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEExIDEKfCAjZGVmaW5lIEhBVkVfTkJDT01QQVRfU0hB
MiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUQVJHIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRJ
TkQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKfCAjZGVmaW5lIEhBVkVfR0VUT1BU
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfT1BUSU9OIDEKfCAjZGVmaW5lIEhBVkVfVklTX0gg
MQp8ICNkZWZpbmUgSEFWRV9OQkNPTVBBVF9WSVMgMQp8ICNkZWZpbmUgSEFWRV9fX0FUVFJJQlVU
RV9fIDEKfCAjZGVmaW5lIEhBVkVfVUlOVFBUUl9UIDEKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05H
IDEKfCAjZGVmaW5lIEhBVkVfTE9OR19ET1VCTEUgMQp8ICNkZWZpbmUgSEFWRV9GU0lEX1QgMQp8
ICNkZWZpbmUgU0laRU9GX09GRl9UIDQKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp
bmUgSEFWRV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUkVSUk9SX1IgMQp8ICNkZWZp
bmUgSEFWRV9TVFJFUlJPUl9SIDEKfCAjZGVmaW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZF
X1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCnwgI2RlZmluZSBIQVZFX1dP
UktJTkdfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZQUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNM
X1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9WQVNQUklOVEYgMAp8ICNkZWZpbmUgSEFW
RV9BU1BSSU5URiAxCnwgI2RlZmluZSBIQVZFX0VSUiAxCnwgI2RlZmluZSBIQVZFX0ZOTUFUQ0gg
MQp8ICNkZWZpbmUgSEFWRV9HRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVm
aW5lIEhBVkVfTENIT1dOIDEKfCAjZGVmaW5lIEhBVkVfTFVUSU1FUyAxCnwgI2RlZmluZSBIQVZF
X01LRFRFTVAgMQp8ICNkZWZpbmUgSEFWRV9NS1NURU1QIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5W
IDEKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKfCAj
ZGVmaW5lIEhBVkVfU1RSRFVQIDEKfCAjZGVmaW5lIEhBVkVfU1RSRVJST1IgMQp8ICNkZWZpbmUg
SEFWRV9TVFJTRVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0xMIDEKfCAjZGVmaW5lIEhBVkVfVU5T
RVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9VU0xFRVAgMQp8ICNkZWZpbmUgSEFWRV9VVElNRVMgMQp8
ICNkZWZpbmUgSEFWRV9XQVJOIDEKfCAjZGVmaW5lIEhBVkVfTElCTlNMIDEKfCAjZGVmaW5lIEhB
VkVfU09DS0xFTl9UIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FERFJJTkZPIDEKfCAjZGVmaW5l
IEhBVkVfU1RSVUNUX0lONl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX0lO
NiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TT0NLQUREUl9TVE9SQUdFIDEKfCAjZGVmaW5lIEhB
VkVfR0VUTkFNRUlORk8gMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUg
SEFWRV9HRVRBRERSSU5GTyAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZF
X1NFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VOU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVN
UCAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNkZWZpbmUgSEFWRV9CQ09QWSAxCnwgI2Rl
ZmluZSBIQVZFX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfTUVNU0VUIDEKfCAjZGVmaW5lIEhBVkVf
TUVNQ1BZIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9F
TkRHUkVOVCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRU5EUFdFTlQgMAp8ICNkZWZpbmUgSEFWRV9Q
T0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5lIEhBVkVfUE9MTF9I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX0dFVFBHUlAgMQp8
ICNkZWZpbmUgSEFWRV9NRU1NT1ZFIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5l
IEdFVFBHUlBfVk9JRCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9TVEFURlNfRl9GTEFHUyAxCnwg
LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgCSAgI2lm
IEhBVkVfRElSRU5UX0gKfCAJICAjIGluY2x1ZGUgPGRpcmVudC5oPgp8IAkgICNlbHNlCnwgCSAg
IyBkZWZpbmUgZGlyZW50IGRpcmVjdAp8IAkgICMgaWYgSEFWRV9TWVNfTkRJUl9ICnwgCSAgIyAg
aW5jbHVkZSA8c3lzL25kaXIuaD4KfCAJICAjIGVuZGlmCnwgCSAgIyBpZiBIQVZFX1NZU19ESVJf
SAp8IAkgICMgIGluY2x1ZGUgPHN5cy9kaXIuaD4KfCAJICAjIGVuZGlmCnwgCSAgIyBpZiBIQVZF
X05ESVJfSAp8IAkgICMgIGluY2x1ZGUgPG5kaXIuaD4KfCAJICAjIGVuZGlmCnwgCSAgI2VuZGlm
CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IGRpcmVudCBhY19hZ2dyOwp8
IGlmIChzaXplb2YgYWNfYWdnci5kX25hbWxlbikKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVy
biAwOwp8IH0KY29uZmlndXJlOjY4MDQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjY4MzA6IGNoZWNr
aW5nIGZvciBESVIuZGRfZmQKY29uZmlndXJlOjY4MzA6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0
LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxNjY6MTI6
IGVycm9yOiBzdG9yYWdlIHNpemUgb2YgJ2FjX2FnZ3InIGlzbid0IGtub3duCmNvbmZpZ3VyZTo2
ODMwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu
aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tB
R0VfVEFSTkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgw
NjA1Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNk
ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNL
QUdFX1VSTCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9T
WVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx
CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg
I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUg
SEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZF
X0FTU0VSVF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVO
VF9IIDEKfCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwg
I2RlZmluZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5l
IEhBVkVfRk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9H
UlBfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElM
X0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8
ICNkZWZpbmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUg
SEFWRV9TSUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVf
U1REREVGX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElP
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8
ICNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8
ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8
ICNkZWZpbmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu
ZSBIQVZFX1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBI
QVZFX0dMT0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFW
RV9TWVNfUVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5l
IEhBVkVfUkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBI
QVZFX05CQ09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNk
ZWZpbmUgSEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8
ICNkZWZpbmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQg
MAp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04g
MQp8ICNkZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwg
I2RlZmluZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8
ICNkZWZpbmUgSEFWRV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwg
I2RlZmluZSBIQVZFX0ZTSURfVCAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUg
SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0RF
Q0xfU1RSRVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFW
RV9GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZG
T1JLIDEKfCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5U
RiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZB
U1BSSU5URiAwCnwgI2RlZmluZSBIQVZFX0FTUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfRVJSIDEK
fCAjZGVmaW5lIEhBVkVfRk5NQVRDSCAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwgI2RlZmlu
ZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9M
VVRJTUVTIDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVNUCAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAg
MQp8ICNkZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2Rl
ZmluZSBIQVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVFJEVVAgMQp8ICNkZWZpbmUgSEFW
RV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUlNFUCAxCnwgI2RlZmluZSBIQVZFX1NUUlRP
TEwgMQp8ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VTTEVFUCAxCnwg
I2RlZmluZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1dBUk4gMQp8ICNkZWZpbmUgSEFW
RV9MSUJOU0wgMQp8ICNkZWZpbmUgSEFWRV9TT0NLTEVOX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJV
Q1RfQUREUklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSU42X0FERFIgMQp8ICNkZWZpbmUg
SEFWRV9TVFJVQ1RfU09DS0FERFJfSU42IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERS
X1NUT1JBR0UgMQp8ICNkZWZpbmUgSEFWRV9HRVROQU1FSU5GTyAxCnwgI2RlZmluZSBIQVZFX0dB
SV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVf
R0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYg
MQp8ICNkZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2Rl
ZmluZSBIQVZFX0JDT1BZIDEKfCAjZGVmaW5lIEhBVkVfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9N
RU1TRVQgMQp8ICNkZWZpbmUgSEFWRV9NRU1DUFkgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUg
MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0VOREdSRU5UIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9FTkRQ
V0VOVCAwCnwgI2RlZmluZSBIQVZFX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0gg
MQp8ICNkZWZpbmUgSEFWRV9QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAj
ZGVmaW5lIEhBVkVfR0VUUEdSUCAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUg
SEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfU1RS
VUNUX1NUQVRGU19GX0ZMQUdTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgICNpbmNsdWRl
IDxzeXMvdHlwZXMuaD4KfCAJICAjaWYgSEFWRV9ESVJFTlRfSAp8IAkgICMgaW5jbHVkZSA8ZGly
ZW50Lmg+CnwgCSAgI2Vsc2UKfCAJICAjIGRlZmluZSBkaXJlbnQgZGlyZWN0CnwgCSAgIyBpZiBI
QVZFX1NZU19ORElSX0gKfCAJICAjICBpbmNsdWRlIDxzeXMvbmRpci5oPgp8IAkgICMgZW5kaWYK
fCAJICAjIGlmIEhBVkVfU1lTX0RJUl9ICnwgCSAgIyAgaW5jbHVkZSA8c3lzL2Rpci5oPgp8IAkg
ICMgZW5kaWYKfCAJICAjIGlmIEhBVkVfTkRJUl9ICnwgCSAgIyAgaW5jbHVkZSA8bmRpci5oPgp8
IAkgICMgZW5kaWYKfCAJICAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBE
SVIgYWNfYWdncjsKfCBpZiAoYWNfYWdnci5kZF9mZCkKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJl
dHVybiAwOwp8IH0KY29uZmlndXJlOjY4MzA6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1
CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxNjY6MTI6IGVycm9y
OiBzdG9yYWdlIHNpemUgb2YgJ2FjX2FnZ3InIGlzbid0IGtub3duCmNvbmZpZ3VyZTo2ODMwOiAk
PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8
ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJsaWJuYmNvbXBhdCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS
TkFNRSAibGlibmJjb21wYXQiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgwNjA1Igp8
ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImxpYm5iY29tcGF0IDIwMDgwNjA1Igp8ICNkZWZpbmUg
UEFDS0FHRV9CVUdSRVBPUlQgImdyYW50QE5ldEJTRC5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VS
TCAiIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElN
RSAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf
SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8
ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl
ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu
ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfX0JPT0wgMQp8ICNkZWZpbmUgSEFWRV9T
VERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCnwgI2RlZmluZSBIQVZFX0FTU0VS
VF9IIDEKfCAjZGVmaW5lIEhBVkVfQ1RZUEVfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK
fCAjZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmlu
ZSBIQVZFX0VSUk5PX0ggMQp8ICNkZWZpbmUgSEFWRV9GQ05UTF9IIDEKfCAjZGVmaW5lIEhBVkVf
Rk5NQVRDSF9IIDEKfCAjZGVmaW5lIEhBVkVfRlRTX0ggMQp8ICNkZWZpbmUgSEFWRV9HUlBfSCAx
CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJVVElMX0ggMQp8
ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZp
bmUgSEFWRV9QQVRIU19IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9T
SUdOQUxfSCAxCnwgI2RlZmluZSBIQVZFX1NUREFSR19IIDEKfCAjZGVmaW5lIEhBVkVfU1REREVG
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfRklMRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1NUQVRGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRWRlNfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19WRlNfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9URVJNQ0FQX0ggMQp8ICNkZWZp
bmUgSEFWRV9USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF
X1VUSU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCnwgI2RlZmluZSBIQVZFX0dM
T0JfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQp8ICNkZWZpbmUgSEFWRV9TWVNf
UVVFVUVfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1FVRVVFIDEKfCAjZGVmaW5lIEhBVkVf
UkVHRVhfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX01ENSAxCnwgI2RlZmluZSBIQVZFX05C
Q09NUEFUX1JNRDE2MCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQp8ICNkZWZpbmUg
SEFWRV9OQkNPTVBBVF9TSEEyIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9PUFRBUkcgMQp8ICNkZWZp
bmUgSEFWRV9ERUNMX09QVElORCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfT1BUUkVTRVQgMAp8ICNk
ZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQp8ICNk
ZWZpbmUgSEFWRV9WSVNfSCAxCnwgI2RlZmluZSBIQVZFX05CQ09NUEFUX1ZJUyAxCnwgI2RlZmlu
ZSBIQVZFX19fQVRUUklCVVRFX18gMQp8ICNkZWZpbmUgSEFWRV9VSU5UUFRSX1QgMQp8ICNkZWZp
bmUgSEFWRV9MT05HX0xPTkcgMQp8ICNkZWZpbmUgSEFWRV9MT05HX0RPVUJMRSAxCnwgI2RlZmlu
ZSBIQVZFX0ZTSURfVCAxCnwgI2RlZmluZSBTSVpFT0ZfT0ZGX1QgNAp8ICNkZWZpbmUgSEFWRV9T
VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS
RVJST1JfUiAxCnwgI2RlZmluZSBIQVZFX1NUUkVSUk9SX1IgMQp8ICNkZWZpbmUgSEFWRV9GT1JL
IDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JLIDEK
fCAjZGVmaW5lIEhBVkVfV09SS0lOR19GT1JLIDEKfCAjZGVmaW5lIEhBVkVfVlBSSU5URiAxCnwg
I2RlZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1ZBU1BSSU5U
RiAwCnwgI2RlZmluZSBIQVZFX0FTUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfRVJSIDEKfCAjZGVm
aW5lIEhBVkVfRk5NQVRDSCAxCnwgI2RlZmluZSBIQVZFX0dFVEVOViAxCnwgI2RlZmluZSBIQVZF
X0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9MQ0hPV04gMQp8ICNkZWZpbmUgSEFWRV9MVVRJTUVT
IDEKfCAjZGVmaW5lIEhBVkVfTUtEVEVNUCAxCnwgI2RlZmluZSBIQVZFX01LU1RFTVAgMQp8ICNk
ZWZpbmUgSEFWRV9TRVRFTlYgMQp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBI
QVZFX1NUQVRWRlMgMQp8ICNkZWZpbmUgSEFWRV9TVFJEVVAgMQp8ICNkZWZpbmUgSEFWRV9TVFJF
UlJPUiAxCnwgI2RlZmluZSBIQVZFX1NUUlNFUCAxCnwgI2RlZmluZSBIQVZFX1NUUlRPTEwgMQp8
ICNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCnwgI2RlZmluZSBIQVZFX1VTTEVFUCAxCnwgI2RlZmlu
ZSBIQVZFX1VUSU1FUyAxCnwgI2RlZmluZSBIQVZFX1dBUk4gMQp8ICNkZWZpbmUgSEFWRV9MSUJO
U0wgMQp8ICNkZWZpbmUgSEFWRV9TT0NLTEVOX1QgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQURE
UklORk8gMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSU42X0FERFIgMQp8ICNkZWZpbmUgSEFWRV9T
VFJVQ1RfU09DS0FERFJfSU42IDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JB
R0UgMQp8ICNkZWZpbmUgSEFWRV9HRVROQU1FSU5GTyAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJF
UlJPUiAxCnwgI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKfCAjZGVmaW5lIEhBVkVfR0VURU5W
IDEKfCAjZGVmaW5lIEhBVkVfU0VURU5WIDEKfCAjZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQp8ICNk
ZWZpbmUgSEFWRV9NS0RURU1QIDEKfCAjZGVmaW5lIEhBVkVfTUtTVEVNUCAxCnwgI2RlZmluZSBI
QVZFX0JDT1BZIDEKfCAjZGVmaW5lIEhBVkVfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9NRU1TRVQg
MQp8ICNkZWZpbmUgSEFWRV9NRU1DUFkgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNk
ZWZpbmUgSEFWRV9ERUNMX0VOREdSRU5UIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9FTkRQV0VOVCAw
CnwgI2RlZmluZSBIQVZFX1BPTExfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QT0xMX0ggMQp8ICNk
ZWZpbmUgSEFWRV9QT0xMX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUE9MTF9IIDEKfCAjZGVmaW5l
IEhBVkVfR0VUUEdSUCAxCnwgI2RlZmluZSBIQVZFX01FTU1PVkUgMQp8ICNkZWZpbmUgSEFWRV9T
RUxFQ1QgMQp8ICNkZWZpbmUgR0VUUEdSUF9WT0lEIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX1NU
QVRGU19GX0ZMQUdTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgICNpbmNsdWRlIDxzeXMv
dHlwZXMuaD4KfCAJICAjaWYgSEFWRV9ESVJFTlRfSAp8IAkgICMgaW5jbHVkZSA8ZGlyZW50Lmg+
CnwgCSAgI2Vsc2UKfCAJICAjIGRlZmluZSBkaXJlbnQgZGlyZWN0CnwgCSAgIyBpZiBIQVZFX1NZ
U19ORElSX0gKfCAJICAjICBpbmNsdWRlIDxzeXMvbmRpci5oPgp8IAkgICMgZW5kaWYKfCAJICAj
IGlmIEhBVkVfU1lTX0RJUl9ICnwgCSAgIyAgaW5jbHVkZSA8c3lzL2Rpci5oPgp8IAkgICMgZW5k
aWYKfCAJICAjIGlmIEhBVkVfTkRJUl9ICnwgCSAgIyAgaW5jbHVkZSA8bmRpci5oPgp8IAkgICMg
ZW5kaWYKfCAJICAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBESVIgYWNf
YWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3IuZGRfZmQpCnwgcmV0dXJuIDA7CnwgICA7CnwgICBy
ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo2ODMwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2ODU4OiBj
aGVja2luZyBmb3IgZGlyZmQKY29uZmlndXJlOjY4ODc6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIg
ICBjb25mdGVzdC5jIC1sbnNsICA+JjUKY29uZmlndXJlOjY4ODc6ICQ/ID0gMApjb25maWd1cmU6
Njg4OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY5MDc6IGNoZWNraW5nICpwcmludGYoKSBzdXBw
b3J0IGZvciAlbGxkCmNvbmZpZ3VyZTo2OTI0OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29u
ZnRlc3QuYyAtbG5zbCAgPiY1CmNvbmZpZ3VyZTo2OTI0OiAkPyA9IDAKY29uZmlndXJlOjY5MjQ6
IC4vY29uZnRlc3QKY29uZmlndXJlOjY5MjQ6ICQ/ID0gMApjb25maWd1cmU6NjkyNjogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjY5ODM6IGNoZWNraW5nIGZvciBzdHJ0b2xsCmNvbmZpZ3VyZTo2OTgz
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NzAwMzogY2hlY2tpbmcgaWYgdnNucHJpbnRmIGlzIHN0
YW5kYXJkcyBjb21wbGlhbnQKY29uZmlndXJlOjcwMjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIg
ICBjb25mdGVzdC5jIC1sbnNsICA+JjUKY29uZmlndXJlOjcwMjY6ICQ/ID0gMApjb25maWd1cmU6
NzAyNjogLi9jb25mdGVzdApjb25maWd1cmU6NzAyNjogJD8gPSAwCmNvbmZpZ3VyZTo3MDI4OiBy
ZXN1bHQ6IHllcwpjb25maWd1cmU6NzEyMTogdXBkYXRpbmcgY2FjaGUgY29uZmlnLmNhY2hlCmNv
bmZpZ3VyZTo3MTcxOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKCiMjIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0gIyMKIyMgUnVubmluZyBjb25maWcuc3RhdHVzLiAjIwojIyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tICMjCgpUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IGxpYm5iY29tcGF0IGNvbmZp
Zy5zdGF0dXMgMjAwODA2MDUsIHdoaWNoIHdhcwpnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIu
NjguICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKCiAgQ09ORklHX0ZJTEVTICAgID0gCiAg
Q09ORklHX0hFQURFUlMgID0gCiAgQ09ORklHX0xJTktTICAgID0gCiAgQ09ORklHX0NPTU1BTkRT
ID0gCiAgJCAuL2NvbmZpZy5zdGF0dXMgCgpvbiB2aXRhbDMwMy1kZXNrdG9wCgpjb25maWcuc3Rh
dHVzOjk3MTogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czo5NzE6IGNyZWF0aW5nIG5i
Y29tcGF0L2NvbmZpZy5oCgojIyAtLS0tLS0tLS0tLS0tLS0tICMjCiMjIENhY2hlIHZhcmlhYmxl
cy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLSAjIwoKYWNfY3ZfX19hdHRyaWJ1dGVfXz15ZXMKYWNf
Y3ZfYnVpbGQ9aTY4Ni1wYy1saW51eC1nbnUKYWNfY3ZfY19iaWdlbmRpYW49bm8KYWNfY3ZfY19j
b21waWxlcl9nbnU9eWVzCmFjX2N2X2NfaW50MTZfdD15ZXMKYWNfY3ZfY19pbnQzMl90PXllcwph
Y19jdl9jX2ludDY0X3Q9eWVzCmFjX2N2X2NfaW50OF90PXllcwphY19jdl9jX3VpbnQxNl90PXll
cwphY19jdl9jX3VpbnQzMl90PXllcwphY19jdl9jX3VpbnQ2NF90PXllcwphY19jdl9jX3VpbnQ4
X3Q9eWVzCmFjX2N2X2Vudl9DQ19zZXQ9CmFjX2N2X2Vudl9DQ192YWx1ZT0KYWNfY3ZfZW52X0NG
TEFHU19zZXQ9CmFjX2N2X2Vudl9DRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9DUFBGTEFHU19zZXQ9
CmFjX2N2X2Vudl9DUFBGTEFHU192YWx1ZT0KYWNfY3ZfZW52X0NQUF9zZXQ9CmFjX2N2X2Vudl9D
UFBfdmFsdWU9CmFjX2N2X2Vudl9MREZMQUdTX3NldD0KYWNfY3ZfZW52X0xERkxBR1NfdmFsdWU9
CmFjX2N2X2Vudl9MSUJTX3NldD0KYWNfY3ZfZW52X0xJQlNfdmFsdWU9CmFjX2N2X2Vudl9idWls
ZF9hbGlhc19zZXQ9CmFjX2N2X2Vudl9idWlsZF9hbGlhc192YWx1ZT0KYWNfY3ZfZW52X2hvc3Rf
YWxpYXNfc2V0PQphY19jdl9lbnZfaG9zdF9hbGlhc192YWx1ZT0KYWNfY3ZfZW52X3RhcmdldF9h
bGlhc19zZXQ9CmFjX2N2X2Vudl90YXJnZXRfYWxpYXNfdmFsdWU9CmFjX2N2X2Z1bmNfTUQ1Rmls
ZT1ubwphY19jdl9mdW5jX1JNRDE2MEZpbGU9bm8KYWNfY3ZfZnVuY19TSEExRmlsZT1ubwphY19j
dl9mdW5jX1NIQTUxMl9GaWxlPW5vCmFjX2N2X2Z1bmNfX2RvcHJudD1ubwphY19jdl9mdW5jX2Fz
cHJpbnRmPXllcwphY19jdl9mdW5jX2Jjb3B5PXllcwphY19jdl9mdW5jX2J6ZXJvPXllcwphY19j
dl9mdW5jX2Vycj15ZXMKYWNfY3ZfZnVuY19mZ2V0bG49bm8KYWNfY3ZfZnVuY19mbm1hdGNoPXll
cwphY19jdl9mdW5jX2Zvcms9eWVzCmFjX2N2X2Z1bmNfZm9ya193b3Jrcz15ZXMKYWNfY3ZfZnVu
Y19mcGFyc2Vsbj1ubwphY19jdl9mdW5jX2Z0c19vcGVuPXllcwphY19jdl9mdW5jX2dhaV9zdHJl
cnJvcj15ZXMKYWNfY3ZfZnVuY19nZXRhZGRyaW5mbz15ZXMKYWNfY3ZfZnVuY19nZXRlbnY9eWVz
CmFjX2N2X2Z1bmNfZ2V0bW9kZT1ubwphY19jdl9mdW5jX2dldG5hbWVpbmZvPXllcwphY19jdl9m
dW5jX2dldHBhc3NwaHJhc2U9bm8KYWNfY3ZfZnVuY19nZXRwZ3JwPXllcwphY19jdl9mdW5jX2dl
dHBncnBfdm9pZD15ZXMKYWNfY3ZfZnVuY19naWRfZnJvbV9ncm91cD1ubwphY19jdl9mdW5jX2dy
b3VwX2Zyb21fZ2lkPW5vCmFjX2N2X2Z1bmNfaXNibGFuaz15ZXMKYWNfY3ZfZnVuY19pc3NldHVn
aWQ9bm8KYWNfY3ZfZnVuY19sY2hmbGFncz1ubwphY19jdl9mdW5jX2xjaG1vZD1ubwphY19jdl9m
dW5jX2xjaG93bj15ZXMKYWNfY3ZfZnVuY19sdXRpbWVzPXllcwphY19jdl9mdW5jX21hbGxvY18w
X25vbm51bGw9eWVzCmFjX2N2X2Z1bmNfbWVtY3B5PXllcwphY19jdl9mdW5jX21lbW1vdmU9eWVz
CmFjX2N2X2Z1bmNfbWVtc2V0PXllcwphY19jdl9mdW5jX21rZHRlbXA9eWVzCmFjX2N2X2Z1bmNf
bWtzdGVtcD15ZXMKYWNfY3ZfZnVuY19wb2xsPXllcwphY19jdl9mdW5jX3B3Y2FjaGVfZ3JvdXBk
Yj1ubwphY19jdl9mdW5jX3B3Y2FjaGVfdXNlcmRiPW5vCmFjX2N2X2Z1bmNfcmVnZXhlYz15ZXMK
YWNfY3ZfZnVuY19zZWxlY3Q9eWVzCmFjX2N2X2Z1bmNfc2V0ZW52PXllcwphY19jdl9mdW5jX3Nl
dGdyb3VwZW50PW5vCmFjX2N2X2Z1bmNfc2V0bG9jYWxlPXllcwphY19jdl9mdW5jX3NldG1vZGU9
bm8KYWNfY3ZfZnVuY19zZXRwYXNzZW50PW5vCmFjX2N2X2Z1bmNfc2V0cHJvZ25hbWU9bm8KYWNf
Y3ZfZnVuY19zaHF1b3RlPW5vCmFjX2N2X2Z1bmNfc25wcmludGY9eWVzCmFjX2N2X2Z1bmNfc3Rh
dHZmcz15ZXMKYWNfY3ZfZnVuY19zdHJkdXA9eWVzCmFjX2N2X2Z1bmNfc3RyZXJyb3I9eWVzCmFj
X2N2X2Z1bmNfc3RyZXJyb3Jfcj15ZXMKYWNfY3ZfZnVuY19zdHJlcnJvcl9yX2NoYXJfcD1ubwph
Y19jdl9mdW5jX3N0cmxjYXQ9bm8KYWNfY3ZfZnVuY19zdHJsY3B5PW5vCmFjX2N2X2Z1bmNfc3Ry
bW9kZT1ubwphY19jdl9mdW5jX3N0cnNlcD15ZXMKYWNfY3ZfZnVuY19zdHJzdmlzPW5vCmFjX2N2
X2Z1bmNfc3RydG9sbD15ZXMKYWNfY3ZfZnVuY19zdHJ1bnZpcz1ubwphY19jdl9mdW5jX3N0cnZp
cz1ubwphY19jdl9mdW5jX3N2aXM9bm8KYWNfY3ZfZnVuY190aW1lZ209eWVzCmFjX2N2X2Z1bmNf
dWlkX2Zyb21fdXNlcj1ubwphY19jdl9mdW5jX3Vuc2V0ZW52PXllcwphY19jdl9mdW5jX3Vudmlz
PW5vCmFjX2N2X2Z1bmNfdXNlcl9mcm9tX3VpZD1ubwphY19jdl9mdW5jX3VzbGVlcD15ZXMKYWNf
Y3ZfZnVuY191dGltZXM9eWVzCmFjX2N2X2Z1bmNfdmZvcms9eWVzCmFjX2N2X2Z1bmNfdmZvcmtf
d29ya3M9eWVzCmFjX2N2X2Z1bmNfdmlzPW5vCmFjX2N2X2Z1bmNfdnByaW50Zj15ZXMKYWNfY3Zf
ZnVuY193YXJuPXllcwphY19jdl9oYXZlX2RlY2xfZW5kZ3JlbnQ9bm8KYWNfY3ZfaGF2ZV9kZWNs
X2VuZHB3ZW50PW5vCmFjX2N2X2hhdmVfZGVjbF9vcHRhcmc9eWVzCmFjX2N2X2hhdmVfZGVjbF9v
cHRpbmQ9eWVzCmFjX2N2X2hhdmVfZGVjbF9vcHRyZXNldD1ubwphY19jdl9oYXZlX2RlY2xfc25w
cmludGY9eWVzCmFjX2N2X2hhdmVfZGVjbF9zdHJlcnJvcl9yPXllcwphY19jdl9oYXZlX2RlY2xf
dmFzcHJpbnRmPW5vCmFjX2N2X2hlYWRlcl9hbGxvY2FfaD15ZXMKYWNfY3ZfaGVhZGVyX2Fzc2Vy
dF9oPXllcwphY19jdl9oZWFkZXJfY3R5cGVfaD15ZXMKYWNfY3ZfaGVhZGVyX2RpcmVudF9oPXll
cwphY19jdl9oZWFkZXJfZW5kaWFuX2g9eWVzCmFjX2N2X2hlYWRlcl9lcnJfaD15ZXMKYWNfY3Zf
aGVhZGVyX2Vycm5vX2g9eWVzCmFjX2N2X2hlYWRlcl9mY250bF9oPXllcwphY19jdl9oZWFkZXJf
Zm5tYXRjaF9oPXllcwphY19jdl9oZWFkZXJfZnRzX2g9eWVzCmFjX2N2X2hlYWRlcl9nZXRvcHRf
aD15ZXMKYWNfY3ZfaGVhZGVyX2dsb2JfaD15ZXMKYWNfY3ZfaGVhZGVyX2dycF9oPXllcwphY19j
dl9oZWFkZXJfaW50dHlwZXNfaD15ZXMKYWNfY3ZfaGVhZGVyX2xpYnV0aWxfaD15ZXMKYWNfY3Zf
aGVhZGVyX2xpbWl0c19oPXllcwphY19jdl9oZWFkZXJfbWFjaGluZV9lbmRpYW5faD1ubwphY19j
dl9oZWFkZXJfbWQ1X2g9bm8KYWNfY3ZfaGVhZGVyX21lbW9yeV9oPXllcwphY19jdl9oZWFkZXJf
bmRpcl9oPW5vCmFjX2N2X2hlYWRlcl9uZXRkYl9oPXllcwphY19jdl9oZWFkZXJfcGF0aHNfaD15
ZXMKYWNfY3ZfaGVhZGVyX3BvbGxfaD15ZXMKYWNfY3ZfaGVhZGVyX3B3ZF9oPXllcwphY19jdl9o
ZWFkZXJfcmVnZXhfaD15ZXMKYWNfY3ZfaGVhZGVyX3JtZDE2MF9oPW5vCmFjX2N2X2hlYWRlcl9z
aGExX2g9bm8KYWNfY3ZfaGVhZGVyX3NoYTJfaD1ubwphY19jdl9oZWFkZXJfc2lnbmFsX2g9eWVz
CmFjX2N2X2hlYWRlcl9zdGRhcmdfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGJvb2xfaD15ZXMKYWNf
Y3ZfaGVhZGVyX3N0ZGM9eWVzCmFjX2N2X2hlYWRlcl9zdGRkZWZfaD15ZXMKYWNfY3ZfaGVhZGVy
X3N0ZGludF9oPXllcwphY19jdl9oZWFkZXJfc3RkaW9faD15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGxp
Yl9oPXllcwphY19jdl9oZWFkZXJfc3RyaW5nX2g9eWVzCmFjX2N2X2hlYWRlcl9zdHJpbmdzX2g9
eWVzCmFjX2N2X2hlYWRlcl9zeXNfYnl0ZW9yZGVyX2g9bm8KYWNfY3ZfaGVhZGVyX3N5c19jZGVm
c19oPXllcwphY19jdl9oZWFkZXJfc3lzX2Rpcl9oPXllcwphY19jdl9oZWFkZXJfc3lzX2VuZGlh
bl9oPW5vCmFjX2N2X2hlYWRlcl9zeXNfZmlsZV9oPXllcwphY19jdl9oZWFkZXJfc3lzX21rZGV2
X2g9bm8KYWNfY3ZfaGVhZGVyX3N5c19tb3VudF9oPXllcwphY19jdl9oZWFkZXJfc3lzX25kaXJf
aD1ubwphY19jdl9oZWFkZXJfc3lzX3BhcmFtX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfcG9sbF9o
PXllcwphY19jdl9oZWFkZXJfc3lzX3F1ZXVlX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfc29ja2V0
X2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfc3RhdF9oPXllcwphY19jdl9oZWFkZXJfc3lzX3N0YXRm
c19oPXllcwphY19jdl9oZWFkZXJfc3lzX3N0YXR2ZnNfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c190
aW1lX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdHR5Y29tX2g9bm8KYWNfY3ZfaGVhZGVyX3N5c190
eXBlc19oPXllcwphY19jdl9oZWFkZXJfc3lzX3Vpb19oPXllcwphY19jdl9oZWFkZXJfc3lzX3Zm
c19oPXllcwphY19jdl9oZWFkZXJfc3lzZXhpdHNfaD15ZXMKYWNfY3ZfaGVhZGVyX3Rlcm1jYXBf
aD15ZXMKYWNfY3ZfaGVhZGVyX3RpbWU9eWVzCmFjX2N2X2hlYWRlcl90aW1lX2g9eWVzCmFjX2N2
X2hlYWRlcl90emZpbGVfaD1ubwphY19jdl9oZWFkZXJfdW5pc3RkX2g9eWVzCmFjX2N2X2hlYWRl
cl91dGlsX2g9bm8KYWNfY3ZfaGVhZGVyX3V0aW1lX2g9eWVzCmFjX2N2X2hlYWRlcl92Zm9ya19o
PW5vCmFjX2N2X2hlYWRlcl92aXNfaD15ZXMKYWNfY3ZfaG9zdD1pNjg2LXBjLWxpbnV4LWdudQph
Y19jdl9saWJfbnNsX2dldGhvc3RieW5hbWU9eWVzCmFjX2N2X2xpYl91dGlsX2ZwYXJzZWxuPW5v
CmFjX2N2X21lbWJlcl9ESVJfZGRfZmQ9bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF9kaXJlbnRfZF9u
YW1sZW49bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0ZnNfZl9mbGFncz15ZXMKYWNfY3ZfbWVt
YmVyX3N0cnVjdF9zdGF0ZnNfZl9mc2l6ZT1ubwphY19jdl9tZW1iZXJfc3RydWN0X3N0YXRmc19m
X2lvc2l6ZT1ubwphY19jdl9vYmpleHQ9bwphY19jdl9wYXRoX0VHUkVQPScvYmluL2dyZXAgLUUn
CmFjX2N2X3BhdGhfR1JFUD0vYmluL2dyZXAKYWNfY3ZfcGF0aF9pbnN0YWxsPScvdXNyL2Jpbi9p
bnN0YWxsIC1jJwphY19jdl9wcm9nX0FSPWFyCmFjX2N2X3Byb2dfQVdLPWdhd2sKYWNfY3ZfcHJv
Z19DUFA9J2djYyAtRScKYWNfY3ZfcHJvZ19hY19jdF9DQz1nY2MKYWNfY3ZfcHJvZ19hY19jdF9S
QU5MSUI9cmFubGliCmFjX2N2X3Byb2dfY2NfYzg5PQphY19jdl9wcm9nX2NjX2c9eWVzCmFjX2N2
X3Byb2dfbWFrZV9tYWtlX3NldD15ZXMKYWNfY3Zfc2VhcmNoX3NvY2tldD0nbm9uZSByZXF1aXJl
ZCcKYWNfY3Zfc2l6ZW9mX29mZl90PTQKYWNfY3ZfdHlwZV9fQm9vbD15ZXMKYWNfY3ZfdHlwZV9m
c2lkX3Q9eWVzCmFjX2N2X3R5cGVfbG9uZ19kb3VibGU9eWVzCmFjX2N2X3R5cGVfbG9uZ19sb25n
PXllcwphY19jdl90eXBlX3BpZF90PXllcwphY19jdl90eXBlX3NpemVfdD15ZXMKYWNfY3ZfdHlw
ZV9zb2NrbGVuX3Q9eWVzCmFjX2N2X3R5cGVfc3RydWN0X2FkZHJpbmZvPXllcwphY19jdl90eXBl
X3N0cnVjdF9pbjZfYWRkcj15ZXMKYWNfY3ZfdHlwZV9zdHJ1Y3Rfb3B0aW9uPXllcwphY19jdl90
eXBlX3N0cnVjdF9zb2NrYWRkcl9pbjY9eWVzCmFjX2N2X3R5cGVfc3RydWN0X3NvY2thZGRyX3N0
b3JhZ2U9eWVzCmFjX2N2X3R5cGVfdWludHB0cl90PXllcwpwa2dfY3ZfaGF2ZV9wb2xsX2g9eWVz
CnBrZ19jdl9oYXZlX3Zpc193aGl0ZT15ZXMKcGtnX2N2X25hdGl2ZV9wb2xsPXllcwoKIyMgLS0t
LS0tLS0tLS0tLS0tLS0gIyMKIyMgT3V0cHV0IHZhcmlhYmxlcy4gIyMKIyMgLS0tLS0tLS0tLS0t
LS0tLS0gIyMKCkFSPSdhcicKQVVUT0NPTkY9Jy4vbWlzc2luZyAtLXJ1biBhdXRvY29uZicKQVVU
T0hFQURFUj0nLi9taXNzaW5nIC0tcnVuIGF1dG9oZWFkZXInCkFXSz0nZ2F3aycKQ0FOT05JQ0FM
X0hPU1Q9J2k2ODYtcGMtbGludXgtZ251JwpDQz0nZ2NjJwpDRkxBR1M9Jy1nIC1PMicKQ1BQPSdn
Y2MgLUUnCkNQUEZMQUdTPScnCkRFRlM9Jy1ESEFWRV9DT05GSUdfSCcKRUNIT19DPScnCkVDSE9f
Tj0nLW4nCkVDSE9fVD0nJwpFR1JFUD0nL2Jpbi9ncmVwIC1FJwpFWEVFWFQ9JycKR1JFUD0nL2Jp
bi9ncmVwJwpJTkNMVURFUz0nJwpJTlNUQUxMX0RBVEE9JyR7SU5TVEFMTH0gLW0gNjQ0JwpJTlNU
QUxMX1BST0dSQU09JyR7SU5TVEFMTH0nCklOU1RBTExfU0NSSVBUPScke0lOU1RBTEx9JwpMREZM
QUdTPScnCkxJQk9CSlM9JyAke0xJQk9CSkRJUn1nbG9iJFUubyAke0xJQk9CSkRJUn1tZDVjJFUu
byAke0xJQk9CSkRJUn1tZDVobCRVLm8gJHtMSUJPQkpESVJ9cm1kMTYwJFUubyAke0xJQk9CSkRJ
Un1ybWQxNjBobCRVLm8gJHtMSUJPQkpESVJ9c2hhMSRVLm8gJHtMSUJPQkpESVJ9c2hhMWhsJFUu
byAke0xJQk9CSkRJUn1zaGEyJFUubyAke0xJQk9CSkRJUn1zaGEyaGwkVS5vICR7TElCT0JKRElS
fWdldG9wdCRVLm8gJHtMSUJPQkpESVJ9Z2V0b3B0X2xvbmckVS5vICR7TElCT0JKRElSfXZpcyRV
Lm8gJHtMSUJPQkpESVJ9dW52aXMkVS5vICR7TElCT0JKRElSfWZnZXRsbiRVLm8gJHtMSUJPQkpE
SVJ9ZnBhcnNlbG4kVS5vICR7TElCT0JKRElSfWxjaGZsYWdzJFUubyAke0xJQk9CSkRJUn1sY2ht
b2QkVS5vICR7TElCT0JKRElSfXNldGdyb3VwZW50JFUubyAke0xJQk9CSkRJUn1zZXRwYXNzZW50
JFUubyAke0xJQk9CSkRJUn1zZXRwcm9nbmFtZSRVLm8gJHtMSUJPQkpESVJ9c2hxdW90ZSRVLm8g
JHtMSUJPQkpESVJ9c3RybGNhdCRVLm8gJHtMSUJPQkpESVJ9c3RybGNweSRVLm8gJHtMSUJPQkpE
SVJ9c3RybW9kZSRVLm8gJHtMSUJPQkpESVJ9c2V0bW9kZSRVLm8gJHtMSUJPQkpESVJ9cHdjYWNo
ZSRVLm8nCkxJQlM9Jy1sbnNsICcKTE5fUz0nbG4gLXMnCkxUTElCT0JKUz0nICR7TElCT0JKRElS
fWdsb2IkVS5sbyAke0xJQk9CSkRJUn1tZDVjJFUubG8gJHtMSUJPQkpESVJ9bWQ1aGwkVS5sbyAk
e0xJQk9CSkRJUn1ybWQxNjAkVS5sbyAke0xJQk9CSkRJUn1ybWQxNjBobCRVLmxvICR7TElCT0JK
RElSfXNoYTEkVS5sbyAke0xJQk9CSkRJUn1zaGExaGwkVS5sbyAke0xJQk9CSkRJUn1zaGEyJFUu
bG8gJHtMSUJPQkpESVJ9c2hhMmhsJFUubG8gJHtMSUJPQkpESVJ9Z2V0b3B0JFUubG8gJHtMSUJP
QkpESVJ9Z2V0b3B0X2xvbmckVS5sbyAke0xJQk9CSkRJUn12aXMkVS5sbyAke0xJQk9CSkRJUn11
bnZpcyRVLmxvICR7TElCT0JKRElSfWZnZXRsbiRVLmxvICR7TElCT0JKRElSfWZwYXJzZWxuJFUu
bG8gJHtMSUJPQkpESVJ9bGNoZmxhZ3MkVS5sbyAke0xJQk9CSkRJUn1sY2htb2QkVS5sbyAke0xJ
Qk9CSkRJUn1zZXRncm91cGVudCRVLmxvICR7TElCT0JKRElSfXNldHBhc3NlbnQkVS5sbyAke0xJ
Qk9CSkRJUn1zZXRwcm9nbmFtZSRVLmxvICR7TElCT0JKRElSfXNocXVvdGUkVS5sbyAke0xJQk9C
SkRJUn1zdHJsY2F0JFUubG8gJHtMSUJPQkpESVJ9c3RybGNweSRVLmxvICR7TElCT0JKRElSfXN0
cm1vZGUkVS5sbyAke0xJQk9CSkRJUn1zZXRtb2RlJFUubG8gJHtMSUJPQkpESVJ9cHdjYWNoZSRV
LmxvJwpPQkpFWFQ9J28nClBBQ0tBR0VfQlVHUkVQT1JUPSdncmFudEBOZXRCU0Qub3JnJwpQQUNL
QUdFX05BTUU9J2xpYm5iY29tcGF0JwpQQUNLQUdFX1NUUklORz0nbGlibmJjb21wYXQgMjAwODA2
MDUnClBBQ0tBR0VfVEFSTkFNRT0nbGlibmJjb21wYXQnClBBQ0tBR0VfVVJMPScnClBBQ0tBR0Vf
VkVSU0lPTj0nMjAwODA2MDUnClBBVEhfU0VQQVJBVE9SPSc6JwpSQU5MSUI9J3JhbmxpYicKU0VU
X01BS0U9JycKU0hFTEw9Jy9iaW4vYmFzaCcKV0lUSF9EQj0neWVzJwphY19jdF9DQz0nZ2NjJwpi
aW5kaXI9JyR7ZXhlY19wcmVmaXh9L2JpbicKYnVpbGQ9J2k2ODYtcGMtbGludXgtZ251JwpidWls
ZF9hbGlhcz0nJwpidWlsZF9jcHU9J2k2ODYnCmJ1aWxkX29zPSdsaW51eC1nbnUnCmJ1aWxkX3Zl
bmRvcj0ncGMnCmRhdGFkaXI9JyR7ZGF0YXJvb3RkaXJ9JwpkYXRhcm9vdGRpcj0nJHtwcmVmaXh9
L3NoYXJlJwpkb2NkaXI9JyR7ZGF0YXJvb3RkaXJ9L2RvYy8ke1BBQ0tBR0VfVEFSTkFNRX0nCmR2
aWRpcj0nJHtkb2NkaXJ9JwpleGVjX3ByZWZpeD0nJHtwcmVmaXh9Jwpob3N0PSdpNjg2LXBjLWxp
bnV4LWdudScKaG9zdF9hbGlhcz0nJwpob3N0X2NwdT0naTY4NicKaG9zdF9vcz0nbGludXgtZ251
Jwpob3N0X3ZlbmRvcj0ncGMnCmh0bWxkaXI9JyR7ZG9jZGlyfScKaW5jbHVkZWRpcj0nJHtwcmVm
aXh9L2luY2x1ZGUnCmluZm9kaXI9JyR7ZGF0YXJvb3RkaXJ9L2luZm8nCmxpYmRpcj0nJHtleGVj
X3ByZWZpeH0vbGliJwpsaWJleGVjZGlyPScke2V4ZWNfcHJlZml4fS9saWJleGVjJwpsb2NhbGVk
aXI9JyR7ZGF0YXJvb3RkaXJ9L2xvY2FsZScKbG9jYWxzdGF0ZWRpcj0nJHtwcmVmaXh9L3ZhcicK
bWFuZGlyPScvaG9tZS92aXRhbDMwMy9uZXRic2QvbWFuJwpvbGRpbmNsdWRlZGlyPScvdXNyL2lu
Y2x1ZGUnCnBkZmRpcj0nJHtkb2NkaXJ9JwpwcmVmaXg9Jy9ob21lL3ZpdGFsMzAzL25ldGJzZCcK
cHJvZ3JhbV90cmFuc2Zvcm1fbmFtZT0ncyx4LHgsJwpwc2Rpcj0nJHtkb2NkaXJ9JwpzYmluZGly
PScke2V4ZWNfcHJlZml4fS9zYmluJwpzaGFyZWRzdGF0ZWRpcj0nJHtwcmVmaXh9L2NvbScKc3lz
Y29uZmRpcj0nL2hvbWUvdml0YWwzMDMvbmV0YnNkL2V0YycKdGFyZ2V0X2FsaWFzPScnCgojIyAt
LS0tLS0tLS0tLSAjIwojIyBjb25mZGVmcy5oLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoKLyogY29u
ZmRlZnMuaCAqLwojZGVmaW5lIFBBQ0tBR0VfTkFNRSAibGlibmJjb21wYXQiCiNkZWZpbmUgUEFD
S0FHRV9UQVJOQU1FICJsaWJuYmNvbXBhdCIKI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIwMDgw
NjA1IgojZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJsaWJuYmNvbXBhdCAyMDA4MDYwNSIKI2RlZmlu
ZSBQQUNLQUdFX0JVR1JFUE9SVCAiZ3JhbnRATmV0QlNELm9yZyIKI2RlZmluZSBQQUNLQUdFX1VS
TCAiIgojZGVmaW5lIFNURENfSEVBREVSUyAxCiNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEK
I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQojZGVm
aW5lIEhBVkVfU1RETElCX0ggMQojZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQojZGVmaW5lIEhBVkVf
TUVNT1JZX0ggMQojZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKI2RlZmluZSBIQVZFX0lOVFRZUEVT
X0ggMQojZGVmaW5lIEhBVkVfU1RESU5UX0ggMQojZGVmaW5lIEhBVkVfVU5JU1REX0ggMQojZGVm
aW5lIEhBVkVfX0JPT0wgMQojZGVmaW5lIEhBVkVfU1REQk9PTF9IIDEKI2RlZmluZSBIQVZFX0FM
TE9DQV9IIDEKI2RlZmluZSBIQVZFX0FTU0VSVF9IIDEKI2RlZmluZSBIQVZFX0NUWVBFX0ggMQoj
ZGVmaW5lIEhBVkVfRElSRU5UX0ggMQojZGVmaW5lIEhBVkVfRU5ESUFOX0ggMQojZGVmaW5lIEhB
VkVfRVJSX0ggMQojZGVmaW5lIEhBVkVfRVJSTk9fSCAxCiNkZWZpbmUgSEFWRV9GQ05UTF9IIDEK
I2RlZmluZSBIQVZFX0ZOTUFUQ0hfSCAxCiNkZWZpbmUgSEFWRV9GVFNfSCAxCiNkZWZpbmUgSEFW
RV9HUlBfSCAxCiNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKI2RlZmluZSBIQVZFX0xJQlVUSUxf
SCAxCiNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCiNkZWZpbmUgSEFWRV9ORVREQl9IIDEKI2RlZmlu
ZSBIQVZFX1BBVEhTX0ggMQojZGVmaW5lIEhBVkVfUFdEX0ggMQojZGVmaW5lIEhBVkVfU0lHTkFM
X0ggMQojZGVmaW5lIEhBVkVfU1REQVJHX0ggMQojZGVmaW5lIEhBVkVfU1REREVGX0ggMQojZGVm
aW5lIEhBVkVfU1RESU5UX0ggMQojZGVmaW5lIEhBVkVfU1RESU9fSCAxCiNkZWZpbmUgSEFWRV9T
VERMSUJfSCAxCiNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCiNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNf
SCAxCiNkZWZpbmUgSEFWRV9TWVNfRElSX0ggMQojZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCiNk
ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCiNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQojZGVm
aW5lIEhBVkVfU1lTX1NUQVRfSCAxCiNkZWZpbmUgSEFWRV9TWVNfU1RBVEZTX0ggMQojZGVmaW5l
IEhBVkVfU1lTX1NUQVRWRlNfSCAxCiNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKI2RlZmluZSBI
QVZFX1NZU19UWVBFU19IIDEKI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCiNkZWZpbmUgSEFWRV9T
WVNfVkZTX0ggMQojZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCiNkZWZpbmUgSEFWRV9URVJNQ0FQ
X0ggMQojZGVmaW5lIEhBVkVfVElNRV9IIDEKI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKI2RlZmlu
ZSBIQVZFX1VUSU1FX0ggMQojZGVmaW5lIEhBVkVfU1lTX01PVU5UX0ggMQojZGVmaW5lIEhBVkVf
R0xPQl9IIDEKI2RlZmluZSBIQVZFX05CQ09NUEFUX0dMT0IgMQojZGVmaW5lIEhBVkVfU1lTX1FV
RVVFX0ggMQojZGVmaW5lIEhBVkVfTkJDT01QQVRfUVVFVUUgMQojZGVmaW5lIEhBVkVfUkVHRVhf
SCAxCiNkZWZpbmUgSEFWRV9OQkNPTVBBVF9NRDUgMQojZGVmaW5lIEhBVkVfTkJDT01QQVRfUk1E
MTYwIDEKI2RlZmluZSBIQVZFX05CQ09NUEFUX1NIQTEgMQojZGVmaW5lIEhBVkVfTkJDT01QQVRf
U0hBMiAxCiNkZWZpbmUgSEFWRV9ERUNMX09QVEFSRyAxCiNkZWZpbmUgSEFWRV9ERUNMX09QVElO
RCAxCiNkZWZpbmUgSEFWRV9ERUNMX09QVFJFU0VUIDAKI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEK
I2RlZmluZSBIQVZFX1NUUlVDVF9PUFRJT04gMQojZGVmaW5lIEhBVkVfVklTX0ggMQojZGVmaW5l
IEhBVkVfTkJDT01QQVRfVklTIDEKI2RlZmluZSBIQVZFX19fQVRUUklCVVRFX18gMQojZGVmaW5l
IEhBVkVfVUlOVFBUUl9UIDEKI2RlZmluZSBIQVZFX0xPTkdfTE9ORyAxCiNkZWZpbmUgSEFWRV9M
T05HX0RPVUJMRSAxCiNkZWZpbmUgSEFWRV9GU0lEX1QgMQojZGVmaW5lIFNJWkVPRl9PRkZfVCA0
CiNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCiNkZWZpbmUgSEFWRV9NQUxMT0MgMQojZGVmaW5lIEhB
VkVfREVDTF9TVFJFUlJPUl9SIDEKI2RlZmluZSBIQVZFX1NUUkVSUk9SX1IgMQojZGVmaW5lIEhB
VkVfRk9SSyAxCiNkZWZpbmUgSEFWRV9WRk9SSyAxCiNkZWZpbmUgSEFWRV9XT1JLSU5HX1ZGT1JL
IDEKI2RlZmluZSBIQVZFX1dPUktJTkdfRk9SSyAxCiNkZWZpbmUgSEFWRV9WUFJJTlRGIDEKI2Rl
ZmluZSBIQVZFX0RFQ0xfU05QUklOVEYgMQojZGVmaW5lIEhBVkVfREVDTF9WQVNQUklOVEYgMAoj
ZGVmaW5lIEhBVkVfQVNQUklOVEYgMQojZGVmaW5lIEhBVkVfRVJSIDEKI2RlZmluZSBIQVZFX0ZO
TUFUQ0ggMQojZGVmaW5lIEhBVkVfR0VURU5WIDEKI2RlZmluZSBIQVZFX0lTQkxBTksgMQojZGVm
aW5lIEhBVkVfTENIT1dOIDEKI2RlZmluZSBIQVZFX0xVVElNRVMgMQojZGVmaW5lIEhBVkVfTUtE
VEVNUCAxCiNkZWZpbmUgSEFWRV9NS1NURU1QIDEKI2RlZmluZSBIQVZFX1NFVEVOViAxCiNkZWZp
bmUgSEFWRV9TTlBSSU5URiAxCiNkZWZpbmUgSEFWRV9TVEFUVkZTIDEKI2RlZmluZSBIQVZFX1NU
UkRVUCAxCiNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCiNkZWZpbmUgSEFWRV9TVFJTRVAgMQojZGVm
aW5lIEhBVkVfU1RSVE9MTCAxCiNkZWZpbmUgSEFWRV9VTlNFVEVOViAxCiNkZWZpbmUgSEFWRV9V
U0xFRVAgMQojZGVmaW5lIEhBVkVfVVRJTUVTIDEKI2RlZmluZSBIQVZFX1dBUk4gMQojZGVmaW5l
IEhBVkVfTElCTlNMIDEKI2RlZmluZSBIQVZFX1NPQ0tMRU5fVCAxCiNkZWZpbmUgSEFWRV9TVFJV
Q1RfQUREUklORk8gMQojZGVmaW5lIEhBVkVfU1RSVUNUX0lONl9BRERSIDEKI2RlZmluZSBIQVZF
X1NUUlVDVF9TT0NLQUREUl9JTjYgMQojZGVmaW5lIEhBVkVfU1RSVUNUX1NPQ0tBRERSX1NUT1JB
R0UgMQojZGVmaW5lIEhBVkVfR0VUTkFNRUlORk8gMQojZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9S
IDEKI2RlZmluZSBIQVZFX0dFVEFERFJJTkZPIDEKI2RlZmluZSBIQVZFX0dFVEVOViAxCiNkZWZp
bmUgSEFWRV9TRVRFTlYgMQojZGVmaW5lIEhBVkVfVU5TRVRFTlYgMQojZGVmaW5lIEhBVkVfTUtE
VEVNUCAxCiNkZWZpbmUgSEFWRV9NS1NURU1QIDEKI2RlZmluZSBIQVZFX0JDT1BZIDEKI2RlZmlu
ZSBIQVZFX0JaRVJPIDEKI2RlZmluZSBIQVZFX01FTVNFVCAxCiNkZWZpbmUgSEFWRV9NRU1DUFkg
MQojZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKI2RlZmluZSBIQVZFX0RFQ0xfRU5ER1JFTlQgMAoj
ZGVmaW5lIEhBVkVfREVDTF9FTkRQV0VOVCAwCiNkZWZpbmUgSEFWRV9QT0xMX0ggMQojZGVmaW5l
IEhBVkVfU1lTX1BPTExfSCAxCiNkZWZpbmUgSEFWRV9QT0xMX0ggMQojZGVmaW5lIEhBVkVfU1lT
X1BPTExfSCAxCiNkZWZpbmUgSEFWRV9HRVRQR1JQIDEKI2RlZmluZSBIQVZFX01FTU1PVkUgMQoj
ZGVmaW5lIEhBVkVfU0VMRUNUIDEKI2RlZmluZSBHRVRQR1JQX1ZPSUQgMQojZGVmaW5lIEhBVkVf
U1RSVUNUX1NUQVRGU19GX0ZMQUdTIDEKI2RlZmluZSBIQVZFX0RJUkZEIDEKI2RlZmluZSBIQVZF
X1dPUktJTkdfTE9OR19MT05HIDEKI2RlZmluZSBIQVZFX1NUUlRPTEwgMQoKY29uZmlndXJlOiBl
eGl0IDAK
--f46d042f9210ee39ce04b8c3fa99--
From: Steven Drake <sbd@NetBSD.org>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: pkg/46003: bootstrap failed on Linux with gcc 4.6.1 because of
libutil.h location
Date: Tue, 14 Feb 2012 21:54:42 +1300 (NZDT)
On Sun, 12 Feb 2012, slitvinov@gmail.com wrote:
> >Synopsis: bootstrap failed on Linux with gcc 4.6.1 because of libutil.h location
Remove the libbsd-devel package. libbsd is not needed for pkgsrc.
--
Steven
From: Steven Drake <sbd@NetBSD.org>
To: Joerg Sonnenberger <joerg@britannica.bec.de>
Cc: gnats-bugs@NetBSD.org
Subject: Re: pkg/46003: bootstrap failed on Linux with gcc 4.6.1 because of
libutil.h location
Date: Tue, 14 Feb 2012 21:55:36 +1300 (NZDT)
On Sun, 12 Feb 2012, Joerg Sonnenberger wrote:
> On Sun, Feb 12, 2012 at 11:55:00AM +0000, slitvinov@gmail.com wrote:
> > /usr/include/libutil.h:33:2: error: #warning "Deprecated header, use <bsd/libutil.h> or libbsd-overlay.pc instead." [-Werror=cpp]
>
> *sigh* Can you please start by filling a PR for glibc.
libutil.h isn't a part of glibc, its a part of the libbsd package[1] which
looks like debians version of libnbcompat and from this[2] commit, this
behavior is intentional so a bug report would get filed as "RESOLVED WONTFIX"
or "RESOLVED INVALID".
As for fixing the PR I think the best thing to do is to not use libutil.h
or vis.h on Linux if they exist.
1. http://libbsd.freedesktop.org/
2. http://cgit.freedesktop.org/libbsd/commit/?id=8654206a04995cf97273e1338a22c05d9a542cad
--
Steven
State-Changed-From-To: open->closed
State-Changed-By: maya@NetBSD.org
State-Changed-When: Thu, 05 Sep 2019 09:56:00 +0000
State-Changed-Why:
This has been fixed for a while, the current code is:
#if HAVE_BSD_LIBUTIL_H
# include <bsd/libutil.h>
#elif HAVE_LIBUTIL_H
# include <libutil.h>
#endif
Thanks for the report!
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.