GNU bug report logs - #15845
[GNU Libtool 2.4.2] testsuite: 55 95 96 97 107 115 failed

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: libtool; Reported by: Андрей Новиков <stalkien@HIDDEN>; dated Sat, 9 Nov 2013 23:18:01 UTC; Maintainer for libtool is bug-libtool@HIDDEN.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 9 Nov 2013 23:17:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 09 18:17:40 2013
Received: from localhost ([127.0.0.1]:44799 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1VfHme-0006RL-9L
	for submit <at> debbugs.gnu.org; Sat, 09 Nov 2013 18:17:40 -0500
Received: from eggs.gnu.org ([208.118.235.92]:50738)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <stalkien@HIDDEN>) id 1VfGt3-00056R-Ed
 for submit <at> debbugs.gnu.org; Sat, 09 Nov 2013 17:20:14 -0500
Received: from lists.gnu.org ([2001:4830:134:3::11]:46227)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <stalkien@HIDDEN>) id 1VfGsx-0001bp-Qo
 for submit <at> debbugs.gnu.org; Sat, 09 Nov 2013 17:20:08 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:52464)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <stalkien@HIDDEN>) id 1VfGsp-0000jx-IX
 for bug-libtool@HIDDEN; Sat, 09 Nov 2013 17:20:07 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: ****
X-Spam-Status: No, score=4.0 required=5.0 tests=BAYES_50,
 CHARSET_FARAWAY_HEADER,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from mxout1.rambler.ru ([81.19.67.58]:12982)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <stalkien@HIDDEN>) id 1VfGsm-0001M9-Qs
 for bug-libtool@HIDDEN; Sat, 09 Nov 2013 17:19:59 -0500
Received: from saddam2.rambler.ru (saddam2.rambler.ru [10.32.16.2])
 by mxout1.rambler.ru (Postfix) with ESMTP id D51661140;
 Sun, 10 Nov 2013 02:19:54 +0400 (MSK)
Received: from localhost.localdomain (localhost [127.0.0.1])
 by saddam2.rambler.ru (Postfix) with ESMTP id B1AA33FF84D;
 Sun, 10 Nov 2013 02:19:54 +0400 (MSK)
Received: from [185.19.23.59] by saddam2.rambler.ru with HTTP;
 Sun, 10 Nov 2013 02:19:54 +0400
From: =?koi8-r?B?4c7E0sXKIO7P18nLz9c=?= <stalkien@HIDDEN>
To: kristos84@HIDDEN, bug-libtool@HIDDEN
Subject: [GNU Libtool 2.4.2] testsuite: 55 95 96 97 107 115 failed
Date: Sun, 10 Nov 2013 02:19:54 +0400
Content-Transfer-Encoding: 7bit
Content-Type: multipart/mixed; boundary="_----------=_13840355941782731"
Message-Id: <1384035594.169109.17827.11989@HIDDEN>
MIME-Version: 1.0
X-Mailer: Rambler WebMail, http://mail.rambler.ru/
X-Rambler-User: stalkien@HIDDEN/185.19.23.59
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic]
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Debbugs-Envelope-To: submit
X-Mailman-Approved-At: Sat, 09 Nov 2013 18:17:37 -0500
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: =?koi8-r?B?4c7E0sXKIO7P18nLz9c=?= <stalkien@HIDDEN>
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>


This is a multi-part message in MIME format.

--_----------=_13840355941782731
Content-Type: multipart/alternative; boundary="_----------=_13840355941782732"

This is a multi-part message in MIME format.

--_----------=_13840355941782732
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"; format="flowed"

Current MinGW+MSYS versions deployed on my Wintel have the libtool [2.4.1-m=
sys ??
I doubt: really only usual libtool-2.4-1-mingw32-bin.tar.lzma ],
GCC 4.8.1.
Before a build of the 2.4.2 [for MinGW - not for MSYS] (i.e. the one for th=
is
report): I already decided to use (even for a build and hence for this buil=
d)
the libtool file (in /mingw/bin) with my manual correction: I saw the stran=
ge
[for the presence of GCC 4.8.1 deployed] script - working,
but inside it there were 4.5.0 paths instead of 4.8.1 (and this is not stra=
nge
for the libtool-2.4-1-mingw32-bin.tar.lzma , but only for the current
MinGW+MSYS).
I almost ignore this hand-made file, but here it is among the attachment.
The build of the 2.4.2 that I mention above was successful, but here the .l=
og -
more important file, of cource - is among the attachment.

(One can see
sys_lib_search_path_spec=3D"c:/tingw/lib/gcc/mingw32/4.8.1 c:/tingw/lib/gcc
c:/tingw/mingw32/lib c:/tingw/lib "
and
compiler_lib_search_dirs=3D"c:/tingw/bin/../lib/gcc/mingw32/4.8.1
c:/tingw/bin/../lib/gcc
c:/tingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/lib
c:/tingw/bin/../lib/gcc/mingw32/4.8.1/../../.."
in the 312.96KB file of the 2.4.2 build
- the "TinGW" substrings are due to my allusion to tin plague under a frost=
:/)

Best regards, while you can be giving an advice what a libtool without any
hand-made file must become a mean for my case.

--_----------=_13840355941782732
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="utf-8"

<p>Current MinGW+MSYS versions deployed on my Wintel have&nbsp; the <strong=
>libtool</strong> &nbsp;[2.4.1-msys ?? I doubt: really only usual &nbsp;lib=
tool-2.4-1-mingw32-bin.tar.lzma ],<br />GCC 4.8.1.<br />Before a build of t=
he 2.4.2 [for MinGW - not for MSYS] (i.e. the one for this report): I alrea=
dy decided to use (even for a build and hence for this build)&nbsp;<br />th=
e <strong>libtool file</strong> (in /mingw/bin) with my manual correction: =
I saw the strange [for the presence of GCC 4.8.1 deployed]<strong>&nbsp;</s=
trong>script - working,&nbsp;<br />but inside it there were 4.5.0 paths ins=
tead of 4.8.1 (and this is not strange for the&nbsp; libtool-2.4-1-mingw32-=
bin.tar.lzma , but only for the&nbsp; current MinGW+MSYS).<br />I almost ig=
nore this hand-made&nbsp;<strong>file, </strong>&nbsp;but here it is among =
the attachment.<br />The&nbsp; build of the 2.4.2 that &nbsp;I mention abov=
e &nbsp;was successful, but here the .log - more important file, of cource =
- is among&nbsp; the attachment. &nbsp;<br /><br />(One can see&nbsp;<br />=
sys_lib_search_path_spec=3D"c:/tingw/lib/gcc/mingw32/4.8.1 c:/tingw/lib/gcc=
 c:/tingw/mingw32/lib c:/tingw/lib "<br />and &nbsp;<br />compiler_lib_sear=
ch_dirs=3D"c:/tingw/bin/../lib/gcc/mingw32/4.8.1 c:/tingw/bin/../lib/gcc c:=
/tingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/lib c:/tingw/bin/..=
/lib/gcc/mingw32/4.8.1/../../.."&nbsp;<br />in the&nbsp;312.96KB file&nbsp;=
of the 2.4.2 build&nbsp;<br />- the "TinGW" substrings are due to my allusi=
on to tin plague under a frost:/)<br /><br />Best regards, while you can be=
 giving an advice what a <strong>libtool</strong> without any hand-made fil=
e must become a mean for my case.</p>=

--_----------=_13840355941782732--

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

VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBj
b21waWxlcnMgd2hpbGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1
Z2dpbmcgaWYgY29uZmlndXJlIG1ha2VzIGEgbWlzdGFrZS4KCkl0IHdhcyBj
cmVhdGVkIGJ5IEdOVSBMaWJ0b29sIGNvbmZpZ3VyZSAyLjQuMiwgd2hpY2gg
d2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OC4gIEludm9jYXRp
b24gY29tbWFuZCBsaW5lIHdhcwoKICAkIC9NaW5HVy9zaGFyZS9hdXRvbWFr
ZS0xLjExL2xpYnRvb2wtMi40LjIvY29uZmlndXJlIAoKIyMgLS0tLS0tLS0t
ICMjCiMjIFBsYXRmb3JtLiAjIwojIyAtLS0tLS0tLS0gIyMKCmhvc3RuYW1l
ID0gdGlsbAp1bmFtZSAtbSA9IGk2ODYKdW5hbWUgLXIgPSAxLjAuMTgoMC40
OC8zLzIpCnVuYW1lIC1zID0gTUlOR1czMl9OVC02LjEKdW5hbWUgLXYgPSAy
MDEyLTExLTIxIDIyOjM0CgovdXNyL2Jpbi91bmFtZSAtcCA9IHVua25vd24K
L2Jpbi91bmFtZSAtWCAgICAgPSB1bmtub3duCgovYmluL2FyY2ggICAgICAg
ICAgICAgID0gdW5rbm93bgovdXNyL2Jpbi9hcmNoIC1rICAgICAgID0gdW5r
bm93bgovdXNyL2NvbnZleC9nZXRzeXNpbmZvID0gdW5rbm93bgovdXNyL2Jp
bi9ob3N0aW5mbyAgICAgID0gdW5rbm93bgovYmluL21hY2hpbmUgICAgICAg
ICAgID0gdW5rbm93bgovdXNyL2Jpbi9vc2xldmVsICAgICAgID0gdW5rbm93
bgovYmluL3VuaXZlcnNlICAgICAgICAgID0gdW5rbm93bgoKUEFUSDogLgpQ
QVRIOiAvdXNyL2xvY2FsL2JpbgpQQVRIOiAvbWluZ3cvYmluClBBVEg6IC9i
aW4KUEFUSDogL2MvV2luZG93cy9zeXN0ZW0zMgpQQVRIOiAvYy9XaW5kb3dz
ClBBVEg6IC9jL1dpbmRvd3MvU3lzdGVtMzIvV2JlbQpQQVRIOiAvYy9XaW5k
b3dzL1N5c3RlbTMyL1dpbmRvd3NQb3dlclNoZWxsL3YxLjAvClBBVEg6IC9j
L1Byb2dyYW0gRmlsZXMgKHg4NikvTWljcm9zb2Z0IFNRTCBTZXJ2ZXIvMTAw
L1Rvb2xzL0Jpbm4vClBBVEg6IC9jL1Byb2dyYW0gRmlsZXMvTWljcm9zb2Z0
IFNRTCBTZXJ2ZXIvMTAwL1Rvb2xzL0Jpbm4vClBBVEg6IC9jL1Byb2dyYW0g
RmlsZXMvTWljcm9zb2Z0IFNRTCBTZXJ2ZXIvMTAwL0RUUy9CaW5uLwpQQVRI
OiAvYy9CQzUvQklOClBBVEg6IC9jL0JDNS9CSU4KUEFUSDogL2MvV2luZG93
cy9zeXN0ZW0zMgpQQVRIOiAvYy9XaW5kb3dzClBBVEg6IC9jL1dpbmRvd3Mv
U3lzdGVtMzIvV2JlbQpQQVRIOiAvYy9XaW5kb3dzL1N5c3RlbTMyL1dpbmRv
d3NQb3dlclNoZWxsL3YxLjAvClBBVEg6IC9jL1Byb2dyYW0gRmlsZXMgKHg4
NikvTWljcm9zb2Z0IFNRTCBTZXJ2ZXIvMTAwL1Rvb2xzL0Jpbm4vClBBVEg6
IC9jL1Byb2dyYW0gRmlsZXMvTWljcm9zb2Z0IFNRTCBTZXJ2ZXIvMTAwL1Rv
b2xzL0Jpbm4vClBBVEg6IC9jL1Byb2dyYW0gRmlsZXMvTWljcm9zb2Z0IFNR
TCBTZXJ2ZXIvMTAwL0RUUy9CaW5uLwoKCiMjIC0tLS0tLS0tLS0tICMjCiMj
IENvcmUgdGVzdHMuICMjCiMjIC0tLS0tLS0tLS0tICMjCgpjb25maWd1cmU6
MjcwNDogY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbApj
b25maWd1cmU6Mjc3MjogcmVzdWx0OiAvYmluL2luc3RhbGwgLWMKY29uZmln
dXJlOjI3ODM6IGNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQg
aXMgc2FuZQpjb25maWd1cmU6MjgzMzogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjI5NzQ6IGNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wCmNv
bmZpZ3VyZTozMDEzOiByZXN1bHQ6IC9iaW4vbWtkaXIgLXAKY29uZmlndXJl
OjMwMjY6IGNoZWNraW5nIGZvciBnYXdrCmNvbmZpZ3VyZTozMDQyOiBmb3Vu
ZCAvYmluL2dhd2sKY29uZmlndXJlOjMwNTM6IHJlc3VsdDogZ2F3awpjb25m
aWd1cmU6MzA2NDogY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtF
KQpjb25maWd1cmU6MzA4NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMxODA6
IGNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlCmNvbmZpZ3VyZTozMTk0OiBy
ZXN1bHQ6IGk2ODYtcGMtbWluZ3czMgpjb25maWd1cmU6MzIxNDogY2hlY2tp
bmcgaG9zdCBzeXN0ZW0gdHlwZQpjb25maWd1cmU6MzIyNzogcmVzdWx0OiBp
Njg2LXBjLW1pbmd3MzIKY29uZmlndXJlOjMyNTQ6IGF1dG9idWlsZCBwcm9q
ZWN0Li4uIEdOVSBMaWJ0b29sCmNvbmZpZ3VyZTozMjYwOiBhdXRvYnVpbGQg
cmV2aXNpb24uLi4gMi40LjIgKCkKY29uZmlndXJlOjMyNjU6IGF1dG9idWls
ZCBob3N0bmFtZS4uLiB0aWxsCmNvbmZpZ3VyZTozMjY5OiBhdXRvYnVpbGQg
bW9kZS4uLiBkZWZhdWx0CmNvbmZpZ3VyZTozMjc3OiBhdXRvYnVpbGQgdGlt
ZXN0YW1wLi4uIDIwMTMxMTA5VDAwMDYxNFoKY29uZmlndXJlOjMzNzY6IGNo
ZWNraW5nIGZvciBnY2MKY29uZmlndXJlOjMzOTI6IGZvdW5kIC9taW5ndy9i
aW4vZ2NjCmNvbmZpZ3VyZTozNDAzOiByZXN1bHQ6IGdjYwpjb25maWd1cmU6
MzYzMjogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgdmVyc2lvbgpjb25maWd1
cmU6MzY0MTogZ2NjIC0tdmVyc2lvbiA+JjUKZ2NjLmV4ZSAoR0NDKSA0Ljgu
MQ0KQ29weXJpZ2h0IChDKSAyMDEzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLg0KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJj
ZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8NCndhcnJh
bnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLg0KDQpjb25maWd1cmU6MzY1Mjog
JD8gPSAwCmNvbmZpZ3VyZTozNjQxOiBnY2MgLXYgPiY1ClVzaW5nIGJ1aWx0
LWluIHNwZWNzLgpDT0xMRUNUX0dDQz1jOlxUaW5HV1xiaW5cZ2NjLmV4ZQpD
T0xMRUNUX0xUT19XUkFQUEVSPWM6L3Rpbmd3L2Jpbi8uLi9saWJleGVjL2dj
Yy9taW5ndzMyLzQuOC4xL2x0by13cmFwcGVyLmV4ZQpUYXJnZXQ6IG1pbmd3
MzIKQ29uZmlndXJlZCB3aXRoOiAuLi9nY2MtNC44LjEvY29uZmlndXJlIC0t
cHJlZml4PS9taW5ndyAtLWhvc3Q9bWluZ3czMiAtLWJ1aWxkPW1pbmd3MzIg
LS13aXRob3V0LXBpYyAtLWVuYWJsZS1zaGFyZWQgLS1lbmFibGUtc3RhdGlj
IC0td2l0aC1nbnUtbGQgLS1lbmFibGUtbHRvIC0tZW5hYmxlLWxpYnNzcCAt
LWRpc2FibGUtbXVsdGlsaWIgLS1lbmFibGUtbGFuZ3VhZ2VzPWMsYysrLGZv
cnRyYW4sb2JqYyxvYmotYysrLGFkYSAtLWRpc2FibGUtc2psai1leGNlcHRp
b25zIC0td2l0aC1kd2FyZjIgLS1kaXNhYmxlLXdpbjMyLXJlZ2lzdHJ5IC0t
ZW5hYmxlLWxpYnN0ZGN4eC1kZWJ1ZyAtLWVuYWJsZS12ZXJzaW9uLXNwZWNp
ZmljLXJ1bnRpbWUtbGlicyAtLXdpdGgtZ21wPS91c3Ivc3JjL3BrZy9nbXAt
NS4xLjItMS1taW5ndzMyLXNyYy9ibGQgLS13aXRoLW1wYz0vdXNyL3NyYy9w
a2cvbXBjLTEuMC4xLTEtbWluZ3czMi1zcmMvYmxkIC0td2l0aC1tcGZyPSAt
LXdpdGgtc3lzdGVtLXpsaWIgLS13aXRoLWdudS1hcyAtLWVuYWJsZS1kZWNp
bWFsLWZsb2F0PXllcyAtLWVuYWJsZS1saWJnb21wIC0tZW5hYmxlLXRocmVh
ZHMgLS13aXRoLWxpYmljb252LXByZWZpeD0vbWluZ3czMiAtLXdpdGgtbGli
aW50bC1wcmVmaXg9L21pbmd3IC0tZGlzYWJsZS1ib290c3RyYXAgTERGTEFH
Uz0tcyBDRkxBR1M9LURfVVNFXzMyQklUX1RJTUVfVApUaHJlYWQgbW9kZWw6
IHdpbjMyCmdjYyB2ZXJzaW9uIDQuOC4xIChHQ0MpIApjb25maWd1cmU6MzY1
MjogJD8gPSAwCmNvbmZpZ3VyZTozNjQxOiBnY2MgLVYgPiY1CmdjYy5leGU6
IGVycm9yOiB1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiAnLVYn
CmdjYy5leGU6IGZhdGFsIGVycm9yOiBubyBpbnB1dCBmaWxlcwpjb21waWxh
dGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MzY1MjogJD8gPSAxCmNvbmZp
Z3VyZTozNjQxOiBnY2MgLXF2ZXJzaW9uID4mNQpnY2MuZXhlOiBlcnJvcjog
dW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRpb24gJy1xdmVyc2lvbicK
Z2NjLmV4ZTogZmF0YWwgZXJyb3I6IG5vIGlucHV0IGZpbGVzCmNvbXBpbGF0
aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTozNjUyOiAkPyA9IDEKY29uZmln
dXJlOjM2NzI6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29y
a3MKY29uZmlndXJlOjM2OTQ6IGdjYyAgICBjb25mdGVzdC5jICA+JjUKY29u
ZmlndXJlOjM2OTg6ICQ/ID0gMApjb25maWd1cmU6Mzc0NjogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjM3NDk6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRl
ZmF1bHQgb3V0cHV0IGZpbGUgbmFtZQpjb25maWd1cmU6Mzc1MTogcmVzdWx0
OiBhLmV4ZQpjb25maWd1cmU6Mzc1NzogY2hlY2tpbmcgZm9yIHN1ZmZpeCBv
ZiBleGVjdXRhYmxlcwpjb25maWd1cmU6Mzc2NDogZ2NjIC1vIGNvbmZ0ZXN0
LmV4ZSAgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjM3Njg6ICQ/ID0g
MApjb25maWd1cmU6Mzc5MDogcmVzdWx0OiAuZXhlCmNvbmZpZ3VyZTozODEy
OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcKY29u
ZmlndXJlOjM4MjA6IGdjYyAtbyBjb25mdGVzdC5leGUgICAgY29uZnRlc3Qu
YyAgPiY1CmNvbmZpZ3VyZTozODI0OiAkPyA9IDAKY29uZmlndXJlOjM4MzE6
IC4vY29uZnRlc3QuZXhlCmNvbmZpZ3VyZTozODM1OiAkPyA9IDAKY29uZmln
dXJlOjM4NTA6IHJlc3VsdDogbm8KY29uZmlndXJlOjM4NTU6IGNoZWNraW5n
IGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzCmNvbmZpZ3VyZTozODc3OiBn
Y2MgLWMgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6Mzg4MTogJD8gPSAw
CmNvbmZpZ3VyZTozOTAyOiByZXN1bHQ6IG8KY29uZmlndXJlOjM5MDY6IGNo
ZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxl
cgpjb25maWd1cmU6MzkyNTogZ2NjIC1jICAgY29uZnRlc3QuYyA+JjUKY29u
ZmlndXJlOjM5MjU6ICQ/ID0gMApjb25maWd1cmU6MzkzNDogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjM5NDM6IGNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2Vw
dHMgLWcKY29uZmlndXJlOjM5NjM6IGdjYyAtYyAtZyAgY29uZnRlc3QuYyA+
JjUKY29uZmlndXJlOjM5NjM6ICQ/ID0gMApjb25maWd1cmU6NDAwNDogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjQwMjE6IGNoZWNraW5nIGZvciBnY2Mgb3B0
aW9uIHRvIGFjY2VwdCBJU08gQzg5CmNvbmZpZ3VyZTo0MDg1OiBnY2MgIC1j
IC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQwODU6ICQ/ID0g
MApjb25maWd1cmU6NDA5ODogcmVzdWx0OiBub25lIG5lZWRlZApjb25maWd1
cmU6NDEyOTogY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBi
eSBtYWtlCmNvbmZpZ3VyZTo0MTU3OiByZXN1bHQ6IEdOVQpjb25maWd1cmU6
NDE4MjogY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MKY29uZmln
dXJlOjQyOTI6IHJlc3VsdDogZ2NjMwpjb25maWd1cmU6NDMwODogY2hlY2tp
bmcgd2hldGhlciBnY2MgYW5kIGNjIHVuZGVyc3RhbmQgLWMgYW5kIC1vIHRv
Z2V0aGVyCmNvbmZpZ3VyZTo0MzM5OiBnY2MgLWMgY29uZnRlc3QuYyAtbyBj
b25mdGVzdDIubyA+JjUKY29uZmlndXJlOjQzNDM6ICQ/ID0gMApjb25maWd1
cmU6NDM0OTogZ2NjIC1jIGNvbmZ0ZXN0LmMgLW8gY29uZnRlc3QyLm8gPiY1
CmNvbmZpZ3VyZTo0MzUzOiAkPyA9IDAKY29uZmlndXJlOjQzNjQ6IGNjIC1j
IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MzY4OiAkPyA9IDAKY29uZmln
dXJlOjQzNzY6IGNjIC1jIGNvbmZ0ZXN0LmMgLW8gY29uZnRlc3QyLm8gPiY1
CmNvbmZpZ3VyZTo0MzgwOiAkPyA9IDAKY29uZmlndXJlOjQzODY6IGNjIC1j
IGNvbmZ0ZXN0LmMgLW8gY29uZnRlc3QyLm8gPiY1CmNvbmZpZ3VyZTo0Mzkw
OiAkPyA9IDAKY29uZmlndXJlOjQ0MDg6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTo0NDM4OiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nv
cgpjb25maWd1cmU6NDQ2OTogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3Vy
ZTo0NDY5OiAkPyA9IDAKY29uZmlndXJlOjQ0ODM6IGdjYyAtRSAgY29uZnRl
c3QuYwpjb25mdGVzdC5jOjExOjI4OiBmYXRhbCBlcnJvcjogYWNfbm9uZXhp
c3RlbnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUg
PGFjX25vbmV4aXN0ZW50Lmg+CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo0NDgzOiAk
PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u
ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTGlidG9v
bCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlidG9vbCIKfCAjZGVm
aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBQQUNLQUdF
X1NUUklORyAiR05VIExpYnRvb2wgMi40LjIiCnwgI2RlZmluZSBQQUNLQUdF
X0JVR1JFUE9SVCAiYnVnLWxpYnRvb2xAZ251Lm9yZyIKfCAjZGVmaW5lIFBB
Q0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGlidG9v
bC8iCnwgI2RlZmluZSBQQUNLQUdFICJsaWJ0b29sIgp8ICNkZWZpbmUgVkVS
U0lPTiAiMi40LjIiCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs
dWRlIDxhY19ub25leGlzdGVudC5oPgpjb25maWd1cmU6NDUwODogcmVzdWx0
OiBnY2MgLUUKY29uZmlndXJlOjQ1Mjg6IGdjYyAtRSAgY29uZnRlc3QuYwpj
b25maWd1cmU6NDUyODogJD8gPSAwCmNvbmZpZ3VyZTo0NTQyOiBnY2MgLUUg
IGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxMToyODogZmF0YWwgZXJyb3I6IGFj
X25vbmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNp
bmNsdWRlIDxhY19ub25leGlzdGVudC5oPgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6
NDU0MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8
IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05V
IExpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnRvb2wi
CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUg
UEFDS0FHRV9TVFJJTkcgIkdOVSBMaWJ0b29sIDIuNC4yIgp8ICNkZWZpbmUg
UEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1saWJ0b29sQGdudS5vcmciCnwgI2Rl
ZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJl
L2xpYnRvb2wvIgp8ICNkZWZpbmUgUEFDS0FHRSAibGlidG9vbCIKfCAjZGVm
aW5lIFZFUlNJT04gIjIuNC4yIgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K
fCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjQ2MjA6
IGNoZWNraW5nIGhvdyB0byBwcmludCBzdHJpbmdzCmNvbmZpZ3VyZTo0NjQ3
OiByZXN1bHQ6IHByaW50Zgpjb25maWd1cmU6NDY2ODogY2hlY2tpbmcgZm9y
IGEgc2VkIHRoYXQgZG9lcyBub3QgdHJ1bmNhdGUgb3V0cHV0CmNvbmZpZ3Vy
ZTo0NzMyOiByZXN1bHQ6IC9iaW4vc2VkCmNvbmZpZ3VyZTo0NzUwOiBjaGVj
a2luZyBmb3IgZ3JlcCB0aGF0IGhhbmRsZXMgbG9uZyBsaW5lcyBhbmQgLWUK
Y29uZmlndXJlOjQ4MDg6IHJlc3VsdDogL2Jpbi9ncmVwCmNvbmZpZ3VyZTo0
ODEzOiBjaGVja2luZyBmb3IgZWdyZXAKY29uZmlndXJlOjQ4NzU6IHJlc3Vs
dDogL2Jpbi9ncmVwIC1FCmNvbmZpZ3VyZTo0ODgwOiBjaGVja2luZyBmb3Ig
ZmdyZXAKY29uZmlndXJlOjQ5NDI6IHJlc3VsdDogL2Jpbi9ncmVwIC1GCmNv
bmZpZ3VyZTo0OTc3OiBjaGVja2luZyBmb3IgbGQgdXNlZCBieSBnY2MKY29u
ZmlndXJlOjUwNDQ6IHJlc3VsdDogYzovdGluZ3cvbWluZ3czMi9iaW4vbGQu
ZXhlCmNvbmZpZ3VyZTo1MDUxOiBjaGVja2luZyBpZiB0aGUgbGlua2VyIChj
Oi90aW5ndy9taW5ndzMyL2Jpbi9sZC5leGUpIGlzIEdOVSBsZApjb25maWd1
cmU6NTA2NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjUwNzg6IGNoZWNraW5n
IGZvciBCU0QtIG9yIE1TLWNvbXBhdGlibGUgbmFtZSBsaXN0ZXIgKG5tKQpj
b25maWd1cmU6NTEyNzogcmVzdWx0OiAvYmluL25tIC1CCmNvbmZpZ3VyZTo1
MjU3OiBjaGVja2luZyB0aGUgbmFtZSBsaXN0ZXIgKC9iaW4vbm0gLUIpIGlu
dGVyZmFjZQpjb25maWd1cmU6NTI2NDogZ2NjIC1jIC1nIC1PMiAgY29uZnRl
c3QuYyA+JjUKY29uZmlndXJlOjUyNjc6IC9iaW4vbm0gLUIgImNvbmZ0ZXN0
Lm8iCmNvbmZpZ3VyZTo1MjcwOiBvdXRwdXQKMDAwMDAwMDAgYiAuYnNzCjAw
MDAwMDAwIGQgLmRhdGEKMDAwMDAwMDAgTiAuZGVidWdfYWJicmV2CjAwMDAw
MDAwIE4gLmRlYnVnX2FyYW5nZXMKMDAwMDAwMDAgTiAuZGVidWdfaW5mbwow
MDAwMDAwMCBOIC5kZWJ1Z19saW5lCjAwMDAwMDAwIHIgLnJkYXRhJHp6egow
MDAwMDAwMCB0IC50ZXh0CjAwMDAwMDAwIEIgX3NvbWVfdmFyaWFibGUKY29u
ZmlndXJlOjUyNzc6IHJlc3VsdDogQlNEIG5tCmNvbmZpZ3VyZTo1MjgwOiBj
aGVja2luZyB3aGV0aGVyIGxuIC1zIHdvcmtzCmNvbmZpZ3VyZTo1Mjg3OiBy
ZXN1bHQ6IG5vLCB1c2luZyBjcCAtcApjb25maWd1cmU6NTI5MjogY2hlY2tp
bmcgdGhlIG1heGltdW0gbGVuZ3RoIG9mIGNvbW1hbmQgbGluZSBhcmd1bWVu
dHMKY29uZmlndXJlOjU0MjI6IHJlc3VsdDogODE5Mgpjb25maWd1cmU6NTQz
OTogY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdW5kZXJzdGFuZHMgc29t
ZSBYU0kgY29uc3RydWN0cwpjb25maWd1cmU6NTQ0OTogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjU0NTM6IGNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHVu
ZGVyc3RhbmRzICIrPSIKY29uZmlndXJlOjU0NTk6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZTo1NDk0OiBjaGVja2luZyBob3cgdG8gY29udmVydCBpNjg2LXBj
LW1pbmd3MzIgZmlsZSBuYW1lcyB0byBpNjg2LXBjLW1pbmd3MzIgZm9ybWF0
CmNvbmZpZ3VyZTo1NTM0OiByZXN1bHQ6IGZ1bmNfY29udmVydF9maWxlX21z
eXNfdG9fdzMyCmNvbmZpZ3VyZTo1NTQxOiBjaGVja2luZyBob3cgdG8gY29u
dmVydCBpNjg2LXBjLW1pbmd3MzIgZmlsZSBuYW1lcyB0byB0b29sY2hhaW4g
Zm9ybWF0CmNvbmZpZ3VyZTo1NTYxOiByZXN1bHQ6IGZ1bmNfY29udmVydF9m
aWxlX21zeXNfdG9fdzMyCmNvbmZpZ3VyZTo1NTY4OiBjaGVja2luZyBmb3Ig
YzovdGluZ3cvbWluZ3czMi9iaW4vbGQuZXhlIG9wdGlvbiB0byByZWxvYWQg
b2JqZWN0IGZpbGVzCmNvbmZpZ3VyZTo1NTc1OiByZXN1bHQ6IC1yCmNvbmZp
Z3VyZTo1NjQ5OiBjaGVja2luZyBmb3Igb2JqZHVtcApjb25maWd1cmU6NTY2
NTogZm91bmQgL21pbmd3L2Jpbi9vYmpkdW1wCmNvbmZpZ3VyZTo1Njc2OiBy
ZXN1bHQ6IG9iamR1bXAKY29uZmlndXJlOjU3MDU6IGNoZWNraW5nIGhvdyB0
byByZWNvZ25pemUgZGVwZW5kZW50IGxpYnJhcmllcwpjb25maWd1cmU6NTkw
NzogcmVzdWx0OiBmaWxlX21hZ2ljIF54ODYgYXJjaGl2ZSBpbXBvcnR8Xng4
NiBETEwKY29uZmlndXJlOjU5OTI6IGNoZWNraW5nIGZvciBkbGx0b29sCmNv
bmZpZ3VyZTo2MDA4OiBmb3VuZCAvbWluZ3cvYmluL2RsbHRvb2wKY29uZmln
dXJlOjYwMTk6IHJlc3VsdDogZGxsdG9vbApjb25maWd1cmU6NjA0OTogY2hl
Y2tpbmcgaG93IHRvIGFzc29jaWF0ZSBydW50aW1lIGFuZCBsaW5rIGxpYnJh
cmllcwpjb25maWd1cmU6NjA3NjogcmVzdWx0OiBmdW5jX2N5Z21pbmdfZGxs
X2Zvcl9pbXBsaWIKY29uZmlndXJlOjYxMzc6IGNoZWNraW5nIGZvciBhcgpj
b25maWd1cmU6NjE1MzogZm91bmQgL21pbmd3L2Jpbi9hcgpjb25maWd1cmU6
NjE2NDogcmVzdWx0OiBhcgpjb25maWd1cmU6NjIwMTogY2hlY2tpbmcgZm9y
IGFyY2hpdmVyIEBGSUxFIHN1cHBvcnQKY29uZmlndXJlOjYyMTg6IGdjYyAt
YyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2MjE4OiAkPyA9
IDAKY29uZmlndXJlOjYyMjE6IGFyIGNydSBsaWJjb25mdGVzdC5hIEBjb25m
dGVzdC5sc3QgPiY1CmNvbmZpZ3VyZTo2MjI0OiAkPyA9IDAKY29uZmlndXJl
OjYyMjk6IGFyIGNydSBsaWJjb25mdGVzdC5hIEBjb25mdGVzdC5sc3QgPiY1
CmM6XFRpbkdXXGJpblxhci5leGU6IGNvbmZ0ZXN0Lm86IE5vIHN1Y2ggZmls
ZSBvciBkaXJlY3RvcnkNCmNvbmZpZ3VyZTo2MjMyOiAkPyA9IDEKY29uZmln
dXJlOjYyNDQ6IHJlc3VsdDogQApjb25maWd1cmU6NjMwMjogY2hlY2tpbmcg
Zm9yIHN0cmlwCmNvbmZpZ3VyZTo2MzE4OiBmb3VuZCAvbWluZ3cvYmluL3N0
cmlwCmNvbmZpZ3VyZTo2MzI5OiByZXN1bHQ6IHN0cmlwCmNvbmZpZ3VyZTo2
NDAxOiBjaGVja2luZyBmb3IgcmFubGliCmNvbmZpZ3VyZTo2NDE3OiBmb3Vu
ZCAvbWluZ3cvYmluL3JhbmxpYgpjb25maWd1cmU6NjQyODogcmVzdWx0OiBy
YW5saWIKY29uZmlndXJlOjY1MzA6IGNoZWNraW5nIGNvbW1hbmQgdG8gcGFy
c2UgL2Jpbi9ubSAtQiBvdXRwdXQgZnJvbSBnY2Mgb2JqZWN0CmNvbmZpZ3Vy
ZTo2NjUwOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1
cmU6NjY1MzogJD8gPSAwCmNvbmZpZ3VyZTo2NjU3OiAvYmluL25tIC1CIGNv
bmZ0ZXN0Lm8gXHwgc2VkIC1uIC1lICdzL14uKlsgXVwoW0FCQ0RHSVJTVFdd
W0FCQ0RHSVJTVFddKlwpWyBdWyBdKlwoW19BLVphLXpdW19BLVphLXowLTld
KlwpXHswLDFcfSQvXDEgXDIgXDIvcCcgfCBzZWQgJy8gX19nbnVfbHRvL2Qn
IFw+IGNvbmZ0ZXN0Lm5tCmNvbmZpZ3VyZTo2NjYwOiAkPyA9IDAKY2Fubm90
IGZpbmQgbm1fdGVzdF92YXIgaW4gY29uZnRlc3Qubm0KY29uZmlndXJlOjY2
NTA6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2
NjUzOiAkPyA9IDAKY29uZmlndXJlOjY2NTc6IC9iaW4vbm0gLUIgY29uZnRl
c3QubyBcfCBzZWQgLW4gLWUgJ3MvXi4qWyBdXChbQUJDREdJUlNUV11bQUJD
REdJUlNUV10qXClbIF1bIF0qX1woW19BLVphLXpdW19BLVphLXowLTldKlwp
XHswLDFcfSQvXDEgX1wyIFwyL3AnIHwgc2VkICcvIF9fZ251X2x0by9kJyBc
PiBjb25mdGVzdC5ubQpjb25maWd1cmU6NjY2MDogJD8gPSAwCmNvbmZpZ3Vy
ZTo2NzI2OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgIGNvbmZ0ZXN0
LmMgY29uZnRzdG0ubyA+JjUKY29uZmlndXJlOjY3Mjk6ICQ/ID0gMApjb25m
aWd1cmU6Njc2NzogcmVzdWx0OiBvawpjb25maWd1cmU6NjgwNDogY2hlY2tp
bmcgZm9yIHN5c3Jvb3QKY29uZmlndXJlOjY4MzQ6IHJlc3VsdDogbm8KY29u
ZmlndXJlOjcwOTA6IGNoZWNraW5nIGZvciBtdApjb25maWd1cmU6NzEyMDog
cmVzdWx0OiBubwpjb25maWd1cmU6NzE0MDogY2hlY2tpbmcgaWYgOiBpcyBh
IG1hbmlmZXN0IHRvb2wKY29uZmlndXJlOjcxNDY6IDogJy0/Jwpjb25maWd1
cmU6NzE1NDogcmVzdWx0OiBubwpjb25maWd1cmU6Nzc5MjogY2hlY2tpbmcg
Zm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMKY29uZmlndXJlOjc4MTI6IGdjYyAt
YyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo3ODEyOiAkPyA9
IDAKY29uZmlndXJlOjc4ODU6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8y
ICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo3ODg1OiAkPyA9IDAKY29u
ZmlndXJlOjc4ODU6IC4vY29uZnRlc3QuZXhlCmNvbmZpZ3VyZTo3ODg1OiAk
PyA9IDAKY29uZmlndXJlOjc4OTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo3
OTA5OiBjaGVja2luZyBmb3Igc3lzL3R5cGVzLmgKY29uZmlndXJlOjc5MDk6
IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo3OTA5
OiAkPyA9IDAKY29uZmlndXJlOjc5MDk6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTo3OTA5OiBjaGVja2luZyBmb3Igc3lzL3N0YXQuaApjb25maWd1cmU6Nzkw
OTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjc5
MDk6ICQ/ID0gMApjb25maWd1cmU6NzkwOTogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjc5MDk6IGNoZWNraW5nIGZvciBzdGRsaWIuaApjb25maWd1cmU6Nzkw
OTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjc5
MDk6ICQ/ID0gMApjb25maWd1cmU6NzkwOTogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjc5MDk6IGNoZWNraW5nIGZvciBzdHJpbmcuaApjb25maWd1cmU6Nzkw
OTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjc5
MDk6ICQ/ID0gMApjb25maWd1cmU6NzkwOTogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjc5MDk6IGNoZWNraW5nIGZvciBtZW1vcnkuaApjb25maWd1cmU6Nzkw
OTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjc5
MDk6ICQ/ID0gMApjb25maWd1cmU6NzkwOTogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjc5MDk6IGNoZWNraW5nIGZvciBzdHJpbmdzLmgKY29uZmlndXJlOjc5
MDk6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo3
OTA5OiAkPyA9IDAKY29uZmlndXJlOjc5MDk6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZTo3OTA5OiBjaGVja2luZyBmb3IgaW50dHlwZXMuaApjb25maWd1cmU6
NzkwOTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl
Ojc5MDk6ICQ/ID0gMApjb25maWd1cmU6NzkwOTogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjc5MDk6IGNoZWNraW5nIGZvciBzdGRpbnQuaApjb25maWd1cmU6
NzkwOTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl
Ojc5MDk6ICQ/ID0gMApjb25maWd1cmU6NzkwOTogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjc5MDk6IGNoZWNraW5nIGZvciB1bmlzdGQuaApjb25maWd1cmU6
NzkwOTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl
Ojc5MDk6ICQ/ID0gMApjb25maWd1cmU6NzkwOTogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjc5MjM6IGNoZWNraW5nIGZvciBkbGZjbi5oCmNvbmZpZ3VyZTo3
OTIzOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j
OjU1OjE5OiBmYXRhbCBlcnJvcjogZGxmY24uaDogTm8gc3VjaCBmaWxlIG9y
IGRpcmVjdG9yeQogI2luY2x1ZGUgPGRsZmNuLmg+CiAgICAgICAgICAgICAg
ICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo3OTIz
OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog
Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTGli
dG9vbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlidG9vbCIKfCAj
ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBQQUNL
QUdFX1NUUklORyAiR05VIExpYnRvb2wgMi40LjIiCnwgI2RlZmluZSBQQUNL
QUdFX0JVR1JFUE9SVCAiYnVnLWxpYnRvb2xAZ251Lm9yZyIKfCAjZGVmaW5l
IFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGli
dG9vbC8iCnwgI2RlZmluZSBQQUNLQUdFICJsaWJ0b29sIgp8ICNkZWZpbmUg
VkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T
VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI
QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW
RV9VTklTVERfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs
dWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBp
bmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T
WVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8
ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8
ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVf
U1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwg
I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVk
IFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBp
bmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJp
bmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGlu
Y2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRU
WVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNp
ZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAj
ZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5p
c3RkLmg+CnwgI2VuZGlmCnwgCnwgI2luY2x1ZGUgPGRsZmNuLmg+CmNvbmZp
Z3VyZTo3OTIzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo3OTg3OiBjaGVja2lu
ZyBmb3IgYXMKY29uZmlndXJlOjgwMDM6IGZvdW5kIC9taW5ndy9iaW4vYXMK
Y29uZmlndXJlOjgwMTQ6IHJlc3VsdDogYXMKY29uZmlndXJlOjgwNzk6IGNo
ZWNraW5nIGZvciBkbGx0b29sCmNvbmZpZ3VyZTo4MTA2OiByZXN1bHQ6IGRs
bHRvb2wKY29uZmlndXJlOjgxNzE6IGNoZWNraW5nIGZvciBvYmpkdW1wCmNv
bmZpZ3VyZTo4MTk4OiByZXN1bHQ6IG9iamR1bXAKY29uZmlndXJlOjg0MjY6
IGNoZWNraW5nIGZvciBvYmpkaXIKY29uZmlndXJlOjg0NDE6IHJlc3VsdDog
LmxpYnMKY29uZmlndXJlOjg3MTI6IGNoZWNraW5nIGlmIGdjYyBzdXBwb3J0
cyAtZm5vLXJ0dGkgLWZuby1leGNlcHRpb25zCmNvbmZpZ3VyZTo4NzMwOiBn
Y2MgLWMgLWcgLU8yICAtZm5vLXJ0dGkgLWZuby1leGNlcHRpb25zIGNvbmZ0
ZXN0LmMgPiY1CmNjMS5leGU6IHdhcm5pbmc6IGNvbW1hbmQgbGluZSBvcHRp
b24gJy1mbm8tcnR0aScgaXMgdmFsaWQgZm9yIEMrKy9PYmpDKysgYnV0IG5v
dCBmb3IgQyBbZW5hYmxlZCBieSBkZWZhdWx0XQ0KY29uZmlndXJlOjg3MzQ6
ICQ/ID0gMApjb25maWd1cmU6ODc0NzogcmVzdWx0OiBubwpjb25maWd1cmU6
OTA3NDogY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gcHJvZHVjZSBQSUMK
Y29uZmlndXJlOjkwODE6IHJlc3VsdDogLURETExfRVhQT1JUIC1EUElDCmNv
bmZpZ3VyZTo5MDg5OiBjaGVja2luZyBpZiBnY2MgUElDIGZsYWcgLURETExf
RVhQT1JUIC1EUElDIHdvcmtzCmNvbmZpZ3VyZTo5MTA3OiBnY2MgLWMgLWcg
LU8yICAtRERMTF9FWFBPUlQgLURQSUMgLURQSUMgY29uZnRlc3QuYyA+JjUK
Y29uZmlndXJlOjkxMTE6ICQ/ID0gMApjb25maWd1cmU6OTEyNDogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjkxNTM6IGNoZWNraW5nIGlmIGdjYyBzdGF0aWMg
ZmxhZyAtc3RhdGljIHdvcmtzCmNvbmZpZ3VyZTo5MTgxOiByZXN1bHQ6IHll
cwpjb25maWd1cmU6OTE5NjogY2hlY2tpbmcgaWYgZ2NjIHN1cHBvcnRzIC1j
IC1vIGZpbGUubwpjb25maWd1cmU6OTIxNzogZ2NjIC1jIC1nIC1PMiAgLW8g
b3V0L2NvbmZ0ZXN0Mi5vIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5MjIx
OiAkPyA9IDAKY29uZmlndXJlOjkyNDM6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTo5MjUxOiBjaGVja2luZyBpZiBnY2Mgc3VwcG9ydHMgLWMgLW8gZmlsZS5v
CmNvbmZpZ3VyZTo5Mjk4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTMzMTog
Y2hlY2tpbmcgd2hldGhlciB0aGUgZ2NjIGxpbmtlciAoYzovdGluZ3cvbWlu
Z3czMi9iaW4vbGQuZXhlKSBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzCmNv
bmZpZ3VyZToxMDQ4NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwNTIxOiBj
aGVja2luZyB3aGV0aGVyIC1sYyBzaG91bGQgYmUgZXhwbGljaXRseSBsaW5r
ZWQgaW4KY29uZmlndXJlOjEwNTI5OiBnY2MgLWMgLWcgLU8yICBjb25mdGVz
dC5jID4mNQpjb25maWd1cmU6MTA1MzI6ICQ/ID0gMApjb25maWd1cmU6MTA1
NDc6IGdjYyAtc2hhcmVkIGNvbmZ0ZXN0Lm8gIC12IC1vIC4vY29uZnRlc3Qg
LVdsLC0tZW5hYmxlLWF1dG8taW1hZ2UtYmFzZSAtWGxpbmtlciAtLW91dC1p
bXBsaWIgLVhsaW5rZXIgY29uZnRlc3QgMlw+XCYxIFx8IC9iaW4vZ3JlcCAg
LWxjICBcPi9kZXYvbnVsbCAyXD5cJjEKY29uZmlndXJlOjEwNTUwOiAkPyA9
IDEKY29uZmlndXJlOjEwNTY0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTA3
MjQ6IGNoZWNraW5nIGR5bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcwpj
b25maWd1cmU6MTE0NTc6IHJlc3VsdDogV2luMzIgbGQuZXhlCmNvbmZpZ3Vy
ZToxMTU2NDogY2hlY2tpbmcgaG93IHRvIGhhcmRjb2RlIGxpYnJhcnkgcGF0
aHMgaW50byBwcm9ncmFtcwpjb25maWd1cmU6MTE1ODk6IHJlc3VsdDogaW1t
ZWRpYXRlCmNvbmZpZ3VyZToxMjEyOTogY2hlY2tpbmcgd2hldGhlciBzdHJp
cHBpbmcgbGlicmFyaWVzIGlzIHBvc3NpYmxlCmNvbmZpZ3VyZToxMjEzNDog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyMTY5OiBjaGVja2luZyBpZiBsaWJ0
b29sIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMKY29uZmlndXJlOjEyMTcx
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTIxNzQ6IGNoZWNraW5nIHdoZXRo
ZXIgdG8gYnVpbGQgc2hhcmVkIGxpYnJhcmllcwpjb25maWd1cmU6MTIxOTU6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjE5ODogY2hlY2tpbmcgd2hldGhl
ciB0byBidWlsZCBzdGF0aWMgbGlicmFyaWVzCmNvbmZpZ3VyZToxMjIwMjog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyMjQwOiBjaGVja2luZyB3aGljaCBl
eHRlbnNpb24gaXMgdXNlZCBmb3IgcnVudGltZSBsb2FkYWJsZSBtb2R1bGVz
CmNvbmZpZ3VyZToxMjI1MjogcmVzdWx0OiAuZGxsCmNvbmZpZ3VyZToxMjI2
OTogY2hlY2tpbmcgd2hpY2ggdmFyaWFibGUgc3BlY2lmaWVzIHJ1bi10aW1l
IG1vZHVsZSBzZWFyY2ggcGF0aApjb25maWd1cmU6MTIyNzY6IHJlc3VsdDog
UEFUSApjb25maWd1cmU6MTIyODY6IGNoZWNraW5nIGZvciB0aGUgZGVmYXVs
dCBsaWJyYXJ5IHNlYXJjaCBwYXRoCmNvbmZpZ3VyZToxMjI5MzogcmVzdWx0
OiAvbGliIC91c3IvbGliCmNvbmZpZ3VyZToxMjMyMzogY2hlY2tpbmcgZm9y
IGxpYnJhcnkgY29udGFpbmluZyBkbG9wZW4KY29uZmlndXJlOjEyMzU0OiBn
Y2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpD
OlxVc2Vyc1xQVVNIX1R+MVxBcHBEYXRhXExvY2FsXFRlbXBcY2NPM0NicDgu
bzogSW4gZnVuY3Rpb24gYG1haW4nOgpjOlxUaW5HV1xsaWJ0b29sLWJ1aWxk
LWR1ZS10by1HTlUvY29uZnRlc3QuYzozNjogdW5kZWZpbmVkIHJlZmVyZW5j
ZSB0byBgZGxvcGVuJwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5l
ZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMjM1NDogJD8gPSAxCmNvbmZp
Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K
fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIExpYnRvb2wiCnwgI2RlZmlu
ZSBQQUNLQUdFX1RBUk5BTUUgImxpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdF
X1ZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdO
VSBMaWJ0b29sIDIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg
ImJ1Zy1saWJ0b29sQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAi
aHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYnRvb2wvIgp8ICNkZWZp
bmUgUEFDS0FHRSAibGlidG9vbCIKfCAjZGVmaW5lIFZFUlNJT04gIjIuNC4y
Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx
CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS
SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8
ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBMVF9NT0RV
TEVfRVhUICIuZGxsIgp8ICNkZWZpbmUgTFRfTU9EVUxFX1BBVEhfVkFSICJQ
QVRIIgp8ICNkZWZpbmUgTFRfRExTRUFSQ0hfUEFUSCAiL2xpYjovdXNyL2xp
YiIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUg
YW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu
CnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJl
dHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg
YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAj
aWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hh
ciBkbG9wZW4gKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZGxv
cGVuICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTIz
NTQ6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgY29uZnRlc3QuYyAt
bGRsICAgPiY1CkM6XFVzZXJzXFBVU0hfVH4xXEFwcERhdGFcTG9jYWxcVGVt
cFxjY3dVckFNVi5vOiBJbiBmdW5jdGlvbiBgbWFpbic6CmM6XFRpbkdXXGxp
YnRvb2wtYnVpbGQtZHVlLXRvLUdOVS9jb25mdGVzdC5jOjM2OiB1bmRlZmlu
ZWQgcmVmZXJlbmNlIHRvIGBkbG9wZW4nCmNvbGxlY3QyLmV4ZTogZXJyb3I6
IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjEyMzU0OiAk
PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u
ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTGlidG9v
bCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlidG9vbCIKfCAjZGVm
aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBQQUNLQUdF
X1NUUklORyAiR05VIExpYnRvb2wgMi40LjIiCnwgI2RlZmluZSBQQUNLQUdF
X0JVR1JFUE9SVCAiYnVnLWxpYnRvb2xAZ251Lm9yZyIKfCAjZGVmaW5lIFBB
Q0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGlidG9v
bC8iCnwgI2RlZmluZSBQQUNLQUdFICJsaWJ0b29sIgp8ICNkZWZpbmUgVkVS
U0lPTiAiMi40LjIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp
bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF
X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I
IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V
TklTVERfSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVm
aW5lIExUX01PRFVMRV9FWFQgIi5kbGwiCnwgI2RlZmluZSBMVF9NT0RVTEVf
UEFUSF9WQVIgIlBBVEgiCnwgI2RlZmluZSBMVF9ETFNFQVJDSF9QQVRIICIv
bGliOi91c3IvbGliIgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAv
KiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9p
ZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBt
YXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFu
ZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBw
bHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAj
ZW5kaWYKfCBjaGFyIGRsb3BlbiAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8
IHJldHVybiBkbG9wZW4gKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNv
bmZpZ3VyZToxMjM3MTogcmVzdWx0OiBubwpjb25maWd1cmU6MTIzOTk6IGdj
YyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CkM6
XFVzZXJzXFBVU0hfVH4xXEFwcERhdGFcTG9jYWxcVGVtcFxjY3JSVXdFcS5v
OiBJbiBmdW5jdGlvbiBgbWFpbic6CmM6XFRpbkdXXGxpYnRvb2wtYnVpbGQt
ZHVlLXRvLUdOVS9jb25mdGVzdC5jOjMyOiB1bmRlZmluZWQgcmVmZXJlbmNl
IHRvIGBkbG9wZW4nCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVk
IDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjEyMzk5OiAkPyA9IDEKY29uZmln
dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8
ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTGlidG9vbCIKfCAjZGVmaW5l
IFBBQ0tBR0VfVEFSTkFNRSAibGlidG9vbCIKfCAjZGVmaW5lIFBBQ0tBR0Vf
VkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05V
IExpYnRvb2wgMi40LjIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi
YnVnLWxpYnRvb2xAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJo
dHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGlidG9vbC8iCnwgI2RlZmlu
ZSBQQUNLQUdFICJsaWJ0b29sIgp8ICNkZWZpbmUgVkVSU0lPTiAiMi40LjIi
CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf
VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK
fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ
TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l
IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg
I2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIExUX01PRFVM
RV9FWFQgIi5kbGwiCnwgI2RlZmluZSBMVF9NT0RVTEVfUEFUSF9WQVIgIlBB
VEgiCnwgI2RlZmluZSBMVF9ETFNFQVJDSF9QQVRIICIvbGliOi91c3IvbGli
Igp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaWYgSEFWRV9ETEZDTl9I
CnwgIyAgaW5jbHVkZSA8ZGxmY24uaD4KfCAjZW5kaWYKfCAKfCBpbnQKfCBt
YWluICgpCnwgewp8IGRsb3BlbigwLCAwKTsKfCAgIDsKfCAgIHJldHVybiAw
Owp8IH0KY29uZmlndXJlOjEyNDA2OiBjaGVja2luZyBmb3IgZGxvcGVuIGlu
IC1sc3ZsZApjb25maWd1cmU6MTI0MzE6IGdjYyAtbyBjb25mdGVzdC5leGUg
LWcgLU8yICAgY29uZnRlc3QuYyAtbHN2bGQgICA+JjUKYzovdGluZ3cvYmlu
Ly4uL2xpYi9nY2MvbWluZ3czMi80LjguMS8uLi8uLi8uLi8uLi9taW5ndzMy
L2Jpbi9sZC5leGU6IGNhbm5vdCBmaW5kIC1sc3ZsZApjb2xsZWN0Mi5leGU6
IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTox
MjQzMTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8
IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05V
IExpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnRvb2wi
CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUg
UEFDS0FHRV9TVFJJTkcgIkdOVSBMaWJ0b29sIDIuNC4yIgp8ICNkZWZpbmUg
UEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1saWJ0b29sQGdudS5vcmciCnwgI2Rl
ZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJl
L2xpYnRvb2wvIgp8ICNkZWZpbmUgUEFDS0FHRSAibGlidG9vbCIKfCAjZGVm
aW5lIFZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK
fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U
VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l
IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8i
CnwgI2RlZmluZSBMVF9NT0RVTEVfRVhUICIuZGxsIgp8ICNkZWZpbmUgTFRf
TU9EVUxFX1BBVEhfVkFSICJQQVRIIgp8ICNkZWZpbmUgTFRfRExTRUFSQ0hf
UEFUSCAiL2xpYjovdXNyL2xpYiIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov
CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUg
dG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQg
bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVp
bHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0
aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4g
IkMiCnwgI2VuZGlmCnwgY2hhciBkbG9wZW4gKCk7CnwgaW50CnwgbWFpbiAo
KQp8IHsKfCByZXR1cm4gZGxvcGVuICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7
CnwgfQpjb25maWd1cmU6MTI0NDA6IHJlc3VsdDogbm8KY29uZmlndXJlOjEy
NDc1OiBjaGVja2luZyBmb3Igc2hsX2xvYWQKY29uZmlndXJlOjEyNDc1OiBn
Y2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpD
OlxVc2Vyc1xQVVNIX1R+MVxBcHBEYXRhXExvY2FsXFRlbXBcY2NDNEF6T1Uu
bzogSW4gZnVuY3Rpb24gYG1haW4nOgpjOlxUaW5HV1xsaWJ0b29sLWJ1aWxk
LWR1ZS10by1HTlUvY29uZnRlc3QuYzo1OTogdW5kZWZpbmVkIHJlZmVyZW5j
ZSB0byBgc2hsX2xvYWQnCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVy
bmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjEyNDc1OiAkPyA9IDEKY29u
ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq
Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTGlidG9vbCIKfCAjZGVm
aW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlidG9vbCIKfCAjZGVmaW5lIFBBQ0tB
R0VfVkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi
R05VIExpYnRvb2wgMi40LjIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S
VCAiYnVnLWxpYnRvb2xAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJM
ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGlidG9vbC8iCnwgI2Rl
ZmluZSBQQUNLQUdFICJsaWJ0b29sIgp8ICNkZWZpbmUgVkVSU0lPTiAiMi40
LjIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T
WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I
IDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm
aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx
CnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIExUX01P
RFVMRV9FWFQgIi5kbGwiCnwgI2RlZmluZSBMVF9NT0RVTEVfUEFUSF9WQVIg
IlBBVEgiCnwgI2RlZmluZSBMVF9ETFNFQVJDSF9QQVRIICIvbGliOi91c3Iv
bGliIgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgc2hs
X2xvYWQgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0
cy5oPiBkZWNsYXJlcyBzaGxfbG9hZC4KfCAgICBGb3IgZXhhbXBsZSwgSFAt
VVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8K
fCAjZGVmaW5lIHNobF9sb2FkIGlubm9jdW91c19zaGxfbG9hZAp8IAp8IC8q
IFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhv
cGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZs
aWN0IHdpdGggY2hhciBzaGxfbG9hZCAoKTsgYmVsb3cuCnwgICAgIFByZWZl
ciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVm
aW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBm
cmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERD
X18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRl
IDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgc2hsX2xvYWQKfCAK
fCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBh
dm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdo
dCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGlu
IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwg
YXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIK
fCAjZW5kaWYKfCBjaGFyIHNobF9sb2FkICgpOwp8IC8qIFRoZSBHTlUgQyBs
aWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGlt
cGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBT
b21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRo
aW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBh
biBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX3NobF9sb2FkIHx8
IGRlZmluZWQgX19zdHViX19fc2hsX2xvYWQKfCBjaG9rZSBtZQp8ICNlbmRp
Zgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHNobF9sb2FkICgp
Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTI0NzU6IHJl
c3VsdDogbm8KY29uZmlndXJlOjEyNDgyOiBjaGVja2luZyBmb3Igc2hsX2xv
YWQgaW4gLWxkbGQKY29uZmlndXJlOjEyNTA3OiBnY2MgLW8gY29uZnRlc3Qu
ZXhlIC1nIC1PMiAgIGNvbmZ0ZXN0LmMgLWxkbGQgICA+JjUKYzovdGluZ3cv
YmluLy4uL2xpYi9nY2MvbWluZ3czMi80LjguMS8uLi8uLi8uLi8uLi9taW5n
dzMyL2Jpbi9sZC5leGU6IGNhbm5vdCBmaW5kIC1sZGxkCmNvbGxlY3QyLmV4
ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJl
OjEyNTA3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6
CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJH
TlUgTGlidG9vbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlidG9v
bCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi40LjIiCnwgI2RlZmlu
ZSBQQUNLQUdFX1NUUklORyAiR05VIExpYnRvb2wgMi40LjIiCnwgI2RlZmlu
ZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWxpYnRvb2xAZ251Lm9yZyIKfCAj
ZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdh
cmUvbGlidG9vbC8iCnwgI2RlZmluZSBQQUNLQUdFICJsaWJ0b29sIgp8ICNk
ZWZpbmUgVkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J
TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp
bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJz
LyIKfCAjZGVmaW5lIExUX01PRFVMRV9FWFQgIi5kbGwiCnwgI2RlZmluZSBM
VF9NT0RVTEVfUEFUSF9WQVIgIlBBVEgiCnwgI2RlZmluZSBMVF9ETFNFQVJD
SF9QQVRIICIvbGliOi91c3IvbGliIgp8IC8qIGVuZCBjb25mZGVmcy5oLiAg
Ki8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlw
ZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGlu
dCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBi
dWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQg
c3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVy
biAiQyIKfCAjZW5kaWYKfCBjaGFyIHNobF9sb2FkICgpOwp8IGludAp8IG1h
aW4gKCkKfCB7CnwgcmV0dXJuIHNobF9sb2FkICgpOwp8ICAgOwp8ICAgcmV0
dXJuIDA7CnwgfQpjb25maWd1cmU6MTI1MTY6IHJlc3VsdDogbm8KY29uZmln
dXJlOjEyNTQ2OiBjaGVja2luZyB3aGV0aGVyIGN5Z3dpbl9jb252X3BhdGgg
aXMgZGVjbGFyZWQKY29uZmlndXJlOjEyNTQ2OiBnY2MgLWMgLWcgLU8yICBj
b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjI1OjI0OiBmYXRhbCBlcnJvcjog
c3lzL2N5Z3dpbi5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5j
bHVkZSA8c3lzL2N5Z3dpbi5oPgogICAgICAgICAgICAgICAgICAgICAgICBe
CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxMjU0NjogJD8g
PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk
ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIExpYnRvb2wi
CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnRvb2wiCnwgI2RlZmlu
ZSBQQUNLQUdFX1ZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9T
VFJJTkcgIkdOVSBMaWJ0b29sIDIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9C
VUdSRVBPUlQgImJ1Zy1saWJ0b29sQGdudS5vcmciCnwgI2RlZmluZSBQQUNL
QUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYnRvb2wv
Igp8ICNkZWZpbmUgUEFDS0FHRSAibGlidG9vbCIKfCAjZGVmaW5lIFZFUlNJ
T04gIjIuNC4yIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I
IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l
IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx
CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J
U1REX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmlu
ZSBMVF9NT0RVTEVfRVhUICIuZGxsIgp8ICNkZWZpbmUgTFRfTU9EVUxFX1BB
VEhfVkFSICJQQVRIIgp8ICNkZWZpbmUgTFRfRExTRUFSQ0hfUEFUSCAiL2xp
YjovdXNyL2xpYiIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1
ZGUgPHN5cy9jeWd3aW4uaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8ICNp
Zm5kZWYgY3lnd2luX2NvbnZfcGF0aAp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8
ICAgKHZvaWQpIGN5Z3dpbl9jb252X3BhdGg7CnwgI2Vsc2UKfCAgICh2b2lk
KSBjeWd3aW5fY29udl9wYXRoOwp8ICNlbmRpZgp8ICNlbmRpZgp8IAp8ICAg
Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTI1NDY6IHJlc3VsdDog
bm8KY29uZmlndXJlOjEyNTYyOiBjaGVja2luZyBmb3IgZGxkX2xpbmsgaW4g
LWxkbGQKY29uZmlndXJlOjEyNTg3OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1n
IC1PMiAgIGNvbmZ0ZXN0LmMgLWxkbGQgICA+JjUKYzovdGluZ3cvYmluLy4u
L2xpYi9nY2MvbWluZ3czMi80LjguMS8uLi8uLi8uLi8uLi9taW5ndzMyL2Jp
bi9sZC5leGU6IGNhbm5vdCBmaW5kIC1sZGxkCmNvbGxlY3QyLmV4ZTogZXJy
b3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjEyNTg3
OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog
Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTGli
dG9vbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlidG9vbCIKfCAj
ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBQQUNL
QUdFX1NUUklORyAiR05VIExpYnRvb2wgMi40LjIiCnwgI2RlZmluZSBQQUNL
QUdFX0JVR1JFUE9SVCAiYnVnLWxpYnRvb2xAZ251Lm9yZyIKfCAjZGVmaW5l
IFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGli
dG9vbC8iCnwgI2RlZmluZSBQQUNLQUdFICJsaWJ0b29sIgp8ICNkZWZpbmUg
VkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T
VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI
QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW
RV9VTklTVERfSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAj
ZGVmaW5lIExUX01PRFVMRV9FWFQgIi5kbGwiCnwgI2RlZmluZSBMVF9NT0RV
TEVfUEFUSF9WQVIgIlBBVEgiCnwgI2RlZmluZSBMVF9ETFNFQVJDSF9QQVRI
ICIvbGliOi91c3IvbGliIgp8ICNkZWZpbmUgSEFWRV9ERUNMX0NZR1dJTl9D
T05WX1BBVEggMAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBP
dmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh
biBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRj
aCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0
aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHku
ICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5k
aWYKfCBjaGFyIGRsZF9saW5rICgpOwp8IGludAp8IG1haW4gKCkKfCB7Cnwg
cmV0dXJuIGRsZF9saW5rICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj
b25maWd1cmU6MTI1OTY6IHJlc3VsdDogbm8KY29uZmlndXJlOjEyNjMwOiBj
aGVja2luZyBmb3IgXyBwcmVmaXggaW4gY29tcGlsZWQgc3ltYm9scwpjb25m
aWd1cmU6MTI2NDA6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNv
bmZpZ3VyZToxMjY0MzogJD8gPSAwCmNvbmZpZ3VyZToxMjY0NzogL2Jpbi9u
bSAtQiBjb25mdGVzdC5vIFx8IHNlZCAtbiAtZSAncy9eLipbCSBdXChbQUJD
REdJUlNUV11bQUJDREdJUlNUV10qXClbCSBdWwkgXSpfXChbX0EtWmEtel1b
X0EtWmEtejAtOV0qXClcezAsMVx9JC9cMSBfXDIgXDIvcCcgfCBzZWQgJy8g
X19nbnVfbHRvL2QnIFw+IGNvbmZ0ZXN0Lm5tCmNvbmZpZ3VyZToxMjY1MDog
JD8gPSAwCmNvbmZpZ3VyZToxMjY3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjEyNzk2OiBjaGVja2luZyB3aGV0aGVyIGRlcGxpYnMgYXJlIGxvYWRlZCBi
eSBkbG9wZW4KY29uZmlndXJlOjEyODkwOiByZXN1bHQ6IHVua25vd24KY29u
ZmlndXJlOjEyOTAyOiBjaGVja2luZyBmb3IgYXJnei5oCmNvbmZpZ3VyZTox
MjkwMjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3Qu
Yzo2MjoxODogZmF0YWwgZXJyb3I6IGFyZ3ouaDogTm8gc3VjaCBmaWxlIG9y
IGRpcmVjdG9yeQogI2luY2x1ZGUgPGFyZ3ouaD4KICAgICAgICAgICAgICAg
ICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTI5MDI6
ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj
b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBMaWJ0
b29sIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJ0b29sIgp8ICNk
ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjQuMiIKfCAjZGVmaW5lIFBBQ0tB
R0VfU1RSSU5HICJHTlUgTGlidG9vbCAyLjQuMiIKfCAjZGVmaW5lIFBBQ0tB
R0VfQlVHUkVQT1JUICJidWctbGlidG9vbEBnbnUub3JnIgp8ICNkZWZpbmUg
UEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJ0
b29sLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImxpYnRvb2wiCnwgI2RlZmluZSBW
RVJTSU9OICIyLjQuMiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl
ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB
VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF
X1VOSVNURF9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNk
ZWZpbmUgTFRfTU9EVUxFX0VYVCAiLmRsbCIKfCAjZGVmaW5lIExUX01PRFVM
RV9QQVRIX1ZBUiAiUEFUSCIKfCAjZGVmaW5lIExUX0RMU0VBUkNIX1BBVEgg
Ii9saWI6L3Vzci9saWIiCnwgI2RlZmluZSBIQVZFX0RFQ0xfQ1lHV0lOX0NP
TlZfUEFUSCAwCnwgI2RlZmluZSBIQVZFX0xJQkRMTE9BREVSIDEKfCAjZGVm
aW5lIExURExfRExPUEVOX0RFUExJQlMgMQp8IC8qIGVuZCBjb25mZGVmcy5o
LiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNf
VFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwg
I2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQu
aD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRl
IDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwg
IyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+
CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwg
IyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01F
TU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMg
aW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RS
SU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lm
ZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4K
fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8
c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAj
IGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDxh
cmd6Lmg+CmNvbmZpZ3VyZToxMjkwMjogcmVzdWx0OiBubwpjb25maWd1cmU6
MTI5MTQ6IGNoZWNraW5nIGZvciBlcnJvcl90CmNvbmZpZ3VyZToxMjkxNDog
Z2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4g
ZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjM1OjEzOiBlcnJvcjogJ2Vy
cm9yX3QnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u
KQogaWYgKHNpemVvZiAoZXJyb3JfdCkpCiAgICAgICAgICAgICBeCmNvbmZ0
ZXN0LmM6MzU6MTM6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVy
IGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBh
cHBlYXJzIGluCmNvbmZpZ3VyZToxMjkxNDogJD8gPSAxCmNvbmZpZ3VyZTog
ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm
aW5lIFBBQ0tBR0VfTkFNRSAiR05VIExpYnRvb2wiCnwgI2RlZmluZSBQQUNL
QUdFX1RBUk5BTUUgImxpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ
T04gIjIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBMaWJ0
b29sIDIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1s
aWJ0b29sQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDov
L3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYnRvb2wvIgp8ICNkZWZpbmUgUEFD
S0FHRSAibGlidG9vbCIKfCAjZGVmaW5lIFZFUlNJT04gIjIuNC4yIgp8ICNk
ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB
VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl
ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I
IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp
bmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBMVF9NT0RVTEVfRVhU
ICIuZGxsIgp8ICNkZWZpbmUgTFRfTU9EVUxFX1BBVEhfVkFSICJQQVRIIgp8
ICNkZWZpbmUgTFRfRExTRUFSQ0hfUEFUSCAiL2xpYjovdXNyL2xpYiIKfCAj
ZGVmaW5lIEhBVkVfREVDTF9DWUdXSU5fQ09OVl9QQVRIIDAKfCAjZGVmaW5l
IEhBVkVfTElCRExMT0FERVIgMQp8ICNkZWZpbmUgTFRETF9ETE9QRU5fREVQ
TElCUyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpZiBkZWZpbmVk
KEhBVkVfQVJHWl9IKQp8ICMgIGluY2x1ZGUgPGFyZ3ouaD4KfCAjZW5kaWYK
fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKGVycm9yX3Qp
KQp8IAkgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp
Z3VyZToxMjkxNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI5NDA6IGNoZWNr
aW5nIGZvciBhcmd6X2FkZApjb25maWd1cmU6MTI5NDA6IGdjYyAtbyBjb25m
dGVzdC5leGUgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CkM6XFVzZXJzXFBV
U0hfVH4xXEFwcERhdGFcTG9jYWxcVGVtcFxjYzZaclJkMy5vOiBJbiBmdW5j
dGlvbiBgbWFpbic6CmM6XFRpbkdXXGxpYnRvb2wtYnVpbGQtZHVlLXRvLUdO
VS9jb25mdGVzdC5jOjY0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBhcmd6
X2FkZCcKY29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0
IHN0YXR1cwpjb25maWd1cmU6MTI5NDA6ICQ/ID0gMQpjb25maWd1cmU6IGZh
aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu
ZSBQQUNLQUdFX05BTUUgIkdOVSBMaWJ0b29sIgp8ICNkZWZpbmUgUEFDS0FH
RV9UQVJOQU1FICJsaWJ0b29sIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O
ICIyLjQuMiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgTGlidG9v
bCAyLjQuMiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctbGli
dG9vbEBnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93
d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJ0b29sLyIKfCAjZGVmaW5lIFBBQ0tB
R0UgImxpYnRvb2wiCnwgI2RlZmluZSBWRVJTSU9OICIyLjQuMiIKfCAjZGVm
aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF
X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp
bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx
CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l
IExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgTFRfTU9EVUxFX0VYVCAi
LmRsbCIKfCAjZGVmaW5lIExUX01PRFVMRV9QQVRIX1ZBUiAiUEFUSCIKfCAj
ZGVmaW5lIExUX0RMU0VBUkNIX1BBVEggIi9saWI6L3Vzci9saWIiCnwgI2Rl
ZmluZSBIQVZFX0RFQ0xfQ1lHV0lOX0NPTlZfUEFUSCAwCnwgI2RlZmluZSBI
QVZFX0xJQkRMTE9BREVSIDEKfCAjZGVmaW5lIExURExfRExPUEVOX0RFUExJ
QlMgMQp8ICNkZWZpbmUgZXJyb3JfdCBpbnQKfCAjZGVmaW5lIF9fZXJyb3Jf
dF9kZWZpbmVkIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVm
aW5lIGFyZ3pfYWRkIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNl
IDxsaW1pdHMuaD4gZGVjbGFyZXMgYXJnel9hZGQuCnwgICAgRm9yIGV4YW1w
bGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRh
eS4gICovCnwgI2RlZmluZSBhcmd6X2FkZCBpbm5vY3VvdXNfYXJnel9hZGQK
fCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9z
IGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNh
biBjb25mbGljdCB3aXRoIGNoYXIgYXJnel9hZGQgKCk7IGJlbG93Lgp8ICAg
ICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19f
IGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2
ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVm
IF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMg
aW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGFyZ3pf
YWRkCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5
cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBp
bnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAg
YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk
IHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRl
cm4gIkMiCnwgI2VuZGlmCnwgY2hhciBhcmd6X2FkZCAoKTsKfCAvKiBUaGUg
R05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGlj
aCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5P
U1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAg
IHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5h
bWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9hcmd6
X2FkZCB8fCBkZWZpbmVkIF9fc3R1Yl9fX2FyZ3pfYWRkCnwgY2hva2UgbWUK
fCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBhcmd6
X2FkZCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEy
OTQwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjk0MDogY2hlY2tpbmcgZm9y
IGFyZ3pfYXBwZW5kCmNvbmZpZ3VyZToxMjk0MDogZ2NjIC1vIGNvbmZ0ZXN0
LmV4ZSAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKQzpcVXNlcnNcUFVTSF9U
fjFcQXBwRGF0YVxMb2NhbFxUZW1wXGNjMTNtbWlLLm86IEluIGZ1bmN0aW9u
IGBtYWluJzoKYzpcVGluR1dcbGlidG9vbC1idWlsZC1kdWUtdG8tR05VL2Nv
bmZ0ZXN0LmM6NjQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGFyZ3pfYXBw
ZW5kJwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQg
c3RhdHVzCmNvbmZpZ3VyZToxMjk0MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFp
bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l
IFBBQ0tBR0VfTkFNRSAiR05VIExpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdF
X1RBUk5BTUUgImxpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g
IjIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBMaWJ0b29s
IDIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1saWJ0
b29sQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3
dy5nbnUub3JnL3NvZnR3YXJlL2xpYnRvb2wvIgp8ICNkZWZpbmUgUEFDS0FH
RSAibGlidG9vbCIKfCAjZGVmaW5lIFZFUlNJT04gIjIuNC4yIgp8ICNkZWZp
bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf
U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu
ZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK
fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU
RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg
TFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBMVF9NT0RVTEVfRVhUICIu
ZGxsIgp8ICNkZWZpbmUgTFRfTU9EVUxFX1BBVEhfVkFSICJQQVRIIgp8ICNk
ZWZpbmUgTFRfRExTRUFSQ0hfUEFUSCAiL2xpYjovdXNyL2xpYiIKfCAjZGVm
aW5lIEhBVkVfREVDTF9DWUdXSU5fQ09OVl9QQVRIIDAKfCAjZGVmaW5lIEhB
VkVfTElCRExMT0FERVIgMQp8ICNkZWZpbmUgTFRETF9ETE9QRU5fREVQTElC
UyAxCnwgI2RlZmluZSBlcnJvcl90IGludAp8ICNkZWZpbmUgX19lcnJvcl90
X2RlZmluZWQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZp
bmUgYXJnel9hcHBlbmQgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNh
c2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBhcmd6X2FwcGVuZC4KfCAgICBGb3Ig
ZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGlt
ZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGFyZ3pfYXBwZW5kIGlubm9jdW91c19h
cmd6X2FwcGVuZAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9f
c3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAg
ICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBhcmd6X2FwcGVuZCAo
KTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQu
aD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0
cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAg
Ki8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5o
Pgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAK
fCAjdW5kZWYgYXJnel9hcHBlbmQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0ND
IGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBV
c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5
cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu
dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBf
X2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGFyZ3pf
YXBwZW5kICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhp
cyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8g
YWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUg
YWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGgg
X18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lm
IGRlZmluZWQgX19zdHViX2FyZ3pfYXBwZW5kIHx8IGRlZmluZWQgX19zdHVi
X19fYXJnel9hcHBlbmQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8
IG1haW4gKCkKfCB7CnwgcmV0dXJuIGFyZ3pfYXBwZW5kICgpOwp8ICAgOwp8
ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTI5NDA6IHJlc3VsdDogbm8K
Y29uZmlndXJlOjEyOTQwOiBjaGVja2luZyBmb3IgYXJnel9jb3VudApjb25m
aWd1cmU6MTI5NDA6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgY29u
ZnRlc3QuYyAgPiY1CkM6XFVzZXJzXFBVU0hfVH4xXEFwcERhdGFcTG9jYWxc
VGVtcFxjY05ZUm1hVy5vOiBJbiBmdW5jdGlvbiBgbWFpbic6CmM6XFRpbkdX
XGxpYnRvb2wtYnVpbGQtZHVlLXRvLUdOVS9jb25mdGVzdC5jOjY0OiB1bmRl
ZmluZWQgcmVmZXJlbmNlIHRvIGBhcmd6X2NvdW50Jwpjb2xsZWN0Mi5leGU6
IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTox
Mjk0MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8
IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05V
IExpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnRvb2wi
CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUg
UEFDS0FHRV9TVFJJTkcgIkdOVSBMaWJ0b29sIDIuNC4yIgp8ICNkZWZpbmUg
UEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1saWJ0b29sQGdudS5vcmciCnwgI2Rl
ZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJl
L2xpYnRvb2wvIgp8ICNkZWZpbmUgUEFDS0FHRSAibGlidG9vbCIKfCAjZGVm
aW5lIFZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK
fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U
VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l
IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8i
CnwgI2RlZmluZSBMVF9NT0RVTEVfRVhUICIuZGxsIgp8ICNkZWZpbmUgTFRf
TU9EVUxFX1BBVEhfVkFSICJQQVRIIgp8ICNkZWZpbmUgTFRfRExTRUFSQ0hf
UEFUSCAiL2xpYjovdXNyL2xpYiIKfCAjZGVmaW5lIEhBVkVfREVDTF9DWUdX
SU5fQ09OVl9QQVRIIDAKfCAjZGVmaW5lIEhBVkVfTElCRExMT0FERVIgMQp8
ICNkZWZpbmUgTFRETF9ETE9QRU5fREVQTElCUyAxCnwgI2RlZmluZSBlcnJv
cl90IGludAp8ICNkZWZpbmUgX19lcnJvcl90X2RlZmluZWQgMQp8IC8qIGVu
ZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgYXJnel9jb3VudCB0byBh
biBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xh
cmVzIGFyZ3pfY291bnQuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8
bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmlu
ZSBhcmd6X2NvdW50IGlubm9jdW91c19hcmd6X2NvdW50CnwgCnwgLyogU3lz
dGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1
bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qg
d2l0aCBjaGFyIGFyZ3pfY291bnQgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIg
PGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmlu
ZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJl
ZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19f
CnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8
YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGFyZ3pfY291bnQKfCAK
fCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBh
dm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdo
dCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGlu
IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwg
YXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIK
fCAjZW5kaWYKfCBjaGFyIGFyZ3pfY291bnQgKCk7CnwgLyogVGhlIEdOVSBD
IGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQg
aW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4g
IFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21l
dGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlz
IGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfYXJnel9jb3Vu
dCB8fCBkZWZpbmVkIF9fc3R1Yl9fX2FyZ3pfY291bnQKfCBjaG9rZSBtZQp8
ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGFyZ3pf
Y291bnQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTox
Mjk0MDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI5NDA6IGNoZWNraW5nIGZv
ciBhcmd6X2NyZWF0ZV9zZXAKY29uZmlndXJlOjEyOTQwOiBnY2MgLW8gY29u
ZnRlc3QuZXhlIC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpDOlxVc2Vyc1xQ
VVNIX1R+MVxBcHBEYXRhXExvY2FsXFRlbXBcY2NJUm9iSmQubzogSW4gZnVu
Y3Rpb24gYG1haW4nOgpjOlxUaW5HV1xsaWJ0b29sLWJ1aWxkLWR1ZS10by1H
TlUvY29uZnRlc3QuYzo2NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgYXJn
el9jcmVhdGVfc2VwJwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5l
ZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMjk0MDogJD8gPSAxCmNvbmZp
Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K
fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIExpYnRvb2wiCnwgI2RlZmlu
ZSBQQUNLQUdFX1RBUk5BTUUgImxpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdF
X1ZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdO
VSBMaWJ0b29sIDIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg
ImJ1Zy1saWJ0b29sQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAi
aHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYnRvb2wvIgp8ICNkZWZp
bmUgUEFDS0FHRSAibGlidG9vbCIKfCAjZGVmaW5lIFZFUlNJT04gIjIuNC4y
Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx
CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS
SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8
ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBMVF9NT0RV
TEVfRVhUICIuZGxsIgp8ICNkZWZpbmUgTFRfTU9EVUxFX1BBVEhfVkFSICJQ
QVRIIgp8ICNkZWZpbmUgTFRfRExTRUFSQ0hfUEFUSCAiL2xpYjovdXNyL2xp
YiIKfCAjZGVmaW5lIEhBVkVfREVDTF9DWUdXSU5fQ09OVl9QQVRIIDAKfCAj
ZGVmaW5lIEhBVkVfTElCRExMT0FERVIgMQp8ICNkZWZpbmUgTFRETF9ETE9Q
RU5fREVQTElCUyAxCnwgI2RlZmluZSBlcnJvcl90IGludAp8ICNkZWZpbmUg
X19lcnJvcl90X2RlZmluZWQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K
fCAvKiBEZWZpbmUgYXJnel9jcmVhdGVfc2VwIHRvIGFuIGlubm9jdW91cyB2
YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgYXJnel9jcmVh
dGVfc2VwLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5o
PiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgYXJnel9j
cmVhdGVfc2VwIGlubm9jdW91c19hcmd6X2NyZWF0ZV9zZXAKfCAKfCAvKiBT
eXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3Bl
ZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGlj
dCB3aXRoIGNoYXIgYXJnel9jcmVhdGVfc2VwICgpOyBiZWxvdy4KfCAgICAg
UHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBp
cyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVu
IG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBf
X1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGlu
Y2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBhcmd6X2Ny
ZWF0ZV9zZXAKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHBy
b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNh
dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MK
fCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUg
d291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8
IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGFyZ3pfY3JlYXRlX3NlcCAo
KTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1
bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBm
YWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5
IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0
aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVk
IF9fc3R1Yl9hcmd6X2NyZWF0ZV9zZXAgfHwgZGVmaW5lZCBfX3N0dWJfX19h
cmd6X2NyZWF0ZV9zZXAKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8
IG1haW4gKCkKfCB7CnwgcmV0dXJuIGFyZ3pfY3JlYXRlX3NlcCAoKTsKfCAg
IDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEyOTQwOiByZXN1bHQ6
IG5vCmNvbmZpZ3VyZToxMjk0MDogY2hlY2tpbmcgZm9yIGFyZ3pfaW5zZXJ0
CmNvbmZpZ3VyZToxMjk0MDogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIg
ICBjb25mdGVzdC5jICA+JjUKQzpcVXNlcnNcUFVTSF9UfjFcQXBwRGF0YVxM
b2NhbFxUZW1wXGNjVUtuTVVSLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKYzpc
VGluR1dcbGlidG9vbC1idWlsZC1kdWUtdG8tR05VL2NvbmZ0ZXN0LmM6NjQ6
IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGFyZ3pfaW5zZXJ0Jwpjb2xsZWN0
Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZp
Z3VyZToxMjk0MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g
d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN
RSAiR05VIExpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxp
YnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuNC4yIgp8ICNk
ZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBMaWJ0b29sIDIuNC4yIgp8ICNk
ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1saWJ0b29sQGdudS5vcmci
CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3Nv
ZnR3YXJlL2xpYnRvb2wvIgp8ICNkZWZpbmUgUEFDS0FHRSAibGlidG9vbCIK
fCAjZGVmaW5lIFZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUgU1REQ19IRUFE
RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S
WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB
VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj
ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIu
bGlicy8iCnwgI2RlZmluZSBMVF9NT0RVTEVfRVhUICIuZGxsIgp8ICNkZWZp
bmUgTFRfTU9EVUxFX1BBVEhfVkFSICJQQVRIIgp8ICNkZWZpbmUgTFRfRExT
RUFSQ0hfUEFUSCAiL2xpYjovdXNyL2xpYiIKfCAjZGVmaW5lIEhBVkVfREVD
TF9DWUdXSU5fQ09OVl9QQVRIIDAKfCAjZGVmaW5lIEhBVkVfTElCRExMT0FE
RVIgMQp8ICNkZWZpbmUgTFRETF9ETE9QRU5fREVQTElCUyAxCnwgI2RlZmlu
ZSBlcnJvcl90IGludAp8ICNkZWZpbmUgX19lcnJvcl90X2RlZmluZWQgMQp8
IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgYXJnel9pbnNl
cnQgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5o
PiBkZWNsYXJlcyBhcmd6X2luc2VydC4KfCAgICBGb3IgZXhhbXBsZSwgSFAt
VVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8K
fCAjZGVmaW5lIGFyZ3pfaW5zZXJ0IGlubm9jdW91c19hcmd6X2luc2VydAp8
IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3Mg
YW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2Fu
IGNvbmZsaWN0IHdpdGggY2hhciBhcmd6X2luc2VydCAoKTsgYmVsb3cuCnwg
ICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERD
X18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMg
ZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZk
ZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwg
IyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgYXJn
el9pbnNlcnQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHBy
b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNh
dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MK
fCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUg
d291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8
IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGFyZ3pfaW5zZXJ0ICgpOwp8
IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rp
b25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwg
d2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFt
ZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBu
b3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19z
dHViX2FyZ3pfaW5zZXJ0IHx8IGRlZmluZWQgX19zdHViX19fYXJnel9pbnNl
cnQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7
CnwgcmV0dXJuIGFyZ3pfaW5zZXJ0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7
CnwgfQpjb25maWd1cmU6MTI5NDA6IHJlc3VsdDogbm8KY29uZmlndXJlOjEy
OTQwOiBjaGVja2luZyBmb3IgYXJnel9uZXh0CmNvbmZpZ3VyZToxMjk0MDog
Z2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUK
QzpcVXNlcnNcUFVTSF9UfjFcQXBwRGF0YVxMb2NhbFxUZW1wXGNjSVRpbm56
Lm86IEluIGZ1bmN0aW9uIGBtYWluJzoKYzpcVGluR1dcbGlidG9vbC1idWls
ZC1kdWUtdG8tR05VL2NvbmZ0ZXN0LmM6NjQ6IHVuZGVmaW5lZCByZWZlcmVu
Y2UgdG8gYGFyZ3pfbmV4dCcKY29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0
dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTI5NDA6ICQ/ID0gMQpj
b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o
ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBMaWJ0b29sIgp8ICNk
ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJ0b29sIgp8ICNkZWZpbmUgUEFD
S0FHRV9WRVJTSU9OICIyLjQuMiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H
ICJHTlUgTGlidG9vbCAyLjQuMiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ
T1JUICJidWctbGlidG9vbEBnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9V
UkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJ0b29sLyIKfCAj
ZGVmaW5lIFBBQ0tBR0UgImxpYnRvb2wiCnwgI2RlZmluZSBWRVJTSU9OICIy
LjQuMiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF
X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg
I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF
X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I
IDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgTFRf
TU9EVUxFX0VYVCAiLmRsbCIKfCAjZGVmaW5lIExUX01PRFVMRV9QQVRIX1ZB
UiAiUEFUSCIKfCAjZGVmaW5lIExUX0RMU0VBUkNIX1BBVEggIi9saWI6L3Vz
ci9saWIiCnwgI2RlZmluZSBIQVZFX0RFQ0xfQ1lHV0lOX0NPTlZfUEFUSCAw
CnwgI2RlZmluZSBIQVZFX0xJQkRMTE9BREVSIDEKfCAjZGVmaW5lIExURExf
RExPUEVOX0RFUExJQlMgMQp8ICNkZWZpbmUgZXJyb3JfdCBpbnQKfCAjZGVm
aW5lIF9fZXJyb3JfdF9kZWZpbmVkIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g
ICovCnwgLyogRGVmaW5lIGFyZ3pfbmV4dCB0byBhbiBpbm5vY3VvdXMgdmFy
aWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGFyZ3pfbmV4dC4K
fCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFy
ZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGFyZ3pfbmV4dCBpbm5v
Y3VvdXNfYXJnel9uZXh0CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZp
bmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVz
LAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGFyZ3pfbmV4
dCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3Nl
cnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxp
bWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJz
LiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0
cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYK
fCAKfCAjdW5kZWYgYXJnel9uZXh0CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdD
QyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAg
VXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0
eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1l
bnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYg
X19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBhcmd6
X25leHQgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlz
IGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBh
bHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBh
Y3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBf
XyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYg
ZGVmaW5lZCBfX3N0dWJfYXJnel9uZXh0IHx8IGRlZmluZWQgX19zdHViX19f
YXJnel9uZXh0CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWlu
ICgpCnwgewp8IHJldHVybiBhcmd6X25leHQgKCk7CnwgICA7CnwgICByZXR1
cm4gMDsKfCB9CmNvbmZpZ3VyZToxMjk0MDogcmVzdWx0OiBubwpjb25maWd1
cmU6MTI5NDA6IGNoZWNraW5nIGZvciBhcmd6X3N0cmluZ2lmeQpjb25maWd1
cmU6MTI5NDA6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgY29uZnRl
c3QuYyAgPiY1CkM6XFVzZXJzXFBVU0hfVH4xXEFwcERhdGFcTG9jYWxcVGVt
cFxjY0VQNFVPOS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6CmM6XFRpbkdXXGxp
YnRvb2wtYnVpbGQtZHVlLXRvLUdOVS9jb25mdGVzdC5jOjY0OiB1bmRlZmlu
ZWQgcmVmZXJlbmNlIHRvIGBhcmd6X3N0cmluZ2lmeScKY29sbGVjdDIuZXhl
OiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6
MTI5NDA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK
fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdO
VSBMaWJ0b29sIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJ0b29s
Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjQuMiIKfCAjZGVmaW5l
IFBBQ0tBR0VfU1RSSU5HICJHTlUgTGlidG9vbCAyLjQuMiIKfCAjZGVmaW5l
IFBBQ0tBR0VfQlVHUkVQT1JUICJidWctbGlidG9vbEBnbnUub3JnIgp8ICNk
ZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2Fy
ZS9saWJ0b29sLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImxpYnRvb2wiCnwgI2Rl
ZmluZSBWRVJTSU9OICIyLjQuMiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx
CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx
CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO
VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu
ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMv
Igp8ICNkZWZpbmUgTFRfTU9EVUxFX0VYVCAiLmRsbCIKfCAjZGVmaW5lIExU
X01PRFVMRV9QQVRIX1ZBUiAiUEFUSCIKfCAjZGVmaW5lIExUX0RMU0VBUkNI
X1BBVEggIi9saWI6L3Vzci9saWIiCnwgI2RlZmluZSBIQVZFX0RFQ0xfQ1lH
V0lOX0NPTlZfUEFUSCAwCnwgI2RlZmluZSBIQVZFX0xJQkRMTE9BREVSIDEK
fCAjZGVmaW5lIExURExfRExPUEVOX0RFUExJQlMgMQp8ICNkZWZpbmUgZXJy
b3JfdCBpbnQKfCAjZGVmaW5lIF9fZXJyb3JfdF9kZWZpbmVkIDEKfCAvKiBl
bmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGFyZ3pfc3RyaW5naWZ5
IHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4g
ZGVjbGFyZXMgYXJnel9zdHJpbmdpZnkuCnwgICAgRm9yIGV4YW1wbGUsIEhQ
LVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICov
CnwgI2RlZmluZSBhcmd6X3N0cmluZ2lmeSBpbm5vY3VvdXNfYXJnel9zdHJp
bmdpZnkKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIg
bWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdo
aWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgYXJnel9zdHJpbmdpZnkgKCk7
IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+
IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMu
aD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICov
CnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4K
fCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwg
I3VuZGVmIGFyZ3pfc3RyaW5naWZ5CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdD
QyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAg
VXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0
eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1l
bnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYg
X19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBhcmd6
X3N0cmluZ2lmeSAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVz
IHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAg
IHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMg
YXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3
aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8
ICNpZiBkZWZpbmVkIF9fc3R1Yl9hcmd6X3N0cmluZ2lmeSB8fCBkZWZpbmVk
IF9fc3R1Yl9fX2FyZ3pfc3RyaW5naWZ5CnwgY2hva2UgbWUKfCAjZW5kaWYK
fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBhcmd6X3N0cmluZ2lm
eSAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEyOTQw
OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzAwODogY2hlY2tpbmcgd2hldGhl
ciBsaWJ0b29sIHN1cHBvcnRzIC1kbG9wZW4vLWRscHJlb3Blbgpjb25maWd1
cmU6MTMwMjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzA3MzogY2hlY2tp
bmcgZm9yIHVuaXN0ZC5oCmNvbmZpZ3VyZToxMzA3MzogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjEzMDczOiBjaGVja2luZyBmb3IgZGwuaApjb25maWd1cmU6
MTMwNzM6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0
LmM6NjY6MTY6IGZhdGFsIGVycm9yOiBkbC5oOiBObyBzdWNoIGZpbGUgb3Ig
ZGlyZWN0b3J5CiAjaW5jbHVkZSA8ZGwuaD4KICAgICAgICAgICAgICAgIF4K
Y29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjEzMDczOiAkPyA9
IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl
ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTGlidG9vbCIK
fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlidG9vbCIKfCAjZGVmaW5l
IFBBQ0tBR0VfVkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBQQUNLQUdFX1NU
UklORyAiR05VIExpYnRvb2wgMi40LjIiCnwgI2RlZmluZSBQQUNLQUdFX0JV
R1JFUE9SVCAiYnVnLWxpYnRvb2xAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tB
R0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGlidG9vbC8i
CnwgI2RlZmluZSBQQUNLQUdFICJsaWJ0b29sIgp8ICNkZWZpbmUgVkVSU0lP
TiAiMi40LjIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg
SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU
UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK
fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT
VERfSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5l
IExUX01PRFVMRV9FWFQgIi5kbGwiCnwgI2RlZmluZSBMVF9NT0RVTEVfUEFU
SF9WQVIgIlBBVEgiCnwgI2RlZmluZSBMVF9ETFNFQVJDSF9QQVRIICIvbGli
Oi91c3IvbGliIgp8ICNkZWZpbmUgSEFWRV9ERUNMX0NZR1dJTl9DT05WX1BB
VEggMAp8ICNkZWZpbmUgSEFWRV9MSUJETExPQURFUiAxCnwgI2RlZmluZSBM
VERMX0RMT1BFTl9ERVBMSUJTIDEKfCAjZGVmaW5lIGVycm9yX3QgaW50Cnwg
I2RlZmluZSBfX2Vycm9yX3RfZGVmaW5lZCAxCnwgI2RlZmluZSBIQVZFX1BS
RUxPQURFRF9TWU1CT0xTIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8
IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4K
fCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5
cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMg
aW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19I
RUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0
ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAg
aW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRl
ZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMg
JiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5
Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlm
CnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdz
Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5j
bHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJ
TlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVm
IEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRp
Zgp8IAp8ICNpbmNsdWRlIDxkbC5oPgpjb25maWd1cmU6MTMwNzM6IHJlc3Vs
dDogbm8KY29uZmlndXJlOjEzMDczOiBjaGVja2luZyBmb3Igc3lzL2RsLmgK
Y29uZmlndXJlOjEzMDczOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4m
NQpjb25mdGVzdC5jOjY2OjIwOiBmYXRhbCBlcnJvcjogc3lzL2RsLmg6IE5v
IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxzeXMvZGwuaD4K
ICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQu
CmNvbmZpZ3VyZToxMzA3MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy
b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB
R0VfTkFNRSAiR05VIExpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B
TUUgImxpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuNC4y
Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBMaWJ0b29sIDIuNC4y
Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1saWJ0b29sQGdu
dS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUu
b3JnL3NvZnR3YXJlL2xpYnRvb2wvIgp8ICNkZWZpbmUgUEFDS0FHRSAibGli
dG9vbCIKfCAjZGVmaW5lIFZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUgU1RE
Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm
aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I
IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgTFRfT0JK
RElSICIubGlicy8iCnwgI2RlZmluZSBMVF9NT0RVTEVfRVhUICIuZGxsIgp8
ICNkZWZpbmUgTFRfTU9EVUxFX1BBVEhfVkFSICJQQVRIIgp8ICNkZWZpbmUg
TFRfRExTRUFSQ0hfUEFUSCAiL2xpYjovdXNyL2xpYiIKfCAjZGVmaW5lIEhB
VkVfREVDTF9DWUdXSU5fQ09OVl9QQVRIIDAKfCAjZGVmaW5lIEhBVkVfTElC
RExMT0FERVIgMQp8ICNkZWZpbmUgTFRETF9ETE9QRU5fREVQTElCUyAxCnwg
I2RlZmluZSBlcnJvcl90IGludAp8ICNkZWZpbmUgX19lcnJvcl90X2RlZmlu
ZWQgMQp8ICNkZWZpbmUgSEFWRV9QUkVMT0FERURfU1lNQk9MUyAxCnwgI2Rl
ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov
CnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVT
X0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl
ZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+Cnwg
I2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3Rk
bGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZk
ZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMg
ZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYg
IWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllf
SAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1
ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1Nf
SAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI
QVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2Vu
ZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGlu
dC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNs
dWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8c3lzL2Rs
Lmg+CmNvbmZpZ3VyZToxMzA3MzogcmVzdWx0OiBubwpjb25maWd1cmU6MTMw
NzM6IGNoZWNraW5nIGZvciBkbGQuaApjb25maWd1cmU6MTMwNzM6IGdjYyAt
YyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NjY6MTc6IGZh
dGFsIGVycm9yOiBkbGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQog
I2luY2x1ZGUgPGRsZC5oPgogICAgICAgICAgICAgICAgIF4KY29tcGlsYXRp
b24gdGVybWluYXRlZC4KY29uZmlndXJlOjEzMDczOiAkPyA9IDEKY29uZmln
dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8
ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTGlidG9vbCIKfCAjZGVmaW5l
IFBBQ0tBR0VfVEFSTkFNRSAibGlidG9vbCIKfCAjZGVmaW5lIFBBQ0tBR0Vf
VkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05V
IExpYnRvb2wgMi40LjIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi
YnVnLWxpYnRvb2xAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJo
dHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGlidG9vbC8iCnwgI2RlZmlu
ZSBQQUNLQUdFICJsaWJ0b29sIgp8ICNkZWZpbmUgVkVSU0lPTiAiMi40LjIi
CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf
VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK
fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ
TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l
IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg
I2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIExUX01PRFVM
RV9FWFQgIi5kbGwiCnwgI2RlZmluZSBMVF9NT0RVTEVfUEFUSF9WQVIgIlBB
VEgiCnwgI2RlZmluZSBMVF9ETFNFQVJDSF9QQVRIICIvbGliOi91c3IvbGli
Igp8ICNkZWZpbmUgSEFWRV9ERUNMX0NZR1dJTl9DT05WX1BBVEggMAp8ICNk
ZWZpbmUgSEFWRV9MSUJETExPQURFUiAxCnwgI2RlZmluZSBMVERMX0RMT1BF
Tl9ERVBMSUJTIDEKfCAjZGVmaW5lIGVycm9yX3QgaW50CnwgI2RlZmluZSBf
X2Vycm9yX3RfZGVmaW5lZCAxCnwgI2RlZmluZSBIQVZFX1BSRUxPQURFRF9T
WU1CT0xTIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8IC8qIGVuZCBj
b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYg
SEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+Cnwg
I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8
c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwg
IyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8
ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8
c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU
UklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5l
ZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBl
bmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVm
IEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2Vu
ZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50
dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMg
aW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5J
U1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNp
bmNsdWRlIDxkbGQuaD4KY29uZmlndXJlOjEzMDczOiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZToxMzA3MzogY2hlY2tpbmcgZm9yIG1hY2gtby9keWxkLmgKY29u
ZmlndXJlOjEzMDczOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpj
b25mdGVzdC5jOjY2OjI1OiBmYXRhbCBlcnJvcjogbWFjaC1vL2R5bGQuaDog
Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPG1hY2gtby9k
eWxkLmg+CiAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9u
IHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxMzA3MzogJD8gPSAxCmNvbmZpZ3Vy
ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj
ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIExpYnRvb2wiCnwgI2RlZmluZSBQ
QUNLQUdFX1RBUk5BTUUgImxpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1ZF
UlNJT04gIjIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBM
aWJ0b29sIDIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1
Zy1saWJ0b29sQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0
cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYnRvb2wvIgp8ICNkZWZpbmUg
UEFDS0FHRSAibGlidG9vbCIKfCAjZGVmaW5lIFZFUlNJT04gIjIuNC4yIgp8
ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ
UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l
IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg
I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI
QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk
ZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBMVF9NT0RVTEVf
RVhUICIuZGxsIgp8ICNkZWZpbmUgTFRfTU9EVUxFX1BBVEhfVkFSICJQQVRI
Igp8ICNkZWZpbmUgTFRfRExTRUFSQ0hfUEFUSCAiL2xpYjovdXNyL2xpYiIK
fCAjZGVmaW5lIEhBVkVfREVDTF9DWUdXSU5fQ09OVl9QQVRIIDAKfCAjZGVm
aW5lIEhBVkVfTElCRExMT0FERVIgMQp8ICNkZWZpbmUgTFRETF9ETE9QRU5f
REVQTElCUyAxCnwgI2RlZmluZSBlcnJvcl90IGludAp8ICNkZWZpbmUgX19l
cnJvcl90X2RlZmluZWQgMQp8ICNkZWZpbmUgSEFWRV9QUkVMT0FERURfU1lN
Qk9MUyAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAvKiBlbmQgY29u
ZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhB
VkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNl
bmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5
cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMg
aW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAj
ZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0
ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJ
TkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQg
SEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5k
aWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI
QVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRp
Zgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5
cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGlu
Y2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNU
RF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAKfCAjaW5j
bHVkZSA8bWFjaC1vL2R5bGQuaD4KY29uZmlndXJlOjEzMDczOiByZXN1bHQ6
IG5vCmNvbmZpZ3VyZToxMzA3MzogY2hlY2tpbmcgZm9yIGRpcmVudC5oCmNv
bmZpZ3VyZToxMzA3MzogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUK
Y29uZmlndXJlOjEzMDczOiAkPyA9IDAKY29uZmlndXJlOjEzMDczOiByZXN1
bHQ6IHllcwpjb25maWd1cmU6MTMwODg6IGNoZWNraW5nIGZvciBjbG9zZWRp
cgpjb25maWd1cmU6MTMwODg6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8y
ICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZToxMzA4ODogJD8gPSAwCmNv
bmZpZ3VyZToxMzA4ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMDg4OiBj
aGVja2luZyBmb3Igb3BlbmRpcgpjb25maWd1cmU6MTMwODg6IGdjYyAtbyBj
b25mdGVzdC5leGUgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3Vy
ZToxMzA4ODogJD8gPSAwCmNvbmZpZ3VyZToxMzA4ODogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjEzMDg4OiBjaGVja2luZyBmb3IgcmVhZGRpcgpjb25maWd1
cmU6MTMwODg6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgY29uZnRl
c3QuYyAgPiY1CmNvbmZpZ3VyZToxMzA4ODogJD8gPSAwCmNvbmZpZ3VyZTox
MzA4ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMTA3OiBjaGVja2luZyBm
b3Igc3RybGNhdApjb25maWd1cmU6MTMxMDc6IGdjYyAtbyBjb25mdGVzdC5l
eGUgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CkM6XFVzZXJzXFBVU0hfVH4x
XEFwcERhdGFcTG9jYWxcVGVtcFxjY2F4OFpSbC5vOiBJbiBmdW5jdGlvbiBg
bWFpbic6CmM6XFRpbkdXXGxpYnRvb2wtYnVpbGQtZHVlLXRvLUdOVS9jb25m
dGVzdC5jOjcwOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzdHJsY2F0Jwpj
b2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVz
CmNvbmZpZ3VyZToxMzEwNzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy
b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB
R0VfTkFNRSAiR05VIExpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B
TUUgImxpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuNC4y
Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBMaWJ0b29sIDIuNC4y
Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1saWJ0b29sQGdu
dS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUu
b3JnL3NvZnR3YXJlL2xpYnRvb2wvIgp8ICNkZWZpbmUgUEFDS0FHRSAibGli
dG9vbCIKfCAjZGVmaW5lIFZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUgU1RE
Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm
aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I
IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgTFRfT0JK
RElSICIubGlicy8iCnwgI2RlZmluZSBMVF9NT0RVTEVfRVhUICIuZGxsIgp8
ICNkZWZpbmUgTFRfTU9EVUxFX1BBVEhfVkFSICJQQVRIIgp8ICNkZWZpbmUg
TFRfRExTRUFSQ0hfUEFUSCAiL2xpYjovdXNyL2xpYiIKfCAjZGVmaW5lIEhB
VkVfREVDTF9DWUdXSU5fQ09OVl9QQVRIIDAKfCAjZGVmaW5lIEhBVkVfTElC
RExMT0FERVIgMQp8ICNkZWZpbmUgTFRETF9ETE9QRU5fREVQTElCUyAxCnwg
I2RlZmluZSBlcnJvcl90IGludAp8ICNkZWZpbmUgX19lcnJvcl90X2RlZmlu
ZWQgMQp8ICNkZWZpbmUgSEFWRV9QUkVMT0FERURfU1lNQk9MUyAxCnwgI2Rl
ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg
MQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX09Q
RU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9SRUFERElSIDEKfCAvKiBlbmQgY29u
ZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHN0cmxjYXQgdG8gYW4gaW5ub2N1
b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBzdHJs
Y2F0Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBk
ZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgc3RybGNhdCBp
bm5vY3VvdXNfc3RybGNhdAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVm
aW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBl
cywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzdHJsY2F0
ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2Vy
dC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGlt
aXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMu
ICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRz
Lmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8
IAp8ICN1bmRlZiBzdHJsY2F0CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBp
bnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNl
IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl
IG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQg
cHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19j
cGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBzdHJsY2F0
ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3Ig
ZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlz
IGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFs
bHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5k
IHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmlu
ZWQgX19zdHViX3N0cmxjYXQgfHwgZGVmaW5lZCBfX3N0dWJfX19zdHJsY2F0
CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8
IHJldHVybiBzdHJsY2F0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj
b25maWd1cmU6MTMxMDc6IHJlc3VsdDogbm8KY29uZmlndXJlOjEzMTA3OiBj
aGVja2luZyBmb3Igc3RybGNweQpjb25maWd1cmU6MTMxMDc6IGdjYyAtbyBj
b25mdGVzdC5leGUgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CkM6XFVzZXJz
XFBVU0hfVH4xXEFwcERhdGFcTG9jYWxcVGVtcFxjY2ZCY0VYbC5vOiBJbiBm
dW5jdGlvbiBgbWFpbic6CmM6XFRpbkdXXGxpYnRvb2wtYnVpbGQtZHVlLXRv
LUdOVS9jb25mdGVzdC5jOjcwOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBz
dHJsY3B5Jwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4
aXQgc3RhdHVzCmNvbmZpZ3VyZToxMzEwNzogJD8gPSAxCmNvbmZpZ3VyZTog
ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm
aW5lIFBBQ0tBR0VfTkFNRSAiR05VIExpYnRvb2wiCnwgI2RlZmluZSBQQUNL
QUdFX1RBUk5BTUUgImxpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ
T04gIjIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBMaWJ0
b29sIDIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1s
aWJ0b29sQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDov
L3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYnRvb2wvIgp8ICNkZWZpbmUgUEFD
S0FHRSAibGlidG9vbCIKfCAjZGVmaW5lIFZFUlNJT04gIjIuNC4yIgp8ICNk
ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB
VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl
ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I
IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp
bmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBMVF9NT0RVTEVfRVhU
ICIuZGxsIgp8ICNkZWZpbmUgTFRfTU9EVUxFX1BBVEhfVkFSICJQQVRIIgp8
ICNkZWZpbmUgTFRfRExTRUFSQ0hfUEFUSCAiL2xpYjovdXNyL2xpYiIKfCAj
ZGVmaW5lIEhBVkVfREVDTF9DWUdXSU5fQ09OVl9QQVRIIDAKfCAjZGVmaW5l
IEhBVkVfTElCRExMT0FERVIgMQp8ICNkZWZpbmUgTFRETF9ETE9QRU5fREVQ
TElCUyAxCnwgI2RlZmluZSBlcnJvcl90IGludAp8ICNkZWZpbmUgX19lcnJv
cl90X2RlZmluZWQgMQp8ICNkZWZpbmUgSEFWRV9QUkVMT0FERURfU1lNQk9M
UyAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf
RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmlu
ZSBIQVZFX09QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9SRUFERElSIDEKfCAv
KiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHN0cmxjcHkgdG8g
YW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNs
YXJlcyBzdHJsY3B5Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxp
bWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUg
c3RybGNweSBpbm5vY3VvdXNfc3RybGNweQp8IAp8IC8qIFN5c3RlbSBoZWFk
ZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcg
cHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hh
ciBzdHJsY3B5ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4g
dG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8
ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBj
b21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVk
ZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8
ICNlbmRpZgp8IAp8ICN1bmRlZiBzdHJsY3B5CnwgCnwgLyogT3ZlcnJpZGUg
YW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu
CnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJl
dHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg
YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAj
aWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hh
ciBzdHJsY3B5ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMg
dGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAg
dG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBh
cmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdp
dGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwg
I2lmIGRlZmluZWQgX19zdHViX3N0cmxjcHkgfHwgZGVmaW5lZCBfX3N0dWJf
X19zdHJsY3B5CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWlu
ICgpCnwgewp8IHJldHVybiBzdHJsY3B5ICgpOwp8ICAgOwp8ICAgcmV0dXJu
IDA7CnwgfQpjb25maWd1cmU6MTMxMDc6IHJlc3VsdDogbm8KY29uZmlndXJl
OjEzMjAyOiBjaGVja2luZyBmb3IgZysrCmNvbmZpZ3VyZToxMzIxODogZm91
bmQgL21pbmd3L2Jpbi9nKysKY29uZmlndXJlOjEzMjI5OiByZXN1bHQ6IGcr
Kwpjb25maWd1cmU6MTMyNTY6IGNoZWNraW5nIGZvciBDKysgY29tcGlsZXIg
dmVyc2lvbgpjb25maWd1cmU6MTMyNjU6IGcrKyAtLXZlcnNpb24gPiY1Cmcr
Ky5leGUgKEdDQykgNC44LjENCkNvcHlyaWdodCAoQykgMjAxMyBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NClRoaXMgaXMgZnJlZSBzb2Z0d2Fy
ZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRo
ZXJlIGlzIE5PDQp3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4NCg0K
Y29uZmlndXJlOjEzMjc2OiAkPyA9IDAKY29uZmlndXJlOjEzMjY1OiBnKysg
LXYgPiY1ClVzaW5nIGJ1aWx0LWluIHNwZWNzLgpDT0xMRUNUX0dDQz1jOlxU
aW5HV1xiaW5cZysrLmV4ZQpDT0xMRUNUX0xUT19XUkFQUEVSPWM6L3Rpbmd3
L2Jpbi8uLi9saWJleGVjL2djYy9taW5ndzMyLzQuOC4xL2x0by13cmFwcGVy
LmV4ZQpUYXJnZXQ6IG1pbmd3MzIKQ29uZmlndXJlZCB3aXRoOiAuLi9nY2Mt
NC44LjEvY29uZmlndXJlIC0tcHJlZml4PS9taW5ndyAtLWhvc3Q9bWluZ3cz
MiAtLWJ1aWxkPW1pbmd3MzIgLS13aXRob3V0LXBpYyAtLWVuYWJsZS1zaGFy
ZWQgLS1lbmFibGUtc3RhdGljIC0td2l0aC1nbnUtbGQgLS1lbmFibGUtbHRv
IC0tZW5hYmxlLWxpYnNzcCAtLWRpc2FibGUtbXVsdGlsaWIgLS1lbmFibGUt
bGFuZ3VhZ2VzPWMsYysrLGZvcnRyYW4sb2JqYyxvYmotYysrLGFkYSAtLWRp
c2FibGUtc2psai1leGNlcHRpb25zIC0td2l0aC1kd2FyZjIgLS1kaXNhYmxl
LXdpbjMyLXJlZ2lzdHJ5IC0tZW5hYmxlLWxpYnN0ZGN4eC1kZWJ1ZyAtLWVu
YWJsZS12ZXJzaW9uLXNwZWNpZmljLXJ1bnRpbWUtbGlicyAtLXdpdGgtZ21w
PS91c3Ivc3JjL3BrZy9nbXAtNS4xLjItMS1taW5ndzMyLXNyYy9ibGQgLS13
aXRoLW1wYz0vdXNyL3NyYy9wa2cvbXBjLTEuMC4xLTEtbWluZ3czMi1zcmMv
YmxkIC0td2l0aC1tcGZyPSAtLXdpdGgtc3lzdGVtLXpsaWIgLS13aXRoLWdu
dS1hcyAtLWVuYWJsZS1kZWNpbWFsLWZsb2F0PXllcyAtLWVuYWJsZS1saWJn
b21wIC0tZW5hYmxlLXRocmVhZHMgLS13aXRoLWxpYmljb252LXByZWZpeD0v
bWluZ3czMiAtLXdpdGgtbGliaW50bC1wcmVmaXg9L21pbmd3IC0tZGlzYWJs
ZS1ib290c3RyYXAgTERGTEFHUz0tcyBDRkxBR1M9LURfVVNFXzMyQklUX1RJ
TUVfVApUaHJlYWQgbW9kZWw6IHdpbjMyCmdjYyB2ZXJzaW9uIDQuOC4xIChH
Q0MpIApjb25maWd1cmU6MTMyNzY6ICQ/ID0gMApjb25maWd1cmU6MTMyNjU6
IGcrKyAtViA+JjUKZysrLmV4ZTogZXJyb3I6IHVucmVjb2duaXplZCBjb21t
YW5kIGxpbmUgb3B0aW9uICctVicKZysrLmV4ZTogZmF0YWwgZXJyb3I6IG5v
IGlucHV0IGZpbGVzCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3Vy
ZToxMzI3NjogJD8gPSAxCmNvbmZpZ3VyZToxMzI2NTogZysrIC1xdmVyc2lv
biA+JjUKZysrLmV4ZTogZXJyb3I6IHVucmVjb2duaXplZCBjb21tYW5kIGxp
bmUgb3B0aW9uICctcXZlcnNpb24nCmcrKy5leGU6IGZhdGFsIGVycm9yOiBu
byBpbnB1dCBmaWxlcwpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1
cmU6MTMyNzY6ICQ/ID0gMQpjb25maWd1cmU6MTMyODA6IGNoZWNraW5nIHdo
ZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQysrIGNvbXBpbGVyCmNvbmZp
Z3VyZToxMzI5OTogZysrIC1jICAgY29uZnRlc3QuY3BwID4mNQpjb25maWd1
cmU6MTMyOTk6ICQ/ID0gMApjb25maWd1cmU6MTMzMDg6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZToxMzMxNzogY2hlY2tpbmcgd2hldGhlciBnKysgYWNjZXB0
cyAtZwpjb25maWd1cmU6MTMzMzc6IGcrKyAtYyAtZyAgY29uZnRlc3QuY3Bw
ID4mNQpjb25maWd1cmU6MTMzMzc6ICQ/ID0gMApjb25maWd1cmU6MTMzNzg6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzQwMzogY2hlY2tpbmcgZGVwZW5k
ZW5jeSBzdHlsZSBvZiBnKysKY29uZmlndXJlOjEzNTEzOiByZXN1bHQ6IGdj
YzMKY29uZmlndXJlOjEzNTQ3OiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBD
KysgcHJlcHJvY2Vzc29yCmNvbmZpZ3VyZToxMzU3NDogZysrIC1FICBjb25m
dGVzdC5jcHAKY29uZmlndXJlOjEzNTc0OiAkPyA9IDAKY29uZmlndXJlOjEz
NTg4OiBnKysgLUUgIGNvbmZ0ZXN0LmNwcApjb25mdGVzdC5jcHA6Mzg6Mjg6
IGZhdGFsIGVycm9yOiBhY19ub25leGlzdGVudC5oOiBObyBzdWNoIGZpbGUg
b3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIF4KY29tcGlsYXRpb24gdGVybWlu
YXRlZC4KY29uZmlndXJlOjEzNTg4OiAkPyA9IDEKY29uZmlndXJlOiBmYWls
ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUg
UEFDS0FHRV9OQU1FICJHTlUgTGlidG9vbCIKfCAjZGVmaW5lIFBBQ0tBR0Vf
VEFSTkFNRSAibGlidG9vbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi
Mi40LjIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIExpYnRvb2wg
Mi40LjIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWxpYnRv
b2xAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3
LmdudS5vcmcvc29mdHdhcmUvbGlidG9vbC8iCnwgI2RlZmluZSBQQUNLQUdF
ICJsaWJ0b29sIgp8ICNkZWZpbmUgVkVSU0lPTiAiMi40LjIiCnwgI2RlZmlu
ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l
IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8
ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBM
VF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIExUX01PRFVMRV9FWFQgIi5k
bGwiCnwgI2RlZmluZSBMVF9NT0RVTEVfUEFUSF9WQVIgIlBBVEgiCnwgI2Rl
ZmluZSBMVF9ETFNFQVJDSF9QQVRIICIvbGliOi91c3IvbGliIgp8ICNkZWZp
bmUgSEFWRV9ERUNMX0NZR1dJTl9DT05WX1BBVEggMAp8ICNkZWZpbmUgSEFW
RV9MSUJETExPQURFUiAxCnwgI2RlZmluZSBMVERMX0RMT1BFTl9ERVBMSUJT
IDEKfCAjZGVmaW5lIGVycm9yX3QgaW50CnwgI2RlZmluZSBfX2Vycm9yX3Rf
ZGVmaW5lZCAxCnwgI2RlZmluZSBIQVZFX1BSRUxPQURFRF9TWU1CT0xTIDEK
fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJF
TlRfSCAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhB
VkVfT1BFTkRJUiAxCnwgI2RlZmluZSBIQVZFX1JFQURESVIgMQp8ICNkZWZp
bmUgTFRfTElCRVhUICJhIgp8ICNkZWZpbmUgTFRfTElCUFJFRklYICJsaWIi
CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxhY19ub25l
eGlzdGVudC5oPgpjb25maWd1cmU6MTM2MTM6IHJlc3VsdDogZysrIC1FCmNv
bmZpZ3VyZToxMzYzMzogZysrIC1FICBjb25mdGVzdC5jcHAKY29uZmlndXJl
OjEzNjMzOiAkPyA9IDAKY29uZmlndXJlOjEzNjQ3OiBnKysgLUUgIGNvbmZ0
ZXN0LmNwcApjb25mdGVzdC5jcHA6Mzg6Mjg6IGZhdGFsIGVycm9yOiBhY19u
b25leGlzdGVudC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5j
bHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjEz
NjQ3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg
LyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUg
TGlidG9vbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlidG9vbCIK
fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBQ
QUNLQUdFX1NUUklORyAiR05VIExpYnRvb2wgMi40LjIiCnwgI2RlZmluZSBQ
QUNLQUdFX0JVR1JFUE9SVCAiYnVnLWxpYnRvb2xAZ251Lm9yZyIKfCAjZGVm
aW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUv
bGlidG9vbC8iCnwgI2RlZmluZSBQQUNLQUdFICJsaWJ0b29sIgp8ICNkZWZp
bmUgVkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8
ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU
WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg
SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIK
fCAjZGVmaW5lIExUX01PRFVMRV9FWFQgIi5kbGwiCnwgI2RlZmluZSBMVF9N
T0RVTEVfUEFUSF9WQVIgIlBBVEgiCnwgI2RlZmluZSBMVF9ETFNFQVJDSF9Q
QVRIICIvbGliOi91c3IvbGliIgp8ICNkZWZpbmUgSEFWRV9ERUNMX0NZR1dJ
Tl9DT05WX1BBVEggMAp8ICNkZWZpbmUgSEFWRV9MSUJETExPQURFUiAxCnwg
I2RlZmluZSBMVERMX0RMT1BFTl9ERVBMSUJTIDEKfCAjZGVmaW5lIGVycm9y
X3QgaW50CnwgI2RlZmluZSBfX2Vycm9yX3RfZGVmaW5lZCAxCnwgI2RlZmlu
ZSBIQVZFX1BSRUxPQURFRF9TWU1CT0xTIDEKfCAjZGVmaW5lIEhBVkVfVU5J
U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBI
QVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfT1BFTkRJUiAxCnwgI2Rl
ZmluZSBIQVZFX1JFQURESVIgMQp8ICNkZWZpbmUgTFRfTElCRVhUICJhIgp8
ICNkZWZpbmUgTFRfTElCUFJFRklYICJsaWIiCnwgLyogZW5kIGNvbmZkZWZz
LmguICAqLwp8ICNpbmNsdWRlIDxhY19ub25leGlzdGVudC5oPgpjb25maWd1
cmU6MTM4MTY6IGNoZWNraW5nIGZvciBsZCB1c2VkIGJ5IGcrKwpjb25maWd1
cmU6MTM4ODM6IHJlc3VsdDogYzovdGluZ3cvbWluZ3czMi9iaW4vbGQuZXhl
CmNvbmZpZ3VyZToxMzg5MDogY2hlY2tpbmcgaWYgdGhlIGxpbmtlciAoYzov
dGluZ3cvbWluZ3czMi9iaW4vbGQuZXhlKSBpcyBHTlUgbGQKY29uZmlndXJl
OjEzOTA1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM5NjA6IGNoZWNraW5n
IHdoZXRoZXIgdGhlIGcrKyBsaW5rZXIgKGM6L3Rpbmd3L21pbmd3MzIvYmlu
L2xkLmV4ZSkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcwpjb25maWd1cmU6
MTQ5NjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTAwMTogZysrIC1jIC1n
IC1PMiAgY29uZnRlc3QuY3BwID4mNQpjb25maWd1cmU6MTUwMDQ6ICQ/ID0g
MApjb25maWd1cmU6MTU1MjQ6IGNoZWNraW5nIGZvciBnKysgb3B0aW9uIHRv
IHByb2R1Y2UgUElDCmNvbmZpZ3VyZToxNTUzMTogcmVzdWx0OiAtRERMTF9F
WFBPUlQgLURQSUMKY29uZmlndXJlOjE1NTM5OiBjaGVja2luZyBpZiBnKysg
UElDIGZsYWcgLURETExfRVhQT1JUIC1EUElDIHdvcmtzCmNvbmZpZ3VyZTox
NTU1NzogZysrIC1jIC1nIC1PMiAgLURETExfRVhQT1JUIC1EUElDIC1EUElD
IGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJlOjE1NTYxOiAkPyA9IDAKY29u
ZmlndXJlOjE1NTc0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU1OTc6IGNo
ZWNraW5nIGlmIGcrKyBzdGF0aWMgZmxhZyAtc3RhdGljIHdvcmtzCmNvbmZp
Z3VyZToxNTYyNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1NjM3OiBjaGVj
a2luZyBpZiBnKysgc3VwcG9ydHMgLWMgLW8gZmlsZS5vCmNvbmZpZ3VyZTox
NTY1ODogZysrIC1jIC1nIC1PMiAgLW8gb3V0L2NvbmZ0ZXN0Mi5vIGNvbmZ0
ZXN0LmNwcCA+JjUKY29uZmlndXJlOjE1NjYyOiAkPyA9IDAKY29uZmlndXJl
OjE1Njg0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU2ODk6IGNoZWNraW5n
IGlmIGcrKyBzdXBwb3J0cyAtYyAtbyBmaWxlLm8KY29uZmlndXJlOjE1NzM2
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU3NjY6IGNoZWNraW5nIHdoZXRo
ZXIgdGhlIGcrKyBsaW5rZXIgKGM6L3Rpbmd3L21pbmd3MzIvYmluL2xkLmV4
ZSkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcwpjb25maWd1cmU6MTU4MDI6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTk0MzogY2hlY2tpbmcgZHluYW1p
YyBsaW5rZXIgY2hhcmFjdGVyaXN0aWNzCmNvbmZpZ3VyZToxNjYxMDogcmVz
dWx0OiBXaW4zMiBsZC5leGUKY29uZmlndXJlOjE2NjYzOiBjaGVja2luZyBo
b3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRocyBpbnRvIHByb2dyYW1zCmNv
bmZpZ3VyZToxNjY4ODogcmVzdWx0OiBpbW1lZGlhdGUKY29uZmlndXJlOjE2
NzgxOiBjaGVja2luZyBmb3IgZzc3CmNvbmZpZ3VyZToxNjgxMTogcmVzdWx0
OiBubwpjb25maWd1cmU6MTY3ODE6IGNoZWNraW5nIGZvciB4bGYKY29uZmln
dXJlOjE2ODExOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjc4MTogY2hlY2tp
bmcgZm9yIGY3Nwpjb25maWd1cmU6MTY4MTE6IHJlc3VsdDogbm8KY29uZmln
dXJlOjE2NzgxOiBjaGVja2luZyBmb3IgZnJ0CmNvbmZpZ3VyZToxNjgxMTog
cmVzdWx0OiBubwpjb25maWd1cmU6MTY3ODE6IGNoZWNraW5nIGZvciBwZ2Y3
Nwpjb25maWd1cmU6MTY4MTE6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2Nzgx
OiBjaGVja2luZyBmb3IgY2Y3Nwpjb25maWd1cmU6MTY4MTE6IHJlc3VsdDog
bm8KY29uZmlndXJlOjE2NzgxOiBjaGVja2luZyBmb3IgZm9ydDc3CmNvbmZp
Z3VyZToxNjgxMTogcmVzdWx0OiBubwpjb25maWd1cmU6MTY3ODE6IGNoZWNr
aW5nIGZvciBmbDMyCmNvbmZpZ3VyZToxNjgxMTogcmVzdWx0OiBubwpjb25m
aWd1cmU6MTY3ODE6IGNoZWNraW5nIGZvciBhZjc3CmNvbmZpZ3VyZToxNjgx
MTogcmVzdWx0OiBubwpjb25maWd1cmU6MTY3ODE6IGNoZWNraW5nIGZvciB4
bGY5MApjb25maWd1cmU6MTY4MTE6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2
NzgxOiBjaGVja2luZyBmb3IgZjkwCmNvbmZpZ3VyZToxNjgxMTogcmVzdWx0
OiBubwpjb25maWd1cmU6MTY3ODE6IGNoZWNraW5nIGZvciBwZ2Y5MApjb25m
aWd1cmU6MTY4MTE6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2NzgxOiBjaGVj
a2luZyBmb3IgcGdocGYKY29uZmlndXJlOjE2ODExOiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZToxNjc4MTogY2hlY2tpbmcgZm9yIGVwY2Y5MApjb25maWd1cmU6
MTY4MTE6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2NzgxOiBjaGVja2luZyBm
b3IgZ2ZvcnRyYW4KY29uZmlndXJlOjE2ODExOiByZXN1bHQ6IG5vCmNvbmZp
Z3VyZToxNjc4MTogY2hlY2tpbmcgZm9yIGc5NQpjb25maWd1cmU6MTY4MTE6
IHJlc3VsdDogbm8KY29uZmlndXJlOjE2NzgxOiBjaGVja2luZyBmb3IgeGxm
OTUKY29uZmlndXJlOjE2ODExOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjc4
MTogY2hlY2tpbmcgZm9yIGY5NQpjb25maWd1cmU6MTY4MTE6IHJlc3VsdDog
bm8KY29uZmlndXJlOjE2NzgxOiBjaGVja2luZyBmb3IgZm9ydApjb25maWd1
cmU6MTY4MTE6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2NzgxOiBjaGVja2lu
ZyBmb3IgaWZvcnQKY29uZmlndXJlOjE2ODExOiByZXN1bHQ6IG5vCmNvbmZp
Z3VyZToxNjc4MTogY2hlY2tpbmcgZm9yIGlmYwpjb25maWd1cmU6MTY4MTE6
IHJlc3VsdDogbm8KY29uZmlndXJlOjE2NzgxOiBjaGVja2luZyBmb3IgZWZj
CmNvbmZpZ3VyZToxNjgxMTogcmVzdWx0OiBubwpjb25maWd1cmU6MTY3ODE6
IGNoZWNraW5nIGZvciBwZ2ZvcnRyYW4KY29uZmlndXJlOjE2ODExOiByZXN1
bHQ6IG5vCmNvbmZpZ3VyZToxNjc4MTogY2hlY2tpbmcgZm9yIHBnZjk1CmNv
bmZpZ3VyZToxNjgxMTogcmVzdWx0OiBubwpjb25maWd1cmU6MTY3ODE6IGNo
ZWNraW5nIGZvciBsZjk1CmNvbmZpZ3VyZToxNjgxMTogcmVzdWx0OiBubwpj
b25maWd1cmU6MTY3ODE6IGNoZWNraW5nIGZvciBmdG4KY29uZmlndXJlOjE2
ODExOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjgzNDogY2hlY2tpbmcgZm9y
IEZvcnRyYW4gNzcgY29tcGlsZXIgdmVyc2lvbgpjb25maWd1cmU6MTY4NDM6
ICAtLXZlcnNpb24gPiY1Ci9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xp
YnRvb2wtMi40LjIvY29uZmlndXJlOiBsaW5lIDE2ODQ1OiAtLXZlcnNpb246
IGNvbW1hbmQgbm90IGZvdW5kCmNvbmZpZ3VyZToxNjg1NDogJD8gPSAxMjcK
Y29uZmlndXJlOjE2ODQzOiAgLXYgPiY1Ci9NaW5HVy9zaGFyZS9hdXRvbWFr
ZS0xLjExL2xpYnRvb2wtMi40LjIvY29uZmlndXJlOiBsaW5lIDE2ODQ1OiAt
djogY29tbWFuZCBub3QgZm91bmQKY29uZmlndXJlOjE2ODU0OiAkPyA9IDEy
Nwpjb25maWd1cmU6MTY4NDM6ICAtViA+JjUKL01pbkdXL3NoYXJlL2F1dG9t
YWtlLTEuMTEvbGlidG9vbC0yLjQuMi9jb25maWd1cmU6IGxpbmUgMTY4NDU6
IC1WOiBjb21tYW5kIG5vdCBmb3VuZApjb25maWd1cmU6MTY4NTQ6ICQ/ID0g
MTI3CmNvbmZpZ3VyZToxNjg0MzogIC1xdmVyc2lvbiA+JjUKL01pbkdXL3No
YXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi9jb25maWd1cmU6IGxp
bmUgMTY4NDU6IC1xdmVyc2lvbjogY29tbWFuZCBub3QgZm91bmQKY29uZmln
dXJlOjE2ODU0OiAkPyA9IDEyNwpjb25maWd1cmU6MTY4NjM6IGNoZWNraW5n
IHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgRm9ydHJhbiA3NyBjb21w
aWxlcgpjb25maWd1cmU6MTY4NzY6ICAtYyAgY29uZnRlc3QuRiA+JjUKL01p
bkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi9jb25maWd1
cmU6IGxpbmUgMjA1MjogLWM6IGNvbW1hbmQgbm90IGZvdW5kCmNvbmZpZ3Vy
ZToxNjg3NjogJD8gPSAxMjcKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3
YXM6CnwgICAgICAgcHJvZ3JhbSBtYWluCnwgI2lmbmRlZiBfX0dOVUNfXwp8
ICAgICAgICBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8ICAgICAgIGVuZApjb25m
aWd1cmU6MTY4ODU6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2ODkxOiBjaGVj
a2luZyB3aGV0aGVyICBhY2NlcHRzIC1nCmNvbmZpZ3VyZToxNjkwMjogIC1j
IC1nIGNvbmZ0ZXN0LmYgPiY1Ci9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjEx
L2xpYnRvb2wtMi40LjIvY29uZmlndXJlOiBsaW5lIDIwNTI6IC1jOiBjb21t
YW5kIG5vdCBmb3VuZApjb25maWd1cmU6MTY5MDI6ICQ/ID0gMTI3CmNvbmZp
Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8ICAgICAgIHByb2dyYW0gbWFp
bgp8IAp8ICAgICAgIGVuZApjb25maWd1cmU6MTY5MTA6IHJlc3VsdDogbm8K
Y29uZmlndXJlOjE5NzEwOiBjaGVja2luZyBmb3IgZ2ZvcnRyYW4KY29uZmln
dXJlOjE5NzQwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTcxMDogY2hlY2tp
bmcgZm9yIGc5NQpjb25maWd1cmU6MTk3NDA6IHJlc3VsdDogbm8KY29uZmln
dXJlOjE5NzEwOiBjaGVja2luZyBmb3IgeGxmOTUKY29uZmlndXJlOjE5NzQw
OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTcxMDogY2hlY2tpbmcgZm9yIGY5
NQpjb25maWd1cmU6MTk3NDA6IHJlc3VsdDogbm8KY29uZmlndXJlOjE5NzEw
OiBjaGVja2luZyBmb3IgZm9ydApjb25maWd1cmU6MTk3NDA6IHJlc3VsdDog
bm8KY29uZmlndXJlOjE5NzEwOiBjaGVja2luZyBmb3IgaWZvcnQKY29uZmln
dXJlOjE5NzQwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTcxMDogY2hlY2tp
bmcgZm9yIGlmYwpjb25maWd1cmU6MTk3NDA6IHJlc3VsdDogbm8KY29uZmln
dXJlOjE5NzEwOiBjaGVja2luZyBmb3IgZWZjCmNvbmZpZ3VyZToxOTc0MDog
cmVzdWx0OiBubwpjb25maWd1cmU6MTk3MTA6IGNoZWNraW5nIGZvciBwZ2Zv
cnRyYW4KY29uZmlndXJlOjE5NzQwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox
OTcxMDogY2hlY2tpbmcgZm9yIHBnZjk1CmNvbmZpZ3VyZToxOTc0MDogcmVz
dWx0OiBubwpjb25maWd1cmU6MTk3MTA6IGNoZWNraW5nIGZvciBsZjk1CmNv
bmZpZ3VyZToxOTc0MDogcmVzdWx0OiBubwpjb25maWd1cmU6MTk3MTA6IGNo
ZWNraW5nIGZvciBmdG4KY29uZmlndXJlOjE5NzQwOiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZToxOTcxMDogY2hlY2tpbmcgZm9yIHhsZjkwCmNvbmZpZ3VyZTox
OTc0MDogcmVzdWx0OiBubwpjb25maWd1cmU6MTk3MTA6IGNoZWNraW5nIGZv
ciBmOTAKY29uZmlndXJlOjE5NzQwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox
OTcxMDogY2hlY2tpbmcgZm9yIHBnZjkwCmNvbmZpZ3VyZToxOTc0MDogcmVz
dWx0OiBubwpjb25maWd1cmU6MTk3MTA6IGNoZWNraW5nIGZvciBwZ2hwZgpj
b25maWd1cmU6MTk3NDA6IHJlc3VsdDogbm8KY29uZmlndXJlOjE5NzEwOiBj
aGVja2luZyBmb3IgZXBjZjkwCmNvbmZpZ3VyZToxOTc0MDogcmVzdWx0OiBu
bwpjb25maWd1cmU6MTk3MTA6IGNoZWNraW5nIGZvciBnNzcKY29uZmlndXJl
OjE5NzQwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTcxMDogY2hlY2tpbmcg
Zm9yIHhsZgpjb25maWd1cmU6MTk3NDA6IHJlc3VsdDogbm8KY29uZmlndXJl
OjE5NzEwOiBjaGVja2luZyBmb3IgZjc3CmNvbmZpZ3VyZToxOTc0MDogcmVz
dWx0OiBubwpjb25maWd1cmU6MTk3MTA6IGNoZWNraW5nIGZvciBmcnQKY29u
ZmlndXJlOjE5NzQwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTcxMDogY2hl
Y2tpbmcgZm9yIHBnZjc3CmNvbmZpZ3VyZToxOTc0MDogcmVzdWx0OiBubwpj
b25maWd1cmU6MTk3MTA6IGNoZWNraW5nIGZvciBjZjc3CmNvbmZpZ3VyZTox
OTc0MDogcmVzdWx0OiBubwpjb25maWd1cmU6MTk3MTA6IGNoZWNraW5nIGZv
ciBmb3J0NzcKY29uZmlndXJlOjE5NzQwOiByZXN1bHQ6IG5vCmNvbmZpZ3Vy
ZToxOTcxMDogY2hlY2tpbmcgZm9yIGZsMzIKY29uZmlndXJlOjE5NzQwOiBy
ZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTcxMDogY2hlY2tpbmcgZm9yIGFmNzcK
Y29uZmlndXJlOjE5NzQwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTc2Mzog
Y2hlY2tpbmcgZm9yIEZvcnRyYW4gY29tcGlsZXIgdmVyc2lvbgpjb25maWd1
cmU6MTk3NzI6ICAtLXZlcnNpb24gPiY1Ci9NaW5HVy9zaGFyZS9hdXRvbWFr
ZS0xLjExL2xpYnRvb2wtMi40LjIvY29uZmlndXJlOiBsaW5lIDE5Nzc0OiAt
LXZlcnNpb246IGNvbW1hbmQgbm90IGZvdW5kCmNvbmZpZ3VyZToxOTc4Mzog
JD8gPSAxMjcKY29uZmlndXJlOjE5NzcyOiAgLXYgPiY1Ci9NaW5HVy9zaGFy
ZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvY29uZmlndXJlOiBsaW5l
IDE5Nzc0OiAtdjogY29tbWFuZCBub3QgZm91bmQKY29uZmlndXJlOjE5Nzgz
OiAkPyA9IDEyNwpjb25maWd1cmU6MTk3NzI6ICAtViA+JjUKL01pbkdXL3No
YXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi9jb25maWd1cmU6IGxp
bmUgMTk3NzQ6IC1WOiBjb21tYW5kIG5vdCBmb3VuZApjb25maWd1cmU6MTk3
ODM6ICQ/ID0gMTI3CmNvbmZpZ3VyZToxOTc3MjogIC1xdmVyc2lvbiA+JjUK
L01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi9jb25m
aWd1cmU6IGxpbmUgMTk3NzQ6IC1xdmVyc2lvbjogY29tbWFuZCBub3QgZm91
bmQKY29uZmlndXJlOjE5NzgzOiAkPyA9IDEyNwpjb25maWd1cmU6MTk3OTI6
IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgRm9ydHJh
biBjb21waWxlcgpjb25maWd1cmU6MTk4MDU6ICAtYyAgIGNvbmZ0ZXN0LkYg
PiY1Ci9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIv
Y29uZmlndXJlOiBsaW5lIDIxMzY6IC1jOiBjb21tYW5kIG5vdCBmb3VuZApj
b25maWd1cmU6MTk4MDU6ICQ/ID0gMTI3CmNvbmZpZ3VyZTogZmFpbGVkIHBy
b2dyYW0gd2FzOgp8ICAgICAgIHByb2dyYW0gbWFpbgp8ICNpZm5kZWYgX19H
TlVDX18KfCAgICAgICAgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCAgICAgICBl
bmQKY29uZmlndXJlOjE5ODE0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTgy
MDogY2hlY2tpbmcgd2hldGhlciAgYWNjZXB0cyAtZwpjb25maWd1cmU6MTk4
MzE6ICAtYyAtZyAgY29uZnRlc3QuZiA+JjUKL01pbkdXL3NoYXJlL2F1dG9t
YWtlLTEuMTEvbGlidG9vbC0yLjQuMi9jb25maWd1cmU6IGxpbmUgMjEzNjog
LWM6IGNvbW1hbmQgbm90IGZvdW5kCmNvbmZpZ3VyZToxOTgzMTogJD8gPSAx
MjcKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgICAgICAgcHJv
Z3JhbSBtYWluCnwgCnwgICAgICAgZW5kCmNvbmZpZ3VyZToxOTgzOTogcmVz
dWx0OiBubwpjb25maWd1cmU6MjI3NzI6IGNoZWNraW5nIGZvciBnY2Nnbwpj
b25maWd1cmU6MjI4MDI6IHJlc3VsdDogbm8KY29uZmlndXJlOjI0ODY4OiBj
aGVja2luZyBmb3IgZ2NqCmNvbmZpZ3VyZToyNDg5ODogcmVzdWx0OiBubwpj
b25maWd1cmU6MjY5NjU6IGNoZWNraW5nIGZvciB3aW5kcmVzCmNvbmZpZ3Vy
ZToyNjk4MTogZm91bmQgL21pbmd3L2Jpbi93aW5kcmVzCmNvbmZpZ3VyZToy
Njk5MjogcmVzdWx0OiB3aW5kcmVzCmNvbmZpZ3VyZToyNzE0ODogY2hlY2tp
bmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG9yZGVyLW9ubHkgcHJlcmVxdWlz
aXRlcwpjb25maWd1cmU6MjcxNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToy
NzM1NjogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCgojIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tICMjCiMjIFJ1bm5pbmcgY29uZmlnLnN0YXR1cy4gIyMK
IyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoKVGhpcyBmaWxlIHdhcyBl
eHRlbmRlZCBieSBHTlUgTGlidG9vbCBjb25maWcuc3RhdHVzIDIuNC4yLCB3
aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY4LiAgSW52
b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCgogIENPTkZJR19GSUxFUyAgICA9
IAogIENPTkZJR19IRUFERVJTICA9IAogIENPTkZJR19MSU5LUyAgICA9IAog
IENPTkZJR19DT01NQU5EUyA9IAogICQgLi9jb25maWcuc3RhdHVzIAoKb24g
dGlsbAoKY29uZmlnLnN0YXR1czoxNDkwOiBjcmVhdGluZyBNYWtlZmlsZQpj
b25maWcuc3RhdHVzOjE0OTA6IGNyZWF0aW5nIGNvbmZpZy5oCmNvbmZpZy5z
dGF0dXM6MTcwNDogZXhlY3V0aW5nIHRlc3RzL2F0Y29uZmlnIGNvbW1hbmRz
CmNvbmZpZy5zdGF0dXM6MTcwNDogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1h
bmRzCmNvbmZpZy5zdGF0dXM6MTcwNDogZXhlY3V0aW5nIGxpYnRvb2wgY29t
bWFuZHMKCiMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgQ2FjaGUgdmFyaWFi
bGVzLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tICMjCgphY19jdl9idWlsZD1p
Njg2LXBjLW1pbmd3MzIKYWNfY3ZfY19jb21waWxlcl9nbnU9eWVzCmFjX2N2
X2N4eF9jb21waWxlcl9nbnU9eWVzCmFjX2N2X2Vudl9DQ0Nfc2V0PQphY19j
dl9lbnZfQ0NDX3ZhbHVlPQphY19jdl9lbnZfQ0Nfc2V0PQphY19jdl9lbnZf
Q0NfdmFsdWU9CmFjX2N2X2Vudl9DRkxBR1Nfc2V0PQphY19jdl9lbnZfQ0ZM
QUdTX3ZhbHVlPQphY19jdl9lbnZfQ1BQRkxBR1Nfc2V0PQphY19jdl9lbnZf
Q1BQRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9DUFBfc2V0PQphY19jdl9lbnZf
Q1BQX3ZhbHVlPQphY19jdl9lbnZfQ1hYQ1BQX3NldD0KYWNfY3ZfZW52X0NY
WENQUF92YWx1ZT0KYWNfY3ZfZW52X0NYWEZMQUdTX3NldD0KYWNfY3ZfZW52
X0NYWEZMQUdTX3ZhbHVlPQphY19jdl9lbnZfQ1hYX3NldD0KYWNfY3ZfZW52
X0NYWF92YWx1ZT0KYWNfY3ZfZW52X0Y3N19zZXQ9CmFjX2N2X2Vudl9GNzdf
dmFsdWU9CmFjX2N2X2Vudl9GQ0ZMQUdTX3NldD0KYWNfY3ZfZW52X0ZDRkxB
R1NfdmFsdWU9CmFjX2N2X2Vudl9GQ19zZXQ9CmFjX2N2X2Vudl9GQ192YWx1
ZT0KYWNfY3ZfZW52X0ZGTEFHU19zZXQ9CmFjX2N2X2Vudl9GRkxBR1NfdmFs
dWU9CmFjX2N2X2Vudl9MREZMQUdTX3NldD0KYWNfY3ZfZW52X0xERkxBR1Nf
dmFsdWU9CmFjX2N2X2Vudl9MSUJTX3NldD0KYWNfY3ZfZW52X0xJQlNfdmFs
dWU9CmFjX2N2X2Vudl9idWlsZF9hbGlhc19zZXQ9CmFjX2N2X2Vudl9idWls
ZF9hbGlhc192YWx1ZT0KYWNfY3ZfZW52X2hvc3RfYWxpYXNfc2V0PQphY19j
dl9lbnZfaG9zdF9hbGlhc192YWx1ZT0KYWNfY3ZfZW52X3RhcmdldF9hbGlh
c19zZXQ9CmFjX2N2X2Vudl90YXJnZXRfYWxpYXNfdmFsdWU9CmFjX2N2X2V4
ZWV4dD0uZXhlCmFjX2N2X2Y3N19jb21waWxlcl9nbnU9bm8KYWNfY3ZfZmNf
Y29tcGlsZXJfZ251PW5vCmFjX2N2X2Z1bmNfYXJnel9hZGQ9bm8KYWNfY3Zf
ZnVuY19hcmd6X2FwcGVuZD1ubwphY19jdl9mdW5jX2FyZ3pfY291bnQ9bm8K
YWNfY3ZfZnVuY19hcmd6X2NyZWF0ZV9zZXA9bm8KYWNfY3ZfZnVuY19hcmd6
X2luc2VydD1ubwphY19jdl9mdW5jX2FyZ3pfbmV4dD1ubwphY19jdl9mdW5j
X2FyZ3pfc3RyaW5naWZ5PW5vCmFjX2N2X2Z1bmNfY2xvc2VkaXI9eWVzCmFj
X2N2X2Z1bmNfb3BlbmRpcj15ZXMKYWNfY3ZfZnVuY19yZWFkZGlyPXllcwph
Y19jdl9mdW5jX3NobF9sb2FkPW5vCmFjX2N2X2Z1bmNfc3RybGNhdD1ubwph
Y19jdl9mdW5jX3N0cmxjcHk9bm8KYWNfY3ZfaGF2ZV9kZWNsX2N5Z3dpbl9j
b252X3BhdGg9bm8KYWNfY3ZfaGVhZGVyX2FyZ3pfaD1ubwphY19jdl9oZWFk
ZXJfZGlyZW50X2g9eWVzCmFjX2N2X2hlYWRlcl9kbF9oPW5vCmFjX2N2X2hl
YWRlcl9kbGRfaD1ubwphY19jdl9oZWFkZXJfZGxmY25faD1ubwphY19jdl9o
ZWFkZXJfaW50dHlwZXNfaD15ZXMKYWNfY3ZfaGVhZGVyX21hY2hfb19keWxk
X2g9bm8KYWNfY3ZfaGVhZGVyX21lbW9yeV9oPXllcwphY19jdl9oZWFkZXJf
c3RkYz15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGludF9oPXllcwphY19jdl9oZWFk
ZXJfc3RkbGliX2g9eWVzCmFjX2N2X2hlYWRlcl9zdHJpbmdfaD15ZXMKYWNf
Y3ZfaGVhZGVyX3N0cmluZ3NfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19kbF9o
PW5vCmFjX2N2X2hlYWRlcl9zeXNfc3RhdF9oPXllcwphY19jdl9oZWFkZXJf
c3lzX3R5cGVzX2g9eWVzCmFjX2N2X2hlYWRlcl91bmlzdGRfaD15ZXMKYWNf
Y3ZfaG9zdD1pNjg2LXBjLW1pbmd3MzIKYWNfY3ZfbGliX2RsZF9kbGRfbGlu
az1ubwphY19jdl9saWJfZGxkX3NobF9sb2FkPW5vCmFjX2N2X2xpYl9zdmxk
X2Rsb3Blbj1ubwphY19jdl9vYmpleHQ9bwphY19jdl9wYXRoX0VHUkVQPScv
YmluL2dyZXAgLUUnCmFjX2N2X3BhdGhfRkdSRVA9Jy9iaW4vZ3JlcCAtRicK
YWNfY3ZfcGF0aF9HUkVQPS9iaW4vZ3JlcAphY19jdl9wYXRoX1NFRD0vYmlu
L3NlZAphY19jdl9wYXRoX2luc3RhbGw9Jy9iaW4vaW5zdGFsbCAtYycKYWNf
Y3ZfcGF0aF9ta2Rpcj0vYmluL21rZGlyCmFjX2N2X3Byb2dfQVdLPWdhd2sK
YWNfY3ZfcHJvZ19DUFA9J2djYyAtRScKYWNfY3ZfcHJvZ19DWFhDUFA9J2cr
KyAtRScKYWNfY3ZfcHJvZ19hY19jdF9BUj1hcgphY19jdl9wcm9nX2FjX2N0
X0FTPWFzCmFjX2N2X3Byb2dfYWNfY3RfQ0M9Z2NjCmFjX2N2X3Byb2dfYWNf
Y3RfQ1hYPWcrKwphY19jdl9wcm9nX2FjX2N0X0RMTFRPT0w9ZGxsdG9vbAph
Y19jdl9wcm9nX2FjX2N0X09CSkRVTVA9b2JqZHVtcAphY19jdl9wcm9nX2Fj
X2N0X1JBTkxJQj1yYW5saWIKYWNfY3ZfcHJvZ19hY19jdF9SQz13aW5kcmVz
CmFjX2N2X3Byb2dfYWNfY3RfU1RSSVA9c3RyaXAKYWNfY3ZfcHJvZ19jY19j
ODk9CmFjX2N2X3Byb2dfY2NfZz15ZXMKYWNfY3ZfcHJvZ19jY19nY2NfY19v
PXllcwphY19jdl9wcm9nX2N4eF9nPXllcwphY19jdl9wcm9nX2Y3N19nPW5v
CmFjX2N2X3Byb2dfZmNfZz1ubwphY19jdl9wcm9nX21ha2VfbWFrZV9zZXQ9
eWVzCmFjX2N2X3NlYXJjaF9kbG9wZW49bm8KYWNfY3ZfdHlwZV9lcnJvcl90
PW5vCmFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPWdjYzMK
YW1fY3ZfQ1hYX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPWdjYzMKbGli
bHRkbF9jdl9wcmVsb2FkZWRfc3ltYm9scz15ZXMKbGlibHRkbF9jdl9zaGxp
YmV4dD0uZGxsCmxpYmx0ZGxfY3Zfc2hyZXh0PS5kbGwKbHRfY3ZfYXJfYXRf
ZmlsZT1ACmx0X2N2X2FyY2hpdmVfY21kc19uZWVkX2xjPXllcwpsdF9jdl9k
ZXBsaWJzX2NoZWNrX21ldGhvZD0nZmlsZV9tYWdpYyBeeDg2IGFyY2hpdmUg
aW1wb3J0fF54ODYgRExMJwpsdF9jdl9kbG9wZW49TG9hZExpYnJhcnkKbHRf
Y3ZfZGxvcGVuX2xpYnM9Cmx0X2N2X2ZpbGVfbWFnaWNfY21kPWZ1bmNfd2lu
MzJfbGliaWQKbHRfY3ZfZmlsZV9tYWdpY190ZXN0X2ZpbGU9Cmx0X2N2X2xk
X3JlbG9hZF9mbGFnPS1yCmx0X2N2X21ha2Vfb3JkZXJfb25seT15ZXMKbHRf
Y3ZfbW9kdWxlX3BhdGhfdmFyPVBBVEgKbHRfY3Zfbm1faW50ZXJmYWNlPSdC
U0Qgbm0nCmx0X2N2X29iamRpcj0ubGlicwpsdF9jdl9wYXRoX0xEPWM6L3Rp
bmd3L21pbmd3MzIvYmluL2xkLmV4ZQpsdF9jdl9wYXRoX0xEQ1hYPWM6L3Rp
bmd3L21pbmd3MzIvYmluL2xkLmV4ZQpsdF9jdl9wYXRoX05NPScvYmluL25t
IC1CJwpsdF9jdl9wYXRoX21haW5mZXN0X3Rvb2w9bm8KbHRfY3ZfcHJvZ19j
b21waWxlcl9jX289eWVzCmx0X2N2X3Byb2dfY29tcGlsZXJfY19vX0NYWD15
ZXMKbHRfY3ZfcHJvZ19jb21waWxlcl9jX29fUkM9eWVzCmx0X2N2X3Byb2df
Y29tcGlsZXJfcGljPSctRERMTF9FWFBPUlQgLURQSUMnCmx0X2N2X3Byb2df
Y29tcGlsZXJfcGljX0NYWD0nLURETExfRVhQT1JUIC1EUElDJwpsdF9jdl9w
cm9nX2NvbXBpbGVyX3BpY193b3Jrcz15ZXMKbHRfY3ZfcHJvZ19jb21waWxl
cl9waWNfd29ya3NfQ1hYPXllcwpsdF9jdl9wcm9nX2NvbXBpbGVyX3J0dGlf
ZXhjZXB0aW9ucz1ubwpsdF9jdl9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3Jr
cz15ZXMKbHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3NfQ1hYPXll
cwpsdF9jdl9wcm9nX2dudV9sZD15ZXMKbHRfY3ZfcHJvZ19nbnVfbGRjeHg9
eWVzCmx0X2N2X3NoYXJlZGxpYl9mcm9tX2xpbmtsaWJfY21kPWZ1bmNfY3ln
bWluZ19kbGxfZm9yX2ltcGxpYgpsdF9jdl9zeXNfZGxvcGVuX2RlcGxpYnM9
dW5rbm93bgpsdF9jdl9zeXNfZGxzZWFyY2hfcGF0aD0nL2xpYiAvdXNyL2xp
YicKbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0nc2VkIC1uIC1lICdc
JydzL14uKlsJIF1cKFtBQkNER0lSU1RXXVtBQkNER0lSU1RXXSpcKVsJIF1b
CSBdKl9cKFtfQS1aYS16XVtfQS1aYS16MC05XSpcKQ1cezAsMVx9JC9cMSBf
XDIgXDIvcCdcJycgfCBzZWQgJ1wnJy8gX19nbnVfbHRvL2QnXCcnJwpsdF9j
dl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0nc2VkIC1u
IC1lICdcJydzL146IFwoW14gXSpcKVsgXSokLyAge1wiXDFcIiwgKHZvaWQg
KikgMH0sL3AnXCcnIC1lICdcJydzL15bQUJDREdJUlNUV10qIFwoW14gXSpc
KSBcKFteIF0qXCkkLyAgeyJcMiIsICh2b2lkICopIFwmXDJ9LC9wJ1wnJycK
bHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGli
X3ByZWZpeD0nc2VkIC1uIC1lICdcJydzL146IFwoW14gXSpcKVsgXSokLyAg
e1wiXDFcIiwgKHZvaWQgKikgMH0sL3AnXCcnIC1lICdcJydzL15bQUJDREdJ
UlNUV10qIFwoW14gXSpcKSBcKGxpYlteIF0qXCkkLyAgeyJcMiIsICh2b2lk
ICopIFwmXDJ9LC9wJ1wnJyAtZSAnXCcncy9eW0FCQ0RHSVJTVFddKiBcKFte
IF0qXCkgXChbXiBdKlwpJC8gIHsibGliXDIiLCAodm9pZCAqKSBcJlwyfSwv
cCdcJycnCmx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsPSdzZWQg
LW4gLWUgJ1wnJ3MvXlQgLiogXCguKlwpJC9leHRlcm4gaW50IFwxKCk7L3An
XCcnIC1lICdcJydzL15bQUJDREdJUlNUV10qIC4qIFwoLipcKSQvZXh0ZXJu
IGNoYXIgXDE7L3AnXCcnJwpsdF9jdl9zeXNfbWF4X2NtZF9sZW49ODE5Mgps
dF9jdl9zeXNfc3ltYm9sX3VuZGVyc2NvcmU9eWVzCmx0X2N2X3RvX2hvc3Rf
ZmlsZV9jbWQ9ZnVuY19jb252ZXJ0X2ZpbGVfbXN5c190b193MzIKbHRfY3Zf
dG9fdG9vbF9maWxlX2NtZD1mdW5jX2NvbnZlcnRfZmlsZV9tc3lzX3RvX3cz
MgoKIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgT3V0cHV0IHZhcmlhYmxl
cy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKCkFDTE9DQUw9JyR7U0hF
TEx9IC9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIv
bGlibHRkbC9jb25maWcvbWlzc2luZyAtLXJ1biBhY2xvY2FsLTEuMTEnCkFN
REVQQkFDS1NMQVNIPSdcJwpBTURFUF9GQUxTRT0nIycKQU1ERVBfVFJVRT0n
JwpBTVRBUj0nJHtTSEVMTH0gL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEv
bGlidG9vbC0yLjQuMi9saWJsdGRsL2NvbmZpZy9taXNzaW5nIC0tcnVuIHRh
cicKQVI9J2FyJwpBUkdaX0g9J2FyZ3ouaCcKQVM9J2FzJwpBVVRPQ09ORj0n
JHtTSEVMTH0gL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0y
LjQuMi9saWJsdGRsL2NvbmZpZy9taXNzaW5nIC0tcnVuIGF1dG9jb25mJwpB
VVRPSEVBREVSPScke1NIRUxMfSAvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4x
MS9saWJ0b29sLTIuNC4yL2xpYmx0ZGwvY29uZmlnL21pc3NpbmcgLS1ydW4g
YXV0b2hlYWRlcicKQVVUT000VEU9J2F1dG9tNHRlJwpBVVRPTUFLRT0nJHtT
SEVMTH0gL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQu
Mi9saWJsdGRsL2NvbmZpZy9taXNzaW5nIC0tcnVuIGF1dG9tYWtlLTEuMTEn
CkFVVE9URVNUPSckKEFVVE9NNFRFKSAtLWxhbmd1YWdlPWF1dG90ZXN0JwpB
V0s9J2dhd2snCkNDPSdnY2MnCkNDREVQTU9ERT0nZGVwbW9kZT1nY2MzJwpD
RkxBR1M9Jy1nIC1PMicKQ09ORklHX1NUQVRVU19ERVBFTkRFTkNJRVM9JyQo
dG9wX3NyY2RpcikvQ2hhbmdlTG9nJwpDT05GX1NVQkRJUlM9J3Rlc3RzL2Nk
ZW1vIHRlc3RzL2RlbW8gdGVzdHMvZGVwZGVtbyB0ZXN0cy9mNzdkZW1vIHRl
c3RzL2ZjZGVtbyAJdGVzdHMvbWRlbW8gdGVzdHMvbWRlbW8yIHRlc3RzL3Bk
ZW1vIHRlc3RzL3RhZ2RlbW8nCkNPTlZFTklFTkNFX0xURExfRkFMU0U9JycK
Q09OVkVOSUVOQ0VfTFRETF9UUlVFPScjJwpDUFA9J2djYyAtRScKQ1BQRkxB
R1M9JycKQ1hYPSdnKysnCkNYWENQUD0nZysrIC1FJwpDWFhERVBNT0RFPSdk
ZXBtb2RlPWdjYzMnCkNYWEZMQUdTPSctZyAtTzInCkNZR1BBVEhfVz0nZWNo
bycKREVGUz0nLURIQVZFX0NPTkZJR19IJwpERVBESVI9Jy5kZXBzJwpESVNU
X01BS0VGSUxFX0xJU1Q9J3Rlc3RzL2NkZW1vL01ha2VmaWxlIHRlc3RzL2Rl
bW8vTWFrZWZpbGUgdGVzdHMvZGVwZGVtby9NYWtlZmlsZSB0ZXN0cy9mNzdk
ZW1vL01ha2VmaWxlIHRlc3RzL2ZjZGVtby9NYWtlZmlsZSB0ZXN0cy9tZGVt
by9NYWtlZmlsZSB0ZXN0cy9tZGVtbzIvTWFrZWZpbGUgdGVzdHMvcGRlbW8v
TWFrZWZpbGUgdGVzdHMvdGFnZGVtby9NYWtlZmlsZSAnCkRMTFRPT0w9J2Rs
bHRvb2wnCkRTWU1VVElMPScnCkRVTVBCSU49JycKRUNIT19DPScnCkVDSE9f
Tj0nLW4nCkVDSE9fVD0nJwpFR1JFUD0nL2Jpbi9ncmVwIC1FJwpFWEVFWFQ9
Jy5leGUnCkY3Nz0nJwpGQz0nJwpGQ0ZMQUdTPScnCkZGTEFHUz0nJwpGR1JF
UD0nL2Jpbi9ncmVwIC1GJwpHQ0o9JycKR0NKRkxBR1M9Jy1nIC1PMicKR09D
PScnCkdSRVA9Jy9iaW4vZ3JlcCcKSEFWRV9DWFhfRkFMU0U9JyMnCkhBVkVf
Q1hYX1RSVUU9JycKSEFWRV9GNzdfRkFMU0U9JycKSEFWRV9GNzdfVFJVRT0n
IycKSEFWRV9GQ19GQUxTRT0nJwpIQVZFX0ZDX1RSVUU9JyMnCkhBVkVfR0NK
X0ZBTFNFPScnCkhBVkVfR0NKX1RSVUU9JyMnCkhBVkVfUkNfRkFMU0U9JyMn
CkhBVkVfUkNfVFJVRT0nJwpIRUxQMk1BTj0nJHtTSEVMTH0gL01pbkdXL3No
YXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi9saWJsdGRsL2NvbmZp
Zy9taXNzaW5nIC0tcnVuIGhlbHAybWFuJwpJTlNUQUxMX0RBVEE9JyR7SU5T
VEFMTH0gLW0gNjQ0JwpJTlNUQUxMX0xURExfRkFMU0U9JyMnCklOU1RBTExf
TFRETF9UUlVFPScnCklOU1RBTExfUFJPR1JBTT0nJHtJTlNUQUxMfScKSU5T
VEFMTF9TQ1JJUFQ9JyR7SU5TVEFMTH0nCklOU1RBTExfU1RSSVBfUFJPR1JB
TT0nJChpbnN0YWxsX3NoKSAtYyAtcycKTEFTVFJFTEVBU0U9JzIuNC4xJwpM
RD0nYzovdGluZ3cvbWluZ3czMi9iaW4vbGQuZXhlJwpMREZMQUdTPScnCkxJ
QkFERF9ETD0nICcKTElCQUREX0RMRF9MSU5LPScnCkxJQkFERF9ETE9QRU49
JycKTElCQUREX1NITF9MT0FEPScnCkxJQk9CSlM9JyAke0xJQk9CSkRJUn1h
cmd6JFUubyAke0xJQk9CSkRJUn1sdF9fc3RybCRVLm8nCkxJQlM9JycKTElC
VE9PTD0nJChTSEVMTCkgJCh0b3BfYnVpbGRkaXIpL2xpYnRvb2wnCkxJUE89
JycKTE5fUz0nY3AgLXAnCkxURExPUEVOPSdsaWJsdGRsJwpMVExJQk9CSlM9
JyAke0xJQk9CSkRJUn1hcmd6JFUubG8gJHtMSUJPQkpESVJ9bHRfX3N0cmwk
VS5sbycKTFRfQ09ORklHX0g9J2NvbmZpZy5oJwpMVF9ETExPQURFUlM9JyBs
aWJsdGRsL2xvYWRsaWJyYXJ5LmxhJwpMVF9ETFBSRU9QRU49Jy1kbHByZW9w
ZW4gbGlibHRkbC9sb2FkbGlicmFyeS5sYSAnCk00U0g9JyQoQVVUT000VEUp
IC0tbGFuZ3VhZ2U9bTRzaCcKTUFLRUlORk89JyR7U0hFTEx9IC9NaW5HVy9z
aGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvbGlibHRkbC9jb25m
aWcvbWlzc2luZyAtLXJ1biBtYWtlaW5mbycKTUFOSUZFU1RfVE9PTD0nOicK
TUtESVJfUD0nL2Jpbi9ta2RpciAtcCcKTk09Jy9iaW4vbm0gLUInCk5NRURJ
VD0nJwpPQkpEVU1QPSdvYmpkdW1wJwpPQkpFWFQ9J28nCk9SREVSPSd8JwpP
VE9PTDY0PScnCk9UT09MPScnClBBQ0tBR0U9J2xpYnRvb2wnClBBQ0tBR0Vf
QlVHUkVQT1JUPSdidWctbGlidG9vbEBnbnUub3JnJwpQQUNLQUdFX05BTUU9
J0dOVSBMaWJ0b29sJwpQQUNLQUdFX1NUUklORz0nR05VIExpYnRvb2wgMi40
LjInClBBQ0tBR0VfVEFSTkFNRT0nbGlidG9vbCcKUEFDS0FHRV9VUkw9J2h0
dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJ0b29sLycKUEFDS0FHRV9W
RVJTSU9OPScyLjQuMicKUEFUSF9TRVBBUkFUT1I9JzonClJBTkxJQj0ncmFu
bGliJwpSQz0nd2luZHJlcycKU0VEPScvYmluL3NlZCcKU0VUX01BS0U9JycK
U0hFTEw9Jy9iaW4vc2gnClNUUklQPSdzdHJpcCcKVElNRVNUQU1QPScnClZF
UlNJT049JzIuNC4yJwphY19jdF9BUj0nYXInCmFjX2N0X0NDPSdnY2MnCmFj
X2N0X0NYWD0nZysrJwphY19jdF9EVU1QQklOPScnCmFjX2N0X0Y3Nz0nJwph
Y19jdF9GQz0nJwphY2xvY2FsZGlyPScke2RhdGFkaXJ9L2FjbG9jYWwnCmFt
X19FWEVFWFRfRkFMU0U9JyMnCmFtX19FWEVFWFRfVFJVRT0nJwphbV9fZmFz
dGRlcENDX0ZBTFNFPScjJwphbV9fZmFzdGRlcENDX1RSVUU9JycKYW1fX2Zh
c3RkZXBDWFhfRkFMU0U9JyMnCmFtX19mYXN0ZGVwQ1hYX1RSVUU9JycKYW1f
X2luY2x1ZGU9J2luY2x1ZGUnCmFtX19pc3JjPScgLUkkKHNyY2RpciknCmFt
X19sZWFkaW5nX2RvdD0nLicKYW1fX3F1b3RlPScnCmFtX190YXI9JyR7QU1U
QVJ9IGNob2YgLSAiJCR0YXJkaXIiJwphbV9fdW50YXI9JyR7QU1UQVJ9IHhm
IC0nCmJpbmRpcj0nJHtleGVjX3ByZWZpeH0vYmluJwpidWlsZD0naTY4Ni1w
Yy1taW5ndzMyJwpidWlsZF9hbGlhcz0nJwpidWlsZF9jcHU9J2k2ODYnCmJ1
aWxkX29zPSdtaW5ndzMyJwpidWlsZF92ZW5kb3I9J3BjJwpkYXRhZGlyPSck
e2RhdGFyb290ZGlyfScKZGF0YXJvb3RkaXI9JyR7cHJlZml4fS9zaGFyZScK
ZG9jZGlyPScke2RhdGFyb290ZGlyfS9kb2MvJHtQQUNLQUdFX1RBUk5BTUV9
JwpkdmlkaXI9JyR7ZG9jZGlyfScKZXhlY19wcmVmaXg9JyR7cHJlZml4fScK
aG9zdD0naTY4Ni1wYy1taW5ndzMyJwpob3N0X2FsaWFzPScnCmhvc3RfY3B1
PSdpNjg2Jwpob3N0X29zPSdtaW5ndzMyJwpob3N0X3ZlbmRvcj0ncGMnCmh0
bWxkaXI9JyR7ZG9jZGlyfScKaW5jbHVkZWRpcj0nJHtwcmVmaXh9L2luY2x1
ZGUnCmluZm9kaXI9JyR7ZGF0YXJvb3RkaXJ9L2luZm8nCmluc3RhbGxfc2g9
JyR7U0hFTEx9IC9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wt
Mi40LjIvbGlibHRkbC9jb25maWcvaW5zdGFsbC1zaCcKbGliZGlyPScke2V4
ZWNfcHJlZml4fS9saWInCmxpYmV4ZWNkaXI9JyR7ZXhlY19wcmVmaXh9L2xp
YmV4ZWMnCmxvY2FsZWRpcj0nJHtkYXRhcm9vdGRpcn0vbG9jYWxlJwpsb2Nh
bHN0YXRlZGlyPScke3ByZWZpeH0vdmFyJwptYW5kaXI9JyR7ZGF0YXJvb3Rk
aXJ9L21hbicKbWtkaXJfcD0nL2Jpbi9ta2RpciAtcCcKb2xkaW5jbHVkZWRp
cj0nL3Vzci9pbmNsdWRlJwpwYWNrYWdlX3JldmlzaW9uPScxLjMzMzcnCnBk
ZmRpcj0nJHtkb2NkaXJ9Jwpwa2dkYXRhZGlyPScke2RhdGFkaXJ9L2xpYnRv
b2wnCnByZWZpeD0nL3Vzci9sb2NhbCcKcHJvZ3JhbV90cmFuc2Zvcm1fbmFt
ZT0ncyx4LHgsJwpwc2Rpcj0nJHtkb2NkaXJ9JwpzYmluZGlyPScke2V4ZWNf
cHJlZml4fS9zYmluJwpzaGFyZWRzdGF0ZWRpcj0nJHtwcmVmaXh9L2NvbScK
c3lzX3N5bWJvbF91bmRlcnNjb3JlPSd5ZXMnCnN5c2NvbmZkaXI9JyR7cHJl
Zml4fS9ldGMnCnRhcmdldF9hbGlhcz0nJwp0b19ob3N0X2ZpbGVfY21kPSdm
dW5jX2NvbnZlcnRfZmlsZV9tc3lzX3RvX3czMicKdG9fdG9vbF9maWxlX2Nt
ZD0nZnVuY19jb252ZXJ0X2ZpbGVfbXN5c190b193MzInCgojIyAtLS0tLS0t
LS0tLSAjIwojIyBjb25mZGVmcy5oLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoK
LyogY29uZmRlZnMuaCAqLwojZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIExp
YnRvb2wiCiNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJ0b29sIgojZGVm
aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi40LjIiCiNkZWZpbmUgUEFDS0FHRV9T
VFJJTkcgIkdOVSBMaWJ0b29sIDIuNC4yIgojZGVmaW5lIFBBQ0tBR0VfQlVH
UkVQT1JUICJidWctbGlidG9vbEBnbnUub3JnIgojZGVmaW5lIFBBQ0tBR0Vf
VVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGlidG9vbC8iCiNk
ZWZpbmUgUEFDS0FHRSAibGlidG9vbCIKI2RlZmluZSBWRVJTSU9OICIyLjQu
MiIKI2RlZmluZSBTVERDX0hFQURFUlMgMQojZGVmaW5lIEhBVkVfU1lTX1RZ
UEVTX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCiNkZWZpbmUgSEFW
RV9TVERMSUJfSCAxCiNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCiNkZWZpbmUg
SEFWRV9NRU1PUllfSCAxCiNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQojZGVm
aW5lIEhBVkVfSU5UVFlQRVNfSCAxCiNkZWZpbmUgSEFWRV9TVERJTlRfSCAx
CiNkZWZpbmUgSEFWRV9VTklTVERfSCAxCiNkZWZpbmUgTFRfT0JKRElSICIu
bGlicy8iCiNkZWZpbmUgTFRfTU9EVUxFX0VYVCAiLmRsbCIKI2RlZmluZSBM
VF9NT0RVTEVfUEFUSF9WQVIgIlBBVEgiCiNkZWZpbmUgTFRfRExTRUFSQ0hf
UEFUSCAiL2xpYjovdXNyL2xpYiIKI2RlZmluZSBIQVZFX0RFQ0xfQ1lHV0lO
X0NPTlZfUEFUSCAwCiNkZWZpbmUgSEFWRV9MSUJETExPQURFUiAxCiNkZWZp
bmUgTFRETF9ETE9QRU5fREVQTElCUyAxCiNkZWZpbmUgZXJyb3JfdCBpbnQK
I2RlZmluZSBfX2Vycm9yX3RfZGVmaW5lZCAxCiNkZWZpbmUgSEFWRV9QUkVM
T0FERURfU1lNQk9MUyAxCiNkZWZpbmUgSEFWRV9VTklTVERfSCAxCiNkZWZp
bmUgSEFWRV9ESVJFTlRfSCAxCiNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCiNk
ZWZpbmUgSEFWRV9PUEVORElSIDEKI2RlZmluZSBIQVZFX1JFQURESVIgMQoj
ZGVmaW5lIExUX0xJQkVYVCAiYSIKI2RlZmluZSBMVF9MSUJQUkVGSVggImxp
YiIKCmNvbmZpZ3VyZTogZXhpdCAwCg==

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

IyEgL2Jpbi9zaAojIEdlbmVyYXRlZCBieSBjb25maWd1cmUuCiMgUnVuIHRo
aXMgZmlsZSB0byByZWNyZWF0ZSB0aGUgY3VycmVudCBjb25maWd1cmF0aW9u
LgojIENvbXBpbGVyIG91dHB1dCBwcm9kdWNlZCBieSBjb25maWd1cmUsIHVz
ZWZ1bCBmb3IgZGVidWdnaW5nCiMgY29uZmlndXJlLCBpcyBpbiBjb25maWcu
bG9nIGlmIGl0IGV4aXN0cy4KCmRlYnVnPWZhbHNlCmFjX2NzX3JlY2hlY2s9
ZmFsc2UKYWNfY3Nfc2lsZW50PWZhbHNlCgpTSEVMTD0ke0NPTkZJR19TSEVM
TC0vYmluL3NofQpleHBvcnQgU0hFTEwKIyMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0gIyMKIyMgTTRzaCBJbml0aWFsaXphdGlvbi4gIyMKIyMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0gIyMKCiMgQmUgbW9yZSBCb3VybmUgY29tcGF0aWJsZQpE
VUFMQ0FTRT0xOyBleHBvcnQgRFVBTENBU0UgIyBmb3IgTUtTIHNoCmlmIHRl
c3QgLW4gIiR7WlNIX1ZFUlNJT04rc2V0fSIgJiYgKGVtdWxhdGUgc2gpID4v
ZGV2L251bGwgMj4mMTsgdGhlbiA6CiAgZW11bGF0ZSBzaAogIE5VTExDTUQ9
OgogICMgUHJlLTQuMiB2ZXJzaW9ucyBvZiBac2ggZG8gd29yZCBzcGxpdHRp
bmcgb24gJHsxKyIkQCJ9LCB3aGljaAogICMgaXMgY29udHJhcnkgdG8gb3Vy
IHVzYWdlLiAgRGlzYWJsZSB0aGlzIGZlYXR1cmUuCiAgYWxpYXMgLWcgJyR7
MSsiJEAifSc9JyIkQCInCiAgc2V0b3B0IE5PX0dMT0JfU1VCU1QKZWxzZQog
IGNhc2UgYChzZXQgLW8pIDI+L2Rldi9udWxsYCBpbiAjKAogICpwb3NpeCop
IDoKICAgIHNldCAtbyBwb3NpeCA7OyAjKAogICopIDoKICAgICA7Owplc2Fj
CmZpCgoKYXNfbmw9JwonCmV4cG9ydCBhc19ubAojIFByaW50aW5nIGEgbG9u
ZyBzdHJpbmcgY3Jhc2hlcyBTb2xhcmlzIDcgL3Vzci9iaW4vcHJpbnRmLgph
c19lY2hvPSdcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxc
XFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxc
XFxcXFxcXFxcXFxcXFxcXFxcXFxcJwphc19lY2hvPSRhc19lY2hvJGFzX2Vj
aG8kYXNfZWNobyRhc19lY2hvJGFzX2VjaG8KYXNfZWNobz0kYXNfZWNobyRh
c19lY2hvJGFzX2VjaG8kYXNfZWNobyRhc19lY2hvJGFzX2VjaG8KIyBQcmVm
ZXIgYSBrc2ggc2hlbGwgYnVpbHRpbiBvdmVyIGFuIGV4dGVybmFsIHByaW50
ZiBwcm9ncmFtIG9uIFNvbGFyaXMsCiMgYnV0IHdpdGhvdXQgd2FzdGluZyBm
b3JrcyBmb3IgYmFzaCBvciB6c2guCmlmIHRlc3QgLXogIiRCQVNIX1ZFUlNJ
T04kWlNIX1ZFUlNJT04iIFwKICAgICYmICh0ZXN0ICJYYHByaW50IC1yIC0t
ICRhc19lY2hvYCIgPSAiWCRhc19lY2hvIikgMj4vZGV2L251bGw7IHRoZW4K
ICBhc19lY2hvPSdwcmludCAtciAtLScKICBhc19lY2hvX249J3ByaW50IC1y
biAtLScKZWxpZiAodGVzdCAiWGBwcmludGYgJXMgJGFzX2VjaG9gIiA9ICJY
JGFzX2VjaG8iKSAyPi9kZXYvbnVsbDsgdGhlbgogIGFzX2VjaG89J3ByaW50
ZiAlc1xuJwogIGFzX2VjaG9fbj0ncHJpbnRmICVzJwplbHNlCiAgaWYgdGVz
dCAiWGAoL3Vzci91Y2IvZWNobyAtbiAtbiAkYXNfZWNobykgMj4vZGV2L251
bGxgIiA9ICJYLW4gJGFzX2VjaG8iOyB0aGVuCiAgICBhc19lY2hvX2JvZHk9
J2V2YWwgL3Vzci91Y2IvZWNobyAtbiAiJDEkYXNfbmwiJwogICAgYXNfZWNo
b19uPScvdXNyL3VjYi9lY2hvIC1uJwogIGVsc2UKICAgIGFzX2VjaG9fYm9k
eT0nZXZhbCBleHByICJYJDEiIDogIlhcXCguKlxcKSInCiAgICBhc19lY2hv
X25fYm9keT0nZXZhbAogICAgICBhcmc9JDE7CiAgICAgIGNhc2UgJGFyZyBp
biAjKAogICAgICAqIiRhc19ubCIqKQoJZXhwciAiWCRhcmciIDogIlhcXCgu
KlxcKSRhc19ubCI7Cglhcmc9YGV4cHIgIlgkYXJnIiA6ICIuKiRhc19ubFxc
KC4qXFwpImA7OwogICAgICBlc2FjOwogICAgICBleHByICJYJGFyZyIgOiAi
WFxcKC4qXFwpIiB8IHRyIC1kICIkYXNfbmwiCiAgICAnCiAgICBleHBvcnQg
YXNfZWNob19uX2JvZHkKICAgIGFzX2VjaG9fbj0nc2ggLWMgJGFzX2VjaG9f
bl9ib2R5IGFzX2VjaG8nCiAgZmkKICBleHBvcnQgYXNfZWNob19ib2R5CiAg
YXNfZWNobz0nc2ggLWMgJGFzX2VjaG9fYm9keSBhc19lY2hvJwpmaQoKIyBU
aGUgdXNlciBpcyBhbHdheXMgcmlnaHQuCmlmIHRlc3QgIiR7UEFUSF9TRVBB
UkFUT1Irc2V0fSIgIT0gc2V0OyB0aGVuCiAgUEFUSF9TRVBBUkFUT1I9Ogog
IChQQVRIPScvYmluOy9iaW4nOyBGUEFUSD0kUEFUSDsgc2ggLWMgOikgPi9k
ZXYvbnVsbCAyPiYxICYmIHsKICAgIChQQVRIPScvYmluOi9iaW4nOyBGUEFU
SD0kUEFUSDsgc2ggLWMgOikgPi9kZXYvbnVsbCAyPiYxIHx8CiAgICAgIFBB
VEhfU0VQQVJBVE9SPSc7JwogIH0KZmkKCgojIElGUwojIFdlIG5lZWQgc3Bh
Y2UsIHRhYiBhbmQgbmV3IGxpbmUsIGluIHByZWNpc2VseSB0aGF0IG9yZGVy
LiAgUXVvdGluZyBpcwojIHRoZXJlIHRvIHByZXZlbnQgZWRpdG9ycyBmcm9t
IGNvbXBsYWluaW5nIGFib3V0IHNwYWNlLXRhYi4KIyAoSWYgX0FTX1BBVEhf
V0FMSyB3ZXJlIGNhbGxlZCB3aXRoIElGUyB1bnNldCwgaXQgd291bGQgZGlz
YWJsZSB3b3JkCiMgc3BsaXR0aW5nIGJ5IHNldHRpbmcgSUZTIHRvIGVtcHR5
IHZhbHVlLikKSUZTPSIgIiIJJGFzX25sIgoKIyBGaW5kIHdobyB3ZSBhcmUu
ICBMb29rIGluIHRoZSBwYXRoIGlmIHdlIGNvbnRhaW4gbm8gZGlyZWN0b3J5
IHNlcGFyYXRvci4KYXNfbXlzZWxmPQpjYXNlICQwIGluICMoKAogICpbXFwv
XSogKSBhc19teXNlbGY9JDAgOzsKICAqKSBhc19zYXZlX0lGUz0kSUZTOyBJ
RlM9JFBBVEhfU0VQQVJBVE9SCmZvciBhc19kaXIgaW4gJFBBVEgKZG8KICBJ
RlM9JGFzX3NhdmVfSUZTCiAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGly
PS4KICAgIHRlc3QgLXIgIiRhc19kaXIvJDAiICYmIGFzX215c2VsZj0kYXNf
ZGlyLyQwICYmIGJyZWFrCiAgZG9uZQpJRlM9JGFzX3NhdmVfSUZTCgogICAg
IDs7CmVzYWMKIyBXZSBkaWQgbm90IGZpbmQgb3Vyc2VsdmVzLCBtb3N0IHBy
b2JhYmx5IHdlIHdlcmUgcnVuIGFzIGBzaCBDT01NQU5EJwojIGluIHdoaWNo
IGNhc2Ugd2UgYXJlIG5vdCB0byBiZSBmb3VuZCBpbiB0aGUgcGF0aC4KaWYg
dGVzdCAieCRhc19teXNlbGYiID0geDsgdGhlbgogIGFzX215c2VsZj0kMApm
aQppZiB0ZXN0ICEgLWYgIiRhc19teXNlbGYiOyB0aGVuCiAgJGFzX2VjaG8g
IiRhc19teXNlbGY6IGVycm9yOiBjYW5ub3QgZmluZCBteXNlbGY7IHJlcnVu
IHdpdGggYW4gYWJzb2x1dGUgZmlsZSBuYW1lIiA+JjIKICBleGl0IDEKZmkK
CiMgVW5zZXQgdmFyaWFibGVzIHRoYXQgd2UgZG8gbm90IG5lZWQgYW5kIHdo
aWNoIGNhdXNlIGJ1Z3MgKGUuZy4gaW4KIyBwcmUtMy4wIFVXSU4ga3NoKS4g
IEJ1dCBkbyBub3QgY2F1c2UgYnVncyBpbiBiYXNoIDIuMDE7IHRoZSAifHwg
ZXhpdCAxIgojIHN1cHByZXNzZXMgYW55ICJTZWdtZW50YXRpb24gZmF1bHQi
IG1lc3NhZ2UgdGhlcmUuICAnKCgnIGNvdWxkCiMgdHJpZ2dlciBhIGJ1ZyBp
biBwZGtzaCA1LjIuMTQuCmZvciBhc192YXIgaW4gQkFTSF9FTlYgRU5WIE1B
SUwgTUFJTFBBVEgKZG8gZXZhbCB0ZXN0IHhcJHskYXNfdmFyK3NldH0gPSB4
c2V0IFwKICAmJiAoICh1bnNldCAkYXNfdmFyKSB8fCBleGl0IDEpID4vZGV2
L251bGwgMj4mMSAmJiB1bnNldCAkYXNfdmFyIHx8IDoKZG9uZQpQUzE9JyQg
JwpQUzI9Jz4gJwpQUzQ9JysgJwoKIyBOTFMgbnVpc2FuY2VzLgpMQ19BTEw9
QwpleHBvcnQgTENfQUxMCkxBTkdVQUdFPUMKZXhwb3J0IExBTkdVQUdFCgoj
IENEUEFUSC4KKHVuc2V0IENEUEFUSCkgPi9kZXYvbnVsbCAyPiYxICYmIHVu
c2V0IENEUEFUSAoKCiMgYXNfZm5fZXJyb3IgU1RBVFVTIEVSUk9SIFtMSU5F
Tk8gTE9HX0ZEXQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KIyBPdXRwdXQgImBiYXNlbmFtZSAkMGA6IGVycm9yOiBFUlJP
UiIgdG8gc3RkZXJyLiBJZiBMSU5FTk8gYW5kIExPR19GRCBhcmUKIyBwcm92
aWRlZCwgYWxzbyBvdXRwdXQgdGhlIGVycm9yIHRvIExPR19GRCwgcmVmZXJl
bmNpbmcgTElORU5PLiBUaGVuIGV4aXQgdGhlCiMgc2NyaXB0IHdpdGggU1RB
VFVTLCB1c2luZyAxIGlmIHRoYXQgd2FzIDAuCmFzX2ZuX2Vycm9yICgpCnsK
ICBhc19zdGF0dXM9JDE7IHRlc3QgJGFzX3N0YXR1cyAtZXEgMCAmJiBhc19z
dGF0dXM9MQogIGlmIHRlc3QgIiQ0IjsgdGhlbgogICAgYXNfbGluZW5vPSR7
YXNfbGluZW5vLSIkMyJ9IGFzX2xpbmVub19zdGFjaz1hc19saW5lbm9fc3Rh
Y2s9JGFzX2xpbmVub19zdGFjawogICAgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogZXJyb3I6ICQyIiA+JiQ0CiAgZmkKICAkYXNf
ZWNobyAiJGFzX21lOiBlcnJvcjogJDIiID4mMgogIGFzX2ZuX2V4aXQgJGFz
X3N0YXR1cwp9ICMgYXNfZm5fZXJyb3IKCgojIGFzX2ZuX3NldF9zdGF0dXMg
U1RBVFVTCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTZXQgJD8gdG8g
U1RBVFVTLCB3aXRob3V0IGZvcmtpbmcuCmFzX2ZuX3NldF9zdGF0dXMgKCkK
ewogIHJldHVybiAkMQp9ICMgYXNfZm5fc2V0X3N0YXR1cwoKIyBhc19mbl9l
eGl0IFNUQVRVUwojIC0tLS0tLS0tLS0tLS0tLS0tCiMgRXhpdCB0aGUgc2hl
bGwgd2l0aCBTVEFUVVMsIGV2ZW4gaW4gYSAidHJhcCAwIiBvciAic2V0IC1l
IiBjb250ZXh0Lgphc19mbl9leGl0ICgpCnsKICBzZXQgK2UKICBhc19mbl9z
ZXRfc3RhdHVzICQxCiAgZXhpdCAkMQp9ICMgYXNfZm5fZXhpdAoKIyBhc19m
bl91bnNldCBWQVIKIyAtLS0tLS0tLS0tLS0tLS0KIyBQb3J0YWJseSB1bnNl
dCBWQVIuCmFzX2ZuX3Vuc2V0ICgpCnsKICB7IGV2YWwgJDE9OyB1bnNldCAk
MTt9Cn0KYXNfdW5zZXQ9YXNfZm5fdW5zZXQKIyBhc19mbl9hcHBlbmQgVkFS
IFZBTFVFCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEFwcGVuZCB0aGUg
dGV4dCBpbiBWQUxVRSB0byB0aGUgZW5kIG9mIHRoZSBkZWZpbml0aW9uIGNv
bnRhaW5lZCBpbiBWQVIuIFRha2UKIyBhZHZhbnRhZ2Ugb2YgYW55IHNoZWxs
IG9wdGltaXphdGlvbnMgdGhhdCBhbGxvdyBhbW9ydGl6ZWQgbGluZWFyIGdy
b3d0aCBvdmVyCiMgcmVwZWF0ZWQgYXBwZW5kcywgaW5zdGVhZCBvZiB0aGUg
dHlwaWNhbCBxdWFkcmF0aWMgZ3Jvd3RoIHByZXNlbnQgaW4gbmFpdmUKIyBp
bXBsZW1lbnRhdGlvbnMuCmlmIChldmFsICJhc192YXI9MTsgYXNfdmFyKz0y
OyB0ZXN0IHhcJGFzX3ZhciA9IHgxMiIpIDI+L2Rldi9udWxsOyB0aGVuIDoK
ICBldmFsICdhc19mbl9hcHBlbmQgKCkKICB7CiAgICBldmFsICQxKz1cJDIK
ICB9JwplbHNlCiAgYXNfZm5fYXBwZW5kICgpCiAgewogICAgZXZhbCAkMT1c
JCQxXCQyCiAgfQpmaSAjIGFzX2ZuX2FwcGVuZAoKIyBhc19mbl9hcml0aCBB
UkcuLi4KIyAtLS0tLS0tLS0tLS0tLS0tLS0KIyBQZXJmb3JtIGFyaXRobWV0
aWMgZXZhbHVhdGlvbiBvbiB0aGUgQVJHcywgYW5kIHN0b3JlIHRoZSByZXN1
bHQgaW4gdGhlCiMgZ2xvYmFsICRhc192YWwuIFRha2UgYWR2YW50YWdlIG9m
IHNoZWxscyB0aGF0IGNhbiBhdm9pZCBmb3Jrcy4gVGhlIGFyZ3VtZW50cwoj
IG11c3QgYmUgcG9ydGFibGUgYWNyb3NzICQoKCkpIGFuZCBleHByLgppZiAo
ZXZhbCAidGVzdCBcJCgoIDEgKyAxICkpID0gMiIpIDI+L2Rldi9udWxsOyB0
aGVuIDoKICBldmFsICdhc19mbl9hcml0aCAoKQogIHsKICAgIGFzX3ZhbD0k
KCggJCogKSkKICB9JwplbHNlCiAgYXNfZm5fYXJpdGggKCkKICB7CiAgICBh
c192YWw9YGV4cHIgIiRAIiB8fCB0ZXN0ICQ/IC1lcSAxYAogIH0KZmkgIyBh
c19mbl9hcml0aAoKCmlmIGV4cHIgYSA6ICdcKGFcKScgPi9kZXYvbnVsbCAy
PiYxICYmCiAgIHRlc3QgIlhgZXhwciAwMDAwMSA6ICcuKlwoLi4uXCknYCIg
PSBYMDAxOyB0aGVuCiAgYXNfZXhwcj1leHByCmVsc2UKICBhc19leHByPWZh
bHNlCmZpCgppZiAoYmFzZW5hbWUgLS0gLykgPi9kZXYvbnVsbCAyPiYxICYm
IHRlc3QgIlhgYmFzZW5hbWUgLS0gLyAyPiYxYCIgPSAiWC8iOyB0aGVuCiAg
YXNfYmFzZW5hbWU9YmFzZW5hbWUKZWxzZQogIGFzX2Jhc2VuYW1lPWZhbHNl
CmZpCgppZiAoYXNfZGlyPWBkaXJuYW1lIC0tIC9gICYmIHRlc3QgIlgkYXNf
ZGlyIiA9IFgvKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KICBhc19kaXJuYW1l
PWRpcm5hbWUKZWxzZQogIGFzX2Rpcm5hbWU9ZmFsc2UKZmkKCmFzX21lPWAk
YXNfYmFzZW5hbWUgLS0gIiQwIiB8fAokYXNfZXhwciBYLyIkMCIgOiAnLiov
XChbXi9dW14vXSpcKS8qJCcgXHwgXAoJIFgiJDAiIDogJ1hcKC8vXCkkJyBc
fCBcCgkgWCIkMCIgOiAnWFwoL1wpJyBcfCAuIDI+L2Rldi9udWxsIHx8CiRh
c19lY2hvIFgvIiQwIiB8CiAgICBzZWQgJy9eLipcL1woW14vXVteL10qXClc
LyokL3sKCSAgICBzLy9cMS8KCSAgICBxCgkgIH0KCSAgL15YXC9cKFwvXC9c
KSQvewoJICAgIHMvL1wxLwoJICAgIHEKCSAgfQoJICAvXlhcL1woXC9cKS4q
L3sKCSAgICBzLy9cMS8KCSAgICBxCgkgIH0KCSAgcy8uKi8uLzsgcSdgCgoj
IEF2b2lkIGRlcGVuZGluZyB1cG9uIENoYXJhY3RlciBSYW5nZXMuCmFzX2Ny
X2xldHRlcnM9J2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Jwphc19jcl9M
RVRURVJTPSdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWicKYXNfY3JfTGV0
dGVycz0kYXNfY3JfbGV0dGVycyRhc19jcl9MRVRURVJTCmFzX2NyX2RpZ2l0
cz0nMDEyMzQ1Njc4OScKYXNfY3JfYWxudW09JGFzX2NyX0xldHRlcnMkYXNf
Y3JfZGlnaXRzCgpFQ0hPX0M9IEVDSE9fTj0gRUNIT19UPQpjYXNlIGBlY2hv
IC1uIHhgIGluICMoKCgoKAotbiopCiAgY2FzZSBgZWNobyAneHlcYydgIGlu
CiAgKmMqKSBFQ0hPX1Q9JwknOzsJIyBFQ0hPX1QgaXMgc2luZ2xlIHRhYiBj
aGFyYWN0ZXIuCiAgeHkpICBFQ0hPX0M9J1xjJzs7CiAgKikgICBlY2hvIGBl
Y2hvIGtzaDg4IGJ1ZyBvbiBBSVggNi4xYCA+IC9kZXYvbnVsbAogICAgICAg
RUNIT19UPScJJzs7CiAgZXNhYzs7CiopCiAgRUNIT19OPSctbic7Owplc2Fj
CgpybSAtZiBjb25mJCQgY29uZiQkLmV4ZSBjb25mJCQuZmlsZQppZiB0ZXN0
IC1kIGNvbmYkJC5kaXI7IHRoZW4KICBybSAtZiBjb25mJCQuZGlyL2NvbmYk
JC5maWxlCmVsc2UKICBybSAtZiBjb25mJCQuZGlyCiAgbWtkaXIgY29uZiQk
LmRpciAyPi9kZXYvbnVsbApmaQppZiAoZWNobyA+Y29uZiQkLmZpbGUpIDI+
L2Rldi9udWxsOyB0aGVuCiAgaWYgbG4gLXMgY29uZiQkLmZpbGUgY29uZiQk
IDI+L2Rldi9udWxsOyB0aGVuCiAgICBhc19sbl9zPSdsbiAtcycKICAgICMg
Li4uIGJ1dCB0aGVyZSBhcmUgdHdvIGdvdGNoYXM6CiAgICAjIDEpIE9uIE1T
WVMsIGJvdGggYGxuIC1zIGZpbGUgZGlyJyBhbmQgYGxuIGZpbGUgZGlyJyBm
YWlsLgogICAgIyAyKSBESkdQUCA8IDIuMDQgaGFzIG5vIHN5bWxpbmtzOyBg
bG4gLXMnIGNyZWF0ZXMgYSB3cmFwcGVyIGV4ZWN1dGFibGUuCiAgICAjIElu
IGJvdGggY2FzZXMsIHdlIGhhdmUgdG8gZGVmYXVsdCB0byBgY3AgLXAnLgog
ICAgbG4gLXMgY29uZiQkLmZpbGUgY29uZiQkLmRpciAyPi9kZXYvbnVsbCAm
JiB0ZXN0ICEgLWYgY29uZiQkLmV4ZSB8fAogICAgICBhc19sbl9zPSdjcCAt
cCcKICBlbGlmIGxuIGNvbmYkJC5maWxlIGNvbmYkJCAyPi9kZXYvbnVsbDsg
dGhlbgogICAgYXNfbG5fcz1sbgogIGVsc2UKICAgIGFzX2xuX3M9J2NwIC1w
JwogIGZpCmVsc2UKICBhc19sbl9zPSdjcCAtcCcKZmkKcm0gLWYgY29uZiQk
IGNvbmYkJC5leGUgY29uZiQkLmRpci9jb25mJCQuZmlsZSBjb25mJCQuZmls
ZQpybWRpciBjb25mJCQuZGlyIDI+L2Rldi9udWxsCgoKIyBhc19mbl9ta2Rp
cl9wCiMgLS0tLS0tLS0tLS0tLQojIENyZWF0ZSAiJGFzX2RpciIgYXMgYSBk
aXJlY3RvcnksIGluY2x1ZGluZyBwYXJlbnRzIGlmIG5lY2Vzc2FyeS4KYXNf
Zm5fbWtkaXJfcCAoKQp7CgogIGNhc2UgJGFzX2RpciBpbiAjKAogIC0qKSBh
c19kaXI9Li8kYXNfZGlyOzsKICBlc2FjCiAgdGVzdCAtZCAiJGFzX2RpciIg
fHwgZXZhbCAkYXNfbWtkaXJfcCB8fCB7CiAgICBhc19kaXJzPQogICAgd2hp
bGUgOjsgZG8KICAgICAgY2FzZSAkYXNfZGlyIGluICMoCiAgICAgICpcJyop
IGFzX3FkaXI9YCRhc19lY2hvICIkYXNfZGlyIiB8IHNlZCAicy8nLydcXFxc
XFxcXCcnL2ciYDs7ICMnKAogICAgICAqKSBhc19xZGlyPSRhc19kaXI7Owog
ICAgICBlc2FjCiAgICAgIGFzX2RpcnM9IickYXNfcWRpcicgJGFzX2RpcnMi
CiAgICAgIGFzX2Rpcj1gJGFzX2Rpcm5hbWUgLS0gIiRhc19kaXIiIHx8CiRh
c19leHByIFgiJGFzX2RpciIgOiAnWFwoLipbXi9dXCkvLypbXi9dW14vXSov
KiQnIFx8IFwKCSBYIiRhc19kaXIiIDogJ1hcKC8vXClbXi9dJyBcfCBcCgkg
WCIkYXNfZGlyIiA6ICdYXCgvL1wpJCcgXHwgXAoJIFgiJGFzX2RpciIgOiAn
WFwoL1wpJyBcfCAuIDI+L2Rldi9udWxsIHx8CiRhc19lY2hvIFgiJGFzX2Rp
ciIgfAogICAgc2VkICcvXlhcKC4qW14vXVwpXC9cLypbXi9dW14vXSpcLyok
L3sKCSAgICBzLy9cMS8KCSAgICBxCgkgIH0KCSAgL15YXChcL1wvXClbXi9d
LiovewoJICAgIHMvL1wxLwoJICAgIHEKCSAgfQoJICAvXlhcKFwvXC9cKSQv
ewoJICAgIHMvL1wxLwoJICAgIHEKCSAgfQoJICAvXlhcKFwvXCkuKi97Cgkg
ICAgcy8vXDEvCgkgICAgcQoJICB9CgkgIHMvLiovLi87IHEnYAogICAgICB0
ZXN0IC1kICIkYXNfZGlyIiAmJiBicmVhawogICAgZG9uZQogICAgdGVzdCAt
eiAiJGFzX2RpcnMiIHx8IGV2YWwgIm1rZGlyICRhc19kaXJzIgogIH0gfHwg
dGVzdCAtZCAiJGFzX2RpciIgfHwgYXNfZm5fZXJyb3IgJD8gImNhbm5vdCBj
cmVhdGUgZGlyZWN0b3J5ICRhc19kaXIiCgoKfSAjIGFzX2ZuX21rZGlyX3AK
aWYgbWtkaXIgLXAgLiAyPi9kZXYvbnVsbDsgdGhlbgogIGFzX21rZGlyX3A9
J21rZGlyIC1wICIkYXNfZGlyIicKZWxzZQogIHRlc3QgLWQgLi8tcCAmJiBy
bWRpciAuLy1wCiAgYXNfbWtkaXJfcD1mYWxzZQpmaQoKaWYgdGVzdCAteCAv
ID4vZGV2L251bGwgMj4mMTsgdGhlbgogIGFzX3Rlc3RfeD0ndGVzdCAteCcK
ZWxzZQogIGlmIGxzIC1kTCAvID4vZGV2L251bGwgMj4mMTsgdGhlbgogICAg
YXNfbHNfTF9vcHRpb249TAogIGVsc2UKICAgIGFzX2xzX0xfb3B0aW9uPQog
IGZpCiAgYXNfdGVzdF94PScKICAgIGV2YWwgc2ggLWMgJ1wnJwogICAgICBp
ZiB0ZXN0IC1kICIkMSI7IHRoZW4KCXRlc3QgLWQgIiQxLy4iOwogICAgICBl
bHNlCgljYXNlICQxIGluICMoCgktKilzZXQgIi4vJDEiOzsKCWVzYWM7Cglj
YXNlIGBscyAtbGQnJGFzX2xzX0xfb3B0aW9uJyAiJDEiIDI+L2Rldi9udWxs
YCBpbiAjKCgKCT8/P1tzeF0qKTo7OyopZmFsc2U7O2VzYWM7ZmkKICAgICdc
Jycgc2gKICAnCmZpCmFzX2V4ZWN1dGFibGVfcD0kYXNfdGVzdF94CgojIFNl
ZCBleHByZXNzaW9uIHRvIG1hcCBhIHN0cmluZyBvbnRvIGEgdmFsaWQgQ1BQ
IG5hbWUuCmFzX3RyX2NwcD0iZXZhbCBzZWQgJ3klKiRhc19jcl9sZXR0ZXJz
JVAkYXNfY3JfTEVUVEVSUyU7cyVbXl8kYXNfY3JfYWxudW1dJV8lZyciCgoj
IFNlZCBleHByZXNzaW9uIHRvIG1hcCBhIHN0cmluZyBvbnRvIGEgdmFsaWQg
dmFyaWFibGUgbmFtZS4KYXNfdHJfc2g9ImV2YWwgc2VkICd5JSorJXBwJTtz
JVteXyRhc19jcl9hbG51bV0lXyVnJyIKCgpleGVjIDY+JjEKIyMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgTWFpbiBib2R5
IG9mICRDT05GSUdfU1RBVFVTIHNjcmlwdC4gIyMKIyMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyBTYXZlIHRoZSBsb2cgbWVz
c2FnZSwgdG8ga2VlcCAkMCBhbmQgc28gb24gbWVhbmluZ2Z1bCwgYW5kIHRv
CiMgcmVwb3J0IGFjdHVhbCBpbnB1dCB2YWx1ZXMgb2YgQ09ORklHX0ZJTEVT
IGV0Yy4gaW5zdGVhZCBvZiB0aGVpcgojIHZhbHVlcyBhZnRlciBvcHRpb25z
IGhhbmRsaW5nLgphY19sb2c9IgpUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5
IEdOVSBMaWJ0b29sICRhc19tZSAyLjQuMiwgd2hpY2ggd2FzCmdlbmVyYXRl
ZCBieSBHTlUgQXV0b2NvbmYgMi42OC4gIEludm9jYXRpb24gY29tbWFuZCBs
aW5lIHdhcwoKICBDT05GSUdfRklMRVMgICAgPSAkQ09ORklHX0ZJTEVTCiAg
Q09ORklHX0hFQURFUlMgID0gJENPTkZJR19IRUFERVJTCiAgQ09ORklHX0xJ
TktTICAgID0gJENPTkZJR19MSU5LUwogIENPTkZJR19DT01NQU5EUyA9ICRD
T05GSUdfQ09NTUFORFMKICAkICQwICRACgpvbiBgKGhvc3RuYW1lIHx8IHVu
YW1lIC1uKSAyPi9kZXYvbnVsbCB8IHNlZCAxcWAKIgoKIyBGaWxlcyB0aGF0
IGNvbmZpZy5zdGF0dXMgd2FzIG1hZGUgZm9yLgpjb25maWdfZmlsZXM9IiBN
YWtlZmlsZSIKY29uZmlnX2hlYWRlcnM9IiBjb25maWcuaDpjb25maWctaC5p
biIKY29uZmlnX2NvbW1hbmRzPSIgdGVzdHMvYXRjb25maWcgZGVwZmlsZXMg
bGlidG9vbCIKCmFjX2NzX3VzYWdlPSJcClxgJGFzX21lJyBpbnN0YW50aWF0
ZXMgZmlsZXMgYW5kIG90aGVyIGNvbmZpZ3VyYXRpb24gYWN0aW9ucwpmcm9t
IHRlbXBsYXRlcyBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgY29uZmlndXJh
dGlvbi4gIFVubGVzcyB0aGUgZmlsZXMKYW5kIGFjdGlvbnMgYXJlIHNwZWNp
ZmllZCBhcyBUQUdzLCBhbGwgYXJlIGluc3RhbnRpYXRlZCBieSBkZWZhdWx0
LgoKVXNhZ2U6ICQwIFtPUFRJT05dLi4uIFtUQUddLi4uCgogIC1oLCAtLWhl
bHAgICAgICAgcHJpbnQgdGhpcyBoZWxwLCB0aGVuIGV4aXQKICAtViwgLS12
ZXJzaW9uICAgIHByaW50IHZlcnNpb24gbnVtYmVyIGFuZCBjb25maWd1cmF0
aW9uIHNldHRpbmdzLCB0aGVuIGV4aXQKICAgICAgLS1jb25maWcgICAgIHBy
aW50IGNvbmZpZ3VyYXRpb24sIHRoZW4gZXhpdAogIC1xLCAtLXF1aWV0LCAt
LXNpbGVudAogICAgICAgICAgICAgICAgICAgZG8gbm90IHByaW50IHByb2dy
ZXNzIG1lc3NhZ2VzCiAgLWQsIC0tZGVidWcgICAgICBkb24ndCByZW1vdmUg
dGVtcG9yYXJ5IGZpbGVzCiAgICAgIC0tcmVjaGVjayAgICB1cGRhdGUgJGFz
X21lIGJ5IHJlY29uZmlndXJpbmcgaW4gdGhlIHNhbWUgY29uZGl0aW9ucwog
ICAgICAtLWZpbGU9RklMRVs6VEVNUExBVEVdCiAgICAgICAgICAgICAgICAg
ICBpbnN0YW50aWF0ZSB0aGUgY29uZmlndXJhdGlvbiBmaWxlIEZJTEUKICAg
ICAgLS1oZWFkZXI9RklMRVs6VEVNUExBVEVdCiAgICAgICAgICAgICAgICAg
ICBpbnN0YW50aWF0ZSB0aGUgY29uZmlndXJhdGlvbiBoZWFkZXIgRklMRQoK
Q29uZmlndXJhdGlvbiBmaWxlczoKJGNvbmZpZ19maWxlcwoKQ29uZmlndXJh
dGlvbiBoZWFkZXJzOgokY29uZmlnX2hlYWRlcnMKCkNvbmZpZ3VyYXRpb24g
Y29tbWFuZHM6CiRjb25maWdfY29tbWFuZHMKClJlcG9ydCBidWdzIHRvIDxi
dWctbGlidG9vbEBnbnUub3JnPi4KR05VIExpYnRvb2wgaG9tZSBwYWdlOiA8
aHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYnRvb2wvPi4KR2VuZXJh
bCBoZWxwIHVzaW5nIEdOVSBzb2Z0d2FyZTogPGh0dHA6Ly93d3cuZ251Lm9y
Zy9nZXRoZWxwLz4uIgoKYWNfY3NfY29uZmlnPSIiCmFjX2NzX3ZlcnNpb249
IlwKR05VIExpYnRvb2wgY29uZmlnLnN0YXR1cyAyLjQuMgpjb25maWd1cmVk
IGJ5IC9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIv
Y29uZmlndXJlLCBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjgsCiAg
d2l0aCBvcHRpb25zIFwiJGFjX2NzX2NvbmZpZ1wiCgpDb3B5cmlnaHQgKEMp
IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMgY29u
ZmlnLnN0YXR1cyBzY3JpcHQgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbgpnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lv
biB0byBjb3B5LCBkaXN0cmlidXRlIGFuZCBtb2RpZnkgaXQuIgoKYWNfcHdk
PScvbWluZ3cvbGlidG9vbC1idWlsZC1kdWUtdG8tR05VJwpzcmNkaXI9Jy9N
aW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjInCklOU1RB
TEw9Jy9iaW4vaW5zdGFsbCAtYycKTUtESVJfUD0nL2Jpbi9ta2RpciAtcCcK
QVdLPSdnYXdrJwp0ZXN0IC1uICIkQVdLIiB8fCBBV0s9YXdrCiMgVGhlIGRl
ZmF1bHQgbGlzdHMgYXBwbHkgaWYgdGhlIHVzZXIgZG9lcyBub3Qgc3BlY2lm
eSBhbnkgZmlsZS4KYWNfbmVlZF9kZWZhdWx0cz06CndoaWxlIHRlc3QgJCMg
IT0gMApkbwogIGNhc2UgJDEgaW4KICAtLSo9PyopCiAgICBhY19vcHRpb249
YGV4cHIgIlgkMSIgOiAnWFwoW149XSpcKT0nYAogICAgYWNfb3B0YXJnPWBl
eHByICJYJDEiIDogJ1hbXj1dKj1cKC4qXCknYAogICAgYWNfc2hpZnQ9Ogog
ICAgOzsKICAtLSo9KQogICAgYWNfb3B0aW9uPWBleHByICJYJDEiIDogJ1hc
KFtePV0qXCk9J2AKICAgIGFjX29wdGFyZz0KICAgIGFjX3NoaWZ0PToKICAg
IDs7CiAgKikKICAgIGFjX29wdGlvbj0kMQogICAgYWNfb3B0YXJnPSQyCiAg
ICBhY19zaGlmdD1zaGlmdAogICAgOzsKICBlc2FjCgogIGNhc2UgJGFjX29w
dGlvbiBpbgogICMgSGFuZGxpbmcgb2YgdGhlIG9wdGlvbnMuCiAgLXJlY2hl
Y2sgfCAtLXJlY2hlY2sgfCAtLXJlY2hlYyB8IC0tcmVjaGUgfCAtLXJlY2gg
fCAtLXJlYyB8IC0tcmUgfCAtLXIpCiAgICBhY19jc19yZWNoZWNrPTogOzsK
ICAtLXZlcnNpb24gfCAtLXZlcnNpbyB8IC0tdmVyc2kgfCAtLXZlcnMgfCAt
LXZlciB8IC0tdmUgfCAtLXYgfCAtViApCiAgICAkYXNfZWNobyAiJGFjX2Nz
X3ZlcnNpb24iOyBleGl0IDs7CiAgLS1jb25maWcgfCAtLWNvbmZpIHwgLS1j
b25mIHwgLS1jb24gfCAtLWNvIHwgLS1jICkKICAgICRhc19lY2hvICIkYWNf
Y3NfY29uZmlnIjsgZXhpdCA7OwogIC0tZGVidWcgfCAtLWRlYnUgfCAtLWRl
YiB8IC0tZGUgfCAtLWQgfCAtZCApCiAgICBkZWJ1Zz06IDs7CiAgLS1maWxl
IHwgLS1maWwgfCAtLWZpIHwgLS1mICkKICAgICRhY19zaGlmdAogICAgY2Fz
ZSAkYWNfb3B0YXJnIGluCiAgICAqXCcqKSBhY19vcHRhcmc9YCRhc19lY2hv
ICIkYWNfb3B0YXJnIiB8IHNlZCAicy8nLydcXFxcXFxcXCcnL2ciYCA7Owog
ICAgJycpIGFzX2ZuX2Vycm9yICQ/ICJtaXNzaW5nIGZpbGUgYXJndW1lbnQi
IDs7CiAgICBlc2FjCiAgICBhc19mbl9hcHBlbmQgQ09ORklHX0ZJTEVTICIg
JyRhY19vcHRhcmcnIgogICAgYWNfbmVlZF9kZWZhdWx0cz1mYWxzZTs7CiAg
LS1oZWFkZXIgfCAtLWhlYWRlIHwgLS1oZWFkIHwgLS1oZWEgKQogICAgJGFj
X3NoaWZ0CiAgICBjYXNlICRhY19vcHRhcmcgaW4KICAgICpcJyopIGFjX29w
dGFyZz1gJGFzX2VjaG8gIiRhY19vcHRhcmciIHwgc2VkICJzLycvJ1xcXFxc
XFxcJycvZyJgIDs7CiAgICBlc2FjCiAgICBhc19mbl9hcHBlbmQgQ09ORklH
X0hFQURFUlMgIiAnJGFjX29wdGFyZyciCiAgICBhY19uZWVkX2RlZmF1bHRz
PWZhbHNlOzsKICAtLWhlIHwgLS1oKQogICAgIyBDb25mbGljdCBiZXR3ZWVu
IC0taGVscCBhbmQgLS1oZWFkZXIKICAgIGFzX2ZuX2Vycm9yICQ/ICJhbWJp
Z3VvdXMgb3B0aW9uOiBcYCQxJwpUcnkgXGAkMCAtLWhlbHAnIGZvciBtb3Jl
IGluZm9ybWF0aW9uLiI7OwogIC0taGVscCB8IC0taGVsIHwgLWggKQogICAg
JGFzX2VjaG8gIiRhY19jc191c2FnZSI7IGV4aXQgOzsKICAtcSB8IC1xdWll
dCB8IC0tcXVpZXQgfCAtLXF1aWUgfCAtLXF1aSB8IC0tcXUgfCAtLXEgXAog
IHwgLXNpbGVudCB8IC0tc2lsZW50IHwgLS1zaWxlbiB8IC0tc2lsZSB8IC0t
c2lsIHwgLS1zaSB8IC0tcykKICAgIGFjX2NzX3NpbGVudD06IDs7CgogICMg
VGhpcyBpcyBhbiBlcnJvci4KICAtKikgYXNfZm5fZXJyb3IgJD8gInVucmVj
b2duaXplZCBvcHRpb246IFxgJDEnClRyeSBcYCQwIC0taGVscCcgZm9yIG1v
cmUgaW5mb3JtYXRpb24uIiA7OwoKICAqKSBhc19mbl9hcHBlbmQgYWNfY29u
ZmlnX3RhcmdldHMgIiAkMSIKICAgICBhY19uZWVkX2RlZmF1bHRzPWZhbHNl
IDs7CgogIGVzYWMKICBzaGlmdApkb25lCgphY19jb25maWd1cmVfZXh0cmFf
YXJncz0KCmlmICRhY19jc19zaWxlbnQ7IHRoZW4KICBleGVjIDY+L2Rldi9u
dWxsCiAgYWNfY29uZmlndXJlX2V4dHJhX2FyZ3M9IiRhY19jb25maWd1cmVf
ZXh0cmFfYXJncyAtLXNpbGVudCIKZmkKCmlmICRhY19jc19yZWNoZWNrOyB0
aGVuCiAgc2V0IFggJy9iaW4vc2gnICcvTWluR1cvc2hhcmUvYXV0b21ha2Ut
MS4xMS9saWJ0b29sLTIuNC4yL2NvbmZpZ3VyZScgICRhY19jb25maWd1cmVf
ZXh0cmFfYXJncyAtLW5vLWNyZWF0ZSAtLW5vLXJlY3Vyc2lvbgogIHNoaWZ0
CiAgJGFzX2VjaG8gInJ1bm5pbmcgQ09ORklHX1NIRUxMPS9iaW4vc2ggJCoi
ID4mNgogIENPTkZJR19TSEVMTD0nL2Jpbi9zaCcKICBleHBvcnQgQ09ORklH
X1NIRUxMCiAgZXhlYyAiJEAiCmZpCgpleGVjIDU+PmNvbmZpZy5sb2cKewog
IGVjaG8KICBzZWQgJ2g7cy8uLy0vZztzL14uLi4vIyMgLztzLy4uLiQvICMj
LztwO3g7cDt4JyA8PF9BU0JPWAojIyBSdW5uaW5nICRhc19tZS4gIyMKX0FT
Qk9YCiAgJGFzX2VjaG8gIiRhY19sb2ciCn0gPiY1CgojCiMgSU5JVC1DT01N
QU5EUwojCgpBTURFUF9UUlVFPSIiIGFjX2F1eF9kaXI9Ii9NaW5HVy9zaGFy
ZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvbGlibHRkbC9jb25maWci
CgoKIyBUaGUgSFAtVVgga3NoIGFuZCBQT1NJWCBzaGVsbCBwcmludCB0aGUg
dGFyZ2V0IGRpcmVjdG9yeSB0byBzdGRvdXQKIyBpZiBDRFBBVEggaXMgc2V0
LgoodW5zZXQgQ0RQQVRIKSA+L2Rldi9udWxsIDI+JjEgJiYgdW5zZXQgQ0RQ
QVRICgpzZWRfcXVvdGVfc3Vic3Q9J3MvXChbImAkXFxdXCkvXFxcMS9nJwpk
b3VibGVfcXVvdGVfc3Vic3Q9J3MvXChbImBcXF1cKS9cXFwxL2cnCmRlbGF5
X3ZhcmlhYmxlX3N1YnN0PSdzL1xcXFxcXFxcXFxcJC9cXFxcXFwkL2cnCm1h
Y3JvX3ZlcnNpb249JzIuNC4yJwptYWNyb19yZXZpc2lvbj0nMS4zMzM3JwpB
Uz0nYXMnCkRMTFRPT0w9J2RsbHRvb2wnCk9CSkRVTVA9J29iamR1bXAnCmVu
YWJsZV9zaGFyZWQ9J3llcycKZW5hYmxlX3N0YXRpYz0neWVzJwpwaWNfbW9k
ZT0nZGVmYXVsdCcKZW5hYmxlX2Zhc3RfaW5zdGFsbD0nbmVlZGxlc3MnClNI
RUxMPScvYmluL3NoJwpFQ0hPPSdwcmludGYgJXNcbicKUEFUSF9TRVBBUkFU
T1I9JzonCmhvc3RfYWxpYXM9JycKaG9zdD0naTY4Ni1wYy1taW5ndzMyJwpo
b3N0X29zPSdtaW5ndzMyJwpidWlsZF9hbGlhcz0nJwpidWlsZD0naTY4Ni1w
Yy1taW5ndzMyJwpidWlsZF9vcz0nbWluZ3czMicKU0VEPScvYmluL3NlZCcK
WHNlZD0nL2Jpbi9zZWQgLWUgMXMvXlgvLycKR1JFUD0nL2Jpbi9ncmVwJwpF
R1JFUD0nL2Jpbi9ncmVwIC1FJwpGR1JFUD0nL2Jpbi9ncmVwIC1GJwpMRD0n
YzovdGluZ3cvbWluZ3czMi9iaW4vbGQuZXhlJwpOTT0nL2Jpbi9ubSAtQicK
TE5fUz0nY3AgLXAnCm1heF9jbWRfbGVuPSc4MTkyJwphY19vYmpleHQ9J28n
CmV4ZWV4dD0nJwpsdF91bnNldD0ndW5zZXQnCmx0X1NQMk5MPSd0ciBcMDQw
IFwwMTInCmx0X05MMlNQPSd0ciBcMDE1XDAxMiBcMDQwXDA0MCcKbHRfY3Zf
dG9faG9zdF9maWxlX2NtZD0nZnVuY19jb252ZXJ0X2ZpbGVfbXN5c190b193
MzInCmx0X2N2X3RvX3Rvb2xfZmlsZV9jbWQ9J2Z1bmNfY29udmVydF9maWxl
X21zeXNfdG9fdzMyJwpyZWxvYWRfZmxhZz0nIC1yJwpyZWxvYWRfY21kcz0n
JExEJHJlbG9hZF9mbGFnIC1vICRvdXRwdXQkcmVsb2FkX29ianMnCmRlcGxp
YnNfY2hlY2tfbWV0aG9kPSdmaWxlX21hZ2ljIF54ODYgYXJjaGl2ZSBpbXBv
cnR8Xng4NiBETEwnCmZpbGVfbWFnaWNfY21kPSdmdW5jX3dpbjMyX2xpYmlk
JwpmaWxlX21hZ2ljX2dsb2I9JycKd2FudF9ub2Nhc2VnbG9iPSd5ZXMnCnNo
YXJlZGxpYl9mcm9tX2xpbmtsaWJfY21kPSdmdW5jX2N5Z21pbmdfZGxsX2Zv
cl9pbXBsaWInCkFSPSdhcicKQVJfRkxBR1M9J2NydScKYXJjaGl2ZXJfbGlz
dF9zcGVjPSdAJwpTVFJJUD0nc3RyaXAnClJBTkxJQj0ncmFubGliJwpvbGRf
cG9zdGluc3RhbGxfY21kcz0nY2htb2QgNjQ0ICRvbGRsaWJ+JFJBTkxJQiAk
dG9vbF9vbGRsaWInCm9sZF9wb3N0dW5pbnN0YWxsX2NtZHM9JycKb2xkX2Fy
Y2hpdmVfY21kcz0nJEFSICRBUl9GTEFHUyAkb2xkbGliJG9sZG9ianN+JFJB
TkxJQiAkdG9vbF9vbGRsaWInCmxvY2tfb2xkX2FyY2hpdmVfZXh0cmFjdGlv
bj0nbm8nCkNDPSdnY2MnCkNGTEFHUz0nLWcgLU8yJwpjb21waWxlcj0nd2lu
ZHJlcycKR0NDPSd5ZXMnCmx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9
J3NlZCAtbiAtZSAnXCcncy9eLipbCSBdXChbQUJDREdJUlNUV11bQUJDREdJ
UlNUV10qXClbCSBdWwkgXSpfXChbX0EtWmEtel1bX0EtWmEtejAtOV0qXCkN
XHswLDFcfSQvXDEgX1wyIFwyL3AnXCcnIHwgc2VkICdcJycvIF9fZ251X2x0
by9kJ1wnJycKbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9J3Nl
ZCAtbiAtZSAnXCcncy9eVCAuKiBcKC4qXCkkL2V4dGVybiBpbnQgXDEoKTsv
cCdcJycgLWUgJ1wnJ3MvXltBQkNER0lSU1RXXSogLiogXCguKlwpJC9leHRl
cm4gY2hhciBcMTsvcCdcJycnCmx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3Rv
X2NfbmFtZV9hZGRyZXNzPSdzZWQgLW4gLWUgJ1wnJ3MvXjogXChbXiBdKlwp
WyBdKiQvICB7XCJcMVwiLCAodm9pZCAqKSAwfSwvcCdcJycgLWUgJ1wnJ3Mv
XltBQkNER0lSU1RXXSogXChbXiBdKlwpIFwoW14gXSpcKSQvICB7IlwyIiwg
KHZvaWQgKikgXCZcMn0sL3AnXCcnJwpsdF9jdl9zeXNfZ2xvYmFsX3N5bWJv
bF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4PSdzZWQgLW4gLWUgJ1wn
J3MvXjogXChbXiBdKlwpWyBdKiQvICB7XCJcMVwiLCAodm9pZCAqKSAwfSwv
cCdcJycgLWUgJ1wnJ3MvXltBQkNER0lSU1RXXSogXChbXiBdKlwpIFwobGli
W14gXSpcKSQvICB7IlwyIiwgKHZvaWQgKikgXCZcMn0sL3AnXCcnIC1lICdc
JydzL15bQUJDREdJUlNUV10qIFwoW14gXSpcKSBcKFteIF0qXCkkLyAgeyJs
aWJcMiIsICh2b2lkICopIFwmXDJ9LC9wJ1wnJycKbm1fZmlsZV9saXN0X3Nw
ZWM9J0AnCmx0X3N5c3Jvb3Q9JycKb2JqZGlyPScubGlicycKTUFHSUNfQ01E
PSdmaWxlJwpsdF9wcm9nX2NvbXBpbGVyX25vX2J1aWx0aW5fZmxhZz0nIC1m
bm8tYnVpbHRpbicKbHRfcHJvZ19jb21waWxlcl9waWM9JyAtRERMTF9FWFBP
UlQgLURQSUMnCmx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnCmx0X3Byb2df
Y29tcGlsZXJfc3RhdGljPSctc3RhdGljJwpsdF9jdl9wcm9nX2NvbXBpbGVy
X2Nfbz0neWVzJwpuZWVkX2xvY2tzPSdubycKTUFOSUZFU1RfVE9PTD0nOicK
RFNZTVVUSUw9JycKTk1FRElUPScnCkxJUE89JycKT1RPT0w9JycKT1RPT0w2
ND0nJwpsaWJleHQ9J2EnCnNocmV4dF9jbWRzPScuZGxsJwpleHRyYWN0X2V4
cHN5bXNfY21kcz0nJwphcmNoaXZlX2NtZHNfbmVlZF9sYz0neWVzJwplbmFi
bGVfc2hhcmVkX3dpdGhfc3RhdGljX3J1bnRpbWVzPSd5ZXMnCmV4cG9ydF9k
eW5hbWljX2ZsYWdfc3BlYz0nJHt3bH0tLWV4cG9ydC1hbGwtc3ltYm9scycK
d2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9JyR7d2x9LS13aG9sZS1hcmNoaXZl
JGNvbnZlbmllbmNlICR7d2x9LS1uby13aG9sZS1hcmNoaXZlJwpjb21waWxl
cl9uZWVkc19vYmplY3Q9J25vJwpvbGRfYXJjaGl2ZV9mcm9tX25ld19jbWRz
PScnCm9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzPScnCmFyY2hpdmVf
Y21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVy
X2ZsYWdzIC1vICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJHt3bH0tLWVuYWJs
ZS1hdXRvLWltYWdlLWJhc2UgLVhsaW5rZXIgLS1vdXQtaW1wbGliIC1YbGlu
a2VyICRsaWInCmFyY2hpdmVfZXhwc3ltX2NtZHM9J2lmIHRlc3QgInhgJFNF
RCAxcSAkZXhwb3J0X3N5bWJvbHNgIiA9IHhFWFBPUlRTOyB0aGVuCgkgIGNw
ICRleHBvcnRfc3ltYm9scyAkb3V0cHV0X29iamRpci8kc29uYW1lLmRlZjsK
CWVsc2UKCSAgZWNobyBFWFBPUlRTID4gJG91dHB1dF9vYmpkaXIvJHNvbmFt
ZS5kZWY7CgkgIGNhdCAkZXhwb3J0X3N5bWJvbHMgPj4gJG91dHB1dF9vYmpk
aXIvJHNvbmFtZS5kZWY7CglmaX4KCSRDQyAtc2hhcmVkICRvdXRwdXRfb2Jq
ZGlyLyRzb25hbWUuZGVmICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9m
bGFncyAtbyAkb3V0cHV0X29iamRpci8kc29uYW1lICR7d2x9LS1lbmFibGUt
YXV0by1pbWFnZS1iYXNlIC1YbGlua2VyIC0tb3V0LWltcGxpYiAtWGxpbmtl
ciAkbGliJwptb2R1bGVfY21kcz0nJwptb2R1bGVfZXhwc3ltX2NtZHM9JycK
d2l0aF9nbnVfbGQ9J3llcycKYWxsb3dfdW5kZWZpbmVkX2ZsYWc9J3Vuc3Vw
cG9ydGVkJwpub191bmRlZmluZWRfZmxhZz0nJwpoYXJkY29kZV9saWJkaXJf
ZmxhZ19zcGVjPSctTCRsaWJkaXInCmhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0
b3I9JycKaGFyZGNvZGVfZGlyZWN0PSdubycKaGFyZGNvZGVfZGlyZWN0X2Fi
c29sdXRlPSdubycKaGFyZGNvZGVfbWludXNfTD0nbm8nCmhhcmRjb2RlX3No
bGlicGF0aF92YXI9J3Vuc3VwcG9ydGVkJwpoYXJkY29kZV9hdXRvbWF0aWM9
J25vJwppbmhlcml0X3JwYXRoPSdubycKbGlua19hbGxfZGVwbGlicz0ndW5r
bm93bicKYWx3YXlzX2V4cG9ydF9zeW1ib2xzPSdubycKZXhwb3J0X3N5bWJv
bHNfY21kcz0nJE5NICRsaWJvYmpzICRjb252ZW5pZW5jZSB8ICRnbG9iYWxf
c3ltYm9sX3BpcGUgfCAkU0VEIC1lICdcJycvXltCQ0RHUlNdWyBdL3MvLipb
IF1cKFteIF0qXCkvXDEgREFUQS87cy9eLipbIF1fX25tX19cKFteIF0qXClb
IF1bXiBdKi9cMSBEQVRBLzsvXklbIF0vZDsvXltBSVRXXVsgXS9zLy4qIC8v
J1wnJyB8IHNvcnQgfCB1bmlxID4gJGV4cG9ydF9zeW1ib2xzJwpleGNsdWRl
X2V4cHN5bXM9J1tfXStHTE9CQUxfT0ZGU0VUX1RBQkxFX3xbX10rR0xPQkFM
X19bRklEXV8uKnxbX10raGVhZF9bQS1aYS16MC05X10rX2RsbHxbQS1aYS16
MC05X10rX2RsbF9pbmFtZScKaW5jbHVkZV9leHBzeW1zPScnCnByZWxpbmtf
Y21kcz0nJwpwb3N0bGlua19jbWRzPScnCmZpbGVfbGlzdF9zcGVjPScnCnZh
cmlhYmxlc19zYXZlZF9mb3JfcmVsaW5rPSdQQVRIIFBBVEggTERfUlVOX1BB
VEggR0NDX0VYRUNfUFJFRklYIENPTVBJTEVSX1BBVEggTElCUkFSWV9QQVRI
JwpuZWVkX2xpYl9wcmVmaXg9J25vJwpuZWVkX3ZlcnNpb249J25vJwp2ZXJz
aW9uX3R5cGU9J3dpbmRvd3MnCnJ1bnBhdGhfdmFyPSdMRF9SVU5fUEFUSCcK
c2hsaWJwYXRoX3Zhcj0nUEFUSCcKc2hsaWJwYXRoX292ZXJyaWRlc19ydW5w
YXRoPSd5ZXMnCmxpYm5hbWVfc3BlYz0nbGliJG5hbWUnCmxpYnJhcnlfbmFt
ZXNfc3BlYz0nJGxpYm5hbWUuZGxsLmEnCnNvbmFtZV9zcGVjPScke2xpYm5h
bWV9YGVjaG8gJHtyZWxlYXNlfSB8ICRTRUQgLWUgcy9bLl0vLS9nYCR7dmVy
c3VmZml4fSR7c2hhcmVkX2V4dH0nCmluc3RhbGxfb3ZlcnJpZGVfbW9kZT0n
Jwpwb3N0aW5zdGFsbF9jbWRzPSdiYXNlX2ZpbGU9YGJhc2VuYW1lIFwke2Zp
bGV9YH4KICAgICAgZGxwYXRoPWAkU0hFTEwgMj4mMSAtYyAnXCcnLiAkZGly
LydcJydcJHtiYXNlX2ZpbGV9J1wnJ2k7IGVjaG8gXCRkbG5hbWUnXCcnYH4K
ICAgICAgZGxkaXI9JGRlc3RkaXIvYGRpcm5hbWUgXCRkbHBhdGhgfgogICAg
ICB0ZXN0IC1kIFwkZGxkaXIgfHwgbWtkaXIgLXAgXCRkbGRpcn4KICAgICAg
JGluc3RhbGxfcHJvZyAkZGlyLyRkbG5hbWUgXCRkbGRpci8kZGxuYW1lfgog
ICAgICBjaG1vZCBhK3ggXCRkbGRpci8kZGxuYW1lfgogICAgICBpZiB0ZXN0
IC1uICdcJyckc3RyaXBtZSdcJycgJiYgdGVzdCAtbiAnXCcnJHN0cmlwbGli
J1wnJzsgdGhlbgogICAgICAgIGV2YWwgJ1wnJyRzdHJpcGxpYiBcJGRsZGly
LyRkbG5hbWUnXCcnIHx8IGV4aXQgXCQ/OwogICAgICBmaScKcG9zdHVuaW5z
dGFsbF9jbWRzPSdkbGRsbD1gJFNIRUxMIDI+JjEgLWMgJ1wnJy4gJGZpbGU7
IGVjaG8gXCRkbG5hbWUnXCcnYH4KICAgICAgZGxwYXRoPSRkaXIvXCRkbGRs
bH4KICAgICAgICRSTSBcJGRscGF0aCcKZmluaXNoX2NtZHM9JycKZmluaXNo
X2V2YWw9JycKaGFyZGNvZGVfaW50b19saWJzPSdubycKc3lzX2xpYl9zZWFy
Y2hfcGF0aF9zcGVjPSdjOi90aW5ndy9saWIvZ2NjL21pbmd3MzIvNC44LjEg
YzovdGluZ3cvbGliL2djYyBjOi90aW5ndy9taW5ndzMyL2xpYiBjOi90aW5n
dy9saWIgJwpzeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0nL2xpYiAvdXNy
L2xpYicKaGFyZGNvZGVfYWN0aW9uPSdpbW1lZGlhdGUnCmVuYWJsZV9kbG9w
ZW49J3llcycKZW5hYmxlX2Rsb3Blbl9zZWxmPSd1bmtub3duJwplbmFibGVf
ZGxvcGVuX3NlbGZfc3RhdGljPSd1bmtub3duJwpvbGRfc3RyaXBsaWI9J3N0
cmlwIC0tc3RyaXAtZGVidWcnCnN0cmlwbGliPSdzdHJpcCAtLXN0cmlwLXVu
bmVlZGVkJwpjb21waWxlcl9saWJfc2VhcmNoX2RpcnM9JycKcHJlZGVwX29i
amVjdHM9JycKcG9zdGRlcF9vYmplY3RzPScnCnByZWRlcHM9JycKcG9zdGRl
cHM9JycKY29tcGlsZXJfbGliX3NlYXJjaF9wYXRoPScnCkxEX0NYWD0nYzov
dGluZ3cvbWluZ3czMi9iaW4vbGQuZXhlJwpMRF9GNzc9JycKTERfRkM9JycK
TERfR089J2M6L3Rpbmd3L21pbmd3MzIvYmluL2xkLmV4ZScKTERfR0NKPSdj
Oi90aW5ndy9taW5ndzMyL2Jpbi9sZC5leGUnCkxEX1JDPScnCnJlbG9hZF9m
bGFnX0NYWD0nIC1yJwpyZWxvYWRfZmxhZ19GNzc9JyAtcicKcmVsb2FkX2Zs
YWdfRkM9JyAtcicKcmVsb2FkX2ZsYWdfR089JyAtcicKcmVsb2FkX2ZsYWdf
R0NKPScgLXInCnJlbG9hZF9mbGFnX1JDPScnCnJlbG9hZF9jbWRzX0NYWD0n
JExEJHJlbG9hZF9mbGFnIC1vICRvdXRwdXQkcmVsb2FkX29ianMnCnJlbG9h
ZF9jbWRzX0Y3Nz0nJExEJHJlbG9hZF9mbGFnIC1vICRvdXRwdXQkcmVsb2Fk
X29ianMnCnJlbG9hZF9jbWRzX0ZDPSckTEQkcmVsb2FkX2ZsYWcgLW8gJG91
dHB1dCRyZWxvYWRfb2JqcycKcmVsb2FkX2NtZHNfR089JyRMRCRyZWxvYWRf
ZmxhZyAtbyAkb3V0cHV0JHJlbG9hZF9vYmpzJwpyZWxvYWRfY21kc19HQ0o9
JyRMRCRyZWxvYWRfZmxhZyAtbyAkb3V0cHV0JHJlbG9hZF9vYmpzJwpyZWxv
YWRfY21kc19SQz0nJwpvbGRfYXJjaGl2ZV9jbWRzX0NYWD0nJEFSICRBUl9G
TEFHUyAkb2xkbGliJG9sZG9ianN+JFJBTkxJQiAkdG9vbF9vbGRsaWInCm9s
ZF9hcmNoaXZlX2NtZHNfRjc3PSckQVIgJEFSX0ZMQUdTICRvbGRsaWIkb2xk
b2Jqc34kUkFOTElCICR0b29sX29sZGxpYicKb2xkX2FyY2hpdmVfY21kc19G
Qz0nJEFSICRBUl9GTEFHUyAkb2xkbGliJG9sZG9ianN+JFJBTkxJQiAkdG9v
bF9vbGRsaWInCm9sZF9hcmNoaXZlX2NtZHNfR089JyRBUiAkQVJfRkxBR1Mg
JG9sZGxpYiRvbGRvYmpzfiRSQU5MSUIgJHRvb2xfb2xkbGliJwpvbGRfYXJj
aGl2ZV9jbWRzX0dDSj0nJEFSICRBUl9GTEFHUyAkb2xkbGliJG9sZG9ianN+
JFJBTkxJQiAkdG9vbF9vbGRsaWInCm9sZF9hcmNoaXZlX2NtZHNfUkM9JycK
Y29tcGlsZXJfQ1hYPSdnKysnCmNvbXBpbGVyX0Y3Nz0nJwpjb21waWxlcl9G
Qz0nJwpjb21waWxlcl9HTz0nJwpjb21waWxlcl9HQ0o9JycKY29tcGlsZXJf
UkM9J3dpbmRyZXMnCkdDQ19DWFg9J3llcycKR0NDX0Y3Nz0nJwpHQ0NfRkM9
JycKR0NDX0dPPScnCkdDQ19HQ0o9JycKR0NDX1JDPScnCmx0X3Byb2dfY29t
cGlsZXJfbm9fYnVpbHRpbl9mbGFnX0NYWD0nIC1mbm8tYnVpbHRpbicKbHRf
cHJvZ19jb21waWxlcl9ub19idWlsdGluX2ZsYWdfRjc3PScnCmx0X3Byb2df
Y29tcGlsZXJfbm9fYnVpbHRpbl9mbGFnX0ZDPScnCmx0X3Byb2dfY29tcGls
ZXJfbm9fYnVpbHRpbl9mbGFnX0dPPScnCmx0X3Byb2dfY29tcGlsZXJfbm9f
YnVpbHRpbl9mbGFnX0dDSj0nJwpsdF9wcm9nX2NvbXBpbGVyX25vX2J1aWx0
aW5fZmxhZ19SQz0nJwpsdF9wcm9nX2NvbXBpbGVyX3BpY19DWFg9JyAtRERM
TF9FWFBPUlQgLURQSUMnCmx0X3Byb2dfY29tcGlsZXJfcGljX0Y3Nz0nJwps
dF9wcm9nX2NvbXBpbGVyX3BpY19GQz0nJwpsdF9wcm9nX2NvbXBpbGVyX3Bp
Y19HTz0nJwpsdF9wcm9nX2NvbXBpbGVyX3BpY19HQ0o9JycKbHRfcHJvZ19j
b21waWxlcl9waWNfUkM9JycKbHRfcHJvZ19jb21waWxlcl93bF9DWFg9Jy1X
bCwnCmx0X3Byb2dfY29tcGlsZXJfd2xfRjc3PScnCmx0X3Byb2dfY29tcGls
ZXJfd2xfRkM9JycKbHRfcHJvZ19jb21waWxlcl93bF9HTz0nJwpsdF9wcm9n
X2NvbXBpbGVyX3dsX0dDSj0nJwpsdF9wcm9nX2NvbXBpbGVyX3dsX1JDPScn
Cmx0X3Byb2dfY29tcGlsZXJfc3RhdGljX0NYWD0nLXN0YXRpYycKbHRfcHJv
Z19jb21waWxlcl9zdGF0aWNfRjc3PScnCmx0X3Byb2dfY29tcGlsZXJfc3Rh
dGljX0ZDPScnCmx0X3Byb2dfY29tcGlsZXJfc3RhdGljX0dPPScnCmx0X3By
b2dfY29tcGlsZXJfc3RhdGljX0dDSj0nJwpsdF9wcm9nX2NvbXBpbGVyX3N0
YXRpY19SQz0nJwpsdF9jdl9wcm9nX2NvbXBpbGVyX2Nfb19DWFg9J3llcycK
bHRfY3ZfcHJvZ19jb21waWxlcl9jX29fRjc3PScnCmx0X2N2X3Byb2dfY29t
cGlsZXJfY19vX0ZDPScnCmx0X2N2X3Byb2dfY29tcGlsZXJfY19vX0dPPScn
Cmx0X2N2X3Byb2dfY29tcGlsZXJfY19vX0dDSj0nJwpsdF9jdl9wcm9nX2Nv
bXBpbGVyX2Nfb19SQz0neWVzJwphcmNoaXZlX2NtZHNfbmVlZF9sY19DWFg9
J25vJwphcmNoaXZlX2NtZHNfbmVlZF9sY19GNzc9J25vJwphcmNoaXZlX2Nt
ZHNfbmVlZF9sY19GQz0nbm8nCmFyY2hpdmVfY21kc19uZWVkX2xjX0dPPSdu
bycKYXJjaGl2ZV9jbWRzX25lZWRfbGNfR0NKPSdubycKYXJjaGl2ZV9jbWRz
X25lZWRfbGNfUkM9JycKZW5hYmxlX3NoYXJlZF93aXRoX3N0YXRpY19ydW50
aW1lc19DWFg9J3llcycKZW5hYmxlX3NoYXJlZF93aXRoX3N0YXRpY19ydW50
aW1lc19GNzc9J25vJwplbmFibGVfc2hhcmVkX3dpdGhfc3RhdGljX3J1bnRp
bWVzX0ZDPSdubycKZW5hYmxlX3NoYXJlZF93aXRoX3N0YXRpY19ydW50aW1l
c19HTz0nJwplbmFibGVfc2hhcmVkX3dpdGhfc3RhdGljX3J1bnRpbWVzX0dD
Sj0nJwplbmFibGVfc2hhcmVkX3dpdGhfc3RhdGljX3J1bnRpbWVzX1JDPScn
CmV4cG9ydF9keW5hbWljX2ZsYWdfc3BlY19DWFg9JyR7d2x9LS1leHBvcnQt
YWxsLXN5bWJvbHMnCmV4cG9ydF9keW5hbWljX2ZsYWdfc3BlY19GNzc9JycK
ZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjX0ZDPScnCmV4cG9ydF9keW5hbWlj
X2ZsYWdfc3BlY19HTz0nJwpleHBvcnRfZHluYW1pY19mbGFnX3NwZWNfR0NK
PScnCmV4cG9ydF9keW5hbWljX2ZsYWdfc3BlY19SQz0nJwp3aG9sZV9hcmNo
aXZlX2ZsYWdfc3BlY19DWFg9JyR7d2x9LS13aG9sZS1hcmNoaXZlJGNvbnZl
bmllbmNlICR7d2x9LS1uby13aG9sZS1hcmNoaXZlJwp3aG9sZV9hcmNoaXZl
X2ZsYWdfc3BlY19GNzc9JycKd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWNfRkM9
JycKd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWNfR089JycKd2hvbGVfYXJjaGl2
ZV9mbGFnX3NwZWNfR0NKPScnCndob2xlX2FyY2hpdmVfZmxhZ19zcGVjX1JD
PScnCmNvbXBpbGVyX25lZWRzX29iamVjdF9DWFg9J25vJwpjb21waWxlcl9u
ZWVkc19vYmplY3RfRjc3PScnCmNvbXBpbGVyX25lZWRzX29iamVjdF9GQz0n
Jwpjb21waWxlcl9uZWVkc19vYmplY3RfR089JycKY29tcGlsZXJfbmVlZHNf
b2JqZWN0X0dDSj0nJwpjb21waWxlcl9uZWVkc19vYmplY3RfUkM9JycKb2xk
X2FyY2hpdmVfZnJvbV9uZXdfY21kc19DWFg9JycKb2xkX2FyY2hpdmVfZnJv
bV9uZXdfY21kc19GNzc9JycKb2xkX2FyY2hpdmVfZnJvbV9uZXdfY21kc19G
Qz0nJwpvbGRfYXJjaGl2ZV9mcm9tX25ld19jbWRzX0dPPScnCm9sZF9hcmNo
aXZlX2Zyb21fbmV3X2NtZHNfR0NKPScnCm9sZF9hcmNoaXZlX2Zyb21fbmV3
X2NtZHNfUkM9JycKb2xkX2FyY2hpdmVfZnJvbV9leHBzeW1zX2NtZHNfQ1hY
PScnCm9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzX0Y3Nz0nJwpvbGRf
YXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kc19GQz0nJwpvbGRfYXJjaGl2ZV9m
cm9tX2V4cHN5bXNfY21kc19HTz0nJwpvbGRfYXJjaGl2ZV9mcm9tX2V4cHN5
bXNfY21kc19HQ0o9JycKb2xkX2FyY2hpdmVfZnJvbV9leHBzeW1zX2NtZHNf
UkM9JycKYXJjaGl2ZV9jbWRzX0NYWD0nJENDIC1zaGFyZWQgLW5vc3RkbGli
ICRwcmVkZXBfb2JqZWN0cyAkbGlib2JqcyAkZGVwbGlicyAkcG9zdGRlcF9v
YmplY3RzICRjb21waWxlcl9mbGFncyAtbyAkb3V0cHV0X29iamRpci8kc29u
YW1lICR7d2x9LS1lbmFibGUtYXV0by1pbWFnZS1iYXNlIC1YbGlua2VyIC0t
b3V0LWltcGxpYiAtWGxpbmtlciAkbGliJwphcmNoaXZlX2NtZHNfRjc3PScn
CmFyY2hpdmVfY21kc19GQz0nJwphcmNoaXZlX2NtZHNfR089JycKYXJjaGl2
ZV9jbWRzX0dDSj0nJwphcmNoaXZlX2NtZHNfUkM9JycKYXJjaGl2ZV9leHBz
eW1fY21kc19DWFg9J2lmIHRlc3QgInhgJFNFRCAxcSAkZXhwb3J0X3N5bWJv
bHNgIiA9IHhFWFBPUlRTOyB0aGVuCgkgICAgICBjcCAkZXhwb3J0X3N5bWJv
bHMgJG91dHB1dF9vYmpkaXIvJHNvbmFtZS5kZWY7CgkgICAgZWxzZQoJICAg
ICAgZWNobyBFWFBPUlRTID4gJG91dHB1dF9vYmpkaXIvJHNvbmFtZS5kZWY7
CgkgICAgICBjYXQgJGV4cG9ydF9zeW1ib2xzID4+ICRvdXRwdXRfb2JqZGly
LyRzb25hbWUuZGVmOwoJICAgIGZpfgoJICAgICRDQyAtc2hhcmVkIC1ub3N0
ZGxpYiAkb3V0cHV0X29iamRpci8kc29uYW1lLmRlZiAkcHJlZGVwX29iamVj
dHMgJGxpYm9ianMgJGRlcGxpYnMgJHBvc3RkZXBfb2JqZWN0cyAkY29tcGls
ZXJfZmxhZ3MgLW8gJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAke3dsfS0tZW5h
YmxlLWF1dG8taW1hZ2UtYmFzZSAtWGxpbmtlciAtLW91dC1pbXBsaWIgLVhs
aW5rZXIgJGxpYicKYXJjaGl2ZV9leHBzeW1fY21kc19GNzc9JycKYXJjaGl2
ZV9leHBzeW1fY21kc19GQz0nJwphcmNoaXZlX2V4cHN5bV9jbWRzX0dPPScn
CmFyY2hpdmVfZXhwc3ltX2NtZHNfR0NKPScnCmFyY2hpdmVfZXhwc3ltX2Nt
ZHNfUkM9JycKbW9kdWxlX2NtZHNfQ1hYPScnCm1vZHVsZV9jbWRzX0Y3Nz0n
Jwptb2R1bGVfY21kc19GQz0nJwptb2R1bGVfY21kc19HTz0nJwptb2R1bGVf
Y21kc19HQ0o9JycKbW9kdWxlX2NtZHNfUkM9JycKbW9kdWxlX2V4cHN5bV9j
bWRzX0NYWD0nJwptb2R1bGVfZXhwc3ltX2NtZHNfRjc3PScnCm1vZHVsZV9l
eHBzeW1fY21kc19GQz0nJwptb2R1bGVfZXhwc3ltX2NtZHNfR089JycKbW9k
dWxlX2V4cHN5bV9jbWRzX0dDSj0nJwptb2R1bGVfZXhwc3ltX2NtZHNfUkM9
JycKd2l0aF9nbnVfbGRfQ1hYPSd5ZXMnCndpdGhfZ251X2xkX0Y3Nz0nJwp3
aXRoX2dudV9sZF9GQz0nJwp3aXRoX2dudV9sZF9HTz0nJwp3aXRoX2dudV9s
ZF9HQ0o9JycKd2l0aF9nbnVfbGRfUkM9JycKYWxsb3dfdW5kZWZpbmVkX2Zs
YWdfQ1hYPSd1bnN1cHBvcnRlZCcKYWxsb3dfdW5kZWZpbmVkX2ZsYWdfRjc3
PScnCmFsbG93X3VuZGVmaW5lZF9mbGFnX0ZDPScnCmFsbG93X3VuZGVmaW5l
ZF9mbGFnX0dPPScnCmFsbG93X3VuZGVmaW5lZF9mbGFnX0dDSj0nJwphbGxv
d191bmRlZmluZWRfZmxhZ19SQz0nJwpub191bmRlZmluZWRfZmxhZ19DWFg9
JycKbm9fdW5kZWZpbmVkX2ZsYWdfRjc3PScnCm5vX3VuZGVmaW5lZF9mbGFn
X0ZDPScnCm5vX3VuZGVmaW5lZF9mbGFnX0dPPScnCm5vX3VuZGVmaW5lZF9m
bGFnX0dDSj0nJwpub191bmRlZmluZWRfZmxhZ19SQz0nJwpoYXJkY29kZV9s
aWJkaXJfZmxhZ19zcGVjX0NYWD0nLUwkbGliZGlyJwpoYXJkY29kZV9saWJk
aXJfZmxhZ19zcGVjX0Y3Nz0nJwpoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVj
X0ZDPScnCmhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNfR089JycKaGFyZGNv
ZGVfbGliZGlyX2ZsYWdfc3BlY19HQ0o9JycKaGFyZGNvZGVfbGliZGlyX2Zs
YWdfc3BlY19SQz0nJwpoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yX0NYWD0n
JwpoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yX0Y3Nz0nJwpoYXJkY29kZV9s
aWJkaXJfc2VwYXJhdG9yX0ZDPScnCmhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0
b3JfR089JycKaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvcl9HQ0o9JycKaGFy
ZGNvZGVfbGliZGlyX3NlcGFyYXRvcl9SQz0nJwpoYXJkY29kZV9kaXJlY3Rf
Q1hYPSdubycKaGFyZGNvZGVfZGlyZWN0X0Y3Nz0nbm8nCmhhcmRjb2RlX2Rp
cmVjdF9GQz0nbm8nCmhhcmRjb2RlX2RpcmVjdF9HTz0nJwpoYXJkY29kZV9k
aXJlY3RfR0NKPScnCmhhcmRjb2RlX2RpcmVjdF9SQz0nJwpoYXJkY29kZV9k
aXJlY3RfYWJzb2x1dGVfQ1hYPSdubycKaGFyZGNvZGVfZGlyZWN0X2Fic29s
dXRlX0Y3Nz0nbm8nCmhhcmRjb2RlX2RpcmVjdF9hYnNvbHV0ZV9GQz0nbm8n
CmhhcmRjb2RlX2RpcmVjdF9hYnNvbHV0ZV9HTz0nJwpoYXJkY29kZV9kaXJl
Y3RfYWJzb2x1dGVfR0NKPScnCmhhcmRjb2RlX2RpcmVjdF9hYnNvbHV0ZV9S
Qz0nJwpoYXJkY29kZV9taW51c19MX0NYWD0nbm8nCmhhcmRjb2RlX21pbnVz
X0xfRjc3PSdubycKaGFyZGNvZGVfbWludXNfTF9GQz0nbm8nCmhhcmRjb2Rl
X21pbnVzX0xfR089JycKaGFyZGNvZGVfbWludXNfTF9HQ0o9JycKaGFyZGNv
ZGVfbWludXNfTF9SQz0nJwpoYXJkY29kZV9zaGxpYnBhdGhfdmFyX0NYWD0n
dW5zdXBwb3J0ZWQnCmhhcmRjb2RlX3NobGlicGF0aF92YXJfRjc3PScnCmhh
cmRjb2RlX3NobGlicGF0aF92YXJfRkM9JycKaGFyZGNvZGVfc2hsaWJwYXRo
X3Zhcl9HTz0nJwpoYXJkY29kZV9zaGxpYnBhdGhfdmFyX0dDSj0nJwpoYXJk
Y29kZV9zaGxpYnBhdGhfdmFyX1JDPScnCmhhcmRjb2RlX2F1dG9tYXRpY19D
WFg9J25vJwpoYXJkY29kZV9hdXRvbWF0aWNfRjc3PSdubycKaGFyZGNvZGVf
YXV0b21hdGljX0ZDPSdubycKaGFyZGNvZGVfYXV0b21hdGljX0dPPScnCmhh
cmRjb2RlX2F1dG9tYXRpY19HQ0o9JycKaGFyZGNvZGVfYXV0b21hdGljX1JD
PScnCmluaGVyaXRfcnBhdGhfQ1hYPSdubycKaW5oZXJpdF9ycGF0aF9GNzc9
J25vJwppbmhlcml0X3JwYXRoX0ZDPSdubycKaW5oZXJpdF9ycGF0aF9HTz0n
Jwppbmhlcml0X3JwYXRoX0dDSj0nJwppbmhlcml0X3JwYXRoX1JDPScnCmxp
bmtfYWxsX2RlcGxpYnNfQ1hYPSd1bmtub3duJwpsaW5rX2FsbF9kZXBsaWJz
X0Y3Nz0ndW5rbm93bicKbGlua19hbGxfZGVwbGlic19GQz0ndW5rbm93bicK
bGlua19hbGxfZGVwbGlic19HTz0nJwpsaW5rX2FsbF9kZXBsaWJzX0dDSj0n
JwpsaW5rX2FsbF9kZXBsaWJzX1JDPScnCmFsd2F5c19leHBvcnRfc3ltYm9s
c19DWFg9J25vJwphbHdheXNfZXhwb3J0X3N5bWJvbHNfRjc3PSdubycKYWx3
YXlzX2V4cG9ydF9zeW1ib2xzX0ZDPSdubycKYWx3YXlzX2V4cG9ydF9zeW1i
b2xzX0dPPScnCmFsd2F5c19leHBvcnRfc3ltYm9sc19HQ0o9JycKYWx3YXlz
X2V4cG9ydF9zeW1ib2xzX1JDPScnCmV4cG9ydF9zeW1ib2xzX2NtZHNfQ1hY
PSckTk0gJGxpYm9ianMgJGNvbnZlbmllbmNlIHwgJGdsb2JhbF9zeW1ib2xf
cGlwZSB8ICRTRUQgLWUgJ1wnJy9eW0JDREdSU11bIF0vcy8uKlsgXVwoW14g
XSpcKS9cMSBEQVRBLztzL14uKlsgXV9fbm1fX1woW14gXSpcKVsgXVteIF0q
L1wxIERBVEEvOy9eSVsgXS9kOy9eW0FJVFddWyBdL3MvLiogLy8nXCcnIHwg
c29ydCB8IHVuaXEgPiAkZXhwb3J0X3N5bWJvbHMnCmV4cG9ydF9zeW1ib2xz
X2NtZHNfRjc3PScnCmV4cG9ydF9zeW1ib2xzX2NtZHNfRkM9JycKZXhwb3J0
X3N5bWJvbHNfY21kc19HTz0nJwpleHBvcnRfc3ltYm9sc19jbWRzX0dDSj0n
JwpleHBvcnRfc3ltYm9sc19jbWRzX1JDPScnCmV4Y2x1ZGVfZXhwc3ltc19D
WFg9J1tfXStHTE9CQUxfT0ZGU0VUX1RBQkxFX3xbX10rR0xPQkFMX19bRklE
XV8uKnxbX10raGVhZF9bQS1aYS16MC05X10rX2RsbHxbQS1aYS16MC05X10r
X2RsbF9pbmFtZScKZXhjbHVkZV9leHBzeW1zX0Y3Nz0nJwpleGNsdWRlX2V4
cHN5bXNfRkM9JycKZXhjbHVkZV9leHBzeW1zX0dPPScnCmV4Y2x1ZGVfZXhw
c3ltc19HQ0o9JycKZXhjbHVkZV9leHBzeW1zX1JDPScnCmluY2x1ZGVfZXhw
c3ltc19DWFg9JycKaW5jbHVkZV9leHBzeW1zX0Y3Nz0nJwppbmNsdWRlX2V4
cHN5bXNfRkM9JycKaW5jbHVkZV9leHBzeW1zX0dPPScnCmluY2x1ZGVfZXhw
c3ltc19HQ0o9JycKaW5jbHVkZV9leHBzeW1zX1JDPScnCnByZWxpbmtfY21k
c19DWFg9JycKcHJlbGlua19jbWRzX0Y3Nz0nJwpwcmVsaW5rX2NtZHNfRkM9
JycKcHJlbGlua19jbWRzX0dPPScnCnByZWxpbmtfY21kc19HQ0o9JycKcHJl
bGlua19jbWRzX1JDPScnCnBvc3RsaW5rX2NtZHNfQ1hYPScnCnBvc3RsaW5r
X2NtZHNfRjc3PScnCnBvc3RsaW5rX2NtZHNfRkM9JycKcG9zdGxpbmtfY21k
c19HTz0nJwpwb3N0bGlua19jbWRzX0dDSj0nJwpwb3N0bGlua19jbWRzX1JD
PScnCmZpbGVfbGlzdF9zcGVjX0NYWD0nJwpmaWxlX2xpc3Rfc3BlY19GNzc9
JycKZmlsZV9saXN0X3NwZWNfRkM9JycKZmlsZV9saXN0X3NwZWNfR089JycK
ZmlsZV9saXN0X3NwZWNfR0NKPScnCmZpbGVfbGlzdF9zcGVjX1JDPScnCmhh
cmRjb2RlX2FjdGlvbl9DWFg9J2ltbWVkaWF0ZScKaGFyZGNvZGVfYWN0aW9u
X0Y3Nz0nJwpoYXJkY29kZV9hY3Rpb25fRkM9JycKaGFyZGNvZGVfYWN0aW9u
X0dPPScnCmhhcmRjb2RlX2FjdGlvbl9HQ0o9JycKaGFyZGNvZGVfYWN0aW9u
X1JDPScnCmNvbXBpbGVyX2xpYl9zZWFyY2hfZGlyc19DWFg9J2M6L3Rpbmd3
L2Jpbi8uLi9saWIvZ2NjL21pbmd3MzIvNC44LjEgYzovdGluZ3cvYmluLy4u
L2xpYi9nY2MgYzovdGluZ3cvYmluLy4uL2xpYi9nY2MvbWluZ3czMi80Ljgu
MS8uLi8uLi8uLi8uLi9taW5ndzMyL2xpYiBjOi90aW5ndy9iaW4vLi4vbGli
L2djYy9taW5ndzMyLzQuOC4xLy4uLy4uLy4uJwpjb21waWxlcl9saWJfc2Vh
cmNoX2RpcnNfRjc3PScnCmNvbXBpbGVyX2xpYl9zZWFyY2hfZGlyc19GQz0n
Jwpjb21waWxlcl9saWJfc2VhcmNoX2RpcnNfR089JycKY29tcGlsZXJfbGli
X3NlYXJjaF9kaXJzX0dDSj0nJwpjb21waWxlcl9saWJfc2VhcmNoX2RpcnNf
UkM9JycKcHJlZGVwX29iamVjdHNfQ1hYPSdjOi90aW5ndy9iaW4vLi4vbGli
L2djYy9taW5ndzMyLzQuOC4xLy4uLy4uLy4uLy4uL21pbmd3MzIvbGliL2Rs
bGNydDIubyBjOi90aW5ndy9iaW4vLi4vbGliL2djYy9taW5ndzMyLzQuOC4x
L2NydGJlZ2luLm8nCnByZWRlcF9vYmplY3RzX0Y3Nz0nJwpwcmVkZXBfb2Jq
ZWN0c19GQz0nJwpwcmVkZXBfb2JqZWN0c19HTz0nJwpwcmVkZXBfb2JqZWN0
c19HQ0o9JycKcHJlZGVwX29iamVjdHNfUkM9JycKcG9zdGRlcF9vYmplY3Rz
X0NYWD0nYzovdGluZ3cvYmluLy4uL2xpYi9nY2MvbWluZ3czMi80LjguMS9j
cnRlbmQubycKcG9zdGRlcF9vYmplY3RzX0Y3Nz0nJwpwb3N0ZGVwX29iamVj
dHNfRkM9JycKcG9zdGRlcF9vYmplY3RzX0dPPScnCnBvc3RkZXBfb2JqZWN0
c19HQ0o9JycKcG9zdGRlcF9vYmplY3RzX1JDPScnCnByZWRlcHNfQ1hYPScn
CnByZWRlcHNfRjc3PScnCnByZWRlcHNfRkM9JycKcHJlZGVwc19HTz0nJwpw
cmVkZXBzX0dDSj0nJwpwcmVkZXBzX1JDPScnCnBvc3RkZXBzX0NYWD0nLWxz
dGRjKysgLWxtaW5ndzMyIC1sZ2NjX3MgLWxnY2MgLWxtb2xkbmFtZSAtbG1p
bmd3ZXggLWxtc3ZjcnQgLWxhZHZhcGkzMiAtbHNoZWxsMzIgLWx1c2VyMzIg
LWxrZXJuZWwzMiAtbG1pbmd3MzIgLWxnY2NfcyAtbGdjYyAtbG1vbGRuYW1l
IC1sbWluZ3dleCAtbG1zdmNydCcKcG9zdGRlcHNfRjc3PScnCnBvc3RkZXBz
X0ZDPScnCnBvc3RkZXBzX0dPPScnCnBvc3RkZXBzX0dDSj0nJwpwb3N0ZGVw
c19SQz0nJwpjb21waWxlcl9saWJfc2VhcmNoX3BhdGhfQ1hYPSctTGM6L3Rp
bmd3L2Jpbi8uLi9saWIvZ2NjL21pbmd3MzIvNC44LjEgLUxjOi90aW5ndy9i
aW4vLi4vbGliL2djYyAtTGM6L3Rpbmd3L2Jpbi8uLi9saWIvZ2NjL21pbmd3
MzIvNC44LjEvLi4vLi4vLi4vLi4vbWluZ3czMi9saWIgLUxjOi90aW5ndy9i
aW4vLi4vbGliL2djYy9taW5ndzMyLzQuOC4xLy4uLy4uLy4uJwpjb21waWxl
cl9saWJfc2VhcmNoX3BhdGhfRjc3PScnCmNvbXBpbGVyX2xpYl9zZWFyY2hf
cGF0aF9GQz0nJwpjb21waWxlcl9saWJfc2VhcmNoX3BhdGhfR089JycKY29t
cGlsZXJfbGliX3NlYXJjaF9wYXRoX0dDSj0nJwpjb21waWxlcl9saWJfc2Vh
cmNoX3BhdGhfUkM9JycKCkxUQ0M9J2djYycKTFRDRkxBR1M9Jy1nIC1PMicK
Y29tcGlsZXI9J2djYycKCiMgQSBmdW5jdGlvbiB0aGF0IGlzIHVzZWQgd2hl
biB0aGVyZSBpcyBubyBwcmludCBidWlsdGluIG9yIHByaW50Zi4KZnVuY19m
YWxsYmFja19lY2hvICgpCnsKICBldmFsICdjYXQgPDxfTFRFQ0hPX0VPRgok
MQpfTFRFQ0hPX0VPRicKfQoKIyBRdW90ZSBldmFsZWQgc3RyaW5ncy4KZm9y
IHZhciBpbiBBUyBETExUT09MIE9CSkRVTVAgU0hFTEwgRUNITyBQQVRIX1NF
UEFSQVRPUiBTRUQgR1JFUCBFR1JFUCBGR1JFUCBMRCBOTSBMTl9TIGx0X1NQ
Mk5MIGx0X05MMlNQIHJlbG9hZF9mbGFnIGRlcGxpYnNfY2hlY2tfbWV0aG9k
IGZpbGVfbWFnaWNfY21kIGZpbGVfbWFnaWNfZ2xvYiB3YW50X25vY2FzZWds
b2Igc2hhcmVkbGliX2Zyb21fbGlua2xpYl9jbWQgQVIgQVJfRkxBR1MgYXJj
aGl2ZXJfbGlzdF9zcGVjIFNUUklQIFJBTkxJQiBDQyBDRkxBR1MgY29tcGls
ZXIgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSBsdF9jdl9zeXNfZ2xv
YmFsX3N5bWJvbF90b19jZGVjbCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90
b19jX25hbWVfYWRkcmVzcyBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19j
X25hbWVfYWRkcmVzc19saWJfcHJlZml4IG5tX2ZpbGVfbGlzdF9zcGVjIGx0
X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRpbl9mbGFnIGx0X3Byb2dfY29tcGls
ZXJfcGljIGx0X3Byb2dfY29tcGlsZXJfd2wgbHRfcHJvZ19jb21waWxlcl9z
dGF0aWMgbHRfY3ZfcHJvZ19jb21waWxlcl9jX28gbmVlZF9sb2NrcyBNQU5J
RkVTVF9UT09MIERTWU1VVElMIE5NRURJVCBMSVBPIE9UT09MIE9UT09MNjQg
c2hyZXh0X2NtZHMgZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjIHdob2xlX2Fy
Y2hpdmVfZmxhZ19zcGVjIGNvbXBpbGVyX25lZWRzX29iamVjdCB3aXRoX2du
dV9sZCBhbGxvd191bmRlZmluZWRfZmxhZyBub191bmRlZmluZWRfZmxhZyBo
YXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIGhhcmRjb2RlX2xpYmRpcl9zZXBh
cmF0b3IgZXhjbHVkZV9leHBzeW1zIGluY2x1ZGVfZXhwc3ltcyBmaWxlX2xp
c3Rfc3BlYyB2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluayBsaWJuYW1lX3Nw
ZWMgbGlicmFyeV9uYW1lc19zcGVjIHNvbmFtZV9zcGVjIGluc3RhbGxfb3Zl
cnJpZGVfbW9kZSBmaW5pc2hfZXZhbCBvbGRfc3RyaXBsaWIgc3RyaXBsaWIg
Y29tcGlsZXJfbGliX3NlYXJjaF9kaXJzIHByZWRlcF9vYmplY3RzIHBvc3Rk
ZXBfb2JqZWN0cyBwcmVkZXBzIHBvc3RkZXBzIGNvbXBpbGVyX2xpYl9zZWFy
Y2hfcGF0aCBMRF9DWFggTERfRjc3IExEX0ZDIExEX0dPIExEX0dDSiBMRF9S
QyByZWxvYWRfZmxhZ19DWFggcmVsb2FkX2ZsYWdfRjc3IHJlbG9hZF9mbGFn
X0ZDIHJlbG9hZF9mbGFnX0dPIHJlbG9hZF9mbGFnX0dDSiByZWxvYWRfZmxh
Z19SQyBjb21waWxlcl9DWFggY29tcGlsZXJfRjc3IGNvbXBpbGVyX0ZDIGNv
bXBpbGVyX0dPIGNvbXBpbGVyX0dDSiBjb21waWxlcl9SQyBsdF9wcm9nX2Nv
bXBpbGVyX25vX2J1aWx0aW5fZmxhZ19DWFggbHRfcHJvZ19jb21waWxlcl9u
b19idWlsdGluX2ZsYWdfRjc3IGx0X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRp
bl9mbGFnX0ZDIGx0X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRpbl9mbGFnX0dP
IGx0X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRpbl9mbGFnX0dDSiBsdF9wcm9n
X2NvbXBpbGVyX25vX2J1aWx0aW5fZmxhZ19SQyBsdF9wcm9nX2NvbXBpbGVy
X3BpY19DWFggbHRfcHJvZ19jb21waWxlcl9waWNfRjc3IGx0X3Byb2dfY29t
cGlsZXJfcGljX0ZDIGx0X3Byb2dfY29tcGlsZXJfcGljX0dPIGx0X3Byb2df
Y29tcGlsZXJfcGljX0dDSiBsdF9wcm9nX2NvbXBpbGVyX3BpY19SQyBsdF9w
cm9nX2NvbXBpbGVyX3dsX0NYWCBsdF9wcm9nX2NvbXBpbGVyX3dsX0Y3NyBs
dF9wcm9nX2NvbXBpbGVyX3dsX0ZDIGx0X3Byb2dfY29tcGlsZXJfd2xfR08g
bHRfcHJvZ19jb21waWxlcl93bF9HQ0ogbHRfcHJvZ19jb21waWxlcl93bF9S
QyBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpY19DWFggbHRfcHJvZ19jb21waWxl
cl9zdGF0aWNfRjc3IGx0X3Byb2dfY29tcGlsZXJfc3RhdGljX0ZDIGx0X3By
b2dfY29tcGlsZXJfc3RhdGljX0dPIGx0X3Byb2dfY29tcGlsZXJfc3RhdGlj
X0dDSiBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpY19SQyBsdF9jdl9wcm9nX2Nv
bXBpbGVyX2Nfb19DWFggbHRfY3ZfcHJvZ19jb21waWxlcl9jX29fRjc3IGx0
X2N2X3Byb2dfY29tcGlsZXJfY19vX0ZDIGx0X2N2X3Byb2dfY29tcGlsZXJf
Y19vX0dPIGx0X2N2X3Byb2dfY29tcGlsZXJfY19vX0dDSiBsdF9jdl9wcm9n
X2NvbXBpbGVyX2Nfb19SQyBleHBvcnRfZHluYW1pY19mbGFnX3NwZWNfQ1hY
IGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlY19GNzcgZXhwb3J0X2R5bmFtaWNf
ZmxhZ19zcGVjX0ZDIGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlY19HTyBleHBv
cnRfZHluYW1pY19mbGFnX3NwZWNfR0NKIGV4cG9ydF9keW5hbWljX2ZsYWdf
c3BlY19SQyB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlY19DWFggd2hvbGVfYXJj
aGl2ZV9mbGFnX3NwZWNfRjc3IHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjX0ZD
IHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjX0dPIHdob2xlX2FyY2hpdmVfZmxh
Z19zcGVjX0dDSiB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlY19SQyBjb21waWxl
cl9uZWVkc19vYmplY3RfQ1hYIGNvbXBpbGVyX25lZWRzX29iamVjdF9GNzcg
Y29tcGlsZXJfbmVlZHNfb2JqZWN0X0ZDIGNvbXBpbGVyX25lZWRzX29iamVj
dF9HTyBjb21waWxlcl9uZWVkc19vYmplY3RfR0NKIGNvbXBpbGVyX25lZWRz
X29iamVjdF9SQyB3aXRoX2dudV9sZF9DWFggd2l0aF9nbnVfbGRfRjc3IHdp
dGhfZ251X2xkX0ZDIHdpdGhfZ251X2xkX0dPIHdpdGhfZ251X2xkX0dDSiB3
aXRoX2dudV9sZF9SQyBhbGxvd191bmRlZmluZWRfZmxhZ19DWFggYWxsb3df
dW5kZWZpbmVkX2ZsYWdfRjc3IGFsbG93X3VuZGVmaW5lZF9mbGFnX0ZDIGFs
bG93X3VuZGVmaW5lZF9mbGFnX0dPIGFsbG93X3VuZGVmaW5lZF9mbGFnX0dD
SiBhbGxvd191bmRlZmluZWRfZmxhZ19SQyBub191bmRlZmluZWRfZmxhZ19D
WFggbm9fdW5kZWZpbmVkX2ZsYWdfRjc3IG5vX3VuZGVmaW5lZF9mbGFnX0ZD
IG5vX3VuZGVmaW5lZF9mbGFnX0dPIG5vX3VuZGVmaW5lZF9mbGFnX0dDSiBu
b191bmRlZmluZWRfZmxhZ19SQyBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVj
X0NYWCBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjX0Y3NyBoYXJkY29kZV9s
aWJkaXJfZmxhZ19zcGVjX0ZDIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNf
R08gaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY19HQ0ogaGFyZGNvZGVfbGli
ZGlyX2ZsYWdfc3BlY19SQyBoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yX0NY
WCBoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yX0Y3NyBoYXJkY29kZV9saWJk
aXJfc2VwYXJhdG9yX0ZDIGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3JfR08g
aGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvcl9HQ0ogaGFyZGNvZGVfbGliZGly
X3NlcGFyYXRvcl9SQyBleGNsdWRlX2V4cHN5bXNfQ1hYIGV4Y2x1ZGVfZXhw
c3ltc19GNzcgZXhjbHVkZV9leHBzeW1zX0ZDIGV4Y2x1ZGVfZXhwc3ltc19H
TyBleGNsdWRlX2V4cHN5bXNfR0NKIGV4Y2x1ZGVfZXhwc3ltc19SQyBpbmNs
dWRlX2V4cHN5bXNfQ1hYIGluY2x1ZGVfZXhwc3ltc19GNzcgaW5jbHVkZV9l
eHBzeW1zX0ZDIGluY2x1ZGVfZXhwc3ltc19HTyBpbmNsdWRlX2V4cHN5bXNf
R0NKIGluY2x1ZGVfZXhwc3ltc19SQyBmaWxlX2xpc3Rfc3BlY19DWFggZmls
ZV9saXN0X3NwZWNfRjc3IGZpbGVfbGlzdF9zcGVjX0ZDIGZpbGVfbGlzdF9z
cGVjX0dPIGZpbGVfbGlzdF9zcGVjX0dDSiBmaWxlX2xpc3Rfc3BlY19SQyBj
b21waWxlcl9saWJfc2VhcmNoX2RpcnNfQ1hYIGNvbXBpbGVyX2xpYl9zZWFy
Y2hfZGlyc19GNzcgY29tcGlsZXJfbGliX3NlYXJjaF9kaXJzX0ZDIGNvbXBp
bGVyX2xpYl9zZWFyY2hfZGlyc19HTyBjb21waWxlcl9saWJfc2VhcmNoX2Rp
cnNfR0NKIGNvbXBpbGVyX2xpYl9zZWFyY2hfZGlyc19SQyBwcmVkZXBfb2Jq
ZWN0c19DWFggcHJlZGVwX29iamVjdHNfRjc3IHByZWRlcF9vYmplY3RzX0ZD
IHByZWRlcF9vYmplY3RzX0dPIHByZWRlcF9vYmplY3RzX0dDSiBwcmVkZXBf
b2JqZWN0c19SQyBwb3N0ZGVwX29iamVjdHNfQ1hYIHBvc3RkZXBfb2JqZWN0
c19GNzcgcG9zdGRlcF9vYmplY3RzX0ZDIHBvc3RkZXBfb2JqZWN0c19HTyBw
b3N0ZGVwX29iamVjdHNfR0NKIHBvc3RkZXBfb2JqZWN0c19SQyBwcmVkZXBz
X0NYWCBwcmVkZXBzX0Y3NyBwcmVkZXBzX0ZDIHByZWRlcHNfR08gcHJlZGVw
c19HQ0ogcHJlZGVwc19SQyBwb3N0ZGVwc19DWFggcG9zdGRlcHNfRjc3IHBv
c3RkZXBzX0ZDIHBvc3RkZXBzX0dPIHBvc3RkZXBzX0dDSiBwb3N0ZGVwc19S
QyBjb21waWxlcl9saWJfc2VhcmNoX3BhdGhfQ1hYIGNvbXBpbGVyX2xpYl9z
ZWFyY2hfcGF0aF9GNzcgY29tcGlsZXJfbGliX3NlYXJjaF9wYXRoX0ZDIGNv
bXBpbGVyX2xpYl9zZWFyY2hfcGF0aF9HTyBjb21waWxlcl9saWJfc2VhcmNo
X3BhdGhfR0NKIGNvbXBpbGVyX2xpYl9zZWFyY2hfcGF0aF9SQzsgZG8KICAg
IGNhc2UgYGV2YWwgXFwkRUNITyBcXCIiXFwkJHZhciJcXCJgIGluCiAgICAq
W1xcXGBcIlwkXSopCiAgICAgIGV2YWwgImx0XyR2YXI9XFxcIlxgXCRFQ0hP
IFwiXCQkdmFyXCIgfCBcJFNFRCBcIlwkc2VkX3F1b3RlX3N1YnN0XCJcYFxc
XCIiCiAgICAgIDs7CiAgICAqKQogICAgICBldmFsICJsdF8kdmFyPVxcXCJc
JCR2YXJcXFwiIgogICAgICA7OwogICAgZXNhYwpkb25lCgojIERvdWJsZS1x
dW90ZSBkb3VibGUtZXZhbGVkIHN0cmluZ3MuCmZvciB2YXIgaW4gcmVsb2Fk
X2NtZHMgb2xkX3Bvc3RpbnN0YWxsX2NtZHMgb2xkX3Bvc3R1bmluc3RhbGxf
Y21kcyBvbGRfYXJjaGl2ZV9jbWRzIGV4dHJhY3RfZXhwc3ltc19jbWRzIG9s
ZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHMgb2xkX2FyY2hpdmVfZnJvbV9leHBz
eW1zX2NtZHMgYXJjaGl2ZV9jbWRzIGFyY2hpdmVfZXhwc3ltX2NtZHMgbW9k
dWxlX2NtZHMgbW9kdWxlX2V4cHN5bV9jbWRzIGV4cG9ydF9zeW1ib2xzX2Nt
ZHMgcHJlbGlua19jbWRzIHBvc3RsaW5rX2NtZHMgcG9zdGluc3RhbGxfY21k
cyBwb3N0dW5pbnN0YWxsX2NtZHMgZmluaXNoX2NtZHMgc3lzX2xpYl9zZWFy
Y2hfcGF0aF9zcGVjIHN5c19saWJfZGxzZWFyY2hfcGF0aF9zcGVjIHJlbG9h
ZF9jbWRzX0NYWCByZWxvYWRfY21kc19GNzcgcmVsb2FkX2NtZHNfRkMgcmVs
b2FkX2NtZHNfR08gcmVsb2FkX2NtZHNfR0NKIHJlbG9hZF9jbWRzX1JDIG9s
ZF9hcmNoaXZlX2NtZHNfQ1hYIG9sZF9hcmNoaXZlX2NtZHNfRjc3IG9sZF9h
cmNoaXZlX2NtZHNfRkMgb2xkX2FyY2hpdmVfY21kc19HTyBvbGRfYXJjaGl2
ZV9jbWRzX0dDSiBvbGRfYXJjaGl2ZV9jbWRzX1JDIG9sZF9hcmNoaXZlX2Zy
b21fbmV3X2NtZHNfQ1hYIG9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHNfRjc3
IG9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHNfRkMgb2xkX2FyY2hpdmVfZnJv
bV9uZXdfY21kc19HTyBvbGRfYXJjaGl2ZV9mcm9tX25ld19jbWRzX0dDSiBv
bGRfYXJjaGl2ZV9mcm9tX25ld19jbWRzX1JDIG9sZF9hcmNoaXZlX2Zyb21f
ZXhwc3ltc19jbWRzX0NYWCBvbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21k
c19GNzcgb2xkX2FyY2hpdmVfZnJvbV9leHBzeW1zX2NtZHNfRkMgb2xkX2Fy
Y2hpdmVfZnJvbV9leHBzeW1zX2NtZHNfR08gb2xkX2FyY2hpdmVfZnJvbV9l
eHBzeW1zX2NtZHNfR0NKIG9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRz
X1JDIGFyY2hpdmVfY21kc19DWFggYXJjaGl2ZV9jbWRzX0Y3NyBhcmNoaXZl
X2NtZHNfRkMgYXJjaGl2ZV9jbWRzX0dPIGFyY2hpdmVfY21kc19HQ0ogYXJj
aGl2ZV9jbWRzX1JDIGFyY2hpdmVfZXhwc3ltX2NtZHNfQ1hYIGFyY2hpdmVf
ZXhwc3ltX2NtZHNfRjc3IGFyY2hpdmVfZXhwc3ltX2NtZHNfRkMgYXJjaGl2
ZV9leHBzeW1fY21kc19HTyBhcmNoaXZlX2V4cHN5bV9jbWRzX0dDSiBhcmNo
aXZlX2V4cHN5bV9jbWRzX1JDIG1vZHVsZV9jbWRzX0NYWCBtb2R1bGVfY21k
c19GNzcgbW9kdWxlX2NtZHNfRkMgbW9kdWxlX2NtZHNfR08gbW9kdWxlX2Nt
ZHNfR0NKIG1vZHVsZV9jbWRzX1JDIG1vZHVsZV9leHBzeW1fY21kc19DWFgg
bW9kdWxlX2V4cHN5bV9jbWRzX0Y3NyBtb2R1bGVfZXhwc3ltX2NtZHNfRkMg
bW9kdWxlX2V4cHN5bV9jbWRzX0dPIG1vZHVsZV9leHBzeW1fY21kc19HQ0og
bW9kdWxlX2V4cHN5bV9jbWRzX1JDIGV4cG9ydF9zeW1ib2xzX2NtZHNfQ1hY
IGV4cG9ydF9zeW1ib2xzX2NtZHNfRjc3IGV4cG9ydF9zeW1ib2xzX2NtZHNf
RkMgZXhwb3J0X3N5bWJvbHNfY21kc19HTyBleHBvcnRfc3ltYm9sc19jbWRz
X0dDSiBleHBvcnRfc3ltYm9sc19jbWRzX1JDIHByZWxpbmtfY21kc19DWFgg
cHJlbGlua19jbWRzX0Y3NyBwcmVsaW5rX2NtZHNfRkMgcHJlbGlua19jbWRz
X0dPIHByZWxpbmtfY21kc19HQ0ogcHJlbGlua19jbWRzX1JDIHBvc3RsaW5r
X2NtZHNfQ1hYIHBvc3RsaW5rX2NtZHNfRjc3IHBvc3RsaW5rX2NtZHNfRkMg
cG9zdGxpbmtfY21kc19HTyBwb3N0bGlua19jbWRzX0dDSiBwb3N0bGlua19j
bWRzX1JDOyBkbwogICAgY2FzZSBgZXZhbCBcXCRFQ0hPIFxcIiJcXCQkdmFy
IlxcImAgaW4KICAgICpbXFxcYFwiXCRdKikKICAgICAgZXZhbCAibHRfJHZh
cj1cXFwiXGBcJEVDSE8gXCJcJCR2YXJcIiB8IFwkU0VEIC1lIFwiXCRkb3Vi
bGVfcXVvdGVfc3Vic3RcIiAtZSBcIlwkc2VkX3F1b3RlX3N1YnN0XCIgLWUg
XCJcJGRlbGF5X3ZhcmlhYmxlX3N1YnN0XCJcYFxcXCIiCiAgICAgIDs7CiAg
ICAqKQogICAgICBldmFsICJsdF8kdmFyPVxcXCJcJCR2YXJcXFwiIgogICAg
ICA7OwogICAgZXNhYwpkb25lCgphY19hdXhfZGlyPScvTWluR1cvc2hhcmUv
YXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL2xpYmx0ZGwvY29uZmlnJwp4
c2lfc2hlbGw9J3llcycKbHRfc2hlbGxfYXBwZW5kPSd5ZXMnCgojIFNlZSBp
ZiB3ZSBhcmUgcnVubmluZyBvbiB6c2gsIGFuZCBzZXQgdGhlIG9wdGlvbnMg
d2hpY2ggYWxsb3cgb3VyCiMgY29tbWFuZHMgdGhyb3VnaCB3aXRob3V0IHJl
bW92YWwgb2YgXCBlc2NhcGVzIElOSVQuCmlmIHRlc3QgLW4gIiR7WlNIX1ZF
UlNJT04rc2V0fSIgOyB0aGVuCiAgIHNldG9wdCBOT19HTE9CX1NVQlNUCmZp
CgoKICAgIFBBQ0tBR0U9J2xpYnRvb2wnCiAgICBWRVJTSU9OPScyLjQuMicK
ICAgIFRJTUVTVEFNUD0nJwogICAgUk09J3JtIC1mJwogICAgb2ZpbGU9J2xp
YnRvb2wnCgoKCgoKCgoKCgoKCgoKCgoKIyBIYW5kbGluZyBvZiBhcmd1bWVu
dHMuCmZvciBhY19jb25maWdfdGFyZ2V0IGluICRhY19jb25maWdfdGFyZ2V0
cwpkbwogIGNhc2UgJGFjX2NvbmZpZ190YXJnZXQgaW4KICAgICJjb25maWcu
aCIpIENPTkZJR19IRUFERVJTPSIkQ09ORklHX0hFQURFUlMgY29uZmlnLmg6
Y29uZmlnLWguaW4iIDs7CiAgICAidGVzdHMvYXRjb25maWciKSBDT05GSUdf
Q09NTUFORFM9IiRDT05GSUdfQ09NTUFORFMgdGVzdHMvYXRjb25maWciIDs7
CiAgICAiZGVwZmlsZXMiKSBDT05GSUdfQ09NTUFORFM9IiRDT05GSUdfQ09N
TUFORFMgZGVwZmlsZXMiIDs7CiAgICAibGlidG9vbCIpIENPTkZJR19DT01N
QU5EUz0iJENPTkZJR19DT01NQU5EUyBsaWJ0b29sIiA7OwogICAgIk1ha2Vm
aWxlIikgQ09ORklHX0ZJTEVTPSIkQ09ORklHX0ZJTEVTIE1ha2VmaWxlIiA7
OwoKICAqKSBhc19mbl9lcnJvciAkPyAiaW52YWxpZCBhcmd1bWVudDogXGAk
YWNfY29uZmlnX3RhcmdldCciICIkTElORU5PIiA1OzsKICBlc2FjCmRvbmUK
CgojIElmIHRoZSB1c2VyIGRpZCBub3QgdXNlIHRoZSBhcmd1bWVudHMgdG8g
c3BlY2lmeSB0aGUgaXRlbXMgdG8gaW5zdGFudGlhdGUsCiMgdGhlbiB0aGUg
ZW52dmFyIGludGVyZmFjZSBpcyB1c2VkLiAgU2V0IG9ubHkgdGhvc2UgdGhh
dCBhcmUgbm90LgojIFdlIHVzZSB0aGUgbG9uZyBmb3JtIGZvciB0aGUgZGVm
YXVsdCBhc3NpZ25tZW50IGJlY2F1c2Ugb2YgYW4gZXh0cmVtZWx5CiMgYml6
YXJyZSBidWcgb24gU3VuT1MgNC4xLjMuCmlmICRhY19uZWVkX2RlZmF1bHRz
OyB0aGVuCiAgdGVzdCAiJHtDT05GSUdfRklMRVMrc2V0fSIgPSBzZXQgfHwg
Q09ORklHX0ZJTEVTPSRjb25maWdfZmlsZXMKICB0ZXN0ICIke0NPTkZJR19I
RUFERVJTK3NldH0iID0gc2V0IHx8IENPTkZJR19IRUFERVJTPSRjb25maWdf
aGVhZGVycwogIHRlc3QgIiR7Q09ORklHX0NPTU1BTkRTK3NldH0iID0gc2V0
IHx8IENPTkZJR19DT01NQU5EUz0kY29uZmlnX2NvbW1hbmRzCmZpCgojIEhh
dmUgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IGZvciBjb252ZW5pZW5jZS4gIE1h
a2UgaXQgaW4gdGhlIGJ1aWxkIHRyZWUKIyBzaW1wbHkgYmVjYXVzZSB0aGVy
ZSBpcyBubyByZWFzb24gYWdhaW5zdCBoYXZpbmcgaXQgaGVyZSwgYW5kIGlu
IGFkZGl0aW9uLAojIGNyZWF0aW5nIGFuZCBtb3ZpbmcgZmlsZXMgZnJvbSAv
dG1wIGNhbiBzb21ldGltZXMgY2F1c2UgcHJvYmxlbXMuCiMgSG9vayBmb3Ig
aXRzIHJlbW92YWwgdW5sZXNzIGRlYnVnZ2luZy4KIyBOb3RlIHRoYXQgdGhl
cmUgaXMgYSBzbWFsbCB3aW5kb3cgaW4gd2hpY2ggdGhlIGRpcmVjdG9yeSB3
aWxsIG5vdCBiZSBjbGVhbmVkOgojIGFmdGVyIGl0cyBjcmVhdGlvbiBidXQg
YmVmb3JlIGl0cyBuYW1lIGhhcyBiZWVuIGFzc2lnbmVkIHRvIGAkdG1wJy4K
JGRlYnVnIHx8CnsKICB0bXA9IGFjX3RtcD0KICB0cmFwICdleGl0X3N0YXR1
cz0kPwogIDogIiR7YWNfdG1wOj0kdG1wfSIKICB7IHRlc3QgISAtZCAiJGFj
X3RtcCIgfHwgcm0gLWZyICIkYWNfdG1wIjsgfSAmJiBleGl0ICRleGl0X3N0
YXR1cwonIDAKICB0cmFwICdhc19mbl9leGl0IDEnIDEgMiAxMyAxNQp9CiMg
Q3JlYXRlIGEgKHNlY3VyZSkgdG1wIGRpcmVjdG9yeSBmb3IgdG1wIGZpbGVz
LgoKewogIHRtcD1gKHVtYXNrIDA3NyAmJiBta3RlbXAgLWQgIi4vY29uZlhY
WFhYWCIpIDI+L2Rldi9udWxsYCAmJgogIHRlc3QgLWQgIiR0bXAiCn0gIHx8
CnsKICB0bXA9Li9jb25mJCQtJFJBTkRPTQogICh1bWFzayAwNzcgJiYgbWtk
aXIgIiR0bXAiKQp9IHx8IGFzX2ZuX2Vycm9yICQ/ICJjYW5ub3QgY3JlYXRl
IGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSBpbiAuIiAiJExJTkVOTyIgNQphY190
bXA9JHRtcAoKIyBTZXQgdXAgdGhlIHNjcmlwdHMgZm9yIENPTkZJR19GSUxF
UyBzZWN0aW9uLgojIE5vIG5lZWQgdG8gZ2VuZXJhdGUgdGhlbSBpZiB0aGVy
ZSBhcmUgbm8gQ09ORklHX0ZJTEVTLgojIFRoaXMgaGFwcGVucyBmb3IgaW5z
dGFuY2Ugd2l0aCBgLi9jb25maWcuc3RhdHVzIGNvbmZpZy5oJy4KaWYgdGVz
dCAtbiAiJENPTkZJR19GSUxFUyI7IHRoZW4KCgphY19jcj1gZWNobyBYIHwg
dHIgWCAnXDAxNSdgCiMgT24gY3lnd2luLCBiYXNoIGNhbiBlYXQgXHIgaW5z
aWRlIGBgIGlmIHRoZSB1c2VyIHJlcXVlc3RlZCBpZ25jci4KIyBCdXQgd2Ug
a25vdyBvZiBubyBvdGhlciBzaGVsbCB3aGVyZSBhY19jciB3b3VsZCBiZSBl
bXB0eSBhdCB0aGlzCiMgcG9pbnQsIHNvIHdlIGNhbiB1c2UgYSBiYXNoaXNt
IGFzIGEgZmFsbGJhY2suCmlmIHRlc3QgIngkYWNfY3IiID0geDsgdGhlbgog
IGV2YWwgYWNfY3I9XCRcJ1xcclwnCmZpCmFjX2NzX2F3a19jcj1gJEFXSyAn
QkVHSU4geyBwcmludCAiYVxyYiIgfScgPC9kZXYvbnVsbCAyPi9kZXYvbnVs
bGAKaWYgdGVzdCAiJGFjX2NzX2F3a19jciIgPSAiYSR7YWNfY3J9YiI7IHRo
ZW4KICBhY19jc19hd2tfY3I9J1xccicKZWxzZQogIGFjX2NzX2F3a19jcj0k
YWNfY3IKZmkKCmVjaG8gJ0JFR0lOIHsnID4iJGFjX3RtcC9zdWJzMS5hd2si
ICYmCmNhdCA+PiIkYWNfdG1wL3N1YnMxLmF3ayIgPDxcX0FDQVdLICYmClNb
ImFtX19FWEVFWFRfRkFMU0UiXT0iIyIKU1siYW1fX0VYRUVYVF9UUlVFIl09
IiIKU1siTFRMSUJPQkpTIl09IiAke0xJQk9CSkRJUn1hcmd6JFUubG8gJHtM
SUJPQkpESVJ9bHRfX3N0cmwkVS5sbyIKU1siSEVMUDJNQU4iXT0iJHtTSEVM
TH0gL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi9s
aWJsdGRsL2NvbmZpZy9taXNzaW5nIC0tcnVuIGhlbHAybWFuIgpTWyJPUkRF
UiJdPSJ8IgpTWyJIQVZFX1JDX0ZBTFNFIl09IiMiClNbIkhBVkVfUkNfVFJV
RSJdPSIiClNbIkhBVkVfR0NKX0ZBTFNFIl09IiIKU1siSEFWRV9HQ0pfVFJV
RSJdPSIjIgpTWyJIQVZFX0ZDX0ZBTFNFIl09IiIKU1siSEFWRV9GQ19UUlVF
Il09IiMiClNbIkhBVkVfRjc3X0ZBTFNFIl09IiIKU1siSEFWRV9GNzdfVFJV
RSJdPSIjIgpTWyJIQVZFX0NYWF9GQUxTRSJdPSIjIgpTWyJIQVZFX0NYWF9U
UlVFIl09IiIKU1sidG9fdG9vbF9maWxlX2NtZCJdPSJmdW5jX2NvbnZlcnRf
ZmlsZV9tc3lzX3RvX3czMiIKU1sidG9faG9zdF9maWxlX2NtZCJdPSJmdW5j
X2NvbnZlcnRfZmlsZV9tc3lzX3RvX3czMiIKU1siUkMiXT0id2luZHJlcyIK
U1siR0NKRkxBR1MiXT0iLWcgLU8yIgpTWyJHQ0oiXT0iIgpTWyJHT0MiXT0i
IgpTWyJhY19jdF9GQyJdPSIiClNbIkZDRkxBR1MiXT0iIgpTWyJGQyJdPSIi
ClNbImFjX2N0X0Y3NyJdPSIiClNbIkZGTEFHUyJdPSIiClNbIkY3NyJdPSIi
ClNbIkNYWENQUCJdPSJnKysgLUUiClNbImFtX19mYXN0ZGVwQ1hYX0ZBTFNF
Il09IiMiClNbImFtX19mYXN0ZGVwQ1hYX1RSVUUiXT0iIgpTWyJDWFhERVBN
T0RFIl09ImRlcG1vZGU9Z2NjMyIKU1siYWNfY3RfQ1hYIl09ImcrKyIKU1si
Q1hYRkxBR1MiXT0iLWcgLU8yIgpTWyJDWFgiXT0iZysrIgpTWyJMVERMT1BF
TiJdPSJsaWJsdGRsIgpTWyJMVF9DT05GSUdfSCJdPSJjb25maWcuaCIKU1si
Q09OVkVOSUVOQ0VfTFRETF9GQUxTRSJdPSIiClNbIkNPTlZFTklFTkNFX0xU
RExfVFJVRSJdPSIjIgpTWyJJTlNUQUxMX0xURExfRkFMU0UiXT0iIyIKU1si
SU5TVEFMTF9MVERMX1RSVUUiXT0iIgpTWyJBUkdaX0giXT0iYXJnei5oIgpT
WyJMSUJPQkpTIl09IiAke0xJQk9CSkRJUn1hcmd6JFUubyAke0xJQk9CSkRJ
Un1sdF9fc3RybCRVLm8iClNbInN5c19zeW1ib2xfdW5kZXJzY29yZSJdPSJ5
ZXMiClNbIkxJQkFERF9ETCJdPSIgIgpTWyJMVF9ETFBSRU9QRU4iXT0iLWRs
cHJlb3BlbiBsaWJsdGRsL2xvYWRsaWJyYXJ5LmxhICIKU1siTElCQUREX0RM
RF9MSU5LIl09IiIKU1siTElCQUREX1NITF9MT0FEIl09IiIKU1siTElCQURE
X0RMT1BFTiJdPSIiClNbIkxUX0RMTE9BREVSUyJdPSIgbGlibHRkbC9sb2Fk
bGlicmFyeS5sYSIKU1siT1RPT0w2NCJdPSIiClNbIk9UT09MIl09IiIKU1si
TElQTyJdPSIiClNbIk5NRURJVCJdPSIiClNbIkRTWU1VVElMIl09IiIKU1si
TUFOSUZFU1RfVE9PTCJdPSI6IgpTWyJSQU5MSUIiXT0icmFubGliIgpTWyJh
Y19jdF9BUiJdPSJhciIKU1siQVIiXT0iYXIiClNbIkxOX1MiXT0iY3AgLXAi
ClNbIk5NIl09Ii9iaW4vbm0gLUIiClNbImFjX2N0X0RVTVBCSU4iXT0iIgpT
WyJEVU1QQklOIl09IiIKU1siTEQiXT0iYzovdGluZ3cvbWluZ3czMi9iaW4v
bGQuZXhlIgpTWyJGR1JFUCJdPSIvYmluL2dyZXAgLUYiClNbIkVHUkVQIl09
Ii9iaW4vZ3JlcCAtRSIKU1siR1JFUCJdPSIvYmluL2dyZXAiClNbIlNFRCJd
PSIvYmluL3NlZCIKU1siTElCVE9PTCJdPSIkKFNIRUxMKSAkKHRvcF9idWls
ZGRpcikvbGlidG9vbCIKU1siT0JKRFVNUCJdPSJvYmpkdW1wIgpTWyJETExU
T09MIl09ImRsbHRvb2wiClNbIkFTIl09ImFzIgpTWyJDUFAiXT0iZ2NjIC1F
IgpTWyJhbV9fZmFzdGRlcENDX0ZBTFNFIl09IiMiClNbImFtX19mYXN0ZGVw
Q0NfVFJVRSJdPSIiClNbIkNDREVQTU9ERSJdPSJkZXBtb2RlPWdjYzMiClNb
IkFNREVQQkFDS1NMQVNIIl09IlxcIgpTWyJBTURFUF9GQUxTRSJdPSIjIgpT
WyJBTURFUF9UUlVFIl09IiIKU1siYW1fX3F1b3RlIl09IiIKU1siYW1fX2lu
Y2x1ZGUiXT0iaW5jbHVkZSIKU1siREVQRElSIl09Ii5kZXBzIgpTWyJPQkpF
WFQiXT0ibyIKU1siRVhFRVhUIl09Ii5leGUiClNbImFjX2N0X0NDIl09Imdj
YyIKU1siQ1BQRkxBR1MiXT0iIgpTWyJMREZMQUdTIl09IiIKU1siQ0ZMQUdT
Il09Ii1nIC1PMiIKU1siQ0MiXT0iZ2NjIgpTWyJESVNUX01BS0VGSUxFX0xJ
U1QiXT0idGVzdHMvY2RlbW8vTWFrZWZpbGUgdGVzdHMvZGVtby9NYWtlZmls
ZSB0ZXN0cy9kZXBkZW1vL01ha2VmaWxlIHRlc3RzL2Y3N2RlbW8vTWFrZWZp
bGUgdGVzdHMvZmNkZW1vL01ha2VmaWxlIHRlc3RzL21kZW1vL01ha2VmaWxl
IHRlc3RzL21kZW1vMi9NYWtlZiJcCiJpbGUgdGVzdHMvcGRlbW8vTWFrZWZp
bGUgdGVzdHMvdGFnZGVtby9NYWtlZmlsZSAiClNbIkNPTkZfU1VCRElSUyJd
PSJ0ZXN0cy9jZGVtbyB0ZXN0cy9kZW1vIHRlc3RzL2RlcGRlbW8gdGVzdHMv
Zjc3ZGVtbyB0ZXN0cy9mY2RlbW8gCXRlc3RzL21kZW1vIHRlc3RzL21kZW1v
MiB0ZXN0cy9wZGVtbyB0ZXN0cy90YWdkZW1vIgpTWyJwa2dkYXRhZGlyIl09
IiR7ZGF0YWRpcn0vbGlidG9vbCIKU1siYWNsb2NhbGRpciJdPSIke2RhdGFk
aXJ9L2FjbG9jYWwiClNbIkNPTkZJR19TVEFUVVNfREVQRU5ERU5DSUVTIl09
IiQodG9wX3NyY2RpcikvQ2hhbmdlTG9nIgpTWyJNNFNIIl09IiQoQVVUT000
VEUpIC0tbGFuZ3VhZ2U9bTRzaCIKU1siaG9zdF9vcyJdPSJtaW5ndzMyIgpT
WyJob3N0X3ZlbmRvciJdPSJwYyIKU1siaG9zdF9jcHUiXT0iaTY4NiIKU1si
aG9zdCJdPSJpNjg2LXBjLW1pbmd3MzIiClNbImJ1aWxkX29zIl09Im1pbmd3
MzIiClNbImJ1aWxkX3ZlbmRvciJdPSJwYyIKU1siYnVpbGRfY3B1Il09Imk2
ODYiClNbImJ1aWxkIl09Imk2ODYtcGMtbWluZ3czMiIKU1siYW1fX3VudGFy
Il09IiR7QU1UQVJ9IHhmIC0iClNbImFtX190YXIiXT0iJHtBTVRBUn0gY2hv
ZiAtIFwiJCR0YXJkaXJcIiIKU1siQU1UQVIiXT0iJHtTSEVMTH0gL01pbkdX
L3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi9saWJsdGRsL2Nv
bmZpZy9taXNzaW5nIC0tcnVuIHRhciIKU1siYW1fX2xlYWRpbmdfZG90Il09
Ii4iClNbIlNFVF9NQUtFIl09IiIKU1siQVdLIl09Imdhd2siClNbIm1rZGly
X3AiXT0iL2Jpbi9ta2RpciAtcCIKU1siTUtESVJfUCJdPSIvYmluL21rZGly
IC1wIgpTWyJJTlNUQUxMX1NUUklQX1BST0dSQU0iXT0iJChpbnN0YWxsX3No
KSAtYyAtcyIKU1siU1RSSVAiXT0ic3RyaXAiClNbImluc3RhbGxfc2giXT0i
JHtTSEVMTH0gL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0y
LjQuMi9saWJsdGRsL2NvbmZpZy9pbnN0YWxsLXNoIgpTWyJNQUtFSU5GTyJd
PSIke1NIRUxMfSAvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29s
LTIuNC4yL2xpYmx0ZGwvY29uZmlnL21pc3NpbmcgLS1ydW4gbWFrZWluZm8i
ClNbIkFVVE9IRUFERVIiXT0iJHtTSEVMTH0gL01pbkdXL3NoYXJlL2F1dG9t
YWtlLTEuMTEvbGlidG9vbC0yLjQuMi9saWJsdGRsL2NvbmZpZy9taXNzaW5n
IC0tcnVuIGF1dG9oZWFkZXIiClNbIkFVVE9NQUtFIl09IiR7U0hFTEx9IC9N
aW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvbGlibHRk
bC9jb25maWcvbWlzc2luZyAtLXJ1biBhdXRvbWFrZS0xLjExIgpTWyJBVVRP
Q09ORiJdPSIke1NIRUxMfSAvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9s
aWJ0b29sLTIuNC4yL2xpYmx0ZGwvY29uZmlnL21pc3NpbmcgLS1ydW4gYXV0
b2NvbmYiClNbIkFDTE9DQUwiXT0iJHtTSEVMTH0gL01pbkdXL3NoYXJlL2F1
dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi9saWJsdGRsL2NvbmZpZy9taXNz
aW5nIC0tcnVuIGFjbG9jYWwtMS4xMSIKU1siVkVSU0lPTiJdPSIyLjQuMiIK
U1siUEFDS0FHRSJdPSJsaWJ0b29sIgpTWyJDWUdQQVRIX1ciXT0iZWNobyIK
U1siYW1fX2lzcmMiXT0iIC1JJChzcmNkaXIpIgpTWyJJTlNUQUxMX0RBVEEi
XT0iJHtJTlNUQUxMfSAtbSA2NDQiClNbIklOU1RBTExfU0NSSVBUIl09IiR7
SU5TVEFMTH0iClNbIklOU1RBTExfUFJPR1JBTSJdPSIke0lOU1RBTEx9IgpT
WyJwYWNrYWdlX3JldmlzaW9uIl09IjEuMzMzNyIKU1siVElNRVNUQU1QIl09
IiIKU1siTEFTVFJFTEVBU0UiXT0iMi40LjEiClNbIkFVVE9URVNUIl09IiQo
QVVUT000VEUpIC0tbGFuZ3VhZ2U9YXV0b3Rlc3QiClNbIkFVVE9NNFRFIl09
ImF1dG9tNHRlIgpTWyJ0YXJnZXRfYWxpYXMiXT0iIgpTWyJob3N0X2FsaWFz
Il09IiIKU1siYnVpbGRfYWxpYXMiXT0iIgpTWyJMSUJTIl09IiIKU1siRUNI
T19UIl09IiIKU1siRUNIT19OIl09Ii1uIgpTWyJFQ0hPX0MiXT0iIgpTWyJE
RUZTIl09Ii1ESEFWRV9DT05GSUdfSCIKU1sibWFuZGlyIl09IiR7ZGF0YXJv
b3RkaXJ9L21hbiIKU1sibG9jYWxlZGlyIl09IiR7ZGF0YXJvb3RkaXJ9L2xv
Y2FsZSIKU1sibGliZGlyIl09IiR7ZXhlY19wcmVmaXh9L2xpYiIKU1sicHNk
aXIiXT0iJHtkb2NkaXJ9IgpTWyJwZGZkaXIiXT0iJHtkb2NkaXJ9IgpTWyJk
dmlkaXIiXT0iJHtkb2NkaXJ9IgpTWyJodG1sZGlyIl09IiR7ZG9jZGlyfSIK
U1siaW5mb2RpciJdPSIke2RhdGFyb290ZGlyfS9pbmZvIgpTWyJkb2NkaXIi
XT0iJHtkYXRhcm9vdGRpcn0vZG9jLyR7UEFDS0FHRV9UQVJOQU1FfSIKU1si
b2xkaW5jbHVkZWRpciJdPSIvdXNyL2luY2x1ZGUiClNbImluY2x1ZGVkaXIi
XT0iJHtwcmVmaXh9L2luY2x1ZGUiClNbImxvY2Fsc3RhdGVkaXIiXT0iJHtw
cmVmaXh9L3ZhciIKU1sic2hhcmVkc3RhdGVkaXIiXT0iJHtwcmVmaXh9L2Nv
bSIKU1sic3lzY29uZmRpciJdPSIke3ByZWZpeH0vZXRjIgpTWyJkYXRhZGly
Il09IiR7ZGF0YXJvb3RkaXJ9IgpTWyJkYXRhcm9vdGRpciJdPSIke3ByZWZp
eH0vc2hhcmUiClNbImxpYmV4ZWNkaXIiXT0iJHtleGVjX3ByZWZpeH0vbGli
ZXhlYyIKU1sic2JpbmRpciJdPSIke2V4ZWNfcHJlZml4fS9zYmluIgpTWyJi
aW5kaXIiXT0iJHtleGVjX3ByZWZpeH0vYmluIgpTWyJwcm9ncmFtX3RyYW5z
Zm9ybV9uYW1lIl09InMseCx4LCIKU1sicHJlZml4Il09Ii91c3IvbG9jYWwi
ClNbImV4ZWNfcHJlZml4Il09IiR7cHJlZml4fSIKU1siUEFDS0FHRV9VUkwi
XT0iaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYnRvb2wvIgpTWyJQ
QUNLQUdFX0JVR1JFUE9SVCJdPSJidWctbGlidG9vbEBnbnUub3JnIgpTWyJQ
QUNLQUdFX1NUUklORyJdPSJHTlUgTGlidG9vbCAyLjQuMiIKU1siUEFDS0FH
RV9WRVJTSU9OIl09IjIuNC4yIgpTWyJQQUNLQUdFX1RBUk5BTUUiXT0ibGli
dG9vbCIKU1siUEFDS0FHRV9OQU1FIl09IkdOVSBMaWJ0b29sIgpTWyJQQVRI
X1NFUEFSQVRPUiJdPSI6IgpTWyJTSEVMTCJdPSIvYmluL3NoIgpfQUNBV0sK
Y2F0ID4+IiRhY190bXAvc3ViczEuYXdrIiA8PF9BQ0FXSyAmJgogIGZvciAo
a2V5IGluIFMpIFNfaXNfc2V0W2tleV0gPSAxCiAgRlMgPSAiByIKCn0Kewog
IGxpbmUgPSAkIDAKICBuZmllbGRzID0gc3BsaXQobGluZSwgZmllbGQsICJA
IikKICBzdWJzdGVkID0gMAogIGxlbiA9IGxlbmd0aChmaWVsZFsxXSkKICBm
b3IgKGkgPSAyOyBpIDwgbmZpZWxkczsgaSsrKSB7CiAgICBrZXkgPSBmaWVs
ZFtpXQogICAga2V5bGVuID0gbGVuZ3RoKGtleSkKICAgIGlmIChTX2lzX3Nl
dFtrZXldKSB7CiAgICAgIHZhbHVlID0gU1trZXldCiAgICAgIGxpbmUgPSBz
dWJzdHIobGluZSwgMSwgbGVuKSAiIiB2YWx1ZSAiIiBzdWJzdHIobGluZSwg
bGVuICsga2V5bGVuICsgMykKICAgICAgbGVuICs9IGxlbmd0aCh2YWx1ZSkg
KyBsZW5ndGgoZmllbGRbKytpXSkKICAgICAgc3Vic3RlZCA9IDEKICAgIH0g
ZWxzZQogICAgICBsZW4gKz0gMSArIGtleWxlbgogIH0KCiAgcHJpbnQgbGlu
ZQp9CgpfQUNBV0sKaWYgc2VkICJzLyRhY19jci8vIiA8IC9kZXYvbnVsbCA+
IC9kZXYvbnVsbCAyPiYxOyB0aGVuCiAgc2VkICJzLyRhY19jclwkLy87IHMv
JGFjX2NyLyRhY19jc19hd2tfY3IvZyIKZWxzZQogIGNhdApmaSA8ICIkYWNf
dG1wL3N1YnMxLmF3ayIgPiAiJGFjX3RtcC9zdWJzLmF3ayIgXAogIHx8IGFz
X2ZuX2Vycm9yICQ/ICJjb3VsZCBub3Qgc2V0dXAgY29uZmlnIGZpbGVzIG1h
Y2hpbmVyeSIgIiRMSU5FTk8iIDUKZmkgIyB0ZXN0IC1uICIkQ09ORklHX0ZJ
TEVTIgoKIyBTZXQgdXAgdGhlIHNjcmlwdHMgZm9yIENPTkZJR19IRUFERVJT
IHNlY3Rpb24uCiMgTm8gbmVlZCB0byBnZW5lcmF0ZSB0aGVtIGlmIHRoZXJl
IGFyZSBubyBDT05GSUdfSEVBREVSUy4KIyBUaGlzIGhhcHBlbnMgZm9yIGlu
c3RhbmNlIHdpdGggYC4vY29uZmlnLnN0YXR1cyBNYWtlZmlsZScuCmlmIHRl
c3QgLW4gIiRDT05GSUdfSEVBREVSUyI7IHRoZW4KY2F0ID4iJGFjX3RtcC9k
ZWZpbmVzLmF3ayIgPDxcX0FDQVdLIHx8CkJFR0lOIHsKRFsiUEFDS0FHRV9O
QU1FIl09IiBcIkdOVSBMaWJ0b29sXCIiCkRbIlBBQ0tBR0VfVEFSTkFNRSJd
PSIgXCJsaWJ0b29sXCIiCkRbIlBBQ0tBR0VfVkVSU0lPTiJdPSIgXCIyLjQu
MlwiIgpEWyJQQUNLQUdFX1NUUklORyJdPSIgXCJHTlUgTGlidG9vbCAyLjQu
MlwiIgpEWyJQQUNLQUdFX0JVR1JFUE9SVCJdPSIgXCJidWctbGlidG9vbEBn
bnUub3JnXCIiCkRbIlBBQ0tBR0VfVVJMIl09IiBcImh0dHA6Ly93d3cuZ251
Lm9yZy9zb2Z0d2FyZS9saWJ0b29sL1wiIgpEWyJQQUNLQUdFIl09IiBcImxp
YnRvb2xcIiIKRFsiVkVSU0lPTiJdPSIgXCIyLjQuMlwiIgpEWyJTVERDX0hF
QURFUlMiXT0iIDEiCkRbIkhBVkVfU1lTX1RZUEVTX0giXT0iIDEiCkRbIkhB
VkVfU1lTX1NUQVRfSCJdPSIgMSIKRFsiSEFWRV9TVERMSUJfSCJdPSIgMSIK
RFsiSEFWRV9TVFJJTkdfSCJdPSIgMSIKRFsiSEFWRV9NRU1PUllfSCJdPSIg
MSIKRFsiSEFWRV9TVFJJTkdTX0giXT0iIDEiCkRbIkhBVkVfSU5UVFlQRVNf
SCJdPSIgMSIKRFsiSEFWRV9TVERJTlRfSCJdPSIgMSIKRFsiSEFWRV9VTklT
VERfSCJdPSIgMSIKRFsiTFRfT0JKRElSIl09IiBcIi5saWJzL1wiIgpEWyJM
VF9NT0RVTEVfRVhUIl09IiBcIi5kbGxcIiIKRFsiTFRfTU9EVUxFX1BBVEhf
VkFSIl09IiBcIlBBVEhcIiIKRFsiTFRfRExTRUFSQ0hfUEFUSCJdPSIgXCIv
bGliOi91c3IvbGliXCIiCkRbIkhBVkVfREVDTF9DWUdXSU5fQ09OVl9QQVRI
Il09IiAwIgpEWyJIQVZFX0xJQkRMTE9BREVSIl09IiAxIgpEWyJMVERMX0RM
T1BFTl9ERVBMSUJTIl09IiAxIgpEWyJlcnJvcl90Il09IiBpbnQiCkRbIl9f
ZXJyb3JfdF9kZWZpbmVkIl09IiAxIgpEWyJIQVZFX1BSRUxPQURFRF9TWU1C
T0xTIl09IiAxIgpEWyJIQVZFX1VOSVNURF9IIl09IiAxIgpEWyJIQVZFX0RJ
UkVOVF9IIl09IiAxIgpEWyJIQVZFX0NMT1NFRElSIl09IiAxIgpEWyJIQVZF
X09QRU5ESVIiXT0iIDEiCkRbIkhBVkVfUkVBRERJUiJdPSIgMSIKRFsiTFRf
TElCRVhUIl09IiBcImFcIiIKRFsiTFRfTElCUFJFRklYIl09IiBcImxpYlwi
IgogIGZvciAoa2V5IGluIEQpIERfaXNfc2V0W2tleV0gPSAxCiAgRlMgPSAi
ByIKfQovXltcdCBdKiNbXHQgXSooZGVmaW5lfHVuZGVmKVtcdCBdK1tfYWJj
ZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVW
V1hZWl1bX2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktM
TU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5XSooW1x0IChdfCQpLyB7CiAgbGlu
ZSA9ICQgMAogIHNwbGl0KGxpbmUsIGFyZywgIiAiKQogIGlmIChhcmdbMV0g
PT0gIiMiKSB7CiAgICBkZWZ1bmRlZiA9IGFyZ1syXQogICAgbWFjMSA9IGFy
Z1szXQogIH0gZWxzZSB7CiAgICBkZWZ1bmRlZiA9IHN1YnN0cihhcmdbMV0s
IDIpCiAgICBtYWMxID0gYXJnWzJdCiAgfQogIHNwbGl0KG1hYzEsIG1hYzIs
ICIoIikgIykKICBtYWNybyA9IG1hYzJbMV0KICBwcmVmaXggPSBzdWJzdHIo
bGluZSwgMSwgaW5kZXgobGluZSwgZGVmdW5kZWYpIC0gMSkKICBpZiAoRF9p
c19zZXRbbWFjcm9dKSB7CiAgICAjIFByZXNlcnZlIHRoZSB3aGl0ZSBzcGFj
ZSBzdXJyb3VuZGluZyB0aGUgIiMiLgogICAgcHJpbnQgcHJlZml4ICJkZWZp
bmUiLCBtYWNybyBQW21hY3JvXSBEW21hY3JvXQogICAgbmV4dAogIH0gZWxz
ZSB7CiAgICAjIFJlcGxhY2UgI3VuZGVmIHdpdGggY29tbWVudHMuICBUaGlz
IGlzIG5lY2Vzc2FyeSwgZm9yIGV4YW1wbGUsCiAgICAjIGluIHRoZSBjYXNl
IG9mIF9QT1NJWF9TT1VSQ0UsIHdoaWNoIGlzIHByZWRlZmluZWQgYW5kIHJl
cXVpcmVkCiAgICAjIG9uIHNvbWUgc3lzdGVtcyB3aGVyZSBjb25maWd1cmUg
d2lsbCBub3QgZGVjaWRlIHRvIGRlZmluZSBpdC4KICAgIGlmIChkZWZ1bmRl
ZiA9PSAidW5kZWYiKSB7CiAgICAgIHByaW50ICIvKiIsIHByZWZpeCBkZWZ1
bmRlZiwgbWFjcm8sICIqLyIKICAgICAgbmV4dAogICAgfQogIH0KfQp7IHBy
aW50IH0KX0FDQVdLCiAgYXNfZm5fZXJyb3IgJD8gImNvdWxkIG5vdCBzZXR1
cCBjb25maWcgaGVhZGVycyBtYWNoaW5lcnkiICIkTElORU5PIiA1CmZpICMg
dGVzdCAtbiAiJENPTkZJR19IRUFERVJTIgoKCmV2YWwgc2V0IFggIiAgOkYg
JENPTkZJR19GSUxFUyAgOkggJENPTkZJR19IRUFERVJTICAgIDpDICRDT05G
SUdfQ09NTUFORFMiCnNoaWZ0CmZvciBhY190YWcKZG8KICBjYXNlICRhY190
YWcgaW4KICA6W0ZITENdKSBhY19tb2RlPSRhY190YWc7IGNvbnRpbnVlOzsK
ICBlc2FjCiAgY2FzZSAkYWNfbW9kZSRhY190YWcgaW4KICA6W0ZITF0qOiop
OzsKICA6TCogfCA6Qyo6KikgYXNfZm5fZXJyb3IgJD8gImludmFsaWQgdGFn
IFxgJGFjX3RhZyciICIkTElORU5PIiA1OzsKICA6W0ZIXS0pIGFjX3RhZz0t
Oi07OwogIDpbRkhdKikgYWNfdGFnPSRhY190YWc6JGFjX3RhZy5pbjs7CiAg
ZXNhYwogIGFjX3NhdmVfSUZTPSRJRlMKICBJRlM9OgogIHNldCB4ICRhY190
YWcKICBJRlM9JGFjX3NhdmVfSUZTCiAgc2hpZnQKICBhY19maWxlPSQxCiAg
c2hpZnQKCiAgY2FzZSAkYWNfbW9kZSBpbgogIDpMKSBhY19zb3VyY2U9JDE7
OwogIDpbRkhdKQogICAgYWNfZmlsZV9pbnB1dHM9CiAgICBmb3IgYWNfZgog
ICAgZG8KICAgICAgY2FzZSAkYWNfZiBpbgogICAgICAtKSBhY19mPSIkYWNf
dG1wL3N0ZGluIjs7CiAgICAgICopICMgTG9vayBmb3IgdGhlIGZpbGUgZmly
c3QgaW4gdGhlIGJ1aWxkIHRyZWUsIHRoZW4gaW4gdGhlIHNvdXJjZSB0cmVl
CgkgIyAoaWYgdGhlIHBhdGggaXMgbm90IGFic29sdXRlKS4gIFRoZSBhYnNv
bHV0ZSBwYXRoIGNhbm5vdCBiZSBET1Mtc3R5bGUsCgkgIyBiZWNhdXNlICRh
Y19mIGNhbm5vdCBjb250YWluIGA6Jy4KCSB0ZXN0IC1mICIkYWNfZiIgfHwK
CSAgIGNhc2UgJGFjX2YgaW4KCSAgIFtcXC8kXSopIGZhbHNlOzsKCSAgICop
IHRlc3QgLWYgIiRzcmNkaXIvJGFjX2YiICYmIGFjX2Y9IiRzcmNkaXIvJGFj
X2YiOzsKCSAgIGVzYWMgfHwKCSAgIGFzX2ZuX2Vycm9yIDEgImNhbm5vdCBm
aW5kIGlucHV0IGZpbGU6IFxgJGFjX2YnIiAiJExJTkVOTyIgNTs7CiAgICAg
IGVzYWMKICAgICAgY2FzZSAkYWNfZiBpbiAqXCcqKSBhY19mPWAkYXNfZWNo
byAiJGFjX2YiIHwgc2VkICJzLycvJ1xcXFxcXFxcJycvZyJgOzsgZXNhYwog
ICAgICBhc19mbl9hcHBlbmQgYWNfZmlsZV9pbnB1dHMgIiAnJGFjX2YnIgog
ICAgZG9uZQoKICAgICMgTGV0J3Mgc3RpbGwgcHJldGVuZCBpdCBpcyBgY29u
ZmlndXJlJyB3aGljaCBpbnN0YW50aWF0ZXMgKGkuZS4sIGRvbid0CiAgICAj
IHVzZSAkYXNfbWUpLCBwZW9wbGUgd291bGQgYmUgc3VycHJpc2VkIHRvIHJl
YWQ6CiAgICAjICAgIC8qIGNvbmZpZy5oLiAgR2VuZXJhdGVkIGJ5IGNvbmZp
Zy5zdGF0dXMuICAqLwogICAgY29uZmlndXJlX2lucHV0PSdHZW5lcmF0ZWQg
ZnJvbSAnYAoJICAkYXNfZWNobyAiJCoiIHwgc2VkICdzfF5bXjpdKi98fDtz
fDpbXjpdKi98LCB8ZycKCWAnIGJ5IGNvbmZpZ3VyZS4nCiAgICBpZiB0ZXN0
IHgiJGFjX2ZpbGUiICE9IHgtOyB0aGVuCiAgICAgIGNvbmZpZ3VyZV9pbnB1
dD0iJGFjX2ZpbGUuICAkY29uZmlndXJlX2lucHV0IgogICAgICB7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNyZWF0aW5nICRh
Y19maWxlIiA+JjUKJGFzX2VjaG8gIiRhc19tZTogY3JlYXRpbmcgJGFjX2Zp
bGUiID4mNjt9CiAgICBmaQogICAgIyBOZXV0cmFsaXplIHNwZWNpYWwgY2hh
cmFjdGVycyBpbnRlcnByZXRlZCBieSBzZWQgaW4gcmVwbGFjZW1lbnQgc3Ry
aW5ncy4KICAgIGNhc2UgJGNvbmZpZ3VyZV9pbnB1dCBpbiAjKAogICAgKlwm
KiB8ICpcfCogfCAqXFwqICkKICAgICAgIGFjX3NlZF9jb25mX2lucHV0PWAk
YXNfZWNobyAiJGNvbmZpZ3VyZV9pbnB1dCIgfAogICAgICAgc2VkICdzL1tc
XFxcJnxdL1xcXFwmL2cnYDs7ICMoCiAgICAqKSBhY19zZWRfY29uZl9pbnB1
dD0kY29uZmlndXJlX2lucHV0OzsKICAgIGVzYWMKCiAgICBjYXNlICRhY190
YWcgaW4KICAgICo6LToqIHwgKjotKSBjYXQgPiIkYWNfdG1wL3N0ZGluIiBc
CiAgICAgIHx8IGFzX2ZuX2Vycm9yICQ/ICJjb3VsZCBub3QgY3JlYXRlICRh
Y19maWxlIiAiJExJTkVOTyIgNSA7OwogICAgZXNhYwogICAgOzsKICBlc2Fj
CgogIGFjX2Rpcj1gJGFzX2Rpcm5hbWUgLS0gIiRhY19maWxlIiB8fAokYXNf
ZXhwciBYIiRhY19maWxlIiA6ICdYXCguKlteL11cKS8vKlteL11bXi9dKi8q
JCcgXHwgXAoJIFgiJGFjX2ZpbGUiIDogJ1hcKC8vXClbXi9dJyBcfCBcCgkg
WCIkYWNfZmlsZSIgOiAnWFwoLy9cKSQnIFx8IFwKCSBYIiRhY19maWxlIiA6
ICdYXCgvXCknIFx8IC4gMj4vZGV2L251bGwgfHwKJGFzX2VjaG8gWCIkYWNf
ZmlsZSIgfAogICAgc2VkICcvXlhcKC4qW14vXVwpXC9cLypbXi9dW14vXSpc
LyokL3sKCSAgICBzLy9cMS8KCSAgICBxCgkgIH0KCSAgL15YXChcL1wvXClb
Xi9dLiovewoJICAgIHMvL1wxLwoJICAgIHEKCSAgfQoJICAvXlhcKFwvXC9c
KSQvewoJICAgIHMvL1wxLwoJICAgIHEKCSAgfQoJICAvXlhcKFwvXCkuKi97
CgkgICAgcy8vXDEvCgkgICAgcQoJICB9CgkgIHMvLiovLi87IHEnYAogIGFz
X2Rpcj0iJGFjX2RpciI7IGFzX2ZuX21rZGlyX3AKICBhY19idWlsZGRpcj0u
CgpjYXNlICIkYWNfZGlyIiBpbgouKSBhY19kaXJfc3VmZml4PSBhY190b3Bf
YnVpbGRkaXJfc3ViPS4gYWNfdG9wX2J1aWxkX3ByZWZpeD0gOzsKKikKICBh
Y19kaXJfc3VmZml4PS9gJGFzX2VjaG8gIiRhY19kaXIiIHwgc2VkICdzfF5c
LltcXC9dfHwnYAogICMgQSAiLi4iIGZvciBlYWNoIGRpcmVjdG9yeSBpbiAk
YWNfZGlyX3N1ZmZpeC4KICBhY190b3BfYnVpbGRkaXJfc3ViPWAkYXNfZWNo
byAiJGFjX2Rpcl9zdWZmaXgiIHwgc2VkICdzfC9bXlxcL10qfC8uLnxnO3N8
L3x8J2AKICBjYXNlICRhY190b3BfYnVpbGRkaXJfc3ViIGluCiAgIiIpIGFj
X3RvcF9idWlsZGRpcl9zdWI9LiBhY190b3BfYnVpbGRfcHJlZml4PSA7Owog
ICopICBhY190b3BfYnVpbGRfcHJlZml4PSRhY190b3BfYnVpbGRkaXJfc3Vi
LyA7OwogIGVzYWMgOzsKZXNhYwphY19hYnNfdG9wX2J1aWxkZGlyPSRhY19w
d2QKYWNfYWJzX2J1aWxkZGlyPSRhY19wd2QkYWNfZGlyX3N1ZmZpeAojIGZv
ciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5OgphY190b3BfYnVpbGRkaXI9JGFj
X3RvcF9idWlsZF9wcmVmaXgKCmNhc2UgJHNyY2RpciBpbgogIC4pICAjIFdl
IGFyZSBidWlsZGluZyBpbiBwbGFjZS4KICAgIGFjX3NyY2Rpcj0uCiAgICBh
Y190b3Bfc3JjZGlyPSRhY190b3BfYnVpbGRkaXJfc3ViCiAgICBhY19hYnNf
dG9wX3NyY2Rpcj0kYWNfcHdkIDs7CiAgW1xcL10qIHwgPzpbXFwvXSogKSAg
IyBBYnNvbHV0ZSBuYW1lLgogICAgYWNfc3JjZGlyPSRzcmNkaXIkYWNfZGly
X3N1ZmZpeDsKICAgIGFjX3RvcF9zcmNkaXI9JHNyY2RpcgogICAgYWNfYWJz
X3RvcF9zcmNkaXI9JHNyY2RpciA7OwogICopICMgUmVsYXRpdmUgbmFtZS4K
ICAgIGFjX3NyY2Rpcj0kYWNfdG9wX2J1aWxkX3ByZWZpeCRzcmNkaXIkYWNf
ZGlyX3N1ZmZpeAogICAgYWNfdG9wX3NyY2Rpcj0kYWNfdG9wX2J1aWxkX3By
ZWZpeCRzcmNkaXIKICAgIGFjX2Fic190b3Bfc3JjZGlyPSRhY19wd2QvJHNy
Y2RpciA7Owplc2FjCmFjX2Fic19zcmNkaXI9JGFjX2Fic190b3Bfc3JjZGly
JGFjX2Rpcl9zdWZmaXgKCgogIGNhc2UgJGFjX21vZGUgaW4KICA6RikKICAj
CiAgIyBDT05GSUdfRklMRQogICMKCiAgY2FzZSAkSU5TVEFMTCBpbgogIFtc
XC8kXSogfCA/OltcXC9dKiApIGFjX0lOU1RBTEw9JElOU1RBTEwgOzsKICAq
KSBhY19JTlNUQUxMPSRhY190b3BfYnVpbGRfcHJlZml4JElOU1RBTEwgOzsK
ICBlc2FjCiAgYWNfTUtESVJfUD0kTUtESVJfUAogIGNhc2UgJE1LRElSX1Ag
aW4KICBbXFwvJF0qIHwgPzpbXFwvXSogKSA7OwogICovKikgYWNfTUtESVJf
UD0kYWNfdG9wX2J1aWxkX3ByZWZpeCRNS0RJUl9QIDs7CiAgZXNhYwojIElm
IHRoZSB0ZW1wbGF0ZSBkb2VzIG5vdCBrbm93IGFib3V0IGRhdGFyb290ZGly
LCBleHBhbmQgaXQuCiMgRklYTUU6IFRoaXMgaGFjayBzaG91bGQgYmUgcmVt
b3ZlZCBhIGZldyB5ZWFycyBhZnRlciAyLjYwLgphY19kYXRhcm9vdGRpcl9o
YWNrPTsgYWNfZGF0YXJvb3RkaXJfc2Vlbj0KYWNfc2VkX2RhdGFyb290PScK
L2RhdGFyb290ZGlyLyB7CiAgcAogIHEKfQovQGRhdGFkaXJAL3AKL0Bkb2Nk
aXJAL3AKL0BpbmZvZGlyQC9wCi9AbG9jYWxlZGlyQC9wCi9AbWFuZGlyQC9w
JwpjYXNlIGBldmFsICJzZWQgLW4gXCJcJGFjX3NlZF9kYXRhcm9vdFwiICRh
Y19maWxlX2lucHV0cyJgIGluCipkYXRhcm9vdGRpciopIGFjX2RhdGFyb290
ZGlyX3NlZW49eWVzOzsKKkBkYXRhZGlyQCp8KkBkb2NkaXJAKnwqQGluZm9k
aXJAKnwqQGxvY2FsZWRpckAqfCpAbWFuZGlyQCopCiAgeyAkYXNfZWNobyAi
JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiAkYWNfZmls
ZV9pbnB1dHMgc2VlbXMgdG8gaWdub3JlIHRoZSAtLWRhdGFyb290ZGlyIHNl
dHRpbmciID4mNQokYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiAkYWNfZmls
ZV9pbnB1dHMgc2VlbXMgdG8gaWdub3JlIHRoZSAtLWRhdGFyb290ZGlyIHNl
dHRpbmciID4mMjt9CiAgYWNfZGF0YXJvb3RkaXJfaGFjaz0nCiAgcyZAZGF0
YWRpckAmJHtkYXRhcm9vdGRpcn0mZwogIHMmQGRvY2RpckAmJHtkYXRhcm9v
dGRpcn0vZG9jLyR7UEFDS0FHRV9UQVJOQU1FfSZnCiAgcyZAaW5mb2RpckAm
JHtkYXRhcm9vdGRpcn0vaW5mbyZnCiAgcyZAbG9jYWxlZGlyQCYke2RhdGFy
b290ZGlyfS9sb2NhbGUmZwogIHMmQG1hbmRpckAmJHtkYXRhcm9vdGRpcn0v
bWFuJmcKICBzJlwke2RhdGFyb290ZGlyfSYke3ByZWZpeH0vc2hhcmUmZycg
OzsKZXNhYwphY19zZWRfZXh0cmE9IgoKOnQKL0BbYS16QS1aX11bYS16QS1a
XzAtOV0qQC8hYgpzfEBjb25maWd1cmVfaW5wdXRAfCRhY19zZWRfY29uZl9p
bnB1dHw7dCB0CnMmQHRvcF9idWlsZGRpckAmJGFjX3RvcF9idWlsZGRpcl9z
dWImO3QgdApzJkB0b3BfYnVpbGRfcHJlZml4QCYkYWNfdG9wX2J1aWxkX3By
ZWZpeCY7dCB0CnMmQHNyY2RpckAmJGFjX3NyY2RpciY7dCB0CnMmQGFic19z
cmNkaXJAJiRhY19hYnNfc3JjZGlyJjt0IHQKcyZAdG9wX3NyY2RpckAmJGFj
X3RvcF9zcmNkaXImO3QgdApzJkBhYnNfdG9wX3NyY2RpckAmJGFjX2Fic190
b3Bfc3JjZGlyJjt0IHQKcyZAYnVpbGRkaXJAJiRhY19idWlsZGRpciY7dCB0
CnMmQGFic19idWlsZGRpckAmJGFjX2Fic19idWlsZGRpciY7dCB0CnMmQGFi
c190b3BfYnVpbGRkaXJAJiRhY19hYnNfdG9wX2J1aWxkZGlyJjt0IHQKcyZA
SU5TVEFMTEAmJGFjX0lOU1RBTEwmO3QgdApzJkBNS0RJUl9QQCYkYWNfTUtE
SVJfUCY7dCB0CiRhY19kYXRhcm9vdGRpcl9oYWNrCiIKZXZhbCBzZWQgXCJc
JGFjX3NlZF9leHRyYVwiICIkYWNfZmlsZV9pbnB1dHMiIHwgJEFXSyAtZiAi
JGFjX3RtcC9zdWJzLmF3ayIgXAogID4kYWNfdG1wL291dCB8fCBhc19mbl9l
cnJvciAkPyAiY291bGQgbm90IGNyZWF0ZSAkYWNfZmlsZSIgIiRMSU5FTk8i
IDUKCnRlc3QgLXogIiRhY19kYXRhcm9vdGRpcl9oYWNrJGFjX2RhdGFyb290
ZGlyX3NlZW4iICYmCiAgeyBhY19vdXQ9YHNlZCAtbiAnL1wke2RhdGFyb290
ZGlyfS9wJyAiJGFjX3RtcC9vdXQiYDsgdGVzdCAtbiAiJGFjX291dCI7IH0g
JiYKICB7IGFjX291dD1gc2VkIC1uICcvXlsJIF0qZGF0YXJvb3RkaXJbCSBd
KjoqPS9wJyBcCiAgICAgICIkYWNfdG1wL291dCJgOyB0ZXN0IC16ICIkYWNf
b3V0IjsgfSAmJgogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogV0FSTklORzogJGFjX2ZpbGUgY29udGFpbnMgYSByZWZlcmVu
Y2UgdG8gdGhlIHZhcmlhYmxlIFxgZGF0YXJvb3RkaXInCndoaWNoIHNlZW1z
IHRvIGJlIHVuZGVmaW5lZC4gIFBsZWFzZSBtYWtlIHN1cmUgaXQgaXMgZGVm
aW5lZCIgPiY1CiRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6ICRhY19maWxl
IGNvbnRhaW5zIGEgcmVmZXJlbmNlIHRvIHRoZSB2YXJpYWJsZSBcYGRhdGFy
b290ZGlyJwp3aGljaCBzZWVtcyB0byBiZSB1bmRlZmluZWQuICBQbGVhc2Ug
bWFrZSBzdXJlIGl0IGlzIGRlZmluZWQiID4mMjt9CgogIHJtIC1mICIkYWNf
dG1wL3N0ZGluIgogIGNhc2UgJGFjX2ZpbGUgaW4KICAtKSBjYXQgIiRhY190
bXAvb3V0IiAmJiBybSAtZiAiJGFjX3RtcC9vdXQiOzsKICAqKSBybSAtZiAi
JGFjX2ZpbGUiICYmIG12ICIkYWNfdG1wL291dCIgIiRhY19maWxlIjs7CiAg
ZXNhYyBcCiAgfHwgYXNfZm5fZXJyb3IgJD8gImNvdWxkIG5vdCBjcmVhdGUg
JGFjX2ZpbGUiICIkTElORU5PIiA1CiA7OwogIDpIKQogICMKICAjIENPTkZJ
R19IRUFERVIKICAjCiAgaWYgdGVzdCB4IiRhY19maWxlIiAhPSB4LTsgdGhl
bgogICAgewogICAgICAkYXNfZWNobyAiLyogJGNvbmZpZ3VyZV9pbnB1dCAg
Ki8iIFwKICAgICAgJiYgZXZhbCAnJEFXSyAtZiAiJGFjX3RtcC9kZWZpbmVz
LmF3ayInICIkYWNfZmlsZV9pbnB1dHMiCiAgICB9ID4iJGFjX3RtcC9jb25m
aWcuaCIgXAogICAgICB8fCBhc19mbl9lcnJvciAkPyAiY291bGQgbm90IGNy
ZWF0ZSAkYWNfZmlsZSIgIiRMSU5FTk8iIDUKICAgIGlmIGRpZmYgIiRhY19m
aWxlIiAiJGFjX3RtcC9jb25maWcuaCIgPi9kZXYvbnVsbCAyPiYxOyB0aGVu
CiAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogJGFjX2ZpbGUgaXMgdW5jaGFuZ2VkIiA+JjUKJGFzX2VjaG8gIiRhc19t
ZTogJGFjX2ZpbGUgaXMgdW5jaGFuZ2VkIiA+JjY7fQogICAgZWxzZQogICAg
ICBybSAtZiAiJGFjX2ZpbGUiCiAgICAgIG12ICIkYWNfdG1wL2NvbmZpZy5o
IiAiJGFjX2ZpbGUiIFwKCXx8IGFzX2ZuX2Vycm9yICQ/ICJjb3VsZCBub3Qg
Y3JlYXRlICRhY19maWxlIiAiJExJTkVOTyIgNQogICAgZmkKICBlbHNlCiAg
ICAkYXNfZWNobyAiLyogJGNvbmZpZ3VyZV9pbnB1dCAgKi8iIFwKICAgICAg
JiYgZXZhbCAnJEFXSyAtZiAiJGFjX3RtcC9kZWZpbmVzLmF3ayInICIkYWNf
ZmlsZV9pbnB1dHMiIFwKICAgICAgfHwgYXNfZm5fZXJyb3IgJD8gImNvdWxk
IG5vdCBjcmVhdGUgLSIgIiRMSU5FTk8iIDUKICBmaQojIENvbXB1dGUgIiRh
Y19maWxlIidzIGluZGV4IGluICRjb25maWdfaGVhZGVycy4KX2FtX2FyZz0i
JGFjX2ZpbGUiCl9hbV9zdGFtcF9jb3VudD0xCmZvciBfYW1faGVhZGVyIGlu
ICRjb25maWdfaGVhZGVycyA6OyBkbwogIGNhc2UgJF9hbV9oZWFkZXIgaW4K
ICAgICRfYW1fYXJnIHwgJF9hbV9hcmc6KiApCiAgICAgIGJyZWFrIDs7CiAg
ICAqICkKICAgICAgX2FtX3N0YW1wX2NvdW50PWBleHByICRfYW1fc3RhbXBf
Y291bnQgKyAxYCA7OwogIGVzYWMKZG9uZQplY2hvICJ0aW1lc3RhbXAgZm9y
ICRfYW1fYXJnIiA+YCRhc19kaXJuYW1lIC0tICIkX2FtX2FyZyIgfHwKJGFz
X2V4cHIgWCIkX2FtX2FyZyIgOiAnWFwoLipbXi9dXCkvLypbXi9dW14vXSov
KiQnIFx8IFwKCSBYIiRfYW1fYXJnIiA6ICdYXCgvL1wpW14vXScgXHwgXAoJ
IFgiJF9hbV9hcmciIDogJ1hcKC8vXCkkJyBcfCBcCgkgWCIkX2FtX2FyZyIg
OiAnWFwoL1wpJyBcfCAuIDI+L2Rldi9udWxsIHx8CiRhc19lY2hvIFgiJF9h
bV9hcmciIHwKICAgIHNlZCAnL15YXCguKlteL11cKVwvXC8qW14vXVteL10q
XC8qJC97CgkgICAgcy8vXDEvCgkgICAgcQoJICB9CgkgIC9eWFwoXC9cL1wp
W14vXS4qL3sKCSAgICBzLy9cMS8KCSAgICBxCgkgIH0KCSAgL15YXChcL1wv
XCkkL3sKCSAgICBzLy9cMS8KCSAgICBxCgkgIH0KCSAgL15YXChcL1wpLiov
ewoJICAgIHMvL1wxLwoJICAgIHEKCSAgfQoJICBzLy4qLy4vOyBxJ2Avc3Rh
bXAtaCRfYW1fc3RhbXBfY291bnQKIDs7CgogIDpDKSAgeyAkYXNfZWNobyAi
JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBleGVjdXRpbmcgJGFjX2Zp
bGUgY29tbWFuZHMiID4mNQokYXNfZWNobyAiJGFzX21lOiBleGVjdXRpbmcg
JGFjX2ZpbGUgY29tbWFuZHMiID4mNjt9CiA7OwogIGVzYWMKCgogIGNhc2Ug
JGFjX2ZpbGUkYWNfbW9kZSBpbgogICAgInRlc3RzL2F0Y29uZmlnIjpDKSBj
YXQgPnRlc3RzL2F0Y29uZmlnIDw8QVRFT0YKIyBDb25maWd1cmFibGUgdmFy
aWFibGUgdmFsdWVzIGZvciBidWlsZGluZyB0ZXN0IHN1aXRlcy4KIyBHZW5l
cmF0ZWQgYnkgJDAuCiMgQ29weXJpZ2h0IChDKSAyMDEwIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLgoKIyBUaGUgdGVzdCBzdWl0ZSB3aWxsIGRl
ZmluZSB0b3Bfc3JjZGlyPSRhdF90b3Bfc3JjZGlyLy4uLy4uIGV0Yy4KYXRf
dGVzdGRpcj0ndGVzdHMnCmFic19idWlsZGRpcj0nJGFjX2Fic19idWlsZGRp
cicKYXRfc3JjZGlyPSckYWNfc3JjZGlyJwphYnNfc3JjZGlyPSckYWNfYWJz
X3NyY2RpcicKYXRfdG9wX3NyY2Rpcj0nJGFjX3RvcF9zcmNkaXInCmFic190
b3Bfc3JjZGlyPSckYWNfYWJzX3RvcF9zcmNkaXInCmF0X3RvcF9idWlsZF9w
cmVmaXg9JyRhY190b3BfYnVpbGRfcHJlZml4JwphYnNfdG9wX2J1aWxkZGly
PSckYWNfYWJzX3RvcF9idWlsZGRpcicKCiMgQmFja3dhcmQgY29tcGF0aWJp
bGl0eSB3aXRoIEF1dG90ZXN0IDw9IDIuNTliOgphdF90b3BfYnVpbGRkaXI9
XCRhdF90b3BfYnVpbGRfcHJlZml4CgpBVVRPVEVTVF9QQVRIPSd0ZXN0cycK
ClNIRUxMPVwke0NPTkZJR19TSEVMTC0nJFNIRUxMJ30KQVRFT0YKIDs7CiAg
ICAiZGVwZmlsZXMiOkMpIHRlc3QgeCIkQU1ERVBfVFJVRSIgIT0geCIiIHx8
IHsKICAjIEF1dG9jb25mIDIuNjIgcXVvdGVzIC0tZmlsZSBhcmd1bWVudHMg
Zm9yIGV2YWwsIGJ1dCBub3Qgd2hlbiBmaWxlcwogICMgYXJlIGxpc3RlZCB3
aXRob3V0IC0tZmlsZS4gIExldCdzIHBsYXkgc2FmZSBhbmQgb25seSBlbmFi
bGUgdGhlIGV2YWwKICAjIGlmIHdlIGRldGVjdCB0aGUgcXVvdGluZy4KICBj
YXNlICRDT05GSUdfRklMRVMgaW4KICAqXCcqKSBldmFsIHNldCB4ICIkQ09O
RklHX0ZJTEVTIiA7OwogICopICAgc2V0IHggJENPTkZJR19GSUxFUyA7Owog
IGVzYWMKICBzaGlmdAogIGZvciBtZgogIGRvCiAgICAjIFN0cmlwIE1GIHNv
IHdlIGVuZCB1cCB3aXRoIHRoZSBuYW1lIG9mIHRoZSBmaWxlLgogICAgbWY9
YGVjaG8gIiRtZiIgfCBzZWQgLWUgJ3MvOi4qJC8vJ2AKICAgICMgQ2hlY2sg
d2hldGhlciB0aGlzIGlzIGFuIEF1dG9tYWtlIGdlbmVyYXRlZCBNYWtlZmls
ZSBvciBub3QuCiAgICAjIFdlIHVzZWQgdG8gbWF0Y2ggb25seSB0aGUgZmls
ZXMgbmFtZWQgYE1ha2VmaWxlLmluJywgYnV0CiAgICAjIHNvbWUgcGVvcGxl
IHJlbmFtZSB0aGVtOyBzbyBpbnN0ZWFkIHdlIGxvb2sgYXQgdGhlIGZpbGUg
Y29udGVudC4KICAgICMgR3JlcCdpbmcgdGhlIGZpcnN0IGxpbmUgaXMgbm90
IGVub3VnaDogc29tZSBwZW9wbGUgcG9zdC1wcm9jZXNzCiAgICAjIGVhY2gg
TWFrZWZpbGUuaW4gYW5kIGFkZCBhIG5ldyBsaW5lIG9uIHRvcCBvZiBlYWNo
IGZpbGUgdG8gc2F5IHNvLgogICAgIyBHcmVwJ2luZyB0aGUgd2hvbGUgZmls
ZSBpcyBub3QgZ29vZCBlaXRoZXI6IEFJWCBncmVwIGhhcyBhIGxpbmUKICAg
ICMgbGltaXQgb2YgMjA0OCwgYnV0IGFsbCBzZWQncyB3ZSBrbm93IGhhdmUg
dW5kZXJzdGFuZCBhdCBsZWFzdCA0MDAwLgogICAgaWYgc2VkIC1uICdzLF4j
LipnZW5lcmF0ZWQgYnkgYXV0b21ha2UuKixYLHAnICIkbWYiIHwgZ3JlcCBY
ID4vZGV2L251bGwgMj4mMTsgdGhlbgogICAgICBkaXJwYXJ0PWAkYXNfZGly
bmFtZSAtLSAiJG1mIiB8fAokYXNfZXhwciBYIiRtZiIgOiAnWFwoLipbXi9d
XCkvLypbXi9dW14vXSovKiQnIFx8IFwKCSBYIiRtZiIgOiAnWFwoLy9cKVte
L10nIFx8IFwKCSBYIiRtZiIgOiAnWFwoLy9cKSQnIFx8IFwKCSBYIiRtZiIg
OiAnWFwoL1wpJyBcfCAuIDI+L2Rldi9udWxsIHx8CiRhc19lY2hvIFgiJG1m
IiB8CiAgICBzZWQgJy9eWFwoLipbXi9dXClcL1wvKlteL11bXi9dKlwvKiQv
ewoJICAgIHMvL1wxLwoJICAgIHEKCSAgfQoJICAvXlhcKFwvXC9cKVteL10u
Ki97CgkgICAgcy8vXDEvCgkgICAgcQoJICB9CgkgIC9eWFwoXC9cL1wpJC97
CgkgICAgcy8vXDEvCgkgICAgcQoJICB9CgkgIC9eWFwoXC9cKS4qL3sKCSAg
ICBzLy9cMS8KCSAgICBxCgkgIH0KCSAgcy8uKi8uLzsgcSdgCiAgICBlbHNl
CiAgICAgIGNvbnRpbnVlCiAgICBmaQogICAgIyBFeHRyYWN0IHRoZSBkZWZp
bml0aW9uIG9mIERFUERJUiwgYW1fX2luY2x1ZGUsIGFuZCBhbV9fcXVvdGUK
ICAgICMgZnJvbSB0aGUgTWFrZWZpbGUgd2l0aG91dCBydW5uaW5nIGBtYWtl
Jy4KICAgIERFUERJUj1gc2VkIC1uICdzL15ERVBESVIgPSAvL3AnIDwgIiRt
ZiJgCiAgICB0ZXN0IC16ICIkREVQRElSIiAmJiBjb250aW51ZQogICAgYW1f
X2luY2x1ZGU9YHNlZCAtbiAncy9eYW1fX2luY2x1ZGUgPSAvL3AnIDwgIiRt
ZiJgCiAgICB0ZXN0IC16ICJhbV9faW5jbHVkZSIgJiYgY29udGludWUKICAg
IGFtX19xdW90ZT1gc2VkIC1uICdzL15hbV9fcXVvdGUgPSAvL3AnIDwgIiRt
ZiJgCiAgICAjIFdoZW4gdXNpbmcgYW5zaTJrbnIsIFUgbWF5IGJlIGVtcHR5
IG9yIGFuIHVuZGVyc2NvcmU7IGV4cGFuZCBpdAogICAgVT1gc2VkIC1uICdz
L15VID0gLy9wJyA8ICIkbWYiYAogICAgIyBGaW5kIGFsbCBkZXBlbmRlbmN5
IG91dHB1dCBmaWxlcywgdGhleSBhcmUgaW5jbHVkZWQgZmlsZXMgd2l0aAog
ICAgIyAkKERFUERJUikgaW4gdGhlaXIgbmFtZXMuICBXZSBpbnZva2Ugc2Vk
IHR3aWNlIGJlY2F1c2UgaXQgaXMgdGhlCiAgICAjIHNpbXBsZXN0IGFwcHJv
YWNoIHRvIGNoYW5naW5nICQoREVQRElSKSB0byBpdHMgYWN0dWFsIHZhbHVl
IGluIHRoZQogICAgIyBleHBhbnNpb24uCiAgICBmb3IgZmlsZSBpbiBgc2Vk
IC1uICIKICAgICAgcy9eJGFtX19pbmNsdWRlICRhbV9fcXVvdGVcKC4qKERF
UERJUikuKlwpJGFtX19xdW90ZSInJC9cMS9wJyA8IiRtZiIgfCBcCgkgc2Vk
IC1lICdzL1wkKERFUERJUikvJyIkREVQRElSIicvZycgLWUgJ3MvXCRVLyci
JFUiJy9nJ2A7IGRvCiAgICAgICMgTWFrZSBzdXJlIHRoZSBkaXJlY3Rvcnkg
ZXhpc3RzLgogICAgICB0ZXN0IC1mICIkZGlycGFydC8kZmlsZSIgJiYgY29u
dGludWUKICAgICAgZmRpcj1gJGFzX2Rpcm5hbWUgLS0gIiRmaWxlIiB8fAok
YXNfZXhwciBYIiRmaWxlIiA6ICdYXCguKlteL11cKS8vKlteL11bXi9dKi8q
JCcgXHwgXAoJIFgiJGZpbGUiIDogJ1hcKC8vXClbXi9dJyBcfCBcCgkgWCIk
ZmlsZSIgOiAnWFwoLy9cKSQnIFx8IFwKCSBYIiRmaWxlIiA6ICdYXCgvXCkn
IFx8IC4gMj4vZGV2L251bGwgfHwKJGFzX2VjaG8gWCIkZmlsZSIgfAogICAg
c2VkICcvXlhcKC4qW14vXVwpXC9cLypbXi9dW14vXSpcLyokL3sKCSAgICBz
Ly9cMS8KCSAgICBxCgkgIH0KCSAgL15YXChcL1wvXClbXi9dLiovewoJICAg
IHMvL1wxLwoJICAgIHEKCSAgfQoJICAvXlhcKFwvXC9cKSQvewoJICAgIHMv
L1wxLwoJICAgIHEKCSAgfQoJICAvXlhcKFwvXCkuKi97CgkgICAgcy8vXDEv
CgkgICAgcQoJICB9CgkgIHMvLiovLi87IHEnYAogICAgICBhc19kaXI9JGRp
cnBhcnQvJGZkaXI7IGFzX2ZuX21rZGlyX3AKICAgICAgIyBlY2hvICJjcmVh
dGluZyAkZGlycGFydC8kZmlsZSIKICAgICAgZWNobyAnIyBkdW1teScgPiAi
JGRpcnBhcnQvJGZpbGUiCiAgICBkb25lCiAgZG9uZQp9CiA7OwogICAgImxp
YnRvb2wiOkMpCgogICAgIyBTZWUgaWYgd2UgYXJlIHJ1bm5pbmcgb24genNo
LCBhbmQgc2V0IHRoZSBvcHRpb25zIHdoaWNoIGFsbG93IG91cgogICAgIyBj
b21tYW5kcyB0aHJvdWdoIHdpdGhvdXQgcmVtb3ZhbCBvZiBcIGVzY2FwZXMu
CiAgICBpZiB0ZXN0IC1uICIke1pTSF9WRVJTSU9OK3NldH0iIDsgdGhlbgog
ICAgICBzZXRvcHQgTk9fR0xPQl9TVUJTVAogICAgZmkKCiAgICBjZmdmaWxl
PSIke29maWxlfVQiCiAgICB0cmFwICIkUk0gXCIkY2ZnZmlsZVwiOyBleGl0
IDEiIDEgMiAxNQogICAgJFJNICIkY2ZnZmlsZSIKCiAgICBjYXQgPDxfTFRf
RU9GID4+ICIkY2ZnZmlsZSIKIyEgJFNIRUxMCgojIGAkRUNITyAiJG9maWxl
IiB8IHNlZCAncyVeLiovJSUnYCAtIFByb3ZpZGUgZ2VuZXJhbGl6ZWQgbGli
cmFyeS1idWlsZGluZyBzdXBwb3J0IHNlcnZpY2VzLgojIEdlbmVyYXRlZCBh
dXRvbWF0aWNhbGx5IGJ5ICRhc19tZSAoJFBBQ0tBR0UkVElNRVNUQU1QKSAk
VkVSU0lPTgojIExpYnRvb2wgd2FzIGNvbmZpZ3VyZWQgb24gaG9zdCBgKGhv
c3RuYW1lIHx8IHVuYW1lIC1uKSAyPi9kZXYvbnVsbCB8IHNlZCAxcWA6CiMg
Tk9URTogQ2hhbmdlcyBtYWRlIHRvIHRoaXMgZmlsZSB3aWxsIGJlIGxvc3Q6
IGxvb2sgYXQgbHRtYWluLnNoLgojCiMgICBDb3B5cmlnaHQgKEMpIDE5OTYs
IDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIw
MDUsCiMgICAgICAgICAgICAgICAgIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDks
IDIwMTAsIDIwMTEgRnJlZSBTb2Z0d2FyZQojICAgICAgICAgICAgICAgICBG
b3VuZGF0aW9uLCBJbmMuCiMgICBXcml0dGVuIGJ5IEdvcmRvbiBNYXR6aWdr
ZWl0LCAxOTk2CiMKIyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBMaWJ0
b29sLgojCiMgR05VIExpYnRvb2wgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMK
IyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyIHZlcnNpb24gMiBvZgojIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgQXMgYSBzcGVjaWFs
IGV4Y2VwdGlvbiB0byB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Us
CiMgaWYgeW91IGRpc3RyaWJ1dGUgdGhpcyBmaWxlIGFzIHBhcnQgb2YgYSBw
cm9ncmFtIG9yIGxpYnJhcnkgdGhhdAojIGlzIGJ1aWx0IHVzaW5nIEdOVSBM
aWJ0b29sLCB5b3UgbWF5IGluY2x1ZGUgdGhpcyBmaWxlIHVuZGVyIHRoZQoj
IHNhbWUgZGlzdHJpYnV0aW9uIHRlcm1zIHRoYXQgeW91IHVzZSBmb3IgdGhl
IHJlc3Qgb2YgdGhhdCBwcm9ncmFtLgojCiMgR05VIExpYnRvb2wgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
IyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojCiMg
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIEdOVSBMaWJ0b29s
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy4gIElmIG5vdCwgYSBjb3B5CiMgY2Fu
IGJlIGRvd25sb2FkZWQgZnJvbSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5z
ZXMvZ3BsLmh0bWwsIG9yCiMgb2J0YWluZWQgYnkgd3JpdGluZyB0byB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAojIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwg
VVNBLgoKCiMgVGhlIG5hbWVzIG9mIHRoZSB0YWdnZWQgY29uZmlndXJhdGlv
bnMgc3VwcG9ydGVkIGJ5IHRoaXMgc2NyaXB0LgphdmFpbGFibGVfdGFncz0i
Q1hYIEY3NyBGQyBHTyBHQ0ogUkMgIgoKIyAjIyMgQkVHSU4gTElCVE9PTCBD
T05GSUcKCiMgV2hpY2ggcmVsZWFzZSBvZiBsaWJ0b29sLm00IHdhcyB1c2Vk
PwptYWNyb192ZXJzaW9uPSRtYWNyb192ZXJzaW9uCm1hY3JvX3JldmlzaW9u
PSRtYWNyb19yZXZpc2lvbgoKIyBBc3NlbWJsZXIgcHJvZ3JhbS4KQVM9JGx0
X0FTCgojIERMTCBjcmVhdGlvbiBwcm9ncmFtLgpETExUT09MPSRsdF9ETExU
T09MCgojIE9iamVjdCBkdW1wZXIgcHJvZ3JhbS4KT0JKRFVNUD0kbHRfT0JK
RFVNUAoKIyBXaGV0aGVyIG9yIG5vdCB0byBidWlsZCBzaGFyZWQgbGlicmFy
aWVzLgpidWlsZF9saWJ0b29sX2xpYnM9JGVuYWJsZV9zaGFyZWQKCiMgV2hl
dGhlciBvciBub3QgdG8gYnVpbGQgc3RhdGljIGxpYnJhcmllcy4KYnVpbGRf
b2xkX2xpYnM9JGVuYWJsZV9zdGF0aWMKCiMgV2hhdCB0eXBlIG9mIG9iamVj
dHMgdG8gYnVpbGQuCnBpY19tb2RlPSRwaWNfbW9kZQoKIyBXaGV0aGVyIG9y
IG5vdCB0byBvcHRpbWl6ZSBmb3IgZmFzdCBpbnN0YWxsYXRpb24uCmZhc3Rf
aW5zdGFsbD0kZW5hYmxlX2Zhc3RfaW5zdGFsbAoKIyBTaGVsbCB0byB1c2Ug
d2hlbiBpbnZva2luZyBzaGVsbCBzY3JpcHRzLgpTSEVMTD0kbHRfU0hFTEwK
CiMgQW4gZWNobyBwcm9ncmFtIHRoYXQgcHJvdGVjdHMgYmFja3NsYXNoZXMu
CkVDSE89JGx0X0VDSE8KCiMgVGhlIFBBVEggc2VwYXJhdG9yIGZvciB0aGUg
YnVpbGQgc3lzdGVtLgpQQVRIX1NFUEFSQVRPUj0kbHRfUEFUSF9TRVBBUkFU
T1IKCiMgVGhlIGhvc3Qgc3lzdGVtLgpob3N0X2FsaWFzPSRob3N0X2FsaWFz
Cmhvc3Q9JGhvc3QKaG9zdF9vcz0kaG9zdF9vcwoKIyBUaGUgYnVpbGQgc3lz
dGVtLgpidWlsZF9hbGlhcz0kYnVpbGRfYWxpYXMKYnVpbGQ9JGJ1aWxkCmJ1
aWxkX29zPSRidWlsZF9vcwoKIyBBIHNlZCBwcm9ncmFtIHRoYXQgZG9lcyBu
b3QgdHJ1bmNhdGUgb3V0cHV0LgpTRUQ9JGx0X1NFRAoKIyBTZWQgdGhhdCBo
ZWxwcyB1cyBhdm9pZCBhY2NpZGVudGFsbHkgdHJpZ2dlcmluZyBlY2hvKDEp
IG9wdGlvbnMgbGlrZSAtbi4KWHNlZD0iXCRTRUQgLWUgMXMvXlgvLyIKCiMg
QSBncmVwIHByb2dyYW0gdGhhdCBoYW5kbGVzIGxvbmcgbGluZXMuCkdSRVA9
JGx0X0dSRVAKCiMgQW4gRVJFIG1hdGNoZXIuCkVHUkVQPSRsdF9FR1JFUAoK
IyBBIGxpdGVyYWwgc3RyaW5nIG1hdGNoZXIuCkZHUkVQPSRsdF9GR1JFUAoK
IyBBIEJTRC0gb3IgTVMtY29tcGF0aWJsZSBuYW1lIGxpc3Rlci4KTk09JGx0
X05NCgojIFdoZXRoZXIgd2UgbmVlZCBzb2Z0IG9yIGhhcmQgbGlua3MuCkxO
X1M9JGx0X0xOX1MKCiMgV2hhdCBpcyB0aGUgbWF4aW11bSBsZW5ndGggb2Yg
YSBjb21tYW5kPwptYXhfY21kX2xlbj0kbWF4X2NtZF9sZW4KCiMgT2JqZWN0
IGZpbGUgc3VmZml4IChub3JtYWxseSAibyIpLgpvYmpleHQ9JGFjX29iamV4
dAoKIyBFeGVjdXRhYmxlIGZpbGUgc3VmZml4IChub3JtYWxseSAiIikuCmV4
ZWV4dD0kZXhlZXh0CgojIHdoZXRoZXIgdGhlIHNoZWxsIHVuZGVyc3RhbmRz
ICJ1bnNldCIuCmx0X3Vuc2V0PSRsdF91bnNldAoKIyB0dXJuIHNwYWNlcyBp
bnRvIG5ld2xpbmVzLgpTUDJOTD0kbHRfbHRfU1AyTkwKCiMgdHVybiBuZXds
aW5lcyBpbnRvIHNwYWNlcy4KTkwyU1A9JGx0X2x0X05MMlNQCgojIGNvbnZl
cnQgXCRidWlsZCBmaWxlIG5hbWVzIHRvIFwkaG9zdCBmb3JtYXQuCnRvX2hv
c3RfZmlsZV9jbWQ9JGx0X2N2X3RvX2hvc3RfZmlsZV9jbWQKCiMgY29udmVy
dCBcJGJ1aWxkIGZpbGVzIHRvIHRvb2xjaGFpbiBmb3JtYXQuCnRvX3Rvb2xf
ZmlsZV9jbWQ9JGx0X2N2X3RvX3Rvb2xfZmlsZV9jbWQKCiMgTWV0aG9kIHRv
IGNoZWNrIHdoZXRoZXIgZGVwZW5kZW50IGxpYnJhcmllcyBhcmUgc2hhcmVk
IG9iamVjdHMuCmRlcGxpYnNfY2hlY2tfbWV0aG9kPSRsdF9kZXBsaWJzX2No
ZWNrX21ldGhvZAoKIyBDb21tYW5kIHRvIHVzZSB3aGVuIGRlcGxpYnNfY2hl
Y2tfbWV0aG9kID0gImZpbGVfbWFnaWMiLgpmaWxlX21hZ2ljX2NtZD0kbHRf
ZmlsZV9tYWdpY19jbWQKCiMgSG93IHRvIGZpbmQgcG90ZW50aWFsIGZpbGVz
IHdoZW4gZGVwbGlic19jaGVja19tZXRob2QgPSAiZmlsZV9tYWdpYyIuCmZp
bGVfbWFnaWNfZ2xvYj0kbHRfZmlsZV9tYWdpY19nbG9iCgojIEZpbmQgcG90
ZW50aWFsIGZpbGVzIHVzaW5nIG5vY2FzZWdsb2Igd2hlbiBkZXBsaWJzX2No
ZWNrX21ldGhvZCA9ICJmaWxlX21hZ2ljIi4Kd2FudF9ub2Nhc2VnbG9iPSRs
dF93YW50X25vY2FzZWdsb2IKCiMgQ29tbWFuZCB0byBhc3NvY2lhdGUgc2hh
cmVkIGFuZCBsaW5rIGxpYnJhcmllcy4Kc2hhcmVkbGliX2Zyb21fbGlua2xp
Yl9jbWQ9JGx0X3NoYXJlZGxpYl9mcm9tX2xpbmtsaWJfY21kCgojIFRoZSBh
cmNoaXZlci4KQVI9JGx0X0FSCgojIEZsYWdzIHRvIGNyZWF0ZSBhbiBhcmNo
aXZlLgpBUl9GTEFHUz0kbHRfQVJfRkxBR1MKCiMgSG93IHRvIGZlZWQgYSBm
aWxlIGxpc3RpbmcgdG8gdGhlIGFyY2hpdmVyLgphcmNoaXZlcl9saXN0X3Nw
ZWM9JGx0X2FyY2hpdmVyX2xpc3Rfc3BlYwoKIyBBIHN5bWJvbCBzdHJpcHBp
bmcgcHJvZ3JhbS4KU1RSSVA9JGx0X1NUUklQCgojIENvbW1hbmRzIHVzZWQg
dG8gaW5zdGFsbCBhbiBvbGQtc3R5bGUgYXJjaGl2ZS4KUkFOTElCPSRsdF9S
QU5MSUIKb2xkX3Bvc3RpbnN0YWxsX2NtZHM9JGx0X29sZF9wb3N0aW5zdGFs
bF9jbWRzCm9sZF9wb3N0dW5pbnN0YWxsX2NtZHM9JGx0X29sZF9wb3N0dW5p
bnN0YWxsX2NtZHMKCiMgV2hldGhlciB0byB1c2UgYSBsb2NrIGZvciBvbGQg
YXJjaGl2ZSBleHRyYWN0aW9uLgpsb2NrX29sZF9hcmNoaXZlX2V4dHJhY3Rp
b249JGxvY2tfb2xkX2FyY2hpdmVfZXh0cmFjdGlvbgoKIyBBIEMgY29tcGls
ZXIuCkxUQ0M9JGx0X0NDCgojIExUQ0MgY29tcGlsZXIgZmxhZ3MuCkxUQ0ZM
QUdTPSRsdF9DRkxBR1MKCiMgVGFrZSB0aGUgb3V0cHV0IG9mIG5tIGFuZCBw
cm9kdWNlIGEgbGlzdGluZyBvZiByYXcgc3ltYm9scyBhbmQgQyBuYW1lcy4K
Z2xvYmFsX3N5bWJvbF9waXBlPSRsdF9sdF9jdl9zeXNfZ2xvYmFsX3N5bWJv
bF9waXBlCgojIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgcHJv
cGVyIEMgZGVjbGFyYXRpb24uCmdsb2JhbF9zeW1ib2xfdG9fY2RlY2w9JGx0
X2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsCgojIFRyYW5zZm9y
bSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpci4K
Z2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0kbHRfbHRfY3Zfc3lz
X2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MKCiMgVHJhbnNmb3Jt
IHRoZSBvdXRwdXQgb2Ygbm0gaW4gYSBDIG5hbWUgYWRkcmVzcyBwYWlyIHdo
ZW4gbGliIHByZWZpeCBpcyBuZWVkZWQuCmdsb2JhbF9zeW1ib2xfdG9fY19u
YW1lX2FkZHJlc3NfbGliX3ByZWZpeD0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9z
eW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeAoKIyBTcGVjaWZ5
IGZpbGVuYW1lIGNvbnRhaW5pbmcgaW5wdXQgZmlsZXMgZm9yIFwkTk0uCm5t
X2ZpbGVfbGlzdF9zcGVjPSRsdF9ubV9maWxlX2xpc3Rfc3BlYwoKIyBUaGUg
cm9vdCB3aGVyZSB0byBzZWFyY2ggZm9yIGRlcGVuZGVudCBsaWJyYXJpZXMs
YW5kIGluIHdoaWNoIG91ciBsaWJyYXJpZXMgc2hvdWxkIGJlIGluc3RhbGxl
ZC4KbHRfc3lzcm9vdD0kbHRfc3lzcm9vdAoKIyBUaGUgbmFtZSBvZiB0aGUg
ZGlyZWN0b3J5IHRoYXQgY29udGFpbnMgdGVtcG9yYXJ5IGxpYnRvb2wgZmls
ZXMuCm9iamRpcj0kb2JqZGlyCgojIFVzZWQgdG8gZXhhbWluZSBsaWJyYXJp
ZXMgd2hlbiBmaWxlX21hZ2ljX2NtZCBiZWdpbnMgd2l0aCAiZmlsZSIuCk1B
R0lDX0NNRD0kTUFHSUNfQ01ECgojIE11c3Qgd2UgbG9jayBmaWxlcyB3aGVu
IGRvaW5nIGNvbXBpbGF0aW9uPwpuZWVkX2xvY2tzPSRsdF9uZWVkX2xvY2tz
CgojIE1hbmlmZXN0IHRvb2wuCk1BTklGRVNUX1RPT0w9JGx0X01BTklGRVNU
X1RPT0wKCiMgVG9vbCB0byBtYW5pcHVsYXRlIGFyY2hpdmVkIERXQVJGIGRl
YnVnIHN5bWJvbCBmaWxlcyBvbiBNYWMgT1MgWC4KRFNZTVVUSUw9JGx0X0RT
WU1VVElMCgojIFRvb2wgdG8gY2hhbmdlIGdsb2JhbCB0byBsb2NhbCBzeW1i
b2xzIG9uIE1hYyBPUyBYLgpOTUVESVQ9JGx0X05NRURJVAoKIyBUb29sIHRv
IG1hbmlwdWxhdGUgZmF0IG9iamVjdHMgYW5kIGFyY2hpdmVzIG9uIE1hYyBP
UyBYLgpMSVBPPSRsdF9MSVBPCgojIGxkZC9yZWFkZWxmIGxpa2UgdG9vbCBm
b3IgTWFjaC1PIGJpbmFyaWVzIG9uIE1hYyBPUyBYLgpPVE9PTD0kbHRfT1RP
T0wKCiMgbGRkL3JlYWRlbGYgbGlrZSB0b29sIGZvciA2NCBiaXQgTWFjaC1P
IGJpbmFyaWVzIG9uIE1hYyBPUyBYIDEwLjQuCk9UT09MNjQ9JGx0X09UT09M
NjQKCiMgT2xkIGFyY2hpdmUgc3VmZml4IChub3JtYWxseSAiYSIpLgpsaWJl
eHQ9JGxpYmV4dAoKIyBTaGFyZWQgbGlicmFyeSBzdWZmaXggKG5vcm1hbGx5
ICIuc28iKS4Kc2hyZXh0X2NtZHM9JGx0X3NocmV4dF9jbWRzCgojIFRoZSBj
b21tYW5kcyB0byBleHRyYWN0IHRoZSBleHBvcnRlZCBzeW1ib2wgbGlzdCBm
cm9tIGEgc2hhcmVkIGFyY2hpdmUuCmV4dHJhY3RfZXhwc3ltc19jbWRzPSRs
dF9leHRyYWN0X2V4cHN5bXNfY21kcwoKIyBWYXJpYWJsZXMgd2hvc2UgdmFs
dWVzIHNob3VsZCBiZSBzYXZlZCBpbiBsaWJ0b29sIHdyYXBwZXIgc2NyaXB0
cyBhbmQKIyByZXN0b3JlZCBhdCBsaW5rIHRpbWUuCnZhcmlhYmxlc19zYXZl
ZF9mb3JfcmVsaW5rPSRsdF92YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluawoK
IyBEbyB3ZSBuZWVkIHRoZSAibGliIiBwcmVmaXggZm9yIG1vZHVsZXM/Cm5l
ZWRfbGliX3ByZWZpeD0kbmVlZF9saWJfcHJlZml4CgojIERvIHdlIG5lZWQg
YSB2ZXJzaW9uIGZvciBsaWJyYXJpZXM/Cm5lZWRfdmVyc2lvbj0kbmVlZF92
ZXJzaW9uCgojIExpYnJhcnkgdmVyc2lvbmluZyB0eXBlLgp2ZXJzaW9uX3R5
cGU9JHZlcnNpb25fdHlwZQoKIyBTaGFyZWQgbGlicmFyeSBydW50aW1lIHBh
dGggdmFyaWFibGUuCnJ1bnBhdGhfdmFyPSRydW5wYXRoX3ZhcgoKIyBTaGFy
ZWQgbGlicmFyeSBwYXRoIHZhcmlhYmxlLgpzaGxpYnBhdGhfdmFyPSRzaGxp
YnBhdGhfdmFyCgojIElzIHNobGlicGF0aCBzZWFyY2hlZCBiZWZvcmUgdGhl
IGhhcmQtY29kZWQgbGlicmFyeSBzZWFyY2ggcGF0aD8Kc2hsaWJwYXRoX292
ZXJyaWRlc19ydW5wYXRoPSRzaGxpYnBhdGhfb3ZlcnJpZGVzX3J1bnBhdGgK
CiMgRm9ybWF0IG9mIGxpYnJhcnkgbmFtZSBwcmVmaXguCmxpYm5hbWVfc3Bl
Yz0kbHRfbGlibmFtZV9zcGVjCgojIExpc3Qgb2YgYXJjaGl2ZSBuYW1lcy4g
IEZpcnN0IG5hbWUgaXMgdGhlIHJlYWwgb25lLCB0aGUgcmVzdCBhcmUgbGlu
a3MuCiMgVGhlIGxhc3QgbmFtZSBpcyB0aGUgb25lIHRoYXQgdGhlIGxpbmtl
ciBmaW5kcyB3aXRoIC1sTkFNRQpsaWJyYXJ5X25hbWVzX3NwZWM9JGx0X2xp
YnJhcnlfbmFtZXNfc3BlYwoKIyBUaGUgY29kZWQgbmFtZSBvZiB0aGUgbGli
cmFyeSwgaWYgZGlmZmVyZW50IGZyb20gdGhlIHJlYWwgbmFtZS4Kc29uYW1l
X3NwZWM9JGx0X3NvbmFtZV9zcGVjCgojIFBlcm1pc3Npb24gbW9kZSBvdmVy
cmlkZSBmb3IgaW5zdGFsbGF0aW9uIG9mIHNoYXJlZCBsaWJyYXJpZXMuCmlu
c3RhbGxfb3ZlcnJpZGVfbW9kZT0kbHRfaW5zdGFsbF9vdmVycmlkZV9tb2Rl
CgojIENvbW1hbmQgdG8gdXNlIGFmdGVyIGluc3RhbGxhdGlvbiBvZiBhIHNo
YXJlZCBhcmNoaXZlLgpwb3N0aW5zdGFsbF9jbWRzPSRsdF9wb3N0aW5zdGFs
bF9jbWRzCgojIENvbW1hbmQgdG8gdXNlIGFmdGVyIHVuaW5zdGFsbGF0aW9u
IG9mIGEgc2hhcmVkIGFyY2hpdmUuCnBvc3R1bmluc3RhbGxfY21kcz0kbHRf
cG9zdHVuaW5zdGFsbF9jbWRzCgojIENvbW1hbmRzIHVzZWQgdG8gZmluaXNo
IGEgbGlidG9vbCBsaWJyYXJ5IGluc3RhbGxhdGlvbiBpbiBhIGRpcmVjdG9y
eS4KZmluaXNoX2NtZHM9JGx0X2ZpbmlzaF9jbWRzCgojIEFzICJmaW5pc2hf
Y21kcyIsIGV4Y2VwdCBhIHNpbmdsZSBzY3JpcHQgZnJhZ21lbnQgdG8gYmUg
ZXZhbGVkIGJ1dAojIG5vdCBzaG93bi4KZmluaXNoX2V2YWw9JGx0X2Zpbmlz
aF9ldmFsCgojIFdoZXRoZXIgd2Ugc2hvdWxkIGhhcmRjb2RlIGxpYnJhcnkg
cGF0aHMgaW50byBsaWJyYXJpZXMuCmhhcmRjb2RlX2ludG9fbGlicz0kaGFy
ZGNvZGVfaW50b19saWJzCgojIENvbXBpbGUtdGltZSBzeXN0ZW0gc2VhcmNo
IHBhdGggZm9yIGxpYnJhcmllcy4Kc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVj
PSRsdF9zeXNfbGliX3NlYXJjaF9wYXRoX3NwZWMKCiMgUnVuLXRpbWUgc3lz
dGVtIHNlYXJjaCBwYXRoIGZvciBsaWJyYXJpZXMuCnN5c19saWJfZGxzZWFy
Y2hfcGF0aF9zcGVjPSRsdF9zeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYwoK
IyBXaGV0aGVyIGRsb3BlbiBpcyBzdXBwb3J0ZWQuCmRsb3Blbl9zdXBwb3J0
PSRlbmFibGVfZGxvcGVuCgojIFdoZXRoZXIgZGxvcGVuIG9mIHByb2dyYW1z
IGlzIHN1cHBvcnRlZC4KZGxvcGVuX3NlbGY9JGVuYWJsZV9kbG9wZW5fc2Vs
ZgoKIyBXaGV0aGVyIGRsb3BlbiBvZiBzdGF0aWNhbGx5IGxpbmtlZCBwcm9n
cmFtcyBpcyBzdXBwb3J0ZWQuCmRsb3Blbl9zZWxmX3N0YXRpYz0kZW5hYmxl
X2Rsb3Blbl9zZWxmX3N0YXRpYwoKIyBDb21tYW5kcyB0byBzdHJpcCBsaWJy
YXJpZXMuCm9sZF9zdHJpcGxpYj0kbHRfb2xkX3N0cmlwbGliCnN0cmlwbGli
PSRsdF9zdHJpcGxpYgoKCiMgVGhlIGxpbmtlciB1c2VkIHRvIGJ1aWxkIGxp
YnJhcmllcy4KTEQ9JGx0X0xECgojIEhvdyB0byBjcmVhdGUgcmVsb2FkYWJs
ZSBvYmplY3QgZmlsZXMuCnJlbG9hZF9mbGFnPSRsdF9yZWxvYWRfZmxhZwpy
ZWxvYWRfY21kcz0kbHRfcmVsb2FkX2NtZHMKCiMgQ29tbWFuZHMgdXNlZCB0
byBidWlsZCBhbiBvbGQtc3R5bGUgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfY21k
cz0kbHRfb2xkX2FyY2hpdmVfY21kcwoKIyBBIGxhbmd1YWdlIHNwZWNpZmlj
IGNvbXBpbGVyLgpDQz0kbHRfY29tcGlsZXIKCiMgSXMgdGhlIGNvbXBpbGVy
IHRoZSBHTlUgY29tcGlsZXI/CndpdGhfZ2NjPSRHQ0MKCiMgQ29tcGlsZXIg
ZmxhZyB0byB0dXJuIG9mZiBidWlsdGluIGZ1bmN0aW9ucy4Kbm9fYnVpbHRp
bl9mbGFnPSRsdF9sdF9wcm9nX2NvbXBpbGVyX25vX2J1aWx0aW5fZmxhZwoK
IyBBZGRpdGlvbmFsIGNvbXBpbGVyIGZsYWdzIGZvciBidWlsZGluZyBsaWJy
YXJ5IG9iamVjdHMuCnBpY19mbGFnPSRsdF9sdF9wcm9nX2NvbXBpbGVyX3Bp
YwoKIyBIb3cgdG8gcGFzcyBhIGxpbmtlciBmbGFnIHRocm91Z2ggdGhlIGNv
bXBpbGVyLgp3bD0kbHRfbHRfcHJvZ19jb21waWxlcl93bAoKIyBDb21waWxl
ciBmbGFnIHRvIHByZXZlbnQgZHluYW1pYyBsaW5raW5nLgpsaW5rX3N0YXRp
Y19mbGFnPSRsdF9sdF9wcm9nX2NvbXBpbGVyX3N0YXRpYwoKIyBEb2VzIGNv
bXBpbGVyIHNpbXVsdGFuZW91c2x5IHN1cHBvcnQgLWMgYW5kIC1vIG9wdGlv
bnM/CmNvbXBpbGVyX2Nfbz0kbHRfbHRfY3ZfcHJvZ19jb21waWxlcl9jX28K
CiMgV2hldGhlciBvciBub3QgdG8gYWRkIC1sYyBmb3IgYnVpbGRpbmcgc2hh
cmVkIGxpYnJhcmllcy4KYnVpbGRfbGlidG9vbF9uZWVkX2xjPSRhcmNoaXZl
X2NtZHNfbmVlZF9sYwoKIyBXaGV0aGVyIG9yIG5vdCB0byBkaXNhbGxvdyBz
aGFyZWQgbGlicyB3aGVuIHJ1bnRpbWUgbGlicyBhcmUgc3RhdGljLgphbGxv
d19saWJ0b29sX2xpYnNfd2l0aF9zdGF0aWNfcnVudGltZXM9JGVuYWJsZV9z
aGFyZWRfd2l0aF9zdGF0aWNfcnVudGltZXMKCiMgQ29tcGlsZXIgZmxhZyB0
byBhbGxvdyByZWZsZXhpdmUgZGxvcGVucy4KZXhwb3J0X2R5bmFtaWNfZmxh
Z19zcGVjPSRsdF9leHBvcnRfZHluYW1pY19mbGFnX3NwZWMKCiMgQ29tcGls
ZXIgZmxhZyB0byBnZW5lcmF0ZSBzaGFyZWQgb2JqZWN0cyBkaXJlY3RseSBm
cm9tIGFyY2hpdmVzLgp3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0kbHRfd2hv
bGVfYXJjaGl2ZV9mbGFnX3NwZWMKCiMgV2hldGhlciB0aGUgY29tcGlsZXIg
Y29wZXMgd2l0aCBwYXNzaW5nIG5vIG9iamVjdHMgZGlyZWN0bHkuCmNvbXBp
bGVyX25lZWRzX29iamVjdD0kbHRfY29tcGlsZXJfbmVlZHNfb2JqZWN0Cgoj
IENyZWF0ZSBhbiBvbGQtc3R5bGUgYXJjaGl2ZSBmcm9tIGEgc2hhcmVkIGFy
Y2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHM9JGx0X29sZF9hcmNo
aXZlX2Zyb21fbmV3X2NtZHMKCiMgQ3JlYXRlIGEgdGVtcG9yYXJ5IG9sZC1z
dHlsZSBhcmNoaXZlIHRvIGxpbmsgaW5zdGVhZCBvZiBhIHNoYXJlZCBhcmNo
aXZlLgpvbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kcz0kbHRfb2xkX2Fy
Y2hpdmVfZnJvbV9leHBzeW1zX2NtZHMKCiMgQ29tbWFuZHMgdXNlZCB0byBi
dWlsZCBhIHNoYXJlZCBhcmNoaXZlLgphcmNoaXZlX2NtZHM9JGx0X2FyY2hp
dmVfY21kcwphcmNoaXZlX2V4cHN5bV9jbWRzPSRsdF9hcmNoaXZlX2V4cHN5
bV9jbWRzCgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQgYSBsb2FkYWJsZSBt
b2R1bGUgaWYgZGlmZmVyZW50IGZyb20gYnVpbGRpbmcKIyBhIHNoYXJlZCBh
cmNoaXZlLgptb2R1bGVfY21kcz0kbHRfbW9kdWxlX2NtZHMKbW9kdWxlX2V4
cHN5bV9jbWRzPSRsdF9tb2R1bGVfZXhwc3ltX2NtZHMKCiMgV2hldGhlciB3
ZSBhcmUgYnVpbGRpbmcgd2l0aCBHTlUgbGQgb3Igbm90Lgp3aXRoX2dudV9s
ZD0kbHRfd2l0aF9nbnVfbGQKCiMgRmxhZyB0aGF0IGFsbG93cyBzaGFyZWQg
bGlicmFyaWVzIHdpdGggdW5kZWZpbmVkIHN5bWJvbHMgdG8gYmUgYnVpbHQu
CmFsbG93X3VuZGVmaW5lZF9mbGFnPSRsdF9hbGxvd191bmRlZmluZWRfZmxh
ZwoKIyBGbGFnIHRoYXQgZW5mb3JjZXMgbm8gdW5kZWZpbmVkIHN5bWJvbHMu
Cm5vX3VuZGVmaW5lZF9mbGFnPSRsdF9ub191bmRlZmluZWRfZmxhZwoKIyBG
bGFnIHRvIGhhcmRjb2RlIFwkbGliZGlyIGludG8gYSBiaW5hcnkgZHVyaW5n
IGxpbmtpbmcuCiMgVGhpcyBtdXN0IHdvcmsgZXZlbiBpZiBcJGxpYmRpciBk
b2VzIG5vdCBleGlzdApoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSRsdF9o
YXJkY29kZV9saWJkaXJfZmxhZ19zcGVjCgojIFdoZXRoZXIgd2UgbmVlZCBh
IHNpbmdsZSAiLXJwYXRoIiBmbGFnIHdpdGggYSBzZXBhcmF0ZWQgYXJndW1l
bnQuCmhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3I9JGx0X2hhcmRjb2RlX2xp
YmRpcl9zZXBhcmF0b3IKCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5nIERJUi9s
aWJOQU1FXCR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVz
CiMgRElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2RlX2Rp
cmVjdD0kaGFyZGNvZGVfZGlyZWN0CgojIFNldCB0byAieWVzIiBpZiB1c2lu
ZyBESVIvbGliTkFNRVwke3NoYXJlZF9leHR9IGR1cmluZyBsaW5raW5nIGhh
cmRjb2RlcwojIERJUiBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5IGFuZCB0
aGUgcmVzdWx0aW5nIGxpYnJhcnkgZGVwZW5kZW5jeSBpcwojICJhYnNvbHV0
ZSIsaS5lIGltcG9zc2libGUgdG8gY2hhbmdlIGJ5IHNldHRpbmcgXCR7c2hs
aWJwYXRoX3Zhcn0gaWYgdGhlCiMgbGlicmFyeSBpcyByZWxvY2F0ZWQuCmhh
cmRjb2RlX2RpcmVjdF9hYnNvbHV0ZT0kaGFyZGNvZGVfZGlyZWN0X2Fic29s
dXRlCgojIFNldCB0byAieWVzIiBpZiB1c2luZyB0aGUgLUxESVIgZmxhZyBk
dXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgcmVzdWx0
aW5nIGJpbmFyeS4KaGFyZGNvZGVfbWludXNfTD0kaGFyZGNvZGVfbWludXNf
TAoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgU0hMSUJQQVRIX1ZBUj1ESVIg
ZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzIERJUgojIGludG8gdGhlIHJlc3Vs
dGluZyBiaW5hcnkuCmhhcmRjb2RlX3NobGlicGF0aF92YXI9JGhhcmRjb2Rl
X3NobGlicGF0aF92YXIKCiMgU2V0IHRvICJ5ZXMiIGlmIGJ1aWxkaW5nIGEg
c2hhcmVkIGxpYnJhcnkgYXV0b21hdGljYWxseSBoYXJkY29kZXMgRElSCiMg
aW50byB0aGUgbGlicmFyeSBhbmQgYWxsIHN1YnNlcXVlbnQgbGlicmFyaWVz
IGFuZCBleGVjdXRhYmxlcyBsaW5rZWQKIyBhZ2FpbnN0IGl0LgpoYXJkY29k
ZV9hdXRvbWF0aWM9JGhhcmRjb2RlX2F1dG9tYXRpYwoKIyBTZXQgdG8geWVz
IGlmIGxpbmtlciBhZGRzIHJ1bnRpbWUgcGF0aHMgb2YgZGVwZW5kZW50IGxp
YnJhcmllcwojIHRvIHJ1bnRpbWUgcGF0aCBsaXN0Lgppbmhlcml0X3JwYXRo
PSRpbmhlcml0X3JwYXRoCgojIFdoZXRoZXIgbGlidG9vbCBtdXN0IGxpbmsg
YSBwcm9ncmFtIGFnYWluc3QgYWxsIGl0cyBkZXBlbmRlbmN5IGxpYnJhcmll
cy4KbGlua19hbGxfZGVwbGlicz0kbGlua19hbGxfZGVwbGlicwoKIyBTZXQg
dG8gInllcyIgaWYgZXhwb3J0ZWQgc3ltYm9scyBhcmUgcmVxdWlyZWQuCmFs
d2F5c19leHBvcnRfc3ltYm9scz0kYWx3YXlzX2V4cG9ydF9zeW1ib2xzCgoj
IFRoZSBjb21tYW5kcyB0byBsaXN0IGV4cG9ydGVkIHN5bWJvbHMuCmV4cG9y
dF9zeW1ib2xzX2NtZHM9JGx0X2V4cG9ydF9zeW1ib2xzX2NtZHMKCiMgU3lt
Ym9scyB0aGF0IHNob3VsZCBub3QgYmUgbGlzdGVkIGluIHRoZSBwcmVsb2Fk
ZWQgc3ltYm9scy4KZXhjbHVkZV9leHBzeW1zPSRsdF9leGNsdWRlX2V4cHN5
bXMKCiMgU3ltYm9scyB0aGF0IG11c3QgYWx3YXlzIGJlIGV4cG9ydGVkLgpp
bmNsdWRlX2V4cHN5bXM9JGx0X2luY2x1ZGVfZXhwc3ltcwoKIyBDb21tYW5k
cyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgcHJvZ3JhbXMgKGFnYWluc3QgbGli
cmFyaWVzKSB3aXRoIHRlbXBsYXRlcy4KcHJlbGlua19jbWRzPSRsdF9wcmVs
aW5rX2NtZHMKCiMgQ29tbWFuZHMgbmVjZXNzYXJ5IGZvciBmaW5pc2hpbmcg
bGlua2luZyBwcm9ncmFtcy4KcG9zdGxpbmtfY21kcz0kbHRfcG9zdGxpbmtf
Y21kcwoKIyBTcGVjaWZ5IGZpbGVuYW1lIGNvbnRhaW5pbmcgaW5wdXQgZmls
ZXMuCmZpbGVfbGlzdF9zcGVjPSRsdF9maWxlX2xpc3Rfc3BlYwoKIyBIb3cg
dG8gaGFyZGNvZGUgYSBzaGFyZWQgbGlicmFyeSBwYXRoIGludG8gYW4gZXhl
Y3V0YWJsZS4KaGFyZGNvZGVfYWN0aW9uPSRoYXJkY29kZV9hY3Rpb24KCiMg
VGhlIGRpcmVjdG9yaWVzIHNlYXJjaGVkIGJ5IHRoaXMgY29tcGlsZXIgd2hl
biBjcmVhdGluZyBhIHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2Vh
cmNoX2RpcnM9JGx0X2NvbXBpbGVyX2xpYl9zZWFyY2hfZGlycwoKIyBEZXBl
bmRlbmNpZXMgdG8gcGxhY2UgYmVmb3JlIGFuZCBhZnRlciB0aGUgb2JqZWN0
cyBiZWluZyBsaW5rZWQgdG8KIyBjcmVhdGUgYSBzaGFyZWQgbGlicmFyeS4K
cHJlZGVwX29iamVjdHM9JGx0X3ByZWRlcF9vYmplY3RzCnBvc3RkZXBfb2Jq
ZWN0cz0kbHRfcG9zdGRlcF9vYmplY3RzCnByZWRlcHM9JGx0X3ByZWRlcHMK
cG9zdGRlcHM9JGx0X3Bvc3RkZXBzCgojIFRoZSBsaWJyYXJ5IHNlYXJjaCBw
YXRoIHVzZWQgaW50ZXJuYWxseSBieSB0aGUgY29tcGlsZXIgd2hlbiBsaW5r
aW5nCiMgYSBzaGFyZWQgbGlicmFyeS4KY29tcGlsZXJfbGliX3NlYXJjaF9w
YXRoPSRsdF9jb21waWxlcl9saWJfc2VhcmNoX3BhdGgKCiMgIyMjIEVORCBM
SUJUT09MIENPTkZJRwoKX0xUX0VPRgoKICBjYXNlICRob3N0X29zIGluCiAg
YWl4MyopCiAgICBjYXQgPDxcX0xUX0VPRiA+PiAiJGNmZ2ZpbGUiCiMgQUlY
IHNvbWV0aW1lcyBoYXMgcHJvYmxlbXMgd2l0aCB0aGUgR0NDIGNvbGxlY3Qy
IHByb2dyYW0uICBGb3Igc29tZQojIHJlYXNvbiwgaWYgd2Ugc2V0IHRoZSBD
T0xMRUNUX05BTUVTIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGUgcHJvYmxl
bXMKIyB2YW5pc2ggaW4gYSBwdWZmIG9mIHNtb2tlLgppZiB0ZXN0ICJYJHtD
T0xMRUNUX05BTUVTK3NldH0iICE9IFhzZXQ7IHRoZW4KICBDT0xMRUNUX05B
TUVTPQogIGV4cG9ydCBDT0xMRUNUX05BTUVTCmZpCl9MVF9FT0YKICAgIDs7
CiAgZXNhYwoKCmx0bWFpbj0iJGFjX2F1eF9kaXIvbHRtYWluLnNoIgoKCiAg
IyBXZSB1c2Ugc2VkIGluc3RlYWQgb2YgY2F0IGJlY2F1c2UgYmFzaCBvbiBE
SkdQUCBnZXRzIGNvbmZ1c2VkIGlmCiAgIyBpZiBmaW5kcyBtaXhlZCBDUi9M
RiBhbmQgTEYtb25seSBsaW5lcy4gIFNpbmNlIHNlZCBvcGVyYXRlcyBpbgog
ICMgdGV4dCBtb2RlLCBpdCBwcm9wZXJseSBjb252ZXJ0cyBsaW5lcyB0byBD
Ui9MRi4gIFRoaXMgYmFzaCBwcm9ibGVtCiAgIyBpcyByZXBvcnRlZGx5IGZp
eGVkLCBidXQgd2h5IG5vdCBydW4gb24gb2xkIHZlcnNpb25zIHRvbz8KICBz
ZWQgJyRxJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCiAgICAgfHwgKHJt
IC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKCiAgaWYgdGVzdCB4IiR4c2lfc2hl
bGwiID0geHllczsgdGhlbgogIHNlZCAtZSAnL15mdW5jX2Rpcm5hbWUgKCkk
LywvXn0gIyBmdW5jX2Rpcm5hbWUgL2NcCmZ1bmNfZGlybmFtZSAoKVwKe1wK
XCAgICBjYXNlICR7MX0gaW5cClwgICAgICAqLyopIGZ1bmNfZGlybmFtZV9y
ZXN1bHQ9IiR7MSUvKn0kezJ9IiA7O1wKXCAgICAgICogICkgZnVuY19kaXJu
YW1lX3Jlc3VsdD0iJHszfSIgOztcClwgICAgZXNhY1wKfSAjIEV4dGVuZGVk
LXNoZWxsIGZ1bmNfZGlybmFtZSBpbXBsZW1lbnRhdGlvbicgIiRjZmdmaWxl
IiA+ICRjZmdmaWxlLnRtcCBcCiAgJiYgbXYgLWYgIiRjZmdmaWxlLnRtcCIg
IiRjZmdmaWxlIiBcCiAgICB8fCAocm0gLWYgIiRjZmdmaWxlIiAmJiBjcCAi
JGNmZ2ZpbGUudG1wIiAiJGNmZ2ZpbGUiICYmIHJtIC1mICIkY2ZnZmlsZS50
bXAiKQp0ZXN0IDAgLWVxICQ/IHx8IF9sdF9mdW5jdGlvbl9yZXBsYWNlX2Zh
aWw9OgoKCiAgc2VkIC1lICcvXmZ1bmNfYmFzZW5hbWUgKCkkLywvXn0gIyBm
dW5jX2Jhc2VuYW1lIC9jXApmdW5jX2Jhc2VuYW1lICgpXAp7XApcICAgIGZ1
bmNfYmFzZW5hbWVfcmVzdWx0PSIkezEjIyovfSJcCn0gIyBFeHRlbmRlZC1z
aGVsbCBmdW5jX2Jhc2VuYW1lIGltcGxlbWVudGF0aW9uJyAiJGNmZ2ZpbGUi
ID4gJGNmZ2ZpbGUudG1wIFwKICAmJiBtdiAtZiAiJGNmZ2ZpbGUudG1wIiAi
JGNmZ2ZpbGUiIFwKICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiICYmIGNwICIk
Y2ZnZmlsZS50bXAiICIkY2ZnZmlsZSIgJiYgcm0gLWYgIiRjZmdmaWxlLnRt
cCIpCnRlc3QgMCAtZXEgJD8gfHwgX2x0X2Z1bmN0aW9uX3JlcGxhY2VfZmFp
bD06CgoKICBzZWQgLWUgJy9eZnVuY19kaXJuYW1lX2FuZF9iYXNlbmFtZSAo
KSQvLC9efSAjIGZ1bmNfZGlybmFtZV9hbmRfYmFzZW5hbWUgL2NcCmZ1bmNf
ZGlybmFtZV9hbmRfYmFzZW5hbWUgKClcCntcClwgICAgY2FzZSAkezF9IGlu
XApcICAgICAgKi8qKSBmdW5jX2Rpcm5hbWVfcmVzdWx0PSIkezElLyp9JHsy
fSIgOztcClwgICAgICAqICApIGZ1bmNfZGlybmFtZV9yZXN1bHQ9IiR7M30i
IDs7XApcICAgIGVzYWNcClwgICAgZnVuY19iYXNlbmFtZV9yZXN1bHQ9IiR7
MSMjKi99IlwKfSAjIEV4dGVuZGVkLXNoZWxsIGZ1bmNfZGlybmFtZV9hbmRf
YmFzZW5hbWUgaW1wbGVtZW50YXRpb24nICIkY2ZnZmlsZSIgPiAkY2ZnZmls
ZS50bXAgXAogICYmIG12IC1mICIkY2ZnZmlsZS50bXAiICIkY2ZnZmlsZSIg
XAogICAgfHwgKHJtIC1mICIkY2ZnZmlsZSIgJiYgY3AgIiRjZmdmaWxlLnRt
cCIgIiRjZmdmaWxlIiAmJiBybSAtZiAiJGNmZ2ZpbGUudG1wIikKdGVzdCAw
IC1lcSAkPyB8fCBfbHRfZnVuY3Rpb25fcmVwbGFjZV9mYWlsPToKCgogIHNl
ZCAtZSAnL15mdW5jX3N0cmlwbmFtZSAoKSQvLC9efSAjIGZ1bmNfc3RyaXBu
YW1lIC9jXApmdW5jX3N0cmlwbmFtZSAoKVwKe1wKXCAgICAjIHBka3NoIDUu
Mi4xNCBkb2VzIG5vdCBkbyAke1glJFl9IGNvcnJlY3RseSBpZiBib3RoIFgg
YW5kIFkgYXJlXApcICAgICMgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLCBzbyBh
c3NpZ24gb25lIHRvIG9yZGluYXJ5IHBhcmFtZXRlciBmaXJzdC5cClwgICAg
ZnVuY19zdHJpcG5hbWVfcmVzdWx0PSR7M31cClwgICAgZnVuY19zdHJpcG5h
bWVfcmVzdWx0PSR7ZnVuY19zdHJpcG5hbWVfcmVzdWx0IyIkezF9In1cClwg
ICAgZnVuY19zdHJpcG5hbWVfcmVzdWx0PSR7ZnVuY19zdHJpcG5hbWVfcmVz
dWx0JSIkezJ9In1cCn0gIyBFeHRlbmRlZC1zaGVsbCBmdW5jX3N0cmlwbmFt
ZSBpbXBsZW1lbnRhdGlvbicgIiRjZmdmaWxlIiA+ICRjZmdmaWxlLnRtcCBc
CiAgJiYgbXYgLWYgIiRjZmdmaWxlLnRtcCIgIiRjZmdmaWxlIiBcCiAgICB8
fCAocm0gLWYgIiRjZmdmaWxlIiAmJiBjcCAiJGNmZ2ZpbGUudG1wIiAiJGNm
Z2ZpbGUiICYmIHJtIC1mICIkY2ZnZmlsZS50bXAiKQp0ZXN0IDAgLWVxICQ/
IHx8IF9sdF9mdW5jdGlvbl9yZXBsYWNlX2ZhaWw9OgoKCiAgc2VkIC1lICcv
XmZ1bmNfc3BsaXRfbG9uZ19vcHQgKCkkLywvXn0gIyBmdW5jX3NwbGl0X2xv
bmdfb3B0IC9jXApmdW5jX3NwbGl0X2xvbmdfb3B0ICgpXAp7XApcICAgIGZ1
bmNfc3BsaXRfbG9uZ19vcHRfbmFtZT0kezElJT0qfVwKXCAgICBmdW5jX3Nw
bGl0X2xvbmdfb3B0X2FyZz0kezEjKj19XAp9ICMgRXh0ZW5kZWQtc2hlbGwg
ZnVuY19zcGxpdF9sb25nX29wdCBpbXBsZW1lbnRhdGlvbicgIiRjZmdmaWxl
IiA+ICRjZmdmaWxlLnRtcCBcCiAgJiYgbXYgLWYgIiRjZmdmaWxlLnRtcCIg
IiRjZmdmaWxlIiBcCiAgICB8fCAocm0gLWYgIiRjZmdmaWxlIiAmJiBjcCAi
JGNmZ2ZpbGUudG1wIiAiJGNmZ2ZpbGUiICYmIHJtIC1mICIkY2ZnZmlsZS50
bXAiKQp0ZXN0IDAgLWVxICQ/IHx8IF9sdF9mdW5jdGlvbl9yZXBsYWNlX2Zh
aWw9OgoKCiAgc2VkIC1lICcvXmZ1bmNfc3BsaXRfc2hvcnRfb3B0ICgpJC8s
L159ICMgZnVuY19zcGxpdF9zaG9ydF9vcHQgL2NcCmZ1bmNfc3BsaXRfc2hv
cnRfb3B0ICgpXAp7XApcICAgIGZ1bmNfc3BsaXRfc2hvcnRfb3B0X2FyZz0k
ezEjPz99XApcICAgIGZ1bmNfc3BsaXRfc2hvcnRfb3B0X25hbWU9JHsxJSIk
ZnVuY19zcGxpdF9zaG9ydF9vcHRfYXJnIn1cCn0gIyBFeHRlbmRlZC1zaGVs
bCBmdW5jX3NwbGl0X3Nob3J0X29wdCBpbXBsZW1lbnRhdGlvbicgIiRjZmdm
aWxlIiA+ICRjZmdmaWxlLnRtcCBcCiAgJiYgbXYgLWYgIiRjZmdmaWxlLnRt
cCIgIiRjZmdmaWxlIiBcCiAgICB8fCAocm0gLWYgIiRjZmdmaWxlIiAmJiBj
cCAiJGNmZ2ZpbGUudG1wIiAiJGNmZ2ZpbGUiICYmIHJtIC1mICIkY2ZnZmls
ZS50bXAiKQp0ZXN0IDAgLWVxICQ/IHx8IF9sdF9mdW5jdGlvbl9yZXBsYWNl
X2ZhaWw9OgoKCiAgc2VkIC1lICcvXmZ1bmNfbG8ybyAoKSQvLC9efSAjIGZ1
bmNfbG8ybyAvY1wKZnVuY19sbzJvICgpXAp7XApcICAgIGNhc2UgJHsxfSBp
blwKXCAgICAgICoubG8pIGZ1bmNfbG8yb19yZXN1bHQ9JHsxJS5sb30uJHtv
YmpleHR9IDs7XApcICAgICAgKikgICAgZnVuY19sbzJvX3Jlc3VsdD0kezF9
IDs7XApcICAgIGVzYWNcCn0gIyBFeHRlbmRlZC1zaGVsbCBmdW5jX2xvMm8g
aW1wbGVtZW50YXRpb24nICIkY2ZnZmlsZSIgPiAkY2ZnZmlsZS50bXAgXAog
ICYmIG12IC1mICIkY2ZnZmlsZS50bXAiICIkY2ZnZmlsZSIgXAogICAgfHwg
KHJtIC1mICIkY2ZnZmlsZSIgJiYgY3AgIiRjZmdmaWxlLnRtcCIgIiRjZmdm
aWxlIiAmJiBybSAtZiAiJGNmZ2ZpbGUudG1wIikKdGVzdCAwIC1lcSAkPyB8
fCBfbHRfZnVuY3Rpb25fcmVwbGFjZV9mYWlsPToKCgogIHNlZCAtZSAnL15m
dW5jX3hmb3JtICgpJC8sL159ICMgZnVuY194Zm9ybSAvY1wKZnVuY194Zm9y
bSAoKVwKe1wKICAgIGZ1bmNfeGZvcm1fcmVzdWx0PSR7MSUuKn0ubG9cCn0g
IyBFeHRlbmRlZC1zaGVsbCBmdW5jX3hmb3JtIGltcGxlbWVudGF0aW9uJyAi
JGNmZ2ZpbGUiID4gJGNmZ2ZpbGUudG1wIFwKICAmJiBtdiAtZiAiJGNmZ2Zp
bGUudG1wIiAiJGNmZ2ZpbGUiIFwKICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUi
ICYmIGNwICIkY2ZnZmlsZS50bXAiICIkY2ZnZmlsZSIgJiYgcm0gLWYgIiRj
ZmdmaWxlLnRtcCIpCnRlc3QgMCAtZXEgJD8gfHwgX2x0X2Z1bmN0aW9uX3Jl
cGxhY2VfZmFpbD06CgoKICBzZWQgLWUgJy9eZnVuY19hcml0aCAoKSQvLC9e
fSAjIGZ1bmNfYXJpdGggL2NcCmZ1bmNfYXJpdGggKClcCntcCiAgICBmdW5j
X2FyaXRoX3Jlc3VsdD0kKCggJCogKSlcCn0gIyBFeHRlbmRlZC1zaGVsbCBm
dW5jX2FyaXRoIGltcGxlbWVudGF0aW9uJyAiJGNmZ2ZpbGUiID4gJGNmZ2Zp
bGUudG1wIFwKICAmJiBtdiAtZiAiJGNmZ2ZpbGUudG1wIiAiJGNmZ2ZpbGUi
IFwKICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiICYmIGNwICIkY2ZnZmlsZS50
bXAiICIkY2ZnZmlsZSIgJiYgcm0gLWYgIiRjZmdmaWxlLnRtcCIpCnRlc3Qg
MCAtZXEgJD8gfHwgX2x0X2Z1bmN0aW9uX3JlcGxhY2VfZmFpbD06CgoKICBz
ZWQgLWUgJy9eZnVuY19sZW4gKCkkLywvXn0gIyBmdW5jX2xlbiAvY1wKZnVu
Y19sZW4gKClcCntcCiAgICBmdW5jX2xlbl9yZXN1bHQ9JHsjMX1cCn0gIyBF
eHRlbmRlZC1zaGVsbCBmdW5jX2xlbiBpbXBsZW1lbnRhdGlvbicgIiRjZmdm
aWxlIiA+ICRjZmdmaWxlLnRtcCBcCiAgJiYgbXYgLWYgIiRjZmdmaWxlLnRt
cCIgIiRjZmdmaWxlIiBcCiAgICB8fCAocm0gLWYgIiRjZmdmaWxlIiAmJiBj
cCAiJGNmZ2ZpbGUudG1wIiAiJGNmZ2ZpbGUiICYmIHJtIC1mICIkY2ZnZmls
ZS50bXAiKQp0ZXN0IDAgLWVxICQ/IHx8IF9sdF9mdW5jdGlvbl9yZXBsYWNl
X2ZhaWw9OgoKZmkKCmlmIHRlc3QgeCIkbHRfc2hlbGxfYXBwZW5kIiA9IHh5
ZXM7IHRoZW4KICBzZWQgLWUgJy9eZnVuY19hcHBlbmQgKCkkLywvXn0gIyBm
dW5jX2FwcGVuZCAvY1wKZnVuY19hcHBlbmQgKClcCntcCiAgICBldmFsICIk
ezF9Kz1cXCR7Mn0iXAp9ICMgRXh0ZW5kZWQtc2hlbGwgZnVuY19hcHBlbmQg
aW1wbGVtZW50YXRpb24nICIkY2ZnZmlsZSIgPiAkY2ZnZmlsZS50bXAgXAog
ICYmIG12IC1mICIkY2ZnZmlsZS50bXAiICIkY2ZnZmlsZSIgXAogICAgfHwg
KHJtIC1mICIkY2ZnZmlsZSIgJiYgY3AgIiRjZmdmaWxlLnRtcCIgIiRjZmdm
aWxlIiAmJiBybSAtZiAiJGNmZ2ZpbGUudG1wIikKdGVzdCAwIC1lcSAkPyB8
fCBfbHRfZnVuY3Rpb25fcmVwbGFjZV9mYWlsPToKCgogIHNlZCAtZSAnL15m
dW5jX2FwcGVuZF9xdW90ZWQgKCkkLywvXn0gIyBmdW5jX2FwcGVuZF9xdW90
ZWQgL2NcCmZ1bmNfYXBwZW5kX3F1b3RlZCAoKVwKe1wKXCAgICBmdW5jX3F1
b3RlX2Zvcl9ldmFsICIkezJ9IlwKXCAgICBldmFsICIkezF9Kz1cXFxcIFxc
JGZ1bmNfcXVvdGVfZm9yX2V2YWxfcmVzdWx0IlwKfSAjIEV4dGVuZGVkLXNo
ZWxsIGZ1bmNfYXBwZW5kX3F1b3RlZCBpbXBsZW1lbnRhdGlvbicgIiRjZmdm
aWxlIiA+ICRjZmdmaWxlLnRtcCBcCiAgJiYgbXYgLWYgIiRjZmdmaWxlLnRt
cCIgIiRjZmdmaWxlIiBcCiAgICB8fCAocm0gLWYgIiRjZmdmaWxlIiAmJiBj
cCAiJGNmZ2ZpbGUudG1wIiAiJGNmZ2ZpbGUiICYmIHJtIC1mICIkY2ZnZmls
ZS50bXAiKQp0ZXN0IDAgLWVxICQ/IHx8IF9sdF9mdW5jdGlvbl9yZXBsYWNl
X2ZhaWw9OgoKCiAgIyBTYXZlIGEgYGZ1bmNfYXBwZW5kJyBmdW5jdGlvbiBj
YWxsIHdoZXJlIHBvc3NpYmxlIGJ5IGRpcmVjdCB1c2Ugb2YgJys9JwogIHNl
ZCAtZSAncyVmdW5jX2FwcGVuZCBcKFthLXpBLVpfXVx7MSxcfVwpICIlXDEr
PSIlZycgJGNmZ2ZpbGUgPiAkY2ZnZmlsZS50bXAgXAogICAgJiYgbXYgLWYg
IiRjZmdmaWxlLnRtcCIgIiRjZmdmaWxlIiBcCiAgICAgIHx8IChybSAtZiAi
JGNmZ2ZpbGUiICYmIGNwICIkY2ZnZmlsZS50bXAiICIkY2ZnZmlsZSIgJiYg
cm0gLWYgIiRjZmdmaWxlLnRtcCIpCiAgdGVzdCAwIC1lcSAkPyB8fCBfbHRf
ZnVuY3Rpb25fcmVwbGFjZV9mYWlsPToKZWxzZQogICMgU2F2ZSBhIGBmdW5j
X2FwcGVuZCcgZnVuY3Rpb24gY2FsbCBldmVuIHdoZW4gJys9JyBpcyBub3Qg
YXZhaWxhYmxlCiAgc2VkIC1lICdzJWZ1bmNfYXBwZW5kIFwoW2EtekEtWl9d
XHsxLFx9XCkgIiVcMT0iJFwxJWcnICRjZmdmaWxlID4gJGNmZ2ZpbGUudG1w
IFwKICAgICYmIG12IC1mICIkY2ZnZmlsZS50bXAiICIkY2ZnZmlsZSIgXAog
ICAgICB8fCAocm0gLWYgIiRjZmdmaWxlIiAmJiBjcCAiJGNmZ2ZpbGUudG1w
IiAiJGNmZ2ZpbGUiICYmIHJtIC1mICIkY2ZnZmlsZS50bXAiKQogIHRlc3Qg
MCAtZXEgJD8gfHwgX2x0X2Z1bmN0aW9uX3JlcGxhY2VfZmFpbD06CmZpCgpp
ZiB0ZXN0IHgiJF9sdF9mdW5jdGlvbl9yZXBsYWNlX2ZhaWwiID0geCI6Ijsg
dGhlbgogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogV0FSTklORzogVW5hYmxlIHRvIHN1YnN0aXR1dGUgZXh0ZW5kZWQgc2hl
bGwgZnVuY3Rpb25zIGluICRvZmlsZSIgPiY1CiRhc19lY2hvICIkYXNfbWU6
IFdBUk5JTkc6IFVuYWJsZSB0byBzdWJzdGl0dXRlIGV4dGVuZGVkIHNoZWxs
IGZ1bmN0aW9ucyBpbiAkb2ZpbGUiID4mMjt9CmZpCgoKICAgbXYgLWYgIiRj
ZmdmaWxlIiAiJG9maWxlIiB8fAogICAgKHJtIC1mICIkb2ZpbGUiICYmIGNw
ICIkY2ZnZmlsZSIgIiRvZmlsZSIgJiYgcm0gLWYgIiRjZmdmaWxlIikKICBj
aG1vZCAreCAiJG9maWxlIgoKCiAgICBjYXQgPDxfTFRfRU9GID4+ICIkb2Zp
bGUiCgojICMjIyBCRUdJTiBMSUJUT09MIFRBRyBDT05GSUc6IENYWAoKIyBU
aGUgbGlua2VyIHVzZWQgdG8gYnVpbGQgbGlicmFyaWVzLgpMRD0kbHRfTERf
Q1hYCgojIEhvdyB0byBjcmVhdGUgcmVsb2FkYWJsZSBvYmplY3QgZmlsZXMu
CnJlbG9hZF9mbGFnPSRsdF9yZWxvYWRfZmxhZ19DWFgKcmVsb2FkX2NtZHM9
JGx0X3JlbG9hZF9jbWRzX0NYWAoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1aWxk
IGFuIG9sZC1zdHlsZSBhcmNoaXZlLgpvbGRfYXJjaGl2ZV9jbWRzPSRsdF9v
bGRfYXJjaGl2ZV9jbWRzX0NYWAoKIyBBIGxhbmd1YWdlIHNwZWNpZmljIGNv
bXBpbGVyLgpDQz0kbHRfY29tcGlsZXJfQ1hYCgojIElzIHRoZSBjb21waWxl
ciB0aGUgR05VIGNvbXBpbGVyPwp3aXRoX2djYz0kR0NDX0NYWAoKIyBDb21w
aWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1aWx0aW4gZnVuY3Rpb25zLgpub19i
dWlsdGluX2ZsYWc9JGx0X2x0X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRpbl9m
bGFnX0NYWAoKIyBBZGRpdGlvbmFsIGNvbXBpbGVyIGZsYWdzIGZvciBidWls
ZGluZyBsaWJyYXJ5IG9iamVjdHMuCnBpY19mbGFnPSRsdF9sdF9wcm9nX2Nv
bXBpbGVyX3BpY19DWFgKCiMgSG93IHRvIHBhc3MgYSBsaW5rZXIgZmxhZyB0
aHJvdWdoIHRoZSBjb21waWxlci4Kd2w9JGx0X2x0X3Byb2dfY29tcGlsZXJf
d2xfQ1hYCgojIENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5hbWljIGxp
bmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9JGx0X2x0X3Byb2dfY29tcGlsZXJf
c3RhdGljX0NYWAoKIyBEb2VzIGNvbXBpbGVyIHNpbXVsdGFuZW91c2x5IHN1
cHBvcnQgLWMgYW5kIC1vIG9wdGlvbnM/CmNvbXBpbGVyX2Nfbz0kbHRfbHRf
Y3ZfcHJvZ19jb21waWxlcl9jX29fQ1hYCgojIFdoZXRoZXIgb3Igbm90IHRv
IGFkZCAtbGMgZm9yIGJ1aWxkaW5nIHNoYXJlZCBsaWJyYXJpZXMuCmJ1aWxk
X2xpYnRvb2xfbmVlZF9sYz0kYXJjaGl2ZV9jbWRzX25lZWRfbGNfQ1hYCgoj
IFdoZXRoZXIgb3Igbm90IHRvIGRpc2FsbG93IHNoYXJlZCBsaWJzIHdoZW4g
cnVudGltZSBsaWJzIGFyZSBzdGF0aWMuCmFsbG93X2xpYnRvb2xfbGlic193
aXRoX3N0YXRpY19ydW50aW1lcz0kZW5hYmxlX3NoYXJlZF93aXRoX3N0YXRp
Y19ydW50aW1lc19DWFgKCiMgQ29tcGlsZXIgZmxhZyB0byBhbGxvdyByZWZs
ZXhpdmUgZGxvcGVucy4KZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjPSRsdF9l
eHBvcnRfZHluYW1pY19mbGFnX3NwZWNfQ1hYCgojIENvbXBpbGVyIGZsYWcg
dG8gZ2VuZXJhdGUgc2hhcmVkIG9iamVjdHMgZGlyZWN0bHkgZnJvbSBhcmNo
aXZlcy4Kd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9JGx0X3dob2xlX2FyY2hp
dmVfZmxhZ19zcGVjX0NYWAoKIyBXaGV0aGVyIHRoZSBjb21waWxlciBjb3Bl
cyB3aXRoIHBhc3Npbmcgbm8gb2JqZWN0cyBkaXJlY3RseS4KY29tcGlsZXJf
bmVlZHNfb2JqZWN0PSRsdF9jb21waWxlcl9uZWVkc19vYmplY3RfQ1hYCgoj
IENyZWF0ZSBhbiBvbGQtc3R5bGUgYXJjaGl2ZSBmcm9tIGEgc2hhcmVkIGFy
Y2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHM9JGx0X29sZF9hcmNo
aXZlX2Zyb21fbmV3X2NtZHNfQ1hYCgojIENyZWF0ZSBhIHRlbXBvcmFyeSBv
bGQtc3R5bGUgYXJjaGl2ZSB0byBsaW5rIGluc3RlYWQgb2YgYSBzaGFyZWQg
YXJjaGl2ZS4Kb2xkX2FyY2hpdmVfZnJvbV9leHBzeW1zX2NtZHM9JGx0X29s
ZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzX0NYWAoKIyBDb21tYW5kcyB1
c2VkIHRvIGJ1aWxkIGEgc2hhcmVkIGFyY2hpdmUuCmFyY2hpdmVfY21kcz0k
bHRfYXJjaGl2ZV9jbWRzX0NYWAphcmNoaXZlX2V4cHN5bV9jbWRzPSRsdF9h
cmNoaXZlX2V4cHN5bV9jbWRzX0NYWAoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1
aWxkIGEgbG9hZGFibGUgbW9kdWxlIGlmIGRpZmZlcmVudCBmcm9tIGJ1aWxk
aW5nCiMgYSBzaGFyZWQgYXJjaGl2ZS4KbW9kdWxlX2NtZHM9JGx0X21vZHVs
ZV9jbWRzX0NYWAptb2R1bGVfZXhwc3ltX2NtZHM9JGx0X21vZHVsZV9leHBz
eW1fY21kc19DWFgKCiMgV2hldGhlciB3ZSBhcmUgYnVpbGRpbmcgd2l0aCBH
TlUgbGQgb3Igbm90Lgp3aXRoX2dudV9sZD0kbHRfd2l0aF9nbnVfbGRfQ1hY
CgojIEZsYWcgdGhhdCBhbGxvd3Mgc2hhcmVkIGxpYnJhcmllcyB3aXRoIHVu
ZGVmaW5lZCBzeW1ib2xzIHRvIGJlIGJ1aWx0LgphbGxvd191bmRlZmluZWRf
ZmxhZz0kbHRfYWxsb3dfdW5kZWZpbmVkX2ZsYWdfQ1hYCgojIEZsYWcgdGhh
dCBlbmZvcmNlcyBubyB1bmRlZmluZWQgc3ltYm9scy4Kbm9fdW5kZWZpbmVk
X2ZsYWc9JGx0X25vX3VuZGVmaW5lZF9mbGFnX0NYWAoKIyBGbGFnIHRvIGhh
cmRjb2RlIFwkbGliZGlyIGludG8gYSBiaW5hcnkgZHVyaW5nIGxpbmtpbmcu
CiMgVGhpcyBtdXN0IHdvcmsgZXZlbiBpZiBcJGxpYmRpciBkb2VzIG5vdCBl
eGlzdApoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSRsdF9oYXJkY29kZV9s
aWJkaXJfZmxhZ19zcGVjX0NYWAoKIyBXaGV0aGVyIHdlIG5lZWQgYSBzaW5n
bGUgIi1ycGF0aCIgZmxhZyB3aXRoIGEgc2VwYXJhdGVkIGFyZ3VtZW50Lgpo
YXJkY29kZV9saWJkaXJfc2VwYXJhdG9yPSRsdF9oYXJkY29kZV9saWJkaXJf
c2VwYXJhdG9yX0NYWAoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgRElSL2xp
Yk5BTUVcJHtzaGFyZWRfZXh0fSBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMK
IyBESVIgaW50byB0aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfZGly
ZWN0PSRoYXJkY29kZV9kaXJlY3RfQ1hYCgojIFNldCB0byAieWVzIiBpZiB1
c2luZyBESVIvbGliTkFNRVwke3NoYXJlZF9leHR9IGR1cmluZyBsaW5raW5n
IGhhcmRjb2RlcwojIERJUiBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5IGFu
ZCB0aGUgcmVzdWx0aW5nIGxpYnJhcnkgZGVwZW5kZW5jeSBpcwojICJhYnNv
bHV0ZSIsaS5lIGltcG9zc2libGUgdG8gY2hhbmdlIGJ5IHNldHRpbmcgXCR7
c2hsaWJwYXRoX3Zhcn0gaWYgdGhlCiMgbGlicmFyeSBpcyByZWxvY2F0ZWQu
CmhhcmRjb2RlX2RpcmVjdF9hYnNvbHV0ZT0kaGFyZGNvZGVfZGlyZWN0X2Fi
c29sdXRlX0NYWAoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgdGhlIC1MRElS
IGZsYWcgZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzIERJUgojIGludG8gdGhl
IHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2RlX21pbnVzX0w9JGhhcmRjb2Rl
X21pbnVzX0xfQ1hYCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBTSExJQlBB
VEhfVkFSPURJUiBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50
byB0aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfc2hsaWJwYXRoX3Zh
cj0kaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcl9DWFgKCiMgU2V0IHRvICJ5ZXMi
IGlmIGJ1aWxkaW5nIGEgc2hhcmVkIGxpYnJhcnkgYXV0b21hdGljYWxseSBo
YXJkY29kZXMgRElSCiMgaW50byB0aGUgbGlicmFyeSBhbmQgYWxsIHN1YnNl
cXVlbnQgbGlicmFyaWVzIGFuZCBleGVjdXRhYmxlcyBsaW5rZWQKIyBhZ2Fp
bnN0IGl0LgpoYXJkY29kZV9hdXRvbWF0aWM9JGhhcmRjb2RlX2F1dG9tYXRp
Y19DWFgKCiMgU2V0IHRvIHllcyBpZiBsaW5rZXIgYWRkcyBydW50aW1lIHBh
dGhzIG9mIGRlcGVuZGVudCBsaWJyYXJpZXMKIyB0byBydW50aW1lIHBhdGgg
bGlzdC4KaW5oZXJpdF9ycGF0aD0kaW5oZXJpdF9ycGF0aF9DWFgKCiMgV2hl
dGhlciBsaWJ0b29sIG11c3QgbGluayBhIHByb2dyYW0gYWdhaW5zdCBhbGwg
aXRzIGRlcGVuZGVuY3kgbGlicmFyaWVzLgpsaW5rX2FsbF9kZXBsaWJzPSRs
aW5rX2FsbF9kZXBsaWJzX0NYWAoKIyBTZXQgdG8gInllcyIgaWYgZXhwb3J0
ZWQgc3ltYm9scyBhcmUgcmVxdWlyZWQuCmFsd2F5c19leHBvcnRfc3ltYm9s
cz0kYWx3YXlzX2V4cG9ydF9zeW1ib2xzX0NYWAoKIyBUaGUgY29tbWFuZHMg
dG8gbGlzdCBleHBvcnRlZCBzeW1ib2xzLgpleHBvcnRfc3ltYm9sc19jbWRz
PSRsdF9leHBvcnRfc3ltYm9sc19jbWRzX0NYWAoKIyBTeW1ib2xzIHRoYXQg
c2hvdWxkIG5vdCBiZSBsaXN0ZWQgaW4gdGhlIHByZWxvYWRlZCBzeW1ib2xz
LgpleGNsdWRlX2V4cHN5bXM9JGx0X2V4Y2x1ZGVfZXhwc3ltc19DWFgKCiMg
U3ltYm9scyB0aGF0IG11c3QgYWx3YXlzIGJlIGV4cG9ydGVkLgppbmNsdWRl
X2V4cHN5bXM9JGx0X2luY2x1ZGVfZXhwc3ltc19DWFgKCiMgQ29tbWFuZHMg
bmVjZXNzYXJ5IGZvciBsaW5raW5nIHByb2dyYW1zIChhZ2FpbnN0IGxpYnJh
cmllcykgd2l0aCB0ZW1wbGF0ZXMuCnByZWxpbmtfY21kcz0kbHRfcHJlbGlu
a19jbWRzX0NYWAoKIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGZpbmlzaGlu
ZyBsaW5raW5nIHByb2dyYW1zLgpwb3N0bGlua19jbWRzPSRsdF9wb3N0bGlu
a19jbWRzX0NYWAoKIyBTcGVjaWZ5IGZpbGVuYW1lIGNvbnRhaW5pbmcgaW5w
dXQgZmlsZXMuCmZpbGVfbGlzdF9zcGVjPSRsdF9maWxlX2xpc3Rfc3BlY19D
WFgKCiMgSG93IHRvIGhhcmRjb2RlIGEgc2hhcmVkIGxpYnJhcnkgcGF0aCBp
bnRvIGFuIGV4ZWN1dGFibGUuCmhhcmRjb2RlX2FjdGlvbj0kaGFyZGNvZGVf
YWN0aW9uX0NYWAoKIyBUaGUgZGlyZWN0b3JpZXMgc2VhcmNoZWQgYnkgdGhp
cyBjb21waWxlciB3aGVuIGNyZWF0aW5nIGEgc2hhcmVkIGxpYnJhcnkuCmNv
bXBpbGVyX2xpYl9zZWFyY2hfZGlycz0kbHRfY29tcGlsZXJfbGliX3NlYXJj
aF9kaXJzX0NYWAoKIyBEZXBlbmRlbmNpZXMgdG8gcGxhY2UgYmVmb3JlIGFu
ZCBhZnRlciB0aGUgb2JqZWN0cyBiZWluZyBsaW5rZWQgdG8KIyBjcmVhdGUg
YSBzaGFyZWQgbGlicmFyeS4KcHJlZGVwX29iamVjdHM9JGx0X3ByZWRlcF9v
YmplY3RzX0NYWApwb3N0ZGVwX29iamVjdHM9JGx0X3Bvc3RkZXBfb2JqZWN0
c19DWFgKcHJlZGVwcz0kbHRfcHJlZGVwc19DWFgKcG9zdGRlcHM9JGx0X3Bv
c3RkZXBzX0NYWAoKIyBUaGUgbGlicmFyeSBzZWFyY2ggcGF0aCB1c2VkIGlu
dGVybmFsbHkgYnkgdGhlIGNvbXBpbGVyIHdoZW4gbGlua2luZwojIGEgc2hh
cmVkIGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9zZWFyY2hfcGF0aD0kbHRfY29t
cGlsZXJfbGliX3NlYXJjaF9wYXRoX0NYWAoKIyAjIyMgRU5EIExJQlRPT0wg
VEFHIENPTkZJRzogQ1hYCl9MVF9FT0YKCgogICAgY2F0IDw8X0xUX0VPRiA+
PiAiJG9maWxlIgoKIyAjIyMgQkVHSU4gTElCVE9PTCBUQUcgQ09ORklHOiBG
NzcKCiMgVGhlIGxpbmtlciB1c2VkIHRvIGJ1aWxkIGxpYnJhcmllcy4KTEQ9
JGx0X0xEX0Y3NwoKIyBIb3cgdG8gY3JlYXRlIHJlbG9hZGFibGUgb2JqZWN0
IGZpbGVzLgpyZWxvYWRfZmxhZz0kbHRfcmVsb2FkX2ZsYWdfRjc3CnJlbG9h
ZF9jbWRzPSRsdF9yZWxvYWRfY21kc19GNzcKCiMgQ29tbWFuZHMgdXNlZCB0
byBidWlsZCBhbiBvbGQtc3R5bGUgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfY21k
cz0kbHRfb2xkX2FyY2hpdmVfY21kc19GNzcKCiMgQSBsYW5ndWFnZSBzcGVj
aWZpYyBjb21waWxlci4KQ0M9JGx0X2NvbXBpbGVyX0Y3NwoKIyBJcyB0aGUg
Y29tcGlsZXIgdGhlIEdOVSBjb21waWxlcj8Kd2l0aF9nY2M9JEdDQ19GNzcK
CiMgQ29tcGlsZXIgZmxhZyB0byB0dXJuIG9mZiBidWlsdGluIGZ1bmN0aW9u
cy4Kbm9fYnVpbHRpbl9mbGFnPSRsdF9sdF9wcm9nX2NvbXBpbGVyX25vX2J1
aWx0aW5fZmxhZ19GNzcKCiMgQWRkaXRpb25hbCBjb21waWxlciBmbGFncyBm
b3IgYnVpbGRpbmcgbGlicmFyeSBvYmplY3RzLgpwaWNfZmxhZz0kbHRfbHRf
cHJvZ19jb21waWxlcl9waWNfRjc3CgojIEhvdyB0byBwYXNzIGEgbGlua2Vy
IGZsYWcgdGhyb3VnaCB0aGUgY29tcGlsZXIuCndsPSRsdF9sdF9wcm9nX2Nv
bXBpbGVyX3dsX0Y3NwoKIyBDb21waWxlciBmbGFnIHRvIHByZXZlbnQgZHlu
YW1pYyBsaW5raW5nLgpsaW5rX3N0YXRpY19mbGFnPSRsdF9sdF9wcm9nX2Nv
bXBpbGVyX3N0YXRpY19GNzcKCiMgRG9lcyBjb21waWxlciBzaW11bHRhbmVv
dXNseSBzdXBwb3J0IC1jIGFuZCAtbyBvcHRpb25zPwpjb21waWxlcl9jX289
JGx0X2x0X2N2X3Byb2dfY29tcGlsZXJfY19vX0Y3NwoKIyBXaGV0aGVyIG9y
IG5vdCB0byBhZGQgLWxjIGZvciBidWlsZGluZyBzaGFyZWQgbGlicmFyaWVz
LgpidWlsZF9saWJ0b29sX25lZWRfbGM9JGFyY2hpdmVfY21kc19uZWVkX2xj
X0Y3NwoKIyBXaGV0aGVyIG9yIG5vdCB0byBkaXNhbGxvdyBzaGFyZWQgbGli
cyB3aGVuIHJ1bnRpbWUgbGlicyBhcmUgc3RhdGljLgphbGxvd19saWJ0b29s
X2xpYnNfd2l0aF9zdGF0aWNfcnVudGltZXM9JGVuYWJsZV9zaGFyZWRfd2l0
aF9zdGF0aWNfcnVudGltZXNfRjc3CgojIENvbXBpbGVyIGZsYWcgdG8gYWxs
b3cgcmVmbGV4aXZlIGRsb3BlbnMuCmV4cG9ydF9keW5hbWljX2ZsYWdfc3Bl
Yz0kbHRfZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjX0Y3NwoKIyBDb21waWxl
ciBmbGFnIHRvIGdlbmVyYXRlIHNoYXJlZCBvYmplY3RzIGRpcmVjdGx5IGZy
b20gYXJjaGl2ZXMuCndob2xlX2FyY2hpdmVfZmxhZ19zcGVjPSRsdF93aG9s
ZV9hcmNoaXZlX2ZsYWdfc3BlY19GNzcKCiMgV2hldGhlciB0aGUgY29tcGls
ZXIgY29wZXMgd2l0aCBwYXNzaW5nIG5vIG9iamVjdHMgZGlyZWN0bHkuCmNv
bXBpbGVyX25lZWRzX29iamVjdD0kbHRfY29tcGlsZXJfbmVlZHNfb2JqZWN0
X0Y3NwoKIyBDcmVhdGUgYW4gb2xkLXN0eWxlIGFyY2hpdmUgZnJvbSBhIHNo
YXJlZCBhcmNoaXZlLgpvbGRfYXJjaGl2ZV9mcm9tX25ld19jbWRzPSRsdF9v
bGRfYXJjaGl2ZV9mcm9tX25ld19jbWRzX0Y3NwoKIyBDcmVhdGUgYSB0ZW1w
b3Jhcnkgb2xkLXN0eWxlIGFyY2hpdmUgdG8gbGluayBpbnN0ZWFkIG9mIGEg
c2hhcmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRz
PSRsdF9vbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kc19GNzcKCiMgQ29t
bWFuZHMgdXNlZCB0byBidWlsZCBhIHNoYXJlZCBhcmNoaXZlLgphcmNoaXZl
X2NtZHM9JGx0X2FyY2hpdmVfY21kc19GNzcKYXJjaGl2ZV9leHBzeW1fY21k
cz0kbHRfYXJjaGl2ZV9leHBzeW1fY21kc19GNzcKCiMgQ29tbWFuZHMgdXNl
ZCB0byBidWlsZCBhIGxvYWRhYmxlIG1vZHVsZSBpZiBkaWZmZXJlbnQgZnJv
bSBidWlsZGluZwojIGEgc2hhcmVkIGFyY2hpdmUuCm1vZHVsZV9jbWRzPSRs
dF9tb2R1bGVfY21kc19GNzcKbW9kdWxlX2V4cHN5bV9jbWRzPSRsdF9tb2R1
bGVfZXhwc3ltX2NtZHNfRjc3CgojIFdoZXRoZXIgd2UgYXJlIGJ1aWxkaW5n
IHdpdGggR05VIGxkIG9yIG5vdC4Kd2l0aF9nbnVfbGQ9JGx0X3dpdGhfZ251
X2xkX0Y3NwoKIyBGbGFnIHRoYXQgYWxsb3dzIHNoYXJlZCBsaWJyYXJpZXMg
d2l0aCB1bmRlZmluZWQgc3ltYm9scyB0byBiZSBidWlsdC4KYWxsb3dfdW5k
ZWZpbmVkX2ZsYWc9JGx0X2FsbG93X3VuZGVmaW5lZF9mbGFnX0Y3NwoKIyBG
bGFnIHRoYXQgZW5mb3JjZXMgbm8gdW5kZWZpbmVkIHN5bWJvbHMuCm5vX3Vu
ZGVmaW5lZF9mbGFnPSRsdF9ub191bmRlZmluZWRfZmxhZ19GNzcKCiMgRmxh
ZyB0byBoYXJkY29kZSBcJGxpYmRpciBpbnRvIGEgYmluYXJ5IGR1cmluZyBs
aW5raW5nLgojIFRoaXMgbXVzdCB3b3JrIGV2ZW4gaWYgXCRsaWJkaXIgZG9l
cyBub3QgZXhpc3QKaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0kbHRfaGFy
ZGNvZGVfbGliZGlyX2ZsYWdfc3BlY19GNzcKCiMgV2hldGhlciB3ZSBuZWVk
IGEgc2luZ2xlICItcnBhdGgiIGZsYWcgd2l0aCBhIHNlcGFyYXRlZCBhcmd1
bWVudC4KaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvcj0kbHRfaGFyZGNvZGVf
bGliZGlyX3NlcGFyYXRvcl9GNzcKCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5n
IERJUi9saWJOQU1FXCR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcgaGFy
ZGNvZGVzCiMgRElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRj
b2RlX2RpcmVjdD0kaGFyZGNvZGVfZGlyZWN0X0Y3NwoKIyBTZXQgdG8gInll
cyIgaWYgdXNpbmcgRElSL2xpYk5BTUVcJHtzaGFyZWRfZXh0fSBkdXJpbmcg
bGlua2luZyBoYXJkY29kZXMKIyBESVIgaW50byB0aGUgcmVzdWx0aW5nIGJp
bmFyeSBhbmQgdGhlIHJlc3VsdGluZyBsaWJyYXJ5IGRlcGVuZGVuY3kgaXMK
IyAiYWJzb2x1dGUiLGkuZSBpbXBvc3NpYmxlIHRvIGNoYW5nZSBieSBzZXR0
aW5nIFwke3NobGlicGF0aF92YXJ9IGlmIHRoZQojIGxpYnJhcnkgaXMgcmVs
b2NhdGVkLgpoYXJkY29kZV9kaXJlY3RfYWJzb2x1dGU9JGhhcmRjb2RlX2Rp
cmVjdF9hYnNvbHV0ZV9GNzcKCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5nIHRo
ZSAtTERJUiBmbGFnIGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcyBESVIKIyBp
bnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9taW51c19MPSRo
YXJkY29kZV9taW51c19MX0Y3NwoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcg
U0hMSUJQQVRIX1ZBUj1ESVIgZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzIERJ
UgojIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2RlX3NobGli
cGF0aF92YXI9JGhhcmRjb2RlX3NobGlicGF0aF92YXJfRjc3CgojIFNldCB0
byAieWVzIiBpZiBidWlsZGluZyBhIHNoYXJlZCBsaWJyYXJ5IGF1dG9tYXRp
Y2FsbHkgaGFyZGNvZGVzIERJUgojIGludG8gdGhlIGxpYnJhcnkgYW5kIGFs
bCBzdWJzZXF1ZW50IGxpYnJhcmllcyBhbmQgZXhlY3V0YWJsZXMgbGlua2Vk
CiMgYWdhaW5zdCBpdC4KaGFyZGNvZGVfYXV0b21hdGljPSRoYXJkY29kZV9h
dXRvbWF0aWNfRjc3CgojIFNldCB0byB5ZXMgaWYgbGlua2VyIGFkZHMgcnVu
dGltZSBwYXRocyBvZiBkZXBlbmRlbnQgbGlicmFyaWVzCiMgdG8gcnVudGlt
ZSBwYXRoIGxpc3QuCmluaGVyaXRfcnBhdGg9JGluaGVyaXRfcnBhdGhfRjc3
CgojIFdoZXRoZXIgbGlidG9vbCBtdXN0IGxpbmsgYSBwcm9ncmFtIGFnYWlu
c3QgYWxsIGl0cyBkZXBlbmRlbmN5IGxpYnJhcmllcy4KbGlua19hbGxfZGVw
bGlicz0kbGlua19hbGxfZGVwbGlic19GNzcKCiMgU2V0IHRvICJ5ZXMiIGlm
IGV4cG9ydGVkIHN5bWJvbHMgYXJlIHJlcXVpcmVkLgphbHdheXNfZXhwb3J0
X3N5bWJvbHM9JGFsd2F5c19leHBvcnRfc3ltYm9sc19GNzcKCiMgVGhlIGNv
bW1hbmRzIHRvIGxpc3QgZXhwb3J0ZWQgc3ltYm9scy4KZXhwb3J0X3N5bWJv
bHNfY21kcz0kbHRfZXhwb3J0X3N5bWJvbHNfY21kc19GNzcKCiMgU3ltYm9s
cyB0aGF0IHNob3VsZCBub3QgYmUgbGlzdGVkIGluIHRoZSBwcmVsb2FkZWQg
c3ltYm9scy4KZXhjbHVkZV9leHBzeW1zPSRsdF9leGNsdWRlX2V4cHN5bXNf
Rjc3CgojIFN5bWJvbHMgdGhhdCBtdXN0IGFsd2F5cyBiZSBleHBvcnRlZC4K
aW5jbHVkZV9leHBzeW1zPSRsdF9pbmNsdWRlX2V4cHN5bXNfRjc3CgojIENv
bW1hbmRzIG5lY2Vzc2FyeSBmb3IgbGlua2luZyBwcm9ncmFtcyAoYWdhaW5z
dCBsaWJyYXJpZXMpIHdpdGggdGVtcGxhdGVzLgpwcmVsaW5rX2NtZHM9JGx0
X3ByZWxpbmtfY21kc19GNzcKCiMgQ29tbWFuZHMgbmVjZXNzYXJ5IGZvciBm
aW5pc2hpbmcgbGlua2luZyBwcm9ncmFtcy4KcG9zdGxpbmtfY21kcz0kbHRf
cG9zdGxpbmtfY21kc19GNzcKCiMgU3BlY2lmeSBmaWxlbmFtZSBjb250YWlu
aW5nIGlucHV0IGZpbGVzLgpmaWxlX2xpc3Rfc3BlYz0kbHRfZmlsZV9saXN0
X3NwZWNfRjc3CgojIEhvdyB0byBoYXJkY29kZSBhIHNoYXJlZCBsaWJyYXJ5
IHBhdGggaW50byBhbiBleGVjdXRhYmxlLgpoYXJkY29kZV9hY3Rpb249JGhh
cmRjb2RlX2FjdGlvbl9GNzcKCiMgVGhlIGRpcmVjdG9yaWVzIHNlYXJjaGVk
IGJ5IHRoaXMgY29tcGlsZXIgd2hlbiBjcmVhdGluZyBhIHNoYXJlZCBsaWJy
YXJ5Lgpjb21waWxlcl9saWJfc2VhcmNoX2RpcnM9JGx0X2NvbXBpbGVyX2xp
Yl9zZWFyY2hfZGlyc19GNzcKCiMgRGVwZW5kZW5jaWVzIHRvIHBsYWNlIGJl
Zm9yZSBhbmQgYWZ0ZXIgdGhlIG9iamVjdHMgYmVpbmcgbGlua2VkIHRvCiMg
Y3JlYXRlIGEgc2hhcmVkIGxpYnJhcnkuCnByZWRlcF9vYmplY3RzPSRsdF9w
cmVkZXBfb2JqZWN0c19GNzcKcG9zdGRlcF9vYmplY3RzPSRsdF9wb3N0ZGVw
X29iamVjdHNfRjc3CnByZWRlcHM9JGx0X3ByZWRlcHNfRjc3CnBvc3RkZXBz
PSRsdF9wb3N0ZGVwc19GNzcKCiMgVGhlIGxpYnJhcnkgc2VhcmNoIHBhdGgg
dXNlZCBpbnRlcm5hbGx5IGJ5IHRoZSBjb21waWxlciB3aGVuIGxpbmtpbmcK
IyBhIHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2VhcmNoX3BhdGg9
JGx0X2NvbXBpbGVyX2xpYl9zZWFyY2hfcGF0aF9GNzcKCiMgIyMjIEVORCBM
SUJUT09MIFRBRyBDT05GSUc6IEY3NwpfTFRfRU9GCgoKICAgIGNhdCA8PF9M
VF9FT0YgPj4gIiRvZmlsZSIKCiMgIyMjIEJFR0lOIExJQlRPT0wgVEFHIENP
TkZJRzogRkMKCiMgVGhlIGxpbmtlciB1c2VkIHRvIGJ1aWxkIGxpYnJhcmll
cy4KTEQ9JGx0X0xEX0ZDCgojIEhvdyB0byBjcmVhdGUgcmVsb2FkYWJsZSBv
YmplY3QgZmlsZXMuCnJlbG9hZF9mbGFnPSRsdF9yZWxvYWRfZmxhZ19GQwpy
ZWxvYWRfY21kcz0kbHRfcmVsb2FkX2NtZHNfRkMKCiMgQ29tbWFuZHMgdXNl
ZCB0byBidWlsZCBhbiBvbGQtc3R5bGUgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVf
Y21kcz0kbHRfb2xkX2FyY2hpdmVfY21kc19GQwoKIyBBIGxhbmd1YWdlIHNw
ZWNpZmljIGNvbXBpbGVyLgpDQz0kbHRfY29tcGlsZXJfRkMKCiMgSXMgdGhl
IGNvbXBpbGVyIHRoZSBHTlUgY29tcGlsZXI/CndpdGhfZ2NjPSRHQ0NfRkMK
CiMgQ29tcGlsZXIgZmxhZyB0byB0dXJuIG9mZiBidWlsdGluIGZ1bmN0aW9u
cy4Kbm9fYnVpbHRpbl9mbGFnPSRsdF9sdF9wcm9nX2NvbXBpbGVyX25vX2J1
aWx0aW5fZmxhZ19GQwoKIyBBZGRpdGlvbmFsIGNvbXBpbGVyIGZsYWdzIGZv
ciBidWlsZGluZyBsaWJyYXJ5IG9iamVjdHMuCnBpY19mbGFnPSRsdF9sdF9w
cm9nX2NvbXBpbGVyX3BpY19GQwoKIyBIb3cgdG8gcGFzcyBhIGxpbmtlciBm
bGFnIHRocm91Z2ggdGhlIGNvbXBpbGVyLgp3bD0kbHRfbHRfcHJvZ19jb21w
aWxlcl93bF9GQwoKIyBDb21waWxlciBmbGFnIHRvIHByZXZlbnQgZHluYW1p
YyBsaW5raW5nLgpsaW5rX3N0YXRpY19mbGFnPSRsdF9sdF9wcm9nX2NvbXBp
bGVyX3N0YXRpY19GQwoKIyBEb2VzIGNvbXBpbGVyIHNpbXVsdGFuZW91c2x5
IHN1cHBvcnQgLWMgYW5kIC1vIG9wdGlvbnM/CmNvbXBpbGVyX2Nfbz0kbHRf
bHRfY3ZfcHJvZ19jb21waWxlcl9jX29fRkMKCiMgV2hldGhlciBvciBub3Qg
dG8gYWRkIC1sYyBmb3IgYnVpbGRpbmcgc2hhcmVkIGxpYnJhcmllcy4KYnVp
bGRfbGlidG9vbF9uZWVkX2xjPSRhcmNoaXZlX2NtZHNfbmVlZF9sY19GQwoK
IyBXaGV0aGVyIG9yIG5vdCB0byBkaXNhbGxvdyBzaGFyZWQgbGlicyB3aGVu
IHJ1bnRpbWUgbGlicyBhcmUgc3RhdGljLgphbGxvd19saWJ0b29sX2xpYnNf
d2l0aF9zdGF0aWNfcnVudGltZXM9JGVuYWJsZV9zaGFyZWRfd2l0aF9zdGF0
aWNfcnVudGltZXNfRkMKCiMgQ29tcGlsZXIgZmxhZyB0byBhbGxvdyByZWZs
ZXhpdmUgZGxvcGVucy4KZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjPSRsdF9l
eHBvcnRfZHluYW1pY19mbGFnX3NwZWNfRkMKCiMgQ29tcGlsZXIgZmxhZyB0
byBnZW5lcmF0ZSBzaGFyZWQgb2JqZWN0cyBkaXJlY3RseSBmcm9tIGFyY2hp
dmVzLgp3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0kbHRfd2hvbGVfYXJjaGl2
ZV9mbGFnX3NwZWNfRkMKCiMgV2hldGhlciB0aGUgY29tcGlsZXIgY29wZXMg
d2l0aCBwYXNzaW5nIG5vIG9iamVjdHMgZGlyZWN0bHkuCmNvbXBpbGVyX25l
ZWRzX29iamVjdD0kbHRfY29tcGlsZXJfbmVlZHNfb2JqZWN0X0ZDCgojIENy
ZWF0ZSBhbiBvbGQtc3R5bGUgYXJjaGl2ZSBmcm9tIGEgc2hhcmVkIGFyY2hp
dmUuCm9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHM9JGx0X29sZF9hcmNoaXZl
X2Zyb21fbmV3X2NtZHNfRkMKCiMgQ3JlYXRlIGEgdGVtcG9yYXJ5IG9sZC1z
dHlsZSBhcmNoaXZlIHRvIGxpbmsgaW5zdGVhZCBvZiBhIHNoYXJlZCBhcmNo
aXZlLgpvbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kcz0kbHRfb2xkX2Fy
Y2hpdmVfZnJvbV9leHBzeW1zX2NtZHNfRkMKCiMgQ29tbWFuZHMgdXNlZCB0
byBidWlsZCBhIHNoYXJlZCBhcmNoaXZlLgphcmNoaXZlX2NtZHM9JGx0X2Fy
Y2hpdmVfY21kc19GQwphcmNoaXZlX2V4cHN5bV9jbWRzPSRsdF9hcmNoaXZl
X2V4cHN5bV9jbWRzX0ZDCgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQgYSBs
b2FkYWJsZSBtb2R1bGUgaWYgZGlmZmVyZW50IGZyb20gYnVpbGRpbmcKIyBh
IHNoYXJlZCBhcmNoaXZlLgptb2R1bGVfY21kcz0kbHRfbW9kdWxlX2NtZHNf
RkMKbW9kdWxlX2V4cHN5bV9jbWRzPSRsdF9tb2R1bGVfZXhwc3ltX2NtZHNf
RkMKCiMgV2hldGhlciB3ZSBhcmUgYnVpbGRpbmcgd2l0aCBHTlUgbGQgb3Ig
bm90Lgp3aXRoX2dudV9sZD0kbHRfd2l0aF9nbnVfbGRfRkMKCiMgRmxhZyB0
aGF0IGFsbG93cyBzaGFyZWQgbGlicmFyaWVzIHdpdGggdW5kZWZpbmVkIHN5
bWJvbHMgdG8gYmUgYnVpbHQuCmFsbG93X3VuZGVmaW5lZF9mbGFnPSRsdF9h
bGxvd191bmRlZmluZWRfZmxhZ19GQwoKIyBGbGFnIHRoYXQgZW5mb3JjZXMg
bm8gdW5kZWZpbmVkIHN5bWJvbHMuCm5vX3VuZGVmaW5lZF9mbGFnPSRsdF9u
b191bmRlZmluZWRfZmxhZ19GQwoKIyBGbGFnIHRvIGhhcmRjb2RlIFwkbGli
ZGlyIGludG8gYSBiaW5hcnkgZHVyaW5nIGxpbmtpbmcuCiMgVGhpcyBtdXN0
IHdvcmsgZXZlbiBpZiBcJGxpYmRpciBkb2VzIG5vdCBleGlzdApoYXJkY29k
ZV9saWJkaXJfZmxhZ19zcGVjPSRsdF9oYXJkY29kZV9saWJkaXJfZmxhZ19z
cGVjX0ZDCgojIFdoZXRoZXIgd2UgbmVlZCBhIHNpbmdsZSAiLXJwYXRoIiBm
bGFnIHdpdGggYSBzZXBhcmF0ZWQgYXJndW1lbnQuCmhhcmRjb2RlX2xpYmRp
cl9zZXBhcmF0b3I9JGx0X2hhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3JfRkMK
CiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5nIERJUi9saWJOQU1FXCR7c2hhcmVk
X2V4dH0gZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzCiMgRElSIGludG8gdGhl
IHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2RlX2RpcmVjdD0kaGFyZGNvZGVf
ZGlyZWN0X0ZDCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBESVIvbGliTkFN
RVwke3NoYXJlZF9leHR9IGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcwojIERJ
UiBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5IGFuZCB0aGUgcmVzdWx0aW5n
IGxpYnJhcnkgZGVwZW5kZW5jeSBpcwojICJhYnNvbHV0ZSIsaS5lIGltcG9z
c2libGUgdG8gY2hhbmdlIGJ5IHNldHRpbmcgXCR7c2hsaWJwYXRoX3Zhcn0g
aWYgdGhlCiMgbGlicmFyeSBpcyByZWxvY2F0ZWQuCmhhcmRjb2RlX2RpcmVj
dF9hYnNvbHV0ZT0kaGFyZGNvZGVfZGlyZWN0X2Fic29sdXRlX0ZDCgojIFNl
dCB0byAieWVzIiBpZiB1c2luZyB0aGUgLUxESVIgZmxhZyBkdXJpbmcgbGlu
a2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgcmVzdWx0aW5nIGJpbmFy
eS4KaGFyZGNvZGVfbWludXNfTD0kaGFyZGNvZGVfbWludXNfTF9GQwoKIyBT
ZXQgdG8gInllcyIgaWYgdXNpbmcgU0hMSUJQQVRIX1ZBUj1ESVIgZHVyaW5n
IGxpbmtpbmcgaGFyZGNvZGVzIERJUgojIGludG8gdGhlIHJlc3VsdGluZyBi
aW5hcnkuCmhhcmRjb2RlX3NobGlicGF0aF92YXI9JGhhcmRjb2RlX3NobGli
cGF0aF92YXJfRkMKCiMgU2V0IHRvICJ5ZXMiIGlmIGJ1aWxkaW5nIGEgc2hh
cmVkIGxpYnJhcnkgYXV0b21hdGljYWxseSBoYXJkY29kZXMgRElSCiMgaW50
byB0aGUgbGlicmFyeSBhbmQgYWxsIHN1YnNlcXVlbnQgbGlicmFyaWVzIGFu
ZCBleGVjdXRhYmxlcyBsaW5rZWQKIyBhZ2FpbnN0IGl0LgpoYXJkY29kZV9h
dXRvbWF0aWM9JGhhcmRjb2RlX2F1dG9tYXRpY19GQwoKIyBTZXQgdG8geWVz
IGlmIGxpbmtlciBhZGRzIHJ1bnRpbWUgcGF0aHMgb2YgZGVwZW5kZW50IGxp
YnJhcmllcwojIHRvIHJ1bnRpbWUgcGF0aCBsaXN0Lgppbmhlcml0X3JwYXRo
PSRpbmhlcml0X3JwYXRoX0ZDCgojIFdoZXRoZXIgbGlidG9vbCBtdXN0IGxp
bmsgYSBwcm9ncmFtIGFnYWluc3QgYWxsIGl0cyBkZXBlbmRlbmN5IGxpYnJh
cmllcy4KbGlua19hbGxfZGVwbGlicz0kbGlua19hbGxfZGVwbGlic19GQwoK
IyBTZXQgdG8gInllcyIgaWYgZXhwb3J0ZWQgc3ltYm9scyBhcmUgcmVxdWly
ZWQuCmFsd2F5c19leHBvcnRfc3ltYm9scz0kYWx3YXlzX2V4cG9ydF9zeW1i
b2xzX0ZDCgojIFRoZSBjb21tYW5kcyB0byBsaXN0IGV4cG9ydGVkIHN5bWJv
bHMuCmV4cG9ydF9zeW1ib2xzX2NtZHM9JGx0X2V4cG9ydF9zeW1ib2xzX2Nt
ZHNfRkMKCiMgU3ltYm9scyB0aGF0IHNob3VsZCBub3QgYmUgbGlzdGVkIGlu
IHRoZSBwcmVsb2FkZWQgc3ltYm9scy4KZXhjbHVkZV9leHBzeW1zPSRsdF9l
eGNsdWRlX2V4cHN5bXNfRkMKCiMgU3ltYm9scyB0aGF0IG11c3QgYWx3YXlz
IGJlIGV4cG9ydGVkLgppbmNsdWRlX2V4cHN5bXM9JGx0X2luY2x1ZGVfZXhw
c3ltc19GQwoKIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgcHJv
Z3JhbXMgKGFnYWluc3QgbGlicmFyaWVzKSB3aXRoIHRlbXBsYXRlcy4KcHJl
bGlua19jbWRzPSRsdF9wcmVsaW5rX2NtZHNfRkMKCiMgQ29tbWFuZHMgbmVj
ZXNzYXJ5IGZvciBmaW5pc2hpbmcgbGlua2luZyBwcm9ncmFtcy4KcG9zdGxp
bmtfY21kcz0kbHRfcG9zdGxpbmtfY21kc19GQwoKIyBTcGVjaWZ5IGZpbGVu
YW1lIGNvbnRhaW5pbmcgaW5wdXQgZmlsZXMuCmZpbGVfbGlzdF9zcGVjPSRs
dF9maWxlX2xpc3Rfc3BlY19GQwoKIyBIb3cgdG8gaGFyZGNvZGUgYSBzaGFy
ZWQgbGlicmFyeSBwYXRoIGludG8gYW4gZXhlY3V0YWJsZS4KaGFyZGNvZGVf
YWN0aW9uPSRoYXJkY29kZV9hY3Rpb25fRkMKCiMgVGhlIGRpcmVjdG9yaWVz
IHNlYXJjaGVkIGJ5IHRoaXMgY29tcGlsZXIgd2hlbiBjcmVhdGluZyBhIHNo
YXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2VhcmNoX2RpcnM9JGx0X2Nv
bXBpbGVyX2xpYl9zZWFyY2hfZGlyc19GQwoKIyBEZXBlbmRlbmNpZXMgdG8g
cGxhY2UgYmVmb3JlIGFuZCBhZnRlciB0aGUgb2JqZWN0cyBiZWluZyBsaW5r
ZWQgdG8KIyBjcmVhdGUgYSBzaGFyZWQgbGlicmFyeS4KcHJlZGVwX29iamVj
dHM9JGx0X3ByZWRlcF9vYmplY3RzX0ZDCnBvc3RkZXBfb2JqZWN0cz0kbHRf
cG9zdGRlcF9vYmplY3RzX0ZDCnByZWRlcHM9JGx0X3ByZWRlcHNfRkMKcG9z
dGRlcHM9JGx0X3Bvc3RkZXBzX0ZDCgojIFRoZSBsaWJyYXJ5IHNlYXJjaCBw
YXRoIHVzZWQgaW50ZXJuYWxseSBieSB0aGUgY29tcGlsZXIgd2hlbiBsaW5r
aW5nCiMgYSBzaGFyZWQgbGlicmFyeS4KY29tcGlsZXJfbGliX3NlYXJjaF9w
YXRoPSRsdF9jb21waWxlcl9saWJfc2VhcmNoX3BhdGhfRkMKCiMgIyMjIEVO
RCBMSUJUT09MIFRBRyBDT05GSUc6IEZDCl9MVF9FT0YKCgogICAgY2F0IDw8
X0xUX0VPRiA+PiAiJG9maWxlIgoKIyAjIyMgQkVHSU4gTElCVE9PTCBUQUcg
Q09ORklHOiBHTwoKIyBUaGUgbGlua2VyIHVzZWQgdG8gYnVpbGQgbGlicmFy
aWVzLgpMRD0kbHRfTERfR08KCiMgSG93IHRvIGNyZWF0ZSByZWxvYWRhYmxl
IG9iamVjdCBmaWxlcy4KcmVsb2FkX2ZsYWc9JGx0X3JlbG9hZF9mbGFnX0dP
CnJlbG9hZF9jbWRzPSRsdF9yZWxvYWRfY21kc19HTwoKIyBDb21tYW5kcyB1
c2VkIHRvIGJ1aWxkIGFuIG9sZC1zdHlsZSBhcmNoaXZlLgpvbGRfYXJjaGl2
ZV9jbWRzPSRsdF9vbGRfYXJjaGl2ZV9jbWRzX0dPCgojIEEgbGFuZ3VhZ2Ug
c3BlY2lmaWMgY29tcGlsZXIuCkNDPSRsdF9jb21waWxlcl9HTwoKIyBJcyB0
aGUgY29tcGlsZXIgdGhlIEdOVSBjb21waWxlcj8Kd2l0aF9nY2M9JEdDQ19H
TwoKIyBDb21waWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1aWx0aW4gZnVuY3Rp
b25zLgpub19idWlsdGluX2ZsYWc9JGx0X2x0X3Byb2dfY29tcGlsZXJfbm9f
YnVpbHRpbl9mbGFnX0dPCgojIEFkZGl0aW9uYWwgY29tcGlsZXIgZmxhZ3Mg
Zm9yIGJ1aWxkaW5nIGxpYnJhcnkgb2JqZWN0cy4KcGljX2ZsYWc9JGx0X2x0
X3Byb2dfY29tcGlsZXJfcGljX0dPCgojIEhvdyB0byBwYXNzIGEgbGlua2Vy
IGZsYWcgdGhyb3VnaCB0aGUgY29tcGlsZXIuCndsPSRsdF9sdF9wcm9nX2Nv
bXBpbGVyX3dsX0dPCgojIENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5h
bWljIGxpbmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9JGx0X2x0X3Byb2dfY29t
cGlsZXJfc3RhdGljX0dPCgojIERvZXMgY29tcGlsZXIgc2ltdWx0YW5lb3Vz
bHkgc3VwcG9ydCAtYyBhbmQgLW8gb3B0aW9ucz8KY29tcGlsZXJfY19vPSRs
dF9sdF9jdl9wcm9nX2NvbXBpbGVyX2Nfb19HTwoKIyBXaGV0aGVyIG9yIG5v
dCB0byBhZGQgLWxjIGZvciBidWlsZGluZyBzaGFyZWQgbGlicmFyaWVzLgpi
dWlsZF9saWJ0b29sX25lZWRfbGM9JGFyY2hpdmVfY21kc19uZWVkX2xjX0dP
CgojIFdoZXRoZXIgb3Igbm90IHRvIGRpc2FsbG93IHNoYXJlZCBsaWJzIHdo
ZW4gcnVudGltZSBsaWJzIGFyZSBzdGF0aWMuCmFsbG93X2xpYnRvb2xfbGli
c193aXRoX3N0YXRpY19ydW50aW1lcz0kZW5hYmxlX3NoYXJlZF93aXRoX3N0
YXRpY19ydW50aW1lc19HTwoKIyBDb21waWxlciBmbGFnIHRvIGFsbG93IHJl
ZmxleGl2ZSBkbG9wZW5zLgpleHBvcnRfZHluYW1pY19mbGFnX3NwZWM9JGx0
X2V4cG9ydF9keW5hbWljX2ZsYWdfc3BlY19HTwoKIyBDb21waWxlciBmbGFn
IHRvIGdlbmVyYXRlIHNoYXJlZCBvYmplY3RzIGRpcmVjdGx5IGZyb20gYXJj
aGl2ZXMuCndob2xlX2FyY2hpdmVfZmxhZ19zcGVjPSRsdF93aG9sZV9hcmNo
aXZlX2ZsYWdfc3BlY19HTwoKIyBXaGV0aGVyIHRoZSBjb21waWxlciBjb3Bl
cyB3aXRoIHBhc3Npbmcgbm8gb2JqZWN0cyBkaXJlY3RseS4KY29tcGlsZXJf
bmVlZHNfb2JqZWN0PSRsdF9jb21waWxlcl9uZWVkc19vYmplY3RfR08KCiMg
Q3JlYXRlIGFuIG9sZC1zdHlsZSBhcmNoaXZlIGZyb20gYSBzaGFyZWQgYXJj
aGl2ZS4Kb2xkX2FyY2hpdmVfZnJvbV9uZXdfY21kcz0kbHRfb2xkX2FyY2hp
dmVfZnJvbV9uZXdfY21kc19HTwoKIyBDcmVhdGUgYSB0ZW1wb3Jhcnkgb2xk
LXN0eWxlIGFyY2hpdmUgdG8gbGluayBpbnN0ZWFkIG9mIGEgc2hhcmVkIGFy
Y2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzPSRsdF9vbGRf
YXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kc19HTwoKIyBDb21tYW5kcyB1c2Vk
IHRvIGJ1aWxkIGEgc2hhcmVkIGFyY2hpdmUuCmFyY2hpdmVfY21kcz0kbHRf
YXJjaGl2ZV9jbWRzX0dPCmFyY2hpdmVfZXhwc3ltX2NtZHM9JGx0X2FyY2hp
dmVfZXhwc3ltX2NtZHNfR08KCiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBh
IGxvYWRhYmxlIG1vZHVsZSBpZiBkaWZmZXJlbnQgZnJvbSBidWlsZGluZwoj
IGEgc2hhcmVkIGFyY2hpdmUuCm1vZHVsZV9jbWRzPSRsdF9tb2R1bGVfY21k
c19HTwptb2R1bGVfZXhwc3ltX2NtZHM9JGx0X21vZHVsZV9leHBzeW1fY21k
c19HTwoKIyBXaGV0aGVyIHdlIGFyZSBidWlsZGluZyB3aXRoIEdOVSBsZCBv
ciBub3QuCndpdGhfZ251X2xkPSRsdF93aXRoX2dudV9sZF9HTwoKIyBGbGFn
IHRoYXQgYWxsb3dzIHNoYXJlZCBsaWJyYXJpZXMgd2l0aCB1bmRlZmluZWQg
c3ltYm9scyB0byBiZSBidWlsdC4KYWxsb3dfdW5kZWZpbmVkX2ZsYWc9JGx0
X2FsbG93X3VuZGVmaW5lZF9mbGFnX0dPCgojIEZsYWcgdGhhdCBlbmZvcmNl
cyBubyB1bmRlZmluZWQgc3ltYm9scy4Kbm9fdW5kZWZpbmVkX2ZsYWc9JGx0
X25vX3VuZGVmaW5lZF9mbGFnX0dPCgojIEZsYWcgdG8gaGFyZGNvZGUgXCRs
aWJkaXIgaW50byBhIGJpbmFyeSBkdXJpbmcgbGlua2luZy4KIyBUaGlzIG11
c3Qgd29yayBldmVuIGlmIFwkbGliZGlyIGRvZXMgbm90IGV4aXN0CmhhcmRj
b2RlX2xpYmRpcl9mbGFnX3NwZWM9JGx0X2hhcmRjb2RlX2xpYmRpcl9mbGFn
X3NwZWNfR08KCiMgV2hldGhlciB3ZSBuZWVkIGEgc2luZ2xlICItcnBhdGgi
IGZsYWcgd2l0aCBhIHNlcGFyYXRlZCBhcmd1bWVudC4KaGFyZGNvZGVfbGli
ZGlyX3NlcGFyYXRvcj0kbHRfaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvcl9H
TwoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgRElSL2xpYk5BTUVcJHtzaGFy
ZWRfZXh0fSBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMKIyBESVIgaW50byB0
aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfZGlyZWN0PSRoYXJkY29k
ZV9kaXJlY3RfR08KCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5nIERJUi9saWJO
QU1FXCR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzCiMg
RElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkgYW5kIHRoZSByZXN1bHRp
bmcgbGlicmFyeSBkZXBlbmRlbmN5IGlzCiMgImFic29sdXRlIixpLmUgaW1w
b3NzaWJsZSB0byBjaGFuZ2UgYnkgc2V0dGluZyBcJHtzaGxpYnBhdGhfdmFy
fSBpZiB0aGUKIyBsaWJyYXJ5IGlzIHJlbG9jYXRlZC4KaGFyZGNvZGVfZGly
ZWN0X2Fic29sdXRlPSRoYXJkY29kZV9kaXJlY3RfYWJzb2x1dGVfR08KCiMg
U2V0IHRvICJ5ZXMiIGlmIHVzaW5nIHRoZSAtTERJUiBmbGFnIGR1cmluZyBs
aW5raW5nIGhhcmRjb2RlcyBESVIKIyBpbnRvIHRoZSByZXN1bHRpbmcgYmlu
YXJ5LgpoYXJkY29kZV9taW51c19MPSRoYXJkY29kZV9taW51c19MX0dPCgoj
IFNldCB0byAieWVzIiBpZiB1c2luZyBTSExJQlBBVEhfVkFSPURJUiBkdXJp
bmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgcmVzdWx0aW5n
IGJpbmFyeS4KaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0kaGFyZGNvZGVfc2hs
aWJwYXRoX3Zhcl9HTwoKIyBTZXQgdG8gInllcyIgaWYgYnVpbGRpbmcgYSBz
aGFyZWQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGhhcmRjb2RlcyBESVIKIyBp
bnRvIHRoZSBsaWJyYXJ5IGFuZCBhbGwgc3Vic2VxdWVudCBsaWJyYXJpZXMg
YW5kIGV4ZWN1dGFibGVzIGxpbmtlZAojIGFnYWluc3QgaXQuCmhhcmRjb2Rl
X2F1dG9tYXRpYz0kaGFyZGNvZGVfYXV0b21hdGljX0dPCgojIFNldCB0byB5
ZXMgaWYgbGlua2VyIGFkZHMgcnVudGltZSBwYXRocyBvZiBkZXBlbmRlbnQg
bGlicmFyaWVzCiMgdG8gcnVudGltZSBwYXRoIGxpc3QuCmluaGVyaXRfcnBh
dGg9JGluaGVyaXRfcnBhdGhfR08KCiMgV2hldGhlciBsaWJ0b29sIG11c3Qg
bGluayBhIHByb2dyYW0gYWdhaW5zdCBhbGwgaXRzIGRlcGVuZGVuY3kgbGli
cmFyaWVzLgpsaW5rX2FsbF9kZXBsaWJzPSRsaW5rX2FsbF9kZXBsaWJzX0dP
CgojIFNldCB0byAieWVzIiBpZiBleHBvcnRlZCBzeW1ib2xzIGFyZSByZXF1
aXJlZC4KYWx3YXlzX2V4cG9ydF9zeW1ib2xzPSRhbHdheXNfZXhwb3J0X3N5
bWJvbHNfR08KCiMgVGhlIGNvbW1hbmRzIHRvIGxpc3QgZXhwb3J0ZWQgc3lt
Ym9scy4KZXhwb3J0X3N5bWJvbHNfY21kcz0kbHRfZXhwb3J0X3N5bWJvbHNf
Y21kc19HTwoKIyBTeW1ib2xzIHRoYXQgc2hvdWxkIG5vdCBiZSBsaXN0ZWQg
aW4gdGhlIHByZWxvYWRlZCBzeW1ib2xzLgpleGNsdWRlX2V4cHN5bXM9JGx0
X2V4Y2x1ZGVfZXhwc3ltc19HTwoKIyBTeW1ib2xzIHRoYXQgbXVzdCBhbHdh
eXMgYmUgZXhwb3J0ZWQuCmluY2x1ZGVfZXhwc3ltcz0kbHRfaW5jbHVkZV9l
eHBzeW1zX0dPCgojIENvbW1hbmRzIG5lY2Vzc2FyeSBmb3IgbGlua2luZyBw
cm9ncmFtcyAoYWdhaW5zdCBsaWJyYXJpZXMpIHdpdGggdGVtcGxhdGVzLgpw
cmVsaW5rX2NtZHM9JGx0X3ByZWxpbmtfY21kc19HTwoKIyBDb21tYW5kcyBu
ZWNlc3NhcnkgZm9yIGZpbmlzaGluZyBsaW5raW5nIHByb2dyYW1zLgpwb3N0
bGlua19jbWRzPSRsdF9wb3N0bGlua19jbWRzX0dPCgojIFNwZWNpZnkgZmls
ZW5hbWUgY29udGFpbmluZyBpbnB1dCBmaWxlcy4KZmlsZV9saXN0X3NwZWM9
JGx0X2ZpbGVfbGlzdF9zcGVjX0dPCgojIEhvdyB0byBoYXJkY29kZSBhIHNo
YXJlZCBsaWJyYXJ5IHBhdGggaW50byBhbiBleGVjdXRhYmxlLgpoYXJkY29k
ZV9hY3Rpb249JGhhcmRjb2RlX2FjdGlvbl9HTwoKIyBUaGUgZGlyZWN0b3Jp
ZXMgc2VhcmNoZWQgYnkgdGhpcyBjb21waWxlciB3aGVuIGNyZWF0aW5nIGEg
c2hhcmVkIGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9zZWFyY2hfZGlycz0kbHRf
Y29tcGlsZXJfbGliX3NlYXJjaF9kaXJzX0dPCgojIERlcGVuZGVuY2llcyB0
byBwbGFjZSBiZWZvcmUgYW5kIGFmdGVyIHRoZSBvYmplY3RzIGJlaW5nIGxp
bmtlZCB0bwojIGNyZWF0ZSBhIHNoYXJlZCBsaWJyYXJ5LgpwcmVkZXBfb2Jq
ZWN0cz0kbHRfcHJlZGVwX29iamVjdHNfR08KcG9zdGRlcF9vYmplY3RzPSRs
dF9wb3N0ZGVwX29iamVjdHNfR08KcHJlZGVwcz0kbHRfcHJlZGVwc19HTwpw
b3N0ZGVwcz0kbHRfcG9zdGRlcHNfR08KCiMgVGhlIGxpYnJhcnkgc2VhcmNo
IHBhdGggdXNlZCBpbnRlcm5hbGx5IGJ5IHRoZSBjb21waWxlciB3aGVuIGxp
bmtpbmcKIyBhIHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2VhcmNo
X3BhdGg9JGx0X2NvbXBpbGVyX2xpYl9zZWFyY2hfcGF0aF9HTwoKIyAjIyMg
RU5EIExJQlRPT0wgVEFHIENPTkZJRzogR08KX0xUX0VPRgoKCiAgICBjYXQg
PDxfTFRfRU9GID4+ICIkb2ZpbGUiCgojICMjIyBCRUdJTiBMSUJUT09MIFRB
RyBDT05GSUc6IEdDSgoKIyBUaGUgbGlua2VyIHVzZWQgdG8gYnVpbGQgbGli
cmFyaWVzLgpMRD0kbHRfTERfR0NKCgojIEhvdyB0byBjcmVhdGUgcmVsb2Fk
YWJsZSBvYmplY3QgZmlsZXMuCnJlbG9hZF9mbGFnPSRsdF9yZWxvYWRfZmxh
Z19HQ0oKcmVsb2FkX2NtZHM9JGx0X3JlbG9hZF9jbWRzX0dDSgoKIyBDb21t
YW5kcyB1c2VkIHRvIGJ1aWxkIGFuIG9sZC1zdHlsZSBhcmNoaXZlLgpvbGRf
YXJjaGl2ZV9jbWRzPSRsdF9vbGRfYXJjaGl2ZV9jbWRzX0dDSgoKIyBBIGxh
bmd1YWdlIHNwZWNpZmljIGNvbXBpbGVyLgpDQz0kbHRfY29tcGlsZXJfR0NK
CgojIElzIHRoZSBjb21waWxlciB0aGUgR05VIGNvbXBpbGVyPwp3aXRoX2dj
Yz0kR0NDX0dDSgoKIyBDb21waWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1aWx0
aW4gZnVuY3Rpb25zLgpub19idWlsdGluX2ZsYWc9JGx0X2x0X3Byb2dfY29t
cGlsZXJfbm9fYnVpbHRpbl9mbGFnX0dDSgoKIyBBZGRpdGlvbmFsIGNvbXBp
bGVyIGZsYWdzIGZvciBidWlsZGluZyBsaWJyYXJ5IG9iamVjdHMuCnBpY19m
bGFnPSRsdF9sdF9wcm9nX2NvbXBpbGVyX3BpY19HQ0oKCiMgSG93IHRvIHBh
c3MgYSBsaW5rZXIgZmxhZyB0aHJvdWdoIHRoZSBjb21waWxlci4Kd2w9JGx0
X2x0X3Byb2dfY29tcGlsZXJfd2xfR0NKCgojIENvbXBpbGVyIGZsYWcgdG8g
cHJldmVudCBkeW5hbWljIGxpbmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9JGx0
X2x0X3Byb2dfY29tcGlsZXJfc3RhdGljX0dDSgoKIyBEb2VzIGNvbXBpbGVy
IHNpbXVsdGFuZW91c2x5IHN1cHBvcnQgLWMgYW5kIC1vIG9wdGlvbnM/CmNv
bXBpbGVyX2Nfbz0kbHRfbHRfY3ZfcHJvZ19jb21waWxlcl9jX29fR0NKCgoj
IFdoZXRoZXIgb3Igbm90IHRvIGFkZCAtbGMgZm9yIGJ1aWxkaW5nIHNoYXJl
ZCBsaWJyYXJpZXMuCmJ1aWxkX2xpYnRvb2xfbmVlZF9sYz0kYXJjaGl2ZV9j
bWRzX25lZWRfbGNfR0NKCgojIFdoZXRoZXIgb3Igbm90IHRvIGRpc2FsbG93
IHNoYXJlZCBsaWJzIHdoZW4gcnVudGltZSBsaWJzIGFyZSBzdGF0aWMuCmFs
bG93X2xpYnRvb2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcz0kZW5hYmxl
X3NoYXJlZF93aXRoX3N0YXRpY19ydW50aW1lc19HQ0oKCiMgQ29tcGlsZXIg
ZmxhZyB0byBhbGxvdyByZWZsZXhpdmUgZGxvcGVucy4KZXhwb3J0X2R5bmFt
aWNfZmxhZ19zcGVjPSRsdF9leHBvcnRfZHluYW1pY19mbGFnX3NwZWNfR0NK
CgojIENvbXBpbGVyIGZsYWcgdG8gZ2VuZXJhdGUgc2hhcmVkIG9iamVjdHMg
ZGlyZWN0bHkgZnJvbSBhcmNoaXZlcy4Kd2hvbGVfYXJjaGl2ZV9mbGFnX3Nw
ZWM9JGx0X3dob2xlX2FyY2hpdmVfZmxhZ19zcGVjX0dDSgoKIyBXaGV0aGVy
IHRoZSBjb21waWxlciBjb3BlcyB3aXRoIHBhc3Npbmcgbm8gb2JqZWN0cyBk
aXJlY3RseS4KY29tcGlsZXJfbmVlZHNfb2JqZWN0PSRsdF9jb21waWxlcl9u
ZWVkc19vYmplY3RfR0NKCgojIENyZWF0ZSBhbiBvbGQtc3R5bGUgYXJjaGl2
ZSBmcm9tIGEgc2hhcmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fbmV3
X2NtZHM9JGx0X29sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHNfR0NKCgojIENy
ZWF0ZSBhIHRlbXBvcmFyeSBvbGQtc3R5bGUgYXJjaGl2ZSB0byBsaW5rIGlu
c3RlYWQgb2YgYSBzaGFyZWQgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfZnJvbV9l
eHBzeW1zX2NtZHM9JGx0X29sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRz
X0dDSgoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1aWxkIGEgc2hhcmVkIGFyY2hp
dmUuCmFyY2hpdmVfY21kcz0kbHRfYXJjaGl2ZV9jbWRzX0dDSgphcmNoaXZl
X2V4cHN5bV9jbWRzPSRsdF9hcmNoaXZlX2V4cHN5bV9jbWRzX0dDSgoKIyBD
b21tYW5kcyB1c2VkIHRvIGJ1aWxkIGEgbG9hZGFibGUgbW9kdWxlIGlmIGRp
ZmZlcmVudCBmcm9tIGJ1aWxkaW5nCiMgYSBzaGFyZWQgYXJjaGl2ZS4KbW9k
dWxlX2NtZHM9JGx0X21vZHVsZV9jbWRzX0dDSgptb2R1bGVfZXhwc3ltX2Nt
ZHM9JGx0X21vZHVsZV9leHBzeW1fY21kc19HQ0oKCiMgV2hldGhlciB3ZSBh
cmUgYnVpbGRpbmcgd2l0aCBHTlUgbGQgb3Igbm90Lgp3aXRoX2dudV9sZD0k
bHRfd2l0aF9nbnVfbGRfR0NKCgojIEZsYWcgdGhhdCBhbGxvd3Mgc2hhcmVk
IGxpYnJhcmllcyB3aXRoIHVuZGVmaW5lZCBzeW1ib2xzIHRvIGJlIGJ1aWx0
LgphbGxvd191bmRlZmluZWRfZmxhZz0kbHRfYWxsb3dfdW5kZWZpbmVkX2Zs
YWdfR0NKCgojIEZsYWcgdGhhdCBlbmZvcmNlcyBubyB1bmRlZmluZWQgc3lt
Ym9scy4Kbm9fdW5kZWZpbmVkX2ZsYWc9JGx0X25vX3VuZGVmaW5lZF9mbGFn
X0dDSgoKIyBGbGFnIHRvIGhhcmRjb2RlIFwkbGliZGlyIGludG8gYSBiaW5h
cnkgZHVyaW5nIGxpbmtpbmcuCiMgVGhpcyBtdXN0IHdvcmsgZXZlbiBpZiBc
JGxpYmRpciBkb2VzIG5vdCBleGlzdApoYXJkY29kZV9saWJkaXJfZmxhZ19z
cGVjPSRsdF9oYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjX0dDSgoKIyBXaGV0
aGVyIHdlIG5lZWQgYSBzaW5nbGUgIi1ycGF0aCIgZmxhZyB3aXRoIGEgc2Vw
YXJhdGVkIGFyZ3VtZW50LgpoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yPSRs
dF9oYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yX0dDSgoKIyBTZXQgdG8gInll
cyIgaWYgdXNpbmcgRElSL2xpYk5BTUVcJHtzaGFyZWRfZXh0fSBkdXJpbmcg
bGlua2luZyBoYXJkY29kZXMKIyBESVIgaW50byB0aGUgcmVzdWx0aW5nIGJp
bmFyeS4KaGFyZGNvZGVfZGlyZWN0PSRoYXJkY29kZV9kaXJlY3RfR0NKCgoj
IFNldCB0byAieWVzIiBpZiB1c2luZyBESVIvbGliTkFNRVwke3NoYXJlZF9l
eHR9IGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcwojIERJUiBpbnRvIHRoZSBy
ZXN1bHRpbmcgYmluYXJ5IGFuZCB0aGUgcmVzdWx0aW5nIGxpYnJhcnkgZGVw
ZW5kZW5jeSBpcwojICJhYnNvbHV0ZSIsaS5lIGltcG9zc2libGUgdG8gY2hh
bmdlIGJ5IHNldHRpbmcgXCR7c2hsaWJwYXRoX3Zhcn0gaWYgdGhlCiMgbGli
cmFyeSBpcyByZWxvY2F0ZWQuCmhhcmRjb2RlX2RpcmVjdF9hYnNvbHV0ZT0k
aGFyZGNvZGVfZGlyZWN0X2Fic29sdXRlX0dDSgoKIyBTZXQgdG8gInllcyIg
aWYgdXNpbmcgdGhlIC1MRElSIGZsYWcgZHVyaW5nIGxpbmtpbmcgaGFyZGNv
ZGVzIERJUgojIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2Rl
X21pbnVzX0w9JGhhcmRjb2RlX21pbnVzX0xfR0NKCgojIFNldCB0byAieWVz
IiBpZiB1c2luZyBTSExJQlBBVEhfVkFSPURJUiBkdXJpbmcgbGlua2luZyBo
YXJkY29kZXMgRElSCiMgaW50byB0aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFy
ZGNvZGVfc2hsaWJwYXRoX3Zhcj0kaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcl9H
Q0oKCiMgU2V0IHRvICJ5ZXMiIGlmIGJ1aWxkaW5nIGEgc2hhcmVkIGxpYnJh
cnkgYXV0b21hdGljYWxseSBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgbGli
cmFyeSBhbmQgYWxsIHN1YnNlcXVlbnQgbGlicmFyaWVzIGFuZCBleGVjdXRh
YmxlcyBsaW5rZWQKIyBhZ2FpbnN0IGl0LgpoYXJkY29kZV9hdXRvbWF0aWM9
JGhhcmRjb2RlX2F1dG9tYXRpY19HQ0oKCiMgU2V0IHRvIHllcyBpZiBsaW5r
ZXIgYWRkcyBydW50aW1lIHBhdGhzIG9mIGRlcGVuZGVudCBsaWJyYXJpZXMK
IyB0byBydW50aW1lIHBhdGggbGlzdC4KaW5oZXJpdF9ycGF0aD0kaW5oZXJp
dF9ycGF0aF9HQ0oKCiMgV2hldGhlciBsaWJ0b29sIG11c3QgbGluayBhIHBy
b2dyYW0gYWdhaW5zdCBhbGwgaXRzIGRlcGVuZGVuY3kgbGlicmFyaWVzLgps
aW5rX2FsbF9kZXBsaWJzPSRsaW5rX2FsbF9kZXBsaWJzX0dDSgoKIyBTZXQg
dG8gInllcyIgaWYgZXhwb3J0ZWQgc3ltYm9scyBhcmUgcmVxdWlyZWQuCmFs
d2F5c19leHBvcnRfc3ltYm9scz0kYWx3YXlzX2V4cG9ydF9zeW1ib2xzX0dD
SgoKIyBUaGUgY29tbWFuZHMgdG8gbGlzdCBleHBvcnRlZCBzeW1ib2xzLgpl
eHBvcnRfc3ltYm9sc19jbWRzPSRsdF9leHBvcnRfc3ltYm9sc19jbWRzX0dD
SgoKIyBTeW1ib2xzIHRoYXQgc2hvdWxkIG5vdCBiZSBsaXN0ZWQgaW4gdGhl
IHByZWxvYWRlZCBzeW1ib2xzLgpleGNsdWRlX2V4cHN5bXM9JGx0X2V4Y2x1
ZGVfZXhwc3ltc19HQ0oKCiMgU3ltYm9scyB0aGF0IG11c3QgYWx3YXlzIGJl
IGV4cG9ydGVkLgppbmNsdWRlX2V4cHN5bXM9JGx0X2luY2x1ZGVfZXhwc3lt
c19HQ0oKCiMgQ29tbWFuZHMgbmVjZXNzYXJ5IGZvciBsaW5raW5nIHByb2dy
YW1zIChhZ2FpbnN0IGxpYnJhcmllcykgd2l0aCB0ZW1wbGF0ZXMuCnByZWxp
bmtfY21kcz0kbHRfcHJlbGlua19jbWRzX0dDSgoKIyBDb21tYW5kcyBuZWNl
c3NhcnkgZm9yIGZpbmlzaGluZyBsaW5raW5nIHByb2dyYW1zLgpwb3N0bGlu
a19jbWRzPSRsdF9wb3N0bGlua19jbWRzX0dDSgoKIyBTcGVjaWZ5IGZpbGVu
YW1lIGNvbnRhaW5pbmcgaW5wdXQgZmlsZXMuCmZpbGVfbGlzdF9zcGVjPSRs
dF9maWxlX2xpc3Rfc3BlY19HQ0oKCiMgSG93IHRvIGhhcmRjb2RlIGEgc2hh
cmVkIGxpYnJhcnkgcGF0aCBpbnRvIGFuIGV4ZWN1dGFibGUuCmhhcmRjb2Rl
X2FjdGlvbj0kaGFyZGNvZGVfYWN0aW9uX0dDSgoKIyBUaGUgZGlyZWN0b3Jp
ZXMgc2VhcmNoZWQgYnkgdGhpcyBjb21waWxlciB3aGVuIGNyZWF0aW5nIGEg
c2hhcmVkIGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9zZWFyY2hfZGlycz0kbHRf
Y29tcGlsZXJfbGliX3NlYXJjaF9kaXJzX0dDSgoKIyBEZXBlbmRlbmNpZXMg
dG8gcGxhY2UgYmVmb3JlIGFuZCBhZnRlciB0aGUgb2JqZWN0cyBiZWluZyBs
aW5rZWQgdG8KIyBjcmVhdGUgYSBzaGFyZWQgbGlicmFyeS4KcHJlZGVwX29i
amVjdHM9JGx0X3ByZWRlcF9vYmplY3RzX0dDSgpwb3N0ZGVwX29iamVjdHM9
JGx0X3Bvc3RkZXBfb2JqZWN0c19HQ0oKcHJlZGVwcz0kbHRfcHJlZGVwc19H
Q0oKcG9zdGRlcHM9JGx0X3Bvc3RkZXBzX0dDSgoKIyBUaGUgbGlicmFyeSBz
ZWFyY2ggcGF0aCB1c2VkIGludGVybmFsbHkgYnkgdGhlIGNvbXBpbGVyIHdo
ZW4gbGlua2luZwojIGEgc2hhcmVkIGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9z
ZWFyY2hfcGF0aD0kbHRfY29tcGlsZXJfbGliX3NlYXJjaF9wYXRoX0dDSgoK
IyAjIyMgRU5EIExJQlRPT0wgVEFHIENPTkZJRzogR0NKCl9MVF9FT0YKCgog
ICAgY2F0IDw8X0xUX0VPRiA+PiAiJG9maWxlIgoKIyAjIyMgQkVHSU4gTElC
VE9PTCBUQUcgQ09ORklHOiBSQwoKIyBUaGUgbGlua2VyIHVzZWQgdG8gYnVp
bGQgbGlicmFyaWVzLgpMRD0kbHRfTERfUkMKCiMgSG93IHRvIGNyZWF0ZSBy
ZWxvYWRhYmxlIG9iamVjdCBmaWxlcy4KcmVsb2FkX2ZsYWc9JGx0X3JlbG9h
ZF9mbGFnX1JDCnJlbG9hZF9jbWRzPSRsdF9yZWxvYWRfY21kc19SQwoKIyBD
b21tYW5kcyB1c2VkIHRvIGJ1aWxkIGFuIG9sZC1zdHlsZSBhcmNoaXZlLgpv
bGRfYXJjaGl2ZV9jbWRzPSRsdF9vbGRfYXJjaGl2ZV9jbWRzX1JDCgojIEEg
bGFuZ3VhZ2Ugc3BlY2lmaWMgY29tcGlsZXIuCkNDPSRsdF9jb21waWxlcl9S
QwoKIyBJcyB0aGUgY29tcGlsZXIgdGhlIEdOVSBjb21waWxlcj8Kd2l0aF9n
Y2M9JEdDQ19SQwoKIyBDb21waWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1aWx0
aW4gZnVuY3Rpb25zLgpub19idWlsdGluX2ZsYWc9JGx0X2x0X3Byb2dfY29t
cGlsZXJfbm9fYnVpbHRpbl9mbGFnX1JDCgojIEFkZGl0aW9uYWwgY29tcGls
ZXIgZmxhZ3MgZm9yIGJ1aWxkaW5nIGxpYnJhcnkgb2JqZWN0cy4KcGljX2Zs
YWc9JGx0X2x0X3Byb2dfY29tcGlsZXJfcGljX1JDCgojIEhvdyB0byBwYXNz
IGEgbGlua2VyIGZsYWcgdGhyb3VnaCB0aGUgY29tcGlsZXIuCndsPSRsdF9s
dF9wcm9nX2NvbXBpbGVyX3dsX1JDCgojIENvbXBpbGVyIGZsYWcgdG8gcHJl
dmVudCBkeW5hbWljIGxpbmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9JGx0X2x0
X3Byb2dfY29tcGlsZXJfc3RhdGljX1JDCgojIERvZXMgY29tcGlsZXIgc2lt
dWx0YW5lb3VzbHkgc3VwcG9ydCAtYyBhbmQgLW8gb3B0aW9ucz8KY29tcGls
ZXJfY19vPSRsdF9sdF9jdl9wcm9nX2NvbXBpbGVyX2Nfb19SQwoKIyBXaGV0
aGVyIG9yIG5vdCB0byBhZGQgLWxjIGZvciBidWlsZGluZyBzaGFyZWQgbGli
cmFyaWVzLgpidWlsZF9saWJ0b29sX25lZWRfbGM9JGFyY2hpdmVfY21kc19u
ZWVkX2xjX1JDCgojIFdoZXRoZXIgb3Igbm90IHRvIGRpc2FsbG93IHNoYXJl
ZCBsaWJzIHdoZW4gcnVudGltZSBsaWJzIGFyZSBzdGF0aWMuCmFsbG93X2xp
YnRvb2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcz0kZW5hYmxlX3NoYXJl
ZF93aXRoX3N0YXRpY19ydW50aW1lc19SQwoKIyBDb21waWxlciBmbGFnIHRv
IGFsbG93IHJlZmxleGl2ZSBkbG9wZW5zLgpleHBvcnRfZHluYW1pY19mbGFn
X3NwZWM9JGx0X2V4cG9ydF9keW5hbWljX2ZsYWdfc3BlY19SQwoKIyBDb21w
aWxlciBmbGFnIHRvIGdlbmVyYXRlIHNoYXJlZCBvYmplY3RzIGRpcmVjdGx5
IGZyb20gYXJjaGl2ZXMuCndob2xlX2FyY2hpdmVfZmxhZ19zcGVjPSRsdF93
aG9sZV9hcmNoaXZlX2ZsYWdfc3BlY19SQwoKIyBXaGV0aGVyIHRoZSBjb21w
aWxlciBjb3BlcyB3aXRoIHBhc3Npbmcgbm8gb2JqZWN0cyBkaXJlY3RseS4K
Y29tcGlsZXJfbmVlZHNfb2JqZWN0PSRsdF9jb21waWxlcl9uZWVkc19vYmpl
Y3RfUkMKCiMgQ3JlYXRlIGFuIG9sZC1zdHlsZSBhcmNoaXZlIGZyb20gYSBz
aGFyZWQgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfZnJvbV9uZXdfY21kcz0kbHRf
b2xkX2FyY2hpdmVfZnJvbV9uZXdfY21kc19SQwoKIyBDcmVhdGUgYSB0ZW1w
b3Jhcnkgb2xkLXN0eWxlIGFyY2hpdmUgdG8gbGluayBpbnN0ZWFkIG9mIGEg
c2hhcmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRz
PSRsdF9vbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kc19SQwoKIyBDb21t
YW5kcyB1c2VkIHRvIGJ1aWxkIGEgc2hhcmVkIGFyY2hpdmUuCmFyY2hpdmVf
Y21kcz0kbHRfYXJjaGl2ZV9jbWRzX1JDCmFyY2hpdmVfZXhwc3ltX2NtZHM9
JGx0X2FyY2hpdmVfZXhwc3ltX2NtZHNfUkMKCiMgQ29tbWFuZHMgdXNlZCB0
byBidWlsZCBhIGxvYWRhYmxlIG1vZHVsZSBpZiBkaWZmZXJlbnQgZnJvbSBi
dWlsZGluZwojIGEgc2hhcmVkIGFyY2hpdmUuCm1vZHVsZV9jbWRzPSRsdF9t
b2R1bGVfY21kc19SQwptb2R1bGVfZXhwc3ltX2NtZHM9JGx0X21vZHVsZV9l
eHBzeW1fY21kc19SQwoKIyBXaGV0aGVyIHdlIGFyZSBidWlsZGluZyB3aXRo
IEdOVSBsZCBvciBub3QuCndpdGhfZ251X2xkPSRsdF93aXRoX2dudV9sZF9S
QwoKIyBGbGFnIHRoYXQgYWxsb3dzIHNoYXJlZCBsaWJyYXJpZXMgd2l0aCB1
bmRlZmluZWQgc3ltYm9scyB0byBiZSBidWlsdC4KYWxsb3dfdW5kZWZpbmVk
X2ZsYWc9JGx0X2FsbG93X3VuZGVmaW5lZF9mbGFnX1JDCgojIEZsYWcgdGhh
dCBlbmZvcmNlcyBubyB1bmRlZmluZWQgc3ltYm9scy4Kbm9fdW5kZWZpbmVk
X2ZsYWc9JGx0X25vX3VuZGVmaW5lZF9mbGFnX1JDCgojIEZsYWcgdG8gaGFy
ZGNvZGUgXCRsaWJkaXIgaW50byBhIGJpbmFyeSBkdXJpbmcgbGlua2luZy4K
IyBUaGlzIG11c3Qgd29yayBldmVuIGlmIFwkbGliZGlyIGRvZXMgbm90IGV4
aXN0CmhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JGx0X2hhcmRjb2RlX2xp
YmRpcl9mbGFnX3NwZWNfUkMKCiMgV2hldGhlciB3ZSBuZWVkIGEgc2luZ2xl
ICItcnBhdGgiIGZsYWcgd2l0aCBhIHNlcGFyYXRlZCBhcmd1bWVudC4KaGFy
ZGNvZGVfbGliZGlyX3NlcGFyYXRvcj0kbHRfaGFyZGNvZGVfbGliZGlyX3Nl
cGFyYXRvcl9SQwoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgRElSL2xpYk5B
TUVcJHtzaGFyZWRfZXh0fSBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMKIyBE
SVIgaW50byB0aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfZGlyZWN0
PSRoYXJkY29kZV9kaXJlY3RfUkMKCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5n
IERJUi9saWJOQU1FXCR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcgaGFy
ZGNvZGVzCiMgRElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkgYW5kIHRo
ZSByZXN1bHRpbmcgbGlicmFyeSBkZXBlbmRlbmN5IGlzCiMgImFic29sdXRl
IixpLmUgaW1wb3NzaWJsZSB0byBjaGFuZ2UgYnkgc2V0dGluZyBcJHtzaGxp
YnBhdGhfdmFyfSBpZiB0aGUKIyBsaWJyYXJ5IGlzIHJlbG9jYXRlZC4KaGFy
ZGNvZGVfZGlyZWN0X2Fic29sdXRlPSRoYXJkY29kZV9kaXJlY3RfYWJzb2x1
dGVfUkMKCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5nIHRoZSAtTERJUiBmbGFn
IGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcyBESVIKIyBpbnRvIHRoZSByZXN1
bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9taW51c19MPSRoYXJkY29kZV9taW51
c19MX1JDCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBTSExJQlBBVEhfVkFS
PURJUiBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0aGUg
cmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0kaGFy
ZGNvZGVfc2hsaWJwYXRoX3Zhcl9SQwoKIyBTZXQgdG8gInllcyIgaWYgYnVp
bGRpbmcgYSBzaGFyZWQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGhhcmRjb2Rl
cyBESVIKIyBpbnRvIHRoZSBsaWJyYXJ5IGFuZCBhbGwgc3Vic2VxdWVudCBs
aWJyYXJpZXMgYW5kIGV4ZWN1dGFibGVzIGxpbmtlZAojIGFnYWluc3QgaXQu
CmhhcmRjb2RlX2F1dG9tYXRpYz0kaGFyZGNvZGVfYXV0b21hdGljX1JDCgoj
IFNldCB0byB5ZXMgaWYgbGlua2VyIGFkZHMgcnVudGltZSBwYXRocyBvZiBk
ZXBlbmRlbnQgbGlicmFyaWVzCiMgdG8gcnVudGltZSBwYXRoIGxpc3QuCmlu
aGVyaXRfcnBhdGg9JGluaGVyaXRfcnBhdGhfUkMKCiMgV2hldGhlciBsaWJ0
b29sIG11c3QgbGluayBhIHByb2dyYW0gYWdhaW5zdCBhbGwgaXRzIGRlcGVu
ZGVuY3kgbGlicmFyaWVzLgpsaW5rX2FsbF9kZXBsaWJzPSRsaW5rX2FsbF9k
ZXBsaWJzX1JDCgojIFNldCB0byAieWVzIiBpZiBleHBvcnRlZCBzeW1ib2xz
IGFyZSByZXF1aXJlZC4KYWx3YXlzX2V4cG9ydF9zeW1ib2xzPSRhbHdheXNf
ZXhwb3J0X3N5bWJvbHNfUkMKCiMgVGhlIGNvbW1hbmRzIHRvIGxpc3QgZXhw
b3J0ZWQgc3ltYm9scy4KZXhwb3J0X3N5bWJvbHNfY21kcz0kbHRfZXhwb3J0
X3N5bWJvbHNfY21kc19SQwoKIyBTeW1ib2xzIHRoYXQgc2hvdWxkIG5vdCBi
ZSBsaXN0ZWQgaW4gdGhlIHByZWxvYWRlZCBzeW1ib2xzLgpleGNsdWRlX2V4
cHN5bXM9JGx0X2V4Y2x1ZGVfZXhwc3ltc19SQwoKIyBTeW1ib2xzIHRoYXQg
bXVzdCBhbHdheXMgYmUgZXhwb3J0ZWQuCmluY2x1ZGVfZXhwc3ltcz0kbHRf
aW5jbHVkZV9leHBzeW1zX1JDCgojIENvbW1hbmRzIG5lY2Vzc2FyeSBmb3Ig
bGlua2luZyBwcm9ncmFtcyAoYWdhaW5zdCBsaWJyYXJpZXMpIHdpdGggdGVt
cGxhdGVzLgpwcmVsaW5rX2NtZHM9JGx0X3ByZWxpbmtfY21kc19SQwoKIyBD
b21tYW5kcyBuZWNlc3NhcnkgZm9yIGZpbmlzaGluZyBsaW5raW5nIHByb2dy
YW1zLgpwb3N0bGlua19jbWRzPSRsdF9wb3N0bGlua19jbWRzX1JDCgojIFNw
ZWNpZnkgZmlsZW5hbWUgY29udGFpbmluZyBpbnB1dCBmaWxlcy4KZmlsZV9s
aXN0X3NwZWM9JGx0X2ZpbGVfbGlzdF9zcGVjX1JDCgojIEhvdyB0byBoYXJk
Y29kZSBhIHNoYXJlZCBsaWJyYXJ5IHBhdGggaW50byBhbiBleGVjdXRhYmxl
LgpoYXJkY29kZV9hY3Rpb249JGhhcmRjb2RlX2FjdGlvbl9SQwoKIyBUaGUg
ZGlyZWN0b3JpZXMgc2VhcmNoZWQgYnkgdGhpcyBjb21waWxlciB3aGVuIGNy
ZWF0aW5nIGEgc2hhcmVkIGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9zZWFyY2hf
ZGlycz0kbHRfY29tcGlsZXJfbGliX3NlYXJjaF9kaXJzX1JDCgojIERlcGVu
ZGVuY2llcyB0byBwbGFjZSBiZWZvcmUgYW5kIGFmdGVyIHRoZSBvYmplY3Rz
IGJlaW5nIGxpbmtlZCB0bwojIGNyZWF0ZSBhIHNoYXJlZCBsaWJyYXJ5Lgpw
cmVkZXBfb2JqZWN0cz0kbHRfcHJlZGVwX29iamVjdHNfUkMKcG9zdGRlcF9v
YmplY3RzPSRsdF9wb3N0ZGVwX29iamVjdHNfUkMKcHJlZGVwcz0kbHRfcHJl
ZGVwc19SQwpwb3N0ZGVwcz0kbHRfcG9zdGRlcHNfUkMKCiMgVGhlIGxpYnJh
cnkgc2VhcmNoIHBhdGggdXNlZCBpbnRlcm5hbGx5IGJ5IHRoZSBjb21waWxl
ciB3aGVuIGxpbmtpbmcKIyBhIHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9s
aWJfc2VhcmNoX3BhdGg9JGx0X2NvbXBpbGVyX2xpYl9zZWFyY2hfcGF0aF9S
QwoKIyAjIyMgRU5EIExJQlRPT0wgVEFHIENPTkZJRzogUkMKX0xUX0VPRgoK
IDs7CgogIGVzYWMKZG9uZSAjIGZvciBhY190YWcKCgphc19mbl9leGl0IDAK

--_----------=_13840355941782731
Content-Disposition: attachment; filename="test-suite.log"
Content-Transfer-Encoding: base64
Content-Type: application/octet-stream; name="test-suite.log"

PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAg
R05VIExpYnRvb2wgMi40LjI6IC4vdGVzdC1zdWl0ZS5sb2cgICAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCkFsbCAxMDQg
dGVzdHMgcGFzc2VkLiAgKDIgdGVzdHMgd2VyZSBub3QgcnVuKS4gIAoKLi4g
Y29udGVudHM6OiA6ZGVwdGg6IDIKCgpTS0lQOiB0ZXN0cy9jZGVtby11bmRl
Zi50ZXN0IChleGl0OiA3NykKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09CgpjZGVtby11bmRlZi50ZXN0OiA9PT0gIFJ1bm5pbmcg
Y2RlbW8tdW5kZWYudGVzdApjZGVtby11bmRlZi50ZXN0OiA9PT0gIFJ1bm5p
bmcgYG1ha2UgZGlzdGNsZWFuJyBpbiBjZGVtbwogcm0gLWYgY2RlbW8uZXhl
CiBybSAtZiBjZGVtbwpybSAtcmYgLmxpYnMgX2xpYnMKdGVzdCAteiAibGli
Zm9vLmxhIiB8fCBybSAtZiBsaWJmb28ubGEKcm0gLWYgIi4vc29fbG9jYXRp
b25zIgpybSAtZiAqLm8Kcm0gLWYgKi5sbwpybSAtZiAqLnRhYi5jCnRlc3Qg
LXogIiIgfHwgcm0gLWYgCnRlc3QgLiA9ICIvTWluR1cvc2hhcmUvYXV0b21h
a2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2NkZW1vIiB8fCB0ZXN0IC16
ICIiIHx8IHJtIC1mIApybSAtZiBsaWJ0b29sIGNvbmZpZy5sdAphY19maWxl
cz0iYS5vdXQuKiBhLmV4ZS4qIGFfb3V0LmV4ZS4qIGIub3V0LiogY29uZnRl
c3QuKiI7IFwKCWZvciBhY19maWxlIGluICRhY19maWxlczsgZG8gXAoJICBj
YXNlICRhY19maWxlIGluIFwKCSAgICAqLnhjb2ZmIHwgKi50ZHMgfCAqLmQg
fCAqLnBkYiB8ICoueFNZTSB8ICouYmIgfCAqLmJiZyB8ICoubWFwIHwgKi5p
bmYgfCAqLmRTWU0gKSBybSAtcmYgJGFjX2ZpbGUgOzsgXAoJICBlc2FjOyBc
Cglkb25lCnJtIC1mIFRBR1MgSUQgR1RBR1MgR1JUQUdTIEdTWU1TIEdQQVRI
IHRhZ3MKcm0gLWYgY29uZmlnLnN0YXR1cyBjb25maWcuY2FjaGUgY29uZmln
LmxvZyBjb25maWd1cmUubGluZW5vIGNvbmZpZy5zdGF0dXMubGluZW5vCnJt
IC1mIE1ha2VmaWxlCmNkZW1vLXVuZGVmLnRlc3Q6ID09PSAgQ29uZmlndXJp
bmcgaW4gY2RlbW8KY2RlbW8tdW5kZWYudGVzdDogPT09ICAvYmluL3NoIC9N
aW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMv
Y2RlbW8vY29uZmlndXJlIC0tc3JjZGlyPS9NaW5HVy9zaGFyZS9hdXRvbWFr
ZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvY2RlbW8gLS1wcmVmaXg9L21p
bmd3L2xpYnRvb2wtYnVpbGQtZHVlLXRvLUdOVS9faW5zdC1jZGVtbyAtLWRp
c2FibGUtc3RhdGljCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGlu
c3RhbGwuLi4gL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVp
bGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEg
dGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2lu
ZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRz
ICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNr
aW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNr
aW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4u
LiBhLmV4ZQpjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4u
IC5leGUKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5n
Li4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4u
IG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNv
bXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1n
Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNP
IEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5j
bHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kg
c3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5
cGUuLi4gaTY4Ni1wYy1taW5ndzMyCmNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5
cGUuLi4gaTY4Ni1wYy1taW5ndzMyCmNoZWNraW5nIGhvdyB0byBwcmludCBz
dHJpbmdzLi4uIHByaW50ZgpjaGVja2luZyBmb3IgYSBzZWQgdGhhdCBkb2Vz
IG5vdCB0cnVuY2F0ZSBvdXRwdXQuLi4gL2Jpbi9zZWQKY2hlY2tpbmcgZm9y
IGdyZXAgdGhhdCBoYW5kbGVzIGxvbmcgbGluZXMgYW5kIC1lLi4uIC9iaW4v
Z3JlcApjaGVja2luZyBmb3IgZWdyZXAuLi4gL2Jpbi9ncmVwIC1FCmNoZWNr
aW5nIGZvciBmZ3JlcC4uLiAvYmluL2dyZXAgLUYKY2hlY2tpbmcgZm9yIGxk
IHVzZWQgYnkgZ2NjLi4uIGM6L3Rpbmd3L21pbmd3MzIvYmluL2xkLmV4ZQpj
aGVja2luZyBpZiB0aGUgbGlua2VyIChjOi90aW5ndy9taW5ndzMyL2Jpbi9s
ZC5leGUpIGlzIEdOVSBsZC4uLiB5ZXMKY2hlY2tpbmcgZm9yIEJTRC0gb3Ig
TVMtY29tcGF0aWJsZSBuYW1lIGxpc3RlciAobm0pLi4uIC9iaW4vbm0gLUIK
Y2hlY2tpbmcgdGhlIG5hbWUgbGlzdGVyICgvYmluL25tIC1CKSBpbnRlcmZh
Y2UuLi4gQlNEIG5tCmNoZWNraW5nIHdoZXRoZXIgbG4gLXMgd29ya3MuLi4g
bm8sIHVzaW5nIGNwIC1wCmNoZWNraW5nIHRoZSBtYXhpbXVtIGxlbmd0aCBv
ZiBjb21tYW5kIGxpbmUgYXJndW1lbnRzLi4uIDgxOTIKY2hlY2tpbmcgd2hl
dGhlciB0aGUgc2hlbGwgdW5kZXJzdGFuZHMgc29tZSBYU0kgY29uc3RydWN0
cy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdW5kZXJzdGFu
ZHMgIis9Ii4uLiB5ZXMKY2hlY2tpbmcgaG93IHRvIGNvbnZlcnQgaTY4Ni1w
Yy1taW5ndzMyIGZpbGUgbmFtZXMgdG8gaTY4Ni1wYy1taW5ndzMyIGZvcm1h
dC4uLiAoY2FjaGVkKSBmdW5jX2NvbnZlcnRfZmlsZV9tc3lzX3RvX3czMgpj
aGVja2luZyBob3cgdG8gY29udmVydCBpNjg2LXBjLW1pbmd3MzIgZmlsZSBu
YW1lcyB0byB0b29sY2hhaW4gZm9ybWF0Li4uIChjYWNoZWQpIGZ1bmNfY29u
dmVydF9maWxlX21zeXNfdG9fdzMyCmNoZWNraW5nIGZvciBjOi90aW5ndy9t
aW5ndzMyL2Jpbi9sZC5leGUgb3B0aW9uIHRvIHJlbG9hZCBvYmplY3QgZmls
ZXMuLi4gLXIKY2hlY2tpbmcgZm9yIG9iamR1bXAuLi4gb2JqZHVtcApjaGVj
a2luZyBob3cgdG8gcmVjb2duaXplIGRlcGVuZGVudCBsaWJyYXJpZXMuLi4g
ZmlsZV9tYWdpYyBeeDg2IGFyY2hpdmUgaW1wb3J0fF54ODYgRExMCmNoZWNr
aW5nIGZvciBkbGx0b29sLi4uIGRsbHRvb2wKY2hlY2tpbmcgaG93IHRvIGFz
c29jaWF0ZSBydW50aW1lIGFuZCBsaW5rIGxpYnJhcmllcy4uLiBmdW5jX2N5
Z21pbmdfZGxsX2Zvcl9pbXBsaWIKY2hlY2tpbmcgZm9yIGFyY2hpdmVyIEBG
SUxFIHN1cHBvcnQuLi4gQApjaGVja2luZyBmb3Igc3RyaXAuLi4gc3RyaXAK
Y2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgY29tbWFu
ZCB0byBwYXJzZSAvYmluL25tIC1CIG91dHB1dCBmcm9tIGdjYyBvYmplY3Qu
Li4gb2sKY2hlY2tpbmcgZm9yIHN5c3Jvb3QuLi4gbm8KY2hlY2tpbmcgZm9y
IG10Li4uIDoKY2hlY2tpbmcgaWYgOiBpcyBhIG1hbmlmZXN0IHRvb2wuLi4g
bm8KY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IuLi4g
Z2NjIC1FCmNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzLi4uIHll
cwpjaGVja2luZyBmb3Igc3lzL3R5cGVzLmguLi4geWVzCmNoZWNraW5nIGZv
ciBzeXMvc3RhdC5oLi4uIHllcwpjaGVja2luZyBmb3Igc3RkbGliLmguLi4g
eWVzCmNoZWNraW5nIGZvciBzdHJpbmcuaC4uLiB5ZXMKY2hlY2tpbmcgZm9y
IG1lbW9yeS5oLi4uIHllcwpjaGVja2luZyBmb3Igc3RyaW5ncy5oLi4uIHll
cwpjaGVja2luZyBmb3IgaW50dHlwZXMuaC4uLiB5ZXMKY2hlY2tpbmcgZm9y
IHN0ZGludC5oLi4uIHllcwpjaGVja2luZyBmb3IgdW5pc3RkLmguLi4geWVz
CmNoZWNraW5nIGZvciBkbGZjbi5oLi4uIG5vCmNoZWNraW5nIGZvciBvYmpk
aXIuLi4gLmxpYnMKY2hlY2tpbmcgaWYgZ2NjIHN1cHBvcnRzIC1mbm8tcnR0
aSAtZm5vLWV4Y2VwdGlvbnMuLi4gbm8KY2hlY2tpbmcgZm9yIGdjYyBvcHRp
b24gdG8gcHJvZHVjZSBQSUMuLi4gLURETExfRVhQT1JUIC1EUElDCmNoZWNr
aW5nIGlmIGdjYyBQSUMgZmxhZyAtRERMTF9FWFBPUlQgLURQSUMgd29ya3Mu
Li4geWVzCmNoZWNraW5nIGlmIGdjYyBzdGF0aWMgZmxhZyAtc3RhdGljIHdv
cmtzLi4uIHllcwpjaGVja2luZyBpZiBnY2Mgc3VwcG9ydHMgLWMgLW8gZmls
ZS5vLi4uIHllcwpjaGVja2luZyBpZiBnY2Mgc3VwcG9ydHMgLWMgLW8gZmls
ZS5vLi4uIChjYWNoZWQpIHllcwpjaGVja2luZyB3aGV0aGVyIHRoZSBnY2Mg
bGlua2VyIChjOi90aW5ndy9taW5ndzMyL2Jpbi9sZC5leGUpIHN1cHBvcnRz
IHNoYXJlZCBsaWJyYXJpZXMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgLWxj
IHNob3VsZCBiZSBleHBsaWNpdGx5IGxpbmtlZCBpbi4uLiB5ZXMKY2hlY2tp
bmcgZHluYW1pYyBsaW5rZXIgY2hhcmFjdGVyaXN0aWNzLi4uIFdpbjMyIGxk
LmV4ZQpjaGVja2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRocyBp
bnRvIHByb2dyYW1zLi4uIGltbWVkaWF0ZQpjaGVja2luZyB3aGV0aGVyIHN0
cmlwcGluZyBsaWJyYXJpZXMgaXMgcG9zc2libGUuLi4geWVzCmNoZWNraW5n
IGlmIGxpYnRvb2wgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcy4uLiB5ZXMK
Y2hlY2tpbmcgd2hldGhlciB0byBidWlsZCBzaGFyZWQgbGlicmFyaWVzLi4u
IHllcwpjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHN0YXRpYyBsaWJyYXJp
ZXMuLi4gbm8KY2hlY2tpbmcgZm9yIGNvcyBpbiAtbG0uLi4geWVzCmNvbmZp
Z3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6
IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBk
ZXBmaWxlcyBjb21tYW5kcwpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgbGli
dG9vbCBjb21tYW5kcwpjZGVtby11bmRlZi50ZXN0OiBpNjg2LXBjLW1pbmd3
MzIgZG9lc24ndCBzdXBwb3J0IHVuZGVmaW5lZCBzeW1ib2xzIGluIHNoYXJl
ZCBsaWJzCgpTS0lQOiB0ZXN0cy90YWdkZW1vLXVuZGVmLnRlc3QgKGV4aXQ6
IDc3KQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQoKdGFnZGVtby11bmRlZi50ZXN0OiA9PT0gIFJ1bm5pbmcgdGFnZGVtby11
bmRlZi50ZXN0CnRhZ2RlbW8tdW5kZWYudGVzdDogPT09ICBSdW5uaW5nIGBt
YWtlIGRpc3RjbGVhbicgaW4gdGFnZGVtbwogcm0gLWYgdGFnZGVtby5leGUK
IHJtIC1mIHRhZ2RlbW8KdGVzdCAteiAibGliZm9vLmxhIGxpYmJhei5sYSIg
fHwgcm0gLWYgbGliZm9vLmxhIGxpYmJhei5sYQpybSAtZiAiLi9zb19sb2Nh
dGlvbnMiCnJtIC1mICIuL3NvX2xvY2F0aW9ucyIKcm0gLXJmIC5saWJzIF9s
aWJzCnRlc3QgLXogImxpYmNvbnYubGEiIHx8IHJtIC1mIGxpYmNvbnYubGEK
cm0gLWYgIi4vc29fbG9jYXRpb25zIgpybSAtZiAqLm8Kcm0gLWYgKi5sbwpy
bSAtZiAqLnRhYi5jCnRlc3QgLXogIiIgfHwgcm0gLWYgCnRlc3QgLiA9ICIv
TWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3Rz
L3RhZ2RlbW8iIHx8IHRlc3QgLXogIiIgfHwgcm0gLWYgCnJtIC1mIGxpYnRv
b2wgY29uZmlnLmx0CmFjX2ZpbGVzPSJhLm91dC4qIGEuZXhlLiogYV9vdXQu
ZXhlLiogYi5vdXQuKiBjb25mdGVzdC4qIjsgXAoJZm9yIGFjX2ZpbGUgaW4g
JGFjX2ZpbGVzOyBkbyBcCgkgIGNhc2UgJGFjX2ZpbGUgaW4gXAoJICAgICou
eGNvZmYgfCAqLnRkcyB8ICouZCB8ICoucGRiIHwgKi54U1lNIHwgKi5iYiB8
ICouYmJnIHwgKi5tYXAgfCAqLmluZiB8ICouZFNZTSApIHJtIC1yZiAkYWNf
ZmlsZSA7OyBcCgkgIGVzYWM7IFwKCWRvbmUKcm0gLWYgVEFHUyBJRCBHVEFH
UyBHUlRBR1MgR1NZTVMgR1BBVEggdGFncwpybSAtZiBjb25maWcuc3RhdHVz
IGNvbmZpZy5jYWNoZSBjb25maWcubG9nIGNvbmZpZ3VyZS5saW5lbm8gY29u
ZmlnLnN0YXR1cy5saW5lbm8Kcm0gLWYgTWFrZWZpbGUKdGFnZGVtby11bmRl
Zi50ZXN0OiA9PT0gIENvbmZpZ3VyaW5nIGluIHRhZ2RlbW8KdGFnZGVtby11
bmRlZi50ZXN0OiA9PT0gIC9iaW4vc2ggL01pbkdXL3NoYXJlL2F1dG9tYWtl
LTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy90YWdkZW1vL2NvbmZpZ3VyZSAt
LXNyY2Rpcj0vTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIu
NC4yL3Rlc3RzL3RhZ2RlbW8gLS1wcmVmaXg9L21pbmd3L2xpYnRvb2wtYnVp
bGQtZHVlLXRvLUdOVS9faW5zdC10YWdkZW1vIC0tZGlzYWJsZS1zdGF0aWMK
Y2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5cGUuLi4gaTY4Ni1wYy1taW5ndzMy
CmNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUuLi4gaTY4Ni1wYy1taW5ndzMy
CmNoZWNraW5nIHRhcmdldCBzeXN0ZW0gdHlwZS4uLiBpNjg2LXBjLW1pbmd3
MzIKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAv
YmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9u
bWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2Fm
ZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdr
Li4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4u
LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhl
ciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMg
Y29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEuZXhlCmNo
ZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gLmV4ZQpjaGVj
a2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hl
Y2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2lu
ZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4g
eWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNo
ZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5v
bmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQg
YnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBn
Y2MuLi4gZ2NjMwpjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nl
c3Nvci4uLiBnY2MgLUUKY2hlY2tpbmcgd2hldGhlciBnY2MgYW5kIGNjIHVu
ZGVyc3RhbmQgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3
aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMrKyBjb21waWxlci4uLiB5
ZXMKY2hlY2tpbmcgd2hldGhlciBnKysgYWNjZXB0cyAtZy4uLiB5ZXMKY2hl
Y2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnKysuLi4gZ2NjMwpjaGVja2lu
ZyBob3cgdG8gcnVuIHRoZSBDKysgcHJlcHJvY2Vzc29yLi4uIGcrKyAtRQpj
aGVja2luZyB3aGV0aGVyIHRoZSBjb21waWxlciBpbXBsZW1lbnRzIG5hbWVz
cGFjZXMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgdGhlIGNvbXBpbGVyIGhh
cyBJU08gQysrIGlvc3RyZWFtLi4uIHllcwpjaGVja2luZyBob3cgdG8gcHJp
bnQgc3RyaW5ncy4uLiBwcmludGYKY2hlY2tpbmcgZm9yIGEgc2VkIHRoYXQg
ZG9lcyBub3QgdHJ1bmNhdGUgb3V0cHV0Li4uIC9iaW4vc2VkCmNoZWNraW5n
IGZvciBncmVwIHRoYXQgaGFuZGxlcyBsb25nIGxpbmVzIGFuZCAtZS4uLiAv
YmluL2dyZXAKY2hlY2tpbmcgZm9yIGVncmVwLi4uIC9iaW4vZ3JlcCAtRQpj
aGVja2luZyBmb3IgZmdyZXAuLi4gL2Jpbi9ncmVwIC1GCmNoZWNraW5nIGZv
ciBsZCB1c2VkIGJ5IGdjYy4uLiBjOi90aW5ndy9taW5ndzMyL2Jpbi9sZC5l
eGUKY2hlY2tpbmcgaWYgdGhlIGxpbmtlciAoYzovdGluZ3cvbWluZ3czMi9i
aW4vbGQuZXhlKSBpcyBHTlUgbGQuLi4geWVzCmNoZWNraW5nIGZvciBCU0Qt
IG9yIE1TLWNvbXBhdGlibGUgbmFtZSBsaXN0ZXIgKG5tKS4uLiAvYmluL25t
IC1CCmNoZWNraW5nIHRoZSBuYW1lIGxpc3RlciAoL2Jpbi9ubSAtQikgaW50
ZXJmYWNlLi4uIEJTRCBubQpjaGVja2luZyB3aGV0aGVyIGxuIC1zIHdvcmtz
Li4uIG5vLCB1c2luZyBjcCAtcApjaGVja2luZyB0aGUgbWF4aW11bSBsZW5n
dGggb2YgY29tbWFuZCBsaW5lIGFyZ3VtZW50cy4uLiA4MTkyCmNoZWNraW5n
IHdoZXRoZXIgdGhlIHNoZWxsIHVuZGVyc3RhbmRzIHNvbWUgWFNJIGNvbnN0
cnVjdHMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHVuZGVy
c3RhbmRzICIrPSIuLi4geWVzCmNoZWNraW5nIGhvdyB0byBjb252ZXJ0IGk2
ODYtcGMtbWluZ3czMiBmaWxlIG5hbWVzIHRvIGk2ODYtcGMtbWluZ3czMiBm
b3JtYXQuLi4gKGNhY2hlZCkgZnVuY19jb252ZXJ0X2ZpbGVfbXN5c190b193
MzIKY2hlY2tpbmcgaG93IHRvIGNvbnZlcnQgaTY4Ni1wYy1taW5ndzMyIGZp
bGUgbmFtZXMgdG8gdG9vbGNoYWluIGZvcm1hdC4uLiAoY2FjaGVkKSBmdW5j
X2NvbnZlcnRfZmlsZV9tc3lzX3RvX3czMgpjaGVja2luZyBmb3IgYzovdGlu
Z3cvbWluZ3czMi9iaW4vbGQuZXhlIG9wdGlvbiB0byByZWxvYWQgb2JqZWN0
IGZpbGVzLi4uIC1yCmNoZWNraW5nIGZvciBvYmpkdW1wLi4uIG9iamR1bXAK
Y2hlY2tpbmcgaG93IHRvIHJlY29nbml6ZSBkZXBlbmRlbnQgbGlicmFyaWVz
Li4uIGZpbGVfbWFnaWMgXng4NiBhcmNoaXZlIGltcG9ydHxeeDg2IERMTApj
aGVja2luZyBmb3IgZGxsdG9vbC4uLiBkbGx0b29sCmNoZWNraW5nIGhvdyB0
byBhc3NvY2lhdGUgcnVudGltZSBhbmQgbGluayBsaWJyYXJpZXMuLi4gZnVu
Y19jeWdtaW5nX2RsbF9mb3JfaW1wbGliCmNoZWNraW5nIGZvciBhcmNoaXZl
ciBARklMRSBzdXBwb3J0Li4uIEAKY2hlY2tpbmcgZm9yIHN0cmlwLi4uIHN0
cmlwCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIGNv
bW1hbmQgdG8gcGFyc2UgL2Jpbi9ubSAtQiBvdXRwdXQgZnJvbSBnY2Mgb2Jq
ZWN0Li4uIG9rCmNoZWNraW5nIGZvciBzeXNyb290Li4uIG5vCmNoZWNraW5n
IGZvciBtdC4uLiA6CmNoZWNraW5nIGlmIDogaXMgYSBtYW5pZmVzdCB0b29s
Li4uIG5vCmNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzLi4uIHll
cwpjaGVja2luZyBmb3Igc3lzL3R5cGVzLmguLi4geWVzCmNoZWNraW5nIGZv
ciBzeXMvc3RhdC5oLi4uIHllcwpjaGVja2luZyBmb3Igc3RkbGliLmguLi4g
eWVzCmNoZWNraW5nIGZvciBzdHJpbmcuaC4uLiB5ZXMKY2hlY2tpbmcgZm9y
IG1lbW9yeS5oLi4uIHllcwpjaGVja2luZyBmb3Igc3RyaW5ncy5oLi4uIHll
cwpjaGVja2luZyBmb3IgaW50dHlwZXMuaC4uLiB5ZXMKY2hlY2tpbmcgZm9y
IHN0ZGludC5oLi4uIHllcwpjaGVja2luZyBmb3IgdW5pc3RkLmguLi4geWVz
CmNoZWNraW5nIGZvciBkbGZjbi5oLi4uIG5vCmNoZWNraW5nIGZvciBvYmpk
aXIuLi4gLmxpYnMKY2hlY2tpbmcgaWYgZ2NjIHN1cHBvcnRzIC1mbm8tcnR0
aSAtZm5vLWV4Y2VwdGlvbnMuLi4gbm8KY2hlY2tpbmcgZm9yIGdjYyBvcHRp
b24gdG8gcHJvZHVjZSBQSUMuLi4gLURETExfRVhQT1JUIC1EUElDCmNoZWNr
aW5nIGlmIGdjYyBQSUMgZmxhZyAtRERMTF9FWFBPUlQgLURQSUMgd29ya3Mu
Li4geWVzCmNoZWNraW5nIGlmIGdjYyBzdGF0aWMgZmxhZyAtc3RhdGljIHdv
cmtzLi4uIHllcwpjaGVja2luZyBpZiBnY2Mgc3VwcG9ydHMgLWMgLW8gZmls
ZS5vLi4uIHllcwpjaGVja2luZyBpZiBnY2Mgc3VwcG9ydHMgLWMgLW8gZmls
ZS5vLi4uIChjYWNoZWQpIHllcwpjaGVja2luZyB3aGV0aGVyIHRoZSBnY2Mg
bGlua2VyIChjOi90aW5ndy9taW5ndzMyL2Jpbi9sZC5leGUpIHN1cHBvcnRz
IHNoYXJlZCBsaWJyYXJpZXMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgLWxj
IHNob3VsZCBiZSBleHBsaWNpdGx5IGxpbmtlZCBpbi4uLiB5ZXMKY2hlY2tp
bmcgZHluYW1pYyBsaW5rZXIgY2hhcmFjdGVyaXN0aWNzLi4uIFdpbjMyIGxk
LmV4ZQpjaGVja2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRocyBp
bnRvIHByb2dyYW1zLi4uIGltbWVkaWF0ZQpjaGVja2luZyB3aGV0aGVyIHN0
cmlwcGluZyBsaWJyYXJpZXMgaXMgcG9zc2libGUuLi4geWVzCmNoZWNraW5n
IGlmIGxpYnRvb2wgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcy4uLiB5ZXMK
Y2hlY2tpbmcgd2hldGhlciB0byBidWlsZCBzaGFyZWQgbGlicmFyaWVzLi4u
IHllcwpjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHN0YXRpYyBsaWJyYXJp
ZXMuLi4gbm8KY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQysrIHByZXByb2Nl
c3Nvci4uLiBnKysgLUUKY2hlY2tpbmcgZm9yIGxkIHVzZWQgYnkgZysrLi4u
IGM6L3Rpbmd3L21pbmd3MzIvYmluL2xkLmV4ZQpjaGVja2luZyBpZiB0aGUg
bGlua2VyIChjOi90aW5ndy9taW5ndzMyL2Jpbi9sZC5leGUpIGlzIEdOVSBs
ZC4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciB0aGUgZysrIGxpbmtlciAoYzov
dGluZ3cvbWluZ3czMi9iaW4vbGQuZXhlKSBzdXBwb3J0cyBzaGFyZWQgbGli
cmFyaWVzLi4uIHllcwpjaGVja2luZyBmb3IgZysrIG9wdGlvbiB0byBwcm9k
dWNlIFBJQy4uLiAtRERMTF9FWFBPUlQgLURQSUMKY2hlY2tpbmcgaWYgZysr
IFBJQyBmbGFnIC1ERExMX0VYUE9SVCAtRFBJQyB3b3Jrcy4uLiB5ZXMKY2hl
Y2tpbmcgaWYgZysrIHN0YXRpYyBmbGFnIC1zdGF0aWMgd29ya3MuLi4geWVz
CmNoZWNraW5nIGlmIGcrKyBzdXBwb3J0cyAtYyAtbyBmaWxlLm8uLi4geWVz
CmNoZWNraW5nIGlmIGcrKyBzdXBwb3J0cyAtYyAtbyBmaWxlLm8uLi4gKGNh
Y2hlZCkgeWVzCmNoZWNraW5nIHdoZXRoZXIgdGhlIGcrKyBsaW5rZXIgKGM6
L3Rpbmd3L21pbmd3MzIvYmluL2xkLmV4ZSkgc3VwcG9ydHMgc2hhcmVkIGxp
YnJhcmllcy4uLiB5ZXMKY2hlY2tpbmcgZHluYW1pYyBsaW5rZXIgY2hhcmFj
dGVyaXN0aWNzLi4uIFdpbjMyIGxkLmV4ZQpjaGVja2luZyBob3cgdG8gaGFy
ZGNvZGUgbGlicmFyeSBwYXRocyBpbnRvIHByb2dyYW1zLi4uIGltbWVkaWF0
ZQpjaGVja2luZyBmb3IgY29zIGluIC1sbS4uLiB5ZXMKY29uZmlndXJlOiBj
cmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRp
bmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVz
IGNvbW1hbmRzCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBsaWJ0b29sIGNv
bW1hbmRzCnRhZ2RlbW8tdW5kZWYudGVzdDogaTY4Ni1wYy1taW5ndzMyIGRv
ZXNuJ3Qgc3VwcG9ydCB1bmRlZmluZWQgc3ltYm9scyBpbiBzaGFyZWQgbGli
cwo=

--_----------=_13840355941782731
Content-Disposition: attachment; filename="libtool"
Content-Transfer-Encoding: base64
Content-Type: application/octet-stream; name="libtool"

IyEgL2Jpbi9zaAoKIyBsaWJ0b29sIC0gUHJvdmlkZSBnZW5lcmFsaXplZCBs
aWJyYXJ5LWJ1aWxkaW5nIHN1cHBvcnQgc2VydmljZXMuCiMgR2VuZXJhdGVk
IGF1dG9tYXRpY2FsbHkgYnkgY29uZmlnLnN0YXR1cyAobGlidG9vbCkgMi40
CiMgTGlidG9vbCB3YXMgY29uZmlndXJlZCBvbiBob3N0IGtoZWxkYXI6CiMg
Tk9URTogQ2hhbmdlcyBtYWRlIHRvIHRoaXMgZmlsZSB3aWxsIGJlIGxvc3Q6
IGxvb2sgYXQgbHRtYWluLnNoLgojCiMgICBDb3B5cmlnaHQgKEMpIDE5OTYs
IDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIw
MDUsCiMgICAgICAgICAgICAgICAgIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDks
IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAojICAgICAgICAgICAg
ICAgICBJbmMuCiMgICBXcml0dGVuIGJ5IEdvcmRvbiBNYXR6aWdrZWl0LCAx
OTk2CiMKIyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBMaWJ0b29sLgoj
CiMgR05VIExpYnRvb2wgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKIyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
IHZlcnNpb24gMiBvZgojIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgQXMgYSBzcGVjaWFsIGV4Y2Vw
dGlvbiB0byB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCiMgaWYg
eW91IGRpc3RyaWJ1dGUgdGhpcyBmaWxlIGFzIHBhcnQgb2YgYSBwcm9ncmFt
IG9yIGxpYnJhcnkgdGhhdAojIGlzIGJ1aWx0IHVzaW5nIEdOVSBMaWJ0b29s
LCB5b3UgbWF5IGluY2x1ZGUgdGhpcyBmaWxlIHVuZGVyIHRoZQojIHNhbWUg
ZGlzdHJpYnV0aW9uIHRlcm1zIHRoYXQgeW91IHVzZSBmb3IgdGhlIHJlc3Qg
b2YgdGhhdCBwcm9ncmFtLgojCiMgR05VIExpYnRvb2wgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojCiMgWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIEdOVSBMaWJ0b29sOyBzZWUg
dGhlIGZpbGUgQ09QWUlORy4gIElmIG5vdCwgYSBjb3B5CiMgY2FuIGJlIGRv
d25sb2FkZWQgZnJvbSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3Bs
Lmh0bWwsIG9yCiMgb2J0YWluZWQgYnkgd3JpdGluZyB0byB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAojIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgoK
CiMgVGhlIG5hbWVzIG9mIHRoZSB0YWdnZWQgY29uZmlndXJhdGlvbnMgc3Vw
cG9ydGVkIGJ5IHRoaXMgc2NyaXB0LgphdmFpbGFibGVfdGFncz0iQ1hYIEY3
NyBGQyBHQ0ogUkMgIgoKIyAjIyMgQkVHSU4gTElCVE9PTCBDT05GSUcKCiMg
V2hpY2ggcmVsZWFzZSBvZiBsaWJ0b29sLm00IHdhcyB1c2VkPwptYWNyb192
ZXJzaW9uPTIuNAptYWNyb19yZXZpc2lvbj0xLjMyOTQKCiMgQXNzZW1ibGVy
IHByb2dyYW0uCkFTPSJhcyIKCiMgRExMIGNyZWF0aW9uIHByb2dyYW0uCkRM
TFRPT0w9ImRsbHRvb2wiCgojIE9iamVjdCBkdW1wZXIgcHJvZ3JhbS4KT0JK
RFVNUD0ib2JqZHVtcCIKCiMgV2hldGhlciBvciBub3QgdG8gYnVpbGQgc2hh
cmVkIGxpYnJhcmllcy4KYnVpbGRfbGlidG9vbF9saWJzPXllcwoKIyBXaGV0
aGVyIG9yIG5vdCB0byBidWlsZCBzdGF0aWMgbGlicmFyaWVzLgpidWlsZF9v
bGRfbGlicz15ZXMKCiMgV2hhdCB0eXBlIG9mIG9iamVjdHMgdG8gYnVpbGQu
CnBpY19tb2RlPWRlZmF1bHQKCiMgV2hldGhlciBvciBub3QgdG8gb3B0aW1p
emUgZm9yIGZhc3QgaW5zdGFsbGF0aW9uLgpmYXN0X2luc3RhbGw9bmVlZGxl
c3MKCiMgU2hlbGwgdG8gdXNlIHdoZW4gaW52b2tpbmcgc2hlbGwgc2NyaXB0
cy4KU0hFTEw9Ii9iaW4vc2giCgojIEFuIGVjaG8gcHJvZ3JhbSB0aGF0IHBy
b3RlY3RzIGJhY2tzbGFzaGVzLgpFQ0hPPSJwcmludGYgJXNcXG4iCgojIFRo
ZSBob3N0IHN5c3RlbS4KaG9zdF9hbGlhcz0KaG9zdD1pNjg2LXBjLW1pbmd3
MzIKaG9zdF9vcz1taW5ndzMyCgojIFRoZSBidWlsZCBzeXN0ZW0uCmJ1aWxk
X2FsaWFzPQpidWlsZD1pNjg2LXBjLW1pbmd3MzIKYnVpbGRfb3M9bWluZ3cz
MgoKIyBBIHNlZCBwcm9ncmFtIHRoYXQgZG9lcyBub3QgdHJ1bmNhdGUgb3V0
cHV0LgpTRUQ9Ii9iaW4vc2VkIgoKIyBTZWQgdGhhdCBoZWxwcyB1cyBhdm9p
ZCBhY2NpZGVudGFsbHkgdHJpZ2dlcmluZyBlY2hvKDEpIG9wdGlvbnMgbGlr
ZSAtbi4KWHNlZD0iJFNFRCAtZSAxcy9eWC8vIgoKIyBBIGdyZXAgcHJvZ3Jh
bSB0aGF0IGhhbmRsZXMgbG9uZyBsaW5lcy4KR1JFUD0iL2Jpbi9ncmVwIgoK
IyBBbiBFUkUgbWF0Y2hlci4KRUdSRVA9Ii9iaW4vZ3JlcCAtRSIKCiMgQSBs
aXRlcmFsIHN0cmluZyBtYXRjaGVyLgpGR1JFUD0iL2Jpbi9ncmVwIC1GIgoK
IyBBIEJTRC0gb3IgTVMtY29tcGF0aWJsZSBuYW1lIGxpc3Rlci4KTk09Ii9i
aW4vbm0gLUIiCgojIFdoZXRoZXIgd2UgbmVlZCBzb2Z0IG9yIGhhcmQgbGlu
a3MuCkxOX1M9ImNwIC1wIgoKIyBXaGF0IGlzIHRoZSBtYXhpbXVtIGxlbmd0
aCBvZiBhIGNvbW1hbmQ/Cm1heF9jbWRfbGVuPTgxOTIKCiMgT2JqZWN0IGZp
bGUgc3VmZml4IChub3JtYWxseSAibyIpLgpvYmpleHQ9bwoKIyBFeGVjdXRh
YmxlIGZpbGUgc3VmZml4IChub3JtYWxseSAiIikuCmV4ZWV4dD0KCiMgd2hl
dGhlciB0aGUgc2hlbGwgdW5kZXJzdGFuZHMgInVuc2V0Ii4KbHRfdW5zZXQ9
dW5zZXQKCiMgdHVybiBzcGFjZXMgaW50byBuZXdsaW5lcy4KU1AyTkw9InRy
IFxcMDQwIFxcMDEyIgoKIyB0dXJuIG5ld2xpbmVzIGludG8gc3BhY2VzLgpO
TDJTUD0idHIgXFwwMTVcXDAxMiBcXDA0MFxcMDQwIgoKIyBjb252ZXJ0ICRi
dWlsZCBmaWxlIG5hbWVzIHRvICRob3N0IGZvcm1hdC4KdG9faG9zdF9maWxl
X2NtZD1mdW5jX2NvbnZlcnRfZmlsZV9tc3lzX3RvX3czMgoKIyBjb252ZXJ0
ICRidWlsZCBmaWxlcyB0byB0b29sY2hhaW4gZm9ybWF0Lgp0b190b29sX2Zp
bGVfY21kPWZ1bmNfY29udmVydF9maWxlX21zeXNfdG9fdzMyCgojIE1ldGhv
ZCB0byBjaGVjayB3aGV0aGVyIGRlcGVuZGVudCBsaWJyYXJpZXMgYXJlIHNo
YXJlZCBvYmplY3RzLgpkZXBsaWJzX2NoZWNrX21ldGhvZD0iZmlsZV9tYWdp
YyBeeDg2IGFyY2hpdmUgaW1wb3J0fF54ODYgRExMIgoKIyBDb21tYW5kIHRv
IHVzZSB3aGVuIGRlcGxpYnNfY2hlY2tfbWV0aG9kID0gImZpbGVfbWFnaWMi
LgpmaWxlX21hZ2ljX2NtZD0iZnVuY193aW4zMl9saWJpZCIKCiMgSG93IHRv
IGZpbmQgcG90ZW50aWFsIGZpbGVzIHdoZW4gZGVwbGlic19jaGVja19tZXRo
b2QgPSAiZmlsZV9tYWdpYyIuCmZpbGVfbWFnaWNfZ2xvYj0iIgoKIyBGaW5k
IHBvdGVudGlhbCBmaWxlcyB1c2luZyBub2Nhc2VnbG9iIHdoZW4gZGVwbGli
c19jaGVja19tZXRob2QgPSAiZmlsZV9tYWdpYyIuCndhbnRfbm9jYXNlZ2xv
Yj0ieWVzIgoKIyBDb21tYW5kIHRvIGFzc29jaWF0ZSBzaGFyZWQgYW5kIGxp
bmsgbGlicmFyaWVzLgpzaGFyZWRsaWJfZnJvbV9saW5rbGliX2NtZD0iZnVu
Y19jeWdtaW5nX2RsbF9mb3JfaW1wbGliIgoKIyBUaGUgYXJjaGl2ZXIuCkFS
PSJhciIKCiMgRmxhZ3MgdG8gY3JlYXRlIGFuIGFyY2hpdmUuCkFSX0ZMQUdT
PSJjcnUiCgojIEhvdyB0byBmZWVkIGEgZmlsZSBsaXN0aW5nIHRvIHRoZSBh
cmNoaXZlci4KYXJjaGl2ZXJfbGlzdF9zcGVjPSJAIgoKIyBBIHN5bWJvbCBz
dHJpcHBpbmcgcHJvZ3JhbS4KU1RSSVA9InN0cmlwIgoKIyBDb21tYW5kcyB1
c2VkIHRvIGluc3RhbGwgYW4gb2xkLXN0eWxlIGFyY2hpdmUuClJBTkxJQj0i
cmFubGliIgpvbGRfcG9zdGluc3RhbGxfY21kcz0iY2htb2QgNjQ0IFwkb2xk
bGliflwkUkFOTElCIFwkb2xkbGliIgpvbGRfcG9zdHVuaW5zdGFsbF9jbWRz
PSIiCgojIFdoZXRoZXIgdG8gdXNlIGEgbG9jayBmb3Igb2xkIGFyY2hpdmUg
ZXh0cmFjdGlvbi4KbG9ja19vbGRfYXJjaGl2ZV9leHRyYWN0aW9uPW5vCgoj
IEEgQyBjb21waWxlci4KTFRDQz0iZ2NjIgoKIyBMVENDIGNvbXBpbGVyIGZs
YWdzLgpMVENGTEFHUz0iLU8zIC1zIC1tbXMtYml0ZmllbGRzIC1tYXJjaD1p
Mzg2IC1tdHVuZT1pNjg2IgoKIyBUYWtlIHRoZSBvdXRwdXQgb2Ygbm0gYW5k
IHByb2R1Y2UgYSBsaXN0aW5nIG9mIHJhdyBzeW1ib2xzIGFuZCBDIG5hbWVz
LgpnbG9iYWxfc3ltYm9sX3BpcGU9InNlZCAtbiAtZSAncy9eLipbCSBdXFwo
W0FCQ0RHSVJTVFddW0FCQ0RHSVJTVFddKlxcKVsJIF1bCSBdKl9cXChbX0Et
WmEtel1bX0EtWmEtejAtOV0qXFwpXFx7MCwxXFx9XCQvXFwxIF9cXDIgXFwy
L3AnIHwgc2VkICcvIF9fZ251X2x0by9kJyIKCiMgVHJhbnNmb3JtIHRoZSBv
dXRwdXQgb2Ygbm0gaW4gYSBwcm9wZXIgQyBkZWNsYXJhdGlvbi4KZ2xvYmFs
X3N5bWJvbF90b19jZGVjbD0ic2VkIC1uIC1lICdzL15UIC4qIFxcKC4qXFwp
XCQvZXh0ZXJuIGludCBcXDEoKTsvcCcgLWUgJ3MvXltBQkNER0lSU1RXXSog
LiogXFwoLipcXClcJC9leHRlcm4gY2hhciBcXDE7L3AnIgoKIyBUcmFuc2Zv
cm0gdGhlIG91dHB1dCBvZiBubSBpbiBhIEMgbmFtZSBhZGRyZXNzIHBhaXIu
Cmdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9InNlZCAtbiAtZSAn
cy9eOiBcXChbXiBdKlxcKVsgXSpcJC8gIHtcXFwiXFwxXFxcIiwgKHZvaWQg
KikgMH0sL3AnIC1lICdzL15bQUJDREdJUlNUV10qIFxcKFteIF0qXFwpIFxc
KFteIF0qXFwpXCQvICB7XCJcXDJcIiwgKHZvaWQgKikgXFwmXFwyfSwvcCci
CgojIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFk
ZHJlc3MgcGFpciB3aGVuIGxpYiBwcmVmaXggaXMgbmVlZGVkLgpnbG9iYWxf
c3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9InNlZCAtbiAt
ZSAncy9eOiBcXChbXiBdKlxcKVsgXSpcJC8gIHtcXFwiXFwxXFxcIiwgKHZv
aWQgKikgMH0sL3AnIC1lICdzL15bQUJDREdJUlNUV10qIFxcKFteIF0qXFwp
IFxcKGxpYlteIF0qXFwpXCQvICB7XCJcXDJcIiwgKHZvaWQgKikgXFwmXFwy
fSwvcCcgLWUgJ3MvXltBQkNER0lSU1RXXSogXFwoW14gXSpcXCkgXFwoW14g
XSpcXClcJC8gIHtcImxpYlxcMlwiLCAodm9pZCAqKSBcXCZcXDJ9LC9wJyIK
CiMgU3BlY2lmeSBmaWxlbmFtZSBjb250YWluaW5nIGlucHV0IGZpbGVzIGZv
ciAkTk0uCm5tX2ZpbGVfbGlzdF9zcGVjPSJAIgoKIyBUaGUgcm9vdCB3aGVy
ZSB0byBzZWFyY2ggZm9yIGRlcGVuZGVudCBsaWJyYXJpZXMsYW5kIGluIHdo
aWNoIG91ciBsaWJyYXJpZXMgc2hvdWxkIGJlIGluc3RhbGxlZC4KbHRfc3lz
cm9vdD0KCiMgVGhlIG5hbWUgb2YgdGhlIGRpcmVjdG9yeSB0aGF0IGNvbnRh
aW5zIHRlbXBvcmFyeSBsaWJ0b29sIGZpbGVzLgpvYmpkaXI9LmxpYnMKCiMg
VXNlZCB0byBleGFtaW5lIGxpYnJhcmllcyB3aGVuIGZpbGVfbWFnaWNfY21k
IGJlZ2lucyB3aXRoICJmaWxlIi4KTUFHSUNfQ01EPWZpbGUKCiMgTXVzdCB3
ZSBsb2NrIGZpbGVzIHdoZW4gZG9pbmcgY29tcGlsYXRpb24/Cm5lZWRfbG9j
a3M9Im5vIgoKIyBNYW5pZmVzdCB0b29sLgpNQU5JRkVTVF9UT09MPSI6IgoK
IyBUb29sIHRvIG1hbmlwdWxhdGUgYXJjaGl2ZWQgRFdBUkYgZGVidWcgc3lt
Ym9sIGZpbGVzIG9uIE1hYyBPUyBYLgpEU1lNVVRJTD0iIgoKIyBUb29sIHRv
IGNoYW5nZSBnbG9iYWwgdG8gbG9jYWwgc3ltYm9scyBvbiBNYWMgT1MgWC4K
Tk1FRElUPSIiCgojIFRvb2wgdG8gbWFuaXB1bGF0ZSBmYXQgb2JqZWN0cyBh
bmQgYXJjaGl2ZXMgb24gTWFjIE9TIFguCkxJUE89IiIKCiMgbGRkL3JlYWRl
bGYgbGlrZSB0b29sIGZvciBNYWNoLU8gYmluYXJpZXMgb24gTWFjIE9TIFgu
Ck9UT09MPSIiCgojIGxkZC9yZWFkZWxmIGxpa2UgdG9vbCBmb3IgNjQgYml0
IE1hY2gtTyBiaW5hcmllcyBvbiBNYWMgT1MgWCAxMC40LgpPVE9PTDY0PSIi
CgojIE9sZCBhcmNoaXZlIHN1ZmZpeCAobm9ybWFsbHkgImEiKS4KbGliZXh0
PWEKCiMgU2hhcmVkIGxpYnJhcnkgc3VmZml4IChub3JtYWxseSAiLnNvIiku
CnNocmV4dF9jbWRzPSIuZGxsIgoKIyBUaGUgY29tbWFuZHMgdG8gZXh0cmFj
dCB0aGUgZXhwb3J0ZWQgc3ltYm9sIGxpc3QgZnJvbSBhIHNoYXJlZCBhcmNo
aXZlLgpleHRyYWN0X2V4cHN5bXNfY21kcz0iIgoKIyBWYXJpYWJsZXMgd2hv
c2UgdmFsdWVzIHNob3VsZCBiZSBzYXZlZCBpbiBsaWJ0b29sIHdyYXBwZXIg
c2NyaXB0cyBhbmQKIyByZXN0b3JlZCBhdCBsaW5rIHRpbWUuCnZhcmlhYmxl
c19zYXZlZF9mb3JfcmVsaW5rPSJQQVRIIFBBVEggTERfUlVOX1BBVEggR0ND
X0VYRUNfUFJFRklYIENPTVBJTEVSX1BBVEggTElCUkFSWV9QQVRIIgoKIyBE
byB3ZSBuZWVkIHRoZSAibGliIiBwcmVmaXggZm9yIG1vZHVsZXM/Cm5lZWRf
bGliX3ByZWZpeD1ubwoKIyBEbyB3ZSBuZWVkIGEgdmVyc2lvbiBmb3IgbGli
cmFyaWVzPwpuZWVkX3ZlcnNpb249bm8KCiMgTGlicmFyeSB2ZXJzaW9uaW5n
IHR5cGUuCnZlcnNpb25fdHlwZT13aW5kb3dzCgojIFNoYXJlZCBsaWJyYXJ5
IHJ1bnRpbWUgcGF0aCB2YXJpYWJsZS4KcnVucGF0aF92YXI9TERfUlVOX1BB
VEgKCiMgU2hhcmVkIGxpYnJhcnkgcGF0aCB2YXJpYWJsZS4Kc2hsaWJwYXRo
X3Zhcj1QQVRICgojIElzIHNobGlicGF0aCBzZWFyY2hlZCBiZWZvcmUgdGhl
IGhhcmQtY29kZWQgbGlicmFyeSBzZWFyY2ggcGF0aD8Kc2hsaWJwYXRoX292
ZXJyaWRlc19ydW5wYXRoPXllcwoKIyBGb3JtYXQgb2YgbGlicmFyeSBuYW1l
IHByZWZpeC4KbGlibmFtZV9zcGVjPSJsaWJcJG5hbWUiCgojIExpc3Qgb2Yg
YXJjaGl2ZSBuYW1lcy4gIEZpcnN0IG5hbWUgaXMgdGhlIHJlYWwgb25lLCB0
aGUgcmVzdCBhcmUgbGlua3MuCiMgVGhlIGxhc3QgbmFtZSBpcyB0aGUgb25l
IHRoYXQgdGhlIGxpbmtlciBmaW5kcyB3aXRoIC1sTkFNRQpsaWJyYXJ5X25h
bWVzX3NwZWM9IlwkbGlibmFtZS5kbGwuYSIKCiMgVGhlIGNvZGVkIG5hbWUg
b2YgdGhlIGxpYnJhcnksIGlmIGRpZmZlcmVudCBmcm9tIHRoZSByZWFsIG5h
bWUuCnNvbmFtZV9zcGVjPSJcJHtsaWJuYW1lfVxgZWNobyBcJHtyZWxlYXNl
fSB8IFwkU0VEIC1lIHMvWy5dLy0vZ1xgXCR7dmVyc3VmZml4fVwke3NoYXJl
ZF9leHR9IgoKIyBQZXJtaXNzaW9uIG1vZGUgb3ZlcnJpZGUgZm9yIGluc3Rh
bGxhdGlvbiBvZiBzaGFyZWQgbGlicmFyaWVzLgppbnN0YWxsX292ZXJyaWRl
X21vZGU9IiIKCiMgQ29tbWFuZCB0byB1c2UgYWZ0ZXIgaW5zdGFsbGF0aW9u
IG9mIGEgc2hhcmVkIGFyY2hpdmUuCnBvc3RpbnN0YWxsX2NtZHM9ImJhc2Vf
ZmlsZT1cXFxgYmFzZW5hbWUgXFxcJHtmaWxlfVxcXGB+CiAgICAgIGRscGF0
aD1cXFxgXCRTSEVMTCAyPiYxIC1jICcuIFwkZGlyLydcXFwke2Jhc2VfZmls
ZX0naTsgZWNobyBcXFwkZGxuYW1lJ1xcXGB+CiAgICAgIGRsZGlyPVwkZGVz
dGRpci9cXFxgZGlybmFtZSBcXFwkZGxwYXRoXFxcYH4KICAgICAgdGVzdCAt
ZCBcXFwkZGxkaXIgfHwgbWtkaXIgLXAgXFxcJGRsZGlyfgogICAgICBcJGlu
c3RhbGxfcHJvZyBcJGRpci9cJGRsbmFtZSBcXFwkZGxkaXIvXCRkbG5hbWV+
CiAgICAgIGNobW9kIGEreCBcXFwkZGxkaXIvXCRkbG5hbWV+CiAgICAgIGlm
IHRlc3QgLW4gJ1wkc3RyaXBtZScgJiYgdGVzdCAtbiAnXCRzdHJpcGxpYic7
IHRoZW4KICAgICAgICBldmFsICdcJHN0cmlwbGliIFxcXCRkbGRpci9cJGRs
bmFtZScgfHwgZXhpdCBcXFwkPzsKICAgICAgZmkiCgojIENvbW1hbmQgdG8g
dXNlIGFmdGVyIHVuaW5zdGFsbGF0aW9uIG9mIGEgc2hhcmVkIGFyY2hpdmUu
CnBvc3R1bmluc3RhbGxfY21kcz0iZGxkbGw9XFxcYFwkU0hFTEwgMj4mMSAt
YyAnLiBcJGZpbGU7IGVjaG8gXFxcJGRsbmFtZSdcXFxgfgogICAgICBkbHBh
dGg9XCRkaXIvXFxcJGRsZGxsfgogICAgICAgXCRSTSBcXFwkZGxwYXRoIgoK
IyBDb21tYW5kcyB1c2VkIHRvIGZpbmlzaCBhIGxpYnRvb2wgbGlicmFyeSBp
bnN0YWxsYXRpb24gaW4gYSBkaXJlY3RvcnkuCmZpbmlzaF9jbWRzPSIiCgoj
IEFzICJmaW5pc2hfY21kcyIsIGV4Y2VwdCBhIHNpbmdsZSBzY3JpcHQgZnJh
Z21lbnQgdG8gYmUgZXZhbGVkIGJ1dAojIG5vdCBzaG93bi4KZmluaXNoX2V2
YWw9IiIKCiMgV2hldGhlciB3ZSBzaG91bGQgaGFyZGNvZGUgbGlicmFyeSBw
YXRocyBpbnRvIGxpYnJhcmllcy4KaGFyZGNvZGVfaW50b19saWJzPW5vCgoj
IENvbXBpbGUtdGltZSBzeXN0ZW0gc2VhcmNoIHBhdGggZm9yIGxpYnJhcmll
cy4Kc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjPSJjOi9taW5ndy9saWIvZ2Nj
L21pbmd3MzIvNC44LjEgYzovbWluZ3cvbGliL2djYyBjOi9taW5ndy9taW5n
dzMyL2xpYiBjOi9taW5ndy9saWIgL21pbmd3L2xpYiAiCgojIFJ1bi10aW1l
IHN5c3RlbSBzZWFyY2ggcGF0aCBmb3IgbGlicmFyaWVzLgpzeXNfbGliX2Rs
c2VhcmNoX3BhdGhfc3BlYz0iL2xpYiAvdXNyL2xpYiIKCiMgV2hldGhlciBk
bG9wZW4gaXMgc3VwcG9ydGVkLgpkbG9wZW5fc3VwcG9ydD15ZXMKCiMgV2hl
dGhlciBkbG9wZW4gb2YgcHJvZ3JhbXMgaXMgc3VwcG9ydGVkLgpkbG9wZW5f
c2VsZj11bmtub3duCgojIFdoZXRoZXIgZGxvcGVuIG9mIHN0YXRpY2FsbHkg
bGlua2VkIHByb2dyYW1zIGlzIHN1cHBvcnRlZC4KZGxvcGVuX3NlbGZfc3Rh
dGljPXVua25vd24KCiMgQ29tbWFuZHMgdG8gc3RyaXAgbGlicmFyaWVzLgpv
bGRfc3RyaXBsaWI9InN0cmlwIC0tc3RyaXAtZGVidWciCnN0cmlwbGliPSJz
dHJpcCAtLXN0cmlwLXVubmVlZGVkIgoKCiMgVGhlIGxpbmtlciB1c2VkIHRv
IGJ1aWxkIGxpYnJhcmllcy4KTEQ9ImM6L21pbmd3L21pbmd3MzIvYmluL2xk
LmV4ZSIKCiMgSG93IHRvIGNyZWF0ZSByZWxvYWRhYmxlIG9iamVjdCBmaWxl
cy4KcmVsb2FkX2ZsYWc9IiAtciIKcmVsb2FkX2NtZHM9IlwkTERcJHJlbG9h
ZF9mbGFnIC1vIFwkb3V0cHV0XCRyZWxvYWRfb2JqcyIKCiMgQ29tbWFuZHMg
dXNlZCB0byBidWlsZCBhbiBvbGQtc3R5bGUgYXJjaGl2ZS4Kb2xkX2FyY2hp
dmVfY21kcz0iXCRBUiBcJEFSX0ZMQUdTIFwkb2xkbGliXCRvbGRvYmpzflwk
UkFOTElCIFwkb2xkbGliIgoKIyBBIGxhbmd1YWdlIHNwZWNpZmljIGNvbXBp
bGVyLgpDQz0iZ2NjIgoKIyBJcyB0aGUgY29tcGlsZXIgdGhlIEdOVSBjb21w
aWxlcj8Kd2l0aF9nY2M9eWVzCgojIENvbXBpbGVyIGZsYWcgdG8gdHVybiBv
ZmYgYnVpbHRpbiBmdW5jdGlvbnMuCm5vX2J1aWx0aW5fZmxhZz0iIC1mbm8t
YnVpbHRpbiIKCiMgQWRkaXRpb25hbCBjb21waWxlciBmbGFncyBmb3IgYnVp
bGRpbmcgbGlicmFyeSBvYmplY3RzLgpwaWNfZmxhZz0iIC1ERExMX0VYUE9S
VCAtRFBJQyIKCiMgSG93IHRvIHBhc3MgYSBsaW5rZXIgZmxhZyB0aHJvdWdo
IHRoZSBjb21waWxlci4Kd2w9Ii1XbCwiCgojIENvbXBpbGVyIGZsYWcgdG8g
cHJldmVudCBkeW5hbWljIGxpbmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9Ii1z
dGF0aWMiCgojIERvZXMgY29tcGlsZXIgc2ltdWx0YW5lb3VzbHkgc3VwcG9y
dCAtYyBhbmQgLW8gb3B0aW9ucz8KY29tcGlsZXJfY19vPSJ5ZXMiCgojIFdo
ZXRoZXIgb3Igbm90IHRvIGFkZCAtbGMgZm9yIGJ1aWxkaW5nIHNoYXJlZCBs
aWJyYXJpZXMuCmJ1aWxkX2xpYnRvb2xfbmVlZF9sYz15ZXMKCiMgV2hldGhl
ciBvciBub3QgdG8gZGlzYWxsb3cgc2hhcmVkIGxpYnMgd2hlbiBydW50aW1l
IGxpYnMgYXJlIHN0YXRpYy4KYWxsb3dfbGlidG9vbF9saWJzX3dpdGhfc3Rh
dGljX3J1bnRpbWVzPXllcwoKIyBDb21waWxlciBmbGFnIHRvIGFsbG93IHJl
ZmxleGl2ZSBkbG9wZW5zLgpleHBvcnRfZHluYW1pY19mbGFnX3NwZWM9Ilwk
e3dsfS0tZXhwb3J0LWFsbC1zeW1ib2xzIgoKIyBDb21waWxlciBmbGFnIHRv
IGdlbmVyYXRlIHNoYXJlZCBvYmplY3RzIGRpcmVjdGx5IGZyb20gYXJjaGl2
ZXMuCndob2xlX2FyY2hpdmVfZmxhZ19zcGVjPSJcJHt3bH0tLXdob2xlLWFy
Y2hpdmVcJGNvbnZlbmllbmNlIFwke3dsfS0tbm8td2hvbGUtYXJjaGl2ZSIK
CiMgV2hldGhlciB0aGUgY29tcGlsZXIgY29wZXMgd2l0aCBwYXNzaW5nIG5v
IG9iamVjdHMgZGlyZWN0bHkuCmNvbXBpbGVyX25lZWRzX29iamVjdD0ibm8i
CgojIENyZWF0ZSBhbiBvbGQtc3R5bGUgYXJjaGl2ZSBmcm9tIGEgc2hhcmVk
IGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHM9IiIKCiMgQ3Jl
YXRlIGEgdGVtcG9yYXJ5IG9sZC1zdHlsZSBhcmNoaXZlIHRvIGxpbmsgaW5z
dGVhZCBvZiBhIHNoYXJlZCBhcmNoaXZlLgpvbGRfYXJjaGl2ZV9mcm9tX2V4
cHN5bXNfY21kcz0iIgoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1aWxkIGEgc2hh
cmVkIGFyY2hpdmUuCmFyY2hpdmVfY21kcz0iXCRDQyAtc2hhcmVkIFwkbGli
b2JqcyBcJGRlcGxpYnMgXCRjb21waWxlcl9mbGFncyAtbyBcJG91dHB1dF9v
YmpkaXIvXCRzb25hbWUgXCR7d2x9LS1lbmFibGUtYXV0by1pbWFnZS1iYXNl
IC1YbGlua2VyIC0tb3V0LWltcGxpYiAtWGxpbmtlciBcJGxpYiIKYXJjaGl2
ZV9leHBzeW1fY21kcz0iaWYgdGVzdCBcXFwieFxcXGBcJFNFRCAxcSBcJGV4
cG9ydF9zeW1ib2xzXFxcYFxcXCIgPSB4RVhQT1JUUzsgdGhlbgoJICBjcCBc
JGV4cG9ydF9zeW1ib2xzIFwkb3V0cHV0X29iamRpci9cJHNvbmFtZS5kZWY7
CgllbHNlCgkgIGVjaG8gRVhQT1JUUyA+IFwkb3V0cHV0X29iamRpci9cJHNv
bmFtZS5kZWY7CgkgIGNhdCBcJGV4cG9ydF9zeW1ib2xzID4+IFwkb3V0cHV0
X29iamRpci9cJHNvbmFtZS5kZWY7CglmaX4KCVwkQ0MgLXNoYXJlZCBcJG91
dHB1dF9vYmpkaXIvXCRzb25hbWUuZGVmIFwkbGlib2JqcyBcJGRlcGxpYnMg
XCRjb21waWxlcl9mbGFncyAtbyBcJG91dHB1dF9vYmpkaXIvXCRzb25hbWUg
XCR7d2x9LS1lbmFibGUtYXV0by1pbWFnZS1iYXNlIC1YbGlua2VyIC0tb3V0
LWltcGxpYiAtWGxpbmtlciBcJGxpYiIKCiMgQ29tbWFuZHMgdXNlZCB0byBi
dWlsZCBhIGxvYWRhYmxlIG1vZHVsZSBpZiBkaWZmZXJlbnQgZnJvbSBidWls
ZGluZwojIGEgc2hhcmVkIGFyY2hpdmUuCm1vZHVsZV9jbWRzPSIiCm1vZHVs
ZV9leHBzeW1fY21kcz0iIgoKIyBXaGV0aGVyIHdlIGFyZSBidWlsZGluZyB3
aXRoIEdOVSBsZCBvciBub3QuCndpdGhfZ251X2xkPSJ5ZXMiCgojIEZsYWcg
dGhhdCBhbGxvd3Mgc2hhcmVkIGxpYnJhcmllcyB3aXRoIHVuZGVmaW5lZCBz
eW1ib2xzIHRvIGJlIGJ1aWx0LgphbGxvd191bmRlZmluZWRfZmxhZz0idW5z
dXBwb3J0ZWQiCgojIEZsYWcgdGhhdCBlbmZvcmNlcyBubyB1bmRlZmluZWQg
c3ltYm9scy4Kbm9fdW5kZWZpbmVkX2ZsYWc9IiIKCiMgRmxhZyB0byBoYXJk
Y29kZSAkbGliZGlyIGludG8gYSBiaW5hcnkgZHVyaW5nIGxpbmtpbmcuCiMg
VGhpcyBtdXN0IHdvcmsgZXZlbiBpZiAkbGliZGlyIGRvZXMgbm90IGV4aXN0
CmhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Ii1MXCRsaWJkaXIiCgojIElm
IGxkIGlzIHVzZWQgd2hlbiBsaW5raW5nLCBmbGFnIHRvIGhhcmRjb2RlICRs
aWJkaXIgaW50byBhIGJpbmFyeQojIGR1cmluZyBsaW5raW5nLiAgVGhpcyBt
dXN0IHdvcmsgZXZlbiBpZiAkbGliZGlyIGRvZXMgbm90IGV4aXN0LgpoYXJk
Y29kZV9saWJkaXJfZmxhZ19zcGVjX2xkPSIiCgojIFdoZXRoZXIgd2UgbmVl
ZCBhIHNpbmdsZSAiLXJwYXRoIiBmbGFnIHdpdGggYSBzZXBhcmF0ZWQgYXJn
dW1lbnQuCmhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3I9IiIKCiMgU2V0IHRv
ICJ5ZXMiIGlmIHVzaW5nIERJUi9saWJOQU1FJHtzaGFyZWRfZXh0fSBkdXJp
bmcgbGlua2luZyBoYXJkY29kZXMKIyBESVIgaW50byB0aGUgcmVzdWx0aW5n
IGJpbmFyeS4KaGFyZGNvZGVfZGlyZWN0PW5vCgojIFNldCB0byAieWVzIiBp
ZiB1c2luZyBESVIvbGliTkFNRSR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtp
bmcgaGFyZGNvZGVzCiMgRElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkg
YW5kIHRoZSByZXN1bHRpbmcgbGlicmFyeSBkZXBlbmRlbmN5IGlzCiMgImFi
c29sdXRlIixpLmUgaW1wb3NzaWJsZSB0byBjaGFuZ2UgYnkgc2V0dGluZyAk
e3NobGlicGF0aF92YXJ9IGlmIHRoZQojIGxpYnJhcnkgaXMgcmVsb2NhdGVk
LgpoYXJkY29kZV9kaXJlY3RfYWJzb2x1dGU9bm8KCiMgU2V0IHRvICJ5ZXMi
IGlmIHVzaW5nIHRoZSAtTERJUiBmbGFnIGR1cmluZyBsaW5raW5nIGhhcmRj
b2RlcyBESVIKIyBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29k
ZV9taW51c19MPW5vCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBTSExJQlBB
VEhfVkFSPURJUiBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50
byB0aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfc2hsaWJwYXRoX3Zh
cj11bnN1cHBvcnRlZAoKIyBTZXQgdG8gInllcyIgaWYgYnVpbGRpbmcgYSBz
aGFyZWQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGhhcmRjb2RlcyBESVIKIyBp
bnRvIHRoZSBsaWJyYXJ5IGFuZCBhbGwgc3Vic2VxdWVudCBsaWJyYXJpZXMg
YW5kIGV4ZWN1dGFibGVzIGxpbmtlZAojIGFnYWluc3QgaXQuCmhhcmRjb2Rl
X2F1dG9tYXRpYz1ubwoKIyBTZXQgdG8geWVzIGlmIGxpbmtlciBhZGRzIHJ1
bnRpbWUgcGF0aHMgb2YgZGVwZW5kZW50IGxpYnJhcmllcwojIHRvIHJ1bnRp
bWUgcGF0aCBsaXN0Lgppbmhlcml0X3JwYXRoPW5vCgojIFdoZXRoZXIgbGli
dG9vbCBtdXN0IGxpbmsgYSBwcm9ncmFtIGFnYWluc3QgYWxsIGl0cyBkZXBl
bmRlbmN5IGxpYnJhcmllcy4KbGlua19hbGxfZGVwbGlicz11bmtub3duCgoj
IFNldCB0byAieWVzIiBpZiBleHBvcnRlZCBzeW1ib2xzIGFyZSByZXF1aXJl
ZC4KYWx3YXlzX2V4cG9ydF9zeW1ib2xzPW5vCgojIFRoZSBjb21tYW5kcyB0
byBsaXN0IGV4cG9ydGVkIHN5bWJvbHMuCmV4cG9ydF9zeW1ib2xzX2NtZHM9
IlwkTk0gXCRsaWJvYmpzIFwkY29udmVuaWVuY2UgfCBcJGdsb2JhbF9zeW1i
b2xfcGlwZSB8IFwkU0VEIC1lICcvXltCQ0RHUlNdWyBdL3MvLipbIF1cXFxc
KFteIF0qXFxcXCkvXFxcXDEgREFUQS87cy9eLipbIF1fX25tX19cXFxcKFte
IF0qXFxcXClbIF1bXiBdKi9cXFxcMSBEQVRBLzsvXklbIF0vZDsvXltBSVRX
XVsgXS9zLy4qIC8vJyB8IHNvcnQgfCB1bmlxID4gXCRleHBvcnRfc3ltYm9s
cyIKCiMgU3ltYm9scyB0aGF0IHNob3VsZCBub3QgYmUgbGlzdGVkIGluIHRo
ZSBwcmVsb2FkZWQgc3ltYm9scy4KZXhjbHVkZV9leHBzeW1zPSJbX10rR0xP
QkFMX09GRlNFVF9UQUJMRV98W19dK0dMT0JBTF9fW0ZJRF1fLip8W19dK2hl
YWRfW0EtWmEtejAtOV9dK19kbGx8W0EtWmEtejAtOV9dK19kbGxfaW5hbWUi
CgojIFN5bWJvbHMgdGhhdCBtdXN0IGFsd2F5cyBiZSBleHBvcnRlZC4KaW5j
bHVkZV9leHBzeW1zPSIiCgojIENvbW1hbmRzIG5lY2Vzc2FyeSBmb3IgbGlu
a2luZyBwcm9ncmFtcyAoYWdhaW5zdCBsaWJyYXJpZXMpIHdpdGggdGVtcGxh
dGVzLgpwcmVsaW5rX2NtZHM9IiIKCiMgQ29tbWFuZHMgbmVjZXNzYXJ5IGZv
ciBmaW5pc2hpbmcgbGlua2luZyBwcm9ncmFtcy4KcG9zdGxpbmtfY21kcz0i
IgoKIyBTcGVjaWZ5IGZpbGVuYW1lIGNvbnRhaW5pbmcgaW5wdXQgZmlsZXMu
CmZpbGVfbGlzdF9zcGVjPSIiCgojIEhvdyB0byBoYXJkY29kZSBhIHNoYXJl
ZCBsaWJyYXJ5IHBhdGggaW50byBhbiBleGVjdXRhYmxlLgpoYXJkY29kZV9h
Y3Rpb249aW1tZWRpYXRlCgojIFRoZSBkaXJlY3RvcmllcyBzZWFyY2hlZCBi
eSB0aGlzIGNvbXBpbGVyIHdoZW4gY3JlYXRpbmcgYSBzaGFyZWQgbGlicmFy
eS4KY29tcGlsZXJfbGliX3NlYXJjaF9kaXJzPSIiCgojIERlcGVuZGVuY2ll
cyB0byBwbGFjZSBiZWZvcmUgYW5kIGFmdGVyIHRoZSBvYmplY3RzIGJlaW5n
IGxpbmtlZCB0bwojIGNyZWF0ZSBhIHNoYXJlZCBsaWJyYXJ5LgpwcmVkZXBf
b2JqZWN0cz0iIgpwb3N0ZGVwX29iamVjdHM9IiIKcHJlZGVwcz0iIgpwb3N0
ZGVwcz0iIgoKIyBUaGUgbGlicmFyeSBzZWFyY2ggcGF0aCB1c2VkIGludGVy
bmFsbHkgYnkgdGhlIGNvbXBpbGVyIHdoZW4gbGlua2luZwojIGEgc2hhcmVk
IGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9zZWFyY2hfcGF0aD0iIgoKIyAjIyMg
RU5EIExJQlRPT0wgQ09ORklHCgoKIyBsaWJ0b29sIChHTlUgbGlidG9vbCkg
Mi40CiMgV3JpdHRlbiBieSBHb3Jkb24gTWF0emlna2VpdCA8Z29yZEBnbnUu
YWkubWl0LmVkdT4sIDE5OTYKCiMgQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3
LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxLCAyMDAzLCAyMDA0LCAyMDA1LCAy
MDA2LAojIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuCiMgVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUg
dGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMg
Tk8KIyB3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KCiMgR05VIExp
YnRvb2wgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgojCiMgQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0
aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCiMgaWYgeW91IGRpc3Ry
aWJ1dGUgdGhpcyBmaWxlIGFzIHBhcnQgb2YgYSBwcm9ncmFtIG9yIGxpYnJh
cnkgdGhhdAojIGlzIGJ1aWx0IHVzaW5nIEdOVSBMaWJ0b29sLCB5b3UgbWF5
IGluY2x1ZGUgdGhpcyBmaWxlIHVuZGVyIHRoZQojIHNhbWUgZGlzdHJpYnV0
aW9uIHRlcm1zIHRoYXQgeW91IHVzZSBmb3IgdGhlIHJlc3Qgb2YgdGhhdCBw
cm9ncmFtLgojCiMgR05VIExpYnRvb2wgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiMgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiMgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojCiMgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKIyBhbG9uZyB3aXRoIEdOVSBMaWJ0b29sOyBzZWUgdGhlIGZpbGUg
Q09QWUlORy4gIElmIG5vdCwgYSBjb3B5CiMgY2FuIGJlIGRvd25sb2FkZWQg
ZnJvbSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWwsCiMg
b3Igb2J0YWluZWQgYnkgd3JpdGluZyB0byB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLAojIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgoKIyBVc2FnZTog
JHByb2duYW1lIFtPUFRJT05dLi4uIFtNT0RFLUFSR10uLi4KIwojIFByb3Zp
ZGUgZ2VuZXJhbGl6ZWQgbGlicmFyeS1idWlsZGluZyBzdXBwb3J0IHNlcnZp
Y2VzLgojCiMgICAgICAgLS1jb25maWcgICAgICAgICAgICAgc2hvdyBhbGwg
Y29uZmlndXJhdGlvbiB2YXJpYWJsZXMKIyAgICAgICAtLWRlYnVnICAgICAg
ICAgICAgICBlbmFibGUgdmVyYm9zZSBzaGVsbCB0cmFjaW5nCiMgICAtbiwg
LS1kcnktcnVuICAgICAgICAgICAgZGlzcGxheSBjb21tYW5kcyB3aXRob3V0
IG1vZGlmeWluZyBhbnkgZmlsZXMKIyAgICAgICAtLWZlYXR1cmVzICAgICAg
ICAgICBkaXNwbGF5IGJhc2ljIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24g
YW5kIGV4aXQKIyAgICAgICAtLW1vZGU9TU9ERSAgICAgICAgICB1c2Ugb3Bl
cmF0aW9uIG1vZGUgTU9ERQojICAgICAgIC0tcHJlc2VydmUtZHVwLWRlcHMg
IGRvbid0IHJlbW92ZSBkdXBsaWNhdGUgZGVwZW5kZW5jeSBsaWJyYXJpZXMK
IyAgICAgICAtLXF1aWV0LCAtLXNpbGVudCAgICBkb24ndCBwcmludCBpbmZv
cm1hdGlvbmFsIG1lc3NhZ2VzCiMgICAgICAgLS1uby1xdWlldCwgLS1uby1z
aWxlbnQKIyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCBpbmZv
cm1hdGlvbmFsIG1lc3NhZ2VzIChkZWZhdWx0KQojICAgICAgIC0tdGFnPVRB
RyAgICAgICAgICAgIHVzZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyBmcm9t
IHRhZyBUQUcKIyAgIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBwcmludCBt
b3JlIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMgdGhhbiBkZWZhdWx0CiMgICAg
ICAgLS1uby12ZXJib3NlICAgICAgICAgZG9uJ3QgcHJpbnQgdGhlIGV4dHJh
IGluZm9ybWF0aW9uYWwgbWVzc2FnZXMKIyAgICAgICAtLXZlcnNpb24gICAg
ICAgICAgICBwcmludCB2ZXJzaW9uIGluZm9ybWF0aW9uCiMgICAtaCwgLS1o
ZWxwLCAtLWhlbHAtYWxsICAgcHJpbnQgc2hvcnQsIGxvbmcsIG9yIGRldGFp
bGVkIGhlbHAgbWVzc2FnZQojCiMgTU9ERSBtdXN0IGJlIG9uZSBvZiB0aGUg
Zm9sbG93aW5nOgojCiMgICAgICAgICBjbGVhbiAgICAgICAgICAgICAgcmVt
b3ZlIGZpbGVzIGZyb20gdGhlIGJ1aWxkIGRpcmVjdG9yeQojICAgICAgICAg
Y29tcGlsZSAgICAgICAgICAgIGNvbXBpbGUgYSBzb3VyY2UgZmlsZSBpbnRv
IGEgbGlidG9vbCBvYmplY3QKIyAgICAgICAgIGV4ZWN1dGUgICAgICAgICAg
ICBhdXRvbWF0aWNhbGx5IHNldCBsaWJyYXJ5IHBhdGgsIHRoZW4gcnVuIGEg
cHJvZ3JhbQojICAgICAgICAgZmluaXNoICAgICAgICAgICAgIGNvbXBsZXRl
IHRoZSBpbnN0YWxsYXRpb24gb2YgbGlidG9vbCBsaWJyYXJpZXMKIyAgICAg
ICAgIGluc3RhbGwgICAgICAgICAgICBpbnN0YWxsIGxpYnJhcmllcyBvciBl
eGVjdXRhYmxlcwojICAgICAgICAgbGluayAgICAgICAgICAgICAgIGNyZWF0
ZSBhIGxpYnJhcnkgb3IgYW4gZXhlY3V0YWJsZQojICAgICAgICAgdW5pbnN0
YWxsICAgICAgICAgIHJlbW92ZSBsaWJyYXJpZXMgZnJvbSBhbiBpbnN0YWxs
ZWQgZGlyZWN0b3J5CiMKIyBNT0RFLUFSR1MgdmFyeSBkZXBlbmRpbmcgb24g
dGhlIE1PREUuICBXaGVuIHBhc3NlZCBhcyBmaXJzdCBvcHRpb24sCiMgYC0t
bW9kZT1NT0RFJyBtYXkgYmUgYWJicmV2aWF0ZWQgYXMgYE1PREUnIG9yIGEg
dW5pcXVlIGFiYnJldmlhdGlvbiBvZiB0aGF0LgojIFRyeSBgJHByb2duYW1l
IC0taGVscCAtLW1vZGU9TU9ERScgZm9yIGEgbW9yZSBkZXRhaWxlZCBkZXNj
cmlwdGlvbiBvZiBNT0RFLgojCiMgV2hlbiByZXBvcnRpbmcgYSBidWcsIHBs
ZWFzZSBkZXNjcmliZSBhIHRlc3QgY2FzZSB0byByZXByb2R1Y2UgaXQgYW5k
CiMgaW5jbHVkZSB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uOgojCiMgICAg
ICAgICBob3N0LXRyaXBsZXQ6CSRob3N0CiMgICAgICAgICBzaGVsbDoJCSRT
SEVMTAojICAgICAgICAgY29tcGlsZXI6CQkkTFRDQwojICAgICAgICAgY29t
cGlsZXIgZmxhZ3M6CQkkTFRDRkxBR1MKIyAgICAgICAgIGxpbmtlcjoJCSRM
RCAoZ251PyAkd2l0aF9nbnVfbGQpCiMgICAgICAgICAkcHJvZ25hbWU6CShH
TlUgbGlidG9vbCkgMi40CiMgICAgICAgICBhdXRvbWFrZToJJGF1dG9tYWtl
X3ZlcnNpb24KIyAgICAgICAgIGF1dG9jb25mOgkkYXV0b2NvbmZfdmVyc2lv
bgojCiMgUmVwb3J0IGJ1Z3MgdG8gPGJ1Zy1saWJ0b29sQGdudS5vcmc+Lgoj
IEdOVSBsaWJ0b29sIGhvbWUgcGFnZTogPGh0dHA6Ly93d3cuZ251Lm9yZy9z
b2Z0d2FyZS9saWJ0b29sLz4uCiMgR2VuZXJhbCBoZWxwIHVzaW5nIEdOVSBz
b2Z0d2FyZTogPGh0dHA6Ly93d3cuZ251Lm9yZy9nZXRoZWxwLz4uCgpQUk9H
UkFNPWxpYnRvb2wKUEFDS0FHRT1saWJ0b29sClZFUlNJT049Mi40ClRJTUVT
VEFNUD0iIgpwYWNrYWdlX3JldmlzaW9uPTEuMzI5NAoKIyBCZSBCb3VybmUg
Y29tcGF0aWJsZQppZiB0ZXN0IC1uICIke1pTSF9WRVJTSU9OK3NldH0iICYm
IChlbXVsYXRlIHNoKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KICBlbXVsYXRl
IHNoCiAgTlVMTENNRD06CiAgIyBac2ggMy54IGFuZCA0LnggcGVyZm9ybXMg
d29yZCBzcGxpdHRpbmcgb24gJHsxKyIkQCJ9LCB3aGljaAogICMgaXMgY29u
dHJhcnkgdG8gb3VyIHVzYWdlLiAgRGlzYWJsZSB0aGlzIGZlYXR1cmUuCiAg
YWxpYXMgLWcgJyR7MSsiJEAifSc9JyIkQCInCiAgc2V0b3B0IE5PX0dMT0Jf
U1VCU1QKZWxzZQogIGNhc2UgYChzZXQgLW8pIDI+L2Rldi9udWxsYCBpbiAq
cG9zaXgqKSBzZXQgLW8gcG9zaXg7OyBlc2FjCmZpCkJJTl9TSD14cGc0OyBl
eHBvcnQgQklOX1NIICMgZm9yIFRydTY0CkRVQUxDQVNFPTE7IGV4cG9ydCBE
VUFMQ0FTRSAjIGZvciBNS1Mgc2gKCiMgQSBmdW5jdGlvbiB0aGF0IGlzIHVz
ZWQgd2hlbiB0aGVyZSBpcyBubyBwcmludCBidWlsdGluIG9yIHByaW50Zi4K
ZnVuY19mYWxsYmFja19lY2hvICgpCnsKICBldmFsICdjYXQgPDxfTFRFQ0hP
X0VPRgokMQpfTFRFQ0hPX0VPRicKfQoKIyBOTFMgbnVpc2FuY2VzOiBXZSBz
YXZlIHRoZSBvbGQgdmFsdWVzIHRvIHJlc3RvcmUgZHVyaW5nIGV4ZWN1dGUg
bW9kZS4KbHRfdXNlcl9sb2NhbGU9Cmx0X3NhZmVfbG9jYWxlPQpmb3IgbHRf
dmFyIGluIExBTkcgTEFOR1VBR0UgTENfQUxMIExDX0NUWVBFIExDX0NPTExB
VEUgTENfTUVTU0FHRVMKZG8KICBldmFsICJpZiB0ZXN0IFwiXCR7JGx0X3Zh
citzZXR9XCIgPSBzZXQ7IHRoZW4KICAgICAgICAgIHNhdmVfJGx0X3Zhcj1c
JCRsdF92YXIKICAgICAgICAgICRsdF92YXI9QwoJICBleHBvcnQgJGx0X3Zh
cgoJICBsdF91c2VyX2xvY2FsZT1cIiRsdF92YXI9XFxcJHNhdmVfXCRsdF92
YXI7IFwkbHRfdXNlcl9sb2NhbGVcIgoJICBsdF9zYWZlX2xvY2FsZT1cIiRs
dF92YXI9QzsgXCRsdF9zYWZlX2xvY2FsZVwiCglmaSIKZG9uZQpMQ19BTEw9
QwpMQU5HVUFHRT1DCmV4cG9ydCBMQU5HVUFHRSBMQ19BTEwKCiRsdF91bnNl
dCBDRFBBVEgKCgojIFdvcmsgYXJvdW5kIGJhY2t3YXJkIGNvbXBhdGliaWxp
dHkgaXNzdWUgb24gSVJJWCA2LjUuIE9uIElSSVggNi40Kywgc2gKIyBpcyBr
c2ggYnV0IHdoZW4gdGhlIHNoZWxsIGlzIGludm9rZWQgYXMgInNoIiBhbmQg
dGhlIGN1cnJlbnQgdmFsdWUgb2YKIyB0aGUgX1hQRyBlbnZpcm9ubWVudCB2
YXJpYWJsZSBpcyBub3QgZXF1YWwgdG8gMSAob25lKSwgdGhlIHNwZWNpYWwK
IyBwb3NpdGlvbmFsIHBhcmFtZXRlciAkMCwgd2l0aGluIGEgZnVuY3Rpb24g
Y2FsbCwgaXMgdGhlIG5hbWUgb2YgdGhlCiMgZnVuY3Rpb24uCnByb2dwYXRo
PSIkMCIKCgoKOiAke0NQPSJjcCAtZiJ9CnRlc3QgIiR7RUNITytzZXR9IiA9
IHNldCB8fCBFQ0hPPSR7YXNfZWNoby0ncHJpbnRmICVzXG4nfQo6ICR7RUdS
RVA9Ii9iaW4vZ3JlcCAtRSJ9CjogJHtGR1JFUD0iL2Jpbi9ncmVwIC1GIn0K
OiAke0dSRVA9Ii9iaW4vZ3JlcCJ9CjogJHtMTl9TPSJjcCAtcCJ9CjogJHtN
QUtFPSJtYWtlIn0KOiAke01LRElSPSJta2RpciJ9CjogJHtNVj0ibXYgLWYi
fQo6ICR7Uk09InJtIC1mIn0KOiAke1NFRD0iL2Jpbi9zZWQifQo6ICR7U0hF
TEw9IiR7Q09ORklHX1NIRUxMLS9iaW4vc2h9In0KOiAke1hzZWQ9IiRTRUQg
LWUgMXMvXlgvLyJ9CgojIEdsb2JhbCB2YXJpYWJsZXM6CkVYSVRfU1VDQ0VT
Uz0wCkVYSVRfRkFJTFVSRT0xCkVYSVRfTUlTTUFUQ0g9NjMgICMgJD8gPSA2
MyBpcyB1c2VkIHRvIGluZGljYXRlIHZlcnNpb24gbWlzbWF0Y2ggdG8gbWlz
c2luZy4KRVhJVF9TS0lQPTc3CSAgIyAkPyA9IDc3IGlzIHVzZWQgdG8gaW5k
aWNhdGUgYSBza2lwcGVkIHRlc3QgdG8gYXV0b21ha2UuCgpleGl0X3N0YXR1
cz0kRVhJVF9TVUNDRVNTCgojIE1ha2Ugc3VyZSBJRlMgaGFzIGEgc2Vuc2li
bGUgZGVmYXVsdApsdF9ubD0nCicKSUZTPSIgCSRsdF9ubCIKCmRpcm5hbWU9
InMsL1teL10qJCwsIgpiYXNlbmFtZT0icyxeLiovLCwiCgojIGZ1bmNfZGly
bmFtZSBmaWxlIGFwcGVuZCBub25kaXJfcmVwbGFjZW1lbnQKIyBDb21wdXRl
IHRoZSBkaXJuYW1lIG9mIEZJTEUuICBJZiBub25lbXB0eSwgYWRkIEFQUEVO
RCB0byB0aGUgcmVzdWx0LAojIG90aGVyd2lzZSBzZXQgcmVzdWx0IHRvIE5P
TkRJUl9SRVBMQUNFTUVOVC4KZnVuY19kaXJuYW1lICgpCnsKICAgIGNhc2Ug
JHsxfSBpbgogICAgICAqLyopIGZ1bmNfZGlybmFtZV9yZXN1bHQ9IiR7MSUv
Kn0kezJ9IiA7OwogICAgICAqICApIGZ1bmNfZGlybmFtZV9yZXN1bHQ9IiR7
M30iIDs7CiAgICBlc2FjCn0gIyBFeHRlbmRlZC1zaGVsbCBmdW5jX2Rpcm5h
bWUgaW1wbGVtZW50YXRpb24KCgojIGZ1bmNfYmFzZW5hbWUgZmlsZQpmdW5j
X2Jhc2VuYW1lICgpCnsKICAgIGZ1bmNfYmFzZW5hbWVfcmVzdWx0PSIkezEj
IyovfSIKfSAjIEV4dGVuZGVkLXNoZWxsIGZ1bmNfYmFzZW5hbWUgaW1wbGVt
ZW50YXRpb24KCgojIGZ1bmNfZGlybmFtZV9hbmRfYmFzZW5hbWUgZmlsZSBh
cHBlbmQgbm9uZGlyX3JlcGxhY2VtZW50CiMgcGVyZm9ybSBmdW5jX2Jhc2Vu
YW1lIGFuZCBmdW5jX2Rpcm5hbWUgaW4gYSBzaW5nbGUgZnVuY3Rpb24KIyBj
YWxsOgojICAgZGlybmFtZTogIENvbXB1dGUgdGhlIGRpcm5hbWUgb2YgRklM
RS4gIElmIG5vbmVtcHR5LAojICAgICAgICAgICAgIGFkZCBBUFBFTkQgdG8g
dGhlIHJlc3VsdCwgb3RoZXJ3aXNlIHNldCByZXN1bHQKIyAgICAgICAgICAg
ICB0byBOT05ESVJfUkVQTEFDRU1FTlQuCiMgICAgICAgICAgICAgdmFsdWUg
cmV0dXJuZWQgaW4gIiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgojICAgYmFzZW5h
bWU6IENvbXB1dGUgZmlsZW5hbWUgb2YgRklMRS4KIyAgICAgICAgICAgICB2
YWx1ZSByZXR1bmVkIGluICIkZnVuY19iYXNlbmFtZV9yZXN1bHQiCiMgSW1w
bGVtZW50YXRpb24gbXVzdCBiZSBrZXB0IHN5bmNocm9uaXplZCB3aXRoIGZ1
bmNfZGlybmFtZQojIGFuZCBmdW5jX2Jhc2VuYW1lLiBGb3IgZWZmaWNpZW5j
eSwgd2UgZG8gbm90IGRlbGVnYXRlIHRvCiMgdGhvc2UgZnVuY3Rpb25zIGJ1
dCBpbnN0ZWFkIGR1cGxpY2F0ZSB0aGUgZnVuY3Rpb25hbGl0eSBoZXJlLgpm
dW5jX2Rpcm5hbWVfYW5kX2Jhc2VuYW1lICgpCnsKICAgIGNhc2UgJHsxfSBp
bgogICAgICAqLyopIGZ1bmNfZGlybmFtZV9yZXN1bHQ9IiR7MSUvKn0kezJ9
IiA7OwogICAgICAqICApIGZ1bmNfZGlybmFtZV9yZXN1bHQ9IiR7M30iIDs7
CiAgICBlc2FjCiAgICBmdW5jX2Jhc2VuYW1lX3Jlc3VsdD0iJHsxIyMqL30i
Cn0gIyBFeHRlbmRlZC1zaGVsbCBmdW5jX2Rpcm5hbWVfYW5kX2Jhc2VuYW1l
IGltcGxlbWVudGF0aW9uCgoKIyBmdW5jX3N0cmlwbmFtZSBwcmVmaXggc3Vm
Zml4IG5hbWUKIyBzdHJpcCBQUkVGSVggYW5kIFNVRkZJWCBvZmYgb2YgTkFN
RS4KIyBQUkVGSVggYW5kIFNVRkZJWCBtdXN0IG5vdCBjb250YWluIGdsb2Ji
aW5nIG9yIHJlZ2V4IHNwZWNpYWwKIyBjaGFyYWN0ZXJzLCBoYXNoZXMsIHBl
cmNlbnQgc2lnbnMsIGJ1dCBTVUZGSVggbWF5IGNvbnRhaW4gYSBsZWFkaW5n
CiMgZG90IChpbiB3aGljaCBjYXNlIHRoYXQgbWF0Y2hlcyBvbmx5IGEgZG90
KS4KIyBmdW5jX3N0cmlwX3N1ZmZpeCBwcmVmaXggbmFtZQpmdW5jX3N0cmlw
bmFtZSAoKQp7CiAgICAjIHBka3NoIDUuMi4xNCBkb2VzIG5vdCBkbyAke1gl
JFl9IGNvcnJlY3RseSBpZiBib3RoIFggYW5kIFkgYXJlCiAgICAjIHBvc2l0
aW9uYWwgcGFyYW1ldGVycywgc28gYXNzaWduIG9uZSB0byBvcmRpbmFyeSBw
YXJhbWV0ZXIgZmlyc3QuCiAgICBmdW5jX3N0cmlwbmFtZV9yZXN1bHQ9JHsz
fQogICAgZnVuY19zdHJpcG5hbWVfcmVzdWx0PSR7ZnVuY19zdHJpcG5hbWVf
cmVzdWx0IyIkezF9In0KICAgIGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdD0ke2Z1
bmNfc3RyaXBuYW1lX3Jlc3VsdCUiJHsyfSJ9Cn0gIyBFeHRlbmRlZC1zaGVs
bCBmdW5jX3N0cmlwbmFtZSBpbXBsZW1lbnRhdGlvbgoKCiMgVGhlc2UgU0VE
IHNjcmlwdHMgcHJlc3VwcG9zZSBhbiBhYnNvbHV0ZSBwYXRoIHdpdGggYSB0
cmFpbGluZyBzbGFzaC4KcGF0aGNhcj0ncyxeL1woW14vXSpcKS4qJCxcMSwn
CnBhdGhjZHI9J3MsXi9bXi9dKiwsJwpyZW1vdmVkb3RwYXJ0cz0nOmRvdHNs
CgkJc0AvXC4vQC9AZwoJCXQgZG90c2wKCQlzLC9cLiQsLywnCmNvbGxhcHNl
c2xhc2hlcz0nc0AvXHsxLFx9QC9AZycKZmluYWxzbGFzaD0ncywvKiQsLywn
CgojIGZ1bmNfbm9ybWFsX2Fic3BhdGggUEFUSAojIFJlbW92ZSBkb3VibGVk
LXVwIGFuZCB0cmFpbGluZyBzbGFzaGVzLCAiLiIgcGF0aCBjb21wb25lbnRz
LAojIGFuZCBjYW5jZWwgb3V0IGFueSAiLi4iIHBhdGggY29tcG9uZW50cyBp
biBQQVRIIGFmdGVyIG1ha2luZwojIGl0IGFuIGFic29sdXRlIHBhdGguCiMg
ICAgICAgICAgICAgdmFsdWUgcmV0dXJuZWQgaW4gIiRmdW5jX25vcm1hbF9h
YnNwYXRoX3Jlc3VsdCIKZnVuY19ub3JtYWxfYWJzcGF0aCAoKQp7CiAgIyBT
dGFydCBmcm9tIHJvb3QgZGlyIGFuZCByZWFzc2VtYmxlIHRoZSBwYXRoLgog
IGZ1bmNfbm9ybWFsX2Fic3BhdGhfcmVzdWx0PQogIGZ1bmNfbm9ybWFsX2Fi
c3BhdGhfdHBhdGg9JDEKICBmdW5jX25vcm1hbF9hYnNwYXRoX2FsdG5hbWVz
cGFjZT0KICBjYXNlICRmdW5jX25vcm1hbF9hYnNwYXRoX3RwYXRoIGluCiAg
ICAiIikKICAgICAgIyBFbXB0eSBwYXRoLCB0aGF0IGp1c3QgbWVhbnMgJGN3
ZC4KICAgICAgZnVuY19zdHJpcG5hbWUgJycgJy8nICJgcHdkYCIKICAgICAg
ZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQ9JGZ1bmNfc3RyaXBuYW1lX3Jl
c3VsdAogICAgICByZXR1cm4KICAgIDs7CiAgICAjIFRoZSBuZXh0IHRocmVl
IGVudHJpZXMgYXJlIHVzZWQgdG8gc3BvdCBhIHJ1biBvZiBwcmVjaXNlbHkK
ICAgICMgdHdvIGxlYWRpbmcgc2xhc2hlcyB3aXRob3V0IHVzaW5nIG5lZ2F0
ZWQgY2hhcmFjdGVyIGNsYXNzZXM7CiAgICAjIHdlIHRha2UgYWR2YW50YWdl
IG9mIGNhc2UncyBmaXJzdC1tYXRjaCBiZWhhdmlvdXIuCiAgICAvLy8qKQog
ICAgICAjIFVudXN1YWwgZm9ybSBvZiBhYnNvbHV0ZSBwYXRoLCBkbyBub3Ro
aW5nLgogICAgOzsKICAgIC8vKikKICAgICAgIyBOb3QgbmVjZXNzYXJpbHkg
YW4gb3JkaW5hcnkgcGF0aDsgUE9TSVggcmVzZXJ2ZXMgbGVhZGluZyAnLy8n
CiAgICAgICMgYW5kIGZvciBleGFtcGxlIEN5Z3dpbiB1c2VzIGl0IHRvIGFj
Y2VzcyByZW1vdGUgZmlsZSBzaGFyZXMKICAgICAgIyBvdmVyIENJRlMvU01C
LCBzbyB3ZSBjb25zZXJ2ZSBhIGxlYWRpbmcgZG91YmxlIHNsYXNoIGlmIGZv
dW5kLgogICAgICBmdW5jX25vcm1hbF9hYnNwYXRoX2FsdG5hbWVzcGFjZT0v
CiAgICA7OwogICAgLyopCiAgICAgICMgQWJzb2x1dGUgcGF0aCwgZG8gbm90
aGluZy4KICAgIDs7CiAgICAqKQogICAgICAjIFJlbGF0aXZlIHBhdGgsIHBy
ZXBlbmQgJGN3ZC4KICAgICAgZnVuY19ub3JtYWxfYWJzcGF0aF90cGF0aD1g
cHdkYC8kZnVuY19ub3JtYWxfYWJzcGF0aF90cGF0aAogICAgOzsKICBlc2Fj
CiAgIyBDYW5jZWwgb3V0IGFsbCB0aGUgc2ltcGxlIHN0dWZmIHRvIHNhdmUg
aXRlcmF0aW9ucy4gIFdlIGFsc28gd2FudAogICMgdGhlIHBhdGggdG8gZW5k
IHdpdGggYSBzbGFzaCBmb3IgZWFzZSBvZiBwYXJzaW5nLCBzbyBtYWtlIHN1
cmUKICAjIHRoZXJlIGlzIG9uZSAoYW5kIG9ubHkgb25lKSBoZXJlLgogIGZ1
bmNfbm9ybWFsX2Fic3BhdGhfdHBhdGg9YCRFQ0hPICIkZnVuY19ub3JtYWxf
YWJzcGF0aF90cGF0aCIgfCAkU0VEIFwKICAgICAgICAtZSAiJHJlbW92ZWRv
dHBhcnRzIiAtZSAiJGNvbGxhcHNlc2xhc2hlcyIgLWUgIiRmaW5hbHNsYXNo
ImAKICB3aGlsZSA6OyBkbwogICAgIyBQcm9jZXNzZWQgaXQgYWxsIHlldD8K
ICAgIGlmIHRlc3QgIiRmdW5jX25vcm1hbF9hYnNwYXRoX3RwYXRoIiA9IC8g
OyB0aGVuCiAgICAgICMgSWYgd2UgYXNjZW5kZWQgdG8gdGhlIHJvb3QgdXNp
bmcgIi4uIiB0aGUgcmVzdWx0IG1heSBiZSBlbXB0eSBub3cuCiAgICAgIGlm
IHRlc3QgLXogIiRmdW5jX25vcm1hbF9hYnNwYXRoX3Jlc3VsdCIgOyB0aGVu
CiAgICAgICAgZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQ9LwogICAgICBm
aQogICAgICBicmVhawogICAgZmkKICAgIGZ1bmNfbm9ybWFsX2Fic3BhdGhf
dGNvbXBvbmVudD1gJEVDSE8gIiRmdW5jX25vcm1hbF9hYnNwYXRoX3RwYXRo
IiB8ICRTRUQgXAogICAgICAgIC1lICIkcGF0aGNhciJgCiAgICBmdW5jX25v
cm1hbF9hYnNwYXRoX3RwYXRoPWAkRUNITyAiJGZ1bmNfbm9ybWFsX2Fic3Bh
dGhfdHBhdGgiIHwgJFNFRCBcCiAgICAgICAgLWUgIiRwYXRoY2RyImAKICAg
ICMgRmlndXJlIG91dCB3aGF0IHRvIGRvIHdpdGggaXQKICAgIGNhc2UgJGZ1
bmNfbm9ybWFsX2Fic3BhdGhfdGNvbXBvbmVudCBpbgogICAgICAiIikKICAg
ICAgICAjIFRyYWlsaW5nIGVtcHR5IHBhdGggY29tcG9uZW50LCBpZ25vcmUg
aXQuCiAgICAgIDs7CiAgICAgIC4uKQogICAgICAgICMgUGFyZW50IGRpcjsg
c3RyaXAgbGFzdCBhc3NlbWJsZWQgY29tcG9uZW50IGZyb20gcmVzdWx0Lgog
ICAgICAgIGZ1bmNfZGlybmFtZSAiJGZ1bmNfbm9ybWFsX2Fic3BhdGhfcmVz
dWx0IgogICAgICAgIGZ1bmNfbm9ybWFsX2Fic3BhdGhfcmVzdWx0PSRmdW5j
X2Rpcm5hbWVfcmVzdWx0CiAgICAgIDs7CiAgICAgICopCiAgICAgICAgIyBB
Y3R1YWwgcGF0aCBjb21wb25lbnQsIGFwcGVuZCBpdC4KICAgICAgICBmdW5j
X25vcm1hbF9hYnNwYXRoX3Jlc3VsdD0kZnVuY19ub3JtYWxfYWJzcGF0aF9y
ZXN1bHQvJGZ1bmNfbm9ybWFsX2Fic3BhdGhfdGNvbXBvbmVudAogICAgICA7
OwogICAgZXNhYwogIGRvbmUKICAjIFJlc3RvcmUgbGVhZGluZyBkb3VibGUt
c2xhc2ggaWYgb25lIHdhcyBmb3VuZCBvbiBlbnRyeS4KICBmdW5jX25vcm1h
bF9hYnNwYXRoX3Jlc3VsdD0kZnVuY19ub3JtYWxfYWJzcGF0aF9hbHRuYW1l
c3BhY2UkZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQKfQoKIyBmdW5jX3Jl
bGF0aXZlX3BhdGggU1JDRElSIERTVERJUgojIGdlbmVyYXRlcyBhIHJlbGF0
aXZlIHBhdGggZnJvbSBTUkNESVIgdG8gRFNURElSLCB3aXRoIGEgdHJhaWxp
bmcKIyBzbGFzaCBpZiBub24tZW1wdHksIHN1aXRhYmxlIGZvciBpbW1lZGlh
dGVseSBhcHBlbmRpbmcgYSBmaWxlbmFtZQojIHdpdGhvdXQgbmVlZGluZyB0
byBhcHBlbmQgYSBzZXBhcmF0b3IuCiMgICAgICAgICAgICAgdmFsdWUgcmV0
dXJuZWQgaW4gIiRmdW5jX3JlbGF0aXZlX3BhdGhfcmVzdWx0IgpmdW5jX3Jl
bGF0aXZlX3BhdGggKCkKewogIGZ1bmNfcmVsYXRpdmVfcGF0aF9yZXN1bHQ9
CiAgZnVuY19ub3JtYWxfYWJzcGF0aCAiJDEiCiAgZnVuY19yZWxhdGl2ZV9w
YXRoX3RsaWJkaXI9JGZ1bmNfbm9ybWFsX2Fic3BhdGhfcmVzdWx0CiAgZnVu
Y19ub3JtYWxfYWJzcGF0aCAiJDIiCiAgZnVuY19yZWxhdGl2ZV9wYXRoX3Ri
aW5kaXI9JGZ1bmNfbm9ybWFsX2Fic3BhdGhfcmVzdWx0CgogICMgQXNjZW5k
IHRoZSB0cmVlIHN0YXJ0aW5nIGZyb20gbGliZGlyCiAgd2hpbGUgOjsgZG8K
ICAgICMgY2hlY2sgaWYgd2UgaGF2ZSBmb3VuZCBhIHByZWZpeCBvZiBiaW5k
aXIKICAgIGNhc2UgJGZ1bmNfcmVsYXRpdmVfcGF0aF90YmluZGlyIGluCiAg
ICAgICRmdW5jX3JlbGF0aXZlX3BhdGhfdGxpYmRpcikKICAgICAgICAjIGZv
dW5kIGFuIGV4YWN0IG1hdGNoCiAgICAgICAgZnVuY19yZWxhdGl2ZV9wYXRo
X3RjYW5jZWxsZWQ9CiAgICAgICAgYnJlYWsKICAgICAgICA7OwogICAgICAk
ZnVuY19yZWxhdGl2ZV9wYXRoX3RsaWJkaXIqKQogICAgICAgICMgZm91bmQg
YSBtYXRjaGluZyBwcmVmaXgKICAgICAgICBmdW5jX3N0cmlwbmFtZSAiJGZ1
bmNfcmVsYXRpdmVfcGF0aF90bGliZGlyIiAnJyAiJGZ1bmNfcmVsYXRpdmVf
cGF0aF90YmluZGlyIgogICAgICAgIGZ1bmNfcmVsYXRpdmVfcGF0aF90Y2Fu
Y2VsbGVkPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKICAgICAgICBpZiB0ZXN0
IC16ICIkZnVuY19yZWxhdGl2ZV9wYXRoX3Jlc3VsdCI7IHRoZW4KICAgICAg
ICAgIGZ1bmNfcmVsYXRpdmVfcGF0aF9yZXN1bHQ9LgogICAgICAgIGZpCiAg
ICAgICAgYnJlYWsKICAgICAgICA7OwogICAgICAqKQogICAgICAgIGZ1bmNf
ZGlybmFtZSAkZnVuY19yZWxhdGl2ZV9wYXRoX3RsaWJkaXIKICAgICAgICBm
dW5jX3JlbGF0aXZlX3BhdGhfdGxpYmRpcj0ke2Z1bmNfZGlybmFtZV9yZXN1
bHR9CiAgICAgICAgaWYgdGVzdCAieCRmdW5jX3JlbGF0aXZlX3BhdGhfdGxp
YmRpciIgPSB4IDsgdGhlbgogICAgICAgICAgIyBIYXZlIHRvIGRlc2NlbmQg
YWxsIHRoZSB3YXkgdG8gdGhlIHJvb3QhCiAgICAgICAgICBmdW5jX3JlbGF0
aXZlX3BhdGhfcmVzdWx0PS4uLyRmdW5jX3JlbGF0aXZlX3BhdGhfcmVzdWx0
CiAgICAgICAgICBmdW5jX3JlbGF0aXZlX3BhdGhfdGNhbmNlbGxlZD0kZnVu
Y19yZWxhdGl2ZV9wYXRoX3RiaW5kaXIKICAgICAgICAgIGJyZWFrCiAgICAg
ICAgZmkKICAgICAgICBmdW5jX3JlbGF0aXZlX3BhdGhfcmVzdWx0PS4uLyRm
dW5jX3JlbGF0aXZlX3BhdGhfcmVzdWx0CiAgICAgICAgOzsKICAgIGVzYWMK
ICBkb25lCgogICMgTm93IGNhbGN1bGF0ZSBwYXRoOyB0YWtlIGNhcmUgdG8g
YXZvaWQgZG91YmxpbmctdXAgc2xhc2hlcy4KICBmdW5jX3N0cmlwbmFtZSAn
JyAnLycgIiRmdW5jX3JlbGF0aXZlX3BhdGhfcmVzdWx0IgogIGZ1bmNfcmVs
YXRpdmVfcGF0aF9yZXN1bHQ9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAogIGZ1
bmNfc3RyaXBuYW1lICcvJyAnLycgIiRmdW5jX3JlbGF0aXZlX3BhdGhfdGNh
bmNlbGxlZCIKICBpZiB0ZXN0ICJ4JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdCIg
IT0geCA7IHRoZW4KICAgIGZ1bmNfcmVsYXRpdmVfcGF0aF9yZXN1bHQ9JHtm
dW5jX3JlbGF0aXZlX3BhdGhfcmVzdWx0fS8ke2Z1bmNfc3RyaXBuYW1lX3Jl
c3VsdH0KICBmaQoKICAjIE5vcm1hbGlzYXRpb24uIElmIGJpbmRpciBpcyBs
aWJkaXIsIHJldHVybiBlbXB0eSBzdHJpbmcsCiAgIyBlbHNlIHJlbGF0aXZl
IHBhdGggZW5kaW5nIHdpdGggYSBzbGFzaDsgZWl0aGVyIHdheSwgdGFyZ2V0
CiAgIyBmaWxlIG5hbWUgY2FuIGJlIGRpcmVjdGx5IGFwcGVuZGVkLgogIGlm
IHRlc3QgISAteiAiJGZ1bmNfcmVsYXRpdmVfcGF0aF9yZXN1bHQiOyB0aGVu
CiAgICBmdW5jX3N0cmlwbmFtZSAnLi8nICcnICIkZnVuY19yZWxhdGl2ZV9w
YXRoX3Jlc3VsdC8iCiAgICBmdW5jX3JlbGF0aXZlX3BhdGhfcmVzdWx0PSRm
dW5jX3N0cmlwbmFtZV9yZXN1bHQKICBmaQp9CgojIFRoZSBuYW1lIG9mIHRo
aXMgcHJvZ3JhbToKZnVuY19kaXJuYW1lX2FuZF9iYXNlbmFtZSAiJHByb2dw
YXRoIgpwcm9nbmFtZT0kZnVuY19iYXNlbmFtZV9yZXN1bHQKCiMgTWFrZSBz
dXJlIHdlIGhhdmUgYW4gYWJzb2x1dGUgcGF0aCBmb3IgcmVleGVjdXRpb246
CmNhc2UgJHByb2dwYXRoIGluCiAgW1xcL10qfFtBLVphLXpdOlxcKikgOzsK
ICAqW1xcL10qKQogICAgIHByb2dkaXI9JGZ1bmNfZGlybmFtZV9yZXN1bHQK
ICAgICBwcm9nZGlyPWBjZCAiJHByb2dkaXIiICYmIHB3ZGAKICAgICBwcm9n
cGF0aD0iJHByb2dkaXIvJHByb2duYW1lIgogICAgIDs7CiAgKikKICAgICBz
YXZlX0lGUz0iJElGUyIKICAgICBJRlM9OgogICAgIGZvciBwcm9nZGlyIGlu
ICRQQVRIOyBkbwogICAgICAgSUZTPSIkc2F2ZV9JRlMiCiAgICAgICB0ZXN0
IC14ICIkcHJvZ2Rpci8kcHJvZ25hbWUiICYmIGJyZWFrCiAgICAgZG9uZQog
ICAgIElGUz0iJHNhdmVfSUZTIgogICAgIHRlc3QgLW4gIiRwcm9nZGlyIiB8
fCBwcm9nZGlyPWBwd2RgCiAgICAgcHJvZ3BhdGg9IiRwcm9nZGlyLyRwcm9n
bmFtZSIKICAgICA7Owplc2FjCgojIFNlZCBzdWJzdGl0dXRpb24gdGhhdCBo
ZWxwcyB1cyBkbyByb2J1c3QgcXVvdGluZy4gIEl0IGJhY2tzbGFzaGlmaWVz
CiMgbWV0YWNoYXJhY3RlcnMgdGhhdCBhcmUgc3RpbGwgYWN0aXZlIHdpdGhp
biBkb3VibGUtcXVvdGVkIHN0cmluZ3MuClhzZWQ9IiR7U0VEfSInIC1lIDFz
L15YLy8nCnNlZF9xdW90ZV9zdWJzdD0ncy9cKFtgIiRcXF1cKS9cXFwxL2cn
CgojIFNhbWUgYXMgYWJvdmUsIGJ1dCBkbyBub3QgcXVvdGUgdmFyaWFibGUg
cmVmZXJlbmNlcy4KZG91YmxlX3F1b3RlX3N1YnN0PSdzL1woWyJgXFxdXCkv
XFxcMS9nJwoKIyBTZWQgc3Vic3RpdHV0aW9uIHRoYXQgdHVybnMgYSBzdHJp
bmcgaW50byBhIHJlZ2V4IG1hdGNoaW5nIGZvciB0aGUKIyBzdHJpbmcgbGl0
ZXJhbGx5LgpzZWRfbWFrZV9saXRlcmFsX3JlZ2V4PSdzLFtdLlteJFxcKlwv
XSxcXCYsZycKCiMgU2VkIHN1YnN0aXR1dGlvbiB0aGF0IGNvbnZlcnRzIGEg
dzMyIGZpbGUgbmFtZSBvciBwYXRoCiMgd2hpY2ggY29udGFpbnMgZm9yd2Fy
ZCBzbGFzaGVzLCBpbnRvIG9uZSB0aGF0IGNvbnRhaW5zCiMgKGVzY2FwZWQp
IGJhY2tzbGFzaGVzLiAgQSB2ZXJ5IG5haXZlIGltcGxlbWVudGF0aW9uLgps
dF9zZWRfbmFpdmVfYmFja3NsYXNoaWZ5PSdzfFxcXFwqfFxcfGc7c3wvfFxc
fGc7c3xcXHxcXFxcfGcnCgojIFJlLWBcJyBwYXJhbWV0ZXIgZXhwYW5zaW9u
cyBpbiBvdXRwdXQgb2YgZG91YmxlX3F1b3RlX3N1YnN0IHRoYXQgd2VyZQoj
IGBcJy1lZCBpbiBpbnB1dCB0byB0aGUgc2FtZS4gIElmIGFuIG9kZCBudW1i
ZXIgb2YgYFwnIHByZWNlZGVkIGEgJyQnCiMgaW4gaW5wdXQgdG8gZG91Ymxl
X3F1b3RlX3N1YnN0LCB0aGF0ICckJyB3YXMgcHJvdGVjdGVkIGZyb20gZXhw
YW5zaW9uLgojIFNpbmNlIGVhY2ggaW5wdXQgYFwnIGlzIG5vdyB0d28gYFwn
cywgbG9vayBmb3IgYW55IG51bWJlciBvZiBydW5zIG9mCiMgZm91ciBgXCdz
IGZvbGxvd2VkIGJ5IHR3byBgXCdzIGFuZCB0aGVuIGEgJyQnLiAgYFwnIHRo
YXQgJyQnLgpicz0nXFwnCmJzMj0nXFxcXCcKYnM0PSdcXFxcXFxcXCcKZG9s
bGFyPSdcJCcKc2VkX2RvdWJsZV9iYWNrc2xhc2g9IlwKICBzLyRiczQvJlxc
Ci9nCiAgcy9eJGJzMiRkb2xsYXIvJGJzJi8KICBzL1xcKFteJGJzXVxcKSRi
czIkZG9sbGFyL1xcMSRiczIkYnMkZG9sbGFyL2cKICBzL1xuLy9nIgoKIyBT
dGFuZGFyZCBvcHRpb25zOgpvcHRfZHJ5X3J1bj1mYWxzZQpvcHRfaGVscD1m
YWxzZQpvcHRfcXVpZXQ9ZmFsc2UKb3B0X3ZlcmJvc2U9ZmFsc2UKb3B0X3dh
cm5pbmc9OgoKIyBmdW5jX2VjaG8gYXJnLi4uCiMgRWNobyBwcm9ncmFtIG5h
bWUgcHJlZml4ZWQgbWVzc2FnZSwgYWxvbmcgd2l0aCB0aGUgY3VycmVudCBt
b2RlCiMgbmFtZSBpZiBpdCBoYXMgYmVlbiBzZXQgeWV0LgpmdW5jX2VjaG8g
KCkKewogICAgJEVDSE8gIiRwcm9nbmFtZTogJHtvcHRfbW9kZSskb3B0X21v
ZGU6IH0kKiIKfQoKIyBmdW5jX3ZlcmJvc2UgYXJnLi4uCiMgRWNobyBwcm9n
cmFtIG5hbWUgcHJlZml4ZWQgbWVzc2FnZSBpbiB2ZXJib3NlIG1vZGUgb25s
eS4KZnVuY192ZXJib3NlICgpCnsKICAgICRvcHRfdmVyYm9zZSAmJiBmdW5j
X2VjaG8gJHsxKyIkQCJ9CgogICAgIyBBIGJ1ZyBpbiBiYXNoIGhhbHRzIHRo
ZSBzY3JpcHQgaWYgdGhlIGxhc3QgbGluZSBvZiBhIGZ1bmN0aW9uCiAgICAj
IGZhaWxzIHdoZW4gc2V0IC1lIGlzIGluIGZvcmNlLCBzbyB3ZSBuZWVkIGFu
b3RoZXIgY29tbWFuZCB0bwogICAgIyB3b3JrIGFyb3VuZCB0aGF0OgogICAg
Ogp9CgojIGZ1bmNfZWNob19hbGwgYXJnLi4uCiMgSW52b2tlICRFQ0hPIHdp
dGggYWxsIGFyZ3MsIHNwYWNlLXNlcGFyYXRlZC4KZnVuY19lY2hvX2FsbCAo
KQp7CiAgICAkRUNITyAiJCoiCn0KCiMgZnVuY19lcnJvciBhcmcuLi4KIyBF
Y2hvIHByb2dyYW0gbmFtZSBwcmVmaXhlZCBtZXNzYWdlIHRvIHN0YW5kYXJk
IGVycm9yLgpmdW5jX2Vycm9yICgpCnsKICAgICRFQ0hPICIkcHJvZ25hbWU6
ICR7b3B0X21vZGUrJG9wdF9tb2RlOiB9IiR7MSsiJEAifSAxPiYyCn0KCiMg
ZnVuY193YXJuaW5nIGFyZy4uLgojIEVjaG8gcHJvZ3JhbSBuYW1lIHByZWZp
eGVkIHdhcm5pbmcgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvci4KZnVuY193
YXJuaW5nICgpCnsKICAgICRvcHRfd2FybmluZyAmJiAkRUNITyAiJHByb2du
YW1lOiAke29wdF9tb2RlKyRvcHRfbW9kZTogfXdhcm5pbmc6ICIkezErIiRA
In0gMT4mMgoKICAgICMgYmFzaCBidWcgYWdhaW46CiAgICA6Cn0KCiMgZnVu
Y19mYXRhbF9lcnJvciBhcmcuLi4KIyBFY2hvIHByb2dyYW0gbmFtZSBwcmVm
aXhlZCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yLCBhbmQgZXhpdC4KZnVu
Y19mYXRhbF9lcnJvciAoKQp7CiAgICBmdW5jX2Vycm9yICR7MSsiJEAifQog
ICAgZXhpdCAkRVhJVF9GQUlMVVJFCn0KCiMgZnVuY19mYXRhbF9oZWxwIGFy
Zy4uLgojIEVjaG8gcHJvZ3JhbSBuYW1lIHByZWZpeGVkIG1lc3NhZ2UgdG8g
c3RhbmRhcmQgZXJyb3IsIGZvbGxvd2VkIGJ5CiMgYSBoZWxwIGhpbnQsIGFu
ZCBleGl0LgpmdW5jX2ZhdGFsX2hlbHAgKCkKewogICAgZnVuY19lcnJvciAk
ezErIiRAIn0KICAgIGZ1bmNfZmF0YWxfZXJyb3IgIiRoZWxwIgp9CmhlbHA9
IlRyeSBcYCRwcm9nbmFtZSAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9u
LiIgICMjIGRlZmF1bHQKCgojIGZ1bmNfZ3JlcCBleHByZXNzaW9uIGZpbGVu
YW1lCiMgQ2hlY2sgd2hldGhlciBFWFBSRVNTSU9OIG1hdGNoZXMgYW55IGxp
bmUgb2YgRklMRU5BTUUsIHdpdGhvdXQgb3V0cHV0LgpmdW5jX2dyZXAgKCkK
ewogICAgJEdSRVAgIiQxIiAiJDIiID4vZGV2L251bGwgMj4mMQp9CgoKIyBm
dW5jX21rZGlyX3AgZGlyZWN0b3J5LXBhdGgKIyBNYWtlIHN1cmUgdGhlIGVu
dGlyZSBwYXRoIHRvIERJUkVDVE9SWS1QQVRIIGlzIGF2YWlsYWJsZS4KZnVu
Y19ta2Rpcl9wICgpCnsKICAgIG15X2RpcmVjdG9yeV9wYXRoPSIkMSIKICAg
IG15X2Rpcl9saXN0PQoKICAgIGlmIHRlc3QgLW4gIiRteV9kaXJlY3Rvcnlf
cGF0aCIgJiYgdGVzdCAiJG9wdF9kcnlfcnVuIiAhPSAiOiI7IHRoZW4KCiAg
ICAgICMgUHJvdGVjdCBkaXJlY3RvcnkgbmFtZXMgc3RhcnRpbmcgd2l0aCBg
LScKICAgICAgY2FzZSAkbXlfZGlyZWN0b3J5X3BhdGggaW4KICAgICAgICAt
KikgbXlfZGlyZWN0b3J5X3BhdGg9Ii4vJG15X2RpcmVjdG9yeV9wYXRoIiA7
OwogICAgICBlc2FjCgogICAgICAjIFdoaWxlIHNvbWUgcG9ydGlvbiBvZiBE
SVIgZG9lcyBub3QgeWV0IGV4aXN0Li4uCiAgICAgIHdoaWxlIHRlc3QgISAt
ZCAiJG15X2RpcmVjdG9yeV9wYXRoIjsgZG8KICAgICAgICAjIC4uLm1ha2Ug
YSBsaXN0IGluIHRvcG1vc3QgZmlyc3Qgb3JkZXIuICBVc2UgYSBjb2xvbiBk
ZWxpbWl0ZWQKCSMgbGlzdCBpbmNhc2Ugc29tZSBwb3J0aW9uIG9mIHBhdGgg
Y29udGFpbnMgd2hpdGVzcGFjZS4KICAgICAgICBteV9kaXJfbGlzdD0iJG15
X2RpcmVjdG9yeV9wYXRoOiRteV9kaXJfbGlzdCIKCiAgICAgICAgIyBJZiB0
aGUgbGFzdCBwb3J0aW9uIGFkZGVkIGhhcyBubyBzbGFzaCBpbiBpdCwgdGhl
IGxpc3QgaXMgZG9uZQogICAgICAgIGNhc2UgJG15X2RpcmVjdG9yeV9wYXRo
IGluICovKikgOzsgKikgYnJlYWsgOzsgZXNhYwoKICAgICAgICAjIC4uLm90
aGVyd2lzZSB0aHJvdyBhd2F5IHRoZSBjaGlsZCBkaXJlY3RvcnkgYW5kIGxv
b3AKICAgICAgICBteV9kaXJlY3RvcnlfcGF0aD1gJEVDSE8gIiRteV9kaXJl
Y3RvcnlfcGF0aCIgfCAkU0VEIC1lICIkZGlybmFtZSJgCiAgICAgIGRvbmUK
ICAgICAgbXlfZGlyX2xpc3Q9YCRFQ0hPICIkbXlfZGlyX2xpc3QiIHwgJFNF
RCAncyw6KiQsLCdgCgogICAgICBzYXZlX21rZGlyX3BfSUZTPSIkSUZTIjsg
SUZTPSc6JwogICAgICBmb3IgbXlfZGlyIGluICRteV9kaXJfbGlzdDsgZG8K
CUlGUz0iJHNhdmVfbWtkaXJfcF9JRlMiCiAgICAgICAgIyBta2RpciBjYW4g
ZmFpbCB3aXRoIGEgYEZpbGUgZXhpc3QnIGVycm9yIGlmIHR3byBwcm9jZXNz
ZXMKICAgICAgICAjIHRyeSB0byBjcmVhdGUgb25lIG9mIHRoZSBkaXJlY3Rv
cmllcyBjb25jdXJyZW50bHkuICBEb24ndAogICAgICAgICMgc3RvcCBpbiB0
aGF0IGNhc2UhCiAgICAgICAgJE1LRElSICIkbXlfZGlyIiAyPi9kZXYvbnVs
bCB8fCA6CiAgICAgIGRvbmUKICAgICAgSUZTPSIkc2F2ZV9ta2Rpcl9wX0lG
UyIKCiAgICAgICMgQmFpbCBvdXQgaWYgd2UgKG9yIHNvbWUgb3RoZXIgcHJv
Y2VzcykgZmFpbGVkIHRvIGNyZWF0ZSBhIGRpcmVjdG9yeS4KICAgICAgdGVz
dCAtZCAiJG15X2RpcmVjdG9yeV9wYXRoIiB8fCBcCiAgICAgICAgZnVuY19m
YXRhbF9lcnJvciAiRmFpbGVkIHRvIGNyZWF0ZSBcYCQxJyIKICAgIGZpCn0K
CgojIGZ1bmNfbWt0ZW1wZGlyIFtzdHJpbmddCiMgTWFrZSBhIHRlbXBvcmFy
eSBkaXJlY3RvcnkgdGhhdCB3b24ndCBjbGFzaCB3aXRoIG90aGVyIHJ1bm5p
bmcKIyBsaWJ0b29sIHByb2Nlc3NlcywgYW5kIGF2b2lkcyByYWNlIGNvbmRp
dGlvbnMgaWYgcG9zc2libGUuICBJZgojIGdpdmVuLCBTVFJJTkcgaXMgdGhl
IGJhc2VuYW1lIGZvciB0aGF0IGRpcmVjdG9yeS4KZnVuY19ta3RlbXBkaXIg
KCkKewogICAgbXlfdGVtcGxhdGU9IiR7VE1QRElSLS90bXB9LyR7MS0kcHJv
Z25hbWV9IgoKICAgIGlmIHRlc3QgIiRvcHRfZHJ5X3J1biIgPSAiOiI7IHRo
ZW4KICAgICAgIyBSZXR1cm4gYSBkaXJlY3RvcnkgbmFtZSwgYnV0IGRvbid0
IGNyZWF0ZSBpdCBpbiBkcnktcnVuIG1vZGUKICAgICAgbXlfdG1wZGlyPSIk
e215X3RlbXBsYXRlfS0kJCIKICAgIGVsc2UKCiAgICAgICMgSWYgbWt0ZW1w
IHdvcmtzLCB1c2UgdGhhdCBmaXJzdCBhbmQgZm9yZW1vc3QKICAgICAgbXlf
dG1wZGlyPWBta3RlbXAgLWQgIiR7bXlfdGVtcGxhdGV9LVhYWFhYWFhYIiAy
Pi9kZXYvbnVsbGAKCiAgICAgIGlmIHRlc3QgISAtZCAiJG15X3RtcGRpciI7
IHRoZW4KICAgICAgICAjIEZhaWxpbmcgdGhhdCwgYXQgbGVhc3QgdHJ5IGFu
ZCB1c2UgJFJBTkRPTSB0byBhdm9pZCBhIHJhY2UKICAgICAgICBteV90bXBk
aXI9IiR7bXlfdGVtcGxhdGV9LSR7UkFORE9NLTB9JCQiCgogICAgICAgIHNh
dmVfbWt0ZW1wZGlyX3VtYXNrPWB1bWFza2AKICAgICAgICB1bWFzayAwMDc3
CiAgICAgICAgJE1LRElSICIkbXlfdG1wZGlyIgogICAgICAgIHVtYXNrICRz
YXZlX21rdGVtcGRpcl91bWFzawogICAgICBmaQoKICAgICAgIyBJZiB3ZSdy
ZSBub3QgaW4gZHJ5LXJ1biBtb2RlLCBib21iIG91dCBvbiBmYWlsdXJlCiAg
ICAgIHRlc3QgLWQgIiRteV90bXBkaXIiIHx8IFwKICAgICAgICBmdW5jX2Zh
dGFsX2Vycm9yICJjYW5ub3QgY3JlYXRlIHRlbXBvcmFyeSBkaXJlY3Rvcnkg
XGAkbXlfdG1wZGlyJyIKICAgIGZpCgogICAgJEVDSE8gIiRteV90bXBkaXIi
Cn0KCgojIGZ1bmNfcXVvdGVfZm9yX2V2YWwgYXJnCiMgQWVzdGhldGljYWxs
eSBxdW90ZSBBUkcgdG8gYmUgZXZhbGVkIGxhdGVyLgojIFRoaXMgZnVuY3Rp
b24gcmV0dXJucyB0d28gdmFsdWVzOiBGVU5DX1FVT1RFX0ZPUl9FVkFMX1JF
U1VMVAojIGlzIGRvdWJsZS1xdW90ZWQsIHN1aXRhYmxlIGZvciBhIHN1YnNl
cXVlbnQgZXZhbCwgd2hlcmVhcwojIEZVTkNfUVVPVEVfRk9SX0VWQUxfVU5R
VU9URURfUkVTVUxUIGhhcyBtZXJlbHkgYWxsIGNoYXJhY3RlcnMKIyB3aGlj
aCBhcmUgc3RpbGwgYWN0aXZlIHdpdGhpbiBkb3VibGUgcXVvdGVzIGJhY2tz
bGFzaGlmaWVkLgpmdW5jX3F1b3RlX2Zvcl9ldmFsICgpCnsKICAgIGNhc2Ug
JDEgaW4KICAgICAgKltcXFxgXCJcJF0qKQoJZnVuY19xdW90ZV9mb3JfZXZh
bF91bnF1b3RlZF9yZXN1bHQ9YCRFQ0hPICIkMSIgfCAkU0VEICIkc2VkX3F1
b3RlX3N1YnN0ImAgOzsKICAgICAgKikKICAgICAgICBmdW5jX3F1b3RlX2Zv
cl9ldmFsX3VucXVvdGVkX3Jlc3VsdD0iJDEiIDs7CiAgICBlc2FjCgogICAg
Y2FzZSAkZnVuY19xdW90ZV9mb3JfZXZhbF91bnF1b3RlZF9yZXN1bHQgaW4K
ICAgICAgIyBEb3VibGUtcXVvdGUgYXJncyBjb250YWluaW5nIHNoZWxsIG1l
dGFjaGFyYWN0ZXJzIHRvIGRlbGF5CiAgICAgICMgd29yZCBzcGxpdHRpbmcs
IGNvbW1hbmQgc3Vic3RpdHV0aW9uIGFuZCBhbmQgdmFyaWFibGUKICAgICAg
IyBleHBhbnNpb24gZm9yIGEgc3Vic2VxdWVudCBldmFsLgogICAgICAjIE1h
bnkgQm91cm5lIHNoZWxscyBjYW5ub3QgaGFuZGxlIGNsb3NlIGJyYWNrZXRz
IGNvcnJlY3RseQogICAgICAjIGluIHNjYW4gc2V0cywgc28gd2Ugc3BlY2lm
eSBpdCBzZXBhcmF0ZWx5LgogICAgICAqW1xbXH5cI1xeXCZcKlwoXClce1x9
XHxcO1w8XD5cP1wnXCBcCV0qfCpdKnwiIikKICAgICAgICBmdW5jX3F1b3Rl
X2Zvcl9ldmFsX3Jlc3VsdD0iXCIkZnVuY19xdW90ZV9mb3JfZXZhbF91bnF1
b3RlZF9yZXN1bHRcIiIKICAgICAgICA7OwogICAgICAqKQogICAgICAgIGZ1
bmNfcXVvdGVfZm9yX2V2YWxfcmVzdWx0PSIkZnVuY19xdW90ZV9mb3JfZXZh
bF91bnF1b3RlZF9yZXN1bHQiCiAgICBlc2FjCn0KCgojIGZ1bmNfcXVvdGVf
Zm9yX2V4cGFuZCBhcmcKIyBBZXN0aGV0aWNhbGx5IHF1b3RlIEFSRyB0byBi
ZSBldmFsZWQgbGF0ZXI7IHNhbWUgYXMgYWJvdmUsCiMgYnV0IGRvIG5vdCBx
dW90ZSB2YXJpYWJsZSByZWZlcmVuY2VzLgpmdW5jX3F1b3RlX2Zvcl9leHBh
bmQgKCkKewogICAgY2FzZSAkMSBpbgogICAgICAqW1xcXGBcIl0qKQoJbXlf
YXJnPWAkRUNITyAiJDEiIHwgJFNFRCBcCgkgICAgLWUgIiRkb3VibGVfcXVv
dGVfc3Vic3QiIC1lICIkc2VkX2RvdWJsZV9iYWNrc2xhc2giYCA7OwogICAg
ICAqKQogICAgICAgIG15X2FyZz0iJDEiIDs7CiAgICBlc2FjCgogICAgY2Fz
ZSAkbXlfYXJnIGluCiAgICAgICMgRG91YmxlLXF1b3RlIGFyZ3MgY29udGFp
bmluZyBzaGVsbCBtZXRhY2hhcmFjdGVycyB0byBkZWxheQogICAgICAjIHdv
cmQgc3BsaXR0aW5nIGFuZCBjb21tYW5kIHN1YnN0aXR1dGlvbiBmb3IgYSBz
dWJzZXF1ZW50IGV2YWwuCiAgICAgICMgTWFueSBCb3VybmUgc2hlbGxzIGNh
bm5vdCBoYW5kbGUgY2xvc2UgYnJhY2tldHMgY29ycmVjdGx5CiAgICAgICMg
aW4gc2NhbiBzZXRzLCBzbyB3ZSBzcGVjaWZ5IGl0IHNlcGFyYXRlbHkuCiAg
ICAgICpbXFtcflwjXF5cJlwqXChcKVx7XH1cfFw7XDxcPlw/XCdcIFwJXSp8
Kl0qfCIiKQogICAgICAgIG15X2FyZz0iXCIkbXlfYXJnXCIiCiAgICAgICAg
OzsKICAgIGVzYWMKCiAgICBmdW5jX3F1b3RlX2Zvcl9leHBhbmRfcmVzdWx0
PSIkbXlfYXJnIgp9CgoKIyBmdW5jX3Nob3dfZXZhbCBjbWQgW2ZhaWxfZXhw
XQojIFVubGVzcyBvcHRfc2lsZW50IGlzIHRydWUsIHRoZW4gb3V0cHV0IENN
RC4gIFRoZW4sIGlmIG9wdF9kcnlydW4gaXMKIyBub3QgdHJ1ZSwgZXZhbHVh
dGUgQ01ELiAgSWYgdGhlIGV2YWx1YXRpb24gb2YgQ01EIGZhaWxzLCBhbmQg
RkFJTF9FWFAKIyBpcyBnaXZlbiwgdGhlbiBldmFsdWF0ZSBpdC4KZnVuY19z
aG93X2V2YWwgKCkKewogICAgbXlfY21kPSIkMSIKICAgIG15X2ZhaWxfZXhw
PSIkezItOn0iCgogICAgJHtvcHRfc2lsZW50LWZhbHNlfSB8fCB7CiAgICAg
IGZ1bmNfcXVvdGVfZm9yX2V4cGFuZCAiJG15X2NtZCIKICAgICAgZXZhbCAi
ZnVuY19lY2hvICRmdW5jX3F1b3RlX2Zvcl9leHBhbmRfcmVzdWx0IgogICAg
fQoKICAgIGlmICR7b3B0X2RyeV9ydW4tZmFsc2V9OyB0aGVuIDo7IGVsc2UK
ICAgICAgZXZhbCAiJG15X2NtZCIKICAgICAgbXlfc3RhdHVzPSQ/CiAgICAg
IGlmIHRlc3QgIiRteV9zdGF0dXMiIC1lcSAwOyB0aGVuIDo7IGVsc2UKCWV2
YWwgIihleGl0ICRteV9zdGF0dXMpOyAkbXlfZmFpbF9leHAiCiAgICAgIGZp
CiAgICBmaQp9CgoKIyBmdW5jX3Nob3dfZXZhbF9sb2NhbGUgY21kIFtmYWls
X2V4cF0KIyBVbmxlc3Mgb3B0X3NpbGVudCBpcyB0cnVlLCB0aGVuIG91dHB1
dCBDTUQuICBUaGVuLCBpZiBvcHRfZHJ5cnVuIGlzCiMgbm90IHRydWUsIGV2
YWx1YXRlIENNRC4gIElmIHRoZSBldmFsdWF0aW9uIG9mIENNRCBmYWlscywg
YW5kIEZBSUxfRVhQCiMgaXMgZ2l2ZW4sIHRoZW4gZXZhbHVhdGUgaXQuICBV
c2UgdGhlIHNhdmVkIGxvY2FsZSBmb3IgZXZhbHVhdGlvbi4KZnVuY19zaG93
X2V2YWxfbG9jYWxlICgpCnsKICAgIG15X2NtZD0iJDEiCiAgICBteV9mYWls
X2V4cD0iJHsyLTp9IgoKICAgICR7b3B0X3NpbGVudC1mYWxzZX0gfHwgewog
ICAgICBmdW5jX3F1b3RlX2Zvcl9leHBhbmQgIiRteV9jbWQiCiAgICAgIGV2
YWwgImZ1bmNfZWNobyAkZnVuY19xdW90ZV9mb3JfZXhwYW5kX3Jlc3VsdCIK
ICAgIH0KCiAgICBpZiAke29wdF9kcnlfcnVuLWZhbHNlfTsgdGhlbiA6OyBl
bHNlCiAgICAgIGV2YWwgIiRsdF91c2VyX2xvY2FsZQoJICAgICRteV9jbWQi
CiAgICAgIG15X3N0YXR1cz0kPwogICAgICBldmFsICIkbHRfc2FmZV9sb2Nh
bGUiCiAgICAgIGlmIHRlc3QgIiRteV9zdGF0dXMiIC1lcSAwOyB0aGVuIDo7
IGVsc2UKCWV2YWwgIihleGl0ICRteV9zdGF0dXMpOyAkbXlfZmFpbF9leHAi
CiAgICAgIGZpCiAgICBmaQp9CgojIGZ1bmNfdHJfc2gKIyBUdXJuICQxIGlu
dG8gYSBzdHJpbmcgc3VpdGFibGUgZm9yIGEgc2hlbGwgdmFyaWFibGUgbmFt
ZS4KIyBSZXN1bHQgaXMgc3RvcmVkIGluICRmdW5jX3RyX3NoX3Jlc3VsdC4g
IEFsbCBjaGFyYWN0ZXJzCiMgbm90IGluIHRoZSBzZXQgYS16QS1aMC05XyBh
cmUgcmVwbGFjZWQgd2l0aCAnXycuIEZ1cnRoZXIsCiMgaWYgJDEgYmVnaW5z
IHdpdGggYSBkaWdpdCwgYSAnXycgaXMgcHJlcGVuZGVkIGFzIHdlbGwuCmZ1
bmNfdHJfc2ggKCkKewogIGNhc2UgJDEgaW4KICBbMC05XSogfCAqWyFhLXpB
LVowLTlfXSopCiAgICBmdW5jX3RyX3NoX3Jlc3VsdD1gJEVDSE8gIiQxIiB8
ICRTRUQgJ3MvXlwoWzAtOV1cKS9fXDEvOyBzL1teYS16QS1aMC05X10vXy9n
J2AKICAgIDs7CiAgKiApCiAgICBmdW5jX3RyX3NoX3Jlc3VsdD0kMQogICAg
OzsKICBlc2FjCn0KCgojIGZ1bmNfdmVyc2lvbgojIEVjaG8gdmVyc2lvbiBt
ZXNzYWdlIHRvIHN0YW5kYXJkIG91dHB1dCBhbmQgZXhpdC4KZnVuY192ZXJz
aW9uICgpCnsKICAgICRvcHRfZGVidWcKCiAgICAkU0VEIC1uICcvKEMpLyFi
IGdvCgk6bW9yZQoJL1wuLyF7CgkgIE4KCSAgcy9cbiMgLyAvCgkgIGIgbW9y
ZQoJfQoJOmdvCgkvXiMgJyRQUk9HUkFNJyAoR05VIC8sLyMgd2FycmFudHk7
IC8gewogICAgICAgIHMvXiMgLy8KCXMvXiMgKiQvLwogICAgICAgIHMvXCgo
QylcKVsgMC05LC1dKlwoIFsxLTldWzAtOV0qXCkvXDFcMi8KICAgICAgICBw
CiAgICAgfScgPCAiJHByb2dwYXRoIgogICAgIGV4aXQgJD8KfQoKIyBmdW5j
X3VzYWdlCiMgRWNobyBzaG9ydCBoZWxwIG1lc3NhZ2UgdG8gc3RhbmRhcmQg
b3V0cHV0IGFuZCBleGl0LgpmdW5jX3VzYWdlICgpCnsKICAgICRvcHRfZGVi
dWcKCiAgICAkU0VEIC1uICcvXiMgVXNhZ2U6LywvXiMgICouKi0taGVscC8g
ewogICAgICAgIHMvXiMgLy8KCXMvXiMgKiQvLwoJcy9cJHByb2duYW1lLyck
cHJvZ25hbWUnLwoJcAogICAgfScgPCAiJHByb2dwYXRoIgogICAgZWNobwog
ICAgJEVDSE8gInJ1biBcYCRwcm9nbmFtZSAtLWhlbHAgfCBtb3JlJyBmb3Ig
ZnVsbCB1c2FnZSIKICAgIGV4aXQgJD8KfQoKIyBmdW5jX2hlbHAgW05PRVhJ
VF0KIyBFY2hvIGxvbmcgaGVscCBtZXNzYWdlIHRvIHN0YW5kYXJkIG91dHB1
dCBhbmQgZXhpdCwKIyB1bmxlc3MgJ25vZXhpdCcgaXMgcGFzc2VkIGFzIGFy
Z3VtZW50LgpmdW5jX2hlbHAgKCkKewogICAgJG9wdF9kZWJ1ZwoKICAgICRT
RUQgLW4gJy9eIyBVc2FnZTovLC8jIFJlcG9ydCBidWdzIHRvLyB7Cgk6cHJp
bnQKICAgICAgICBzL14jIC8vCglzL14jICokLy8KCXMqXCRwcm9nbmFtZSon
JHByb2duYW1lJyoKCXMqXCRob3N0KiciJGhvc3QiJyoKCXMqXCRTSEVMTCon
IiRTSEVMTCInKgoJcypcJExUQ0MqJyIkTFRDQyInKgoJcypcJExUQ0ZMQUdT
KiciJExUQ0ZMQUdTIicqCglzKlwkTEQqJyIkTEQiJyoKCXMvXCR3aXRoX2du
dV9sZC8nIiR3aXRoX2dudV9sZCInLwoJcy9cJGF1dG9tYWtlX3ZlcnNpb24v
JyJgKGF1dG9tYWtlIC0tdmVyc2lvbikgMj4vZGV2L251bGwgfCRTRUQgMXFg
IicvCglzL1wkYXV0b2NvbmZfdmVyc2lvbi8nImAoYXV0b2NvbmYgLS12ZXJz
aW9uKSAyPi9kZXYvbnVsbCB8JFNFRCAxcWAiJy8KCXAKCWQKICAgICB9CiAg
ICAgL14jIC4qIGhvbWUgcGFnZTovYiBwcmludAogICAgIC9eIyBHZW5lcmFs
IGhlbHAgdXNpbmcvYiBwcmludAogICAgICcgPCAiJHByb2dwYXRoIgogICAg
cmV0PSQ/CiAgICBpZiB0ZXN0IC16ICIkMSI7IHRoZW4KICAgICAgZXhpdCAk
cmV0CiAgICBmaQp9CgojIGZ1bmNfbWlzc2luZ19hcmcgYXJnbmFtZQojIEVj
aG8gcHJvZ3JhbSBuYW1lIHByZWZpeGVkIG1lc3NhZ2UgdG8gc3RhbmRhcmQg
ZXJyb3IgYW5kIHNldCBnbG9iYWwKIyBleGl0X2NtZC4KZnVuY19taXNzaW5n
X2FyZyAoKQp7CiAgICAkb3B0X2RlYnVnCgogICAgZnVuY19lcnJvciAibWlz
c2luZyBhcmd1bWVudCBmb3IgJDEuIgogICAgZXhpdF9jbWQ9ZXhpdAp9CgoK
IyBmdW5jX3NwbGl0X3Nob3J0X29wdCBzaG9ydG9wdAojIFNldCBmdW5jX3Nw
bGl0X3Nob3J0X29wdF9uYW1lIGFuZCBmdW5jX3NwbGl0X3Nob3J0X29wdF9h
cmcgc2hlbGwKIyB2YXJpYWJsZXMgYWZ0ZXIgc3BsaXR0aW5nIFNIT1JUT1BU
IGFmdGVyIHRoZSAybmQgY2hhcmFjdGVyLgpmdW5jX3NwbGl0X3Nob3J0X29w
dCAoKQp7CiAgICBmdW5jX3NwbGl0X3Nob3J0X29wdF9hcmc9JHsxIz8/fQog
ICAgZnVuY19zcGxpdF9zaG9ydF9vcHRfbmFtZT0kezElIiRmdW5jX3NwbGl0
X3Nob3J0X29wdF9hcmcifQp9ICMgRXh0ZW5kZWQtc2hlbGwgZnVuY19zcGxp
dF9zaG9ydF9vcHQgaW1wbGVtZW50YXRpb24KCgojIGZ1bmNfc3BsaXRfbG9u
Z19vcHQgbG9uZ29wdAojIFNldCBmdW5jX3NwbGl0X2xvbmdfb3B0X25hbWUg
YW5kIGZ1bmNfc3BsaXRfbG9uZ19vcHRfYXJnIHNoZWxsCiMgdmFyaWFibGVz
IGFmdGVyIHNwbGl0dGluZyBMT05HT1BUIGF0IHRoZSBgPScgc2lnbi4KZnVu
Y19zcGxpdF9sb25nX29wdCAoKQp7CiAgICBmdW5jX3NwbGl0X2xvbmdfb3B0
X25hbWU9JHsxJSU9Kn0KICAgIGZ1bmNfc3BsaXRfbG9uZ19vcHRfYXJnPSR7
MSMqPX0KfSAjIEV4dGVuZGVkLXNoZWxsIGZ1bmNfc3BsaXRfbG9uZ19vcHQg
aW1wbGVtZW50YXRpb24KCmV4aXRfY21kPToKCgoKCgptYWdpYz0iJSUlTUFH
SUMgdmFyaWFibGUlJSUiCm1hZ2ljX2V4ZT0iJSUlTUFHSUMgRVhFIHZhcmlh
YmxlJSUlIgoKIyBHbG9iYWwgdmFyaWFibGVzLgpub25vcHQ9CnByZXNlcnZl
X2FyZ3M9CmxvMm89InMvXFwubG9cJC8uJHtvYmpleHR9LyIKbzJsbz0icy9c
XC4ke29iamV4dH1cJC8ubG8vIgpleHRyYWN0ZWRfYXJjaGl2ZXM9CmV4dHJh
Y3RlZF9zZXJpYWw9MAoKIyBJZiB0aGlzIHZhcmlhYmxlIGlzIHNldCBpbiBh
bnkgb2YgdGhlIGFjdGlvbnMsIHRoZSBjb21tYW5kIGluIGl0CiMgd2lsbCBi
ZSBleGVjZWQgYXQgdGhlIGVuZC4gIFRoaXMgcHJldmVudHMgaGVyZS1kb2N1
bWVudHMgZnJvbSBiZWluZwojIGxlZnQgb3ZlciBieSBzaGVsbHMuCmV4ZWNf
Y21kPQoKIyBmdW5jX2FwcGVuZCB2YXIgdmFsdWUKIyBBcHBlbmQgVkFMVUUg
dG8gdGhlIGVuZCBvZiBzaGVsbCB2YXJpYWJsZSBWQVIuCmZ1bmNfYXBwZW5k
ICgpCnsKICAgIGV2YWwgIiR7MX0rPVwkezJ9Igp9ICMgRXh0ZW5kZWQtc2hl
bGwgZnVuY19hcHBlbmQgaW1wbGVtZW50YXRpb24KCiMgZnVuY19hcHBlbmRf
cXVvdGVkIHZhciB2YWx1ZQojIFF1b3RlIFZBTFVFIGFuZCBhcHBlbmQgdG8g
dGhlIGVuZCBvZiBzaGVsbCB2YXJpYWJsZSBWQVIsIHNlcGFyYXRlZAojIGJ5
IGEgc3BhY2UuCmZ1bmNfYXBwZW5kX3F1b3RlZCAoKQp7CiAgICBmdW5jX3F1
b3RlX2Zvcl9ldmFsICIkezJ9IgogICAgZXZhbCAiJHsxfSs9XFwgXCRmdW5j
X3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdCIKfSAjIEV4dGVuZGVkLXNoZWxsIGZ1
bmNfYXBwZW5kX3F1b3RlZCBpbXBsZW1lbnRhdGlvbgoKCiMgZnVuY19hcml0
aCBhcml0aG1ldGljLXRlcm0uLi4KZnVuY19hcml0aCAoKQp7CiAgICBmdW5j
X2FyaXRoX3Jlc3VsdD0kKCggJCogKSkKfSAjIEV4dGVuZGVkLXNoZWxsIGZ1
bmNfYXJpdGggaW1wbGVtZW50YXRpb24KCgojIGZ1bmNfbGVuIHN0cmluZwoj
IFNUUklORyBtYXkgbm90IHN0YXJ0IHdpdGggYSBoeXBoZW4uCmZ1bmNfbGVu
ICgpCnsKICAgIGZ1bmNfbGVuX3Jlc3VsdD0keyMxfQp9ICMgRXh0ZW5kZWQt
c2hlbGwgZnVuY19sZW4gaW1wbGVtZW50YXRpb24KCgojIGZ1bmNfbG8ybyBv
YmplY3QKZnVuY19sbzJvICgpCnsKICAgIGNhc2UgJHsxfSBpbgogICAgICAq
LmxvKSBmdW5jX2xvMm9fcmVzdWx0PSR7MSUubG99LiR7b2JqZXh0fSA7Owog
ICAgICAqKSAgICBmdW5jX2xvMm9fcmVzdWx0PSR7MX0gOzsKICAgIGVzYWMK
fSAjIEV4dGVuZGVkLXNoZWxsIGZ1bmNfbG8ybyBpbXBsZW1lbnRhdGlvbgoK
CiMgZnVuY194Zm9ybSBsaWJvYmotb3Itc291cmNlCmZ1bmNfeGZvcm0gKCkK
ewogICAgZnVuY194Zm9ybV9yZXN1bHQ9JHsxJS4qfS5sbwp9ICMgRXh0ZW5k
ZWQtc2hlbGwgZnVuY194Zm9ybSBpbXBsZW1lbnRhdGlvbgoKCiMgZnVuY19m
YXRhbF9jb25maWd1cmF0aW9uIGFyZy4uLgojIEVjaG8gcHJvZ3JhbSBuYW1l
IHByZWZpeGVkIG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IsIGZvbGxvd2Vk
IGJ5CiMgYSBjb25maWd1cmF0aW9uIGZhaWx1cmUgaGludCwgYW5kIGV4aXQu
CmZ1bmNfZmF0YWxfY29uZmlndXJhdGlvbiAoKQp7CiAgICBmdW5jX2Vycm9y
ICR7MSsiJEAifQogICAgZnVuY19lcnJvciAiU2VlIHRoZSAkUEFDS0FHRSBk
b2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKICAgIGZ1bmNf
ZmF0YWxfZXJyb3IgIkZhdGFsIGNvbmZpZ3VyYXRpb24gZXJyb3IuIgp9CgoK
IyBmdW5jX2NvbmZpZwojIERpc3BsYXkgdGhlIGNvbmZpZ3VyYXRpb24gZm9y
IGFsbCB0aGUgdGFncyBpbiB0aGlzIHNjcmlwdC4KZnVuY19jb25maWcgKCkK
ewogICAgcmVfYmVnaW5jZj0nXiMgIyMjIEJFR0lOIExJQlRPT0wnCiAgICBy
ZV9lbmRjZj0nXiMgIyMjIEVORCBMSUJUT09MJwoKICAgICMgRGVmYXVsdCBj
b25maWd1cmF0aW9uLgogICAgJFNFRCAiMSwvJHJlX2JlZ2luY2YgQ09ORklH
L2Q7LyRyZV9lbmRjZiBDT05GSUcvLFwkZCIgPCAiJHByb2dwYXRoIgoKICAg
ICMgTm93IHByaW50IHRoZSBjb25maWd1cmF0aW9ucyBmb3IgdGhlIHRhZ3Mu
CiAgICBmb3IgdGFnbmFtZSBpbiAkdGFnbGlzdDsgZG8KICAgICAgJFNFRCAt
biAiLyRyZV9iZWdpbmNmIFRBRyBDT05GSUc6ICR0YWduYW1lXCQvLC8kcmVf
ZW5kY2YgVEFHIENPTkZJRzogJHRhZ25hbWVcJC9wIiA8ICIkcHJvZ3BhdGgi
CiAgICBkb25lCgogICAgZXhpdCAkPwp9CgojIGZ1bmNfZmVhdHVyZXMKIyBE
aXNwbGF5IHRoZSBmZWF0dXJlcyBzdXBwb3J0ZWQgYnkgdGhpcyBzY3JpcHQu
CmZ1bmNfZmVhdHVyZXMgKCkKewogICAgZWNobyAiaG9zdDogJGhvc3QiCiAg
ICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IHllczsgdGhlbgog
ICAgICBlY2hvICJlbmFibGUgc2hhcmVkIGxpYnJhcmllcyIKICAgIGVsc2UK
ICAgICAgZWNobyAiZGlzYWJsZSBzaGFyZWQgbGlicmFyaWVzIgogICAgZmkK
ICAgIGlmIHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSB5ZXM7IHRoZW4KICAg
ICAgZWNobyAiZW5hYmxlIHN0YXRpYyBsaWJyYXJpZXMiCiAgICBlbHNlCiAg
ICAgIGVjaG8gImRpc2FibGUgc3RhdGljIGxpYnJhcmllcyIKICAgIGZpCgog
ICAgZXhpdCAkPwp9CgojIGZ1bmNfZW5hYmxlX3RhZyB0YWduYW1lCiMgVmVy
aWZ5IHRoYXQgVEFHTkFNRSBpcyB2YWxpZCwgYW5kIGVpdGhlciBmbGFnIGFu
IGVycm9yIGFuZCBleGl0LCBvcgojIGVuYWJsZSB0aGUgVEFHTkFNRSB0YWcu
ICBXZSBhbHNvIGFkZCBUQUdOQU1FIHRvIHRoZSBnbG9iYWwgJHRhZ2xpc3QK
IyB2YXJpYWJsZSBoZXJlLgpmdW5jX2VuYWJsZV90YWcgKCkKewogICMgR2xv
YmFsIHZhcmlhYmxlOgogIHRhZ25hbWU9IiQxIgoKICByZV9iZWdpbmNmPSJe
IyAjIyMgQkVHSU4gTElCVE9PTCBUQUcgQ09ORklHOiAkdGFnbmFtZVwkIgog
IHJlX2VuZGNmPSJeIyAjIyMgRU5EIExJQlRPT0wgVEFHIENPTkZJRzogJHRh
Z25hbWVcJCIKICBzZWRfZXh0cmFjdGNmPSIvJHJlX2JlZ2luY2YvLC8kcmVf
ZW5kY2YvcCIKCiAgIyBWYWxpZGF0ZSB0YWduYW1lLgogIGNhc2UgJHRhZ25h
bWUgaW4KICAgICpbIS1fQS1aYS16MC05LC9dKikKICAgICAgZnVuY19mYXRh
bF9lcnJvciAiaW52YWxpZCB0YWcgbmFtZTogJHRhZ25hbWUiCiAgICAgIDs7
CiAgZXNhYwoKICAjIERvbid0IHRlc3QgZm9yIHRoZSAiZGVmYXVsdCIgQyB0
YWcsIGFzIHdlIGtub3cgaXQncwogICMgdGhlcmUgYnV0IG5vdCBzcGVjaWFs
bHkgbWFya2VkLgogIGNhc2UgJHRhZ25hbWUgaW4KICAgIENDKSA7OwogICAg
KikKICAgICAgaWYgJEdSRVAgIiRyZV9iZWdpbmNmIiAiJHByb2dwYXRoIiA+
L2Rldi9udWxsIDI+JjE7IHRoZW4KCXRhZ2xpc3Q9IiR0YWdsaXN0ICR0YWdu
YW1lIgoKCSMgRXZhbHVhdGUgdGhlIGNvbmZpZ3VyYXRpb24uICBCZSBjYXJl
ZnVsIHRvIHF1b3RlIHRoZSBwYXRoCgkjIGFuZCB0aGUgc2VkIHNjcmlwdCwg
dG8gYXZvaWQgc3BsaXR0aW5nIG9uIHdoaXRlc3BhY2UsIGJ1dAoJIyBhbHNv
IGRvbid0IHVzZSBub24tcG9ydGFibGUgcXVvdGVzIHdpdGhpbiBiYWNrcXVv
dGVzIHdpdGhpbgoJIyBxdW90ZXMgd2UgaGF2ZSB0byBkbyBpdCBpbiAyIHN0
ZXBzOgoJZXh0cmFjdGVkY2Y9YCRTRUQgLW4gLWUgIiRzZWRfZXh0cmFjdGNm
IiA8ICIkcHJvZ3BhdGgiYAoJZXZhbCAiJGV4dHJhY3RlZGNmIgogICAgICBl
bHNlCglmdW5jX2Vycm9yICJpZ25vcmluZyB1bmtub3duIHRhZyAkdGFnbmFt
ZSIKICAgICAgZmkKICAgICAgOzsKICBlc2FjCn0KCiMgZnVuY19jaGVja192
ZXJzaW9uX21hdGNoCiMgRW5zdXJlIHRoYXQgd2UgYXJlIHVzaW5nIG00IG1h
Y3JvcywgYW5kIGxpYnRvb2wgc2NyaXB0IGZyb20gdGhlIHNhbWUKIyByZWxl
YXNlIG9mIGxpYnRvb2wuCmZ1bmNfY2hlY2tfdmVyc2lvbl9tYXRjaCAoKQp7
CiAgaWYgdGVzdCAiJHBhY2thZ2VfcmV2aXNpb24iICE9ICIkbWFjcm9fcmV2
aXNpb24iOyB0aGVuCiAgICBpZiB0ZXN0ICIkVkVSU0lPTiIgIT0gIiRtYWNy
b192ZXJzaW9uIjsgdGhlbgogICAgICBpZiB0ZXN0IC16ICIkbWFjcm9fdmVy
c2lvbiI7IHRoZW4KICAgICAgICBjYXQgPiYyIDw8X0xUX0VPRgokcHJvZ25h
bWU6IFZlcnNpb24gbWlzbWF0Y2ggZXJyb3IuICBUaGlzIGlzICRQQUNLQUdF
ICRWRVJTSU9OLCBidXQgdGhlCiRwcm9nbmFtZTogZGVmaW5pdGlvbiBvZiB0
aGlzIExUX0lOSVQgY29tZXMgZnJvbSBhbiBvbGRlciByZWxlYXNlLgokcHJv
Z25hbWU6IFlvdSBzaG91bGQgcmVjcmVhdGUgYWNsb2NhbC5tNCB3aXRoIG1h
Y3JvcyBmcm9tICRQQUNLQUdFICRWRVJTSU9OCiRwcm9nbmFtZTogYW5kIHJ1
biBhdXRvY29uZiBhZ2Fpbi4KX0xUX0VPRgogICAgICBlbHNlCiAgICAgICAg
Y2F0ID4mMiA8PF9MVF9FT0YKJHByb2duYW1lOiBWZXJzaW9uIG1pc21hdGNo
IGVycm9yLiAgVGhpcyBpcyAkUEFDS0FHRSAkVkVSU0lPTiwgYnV0IHRoZQok
cHJvZ25hbWU6IGRlZmluaXRpb24gb2YgdGhpcyBMVF9JTklUIGNvbWVzIGZy
b20gJFBBQ0tBR0UgJG1hY3JvX3ZlcnNpb24uCiRwcm9nbmFtZTogWW91IHNo
b3VsZCByZWNyZWF0ZSBhY2xvY2FsLm00IHdpdGggbWFjcm9zIGZyb20gJFBB
Q0tBR0UgJFZFUlNJT04KJHByb2duYW1lOiBhbmQgcnVuIGF1dG9jb25mIGFn
YWluLgpfTFRfRU9GCiAgICAgIGZpCiAgICBlbHNlCiAgICAgIGNhdCA+JjIg
PDxfTFRfRU9GCiRwcm9nbmFtZTogVmVyc2lvbiBtaXNtYXRjaCBlcnJvci4g
IFRoaXMgaXMgJFBBQ0tBR0UgJFZFUlNJT04sIHJldmlzaW9uICRwYWNrYWdl
X3JldmlzaW9uLAokcHJvZ25hbWU6IGJ1dCB0aGUgZGVmaW5pdGlvbiBvZiB0
aGlzIExUX0lOSVQgY29tZXMgZnJvbSByZXZpc2lvbiAkbWFjcm9fcmV2aXNp
b24uCiRwcm9nbmFtZTogWW91IHNob3VsZCByZWNyZWF0ZSBhY2xvY2FsLm00
IHdpdGggbWFjcm9zIGZyb20gcmV2aXNpb24gJHBhY2thZ2VfcmV2aXNpb24K
JHByb2duYW1lOiBvZiAkUEFDS0FHRSAkVkVSU0lPTiBhbmQgcnVuIGF1dG9j
b25mIGFnYWluLgpfTFRfRU9GCiAgICBmaQoKICAgIGV4aXQgJEVYSVRfTUlT
TUFUQ0gKICBmaQp9CgoKIyBTaG9ydGhhbmQgZm9yIC0tbW9kZT1mb28sIG9u
bHkgdmFsaWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50CmNhc2UgJDEgaW4KY2xl
YW58Y2xlYXxjbGV8Y2wpCiAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgY2xl
YW4gJHsxKyIkQCJ9OyBzaGlmdAogIDs7CmNvbXBpbGV8Y29tcGlsfGNvbXBp
fGNvbXB8Y29tfGNvfGMpCiAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgY29t
cGlsZSAkezErIiRAIn07IHNoaWZ0CiAgOzsKZXhlY3V0ZXxleGVjdXR8ZXhl
Y3V8ZXhlY3xleGV8ZXh8ZSkKICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBl
eGVjdXRlICR7MSsiJEAifTsgc2hpZnQKICA7OwpmaW5pc2h8ZmluaXN8Zmlu
aXxmaW58Zml8ZikKICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBmaW5pc2gg
JHsxKyIkQCJ9OyBzaGlmdAogIDs7Cmluc3RhbGx8aW5zdGFsfGluc3RhfGlu
c3R8aW5zfGlufGkpCiAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgaW5zdGFs
bCAkezErIiRAIn07IHNoaWZ0CiAgOzsKbGlua3xsaW58bGl8bCkKICBzaGlm
dDsgc2V0IGR1bW15IC0tbW9kZSBsaW5rICR7MSsiJEAifTsgc2hpZnQKICA7
Owp1bmluc3RhbGx8dW5pbnN0YWx8dW5pbnN0YXx1bmluc3R8dW5pbnN8dW5p
bnx1bml8dW58dSkKICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSB1bmluc3Rh
bGwgJHsxKyIkQCJ9OyBzaGlmdAogIDs7CmVzYWMKCgoKIyBPcHRpb24gZGVm
YXVsdHM6Cm9wdF9kZWJ1Zz06Cm9wdF9kcnlfcnVuPWZhbHNlCm9wdF9jb25m
aWc9ZmFsc2UKb3B0X3ByZXNlcnZlX2R1cF9kZXBzPWZhbHNlCm9wdF9mZWF0
dXJlcz1mYWxzZQpvcHRfZmluaXNoPWZhbHNlCm9wdF9oZWxwPWZhbHNlCm9w
dF9oZWxwX2FsbD1mYWxzZQpvcHRfc2lsZW50PToKb3B0X3ZlcmJvc2U9Ogpv
cHRfc2lsZW50PWZhbHNlCm9wdF92ZXJib3NlPWZhbHNlCgoKIyBQYXJzZSBv
cHRpb25zIG9uY2UsIHRob3JvdWdobHkuICBUaGlzIGNvbWVzIGFzIHNvb24g
YXMgcG9zc2libGUgaW4gdGhlCiMgc2NyaXB0IHRvIG1ha2UgdGhpbmdzIGxp
a2UgYC0tdmVyc2lvbicgaGFwcGVuIGFzIHF1aWNrbHkgYXMgd2UgY2FuLgp7
CiAgIyB0aGlzIGp1c3QgZWFzZXMgZXhpdCBoYW5kbGluZwogIHdoaWxlIHRl
c3QgJCMgLWd0IDA7IGRvCiAgICBvcHQ9IiQxIgogICAgc2hpZnQKICAgIGNh
c2UgJG9wdCBpbgogICAgICAtLWRlYnVnfC14KQlvcHRfZGVidWc9J3NldCAt
eCcKCQkJZnVuY19lY2hvICJlbmFibGluZyBzaGVsbCB0cmFjZSBtb2RlIgoJ
CQkkb3B0X2RlYnVnCgkJCTs7CiAgICAgIC0tZHJ5LXJ1bnwtLWRyeXJ1bnwt
bikKCQkJb3B0X2RyeV9ydW49OgoJCQk7OwogICAgICAtLWNvbmZpZykKCQkJ
b3B0X2NvbmZpZz06CmZ1bmNfY29uZmlnCgkJCTs7CiAgICAgIC0tZGxvcGVu
fC1kbG9wZW4pCgkJCW9wdGFyZz0iJDEiCgkJCW9wdF9kbG9wZW49IiR7b3B0
X2Rsb3Blbiskb3B0X2Rsb3Blbgp9JG9wdGFyZyIKCQkJc2hpZnQKCQkJOzsK
ICAgICAgLS1wcmVzZXJ2ZS1kdXAtZGVwcykKCQkJb3B0X3ByZXNlcnZlX2R1
cF9kZXBzPToKCQkJOzsKICAgICAgLS1mZWF0dXJlcykKCQkJb3B0X2ZlYXR1
cmVzPToKZnVuY19mZWF0dXJlcwoJCQk7OwogICAgICAtLWZpbmlzaCkKCQkJ
b3B0X2ZpbmlzaD06CnNldCBkdW1teSAtLW1vZGUgZmluaXNoICR7MSsiJEAi
fTsgc2hpZnQKCQkJOzsKICAgICAgLS1oZWxwKQoJCQlvcHRfaGVscD06CgkJ
CTs7CiAgICAgIC0taGVscC1hbGwpCgkJCW9wdF9oZWxwX2FsbD06Cm9wdF9o
ZWxwPSc6IGhlbHAtYWxsJwoJCQk7OwogICAgICAtLW1vZGUpCgkJCXRlc3Qg
JCMgPSAwICYmIGZ1bmNfbWlzc2luZ19hcmcgJG9wdCAmJiBicmVhawoJCQlv
cHRhcmc9IiQxIgoJCQlvcHRfbW9kZT0iJG9wdGFyZyIKY2FzZSAkb3B0YXJn
IGluCiAgIyBWYWxpZCBtb2RlIGFyZ3VtZW50czoKICBjbGVhbnxjb21waWxl
fGV4ZWN1dGV8ZmluaXNofGluc3RhbGx8bGlua3xyZWxpbmt8dW5pbnN0YWxs
KSA7OwoKICAjIENhdGNoIGFueXRoaW5nIGVsc2UgYXMgYW4gZXJyb3IKICAq
KSBmdW5jX2Vycm9yICJpbnZhbGlkIGFyZ3VtZW50IGZvciAkb3B0IgogICAg
IGV4aXRfY21kPWV4aXQKICAgICBicmVhawogICAgIDs7CmVzYWMKCQkJc2hp
ZnQKCQkJOzsKICAgICAgLS1uby1zaWxlbnR8LS1uby1xdWlldCkKCQkJb3B0
X3NpbGVudD1mYWxzZQpwcmVzZXJ2ZV9hcmdzKz0iICRvcHQiCgkJCTs7CiAg
ICAgIC0tbm8tdmVyYm9zZSkKCQkJb3B0X3ZlcmJvc2U9ZmFsc2UKcHJlc2Vy
dmVfYXJncys9IiAkb3B0IgoJCQk7OwogICAgICAtLXNpbGVudHwtLXF1aWV0
KQoJCQlvcHRfc2lsZW50PToKcHJlc2VydmVfYXJncys9IiAkb3B0IgogICAg
ICAgIG9wdF92ZXJib3NlPWZhbHNlCgkJCTs7CiAgICAgIC0tdmVyYm9zZXwt
dikKCQkJb3B0X3ZlcmJvc2U9OgpwcmVzZXJ2ZV9hcmdzKz0iICRvcHQiCm9w
dF9zaWxlbnQ9ZmFsc2UKCQkJOzsKICAgICAgLS10YWcpCgkJCXRlc3QgJCMg
PSAwICYmIGZ1bmNfbWlzc2luZ19hcmcgJG9wdCAmJiBicmVhawoJCQlvcHRh
cmc9IiQxIgoJCQlvcHRfdGFnPSIkb3B0YXJnIgpwcmVzZXJ2ZV9hcmdzKz0i
ICRvcHQgJG9wdGFyZyIKZnVuY19lbmFibGVfdGFnICIkb3B0YXJnIgoJCQlz
aGlmdAoJCQk7OwoKICAgICAgLVw/fC1oKQkJZnVuY191c2FnZQkJCQk7Owog
ICAgICAtLWhlbHApCQlmdW5jX2hlbHAJCQkJOzsKICAgICAgLS12ZXJzaW9u
KQlmdW5jX3ZlcnNpb24JCQkJOzsKCiAgICAgICMgU2VwYXJhdGUgb3B0YXJn
cyB0byBsb25nIG9wdGlvbnM6CiAgICAgIC0tKj0qKQoJCQlmdW5jX3NwbGl0
X2xvbmdfb3B0ICIkb3B0IgoJCQlzZXQgZHVtbXkgIiRmdW5jX3NwbGl0X2xv
bmdfb3B0X25hbWUiICIkZnVuY19zcGxpdF9sb25nX29wdF9hcmciICR7MSsi
JEAifQoJCQlzaGlmdAoJCQk7OwoKICAgICAgIyBTZXBhcmF0ZSBub24tYXJn
dW1lbnQgc2hvcnQgb3B0aW9uczoKICAgICAgLVw/KnwtaCp8LW4qfC12KikK
CQkJZnVuY19zcGxpdF9zaG9ydF9vcHQgIiRvcHQiCgkJCXNldCBkdW1teSAi
JGZ1bmNfc3BsaXRfc2hvcnRfb3B0X25hbWUiICItJGZ1bmNfc3BsaXRfc2hv
cnRfb3B0X2FyZyIgJHsxKyIkQCJ9CgkJCXNoaWZ0CgkJCTs7CgogICAgICAt
LSkJCWJyZWFrCQkJCQk7OwogICAgICAtKikJCWZ1bmNfZmF0YWxfaGVscCAi
dW5yZWNvZ25pemVkIG9wdGlvbiBcYCRvcHQnIiA7OwogICAgICAqKQkJc2V0
IGR1bW15ICIkb3B0IiAkezErIiRAIn07CXNoaWZ0OyBicmVhayAgOzsKICAg
IGVzYWMKICBkb25lCgogICMgVmFsaWRhdGUgb3B0aW9uczoKCiAgIyBzYXZl
IGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQKICBpZiB0ZXN0ICIkIyIgLWd0
IDA7IHRoZW4KICAgIG5vbm9wdD0iJG9wdCIKICAgIHNoaWZ0CiAgZmkKCiAg
IyBwcmVzZXJ2ZSAtLWRlYnVnCiAgdGVzdCAiJG9wdF9kZWJ1ZyIgPSA6IHx8
IHByZXNlcnZlX2FyZ3MrPSIgLS1kZWJ1ZyIKCiAgY2FzZSAkaG9zdCBpbgog
ICAgKmN5Z3dpbiogfCAqbWluZ3cqIHwgKnB3MzIqIHwgKmNlZ2NjKikKICAg
ICAgIyBkb24ndCBlbGltaW5hdGUgZHVwbGljYXRpb25zIGluICRwb3N0ZGVw
cyBhbmQgJHByZWRlcHMKICAgICAgb3B0X2R1cGxpY2F0ZV9jb21waWxlcl9n
ZW5lcmF0ZWRfZGVwcz06CiAgICAgIDs7CiAgICAqKQogICAgICBvcHRfZHVw
bGljYXRlX2NvbXBpbGVyX2dlbmVyYXRlZF9kZXBzPSRvcHRfcHJlc2VydmVf
ZHVwX2RlcHMKICAgICAgOzsKICBlc2FjCgogICRvcHRfaGVscCB8fCB7CiAg
ICAjIFNhbml0eSBjaGVja3MgZmlyc3Q6CiAgICBmdW5jX2NoZWNrX3ZlcnNp
b25fbWF0Y2gKCiAgICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiAh
PSB5ZXMgJiYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiAhPSB5ZXM7IHRoZW4K
ICAgICAgZnVuY19mYXRhbF9jb25maWd1cmF0aW9uICJub3QgY29uZmlndXJl
ZCB0byBidWlsZCBhbnkga2luZCBvZiBsaWJyYXJ5IgogICAgZmkKCiAgICAj
IERhcndpbiBzdWNrcwogICAgZXZhbCBzdGRfc2hyZXh0PVwiJHNocmV4dF9j
bWRzXCIKCiAgICAjIE9ubHkgZXhlY3V0ZSBtb2RlIGlzIGFsbG93ZWQgdG8g
aGF2ZSAtZGxvcGVuIGZsYWdzLgogICAgaWYgdGVzdCAtbiAiJG9wdF9kbG9w
ZW4iICYmIHRlc3QgIiRvcHRfbW9kZSIgIT0gZXhlY3V0ZTsgdGhlbgogICAg
ICBmdW5jX2Vycm9yICJ1bnJlY29nbml6ZWQgb3B0aW9uIFxgLWRsb3Blbici
CiAgICAgICRFQ0hPICIkaGVscCIgMT4mMgogICAgICBleGl0ICRFWElUX0ZB
SUxVUkUKICAgIGZpCgogICAgIyBDaGFuZ2UgdGhlIGhlbHAgbWVzc2FnZSB0
byBhIG1vZGUtc3BlY2lmaWMgb25lLgogICAgZ2VuZXJpY19oZWxwPSIkaGVs
cCIKICAgIGhlbHA9IlRyeSBcYCRwcm9nbmFtZSAtLWhlbHAgLS1tb2RlPSRv
cHRfbW9kZScgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgogIH0KCgogICMgQmFp
bCBpZiB0aGUgb3B0aW9ucyB3ZXJlIHNjcmV3ZWQKICAkZXhpdF9jbWQgJEVY
SVRfRkFJTFVSRQp9CgoKCgojIyAtLS0tLS0tLS0tLSAjIwojIyAgICBNYWlu
LiAgICAjIwojIyAtLS0tLS0tLS0tLSAjIwoKIyBmdW5jX2xhbGliX3AgZmls
ZQojIFRydWUgaWZmIEZJTEUgaXMgYSBsaWJ0b29sIGAubGEnIGxpYnJhcnkg
b3IgYC5sbycgb2JqZWN0IGZpbGUuCiMgVGhpcyBmdW5jdGlvbiBpcyBvbmx5
IGEgYmFzaWMgc2FuaXR5IGNoZWNrOyBpdCB3aWxsIGhhcmRseSBmbHVzaCBv
dXQKIyBkZXRlcm1pbmVkIGltcG9zdGVycy4KZnVuY19sYWxpYl9wICgpCnsK
ICAgIHRlc3QgLWYgIiQxIiAmJgogICAgICAkU0VEIC1lIDRxICIkMSIgMj4v
ZGV2L251bGwgXAogICAgICAgIHwgJEdSRVAgIl4jIEdlbmVyYXRlZCBieSAu
KiRQQUNLQUdFIiA+IC9kZXYvbnVsbCAyPiYxCn0KCiMgZnVuY19sYWxpYl91
bnNhZmVfcCBmaWxlCiMgVHJ1ZSBpZmYgRklMRSBpcyBhIGxpYnRvb2wgYC5s
YScgbGlicmFyeSBvciBgLmxvJyBvYmplY3QgZmlsZS4KIyBUaGlzIGZ1bmN0
aW9uIGltcGxlbWVudHMgdGhlIHNhbWUgY2hlY2sgYXMgZnVuY19sYWxpYl9w
IHdpdGhvdXQKIyByZXNvcnRpbmcgdG8gZXh0ZXJuYWwgcHJvZ3JhbXMuICBU
byB0aGlzIGVuZCwgaXQgcmVkaXJlY3RzIHN0ZGluIGFuZAojIGNsb3NlcyBp
dCBhZnRlcndhcmRzLCB3aXRob3V0IHNhdmluZyB0aGUgb3JpZ2luYWwgZmls
ZSBkZXNjcmlwdG9yLgojIEFzIGEgc2FmZXR5IG1lYXN1cmUsIHVzZSBpdCBv
bmx5IHdoZXJlIGEgbmVnYXRpdmUgcmVzdWx0IHdvdWxkIGJlCiMgZmF0YWwg
YW55d2F5LiAgV29ya3MgaWYgYGZpbGUnIGRvZXMgbm90IGV4aXN0LgpmdW5j
X2xhbGliX3Vuc2FmZV9wICgpCnsKICAgIGxhbGliX3A9bm8KICAgIGlmIHRl
c3QgLWYgIiQxIiAmJiB0ZXN0IC1yICIkMSIgJiYgZXhlYyA1PCYwIDwiJDEi
OyB0aGVuCglmb3IgbGFsaWJfcF9sIGluIDEgMiAzIDQKCWRvCgkgICAgcmVh
ZCBsYWxpYl9wX2xpbmUKCSAgICBjYXNlICIkbGFsaWJfcF9saW5lIiBpbgoJ
CVwjXCBHZW5lcmF0ZWRcIGJ5XCAqJFBBQ0tBR0UqICkgbGFsaWJfcD15ZXM7
IGJyZWFrOzsKCSAgICBlc2FjCglkb25lCglleGVjIDA8JjUgNTwmLQogICAg
ZmkKICAgIHRlc3QgIiRsYWxpYl9wIiA9IHllcwp9CgojIGZ1bmNfbHR3cmFw
cGVyX3NjcmlwdF9wIGZpbGUKIyBUcnVlIGlmZiBGSUxFIGlzIGEgbGlidG9v
bCB3cmFwcGVyIHNjcmlwdAojIFRoaXMgZnVuY3Rpb24gaXMgb25seSBhIGJh
c2ljIHNhbml0eSBjaGVjazsgaXQgd2lsbCBoYXJkbHkgZmx1c2ggb3V0CiMg
ZGV0ZXJtaW5lZCBpbXBvc3RlcnMuCmZ1bmNfbHR3cmFwcGVyX3NjcmlwdF9w
ICgpCnsKICAgIGZ1bmNfbGFsaWJfcCAiJDEiCn0KCiMgZnVuY19sdHdyYXBw
ZXJfZXhlY3V0YWJsZV9wIGZpbGUKIyBUcnVlIGlmZiBGSUxFIGlzIGEgbGli
dG9vbCB3cmFwcGVyIGV4ZWN1dGFibGUKIyBUaGlzIGZ1bmN0aW9uIGlzIG9u
bHkgYSBiYXNpYyBzYW5pdHkgY2hlY2s7IGl0IHdpbGwgaGFyZGx5IGZsdXNo
IG91dAojIGRldGVybWluZWQgaW1wb3N0ZXJzLgpmdW5jX2x0d3JhcHBlcl9l
eGVjdXRhYmxlX3AgKCkKewogICAgZnVuY19sdHdyYXBwZXJfZXhlY19zdWZm
aXg9CiAgICBjYXNlICQxIGluCiAgICAqLmV4ZSkgOzsKICAgICopIGZ1bmNf
bHR3cmFwcGVyX2V4ZWNfc3VmZml4PS5leGUgOzsKICAgIGVzYWMKICAgICRH
UkVQICIkbWFnaWNfZXhlIiAiJDEkZnVuY19sdHdyYXBwZXJfZXhlY19zdWZm
aXgiID4vZGV2L251bGwgMj4mMQp9CgojIGZ1bmNfbHR3cmFwcGVyX3Njcmlw
dG5hbWUgZmlsZQojIEFzc3VtZXMgZmlsZSBpcyBhbiBsdHdyYXBwZXJfZXhl
Y3V0YWJsZQojIHVzZXMgJGZpbGUgdG8gZGV0ZXJtaW5lIHRoZSBhcHByb3By
aWF0ZSBmaWxlbmFtZSBmb3IgYQojIHRlbXBvcmFyeSBsdHdyYXBwZXJfc2Ny
aXB0LgpmdW5jX2x0d3JhcHBlcl9zY3JpcHRuYW1lICgpCnsKICAgIGZ1bmNf
ZGlybmFtZV9hbmRfYmFzZW5hbWUgIiQxIiAiIiAiLiIKICAgIGZ1bmNfc3Ry
aXBuYW1lICcnICcuZXhlJyAiJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgogICAg
ZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZV9yZXN1bHQ9IiRmdW5jX2Rpcm5h
bWVfcmVzdWx0LyRvYmpkaXIvJHtmdW5jX3N0cmlwbmFtZV9yZXN1bHR9X2x0
c2h3cmFwcGVyIgp9CgojIGZ1bmNfbHR3cmFwcGVyX3AgZmlsZQojIFRydWUg
aWZmIEZJTEUgaXMgYSBsaWJ0b29sIHdyYXBwZXIgc2NyaXB0IG9yIHdyYXBw
ZXIgZXhlY3V0YWJsZQojIFRoaXMgZnVuY3Rpb24gaXMgb25seSBhIGJhc2lj
IHNhbml0eSBjaGVjazsgaXQgd2lsbCBoYXJkbHkgZmx1c2ggb3V0CiMgZGV0
ZXJtaW5lZCBpbXBvc3RlcnMuCmZ1bmNfbHR3cmFwcGVyX3AgKCkKewogICAg
ZnVuY19sdHdyYXBwZXJfc2NyaXB0X3AgIiQxIiB8fCBmdW5jX2x0d3JhcHBl
cl9leGVjdXRhYmxlX3AgIiQxIgp9CgoKIyBmdW5jX2V4ZWN1dGVfY21kcyBj
b21tYW5kcyBmYWlsX2NtZAojIEV4ZWN1dGUgdGlsZGUtZGVsaW1pdGVkIENP
TU1BTkRTLgojIElmIEZBSUxfQ01EIGlzIGdpdmVuLCBldmFsIHRoYXQgdXBv
biBmYWlsdXJlLgojIEZBSUxfQ01EIG1heSByZWFkLWFjY2VzcyB0aGUgY3Vy
cmVudCBjb21tYW5kIGluIHZhcmlhYmxlIENNRCEKZnVuY19leGVjdXRlX2Nt
ZHMgKCkKewogICAgJG9wdF9kZWJ1ZwogICAgc2F2ZV9pZnM9JElGUzsgSUZT
PSd+JwogICAgZm9yIGNtZCBpbiAkMTsgZG8KICAgICAgSUZTPSRzYXZlX2lm
cwogICAgICBldmFsIGNtZD1cIiRjbWRcIgogICAgICBmdW5jX3Nob3dfZXZh
bCAiJGNtZCIgIiR7Mi06fSIKICAgIGRvbmUKICAgIElGUz0kc2F2ZV9pZnMK
fQoKCiMgZnVuY19zb3VyY2UgZmlsZQojIFNvdXJjZSBGSUxFLCBhZGRpbmcg
ZGlyZWN0b3J5IGNvbXBvbmVudCBpZiBuZWNlc3NhcnkuCiMgTm90ZSB0aGF0
IGl0IGlzIG5vdCBuZWNlc3Nhcnkgb24gY3lnd2luL21pbmd3IHRvIGFwcGVu
ZCBhIGRvdCB0bwojIEZJTEUgZXZlbiBpZiBib3RoIEZJTEUgYW5kIEZJTEUu
ZXhlIGV4aXN0OiBhdXRvbWF0aWMtYXBwZW5kLS5leGUKIyBiZWhhdmlvciBo
YXBwZW5zIG9ubHkgZm9yIGV4ZWMoMyksIG5vdCBmb3Igb3BlbigyKSEgIEFs
c28sIHNvdXJjaW5nCiMgYEZJTEUuJyBkb2VzIG5vdCB3b3JrIG9uIGN5Z3dp
biBtYW5hZ2VkIG1vdW50cy4KZnVuY19zb3VyY2UgKCkKewogICAgJG9wdF9k
ZWJ1ZwogICAgY2FzZSAkMSBpbgogICAgKi8qIHwgKlxcKikJLiAiJDEiIDs7
CiAgICAqKQkJLiAiLi8kMSIgOzsKICAgIGVzYWMKfQoKCiMgZnVuY19yZXNv
bHZlX3N5c3Jvb3QgUEFUSAojIFJlcGxhY2UgYSBsZWFkaW5nID0gaW4gUEFU
SCB3aXRoIGEgc3lzcm9vdC4gIFN0b3JlIHRoZSByZXN1bHQgaW50bwojIGZ1
bmNfcmVzb2x2ZV9zeXNyb290X3Jlc3VsdApmdW5jX3Jlc29sdmVfc3lzcm9v
dCAoKQp7CiAgZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVzdWx0PSQxCiAgY2Fz
ZSAkZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVzdWx0IGluCiAgPSopCiAgICBm
dW5jX3N0cmlwbmFtZSAnPScgJycgIiRmdW5jX3Jlc29sdmVfc3lzcm9vdF9y
ZXN1bHQiCiAgICBmdW5jX3Jlc29sdmVfc3lzcm9vdF9yZXN1bHQ9JGx0X3N5
c3Jvb3QkZnVuY19zdHJpcG5hbWVfcmVzdWx0CiAgICA7OwogIGVzYWMKfQoK
IyBmdW5jX3JlcGxhY2Vfc3lzcm9vdCBQQVRICiMgSWYgUEFUSCBiZWdpbnMg
d2l0aCB0aGUgc3lzcm9vdCwgcmVwbGFjZSBpdCB3aXRoID0gYW5kCiMgc3Rv
cmUgdGhlIHJlc3VsdCBpbnRvIGZ1bmNfcmVwbGFjZV9zeXNyb290X3Jlc3Vs
dC4KZnVuY19yZXBsYWNlX3N5c3Jvb3QgKCkKewogIGNhc2UgIiRsdF9zeXNy
b290OiQxIiBpbgogID8qOiIkbHRfc3lzcm9vdCIqKQogICAgZnVuY19zdHJp
cG5hbWUgIiRsdF9zeXNyb290IiAnJyAiJDEiCiAgICBmdW5jX3JlcGxhY2Vf
c3lzcm9vdF9yZXN1bHQ9Ij0kZnVuY19zdHJpcG5hbWVfcmVzdWx0IgogICAg
OzsKICAqKQogICAgIyBJbmNsdWRpbmcgbm8gc3lzcm9vdC4KICAgIGZ1bmNf
cmVwbGFjZV9zeXNyb290X3Jlc3VsdD0kMQogICAgOzsKICBlc2FjCn0KCiMg
ZnVuY19pbmZlcl90YWcgYXJnCiMgSW5mZXIgdGFnZ2VkIGNvbmZpZ3VyYXRp
b24gdG8gdXNlIGlmIGFueSBhcmUgYXZhaWxhYmxlIGFuZAojIGlmIG9uZSB3
YXNuJ3QgY2hvc2VuIHZpYSB0aGUgIi0tdGFnIiBjb21tYW5kIGxpbmUgb3B0
aW9uLgojIE9ubHkgYXR0ZW1wdCB0aGlzIGlmIHRoZSBjb21waWxlciBpbiB0
aGUgYmFzZSBjb21waWxlCiMgY29tbWFuZCBkb2Vzbid0IG1hdGNoIHRoZSBk
ZWZhdWx0IGNvbXBpbGVyLgojIGFyZyBpcyB1c3VhbGx5IG9mIHRoZSBmb3Jt
ICdnY2MgLi4uJwpmdW5jX2luZmVyX3RhZyAoKQp7CiAgICAkb3B0X2RlYnVn
CiAgICBpZiB0ZXN0IC1uICIkYXZhaWxhYmxlX3RhZ3MiICYmIHRlc3QgLXog
IiR0YWduYW1lIjsgdGhlbgogICAgICBDQ19xdW90ZWQ9CiAgICAgIGZvciBh
cmcgaW4gJENDOyBkbwoJZnVuY19hcHBlbmRfcXVvdGVkIENDX3F1b3RlZCAi
JGFyZyIKICAgICAgZG9uZQogICAgICBDQ19leHBhbmRlZD1gZnVuY19lY2hv
X2FsbCAkQ0NgCiAgICAgIENDX3F1b3RlZF9leHBhbmRlZD1gZnVuY19lY2hv
X2FsbCAkQ0NfcXVvdGVkYAogICAgICBjYXNlICRAIGluCiAgICAgICMgQmxh
bmtzIGluIHRoZSBjb21tYW5kIG1heSBoYXZlIGJlZW4gc3RyaXBwZWQgYnkg
dGhlIGNhbGxpbmcgc2hlbGwsCiAgICAgICMgYnV0IG5vdCBmcm9tIHRoZSBD
QyBlbnZpcm9ubWVudCB2YXJpYWJsZSB3aGVuIGNvbmZpZ3VyZSB3YXMgcnVu
LgogICAgICAiICRDQyAiKiB8ICIkQ0MgIiogfCAiICRDQ19leHBhbmRlZCAi
KiB8ICIkQ0NfZXhwYW5kZWQgIiogfCBcCiAgICAgICIgJENDX3F1b3RlZCIq
IHwgIiRDQ19xdW90ZWQgIiogfCAiICRDQ19xdW90ZWRfZXhwYW5kZWQgIiog
fCAiJENDX3F1b3RlZF9leHBhbmRlZCAiKikgOzsKICAgICAgIyBCbGFua3Mg
YXQgdGhlIHN0YXJ0IG9mICRiYXNlX2NvbXBpbGUgd2lsbCBjYXVzZSB0aGlz
IHRvIGZhaWwKICAgICAgIyBpZiB3ZSBkb24ndCBjaGVjayBmb3IgdGhlbSBh
cyB3ZWxsLgogICAgICAqKQoJZm9yIHogaW4gJGF2YWlsYWJsZV90YWdzOyBk
bwoJICBpZiAkR1JFUCAiXiMgIyMjIEJFR0lOIExJQlRPT0wgVEFHIENPTkZJ
RzogJHokIiA8ICIkcHJvZ3BhdGgiID4gL2Rldi9udWxsOyB0aGVuCgkgICAg
IyBFdmFsdWF0ZSB0aGUgY29uZmlndXJhdGlvbi4KCSAgICBldmFsICJgJHtT
RUR9IC1uIC1lICcvXiMgIyMjIEJFR0lOIExJQlRPT0wgVEFHIENPTkZJRzog
JyR6JyQvLC9eIyAjIyMgRU5EIExJQlRPT0wgVEFHIENPTkZJRzogJyR6JyQv
cCcgPCAkcHJvZ3BhdGhgIgoJICAgIENDX3F1b3RlZD0KCSAgICBmb3IgYXJn
IGluICRDQzsgZG8KCSAgICAgICMgRG91YmxlLXF1b3RlIGFyZ3MgY29udGFp
bmluZyBvdGhlciBzaGVsbCBtZXRhY2hhcmFjdGVycy4KCSAgICAgIGZ1bmNf
YXBwZW5kX3F1b3RlZCBDQ19xdW90ZWQgIiRhcmciCgkgICAgZG9uZQoJICAg
IENDX2V4cGFuZGVkPWBmdW5jX2VjaG9fYWxsICRDQ2AKCSAgICBDQ19xdW90
ZWRfZXhwYW5kZWQ9YGZ1bmNfZWNob19hbGwgJENDX3F1b3RlZGAKCSAgICBj
YXNlICIkQCAiIGluCgkgICAgIiAkQ0MgIiogfCAiJENDICIqIHwgIiAkQ0Nf
ZXhwYW5kZWQgIiogfCAiJENDX2V4cGFuZGVkICIqIHwgXAoJICAgICIgJEND
X3F1b3RlZCIqIHwgIiRDQ19xdW90ZWQgIiogfCAiICRDQ19xdW90ZWRfZXhw
YW5kZWQgIiogfCAiJENDX3F1b3RlZF9leHBhbmRlZCAiKikKCSAgICAgICMg
VGhlIGNvbXBpbGVyIGluIHRoZSBiYXNlIGNvbXBpbGUgY29tbWFuZCBtYXRj
aGVzCgkgICAgICAjIHRoZSBvbmUgaW4gdGhlIHRhZ2dlZCBjb25maWd1cmF0
aW9uLgoJICAgICAgIyBBc3N1bWUgdGhpcyBpcyB0aGUgdGFnZ2VkIGNvbmZp
Z3VyYXRpb24gd2Ugd2FudC4KCSAgICAgIHRhZ25hbWU9JHoKCSAgICAgIGJy
ZWFrCgkgICAgICA7OwoJICAgIGVzYWMKCSAgZmkKCWRvbmUKCSMgSWYgJHRh
Z25hbWUgc3RpbGwgaXNuJ3Qgc2V0LCB0aGVuIG5vIHRhZ2dlZCBjb25maWd1
cmF0aW9uCgkjIHdhcyBmb3VuZCBhbmQgbGV0IHRoZSB1c2VyIGtub3cgdGhh
dCB0aGUgIi0tdGFnIiBjb21tYW5kCgkjIGxpbmUgb3B0aW9uIG11c3QgYmUg
dXNlZC4KCWlmIHRlc3QgLXogIiR0YWduYW1lIjsgdGhlbgoJICBmdW5jX2Vj
aG8gInVuYWJsZSB0byBpbmZlciB0YWdnZWQgY29uZmlndXJhdGlvbiIKCSAg
ZnVuY19mYXRhbF9lcnJvciAic3BlY2lmeSBhIHRhZyB3aXRoIFxgLS10YWcn
IgojCWVsc2UKIwkgIGZ1bmNfdmVyYm9zZSAidXNpbmcgJHRhZ25hbWUgdGFn
Z2VkIGNvbmZpZ3VyYXRpb24iCglmaQoJOzsKICAgICAgZXNhYwogICAgZmkK
fQoKCgojIGZ1bmNfd3JpdGVfbGlidG9vbF9vYmplY3Qgb3V0cHV0X25hbWUg
cGljX25hbWUgbm9ucGljX25hbWUKIyBDcmVhdGUgYSBsaWJ0b29sIG9iamVj
dCBmaWxlIChhbmFsb2dvdXMgdG8gYSAiLmxhIiBmaWxlKSwKIyBidXQgZG9u
J3QgY3JlYXRlIGl0IGlmIHdlJ3JlIGRvaW5nIGEgZHJ5IHJ1bi4KZnVuY193
cml0ZV9saWJ0b29sX29iamVjdCAoKQp7CiAgICB3cml0ZV9saWJvYmo9JHsx
fQogICAgaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXM7IHRo
ZW4KICAgICAgd3JpdGVfbG9iaj1cJyR7Mn1cJwogICAgZWxzZQogICAgICB3
cml0ZV9sb2JqPW5vbmUKICAgIGZpCgogICAgaWYgdGVzdCAiJGJ1aWxkX29s
ZF9saWJzIiA9IHllczsgdGhlbgogICAgICB3cml0ZV9vbGRvYmo9XCckezN9
XCcKICAgIGVsc2UKICAgICAgd3JpdGVfb2xkb2JqPW5vbmUKICAgIGZpCgog
ICAgJG9wdF9kcnlfcnVuIHx8IHsKICAgICAgY2F0ID4ke3dyaXRlX2xpYm9i
an1UIDw8RU9GCiMgJHdyaXRlX2xpYm9iaiAtIGEgbGlidG9vbCBvYmplY3Qg
ZmlsZQojIEdlbmVyYXRlZCBieSAkUFJPR1JBTSAoR05VICRQQUNLQUdFJFRJ
TUVTVEFNUCkgJFZFUlNJT04KIwojIFBsZWFzZSBETyBOT1QgZGVsZXRlIHRo
aXMgZmlsZSEKIyBJdCBpcyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgdGhlIGxp
YnJhcnkuCgojIE5hbWUgb2YgdGhlIFBJQyBvYmplY3QuCnBpY19vYmplY3Q9
JHdyaXRlX2xvYmoKCiMgTmFtZSBvZiB0aGUgbm9uLVBJQyBvYmplY3QKbm9u
X3BpY19vYmplY3Q9JHdyaXRlX29sZG9iagoKRU9GCiAgICAgICRNViAiJHt3
cml0ZV9saWJvYmp9VCIgIiR7d3JpdGVfbGlib2JqfSIKICAgIH0KfQoKCiMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjCiMgRklMRSBOQU1FIEFORCBQQVRIIENPTlZFUlNJT04gSEVMUEVSIEZV
TkNUSU9OUyAjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjCgojIGZ1bmNfY29udmVydF9jb3JlX2ZpbGVfd2lu
ZV90b193MzIgQVJHCiMgSGVscGVyIGZ1bmN0aW9uIHVzZWQgYnkgZmlsZSBu
YW1lIGNvbnZlcnNpb24gZnVuY3Rpb25zIHdoZW4gJGJ1aWxkIGlzICpuaXgs
CiMgYW5kICRob3N0IGlzIG1pbmd3LCBjeWd3aW4sIG9yIHNvbWUgb3RoZXIg
dzMyIGVudmlyb25tZW50LiBSZWxpZXMgb24gYQojIGNvcnJlY3RseSBjb25m
aWd1cmVkIHdpbmUgZW52aXJvbm1lbnQgYXZhaWxhYmxlLCB3aXRoIHRoZSB3
aW5lcGF0aCBwcm9ncmFtCiMgaW4gJGJ1aWxkJ3MgJFBBVEguCiMKIyBBUkcg
aXMgdGhlICRidWlsZCBmaWxlIG5hbWUgdG8gYmUgY29udmVydGVkIHRvIHcz
MiBmb3JtYXQuCiMgUmVzdWx0IGlzIGF2YWlsYWJsZSBpbiAkZnVuY19jb252
ZXJ0X2NvcmVfZmlsZV93aW5lX3RvX3czMl9yZXN1bHQsIGFuZCB3aWxsCiMg
YmUgZW1wdHkgb24gZXJyb3IgKG9yIHdoZW4gQVJHIGlzIGVtcHR5KQpmdW5j
X2NvbnZlcnRfY29yZV9maWxlX3dpbmVfdG9fdzMyICgpCnsKICAkb3B0X2Rl
YnVnCiAgZnVuY19jb252ZXJ0X2NvcmVfZmlsZV93aW5lX3RvX3czMl9yZXN1
bHQ9IiQxIgogIGlmIHRlc3QgLW4gIiQxIjsgdGhlbgogICAgIyBVbmZvcnR1
bmF0ZWx5LCB3aW5lcGF0aCBkb2VzIG5vdCBleGl0IHdpdGggYSBub24temVy
byBlcnJvciBjb2RlLCBzbyB3ZQogICAgIyBhcmUgZm9yY2VkIHRvIGNoZWNr
IHRoZSBjb250ZW50cyBvZiBzdGRvdXQuIE9uIHRoZSBvdGhlciBoYW5kLCBp
ZiB0aGUKICAgICMgY29tbWFuZCBpcyBub3QgZm91bmQsIHRoZSBzaGVsbCB3
aWxsIHNldCBhbiBleGl0IGNvZGUgb2YgMTI3IGFuZCBwcmludAogICAgIyAq
YW4gZXJyb3IgbWVzc2FnZSogdG8gc3Rkb3V0LiBTbyB3ZSBtdXN0IGNoZWNr
IGZvciBib3RoIGVycm9yIGNvZGUgb2YKICAgICMgemVybyBBTkQgbm9uLWVt
cHR5IHN0ZG91dCwgd2hpY2ggZXhwbGFpbnMgdGhlIG9kZCBjb25zdHJ1Y3Rp
b246CiAgICBmdW5jX2NvbnZlcnRfY29yZV9maWxlX3dpbmVfdG9fdzMyX3Rt
cD1gd2luZXBhdGggLXcgIiQxIiAyPi9kZXYvbnVsbGAKICAgIGlmIHRlc3Qg
IiQ/IiAtZXEgMCAmJiB0ZXN0IC1uICIke2Z1bmNfY29udmVydF9jb3JlX2Zp
bGVfd2luZV90b193MzJfdG1wfSI7IHRoZW4KICAgICAgZnVuY19jb252ZXJ0
X2NvcmVfZmlsZV93aW5lX3RvX3czMl9yZXN1bHQ9YCRFQ0hPICIkZnVuY19j
b252ZXJ0X2NvcmVfZmlsZV93aW5lX3RvX3czMl90bXAiIHwKICAgICAgICAk
U0VEIC1lICIkbHRfc2VkX25haXZlX2JhY2tzbGFzaGlmeSJgCiAgICBlbHNl
CiAgICAgIGZ1bmNfY29udmVydF9jb3JlX2ZpbGVfd2luZV90b193MzJfcmVz
dWx0PQogICAgZmkKICBmaQp9CiMgZW5kOiBmdW5jX2NvbnZlcnRfY29yZV9m
aWxlX3dpbmVfdG9fdzMyCgoKIyBmdW5jX2NvbnZlcnRfY29yZV9wYXRoX3dp
bmVfdG9fdzMyIEFSRwojIEhlbHBlciBmdW5jdGlvbiB1c2VkIGJ5IHBhdGgg
Y29udmVyc2lvbiBmdW5jdGlvbnMgd2hlbiAkYnVpbGQgaXMgKm5peCwgYW5k
CiMgJGhvc3QgaXMgbWluZ3csIGN5Z3dpbiwgb3Igc29tZSBvdGhlciB3MzIg
ZW52aXJvbm1lbnQuIFJlbGllcyBvbiBhIGNvcnJlY3RseQojIGNvbmZpZ3Vy
ZWQgd2luZSBlbnZpcm9ubWVudCBhdmFpbGFibGUsIHdpdGggdGhlIHdpbmVw
YXRoIHByb2dyYW0gaW4gJGJ1aWxkJ3MKIyAkUEFUSC4gQXNzdW1lcyBBUkcg
aGFzIG5vIGxlYWRpbmcgb3IgdHJhaWxpbmcgcGF0aCBzZXBhcmF0b3IgY2hh
cmFjdGVycy4KIwojIEFSRyBpcyBwYXRoIHRvIGJlIGNvbnZlcnRlZCBmcm9t
ICRidWlsZCBmb3JtYXQgdG8gd2luMzIuCiMgUmVzdWx0IGlzIGF2YWlsYWJs
ZSBpbiAkZnVuY19jb252ZXJ0X2NvcmVfcGF0aF93aW5lX3RvX3czMl9yZXN1
bHQuCiMgVW5jb252ZXJ0aWJsZSBmaWxlIChkaXJlY3RvcnkpIG5hbWVzIGlu
IEFSRyBhcmUgc2tpcHBlZDsgaWYgbm8gZGlyZWN0b3J5IG5hbWVzCiMgYXJl
IGNvbnZlcnRpYmxlLCB0aGVuIHRoZSByZXN1bHQgbWF5IGJlIGVtcHR5Lgpm
dW5jX2NvbnZlcnRfY29yZV9wYXRoX3dpbmVfdG9fdzMyICgpCnsKICAkb3B0
X2RlYnVnCiAgIyB1bmZvcnR1bmF0ZWx5LCB3aW5lcGF0aCBkb2Vzbid0IGNv
bnZlcnQgcGF0aHMsIG9ubHkgZmlsZSBuYW1lcwogIGZ1bmNfY29udmVydF9j
b3JlX3BhdGhfd2luZV90b193MzJfcmVzdWx0PSIiCiAgaWYgdGVzdCAtbiAi
JDEiOyB0aGVuCiAgICBvbGRJRlM9JElGUwogICAgSUZTPToKICAgIGZvciBm
dW5jX2NvbnZlcnRfY29yZV9wYXRoX3dpbmVfdG9fdzMyX2YgaW4gJDE7IGRv
CiAgICAgIElGUz0kb2xkSUZTCiAgICAgIGZ1bmNfY29udmVydF9jb3JlX2Zp
bGVfd2luZV90b193MzIgIiRmdW5jX2NvbnZlcnRfY29yZV9wYXRoX3dpbmVf
dG9fdzMyX2YiCiAgICAgIGlmIHRlc3QgLW4gIiRmdW5jX2NvbnZlcnRfY29y
ZV9maWxlX3dpbmVfdG9fdzMyX3Jlc3VsdCIgOyB0aGVuCiAgICAgICAgaWYg
dGVzdCAteiAiJGZ1bmNfY29udmVydF9jb3JlX3BhdGhfd2luZV90b193MzJf
cmVzdWx0IjsgdGhlbgogICAgICAgICAgZnVuY19jb252ZXJ0X2NvcmVfcGF0
aF93aW5lX3RvX3czMl9yZXN1bHQ9IiRmdW5jX2NvbnZlcnRfY29yZV9maWxl
X3dpbmVfdG9fdzMyX3Jlc3VsdCIKICAgICAgICBlbHNlCiAgICAgICAgICBm
dW5jX2FwcGVuZCBmdW5jX2NvbnZlcnRfY29yZV9wYXRoX3dpbmVfdG9fdzMy
X3Jlc3VsdCAiOyRmdW5jX2NvbnZlcnRfY29yZV9maWxlX3dpbmVfdG9fdzMy
X3Jlc3VsdCIKICAgICAgICBmaQogICAgICBmaQogICAgZG9uZQogICAgSUZT
PSRvbGRJRlMKICBmaQp9CiMgZW5kOiBmdW5jX2NvbnZlcnRfY29yZV9wYXRo
X3dpbmVfdG9fdzMyCgoKIyBmdW5jX2N5Z3BhdGggQVJHUy4uLgojIFdyYXBw
ZXIgYXJvdW5kIGNhbGxpbmcgdGhlIGN5Z3BhdGggcHJvZ3JhbSB2aWEgTFRf
Q1lHUEFUSC4gVGhpcyBpcyB1c2VkIHdoZW4KIyB3aGVuICgxKSAkYnVpbGQg
aXMgKm5peCBhbmQgQ3lnd2luIGlzIGhvc3RlZCB2aWEgYSB3aW5lIGVudmly
b25tZW50OyBvciAoMikKIyAkYnVpbGQgaXMgTVNZUyBhbmQgJGhvc3QgaXMg
Q3lnd2luLCBvciAoMykgJGJ1aWxkIGlzIEN5Z3dpbi4gSW4gY2FzZSAoMSkg
b3IKIyAoMiksIHJldHVybnMgdGhlIEN5Z3dpbiBmaWxlIG5hbWUgb3IgcGF0
aCBpbiBmdW5jX2N5Z3BhdGhfcmVzdWx0IChpbnB1dAojIGZpbGUgbmFtZSBv
ciBwYXRoIGlzIGFzc3VtZWQgdG8gYmUgaW4gdzMyIGZvcm1hdCwgYXMgcHJl
dmlvdXNseSBjb252ZXJ0ZWQKIyBmcm9tICRidWlsZCdzICpuaXggb3IgTVNZ
UyBmb3JtYXQpLiBJbiBjYXNlICgzKSwgcmV0dXJucyB0aGUgdzMyIGZpbGUg
bmFtZQojIG9yIHBhdGggaW4gZnVuY19jeWdwYXRoX3Jlc3VsdCAoaW5wdXQg
ZmlsZSBuYW1lIG9yIHBhdGggaXMgYXNzdW1lZCB0byBiZSBpbgojIEN5Z3dp
biBmb3JtYXQpLiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBvbiBlcnJvci4K
IwojIEFSR1MgYXJlIHBhc3NlZCB0byBjeWdwYXRoLCB3aXRoIHRoZSBsYXN0
IG9uZSBiZWluZyB0aGUgZmlsZSBuYW1lIG9yIHBhdGggdG8KIyBiZSBjb252
ZXJ0ZWQuCiMKIyBTcGVjaWZ5IHRoZSBhYnNvbHV0ZSAqbml4IChvciB3MzIp
IG5hbWUgdG8gY3lncGF0aCBpbiB0aGUgTFRfQ1lHUEFUSAojIGVudmlyb25t
ZW50IHZhcmlhYmxlOyBkbyBub3QgcHV0IGl0IGluICRQQVRILgpmdW5jX2N5
Z3BhdGggKCkKewogICRvcHRfZGVidWcKICBpZiB0ZXN0IC1uICIkTFRfQ1lH
UEFUSCIgJiYgdGVzdCAtZiAiJExUX0NZR1BBVEgiOyB0aGVuCiAgICBmdW5j
X2N5Z3BhdGhfcmVzdWx0PWAkTFRfQ1lHUEFUSCAiJEAiIDI+L2Rldi9udWxs
YAogICAgaWYgdGVzdCAiJD8iIC1uZSAwOyB0aGVuCiAgICAgICMgb24gZmFp
bHVyZSwgZW5zdXJlIHJlc3VsdCBpcyBlbXB0eQogICAgICBmdW5jX2N5Z3Bh
dGhfcmVzdWx0PQogICAgZmkKICBlbHNlCiAgICBmdW5jX2N5Z3BhdGhfcmVz
dWx0PQogICAgZnVuY19lcnJvciAiTFRfQ1lHUEFUSCBpcyBlbXB0eSBvciBz
cGVjaWZpZXMgbm9uLWV4aXN0ZW50IGZpbGU6IFxgJExUX0NZR1BBVEgnIgog
IGZpCn0KI2VuZDogZnVuY19jeWdwYXRoCgoKIyBmdW5jX2NvbnZlcnRfY29y
ZV9tc3lzX3RvX3czMiBBUkcKIyBDb252ZXJ0IGZpbGUgbmFtZSBvciBwYXRo
IEFSRyBmcm9tIE1TWVMgZm9ybWF0IHRvIHczMiBmb3JtYXQuICBSZXR1cm4K
IyByZXN1bHQgaW4gZnVuY19jb252ZXJ0X2NvcmVfbXN5c190b193MzJfcmVz
dWx0LgpmdW5jX2NvbnZlcnRfY29yZV9tc3lzX3RvX3czMiAoKQp7CiAgJG9w
dF9kZWJ1ZwogICMgYXdrd2FyZDogY21kIGFwcGVuZHMgc3BhY2VzIHRvIHJl
c3VsdAogIGZ1bmNfY29udmVydF9jb3JlX21zeXNfdG9fdzMyX3Jlc3VsdD1g
KCBjbWQgLy9jIGVjaG8gIiQxIiApIDI+L2Rldi9udWxsIHwKICAgICRTRUQg
LWUgJ3MvWyBdKiQvLycgLWUgIiRsdF9zZWRfbmFpdmVfYmFja3NsYXNoaWZ5
ImAKfQojZW5kOiBmdW5jX2NvbnZlcnRfY29yZV9tc3lzX3RvX3czMgoKCiMg
ZnVuY19jb252ZXJ0X2ZpbGVfY2hlY2sgQVJHMSBBUkcyCiMgVmVyaWZ5IHRo
YXQgQVJHMSAoYSBmaWxlIG5hbWUgaW4gJGJ1aWxkIGZvcm1hdCkgd2FzIGNv
bnZlcnRlZCB0byAkaG9zdAojIGZvcm1hdCBpbiBBUkcyLiBPdGhlcndpc2Us
IGVtaXQgYW4gZXJyb3IgbWVzc2FnZSwgYnV0IGNvbnRpbnVlIChyZXNldHRp
bmcKIyBmdW5jX3RvX2hvc3RfZmlsZV9yZXN1bHQgdG8gQVJHMSkuCmZ1bmNf
Y29udmVydF9maWxlX2NoZWNrICgpCnsKICAkb3B0X2RlYnVnCiAgaWYgdGVz
dCAteiAiJDIiICYmIHRlc3QgLW4gIiQxIiA7IHRoZW4KICAgIGZ1bmNfZXJy
b3IgIkNvdWxkIG5vdCBkZXRlcm1pbmUgaG9zdCBmaWxlIG5hbWUgY29ycmVz
cG9uZGluZyB0byIKICAgIGZ1bmNfZXJyb3IgIiAgXGAkMSciCiAgICBmdW5j
X2Vycm9yICJDb250aW51aW5nLCBidXQgdW5pbnN0YWxsZWQgZXhlY3V0YWJs
ZXMgbWF5IG5vdCB3b3JrLiIKICAgICMgRmFsbGJhY2s6CiAgICBmdW5jX3Rv
X2hvc3RfZmlsZV9yZXN1bHQ9IiQxIgogIGZpCn0KIyBlbmQgZnVuY19jb252
ZXJ0X2ZpbGVfY2hlY2sKCgojIGZ1bmNfY29udmVydF9wYXRoX2NoZWNrIEZS
T01fUEFUSFNFUCBUT19QQVRIU0VQIEZST01fUEFUSCBUT19QQVRICiMgVmVy
aWZ5IHRoYXQgRlJPTV9QQVRIIChhIHBhdGggaW4gJGJ1aWxkIGZvcm1hdCkg
d2FzIGNvbnZlcnRlZCB0byAkaG9zdAojIGZvcm1hdCBpbiBUT19QQVRILiBP
dGhlcndpc2UsIGVtaXQgYW4gZXJyb3IgbWVzc2FnZSwgYnV0IGNvbnRpbnVl
LCByZXNldHRpbmcKIyBmdW5jX3RvX2hvc3RfZmlsZV9yZXN1bHQgdG8gYSBz
aW1wbGlzdGljIGZhbGxiYWNrIHZhbHVlIChzZWUgYmVsb3cpLgpmdW5jX2Nv
bnZlcnRfcGF0aF9jaGVjayAoKQp7CiAgJG9wdF9kZWJ1ZwogIGlmIHRlc3Qg
LXogIiQ0IiAmJiB0ZXN0IC1uICIkMyI7IHRoZW4KICAgIGZ1bmNfZXJyb3Ig
IkNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGhvc3QgcGF0aCBjb3JyZXNwb25k
aW5nIHRvIgogICAgZnVuY19lcnJvciAiICBcYCQzJyIKICAgIGZ1bmNfZXJy
b3IgIkNvbnRpbnVpbmcsIGJ1dCB1bmluc3RhbGxlZCBleGVjdXRhYmxlcyBt
YXkgbm90IHdvcmsuIgogICAgIyBGYWxsYmFjay4gIFRoaXMgaXMgYSBkZWxp
YmVyYXRlbHkgc2ltcGxpc3RpYyAiY29udmVyc2lvbiIgYW5kCiAgICAjIHNo
b3VsZCBub3QgYmUgImltcHJvdmVkIi4gIFNlZSBsaWJ0b29sLmluZm8uCiAg
ICBpZiB0ZXN0ICJ4JDEiICE9ICJ4JDIiOyB0aGVuCiAgICAgIGx0X3JlcGxh
Y2VfcGF0aHNlcF9jaGFycz0ic3wkMXwkMnxnIgogICAgICBmdW5jX3RvX2hv
c3RfcGF0aF9yZXN1bHQ9YGVjaG8gIiQzIiB8CiAgICAgICAgJFNFRCAtZSAi
JGx0X3JlcGxhY2VfcGF0aHNlcF9jaGFycyJgCiAgICBlbHNlCiAgICAgIGZ1
bmNfdG9faG9zdF9wYXRoX3Jlc3VsdD0iJDMiCiAgICBmaQogIGZpCn0KIyBl
bmQgZnVuY19jb252ZXJ0X3BhdGhfY2hlY2sKCgojIGZ1bmNfY29udmVydF9w
YXRoX2Zyb250X2JhY2tfcGF0aHNlcCBGUk9OVFBBVCBCQUNLUEFUIFJFUEwg
T1JJRwojIE1vZGlmaWVzIGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3VsdCBieSBw
cmVwZW5kaW5nIFJFUEwgaWYgT1JJRyBtYXRjaGVzIEZST05UUEFUCiMgYW5k
IGFwcGVuZGluZyBSRVBMIGlmIE9SSUcgbWF0Y2hlcyBCQUNLUEFULgpmdW5j
X2NvbnZlcnRfcGF0aF9mcm9udF9iYWNrX3BhdGhzZXAgKCkKewogICRvcHRf
ZGVidWcKICBjYXNlICQ0IGluCiAgJDEgKSBmdW5jX3RvX2hvc3RfcGF0aF9y
ZXN1bHQ9IiQzJGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3VsdCIKICAgIDs7CiAg
ZXNhYwogIGNhc2UgJDQgaW4KICAkMiApIGZ1bmNfdG9faG9zdF9wYXRoX3Jl
c3VsdCs9IiQzIgogICAgOzsKICBlc2FjCn0KIyBlbmQgZnVuY19jb252ZXJ0
X3BhdGhfZnJvbnRfYmFja19wYXRoc2VwCgoKIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyAkYnVpbGQgdG8g
JGhvc3QgRklMRSBOQU1FIENPTlZFUlNJT04gRlVOQ1RJT05TICMKIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
IyBpbnZva2VkIHZpYSBgJHRvX2hvc3RfZmlsZV9jbWQgQVJHJwojCiMgSW4g
ZWFjaCBjYXNlLCBBUkcgaXMgdGhlIHBhdGggdG8gYmUgY29udmVydGVkIGZy
b20gJGJ1aWxkIHRvICRob3N0IGZvcm1hdC4KIyBSZXN1bHQgd2lsbCBiZSBh
dmFpbGFibGUgaW4gJGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdC4KCgojIGZ1
bmNfdG9faG9zdF9maWxlIEFSRwojIENvbnZlcnRzIHRoZSBmaWxlIG5hbWUg
QVJHIGZyb20gJGJ1aWxkIGZvcm1hdCB0byAkaG9zdCBmb3JtYXQuIFJldHVy
biByZXN1bHQKIyBpbiBmdW5jX3RvX2hvc3RfZmlsZV9yZXN1bHQuCmZ1bmNf
dG9faG9zdF9maWxlICgpCnsKICAkb3B0X2RlYnVnCiAgJHRvX2hvc3RfZmls
ZV9jbWQgIiQxIgp9CiMgZW5kIGZ1bmNfdG9faG9zdF9maWxlCgoKIyBmdW5j
X3RvX3Rvb2xfZmlsZSBBUkcgTEFaWQojIGNvbnZlcnRzIHRoZSBmaWxlIG5h
bWUgQVJHIGZyb20gJGJ1aWxkIGZvcm1hdCB0byB0b29sY2hhaW4gZm9ybWF0
LiBSZXR1cm4KIyByZXN1bHQgaW4gZnVuY190b190b29sX2ZpbGVfcmVzdWx0
LiAgSWYgdGhlIGNvbnZlcnNpb24gaW4gdXNlIGlzIGxpc3RlZAojIGluICh0
aGUgY29tbWEgc2VwYXJhdGVkKSBMQVpZLCBubyBjb252ZXJzaW9uIHRha2Vz
IHBsYWNlLgpmdW5jX3RvX3Rvb2xfZmlsZSAoKQp7CiAgJG9wdF9kZWJ1Zwog
IGNhc2UgLCQyLCBpbgogICAgKiwiJHRvX3Rvb2xfZmlsZV9jbWQiLCopCiAg
ICAgIGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3VsdD0kMQogICAgICA7OwogICAg
KikKICAgICAgJHRvX3Rvb2xfZmlsZV9jbWQgIiQxIgogICAgICBmdW5jX3Rv
X3Rvb2xfZmlsZV9yZXN1bHQ9JGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdAog
ICAgICA7OwogIGVzYWMKfQojIGVuZCBmdW5jX3RvX3Rvb2xfZmlsZQoKCiMg
ZnVuY19jb252ZXJ0X2ZpbGVfbm9vcCBBUkcKIyBDb3B5IEFSRyB0byBmdW5j
X3RvX2hvc3RfZmlsZV9yZXN1bHQuCmZ1bmNfY29udmVydF9maWxlX25vb3Ag
KCkKewogIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdD0iJDEiCn0KIyBlbmQg
ZnVuY19jb252ZXJ0X2ZpbGVfbm9vcAoKCiMgZnVuY19jb252ZXJ0X2ZpbGVf
bXN5c190b193MzIgQVJHCiMgQ29udmVydCBmaWxlIG5hbWUgQVJHIGZyb20g
KG1pbmd3KSBNU1lTIHRvIChtaW5ndykgdzMyIGZvcm1hdDsgYXV0b21hdGlj
CiMgY29udmVyc2lvbiB0byB3MzIgaXMgbm90IGF2YWlsYWJsZSBpbnNpZGUg
dGhlIGN3cmFwcGVyLiAgUmV0dXJucyByZXN1bHQgaW4KIyBmdW5jX3RvX2hv
c3RfZmlsZV9yZXN1bHQuCmZ1bmNfY29udmVydF9maWxlX21zeXNfdG9fdzMy
ICgpCnsKICAkb3B0X2RlYnVnCiAgZnVuY190b19ob3N0X2ZpbGVfcmVzdWx0
PSIkMSIKICBpZiB0ZXN0IC1uICIkMSI7IHRoZW4KICAgIGZ1bmNfY29udmVy
dF9jb3JlX21zeXNfdG9fdzMyICIkMSIKICAgIGZ1bmNfdG9faG9zdF9maWxl
X3Jlc3VsdD0iJGZ1bmNfY29udmVydF9jb3JlX21zeXNfdG9fdzMyX3Jlc3Vs
dCIKICBmaQogIGZ1bmNfY29udmVydF9maWxlX2NoZWNrICIkMSIgIiRmdW5j
X3RvX2hvc3RfZmlsZV9yZXN1bHQiCn0KIyBlbmQgZnVuY19jb252ZXJ0X2Zp
bGVfbXN5c190b193MzIKCgojIGZ1bmNfY29udmVydF9maWxlX2N5Z3dpbl90
b193MzIgQVJHCiMgQ29udmVydCBmaWxlIG5hbWUgQVJHIGZyb20gQ3lnd2lu
IHRvIHczMiBmb3JtYXQuICBSZXR1cm5zIHJlc3VsdCBpbgojIGZ1bmNfdG9f
aG9zdF9maWxlX3Jlc3VsdC4KZnVuY19jb252ZXJ0X2ZpbGVfY3lnd2luX3Rv
X3czMiAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1bmNfdG9faG9zdF9maWxlX3Jl
c3VsdD0iJDEiCiAgaWYgdGVzdCAtbiAiJDEiOyB0aGVuCiAgICAjIGJlY2F1
c2UgJGJ1aWxkIGlzIGN5Z3dpbiwgd2UgY2FsbCAidGhlIiBjeWdwYXRoIGlu
ICRQQVRIOyBubyBuZWVkIHRvIHVzZQogICAgIyBMVF9DWUdQQVRIIGluIHRo
aXMgY2FzZS4KICAgIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdD1gY3lncGF0
aCAtbSAiJDEiYAogIGZpCiAgZnVuY19jb252ZXJ0X2ZpbGVfY2hlY2sgIiQx
IiAiJGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdCIKfQojIGVuZCBmdW5jX2Nv
bnZlcnRfZmlsZV9jeWd3aW5fdG9fdzMyCgoKIyBmdW5jX2NvbnZlcnRfZmls
ZV9uaXhfdG9fdzMyIEFSRwojIENvbnZlcnQgZmlsZSBuYW1lIEFSRyBmcm9t
ICpuaXggdG8gdzMyIGZvcm1hdC4gIFJlcXVpcmVzIGEgd2luZSBlbnZpcm9u
bWVudAojIGFuZCBhIHdvcmtpbmcgd2luZXBhdGguIFJldHVybnMgcmVzdWx0
IGluIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdC4KZnVuY19jb252ZXJ0X2Zp
bGVfbml4X3RvX3czMiAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1bmNfdG9faG9z
dF9maWxlX3Jlc3VsdD0iJDEiCiAgaWYgdGVzdCAtbiAiJDEiOyB0aGVuCiAg
ICBmdW5jX2NvbnZlcnRfY29yZV9maWxlX3dpbmVfdG9fdzMyICIkMSIKICAg
IGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdD0iJGZ1bmNfY29udmVydF9jb3Jl
X2ZpbGVfd2luZV90b193MzJfcmVzdWx0IgogIGZpCiAgZnVuY19jb252ZXJ0
X2ZpbGVfY2hlY2sgIiQxIiAiJGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdCIK
fQojIGVuZCBmdW5jX2NvbnZlcnRfZmlsZV9uaXhfdG9fdzMyCgoKIyBmdW5j
X2NvbnZlcnRfZmlsZV9tc3lzX3RvX2N5Z3dpbiBBUkcKIyBDb252ZXJ0IGZp
bGUgbmFtZSBBUkcgZnJvbSBNU1lTIHRvIEN5Z3dpbiBmb3JtYXQuICBSZXF1
aXJlcyBMVF9DWUdQQVRIIHNldC4KIyBSZXR1cm5zIHJlc3VsdCBpbiBmdW5j
X3RvX2hvc3RfZmlsZV9yZXN1bHQuCmZ1bmNfY29udmVydF9maWxlX21zeXNf
dG9fY3lnd2luICgpCnsKICAkb3B0X2RlYnVnCiAgZnVuY190b19ob3N0X2Zp
bGVfcmVzdWx0PSIkMSIKICBpZiB0ZXN0IC1uICIkMSI7IHRoZW4KICAgIGZ1
bmNfY29udmVydF9jb3JlX21zeXNfdG9fdzMyICIkMSIKICAgIGZ1bmNfY3ln
cGF0aCAtdSAiJGZ1bmNfY29udmVydF9jb3JlX21zeXNfdG9fdzMyX3Jlc3Vs
dCIKICAgIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdD0iJGZ1bmNfY3lncGF0
aF9yZXN1bHQiCiAgZmkKICBmdW5jX2NvbnZlcnRfZmlsZV9jaGVjayAiJDEi
ICIkZnVuY190b19ob3N0X2ZpbGVfcmVzdWx0Igp9CiMgZW5kIGZ1bmNfY29u
dmVydF9maWxlX21zeXNfdG9fY3lnd2luCgoKIyBmdW5jX2NvbnZlcnRfZmls
ZV9uaXhfdG9fY3lnd2luIEFSRwojIENvbnZlcnQgZmlsZSBuYW1lIEFSRyBm
cm9tICpuaXggdG8gQ3lnd2luIGZvcm1hdC4gIFJlcXVpcmVzIEN5Z3dpbiBp
bnN0YWxsZWQKIyBpbiBhIHdpbmUgZW52aXJvbm1lbnQsIHdvcmtpbmcgd2lu
ZXBhdGgsIGFuZCBMVF9DWUdQQVRIIHNldC4gIFJldHVybnMgcmVzdWx0CiMg
aW4gZnVuY190b19ob3N0X2ZpbGVfcmVzdWx0LgpmdW5jX2NvbnZlcnRfZmls
ZV9uaXhfdG9fY3lnd2luICgpCnsKICAkb3B0X2RlYnVnCiAgZnVuY190b19o
b3N0X2ZpbGVfcmVzdWx0PSIkMSIKICBpZiB0ZXN0IC1uICIkMSI7IHRoZW4K
ICAgICMgY29udmVydCBmcm9tICpuaXggdG8gdzMyLCB0aGVuIHVzZSBjeWdw
YXRoIHRvIGNvbnZlcnQgZnJvbSB3MzIgdG8gY3lnd2luLgogICAgZnVuY19j
b252ZXJ0X2NvcmVfZmlsZV93aW5lX3RvX3czMiAiJDEiCiAgICBmdW5jX2N5
Z3BhdGggLXUgIiRmdW5jX2NvbnZlcnRfY29yZV9maWxlX3dpbmVfdG9fdzMy
X3Jlc3VsdCIKICAgIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdD0iJGZ1bmNf
Y3lncGF0aF9yZXN1bHQiCiAgZmkKICBmdW5jX2NvbnZlcnRfZmlsZV9jaGVj
ayAiJDEiICIkZnVuY190b19ob3N0X2ZpbGVfcmVzdWx0Igp9CiMgZW5kIGZ1
bmNfY29udmVydF9maWxlX25peF90b19jeWd3aW4KCgojIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyAkYnVpbGQgdG8g
JGhvc3QgUEFUSCBDT05WRVJTSU9OIEZVTkNUSU9OUyAjCiMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIGludm9rZWQg
dmlhIGAkdG9faG9zdF9wYXRoX2NtZCBBUkcnCiMKIyBJbiBlYWNoIGNhc2Us
IEFSRyBpcyB0aGUgcGF0aCB0byBiZSBjb252ZXJ0ZWQgZnJvbSAkYnVpbGQg
dG8gJGhvc3QgZm9ybWF0LgojIFRoZSByZXN1bHQgd2lsbCBiZSBhdmFpbGFi
bGUgaW4gJGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3VsdC4KIwojIFBhdGggc2Vw
YXJhdG9ycyBhcmUgYWxzbyBjb252ZXJ0ZWQgZnJvbSAkYnVpbGQgZm9ybWF0
IHRvICRob3N0IGZvcm1hdC4gIElmCiMgQVJHIGJlZ2lucyBvciBlbmRzIHdp
dGggYSBwYXRoIHNlcGFyYXRvciBjaGFyYWN0ZXIsIGl0IGlzIHByZXNlcnZl
ZCAoYnV0CiMgY29udmVydGVkIHRvICRob3N0IGZvcm1hdCkgb24gb3V0cHV0
LgojCiMgQWxsIHBhdGggY29udmVyc2lvbiBmdW5jdGlvbnMgYXJlIG5hbWVk
IHVzaW5nIHRoZSBmb2xsb3dpbmcgY29udmVudGlvbjoKIyAgIGZpbGUgbmFt
ZSBjb252ZXJzaW9uIGZ1bmN0aW9uICAgIDogZnVuY19jb252ZXJ0X2ZpbGVf
WF90b19ZICgpCiMgICBwYXRoIGNvbnZlcnNpb24gZnVuY3Rpb24gICAgICAg
ICA6IGZ1bmNfY29udmVydF9wYXRoX1hfdG9fWSAoKQojIHdoZXJlLCBmb3Ig
YW55IGdpdmVuICRidWlsZC8kaG9zdCBjb21iaW5hdGlvbiB0aGUgJ1hfdG9f
WScgdmFsdWUgaXMgdGhlCiMgc2FtZS4gIElmIGNvbnZlcnNpb24gZnVuY3Rp
b25zIGFyZSBhZGRlZCBmb3IgbmV3ICRidWlsZC8kaG9zdCBjb21iaW5hdGlv
bnMsCiMgdGhlIHR3byBuZXcgZnVuY3Rpb25zIG11c3QgZm9sbG93IHRoaXMg
cGF0dGVybiwgb3IgZnVuY19pbml0X3RvX2hvc3RfcGF0aF9jbWQKIyB3aWxs
IGJyZWFrLgoKCiMgZnVuY19pbml0X3RvX2hvc3RfcGF0aF9jbWQKIyBFbnN1
cmVzIHRoYXQgZnVuY3Rpb24gInBvaW50ZXIiIHZhcmlhYmxlICR0b19ob3N0
X3BhdGhfY21kIGlzIHNldCB0byB0aGUKIyBhcHByb3ByaWF0ZSB2YWx1ZSwg
YmFzZWQgb24gdGhlIHZhbHVlIG9mICR0b19ob3N0X2ZpbGVfY21kLgp0b19o
b3N0X3BhdGhfY21kPQpmdW5jX2luaXRfdG9faG9zdF9wYXRoX2NtZCAoKQp7
CiAgJG9wdF9kZWJ1ZwogIGlmIHRlc3QgLXogIiR0b19ob3N0X3BhdGhfY21k
IjsgdGhlbgogICAgZnVuY19zdHJpcG5hbWUgJ2Z1bmNfY29udmVydF9maWxl
XycgJycgIiR0b19ob3N0X2ZpbGVfY21kIgogICAgdG9faG9zdF9wYXRoX2Nt
ZD0iZnVuY19jb252ZXJ0X3BhdGhfJHtmdW5jX3N0cmlwbmFtZV9yZXN1bHR9
IgogIGZpCn0KCgojIGZ1bmNfdG9faG9zdF9wYXRoIEFSRwojIENvbnZlcnRz
IHRoZSBwYXRoIEFSRyBmcm9tICRidWlsZCBmb3JtYXQgdG8gJGhvc3QgZm9y
bWF0LiBSZXR1cm4gcmVzdWx0CiMgaW4gZnVuY190b19ob3N0X3BhdGhfcmVz
dWx0LgpmdW5jX3RvX2hvc3RfcGF0aCAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1
bmNfaW5pdF90b19ob3N0X3BhdGhfY21kCiAgJHRvX2hvc3RfcGF0aF9jbWQg
IiQxIgp9CiMgZW5kIGZ1bmNfdG9faG9zdF9wYXRoCgoKIyBmdW5jX2NvbnZl
cnRfcGF0aF9ub29wIEFSRwojIENvcHkgQVJHIHRvIGZ1bmNfdG9faG9zdF9w
YXRoX3Jlc3VsdC4KZnVuY19jb252ZXJ0X3BhdGhfbm9vcCAoKQp7CiAgZnVu
Y190b19ob3N0X3BhdGhfcmVzdWx0PSIkMSIKfQojIGVuZCBmdW5jX2NvbnZl
cnRfcGF0aF9ub29wCgoKIyBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3RvX3cz
MiBBUkcKIyBDb252ZXJ0IHBhdGggQVJHIGZyb20gKG1pbmd3KSBNU1lTIHRv
IChtaW5ndykgdzMyIGZvcm1hdDsgYXV0b21hdGljCiMgY29udmVyc2lvbiB0
byB3MzIgaXMgbm90IGF2YWlsYWJsZSBpbnNpZGUgdGhlIGN3cmFwcGVyLiAg
UmV0dXJucyByZXN1bHQgaW4KIyBmdW5jX3RvX2hvc3RfcGF0aF9yZXN1bHQu
CmZ1bmNfY29udmVydF9wYXRoX21zeXNfdG9fdzMyICgpCnsKICAkb3B0X2Rl
YnVnCiAgZnVuY190b19ob3N0X3BhdGhfcmVzdWx0PSIkMSIKICBpZiB0ZXN0
IC1uICIkMSI7IHRoZW4KICAgICMgUmVtb3ZlIGxlYWRpbmcgYW5kIHRyYWls
aW5nIHBhdGggc2VwYXJhdG9yIGNoYXJhY3RlcnMgZnJvbSBBUkcuICBNU1lT
CiAgICAjIGJlaGF2aW9yIGlzIGluY29uc2lzdGVudCBoZXJlOyBjeWdwYXRo
IHR1cm5zIHRoZW0gaW50byAnLjsnIGFuZCAnOy4nOwogICAgIyBhbmQgd2lu
ZXBhdGggaWdub3JlcyB0aGVtIGNvbXBsZXRlbHkuCiAgICBmdW5jX3N0cmlw
bmFtZSA6IDogIiQxIgogICAgZnVuY190b19ob3N0X3BhdGhfdG1wMT0kZnVu
Y19zdHJpcG5hbWVfcmVzdWx0CiAgICBmdW5jX2NvbnZlcnRfY29yZV9tc3lz
X3RvX3czMiAiJGZ1bmNfdG9faG9zdF9wYXRoX3RtcDEiCiAgICBmdW5jX3Rv
X2hvc3RfcGF0aF9yZXN1bHQ9IiRmdW5jX2NvbnZlcnRfY29yZV9tc3lzX3Rv
X3czMl9yZXN1bHQiCiAgICBmdW5jX2NvbnZlcnRfcGF0aF9jaGVjayA6ICI7
IiBcCiAgICAgICIkZnVuY190b19ob3N0X3BhdGhfdG1wMSIgIiRmdW5jX3Rv
X2hvc3RfcGF0aF9yZXN1bHQiCiAgICBmdW5jX2NvbnZlcnRfcGF0aF9mcm9u
dF9iYWNrX3BhdGhzZXAgIjoqIiAiKjoiICI7IiAiJDEiCiAgZmkKfQojIGVu
ZCBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3RvX3czMgoKCiMgZnVuY19jb252
ZXJ0X3BhdGhfY3lnd2luX3RvX3czMiBBUkcKIyBDb252ZXJ0IHBhdGggQVJH
IGZyb20gQ3lnd2luIHRvIHczMiBmb3JtYXQuICBSZXR1cm5zIHJlc3VsdCBp
bgojIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdC4KZnVuY19jb252ZXJ0X3Bh
dGhfY3lnd2luX3RvX3czMiAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1bmNfdG9f
aG9zdF9wYXRoX3Jlc3VsdD0iJDEiCiAgaWYgdGVzdCAtbiAiJDEiOyB0aGVu
CiAgICAjIFNlZSBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3RvX3czMjoKICAg
IGZ1bmNfc3RyaXBuYW1lIDogOiAiJDEiCiAgICBmdW5jX3RvX2hvc3RfcGF0
aF90bXAxPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKICAgIGZ1bmNfdG9faG9z
dF9wYXRoX3Jlc3VsdD1gY3lncGF0aCAtbSAtcCAiJGZ1bmNfdG9faG9zdF9w
YXRoX3RtcDEiYAogICAgZnVuY19jb252ZXJ0X3BhdGhfY2hlY2sgOiAiOyIg
XAogICAgICAiJGZ1bmNfdG9faG9zdF9wYXRoX3RtcDEiICIkZnVuY190b19o
b3N0X3BhdGhfcmVzdWx0IgogICAgZnVuY19jb252ZXJ0X3BhdGhfZnJvbnRf
YmFja19wYXRoc2VwICI6KiIgIio6IiAiOyIgIiQxIgogIGZpCn0KIyBlbmQg
ZnVuY19jb252ZXJ0X3BhdGhfY3lnd2luX3RvX3czMgoKCiMgZnVuY19jb252
ZXJ0X3BhdGhfbml4X3RvX3czMiBBUkcKIyBDb252ZXJ0IHBhdGggQVJHIGZy
b20gKm5peCB0byB3MzIgZm9ybWF0LiAgUmVxdWlyZXMgYSB3aW5lIGVudmly
b25tZW50IGFuZAojIGEgd29ya2luZyB3aW5lcGF0aC4gIFJldHVybnMgcmVz
dWx0IGluIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdC4KZnVuY19jb252ZXJ0
X3BhdGhfbml4X3RvX3czMiAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1bmNfdG9f
aG9zdF9wYXRoX3Jlc3VsdD0iJDEiCiAgaWYgdGVzdCAtbiAiJDEiOyB0aGVu
CiAgICAjIFNlZSBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3RvX3czMjoKICAg
IGZ1bmNfc3RyaXBuYW1lIDogOiAiJDEiCiAgICBmdW5jX3RvX2hvc3RfcGF0
aF90bXAxPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKICAgIGZ1bmNfY29udmVy
dF9jb3JlX3BhdGhfd2luZV90b193MzIgIiRmdW5jX3RvX2hvc3RfcGF0aF90
bXAxIgogICAgZnVuY190b19ob3N0X3BhdGhfcmVzdWx0PSIkZnVuY19jb252
ZXJ0X2NvcmVfcGF0aF93aW5lX3RvX3czMl9yZXN1bHQiCiAgICBmdW5jX2Nv
bnZlcnRfcGF0aF9jaGVjayA6ICI7IiBcCiAgICAgICIkZnVuY190b19ob3N0
X3BhdGhfdG1wMSIgIiRmdW5jX3RvX2hvc3RfcGF0aF9yZXN1bHQiCiAgICBm
dW5jX2NvbnZlcnRfcGF0aF9mcm9udF9iYWNrX3BhdGhzZXAgIjoqIiAiKjoi
ICI7IiAiJDEiCiAgZmkKfQojIGVuZCBmdW5jX2NvbnZlcnRfcGF0aF9uaXhf
dG9fdzMyCgoKIyBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3RvX2N5Z3dpbiBB
UkcKIyBDb252ZXJ0IHBhdGggQVJHIGZyb20gTVNZUyB0byBDeWd3aW4gZm9y
bWF0LiAgUmVxdWlyZXMgTFRfQ1lHUEFUSCBzZXQuCiMgUmV0dXJucyByZXN1
bHQgaW4gZnVuY190b19ob3N0X2ZpbGVfcmVzdWx0LgpmdW5jX2NvbnZlcnRf
cGF0aF9tc3lzX3RvX2N5Z3dpbiAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1bmNf
dG9faG9zdF9wYXRoX3Jlc3VsdD0iJDEiCiAgaWYgdGVzdCAtbiAiJDEiOyB0
aGVuCiAgICAjIFNlZSBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3RvX3czMjoK
ICAgIGZ1bmNfc3RyaXBuYW1lIDogOiAiJDEiCiAgICBmdW5jX3RvX2hvc3Rf
cGF0aF90bXAxPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKICAgIGZ1bmNfY29u
dmVydF9jb3JlX21zeXNfdG9fdzMyICIkZnVuY190b19ob3N0X3BhdGhfdG1w
MSIKICAgIGZ1bmNfY3lncGF0aCAtdSAtcCAiJGZ1bmNfY29udmVydF9jb3Jl
X21zeXNfdG9fdzMyX3Jlc3VsdCIKICAgIGZ1bmNfdG9faG9zdF9wYXRoX3Jl
c3VsdD0iJGZ1bmNfY3lncGF0aF9yZXN1bHQiCiAgICBmdW5jX2NvbnZlcnRf
cGF0aF9jaGVjayA6IDogXAogICAgICAiJGZ1bmNfdG9faG9zdF9wYXRoX3Rt
cDEiICIkZnVuY190b19ob3N0X3BhdGhfcmVzdWx0IgogICAgZnVuY19jb252
ZXJ0X3BhdGhfZnJvbnRfYmFja19wYXRoc2VwICI6KiIgIio6IiA6ICIkMSIK
ICBmaQp9CiMgZW5kIGZ1bmNfY29udmVydF9wYXRoX21zeXNfdG9fY3lnd2lu
CgoKIyBmdW5jX2NvbnZlcnRfcGF0aF9uaXhfdG9fY3lnd2luIEFSRwojIENv
bnZlcnQgcGF0aCBBUkcgZnJvbSAqbml4IHRvIEN5Z3dpbiBmb3JtYXQuICBS
ZXF1aXJlcyBDeWd3aW4gaW5zdGFsbGVkIGluIGEKIyBhIHdpbmUgZW52aXJv
bm1lbnQsIHdvcmtpbmcgd2luZXBhdGgsIGFuZCBMVF9DWUdQQVRIIHNldC4g
IFJldHVybnMgcmVzdWx0IGluCiMgZnVuY190b19ob3N0X2ZpbGVfcmVzdWx0
LgpmdW5jX2NvbnZlcnRfcGF0aF9uaXhfdG9fY3lnd2luICgpCnsKICAkb3B0
X2RlYnVnCiAgZnVuY190b19ob3N0X3BhdGhfcmVzdWx0PSIkMSIKICBpZiB0
ZXN0IC1uICIkMSI7IHRoZW4KICAgICMgUmVtb3ZlIGxlYWRpbmcgYW5kIHRy
YWlsaW5nIHBhdGggc2VwYXJhdG9yIGNoYXJhY3RlcnMgZnJvbQogICAgIyBB
UkcuIG1zeXMgYmVoYXZpb3IgaXMgaW5jb25zaXN0ZW50IGhlcmUsIGN5Z3Bh
dGggdHVybnMgdGhlbQogICAgIyBpbnRvICcuOycgYW5kICc7LicsIGFuZCB3
aW5lcGF0aCBpZ25vcmVzIHRoZW0gY29tcGxldGVseS4KICAgIGZ1bmNfc3Ry
aXBuYW1lIDogOiAiJDEiCiAgICBmdW5jX3RvX2hvc3RfcGF0aF90bXAxPSRm
dW5jX3N0cmlwbmFtZV9yZXN1bHQKICAgIGZ1bmNfY29udmVydF9jb3JlX3Bh
dGhfd2luZV90b193MzIgIiRmdW5jX3RvX2hvc3RfcGF0aF90bXAxIgogICAg
ZnVuY19jeWdwYXRoIC11IC1wICIkZnVuY19jb252ZXJ0X2NvcmVfcGF0aF93
aW5lX3RvX3czMl9yZXN1bHQiCiAgICBmdW5jX3RvX2hvc3RfcGF0aF9yZXN1
bHQ9IiRmdW5jX2N5Z3BhdGhfcmVzdWx0IgogICAgZnVuY19jb252ZXJ0X3Bh
dGhfY2hlY2sgOiA6IFwKICAgICAgIiRmdW5jX3RvX2hvc3RfcGF0aF90bXAx
IiAiJGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3VsdCIKICAgIGZ1bmNfY29udmVy
dF9wYXRoX2Zyb250X2JhY2tfcGF0aHNlcCAiOioiICIqOiIgOiAiJDEiCiAg
ZmkKfQojIGVuZCBmdW5jX2NvbnZlcnRfcGF0aF9uaXhfdG9fY3lnd2luCgoK
IyBmdW5jX21vZGVfY29tcGlsZSBhcmcuLi4KZnVuY19tb2RlX2NvbXBpbGUg
KCkKewogICAgJG9wdF9kZWJ1ZwogICAgIyBHZXQgdGhlIGNvbXBpbGF0aW9u
IGNvbW1hbmQgYW5kIHRoZSBzb3VyY2UgZmlsZS4KICAgIGJhc2VfY29tcGls
ZT0KICAgIHNyY2ZpbGU9IiRub25vcHQiICAjICBhbHdheXMga2VlcCBhIG5v
bi1lbXB0eSB2YWx1ZSBpbiAic3JjZmlsZSIKICAgIHN1cHByZXNzX29wdD15
ZXMKICAgIHN1cHByZXNzX291dHB1dD0KICAgIGFyZ19tb2RlPW5vcm1hbAog
ICAgbGlib2JqPQogICAgbGF0ZXI9CiAgICBwaWVfZmxhZz0KCiAgICBmb3Ig
YXJnCiAgICBkbwogICAgICBjYXNlICRhcmdfbW9kZSBpbgogICAgICBhcmcg
ICkKCSMgZG8gbm90ICJjb250aW51ZSIuICBJbnN0ZWFkLCBhZGQgdGhpcyB0
byBiYXNlX2NvbXBpbGUKCWxhc3Rhcmc9IiRhcmciCglhcmdfbW9kZT1ub3Jt
YWwKCTs7CgogICAgICB0YXJnZXQgKQoJbGlib2JqPSIkYXJnIgoJYXJnX21v
ZGU9bm9ybWFsCgljb250aW51ZQoJOzsKCiAgICAgIG5vcm1hbCApCgkjIEFj
Y2VwdCBhbnkgY29tbWFuZC1saW5lIG9wdGlvbnMuCgljYXNlICRhcmcgaW4K
CS1vKQoJICB0ZXN0IC1uICIkbGlib2JqIiAmJiBcCgkgICAgZnVuY19mYXRh
bF9lcnJvciAieW91IGNhbm5vdCBzcGVjaWZ5IFxgLW8nIG1vcmUgdGhhbiBv
bmNlIgoJICBhcmdfbW9kZT10YXJnZXQKCSAgY29udGludWUKCSAgOzsKCgkt
cGllIHwgLWZwaWUgfCAtZlBJRSkKICAgICAgICAgIHBpZV9mbGFnKz0iICRh
cmciCgkgIGNvbnRpbnVlCgkgIDs7CgoJLXNoYXJlZCB8IC1zdGF0aWMgfCAt
cHJlZmVyLXBpYyB8IC1wcmVmZXItbm9uLXBpYykKCSAgbGF0ZXIrPSIgJGFy
ZyIKCSAgY29udGludWUKCSAgOzsKCgktbm8tc3VwcHJlc3MpCgkgIHN1cHBy
ZXNzX29wdD1ubwoJICBjb250aW51ZQoJICA7OwoKCS1YY29tcGlsZXIpCgkg
IGFyZ19tb2RlPWFyZyAgIyAgdGhlIG5leHQgb25lIGdvZXMgaW50byB0aGUg
ImJhc2VfY29tcGlsZSIgYXJnIGxpc3QKCSAgY29udGludWUgICAgICAjICBU
aGUgY3VycmVudCAic3JjZmlsZSIgd2lsbCBlaXRoZXIgYmUgcmV0YWluZWQg
b3IKCSAgOzsgICAgICAgICAgICAjICByZXBsYWNlZCBsYXRlci4gIEkgd291
bGQgZ3Vlc3MgdGhhdCB3b3VsZCBiZSBhIGJ1Zy4KCgktV2MsKikKCSAgZnVu
Y19zdHJpcG5hbWUgJy1XYywnICcnICIkYXJnIgoJICBhcmdzPSRmdW5jX3N0
cmlwbmFtZV9yZXN1bHQKCSAgbGFzdGFyZz0KCSAgc2F2ZV9pZnM9IiRJRlMi
OyBJRlM9JywnCgkgIGZvciBhcmcgaW4gJGFyZ3M7IGRvCgkgICAgSUZTPSIk
c2F2ZV9pZnMiCgkgICAgZnVuY19hcHBlbmRfcXVvdGVkIGxhc3RhcmcgIiRh
cmciCgkgIGRvbmUKCSAgSUZTPSIkc2F2ZV9pZnMiCgkgIGZ1bmNfc3RyaXBu
YW1lICcgJyAnJyAiJGxhc3RhcmciCgkgIGxhc3Rhcmc9JGZ1bmNfc3RyaXBu
YW1lX3Jlc3VsdAoKCSAgIyBBZGQgdGhlIGFyZ3VtZW50cyB0byBiYXNlX2Nv
bXBpbGUuCgkgIGJhc2VfY29tcGlsZSs9IiAkbGFzdGFyZyIKCSAgY29udGlu
dWUKCSAgOzsKCgkqKQoJICAjIEFjY2VwdCB0aGUgY3VycmVudCBhcmd1bWVu
dCBhcyB0aGUgc291cmNlIGZpbGUuCgkgICMgVGhlIHByZXZpb3VzICJzcmNm
aWxlIiBiZWNvbWVzIHRoZSBjdXJyZW50IGFyZ3VtZW50LgoJICAjCgkgIGxh
c3Rhcmc9IiRzcmNmaWxlIgoJICBzcmNmaWxlPSIkYXJnIgoJICA7OwoJZXNh
YyAgIyAgY2FzZSAkYXJnCgk7OwogICAgICBlc2FjICAgICMgIGNhc2UgJGFy
Z19tb2RlCgogICAgICAjIEFlc3RoZXRpY2FsbHkgcXVvdGUgdGhlIHByZXZp
b3VzIGFyZ3VtZW50LgogICAgICBmdW5jX2FwcGVuZF9xdW90ZWQgYmFzZV9j
b21waWxlICIkbGFzdGFyZyIKICAgIGRvbmUgIyBmb3IgYXJnCgogICAgY2Fz
ZSAkYXJnX21vZGUgaW4KICAgIGFyZykKICAgICAgZnVuY19mYXRhbF9lcnJv
ciAieW91IG11c3Qgc3BlY2lmeSBhbiBhcmd1bWVudCBmb3IgLVhjb21waWxl
IgogICAgICA7OwogICAgdGFyZ2V0KQogICAgICBmdW5jX2ZhdGFsX2Vycm9y
ICJ5b3UgbXVzdCBzcGVjaWZ5IGEgdGFyZ2V0IHdpdGggXGAtbyciCiAgICAg
IDs7CiAgICAqKQogICAgICAjIEdldCB0aGUgbmFtZSBvZiB0aGUgbGlicmFy
eSBvYmplY3QuCiAgICAgIHRlc3QgLXogIiRsaWJvYmoiICYmIHsKCWZ1bmNf
YmFzZW5hbWUgIiRzcmNmaWxlIgoJbGlib2JqPSIkZnVuY19iYXNlbmFtZV9y
ZXN1bHQiCiAgICAgIH0KICAgICAgOzsKICAgIGVzYWMKCiAgICAjIFJlY29n
bml6ZSBzZXZlcmFsIGRpZmZlcmVudCBmaWxlIHN1ZmZpeGVzLgogICAgIyBJ
ZiB0aGUgdXNlciBzcGVjaWZpZXMgLW8gZmlsZS5vLCBpdCBpcyByZXBsYWNl
ZCB3aXRoIGZpbGUubG8KICAgIGNhc2UgJGxpYm9iaiBpbgogICAgKi5bY0NG
U2lmbXNvXSB8IFwKICAgICouYWRhIHwgKi5hZGIgfCAqLmFkcyB8ICouYXNt
IHwgXAogICAgKi5jKysgfCAqLmNjIHwgKi5paSB8ICouY2xhc3MgfCAqLmNw
cCB8ICouY3h4IHwgXAogICAgKi5bZkZdWzA5XT8gfCAqLmZvciB8ICouamF2
YSB8ICoub2JqIHwgKi5zeCB8ICouY3UgfCAqLmN1cCkKICAgICAgZnVuY194
Zm9ybSAiJGxpYm9iaiIKICAgICAgbGlib2JqPSRmdW5jX3hmb3JtX3Jlc3Vs
dAogICAgICA7OwogICAgZXNhYwoKICAgIGNhc2UgJGxpYm9iaiBpbgogICAg
Ki5sbykgZnVuY19sbzJvICIkbGlib2JqIjsgb2JqPSRmdW5jX2xvMm9fcmVz
dWx0IDs7CiAgICAqKQogICAgICBmdW5jX2ZhdGFsX2Vycm9yICJjYW5ub3Qg
ZGV0ZXJtaW5lIG5hbWUgb2YgbGlicmFyeSBvYmplY3QgZnJvbSBcYCRsaWJv
YmonIgogICAgICA7OwogICAgZXNhYwoKICAgIGZ1bmNfaW5mZXJfdGFnICRi
YXNlX2NvbXBpbGUKCiAgICBmb3IgYXJnIGluICRsYXRlcjsgZG8KICAgICAg
Y2FzZSAkYXJnIGluCiAgICAgIC1zaGFyZWQpCgl0ZXN0ICIkYnVpbGRfbGli
dG9vbF9saWJzIiAhPSB5ZXMgJiYgXAoJICBmdW5jX2ZhdGFsX2NvbmZpZ3Vy
YXRpb24gImNhbiBub3QgYnVpbGQgYSBzaGFyZWQgbGlicmFyeSIKCWJ1aWxk
X29sZF9saWJzPW5vCgljb250aW51ZQoJOzsKCiAgICAgIC1zdGF0aWMpCgli
dWlsZF9saWJ0b29sX2xpYnM9bm8KCWJ1aWxkX29sZF9saWJzPXllcwoJY29u
dGludWUKCTs7CgogICAgICAtcHJlZmVyLXBpYykKCXBpY19tb2RlPXllcwoJ
Y29udGludWUKCTs7CgogICAgICAtcHJlZmVyLW5vbi1waWMpCglwaWNfbW9k
ZT1ubwoJY29udGludWUKCTs7CiAgICAgIGVzYWMKICAgIGRvbmUKCiAgICBm
dW5jX3F1b3RlX2Zvcl9ldmFsICIkbGlib2JqIgogICAgdGVzdCAiWCRsaWJv
YmoiICE9ICJYJGZ1bmNfcXVvdGVfZm9yX2V2YWxfcmVzdWx0IiBcCiAgICAg
ICYmICRFQ0hPICJYJGxpYm9iaiIgfCAkR1JFUCAnW11+I14qe307PD4/Iici
JyInCSAmKCl8YCRbXScgXAogICAgICAmJiBmdW5jX3dhcm5pbmcgImxpYm9i
aiBuYW1lIFxgJGxpYm9iaicgbWF5IG5vdCBjb250YWluIHNoZWxsIHNwZWNp
YWwgY2hhcmFjdGVycy4iCiAgICBmdW5jX2Rpcm5hbWVfYW5kX2Jhc2VuYW1l
ICIkb2JqIiAiLyIgIiIKICAgIG9iam5hbWU9IiRmdW5jX2Jhc2VuYW1lX3Jl
c3VsdCIKICAgIHhkaXI9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgogICAgbG9i
aj0ke3hkaXJ9JG9iamRpci8kb2JqbmFtZQoKICAgIHRlc3QgLXogIiRiYXNl
X2NvbXBpbGUiICYmIFwKICAgICAgZnVuY19mYXRhbF9oZWxwICJ5b3UgbXVz
dCBzcGVjaWZ5IGEgY29tcGlsYXRpb24gY29tbWFuZCIKCiAgICAjIERlbGV0
ZSBhbnkgbGVmdG92ZXIgbGlicmFyeSBvYmplY3RzLgogICAgaWYgdGVzdCAi
JGJ1aWxkX29sZF9saWJzIiA9IHllczsgdGhlbgogICAgICByZW1vdmVsaXN0
PSIkb2JqICRsb2JqICRsaWJvYmogJHtsaWJvYmp9VCIKICAgIGVsc2UKICAg
ICAgcmVtb3ZlbGlzdD0iJGxvYmogJGxpYm9iaiAke2xpYm9ian1UIgogICAg
ZmkKCiAgICAjIE9uIEN5Z3dpbiB0aGVyZSdzIG5vICJyZWFsIiBQSUMgZmxh
ZyBzbyB3ZSBtdXN0IGJ1aWxkIGJvdGggb2JqZWN0IHR5cGVzCiAgICBjYXNl
ICRob3N0X29zIGluCiAgICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBv
czIqIHwgY2VnY2MqKQogICAgICBwaWNfbW9kZT1kZWZhdWx0CiAgICAgIDs7
CiAgICBlc2FjCiAgICBpZiB0ZXN0ICIkcGljX21vZGUiID0gbm8gJiYgdGVz
dCAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAhPSBwYXNzX2FsbDsgdGhlbgog
ICAgICAjIG5vbi1QSUMgY29kZSBpbiBzaGFyZWQgbGlicmFyaWVzIGlzIG5v
dCBzdXBwb3J0ZWQKICAgICAgcGljX21vZGU9ZGVmYXVsdAogICAgZmkKCiAg
ICAjIENhbGN1bGF0ZSB0aGUgZmlsZW5hbWUgb2YgdGhlIG91dHB1dCBvYmpl
Y3QgaWYgY29tcGlsZXIgZG9lcwogICAgIyBub3Qgc3VwcG9ydCAtbyB3aXRo
IC1jCiAgICBpZiB0ZXN0ICIkY29tcGlsZXJfY19vIiA9IG5vOyB0aGVuCiAg
ICAgIG91dHB1dF9vYmo9YCRFQ0hPICIkc3JjZmlsZSIgfCAkU0VEICdzJV4u
Ki8lJTsgcyVcLlteLl0qJCUlJ2AuJHtvYmpleHR9CiAgICAgIGxvY2tmaWxl
PSIkb3V0cHV0X29iai5sb2NrIgogICAgZWxzZQogICAgICBvdXRwdXRfb2Jq
PQogICAgICBuZWVkX2xvY2tzPW5vCiAgICAgIGxvY2tmaWxlPQogICAgZmkK
CiAgICAjIExvY2sgdGhpcyBjcml0aWNhbCBzZWN0aW9uIGlmIGl0IGlzIG5l
ZWRlZAogICAgIyBXZSB1c2UgdGhpcyBzY3JpcHQgZmlsZSB0byBtYWtlIHRo
ZSBsaW5rLCBpdCBhdm9pZHMgY3JlYXRpbmcgYSBuZXcgZmlsZQogICAgaWYg
dGVzdCAiJG5lZWRfbG9ja3MiID0geWVzOyB0aGVuCiAgICAgIHVudGlsICRv
cHRfZHJ5X3J1biB8fCBsbiAiJHByb2dwYXRoIiAiJGxvY2tmaWxlIiAyPi9k
ZXYvbnVsbDsgZG8KCWZ1bmNfZWNobyAiV2FpdGluZyBmb3IgJGxvY2tmaWxl
IHRvIGJlIHJlbW92ZWQiCglzbGVlcCAyCiAgICAgIGRvbmUKICAgIGVsaWYg
dGVzdCAiJG5lZWRfbG9ja3MiID0gd2FybjsgdGhlbgogICAgICBpZiB0ZXN0
IC1mICIkbG9ja2ZpbGUiOyB0aGVuCgkkRUNITyAiXAoqKiogRVJST1IsICRs
b2NrZmlsZSBleGlzdHMgYW5kIGNvbnRhaW5zOgpgY2F0ICRsb2NrZmlsZSAy
Pi9kZXYvbnVsbGAKClRoaXMgaW5kaWNhdGVzIHRoYXQgYW5vdGhlciBwcm9j
ZXNzIGlzIHRyeWluZyB0byB1c2UgdGhlIHNhbWUKdGVtcG9yYXJ5IG9iamVj
dCBmaWxlLCBhbmQgbGlidG9vbCBjb3VsZCBub3Qgd29yayBhcm91bmQgaXQg
YmVjYXVzZQp5b3VyIGNvbXBpbGVyIGRvZXMgbm90IHN1cHBvcnQgXGAtYycg
YW5kIFxgLW8nIHRvZ2V0aGVyLiAgSWYgeW91CnJlcGVhdCB0aGlzIGNvbXBp
bGF0aW9uLCBpdCBtYXkgc3VjY2VlZCwgYnkgY2hhbmNlLCBidXQgeW91IGhh
ZCBiZXR0ZXIKYXZvaWQgcGFyYWxsZWwgYnVpbGRzIChtYWtlIC1qKSBpbiB0
aGlzIHBsYXRmb3JtLCBvciBnZXQgYSBiZXR0ZXIKY29tcGlsZXIuIgoKCSRv
cHRfZHJ5X3J1biB8fCAkUk0gJHJlbW92ZWxpc3QKCWV4aXQgJEVYSVRfRkFJ
TFVSRQogICAgICBmaQogICAgICByZW1vdmVsaXN0Kz0iICRvdXRwdXRfb2Jq
IgogICAgICAkRUNITyAiJHNyY2ZpbGUiID4gIiRsb2NrZmlsZSIKICAgIGZp
CgogICAgJG9wdF9kcnlfcnVuIHx8ICRSTSAkcmVtb3ZlbGlzdAogICAgcmVt
b3ZlbGlzdCs9IiAkbG9ja2ZpbGUiCiAgICB0cmFwICckb3B0X2RyeV9ydW4g
fHwgJFJNICRyZW1vdmVsaXN0OyBleGl0ICRFWElUX0ZBSUxVUkUnIDEgMiAx
NQoKICAgIGZ1bmNfdG9fdG9vbF9maWxlICIkc3JjZmlsZSIgZnVuY19jb252
ZXJ0X2ZpbGVfbXN5c190b193MzIKICAgIHNyY2ZpbGU9JGZ1bmNfdG9fdG9v
bF9maWxlX3Jlc3VsdAogICAgZnVuY19xdW90ZV9mb3JfZXZhbCAiJHNyY2Zp
bGUiCiAgICBxc3JjZmlsZT0kZnVuY19xdW90ZV9mb3JfZXZhbF9yZXN1bHQK
CiAgICAjIE9ubHkgYnVpbGQgYSBQSUMgb2JqZWN0IGlmIHdlIGFyZSBidWls
ZGluZyBsaWJ0b29sIGxpYnJhcmllcy4KICAgIGlmIHRlc3QgIiRidWlsZF9s
aWJ0b29sX2xpYnMiID0geWVzOyB0aGVuCiAgICAgICMgV2l0aG91dCB0aGlz
IGFzc2lnbm1lbnQsIGJhc2VfY29tcGlsZSBnZXRzIGVtcHRpZWQuCiAgICAg
IGZic2RfaGlkZW91c19zaF9idWc9JGJhc2VfY29tcGlsZQoKICAgICAgaWYg
dGVzdCAiJHBpY19tb2RlIiAhPSBubzsgdGhlbgoJY29tbWFuZD0iJGJhc2Vf
Y29tcGlsZSAkcXNyY2ZpbGUgJHBpY19mbGFnIgogICAgICBlbHNlCgkjIERv
bid0IGJ1aWxkIFBJQyBjb2RlCgljb21tYW5kPSIkYmFzZV9jb21waWxlICRx
c3JjZmlsZSIKICAgICAgZmkKCiAgICAgIGZ1bmNfbWtkaXJfcCAiJHhkaXIk
b2JqZGlyIgoKICAgICAgaWYgdGVzdCAteiAiJG91dHB1dF9vYmoiOyB0aGVu
CgkjIFBsYWNlIFBJQyBvYmplY3RzIGluICRvYmpkaXIKCWNvbW1hbmQrPSIg
LW8gJGxvYmoiCiAgICAgIGZpCgogICAgICBmdW5jX3Nob3dfZXZhbF9sb2Nh
bGUgIiRjb21tYW5kIglcCiAgICAgICAgICAndGVzdCAtbiAiJG91dHB1dF9v
YmoiICYmICRSTSAkcmVtb3ZlbGlzdDsgZXhpdCAkRVhJVF9GQUlMVVJFJwoK
ICAgICAgaWYgdGVzdCAiJG5lZWRfbG9ja3MiID0gd2FybiAmJgoJIHRlc3Qg
IlhgY2F0ICRsb2NrZmlsZSAyPi9kZXYvbnVsbGAiICE9ICJYJHNyY2ZpbGUi
OyB0aGVuCgkkRUNITyAiXAoqKiogRVJST1IsICRsb2NrZmlsZSBjb250YWlu
czoKYGNhdCAkbG9ja2ZpbGUgMj4vZGV2L251bGxgCgpidXQgaXQgc2hvdWxk
IGNvbnRhaW46CiRzcmNmaWxlCgpUaGlzIGluZGljYXRlcyB0aGF0IGFub3Ro
ZXIgcHJvY2VzcyBpcyB0cnlpbmcgdG8gdXNlIHRoZSBzYW1lCnRlbXBvcmFy
eSBvYmplY3QgZmlsZSwgYW5kIGxpYnRvb2wgY291bGQgbm90IHdvcmsgYXJv
dW5kIGl0IGJlY2F1c2UKeW91ciBjb21waWxlciBkb2VzIG5vdCBzdXBwb3J0
IFxgLWMnIGFuZCBcYC1vJyB0b2dldGhlci4gIElmIHlvdQpyZXBlYXQgdGhp
cyBjb21waWxhdGlvbiwgaXQgbWF5IHN1Y2NlZWQsIGJ5IGNoYW5jZSwgYnV0
IHlvdSBoYWQgYmV0dGVyCmF2b2lkIHBhcmFsbGVsIGJ1aWxkcyAobWFrZSAt
aikgaW4gdGhpcyBwbGF0Zm9ybSwgb3IgZ2V0IGEgYmV0dGVyCmNvbXBpbGVy
LiIKCgkkb3B0X2RyeV9ydW4gfHwgJFJNICRyZW1vdmVsaXN0CglleGl0ICRF
WElUX0ZBSUxVUkUKICAgICAgZmkKCiAgICAgICMgSnVzdCBtb3ZlIHRoZSBv
YmplY3QgaWYgbmVlZGVkLCB0aGVuIGdvIG9uIHRvIGNvbXBpbGUgdGhlIG5l
eHQgb25lCiAgICAgIGlmIHRlc3QgLW4gIiRvdXRwdXRfb2JqIiAmJiB0ZXN0
ICJYJG91dHB1dF9vYmoiICE9ICJYJGxvYmoiOyB0aGVuCglmdW5jX3Nob3df
ZXZhbCAnJE1WICIkb3V0cHV0X29iaiIgIiRsb2JqIicgXAoJICAnZXJyb3I9
JD87ICRvcHRfZHJ5X3J1biB8fCAkUk0gJHJlbW92ZWxpc3Q7IGV4aXQgJGVy
cm9yJwogICAgICBmaQoKICAgICAgIyBBbGxvdyBlcnJvciBtZXNzYWdlcyBv
bmx5IGZyb20gdGhlIGZpcnN0IGNvbXBpbGF0aW9uLgogICAgICBpZiB0ZXN0
ICIkc3VwcHJlc3Nfb3B0IiA9IHllczsgdGhlbgoJc3VwcHJlc3Nfb3V0cHV0
PScgPi9kZXYvbnVsbCAyPiYxJwogICAgICBmaQogICAgZmkKCiAgICAjIE9u
bHkgYnVpbGQgYSBwb3NpdGlvbi1kZXBlbmRlbnQgb2JqZWN0IGlmIHdlIGJ1
aWxkIG9sZCBsaWJyYXJpZXMuCiAgICBpZiB0ZXN0ICIkYnVpbGRfb2xkX2xp
YnMiID0geWVzOyB0aGVuCiAgICAgIGlmIHRlc3QgIiRwaWNfbW9kZSIgIT0g
eWVzOyB0aGVuCgkjIERvbid0IGJ1aWxkIFBJQyBjb2RlCgljb21tYW5kPSIk
YmFzZV9jb21waWxlICRxc3JjZmlsZSRwaWVfZmxhZyIKICAgICAgZWxzZQoJ
Y29tbWFuZD0iJGJhc2VfY29tcGlsZSAkcXNyY2ZpbGUgJHBpY19mbGFnIgog
ICAgICBmaQogICAgICBpZiB0ZXN0ICIkY29tcGlsZXJfY19vIiA9IHllczsg
dGhlbgoJY29tbWFuZCs9IiAtbyAkb2JqIgogICAgICBmaQoKICAgICAgIyBT
dXBwcmVzcyBjb21waWxlciBvdXRwdXQgaWYgd2UgYWxyZWFkeSBkaWQgYSBQ
SUMgY29tcGlsYXRpb24uCiAgICAgIGNvbW1hbmQrPSIkc3VwcHJlc3Nfb3V0
cHV0IgogICAgICBmdW5jX3Nob3dfZXZhbF9sb2NhbGUgIiRjb21tYW5kIiBc
CiAgICAgICAgJyRvcHRfZHJ5X3J1biB8fCAkUk0gJHJlbW92ZWxpc3Q7IGV4
aXQgJEVYSVRfRkFJTFVSRScKCiAgICAgIGlmIHRlc3QgIiRuZWVkX2xvY2tz
IiA9IHdhcm4gJiYKCSB0ZXN0ICJYYGNhdCAkbG9ja2ZpbGUgMj4vZGV2L251
bGxgIiAhPSAiWCRzcmNmaWxlIjsgdGhlbgoJJEVDSE8gIlwKKioqIEVSUk9S
LCAkbG9ja2ZpbGUgY29udGFpbnM6CmBjYXQgJGxvY2tmaWxlIDI+L2Rldi9u
dWxsYAoKYnV0IGl0IHNob3VsZCBjb250YWluOgokc3JjZmlsZQoKVGhpcyBp
bmRpY2F0ZXMgdGhhdCBhbm90aGVyIHByb2Nlc3MgaXMgdHJ5aW5nIHRvIHVz
ZSB0aGUgc2FtZQp0ZW1wb3Jhcnkgb2JqZWN0IGZpbGUsIGFuZCBsaWJ0b29s
IGNvdWxkIG5vdCB3b3JrIGFyb3VuZCBpdCBiZWNhdXNlCnlvdXIgY29tcGls
ZXIgZG9lcyBub3Qgc3VwcG9ydCBcYC1jJyBhbmQgXGAtbycgdG9nZXRoZXIu
ICBJZiB5b3UKcmVwZWF0IHRoaXMgY29tcGlsYXRpb24sIGl0IG1heSBzdWNj
ZWVkLCBieSBjaGFuY2UsIGJ1dCB5b3UgaGFkIGJldHRlcgphdm9pZCBwYXJh
bGxlbCBidWlsZHMgKG1ha2UgLWopIGluIHRoaXMgcGxhdGZvcm0sIG9yIGdl
dCBhIGJldHRlcgpjb21waWxlci4iCgoJJG9wdF9kcnlfcnVuIHx8ICRSTSAk
cmVtb3ZlbGlzdAoJZXhpdCAkRVhJVF9GQUlMVVJFCiAgICAgIGZpCgogICAg
ICAjIEp1c3QgbW92ZSB0aGUgb2JqZWN0IGlmIG5lZWRlZAogICAgICBpZiB0
ZXN0IC1uICIkb3V0cHV0X29iaiIgJiYgdGVzdCAiWCRvdXRwdXRfb2JqIiAh
PSAiWCRvYmoiOyB0aGVuCglmdW5jX3Nob3dfZXZhbCAnJE1WICIkb3V0cHV0
X29iaiIgIiRvYmoiJyBcCgkgICdlcnJvcj0kPzsgJG9wdF9kcnlfcnVuIHx8
ICRSTSAkcmVtb3ZlbGlzdDsgZXhpdCAkZXJyb3InCiAgICAgIGZpCiAgICBm
aQoKICAgICRvcHRfZHJ5X3J1biB8fCB7CiAgICAgIGZ1bmNfd3JpdGVfbGli
dG9vbF9vYmplY3QgIiRsaWJvYmoiICIkb2JqZGlyLyRvYmpuYW1lIiAiJG9i
am5hbWUiCgogICAgICAjIFVubG9jayB0aGUgY3JpdGljYWwgc2VjdGlvbiBp
ZiBpdCB3YXMgbG9ja2VkCiAgICAgIGlmIHRlc3QgIiRuZWVkX2xvY2tzIiAh
PSBubzsgdGhlbgoJcmVtb3ZlbGlzdD0kbG9ja2ZpbGUKICAgICAgICAkUk0g
IiRsb2NrZmlsZSIKICAgICAgZmkKICAgIH0KCiAgICBleGl0ICRFWElUX1NV
Q0NFU1MKfQoKJG9wdF9oZWxwIHx8IHsKICB0ZXN0ICIkb3B0X21vZGUiID0g
Y29tcGlsZSAmJiBmdW5jX21vZGVfY29tcGlsZSAkezErIiRAIn0KfQoKZnVu
Y19tb2RlX2hlbHAgKCkKewogICAgIyBXZSBuZWVkIHRvIGRpc3BsYXkgaGVs
cCBmb3IgZWFjaCBvZiB0aGUgbW9kZXMuCiAgICBjYXNlICRvcHRfbW9kZSBp
bgogICAgICAiIikKICAgICAgICAjIEdlbmVyaWMgaGVscCBpcyBleHRyYWN0
ZWQgZnJvbSB0aGUgdXNhZ2UgY29tbWVudHMKICAgICAgICAjIGF0IHRoZSBz
dGFydCBvZiB0aGlzIGZpbGUuCiAgICAgICAgZnVuY19oZWxwCiAgICAgICAg
OzsKCiAgICAgIGNsZWFuKQogICAgICAgICRFQ0hPIFwKIlVzYWdlOiAkcHJv
Z25hbWUgW09QVElPTl0uLi4gLS1tb2RlPWNsZWFuIFJNIFtSTS1PUFRJT05d
Li4uIEZJTEUuLi4KClJlbW92ZSBmaWxlcyBmcm9tIHRoZSBidWlsZCBkaXJl
Y3RvcnkuCgpSTSBpcyB0aGUgbmFtZSBvZiB0aGUgcHJvZ3JhbSB0byB1c2Ug
dG8gZGVsZXRlIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBlYWNoIEZJTEUKKHR5
cGljYWxseSBcYC9iaW4vcm0nKS4gIFJNLU9QVElPTlMgYXJlIG9wdGlvbnMg
KHN1Y2ggYXMgXGAtZicpIHRvIGJlIHBhc3NlZAp0byBSTS4KCklmIEZJTEUg
aXMgYSBsaWJ0b29sIGxpYnJhcnksIG9iamVjdCBvciBwcm9ncmFtLCBhbGwg
dGhlIGZpbGVzIGFzc29jaWF0ZWQKd2l0aCBpdCBhcmUgZGVsZXRlZC4gT3Ro
ZXJ3aXNlLCBvbmx5IEZJTEUgaXRzZWxmIGlzIGRlbGV0ZWQgdXNpbmcgUk0u
IgogICAgICAgIDs7CgogICAgICBjb21waWxlKQogICAgICAkRUNITyBcCiJV
c2FnZTogJHByb2duYW1lIFtPUFRJT05dLi4uIC0tbW9kZT1jb21waWxlIENP
TVBJTEUtQ09NTUFORC4uLiBTT1VSQ0VGSUxFCgpDb21waWxlIGEgc291cmNl
IGZpbGUgaW50byBhIGxpYnRvb2wgbGlicmFyeSBvYmplY3QuCgpUaGlzIG1v
ZGUgYWNjZXB0cyB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgb3B0aW9uczoK
CiAgLW8gT1VUUFVULUZJTEUgICAgc2V0IHRoZSBvdXRwdXQgZmlsZSBuYW1l
IHRvIE9VVFBVVC1GSUxFCiAgLW5vLXN1cHByZXNzICAgICAgZG8gbm90IHN1
cHByZXNzIGNvbXBpbGVyIG91dHB1dCBmb3IgbXVsdGlwbGUgcGFzc2VzCiAg
LXByZWZlci1waWMgICAgICAgdHJ5IHRvIGJ1aWxkIFBJQyBvYmplY3RzIG9u
bHkKICAtcHJlZmVyLW5vbi1waWMgICB0cnkgdG8gYnVpbGQgbm9uLVBJQyBv
YmplY3RzIG9ubHkKICAtc2hhcmVkICAgICAgICAgICBkbyBub3QgYnVpbGQg
YSBcYC5vJyBmaWxlIHN1aXRhYmxlIGZvciBzdGF0aWMgbGlua2luZwogIC1z
dGF0aWMgICAgICAgICAgIG9ubHkgYnVpbGQgYSBcYC5vJyBmaWxlIHN1aXRh
YmxlIGZvciBzdGF0aWMgbGlua2luZwogIC1XYyxGTEFHICAgICAgICAgIHBh
c3MgRkxBRyBkaXJlY3RseSB0byB0aGUgY29tcGlsZXIKCkNPTVBJTEUtQ09N
TUFORCBpcyBhIGNvbW1hbmQgdG8gYmUgdXNlZCBpbiBjcmVhdGluZyBhIFxg
c3RhbmRhcmQnIG9iamVjdCBmaWxlCmZyb20gdGhlIGdpdmVuIFNPVVJDRUZJ
TEUuCgpUaGUgb3V0cHV0IGZpbGUgbmFtZSBpcyBkZXRlcm1pbmVkIGJ5IHJl
bW92aW5nIHRoZSBkaXJlY3RvcnkgY29tcG9uZW50IGZyb20KU09VUkNFRklM
RSwgdGhlbiBzdWJzdGl0dXRpbmcgdGhlIEMgc291cmNlIGNvZGUgc3VmZml4
IFxgLmMnIHdpdGggdGhlCmxpYnJhcnkgb2JqZWN0IHN1ZmZpeCwgXGAubG8n
LiIKICAgICAgICA7OwoKICAgICAgZXhlY3V0ZSkKICAgICAgICAkRUNITyBc
CiJVc2FnZTogJHByb2duYW1lIFtPUFRJT05dLi4uIC0tbW9kZT1leGVjdXRl
IENPTU1BTkQgW0FSR1NdLi4uCgpBdXRvbWF0aWNhbGx5IHNldCBsaWJyYXJ5
IHBhdGgsIHRoZW4gcnVuIGEgcHJvZ3JhbS4KClRoaXMgbW9kZSBhY2NlcHRz
IHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBvcHRpb25zOgoKICAtZGxvcGVu
IEZJTEUgICAgICBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIEZJTEUg
dG8gdGhlIGxpYnJhcnkgcGF0aAoKVGhpcyBtb2RlIHNldHMgdGhlIGxpYnJh
cnkgcGF0aCBlbnZpcm9ubWVudCB2YXJpYWJsZSBhY2NvcmRpbmcgdG8gXGAt
ZGxvcGVuJwpmbGFncy4KCklmIGFueSBvZiB0aGUgQVJHUyBhcmUgbGlidG9v
bCBleGVjdXRhYmxlIHdyYXBwZXJzLCB0aGVuIHRoZXkgYXJlIHRyYW5zbGF0
ZWQKaW50byB0aGVpciBjb3JyZXNwb25kaW5nIHVuaW5zdGFsbGVkIGJpbmFy
eSwgYW5kIGFueSBvZiB0aGVpciByZXF1aXJlZCBsaWJyYXJ5CmRpcmVjdG9y
aWVzIGFyZSBhZGRlZCB0byB0aGUgbGlicmFyeSBwYXRoLgoKVGhlbiwgQ09N
TUFORCBpcyBleGVjdXRlZCwgd2l0aCBBUkdTIGFzIGFyZ3VtZW50cy4iCiAg
ICAgICAgOzsKCiAgICAgIGZpbmlzaCkKICAgICAgICAkRUNITyBcCiJVc2Fn
ZTogJHByb2duYW1lIFtPUFRJT05dLi4uIC0tbW9kZT1maW5pc2ggW0xJQkRJ
Ul0uLi4KCkNvbXBsZXRlIHRoZSBpbnN0YWxsYXRpb24gb2YgbGlidG9vbCBs
aWJyYXJpZXMuCgpFYWNoIExJQkRJUiBpcyBhIGRpcmVjdG9yeSB0aGF0IGNv
bnRhaW5zIGxpYnRvb2wgbGlicmFyaWVzLgoKVGhlIGNvbW1hbmRzIHRoYXQg
dGhpcyBtb2RlIGV4ZWN1dGVzIG1heSByZXF1aXJlIHN1cGVydXNlciBwcml2
aWxlZ2VzLiAgVXNlCnRoZSBcYC0tZHJ5LXJ1bicgb3B0aW9uIGlmIHlvdSBq
dXN0IHdhbnQgdG8gc2VlIHdoYXQgd291bGQgYmUgZXhlY3V0ZWQuIgogICAg
ICAgIDs7CgogICAgICBpbnN0YWxsKQogICAgICAgICRFQ0hPIFwKIlVzYWdl
OiAkcHJvZ25hbWUgW09QVElPTl0uLi4gLS1tb2RlPWluc3RhbGwgSU5TVEFM
TC1DT01NQU5ELi4uCgpJbnN0YWxsIGV4ZWN1dGFibGVzIG9yIGxpYnJhcmll
cy4KCklOU1RBTEwtQ09NTUFORCBpcyB0aGUgaW5zdGFsbGF0aW9uIGNvbW1h
bmQuICBUaGUgZmlyc3QgY29tcG9uZW50IHNob3VsZCBiZQplaXRoZXIgdGhl
IFxgaW5zdGFsbCcgb3IgXGBjcCcgcHJvZ3JhbS4KClRoZSBmb2xsb3dpbmcg
Y29tcG9uZW50cyBvZiBJTlNUQUxMLUNPTU1BTkQgYXJlIHRyZWF0ZWQgc3Bl
Y2lhbGx5OgoKICAtaW5zdC1wcmVmaXgtZGlyIFBSRUZJWC1ESVIgIFVzZSBQ
UkVGSVgtRElSIGFzIGEgc3RhZ2luZyBhcmVhIGZvciBpbnN0YWxsYXRpb24K
ClRoZSByZXN0IG9mIHRoZSBjb21wb25lbnRzIGFyZSBpbnRlcnByZXRlZCBh
cyBhcmd1bWVudHMgdG8gdGhhdCBjb21tYW5kIChvbmx5CkJTRC1jb21wYXRp
YmxlIGluc3RhbGwgb3B0aW9ucyBhcmUgcmVjb2duaXplZCkuIgogICAgICAg
IDs7CgogICAgICBsaW5rKQogICAgICAgICRFQ0hPIFwKIlVzYWdlOiAkcHJv
Z25hbWUgW09QVElPTl0uLi4gLS1tb2RlPWxpbmsgTElOSy1DT01NQU5ELi4u
CgpMaW5rIG9iamVjdCBmaWxlcyBvciBsaWJyYXJpZXMgdG9nZXRoZXIgdG8g
Zm9ybSBhbm90aGVyIGxpYnJhcnksIG9yIHRvCmNyZWF0ZSBhbiBleGVjdXRh
YmxlIHByb2dyYW0uCgpMSU5LLUNPTU1BTkQgaXMgYSBjb21tYW5kIHVzaW5n
IHRoZSBDIGNvbXBpbGVyIHRoYXQgeW91IHdvdWxkIHVzZSB0byBjcmVhdGUK
YSBwcm9ncmFtIGZyb20gc2V2ZXJhbCBvYmplY3QgZmlsZXMuCgpUaGUgZm9s
bG93aW5nIGNvbXBvbmVudHMgb2YgTElOSy1DT01NQU5EIGFyZSB0cmVhdGVk
IHNwZWNpYWxseToKCiAgLWFsbC1zdGF0aWMgICAgICAgZG8gbm90IGRvIGFu
eSBkeW5hbWljIGxpbmtpbmcgYXQgYWxsCiAgLWF2b2lkLXZlcnNpb24gICAg
ZG8gbm90IGFkZCBhIHZlcnNpb24gc3VmZml4IGlmIHBvc3NpYmxlCiAgLWJp
bmRpciBCSU5ESVIgICAgc3BlY2lmeSBwYXRoIHRvIGJpbmFyaWVzIGRpcmVj
dG9yeSAoZm9yIHN5c3RlbXMgd2hlcmUKICAgICAgICAgICAgICAgICAgICBs
aWJyYXJpZXMgbXVzdCBiZSBmb3VuZCBpbiB0aGUgUEFUSCBzZXR0aW5nIGF0
IHJ1bnRpbWUpCiAgLWRsb3BlbiBGSUxFICAgICAgXGAtZGxwcmVvcGVuJyBG
SUxFIGlmIGl0IGNhbm5vdCBiZSBkbG9wZW5lZCBhdCBydW50aW1lCiAgLWRs
cHJlb3BlbiBGSUxFICAgbGluayBpbiBGSUxFIGFuZCBhZGQgaXRzIHN5bWJv
bHMgdG8gbHRfcHJlbG9hZGVkX3N5bWJvbHMKICAtZXhwb3J0LWR5bmFtaWMg
ICBhbGxvdyBzeW1ib2xzIGZyb20gT1VUUFVULUZJTEUgdG8gYmUgcmVzb2x2
ZWQgd2l0aCBkbHN5bSgzKQogIC1leHBvcnQtc3ltYm9scyBTWU1GSUxFCiAg
ICAgICAgICAgICAgICAgICAgdHJ5IHRvIGV4cG9ydCBvbmx5IHRoZSBzeW1i
b2xzIGxpc3RlZCBpbiBTWU1GSUxFCiAgLWV4cG9ydC1zeW1ib2xzLXJlZ2V4
IFJFR0VYCiAgICAgICAgICAgICAgICAgICAgdHJ5IHRvIGV4cG9ydCBvbmx5
IHRoZSBzeW1ib2xzIG1hdGNoaW5nIFJFR0VYCiAgLUxMSUJESVIgICAgICAg
ICAgc2VhcmNoIExJQkRJUiBmb3IgcmVxdWlyZWQgaW5zdGFsbGVkIGxpYnJh
cmllcwogIC1sTkFNRSAgICAgICAgICAgIE9VVFBVVC1GSUxFIHJlcXVpcmVz
IHRoZSBpbnN0YWxsZWQgbGlicmFyeSBsaWJOQU1FCiAgLW1vZHVsZSAgICAg
ICAgICAgYnVpbGQgYSBsaWJyYXJ5IHRoYXQgY2FuIGRsb3BlbmVkCiAgLW5v
LWZhc3QtaW5zdGFsbCAgZGlzYWJsZSB0aGUgZmFzdC1pbnN0YWxsIG1vZGUK
ICAtbm8taW5zdGFsbCAgICAgICBsaW5rIGEgbm90LWluc3RhbGxhYmxlIGV4
ZWN1dGFibGUKICAtbm8tdW5kZWZpbmVkICAgICBkZWNsYXJlIHRoYXQgYSBs
aWJyYXJ5IGRvZXMgbm90IHJlZmVyIHRvIGV4dGVybmFsIHN5bWJvbHMKICAt
byBPVVRQVVQtRklMRSAgICBjcmVhdGUgT1VUUFVULUZJTEUgZnJvbSB0aGUg
c3BlY2lmaWVkIG9iamVjdHMKICAtb2JqZWN0bGlzdCBGSUxFICBVc2UgYSBs
aXN0IG9mIG9iamVjdCBmaWxlcyBmb3VuZCBpbiBGSUxFIHRvIHNwZWNpZnkg
b2JqZWN0cwogIC1wcmVjaW91cy1maWxlcy1yZWdleCBSRUdFWAogICAgICAg
ICAgICAgICAgICAgIGRvbid0IHJlbW92ZSBvdXRwdXQgZmlsZXMgbWF0Y2hp
bmcgUkVHRVgKICAtcmVsZWFzZSBSRUxFQVNFICBzcGVjaWZ5IHBhY2thZ2Ug
cmVsZWFzZSBpbmZvcm1hdGlvbgogIC1ycGF0aCBMSUJESVIgICAgIHRoZSBj
cmVhdGVkIGxpYnJhcnkgd2lsbCBldmVudHVhbGx5IGJlIGluc3RhbGxlZCBp
biBMSUJESVIKICAtUlsgXUxJQkRJUiAgICAgICBhZGQgTElCRElSIHRvIHRo
ZSBydW50aW1lIHBhdGggb2YgcHJvZ3JhbXMgYW5kIGxpYnJhcmllcwogIC1z
aGFyZWQgICAgICAgICAgIG9ubHkgZG8gZHluYW1pYyBsaW5raW5nIG9mIGxp
YnRvb2wgbGlicmFyaWVzCiAgLXNocmV4dCBTVUZGSVggICAgb3ZlcnJpZGUg
dGhlIHN0YW5kYXJkIHNoYXJlZCBsaWJyYXJ5IGZpbGUgZXh0ZW5zaW9uCiAg
LXN0YXRpYyAgICAgICAgICAgZG8gbm90IGRvIGFueSBkeW5hbWljIGxpbmtp
bmcgb2YgdW5pbnN0YWxsZWQgbGlidG9vbCBsaWJyYXJpZXMKICAtc3RhdGlj
LWxpYnRvb2wtbGlicwogICAgICAgICAgICAgICAgICAgIGRvIG5vdCBkbyBh
bnkgZHluYW1pYyBsaW5raW5nIG9mIGxpYnRvb2wgbGlicmFyaWVzCiAgLXZl
cnNpb24taW5mbyBDVVJSRU5UWzpSRVZJU0lPTls6QUdFXV0KICAgICAgICAg
ICAgICAgICAgICBzcGVjaWZ5IGxpYnJhcnkgdmVyc2lvbiBpbmZvIFtlYWNo
IHZhcmlhYmxlIGRlZmF1bHRzIHRvIDBdCiAgLXdlYWsgTElCTkFNRSAgICAg
ZGVjbGFyZSB0aGF0IHRoZSB0YXJnZXQgcHJvdmlkZXMgdGhlIExJQk5BTUUg
aW50ZXJmYWNlCiAgLVdjLEZMQUcKICAtWGNvbXBpbGVyIEZMQUcgICBwYXNz
IGxpbmtlci1zcGVjaWZpYyBGTEFHIGRpcmVjdGx5IHRvIHRoZSBjb21waWxl
cgogIC1XbCxGTEFHCiAgLVhsaW5rZXIgRkxBRyAgICAgcGFzcyBsaW5rZXIt
c3BlY2lmaWMgRkxBRyBkaXJlY3RseSB0byB0aGUgbGlua2VyCiAgLVhDQ2xp
bmtlciBGTEFHICAgcGFzcyBsaW5rLXNwZWNpZmljIEZMQUcgdG8gdGhlIGNv
bXBpbGVyIGRyaXZlciAoQ0MpCgpBbGwgb3RoZXIgb3B0aW9ucyAoYXJndW1l
bnRzIGJlZ2lubmluZyB3aXRoIFxgLScpIGFyZSBpZ25vcmVkLgoKRXZlcnkg
b3RoZXIgYXJndW1lbnQgaXMgdHJlYXRlZCBhcyBhIGZpbGVuYW1lLiAgRmls
ZXMgZW5kaW5nIGluIFxgLmxhJyBhcmUKdHJlYXRlZCBhcyB1bmluc3RhbGxl
ZCBsaWJ0b29sIGxpYnJhcmllcywgb3RoZXIgZmlsZXMgYXJlIHN0YW5kYXJk
IG9yIGxpYnJhcnkKb2JqZWN0IGZpbGVzLgoKSWYgdGhlIE9VVFBVVC1GSUxF
IGVuZHMgaW4gXGAubGEnLCB0aGVuIGEgbGlidG9vbCBsaWJyYXJ5IGlzIGNy
ZWF0ZWQsCm9ubHkgbGlicmFyeSBvYmplY3RzIChcYC5sbycgZmlsZXMpIG1h
eSBiZSBzcGVjaWZpZWQsIGFuZCBcYC1ycGF0aCcgaXMKcmVxdWlyZWQsIGV4
Y2VwdCB3aGVuIGNyZWF0aW5nIGEgY29udmVuaWVuY2UgbGlicmFyeS4KCklm
IE9VVFBVVC1GSUxFIGVuZHMgaW4gXGAuYScgb3IgXGAubGliJywgdGhlbiBh
IHN0YW5kYXJkIGxpYnJhcnkgaXMgY3JlYXRlZAp1c2luZyBcYGFyJyBhbmQg
XGByYW5saWInLCBvciBvbiBXaW5kb3dzIHVzaW5nIFxgbGliJy4KCklmIE9V
VFBVVC1GSUxFIGVuZHMgaW4gXGAubG8nIG9yIFxgLiR7b2JqZXh0fScsIHRo
ZW4gYSByZWxvYWRhYmxlIG9iamVjdCBmaWxlCmlzIGNyZWF0ZWQsIG90aGVy
d2lzZSBhbiBleGVjdXRhYmxlIHByb2dyYW0gaXMgY3JlYXRlZC4iCiAgICAg
ICAgOzsKCiAgICAgIHVuaW5zdGFsbCkKICAgICAgICAkRUNITyBcCiJVc2Fn
ZTogJHByb2duYW1lIFtPUFRJT05dLi4uIC0tbW9kZT11bmluc3RhbGwgUk0g
W1JNLU9QVElPTl0uLi4gRklMRS4uLgoKUmVtb3ZlIGxpYnJhcmllcyBmcm9t
IGFuIGluc3RhbGxhdGlvbiBkaXJlY3RvcnkuCgpSTSBpcyB0aGUgbmFtZSBv
ZiB0aGUgcHJvZ3JhbSB0byB1c2UgdG8gZGVsZXRlIGZpbGVzIGFzc29jaWF0
ZWQgd2l0aCBlYWNoIEZJTEUKKHR5cGljYWxseSBcYC9iaW4vcm0nKS4gIFJN
LU9QVElPTlMgYXJlIG9wdGlvbnMgKHN1Y2ggYXMgXGAtZicpIHRvIGJlIHBh
c3NlZAp0byBSTS4KCklmIEZJTEUgaXMgYSBsaWJ0b29sIGxpYnJhcnksIGFs
bCB0aGUgZmlsZXMgYXNzb2NpYXRlZCB3aXRoIGl0IGFyZSBkZWxldGVkLgpP
dGhlcndpc2UsIG9ubHkgRklMRSBpdHNlbGYgaXMgZGVsZXRlZCB1c2luZyBS
TS4iCiAgICAgICAgOzsKCiAgICAgICopCiAgICAgICAgZnVuY19mYXRhbF9o
ZWxwICJpbnZhbGlkIG9wZXJhdGlvbiBtb2RlIFxgJG9wdF9tb2RlJyIKICAg
ICAgICA7OwogICAgZXNhYwoKICAgIGVjaG8KICAgICRFQ0hPICJUcnkgXGAk
cHJvZ25hbWUgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBv
dGhlciBtb2Rlcy4iCn0KCiMgTm93IHRoYXQgd2UndmUgY29sbGVjdGVkIGEg
cG9zc2libGUgLS1tb2RlIGFyZywgc2hvdyBoZWxwIGlmIG5lY2Vzc2FyeQpp
ZiAkb3B0X2hlbHA7IHRoZW4KICBpZiB0ZXN0ICIkb3B0X2hlbHAiID0gOjsg
dGhlbgogICAgZnVuY19tb2RlX2hlbHAKICBlbHNlCiAgICB7CiAgICAgIGZ1
bmNfaGVscCBub2V4aXQKICAgICAgZm9yIG9wdF9tb2RlIGluIGNvbXBpbGUg
bGluayBleGVjdXRlIGluc3RhbGwgZmluaXNoIHVuaW5zdGFsbCBjbGVhbjsg
ZG8KCWZ1bmNfbW9kZV9oZWxwCiAgICAgIGRvbmUKICAgIH0gfCBzZWQgLW4g
JzFwOyAyLCRzL15Vc2FnZTovICBvcjogL3AnCiAgICB7CiAgICAgIGZ1bmNf
aGVscCBub2V4aXQKICAgICAgZm9yIG9wdF9tb2RlIGluIGNvbXBpbGUgbGlu
ayBleGVjdXRlIGluc3RhbGwgZmluaXNoIHVuaW5zdGFsbCBjbGVhbjsgZG8K
CWVjaG8KCWZ1bmNfbW9kZV9oZWxwCiAgICAgIGRvbmUKICAgIH0gfAogICAg
c2VkICcxZAogICAgICAvXldoZW4gcmVwb3J0aW5nLywvXlJlcG9ydC97CglI
CglkCiAgICAgIH0KICAgICAgJHgKICAgICAgL2luZm9ybWF0aW9uIGFib3V0
IG90aGVyIG1vZGVzL2QKICAgICAgL21vcmUgZGV0YWlsZWQgLipNT0RFL2QK
ICAgICAgcy9eVXNhZ2U6LiotLW1vZGU9XChbXiBdKlwpIC4qL0Rlc2NyaXB0
aW9uIG9mIFwxIG1vZGU6LycKICBmaQogIGV4aXQgJD8KZmkKCgojIGZ1bmNf
bW9kZV9leGVjdXRlIGFyZy4uLgpmdW5jX21vZGVfZXhlY3V0ZSAoKQp7CiAg
ICAkb3B0X2RlYnVnCiAgICAjIFRoZSBmaXJzdCBhcmd1bWVudCBpcyB0aGUg
Y29tbWFuZCBuYW1lLgogICAgY21kPSIkbm9ub3B0IgogICAgdGVzdCAteiAi
JGNtZCIgJiYgXAogICAgICBmdW5jX2ZhdGFsX2hlbHAgInlvdSBtdXN0IHNw
ZWNpZnkgYSBDT01NQU5EIgoKICAgICMgSGFuZGxlIC1kbG9wZW4gZmxhZ3Mg
aW1tZWRpYXRlbHkuCiAgICBmb3IgZmlsZSBpbiAkb3B0X2Rsb3BlbjsgZG8K
ICAgICAgdGVzdCAtZiAiJGZpbGUiIFwKCXx8IGZ1bmNfZmF0YWxfaGVscCAi
XGAkZmlsZScgaXMgbm90IGEgZmlsZSIKCiAgICAgIGRpcj0KICAgICAgY2Fz
ZSAkZmlsZSBpbgogICAgICAqLmxhKQoJZnVuY19yZXNvbHZlX3N5c3Jvb3Qg
IiRmaWxlIgoJZmlsZT0kZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVzdWx0CgoJ
IyBDaGVjayB0byBzZWUgdGhhdCB0aGlzIHJlYWxseSBpcyBhIGxpYnRvb2wg
YXJjaGl2ZS4KCWZ1bmNfbGFsaWJfdW5zYWZlX3AgIiRmaWxlIiBcCgkgIHx8
IGZ1bmNfZmF0YWxfaGVscCAiXGAkbGliJyBpcyBub3QgYSB2YWxpZCBsaWJ0
b29sIGFyY2hpdmUiCgoJIyBSZWFkIHRoZSBsaWJ0b29sIGxpYnJhcnkuCglk
bG5hbWU9CglsaWJyYXJ5X25hbWVzPQoJZnVuY19zb3VyY2UgIiRmaWxlIgoK
CSMgU2tpcCB0aGlzIGxpYnJhcnkgaWYgaXQgY2Fubm90IGJlIGRsb3BlbmVk
LgoJaWYgdGVzdCAteiAiJGRsbmFtZSI7IHRoZW4KCSAgIyBXYXJuIGlmIGl0
IHdhcyBhIHNoYXJlZCBsaWJyYXJ5LgoJICB0ZXN0IC1uICIkbGlicmFyeV9u
YW1lcyIgJiYgXAoJICAgIGZ1bmNfd2FybmluZyAiXGAkZmlsZScgd2FzIG5v
dCBsaW5rZWQgd2l0aCBcYC1leHBvcnQtZHluYW1pYyciCgkgIGNvbnRpbnVl
CglmaQoKCWZ1bmNfZGlybmFtZSAiJGZpbGUiICIiICIuIgoJZGlyPSIkZnVu
Y19kaXJuYW1lX3Jlc3VsdCIKCglpZiB0ZXN0IC1mICIkZGlyLyRvYmpkaXIv
JGRsbmFtZSI7IHRoZW4KCSAgZGlyKz0iLyRvYmpkaXIiCgllbHNlCgkgIGlm
IHRlc3QgISAtZiAiJGRpci8kZGxuYW1lIjsgdGhlbgoJICAgIGZ1bmNfZmF0
YWxfZXJyb3IgImNhbm5vdCBmaW5kIFxgJGRsbmFtZScgaW4gXGAkZGlyJyBv
ciBcYCRkaXIvJG9iamRpciciCgkgIGZpCglmaQoJOzsKCiAgICAgICoubG8p
CgkjIEp1c3QgYWRkIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgLmxv
IGZpbGUuCglmdW5jX2Rpcm5hbWUgIiRmaWxlIiAiIiAiLiIKCWRpcj0iJGZ1
bmNfZGlybmFtZV9yZXN1bHQiCgk7OwoKICAgICAgKikKCWZ1bmNfd2Fybmlu
ZyAiXGAtZGxvcGVuJyBpcyBpZ25vcmVkIGZvciBub24tbGlidG9vbCBsaWJy
YXJpZXMgYW5kIG9iamVjdHMiCgljb250aW51ZQoJOzsKICAgICAgZXNhYwoK
ICAgICAgIyBHZXQgdGhlIGFic29sdXRlIHBhdGhuYW1lLgogICAgICBhYnNk
aXI9YGNkICIkZGlyIiAmJiBwd2RgCiAgICAgIHRlc3QgLW4gIiRhYnNkaXIi
ICYmIGRpcj0iJGFic2RpciIKCiAgICAgICMgTm93IGFkZCB0aGUgZGlyZWN0
b3J5IHRvIHNobGlicGF0aF92YXIuCiAgICAgIGlmIGV2YWwgInRlc3QgLXog
XCJcJCRzaGxpYnBhdGhfdmFyXCIiOyB0aGVuCglldmFsICIkc2hsaWJwYXRo
X3Zhcj1cIlwkZGlyXCIiCiAgICAgIGVsc2UKCWV2YWwgIiRzaGxpYnBhdGhf
dmFyPVwiXCRkaXI6XCQkc2hsaWJwYXRoX3ZhclwiIgogICAgICBmaQogICAg
ZG9uZQoKICAgICMgVGhpcyB2YXJpYWJsZSB0ZWxscyB3cmFwcGVyIHNjcmlw
dHMganVzdCB0byBzZXQgc2hsaWJwYXRoX3ZhcgogICAgIyByYXRoZXIgdGhh
biBydW5uaW5nIHRoZWlyIHByb2dyYW1zLgogICAgbGlidG9vbF9leGVjdXRl
X21hZ2ljPSIkbWFnaWMiCgogICAgIyBDaGVjayBpZiBhbnkgb2YgdGhlIGFy
Z3VtZW50cyBpcyBhIHdyYXBwZXIgc2NyaXB0LgogICAgYXJncz0KICAgIGZv
ciBmaWxlCiAgICBkbwogICAgICBjYXNlICRmaWxlIGluCiAgICAgIC0qIHwg
Ki5sYSB8ICoubG8gKSA7OwogICAgICAqKQoJIyBEbyBhIHRlc3QgdG8gc2Vl
IGlmIHRoaXMgaXMgcmVhbGx5IGEgbGlidG9vbCBwcm9ncmFtLgoJaWYgZnVu
Y19sdHdyYXBwZXJfc2NyaXB0X3AgIiRmaWxlIjsgdGhlbgoJICBmdW5jX3Nv
dXJjZSAiJGZpbGUiCgkgICMgVHJhbnNmb3JtIGFyZyB0byB3cmFwcGVkIG5h
bWUuCgkgIGZpbGU9IiRwcm9nZGlyLyRwcm9ncmFtIgoJZWxpZiBmdW5jX2x0
d3JhcHBlcl9leGVjdXRhYmxlX3AgIiRmaWxlIjsgdGhlbgoJICBmdW5jX2x0
d3JhcHBlcl9zY3JpcHRuYW1lICIkZmlsZSIKCSAgZnVuY19zb3VyY2UgIiRm
dW5jX2x0d3JhcHBlcl9zY3JpcHRuYW1lX3Jlc3VsdCIKCSAgIyBUcmFuc2Zv
cm0gYXJnIHRvIHdyYXBwZWQgbmFtZS4KCSAgZmlsZT0iJHByb2dkaXIvJHBy
b2dyYW0iCglmaQoJOzsKICAgICAgZXNhYwogICAgICAjIFF1b3RlIGFyZ3Vt
ZW50cyAodG8gcHJlc2VydmUgc2hlbGwgbWV0YWNoYXJhY3RlcnMpLgogICAg
ICBmdW5jX2FwcGVuZF9xdW90ZWQgYXJncyAiJGZpbGUiCiAgICBkb25lCgog
ICAgaWYgdGVzdCAiWCRvcHRfZHJ5X3J1biIgPSBYZmFsc2U7IHRoZW4KICAg
ICAgaWYgdGVzdCAtbiAiJHNobGlicGF0aF92YXIiOyB0aGVuCgkjIEV4cG9y
dCB0aGUgc2hsaWJwYXRoX3Zhci4KCWV2YWwgImV4cG9ydCAkc2hsaWJwYXRo
X3ZhciIKICAgICAgZmkKCiAgICAgICMgUmVzdG9yZSBzYXZlZCBlbnZpcm9u
bWVudCB2YXJpYWJsZXMKICAgICAgZm9yIGx0X3ZhciBpbiBMQU5HIExBTkdV
QUdFIExDX0FMTCBMQ19DVFlQRSBMQ19DT0xMQVRFIExDX01FU1NBR0VTCiAg
ICAgIGRvCglldmFsICJpZiB0ZXN0IFwiXCR7c2F2ZV8kbHRfdmFyK3NldH1c
IiA9IHNldDsgdGhlbgogICAgICAgICAgICAgICAgJGx0X3Zhcj1cJHNhdmVf
JGx0X3ZhcjsgZXhwb3J0ICRsdF92YXIKCSAgICAgIGVsc2UKCQkkbHRfdW5z
ZXQgJGx0X3ZhcgoJICAgICAgZmkiCiAgICAgIGRvbmUKCiAgICAgICMgTm93
IHByZXBhcmUgdG8gYWN0dWFsbHkgZXhlYyB0aGUgY29tbWFuZC4KICAgICAg
ZXhlY19jbWQ9IlwkY21kJGFyZ3MiCiAgICBlbHNlCiAgICAgICMgRGlzcGxh
eSB3aGF0IHdvdWxkIGJlIGRvbmUuCiAgICAgIGlmIHRlc3QgLW4gIiRzaGxp
YnBhdGhfdmFyIjsgdGhlbgoJZXZhbCAiXCRFQ0hPIFwiXCRzaGxpYnBhdGhf
dmFyPVwkJHNobGlicGF0aF92YXJcIiIKCWVjaG8gImV4cG9ydCAkc2hsaWJw
YXRoX3ZhciIKICAgICAgZmkKICAgICAgJEVDSE8gIiRjbWQkYXJncyIKICAg
ICAgZXhpdCAkRVhJVF9TVUNDRVNTCiAgICBmaQp9Cgp0ZXN0ICIkb3B0X21v
ZGUiID0gZXhlY3V0ZSAmJiBmdW5jX21vZGVfZXhlY3V0ZSAkezErIiRAIn0K
CgojIGZ1bmNfbW9kZV9maW5pc2ggYXJnLi4uCmZ1bmNfbW9kZV9maW5pc2gg
KCkKewogICAgJG9wdF9kZWJ1ZwogICAgbGlicz0KICAgIGxpYmRpcnM9CiAg
ICBhZG1pbmNtZHM9CgogICAgZm9yIG9wdCBpbiAiJG5vbm9wdCIgJHsxKyIk
QCJ9CiAgICBkbwogICAgICBpZiB0ZXN0IC1kICIkb3B0IjsgdGhlbgoJbGli
ZGlycys9IiAkb3B0IgoKICAgICAgZWxpZiB0ZXN0IC1mICIkb3B0IjsgdGhl
bgoJaWYgZnVuY19sYWxpYl91bnNhZmVfcCAiJG9wdCI7IHRoZW4KCSAgbGli
cys9IiAkb3B0IgoJZWxzZQoJICBmdW5jX3dhcm5pbmcgIlxgJG9wdCcgaXMg
bm90IGEgdmFsaWQgbGlidG9vbCBhcmNoaXZlIgoJZmkKCiAgICAgIGVsc2UK
CWZ1bmNfZmF0YWxfZXJyb3IgImludmFsaWQgYXJndW1lbnQgXGAkb3B0JyIK
ICAgICAgZmkKICAgIGRvbmUKCiAgICBpZiB0ZXN0IC1uICIkbGlicyI7IHRo
ZW4KICAgICAgaWYgdGVzdCAtbiAiJGx0X3N5c3Jvb3QiOyB0aGVuCiAgICAg
ICAgc3lzcm9vdF9yZWdleD1gJEVDSE8gIiRsdF9zeXNyb290IiB8ICRTRUQg
IiRzZWRfbWFrZV9saXRlcmFsX3JlZ2V4ImAKICAgICAgICBzeXNyb290X2Nt
ZD0icy9cKFsgJ11cKSRzeXNyb290X3JlZ2V4L1wxL2c7IgogICAgICBlbHNl
CiAgICAgICAgc3lzcm9vdF9jbWQ9CiAgICAgIGZpCgogICAgICAjIFJlbW92
ZSBzeXNyb290IHJlZmVyZW5jZXMKICAgICAgaWYgJG9wdF9kcnlfcnVuOyB0
aGVuCiAgICAgICAgZm9yIGxpYiBpbiAkbGliczsgZG8KICAgICAgICAgIGVj
aG8gInJlbW92aW5nIHJlZmVyZW5jZXMgdG8gJGx0X3N5c3Jvb3QgYW5kIFxg
PScgcHJlZml4ZXMgZnJvbSAkbGliIgogICAgICAgIGRvbmUKICAgICAgZWxz
ZQogICAgICAgIHRtcGRpcj1gZnVuY19ta3RlbXBkaXJgCiAgICAgICAgZm9y
IGxpYiBpbiAkbGliczsgZG8KCSAgc2VkIC1lICIke3N5c3Jvb3RfY21kfSBz
L1woWyAnXS1bTFJdXCk9L1wxL2c7IHMvXChbICddXCk9L1wxL2ciICRsaWIg
XAoJICAgID4gJHRtcGRpci90bXAtbGEKCSAgbXYgLWYgJHRtcGRpci90bXAt
bGEgJGxpYgoJZG9uZQogICAgICAgICR7Uk19ciAiJHRtcGRpciIKICAgICAg
ZmkKICAgIGZpCgogICAgaWYgdGVzdCAtbiAiJGZpbmlzaF9jbWRzJGZpbmlz
aF9ldmFsIiAmJiB0ZXN0IC1uICIkbGliZGlycyI7IHRoZW4KICAgICAgZm9y
IGxpYmRpciBpbiAkbGliZGlyczsgZG8KCWlmIHRlc3QgLW4gIiRmaW5pc2hf
Y21kcyI7IHRoZW4KCSAgIyBEbyBlYWNoIGNvbW1hbmQgaW4gdGhlIGZpbmlz
aCBjb21tYW5kcy4KCSAgZnVuY19leGVjdXRlX2NtZHMgIiRmaW5pc2hfY21k
cyIgJ2FkbWluY21kcz0iJGFkbWluY21kcwonIiRjbWQiJyInCglmaQoJaWYg
dGVzdCAtbiAiJGZpbmlzaF9ldmFsIjsgdGhlbgoJICAjIERvIHRoZSBzaW5n
bGUgZmluaXNoX2V2YWwuCgkgIGV2YWwgY21kcz1cIiRmaW5pc2hfZXZhbFwi
CgkgICRvcHRfZHJ5X3J1biB8fCBldmFsICIkY21kcyIgfHwgYWRtaW5jbWRz
Kz0iCiAgICAgICAkY21kcyIKCWZpCiAgICAgIGRvbmUKICAgIGZpCgogICAg
IyBFeGl0IGhlcmUgaWYgdGhleSB3YW50ZWQgc2lsZW50IG1vZGUuCiAgICAk
b3B0X3NpbGVudCAmJiBleGl0ICRFWElUX1NVQ0NFU1MKCiAgICBpZiB0ZXN0
IC1uICIkZmluaXNoX2NtZHMkZmluaXNoX2V2YWwiICYmIHRlc3QgLW4gIiRs
aWJkaXJzIjsgdGhlbgogICAgICBlY2hvICItLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tIgogICAgICBlY2hvICJMaWJyYXJpZXMgaGF2ZSBiZWVuIGluc3Rh
bGxlZCBpbjoiCiAgICAgIGZvciBsaWJkaXIgaW4gJGxpYmRpcnM7IGRvCgkk
RUNITyAiICAgJGxpYmRpciIKICAgICAgZG9uZQogICAgICBlY2hvCiAgICAg
IGVjaG8gIklmIHlvdSBldmVyIGhhcHBlbiB0byB3YW50IHRvIGxpbmsgYWdh
aW5zdCBpbnN0YWxsZWQgbGlicmFyaWVzIgogICAgICBlY2hvICJpbiBhIGdp
dmVuIGRpcmVjdG9yeSwgTElCRElSLCB5b3UgbXVzdCBlaXRoZXIgdXNlIGxp
YnRvb2wsIGFuZCIKICAgICAgZWNobyAic3BlY2lmeSB0aGUgZnVsbCBwYXRo
bmFtZSBvZiB0aGUgbGlicmFyeSwgb3IgdXNlIHRoZSBcYC1MTElCRElSJyIK
ICAgICAgZWNobyAiZmxhZyBkdXJpbmcgbGlua2luZyBhbmQgZG8gYXQgbGVh
c3Qgb25lIG9mIHRoZSBmb2xsb3dpbmc6IgogICAgICBpZiB0ZXN0IC1uICIk
c2hsaWJwYXRoX3ZhciI7IHRoZW4KCWVjaG8gIiAgIC0gYWRkIExJQkRJUiB0
byB0aGUgXGAkc2hsaWJwYXRoX3ZhcicgZW52aXJvbm1lbnQgdmFyaWFibGUi
CgllY2hvICIgICAgIGR1cmluZyBleGVjdXRpb24iCiAgICAgIGZpCiAgICAg
IGlmIHRlc3QgLW4gIiRydW5wYXRoX3ZhciI7IHRoZW4KCWVjaG8gIiAgIC0g
YWRkIExJQkRJUiB0byB0aGUgXGAkcnVucGF0aF92YXInIGVudmlyb25tZW50
IHZhcmlhYmxlIgoJZWNobyAiICAgICBkdXJpbmcgbGlua2luZyIKICAgICAg
ZmkKICAgICAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3Nw
ZWMiOyB0aGVuCglsaWJkaXI9TElCRElSCglldmFsIGZsYWc9XCIkaGFyZGNv
ZGVfbGliZGlyX2ZsYWdfc3BlY1wiCgoJJEVDSE8gIiAgIC0gdXNlIHRoZSBc
YCRmbGFnJyBsaW5rZXIgZmxhZyIKICAgICAgZmkKICAgICAgaWYgdGVzdCAt
biAiJGFkbWluY21kcyI7IHRoZW4KCSRFQ0hPICIgICAtIGhhdmUgeW91ciBz
eXN0ZW0gYWRtaW5pc3RyYXRvciBydW4gdGhlc2UgY29tbWFuZHM6JGFkbWlu
Y21kcyIKICAgICAgZmkKICAgICAgaWYgdGVzdCAtZiAvZXRjL2xkLnNvLmNv
bmY7IHRoZW4KCWVjaG8gIiAgIC0gaGF2ZSB5b3VyIHN5c3RlbSBhZG1pbmlz
dHJhdG9yIGFkZCBMSUJESVIgdG8gXGAvZXRjL2xkLnNvLmNvbmYnIgogICAg
ICBmaQogICAgICBlY2hvCgogICAgICBlY2hvICJTZWUgYW55IG9wZXJhdGlu
ZyBzeXN0ZW0gZG9jdW1lbnRhdGlvbiBhYm91dCBzaGFyZWQgbGlicmFyaWVz
IGZvciIKICAgICAgY2FzZSAkaG9zdCBpbgoJc29sYXJpczIuWzY3ODldfHNv
bGFyaXMyLjFbMC05XSkKCSAgZWNobyAibW9yZSBpbmZvcm1hdGlvbiwgc3Vj
aCBhcyB0aGUgbGQoMSksIGNybGUoMSkgYW5kIGxkLnNvKDgpIG1hbnVhbCIK
CSAgZWNobyAicGFnZXMuIgoJICA7OwoJKikKCSAgZWNobyAibW9yZSBpbmZv
cm1hdGlvbiwgc3VjaCBhcyB0aGUgbGQoMSkgYW5kIGxkLnNvKDgpIG1hbnVh
bCBwYWdlcy4iCgkgIDs7CiAgICAgIGVzYWMKICAgICAgZWNobyAiLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSIKICAgIGZpCiAgICBleGl0ICRFWElUX1NV
Q0NFU1MKfQoKdGVzdCAiJG9wdF9tb2RlIiA9IGZpbmlzaCAmJiBmdW5jX21v
ZGVfZmluaXNoICR7MSsiJEAifQoKCiMgZnVuY19tb2RlX2luc3RhbGwgYXJn
Li4uCmZ1bmNfbW9kZV9pbnN0YWxsICgpCnsKICAgICRvcHRfZGVidWcKICAg
ICMgVGhlcmUgbWF5IGJlIGFuIG9wdGlvbmFsIHNoKDEpIGFyZ3VtZW50IGF0
IHRoZSBiZWdpbm5pbmcgb2YKICAgICMgaW5zdGFsbF9wcm9nIChlc3BlY2lh
bGx5IG9uIFdpbmRvd3MgTlQpLgogICAgaWYgdGVzdCAiJG5vbm9wdCIgPSAi
JFNIRUxMIiB8fCB0ZXN0ICIkbm9ub3B0IiA9IC9iaW4vc2ggfHwKICAgICAg
ICMgQWxsb3cgdGhlIHVzZSBvZiBHTlUgc2h0b29sJ3MgaW5zdGFsbCBjb21t
YW5kLgogICAgICAgY2FzZSAkbm9ub3B0IGluICpzaHRvb2wqKSA6OzsgKikg
ZmFsc2U7OyBlc2FjOyB0aGVuCiAgICAgICMgQWVzdGhldGljYWxseSBxdW90
ZSBpdC4KICAgICAgZnVuY19xdW90ZV9mb3JfZXZhbCAiJG5vbm9wdCIKICAg
ICAgaW5zdGFsbF9wcm9nPSIkZnVuY19xdW90ZV9mb3JfZXZhbF9yZXN1bHQg
IgogICAgICBhcmc9JDEKICAgICAgc2hpZnQKICAgIGVsc2UKICAgICAgaW5z
dGFsbF9wcm9nPQogICAgICBhcmc9JG5vbm9wdAogICAgZmkKCiAgICAjIFRo
ZSByZWFsIGZpcnN0IGFyZ3VtZW50IHNob3VsZCBiZSB0aGUgbmFtZSBvZiB0
aGUgaW5zdGFsbGF0aW9uIHByb2dyYW0uCiAgICAjIEFlc3RoZXRpY2FsbHkg
cXVvdGUgaXQuCiAgICBmdW5jX3F1b3RlX2Zvcl9ldmFsICIkYXJnIgogICAg
aW5zdGFsbF9wcm9nKz0iJGZ1bmNfcXVvdGVfZm9yX2V2YWxfcmVzdWx0Igog
ICAgaW5zdGFsbF9zaGFyZWRfcHJvZz0kaW5zdGFsbF9wcm9nCiAgICBjYXNl
ICIgJGluc3RhbGxfcHJvZyAiIGluCiAgICAgICpbXFxcIC9dY3BcICopIGlu
c3RhbGxfY3A9OiA7OwogICAgICAqKSBpbnN0YWxsX2NwPWZhbHNlIDs7CiAg
ICBlc2FjCgogICAgIyBXZSBuZWVkIHRvIGFjY2VwdCBhdCBsZWFzdCBhbGwg
dGhlIEJTRCBpbnN0YWxsIGZsYWdzLgogICAgZGVzdD0KICAgIGZpbGVzPQog
ICAgb3B0cz0KICAgIHByZXY9CiAgICBpbnN0YWxsX3R5cGU9CiAgICBpc2Rp
cj1ubwogICAgc3RyaXBtZT0KICAgIG5vX21vZGU9OgogICAgZm9yIGFyZwog
ICAgZG8KICAgICAgYXJnMj0KICAgICAgaWYgdGVzdCAtbiAiJGRlc3QiOyB0
aGVuCglmaWxlcys9IiAkZGVzdCIKCWRlc3Q9JGFyZwoJY29udGludWUKICAg
ICAgZmkKCiAgICAgIGNhc2UgJGFyZyBpbgogICAgICAtZCkgaXNkaXI9eWVz
IDs7CiAgICAgIC1mKQoJaWYgJGluc3RhbGxfY3A7IHRoZW4gOjsgZWxzZQoJ
ICBwcmV2PSRhcmcKCWZpCgk7OwogICAgICAtZyB8IC1tIHwgLW8pCglwcmV2
PSRhcmcKCTs7CiAgICAgIC1zKQoJc3RyaXBtZT0iIC1zIgoJY29udGludWUK
CTs7CiAgICAgIC0qKQoJOzsKICAgICAgKikKCSMgSWYgdGhlIHByZXZpb3Vz
IG9wdGlvbiBuZWVkZWQgYW4gYXJndW1lbnQsIHRoZW4gc2tpcCBpdC4KCWlm
IHRlc3QgLW4gIiRwcmV2IjsgdGhlbgoJICBpZiB0ZXN0ICJ4JHByZXYiID0g
eC1tICYmIHRlc3QgLW4gIiRpbnN0YWxsX292ZXJyaWRlX21vZGUiOyB0aGVu
CgkgICAgYXJnMj0kaW5zdGFsbF9vdmVycmlkZV9tb2RlCgkgICAgbm9fbW9k
ZT1mYWxzZQoJICBmaQoJICBwcmV2PQoJZWxzZQoJICBkZXN0PSRhcmcKCSAg
Y29udGludWUKCWZpCgk7OwogICAgICBlc2FjCgogICAgICAjIEFlc3RoZXRp
Y2FsbHkgcXVvdGUgdGhlIGFyZ3VtZW50LgogICAgICBmdW5jX3F1b3RlX2Zv
cl9ldmFsICIkYXJnIgogICAgICBpbnN0YWxsX3Byb2crPSIgJGZ1bmNfcXVv
dGVfZm9yX2V2YWxfcmVzdWx0IgogICAgICBpZiB0ZXN0IC1uICIkYXJnMiI7
IHRoZW4KCWZ1bmNfcXVvdGVfZm9yX2V2YWwgIiRhcmcyIgogICAgICBmaQog
ICAgICBpbnN0YWxsX3NoYXJlZF9wcm9nKz0iICRmdW5jX3F1b3RlX2Zvcl9l
dmFsX3Jlc3VsdCIKICAgIGRvbmUKCiAgICB0ZXN0IC16ICIkaW5zdGFsbF9w
cm9nIiAmJiBcCiAgICAgIGZ1bmNfZmF0YWxfaGVscCAieW91IG11c3Qgc3Bl
Y2lmeSBhbiBpbnN0YWxsIHByb2dyYW0iCgogICAgdGVzdCAtbiAiJHByZXYi
ICYmIFwKICAgICAgZnVuY19mYXRhbF9oZWxwICJ0aGUgXGAkcHJldicgb3B0
aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgoKICAgIGlmIHRlc3QgLW4gIiRp
bnN0YWxsX292ZXJyaWRlX21vZGUiICYmICRub19tb2RlOyB0aGVuCiAgICAg
IGlmICRpbnN0YWxsX2NwOyB0aGVuIDo7IGVsc2UKCWZ1bmNfcXVvdGVfZm9y
X2V2YWwgIiRpbnN0YWxsX292ZXJyaWRlX21vZGUiCglpbnN0YWxsX3NoYXJl
ZF9wcm9nKz0iIC1tICRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdCIKICAg
ICAgZmkKICAgIGZpCgogICAgaWYgdGVzdCAteiAiJGZpbGVzIjsgdGhlbgog
ICAgICBpZiB0ZXN0IC16ICIkZGVzdCI7IHRoZW4KCWZ1bmNfZmF0YWxfaGVs
cCAibm8gZmlsZSBvciBkZXN0aW5hdGlvbiBzcGVjaWZpZWQiCiAgICAgIGVs
c2UKCWZ1bmNfZmF0YWxfaGVscCAieW91IG11c3Qgc3BlY2lmeSBhIGRlc3Rp
bmF0aW9uIgogICAgICBmaQogICAgZmkKCiAgICAjIFN0cmlwIGFueSB0cmFp
bGluZyBzbGFzaCBmcm9tIHRoZSBkZXN0aW5hdGlvbi4KICAgIGZ1bmNfc3Ry
aXBuYW1lICcnICcvJyAiJGRlc3QiCiAgICBkZXN0PSRmdW5jX3N0cmlwbmFt
ZV9yZXN1bHQKCiAgICAjIENoZWNrIHRvIHNlZSB0aGF0IHRoZSBkZXN0aW5h
dGlvbiBpcyBhIGRpcmVjdG9yeS4KICAgIHRlc3QgLWQgIiRkZXN0IiAmJiBp
c2Rpcj15ZXMKICAgIGlmIHRlc3QgIiRpc2RpciIgPSB5ZXM7IHRoZW4KICAg
ICAgZGVzdGRpcj0iJGRlc3QiCiAgICAgIGRlc3RuYW1lPQogICAgZWxzZQog
ICAgICBmdW5jX2Rpcm5hbWVfYW5kX2Jhc2VuYW1lICIkZGVzdCIgIiIgIi4i
CiAgICAgIGRlc3RkaXI9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgogICAgICBk
ZXN0bmFtZT0iJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgoKICAgICAgIyBOb3Qg
YSBkaXJlY3RvcnksIHNvIGNoZWNrIHRvIHNlZSB0aGF0IHRoZXJlIGlzIG9u
bHkgb25lIGZpbGUgc3BlY2lmaWVkLgogICAgICBzZXQgZHVtbXkgJGZpbGVz
OyBzaGlmdAogICAgICB0ZXN0ICIkIyIgLWd0IDEgJiYgXAoJZnVuY19mYXRh
bF9oZWxwICJcYCRkZXN0JyBpcyBub3QgYSBkaXJlY3RvcnkiCiAgICBmaQog
ICAgY2FzZSAkZGVzdGRpciBpbgogICAgW1xcL10qIHwgW0EtWmEtel06W1xc
L10qKSA7OwogICAgKikKICAgICAgZm9yIGZpbGUgaW4gJGZpbGVzOyBkbwoJ
Y2FzZSAkZmlsZSBpbgoJKi5sbykgOzsKCSopCgkgIGZ1bmNfZmF0YWxfaGVs
cCAiXGAkZGVzdGRpcicgbXVzdCBiZSBhbiBhYnNvbHV0ZSBkaXJlY3Rvcnkg
bmFtZSIKCSAgOzsKCWVzYWMKICAgICAgZG9uZQogICAgICA7OwogICAgZXNh
YwoKICAgICMgVGhpcyB2YXJpYWJsZSB0ZWxscyB3cmFwcGVyIHNjcmlwdHMg
anVzdCB0byBzZXQgdmFyaWFibGVzIHJhdGhlcgogICAgIyB0aGFuIHJ1bm5p
bmcgdGhlaXIgcHJvZ3JhbXMuCiAgICBsaWJ0b29sX2luc3RhbGxfbWFnaWM9
IiRtYWdpYyIKCiAgICBzdGF0aWNsaWJzPQogICAgZnV0dXJlX2xpYmRpcnM9
CiAgICBjdXJyZW50X2xpYmRpcnM9CiAgICBmb3IgZmlsZSBpbiAkZmlsZXM7
IGRvCgogICAgICAjIERvIGVhY2ggaW5zdGFsbGF0aW9uLgogICAgICBjYXNl
ICRmaWxlIGluCiAgICAgICouJGxpYmV4dCkKCSMgRG8gdGhlIHN0YXRpYyBs
aWJyYXJpZXMgbGF0ZXIuCglzdGF0aWNsaWJzKz0iICRmaWxlIgoJOzsKCiAg
ICAgICoubGEpCglmdW5jX3Jlc29sdmVfc3lzcm9vdCAiJGZpbGUiCglmaWxl
PSRmdW5jX3Jlc29sdmVfc3lzcm9vdF9yZXN1bHQKCgkjIENoZWNrIHRvIHNl
ZSB0aGF0IHRoaXMgcmVhbGx5IGlzIGEgbGlidG9vbCBhcmNoaXZlLgoJZnVu
Y19sYWxpYl91bnNhZmVfcCAiJGZpbGUiIFwKCSAgfHwgZnVuY19mYXRhbF9o
ZWxwICJcYCRmaWxlJyBpcyBub3QgYSB2YWxpZCBsaWJ0b29sIGFyY2hpdmUi
CgoJbGlicmFyeV9uYW1lcz0KCW9sZF9saWJyYXJ5PQoJcmVsaW5rX2NvbW1h
bmQ9CglmdW5jX3NvdXJjZSAiJGZpbGUiCgoJIyBBZGQgdGhlIGxpYmRpciB0
byBjdXJyZW50X2xpYmRpcnMgaWYgaXQgaXMgdGhlIGRlc3RpbmF0aW9uLgoJ
aWYgdGVzdCAiWCRkZXN0ZGlyIiA9ICJYJGxpYmRpciI7IHRoZW4KCSAgY2Fz
ZSAiJGN1cnJlbnRfbGliZGlycyAiIGluCgkgICoiICRsaWJkaXIgIiopIDs7
CgkgICopIGN1cnJlbnRfbGliZGlycys9IiAkbGliZGlyIiA7OwoJICBlc2Fj
CgllbHNlCgkgICMgTm90ZSB0aGUgbGliZGlyIGFzIGEgZnV0dXJlIGxpYmRp
ci4KCSAgY2FzZSAiJGZ1dHVyZV9saWJkaXJzICIgaW4KCSAgKiIgJGxpYmRp
ciAiKikgOzsKCSAgKikgZnV0dXJlX2xpYmRpcnMrPSIgJGxpYmRpciIgOzsK
CSAgZXNhYwoJZmkKCglmdW5jX2Rpcm5hbWUgIiRmaWxlIiAiLyIgIiIKCWRp
cj0iJGZ1bmNfZGlybmFtZV9yZXN1bHQiCglkaXIrPSIkb2JqZGlyIgoKCWlm
IHRlc3QgLW4gIiRyZWxpbmtfY29tbWFuZCI7IHRoZW4KCSAgIyBEZXRlcm1p
bmUgdGhlIHByZWZpeCB0aGUgdXNlciBoYXMgYXBwbGllZCB0byBvdXIgZnV0
dXJlIGRpci4KCSAgaW5zdF9wcmVmaXhfZGlyPWAkRUNITyAiJGRlc3RkaXIi
IHwgJFNFRCAtZSAicyUkbGliZGlyXCQlJSJgCgoJICAjIERvbid0IGFsbG93
IHRoZSB1c2VyIHRvIHBsYWNlIHVzIG91dHNpZGUgb2Ygb3VyIGV4cGVjdGVk
CgkgICMgbG9jYXRpb24gYi9jIHRoaXMgcHJldmVudHMgZmluZGluZyBkZXBl
bmRlbnQgbGlicmFyaWVzIHRoYXQKCSAgIyBhcmUgaW5zdGFsbGVkIHRvIHRo
ZSBzYW1lIHByZWZpeC4KCSAgIyBBdCBwcmVzZW50LCB0aGlzIGNoZWNrIGRv
ZXNuJ3QgYWZmZWN0IHdpbmRvd3MgLmRsbCdzIHRoYXQKCSAgIyBhcmUgaW5z
dGFsbGVkIGludG8gJGxpYmRpci8uLi9iaW4gKGN1cnJlbnRseSwgdGhhdCB3
b3JrcyBmaW5lKQoJICAjIGJ1dCBpdCdzIHNvbWV0aGluZyB0byBrZWVwIGFu
IGV5ZSBvbi4KCSAgdGVzdCAiJGluc3RfcHJlZml4X2RpciIgPSAiJGRlc3Rk
aXIiICYmIFwKCSAgICBmdW5jX2ZhdGFsX2Vycm9yICJlcnJvcjogY2Fubm90
IGluc3RhbGwgXGAkZmlsZScgdG8gYSBkaXJlY3Rvcnkgbm90IGVuZGluZyBp
biAkbGliZGlyIgoKCSAgaWYgdGVzdCAtbiAiJGluc3RfcHJlZml4X2RpciI7
IHRoZW4KCSAgICAjIFN0aWNrIHRoZSBpbnN0X3ByZWZpeF9kaXIgZGF0YSBp
bnRvIHRoZSBsaW5rIGNvbW1hbmQuCgkgICAgcmVsaW5rX2NvbW1hbmQ9YCRF
Q0hPICIkcmVsaW5rX2NvbW1hbmQiIHwgJFNFRCAicyVAaW5zdF9wcmVmaXhf
ZGlyQCUtaW5zdC1wcmVmaXgtZGlyICRpbnN0X3ByZWZpeF9kaXIlImAKCSAg
ZWxzZQoJICAgIHJlbGlua19jb21tYW5kPWAkRUNITyAiJHJlbGlua19jb21t
YW5kIiB8ICRTRUQgInMlQGluc3RfcHJlZml4X2RpckAlJSJgCgkgIGZpCgoJ
ICBmdW5jX3dhcm5pbmcgInJlbGlua2luZyBcYCRmaWxlJyIKCSAgZnVuY19z
aG93X2V2YWwgIiRyZWxpbmtfY29tbWFuZCIgXAoJICAgICdmdW5jX2ZhdGFs
X2Vycm9yICJlcnJvcjogcmVsaW5rIFxgJGZpbGUnXCcnIHdpdGggdGhlIGFi
b3ZlIGNvbW1hbmQgYmVmb3JlIGluc3RhbGxpbmcgaXQiJwoJZmkKCgkjIFNl
ZSB0aGUgbmFtZXMgb2YgdGhlIHNoYXJlZCBsaWJyYXJ5LgoJc2V0IGR1bW15
ICRsaWJyYXJ5X25hbWVzOyBzaGlmdAoJaWYgdGVzdCAtbiAiJDEiOyB0aGVu
CgkgIHJlYWxuYW1lPSIkMSIKCSAgc2hpZnQKCgkgIHNyY25hbWU9IiRyZWFs
bmFtZSIKCSAgdGVzdCAtbiAiJHJlbGlua19jb21tYW5kIiAmJiBzcmNuYW1l
PSIkcmVhbG5hbWUiVAoKCSAgIyBJbnN0YWxsIHRoZSBzaGFyZWQgbGlicmFy
eSBhbmQgYnVpbGQgdGhlIHN5bWxpbmtzLgoJICBmdW5jX3Nob3dfZXZhbCAi
JGluc3RhbGxfc2hhcmVkX3Byb2cgJGRpci8kc3JjbmFtZSAkZGVzdGRpci8k
cmVhbG5hbWUiIFwKCSAgICAgICdleGl0ICQ/JwoJICB0c3RyaXBtZT0iJHN0
cmlwbWUiCgkgIGNhc2UgJGhvc3Rfb3MgaW4KCSAgY3lnd2luKiB8IG1pbmd3
KiB8IHB3MzIqIHwgY2VnY2MqKQoJICAgIGNhc2UgJHJlYWxuYW1lIGluCgkg
ICAgKi5kbGwuYSkKCSAgICAgIHRzdHJpcG1lPSIiCgkgICAgICA7OwoJICAg
IGVzYWMKCSAgICA7OwoJICBlc2FjCgkgIGlmIHRlc3QgLW4gIiR0c3RyaXBt
ZSIgJiYgdGVzdCAtbiAiJHN0cmlwbGliIjsgdGhlbgoJICAgIGZ1bmNfc2hv
d19ldmFsICIkc3RyaXBsaWIgJGRlc3RkaXIvJHJlYWxuYW1lIiAnZXhpdCAk
PycKCSAgZmkKCgkgIGlmIHRlc3QgIiQjIiAtZ3QgMDsgdGhlbgoJICAgICMg
RGVsZXRlIHRoZSBvbGQgc3ltbGlua3MsIGFuZCBjcmVhdGUgbmV3IG9uZXMu
CgkgICAgIyBUcnkgYGxuIC1zZicgZmlyc3QsIGJlY2F1c2UgdGhlIGBsbicg
YmluYXJ5IG1pZ2h0IGRlcGVuZCBvbgoJICAgICMgdGhlIHN5bWxpbmsgd2Ug
cmVwbGFjZSEgIFNvbGFyaXMgL2Jpbi9sbiBkb2VzIG5vdCB1bmRlcnN0YW5k
IC1mLAoJICAgICMgc28gd2UgYWxzbyBuZWVkIHRvIHRyeSBybSAmJiBsbiAt
cy4KCSAgICBmb3IgbGlua25hbWUKCSAgICBkbwoJICAgICAgdGVzdCAiJGxp
bmtuYW1lIiAhPSAiJHJlYWxuYW1lIiBcCgkJJiYgZnVuY19zaG93X2V2YWwg
IihjZCAkZGVzdGRpciAmJiB7ICRMTl9TIC1mICRyZWFsbmFtZSAkbGlua25h
bWUgfHwgeyAkUk0gJGxpbmtuYW1lICYmICRMTl9TICRyZWFsbmFtZSAkbGlu
a25hbWU7IH07IH0pIgoJICAgIGRvbmUKCSAgZmkKCgkgICMgRG8gZWFjaCBj
b21tYW5kIGluIHRoZSBwb3N0aW5zdGFsbCBjb21tYW5kcy4KCSAgbGliPSIk
ZGVzdGRpci8kcmVhbG5hbWUiCgkgIGZ1bmNfZXhlY3V0ZV9jbWRzICIkcG9z
dGluc3RhbGxfY21kcyIgJ2V4aXQgJD8nCglmaQoKCSMgSW5zdGFsbCB0aGUg
cHNldWRvLWxpYnJhcnkgZm9yIGluZm9ybWF0aW9uIHB1cnBvc2VzLgoJZnVu
Y19iYXNlbmFtZSAiJGZpbGUiCgluYW1lPSIkZnVuY19iYXNlbmFtZV9yZXN1
bHQiCglpbnN0bmFtZT0iJGRpci8kbmFtZSJpCglmdW5jX3Nob3dfZXZhbCAi
JGluc3RhbGxfcHJvZyAkaW5zdG5hbWUgJGRlc3RkaXIvJG5hbWUiICdleGl0
ICQ/JwoKCSMgTWF5YmUgaW5zdGFsbCB0aGUgc3RhdGljIGxpYnJhcnksIHRv
by4KCXRlc3QgLW4gIiRvbGRfbGlicmFyeSIgJiYgc3RhdGljbGlicys9IiAk
ZGlyLyRvbGRfbGlicmFyeSIKCTs7CgogICAgICAqLmxvKQoJIyBJbnN0YWxs
IChpLmUuIGNvcHkpIGEgbGlidG9vbCBvYmplY3QuCgoJIyBGaWd1cmUgb3V0
IGRlc3RpbmF0aW9uIGZpbGUgbmFtZSwgaWYgaXQgd2Fzbid0IGFscmVhZHkg
c3BlY2lmaWVkLgoJaWYgdGVzdCAtbiAiJGRlc3RuYW1lIjsgdGhlbgoJICBk
ZXN0ZmlsZT0iJGRlc3RkaXIvJGRlc3RuYW1lIgoJZWxzZQoJICBmdW5jX2Jh
c2VuYW1lICIkZmlsZSIKCSAgZGVzdGZpbGU9IiRmdW5jX2Jhc2VuYW1lX3Jl
c3VsdCIKCSAgZGVzdGZpbGU9IiRkZXN0ZGlyLyRkZXN0ZmlsZSIKCWZpCgoJ
IyBEZWR1Y2UgdGhlIG5hbWUgb2YgdGhlIGRlc3RpbmF0aW9uIG9sZC1zdHls
ZSBvYmplY3QgZmlsZS4KCWNhc2UgJGRlc3RmaWxlIGluCgkqLmxvKQoJICBm
dW5jX2xvMm8gIiRkZXN0ZmlsZSIKCSAgc3RhdGljZGVzdD0kZnVuY19sbzJv
X3Jlc3VsdAoJICA7OwoJKi4kb2JqZXh0KQoJICBzdGF0aWNkZXN0PSIkZGVz
dGZpbGUiCgkgIGRlc3RmaWxlPQoJICA7OwoJKikKCSAgZnVuY19mYXRhbF9o
ZWxwICJjYW5ub3QgY29weSBhIGxpYnRvb2wgb2JqZWN0IHRvIFxgJGRlc3Rm
aWxlJyIKCSAgOzsKCWVzYWMKCgkjIEluc3RhbGwgdGhlIGxpYnRvb2wgb2Jq
ZWN0IGlmIHJlcXVlc3RlZC4KCXRlc3QgLW4gIiRkZXN0ZmlsZSIgJiYgXAoJ
ICBmdW5jX3Nob3dfZXZhbCAiJGluc3RhbGxfcHJvZyAkZmlsZSAkZGVzdGZp
bGUiICdleGl0ICQ/JwoKCSMgSW5zdGFsbCB0aGUgb2xkIG9iamVjdCBpZiBl
bmFibGVkLgoJaWYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IHllczsgdGhl
bgoJICAjIERlZHVjZSB0aGUgbmFtZSBvZiB0aGUgb2xkLXN0eWxlIG9iamVj
dCBmaWxlLgoJICBmdW5jX2xvMm8gIiRmaWxlIgoJICBzdGF0aWNvYmo9JGZ1
bmNfbG8yb19yZXN1bHQKCSAgZnVuY19zaG93X2V2YWwgIiRpbnN0YWxsX3By
b2cgXCRzdGF0aWNvYmogXCRzdGF0aWNkZXN0IiAnZXhpdCAkPycKCWZpCgll
eGl0ICRFWElUX1NVQ0NFU1MKCTs7CgogICAgICAqKQoJIyBGaWd1cmUgb3V0
IGRlc3RpbmF0aW9uIGZpbGUgbmFtZSwgaWYgaXQgd2Fzbid0IGFscmVhZHkg
c3BlY2lmaWVkLgoJaWYgdGVzdCAtbiAiJGRlc3RuYW1lIjsgdGhlbgoJICBk
ZXN0ZmlsZT0iJGRlc3RkaXIvJGRlc3RuYW1lIgoJZWxzZQoJICBmdW5jX2Jh
c2VuYW1lICIkZmlsZSIKCSAgZGVzdGZpbGU9IiRmdW5jX2Jhc2VuYW1lX3Jl
c3VsdCIKCSAgZGVzdGZpbGU9IiRkZXN0ZGlyLyRkZXN0ZmlsZSIKCWZpCgoJ
IyBJZiB0aGUgZmlsZSBpcyBtaXNzaW5nLCBhbmQgdGhlcmUgaXMgYSAuZXhl
IG9uIHRoZSBlbmQsIHN0cmlwIGl0CgkjIGJlY2F1c2UgaXQgaXMgbW9zdCBs
aWtlbHkgYSBsaWJ0b29sIHNjcmlwdCB3ZSBhY3R1YWxseSB3YW50IHRvCgkj
IGluc3RhbGwKCXN0cmlwcGVkX2V4dD0iIgoJY2FzZSAkZmlsZSBpbgoJICAq
LmV4ZSkKCSAgICBpZiB0ZXN0ICEgLWYgIiRmaWxlIjsgdGhlbgoJICAgICAg
ZnVuY19zdHJpcG5hbWUgJycgJy5leGUnICIkZmlsZSIKCSAgICAgIGZpbGU9
JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAoJICAgICAgc3RyaXBwZWRfZXh0PSIu
ZXhlIgoJICAgIGZpCgkgICAgOzsKCWVzYWMKCgkjIERvIGEgdGVzdCB0byBz
ZWUgaWYgdGhpcyBpcyByZWFsbHkgYSBsaWJ0b29sIHByb2dyYW0uCgljYXNl
ICRob3N0IGluCgkqY3lnd2luKiB8ICptaW5ndyopCgkgICAgaWYgZnVuY19s
dHdyYXBwZXJfZXhlY3V0YWJsZV9wICIkZmlsZSI7IHRoZW4KCSAgICAgIGZ1
bmNfbHR3cmFwcGVyX3NjcmlwdG5hbWUgIiRmaWxlIgoJICAgICAgd3JhcHBl
cj0kZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZV9yZXN1bHQKCSAgICBlbHNl
CgkgICAgICBmdW5jX3N0cmlwbmFtZSAnJyAnLmV4ZScgIiRmaWxlIgoJICAg
ICAgd3JhcHBlcj0kZnVuY19zdHJpcG5hbWVfcmVzdWx0CgkgICAgZmkKCSAg
ICA7OwoJKikKCSAgICB3cmFwcGVyPSRmaWxlCgkgICAgOzsKCWVzYWMKCWlm
IGZ1bmNfbHR3cmFwcGVyX3NjcmlwdF9wICIkd3JhcHBlciI7IHRoZW4KCSAg
bm90aW5zdF9kZXBsaWJzPQoJICByZWxpbmtfY29tbWFuZD0KCgkgIGZ1bmNf
c291cmNlICIkd3JhcHBlciIKCgkgICMgQ2hlY2sgdGhlIHZhcmlhYmxlcyB0
aGF0IHNob3VsZCBoYXZlIGJlZW4gc2V0LgoJICB0ZXN0IC16ICIkZ2VuZXJh
dGVkX2J5X2xpYnRvb2xfdmVyc2lvbiIgJiYgXAoJICAgIGZ1bmNfZmF0YWxf
ZXJyb3IgImludmFsaWQgbGlidG9vbCB3cmFwcGVyIHNjcmlwdCBcYCR3cmFw
cGVyJyIKCgkgIGZpbmFsaXplPXllcwoJICBmb3IgbGliIGluICRub3RpbnN0
X2RlcGxpYnM7IGRvCgkgICAgIyBDaGVjayB0byBzZWUgdGhhdCBlYWNoIGxp
YnJhcnkgaXMgaW5zdGFsbGVkLgoJICAgIGxpYmRpcj0KCSAgICBpZiB0ZXN0
IC1mICIkbGliIjsgdGhlbgoJICAgICAgZnVuY19zb3VyY2UgIiRsaWIiCgkg
ICAgZmkKCSAgICBsaWJmaWxlPSIkbGliZGlyLyJgJEVDSE8gIiRsaWIiIHwg
JFNFRCAncyVeLiovJSVnJ2AgIyMjIHRlc3RzdWl0ZTogc2tpcCBuZXN0ZWQg
cXVvdGluZyB0ZXN0CgkgICAgaWYgdGVzdCAtbiAiJGxpYmRpciIgJiYgdGVz
dCAhIC1mICIkbGliZmlsZSI7IHRoZW4KCSAgICAgIGZ1bmNfd2FybmluZyAi
XGAkbGliJyBoYXMgbm90IGJlZW4gaW5zdGFsbGVkIGluIFxgJGxpYmRpcici
CgkgICAgICBmaW5hbGl6ZT1ubwoJICAgIGZpCgkgIGRvbmUKCgkgIHJlbGlu
a19jb21tYW5kPQoJICBmdW5jX3NvdXJjZSAiJHdyYXBwZXIiCgoJICBvdXRw
dXRuYW1lPQoJICBpZiB0ZXN0ICIkZmFzdF9pbnN0YWxsIiA9IG5vICYmIHRl
c3QgLW4gIiRyZWxpbmtfY29tbWFuZCI7IHRoZW4KCSAgICAkb3B0X2RyeV9y
dW4gfHwgewoJICAgICAgaWYgdGVzdCAiJGZpbmFsaXplIiA9IHllczsgdGhl
bgoJICAgICAgICB0bXBkaXI9YGZ1bmNfbWt0ZW1wZGlyYAoJCWZ1bmNfYmFz
ZW5hbWUgIiRmaWxlJHN0cmlwcGVkX2V4dCIKCQlmaWxlPSIkZnVuY19iYXNl
bmFtZV9yZXN1bHQiCgkgICAgICAgIG91dHB1dG5hbWU9IiR0bXBkaXIvJGZp
bGUiCgkgICAgICAgICMgUmVwbGFjZSB0aGUgb3V0cHV0IGZpbGUgc3BlY2lm
aWNhdGlvbi4KCSAgICAgICAgcmVsaW5rX2NvbW1hbmQ9YCRFQ0hPICIkcmVs
aW5rX2NvbW1hbmQiIHwgJFNFRCAncyVAT1VUUFVUQCUnIiRvdXRwdXRuYW1l
IiclZydgCgoJICAgICAgICAkb3B0X3NpbGVudCB8fCB7CgkgICAgICAgICAg
ZnVuY19xdW90ZV9mb3JfZXhwYW5kICIkcmVsaW5rX2NvbW1hbmQiCgkJICBl
dmFsICJmdW5jX2VjaG8gJGZ1bmNfcXVvdGVfZm9yX2V4cGFuZF9yZXN1bHQi
CgkgICAgICAgIH0KCSAgICAgICAgaWYgZXZhbCAiJHJlbGlua19jb21tYW5k
IjsgdGhlbiA6CgkgICAgICAgICAgZWxzZQoJCSAgZnVuY19lcnJvciAiZXJy
b3I6IHJlbGluayBcYCRmaWxlJyB3aXRoIHRoZSBhYm92ZSBjb21tYW5kIGJl
Zm9yZSBpbnN0YWxsaW5nIGl0IgoJCSAgJG9wdF9kcnlfcnVuIHx8ICR7Uk19
ciAiJHRtcGRpciIKCQkgIGNvbnRpbnVlCgkgICAgICAgIGZpCgkgICAgICAg
IGZpbGU9IiRvdXRwdXRuYW1lIgoJICAgICAgZWxzZQoJICAgICAgICBmdW5j
X3dhcm5pbmcgImNhbm5vdCByZWxpbmsgXGAkZmlsZSciCgkgICAgICBmaQoJ
ICAgIH0KCSAgZWxzZQoJICAgICMgSW5zdGFsbCB0aGUgYmluYXJ5IHRoYXQg
d2UgY29tcGlsZWQgZWFybGllci4KCSAgICBmaWxlPWAkRUNITyAiJGZpbGUk
c3RyaXBwZWRfZXh0IiB8ICRTRUQgInMlXChbXi9dKlwpJCUkb2JqZGlyL1wx
JSJgCgkgIGZpCglmaQoKCSMgcmVtb3ZlIC5leGUgc2luY2UgY3lnd2luIC91
c3IvYmluL2luc3RhbGwgd2lsbCBhcHBlbmQgYW5vdGhlcgoJIyBvbmUgYW55
d2F5CgljYXNlICRpbnN0YWxsX3Byb2csJGhvc3QgaW4KCSovdXNyL2Jpbi9p
bnN0YWxsKiwqY3lnd2luKikKCSAgY2FzZSAkZmlsZTokZGVzdGZpbGUgaW4K
CSAgKi5leGU6Ki5leGUpCgkgICAgIyB0aGlzIGlzIG9rCgkgICAgOzsKCSAg
Ki5leGU6KikKCSAgICBkZXN0ZmlsZT0kZGVzdGZpbGUuZXhlCgkgICAgOzsK
CSAgKjoqLmV4ZSkKCSAgICBmdW5jX3N0cmlwbmFtZSAnJyAnLmV4ZScgIiRk
ZXN0ZmlsZSIKCSAgICBkZXN0ZmlsZT0kZnVuY19zdHJpcG5hbWVfcmVzdWx0
CgkgICAgOzsKCSAgZXNhYwoJICA7OwoJZXNhYwoJZnVuY19zaG93X2V2YWwg
IiRpbnN0YWxsX3Byb2dcJHN0cmlwbWUgXCRmaWxlIFwkZGVzdGZpbGUiICdl
eGl0ICQ/JwoJJG9wdF9kcnlfcnVuIHx8IGlmIHRlc3QgLW4gIiRvdXRwdXRu
YW1lIjsgdGhlbgoJICAke1JNfXIgIiR0bXBkaXIiCglmaQoJOzsKICAgICAg
ZXNhYwogICAgZG9uZQoKICAgIGZvciBmaWxlIGluICRzdGF0aWNsaWJzOyBk
bwogICAgICBmdW5jX2Jhc2VuYW1lICIkZmlsZSIKICAgICAgbmFtZT0iJGZ1
bmNfYmFzZW5hbWVfcmVzdWx0IgoKICAgICAgIyBTZXQgdXAgdGhlIHJhbmxp
YiBwYXJhbWV0ZXJzLgogICAgICBvbGRsaWI9IiRkZXN0ZGlyLyRuYW1lIgoK
ICAgICAgZnVuY19zaG93X2V2YWwgIiRpbnN0YWxsX3Byb2cgXCRmaWxlIFwk
b2xkbGliIiAnZXhpdCAkPycKCiAgICAgIGlmIHRlc3QgLW4gIiRzdHJpcG1l
IiAmJiB0ZXN0IC1uICIkb2xkX3N0cmlwbGliIjsgdGhlbgoJZnVuY19zaG93
X2V2YWwgIiRvbGRfc3RyaXBsaWIgJG9sZGxpYiIgJ2V4aXQgJD8nCiAgICAg
IGZpCgogICAgICAjIERvIGVhY2ggY29tbWFuZCBpbiB0aGUgcG9zdGluc3Rh
bGwgY29tbWFuZHMuCiAgICAgIGZ1bmNfZXhlY3V0ZV9jbWRzICIkb2xkX3Bv
c3RpbnN0YWxsX2NtZHMiICdleGl0ICQ/JwogICAgZG9uZQoKICAgIHRlc3Qg
LW4gIiRmdXR1cmVfbGliZGlycyIgJiYgXAogICAgICBmdW5jX3dhcm5pbmcg
InJlbWVtYmVyIHRvIHJ1biBcYCRwcm9nbmFtZSAtLWZpbmlzaCRmdXR1cmVf
bGliZGlycyciCgogICAgaWYgdGVzdCAtbiAiJGN1cnJlbnRfbGliZGlycyI7
IHRoZW4KICAgICAgIyBNYXliZSBqdXN0IGRvIGEgZHJ5IHJ1bi4KICAgICAg
JG9wdF9kcnlfcnVuICYmIGN1cnJlbnRfbGliZGlycz0iIC1uJGN1cnJlbnRf
bGliZGlycyIKICAgICAgZXhlY19jbWQ9JyRTSEVMTCAkcHJvZ3BhdGggJHBy
ZXNlcnZlX2FyZ3MgLS1maW5pc2gkY3VycmVudF9saWJkaXJzJwogICAgZWxz
ZQogICAgICBleGl0ICRFWElUX1NVQ0NFU1MKICAgIGZpCn0KCnRlc3QgIiRv
cHRfbW9kZSIgPSBpbnN0YWxsICYmIGZ1bmNfbW9kZV9pbnN0YWxsICR7MSsi
JEAifQoKCiMgZnVuY19nZW5lcmF0ZV9kbHN5bXMgb3V0cHV0bmFtZSBvcmln
aW5hdG9yIHBpY19wCiMgRXh0cmFjdCBzeW1ib2xzIGZyb20gZGxwcmVmaWxl
cyBhbmQgY3JlYXRlICR7b3V0cHV0bmFtZX1TLm8gd2l0aAojIGEgZGxwcmVv
cGVuIHN5bWJvbCB0YWJsZS4KZnVuY19nZW5lcmF0ZV9kbHN5bXMgKCkKewog
ICAgJG9wdF9kZWJ1ZwogICAgbXlfb3V0cHV0bmFtZT0iJDEiCiAgICBteV9v
cmlnaW5hdG9yPSIkMiIKICAgIG15X3BpY19wPSIkezMtbm99IgogICAgbXlf
cHJlZml4PWAkRUNITyAiJG15X29yaWdpbmF0b3IiIHwgc2VkICdzJVteYS16
QS1aMC05XSVfJWcnYAogICAgbXlfZGxzeW1zPQoKICAgIGlmIHRlc3QgLW4g
IiRkbGZpbGVzJGRscHJlZmlsZXMiIHx8IHRlc3QgIiRkbHNlbGYiICE9IG5v
OyB0aGVuCiAgICAgIGlmIHRlc3QgLW4gIiROTSIgJiYgdGVzdCAtbiAiJGds
b2JhbF9zeW1ib2xfcGlwZSI7IHRoZW4KCW15X2Rsc3ltcz0iJHtteV9vdXRw
dXRuYW1lfVMuYyIKICAgICAgZWxzZQoJZnVuY19lcnJvciAibm90IGNvbmZp
Z3VyZWQgdG8gZXh0cmFjdCBnbG9iYWwgc3ltYm9scyBmcm9tIGRscHJlb3Bl
bmVkIGZpbGVzIgogICAgICBmaQogICAgZmkKCiAgICBpZiB0ZXN0IC1uICIk
bXlfZGxzeW1zIjsgdGhlbgogICAgICBjYXNlICRteV9kbHN5bXMgaW4KICAg
ICAgIiIpIDs7CiAgICAgICouYykKCSMgRGlzY292ZXIgdGhlIG5saXN0IG9m
IGVhY2ggb2YgdGhlIGRsZmlsZXMuCglubGlzdD0iJG91dHB1dF9vYmpkaXIv
JHtteV9vdXRwdXRuYW1lfS5ubSIKCglmdW5jX3Nob3dfZXZhbCAiJFJNICRu
bGlzdCAke25saXN0fVMgJHtubGlzdH1UIgoKCSMgUGFyc2UgdGhlIG5hbWUg
bGlzdCBpbnRvIGEgc291cmNlIGZpbGUuCglmdW5jX3ZlcmJvc2UgImNyZWF0
aW5nICRvdXRwdXRfb2JqZGlyLyRteV9kbHN5bXMiCgoJJG9wdF9kcnlfcnVu
IHx8ICRFQ0hPID4gIiRvdXRwdXRfb2JqZGlyLyRteV9kbHN5bXMiICJcCi8q
ICRteV9kbHN5bXMgLSBzeW1ib2wgcmVzb2x1dGlvbiB0YWJsZSBmb3IgXGAk
bXlfb3V0cHV0bmFtZScgZGxzeW0gZW11bGF0aW9uLiAqLwovKiBHZW5lcmF0
ZWQgYnkgJFBST0dSQU0gKEdOVSAkUEFDS0FHRSRUSU1FU1RBTVApICRWRVJT
SU9OICovCgojaWZkZWYgX19jcGx1c3BsdXMKZXh0ZXJuIFwiQ1wiIHsKI2Vu
ZGlmCgojaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgKCgoX19HTlVDX18gPT0g
NCkgJiYgKF9fR05VQ19NSU5PUl9fID49IDQpKSB8fCAoX19HTlVDX18gPiA0
KSkKI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVdzdHJpY3Qt
cHJvdG90eXBlc1wiCiNlbmRpZgoKLyogS2VlcCB0aGlzIGNvZGUgaW4gc3lu
YyBiZXR3ZWVuIGxpYnRvb2wubTQsIGx0bWFpbiwgbHRfc3lzdGVtLmgsIGFu
ZCB0ZXN0cy4gICovCiNpZiBkZWZpbmVkKF9XSU4zMikgfHwgZGVmaW5lZChf
X0NZR1dJTl9fKSB8fCBkZWZpbmVkKF9XSU4zMl9XQ0UpCi8qIERBVEEgaW1w
b3J0cyBmcm9tIERMTHMgb24gV0lOMzIgY29uJ3QgYmUgY29uc3QsIGJlY2F1
c2UgcnVudGltZQogICByZWxvY2F0aW9ucyBhcmUgcGVyZm9ybWVkIC0tIHNl
ZSBsZCdzIGRvY3VtZW50YXRpb24gb24gcHNldWRvLXJlbG9jcy4gICovCiMg
ZGVmaW5lIExUX0RMU1lNX0NPTlNUCiNlbGlmIGRlZmluZWQoX19vc2ZfXykK
LyogVGhpcyBzeXN0ZW0gZG9lcyBub3QgY29wZSB3ZWxsIHdpdGggcmVsb2Nh
dGlvbnMgaW4gY29uc3QgZGF0YS4gICovCiMgZGVmaW5lIExUX0RMU1lNX0NP
TlNUCiNlbHNlCiMgZGVmaW5lIExUX0RMU1lNX0NPTlNUIGNvbnN0CiNlbmRp
ZgoKLyogRXh0ZXJuYWwgc3ltYm9sIGRlY2xhcmF0aW9ucyBmb3IgdGhlIGNv
bXBpbGVyLiAqL1wKIgoKCWlmIHRlc3QgIiRkbHNlbGYiID0geWVzOyB0aGVu
CgkgIGZ1bmNfdmVyYm9zZSAiZ2VuZXJhdGluZyBzeW1ib2wgbGlzdCBmb3Ig
XGAkb3V0cHV0JyIKCgkgICRvcHRfZHJ5X3J1biB8fCBlY2hvICc6IEBQUk9H
UkFNQCAnID4gIiRubGlzdCIKCgkgICMgQWRkIG91ciBvd24gcHJvZ3JhbSBv
YmplY3RzIHRvIHRoZSBzeW1ib2wgbGlzdC4KCSAgcHJvZ2ZpbGVzPWAkRUNI
TyAiJG9ianMkb2xkX2RlcGxpYnMiIHwgJFNQMk5MIHwgJFNFRCAiJGxvMm8i
IHwgJE5MMlNQYAoJICBmb3IgcHJvZ2ZpbGUgaW4gJHByb2dmaWxlczsgZG8K
CSAgICBmdW5jX3RvX3Rvb2xfZmlsZSAiJHByb2dmaWxlIiBmdW5jX2NvbnZl
cnRfZmlsZV9tc3lzX3RvX3czMgoJICAgIGZ1bmNfdmVyYm9zZSAiZXh0cmFj
dGluZyBnbG9iYWwgQyBzeW1ib2xzIGZyb20gXGAkZnVuY190b190b29sX2Zp
bGVfcmVzdWx0JyIKCSAgICAkb3B0X2RyeV9ydW4gfHwgZXZhbCAiJE5NICRm
dW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQgfCAkZ2xvYmFsX3N5bWJvbF9waXBl
ID4+ICckbmxpc3QnIgoJICBkb25lCgoJICBpZiB0ZXN0IC1uICIkZXhjbHVk
ZV9leHBzeW1zIjsgdGhlbgoJICAgICRvcHRfZHJ5X3J1biB8fCB7CgkgICAg
ICBldmFsICckRUdSRVAgLXYgIiAoJGV4Y2x1ZGVfZXhwc3ltcykkIiAiJG5s
aXN0IiA+ICIkbmxpc3QiVCcKCSAgICAgIGV2YWwgJyRNViAiJG5saXN0IlQg
IiRubGlzdCInCgkgICAgfQoJICBmaQoKCSAgaWYgdGVzdCAtbiAiJGV4cG9y
dF9zeW1ib2xzX3JlZ2V4IjsgdGhlbgoJICAgICRvcHRfZHJ5X3J1biB8fCB7
CgkgICAgICBldmFsICckRUdSRVAgLWUgIiRleHBvcnRfc3ltYm9sc19yZWdl
eCIgIiRubGlzdCIgPiAiJG5saXN0IlQnCgkgICAgICBldmFsICckTVYgIiRu
bGlzdCJUICIkbmxpc3QiJwoJICAgIH0KCSAgZmkKCgkgICMgUHJlcGFyZSB0
aGUgbGlzdCBvZiBleHBvcnRlZCBzeW1ib2xzCgkgIGlmIHRlc3QgLXogIiRl
eHBvcnRfc3ltYm9scyI7IHRoZW4KCSAgICBleHBvcnRfc3ltYm9scz0iJG91
dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUuZXhwIgoJICAgICRvcHRfZHJ5X3J1
biB8fCB7CgkgICAgICAkUk0gJGV4cG9ydF9zeW1ib2xzCgkgICAgICBldmFs
ICIke1NFRH0gLW4gLWUgJy9eOiBAUFJPR1JBTUAgJC9kJyAtZSAncy9eLiog
XCguKlwpJC9cMS9wJyAiJzwgIiRubGlzdCIgPiAiJGV4cG9ydF9zeW1ib2xz
IicKCSAgICAgIGNhc2UgJGhvc3QgaW4KCSAgICAgICpjeWd3aW4qIHwgKm1p
bmd3KiB8ICpjZWdjYyogKQogICAgICAgICAgICAgICAgZXZhbCAiZWNobyBF
WFBPUlRTICInPiAiJG91dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUuZGVmIicK
ICAgICAgICAgICAgICAgIGV2YWwgJ2NhdCAiJGV4cG9ydF9zeW1ib2xzIiA+
PiAiJG91dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUuZGVmIicKCSAgICAgICAg
OzsKCSAgICAgIGVzYWMKCSAgICB9CgkgIGVsc2UKCSAgICAkb3B0X2RyeV9y
dW4gfHwgewoJICAgICAgZXZhbCAiJHtTRUR9IC1lICdzL1woW10uWypeJF1c
KS9cXFxcXDEvZycgLWUgJ3MvXi8gLycgLWUgJ3MvJC8kLyciJyA8ICIkZXhw
b3J0X3N5bWJvbHMiID4gIiRvdXRwdXRfb2JqZGlyLyRvdXRwdXRuYW1lLmV4
cCInCgkgICAgICBldmFsICckR1JFUCAtZiAiJG91dHB1dF9vYmpkaXIvJG91
dHB1dG5hbWUuZXhwIiA8ICIkbmxpc3QiID4gIiRubGlzdCJUJwoJICAgICAg
ZXZhbCAnJE1WICIkbmxpc3QiVCAiJG5saXN0IicKCSAgICAgIGNhc2UgJGhv
c3QgaW4KCSAgICAgICAgKmN5Z3dpbiogfCAqbWluZ3cqIHwgKmNlZ2NjKiAp
CgkgICAgICAgICAgZXZhbCAiZWNobyBFWFBPUlRTICInPiAiJG91dHB1dF9v
YmpkaXIvJG91dHB1dG5hbWUuZGVmIicKCSAgICAgICAgICBldmFsICdjYXQg
IiRubGlzdCIgPj4gIiRvdXRwdXRfb2JqZGlyLyRvdXRwdXRuYW1lLmRlZiIn
CgkgICAgICAgICAgOzsKCSAgICAgIGVzYWMKCSAgICB9CgkgIGZpCglmaQoK
CWZvciBkbHByZWZpbGUgaW4gJGRscHJlZmlsZXM7IGRvCgkgIGZ1bmNfdmVy
Ym9zZSAiZXh0cmFjdGluZyBnbG9iYWwgQyBzeW1ib2xzIGZyb20gXGAkZGxw
cmVmaWxlJyIKCSAgZnVuY19iYXNlbmFtZSAiJGRscHJlZmlsZSIKCSAgbmFt
ZT0iJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgogICAgICAgICAgY2FzZSAkaG9z
dCBpbgoJICAgICpjeWd3aW4qIHwgKm1pbmd3KiB8ICpjZWdjYyogKQoJICAg
ICAgIyBpZiBhbiBpbXBvcnQgbGlicmFyeSwgd2UgbmVlZCB0byBvYnRhaW4g
ZGxuYW1lCgkgICAgICBpZiBmdW5jX3dpbjMyX2ltcG9ydF9saWJfcCAiJGRs
cHJlZmlsZSI7IHRoZW4KCSAgICAgICAgZnVuY190cl9zaCAiJGRscHJlZmls
ZSIKCSAgICAgICAgZXZhbCAiY3Vycl9sYWZpbGU9XCRsaWJmaWxlXyRmdW5j
X3RyX3NoX3Jlc3VsdCIKCSAgICAgICAgZGxwcmVmaWxlX2RsYmFzZW5hbWU9
IiIKCSAgICAgICAgaWYgdGVzdCAtbiAiJGN1cnJfbGFmaWxlIiAmJiBmdW5j
X2xhbGliX3AgIiRjdXJyX2xhZmlsZSI7IHRoZW4KCSAgICAgICAgICAjIFVz
ZSBzdWJzaGVsbCwgdG8gYXZvaWQgY2xvYmJlcmluZyBjdXJyZW50IHZhcmlh
YmxlIHZhbHVlcwoJICAgICAgICAgIGRscHJlZmlsZV9kbG5hbWU9YHNvdXJj
ZSAiJGN1cnJfbGFmaWxlIiAmJiBlY2hvICIkZGxuYW1lImAKCSAgICAgICAg
ICBpZiB0ZXN0IC1uICIkZGxwcmVmaWxlX2RsbmFtZSIgOyB0aGVuCgkgICAg
ICAgICAgICBmdW5jX2Jhc2VuYW1lICIkZGxwcmVmaWxlX2RsbmFtZSIKCSAg
ICAgICAgICAgIGRscHJlZmlsZV9kbGJhc2VuYW1lPSIkZnVuY19iYXNlbmFt
ZV9yZXN1bHQiCgkgICAgICAgICAgZWxzZQoJICAgICAgICAgICAgIyBubyBs
YWZpbGUuIHVzZXIgZXhwbGljaXRseSByZXF1ZXN0ZWQgLWRscHJlb3BlbiA8
aW1wb3J0IGxpYnJhcnk+LgoJICAgICAgICAgICAgJHNoYXJlZGxpYl9mcm9t
X2xpbmtsaWJfY21kICIkZGxwcmVmaWxlIgoJICAgICAgICAgICAgZGxwcmVm
aWxlX2RsYmFzZW5hbWU9JHNoYXJlZGxpYl9mcm9tX2xpbmtsaWJfcmVzdWx0
CgkgICAgICAgICAgZmkKCSAgICAgICAgZmkKCSAgICAgICAgJG9wdF9kcnlf
cnVuIHx8IHsKCSAgICAgICAgICBpZiB0ZXN0IC1uICIkZGxwcmVmaWxlX2Rs
YmFzZW5hbWUiIDsgdGhlbgoJICAgICAgICAgICAgZXZhbCAnJEVDSE8gIjog
JGRscHJlZmlsZV9kbGJhc2VuYW1lIiA+PiAiJG5saXN0IicKCSAgICAgICAg
ICBlbHNlCgkgICAgICAgICAgICBmdW5jX3dhcm5pbmcgIkNvdWxkIG5vdCBj
b21wdXRlIERMTCBuYW1lIGZyb20gJG5hbWUiCgkgICAgICAgICAgICBldmFs
ICckRUNITyAiOiAkbmFtZSAiID4+ICIkbmxpc3QiJwoJICAgICAgICAgIGZp
CgkgICAgICAgICAgZnVuY190b190b29sX2ZpbGUgIiRkbHByZWZpbGUiIGZ1
bmNfY29udmVydF9maWxlX21zeXNfdG9fdzMyCgkgICAgICAgICAgZXZhbCAi
JE5NIFwiJGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3VsdFwiIDI+L2Rldi9udWxs
IHwgJGdsb2JhbF9zeW1ib2xfcGlwZSB8CgkgICAgICAgICAgICAkU0VEIC1l
ICcvSSBfX2ltcC9kJyAtZSAncy9JIF9fbm1fL0QgLztzL19ubV9fLy8nID4+
ICckbmxpc3QnIgoJICAgICAgICB9CgkgICAgICBlbHNlICMgbm90IGFuIGlt
cG9ydCBsaWIKCSAgICAgICAgJG9wdF9kcnlfcnVuIHx8IHsKCSAgICAgICAg
ICBldmFsICckRUNITyAiOiAkbmFtZSAiID4+ICIkbmxpc3QiJwoJICAgICAg
ICAgIGZ1bmNfdG9fdG9vbF9maWxlICIkZGxwcmVmaWxlIiBmdW5jX2NvbnZl
cnRfZmlsZV9tc3lzX3RvX3czMgoJICAgICAgICAgIGV2YWwgIiROTSBcIiRm
dW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHRcIiAyPi9kZXYvbnVsbCB8ICRnbG9i
YWxfc3ltYm9sX3BpcGUgPj4gJyRubGlzdCciCgkgICAgICAgIH0KCSAgICAg
IGZpCgkgICAgOzsKCSAgICAqKQoJICAgICAgJG9wdF9kcnlfcnVuIHx8IHsK
CSAgICAgICAgZXZhbCAnJEVDSE8gIjogJG5hbWUgIiA+PiAiJG5saXN0IicK
CSAgICAgICAgZnVuY190b190b29sX2ZpbGUgIiRkbHByZWZpbGUiIGZ1bmNf
Y29udmVydF9maWxlX21zeXNfdG9fdzMyCgkgICAgICAgIGV2YWwgIiROTSBc
IiRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHRcIiAyPi9kZXYvbnVsbCB8ICRn
bG9iYWxfc3ltYm9sX3BpcGUgPj4gJyRubGlzdCciCgkgICAgICB9CgkgICAg
OzsKICAgICAgICAgIGVzYWMKCWRvbmUKCgkkb3B0X2RyeV9ydW4gfHwgewoJ
ICAjIE1ha2Ugc3VyZSB3ZSBoYXZlIGF0IGxlYXN0IGFuIGVtcHR5IGZpbGUu
CgkgIHRlc3QgLWYgIiRubGlzdCIgfHwgOiA+ICIkbmxpc3QiCgoJICBpZiB0
ZXN0IC1uICIkZXhjbHVkZV9leHBzeW1zIjsgdGhlbgoJICAgICRFR1JFUCAt
diAiICgkZXhjbHVkZV9leHBzeW1zKSQiICIkbmxpc3QiID4gIiRubGlzdCJU
CgkgICAgJE1WICIkbmxpc3QiVCAiJG5saXN0IgoJICBmaQoKCSAgIyBUcnkg
c29ydGluZyBhbmQgdW5pcXVpZnlpbmcgdGhlIG91dHB1dC4KCSAgaWYgJEdS
RVAgLXYgIl46ICIgPCAiJG5saXN0IiB8CgkgICAgICBpZiBzb3J0IC1rIDMg
PC9kZXYvbnVsbCA+L2Rldi9udWxsIDI+JjE7IHRoZW4KCQlzb3J0IC1rIDMK
CSAgICAgIGVsc2UKCQlzb3J0ICsyCgkgICAgICBmaSB8CgkgICAgICB1bmlx
ID4gIiRubGlzdCJTOyB0aGVuCgkgICAgOgoJICBlbHNlCgkgICAgJEdSRVAg
LXYgIl46ICIgPCAiJG5saXN0IiA+ICIkbmxpc3QiUwoJICBmaQoKCSAgaWYg
dGVzdCAtZiAiJG5saXN0IlM7IHRoZW4KCSAgICBldmFsICIkZ2xvYmFsX3N5
bWJvbF90b19jZGVjbCInIDwgIiRubGlzdCJTID4+ICIkb3V0cHV0X29iamRp
ci8kbXlfZGxzeW1zIicKCSAgZWxzZQoJICAgIGVjaG8gJy8qIE5PTkUgKi8n
ID4+ICIkb3V0cHV0X29iamRpci8kbXlfZGxzeW1zIgoJICBmaQoKCSAgZWNo
byA+PiAiJG91dHB1dF9vYmpkaXIvJG15X2Rsc3ltcyIgIlwKCi8qIFRoZSBt
YXBwaW5nIGJldHdlZW4gc3ltYm9sIG5hbWVzIGFuZCBzeW1ib2xzLiAgKi8K
dHlwZWRlZiBzdHJ1Y3QgewogIGNvbnN0IGNoYXIgKm5hbWU7CiAgdm9pZCAq
YWRkcmVzczsKfSBsdF9kbHN5bWxpc3Q7CmV4dGVybiBMVF9ETFNZTV9DT05T
VCBsdF9kbHN5bWxpc3QKbHRfJHtteV9wcmVmaXh9X0xUWF9wcmVsb2FkZWRf
c3ltYm9sc1tdOwpMVF9ETFNZTV9DT05TVCBsdF9kbHN5bWxpc3QKbHRfJHtt
eV9wcmVmaXh9X0xUWF9wcmVsb2FkZWRfc3ltYm9sc1tdID0Ke1wKICB7IFwi
JG15X29yaWdpbmF0b3JcIiwgKHZvaWQgKikgMCB9LCIKCgkgIGNhc2UgJG5l
ZWRfbGliX3ByZWZpeCBpbgoJICBubykKCSAgICBldmFsICIkZ2xvYmFsX3N5
bWJvbF90b19jX25hbWVfYWRkcmVzcyIgPCAiJG5saXN0IiA+PiAiJG91dHB1
dF9vYmpkaXIvJG15X2Rsc3ltcyIKCSAgICA7OwoJICAqKQoJICAgIGV2YWwg
IiRnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXgi
IDwgIiRubGlzdCIgPj4gIiRvdXRwdXRfb2JqZGlyLyRteV9kbHN5bXMiCgkg
ICAgOzsKCSAgZXNhYwoJICBlY2hvID4+ICIkb3V0cHV0X29iamRpci8kbXlf
ZGxzeW1zIiAiXAogIHswLCAodm9pZCAqKSAwfQp9OwoKLyogVGhpcyB3b3Jr
cyBhcm91bmQgYSBwcm9ibGVtIGluIEZyZWVCU0QgbGlua2VyICovCiNpZmRl
ZiBGUkVFQlNEX1dPUktBUk9VTkQKc3RhdGljIGNvbnN0IHZvaWQgKmx0X3By
ZWxvYWRlZF9zZXR1cCgpIHsKICByZXR1cm4gbHRfJHtteV9wcmVmaXh9X0xU
WF9wcmVsb2FkZWRfc3ltYm9sczsKfQojZW5kaWYKCiNpZmRlZiBfX2NwbHVz
cGx1cwp9CiNlbmRpZlwKIgoJfSAjICEkb3B0X2RyeV9ydW4KCglwaWNfZmxh
Z19mb3Jfc3ltdGFibGU9CgljYXNlICIkY29tcGlsZV9jb21tYW5kICIgaW4K
CSoiIC1zdGF0aWMgIiopIDs7CgkqKQoJICBjYXNlICRob3N0IGluCgkgICMg
Y29tcGlsaW5nIHRoZSBzeW1ib2wgdGFibGUgZmlsZSB3aXRoIHBpY19mbGFn
IHdvcmtzIGFyb3VuZAoJICAjIGEgRnJlZUJTRCBidWcgdGhhdCBjYXVzZXMg
cHJvZ3JhbXMgdG8gY3Jhc2ggd2hlbiAtbG0gaXMKCSAgIyBsaW5rZWQgYmVm
b3JlIGFueSBvdGhlciBQSUMgb2JqZWN0LiAgQnV0IHdlIG11c3Qgbm90IHVz
ZQoJICAjIHBpY19mbGFnIHdoZW4gbGlua2luZyB3aXRoIC1zdGF0aWMuICBU
aGUgcHJvYmxlbSBleGlzdHMgaW4KCSAgIyBGcmVlQlNEIDIuMi42IGFuZCBp
cyBmaXhlZCBpbiBGcmVlQlNEIDMuMS4KCSAgKi0qLWZyZWVic2QyKnwqLSot
ZnJlZWJzZDMuMCp8Ki0qLWZyZWVic2RlbGYzLjAqKQoJICAgIHBpY19mbGFn
X2Zvcl9zeW10YWJsZT0iICRwaWNfZmxhZyAtREZSRUVCU0RfV09SS0FST1VO
RCIgOzsKCSAgKi0qLWhwdXgqKQoJICAgIHBpY19mbGFnX2Zvcl9zeW10YWJs
ZT0iICRwaWNfZmxhZyIgIDs7CgkgICopCgkgICAgaWYgdGVzdCAiWCRteV9w
aWNfcCIgIT0gWG5vOyB0aGVuCgkgICAgICBwaWNfZmxhZ19mb3Jfc3ltdGFi
bGU9IiAkcGljX2ZsYWciCgkgICAgZmkKCSAgICA7OwoJICBlc2FjCgkgIDs7
Cgllc2FjCglzeW10YWJfY2ZsYWdzPQoJZm9yIGFyZyBpbiAkTFRDRkxBR1M7
IGRvCgkgIGNhc2UgJGFyZyBpbgoJICAtcGllIHwgLWZwaWUgfCAtZlBJRSkg
OzsKCSAgKikgc3ltdGFiX2NmbGFncys9IiAkYXJnIiA7OwoJICBlc2FjCglk
b25lCgoJIyBOb3cgY29tcGlsZSB0aGUgZHluYW1pYyBzeW1ib2wgZmlsZS4K
CWZ1bmNfc2hvd19ldmFsICcoY2QgJG91dHB1dF9vYmpkaXIgJiYgJExUQ0Mk
c3ltdGFiX2NmbGFncyAtYyRub19idWlsdGluX2ZsYWckcGljX2ZsYWdfZm9y
X3N5bXRhYmxlICIkbXlfZGxzeW1zIiknICdleGl0ICQ/JwoKCSMgQ2xlYW4g
dXAgdGhlIGdlbmVyYXRlZCBmaWxlcy4KCWZ1bmNfc2hvd19ldmFsICckUk0g
IiRvdXRwdXRfb2JqZGlyLyRteV9kbHN5bXMiICIkbmxpc3QiICIke25saXN0
fVMiICIke25saXN0fVQiJwoKCSMgVHJhbnNmb3JtIHRoZSBzeW1ib2wgZmls
ZSBpbnRvIHRoZSBjb3JyZWN0IG5hbWUuCglzeW1maWxlb2JqPSIkb3V0cHV0
X29iamRpci8ke215X291dHB1dG5hbWV9Uy4kb2JqZXh0IgoJY2FzZSAkaG9z
dCBpbgoJKmN5Z3dpbiogfCAqbWluZ3cqIHwgKmNlZ2NjKiApCgkgIGlmIHRl
c3QgLWYgIiRvdXRwdXRfb2JqZGlyLyRteV9vdXRwdXRuYW1lLmRlZiI7IHRo
ZW4KCSAgICBjb21waWxlX2NvbW1hbmQ9YCRFQ0hPICIkY29tcGlsZV9jb21t
YW5kIiB8ICRTRUQgInMlQFNZTUZJTEVAJSRvdXRwdXRfb2JqZGlyLyRteV9v
dXRwdXRuYW1lLmRlZiAkc3ltZmlsZW9iaiUiYAoJICAgIGZpbmFsaXplX2Nv
bW1hbmQ9YCRFQ0hPICIkZmluYWxpemVfY29tbWFuZCIgfCAkU0VEICJzJUBT
WU1GSUxFQCUkb3V0cHV0X29iamRpci8kbXlfb3V0cHV0bmFtZS5kZWYgJHN5
bWZpbGVvYmolImAKCSAgZWxzZQoJICAgIGNvbXBpbGVfY29tbWFuZD1gJEVD
SE8gIiRjb21waWxlX2NvbW1hbmQiIHwgJFNFRCAicyVAU1lNRklMRUAlJHN5
bWZpbGVvYmolImAKCSAgICBmaW5hbGl6ZV9jb21tYW5kPWAkRUNITyAiJGZp
bmFsaXplX2NvbW1hbmQiIHwgJFNFRCAicyVAU1lNRklMRUAlJHN5bWZpbGVv
YmolImAKCSAgZmkKCSAgOzsKCSopCgkgIGNvbXBpbGVfY29tbWFuZD1gJEVD
SE8gIiRjb21waWxlX2NvbW1hbmQiIHwgJFNFRCAicyVAU1lNRklMRUAlJHN5
bWZpbGVvYmolImAKCSAgZmluYWxpemVfY29tbWFuZD1gJEVDSE8gIiRmaW5h
bGl6ZV9jb21tYW5kIiB8ICRTRUQgInMlQFNZTUZJTEVAJSRzeW1maWxlb2Jq
JSJgCgkgIDs7Cgllc2FjCgk7OwogICAgICAqKQoJZnVuY19mYXRhbF9lcnJv
ciAidW5rbm93biBzdWZmaXggZm9yIFxgJG15X2Rsc3ltcyciCgk7OwogICAg
ICBlc2FjCiAgICBlbHNlCiAgICAgICMgV2Uga2VlcCBnb2luZyBqdXN0IGlu
IGNhc2UgdGhlIHVzZXIgZGlkbid0IHJlZmVyIHRvCiAgICAgICMgbHRfcHJl
bG9hZGVkX3N5bWJvbHMuICBUaGUgbGlua2VyIHdpbGwgZmFpbCBpZiBnbG9i
YWxfc3ltYm9sX3BpcGUKICAgICAgIyByZWFsbHkgd2FzIHJlcXVpcmVkLgoK
ICAgICAgIyBOdWxsaWZ5IHRoZSBzeW1ib2wgZmlsZS4KICAgICAgY29tcGls
ZV9jb21tYW5kPWAkRUNITyAiJGNvbXBpbGVfY29tbWFuZCIgfCAkU0VEICJz
JSBAU1lNRklMRUAlJSJgCiAgICAgIGZpbmFsaXplX2NvbW1hbmQ9YCRFQ0hP
ICIkZmluYWxpemVfY29tbWFuZCIgfCAkU0VEICJzJSBAU1lNRklMRUAlJSJg
CiAgICBmaQp9CgojIGZ1bmNfd2luMzJfbGliaWQgYXJnCiMgcmV0dXJuIHRo
ZSBsaWJyYXJ5IHR5cGUgb2YgZmlsZSAnYXJnJwojCiMgTmVlZCBhIGxvdCBv
ZiBnb28gdG8gaGFuZGxlICpib3RoKiBETExzIGFuZCBpbXBvcnQgbGlicwoj
IEhhcyB0byBiZSBhIHNoZWxsIGZ1bmN0aW9uIGluIG9yZGVyIHRvICdlYXQn
IHRoZSBhcmd1bWVudAojIHRoYXQgaXMgc3VwcGxpZWQgd2hlbiAkZmlsZV9t
YWdpY19jb21tYW5kIGlzIGNhbGxlZC4KIyBEZXNwaXRlIHRoZSBuYW1lLCBh
bHNvIGRlYWwgd2l0aCA2NCBiaXQgYmluYXJpZXMuCmZ1bmNfd2luMzJfbGli
aWQgKCkKewogICRvcHRfZGVidWcKICB3aW4zMl9saWJpZF90eXBlPSJ1bmtu
b3duIgogIHdpbjMyX2ZpbGVyZXM9YGZpbGUgLUwgJDEgMj4vZGV2L251bGxg
CiAgY2FzZSAkd2luMzJfZmlsZXJlcyBpbgogICphclwgYXJjaGl2ZVwgaW1w
b3J0XCBsaWJyYXJ5KikgIyBkZWZpbml0ZWx5IGltcG9ydAogICAgd2luMzJf
bGliaWRfdHlwZT0ieDg2IGFyY2hpdmUgaW1wb3J0IgogICAgOzsKICAqYXJc
IGFyY2hpdmUqKSAjIGNvdWxkIGJlIGFuIGltcG9ydCwgb3Igc3RhdGljCiAg
ICAjIEtlZXAgdGhlIGVncmVwIHBhdHRlcm4gaW4gc3luYyB3aXRoIHRoZSBv
bmUgaW4gX0xUX0NIRUNLX01BR0lDX01FVEhPRC4KICAgIGlmIGV2YWwgJE9C
SkRVTVAgLWYgJDEgfCAkU0VEIC1lICcxMHEnIDI+L2Rldi9udWxsIHwKICAg
ICAgICRFR1JFUCAnZmlsZSBmb3JtYXQgKHBlaSotaTM4NiguKmFyY2hpdGVj
dHVyZTogaTM4Nik/fHBlLWFybS13aW5jZXxwZS14ODYtNjQpJyA+L2Rldi9u
dWxsOyB0aGVuCiAgICAgIGZ1bmNfdG9fdG9vbF9maWxlICIkMSIgZnVuY19j
b252ZXJ0X2ZpbGVfbXN5c190b193MzIKICAgICAgd2luMzJfbm1yZXM9YGV2
YWwgJE5NIC1mIHBvc2l4IC1BIFwiJGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3Vs
dFwiIHwKCSRTRUQgLW4gLWUgJwoJICAgIDEsMTAwewoJCS8gSSAvewoJCSAg
ICBzLC4qLGltcG9ydCwKCQkgICAgcAoJCSAgICBxCgkJfQoJICAgIH0nYAog
ICAgICBjYXNlICR3aW4zMl9ubXJlcyBpbgogICAgICBpbXBvcnQqKSAgd2lu
MzJfbGliaWRfdHlwZT0ieDg2IGFyY2hpdmUgaW1wb3J0Ijs7CiAgICAgICop
ICAgICAgICB3aW4zMl9saWJpZF90eXBlPSJ4ODYgYXJjaGl2ZSBzdGF0aWMi
OzsKICAgICAgZXNhYwogICAgZmkKICAgIDs7CiAgKkRMTCopCiAgICB3aW4z
Ml9saWJpZF90eXBlPSJ4ODYgRExMIgogICAgOzsKICAqZXhlY3V0YWJsZSop
ICMgYnV0IHNoZWxsIHNjcmlwdHMgYXJlICJleGVjdXRhYmxlIiB0b28uLi4K
ICAgIGNhc2UgJHdpbjMyX2ZpbGVyZXMgaW4KICAgICpNU1wgV2luZG93c1wg
UEVcIEludGVsKikKICAgICAgd2luMzJfbGliaWRfdHlwZT0ieDg2IERMTCIK
ICAgICAgOzsKICAgIGVzYWMKICAgIDs7CiAgZXNhYwogICRFQ0hPICIkd2lu
MzJfbGliaWRfdHlwZSIKfQoKIyBmdW5jX2N5Z21pbmdfZGxsX2Zvcl9pbXBs
aWIgQVJHCiMKIyBQbGF0Zm9ybS1zcGVjaWZpYyBmdW5jdGlvbiB0byBleHRy
YWN0IHRoZQojIG5hbWUgb2YgdGhlIERMTCBhc3NvY2lhdGVkIHdpdGggdGhl
IHNwZWNpZmllZAojIGltcG9ydCBsaWJyYXJ5IEFSRy4KIyBJbnZva2VkIGJ5
IGV2YWwnaW5nIHRoZSBsaWJ0b29sIHZhcmlhYmxlCiMgICAgJHNoYXJlZGxp
Yl9mcm9tX2xpbmtsaWJfY21kCiMgUmVzdWx0IGlzIGF2YWlsYWJsZSBpbiB0
aGUgdmFyaWFibGUKIyAgICAkc2hhcmVkbGliX2Zyb21fbGlua2xpYl9yZXN1
bHQKZnVuY19jeWdtaW5nX2RsbF9mb3JfaW1wbGliICgpCnsKICAkb3B0X2Rl
YnVnCiAgc2hhcmVkbGliX2Zyb21fbGlua2xpYl9yZXN1bHQ9YCRETExUT09M
IC0taWRlbnRpZnktc3RyaWN0IC0taWRlbnRpZnkgIiQxImAKfQoKIyBmdW5j
X2N5Z21pbmdfZGxsX2Zvcl9pbXBsaWJfZmFsbGJhY2tfY29yZSBTRUNUSU9O
X05BTUUgTElCTkFNRXMKIwojIFRoZSBpcyB0aGUgY29yZSBvZiBhIGZhbGxi
YWNrIGltcGxlbWVudGF0aW9uIG9mIGEKIyBwbGF0Zm9ybS1zcGVjaWZpYyBm
dW5jdGlvbiB0byBleHRyYWN0IHRoZSBuYW1lIG9mIHRoZQojIERMTCBhc3Nv
Y2lhdGVkIHdpdGggdGhlIHNwZWNpZmllZCBpbXBvcnQgbGlicmFyeSBMSUJO
QU1FLgojCiMgU0VDVElPTl9OQU1FIGlzIGVpdGhlciAuaWRhdGEkNiBvciAu
aWRhdGEkNywgZGVwZW5kaW5nCiMgb24gdGhlIHBsYXRmb3JtIGFuZCBjb21w
aWxlciB0aGF0IGNyZWF0ZWQgdGhlIGltcGxpYi4KIwojIEVjaG9zIHRoZSBu
YW1lIG9mIHRoZSBETEwgYXNzb2NpYXRlZCB3aXRoIHRoZQojIHNwZWNpZmll
ZCBpbXBvcnQgbGlicmFyeS4KZnVuY19jeWdtaW5nX2RsbF9mb3JfaW1wbGli
X2ZhbGxiYWNrX2NvcmUgKCkKewogICRvcHRfZGVidWcKICBtYXRjaF9saXRl
cmFsPWAkRUNITyAiJDEiIHwgJFNFRCAiJHNlZF9tYWtlX2xpdGVyYWxfcmVn
ZXgiYAogICRPQkpEVU1QIC1zIC0tc2VjdGlvbiAiJDEiICIkMiIgMj4vZGV2
L251bGwgfAogICAgJFNFRCAnL15Db250ZW50cyBvZiBzZWN0aW9uICciJG1h
dGNoX2xpdGVyYWwiJzovewogICAgICAjIFBsYWNlIG1hcmtlciBhdCBiZWdp
bm5pbmcgb2YgYXJjaGl2ZSBtZW1iZXIgZGxsbmFtZSBzZWN0aW9uCiAgICAg
IHMvLiovPT09PU1BUks9PT09LwogICAgICBwCiAgICAgIGQKICAgIH0KICAg
ICMgVGhlc2UgbGluZXMgY2FuIHNvbWV0aW1lcyBiZSBsb25nZXIgdGhhbiA0
MyBjaGFyYWN0ZXJzLCBidXQKICAgICMgYXJlIGFsd2F5cyB1bmludGVyZXN0
aW5nCiAgICAvOlsJIF0qZmlsZSBmb3JtYXQgcGVbaV1ceywxXH0tL2QKICAg
IC9eSW4gYXJjaGl2ZSBbXjpdKjovZAogICAgIyBFbnN1cmUgbWFya2VyIGlz
IHByaW50ZWQKICAgIC9ePT09PU1BUks9PT09L3AKICAgICMgUmVtb3ZlIGFs
bCBsaW5lcyB3aXRoIGxlc3MgdGhhbiA0MyBjaGFyYWN0ZXJzCiAgICAvXi5c
ezQzXH0vIWQKICAgICMgRnJvbSByZW1haW5pbmcgbGluZXMsIHJlbW92ZSBm
aXJzdCA0MyBjaGFyYWN0ZXJzCiAgICBzL14uXHs0M1x9Ly8nIHwKICAgICRT
RUQgLW4gJwogICAgICAjIEpvaW4gbWFya2VyIGFuZCBhbGwgbGluZXMgdW50
aWwgbmV4dCBtYXJrZXIgaW50byBhIHNpbmdsZSBsaW5lCiAgICAgIC9ePT09
PU1BUks9PT09LyBiIHBhcmEKICAgICAgSAogICAgICAkIGIgcGFyYQogICAg
ICBiCiAgICAgIDpwYXJhCiAgICAgIHgKICAgICAgcy9cbi8vZwogICAgICAj
IFJlbW92ZSB0aGUgbWFya2VyCiAgICAgIHMvXj09PT1NQVJLPT09PS8vCiAg
ICAgICMgUmVtb3ZlIHRyYWlsaW5nIGRvdHMgYW5kIHdoaXRlc3BhY2UKICAg
ICAgcy9bXC4gXHRdKiQvLwogICAgICAjIFByaW50CiAgICAgIC8uL3AnIHwK
ICAgICMgd2Ugbm93IGhhdmUgYSBsaXN0LCBvbmUgZW50cnkgcGVyIGxpbmUs
IG9mIHRoZSBzdHJpbmdpZmllZAogICAgIyBjb250ZW50cyBvZiB0aGUgYXBw
cm9wcmlhdGUgc2VjdGlvbiBvZiBhbGwgbWVtYmVycyBvZiB0aGUKICAgICMg
YXJjaGl2ZSB3aGljaCBwb3NzZXNzIHRoYXQgc2VjdGlvbi4gSGV1cmlzdGlj
OiBlbGltaW5hdGUKICAgICMgYWxsIHRob3NlIHdoaWNoIGhhdmUgYSBmaXJz
dCBvciBzZWNvbmQgY2hhcmFjdGVyIHRoYXQgaXMKICAgICMgYSAnLicgKHRo
YXQgaXMsIG9iamR1bXAncyByZXByZXNlbnRhdGlvbiBvZiBhbiB1bnByaW50
YWJsZQogICAgIyBjaGFyYWN0ZXIuKSBUaGlzIHNob3VsZCB3b3JrIGZvciBh
bGwgYXJjaGl2ZXMgd2l0aCBsZXNzIHRoYW4KICAgICMgMHgzMDJmIGV4cG9y
dHMgLS0gYnV0IHdpbGwgZmFpbCBmb3IgRExMcyB3aG9zZSBuYW1lIGFjdHVh
bGx5CiAgICAjIGJlZ2lucyB3aXRoIGEgbGl0ZXJhbCAnLicgb3IgYSBzaW5n
bGUgY2hhcmFjdGVyIGZvbGxvd2VkIGJ5CiAgICAjIGEgJy4nLgogICAgIwog
ICAgIyBPZiB0aG9zZSB0aGF0IHJlbWFpbiwgcHJpbnQgdGhlIGZpcnN0IG9u
ZS4KICAgICRTRUQgLWUgJy9eXC4vZDsvXi5cLi9kO3EnCn0KCiMgZnVuY19j
eWdtaW5nX2dudV9pbXBsaWJfcCBBUkcKIyBUaGlzIHByZWRpY2F0ZSByZXR1
cm5zIHdpdGggemVybyBzdGF0dXMgKFRSVUUpIGlmCiMgQVJHIGlzIGEgR05V
L2JpbnV0aWxzLXN0eWxlIGltcG9ydCBsaWJyYXJ5LiBSZXR1cm5zCiMgd2l0
aCBub256ZXJvIHN0YXR1cyAoRkFMU0UpIG90aGVyd2lzZS4KZnVuY19jeWdt
aW5nX2dudV9pbXBsaWJfcCAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1bmNfdG9f
dG9vbF9maWxlICIkMSIgZnVuY19jb252ZXJ0X2ZpbGVfbXN5c190b193MzIK
ICBmdW5jX2N5Z21pbmdfZ251X2ltcGxpYl90bXA9YCROTSAiJGZ1bmNfdG9f
dG9vbF9maWxlX3Jlc3VsdCIgfCBldmFsICIkZ2xvYmFsX3N5bWJvbF9waXBl
IiB8ICRFR1JFUCAnIChfaGVhZF9bQS1aYS16MC05X10rX1thZF1sKnxbQS1a
YS16MC05X10rX1thZF1sKl9pbmFtZSkkJ2AKICB0ZXN0IC1uICIkZnVuY19j
eWdtaW5nX2dudV9pbXBsaWJfdG1wIgp9CgojIGZ1bmNfY3lnbWluZ19tc19p
bXBsaWJfcCBBUkcKIyBUaGlzIHByZWRpY2F0ZSByZXR1cm5zIHdpdGggemVy
byBzdGF0dXMgKFRSVUUpIGlmCiMgQVJHIGlzIGFuIE1TLXN0eWxlIGltcG9y
dCBsaWJyYXJ5LiBSZXR1cm5zCiMgd2l0aCBub256ZXJvIHN0YXR1cyAoRkFM
U0UpIG90aGVyd2lzZS4KZnVuY19jeWdtaW5nX21zX2ltcGxpYl9wICgpCnsK
ICAkb3B0X2RlYnVnCiAgZnVuY190b190b29sX2ZpbGUgIiQxIiBmdW5jX2Nv
bnZlcnRfZmlsZV9tc3lzX3RvX3czMgogIGZ1bmNfY3lnbWluZ19tc19pbXBs
aWJfdG1wPWAkTk0gIiRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQiIHwgZXZh
bCAiJGdsb2JhbF9zeW1ib2xfcGlwZSIgfCAkR1JFUCAnX05VTExfSU1QT1JU
X0RFU0NSSVBUT1InYAogIHRlc3QgLW4gIiRmdW5jX2N5Z21pbmdfbXNfaW1w
bGliX3RtcCIKfQoKIyBmdW5jX2N5Z21pbmdfZGxsX2Zvcl9pbXBsaWJfZmFs
bGJhY2sgQVJHCiMgUGxhdGZvcm0tc3BlY2lmaWMgZnVuY3Rpb24gdG8gZXh0
cmFjdCB0aGUKIyBuYW1lIG9mIHRoZSBETEwgYXNzb2NpYXRlZCB3aXRoIHRo
ZSBzcGVjaWZpZWQKIyBpbXBvcnQgbGlicmFyeSBBUkcuCiMKIyBUaGlzIGZh
bGxiYWNrIGltcGxlbWVudGF0aW9uIGlzIGZvciB1c2Ugd2hlbiAkRExMVE9P
TAojIGRvZXMgbm90IHN1cHBvcnQgdGhlIC0taWRlbnRpZnktc3RyaWN0IG9w
dGlvbi4KIyBJbnZva2VkIGJ5IGV2YWwnaW5nIHRoZSBsaWJ0b29sIHZhcmlh
YmxlCiMgICAgJHNoYXJlZGxpYl9mcm9tX2xpbmtsaWJfY21kCiMgUmVzdWx0
IGlzIGF2YWlsYWJsZSBpbiB0aGUgdmFyaWFibGUKIyAgICAkc2hhcmVkbGli
X2Zyb21fbGlua2xpYl9yZXN1bHQKZnVuY19jeWdtaW5nX2RsbF9mb3JfaW1w
bGliX2ZhbGxiYWNrICgpCnsKICAkb3B0X2RlYnVnCiAgaWYgZnVuY19jeWdt
aW5nX2dudV9pbXBsaWJfcCAiJDEiIDsgdGhlbgogICAgIyBiaW51dGlscyBp
bXBvcnQgbGlicmFyeQogICAgc2hhcmVkbGliX2Zyb21fbGlua2xpYl9yZXN1
bHQ9YGZ1bmNfY3lnbWluZ19kbGxfZm9yX2ltcGxpYl9mYWxsYmFja19jb3Jl
ICcuaWRhdGEkNycgIiQxImAKICBlbGlmIGZ1bmNfY3lnbWluZ19tc19pbXBs
aWJfcCAiJDEiIDsgdGhlbgogICAgIyBtcy1nZW5lcmF0ZWQgaW1wb3J0IGxp
YnJhcnkKICAgIHNoYXJlZGxpYl9mcm9tX2xpbmtsaWJfcmVzdWx0PWBmdW5j
X2N5Z21pbmdfZGxsX2Zvcl9pbXBsaWJfZmFsbGJhY2tfY29yZSAnLmlkYXRh
JDYnICIkMSJgCiAgZWxzZQogICAgIyB1bmtub3duCiAgICBzaGFyZWRsaWJf
ZnJvbV9saW5rbGliX3Jlc3VsdD0iIgogIGZpCn0KCgojIGZ1bmNfZXh0cmFj
dF9hbl9hcmNoaXZlIGRpciBvbGRsaWIKZnVuY19leHRyYWN0X2FuX2FyY2hp
dmUgKCkKewogICAgJG9wdF9kZWJ1ZwogICAgZl9leF9hbl9hcl9kaXI9IiQx
Ijsgc2hpZnQKICAgIGZfZXhfYW5fYXJfb2xkbGliPSIkMSIKICAgIGlmIHRl
c3QgIiRsb2NrX29sZF9hcmNoaXZlX2V4dHJhY3Rpb24iID0geWVzOyB0aGVu
CiAgICAgIGxvY2tmaWxlPSRmX2V4X2FuX2FyX29sZGxpYi5sb2NrCiAgICAg
IHVudGlsICRvcHRfZHJ5X3J1biB8fCBsbiAiJHByb2dwYXRoIiAiJGxvY2tm
aWxlIiAyPi9kZXYvbnVsbDsgZG8KCWZ1bmNfZWNobyAiV2FpdGluZyBmb3Ig
JGxvY2tmaWxlIHRvIGJlIHJlbW92ZWQiCglzbGVlcCAyCiAgICAgIGRvbmUK
ICAgIGZpCiAgICBmdW5jX3Nob3dfZXZhbCAiKGNkIFwkZl9leF9hbl9hcl9k
aXIgJiYgJEFSIHggXCJcJGZfZXhfYW5fYXJfb2xkbGliXCIpIiBcCgkJICAg
J3N0YXQ9JD87IHJtIC1mICIkbG9ja2ZpbGUiOyBleGl0ICRzdGF0JwogICAg
aWYgdGVzdCAiJGxvY2tfb2xkX2FyY2hpdmVfZXh0cmFjdGlvbiIgPSB5ZXM7
IHRoZW4KICAgICAgJG9wdF9kcnlfcnVuIHx8IHJtIC1mICIkbG9ja2ZpbGUi
CiAgICBmaQogICAgaWYgKCRBUiB0ICIkZl9leF9hbl9hcl9vbGRsaWIiIHwg
c29ydCB8IHNvcnQgLXVjID4vZGV2L251bGwgMj4mMSk7IHRoZW4KICAgICA6
CiAgICBlbHNlCiAgICAgIGZ1bmNfZmF0YWxfZXJyb3IgIm9iamVjdCBuYW1l
IGNvbmZsaWN0cyBpbiBhcmNoaXZlOiAkZl9leF9hbl9hcl9kaXIvJGZfZXhf
YW5fYXJfb2xkbGliIgogICAgZmkKfQoKCiMgZnVuY19leHRyYWN0X2FyY2hp
dmVzIGdlbnRvcCBvbGRsaWIgLi4uCmZ1bmNfZXh0cmFjdF9hcmNoaXZlcyAo
KQp7CiAgICAkb3B0X2RlYnVnCiAgICBteV9nZW50b3A9IiQxIjsgc2hpZnQK
ICAgIG15X29sZGxpYnM9JHsxKyIkQCJ9CiAgICBteV9vbGRvYmpzPSIiCiAg
ICBteV94bGliPSIiCiAgICBteV94YWJzPSIiCiAgICBteV94ZGlyPSIiCgog
ICAgZm9yIG15X3hsaWIgaW4gJG15X29sZGxpYnM7IGRvCiAgICAgICMgRXh0
cmFjdCB0aGUgb2JqZWN0cy4KICAgICAgY2FzZSAkbXlfeGxpYiBpbgoJW1xc
L10qIHwgW0EtWmEtel06W1xcL10qKSBteV94YWJzPSIkbXlfeGxpYiIgOzsK
CSopIG15X3hhYnM9YHB3ZGAiLyRteV94bGliIiA7OwogICAgICBlc2FjCiAg
ICAgIGZ1bmNfYmFzZW5hbWUgIiRteV94bGliIgogICAgICBteV94bGliPSIk
ZnVuY19iYXNlbmFtZV9yZXN1bHQiCiAgICAgIG15X3hsaWJfdT0kbXlfeGxp
YgogICAgICB3aGlsZSA6OyBkbwogICAgICAgIGNhc2UgIiAkZXh0cmFjdGVk
X2FyY2hpdmVzICIgaW4KCSoiICRteV94bGliX3UgIiopCgkgIGZ1bmNfYXJp
dGggJGV4dHJhY3RlZF9zZXJpYWwgKyAxCgkgIGV4dHJhY3RlZF9zZXJpYWw9
JGZ1bmNfYXJpdGhfcmVzdWx0CgkgIG15X3hsaWJfdT1sdCRleHRyYWN0ZWRf
c2VyaWFsLSRteV94bGliIDs7CgkqKSBicmVhayA7OwoJZXNhYwogICAgICBk
b25lCiAgICAgIGV4dHJhY3RlZF9hcmNoaXZlcz0iJGV4dHJhY3RlZF9hcmNo
aXZlcyAkbXlfeGxpYl91IgogICAgICBteV94ZGlyPSIkbXlfZ2VudG9wLyRt
eV94bGliX3UiCgogICAgICBmdW5jX21rZGlyX3AgIiRteV94ZGlyIgoKICAg
ICAgY2FzZSAkaG9zdCBpbgogICAgICAqLWRhcndpbiopCglmdW5jX3ZlcmJv
c2UgIkV4dHJhY3RpbmcgJG15X3hhYnMiCgkjIERvIG5vdCBib3RoZXIgZG9p
bmcgYW55dGhpbmcgaWYganVzdCBhIGRyeSBydW4KCSRvcHRfZHJ5X3J1biB8
fCB7CgkgIGRhcndpbl9vcmlnX2Rpcj1gcHdkYAoJICBjZCAkbXlfeGRpciB8
fCBleGl0ICQ/CgkgIGRhcndpbl9hcmNoaXZlPSRteV94YWJzCgkgIGRhcndp
bl9jdXJkaXI9YHB3ZGAKCSAgZGFyd2luX2Jhc2VfYXJjaGl2ZT1gYmFzZW5h
bWUgIiRkYXJ3aW5fYXJjaGl2ZSJgCgkgIGRhcndpbl9hcmNoZXM9YCRMSVBP
IC1pbmZvICIkZGFyd2luX2FyY2hpdmUiIDI+L2Rldi9udWxsIHwgJEdSRVAg
QXJjaGl0ZWN0dXJlcyAyPi9kZXYvbnVsbCB8fCB0cnVlYAoJICBpZiB0ZXN0
IC1uICIkZGFyd2luX2FyY2hlcyI7IHRoZW4KCSAgICBkYXJ3aW5fYXJjaGVz
PWAkRUNITyAiJGRhcndpbl9hcmNoZXMiIHwgJFNFRCAtZSAncy8uKmFyZTov
LydgCgkgICAgZGFyd2luX2FyY2g9CgkgICAgZnVuY192ZXJib3NlICIkZGFy
d2luX2Jhc2VfYXJjaGl2ZSBoYXMgbXVsdGlwbGUgYXJjaGl0ZWN0dXJlcyAk
ZGFyd2luX2FyY2hlcyIKCSAgICBmb3IgZGFyd2luX2FyY2ggaW4gICRkYXJ3
aW5fYXJjaGVzIDsgZG8KCSAgICAgIGZ1bmNfbWtkaXJfcCAidW5mYXQtJCQv
JHtkYXJ3aW5fYmFzZV9hcmNoaXZlfS0ke2Rhcndpbl9hcmNofSIKCSAgICAg
ICRMSVBPIC10aGluICRkYXJ3aW5fYXJjaCAtb3V0cHV0ICJ1bmZhdC0kJC8k
e2Rhcndpbl9iYXNlX2FyY2hpdmV9LSR7ZGFyd2luX2FyY2h9LyR7ZGFyd2lu
X2Jhc2VfYXJjaGl2ZX0iICIke2Rhcndpbl9hcmNoaXZlfSIKCSAgICAgIGNk
ICJ1bmZhdC0kJC8ke2Rhcndpbl9iYXNlX2FyY2hpdmV9LSR7ZGFyd2luX2Fy
Y2h9IgoJICAgICAgZnVuY19leHRyYWN0X2FuX2FyY2hpdmUgImBwd2RgIiAi
JHtkYXJ3aW5fYmFzZV9hcmNoaXZlfSIKCSAgICAgIGNkICIkZGFyd2luX2N1
cmRpciIKCSAgICAgICRSTSAidW5mYXQtJCQvJHtkYXJ3aW5fYmFzZV9hcmNo
aXZlfS0ke2Rhcndpbl9hcmNofS8ke2Rhcndpbl9iYXNlX2FyY2hpdmV9IgoJ
ICAgIGRvbmUgIyAkZGFyd2luX2FyY2hlcwogICAgICAgICAgICAjIyBPa2F5
IG5vdyB3ZSd2ZSBhIGJ1bmNoIG9mIHRoaW4gb2JqZWN0cywgZ290dGEgZmF0
dGVuIHRoZW0gdXAgOikKCSAgICBkYXJ3aW5fZmlsZWxpc3Q9YGZpbmQgdW5m
YXQtJCQgLXR5cGUgZiAtbmFtZSBcKi5vIC1wcmludCAtbyAtbmFtZSBcKi5s
byAtcHJpbnQgfCAkU0VEIC1lICIkYmFzZW5hbWUiIHwgc29ydCAtdWAKCSAg
ICBkYXJ3aW5fZmlsZT0KCSAgICBkYXJ3aW5fZmlsZXM9CgkgICAgZm9yIGRh
cndpbl9maWxlIGluICRkYXJ3aW5fZmlsZWxpc3Q7IGRvCgkgICAgICBkYXJ3
aW5fZmlsZXM9YGZpbmQgdW5mYXQtJCQgLW5hbWUgJGRhcndpbl9maWxlIC1w
cmludCB8IHNvcnQgfCAkTkwyU1BgCgkgICAgICAkTElQTyAtY3JlYXRlIC1v
dXRwdXQgIiRkYXJ3aW5fZmlsZSIgJGRhcndpbl9maWxlcwoJICAgIGRvbmUg
IyAkZGFyd2luX2ZpbGVsaXN0CgkgICAgJFJNIC1yZiB1bmZhdC0kJAoJICAg
IGNkICIkZGFyd2luX29yaWdfZGlyIgoJICBlbHNlCgkgICAgY2QgJGRhcndp
bl9vcmlnX2RpcgoJICAgIGZ1bmNfZXh0cmFjdF9hbl9hcmNoaXZlICIkbXlf
eGRpciIgIiRteV94YWJzIgoJICBmaSAjICRkYXJ3aW5fYXJjaGVzCgl9ICMg
ISRvcHRfZHJ5X3J1bgoJOzsKICAgICAgKikKICAgICAgICBmdW5jX2V4dHJh
Y3RfYW5fYXJjaGl2ZSAiJG15X3hkaXIiICIkbXlfeGFicyIKCTs7CiAgICAg
IGVzYWMKICAgICAgbXlfb2xkb2Jqcz0iJG15X29sZG9ianMgImBmaW5kICRt
eV94ZGlyIC1uYW1lIFwqLiRvYmpleHQgLXByaW50IC1vIC1uYW1lIFwqLmxv
IC1wcmludCB8IHNvcnQgfCAkTkwyU1BgCiAgICBkb25lCgogICAgZnVuY19l
eHRyYWN0X2FyY2hpdmVzX3Jlc3VsdD0iJG15X29sZG9ianMiCn0KCgojIGZ1
bmNfZW1pdF93cmFwcGVyIFthcmc9bm9dCiMKIyBFbWl0IGEgbGlidG9vbCB3
cmFwcGVyIHNjcmlwdCBvbiBzdGRvdXQuCiMgRG9uJ3QgZGlyZWN0bHkgb3Bl
biBhIGZpbGUgYmVjYXVzZSB3ZSBtYXkgd2FudCB0bwojIGluY29ycG9yYXRl
IHRoZSBzY3JpcHQgY29udGVudHMgd2l0aGluIGEgY3lnd2luL21pbmd3CiMg
d3JhcHBlciBleGVjdXRhYmxlLiAgTXVzdCBPTkxZIGJlIGNhbGxlZCBmcm9t
IHdpdGhpbgojIGZ1bmNfbW9kZV9saW5rIGJlY2F1c2UgaXQgZGVwZW5kcyBv
biBhIG51bWJlciBvZiB2YXJpYWJsZXMKIyBzZXQgdGhlcmVpbi4KIwojIEFS
RyBpcyB0aGUgdmFsdWUgdGhhdCB0aGUgV1JBUFBFUl9TQ1JJUFRfQkVMT05H
U19JTl9PQkpESVIKIyB2YXJpYWJsZSB3aWxsIHRha2UuICBJZiAneWVzJywg
dGhlbiB0aGUgZW1pdHRlZCBzY3JpcHQKIyB3aWxsIGFzc3VtZSB0aGF0IHRo
ZSBkaXJlY3RvcnkgaW4gd2hpY2ggaXQgaXMgc3RvcmVkIGlzCiMgdGhlICRv
YmpkaXIgZGlyZWN0b3J5LiAgVGhpcyBpcyBhIGN5Z3dpbi9taW5ndy1zcGVj
aWZpYwojIGJlaGF2aW9yLgpmdW5jX2VtaXRfd3JhcHBlciAoKQp7CglmdW5j
X2VtaXRfd3JhcHBlcl9hcmcxPSR7MS1ub30KCgkkRUNITyAiXAojISAkU0hF
TEwKCiMgJG91dHB1dCAtIHRlbXBvcmFyeSB3cmFwcGVyIHNjcmlwdCBmb3Ig
JG9iamRpci8kb3V0cHV0bmFtZQojIEdlbmVyYXRlZCBieSAkUFJPR1JBTSAo
R05VICRQQUNLQUdFJFRJTUVTVEFNUCkgJFZFUlNJT04KIwojIFRoZSAkb3V0
cHV0IHByb2dyYW0gY2Fubm90IGJlIGRpcmVjdGx5IGV4ZWN1dGVkIHVudGls
IGFsbCB0aGUgbGlidG9vbAojIGxpYnJhcmllcyB0aGF0IGl0IGRlcGVuZHMg
b24gYXJlIGluc3RhbGxlZC4KIwojIFRoaXMgd3JhcHBlciBzY3JpcHQgc2hv
dWxkIG5ldmVyIGJlIG1vdmVkIG91dCBvZiB0aGUgYnVpbGQgZGlyZWN0b3J5
LgojIElmIGl0IGlzLCBpdCB3aWxsIG5vdCBvcGVyYXRlIGNvcnJlY3RseS4K
CiMgU2VkIHN1YnN0aXR1dGlvbiB0aGF0IGhlbHBzIHVzIGRvIHJvYnVzdCBx
dW90aW5nLiAgSXQgYmFja3NsYXNoaWZpZXMKIyBtZXRhY2hhcmFjdGVycyB0
aGF0IGFyZSBzdGlsbCBhY3RpdmUgd2l0aGluIGRvdWJsZS1xdW90ZWQgc3Ry
aW5ncy4Kc2VkX3F1b3RlX3N1YnN0PSckc2VkX3F1b3RlX3N1YnN0JwoKIyBC
ZSBCb3VybmUgY29tcGF0aWJsZQppZiB0ZXN0IC1uIFwiXCR7WlNIX1ZFUlNJ
T04rc2V0fVwiICYmIChlbXVsYXRlIHNoKSA+L2Rldi9udWxsIDI+JjE7IHRo
ZW4KICBlbXVsYXRlIHNoCiAgTlVMTENNRD06CiAgIyBac2ggMy54IGFuZCA0
LnggcGVyZm9ybXMgd29yZCBzcGxpdHRpbmcgb24gXCR7MStcIlwkQFwifSwg
d2hpY2gKICAjIGlzIGNvbnRyYXJ5IHRvIG91ciB1c2FnZS4gIERpc2FibGUg
dGhpcyBmZWF0dXJlLgogIGFsaWFzIC1nICdcJHsxK1wiXCRAXCJ9Jz0nXCJc
JEBcIicKICBzZXRvcHQgTk9fR0xPQl9TVUJTVAplbHNlCiAgY2FzZSBcYChz
ZXQgLW8pIDI+L2Rldi9udWxsXGAgaW4gKnBvc2l4Kikgc2V0IC1vIHBvc2l4
OzsgZXNhYwpmaQpCSU5fU0g9eHBnNDsgZXhwb3J0IEJJTl9TSCAjIGZvciBU
cnU2NApEVUFMQ0FTRT0xOyBleHBvcnQgRFVBTENBU0UgIyBmb3IgTUtTIHNo
CgojIFRoZSBIUC1VWCBrc2ggYW5kIFBPU0lYIHNoZWxsIHByaW50IHRoZSB0
YXJnZXQgZGlyZWN0b3J5IHRvIHN0ZG91dAojIGlmIENEUEFUSCBpcyBzZXQu
Cih1bnNldCBDRFBBVEgpID4vZGV2L251bGwgMj4mMSAmJiB1bnNldCBDRFBB
VEgKCnJlbGlua19jb21tYW5kPVwiJHJlbGlua19jb21tYW5kXCIKCiMgVGhp
cyBlbnZpcm9ubWVudCB2YXJpYWJsZSBkZXRlcm1pbmVzIG91ciBvcGVyYXRp
b24gbW9kZS4KaWYgdGVzdCBcIlwkbGlidG9vbF9pbnN0YWxsX21hZ2ljXCIg
PSBcIiRtYWdpY1wiOyB0aGVuCiAgIyBpbnN0YWxsIG1vZGUgbmVlZHMgdGhl
IGZvbGxvd2luZyB2YXJpYWJsZXM6CiAgZ2VuZXJhdGVkX2J5X2xpYnRvb2xf
dmVyc2lvbj0nJG1hY3JvX3ZlcnNpb24nCiAgbm90aW5zdF9kZXBsaWJzPSck
bm90aW5zdF9kZXBsaWJzJwplbHNlCiAgIyBXaGVuIHdlIGFyZSBzb3VyY2Vk
IGluIGV4ZWN1dGUgbW9kZSwgXCRmaWxlIGFuZCBcJEVDSE8gYXJlIGFscmVh
ZHkgc2V0LgogIGlmIHRlc3QgXCJcJGxpYnRvb2xfZXhlY3V0ZV9tYWdpY1wi
ICE9IFwiJG1hZ2ljXCI7IHRoZW4KICAgIGZpbGU9XCJcJDBcIiIKCiAgICBx
RUNITz1gJEVDSE8gIiRFQ0hPIiB8ICRTRUQgIiRzZWRfcXVvdGVfc3Vic3Qi
YAogICAgJEVDSE8gIlwKCiMgQSBmdW5jdGlvbiB0aGF0IGlzIHVzZWQgd2hl
biB0aGVyZSBpcyBubyBwcmludCBidWlsdGluIG9yIHByaW50Zi4KZnVuY19m
YWxsYmFja19lY2hvICgpCnsKICBldmFsICdjYXQgPDxfTFRFQ0hPX0VPRgpc
JDEKX0xURUNIT19FT0YnCn0KICAgIEVDSE89XCIkcUVDSE9cIgogIGZpCgoj
IFZlcnkgYmFzaWMgb3B0aW9uIHBhcnNpbmcuIFRoZXNlIG9wdGlvbnMgYXJl
IChhKSBzcGVjaWZpYyB0bwojIHRoZSBsaWJ0b29sIHdyYXBwZXIsIChiKSBh
cmUgaWRlbnRpY2FsIGJldHdlZW4gdGhlIHdyYXBwZXIKIyAvc2NyaXB0LyBh
bmQgdGhlIHdyYXBwZXIgL2V4ZWN1dGFibGUvIHdoaWNoIGlzIHVzZWQgb25s
eSBvbgojIHdpbmRvd3MgcGxhdGZvcm1zLCBhbmQgKGMpIGFsbCBiZWdpbiB3
aXRoIHRoZSBzdHJpbmcgIi0tbHQtIgojIChhcHBsaWNhdGlvbiBwcm9ncmFt
cyBhcmUgdW5saWtlbHkgdG8gaGF2ZSBvcHRpb25zIHdoaWNoIG1hdGNoCiMg
dGhpcyBwYXR0ZXJuKS4KIwojIFRoZXJlIGFyZSBvbmx5IHR3byBzdXBwb3J0
ZWQgb3B0aW9uczogLS1sdC1kZWJ1ZyBhbmQKIyAtLWx0LWR1bXAtc2NyaXB0
LiBUaGVyZSBpcywgZGVsaWJlcmF0ZWx5LCBubyAtLWx0LWhlbHAuCiMKIyBU
aGUgZmlyc3QgYXJndW1lbnQgdG8gdGhpcyBwYXJzaW5nIGZ1bmN0aW9uIHNo
b3VsZCBiZSB0aGUKIyBzY3JpcHQncyAkMCB2YWx1ZSwgZm9sbG93ZWQgYnkg
IiRAIi4KbHRfb3B0aW9uX2RlYnVnPQpmdW5jX3BhcnNlX2x0X29wdGlvbnMg
KCkKewogIGx0X3NjcmlwdF9hcmcwPVwkMAogIHNoaWZ0CiAgZm9yIGx0X29w
dAogIGRvCiAgICBjYXNlIFwiXCRsdF9vcHRcIiBpbgogICAgLS1sdC1kZWJ1
ZykgbHRfb3B0aW9uX2RlYnVnPTEgOzsKICAgIC0tbHQtZHVtcC1zY3JpcHQp
CiAgICAgICAgbHRfZHVtcF9EPVxgXCRFQ0hPIFwiWFwkbHRfc2NyaXB0X2Fy
ZzBcIiB8ICRTRUQgLWUgJ3MvXlgvLycgLWUgJ3MlL1teL10qJCUlJ1xgCiAg
ICAgICAgdGVzdCBcIlhcJGx0X2R1bXBfRFwiID0gXCJYXCRsdF9zY3JpcHRf
YXJnMFwiICYmIGx0X2R1bXBfRD0uCiAgICAgICAgbHRfZHVtcF9GPVxgXCRF
Q0hPIFwiWFwkbHRfc2NyaXB0X2FyZzBcIiB8ICRTRUQgLWUgJ3MvXlgvLycg
LWUgJ3MlXi4qLyUlJ1xgCiAgICAgICAgY2F0IFwiXCRsdF9kdW1wX0QvXCRs
dF9kdW1wX0ZcIgogICAgICAgIGV4aXQgMAogICAgICA7OwogICAgLS1sdC0q
KQogICAgICAgIFwkRUNITyBcIlVucmVjb2duaXplZCAtLWx0LSBvcHRpb246
ICdcJGx0X29wdCdcIiAxPiYyCiAgICAgICAgZXhpdCAxCiAgICAgIDs7CiAg
ICBlc2FjCiAgZG9uZQoKICAjIFByaW50IHRoZSBkZWJ1ZyBiYW5uZXIgaW1t
ZWRpYXRlbHk6CiAgaWYgdGVzdCAtbiBcIlwkbHRfb3B0aW9uX2RlYnVnXCI7
IHRoZW4KICAgIGVjaG8gXCIke291dHB1dG5hbWV9OiR7b3V0cHV0fTpcJHtM
SU5FTk99OiBsaWJ0b29sIHdyYXBwZXIgKEdOVSAkUEFDS0FHRSRUSU1FU1RB
TVApICRWRVJTSU9OXCIgMT4mMgogIGZpCn0KCiMgVXNlZCB3aGVuIC0tbHQt
ZGVidWcuIFByaW50cyBpdHMgYXJndW1lbnRzIHRvIHN0ZG91dAojIChyZWRp
cmVjdGlvbiBpcyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIGNhbGxlcikK
ZnVuY19sdF9kdW1wX2FyZ3MgKCkKewogIGx0X2R1bXBfYXJnc19OPTE7CiAg
Zm9yIGx0X2FyZwogIGRvCiAgICBcJEVDSE8gXCIke291dHB1dG5hbWV9OiR7
b3V0cHV0fTpcJHtMSU5FTk99OiBuZXdhcmd2W1wkbHRfZHVtcF9hcmdzX05d
OiBcJGx0X2FyZ1wiCiAgICBsdF9kdW1wX2FyZ3NfTj1cYGV4cHIgXCRsdF9k
dW1wX2FyZ3NfTiArIDFcYAogIGRvbmUKfQoKIyBDb3JlIGZ1bmN0aW9uIGZv
ciBsYXVuY2hpbmcgdGhlIHRhcmdldCBhcHBsaWNhdGlvbgpmdW5jX2V4ZWNf
cHJvZ3JhbV9jb3JlICgpCnsKIgogIGNhc2UgJGhvc3QgaW4KICAjIEJhY2tz
bGFzaGVzIHNlcGFyYXRlIGRpcmVjdG9yaWVzIG9uIHBsYWluIHdpbmRvd3MK
ICAqLSotbWluZ3cgfCAqLSotb3MyKiB8ICotY2VnY2MqKQogICAgJEVDSE8g
IlwKICAgICAgaWYgdGVzdCAtbiBcIlwkbHRfb3B0aW9uX2RlYnVnXCI7IHRo
ZW4KICAgICAgICBcJEVDSE8gXCIke291dHB1dG5hbWV9OiR7b3V0cHV0fTpc
JHtMSU5FTk99OiBuZXdhcmd2WzBdOiBcJHByb2dkaXJcXFxcXCRwcm9ncmFt
XCIgMT4mMgogICAgICAgIGZ1bmNfbHRfZHVtcF9hcmdzIFwkezErXCJcJEBc
In0gMT4mMgogICAgICBmaQogICAgICBleGVjIFwiXCRwcm9nZGlyXFxcXFwk
cHJvZ3JhbVwiIFwkezErXCJcJEBcIn0KIgogICAgOzsKCiAgKikKICAgICRF
Q0hPICJcCiAgICAgIGlmIHRlc3QgLW4gXCJcJGx0X29wdGlvbl9kZWJ1Z1wi
OyB0aGVuCiAgICAgICAgXCRFQ0hPIFwiJHtvdXRwdXRuYW1lfToke291dHB1
dH06XCR7TElORU5PfTogbmV3YXJndlswXTogXCRwcm9nZGlyL1wkcHJvZ3Jh
bVwiIDE+JjIKICAgICAgICBmdW5jX2x0X2R1bXBfYXJncyBcJHsxK1wiXCRA
XCJ9IDE+JjIKICAgICAgZmkKICAgICAgZXhlYyBcIlwkcHJvZ2Rpci9cJHBy
b2dyYW1cIiBcJHsxK1wiXCRAXCJ9CiIKICAgIDs7CiAgZXNhYwogICRFQ0hP
ICJcCiAgICAgIFwkRUNITyBcIlwkMDogY2Fubm90IGV4ZWMgXCRwcm9ncmFt
IFwkKlwiIDE+JjIKICAgICAgZXhpdCAxCn0KCiMgQSBmdW5jdGlvbiB0byBl
bmNhcHN1bGF0ZSBsYXVuY2hpbmcgdGhlIHRhcmdldCBhcHBsaWNhdGlvbgoj
IFN0cmlwcyBvcHRpb25zIGluIHRoZSAtLWx0LSogbmFtZXNwYWNlIGZyb20g
XCRAIGFuZAojIGxhdW5jaGVzIHRhcmdldCBhcHBsaWNhdGlvbiB3aXRoIHRo
ZSByZW1haW5pbmcgYXJndW1lbnRzLgpmdW5jX2V4ZWNfcHJvZ3JhbSAoKQp7
CiAgZm9yIGx0X3dyX2FyZwogIGRvCiAgICBjYXNlIFwkbHRfd3JfYXJnIGlu
CiAgICAtLWx0LSopIDs7CiAgICAqKSBzZXQgeCBcIlwkQFwiIFwiXCRsdF93
cl9hcmdcIjsgc2hpZnQ7OwogICAgZXNhYwogICAgc2hpZnQKICBkb25lCiAg
ZnVuY19leGVjX3Byb2dyYW1fY29yZSBcJHsxK1wiXCRAXCJ9Cn0KCiAgIyBQ
YXJzZSBvcHRpb25zCiAgZnVuY19wYXJzZV9sdF9vcHRpb25zIFwiXCQwXCIg
XCR7MStcIlwkQFwifQoKICAjIEZpbmQgdGhlIGRpcmVjdG9yeSB0aGF0IHRo
aXMgc2NyaXB0IGxpdmVzIGluLgogIHRoaXNkaXI9XGBcJEVDSE8gXCJcJGZp
bGVcIiB8ICRTRUQgJ3MlL1teL10qJCUlJ1xgCiAgdGVzdCBcInhcJHRoaXNk
aXJcIiA9IFwieFwkZmlsZVwiICYmIHRoaXNkaXI9LgoKICAjIEZvbGxvdyBz
eW1ib2xpYyBsaW5rcyB1bnRpbCB3ZSBnZXQgdG8gdGhlIHJlYWwgdGhpc2Rp
ci4KICBmaWxlPVxgbHMgLWxkIFwiXCRmaWxlXCIgfCAkU0VEIC1uICdzLy4q
LT4gLy9wJ1xgCiAgd2hpbGUgdGVzdCAtbiBcIlwkZmlsZVwiOyBkbwogICAg
ZGVzdGRpcj1cYFwkRUNITyBcIlwkZmlsZVwiIHwgJFNFRCAncyUvW14vXSpc
JCUlJ1xgCgogICAgIyBJZiB0aGVyZSB3YXMgYSBkaXJlY3RvcnkgY29tcG9u
ZW50LCB0aGVuIGNoYW5nZSB0aGlzZGlyLgogICAgaWYgdGVzdCBcInhcJGRl
c3RkaXJcIiAhPSBcInhcJGZpbGVcIjsgdGhlbgogICAgICBjYXNlIFwiXCRk
ZXN0ZGlyXCIgaW4KICAgICAgW1xcXFwvXSogfCBbQS1aYS16XTpbXFxcXC9d
KikgdGhpc2Rpcj1cIlwkZGVzdGRpclwiIDs7CiAgICAgICopIHRoaXNkaXI9
XCJcJHRoaXNkaXIvXCRkZXN0ZGlyXCIgOzsKICAgICAgZXNhYwogICAgZmkK
CiAgICBmaWxlPVxgXCRFQ0hPIFwiXCRmaWxlXCIgfCAkU0VEICdzJV4uKi8l
JSdcYAogICAgZmlsZT1cYGxzIC1sZCBcIlwkdGhpc2Rpci9cJGZpbGVcIiB8
ICRTRUQgLW4gJ3MvLiotPiAvL3AnXGAKICBkb25lCgogICMgVXN1YWxseSAn
bm8nLCBleGNlcHQgb24gY3lnd2luL21pbmd3IHdoZW4gZW1iZWRkZWQgaW50
bwogICMgdGhlIGN3cmFwcGVyLgogIFdSQVBQRVJfU0NSSVBUX0JFTE9OR1Nf
SU5fT0JKRElSPSRmdW5jX2VtaXRfd3JhcHBlcl9hcmcxCiAgaWYgdGVzdCBc
IlwkV1JBUFBFUl9TQ1JJUFRfQkVMT05HU19JTl9PQkpESVJcIiA9IFwieWVz
XCI7IHRoZW4KICAgICMgc3BlY2lhbCBjYXNlIGZvciAnLicKICAgIGlmIHRl
c3QgXCJcJHRoaXNkaXJcIiA9IFwiLlwiOyB0aGVuCiAgICAgIHRoaXNkaXI9
XGBwd2RcYAogICAgZmkKICAgICMgcmVtb3ZlIC5saWJzIGZyb20gdGhpc2Rp
cgogICAgY2FzZSBcIlwkdGhpc2RpclwiIGluCiAgICAqW1xcXFwvXSRvYmpk
aXIgKSB0aGlzZGlyPVxgXCRFQ0hPIFwiXCR0aGlzZGlyXCIgfCAkU0VEICdz
JVtcXFxcL11bXlxcXFwvXSokJSUnXGAgOzsKICAgICRvYmpkaXIgKSAgIHRo
aXNkaXI9LiA7OwogICAgZXNhYwogIGZpCgogICMgVHJ5IHRvIGdldCB0aGUg
YWJzb2x1dGUgZGlyZWN0b3J5IG5hbWUuCiAgYWJzZGlyPVxgY2QgXCJcJHRo
aXNkaXJcIiAmJiBwd2RcYAogIHRlc3QgLW4gXCJcJGFic2RpclwiICYmIHRo
aXNkaXI9XCJcJGFic2RpclwiCiIKCglpZiB0ZXN0ICIkZmFzdF9pbnN0YWxs
IiA9IHllczsgdGhlbgoJICAkRUNITyAiXAogIHByb2dyYW09bHQtJyRvdXRw
dXRuYW1lJyRleGVleHQKICBwcm9nZGlyPVwiXCR0aGlzZGlyLyRvYmpkaXJc
IgoKICBpZiB0ZXN0ICEgLWYgXCJcJHByb2dkaXIvXCRwcm9ncmFtXCIgfHwK
ICAgICB7IGZpbGU9XGBscyAtMWR0IFwiXCRwcm9nZGlyL1wkcHJvZ3JhbVwi
IFwiXCRwcm9nZGlyLy4uL1wkcHJvZ3JhbVwiIDI+L2Rldi9udWxsIHwgJHtT
RUR9IDFxXGA7IFxcCiAgICAgICB0ZXN0IFwiWFwkZmlsZVwiICE9IFwiWFwk
cHJvZ2Rpci9cJHByb2dyYW1cIjsgfTsgdGhlbgoKICAgIGZpbGU9XCJcJFwk
LVwkcHJvZ3JhbVwiCgogICAgaWYgdGVzdCAhIC1kIFwiXCRwcm9nZGlyXCI7
IHRoZW4KICAgICAgJE1LRElSIFwiXCRwcm9nZGlyXCIKICAgIGVsc2UKICAg
ICAgJFJNIFwiXCRwcm9nZGlyL1wkZmlsZVwiCiAgICBmaSIKCgkgICRFQ0hP
ICJcCgogICAgIyByZWxpbmsgZXhlY3V0YWJsZSBpZiBuZWNlc3NhcnkKICAg
IGlmIHRlc3QgLW4gXCJcJHJlbGlua19jb21tYW5kXCI7IHRoZW4KICAgICAg
aWYgcmVsaW5rX2NvbW1hbmRfb3V0cHV0PVxgZXZhbCBcJHJlbGlua19jb21t
YW5kIDI+JjFcYDsgdGhlbiA6CiAgICAgIGVsc2UKCSRFQ0hPIFwiXCRyZWxp
bmtfY29tbWFuZF9vdXRwdXRcIiA+JjIKCSRSTSBcIlwkcHJvZ2Rpci9cJGZp
bGVcIgoJZXhpdCAxCiAgICAgIGZpCiAgICBmaQoKICAgICRNViBcIlwkcHJv
Z2Rpci9cJGZpbGVcIiBcIlwkcHJvZ2Rpci9cJHByb2dyYW1cIiAyPi9kZXYv
bnVsbCB8fAogICAgeyAkUk0gXCJcJHByb2dkaXIvXCRwcm9ncmFtXCI7CiAg
ICAgICRNViBcIlwkcHJvZ2Rpci9cJGZpbGVcIiBcIlwkcHJvZ2Rpci9cJHBy
b2dyYW1cIjsgfQogICAgJFJNIFwiXCRwcm9nZGlyL1wkZmlsZVwiCiAgZmki
CgllbHNlCgkgICRFQ0hPICJcCiAgcHJvZ3JhbT0nJG91dHB1dG5hbWUnCiAg
cHJvZ2Rpcj1cIlwkdGhpc2Rpci8kb2JqZGlyXCIKIgoJZmkKCgkkRUNITyAi
XAoKICBpZiB0ZXN0IC1mIFwiXCRwcm9nZGlyL1wkcHJvZ3JhbVwiOyB0aGVu
IgoKCSMgZml4dXAgdGhlIGRsbCBzZWFyY2hwYXRoIGlmIHdlIG5lZWQgdG8u
CgkjCgkjIEZpeCB0aGUgRExMIHNlYXJjaHBhdGggaWYgd2UgbmVlZCB0by4g
IERvIHRoaXMgYmVmb3JlIHByZXBlbmRpbmcKCSMgdG8gc2hsaWJwYXRoLCBi
ZWNhdXNlIG9uIFdpbmRvd3MsIGJvdGggYXJlIFBBVEggYW5kIHVuaW5zdGFs
bGVkCgkjIGxpYnJhcmllcyBtdXN0IGNvbWUgZmlyc3QuCglpZiB0ZXN0IC1u
ICIkZGxsc2VhcmNocGF0aCI7IHRoZW4KCSAgJEVDSE8gIlwKICAgICMgQWRk
IHRoZSBkbGwgc2VhcmNoIHBhdGggY29tcG9uZW50cyB0byB0aGUgZXhlY3V0
YWJsZSBQQVRICiAgICBQQVRIPSRkbGxzZWFyY2hwYXRoOlwkUEFUSAoiCglm
aQoKCSMgRXhwb3J0IG91ciBzaGxpYnBhdGhfdmFyIGlmIHdlIGhhdmUgb25l
LgoJaWYgdGVzdCAiJHNobGlicGF0aF9vdmVycmlkZXNfcnVucGF0aCIgPSB5
ZXMgJiYgdGVzdCAtbiAiJHNobGlicGF0aF92YXIiICYmIHRlc3QgLW4gIiR0
ZW1wX3JwYXRoIjsgdGhlbgoJICAkRUNITyAiXAogICAgIyBBZGQgb3VyIG93
biBsaWJyYXJ5IHBhdGggdG8gJHNobGlicGF0aF92YXIKICAgICRzaGxpYnBh
dGhfdmFyPVwiJHRlbXBfcnBhdGhcJCRzaGxpYnBhdGhfdmFyXCIKCiAgICAj
IFNvbWUgc3lzdGVtcyBjYW5ub3QgY29wZSB3aXRoIGNvbG9uLXRlcm1pbmF0
ZWQgJHNobGlicGF0aF92YXIKICAgICMgVGhlIHNlY29uZCBjb2xvbiBpcyBh
IHdvcmthcm91bmQgZm9yIGEgYnVnIGluIEJlT1MgUjQgc2VkCiAgICAkc2hs
aWJwYXRoX3Zhcj1cYFwkRUNITyBcIlwkJHNobGlicGF0aF92YXJcIiB8ICRT
RUQgJ3MvOjoqXCQvLydcYAoKICAgIGV4cG9ydCAkc2hsaWJwYXRoX3Zhcgoi
CglmaQoKCSRFQ0hPICJcCiAgICBpZiB0ZXN0IFwiXCRsaWJ0b29sX2V4ZWN1
dGVfbWFnaWNcIiAhPSBcIiRtYWdpY1wiOyB0aGVuCiAgICAgICMgUnVuIHRo
ZSBhY3R1YWwgcHJvZ3JhbSB3aXRoIG91ciBhcmd1bWVudHMuCiAgICAgIGZ1
bmNfZXhlY19wcm9ncmFtIFwkezErXCJcJEBcIn0KICAgIGZpCiAgZWxzZQog
ICAgIyBUaGUgcHJvZ3JhbSBkb2Vzbid0IGV4aXN0LgogICAgXCRFQ0hPIFwi
XCQwOiBlcnJvcjogXFxcYFwkcHJvZ2Rpci9cJHByb2dyYW0nIGRvZXMgbm90
IGV4aXN0XCIgMT4mMgogICAgXCRFQ0hPIFwiVGhpcyBzY3JpcHQgaXMganVz
dCBhIHdyYXBwZXIgZm9yIFwkcHJvZ3JhbS5cIiAxPiYyCiAgICBcJEVDSE8g
XCJTZWUgdGhlICRQQUNLQUdFIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5m
b3JtYXRpb24uXCIgMT4mMgogICAgZXhpdCAxCiAgZmkKZmlcCiIKfQoKCiMg
ZnVuY19lbWl0X2N3cmFwcGVyZXhlX3NyYwojIGVtaXQgdGhlIHNvdXJjZSBj
b2RlIGZvciBhIHdyYXBwZXIgZXhlY3V0YWJsZSBvbiBzdGRvdXQKIyBNdXN0
IE9OTFkgYmUgY2FsbGVkIGZyb20gd2l0aGluIGZ1bmNfbW9kZV9saW5rIGJl
Y2F1c2UKIyBpdCBkZXBlbmRzIG9uIGEgbnVtYmVyIG9mIHZhcmlhYmxlIHNl
dCB0aGVyZWluLgpmdW5jX2VtaXRfY3dyYXBwZXJleGVfc3JjICgpCnsKCWNh
dCA8PEVPRgoKLyogJGN3cmFwcGVyc291cmNlIC0gdGVtcG9yYXJ5IHdyYXBw
ZXIgZXhlY3V0YWJsZSBmb3IgJG9iamRpci8kb3V0cHV0bmFtZQogICBHZW5l
cmF0ZWQgYnkgJFBST0dSQU0gKEdOVSAkUEFDS0FHRSRUSU1FU1RBTVApICRW
RVJTSU9OCgogICBUaGUgJG91dHB1dCBwcm9ncmFtIGNhbm5vdCBiZSBkaXJl
Y3RseSBleGVjdXRlZCB1bnRpbCBhbGwgdGhlIGxpYnRvb2wKICAgbGlicmFy
aWVzIHRoYXQgaXQgZGVwZW5kcyBvbiBhcmUgaW5zdGFsbGVkLgoKICAgVGhp
cyB3cmFwcGVyIGV4ZWN1dGFibGUgc2hvdWxkIG5ldmVyIGJlIG1vdmVkIG91
dCBvZiB0aGUgYnVpbGQgZGlyZWN0b3J5LgogICBJZiBpdCBpcywgaXQgd2ls
bCBub3Qgb3BlcmF0ZSBjb3JyZWN0bHkuCiovCkVPRgoJICAgIGNhdCA8PCJF
T0YiCiNpZmRlZiBfTVNDX1ZFUgojIGRlZmluZSBfQ1JUX1NFQ1VSRV9OT19E
RVBSRUNBVEUgMQojZW5kaWYKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRl
IDxzdGRsaWIuaD4KI2lmZGVmIF9NU0NfVkVSCiMgaW5jbHVkZSA8ZGlyZWN0
Lmg+CiMgaW5jbHVkZSA8cHJvY2Vzcy5oPgojIGluY2x1ZGUgPGlvLmg+CiNl
bHNlCiMgaW5jbHVkZSA8dW5pc3RkLmg+CiMgaW5jbHVkZSA8c3RkaW50Lmg+
CiMgaWZkZWYgX19DWUdXSU5fXwojICBpbmNsdWRlIDxpby5oPgojIGVuZGlm
CiNlbmRpZgojaW5jbHVkZSA8bWFsbG9jLmg+CiNpbmNsdWRlIDxzdGRhcmcu
aD4KI2luY2x1ZGUgPGFzc2VydC5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CiNp
bmNsdWRlIDxjdHlwZS5oPgojaW5jbHVkZSA8ZXJybm8uaD4KI2luY2x1ZGUg
PGZjbnRsLmg+CiNpbmNsdWRlIDxzeXMvc3RhdC5oPgoKLyogZGVjbGFyYXRp
b25zIG9mIG5vbi1BTlNJIGZ1bmN0aW9ucyAqLwojaWYgZGVmaW5lZChfX01J
TkdXMzJfXykKIyBpZmRlZiBfX1NUUklDVF9BTlNJX18KaW50IF9wdXRlbnYg
KGNvbnN0IGNoYXIgKik7CiMgZW5kaWYKI2VsaWYgZGVmaW5lZChfX0NZR1dJ
Tl9fKQojIGlmZGVmIF9fU1RSSUNUX0FOU0lfXwpjaGFyICpyZWFscGF0aCAo
Y29uc3QgY2hhciAqLCBjaGFyICopOwppbnQgcHV0ZW52IChjaGFyICopOwpp
bnQgc2V0ZW52IChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgaW50KTsK
IyBlbmRpZgovKiAjZWxpZiBkZWZpbmVkIChvdGhlciBwbGF0Zm9ybXMpIC4u
LiAqLwojZW5kaWYKCi8qIHBvcnRhYmlsaXR5IGRlZmluZXMsIGV4Y2x1ZGlu
ZyBwYXRoIGhhbmRsaW5nIG1hY3JvcyAqLwojaWYgZGVmaW5lZChfTVNDX1ZF
UikKIyBkZWZpbmUgc2V0bW9kZSBfc2V0bW9kZQojIGRlZmluZSBzdGF0ICAg
IF9zdGF0CiMgZGVmaW5lIGNobW9kICAgX2NobW9kCiMgZGVmaW5lIGdldGN3
ZCAgX2dldGN3ZAojIGRlZmluZSBwdXRlbnYgIF9wdXRlbnYKIyBkZWZpbmUg
U19JWFVTUiBfU19JRVhFQwojIGlmbmRlZiBfSU5UUFRSX1RfREVGSU5FRAoj
ICBkZWZpbmUgX0lOVFBUUl9UX0RFRklORUQKIyAgZGVmaW5lIGludHB0cl90
IGludAojIGVuZGlmCiNlbGlmIGRlZmluZWQoX19NSU5HVzMyX18pCiMgZGVm
aW5lIHNldG1vZGUgX3NldG1vZGUKIyBkZWZpbmUgc3RhdCAgICBfc3RhdAoj
IGRlZmluZSBjaG1vZCAgIF9jaG1vZAojIGRlZmluZSBnZXRjd2QgIF9nZXRj
d2QKIyBkZWZpbmUgcHV0ZW52ICBfcHV0ZW52CiNlbGlmIGRlZmluZWQoX19D
WUdXSU5fXykKIyBkZWZpbmUgSEFWRV9TRVRFTlYKIyBkZWZpbmUgRk9QRU5f
V0IgIndiIgovKiAjZWxpZiBkZWZpbmVkIChvdGhlciBwbGF0Zm9ybXMpIC4u
LiAqLwojZW5kaWYKCiNpZiBkZWZpbmVkKFBBVEhfTUFYKQojIGRlZmluZSBM
VF9QQVRITUFYIFBBVEhfTUFYCiNlbGlmIGRlZmluZWQoTUFYUEFUSExFTikK
IyBkZWZpbmUgTFRfUEFUSE1BWCBNQVhQQVRITEVOCiNlbHNlCiMgZGVmaW5l
IExUX1BBVEhNQVggMTAyNAojZW5kaWYKCiNpZm5kZWYgU19JWE9USAojIGRl
ZmluZSBTX0lYT1RIIDAKI2VuZGlmCiNpZm5kZWYgU19JWEdSUAojIGRlZmlu
ZSBTX0lYR1JQIDAKI2VuZGlmCgovKiBwYXRoIGhhbmRsaW5nIHBvcnRhYmls
aXR5IG1hY3JvcyAqLwojaWZuZGVmIERJUl9TRVBBUkFUT1IKIyBkZWZpbmUg
RElSX1NFUEFSQVRPUiAnLycKIyBkZWZpbmUgUEFUSF9TRVBBUkFUT1IgJzon
CiNlbmRpZgoKI2lmIGRlZmluZWQgKF9XSU4zMikgfHwgZGVmaW5lZCAoX19N
U0RPU19fKSB8fCBkZWZpbmVkIChfX0RKR1BQX18pIHx8IFwKICBkZWZpbmVk
IChfX09TMl9fKQojIGRlZmluZSBIQVZFX0RPU19CQVNFRF9GSUxFX1NZU1RF
TQojIGRlZmluZSBGT1BFTl9XQiAid2IiCiMgaWZuZGVmIERJUl9TRVBBUkFU
T1JfMgojICBkZWZpbmUgRElSX1NFUEFSQVRPUl8yICdcXCcKIyBlbmRpZgoj
IGlmbmRlZiBQQVRIX1NFUEFSQVRPUl8yCiMgIGRlZmluZSBQQVRIX1NFUEFS
QVRPUl8yICc7JwojIGVuZGlmCiNlbmRpZgoKI2lmbmRlZiBESVJfU0VQQVJB
VE9SXzIKIyBkZWZpbmUgSVNfRElSX1NFUEFSQVRPUihjaCkgKChjaCkgPT0g
RElSX1NFUEFSQVRPUikKI2Vsc2UgLyogRElSX1NFUEFSQVRPUl8yICovCiMg
ZGVmaW5lIElTX0RJUl9TRVBBUkFUT1IoY2gpIFwKCSgoKGNoKSA9PSBESVJf
U0VQQVJBVE9SKSB8fCAoKGNoKSA9PSBESVJfU0VQQVJBVE9SXzIpKQojZW5k
aWYgLyogRElSX1NFUEFSQVRPUl8yICovCgojaWZuZGVmIFBBVEhfU0VQQVJB
VE9SXzIKIyBkZWZpbmUgSVNfUEFUSF9TRVBBUkFUT1IoY2gpICgoY2gpID09
IFBBVEhfU0VQQVJBVE9SKQojZWxzZSAvKiBQQVRIX1NFUEFSQVRPUl8yICov
CiMgZGVmaW5lIElTX1BBVEhfU0VQQVJBVE9SKGNoKSAoKGNoKSA9PSBQQVRI
X1NFUEFSQVRPUl8yKQojZW5kaWYgLyogUEFUSF9TRVBBUkFUT1JfMiAqLwoK
I2lmbmRlZiBGT1BFTl9XQgojIGRlZmluZSBGT1BFTl9XQiAidyIKI2VuZGlm
CiNpZm5kZWYgX09fQklOQVJZCiMgZGVmaW5lIF9PX0JJTkFSWSAwCiNlbmRp
ZgoKI2RlZmluZSBYTUFMTE9DKHR5cGUsIG51bSkgICAgICAoKHR5cGUgKikg
eG1hbGxvYyAoKG51bSkgKiBzaXplb2YodHlwZSkpKQojZGVmaW5lIFhGUkVF
KHN0YWxlKSBkbyB7IFwKICBpZiAoc3RhbGUpIHsgZnJlZSAoKHZvaWQgKikg
c3RhbGUpOyBzdGFsZSA9IDA7IH0gXAp9IHdoaWxlICgwKQoKI2lmIGRlZmlu
ZWQoTFRfREVCVUdXUkFQUEVSKQpzdGF0aWMgaW50IGx0X2RlYnVnID0gMTsK
I2Vsc2UKc3RhdGljIGludCBsdF9kZWJ1ZyA9IDA7CiNlbmRpZgoKY29uc3Qg
Y2hhciAqcHJvZ3JhbV9uYW1lID0gImxpYnRvb2wtd3JhcHBlciI7IC8qIGlu
IGNhc2UgeHN0cmR1cCBmYWlscyAqLwoKdm9pZCAqeG1hbGxvYyAoc2l6ZV90
IG51bSk7CmNoYXIgKnhzdHJkdXAgKGNvbnN0IGNoYXIgKnN0cmluZyk7CmNv
bnN0IGNoYXIgKmJhc2VfbmFtZSAoY29uc3QgY2hhciAqbmFtZSk7CmNoYXIg
KmZpbmRfZXhlY3V0YWJsZSAoY29uc3QgY2hhciAqd3JhcHBlcik7CmNoYXIg
KmNoYXNlX3N5bWxpbmtzIChjb25zdCBjaGFyICpwYXRoc3BlYyk7CmludCBt
YWtlX2V4ZWN1dGFibGUgKGNvbnN0IGNoYXIgKnBhdGgpOwppbnQgY2hlY2tf
ZXhlY3V0YWJsZSAoY29uc3QgY2hhciAqcGF0aCk7CmNoYXIgKnN0cmVuZHph
cCAoY2hhciAqc3RyLCBjb25zdCBjaGFyICpwYXQpOwp2b2lkIGx0X2RlYnVn
cHJpbnRmIChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hh
ciAqZm10LCAuLi4pOwp2b2lkIGx0X2ZhdGFsIChjb25zdCBjaGFyICpmaWxl
LCBpbnQgbGluZSwgY29uc3QgY2hhciAqbWVzc2FnZSwgLi4uKTsKc3RhdGlj
IGNvbnN0IGNoYXIgKm5vbm51bGwgKGNvbnN0IGNoYXIgKnMpOwpzdGF0aWMg
Y29uc3QgY2hhciAqbm9uZW1wdHkgKGNvbnN0IGNoYXIgKnMpOwp2b2lkIGx0
X3NldGVudiAoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUp
OwpjaGFyICpsdF9leHRlbmRfc3RyIChjb25zdCBjaGFyICpvcmlnX3ZhbHVl
LCBjb25zdCBjaGFyICphZGQsIGludCB0b19lbmQpOwp2b2lkIGx0X3VwZGF0
ZV9leGVfcGF0aCAoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFs
dWUpOwp2b2lkIGx0X3VwZGF0ZV9saWJfcGF0aCAoY29uc3QgY2hhciAqbmFt
ZSwgY29uc3QgY2hhciAqdmFsdWUpOwpjaGFyICoqcHJlcGFyZV9zcGF3biAo
Y2hhciAqKmFyZ3YpOwp2b2lkIGx0X2R1bXBfc2NyaXB0IChGSUxFICpmKTsK
RU9GCgoJICAgIGNhdCA8PEVPRgp2b2xhdGlsZSBjb25zdCBjaGFyICogTUFH
SUNfRVhFID0gIiRtYWdpY19leGUiOwpjb25zdCBjaGFyICogTElCX1BBVEhf
VkFSTkFNRSA9ICIkc2hsaWJwYXRoX3ZhciI7CkVPRgoKCSAgICBpZiB0ZXN0
ICIkc2hsaWJwYXRoX292ZXJyaWRlc19ydW5wYXRoIiA9IHllcyAmJiB0ZXN0
IC1uICIkc2hsaWJwYXRoX3ZhciIgJiYgdGVzdCAtbiAiJHRlbXBfcnBhdGgi
OyB0aGVuCiAgICAgICAgICAgICAgZnVuY190b19ob3N0X3BhdGggIiR0ZW1w
X3JwYXRoIgoJICAgICAgY2F0IDw8RU9GCmNvbnN0IGNoYXIgKiBMSUJfUEFU
SF9WQUxVRSAgID0gIiRmdW5jX3RvX2hvc3RfcGF0aF9yZXN1bHQiOwpFT0YK
CSAgICBlbHNlCgkgICAgICBjYXQgPDwiRU9GIgpjb25zdCBjaGFyICogTElC
X1BBVEhfVkFMVUUgICA9ICIiOwpFT0YKCSAgICBmaQoKCSAgICBpZiB0ZXN0
IC1uICIkZGxsc2VhcmNocGF0aCI7IHRoZW4KICAgICAgICAgICAgICBmdW5j
X3RvX2hvc3RfcGF0aCAiJGRsbHNlYXJjaHBhdGg6IgoJICAgICAgY2F0IDw8
RU9GCmNvbnN0IGNoYXIgKiBFWEVfUEFUSF9WQVJOQU1FID0gIlBBVEgiOwpj
b25zdCBjaGFyICogRVhFX1BBVEhfVkFMVUUgICA9ICIkZnVuY190b19ob3N0
X3BhdGhfcmVzdWx0IjsKRU9GCgkgICAgZWxzZQoJICAgICAgY2F0IDw8IkVP
RiIKY29uc3QgY2hhciAqIEVYRV9QQVRIX1ZBUk5BTUUgPSAiIjsKY29uc3Qg
Y2hhciAqIEVYRV9QQVRIX1ZBTFVFICAgPSAiIjsKRU9GCgkgICAgZmkKCgkg
ICAgaWYgdGVzdCAiJGZhc3RfaW5zdGFsbCIgPSB5ZXM7IHRoZW4KCSAgICAg
IGNhdCA8PEVPRgpjb25zdCBjaGFyICogVEFSR0VUX1BST0dSQU1fTkFNRSA9
ICJsdC0kb3V0cHV0bmFtZSI7IC8qIGhvcGVmdWxseSwgbm8gLmV4ZSAqLwpF
T0YKCSAgICBlbHNlCgkgICAgICBjYXQgPDxFT0YKY29uc3QgY2hhciAqIFRB
UkdFVF9QUk9HUkFNX05BTUUgPSAiJG91dHB1dG5hbWUiOyAvKiBob3BlZnVs
bHksIG5vIC5leGUgKi8KRU9GCgkgICAgZmkKCgoJICAgIGNhdCA8PCJFT0Yi
CgojZGVmaW5lIExUV1JBUFBFUl9PUFRJT05fUFJFRklYICAgICAgICAgIi0t
bHQtIgoKc3RhdGljIGNvbnN0IGNoYXIgKmx0d3JhcHBlcl9vcHRpb25fcHJl
Zml4ID0gTFRXUkFQUEVSX09QVElPTl9QUkVGSVg7CnN0YXRpYyBjb25zdCBj
aGFyICpkdW1wc2NyaXB0X29wdCAgICAgICA9IExUV1JBUFBFUl9PUFRJT05f
UFJFRklYICJkdW1wLXNjcmlwdCI7CnN0YXRpYyBjb25zdCBjaGFyICpkZWJ1
Z19vcHQgICAgICAgICAgICA9IExUV1JBUFBFUl9PUFRJT05fUFJFRklYICJk
ZWJ1ZyI7CgppbnQKbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKewog
IGNoYXIgKipuZXdhcmd6OwogIGludCAgbmV3YXJnYzsKICBjaGFyICp0bXBf
cGF0aHNwZWM7CiAgY2hhciAqYWN0dWFsX2N3cmFwcGVyX3BhdGg7CiAgY2hh
ciAqYWN0dWFsX2N3cmFwcGVyX25hbWU7CiAgY2hhciAqdGFyZ2V0X25hbWU7
CiAgY2hhciAqbHRfYXJndl96ZXJvOwogIGludHB0cl90IHJ2YWwgPSAxMjc7
CgogIGludCBpOwoKICBwcm9ncmFtX25hbWUgPSAoY2hhciAqKSB4c3RyZHVw
IChiYXNlX25hbWUgKGFyZ3ZbMF0pKTsKICBuZXdhcmd6ID0gWE1BTExPQyAo
Y2hhciAqLCBhcmdjICsgMSk7CgogIC8qIHZlcnkgc2ltcGxlIGFyZyBwYXJz
aW5nOyBkb24ndCB3YW50IHRvIHJlbHkgb24gZ2V0b3B0CiAgICogYWxzbywg
Y29weSBhbGwgbm9uIGN3cmFwcGVyIG9wdGlvbnMgdG8gbmV3YXJneiwgZXhj
ZXB0CiAgICogYXJnelswXSwgd2hpY2ggaXMgaGFuZGxlZCBkaWZmZXJlbnRs
eQogICAqLwogIG5ld2FyZ2M9MDsKICBmb3IgKGkgPSAxOyBpIDwgYXJnYzsg
aSsrKQogICAgewogICAgICBpZiAoc3RyY21wIChhcmd2W2ldLCBkdW1wc2Ny
aXB0X29wdCkgPT0gMCkKCXsKRU9GCgkgICAgY2FzZSAiJGhvc3QiIGluCgkg
ICAgICAqbWluZ3cqIHwgKmN5Z3dpbiogKQoJCSMgbWFrZSBzdGRvdXQgdXNl
ICJ1bml4IiBsaW5lIGVuZGluZ3MKCQllY2hvICIgICAgICAgICAgc2V0bW9k
ZSgxLF9PX0JJTkFSWSk7IgoJCTs7CgkgICAgICBlc2FjCgoJICAgIGNhdCA8
PCJFT0YiCgkgIGx0X2R1bXBfc2NyaXB0IChzdGRvdXQpOwoJICByZXR1cm4g
MDsKCX0KICAgICAgaWYgKHN0cmNtcCAoYXJndltpXSwgZGVidWdfb3B0KSA9
PSAwKQoJewogICAgICAgICAgbHRfZGVidWcgPSAxOwogICAgICAgICAgY29u
dGludWU7Cgl9CiAgICAgIGlmIChzdHJjbXAgKGFyZ3ZbaV0sIGx0d3JhcHBl
cl9vcHRpb25fcHJlZml4KSA9PSAwKQogICAgICAgIHsKICAgICAgICAgIC8q
IGhvd2V2ZXIsIGlmIHRoZXJlIGlzIGFuIG9wdGlvbiBpbiB0aGUgTFRXUkFQ
UEVSX09QVElPTl9QUkVGSVgKICAgICAgICAgICAgIG5hbWVzcGFjZSwgYnV0
IGl0IGlzIG5vdCBvbmUgb2YgdGhlIG9uZXMgd2Uga25vdyBhYm91dCBhbmQK
ICAgICAgICAgICAgIGhhdmUgYWxyZWFkeSBkZWFsdCB3aXRoLCBhYm92ZSAo
aW5sdWRpbmcgZHVtcC1zY3JpcHQpLCB0aGVuCiAgICAgICAgICAgICByZXBv
cnQgYW4gZXJyb3IuIE90aGVyd2lzZSwgdGFyZ2V0cyBtaWdodCBiZWdpbiB0
byBiZWxpZXZlCiAgICAgICAgICAgICB0aGV5IGFyZSBhbGxvd2VkIHRvIHVz
ZSBvcHRpb25zIGluIHRoZSBMVFdSQVBQRVJfT1BUSU9OX1BSRUZJWAogICAg
ICAgICAgICAgbmFtZXNwYWNlLiBUaGUgZmlyc3QgdGltZSBhbnkgdXNlciBj
b21wbGFpbnMgYWJvdXQgdGhpcywgd2UnbGwKICAgICAgICAgICAgIG5lZWQg
dG8gbWFrZSBMVFdSQVBQRVJfT1BUSU9OX1BSRUZJWCBhIGNvbmZpZ3VyZS10
aW1lIG9wdGlvbgogICAgICAgICAgICAgb3IgYSBjb25maWd1cmUuYWMtc2V0
dGFibGUgdmFsdWUuCiAgICAgICAgICAgKi8KICAgICAgICAgIGx0X2ZhdGFs
IChfX0ZJTEVfXywgX19MSU5FX18sCgkJICAgICJ1bnJlY29nbml6ZWQgJXMg
b3B0aW9uOiAnJXMnIiwKICAgICAgICAgICAgICAgICAgICBsdHdyYXBwZXJf
b3B0aW9uX3ByZWZpeCwgYXJndltpXSk7CiAgICAgICAgfQogICAgICAvKiBv
dGhlcndpc2UgLi4uICovCiAgICAgIG5ld2FyZ3pbKytuZXdhcmdjXSA9IHhz
dHJkdXAgKGFyZ3ZbaV0pOwogICAgfQogIG5ld2FyZ3pbKytuZXdhcmdjXSA9
IE5VTEw7CgpFT0YKCSAgICBjYXQgPDxFT0YKICAvKiBUaGUgR05VIGJhbm5l
ciBtdXN0IGJlIHRoZSBmaXJzdCBub24tZXJyb3IgZGVidWcgbWVzc2FnZSAq
LwogIGx0X2RlYnVncHJpbnRmIChfX0ZJTEVfXywgX19MSU5FX18sICJsaWJ0
b29sIHdyYXBwZXIgKEdOVSAkUEFDS0FHRSRUSU1FU1RBTVApICRWRVJTSU9O
XG4iKTsKRU9GCgkgICAgY2F0IDw8IkVPRiIKICBsdF9kZWJ1Z3ByaW50ZiAo
X19GSUxFX18sIF9fTElORV9fLCAiKG1haW4pIGFyZ3ZbMF06ICVzXG4iLCBh
cmd2WzBdKTsKICBsdF9kZWJ1Z3ByaW50ZiAoX19GSUxFX18sIF9fTElORV9f
LCAiKG1haW4pIHByb2dyYW1fbmFtZTogJXNcbiIsIHByb2dyYW1fbmFtZSk7
CgogIHRtcF9wYXRoc3BlYyA9IGZpbmRfZXhlY3V0YWJsZSAoYXJndlswXSk7
CiAgaWYgKHRtcF9wYXRoc3BlYyA9PSBOVUxMKQogICAgbHRfZmF0YWwgKF9f
RklMRV9fLCBfX0xJTkVfXywgImNvdWxkbid0IGZpbmQgJXMiLCBhcmd2WzBd
KTsKICBsdF9kZWJ1Z3ByaW50ZiAoX19GSUxFX18sIF9fTElORV9fLAogICAg
ICAgICAgICAgICAgICAiKG1haW4pIGZvdW5kIGV4ZSAoYmVmb3JlIHN5bWxp
bmsgY2hhc2UpIGF0OiAlc1xuIiwKCQkgIHRtcF9wYXRoc3BlYyk7CgogIGFj
dHVhbF9jd3JhcHBlcl9wYXRoID0gY2hhc2Vfc3ltbGlua3MgKHRtcF9wYXRo
c3BlYyk7CiAgbHRfZGVidWdwcmludGYgKF9fRklMRV9fLCBfX0xJTkVfXywK
ICAgICAgICAgICAgICAgICAgIihtYWluKSBmb3VuZCBleGUgKGFmdGVyIHN5
bWxpbmsgY2hhc2UpIGF0OiAlc1xuIiwKCQkgIGFjdHVhbF9jd3JhcHBlcl9w
YXRoKTsKICBYRlJFRSAodG1wX3BhdGhzcGVjKTsKCiAgYWN0dWFsX2N3cmFw
cGVyX25hbWUgPSB4c3RyZHVwIChiYXNlX25hbWUgKGFjdHVhbF9jd3JhcHBl
cl9wYXRoKSk7CiAgc3RyZW5kemFwIChhY3R1YWxfY3dyYXBwZXJfcGF0aCwg
YWN0dWFsX2N3cmFwcGVyX25hbWUpOwoKICAvKiB3cmFwcGVyIG5hbWUgdHJh
bnNmb3JtcyAqLwogIHN0cmVuZHphcCAoYWN0dWFsX2N3cmFwcGVyX25hbWUs
ICIuZXhlIik7CiAgdG1wX3BhdGhzcGVjID0gbHRfZXh0ZW5kX3N0ciAoYWN0
dWFsX2N3cmFwcGVyX25hbWUsICIuZXhlIiwgMSk7CiAgWEZSRUUgKGFjdHVh
bF9jd3JhcHBlcl9uYW1lKTsKICBhY3R1YWxfY3dyYXBwZXJfbmFtZSA9IHRt
cF9wYXRoc3BlYzsKICB0bXBfcGF0aHNwZWMgPSAwOwoKICAvKiB0YXJnZXRf
bmFtZSB0cmFuc2Zvcm1zIC0tIHVzZSBhY3R1YWwgdGFyZ2V0IHByb2dyYW0g
bmFtZTsgbWlnaHQgaGF2ZSBsdC0gcHJlZml4ICovCiAgdGFyZ2V0X25hbWUg
PSB4c3RyZHVwIChiYXNlX25hbWUgKFRBUkdFVF9QUk9HUkFNX05BTUUpKTsK
ICBzdHJlbmR6YXAgKHRhcmdldF9uYW1lLCAiLmV4ZSIpOwogIHRtcF9wYXRo
c3BlYyA9IGx0X2V4dGVuZF9zdHIgKHRhcmdldF9uYW1lLCAiLmV4ZSIsIDEp
OwogIFhGUkVFICh0YXJnZXRfbmFtZSk7CiAgdGFyZ2V0X25hbWUgPSB0bXBf
cGF0aHNwZWM7CiAgdG1wX3BhdGhzcGVjID0gMDsKCiAgbHRfZGVidWdwcmlu
dGYgKF9fRklMRV9fLCBfX0xJTkVfXywKCQkgICIobWFpbikgbGlidG9vbCB0
YXJnZXQgbmFtZTogJXNcbiIsCgkJICB0YXJnZXRfbmFtZSk7CkVPRgoKCSAg
ICBjYXQgPDxFT0YKICBuZXdhcmd6WzBdID0KICAgIFhNQUxMT0MgKGNoYXIs
IChzdHJsZW4gKGFjdHVhbF9jd3JhcHBlcl9wYXRoKSArCgkJICAgIHN0cmxl
biAoIiRvYmpkaXIiKSArIDEgKyBzdHJsZW4gKGFjdHVhbF9jd3JhcHBlcl9u
YW1lKSArIDEpKTsKICBzdHJjcHkgKG5ld2FyZ3pbMF0sIGFjdHVhbF9jd3Jh
cHBlcl9wYXRoKTsKICBzdHJjYXQgKG5ld2FyZ3pbMF0sICIkb2JqZGlyIik7
CiAgc3RyY2F0IChuZXdhcmd6WzBdLCAiLyIpOwpFT0YKCgkgICAgY2F0IDw8
IkVPRiIKICAvKiBzdG9wIGhlcmUsIGFuZCBjb3B5IHNvIHdlIGRvbid0IGhh
dmUgdG8gZG8gdGhpcyB0d2ljZSAqLwogIHRtcF9wYXRoc3BlYyA9IHhzdHJk
dXAgKG5ld2FyZ3pbMF0pOwoKICAvKiBkbyBOT1Qgd2FudCB0aGUgbHQtIHBy
ZWZpeCBoZXJlLCBzbyB1c2UgYWN0dWFsX2N3cmFwcGVyX25hbWUgKi8KICBz
dHJjYXQgKG5ld2FyZ3pbMF0sIGFjdHVhbF9jd3JhcHBlcl9uYW1lKTsKCiAg
LyogRE8gd2FudCB0aGUgbHQtIHByZWZpeCBoZXJlIGlmIGl0IGV4aXN0cywg
c28gdXNlIHRhcmdldF9uYW1lICovCiAgbHRfYXJndl96ZXJvID0gbHRfZXh0
ZW5kX3N0ciAodG1wX3BhdGhzcGVjLCB0YXJnZXRfbmFtZSwgMSk7CiAgWEZS
RUUgKHRtcF9wYXRoc3BlYyk7CiAgdG1wX3BhdGhzcGVjID0gTlVMTDsKRU9G
CgoJICAgIGNhc2UgJGhvc3Rfb3MgaW4KCSAgICAgIG1pbmd3KikKCSAgICBj
YXQgPDwiRU9GIgogIHsKICAgIGNoYXIqIHA7CiAgICB3aGlsZSAoKHAgPSBz
dHJjaHIgKG5ld2FyZ3pbMF0sICdcXCcpKSAhPSBOVUxMKQogICAgICB7Cgkq
cCA9ICcvJzsKICAgICAgfQogICAgd2hpbGUgKChwID0gc3RyY2hyIChsdF9h
cmd2X3plcm8sICdcXCcpKSAhPSBOVUxMKQogICAgICB7CgkqcCA9ICcvJzsK
ICAgICAgfQogIH0KRU9GCgkgICAgOzsKCSAgICBlc2FjCgoJICAgIGNhdCA8
PCJFT0YiCiAgWEZSRUUgKHRhcmdldF9uYW1lKTsKICBYRlJFRSAoYWN0dWFs
X2N3cmFwcGVyX3BhdGgpOwogIFhGUkVFIChhY3R1YWxfY3dyYXBwZXJfbmFt
ZSk7CgogIGx0X3NldGVudiAoIkJJTl9TSCIsICJ4cGc0Iik7IC8qIGZvciBU
cnU2NCAqLwogIGx0X3NldGVudiAoIkRVQUxDQVNFIiwgIjEiKTsgIC8qIGZv
ciBNU0sgc2ggKi8KICAvKiBVcGRhdGUgdGhlIERMTCBzZWFyY2hwYXRoLiAg
RVhFX1BBVEhfVkFMVUUgKCRkbGxzZWFyY2hwYXRoKSBtdXN0CiAgICAgYmUg
cHJlcGVuZGVkIGJlZm9yZSAodGhhdCBpcywgYXBwZWFyIGFmdGVyKSBMSUJf
UEFUSF9WQUxVRSAoJHRlbXBfcnBhdGgpCiAgICAgYmVjYXVzZSBvbiBXaW5k
b3dzLCBib3RoICpfVkFSTkFNRXMgYXJlIFBBVEggYnV0IHVuaW5zdGFsbGVk
CiAgICAgbGlicmFyaWVzIG11c3QgY29tZSBmaXJzdC4gKi8KICBsdF91cGRh
dGVfZXhlX3BhdGggKEVYRV9QQVRIX1ZBUk5BTUUsIEVYRV9QQVRIX1ZBTFVF
KTsKICBsdF91cGRhdGVfbGliX3BhdGggKExJQl9QQVRIX1ZBUk5BTUUsIExJ
Ql9QQVRIX1ZBTFVFKTsKCiAgbHRfZGVidWdwcmludGYgKF9fRklMRV9fLCBf
X0xJTkVfXywgIihtYWluKSBsdF9hcmd2X3plcm86ICVzXG4iLAoJCSAgbm9u
bnVsbCAobHRfYXJndl96ZXJvKSk7CiAgZm9yIChpID0gMDsgaSA8IG5ld2Fy
Z2M7IGkrKykKICAgIHsKICAgICAgbHRfZGVidWdwcmludGYgKF9fRklMRV9f
LCBfX0xJTkVfXywgIihtYWluKSBuZXdhcmd6WyVkXTogJXNcbiIsCgkJICAg
ICAgaSwgbm9ubnVsbCAobmV3YXJneltpXSkpOwogICAgfQoKRU9GCgoJICAg
IGNhc2UgJGhvc3Rfb3MgaW4KCSAgICAgIG1pbmd3KikKCQljYXQgPDwiRU9G
IgogIC8qIGV4ZWN2IGRvZXNuJ3QgYWN0dWFsbHkgd29yayBvbiBtaW5ndyBh
cyBleHBlY3RlZCBvbiB1bml4ICovCiAgbmV3YXJneiA9IHByZXBhcmVfc3Bh
d24gKG5ld2FyZ3opOwogIHJ2YWwgPSBfc3Bhd252IChfUF9XQUlULCBsdF9h
cmd2X3plcm8sIChjb25zdCBjaGFyICogY29uc3QgKikgbmV3YXJneik7CiAg
aWYgKHJ2YWwgPT0gLTEpCiAgICB7CiAgICAgIC8qIGZhaWxlZCB0byBzdGFy
dCBwcm9jZXNzICovCiAgICAgIGx0X2RlYnVncHJpbnRmIChfX0ZJTEVfXywg
X19MSU5FX18sCgkJICAgICAgIihtYWluKSBmYWlsZWQgdG8gbGF1bmNoIHRh
cmdldCBcIiVzXCI6ICVzXG4iLAoJCSAgICAgIGx0X2FyZ3ZfemVybywgbm9u
bnVsbCAoc3RyZXJyb3IgKGVycm5vKSkpOwogICAgICByZXR1cm4gMTI3Owog
ICAgfQogIHJldHVybiBydmFsOwpFT0YKCQk7OwoJICAgICAgKikKCQljYXQg
PDwiRU9GIgogIGV4ZWN2IChsdF9hcmd2X3plcm8sIG5ld2FyZ3opOwogIHJl
dHVybiBydmFsOyAvKiA9MTI3LCBidXQgYXZvaWRzIHVudXNlZCB2YXJpYWJs
ZSB3YXJuaW5nICovCkVPRgoJCTs7CgkgICAgZXNhYwoKCSAgICBjYXQgPDwi
RU9GIgp9Cgp2b2lkICoKeG1hbGxvYyAoc2l6ZV90IG51bSkKewogIHZvaWQg
KnAgPSAodm9pZCAqKSBtYWxsb2MgKG51bSk7CiAgaWYgKCFwKQogICAgbHRf
ZmF0YWwgKF9fRklMRV9fLCBfX0xJTkVfXywgIm1lbW9yeSBleGhhdXN0ZWQi
KTsKCiAgcmV0dXJuIHA7Cn0KCmNoYXIgKgp4c3RyZHVwIChjb25zdCBjaGFy
ICpzdHJpbmcpCnsKICByZXR1cm4gc3RyaW5nID8gc3RyY3B5ICgoY2hhciAq
KSB4bWFsbG9jIChzdHJsZW4gKHN0cmluZykgKyAxKSwKCQkJICBzdHJpbmcp
IDogTlVMTDsKfQoKY29uc3QgY2hhciAqCmJhc2VfbmFtZSAoY29uc3QgY2hh
ciAqbmFtZSkKewogIGNvbnN0IGNoYXIgKmJhc2U7CgojaWYgZGVmaW5lZCAo
SEFWRV9ET1NfQkFTRURfRklMRV9TWVNURU0pCiAgLyogU2tpcCBvdmVyIHRo
ZSBkaXNrIG5hbWUgaW4gTVNET1MgcGF0aG5hbWVzLiAqLwogIGlmIChpc2Fs
cGhhICgodW5zaWduZWQgY2hhcikgbmFtZVswXSkgJiYgbmFtZVsxXSA9PSAn
OicpCiAgICBuYW1lICs9IDI7CiNlbmRpZgoKICBmb3IgKGJhc2UgPSBuYW1l
OyAqbmFtZTsgbmFtZSsrKQogICAgaWYgKElTX0RJUl9TRVBBUkFUT1IgKCpu
YW1lKSkKICAgICAgYmFzZSA9IG5hbWUgKyAxOwogIHJldHVybiBiYXNlOwp9
CgppbnQKY2hlY2tfZXhlY3V0YWJsZSAoY29uc3QgY2hhciAqcGF0aCkKewog
IHN0cnVjdCBzdGF0IHN0OwoKICBsdF9kZWJ1Z3ByaW50ZiAoX19GSUxFX18s
IF9fTElORV9fLCAiKGNoZWNrX2V4ZWN1dGFibGUpOiAlc1xuIiwKICAgICAg
ICAgICAgICAgICAgbm9uZW1wdHkgKHBhdGgpKTsKICBpZiAoKCFwYXRoKSB8
fCAoISpwYXRoKSkKICAgIHJldHVybiAwOwoKICBpZiAoKHN0YXQgKHBhdGgs
ICZzdCkgPj0gMCkKICAgICAgJiYgKHN0LnN0X21vZGUgJiAoU19JWFVTUiB8
IFNfSVhHUlAgfCBTX0lYT1RIKSkpCiAgICByZXR1cm4gMTsKICBlbHNlCiAg
ICByZXR1cm4gMDsKfQoKaW50Cm1ha2VfZXhlY3V0YWJsZSAoY29uc3QgY2hh
ciAqcGF0aCkKewogIGludCBydmFsID0gMDsKICBzdHJ1Y3Qgc3RhdCBzdDsK
CiAgbHRfZGVidWdwcmludGYgKF9fRklMRV9fLCBfX0xJTkVfXywgIihtYWtl
X2V4ZWN1dGFibGUpOiAlc1xuIiwKICAgICAgICAgICAgICAgICAgbm9uZW1w
dHkgKHBhdGgpKTsKICBpZiAoKCFwYXRoKSB8fCAoISpwYXRoKSkKICAgIHJl
dHVybiAwOwoKICBpZiAoc3RhdCAocGF0aCwgJnN0KSA+PSAwKQogICAgewog
ICAgICBydmFsID0gY2htb2QgKHBhdGgsIHN0LnN0X21vZGUgfCBTX0lYT1RI
IHwgU19JWEdSUCB8IFNfSVhVU1IpOwogICAgfQogIHJldHVybiBydmFsOwp9
CgovKiBTZWFyY2hlcyBmb3IgdGhlIGZ1bGwgcGF0aCBvZiB0aGUgd3JhcHBl
ci4gIFJldHVybnMKICAgbmV3bHkgYWxsb2NhdGVkIGZ1bGwgcGF0aCBuYW1l
IGlmIGZvdW5kLCBOVUxMIG90aGVyd2lzZQogICBEb2VzIG5vdCBjaGFzZSBz
eW1saW5rcywgZXZlbiBvbiBwbGF0Zm9ybXMgdGhhdCBzdXBwb3J0IHRoZW0u
CiovCmNoYXIgKgpmaW5kX2V4ZWN1dGFibGUgKGNvbnN0IGNoYXIgKndyYXBw
ZXIpCnsKICBpbnQgaGFzX3NsYXNoID0gMDsKICBjb25zdCBjaGFyICpwOwog
IGNvbnN0IGNoYXIgKnBfbmV4dDsKICAvKiBzdGF0aWMgYnVmZmVyIGZvciBn
ZXRjd2QgKi8KICBjaGFyIHRtcFtMVF9QQVRITUFYICsgMV07CiAgaW50IHRt
cF9sZW47CiAgY2hhciAqY29uY2F0X25hbWU7CgogIGx0X2RlYnVncHJpbnRm
IChfX0ZJTEVfXywgX19MSU5FX18sICIoZmluZF9leGVjdXRhYmxlKTogJXNc
biIsCiAgICAgICAgICAgICAgICAgIG5vbmVtcHR5ICh3cmFwcGVyKSk7Cgog
IGlmICgod3JhcHBlciA9PSBOVUxMKSB8fCAoKndyYXBwZXIgPT0gJ1wwJykp
CiAgICByZXR1cm4gTlVMTDsKCiAgLyogQWJzb2x1dGUgcGF0aD8gKi8KI2lm
IGRlZmluZWQgKEhBVkVfRE9TX0JBU0VEX0ZJTEVfU1lTVEVNKQogIGlmIChp
c2FscGhhICgodW5zaWduZWQgY2hhcikgd3JhcHBlclswXSkgJiYgd3JhcHBl
clsxXSA9PSAnOicpCiAgICB7CiAgICAgIGNvbmNhdF9uYW1lID0geHN0cmR1
cCAod3JhcHBlcik7CiAgICAgIGlmIChjaGVja19leGVjdXRhYmxlIChjb25j
YXRfbmFtZSkpCglyZXR1cm4gY29uY2F0X25hbWU7CiAgICAgIFhGUkVFIChj
b25jYXRfbmFtZSk7CiAgICB9CiAgZWxzZQogICAgewojZW5kaWYKICAgICAg
aWYgKElTX0RJUl9TRVBBUkFUT1IgKHdyYXBwZXJbMF0pKQoJewoJICBjb25j
YXRfbmFtZSA9IHhzdHJkdXAgKHdyYXBwZXIpOwoJICBpZiAoY2hlY2tfZXhl
Y3V0YWJsZSAoY29uY2F0X25hbWUpKQoJICAgIHJldHVybiBjb25jYXRfbmFt
ZTsKCSAgWEZSRUUgKGNvbmNhdF9uYW1lKTsKCX0KI2lmIGRlZmluZWQgKEhB
VkVfRE9TX0JBU0VEX0ZJTEVfU1lTVEVNKQogICAgfQojZW5kaWYKCiAgZm9y
IChwID0gd3JhcHBlcjsgKnA7IHArKykKICAgIGlmICgqcCA9PSAnLycpCiAg
ICAgIHsKCWhhc19zbGFzaCA9IDE7CglicmVhazsKICAgICAgfQogIGlmICgh
aGFzX3NsYXNoKQogICAgewogICAgICAvKiBubyBzbGFzaGVzOyBzZWFyY2gg
UEFUSCAqLwogICAgICBjb25zdCBjaGFyICpwYXRoID0gZ2V0ZW52ICgiUEFU
SCIpOwogICAgICBpZiAocGF0aCAhPSBOVUxMKQoJewoJICBmb3IgKHAgPSBw
YXRoOyAqcDsgcCA9IHBfbmV4dCkKCSAgICB7CgkgICAgICBjb25zdCBjaGFy
ICpxOwoJICAgICAgc2l6ZV90IHBfbGVuOwoJICAgICAgZm9yIChxID0gcDsg
KnE7IHErKykKCQlpZiAoSVNfUEFUSF9TRVBBUkFUT1IgKCpxKSkKCQkgIGJy
ZWFrOwoJICAgICAgcF9sZW4gPSBxIC0gcDsKCSAgICAgIHBfbmV4dCA9ICgq
cSA9PSAnXDAnID8gcSA6IHEgKyAxKTsKCSAgICAgIGlmIChwX2xlbiA9PSAw
KQoJCXsKCQkgIC8qIGVtcHR5IHBhdGg6IGN1cnJlbnQgZGlyZWN0b3J5ICov
CgkJICBpZiAoZ2V0Y3dkICh0bXAsIExUX1BBVEhNQVgpID09IE5VTEwpCgkJ
ICAgIGx0X2ZhdGFsIChfX0ZJTEVfXywgX19MSU5FX18sICJnZXRjd2QgZmFp
bGVkOiAlcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbm51
bGwgKHN0cmVycm9yIChlcnJubykpKTsKCQkgIHRtcF9sZW4gPSBzdHJsZW4g
KHRtcCk7CgkJICBjb25jYXRfbmFtZSA9CgkJICAgIFhNQUxMT0MgKGNoYXIs
IHRtcF9sZW4gKyAxICsgc3RybGVuICh3cmFwcGVyKSArIDEpOwoJCSAgbWVt
Y3B5IChjb25jYXRfbmFtZSwgdG1wLCB0bXBfbGVuKTsKCQkgIGNvbmNhdF9u
YW1lW3RtcF9sZW5dID0gJy8nOwoJCSAgc3RyY3B5IChjb25jYXRfbmFtZSAr
IHRtcF9sZW4gKyAxLCB3cmFwcGVyKTsKCQl9CgkgICAgICBlbHNlCgkJewoJ
CSAgY29uY2F0X25hbWUgPQoJCSAgICBYTUFMTE9DIChjaGFyLCBwX2xlbiAr
IDEgKyBzdHJsZW4gKHdyYXBwZXIpICsgMSk7CgkJICBtZW1jcHkgKGNvbmNh
dF9uYW1lLCBwLCBwX2xlbik7CgkJICBjb25jYXRfbmFtZVtwX2xlbl0gPSAn
Lyc7CgkJICBzdHJjcHkgKGNvbmNhdF9uYW1lICsgcF9sZW4gKyAxLCB3cmFw
cGVyKTsKCQl9CgkgICAgICBpZiAoY2hlY2tfZXhlY3V0YWJsZSAoY29uY2F0
X25hbWUpKQoJCXJldHVybiBjb25jYXRfbmFtZTsKCSAgICAgIFhGUkVFIChj
b25jYXRfbmFtZSk7CgkgICAgfQoJfQogICAgICAvKiBub3QgZm91bmQgaW4g
UEFUSDsgYXNzdW1lIGN1cmRpciAqLwogICAgfQogIC8qIFJlbGF0aXZlIHBh
dGggfCBub3QgZm91bmQgaW4gcGF0aDogcHJlcGVuZCBjd2QgKi8KICBpZiAo
Z2V0Y3dkICh0bXAsIExUX1BBVEhNQVgpID09IE5VTEwpCiAgICBsdF9mYXRh
bCAoX19GSUxFX18sIF9fTElORV9fLCAiZ2V0Y3dkIGZhaWxlZDogJXMiLAog
ICAgICAgICAgICAgIG5vbm51bGwgKHN0cmVycm9yIChlcnJubykpKTsKICB0
bXBfbGVuID0gc3RybGVuICh0bXApOwogIGNvbmNhdF9uYW1lID0gWE1BTExP
QyAoY2hhciwgdG1wX2xlbiArIDEgKyBzdHJsZW4gKHdyYXBwZXIpICsgMSk7
CiAgbWVtY3B5IChjb25jYXRfbmFtZSwgdG1wLCB0bXBfbGVuKTsKICBjb25j
YXRfbmFtZVt0bXBfbGVuXSA9ICcvJzsKICBzdHJjcHkgKGNvbmNhdF9uYW1l
ICsgdG1wX2xlbiArIDEsIHdyYXBwZXIpOwoKICBpZiAoY2hlY2tfZXhlY3V0
YWJsZSAoY29uY2F0X25hbWUpKQogICAgcmV0dXJuIGNvbmNhdF9uYW1lOwog
IFhGUkVFIChjb25jYXRfbmFtZSk7CiAgcmV0dXJuIE5VTEw7Cn0KCmNoYXIg
KgpjaGFzZV9zeW1saW5rcyAoY29uc3QgY2hhciAqcGF0aHNwZWMpCnsKI2lm
bmRlZiBTX0lTTE5LCiAgcmV0dXJuIHhzdHJkdXAgKHBhdGhzcGVjKTsKI2Vs
c2UKICBjaGFyIGJ1ZltMVF9QQVRITUFYXTsKICBzdHJ1Y3Qgc3RhdCBzOwog
IGNoYXIgKnRtcF9wYXRoc3BlYyA9IHhzdHJkdXAgKHBhdGhzcGVjKTsKICBj
aGFyICpwOwogIGludCBoYXNfc3ltbGlua3MgPSAwOwogIHdoaWxlIChzdHJs
ZW4gKHRtcF9wYXRoc3BlYykgJiYgIWhhc19zeW1saW5rcykKICAgIHsKICAg
ICAgbHRfZGVidWdwcmludGYgKF9fRklMRV9fLCBfX0xJTkVfXywKCQkgICAg
ICAiY2hlY2tpbmcgcGF0aCBjb21wb25lbnQgZm9yIHN5bWxpbmtzOiAlc1xu
IiwKCQkgICAgICB0bXBfcGF0aHNwZWMpOwogICAgICBpZiAobHN0YXQgKHRt
cF9wYXRoc3BlYywgJnMpID09IDApCgl7CgkgIGlmIChTX0lTTE5LIChzLnN0
X21vZGUpICE9IDApCgkgICAgewoJICAgICAgaGFzX3N5bWxpbmtzID0gMTsK
CSAgICAgIGJyZWFrOwoJICAgIH0KCgkgIC8qIHNlYXJjaCBiYWNrd2FyZHMg
Zm9yIGxhc3QgRElSX1NFUEFSQVRPUiAqLwoJICBwID0gdG1wX3BhdGhzcGVj
ICsgc3RybGVuICh0bXBfcGF0aHNwZWMpIC0gMTsKCSAgd2hpbGUgKChwID4g
dG1wX3BhdGhzcGVjKSAmJiAoIUlTX0RJUl9TRVBBUkFUT1IgKCpwKSkpCgkg
ICAgcC0tOwoJICBpZiAoKHAgPT0gdG1wX3BhdGhzcGVjKSAmJiAoIUlTX0RJ
Ul9TRVBBUkFUT1IgKCpwKSkpCgkgICAgewoJICAgICAgLyogbm8gbW9yZSBE
SVJfU0VQQVJBVE9SUyBsZWZ0ICovCgkgICAgICBicmVhazsKCSAgICB9Cgkg
ICpwID0gJ1wwJzsKCX0KICAgICAgZWxzZQoJewoJICBsdF9mYXRhbCAoX19G
SUxFX18sIF9fTElORV9fLAoJCSAgICAiZXJyb3IgYWNjZXNzaW5nIGZpbGUg
XCIlc1wiOiAlcyIsCgkJICAgIHRtcF9wYXRoc3BlYywgbm9ubnVsbCAoc3Ry
ZXJyb3IgKGVycm5vKSkpOwoJfQogICAgfQogIFhGUkVFICh0bXBfcGF0aHNw
ZWMpOwoKICBpZiAoIWhhc19zeW1saW5rcykKICAgIHsKICAgICAgcmV0dXJu
IHhzdHJkdXAgKHBhdGhzcGVjKTsKICAgIH0KCiAgdG1wX3BhdGhzcGVjID0g
cmVhbHBhdGggKHBhdGhzcGVjLCBidWYpOwogIGlmICh0bXBfcGF0aHNwZWMg
PT0gMCkKICAgIHsKICAgICAgbHRfZmF0YWwgKF9fRklMRV9fLCBfX0xJTkVf
XywKCQkiY291bGQgbm90IGZvbGxvdyBzeW1saW5rcyBmb3IgJXMiLCBwYXRo
c3BlYyk7CiAgICB9CiAgcmV0dXJuIHhzdHJkdXAgKHRtcF9wYXRoc3BlYyk7
CiNlbmRpZgp9CgpjaGFyICoKc3RyZW5kemFwIChjaGFyICpzdHIsIGNvbnN0
IGNoYXIgKnBhdCkKewogIHNpemVfdCBsZW4sIHBhdGxlbjsKCiAgYXNzZXJ0
IChzdHIgIT0gTlVMTCk7CiAgYXNzZXJ0IChwYXQgIT0gTlVMTCk7CgogIGxl
biA9IHN0cmxlbiAoc3RyKTsKICBwYXRsZW4gPSBzdHJsZW4gKHBhdCk7Cgog
IGlmIChwYXRsZW4gPD0gbGVuKQogICAgewogICAgICBzdHIgKz0gbGVuIC0g
cGF0bGVuOwogICAgICBpZiAoc3RyY21wIChzdHIsIHBhdCkgPT0gMCkKCSpz
dHIgPSAnXDAnOwogICAgfQogIHJldHVybiBzdHI7Cn0KCnZvaWQKbHRfZGVi
dWdwcmludGYgKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBj
aGFyICpmbXQsIC4uLikKewogIHZhX2xpc3QgYXJnczsKICBpZiAobHRfZGVi
dWcpCiAgICB7CiAgICAgICh2b2lkKSBmcHJpbnRmIChzdGRlcnIsICIlczol
czolZDogIiwgcHJvZ3JhbV9uYW1lLCBmaWxlLCBsaW5lKTsKICAgICAgdmFf
c3RhcnQgKGFyZ3MsIGZtdCk7CiAgICAgICh2b2lkKSB2ZnByaW50ZiAoc3Rk
ZXJyLCBmbXQsIGFyZ3MpOwogICAgICB2YV9lbmQgKGFyZ3MpOwogICAgfQp9
CgpzdGF0aWMgdm9pZApsdF9lcnJvcl9jb3JlIChpbnQgZXhpdF9zdGF0dXMs
IGNvbnN0IGNoYXIgKmZpbGUsCgkgICAgICAgaW50IGxpbmUsIGNvbnN0IGNo
YXIgKm1vZGUsCgkgICAgICAgY29uc3QgY2hhciAqbWVzc2FnZSwgdmFfbGlz
dCBhcCkKewogIGZwcmludGYgKHN0ZGVyciwgIiVzOiVzOiVkOiAlczogIiwg
cHJvZ3JhbV9uYW1lLCBmaWxlLCBsaW5lLCBtb2RlKTsKICB2ZnByaW50ZiAo
c3RkZXJyLCBtZXNzYWdlLCBhcCk7CiAgZnByaW50ZiAoc3RkZXJyLCAiLlxu
Iik7CgogIGlmIChleGl0X3N0YXR1cyA+PSAwKQogICAgZXhpdCAoZXhpdF9z
dGF0dXMpOwp9Cgp2b2lkCmx0X2ZhdGFsIChjb25zdCBjaGFyICpmaWxlLCBp
bnQgbGluZSwgY29uc3QgY2hhciAqbWVzc2FnZSwgLi4uKQp7CiAgdmFfbGlz
dCBhcDsKICB2YV9zdGFydCAoYXAsIG1lc3NhZ2UpOwogIGx0X2Vycm9yX2Nv
cmUgKEVYSVRfRkFJTFVSRSwgZmlsZSwgbGluZSwgIkZBVEFMIiwgbWVzc2Fn
ZSwgYXApOwogIHZhX2VuZCAoYXApOwp9CgpzdGF0aWMgY29uc3QgY2hhciAq
Cm5vbm51bGwgKGNvbnN0IGNoYXIgKnMpCnsKICByZXR1cm4gcyA/IHMgOiAi
KG51bGwpIjsKfQoKc3RhdGljIGNvbnN0IGNoYXIgKgpub25lbXB0eSAoY29u
c3QgY2hhciAqcykKewogIHJldHVybiAocyAmJiAhKnMpID8gIihlbXB0eSki
IDogbm9ubnVsbCAocyk7Cn0KCnZvaWQKbHRfc2V0ZW52IChjb25zdCBjaGFy
ICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSkKewogIGx0X2RlYnVncHJpbnRm
IChfX0ZJTEVfXywgX19MSU5FX18sCgkJICAiKGx0X3NldGVudikgc2V0dGlu
ZyAnJXMnIHRvICclcydcbiIsCiAgICAgICAgICAgICAgICAgIG5vbm51bGwg
KG5hbWUpLCBub25udWxsICh2YWx1ZSkpOwogIHsKI2lmZGVmIEhBVkVfU0VU
RU5WCiAgICAvKiBhbHdheXMgbWFrZSBhIGNvcHksIGZvciBjb25zaXN0ZW5j
eSB3aXRoICFIQVZFX1NFVEVOViAqLwogICAgY2hhciAqc3RyID0geHN0cmR1
cCAodmFsdWUpOwogICAgc2V0ZW52IChuYW1lLCBzdHIsIDEpOwojZWxzZQog
ICAgaW50IGxlbiA9IHN0cmxlbiAobmFtZSkgKyAxICsgc3RybGVuICh2YWx1
ZSkgKyAxOwogICAgY2hhciAqc3RyID0gWE1BTExPQyAoY2hhciwgbGVuKTsK
ICAgIHNwcmludGYgKHN0ciwgIiVzPSVzIiwgbmFtZSwgdmFsdWUpOwogICAg
aWYgKHB1dGVudiAoc3RyKSAhPSBFWElUX1NVQ0NFU1MpCiAgICAgIHsKICAg
ICAgICBYRlJFRSAoc3RyKTsKICAgICAgfQojZW5kaWYKICB9Cn0KCmNoYXIg
KgpsdF9leHRlbmRfc3RyIChjb25zdCBjaGFyICpvcmlnX3ZhbHVlLCBjb25z
dCBjaGFyICphZGQsIGludCB0b19lbmQpCnsKICBjaGFyICpuZXdfdmFsdWU7
CiAgaWYgKG9yaWdfdmFsdWUgJiYgKm9yaWdfdmFsdWUpCiAgICB7CiAgICAg
IGludCBvcmlnX3ZhbHVlX2xlbiA9IHN0cmxlbiAob3JpZ192YWx1ZSk7CiAg
ICAgIGludCBhZGRfbGVuID0gc3RybGVuIChhZGQpOwogICAgICBuZXdfdmFs
dWUgPSBYTUFMTE9DIChjaGFyLCBhZGRfbGVuICsgb3JpZ192YWx1ZV9sZW4g
KyAxKTsKICAgICAgaWYgKHRvX2VuZCkKICAgICAgICB7CiAgICAgICAgICBz
dHJjcHkgKG5ld192YWx1ZSwgb3JpZ192YWx1ZSk7CiAgICAgICAgICBzdHJj
cHkgKG5ld192YWx1ZSArIG9yaWdfdmFsdWVfbGVuLCBhZGQpOwogICAgICAg
IH0KICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgIHN0cmNweSAobmV3
X3ZhbHVlLCBhZGQpOwogICAgICAgICAgc3RyY3B5IChuZXdfdmFsdWUgKyBh
ZGRfbGVuLCBvcmlnX3ZhbHVlKTsKICAgICAgICB9CiAgICB9CiAgZWxzZQog
ICAgewogICAgICBuZXdfdmFsdWUgPSB4c3RyZHVwIChhZGQpOwogICAgfQog
IHJldHVybiBuZXdfdmFsdWU7Cn0KCnZvaWQKbHRfdXBkYXRlX2V4ZV9wYXRo
IChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSkKewogIGx0
X2RlYnVncHJpbnRmIChfX0ZJTEVfXywgX19MSU5FX18sCgkJICAiKGx0X3Vw
ZGF0ZV9leGVfcGF0aCkgbW9kaWZ5aW5nICclcycgYnkgcHJlcGVuZGluZyAn
JXMnXG4iLAogICAgICAgICAgICAgICAgICBub25udWxsIChuYW1lKSwgbm9u
bnVsbCAodmFsdWUpKTsKCiAgaWYgKG5hbWUgJiYgKm5hbWUgJiYgdmFsdWUg
JiYgKnZhbHVlKQogICAgewogICAgICBjaGFyICpuZXdfdmFsdWUgPSBsdF9l
eHRlbmRfc3RyIChnZXRlbnYgKG5hbWUpLCB2YWx1ZSwgMCk7CiAgICAgIC8q
IHNvbWUgc3lzdGVtcyBjYW4ndCBjb3BlIHdpdGggYSAnOictdGVybWluYXRl
ZCBwYXRoICMnICovCiAgICAgIGludCBsZW4gPSBzdHJsZW4gKG5ld192YWx1
ZSk7CiAgICAgIHdoaWxlICgoKGxlbiA9IHN0cmxlbiAobmV3X3ZhbHVlKSkg
PiAwKSAmJiBJU19QQVRIX1NFUEFSQVRPUiAobmV3X3ZhbHVlW2xlbi0xXSkp
CiAgICAgICAgewogICAgICAgICAgbmV3X3ZhbHVlW2xlbi0xXSA9ICdcMCc7
CiAgICAgICAgfQogICAgICBsdF9zZXRlbnYgKG5hbWUsIG5ld192YWx1ZSk7
CiAgICAgIFhGUkVFIChuZXdfdmFsdWUpOwogICAgfQp9Cgp2b2lkCmx0X3Vw
ZGF0ZV9saWJfcGF0aCAoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAq
dmFsdWUpCnsKICBsdF9kZWJ1Z3ByaW50ZiAoX19GSUxFX18sIF9fTElORV9f
LAoJCSAgIihsdF91cGRhdGVfbGliX3BhdGgpIG1vZGlmeWluZyAnJXMnIGJ5
IHByZXBlbmRpbmcgJyVzJ1xuIiwKICAgICAgICAgICAgICAgICAgbm9ubnVs
bCAobmFtZSksIG5vbm51bGwgKHZhbHVlKSk7CgogIGlmIChuYW1lICYmICpu
YW1lICYmIHZhbHVlICYmICp2YWx1ZSkKICAgIHsKICAgICAgY2hhciAqbmV3
X3ZhbHVlID0gbHRfZXh0ZW5kX3N0ciAoZ2V0ZW52IChuYW1lKSwgdmFsdWUs
IDApOwogICAgICBsdF9zZXRlbnYgKG5hbWUsIG5ld192YWx1ZSk7CiAgICAg
IFhGUkVFIChuZXdfdmFsdWUpOwogICAgfQp9CgpFT0YKCSAgICBjYXNlICRo
b3N0X29zIGluCgkgICAgICBtaW5ndyopCgkJY2F0IDw8IkVPRiIKCi8qIFBy
ZXBhcmVzIGFuIGFyZ3VtZW50IHZlY3RvciBiZWZvcmUgY2FsbGluZyBzcGF3
bigpLgogICBOb3RlIHRoYXQgc3Bhd24oKSBkb2VzIG5vdCBieSBpdHNlbGYg
Y2FsbCB0aGUgY29tbWFuZCBpbnRlcnByZXRlcgogICAgIChnZXRlbnYgKCJD
T01TUEVDIikgIT0gTlVMTCA/IGdldGVudiAoIkNPTVNQRUMiKSA6CiAgICAg
ICh7IE9TVkVSU0lPTklORk8gdjsgdi5kd09TVmVyc2lvbkluZm9TaXplID0g
c2l6ZW9mKE9TVkVSU0lPTklORk8pOwogICAgICAgICBHZXRWZXJzaW9uRXgo
JnYpOwogICAgICAgICB2LmR3UGxhdGZvcm1JZCA9PSBWRVJfUExBVEZPUk1f
V0lOMzJfTlQ7CiAgICAgIH0pID8gImNtZC5leGUiIDogImNvbW1hbmQuY29t
IikuCiAgIEluc3RlYWQgaXQgc2ltcGx5IGNvbmNhdGVuYXRlcyB0aGUgYXJn
dW1lbnRzLCBzZXBhcmF0ZWQgYnkgJyAnLCBhbmQgY2FsbHMKICAgQ3JlYXRl
UHJvY2VzcygpLiAgV2UgbXVzdCBxdW90ZSB0aGUgYXJndW1lbnRzIHNpbmNl
IFdpbjMyIENyZWF0ZVByb2Nlc3MoKQogICBpbnRlcnByZXRzIGNoYXJhY3Rl
cnMgbGlrZSAnICcsICdcdCcsICdcXCcsICciJyAoYnV0IG5vdCAnPCcgYW5k
ICc+JykgaW4gYQogICBzcGVjaWFsIHdheToKICAgLSBTcGFjZSBhbmQgdGFi
IGFyZSBpbnRlcnByZXRlZCBhcyBkZWxpbWl0ZXJzLiBUaGV5IGFyZSBub3Qg
dHJlYXRlZCBhcwogICAgIGRlbGltaXRlcnMgaWYgdGhleSBhcmUgc3Vycm91
bmRlZCBieSBkb3VibGUgcXVvdGVzOiAiLi4uIi4KICAgLSBVbmVzY2FwZWQg
ZG91YmxlIHF1b3RlcyBhcmUgcmVtb3ZlZCBmcm9tIHRoZSBpbnB1dC4gVGhl
aXIgb25seSBlZmZlY3QgaXMKICAgICB0aGF0IHdpdGhpbiBkb3VibGUgcXVv
dGVzLCBzcGFjZSBhbmQgdGFiIGFyZSB0cmVhdGVkIGxpa2Ugbm9ybWFsCiAg
ICAgY2hhcmFjdGVycy4KICAgLSBCYWNrc2xhc2hlcyBub3QgZm9sbG93ZWQg
YnkgZG91YmxlIHF1b3RlcyBhcmUgbm90IHNwZWNpYWwuCiAgIC0gQnV0IDIq
bisxIGJhY2tzbGFzaGVzIGZvbGxvd2VkIGJ5IGEgZG91YmxlIHF1b3RlIGJl
Y29tZQogICAgIG4gYmFja3NsYXNoZXMgZm9sbG93ZWQgYnkgYSBkb3VibGUg
cXVvdGUgKG4gPj0gMCk6CiAgICAgICBcIiAtPiAiCiAgICAgICBcXFwiIC0+
IFwiCiAgICAgICBcXFxcXCIgLT4gXFwiCiAqLwojZGVmaW5lIFNIRUxMX1NQ
RUNJQUxfQ0hBUlMgIlwiXFwgXDAwMVwwMDJcMDAzXDAwNFwwMDVcMDA2XDAw
N1wwMTBcMDExXDAxMlwwMTNcMDE0XDAxNVwwMTZcMDE3XDAyMFwwMjFcMDIy
XDAyM1wwMjRcMDI1XDAyNlwwMjdcMDMwXDAzMVwwMzJcMDMzXDAzNFwwMzVc
MDM2XDAzNyIKI2RlZmluZSBTSEVMTF9TUEFDRV9DSEFSUyAiIFwwMDFcMDAy
XDAwM1wwMDRcMDA1XDAwNlwwMDdcMDEwXDAxMVwwMTJcMDEzXDAxNFwwMTVc
MDE2XDAxN1wwMjBcMDIxXDAyMlwwMjNcMDI0XDAyNVwwMjZcMDI3XDAzMFww
MzFcMDMyXDAzM1wwMzRcMDM1XDAzNlwwMzciCmNoYXIgKioKcHJlcGFyZV9z
cGF3biAoY2hhciAqKmFyZ3YpCnsKICBzaXplX3QgYXJnYzsKICBjaGFyICoq
bmV3X2FyZ3Y7CiAgc2l6ZV90IGk7CgogIC8qIENvdW50IG51bWJlciBvZiBh
cmd1bWVudHMuICAqLwogIGZvciAoYXJnYyA9IDA7IGFyZ3ZbYXJnY10gIT0g
TlVMTDsgYXJnYysrKQogICAgOwoKICAvKiBBbGxvY2F0ZSBuZXcgYXJndW1l
bnQgdmVjdG9yLiAgKi8KICBuZXdfYXJndiA9IFhNQUxMT0MgKGNoYXIgKiwg
YXJnYyArIDEpOwoKICAvKiBQdXQgcXVvdGVkIGFyZ3VtZW50cyBpbnRvIHRo
ZSBuZXcgYXJndW1lbnQgdmVjdG9yLiAgKi8KICBmb3IgKGkgPSAwOyBpIDwg
YXJnYzsgaSsrKQogICAgewogICAgICBjb25zdCBjaGFyICpzdHJpbmcgPSBh
cmd2W2ldOwoKICAgICAgaWYgKHN0cmluZ1swXSA9PSAnXDAnKQoJbmV3X2Fy
Z3ZbaV0gPSB4c3RyZHVwICgiXCJcIiIpOwogICAgICBlbHNlIGlmIChzdHJw
YnJrIChzdHJpbmcsIFNIRUxMX1NQRUNJQUxfQ0hBUlMpICE9IE5VTEwpCgl7
CgkgIGludCBxdW90ZV9hcm91bmQgPSAoc3RycGJyayAoc3RyaW5nLCBTSEVM
TF9TUEFDRV9DSEFSUykgIT0gTlVMTCk7CgkgIHNpemVfdCBsZW5ndGg7Cgkg
IHVuc2lnbmVkIGludCBiYWNrc2xhc2hlczsKCSAgY29uc3QgY2hhciAqczsK
CSAgY2hhciAqcXVvdGVkX3N0cmluZzsKCSAgY2hhciAqcDsKCgkgIGxlbmd0
aCA9IDA7CgkgIGJhY2tzbGFzaGVzID0gMDsKCSAgaWYgKHF1b3RlX2Fyb3Vu
ZCkKCSAgICBsZW5ndGgrKzsKCSAgZm9yIChzID0gc3RyaW5nOyAqcyAhPSAn
XDAnOyBzKyspCgkgICAgewoJICAgICAgY2hhciBjID0gKnM7CgkgICAgICBp
ZiAoYyA9PSAnIicpCgkJbGVuZ3RoICs9IGJhY2tzbGFzaGVzICsgMTsKCSAg
ICAgIGxlbmd0aCsrOwoJICAgICAgaWYgKGMgPT0gJ1xcJykKCQliYWNrc2xh
c2hlcysrOwoJICAgICAgZWxzZQoJCWJhY2tzbGFzaGVzID0gMDsKCSAgICB9
CgkgIGlmIChxdW90ZV9hcm91bmQpCgkgICAgbGVuZ3RoICs9IGJhY2tzbGFz
aGVzICsgMTsKCgkgIHF1b3RlZF9zdHJpbmcgPSBYTUFMTE9DIChjaGFyLCBs
ZW5ndGggKyAxKTsKCgkgIHAgPSBxdW90ZWRfc3RyaW5nOwoJICBiYWNrc2xh
c2hlcyA9IDA7CgkgIGlmIChxdW90ZV9hcm91bmQpCgkgICAgKnArKyA9ICci
JzsKCSAgZm9yIChzID0gc3RyaW5nOyAqcyAhPSAnXDAnOyBzKyspCgkgICAg
ewoJICAgICAgY2hhciBjID0gKnM7CgkgICAgICBpZiAoYyA9PSAnIicpCgkJ
ewoJCSAgdW5zaWduZWQgaW50IGo7CgkJICBmb3IgKGogPSBiYWNrc2xhc2hl
cyArIDE7IGogPiAwOyBqLS0pCgkJICAgICpwKysgPSAnXFwnOwoJCX0KCSAg
ICAgICpwKysgPSBjOwoJICAgICAgaWYgKGMgPT0gJ1xcJykKCQliYWNrc2xh
c2hlcysrOwoJICAgICAgZWxzZQoJCWJhY2tzbGFzaGVzID0gMDsKCSAgICB9
CgkgIGlmIChxdW90ZV9hcm91bmQpCgkgICAgewoJICAgICAgdW5zaWduZWQg
aW50IGo7CgkgICAgICBmb3IgKGogPSBiYWNrc2xhc2hlczsgaiA+IDA7IGot
LSkKCQkqcCsrID0gJ1xcJzsKCSAgICAgICpwKysgPSAnIic7CgkgICAgfQoJ
ICAqcCA9ICdcMCc7CgoJICBuZXdfYXJndltpXSA9IHF1b3RlZF9zdHJpbmc7
Cgl9CiAgICAgIGVsc2UKCW5ld19hcmd2W2ldID0gKGNoYXIgKikgc3RyaW5n
OwogICAgfQogIG5ld19hcmd2W2FyZ2NdID0gTlVMTDsKCiAgcmV0dXJuIG5l
d19hcmd2Owp9CkVPRgoJCTs7CgkgICAgZXNhYwoKICAgICAgICAgICAgY2F0
IDw8IkVPRiIKdm9pZCBsdF9kdW1wX3NjcmlwdCAoRklMRSogZikKewpFT0YK
CSAgICBmdW5jX2VtaXRfd3JhcHBlciB5ZXMgfAogICAgICAgICAgICAgICRT
RUQgLWUgJ3MvXChbXFwiXVwpL1xcXDEvZycgXAoJICAgICAgICAgICAtZSAn
cy9eLyAgZnB1dHMgKCIvJyAtZSAncy8kL1xcbiIsIGYpOy8nCgogICAgICAg
ICAgICBjYXQgPDwiRU9GIgp9CkVPRgp9CiMgZW5kOiBmdW5jX2VtaXRfY3dy
YXBwZXJleGVfc3JjCgojIGZ1bmNfZW1pdF9leGVfbWFuaWZlc3QKIyBlbWl0
IGEgV2luMzIgVUFDIG1hbmlmZXN0IGZvciBleGVjdXRhYmxlIG9uIHN0ZG91
dAojIE11c3QgT05MWSBiZSBjYWxsZWQgZnJvbSB3aXRoaW4gZnVuY19tb2Rl
X2xpbmsgYmVjYXVzZQojIGl0IGRlcGVuZHMgb24gYSBudW1iZXIgb2YgdmFy
aWFibGUgc2V0IHRoZXJlaW4uCmZ1bmNfZW1pdF9leGVfbWFuaWZlc3QgKCkK
ewogICAgY2F0IDw8RU9GCjw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9
IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4KPGFzc2VtYmx5IHhtbG5zPSJ1
cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOmFzbS52MSIgbWFuaWZlc3RWZXJz
aW9uPSIxLjAiPgogIDxhc3NlbWJseUlkZW50aXR5IHZlcnNpb249IjEuMC4w
LjAiCkVPRgoKICAgIGNhc2UgJGhvc3QgaW4KICAgIGk/ODYtKi0qICkgICBl
Y2hvICcgICAgIHByb2Nlc3NvckFyY2hpdGVjdHVyZT0ieDg2IicgOzsKICAg
IGlhNjQtKi0qICkgICBlY2hvICcgICAgIHByb2Nlc3NvckFyY2hpdGVjdHVy
ZT0iaWE2NCInIDs7CiAgICB4ODZfNjQtKi0qICkgZWNobyAnICAgICBwcm9j
ZXNzb3JBcmNoaXRlY3R1cmU9ImFtZDY0IicgOzsKICAgICopICAgICAgICAg
ICBlY2hvICcgICAgIHByb2Nlc3NvckFyY2hpdGVjdHVyZT0iKiInIDs7CiAg
ICBlc2FjCgogICAgY2F0IDw8RU9GCiAgICAgbmFtZT0iJGhvc3Rfb3MuJFBS
T0dSQU0uJG91dHB1dG5hbWUiCiAgICAgdHlwZT0id2luMzIiLz4KCiAgPCEt
LSBJZGVudGlmeSB0aGUgYXBwbGljYXRpb24gc2VjdXJpdHkgcmVxdWlyZW1l
bnRzLiAtLT4KICA8dHJ1c3RJbmZvIHhtbG5zPSJ1cm46c2NoZW1hcy1taWNy
b3NvZnQtY29tOmFzbS52MyI+CiAgICA8c2VjdXJpdHk+CiAgICAgIDxyZXF1
ZXN0ZWRQcml2aWxlZ2VzPgogICAgICAgIDxyZXF1ZXN0ZWRFeGVjdXRpb25M
ZXZlbCBsZXZlbD0iYXNJbnZva2VyIiB1aUFjY2Vzcz0iZmFsc2UiLz4KICAg
ICAgPC9yZXF1ZXN0ZWRQcml2aWxlZ2VzPgogICAgPC9zZWN1cml0eT4KICA8
L3RydXN0SW5mbz4KPC9hc3NlbWJseT4KRU9GCn0KCiMgZnVuY193aW4zMl9p
bXBvcnRfbGliX3AgQVJHCiMgVHJ1ZSBpZiBBUkcgaXMgYW4gaW1wb3J0IGxp
YiwgYXMgaW5kaWNhdGVkIGJ5ICRmaWxlX21hZ2ljX2NtZApmdW5jX3dpbjMy
X2ltcG9ydF9saWJfcCAoKQp7CiAgICAkb3B0X2RlYnVnCiAgICBjYXNlIGBl
dmFsICRmaWxlX21hZ2ljX2NtZCBcIlwkMVwiIDI+L2Rldi9udWxsIHwgJFNF
RCAtZSAxMHFgIGluCiAgICAqaW1wb3J0KikgOiA7OwogICAgKikgZmFsc2Ug
OzsKICAgIGVzYWMKfQoKIyBmdW5jX21vZGVfbGluayBhcmcuLi4KZnVuY19t
b2RlX2xpbmsgKCkKewogICAgJG9wdF9kZWJ1ZwogICAgY2FzZSAkaG9zdCBp
bgogICAgKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwg
Ki0qLW9zMiogfCAqLWNlZ2NjKikKICAgICAgIyBJdCBpcyBpbXBvc3NpYmxl
IHRvIGxpbmsgYSBkbGwgd2l0aG91dCB0aGlzIHNldHRpbmcsIGFuZAogICAg
ICAjIHdlIHNob3VsZG4ndCBmb3JjZSB0aGUgbWFrZWZpbGUgbWFpbnRhaW5l
ciB0byBmaWd1cmUgb3V0CiAgICAgICMgd2hpY2ggc3lzdGVtIHdlIGFyZSBj
b21waWxpbmcgZm9yIGluIG9yZGVyIHRvIHBhc3MgYW4gZXh0cmEKICAgICAg
IyBmbGFnIGZvciBldmVyeSBsaWJ0b29sIGludm9jYXRpb24uCiAgICAgICMg
YWxsb3dfdW5kZWZpbmVkPW5vCgogICAgICAjIEZJWE1FOiBVbmZvcnR1bmF0
ZWx5LCB0aGVyZSBhcmUgcHJvYmxlbXMgd2l0aCB0aGUgYWJvdmUgd2hlbiB0
cnlpbmcKICAgICAgIyB0byBtYWtlIGEgZGxsIHdoaWNoIGhhcyB1bmRlZmlu
ZWQgc3ltYm9scywgaW4gd2hpY2ggY2FzZSBub3QKICAgICAgIyBldmVuIGEg
c3RhdGljIGxpYnJhcnkgaXMgYnVpbHQuICBGb3Igbm93LCB3ZSBuZWVkIHRv
IHNwZWNpZnkKICAgICAgIyAtbm8tdW5kZWZpbmVkIG9uIHRoZSBsaWJ0b29s
IGxpbmsgbGluZSB3aGVuIHdlIGNhbiBiZSBjZXJ0YWluCiAgICAgICMgdGhh
dCBhbGwgc3ltYm9scyBhcmUgc2F0aXNmaWVkLCBvdGhlcndpc2Ugd2UgZ2V0
IGEgc3RhdGljIGxpYnJhcnkuCiAgICAgIGFsbG93X3VuZGVmaW5lZD15ZXMK
ICAgICAgOzsKICAgICopCiAgICAgIGFsbG93X3VuZGVmaW5lZD15ZXMKICAg
ICAgOzsKICAgIGVzYWMKICAgIGxpYnRvb2xfYXJncz0kbm9ub3B0CiAgICBi
YXNlX2NvbXBpbGU9IiRub25vcHQgJEAiCiAgICBjb21waWxlX2NvbW1hbmQ9
JG5vbm9wdAogICAgZmluYWxpemVfY29tbWFuZD0kbm9ub3B0CgogICAgY29t
cGlsZV9ycGF0aD0KICAgIGZpbmFsaXplX3JwYXRoPQogICAgY29tcGlsZV9z
aGxpYnBhdGg9CiAgICBmaW5hbGl6ZV9zaGxpYnBhdGg9CiAgICBjb252ZW5p
ZW5jZT0KICAgIG9sZF9jb252ZW5pZW5jZT0KICAgIGRlcGxpYnM9CiAgICBv
bGRfZGVwbGlicz0KICAgIGNvbXBpbGVyX2ZsYWdzPQogICAgbGlua2VyX2Zs
YWdzPQogICAgZGxsc2VhcmNocGF0aD0KICAgIGxpYl9zZWFyY2hfcGF0aD1g
cHdkYAogICAgaW5zdF9wcmVmaXhfZGlyPQogICAgbmV3X2luaGVyaXRlZF9s
aW5rZXJfZmxhZ3M9CgogICAgYXZvaWRfdmVyc2lvbj1ubwogICAgYmluZGly
PQogICAgZGxmaWxlcz0KICAgIGRscHJlZmlsZXM9CiAgICBkbHNlbGY9bm8K
ICAgIGV4cG9ydF9keW5hbWljPW5vCiAgICBleHBvcnRfc3ltYm9scz0KICAg
IGV4cG9ydF9zeW1ib2xzX3JlZ2V4PQogICAgZ2VuZXJhdGVkPQogICAgbGli
b2Jqcz0KICAgIGx0bGlicz0KICAgIG1vZHVsZT1ubwogICAgbm9faW5zdGFs
bD1ubwogICAgb2Jqcz0KICAgIG5vbl9waWNfb2JqZWN0cz0KICAgIHByZWNp
b3VzX2ZpbGVzX3JlZ2V4PQogICAgcHJlZmVyX3N0YXRpY19saWJzPW5vCiAg
ICBwcmVsb2FkPW5vCiAgICBwcmV2PQogICAgcHJldmFyZz0KICAgIHJlbGVh
c2U9CiAgICBycGF0aD0KICAgIHhycGF0aD0KICAgIHBlcm1fcnBhdGg9CiAg
ICB0ZW1wX3JwYXRoPQogICAgdGhyZWFkX3NhZmU9bm8KICAgIHZpbmZvPQog
ICAgdmluZm9fbnVtYmVyPW5vCiAgICB3ZWFrX2xpYnM9CiAgICBzaW5nbGVf
bW9kdWxlPSIke3dsfS1zaW5nbGVfbW9kdWxlIgogICAgZnVuY19pbmZlcl90
YWcgJGJhc2VfY29tcGlsZQoKICAgICMgV2UgbmVlZCB0byBrbm93IC1zdGF0
aWMsIHRvIGdldCB0aGUgcmlnaHQgb3V0cHV0IGZpbGVuYW1lcy4KICAgIGZv
ciBhcmcKICAgIGRvCiAgICAgIGNhc2UgJGFyZyBpbgogICAgICAtc2hhcmVk
KQoJdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgIT0geWVzICYmIFwKCSAg
ZnVuY19mYXRhbF9jb25maWd1cmF0aW9uICJjYW4gbm90IGJ1aWxkIGEgc2hh
cmVkIGxpYnJhcnkiCglidWlsZF9vbGRfbGlicz1ubwoJYnJlYWsKCTs7CiAg
ICAgIC1hbGwtc3RhdGljIHwgLXN0YXRpYyB8IC1zdGF0aWMtbGlidG9vbC1s
aWJzKQoJY2FzZSAkYXJnIGluCgktYWxsLXN0YXRpYykKCSAgaWYgdGVzdCAi
JGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXMgJiYgdGVzdCAteiAiJGxpbmtf
c3RhdGljX2ZsYWciOyB0aGVuCgkgICAgZnVuY193YXJuaW5nICJjb21wbGV0
ZSBzdGF0aWMgbGlua2luZyBpcyBpbXBvc3NpYmxlIGluIHRoaXMgY29uZmln
dXJhdGlvbiIKCSAgZmkKCSAgaWYgdGVzdCAtbiAiJGxpbmtfc3RhdGljX2Zs
YWciOyB0aGVuCgkgICAgZGxvcGVuX3NlbGY9JGRsb3Blbl9zZWxmX3N0YXRp
YwoJICBmaQoJICBwcmVmZXJfc3RhdGljX2xpYnM9eWVzCgkgIDs7Cgktc3Rh
dGljKQoJICBpZiB0ZXN0IC16ICIkcGljX2ZsYWciICYmIHRlc3QgLW4gIiRs
aW5rX3N0YXRpY19mbGFnIjsgdGhlbgoJICAgIGRsb3Blbl9zZWxmPSRkbG9w
ZW5fc2VsZl9zdGF0aWMKCSAgZmkKCSAgcHJlZmVyX3N0YXRpY19saWJzPWJ1
aWx0CgkgIDs7Cgktc3RhdGljLWxpYnRvb2wtbGlicykKCSAgaWYgdGVzdCAt
eiAiJHBpY19mbGFnIiAmJiB0ZXN0IC1uICIkbGlua19zdGF0aWNfZmxhZyI7
IHRoZW4KCSAgICBkbG9wZW5fc2VsZj0kZGxvcGVuX3NlbGZfc3RhdGljCgkg
IGZpCgkgIHByZWZlcl9zdGF0aWNfbGlicz15ZXMKCSAgOzsKCWVzYWMKCWJ1
aWxkX2xpYnRvb2xfbGlicz1ubwoJYnVpbGRfb2xkX2xpYnM9eWVzCglicmVh
awoJOzsKICAgICAgZXNhYwogICAgZG9uZQoKICAgICMgU2VlIGlmIG91ciBz
aGFyZWQgYXJjaGl2ZXMgZGVwZW5kIG9uIHN0YXRpYyBhcmNoaXZlcy4KICAg
IHRlc3QgLW4gIiRvbGRfYXJjaGl2ZV9mcm9tX25ld19jbWRzIiAmJiBidWls
ZF9vbGRfbGlicz15ZXMKCiAgICAjIEdvIHRocm91Z2ggdGhlIGFyZ3VtZW50
cywgdHJhbnNmb3JtaW5nIHRoZW0gb24gdGhlIHdheS4KICAgIHdoaWxlIHRl
c3QgIiQjIiAtZ3QgMDsgZG8KICAgICAgYXJnPSIkMSIKICAgICAgc2hpZnQK
ICAgICAgZnVuY19xdW90ZV9mb3JfZXZhbCAiJGFyZyIKICAgICAgcWFyZz0k
ZnVuY19xdW90ZV9mb3JfZXZhbF91bnF1b3RlZF9yZXN1bHQKICAgICAgbGli
dG9vbF9hcmdzKz0iICRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdCIKCiAg
ICAgICMgSWYgdGhlIHByZXZpb3VzIG9wdGlvbiBuZWVkcyBhbiBhcmd1bWVu
dCwgYXNzaWduIGl0LgogICAgICBpZiB0ZXN0IC1uICIkcHJldiI7IHRoZW4K
CWNhc2UgJHByZXYgaW4KCW91dHB1dCkKCSAgY29tcGlsZV9jb21tYW5kKz0i
IEBPVVRQVVRAIgoJICBmaW5hbGl6ZV9jb21tYW5kKz0iIEBPVVRQVVRAIgoJ
ICA7OwoJZXNhYwoKCWNhc2UgJHByZXYgaW4KCWJpbmRpcikKCSAgYmluZGly
PSIkYXJnIgoJICBwcmV2PQoJICBjb250aW51ZQoJICA7OwoJZGxmaWxlc3xk
bHByZWZpbGVzKQoJICBpZiB0ZXN0ICIkcHJlbG9hZCIgPSBubzsgdGhlbgoJ
ICAgICMgQWRkIHRoZSBzeW1ib2wgb2JqZWN0IGludG8gdGhlIGxpbmtpbmcg
Y29tbWFuZHMuCgkgICAgY29tcGlsZV9jb21tYW5kKz0iIEBTWU1GSUxFQCIK
CSAgICBmaW5hbGl6ZV9jb21tYW5kKz0iIEBTWU1GSUxFQCIKCSAgICBwcmVs
b2FkPXllcwoJICBmaQoJICBjYXNlICRhcmcgaW4KCSAgKi5sYSB8ICoubG8p
IDs7ICAjIFdlIGhhbmRsZSB0aGVzZSBjYXNlcyBiZWxvdy4KCSAgZm9yY2Up
CgkgICAgaWYgdGVzdCAiJGRsc2VsZiIgPSBubzsgdGhlbgoJICAgICAgZGxz
ZWxmPW5lZWRsZXNzCgkgICAgICBleHBvcnRfZHluYW1pYz15ZXMKCSAgICBm
aQoJICAgIHByZXY9CgkgICAgY29udGludWUKCSAgICA7OwoJICBzZWxmKQoJ
ICAgIGlmIHRlc3QgIiRwcmV2IiA9IGRscHJlZmlsZXM7IHRoZW4KCSAgICAg
IGRsc2VsZj15ZXMKCSAgICBlbGlmIHRlc3QgIiRwcmV2IiA9IGRsZmlsZXMg
JiYgdGVzdCAiJGRsb3Blbl9zZWxmIiAhPSB5ZXM7IHRoZW4KCSAgICAgIGRs
c2VsZj15ZXMKCSAgICBlbHNlCgkgICAgICBkbHNlbGY9bmVlZGxlc3MKCSAg
ICAgIGV4cG9ydF9keW5hbWljPXllcwoJICAgIGZpCgkgICAgcHJldj0KCSAg
ICBjb250aW51ZQoJICAgIDs7CgkgICopCgkgICAgaWYgdGVzdCAiJHByZXYi
ID0gZGxmaWxlczsgdGhlbgoJICAgICAgZGxmaWxlcys9IiAkYXJnIgoJICAg
IGVsc2UKCSAgICAgIGRscHJlZmlsZXMrPSIgJGFyZyIKCSAgICBmaQoJICAg
IHByZXY9CgkgICAgY29udGludWUKCSAgICA7OwoJICBlc2FjCgkgIDs7Cgll
eHBzeW1zKQoJICBleHBvcnRfc3ltYm9scz0iJGFyZyIKCSAgdGVzdCAtZiAi
JGFyZyIgXAoJICAgIHx8IGZ1bmNfZmF0YWxfZXJyb3IgInN5bWJvbCBmaWxl
IFxgJGFyZycgZG9lcyBub3QgZXhpc3QiCgkgIHByZXY9CgkgIGNvbnRpbnVl
CgkgIDs7CglleHBzeW1zX3JlZ2V4KQoJICBleHBvcnRfc3ltYm9sc19yZWdl
eD0iJGFyZyIKCSAgcHJldj0KCSAgY29udGludWUKCSAgOzsKCWZyYW1ld29y
aykKCSAgY2FzZSAkaG9zdCBpbgoJICAgICotKi1kYXJ3aW4qKQoJICAgICAg
Y2FzZSAiJGRlcGxpYnMgIiBpbgoJCSoiICRxYXJnLmx0ZnJhbWV3b3JrICIq
KSA7OwoJCSopIGRlcGxpYnMrPSIgJHFhcmcubHRmcmFtZXdvcmsiICMgdGhp
cyBpcyBmaXhlZCBsYXRlcgoJCSAgIDs7CgkgICAgICBlc2FjCgkgICAgICA7
OwoJICBlc2FjCgkgIHByZXY9CgkgIGNvbnRpbnVlCgkgIDs7CglpbnN0X3By
ZWZpeCkKCSAgaW5zdF9wcmVmaXhfZGlyPSIkYXJnIgoJICBwcmV2PQoJICBj
b250aW51ZQoJICA7OwoJb2JqZWN0bGlzdCkKCSAgaWYgdGVzdCAtZiAiJGFy
ZyI7IHRoZW4KCSAgICBzYXZlX2FyZz0kYXJnCgkgICAgbW9yZWFyZ3M9Cgkg
ICAgZm9yIGZpbCBpbiBgY2F0ICIkc2F2ZV9hcmciYAoJICAgIGRvCiMJICAg
ICAgbW9yZWFyZ3MrPSIgJGZpbCIKCSAgICAgIGFyZz0kZmlsCgkgICAgICAj
IEEgbGlidG9vbC1jb250cm9sbGVkIG9iamVjdC4KCgkgICAgICAjIENoZWNr
IHRvIHNlZSB0aGF0IHRoaXMgcmVhbGx5IGlzIGEgbGlidG9vbCBvYmplY3Qu
CgkgICAgICBpZiBmdW5jX2xhbGliX3Vuc2FmZV9wICIkYXJnIjsgdGhlbgoJ
CXBpY19vYmplY3Q9CgkJbm9uX3BpY19vYmplY3Q9CgoJCSMgUmVhZCB0aGUg
LmxvIGZpbGUKCQlmdW5jX3NvdXJjZSAiJGFyZyIKCgkJaWYgdGVzdCAteiAi
JHBpY19vYmplY3QiIHx8CgkJICAgdGVzdCAteiAiJG5vbl9waWNfb2JqZWN0
IiB8fAoJCSAgIHRlc3QgIiRwaWNfb2JqZWN0IiA9IG5vbmUgJiYKCQkgICB0
ZXN0ICIkbm9uX3BpY19vYmplY3QiID0gbm9uZTsgdGhlbgoJCSAgZnVuY19m
YXRhbF9lcnJvciAiY2Fubm90IGZpbmQgbmFtZSBvZiBvYmplY3QgZm9yIFxg
JGFyZyciCgkJZmkKCgkJIyBFeHRyYWN0IHN1YmRpcmVjdG9yeSBmcm9tIHRo
ZSBhcmd1bWVudC4KCQlmdW5jX2Rpcm5hbWUgIiRhcmciICIvIiAiIgoJCXhk
aXI9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgoKCQlpZiB0ZXN0ICIkcGljX29i
amVjdCIgIT0gbm9uZTsgdGhlbgoJCSAgIyBQcmVwZW5kIHRoZSBzdWJkaXJl
Y3RvcnkgdGhlIG9iamVjdCBpcyBmb3VuZCBpbi4KCQkgIHBpY19vYmplY3Q9
IiR4ZGlyJHBpY19vYmplY3QiCgoJCSAgaWYgdGVzdCAiJHByZXYiID0gZGxm
aWxlczsgdGhlbgoJCSAgICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJz
IiA9IHllcyAmJiB0ZXN0ICIkZGxvcGVuX3N1cHBvcnQiID0geWVzOyB0aGVu
CgkJICAgICAgZGxmaWxlcys9IiAkcGljX29iamVjdCIKCQkgICAgICBwcmV2
PQoJCSAgICAgIGNvbnRpbnVlCgkJICAgIGVsc2UKCQkgICAgICAjIElmIGxp
YnRvb2wgb2JqZWN0cyBhcmUgdW5zdXBwb3J0ZWQsIHRoZW4gd2UgbmVlZCB0
byBwcmVsb2FkLgoJCSAgICAgIHByZXY9ZGxwcmVmaWxlcwoJCSAgICBmaQoJ
CSAgZmkKCgkJICAjIENIRUNLIE1FOiAgSSB0aGluayBJIGJ1c3RlZCB0aGlz
LiAgLU9zc2FtYQoJCSAgaWYgdGVzdCAiJHByZXYiID0gZGxwcmVmaWxlczsg
dGhlbgoJCSAgICAjIFByZWxvYWQgdGhlIG9sZC1zdHlsZSBvYmplY3QuCgkJ
ICAgIGRscHJlZmlsZXMrPSIgJHBpY19vYmplY3QiCgkJICAgIHByZXY9CgkJ
ICBmaQoKCQkgICMgQSBQSUMgb2JqZWN0LgoJCSAgbGlib2Jqcys9IiAkcGlj
X29iamVjdCIKCQkgIGFyZz0iJHBpY19vYmplY3QiCgkJZmkKCgkJIyBOb24t
UElDIG9iamVjdC4KCQlpZiB0ZXN0ICIkbm9uX3BpY19vYmplY3QiICE9IG5v
bmU7IHRoZW4KCQkgICMgUHJlcGVuZCB0aGUgc3ViZGlyZWN0b3J5IHRoZSBv
YmplY3QgaXMgZm91bmQgaW4uCgkJICBub25fcGljX29iamVjdD0iJHhkaXIk
bm9uX3BpY19vYmplY3QiCgoJCSAgIyBBIHN0YW5kYXJkIG5vbi1QSUMgb2Jq
ZWN0CgkJICBub25fcGljX29iamVjdHMrPSIgJG5vbl9waWNfb2JqZWN0IgoJ
CSAgaWYgdGVzdCAteiAiJHBpY19vYmplY3QiIHx8IHRlc3QgIiRwaWNfb2Jq
ZWN0IiA9IG5vbmUgOyB0aGVuCgkJICAgIGFyZz0iJG5vbl9waWNfb2JqZWN0
IgoJCSAgZmkKCQllbHNlCgkJICAjIElmIHRoZSBQSUMgb2JqZWN0IGV4aXN0
cywgdXNlIGl0IGluc3RlYWQuCgkJICAjICR4ZGlyIHdhcyBwcmVwZW5kZWQg
dG8gJHBpY19vYmplY3QgYWJvdmUuCgkJICBub25fcGljX29iamVjdD0iJHBp
Y19vYmplY3QiCgkJICBub25fcGljX29iamVjdHMrPSIgJG5vbl9waWNfb2Jq
ZWN0IgoJCWZpCgkgICAgICBlbHNlCgkJIyBPbmx5IGFuIGVycm9yIGlmIG5v
dCBkb2luZyBhIGRyeS1ydW4uCgkJaWYgJG9wdF9kcnlfcnVuOyB0aGVuCgkJ
ICAjIEV4dHJhY3Qgc3ViZGlyZWN0b3J5IGZyb20gdGhlIGFyZ3VtZW50LgoJ
CSAgZnVuY19kaXJuYW1lICIkYXJnIiAiLyIgIiIKCQkgIHhkaXI9IiRmdW5j
X2Rpcm5hbWVfcmVzdWx0IgoKCQkgIGZ1bmNfbG8ybyAiJGFyZyIKCQkgIHBp
Y19vYmplY3Q9JHhkaXIkb2JqZGlyLyRmdW5jX2xvMm9fcmVzdWx0CgkJICBu
b25fcGljX29iamVjdD0keGRpciRmdW5jX2xvMm9fcmVzdWx0CgkJICBsaWJv
YmpzKz0iICRwaWNfb2JqZWN0IgoJCSAgbm9uX3BpY19vYmplY3RzKz0iICRu
b25fcGljX29iamVjdCIKCSAgICAgICAgZWxzZQoJCSAgZnVuY19mYXRhbF9l
cnJvciAiXGAkYXJnJyBpcyBub3QgYSB2YWxpZCBsaWJ0b29sIG9iamVjdCIK
CQlmaQoJICAgICAgZmkKCSAgICBkb25lCgkgIGVsc2UKCSAgICBmdW5jX2Zh
dGFsX2Vycm9yICJsaW5rIGlucHV0IGZpbGUgXGAkYXJnJyBkb2VzIG5vdCBl
eGlzdCIKCSAgZmkKCSAgYXJnPSRzYXZlX2FyZwoJICBwcmV2PQoJICBjb250
aW51ZQoJICA7OwoJcHJlY2lvdXNfcmVnZXgpCgkgIHByZWNpb3VzX2ZpbGVz
X3JlZ2V4PSIkYXJnIgoJICBwcmV2PQoJICBjb250aW51ZQoJICA7OwoJcmVs
ZWFzZSkKCSAgcmVsZWFzZT0iLSRhcmciCgkgIHByZXY9CgkgIGNvbnRpbnVl
CgkgIDs7CglycGF0aCB8IHhycGF0aCkKCSAgIyBXZSBuZWVkIGFuIGFic29s
dXRlIHBhdGguCgkgIGNhc2UgJGFyZyBpbgoJICBbXFwvXSogfCBbQS1aYS16
XTpbXFwvXSopIDs7CgkgICopCgkgICAgZnVuY19mYXRhbF9lcnJvciAib25s
eSBhYnNvbHV0ZSBydW4tcGF0aHMgYXJlIGFsbG93ZWQiCgkgICAgOzsKCSAg
ZXNhYwoJICBpZiB0ZXN0ICIkcHJldiIgPSBycGF0aDsgdGhlbgoJICAgIGNh
c2UgIiRycGF0aCAiIGluCgkgICAgKiIgJGFyZyAiKikgOzsKCSAgICAqKSBy
cGF0aCs9IiAkYXJnIiA7OwoJICAgIGVzYWMKCSAgZWxzZQoJICAgIGNhc2Ug
IiR4cnBhdGggIiBpbgoJICAgICoiICRhcmcgIiopIDs7CgkgICAgKikgeHJw
YXRoKz0iICRhcmciIDs7CgkgICAgZXNhYwoJICBmaQoJICBwcmV2PQoJICBj
b250aW51ZQoJICA7OwoJc2hyZXh0KQoJICBzaHJleHRfY21kcz0iJGFyZyIK
CSAgcHJldj0KCSAgY29udGludWUKCSAgOzsKCXdlYWspCgkgIHdlYWtfbGli
cys9IiAkYXJnIgoJICBwcmV2PQoJICBjb250aW51ZQoJICA7OwoJeGNjbGlu
a2VyKQoJICBsaW5rZXJfZmxhZ3MrPSIgJHFhcmciCgkgIGNvbXBpbGVyX2Zs
YWdzKz0iICRxYXJnIgoJICBwcmV2PQoJICBjb21waWxlX2NvbW1hbmQrPSIg
JHFhcmciCgkgIGZpbmFsaXplX2NvbW1hbmQrPSIgJHFhcmciCgkgIGNvbnRp
bnVlCgkgIDs7Cgl4Y29tcGlsZXIpCgkgIGNvbXBpbGVyX2ZsYWdzKz0iICRx
YXJnIgoJICBwcmV2PQoJICBjb21waWxlX2NvbW1hbmQrPSIgJHFhcmciCgkg
IGZpbmFsaXplX2NvbW1hbmQrPSIgJHFhcmciCgkgIGNvbnRpbnVlCgkgIDs7
Cgl4bGlua2VyKQoJICBsaW5rZXJfZmxhZ3MrPSIgJHFhcmciCgkgIGNvbXBp
bGVyX2ZsYWdzKz0iICR3bCRxYXJnIgoJICBwcmV2PQoJICBjb21waWxlX2Nv
bW1hbmQrPSIgJHdsJHFhcmciCgkgIGZpbmFsaXplX2NvbW1hbmQrPSIgJHds
JHFhcmciCgkgIGNvbnRpbnVlCgkgIDs7CgkqKQoJICBldmFsICIkcHJldj1c
IlwkYXJnXCIiCgkgIHByZXY9CgkgIGNvbnRpbnVlCgkgIDs7Cgllc2FjCiAg
ICAgIGZpICMgdGVzdCAtbiAiJHByZXYiCgogICAgICBwcmV2YXJnPSIkYXJn
IgoKICAgICAgY2FzZSAkYXJnIGluCiAgICAgIC1hbGwtc3RhdGljKQoJaWYg
dGVzdCAtbiAiJGxpbmtfc3RhdGljX2ZsYWciOyB0aGVuCgkgICMgU2VlIGNv
bW1lbnQgZm9yIC1zdGF0aWMgZmxhZyBiZWxvdywgZm9yIG1vcmUgZGV0YWls
cy4KCSAgY29tcGlsZV9jb21tYW5kKz0iICRsaW5rX3N0YXRpY19mbGFnIgoJ
ICBmaW5hbGl6ZV9jb21tYW5kKz0iICRsaW5rX3N0YXRpY19mbGFnIgoJZmkK
CWNvbnRpbnVlCgk7OwoKICAgICAgLWFsbG93LXVuZGVmaW5lZCkKCSMgRklY
TUU6IHJlbW92ZSB0aGlzIGZsYWcgc29tZXRpbWUgaW4gdGhlIGZ1dHVyZS4K
CWZ1bmNfZmF0YWxfZXJyb3IgIlxgLWFsbG93LXVuZGVmaW5lZCcgbXVzdCBu
b3QgYmUgdXNlZCBiZWNhdXNlIGl0IGlzIHRoZSBkZWZhdWx0IgoJOzsKCiAg
ICAgIC1hdm9pZC12ZXJzaW9uKQoJYXZvaWRfdmVyc2lvbj15ZXMKCWNvbnRp
bnVlCgk7OwoKICAgICAgLWJpbmRpcikKCXByZXY9YmluZGlyCgljb250aW51
ZQoJOzsKCiAgICAgIC1kbG9wZW4pCglwcmV2PWRsZmlsZXMKCWNvbnRpbnVl
Cgk7OwoKICAgICAgLWRscHJlb3BlbikKCXByZXY9ZGxwcmVmaWxlcwoJY29u
dGludWUKCTs7CgogICAgICAtZXhwb3J0LWR5bmFtaWMpCglleHBvcnRfZHlu
YW1pYz15ZXMKCWNvbnRpbnVlCgk7OwoKICAgICAgLWV4cG9ydC1zeW1ib2xz
IHwgLWV4cG9ydC1zeW1ib2xzLXJlZ2V4KQoJaWYgdGVzdCAtbiAiJGV4cG9y
dF9zeW1ib2xzIiB8fCB0ZXN0IC1uICIkZXhwb3J0X3N5bWJvbHNfcmVnZXgi
OyB0aGVuCgkgIGZ1bmNfZmF0YWxfZXJyb3IgIm1vcmUgdGhhbiBvbmUgLWV4
cG9ydGVkLXN5bWJvbHMgYXJndW1lbnQgaXMgbm90IGFsbG93ZWQiCglmaQoJ
aWYgdGVzdCAiWCRhcmciID0gIlgtZXhwb3J0LXN5bWJvbHMiOyB0aGVuCgkg
IHByZXY9ZXhwc3ltcwoJZWxzZQoJICBwcmV2PWV4cHN5bXNfcmVnZXgKCWZp
Cgljb250aW51ZQoJOzsKCiAgICAgIC1mcmFtZXdvcmspCglwcmV2PWZyYW1l
d29yawoJY29udGludWUKCTs7CgogICAgICAtaW5zdC1wcmVmaXgtZGlyKQoJ
cHJldj1pbnN0X3ByZWZpeAoJY29udGludWUKCTs7CgogICAgICAjIFRoZSBu
YXRpdmUgSVJJWCBsaW5rZXIgdW5kZXJzdGFuZHMgLUxBTkc6KiwgLUxJU1Q6
KiBhbmQgLUxOTzoqCiAgICAgICMgc28sIGlmIHdlIHNlZSB0aGVzZSBmbGFn
cyBiZSBjYXJlZnVsIG5vdCB0byB0cmVhdCB0aGVtIGxpa2UgLUwKICAgICAg
LUxbQS1aXVtBLVpdKjoqKQoJY2FzZSAkd2l0aF9nY2MvJGhvc3QgaW4KCW5v
LyotKi1pcml4KiB8IC8qLSotaXJpeCopCgkgIGNvbXBpbGVfY29tbWFuZCs9
IiAkYXJnIgoJICBmaW5hbGl6ZV9jb21tYW5kKz0iICRhcmciCgkgIDs7Cgll
c2FjCgljb250aW51ZQoJOzsKCiAgICAgIC1MKikKCWZ1bmNfc3RyaXBuYW1l
ICItTCIgJycgIiRhcmciCglpZiB0ZXN0IC16ICIkZnVuY19zdHJpcG5hbWVf
cmVzdWx0IjsgdGhlbgoJICBpZiB0ZXN0ICIkIyIgLWd0IDA7IHRoZW4KCSAg
ICBmdW5jX2ZhdGFsX2Vycm9yICJyZXF1aXJlIG5vIHNwYWNlIGJldHdlZW4g
XGAtTCcgYW5kIFxgJDEnIgoJICBlbHNlCgkgICAgZnVuY19mYXRhbF9lcnJv
ciAibmVlZCBwYXRoIGZvciBcYC1MJyBvcHRpb24iCgkgIGZpCglmaQoJZnVu
Y19yZXNvbHZlX3N5c3Jvb3QgIiRmdW5jX3N0cmlwbmFtZV9yZXN1bHQiCglk
aXI9JGZ1bmNfcmVzb2x2ZV9zeXNyb290X3Jlc3VsdAoJIyBXZSBuZWVkIGFu
IGFic29sdXRlIHBhdGguCgljYXNlICRkaXIgaW4KCVtcXC9dKiB8IFtBLVph
LXpdOltcXC9dKikgOzsKCSopCgkgIGFic2Rpcj1gY2QgIiRkaXIiICYmIHB3
ZGAKCSAgdGVzdCAteiAiJGFic2RpciIgJiYgXAoJICAgIGZ1bmNfZmF0YWxf
ZXJyb3IgImNhbm5vdCBkZXRlcm1pbmUgYWJzb2x1dGUgZGlyZWN0b3J5IG5h
bWUgb2YgXGAkZGlyJyIKCSAgZGlyPSIkYWJzZGlyIgoJICA7OwoJZXNhYwoJ
Y2FzZSAiJGRlcGxpYnMgIiBpbgoJKiIgLUwkZGlyICIqIHwgKiIgJGFyZyAi
KikKCSAgIyBXaWxsIG9ubHkgaGFwcGVuIGZvciBhYnNvbHV0ZSBvciBzeXNy
b290IGFyZ3VtZW50cwoJICA7OwoJKikKCSAgIyBQcmVzZXJ2ZSBzeXNyb290
LCBidXQgbmV2ZXIgaW5jbHVkZSByZWxhdGl2ZSBkaXJlY3RvcmllcwoJICBj
YXNlICRkaXIgaW4KCSAgICBbXFwvXSogfCBbQS1aYS16XTpbXFwvXSogfCA9
KikgZGVwbGlicys9IiAkYXJnIiA7OwoJICAgICopIGRlcGxpYnMrPSIgLUwk
ZGlyIiA7OwoJICBlc2FjCgkgIGxpYl9zZWFyY2hfcGF0aCs9IiAkZGlyIgoJ
ICA7OwoJZXNhYwoJY2FzZSAkaG9zdCBpbgoJKi0qLWN5Z3dpbiogfCAqLSot
bWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0qLW9zMiogfCAqLWNlZ2NjKikKCSAg
dGVzdGJpbmRpcj1gJEVDSE8gIiRkaXIiIHwgJFNFRCAncyovbGliJCovYmlu
KidgCgkgIGNhc2UgOiRkbGxzZWFyY2hwYXRoOiBpbgoJICAqIjokZGlyOiIq
KSA7OwoJICA6OikgZGxsc2VhcmNocGF0aD0kZGlyOzsKCSAgKikgZGxsc2Vh
cmNocGF0aCs9IjokZGlyIjs7CgkgIGVzYWMKCSAgY2FzZSA6JGRsbHNlYXJj
aHBhdGg6IGluCgkgICoiOiR0ZXN0YmluZGlyOiIqKSA7OwoJICA6OikgZGxs
c2VhcmNocGF0aD0kdGVzdGJpbmRpcjs7CgkgICopIGRsbHNlYXJjaHBhdGgr
PSI6JHRlc3RiaW5kaXIiOzsKCSAgZXNhYwoJICA7OwoJZXNhYwoJY29udGlu
dWUKCTs7CgogICAgICAtbCopCglpZiB0ZXN0ICJYJGFyZyIgPSAiWC1sYyIg
fHwgdGVzdCAiWCRhcmciID0gIlgtbG0iOyB0aGVuCgkgIGNhc2UgJGhvc3Qg
aW4KCSAgKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwg
Ki0qLWJlb3MqIHwgKi1jZWdjYyogfCAqLSotaGFpa3UqKQoJICAgICMgVGhl
c2Ugc3lzdGVtcyBkb24ndCBhY3R1YWxseSBoYXZlIGEgQyBvciBtYXRoIGxp
YnJhcnkgKGFzIHN1Y2gpCgkgICAgY29udGludWUKCSAgICA7OwoJICAqLSot
b3MyKikKCSAgICAjIFRoZXNlIHN5c3RlbXMgZG9uJ3QgYWN0dWFsbHkgaGF2
ZSBhIEMgbGlicmFyeSAoYXMgc3VjaCkKCSAgICB0ZXN0ICJYJGFyZyIgPSAi
WC1sYyIgJiYgY29udGludWUKCSAgICA7OwoJICAqLSotb3BlbmJzZCogfCAq
LSotZnJlZWJzZCogfCAqLSotZHJhZ29uZmx5KikKCSAgICAjIERvIG5vdCBp
bmNsdWRlIGxpYmMgZHVlIHRvIHVzIGhhdmluZyBsaWJjL2xpYmNfci4KCSAg
ICB0ZXN0ICJYJGFyZyIgPSAiWC1sYyIgJiYgY29udGludWUKCSAgICA7OwoJ
ICAqLSotcmhhcHNvZHkqIHwgKi0qLWRhcndpbjEuWzAxMl0pCgkgICAgIyBS
aGFwc29keSBDIGFuZCBtYXRoIGxpYnJhcmllcyBhcmUgaW4gdGhlIFN5c3Rl
bSBmcmFtZXdvcmsKCSAgICBkZXBsaWJzKz0iIFN5c3RlbS5sdGZyYW1ld29y
ayIKCSAgICBjb250aW51ZQoJICAgIDs7CgkgICotKi1zY28zLjJ2NSogfCAq
LSotc2NvNXY2KikKCSAgICAjIENhdXNlcyBwcm9ibGVtcyB3aXRoIF9fY3R5
cGUKCSAgICB0ZXN0ICJYJGFyZyIgPSAiWC1sYyIgJiYgY29udGludWUKCSAg
ICA7OwoJICAqLSotc3lzdjQuMnV3MiogfCAqLSotc3lzdjUqIHwgKi0qLXVu
aXh3YXJlKiB8ICotKi1PcGVuVU5JWCopCgkgICAgIyBDb21waWxlciBpbnNl
cnRzIGxpYmMgaW4gdGhlIGNvcnJlY3QgcGxhY2UgZm9yIHRocmVhZHMgdG8g
d29yawoJICAgIHRlc3QgIlgkYXJnIiA9ICJYLWxjIiAmJiBjb250aW51ZQoJ
ICAgIDs7CgkgIGVzYWMKCWVsaWYgdGVzdCAiWCRhcmciID0gIlgtbGNfciI7
IHRoZW4KCSBjYXNlICRob3N0IGluCgkgKi0qLW9wZW5ic2QqIHwgKi0qLWZy
ZWVic2QqIHwgKi0qLWRyYWdvbmZseSopCgkgICAjIERvIG5vdCBpbmNsdWRl
IGxpYmNfciBkaXJlY3RseSwgdXNlIC1wdGhyZWFkIGZsYWcuCgkgICBjb250
aW51ZQoJICAgOzsKCSBlc2FjCglmaQoJZGVwbGlicys9IiAkYXJnIgoJY29u
dGludWUKCTs7CgogICAgICAtbW9kdWxlKQoJbW9kdWxlPXllcwoJY29udGlu
dWUKCTs7CgogICAgICAjIFRydTY0IFVOSVggdXNlcyAtbW9kZWwgW2FyZ10g
dG8gZGV0ZXJtaW5lIHRoZSBsYXlvdXQgb2YgQysrCiAgICAgICMgY2xhc3Nl
cywgbmFtZSBtYW5nbGluZywgYW5kIGV4Y2VwdGlvbiBoYW5kbGluZy4KICAg
ICAgIyBEYXJ3aW4gdXNlcyB0aGUgLWFyY2ggZmxhZyB0byBkZXRlcm1pbmUg
b3V0cHV0IGFyY2hpdGVjdHVyZS4KICAgICAgLW1vZGVsfC1hcmNofC1pc3lz
cm9vdHwtLXN5c3Jvb3QpCgljb21waWxlcl9mbGFncys9IiAkYXJnIgoJY29t
cGlsZV9jb21tYW5kKz0iICRhcmciCglmaW5hbGl6ZV9jb21tYW5kKz0iICRh
cmciCglwcmV2PXhjb21waWxlcgoJY29udGludWUKCTs7CgogICAgICAtbXR8
LW10aHJlYWRzfC1rdGhyZWFkfC1LdGhyZWFkfC1wdGhyZWFkfC1wdGhyZWFk
c3wtLXRocmVhZC1zYWZlfC10aHJlYWRzKQoJY29tcGlsZXJfZmxhZ3MrPSIg
JGFyZyIKCWNvbXBpbGVfY29tbWFuZCs9IiAkYXJnIgoJZmluYWxpemVfY29t
bWFuZCs9IiAkYXJnIgoJY2FzZSAiJG5ld19pbmhlcml0ZWRfbGlua2VyX2Zs
YWdzICIgaW4KCSAgICAqIiAkYXJnICIqKSA7OwoJICAgICogKSBuZXdfaW5o
ZXJpdGVkX2xpbmtlcl9mbGFncys9IiAkYXJnIiA7OwoJZXNhYwoJY29udGlu
dWUKCTs7CgogICAgICAtbXVsdGlfbW9kdWxlKQoJc2luZ2xlX21vZHVsZT0i
JHt3bH0tbXVsdGlfbW9kdWxlIgoJY29udGludWUKCTs7CgogICAgICAtbm8t
ZmFzdC1pbnN0YWxsKQoJZmFzdF9pbnN0YWxsPW5vCgljb250aW51ZQoJOzsK
CiAgICAgIC1uby1pbnN0YWxsKQoJY2FzZSAkaG9zdCBpbgoJKi0qLWN5Z3dp
biogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0qLW9zMiogfCAqLSot
ZGFyd2luKiB8ICotY2VnY2MqKQoJICAjIFRoZSBQQVRIIGhhY2tlcnkgaW4g
d3JhcHBlciBzY3JpcHRzIGlzIHJlcXVpcmVkIG9uIFdpbmRvd3MKCSAgIyBh
bmQgRGFyd2luIGluIG9yZGVyIGZvciB0aGUgbG9hZGVyIHRvIGZpbmQgYW55
IGRsbHMgaXQgbmVlZHMuCgkgIGZ1bmNfd2FybmluZyAiXGAtbm8taW5zdGFs
bCcgaXMgaWdub3JlZCBmb3IgJGhvc3QiCgkgIGZ1bmNfd2FybmluZyAiYXNz
dW1pbmcgXGAtbm8tZmFzdC1pbnN0YWxsJyBpbnN0ZWFkIgoJICBmYXN0X2lu
c3RhbGw9bm8KCSAgOzsKCSopIG5vX2luc3RhbGw9eWVzIDs7Cgllc2FjCglj
b250aW51ZQoJOzsKCiAgICAgIC1uby11bmRlZmluZWQpCglhbGxvd191bmRl
ZmluZWQ9bm8KCWNvbnRpbnVlCgk7OwoKICAgICAgLW9iamVjdGxpc3QpCglw
cmV2PW9iamVjdGxpc3QKCWNvbnRpbnVlCgk7OwoKICAgICAgLW8pIHByZXY9
b3V0cHV0IDs7CgogICAgICAtcHJlY2lvdXMtZmlsZXMtcmVnZXgpCglwcmV2
PXByZWNpb3VzX3JlZ2V4Cgljb250aW51ZQoJOzsKCiAgICAgIC1yZWxlYXNl
KQoJcHJldj1yZWxlYXNlCgljb250aW51ZQoJOzsKCiAgICAgIC1ycGF0aCkK
CXByZXY9cnBhdGgKCWNvbnRpbnVlCgk7OwoKICAgICAgLVIpCglwcmV2PXhy
cGF0aAoJY29udGludWUKCTs7CgogICAgICAtUiopCglmdW5jX3N0cmlwbmFt
ZSAnLVInICcnICIkYXJnIgoJZGlyPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQK
CSMgV2UgbmVlZCBhbiBhYnNvbHV0ZSBwYXRoLgoJY2FzZSAkZGlyIGluCglb
XFwvXSogfCBbQS1aYS16XTpbXFwvXSopIDs7Cgk9KikKCSAgZnVuY19zdHJp
cG5hbWUgJz0nICcnICIkZGlyIgoJICBkaXI9JGx0X3N5c3Jvb3QkZnVuY19z
dHJpcG5hbWVfcmVzdWx0CgkgIDs7CgkqKQoJICBmdW5jX2ZhdGFsX2Vycm9y
ICJvbmx5IGFic29sdXRlIHJ1bi1wYXRocyBhcmUgYWxsb3dlZCIKCSAgOzsK
CWVzYWMKCWNhc2UgIiR4cnBhdGggIiBpbgoJKiIgJGRpciAiKikgOzsKCSop
IHhycGF0aCs9IiAkZGlyIiA7OwoJZXNhYwoJY29udGludWUKCTs7CgogICAg
ICAtc2hhcmVkKQoJIyBUaGUgZWZmZWN0cyBvZiAtc2hhcmVkIGFyZSBkZWZp
bmVkIGluIGEgcHJldmlvdXMgbG9vcC4KCWNvbnRpbnVlCgk7OwoKICAgICAg
LXNocmV4dCkKCXByZXY9c2hyZXh0Cgljb250aW51ZQoJOzsKCiAgICAgIC1z
dGF0aWMgfCAtc3RhdGljLWxpYnRvb2wtbGlicykKCSMgVGhlIGVmZmVjdHMg
b2YgLXN0YXRpYyBhcmUgZGVmaW5lZCBpbiBhIHByZXZpb3VzIGxvb3AuCgkj
IFdlIHVzZWQgdG8gZG8gdGhlIHNhbWUgYXMgLWFsbC1zdGF0aWMgb24gcGxh
dGZvcm1zIHRoYXQKCSMgZGlkbid0IGhhdmUgYSBQSUMgZmxhZywgYnV0IHRo
ZSBhc3N1bXB0aW9uIHRoYXQgdGhlIGVmZmVjdHMKCSMgd291bGQgYmUgZXF1
aXZhbGVudCB3YXMgd3JvbmcuICBJdCB3b3VsZCBicmVhayBvbiBhdCBsZWFz
dAoJIyBEaWdpdGFsIFVuaXggYW5kIEFJWC4KCWNvbnRpbnVlCgk7OwoKICAg
ICAgLXRocmVhZC1zYWZlKQoJdGhyZWFkX3NhZmU9eWVzCgljb250aW51ZQoJ
OzsKCiAgICAgIC12ZXJzaW9uLWluZm8pCglwcmV2PXZpbmZvCgljb250aW51
ZQoJOzsKCiAgICAgIC12ZXJzaW9uLW51bWJlcikKCXByZXY9dmluZm8KCXZp
bmZvX251bWJlcj15ZXMKCWNvbnRpbnVlCgk7OwoKICAgICAgLXdlYWspCiAg
ICAgICAgcHJldj13ZWFrCgljb250aW51ZQoJOzsKCiAgICAgIC1XYywqKQoJ
ZnVuY19zdHJpcG5hbWUgJy1XYywnICcnICIkYXJnIgoJYXJncz0kZnVuY19z
dHJpcG5hbWVfcmVzdWx0Cglhcmc9CglzYXZlX2lmcz0iJElGUyI7IElGUz0n
LCcKCWZvciBmbGFnIGluICRhcmdzOyBkbwoJICBJRlM9IiRzYXZlX2lmcyIK
ICAgICAgICAgIGZ1bmNfcXVvdGVfZm9yX2V2YWwgIiRmbGFnIgoJICBhcmcr
PSIgJGZ1bmNfcXVvdGVfZm9yX2V2YWxfcmVzdWx0IgoJICBjb21waWxlcl9m
bGFncys9IiAkZnVuY19xdW90ZV9mb3JfZXZhbF9yZXN1bHQiCglkb25lCglJ
RlM9IiRzYXZlX2lmcyIKCWZ1bmNfc3RyaXBuYW1lICcgJyAnJyAiJGFyZyIK
CWFyZz0kZnVuY19zdHJpcG5hbWVfcmVzdWx0Cgk7OwoKICAgICAgLVdsLCop
CglmdW5jX3N0cmlwbmFtZSAnLVdsLCcgJycgIiRhcmciCglhcmdzPSRmdW5j
X3N0cmlwbmFtZV9yZXN1bHQKCWFyZz0KCXNhdmVfaWZzPSIkSUZTIjsgSUZT
PScsJwoJZm9yIGZsYWcgaW4gJGFyZ3M7IGRvCgkgIElGUz0iJHNhdmVfaWZz
IgogICAgICAgICAgZnVuY19xdW90ZV9mb3JfZXZhbCAiJGZsYWciCgkgIGFy
Zys9IiAkd2wkZnVuY19xdW90ZV9mb3JfZXZhbF9yZXN1bHQiCgkgIGNvbXBp
bGVyX2ZsYWdzKz0iICR3bCRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdCIK
CSAgbGlua2VyX2ZsYWdzKz0iICRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3Vs
dCIKCWRvbmUKCUlGUz0iJHNhdmVfaWZzIgoJZnVuY19zdHJpcG5hbWUgJyAn
ICcnICIkYXJnIgoJYXJnPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKCTs7Cgog
ICAgICAtWGNvbXBpbGVyKQoJcHJldj14Y29tcGlsZXIKCWNvbnRpbnVlCgk7
OwoKICAgICAgLVhsaW5rZXIpCglwcmV2PXhsaW5rZXIKCWNvbnRpbnVlCgk7
OwoKICAgICAgLVhDQ2xpbmtlcikKCXByZXY9eGNjbGlua2VyCgljb250aW51
ZQoJOzsKCiAgICAgICMgLW1zZ18qIGZvciBvc2YgY2MKICAgICAgLW1zZ18q
KQoJZnVuY19xdW90ZV9mb3JfZXZhbCAiJGFyZyIKCWFyZz0iJGZ1bmNfcXVv
dGVfZm9yX2V2YWxfcmVzdWx0IgoJOzsKCiAgICAgICMgRmxhZ3MgdG8gYmUg
cGFzc2VkIHRocm91Z2ggdW5jaGFuZ2VkLCB3aXRoIHJhdGlvbmFsZToKICAg
ICAgIyAtNjQsIC1taXBzWzAtOV0gICAgICBlbmFibGUgNjQtYml0IG1vZGUg
Zm9yIHRoZSBTR0kgY29tcGlsZXIKICAgICAgIyAtclswLTldWzAtOV0qICAg
ICAgICBzcGVjaWZ5IHByb2Nlc3NvciBmb3IgdGhlIFNHSSBjb21waWxlcgog
ICAgICAjIC14YXJjaD0qLCAteHRhcmdldD0qIGVuYWJsZSA2NC1iaXQgbW9k
ZSBmb3IgdGhlIFN1biBjb21waWxlcgogICAgICAjICtEQSosICtERCogICAg
ICAgICAgIGVuYWJsZSA2NC1iaXQgbW9kZSBmb3IgdGhlIEhQIGNvbXBpbGVy
CiAgICAgICMgLXEqICAgICAgICAgICAgICAgICAgY29tcGlsZXIgYXJncyBm
b3IgdGhlIElCTSBjb21waWxlcgogICAgICAjIC1tKiwgLXRbNDVdKiwgLXR4
c2NhbGUqIGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBmbGFncyBmb3IgR0NDCiAg
ICAgICMgLUYvcGF0aCAgICAgICAgICAgICAgcGF0aCB0byB1bmluc3RhbGxl
ZCBmcmFtZXdvcmtzLCBnY2Mgb24gZGFyd2luCiAgICAgICMgLXAsIC1wZywg
LS1jb3ZlcmFnZSwgLWZwcm9maWxlLSogIHByb2ZpbGluZyBmbGFncyBmb3Ig
R0NDCiAgICAgICMgQGZpbGUgICAgICAgICAgICAgICAgR0NDIHJlc3BvbnNl
IGZpbGVzCiAgICAgICMgLXRwPSogICAgICAgICAgICAgICAgUG9ydGxhbmQg
cGdjYyB0YXJnZXQgcHJvY2Vzc29yIHNlbGVjdGlvbgogICAgICAjIC0tc3lz
cm9vdD0qICAgICAgICAgIGZvciBzeXNyb290IHN1cHBvcnQKICAgICAgIyAt
TyosIC1mbHRvKiwgLWZ3aG9wciosIC1mdXNlLWxpbmtlci1wbHVnaW4gR0ND
IGxpbmstdGltZSBvcHRpbWl6YXRpb24KICAgICAgIyAte3NoYXJlZCxzdGF0
aWN9LWxpYmdjYywgLXN0YXRpYy17bGliZ2ZvcnRyYW58bGlic3RkYysrfQog
ICAgICAjICAgICAgICAgICAgICAgICAgICAgIGxpbmsgYWdhaW5zdCBzcGVj
aWZpZWQgcnVudGltZSBsaWJyYXJ5CiAgICAgICMgLWZzdGFjay1wcm90ZWN0
b3IqICAgc3RhY2sgcHJvdGVjdG9yIGZsYWdzIGZvciBHQ0MKICAgICAgLTY0
fC1taXBzWzAtOV18LXJbMC05XVswLTldKnwteGFyY2g9KnwteHRhcmdldD0q
fCtEQSp8K0REKnwtcSp8LW0qfCBcCiAgICAgIC10WzQ1XSp8LXR4c2NhbGUq
fC1wfC1wZ3wtLWNvdmVyYWdlfC1mcHJvZmlsZS0qfC1GKnxAKnwtdHA9Knwt
LXN5c3Jvb3Q9KnwgXAogICAgICAtTyp8LWZsdG8qfC1md2hvcHIqfC1mdXNl
LWxpbmtlci1wbHVnaW58IFwKICAgICAgLXNoYXJlZC1saWJnY2N8LXN0YXRp
Yy1saWJnY2N8LXN0YXRpYy1saWJnZm9ydHJhbnwtc3RhdGljLWxpYnN0ZGMr
K3wgXAogICAgICAtZnN0YWNrLXByb3RlY3RvciopCiAgICAgICAgZnVuY19x
dW90ZV9mb3JfZXZhbCAiJGFyZyIKCWFyZz0iJGZ1bmNfcXVvdGVfZm9yX2V2
YWxfcmVzdWx0IgogICAgICAgIGNvbXBpbGVfY29tbWFuZCs9IiAkYXJnIgog
ICAgICAgIGZpbmFsaXplX2NvbW1hbmQrPSIgJGFyZyIKICAgICAgICBjb21w
aWxlcl9mbGFncys9IiAkYXJnIgogICAgICAgIGNvbnRpbnVlCiAgICAgICAg
OzsKCiAgICAgICMgU29tZSBvdGhlciBjb21waWxlciBmbGFnLgogICAgICAt
KiB8ICsqKQogICAgICAgIGZ1bmNfcXVvdGVfZm9yX2V2YWwgIiRhcmciCglh
cmc9IiRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdCIKCTs7CgogICAgICAq
LiRvYmpleHQpCgkjIEEgc3RhbmRhcmQgb2JqZWN0LgoJb2Jqcys9IiAkYXJn
IgoJOzsKCiAgICAgICoubG8pCgkjIEEgbGlidG9vbC1jb250cm9sbGVkIG9i
amVjdC4KCgkjIENoZWNrIHRvIHNlZSB0aGF0IHRoaXMgcmVhbGx5IGlzIGEg
bGlidG9vbCBvYmplY3QuCglpZiBmdW5jX2xhbGliX3Vuc2FmZV9wICIkYXJn
IjsgdGhlbgoJICBwaWNfb2JqZWN0PQoJICBub25fcGljX29iamVjdD0KCgkg
ICMgUmVhZCB0aGUgLmxvIGZpbGUKCSAgZnVuY19zb3VyY2UgIiRhcmciCgoJ
ICBpZiB0ZXN0IC16ICIkcGljX29iamVjdCIgfHwKCSAgICAgdGVzdCAteiAi
JG5vbl9waWNfb2JqZWN0IiB8fAoJICAgICB0ZXN0ICIkcGljX29iamVjdCIg
PSBub25lICYmCgkgICAgIHRlc3QgIiRub25fcGljX29iamVjdCIgPSBub25l
OyB0aGVuCgkgICAgZnVuY19mYXRhbF9lcnJvciAiY2Fubm90IGZpbmQgbmFt
ZSBvZiBvYmplY3QgZm9yIFxgJGFyZyciCgkgIGZpCgoJICAjIEV4dHJhY3Qg
c3ViZGlyZWN0b3J5IGZyb20gdGhlIGFyZ3VtZW50LgoJICBmdW5jX2Rpcm5h
bWUgIiRhcmciICIvIiAiIgoJICB4ZGlyPSIkZnVuY19kaXJuYW1lX3Jlc3Vs
dCIKCgkgIGlmIHRlc3QgIiRwaWNfb2JqZWN0IiAhPSBub25lOyB0aGVuCgkg
ICAgIyBQcmVwZW5kIHRoZSBzdWJkaXJlY3RvcnkgdGhlIG9iamVjdCBpcyBm
b3VuZCBpbi4KCSAgICBwaWNfb2JqZWN0PSIkeGRpciRwaWNfb2JqZWN0IgoK
CSAgICBpZiB0ZXN0ICIkcHJldiIgPSBkbGZpbGVzOyB0aGVuCgkgICAgICBp
ZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IHllcyAmJiB0ZXN0ICIk
ZGxvcGVuX3N1cHBvcnQiID0geWVzOyB0aGVuCgkJZGxmaWxlcys9IiAkcGlj
X29iamVjdCIKCQlwcmV2PQoJCWNvbnRpbnVlCgkgICAgICBlbHNlCgkJIyBJ
ZiBsaWJ0b29sIG9iamVjdHMgYXJlIHVuc3VwcG9ydGVkLCB0aGVuIHdlIG5l
ZWQgdG8gcHJlbG9hZC4KCQlwcmV2PWRscHJlZmlsZXMKCSAgICAgIGZpCgkg
ICAgZmkKCgkgICAgIyBDSEVDSyBNRTogIEkgdGhpbmsgSSBidXN0ZWQgdGhp
cy4gIC1Pc3NhbWEKCSAgICBpZiB0ZXN0ICIkcHJldiIgPSBkbHByZWZpbGVz
OyB0aGVuCgkgICAgICAjIFByZWxvYWQgdGhlIG9sZC1zdHlsZSBvYmplY3Qu
CgkgICAgICBkbHByZWZpbGVzKz0iICRwaWNfb2JqZWN0IgoJICAgICAgcHJl
dj0KCSAgICBmaQoKCSAgICAjIEEgUElDIG9iamVjdC4KCSAgICBsaWJvYmpz
Kz0iICRwaWNfb2JqZWN0IgoJICAgIGFyZz0iJHBpY19vYmplY3QiCgkgIGZp
CgoJICAjIE5vbi1QSUMgb2JqZWN0LgoJICBpZiB0ZXN0ICIkbm9uX3BpY19v
YmplY3QiICE9IG5vbmU7IHRoZW4KCSAgICAjIFByZXBlbmQgdGhlIHN1YmRp
cmVjdG9yeSB0aGUgb2JqZWN0IGlzIGZvdW5kIGluLgoJICAgIG5vbl9waWNf
b2JqZWN0PSIkeGRpciRub25fcGljX29iamVjdCIKCgkgICAgIyBBIHN0YW5k
YXJkIG5vbi1QSUMgb2JqZWN0CgkgICAgbm9uX3BpY19vYmplY3RzKz0iICRu
b25fcGljX29iamVjdCIKCSAgICBpZiB0ZXN0IC16ICIkcGljX29iamVjdCIg
fHwgdGVzdCAiJHBpY19vYmplY3QiID0gbm9uZSA7IHRoZW4KCSAgICAgIGFy
Zz0iJG5vbl9waWNfb2JqZWN0IgoJICAgIGZpCgkgIGVsc2UKCSAgICAjIElm
IHRoZSBQSUMgb2JqZWN0IGV4aXN0cywgdXNlIGl0IGluc3RlYWQuCgkgICAg
IyAkeGRpciB3YXMgcHJlcGVuZGVkIHRvICRwaWNfb2JqZWN0IGFib3ZlLgoJ
ICAgIG5vbl9waWNfb2JqZWN0PSIkcGljX29iamVjdCIKCSAgICBub25fcGlj
X29iamVjdHMrPSIgJG5vbl9waWNfb2JqZWN0IgoJICBmaQoJZWxzZQoJICAj
IE9ubHkgYW4gZXJyb3IgaWYgbm90IGRvaW5nIGEgZHJ5LXJ1bi4KCSAgaWYg
JG9wdF9kcnlfcnVuOyB0aGVuCgkgICAgIyBFeHRyYWN0IHN1YmRpcmVjdG9y
eSBmcm9tIHRoZSBhcmd1bWVudC4KCSAgICBmdW5jX2Rpcm5hbWUgIiRhcmci
ICIvIiAiIgoJICAgIHhkaXI9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgoKCSAg
ICBmdW5jX2xvMm8gIiRhcmciCgkgICAgcGljX29iamVjdD0keGRpciRvYmpk
aXIvJGZ1bmNfbG8yb19yZXN1bHQKCSAgICBub25fcGljX29iamVjdD0keGRp
ciRmdW5jX2xvMm9fcmVzdWx0CgkgICAgbGlib2Jqcys9IiAkcGljX29iamVj
dCIKCSAgICBub25fcGljX29iamVjdHMrPSIgJG5vbl9waWNfb2JqZWN0IgoJ
ICBlbHNlCgkgICAgZnVuY19mYXRhbF9lcnJvciAiXGAkYXJnJyBpcyBub3Qg
YSB2YWxpZCBsaWJ0b29sIG9iamVjdCIKCSAgZmkKCWZpCgk7OwoKICAgICAg
Ki4kbGliZXh0KQoJIyBBbiBhcmNoaXZlLgoJZGVwbGlicys9IiAkYXJnIgoJ
b2xkX2RlcGxpYnMrPSIgJGFyZyIKCWNvbnRpbnVlCgk7OwoKICAgICAgKi5s
YSkKCSMgQSBsaWJ0b29sLWNvbnRyb2xsZWQgbGlicmFyeS4KCglmdW5jX3Jl
c29sdmVfc3lzcm9vdCAiJGFyZyIKCWlmIHRlc3QgIiRwcmV2IiA9IGRsZmls
ZXM7IHRoZW4KCSAgIyBUaGlzIGxpYnJhcnkgd2FzIHNwZWNpZmllZCB3aXRo
IC1kbG9wZW4uCgkgIGRsZmlsZXMrPSIgJGZ1bmNfcmVzb2x2ZV9zeXNyb290
X3Jlc3VsdCIKCSAgcHJldj0KCWVsaWYgdGVzdCAiJHByZXYiID0gZGxwcmVm
aWxlczsgdGhlbgoJICAjIFRoZSBsaWJyYXJ5IHdhcyBzcGVjaWZpZWQgd2l0
aCAtZGxwcmVvcGVuLgoJICBkbHByZWZpbGVzKz0iICRmdW5jX3Jlc29sdmVf
c3lzcm9vdF9yZXN1bHQiCgkgIHByZXY9CgllbHNlCgkgIGRlcGxpYnMrPSIg
JGZ1bmNfcmVzb2x2ZV9zeXNyb290X3Jlc3VsdCIKCWZpCgljb250aW51ZQoJ
OzsKCiAgICAgICMgU29tZSBvdGhlciBjb21waWxlciBhcmd1bWVudC4KICAg
ICAgKikKCSMgVW5rbm93biBhcmd1bWVudHMgaW4gYm90aCBmaW5hbGl6ZV9j
b21tYW5kIGFuZCBjb21waWxlX2NvbW1hbmQgbmVlZAoJIyB0byBiZSBhZXN0
aGV0aWNhbGx5IHF1b3RlZCBiZWNhdXNlIHRoZXkgYXJlIGV2YWxlZCBsYXRl
ci4KCWZ1bmNfcXVvdGVfZm9yX2V2YWwgIiRhcmciCglhcmc9IiRmdW5jX3F1
b3RlX2Zvcl9ldmFsX3Jlc3VsdCIKCTs7CiAgICAgIGVzYWMgIyBhcmcKCiAg
ICAgICMgTm93IGFjdHVhbGx5IHN1YnN0aXR1dGUgdGhlIGFyZ3VtZW50IGlu
dG8gdGhlIGNvbW1hbmRzLgogICAgICBpZiB0ZXN0IC1uICIkYXJnIjsgdGhl
bgoJY29tcGlsZV9jb21tYW5kKz0iICRhcmciCglmaW5hbGl6ZV9jb21tYW5k
Kz0iICRhcmciCiAgICAgIGZpCiAgICBkb25lICMgYXJndW1lbnQgcGFyc2lu
ZyBsb29wCgogICAgdGVzdCAtbiAiJHByZXYiICYmIFwKICAgICAgZnVuY19m
YXRhbF9oZWxwICJ0aGUgXGAkcHJldmFyZycgb3B0aW9uIHJlcXVpcmVzIGFu
IGFyZ3VtZW50IgoKICAgIGlmIHRlc3QgIiRleHBvcnRfZHluYW1pYyIgPSB5
ZXMgJiYgdGVzdCAtbiAiJGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYyI7IHRo
ZW4KICAgICAgZXZhbCBhcmc9XCIkZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVj
XCIKICAgICAgY29tcGlsZV9jb21tYW5kKz0iICRhcmciCiAgICAgIGZpbmFs
aXplX2NvbW1hbmQrPSIgJGFyZyIKICAgIGZpCgogICAgb2xkbGlicz0KICAg
ICMgY2FsY3VsYXRlIHRoZSBuYW1lIG9mIHRoZSBmaWxlLCB3aXRob3V0IGl0
cyBkaXJlY3RvcnkKICAgIGZ1bmNfYmFzZW5hbWUgIiRvdXRwdXQiCiAgICBv
dXRwdXRuYW1lPSIkZnVuY19iYXNlbmFtZV9yZXN1bHQiCiAgICBsaWJvYmpz
X3NhdmU9IiRsaWJvYmpzIgoKICAgIGlmIHRlc3QgLW4gIiRzaGxpYnBhdGhf
dmFyIjsgdGhlbgogICAgICAjIGdldCB0aGUgZGlyZWN0b3JpZXMgbGlzdGVk
IGluICRzaGxpYnBhdGhfdmFyCiAgICAgIGV2YWwgc2hsaWJfc2VhcmNoX3Bh
dGg9XGBcJEVDSE8gXCJcJHskc2hsaWJwYXRoX3Zhcn1cIiBcfCBcJFNFRCBc
J3MvOi8gL2dcJ1xgCiAgICBlbHNlCiAgICAgIHNobGliX3NlYXJjaF9wYXRo
PQogICAgZmkKICAgIGV2YWwgc3lzX2xpYl9zZWFyY2hfcGF0aD1cIiRzeXNf
bGliX3NlYXJjaF9wYXRoX3NwZWNcIgogICAgZXZhbCBzeXNfbGliX2Rsc2Vh
cmNoX3BhdGg9XCIkc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWNcIgoKICAg
IGZ1bmNfZGlybmFtZSAiJG91dHB1dCIgIi8iICIiCiAgICBvdXRwdXRfb2Jq
ZGlyPSIkZnVuY19kaXJuYW1lX3Jlc3VsdCRvYmpkaXIiCiAgICBmdW5jX3Rv
X3Rvb2xfZmlsZSAiJG91dHB1dF9vYmpkaXIvIgogICAgdG9vbF9vdXRwdXRf
b2JqZGlyPSRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQKICAgICMgQ3JlYXRl
IHRoZSBvYmplY3QgZGlyZWN0b3J5LgogICAgZnVuY19ta2Rpcl9wICIkb3V0
cHV0X29iamRpciIKCiAgICAjIERldGVybWluZSB0aGUgdHlwZSBvZiBvdXRw
dXQKICAgIGNhc2UgJG91dHB1dCBpbgogICAgIiIpCiAgICAgIGZ1bmNfZmF0
YWxfaGVscCAieW91IG11c3Qgc3BlY2lmeSBhbiBvdXRwdXQgZmlsZSIKICAg
ICAgOzsKICAgICouJGxpYmV4dCkgbGlua21vZGU9b2xkbGliIDs7CiAgICAq
LmxvIHwgKi4kb2JqZXh0KSBsaW5rbW9kZT1vYmogOzsKICAgICoubGEpIGxp
bmttb2RlPWxpYiA7OwogICAgKikgbGlua21vZGU9cHJvZyA7OyAjIEFueXRo
aW5nIGVsc2Ugc2hvdWxkIGJlIGEgcHJvZ3JhbS4KICAgIGVzYWMKCiAgICBz
cGVjaWFsZGVwbGlicz0KCiAgICBsaWJzPQogICAgIyBGaW5kIGFsbCBpbnRl
cmRlcGVuZGVudCBkZXBsaWJzIGJ5IHNlYXJjaGluZyBmb3IgbGlicmFyaWVz
CiAgICAjIHRoYXQgYXJlIGxpbmtlZCBtb3JlIHRoYW4gb25jZSAoZS5nLiAt
bGEgLWxiIC1sYSkKICAgIGZvciBkZXBsaWIgaW4gJGRlcGxpYnM7IGRvCiAg
ICAgIGlmICRvcHRfcHJlc2VydmVfZHVwX2RlcHMgOyB0aGVuCgljYXNlICIk
bGlicyAiIGluCgkqIiAkZGVwbGliICIqKSBzcGVjaWFsZGVwbGlicys9IiAk
ZGVwbGliIiA7OwoJZXNhYwogICAgICBmaQogICAgICBsaWJzKz0iICRkZXBs
aWIiCiAgICBkb25lCgogICAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IGxpYjsg
dGhlbgogICAgICBsaWJzPSIkcHJlZGVwcyAkbGlicyAkY29tcGlsZXJfbGli
X3NlYXJjaF9wYXRoICRwb3N0ZGVwcyIKCiAgICAgICMgQ29tcHV0ZSBsaWJy
YXJpZXMgdGhhdCBhcmUgbGlzdGVkIG1vcmUgdGhhbiBvbmNlIGluICRwcmVk
ZXBzCiAgICAgICMgJHBvc3RkZXBzIGFuZCBtYXJrIHRoZW0gYXMgc3BlY2lh
bCAoaS5lLiwgd2hvc2UgZHVwbGljYXRlcyBhcmUKICAgICAgIyBub3QgdG8g
YmUgZWxpbWluYXRlZCkuCiAgICAgIHByZV9wb3N0X2RlcHM9CiAgICAgIGlm
ICRvcHRfZHVwbGljYXRlX2NvbXBpbGVyX2dlbmVyYXRlZF9kZXBzOyB0aGVu
Cglmb3IgcHJlX3Bvc3RfZGVwIGluICRwcmVkZXBzICRwb3N0ZGVwczsgZG8K
CSAgY2FzZSAiJHByZV9wb3N0X2RlcHMgIiBpbgoJICAqIiAkcHJlX3Bvc3Rf
ZGVwICIqKSBzcGVjaWFsZGVwbGlicys9IiAkcHJlX3Bvc3RfZGVwcyIgOzsK
CSAgZXNhYwoJICBwcmVfcG9zdF9kZXBzKz0iICRwcmVfcG9zdF9kZXAiCglk
b25lCiAgICAgIGZpCiAgICAgIHByZV9wb3N0X2RlcHM9CiAgICBmaQoKICAg
IGRlcGxpYnM9CiAgICBuZXdkZXBlbmRlbmN5X2xpYnM9CiAgICBuZXdsaWJf
c2VhcmNoX3BhdGg9CiAgICBuZWVkX3JlbGluaz1ubyAjIHdoZXRoZXIgd2Un
cmUgbGlua2luZyBhbnkgdW5pbnN0YWxsZWQgbGlidG9vbCBsaWJyYXJpZXMK
ICAgIG5vdGluc3RfZGVwbGlicz0gIyBub3QtaW5zdGFsbGVkIGxpYnRvb2wg
bGlicmFyaWVzCiAgICBub3RpbnN0X3BhdGg9ICMgcGF0aHMgdGhhdCBjb250
YWluIG5vdC1pbnN0YWxsZWQgbGlidG9vbCBsaWJyYXJpZXMKCiAgICBjYXNl
ICRsaW5rbW9kZSBpbgogICAgbGliKQoJcGFzc2VzPSJjb252IGRscHJlb3Bl
biBsaW5rIgoJZm9yIGZpbGUgaW4gJGRsZmlsZXMgJGRscHJlZmlsZXM7IGRv
CgkgIGNhc2UgJGZpbGUgaW4KCSAgKi5sYSkgOzsKCSAgKikKCSAgICBmdW5j
X2ZhdGFsX2hlbHAgImxpYnJhcmllcyBjYW4gXGAtZGxvcGVuJyBvbmx5IGxp
YnRvb2wgbGlicmFyaWVzOiAkZmlsZSIKCSAgICA7OwoJICBlc2FjCglkb25l
Cgk7OwogICAgcHJvZykKCWNvbXBpbGVfZGVwbGlicz0KCWZpbmFsaXplX2Rl
cGxpYnM9CglhbGxkZXBsaWJzPW5vCgluZXdkbGZpbGVzPQoJbmV3ZGxwcmVm
aWxlcz0KCXBhc3Nlcz0iY29udiBzY2FuIGRsb3BlbiBkbHByZW9wZW4gbGlu
ayIKCTs7CiAgICAqKSAgcGFzc2VzPSJjb252IgoJOzsKICAgIGVzYWMKCiAg
ICBmb3IgcGFzcyBpbiAkcGFzc2VzOyBkbwogICAgICAjIFRoZSBwcmVvcGVu
IHBhc3MgaW4gbGliIG1vZGUgcmV2ZXJzZXMgJGRlcGxpYnM7IHB1dCBpdCBi
YWNrIGhlcmUKICAgICAgIyBzbyB0aGF0IC1MIGNvbWVzIGJlZm9yZSBsaWJz
IHRoYXQgbmVlZCBpdCBmb3IgaW5zdGFuY2UuLi4KICAgICAgaWYgdGVzdCAi
JGxpbmttb2RlLCRwYXNzIiA9ICJsaWIsbGluayI7IHRoZW4KCSMjIEZJWE1F
OiBGaW5kIHRoZSBwbGFjZSB3aGVyZSB0aGUgbGlzdCBpcyByZWJ1aWx0IGlu
IHRoZSB3cm9uZwoJIyMgICAgICAgIG9yZGVyLCBhbmQgZml4IGl0IHRoZXJl
IHByb3Blcmx5CiAgICAgICAgdG1wX2RlcGxpYnM9Cglmb3IgZGVwbGliIGlu
ICRkZXBsaWJzOyBkbwoJICB0bXBfZGVwbGlicz0iJGRlcGxpYiAkdG1wX2Rl
cGxpYnMiCglkb25lCglkZXBsaWJzPSIkdG1wX2RlcGxpYnMiCiAgICAgIGZp
CgogICAgICBpZiB0ZXN0ICIkbGlua21vZGUsJHBhc3MiID0gImxpYixsaW5r
IiB8fAoJIHRlc3QgIiRsaW5rbW9kZSwkcGFzcyIgPSAicHJvZyxzY2FuIjsg
dGhlbgoJbGlicz0iJGRlcGxpYnMiCglkZXBsaWJzPQogICAgICBmaQogICAg
ICBpZiB0ZXN0ICIkbGlua21vZGUiID0gcHJvZzsgdGhlbgoJY2FzZSAkcGFz
cyBpbgoJZGxvcGVuKSBsaWJzPSIkZGxmaWxlcyIgOzsKCWRscHJlb3Blbikg
bGlicz0iJGRscHJlZmlsZXMiIDs7CglsaW5rKSBsaWJzPSIkZGVwbGlicyAl
REVQTElCUyUgJGRlcGVuZGVuY3lfbGlicyIgOzsKCWVzYWMKICAgICAgZmkK
ICAgICAgaWYgdGVzdCAiJGxpbmttb2RlLCRwYXNzIiA9ICJsaWIsZGxwcmVv
cGVuIjsgdGhlbgoJIyBDb2xsZWN0IGFuZCBmb3J3YXJkIGRlcGxpYnMgb2Yg
cHJlb3BlbmVkIGxpYnRvb2wgbGlicwoJZm9yIGxpYiBpbiAkZGxwcmVmaWxl
czsgZG8KCSAgIyBJZ25vcmUgbm9uLWxpYnRvb2wtbGlicwoJICBkZXBlbmRl
bmN5X2xpYnM9CgkgIGZ1bmNfcmVzb2x2ZV9zeXNyb290ICIkbGliIgoJICBj
YXNlICRsaWIgaW4KCSAgKi5sYSkJZnVuY19zb3VyY2UgIiRmdW5jX3Jlc29s
dmVfc3lzcm9vdF9yZXN1bHQiIDs7CgkgIGVzYWMKCgkgICMgQ29sbGVjdCBw
cmVvcGVuZWQgbGlidG9vbCBkZXBsaWJzLCBleGNlcHQgYW55IHRoaXMgbGli
cmFyeQoJICAjIGhhcyBkZWNsYXJlZCBhcyB3ZWFrIGxpYnMKCSAgZm9yIGRl
cGxpYiBpbiAkZGVwZW5kZW5jeV9saWJzOyBkbwoJICAgIGZ1bmNfYmFzZW5h
bWUgIiRkZXBsaWIiCiAgICAgICAgICAgIGRlcGxpYl9iYXNlPSRmdW5jX2Jh
c2VuYW1lX3Jlc3VsdAoJICAgIGNhc2UgIiAkd2Vha19saWJzICIgaW4KCSAg
ICAqIiAkZGVwbGliX2Jhc2UgIiopIDs7CgkgICAgKikgZGVwbGlicys9IiAk
ZGVwbGliIiA7OwoJICAgIGVzYWMKCSAgZG9uZQoJZG9uZQoJbGlicz0iJGRs
cHJlZmlsZXMiCiAgICAgIGZpCiAgICAgIGlmIHRlc3QgIiRwYXNzIiA9IGRs
b3BlbjsgdGhlbgoJIyBDb2xsZWN0IGRscHJlb3BlbmVkIGxpYnJhcmllcwoJ
c2F2ZV9kZXBsaWJzPSIkZGVwbGlicyIKCWRlcGxpYnM9CiAgICAgIGZpCgog
ICAgICBmb3IgZGVwbGliIGluICRsaWJzOyBkbwoJbGliPQoJZm91bmQ9bm8K
CWNhc2UgJGRlcGxpYiBpbgoJLW10fC1tdGhyZWFkc3wta3RocmVhZHwtS3Ro
cmVhZHwtcHRocmVhZHwtcHRocmVhZHN8LS10aHJlYWQtc2FmZXwtdGhyZWFk
cykKCSAgaWYgdGVzdCAiJGxpbmttb2RlLCRwYXNzIiA9ICJwcm9nLGxpbmsi
OyB0aGVuCgkgICAgY29tcGlsZV9kZXBsaWJzPSIkZGVwbGliICRjb21waWxl
X2RlcGxpYnMiCgkgICAgZmluYWxpemVfZGVwbGlicz0iJGRlcGxpYiAkZmlu
YWxpemVfZGVwbGlicyIKCSAgZWxzZQoJICAgIGNvbXBpbGVyX2ZsYWdzKz0i
ICRkZXBsaWIiCgkgICAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IGxpYiA7IHRo
ZW4KCQljYXNlICIkbmV3X2luaGVyaXRlZF9saW5rZXJfZmxhZ3MgIiBpbgoJ
CSAgICAqIiAkZGVwbGliICIqKSA7OwoJCSAgICAqICkgbmV3X2luaGVyaXRl
ZF9saW5rZXJfZmxhZ3MrPSIgJGRlcGxpYiIgOzsKCQllc2FjCgkgICAgZmkK
CSAgZmkKCSAgY29udGludWUKCSAgOzsKCS1sKikKCSAgaWYgdGVzdCAiJGxp
bmttb2RlIiAhPSBsaWIgJiYgdGVzdCAiJGxpbmttb2RlIiAhPSBwcm9nOyB0
aGVuCgkgICAgZnVuY193YXJuaW5nICJcYC1sJyBpcyBpZ25vcmVkIGZvciBh
cmNoaXZlcy9vYmplY3RzIgoJICAgIGNvbnRpbnVlCgkgIGZpCgkgIGZ1bmNf
c3RyaXBuYW1lICctbCcgJycgIiRkZXBsaWIiCgkgIG5hbWU9JGZ1bmNfc3Ry
aXBuYW1lX3Jlc3VsdAoJICBpZiB0ZXN0ICIkbGlua21vZGUiID0gbGliOyB0
aGVuCgkgICAgc2VhcmNoZGlycz0iJG5ld2xpYl9zZWFyY2hfcGF0aCAkbGli
X3NlYXJjaF9wYXRoICRjb21waWxlcl9saWJfc2VhcmNoX2RpcnMgJHN5c19s
aWJfc2VhcmNoX3BhdGggJHNobGliX3NlYXJjaF9wYXRoIgoJICBlbHNlCgkg
ICAgc2VhcmNoZGlycz0iJG5ld2xpYl9zZWFyY2hfcGF0aCAkbGliX3NlYXJj
aF9wYXRoICRzeXNfbGliX3NlYXJjaF9wYXRoICRzaGxpYl9zZWFyY2hfcGF0
aCIKCSAgZmkKCSAgZm9yIHNlYXJjaGRpciBpbiAkc2VhcmNoZGlyczsgZG8K
CSAgICBmb3Igc2VhcmNoX2V4dCBpbiAubGEgJHN0ZF9zaHJleHQgLnNvIC5h
OyBkbwoJICAgICAgIyBTZWFyY2ggdGhlIGxpYnRvb2wgbGlicmFyeQoJICAg
ICAgbGliPSIkc2VhcmNoZGlyL2xpYiR7bmFtZX0ke3NlYXJjaF9leHR9IgoJ
ICAgICAgaWYgdGVzdCAtZiAiJGxpYiI7IHRoZW4KCQlpZiB0ZXN0ICIkc2Vh
cmNoX2V4dCIgPSAiLmxhIjsgdGhlbgoJCSAgZm91bmQ9eWVzCgkJZWxzZQoJ
CSAgZm91bmQ9bm8KCQlmaQoJCWJyZWFrIDIKCSAgICAgIGZpCgkgICAgZG9u
ZQoJICBkb25lCgkgIGlmIHRlc3QgIiRmb3VuZCIgIT0geWVzOyB0aGVuCgkg
ICAgIyBkZXBsaWIgZG9lc24ndCBzZWVtIHRvIGJlIGEgbGlidG9vbCBsaWJy
YXJ5CgkgICAgaWYgdGVzdCAiJGxpbmttb2RlLCRwYXNzIiA9ICJwcm9nLGxp
bmsiOyB0aGVuCgkgICAgICBjb21waWxlX2RlcGxpYnM9IiRkZXBsaWIgJGNv
bXBpbGVfZGVwbGlicyIKCSAgICAgIGZpbmFsaXplX2RlcGxpYnM9IiRkZXBs
aWIgJGZpbmFsaXplX2RlcGxpYnMiCgkgICAgZWxzZQoJICAgICAgZGVwbGli
cz0iJGRlcGxpYiAkZGVwbGlicyIKCSAgICAgIHRlc3QgIiRsaW5rbW9kZSIg
PSBsaWIgJiYgbmV3ZGVwZW5kZW5jeV9saWJzPSIkZGVwbGliICRuZXdkZXBl
bmRlbmN5X2xpYnMiCgkgICAgZmkKCSAgICBjb250aW51ZQoJICBlbHNlICMg
ZGVwbGliIGlzIGEgbGlidG9vbCBsaWJyYXJ5CgkgICAgIyBJZiAkYWxsb3df
bGlidG9vbF9saWJzX3dpdGhfc3RhdGljX3J1bnRpbWVzICYmICRkZXBsaWIg
aXMgYSBzdGRsaWIsCgkgICAgIyBXZSBuZWVkIHRvIGRvIHNvbWUgc3BlY2lh
bCB0aGluZ3MgaGVyZSwgYW5kIG5vdCBsYXRlci4KCSAgICBpZiB0ZXN0ICJY
JGFsbG93X2xpYnRvb2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcyIgPSAi
WHllcyIgOyB0aGVuCgkgICAgICBjYXNlICIgJHByZWRlcHMgJHBvc3RkZXBz
ICIgaW4KCSAgICAgICoiICRkZXBsaWIgIiopCgkJaWYgZnVuY19sYWxpYl9w
ICIkbGliIjsgdGhlbgoJCSAgbGlicmFyeV9uYW1lcz0KCQkgIG9sZF9saWJy
YXJ5PQoJCSAgZnVuY19zb3VyY2UgIiRsaWIiCgkJICBmb3IgbCBpbiAkb2xk
X2xpYnJhcnkgJGxpYnJhcnlfbmFtZXM7IGRvCgkJICAgIGxsPSIkbCIKCQkg
IGRvbmUKCQkgIGlmIHRlc3QgIlgkbGwiID0gIlgkb2xkX2xpYnJhcnkiIDsg
dGhlbiAjIG9ubHkgc3RhdGljIHZlcnNpb24gYXZhaWxhYmxlCgkJICAgIGZv
dW5kPW5vCgkJICAgIGZ1bmNfZGlybmFtZSAiJGxpYiIgIiIgIi4iCgkJICAg
IGxhZGlyPSIkZnVuY19kaXJuYW1lX3Jlc3VsdCIKCQkgICAgbGliPSRsYWRp
ci8kb2xkX2xpYnJhcnkKCQkgICAgaWYgdGVzdCAiJGxpbmttb2RlLCRwYXNz
IiA9ICJwcm9nLGxpbmsiOyB0aGVuCgkJICAgICAgY29tcGlsZV9kZXBsaWJz
PSIkZGVwbGliICRjb21waWxlX2RlcGxpYnMiCgkJICAgICAgZmluYWxpemVf
ZGVwbGlicz0iJGRlcGxpYiAkZmluYWxpemVfZGVwbGlicyIKCQkgICAgZWxz
ZQoJCSAgICAgIGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMiCgkJICAgICAg
dGVzdCAiJGxpbmttb2RlIiA9IGxpYiAmJiBuZXdkZXBlbmRlbmN5X2xpYnM9
IiRkZXBsaWIgJG5ld2RlcGVuZGVuY3lfbGlicyIKCQkgICAgZmkKCQkgICAg
Y29udGludWUKCQkgIGZpCgkJZmkKCQk7OwoJICAgICAgKikgOzsKCSAgICAg
IGVzYWMKCSAgICBmaQoJICBmaQoJICA7OyAjIC1sCgkqLmx0ZnJhbWV3b3Jr
KQoJICBpZiB0ZXN0ICIkbGlua21vZGUsJHBhc3MiID0gInByb2csbGluayI7
IHRoZW4KCSAgICBjb21waWxlX2RlcGxpYnM9IiRkZXBsaWIgJGNvbXBpbGVf
ZGVwbGlicyIKCSAgICBmaW5hbGl6ZV9kZXBsaWJzPSIkZGVwbGliICRmaW5h
bGl6ZV9kZXBsaWJzIgoJICBlbHNlCgkgICAgZGVwbGlicz0iJGRlcGxpYiAk
ZGVwbGlicyIKCSAgICBpZiB0ZXN0ICIkbGlua21vZGUiID0gbGliIDsgdGhl
bgoJCWNhc2UgIiRuZXdfaW5oZXJpdGVkX2xpbmtlcl9mbGFncyAiIGluCgkJ
ICAgICoiICRkZXBsaWIgIiopIDs7CgkJICAgICogKSBuZXdfaW5oZXJpdGVk
X2xpbmtlcl9mbGFncys9IiAkZGVwbGliIiA7OwoJCWVzYWMKCSAgICBmaQoJ
ICBmaQoJICBjb250aW51ZQoJICA7OwoJLUwqKQoJICBjYXNlICRsaW5rbW9k
ZSBpbgoJICBsaWIpCgkgICAgZGVwbGlicz0iJGRlcGxpYiAkZGVwbGlicyIK
CSAgICB0ZXN0ICIkcGFzcyIgPSBjb252ICYmIGNvbnRpbnVlCgkgICAgbmV3
ZGVwZW5kZW5jeV9saWJzPSIkZGVwbGliICRuZXdkZXBlbmRlbmN5X2xpYnMi
CgkgICAgZnVuY19zdHJpcG5hbWUgJy1MJyAnJyAiJGRlcGxpYiIKCSAgICBm
dW5jX3Jlc29sdmVfc3lzcm9vdCAiJGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdCIK
CSAgICBuZXdsaWJfc2VhcmNoX3BhdGgrPSIgJGZ1bmNfcmVzb2x2ZV9zeXNy
b290X3Jlc3VsdCIKCSAgICA7OwoJICBwcm9nKQoJICAgIGlmIHRlc3QgIiRw
YXNzIiA9IGNvbnY7IHRoZW4KCSAgICAgIGRlcGxpYnM9IiRkZXBsaWIgJGRl
cGxpYnMiCgkgICAgICBjb250aW51ZQoJICAgIGZpCgkgICAgaWYgdGVzdCAi
JHBhc3MiID0gc2NhbjsgdGhlbgoJICAgICAgZGVwbGlicz0iJGRlcGxpYiAk
ZGVwbGlicyIKCSAgICBlbHNlCgkgICAgICBjb21waWxlX2RlcGxpYnM9IiRk
ZXBsaWIgJGNvbXBpbGVfZGVwbGlicyIKCSAgICAgIGZpbmFsaXplX2RlcGxp
YnM9IiRkZXBsaWIgJGZpbmFsaXplX2RlcGxpYnMiCgkgICAgZmkKCSAgICBm
dW5jX3N0cmlwbmFtZSAnLUwnICcnICIkZGVwbGliIgoJICAgIGZ1bmNfcmVz
b2x2ZV9zeXNyb290ICIkZnVuY19zdHJpcG5hbWVfcmVzdWx0IgoJICAgIG5l
d2xpYl9zZWFyY2hfcGF0aCs9IiAkZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVz
dWx0IgoJICAgIDs7CgkgICopCgkgICAgZnVuY193YXJuaW5nICJcYC1MJyBp
cyBpZ25vcmVkIGZvciBhcmNoaXZlcy9vYmplY3RzIgoJICAgIDs7CgkgIGVz
YWMgIyBsaW5rbW9kZQoJICBjb250aW51ZQoJICA7OyAjIC1MCgktUiopCgkg
IGlmIHRlc3QgIiRwYXNzIiA9IGxpbms7IHRoZW4KCSAgICBmdW5jX3N0cmlw
bmFtZSAnLVInICcnICIkZGVwbGliIgoJICAgIGZ1bmNfcmVzb2x2ZV9zeXNy
b290ICIkZnVuY19zdHJpcG5hbWVfcmVzdWx0IgoJICAgIGRpcj0kZnVuY19y
ZXNvbHZlX3N5c3Jvb3RfcmVzdWx0CgkgICAgIyBNYWtlIHN1cmUgdGhlIHhy
cGF0aCBjb250YWlucyBvbmx5IHVuaXF1ZSBkaXJlY3Rvcmllcy4KCSAgICBj
YXNlICIkeHJwYXRoICIgaW4KCSAgICAqIiAkZGlyICIqKSA7OwoJICAgICop
IHhycGF0aCs9IiAkZGlyIiA7OwoJICAgIGVzYWMKCSAgZmkKCSAgZGVwbGli
cz0iJGRlcGxpYiAkZGVwbGlicyIKCSAgY29udGludWUKCSAgOzsKCSoubGEp
CgkgIGZ1bmNfcmVzb2x2ZV9zeXNyb290ICIkZGVwbGliIgoJICBsaWI9JGZ1
bmNfcmVzb2x2ZV9zeXNyb290X3Jlc3VsdAoJICA7OwoJKi4kbGliZXh0KQoJ
ICBpZiB0ZXN0ICIkcGFzcyIgPSBjb252OyB0aGVuCgkgICAgZGVwbGlicz0i
JGRlcGxpYiAkZGVwbGlicyIKCSAgICBjb250aW51ZQoJICBmaQoJICBjYXNl
ICRsaW5rbW9kZSBpbgoJICBsaWIpCgkgICAgIyBMaW5raW5nIGNvbnZlbmll
bmNlIG1vZHVsZXMgaW50byBzaGFyZWQgbGlicmFyaWVzIGlzIGFsbG93ZWQs
CgkgICAgIyBidXQgbGlua2luZyBvdGhlciBzdGF0aWMgbGlicmFyaWVzIGlz
IG5vbi1wb3J0YWJsZS4KCSAgICBjYXNlICIgJGRscHJlY29udmVuaWVuY2Vs
aWJzICIgaW4KCSAgICAqIiAkZGVwbGliICIqKSA7OwoJICAgICopCgkgICAg
ICB2YWxpZF9hX2xpYj1ubwoJICAgICAgY2FzZSAkZGVwbGlic19jaGVja19t
ZXRob2QgaW4KCQltYXRjaF9wYXR0ZXJuKikKCQkgIHNldCBkdW1teSAkZGVw
bGlic19jaGVja19tZXRob2Q7IHNoaWZ0CgkJICBtYXRjaF9wYXR0ZXJuX3Jl
Z2V4PWBleHByICIkZGVwbGlic19jaGVja19tZXRob2QiIDogIiQxIFwoLipc
KSJgCgkJICBpZiBldmFsICJcJEVDSE8gXCIkZGVwbGliXCIiIDI+L2Rldi9u
dWxsIHwgJFNFRCAxMHEgXAoJCSAgICB8ICRFR1JFUCAiJG1hdGNoX3BhdHRl
cm5fcmVnZXgiID4gL2Rldi9udWxsOyB0aGVuCgkJICAgIHZhbGlkX2FfbGli
PXllcwoJCSAgZmkKCQk7OwoJCXBhc3NfYWxsKQoJCSAgdmFsaWRfYV9saWI9
eWVzCgkJOzsKCSAgICAgIGVzYWMKCSAgICAgIGlmIHRlc3QgIiR2YWxpZF9h
X2xpYiIgIT0geWVzOyB0aGVuCgkJZWNobwoJCSRFQ0hPICIqKiogV2Fybmlu
ZzogVHJ5aW5nIHRvIGxpbmsgd2l0aCBzdGF0aWMgbGliIGFyY2hpdmUgJGRl
cGxpYi4iCgkJZWNobyAiKioqIEkgaGF2ZSB0aGUgY2FwYWJpbGl0eSB0byBt
YWtlIHRoYXQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGxpbmsgaW4gd2hlbiIK
CQllY2hvICIqKiogeW91IGxpbmsgdG8gdGhpcyBsaWJyYXJ5LiAgQnV0IEkg
Y2FuIG9ubHkgZG8gdGhpcyBpZiB5b3UgaGF2ZSBhIgoJCWVjaG8gIioqKiBz
aGFyZWQgdmVyc2lvbiBvZiB0aGUgbGlicmFyeSwgd2hpY2ggeW91IGRvIG5v
dCBhcHBlYXIgdG8gaGF2ZSIKCQllY2hvICIqKiogYmVjYXVzZSB0aGUgZmls
ZSBleHRlbnNpb25zIC4kbGliZXh0IG9mIHRoaXMgYXJndW1lbnQgbWFrZXMg
bWUgYmVsaWV2ZSIKCQllY2hvICIqKiogdGhhdCBpdCBpcyBqdXN0IGEgc3Rh
dGljIGFyY2hpdmUgdGhhdCBJIHNob3VsZCBub3QgdXNlIGhlcmUuIgoJICAg
ICAgZWxzZQoJCWVjaG8KCQkkRUNITyAiKioqIFdhcm5pbmc6IExpbmtpbmcg
dGhlIHNoYXJlZCBsaWJyYXJ5ICRvdXRwdXQgYWdhaW5zdCB0aGUiCgkJJEVD
SE8gIioqKiBzdGF0aWMgbGlicmFyeSAkZGVwbGliIGlzIG5vdCBwb3J0YWJs
ZSEiCgkJZGVwbGlicz0iJGRlcGxpYiAkZGVwbGlicyIKCSAgICAgIGZpCgkg
ICAgICA7OwoJICAgIGVzYWMKCSAgICBjb250aW51ZQoJICAgIDs7CgkgIHBy
b2cpCgkgICAgaWYgdGVzdCAiJHBhc3MiICE9IGxpbms7IHRoZW4KCSAgICAg
IGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMiCgkgICAgZWxzZQoJICAgICAg
Y29tcGlsZV9kZXBsaWJzPSIkZGVwbGliICRjb21waWxlX2RlcGxpYnMiCgkg
ICAgICBmaW5hbGl6ZV9kZXBsaWJzPSIkZGVwbGliICRmaW5hbGl6ZV9kZXBs
aWJzIgoJICAgIGZpCgkgICAgY29udGludWUKCSAgICA7OwoJICBlc2FjICMg
bGlua21vZGUKCSAgOzsgIyAqLiRsaWJleHQKCSoubG8gfCAqLiRvYmpleHQp
CgkgIGlmIHRlc3QgIiRwYXNzIiA9IGNvbnY7IHRoZW4KCSAgICBkZXBsaWJz
PSIkZGVwbGliICRkZXBsaWJzIgoJICBlbGlmIHRlc3QgIiRsaW5rbW9kZSIg
PSBwcm9nOyB0aGVuCgkgICAgaWYgdGVzdCAiJHBhc3MiID0gZGxwcmVvcGVu
IHx8IHRlc3QgIiRkbG9wZW5fc3VwcG9ydCIgIT0geWVzIHx8IHRlc3QgIiRi
dWlsZF9saWJ0b29sX2xpYnMiID0gbm87IHRoZW4KCSAgICAgICMgSWYgdGhl
cmUgaXMgbm8gZGxvcGVuIHN1cHBvcnQgb3Igd2UncmUgbGlua2luZyBzdGF0
aWNhbGx5LAoJICAgICAgIyB3ZSBuZWVkIHRvIHByZWxvYWQuCgkgICAgICBu
ZXdkbHByZWZpbGVzKz0iICRkZXBsaWIiCgkgICAgICBjb21waWxlX2RlcGxp
YnM9IiRkZXBsaWIgJGNvbXBpbGVfZGVwbGlicyIKCSAgICAgIGZpbmFsaXpl
X2RlcGxpYnM9IiRkZXBsaWIgJGZpbmFsaXplX2RlcGxpYnMiCgkgICAgZWxz
ZQoJICAgICAgbmV3ZGxmaWxlcys9IiAkZGVwbGliIgoJICAgIGZpCgkgIGZp
CgkgIGNvbnRpbnVlCgkgIDs7CgklREVQTElCUyUpCgkgIGFsbGRlcGxpYnM9
eWVzCgkgIGNvbnRpbnVlCgkgIDs7Cgllc2FjICMgY2FzZSAkZGVwbGliCgoJ
aWYgdGVzdCAiJGZvdW5kIiA9IHllcyB8fCB0ZXN0IC1mICIkbGliIjsgdGhl
biA6CgllbHNlCgkgIGZ1bmNfZmF0YWxfZXJyb3IgImNhbm5vdCBmaW5kIHRo
ZSBsaWJyYXJ5IFxgJGxpYicgb3IgdW5oYW5kbGVkIGFyZ3VtZW50IFxgJGRl
cGxpYiciCglmaQoKCSMgQ2hlY2sgdG8gc2VlIHRoYXQgdGhpcyByZWFsbHkg
aXMgYSBsaWJ0b29sIGFyY2hpdmUuCglmdW5jX2xhbGliX3Vuc2FmZV9wICIk
bGliIiBcCgkgIHx8IGZ1bmNfZmF0YWxfZXJyb3IgIlxgJGxpYicgaXMgbm90
IGEgdmFsaWQgbGlidG9vbCBhcmNoaXZlIgoKCWZ1bmNfZGlybmFtZSAiJGxp
YiIgIiIgIi4iCglsYWRpcj0iJGZ1bmNfZGlybmFtZV9yZXN1bHQiCgoJZGxu
YW1lPQoJZGxvcGVuPQoJZGxwcmVvcGVuPQoJbGliZGlyPQoJbGlicmFyeV9u
YW1lcz0KCW9sZF9saWJyYXJ5PQoJaW5oZXJpdGVkX2xpbmtlcl9mbGFncz0K
CSMgSWYgdGhlIGxpYnJhcnkgd2FzIGluc3RhbGxlZCB3aXRoIGFuIG9sZCBy
ZWxlYXNlIG9mIGxpYnRvb2wsCgkjIGl0IHdpbGwgbm90IHJlZGVmaW5lIHZh
cmlhYmxlcyBpbnN0YWxsZWQsIG9yIHNob3VsZG5vdGxpbmsKCWluc3RhbGxl
ZD15ZXMKCXNob3VsZG5vdGxpbms9bm8KCWF2b2lkdGVtcHJwYXRoPQoKCgkj
IFJlYWQgdGhlIC5sYSBmaWxlCglmdW5jX3NvdXJjZSAiJGxpYiIKCgkjIENv
bnZlcnQgIi1mcmFtZXdvcmsgZm9vIiB0byAiZm9vLmx0ZnJhbWV3b3JrIgoJ
aWYgdGVzdCAtbiAiJGluaGVyaXRlZF9saW5rZXJfZmxhZ3MiOyB0aGVuCgkg
IHRtcF9pbmhlcml0ZWRfbGlua2VyX2ZsYWdzPWAkRUNITyAiJGluaGVyaXRl
ZF9saW5rZXJfZmxhZ3MiIHwgJFNFRCAncy8tZnJhbWV3b3JrIFwoW14gJF0q
XCkvXDEubHRmcmFtZXdvcmsvZydgCgkgIGZvciB0bXBfaW5oZXJpdGVkX2xp
bmtlcl9mbGFnIGluICR0bXBfaW5oZXJpdGVkX2xpbmtlcl9mbGFnczsgZG8K
CSAgICBjYXNlICIgJG5ld19pbmhlcml0ZWRfbGlua2VyX2ZsYWdzICIgaW4K
CSAgICAgICoiICR0bXBfaW5oZXJpdGVkX2xpbmtlcl9mbGFnICIqKSA7OwoJ
ICAgICAgKikgbmV3X2luaGVyaXRlZF9saW5rZXJfZmxhZ3MrPSIgJHRtcF9p
bmhlcml0ZWRfbGlua2VyX2ZsYWciOzsKCSAgICBlc2FjCgkgIGRvbmUKCWZp
CglkZXBlbmRlbmN5X2xpYnM9YCRFQ0hPICIgJGRlcGVuZGVuY3lfbGlicyIg
fCAkU0VEICdzJSBcKFteICRdKlwpLmx0ZnJhbWV3b3JrJSAtZnJhbWV3b3Jr
IFwxJWcnYAoJaWYgdGVzdCAiJGxpbmttb2RlLCRwYXNzIiA9ICJsaWIsbGlu
ayIgfHwKCSAgIHRlc3QgIiRsaW5rbW9kZSwkcGFzcyIgPSAicHJvZyxzY2Fu
IiB8fAoJICAgeyB0ZXN0ICIkbGlua21vZGUiICE9IHByb2cgJiYgdGVzdCAi
JGxpbmttb2RlIiAhPSBsaWI7IH07IHRoZW4KCSAgdGVzdCAtbiAiJGRsb3Bl
biIgJiYgZGxmaWxlcys9IiAkZGxvcGVuIgoJICB0ZXN0IC1uICIkZGxwcmVv
cGVuIiAmJiBkbHByZWZpbGVzKz0iICRkbHByZW9wZW4iCglmaQoKCWlmIHRl
c3QgIiRwYXNzIiA9IGNvbnY7IHRoZW4KCSAgIyBPbmx5IGNoZWNrIGZvciBj
b252ZW5pZW5jZSBsaWJyYXJpZXMKCSAgZGVwbGlicz0iJGxpYiAkZGVwbGli
cyIKCSAgaWYgdGVzdCAteiAiJGxpYmRpciI7IHRoZW4KCSAgICBpZiB0ZXN0
IC16ICIkb2xkX2xpYnJhcnkiOyB0aGVuCgkgICAgICBmdW5jX2ZhdGFsX2Vy
cm9yICJjYW5ub3QgZmluZCBuYW1lIG9mIGxpbmsgbGlicmFyeSBmb3IgXGAk
bGliJyIKCSAgICBmaQoJICAgICMgSXQgaXMgYSBsaWJ0b29sIGNvbnZlbmll
bmNlIGxpYnJhcnksIHNvIGFkZCBpbiBpdHMgb2JqZWN0cy4KCSAgICBjb252
ZW5pZW5jZSs9IiAkbGFkaXIvJG9iamRpci8kb2xkX2xpYnJhcnkiCgkgICAg
b2xkX2NvbnZlbmllbmNlKz0iICRsYWRpci8kb2JqZGlyLyRvbGRfbGlicmFy
eSIKCSAgZWxpZiB0ZXN0ICIkbGlua21vZGUiICE9IHByb2cgJiYgdGVzdCAi
JGxpbmttb2RlIiAhPSBsaWI7IHRoZW4KCSAgICBmdW5jX2ZhdGFsX2Vycm9y
ICJcYCRsaWInIGlzIG5vdCBhIGNvbnZlbmllbmNlIGxpYnJhcnkiCgkgIGZp
CgkgIHRtcF9saWJzPQoJICBmb3IgZGVwbGliIGluICRkZXBlbmRlbmN5X2xp
YnM7IGRvCgkgICAgZGVwbGlicz0iJGRlcGxpYiAkZGVwbGlicyIKCSAgICBp
ZiAkb3B0X3ByZXNlcnZlX2R1cF9kZXBzIDsgdGhlbgoJICAgICAgY2FzZSAi
JHRtcF9saWJzICIgaW4KCSAgICAgICoiICRkZXBsaWIgIiopIHNwZWNpYWxk
ZXBsaWJzKz0iICRkZXBsaWIiIDs7CgkgICAgICBlc2FjCgkgICAgZmkKCSAg
ICB0bXBfbGlicys9IiAkZGVwbGliIgoJICBkb25lCgkgIGNvbnRpbnVlCglm
aSAjICRwYXNzID0gY29udgoKCgkjIEdldCB0aGUgbmFtZSBvZiB0aGUgbGli
cmFyeSB3ZSBsaW5rIGFnYWluc3QuCglsaW5rbGliPQoJaWYgdGVzdCAtbiAi
JG9sZF9saWJyYXJ5IiAmJgoJICAgeyB0ZXN0ICIkcHJlZmVyX3N0YXRpY19s
aWJzIiA9IHllcyB8fAoJICAgICB0ZXN0ICIkcHJlZmVyX3N0YXRpY19saWJz
LCRpbnN0YWxsZWQiID0gImJ1aWx0LG5vIjsgfTsgdGhlbgoJICBsaW5rbGli
PSRvbGRfbGlicmFyeQoJZWxzZQoJICBmb3IgbCBpbiAkb2xkX2xpYnJhcnkg
JGxpYnJhcnlfbmFtZXM7IGRvCgkgICAgbGlua2xpYj0iJGwiCgkgIGRvbmUK
CWZpCglpZiB0ZXN0IC16ICIkbGlua2xpYiI7IHRoZW4KCSAgZnVuY19mYXRh
bF9lcnJvciAiY2Fubm90IGZpbmQgbmFtZSBvZiBsaW5rIGxpYnJhcnkgZm9y
IFxgJGxpYiciCglmaQoKCSMgVGhpcyBsaWJyYXJ5IHdhcyBzcGVjaWZpZWQg
d2l0aCAtZGxvcGVuLgoJaWYgdGVzdCAiJHBhc3MiID0gZGxvcGVuOyB0aGVu
CgkgIGlmIHRlc3QgLXogIiRsaWJkaXIiOyB0aGVuCgkgICAgZnVuY19mYXRh
bF9lcnJvciAiY2Fubm90IC1kbG9wZW4gYSBjb252ZW5pZW5jZSBsaWJyYXJ5
OiBcYCRsaWInIgoJICBmaQoJICBpZiB0ZXN0IC16ICIkZGxuYW1lIiB8fAoJ
ICAgICB0ZXN0ICIkZGxvcGVuX3N1cHBvcnQiICE9IHllcyB8fAoJICAgICB0
ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IG5vOyB0aGVuCgkgICAgIyBJ
ZiB0aGVyZSBpcyBubyBkbG5hbWUsIG5vIGRsb3BlbiBzdXBwb3J0IG9yIHdl
J3JlIGxpbmtpbmcKCSAgICAjIHN0YXRpY2FsbHksIHdlIG5lZWQgdG8gcHJl
bG9hZC4gIFdlIGFsc28gbmVlZCB0byBwcmVsb2FkIGFueQoJICAgICMgZGVw
ZW5kZW50IGxpYnJhcmllcyBzbyBsaWJsdGRsJ3MgZGVwbGliIHByZWxvYWRl
ciBkb2Vzbid0CgkgICAgIyBib21iIG91dCBpbiB0aGUgbG9hZCBkZXBsaWJz
IHBoYXNlLgoJICAgIGRscHJlZmlsZXMrPSIgJGxpYiAkZGVwZW5kZW5jeV9s
aWJzIgoJICBlbHNlCgkgICAgbmV3ZGxmaWxlcys9IiAkbGliIgoJICBmaQoJ
ICBjb250aW51ZQoJZmkgIyAkcGFzcyA9IGRsb3BlbgoKCSMgV2UgbmVlZCBh
biBhYnNvbHV0ZSBwYXRoLgoJY2FzZSAkbGFkaXIgaW4KCVtcXC9dKiB8IFtB
LVphLXpdOltcXC9dKikgYWJzX2xhZGlyPSIkbGFkaXIiIDs7CgkqKQoJICBh
YnNfbGFkaXI9YGNkICIkbGFkaXIiICYmIHB3ZGAKCSAgaWYgdGVzdCAteiAi
JGFic19sYWRpciI7IHRoZW4KCSAgICBmdW5jX3dhcm5pbmcgImNhbm5vdCBk
ZXRlcm1pbmUgYWJzb2x1dGUgZGlyZWN0b3J5IG5hbWUgb2YgXGAkbGFkaXIn
IgoJICAgIGZ1bmNfd2FybmluZyAicGFzc2luZyBpdCBsaXRlcmFsbHkgdG8g
dGhlIGxpbmtlciwgYWx0aG91Z2ggaXQgbWlnaHQgZmFpbCIKCSAgICBhYnNf
bGFkaXI9IiRsYWRpciIKCSAgZmkKCSAgOzsKCWVzYWMKCWZ1bmNfYmFzZW5h
bWUgIiRsaWIiCglsYW5hbWU9IiRmdW5jX2Jhc2VuYW1lX3Jlc3VsdCIKCgkj
IEZpbmQgdGhlIHJlbGV2YW50IG9iamVjdCBkaXJlY3RvcnkgYW5kIGxpYnJh
cnkgbmFtZS4KCWlmIHRlc3QgIlgkaW5zdGFsbGVkIiA9IFh5ZXM7IHRoZW4K
CSAgaWYgdGVzdCAhIC1mICIkbHRfc3lzcm9vdCRsaWJkaXIvJGxpbmtsaWIi
ICYmIHRlc3QgLWYgIiRhYnNfbGFkaXIvJGxpbmtsaWIiOyB0aGVuCgkgICAg
ZnVuY193YXJuaW5nICJsaWJyYXJ5IFxgJGxpYicgd2FzIG1vdmVkLiIKCSAg
ICBkaXI9IiRsYWRpciIKCSAgICBhYnNkaXI9IiRhYnNfbGFkaXIiCgkgICAg
bGliZGlyPSIkYWJzX2xhZGlyIgoJICBlbHNlCgkgICAgZGlyPSIkbHRfc3lz
cm9vdCRsaWJkaXIiCgkgICAgYWJzZGlyPSIkbHRfc3lzcm9vdCRsaWJkaXIi
CgkgIGZpCgkgIHRlc3QgIlgkaGFyZGNvZGVfYXV0b21hdGljIiA9IFh5ZXMg
JiYgYXZvaWR0ZW1wcnBhdGg9eWVzCgllbHNlCgkgIGlmIHRlc3QgISAtZiAi
JGxhZGlyLyRvYmpkaXIvJGxpbmtsaWIiICYmIHRlc3QgLWYgIiRhYnNfbGFk
aXIvJGxpbmtsaWIiOyB0aGVuCgkgICAgZGlyPSIkbGFkaXIiCgkgICAgYWJz
ZGlyPSIkYWJzX2xhZGlyIgoJICAgICMgUmVtb3ZlIHRoaXMgc2VhcmNoIHBh
dGggbGF0ZXIKCSAgICBub3RpbnN0X3BhdGgrPSIgJGFic19sYWRpciIKCSAg
ZWxzZQoJICAgIGRpcj0iJGxhZGlyLyRvYmpkaXIiCgkgICAgYWJzZGlyPSIk
YWJzX2xhZGlyLyRvYmpkaXIiCgkgICAgIyBSZW1vdmUgdGhpcyBzZWFyY2gg
cGF0aCBsYXRlcgoJICAgIG5vdGluc3RfcGF0aCs9IiAkYWJzX2xhZGlyIgoJ
ICBmaQoJZmkgIyAkaW5zdGFsbGVkID0geWVzCglmdW5jX3N0cmlwbmFtZSAn
bGliJyAnLmxhJyAiJGxhbmFtZSIKCW5hbWU9JGZ1bmNfc3RyaXBuYW1lX3Jl
c3VsdAoKCSMgVGhpcyBsaWJyYXJ5IHdhcyBzcGVjaWZpZWQgd2l0aCAtZGxw
cmVvcGVuLgoJaWYgdGVzdCAiJHBhc3MiID0gZGxwcmVvcGVuOyB0aGVuCgkg
IGlmIHRlc3QgLXogIiRsaWJkaXIiICYmIHRlc3QgIiRsaW5rbW9kZSIgPSBw
cm9nOyB0aGVuCgkgICAgZnVuY19mYXRhbF9lcnJvciAib25seSBsaWJyYXJp
ZXMgbWF5IC1kbHByZW9wZW4gYSBjb252ZW5pZW5jZSBsaWJyYXJ5OiBcYCRs
aWInIgoJICBmaQoJICBjYXNlICIkaG9zdCIgaW4KCSAgICAjIHNwZWNpYWwg
aGFuZGxpbmcgZm9yIHBsYXRmb3JtcyB3aXRoIFBFLURMTHMuCgkgICAgKmN5
Z3dpbiogfCAqbWluZ3cqIHwgKmNlZ2NjKiApCgkgICAgICAjIExpbmtlciB3
aWxsIGF1dG9tYXRpY2FsbHkgbGluayBhZ2FpbnN0IHNoYXJlZCBsaWJyYXJ5
IGlmIGJvdGgKCSAgICAgICMgc3RhdGljIGFuZCBzaGFyZWQgYXJlIHByZXNl
bnQuICBUaGVyZWZvcmUsIGVuc3VyZSB3ZSBleHRyYWN0CgkgICAgICAjIHN5
bWJvbHMgZnJvbSB0aGUgaW1wb3J0IGxpYnJhcnkgaWYgYSBzaGFyZWQgbGli
cmFyeSBpcyBwcmVzZW50CgkgICAgICAjIChvdGhlcndpc2UsIHRoZSBkbG9w
ZW4gbW9kdWxlIG5hbWUgd2lsbCBiZSBpbmNvcnJlY3QpLiAgV2UgZG8KCSAg
ICAgICMgdGhpcyBieSBwdXR0aW5nIHRoZSBpbXBvcnQgbGlicmFyeSBuYW1l
IGludG8gJG5ld2RscHJlZmlsZXMuCgkgICAgICAjIFdlIHJlY292ZXIgdGhl
IGRsb3BlbiBtb2R1bGUgbmFtZSBieSAnc2F2aW5nJyB0aGUgbGEgZmlsZQoJ
ICAgICAgIyBuYW1lIGluIGEgc3BlY2lhbCBwdXJwb3NlIHZhcmlhYmxlLCBh
bmQgKGxhdGVyKSBleHRyYWN0aW5nIHRoZQoJICAgICAgIyBkbG5hbWUgZnJv
bSB0aGUgbGEgZmlsZS4KCSAgICAgIGlmIHRlc3QgLW4gIiRkbG5hbWUiOyB0
aGVuCgkgICAgICAgIGZ1bmNfdHJfc2ggIiRkaXIvJGxpbmtsaWIiCgkgICAg
ICAgIGV2YWwgImxpYmZpbGVfJGZ1bmNfdHJfc2hfcmVzdWx0PVwkYWJzX2xh
ZGlyL1wkbGFuYW1lIgoJICAgICAgICBuZXdkbHByZWZpbGVzKz0iICRkaXIv
JGxpbmtsaWIiCgkgICAgICBlbHNlCgkgICAgICAgIG5ld2RscHJlZmlsZXMr
PSIgJGRpci8kb2xkX2xpYnJhcnkiCgkgICAgICAgICMgS2VlcCBhIGxpc3Qg
b2YgcHJlb3BlbmVkIGNvbnZlbmllbmNlIGxpYnJhcmllcyB0byBjaGVjawoJ
ICAgICAgICAjIHRoYXQgdGhleSBhcmUgYmVpbmcgdXNlZCBjb3JyZWN0bHkg
aW4gdGhlIGxpbmsgcGFzcy4KCSAgICAgICAgdGVzdCAteiAiJGxpYmRpciIg
JiYgXAoJICAgICAgICAgIGRscHJlY29udmVuaWVuY2VsaWJzKz0iICRkaXIv
JG9sZF9saWJyYXJ5IgoJICAgICAgZmkKCSAgICA7OwoJICAgICogKQoJICAg
ICAgIyBQcmVmZXIgdXNpbmcgYSBzdGF0aWMgbGlicmFyeSAoc28gdGhhdCBu
byBzaWxseSBfRFlOQU1JQyBzeW1ib2xzCgkgICAgICAjIGFyZSByZXF1aXJl
ZCB0byBsaW5rKS4KCSAgICAgIGlmIHRlc3QgLW4gIiRvbGRfbGlicmFyeSI7
IHRoZW4KCSAgICAgICAgbmV3ZGxwcmVmaWxlcys9IiAkZGlyLyRvbGRfbGli
cmFyeSIKCSAgICAgICAgIyBLZWVwIGEgbGlzdCBvZiBwcmVvcGVuZWQgY29u
dmVuaWVuY2UgbGlicmFyaWVzIHRvIGNoZWNrCgkgICAgICAgICMgdGhhdCB0
aGV5IGFyZSBiZWluZyB1c2VkIGNvcnJlY3RseSBpbiB0aGUgbGluayBwYXNz
LgoJICAgICAgICB0ZXN0IC16ICIkbGliZGlyIiAmJiBcCgkgICAgICAgICAg
ZGxwcmVjb252ZW5pZW5jZWxpYnMrPSIgJGRpci8kb2xkX2xpYnJhcnkiCgkg
ICAgICAjIE90aGVyd2lzZSwgdXNlIHRoZSBkbG5hbWUsIHNvIHRoYXQgbHRf
ZGxvcGVuIGZpbmRzIGl0LgoJICAgICAgZWxpZiB0ZXN0IC1uICIkZGxuYW1l
IjsgdGhlbgoJICAgICAgICBuZXdkbHByZWZpbGVzKz0iICRkaXIvJGRsbmFt
ZSIKCSAgICAgIGVsc2UKCSAgICAgICAgbmV3ZGxwcmVmaWxlcys9IiAkZGly
LyRsaW5rbGliIgoJICAgICAgZmkKCSAgICA7OwoJICBlc2FjCglmaSAjICRw
YXNzID0gZGxwcmVvcGVuCgoJaWYgdGVzdCAteiAiJGxpYmRpciI7IHRoZW4K
CSAgIyBMaW5rIHRoZSBjb252ZW5pZW5jZSBsaWJyYXJ5CgkgIGlmIHRlc3Qg
IiRsaW5rbW9kZSIgPSBsaWI7IHRoZW4KCSAgICBkZXBsaWJzPSIkZGlyLyRv
bGRfbGlicmFyeSAkZGVwbGlicyIKCSAgZWxpZiB0ZXN0ICIkbGlua21vZGUs
JHBhc3MiID0gInByb2csbGluayI7IHRoZW4KCSAgICBjb21waWxlX2RlcGxp
YnM9IiRkaXIvJG9sZF9saWJyYXJ5ICRjb21waWxlX2RlcGxpYnMiCgkgICAg
ZmluYWxpemVfZGVwbGlicz0iJGRpci8kb2xkX2xpYnJhcnkgJGZpbmFsaXpl
X2RlcGxpYnMiCgkgIGVsc2UKCSAgICBkZXBsaWJzPSIkbGliICRkZXBsaWJz
IiAjIHVzZWQgZm9yIHByb2csc2NhbiBwYXNzCgkgIGZpCgkgIGNvbnRpbnVl
CglmaQoKCglpZiB0ZXN0ICIkbGlua21vZGUiID0gcHJvZyAmJiB0ZXN0ICIk
cGFzcyIgIT0gbGluazsgdGhlbgoJICBuZXdsaWJfc2VhcmNoX3BhdGgrPSIg
JGxhZGlyIgoJICBkZXBsaWJzPSIkbGliICRkZXBsaWJzIgoKCSAgbGlua2Fs
bGRlcGxpYnM9bm8KCSAgaWYgdGVzdCAiJGxpbmtfYWxsX2RlcGxpYnMiICE9
IG5vIHx8IHRlc3QgLXogIiRsaWJyYXJ5X25hbWVzIiB8fAoJICAgICB0ZXN0
ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IG5vOyB0aGVuCgkgICAgbGlua2Fs
bGRlcGxpYnM9eWVzCgkgIGZpCgoJICB0bXBfbGlicz0KCSAgZm9yIGRlcGxp
YiBpbiAkZGVwZW5kZW5jeV9saWJzOyBkbwoJICAgIGNhc2UgJGRlcGxpYiBp
bgoJICAgIC1MKikgZnVuY19zdHJpcG5hbWUgJy1MJyAnJyAiJGRlcGxpYiIK
CSAgICAgICAgIGZ1bmNfcmVzb2x2ZV9zeXNyb290ICIkZnVuY19zdHJpcG5h
bWVfcmVzdWx0IgoJICAgICAgICAgbmV3bGliX3NlYXJjaF9wYXRoKz0iICRm
dW5jX3Jlc29sdmVfc3lzcm9vdF9yZXN1bHQiCgkJIDs7CgkgICAgZXNhYwoJ
ICAgICMgTmVlZCB0byBsaW5rIGFnYWluc3QgYWxsIGRlcGVuZGVuY3lfbGli
cz8KCSAgICBpZiB0ZXN0ICIkbGlua2FsbGRlcGxpYnMiID0geWVzOyB0aGVu
CgkgICAgICBkZXBsaWJzPSIkZGVwbGliICRkZXBsaWJzIgoJICAgIGVsc2UK
CSAgICAgICMgTmVlZCB0byBoYXJkY29kZSBzaGFyZWQgbGlicmFyeSBwYXRo
cwoJICAgICAgIyBvci9hbmQgbGluayBhZ2FpbnN0IHN0YXRpYyBsaWJyYXJp
ZXMKCSAgICAgIG5ld2RlcGVuZGVuY3lfbGlicz0iJGRlcGxpYiAkbmV3ZGVw
ZW5kZW5jeV9saWJzIgoJICAgIGZpCgkgICAgaWYgJG9wdF9wcmVzZXJ2ZV9k
dXBfZGVwcyA7IHRoZW4KCSAgICAgIGNhc2UgIiR0bXBfbGlicyAiIGluCgkg
ICAgICAqIiAkZGVwbGliICIqKSBzcGVjaWFsZGVwbGlicys9IiAkZGVwbGli
IiA7OwoJICAgICAgZXNhYwoJICAgIGZpCgkgICAgdG1wX2xpYnMrPSIgJGRl
cGxpYiIKCSAgZG9uZSAjIGZvciBkZXBsaWIKCSAgY29udGludWUKCWZpICMg
JGxpbmttb2RlID0gcHJvZy4uLgoKCWlmIHRlc3QgIiRsaW5rbW9kZSwkcGFz
cyIgPSAicHJvZyxsaW5rIjsgdGhlbgoJICBpZiB0ZXN0IC1uICIkbGlicmFy
eV9uYW1lcyIgJiYKCSAgICAgeyB7IHRlc3QgIiRwcmVmZXJfc3RhdGljX2xp
YnMiID0gbm8gfHwKCSAgICAgICAgIHRlc3QgIiRwcmVmZXJfc3RhdGljX2xp
YnMsJGluc3RhbGxlZCIgPSAiYnVpbHQseWVzIjsgfSB8fAoJICAgICAgIHRl
c3QgLXogIiRvbGRfbGlicmFyeSI7IH07IHRoZW4KCSAgICAjIFdlIG5lZWQg
dG8gaGFyZGNvZGUgdGhlIGxpYnJhcnkgcGF0aAoJICAgIGlmIHRlc3QgLW4g
IiRzaGxpYnBhdGhfdmFyIiAmJiB0ZXN0IC16ICIkYXZvaWR0ZW1wcnBhdGgi
IDsgdGhlbgoJICAgICAgIyBNYWtlIHN1cmUgdGhlIHJwYXRoIGNvbnRhaW5z
IG9ubHkgdW5pcXVlIGRpcmVjdG9yaWVzLgoJICAgICAgY2FzZSAiJHRlbXBf
cnBhdGg6IiBpbgoJICAgICAgKiIkYWJzZGlyOiIqKSA7OwoJICAgICAgKikg
dGVtcF9ycGF0aCs9IiRhYnNkaXI6IiA7OwoJICAgICAgZXNhYwoJICAgIGZp
CgoJICAgICMgSGFyZGNvZGUgdGhlIGxpYnJhcnkgcGF0aC4KCSAgICAjIFNr
aXAgZGlyZWN0b3JpZXMgdGhhdCBhcmUgaW4gdGhlIHN5c3RlbSBkZWZhdWx0
IHJ1bi10aW1lCgkgICAgIyBzZWFyY2ggcGF0aC4KCSAgICBjYXNlICIgJHN5
c19saWJfZGxzZWFyY2hfcGF0aCAiIGluCgkgICAgKiIgJGFic2RpciAiKikg
OzsKCSAgICAqKQoJICAgICAgY2FzZSAiJGNvbXBpbGVfcnBhdGggIiBpbgoJ
ICAgICAgKiIgJGFic2RpciAiKikgOzsKCSAgICAgICopIGNvbXBpbGVfcnBh
dGgrPSIgJGFic2RpciIgOzsKCSAgICAgIGVzYWMKCSAgICAgIDs7CgkgICAg
ZXNhYwoJICAgIGNhc2UgIiAkc3lzX2xpYl9kbHNlYXJjaF9wYXRoICIgaW4K
CSAgICAqIiAkbGliZGlyICIqKSA7OwoJICAgICopCgkgICAgICBjYXNlICIk
ZmluYWxpemVfcnBhdGggIiBpbgoJICAgICAgKiIgJGxpYmRpciAiKikgOzsK
CSAgICAgICopIGZpbmFsaXplX3JwYXRoKz0iICRsaWJkaXIiIDs7CgkgICAg
ICBlc2FjCgkgICAgICA7OwoJICAgIGVzYWMKCSAgZmkgIyAkbGlua21vZGUs
JHBhc3MgPSBwcm9nLGxpbmsuLi4KCgkgIGlmIHRlc3QgIiRhbGxkZXBsaWJz
IiA9IHllcyAmJgoJICAgICB7IHRlc3QgIiRkZXBsaWJzX2NoZWNrX21ldGhv
ZCIgPSBwYXNzX2FsbCB8fAoJICAgICAgIHsgdGVzdCAiJGJ1aWxkX2xpYnRv
b2xfbGlicyIgPSB5ZXMgJiYKCQkgdGVzdCAtbiAiJGxpYnJhcnlfbmFtZXMi
OyB9OyB9OyB0aGVuCgkgICAgIyBXZSBvbmx5IG5lZWQgdG8gc2VhcmNoIGZv
ciBzdGF0aWMgbGlicmFyaWVzCgkgICAgY29udGludWUKCSAgZmkKCWZpCgoJ
bGlua19zdGF0aWM9bm8gIyBXaGV0aGVyIHRoZSBkZXBsaWIgd2lsbCBiZSBs
aW5rZWQgc3RhdGljYWxseQoJdXNlX3N0YXRpY19saWJzPSRwcmVmZXJfc3Rh
dGljX2xpYnMKCWlmIHRlc3QgIiR1c2Vfc3RhdGljX2xpYnMiID0gYnVpbHQg
JiYgdGVzdCAiJGluc3RhbGxlZCIgPSB5ZXM7IHRoZW4KCSAgdXNlX3N0YXRp
Y19saWJzPW5vCglmaQoJaWYgdGVzdCAtbiAiJGxpYnJhcnlfbmFtZXMiICYm
CgkgICB7IHRlc3QgIiR1c2Vfc3RhdGljX2xpYnMiID0gbm8gfHwgdGVzdCAt
eiAiJG9sZF9saWJyYXJ5IjsgfTsgdGhlbgoJICBjYXNlICRob3N0IGluCgkg
ICpjeWd3aW4qIHwgKm1pbmd3KiB8ICpjZWdjYyopCgkgICAgICAjIE5vIHBv
aW50IGluIHJlbGlua2luZyBETExzIGJlY2F1c2UgcGF0aHMgYXJlIG5vdCBl
bmNvZGVkCgkgICAgICBub3RpbnN0X2RlcGxpYnMrPSIgJGxpYiIKCSAgICAg
IG5lZWRfcmVsaW5rPW5vCgkgICAgOzsKCSAgKikKCSAgICBpZiB0ZXN0ICIk
aW5zdGFsbGVkIiA9IG5vOyB0aGVuCgkgICAgICBub3RpbnN0X2RlcGxpYnMr
PSIgJGxpYiIKCSAgICAgIG5lZWRfcmVsaW5rPXllcwoJICAgIGZpCgkgICAg
OzsKCSAgZXNhYwoJICAjIFRoaXMgaXMgYSBzaGFyZWQgbGlicmFyeQoKCSAg
IyBXYXJuIGFib3V0IHBvcnRhYmlsaXR5LCBjYW4ndCBsaW5rIGFnYWluc3Qg
LW1vZHVsZSdzIG9uIHNvbWUKCSAgIyBzeXN0ZW1zIChkYXJ3aW4pLiAgRG9u
J3QgYmxlYXQgYWJvdXQgZGxvcGVuZWQgbW9kdWxlcyB0aG91Z2ghCgkgIGRs
b3Blbm1vZHVsZT0iIgoJICBmb3IgZGxwcmVtb2R1bGV0ZXN0IGluICRkbHBy
ZWZpbGVzOyBkbwoJICAgIGlmIHRlc3QgIlgkZGxwcmVtb2R1bGV0ZXN0IiA9
ICJYJGxpYiI7IHRoZW4KCSAgICAgIGRsb3Blbm1vZHVsZT0iJGRscHJlbW9k
dWxldGVzdCIKCSAgICAgIGJyZWFrCgkgICAgZmkKCSAgZG9uZQoJICBpZiB0
ZXN0IC16ICIkZGxvcGVubW9kdWxlIiAmJiB0ZXN0ICIkc2hvdWxkbm90bGlu
ayIgPSB5ZXMgJiYgdGVzdCAiJHBhc3MiID0gbGluazsgdGhlbgoJICAgIGVj
aG8KCSAgICBpZiB0ZXN0ICIkbGlua21vZGUiID0gcHJvZzsgdGhlbgoJICAg
ICAgJEVDSE8gIioqKiBXYXJuaW5nOiBMaW5raW5nIHRoZSBleGVjdXRhYmxl
ICRvdXRwdXQgYWdhaW5zdCB0aGUgbG9hZGFibGUgbW9kdWxlIgoJICAgIGVs
c2UKCSAgICAgICRFQ0hPICIqKiogV2FybmluZzogTGlua2luZyB0aGUgc2hh
cmVkIGxpYnJhcnkgJG91dHB1dCBhZ2FpbnN0IHRoZSBsb2FkYWJsZSBtb2R1
bGUiCgkgICAgZmkKCSAgICAkRUNITyAiKioqICRsaW5rbGliIGlzIG5vdCBw
b3J0YWJsZSEiCgkgIGZpCgkgIGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBsaWIg
JiYKCSAgICAgdGVzdCAiJGhhcmRjb2RlX2ludG9fbGlicyIgPSB5ZXM7IHRo
ZW4KCSAgICAjIEhhcmRjb2RlIHRoZSBsaWJyYXJ5IHBhdGguCgkgICAgIyBT
a2lwIGRpcmVjdG9yaWVzIHRoYXQgYXJlIGluIHRoZSBzeXN0ZW0gZGVmYXVs
dCBydW4tdGltZQoJICAgICMgc2VhcmNoIHBhdGguCgkgICAgY2FzZSAiICRz
eXNfbGliX2Rsc2VhcmNoX3BhdGggIiBpbgoJICAgICoiICRhYnNkaXIgIiop
IDs7CgkgICAgKikKCSAgICAgIGNhc2UgIiRjb21waWxlX3JwYXRoICIgaW4K
CSAgICAgICoiICRhYnNkaXIgIiopIDs7CgkgICAgICAqKSBjb21waWxlX3Jw
YXRoKz0iICRhYnNkaXIiIDs7CgkgICAgICBlc2FjCgkgICAgICA7OwoJICAg
IGVzYWMKCSAgICBjYXNlICIgJHN5c19saWJfZGxzZWFyY2hfcGF0aCAiIGlu
CgkgICAgKiIgJGxpYmRpciAiKikgOzsKCSAgICAqKQoJICAgICAgY2FzZSAi
JGZpbmFsaXplX3JwYXRoICIgaW4KCSAgICAgICoiICRsaWJkaXIgIiopIDs7
CgkgICAgICAqKSBmaW5hbGl6ZV9ycGF0aCs9IiAkbGliZGlyIiA7OwoJICAg
ICAgZXNhYwoJICAgICAgOzsKCSAgICBlc2FjCgkgIGZpCgoJICBpZiB0ZXN0
IC1uICIkb2xkX2FyY2hpdmVfZnJvbV9leHBzeW1zX2NtZHMiOyB0aGVuCgkg
ICAgIyBmaWd1cmUgb3V0IHRoZSBzb25hbWUKCSAgICBzZXQgZHVtbXkgJGxp
YnJhcnlfbmFtZXMKCSAgICBzaGlmdAoJICAgIHJlYWxuYW1lPSIkMSIKCSAg
ICBzaGlmdAoJICAgIGxpYm5hbWU9YGV2YWwgIlxcJEVDSE8gXCIkbGlibmFt
ZV9zcGVjXCIiYAoJICAgICMgdXNlIGRsbmFtZSBpZiB3ZSBnb3QgaXQuIGl0
J3MgcGVyZmVjdGx5IGdvb2QsIG5vPwoJICAgIGlmIHRlc3QgLW4gIiRkbG5h
bWUiOyB0aGVuCgkgICAgICBzb25hbWU9IiRkbG5hbWUiCgkgICAgZWxpZiB0
ZXN0IC1uICIkc29uYW1lX3NwZWMiOyB0aGVuCgkgICAgICAjIGJsZWggd2lu
ZG93cwoJICAgICAgY2FzZSAkaG9zdCBpbgoJICAgICAgKmN5Z3dpbiogfCBt
aW5ndyogfCAqY2VnY2MqKQoJICAgICAgICBmdW5jX2FyaXRoICRjdXJyZW50
IC0gJGFnZQoJCW1ham9yPSRmdW5jX2FyaXRoX3Jlc3VsdAoJCXZlcnN1ZmZp
eD0iLSRtYWpvciIKCQk7OwoJICAgICAgZXNhYwoJICAgICAgZXZhbCBzb25h
bWU9XCIkc29uYW1lX3NwZWNcIgoJICAgIGVsc2UKCSAgICAgIHNvbmFtZT0i
JHJlYWxuYW1lIgoJICAgIGZpCgoJICAgICMgTWFrZSBhIG5ldyBuYW1lIGZv
ciB0aGUgZXh0cmFjdF9leHBzeW1zX2NtZHMgdG8gdXNlCgkgICAgc29yb290
PSIkc29uYW1lIgoJICAgIGZ1bmNfYmFzZW5hbWUgIiRzb3Jvb3QiCgkgICAg
c29uYW1lPSIkZnVuY19iYXNlbmFtZV9yZXN1bHQiCgkgICAgZnVuY19zdHJp
cG5hbWUgJ2xpYicgJy5kbGwnICIkc29uYW1lIgoJICAgIG5ld2xpYj1saWJp
bXAtJGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdC5hCgoJICAgICMgSWYgdGhlIGxp
YnJhcnkgaGFzIG5vIGV4cG9ydCBsaXN0LCB0aGVuIGNyZWF0ZSBvbmUgbm93
CgkgICAgaWYgdGVzdCAtZiAiJG91dHB1dF9vYmpkaXIvJHNvbmFtZS1kZWYi
OyB0aGVuIDoKCSAgICBlbHNlCgkgICAgICBmdW5jX3ZlcmJvc2UgImV4dHJh
Y3RpbmcgZXhwb3J0ZWQgc3ltYm9sIGxpc3QgZnJvbSBcYCRzb25hbWUnIgoJ
ICAgICAgZnVuY19leGVjdXRlX2NtZHMgIiRleHRyYWN0X2V4cHN5bXNfY21k
cyIgJ2V4aXQgJD8nCgkgICAgZmkKCgkgICAgIyBDcmVhdGUgJG5ld2xpYgoJ
ICAgIGlmIHRlc3QgLWYgIiRvdXRwdXRfb2JqZGlyLyRuZXdsaWIiOyB0aGVu
IDo7IGVsc2UKCSAgICAgIGZ1bmNfdmVyYm9zZSAiZ2VuZXJhdGluZyBpbXBv
cnQgbGlicmFyeSBmb3IgXGAkc29uYW1lJyIKCSAgICAgIGZ1bmNfZXhlY3V0
ZV9jbWRzICIkb2xkX2FyY2hpdmVfZnJvbV9leHBzeW1zX2NtZHMiICdleGl0
ICQ/JwoJICAgIGZpCgkgICAgIyBtYWtlIHN1cmUgdGhlIGxpYnJhcnkgdmFy
aWFibGVzIGFyZSBwb2ludGluZyB0byB0aGUgbmV3IGxpYnJhcnkKCSAgICBk
aXI9JG91dHB1dF9vYmpkaXIKCSAgICBsaW5rbGliPSRuZXdsaWIKCSAgZmkg
IyB0ZXN0IC1uICIkb2xkX2FyY2hpdmVfZnJvbV9leHBzeW1zX2NtZHMiCgoJ
ICBpZiB0ZXN0ICIkbGlua21vZGUiID0gcHJvZyB8fCB0ZXN0ICIkb3B0X21v
ZGUiICE9IHJlbGluazsgdGhlbgoJICAgIGFkZF9zaGxpYnBhdGg9CgkgICAg
YWRkX2Rpcj0KCSAgICBhZGQ9CgkgICAgbGliX2xpbmtlZD15ZXMKCSAgICBj
YXNlICRoYXJkY29kZV9hY3Rpb24gaW4KCSAgICBpbW1lZGlhdGUgfCB1bnN1
cHBvcnRlZCkKCSAgICAgIGlmIHRlc3QgIiRoYXJkY29kZV9kaXJlY3QiID0g
bm87IHRoZW4KCQlhZGQ9IiRkaXIvJGxpbmtsaWIiCgkJY2FzZSAkaG9zdCBp
bgoJCSAgKi0qLXNjbzMuMnY1LjAuWzAyNF0qKSBhZGRfZGlyPSItTCRkaXIi
IDs7CgkJICAqLSotc3lzdjQqdXcyKikgYWRkX2Rpcj0iLUwkZGlyIiA7OwoJ
CSAgKi0qLXN5c3Y1T3BlblVOSVgqIHwgKi0qLXN5c3Y1VW5peFdhcmU3Llsw
MV0uWzEwXSogfCBcCgkJICAgICotKi11bml4d2FyZTcqKSBhZGRfZGlyPSIt
TCRkaXIiIDs7CgkJICAqLSotZGFyd2luKiApCgkJICAgICMgaWYgdGhlIGxp
YiBpcyBhIChub24tZGxvcGVuZWQpIG1vZHVsZSB0aGVuIHdlIGNhbiBub3QK
CQkgICAgIyBsaW5rIGFnYWluc3QgaXQsIHNvbWVvbmUgaXMgaWdub3Jpbmcg
dGhlIGVhcmxpZXIgd2FybmluZ3MKCQkgICAgaWYgL3Vzci9iaW4vZmlsZSAt
TCAkYWRkIDI+IC9kZXYvbnVsbCB8CgkJCSAkR1JFUCAiOiBbXjpdKiBidW5k
bGUiID4vZGV2L251bGwgOyB0aGVuCgkJICAgICAgaWYgdGVzdCAiWCRkbG9w
ZW5tb2R1bGUiICE9ICJYJGxpYiI7IHRoZW4KCQkJJEVDSE8gIioqKiBXYXJu
aW5nOiBsaWIgJGxpbmtsaWIgaXMgYSBtb2R1bGUsIG5vdCBhIHNoYXJlZCBs
aWJyYXJ5IgoJCQlpZiB0ZXN0IC16ICIkb2xkX2xpYnJhcnkiIDsgdGhlbgoJ
CQkgIGVjaG8KCQkJICBlY2hvICIqKiogQW5kIHRoZXJlIGRvZXNuJ3Qgc2Vl
bSB0byBiZSBhIHN0YXRpYyBhcmNoaXZlIGF2YWlsYWJsZSIKCQkJICBlY2hv
ICIqKiogVGhlIGxpbmsgd2lsbCBwcm9iYWJseSBmYWlsLCBzb3JyeSIKCQkJ
ZWxzZQoJCQkgIGFkZD0iJGRpci8kb2xkX2xpYnJhcnkiCgkJCWZpCgkJICAg
ICAgZWxpZiB0ZXN0IC1uICIkb2xkX2xpYnJhcnkiOyB0aGVuCgkJCWFkZD0i
JGRpci8kb2xkX2xpYnJhcnkiCgkJICAgICAgZmkKCQkgICAgZmkKCQllc2Fj
CgkgICAgICBlbGlmIHRlc3QgIiRoYXJkY29kZV9taW51c19MIiA9IG5vOyB0
aGVuCgkJY2FzZSAkaG9zdCBpbgoJCSotKi1zdW5vcyopIGFkZF9zaGxpYnBh
dGg9IiRkaXIiIDs7CgkJZXNhYwoJCWFkZF9kaXI9Ii1MJGRpciIKCQlhZGQ9
Ii1sJG5hbWUiCgkgICAgICBlbGlmIHRlc3QgIiRoYXJkY29kZV9zaGxpYnBh
dGhfdmFyIiA9IG5vOyB0aGVuCgkJYWRkX3NobGlicGF0aD0iJGRpciIKCQlh
ZGQ9Ii1sJG5hbWUiCgkgICAgICBlbHNlCgkJbGliX2xpbmtlZD1ubwoJICAg
ICAgZmkKCSAgICAgIDs7CgkgICAgcmVsaW5rKQoJICAgICAgaWYgdGVzdCAi
JGhhcmRjb2RlX2RpcmVjdCIgPSB5ZXMgJiYKCSAgICAgICAgIHRlc3QgIiRo
YXJkY29kZV9kaXJlY3RfYWJzb2x1dGUiID0gbm87IHRoZW4KCQlhZGQ9IiRk
aXIvJGxpbmtsaWIiCgkgICAgICBlbGlmIHRlc3QgIiRoYXJkY29kZV9taW51
c19MIiA9IHllczsgdGhlbgoJCWFkZF9kaXI9Ii1MJGRpciIKCQkjIFRyeSBs
b29raW5nIGZpcnN0IGluIHRoZSBsb2NhdGlvbiB3ZSdyZSBiZWluZyBpbnN0
YWxsZWQgdG8uCgkJaWYgdGVzdCAtbiAiJGluc3RfcHJlZml4X2RpciI7IHRo
ZW4KCQkgIGNhc2UgJGxpYmRpciBpbgoJCSAgICBbXFwvXSopCgkJICAgICAg
YWRkX2Rpcis9IiAtTCRpbnN0X3ByZWZpeF9kaXIkbGliZGlyIgoJCSAgICAg
IDs7CgkJICBlc2FjCgkJZmkKCQlhZGQ9Ii1sJG5hbWUiCgkgICAgICBlbGlm
IHRlc3QgIiRoYXJkY29kZV9zaGxpYnBhdGhfdmFyIiA9IHllczsgdGhlbgoJ
CWFkZF9zaGxpYnBhdGg9IiRkaXIiCgkJYWRkPSItbCRuYW1lIgoJICAgICAg
ZWxzZQoJCWxpYl9saW5rZWQ9bm8KCSAgICAgIGZpCgkgICAgICA7OwoJICAg
ICopIGxpYl9saW5rZWQ9bm8gOzsKCSAgICBlc2FjCgoJICAgIGlmIHRlc3Qg
IiRsaWJfbGlua2VkIiAhPSB5ZXM7IHRoZW4KCSAgICAgIGZ1bmNfZmF0YWxf
Y29uZmlndXJhdGlvbiAidW5zdXBwb3J0ZWQgaGFyZGNvZGUgcHJvcGVydGll
cyIKCSAgICBmaQoKCSAgICBpZiB0ZXN0IC1uICIkYWRkX3NobGlicGF0aCI7
IHRoZW4KCSAgICAgIGNhc2UgOiRjb21waWxlX3NobGlicGF0aDogaW4KCSAg
ICAgICoiOiRhZGRfc2hsaWJwYXRoOiIqKSA7OwoJICAgICAgKikgY29tcGls
ZV9zaGxpYnBhdGgrPSIkYWRkX3NobGlicGF0aDoiIDs7CgkgICAgICBlc2Fj
CgkgICAgZmkKCSAgICBpZiB0ZXN0ICIkbGlua21vZGUiID0gcHJvZzsgdGhl
bgoJICAgICAgdGVzdCAtbiAiJGFkZF9kaXIiICYmIGNvbXBpbGVfZGVwbGli
cz0iJGFkZF9kaXIgJGNvbXBpbGVfZGVwbGlicyIKCSAgICAgIHRlc3QgLW4g
IiRhZGQiICYmIGNvbXBpbGVfZGVwbGlicz0iJGFkZCAkY29tcGlsZV9kZXBs
aWJzIgoJICAgIGVsc2UKCSAgICAgIHRlc3QgLW4gIiRhZGRfZGlyIiAmJiBk
ZXBsaWJzPSIkYWRkX2RpciAkZGVwbGlicyIKCSAgICAgIHRlc3QgLW4gIiRh
ZGQiICYmIGRlcGxpYnM9IiRhZGQgJGRlcGxpYnMiCgkgICAgICBpZiB0ZXN0
ICIkaGFyZGNvZGVfZGlyZWN0IiAhPSB5ZXMgJiYKCQkgdGVzdCAiJGhhcmRj
b2RlX21pbnVzX0wiICE9IHllcyAmJgoJCSB0ZXN0ICIkaGFyZGNvZGVfc2hs
aWJwYXRoX3ZhciIgPSB5ZXM7IHRoZW4KCQljYXNlIDokZmluYWxpemVfc2hs
aWJwYXRoOiBpbgoJCSoiOiRsaWJkaXI6IiopIDs7CgkJKikgZmluYWxpemVf
c2hsaWJwYXRoKz0iJGxpYmRpcjoiIDs7CgkJZXNhYwoJICAgICAgZmkKCSAg
ICBmaQoJICBmaQoKCSAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IHByb2cgfHwg
dGVzdCAiJG9wdF9tb2RlIiA9IHJlbGluazsgdGhlbgoJICAgIGFkZF9zaGxp
YnBhdGg9CgkgICAgYWRkX2Rpcj0KCSAgICBhZGQ9CgkgICAgIyBGaW5hbGl6
ZSBjb21tYW5kIGZvciBib3RoIGlzIHNpbXBsZToganVzdCBoYXJkY29kZSBp
dC4KCSAgICBpZiB0ZXN0ICIkaGFyZGNvZGVfZGlyZWN0IiA9IHllcyAmJgoJ
ICAgICAgIHRlc3QgIiRoYXJkY29kZV9kaXJlY3RfYWJzb2x1dGUiID0gbm87
IHRoZW4KCSAgICAgIGFkZD0iJGxpYmRpci8kbGlua2xpYiIKCSAgICBlbGlm
IHRlc3QgIiRoYXJkY29kZV9taW51c19MIiA9IHllczsgdGhlbgoJICAgICAg
YWRkX2Rpcj0iLUwkbGliZGlyIgoJICAgICAgYWRkPSItbCRuYW1lIgoJICAg
IGVsaWYgdGVzdCAiJGhhcmRjb2RlX3NobGlicGF0aF92YXIiID0geWVzOyB0
aGVuCgkgICAgICBjYXNlIDokZmluYWxpemVfc2hsaWJwYXRoOiBpbgoJICAg
ICAgKiI6JGxpYmRpcjoiKikgOzsKCSAgICAgICopIGZpbmFsaXplX3NobGli
cGF0aCs9IiRsaWJkaXI6IiA7OwoJICAgICAgZXNhYwoJICAgICAgYWRkPSIt
bCRuYW1lIgoJICAgIGVsaWYgdGVzdCAiJGhhcmRjb2RlX2F1dG9tYXRpYyIg
PSB5ZXM7IHRoZW4KCSAgICAgIGlmIHRlc3QgLW4gIiRpbnN0X3ByZWZpeF9k
aXIiICYmCgkJIHRlc3QgLWYgIiRpbnN0X3ByZWZpeF9kaXIkbGliZGlyLyRs
aW5rbGliIiA7IHRoZW4KCQlhZGQ9IiRpbnN0X3ByZWZpeF9kaXIkbGliZGly
LyRsaW5rbGliIgoJICAgICAgZWxzZQoJCWFkZD0iJGxpYmRpci8kbGlua2xp
YiIKCSAgICAgIGZpCgkgICAgZWxzZQoJICAgICAgIyBXZSBjYW5ub3Qgc2Vl
bSB0byBoYXJkY29kZSBpdCwgZ3Vlc3Mgd2UnbGwgZmFrZSBpdC4KCSAgICAg
IGFkZF9kaXI9Ii1MJGxpYmRpciIKCSAgICAgICMgVHJ5IGxvb2tpbmcgZmly
c3QgaW4gdGhlIGxvY2F0aW9uIHdlJ3JlIGJlaW5nIGluc3RhbGxlZCB0by4K
CSAgICAgIGlmIHRlc3QgLW4gIiRpbnN0X3ByZWZpeF9kaXIiOyB0aGVuCgkJ
Y2FzZSAkbGliZGlyIGluCgkJICBbXFwvXSopCgkJICAgIGFkZF9kaXIrPSIg
LUwkaW5zdF9wcmVmaXhfZGlyJGxpYmRpciIKCQkgICAgOzsKCQllc2FjCgkg
ICAgICBmaQoJICAgICAgYWRkPSItbCRuYW1lIgoJICAgIGZpCgoJICAgIGlm
IHRlc3QgIiRsaW5rbW9kZSIgPSBwcm9nOyB0aGVuCgkgICAgICB0ZXN0IC1u
ICIkYWRkX2RpciIgJiYgZmluYWxpemVfZGVwbGlicz0iJGFkZF9kaXIgJGZp
bmFsaXplX2RlcGxpYnMiCgkgICAgICB0ZXN0IC1uICIkYWRkIiAmJiBmaW5h
bGl6ZV9kZXBsaWJzPSIkYWRkICRmaW5hbGl6ZV9kZXBsaWJzIgoJICAgIGVs
c2UKCSAgICAgIHRlc3QgLW4gIiRhZGRfZGlyIiAmJiBkZXBsaWJzPSIkYWRk
X2RpciAkZGVwbGlicyIKCSAgICAgIHRlc3QgLW4gIiRhZGQiICYmIGRlcGxp
YnM9IiRhZGQgJGRlcGxpYnMiCgkgICAgZmkKCSAgZmkKCWVsaWYgdGVzdCAi
JGxpbmttb2RlIiA9IHByb2c7IHRoZW4KCSAgIyBIZXJlIHdlIGFzc3VtZSB0
aGF0IG9uZSBvZiBoYXJkY29kZV9kaXJlY3Qgb3IgaGFyZGNvZGVfbWludXNf
TAoJICAjIGlzIG5vdCB1bnN1cHBvcnRlZC4gIFRoaXMgaXMgdmFsaWQgb24g
YWxsIGtub3duIHN0YXRpYyBhbmQKCSAgIyBzaGFyZWQgcGxhdGZvcm1zLgoJ
ICBpZiB0ZXN0ICIkaGFyZGNvZGVfZGlyZWN0IiAhPSB1bnN1cHBvcnRlZDsg
dGhlbgoJICAgIHRlc3QgLW4gIiRvbGRfbGlicmFyeSIgJiYgbGlua2xpYj0i
JG9sZF9saWJyYXJ5IgoJICAgIGNvbXBpbGVfZGVwbGlicz0iJGRpci8kbGlu
a2xpYiAkY29tcGlsZV9kZXBsaWJzIgoJICAgIGZpbmFsaXplX2RlcGxpYnM9
IiRkaXIvJGxpbmtsaWIgJGZpbmFsaXplX2RlcGxpYnMiCgkgIGVsc2UKCSAg
ICBjb21waWxlX2RlcGxpYnM9Ii1sJG5hbWUgLUwkZGlyICRjb21waWxlX2Rl
cGxpYnMiCgkgICAgZmluYWxpemVfZGVwbGlicz0iLWwkbmFtZSAtTCRkaXIg
JGZpbmFsaXplX2RlcGxpYnMiCgkgIGZpCgllbGlmIHRlc3QgIiRidWlsZF9s
aWJ0b29sX2xpYnMiID0geWVzOyB0aGVuCgkgICMgTm90IGEgc2hhcmVkIGxp
YnJhcnkKCSAgaWYgdGVzdCAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAhPSBw
YXNzX2FsbDsgdGhlbgoJICAgICMgV2UncmUgdHJ5aW5nIGxpbmsgYSBzaGFy
ZWQgbGlicmFyeSBhZ2FpbnN0IGEgc3RhdGljIG9uZQoJICAgICMgYnV0IHRo
ZSBzeXN0ZW0gZG9lc24ndCBzdXBwb3J0IGl0LgoKCSAgICAjIEp1c3QgcHJp
bnQgYSB3YXJuaW5nIGFuZCBhZGQgdGhlIGxpYnJhcnkgdG8gZGVwZW5kZW5j
eV9saWJzIHNvCgkgICAgIyB0aGF0IHRoZSBwcm9ncmFtIGNhbiBiZSBsaW5r
ZWQgYWdhaW5zdCB0aGUgc3RhdGljIGxpYnJhcnkuCgkgICAgZWNobwoJICAg
ICRFQ0hPICIqKiogV2FybmluZzogVGhpcyBzeXN0ZW0gY2FuIG5vdCBsaW5r
IHRvIHN0YXRpYyBsaWIgYXJjaGl2ZSAkbGliLiIKCSAgICBlY2hvICIqKiog
SSBoYXZlIHRoZSBjYXBhYmlsaXR5IHRvIG1ha2UgdGhhdCBsaWJyYXJ5IGF1
dG9tYXRpY2FsbHkgbGluayBpbiB3aGVuIgoJICAgIGVjaG8gIioqKiB5b3Ug
bGluayB0byB0aGlzIGxpYnJhcnkuICBCdXQgSSBjYW4gb25seSBkbyB0aGlz
IGlmIHlvdSBoYXZlIGEiCgkgICAgZWNobyAiKioqIHNoYXJlZCB2ZXJzaW9u
IG9mIHRoZSBsaWJyYXJ5LCB3aGljaCB5b3UgZG8gbm90IGFwcGVhciB0byBo
YXZlLiIKCSAgICBpZiB0ZXN0ICIkbW9kdWxlIiA9IHllczsgdGhlbgoJICAg
ICAgZWNobyAiKioqIEJ1dCBhcyB5b3UgdHJ5IHRvIGJ1aWxkIGEgbW9kdWxl
IGxpYnJhcnksIGxpYnRvb2wgd2lsbCBzdGlsbCBjcmVhdGUgIgoJICAgICAg
ZWNobyAiKioqIGEgc3RhdGljIG1vZHVsZSwgdGhhdCBzaG91bGQgd29yayBh
cyBsb25nIGFzIHRoZSBkbG9wZW5pbmcgYXBwbGljYXRpb24iCgkgICAgICBl
Y2hvICIqKiogaXMgbGlua2VkIHdpdGggdGhlIC1kbG9wZW4gZmxhZyB0byBy
ZXNvbHZlIHN5bWJvbHMgYXQgcnVudGltZS4iCgkgICAgICBpZiB0ZXN0IC16
ICIkZ2xvYmFsX3N5bWJvbF9waXBlIjsgdGhlbgoJCWVjaG8KCQllY2hvICIq
KiogSG93ZXZlciwgdGhpcyB3b3VsZCBvbmx5IHdvcmsgaWYgbGlidG9vbCB3
YXMgYWJsZSB0byBleHRyYWN0IHN5bWJvbCIKCQllY2hvICIqKiogbGlzdHMg
ZnJvbSBhIHByb2dyYW0sIHVzaW5nIFxgbm0nIG9yIGVxdWl2YWxlbnQsIGJ1
dCBsaWJ0b29sIGNvdWxkIgoJCWVjaG8gIioqKiBub3QgZmluZCBzdWNoIGEg
cHJvZ3JhbS4gIFNvLCB0aGlzIG1vZHVsZSBpcyBwcm9iYWJseSB1c2VsZXNz
LiIKCQllY2hvICIqKiogXGBubScgZnJvbSBHTlUgYmludXRpbHMgYW5kIGEg
ZnVsbCByZWJ1aWxkIG1heSBoZWxwLiIKCSAgICAgIGZpCgkgICAgICBpZiB0
ZXN0ICIkYnVpbGRfb2xkX2xpYnMiID0gbm87IHRoZW4KCQlidWlsZF9saWJ0
b29sX2xpYnM9bW9kdWxlCgkJYnVpbGRfb2xkX2xpYnM9eWVzCgkgICAgICBl
bHNlCgkJYnVpbGRfbGlidG9vbF9saWJzPW5vCgkgICAgICBmaQoJICAgIGZp
CgkgIGVsc2UKCSAgICBkZXBsaWJzPSIkZGlyLyRvbGRfbGlicmFyeSAkZGVw
bGlicyIKCSAgICBsaW5rX3N0YXRpYz15ZXMKCSAgZmkKCWZpICMgbGluayBz
aGFyZWQvc3RhdGljIGxpYnJhcnk/CgoJaWYgdGVzdCAiJGxpbmttb2RlIiA9
IGxpYjsgdGhlbgoJICBpZiB0ZXN0IC1uICIkZGVwZW5kZW5jeV9saWJzIiAm
JgoJICAgICB7IHRlc3QgIiRoYXJkY29kZV9pbnRvX2xpYnMiICE9IHllcyB8
fAoJICAgICAgIHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSB5ZXMgfHwKCSAg
ICAgICB0ZXN0ICIkbGlua19zdGF0aWMiID0geWVzOyB9OyB0aGVuCgkgICAg
IyBFeHRyYWN0IC1SIGZyb20gZGVwZW5kZW5jeV9saWJzCgkgICAgdGVtcF9k
ZXBsaWJzPQoJICAgIGZvciBsaWJkaXIgaW4gJGRlcGVuZGVuY3lfbGliczsg
ZG8KCSAgICAgIGNhc2UgJGxpYmRpciBpbgoJICAgICAgLVIqKSBmdW5jX3N0
cmlwbmFtZSAnLVInICcnICIkbGliZGlyIgoJICAgICAgICAgICB0ZW1wX3hy
cGF0aD0kZnVuY19zdHJpcG5hbWVfcmVzdWx0CgkJICAgY2FzZSAiICR4cnBh
dGggIiBpbgoJCSAgICoiICR0ZW1wX3hycGF0aCAiKikgOzsKCQkgICAqKSB4
cnBhdGgrPSIgJHRlbXBfeHJwYXRoIjs7CgkJICAgZXNhYzs7CgkgICAgICAq
KSB0ZW1wX2RlcGxpYnMrPSIgJGxpYmRpciI7OwoJICAgICAgZXNhYwoJICAg
IGRvbmUKCSAgICBkZXBlbmRlbmN5X2xpYnM9IiR0ZW1wX2RlcGxpYnMiCgkg
IGZpCgoJICBuZXdsaWJfc2VhcmNoX3BhdGgrPSIgJGFic2RpciIKCSAgIyBM
aW5rIGFnYWluc3QgdGhpcyBsaWJyYXJ5CgkgIHRlc3QgIiRsaW5rX3N0YXRp
YyIgPSBubyAmJiBuZXdkZXBlbmRlbmN5X2xpYnM9IiRhYnNfbGFkaXIvJGxh
bmFtZSAkbmV3ZGVwZW5kZW5jeV9saWJzIgoJICAjIC4uLiBhbmQgaXRzIGRl
cGVuZGVuY3lfbGlicwoJICB0bXBfbGlicz0KCSAgZm9yIGRlcGxpYiBpbiAk
ZGVwZW5kZW5jeV9saWJzOyBkbwoJICAgIG5ld2RlcGVuZGVuY3lfbGlicz0i
JGRlcGxpYiAkbmV3ZGVwZW5kZW5jeV9saWJzIgoJICAgIGNhc2UgJGRlcGxp
YiBpbgogICAgICAgICAgICAgIC1MKikgZnVuY19zdHJpcG5hbWUgJy1MJyAn
JyAiJGRlcGxpYiIKICAgICAgICAgICAgICAgICAgIGZ1bmNfcmVzb2x2ZV9z
eXNyb290ICIkZnVuY19zdHJpcG5hbWVfcmVzdWx0Ijs7CiAgICAgICAgICAg
ICAgKikgZnVuY19yZXNvbHZlX3N5c3Jvb3QgIiRkZXBsaWIiIDs7CiAgICAg
ICAgICAgIGVzYWMKCSAgICBpZiAkb3B0X3ByZXNlcnZlX2R1cF9kZXBzIDsg
dGhlbgoJICAgICAgY2FzZSAiJHRtcF9saWJzICIgaW4KCSAgICAgICoiICRm
dW5jX3Jlc29sdmVfc3lzcm9vdF9yZXN1bHQgIiopCiAgICAgICAgICAgICAg
ICBzcGVjaWFsZGVwbGlicys9IiAkZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVz
dWx0IiA7OwoJICAgICAgZXNhYwoJICAgIGZpCgkgICAgdG1wX2xpYnMrPSIg
JGZ1bmNfcmVzb2x2ZV9zeXNyb290X3Jlc3VsdCIKCSAgZG9uZQoKCSAgaWYg
dGVzdCAiJGxpbmtfYWxsX2RlcGxpYnMiICE9IG5vOyB0aGVuCgkgICAgIyBB
ZGQgdGhlIHNlYXJjaCBwYXRocyBvZiBhbGwgZGVwZW5kZW5jeSBsaWJyYXJp
ZXMKCSAgICBmb3IgZGVwbGliIGluICRkZXBlbmRlbmN5X2xpYnM7IGRvCgkg
ICAgICBwYXRoPQoJICAgICAgY2FzZSAkZGVwbGliIGluCgkgICAgICAtTCop
IHBhdGg9IiRkZXBsaWIiIDs7CgkgICAgICAqLmxhKQoJICAgICAgICBmdW5j
X3Jlc29sdmVfc3lzcm9vdCAiJGRlcGxpYiIKCSAgICAgICAgZGVwbGliPSRm
dW5jX3Jlc29sdmVfc3lzcm9vdF9yZXN1bHQKCSAgICAgICAgZnVuY19kaXJu
YW1lICIkZGVwbGliIiAiIiAiLiIKCQlkaXI9JGZ1bmNfZGlybmFtZV9yZXN1
bHQKCQkjIFdlIG5lZWQgYW4gYWJzb2x1dGUgcGF0aC4KCQljYXNlICRkaXIg
aW4KCQlbXFwvXSogfCBbQS1aYS16XTpbXFwvXSopIGFic2Rpcj0iJGRpciIg
OzsKCQkqKQoJCSAgYWJzZGlyPWBjZCAiJGRpciIgJiYgcHdkYAoJCSAgaWYg
dGVzdCAteiAiJGFic2RpciI7IHRoZW4KCQkgICAgZnVuY193YXJuaW5nICJj
YW5ub3QgZGV0ZXJtaW5lIGFic29sdXRlIGRpcmVjdG9yeSBuYW1lIG9mIFxg
JGRpciciCgkJICAgIGFic2Rpcj0iJGRpciIKCQkgIGZpCgkJICA7OwoJCWVz
YWMKCQlpZiAkR1JFUCAiXmluc3RhbGxlZD1ubyIgJGRlcGxpYiA+IC9kZXYv
bnVsbDsgdGhlbgoJCWNhc2UgJGhvc3QgaW4KCQkqLSotZGFyd2luKikKCQkg
IGRlcGRlcGw9CgkJICBldmFsIGRlcGxpYnJhcnlfbmFtZXM9YCR7U0VEfSAt
biAtZSAncy9ebGlicmFyeV9uYW1lcz1cKC4qXCkkL1wxL3AnICRkZXBsaWJg
CgkJICBpZiB0ZXN0IC1uICIkZGVwbGlicmFyeV9uYW1lcyIgOyB0aGVuCgkJ
ICAgIGZvciB0bXAgaW4gJGRlcGxpYnJhcnlfbmFtZXMgOyBkbwoJCSAgICAg
IGRlcGRlcGw9JHRtcAoJCSAgICBkb25lCgkJICAgIGlmIHRlc3QgLWYgIiRh
YnNkaXIvJG9iamRpci8kZGVwZGVwbCIgOyB0aGVuCgkJICAgICAgZGVwZGVw
bD0iJGFic2Rpci8kb2JqZGlyLyRkZXBkZXBsIgoJCSAgICAgIGRhcndpbl9p
bnN0YWxsX25hbWU9YCR7T1RPT0x9IC1MICRkZXBkZXBsIHwgYXdrICd7aWYg
KE5SID09IDIpIHtwcmludCAkMTtleGl0fX0nYAogICAgICAgICAgICAgICAg
ICAgICAgaWYgdGVzdCAteiAiJGRhcndpbl9pbnN0YWxsX25hbWUiOyB0aGVu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgZGFyd2luX2luc3RhbGxfbmFt
ZT1gJHtPVE9PTDY0fSAtTCAkZGVwZGVwbCAgfCBhd2sgJ3tpZiAoTlIgPT0g
Mikge3ByaW50ICQxO2V4aXR9fSdgCiAgICAgICAgICAgICAgICAgICAgICBm
aQoJCSAgICAgIGNvbXBpbGVyX2ZsYWdzKz0iICR7d2x9LWR5bGliX2ZpbGUg
JHt3bH0ke2Rhcndpbl9pbnN0YWxsX25hbWV9OiR7ZGVwZGVwbH0iCgkJICAg
ICAgbGlua2VyX2ZsYWdzKz0iIC1keWxpYl9maWxlICR7ZGFyd2luX2luc3Rh
bGxfbmFtZX06JHtkZXBkZXBsfSIKCQkgICAgICBwYXRoPQoJCSAgICBmaQoJ
CSAgZmkKCQkgIDs7CgkJKikKCQkgIHBhdGg9Ii1MJGFic2Rpci8kb2JqZGly
IgoJCSAgOzsKCQllc2FjCgkJZWxzZQoJCSAgZXZhbCBsaWJkaXI9YCR7U0VE
fSAtbiAtZSAncy9ebGliZGlyPVwoLipcKSQvXDEvcCcgJGRlcGxpYmAKCQkg
IHRlc3QgLXogIiRsaWJkaXIiICYmIFwKCQkgICAgZnVuY19mYXRhbF9lcnJv
ciAiXGAkZGVwbGliJyBpcyBub3QgYSB2YWxpZCBsaWJ0b29sIGFyY2hpdmUi
CgkJICB0ZXN0ICIkYWJzZGlyIiAhPSAiJGxpYmRpciIgJiYgXAoJCSAgICBm
dW5jX3dhcm5pbmcgIlxgJGRlcGxpYicgc2VlbXMgdG8gYmUgbW92ZWQiCgoJ
CSAgcGF0aD0iLUwkYWJzZGlyIgoJCWZpCgkJOzsKCSAgICAgIGVzYWMKCSAg
ICAgIGNhc2UgIiAkZGVwbGlicyAiIGluCgkgICAgICAqIiAkcGF0aCAiKikg
OzsKCSAgICAgICopIGRlcGxpYnM9IiRwYXRoICRkZXBsaWJzIiA7OwoJICAg
ICAgZXNhYwoJICAgIGRvbmUKCSAgZmkgIyBsaW5rX2FsbF9kZXBsaWJzICE9
IG5vCglmaSAjIGxpbmttb2RlID0gbGliCiAgICAgIGRvbmUgIyBmb3IgZGVw
bGliIGluICRsaWJzCiAgICAgIGlmIHRlc3QgIiRwYXNzIiA9IGxpbms7IHRo
ZW4KCWlmIHRlc3QgIiRsaW5rbW9kZSIgPSAicHJvZyI7IHRoZW4KCSAgY29t
cGlsZV9kZXBsaWJzPSIkbmV3X2luaGVyaXRlZF9saW5rZXJfZmxhZ3MgJGNv
bXBpbGVfZGVwbGlicyIKCSAgZmluYWxpemVfZGVwbGlicz0iJG5ld19pbmhl
cml0ZWRfbGlua2VyX2ZsYWdzICRmaW5hbGl6ZV9kZXBsaWJzIgoJZWxzZQoJ
ICBjb21waWxlcl9mbGFncz0iJGNvbXBpbGVyX2ZsYWdzICJgJEVDSE8gIiAk
bmV3X2luaGVyaXRlZF9saW5rZXJfZmxhZ3MiIHwgJFNFRCAncyUgXChbXiAk
XSpcKS5sdGZyYW1ld29yayUgLWZyYW1ld29yayBcMSVnJ2AKCWZpCiAgICAg
IGZpCiAgICAgIGRlcGVuZGVuY3lfbGlicz0iJG5ld2RlcGVuZGVuY3lfbGli
cyIKICAgICAgaWYgdGVzdCAiJHBhc3MiID0gZGxwcmVvcGVuOyB0aGVuCgkj
IExpbmsgdGhlIGRscHJlb3BlbmVkIGxpYnJhcmllcyBiZWZvcmUgb3RoZXIg
bGlicmFyaWVzCglmb3IgZGVwbGliIGluICRzYXZlX2RlcGxpYnM7IGRvCgkg
IGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMiCglkb25lCiAgICAgIGZpCiAg
ICAgIGlmIHRlc3QgIiRwYXNzIiAhPSBkbG9wZW47IHRoZW4KCWlmIHRlc3Qg
IiRwYXNzIiAhPSBjb252OyB0aGVuCgkgICMgTWFrZSBzdXJlIGxpYl9zZWFy
Y2hfcGF0aCBjb250YWlucyBvbmx5IHVuaXF1ZSBkaXJlY3Rvcmllcy4KCSAg
bGliX3NlYXJjaF9wYXRoPQoJICBmb3IgZGlyIGluICRuZXdsaWJfc2VhcmNo
X3BhdGg7IGRvCgkgICAgY2FzZSAiJGxpYl9zZWFyY2hfcGF0aCAiIGluCgkg
ICAgKiIgJGRpciAiKikgOzsKCSAgICAqKSBsaWJfc2VhcmNoX3BhdGgrPSIg
JGRpciIgOzsKCSAgICBlc2FjCgkgIGRvbmUKCSAgbmV3bGliX3NlYXJjaF9w
YXRoPQoJZmkKCglpZiB0ZXN0ICIkbGlua21vZGUsJHBhc3MiICE9ICJwcm9n
LGxpbmsiOyB0aGVuCgkgIHZhcnM9ImRlcGxpYnMiCgllbHNlCgkgIHZhcnM9
ImNvbXBpbGVfZGVwbGlicyBmaW5hbGl6ZV9kZXBsaWJzIgoJZmkKCWZvciB2
YXIgaW4gJHZhcnMgZGVwZW5kZW5jeV9saWJzOyBkbwoJICAjIEFkZCBsaWJy
YXJpZXMgdG8gJHZhciBpbiByZXZlcnNlIG9yZGVyCgkgIGV2YWwgdG1wX2xp
YnM9XCJcJCR2YXJcIgoJICBuZXdfbGlicz0KCSAgZm9yIGRlcGxpYiBpbiAk
dG1wX2xpYnM7IGRvCgkgICAgIyBGSVhNRTogUGVkYW50aWNhbGx5LCB0aGlz
IGlzIHRoZSByaWdodCB0aGluZyB0byBkbywgc28KCSAgICAjICAgICAgICB0
aGF0IHNvbWUgbmFzdHkgZGVwZW5kZW5jeSBsb29wIGlzbid0IGFjY2lkZW50
YWxseQoJICAgICMgICAgICAgIGJyb2tlbjoKCSAgICAjbmV3X2xpYnM9IiRk
ZXBsaWIgJG5ld19saWJzIgoJICAgICMgUHJhZ21hdGljYWxseSwgdGhpcyBz
ZWVtcyB0byBjYXVzZSB2ZXJ5IGZldyBwcm9ibGVtcyBpbgoJICAgICMgcHJh
Y3RpY2U6CgkgICAgY2FzZSAkZGVwbGliIGluCgkgICAgLUwqKSBuZXdfbGli
cz0iJGRlcGxpYiAkbmV3X2xpYnMiIDs7CgkgICAgLVIqKSA7OwoJICAgICop
CgkgICAgICAjIEFuZCBoZXJlIGlzIHRoZSByZWFzb246IHdoZW4gYSBsaWJy
YXJ5IGFwcGVhcnMgbW9yZQoJICAgICAgIyB0aGFuIG9uY2UgYXMgYW4gZXhw
bGljaXQgZGVwZW5kZW5jZSBvZiBhIGxpYnJhcnksIG9yCgkgICAgICAjIGlz
IGltcGxpY2l0bHkgbGlua2VkIGluIG1vcmUgdGhhbiBvbmNlIGJ5IHRoZQoJ
ICAgICAgIyBjb21waWxlciwgaXQgaXMgY29uc2lkZXJlZCBzcGVjaWFsLCBh
bmQgbXVsdGlwbGUKCSAgICAgICMgb2NjdXJyZW5jZXMgdGhlcmVvZiBhcmUg
bm90IHJlbW92ZWQuICBDb21wYXJlIHRoaXMKCSAgICAgICMgd2l0aCBoYXZp
bmcgdGhlIHNhbWUgbGlicmFyeSBiZWluZyBsaXN0ZWQgYXMgYQoJICAgICAg
IyBkZXBlbmRlbmN5IG9mIG11bHRpcGxlIG90aGVyIGxpYnJhcmllczogaW4g
dGhpcyBjYXNlLAoJICAgICAgIyB3ZSBrbm93IChwZWRhbnRpY2FsbHksIHdl
IGFzc3VtZSkgdGhlIGxpYnJhcnkgZG9lcyBub3QKCSAgICAgICMgbmVlZCB0
byBiZSBsaXN0ZWQgbW9yZSB0aGFuIG9uY2UsIHNvIHdlIGtlZXAgb25seSB0
aGUKCSAgICAgICMgbGFzdCBjb3B5LiAgVGhpcyBpcyBub3QgYWx3YXlzIHJp
Z2h0LCBidXQgaXQgaXMgcmFyZQoJICAgICAgIyBlbm91Z2ggdGhhdCB3ZSBy
ZXF1aXJlIHVzZXJzIHRoYXQgcmVhbGx5IG1lYW4gdG8gcGxheQoJICAgICAg
IyBzdWNoIHVucG9ydGFibGUgbGlua2luZyB0cmlja3MgdG8gbGluayB0aGUg
bGlicmFyeQoJICAgICAgIyB1c2luZyAtV2wsLWxuYW1lLCBzbyB0aGF0IGxp
YnRvb2wgZG9lcyBub3QgY29uc2lkZXIgaXQKCSAgICAgICMgZm9yIGR1cGxp
Y2F0ZSByZW1vdmFsLgoJICAgICAgY2FzZSAiICRzcGVjaWFsZGVwbGlicyAi
IGluCgkgICAgICAqIiAkZGVwbGliICIqKSBuZXdfbGlicz0iJGRlcGxpYiAk
bmV3X2xpYnMiIDs7CgkgICAgICAqKQoJCWNhc2UgIiAkbmV3X2xpYnMgIiBp
bgoJCSoiICRkZXBsaWIgIiopIDs7CgkJKikgbmV3X2xpYnM9IiRkZXBsaWIg
JG5ld19saWJzIiA7OwoJCWVzYWMKCQk7OwoJICAgICAgZXNhYwoJICAgICAg
OzsKCSAgICBlc2FjCgkgIGRvbmUKCSAgdG1wX2xpYnM9CgkgIGZvciBkZXBs
aWIgaW4gJG5ld19saWJzOyBkbwoJICAgIGNhc2UgJGRlcGxpYiBpbgoJICAg
IC1MKikKCSAgICAgIGNhc2UgIiAkdG1wX2xpYnMgIiBpbgoJICAgICAgKiIg
JGRlcGxpYiAiKikgOzsKCSAgICAgICopIHRtcF9saWJzKz0iICRkZXBsaWIi
IDs7CgkgICAgICBlc2FjCgkgICAgICA7OwoJICAgICopIHRtcF9saWJzKz0i
ICRkZXBsaWIiIDs7CgkgICAgZXNhYwoJICBkb25lCgkgIGV2YWwgJHZhcj1c
IiR0bXBfbGlic1wiCglkb25lICMgZm9yIHZhcgogICAgICBmaQogICAgICAj
IExhc3Qgc3RlcDogcmVtb3ZlIHJ1bnRpbWUgbGlicyBmcm9tIGRlcGVuZGVu
Y3lfbGlicwogICAgICAjICh0aGV5IHN0YXkgaW4gZGVwbGlicykKICAgICAg
dG1wX2xpYnM9CiAgICAgIGZvciBpIGluICRkZXBlbmRlbmN5X2xpYnMgOyBk
bwoJY2FzZSAiICRwcmVkZXBzICRwb3N0ZGVwcyAkY29tcGlsZXJfbGliX3Nl
YXJjaF9wYXRoICIgaW4KCSoiICRpICIqKQoJICBpPSIiCgkgIDs7Cgllc2Fj
CglpZiB0ZXN0IC1uICIkaSIgOyB0aGVuCgkgIHRtcF9saWJzKz0iICRpIgoJ
ZmkKICAgICAgZG9uZQogICAgICBkZXBlbmRlbmN5X2xpYnM9JHRtcF9saWJz
CiAgICBkb25lICMgZm9yIHBhc3MKICAgIGlmIHRlc3QgIiRsaW5rbW9kZSIg
PSBwcm9nOyB0aGVuCiAgICAgIGRsZmlsZXM9IiRuZXdkbGZpbGVzIgogICAg
ZmkKICAgIGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBwcm9nIHx8IHRlc3QgIiRs
aW5rbW9kZSIgPSBsaWI7IHRoZW4KICAgICAgZGxwcmVmaWxlcz0iJG5ld2Rs
cHJlZmlsZXMiCiAgICBmaQoKICAgIGNhc2UgJGxpbmttb2RlIGluCiAgICBv
bGRsaWIpCiAgICAgIGlmIHRlc3QgLW4gIiRkbGZpbGVzJGRscHJlZmlsZXMi
IHx8IHRlc3QgIiRkbHNlbGYiICE9IG5vOyB0aGVuCglmdW5jX3dhcm5pbmcg
IlxgLWRsb3BlbicgaXMgaWdub3JlZCBmb3IgYXJjaGl2ZXMiCiAgICAgIGZp
CgogICAgICBjYXNlICIgJGRlcGxpYnMiIGluCiAgICAgICpcIC1sKiB8ICpc
IC1MKikKCWZ1bmNfd2FybmluZyAiXGAtbCcgYW5kIFxgLUwnIGFyZSBpZ25v
cmVkIGZvciBhcmNoaXZlcyIgOzsKICAgICAgZXNhYwoKICAgICAgdGVzdCAt
biAiJHJwYXRoIiAmJiBcCglmdW5jX3dhcm5pbmcgIlxgLXJwYXRoJyBpcyBp
Z25vcmVkIGZvciBhcmNoaXZlcyIKCiAgICAgIHRlc3QgLW4gIiR4cnBhdGgi
ICYmIFwKCWZ1bmNfd2FybmluZyAiXGAtUicgaXMgaWdub3JlZCBmb3IgYXJj
aGl2ZXMiCgogICAgICB0ZXN0IC1uICIkdmluZm8iICYmIFwKCWZ1bmNfd2Fy
bmluZyAiXGAtdmVyc2lvbi1pbmZvLy12ZXJzaW9uLW51bWJlcicgaXMgaWdu
b3JlZCBmb3IgYXJjaGl2ZXMiCgogICAgICB0ZXN0IC1uICIkcmVsZWFzZSIg
JiYgXAoJZnVuY193YXJuaW5nICJcYC1yZWxlYXNlJyBpcyBpZ25vcmVkIGZv
ciBhcmNoaXZlcyIKCiAgICAgIHRlc3QgLW4gIiRleHBvcnRfc3ltYm9scyRl
eHBvcnRfc3ltYm9sc19yZWdleCIgJiYgXAoJZnVuY193YXJuaW5nICJcYC1l
eHBvcnQtc3ltYm9scycgaXMgaWdub3JlZCBmb3IgYXJjaGl2ZXMiCgogICAg
ICAjIE5vdyBzZXQgdGhlIHZhcmlhYmxlcyBmb3IgYnVpbGRpbmcgb2xkIGxp
YnJhcmllcy4KICAgICAgYnVpbGRfbGlidG9vbF9saWJzPW5vCiAgICAgIG9s
ZGxpYnM9IiRvdXRwdXQiCiAgICAgIG9ianMrPSIkb2xkX2RlcGxpYnMiCiAg
ICAgIDs7CgogICAgbGliKQogICAgICAjIE1ha2Ugc3VyZSB3ZSBvbmx5IGdl
bmVyYXRlIGxpYnJhcmllcyBvZiB0aGUgZm9ybSBgbGliTkFNRS5sYScuCiAg
ICAgIGNhc2UgJG91dHB1dG5hbWUgaW4KICAgICAgbGliKikKCWZ1bmNfc3Ry
aXBuYW1lICdsaWInICcubGEnICIkb3V0cHV0bmFtZSIKCW5hbWU9JGZ1bmNf
c3RyaXBuYW1lX3Jlc3VsdAoJZXZhbCBzaGFyZWRfZXh0PVwiJHNocmV4dF9j
bWRzXCIKCWV2YWwgbGlibmFtZT1cIiRsaWJuYW1lX3NwZWNcIgoJOzsKICAg
ICAgKikKCXRlc3QgIiRtb2R1bGUiID0gbm8gJiYgXAoJICBmdW5jX2ZhdGFs
X2hlbHAgImxpYnRvb2wgbGlicmFyeSBcYCRvdXRwdXQnIG11c3QgYmVnaW4g
d2l0aCBcYGxpYiciCgoJaWYgdGVzdCAiJG5lZWRfbGliX3ByZWZpeCIgIT0g
bm87IHRoZW4KCSAgIyBBZGQgdGhlICJsaWIiIHByZWZpeCBmb3IgbW9kdWxl
cyBpZiByZXF1aXJlZAoJICBmdW5jX3N0cmlwbmFtZSAnJyAnLmxhJyAiJG91
dHB1dG5hbWUiCgkgIG5hbWU9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAoJICBl
dmFsIHNoYXJlZF9leHQ9XCIkc2hyZXh0X2NtZHNcIgoJICBldmFsIGxpYm5h
bWU9XCIkbGlibmFtZV9zcGVjXCIKCWVsc2UKCSAgZnVuY19zdHJpcG5hbWUg
JycgJy5sYScgIiRvdXRwdXRuYW1lIgoJICBsaWJuYW1lPSRmdW5jX3N0cmlw
bmFtZV9yZXN1bHQKCWZpCgk7OwogICAgICBlc2FjCgogICAgICBpZiB0ZXN0
IC1uICIkb2JqcyI7IHRoZW4KCWlmIHRlc3QgIiRkZXBsaWJzX2NoZWNrX21l
dGhvZCIgIT0gcGFzc19hbGw7IHRoZW4KCSAgZnVuY19mYXRhbF9lcnJvciAi
Y2Fubm90IGJ1aWxkIGxpYnRvb2wgbGlicmFyeSBcYCRvdXRwdXQnIGZyb20g
bm9uLWxpYnRvb2wgb2JqZWN0cyBvbiB0aGlzIGhvc3Q6JG9ianMiCgllbHNl
CgkgIGVjaG8KCSAgJEVDSE8gIioqKiBXYXJuaW5nOiBMaW5raW5nIHRoZSBz
aGFyZWQgbGlicmFyeSAkb3V0cHV0IGFnYWluc3QgdGhlIG5vbi1saWJ0b29s
IgoJICAkRUNITyAiKioqIG9iamVjdHMgJG9ianMgaXMgbm90IHBvcnRhYmxl
ISIKCSAgbGlib2Jqcys9IiAkb2JqcyIKCWZpCiAgICAgIGZpCgogICAgICB0
ZXN0ICIkZGxzZWxmIiAhPSBubyAmJiBcCglmdW5jX3dhcm5pbmcgIlxgLWRs
b3BlbiBzZWxmJyBpcyBpZ25vcmVkIGZvciBsaWJ0b29sIGxpYnJhcmllcyIK
CiAgICAgIHNldCBkdW1teSAkcnBhdGgKICAgICAgc2hpZnQKICAgICAgdGVz
dCAiJCMiIC1ndCAxICYmIFwKCWZ1bmNfd2FybmluZyAiaWdub3JpbmcgbXVs
dGlwbGUgXGAtcnBhdGgncyBmb3IgYSBsaWJ0b29sIGxpYnJhcnkiCgogICAg
ICBpbnN0YWxsX2xpYmRpcj0iJDEiCgogICAgICBvbGRsaWJzPQogICAgICBp
ZiB0ZXN0IC16ICIkcnBhdGgiOyB0aGVuCglpZiB0ZXN0ICIkYnVpbGRfbGli
dG9vbF9saWJzIiA9IHllczsgdGhlbgoJICAjIEJ1aWxkaW5nIGEgbGlidG9v
bCBjb252ZW5pZW5jZSBsaWJyYXJ5LgoJICAjIFNvbWUgY29tcGlsZXJzIGhh
dmUgcHJvYmxlbXMgd2l0aCBhIGAuYWwnIGV4dGVuc2lvbiBzbwoJICAjIGNv
bnZlbmllbmNlIGxpYnJhcmllcyBzaG91bGQgaGF2ZSB0aGUgc2FtZSBleHRl
bnNpb24gYW4KCSAgIyBhcmNoaXZlIG5vcm1hbGx5IHdvdWxkLgoJICBvbGRs
aWJzPSIkb3V0cHV0X29iamRpci8kbGlibmFtZS4kbGliZXh0ICRvbGRsaWJz
IgoJICBidWlsZF9saWJ0b29sX2xpYnM9Y29udmVuaWVuY2UKCSAgYnVpbGRf
b2xkX2xpYnM9eWVzCglmaQoKCXRlc3QgLW4gIiR2aW5mbyIgJiYgXAoJICBm
dW5jX3dhcm5pbmcgIlxgLXZlcnNpb24taW5mby8tdmVyc2lvbi1udW1iZXIn
IGlzIGlnbm9yZWQgZm9yIGNvbnZlbmllbmNlIGxpYnJhcmllcyIKCgl0ZXN0
IC1uICIkcmVsZWFzZSIgJiYgXAoJICBmdW5jX3dhcm5pbmcgIlxgLXJlbGVh
c2UnIGlzIGlnbm9yZWQgZm9yIGNvbnZlbmllbmNlIGxpYnJhcmllcyIKICAg
ICAgZWxzZQoKCSMgUGFyc2UgdGhlIHZlcnNpb24gaW5mb3JtYXRpb24gYXJn
dW1lbnQuCglzYXZlX2lmcz0iJElGUyI7IElGUz0nOicKCXNldCBkdW1teSAk
dmluZm8gMCAwIDAKCXNoaWZ0CglJRlM9IiRzYXZlX2lmcyIKCgl0ZXN0IC1u
ICIkNyIgJiYgXAoJICBmdW5jX2ZhdGFsX2hlbHAgInRvbyBtYW55IHBhcmFt
ZXRlcnMgdG8gXGAtdmVyc2lvbi1pbmZvJyIKCgkjIGNvbnZlcnQgYWJzb2x1
dGUgdmVyc2lvbiBudW1iZXJzIHRvIGxpYnRvb2wgYWdlcwoJIyB0aGlzIHJl
dGFpbnMgY29tcGF0aWJpbGl0eSB3aXRoIC5sYSBmaWxlcyBhbmQgYXR0ZW1w
dHMKCSMgdG8gbWFrZSB0aGUgY29kZSBiZWxvdyBhIGJpdCBtb3JlIGNvbXBy
ZWhlbnNpYmxlCgoJY2FzZSAkdmluZm9fbnVtYmVyIGluCgl5ZXMpCgkgIG51
bWJlcl9tYWpvcj0iJDEiCgkgIG51bWJlcl9taW5vcj0iJDIiCgkgIG51bWJl
cl9yZXZpc2lvbj0iJDMiCgkgICMKCSAgIyBUaGVyZSBhcmUgcmVhbGx5IG9u
bHkgdHdvIGtpbmRzIC0tIHRob3NlIHRoYXQKCSAgIyB1c2UgdGhlIGN1cnJl
bnQgcmV2aXNpb24gYXMgdGhlIG1ham9yIHZlcnNpb24KCSAgIyBhbmQgdGhv
c2UgdGhhdCBzdWJ0cmFjdCBhZ2UgYW5kIHVzZSBhZ2UgYXMKCSAgIyBhIG1p
bm9yIHZlcnNpb24uICBCdXQsIHRoZW4gdGhlcmUgaXMgaXJpeAoJICAjIHdo
aWNoIGhhcyBhbiBleHRyYSAxIGFkZGVkIGp1c3QgZm9yIGZ1bgoJICAjCgkg
IGNhc2UgJHZlcnNpb25fdHlwZSBpbgoJICBkYXJ3aW58bGludXh8b3NmfHdp
bmRvd3N8bm9uZSkKCSAgICBmdW5jX2FyaXRoICRudW1iZXJfbWFqb3IgKyAk
bnVtYmVyX21pbm9yCgkgICAgY3VycmVudD0kZnVuY19hcml0aF9yZXN1bHQK
CSAgICBhZ2U9IiRudW1iZXJfbWlub3IiCgkgICAgcmV2aXNpb249IiRudW1i
ZXJfcmV2aXNpb24iCgkgICAgOzsKCSAgZnJlZWJzZC1hb3V0fGZyZWVic2Qt
ZWxmfHFueHxzdW5vcykKCSAgICBjdXJyZW50PSIkbnVtYmVyX21ham9yIgoJ
ICAgIHJldmlzaW9uPSIkbnVtYmVyX21pbm9yIgoJICAgIGFnZT0iMCIKCSAg
ICA7OwoJICBpcml4fG5vbnN0b3B1eCkKCSAgICBmdW5jX2FyaXRoICRudW1i
ZXJfbWFqb3IgKyAkbnVtYmVyX21pbm9yCgkgICAgY3VycmVudD0kZnVuY19h
cml0aF9yZXN1bHQKCSAgICBhZ2U9IiRudW1iZXJfbWlub3IiCgkgICAgcmV2
aXNpb249IiRudW1iZXJfbWlub3IiCgkgICAgbHRfaXJpeF9pbmNyZW1lbnQ9
bm8KCSAgICA7OwoJICBlc2FjCgkgIDs7CglubykKCSAgY3VycmVudD0iJDEi
CgkgIHJldmlzaW9uPSIkMiIKCSAgYWdlPSIkMyIKCSAgOzsKCWVzYWMKCgkj
IENoZWNrIHRoYXQgZWFjaCBvZiB0aGUgdGhpbmdzIGFyZSB2YWxpZCBudW1i
ZXJzLgoJY2FzZSAkY3VycmVudCBpbgoJMHxbMS05XXxbMS05XVswLTldfFsx
LTldWzAtOV1bMC05XXxbMS05XVswLTldWzAtOV1bMC05XXxbMS05XVswLTld
WzAtOV1bMC05XVswLTldKSA7OwoJKikKCSAgZnVuY19lcnJvciAiQ1VSUkVO
VCBcYCRjdXJyZW50JyBtdXN0IGJlIGEgbm9ubmVnYXRpdmUgaW50ZWdlciIK
CSAgZnVuY19mYXRhbF9lcnJvciAiXGAkdmluZm8nIGlzIG5vdCB2YWxpZCB2
ZXJzaW9uIGluZm9ybWF0aW9uIgoJICA7OwoJZXNhYwoKCWNhc2UgJHJldmlz
aW9uIGluCgkwfFsxLTldfFsxLTldWzAtOV18WzEtOV1bMC05XVswLTldfFsx
LTldWzAtOV1bMC05XVswLTldfFsxLTldWzAtOV1bMC05XVswLTldWzAtOV0p
IDs7CgkqKQoJICBmdW5jX2Vycm9yICJSRVZJU0lPTiBcYCRyZXZpc2lvbicg
bXVzdCBiZSBhIG5vbm5lZ2F0aXZlIGludGVnZXIiCgkgIGZ1bmNfZmF0YWxf
ZXJyb3IgIlxgJHZpbmZvJyBpcyBub3QgdmFsaWQgdmVyc2lvbiBpbmZvcm1h
dGlvbiIKCSAgOzsKCWVzYWMKCgljYXNlICRhZ2UgaW4KCTB8WzEtOV18WzEt
OV1bMC05XXxbMS05XVswLTldWzAtOV18WzEtOV1bMC05XVswLTldWzAtOV18
WzEtOV1bMC05XVswLTldWzAtOV1bMC05XSkgOzsKCSopCgkgIGZ1bmNfZXJy
b3IgIkFHRSBcYCRhZ2UnIG11c3QgYmUgYSBub25uZWdhdGl2ZSBpbnRlZ2Vy
IgoJICBmdW5jX2ZhdGFsX2Vycm9yICJcYCR2aW5mbycgaXMgbm90IHZhbGlk
IHZlcnNpb24gaW5mb3JtYXRpb24iCgkgIDs7Cgllc2FjCgoJaWYgdGVzdCAi
JGFnZSIgLWd0ICIkY3VycmVudCI7IHRoZW4KCSAgZnVuY19lcnJvciAiQUdF
IFxgJGFnZScgaXMgZ3JlYXRlciB0aGFuIHRoZSBjdXJyZW50IGludGVyZmFj
ZSBudW1iZXIgXGAkY3VycmVudCciCgkgIGZ1bmNfZmF0YWxfZXJyb3IgIlxg
JHZpbmZvJyBpcyBub3QgdmFsaWQgdmVyc2lvbiBpbmZvcm1hdGlvbiIKCWZp
CgoJIyBDYWxjdWxhdGUgdGhlIHZlcnNpb24gdmFyaWFibGVzLgoJbWFqb3I9
Cgl2ZXJzdWZmaXg9Cgl2ZXJzdHJpbmc9CgljYXNlICR2ZXJzaW9uX3R5cGUg
aW4KCW5vbmUpIDs7CgoJZGFyd2luKQoJICAjIExpa2UgTGludXgsIGJ1dCB3
aXRoIHRoZSBjdXJyZW50IHZlcnNpb24gYXZhaWxhYmxlIGluCgkgICMgdmVy
c3RyaW5nIGZvciBjb2RpbmcgaXQgaW50byB0aGUgbGlicmFyeSBoZWFkZXIK
CSAgZnVuY19hcml0aCAkY3VycmVudCAtICRhZ2UKCSAgbWFqb3I9LiRmdW5j
X2FyaXRoX3Jlc3VsdAoJICB2ZXJzdWZmaXg9IiRtYWpvci4kYWdlLiRyZXZp
c2lvbiIKCSAgIyBEYXJ3aW4gbGQgZG9lc24ndCBsaWtlIDAgZm9yIHRoZXNl
IG9wdGlvbnMuLi4KCSAgZnVuY19hcml0aCAkY3VycmVudCArIDEKCSAgbWlu
b3JfY3VycmVudD0kZnVuY19hcml0aF9yZXN1bHQKCSAgeGxjdmVyc3RyaW5n
PSIke3dsfS1jb21wYXRpYmlsaXR5X3ZlcnNpb24gJHt3bH0kbWlub3JfY3Vy
cmVudCAke3dsfS1jdXJyZW50X3ZlcnNpb24gJHt3bH0kbWlub3JfY3VycmVu
dC4kcmV2aXNpb24iCgkgIHZlcnN0cmluZz0iLWNvbXBhdGliaWxpdHlfdmVy
c2lvbiAkbWlub3JfY3VycmVudCAtY3VycmVudF92ZXJzaW9uICRtaW5vcl9j
dXJyZW50LiRyZXZpc2lvbiIKCSAgOzsKCglmcmVlYnNkLWFvdXQpCgkgIG1h
am9yPSIuJGN1cnJlbnQiCgkgIHZlcnN1ZmZpeD0iLiRjdXJyZW50LiRyZXZp
c2lvbiI7CgkgIDs7CgoJZnJlZWJzZC1lbGYpCgkgIG1ham9yPSIuJGN1cnJl
bnQiCgkgIHZlcnN1ZmZpeD0iLiRjdXJyZW50IgoJICA7OwoKCWlyaXggfCBu
b25zdG9wdXgpCgkgIGlmIHRlc3QgIlgkbHRfaXJpeF9pbmNyZW1lbnQiID0g
IlhubyI7IHRoZW4KCSAgICBmdW5jX2FyaXRoICRjdXJyZW50IC0gJGFnZQoJ
ICBlbHNlCgkgICAgZnVuY19hcml0aCAkY3VycmVudCAtICRhZ2UgKyAxCgkg
IGZpCgkgIG1ham9yPSRmdW5jX2FyaXRoX3Jlc3VsdAoKCSAgY2FzZSAkdmVy
c2lvbl90eXBlIGluCgkgICAgbm9uc3RvcHV4KSB2ZXJzdHJpbmdfcHJlZml4
PW5vbnN0b3B1eCA7OwoJICAgICopICAgICAgICAgdmVyc3RyaW5nX3ByZWZp
eD1zZ2kgOzsKCSAgZXNhYwoJICB2ZXJzdHJpbmc9IiR2ZXJzdHJpbmdfcHJl
Zml4JG1ham9yLiRyZXZpc2lvbiIKCgkgICMgQWRkIGluIGFsbCB0aGUgaW50
ZXJmYWNlcyB0aGF0IHdlIGFyZSBjb21wYXRpYmxlIHdpdGguCgkgIGxvb3A9
JHJldmlzaW9uCgkgIHdoaWxlIHRlc3QgIiRsb29wIiAtbmUgMDsgZG8KCSAg
ICBmdW5jX2FyaXRoICRyZXZpc2lvbiAtICRsb29wCgkgICAgaWZhY2U9JGZ1
bmNfYXJpdGhfcmVzdWx0CgkgICAgZnVuY19hcml0aCAkbG9vcCAtIDEKCSAg
ICBsb29wPSRmdW5jX2FyaXRoX3Jlc3VsdAoJICAgIHZlcnN0cmluZz0iJHZl
cnN0cmluZ19wcmVmaXgkbWFqb3IuJGlmYWNlOiR2ZXJzdHJpbmciCgkgIGRv
bmUKCgkgICMgQmVmb3JlIHRoaXMgcG9pbnQsICRtYWpvciBtdXN0IG5vdCBj
b250YWluIGAuJy4KCSAgbWFqb3I9LiRtYWpvcgoJICB2ZXJzdWZmaXg9IiRt
YWpvci4kcmV2aXNpb24iCgkgIDs7CgoJbGludXgpCgkgIGZ1bmNfYXJpdGgg
JGN1cnJlbnQgLSAkYWdlCgkgIG1ham9yPS4kZnVuY19hcml0aF9yZXN1bHQK
CSAgdmVyc3VmZml4PSIkbWFqb3IuJGFnZS4kcmV2aXNpb24iCgkgIDs7CgoJ
b3NmKQoJICBmdW5jX2FyaXRoICRjdXJyZW50IC0gJGFnZQoJICBtYWpvcj0u
JGZ1bmNfYXJpdGhfcmVzdWx0CgkgIHZlcnN1ZmZpeD0iLiRjdXJyZW50LiRh
Z2UuJHJldmlzaW9uIgoJICB2ZXJzdHJpbmc9IiRjdXJyZW50LiRhZ2UuJHJl
dmlzaW9uIgoKCSAgIyBBZGQgaW4gYWxsIHRoZSBpbnRlcmZhY2VzIHRoYXQg
d2UgYXJlIGNvbXBhdGlibGUgd2l0aC4KCSAgbG9vcD0kYWdlCgkgIHdoaWxl
IHRlc3QgIiRsb29wIiAtbmUgMDsgZG8KCSAgICBmdW5jX2FyaXRoICRjdXJy
ZW50IC0gJGxvb3AKCSAgICBpZmFjZT0kZnVuY19hcml0aF9yZXN1bHQKCSAg
ICBmdW5jX2FyaXRoICRsb29wIC0gMQoJICAgIGxvb3A9JGZ1bmNfYXJpdGhf
cmVzdWx0CgkgICAgdmVyc3RyaW5nPSIkdmVyc3RyaW5nOiR7aWZhY2V9LjAi
CgkgIGRvbmUKCgkgICMgTWFrZSBleGVjdXRhYmxlcyBkZXBlbmQgb24gb3Vy
IGN1cnJlbnQgdmVyc2lvbi4KCSAgdmVyc3RyaW5nKz0iOiR7Y3VycmVudH0u
MCIKCSAgOzsKCglxbngpCgkgIG1ham9yPSIuJGN1cnJlbnQiCgkgIHZlcnN1
ZmZpeD0iLiRjdXJyZW50IgoJICA7OwoKCXN1bm9zKQoJICBtYWpvcj0iLiRj
dXJyZW50IgoJICB2ZXJzdWZmaXg9Ii4kY3VycmVudC4kcmV2aXNpb24iCgkg
IDs7CgoJd2luZG93cykKCSAgIyBVc2UgJy0nIHJhdGhlciB0aGFuICcuJywg
c2luY2Ugd2Ugb25seSB3YW50IG9uZQoJICAjIGV4dGVuc2lvbiBvbiBET1Mg
OC4zIGZpbGVzeXN0ZW1zLgoJICBmdW5jX2FyaXRoICRjdXJyZW50IC0gJGFn
ZQoJICBtYWpvcj0kZnVuY19hcml0aF9yZXN1bHQKCSAgdmVyc3VmZml4PSIt
JG1ham9yIgoJICA7OwoKCSopCgkgIGZ1bmNfZmF0YWxfY29uZmlndXJhdGlv
biAidW5rbm93biBsaWJyYXJ5IHZlcnNpb24gdHlwZSBcYCR2ZXJzaW9uX3R5
cGUnIgoJICA7OwoJZXNhYwoKCSMgQ2xlYXIgdGhlIHZlcnNpb24gaW5mbyBp
ZiB3ZSBkZWZhdWx0ZWQsIGFuZCB0aGV5IHNwZWNpZmllZCBhIHJlbGVhc2Uu
CglpZiB0ZXN0IC16ICIkdmluZm8iICYmIHRlc3QgLW4gIiRyZWxlYXNlIjsg
dGhlbgoJICBtYWpvcj0KCSAgY2FzZSAkdmVyc2lvbl90eXBlIGluCgkgIGRh
cndpbikKCSAgICAjIHdlIGNhbid0IGNoZWNrIGZvciAiMC4wIiBpbiBhcmNo
aXZlX2NtZHMgZHVlIHRvIHF1b3RpbmcKCSAgICAjIHByb2JsZW1zLCBzbyB3
ZSByZXNldCBpdCBjb21wbGV0ZWx5CgkgICAgdmVyc3RyaW5nPQoJICAgIDs7
CgkgICopCgkgICAgdmVyc3RyaW5nPSIwLjAiCgkgICAgOzsKCSAgZXNhYwoJ
ICBpZiB0ZXN0ICIkbmVlZF92ZXJzaW9uIiA9IG5vOyB0aGVuCgkgICAgdmVy
c3VmZml4PQoJICBlbHNlCgkgICAgdmVyc3VmZml4PSIuMC4wIgoJICBmaQoJ
ZmkKCgkjIFJlbW92ZSB2ZXJzaW9uIGluZm8gZnJvbSBuYW1lIGlmIHZlcnNp
b25pbmcgc2hvdWxkIGJlIGF2b2lkZWQKCWlmIHRlc3QgIiRhdm9pZF92ZXJz
aW9uIiA9IHllcyAmJiB0ZXN0ICIkbmVlZF92ZXJzaW9uIiA9IG5vOyB0aGVu
CgkgIG1ham9yPQoJICB2ZXJzdWZmaXg9CgkgIHZlcnN0cmluZz0iIgoJZmkK
CgkjIENoZWNrIHRvIHNlZSBpZiB0aGUgYXJjaGl2ZSB3aWxsIGhhdmUgdW5k
ZWZpbmVkIHN5bWJvbHMuCglpZiB0ZXN0ICIkYWxsb3dfdW5kZWZpbmVkIiA9
IHllczsgdGhlbgoJICBpZiB0ZXN0ICIkYWxsb3dfdW5kZWZpbmVkX2ZsYWci
ID0gdW5zdXBwb3J0ZWQ7IHRoZW4KCSAgICBmdW5jX3dhcm5pbmcgInVuZGVm
aW5lZCBzeW1ib2xzIG5vdCBhbGxvd2VkIGluICRob3N0IHNoYXJlZCBsaWJy
YXJpZXMiCgkgICAgYnVpbGRfbGlidG9vbF9saWJzPW5vCgkgICAgYnVpbGRf
b2xkX2xpYnM9eWVzCgkgIGZpCgllbHNlCgkgICMgRG9uJ3QgYWxsb3cgdW5k
ZWZpbmVkIHN5bWJvbHMuCgkgIGFsbG93X3VuZGVmaW5lZF9mbGFnPSIkbm9f
dW5kZWZpbmVkX2ZsYWciCglmaQoKICAgICAgZmkKCiAgICAgIGZ1bmNfZ2Vu
ZXJhdGVfZGxzeW1zICIkbGlibmFtZSIgIiRsaWJuYW1lIiAieWVzIgogICAg
ICBsaWJvYmpzKz0iICRzeW1maWxlb2JqIgogICAgICB0ZXN0ICJYJGxpYm9i
anMiID0gIlggIiAmJiBsaWJvYmpzPQoKICAgICAgaWYgdGVzdCAiJG9wdF9t
b2RlIiAhPSByZWxpbms7IHRoZW4KCSMgUmVtb3ZlIG91ciBvdXRwdXRzLCBi
dXQgZG9uJ3QgcmVtb3ZlIG9iamVjdCBmaWxlcyBzaW5jZSB0aGV5CgkjIG1h
eSBoYXZlIGJlZW4gY3JlYXRlZCB3aGVuIGNvbXBpbGluZyBQSUMgb2JqZWN0
cy4KCXJlbW92ZWxpc3Q9Cgl0ZW1wcmVtb3ZlbGlzdD1gJEVDSE8gIiRvdXRw
dXRfb2JqZGlyLyoiYAoJZm9yIHAgaW4gJHRlbXByZW1vdmVsaXN0OyBkbwoJ
ICBjYXNlICRwIGluCgkgICAgKi4kb2JqZXh0IHwgKi5nY25vKQoJICAgICAg
IDs7CgkgICAgJG91dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUgfCAkb3V0cHV0
X29iamRpci8kbGlibmFtZS4qIHwgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1l
fSR7cmVsZWFzZX0uKikKCSAgICAgICBpZiB0ZXN0ICJYJHByZWNpb3VzX2Zp
bGVzX3JlZ2V4IiAhPSAiWCI7IHRoZW4KCQkgaWYgJEVDSE8gIiRwIiB8ICRF
R1JFUCAtZSAiJHByZWNpb3VzX2ZpbGVzX3JlZ2V4IiA+L2Rldi9udWxsIDI+
JjEKCQkgdGhlbgoJCSAgIGNvbnRpbnVlCgkJIGZpCgkgICAgICAgZmkKCSAg
ICAgICByZW1vdmVsaXN0Kz0iICRwIgoJICAgICAgIDs7CgkgICAgKikgOzsK
CSAgZXNhYwoJZG9uZQoJdGVzdCAtbiAiJHJlbW92ZWxpc3QiICYmIFwKCSAg
ZnVuY19zaG93X2V2YWwgIiR7Uk19ciBcJHJlbW92ZWxpc3QiCiAgICAgIGZp
CgogICAgICAjIE5vdyBzZXQgdGhlIHZhcmlhYmxlcyBmb3IgYnVpbGRpbmcg
b2xkIGxpYnJhcmllcy4KICAgICAgaWYgdGVzdCAiJGJ1aWxkX29sZF9saWJz
IiA9IHllcyAmJiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiAhPSBjb252
ZW5pZW5jZSA7IHRoZW4KCW9sZGxpYnMrPSIgJG91dHB1dF9vYmpkaXIvJGxp
Ym5hbWUuJGxpYmV4dCIKCgkjIFRyYW5zZm9ybSAubG8gZmlsZXMgdG8gLm8g
ZmlsZXMuCglvbGRvYmpzPSIkb2JqcyAiYCRFQ0hPICIkbGlib2JqcyIgfCAk
U1AyTkwgfCAkU0VEICIvXC4ke2xpYmV4dH0kL2Q7ICRsbzJvIiB8ICROTDJT
UGAKICAgICAgZmkKCiAgICAgICMgRWxpbWluYXRlIGFsbCB0ZW1wb3Jhcnkg
ZGlyZWN0b3JpZXMuCiAgICAgICNmb3IgcGF0aCBpbiAkbm90aW5zdF9wYXRo
OyBkbwogICAgICAjCWxpYl9zZWFyY2hfcGF0aD1gJEVDSE8gIiRsaWJfc2Vh
cmNoX3BhdGggIiB8ICRTRUQgInMlICRwYXRoICUgJWciYAogICAgICAjCWRl
cGxpYnM9YCRFQ0hPICIkZGVwbGlicyAiIHwgJFNFRCAicyUgLUwkcGF0aCAl
ICVnImAKICAgICAgIwlkZXBlbmRlbmN5X2xpYnM9YCRFQ0hPICIkZGVwZW5k
ZW5jeV9saWJzICIgfCAkU0VEICJzJSAtTCRwYXRoICUgJWciYAogICAgICAj
ZG9uZQoKICAgICAgaWYgdGVzdCAtbiAiJHhycGF0aCI7IHRoZW4KCSMgSWYg
dGhlIHVzZXIgc3BlY2lmaWVkIGFueSBycGF0aCBmbGFncywgdGhlbiBhZGQg
dGhlbS4KCXRlbXBfeHJwYXRoPQoJZm9yIGxpYmRpciBpbiAkeHJwYXRoOyBk
bwoJICBmdW5jX3JlcGxhY2Vfc3lzcm9vdCAiJGxpYmRpciIKCSAgdGVtcF94
cnBhdGgrPSIgLVIkZnVuY19yZXBsYWNlX3N5c3Jvb3RfcmVzdWx0IgoJICBj
YXNlICIkZmluYWxpemVfcnBhdGggIiBpbgoJICAqIiAkbGliZGlyICIqKSA7
OwoJICAqKSBmaW5hbGl6ZV9ycGF0aCs9IiAkbGliZGlyIiA7OwoJICBlc2Fj
Cglkb25lCglpZiB0ZXN0ICIkaGFyZGNvZGVfaW50b19saWJzIiAhPSB5ZXMg
fHwgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IHllczsgdGhlbgoJICBkZXBl
bmRlbmN5X2xpYnM9IiR0ZW1wX3hycGF0aCAkZGVwZW5kZW5jeV9saWJzIgoJ
ZmkKICAgICAgZmkKCiAgICAgICMgTWFrZSBzdXJlIGRsZmlsZXMgY29udGFp
bnMgb25seSB1bmlxdWUgZmlsZXMgdGhhdCB3b24ndCBiZSBkbHByZW9wZW5l
ZAogICAgICBvbGRfZGxmaWxlcz0iJGRsZmlsZXMiCiAgICAgIGRsZmlsZXM9
CiAgICAgIGZvciBsaWIgaW4gJG9sZF9kbGZpbGVzOyBkbwoJY2FzZSAiICRk
bHByZWZpbGVzICRkbGZpbGVzICIgaW4KCSoiICRsaWIgIiopIDs7CgkqKSBk
bGZpbGVzKz0iICRsaWIiIDs7Cgllc2FjCiAgICAgIGRvbmUKCiAgICAgICMg
TWFrZSBzdXJlIGRscHJlZmlsZXMgY29udGFpbnMgb25seSB1bmlxdWUgZmls
ZXMKICAgICAgb2xkX2RscHJlZmlsZXM9IiRkbHByZWZpbGVzIgogICAgICBk
bHByZWZpbGVzPQogICAgICBmb3IgbGliIGluICRvbGRfZGxwcmVmaWxlczsg
ZG8KCWNhc2UgIiRkbHByZWZpbGVzICIgaW4KCSoiICRsaWIgIiopIDs7Cgkq
KSBkbHByZWZpbGVzKz0iICRsaWIiIDs7Cgllc2FjCiAgICAgIGRvbmUKCiAg
ICAgIGlmIHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiID0geWVzOyB0aGVu
CglpZiB0ZXN0IC1uICIkcnBhdGgiOyB0aGVuCgkgIGNhc2UgJGhvc3QgaW4K
CSAgKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0q
LW9zMiogfCAqLSotYmVvcyogfCAqLWNlZ2NjKiB8ICotKi1oYWlrdSopCgkg
ICAgIyB0aGVzZSBzeXN0ZW1zIGRvbid0IGFjdHVhbGx5IGhhdmUgYSBjIGxp
YnJhcnkgKGFzIHN1Y2gpIQoJICAgIDs7CgkgICotKi1yaGFwc29keSogfCAq
LSotZGFyd2luMS5bMDEyXSkKCSAgICAjIFJoYXBzb2R5IEMgbGlicmFyeSBp
cyBpbiB0aGUgU3lzdGVtIGZyYW1ld29yawoJICAgIGRlcGxpYnMrPSIgU3lz
dGVtLmx0ZnJhbWV3b3JrIgoJICAgIDs7CgkgICotKi1uZXRic2QqKQoJICAg
ICMgRG9uJ3QgbGluayB3aXRoIGxpYmMgdW50aWwgdGhlIGEub3V0IGxkLnNv
IGlzIGZpeGVkLgoJICAgIDs7CgkgICotKi1vcGVuYnNkKiB8ICotKi1mcmVl
YnNkKiB8ICotKi1kcmFnb25mbHkqKQoJICAgICMgRG8gbm90IGluY2x1ZGUg
bGliYyBkdWUgdG8gdXMgaGF2aW5nIGxpYmMvbGliY19yLgoJICAgIDs7Cgkg
ICotKi1zY28zLjJ2NSogfCAqLSotc2NvNXY2KikKCSAgICAjIENhdXNlcyBw
cm9ibGVtcyB3aXRoIF9fY3R5cGUKCSAgICA7OwoJICAqLSotc3lzdjQuMnV3
MiogfCAqLSotc3lzdjUqIHwgKi0qLXVuaXh3YXJlKiB8ICotKi1PcGVuVU5J
WCopCgkgICAgIyBDb21waWxlciBpbnNlcnRzIGxpYmMgaW4gdGhlIGNvcnJl
Y3QgcGxhY2UgZm9yIHRocmVhZHMgdG8gd29yawoJICAgIDs7CgkgICopCgkg
ICAgIyBBZGQgbGliYyB0byBkZXBsaWJzIG9uIGFsbCBvdGhlciBzeXN0ZW1z
IGlmIG5lY2Vzc2FyeS4KCSAgICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9u
ZWVkX2xjIiA9ICJ5ZXMiOyB0aGVuCgkgICAgICBkZXBsaWJzKz0iIC1sYyIK
CSAgICBmaQoJICAgIDs7CgkgIGVzYWMKCWZpCgoJIyBUcmFuc2Zvcm0gZGVw
bGlicyBpbnRvIG9ubHkgZGVwbGlicyB0aGF0IGNhbiBiZSBsaW5rZWQgaW4g
c2hhcmVkLgoJbmFtZV9zYXZlPSRuYW1lCglsaWJuYW1lX3NhdmU9JGxpYm5h
bWUKCXJlbGVhc2Vfc2F2ZT0kcmVsZWFzZQoJdmVyc3VmZml4X3NhdmU9JHZl
cnN1ZmZpeAoJbWFqb3Jfc2F2ZT0kbWFqb3IKCSMgSSdtIG5vdCBzdXJlIGlm
IEknbSB0cmVhdGluZyB0aGUgcmVsZWFzZSBjb3JyZWN0bHkuICBJIHRoaW5r
CgkjIHJlbGVhc2Ugc2hvdWxkIHNob3cgdXAgaW4gdGhlIC1sIChpZSAtbGdt
cDUpIHNvIHdlIGRvbid0IHdhbnQgdG8KCSMgYWRkIGl0IGluIHR3aWNlLiAg
SXMgdGhhdCBjb3JyZWN0PwoJcmVsZWFzZT0iIgoJdmVyc3VmZml4PSIiCglt
YWpvcj0iIgoJbmV3ZGVwbGlicz0KCWRyb3BwZWRkZXBzPW5vCgljYXNlICRk
ZXBsaWJzX2NoZWNrX21ldGhvZCBpbgoJcGFzc19hbGwpCgkgICMgRG9uJ3Qg
Y2hlY2sgZm9yIHNoYXJlZC9zdGF0aWMuICBFdmVyeXRoaW5nIHdvcmtzLgoJ
ICAjIFRoaXMgbWlnaHQgYmUgYSBsaXR0bGUgbmFpdmUuICBXZSBtaWdodCB3
YW50IHRvIGNoZWNrCgkgICMgd2hldGhlciB0aGUgbGlicmFyeSBleGlzdHMg
b3Igbm90LiAgQnV0IHRoaXMgaXMgb24KCSAgIyBvc2YzICYgb3NmNCBhbmQg
SSdtIG5vdCByZWFsbHkgc3VyZS4uLiBKdXN0CgkgICMgaW1wbGVtZW50aW5n
IHdoYXQgd2FzIGFscmVhZHkgdGhlIGJlaGF2aW9yLgoJICBuZXdkZXBsaWJz
PSRkZXBsaWJzCgkgIDs7Cgl0ZXN0X2NvbXBpbGUpCgkgICMgVGhpcyBjb2Rl
IHN0cmVzc2VzIHRoZSAibGlicmFyaWVzIGFyZSBwcm9ncmFtcyIgcGFyYWRp
Z20gdG8gaXRzCgkgICMgbGltaXRzLiBNYXliZSBldmVuIGJyZWFrcyBpdC4g
IFdlIGNvbXBpbGUgYSBwcm9ncmFtLCBsaW5raW5nIGl0CgkgICMgYWdhaW5z
dCB0aGUgZGVwbGlicyBhcyBhIHByb3h5IGZvciB0aGUgbGlicmFyeS4gIFRo
ZW4gd2UgY2FuIGNoZWNrCgkgICMgd2hldGhlciB0aGV5IGxpbmtlZCBpbiBz
dGF0aWNhbGx5IG9yIGR5bmFtaWNhbGx5IHdpdGggbGRkLgoJICAkb3B0X2Ry
eV9ydW4gfHwgJFJNIGNvbmZ0ZXN0LmMKCSAgY2F0ID4gY29uZnRlc3QuYyA8
PEVPRgoJICBpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0KRU9GCgkgICRvcHRf
ZHJ5X3J1biB8fCAkUk0gY29uZnRlc3QKCSAgaWYgJExUQ0MgJExUQ0ZMQUdT
IC1vIGNvbmZ0ZXN0IGNvbmZ0ZXN0LmMgJGRlcGxpYnM7IHRoZW4KCSAgICBs
ZGRfb3V0cHV0PWBsZGQgY29uZnRlc3RgCgkgICAgZm9yIGkgaW4gJGRlcGxp
YnM7IGRvCgkgICAgICBjYXNlICRpIGluCgkgICAgICAtbCopCgkJZnVuY19z
dHJpcG5hbWUgLWwgJycgIiRpIgoJCW5hbWU9JGZ1bmNfc3RyaXBuYW1lX3Jl
c3VsdAoJCWlmIHRlc3QgIlgkYWxsb3dfbGlidG9vbF9saWJzX3dpdGhfc3Rh
dGljX3J1bnRpbWVzIiA9ICJYeWVzIiA7IHRoZW4KCQkgIGNhc2UgIiAkcHJl
ZGVwcyAkcG9zdGRlcHMgIiBpbgoJCSAgKiIgJGkgIiopCgkJICAgIG5ld2Rl
cGxpYnMrPSIgJGkiCgkJICAgIGk9IiIKCQkgICAgOzsKCQkgIGVzYWMKCQlm
aQoJCWlmIHRlc3QgLW4gIiRpIiA7IHRoZW4KCQkgIGxpYm5hbWU9YGV2YWwg
IlxcJEVDSE8gXCIkbGlibmFtZV9zcGVjXCIiYAoJCSAgZGVwbGliX21hdGNo
ZXM9YGV2YWwgIlxcJEVDSE8gXCIkbGlicmFyeV9uYW1lc19zcGVjXCIiYAoJ
CSAgc2V0IGR1bW15ICRkZXBsaWJfbWF0Y2hlczsgc2hpZnQKCQkgIGRlcGxp
Yl9tYXRjaD0kMQoJCSAgaWYgdGVzdCBgZXhwciAiJGxkZF9vdXRwdXQiIDog
Ii4qJGRlcGxpYl9tYXRjaCJgIC1uZSAwIDsgdGhlbgoJCSAgICBuZXdkZXBs
aWJzKz0iICRpIgoJCSAgZWxzZQoJCSAgICBkcm9wcGVkZGVwcz15ZXMKCQkg
ICAgZWNobwoJCSAgICAkRUNITyAiKioqIFdhcm5pbmc6IGR5bmFtaWMgbGlu
a2VyIGRvZXMgbm90IGFjY2VwdCBuZWVkZWQgbGlicmFyeSAkaS4iCgkJICAg
IGVjaG8gIioqKiBJIGhhdmUgdGhlIGNhcGFiaWxpdHkgdG8gbWFrZSB0aGF0
IGxpYnJhcnkgYXV0b21hdGljYWxseSBsaW5rIGluIHdoZW4iCgkJICAgIGVj
aG8gIioqKiB5b3UgbGluayB0byB0aGlzIGxpYnJhcnkuICBCdXQgSSBjYW4g
b25seSBkbyB0aGlzIGlmIHlvdSBoYXZlIGEiCgkJICAgIGVjaG8gIioqKiBz
aGFyZWQgdmVyc2lvbiBvZiB0aGUgbGlicmFyeSwgd2hpY2ggSSBiZWxpZXZl
IHlvdSBkbyBub3QgaGF2ZSIKCQkgICAgZWNobyAiKioqIGJlY2F1c2UgYSB0
ZXN0X2NvbXBpbGUgZGlkIHJldmVhbCB0aGF0IHRoZSBsaW5rZXIgZGlkIG5v
dCB1c2UgaXQgZm9yIgoJCSAgICBlY2hvICIqKiogaXRzIGR5bmFtaWMgZGVw
ZW5kZW5jeSBsaXN0IHRoYXQgcHJvZ3JhbXMgZ2V0IHJlc29sdmVkIHdpdGgg
YXQgcnVudGltZS4iCgkJICBmaQoJCWZpCgkJOzsKCSAgICAgICopCgkJbmV3
ZGVwbGlicys9IiAkaSIKCQk7OwoJICAgICAgZXNhYwoJICAgIGRvbmUKCSAg
ZWxzZQoJICAgICMgRXJyb3Igb2NjdXJyZWQgaW4gdGhlIGZpcnN0IGNvbXBp
bGUuICBMZXQncyB0cnkgdG8gc2FsdmFnZQoJICAgICMgdGhlIHNpdHVhdGlv
bjogQ29tcGlsZSBhIHNlcGFyYXRlIHByb2dyYW0gZm9yIGVhY2ggbGlicmFy
eS4KCSAgICBmb3IgaSBpbiAkZGVwbGliczsgZG8KCSAgICAgIGNhc2UgJGkg
aW4KCSAgICAgIC1sKikKCQlmdW5jX3N0cmlwbmFtZSAtbCAnJyAiJGkiCgkJ
bmFtZT0kZnVuY19zdHJpcG5hbWVfcmVzdWx0CgkJJG9wdF9kcnlfcnVuIHx8
ICRSTSBjb25mdGVzdAoJCWlmICRMVENDICRMVENGTEFHUyAtbyBjb25mdGVz
dCBjb25mdGVzdC5jICRpOyB0aGVuCgkJICBsZGRfb3V0cHV0PWBsZGQgY29u
ZnRlc3RgCgkJICBpZiB0ZXN0ICJYJGFsbG93X2xpYnRvb2xfbGlic193aXRo
X3N0YXRpY19ydW50aW1lcyIgPSAiWHllcyIgOyB0aGVuCgkJICAgIGNhc2Ug
IiAkcHJlZGVwcyAkcG9zdGRlcHMgIiBpbgoJCSAgICAqIiAkaSAiKikKCQkg
ICAgICBuZXdkZXBsaWJzKz0iICRpIgoJCSAgICAgIGk9IiIKCQkgICAgICA7
OwoJCSAgICBlc2FjCgkJICBmaQoJCSAgaWYgdGVzdCAtbiAiJGkiIDsgdGhl
bgoJCSAgICBsaWJuYW1lPWBldmFsICJcXCRFQ0hPIFwiJGxpYm5hbWVfc3Bl
Y1wiImAKCQkgICAgZGVwbGliX21hdGNoZXM9YGV2YWwgIlxcJEVDSE8gXCIk
bGlicmFyeV9uYW1lc19zcGVjXCIiYAoJCSAgICBzZXQgZHVtbXkgJGRlcGxp
Yl9tYXRjaGVzOyBzaGlmdAoJCSAgICBkZXBsaWJfbWF0Y2g9JDEKCQkgICAg
aWYgdGVzdCBgZXhwciAiJGxkZF9vdXRwdXQiIDogIi4qJGRlcGxpYl9tYXRj
aCJgIC1uZSAwIDsgdGhlbgoJCSAgICAgIG5ld2RlcGxpYnMrPSIgJGkiCgkJ
ICAgIGVsc2UKCQkgICAgICBkcm9wcGVkZGVwcz15ZXMKCQkgICAgICBlY2hv
CgkJICAgICAgJEVDSE8gIioqKiBXYXJuaW5nOiBkeW5hbWljIGxpbmtlciBk
b2VzIG5vdCBhY2NlcHQgbmVlZGVkIGxpYnJhcnkgJGkuIgoJCSAgICAgIGVj
aG8gIioqKiBJIGhhdmUgdGhlIGNhcGFiaWxpdHkgdG8gbWFrZSB0aGF0IGxp
YnJhcnkgYXV0b21hdGljYWxseSBsaW5rIGluIHdoZW4iCgkJICAgICAgZWNo
byAiKioqIHlvdSBsaW5rIHRvIHRoaXMgbGlicmFyeS4gIEJ1dCBJIGNhbiBv
bmx5IGRvIHRoaXMgaWYgeW91IGhhdmUgYSIKCQkgICAgICBlY2hvICIqKiog
c2hhcmVkIHZlcnNpb24gb2YgdGhlIGxpYnJhcnksIHdoaWNoIHlvdSBkbyBu
b3QgYXBwZWFyIHRvIGhhdmUiCgkJICAgICAgZWNobyAiKioqIGJlY2F1c2Ug
YSB0ZXN0X2NvbXBpbGUgZGlkIHJldmVhbCB0aGF0IHRoZSBsaW5rZXIgZGlk
IG5vdCB1c2UgdGhpcyBvbmUiCgkJICAgICAgZWNobyAiKioqIGFzIGEgZHlu
YW1pYyBkZXBlbmRlbmN5IHRoYXQgcHJvZ3JhbXMgY2FuIGdldCByZXNvbHZl
ZCB3aXRoIGF0IHJ1bnRpbWUuIgoJCSAgICBmaQoJCSAgZmkKCQllbHNlCgkJ
ICBkcm9wcGVkZGVwcz15ZXMKCQkgIGVjaG8KCQkgICRFQ0hPICIqKiogV2Fy
bmluZyEgIExpYnJhcnkgJGkgaXMgbmVlZGVkIGJ5IHRoaXMgbGlicmFyeSBi
dXQgSSB3YXMgbm90IGFibGUgdG8iCgkJICBlY2hvICIqKiogbWFrZSBpdCBs
aW5rIGluISAgWW91IHdpbGwgcHJvYmFibHkgbmVlZCB0byBpbnN0YWxsIGl0
IG9yIHNvbWUiCgkJICBlY2hvICIqKiogbGlicmFyeSB0aGF0IGl0IGRlcGVu
ZHMgb24gYmVmb3JlIHRoaXMgbGlicmFyeSB3aWxsIGJlIGZ1bGx5IgoJCSAg
ZWNobyAiKioqIGZ1bmN0aW9uYWwuICBJbnN0YWxsaW5nIGl0IGJlZm9yZSBj
b250aW51aW5nIHdvdWxkIGJlIGV2ZW4gYmV0dGVyLiIKCQlmaQoJCTs7Cgkg
ICAgICAqKQoJCW5ld2RlcGxpYnMrPSIgJGkiCgkJOzsKCSAgICAgIGVzYWMK
CSAgICBkb25lCgkgIGZpCgkgIDs7CglmaWxlX21hZ2ljKikKCSAgc2V0IGR1
bW15ICRkZXBsaWJzX2NoZWNrX21ldGhvZDsgc2hpZnQKCSAgZmlsZV9tYWdp
Y19yZWdleD1gZXhwciAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiA6ICIkMSBc
KC4qXCkiYAoJICBmb3IgYV9kZXBsaWIgaW4gJGRlcGxpYnM7IGRvCgkgICAg
Y2FzZSAkYV9kZXBsaWIgaW4KCSAgICAtbCopCgkgICAgICBmdW5jX3N0cmlw
bmFtZSAtbCAnJyAiJGFfZGVwbGliIgoJICAgICAgbmFtZT0kZnVuY19zdHJp
cG5hbWVfcmVzdWx0CgkgICAgICBpZiB0ZXN0ICJYJGFsbG93X2xpYnRvb2xf
bGlic193aXRoX3N0YXRpY19ydW50aW1lcyIgPSAiWHllcyIgOyB0aGVuCgkJ
Y2FzZSAiICRwcmVkZXBzICRwb3N0ZGVwcyAiIGluCgkJKiIgJGFfZGVwbGli
ICIqKQoJCSAgbmV3ZGVwbGlicys9IiAkYV9kZXBsaWIiCgkJICBhX2RlcGxp
Yj0iIgoJCSAgOzsKCQllc2FjCgkgICAgICBmaQoJICAgICAgaWYgdGVzdCAt
biAiJGFfZGVwbGliIiA7IHRoZW4KCQlsaWJuYW1lPWBldmFsICJcXCRFQ0hP
IFwiJGxpYm5hbWVfc3BlY1wiImAKCQlpZiB0ZXN0IC1uICIkZmlsZV9tYWdp
Y19nbG9iIjsgdGhlbgoJCSAgbGlibmFtZWdsb2I9YGZ1bmNfZWNob19hbGwg
IiRsaWJuYW1lIiB8ICRTRUQgLWUgJGZpbGVfbWFnaWNfZ2xvYmAKCQllbHNl
CgkJICBsaWJuYW1lZ2xvYj0kbGlibmFtZQoJCWZpCgkJdGVzdCAiJHdhbnRf
bm9jYXNlZ2xvYiIgPSB5ZXMgJiYgbm9jYXNlZ2xvYj1gc2hvcHQgLXAgbm9j
YXNlZ2xvYmAKCQlmb3IgaSBpbiAkbGliX3NlYXJjaF9wYXRoICRzeXNfbGli
X3NlYXJjaF9wYXRoICRzaGxpYl9zZWFyY2hfcGF0aDsgZG8KCQkgIGlmIHRl
c3QgIiR3YW50X25vY2FzZWdsb2IiID0geWVzOyB0aGVuCgkJICAgIHNob3B0
IC1zIG5vY2FzZWdsb2IKCQkgICAgcG90ZW50aWFsX2xpYnM9YGxzICRpLyRs
aWJuYW1lZ2xvYlsuLV0qIDI+L2Rldi9udWxsYAoJCSAgICAkbm9jYXNlZ2xv
YgoJCSAgZWxzZQoJCSAgICBwb3RlbnRpYWxfbGlicz1gbHMgJGkvJGxpYm5h
bWVnbG9iWy4tXSogMj4vZGV2L251bGxgCgkJICBmaQoJCSAgZm9yIHBvdGVu
dF9saWIgaW4gJHBvdGVudGlhbF9saWJzOyBkbwoJCSAgICAgICMgRm9sbG93
IHNvZnQgbGlua3MuCgkJICAgICAgaWYgbHMgLWxMZCAiJHBvdGVudF9saWIi
IDI+L2Rldi9udWxsIHwKCQkJICRHUkVQICIgLT4gIiA+L2Rldi9udWxsOyB0
aGVuCgkJCWNvbnRpbnVlCgkJICAgICAgZmkKCQkgICAgICAjIFRoZSBzdGF0
ZW1lbnQgYWJvdmUgdHJpZXMgdG8gYXZvaWQgZW50ZXJpbmcgYW4KCQkgICAg
ICAjIGVuZGxlc3MgbG9vcCBiZWxvdywgaW4gY2FzZSBvZiBjeWNsaWMgbGlu
a3MuCgkJICAgICAgIyBXZSBtaWdodCBzdGlsbCBlbnRlciBhbiBlbmRsZXNz
IGxvb3AsIHNpbmNlIGEgbGluawoJCSAgICAgICMgbG9vcCBjYW4gYmUgY2xv
c2VkIHdoaWxlIHdlIGZvbGxvdyBsaW5rcywKCQkgICAgICAjIGJ1dCBzbyB3
aGF0PwoJCSAgICAgIHBvdGxpYj0iJHBvdGVudF9saWIiCgkJICAgICAgd2hp
bGUgdGVzdCAtaCAiJHBvdGxpYiIgMj4vZGV2L251bGw7IGRvCgkJCXBvdGxp
Ymxpbms9YGxzIC1sZCAkcG90bGliIHwgJHtTRUR9ICdzLy4qIC0+IC8vJ2AK
CQkJY2FzZSAkcG90bGlibGluayBpbgoJCQlbXFwvXSogfCBbQS1aYS16XTpb
XFwvXSopIHBvdGxpYj0iJHBvdGxpYmxpbmsiOzsKCQkJKikgcG90bGliPWAk
RUNITyAiJHBvdGxpYiIgfCAkU0VEICdzLFteL10qJCwsJ2AiJHBvdGxpYmxp
bmsiOzsKCQkJZXNhYwoJCSAgICAgIGRvbmUKCQkgICAgICBpZiBldmFsICRm
aWxlX21hZ2ljX2NtZCBcIlwkcG90bGliXCIgMj4vZGV2L251bGwgfAoJCQkg
JFNFRCAtZSAxMHEgfAoJCQkgJEVHUkVQICIkZmlsZV9tYWdpY19yZWdleCIg
PiAvZGV2L251bGw7IHRoZW4KCQkJbmV3ZGVwbGlicys9IiAkYV9kZXBsaWIi
CgkJCWFfZGVwbGliPSIiCgkJCWJyZWFrIDIKCQkgICAgICBmaQoJCSAgZG9u
ZQoJCWRvbmUKCSAgICAgIGZpCgkgICAgICBpZiB0ZXN0IC1uICIkYV9kZXBs
aWIiIDsgdGhlbgoJCWRyb3BwZWRkZXBzPXllcwoJCWVjaG8KCQkkRUNITyAi
KioqIFdhcm5pbmc6IGxpbmtlciBwYXRoIGRvZXMgbm90IGhhdmUgcmVhbCBm
aWxlIGZvciBsaWJyYXJ5ICRhX2RlcGxpYi4iCgkJZWNobyAiKioqIEkgaGF2
ZSB0aGUgY2FwYWJpbGl0eSB0byBtYWtlIHRoYXQgbGlicmFyeSBhdXRvbWF0
aWNhbGx5IGxpbmsgaW4gd2hlbiIKCQllY2hvICIqKiogeW91IGxpbmsgdG8g
dGhpcyBsaWJyYXJ5LiAgQnV0IEkgY2FuIG9ubHkgZG8gdGhpcyBpZiB5b3Ug
aGF2ZSBhIgoJCWVjaG8gIioqKiBzaGFyZWQgdmVyc2lvbiBvZiB0aGUgbGli
cmFyeSwgd2hpY2ggeW91IGRvIG5vdCBhcHBlYXIgdG8gaGF2ZSIKCQllY2hv
ICIqKiogYmVjYXVzZSBJIGRpZCBjaGVjayB0aGUgbGlua2VyIHBhdGggbG9v
a2luZyBmb3IgYSBmaWxlIHN0YXJ0aW5nIgoJCWlmIHRlc3QgLXogIiRwb3Rs
aWIiIDsgdGhlbgoJCSAgJEVDSE8gIioqKiB3aXRoICRsaWJuYW1lIGJ1dCBu
byBjYW5kaWRhdGVzIHdlcmUgZm91bmQuICguLi5mb3IgZmlsZSBtYWdpYyB0
ZXN0KSIKCQllbHNlCgkJICAkRUNITyAiKioqIHdpdGggJGxpYm5hbWUgYW5k
IG5vbmUgb2YgdGhlIGNhbmRpZGF0ZXMgcGFzc2VkIGEgZmlsZSBmb3JtYXQg
dGVzdCIKCQkgICRFQ0hPICIqKiogdXNpbmcgYSBmaWxlIG1hZ2ljLiBMYXN0
IGZpbGUgY2hlY2tlZDogJHBvdGxpYiIKCQlmaQoJICAgICAgZmkKCSAgICAg
IDs7CgkgICAgKikKCSAgICAgICMgQWRkIGEgLUwgYXJndW1lbnQuCgkgICAg
ICBuZXdkZXBsaWJzKz0iICRhX2RlcGxpYiIKCSAgICAgIDs7CgkgICAgZXNh
YwoJICBkb25lICMgR29uZSB0aHJvdWdoIGFsbCBkZXBsaWJzLgoJICA7OwoJ
bWF0Y2hfcGF0dGVybiopCgkgIHNldCBkdW1teSAkZGVwbGlic19jaGVja19t
ZXRob2Q7IHNoaWZ0CgkgIG1hdGNoX3BhdHRlcm5fcmVnZXg9YGV4cHIgIiRk
ZXBsaWJzX2NoZWNrX21ldGhvZCIgOiAiJDEgXCguKlwpImAKCSAgZm9yIGFf
ZGVwbGliIGluICRkZXBsaWJzOyBkbwoJICAgIGNhc2UgJGFfZGVwbGliIGlu
CgkgICAgLWwqKQoJICAgICAgZnVuY19zdHJpcG5hbWUgLWwgJycgIiRhX2Rl
cGxpYiIKCSAgICAgIG5hbWU9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAoJICAg
ICAgaWYgdGVzdCAiWCRhbGxvd19saWJ0b29sX2xpYnNfd2l0aF9zdGF0aWNf
cnVudGltZXMiID0gIlh5ZXMiIDsgdGhlbgoJCWNhc2UgIiAkcHJlZGVwcyAk
cG9zdGRlcHMgIiBpbgoJCSoiICRhX2RlcGxpYiAiKikKCQkgIG5ld2RlcGxp
YnMrPSIgJGFfZGVwbGliIgoJCSAgYV9kZXBsaWI9IiIKCQkgIDs7CgkJZXNh
YwoJICAgICAgZmkKCSAgICAgIGlmIHRlc3QgLW4gIiRhX2RlcGxpYiIgOyB0
aGVuCgkJbGlibmFtZT1gZXZhbCAiXFwkRUNITyBcIiRsaWJuYW1lX3NwZWNc
IiJgCgkJZm9yIGkgaW4gJGxpYl9zZWFyY2hfcGF0aCAkc3lzX2xpYl9zZWFy
Y2hfcGF0aCAkc2hsaWJfc2VhcmNoX3BhdGg7IGRvCgkJICBwb3RlbnRpYWxf
bGlicz1gbHMgJGkvJGxpYm5hbWVbLi1dKiAyPi9kZXYvbnVsbGAKCQkgIGZv
ciBwb3RlbnRfbGliIGluICRwb3RlbnRpYWxfbGliczsgZG8KCQkgICAgcG90
bGliPSIkcG90ZW50X2xpYiIgIyBzZWUgc3ltbGluay1jaGVjayBhYm92ZSBp
biBmaWxlX21hZ2ljIHRlc3QKCQkgICAgaWYgZXZhbCAiXCRFQ0hPIFwiJHBv
dGVudF9saWJcIiIgMj4vZGV2L251bGwgfCAkU0VEIDEwcSB8IFwKCQkgICAg
ICAgJEVHUkVQICIkbWF0Y2hfcGF0dGVybl9yZWdleCIgPiAvZGV2L251bGw7
IHRoZW4KCQkgICAgICBuZXdkZXBsaWJzKz0iICRhX2RlcGxpYiIKCQkgICAg
ICBhX2RlcGxpYj0iIgoJCSAgICAgIGJyZWFrIDIKCQkgICAgZmkKCQkgIGRv
bmUKCQlkb25lCgkgICAgICBmaQoJICAgICAgaWYgdGVzdCAtbiAiJGFfZGVw
bGliIiA7IHRoZW4KCQlkcm9wcGVkZGVwcz15ZXMKCQllY2hvCgkJJEVDSE8g
IioqKiBXYXJuaW5nOiBsaW5rZXIgcGF0aCBkb2VzIG5vdCBoYXZlIHJlYWwg
ZmlsZSBmb3IgbGlicmFyeSAkYV9kZXBsaWIuIgoJCWVjaG8gIioqKiBJIGhh
dmUgdGhlIGNhcGFiaWxpdHkgdG8gbWFrZSB0aGF0IGxpYnJhcnkgYXV0b21h
dGljYWxseSBsaW5rIGluIHdoZW4iCgkJZWNobyAiKioqIHlvdSBsaW5rIHRv
IHRoaXMgbGlicmFyeS4gIEJ1dCBJIGNhbiBvbmx5IGRvIHRoaXMgaWYgeW91
IGhhdmUgYSIKCQllY2hvICIqKiogc2hhcmVkIHZlcnNpb24gb2YgdGhlIGxp
YnJhcnksIHdoaWNoIHlvdSBkbyBub3QgYXBwZWFyIHRvIGhhdmUiCgkJZWNo
byAiKioqIGJlY2F1c2UgSSBkaWQgY2hlY2sgdGhlIGxpbmtlciBwYXRoIGxv
b2tpbmcgZm9yIGEgZmlsZSBzdGFydGluZyIKCQlpZiB0ZXN0IC16ICIkcG90
bGliIiA7IHRoZW4KCQkgICRFQ0hPICIqKiogd2l0aCAkbGlibmFtZSBidXQg
bm8gY2FuZGlkYXRlcyB3ZXJlIGZvdW5kLiAoLi4uZm9yIHJlZ2V4IHBhdHRl
cm4gdGVzdCkiCgkJZWxzZQoJCSAgJEVDSE8gIioqKiB3aXRoICRsaWJuYW1l
IGFuZCBub25lIG9mIHRoZSBjYW5kaWRhdGVzIHBhc3NlZCBhIGZpbGUgZm9y
bWF0IHRlc3QiCgkJICAkRUNITyAiKioqIHVzaW5nIGEgcmVnZXggcGF0dGVy
bi4gTGFzdCBmaWxlIGNoZWNrZWQ6ICRwb3RsaWIiCgkJZmkKCSAgICAgIGZp
CgkgICAgICA7OwoJICAgICopCgkgICAgICAjIEFkZCBhIC1MIGFyZ3VtZW50
LgoJICAgICAgbmV3ZGVwbGlicys9IiAkYV9kZXBsaWIiCgkgICAgICA7OwoJ
ICAgIGVzYWMKCSAgZG9uZSAjIEdvbmUgdGhyb3VnaCBhbGwgZGVwbGlicy4K
CSAgOzsKCW5vbmUgfCB1bmtub3duIHwgKikKCSAgbmV3ZGVwbGlicz0iIgoJ
ICB0bXBfZGVwbGlicz1gJEVDSE8gIiAkZGVwbGlicyIgfCAkU0VEICdzLyAt
bGMkLy87IHMvIC1bTFJdW14gXSovL2cnYAoJICBpZiB0ZXN0ICJYJGFsbG93
X2xpYnRvb2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcyIgPSAiWHllcyIg
OyB0aGVuCgkgICAgZm9yIGkgaW4gJHByZWRlcHMgJHBvc3RkZXBzIDsgZG8K
CSAgICAgICMgY2FuJ3QgdXNlIFhzZWQgYmVsb3csIGJlY2F1c2UgJGkgbWln
aHQgY29udGFpbiAnLycKCSAgICAgIHRtcF9kZXBsaWJzPWAkRUNITyAiICR0
bXBfZGVwbGlicyIgfCAkU0VEICJzLCRpLCwiYAoJICAgIGRvbmUKCSAgZmkK
CSAgY2FzZSAkdG1wX2RlcGxpYnMgaW4KCSAgKlshXAlcIF0qKQoJICAgIGVj
aG8KCSAgICBpZiB0ZXN0ICJYJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiA9ICJY
bm9uZSI7IHRoZW4KCSAgICAgIGVjaG8gIioqKiBXYXJuaW5nOiBpbnRlci1s
aWJyYXJ5IGRlcGVuZGVuY2llcyBhcmUgbm90IHN1cHBvcnRlZCBpbiB0aGlz
IHBsYXRmb3JtLiIKCSAgICBlbHNlCgkgICAgICBlY2hvICIqKiogV2Fybmlu
ZzogaW50ZXItbGlicmFyeSBkZXBlbmRlbmNpZXMgYXJlIG5vdCBrbm93biB0
byBiZSBzdXBwb3J0ZWQuIgoJICAgIGZpCgkgICAgZWNobyAiKioqIEFsbCBk
ZWNsYXJlZCBpbnRlci1saWJyYXJ5IGRlcGVuZGVuY2llcyBhcmUgYmVpbmcg
ZHJvcHBlZC4iCgkgICAgZHJvcHBlZGRlcHM9eWVzCgkgICAgOzsKCSAgZXNh
YwoJICA7OwoJZXNhYwoJdmVyc3VmZml4PSR2ZXJzdWZmaXhfc2F2ZQoJbWFq
b3I9JG1ham9yX3NhdmUKCXJlbGVhc2U9JHJlbGVhc2Vfc2F2ZQoJbGlibmFt
ZT0kbGlibmFtZV9zYXZlCgluYW1lPSRuYW1lX3NhdmUKCgljYXNlICRob3N0
IGluCgkqLSotcmhhcHNvZHkqIHwgKi0qLWRhcndpbjEuWzAxMl0pCgkgICMg
T24gUmhhcHNvZHkgcmVwbGFjZSB0aGUgQyBsaWJyYXJ5IHdpdGggdGhlIFN5
c3RlbSBmcmFtZXdvcmsKCSAgbmV3ZGVwbGlicz1gJEVDSE8gIiAkbmV3ZGVw
bGlicyIgfCAkU0VEICdzLyAtbGMgLyBTeXN0ZW0ubHRmcmFtZXdvcmsgLydg
CgkgIDs7Cgllc2FjCgoJaWYgdGVzdCAiJGRyb3BwZWRkZXBzIiA9IHllczsg
dGhlbgoJICBpZiB0ZXN0ICIkbW9kdWxlIiA9IHllczsgdGhlbgoJICAgIGVj
aG8KCSAgICBlY2hvICIqKiogV2FybmluZzogbGlidG9vbCBjb3VsZCBub3Qg
c2F0aXNmeSBhbGwgZGVjbGFyZWQgaW50ZXItbGlicmFyeSIKCSAgICAkRUNI
TyAiKioqIGRlcGVuZGVuY2llcyBvZiBtb2R1bGUgJGxpYm5hbWUuICBUaGVy
ZWZvcmUsIGxpYnRvb2wgd2lsbCBjcmVhdGUiCgkgICAgZWNobyAiKioqIGEg
c3RhdGljIG1vZHVsZSwgdGhhdCBzaG91bGQgd29yayBhcyBsb25nIGFzIHRo
ZSBkbG9wZW5pbmciCgkgICAgZWNobyAiKioqIGFwcGxpY2F0aW9uIGlzIGxp
bmtlZCB3aXRoIHRoZSAtZGxvcGVuIGZsYWcuIgoJICAgIGlmIHRlc3QgLXog
IiRnbG9iYWxfc3ltYm9sX3BpcGUiOyB0aGVuCgkgICAgICBlY2hvCgkgICAg
ICBlY2hvICIqKiogSG93ZXZlciwgdGhpcyB3b3VsZCBvbmx5IHdvcmsgaWYg
bGlidG9vbCB3YXMgYWJsZSB0byBleHRyYWN0IHN5bWJvbCIKCSAgICAgIGVj
aG8gIioqKiBsaXN0cyBmcm9tIGEgcHJvZ3JhbSwgdXNpbmcgXGBubScgb3Ig
ZXF1aXZhbGVudCwgYnV0IGxpYnRvb2wgY291bGQiCgkgICAgICBlY2hvICIq
Kiogbm90IGZpbmQgc3VjaCBhIHByb2dyYW0uICBTbywgdGhpcyBtb2R1bGUg
aXMgcHJvYmFibHkgdXNlbGVzcy4iCgkgICAgICBlY2hvICIqKiogXGBubScg
ZnJvbSBHTlUgYmludXRpbHMgYW5kIGEgZnVsbCByZWJ1aWxkIG1heSBoZWxw
LiIKCSAgICBmaQoJICAgIGlmIHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSBu
bzsgdGhlbgoJICAgICAgb2xkbGlicz0iJG91dHB1dF9vYmpkaXIvJGxpYm5h
bWUuJGxpYmV4dCIKCSAgICAgIGJ1aWxkX2xpYnRvb2xfbGlicz1tb2R1bGUK
CSAgICAgIGJ1aWxkX29sZF9saWJzPXllcwoJICAgIGVsc2UKCSAgICAgIGJ1
aWxkX2xpYnRvb2xfbGlicz1ubwoJICAgIGZpCgkgIGVsc2UKCSAgICBlY2hv
ICIqKiogVGhlIGludGVyLWxpYnJhcnkgZGVwZW5kZW5jaWVzIHRoYXQgaGF2
ZSBiZWVuIGRyb3BwZWQgaGVyZSB3aWxsIGJlIgoJICAgIGVjaG8gIioqKiBh
dXRvbWF0aWNhbGx5IGFkZGVkIHdoZW5ldmVyIGEgcHJvZ3JhbSBpcyBsaW5r
ZWQgd2l0aCB0aGlzIGxpYnJhcnkiCgkgICAgZWNobyAiKioqIG9yIGlzIGRl
Y2xhcmVkIHRvIC1kbG9wZW4gaXQuIgoKCSAgICBpZiB0ZXN0ICIkYWxsb3df
dW5kZWZpbmVkIiA9IG5vOyB0aGVuCgkgICAgICBlY2hvCgkgICAgICBlY2hv
ICIqKiogU2luY2UgdGhpcyBsaWJyYXJ5IG11c3Qgbm90IGNvbnRhaW4gdW5k
ZWZpbmVkIHN5bWJvbHMsIgoJICAgICAgZWNobyAiKioqIGJlY2F1c2UgZWl0
aGVyIHRoZSBwbGF0Zm9ybSBkb2VzIG5vdCBzdXBwb3J0IHRoZW0gb3IiCgkg
ICAgICBlY2hvICIqKiogaXQgd2FzIGV4cGxpY2l0bHkgcmVxdWVzdGVkIHdp
dGggLW5vLXVuZGVmaW5lZCwiCgkgICAgICBlY2hvICIqKiogbGlidG9vbCB3
aWxsIG9ubHkgY3JlYXRlIGEgc3RhdGljIHZlcnNpb24gb2YgaXQuIgoJICAg
ICAgaWYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IG5vOyB0aGVuCgkJb2xk
bGlicz0iJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUuJGxpYmV4dCIKCQlidWls
ZF9saWJ0b29sX2xpYnM9bW9kdWxlCgkJYnVpbGRfb2xkX2xpYnM9eWVzCgkg
ICAgICBlbHNlCgkJYnVpbGRfbGlidG9vbF9saWJzPW5vCgkgICAgICBmaQoJ
ICAgIGZpCgkgIGZpCglmaQoJIyBEb25lIGNoZWNraW5nIGRlcGxpYnMhCglk
ZXBsaWJzPSRuZXdkZXBsaWJzCiAgICAgIGZpCiAgICAgICMgVGltZSB0byBj
aGFuZ2UgYWxsIG91ciAiZm9vLmx0ZnJhbWV3b3JrIiBzdHVmZiBiYWNrIHRv
ICItZnJhbWV3b3JrIGZvbyIKICAgICAgY2FzZSAkaG9zdCBpbgoJKi0qLWRh
cndpbiopCgkgIG5ld2RlcGxpYnM9YCRFQ0hPICIgJG5ld2RlcGxpYnMiIHwg
JFNFRCAncyUgXChbXiAkXSpcKS5sdGZyYW1ld29yayUgLWZyYW1ld29yayBc
MSVnJ2AKCSAgbmV3X2luaGVyaXRlZF9saW5rZXJfZmxhZ3M9YCRFQ0hPICIg
JG5ld19pbmhlcml0ZWRfbGlua2VyX2ZsYWdzIiB8ICRTRUQgJ3MlIFwoW14g
JF0qXCkubHRmcmFtZXdvcmslIC1mcmFtZXdvcmsgXDElZydgCgkgIGRlcGxp
YnM9YCRFQ0hPICIgJGRlcGxpYnMiIHwgJFNFRCAncyUgXChbXiAkXSpcKS5s
dGZyYW1ld29yayUgLWZyYW1ld29yayBcMSVnJ2AKCSAgOzsKICAgICAgZXNh
YwoKICAgICAgIyBtb3ZlIGxpYnJhcnkgc2VhcmNoIHBhdGhzIHRoYXQgY29p
bmNpZGUgd2l0aCBwYXRocyB0byBub3QgeWV0CiAgICAgICMgaW5zdGFsbGVk
IGxpYnJhcmllcyB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaWJyYXJ5IHNl
YXJjaCBsaXN0CiAgICAgIG5ld19saWJzPQogICAgICBmb3IgcGF0aCBpbiAk
bm90aW5zdF9wYXRoOyBkbwoJY2FzZSAiICRuZXdfbGlicyAiIGluCgkqIiAt
TCRwYXRoLyRvYmpkaXIgIiopIDs7CgkqKQoJICBjYXNlICIgJGRlcGxpYnMg
IiBpbgoJICAqIiAtTCRwYXRoLyRvYmpkaXIgIiopCgkgICAgbmV3X2xpYnMr
PSIgLUwkcGF0aC8kb2JqZGlyIiA7OwoJICBlc2FjCgkgIDs7Cgllc2FjCiAg
ICAgIGRvbmUKICAgICAgZm9yIGRlcGxpYiBpbiAkZGVwbGliczsgZG8KCWNh
c2UgJGRlcGxpYiBpbgoJLUwqKQoJICBjYXNlICIgJG5ld19saWJzICIgaW4K
CSAgKiIgJGRlcGxpYiAiKikgOzsKCSAgKikgbmV3X2xpYnMrPSIgJGRlcGxp
YiIgOzsKCSAgZXNhYwoJICA7OwoJKikgbmV3X2xpYnMrPSIgJGRlcGxpYiIg
OzsKCWVzYWMKICAgICAgZG9uZQogICAgICBkZXBsaWJzPSIkbmV3X2xpYnMi
CgogICAgICAjIEFsbCB0aGUgbGlicmFyeS1zcGVjaWZpYyB2YXJpYWJsZXMg
KGluc3RhbGxfbGliZGlyIGlzIHNldCBhYm92ZSkuCiAgICAgIGxpYnJhcnlf
bmFtZXM9CiAgICAgIG9sZF9saWJyYXJ5PQogICAgICBkbG5hbWU9CgogICAg
ICAjIFRlc3QgYWdhaW4sIHdlIG1heSBoYXZlIGRlY2lkZWQgbm90IHRvIGJ1
aWxkIGl0IGFueSBtb3JlCiAgICAgIGlmIHRlc3QgIiRidWlsZF9saWJ0b29s
X2xpYnMiID0geWVzOyB0aGVuCglpZiB0ZXN0ICIkaGFyZGNvZGVfaW50b19s
aWJzIiA9IHllczsgdGhlbgoJICAjIEhhcmRjb2RlIHRoZSBsaWJyYXJ5IHBh
dGhzCgkgIGhhcmRjb2RlX2xpYmRpcnM9CgkgIGRlcF9ycGF0aD0KCSAgcnBh
dGg9IiRmaW5hbGl6ZV9ycGF0aCIKCSAgdGVzdCAiJG9wdF9tb2RlIiAhPSBy
ZWxpbmsgJiYgcnBhdGg9IiRjb21waWxlX3JwYXRoJHJwYXRoIgoJICBmb3Ig
bGliZGlyIGluICRycGF0aDsgZG8KCSAgICBpZiB0ZXN0IC1uICIkaGFyZGNv
ZGVfbGliZGlyX2ZsYWdfc3BlYyI7IHRoZW4KCSAgICAgIGlmIHRlc3QgLW4g
IiRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIjsgdGhlbgoJCWZ1bmNfcmVw
bGFjZV9zeXNyb290ICIkbGliZGlyIgoJCWxpYmRpcj0kZnVuY19yZXBsYWNl
X3N5c3Jvb3RfcmVzdWx0CgkJaWYgdGVzdCAteiAiJGhhcmRjb2RlX2xpYmRp
cnMiOyB0aGVuCgkJICBoYXJkY29kZV9saWJkaXJzPSIkbGliZGlyIgoJCWVs
c2UKCQkgICMgSnVzdCBhY2N1bXVsYXRlIHRoZSB1bmlxdWUgbGliZGlycy4K
CQkgIGNhc2UgJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IkaGFyZGNvZGVf
bGliZGlycyRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIGluCgkJICAqIiRo
YXJkY29kZV9saWJkaXJfc2VwYXJhdG9yJGxpYmRpciRoYXJkY29kZV9saWJk
aXJfc2VwYXJhdG9yIiopCgkJICAgIDs7CgkJICAqKQoJCSAgICBoYXJkY29k
ZV9saWJkaXJzKz0iJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IkbGliZGly
IgoJCSAgICA7OwoJCSAgZXNhYwoJCWZpCgkgICAgICBlbHNlCgkJZXZhbCBm
bGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgoJCWRlcF9ycGF0
aCs9IiAkZmxhZyIKCSAgICAgIGZpCgkgICAgZWxpZiB0ZXN0IC1uICIkcnVu
cGF0aF92YXIiOyB0aGVuCgkgICAgICBjYXNlICIkcGVybV9ycGF0aCAiIGlu
CgkgICAgICAqIiAkbGliZGlyICIqKSA7OwoJICAgICAgKikgZnVuY19hcHBl
ZCBwZXJtX3JwYXRoICIgJGxpYmRpciIgOzsKCSAgICAgIGVzYWMKCSAgICBm
aQoJICBkb25lCgkgICMgU3Vic3RpdHV0ZSB0aGUgaGFyZGNvZGVkIGxpYmRp
cnMgaW50byB0aGUgcnBhdGguCgkgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9s
aWJkaXJfc2VwYXJhdG9yIiAmJgoJICAgICB0ZXN0IC1uICIkaGFyZGNvZGVf
bGliZGlycyI7IHRoZW4KCSAgICBsaWJkaXI9IiRoYXJkY29kZV9saWJkaXJz
IgoJICAgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVj
X2xkIjsgdGhlbgoJICAgICAgZXZhbCBkZXBfcnBhdGg9XCIkaGFyZGNvZGVf
bGliZGlyX2ZsYWdfc3BlY19sZFwiCgkgICAgZWxzZQoJICAgICAgZXZhbCBk
ZXBfcnBhdGg9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCgkgICAg
ZmkKCSAgZmkKCSAgaWYgdGVzdCAtbiAiJHJ1bnBhdGhfdmFyIiAmJiB0ZXN0
IC1uICIkcGVybV9ycGF0aCI7IHRoZW4KCSAgICAjIFdlIHNob3VsZCBzZXQg
dGhlIHJ1bnBhdGhfdmFyLgoJICAgIHJwYXRoPQoJICAgIGZvciBkaXIgaW4g
JHBlcm1fcnBhdGg7IGRvCgkgICAgICBycGF0aCs9IiRkaXI6IgoJICAgIGRv
bmUKCSAgICBldmFsICIkcnVucGF0aF92YXI9JyRycGF0aFwkJHJ1bnBhdGhf
dmFyJzsgZXhwb3J0ICRydW5wYXRoX3ZhciIKCSAgZmkKCSAgdGVzdCAtbiAi
JGRlcF9ycGF0aCIgJiYgZGVwbGlicz0iJGRlcF9ycGF0aCAkZGVwbGlicyIK
CWZpCgoJc2hsaWJwYXRoPSIkZmluYWxpemVfc2hsaWJwYXRoIgoJdGVzdCAi
JG9wdF9tb2RlIiAhPSByZWxpbmsgJiYgc2hsaWJwYXRoPSIkY29tcGlsZV9z
aGxpYnBhdGgkc2hsaWJwYXRoIgoJaWYgdGVzdCAtbiAiJHNobGlicGF0aCI7
IHRoZW4KCSAgZXZhbCAiJHNobGlicGF0aF92YXI9JyRzaGxpYnBhdGhcJCRz
aGxpYnBhdGhfdmFyJzsgZXhwb3J0ICRzaGxpYnBhdGhfdmFyIgoJZmkKCgkj
IEdldCB0aGUgcmVhbCBhbmQgbGluayBuYW1lcyBvZiB0aGUgbGlicmFyeS4K
CWV2YWwgc2hhcmVkX2V4dD1cIiRzaHJleHRfY21kc1wiCglldmFsIGxpYnJh
cnlfbmFtZXM9XCIkbGlicmFyeV9uYW1lc19zcGVjXCIKCXNldCBkdW1teSAk
bGlicmFyeV9uYW1lcwoJc2hpZnQKCXJlYWxuYW1lPSIkMSIKCXNoaWZ0CgoJ
aWYgdGVzdCAtbiAiJHNvbmFtZV9zcGVjIjsgdGhlbgoJICBldmFsIHNvbmFt
ZT1cIiRzb25hbWVfc3BlY1wiCgllbHNlCgkgIHNvbmFtZT0iJHJlYWxuYW1l
IgoJZmkKCWlmIHRlc3QgLXogIiRkbG5hbWUiOyB0aGVuCgkgIGRsbmFtZT0k
c29uYW1lCglmaQoKCWxpYj0iJG91dHB1dF9vYmpkaXIvJHJlYWxuYW1lIgoJ
bGlua25hbWVzPQoJZm9yIGxpbmsKCWRvCgkgIGxpbmtuYW1lcys9IiAkbGlu
ayIKCWRvbmUKCgkjIFVzZSBzdGFuZGFyZCBvYmplY3RzIGlmIHRoZXkgYXJl
IHBpYwoJdGVzdCAteiAiJHBpY19mbGFnIiAmJiBsaWJvYmpzPWAkRUNITyAi
JGxpYm9ianMiIHwgJFNQMk5MIHwgJFNFRCAiJGxvMm8iIHwgJE5MMlNQYAoJ
dGVzdCAiWCRsaWJvYmpzIiA9ICJYICIgJiYgbGlib2Jqcz0KCglkZWxmaWxl
cz0KCWlmIHRlc3QgLW4gIiRleHBvcnRfc3ltYm9scyIgJiYgdGVzdCAtbiAi
JGluY2x1ZGVfZXhwc3ltcyI7IHRoZW4KCSAgJG9wdF9kcnlfcnVuIHx8IGNw
ICIkZXhwb3J0X3N5bWJvbHMiICIkb3V0cHV0X29iamRpci8kbGlibmFtZS51
ZXhwIgoJICBleHBvcnRfc3ltYm9scz0iJG91dHB1dF9vYmpkaXIvJGxpYm5h
bWUudWV4cCIKCSAgZGVsZmlsZXMrPSIgJGV4cG9ydF9zeW1ib2xzIgoJZmkK
CglvcmlnX2V4cG9ydF9zeW1ib2xzPQoJY2FzZSAkaG9zdF9vcyBpbgoJY3ln
d2luKiB8IG1pbmd3KiB8IGNlZ2NjKikKCSAgaWYgdGVzdCAtbiAiJGV4cG9y
dF9zeW1ib2xzIiAmJiB0ZXN0IC16ICIkZXhwb3J0X3N5bWJvbHNfcmVnZXgi
OyB0aGVuCgkgICAgIyBleHBvcnRpbmcgdXNpbmcgdXNlciBzdXBwbGllZCBz
eW1maWxlCgkgICAgaWYgdGVzdCAieGAkU0VEIDFxICRleHBvcnRfc3ltYm9s
c2AiICE9IHhFWFBPUlRTOyB0aGVuCgkgICAgICAjIGFuZCBpdCdzIE5PVCBh
bHJlYWR5IGEgLmRlZiBmaWxlLiBNdXN0IGZpZ3VyZSBvdXQKCSAgICAgICMg
d2hpY2ggb2YgdGhlIGdpdmVuIHN5bWJvbHMgYXJlIGRhdGEgc3ltYm9scyBh
bmQgdGFnCgkgICAgICAjIHRoZW0gYXMgc3VjaC4gU28sIHRyaWdnZXIgdXNl
IG9mIGV4cG9ydF9zeW1ib2xzX2NtZHMuCgkgICAgICAjIGV4cG9ydF9zeW1i
b2xzIGdldHMgcmVhc3NpZ25lZCBpbnNpZGUgdGhlICJwcmVwYXJlCgkgICAg
ICAjIHRoZSBsaXN0IG9mIGV4cG9ydGVkIHN5bWJvbHMiIGlmIHN0YXRlbWVu
dCwgc28gdGhlCgkgICAgICAjIGluY2x1ZGVfZXhwc3ltcyBsb2dpYyBzdGls
bCB3b3Jrcy4KCSAgICAgIG9yaWdfZXhwb3J0X3N5bWJvbHM9IiRleHBvcnRf
c3ltYm9scyIKCSAgICAgIGV4cG9ydF9zeW1ib2xzPQoJICAgICAgYWx3YXlz
X2V4cG9ydF9zeW1ib2xzPXllcwoJICAgIGZpCgkgIGZpCgkgIDs7Cgllc2Fj
CgoJIyBQcmVwYXJlIHRoZSBsaXN0IG9mIGV4cG9ydGVkIHN5bWJvbHMKCWlm
IHRlc3QgLXogIiRleHBvcnRfc3ltYm9scyI7IHRoZW4KCSAgaWYgdGVzdCAi
JGFsd2F5c19leHBvcnRfc3ltYm9scyIgPSB5ZXMgfHwgdGVzdCAtbiAiJGV4
cG9ydF9zeW1ib2xzX3JlZ2V4IjsgdGhlbgoJICAgIGZ1bmNfdmVyYm9zZSAi
Z2VuZXJhdGluZyBzeW1ib2wgbGlzdCBmb3IgXGAkbGlibmFtZS5sYSciCgkg
ICAgZXhwb3J0X3N5bWJvbHM9IiRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLmV4
cCIKCSAgICAkb3B0X2RyeV9ydW4gfHwgJFJNICRleHBvcnRfc3ltYm9scwoJ
ICAgIGNtZHM9JGV4cG9ydF9zeW1ib2xzX2NtZHMKCSAgICBzYXZlX2lmcz0i
JElGUyI7IElGUz0nficKCSAgICBmb3IgY21kMSBpbiAkY21kczsgZG8KCSAg
ICAgIElGUz0iJHNhdmVfaWZzIgoJICAgICAgIyBUYWtlIHRoZSBub3JtYWwg
YnJhbmNoIGlmIHRoZSBubV9maWxlX2xpc3Rfc3BlYyBicmFuY2gKCSAgICAg
ICMgZG9lc24ndCB3b3JrIG9yIGlmIHRvb2wgY29udmVyc2lvbiBpcyBub3Qg
bmVlZGVkLgoJICAgICAgY2FzZSAkbm1fZmlsZV9saXN0X3NwZWN+JHRvX3Rv
b2xfZmlsZV9jbWQgaW4KCQkqfmZ1bmNfY29udmVydF9maWxlX25vb3AgfCAq
fmZ1bmNfY29udmVydF9maWxlX21zeXNfdG9fdzMyIHwgfiopCgkJICB0cnlf
bm9ybWFsX2JyYW5jaD15ZXMKCQkgIGV2YWwgY21kPVwiJGNtZDFcIgoJCSAg
ZnVuY19sZW4gIiAkY21kIgoJCSAgbGVuPSRmdW5jX2xlbl9yZXN1bHQKCQkg
IDs7CgkJKikKCQkgIHRyeV9ub3JtYWxfYnJhbmNoPW5vCgkJICA7OwoJICAg
ICAgZXNhYwoJICAgICAgaWYgdGVzdCAiJHRyeV9ub3JtYWxfYnJhbmNoIiA9
IHllcyBcCgkJICYmIHsgdGVzdCAiJGxlbiIgLWx0ICIkbWF4X2NtZF9sZW4i
IFwKCQkgICAgICB8fCB0ZXN0ICIkbWF4X2NtZF9sZW4iIC1sZSAtMTsgfQoJ
ICAgICAgdGhlbgoJCWZ1bmNfc2hvd19ldmFsICIkY21kIiAnZXhpdCAkPycK
CQlza2lwcGVkX2V4cG9ydD1mYWxzZQoJICAgICAgZWxpZiB0ZXN0IC1uICIk
bm1fZmlsZV9saXN0X3NwZWMiOyB0aGVuCgkJZnVuY19iYXNlbmFtZSAiJG91
dHB1dCIKCQlvdXRwdXRfbGE9JGZ1bmNfYmFzZW5hbWVfcmVzdWx0CgkJc2F2
ZV9saWJvYmpzPSRsaWJvYmpzCgkJc2F2ZV9vdXRwdXQ9JG91dHB1dAoJCW91
dHB1dD0ke291dHB1dF9vYmpkaXJ9LyR7b3V0cHV0X2xhfS5ubQoJCWZ1bmNf
dG9fdG9vbF9maWxlICIkb3V0cHV0IgoJCWxpYm9ianM9JG5tX2ZpbGVfbGlz
dF9zcGVjJGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3VsdAoJCWRlbGZpbGVzKz0i
ICRvdXRwdXQiCgkJZnVuY192ZXJib3NlICJjcmVhdGluZyAkTk0gaW5wdXQg
ZmlsZSBsaXN0OiAkb3V0cHV0IgoJCWZvciBvYmogaW4gJHNhdmVfbGlib2Jq
czsgZG8KCQkgIGZ1bmNfdG9fdG9vbF9maWxlICIkb2JqIgoJCSAgJEVDSE8g
IiRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQiCgkJZG9uZSA+ICIkb3V0cHV0
IgoJCWV2YWwgY21kPVwiJGNtZDFcIgoJCWZ1bmNfc2hvd19ldmFsICIkY21k
IiAnZXhpdCAkPycKCQlvdXRwdXQ9JHNhdmVfb3V0cHV0CgkJbGlib2Jqcz0k
c2F2ZV9saWJvYmpzCgkJc2tpcHBlZF9leHBvcnQ9ZmFsc2UKCSAgICAgIGVs
c2UKCQkjIFRoZSBjb21tYW5kIGxpbmUgaXMgdG9vIGxvbmcgdG8gZXhlY3V0
ZSBpbiBvbmUgc3RlcC4KCQlmdW5jX3ZlcmJvc2UgInVzaW5nIHJlbG9hZGFi
bGUgb2JqZWN0IGZpbGUgZm9yIGV4cG9ydCBsaXN0Li4uIgoJCXNraXBwZWRf
ZXhwb3J0PToKCQkjIEJyZWFrIG91dCBlYXJseSwgb3RoZXJ3aXNlIHNraXBw
ZWRfZXhwb3J0IG1heSBiZQoJCSMgc2V0IHRvIGZhbHNlIGJ5IGEgbGF0ZXIg
YnV0IHNob3J0ZXIgY21kLgoJCWJyZWFrCgkgICAgICBmaQoJICAgIGRvbmUK
CSAgICBJRlM9IiRzYXZlX2lmcyIKCSAgICBpZiB0ZXN0IC1uICIkZXhwb3J0
X3N5bWJvbHNfcmVnZXgiICYmIHRlc3QgIlgkc2tpcHBlZF9leHBvcnQiICE9
ICJYOiI7IHRoZW4KCSAgICAgIGZ1bmNfc2hvd19ldmFsICckRUdSRVAgLWUg
IiRleHBvcnRfc3ltYm9sc19yZWdleCIgIiRleHBvcnRfc3ltYm9scyIgPiAi
JHtleHBvcnRfc3ltYm9sc31UIicKCSAgICAgIGZ1bmNfc2hvd19ldmFsICck
TVYgIiR7ZXhwb3J0X3N5bWJvbHN9VCIgIiRleHBvcnRfc3ltYm9scyInCgkg
ICAgZmkKCSAgZmkKCWZpCgoJaWYgdGVzdCAtbiAiJGV4cG9ydF9zeW1ib2xz
IiAmJiB0ZXN0IC1uICIkaW5jbHVkZV9leHBzeW1zIjsgdGhlbgoJICB0bXBf
ZXhwb3J0X3N5bWJvbHM9IiRleHBvcnRfc3ltYm9scyIKCSAgdGVzdCAtbiAi
JG9yaWdfZXhwb3J0X3N5bWJvbHMiICYmIHRtcF9leHBvcnRfc3ltYm9scz0i
JG9yaWdfZXhwb3J0X3N5bWJvbHMiCgkgICRvcHRfZHJ5X3J1biB8fCBldmFs
ICckRUNITyAiJGluY2x1ZGVfZXhwc3ltcyIgfCAkU1AyTkwgPj4gIiR0bXBf
ZXhwb3J0X3N5bWJvbHMiJwoJZmkKCglpZiB0ZXN0ICJYJHNraXBwZWRfZXhw
b3J0IiAhPSAiWDoiICYmIHRlc3QgLW4gIiRvcmlnX2V4cG9ydF9zeW1ib2xz
IjsgdGhlbgoJICAjIFRoZSBnaXZlbiBleHBvcnRzX3N5bWJvbHMgZmlsZSBo
YXMgdG8gYmUgZmlsdGVyZWQsIHNvIGZpbHRlciBpdC4KCSAgZnVuY192ZXJi
b3NlICJmaWx0ZXIgc3ltYm9sIGxpc3QgZm9yIFxgJGxpYm5hbWUubGEnIHRv
IHRhZyBEQVRBIGV4cG9ydHMiCgkgICMgRklYTUU6ICRvdXRwdXRfb2JqZGly
LyRsaWJuYW1lLmZpbHRlciBwb3RlbnRpYWxseSBjb250YWlucyBsb3RzIG9m
CgkgICMgJ3MnIGNvbW1hbmRzIHdoaWNoIG5vdCBhbGwgc2VkcyBjYW4gaGFu
ZGxlLiBHTlUgc2VkIHNob3VsZCBiZSBmaW5lCgkgICMgdGhvdWdoLiBBbHNv
LCB0aGUgZmlsdGVyIHNjYWxlcyBzdXBlcmxpbmVhcmx5IHdpdGggdGhlIG51
bWJlciBvZgoJICAjIGdsb2JhbCB2YXJpYWJsZXMuIGpvaW4oMSkgd291bGQg
YmUgbmljZSBoZXJlLCBidXQgdW5mb3J0dW5hdGVseQoJICAjIGlzbid0IGEg
Ymxlc3NlZCB0b29sLgoJICAkb3B0X2RyeV9ydW4gfHwgJFNFRCAtZSAnL1sg
LF1EQVRBLyFkO3MsXCguKlwpXChbIFwsXS4qXCksc3xeXDEkfFwxXDJ8LCcg
PCAkZXhwb3J0X3N5bWJvbHMgPiAkb3V0cHV0X29iamRpci8kbGlibmFtZS5m
aWx0ZXIKCSAgZGVsZmlsZXMrPSIgJGV4cG9ydF9zeW1ib2xzICRvdXRwdXRf
b2JqZGlyLyRsaWJuYW1lLmZpbHRlciIKCSAgZXhwb3J0X3N5bWJvbHM9JG91
dHB1dF9vYmpkaXIvJGxpYm5hbWUuZGVmCgkgICRvcHRfZHJ5X3J1biB8fCAk
U0VEIC1mICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLmZpbHRlciA8ICRvcmln
X2V4cG9ydF9zeW1ib2xzID4gJGV4cG9ydF9zeW1ib2xzCglmaQoKCXRtcF9k
ZXBsaWJzPQoJZm9yIHRlc3RfZGVwbGliIGluICRkZXBsaWJzOyBkbwoJICBj
YXNlICIgJGNvbnZlbmllbmNlICIgaW4KCSAgKiIgJHRlc3RfZGVwbGliICIq
KSA7OwoJICAqKQoJICAgIHRtcF9kZXBsaWJzKz0iICR0ZXN0X2RlcGxpYiIK
CSAgICA7OwoJICBlc2FjCglkb25lCglkZXBsaWJzPSIkdG1wX2RlcGxpYnMi
CgoJaWYgdGVzdCAtbiAiJGNvbnZlbmllbmNlIjsgdGhlbgoJICBpZiB0ZXN0
IC1uICIkd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMiICYmCgkgICAgdGVzdCAi
JGNvbXBpbGVyX25lZWRzX29iamVjdCIgPSB5ZXMgJiYKCSAgICB0ZXN0IC16
ICIkbGlib2JqcyI7IHRoZW4KCSAgICAjIGV4dHJhY3QgdGhlIGFyY2hpdmVz
LCBzbyB3ZSBoYXZlIG9iamVjdHMgdG8gbGlzdC4KCSAgICAjIFRPRE86IGNv
dWxkIG9wdGltaXplIHRoaXMgdG8ganVzdCBleHRyYWN0IG9uZSBhcmNoaXZl
LgoJICAgIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjPQoJICBmaQoJICBpZiB0
ZXN0IC1uICIkd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMiOyB0aGVuCgkgICAg
c2F2ZV9saWJvYmpzPSRsaWJvYmpzCgkgICAgZXZhbCBsaWJvYmpzPVwiXCRs
aWJvYmpzICR3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlY1wiCgkgICAgdGVzdCAi
WCRsaWJvYmpzIiA9ICJYICIgJiYgbGlib2Jqcz0KCSAgZWxzZQoJICAgIGdl
bnRvcD0iJG91dHB1dF9vYmpkaXIvJHtvdXRwdXRuYW1lfXgiCgkgICAgZ2Vu
ZXJhdGVkKz0iICRnZW50b3AiCgoJICAgIGZ1bmNfZXh0cmFjdF9hcmNoaXZl
cyAkZ2VudG9wICRjb252ZW5pZW5jZQoJICAgIGxpYm9ianMrPSIgJGZ1bmNf
ZXh0cmFjdF9hcmNoaXZlc19yZXN1bHQiCgkgICAgdGVzdCAiWCRsaWJvYmpz
IiA9ICJYICIgJiYgbGlib2Jqcz0KCSAgZmkKCWZpCgoJaWYgdGVzdCAiJHRo
cmVhZF9zYWZlIiA9IHllcyAmJiB0ZXN0IC1uICIkdGhyZWFkX3NhZmVfZmxh
Z19zcGVjIjsgdGhlbgoJICBldmFsIGZsYWc9XCIkdGhyZWFkX3NhZmVfZmxh
Z19zcGVjXCIKCSAgbGlua2VyX2ZsYWdzKz0iICRmbGFnIgoJZmkKCgkjIE1h
a2UgYSBiYWNrdXAgb2YgdGhlIHVuaW5zdGFsbGVkIGxpYnJhcnkgd2hlbiBy
ZWxpbmtpbmcKCWlmIHRlc3QgIiRvcHRfbW9kZSIgPSByZWxpbms7IHRoZW4K
CSAgJG9wdF9kcnlfcnVuIHx8IGV2YWwgJyhjZCAkb3V0cHV0X29iamRpciAm
JiAkUk0gJHtyZWFsbmFtZX1VICYmICRNViAkcmVhbG5hbWUgJHtyZWFsbmFt
ZX1VKScgfHwgZXhpdCAkPwoJZmkKCgkjIERvIGVhY2ggb2YgdGhlIGFyY2hp
dmUgY29tbWFuZHMuCglpZiB0ZXN0ICIkbW9kdWxlIiA9IHllcyAmJiB0ZXN0
IC1uICIkbW9kdWxlX2NtZHMiIDsgdGhlbgoJICBpZiB0ZXN0IC1uICIkZXhw
b3J0X3N5bWJvbHMiICYmIHRlc3QgLW4gIiRtb2R1bGVfZXhwc3ltX2NtZHMi
OyB0aGVuCgkgICAgZXZhbCB0ZXN0X2NtZHM9XCIkbW9kdWxlX2V4cHN5bV9j
bWRzXCIKCSAgICBjbWRzPSRtb2R1bGVfZXhwc3ltX2NtZHMKCSAgZWxzZQoJ
ICAgIGV2YWwgdGVzdF9jbWRzPVwiJG1vZHVsZV9jbWRzXCIKCSAgICBjbWRz
PSRtb2R1bGVfY21kcwoJICBmaQoJZWxzZQoJICBpZiB0ZXN0IC1uICIkZXhw
b3J0X3N5bWJvbHMiICYmIHRlc3QgLW4gIiRhcmNoaXZlX2V4cHN5bV9jbWRz
IjsgdGhlbgoJICAgIGV2YWwgdGVzdF9jbWRzPVwiJGFyY2hpdmVfZXhwc3lt
X2NtZHNcIgoJICAgIGNtZHM9JGFyY2hpdmVfZXhwc3ltX2NtZHMKCSAgZWxz
ZQoJICAgIGV2YWwgdGVzdF9jbWRzPVwiJGFyY2hpdmVfY21kc1wiCgkgICAg
Y21kcz0kYXJjaGl2ZV9jbWRzCgkgIGZpCglmaQoKCWlmIHRlc3QgIlgkc2tp
cHBlZF9leHBvcnQiICE9ICJYOiIgJiYKCSAgIGZ1bmNfbGVuICIgJHRlc3Rf
Y21kcyIgJiYKCSAgIGxlbj0kZnVuY19sZW5fcmVzdWx0ICYmCgkgICB0ZXN0
ICIkbGVuIiAtbHQgIiRtYXhfY21kX2xlbiIgfHwgdGVzdCAiJG1heF9jbWRf
bGVuIiAtbGUgLTE7IHRoZW4KCSAgOgoJZWxzZQoJICAjIFRoZSBjb21tYW5k
IGxpbmUgaXMgdG9vIGxvbmcgdG8gbGluayBpbiBvbmUgc3RlcCwgbGluayBw
aWVjZXdpc2UKCSAgIyBvciwgaWYgdXNpbmcgR05VIGxkIGFuZCBza2lwcGVk
X2V4cG9ydCBpcyBub3QgOiwgdXNlIGEgbGlua2VyCgkgICMgc2NyaXB0LgoK
CSAgIyBTYXZlIHRoZSB2YWx1ZSBvZiAkb3V0cHV0IGFuZCAkbGlib2JqcyBi
ZWNhdXNlIHdlIHdhbnQgdG8KCSAgIyB1c2UgdGhlbSBsYXRlci4gIElmIHdl
IGhhdmUgd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMsIHdlCgkgICMgd2FudCB0
byB1c2Ugc2F2ZV9saWJvYmpzIGFzIGl0IHdhcyBiZWZvcmUKCSAgIyB3aG9s
ZV9hcmNoaXZlX2ZsYWdfc3BlYyB3YXMgZXhwYW5kZWQsIGJlY2F1c2Ugd2Ug
Y2FuJ3QKCSAgIyBhc3N1bWUgdGhlIGxpbmtlciB1bmRlcnN0YW5kcyB3aG9s
ZV9hcmNoaXZlX2ZsYWdfc3BlYy4KCSAgIyBUaGlzIG1heSBoYXZlIHRvIGJl
IHJldmlzaXRlZCwgaW4gY2FzZSB0b28gbWFueQoJICAjIGNvbnZlbmllbmNl
IGxpYnJhcmllcyBnZXQgbGlua2VkIGluIGFuZCBlbmQgdXAgZXhjZWVkaW5n
CgkgICMgdGhlIHNwZWMuCgkgIGlmIHRlc3QgLXogIiRjb252ZW5pZW5jZSIg
fHwgdGVzdCAteiAiJHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjIjsgdGhlbgoJ
ICAgIHNhdmVfbGlib2Jqcz0kbGlib2JqcwoJICBmaQoJICBzYXZlX291dHB1
dD0kb3V0cHV0CgkgIGZ1bmNfYmFzZW5hbWUgIiRvdXRwdXQiCgkgIG91dHB1
dF9sYT0kZnVuY19iYXNlbmFtZV9yZXN1bHQKCgkgICMgQ2xlYXIgdGhlIHJl
bG9hZGFibGUgb2JqZWN0IGNyZWF0aW9uIGNvbW1hbmQgcXVldWUgYW5kCgkg
ICMgaW5pdGlhbGl6ZSBrIHRvIG9uZS4KCSAgdGVzdF9jbWRzPQoJICBjb25j
YXRfY21kcz0KCSAgb2JqbGlzdD0KCSAgbGFzdF9yb2JqPQoJICBrPTEKCgkg
IGlmIHRlc3QgLW4gIiRzYXZlX2xpYm9ianMiICYmIHRlc3QgIlgkc2tpcHBl
ZF9leHBvcnQiICE9ICJYOiIgJiYgdGVzdCAiJHdpdGhfZ251X2xkIiA9IHll
czsgdGhlbgoJICAgIG91dHB1dD0ke291dHB1dF9vYmpkaXJ9LyR7b3V0cHV0
X2xhfS5sbmtzY3JpcHQKCSAgICBmdW5jX3ZlcmJvc2UgImNyZWF0aW5nIEdO
VSBsZCBzY3JpcHQ6ICRvdXRwdXQiCgkgICAgZWNobyAnSU5QVVQgKCcgPiAk
b3V0cHV0CgkgICAgZm9yIG9iaiBpbiAkc2F2ZV9saWJvYmpzCgkgICAgZG8K
CSAgICAgIGZ1bmNfdG9fdG9vbF9maWxlICIkb2JqIgoJICAgICAgJEVDSE8g
IiRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQiID4+ICRvdXRwdXQKCSAgICBk
b25lCgkgICAgZWNobyAnKScgPj4gJG91dHB1dAoJICAgIGRlbGZpbGVzKz0i
ICRvdXRwdXQiCgkgICAgZnVuY190b190b29sX2ZpbGUgIiRvdXRwdXQiCgkg
ICAgb3V0cHV0PSRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQKCSAgZWxpZiB0
ZXN0IC1uICIkc2F2ZV9saWJvYmpzIiAmJiB0ZXN0ICJYJHNraXBwZWRfZXhw
b3J0IiAhPSAiWDoiICYmIHRlc3QgIlgkZmlsZV9saXN0X3NwZWMiICE9IFg7
IHRoZW4KCSAgICBvdXRwdXQ9JHtvdXRwdXRfb2JqZGlyfS8ke291dHB1dF9s
YX0ubG5rCgkgICAgZnVuY192ZXJib3NlICJjcmVhdGluZyBsaW5rZXIgaW5w
dXQgZmlsZSBsaXN0OiAkb3V0cHV0IgoJICAgIDogPiAkb3V0cHV0CgkgICAg
c2V0IHggJHNhdmVfbGlib2JqcwoJICAgIHNoaWZ0CgkgICAgZmlyc3RvYmo9
CgkgICAgaWYgdGVzdCAiJGNvbXBpbGVyX25lZWRzX29iamVjdCIgPSB5ZXM7
IHRoZW4KCSAgICAgIGZpcnN0b2JqPSIkMSAiCgkgICAgICBzaGlmdAoJICAg
IGZpCgkgICAgZm9yIG9iagoJICAgIGRvCgkgICAgICBmdW5jX3RvX3Rvb2xf
ZmlsZSAiJG9iaiIKCSAgICAgICRFQ0hPICIkZnVuY190b190b29sX2ZpbGVf
cmVzdWx0IiA+PiAkb3V0cHV0CgkgICAgZG9uZQoJICAgIGRlbGZpbGVzKz0i
ICRvdXRwdXQiCgkgICAgZnVuY190b190b29sX2ZpbGUgIiRvdXRwdXQiCgkg
ICAgb3V0cHV0PSRmaXJzdG9ialwiJGZpbGVfbGlzdF9zcGVjJGZ1bmNfdG9f
dG9vbF9maWxlX3Jlc3VsdFwiCgkgIGVsc2UKCSAgICBpZiB0ZXN0IC1uICIk
c2F2ZV9saWJvYmpzIjsgdGhlbgoJICAgICAgZnVuY192ZXJib3NlICJjcmVh
dGluZyByZWxvYWRhYmxlIG9iamVjdCBmaWxlcy4uLiIKCSAgICAgIG91dHB1
dD0kb3V0cHV0X29iamRpci8kb3V0cHV0X2xhLSR7a30uJG9iamV4dAoJICAg
ICAgZXZhbCB0ZXN0X2NtZHM9XCIkcmVsb2FkX2NtZHNcIgoJICAgICAgZnVu
Y19sZW4gIiAkdGVzdF9jbWRzIgoJICAgICAgbGVuMD0kZnVuY19sZW5fcmVz
dWx0CgkgICAgICBsZW49JGxlbjAKCgkgICAgICAjIExvb3Agb3ZlciB0aGUg
bGlzdCBvZiBvYmplY3RzIHRvIGJlIGxpbmtlZC4KCSAgICAgIGZvciBvYmog
aW4gJHNhdmVfbGlib2JqcwoJICAgICAgZG8KCQlmdW5jX2xlbiAiICRvYmoi
CgkJZnVuY19hcml0aCAkbGVuICsgJGZ1bmNfbGVuX3Jlc3VsdAoJCWxlbj0k
ZnVuY19hcml0aF9yZXN1bHQKCQlpZiB0ZXN0ICJYJG9iamxpc3QiID0gWCB8
fAoJCSAgIHRlc3QgIiRsZW4iIC1sdCAiJG1heF9jbWRfbGVuIjsgdGhlbgoJ
CSAgb2JqbGlzdCs9IiAkb2JqIgoJCWVsc2UKCQkgICMgVGhlIGNvbW1hbmQg
JHRlc3RfY21kcyBpcyBhbG1vc3QgdG9vIGxvbmcsIGFkZCBhCgkJICAjIGNv
bW1hbmQgdG8gdGhlIHF1ZXVlLgoJCSAgaWYgdGVzdCAiJGsiIC1lcSAxIDsg
dGhlbgoJCSAgICAjIFRoZSBmaXJzdCBmaWxlIGRvZXNuJ3QgaGF2ZSBhIHBy
ZXZpb3VzIGNvbW1hbmQgdG8gYWRkLgoJCSAgICByZWxvYWRfb2Jqcz0kb2Jq
bGlzdAoJCSAgICBldmFsIGNvbmNhdF9jbWRzPVwiJHJlbG9hZF9jbWRzXCIK
CQkgIGVsc2UKCQkgICAgIyBBbGwgc3Vic2VxdWVudCByZWxvYWRhYmxlIG9i
amVjdCBmaWxlcyB3aWxsIGxpbmsgaW4KCQkgICAgIyB0aGUgbGFzdCBvbmUg
Y3JlYXRlZC4KCQkgICAgcmVsb2FkX29ianM9IiRvYmpsaXN0ICRsYXN0X3Jv
YmoiCgkJICAgIGV2YWwgY29uY2F0X2NtZHM9XCJcJGNvbmNhdF9jbWRzfiRy
ZWxvYWRfY21kc35cJFJNICRsYXN0X3JvYmpcIgoJCSAgZmkKCQkgIGxhc3Rf
cm9iaj0kb3V0cHV0X29iamRpci8kb3V0cHV0X2xhLSR7a30uJG9iamV4dAoJ
CSAgZnVuY19hcml0aCAkayArIDEKCQkgIGs9JGZ1bmNfYXJpdGhfcmVzdWx0
CgkJICBvdXRwdXQ9JG91dHB1dF9vYmpkaXIvJG91dHB1dF9sYS0ke2t9LiRv
YmpleHQKCQkgIG9iamxpc3Q9IiAkb2JqIgoJCSAgZnVuY19sZW4gIiAkbGFz
dF9yb2JqIgoJCSAgZnVuY19hcml0aCAkbGVuMCArICRmdW5jX2xlbl9yZXN1
bHQKCQkgIGxlbj0kZnVuY19hcml0aF9yZXN1bHQKCQlmaQoJICAgICAgZG9u
ZQoJICAgICAgIyBIYW5kbGUgdGhlIHJlbWFpbmluZyBvYmplY3RzIGJ5IGNy
ZWF0aW5nIG9uZSBsYXN0CgkgICAgICAjIHJlbG9hZGFibGUgb2JqZWN0IGZp
bGUuICBBbGwgc3Vic2VxdWVudCByZWxvYWRhYmxlIG9iamVjdAoJICAgICAg
IyBmaWxlcyB3aWxsIGxpbmsgaW4gdGhlIGxhc3Qgb25lIGNyZWF0ZWQuCgkg
ICAgICB0ZXN0IC16ICIkY29uY2F0X2NtZHMiIHx8IGNvbmNhdF9jbWRzPSRj
b25jYXRfY21kc34KCSAgICAgIHJlbG9hZF9vYmpzPSIkb2JqbGlzdCAkbGFz
dF9yb2JqIgoJICAgICAgZXZhbCBjb25jYXRfY21kcz1cIlwke2NvbmNhdF9j
bWRzfSRyZWxvYWRfY21kc1wiCgkgICAgICBpZiB0ZXN0IC1uICIkbGFzdF9y
b2JqIjsgdGhlbgoJICAgICAgICBldmFsIGNvbmNhdF9jbWRzPVwiXCR7Y29u
Y2F0X2NtZHN9flwkUk0gJGxhc3Rfcm9ialwiCgkgICAgICBmaQoJICAgICAg
ZGVsZmlsZXMrPSIgJG91dHB1dCIKCgkgICAgZWxzZQoJICAgICAgb3V0cHV0
PQoJICAgIGZpCgoJICAgIGlmICR7c2tpcHBlZF9leHBvcnQtZmFsc2V9OyB0
aGVuCgkgICAgICBmdW5jX3ZlcmJvc2UgImdlbmVyYXRpbmcgc3ltYm9sIGxp
c3QgZm9yIFxgJGxpYm5hbWUubGEnIgoJICAgICAgZXhwb3J0X3N5bWJvbHM9
IiRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLmV4cCIKCSAgICAgICRvcHRfZHJ5
X3J1biB8fCAkUk0gJGV4cG9ydF9zeW1ib2xzCgkgICAgICBsaWJvYmpzPSRv
dXRwdXQKCSAgICAgICMgQXBwZW5kIHRoZSBjb21tYW5kIHRvIGNyZWF0ZSB0
aGUgZXhwb3J0IGZpbGUuCgkgICAgICB0ZXN0IC16ICIkY29uY2F0X2NtZHMi
IHx8IGNvbmNhdF9jbWRzPSRjb25jYXRfY21kc34KCSAgICAgIGV2YWwgY29u
Y2F0X2NtZHM9XCJcJGNvbmNhdF9jbWRzJGV4cG9ydF9zeW1ib2xzX2NtZHNc
IgoJICAgICAgaWYgdGVzdCAtbiAiJGxhc3Rfcm9iaiI7IHRoZW4KCQlldmFs
IGNvbmNhdF9jbWRzPVwiXCRjb25jYXRfY21kc35cJFJNICRsYXN0X3JvYmpc
IgoJICAgICAgZmkKCSAgICBmaQoKCSAgICB0ZXN0IC1uICIkc2F2ZV9saWJv
YmpzIiAmJgoJICAgICAgZnVuY192ZXJib3NlICJjcmVhdGluZyBhIHRlbXBv
cmFyeSByZWxvYWRhYmxlIG9iamVjdCBmaWxlOiAkb3V0cHV0IgoKCSAgICAj
IExvb3AgdGhyb3VnaCB0aGUgY29tbWFuZHMgZ2VuZXJhdGVkIGFib3ZlIGFu
ZCBleGVjdXRlIHRoZW0uCgkgICAgc2F2ZV9pZnM9IiRJRlMiOyBJRlM9J34n
CgkgICAgZm9yIGNtZCBpbiAkY29uY2F0X2NtZHM7IGRvCgkgICAgICBJRlM9
IiRzYXZlX2lmcyIKCSAgICAgICRvcHRfc2lsZW50IHx8IHsKCQkgIGZ1bmNf
cXVvdGVfZm9yX2V4cGFuZCAiJGNtZCIKCQkgIGV2YWwgImZ1bmNfZWNobyAk
ZnVuY19xdW90ZV9mb3JfZXhwYW5kX3Jlc3VsdCIKCSAgICAgIH0KCSAgICAg
ICRvcHRfZHJ5X3J1biB8fCBldmFsICIkY21kIiB8fCB7CgkJbHRfZXhpdD0k
PwoKCQkjIFJlc3RvcmUgdGhlIHVuaW5zdGFsbGVkIGxpYnJhcnkgYW5kIGV4
aXQKCQlpZiB0ZXN0ICIkb3B0X21vZGUiID0gcmVsaW5rOyB0aGVuCgkJICAo
IGNkICIkb3V0cHV0X29iamRpciIgJiYgXAoJCSAgICAkUk0gIiR7cmVhbG5h
bWV9VCIgJiYgXAoJCSAgICAkTVYgIiR7cmVhbG5hbWV9VSIgIiRyZWFsbmFt
ZSIgKQoJCWZpCgoJCWV4aXQgJGx0X2V4aXQKCSAgICAgIH0KCSAgICBkb25l
CgkgICAgSUZTPSIkc2F2ZV9pZnMiCgoJICAgIGlmIHRlc3QgLW4gIiRleHBv
cnRfc3ltYm9sc19yZWdleCIgJiYgJHtza2lwcGVkX2V4cG9ydC1mYWxzZX07
IHRoZW4KCSAgICAgIGZ1bmNfc2hvd19ldmFsICckRUdSRVAgLWUgIiRleHBv
cnRfc3ltYm9sc19yZWdleCIgIiRleHBvcnRfc3ltYm9scyIgPiAiJHtleHBv
cnRfc3ltYm9sc31UIicKCSAgICAgIGZ1bmNfc2hvd19ldmFsICckTVYgIiR7
ZXhwb3J0X3N5bWJvbHN9VCIgIiRleHBvcnRfc3ltYm9scyInCgkgICAgZmkK
CSAgZmkKCiAgICAgICAgICBpZiAke3NraXBwZWRfZXhwb3J0LWZhbHNlfTsg
dGhlbgoJICAgIGlmIHRlc3QgLW4gIiRleHBvcnRfc3ltYm9scyIgJiYgdGVz
dCAtbiAiJGluY2x1ZGVfZXhwc3ltcyI7IHRoZW4KCSAgICAgIHRtcF9leHBv
cnRfc3ltYm9scz0iJGV4cG9ydF9zeW1ib2xzIgoJICAgICAgdGVzdCAtbiAi
JG9yaWdfZXhwb3J0X3N5bWJvbHMiICYmIHRtcF9leHBvcnRfc3ltYm9scz0i
JG9yaWdfZXhwb3J0X3N5bWJvbHMiCgkgICAgICAkb3B0X2RyeV9ydW4gfHwg
ZXZhbCAnJEVDSE8gIiRpbmNsdWRlX2V4cHN5bXMiIHwgJFNQMk5MID4+ICIk
dG1wX2V4cG9ydF9zeW1ib2xzIicKCSAgICBmaQoKCSAgICBpZiB0ZXN0IC1u
ICIkb3JpZ19leHBvcnRfc3ltYm9scyI7IHRoZW4KCSAgICAgICMgVGhlIGdp
dmVuIGV4cG9ydHNfc3ltYm9scyBmaWxlIGhhcyB0byBiZSBmaWx0ZXJlZCwg
c28gZmlsdGVyIGl0LgoJICAgICAgZnVuY192ZXJib3NlICJmaWx0ZXIgc3lt
Ym9sIGxpc3QgZm9yIFxgJGxpYm5hbWUubGEnIHRvIHRhZyBEQVRBIGV4cG9y
dHMiCgkgICAgICAjIEZJWE1FOiAkb3V0cHV0X29iamRpci8kbGlibmFtZS5m
aWx0ZXIgcG90ZW50aWFsbHkgY29udGFpbnMgbG90cyBvZgoJICAgICAgIyAn
cycgY29tbWFuZHMgd2hpY2ggbm90IGFsbCBzZWRzIGNhbiBoYW5kbGUuIEdO
VSBzZWQgc2hvdWxkIGJlIGZpbmUKCSAgICAgICMgdGhvdWdoLiBBbHNvLCB0
aGUgZmlsdGVyIHNjYWxlcyBzdXBlcmxpbmVhcmx5IHdpdGggdGhlIG51bWJl
ciBvZgoJICAgICAgIyBnbG9iYWwgdmFyaWFibGVzLiBqb2luKDEpIHdvdWxk
IGJlIG5pY2UgaGVyZSwgYnV0IHVuZm9ydHVuYXRlbHkKCSAgICAgICMgaXNu
J3QgYSBibGVzc2VkIHRvb2wuCgkgICAgICAkb3B0X2RyeV9ydW4gfHwgJFNF
RCAtZSAnL1sgLF1EQVRBLyFkO3MsXCguKlwpXChbIFwsXS4qXCksc3xeXDEk
fFwxXDJ8LCcgPCAkZXhwb3J0X3N5bWJvbHMgPiAkb3V0cHV0X29iamRpci8k
bGlibmFtZS5maWx0ZXIKCSAgICAgIGRlbGZpbGVzKz0iICRleHBvcnRfc3lt
Ym9scyAkb3V0cHV0X29iamRpci8kbGlibmFtZS5maWx0ZXIiCgkgICAgICBl
eHBvcnRfc3ltYm9scz0kb3V0cHV0X29iamRpci8kbGlibmFtZS5kZWYKCSAg
ICAgICRvcHRfZHJ5X3J1biB8fCAkU0VEIC1mICRvdXRwdXRfb2JqZGlyLyRs
aWJuYW1lLmZpbHRlciA8ICRvcmlnX2V4cG9ydF9zeW1ib2xzID4gJGV4cG9y
dF9zeW1ib2xzCgkgICAgZmkKCSAgZmkKCgkgIGxpYm9ianM9JG91dHB1dAoJ
ICAjIFJlc3RvcmUgdGhlIHZhbHVlIG9mIG91dHB1dC4KCSAgb3V0cHV0PSRz
YXZlX291dHB1dAoKCSAgaWYgdGVzdCAtbiAiJGNvbnZlbmllbmNlIiAmJiB0
ZXN0IC1uICIkd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMiOyB0aGVuCgkgICAg
ZXZhbCBsaWJvYmpzPVwiXCRsaWJvYmpzICR3aG9sZV9hcmNoaXZlX2ZsYWdf
c3BlY1wiCgkgICAgdGVzdCAiWCRsaWJvYmpzIiA9ICJYICIgJiYgbGlib2Jq
cz0KCSAgZmkKCSAgIyBFeHBhbmQgdGhlIGxpYnJhcnkgbGlua2luZyBjb21t
YW5kcyBhZ2FpbiB0byByZXNldCB0aGUKCSAgIyB2YWx1ZSBvZiAkbGlib2Jq
cyBmb3IgcGllY2V3aXNlIGxpbmtpbmcuCgoJICAjIERvIGVhY2ggb2YgdGhl
IGFyY2hpdmUgY29tbWFuZHMuCgkgIGlmIHRlc3QgIiRtb2R1bGUiID0geWVz
ICYmIHRlc3QgLW4gIiRtb2R1bGVfY21kcyIgOyB0aGVuCgkgICAgaWYgdGVz
dCAtbiAiJGV4cG9ydF9zeW1ib2xzIiAmJiB0ZXN0IC1uICIkbW9kdWxlX2V4
cHN5bV9jbWRzIjsgdGhlbgoJICAgICAgY21kcz0kbW9kdWxlX2V4cHN5bV9j
bWRzCgkgICAgZWxzZQoJICAgICAgY21kcz0kbW9kdWxlX2NtZHMKCSAgICBm
aQoJICBlbHNlCgkgICAgaWYgdGVzdCAtbiAiJGV4cG9ydF9zeW1ib2xzIiAm
JiB0ZXN0IC1uICIkYXJjaGl2ZV9leHBzeW1fY21kcyI7IHRoZW4KCSAgICAg
IGNtZHM9JGFyY2hpdmVfZXhwc3ltX2NtZHMKCSAgICBlbHNlCgkgICAgICBj
bWRzPSRhcmNoaXZlX2NtZHMKCSAgICBmaQoJICBmaQoJZmkKCglpZiB0ZXN0
IC1uICIkZGVsZmlsZXMiOyB0aGVuCgkgICMgQXBwZW5kIHRoZSBjb21tYW5k
IHRvIHJlbW92ZSB0ZW1wb3JhcnkgZmlsZXMgdG8gJGNtZHMuCgkgIGV2YWwg
Y21kcz1cIlwkY21kc35cJFJNICRkZWxmaWxlc1wiCglmaQoKCSMgQWRkIGFu
eSBvYmplY3RzIGZyb20gcHJlbG9hZGVkIGNvbnZlbmllbmNlIGxpYnJhcmll
cwoJaWYgdGVzdCAtbiAiJGRscHJlZmlsZXMiOyB0aGVuCgkgIGdlbnRvcD0i
JG91dHB1dF9vYmpkaXIvJHtvdXRwdXRuYW1lfXgiCgkgIGdlbmVyYXRlZCs9
IiAkZ2VudG9wIgoKCSAgZnVuY19leHRyYWN0X2FyY2hpdmVzICRnZW50b3Ag
JGRscHJlZmlsZXMKCSAgbGlib2Jqcys9IiAkZnVuY19leHRyYWN0X2FyY2hp
dmVzX3Jlc3VsdCIKCSAgdGVzdCAiWCRsaWJvYmpzIiA9ICJYICIgJiYgbGli
b2Jqcz0KCWZpCgoJc2F2ZV9pZnM9IiRJRlMiOyBJRlM9J34nCglmb3IgY21k
IGluICRjbWRzOyBkbwoJICBJRlM9IiRzYXZlX2lmcyIKCSAgZXZhbCBjbWQ9
XCIkY21kXCIKCSAgJG9wdF9zaWxlbnQgfHwgewoJICAgIGZ1bmNfcXVvdGVf
Zm9yX2V4cGFuZCAiJGNtZCIKCSAgICBldmFsICJmdW5jX2VjaG8gJGZ1bmNf
cXVvdGVfZm9yX2V4cGFuZF9yZXN1bHQiCgkgIH0KCSAgJG9wdF9kcnlfcnVu
IHx8IGV2YWwgIiRjbWQiIHx8IHsKCSAgICBsdF9leGl0PSQ/CgoJICAgICMg
UmVzdG9yZSB0aGUgdW5pbnN0YWxsZWQgbGlicmFyeSBhbmQgZXhpdAoJICAg
IGlmIHRlc3QgIiRvcHRfbW9kZSIgPSByZWxpbms7IHRoZW4KCSAgICAgICgg
Y2QgIiRvdXRwdXRfb2JqZGlyIiAmJiBcCgkgICAgICAgICRSTSAiJHtyZWFs
bmFtZX1UIiAmJiBcCgkJJE1WICIke3JlYWxuYW1lfVUiICIkcmVhbG5hbWUi
ICkKCSAgICBmaQoKCSAgICBleGl0ICRsdF9leGl0CgkgIH0KCWRvbmUKCUlG
Uz0iJHNhdmVfaWZzIgoKCSMgUmVzdG9yZSB0aGUgdW5pbnN0YWxsZWQgbGli
cmFyeSBhbmQgZXhpdAoJaWYgdGVzdCAiJG9wdF9tb2RlIiA9IHJlbGluazsg
dGhlbgoJICAkb3B0X2RyeV9ydW4gfHwgZXZhbCAnKGNkICRvdXRwdXRfb2Jq
ZGlyICYmICRSTSAke3JlYWxuYW1lfVQgJiYgJE1WICRyZWFsbmFtZSAke3Jl
YWxuYW1lfVQgJiYgJE1WICR7cmVhbG5hbWV9VSAkcmVhbG5hbWUpJyB8fCBl
eGl0ICQ/CgoJICBpZiB0ZXN0IC1uICIkY29udmVuaWVuY2UiOyB0aGVuCgkg
ICAgaWYgdGVzdCAteiAiJHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjIjsgdGhl
bgoJICAgICAgZnVuY19zaG93X2V2YWwgJyR7Uk19ciAiJGdlbnRvcCInCgkg
ICAgZmkKCSAgZmkKCgkgIGV4aXQgJEVYSVRfU1VDQ0VTUwoJZmkKCgkjIENy
ZWF0ZSBsaW5rcyB0byB0aGUgcmVhbCBsaWJyYXJ5LgoJZm9yIGxpbmtuYW1l
IGluICRsaW5rbmFtZXM7IGRvCgkgIGlmIHRlc3QgIiRyZWFsbmFtZSIgIT0g
IiRsaW5rbmFtZSI7IHRoZW4KCSAgICBmdW5jX3Nob3dfZXZhbCAnKGNkICIk
b3V0cHV0X29iamRpciIgJiYgJFJNICIkbGlua25hbWUiICYmICRMTl9TICIk
cmVhbG5hbWUiICIkbGlua25hbWUiKScgJ2V4aXQgJD8nCgkgIGZpCglkb25l
CgoJIyBJZiAtbW9kdWxlIG9yIC1leHBvcnQtZHluYW1pYyB3YXMgc3BlY2lm
aWVkLCBzZXQgdGhlIGRsbmFtZS4KCWlmIHRlc3QgIiRtb2R1bGUiID0geWVz
IHx8IHRlc3QgIiRleHBvcnRfZHluYW1pYyIgPSB5ZXM7IHRoZW4KCSAgIyBP
biBhbGwga25vd24gb3BlcmF0aW5nIHN5c3RlbXMsIHRoZXNlIGFyZSBpZGVu
dGljYWwuCgkgIGRsbmFtZT0iJHNvbmFtZSIKCWZpCiAgICAgIGZpCiAgICAg
IDs7CgogICAgb2JqKQogICAgICBpZiB0ZXN0IC1uICIkZGxmaWxlcyRkbHBy
ZWZpbGVzIiB8fCB0ZXN0ICIkZGxzZWxmIiAhPSBubzsgdGhlbgoJZnVuY193
YXJuaW5nICJcYC1kbG9wZW4nIGlzIGlnbm9yZWQgZm9yIG9iamVjdHMiCiAg
ICAgIGZpCgogICAgICBjYXNlICIgJGRlcGxpYnMiIGluCiAgICAgICpcIC1s
KiB8ICpcIC1MKikKCWZ1bmNfd2FybmluZyAiXGAtbCcgYW5kIFxgLUwnIGFy
ZSBpZ25vcmVkIGZvciBvYmplY3RzIiA7OwogICAgICBlc2FjCgogICAgICB0
ZXN0IC1uICIkcnBhdGgiICYmIFwKCWZ1bmNfd2FybmluZyAiXGAtcnBhdGgn
IGlzIGlnbm9yZWQgZm9yIG9iamVjdHMiCgogICAgICB0ZXN0IC1uICIkeHJw
YXRoIiAmJiBcCglmdW5jX3dhcm5pbmcgIlxgLVInIGlzIGlnbm9yZWQgZm9y
IG9iamVjdHMiCgogICAgICB0ZXN0IC1uICIkdmluZm8iICYmIFwKCWZ1bmNf
d2FybmluZyAiXGAtdmVyc2lvbi1pbmZvJyBpcyBpZ25vcmVkIGZvciBvYmpl
Y3RzIgoKICAgICAgdGVzdCAtbiAiJHJlbGVhc2UiICYmIFwKCWZ1bmNfd2Fy
bmluZyAiXGAtcmVsZWFzZScgaXMgaWdub3JlZCBmb3Igb2JqZWN0cyIKCiAg
ICAgIGNhc2UgJG91dHB1dCBpbgogICAgICAqLmxvKQoJdGVzdCAtbiAiJG9i
anMkb2xkX2RlcGxpYnMiICYmIFwKCSAgZnVuY19mYXRhbF9lcnJvciAiY2Fu
bm90IGJ1aWxkIGxpYnJhcnkgb2JqZWN0IFxgJG91dHB1dCcgZnJvbSBub24t
bGlidG9vbCBvYmplY3RzIgoKCWxpYm9iaj0kb3V0cHV0CglmdW5jX2xvMm8g
IiRsaWJvYmoiCglvYmo9JGZ1bmNfbG8yb19yZXN1bHQKCTs7CiAgICAgICop
CglsaWJvYmo9CglvYmo9IiRvdXRwdXQiCgk7OwogICAgICBlc2FjCgogICAg
ICAjIERlbGV0ZSB0aGUgb2xkIG9iamVjdHMuCiAgICAgICRvcHRfZHJ5X3J1
biB8fCAkUk0gJG9iaiAkbGlib2JqCgogICAgICAjIE9iamVjdHMgZnJvbSBj
b252ZW5pZW5jZSBsaWJyYXJpZXMuICBUaGlzIGFzc3VtZXMKICAgICAgIyBz
aW5nbGUtdmVyc2lvbiBjb252ZW5pZW5jZSBsaWJyYXJpZXMuICBXaGVuZXZl
ciB3ZSBjcmVhdGUKICAgICAgIyBkaWZmZXJlbnQgb25lcyBmb3IgUElDL25v
bi1QSUMsIHRoaXMgd2UnbGwgaGF2ZSB0byBkdXBsaWNhdGUKICAgICAgIyB0
aGUgZXh0cmFjdGlvbi4KICAgICAgcmVsb2FkX2NvbnZfb2Jqcz0KICAgICAg
Z2VudG9wPQogICAgICAjIHJlbG9hZF9jbWRzIHJ1bnMgJExEIGRpcmVjdGx5
LCBzbyBsZXQgdXMgZ2V0IHJpZCBvZgogICAgICAjIC1XbCBmcm9tIHdob2xl
X2FyY2hpdmVfZmxhZ19zcGVjIGFuZCBob3BlIHdlIGNhbiBnZXQgYnkgd2l0
aAogICAgICAjIHR1cm5pbmcgY29tbWEgaW50byBzcGFjZS4uCiAgICAgIHds
PQoKICAgICAgaWYgdGVzdCAtbiAiJGNvbnZlbmllbmNlIjsgdGhlbgoJaWYg
dGVzdCAtbiAiJHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjIjsgdGhlbgoJICBl
dmFsIHRtcF93aG9sZV9hcmNoaXZlX2ZsYWdzPVwiJHdob2xlX2FyY2hpdmVf
ZmxhZ19zcGVjXCIKCSAgcmVsb2FkX2NvbnZfb2Jqcz0kcmVsb2FkX29ianNc
IGAkRUNITyAiJHRtcF93aG9sZV9hcmNoaXZlX2ZsYWdzIiB8ICRTRUQgJ3N8
LHwgfGcnYAoJZWxzZQoJICBnZW50b3A9IiRvdXRwdXRfb2JqZGlyLyR7b2Jq
fXgiCgkgIGdlbmVyYXRlZCs9IiAkZ2VudG9wIgoKCSAgZnVuY19leHRyYWN0
X2FyY2hpdmVzICRnZW50b3AgJGNvbnZlbmllbmNlCgkgIHJlbG9hZF9jb252
X29ianM9IiRyZWxvYWRfb2JqcyAkZnVuY19leHRyYWN0X2FyY2hpdmVzX3Jl
c3VsdCIKCWZpCiAgICAgIGZpCgogICAgICAjIElmIHdlJ3JlIG5vdCBidWls
ZGluZyBzaGFyZWQsIHdlIG5lZWQgdG8gdXNlIG5vbl9waWNfb2JqcwogICAg
ICB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiAhPSB5ZXMgJiYgbGlib2Jq
cz0iJG5vbl9waWNfb2JqZWN0cyIKCiAgICAgICMgQ3JlYXRlIHRoZSBvbGQt
c3R5bGUgb2JqZWN0LgogICAgICByZWxvYWRfb2Jqcz0iJG9ianMkb2xkX2Rl
cGxpYnMgImAkRUNITyAiJGxpYm9ianMiIHwgJFNQMk5MIHwgJFNFRCAiL1wu
JHtsaWJleHR9JC9kOyAvXC5saWIkL2Q7ICRsbzJvIiB8ICROTDJTUGAiICRy
ZWxvYWRfY29udl9vYmpzIiAjIyMgdGVzdHN1aXRlOiBza2lwIG5lc3RlZCBx
dW90aW5nIHRlc3QKCiAgICAgIG91dHB1dD0iJG9iaiIKICAgICAgZnVuY19l
eGVjdXRlX2NtZHMgIiRyZWxvYWRfY21kcyIgJ2V4aXQgJD8nCgogICAgICAj
IEV4aXQgaWYgd2UgYXJlbid0IGRvaW5nIGEgbGlicmFyeSBvYmplY3QgZmls
ZS4KICAgICAgaWYgdGVzdCAteiAiJGxpYm9iaiI7IHRoZW4KCWlmIHRlc3Qg
LW4gIiRnZW50b3AiOyB0aGVuCgkgIGZ1bmNfc2hvd19ldmFsICcke1JNfXIg
IiRnZW50b3AiJwoJZmkKCglleGl0ICRFWElUX1NVQ0NFU1MKICAgICAgZmkK
CiAgICAgIGlmIHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiICE9IHllczsg
dGhlbgoJaWYgdGVzdCAtbiAiJGdlbnRvcCI7IHRoZW4KCSAgZnVuY19zaG93
X2V2YWwgJyR7Uk19ciAiJGdlbnRvcCInCglmaQoKCSMgQ3JlYXRlIGFuIGlu
dmFsaWQgbGlidG9vbCBvYmplY3QgaWYgbm8gUElDLCBzbyB0aGF0IHdlIGRv
bid0CgkjIGFjY2lkZW50YWxseSBsaW5rIGl0IGludG8gYSBwcm9ncmFtLgoJ
IyAkc2hvdyAiZWNobyB0aW1lc3RhbXAgPiAkbGlib2JqIgoJIyAkb3B0X2Ry
eV9ydW4gfHwgZXZhbCAiZWNobyB0aW1lc3RhbXAgPiAkbGlib2JqIiB8fCBl
eGl0ICQ/CglleGl0ICRFWElUX1NVQ0NFU1MKICAgICAgZmkKCiAgICAgIGlm
IHRlc3QgLW4gIiRwaWNfZmxhZyIgfHwgdGVzdCAiJHBpY19tb2RlIiAhPSBk
ZWZhdWx0OyB0aGVuCgkjIE9ubHkgZG8gY29tbWFuZHMgaWYgd2UgcmVhbGx5
IGhhdmUgZGlmZmVyZW50IFBJQyBvYmplY3RzLgoJcmVsb2FkX29ianM9IiRs
aWJvYmpzICRyZWxvYWRfY29udl9vYmpzIgoJb3V0cHV0PSIkbGlib2JqIgoJ
ZnVuY19leGVjdXRlX2NtZHMgIiRyZWxvYWRfY21kcyIgJ2V4aXQgJD8nCiAg
ICAgIGZpCgogICAgICBpZiB0ZXN0IC1uICIkZ2VudG9wIjsgdGhlbgoJZnVu
Y19zaG93X2V2YWwgJyR7Uk19ciAiJGdlbnRvcCInCiAgICAgIGZpCgogICAg
ICBleGl0ICRFWElUX1NVQ0NFU1MKICAgICAgOzsKCiAgICBwcm9nKQogICAg
ICBjYXNlICRob3N0IGluCgkqY3lnd2luKikgZnVuY19zdHJpcG5hbWUgJycg
Jy5leGUnICIkb3V0cHV0IgoJICAgICAgICAgIG91dHB1dD0kZnVuY19zdHJp
cG5hbWVfcmVzdWx0LmV4ZTs7CiAgICAgIGVzYWMKICAgICAgdGVzdCAtbiAi
JHZpbmZvIiAmJiBcCglmdW5jX3dhcm5pbmcgIlxgLXZlcnNpb24taW5mbycg
aXMgaWdub3JlZCBmb3IgcHJvZ3JhbXMiCgogICAgICB0ZXN0IC1uICIkcmVs
ZWFzZSIgJiYgXAoJZnVuY193YXJuaW5nICJcYC1yZWxlYXNlJyBpcyBpZ25v
cmVkIGZvciBwcm9ncmFtcyIKCiAgICAgIHRlc3QgIiRwcmVsb2FkIiA9IHll
cyBcCiAgICAgICAgJiYgdGVzdCAiJGRsb3Blbl9zdXBwb3J0IiA9IHVua25v
d24gXAoJJiYgdGVzdCAiJGRsb3Blbl9zZWxmIiA9IHVua25vd24gXAoJJiYg
dGVzdCAiJGRsb3Blbl9zZWxmX3N0YXRpYyIgPSB1bmtub3duICYmIFwKCSAg
ZnVuY193YXJuaW5nICJcYExUX0lOSVQoW2Rsb3Blbl0pJyBub3QgdXNlZC4g
QXNzdW1pbmcgbm8gZGxvcGVuIHN1cHBvcnQuIgoKICAgICAgY2FzZSAkaG9z
dCBpbgogICAgICAqLSotcmhhcHNvZHkqIHwgKi0qLWRhcndpbjEuWzAxMl0p
CgkjIE9uIFJoYXBzb2R5IHJlcGxhY2UgdGhlIEMgbGlicmFyeSBpcyB0aGUg
U3lzdGVtIGZyYW1ld29yawoJY29tcGlsZV9kZXBsaWJzPWAkRUNITyAiICRj
b21waWxlX2RlcGxpYnMiIHwgJFNFRCAncy8gLWxjIC8gU3lzdGVtLmx0ZnJh
bWV3b3JrIC8nYAoJZmluYWxpemVfZGVwbGlicz1gJEVDSE8gIiAkZmluYWxp
emVfZGVwbGlicyIgfCAkU0VEICdzLyAtbGMgLyBTeXN0ZW0ubHRmcmFtZXdv
cmsgLydgCgk7OwogICAgICBlc2FjCgogICAgICBjYXNlICRob3N0IGluCiAg
ICAgICotKi1kYXJ3aW4qKQoJIyBEb24ndCBhbGxvdyBsYXp5IGxpbmtpbmcs
IGl0IGJyZWFrcyBDKysgZ2xvYmFsIGNvbnN0cnVjdG9ycwoJIyBCdXQgaXMg
c3VwcG9zZWRseSBmaXhlZCBvbiAxMC40IG9yIGxhdGVyICh5YXkhKS4KCWlm
IHRlc3QgIiR0YWduYW1lIiA9IENYWCA7IHRoZW4KCSAgY2FzZSAke01BQ09T
WF9ERVBMT1lNRU5UX1RBUkdFVC0xMC4wfSBpbgoJICAgIDEwLlswMTIzXSkK
CSAgICAgIGNvbXBpbGVfY29tbWFuZCs9IiAke3dsfS1iaW5kX2F0X2xvYWQi
CgkgICAgICBmaW5hbGl6ZV9jb21tYW5kKz0iICR7d2x9LWJpbmRfYXRfbG9h
ZCIKCSAgICA7OwoJICBlc2FjCglmaQoJIyBUaW1lIHRvIGNoYW5nZSBhbGwg
b3VyICJmb28ubHRmcmFtZXdvcmsiIHN0dWZmIGJhY2sgdG8gIi1mcmFtZXdv
cmsgZm9vIgoJY29tcGlsZV9kZXBsaWJzPWAkRUNITyAiICRjb21waWxlX2Rl
cGxpYnMiIHwgJFNFRCAncyUgXChbXiAkXSpcKS5sdGZyYW1ld29yayUgLWZy
YW1ld29yayBcMSVnJ2AKCWZpbmFsaXplX2RlcGxpYnM9YCRFQ0hPICIgJGZp
bmFsaXplX2RlcGxpYnMiIHwgJFNFRCAncyUgXChbXiAkXSpcKS5sdGZyYW1l
d29yayUgLWZyYW1ld29yayBcMSVnJ2AKCTs7CiAgICAgIGVzYWMKCgogICAg
ICAjIG1vdmUgbGlicmFyeSBzZWFyY2ggcGF0aHMgdGhhdCBjb2luY2lkZSB3
aXRoIHBhdGhzIHRvIG5vdCB5ZXQKICAgICAgIyBpbnN0YWxsZWQgbGlicmFy
aWVzIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpYnJhcnkgc2VhcmNoIGxp
c3QKICAgICAgbmV3X2xpYnM9CiAgICAgIGZvciBwYXRoIGluICRub3RpbnN0
X3BhdGg7IGRvCgljYXNlICIgJG5ld19saWJzICIgaW4KCSoiIC1MJHBhdGgv
JG9iamRpciAiKikgOzsKCSopCgkgIGNhc2UgIiAkY29tcGlsZV9kZXBsaWJz
ICIgaW4KCSAgKiIgLUwkcGF0aC8kb2JqZGlyICIqKQoJICAgIG5ld19saWJz
Kz0iIC1MJHBhdGgvJG9iamRpciIgOzsKCSAgZXNhYwoJICA7OwoJZXNhYwog
ICAgICBkb25lCiAgICAgIGZvciBkZXBsaWIgaW4gJGNvbXBpbGVfZGVwbGli
czsgZG8KCWNhc2UgJGRlcGxpYiBpbgoJLUwqKQoJICBjYXNlICIgJG5ld19s
aWJzICIgaW4KCSAgKiIgJGRlcGxpYiAiKikgOzsKCSAgKikgbmV3X2xpYnMr
PSIgJGRlcGxpYiIgOzsKCSAgZXNhYwoJICA7OwoJKikgbmV3X2xpYnMrPSIg
JGRlcGxpYiIgOzsKCWVzYWMKICAgICAgZG9uZQogICAgICBjb21waWxlX2Rl
cGxpYnM9IiRuZXdfbGlicyIKCgogICAgICBjb21waWxlX2NvbW1hbmQrPSIg
JGNvbXBpbGVfZGVwbGlicyIKICAgICAgZmluYWxpemVfY29tbWFuZCs9IiAk
ZmluYWxpemVfZGVwbGlicyIKCiAgICAgIGlmIHRlc3QgLW4gIiRycGF0aCR4
cnBhdGgiOyB0aGVuCgkjIElmIHRoZSB1c2VyIHNwZWNpZmllZCBhbnkgcnBh
dGggZmxhZ3MsIHRoZW4gYWRkIHRoZW0uCglmb3IgbGliZGlyIGluICRycGF0
aCAkeHJwYXRoOyBkbwoJICAjIFRoaXMgaXMgdGhlIG1hZ2ljIHRvIHVzZSAt
cnBhdGguCgkgIGNhc2UgIiRmaW5hbGl6ZV9ycGF0aCAiIGluCgkgICoiICRs
aWJkaXIgIiopIDs7CgkgICopIGZpbmFsaXplX3JwYXRoKz0iICRsaWJkaXIi
IDs7CgkgIGVzYWMKCWRvbmUKICAgICAgZmkKCiAgICAgICMgTm93IGhhcmRj
b2RlIHRoZSBsaWJyYXJ5IHBhdGhzCiAgICAgIHJwYXRoPQogICAgICBoYXJk
Y29kZV9saWJkaXJzPQogICAgICBmb3IgbGliZGlyIGluICRjb21waWxlX3Jw
YXRoICRmaW5hbGl6ZV9ycGF0aDsgZG8KCWlmIHRlc3QgLW4gIiRoYXJkY29k
ZV9saWJkaXJfZmxhZ19zcGVjIjsgdGhlbgoJICBpZiB0ZXN0IC1uICIkaGFy
ZGNvZGVfbGliZGlyX3NlcGFyYXRvciI7IHRoZW4KCSAgICBpZiB0ZXN0IC16
ICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4KCSAgICAgIGhhcmRjb2RlX2xp
YmRpcnM9IiRsaWJkaXIiCgkgICAgZWxzZQoJICAgICAgIyBKdXN0IGFjY3Vt
dWxhdGUgdGhlIHVuaXF1ZSBsaWJkaXJzLgoJICAgICAgY2FzZSAkaGFyZGNv
ZGVfbGliZGlyX3NlcGFyYXRvciRoYXJkY29kZV9saWJkaXJzJGhhcmRjb2Rl
X2xpYmRpcl9zZXBhcmF0b3IgaW4KCSAgICAgICoiJGhhcmRjb2RlX2xpYmRp
cl9zZXBhcmF0b3IkbGliZGlyJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3Ii
KikKCQk7OwoJICAgICAgKikKCQloYXJkY29kZV9saWJkaXJzKz0iJGhhcmRj
b2RlX2xpYmRpcl9zZXBhcmF0b3IkbGliZGlyIgoJCTs7CgkgICAgICBlc2Fj
CgkgICAgZmkKCSAgZWxzZQoJICAgIGV2YWwgZmxhZz1cIiRoYXJkY29kZV9s
aWJkaXJfZmxhZ19zcGVjXCIKCSAgICBycGF0aCs9IiAkZmxhZyIKCSAgZmkK
CWVsaWYgdGVzdCAtbiAiJHJ1bnBhdGhfdmFyIjsgdGhlbgoJICBjYXNlICIk
cGVybV9ycGF0aCAiIGluCgkgICoiICRsaWJkaXIgIiopIDs7CgkgICopIHBl
cm1fcnBhdGgrPSIgJGxpYmRpciIgOzsKCSAgZXNhYwoJZmkKCWNhc2UgJGhv
c3QgaW4KCSotKi1jeWd3aW4qIHwgKi0qLW1pbmd3KiB8ICotKi1wdzMyKiB8
ICotKi1vczIqIHwgKi1jZWdjYyopCgkgIHRlc3RiaW5kaXI9YCR7RUNIT30g
IiRsaWJkaXIiIHwgJHtTRUR9IC1lICdzKi9saWIkKi9iaW4qJ2AKCSAgY2Fz
ZSA6JGRsbHNlYXJjaHBhdGg6IGluCgkgICoiOiRsaWJkaXI6IiopIDs7Cgkg
IDo6KSBkbGxzZWFyY2hwYXRoPSRsaWJkaXI7OwoJICAqKSBkbGxzZWFyY2hw
YXRoKz0iOiRsaWJkaXIiOzsKCSAgZXNhYwoJICBjYXNlIDokZGxsc2VhcmNo
cGF0aDogaW4KCSAgKiI6JHRlc3RiaW5kaXI6IiopIDs7CgkgIDo6KSBkbGxz
ZWFyY2hwYXRoPSR0ZXN0YmluZGlyOzsKCSAgKikgZGxsc2VhcmNocGF0aCs9
IjokdGVzdGJpbmRpciI7OwoJICBlc2FjCgkgIDs7Cgllc2FjCiAgICAgIGRv
bmUKICAgICAgIyBTdWJzdGl0dXRlIHRoZSBoYXJkY29kZWQgbGliZGlycyBp
bnRvIHRoZSBycGF0aC4KICAgICAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xp
YmRpcl9zZXBhcmF0b3IiICYmCgkgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRp
cnMiOyB0aGVuCglsaWJkaXI9IiRoYXJkY29kZV9saWJkaXJzIgoJZXZhbCBy
cGF0aD1cIiAkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCiAgICAgIGZp
CiAgICAgIGNvbXBpbGVfcnBhdGg9IiRycGF0aCIKCiAgICAgIHJwYXRoPQog
ICAgICBoYXJkY29kZV9saWJkaXJzPQogICAgICBmb3IgbGliZGlyIGluICRm
aW5hbGl6ZV9ycGF0aDsgZG8KCWlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJk
aXJfZmxhZ19zcGVjIjsgdGhlbgoJICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVf
bGliZGlyX3NlcGFyYXRvciI7IHRoZW4KCSAgICBpZiB0ZXN0IC16ICIkaGFy
ZGNvZGVfbGliZGlycyI7IHRoZW4KCSAgICAgIGhhcmRjb2RlX2xpYmRpcnM9
IiRsaWJkaXIiCgkgICAgZWxzZQoJICAgICAgIyBKdXN0IGFjY3VtdWxhdGUg
dGhlIHVuaXF1ZSBsaWJkaXJzLgoJICAgICAgY2FzZSAkaGFyZGNvZGVfbGli
ZGlyX3NlcGFyYXRvciRoYXJkY29kZV9saWJkaXJzJGhhcmRjb2RlX2xpYmRp
cl9zZXBhcmF0b3IgaW4KCSAgICAgICoiJGhhcmRjb2RlX2xpYmRpcl9zZXBh
cmF0b3IkbGliZGlyJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IiKikKCQk7
OwoJICAgICAgKikKCQloYXJkY29kZV9saWJkaXJzKz0iJGhhcmRjb2RlX2xp
YmRpcl9zZXBhcmF0b3IkbGliZGlyIgoJCTs7CgkgICAgICBlc2FjCgkgICAg
ZmkKCSAgZWxzZQoJICAgIGV2YWwgZmxhZz1cIiRoYXJkY29kZV9saWJkaXJf
ZmxhZ19zcGVjXCIKCSAgICBycGF0aCs9IiAkZmxhZyIKCSAgZmkKCWVsaWYg
dGVzdCAtbiAiJHJ1bnBhdGhfdmFyIjsgdGhlbgoJICBjYXNlICIkZmluYWxp
emVfcGVybV9ycGF0aCAiIGluCgkgICoiICRsaWJkaXIgIiopIDs7CgkgICop
IGZpbmFsaXplX3Blcm1fcnBhdGgrPSIgJGxpYmRpciIgOzsKCSAgZXNhYwoJ
ZmkKICAgICAgZG9uZQogICAgICAjIFN1YnN0aXR1dGUgdGhlIGhhcmRjb2Rl
ZCBsaWJkaXJzIGludG8gdGhlIHJwYXRoLgogICAgICBpZiB0ZXN0IC1uICIk
aGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciIgJiYKCSB0ZXN0IC1uICIkaGFy
ZGNvZGVfbGliZGlycyI7IHRoZW4KCWxpYmRpcj0iJGhhcmRjb2RlX2xpYmRp
cnMiCglldmFsIHJwYXRoPVwiICRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVj
XCIKICAgICAgZmkKICAgICAgZmluYWxpemVfcnBhdGg9IiRycGF0aCIKCiAg
ICAgIGlmIHRlc3QgLW4gIiRsaWJvYmpzIiAmJiB0ZXN0ICIkYnVpbGRfb2xk
X2xpYnMiID0geWVzOyB0aGVuCgkjIFRyYW5zZm9ybSBhbGwgdGhlIGxpYnJh
cnkgb2JqZWN0cyBpbnRvIHN0YW5kYXJkIG9iamVjdHMuCgljb21waWxlX2Nv
bW1hbmQ9YCRFQ0hPICIkY29tcGlsZV9jb21tYW5kIiB8ICRTUDJOTCB8ICRT
RUQgIiRsbzJvIiB8ICROTDJTUGAKCWZpbmFsaXplX2NvbW1hbmQ9YCRFQ0hP
ICIkZmluYWxpemVfY29tbWFuZCIgfCAkU1AyTkwgfCAkU0VEICIkbG8ybyIg
fCAkTkwyU1BgCiAgICAgIGZpCgogICAgICBmdW5jX2dlbmVyYXRlX2Rsc3lt
cyAiJG91dHB1dG5hbWUiICJAUFJPR1JBTUAiICJubyIKCiAgICAgICMgdGVt
cGxhdGUgcHJlbGlua2luZyBzdGVwCiAgICAgIGlmIHRlc3QgLW4gIiRwcmVs
aW5rX2NtZHMiOyB0aGVuCglmdW5jX2V4ZWN1dGVfY21kcyAiJHByZWxpbmtf
Y21kcyIgJ2V4aXQgJD8nCiAgICAgIGZpCgogICAgICB3cmFwcGVyc19yZXF1
aXJlZD15ZXMKICAgICAgY2FzZSAkaG9zdCBpbgogICAgICAqY2VnY2MqIHwg
Km1pbmd3MzJjZSopCiAgICAgICAgIyBEaXNhYmxlIHdyYXBwZXJzIGZvciBj
ZWdjYyBhbmQgbWluZ3czMmNlIGhvc3RzLCB3ZSBhcmUgY3Jvc3MgY29tcGls
aW5nIGFueXdheS4KICAgICAgICB3cmFwcGVyc19yZXF1aXJlZD1ubwogICAg
ICAgIDs7CiAgICAgICpjeWd3aW4qIHwgKm1pbmd3KiApCiAgICAgICAgaWYg
dGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgIT0geWVzOyB0aGVuCiAgICAg
ICAgICB3cmFwcGVyc19yZXF1aXJlZD1ubwogICAgICAgIGZpCiAgICAgICAg
OzsKICAgICAgKikKICAgICAgICBpZiB0ZXN0ICIkbmVlZF9yZWxpbmsiID0g
bm8gfHwgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgIT0geWVzOyB0aGVu
CiAgICAgICAgICB3cmFwcGVyc19yZXF1aXJlZD1ubwogICAgICAgIGZpCiAg
ICAgICAgOzsKICAgICAgZXNhYwogICAgICBpZiB0ZXN0ICIkd3JhcHBlcnNf
cmVxdWlyZWQiID0gbm87IHRoZW4KCSMgUmVwbGFjZSB0aGUgb3V0cHV0IGZp
bGUgc3BlY2lmaWNhdGlvbi4KCWNvbXBpbGVfY29tbWFuZD1gJEVDSE8gIiRj
b21waWxlX2NvbW1hbmQiIHwgJFNFRCAncyVAT1VUUFVUQCUnIiRvdXRwdXQi
JyVnJ2AKCWxpbmtfY29tbWFuZD0iJGNvbXBpbGVfY29tbWFuZCRjb21waWxl
X3JwYXRoIgoKCSMgV2UgaGF2ZSBubyB1bmluc3RhbGxlZCBsaWJyYXJ5IGRl
cGVuZGVuY2llcywgc28gZmluYWxpemUgcmlnaHQgbm93LgoJZXhpdF9zdGF0
dXM9MAoJZnVuY19zaG93X2V2YWwgIiRsaW5rX2NvbW1hbmQiICdleGl0X3N0
YXR1cz0kPycKCglpZiB0ZXN0IC1uICIkcG9zdGxpbmtfY21kcyI7IHRoZW4K
CSAgZnVuY190b190b29sX2ZpbGUgIiRvdXRwdXQiCgkgIHBvc3RsaW5rX2Nt
ZHM9YGZ1bmNfZWNob19hbGwgIiRwb3N0bGlua19jbWRzIiB8ICRTRUQgLWUg
J3MlQE9VVFBVVEAlJyIkb3V0cHV0IiclZycgLWUgJ3MlQFRPT0xfT1VUUFVU
QCUnIiRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQiJyVnJ2AKCSAgZnVuY19l
eGVjdXRlX2NtZHMgIiRwb3N0bGlua19jbWRzIiAnZXhpdCAkPycKCWZpCgoJ
IyBEZWxldGUgdGhlIGdlbmVyYXRlZCBmaWxlcy4KCWlmIHRlc3QgLWYgIiRv
dXRwdXRfb2JqZGlyLyR7b3V0cHV0bmFtZX1TLiR7b2JqZXh0fSI7IHRoZW4K
CSAgZnVuY19zaG93X2V2YWwgJyRSTSAiJG91dHB1dF9vYmpkaXIvJHtvdXRw
dXRuYW1lfVMuJHtvYmpleHR9IicKCWZpCgoJZXhpdCAkZXhpdF9zdGF0dXMK
ICAgICAgZmkKCiAgICAgIGlmIHRlc3QgLW4gIiRjb21waWxlX3NobGlicGF0
aCRmaW5hbGl6ZV9zaGxpYnBhdGgiOyB0aGVuCgljb21waWxlX2NvbW1hbmQ9
IiRzaGxpYnBhdGhfdmFyPVwiJGNvbXBpbGVfc2hsaWJwYXRoJGZpbmFsaXpl
X3NobGlicGF0aFwkJHNobGlicGF0aF92YXJcIiAkY29tcGlsZV9jb21tYW5k
IgogICAgICBmaQogICAgICBpZiB0ZXN0IC1uICIkZmluYWxpemVfc2hsaWJw
YXRoIjsgdGhlbgoJZmluYWxpemVfY29tbWFuZD0iJHNobGlicGF0aF92YXI9
XCIkZmluYWxpemVfc2hsaWJwYXRoXCQkc2hsaWJwYXRoX3ZhclwiICRmaW5h
bGl6ZV9jb21tYW5kIgogICAgICBmaQoKICAgICAgY29tcGlsZV92YXI9CiAg
ICAgIGZpbmFsaXplX3Zhcj0KICAgICAgaWYgdGVzdCAtbiAiJHJ1bnBhdGhf
dmFyIjsgdGhlbgoJaWYgdGVzdCAtbiAiJHBlcm1fcnBhdGgiOyB0aGVuCgkg
ICMgV2Ugc2hvdWxkIHNldCB0aGUgcnVucGF0aF92YXIuCgkgIHJwYXRoPQoJ
ICBmb3IgZGlyIGluICRwZXJtX3JwYXRoOyBkbwoJICAgIHJwYXRoKz0iJGRp
cjoiCgkgIGRvbmUKCSAgY29tcGlsZV92YXI9IiRydW5wYXRoX3Zhcj1cIiRy
cGF0aFwkJHJ1bnBhdGhfdmFyXCIgIgoJZmkKCWlmIHRlc3QgLW4gIiRmaW5h
bGl6ZV9wZXJtX3JwYXRoIjsgdGhlbgoJICAjIFdlIHNob3VsZCBzZXQgdGhl
IHJ1bnBhdGhfdmFyLgoJICBycGF0aD0KCSAgZm9yIGRpciBpbiAkZmluYWxp
emVfcGVybV9ycGF0aDsgZG8KCSAgICBycGF0aCs9IiRkaXI6IgoJICBkb25l
CgkgIGZpbmFsaXplX3Zhcj0iJHJ1bnBhdGhfdmFyPVwiJHJwYXRoXCQkcnVu
cGF0aF92YXJcIiAiCglmaQogICAgICBmaQoKICAgICAgaWYgdGVzdCAiJG5v
X2luc3RhbGwiID0geWVzOyB0aGVuCgkjIFdlIGRvbid0IG5lZWQgdG8gY3Jl
YXRlIGEgd3JhcHBlciBzY3JpcHQuCglsaW5rX2NvbW1hbmQ9IiRjb21waWxl
X3ZhciRjb21waWxlX2NvbW1hbmQkY29tcGlsZV9ycGF0aCIKCSMgUmVwbGFj
ZSB0aGUgb3V0cHV0IGZpbGUgc3BlY2lmaWNhdGlvbi4KCWxpbmtfY29tbWFu
ZD1gJEVDSE8gIiRsaW5rX2NvbW1hbmQiIHwgJFNFRCAncyVAT1VUUFVUQCUn
IiRvdXRwdXQiJyVnJ2AKCSMgRGVsZXRlIHRoZSBvbGQgb3V0cHV0IGZpbGUu
Cgkkb3B0X2RyeV9ydW4gfHwgJFJNICRvdXRwdXQKCSMgTGluayB0aGUgZXhl
Y3V0YWJsZSBhbmQgZXhpdAoJZnVuY19zaG93X2V2YWwgIiRsaW5rX2NvbW1h
bmQiICdleGl0ICQ/JwoKCWlmIHRlc3QgLW4gIiRwb3N0bGlua19jbWRzIjsg
dGhlbgoJICBmdW5jX3RvX3Rvb2xfZmlsZSAiJG91dHB1dCIKCSAgcG9zdGxp
bmtfY21kcz1gZnVuY19lY2hvX2FsbCAiJHBvc3RsaW5rX2NtZHMiIHwgJFNF
RCAtZSAncyVAT1VUUFVUQCUnIiRvdXRwdXQiJyVnJyAtZSAncyVAVE9PTF9P
VVRQVVRAJSciJGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3VsdCInJWcnYAoJICBm
dW5jX2V4ZWN1dGVfY21kcyAiJHBvc3RsaW5rX2NtZHMiICdleGl0ICQ/JwoJ
ZmkKCglleGl0ICRFWElUX1NVQ0NFU1MKICAgICAgZmkKCiAgICAgIGlmIHRl
c3QgIiRoYXJkY29kZV9hY3Rpb24iID0gcmVsaW5rOyB0aGVuCgkjIEZhc3Qg
aW5zdGFsbGF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQKCWxpbmtfY29tbWFuZD0i
JGNvbXBpbGVfdmFyJGNvbXBpbGVfY29tbWFuZCRjb21waWxlX3JwYXRoIgoJ
cmVsaW5rX2NvbW1hbmQ9IiRmaW5hbGl6ZV92YXIkZmluYWxpemVfY29tbWFu
ZCRmaW5hbGl6ZV9ycGF0aCIKCglmdW5jX3dhcm5pbmcgInRoaXMgcGxhdGZv
cm0gZG9lcyBub3QgbGlrZSB1bmluc3RhbGxlZCBzaGFyZWQgbGlicmFyaWVz
IgoJZnVuY193YXJuaW5nICJcYCRvdXRwdXQnIHdpbGwgYmUgcmVsaW5rZWQg
ZHVyaW5nIGluc3RhbGxhdGlvbiIKICAgICAgZWxzZQoJaWYgdGVzdCAiJGZh
c3RfaW5zdGFsbCIgIT0gbm87IHRoZW4KCSAgbGlua19jb21tYW5kPSIkZmlu
YWxpemVfdmFyJGNvbXBpbGVfY29tbWFuZCRmaW5hbGl6ZV9ycGF0aCIKCSAg
aWYgdGVzdCAiJGZhc3RfaW5zdGFsbCIgPSB5ZXM7IHRoZW4KCSAgICByZWxp
bmtfY29tbWFuZD1gJEVDSE8gIiRjb21waWxlX3ZhciRjb21waWxlX2NvbW1h
bmQkY29tcGlsZV9ycGF0aCIgfCAkU0VEICdzJUBPVVRQVVRAJVwkcHJvZ2Rp
ci9cJGZpbGUlZydgCgkgIGVsc2UKCSAgICAjIGZhc3RfaW5zdGFsbCBpcyBz
ZXQgdG8gbmVlZGxlc3MKCSAgICByZWxpbmtfY29tbWFuZD0KCSAgZmkKCWVs
c2UKCSAgbGlua19jb21tYW5kPSIkY29tcGlsZV92YXIkY29tcGlsZV9jb21t
YW5kJGNvbXBpbGVfcnBhdGgiCgkgIHJlbGlua19jb21tYW5kPSIkZmluYWxp
emVfdmFyJGZpbmFsaXplX2NvbW1hbmQkZmluYWxpemVfcnBhdGgiCglmaQog
ICAgICBmaQoKICAgICAgIyBSZXBsYWNlIHRoZSBvdXRwdXQgZmlsZSBzcGVj
aWZpY2F0aW9uLgogICAgICBsaW5rX2NvbW1hbmQ9YCRFQ0hPICIkbGlua19j
b21tYW5kIiB8ICRTRUQgJ3MlQE9VVFBVVEAlJyIkb3V0cHV0X29iamRpci8k
b3V0cHV0bmFtZSInJWcnYAoKICAgICAgIyBEZWxldGUgdGhlIG9sZCBvdXRw
dXQgZmlsZXMuCiAgICAgICRvcHRfZHJ5X3J1biB8fCAkUk0gJG91dHB1dCAk
b3V0cHV0X29iamRpci8kb3V0cHV0bmFtZSAkb3V0cHV0X29iamRpci9sdC0k
b3V0cHV0bmFtZQoKICAgICAgZnVuY19zaG93X2V2YWwgIiRsaW5rX2NvbW1h
bmQiICdleGl0ICQ/JwoKICAgICAgaWYgdGVzdCAtbiAiJHBvc3RsaW5rX2Nt
ZHMiOyB0aGVuCglmdW5jX3RvX3Rvb2xfZmlsZSAiJG91dHB1dF9vYmpkaXIv
JG91dHB1dG5hbWUiCglwb3N0bGlua19jbWRzPWBmdW5jX2VjaG9fYWxsICIk
cG9zdGxpbmtfY21kcyIgfCAkU0VEIC1lICdzJUBPVVRQVVRAJSciJG91dHB1
dF9vYmpkaXIvJG91dHB1dG5hbWUiJyVnJyAtZSAncyVAVE9PTF9PVVRQVVRA
JSciJGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3VsdCInJWcnYAoJZnVuY19leGVj
dXRlX2NtZHMgIiRwb3N0bGlua19jbWRzIiAnZXhpdCAkPycKICAgICAgZmkK
CiAgICAgICMgTm93IGNyZWF0ZSB0aGUgd3JhcHBlciBzY3JpcHQuCiAgICAg
IGZ1bmNfdmVyYm9zZSAiY3JlYXRpbmcgJG91dHB1dCIKCiAgICAgICMgUXVv
dGUgdGhlIHJlbGluayBjb21tYW5kIGZvciBzaGlwcGluZy4KICAgICAgaWYg
dGVzdCAtbiAiJHJlbGlua19jb21tYW5kIjsgdGhlbgoJIyBQcmVzZXJ2ZSBh
bnkgdmFyaWFibGVzIHRoYXQgbWF5IGFmZmVjdCBjb21waWxlciBiZWhhdmlv
cgoJZm9yIHZhciBpbiAkdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbms7IGRv
CgkgIGlmIGV2YWwgdGVzdCAteiBcIlwkeyR2YXIrc2V0fVwiOyB0aGVuCgkg
ICAgcmVsaW5rX2NvbW1hbmQ9InsgdGVzdCAteiBcIlwkeyR2YXIrc2V0fVwi
IHx8ICRsdF91bnNldCAkdmFyIHx8IHsgJHZhcj07IGV4cG9ydCAkdmFyOyB9
OyB9OyAkcmVsaW5rX2NvbW1hbmQiCgkgIGVsaWYgZXZhbCB2YXJfdmFsdWU9
XCQkdmFyOyB0ZXN0IC16ICIkdmFyX3ZhbHVlIjsgdGhlbgoJICAgIHJlbGlu
a19jb21tYW5kPSIkdmFyPTsgZXhwb3J0ICR2YXI7ICRyZWxpbmtfY29tbWFu
ZCIKCSAgZWxzZQoJICAgIGZ1bmNfcXVvdGVfZm9yX2V2YWwgIiR2YXJfdmFs
dWUiCgkgICAgcmVsaW5rX2NvbW1hbmQ9IiR2YXI9JGZ1bmNfcXVvdGVfZm9y
X2V2YWxfcmVzdWx0OyBleHBvcnQgJHZhcjsgJHJlbGlua19jb21tYW5kIgoJ
ICBmaQoJZG9uZQoJcmVsaW5rX2NvbW1hbmQ9IihjZCBgcHdkYDsgJHJlbGlu
a19jb21tYW5kKSIKCXJlbGlua19jb21tYW5kPWAkRUNITyAiJHJlbGlua19j
b21tYW5kIiB8ICRTRUQgIiRzZWRfcXVvdGVfc3Vic3QiYAogICAgICBmaQoK
ICAgICAgIyBPbmx5IGFjdHVhbGx5IGRvIHRoaW5ncyBpZiBub3QgaW4gZHJ5
IHJ1biBtb2RlLgogICAgICAkb3B0X2RyeV9ydW4gfHwgewoJIyB3aW4zMiB3
aWxsIHRoaW5rIHRoZSBzY3JpcHQgaXMgYSBiaW5hcnkgaWYgaXQgaGFzCgkj
IGEgLmV4ZSBzdWZmaXgsIHNvIHdlIHN0cmlwIGl0IG9mZiBoZXJlLgoJY2Fz
ZSAkb3V0cHV0IGluCgkgICouZXhlKSBmdW5jX3N0cmlwbmFtZSAnJyAnLmV4
ZScgIiRvdXRwdXQiCgkgICAgICAgICBvdXRwdXQ9JGZ1bmNfc3RyaXBuYW1l
X3Jlc3VsdCA7OwoJZXNhYwoJIyB0ZXN0IGZvciBjeWd3aW4gYmVjYXVzZSBt
diBmYWlscyB3L28gLmV4ZSBleHRlbnNpb25zCgljYXNlICRob3N0IGluCgkg
ICpjeWd3aW4qKQoJICAgIGV4ZWV4dD0uZXhlCgkgICAgZnVuY19zdHJpcG5h
bWUgJycgJy5leGUnICIkb3V0cHV0bmFtZSIKCSAgICBvdXRwdXRuYW1lPSRm
dW5jX3N0cmlwbmFtZV9yZXN1bHQgOzsKCSAgKikgZXhlZXh0PSA7OwoJZXNh
YwoJY2FzZSAkaG9zdCBpbgoJICAqY3lnd2luKiB8ICptaW5ndyogKQoJICAg
IGZ1bmNfZGlybmFtZV9hbmRfYmFzZW5hbWUgIiRvdXRwdXQiICIiICIuIgoJ
ICAgIG91dHB1dF9uYW1lPSRmdW5jX2Jhc2VuYW1lX3Jlc3VsdAoJICAgIG91
dHB1dF9wYXRoPSRmdW5jX2Rpcm5hbWVfcmVzdWx0CgkgICAgY3dyYXBwZXJz
b3VyY2U9IiRvdXRwdXRfcGF0aC8kb2JqZGlyL2x0LSRvdXRwdXRfbmFtZS5j
IgoJICAgIGN3cmFwcGVyPSIkb3V0cHV0X3BhdGgvJG91dHB1dF9uYW1lLmV4
ZSIKCSAgICAkUk0gJGN3cmFwcGVyc291cmNlICRjd3JhcHBlcgoJICAgIHRy
YXAgIiRSTSAkY3dyYXBwZXJzb3VyY2UgJGN3cmFwcGVyICRjd3JhcHBlci5t
YW5pZmVzdDsgZXhpdCAkRVhJVF9GQUlMVVJFIiAxIDIgMTUKCgkgICAgZnVu
Y19lbWl0X2N3cmFwcGVyZXhlX3NyYyA+ICRjd3JhcHBlcnNvdXJjZQoKCSAg
ICAjIFRoZSB3cmFwcGVyIGV4ZWN1dGFibGUgaXMgYnVpbHQgdXNpbmcgdGhl
ICRob3N0IGNvbXBpbGVyLAoJICAgICMgYmVjYXVzZSBpdCBjb250YWlucyAk
aG9zdCBwYXRocyBhbmQgZmlsZXMuIElmIGNyb3NzLQoJICAgICMgY29tcGls
aW5nLCBpdCwgbGlrZSB0aGUgdGFyZ2V0IGV4ZWN1dGFibGUsIG11c3QgYmUK
CSAgICAjIGV4ZWN1dGVkIG9uIHRoZSAkaG9zdCBvciB1bmRlciBhbiBlbXVs
YXRpb24gZW52aXJvbm1lbnQuCgkgICAgJG9wdF9kcnlfcnVuIHx8IHsKCSAg
ICAgICRMVENDICRMVENGTEFHUyAtbyAkY3dyYXBwZXIgJGN3cmFwcGVyc291
cmNlCgkgICAgICAkU1RSSVAgJGN3cmFwcGVyCgkgICAgfQoKCSAgICAjIE5v
dywgY3JlYXRlIHRoZSB3cmFwcGVyIHNjcmlwdCBmb3IgZnVuY19zb3VyY2Ug
dXNlOgoJICAgIGZ1bmNfbHR3cmFwcGVyX3NjcmlwdG5hbWUgJGN3cmFwcGVy
CgkgICAgJFJNICRmdW5jX2x0d3JhcHBlcl9zY3JpcHRuYW1lX3Jlc3VsdAoJ
ICAgIHRyYXAgIiRSTSAkZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZV9yZXN1
bHQ7IGV4aXQgJEVYSVRfRkFJTFVSRSIgMSAyIDE1CgkgICAgJG9wdF9kcnlf
cnVuIHx8IHsKCSAgICAgICMgbm90ZTogdGhpcyBzY3JpcHQgd2lsbCBub3Qg
YmUgZXhlY3V0ZWQsIHNvIGRvIG5vdCBjaG1vZC4KCSAgICAgIGlmIHRlc3Qg
IngkYnVpbGQiID0gIngkaG9zdCIgOyB0aGVuCgkJIyBDcmVhdGUgdGhlIFVB
QyBtYW5pZmVzdHMgZmlyc3QgaWYgbmVjZXNzYXJ5IChidXQgdGhlCgkJIyBt
YW5pZmVzdCBmaWxlcyBtdXN0IGhhdmUgZXhlY3V0YWJsZSBwZXJtaXNzaW9u
IHJlZ2FyZGxlc3MpLgoJCWNhc2UgJG91dHB1dF9uYW1lIGluCgkJICAqaW5z
dGFsKnwqcGF0Y2gqfCpzZXR1cCp8KnVwZGF0ZSopCgkJICAgIGZ1bmNfZW1p
dF9leGVfbWFuaWZlc3QgPiAkY3dyYXBwZXIubWFuaWZlc3QKCQkgICAgZnVu
Y19lbWl0X2V4ZV9tYW5pZmVzdCA+ICRvdXRwdXRfcGF0aC8kb2JqZGlyLyRv
dXRwdXRfbmFtZS5leGUubWFuaWZlc3QKCQkgICAgY2htb2QgK3ggJGN3cmFw
cGVyLm1hbmlmZXN0CgkJICAgIGNobW9kICt4ICRvdXRwdXRfcGF0aC8kb2Jq
ZGlyLyRvdXRwdXRfbmFtZS5leGUubWFuaWZlc3QKCQkgIDs7CgkJZXNhYwoJ
CSRjd3JhcHBlciAtLWx0LWR1bXAtc2NyaXB0ID4gJGZ1bmNfbHR3cmFwcGVy
X3NjcmlwdG5hbWVfcmVzdWx0CgkgICAgICBlbHNlCgkJZnVuY19lbWl0X3dy
YXBwZXIgbm8gPiAkZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZV9yZXN1bHQK
CSAgICAgIGZpCgkgICAgfQoJICA7OwoJICAqICkKCSAgICAkUk0gJG91dHB1
dAoJICAgIHRyYXAgIiRSTSAkb3V0cHV0OyBleGl0ICRFWElUX0ZBSUxVUkUi
IDEgMiAxNQoKCSAgICBmdW5jX2VtaXRfd3JhcHBlciBubyA+ICRvdXRwdXQK
CSAgICBjaG1vZCAreCAkb3V0cHV0CgkgIDs7Cgllc2FjCiAgICAgIH0KICAg
ICAgZXhpdCAkRVhJVF9TVUNDRVNTCiAgICAgIDs7CiAgICBlc2FjCgogICAg
IyBTZWUgaWYgd2UgbmVlZCB0byBidWlsZCBhbiBvbGQtZmFzaGlvbmVkIGFy
Y2hpdmUuCiAgICBmb3Igb2xkbGliIGluICRvbGRsaWJzOyBkbwoKICAgICAg
aWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSBjb252ZW5pZW5jZTsg
dGhlbgoJb2xkb2Jqcz0iJGxpYm9ianNfc2F2ZSAkc3ltZmlsZW9iaiIKCWFk
ZGxpYnM9IiRjb252ZW5pZW5jZSIKCWJ1aWxkX2xpYnRvb2xfbGlicz1ubwog
ICAgICBlbHNlCglpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IG1v
ZHVsZTsgdGhlbgoJICBvbGRvYmpzPSIkbGlib2Jqc19zYXZlIgoJICBidWls
ZF9saWJ0b29sX2xpYnM9bm8KCWVsc2UKCSAgb2xkb2Jqcz0iJG9sZF9kZXBs
aWJzICRub25fcGljX29iamVjdHMiCgkgIGlmIHRlc3QgIiRwcmVsb2FkIiA9
IHllcyAmJiB0ZXN0IC1mICIkc3ltZmlsZW9iaiI7IHRoZW4KCSAgICBvbGRv
YmpzKz0iICRzeW1maWxlb2JqIgoJICBmaQoJZmkKCWFkZGxpYnM9IiRvbGRf
Y29udmVuaWVuY2UiCiAgICAgIGZpCgogICAgICBpZiB0ZXN0IC1uICIkYWRk
bGlicyI7IHRoZW4KCWdlbnRvcD0iJG91dHB1dF9vYmpkaXIvJHtvdXRwdXRu
YW1lfXgiCglnZW5lcmF0ZWQrPSIgJGdlbnRvcCIKCglmdW5jX2V4dHJhY3Rf
YXJjaGl2ZXMgJGdlbnRvcCAkYWRkbGlicwoJb2xkb2Jqcys9IiAkZnVuY19l
eHRyYWN0X2FyY2hpdmVzX3Jlc3VsdCIKICAgICAgZmkKCiAgICAgICMgRG8g
ZWFjaCBjb21tYW5kIGluIHRoZSBhcmNoaXZlIGNvbW1hbmRzLgogICAgICBp
ZiB0ZXN0IC1uICIkb2xkX2FyY2hpdmVfZnJvbV9uZXdfY21kcyIgJiYgdGVz
dCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXM7IHRoZW4KCWNtZHM9JG9s
ZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHMKICAgICAgZWxzZQoKCSMgQWRkIGFu
eSBvYmplY3RzIGZyb20gcHJlbG9hZGVkIGNvbnZlbmllbmNlIGxpYnJhcmll
cwoJaWYgdGVzdCAtbiAiJGRscHJlZmlsZXMiOyB0aGVuCgkgIGdlbnRvcD0i
JG91dHB1dF9vYmpkaXIvJHtvdXRwdXRuYW1lfXgiCgkgIGdlbmVyYXRlZCs9
IiAkZ2VudG9wIgoKCSAgZnVuY19leHRyYWN0X2FyY2hpdmVzICRnZW50b3Ag
JGRscHJlZmlsZXMKCSAgb2xkb2Jqcys9IiAkZnVuY19leHRyYWN0X2FyY2hp
dmVzX3Jlc3VsdCIKCWZpCgoJIyBQT1NJWCBkZW1hbmRzIG5vIHBhdGhzIHRv
IGJlIGVuY29kZWQgaW4gYXJjaGl2ZXMuICBXZSBoYXZlCgkjIHRvIGF2b2lk
IGNyZWF0aW5nIGFyY2hpdmVzIHdpdGggZHVwbGljYXRlIGJhc2VuYW1lcyBp
ZiB3ZQoJIyBtaWdodCBoYXZlIHRvIGV4dHJhY3QgdGhlbSBhZnRlcndhcmRz
LCBlLmcuLCB3aGVuIGNyZWF0aW5nIGEKCSMgc3RhdGljIGFyY2hpdmUgb3V0
IG9mIGEgY29udmVuaWVuY2UgbGlicmFyeSwgb3Igd2hlbiBsaW5raW5nCgkj
IHRoZSBlbnRpcmV0eSBvZiBhIGxpYnRvb2wgYXJjaGl2ZSBpbnRvIGFub3Ro
ZXIgKGN1cnJlbnRseQoJIyBub3Qgc3VwcG9ydGVkIGJ5IGxpYnRvb2wpLgoJ
aWYgKGZvciBvYmogaW4gJG9sZG9ianMKCSAgICBkbwoJICAgICAgZnVuY19i
YXNlbmFtZSAiJG9iaiIKCSAgICAgICRFQ0hPICIkZnVuY19iYXNlbmFtZV9y
ZXN1bHQiCgkgICAgZG9uZSB8IHNvcnQgfCBzb3J0IC11YyA+L2Rldi9udWxs
IDI+JjEpOyB0aGVuCgkgIDoKCWVsc2UKCSAgZWNobyAiY29weWluZyBzZWxl
Y3RlZCBvYmplY3QgZmlsZXMgdG8gYXZvaWQgYmFzZW5hbWUgY29uZmxpY3Rz
Li4uIgoJICBnZW50b3A9IiRvdXRwdXRfb2JqZGlyLyR7b3V0cHV0bmFtZX14
IgoJICBnZW5lcmF0ZWQrPSIgJGdlbnRvcCIKCSAgZnVuY19ta2Rpcl9wICIk
Z2VudG9wIgoJICBzYXZlX29sZG9ianM9JG9sZG9ianMKCSAgb2xkb2Jqcz0K
CSAgY291bnRlcj0xCgkgIGZvciBvYmogaW4gJHNhdmVfb2xkb2JqcwoJICBk
bwoJICAgIGZ1bmNfYmFzZW5hbWUgIiRvYmoiCgkgICAgb2JqYmFzZT0iJGZ1
bmNfYmFzZW5hbWVfcmVzdWx0IgoJICAgIGNhc2UgIiAkb2xkb2JqcyAiIGlu
CgkgICAgIiAiKSBvbGRvYmpzPSRvYmogOzsKCSAgICAqW1wgL10iJG9iamJh
c2UgIiopCgkgICAgICB3aGlsZSA6OyBkbwoJCSMgTWFrZSBzdXJlIHdlIGRv
bid0IHBpY2sgYW4gYWx0ZXJuYXRlIG5hbWUgdGhhdCBhbHNvCgkJIyBvdmVy
bGFwcy4KCQluZXdvYmo9bHQkY291bnRlci0kb2JqYmFzZQoJCWZ1bmNfYXJp
dGggJGNvdW50ZXIgKyAxCgkJY291bnRlcj0kZnVuY19hcml0aF9yZXN1bHQK
CQljYXNlICIgJG9sZG9ianMgIiBpbgoJCSpbXCAvXSIkbmV3b2JqICIqKSA7
OwoJCSopIGlmIHRlc3QgISAtZiAiJGdlbnRvcC8kbmV3b2JqIjsgdGhlbiBi
cmVhazsgZmkgOzsKCQllc2FjCgkgICAgICBkb25lCgkgICAgICBmdW5jX3No
b3dfZXZhbCAibG4gJG9iaiAkZ2VudG9wLyRuZXdvYmogfHwgY3AgJG9iaiAk
Z2VudG9wLyRuZXdvYmoiCgkgICAgICBvbGRvYmpzKz0iICRnZW50b3AvJG5l
d29iaiIKCSAgICAgIDs7CgkgICAgKikgb2xkb2Jqcys9IiAkb2JqIiA7OwoJ
ICAgIGVzYWMKCSAgZG9uZQoJZmkKCWV2YWwgY21kcz1cIiRvbGRfYXJjaGl2
ZV9jbWRzXCIKCglmdW5jX2xlbiAiICRjbWRzIgoJbGVuPSRmdW5jX2xlbl9y
ZXN1bHQKCWlmIHRlc3QgIiRsZW4iIC1sdCAiJG1heF9jbWRfbGVuIiB8fCB0
ZXN0ICIkbWF4X2NtZF9sZW4iIC1sZSAtMTsgdGhlbgoJICBjbWRzPSRvbGRf
YXJjaGl2ZV9jbWRzCgllbGlmIHRlc3QgLW4gIiRhcmNoaXZlcl9saXN0X3Nw
ZWMiOyB0aGVuCgkgIGZ1bmNfdmVyYm9zZSAidXNpbmcgY29tbWFuZCBmaWxl
IGFyY2hpdmUgbGlua2luZy4uLiIKCSAgZm9yIG9iaiBpbiAkb2xkb2JqcwoJ
ICBkbwoJICAgIGZ1bmNfdG9fdG9vbF9maWxlICIkb2JqIgoJICAgICRFQ0hP
ICIkZnVuY190b190b29sX2ZpbGVfcmVzdWx0IgoJICBkb25lID4gJG91dHB1
dF9vYmpkaXIvJGxpYm5hbWUubGliY21kCgkgIGZ1bmNfdG9fdG9vbF9maWxl
ICIkb3V0cHV0X29iamRpci8kbGlibmFtZS5saWJjbWQiCgkgIG9sZG9ianM9
IiAkYXJjaGl2ZXJfbGlzdF9zcGVjJGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3Vs
dCIKCSAgY21kcz0kb2xkX2FyY2hpdmVfY21kcwoJZWxzZQoJICAjIHRoZSBj
b21tYW5kIGxpbmUgaXMgdG9vIGxvbmcgdG8gbGluayBpbiBvbmUgc3RlcCwg
bGluayBpbiBwYXJ0cwoJICBmdW5jX3ZlcmJvc2UgInVzaW5nIHBpZWNld2lz
ZSBhcmNoaXZlIGxpbmtpbmcuLi4iCgkgIHNhdmVfUkFOTElCPSRSQU5MSUIK
CSAgUkFOTElCPToKCSAgb2JqbGlzdD0KCSAgY29uY2F0X2NtZHM9CgkgIHNh
dmVfb2xkb2Jqcz0kb2xkb2JqcwoJICBvbGRvYmpzPQoJICAjIElzIHRoZXJl
IGEgYmV0dGVyIHdheSBvZiBmaW5kaW5nIHRoZSBsYXN0IG9iamVjdCBpbiB0
aGUgbGlzdD8KCSAgZm9yIG9iaiBpbiAkc2F2ZV9vbGRvYmpzCgkgIGRvCgkg
ICAgbGFzdF9vbGRvYmo9JG9iagoJICBkb25lCgkgIGV2YWwgdGVzdF9jbWRz
PVwiJG9sZF9hcmNoaXZlX2NtZHNcIgoJICBmdW5jX2xlbiAiICR0ZXN0X2Nt
ZHMiCgkgIGxlbjA9JGZ1bmNfbGVuX3Jlc3VsdAoJICBsZW49JGxlbjAKCSAg
Zm9yIG9iaiBpbiAkc2F2ZV9vbGRvYmpzCgkgIGRvCgkgICAgZnVuY19sZW4g
IiAkb2JqIgoJICAgIGZ1bmNfYXJpdGggJGxlbiArICRmdW5jX2xlbl9yZXN1
bHQKCSAgICBsZW49JGZ1bmNfYXJpdGhfcmVzdWx0CgkgICAgb2JqbGlzdCs9
IiAkb2JqIgoJICAgIGlmIHRlc3QgIiRsZW4iIC1sdCAiJG1heF9jbWRfbGVu
IjsgdGhlbgoJICAgICAgOgoJICAgIGVsc2UKCSAgICAgICMgdGhlIGFib3Zl
IGNvbW1hbmQgc2hvdWxkIGJlIHVzZWQgYmVmb3JlIGl0IGdldHMgdG9vIGxv
bmcKCSAgICAgIG9sZG9ianM9JG9iamxpc3QKCSAgICAgIGlmIHRlc3QgIiRv
YmoiID0gIiRsYXN0X29sZG9iaiIgOyB0aGVuCgkJUkFOTElCPSRzYXZlX1JB
TkxJQgoJICAgICAgZmkKCSAgICAgIHRlc3QgLXogIiRjb25jYXRfY21kcyIg
fHwgY29uY2F0X2NtZHM9JGNvbmNhdF9jbWRzfgoJICAgICAgZXZhbCBjb25j
YXRfY21kcz1cIlwke2NvbmNhdF9jbWRzfSRvbGRfYXJjaGl2ZV9jbWRzXCIK
CSAgICAgIG9iamxpc3Q9CgkgICAgICBsZW49JGxlbjAKCSAgICBmaQoJICBk
b25lCgkgIFJBTkxJQj0kc2F2ZV9SQU5MSUIKCSAgb2xkb2Jqcz0kb2JqbGlz
dAoJICBpZiB0ZXN0ICJYJG9sZG9ianMiID0gIlgiIDsgdGhlbgoJICAgIGV2
YWwgY21kcz1cIlwkY29uY2F0X2NtZHNcIgoJICBlbHNlCgkgICAgZXZhbCBj
bWRzPVwiXCRjb25jYXRfY21kc35cJG9sZF9hcmNoaXZlX2NtZHNcIgoJICBm
aQoJZmkKICAgICAgZmkKICAgICAgZnVuY19leGVjdXRlX2NtZHMgIiRjbWRz
IiAnZXhpdCAkPycKICAgIGRvbmUKCiAgICB0ZXN0IC1uICIkZ2VuZXJhdGVk
IiAmJiBcCiAgICAgIGZ1bmNfc2hvd19ldmFsICIke1JNfXIkZ2VuZXJhdGVk
IgoKICAgICMgTm93IGNyZWF0ZSB0aGUgbGlidG9vbCBhcmNoaXZlLgogICAg
Y2FzZSAkb3V0cHV0IGluCiAgICAqLmxhKQogICAgICBvbGRfbGlicmFyeT0K
ICAgICAgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IHllcyAmJiBvbGRfbGli
cmFyeT0iJGxpYm5hbWUuJGxpYmV4dCIKICAgICAgZnVuY192ZXJib3NlICJj
cmVhdGluZyAkb3V0cHV0IgoKICAgICAgIyBQcmVzZXJ2ZSBhbnkgdmFyaWFi
bGVzIHRoYXQgbWF5IGFmZmVjdCBjb21waWxlciBiZWhhdmlvcgogICAgICBm
b3IgdmFyIGluICR2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluazsgZG8KCWlm
IGV2YWwgdGVzdCAteiBcIlwkeyR2YXIrc2V0fVwiOyB0aGVuCgkgIHJlbGlu
a19jb21tYW5kPSJ7IHRlc3QgLXogXCJcJHskdmFyK3NldH1cIiB8fCAkbHRf
dW5zZXQgJHZhciB8fCB7ICR2YXI9OyBleHBvcnQgJHZhcjsgfTsgfTsgJHJl
bGlua19jb21tYW5kIgoJZWxpZiBldmFsIHZhcl92YWx1ZT1cJCR2YXI7IHRl
c3QgLXogIiR2YXJfdmFsdWUiOyB0aGVuCgkgIHJlbGlua19jb21tYW5kPSIk
dmFyPTsgZXhwb3J0ICR2YXI7ICRyZWxpbmtfY29tbWFuZCIKCWVsc2UKCSAg
ZnVuY19xdW90ZV9mb3JfZXZhbCAiJHZhcl92YWx1ZSIKCSAgcmVsaW5rX2Nv
bW1hbmQ9IiR2YXI9JGZ1bmNfcXVvdGVfZm9yX2V2YWxfcmVzdWx0OyBleHBv
cnQgJHZhcjsgJHJlbGlua19jb21tYW5kIgoJZmkKICAgICAgZG9uZQogICAg
ICAjIFF1b3RlIHRoZSBsaW5rIGNvbW1hbmQgZm9yIHNoaXBwaW5nLgogICAg
ICByZWxpbmtfY29tbWFuZD0iKGNkIGBwd2RgOyAkU0hFTEwgJHByb2dwYXRo
ICRwcmVzZXJ2ZV9hcmdzIC0tbW9kZT1yZWxpbmsgJGxpYnRvb2xfYXJncyBA
aW5zdF9wcmVmaXhfZGlyQCkiCiAgICAgIHJlbGlua19jb21tYW5kPWAkRUNI
TyAiJHJlbGlua19jb21tYW5kIiB8ICRTRUQgIiRzZWRfcXVvdGVfc3Vic3Qi
YAogICAgICBpZiB0ZXN0ICIkaGFyZGNvZGVfYXV0b21hdGljIiA9IHllcyA7
IHRoZW4KCXJlbGlua19jb21tYW5kPQogICAgICBmaQoKICAgICAgIyBPbmx5
IGNyZWF0ZSB0aGUgb3V0cHV0IGlmIG5vdCBhIGRyeSBydW4uCiAgICAgICRv
cHRfZHJ5X3J1biB8fCB7Cglmb3IgaW5zdGFsbGVkIGluIG5vIHllczsgZG8K
CSAgaWYgdGVzdCAiJGluc3RhbGxlZCIgPSB5ZXM7IHRoZW4KCSAgICBpZiB0
ZXN0IC16ICIkaW5zdGFsbF9saWJkaXIiOyB0aGVuCgkgICAgICBicmVhawoJ
ICAgIGZpCgkgICAgb3V0cHV0PSIkb3V0cHV0X29iamRpci8kb3V0cHV0bmFt
ZSJpCgkgICAgIyBSZXBsYWNlIGFsbCB1bmluc3RhbGxlZCBsaWJ0b29sIGxp
YnJhcmllcyB3aXRoIHRoZSBpbnN0YWxsZWQgb25lcwoJICAgIG5ld2RlcGVu
ZGVuY3lfbGlicz0KCSAgICBmb3IgZGVwbGliIGluICRkZXBlbmRlbmN5X2xp
YnM7IGRvCgkgICAgICBjYXNlICRkZXBsaWIgaW4KCSAgICAgICoubGEpCgkJ
ZnVuY19iYXNlbmFtZSAiJGRlcGxpYiIKCQluYW1lPSIkZnVuY19iYXNlbmFt
ZV9yZXN1bHQiCgkJZXZhbCBsaWJkaXI9YCR7U0VEfSAtbiAtZSAncy9ebGli
ZGlyPVwoLipcKSQvXDEvcCcgJGRlcGxpYmAKCQl0ZXN0IC16ICIkbGliZGly
IiAmJiBcCgkJICBmdW5jX2ZhdGFsX2Vycm9yICJcYCRkZXBsaWInIGlzIG5v
dCBhIHZhbGlkIGxpYnRvb2wgYXJjaGl2ZSIKCQluZXdkZXBlbmRlbmN5X2xp
YnMrPSIgJHtsdF9zeXNyb290Ois9fSRsaWJkaXIvJG5hbWUiCgkJOzsKCSAg
ICAgIC1MKikKCQlmdW5jX3N0cmlwbmFtZSAtTCAnJyAiJGRlcGxpYiIKCQlm
dW5jX3JlcGxhY2Vfc3lzcm9vdCAiJGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdCIK
CQluZXdkZXBlbmRlbmN5X2xpYnMrPSIgLUwkZnVuY19yZXBsYWNlX3N5c3Jv
b3RfcmVzdWx0IgoJCTs7CgkgICAgICAtUiopCgkJZnVuY19zdHJpcG5hbWUg
LVIgJycgIiRkZXBsaWIiCgkJZnVuY19yZXBsYWNlX3N5c3Jvb3QgIiRmdW5j
X3N0cmlwbmFtZV9yZXN1bHQiCgkJbmV3ZGVwZW5kZW5jeV9saWJzKz0iIC1S
JGZ1bmNfcmVwbGFjZV9zeXNyb290X3Jlc3VsdCIKCQk7OwoJICAgICAgKikg
bmV3ZGVwZW5kZW5jeV9saWJzKz0iICRkZXBsaWIiIDs7CgkgICAgICBlc2Fj
CgkgICAgZG9uZQoJICAgIGRlcGVuZGVuY3lfbGlicz0iJG5ld2RlcGVuZGVu
Y3lfbGlicyIKCSAgICBuZXdkbGZpbGVzPQoKCSAgICBmb3IgbGliIGluICRk
bGZpbGVzOyBkbwoJICAgICAgY2FzZSAkbGliIGluCgkgICAgICAqLmxhKQoJ
ICAgICAgICBmdW5jX2Jhc2VuYW1lICIkbGliIgoJCW5hbWU9IiRmdW5jX2Jh
c2VuYW1lX3Jlc3VsdCIKCQlldmFsIGxpYmRpcj1gJHtTRUR9IC1uIC1lICdz
L15saWJkaXI9XCguKlwpJC9cMS9wJyAkbGliYAoJCXRlc3QgLXogIiRsaWJk
aXIiICYmIFwKCQkgIGZ1bmNfZmF0YWxfZXJyb3IgIlxgJGxpYicgaXMgbm90
IGEgdmFsaWQgbGlidG9vbCBhcmNoaXZlIgoJCW5ld2RsZmlsZXMrPSIgJHts
dF9zeXNyb290Ois9fSRsaWJkaXIvJG5hbWUiCgkJOzsKCSAgICAgICopIG5l
d2RsZmlsZXMrPSIgJGxpYiIgOzsKCSAgICAgIGVzYWMKCSAgICBkb25lCgkg
ICAgZGxmaWxlcz0iJG5ld2RsZmlsZXMiCgkgICAgbmV3ZGxwcmVmaWxlcz0K
CSAgICBmb3IgbGliIGluICRkbHByZWZpbGVzOyBkbwoJICAgICAgY2FzZSAk
bGliIGluCgkgICAgICAqLmxhKQoJCSMgT25seSBwYXNzIHByZW9wZW5lZCBm
aWxlcyB0byB0aGUgcHNldWRvLWFyY2hpdmUgKGZvcgoJCSMgZXZlbnR1YWwg
bGlua2luZyB3aXRoIHRoZSBhcHAuIHRoYXQgbGlua3MgaXQpIGlmIHdlCgkJ
IyBkaWRuJ3QgYWxyZWFkeSBsaW5rIHRoZSBwcmVvcGVuZWQgb2JqZWN0cyBk
aXJlY3RseSBpbnRvCgkJIyB0aGUgbGlicmFyeToKCQlmdW5jX2Jhc2VuYW1l
ICIkbGliIgoJCW5hbWU9IiRmdW5jX2Jhc2VuYW1lX3Jlc3VsdCIKCQlldmFs
IGxpYmRpcj1gJHtTRUR9IC1uIC1lICdzL15saWJkaXI9XCguKlwpJC9cMS9w
JyAkbGliYAoJCXRlc3QgLXogIiRsaWJkaXIiICYmIFwKCQkgIGZ1bmNfZmF0
YWxfZXJyb3IgIlxgJGxpYicgaXMgbm90IGEgdmFsaWQgbGlidG9vbCBhcmNo
aXZlIgoJCW5ld2RscHJlZmlsZXMrPSIgJHtsdF9zeXNyb290Ois9fSRsaWJk
aXIvJG5hbWUiCgkJOzsKCSAgICAgIGVzYWMKCSAgICBkb25lCgkgICAgZGxw
cmVmaWxlcz0iJG5ld2RscHJlZmlsZXMiCgkgIGVsc2UKCSAgICBuZXdkbGZp
bGVzPQoJICAgIGZvciBsaWIgaW4gJGRsZmlsZXM7IGRvCgkgICAgICBjYXNl
ICRsaWIgaW4KCQlbXFwvXSogfCBbQS1aYS16XTpbXFwvXSopIGFicz0iJGxp
YiIgOzsKCQkqKSBhYnM9YHB3ZGAiLyRsaWIiIDs7CgkgICAgICBlc2FjCgkg
ICAgICBuZXdkbGZpbGVzKz0iICRhYnMiCgkgICAgZG9uZQoJICAgIGRsZmls
ZXM9IiRuZXdkbGZpbGVzIgoJICAgIG5ld2RscHJlZmlsZXM9CgkgICAgZm9y
IGxpYiBpbiAkZGxwcmVmaWxlczsgZG8KCSAgICAgIGNhc2UgJGxpYiBpbgoJ
CVtcXC9dKiB8IFtBLVphLXpdOltcXC9dKikgYWJzPSIkbGliIiA7OwoJCSop
IGFicz1gcHdkYCIvJGxpYiIgOzsKCSAgICAgIGVzYWMKCSAgICAgIG5ld2Rs
cHJlZmlsZXMrPSIgJGFicyIKCSAgICBkb25lCgkgICAgZGxwcmVmaWxlcz0i
JG5ld2RscHJlZmlsZXMiCgkgIGZpCgkgICRSTSAkb3V0cHV0CgkgICMgcGxh
Y2UgZGxuYW1lIGluIGNvcnJlY3QgcG9zaXRpb24gZm9yIGN5Z3dpbgoJICAj
IEluIGZhY3QsIGl0IHdvdWxkIGJlIG5pY2UgaWYgd2UgY291bGQgdXNlIHRo
aXMgY29kZSBmb3IgYWxsIHRhcmdldAoJICAjIHN5c3RlbXMgdGhhdCBjYW4n
dCBoYXJkLWNvZGUgbGlicmFyeSBwYXRocyBpbnRvIHRoZWlyIGV4ZWN1dGFi
bGVzCgkgICMgYW5kIHRoYXQgaGF2ZSBubyBzaGFyZWQgbGlicmFyeSBwYXRo
IHZhcmlhYmxlIGluZGVwZW5kZW50IG9mIFBBVEgsCgkgICMgYnV0IGl0IHR1
cm5zIG91dCB3ZSBjYW4ndCBlYXNpbHkgZGV0ZXJtaW5lIHRoYXQgZnJvbSBp
bnNwZWN0aW5nCgkgICMgbGlidG9vbCB2YXJpYWJsZXMsIHNvIHdlIGhhdmUg
dG8gaGFyZC1jb2RlIHRoZSBPU3MgdG8gd2hpY2ggaXQKCSAgIyBhcHBsaWVz
IGhlcmU7IGF0IHRoZSBtb21lbnQsIHRoYXQgbWVhbnMgcGxhdGZvcm1zIHRo
YXQgdXNlIHRoZSBQRQoJICAjIG9iamVjdCBmb3JtYXQgd2l0aCBETEwgZmls
ZXMuICBTZWUgdGhlIGxvbmcgY29tbWVudCBhdCB0aGUgdG9wIG9mCgkgICMg
dGVzdHMvYmluZGlyLmF0IGZvciBmdWxsIGRldGFpbHMuCgkgIHRkbG5hbWU9
JGRsbmFtZQoJICBjYXNlICRob3N0LCRvdXRwdXQsJGluc3RhbGxlZCwkbW9k
dWxlLCRkbG5hbWUgaW4KCSAgICAqY3lnd2luKiwqbGFpLHllcyxubywqLmRs
bCB8ICptaW5ndyosKmxhaSx5ZXMsbm8sKi5kbGwgfCAqY2VnY2MqLCpsYWks
eWVzLG5vLCouZGxsKQoJICAgICAgIyBJZiBhIC1iaW5kaXIgYXJndW1lbnQg
d2FzIHN1cHBsaWVkLCBwbGFjZSB0aGUgZGxsIHRoZXJlLgoJICAgICAgaWYg
dGVzdCAieCRiaW5kaXIiICE9IHggOwoJICAgICAgdGhlbgoJCWZ1bmNfcmVs
YXRpdmVfcGF0aCAiJGluc3RhbGxfbGliZGlyIiAiJGJpbmRpciIKCQl0ZGxu
YW1lPSRmdW5jX3JlbGF0aXZlX3BhdGhfcmVzdWx0JGRsbmFtZQoJICAgICAg
ZWxzZQoJCSMgT3RoZXJ3aXNlIGZhbGwgYmFjayBvbiBoZXVyaXN0aWMuCgkJ
dGRsbmFtZT0uLi9iaW4vJGRsbmFtZQoJICAgICAgZmkKCSAgICAgIDs7Cgkg
IGVzYWMKCSAgJEVDSE8gPiAkb3V0cHV0ICJcCiMgJG91dHB1dG5hbWUgLSBh
IGxpYnRvb2wgbGlicmFyeSBmaWxlCiMgR2VuZXJhdGVkIGJ5ICRQUk9HUkFN
IChHTlUgJFBBQ0tBR0UkVElNRVNUQU1QKSAkVkVSU0lPTgojCiMgUGxlYXNl
IERPIE5PVCBkZWxldGUgdGhpcyBmaWxlIQojIEl0IGlzIG5lY2Vzc2FyeSBm
b3IgbGlua2luZyB0aGUgbGlicmFyeS4KCiMgVGhlIG5hbWUgdGhhdCB3ZSBj
YW4gZGxvcGVuKDMpLgpkbG5hbWU9JyR0ZGxuYW1lJwoKIyBOYW1lcyBvZiB0
aGlzIGxpYnJhcnkuCmxpYnJhcnlfbmFtZXM9JyRsaWJyYXJ5X25hbWVzJwoK
IyBUaGUgbmFtZSBvZiB0aGUgc3RhdGljIGFyY2hpdmUuCm9sZF9saWJyYXJ5
PSckb2xkX2xpYnJhcnknCgojIExpbmtlciBmbGFncyB0aGF0IGNhbiBub3Qg
Z28gaW4gZGVwZW5kZW5jeV9saWJzLgppbmhlcml0ZWRfbGlua2VyX2ZsYWdz
PSckbmV3X2luaGVyaXRlZF9saW5rZXJfZmxhZ3MnCgojIExpYnJhcmllcyB0
aGF0IHRoaXMgb25lIGRlcGVuZHMgdXBvbi4KZGVwZW5kZW5jeV9saWJzPSck
ZGVwZW5kZW5jeV9saWJzJwoKIyBOYW1lcyBvZiBhZGRpdGlvbmFsIHdlYWsg
bGlicmFyaWVzIHByb3ZpZGVkIGJ5IHRoaXMgbGlicmFyeQp3ZWFrX2xpYnJh
cnlfbmFtZXM9JyR3ZWFrX2xpYnMnCgojIFZlcnNpb24gaW5mb3JtYXRpb24g
Zm9yICRsaWJuYW1lLgpjdXJyZW50PSRjdXJyZW50CmFnZT0kYWdlCnJldmlz
aW9uPSRyZXZpc2lvbgoKIyBJcyB0aGlzIGFuIGFscmVhZHkgaW5zdGFsbGVk
IGxpYnJhcnk/Cmluc3RhbGxlZD0kaW5zdGFsbGVkCgojIFNob3VsZCB3ZSB3
YXJuIGFib3V0IHBvcnRhYmlsaXR5IHdoZW4gbGlua2luZyBhZ2FpbnN0IC1t
b2R1bGVzPwpzaG91bGRub3RsaW5rPSRtb2R1bGUKCiMgRmlsZXMgdG8gZGxv
cGVuL2RscHJlb3BlbgpkbG9wZW49JyRkbGZpbGVzJwpkbHByZW9wZW49JyRk
bHByZWZpbGVzJwoKIyBEaXJlY3RvcnkgdGhhdCB0aGlzIGxpYnJhcnkgbmVl
ZHMgdG8gYmUgaW5zdGFsbGVkIGluOgpsaWJkaXI9JyRpbnN0YWxsX2xpYmRp
ciciCgkgIGlmIHRlc3QgIiRpbnN0YWxsZWQiID0gbm8gJiYgdGVzdCAiJG5l
ZWRfcmVsaW5rIiA9IHllczsgdGhlbgoJICAgICRFQ0hPID4+ICRvdXRwdXQg
IlwKcmVsaW5rX2NvbW1hbmQ9XCIkcmVsaW5rX2NvbW1hbmRcIiIKCSAgZmkK
CWRvbmUKICAgICAgfQoKICAgICAgIyBEbyBhIHN5bWJvbGljIGxpbmsgc28g
dGhhdCB0aGUgbGlidG9vbCBhcmNoaXZlIGNhbiBiZSBmb3VuZCBpbgogICAg
ICAjIExEX0xJQlJBUllfUEFUSCBiZWZvcmUgdGhlIHByb2dyYW0gaXMgaW5z
dGFsbGVkLgogICAgICBmdW5jX3Nob3dfZXZhbCAnKCBjZCAiJG91dHB1dF9v
YmpkaXIiICYmICRSTSAiJG91dHB1dG5hbWUiICYmICRMTl9TICIuLi8kb3V0
cHV0bmFtZSIgIiRvdXRwdXRuYW1lIiApJyAnZXhpdCAkPycKICAgICAgOzsK
ICAgIGVzYWMKICAgIGV4aXQgJEVYSVRfU1VDQ0VTUwp9Cgp7IHRlc3QgIiRv
cHRfbW9kZSIgPSBsaW5rIHx8IHRlc3QgIiRvcHRfbW9kZSIgPSByZWxpbms7
IH0gJiYKICAgIGZ1bmNfbW9kZV9saW5rICR7MSsiJEAifQoKCiMgZnVuY19t
b2RlX3VuaW5zdGFsbCBhcmcuLi4KZnVuY19tb2RlX3VuaW5zdGFsbCAoKQp7
CiAgICAkb3B0X2RlYnVnCiAgICBSTT0iJG5vbm9wdCIKICAgIGZpbGVzPQog
ICAgcm1mb3JjZT0KICAgIGV4aXRfc3RhdHVzPTAKCiAgICAjIFRoaXMgdmFy
aWFibGUgdGVsbHMgd3JhcHBlciBzY3JpcHRzIGp1c3QgdG8gc2V0IHZhcmlh
YmxlcyByYXRoZXIKICAgICMgdGhhbiBydW5uaW5nIHRoZWlyIHByb2dyYW1z
LgogICAgbGlidG9vbF9pbnN0YWxsX21hZ2ljPSIkbWFnaWMiCgogICAgZm9y
IGFyZwogICAgZG8KICAgICAgY2FzZSAkYXJnIGluCiAgICAgIC1mKSBSTSs9
IiAkYXJnIjsgcm1mb3JjZT15ZXMgOzsKICAgICAgLSopIFJNKz0iICRhcmci
IDs7CiAgICAgICopIGZpbGVzKz0iICRhcmciIDs7CiAgICAgIGVzYWMKICAg
IGRvbmUKCiAgICB0ZXN0IC16ICIkUk0iICYmIFwKICAgICAgZnVuY19mYXRh
bF9oZWxwICJ5b3UgbXVzdCBzcGVjaWZ5IGFuIFJNIHByb2dyYW0iCgogICAg
cm1kaXJzPQoKICAgIGZvciBmaWxlIGluICRmaWxlczsgZG8KICAgICAgZnVu
Y19kaXJuYW1lICIkZmlsZSIgIiIgIi4iCiAgICAgIGRpcj0iJGZ1bmNfZGly
bmFtZV9yZXN1bHQiCiAgICAgIGlmIHRlc3QgIlgkZGlyIiA9IFguOyB0aGVu
CglvZGlyPSIkb2JqZGlyIgogICAgICBlbHNlCglvZGlyPSIkZGlyLyRvYmpk
aXIiCiAgICAgIGZpCiAgICAgIGZ1bmNfYmFzZW5hbWUgIiRmaWxlIgogICAg
ICBuYW1lPSIkZnVuY19iYXNlbmFtZV9yZXN1bHQiCiAgICAgIHRlc3QgIiRv
cHRfbW9kZSIgPSB1bmluc3RhbGwgJiYgb2Rpcj0iJGRpciIKCiAgICAgICMg
UmVtZW1iZXIgb2RpciBmb3IgcmVtb3ZhbCBsYXRlciwgYmVpbmcgY2FyZWZ1
bCB0byBhdm9pZCBkdXBsaWNhdGVzCiAgICAgIGlmIHRlc3QgIiRvcHRfbW9k
ZSIgPSBjbGVhbjsgdGhlbgoJY2FzZSAiICRybWRpcnMgIiBpbgoJICAqIiAk
b2RpciAiKikgOzsKCSAgKikgcm1kaXJzKz0iICRvZGlyIiA7OwoJZXNhYwog
ICAgICBmaQoKICAgICAgIyBEb24ndCBlcnJvciBpZiB0aGUgZmlsZSBkb2Vz
bid0IGV4aXN0IGFuZCBybSAtZiB3YXMgdXNlZC4KICAgICAgaWYgeyB0ZXN0
IC1MICIkZmlsZSI7IH0gPi9kZXYvbnVsbCAyPiYxIHx8CgkgeyB0ZXN0IC1o
ICIkZmlsZSI7IH0gPi9kZXYvbnVsbCAyPiYxIHx8CgkgdGVzdCAtZiAiJGZp
bGUiOyB0aGVuCgk6CiAgICAgIGVsaWYgdGVzdCAtZCAiJGZpbGUiOyB0aGVu
CglleGl0X3N0YXR1cz0xCgljb250aW51ZQogICAgICBlbGlmIHRlc3QgIiRy
bWZvcmNlIiA9IHllczsgdGhlbgoJY29udGludWUKICAgICAgZmkKCiAgICAg
IHJtZmlsZXM9IiRmaWxlIgoKICAgICAgY2FzZSAkbmFtZSBpbgogICAgICAq
LmxhKQoJIyBQb3NzaWJseSBhIGxpYnRvb2wgYXJjaGl2ZSwgc28gdmVyaWZ5
IGl0LgoJaWYgZnVuY19sYWxpYl9wICIkZmlsZSI7IHRoZW4KCSAgZnVuY19z
b3VyY2UgJGRpci8kbmFtZQoKCSAgIyBEZWxldGUgdGhlIGxpYnRvb2wgbGli
cmFyaWVzIGFuZCBzeW1saW5rcy4KCSAgZm9yIG4gaW4gJGxpYnJhcnlfbmFt
ZXM7IGRvCgkgICAgcm1maWxlcys9IiAkb2Rpci8kbiIKCSAgZG9uZQoJICB0
ZXN0IC1uICIkb2xkX2xpYnJhcnkiICYmIHJtZmlsZXMrPSIgJG9kaXIvJG9s
ZF9saWJyYXJ5IgoKCSAgY2FzZSAiJG9wdF9tb2RlIiBpbgoJICBjbGVhbikK
CSAgICBjYXNlICIgJGxpYnJhcnlfbmFtZXMgIiBpbgoJICAgICoiICRkbG5h
bWUgIiopIDs7CgkgICAgKikgdGVzdCAtbiAiJGRsbmFtZSIgJiYgcm1maWxl
cys9IiAkb2Rpci8kZGxuYW1lIiA7OwoJICAgIGVzYWMKCSAgICB0ZXN0IC1u
ICIkbGliZGlyIiAmJiBybWZpbGVzKz0iICRvZGlyLyRuYW1lICRvZGlyLyR7
bmFtZX1pIgoJICAgIDs7CgkgIHVuaW5zdGFsbCkKCSAgICBpZiB0ZXN0IC1u
ICIkbGlicmFyeV9uYW1lcyI7IHRoZW4KCSAgICAgICMgRG8gZWFjaCBjb21t
YW5kIGluIHRoZSBwb3N0dW5pbnN0YWxsIGNvbW1hbmRzLgoJICAgICAgZnVu
Y19leGVjdXRlX2NtZHMgIiRwb3N0dW5pbnN0YWxsX2NtZHMiICd0ZXN0ICIk
cm1mb3JjZSIgPSB5ZXMgfHwgZXhpdF9zdGF0dXM9MScKCSAgICBmaQoKCSAg
ICBpZiB0ZXN0IC1uICIkb2xkX2xpYnJhcnkiOyB0aGVuCgkgICAgICAjIERv
IGVhY2ggY29tbWFuZCBpbiB0aGUgb2xkX3Bvc3R1bmluc3RhbGwgY29tbWFu
ZHMuCgkgICAgICBmdW5jX2V4ZWN1dGVfY21kcyAiJG9sZF9wb3N0dW5pbnN0
YWxsX2NtZHMiICd0ZXN0ICIkcm1mb3JjZSIgPSB5ZXMgfHwgZXhpdF9zdGF0
dXM9MScKCSAgICBmaQoJICAgICMgRklYTUU6IHNob3VsZCByZWluc3RhbGwg
dGhlIGJlc3QgcmVtYWluaW5nIHNoYXJlZCBsaWJyYXJ5LgoJICAgIDs7Cgkg
IGVzYWMKCWZpCgk7OwoKICAgICAgKi5sbykKCSMgUG9zc2libHkgYSBsaWJ0
b29sIG9iamVjdCwgc28gdmVyaWZ5IGl0LgoJaWYgZnVuY19sYWxpYl9wICIk
ZmlsZSI7IHRoZW4KCgkgICMgUmVhZCB0aGUgLmxvIGZpbGUKCSAgZnVuY19z
b3VyY2UgJGRpci8kbmFtZQoKCSAgIyBBZGQgUElDIG9iamVjdCB0byB0aGUg
bGlzdCBvZiBmaWxlcyB0byByZW1vdmUuCgkgIGlmIHRlc3QgLW4gIiRwaWNf
b2JqZWN0IiAmJgoJICAgICB0ZXN0ICIkcGljX29iamVjdCIgIT0gbm9uZTsg
dGhlbgoJICAgIHJtZmlsZXMrPSIgJGRpci8kcGljX29iamVjdCIKCSAgZmkK
CgkgICMgQWRkIG5vbi1QSUMgb2JqZWN0IHRvIHRoZSBsaXN0IG9mIGZpbGVz
IHRvIHJlbW92ZS4KCSAgaWYgdGVzdCAtbiAiJG5vbl9waWNfb2JqZWN0IiAm
JgoJICAgICB0ZXN0ICIkbm9uX3BpY19vYmplY3QiICE9IG5vbmU7IHRoZW4K
CSAgICBybWZpbGVzKz0iICRkaXIvJG5vbl9waWNfb2JqZWN0IgoJICBmaQoJ
ZmkKCTs7CgogICAgICAqKQoJaWYgdGVzdCAiJG9wdF9tb2RlIiA9IGNsZWFu
IDsgdGhlbgoJICBub2V4ZW5hbWU9JG5hbWUKCSAgY2FzZSAkZmlsZSBpbgoJ
ICAqLmV4ZSkKCSAgICBmdW5jX3N0cmlwbmFtZSAnJyAnLmV4ZScgIiRmaWxl
IgoJICAgIGZpbGU9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAoJICAgIGZ1bmNf
c3RyaXBuYW1lICcnICcuZXhlJyAiJG5hbWUiCgkgICAgbm9leGVuYW1lPSRm
dW5jX3N0cmlwbmFtZV9yZXN1bHQKCSAgICAjICRmaWxlIHdpdGggLmV4ZSBo
YXMgYWxyZWFkeSBiZWVuIGFkZGVkIHRvIHJtZmlsZXMsCgkgICAgIyBhZGQg
JGZpbGUgd2l0aG91dCAuZXhlCgkgICAgcm1maWxlcys9IiAkZmlsZSIKCSAg
ICA7OwoJICBlc2FjCgkgICMgRG8gYSB0ZXN0IHRvIHNlZSBpZiB0aGlzIGlz
IGEgbGlidG9vbCBwcm9ncmFtLgoJICBpZiBmdW5jX2x0d3JhcHBlcl9wICIk
ZmlsZSI7IHRoZW4KCSAgICBpZiBmdW5jX2x0d3JhcHBlcl9leGVjdXRhYmxl
X3AgIiRmaWxlIjsgdGhlbgoJICAgICAgZnVuY19sdHdyYXBwZXJfc2NyaXB0
bmFtZSAiJGZpbGUiCgkgICAgICByZWxpbmtfY29tbWFuZD0KCSAgICAgIGZ1
bmNfc291cmNlICRmdW5jX2x0d3JhcHBlcl9zY3JpcHRuYW1lX3Jlc3VsdAoJ
ICAgICAgcm1maWxlcys9IiAkZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZV9y
ZXN1bHQiCgkgICAgZWxzZQoJICAgICAgcmVsaW5rX2NvbW1hbmQ9CgkgICAg
ICBmdW5jX3NvdXJjZSAkZGlyLyRub2V4ZW5hbWUKCSAgICBmaQoKCSAgICAj
IG5vdGUgJG5hbWUgc3RpbGwgY29udGFpbnMgLmV4ZSBpZiBpdCB3YXMgaW4g
JGZpbGUgb3JpZ2luYWxseQoJICAgICMgYXMgZG9lcyB0aGUgdmVyc2lvbiBv
ZiAkZmlsZSB0aGF0IHdhcyBhZGRlZCBpbnRvICRybWZpbGVzCgkgICAgcm1m
aWxlcys9IiAkb2Rpci8kbmFtZSAkb2Rpci8ke25hbWV9Uy4ke29iamV4dH0i
CgkgICAgcm1maWxlcys9IiAke25hbWV9Lm1hbmlmZXN0ICRvYmpkaXIvJHtu
YW1lfS5tYW5pZmVzdCIKCSAgICBpZiB0ZXN0ICIkZmFzdF9pbnN0YWxsIiA9
IHllcyAmJiB0ZXN0IC1uICIkcmVsaW5rX2NvbW1hbmQiOyB0aGVuCgkgICAg
ICBybWZpbGVzKz0iICRvZGlyL2x0LSRuYW1lICRvYmpkaXIvbHQtJHtuYW1l
fS5tYW5pZmVzdCIKCSAgICBmaQoJICAgIGlmIHRlc3QgIlgkbm9leGVuYW1l
IiAhPSAiWCRuYW1lIiA7IHRoZW4KCSAgICAgIHJtZmlsZXMrPSIgJG9kaXIv
bHQtJHtub2V4ZW5hbWV9LmMiCgkgICAgZmkKCSAgZmkKCWZpCgk7OwogICAg
ICBlc2FjCiAgICAgIGZ1bmNfc2hvd19ldmFsICIkUk0gJHJtZmlsZXMiICdl
eGl0X3N0YXR1cz0xJwogICAgZG9uZQoKICAgICMgVHJ5IHRvIHJlbW92ZSB0
aGUgJHtvYmpkaXJ9cyBpbiB0aGUgZGlyZWN0b3JpZXMgd2hlcmUgd2UgZGVs
ZXRlZCBmaWxlcwogICAgZm9yIGRpciBpbiAkcm1kaXJzOyBkbwogICAgICBp
ZiB0ZXN0IC1kICIkZGlyIjsgdGhlbgoJZnVuY19zaG93X2V2YWwgInJtZGly
ICRkaXIgPi9kZXYvbnVsbCAyPiYxIgogICAgICBmaQogICAgZG9uZQoKICAg
IGV4aXQgJGV4aXRfc3RhdHVzCn0KCnsgdGVzdCAiJG9wdF9tb2RlIiA9IHVu
aW5zdGFsbCB8fCB0ZXN0ICIkb3B0X21vZGUiID0gY2xlYW47IH0gJiYKICAg
IGZ1bmNfbW9kZV91bmluc3RhbGwgJHsxKyIkQCJ9Cgp0ZXN0IC16ICIkb3B0
X21vZGUiICYmIHsKICBoZWxwPSIkZ2VuZXJpY19oZWxwIgogIGZ1bmNfZmF0
YWxfaGVscCAieW91IG11c3Qgc3BlY2lmeSBhIE1PREUiCn0KCnRlc3QgLXog
IiRleGVjX2NtZCIgJiYgXAogIGZ1bmNfZmF0YWxfaGVscCAiaW52YWxpZCBv
cGVyYXRpb24gbW9kZSBcYCRvcHRfbW9kZSciCgppZiB0ZXN0IC1uICIkZXhl
Y19jbWQiOyB0aGVuCiAgZXZhbCBleGVjICIkZXhlY19jbWQiCiAgZXhpdCAk
RVhJVF9GQUlMVVJFCmZpCgpleGl0ICRleGl0X3N0YXR1cwoKCiMgVGhlIFRB
R3MgYmVsb3cgYXJlIGRlZmluZWQgc3VjaCB0aGF0IHdlIG5ldmVyIGdldCBp
bnRvIGEgc2l0dWF0aW9uCiMgaW4gd2hpY2ggd2UgZGlzYWJsZSBib3RoIGtp
bmRzIG9mIGxpYnJhcmllcy4gIEdpdmVuIGNvbmZsaWN0aW5nCiMgY2hvaWNl
cywgd2UgZ28gZm9yIGEgc3RhdGljIGxpYnJhcnksIHRoYXQgaXMgdGhlIG1v
c3QgcG9ydGFibGUsCiMgc2luY2Ugd2UgY2FuJ3QgdGVsbCB3aGV0aGVyIHNo
YXJlZCBsaWJyYXJpZXMgd2VyZSBkaXNhYmxlZCBiZWNhdXNlCiMgdGhlIHVz
ZXIgYXNrZWQgZm9yIHRoYXQgb3IgYmVjYXVzZSB0aGUgcGxhdGZvcm0gZG9l
c24ndCBzdXBwb3J0CiMgdGhlbS4gIFRoaXMgaXMgcGFydGljdWxhcmx5IGlt
cG9ydGFudCBvbiBBSVgsIGJlY2F1c2Ugd2UgZG9uJ3QKIyBzdXBwb3J0IGhh
dmluZyBib3RoIHN0YXRpYyBhbmQgc2hhcmVkIGxpYnJhcmllcyBlbmFibGVk
IGF0IHRoZSBzYW1lCiMgdGltZSBvbiB0aGF0IHBsYXRmb3JtLCBzbyB3ZSBk
ZWZhdWx0IHRvIGEgc2hhcmVkLW9ubHkgY29uZmlndXJhdGlvbi4KIyBJZiBh
IGRpc2FibGUtc2hhcmVkIHRhZyBpcyBnaXZlbiwgd2UnbGwgZmFsbGJhY2sg
dG8gYSBzdGF0aWMtb25seQojIGNvbmZpZ3VyYXRpb24uICBCdXQgd2UnbGwg
bmV2ZXIgZ28gZnJvbSBzdGF0aWMtb25seSB0byBzaGFyZWQtb25seS4KCiMg
IyMjIEJFR0lOIExJQlRPT0wgVEFHIENPTkZJRzogZGlzYWJsZS1zaGFyZWQK
YnVpbGRfbGlidG9vbF9saWJzPW5vCmJ1aWxkX29sZF9saWJzPXllcwojICMj
IyBFTkQgTElCVE9PTCBUQUcgQ09ORklHOiBkaXNhYmxlLXNoYXJlZAoKIyAj
IyMgQkVHSU4gTElCVE9PTCBUQUcgQ09ORklHOiBkaXNhYmxlLXN0YXRpYwpi
dWlsZF9vbGRfbGlicz1gY2FzZSAkYnVpbGRfbGlidG9vbF9saWJzIGluIHll
cykgZWNobyBubzs7ICopIGVjaG8geWVzOzsgZXNhY2AKIyAjIyMgRU5EIExJ
QlRPT0wgVEFHIENPTkZJRzogZGlzYWJsZS1zdGF0aWMKCiMgTG9jYWwgVmFy
aWFibGVzOgojIG1vZGU6c2hlbGwtc2NyaXB0CiMgc2gtaW5kZW50YXRpb246
MgojIEVuZDoKIyB2aTpzdz0yCgoKIyAjIyMgQkVHSU4gTElCVE9PTCBUQUcg
Q09ORklHOiBDWFgKCiMgVGhlIGxpbmtlciB1c2VkIHRvIGJ1aWxkIGxpYnJh
cmllcy4KTEQ9ImM6L21pbmd3L21pbmd3MzIvYmluL2xkLmV4ZSIKCiMgSG93
IHRvIGNyZWF0ZSByZWxvYWRhYmxlIG9iamVjdCBmaWxlcy4KcmVsb2FkX2Zs
YWc9IiAtciIKcmVsb2FkX2NtZHM9IlwkTERcJHJlbG9hZF9mbGFnIC1vIFwk
b3V0cHV0XCRyZWxvYWRfb2JqcyIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWls
ZCBhbiBvbGQtc3R5bGUgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfY21kcz0iXCRB
UiBcJEFSX0ZMQUdTIFwkb2xkbGliXCRvbGRvYmpzflwkUkFOTElCIFwkb2xk
bGliIgoKIyBBIGxhbmd1YWdlIHNwZWNpZmljIGNvbXBpbGVyLgpDQz0iZysr
IgoKIyBJcyB0aGUgY29tcGlsZXIgdGhlIEdOVSBjb21waWxlcj8Kd2l0aF9n
Y2M9eWVzCgojIENvbXBpbGVyIGZsYWcgdG8gdHVybiBvZmYgYnVpbHRpbiBm
dW5jdGlvbnMuCm5vX2J1aWx0aW5fZmxhZz0iIC1mbm8tYnVpbHRpbiIKCiMg
QWRkaXRpb25hbCBjb21waWxlciBmbGFncyBmb3IgYnVpbGRpbmcgbGlicmFy
eSBvYmplY3RzLgpwaWNfZmxhZz0iIC1ERExMX0VYUE9SVCAtRFBJQyIKCiMg
SG93IHRvIHBhc3MgYSBsaW5rZXIgZmxhZyB0aHJvdWdoIHRoZSBjb21waWxl
ci4Kd2w9Ii1XbCwiCgojIENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5h
bWljIGxpbmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9Ii1zdGF0aWMiCgojIERv
ZXMgY29tcGlsZXIgc2ltdWx0YW5lb3VzbHkgc3VwcG9ydCAtYyBhbmQgLW8g
b3B0aW9ucz8KY29tcGlsZXJfY19vPSJ5ZXMiCgojIFdoZXRoZXIgb3Igbm90
IHRvIGFkZCAtbGMgZm9yIGJ1aWxkaW5nIHNoYXJlZCBsaWJyYXJpZXMuCmJ1
aWxkX2xpYnRvb2xfbmVlZF9sYz1ubwoKIyBXaGV0aGVyIG9yIG5vdCB0byBk
aXNhbGxvdyBzaGFyZWQgbGlicyB3aGVuIHJ1bnRpbWUgbGlicyBhcmUgc3Rh
dGljLgphbGxvd19saWJ0b29sX2xpYnNfd2l0aF9zdGF0aWNfcnVudGltZXM9
eWVzCgojIENvbXBpbGVyIGZsYWcgdG8gYWxsb3cgcmVmbGV4aXZlIGRsb3Bl
bnMuCmV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYz0iXCR7d2x9LS1leHBvcnQt
YWxsLXN5bWJvbHMiCgojIENvbXBpbGVyIGZsYWcgdG8gZ2VuZXJhdGUgc2hh
cmVkIG9iamVjdHMgZGlyZWN0bHkgZnJvbSBhcmNoaXZlcy4Kd2hvbGVfYXJj
aGl2ZV9mbGFnX3NwZWM9Ilwke3dsfS0td2hvbGUtYXJjaGl2ZVwkY29udmVu
aWVuY2UgXCR7d2x9LS1uby13aG9sZS1hcmNoaXZlIgoKIyBXaGV0aGVyIHRo
ZSBjb21waWxlciBjb3BlcyB3aXRoIHBhc3Npbmcgbm8gb2JqZWN0cyBkaXJl
Y3RseS4KY29tcGlsZXJfbmVlZHNfb2JqZWN0PSJubyIKCiMgQ3JlYXRlIGFu
IG9sZC1zdHlsZSBhcmNoaXZlIGZyb20gYSBzaGFyZWQgYXJjaGl2ZS4Kb2xk
X2FyY2hpdmVfZnJvbV9uZXdfY21kcz0iIgoKIyBDcmVhdGUgYSB0ZW1wb3Jh
cnkgb2xkLXN0eWxlIGFyY2hpdmUgdG8gbGluayBpbnN0ZWFkIG9mIGEgc2hh
cmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzPSIi
CgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQgYSBzaGFyZWQgYXJjaGl2ZS4K
YXJjaGl2ZV9jbWRzPSJcJENDIC1zaGFyZWQgLW5vc3RkbGliIFwkcHJlZGVw
X29iamVjdHMgXCRsaWJvYmpzIFwkZGVwbGlicyBcJHBvc3RkZXBfb2JqZWN0
cyBcJGNvbXBpbGVyX2ZsYWdzIC1vIFwkb3V0cHV0X29iamRpci9cJHNvbmFt
ZSBcJHt3bH0tLWVuYWJsZS1hdXRvLWltYWdlLWJhc2UgLVhsaW5rZXIgLS1v
dXQtaW1wbGliIC1YbGlua2VyIFwkbGliIgphcmNoaXZlX2V4cHN5bV9jbWRz
PSJpZiB0ZXN0IFxcXCJ4XFxcYFwkU0VEIDFxIFwkZXhwb3J0X3N5bWJvbHNc
XFxgXFxcIiA9IHhFWFBPUlRTOyB0aGVuCgkgICAgICBjcCBcJGV4cG9ydF9z
eW1ib2xzIFwkb3V0cHV0X29iamRpci9cJHNvbmFtZS5kZWY7CgkgICAgZWxz
ZQoJICAgICAgZWNobyBFWFBPUlRTID4gXCRvdXRwdXRfb2JqZGlyL1wkc29u
YW1lLmRlZjsKCSAgICAgIGNhdCBcJGV4cG9ydF9zeW1ib2xzID4+IFwkb3V0
cHV0X29iamRpci9cJHNvbmFtZS5kZWY7CgkgICAgZml+CgkgICAgXCRDQyAt
c2hhcmVkIC1ub3N0ZGxpYiBcJG91dHB1dF9vYmpkaXIvXCRzb25hbWUuZGVm
IFwkcHJlZGVwX29iamVjdHMgXCRsaWJvYmpzIFwkZGVwbGlicyBcJHBvc3Rk
ZXBfb2JqZWN0cyBcJGNvbXBpbGVyX2ZsYWdzIC1vIFwkb3V0cHV0X29iamRp
ci9cJHNvbmFtZSBcJHt3bH0tLWVuYWJsZS1hdXRvLWltYWdlLWJhc2UgLVhs
aW5rZXIgLS1vdXQtaW1wbGliIC1YbGlua2VyIFwkbGliIgoKIyBDb21tYW5k
cyB1c2VkIHRvIGJ1aWxkIGEgbG9hZGFibGUgbW9kdWxlIGlmIGRpZmZlcmVu
dCBmcm9tIGJ1aWxkaW5nCiMgYSBzaGFyZWQgYXJjaGl2ZS4KbW9kdWxlX2Nt
ZHM9IiIKbW9kdWxlX2V4cHN5bV9jbWRzPSIiCgojIFdoZXRoZXIgd2UgYXJl
IGJ1aWxkaW5nIHdpdGggR05VIGxkIG9yIG5vdC4Kd2l0aF9nbnVfbGQ9Inll
cyIKCiMgRmxhZyB0aGF0IGFsbG93cyBzaGFyZWQgbGlicmFyaWVzIHdpdGgg
dW5kZWZpbmVkIHN5bWJvbHMgdG8gYmUgYnVpbHQuCmFsbG93X3VuZGVmaW5l
ZF9mbGFnPSJ1bnN1cHBvcnRlZCIKCiMgRmxhZyB0aGF0IGVuZm9yY2VzIG5v
IHVuZGVmaW5lZCBzeW1ib2xzLgpub191bmRlZmluZWRfZmxhZz0iIgoKIyBG
bGFnIHRvIGhhcmRjb2RlICRsaWJkaXIgaW50byBhIGJpbmFyeSBkdXJpbmcg
bGlua2luZy4KIyBUaGlzIG11c3Qgd29yayBldmVuIGlmICRsaWJkaXIgZG9l
cyBub3QgZXhpc3QKaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0iLUxcJGxp
YmRpciIKCiMgSWYgbGQgaXMgdXNlZCB3aGVuIGxpbmtpbmcsIGZsYWcgdG8g
aGFyZGNvZGUgJGxpYmRpciBpbnRvIGEgYmluYXJ5CiMgZHVyaW5nIGxpbmtp
bmcuICBUaGlzIG11c3Qgd29yayBldmVuIGlmICRsaWJkaXIgZG9lcyBub3Qg
ZXhpc3QuCmhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNfbGQ9IiIKCiMgV2hl
dGhlciB3ZSBuZWVkIGEgc2luZ2xlICItcnBhdGgiIGZsYWcgd2l0aCBhIHNl
cGFyYXRlZCBhcmd1bWVudC4KaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvcj0i
IgoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgRElSL2xpYk5BTUUke3NoYXJl
ZF9leHR9IGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcwojIERJUiBpbnRvIHRo
ZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9kaXJlY3Q9bm8KCiMgU2V0
IHRvICJ5ZXMiIGlmIHVzaW5nIERJUi9saWJOQU1FJHtzaGFyZWRfZXh0fSBk
dXJpbmcgbGlua2luZyBoYXJkY29kZXMKIyBESVIgaW50byB0aGUgcmVzdWx0
aW5nIGJpbmFyeSBhbmQgdGhlIHJlc3VsdGluZyBsaWJyYXJ5IGRlcGVuZGVu
Y3kgaXMKIyAiYWJzb2x1dGUiLGkuZSBpbXBvc3NpYmxlIHRvIGNoYW5nZSBi
eSBzZXR0aW5nICR7c2hsaWJwYXRoX3Zhcn0gaWYgdGhlCiMgbGlicmFyeSBp
cyByZWxvY2F0ZWQuCmhhcmRjb2RlX2RpcmVjdF9hYnNvbHV0ZT1ubwoKIyBT
ZXQgdG8gInllcyIgaWYgdXNpbmcgdGhlIC1MRElSIGZsYWcgZHVyaW5nIGxp
bmtpbmcgaGFyZGNvZGVzIERJUgojIGludG8gdGhlIHJlc3VsdGluZyBiaW5h
cnkuCmhhcmRjb2RlX21pbnVzX0w9bm8KCiMgU2V0IHRvICJ5ZXMiIGlmIHVz
aW5nIFNITElCUEFUSF9WQVI9RElSIGR1cmluZyBsaW5raW5nIGhhcmRjb2Rl
cyBESVIKIyBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9z
aGxpYnBhdGhfdmFyPXVuc3VwcG9ydGVkCgojIFNldCB0byAieWVzIiBpZiBi
dWlsZGluZyBhIHNoYXJlZCBsaWJyYXJ5IGF1dG9tYXRpY2FsbHkgaGFyZGNv
ZGVzIERJUgojIGludG8gdGhlIGxpYnJhcnkgYW5kIGFsbCBzdWJzZXF1ZW50
IGxpYnJhcmllcyBhbmQgZXhlY3V0YWJsZXMgbGlua2VkCiMgYWdhaW5zdCBp
dC4KaGFyZGNvZGVfYXV0b21hdGljPW5vCgojIFNldCB0byB5ZXMgaWYgbGlu
a2VyIGFkZHMgcnVudGltZSBwYXRocyBvZiBkZXBlbmRlbnQgbGlicmFyaWVz
CiMgdG8gcnVudGltZSBwYXRoIGxpc3QuCmluaGVyaXRfcnBhdGg9bm8KCiMg
V2hldGhlciBsaWJ0b29sIG11c3QgbGluayBhIHByb2dyYW0gYWdhaW5zdCBh
bGwgaXRzIGRlcGVuZGVuY3kgbGlicmFyaWVzLgpsaW5rX2FsbF9kZXBsaWJz
PXVua25vd24KCiMgU2V0IHRvICJ5ZXMiIGlmIGV4cG9ydGVkIHN5bWJvbHMg
YXJlIHJlcXVpcmVkLgphbHdheXNfZXhwb3J0X3N5bWJvbHM9bm8KCiMgVGhl
IGNvbW1hbmRzIHRvIGxpc3QgZXhwb3J0ZWQgc3ltYm9scy4KZXhwb3J0X3N5
bWJvbHNfY21kcz0iXCROTSBcJGxpYm9ianMgXCRjb252ZW5pZW5jZSB8IFwk
Z2xvYmFsX3N5bWJvbF9waXBlIHwgXCRTRUQgLWUgJy9eW0JDREdSU11bIF0v
cy8uKlsgXVxcXFwoW14gXSpcXFxcKS9cXFxcMSBEQVRBLztzL14uKlsgXV9f
bm1fX1xcXFwoW14gXSpcXFxcKVsgXVteIF0qL1xcXFwxIERBVEEvOy9eSVsg
XS9kOy9eW0FJVFddWyBdL3MvLiogLy8nIHwgc29ydCB8IHVuaXEgPiBcJGV4
cG9ydF9zeW1ib2xzIgoKIyBTeW1ib2xzIHRoYXQgc2hvdWxkIG5vdCBiZSBs
aXN0ZWQgaW4gdGhlIHByZWxvYWRlZCBzeW1ib2xzLgpleGNsdWRlX2V4cHN5
bXM9IltfXStHTE9CQUxfT0ZGU0VUX1RBQkxFX3xbX10rR0xPQkFMX19bRklE
XV8uKnxbX10raGVhZF9bQS1aYS16MC05X10rX2RsbHxbQS1aYS16MC05X10r
X2RsbF9pbmFtZSIKCiMgU3ltYm9scyB0aGF0IG11c3QgYWx3YXlzIGJlIGV4
cG9ydGVkLgppbmNsdWRlX2V4cHN5bXM9IiIKCiMgQ29tbWFuZHMgbmVjZXNz
YXJ5IGZvciBsaW5raW5nIHByb2dyYW1zIChhZ2FpbnN0IGxpYnJhcmllcykg
d2l0aCB0ZW1wbGF0ZXMuCnByZWxpbmtfY21kcz0iIgoKIyBDb21tYW5kcyBu
ZWNlc3NhcnkgZm9yIGZpbmlzaGluZyBsaW5raW5nIHByb2dyYW1zLgpwb3N0
bGlua19jbWRzPSIiCgojIFNwZWNpZnkgZmlsZW5hbWUgY29udGFpbmluZyBp
bnB1dCBmaWxlcy4KZmlsZV9saXN0X3NwZWM9IiIKCiMgSG93IHRvIGhhcmRj
b2RlIGEgc2hhcmVkIGxpYnJhcnkgcGF0aCBpbnRvIGFuIGV4ZWN1dGFibGUu
CmhhcmRjb2RlX2FjdGlvbj1pbW1lZGlhdGUKCiMgVGhlIGRpcmVjdG9yaWVz
IHNlYXJjaGVkIGJ5IHRoaXMgY29tcGlsZXIgd2hlbiBjcmVhdGluZyBhIHNo
YXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2VhcmNoX2RpcnM9ImM6L21p
bmd3L2Jpbi8uLi9saWIvZ2NjL21pbmd3MzIvNC44LjEgYzovbWluZ3cvYmlu
Ly4uL2xpYi9nY2MgYzovbWluZ3cvYmluLy4uL2xpYi9nY2MvbWluZ3czMi80
LjguMS8uLi8uLi8uLi8uLi9taW5ndzMyL2xpYiBjOi9taW5ndy9iaW4vLi4v
bGliL2djYy9taW5ndzMyLzQuOC4xLy4uLy4uLy4uIC9taW5ndy9saWIiCgoj
IERlcGVuZGVuY2llcyB0byBwbGFjZSBiZWZvcmUgYW5kIGFmdGVyIHRoZSBv
YmplY3RzIGJlaW5nIGxpbmtlZCB0bwojIGNyZWF0ZSBhIHNoYXJlZCBsaWJy
YXJ5LgpwcmVkZXBfb2JqZWN0cz0iYzovbWluZ3cvYmluLy4uL2xpYi9nY2Mv
bWluZ3czMi80LjguMS8uLi8uLi8uLi9kbGxjcnQyLm8gYzovbWluZ3cvYmlu
Ly4uL2xpYi9nY2MvbWluZ3czMi80LjguMS9jcnRiZWdpbi5vIgpwb3N0ZGVw
X29iamVjdHM9ImM6L21pbmd3L2Jpbi8uLi9saWIvZ2NjL21pbmd3MzIvNC44
LjEvY3J0ZW5kLm8iCnByZWRlcHM9IiIKcG9zdGRlcHM9Ii1sc3RkYysrIC1s
bWluZ3czMiAtbGdjY19zIC1sZ2NjIC1sbW9sZG5hbWUgLWxtaW5nd2V4IC1s
bXN2Y3J0IC1sdXNlcjMyIC1sa2VybmVsMzIgLWxhZHZhcGkzMiAtbHNoZWxs
MzIgLWxtaW5ndzMyIC1sZ2NjX3MgLWxnY2MgLWxtb2xkbmFtZSAtbG1pbmd3
ZXggLWxtc3ZjcnQiCgojIFRoZSBsaWJyYXJ5IHNlYXJjaCBwYXRoIHVzZWQg
aW50ZXJuYWxseSBieSB0aGUgY29tcGlsZXIgd2hlbiBsaW5raW5nCiMgYSBz
aGFyZWQgbGlicmFyeS4KY29tcGlsZXJfbGliX3NlYXJjaF9wYXRoPSItTGM6
L21pbmd3L2Jpbi8uLi9saWIvZ2NjL21pbmd3MzIvNC44LjEgLUxjOi9taW5n
dy9iaW4vLi4vbGliL2djYyAtTGM6L21pbmd3L2Jpbi8uLi9saWIvZ2NjL21p
bmd3MzIvNC44LjEvLi4vLi4vLi4vLi4vbWluZ3czMi9saWIgLUxjOi9taW5n
dy9iaW4vLi4vbGliL2djYy9taW5ndzMyLzQuOC4xLy4uLy4uLy4uIC1ML21p
bmd3L2xpYiIKCiMgIyMjIEVORCBMSUJUT09MIFRBRyBDT05GSUc6IENYWAoK
IyAjIyMgQkVHSU4gTElCVE9PTCBUQUcgQ09ORklHOiBGNzcKCiMgVGhlIGxp
bmtlciB1c2VkIHRvIGJ1aWxkIGxpYnJhcmllcy4KTEQ9IiIKCiMgSG93IHRv
IGNyZWF0ZSByZWxvYWRhYmxlIG9iamVjdCBmaWxlcy4KcmVsb2FkX2ZsYWc9
IiAtciIKcmVsb2FkX2NtZHM9IlwkTERcJHJlbG9hZF9mbGFnIC1vIFwkb3V0
cHV0XCRyZWxvYWRfb2JqcyIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBh
biBvbGQtc3R5bGUgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfY21kcz0iXCRBUiBc
JEFSX0ZMQUdTIFwkb2xkbGliXCRvbGRvYmpzflwkUkFOTElCIFwkb2xkbGli
IgoKIyBBIGxhbmd1YWdlIHNwZWNpZmljIGNvbXBpbGVyLgpDQz0iIgoKIyBJ
cyB0aGUgY29tcGlsZXIgdGhlIEdOVSBjb21waWxlcj8Kd2l0aF9nY2M9Cgoj
IENvbXBpbGVyIGZsYWcgdG8gdHVybiBvZmYgYnVpbHRpbiBmdW5jdGlvbnMu
Cm5vX2J1aWx0aW5fZmxhZz0iIgoKIyBBZGRpdGlvbmFsIGNvbXBpbGVyIGZs
YWdzIGZvciBidWlsZGluZyBsaWJyYXJ5IG9iamVjdHMuCnBpY19mbGFnPSIi
CgojIEhvdyB0byBwYXNzIGEgbGlua2VyIGZsYWcgdGhyb3VnaCB0aGUgY29t
cGlsZXIuCndsPSIiCgojIENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5h
bWljIGxpbmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9IiIKCiMgRG9lcyBjb21w
aWxlciBzaW11bHRhbmVvdXNseSBzdXBwb3J0IC1jIGFuZCAtbyBvcHRpb25z
Pwpjb21waWxlcl9jX289IiIKCiMgV2hldGhlciBvciBub3QgdG8gYWRkIC1s
YyBmb3IgYnVpbGRpbmcgc2hhcmVkIGxpYnJhcmllcy4KYnVpbGRfbGlidG9v
bF9uZWVkX2xjPW5vCgojIFdoZXRoZXIgb3Igbm90IHRvIGRpc2FsbG93IHNo
YXJlZCBsaWJzIHdoZW4gcnVudGltZSBsaWJzIGFyZSBzdGF0aWMuCmFsbG93
X2xpYnRvb2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcz1ubwoKIyBDb21w
aWxlciBmbGFnIHRvIGFsbG93IHJlZmxleGl2ZSBkbG9wZW5zLgpleHBvcnRf
ZHluYW1pY19mbGFnX3NwZWM9IiIKCiMgQ29tcGlsZXIgZmxhZyB0byBnZW5l
cmF0ZSBzaGFyZWQgb2JqZWN0cyBkaXJlY3RseSBmcm9tIGFyY2hpdmVzLgp3
aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0iIgoKIyBXaGV0aGVyIHRoZSBjb21w
aWxlciBjb3BlcyB3aXRoIHBhc3Npbmcgbm8gb2JqZWN0cyBkaXJlY3RseS4K
Y29tcGlsZXJfbmVlZHNfb2JqZWN0PSIiCgojIENyZWF0ZSBhbiBvbGQtc3R5
bGUgYXJjaGl2ZSBmcm9tIGEgc2hhcmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZl
X2Zyb21fbmV3X2NtZHM9IiIKCiMgQ3JlYXRlIGEgdGVtcG9yYXJ5IG9sZC1z
dHlsZSBhcmNoaXZlIHRvIGxpbmsgaW5zdGVhZCBvZiBhIHNoYXJlZCBhcmNo
aXZlLgpvbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kcz0iIgoKIyBDb21t
YW5kcyB1c2VkIHRvIGJ1aWxkIGEgc2hhcmVkIGFyY2hpdmUuCmFyY2hpdmVf
Y21kcz0iIgphcmNoaXZlX2V4cHN5bV9jbWRzPSIiCgojIENvbW1hbmRzIHVz
ZWQgdG8gYnVpbGQgYSBsb2FkYWJsZSBtb2R1bGUgaWYgZGlmZmVyZW50IGZy
b20gYnVpbGRpbmcKIyBhIHNoYXJlZCBhcmNoaXZlLgptb2R1bGVfY21kcz0i
Igptb2R1bGVfZXhwc3ltX2NtZHM9IiIKCiMgV2hldGhlciB3ZSBhcmUgYnVp
bGRpbmcgd2l0aCBHTlUgbGQgb3Igbm90Lgp3aXRoX2dudV9sZD0iIgoKIyBG
bGFnIHRoYXQgYWxsb3dzIHNoYXJlZCBsaWJyYXJpZXMgd2l0aCB1bmRlZmlu
ZWQgc3ltYm9scyB0byBiZSBidWlsdC4KYWxsb3dfdW5kZWZpbmVkX2ZsYWc9
IiIKCiMgRmxhZyB0aGF0IGVuZm9yY2VzIG5vIHVuZGVmaW5lZCBzeW1ib2xz
Lgpub191bmRlZmluZWRfZmxhZz0iIgoKIyBGbGFnIHRvIGhhcmRjb2RlICRs
aWJkaXIgaW50byBhIGJpbmFyeSBkdXJpbmcgbGlua2luZy4KIyBUaGlzIG11
c3Qgd29yayBldmVuIGlmICRsaWJkaXIgZG9lcyBub3QgZXhpc3QKaGFyZGNv
ZGVfbGliZGlyX2ZsYWdfc3BlYz0iIgoKIyBJZiBsZCBpcyB1c2VkIHdoZW4g
bGlua2luZywgZmxhZyB0byBoYXJkY29kZSAkbGliZGlyIGludG8gYSBiaW5h
cnkKIyBkdXJpbmcgbGlua2luZy4gIFRoaXMgbXVzdCB3b3JrIGV2ZW4gaWYg
JGxpYmRpciBkb2VzIG5vdCBleGlzdC4KaGFyZGNvZGVfbGliZGlyX2ZsYWdf
c3BlY19sZD0iIgoKIyBXaGV0aGVyIHdlIG5lZWQgYSBzaW5nbGUgIi1ycGF0
aCIgZmxhZyB3aXRoIGEgc2VwYXJhdGVkIGFyZ3VtZW50LgpoYXJkY29kZV9s
aWJkaXJfc2VwYXJhdG9yPSIiCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBE
SVIvbGliTkFNRSR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcgaGFyZGNv
ZGVzCiMgRElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2Rl
X2RpcmVjdD1ubwoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgRElSL2xpYk5B
TUUke3NoYXJlZF9leHR9IGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcwojIERJ
UiBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5IGFuZCB0aGUgcmVzdWx0aW5n
IGxpYnJhcnkgZGVwZW5kZW5jeSBpcwojICJhYnNvbHV0ZSIsaS5lIGltcG9z
c2libGUgdG8gY2hhbmdlIGJ5IHNldHRpbmcgJHtzaGxpYnBhdGhfdmFyfSBp
ZiB0aGUKIyBsaWJyYXJ5IGlzIHJlbG9jYXRlZC4KaGFyZGNvZGVfZGlyZWN0
X2Fic29sdXRlPW5vCgojIFNldCB0byAieWVzIiBpZiB1c2luZyB0aGUgLUxE
SVIgZmxhZyBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0
aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfbWludXNfTD1ubwoKIyBT
ZXQgdG8gInllcyIgaWYgdXNpbmcgU0hMSUJQQVRIX1ZBUj1ESVIgZHVyaW5n
IGxpbmtpbmcgaGFyZGNvZGVzIERJUgojIGludG8gdGhlIHJlc3VsdGluZyBi
aW5hcnkuCmhhcmRjb2RlX3NobGlicGF0aF92YXI9CgojIFNldCB0byAieWVz
IiBpZiBidWlsZGluZyBhIHNoYXJlZCBsaWJyYXJ5IGF1dG9tYXRpY2FsbHkg
aGFyZGNvZGVzIERJUgojIGludG8gdGhlIGxpYnJhcnkgYW5kIGFsbCBzdWJz
ZXF1ZW50IGxpYnJhcmllcyBhbmQgZXhlY3V0YWJsZXMgbGlua2VkCiMgYWdh
aW5zdCBpdC4KaGFyZGNvZGVfYXV0b21hdGljPW5vCgojIFNldCB0byB5ZXMg
aWYgbGlua2VyIGFkZHMgcnVudGltZSBwYXRocyBvZiBkZXBlbmRlbnQgbGli
cmFyaWVzCiMgdG8gcnVudGltZSBwYXRoIGxpc3QuCmluaGVyaXRfcnBhdGg9
bm8KCiMgV2hldGhlciBsaWJ0b29sIG11c3QgbGluayBhIHByb2dyYW0gYWdh
aW5zdCBhbGwgaXRzIGRlcGVuZGVuY3kgbGlicmFyaWVzLgpsaW5rX2FsbF9k
ZXBsaWJzPXVua25vd24KCiMgU2V0IHRvICJ5ZXMiIGlmIGV4cG9ydGVkIHN5
bWJvbHMgYXJlIHJlcXVpcmVkLgphbHdheXNfZXhwb3J0X3N5bWJvbHM9bm8K
CiMgVGhlIGNvbW1hbmRzIHRvIGxpc3QgZXhwb3J0ZWQgc3ltYm9scy4KZXhw
b3J0X3N5bWJvbHNfY21kcz0iIgoKIyBTeW1ib2xzIHRoYXQgc2hvdWxkIG5v
dCBiZSBsaXN0ZWQgaW4gdGhlIHByZWxvYWRlZCBzeW1ib2xzLgpleGNsdWRl
X2V4cHN5bXM9IiIKCiMgU3ltYm9scyB0aGF0IG11c3QgYWx3YXlzIGJlIGV4
cG9ydGVkLgppbmNsdWRlX2V4cHN5bXM9IiIKCiMgQ29tbWFuZHMgbmVjZXNz
YXJ5IGZvciBsaW5raW5nIHByb2dyYW1zIChhZ2FpbnN0IGxpYnJhcmllcykg
d2l0aCB0ZW1wbGF0ZXMuCnByZWxpbmtfY21kcz0iIgoKIyBDb21tYW5kcyBu
ZWNlc3NhcnkgZm9yIGZpbmlzaGluZyBsaW5raW5nIHByb2dyYW1zLgpwb3N0
bGlua19jbWRzPSIiCgojIFNwZWNpZnkgZmlsZW5hbWUgY29udGFpbmluZyBp
bnB1dCBmaWxlcy4KZmlsZV9saXN0X3NwZWM9IiIKCiMgSG93IHRvIGhhcmRj
b2RlIGEgc2hhcmVkIGxpYnJhcnkgcGF0aCBpbnRvIGFuIGV4ZWN1dGFibGUu
CmhhcmRjb2RlX2FjdGlvbj0KCiMgVGhlIGRpcmVjdG9yaWVzIHNlYXJjaGVk
IGJ5IHRoaXMgY29tcGlsZXIgd2hlbiBjcmVhdGluZyBhIHNoYXJlZCBsaWJy
YXJ5Lgpjb21waWxlcl9saWJfc2VhcmNoX2RpcnM9IiIKCiMgRGVwZW5kZW5j
aWVzIHRvIHBsYWNlIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIG9iamVjdHMgYmVp
bmcgbGlua2VkIHRvCiMgY3JlYXRlIGEgc2hhcmVkIGxpYnJhcnkuCnByZWRl
cF9vYmplY3RzPSIiCnBvc3RkZXBfb2JqZWN0cz0iIgpwcmVkZXBzPSIiCnBv
c3RkZXBzPSIiCgojIFRoZSBsaWJyYXJ5IHNlYXJjaCBwYXRoIHVzZWQgaW50
ZXJuYWxseSBieSB0aGUgY29tcGlsZXIgd2hlbiBsaW5raW5nCiMgYSBzaGFy
ZWQgbGlicmFyeS4KY29tcGlsZXJfbGliX3NlYXJjaF9wYXRoPSIiCgojICMj
IyBFTkQgTElCVE9PTCBUQUcgQ09ORklHOiBGNzcKCiMgIyMjIEJFR0lOIExJ
QlRPT0wgVEFHIENPTkZJRzogRkMKCiMgVGhlIGxpbmtlciB1c2VkIHRvIGJ1
aWxkIGxpYnJhcmllcy4KTEQ9IiIKCiMgSG93IHRvIGNyZWF0ZSByZWxvYWRh
YmxlIG9iamVjdCBmaWxlcy4KcmVsb2FkX2ZsYWc9IiAtciIKcmVsb2FkX2Nt
ZHM9IlwkTERcJHJlbG9hZF9mbGFnIC1vIFwkb3V0cHV0XCRyZWxvYWRfb2Jq
cyIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBhbiBvbGQtc3R5bGUgYXJj
aGl2ZS4Kb2xkX2FyY2hpdmVfY21kcz0iXCRBUiBcJEFSX0ZMQUdTIFwkb2xk
bGliXCRvbGRvYmpzflwkUkFOTElCIFwkb2xkbGliIgoKIyBBIGxhbmd1YWdl
IHNwZWNpZmljIGNvbXBpbGVyLgpDQz0iIgoKIyBJcyB0aGUgY29tcGlsZXIg
dGhlIEdOVSBjb21waWxlcj8Kd2l0aF9nY2M9CgojIENvbXBpbGVyIGZsYWcg
dG8gdHVybiBvZmYgYnVpbHRpbiBmdW5jdGlvbnMuCm5vX2J1aWx0aW5fZmxh
Zz0iIgoKIyBBZGRpdGlvbmFsIGNvbXBpbGVyIGZsYWdzIGZvciBidWlsZGlu
ZyBsaWJyYXJ5IG9iamVjdHMuCnBpY19mbGFnPSIiCgojIEhvdyB0byBwYXNz
IGEgbGlua2VyIGZsYWcgdGhyb3VnaCB0aGUgY29tcGlsZXIuCndsPSIiCgoj
IENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5hbWljIGxpbmtpbmcuCmxp
bmtfc3RhdGljX2ZsYWc9IiIKCiMgRG9lcyBjb21waWxlciBzaW11bHRhbmVv
dXNseSBzdXBwb3J0IC1jIGFuZCAtbyBvcHRpb25zPwpjb21waWxlcl9jX289
IiIKCiMgV2hldGhlciBvciBub3QgdG8gYWRkIC1sYyBmb3IgYnVpbGRpbmcg
c2hhcmVkIGxpYnJhcmllcy4KYnVpbGRfbGlidG9vbF9uZWVkX2xjPW5vCgoj
IFdoZXRoZXIgb3Igbm90IHRvIGRpc2FsbG93IHNoYXJlZCBsaWJzIHdoZW4g
cnVudGltZSBsaWJzIGFyZSBzdGF0aWMuCmFsbG93X2xpYnRvb2xfbGlic193
aXRoX3N0YXRpY19ydW50aW1lcz1ubwoKIyBDb21waWxlciBmbGFnIHRvIGFs
bG93IHJlZmxleGl2ZSBkbG9wZW5zLgpleHBvcnRfZHluYW1pY19mbGFnX3Nw
ZWM9IiIKCiMgQ29tcGlsZXIgZmxhZyB0byBnZW5lcmF0ZSBzaGFyZWQgb2Jq
ZWN0cyBkaXJlY3RseSBmcm9tIGFyY2hpdmVzLgp3aG9sZV9hcmNoaXZlX2Zs
YWdfc3BlYz0iIgoKIyBXaGV0aGVyIHRoZSBjb21waWxlciBjb3BlcyB3aXRo
IHBhc3Npbmcgbm8gb2JqZWN0cyBkaXJlY3RseS4KY29tcGlsZXJfbmVlZHNf
b2JqZWN0PSIiCgojIENyZWF0ZSBhbiBvbGQtc3R5bGUgYXJjaGl2ZSBmcm9t
IGEgc2hhcmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHM9
IiIKCiMgQ3JlYXRlIGEgdGVtcG9yYXJ5IG9sZC1zdHlsZSBhcmNoaXZlIHRv
IGxpbmsgaW5zdGVhZCBvZiBhIHNoYXJlZCBhcmNoaXZlLgpvbGRfYXJjaGl2
ZV9mcm9tX2V4cHN5bXNfY21kcz0iIgoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1
aWxkIGEgc2hhcmVkIGFyY2hpdmUuCmFyY2hpdmVfY21kcz0iIgphcmNoaXZl
X2V4cHN5bV9jbWRzPSIiCgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQgYSBs
b2FkYWJsZSBtb2R1bGUgaWYgZGlmZmVyZW50IGZyb20gYnVpbGRpbmcKIyBh
IHNoYXJlZCBhcmNoaXZlLgptb2R1bGVfY21kcz0iIgptb2R1bGVfZXhwc3lt
X2NtZHM9IiIKCiMgV2hldGhlciB3ZSBhcmUgYnVpbGRpbmcgd2l0aCBHTlUg
bGQgb3Igbm90Lgp3aXRoX2dudV9sZD0iIgoKIyBGbGFnIHRoYXQgYWxsb3dz
IHNoYXJlZCBsaWJyYXJpZXMgd2l0aCB1bmRlZmluZWQgc3ltYm9scyB0byBi
ZSBidWlsdC4KYWxsb3dfdW5kZWZpbmVkX2ZsYWc9IiIKCiMgRmxhZyB0aGF0
IGVuZm9yY2VzIG5vIHVuZGVmaW5lZCBzeW1ib2xzLgpub191bmRlZmluZWRf
ZmxhZz0iIgoKIyBGbGFnIHRvIGhhcmRjb2RlICRsaWJkaXIgaW50byBhIGJp
bmFyeSBkdXJpbmcgbGlua2luZy4KIyBUaGlzIG11c3Qgd29yayBldmVuIGlm
ICRsaWJkaXIgZG9lcyBub3QgZXhpc3QKaGFyZGNvZGVfbGliZGlyX2ZsYWdf
c3BlYz0iIgoKIyBJZiBsZCBpcyB1c2VkIHdoZW4gbGlua2luZywgZmxhZyB0
byBoYXJkY29kZSAkbGliZGlyIGludG8gYSBiaW5hcnkKIyBkdXJpbmcgbGlu
a2luZy4gIFRoaXMgbXVzdCB3b3JrIGV2ZW4gaWYgJGxpYmRpciBkb2VzIG5v
dCBleGlzdC4KaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY19sZD0iIgoKIyBX
aGV0aGVyIHdlIG5lZWQgYSBzaW5nbGUgIi1ycGF0aCIgZmxhZyB3aXRoIGEg
c2VwYXJhdGVkIGFyZ3VtZW50LgpoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9y
PSIiCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBESVIvbGliTkFNRSR7c2hh
cmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzCiMgRElSIGludG8g
dGhlIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2RlX2RpcmVjdD1ubwoKIyBT
ZXQgdG8gInllcyIgaWYgdXNpbmcgRElSL2xpYk5BTUUke3NoYXJlZF9leHR9
IGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcwojIERJUiBpbnRvIHRoZSByZXN1
bHRpbmcgYmluYXJ5IGFuZCB0aGUgcmVzdWx0aW5nIGxpYnJhcnkgZGVwZW5k
ZW5jeSBpcwojICJhYnNvbHV0ZSIsaS5lIGltcG9zc2libGUgdG8gY2hhbmdl
IGJ5IHNldHRpbmcgJHtzaGxpYnBhdGhfdmFyfSBpZiB0aGUKIyBsaWJyYXJ5
IGlzIHJlbG9jYXRlZC4KaGFyZGNvZGVfZGlyZWN0X2Fic29sdXRlPW5vCgoj
IFNldCB0byAieWVzIiBpZiB1c2luZyB0aGUgLUxESVIgZmxhZyBkdXJpbmcg
bGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgcmVzdWx0aW5nIGJp
bmFyeS4KaGFyZGNvZGVfbWludXNfTD1ubwoKIyBTZXQgdG8gInllcyIgaWYg
dXNpbmcgU0hMSUJQQVRIX1ZBUj1ESVIgZHVyaW5nIGxpbmtpbmcgaGFyZGNv
ZGVzIERJUgojIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2Rl
X3NobGlicGF0aF92YXI9CgojIFNldCB0byAieWVzIiBpZiBidWlsZGluZyBh
IHNoYXJlZCBsaWJyYXJ5IGF1dG9tYXRpY2FsbHkgaGFyZGNvZGVzIERJUgoj
IGludG8gdGhlIGxpYnJhcnkgYW5kIGFsbCBzdWJzZXF1ZW50IGxpYnJhcmll
cyBhbmQgZXhlY3V0YWJsZXMgbGlua2VkCiMgYWdhaW5zdCBpdC4KaGFyZGNv
ZGVfYXV0b21hdGljPW5vCgojIFNldCB0byB5ZXMgaWYgbGlua2VyIGFkZHMg
cnVudGltZSBwYXRocyBvZiBkZXBlbmRlbnQgbGlicmFyaWVzCiMgdG8gcnVu
dGltZSBwYXRoIGxpc3QuCmluaGVyaXRfcnBhdGg9bm8KCiMgV2hldGhlciBs
aWJ0b29sIG11c3QgbGluayBhIHByb2dyYW0gYWdhaW5zdCBhbGwgaXRzIGRl
cGVuZGVuY3kgbGlicmFyaWVzLgpsaW5rX2FsbF9kZXBsaWJzPXVua25vd24K
CiMgU2V0IHRvICJ5ZXMiIGlmIGV4cG9ydGVkIHN5bWJvbHMgYXJlIHJlcXVp
cmVkLgphbHdheXNfZXhwb3J0X3N5bWJvbHM9bm8KCiMgVGhlIGNvbW1hbmRz
IHRvIGxpc3QgZXhwb3J0ZWQgc3ltYm9scy4KZXhwb3J0X3N5bWJvbHNfY21k
cz0iIgoKIyBTeW1ib2xzIHRoYXQgc2hvdWxkIG5vdCBiZSBsaXN0ZWQgaW4g
dGhlIHByZWxvYWRlZCBzeW1ib2xzLgpleGNsdWRlX2V4cHN5bXM9IiIKCiMg
U3ltYm9scyB0aGF0IG11c3QgYWx3YXlzIGJlIGV4cG9ydGVkLgppbmNsdWRl
X2V4cHN5bXM9IiIKCiMgQ29tbWFuZHMgbmVjZXNzYXJ5IGZvciBsaW5raW5n
IHByb2dyYW1zIChhZ2FpbnN0IGxpYnJhcmllcykgd2l0aCB0ZW1wbGF0ZXMu
CnByZWxpbmtfY21kcz0iIgoKIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGZp
bmlzaGluZyBsaW5raW5nIHByb2dyYW1zLgpwb3N0bGlua19jbWRzPSIiCgoj
IFNwZWNpZnkgZmlsZW5hbWUgY29udGFpbmluZyBpbnB1dCBmaWxlcy4KZmls
ZV9saXN0X3NwZWM9IiIKCiMgSG93IHRvIGhhcmRjb2RlIGEgc2hhcmVkIGxp
YnJhcnkgcGF0aCBpbnRvIGFuIGV4ZWN1dGFibGUuCmhhcmRjb2RlX2FjdGlv
bj0KCiMgVGhlIGRpcmVjdG9yaWVzIHNlYXJjaGVkIGJ5IHRoaXMgY29tcGls
ZXIgd2hlbiBjcmVhdGluZyBhIHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9s
aWJfc2VhcmNoX2RpcnM9IiIKCiMgRGVwZW5kZW5jaWVzIHRvIHBsYWNlIGJl
Zm9yZSBhbmQgYWZ0ZXIgdGhlIG9iamVjdHMgYmVpbmcgbGlua2VkIHRvCiMg
Y3JlYXRlIGEgc2hhcmVkIGxpYnJhcnkuCnByZWRlcF9vYmplY3RzPSIiCnBv
c3RkZXBfb2JqZWN0cz0iIgpwcmVkZXBzPSIiCnBvc3RkZXBzPSIiCgojIFRo
ZSBsaWJyYXJ5IHNlYXJjaCBwYXRoIHVzZWQgaW50ZXJuYWxseSBieSB0aGUg
Y29tcGlsZXIgd2hlbiBsaW5raW5nCiMgYSBzaGFyZWQgbGlicmFyeS4KY29t
cGlsZXJfbGliX3NlYXJjaF9wYXRoPSIiCgojICMjIyBFTkQgTElCVE9PTCBU
QUcgQ09ORklHOiBGQwoKIyAjIyMgQkVHSU4gTElCVE9PTCBUQUcgQ09ORklH
OiBHQ0oKCiMgVGhlIGxpbmtlciB1c2VkIHRvIGJ1aWxkIGxpYnJhcmllcy4K
TEQ9ImM6L21pbmd3L21pbmd3MzIvYmluL2xkLmV4ZSIKCiMgSG93IHRvIGNy
ZWF0ZSByZWxvYWRhYmxlIG9iamVjdCBmaWxlcy4KcmVsb2FkX2ZsYWc9IiAt
ciIKcmVsb2FkX2NtZHM9IlwkTERcJHJlbG9hZF9mbGFnIC1vIFwkb3V0cHV0
XCRyZWxvYWRfb2JqcyIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBhbiBv
bGQtc3R5bGUgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfY21kcz0iXCRBUiBcJEFS
X0ZMQUdTIFwkb2xkbGliXCRvbGRvYmpzflwkUkFOTElCIFwkb2xkbGliIgoK
IyBBIGxhbmd1YWdlIHNwZWNpZmljIGNvbXBpbGVyLgpDQz0iIgoKIyBJcyB0
aGUgY29tcGlsZXIgdGhlIEdOVSBjb21waWxlcj8Kd2l0aF9nY2M9CgojIENv
bXBpbGVyIGZsYWcgdG8gdHVybiBvZmYgYnVpbHRpbiBmdW5jdGlvbnMuCm5v
X2J1aWx0aW5fZmxhZz0iIgoKIyBBZGRpdGlvbmFsIGNvbXBpbGVyIGZsYWdz
IGZvciBidWlsZGluZyBsaWJyYXJ5IG9iamVjdHMuCnBpY19mbGFnPSIiCgoj
IEhvdyB0byBwYXNzIGEgbGlua2VyIGZsYWcgdGhyb3VnaCB0aGUgY29tcGls
ZXIuCndsPSIiCgojIENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5hbWlj
IGxpbmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9IiIKCiMgRG9lcyBjb21waWxl
ciBzaW11bHRhbmVvdXNseSBzdXBwb3J0IC1jIGFuZCAtbyBvcHRpb25zPwpj
b21waWxlcl9jX289IiIKCiMgV2hldGhlciBvciBub3QgdG8gYWRkIC1sYyBm
b3IgYnVpbGRpbmcgc2hhcmVkIGxpYnJhcmllcy4KYnVpbGRfbGlidG9vbF9u
ZWVkX2xjPW5vCgojIFdoZXRoZXIgb3Igbm90IHRvIGRpc2FsbG93IHNoYXJl
ZCBsaWJzIHdoZW4gcnVudGltZSBsaWJzIGFyZSBzdGF0aWMuCmFsbG93X2xp
YnRvb2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcz0KCiMgQ29tcGlsZXIg
ZmxhZyB0byBhbGxvdyByZWZsZXhpdmUgZGxvcGVucy4KZXhwb3J0X2R5bmFt
aWNfZmxhZ19zcGVjPSIiCgojIENvbXBpbGVyIGZsYWcgdG8gZ2VuZXJhdGUg
c2hhcmVkIG9iamVjdHMgZGlyZWN0bHkgZnJvbSBhcmNoaXZlcy4Kd2hvbGVf
YXJjaGl2ZV9mbGFnX3NwZWM9IiIKCiMgV2hldGhlciB0aGUgY29tcGlsZXIg
Y29wZXMgd2l0aCBwYXNzaW5nIG5vIG9iamVjdHMgZGlyZWN0bHkuCmNvbXBp
bGVyX25lZWRzX29iamVjdD0iIgoKIyBDcmVhdGUgYW4gb2xkLXN0eWxlIGFy
Y2hpdmUgZnJvbSBhIHNoYXJlZCBhcmNoaXZlLgpvbGRfYXJjaGl2ZV9mcm9t
X25ld19jbWRzPSIiCgojIENyZWF0ZSBhIHRlbXBvcmFyeSBvbGQtc3R5bGUg
YXJjaGl2ZSB0byBsaW5rIGluc3RlYWQgb2YgYSBzaGFyZWQgYXJjaGl2ZS4K
b2xkX2FyY2hpdmVfZnJvbV9leHBzeW1zX2NtZHM9IiIKCiMgQ29tbWFuZHMg
dXNlZCB0byBidWlsZCBhIHNoYXJlZCBhcmNoaXZlLgphcmNoaXZlX2NtZHM9
IiIKYXJjaGl2ZV9leHBzeW1fY21kcz0iIgoKIyBDb21tYW5kcyB1c2VkIHRv
IGJ1aWxkIGEgbG9hZGFibGUgbW9kdWxlIGlmIGRpZmZlcmVudCBmcm9tIGJ1
aWxkaW5nCiMgYSBzaGFyZWQgYXJjaGl2ZS4KbW9kdWxlX2NtZHM9IiIKbW9k
dWxlX2V4cHN5bV9jbWRzPSIiCgojIFdoZXRoZXIgd2UgYXJlIGJ1aWxkaW5n
IHdpdGggR05VIGxkIG9yIG5vdC4Kd2l0aF9nbnVfbGQ9IiIKCiMgRmxhZyB0
aGF0IGFsbG93cyBzaGFyZWQgbGlicmFyaWVzIHdpdGggdW5kZWZpbmVkIHN5
bWJvbHMgdG8gYmUgYnVpbHQuCmFsbG93X3VuZGVmaW5lZF9mbGFnPSIiCgoj
IEZsYWcgdGhhdCBlbmZvcmNlcyBubyB1bmRlZmluZWQgc3ltYm9scy4Kbm9f
dW5kZWZpbmVkX2ZsYWc9IiIKCiMgRmxhZyB0byBoYXJkY29kZSAkbGliZGly
IGludG8gYSBiaW5hcnkgZHVyaW5nIGxpbmtpbmcuCiMgVGhpcyBtdXN0IHdv
cmsgZXZlbiBpZiAkbGliZGlyIGRvZXMgbm90IGV4aXN0CmhhcmRjb2RlX2xp
YmRpcl9mbGFnX3NwZWM9IiIKCiMgSWYgbGQgaXMgdXNlZCB3aGVuIGxpbmtp
bmcsIGZsYWcgdG8gaGFyZGNvZGUgJGxpYmRpciBpbnRvIGEgYmluYXJ5CiMg
ZHVyaW5nIGxpbmtpbmcuICBUaGlzIG11c3Qgd29yayBldmVuIGlmICRsaWJk
aXIgZG9lcyBub3QgZXhpc3QuCmhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNf
bGQ9IiIKCiMgV2hldGhlciB3ZSBuZWVkIGEgc2luZ2xlICItcnBhdGgiIGZs
YWcgd2l0aCBhIHNlcGFyYXRlZCBhcmd1bWVudC4KaGFyZGNvZGVfbGliZGly
X3NlcGFyYXRvcj0iIgoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgRElSL2xp
Yk5BTUUke3NoYXJlZF9leHR9IGR1cmluZyBsaW5raW5nIGhhcmRjb2Rlcwoj
IERJUiBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9kaXJl
Y3Q9CgojIFNldCB0byAieWVzIiBpZiB1c2luZyBESVIvbGliTkFNRSR7c2hh
cmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzCiMgRElSIGludG8g
dGhlIHJlc3VsdGluZyBiaW5hcnkgYW5kIHRoZSByZXN1bHRpbmcgbGlicmFy
eSBkZXBlbmRlbmN5IGlzCiMgImFic29sdXRlIixpLmUgaW1wb3NzaWJsZSB0
byBjaGFuZ2UgYnkgc2V0dGluZyAke3NobGlicGF0aF92YXJ9IGlmIHRoZQoj
IGxpYnJhcnkgaXMgcmVsb2NhdGVkLgpoYXJkY29kZV9kaXJlY3RfYWJzb2x1
dGU9CgojIFNldCB0byAieWVzIiBpZiB1c2luZyB0aGUgLUxESVIgZmxhZyBk
dXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgcmVzdWx0
aW5nIGJpbmFyeS4KaGFyZGNvZGVfbWludXNfTD0KCiMgU2V0IHRvICJ5ZXMi
IGlmIHVzaW5nIFNITElCUEFUSF9WQVI9RElSIGR1cmluZyBsaW5raW5nIGhh
cmRjb2RlcyBESVIKIyBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJk
Y29kZV9zaGxpYnBhdGhfdmFyPQoKIyBTZXQgdG8gInllcyIgaWYgYnVpbGRp
bmcgYSBzaGFyZWQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGhhcmRjb2RlcyBE
SVIKIyBpbnRvIHRoZSBsaWJyYXJ5IGFuZCBhbGwgc3Vic2VxdWVudCBsaWJy
YXJpZXMgYW5kIGV4ZWN1dGFibGVzIGxpbmtlZAojIGFnYWluc3QgaXQuCmhh
cmRjb2RlX2F1dG9tYXRpYz0KCiMgU2V0IHRvIHllcyBpZiBsaW5rZXIgYWRk
cyBydW50aW1lIHBhdGhzIG9mIGRlcGVuZGVudCBsaWJyYXJpZXMKIyB0byBy
dW50aW1lIHBhdGggbGlzdC4KaW5oZXJpdF9ycGF0aD0KCiMgV2hldGhlciBs
aWJ0b29sIG11c3QgbGluayBhIHByb2dyYW0gYWdhaW5zdCBhbGwgaXRzIGRl
cGVuZGVuY3kgbGlicmFyaWVzLgpsaW5rX2FsbF9kZXBsaWJzPQoKIyBTZXQg
dG8gInllcyIgaWYgZXhwb3J0ZWQgc3ltYm9scyBhcmUgcmVxdWlyZWQuCmFs
d2F5c19leHBvcnRfc3ltYm9scz0KCiMgVGhlIGNvbW1hbmRzIHRvIGxpc3Qg
ZXhwb3J0ZWQgc3ltYm9scy4KZXhwb3J0X3N5bWJvbHNfY21kcz0iIgoKIyBT
eW1ib2xzIHRoYXQgc2hvdWxkIG5vdCBiZSBsaXN0ZWQgaW4gdGhlIHByZWxv
YWRlZCBzeW1ib2xzLgpleGNsdWRlX2V4cHN5bXM9IiIKCiMgU3ltYm9scyB0
aGF0IG11c3QgYWx3YXlzIGJlIGV4cG9ydGVkLgppbmNsdWRlX2V4cHN5bXM9
IiIKCiMgQ29tbWFuZHMgbmVjZXNzYXJ5IGZvciBsaW5raW5nIHByb2dyYW1z
IChhZ2FpbnN0IGxpYnJhcmllcykgd2l0aCB0ZW1wbGF0ZXMuCnByZWxpbmtf
Y21kcz0iIgoKIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGZpbmlzaGluZyBs
aW5raW5nIHByb2dyYW1zLgpwb3N0bGlua19jbWRzPSIiCgojIFNwZWNpZnkg
ZmlsZW5hbWUgY29udGFpbmluZyBpbnB1dCBmaWxlcy4KZmlsZV9saXN0X3Nw
ZWM9IiIKCiMgSG93IHRvIGhhcmRjb2RlIGEgc2hhcmVkIGxpYnJhcnkgcGF0
aCBpbnRvIGFuIGV4ZWN1dGFibGUuCmhhcmRjb2RlX2FjdGlvbj0KCiMgVGhl
IGRpcmVjdG9yaWVzIHNlYXJjaGVkIGJ5IHRoaXMgY29tcGlsZXIgd2hlbiBj
cmVhdGluZyBhIHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2VhcmNo
X2RpcnM9IiIKCiMgRGVwZW5kZW5jaWVzIHRvIHBsYWNlIGJlZm9yZSBhbmQg
YWZ0ZXIgdGhlIG9iamVjdHMgYmVpbmcgbGlua2VkIHRvCiMgY3JlYXRlIGEg
c2hhcmVkIGxpYnJhcnkuCnByZWRlcF9vYmplY3RzPSIiCnBvc3RkZXBfb2Jq
ZWN0cz0iIgpwcmVkZXBzPSIiCnBvc3RkZXBzPSIiCgojIFRoZSBsaWJyYXJ5
IHNlYXJjaCBwYXRoIHVzZWQgaW50ZXJuYWxseSBieSB0aGUgY29tcGlsZXIg
d2hlbiBsaW5raW5nCiMgYSBzaGFyZWQgbGlicmFyeS4KY29tcGlsZXJfbGli
X3NlYXJjaF9wYXRoPSIiCgojICMjIyBFTkQgTElCVE9PTCBUQUcgQ09ORklH
OiBHQ0oKCiMgIyMjIEJFR0lOIExJQlRPT0wgVEFHIENPTkZJRzogUkMKCiMg
VGhlIGxpbmtlciB1c2VkIHRvIGJ1aWxkIGxpYnJhcmllcy4KTEQ9IiIKCiMg
SG93IHRvIGNyZWF0ZSByZWxvYWRhYmxlIG9iamVjdCBmaWxlcy4KcmVsb2Fk
X2ZsYWc9IiIKcmVsb2FkX2NtZHM9IiIKCiMgQ29tbWFuZHMgdXNlZCB0byBi
dWlsZCBhbiBvbGQtc3R5bGUgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfY21kcz0i
IgoKIyBBIGxhbmd1YWdlIHNwZWNpZmljIGNvbXBpbGVyLgpDQz0id2luZHJl
cyIKCiMgSXMgdGhlIGNvbXBpbGVyIHRoZSBHTlUgY29tcGlsZXI/CndpdGhf
Z2NjPQoKIyBDb21waWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1aWx0aW4gZnVu
Y3Rpb25zLgpub19idWlsdGluX2ZsYWc9IiIKCiMgQWRkaXRpb25hbCBjb21w
aWxlciBmbGFncyBmb3IgYnVpbGRpbmcgbGlicmFyeSBvYmplY3RzLgpwaWNf
ZmxhZz0iIgoKIyBIb3cgdG8gcGFzcyBhIGxpbmtlciBmbGFnIHRocm91Z2gg
dGhlIGNvbXBpbGVyLgp3bD0iIgoKIyBDb21waWxlciBmbGFnIHRvIHByZXZl
bnQgZHluYW1pYyBsaW5raW5nLgpsaW5rX3N0YXRpY19mbGFnPSIiCgojIERv
ZXMgY29tcGlsZXIgc2ltdWx0YW5lb3VzbHkgc3VwcG9ydCAtYyBhbmQgLW8g
b3B0aW9ucz8KY29tcGlsZXJfY19vPSJ5ZXMiCgojIFdoZXRoZXIgb3Igbm90
IHRvIGFkZCAtbGMgZm9yIGJ1aWxkaW5nIHNoYXJlZCBsaWJyYXJpZXMuCmJ1
aWxkX2xpYnRvb2xfbmVlZF9sYz0KCiMgV2hldGhlciBvciBub3QgdG8gZGlz
YWxsb3cgc2hhcmVkIGxpYnMgd2hlbiBydW50aW1lIGxpYnMgYXJlIHN0YXRp
Yy4KYWxsb3dfbGlidG9vbF9saWJzX3dpdGhfc3RhdGljX3J1bnRpbWVzPQoK
IyBDb21waWxlciBmbGFnIHRvIGFsbG93IHJlZmxleGl2ZSBkbG9wZW5zLgpl
eHBvcnRfZHluYW1pY19mbGFnX3NwZWM9IiIKCiMgQ29tcGlsZXIgZmxhZyB0
byBnZW5lcmF0ZSBzaGFyZWQgb2JqZWN0cyBkaXJlY3RseSBmcm9tIGFyY2hp
dmVzLgp3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0iIgoKIyBXaGV0aGVyIHRo
ZSBjb21waWxlciBjb3BlcyB3aXRoIHBhc3Npbmcgbm8gb2JqZWN0cyBkaXJl
Y3RseS4KY29tcGlsZXJfbmVlZHNfb2JqZWN0PSIiCgojIENyZWF0ZSBhbiBv
bGQtc3R5bGUgYXJjaGl2ZSBmcm9tIGEgc2hhcmVkIGFyY2hpdmUuCm9sZF9h
cmNoaXZlX2Zyb21fbmV3X2NtZHM9IiIKCiMgQ3JlYXRlIGEgdGVtcG9yYXJ5
IG9sZC1zdHlsZSBhcmNoaXZlIHRvIGxpbmsgaW5zdGVhZCBvZiBhIHNoYXJl
ZCBhcmNoaXZlLgpvbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kcz0iIgoK
IyBDb21tYW5kcyB1c2VkIHRvIGJ1aWxkIGEgc2hhcmVkIGFyY2hpdmUuCmFy
Y2hpdmVfY21kcz0iIgphcmNoaXZlX2V4cHN5bV9jbWRzPSIiCgojIENvbW1h
bmRzIHVzZWQgdG8gYnVpbGQgYSBsb2FkYWJsZSBtb2R1bGUgaWYgZGlmZmVy
ZW50IGZyb20gYnVpbGRpbmcKIyBhIHNoYXJlZCBhcmNoaXZlLgptb2R1bGVf
Y21kcz0iIgptb2R1bGVfZXhwc3ltX2NtZHM9IiIKCiMgV2hldGhlciB3ZSBh
cmUgYnVpbGRpbmcgd2l0aCBHTlUgbGQgb3Igbm90Lgp3aXRoX2dudV9sZD0i
IgoKIyBGbGFnIHRoYXQgYWxsb3dzIHNoYXJlZCBsaWJyYXJpZXMgd2l0aCB1
bmRlZmluZWQgc3ltYm9scyB0byBiZSBidWlsdC4KYWxsb3dfdW5kZWZpbmVk
X2ZsYWc9IiIKCiMgRmxhZyB0aGF0IGVuZm9yY2VzIG5vIHVuZGVmaW5lZCBz
eW1ib2xzLgpub191bmRlZmluZWRfZmxhZz0iIgoKIyBGbGFnIHRvIGhhcmRj
b2RlICRsaWJkaXIgaW50byBhIGJpbmFyeSBkdXJpbmcgbGlua2luZy4KIyBU
aGlzIG11c3Qgd29yayBldmVuIGlmICRsaWJkaXIgZG9lcyBub3QgZXhpc3QK
aGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0iIgoKIyBJZiBsZCBpcyB1c2Vk
IHdoZW4gbGlua2luZywgZmxhZyB0byBoYXJkY29kZSAkbGliZGlyIGludG8g
YSBiaW5hcnkKIyBkdXJpbmcgbGlua2luZy4gIFRoaXMgbXVzdCB3b3JrIGV2
ZW4gaWYgJGxpYmRpciBkb2VzIG5vdCBleGlzdC4KaGFyZGNvZGVfbGliZGly
X2ZsYWdfc3BlY19sZD0iIgoKIyBXaGV0aGVyIHdlIG5lZWQgYSBzaW5nbGUg
Ii1ycGF0aCIgZmxhZyB3aXRoIGEgc2VwYXJhdGVkIGFyZ3VtZW50LgpoYXJk
Y29kZV9saWJkaXJfc2VwYXJhdG9yPSIiCgojIFNldCB0byAieWVzIiBpZiB1
c2luZyBESVIvbGliTkFNRSR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcg
aGFyZGNvZGVzCiMgRElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhh
cmRjb2RlX2RpcmVjdD0KCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5nIERJUi9s
aWJOQU1FJHtzaGFyZWRfZXh0fSBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMK
IyBESVIgaW50byB0aGUgcmVzdWx0aW5nIGJpbmFyeSBhbmQgdGhlIHJlc3Vs
dGluZyBsaWJyYXJ5IGRlcGVuZGVuY3kgaXMKIyAiYWJzb2x1dGUiLGkuZSBp
bXBvc3NpYmxlIHRvIGNoYW5nZSBieSBzZXR0aW5nICR7c2hsaWJwYXRoX3Zh
cn0gaWYgdGhlCiMgbGlicmFyeSBpcyByZWxvY2F0ZWQuCmhhcmRjb2RlX2Rp
cmVjdF9hYnNvbHV0ZT0KCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5nIHRoZSAt
TERJUiBmbGFnIGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcyBESVIKIyBpbnRv
IHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9taW51c19MPQoKIyBT
ZXQgdG8gInllcyIgaWYgdXNpbmcgU0hMSUJQQVRIX1ZBUj1ESVIgZHVyaW5n
IGxpbmtpbmcgaGFyZGNvZGVzIERJUgojIGludG8gdGhlIHJlc3VsdGluZyBi
aW5hcnkuCmhhcmRjb2RlX3NobGlicGF0aF92YXI9CgojIFNldCB0byAieWVz
IiBpZiBidWlsZGluZyBhIHNoYXJlZCBsaWJyYXJ5IGF1dG9tYXRpY2FsbHkg
aGFyZGNvZGVzIERJUgojIGludG8gdGhlIGxpYnJhcnkgYW5kIGFsbCBzdWJz
ZXF1ZW50IGxpYnJhcmllcyBhbmQgZXhlY3V0YWJsZXMgbGlua2VkCiMgYWdh
aW5zdCBpdC4KaGFyZGNvZGVfYXV0b21hdGljPQoKIyBTZXQgdG8geWVzIGlm
IGxpbmtlciBhZGRzIHJ1bnRpbWUgcGF0aHMgb2YgZGVwZW5kZW50IGxpYnJh
cmllcwojIHRvIHJ1bnRpbWUgcGF0aCBsaXN0Lgppbmhlcml0X3JwYXRoPQoK
IyBXaGV0aGVyIGxpYnRvb2wgbXVzdCBsaW5rIGEgcHJvZ3JhbSBhZ2FpbnN0
IGFsbCBpdHMgZGVwZW5kZW5jeSBsaWJyYXJpZXMuCmxpbmtfYWxsX2RlcGxp
YnM9CgojIFNldCB0byAieWVzIiBpZiBleHBvcnRlZCBzeW1ib2xzIGFyZSBy
ZXF1aXJlZC4KYWx3YXlzX2V4cG9ydF9zeW1ib2xzPQoKIyBUaGUgY29tbWFu
ZHMgdG8gbGlzdCBleHBvcnRlZCBzeW1ib2xzLgpleHBvcnRfc3ltYm9sc19j
bWRzPSIiCgojIFN5bWJvbHMgdGhhdCBzaG91bGQgbm90IGJlIGxpc3RlZCBp
biB0aGUgcHJlbG9hZGVkIHN5bWJvbHMuCmV4Y2x1ZGVfZXhwc3ltcz0iIgoK
IyBTeW1ib2xzIHRoYXQgbXVzdCBhbHdheXMgYmUgZXhwb3J0ZWQuCmluY2x1
ZGVfZXhwc3ltcz0iIgoKIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGxpbmtp
bmcgcHJvZ3JhbXMgKGFnYWluc3QgbGlicmFyaWVzKSB3aXRoIHRlbXBsYXRl
cy4KcHJlbGlua19jbWRzPSIiCgojIENvbW1hbmRzIG5lY2Vzc2FyeSBmb3Ig
ZmluaXNoaW5nIGxpbmtpbmcgcHJvZ3JhbXMuCnBvc3RsaW5rX2NtZHM9IiIK
CiMgU3BlY2lmeSBmaWxlbmFtZSBjb250YWluaW5nIGlucHV0IGZpbGVzLgpm
aWxlX2xpc3Rfc3BlYz0iIgoKIyBIb3cgdG8gaGFyZGNvZGUgYSBzaGFyZWQg
bGlicmFyeSBwYXRoIGludG8gYW4gZXhlY3V0YWJsZS4KaGFyZGNvZGVfYWN0
aW9uPQoKIyBUaGUgZGlyZWN0b3JpZXMgc2VhcmNoZWQgYnkgdGhpcyBjb21w
aWxlciB3aGVuIGNyZWF0aW5nIGEgc2hhcmVkIGxpYnJhcnkuCmNvbXBpbGVy
X2xpYl9zZWFyY2hfZGlycz0iIgoKIyBEZXBlbmRlbmNpZXMgdG8gcGxhY2Ug
YmVmb3JlIGFuZCBhZnRlciB0aGUgb2JqZWN0cyBiZWluZyBsaW5rZWQgdG8K
IyBjcmVhdGUgYSBzaGFyZWQgbGlicmFyeS4KcHJlZGVwX29iamVjdHM9IiIK
cG9zdGRlcF9vYmplY3RzPSIiCnByZWRlcHM9IiIKcG9zdGRlcHM9IiIKCiMg
VGhlIGxpYnJhcnkgc2VhcmNoIHBhdGggdXNlZCBpbnRlcm5hbGx5IGJ5IHRo
ZSBjb21waWxlciB3aGVuIGxpbmtpbmcKIyBhIHNoYXJlZCBsaWJyYXJ5Lgpj
b21waWxlcl9saWJfc2VhcmNoX3BhdGg9IiIKCiMgIyMjIEVORCBMSUJUT09M
IFRBRyBDT05GSUc6IFJDCg==

--_----------=_13840355941782731
Content-Disposition: attachment; filename="libtool"
Content-Transfer-Encoding: base64
Content-Type: application/octet-stream; name="libtool"

IyEgL2Jpbi9zaAoKIyBsaWJ0b29sIC0gUHJvdmlkZSBnZW5lcmFsaXplZCBs
aWJyYXJ5LWJ1aWxkaW5nIHN1cHBvcnQgc2VydmljZXMuCiMgR2VuZXJhdGVk
IGF1dG9tYXRpY2FsbHkgYnkgY29uZmlnLnN0YXR1cyAobGlidG9vbCkgMi40
LjIKIyBMaWJ0b29sIHdhcyBjb25maWd1cmVkIG9uIGhvc3QgdGlsbDoKIyBO
T1RFOiBDaGFuZ2VzIG1hZGUgdG8gdGhpcyBmaWxlIHdpbGwgYmUgbG9zdDog
bG9vayBhdCBsdG1haW4uc2guCiMKIyAgIENvcHlyaWdodCAoQykgMTk5Niwg
MTk5NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMywgMjAwNCwgMjAw
NSwKIyAgICAgICAgICAgICAgICAgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwg
MjAxMCwgMjAxMSBGcmVlIFNvZnR3YXJlCiMgICAgICAgICAgICAgICAgIEZv
dW5kYXRpb24sIEluYy4KIyAgIFdyaXR0ZW4gYnkgR29yZG9uIE1hdHppZ2tl
aXQsIDE5OTYKIwojICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIExpYnRv
b2wuCiMKIyBHTlUgTGlidG9vbCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKIyBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwoj
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIgdmVyc2lvbiAyIG9mCiMgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBBcyBhIHNwZWNpYWwg
ZXhjZXB0aW9uIHRvIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwK
IyBpZiB5b3UgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHBy
b2dyYW0gb3IgbGlicmFyeSB0aGF0CiMgaXMgYnVpbHQgdXNpbmcgR05VIExp
YnRvb2wsIHlvdSBtYXkgaW5jbHVkZSB0aGlzIGZpbGUgdW5kZXIgdGhlCiMg
c2FtZSBkaXN0cmlidXRpb24gdGVybXMgdGhhdCB5b3UgdXNlIGZvciB0aGUg
cmVzdCBvZiB0aGF0IHByb2dyYW0uCiMKIyBHTlUgTGlidG9vbCBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAoj
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMKIyBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggR05VIExpYnRvb2w7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAgSWYgbm90LCBhIGNvcHkKIyBjYW4g
YmUgZG93bmxvYWRlZCBmcm9tIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl
cy9ncGwuaHRtbCwgb3IKIyBvYnRhaW5lZCBieSB3cml0aW5nIHRvIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCiMgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCgoKIyBUaGUgbmFtZXMgb2YgdGhlIHRhZ2dlZCBjb25maWd1cmF0aW9u
cyBzdXBwb3J0ZWQgYnkgdGhpcyBzY3JpcHQuCmF2YWlsYWJsZV90YWdzPSJD
WFggRjc3IEZDIEdPIEdDSiBSQyAiCgojICMjIyBCRUdJTiBMSUJUT09MIENP
TkZJRwoKIyBXaGljaCByZWxlYXNlIG9mIGxpYnRvb2wubTQgd2FzIHVzZWQ/
Cm1hY3JvX3ZlcnNpb249Mi40LjIKbWFjcm9fcmV2aXNpb249MS4zMzM3Cgoj
IEFzc2VtYmxlciBwcm9ncmFtLgpBUz0iYXMiCgojIERMTCBjcmVhdGlvbiBw
cm9ncmFtLgpETExUT09MPSJkbGx0b29sIgoKIyBPYmplY3QgZHVtcGVyIHBy
b2dyYW0uCk9CSkRVTVA9Im9iamR1bXAiCgojIFdoZXRoZXIgb3Igbm90IHRv
IGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMuCmJ1aWxkX2xpYnRvb2xfbGlicz15
ZXMKCiMgV2hldGhlciBvciBub3QgdG8gYnVpbGQgc3RhdGljIGxpYnJhcmll
cy4KYnVpbGRfb2xkX2xpYnM9eWVzCgojIFdoYXQgdHlwZSBvZiBvYmplY3Rz
IHRvIGJ1aWxkLgpwaWNfbW9kZT1kZWZhdWx0CgojIFdoZXRoZXIgb3Igbm90
IHRvIG9wdGltaXplIGZvciBmYXN0IGluc3RhbGxhdGlvbi4KZmFzdF9pbnN0
YWxsPW5lZWRsZXNzCgojIFNoZWxsIHRvIHVzZSB3aGVuIGludm9raW5nIHNo
ZWxsIHNjcmlwdHMuClNIRUxMPSIvYmluL3NoIgoKIyBBbiBlY2hvIHByb2dy
YW0gdGhhdCBwcm90ZWN0cyBiYWNrc2xhc2hlcy4KRUNITz0icHJpbnRmICVz
XFxuIgoKIyBUaGUgUEFUSCBzZXBhcmF0b3IgZm9yIHRoZSBidWlsZCBzeXN0
ZW0uClBBVEhfU0VQQVJBVE9SPSI6IgoKIyBUaGUgaG9zdCBzeXN0ZW0uCmhv
c3RfYWxpYXM9Cmhvc3Q9aTY4Ni1wYy1taW5ndzMyCmhvc3Rfb3M9bWluZ3cz
MgoKIyBUaGUgYnVpbGQgc3lzdGVtLgpidWlsZF9hbGlhcz0KYnVpbGQ9aTY4
Ni1wYy1taW5ndzMyCmJ1aWxkX29zPW1pbmd3MzIKCiMgQSBzZWQgcHJvZ3Jh
bSB0aGF0IGRvZXMgbm90IHRydW5jYXRlIG91dHB1dC4KU0VEPSIvYmluL3Nl
ZCIKCiMgU2VkIHRoYXQgaGVscHMgdXMgYXZvaWQgYWNjaWRlbnRhbGx5IHRy
aWdnZXJpbmcgZWNobygxKSBvcHRpb25zIGxpa2UgLW4uClhzZWQ9IiRTRUQg
LWUgMXMvXlgvLyIKCiMgQSBncmVwIHByb2dyYW0gdGhhdCBoYW5kbGVzIGxv
bmcgbGluZXMuCkdSRVA9Ii9iaW4vZ3JlcCIKCiMgQW4gRVJFIG1hdGNoZXIu
CkVHUkVQPSIvYmluL2dyZXAgLUUiCgojIEEgbGl0ZXJhbCBzdHJpbmcgbWF0
Y2hlci4KRkdSRVA9Ii9iaW4vZ3JlcCAtRiIKCiMgQSBCU0QtIG9yIE1TLWNv
bXBhdGlibGUgbmFtZSBsaXN0ZXIuCk5NPSIvYmluL25tIC1CIgoKIyBXaGV0
aGVyIHdlIG5lZWQgc29mdCBvciBoYXJkIGxpbmtzLgpMTl9TPSJjcCAtcCIK
CiMgV2hhdCBpcyB0aGUgbWF4aW11bSBsZW5ndGggb2YgYSBjb21tYW5kPwpt
YXhfY21kX2xlbj04MTkyCgojIE9iamVjdCBmaWxlIHN1ZmZpeCAobm9ybWFs
bHkgIm8iKS4Kb2JqZXh0PW8KCiMgRXhlY3V0YWJsZSBmaWxlIHN1ZmZpeCAo
bm9ybWFsbHkgIiIpLgpleGVleHQ9CgojIHdoZXRoZXIgdGhlIHNoZWxsIHVu
ZGVyc3RhbmRzICJ1bnNldCIuCmx0X3Vuc2V0PXVuc2V0CgojIHR1cm4gc3Bh
Y2VzIGludG8gbmV3bGluZXMuClNQMk5MPSJ0ciBcXDA0MCBcXDAxMiIKCiMg
dHVybiBuZXdsaW5lcyBpbnRvIHNwYWNlcy4KTkwyU1A9InRyIFxcMDE1XFww
MTIgXFwwNDBcXDA0MCIKCiMgY29udmVydCAkYnVpbGQgZmlsZSBuYW1lcyB0
byAkaG9zdCBmb3JtYXQuCnRvX2hvc3RfZmlsZV9jbWQ9ZnVuY19jb252ZXJ0
X2ZpbGVfbXN5c190b193MzIKCiMgY29udmVydCAkYnVpbGQgZmlsZXMgdG8g
dG9vbGNoYWluIGZvcm1hdC4KdG9fdG9vbF9maWxlX2NtZD1mdW5jX2NvbnZl
cnRfZmlsZV9tc3lzX3RvX3czMgoKIyBNZXRob2QgdG8gY2hlY2sgd2hldGhl
ciBkZXBlbmRlbnQgbGlicmFyaWVzIGFyZSBzaGFyZWQgb2JqZWN0cy4KZGVw
bGlic19jaGVja19tZXRob2Q9ImZpbGVfbWFnaWMgXng4NiBhcmNoaXZlIGlt
cG9ydHxeeDg2IERMTCIKCiMgQ29tbWFuZCB0byB1c2Ugd2hlbiBkZXBsaWJz
X2NoZWNrX21ldGhvZCA9ICJmaWxlX21hZ2ljIi4KZmlsZV9tYWdpY19jbWQ9
ImZ1bmNfd2luMzJfbGliaWQiCgojIEhvdyB0byBmaW5kIHBvdGVudGlhbCBm
aWxlcyB3aGVuIGRlcGxpYnNfY2hlY2tfbWV0aG9kID0gImZpbGVfbWFnaWMi
LgpmaWxlX21hZ2ljX2dsb2I9IiIKCiMgRmluZCBwb3RlbnRpYWwgZmlsZXMg
dXNpbmcgbm9jYXNlZ2xvYiB3aGVuIGRlcGxpYnNfY2hlY2tfbWV0aG9kID0g
ImZpbGVfbWFnaWMiLgp3YW50X25vY2FzZWdsb2I9InllcyIKCiMgQ29tbWFu
ZCB0byBhc3NvY2lhdGUgc2hhcmVkIGFuZCBsaW5rIGxpYnJhcmllcy4Kc2hh
cmVkbGliX2Zyb21fbGlua2xpYl9jbWQ9ImZ1bmNfY3lnbWluZ19kbGxfZm9y
X2ltcGxpYiIKCiMgVGhlIGFyY2hpdmVyLgpBUj0iYXIiCgojIEZsYWdzIHRv
IGNyZWF0ZSBhbiBhcmNoaXZlLgpBUl9GTEFHUz0iY3J1IgoKIyBIb3cgdG8g
ZmVlZCBhIGZpbGUgbGlzdGluZyB0byB0aGUgYXJjaGl2ZXIuCmFyY2hpdmVy
X2xpc3Rfc3BlYz0iQCIKCiMgQSBzeW1ib2wgc3RyaXBwaW5nIHByb2dyYW0u
ClNUUklQPSJzdHJpcCIKCiMgQ29tbWFuZHMgdXNlZCB0byBpbnN0YWxsIGFu
IG9sZC1zdHlsZSBhcmNoaXZlLgpSQU5MSUI9InJhbmxpYiIKb2xkX3Bvc3Rp
bnN0YWxsX2NtZHM9ImNobW9kIDY0NCBcJG9sZGxpYn5cJFJBTkxJQiBcJHRv
b2xfb2xkbGliIgpvbGRfcG9zdHVuaW5zdGFsbF9jbWRzPSIiCgojIFdoZXRo
ZXIgdG8gdXNlIGEgbG9jayBmb3Igb2xkIGFyY2hpdmUgZXh0cmFjdGlvbi4K
bG9ja19vbGRfYXJjaGl2ZV9leHRyYWN0aW9uPW5vCgojIEEgQyBjb21waWxl
ci4KTFRDQz0iZ2NjIgoKIyBMVENDIGNvbXBpbGVyIGZsYWdzLgpMVENGTEFH
Uz0iLWcgLU8yIgoKIyBUYWtlIHRoZSBvdXRwdXQgb2Ygbm0gYW5kIHByb2R1
Y2UgYSBsaXN0aW5nIG9mIHJhdyBzeW1ib2xzIGFuZCBDIG5hbWVzLgpnbG9i
YWxfc3ltYm9sX3BpcGU9InNlZCAtbiAtZSAncy9eLipbCSBdXFwoW0FCQ0RH
SVJTVFddW0FCQ0RHSVJTVFddKlxcKVsJIF1bCSBdKl9cXChbX0EtWmEtel1b
X0EtWmEtejAtOV0qXFwpXFx7MCwxXFx9XCQvXFwxIF9cXDIgXFwyL3AnIHwg
c2VkICcvIF9fZ251X2x0by9kJyIKCiMgVHJhbnNmb3JtIHRoZSBvdXRwdXQg
b2Ygbm0gaW4gYSBwcm9wZXIgQyBkZWNsYXJhdGlvbi4KZ2xvYmFsX3N5bWJv
bF90b19jZGVjbD0ic2VkIC1uIC1lICdzL15UIC4qIFxcKC4qXFwpXCQvZXh0
ZXJuIGludCBcXDEoKTsvcCcgLWUgJ3MvXltBQkNER0lSU1RXXSogLiogXFwo
LipcXClcJC9leHRlcm4gY2hhciBcXDE7L3AnIgoKIyBUcmFuc2Zvcm0gdGhl
IG91dHB1dCBvZiBubSBpbiBhIEMgbmFtZSBhZGRyZXNzIHBhaXIuCmdsb2Jh
bF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9InNlZCAtbiAtZSAncy9eOiBc
XChbXiBdKlxcKVsgXSpcJC8gIHtcXFwiXFwxXFxcIiwgKHZvaWQgKikgMH0s
L3AnIC1lICdzL15bQUJDREdJUlNUV10qIFxcKFteIF0qXFwpIFxcKFteIF0q
XFwpXCQvICB7XCJcXDJcIiwgKHZvaWQgKikgXFwmXFwyfSwvcCciCgojIFRy
YW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3Mg
cGFpciB3aGVuIGxpYiBwcmVmaXggaXMgbmVlZGVkLgpnbG9iYWxfc3ltYm9s
X3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9InNlZCAtbiAtZSAncy9e
OiBcXChbXiBdKlxcKVsgXSpcJC8gIHtcXFwiXFwxXFxcIiwgKHZvaWQgKikg
MH0sL3AnIC1lICdzL15bQUJDREdJUlNUV10qIFxcKFteIF0qXFwpIFxcKGxp
YlteIF0qXFwpXCQvICB7XCJcXDJcIiwgKHZvaWQgKikgXFwmXFwyfSwvcCcg
LWUgJ3MvXltBQkNER0lSU1RXXSogXFwoW14gXSpcXCkgXFwoW14gXSpcXClc
JC8gIHtcImxpYlxcMlwiLCAodm9pZCAqKSBcXCZcXDJ9LC9wJyIKCiMgU3Bl
Y2lmeSBmaWxlbmFtZSBjb250YWluaW5nIGlucHV0IGZpbGVzIGZvciAkTk0u
Cm5tX2ZpbGVfbGlzdF9zcGVjPSJAIgoKIyBUaGUgcm9vdCB3aGVyZSB0byBz
ZWFyY2ggZm9yIGRlcGVuZGVudCBsaWJyYXJpZXMsYW5kIGluIHdoaWNoIG91
ciBsaWJyYXJpZXMgc2hvdWxkIGJlIGluc3RhbGxlZC4KbHRfc3lzcm9vdD0K
CiMgVGhlIG5hbWUgb2YgdGhlIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIHRl
bXBvcmFyeSBsaWJ0b29sIGZpbGVzLgpvYmpkaXI9LmxpYnMKCiMgVXNlZCB0
byBleGFtaW5lIGxpYnJhcmllcyB3aGVuIGZpbGVfbWFnaWNfY21kIGJlZ2lu
cyB3aXRoICJmaWxlIi4KTUFHSUNfQ01EPWZpbGUKCiMgTXVzdCB3ZSBsb2Nr
IGZpbGVzIHdoZW4gZG9pbmcgY29tcGlsYXRpb24/Cm5lZWRfbG9ja3M9Im5v
IgoKIyBNYW5pZmVzdCB0b29sLgpNQU5JRkVTVF9UT09MPSI6IgoKIyBUb29s
IHRvIG1hbmlwdWxhdGUgYXJjaGl2ZWQgRFdBUkYgZGVidWcgc3ltYm9sIGZp
bGVzIG9uIE1hYyBPUyBYLgpEU1lNVVRJTD0iIgoKIyBUb29sIHRvIGNoYW5n
ZSBnbG9iYWwgdG8gbG9jYWwgc3ltYm9scyBvbiBNYWMgT1MgWC4KTk1FRElU
PSIiCgojIFRvb2wgdG8gbWFuaXB1bGF0ZSBmYXQgb2JqZWN0cyBhbmQgYXJj
aGl2ZXMgb24gTWFjIE9TIFguCkxJUE89IiIKCiMgbGRkL3JlYWRlbGYgbGlr
ZSB0b29sIGZvciBNYWNoLU8gYmluYXJpZXMgb24gTWFjIE9TIFguCk9UT09M
PSIiCgojIGxkZC9yZWFkZWxmIGxpa2UgdG9vbCBmb3IgNjQgYml0IE1hY2gt
TyBiaW5hcmllcyBvbiBNYWMgT1MgWCAxMC40LgpPVE9PTDY0PSIiCgojIE9s
ZCBhcmNoaXZlIHN1ZmZpeCAobm9ybWFsbHkgImEiKS4KbGliZXh0PWEKCiMg
U2hhcmVkIGxpYnJhcnkgc3VmZml4IChub3JtYWxseSAiLnNvIikuCnNocmV4
dF9jbWRzPSIuZGxsIgoKIyBUaGUgY29tbWFuZHMgdG8gZXh0cmFjdCB0aGUg
ZXhwb3J0ZWQgc3ltYm9sIGxpc3QgZnJvbSBhIHNoYXJlZCBhcmNoaXZlLgpl
eHRyYWN0X2V4cHN5bXNfY21kcz0iIgoKIyBWYXJpYWJsZXMgd2hvc2UgdmFs
dWVzIHNob3VsZCBiZSBzYXZlZCBpbiBsaWJ0b29sIHdyYXBwZXIgc2NyaXB0
cyBhbmQKIyByZXN0b3JlZCBhdCBsaW5rIHRpbWUuCnZhcmlhYmxlc19zYXZl
ZF9mb3JfcmVsaW5rPSJQQVRIIFBBVEggTERfUlVOX1BBVEggR0NDX0VYRUNf
UFJFRklYIENPTVBJTEVSX1BBVEggTElCUkFSWV9QQVRIIgoKIyBEbyB3ZSBu
ZWVkIHRoZSAibGliIiBwcmVmaXggZm9yIG1vZHVsZXM/Cm5lZWRfbGliX3By
ZWZpeD1ubwoKIyBEbyB3ZSBuZWVkIGEgdmVyc2lvbiBmb3IgbGlicmFyaWVz
PwpuZWVkX3ZlcnNpb249bm8KCiMgTGlicmFyeSB2ZXJzaW9uaW5nIHR5cGUu
CnZlcnNpb25fdHlwZT13aW5kb3dzCgojIFNoYXJlZCBsaWJyYXJ5IHJ1bnRp
bWUgcGF0aCB2YXJpYWJsZS4KcnVucGF0aF92YXI9TERfUlVOX1BBVEgKCiMg
U2hhcmVkIGxpYnJhcnkgcGF0aCB2YXJpYWJsZS4Kc2hsaWJwYXRoX3Zhcj1Q
QVRICgojIElzIHNobGlicGF0aCBzZWFyY2hlZCBiZWZvcmUgdGhlIGhhcmQt
Y29kZWQgbGlicmFyeSBzZWFyY2ggcGF0aD8Kc2hsaWJwYXRoX292ZXJyaWRl
c19ydW5wYXRoPXllcwoKIyBGb3JtYXQgb2YgbGlicmFyeSBuYW1lIHByZWZp
eC4KbGlibmFtZV9zcGVjPSJsaWJcJG5hbWUiCgojIExpc3Qgb2YgYXJjaGl2
ZSBuYW1lcy4gIEZpcnN0IG5hbWUgaXMgdGhlIHJlYWwgb25lLCB0aGUgcmVz
dCBhcmUgbGlua3MuCiMgVGhlIGxhc3QgbmFtZSBpcyB0aGUgb25lIHRoYXQg
dGhlIGxpbmtlciBmaW5kcyB3aXRoIC1sTkFNRQpsaWJyYXJ5X25hbWVzX3Nw
ZWM9IlwkbGlibmFtZS5kbGwuYSIKCiMgVGhlIGNvZGVkIG5hbWUgb2YgdGhl
IGxpYnJhcnksIGlmIGRpZmZlcmVudCBmcm9tIHRoZSByZWFsIG5hbWUuCnNv
bmFtZV9zcGVjPSJcJHtsaWJuYW1lfVxgZWNobyBcJHtyZWxlYXNlfSB8IFwk
U0VEIC1lIHMvWy5dLy0vZ1xgXCR7dmVyc3VmZml4fVwke3NoYXJlZF9leHR9
IgoKIyBQZXJtaXNzaW9uIG1vZGUgb3ZlcnJpZGUgZm9yIGluc3RhbGxhdGlv
biBvZiBzaGFyZWQgbGlicmFyaWVzLgppbnN0YWxsX292ZXJyaWRlX21vZGU9
IiIKCiMgQ29tbWFuZCB0byB1c2UgYWZ0ZXIgaW5zdGFsbGF0aW9uIG9mIGEg
c2hhcmVkIGFyY2hpdmUuCnBvc3RpbnN0YWxsX2NtZHM9ImJhc2VfZmlsZT1c
XFxgYmFzZW5hbWUgXFxcJHtmaWxlfVxcXGB+CiAgICAgIGRscGF0aD1cXFxg
XCRTSEVMTCAyPiYxIC1jICcuIFwkZGlyLydcXFwke2Jhc2VfZmlsZX0naTsg
ZWNobyBcXFwkZGxuYW1lJ1xcXGB+CiAgICAgIGRsZGlyPVwkZGVzdGRpci9c
XFxgZGlybmFtZSBcXFwkZGxwYXRoXFxcYH4KICAgICAgdGVzdCAtZCBcXFwk
ZGxkaXIgfHwgbWtkaXIgLXAgXFxcJGRsZGlyfgogICAgICBcJGluc3RhbGxf
cHJvZyBcJGRpci9cJGRsbmFtZSBcXFwkZGxkaXIvXCRkbG5hbWV+CiAgICAg
IGNobW9kIGEreCBcXFwkZGxkaXIvXCRkbG5hbWV+CiAgICAgIGlmIHRlc3Qg
LW4gJ1wkc3RyaXBtZScgJiYgdGVzdCAtbiAnXCRzdHJpcGxpYic7IHRoZW4K
ICAgICAgICBldmFsICdcJHN0cmlwbGliIFxcXCRkbGRpci9cJGRsbmFtZScg
fHwgZXhpdCBcXFwkPzsKICAgICAgZmkiCgojIENvbW1hbmQgdG8gdXNlIGFm
dGVyIHVuaW5zdGFsbGF0aW9uIG9mIGEgc2hhcmVkIGFyY2hpdmUuCnBvc3R1
bmluc3RhbGxfY21kcz0iZGxkbGw9XFxcYFwkU0hFTEwgMj4mMSAtYyAnLiBc
JGZpbGU7IGVjaG8gXFxcJGRsbmFtZSdcXFxgfgogICAgICBkbHBhdGg9XCRk
aXIvXFxcJGRsZGxsfgogICAgICAgXCRSTSBcXFwkZGxwYXRoIgoKIyBDb21t
YW5kcyB1c2VkIHRvIGZpbmlzaCBhIGxpYnRvb2wgbGlicmFyeSBpbnN0YWxs
YXRpb24gaW4gYSBkaXJlY3RvcnkuCmZpbmlzaF9jbWRzPSIiCgojIEFzICJm
aW5pc2hfY21kcyIsIGV4Y2VwdCBhIHNpbmdsZSBzY3JpcHQgZnJhZ21lbnQg
dG8gYmUgZXZhbGVkIGJ1dAojIG5vdCBzaG93bi4KZmluaXNoX2V2YWw9IiIK
CiMgV2hldGhlciB3ZSBzaG91bGQgaGFyZGNvZGUgbGlicmFyeSBwYXRocyBp
bnRvIGxpYnJhcmllcy4KaGFyZGNvZGVfaW50b19saWJzPW5vCgojIENvbXBp
bGUtdGltZSBzeXN0ZW0gc2VhcmNoIHBhdGggZm9yIGxpYnJhcmllcy4Kc3lz
X2xpYl9zZWFyY2hfcGF0aF9zcGVjPSJjOi90aW5ndy9saWIvZ2NjL21pbmd3
MzIvNC44LjEgYzovdGluZ3cvbGliL2djYyBjOi90aW5ndy9taW5ndzMyL2xp
YiBjOi90aW5ndy9saWIgIgoKIyBSdW4tdGltZSBzeXN0ZW0gc2VhcmNoIHBh
dGggZm9yIGxpYnJhcmllcy4Kc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWM9
Ii9saWIgL3Vzci9saWIiCgojIFdoZXRoZXIgZGxvcGVuIGlzIHN1cHBvcnRl
ZC4KZGxvcGVuX3N1cHBvcnQ9eWVzCgojIFdoZXRoZXIgZGxvcGVuIG9mIHBy
b2dyYW1zIGlzIHN1cHBvcnRlZC4KZGxvcGVuX3NlbGY9dW5rbm93bgoKIyBX
aGV0aGVyIGRsb3BlbiBvZiBzdGF0aWNhbGx5IGxpbmtlZCBwcm9ncmFtcyBp
cyBzdXBwb3J0ZWQuCmRsb3Blbl9zZWxmX3N0YXRpYz11bmtub3duCgojIENv
bW1hbmRzIHRvIHN0cmlwIGxpYnJhcmllcy4Kb2xkX3N0cmlwbGliPSJzdHJp
cCAtLXN0cmlwLWRlYnVnIgpzdHJpcGxpYj0ic3RyaXAgLS1zdHJpcC11bm5l
ZWRlZCIKCgojIFRoZSBsaW5rZXIgdXNlZCB0byBidWlsZCBsaWJyYXJpZXMu
CkxEPSJjOi90aW5ndy9taW5ndzMyL2Jpbi9sZC5leGUiCgojIEhvdyB0byBj
cmVhdGUgcmVsb2FkYWJsZSBvYmplY3QgZmlsZXMuCnJlbG9hZF9mbGFnPSIg
LXIiCnJlbG9hZF9jbWRzPSJcJExEXCRyZWxvYWRfZmxhZyAtbyBcJG91dHB1
dFwkcmVsb2FkX29ianMiCgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQgYW4g
b2xkLXN0eWxlIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2NtZHM9IlwkQVIgXCRB
Ul9GTEFHUyBcJG9sZGxpYlwkb2xkb2Jqc35cJFJBTkxJQiBcJHRvb2xfb2xk
bGliIgoKIyBBIGxhbmd1YWdlIHNwZWNpZmljIGNvbXBpbGVyLgpDQz0iZ2Nj
IgoKIyBJcyB0aGUgY29tcGlsZXIgdGhlIEdOVSBjb21waWxlcj8Kd2l0aF9n
Y2M9eWVzCgojIENvbXBpbGVyIGZsYWcgdG8gdHVybiBvZmYgYnVpbHRpbiBm
dW5jdGlvbnMuCm5vX2J1aWx0aW5fZmxhZz0iIC1mbm8tYnVpbHRpbiIKCiMg
QWRkaXRpb25hbCBjb21waWxlciBmbGFncyBmb3IgYnVpbGRpbmcgbGlicmFy
eSBvYmplY3RzLgpwaWNfZmxhZz0iIC1ERExMX0VYUE9SVCAtRFBJQyIKCiMg
SG93IHRvIHBhc3MgYSBsaW5rZXIgZmxhZyB0aHJvdWdoIHRoZSBjb21waWxl
ci4Kd2w9Ii1XbCwiCgojIENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5h
bWljIGxpbmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9Ii1zdGF0aWMiCgojIERv
ZXMgY29tcGlsZXIgc2ltdWx0YW5lb3VzbHkgc3VwcG9ydCAtYyBhbmQgLW8g
b3B0aW9ucz8KY29tcGlsZXJfY19vPSJ5ZXMiCgojIFdoZXRoZXIgb3Igbm90
IHRvIGFkZCAtbGMgZm9yIGJ1aWxkaW5nIHNoYXJlZCBsaWJyYXJpZXMuCmJ1
aWxkX2xpYnRvb2xfbmVlZF9sYz15ZXMKCiMgV2hldGhlciBvciBub3QgdG8g
ZGlzYWxsb3cgc2hhcmVkIGxpYnMgd2hlbiBydW50aW1lIGxpYnMgYXJlIHN0
YXRpYy4KYWxsb3dfbGlidG9vbF9saWJzX3dpdGhfc3RhdGljX3J1bnRpbWVz
PXllcwoKIyBDb21waWxlciBmbGFnIHRvIGFsbG93IHJlZmxleGl2ZSBkbG9w
ZW5zLgpleHBvcnRfZHluYW1pY19mbGFnX3NwZWM9Ilwke3dsfS0tZXhwb3J0
LWFsbC1zeW1ib2xzIgoKIyBDb21waWxlciBmbGFnIHRvIGdlbmVyYXRlIHNo
YXJlZCBvYmplY3RzIGRpcmVjdGx5IGZyb20gYXJjaGl2ZXMuCndob2xlX2Fy
Y2hpdmVfZmxhZ19zcGVjPSJcJHt3bH0tLXdob2xlLWFyY2hpdmVcJGNvbnZl
bmllbmNlIFwke3dsfS0tbm8td2hvbGUtYXJjaGl2ZSIKCiMgV2hldGhlciB0
aGUgY29tcGlsZXIgY29wZXMgd2l0aCBwYXNzaW5nIG5vIG9iamVjdHMgZGly
ZWN0bHkuCmNvbXBpbGVyX25lZWRzX29iamVjdD0ibm8iCgojIENyZWF0ZSBh
biBvbGQtc3R5bGUgYXJjaGl2ZSBmcm9tIGEgc2hhcmVkIGFyY2hpdmUuCm9s
ZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHM9IiIKCiMgQ3JlYXRlIGEgdGVtcG9y
YXJ5IG9sZC1zdHlsZSBhcmNoaXZlIHRvIGxpbmsgaW5zdGVhZCBvZiBhIHNo
YXJlZCBhcmNoaXZlLgpvbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kcz0i
IgoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1aWxkIGEgc2hhcmVkIGFyY2hpdmUu
CmFyY2hpdmVfY21kcz0iXCRDQyAtc2hhcmVkIFwkbGlib2JqcyBcJGRlcGxp
YnMgXCRjb21waWxlcl9mbGFncyAtbyBcJG91dHB1dF9vYmpkaXIvXCRzb25h
bWUgXCR7d2x9LS1lbmFibGUtYXV0by1pbWFnZS1iYXNlIC1YbGlua2VyIC0t
b3V0LWltcGxpYiAtWGxpbmtlciBcJGxpYiIKYXJjaGl2ZV9leHBzeW1fY21k
cz0iaWYgdGVzdCBcXFwieFxcXGBcJFNFRCAxcSBcJGV4cG9ydF9zeW1ib2xz
XFxcYFxcXCIgPSB4RVhQT1JUUzsgdGhlbgoJICBjcCBcJGV4cG9ydF9zeW1i
b2xzIFwkb3V0cHV0X29iamRpci9cJHNvbmFtZS5kZWY7CgllbHNlCgkgIGVj
aG8gRVhQT1JUUyA+IFwkb3V0cHV0X29iamRpci9cJHNvbmFtZS5kZWY7Cgkg
IGNhdCBcJGV4cG9ydF9zeW1ib2xzID4+IFwkb3V0cHV0X29iamRpci9cJHNv
bmFtZS5kZWY7CglmaX4KCVwkQ0MgLXNoYXJlZCBcJG91dHB1dF9vYmpkaXIv
XCRzb25hbWUuZGVmIFwkbGlib2JqcyBcJGRlcGxpYnMgXCRjb21waWxlcl9m
bGFncyAtbyBcJG91dHB1dF9vYmpkaXIvXCRzb25hbWUgXCR7d2x9LS1lbmFi
bGUtYXV0by1pbWFnZS1iYXNlIC1YbGlua2VyIC0tb3V0LWltcGxpYiAtWGxp
bmtlciBcJGxpYiIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBhIGxvYWRh
YmxlIG1vZHVsZSBpZiBkaWZmZXJlbnQgZnJvbSBidWlsZGluZwojIGEgc2hh
cmVkIGFyY2hpdmUuCm1vZHVsZV9jbWRzPSIiCm1vZHVsZV9leHBzeW1fY21k
cz0iIgoKIyBXaGV0aGVyIHdlIGFyZSBidWlsZGluZyB3aXRoIEdOVSBsZCBv
ciBub3QuCndpdGhfZ251X2xkPSJ5ZXMiCgojIEZsYWcgdGhhdCBhbGxvd3Mg
c2hhcmVkIGxpYnJhcmllcyB3aXRoIHVuZGVmaW5lZCBzeW1ib2xzIHRvIGJl
IGJ1aWx0LgphbGxvd191bmRlZmluZWRfZmxhZz0idW5zdXBwb3J0ZWQiCgoj
IEZsYWcgdGhhdCBlbmZvcmNlcyBubyB1bmRlZmluZWQgc3ltYm9scy4Kbm9f
dW5kZWZpbmVkX2ZsYWc9IiIKCiMgRmxhZyB0byBoYXJkY29kZSAkbGliZGly
IGludG8gYSBiaW5hcnkgZHVyaW5nIGxpbmtpbmcuCiMgVGhpcyBtdXN0IHdv
cmsgZXZlbiBpZiAkbGliZGlyIGRvZXMgbm90IGV4aXN0CmhhcmRjb2RlX2xp
YmRpcl9mbGFnX3NwZWM9Ii1MXCRsaWJkaXIiCgojIFdoZXRoZXIgd2UgbmVl
ZCBhIHNpbmdsZSAiLXJwYXRoIiBmbGFnIHdpdGggYSBzZXBhcmF0ZWQgYXJn
dW1lbnQuCmhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3I9IiIKCiMgU2V0IHRv
ICJ5ZXMiIGlmIHVzaW5nIERJUi9saWJOQU1FJHtzaGFyZWRfZXh0fSBkdXJp
bmcgbGlua2luZyBoYXJkY29kZXMKIyBESVIgaW50byB0aGUgcmVzdWx0aW5n
IGJpbmFyeS4KaGFyZGNvZGVfZGlyZWN0PW5vCgojIFNldCB0byAieWVzIiBp
ZiB1c2luZyBESVIvbGliTkFNRSR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtp
bmcgaGFyZGNvZGVzCiMgRElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkg
YW5kIHRoZSByZXN1bHRpbmcgbGlicmFyeSBkZXBlbmRlbmN5IGlzCiMgImFi
c29sdXRlIixpLmUgaW1wb3NzaWJsZSB0byBjaGFuZ2UgYnkgc2V0dGluZyAk
e3NobGlicGF0aF92YXJ9IGlmIHRoZQojIGxpYnJhcnkgaXMgcmVsb2NhdGVk
LgpoYXJkY29kZV9kaXJlY3RfYWJzb2x1dGU9bm8KCiMgU2V0IHRvICJ5ZXMi
IGlmIHVzaW5nIHRoZSAtTERJUiBmbGFnIGR1cmluZyBsaW5raW5nIGhhcmRj
b2RlcyBESVIKIyBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29k
ZV9taW51c19MPW5vCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBTSExJQlBB
VEhfVkFSPURJUiBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50
byB0aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfc2hsaWJwYXRoX3Zh
cj11bnN1cHBvcnRlZAoKIyBTZXQgdG8gInllcyIgaWYgYnVpbGRpbmcgYSBz
aGFyZWQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGhhcmRjb2RlcyBESVIKIyBp
bnRvIHRoZSBsaWJyYXJ5IGFuZCBhbGwgc3Vic2VxdWVudCBsaWJyYXJpZXMg
YW5kIGV4ZWN1dGFibGVzIGxpbmtlZAojIGFnYWluc3QgaXQuCmhhcmRjb2Rl
X2F1dG9tYXRpYz1ubwoKIyBTZXQgdG8geWVzIGlmIGxpbmtlciBhZGRzIHJ1
bnRpbWUgcGF0aHMgb2YgZGVwZW5kZW50IGxpYnJhcmllcwojIHRvIHJ1bnRp
bWUgcGF0aCBsaXN0Lgppbmhlcml0X3JwYXRoPW5vCgojIFdoZXRoZXIgbGli
dG9vbCBtdXN0IGxpbmsgYSBwcm9ncmFtIGFnYWluc3QgYWxsIGl0cyBkZXBl
bmRlbmN5IGxpYnJhcmllcy4KbGlua19hbGxfZGVwbGlicz11bmtub3duCgoj
IFNldCB0byAieWVzIiBpZiBleHBvcnRlZCBzeW1ib2xzIGFyZSByZXF1aXJl
ZC4KYWx3YXlzX2V4cG9ydF9zeW1ib2xzPW5vCgojIFRoZSBjb21tYW5kcyB0
byBsaXN0IGV4cG9ydGVkIHN5bWJvbHMuCmV4cG9ydF9zeW1ib2xzX2NtZHM9
IlwkTk0gXCRsaWJvYmpzIFwkY29udmVuaWVuY2UgfCBcJGdsb2JhbF9zeW1i
b2xfcGlwZSB8IFwkU0VEIC1lICcvXltCQ0RHUlNdWyBdL3MvLipbIF1cXFxc
KFteIF0qXFxcXCkvXFxcXDEgREFUQS87cy9eLipbIF1fX25tX19cXFxcKFte
IF0qXFxcXClbIF1bXiBdKi9cXFxcMSBEQVRBLzsvXklbIF0vZDsvXltBSVRX
XVsgXS9zLy4qIC8vJyB8IHNvcnQgfCB1bmlxID4gXCRleHBvcnRfc3ltYm9s
cyIKCiMgU3ltYm9scyB0aGF0IHNob3VsZCBub3QgYmUgbGlzdGVkIGluIHRo
ZSBwcmVsb2FkZWQgc3ltYm9scy4KZXhjbHVkZV9leHBzeW1zPSJbX10rR0xP
QkFMX09GRlNFVF9UQUJMRV98W19dK0dMT0JBTF9fW0ZJRF1fLip8W19dK2hl
YWRfW0EtWmEtejAtOV9dK19kbGx8W0EtWmEtejAtOV9dK19kbGxfaW5hbWUi
CgojIFN5bWJvbHMgdGhhdCBtdXN0IGFsd2F5cyBiZSBleHBvcnRlZC4KaW5j
bHVkZV9leHBzeW1zPSIiCgojIENvbW1hbmRzIG5lY2Vzc2FyeSBmb3IgbGlu
a2luZyBwcm9ncmFtcyAoYWdhaW5zdCBsaWJyYXJpZXMpIHdpdGggdGVtcGxh
dGVzLgpwcmVsaW5rX2NtZHM9IiIKCiMgQ29tbWFuZHMgbmVjZXNzYXJ5IGZv
ciBmaW5pc2hpbmcgbGlua2luZyBwcm9ncmFtcy4KcG9zdGxpbmtfY21kcz0i
IgoKIyBTcGVjaWZ5IGZpbGVuYW1lIGNvbnRhaW5pbmcgaW5wdXQgZmlsZXMu
CmZpbGVfbGlzdF9zcGVjPSIiCgojIEhvdyB0byBoYXJkY29kZSBhIHNoYXJl
ZCBsaWJyYXJ5IHBhdGggaW50byBhbiBleGVjdXRhYmxlLgpoYXJkY29kZV9h
Y3Rpb249aW1tZWRpYXRlCgojIFRoZSBkaXJlY3RvcmllcyBzZWFyY2hlZCBi
eSB0aGlzIGNvbXBpbGVyIHdoZW4gY3JlYXRpbmcgYSBzaGFyZWQgbGlicmFy
eS4KY29tcGlsZXJfbGliX3NlYXJjaF9kaXJzPSIiCgojIERlcGVuZGVuY2ll
cyB0byBwbGFjZSBiZWZvcmUgYW5kIGFmdGVyIHRoZSBvYmplY3RzIGJlaW5n
IGxpbmtlZCB0bwojIGNyZWF0ZSBhIHNoYXJlZCBsaWJyYXJ5LgpwcmVkZXBf
b2JqZWN0cz0iIgpwb3N0ZGVwX29iamVjdHM9IiIKcHJlZGVwcz0iIgpwb3N0
ZGVwcz0iIgoKIyBUaGUgbGlicmFyeSBzZWFyY2ggcGF0aCB1c2VkIGludGVy
bmFsbHkgYnkgdGhlIGNvbXBpbGVyIHdoZW4gbGlua2luZwojIGEgc2hhcmVk
IGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9zZWFyY2hfcGF0aD0iIgoKIyAjIyMg
RU5EIExJQlRPT0wgQ09ORklHCgoKIyBsaWJ0b29sIChHTlUgbGlidG9vbCkg
Mi40LjIKIyBXcml0dGVuIGJ5IEdvcmRvbiBNYXR6aWdrZWl0IDxnb3JkQGdu
dS5haS5taXQuZWR1PiwgMTk5NgoKIyBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5
OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIwMDUs
IDIwMDYsCiMgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxMSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBUaGlzIGlzIGZyZWUgc29mdHdh
cmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBU
aGVyZSBpcyBOTwojIHdhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgoK
IyBHTlUgTGlidG9vbCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIg
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBBcyBhIHNwZWNpYWwgZXhjZXB0
aW9uIHRvIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwKIyBpZiB5
b3UgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHByb2dyYW0g
b3IgbGlicmFyeSB0aGF0CiMgaXMgYnVpbHQgdXNpbmcgR05VIExpYnRvb2ws
IHlvdSBtYXkgaW5jbHVkZSB0aGlzIGZpbGUgdW5kZXIgdGhlCiMgc2FtZSBk
aXN0cmlidXRpb24gdGVybXMgdGhhdCB5b3UgdXNlIGZvciB0aGUgcmVzdCBv
ZiB0aGF0IHByb2dyYW0uCiMKIyBHTlUgTGlidG9vbCBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKIyBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKIyBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMKIyBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggR05VIExpYnRvb2w7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLiAgSWYgbm90LCBhIGNvcHkKIyBjYW4gYmUgZG93
bmxvYWRlZCBmcm9tIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwu
aHRtbCwKIyBvciBvYnRhaW5lZCBieSB3cml0aW5nIHRvIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCiMgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCgoj
IFVzYWdlOiAkcHJvZ25hbWUgW09QVElPTl0uLi4gW01PREUtQVJHXS4uLgoj
CiMgUHJvdmlkZSBnZW5lcmFsaXplZCBsaWJyYXJ5LWJ1aWxkaW5nIHN1cHBv
cnQgc2VydmljZXMuCiMKIyAgICAgICAtLWNvbmZpZyAgICAgICAgICAgICBz
aG93IGFsbCBjb25maWd1cmF0aW9uIHZhcmlhYmxlcwojICAgICAgIC0tZGVi
dWcgICAgICAgICAgICAgIGVuYWJsZSB2ZXJib3NlIHNoZWxsIHRyYWNpbmcK
IyAgIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBkaXNwbGF5IGNvbW1hbmRz
IHdpdGhvdXQgbW9kaWZ5aW5nIGFueSBmaWxlcwojICAgICAgIC0tZmVhdHVy
ZXMgICAgICAgICAgIGRpc3BsYXkgYmFzaWMgY29uZmlndXJhdGlvbiBpbmZv
cm1hdGlvbiBhbmQgZXhpdAojICAgICAgIC0tbW9kZT1NT0RFICAgICAgICAg
IHVzZSBvcGVyYXRpb24gbW9kZSBNT0RFCiMgICAgICAgLS1wcmVzZXJ2ZS1k
dXAtZGVwcyAgZG9uJ3QgcmVtb3ZlIGR1cGxpY2F0ZSBkZXBlbmRlbmN5IGxp
YnJhcmllcwojICAgICAgIC0tcXVpZXQsIC0tc2lsZW50ICAgIGRvbid0IHBy
aW50IGluZm9ybWF0aW9uYWwgbWVzc2FnZXMKIyAgICAgICAtLW5vLXF1aWV0
LCAtLW5vLXNpbGVudAojICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBy
aW50IGluZm9ybWF0aW9uYWwgbWVzc2FnZXMgKGRlZmF1bHQpCiMgICAgICAg
LS1uby13YXJuICAgICAgICAgICAgZG9uJ3QgZGlzcGxheSB3YXJuaW5nIG1l
c3NhZ2VzCiMgICAgICAgLS10YWc9VEFHICAgICAgICAgICAgdXNlIGNvbmZp
Z3VyYXRpb24gdmFyaWFibGVzIGZyb20gdGFnIFRBRwojICAgLXYsIC0tdmVy
Ym9zZSAgICAgICAgICAgIHByaW50IG1vcmUgaW5mb3JtYXRpb25hbCBtZXNz
YWdlcyB0aGFuIGRlZmF1bHQKIyAgICAgICAtLW5vLXZlcmJvc2UgICAgICAg
ICBkb24ndCBwcmludCB0aGUgZXh0cmEgaW5mb3JtYXRpb25hbCBtZXNzYWdl
cwojICAgICAgIC0tdmVyc2lvbiAgICAgICAgICAgIHByaW50IHZlcnNpb24g
aW5mb3JtYXRpb24KIyAgIC1oLCAtLWhlbHAsIC0taGVscC1hbGwgICBwcmlu
dCBzaG9ydCwgbG9uZywgb3IgZGV0YWlsZWQgaGVscCBtZXNzYWdlCiMKIyBN
T0RFIG11c3QgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6CiMKIyAgICAgICAg
IGNsZWFuICAgICAgICAgICAgICByZW1vdmUgZmlsZXMgZnJvbSB0aGUgYnVp
bGQgZGlyZWN0b3J5CiMgICAgICAgICBjb21waWxlICAgICAgICAgICAgY29t
cGlsZSBhIHNvdXJjZSBmaWxlIGludG8gYSBsaWJ0b29sIG9iamVjdAojICAg
ICAgICAgZXhlY3V0ZSAgICAgICAgICAgIGF1dG9tYXRpY2FsbHkgc2V0IGxp
YnJhcnkgcGF0aCwgdGhlbiBydW4gYSBwcm9ncmFtCiMgICAgICAgICBmaW5p
c2ggICAgICAgICAgICAgY29tcGxldGUgdGhlIGluc3RhbGxhdGlvbiBvZiBs
aWJ0b29sIGxpYnJhcmllcwojICAgICAgICAgaW5zdGFsbCAgICAgICAgICAg
IGluc3RhbGwgbGlicmFyaWVzIG9yIGV4ZWN1dGFibGVzCiMgICAgICAgICBs
aW5rICAgICAgICAgICAgICAgY3JlYXRlIGEgbGlicmFyeSBvciBhbiBleGVj
dXRhYmxlCiMgICAgICAgICB1bmluc3RhbGwgICAgICAgICAgcmVtb3ZlIGxp
YnJhcmllcyBmcm9tIGFuIGluc3RhbGxlZCBkaXJlY3RvcnkKIwojIE1PREUt
QVJHUyB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgTU9ERS4gIFdoZW4gcGFzc2Vk
IGFzIGZpcnN0IG9wdGlvbiwKIyBgLS1tb2RlPU1PREUnIG1heSBiZSBhYmJy
ZXZpYXRlZCBhcyBgTU9ERScgb3IgYSB1bmlxdWUgYWJicmV2aWF0aW9uIG9m
IHRoYXQuCiMgVHJ5IGAkcHJvZ25hbWUgLS1oZWxwIC0tbW9kZT1NT0RFJyBm
b3IgYSBtb3JlIGRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIE1PREUuCiMKIyBX
aGVuIHJlcG9ydGluZyBhIGJ1ZywgcGxlYXNlIGRlc2NyaWJlIGEgdGVzdCBj
YXNlIHRvIHJlcHJvZHVjZSBpdCBhbmQKIyBpbmNsdWRlIHRoZSBmb2xsb3dp
bmcgaW5mb3JtYXRpb246CiMKIyAgICAgICAgIGhvc3QtdHJpcGxldDoJJGhv
c3QKIyAgICAgICAgIHNoZWxsOgkJJFNIRUxMCiMgICAgICAgICBjb21waWxl
cjoJCSRMVENDCiMgICAgICAgICBjb21waWxlciBmbGFnczoJCSRMVENGTEFH
UwojICAgICAgICAgbGlua2VyOgkJJExEIChnbnU/ICR3aXRoX2dudV9sZCkK
IyAgICAgICAgICRwcm9nbmFtZToJKEdOVSBsaWJ0b29sKSAyLjQuMgojICAg
ICAgICAgYXV0b21ha2U6CSRhdXRvbWFrZV92ZXJzaW9uCiMgICAgICAgICBh
dXRvY29uZjoJJGF1dG9jb25mX3ZlcnNpb24KIwojIFJlcG9ydCBidWdzIHRv
IDxidWctbGlidG9vbEBnbnUub3JnPi4KIyBHTlUgbGlidG9vbCBob21lIHBh
Z2U6IDxodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGlidG9vbC8+Lgoj
IEdlbmVyYWwgaGVscCB1c2luZyBHTlUgc29mdHdhcmU6IDxodHRwOi8vd3d3
LmdudS5vcmcvZ2V0aGVscC8+LgoKUFJPR1JBTT1saWJ0b29sClBBQ0tBR0U9
bGlidG9vbApWRVJTSU9OPTIuNC4yClRJTUVTVEFNUD0iIgpwYWNrYWdlX3Jl
dmlzaW9uPTEuMzMzNwoKIyBCZSBCb3VybmUgY29tcGF0aWJsZQppZiB0ZXN0
IC1uICIke1pTSF9WRVJTSU9OK3NldH0iICYmIChlbXVsYXRlIHNoKSA+L2Rl
di9udWxsIDI+JjE7IHRoZW4KICBlbXVsYXRlIHNoCiAgTlVMTENNRD06CiAg
IyBac2ggMy54IGFuZCA0LnggcGVyZm9ybXMgd29yZCBzcGxpdHRpbmcgb24g
JHsxKyIkQCJ9LCB3aGljaAogICMgaXMgY29udHJhcnkgdG8gb3VyIHVzYWdl
LiAgRGlzYWJsZSB0aGlzIGZlYXR1cmUuCiAgYWxpYXMgLWcgJyR7MSsiJEAi
fSc9JyIkQCInCiAgc2V0b3B0IE5PX0dMT0JfU1VCU1QKZWxzZQogIGNhc2Ug
YChzZXQgLW8pIDI+L2Rldi9udWxsYCBpbiAqcG9zaXgqKSBzZXQgLW8gcG9z
aXg7OyBlc2FjCmZpCkJJTl9TSD14cGc0OyBleHBvcnQgQklOX1NIICMgZm9y
IFRydTY0CkRVQUxDQVNFPTE7IGV4cG9ydCBEVUFMQ0FTRSAjIGZvciBNS1Mg
c2gKCiMgQSBmdW5jdGlvbiB0aGF0IGlzIHVzZWQgd2hlbiB0aGVyZSBpcyBu
byBwcmludCBidWlsdGluIG9yIHByaW50Zi4KZnVuY19mYWxsYmFja19lY2hv
ICgpCnsKICBldmFsICdjYXQgPDxfTFRFQ0hPX0VPRgokMQpfTFRFQ0hPX0VP
RicKfQoKIyBOTFMgbnVpc2FuY2VzOiBXZSBzYXZlIHRoZSBvbGQgdmFsdWVz
IHRvIHJlc3RvcmUgZHVyaW5nIGV4ZWN1dGUgbW9kZS4KbHRfdXNlcl9sb2Nh
bGU9Cmx0X3NhZmVfbG9jYWxlPQpmb3IgbHRfdmFyIGluIExBTkcgTEFOR1VB
R0UgTENfQUxMIExDX0NUWVBFIExDX0NPTExBVEUgTENfTUVTU0FHRVMKZG8K
ICBldmFsICJpZiB0ZXN0IFwiXCR7JGx0X3ZhcitzZXR9XCIgPSBzZXQ7IHRo
ZW4KICAgICAgICAgIHNhdmVfJGx0X3Zhcj1cJCRsdF92YXIKICAgICAgICAg
ICRsdF92YXI9QwoJICBleHBvcnQgJGx0X3ZhcgoJICBsdF91c2VyX2xvY2Fs
ZT1cIiRsdF92YXI9XFxcJHNhdmVfXCRsdF92YXI7IFwkbHRfdXNlcl9sb2Nh
bGVcIgoJICBsdF9zYWZlX2xvY2FsZT1cIiRsdF92YXI9QzsgXCRsdF9zYWZl
X2xvY2FsZVwiCglmaSIKZG9uZQpMQ19BTEw9QwpMQU5HVUFHRT1DCmV4cG9y
dCBMQU5HVUFHRSBMQ19BTEwKCiRsdF91bnNldCBDRFBBVEgKCgojIFdvcmsg
YXJvdW5kIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgaXNzdWUgb24gSVJJWCA2
LjUuIE9uIElSSVggNi40Kywgc2gKIyBpcyBrc2ggYnV0IHdoZW4gdGhlIHNo
ZWxsIGlzIGludm9rZWQgYXMgInNoIiBhbmQgdGhlIGN1cnJlbnQgdmFsdWUg
b2YKIyB0aGUgX1hQRyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3QgZXF1
YWwgdG8gMSAob25lKSwgdGhlIHNwZWNpYWwKIyBwb3NpdGlvbmFsIHBhcmFt
ZXRlciAkMCwgd2l0aGluIGEgZnVuY3Rpb24gY2FsbCwgaXMgdGhlIG5hbWUg
b2YgdGhlCiMgZnVuY3Rpb24uCnByb2dwYXRoPSIkMCIKCgoKOiAke0NQPSJj
cCAtZiJ9CnRlc3QgIiR7RUNITytzZXR9IiA9IHNldCB8fCBFQ0hPPSR7YXNf
ZWNoby0ncHJpbnRmICVzXG4nfQo6ICR7TUFLRT0ibWFrZSJ9CjogJHtNS0RJ
Uj0ibWtkaXIifQo6ICR7TVY9Im12IC1mIn0KOiAke1JNPSJybSAtZiJ9Cjog
JHtTSEVMTD0iJHtDT05GSUdfU0hFTEwtL2Jpbi9zaH0ifQo6ICR7WHNlZD0i
JFNFRCAtZSAxcy9eWC8vIn0KCiMgR2xvYmFsIHZhcmlhYmxlczoKRVhJVF9T
VUNDRVNTPTAKRVhJVF9GQUlMVVJFPTEKRVhJVF9NSVNNQVRDSD02MyAgIyAk
PyA9IDYzIGlzIHVzZWQgdG8gaW5kaWNhdGUgdmVyc2lvbiBtaXNtYXRjaCB0
byBtaXNzaW5nLgpFWElUX1NLSVA9NzcJICAjICQ/ID0gNzcgaXMgdXNlZCB0
byBpbmRpY2F0ZSBhIHNraXBwZWQgdGVzdCB0byBhdXRvbWFrZS4KCmV4aXRf
c3RhdHVzPSRFWElUX1NVQ0NFU1MKCiMgTWFrZSBzdXJlIElGUyBoYXMgYSBz
ZW5zaWJsZSBkZWZhdWx0Cmx0X25sPScKJwpJRlM9IiAJJGx0X25sIgoKZGly
bmFtZT0icywvW14vXSokLCwiCmJhc2VuYW1lPSJzLF4uKi8sLCIKCiMgZnVu
Y19kaXJuYW1lIGZpbGUgYXBwZW5kIG5vbmRpcl9yZXBsYWNlbWVudAojIENv
bXB1dGUgdGhlIGRpcm5hbWUgb2YgRklMRS4gIElmIG5vbmVtcHR5LCBhZGQg
QVBQRU5EIHRvIHRoZSByZXN1bHQsCiMgb3RoZXJ3aXNlIHNldCByZXN1bHQg
dG8gTk9ORElSX1JFUExBQ0VNRU5ULgpmdW5jX2Rpcm5hbWUgKCkKewogICAg
Y2FzZSAkezF9IGluCiAgICAgICovKikgZnVuY19kaXJuYW1lX3Jlc3VsdD0i
JHsxJS8qfSR7Mn0iIDs7CiAgICAgICogICkgZnVuY19kaXJuYW1lX3Jlc3Vs
dD0iJHszfSIgOzsKICAgIGVzYWMKfSAjIEV4dGVuZGVkLXNoZWxsIGZ1bmNf
ZGlybmFtZSBpbXBsZW1lbnRhdGlvbgoKCiMgZnVuY19iYXNlbmFtZSBmaWxl
CmZ1bmNfYmFzZW5hbWUgKCkKewogICAgZnVuY19iYXNlbmFtZV9yZXN1bHQ9
IiR7MSMjKi99Igp9ICMgRXh0ZW5kZWQtc2hlbGwgZnVuY19iYXNlbmFtZSBp
bXBsZW1lbnRhdGlvbgoKCiMgZnVuY19kaXJuYW1lX2FuZF9iYXNlbmFtZSBm
aWxlIGFwcGVuZCBub25kaXJfcmVwbGFjZW1lbnQKIyBwZXJmb3JtIGZ1bmNf
YmFzZW5hbWUgYW5kIGZ1bmNfZGlybmFtZSBpbiBhIHNpbmdsZSBmdW5jdGlv
bgojIGNhbGw6CiMgICBkaXJuYW1lOiAgQ29tcHV0ZSB0aGUgZGlybmFtZSBv
ZiBGSUxFLiAgSWYgbm9uZW1wdHksCiMgICAgICAgICAgICAgYWRkIEFQUEVO
RCB0byB0aGUgcmVzdWx0LCBvdGhlcndpc2Ugc2V0IHJlc3VsdAojICAgICAg
ICAgICAgIHRvIE5PTkRJUl9SRVBMQUNFTUVOVC4KIyAgICAgICAgICAgICB2
YWx1ZSByZXR1cm5lZCBpbiAiJGZ1bmNfZGlybmFtZV9yZXN1bHQiCiMgICBi
YXNlbmFtZTogQ29tcHV0ZSBmaWxlbmFtZSBvZiBGSUxFLgojICAgICAgICAg
ICAgIHZhbHVlIHJldHVuZWQgaW4gIiRmdW5jX2Jhc2VuYW1lX3Jlc3VsdCIK
IyBJbXBsZW1lbnRhdGlvbiBtdXN0IGJlIGtlcHQgc3luY2hyb25pemVkIHdp
dGggZnVuY19kaXJuYW1lCiMgYW5kIGZ1bmNfYmFzZW5hbWUuIEZvciBlZmZp
Y2llbmN5LCB3ZSBkbyBub3QgZGVsZWdhdGUgdG8KIyB0aG9zZSBmdW5jdGlv
bnMgYnV0IGluc3RlYWQgZHVwbGljYXRlIHRoZSBmdW5jdGlvbmFsaXR5IGhl
cmUuCmZ1bmNfZGlybmFtZV9hbmRfYmFzZW5hbWUgKCkKewogICAgY2FzZSAk
ezF9IGluCiAgICAgICovKikgZnVuY19kaXJuYW1lX3Jlc3VsdD0iJHsxJS8q
fSR7Mn0iIDs7CiAgICAgICogICkgZnVuY19kaXJuYW1lX3Jlc3VsdD0iJHsz
fSIgOzsKICAgIGVzYWMKICAgIGZ1bmNfYmFzZW5hbWVfcmVzdWx0PSIkezEj
IyovfSIKfSAjIEV4dGVuZGVkLXNoZWxsIGZ1bmNfZGlybmFtZV9hbmRfYmFz
ZW5hbWUgaW1wbGVtZW50YXRpb24KCgojIGZ1bmNfc3RyaXBuYW1lIHByZWZp
eCBzdWZmaXggbmFtZQojIHN0cmlwIFBSRUZJWCBhbmQgU1VGRklYIG9mZiBv
ZiBOQU1FLgojIFBSRUZJWCBhbmQgU1VGRklYIG11c3Qgbm90IGNvbnRhaW4g
Z2xvYmJpbmcgb3IgcmVnZXggc3BlY2lhbAojIGNoYXJhY3RlcnMsIGhhc2hl
cywgcGVyY2VudCBzaWducywgYnV0IFNVRkZJWCBtYXkgY29udGFpbiBhIGxl
YWRpbmcKIyBkb3QgKGluIHdoaWNoIGNhc2UgdGhhdCBtYXRjaGVzIG9ubHkg
YSBkb3QpLgojIGZ1bmNfc3RyaXBfc3VmZml4IHByZWZpeCBuYW1lCmZ1bmNf
c3RyaXBuYW1lICgpCnsKICAgICMgcGRrc2ggNS4yLjE0IGRvZXMgbm90IGRv
ICR7WCUkWX0gY29ycmVjdGx5IGlmIGJvdGggWCBhbmQgWSBhcmUKICAgICMg
cG9zaXRpb25hbCBwYXJhbWV0ZXJzLCBzbyBhc3NpZ24gb25lIHRvIG9yZGlu
YXJ5IHBhcmFtZXRlciBmaXJzdC4KICAgIGZ1bmNfc3RyaXBuYW1lX3Jlc3Vs
dD0kezN9CiAgICBmdW5jX3N0cmlwbmFtZV9yZXN1bHQ9JHtmdW5jX3N0cmlw
bmFtZV9yZXN1bHQjIiR7MX0ifQogICAgZnVuY19zdHJpcG5hbWVfcmVzdWx0
PSR7ZnVuY19zdHJpcG5hbWVfcmVzdWx0JSIkezJ9In0KfSAjIEV4dGVuZGVk
LXNoZWxsIGZ1bmNfc3RyaXBuYW1lIGltcGxlbWVudGF0aW9uCgoKIyBUaGVz
ZSBTRUQgc2NyaXB0cyBwcmVzdXBwb3NlIGFuIGFic29sdXRlIHBhdGggd2l0
aCBhIHRyYWlsaW5nIHNsYXNoLgpwYXRoY2FyPSdzLF4vXChbXi9dKlwpLiok
LFwxLCcKcGF0aGNkcj0ncyxeL1teL10qLCwnCnJlbW92ZWRvdHBhcnRzPSc6
ZG90c2wKCQlzQC9cLi9AL0BnCgkJdCBkb3RzbAoJCXMsL1wuJCwvLCcKY29s
bGFwc2VzbGFzaGVzPSdzQC9cezEsXH1AL0BnJwpmaW5hbHNsYXNoPSdzLC8q
JCwvLCcKCiMgZnVuY19ub3JtYWxfYWJzcGF0aCBQQVRICiMgUmVtb3ZlIGRv
dWJsZWQtdXAgYW5kIHRyYWlsaW5nIHNsYXNoZXMsICIuIiBwYXRoIGNvbXBv
bmVudHMsCiMgYW5kIGNhbmNlbCBvdXQgYW55ICIuLiIgcGF0aCBjb21wb25l
bnRzIGluIFBBVEggYWZ0ZXIgbWFraW5nCiMgaXQgYW4gYWJzb2x1dGUgcGF0
aC4KIyAgICAgICAgICAgICB2YWx1ZSByZXR1cm5lZCBpbiAiJGZ1bmNfbm9y
bWFsX2Fic3BhdGhfcmVzdWx0IgpmdW5jX25vcm1hbF9hYnNwYXRoICgpCnsK
ICAjIFN0YXJ0IGZyb20gcm9vdCBkaXIgYW5kIHJlYXNzZW1ibGUgdGhlIHBh
dGguCiAgZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQ9CiAgZnVuY19ub3Jt
YWxfYWJzcGF0aF90cGF0aD0kMQogIGZ1bmNfbm9ybWFsX2Fic3BhdGhfYWx0
bmFtZXNwYWNlPQogIGNhc2UgJGZ1bmNfbm9ybWFsX2Fic3BhdGhfdHBhdGgg
aW4KICAgICIiKQogICAgICAjIEVtcHR5IHBhdGgsIHRoYXQganVzdCBtZWFu
cyAkY3dkLgogICAgICBmdW5jX3N0cmlwbmFtZSAnJyAnLycgImBwd2RgIgog
ICAgICBmdW5jX25vcm1hbF9hYnNwYXRoX3Jlc3VsdD0kZnVuY19zdHJpcG5h
bWVfcmVzdWx0CiAgICAgIHJldHVybgogICAgOzsKICAgICMgVGhlIG5leHQg
dGhyZWUgZW50cmllcyBhcmUgdXNlZCB0byBzcG90IGEgcnVuIG9mIHByZWNp
c2VseQogICAgIyB0d28gbGVhZGluZyBzbGFzaGVzIHdpdGhvdXQgdXNpbmcg
bmVnYXRlZCBjaGFyYWN0ZXIgY2xhc3NlczsKICAgICMgd2UgdGFrZSBhZHZh
bnRhZ2Ugb2YgY2FzZSdzIGZpcnN0LW1hdGNoIGJlaGF2aW91ci4KICAgIC8v
LyopCiAgICAgICMgVW51c3VhbCBmb3JtIG9mIGFic29sdXRlIHBhdGgsIGRv
IG5vdGhpbmcuCiAgICA7OwogICAgLy8qKQogICAgICAjIE5vdCBuZWNlc3Nh
cmlseSBhbiBvcmRpbmFyeSBwYXRoOyBQT1NJWCByZXNlcnZlcyBsZWFkaW5n
ICcvLycKICAgICAgIyBhbmQgZm9yIGV4YW1wbGUgQ3lnd2luIHVzZXMgaXQg
dG8gYWNjZXNzIHJlbW90ZSBmaWxlIHNoYXJlcwogICAgICAjIG92ZXIgQ0lG
Uy9TTUIsIHNvIHdlIGNvbnNlcnZlIGEgbGVhZGluZyBkb3VibGUgc2xhc2gg
aWYgZm91bmQuCiAgICAgIGZ1bmNfbm9ybWFsX2Fic3BhdGhfYWx0bmFtZXNw
YWNlPS8KICAgIDs7CiAgICAvKikKICAgICAgIyBBYnNvbHV0ZSBwYXRoLCBk
byBub3RoaW5nLgogICAgOzsKICAgICopCiAgICAgICMgUmVsYXRpdmUgcGF0
aCwgcHJlcGVuZCAkY3dkLgogICAgICBmdW5jX25vcm1hbF9hYnNwYXRoX3Rw
YXRoPWBwd2RgLyRmdW5jX25vcm1hbF9hYnNwYXRoX3RwYXRoCiAgICA7Owog
IGVzYWMKICAjIENhbmNlbCBvdXQgYWxsIHRoZSBzaW1wbGUgc3R1ZmYgdG8g
c2F2ZSBpdGVyYXRpb25zLiAgV2UgYWxzbyB3YW50CiAgIyB0aGUgcGF0aCB0
byBlbmQgd2l0aCBhIHNsYXNoIGZvciBlYXNlIG9mIHBhcnNpbmcsIHNvIG1h
a2Ugc3VyZQogICMgdGhlcmUgaXMgb25lIChhbmQgb25seSBvbmUpIGhlcmUu
CiAgZnVuY19ub3JtYWxfYWJzcGF0aF90cGF0aD1gJEVDSE8gIiRmdW5jX25v
cm1hbF9hYnNwYXRoX3RwYXRoIiB8ICRTRUQgXAogICAgICAgIC1lICIkcmVt
b3ZlZG90cGFydHMiIC1lICIkY29sbGFwc2VzbGFzaGVzIiAtZSAiJGZpbmFs
c2xhc2giYAogIHdoaWxlIDo7IGRvCiAgICAjIFByb2Nlc3NlZCBpdCBhbGwg
eWV0PwogICAgaWYgdGVzdCAiJGZ1bmNfbm9ybWFsX2Fic3BhdGhfdHBhdGgi
ID0gLyA7IHRoZW4KICAgICAgIyBJZiB3ZSBhc2NlbmRlZCB0byB0aGUgcm9v
dCB1c2luZyAiLi4iIHRoZSByZXN1bHQgbWF5IGJlIGVtcHR5IG5vdy4KICAg
ICAgaWYgdGVzdCAteiAiJGZ1bmNfbm9ybWFsX2Fic3BhdGhfcmVzdWx0IiA7
IHRoZW4KICAgICAgICBmdW5jX25vcm1hbF9hYnNwYXRoX3Jlc3VsdD0vCiAg
ICAgIGZpCiAgICAgIGJyZWFrCiAgICBmaQogICAgZnVuY19ub3JtYWxfYWJz
cGF0aF90Y29tcG9uZW50PWAkRUNITyAiJGZ1bmNfbm9ybWFsX2Fic3BhdGhf
dHBhdGgiIHwgJFNFRCBcCiAgICAgICAgLWUgIiRwYXRoY2FyImAKICAgIGZ1
bmNfbm9ybWFsX2Fic3BhdGhfdHBhdGg9YCRFQ0hPICIkZnVuY19ub3JtYWxf
YWJzcGF0aF90cGF0aCIgfCAkU0VEIFwKICAgICAgICAtZSAiJHBhdGhjZHIi
YAogICAgIyBGaWd1cmUgb3V0IHdoYXQgdG8gZG8gd2l0aCBpdAogICAgY2Fz
ZSAkZnVuY19ub3JtYWxfYWJzcGF0aF90Y29tcG9uZW50IGluCiAgICAgICIi
KQogICAgICAgICMgVHJhaWxpbmcgZW1wdHkgcGF0aCBjb21wb25lbnQsIGln
bm9yZSBpdC4KICAgICAgOzsKICAgICAgLi4pCiAgICAgICAgIyBQYXJlbnQg
ZGlyOyBzdHJpcCBsYXN0IGFzc2VtYmxlZCBjb21wb25lbnQgZnJvbSByZXN1
bHQuCiAgICAgICAgZnVuY19kaXJuYW1lICIkZnVuY19ub3JtYWxfYWJzcGF0
aF9yZXN1bHQiCiAgICAgICAgZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQ9
JGZ1bmNfZGlybmFtZV9yZXN1bHQKICAgICAgOzsKICAgICAgKikKICAgICAg
ICAjIEFjdHVhbCBwYXRoIGNvbXBvbmVudCwgYXBwZW5kIGl0LgogICAgICAg
IGZ1bmNfbm9ybWFsX2Fic3BhdGhfcmVzdWx0PSRmdW5jX25vcm1hbF9hYnNw
YXRoX3Jlc3VsdC8kZnVuY19ub3JtYWxfYWJzcGF0aF90Y29tcG9uZW50CiAg
ICAgIDs7CiAgICBlc2FjCiAgZG9uZQogICMgUmVzdG9yZSBsZWFkaW5nIGRv
dWJsZS1zbGFzaCBpZiBvbmUgd2FzIGZvdW5kIG9uIGVudHJ5LgogIGZ1bmNf
bm9ybWFsX2Fic3BhdGhfcmVzdWx0PSRmdW5jX25vcm1hbF9hYnNwYXRoX2Fs
dG5hbWVzcGFjZSRmdW5jX25vcm1hbF9hYnNwYXRoX3Jlc3VsdAp9CgojIGZ1
bmNfcmVsYXRpdmVfcGF0aCBTUkNESVIgRFNURElSCiMgZ2VuZXJhdGVzIGEg
cmVsYXRpdmUgcGF0aCBmcm9tIFNSQ0RJUiB0byBEU1RESVIsIHdpdGggYSB0
cmFpbGluZwojIHNsYXNoIGlmIG5vbi1lbXB0eSwgc3VpdGFibGUgZm9yIGlt
bWVkaWF0ZWx5IGFwcGVuZGluZyBhIGZpbGVuYW1lCiMgd2l0aG91dCBuZWVk
aW5nIHRvIGFwcGVuZCBhIHNlcGFyYXRvci4KIyAgICAgICAgICAgICB2YWx1
ZSByZXR1cm5lZCBpbiAiJGZ1bmNfcmVsYXRpdmVfcGF0aF9yZXN1bHQiCmZ1
bmNfcmVsYXRpdmVfcGF0aCAoKQp7CiAgZnVuY19yZWxhdGl2ZV9wYXRoX3Jl
c3VsdD0KICBmdW5jX25vcm1hbF9hYnNwYXRoICIkMSIKICBmdW5jX3JlbGF0
aXZlX3BhdGhfdGxpYmRpcj0kZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQK
ICBmdW5jX25vcm1hbF9hYnNwYXRoICIkMiIKICBmdW5jX3JlbGF0aXZlX3Bh
dGhfdGJpbmRpcj0kZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQKCiAgIyBB
c2NlbmQgdGhlIHRyZWUgc3RhcnRpbmcgZnJvbSBsaWJkaXIKICB3aGlsZSA6
OyBkbwogICAgIyBjaGVjayBpZiB3ZSBoYXZlIGZvdW5kIGEgcHJlZml4IG9m
IGJpbmRpcgogICAgY2FzZSAkZnVuY19yZWxhdGl2ZV9wYXRoX3RiaW5kaXIg
aW4KICAgICAgJGZ1bmNfcmVsYXRpdmVfcGF0aF90bGliZGlyKQogICAgICAg
ICMgZm91bmQgYW4gZXhhY3QgbWF0Y2gKICAgICAgICBmdW5jX3JlbGF0aXZl
X3BhdGhfdGNhbmNlbGxlZD0KICAgICAgICBicmVhawogICAgICAgIDs7CiAg
ICAgICRmdW5jX3JlbGF0aXZlX3BhdGhfdGxpYmRpciopCiAgICAgICAgIyBm
b3VuZCBhIG1hdGNoaW5nIHByZWZpeAogICAgICAgIGZ1bmNfc3RyaXBuYW1l
ICIkZnVuY19yZWxhdGl2ZV9wYXRoX3RsaWJkaXIiICcnICIkZnVuY19yZWxh
dGl2ZV9wYXRoX3RiaW5kaXIiCiAgICAgICAgZnVuY19yZWxhdGl2ZV9wYXRo
X3RjYW5jZWxsZWQ9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAogICAgICAgIGlm
IHRlc3QgLXogIiRmdW5jX3JlbGF0aXZlX3BhdGhfcmVzdWx0IjsgdGhlbgog
ICAgICAgICAgZnVuY19yZWxhdGl2ZV9wYXRoX3Jlc3VsdD0uCiAgICAgICAg
ZmkKICAgICAgICBicmVhawogICAgICAgIDs7CiAgICAgICopCiAgICAgICAg
ZnVuY19kaXJuYW1lICRmdW5jX3JlbGF0aXZlX3BhdGhfdGxpYmRpcgogICAg
ICAgIGZ1bmNfcmVsYXRpdmVfcGF0aF90bGliZGlyPSR7ZnVuY19kaXJuYW1l
X3Jlc3VsdH0KICAgICAgICBpZiB0ZXN0ICJ4JGZ1bmNfcmVsYXRpdmVfcGF0
aF90bGliZGlyIiA9IHggOyB0aGVuCiAgICAgICAgICAjIEhhdmUgdG8gZGVz
Y2VuZCBhbGwgdGhlIHdheSB0byB0aGUgcm9vdCEKICAgICAgICAgIGZ1bmNf
cmVsYXRpdmVfcGF0aF9yZXN1bHQ9Li4vJGZ1bmNfcmVsYXRpdmVfcGF0aF9y
ZXN1bHQKICAgICAgICAgIGZ1bmNfcmVsYXRpdmVfcGF0aF90Y2FuY2VsbGVk
PSRmdW5jX3JlbGF0aXZlX3BhdGhfdGJpbmRpcgogICAgICAgICAgYnJlYWsK
ICAgICAgICBmaQogICAgICAgIGZ1bmNfcmVsYXRpdmVfcGF0aF9yZXN1bHQ9
Li4vJGZ1bmNfcmVsYXRpdmVfcGF0aF9yZXN1bHQKICAgICAgICA7OwogICAg
ZXNhYwogIGRvbmUKCiAgIyBOb3cgY2FsY3VsYXRlIHBhdGg7IHRha2UgY2Fy
ZSB0byBhdm9pZCBkb3VibGluZy11cCBzbGFzaGVzLgogIGZ1bmNfc3RyaXBu
YW1lICcnICcvJyAiJGZ1bmNfcmVsYXRpdmVfcGF0aF9yZXN1bHQiCiAgZnVu
Y19yZWxhdGl2ZV9wYXRoX3Jlc3VsdD0kZnVuY19zdHJpcG5hbWVfcmVzdWx0
CiAgZnVuY19zdHJpcG5hbWUgJy8nICcvJyAiJGZ1bmNfcmVsYXRpdmVfcGF0
aF90Y2FuY2VsbGVkIgogIGlmIHRlc3QgIngkZnVuY19zdHJpcG5hbWVfcmVz
dWx0IiAhPSB4IDsgdGhlbgogICAgZnVuY19yZWxhdGl2ZV9wYXRoX3Jlc3Vs
dD0ke2Z1bmNfcmVsYXRpdmVfcGF0aF9yZXN1bHR9LyR7ZnVuY19zdHJpcG5h
bWVfcmVzdWx0fQogIGZpCgogICMgTm9ybWFsaXNhdGlvbi4gSWYgYmluZGly
IGlzIGxpYmRpciwgcmV0dXJuIGVtcHR5IHN0cmluZywKICAjIGVsc2UgcmVs
YXRpdmUgcGF0aCBlbmRpbmcgd2l0aCBhIHNsYXNoOyBlaXRoZXIgd2F5LCB0
YXJnZXQKICAjIGZpbGUgbmFtZSBjYW4gYmUgZGlyZWN0bHkgYXBwZW5kZWQu
CiAgaWYgdGVzdCAhIC16ICIkZnVuY19yZWxhdGl2ZV9wYXRoX3Jlc3VsdCI7
IHRoZW4KICAgIGZ1bmNfc3RyaXBuYW1lICcuLycgJycgIiRmdW5jX3JlbGF0
aXZlX3BhdGhfcmVzdWx0LyIKICAgIGZ1bmNfcmVsYXRpdmVfcGF0aF9yZXN1
bHQ9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAogIGZpCn0KCiMgVGhlIG5hbWUg
b2YgdGhpcyBwcm9ncmFtOgpmdW5jX2Rpcm5hbWVfYW5kX2Jhc2VuYW1lICIk
cHJvZ3BhdGgiCnByb2duYW1lPSRmdW5jX2Jhc2VuYW1lX3Jlc3VsdAoKIyBN
YWtlIHN1cmUgd2UgaGF2ZSBhbiBhYnNvbHV0ZSBwYXRoIGZvciByZWV4ZWN1
dGlvbjoKY2FzZSAkcHJvZ3BhdGggaW4KICBbXFwvXSp8W0EtWmEtel06XFwq
KSA7OwogICpbXFwvXSopCiAgICAgcHJvZ2Rpcj0kZnVuY19kaXJuYW1lX3Jl
c3VsdAogICAgIHByb2dkaXI9YGNkICIkcHJvZ2RpciIgJiYgcHdkYAogICAg
IHByb2dwYXRoPSIkcHJvZ2Rpci8kcHJvZ25hbWUiCiAgICAgOzsKICAqKQog
ICAgIHNhdmVfSUZTPSIkSUZTIgogICAgIElGUz0ke1BBVEhfU0VQQVJBVE9S
LTp9CiAgICAgZm9yIHByb2dkaXIgaW4gJFBBVEg7IGRvCiAgICAgICBJRlM9
IiRzYXZlX0lGUyIKICAgICAgIHRlc3QgLXggIiRwcm9nZGlyLyRwcm9nbmFt
ZSIgJiYgYnJlYWsKICAgICBkb25lCiAgICAgSUZTPSIkc2F2ZV9JRlMiCiAg
ICAgdGVzdCAtbiAiJHByb2dkaXIiIHx8IHByb2dkaXI9YHB3ZGAKICAgICBw
cm9ncGF0aD0iJHByb2dkaXIvJHByb2duYW1lIgogICAgIDs7CmVzYWMKCiMg
U2VkIHN1YnN0aXR1dGlvbiB0aGF0IGhlbHBzIHVzIGRvIHJvYnVzdCBxdW90
aW5nLiAgSXQgYmFja3NsYXNoaWZpZXMKIyBtZXRhY2hhcmFjdGVycyB0aGF0
IGFyZSBzdGlsbCBhY3RpdmUgd2l0aGluIGRvdWJsZS1xdW90ZWQgc3RyaW5n
cy4KWHNlZD0iJHtTRUR9IicgLWUgMXMvXlgvLycKc2VkX3F1b3RlX3N1YnN0
PSdzL1woW2AiJFxcXVwpL1xcXDEvZycKCiMgU2FtZSBhcyBhYm92ZSwgYnV0
IGRvIG5vdCBxdW90ZSB2YXJpYWJsZSByZWZlcmVuY2VzLgpkb3VibGVfcXVv
dGVfc3Vic3Q9J3MvXChbImBcXF1cKS9cXFwxL2cnCgojIFNlZCBzdWJzdGl0
dXRpb24gdGhhdCB0dXJucyBhIHN0cmluZyBpbnRvIGEgcmVnZXggbWF0Y2hp
bmcgZm9yIHRoZQojIHN0cmluZyBsaXRlcmFsbHkuCnNlZF9tYWtlX2xpdGVy
YWxfcmVnZXg9J3MsW10uW14kXFwqXC9dLFxcJixnJwoKIyBTZWQgc3Vic3Rp
dHV0aW9uIHRoYXQgY29udmVydHMgYSB3MzIgZmlsZSBuYW1lIG9yIHBhdGgK
IyB3aGljaCBjb250YWlucyBmb3J3YXJkIHNsYXNoZXMsIGludG8gb25lIHRo
YXQgY29udGFpbnMKIyAoZXNjYXBlZCkgYmFja3NsYXNoZXMuICBBIHZlcnkg
bmFpdmUgaW1wbGVtZW50YXRpb24uCmx0X3NlZF9uYWl2ZV9iYWNrc2xhc2hp
Znk9J3N8XFxcXCp8XFx8ZztzfC98XFx8ZztzfFxcfFxcXFx8ZycKCiMgUmUt
YFwnIHBhcmFtZXRlciBleHBhbnNpb25zIGluIG91dHB1dCBvZiBkb3VibGVf
cXVvdGVfc3Vic3QgdGhhdCB3ZXJlCiMgYFwnLWVkIGluIGlucHV0IHRvIHRo
ZSBzYW1lLiAgSWYgYW4gb2RkIG51bWJlciBvZiBgXCcgcHJlY2VkZWQgYSAn
JCcKIyBpbiBpbnB1dCB0byBkb3VibGVfcXVvdGVfc3Vic3QsIHRoYXQgJyQn
IHdhcyBwcm90ZWN0ZWQgZnJvbSBleHBhbnNpb24uCiMgU2luY2UgZWFjaCBp
bnB1dCBgXCcgaXMgbm93IHR3byBgXCdzLCBsb29rIGZvciBhbnkgbnVtYmVy
IG9mIHJ1bnMgb2YKIyBmb3VyIGBcJ3MgZm9sbG93ZWQgYnkgdHdvIGBcJ3Mg
YW5kIHRoZW4gYSAnJCcuICBgXCcgdGhhdCAnJCcuCmJzPSdcXCcKYnMyPSdc
XFxcJwpiczQ9J1xcXFxcXFxcJwpkb2xsYXI9J1wkJwpzZWRfZG91YmxlX2Jh
Y2tzbGFzaD0iXAogIHMvJGJzNC8mXFwKL2cKICBzL14kYnMyJGRvbGxhci8k
YnMmLwogIHMvXFwoW14kYnNdXFwpJGJzMiRkb2xsYXIvXFwxJGJzMiRicyRk
b2xsYXIvZwogIHMvXG4vL2ciCgojIFN0YW5kYXJkIG9wdGlvbnM6Cm9wdF9k
cnlfcnVuPWZhbHNlCm9wdF9oZWxwPWZhbHNlCm9wdF9xdWlldD1mYWxzZQpv
cHRfdmVyYm9zZT1mYWxzZQpvcHRfd2FybmluZz06CgojIGZ1bmNfZWNobyBh
cmcuLi4KIyBFY2hvIHByb2dyYW0gbmFtZSBwcmVmaXhlZCBtZXNzYWdlLCBh
bG9uZyB3aXRoIHRoZSBjdXJyZW50IG1vZGUKIyBuYW1lIGlmIGl0IGhhcyBi
ZWVuIHNldCB5ZXQuCmZ1bmNfZWNobyAoKQp7CiAgICAkRUNITyAiJHByb2du
YW1lOiAke29wdF9tb2RlKyRvcHRfbW9kZTogfSQqIgp9CgojIGZ1bmNfdmVy
Ym9zZSBhcmcuLi4KIyBFY2hvIHByb2dyYW0gbmFtZSBwcmVmaXhlZCBtZXNz
YWdlIGluIHZlcmJvc2UgbW9kZSBvbmx5LgpmdW5jX3ZlcmJvc2UgKCkKewog
ICAgJG9wdF92ZXJib3NlICYmIGZ1bmNfZWNobyAkezErIiRAIn0KCiAgICAj
IEEgYnVnIGluIGJhc2ggaGFsdHMgdGhlIHNjcmlwdCBpZiB0aGUgbGFzdCBs
aW5lIG9mIGEgZnVuY3Rpb24KICAgICMgZmFpbHMgd2hlbiBzZXQgLWUgaXMg
aW4gZm9yY2UsIHNvIHdlIG5lZWQgYW5vdGhlciBjb21tYW5kIHRvCiAgICAj
IHdvcmsgYXJvdW5kIHRoYXQ6CiAgICA6Cn0KCiMgZnVuY19lY2hvX2FsbCBh
cmcuLi4KIyBJbnZva2UgJEVDSE8gd2l0aCBhbGwgYXJncywgc3BhY2Utc2Vw
YXJhdGVkLgpmdW5jX2VjaG9fYWxsICgpCnsKICAgICRFQ0hPICIkKiIKfQoK
IyBmdW5jX2Vycm9yIGFyZy4uLgojIEVjaG8gcHJvZ3JhbSBuYW1lIHByZWZp
eGVkIG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IuCmZ1bmNfZXJyb3IgKCkK
ewogICAgJEVDSE8gIiRwcm9nbmFtZTogJHtvcHRfbW9kZSskb3B0X21vZGU6
IH0iJHsxKyIkQCJ9IDE+JjIKfQoKIyBmdW5jX3dhcm5pbmcgYXJnLi4uCiMg
RWNobyBwcm9ncmFtIG5hbWUgcHJlZml4ZWQgd2FybmluZyBtZXNzYWdlIHRv
IHN0YW5kYXJkIGVycm9yLgpmdW5jX3dhcm5pbmcgKCkKewogICAgJG9wdF93
YXJuaW5nICYmICRFQ0hPICIkcHJvZ25hbWU6ICR7b3B0X21vZGUrJG9wdF9t
b2RlOiB9d2FybmluZzogIiR7MSsiJEAifSAxPiYyCgogICAgIyBiYXNoIGJ1
ZyBhZ2FpbjoKICAgIDoKfQoKIyBmdW5jX2ZhdGFsX2Vycm9yIGFyZy4uLgoj
IEVjaG8gcHJvZ3JhbSBuYW1lIHByZWZpeGVkIG1lc3NhZ2UgdG8gc3RhbmRh
cmQgZXJyb3IsIGFuZCBleGl0LgpmdW5jX2ZhdGFsX2Vycm9yICgpCnsKICAg
IGZ1bmNfZXJyb3IgJHsxKyIkQCJ9CiAgICBleGl0ICRFWElUX0ZBSUxVUkUK
fQoKIyBmdW5jX2ZhdGFsX2hlbHAgYXJnLi4uCiMgRWNobyBwcm9ncmFtIG5h
bWUgcHJlZml4ZWQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciwgZm9sbG93
ZWQgYnkKIyBhIGhlbHAgaGludCwgYW5kIGV4aXQuCmZ1bmNfZmF0YWxfaGVs
cCAoKQp7CiAgICBmdW5jX2Vycm9yICR7MSsiJEAifQogICAgZnVuY19mYXRh
bF9lcnJvciAiJGhlbHAiCn0KaGVscD0iVHJ5IFxgJHByb2duYW1lIC0taGVs
cCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIiAgIyMgZGVmYXVsdAoKCiMgZnVu
Y19ncmVwIGV4cHJlc3Npb24gZmlsZW5hbWUKIyBDaGVjayB3aGV0aGVyIEVY
UFJFU1NJT04gbWF0Y2hlcyBhbnkgbGluZSBvZiBGSUxFTkFNRSwgd2l0aG91
dCBvdXRwdXQuCmZ1bmNfZ3JlcCAoKQp7CiAgICAkR1JFUCAiJDEiICIkMiIg
Pi9kZXYvbnVsbCAyPiYxCn0KCgojIGZ1bmNfbWtkaXJfcCBkaXJlY3Rvcnkt
cGF0aAojIE1ha2Ugc3VyZSB0aGUgZW50aXJlIHBhdGggdG8gRElSRUNUT1JZ
LVBBVEggaXMgYXZhaWxhYmxlLgpmdW5jX21rZGlyX3AgKCkKewogICAgbXlf
ZGlyZWN0b3J5X3BhdGg9IiQxIgogICAgbXlfZGlyX2xpc3Q9CgogICAgaWYg
dGVzdCAtbiAiJG15X2RpcmVjdG9yeV9wYXRoIiAmJiB0ZXN0ICIkb3B0X2Ry
eV9ydW4iICE9ICI6IjsgdGhlbgoKICAgICAgIyBQcm90ZWN0IGRpcmVjdG9y
eSBuYW1lcyBzdGFydGluZyB3aXRoIGAtJwogICAgICBjYXNlICRteV9kaXJl
Y3RvcnlfcGF0aCBpbgogICAgICAgIC0qKSBteV9kaXJlY3RvcnlfcGF0aD0i
Li8kbXlfZGlyZWN0b3J5X3BhdGgiIDs7CiAgICAgIGVzYWMKCiAgICAgICMg
V2hpbGUgc29tZSBwb3J0aW9uIG9mIERJUiBkb2VzIG5vdCB5ZXQgZXhpc3Qu
Li4KICAgICAgd2hpbGUgdGVzdCAhIC1kICIkbXlfZGlyZWN0b3J5X3BhdGgi
OyBkbwogICAgICAgICMgLi4ubWFrZSBhIGxpc3QgaW4gdG9wbW9zdCBmaXJz
dCBvcmRlci4gIFVzZSBhIGNvbG9uIGRlbGltaXRlZAoJIyBsaXN0IGluY2Fz
ZSBzb21lIHBvcnRpb24gb2YgcGF0aCBjb250YWlucyB3aGl0ZXNwYWNlLgog
ICAgICAgIG15X2Rpcl9saXN0PSIkbXlfZGlyZWN0b3J5X3BhdGg6JG15X2Rp
cl9saXN0IgoKICAgICAgICAjIElmIHRoZSBsYXN0IHBvcnRpb24gYWRkZWQg
aGFzIG5vIHNsYXNoIGluIGl0LCB0aGUgbGlzdCBpcyBkb25lCiAgICAgICAg
Y2FzZSAkbXlfZGlyZWN0b3J5X3BhdGggaW4gKi8qKSA7OyAqKSBicmVhayA7
OyBlc2FjCgogICAgICAgICMgLi4ub3RoZXJ3aXNlIHRocm93IGF3YXkgdGhl
IGNoaWxkIGRpcmVjdG9yeSBhbmQgbG9vcAogICAgICAgIG15X2RpcmVjdG9y
eV9wYXRoPWAkRUNITyAiJG15X2RpcmVjdG9yeV9wYXRoIiB8ICRTRUQgLWUg
IiRkaXJuYW1lImAKICAgICAgZG9uZQogICAgICBteV9kaXJfbGlzdD1gJEVD
SE8gIiRteV9kaXJfbGlzdCIgfCAkU0VEICdzLDoqJCwsJ2AKCiAgICAgIHNh
dmVfbWtkaXJfcF9JRlM9IiRJRlMiOyBJRlM9JzonCiAgICAgIGZvciBteV9k
aXIgaW4gJG15X2Rpcl9saXN0OyBkbwoJSUZTPSIkc2F2ZV9ta2Rpcl9wX0lG
UyIKICAgICAgICAjIG1rZGlyIGNhbiBmYWlsIHdpdGggYSBgRmlsZSBleGlz
dCcgZXJyb3IgaWYgdHdvIHByb2Nlc3NlcwogICAgICAgICMgdHJ5IHRvIGNy
ZWF0ZSBvbmUgb2YgdGhlIGRpcmVjdG9yaWVzIGNvbmN1cnJlbnRseS4gIERv
bid0CiAgICAgICAgIyBzdG9wIGluIHRoYXQgY2FzZSEKICAgICAgICAkTUtE
SVIgIiRteV9kaXIiIDI+L2Rldi9udWxsIHx8IDoKICAgICAgZG9uZQogICAg
ICBJRlM9IiRzYXZlX21rZGlyX3BfSUZTIgoKICAgICAgIyBCYWlsIG91dCBp
ZiB3ZSAob3Igc29tZSBvdGhlciBwcm9jZXNzKSBmYWlsZWQgdG8gY3JlYXRl
IGEgZGlyZWN0b3J5LgogICAgICB0ZXN0IC1kICIkbXlfZGlyZWN0b3J5X3Bh
dGgiIHx8IFwKICAgICAgICBmdW5jX2ZhdGFsX2Vycm9yICJGYWlsZWQgdG8g
Y3JlYXRlIFxgJDEnIgogICAgZmkKfQoKCiMgZnVuY19ta3RlbXBkaXIgW3N0
cmluZ10KIyBNYWtlIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSB0aGF0IHdvbid0
IGNsYXNoIHdpdGggb3RoZXIgcnVubmluZwojIGxpYnRvb2wgcHJvY2Vzc2Vz
LCBhbmQgYXZvaWRzIHJhY2UgY29uZGl0aW9ucyBpZiBwb3NzaWJsZS4gIElm
CiMgZ2l2ZW4sIFNUUklORyBpcyB0aGUgYmFzZW5hbWUgZm9yIHRoYXQgZGly
ZWN0b3J5LgpmdW5jX21rdGVtcGRpciAoKQp7CiAgICBteV90ZW1wbGF0ZT0i
JHtUTVBESVItL3RtcH0vJHsxLSRwcm9nbmFtZX0iCgogICAgaWYgdGVzdCAi
JG9wdF9kcnlfcnVuIiA9ICI6IjsgdGhlbgogICAgICAjIFJldHVybiBhIGRp
cmVjdG9yeSBuYW1lLCBidXQgZG9uJ3QgY3JlYXRlIGl0IGluIGRyeS1ydW4g
bW9kZQogICAgICBteV90bXBkaXI9IiR7bXlfdGVtcGxhdGV9LSQkIgogICAg
ZWxzZQoKICAgICAgIyBJZiBta3RlbXAgd29ya3MsIHVzZSB0aGF0IGZpcnN0
IGFuZCBmb3JlbW9zdAogICAgICBteV90bXBkaXI9YG1rdGVtcCAtZCAiJHtt
eV90ZW1wbGF0ZX0tWFhYWFhYWFgiIDI+L2Rldi9udWxsYAoKICAgICAgaWYg
dGVzdCAhIC1kICIkbXlfdG1wZGlyIjsgdGhlbgogICAgICAgICMgRmFpbGlu
ZyB0aGF0LCBhdCBsZWFzdCB0cnkgYW5kIHVzZSAkUkFORE9NIHRvIGF2b2lk
IGEgcmFjZQogICAgICAgIG15X3RtcGRpcj0iJHtteV90ZW1wbGF0ZX0tJHtS
QU5ET00tMH0kJCIKCiAgICAgICAgc2F2ZV9ta3RlbXBkaXJfdW1hc2s9YHVt
YXNrYAogICAgICAgIHVtYXNrIDAwNzcKICAgICAgICAkTUtESVIgIiRteV90
bXBkaXIiCiAgICAgICAgdW1hc2sgJHNhdmVfbWt0ZW1wZGlyX3VtYXNrCiAg
ICAgIGZpCgogICAgICAjIElmIHdlJ3JlIG5vdCBpbiBkcnktcnVuIG1vZGUs
IGJvbWIgb3V0IG9uIGZhaWx1cmUKICAgICAgdGVzdCAtZCAiJG15X3RtcGRp
ciIgfHwgXAogICAgICAgIGZ1bmNfZmF0YWxfZXJyb3IgImNhbm5vdCBjcmVh
dGUgdGVtcG9yYXJ5IGRpcmVjdG9yeSBcYCRteV90bXBkaXInIgogICAgZmkK
CiAgICAkRUNITyAiJG15X3RtcGRpciIKfQoKCiMgZnVuY19xdW90ZV9mb3Jf
ZXZhbCBhcmcKIyBBZXN0aGV0aWNhbGx5IHF1b3RlIEFSRyB0byBiZSBldmFs
ZWQgbGF0ZXIuCiMgVGhpcyBmdW5jdGlvbiByZXR1cm5zIHR3byB2YWx1ZXM6
IEZVTkNfUVVPVEVfRk9SX0VWQUxfUkVTVUxUCiMgaXMgZG91YmxlLXF1b3Rl
ZCwgc3VpdGFibGUgZm9yIGEgc3Vic2VxdWVudCBldmFsLCB3aGVyZWFzCiMg
RlVOQ19RVU9URV9GT1JfRVZBTF9VTlFVT1RFRF9SRVNVTFQgaGFzIG1lcmVs
eSBhbGwgY2hhcmFjdGVycwojIHdoaWNoIGFyZSBzdGlsbCBhY3RpdmUgd2l0
aGluIGRvdWJsZSBxdW90ZXMgYmFja3NsYXNoaWZpZWQuCmZ1bmNfcXVvdGVf
Zm9yX2V2YWwgKCkKewogICAgY2FzZSAkMSBpbgogICAgICAqW1xcXGBcIlwk
XSopCglmdW5jX3F1b3RlX2Zvcl9ldmFsX3VucXVvdGVkX3Jlc3VsdD1gJEVD
SE8gIiQxIiB8ICRTRUQgIiRzZWRfcXVvdGVfc3Vic3QiYCA7OwogICAgICAq
KQogICAgICAgIGZ1bmNfcXVvdGVfZm9yX2V2YWxfdW5xdW90ZWRfcmVzdWx0
PSIkMSIgOzsKICAgIGVzYWMKCiAgICBjYXNlICRmdW5jX3F1b3RlX2Zvcl9l
dmFsX3VucXVvdGVkX3Jlc3VsdCBpbgogICAgICAjIERvdWJsZS1xdW90ZSBh
cmdzIGNvbnRhaW5pbmcgc2hlbGwgbWV0YWNoYXJhY3RlcnMgdG8gZGVsYXkK
ICAgICAgIyB3b3JkIHNwbGl0dGluZywgY29tbWFuZCBzdWJzdGl0dXRpb24g
YW5kIGFuZCB2YXJpYWJsZQogICAgICAjIGV4cGFuc2lvbiBmb3IgYSBzdWJz
ZXF1ZW50IGV2YWwuCiAgICAgICMgTWFueSBCb3VybmUgc2hlbGxzIGNhbm5v
dCBoYW5kbGUgY2xvc2UgYnJhY2tldHMgY29ycmVjdGx5CiAgICAgICMgaW4g
c2NhbiBzZXRzLCBzbyB3ZSBzcGVjaWZ5IGl0IHNlcGFyYXRlbHkuCiAgICAg
ICpbXFtcflwjXF5cJlwqXChcKVx7XH1cfFw7XDxcPlw/XCdcIFwJXSp8Kl0q
fCIiKQogICAgICAgIGZ1bmNfcXVvdGVfZm9yX2V2YWxfcmVzdWx0PSJcIiRm
dW5jX3F1b3RlX2Zvcl9ldmFsX3VucXVvdGVkX3Jlc3VsdFwiIgogICAgICAg
IDs7CiAgICAgICopCiAgICAgICAgZnVuY19xdW90ZV9mb3JfZXZhbF9yZXN1
bHQ9IiRmdW5jX3F1b3RlX2Zvcl9ldmFsX3VucXVvdGVkX3Jlc3VsdCIKICAg
IGVzYWMKfQoKCiMgZnVuY19xdW90ZV9mb3JfZXhwYW5kIGFyZwojIEFlc3Ro
ZXRpY2FsbHkgcXVvdGUgQVJHIHRvIGJlIGV2YWxlZCBsYXRlcjsgc2FtZSBh
cyBhYm92ZSwKIyBidXQgZG8gbm90IHF1b3RlIHZhcmlhYmxlIHJlZmVyZW5j
ZXMuCmZ1bmNfcXVvdGVfZm9yX2V4cGFuZCAoKQp7CiAgICBjYXNlICQxIGlu
CiAgICAgICpbXFxcYFwiXSopCglteV9hcmc9YCRFQ0hPICIkMSIgfCAkU0VE
IFwKCSAgICAtZSAiJGRvdWJsZV9xdW90ZV9zdWJzdCIgLWUgIiRzZWRfZG91
YmxlX2JhY2tzbGFzaCJgIDs7CiAgICAgICopCiAgICAgICAgbXlfYXJnPSIk
MSIgOzsKICAgIGVzYWMKCiAgICBjYXNlICRteV9hcmcgaW4KICAgICAgIyBE
b3VibGUtcXVvdGUgYXJncyBjb250YWluaW5nIHNoZWxsIG1ldGFjaGFyYWN0
ZXJzIHRvIGRlbGF5CiAgICAgICMgd29yZCBzcGxpdHRpbmcgYW5kIGNvbW1h
bmQgc3Vic3RpdHV0aW9uIGZvciBhIHN1YnNlcXVlbnQgZXZhbC4KICAgICAg
IyBNYW55IEJvdXJuZSBzaGVsbHMgY2Fubm90IGhhbmRsZSBjbG9zZSBicmFj
a2V0cyBjb3JyZWN0bHkKICAgICAgIyBpbiBzY2FuIHNldHMsIHNvIHdlIHNw
ZWNpZnkgaXQgc2VwYXJhdGVseS4KICAgICAgKltcW1x+XCNcXlwmXCpcKFwp
XHtcfVx8XDtcPFw+XD9cJ1wgXAldKnwqXSp8IiIpCiAgICAgICAgbXlfYXJn
PSJcIiRteV9hcmdcIiIKICAgICAgICA7OwogICAgZXNhYwoKICAgIGZ1bmNf
cXVvdGVfZm9yX2V4cGFuZF9yZXN1bHQ9IiRteV9hcmciCn0KCgojIGZ1bmNf
c2hvd19ldmFsIGNtZCBbZmFpbF9leHBdCiMgVW5sZXNzIG9wdF9zaWxlbnQg
aXMgdHJ1ZSwgdGhlbiBvdXRwdXQgQ01ELiAgVGhlbiwgaWYgb3B0X2RyeXJ1
biBpcwojIG5vdCB0cnVlLCBldmFsdWF0ZSBDTUQuICBJZiB0aGUgZXZhbHVh
dGlvbiBvZiBDTUQgZmFpbHMsIGFuZCBGQUlMX0VYUAojIGlzIGdpdmVuLCB0
aGVuIGV2YWx1YXRlIGl0LgpmdW5jX3Nob3dfZXZhbCAoKQp7CiAgICBteV9j
bWQ9IiQxIgogICAgbXlfZmFpbF9leHA9IiR7Mi06fSIKCiAgICAke29wdF9z
aWxlbnQtZmFsc2V9IHx8IHsKICAgICAgZnVuY19xdW90ZV9mb3JfZXhwYW5k
ICIkbXlfY21kIgogICAgICBldmFsICJmdW5jX2VjaG8gJGZ1bmNfcXVvdGVf
Zm9yX2V4cGFuZF9yZXN1bHQiCiAgICB9CgogICAgaWYgJHtvcHRfZHJ5X3J1
bi1mYWxzZX07IHRoZW4gOjsgZWxzZQogICAgICBldmFsICIkbXlfY21kIgog
ICAgICBteV9zdGF0dXM9JD8KICAgICAgaWYgdGVzdCAiJG15X3N0YXR1cyIg
LWVxIDA7IHRoZW4gOjsgZWxzZQoJZXZhbCAiKGV4aXQgJG15X3N0YXR1cyk7
ICRteV9mYWlsX2V4cCIKICAgICAgZmkKICAgIGZpCn0KCgojIGZ1bmNfc2hv
d19ldmFsX2xvY2FsZSBjbWQgW2ZhaWxfZXhwXQojIFVubGVzcyBvcHRfc2ls
ZW50IGlzIHRydWUsIHRoZW4gb3V0cHV0IENNRC4gIFRoZW4sIGlmIG9wdF9k
cnlydW4gaXMKIyBub3QgdHJ1ZSwgZXZhbHVhdGUgQ01ELiAgSWYgdGhlIGV2
YWx1YXRpb24gb2YgQ01EIGZhaWxzLCBhbmQgRkFJTF9FWFAKIyBpcyBnaXZl
biwgdGhlbiBldmFsdWF0ZSBpdC4gIFVzZSB0aGUgc2F2ZWQgbG9jYWxlIGZv
ciBldmFsdWF0aW9uLgpmdW5jX3Nob3dfZXZhbF9sb2NhbGUgKCkKewogICAg
bXlfY21kPSIkMSIKICAgIG15X2ZhaWxfZXhwPSIkezItOn0iCgogICAgJHtv
cHRfc2lsZW50LWZhbHNlfSB8fCB7CiAgICAgIGZ1bmNfcXVvdGVfZm9yX2V4
cGFuZCAiJG15X2NtZCIKICAgICAgZXZhbCAiZnVuY19lY2hvICRmdW5jX3F1
b3RlX2Zvcl9leHBhbmRfcmVzdWx0IgogICAgfQoKICAgIGlmICR7b3B0X2Ry
eV9ydW4tZmFsc2V9OyB0aGVuIDo7IGVsc2UKICAgICAgZXZhbCAiJGx0X3Vz
ZXJfbG9jYWxlCgkgICAgJG15X2NtZCIKICAgICAgbXlfc3RhdHVzPSQ/CiAg
ICAgIGV2YWwgIiRsdF9zYWZlX2xvY2FsZSIKICAgICAgaWYgdGVzdCAiJG15
X3N0YXR1cyIgLWVxIDA7IHRoZW4gOjsgZWxzZQoJZXZhbCAiKGV4aXQgJG15
X3N0YXR1cyk7ICRteV9mYWlsX2V4cCIKICAgICAgZmkKICAgIGZpCn0KCiMg
ZnVuY190cl9zaAojIFR1cm4gJDEgaW50byBhIHN0cmluZyBzdWl0YWJsZSBm
b3IgYSBzaGVsbCB2YXJpYWJsZSBuYW1lLgojIFJlc3VsdCBpcyBzdG9yZWQg
aW4gJGZ1bmNfdHJfc2hfcmVzdWx0LiAgQWxsIGNoYXJhY3RlcnMKIyBub3Qg
aW4gdGhlIHNldCBhLXpBLVowLTlfIGFyZSByZXBsYWNlZCB3aXRoICdfJy4g
RnVydGhlciwKIyBpZiAkMSBiZWdpbnMgd2l0aCBhIGRpZ2l0LCBhICdfJyBp
cyBwcmVwZW5kZWQgYXMgd2VsbC4KZnVuY190cl9zaCAoKQp7CiAgY2FzZSAk
MSBpbgogIFswLTldKiB8ICpbIWEtekEtWjAtOV9dKikKICAgIGZ1bmNfdHJf
c2hfcmVzdWx0PWAkRUNITyAiJDEiIHwgJFNFRCAncy9eXChbMC05XVwpL19c
MS87IHMvW15hLXpBLVowLTlfXS9fL2cnYAogICAgOzsKICAqICkKICAgIGZ1
bmNfdHJfc2hfcmVzdWx0PSQxCiAgICA7OwogIGVzYWMKfQoKCiMgZnVuY192
ZXJzaW9uCiMgRWNobyB2ZXJzaW9uIG1lc3NhZ2UgdG8gc3RhbmRhcmQgb3V0
cHV0IGFuZCBleGl0LgpmdW5jX3ZlcnNpb24gKCkKewogICAgJG9wdF9kZWJ1
ZwoKICAgICRTRUQgLW4gJy8oQykvIWIgZ28KCTptb3JlCgkvXC4vIXsKCSAg
TgoJICBzL1xuIyAvIC8KCSAgYiBtb3JlCgl9Cgk6Z28KCS9eIyAnJFBST0dS
QU0nIChHTlUgLywvIyB3YXJyYW50eTsgLyB7CiAgICAgICAgcy9eIyAvLwoJ
cy9eIyAqJC8vCiAgICAgICAgcy9cKChDKVwpWyAwLTksLV0qXCggWzEtOV1b
MC05XSpcKS9cMVwyLwogICAgICAgIHAKICAgICB9JyA8ICIkcHJvZ3BhdGgi
CiAgICAgZXhpdCAkPwp9CgojIGZ1bmNfdXNhZ2UKIyBFY2hvIHNob3J0IGhl
bHAgbWVzc2FnZSB0byBzdGFuZGFyZCBvdXRwdXQgYW5kIGV4aXQuCmZ1bmNf
dXNhZ2UgKCkKewogICAgJG9wdF9kZWJ1ZwoKICAgICRTRUQgLW4gJy9eIyBV
c2FnZTovLC9eIyAgKi4qLS1oZWxwLyB7CiAgICAgICAgcy9eIyAvLwoJcy9e
IyAqJC8vCglzL1wkcHJvZ25hbWUvJyRwcm9nbmFtZScvCglwCiAgICB9JyA8
ICIkcHJvZ3BhdGgiCiAgICBlY2hvCiAgICAkRUNITyAicnVuIFxgJHByb2du
YW1lIC0taGVscCB8IG1vcmUnIGZvciBmdWxsIHVzYWdlIgogICAgZXhpdCAk
Pwp9CgojIGZ1bmNfaGVscCBbTk9FWElUXQojIEVjaG8gbG9uZyBoZWxwIG1l
c3NhZ2UgdG8gc3RhbmRhcmQgb3V0cHV0IGFuZCBleGl0LAojIHVubGVzcyAn
bm9leGl0JyBpcyBwYXNzZWQgYXMgYXJndW1lbnQuCmZ1bmNfaGVscCAoKQp7
CiAgICAkb3B0X2RlYnVnCgogICAgJFNFRCAtbiAnL14jIFVzYWdlOi8sLyMg
UmVwb3J0IGJ1Z3MgdG8vIHsKCTpwcmludAogICAgICAgIHMvXiMgLy8KCXMv
XiMgKiQvLwoJcypcJHByb2duYW1lKickcHJvZ25hbWUnKgoJcypcJGhvc3Qq
JyIkaG9zdCInKgoJcypcJFNIRUxMKiciJFNIRUxMIicqCglzKlwkTFRDQyon
IiRMVENDIicqCglzKlwkTFRDRkxBR1MqJyIkTFRDRkxBR1MiJyoKCXMqXCRM
RConIiRMRCInKgoJcy9cJHdpdGhfZ251X2xkLyciJHdpdGhfZ251X2xkIicv
CglzL1wkYXV0b21ha2VfdmVyc2lvbi8nImAoJHtBVVRPTUFLRS1hdXRvbWFr
ZX0gLS12ZXJzaW9uKSAyPi9kZXYvbnVsbCB8JFNFRCAxcWAiJy8KCXMvXCRh
dXRvY29uZl92ZXJzaW9uLyciYCgke0FVVE9DT05GLWF1dG9jb25mfSAtLXZl
cnNpb24pIDI+L2Rldi9udWxsIHwkU0VEIDFxYCInLwoJcAoJZAogICAgIH0K
ICAgICAvXiMgLiogaG9tZSBwYWdlOi9iIHByaW50CiAgICAgL14jIEdlbmVy
YWwgaGVscCB1c2luZy9iIHByaW50CiAgICAgJyA8ICIkcHJvZ3BhdGgiCiAg
ICByZXQ9JD8KICAgIGlmIHRlc3QgLXogIiQxIjsgdGhlbgogICAgICBleGl0
ICRyZXQKICAgIGZpCn0KCiMgZnVuY19taXNzaW5nX2FyZyBhcmduYW1lCiMg
RWNobyBwcm9ncmFtIG5hbWUgcHJlZml4ZWQgbWVzc2FnZSB0byBzdGFuZGFy
ZCBlcnJvciBhbmQgc2V0IGdsb2JhbAojIGV4aXRfY21kLgpmdW5jX21pc3Np
bmdfYXJnICgpCnsKICAgICRvcHRfZGVidWcKCiAgICBmdW5jX2Vycm9yICJt
aXNzaW5nIGFyZ3VtZW50IGZvciAkMS4iCiAgICBleGl0X2NtZD1leGl0Cn0K
CgojIGZ1bmNfc3BsaXRfc2hvcnRfb3B0IHNob3J0b3B0CiMgU2V0IGZ1bmNf
c3BsaXRfc2hvcnRfb3B0X25hbWUgYW5kIGZ1bmNfc3BsaXRfc2hvcnRfb3B0
X2FyZyBzaGVsbAojIHZhcmlhYmxlcyBhZnRlciBzcGxpdHRpbmcgU0hPUlRP
UFQgYWZ0ZXIgdGhlIDJuZCBjaGFyYWN0ZXIuCmZ1bmNfc3BsaXRfc2hvcnRf
b3B0ICgpCnsKICAgIGZ1bmNfc3BsaXRfc2hvcnRfb3B0X2FyZz0kezEjPz99
CiAgICBmdW5jX3NwbGl0X3Nob3J0X29wdF9uYW1lPSR7MSUiJGZ1bmNfc3Bs
aXRfc2hvcnRfb3B0X2FyZyJ9Cn0gIyBFeHRlbmRlZC1zaGVsbCBmdW5jX3Nw
bGl0X3Nob3J0X29wdCBpbXBsZW1lbnRhdGlvbgoKCiMgZnVuY19zcGxpdF9s
b25nX29wdCBsb25nb3B0CiMgU2V0IGZ1bmNfc3BsaXRfbG9uZ19vcHRfbmFt
ZSBhbmQgZnVuY19zcGxpdF9sb25nX29wdF9hcmcgc2hlbGwKIyB2YXJpYWJs
ZXMgYWZ0ZXIgc3BsaXR0aW5nIExPTkdPUFQgYXQgdGhlIGA9JyBzaWduLgpm
dW5jX3NwbGl0X2xvbmdfb3B0ICgpCnsKICAgIGZ1bmNfc3BsaXRfbG9uZ19v
cHRfbmFtZT0kezElJT0qfQogICAgZnVuY19zcGxpdF9sb25nX29wdF9hcmc9
JHsxIyo9fQp9ICMgRXh0ZW5kZWQtc2hlbGwgZnVuY19zcGxpdF9sb25nX29w
dCBpbXBsZW1lbnRhdGlvbgoKZXhpdF9jbWQ9OgoKCgoKCm1hZ2ljPSIlJSVN
QUdJQyB2YXJpYWJsZSUlJSIKbWFnaWNfZXhlPSIlJSVNQUdJQyBFWEUgdmFy
aWFibGUlJSUiCgojIEdsb2JhbCB2YXJpYWJsZXMuCm5vbm9wdD0KcHJlc2Vy
dmVfYXJncz0KbG8ybz0icy9cXC5sb1wkLy4ke29iamV4dH0vIgpvMmxvPSJz
L1xcLiR7b2JqZXh0fVwkLy5sby8iCmV4dHJhY3RlZF9hcmNoaXZlcz0KZXh0
cmFjdGVkX3NlcmlhbD0wCgojIElmIHRoaXMgdmFyaWFibGUgaXMgc2V0IGlu
IGFueSBvZiB0aGUgYWN0aW9ucywgdGhlIGNvbW1hbmQgaW4gaXQKIyB3aWxs
IGJlIGV4ZWNlZCBhdCB0aGUgZW5kLiAgVGhpcyBwcmV2ZW50cyBoZXJlLWRv
Y3VtZW50cyBmcm9tIGJlaW5nCiMgbGVmdCBvdmVyIGJ5IHNoZWxscy4KZXhl
Y19jbWQ9CgojIGZ1bmNfYXBwZW5kIHZhciB2YWx1ZQojIEFwcGVuZCBWQUxV
RSB0byB0aGUgZW5kIG9mIHNoZWxsIHZhcmlhYmxlIFZBUi4KZnVuY19hcHBl
bmQgKCkKewogICAgZXZhbCAiJHsxfSs9XCR7Mn0iCn0gIyBFeHRlbmRlZC1z
aGVsbCBmdW5jX2FwcGVuZCBpbXBsZW1lbnRhdGlvbgoKIyBmdW5jX2FwcGVu
ZF9xdW90ZWQgdmFyIHZhbHVlCiMgUXVvdGUgVkFMVUUgYW5kIGFwcGVuZCB0
byB0aGUgZW5kIG9mIHNoZWxsIHZhcmlhYmxlIFZBUiwgc2VwYXJhdGVkCiMg
YnkgYSBzcGFjZS4KZnVuY19hcHBlbmRfcXVvdGVkICgpCnsKICAgIGZ1bmNf
cXVvdGVfZm9yX2V2YWwgIiR7Mn0iCiAgICBldmFsICIkezF9Kz1cXCBcJGZ1
bmNfcXVvdGVfZm9yX2V2YWxfcmVzdWx0Igp9ICMgRXh0ZW5kZWQtc2hlbGwg
ZnVuY19hcHBlbmRfcXVvdGVkIGltcGxlbWVudGF0aW9uCgoKIyBmdW5jX2Fy
aXRoIGFyaXRobWV0aWMtdGVybS4uLgpmdW5jX2FyaXRoICgpCnsKICAgIGZ1
bmNfYXJpdGhfcmVzdWx0PSQoKCAkKiApKQp9ICMgRXh0ZW5kZWQtc2hlbGwg
ZnVuY19hcml0aCBpbXBsZW1lbnRhdGlvbgoKCiMgZnVuY19sZW4gc3RyaW5n
CiMgU1RSSU5HIG1heSBub3Qgc3RhcnQgd2l0aCBhIGh5cGhlbi4KZnVuY19s
ZW4gKCkKewogICAgZnVuY19sZW5fcmVzdWx0PSR7IzF9Cn0gIyBFeHRlbmRl
ZC1zaGVsbCBmdW5jX2xlbiBpbXBsZW1lbnRhdGlvbgoKCiMgZnVuY19sbzJv
IG9iamVjdApmdW5jX2xvMm8gKCkKewogICAgY2FzZSAkezF9IGluCiAgICAg
ICoubG8pIGZ1bmNfbG8yb19yZXN1bHQ9JHsxJS5sb30uJHtvYmpleHR9IDs7
CiAgICAgICopICAgIGZ1bmNfbG8yb19yZXN1bHQ9JHsxfSA7OwogICAgZXNh
Ywp9ICMgRXh0ZW5kZWQtc2hlbGwgZnVuY19sbzJvIGltcGxlbWVudGF0aW9u
CgoKIyBmdW5jX3hmb3JtIGxpYm9iai1vci1zb3VyY2UKZnVuY194Zm9ybSAo
KQp7CiAgICBmdW5jX3hmb3JtX3Jlc3VsdD0kezElLip9LmxvCn0gIyBFeHRl
bmRlZC1zaGVsbCBmdW5jX3hmb3JtIGltcGxlbWVudGF0aW9uCgoKIyBmdW5j
X2ZhdGFsX2NvbmZpZ3VyYXRpb24gYXJnLi4uCiMgRWNobyBwcm9ncmFtIG5h
bWUgcHJlZml4ZWQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciwgZm9sbG93
ZWQgYnkKIyBhIGNvbmZpZ3VyYXRpb24gZmFpbHVyZSBoaW50LCBhbmQgZXhp
dC4KZnVuY19mYXRhbF9jb25maWd1cmF0aW9uICgpCnsKICAgIGZ1bmNfZXJy
b3IgJHsxKyIkQCJ9CiAgICBmdW5jX2Vycm9yICJTZWUgdGhlICRQQUNLQUdF
IGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uIgogICAgZnVu
Y19mYXRhbF9lcnJvciAiRmF0YWwgY29uZmlndXJhdGlvbiBlcnJvci4iCn0K
CgojIGZ1bmNfY29uZmlnCiMgRGlzcGxheSB0aGUgY29uZmlndXJhdGlvbiBm
b3IgYWxsIHRoZSB0YWdzIGluIHRoaXMgc2NyaXB0LgpmdW5jX2NvbmZpZyAo
KQp7CiAgICByZV9iZWdpbmNmPSdeIyAjIyMgQkVHSU4gTElCVE9PTCcKICAg
IHJlX2VuZGNmPSdeIyAjIyMgRU5EIExJQlRPT0wnCgogICAgIyBEZWZhdWx0
IGNvbmZpZ3VyYXRpb24uCiAgICAkU0VEICIxLC8kcmVfYmVnaW5jZiBDT05G
SUcvZDsvJHJlX2VuZGNmIENPTkZJRy8sXCRkIiA8ICIkcHJvZ3BhdGgiCgog
ICAgIyBOb3cgcHJpbnQgdGhlIGNvbmZpZ3VyYXRpb25zIGZvciB0aGUgdGFn
cy4KICAgIGZvciB0YWduYW1lIGluICR0YWdsaXN0OyBkbwogICAgICAkU0VE
IC1uICIvJHJlX2JlZ2luY2YgVEFHIENPTkZJRzogJHRhZ25hbWVcJC8sLyRy
ZV9lbmRjZiBUQUcgQ09ORklHOiAkdGFnbmFtZVwkL3AiIDwgIiRwcm9ncGF0
aCIKICAgIGRvbmUKCiAgICBleGl0ICQ/Cn0KCiMgZnVuY19mZWF0dXJlcwoj
IERpc3BsYXkgdGhlIGZlYXR1cmVzIHN1cHBvcnRlZCBieSB0aGlzIHNjcmlw
dC4KZnVuY19mZWF0dXJlcyAoKQp7CiAgICBlY2hvICJob3N0OiAkaG9zdCIK
ICAgIGlmIHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiID0geWVzOyB0aGVu
CiAgICAgIGVjaG8gImVuYWJsZSBzaGFyZWQgbGlicmFyaWVzIgogICAgZWxz
ZQogICAgICBlY2hvICJkaXNhYmxlIHNoYXJlZCBsaWJyYXJpZXMiCiAgICBm
aQogICAgaWYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IHllczsgdGhlbgog
ICAgICBlY2hvICJlbmFibGUgc3RhdGljIGxpYnJhcmllcyIKICAgIGVsc2UK
ICAgICAgZWNobyAiZGlzYWJsZSBzdGF0aWMgbGlicmFyaWVzIgogICAgZmkK
CiAgICBleGl0ICQ/Cn0KCiMgZnVuY19lbmFibGVfdGFnIHRhZ25hbWUKIyBW
ZXJpZnkgdGhhdCBUQUdOQU1FIGlzIHZhbGlkLCBhbmQgZWl0aGVyIGZsYWcg
YW4gZXJyb3IgYW5kIGV4aXQsIG9yCiMgZW5hYmxlIHRoZSBUQUdOQU1FIHRh
Zy4gIFdlIGFsc28gYWRkIFRBR05BTUUgdG8gdGhlIGdsb2JhbCAkdGFnbGlz
dAojIHZhcmlhYmxlIGhlcmUuCmZ1bmNfZW5hYmxlX3RhZyAoKQp7CiAgIyBH
bG9iYWwgdmFyaWFibGU6CiAgdGFnbmFtZT0iJDEiCgogIHJlX2JlZ2luY2Y9
Il4jICMjIyBCRUdJTiBMSUJUT09MIFRBRyBDT05GSUc6ICR0YWduYW1lXCQi
CiAgcmVfZW5kY2Y9Il4jICMjIyBFTkQgTElCVE9PTCBUQUcgQ09ORklHOiAk
dGFnbmFtZVwkIgogIHNlZF9leHRyYWN0Y2Y9Ii8kcmVfYmVnaW5jZi8sLyRy
ZV9lbmRjZi9wIgoKICAjIFZhbGlkYXRlIHRhZ25hbWUuCiAgY2FzZSAkdGFn
bmFtZSBpbgogICAgKlshLV9BLVphLXowLTksL10qKQogICAgICBmdW5jX2Zh
dGFsX2Vycm9yICJpbnZhbGlkIHRhZyBuYW1lOiAkdGFnbmFtZSIKICAgICAg
OzsKICBlc2FjCgogICMgRG9uJ3QgdGVzdCBmb3IgdGhlICJkZWZhdWx0IiBD
IHRhZywgYXMgd2Uga25vdyBpdCdzCiAgIyB0aGVyZSBidXQgbm90IHNwZWNp
YWxseSBtYXJrZWQuCiAgY2FzZSAkdGFnbmFtZSBpbgogICAgQ0MpIDs7CiAg
ICAqKQogICAgICBpZiAkR1JFUCAiJHJlX2JlZ2luY2YiICIkcHJvZ3BhdGgi
ID4vZGV2L251bGwgMj4mMTsgdGhlbgoJdGFnbGlzdD0iJHRhZ2xpc3QgJHRh
Z25hbWUiCgoJIyBFdmFsdWF0ZSB0aGUgY29uZmlndXJhdGlvbi4gIEJlIGNh
cmVmdWwgdG8gcXVvdGUgdGhlIHBhdGgKCSMgYW5kIHRoZSBzZWQgc2NyaXB0
LCB0byBhdm9pZCBzcGxpdHRpbmcgb24gd2hpdGVzcGFjZSwgYnV0CgkjIGFs
c28gZG9uJ3QgdXNlIG5vbi1wb3J0YWJsZSBxdW90ZXMgd2l0aGluIGJhY2tx
dW90ZXMgd2l0aGluCgkjIHF1b3RlcyB3ZSBoYXZlIHRvIGRvIGl0IGluIDIg
c3RlcHM6CglleHRyYWN0ZWRjZj1gJFNFRCAtbiAtZSAiJHNlZF9leHRyYWN0
Y2YiIDwgIiRwcm9ncGF0aCJgCglldmFsICIkZXh0cmFjdGVkY2YiCiAgICAg
IGVsc2UKCWZ1bmNfZXJyb3IgImlnbm9yaW5nIHVua25vd24gdGFnICR0YWdu
YW1lIgogICAgICBmaQogICAgICA7OwogIGVzYWMKfQoKIyBmdW5jX2NoZWNr
X3ZlcnNpb25fbWF0Y2gKIyBFbnN1cmUgdGhhdCB3ZSBhcmUgdXNpbmcgbTQg
bWFjcm9zLCBhbmQgbGlidG9vbCBzY3JpcHQgZnJvbSB0aGUgc2FtZQojIHJl
bGVhc2Ugb2YgbGlidG9vbC4KZnVuY19jaGVja192ZXJzaW9uX21hdGNoICgp
CnsKICBpZiB0ZXN0ICIkcGFja2FnZV9yZXZpc2lvbiIgIT0gIiRtYWNyb19y
ZXZpc2lvbiI7IHRoZW4KICAgIGlmIHRlc3QgIiRWRVJTSU9OIiAhPSAiJG1h
Y3JvX3ZlcnNpb24iOyB0aGVuCiAgICAgIGlmIHRlc3QgLXogIiRtYWNyb192
ZXJzaW9uIjsgdGhlbgogICAgICAgIGNhdCA+JjIgPDxfTFRfRU9GCiRwcm9n
bmFtZTogVmVyc2lvbiBtaXNtYXRjaCBlcnJvci4gIFRoaXMgaXMgJFBBQ0tB
R0UgJFZFUlNJT04sIGJ1dCB0aGUKJHByb2duYW1lOiBkZWZpbml0aW9uIG9m
IHRoaXMgTFRfSU5JVCBjb21lcyBmcm9tIGFuIG9sZGVyIHJlbGVhc2UuCiRw
cm9nbmFtZTogWW91IHNob3VsZCByZWNyZWF0ZSBhY2xvY2FsLm00IHdpdGgg
bWFjcm9zIGZyb20gJFBBQ0tBR0UgJFZFUlNJT04KJHByb2duYW1lOiBhbmQg
cnVuIGF1dG9jb25mIGFnYWluLgpfTFRfRU9GCiAgICAgIGVsc2UKICAgICAg
ICBjYXQgPiYyIDw8X0xUX0VPRgokcHJvZ25hbWU6IFZlcnNpb24gbWlzbWF0
Y2ggZXJyb3IuICBUaGlzIGlzICRQQUNLQUdFICRWRVJTSU9OLCBidXQgdGhl
CiRwcm9nbmFtZTogZGVmaW5pdGlvbiBvZiB0aGlzIExUX0lOSVQgY29tZXMg
ZnJvbSAkUEFDS0FHRSAkbWFjcm9fdmVyc2lvbi4KJHByb2duYW1lOiBZb3Ug
c2hvdWxkIHJlY3JlYXRlIGFjbG9jYWwubTQgd2l0aCBtYWNyb3MgZnJvbSAk
UEFDS0FHRSAkVkVSU0lPTgokcHJvZ25hbWU6IGFuZCBydW4gYXV0b2NvbmYg
YWdhaW4uCl9MVF9FT0YKICAgICAgZmkKICAgIGVsc2UKICAgICAgY2F0ID4m
MiA8PF9MVF9FT0YKJHByb2duYW1lOiBWZXJzaW9uIG1pc21hdGNoIGVycm9y
LiAgVGhpcyBpcyAkUEFDS0FHRSAkVkVSU0lPTiwgcmV2aXNpb24gJHBhY2th
Z2VfcmV2aXNpb24sCiRwcm9nbmFtZTogYnV0IHRoZSBkZWZpbml0aW9uIG9m
IHRoaXMgTFRfSU5JVCBjb21lcyBmcm9tIHJldmlzaW9uICRtYWNyb19yZXZp
c2lvbi4KJHByb2duYW1lOiBZb3Ugc2hvdWxkIHJlY3JlYXRlIGFjbG9jYWwu
bTQgd2l0aCBtYWNyb3MgZnJvbSByZXZpc2lvbiAkcGFja2FnZV9yZXZpc2lv
bgokcHJvZ25hbWU6IG9mICRQQUNLQUdFICRWRVJTSU9OIGFuZCBydW4gYXV0
b2NvbmYgYWdhaW4uCl9MVF9FT0YKICAgIGZpCgogICAgZXhpdCAkRVhJVF9N
SVNNQVRDSAogIGZpCn0KCgojIFNob3J0aGFuZCBmb3IgLS1tb2RlPWZvbywg
b25seSB2YWxpZCBhcyB0aGUgZmlyc3QgYXJndW1lbnQKY2FzZSAkMSBpbgpj
bGVhbnxjbGVhfGNsZXxjbCkKICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBj
bGVhbiAkezErIiRAIn07IHNoaWZ0CiAgOzsKY29tcGlsZXxjb21waWx8Y29t
cGl8Y29tcHxjb218Y298YykKICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBj
b21waWxlICR7MSsiJEAifTsgc2hpZnQKICA7OwpleGVjdXRlfGV4ZWN1dHxl
eGVjdXxleGVjfGV4ZXxleHxlKQogIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2Rl
IGV4ZWN1dGUgJHsxKyIkQCJ9OyBzaGlmdAogIDs7CmZpbmlzaHxmaW5pc3xm
aW5pfGZpbnxmaXxmKQogIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGZpbmlz
aCAkezErIiRAIn07IHNoaWZ0CiAgOzsKaW5zdGFsbHxpbnN0YWx8aW5zdGF8
aW5zdHxpbnN8aW58aSkKICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBpbnN0
YWxsICR7MSsiJEAifTsgc2hpZnQKICA7OwpsaW5rfGxpbnxsaXxsKQogIHNo
aWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGxpbmsgJHsxKyIkQCJ9OyBzaGlmdAog
IDs7CnVuaW5zdGFsbHx1bmluc3RhbHx1bmluc3RhfHVuaW5zdHx1bmluc3x1
bmlufHVuaXx1bnx1KQogIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIHVuaW5z
dGFsbCAkezErIiRAIn07IHNoaWZ0CiAgOzsKZXNhYwoKCgojIE9wdGlvbiBk
ZWZhdWx0czoKb3B0X2RlYnVnPToKb3B0X2RyeV9ydW49ZmFsc2UKb3B0X2Nv
bmZpZz1mYWxzZQpvcHRfcHJlc2VydmVfZHVwX2RlcHM9ZmFsc2UKb3B0X2Zl
YXR1cmVzPWZhbHNlCm9wdF9maW5pc2g9ZmFsc2UKb3B0X2hlbHA9ZmFsc2UK
b3B0X2hlbHBfYWxsPWZhbHNlCm9wdF9zaWxlbnQ9OgpvcHRfd2FybmluZz06
Cm9wdF92ZXJib3NlPToKb3B0X3NpbGVudD1mYWxzZQpvcHRfdmVyYm9zZT1m
YWxzZQoKCiMgUGFyc2Ugb3B0aW9ucyBvbmNlLCB0aG9yb3VnaGx5LiAgVGhp
cyBjb21lcyBhcyBzb29uIGFzIHBvc3NpYmxlIGluIHRoZQojIHNjcmlwdCB0
byBtYWtlIHRoaW5ncyBsaWtlIGAtLXZlcnNpb24nIGhhcHBlbiBhcyBxdWlj
a2x5IGFzIHdlIGNhbi4KewogICMgdGhpcyBqdXN0IGVhc2VzIGV4aXQgaGFu
ZGxpbmcKICB3aGlsZSB0ZXN0ICQjIC1ndCAwOyBkbwogICAgb3B0PSIkMSIK
ICAgIHNoaWZ0CiAgICBjYXNlICRvcHQgaW4KICAgICAgLS1kZWJ1Z3wteCkJ
b3B0X2RlYnVnPSdzZXQgLXgnCgkJCWZ1bmNfZWNobyAiZW5hYmxpbmcgc2hl
bGwgdHJhY2UgbW9kZSIKCQkJJG9wdF9kZWJ1ZwoJCQk7OwogICAgICAtLWRy
eS1ydW58LS1kcnlydW58LW4pCgkJCW9wdF9kcnlfcnVuPToKCQkJOzsKICAg
ICAgLS1jb25maWcpCgkJCW9wdF9jb25maWc9OgpmdW5jX2NvbmZpZwoJCQk7
OwogICAgICAtLWRsb3BlbnwtZGxvcGVuKQoJCQlvcHRhcmc9IiQxIgoJCQlv
cHRfZGxvcGVuPSIke29wdF9kbG9wZW4rJG9wdF9kbG9wZW4KfSRvcHRhcmci
CgkJCXNoaWZ0CgkJCTs7CiAgICAgIC0tcHJlc2VydmUtZHVwLWRlcHMpCgkJ
CW9wdF9wcmVzZXJ2ZV9kdXBfZGVwcz06CgkJCTs7CiAgICAgIC0tZmVhdHVy
ZXMpCgkJCW9wdF9mZWF0dXJlcz06CmZ1bmNfZmVhdHVyZXMKCQkJOzsKICAg
ICAgLS1maW5pc2gpCgkJCW9wdF9maW5pc2g9OgpzZXQgZHVtbXkgLS1tb2Rl
IGZpbmlzaCAkezErIiRAIn07IHNoaWZ0CgkJCTs7CiAgICAgIC0taGVscCkK
CQkJb3B0X2hlbHA9OgoJCQk7OwogICAgICAtLWhlbHAtYWxsKQoJCQlvcHRf
aGVscF9hbGw9OgpvcHRfaGVscD0nOiBoZWxwLWFsbCcKCQkJOzsKICAgICAg
LS1tb2RlKQoJCQl0ZXN0ICQjID0gMCAmJiBmdW5jX21pc3NpbmdfYXJnICRv
cHQgJiYgYnJlYWsKCQkJb3B0YXJnPSIkMSIKCQkJb3B0X21vZGU9IiRvcHRh
cmciCmNhc2UgJG9wdGFyZyBpbgogICMgVmFsaWQgbW9kZSBhcmd1bWVudHM6
CiAgY2xlYW58Y29tcGlsZXxleGVjdXRlfGZpbmlzaHxpbnN0YWxsfGxpbmt8
cmVsaW5rfHVuaW5zdGFsbCkgOzsKCiAgIyBDYXRjaCBhbnl0aGluZyBlbHNl
IGFzIGFuIGVycm9yCiAgKikgZnVuY19lcnJvciAiaW52YWxpZCBhcmd1bWVu
dCBmb3IgJG9wdCIKICAgICBleGl0X2NtZD1leGl0CiAgICAgYnJlYWsKICAg
ICA7Owplc2FjCgkJCXNoaWZ0CgkJCTs7CiAgICAgIC0tbm8tc2lsZW50fC0t
bm8tcXVpZXQpCgkJCW9wdF9zaWxlbnQ9ZmFsc2UKcHJlc2VydmVfYXJncys9
IiAkb3B0IgoJCQk7OwogICAgICAtLW5vLXdhcm5pbmd8LS1uby13YXJuKQoJ
CQlvcHRfd2FybmluZz1mYWxzZQpwcmVzZXJ2ZV9hcmdzKz0iICRvcHQiCgkJ
CTs7CiAgICAgIC0tbm8tdmVyYm9zZSkKCQkJb3B0X3ZlcmJvc2U9ZmFsc2UK
cHJlc2VydmVfYXJncys9IiAkb3B0IgoJCQk7OwogICAgICAtLXNpbGVudHwt
LXF1aWV0KQoJCQlvcHRfc2lsZW50PToKcHJlc2VydmVfYXJncys9IiAkb3B0
IgogICAgICAgIG9wdF92ZXJib3NlPWZhbHNlCgkJCTs7CiAgICAgIC0tdmVy
Ym9zZXwtdikKCQkJb3B0X3ZlcmJvc2U9OgpwcmVzZXJ2ZV9hcmdzKz0iICRv
cHQiCm9wdF9zaWxlbnQ9ZmFsc2UKCQkJOzsKICAgICAgLS10YWcpCgkJCXRl
c3QgJCMgPSAwICYmIGZ1bmNfbWlzc2luZ19hcmcgJG9wdCAmJiBicmVhawoJ
CQlvcHRhcmc9IiQxIgoJCQlvcHRfdGFnPSIkb3B0YXJnIgpwcmVzZXJ2ZV9h
cmdzKz0iICRvcHQgJG9wdGFyZyIKZnVuY19lbmFibGVfdGFnICIkb3B0YXJn
IgoJCQlzaGlmdAoJCQk7OwoKICAgICAgLVw/fC1oKQkJZnVuY191c2FnZQkJ
CQk7OwogICAgICAtLWhlbHApCQlmdW5jX2hlbHAJCQkJOzsKICAgICAgLS12
ZXJzaW9uKQlmdW5jX3ZlcnNpb24JCQkJOzsKCiAgICAgICMgU2VwYXJhdGUg
b3B0YXJncyB0byBsb25nIG9wdGlvbnM6CiAgICAgIC0tKj0qKQoJCQlmdW5j
X3NwbGl0X2xvbmdfb3B0ICIkb3B0IgoJCQlzZXQgZHVtbXkgIiRmdW5jX3Nw
bGl0X2xvbmdfb3B0X25hbWUiICIkZnVuY19zcGxpdF9sb25nX29wdF9hcmci
ICR7MSsiJEAifQoJCQlzaGlmdAoJCQk7OwoKICAgICAgIyBTZXBhcmF0ZSBu
b24tYXJndW1lbnQgc2hvcnQgb3B0aW9uczoKICAgICAgLVw/KnwtaCp8LW4q
fC12KikKCQkJZnVuY19zcGxpdF9zaG9ydF9vcHQgIiRvcHQiCgkJCXNldCBk
dW1teSAiJGZ1bmNfc3BsaXRfc2hvcnRfb3B0X25hbWUiICItJGZ1bmNfc3Bs
aXRfc2hvcnRfb3B0X2FyZyIgJHsxKyIkQCJ9CgkJCXNoaWZ0CgkJCTs7Cgog
ICAgICAtLSkJCWJyZWFrCQkJCQk7OwogICAgICAtKikJCWZ1bmNfZmF0YWxf
aGVscCAidW5yZWNvZ25pemVkIG9wdGlvbiBcYCRvcHQnIiA7OwogICAgICAq
KQkJc2V0IGR1bW15ICIkb3B0IiAkezErIiRAIn07CXNoaWZ0OyBicmVhayAg
OzsKICAgIGVzYWMKICBkb25lCgogICMgVmFsaWRhdGUgb3B0aW9uczoKCiAg
IyBzYXZlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQKICBpZiB0ZXN0ICIk
IyIgLWd0IDA7IHRoZW4KICAgIG5vbm9wdD0iJG9wdCIKICAgIHNoaWZ0CiAg
ZmkKCiAgIyBwcmVzZXJ2ZSAtLWRlYnVnCiAgdGVzdCAiJG9wdF9kZWJ1ZyIg
PSA6IHx8IHByZXNlcnZlX2FyZ3MrPSIgLS1kZWJ1ZyIKCiAgY2FzZSAkaG9z
dCBpbgogICAgKmN5Z3dpbiogfCAqbWluZ3cqIHwgKnB3MzIqIHwgKmNlZ2Nj
KikKICAgICAgIyBkb24ndCBlbGltaW5hdGUgZHVwbGljYXRpb25zIGluICRw
b3N0ZGVwcyBhbmQgJHByZWRlcHMKICAgICAgb3B0X2R1cGxpY2F0ZV9jb21w
aWxlcl9nZW5lcmF0ZWRfZGVwcz06CiAgICAgIDs7CiAgICAqKQogICAgICBv
cHRfZHVwbGljYXRlX2NvbXBpbGVyX2dlbmVyYXRlZF9kZXBzPSRvcHRfcHJl
c2VydmVfZHVwX2RlcHMKICAgICAgOzsKICBlc2FjCgogICRvcHRfaGVscCB8
fCB7CiAgICAjIFNhbml0eSBjaGVja3MgZmlyc3Q6CiAgICBmdW5jX2NoZWNr
X3ZlcnNpb25fbWF0Y2gKCiAgICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9s
aWJzIiAhPSB5ZXMgJiYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiAhPSB5ZXM7
IHRoZW4KICAgICAgZnVuY19mYXRhbF9jb25maWd1cmF0aW9uICJub3QgY29u
ZmlndXJlZCB0byBidWlsZCBhbnkga2luZCBvZiBsaWJyYXJ5IgogICAgZmkK
CiAgICAjIERhcndpbiBzdWNrcwogICAgZXZhbCBzdGRfc2hyZXh0PVwiJHNo
cmV4dF9jbWRzXCIKCiAgICAjIE9ubHkgZXhlY3V0ZSBtb2RlIGlzIGFsbG93
ZWQgdG8gaGF2ZSAtZGxvcGVuIGZsYWdzLgogICAgaWYgdGVzdCAtbiAiJG9w
dF9kbG9wZW4iICYmIHRlc3QgIiRvcHRfbW9kZSIgIT0gZXhlY3V0ZTsgdGhl
bgogICAgICBmdW5jX2Vycm9yICJ1bnJlY29nbml6ZWQgb3B0aW9uIFxgLWRs
b3BlbiciCiAgICAgICRFQ0hPICIkaGVscCIgMT4mMgogICAgICBleGl0ICRF
WElUX0ZBSUxVUkUKICAgIGZpCgogICAgIyBDaGFuZ2UgdGhlIGhlbHAgbWVz
c2FnZSB0byBhIG1vZGUtc3BlY2lmaWMgb25lLgogICAgZ2VuZXJpY19oZWxw
PSIkaGVscCIKICAgIGhlbHA9IlRyeSBcYCRwcm9nbmFtZSAtLWhlbHAgLS1t
b2RlPSRvcHRfbW9kZScgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgogIH0KCgog
ICMgQmFpbCBpZiB0aGUgb3B0aW9ucyB3ZXJlIHNjcmV3ZWQKICAkZXhpdF9j
bWQgJEVYSVRfRkFJTFVSRQp9CgoKCgojIyAtLS0tLS0tLS0tLSAjIwojIyAg
ICBNYWluLiAgICAjIwojIyAtLS0tLS0tLS0tLSAjIwoKIyBmdW5jX2xhbGli
X3AgZmlsZQojIFRydWUgaWZmIEZJTEUgaXMgYSBsaWJ0b29sIGAubGEnIGxp
YnJhcnkgb3IgYC5sbycgb2JqZWN0IGZpbGUuCiMgVGhpcyBmdW5jdGlvbiBp
cyBvbmx5IGEgYmFzaWMgc2FuaXR5IGNoZWNrOyBpdCB3aWxsIGhhcmRseSBm
bHVzaCBvdXQKIyBkZXRlcm1pbmVkIGltcG9zdGVycy4KZnVuY19sYWxpYl9w
ICgpCnsKICAgIHRlc3QgLWYgIiQxIiAmJgogICAgICAkU0VEIC1lIDRxICIk
MSIgMj4vZGV2L251bGwgXAogICAgICAgIHwgJEdSRVAgIl4jIEdlbmVyYXRl
ZCBieSAuKiRQQUNLQUdFIiA+IC9kZXYvbnVsbCAyPiYxCn0KCiMgZnVuY19s
YWxpYl91bnNhZmVfcCBmaWxlCiMgVHJ1ZSBpZmYgRklMRSBpcyBhIGxpYnRv
b2wgYC5sYScgbGlicmFyeSBvciBgLmxvJyBvYmplY3QgZmlsZS4KIyBUaGlz
IGZ1bmN0aW9uIGltcGxlbWVudHMgdGhlIHNhbWUgY2hlY2sgYXMgZnVuY19s
YWxpYl9wIHdpdGhvdXQKIyByZXNvcnRpbmcgdG8gZXh0ZXJuYWwgcHJvZ3Jh
bXMuICBUbyB0aGlzIGVuZCwgaXQgcmVkaXJlY3RzIHN0ZGluIGFuZAojIGNs
b3NlcyBpdCBhZnRlcndhcmRzLCB3aXRob3V0IHNhdmluZyB0aGUgb3JpZ2lu
YWwgZmlsZSBkZXNjcmlwdG9yLgojIEFzIGEgc2FmZXR5IG1lYXN1cmUsIHVz
ZSBpdCBvbmx5IHdoZXJlIGEgbmVnYXRpdmUgcmVzdWx0IHdvdWxkIGJlCiMg
ZmF0YWwgYW55d2F5LiAgV29ya3MgaWYgYGZpbGUnIGRvZXMgbm90IGV4aXN0
LgpmdW5jX2xhbGliX3Vuc2FmZV9wICgpCnsKICAgIGxhbGliX3A9bm8KICAg
IGlmIHRlc3QgLWYgIiQxIiAmJiB0ZXN0IC1yICIkMSIgJiYgZXhlYyA1PCYw
IDwiJDEiOyB0aGVuCglmb3IgbGFsaWJfcF9sIGluIDEgMiAzIDQKCWRvCgkg
ICAgcmVhZCBsYWxpYl9wX2xpbmUKCSAgICBjYXNlICIkbGFsaWJfcF9saW5l
IiBpbgoJCVwjXCBHZW5lcmF0ZWRcIGJ5XCAqJFBBQ0tBR0UqICkgbGFsaWJf
cD15ZXM7IGJyZWFrOzsKCSAgICBlc2FjCglkb25lCglleGVjIDA8JjUgNTwm
LQogICAgZmkKICAgIHRlc3QgIiRsYWxpYl9wIiA9IHllcwp9CgojIGZ1bmNf
bHR3cmFwcGVyX3NjcmlwdF9wIGZpbGUKIyBUcnVlIGlmZiBGSUxFIGlzIGEg
bGlidG9vbCB3cmFwcGVyIHNjcmlwdAojIFRoaXMgZnVuY3Rpb24gaXMgb25s
eSBhIGJhc2ljIHNhbml0eSBjaGVjazsgaXQgd2lsbCBoYXJkbHkgZmx1c2gg
b3V0CiMgZGV0ZXJtaW5lZCBpbXBvc3RlcnMuCmZ1bmNfbHR3cmFwcGVyX3Nj
cmlwdF9wICgpCnsKICAgIGZ1bmNfbGFsaWJfcCAiJDEiCn0KCiMgZnVuY19s
dHdyYXBwZXJfZXhlY3V0YWJsZV9wIGZpbGUKIyBUcnVlIGlmZiBGSUxFIGlz
IGEgbGlidG9vbCB3cmFwcGVyIGV4ZWN1dGFibGUKIyBUaGlzIGZ1bmN0aW9u
IGlzIG9ubHkgYSBiYXNpYyBzYW5pdHkgY2hlY2s7IGl0IHdpbGwgaGFyZGx5
IGZsdXNoIG91dAojIGRldGVybWluZWQgaW1wb3N0ZXJzLgpmdW5jX2x0d3Jh
cHBlcl9leGVjdXRhYmxlX3AgKCkKewogICAgZnVuY19sdHdyYXBwZXJfZXhl
Y19zdWZmaXg9CiAgICBjYXNlICQxIGluCiAgICAqLmV4ZSkgOzsKICAgICop
IGZ1bmNfbHR3cmFwcGVyX2V4ZWNfc3VmZml4PS5leGUgOzsKICAgIGVzYWMK
ICAgICRHUkVQICIkbWFnaWNfZXhlIiAiJDEkZnVuY19sdHdyYXBwZXJfZXhl
Y19zdWZmaXgiID4vZGV2L251bGwgMj4mMQp9CgojIGZ1bmNfbHR3cmFwcGVy
X3NjcmlwdG5hbWUgZmlsZQojIEFzc3VtZXMgZmlsZSBpcyBhbiBsdHdyYXBw
ZXJfZXhlY3V0YWJsZQojIHVzZXMgJGZpbGUgdG8gZGV0ZXJtaW5lIHRoZSBh
cHByb3ByaWF0ZSBmaWxlbmFtZSBmb3IgYQojIHRlbXBvcmFyeSBsdHdyYXBw
ZXJfc2NyaXB0LgpmdW5jX2x0d3JhcHBlcl9zY3JpcHRuYW1lICgpCnsKICAg
IGZ1bmNfZGlybmFtZV9hbmRfYmFzZW5hbWUgIiQxIiAiIiAiLiIKICAgIGZ1
bmNfc3RyaXBuYW1lICcnICcuZXhlJyAiJGZ1bmNfYmFzZW5hbWVfcmVzdWx0
IgogICAgZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZV9yZXN1bHQ9IiRmdW5j
X2Rpcm5hbWVfcmVzdWx0LyRvYmpkaXIvJHtmdW5jX3N0cmlwbmFtZV9yZXN1
bHR9X2x0c2h3cmFwcGVyIgp9CgojIGZ1bmNfbHR3cmFwcGVyX3AgZmlsZQoj
IFRydWUgaWZmIEZJTEUgaXMgYSBsaWJ0b29sIHdyYXBwZXIgc2NyaXB0IG9y
IHdyYXBwZXIgZXhlY3V0YWJsZQojIFRoaXMgZnVuY3Rpb24gaXMgb25seSBh
IGJhc2ljIHNhbml0eSBjaGVjazsgaXQgd2lsbCBoYXJkbHkgZmx1c2ggb3V0
CiMgZGV0ZXJtaW5lZCBpbXBvc3RlcnMuCmZ1bmNfbHR3cmFwcGVyX3AgKCkK
ewogICAgZnVuY19sdHdyYXBwZXJfc2NyaXB0X3AgIiQxIiB8fCBmdW5jX2x0
d3JhcHBlcl9leGVjdXRhYmxlX3AgIiQxIgp9CgoKIyBmdW5jX2V4ZWN1dGVf
Y21kcyBjb21tYW5kcyBmYWlsX2NtZAojIEV4ZWN1dGUgdGlsZGUtZGVsaW1p
dGVkIENPTU1BTkRTLgojIElmIEZBSUxfQ01EIGlzIGdpdmVuLCBldmFsIHRo
YXQgdXBvbiBmYWlsdXJlLgojIEZBSUxfQ01EIG1heSByZWFkLWFjY2VzcyB0
aGUgY3VycmVudCBjb21tYW5kIGluIHZhcmlhYmxlIENNRCEKZnVuY19leGVj
dXRlX2NtZHMgKCkKewogICAgJG9wdF9kZWJ1ZwogICAgc2F2ZV9pZnM9JElG
UzsgSUZTPSd+JwogICAgZm9yIGNtZCBpbiAkMTsgZG8KICAgICAgSUZTPSRz
YXZlX2lmcwogICAgICBldmFsIGNtZD1cIiRjbWRcIgogICAgICBmdW5jX3No
b3dfZXZhbCAiJGNtZCIgIiR7Mi06fSIKICAgIGRvbmUKICAgIElGUz0kc2F2
ZV9pZnMKfQoKCiMgZnVuY19zb3VyY2UgZmlsZQojIFNvdXJjZSBGSUxFLCBh
ZGRpbmcgZGlyZWN0b3J5IGNvbXBvbmVudCBpZiBuZWNlc3NhcnkuCiMgTm90
ZSB0aGF0IGl0IGlzIG5vdCBuZWNlc3Nhcnkgb24gY3lnd2luL21pbmd3IHRv
IGFwcGVuZCBhIGRvdCB0bwojIEZJTEUgZXZlbiBpZiBib3RoIEZJTEUgYW5k
IEZJTEUuZXhlIGV4aXN0OiBhdXRvbWF0aWMtYXBwZW5kLS5leGUKIyBiZWhh
dmlvciBoYXBwZW5zIG9ubHkgZm9yIGV4ZWMoMyksIG5vdCBmb3Igb3Blbigy
KSEgIEFsc28sIHNvdXJjaW5nCiMgYEZJTEUuJyBkb2VzIG5vdCB3b3JrIG9u
IGN5Z3dpbiBtYW5hZ2VkIG1vdW50cy4KZnVuY19zb3VyY2UgKCkKewogICAg
JG9wdF9kZWJ1ZwogICAgY2FzZSAkMSBpbgogICAgKi8qIHwgKlxcKikJLiAi
JDEiIDs7CiAgICAqKQkJLiAiLi8kMSIgOzsKICAgIGVzYWMKfQoKCiMgZnVu
Y19yZXNvbHZlX3N5c3Jvb3QgUEFUSAojIFJlcGxhY2UgYSBsZWFkaW5nID0g
aW4gUEFUSCB3aXRoIGEgc3lzcm9vdC4gIFN0b3JlIHRoZSByZXN1bHQgaW50
bwojIGZ1bmNfcmVzb2x2ZV9zeXNyb290X3Jlc3VsdApmdW5jX3Jlc29sdmVf
c3lzcm9vdCAoKQp7CiAgZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVzdWx0PSQx
CiAgY2FzZSAkZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVzdWx0IGluCiAgPSop
CiAgICBmdW5jX3N0cmlwbmFtZSAnPScgJycgIiRmdW5jX3Jlc29sdmVfc3lz
cm9vdF9yZXN1bHQiCiAgICBmdW5jX3Jlc29sdmVfc3lzcm9vdF9yZXN1bHQ9
JGx0X3N5c3Jvb3QkZnVuY19zdHJpcG5hbWVfcmVzdWx0CiAgICA7OwogIGVz
YWMKfQoKIyBmdW5jX3JlcGxhY2Vfc3lzcm9vdCBQQVRICiMgSWYgUEFUSCBi
ZWdpbnMgd2l0aCB0aGUgc3lzcm9vdCwgcmVwbGFjZSBpdCB3aXRoID0gYW5k
CiMgc3RvcmUgdGhlIHJlc3VsdCBpbnRvIGZ1bmNfcmVwbGFjZV9zeXNyb290
X3Jlc3VsdC4KZnVuY19yZXBsYWNlX3N5c3Jvb3QgKCkKewogIGNhc2UgIiRs
dF9zeXNyb290OiQxIiBpbgogID8qOiIkbHRfc3lzcm9vdCIqKQogICAgZnVu
Y19zdHJpcG5hbWUgIiRsdF9zeXNyb290IiAnJyAiJDEiCiAgICBmdW5jX3Jl
cGxhY2Vfc3lzcm9vdF9yZXN1bHQ9Ij0kZnVuY19zdHJpcG5hbWVfcmVzdWx0
IgogICAgOzsKICAqKQogICAgIyBJbmNsdWRpbmcgbm8gc3lzcm9vdC4KICAg
IGZ1bmNfcmVwbGFjZV9zeXNyb290X3Jlc3VsdD0kMQogICAgOzsKICBlc2Fj
Cn0KCiMgZnVuY19pbmZlcl90YWcgYXJnCiMgSW5mZXIgdGFnZ2VkIGNvbmZp
Z3VyYXRpb24gdG8gdXNlIGlmIGFueSBhcmUgYXZhaWxhYmxlIGFuZAojIGlm
IG9uZSB3YXNuJ3QgY2hvc2VuIHZpYSB0aGUgIi0tdGFnIiBjb21tYW5kIGxp
bmUgb3B0aW9uLgojIE9ubHkgYXR0ZW1wdCB0aGlzIGlmIHRoZSBjb21waWxl
ciBpbiB0aGUgYmFzZSBjb21waWxlCiMgY29tbWFuZCBkb2Vzbid0IG1hdGNo
IHRoZSBkZWZhdWx0IGNvbXBpbGVyLgojIGFyZyBpcyB1c3VhbGx5IG9mIHRo
ZSBmb3JtICdnY2MgLi4uJwpmdW5jX2luZmVyX3RhZyAoKQp7CiAgICAkb3B0
X2RlYnVnCiAgICBpZiB0ZXN0IC1uICIkYXZhaWxhYmxlX3RhZ3MiICYmIHRl
c3QgLXogIiR0YWduYW1lIjsgdGhlbgogICAgICBDQ19xdW90ZWQ9CiAgICAg
IGZvciBhcmcgaW4gJENDOyBkbwoJZnVuY19hcHBlbmRfcXVvdGVkIENDX3F1
b3RlZCAiJGFyZyIKICAgICAgZG9uZQogICAgICBDQ19leHBhbmRlZD1gZnVu
Y19lY2hvX2FsbCAkQ0NgCiAgICAgIENDX3F1b3RlZF9leHBhbmRlZD1gZnVu
Y19lY2hvX2FsbCAkQ0NfcXVvdGVkYAogICAgICBjYXNlICRAIGluCiAgICAg
ICMgQmxhbmtzIGluIHRoZSBjb21tYW5kIG1heSBoYXZlIGJlZW4gc3RyaXBw
ZWQgYnkgdGhlIGNhbGxpbmcgc2hlbGwsCiAgICAgICMgYnV0IG5vdCBmcm9t
IHRoZSBDQyBlbnZpcm9ubWVudCB2YXJpYWJsZSB3aGVuIGNvbmZpZ3VyZSB3
YXMgcnVuLgogICAgICAiICRDQyAiKiB8ICIkQ0MgIiogfCAiICRDQ19leHBh
bmRlZCAiKiB8ICIkQ0NfZXhwYW5kZWQgIiogfCBcCiAgICAgICIgJENDX3F1
b3RlZCIqIHwgIiRDQ19xdW90ZWQgIiogfCAiICRDQ19xdW90ZWRfZXhwYW5k
ZWQgIiogfCAiJENDX3F1b3RlZF9leHBhbmRlZCAiKikgOzsKICAgICAgIyBC
bGFua3MgYXQgdGhlIHN0YXJ0IG9mICRiYXNlX2NvbXBpbGUgd2lsbCBjYXVz
ZSB0aGlzIHRvIGZhaWwKICAgICAgIyBpZiB3ZSBkb24ndCBjaGVjayBmb3Ig
dGhlbSBhcyB3ZWxsLgogICAgICAqKQoJZm9yIHogaW4gJGF2YWlsYWJsZV90
YWdzOyBkbwoJICBpZiAkR1JFUCAiXiMgIyMjIEJFR0lOIExJQlRPT0wgVEFH
IENPTkZJRzogJHokIiA8ICIkcHJvZ3BhdGgiID4gL2Rldi9udWxsOyB0aGVu
CgkgICAgIyBFdmFsdWF0ZSB0aGUgY29uZmlndXJhdGlvbi4KCSAgICBldmFs
ICJgJHtTRUR9IC1uIC1lICcvXiMgIyMjIEJFR0lOIExJQlRPT0wgVEFHIENP
TkZJRzogJyR6JyQvLC9eIyAjIyMgRU5EIExJQlRPT0wgVEFHIENPTkZJRzog
JyR6JyQvcCcgPCAkcHJvZ3BhdGhgIgoJICAgIENDX3F1b3RlZD0KCSAgICBm
b3IgYXJnIGluICRDQzsgZG8KCSAgICAgICMgRG91YmxlLXF1b3RlIGFyZ3Mg
Y29udGFpbmluZyBvdGhlciBzaGVsbCBtZXRhY2hhcmFjdGVycy4KCSAgICAg
IGZ1bmNfYXBwZW5kX3F1b3RlZCBDQ19xdW90ZWQgIiRhcmciCgkgICAgZG9u
ZQoJICAgIENDX2V4cGFuZGVkPWBmdW5jX2VjaG9fYWxsICRDQ2AKCSAgICBD
Q19xdW90ZWRfZXhwYW5kZWQ9YGZ1bmNfZWNob19hbGwgJENDX3F1b3RlZGAK
CSAgICBjYXNlICIkQCAiIGluCgkgICAgIiAkQ0MgIiogfCAiJENDICIqIHwg
IiAkQ0NfZXhwYW5kZWQgIiogfCAiJENDX2V4cGFuZGVkICIqIHwgXAoJICAg
ICIgJENDX3F1b3RlZCIqIHwgIiRDQ19xdW90ZWQgIiogfCAiICRDQ19xdW90
ZWRfZXhwYW5kZWQgIiogfCAiJENDX3F1b3RlZF9leHBhbmRlZCAiKikKCSAg
ICAgICMgVGhlIGNvbXBpbGVyIGluIHRoZSBiYXNlIGNvbXBpbGUgY29tbWFu
ZCBtYXRjaGVzCgkgICAgICAjIHRoZSBvbmUgaW4gdGhlIHRhZ2dlZCBjb25m
aWd1cmF0aW9uLgoJICAgICAgIyBBc3N1bWUgdGhpcyBpcyB0aGUgdGFnZ2Vk
IGNvbmZpZ3VyYXRpb24gd2Ugd2FudC4KCSAgICAgIHRhZ25hbWU9JHoKCSAg
ICAgIGJyZWFrCgkgICAgICA7OwoJICAgIGVzYWMKCSAgZmkKCWRvbmUKCSMg
SWYgJHRhZ25hbWUgc3RpbGwgaXNuJ3Qgc2V0LCB0aGVuIG5vIHRhZ2dlZCBj
b25maWd1cmF0aW9uCgkjIHdhcyBmb3VuZCBhbmQgbGV0IHRoZSB1c2VyIGtu
b3cgdGhhdCB0aGUgIi0tdGFnIiBjb21tYW5kCgkjIGxpbmUgb3B0aW9uIG11
c3QgYmUgdXNlZC4KCWlmIHRlc3QgLXogIiR0YWduYW1lIjsgdGhlbgoJICBm
dW5jX2VjaG8gInVuYWJsZSB0byBpbmZlciB0YWdnZWQgY29uZmlndXJhdGlv
biIKCSAgZnVuY19mYXRhbF9lcnJvciAic3BlY2lmeSBhIHRhZyB3aXRoIFxg
LS10YWcnIgojCWVsc2UKIwkgIGZ1bmNfdmVyYm9zZSAidXNpbmcgJHRhZ25h
bWUgdGFnZ2VkIGNvbmZpZ3VyYXRpb24iCglmaQoJOzsKICAgICAgZXNhYwog
ICAgZmkKfQoKCgojIGZ1bmNfd3JpdGVfbGlidG9vbF9vYmplY3Qgb3V0cHV0
X25hbWUgcGljX25hbWUgbm9ucGljX25hbWUKIyBDcmVhdGUgYSBsaWJ0b29s
IG9iamVjdCBmaWxlIChhbmFsb2dvdXMgdG8gYSAiLmxhIiBmaWxlKSwKIyBi
dXQgZG9uJ3QgY3JlYXRlIGl0IGlmIHdlJ3JlIGRvaW5nIGEgZHJ5IHJ1bi4K
ZnVuY193cml0ZV9saWJ0b29sX29iamVjdCAoKQp7CiAgICB3cml0ZV9saWJv
Ymo9JHsxfQogICAgaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5
ZXM7IHRoZW4KICAgICAgd3JpdGVfbG9iaj1cJyR7Mn1cJwogICAgZWxzZQog
ICAgICB3cml0ZV9sb2JqPW5vbmUKICAgIGZpCgogICAgaWYgdGVzdCAiJGJ1
aWxkX29sZF9saWJzIiA9IHllczsgdGhlbgogICAgICB3cml0ZV9vbGRvYmo9
XCckezN9XCcKICAgIGVsc2UKICAgICAgd3JpdGVfb2xkb2JqPW5vbmUKICAg
IGZpCgogICAgJG9wdF9kcnlfcnVuIHx8IHsKICAgICAgY2F0ID4ke3dyaXRl
X2xpYm9ian1UIDw8RU9GCiMgJHdyaXRlX2xpYm9iaiAtIGEgbGlidG9vbCBv
YmplY3QgZmlsZQojIEdlbmVyYXRlZCBieSAkUFJPR1JBTSAoR05VICRQQUNL
QUdFJFRJTUVTVEFNUCkgJFZFUlNJT04KIwojIFBsZWFzZSBETyBOT1QgZGVs
ZXRlIHRoaXMgZmlsZSEKIyBJdCBpcyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcg
dGhlIGxpYnJhcnkuCgojIE5hbWUgb2YgdGhlIFBJQyBvYmplY3QuCnBpY19v
YmplY3Q9JHdyaXRlX2xvYmoKCiMgTmFtZSBvZiB0aGUgbm9uLVBJQyBvYmpl
Y3QKbm9uX3BpY19vYmplY3Q9JHdyaXRlX29sZG9iagoKRU9GCiAgICAgICRN
ViAiJHt3cml0ZV9saWJvYmp9VCIgIiR7d3JpdGVfbGlib2JqfSIKICAgIH0K
fQoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjCiMgRklMRSBOQU1FIEFORCBQQVRIIENPTlZFUlNJT04gSEVM
UEVSIEZVTkNUSU9OUyAjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIGZ1bmNfY29udmVydF9jb3JlX2Zp
bGVfd2luZV90b193MzIgQVJHCiMgSGVscGVyIGZ1bmN0aW9uIHVzZWQgYnkg
ZmlsZSBuYW1lIGNvbnZlcnNpb24gZnVuY3Rpb25zIHdoZW4gJGJ1aWxkIGlz
ICpuaXgsCiMgYW5kICRob3N0IGlzIG1pbmd3LCBjeWd3aW4sIG9yIHNvbWUg
b3RoZXIgdzMyIGVudmlyb25tZW50LiBSZWxpZXMgb24gYQojIGNvcnJlY3Rs
eSBjb25maWd1cmVkIHdpbmUgZW52aXJvbm1lbnQgYXZhaWxhYmxlLCB3aXRo
IHRoZSB3aW5lcGF0aCBwcm9ncmFtCiMgaW4gJGJ1aWxkJ3MgJFBBVEguCiMK
IyBBUkcgaXMgdGhlICRidWlsZCBmaWxlIG5hbWUgdG8gYmUgY29udmVydGVk
IHRvIHczMiBmb3JtYXQuCiMgUmVzdWx0IGlzIGF2YWlsYWJsZSBpbiAkZnVu
Y19jb252ZXJ0X2NvcmVfZmlsZV93aW5lX3RvX3czMl9yZXN1bHQsIGFuZCB3
aWxsCiMgYmUgZW1wdHkgb24gZXJyb3IgKG9yIHdoZW4gQVJHIGlzIGVtcHR5
KQpmdW5jX2NvbnZlcnRfY29yZV9maWxlX3dpbmVfdG9fdzMyICgpCnsKICAk
b3B0X2RlYnVnCiAgZnVuY19jb252ZXJ0X2NvcmVfZmlsZV93aW5lX3RvX3cz
Ml9yZXN1bHQ9IiQxIgogIGlmIHRlc3QgLW4gIiQxIjsgdGhlbgogICAgIyBV
bmZvcnR1bmF0ZWx5LCB3aW5lcGF0aCBkb2VzIG5vdCBleGl0IHdpdGggYSBu
b24temVybyBlcnJvciBjb2RlLCBzbyB3ZQogICAgIyBhcmUgZm9yY2VkIHRv
IGNoZWNrIHRoZSBjb250ZW50cyBvZiBzdGRvdXQuIE9uIHRoZSBvdGhlciBo
YW5kLCBpZiB0aGUKICAgICMgY29tbWFuZCBpcyBub3QgZm91bmQsIHRoZSBz
aGVsbCB3aWxsIHNldCBhbiBleGl0IGNvZGUgb2YgMTI3IGFuZCBwcmludAog
ICAgIyAqYW4gZXJyb3IgbWVzc2FnZSogdG8gc3Rkb3V0LiBTbyB3ZSBtdXN0
IGNoZWNrIGZvciBib3RoIGVycm9yIGNvZGUgb2YKICAgICMgemVybyBBTkQg
bm9uLWVtcHR5IHN0ZG91dCwgd2hpY2ggZXhwbGFpbnMgdGhlIG9kZCBjb25z
dHJ1Y3Rpb246CiAgICBmdW5jX2NvbnZlcnRfY29yZV9maWxlX3dpbmVfdG9f
dzMyX3RtcD1gd2luZXBhdGggLXcgIiQxIiAyPi9kZXYvbnVsbGAKICAgIGlm
IHRlc3QgIiQ/IiAtZXEgMCAmJiB0ZXN0IC1uICIke2Z1bmNfY29udmVydF9j
b3JlX2ZpbGVfd2luZV90b193MzJfdG1wfSI7IHRoZW4KICAgICAgZnVuY19j
b252ZXJ0X2NvcmVfZmlsZV93aW5lX3RvX3czMl9yZXN1bHQ9YCRFQ0hPICIk
ZnVuY19jb252ZXJ0X2NvcmVfZmlsZV93aW5lX3RvX3czMl90bXAiIHwKICAg
ICAgICAkU0VEIC1lICIkbHRfc2VkX25haXZlX2JhY2tzbGFzaGlmeSJgCiAg
ICBlbHNlCiAgICAgIGZ1bmNfY29udmVydF9jb3JlX2ZpbGVfd2luZV90b193
MzJfcmVzdWx0PQogICAgZmkKICBmaQp9CiMgZW5kOiBmdW5jX2NvbnZlcnRf
Y29yZV9maWxlX3dpbmVfdG9fdzMyCgoKIyBmdW5jX2NvbnZlcnRfY29yZV9w
YXRoX3dpbmVfdG9fdzMyIEFSRwojIEhlbHBlciBmdW5jdGlvbiB1c2VkIGJ5
IHBhdGggY29udmVyc2lvbiBmdW5jdGlvbnMgd2hlbiAkYnVpbGQgaXMgKm5p
eCwgYW5kCiMgJGhvc3QgaXMgbWluZ3csIGN5Z3dpbiwgb3Igc29tZSBvdGhl
ciB3MzIgZW52aXJvbm1lbnQuIFJlbGllcyBvbiBhIGNvcnJlY3RseQojIGNv
bmZpZ3VyZWQgd2luZSBlbnZpcm9ubWVudCBhdmFpbGFibGUsIHdpdGggdGhl
IHdpbmVwYXRoIHByb2dyYW0gaW4gJGJ1aWxkJ3MKIyAkUEFUSC4gQXNzdW1l
cyBBUkcgaGFzIG5vIGxlYWRpbmcgb3IgdHJhaWxpbmcgcGF0aCBzZXBhcmF0
b3IgY2hhcmFjdGVycy4KIwojIEFSRyBpcyBwYXRoIHRvIGJlIGNvbnZlcnRl
ZCBmcm9tICRidWlsZCBmb3JtYXQgdG8gd2luMzIuCiMgUmVzdWx0IGlzIGF2
YWlsYWJsZSBpbiAkZnVuY19jb252ZXJ0X2NvcmVfcGF0aF93aW5lX3RvX3cz
Ml9yZXN1bHQuCiMgVW5jb252ZXJ0aWJsZSBmaWxlIChkaXJlY3RvcnkpIG5h
bWVzIGluIEFSRyBhcmUgc2tpcHBlZDsgaWYgbm8gZGlyZWN0b3J5IG5hbWVz
CiMgYXJlIGNvbnZlcnRpYmxlLCB0aGVuIHRoZSByZXN1bHQgbWF5IGJlIGVt
cHR5LgpmdW5jX2NvbnZlcnRfY29yZV9wYXRoX3dpbmVfdG9fdzMyICgpCnsK
ICAkb3B0X2RlYnVnCiAgIyB1bmZvcnR1bmF0ZWx5LCB3aW5lcGF0aCBkb2Vz
bid0IGNvbnZlcnQgcGF0aHMsIG9ubHkgZmlsZSBuYW1lcwogIGZ1bmNfY29u
dmVydF9jb3JlX3BhdGhfd2luZV90b193MzJfcmVzdWx0PSIiCiAgaWYgdGVz
dCAtbiAiJDEiOyB0aGVuCiAgICBvbGRJRlM9JElGUwogICAgSUZTPToKICAg
IGZvciBmdW5jX2NvbnZlcnRfY29yZV9wYXRoX3dpbmVfdG9fdzMyX2YgaW4g
JDE7IGRvCiAgICAgIElGUz0kb2xkSUZTCiAgICAgIGZ1bmNfY29udmVydF9j
b3JlX2ZpbGVfd2luZV90b193MzIgIiRmdW5jX2NvbnZlcnRfY29yZV9wYXRo
X3dpbmVfdG9fdzMyX2YiCiAgICAgIGlmIHRlc3QgLW4gIiRmdW5jX2NvbnZl
cnRfY29yZV9maWxlX3dpbmVfdG9fdzMyX3Jlc3VsdCIgOyB0aGVuCiAgICAg
ICAgaWYgdGVzdCAteiAiJGZ1bmNfY29udmVydF9jb3JlX3BhdGhfd2luZV90
b193MzJfcmVzdWx0IjsgdGhlbgogICAgICAgICAgZnVuY19jb252ZXJ0X2Nv
cmVfcGF0aF93aW5lX3RvX3czMl9yZXN1bHQ9IiRmdW5jX2NvbnZlcnRfY29y
ZV9maWxlX3dpbmVfdG9fdzMyX3Jlc3VsdCIKICAgICAgICBlbHNlCiAgICAg
ICAgICBmdW5jX2FwcGVuZCBmdW5jX2NvbnZlcnRfY29yZV9wYXRoX3dpbmVf
dG9fdzMyX3Jlc3VsdCAiOyRmdW5jX2NvbnZlcnRfY29yZV9maWxlX3dpbmVf
dG9fdzMyX3Jlc3VsdCIKICAgICAgICBmaQogICAgICBmaQogICAgZG9uZQog
ICAgSUZTPSRvbGRJRlMKICBmaQp9CiMgZW5kOiBmdW5jX2NvbnZlcnRfY29y
ZV9wYXRoX3dpbmVfdG9fdzMyCgoKIyBmdW5jX2N5Z3BhdGggQVJHUy4uLgoj
IFdyYXBwZXIgYXJvdW5kIGNhbGxpbmcgdGhlIGN5Z3BhdGggcHJvZ3JhbSB2
aWEgTFRfQ1lHUEFUSC4gVGhpcyBpcyB1c2VkIHdoZW4KIyB3aGVuICgxKSAk
YnVpbGQgaXMgKm5peCBhbmQgQ3lnd2luIGlzIGhvc3RlZCB2aWEgYSB3aW5l
IGVudmlyb25tZW50OyBvciAoMikKIyAkYnVpbGQgaXMgTVNZUyBhbmQgJGhv
c3QgaXMgQ3lnd2luLCBvciAoMykgJGJ1aWxkIGlzIEN5Z3dpbi4gSW4gY2Fz
ZSAoMSkgb3IKIyAoMiksIHJldHVybnMgdGhlIEN5Z3dpbiBmaWxlIG5hbWUg
b3IgcGF0aCBpbiBmdW5jX2N5Z3BhdGhfcmVzdWx0IChpbnB1dAojIGZpbGUg
bmFtZSBvciBwYXRoIGlzIGFzc3VtZWQgdG8gYmUgaW4gdzMyIGZvcm1hdCwg
YXMgcHJldmlvdXNseSBjb252ZXJ0ZWQKIyBmcm9tICRidWlsZCdzICpuaXgg
b3IgTVNZUyBmb3JtYXQpLiBJbiBjYXNlICgzKSwgcmV0dXJucyB0aGUgdzMy
IGZpbGUgbmFtZQojIG9yIHBhdGggaW4gZnVuY19jeWdwYXRoX3Jlc3VsdCAo
aW5wdXQgZmlsZSBuYW1lIG9yIHBhdGggaXMgYXNzdW1lZCB0byBiZSBpbgoj
IEN5Z3dpbiBmb3JtYXQpLiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBvbiBl
cnJvci4KIwojIEFSR1MgYXJlIHBhc3NlZCB0byBjeWdwYXRoLCB3aXRoIHRo
ZSBsYXN0IG9uZSBiZWluZyB0aGUgZmlsZSBuYW1lIG9yIHBhdGggdG8KIyBi
ZSBjb252ZXJ0ZWQuCiMKIyBTcGVjaWZ5IHRoZSBhYnNvbHV0ZSAqbml4IChv
ciB3MzIpIG5hbWUgdG8gY3lncGF0aCBpbiB0aGUgTFRfQ1lHUEFUSAojIGVu
dmlyb25tZW50IHZhcmlhYmxlOyBkbyBub3QgcHV0IGl0IGluICRQQVRILgpm
dW5jX2N5Z3BhdGggKCkKewogICRvcHRfZGVidWcKICBpZiB0ZXN0IC1uICIk
TFRfQ1lHUEFUSCIgJiYgdGVzdCAtZiAiJExUX0NZR1BBVEgiOyB0aGVuCiAg
ICBmdW5jX2N5Z3BhdGhfcmVzdWx0PWAkTFRfQ1lHUEFUSCAiJEAiIDI+L2Rl
di9udWxsYAogICAgaWYgdGVzdCAiJD8iIC1uZSAwOyB0aGVuCiAgICAgICMg
b24gZmFpbHVyZSwgZW5zdXJlIHJlc3VsdCBpcyBlbXB0eQogICAgICBmdW5j
X2N5Z3BhdGhfcmVzdWx0PQogICAgZmkKICBlbHNlCiAgICBmdW5jX2N5Z3Bh
dGhfcmVzdWx0PQogICAgZnVuY19lcnJvciAiTFRfQ1lHUEFUSCBpcyBlbXB0
eSBvciBzcGVjaWZpZXMgbm9uLWV4aXN0ZW50IGZpbGU6IFxgJExUX0NZR1BB
VEgnIgogIGZpCn0KI2VuZDogZnVuY19jeWdwYXRoCgoKIyBmdW5jX2NvbnZl
cnRfY29yZV9tc3lzX3RvX3czMiBBUkcKIyBDb252ZXJ0IGZpbGUgbmFtZSBv
ciBwYXRoIEFSRyBmcm9tIE1TWVMgZm9ybWF0IHRvIHczMiBmb3JtYXQuICBS
ZXR1cm4KIyByZXN1bHQgaW4gZnVuY19jb252ZXJ0X2NvcmVfbXN5c190b193
MzJfcmVzdWx0LgpmdW5jX2NvbnZlcnRfY29yZV9tc3lzX3RvX3czMiAoKQp7
CiAgJG9wdF9kZWJ1ZwogICMgYXdrd2FyZDogY21kIGFwcGVuZHMgc3BhY2Vz
IHRvIHJlc3VsdAogIGZ1bmNfY29udmVydF9jb3JlX21zeXNfdG9fdzMyX3Jl
c3VsdD1gKCBjbWQgLy9jIGVjaG8gIiQxIiApIDI+L2Rldi9udWxsIHwKICAg
ICRTRUQgLWUgJ3MvWyBdKiQvLycgLWUgIiRsdF9zZWRfbmFpdmVfYmFja3Ns
YXNoaWZ5ImAKfQojZW5kOiBmdW5jX2NvbnZlcnRfY29yZV9tc3lzX3RvX3cz
MgoKCiMgZnVuY19jb252ZXJ0X2ZpbGVfY2hlY2sgQVJHMSBBUkcyCiMgVmVy
aWZ5IHRoYXQgQVJHMSAoYSBmaWxlIG5hbWUgaW4gJGJ1aWxkIGZvcm1hdCkg
d2FzIGNvbnZlcnRlZCB0byAkaG9zdAojIGZvcm1hdCBpbiBBUkcyLiBPdGhl
cndpc2UsIGVtaXQgYW4gZXJyb3IgbWVzc2FnZSwgYnV0IGNvbnRpbnVlIChy
ZXNldHRpbmcKIyBmdW5jX3RvX2hvc3RfZmlsZV9yZXN1bHQgdG8gQVJHMSku
CmZ1bmNfY29udmVydF9maWxlX2NoZWNrICgpCnsKICAkb3B0X2RlYnVnCiAg
aWYgdGVzdCAteiAiJDIiICYmIHRlc3QgLW4gIiQxIiA7IHRoZW4KICAgIGZ1
bmNfZXJyb3IgIkNvdWxkIG5vdCBkZXRlcm1pbmUgaG9zdCBmaWxlIG5hbWUg
Y29ycmVzcG9uZGluZyB0byIKICAgIGZ1bmNfZXJyb3IgIiAgXGAkMSciCiAg
ICBmdW5jX2Vycm9yICJDb250aW51aW5nLCBidXQgdW5pbnN0YWxsZWQgZXhl
Y3V0YWJsZXMgbWF5IG5vdCB3b3JrLiIKICAgICMgRmFsbGJhY2s6CiAgICBm
dW5jX3RvX2hvc3RfZmlsZV9yZXN1bHQ9IiQxIgogIGZpCn0KIyBlbmQgZnVu
Y19jb252ZXJ0X2ZpbGVfY2hlY2sKCgojIGZ1bmNfY29udmVydF9wYXRoX2No
ZWNrIEZST01fUEFUSFNFUCBUT19QQVRIU0VQIEZST01fUEFUSCBUT19QQVRI
CiMgVmVyaWZ5IHRoYXQgRlJPTV9QQVRIIChhIHBhdGggaW4gJGJ1aWxkIGZv
cm1hdCkgd2FzIGNvbnZlcnRlZCB0byAkaG9zdAojIGZvcm1hdCBpbiBUT19Q
QVRILiBPdGhlcndpc2UsIGVtaXQgYW4gZXJyb3IgbWVzc2FnZSwgYnV0IGNv
bnRpbnVlLCByZXNldHRpbmcKIyBmdW5jX3RvX2hvc3RfZmlsZV9yZXN1bHQg
dG8gYSBzaW1wbGlzdGljIGZhbGxiYWNrIHZhbHVlIChzZWUgYmVsb3cpLgpm
dW5jX2NvbnZlcnRfcGF0aF9jaGVjayAoKQp7CiAgJG9wdF9kZWJ1ZwogIGlm
IHRlc3QgLXogIiQ0IiAmJiB0ZXN0IC1uICIkMyI7IHRoZW4KICAgIGZ1bmNf
ZXJyb3IgIkNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGhvc3QgcGF0aCBjb3Jy
ZXNwb25kaW5nIHRvIgogICAgZnVuY19lcnJvciAiICBcYCQzJyIKICAgIGZ1
bmNfZXJyb3IgIkNvbnRpbnVpbmcsIGJ1dCB1bmluc3RhbGxlZCBleGVjdXRh
YmxlcyBtYXkgbm90IHdvcmsuIgogICAgIyBGYWxsYmFjay4gIFRoaXMgaXMg
YSBkZWxpYmVyYXRlbHkgc2ltcGxpc3RpYyAiY29udmVyc2lvbiIgYW5kCiAg
ICAjIHNob3VsZCBub3QgYmUgImltcHJvdmVkIi4gIFNlZSBsaWJ0b29sLmlu
Zm8uCiAgICBpZiB0ZXN0ICJ4JDEiICE9ICJ4JDIiOyB0aGVuCiAgICAgIGx0
X3JlcGxhY2VfcGF0aHNlcF9jaGFycz0ic3wkMXwkMnxnIgogICAgICBmdW5j
X3RvX2hvc3RfcGF0aF9yZXN1bHQ9YGVjaG8gIiQzIiB8CiAgICAgICAgJFNF
RCAtZSAiJGx0X3JlcGxhY2VfcGF0aHNlcF9jaGFycyJgCiAgICBlbHNlCiAg
ICAgIGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3VsdD0iJDMiCiAgICBmaQogIGZp
Cn0KIyBlbmQgZnVuY19jb252ZXJ0X3BhdGhfY2hlY2sKCgojIGZ1bmNfY29u
dmVydF9wYXRoX2Zyb250X2JhY2tfcGF0aHNlcCBGUk9OVFBBVCBCQUNLUEFU
IFJFUEwgT1JJRwojIE1vZGlmaWVzIGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3Vs
dCBieSBwcmVwZW5kaW5nIFJFUEwgaWYgT1JJRyBtYXRjaGVzIEZST05UUEFU
CiMgYW5kIGFwcGVuZGluZyBSRVBMIGlmIE9SSUcgbWF0Y2hlcyBCQUNLUEFU
LgpmdW5jX2NvbnZlcnRfcGF0aF9mcm9udF9iYWNrX3BhdGhzZXAgKCkKewog
ICRvcHRfZGVidWcKICBjYXNlICQ0IGluCiAgJDEgKSBmdW5jX3RvX2hvc3Rf
cGF0aF9yZXN1bHQ9IiQzJGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3VsdCIKICAg
IDs7CiAgZXNhYwogIGNhc2UgJDQgaW4KICAkMiApIGZ1bmNfdG9faG9zdF9w
YXRoX3Jlc3VsdCs9IiQzIgogICAgOzsKICBlc2FjCn0KIyBlbmQgZnVuY19j
b252ZXJ0X3BhdGhfZnJvbnRfYmFja19wYXRoc2VwCgoKIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyAkYnVp
bGQgdG8gJGhvc3QgRklMRSBOQU1FIENPTlZFUlNJT04gRlVOQ1RJT05TICMK
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMKIyBpbnZva2VkIHZpYSBgJHRvX2hvc3RfZmlsZV9jbWQgQVJHJwoj
CiMgSW4gZWFjaCBjYXNlLCBBUkcgaXMgdGhlIHBhdGggdG8gYmUgY29udmVy
dGVkIGZyb20gJGJ1aWxkIHRvICRob3N0IGZvcm1hdC4KIyBSZXN1bHQgd2ls
bCBiZSBhdmFpbGFibGUgaW4gJGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdC4K
CgojIGZ1bmNfdG9faG9zdF9maWxlIEFSRwojIENvbnZlcnRzIHRoZSBmaWxl
IG5hbWUgQVJHIGZyb20gJGJ1aWxkIGZvcm1hdCB0byAkaG9zdCBmb3JtYXQu
IFJldHVybiByZXN1bHQKIyBpbiBmdW5jX3RvX2hvc3RfZmlsZV9yZXN1bHQu
CmZ1bmNfdG9faG9zdF9maWxlICgpCnsKICAkb3B0X2RlYnVnCiAgJHRvX2hv
c3RfZmlsZV9jbWQgIiQxIgp9CiMgZW5kIGZ1bmNfdG9faG9zdF9maWxlCgoK
IyBmdW5jX3RvX3Rvb2xfZmlsZSBBUkcgTEFaWQojIGNvbnZlcnRzIHRoZSBm
aWxlIG5hbWUgQVJHIGZyb20gJGJ1aWxkIGZvcm1hdCB0byB0b29sY2hhaW4g
Zm9ybWF0LiBSZXR1cm4KIyByZXN1bHQgaW4gZnVuY190b190b29sX2ZpbGVf
cmVzdWx0LiAgSWYgdGhlIGNvbnZlcnNpb24gaW4gdXNlIGlzIGxpc3RlZAoj
IGluICh0aGUgY29tbWEgc2VwYXJhdGVkKSBMQVpZLCBubyBjb252ZXJzaW9u
IHRha2VzIHBsYWNlLgpmdW5jX3RvX3Rvb2xfZmlsZSAoKQp7CiAgJG9wdF9k
ZWJ1ZwogIGNhc2UgLCQyLCBpbgogICAgKiwiJHRvX3Rvb2xfZmlsZV9jbWQi
LCopCiAgICAgIGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3VsdD0kMQogICAgICA7
OwogICAgKikKICAgICAgJHRvX3Rvb2xfZmlsZV9jbWQgIiQxIgogICAgICBm
dW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQ9JGZ1bmNfdG9faG9zdF9maWxlX3Jl
c3VsdAogICAgICA7OwogIGVzYWMKfQojIGVuZCBmdW5jX3RvX3Rvb2xfZmls
ZQoKCiMgZnVuY19jb252ZXJ0X2ZpbGVfbm9vcCBBUkcKIyBDb3B5IEFSRyB0
byBmdW5jX3RvX2hvc3RfZmlsZV9yZXN1bHQuCmZ1bmNfY29udmVydF9maWxl
X25vb3AgKCkKewogIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdD0iJDEiCn0K
IyBlbmQgZnVuY19jb252ZXJ0X2ZpbGVfbm9vcAoKCiMgZnVuY19jb252ZXJ0
X2ZpbGVfbXN5c190b193MzIgQVJHCiMgQ29udmVydCBmaWxlIG5hbWUgQVJH
IGZyb20gKG1pbmd3KSBNU1lTIHRvIChtaW5ndykgdzMyIGZvcm1hdDsgYXV0
b21hdGljCiMgY29udmVyc2lvbiB0byB3MzIgaXMgbm90IGF2YWlsYWJsZSBp
bnNpZGUgdGhlIGN3cmFwcGVyLiAgUmV0dXJucyByZXN1bHQgaW4KIyBmdW5j
X3RvX2hvc3RfZmlsZV9yZXN1bHQuCmZ1bmNfY29udmVydF9maWxlX21zeXNf
dG9fdzMyICgpCnsKICAkb3B0X2RlYnVnCiAgZnVuY190b19ob3N0X2ZpbGVf
cmVzdWx0PSIkMSIKICBpZiB0ZXN0IC1uICIkMSI7IHRoZW4KICAgIGZ1bmNf
Y29udmVydF9jb3JlX21zeXNfdG9fdzMyICIkMSIKICAgIGZ1bmNfdG9faG9z
dF9maWxlX3Jlc3VsdD0iJGZ1bmNfY29udmVydF9jb3JlX21zeXNfdG9fdzMy
X3Jlc3VsdCIKICBmaQogIGZ1bmNfY29udmVydF9maWxlX2NoZWNrICIkMSIg
IiRmdW5jX3RvX2hvc3RfZmlsZV9yZXN1bHQiCn0KIyBlbmQgZnVuY19jb252
ZXJ0X2ZpbGVfbXN5c190b193MzIKCgojIGZ1bmNfY29udmVydF9maWxlX2N5
Z3dpbl90b193MzIgQVJHCiMgQ29udmVydCBmaWxlIG5hbWUgQVJHIGZyb20g
Q3lnd2luIHRvIHczMiBmb3JtYXQuICBSZXR1cm5zIHJlc3VsdCBpbgojIGZ1
bmNfdG9faG9zdF9maWxlX3Jlc3VsdC4KZnVuY19jb252ZXJ0X2ZpbGVfY3ln
d2luX3RvX3czMiAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1bmNfdG9faG9zdF9m
aWxlX3Jlc3VsdD0iJDEiCiAgaWYgdGVzdCAtbiAiJDEiOyB0aGVuCiAgICAj
IGJlY2F1c2UgJGJ1aWxkIGlzIGN5Z3dpbiwgd2UgY2FsbCAidGhlIiBjeWdw
YXRoIGluICRQQVRIOyBubyBuZWVkIHRvIHVzZQogICAgIyBMVF9DWUdQQVRI
IGluIHRoaXMgY2FzZS4KICAgIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdD1g
Y3lncGF0aCAtbSAiJDEiYAogIGZpCiAgZnVuY19jb252ZXJ0X2ZpbGVfY2hl
Y2sgIiQxIiAiJGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdCIKfQojIGVuZCBm
dW5jX2NvbnZlcnRfZmlsZV9jeWd3aW5fdG9fdzMyCgoKIyBmdW5jX2NvbnZl
cnRfZmlsZV9uaXhfdG9fdzMyIEFSRwojIENvbnZlcnQgZmlsZSBuYW1lIEFS
RyBmcm9tICpuaXggdG8gdzMyIGZvcm1hdC4gIFJlcXVpcmVzIGEgd2luZSBl
bnZpcm9ubWVudAojIGFuZCBhIHdvcmtpbmcgd2luZXBhdGguIFJldHVybnMg
cmVzdWx0IGluIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdC4KZnVuY19jb252
ZXJ0X2ZpbGVfbml4X3RvX3czMiAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1bmNf
dG9faG9zdF9maWxlX3Jlc3VsdD0iJDEiCiAgaWYgdGVzdCAtbiAiJDEiOyB0
aGVuCiAgICBmdW5jX2NvbnZlcnRfY29yZV9maWxlX3dpbmVfdG9fdzMyICIk
MSIKICAgIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdD0iJGZ1bmNfY29udmVy
dF9jb3JlX2ZpbGVfd2luZV90b193MzJfcmVzdWx0IgogIGZpCiAgZnVuY19j
b252ZXJ0X2ZpbGVfY2hlY2sgIiQxIiAiJGZ1bmNfdG9faG9zdF9maWxlX3Jl
c3VsdCIKfQojIGVuZCBmdW5jX2NvbnZlcnRfZmlsZV9uaXhfdG9fdzMyCgoK
IyBmdW5jX2NvbnZlcnRfZmlsZV9tc3lzX3RvX2N5Z3dpbiBBUkcKIyBDb252
ZXJ0IGZpbGUgbmFtZSBBUkcgZnJvbSBNU1lTIHRvIEN5Z3dpbiBmb3JtYXQu
ICBSZXF1aXJlcyBMVF9DWUdQQVRIIHNldC4KIyBSZXR1cm5zIHJlc3VsdCBp
biBmdW5jX3RvX2hvc3RfZmlsZV9yZXN1bHQuCmZ1bmNfY29udmVydF9maWxl
X21zeXNfdG9fY3lnd2luICgpCnsKICAkb3B0X2RlYnVnCiAgZnVuY190b19o
b3N0X2ZpbGVfcmVzdWx0PSIkMSIKICBpZiB0ZXN0IC1uICIkMSI7IHRoZW4K
ICAgIGZ1bmNfY29udmVydF9jb3JlX21zeXNfdG9fdzMyICIkMSIKICAgIGZ1
bmNfY3lncGF0aCAtdSAiJGZ1bmNfY29udmVydF9jb3JlX21zeXNfdG9fdzMy
X3Jlc3VsdCIKICAgIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdD0iJGZ1bmNf
Y3lncGF0aF9yZXN1bHQiCiAgZmkKICBmdW5jX2NvbnZlcnRfZmlsZV9jaGVj
ayAiJDEiICIkZnVuY190b19ob3N0X2ZpbGVfcmVzdWx0Igp9CiMgZW5kIGZ1
bmNfY29udmVydF9maWxlX21zeXNfdG9fY3lnd2luCgoKIyBmdW5jX2NvbnZl
cnRfZmlsZV9uaXhfdG9fY3lnd2luIEFSRwojIENvbnZlcnQgZmlsZSBuYW1l
IEFSRyBmcm9tICpuaXggdG8gQ3lnd2luIGZvcm1hdC4gIFJlcXVpcmVzIEN5
Z3dpbiBpbnN0YWxsZWQKIyBpbiBhIHdpbmUgZW52aXJvbm1lbnQsIHdvcmtp
bmcgd2luZXBhdGgsIGFuZCBMVF9DWUdQQVRIIHNldC4gIFJldHVybnMgcmVz
dWx0CiMgaW4gZnVuY190b19ob3N0X2ZpbGVfcmVzdWx0LgpmdW5jX2NvbnZl
cnRfZmlsZV9uaXhfdG9fY3lnd2luICgpCnsKICAkb3B0X2RlYnVnCiAgZnVu
Y190b19ob3N0X2ZpbGVfcmVzdWx0PSIkMSIKICBpZiB0ZXN0IC1uICIkMSI7
IHRoZW4KICAgICMgY29udmVydCBmcm9tICpuaXggdG8gdzMyLCB0aGVuIHVz
ZSBjeWdwYXRoIHRvIGNvbnZlcnQgZnJvbSB3MzIgdG8gY3lnd2luLgogICAg
ZnVuY19jb252ZXJ0X2NvcmVfZmlsZV93aW5lX3RvX3czMiAiJDEiCiAgICBm
dW5jX2N5Z3BhdGggLXUgIiRmdW5jX2NvbnZlcnRfY29yZV9maWxlX3dpbmVf
dG9fdzMyX3Jlc3VsdCIKICAgIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdD0i
JGZ1bmNfY3lncGF0aF9yZXN1bHQiCiAgZmkKICBmdW5jX2NvbnZlcnRfZmls
ZV9jaGVjayAiJDEiICIkZnVuY190b19ob3N0X2ZpbGVfcmVzdWx0Igp9CiMg
ZW5kIGZ1bmNfY29udmVydF9maWxlX25peF90b19jeWd3aW4KCgojIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyAkYnVp
bGQgdG8gJGhvc3QgUEFUSCBDT05WRVJTSU9OIEZVTkNUSU9OUyAjCiMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIGlu
dm9rZWQgdmlhIGAkdG9faG9zdF9wYXRoX2NtZCBBUkcnCiMKIyBJbiBlYWNo
IGNhc2UsIEFSRyBpcyB0aGUgcGF0aCB0byBiZSBjb252ZXJ0ZWQgZnJvbSAk
YnVpbGQgdG8gJGhvc3QgZm9ybWF0LgojIFRoZSByZXN1bHQgd2lsbCBiZSBh
dmFpbGFibGUgaW4gJGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3VsdC4KIwojIFBh
dGggc2VwYXJhdG9ycyBhcmUgYWxzbyBjb252ZXJ0ZWQgZnJvbSAkYnVpbGQg
Zm9ybWF0IHRvICRob3N0IGZvcm1hdC4gIElmCiMgQVJHIGJlZ2lucyBvciBl
bmRzIHdpdGggYSBwYXRoIHNlcGFyYXRvciBjaGFyYWN0ZXIsIGl0IGlzIHBy
ZXNlcnZlZCAoYnV0CiMgY29udmVydGVkIHRvICRob3N0IGZvcm1hdCkgb24g
b3V0cHV0LgojCiMgQWxsIHBhdGggY29udmVyc2lvbiBmdW5jdGlvbnMgYXJl
IG5hbWVkIHVzaW5nIHRoZSBmb2xsb3dpbmcgY29udmVudGlvbjoKIyAgIGZp
bGUgbmFtZSBjb252ZXJzaW9uIGZ1bmN0aW9uICAgIDogZnVuY19jb252ZXJ0
X2ZpbGVfWF90b19ZICgpCiMgICBwYXRoIGNvbnZlcnNpb24gZnVuY3Rpb24g
ICAgICAgICA6IGZ1bmNfY29udmVydF9wYXRoX1hfdG9fWSAoKQojIHdoZXJl
LCBmb3IgYW55IGdpdmVuICRidWlsZC8kaG9zdCBjb21iaW5hdGlvbiB0aGUg
J1hfdG9fWScgdmFsdWUgaXMgdGhlCiMgc2FtZS4gIElmIGNvbnZlcnNpb24g
ZnVuY3Rpb25zIGFyZSBhZGRlZCBmb3IgbmV3ICRidWlsZC8kaG9zdCBjb21i
aW5hdGlvbnMsCiMgdGhlIHR3byBuZXcgZnVuY3Rpb25zIG11c3QgZm9sbG93
IHRoaXMgcGF0dGVybiwgb3IgZnVuY19pbml0X3RvX2hvc3RfcGF0aF9jbWQK
IyB3aWxsIGJyZWFrLgoKCiMgZnVuY19pbml0X3RvX2hvc3RfcGF0aF9jbWQK
IyBFbnN1cmVzIHRoYXQgZnVuY3Rpb24gInBvaW50ZXIiIHZhcmlhYmxlICR0
b19ob3N0X3BhdGhfY21kIGlzIHNldCB0byB0aGUKIyBhcHByb3ByaWF0ZSB2
YWx1ZSwgYmFzZWQgb24gdGhlIHZhbHVlIG9mICR0b19ob3N0X2ZpbGVfY21k
Lgp0b19ob3N0X3BhdGhfY21kPQpmdW5jX2luaXRfdG9faG9zdF9wYXRoX2Nt
ZCAoKQp7CiAgJG9wdF9kZWJ1ZwogIGlmIHRlc3QgLXogIiR0b19ob3N0X3Bh
dGhfY21kIjsgdGhlbgogICAgZnVuY19zdHJpcG5hbWUgJ2Z1bmNfY29udmVy
dF9maWxlXycgJycgIiR0b19ob3N0X2ZpbGVfY21kIgogICAgdG9faG9zdF9w
YXRoX2NtZD0iZnVuY19jb252ZXJ0X3BhdGhfJHtmdW5jX3N0cmlwbmFtZV9y
ZXN1bHR9IgogIGZpCn0KCgojIGZ1bmNfdG9faG9zdF9wYXRoIEFSRwojIENv
bnZlcnRzIHRoZSBwYXRoIEFSRyBmcm9tICRidWlsZCBmb3JtYXQgdG8gJGhv
c3QgZm9ybWF0LiBSZXR1cm4gcmVzdWx0CiMgaW4gZnVuY190b19ob3N0X3Bh
dGhfcmVzdWx0LgpmdW5jX3RvX2hvc3RfcGF0aCAoKQp7CiAgJG9wdF9kZWJ1
ZwogIGZ1bmNfaW5pdF90b19ob3N0X3BhdGhfY21kCiAgJHRvX2hvc3RfcGF0
aF9jbWQgIiQxIgp9CiMgZW5kIGZ1bmNfdG9faG9zdF9wYXRoCgoKIyBmdW5j
X2NvbnZlcnRfcGF0aF9ub29wIEFSRwojIENvcHkgQVJHIHRvIGZ1bmNfdG9f
aG9zdF9wYXRoX3Jlc3VsdC4KZnVuY19jb252ZXJ0X3BhdGhfbm9vcCAoKQp7
CiAgZnVuY190b19ob3N0X3BhdGhfcmVzdWx0PSIkMSIKfQojIGVuZCBmdW5j
X2NvbnZlcnRfcGF0aF9ub29wCgoKIyBmdW5jX2NvbnZlcnRfcGF0aF9tc3lz
X3RvX3czMiBBUkcKIyBDb252ZXJ0IHBhdGggQVJHIGZyb20gKG1pbmd3KSBN
U1lTIHRvIChtaW5ndykgdzMyIGZvcm1hdDsgYXV0b21hdGljCiMgY29udmVy
c2lvbiB0byB3MzIgaXMgbm90IGF2YWlsYWJsZSBpbnNpZGUgdGhlIGN3cmFw
cGVyLiAgUmV0dXJucyByZXN1bHQgaW4KIyBmdW5jX3RvX2hvc3RfcGF0aF9y
ZXN1bHQuCmZ1bmNfY29udmVydF9wYXRoX21zeXNfdG9fdzMyICgpCnsKICAk
b3B0X2RlYnVnCiAgZnVuY190b19ob3N0X3BhdGhfcmVzdWx0PSIkMSIKICBp
ZiB0ZXN0IC1uICIkMSI7IHRoZW4KICAgICMgUmVtb3ZlIGxlYWRpbmcgYW5k
IHRyYWlsaW5nIHBhdGggc2VwYXJhdG9yIGNoYXJhY3RlcnMgZnJvbSBBUkcu
ICBNU1lTCiAgICAjIGJlaGF2aW9yIGlzIGluY29uc2lzdGVudCBoZXJlOyBj
eWdwYXRoIHR1cm5zIHRoZW0gaW50byAnLjsnIGFuZCAnOy4nOwogICAgIyBh
bmQgd2luZXBhdGggaWdub3JlcyB0aGVtIGNvbXBsZXRlbHkuCiAgICBmdW5j
X3N0cmlwbmFtZSA6IDogIiQxIgogICAgZnVuY190b19ob3N0X3BhdGhfdG1w
MT0kZnVuY19zdHJpcG5hbWVfcmVzdWx0CiAgICBmdW5jX2NvbnZlcnRfY29y
ZV9tc3lzX3RvX3czMiAiJGZ1bmNfdG9faG9zdF9wYXRoX3RtcDEiCiAgICBm
dW5jX3RvX2hvc3RfcGF0aF9yZXN1bHQ9IiRmdW5jX2NvbnZlcnRfY29yZV9t
c3lzX3RvX3czMl9yZXN1bHQiCiAgICBmdW5jX2NvbnZlcnRfcGF0aF9jaGVj
ayA6ICI7IiBcCiAgICAgICIkZnVuY190b19ob3N0X3BhdGhfdG1wMSIgIiRm
dW5jX3RvX2hvc3RfcGF0aF9yZXN1bHQiCiAgICBmdW5jX2NvbnZlcnRfcGF0
aF9mcm9udF9iYWNrX3BhdGhzZXAgIjoqIiAiKjoiICI7IiAiJDEiCiAgZmkK
fQojIGVuZCBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3RvX3czMgoKCiMgZnVu
Y19jb252ZXJ0X3BhdGhfY3lnd2luX3RvX3czMiBBUkcKIyBDb252ZXJ0IHBh
dGggQVJHIGZyb20gQ3lnd2luIHRvIHczMiBmb3JtYXQuICBSZXR1cm5zIHJl
c3VsdCBpbgojIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdC4KZnVuY19jb252
ZXJ0X3BhdGhfY3lnd2luX3RvX3czMiAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1
bmNfdG9faG9zdF9wYXRoX3Jlc3VsdD0iJDEiCiAgaWYgdGVzdCAtbiAiJDEi
OyB0aGVuCiAgICAjIFNlZSBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3RvX3cz
MjoKICAgIGZ1bmNfc3RyaXBuYW1lIDogOiAiJDEiCiAgICBmdW5jX3RvX2hv
c3RfcGF0aF90bXAxPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKICAgIGZ1bmNf
dG9faG9zdF9wYXRoX3Jlc3VsdD1gY3lncGF0aCAtbSAtcCAiJGZ1bmNfdG9f
aG9zdF9wYXRoX3RtcDEiYAogICAgZnVuY19jb252ZXJ0X3BhdGhfY2hlY2sg
OiAiOyIgXAogICAgICAiJGZ1bmNfdG9faG9zdF9wYXRoX3RtcDEiICIkZnVu
Y190b19ob3N0X3BhdGhfcmVzdWx0IgogICAgZnVuY19jb252ZXJ0X3BhdGhf
ZnJvbnRfYmFja19wYXRoc2VwICI6KiIgIio6IiAiOyIgIiQxIgogIGZpCn0K
IyBlbmQgZnVuY19jb252ZXJ0X3BhdGhfY3lnd2luX3RvX3czMgoKCiMgZnVu
Y19jb252ZXJ0X3BhdGhfbml4X3RvX3czMiBBUkcKIyBDb252ZXJ0IHBhdGgg
QVJHIGZyb20gKm5peCB0byB3MzIgZm9ybWF0LiAgUmVxdWlyZXMgYSB3aW5l
IGVudmlyb25tZW50IGFuZAojIGEgd29ya2luZyB3aW5lcGF0aC4gIFJldHVy
bnMgcmVzdWx0IGluIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdC4KZnVuY19j
b252ZXJ0X3BhdGhfbml4X3RvX3czMiAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1
bmNfdG9faG9zdF9wYXRoX3Jlc3VsdD0iJDEiCiAgaWYgdGVzdCAtbiAiJDEi
OyB0aGVuCiAgICAjIFNlZSBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3RvX3cz
MjoKICAgIGZ1bmNfc3RyaXBuYW1lIDogOiAiJDEiCiAgICBmdW5jX3RvX2hv
c3RfcGF0aF90bXAxPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKICAgIGZ1bmNf
Y29udmVydF9jb3JlX3BhdGhfd2luZV90b193MzIgIiRmdW5jX3RvX2hvc3Rf
cGF0aF90bXAxIgogICAgZnVuY190b19ob3N0X3BhdGhfcmVzdWx0PSIkZnVu
Y19jb252ZXJ0X2NvcmVfcGF0aF93aW5lX3RvX3czMl9yZXN1bHQiCiAgICBm
dW5jX2NvbnZlcnRfcGF0aF9jaGVjayA6ICI7IiBcCiAgICAgICIkZnVuY190
b19ob3N0X3BhdGhfdG1wMSIgIiRmdW5jX3RvX2hvc3RfcGF0aF9yZXN1bHQi
CiAgICBmdW5jX2NvbnZlcnRfcGF0aF9mcm9udF9iYWNrX3BhdGhzZXAgIjoq
IiAiKjoiICI7IiAiJDEiCiAgZmkKfQojIGVuZCBmdW5jX2NvbnZlcnRfcGF0
aF9uaXhfdG9fdzMyCgoKIyBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3RvX2N5
Z3dpbiBBUkcKIyBDb252ZXJ0IHBhdGggQVJHIGZyb20gTVNZUyB0byBDeWd3
aW4gZm9ybWF0LiAgUmVxdWlyZXMgTFRfQ1lHUEFUSCBzZXQuCiMgUmV0dXJu
cyByZXN1bHQgaW4gZnVuY190b19ob3N0X2ZpbGVfcmVzdWx0LgpmdW5jX2Nv
bnZlcnRfcGF0aF9tc3lzX3RvX2N5Z3dpbiAoKQp7CiAgJG9wdF9kZWJ1Zwog
IGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3VsdD0iJDEiCiAgaWYgdGVzdCAtbiAi
JDEiOyB0aGVuCiAgICAjIFNlZSBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3Rv
X3czMjoKICAgIGZ1bmNfc3RyaXBuYW1lIDogOiAiJDEiCiAgICBmdW5jX3Rv
X2hvc3RfcGF0aF90bXAxPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKICAgIGZ1
bmNfY29udmVydF9jb3JlX21zeXNfdG9fdzMyICIkZnVuY190b19ob3N0X3Bh
dGhfdG1wMSIKICAgIGZ1bmNfY3lncGF0aCAtdSAtcCAiJGZ1bmNfY29udmVy
dF9jb3JlX21zeXNfdG9fdzMyX3Jlc3VsdCIKICAgIGZ1bmNfdG9faG9zdF9w
YXRoX3Jlc3VsdD0iJGZ1bmNfY3lncGF0aF9yZXN1bHQiCiAgICBmdW5jX2Nv
bnZlcnRfcGF0aF9jaGVjayA6IDogXAogICAgICAiJGZ1bmNfdG9faG9zdF9w
YXRoX3RtcDEiICIkZnVuY190b19ob3N0X3BhdGhfcmVzdWx0IgogICAgZnVu
Y19jb252ZXJ0X3BhdGhfZnJvbnRfYmFja19wYXRoc2VwICI6KiIgIio6IiA6
ICIkMSIKICBmaQp9CiMgZW5kIGZ1bmNfY29udmVydF9wYXRoX21zeXNfdG9f
Y3lnd2luCgoKIyBmdW5jX2NvbnZlcnRfcGF0aF9uaXhfdG9fY3lnd2luIEFS
RwojIENvbnZlcnQgcGF0aCBBUkcgZnJvbSAqbml4IHRvIEN5Z3dpbiBmb3Jt
YXQuICBSZXF1aXJlcyBDeWd3aW4gaW5zdGFsbGVkIGluIGEKIyBhIHdpbmUg
ZW52aXJvbm1lbnQsIHdvcmtpbmcgd2luZXBhdGgsIGFuZCBMVF9DWUdQQVRI
IHNldC4gIFJldHVybnMgcmVzdWx0IGluCiMgZnVuY190b19ob3N0X2ZpbGVf
cmVzdWx0LgpmdW5jX2NvbnZlcnRfcGF0aF9uaXhfdG9fY3lnd2luICgpCnsK
ICAkb3B0X2RlYnVnCiAgZnVuY190b19ob3N0X3BhdGhfcmVzdWx0PSIkMSIK
ICBpZiB0ZXN0IC1uICIkMSI7IHRoZW4KICAgICMgUmVtb3ZlIGxlYWRpbmcg
YW5kIHRyYWlsaW5nIHBhdGggc2VwYXJhdG9yIGNoYXJhY3RlcnMgZnJvbQog
ICAgIyBBUkcuIG1zeXMgYmVoYXZpb3IgaXMgaW5jb25zaXN0ZW50IGhlcmUs
IGN5Z3BhdGggdHVybnMgdGhlbQogICAgIyBpbnRvICcuOycgYW5kICc7Lics
IGFuZCB3aW5lcGF0aCBpZ25vcmVzIHRoZW0gY29tcGxldGVseS4KICAgIGZ1
bmNfc3RyaXBuYW1lIDogOiAiJDEiCiAgICBmdW5jX3RvX2hvc3RfcGF0aF90
bXAxPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKICAgIGZ1bmNfY29udmVydF9j
b3JlX3BhdGhfd2luZV90b193MzIgIiRmdW5jX3RvX2hvc3RfcGF0aF90bXAx
IgogICAgZnVuY19jeWdwYXRoIC11IC1wICIkZnVuY19jb252ZXJ0X2NvcmVf
cGF0aF93aW5lX3RvX3czMl9yZXN1bHQiCiAgICBmdW5jX3RvX2hvc3RfcGF0
aF9yZXN1bHQ9IiRmdW5jX2N5Z3BhdGhfcmVzdWx0IgogICAgZnVuY19jb252
ZXJ0X3BhdGhfY2hlY2sgOiA6IFwKICAgICAgIiRmdW5jX3RvX2hvc3RfcGF0
aF90bXAxIiAiJGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3VsdCIKICAgIGZ1bmNf
Y29udmVydF9wYXRoX2Zyb250X2JhY2tfcGF0aHNlcCAiOioiICIqOiIgOiAi
JDEiCiAgZmkKfQojIGVuZCBmdW5jX2NvbnZlcnRfcGF0aF9uaXhfdG9fY3ln
d2luCgoKIyBmdW5jX21vZGVfY29tcGlsZSBhcmcuLi4KZnVuY19tb2RlX2Nv
bXBpbGUgKCkKewogICAgJG9wdF9kZWJ1ZwogICAgIyBHZXQgdGhlIGNvbXBp
bGF0aW9uIGNvbW1hbmQgYW5kIHRoZSBzb3VyY2UgZmlsZS4KICAgIGJhc2Vf
Y29tcGlsZT0KICAgIHNyY2ZpbGU9IiRub25vcHQiICAjICBhbHdheXMga2Vl
cCBhIG5vbi1lbXB0eSB2YWx1ZSBpbiAic3JjZmlsZSIKICAgIHN1cHByZXNz
X29wdD15ZXMKICAgIHN1cHByZXNzX291dHB1dD0KICAgIGFyZ19tb2RlPW5v
cm1hbAogICAgbGlib2JqPQogICAgbGF0ZXI9CiAgICBwaWVfZmxhZz0KCiAg
ICBmb3IgYXJnCiAgICBkbwogICAgICBjYXNlICRhcmdfbW9kZSBpbgogICAg
ICBhcmcgICkKCSMgZG8gbm90ICJjb250aW51ZSIuICBJbnN0ZWFkLCBhZGQg
dGhpcyB0byBiYXNlX2NvbXBpbGUKCWxhc3Rhcmc9IiRhcmciCglhcmdfbW9k
ZT1ub3JtYWwKCTs7CgogICAgICB0YXJnZXQgKQoJbGlib2JqPSIkYXJnIgoJ
YXJnX21vZGU9bm9ybWFsCgljb250aW51ZQoJOzsKCiAgICAgIG5vcm1hbCAp
CgkjIEFjY2VwdCBhbnkgY29tbWFuZC1saW5lIG9wdGlvbnMuCgljYXNlICRh
cmcgaW4KCS1vKQoJICB0ZXN0IC1uICIkbGlib2JqIiAmJiBcCgkgICAgZnVu
Y19mYXRhbF9lcnJvciAieW91IGNhbm5vdCBzcGVjaWZ5IFxgLW8nIG1vcmUg
dGhhbiBvbmNlIgoJICBhcmdfbW9kZT10YXJnZXQKCSAgY29udGludWUKCSAg
OzsKCgktcGllIHwgLWZwaWUgfCAtZlBJRSkKICAgICAgICAgIHBpZV9mbGFn
Kz0iICRhcmciCgkgIGNvbnRpbnVlCgkgIDs7CgoJLXNoYXJlZCB8IC1zdGF0
aWMgfCAtcHJlZmVyLXBpYyB8IC1wcmVmZXItbm9uLXBpYykKCSAgbGF0ZXIr
PSIgJGFyZyIKCSAgY29udGludWUKCSAgOzsKCgktbm8tc3VwcHJlc3MpCgkg
IHN1cHByZXNzX29wdD1ubwoJICBjb250aW51ZQoJICA7OwoKCS1YY29tcGls
ZXIpCgkgIGFyZ19tb2RlPWFyZyAgIyAgdGhlIG5leHQgb25lIGdvZXMgaW50
byB0aGUgImJhc2VfY29tcGlsZSIgYXJnIGxpc3QKCSAgY29udGludWUgICAg
ICAjICBUaGUgY3VycmVudCAic3JjZmlsZSIgd2lsbCBlaXRoZXIgYmUgcmV0
YWluZWQgb3IKCSAgOzsgICAgICAgICAgICAjICByZXBsYWNlZCBsYXRlci4g
IEkgd291bGQgZ3Vlc3MgdGhhdCB3b3VsZCBiZSBhIGJ1Zy4KCgktV2MsKikK
CSAgZnVuY19zdHJpcG5hbWUgJy1XYywnICcnICIkYXJnIgoJICBhcmdzPSRm
dW5jX3N0cmlwbmFtZV9yZXN1bHQKCSAgbGFzdGFyZz0KCSAgc2F2ZV9pZnM9
IiRJRlMiOyBJRlM9JywnCgkgIGZvciBhcmcgaW4gJGFyZ3M7IGRvCgkgICAg
SUZTPSIkc2F2ZV9pZnMiCgkgICAgZnVuY19hcHBlbmRfcXVvdGVkIGxhc3Rh
cmcgIiRhcmciCgkgIGRvbmUKCSAgSUZTPSIkc2F2ZV9pZnMiCgkgIGZ1bmNf
c3RyaXBuYW1lICcgJyAnJyAiJGxhc3RhcmciCgkgIGxhc3Rhcmc9JGZ1bmNf
c3RyaXBuYW1lX3Jlc3VsdAoKCSAgIyBBZGQgdGhlIGFyZ3VtZW50cyB0byBi
YXNlX2NvbXBpbGUuCgkgIGJhc2VfY29tcGlsZSs9IiAkbGFzdGFyZyIKCSAg
Y29udGludWUKCSAgOzsKCgkqKQoJICAjIEFjY2VwdCB0aGUgY3VycmVudCBh
cmd1bWVudCBhcyB0aGUgc291cmNlIGZpbGUuCgkgICMgVGhlIHByZXZpb3Vz
ICJzcmNmaWxlIiBiZWNvbWVzIHRoZSBjdXJyZW50IGFyZ3VtZW50LgoJICAj
CgkgIGxhc3Rhcmc9IiRzcmNmaWxlIgoJICBzcmNmaWxlPSIkYXJnIgoJICA7
OwoJZXNhYyAgIyAgY2FzZSAkYXJnCgk7OwogICAgICBlc2FjICAgICMgIGNh
c2UgJGFyZ19tb2RlCgogICAgICAjIEFlc3RoZXRpY2FsbHkgcXVvdGUgdGhl
IHByZXZpb3VzIGFyZ3VtZW50LgogICAgICBmdW5jX2FwcGVuZF9xdW90ZWQg
YmFzZV9jb21waWxlICIkbGFzdGFyZyIKICAgIGRvbmUgIyBmb3IgYXJnCgog
ICAgY2FzZSAkYXJnX21vZGUgaW4KICAgIGFyZykKICAgICAgZnVuY19mYXRh
bF9lcnJvciAieW91IG11c3Qgc3BlY2lmeSBhbiBhcmd1bWVudCBmb3IgLVhj
b21waWxlIgogICAgICA7OwogICAgdGFyZ2V0KQogICAgICBmdW5jX2ZhdGFs
X2Vycm9yICJ5b3UgbXVzdCBzcGVjaWZ5IGEgdGFyZ2V0IHdpdGggXGAtbyci
CiAgICAgIDs7CiAgICAqKQogICAgICAjIEdldCB0aGUgbmFtZSBvZiB0aGUg
bGlicmFyeSBvYmplY3QuCiAgICAgIHRlc3QgLXogIiRsaWJvYmoiICYmIHsK
CWZ1bmNfYmFzZW5hbWUgIiRzcmNmaWxlIgoJbGlib2JqPSIkZnVuY19iYXNl
bmFtZV9yZXN1bHQiCiAgICAgIH0KICAgICAgOzsKICAgIGVzYWMKCiAgICAj
IFJlY29nbml6ZSBzZXZlcmFsIGRpZmZlcmVudCBmaWxlIHN1ZmZpeGVzLgog
ICAgIyBJZiB0aGUgdXNlciBzcGVjaWZpZXMgLW8gZmlsZS5vLCBpdCBpcyBy
ZXBsYWNlZCB3aXRoIGZpbGUubG8KICAgIGNhc2UgJGxpYm9iaiBpbgogICAg
Ki5bY0NGU2lmbXNvXSB8IFwKICAgICouYWRhIHwgKi5hZGIgfCAqLmFkcyB8
ICouYXNtIHwgXAogICAgKi5jKysgfCAqLmNjIHwgKi5paSB8ICouY2xhc3Mg
fCAqLmNwcCB8ICouY3h4IHwgXAogICAgKi5bZkZdWzA5XT8gfCAqLmZvciB8
ICouamF2YSB8ICouZ28gfCAqLm9iaiB8ICouc3ggfCAqLmN1IHwgKi5jdXAp
CiAgICAgIGZ1bmNfeGZvcm0gIiRsaWJvYmoiCiAgICAgIGxpYm9iaj0kZnVu
Y194Zm9ybV9yZXN1bHQKICAgICAgOzsKICAgIGVzYWMKCiAgICBjYXNlICRs
aWJvYmogaW4KICAgICoubG8pIGZ1bmNfbG8ybyAiJGxpYm9iaiI7IG9iaj0k
ZnVuY19sbzJvX3Jlc3VsdCA7OwogICAgKikKICAgICAgZnVuY19mYXRhbF9l
cnJvciAiY2Fubm90IGRldGVybWluZSBuYW1lIG9mIGxpYnJhcnkgb2JqZWN0
IGZyb20gXGAkbGlib2JqJyIKICAgICAgOzsKICAgIGVzYWMKCiAgICBmdW5j
X2luZmVyX3RhZyAkYmFzZV9jb21waWxlCgogICAgZm9yIGFyZyBpbiAkbGF0
ZXI7IGRvCiAgICAgIGNhc2UgJGFyZyBpbgogICAgICAtc2hhcmVkKQoJdGVz
dCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgIT0geWVzICYmIFwKCSAgZnVuY19m
YXRhbF9jb25maWd1cmF0aW9uICJjYW4gbm90IGJ1aWxkIGEgc2hhcmVkIGxp
YnJhcnkiCglidWlsZF9vbGRfbGlicz1ubwoJY29udGludWUKCTs7CgogICAg
ICAtc3RhdGljKQoJYnVpbGRfbGlidG9vbF9saWJzPW5vCglidWlsZF9vbGRf
bGlicz15ZXMKCWNvbnRpbnVlCgk7OwoKICAgICAgLXByZWZlci1waWMpCglw
aWNfbW9kZT15ZXMKCWNvbnRpbnVlCgk7OwoKICAgICAgLXByZWZlci1ub24t
cGljKQoJcGljX21vZGU9bm8KCWNvbnRpbnVlCgk7OwogICAgICBlc2FjCiAg
ICBkb25lCgogICAgZnVuY19xdW90ZV9mb3JfZXZhbCAiJGxpYm9iaiIKICAg
IHRlc3QgIlgkbGlib2JqIiAhPSAiWCRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jl
c3VsdCIgXAogICAgICAmJiAkRUNITyAiWCRsaWJvYmoiIHwgJEdSRVAgJ1td
fiNeKnt9Ozw+PyInIiciJwkgJigpfGAkW10nIFwKICAgICAgJiYgZnVuY193
YXJuaW5nICJsaWJvYmogbmFtZSBcYCRsaWJvYmonIG1heSBub3QgY29udGFp
biBzaGVsbCBzcGVjaWFsIGNoYXJhY3RlcnMuIgogICAgZnVuY19kaXJuYW1l
X2FuZF9iYXNlbmFtZSAiJG9iaiIgIi8iICIiCiAgICBvYmpuYW1lPSIkZnVu
Y19iYXNlbmFtZV9yZXN1bHQiCiAgICB4ZGlyPSIkZnVuY19kaXJuYW1lX3Jl
c3VsdCIKICAgIGxvYmo9JHt4ZGlyfSRvYmpkaXIvJG9iam5hbWUKCiAgICB0
ZXN0IC16ICIkYmFzZV9jb21waWxlIiAmJiBcCiAgICAgIGZ1bmNfZmF0YWxf
aGVscCAieW91IG11c3Qgc3BlY2lmeSBhIGNvbXBpbGF0aW9uIGNvbW1hbmQi
CgogICAgIyBEZWxldGUgYW55IGxlZnRvdmVyIGxpYnJhcnkgb2JqZWN0cy4K
ICAgIGlmIHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSB5ZXM7IHRoZW4KICAg
ICAgcmVtb3ZlbGlzdD0iJG9iaiAkbG9iaiAkbGlib2JqICR7bGlib2JqfVQi
CiAgICBlbHNlCiAgICAgIHJlbW92ZWxpc3Q9IiRsb2JqICRsaWJvYmogJHts
aWJvYmp9VCIKICAgIGZpCgogICAgIyBPbiBDeWd3aW4gdGhlcmUncyBubyAi
cmVhbCIgUElDIGZsYWcgc28gd2UgbXVzdCBidWlsZCBib3RoIG9iamVjdCB0
eXBlcwogICAgY2FzZSAkaG9zdF9vcyBpbgogICAgY3lnd2luKiB8IG1pbmd3
KiB8IHB3MzIqIHwgb3MyKiB8IGNlZ2NjKikKICAgICAgcGljX21vZGU9ZGVm
YXVsdAogICAgICA7OwogICAgZXNhYwogICAgaWYgdGVzdCAiJHBpY19tb2Rl
IiA9IG5vICYmIHRlc3QgIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgIT0gcGFz
c19hbGw7IHRoZW4KICAgICAgIyBub24tUElDIGNvZGUgaW4gc2hhcmVkIGxp
YnJhcmllcyBpcyBub3Qgc3VwcG9ydGVkCiAgICAgIHBpY19tb2RlPWRlZmF1
bHQKICAgIGZpCgogICAgIyBDYWxjdWxhdGUgdGhlIGZpbGVuYW1lIG9mIHRo
ZSBvdXRwdXQgb2JqZWN0IGlmIGNvbXBpbGVyIGRvZXMKICAgICMgbm90IHN1
cHBvcnQgLW8gd2l0aCAtYwogICAgaWYgdGVzdCAiJGNvbXBpbGVyX2NfbyIg
PSBubzsgdGhlbgogICAgICBvdXRwdXRfb2JqPWAkRUNITyAiJHNyY2ZpbGUi
IHwgJFNFRCAncyVeLiovJSU7IHMlXC5bXi5dKiQlJSdgLiR7b2JqZXh0fQog
ICAgICBsb2NrZmlsZT0iJG91dHB1dF9vYmoubG9jayIKICAgIGVsc2UKICAg
ICAgb3V0cHV0X29iaj0KICAgICAgbmVlZF9sb2Nrcz1ubwogICAgICBsb2Nr
ZmlsZT0KICAgIGZpCgogICAgIyBMb2NrIHRoaXMgY3JpdGljYWwgc2VjdGlv
biBpZiBpdCBpcyBuZWVkZWQKICAgICMgV2UgdXNlIHRoaXMgc2NyaXB0IGZp
bGUgdG8gbWFrZSB0aGUgbGluaywgaXQgYXZvaWRzIGNyZWF0aW5nIGEgbmV3
IGZpbGUKICAgIGlmIHRlc3QgIiRuZWVkX2xvY2tzIiA9IHllczsgdGhlbgog
ICAgICB1bnRpbCAkb3B0X2RyeV9ydW4gfHwgbG4gIiRwcm9ncGF0aCIgIiRs
b2NrZmlsZSIgMj4vZGV2L251bGw7IGRvCglmdW5jX2VjaG8gIldhaXRpbmcg
Zm9yICRsb2NrZmlsZSB0byBiZSByZW1vdmVkIgoJc2xlZXAgMgogICAgICBk
b25lCiAgICBlbGlmIHRlc3QgIiRuZWVkX2xvY2tzIiA9IHdhcm47IHRoZW4K
ICAgICAgaWYgdGVzdCAtZiAiJGxvY2tmaWxlIjsgdGhlbgoJJEVDSE8gIlwK
KioqIEVSUk9SLCAkbG9ja2ZpbGUgZXhpc3RzIGFuZCBjb250YWluczoKYGNh
dCAkbG9ja2ZpbGUgMj4vZGV2L251bGxgCgpUaGlzIGluZGljYXRlcyB0aGF0
IGFub3RoZXIgcHJvY2VzcyBpcyB0cnlpbmcgdG8gdXNlIHRoZSBzYW1lCnRl
bXBvcmFyeSBvYmplY3QgZmlsZSwgYW5kIGxpYnRvb2wgY291bGQgbm90IHdv
cmsgYXJvdW5kIGl0IGJlY2F1c2UKeW91ciBjb21waWxlciBkb2VzIG5vdCBz
dXBwb3J0IFxgLWMnIGFuZCBcYC1vJyB0b2dldGhlci4gIElmIHlvdQpyZXBl
YXQgdGhpcyBjb21waWxhdGlvbiwgaXQgbWF5IHN1Y2NlZWQsIGJ5IGNoYW5j
ZSwgYnV0IHlvdSBoYWQgYmV0dGVyCmF2b2lkIHBhcmFsbGVsIGJ1aWxkcyAo
bWFrZSAtaikgaW4gdGhpcyBwbGF0Zm9ybSwgb3IgZ2V0IGEgYmV0dGVyCmNv
bXBpbGVyLiIKCgkkb3B0X2RyeV9ydW4gfHwgJFJNICRyZW1vdmVsaXN0Cgll
eGl0ICRFWElUX0ZBSUxVUkUKICAgICAgZmkKICAgICAgcmVtb3ZlbGlzdCs9
IiAkb3V0cHV0X29iaiIKICAgICAgJEVDSE8gIiRzcmNmaWxlIiA+ICIkbG9j
a2ZpbGUiCiAgICBmaQoKICAgICRvcHRfZHJ5X3J1biB8fCAkUk0gJHJlbW92
ZWxpc3QKICAgIHJlbW92ZWxpc3QrPSIgJGxvY2tmaWxlIgogICAgdHJhcCAn
JG9wdF9kcnlfcnVuIHx8ICRSTSAkcmVtb3ZlbGlzdDsgZXhpdCAkRVhJVF9G
QUlMVVJFJyAxIDIgMTUKCiAgICBmdW5jX3RvX3Rvb2xfZmlsZSAiJHNyY2Zp
bGUiIGZ1bmNfY29udmVydF9maWxlX21zeXNfdG9fdzMyCiAgICBzcmNmaWxl
PSRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQKICAgIGZ1bmNfcXVvdGVfZm9y
X2V2YWwgIiRzcmNmaWxlIgogICAgcXNyY2ZpbGU9JGZ1bmNfcXVvdGVfZm9y
X2V2YWxfcmVzdWx0CgogICAgIyBPbmx5IGJ1aWxkIGEgUElDIG9iamVjdCBp
ZiB3ZSBhcmUgYnVpbGRpbmcgbGlidG9vbCBsaWJyYXJpZXMuCiAgICBpZiB0
ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IHllczsgdGhlbgogICAgICAj
IFdpdGhvdXQgdGhpcyBhc3NpZ25tZW50LCBiYXNlX2NvbXBpbGUgZ2V0cyBl
bXB0aWVkLgogICAgICBmYnNkX2hpZGVvdXNfc2hfYnVnPSRiYXNlX2NvbXBp
bGUKCiAgICAgIGlmIHRlc3QgIiRwaWNfbW9kZSIgIT0gbm87IHRoZW4KCWNv
bW1hbmQ9IiRiYXNlX2NvbXBpbGUgJHFzcmNmaWxlICRwaWNfZmxhZyIKICAg
ICAgZWxzZQoJIyBEb24ndCBidWlsZCBQSUMgY29kZQoJY29tbWFuZD0iJGJh
c2VfY29tcGlsZSAkcXNyY2ZpbGUiCiAgICAgIGZpCgogICAgICBmdW5jX21r
ZGlyX3AgIiR4ZGlyJG9iamRpciIKCiAgICAgIGlmIHRlc3QgLXogIiRvdXRw
dXRfb2JqIjsgdGhlbgoJIyBQbGFjZSBQSUMgb2JqZWN0cyBpbiAkb2JqZGly
Cgljb21tYW5kKz0iIC1vICRsb2JqIgogICAgICBmaQoKICAgICAgZnVuY19z
aG93X2V2YWxfbG9jYWxlICIkY29tbWFuZCIJXAogICAgICAgICAgJ3Rlc3Qg
LW4gIiRvdXRwdXRfb2JqIiAmJiAkUk0gJHJlbW92ZWxpc3Q7IGV4aXQgJEVY
SVRfRkFJTFVSRScKCiAgICAgIGlmIHRlc3QgIiRuZWVkX2xvY2tzIiA9IHdh
cm4gJiYKCSB0ZXN0ICJYYGNhdCAkbG9ja2ZpbGUgMj4vZGV2L251bGxgIiAh
PSAiWCRzcmNmaWxlIjsgdGhlbgoJJEVDSE8gIlwKKioqIEVSUk9SLCAkbG9j
a2ZpbGUgY29udGFpbnM6CmBjYXQgJGxvY2tmaWxlIDI+L2Rldi9udWxsYAoK
YnV0IGl0IHNob3VsZCBjb250YWluOgokc3JjZmlsZQoKVGhpcyBpbmRpY2F0
ZXMgdGhhdCBhbm90aGVyIHByb2Nlc3MgaXMgdHJ5aW5nIHRvIHVzZSB0aGUg
c2FtZQp0ZW1wb3Jhcnkgb2JqZWN0IGZpbGUsIGFuZCBsaWJ0b29sIGNvdWxk
IG5vdCB3b3JrIGFyb3VuZCBpdCBiZWNhdXNlCnlvdXIgY29tcGlsZXIgZG9l
cyBub3Qgc3VwcG9ydCBcYC1jJyBhbmQgXGAtbycgdG9nZXRoZXIuICBJZiB5
b3UKcmVwZWF0IHRoaXMgY29tcGlsYXRpb24sIGl0IG1heSBzdWNjZWVkLCBi
eSBjaGFuY2UsIGJ1dCB5b3UgaGFkIGJldHRlcgphdm9pZCBwYXJhbGxlbCBi
dWlsZHMgKG1ha2UgLWopIGluIHRoaXMgcGxhdGZvcm0sIG9yIGdldCBhIGJl
dHRlcgpjb21waWxlci4iCgoJJG9wdF9kcnlfcnVuIHx8ICRSTSAkcmVtb3Zl
bGlzdAoJZXhpdCAkRVhJVF9GQUlMVVJFCiAgICAgIGZpCgogICAgICAjIEp1
c3QgbW92ZSB0aGUgb2JqZWN0IGlmIG5lZWRlZCwgdGhlbiBnbyBvbiB0byBj
b21waWxlIHRoZSBuZXh0IG9uZQogICAgICBpZiB0ZXN0IC1uICIkb3V0cHV0
X29iaiIgJiYgdGVzdCAiWCRvdXRwdXRfb2JqIiAhPSAiWCRsb2JqIjsgdGhl
bgoJZnVuY19zaG93X2V2YWwgJyRNViAiJG91dHB1dF9vYmoiICIkbG9iaiIn
IFwKCSAgJ2Vycm9yPSQ/OyAkb3B0X2RyeV9ydW4gfHwgJFJNICRyZW1vdmVs
aXN0OyBleGl0ICRlcnJvcicKICAgICAgZmkKCiAgICAgICMgQWxsb3cgZXJy
b3IgbWVzc2FnZXMgb25seSBmcm9tIHRoZSBmaXJzdCBjb21waWxhdGlvbi4K
ICAgICAgaWYgdGVzdCAiJHN1cHByZXNzX29wdCIgPSB5ZXM7IHRoZW4KCXN1
cHByZXNzX291dHB1dD0nID4vZGV2L251bGwgMj4mMScKICAgICAgZmkKICAg
IGZpCgogICAgIyBPbmx5IGJ1aWxkIGEgcG9zaXRpb24tZGVwZW5kZW50IG9i
amVjdCBpZiB3ZSBidWlsZCBvbGQgbGlicmFyaWVzLgogICAgaWYgdGVzdCAi
JGJ1aWxkX29sZF9saWJzIiA9IHllczsgdGhlbgogICAgICBpZiB0ZXN0ICIk
cGljX21vZGUiICE9IHllczsgdGhlbgoJIyBEb24ndCBidWlsZCBQSUMgY29k
ZQoJY29tbWFuZD0iJGJhc2VfY29tcGlsZSAkcXNyY2ZpbGUkcGllX2ZsYWci
CiAgICAgIGVsc2UKCWNvbW1hbmQ9IiRiYXNlX2NvbXBpbGUgJHFzcmNmaWxl
ICRwaWNfZmxhZyIKICAgICAgZmkKICAgICAgaWYgdGVzdCAiJGNvbXBpbGVy
X2NfbyIgPSB5ZXM7IHRoZW4KCWNvbW1hbmQrPSIgLW8gJG9iaiIKICAgICAg
ZmkKCiAgICAgICMgU3VwcHJlc3MgY29tcGlsZXIgb3V0cHV0IGlmIHdlIGFs
cmVhZHkgZGlkIGEgUElDIGNvbXBpbGF0aW9uLgogICAgICBjb21tYW5kKz0i
JHN1cHByZXNzX291dHB1dCIKICAgICAgZnVuY19zaG93X2V2YWxfbG9jYWxl
ICIkY29tbWFuZCIgXAogICAgICAgICckb3B0X2RyeV9ydW4gfHwgJFJNICRy
ZW1vdmVsaXN0OyBleGl0ICRFWElUX0ZBSUxVUkUnCgogICAgICBpZiB0ZXN0
ICIkbmVlZF9sb2NrcyIgPSB3YXJuICYmCgkgdGVzdCAiWGBjYXQgJGxvY2tm
aWxlIDI+L2Rldi9udWxsYCIgIT0gIlgkc3JjZmlsZSI7IHRoZW4KCSRFQ0hP
ICJcCioqKiBFUlJPUiwgJGxvY2tmaWxlIGNvbnRhaW5zOgpgY2F0ICRsb2Nr
ZmlsZSAyPi9kZXYvbnVsbGAKCmJ1dCBpdCBzaG91bGQgY29udGFpbjoKJHNy
Y2ZpbGUKClRoaXMgaW5kaWNhdGVzIHRoYXQgYW5vdGhlciBwcm9jZXNzIGlz
IHRyeWluZyB0byB1c2UgdGhlIHNhbWUKdGVtcG9yYXJ5IG9iamVjdCBmaWxl
LCBhbmQgbGlidG9vbCBjb3VsZCBub3Qgd29yayBhcm91bmQgaXQgYmVjYXVz
ZQp5b3VyIGNvbXBpbGVyIGRvZXMgbm90IHN1cHBvcnQgXGAtYycgYW5kIFxg
LW8nIHRvZ2V0aGVyLiAgSWYgeW91CnJlcGVhdCB0aGlzIGNvbXBpbGF0aW9u
LCBpdCBtYXkgc3VjY2VlZCwgYnkgY2hhbmNlLCBidXQgeW91IGhhZCBiZXR0
ZXIKYXZvaWQgcGFyYWxsZWwgYnVpbGRzIChtYWtlIC1qKSBpbiB0aGlzIHBs
YXRmb3JtLCBvciBnZXQgYSBiZXR0ZXIKY29tcGlsZXIuIgoKCSRvcHRfZHJ5
X3J1biB8fCAkUk0gJHJlbW92ZWxpc3QKCWV4aXQgJEVYSVRfRkFJTFVSRQog
ICAgICBmaQoKICAgICAgIyBKdXN0IG1vdmUgdGhlIG9iamVjdCBpZiBuZWVk
ZWQKICAgICAgaWYgdGVzdCAtbiAiJG91dHB1dF9vYmoiICYmIHRlc3QgIlgk
b3V0cHV0X29iaiIgIT0gIlgkb2JqIjsgdGhlbgoJZnVuY19zaG93X2V2YWwg
JyRNViAiJG91dHB1dF9vYmoiICIkb2JqIicgXAoJICAnZXJyb3I9JD87ICRv
cHRfZHJ5X3J1biB8fCAkUk0gJHJlbW92ZWxpc3Q7IGV4aXQgJGVycm9yJwog
ICAgICBmaQogICAgZmkKCiAgICAkb3B0X2RyeV9ydW4gfHwgewogICAgICBm
dW5jX3dyaXRlX2xpYnRvb2xfb2JqZWN0ICIkbGlib2JqIiAiJG9iamRpci8k
b2JqbmFtZSIgIiRvYmpuYW1lIgoKICAgICAgIyBVbmxvY2sgdGhlIGNyaXRp
Y2FsIHNlY3Rpb24gaWYgaXQgd2FzIGxvY2tlZAogICAgICBpZiB0ZXN0ICIk
bmVlZF9sb2NrcyIgIT0gbm87IHRoZW4KCXJlbW92ZWxpc3Q9JGxvY2tmaWxl
CiAgICAgICAgJFJNICIkbG9ja2ZpbGUiCiAgICAgIGZpCiAgICB9CgogICAg
ZXhpdCAkRVhJVF9TVUNDRVNTCn0KCiRvcHRfaGVscCB8fCB7CiAgdGVzdCAi
JG9wdF9tb2RlIiA9IGNvbXBpbGUgJiYgZnVuY19tb2RlX2NvbXBpbGUgJHsx
KyIkQCJ9Cn0KCmZ1bmNfbW9kZV9oZWxwICgpCnsKICAgICMgV2UgbmVlZCB0
byBkaXNwbGF5IGhlbHAgZm9yIGVhY2ggb2YgdGhlIG1vZGVzLgogICAgY2Fz
ZSAkb3B0X21vZGUgaW4KICAgICAgIiIpCiAgICAgICAgIyBHZW5lcmljIGhl
bHAgaXMgZXh0cmFjdGVkIGZyb20gdGhlIHVzYWdlIGNvbW1lbnRzCiAgICAg
ICAgIyBhdCB0aGUgc3RhcnQgb2YgdGhpcyBmaWxlLgogICAgICAgIGZ1bmNf
aGVscAogICAgICAgIDs7CgogICAgICBjbGVhbikKICAgICAgICAkRUNITyBc
CiJVc2FnZTogJHByb2duYW1lIFtPUFRJT05dLi4uIC0tbW9kZT1jbGVhbiBS
TSBbUk0tT1BUSU9OXS4uLiBGSUxFLi4uCgpSZW1vdmUgZmlsZXMgZnJvbSB0
aGUgYnVpbGQgZGlyZWN0b3J5LgoKUk0gaXMgdGhlIG5hbWUgb2YgdGhlIHBy
b2dyYW0gdG8gdXNlIHRvIGRlbGV0ZSBmaWxlcyBhc3NvY2lhdGVkIHdpdGgg
ZWFjaCBGSUxFCih0eXBpY2FsbHkgXGAvYmluL3JtJykuICBSTS1PUFRJT05T
IGFyZSBvcHRpb25zIChzdWNoIGFzIFxgLWYnKSB0byBiZSBwYXNzZWQKdG8g
Uk0uCgpJZiBGSUxFIGlzIGEgbGlidG9vbCBsaWJyYXJ5LCBvYmplY3Qgb3Ig
cHJvZ3JhbSwgYWxsIHRoZSBmaWxlcyBhc3NvY2lhdGVkCndpdGggaXQgYXJl
IGRlbGV0ZWQuIE90aGVyd2lzZSwgb25seSBGSUxFIGl0c2VsZiBpcyBkZWxl
dGVkIHVzaW5nIFJNLiIKICAgICAgICA7OwoKICAgICAgY29tcGlsZSkKICAg
ICAgJEVDSE8gXAoiVXNhZ2U6ICRwcm9nbmFtZSBbT1BUSU9OXS4uLiAtLW1v
ZGU9Y29tcGlsZSBDT01QSUxFLUNPTU1BTkQuLi4gU09VUkNFRklMRQoKQ29t
cGlsZSBhIHNvdXJjZSBmaWxlIGludG8gYSBsaWJ0b29sIGxpYnJhcnkgb2Jq
ZWN0LgoKVGhpcyBtb2RlIGFjY2VwdHMgdGhlIGZvbGxvd2luZyBhZGRpdGlv
bmFsIG9wdGlvbnM6CgogIC1vIE9VVFBVVC1GSUxFICAgIHNldCB0aGUgb3V0
cHV0IGZpbGUgbmFtZSB0byBPVVRQVVQtRklMRQogIC1uby1zdXBwcmVzcyAg
ICAgIGRvIG5vdCBzdXBwcmVzcyBjb21waWxlciBvdXRwdXQgZm9yIG11bHRp
cGxlIHBhc3NlcwogIC1wcmVmZXItcGljICAgICAgIHRyeSB0byBidWlsZCBQ
SUMgb2JqZWN0cyBvbmx5CiAgLXByZWZlci1ub24tcGljICAgdHJ5IHRvIGJ1
aWxkIG5vbi1QSUMgb2JqZWN0cyBvbmx5CiAgLXNoYXJlZCAgICAgICAgICAg
ZG8gbm90IGJ1aWxkIGEgXGAubycgZmlsZSBzdWl0YWJsZSBmb3Igc3RhdGlj
IGxpbmtpbmcKICAtc3RhdGljICAgICAgICAgICBvbmx5IGJ1aWxkIGEgXGAu
bycgZmlsZSBzdWl0YWJsZSBmb3Igc3RhdGljIGxpbmtpbmcKICAtV2MsRkxB
RyAgICAgICAgICBwYXNzIEZMQUcgZGlyZWN0bHkgdG8gdGhlIGNvbXBpbGVy
CgpDT01QSUxFLUNPTU1BTkQgaXMgYSBjb21tYW5kIHRvIGJlIHVzZWQgaW4g
Y3JlYXRpbmcgYSBcYHN0YW5kYXJkJyBvYmplY3QgZmlsZQpmcm9tIHRoZSBn
aXZlbiBTT1VSQ0VGSUxFLgoKVGhlIG91dHB1dCBmaWxlIG5hbWUgaXMgZGV0
ZXJtaW5lZCBieSByZW1vdmluZyB0aGUgZGlyZWN0b3J5IGNvbXBvbmVudCBm
cm9tClNPVVJDRUZJTEUsIHRoZW4gc3Vic3RpdHV0aW5nIHRoZSBDIHNvdXJj
ZSBjb2RlIHN1ZmZpeCBcYC5jJyB3aXRoIHRoZQpsaWJyYXJ5IG9iamVjdCBz
dWZmaXgsIFxgLmxvJy4iCiAgICAgICAgOzsKCiAgICAgIGV4ZWN1dGUpCiAg
ICAgICAgJEVDSE8gXAoiVXNhZ2U6ICRwcm9nbmFtZSBbT1BUSU9OXS4uLiAt
LW1vZGU9ZXhlY3V0ZSBDT01NQU5EIFtBUkdTXS4uLgoKQXV0b21hdGljYWxs
eSBzZXQgbGlicmFyeSBwYXRoLCB0aGVuIHJ1biBhIHByb2dyYW0uCgpUaGlz
IG1vZGUgYWNjZXB0cyB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgb3B0aW9u
czoKCiAgLWRsb3BlbiBGSUxFICAgICAgYWRkIHRoZSBkaXJlY3RvcnkgY29u
dGFpbmluZyBGSUxFIHRvIHRoZSBsaWJyYXJ5IHBhdGgKClRoaXMgbW9kZSBz
ZXRzIHRoZSBsaWJyYXJ5IHBhdGggZW52aXJvbm1lbnQgdmFyaWFibGUgYWNj
b3JkaW5nIHRvIFxgLWRsb3BlbicKZmxhZ3MuCgpJZiBhbnkgb2YgdGhlIEFS
R1MgYXJlIGxpYnRvb2wgZXhlY3V0YWJsZSB3cmFwcGVycywgdGhlbiB0aGV5
IGFyZSB0cmFuc2xhdGVkCmludG8gdGhlaXIgY29ycmVzcG9uZGluZyB1bmlu
c3RhbGxlZCBiaW5hcnksIGFuZCBhbnkgb2YgdGhlaXIgcmVxdWlyZWQgbGli
cmFyeQpkaXJlY3RvcmllcyBhcmUgYWRkZWQgdG8gdGhlIGxpYnJhcnkgcGF0
aC4KClRoZW4sIENPTU1BTkQgaXMgZXhlY3V0ZWQsIHdpdGggQVJHUyBhcyBh
cmd1bWVudHMuIgogICAgICAgIDs7CgogICAgICBmaW5pc2gpCiAgICAgICAg
JEVDSE8gXAoiVXNhZ2U6ICRwcm9nbmFtZSBbT1BUSU9OXS4uLiAtLW1vZGU9
ZmluaXNoIFtMSUJESVJdLi4uCgpDb21wbGV0ZSB0aGUgaW5zdGFsbGF0aW9u
IG9mIGxpYnRvb2wgbGlicmFyaWVzLgoKRWFjaCBMSUJESVIgaXMgYSBkaXJl
Y3RvcnkgdGhhdCBjb250YWlucyBsaWJ0b29sIGxpYnJhcmllcy4KClRoZSBj
b21tYW5kcyB0aGF0IHRoaXMgbW9kZSBleGVjdXRlcyBtYXkgcmVxdWlyZSBz
dXBlcnVzZXIgcHJpdmlsZWdlcy4gIFVzZQp0aGUgXGAtLWRyeS1ydW4nIG9w
dGlvbiBpZiB5b3UganVzdCB3YW50IHRvIHNlZSB3aGF0IHdvdWxkIGJlIGV4
ZWN1dGVkLiIKICAgICAgICA7OwoKICAgICAgaW5zdGFsbCkKICAgICAgICAk
RUNITyBcCiJVc2FnZTogJHByb2duYW1lIFtPUFRJT05dLi4uIC0tbW9kZT1p
bnN0YWxsIElOU1RBTEwtQ09NTUFORC4uLgoKSW5zdGFsbCBleGVjdXRhYmxl
cyBvciBsaWJyYXJpZXMuCgpJTlNUQUxMLUNPTU1BTkQgaXMgdGhlIGluc3Rh
bGxhdGlvbiBjb21tYW5kLiAgVGhlIGZpcnN0IGNvbXBvbmVudCBzaG91bGQg
YmUKZWl0aGVyIHRoZSBcYGluc3RhbGwnIG9yIFxgY3AnIHByb2dyYW0uCgpU
aGUgZm9sbG93aW5nIGNvbXBvbmVudHMgb2YgSU5TVEFMTC1DT01NQU5EIGFy
ZSB0cmVhdGVkIHNwZWNpYWxseToKCiAgLWluc3QtcHJlZml4LWRpciBQUkVG
SVgtRElSICBVc2UgUFJFRklYLURJUiBhcyBhIHN0YWdpbmcgYXJlYSBmb3Ig
aW5zdGFsbGF0aW9uCgpUaGUgcmVzdCBvZiB0aGUgY29tcG9uZW50cyBhcmUg
aW50ZXJwcmV0ZWQgYXMgYXJndW1lbnRzIHRvIHRoYXQgY29tbWFuZCAob25s
eQpCU0QtY29tcGF0aWJsZSBpbnN0YWxsIG9wdGlvbnMgYXJlIHJlY29nbml6
ZWQpLiIKICAgICAgICA7OwoKICAgICAgbGluaykKICAgICAgICAkRUNITyBc
CiJVc2FnZTogJHByb2duYW1lIFtPUFRJT05dLi4uIC0tbW9kZT1saW5rIExJ
TkstQ09NTUFORC4uLgoKTGluayBvYmplY3QgZmlsZXMgb3IgbGlicmFyaWVz
IHRvZ2V0aGVyIHRvIGZvcm0gYW5vdGhlciBsaWJyYXJ5LCBvciB0bwpjcmVh
dGUgYW4gZXhlY3V0YWJsZSBwcm9ncmFtLgoKTElOSy1DT01NQU5EIGlzIGEg
Y29tbWFuZCB1c2luZyB0aGUgQyBjb21waWxlciB0aGF0IHlvdSB3b3VsZCB1
c2UgdG8gY3JlYXRlCmEgcHJvZ3JhbSBmcm9tIHNldmVyYWwgb2JqZWN0IGZp
bGVzLgoKVGhlIGZvbGxvd2luZyBjb21wb25lbnRzIG9mIExJTkstQ09NTUFO
RCBhcmUgdHJlYXRlZCBzcGVjaWFsbHk6CgogIC1hbGwtc3RhdGljICAgICAg
IGRvIG5vdCBkbyBhbnkgZHluYW1pYyBsaW5raW5nIGF0IGFsbAogIC1hdm9p
ZC12ZXJzaW9uICAgIGRvIG5vdCBhZGQgYSB2ZXJzaW9uIHN1ZmZpeCBpZiBw
b3NzaWJsZQogIC1iaW5kaXIgQklORElSICAgIHNwZWNpZnkgcGF0aCB0byBi
aW5hcmllcyBkaXJlY3RvcnkgKGZvciBzeXN0ZW1zIHdoZXJlCiAgICAgICAg
ICAgICAgICAgICAgbGlicmFyaWVzIG11c3QgYmUgZm91bmQgaW4gdGhlIFBB
VEggc2V0dGluZyBhdCBydW50aW1lKQogIC1kbG9wZW4gRklMRSAgICAgIFxg
LWRscHJlb3BlbicgRklMRSBpZiBpdCBjYW5ub3QgYmUgZGxvcGVuZWQgYXQg
cnVudGltZQogIC1kbHByZW9wZW4gRklMRSAgIGxpbmsgaW4gRklMRSBhbmQg
YWRkIGl0cyBzeW1ib2xzIHRvIGx0X3ByZWxvYWRlZF9zeW1ib2xzCiAgLWV4
cG9ydC1keW5hbWljICAgYWxsb3cgc3ltYm9scyBmcm9tIE9VVFBVVC1GSUxF
IHRvIGJlIHJlc29sdmVkIHdpdGggZGxzeW0oMykKICAtZXhwb3J0LXN5bWJv
bHMgU1lNRklMRQogICAgICAgICAgICAgICAgICAgIHRyeSB0byBleHBvcnQg
b25seSB0aGUgc3ltYm9scyBsaXN0ZWQgaW4gU1lNRklMRQogIC1leHBvcnQt
c3ltYm9scy1yZWdleCBSRUdFWAogICAgICAgICAgICAgICAgICAgIHRyeSB0
byBleHBvcnQgb25seSB0aGUgc3ltYm9scyBtYXRjaGluZyBSRUdFWAogIC1M
TElCRElSICAgICAgICAgIHNlYXJjaCBMSUJESVIgZm9yIHJlcXVpcmVkIGlu
c3RhbGxlZCBsaWJyYXJpZXMKICAtbE5BTUUgICAgICAgICAgICBPVVRQVVQt
RklMRSByZXF1aXJlcyB0aGUgaW5zdGFsbGVkIGxpYnJhcnkgbGliTkFNRQog
IC1tb2R1bGUgICAgICAgICAgIGJ1aWxkIGEgbGlicmFyeSB0aGF0IGNhbiBk
bG9wZW5lZAogIC1uby1mYXN0LWluc3RhbGwgIGRpc2FibGUgdGhlIGZhc3Qt
aW5zdGFsbCBtb2RlCiAgLW5vLWluc3RhbGwgICAgICAgbGluayBhIG5vdC1p
bnN0YWxsYWJsZSBleGVjdXRhYmxlCiAgLW5vLXVuZGVmaW5lZCAgICAgZGVj
bGFyZSB0aGF0IGEgbGlicmFyeSBkb2VzIG5vdCByZWZlciB0byBleHRlcm5h
bCBzeW1ib2xzCiAgLW8gT1VUUFVULUZJTEUgICAgY3JlYXRlIE9VVFBVVC1G
SUxFIGZyb20gdGhlIHNwZWNpZmllZCBvYmplY3RzCiAgLW9iamVjdGxpc3Qg
RklMRSAgVXNlIGEgbGlzdCBvZiBvYmplY3QgZmlsZXMgZm91bmQgaW4gRklM
RSB0byBzcGVjaWZ5IG9iamVjdHMKICAtcHJlY2lvdXMtZmlsZXMtcmVnZXgg
UkVHRVgKICAgICAgICAgICAgICAgICAgICBkb24ndCByZW1vdmUgb3V0cHV0
IGZpbGVzIG1hdGNoaW5nIFJFR0VYCiAgLXJlbGVhc2UgUkVMRUFTRSAgc3Bl
Y2lmeSBwYWNrYWdlIHJlbGVhc2UgaW5mb3JtYXRpb24KICAtcnBhdGggTElC
RElSICAgICB0aGUgY3JlYXRlZCBsaWJyYXJ5IHdpbGwgZXZlbnR1YWxseSBi
ZSBpbnN0YWxsZWQgaW4gTElCRElSCiAgLVJbIF1MSUJESVIgICAgICAgYWRk
IExJQkRJUiB0byB0aGUgcnVudGltZSBwYXRoIG9mIHByb2dyYW1zIGFuZCBs
aWJyYXJpZXMKICAtc2hhcmVkICAgICAgICAgICBvbmx5IGRvIGR5bmFtaWMg
bGlua2luZyBvZiBsaWJ0b29sIGxpYnJhcmllcwogIC1zaHJleHQgU1VGRklY
ICAgIG92ZXJyaWRlIHRoZSBzdGFuZGFyZCBzaGFyZWQgbGlicmFyeSBmaWxl
IGV4dGVuc2lvbgogIC1zdGF0aWMgICAgICAgICAgIGRvIG5vdCBkbyBhbnkg
ZHluYW1pYyBsaW5raW5nIG9mIHVuaW5zdGFsbGVkIGxpYnRvb2wgbGlicmFy
aWVzCiAgLXN0YXRpYy1saWJ0b29sLWxpYnMKICAgICAgICAgICAgICAgICAg
ICBkbyBub3QgZG8gYW55IGR5bmFtaWMgbGlua2luZyBvZiBsaWJ0b29sIGxp
YnJhcmllcwogIC12ZXJzaW9uLWluZm8gQ1VSUkVOVFs6UkVWSVNJT05bOkFH
RV1dCiAgICAgICAgICAgICAgICAgICAgc3BlY2lmeSBsaWJyYXJ5IHZlcnNp
b24gaW5mbyBbZWFjaCB2YXJpYWJsZSBkZWZhdWx0cyB0byAwXQogIC13ZWFr
IExJQk5BTUUgICAgIGRlY2xhcmUgdGhhdCB0aGUgdGFyZ2V0IHByb3ZpZGVz
IHRoZSBMSUJOQU1FIGludGVyZmFjZQogIC1XYyxGTEFHCiAgLVhjb21waWxl
ciBGTEFHICAgcGFzcyBsaW5rZXItc3BlY2lmaWMgRkxBRyBkaXJlY3RseSB0
byB0aGUgY29tcGlsZXIKICAtV2wsRkxBRwogIC1YbGlua2VyIEZMQUcgICAg
IHBhc3MgbGlua2VyLXNwZWNpZmljIEZMQUcgZGlyZWN0bHkgdG8gdGhlIGxp
bmtlcgogIC1YQ0NsaW5rZXIgRkxBRyAgIHBhc3MgbGluay1zcGVjaWZpYyBG
TEFHIHRvIHRoZSBjb21waWxlciBkcml2ZXIgKENDKQoKQWxsIG90aGVyIG9w
dGlvbnMgKGFyZ3VtZW50cyBiZWdpbm5pbmcgd2l0aCBcYC0nKSBhcmUgaWdu
b3JlZC4KCkV2ZXJ5IG90aGVyIGFyZ3VtZW50IGlzIHRyZWF0ZWQgYXMgYSBm
aWxlbmFtZS4gIEZpbGVzIGVuZGluZyBpbiBcYC5sYScgYXJlCnRyZWF0ZWQg
YXMgdW5pbnN0YWxsZWQgbGlidG9vbCBsaWJyYXJpZXMsIG90aGVyIGZpbGVz
IGFyZSBzdGFuZGFyZCBvciBsaWJyYXJ5Cm9iamVjdCBmaWxlcy4KCklmIHRo
ZSBPVVRQVVQtRklMRSBlbmRzIGluIFxgLmxhJywgdGhlbiBhIGxpYnRvb2wg
bGlicmFyeSBpcyBjcmVhdGVkLApvbmx5IGxpYnJhcnkgb2JqZWN0cyAoXGAu
bG8nIGZpbGVzKSBtYXkgYmUgc3BlY2lmaWVkLCBhbmQgXGAtcnBhdGgnIGlz
CnJlcXVpcmVkLCBleGNlcHQgd2hlbiBjcmVhdGluZyBhIGNvbnZlbmllbmNl
IGxpYnJhcnkuCgpJZiBPVVRQVVQtRklMRSBlbmRzIGluIFxgLmEnIG9yIFxg
LmxpYicsIHRoZW4gYSBzdGFuZGFyZCBsaWJyYXJ5IGlzIGNyZWF0ZWQKdXNp
bmcgXGBhcicgYW5kIFxgcmFubGliJywgb3Igb24gV2luZG93cyB1c2luZyBc
YGxpYicuCgpJZiBPVVRQVVQtRklMRSBlbmRzIGluIFxgLmxvJyBvciBcYC4k
e29iamV4dH0nLCB0aGVuIGEgcmVsb2FkYWJsZSBvYmplY3QgZmlsZQppcyBj
cmVhdGVkLCBvdGhlcndpc2UgYW4gZXhlY3V0YWJsZSBwcm9ncmFtIGlzIGNy
ZWF0ZWQuIgogICAgICAgIDs7CgogICAgICB1bmluc3RhbGwpCiAgICAgICAg
JEVDSE8gXAoiVXNhZ2U6ICRwcm9nbmFtZSBbT1BUSU9OXS4uLiAtLW1vZGU9
dW5pbnN0YWxsIFJNIFtSTS1PUFRJT05dLi4uIEZJTEUuLi4KClJlbW92ZSBs
aWJyYXJpZXMgZnJvbSBhbiBpbnN0YWxsYXRpb24gZGlyZWN0b3J5LgoKUk0g
aXMgdGhlIG5hbWUgb2YgdGhlIHByb2dyYW0gdG8gdXNlIHRvIGRlbGV0ZSBm
aWxlcyBhc3NvY2lhdGVkIHdpdGggZWFjaCBGSUxFCih0eXBpY2FsbHkgXGAv
YmluL3JtJykuICBSTS1PUFRJT05TIGFyZSBvcHRpb25zIChzdWNoIGFzIFxg
LWYnKSB0byBiZSBwYXNzZWQKdG8gUk0uCgpJZiBGSUxFIGlzIGEgbGlidG9v
bCBsaWJyYXJ5LCBhbGwgdGhlIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBpdCBh
cmUgZGVsZXRlZC4KT3RoZXJ3aXNlLCBvbmx5IEZJTEUgaXRzZWxmIGlzIGRl
bGV0ZWQgdXNpbmcgUk0uIgogICAgICAgIDs7CgogICAgICAqKQogICAgICAg
IGZ1bmNfZmF0YWxfaGVscCAiaW52YWxpZCBvcGVyYXRpb24gbW9kZSBcYCRv
cHRfbW9kZSciCiAgICAgICAgOzsKICAgIGVzYWMKCiAgICBlY2hvCiAgICAk
RUNITyAiVHJ5IFxgJHByb2duYW1lIC0taGVscCcgZm9yIG1vcmUgaW5mb3Jt
YXRpb24gYWJvdXQgb3RoZXIgbW9kZXMuIgp9CgojIE5vdyB0aGF0IHdlJ3Zl
IGNvbGxlY3RlZCBhIHBvc3NpYmxlIC0tbW9kZSBhcmcsIHNob3cgaGVscCBp
ZiBuZWNlc3NhcnkKaWYgJG9wdF9oZWxwOyB0aGVuCiAgaWYgdGVzdCAiJG9w
dF9oZWxwIiA9IDo7IHRoZW4KICAgIGZ1bmNfbW9kZV9oZWxwCiAgZWxzZQog
ICAgewogICAgICBmdW5jX2hlbHAgbm9leGl0CiAgICAgIGZvciBvcHRfbW9k
ZSBpbiBjb21waWxlIGxpbmsgZXhlY3V0ZSBpbnN0YWxsIGZpbmlzaCB1bmlu
c3RhbGwgY2xlYW47IGRvCglmdW5jX21vZGVfaGVscAogICAgICBkb25lCiAg
ICB9IHwgc2VkIC1uICcxcDsgMiwkcy9eVXNhZ2U6LyAgb3I6IC9wJwogICAg
ewogICAgICBmdW5jX2hlbHAgbm9leGl0CiAgICAgIGZvciBvcHRfbW9kZSBp
biBjb21waWxlIGxpbmsgZXhlY3V0ZSBpbnN0YWxsIGZpbmlzaCB1bmluc3Rh
bGwgY2xlYW47IGRvCgllY2hvCglmdW5jX21vZGVfaGVscAogICAgICBkb25l
CiAgICB9IHwKICAgIHNlZCAnMWQKICAgICAgL15XaGVuIHJlcG9ydGluZy8s
L15SZXBvcnQvewoJSAoJZAogICAgICB9CiAgICAgICR4CiAgICAgIC9pbmZv
cm1hdGlvbiBhYm91dCBvdGhlciBtb2Rlcy9kCiAgICAgIC9tb3JlIGRldGFp
bGVkIC4qTU9ERS9kCiAgICAgIHMvXlVzYWdlOi4qLS1tb2RlPVwoW14gXSpc
KSAuKi9EZXNjcmlwdGlvbiBvZiBcMSBtb2RlOi8nCiAgZmkKICBleGl0ICQ/
CmZpCgoKIyBmdW5jX21vZGVfZXhlY3V0ZSBhcmcuLi4KZnVuY19tb2RlX2V4
ZWN1dGUgKCkKewogICAgJG9wdF9kZWJ1ZwogICAgIyBUaGUgZmlyc3QgYXJn
dW1lbnQgaXMgdGhlIGNvbW1hbmQgbmFtZS4KICAgIGNtZD0iJG5vbm9wdCIK
ICAgIHRlc3QgLXogIiRjbWQiICYmIFwKICAgICAgZnVuY19mYXRhbF9oZWxw
ICJ5b3UgbXVzdCBzcGVjaWZ5IGEgQ09NTUFORCIKCiAgICAjIEhhbmRsZSAt
ZGxvcGVuIGZsYWdzIGltbWVkaWF0ZWx5LgogICAgZm9yIGZpbGUgaW4gJG9w
dF9kbG9wZW47IGRvCiAgICAgIHRlc3QgLWYgIiRmaWxlIiBcCgl8fCBmdW5j
X2ZhdGFsX2hlbHAgIlxgJGZpbGUnIGlzIG5vdCBhIGZpbGUiCgogICAgICBk
aXI9CiAgICAgIGNhc2UgJGZpbGUgaW4KICAgICAgKi5sYSkKCWZ1bmNfcmVz
b2x2ZV9zeXNyb290ICIkZmlsZSIKCWZpbGU9JGZ1bmNfcmVzb2x2ZV9zeXNy
b290X3Jlc3VsdAoKCSMgQ2hlY2sgdG8gc2VlIHRoYXQgdGhpcyByZWFsbHkg
aXMgYSBsaWJ0b29sIGFyY2hpdmUuCglmdW5jX2xhbGliX3Vuc2FmZV9wICIk
ZmlsZSIgXAoJICB8fCBmdW5jX2ZhdGFsX2hlbHAgIlxgJGxpYicgaXMgbm90
IGEgdmFsaWQgbGlidG9vbCBhcmNoaXZlIgoKCSMgUmVhZCB0aGUgbGlidG9v
bCBsaWJyYXJ5LgoJZGxuYW1lPQoJbGlicmFyeV9uYW1lcz0KCWZ1bmNfc291
cmNlICIkZmlsZSIKCgkjIFNraXAgdGhpcyBsaWJyYXJ5IGlmIGl0IGNhbm5v
dCBiZSBkbG9wZW5lZC4KCWlmIHRlc3QgLXogIiRkbG5hbWUiOyB0aGVuCgkg
ICMgV2FybiBpZiBpdCB3YXMgYSBzaGFyZWQgbGlicmFyeS4KCSAgdGVzdCAt
biAiJGxpYnJhcnlfbmFtZXMiICYmIFwKCSAgICBmdW5jX3dhcm5pbmcgIlxg
JGZpbGUnIHdhcyBub3QgbGlua2VkIHdpdGggXGAtZXhwb3J0LWR5bmFtaWMn
IgoJICBjb250aW51ZQoJZmkKCglmdW5jX2Rpcm5hbWUgIiRmaWxlIiAiIiAi
LiIKCWRpcj0iJGZ1bmNfZGlybmFtZV9yZXN1bHQiCgoJaWYgdGVzdCAtZiAi
JGRpci8kb2JqZGlyLyRkbG5hbWUiOyB0aGVuCgkgIGRpcis9Ii8kb2JqZGly
IgoJZWxzZQoJICBpZiB0ZXN0ICEgLWYgIiRkaXIvJGRsbmFtZSI7IHRoZW4K
CSAgICBmdW5jX2ZhdGFsX2Vycm9yICJjYW5ub3QgZmluZCBcYCRkbG5hbWUn
IGluIFxgJGRpcicgb3IgXGAkZGlyLyRvYmpkaXInIgoJICBmaQoJZmkKCTs7
CgogICAgICAqLmxvKQoJIyBKdXN0IGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRh
aW5pbmcgdGhlIC5sbyBmaWxlLgoJZnVuY19kaXJuYW1lICIkZmlsZSIgIiIg
Ii4iCglkaXI9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgoJOzsKCiAgICAgICop
CglmdW5jX3dhcm5pbmcgIlxgLWRsb3BlbicgaXMgaWdub3JlZCBmb3Igbm9u
LWxpYnRvb2wgbGlicmFyaWVzIGFuZCBvYmplY3RzIgoJY29udGludWUKCTs7
CiAgICAgIGVzYWMKCiAgICAgICMgR2V0IHRoZSBhYnNvbHV0ZSBwYXRobmFt
ZS4KICAgICAgYWJzZGlyPWBjZCAiJGRpciIgJiYgcHdkYAogICAgICB0ZXN0
IC1uICIkYWJzZGlyIiAmJiBkaXI9IiRhYnNkaXIiCgogICAgICAjIE5vdyBh
ZGQgdGhlIGRpcmVjdG9yeSB0byBzaGxpYnBhdGhfdmFyLgogICAgICBpZiBl
dmFsICJ0ZXN0IC16IFwiXCQkc2hsaWJwYXRoX3ZhclwiIjsgdGhlbgoJZXZh
bCAiJHNobGlicGF0aF92YXI9XCJcJGRpclwiIgogICAgICBlbHNlCglldmFs
ICIkc2hsaWJwYXRoX3Zhcj1cIlwkZGlyOlwkJHNobGlicGF0aF92YXJcIiIK
ICAgICAgZmkKICAgIGRvbmUKCiAgICAjIFRoaXMgdmFyaWFibGUgdGVsbHMg
d3JhcHBlciBzY3JpcHRzIGp1c3QgdG8gc2V0IHNobGlicGF0aF92YXIKICAg
ICMgcmF0aGVyIHRoYW4gcnVubmluZyB0aGVpciBwcm9ncmFtcy4KICAgIGxp
YnRvb2xfZXhlY3V0ZV9tYWdpYz0iJG1hZ2ljIgoKICAgICMgQ2hlY2sgaWYg
YW55IG9mIHRoZSBhcmd1bWVudHMgaXMgYSB3cmFwcGVyIHNjcmlwdC4KICAg
IGFyZ3M9CiAgICBmb3IgZmlsZQogICAgZG8KICAgICAgY2FzZSAkZmlsZSBp
bgogICAgICAtKiB8ICoubGEgfCAqLmxvICkgOzsKICAgICAgKikKCSMgRG8g
YSB0ZXN0IHRvIHNlZSBpZiB0aGlzIGlzIHJlYWxseSBhIGxpYnRvb2wgcHJv
Z3JhbS4KCWlmIGZ1bmNfbHR3cmFwcGVyX3NjcmlwdF9wICIkZmlsZSI7IHRo
ZW4KCSAgZnVuY19zb3VyY2UgIiRmaWxlIgoJICAjIFRyYW5zZm9ybSBhcmcg
dG8gd3JhcHBlZCBuYW1lLgoJICBmaWxlPSIkcHJvZ2Rpci8kcHJvZ3JhbSIK
CWVsaWYgZnVuY19sdHdyYXBwZXJfZXhlY3V0YWJsZV9wICIkZmlsZSI7IHRo
ZW4KCSAgZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZSAiJGZpbGUiCgkgIGZ1
bmNfc291cmNlICIkZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZV9yZXN1bHQi
CgkgICMgVHJhbnNmb3JtIGFyZyB0byB3cmFwcGVkIG5hbWUuCgkgIGZpbGU9
IiRwcm9nZGlyLyRwcm9ncmFtIgoJZmkKCTs7CiAgICAgIGVzYWMKICAgICAg
IyBRdW90ZSBhcmd1bWVudHMgKHRvIHByZXNlcnZlIHNoZWxsIG1ldGFjaGFy
YWN0ZXJzKS4KICAgICAgZnVuY19hcHBlbmRfcXVvdGVkIGFyZ3MgIiRmaWxl
IgogICAgZG9uZQoKICAgIGlmIHRlc3QgIlgkb3B0X2RyeV9ydW4iID0gWGZh
bHNlOyB0aGVuCiAgICAgIGlmIHRlc3QgLW4gIiRzaGxpYnBhdGhfdmFyIjsg
dGhlbgoJIyBFeHBvcnQgdGhlIHNobGlicGF0aF92YXIuCglldmFsICJleHBv
cnQgJHNobGlicGF0aF92YXIiCiAgICAgIGZpCgogICAgICAjIFJlc3RvcmUg
c2F2ZWQgZW52aXJvbm1lbnQgdmFyaWFibGVzCiAgICAgIGZvciBsdF92YXIg
aW4gTEFORyBMQU5HVUFHRSBMQ19BTEwgTENfQ1RZUEUgTENfQ09MTEFURSBM
Q19NRVNTQUdFUwogICAgICBkbwoJZXZhbCAiaWYgdGVzdCBcIlwke3NhdmVf
JGx0X3ZhcitzZXR9XCIgPSBzZXQ7IHRoZW4KICAgICAgICAgICAgICAgICRs
dF92YXI9XCRzYXZlXyRsdF92YXI7IGV4cG9ydCAkbHRfdmFyCgkgICAgICBl
bHNlCgkJJGx0X3Vuc2V0ICRsdF92YXIKCSAgICAgIGZpIgogICAgICBkb25l
CgogICAgICAjIE5vdyBwcmVwYXJlIHRvIGFjdHVhbGx5IGV4ZWMgdGhlIGNv
bW1hbmQuCiAgICAgIGV4ZWNfY21kPSJcJGNtZCRhcmdzIgogICAgZWxzZQog
ICAgICAjIERpc3BsYXkgd2hhdCB3b3VsZCBiZSBkb25lLgogICAgICBpZiB0
ZXN0IC1uICIkc2hsaWJwYXRoX3ZhciI7IHRoZW4KCWV2YWwgIlwkRUNITyBc
Ilwkc2hsaWJwYXRoX3Zhcj1cJCRzaGxpYnBhdGhfdmFyXCIiCgllY2hvICJl
eHBvcnQgJHNobGlicGF0aF92YXIiCiAgICAgIGZpCiAgICAgICRFQ0hPICIk
Y21kJGFyZ3MiCiAgICAgIGV4aXQgJEVYSVRfU1VDQ0VTUwogICAgZmkKfQoK
dGVzdCAiJG9wdF9tb2RlIiA9IGV4ZWN1dGUgJiYgZnVuY19tb2RlX2V4ZWN1
dGUgJHsxKyIkQCJ9CgoKIyBmdW5jX21vZGVfZmluaXNoIGFyZy4uLgpmdW5j
X21vZGVfZmluaXNoICgpCnsKICAgICRvcHRfZGVidWcKICAgIGxpYnM9CiAg
ICBsaWJkaXJzPQogICAgYWRtaW5jbWRzPQoKICAgIGZvciBvcHQgaW4gIiRu
b25vcHQiICR7MSsiJEAifQogICAgZG8KICAgICAgaWYgdGVzdCAtZCAiJG9w
dCI7IHRoZW4KCWxpYmRpcnMrPSIgJG9wdCIKCiAgICAgIGVsaWYgdGVzdCAt
ZiAiJG9wdCI7IHRoZW4KCWlmIGZ1bmNfbGFsaWJfdW5zYWZlX3AgIiRvcHQi
OyB0aGVuCgkgIGxpYnMrPSIgJG9wdCIKCWVsc2UKCSAgZnVuY193YXJuaW5n
ICJcYCRvcHQnIGlzIG5vdCBhIHZhbGlkIGxpYnRvb2wgYXJjaGl2ZSIKCWZp
CgogICAgICBlbHNlCglmdW5jX2ZhdGFsX2Vycm9yICJpbnZhbGlkIGFyZ3Vt
ZW50IFxgJG9wdCciCiAgICAgIGZpCiAgICBkb25lCgogICAgaWYgdGVzdCAt
biAiJGxpYnMiOyB0aGVuCiAgICAgIGlmIHRlc3QgLW4gIiRsdF9zeXNyb290
IjsgdGhlbgogICAgICAgIHN5c3Jvb3RfcmVnZXg9YCRFQ0hPICIkbHRfc3lz
cm9vdCIgfCAkU0VEICIkc2VkX21ha2VfbGl0ZXJhbF9yZWdleCJgCiAgICAg
ICAgc3lzcm9vdF9jbWQ9InMvXChbICddXCkkc3lzcm9vdF9yZWdleC9cMS9n
OyIKICAgICAgZWxzZQogICAgICAgIHN5c3Jvb3RfY21kPQogICAgICBmaQoK
ICAgICAgIyBSZW1vdmUgc3lzcm9vdCByZWZlcmVuY2VzCiAgICAgIGlmICRv
cHRfZHJ5X3J1bjsgdGhlbgogICAgICAgIGZvciBsaWIgaW4gJGxpYnM7IGRv
CiAgICAgICAgICBlY2hvICJyZW1vdmluZyByZWZlcmVuY2VzIHRvICRsdF9z
eXNyb290IGFuZCBcYD0nIHByZWZpeGVzIGZyb20gJGxpYiIKICAgICAgICBk
b25lCiAgICAgIGVsc2UKICAgICAgICB0bXBkaXI9YGZ1bmNfbWt0ZW1wZGly
YAogICAgICAgIGZvciBsaWIgaW4gJGxpYnM7IGRvCgkgIHNlZCAtZSAiJHtz
eXNyb290X2NtZH0gcy9cKFsgJ10tW0xSXVwpPS9cMS9nOyBzL1woWyAnXVwp
PS9cMS9nIiAkbGliIFwKCSAgICA+ICR0bXBkaXIvdG1wLWxhCgkgIG12IC1m
ICR0bXBkaXIvdG1wLWxhICRsaWIKCWRvbmUKICAgICAgICAke1JNfXIgIiR0
bXBkaXIiCiAgICAgIGZpCiAgICBmaQoKICAgIGlmIHRlc3QgLW4gIiRmaW5p
c2hfY21kcyRmaW5pc2hfZXZhbCIgJiYgdGVzdCAtbiAiJGxpYmRpcnMiOyB0
aGVuCiAgICAgIGZvciBsaWJkaXIgaW4gJGxpYmRpcnM7IGRvCglpZiB0ZXN0
IC1uICIkZmluaXNoX2NtZHMiOyB0aGVuCgkgICMgRG8gZWFjaCBjb21tYW5k
IGluIHRoZSBmaW5pc2ggY29tbWFuZHMuCgkgIGZ1bmNfZXhlY3V0ZV9jbWRz
ICIkZmluaXNoX2NtZHMiICdhZG1pbmNtZHM9IiRhZG1pbmNtZHMKJyIkY21k
IiciJwoJZmkKCWlmIHRlc3QgLW4gIiRmaW5pc2hfZXZhbCI7IHRoZW4KCSAg
IyBEbyB0aGUgc2luZ2xlIGZpbmlzaF9ldmFsLgoJICBldmFsIGNtZHM9XCIk
ZmluaXNoX2V2YWxcIgoJICAkb3B0X2RyeV9ydW4gfHwgZXZhbCAiJGNtZHMi
IHx8IGFkbWluY21kcys9IgogICAgICAgJGNtZHMiCglmaQogICAgICBkb25l
CiAgICBmaQoKICAgICMgRXhpdCBoZXJlIGlmIHRoZXkgd2FudGVkIHNpbGVu
dCBtb2RlLgogICAgJG9wdF9zaWxlbnQgJiYgZXhpdCAkRVhJVF9TVUNDRVNT
CgogICAgaWYgdGVzdCAtbiAiJGZpbmlzaF9jbWRzJGZpbmlzaF9ldmFsIiAm
JiB0ZXN0IC1uICIkbGliZGlycyI7IHRoZW4KICAgICAgZWNobyAiLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSIKICAgICAgZWNobyAiTGlicmFyaWVzIGhh
dmUgYmVlbiBpbnN0YWxsZWQgaW46IgogICAgICBmb3IgbGliZGlyIGluICRs
aWJkaXJzOyBkbwoJJEVDSE8gIiAgICRsaWJkaXIiCiAgICAgIGRvbmUKICAg
ICAgZWNobwogICAgICBlY2hvICJJZiB5b3UgZXZlciBoYXBwZW4gdG8gd2Fu
dCB0byBsaW5rIGFnYWluc3QgaW5zdGFsbGVkIGxpYnJhcmllcyIKICAgICAg
ZWNobyAiaW4gYSBnaXZlbiBkaXJlY3RvcnksIExJQkRJUiwgeW91IG11c3Qg
ZWl0aGVyIHVzZSBsaWJ0b29sLCBhbmQiCiAgICAgIGVjaG8gInNwZWNpZnkg
dGhlIGZ1bGwgcGF0aG5hbWUgb2YgdGhlIGxpYnJhcnksIG9yIHVzZSB0aGUg
XGAtTExJQkRJUiciCiAgICAgIGVjaG8gImZsYWcgZHVyaW5nIGxpbmtpbmcg
YW5kIGRvIGF0IGxlYXN0IG9uZSBvZiB0aGUgZm9sbG93aW5nOiIKICAgICAg
aWYgdGVzdCAtbiAiJHNobGlicGF0aF92YXIiOyB0aGVuCgllY2hvICIgICAt
IGFkZCBMSUJESVIgdG8gdGhlIFxgJHNobGlicGF0aF92YXInIGVudmlyb25t
ZW50IHZhcmlhYmxlIgoJZWNobyAiICAgICBkdXJpbmcgZXhlY3V0aW9uIgog
ICAgICBmaQogICAgICBpZiB0ZXN0IC1uICIkcnVucGF0aF92YXIiOyB0aGVu
CgllY2hvICIgICAtIGFkZCBMSUJESVIgdG8gdGhlIFxgJHJ1bnBhdGhfdmFy
JyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKCWVjaG8gIiAgICAgZHVyaW5nIGxp
bmtpbmciCiAgICAgIGZpCiAgICAgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9s
aWJkaXJfZmxhZ19zcGVjIjsgdGhlbgoJbGliZGlyPUxJQkRJUgoJZXZhbCBm
bGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgoKCSRFQ0hPICIg
ICAtIHVzZSB0aGUgXGAkZmxhZycgbGlua2VyIGZsYWciCiAgICAgIGZpCiAg
ICAgIGlmIHRlc3QgLW4gIiRhZG1pbmNtZHMiOyB0aGVuCgkkRUNITyAiICAg
LSBoYXZlIHlvdXIgc3lzdGVtIGFkbWluaXN0cmF0b3IgcnVuIHRoZXNlIGNv
bW1hbmRzOiRhZG1pbmNtZHMiCiAgICAgIGZpCiAgICAgIGlmIHRlc3QgLWYg
L2V0Yy9sZC5zby5jb25mOyB0aGVuCgllY2hvICIgICAtIGhhdmUgeW91ciBz
eXN0ZW0gYWRtaW5pc3RyYXRvciBhZGQgTElCRElSIHRvIFxgL2V0Yy9sZC5z
by5jb25mJyIKICAgICAgZmkKICAgICAgZWNobwoKICAgICAgZWNobyAiU2Vl
IGFueSBvcGVyYXRpbmcgc3lzdGVtIGRvY3VtZW50YXRpb24gYWJvdXQgc2hh
cmVkIGxpYnJhcmllcyBmb3IiCiAgICAgIGNhc2UgJGhvc3QgaW4KCXNvbGFy
aXMyLls2Nzg5XXxzb2xhcmlzMi4xWzAtOV0pCgkgIGVjaG8gIm1vcmUgaW5m
b3JtYXRpb24sIHN1Y2ggYXMgdGhlIGxkKDEpLCBjcmxlKDEpIGFuZCBsZC5z
byg4KSBtYW51YWwiCgkgIGVjaG8gInBhZ2VzLiIKCSAgOzsKCSopCgkgIGVj
aG8gIm1vcmUgaW5mb3JtYXRpb24sIHN1Y2ggYXMgdGhlIGxkKDEpIGFuZCBs
ZC5zbyg4KSBtYW51YWwgcGFnZXMuIgoJICA7OwogICAgICBlc2FjCiAgICAg
IGVjaG8gIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iCiAgICBmaQogICAg
ZXhpdCAkRVhJVF9TVUNDRVNTCn0KCnRlc3QgIiRvcHRfbW9kZSIgPSBmaW5p
c2ggJiYgZnVuY19tb2RlX2ZpbmlzaCAkezErIiRAIn0KCgojIGZ1bmNfbW9k
ZV9pbnN0YWxsIGFyZy4uLgpmdW5jX21vZGVfaW5zdGFsbCAoKQp7CiAgICAk
b3B0X2RlYnVnCiAgICAjIFRoZXJlIG1heSBiZSBhbiBvcHRpb25hbCBzaCgx
KSBhcmd1bWVudCBhdCB0aGUgYmVnaW5uaW5nIG9mCiAgICAjIGluc3RhbGxf
cHJvZyAoZXNwZWNpYWxseSBvbiBXaW5kb3dzIE5UKS4KICAgIGlmIHRlc3Qg
IiRub25vcHQiID0gIiRTSEVMTCIgfHwgdGVzdCAiJG5vbm9wdCIgPSAvYmlu
L3NoIHx8CiAgICAgICAjIEFsbG93IHRoZSB1c2Ugb2YgR05VIHNodG9vbCdz
IGluc3RhbGwgY29tbWFuZC4KICAgICAgIGNhc2UgJG5vbm9wdCBpbiAqc2h0
b29sKikgOjs7ICopIGZhbHNlOzsgZXNhYzsgdGhlbgogICAgICAjIEFlc3Ro
ZXRpY2FsbHkgcXVvdGUgaXQuCiAgICAgIGZ1bmNfcXVvdGVfZm9yX2V2YWwg
IiRub25vcHQiCiAgICAgIGluc3RhbGxfcHJvZz0iJGZ1bmNfcXVvdGVfZm9y
X2V2YWxfcmVzdWx0ICIKICAgICAgYXJnPSQxCiAgICAgIHNoaWZ0CiAgICBl
bHNlCiAgICAgIGluc3RhbGxfcHJvZz0KICAgICAgYXJnPSRub25vcHQKICAg
IGZpCgogICAgIyBUaGUgcmVhbCBmaXJzdCBhcmd1bWVudCBzaG91bGQgYmUg
dGhlIG5hbWUgb2YgdGhlIGluc3RhbGxhdGlvbiBwcm9ncmFtLgogICAgIyBB
ZXN0aGV0aWNhbGx5IHF1b3RlIGl0LgogICAgZnVuY19xdW90ZV9mb3JfZXZh
bCAiJGFyZyIKICAgIGluc3RhbGxfcHJvZys9IiRmdW5jX3F1b3RlX2Zvcl9l
dmFsX3Jlc3VsdCIKICAgIGluc3RhbGxfc2hhcmVkX3Byb2c9JGluc3RhbGxf
cHJvZwogICAgY2FzZSAiICRpbnN0YWxsX3Byb2cgIiBpbgogICAgICAqW1xc
XCAvXWNwXCAqKSBpbnN0YWxsX2NwPTogOzsKICAgICAgKikgaW5zdGFsbF9j
cD1mYWxzZSA7OwogICAgZXNhYwoKICAgICMgV2UgbmVlZCB0byBhY2NlcHQg
YXQgbGVhc3QgYWxsIHRoZSBCU0QgaW5zdGFsbCBmbGFncy4KICAgIGRlc3Q9
CiAgICBmaWxlcz0KICAgIG9wdHM9CiAgICBwcmV2PQogICAgaW5zdGFsbF90
eXBlPQogICAgaXNkaXI9bm8KICAgIHN0cmlwbWU9CiAgICBub19tb2RlPToK
ICAgIGZvciBhcmcKICAgIGRvCiAgICAgIGFyZzI9CiAgICAgIGlmIHRlc3Qg
LW4gIiRkZXN0IjsgdGhlbgoJZmlsZXMrPSIgJGRlc3QiCglkZXN0PSRhcmcK
CWNvbnRpbnVlCiAgICAgIGZpCgogICAgICBjYXNlICRhcmcgaW4KICAgICAg
LWQpIGlzZGlyPXllcyA7OwogICAgICAtZikKCWlmICRpbnN0YWxsX2NwOyB0
aGVuIDo7IGVsc2UKCSAgcHJldj0kYXJnCglmaQoJOzsKICAgICAgLWcgfCAt
bSB8IC1vKQoJcHJldj0kYXJnCgk7OwogICAgICAtcykKCXN0cmlwbWU9IiAt
cyIKCWNvbnRpbnVlCgk7OwogICAgICAtKikKCTs7CiAgICAgICopCgkjIElm
IHRoZSBwcmV2aW91cyBvcHRpb24gbmVlZGVkIGFuIGFyZ3VtZW50LCB0aGVu
IHNraXAgaXQuCglpZiB0ZXN0IC1uICIkcHJldiI7IHRoZW4KCSAgaWYgdGVz
dCAieCRwcmV2IiA9IHgtbSAmJiB0ZXN0IC1uICIkaW5zdGFsbF9vdmVycmlk
ZV9tb2RlIjsgdGhlbgoJICAgIGFyZzI9JGluc3RhbGxfb3ZlcnJpZGVfbW9k
ZQoJICAgIG5vX21vZGU9ZmFsc2UKCSAgZmkKCSAgcHJldj0KCWVsc2UKCSAg
ZGVzdD0kYXJnCgkgIGNvbnRpbnVlCglmaQoJOzsKICAgICAgZXNhYwoKICAg
ICAgIyBBZXN0aGV0aWNhbGx5IHF1b3RlIHRoZSBhcmd1bWVudC4KICAgICAg
ZnVuY19xdW90ZV9mb3JfZXZhbCAiJGFyZyIKICAgICAgaW5zdGFsbF9wcm9n
Kz0iICRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdCIKICAgICAgaWYgdGVz
dCAtbiAiJGFyZzIiOyB0aGVuCglmdW5jX3F1b3RlX2Zvcl9ldmFsICIkYXJn
MiIKICAgICAgZmkKICAgICAgaW5zdGFsbF9zaGFyZWRfcHJvZys9IiAkZnVu
Y19xdW90ZV9mb3JfZXZhbF9yZXN1bHQiCiAgICBkb25lCgogICAgdGVzdCAt
eiAiJGluc3RhbGxfcHJvZyIgJiYgXAogICAgICBmdW5jX2ZhdGFsX2hlbHAg
InlvdSBtdXN0IHNwZWNpZnkgYW4gaW5zdGFsbCBwcm9ncmFtIgoKICAgIHRl
c3QgLW4gIiRwcmV2IiAmJiBcCiAgICAgIGZ1bmNfZmF0YWxfaGVscCAidGhl
IFxgJHByZXYnIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIKCiAgICBp
ZiB0ZXN0IC1uICIkaW5zdGFsbF9vdmVycmlkZV9tb2RlIiAmJiAkbm9fbW9k
ZTsgdGhlbgogICAgICBpZiAkaW5zdGFsbF9jcDsgdGhlbiA6OyBlbHNlCglm
dW5jX3F1b3RlX2Zvcl9ldmFsICIkaW5zdGFsbF9vdmVycmlkZV9tb2RlIgoJ
aW5zdGFsbF9zaGFyZWRfcHJvZys9IiAtbSAkZnVuY19xdW90ZV9mb3JfZXZh
bF9yZXN1bHQiCiAgICAgIGZpCiAgICBmaQoKICAgIGlmIHRlc3QgLXogIiRm
aWxlcyI7IHRoZW4KICAgICAgaWYgdGVzdCAteiAiJGRlc3QiOyB0aGVuCglm
dW5jX2ZhdGFsX2hlbHAgIm5vIGZpbGUgb3IgZGVzdGluYXRpb24gc3BlY2lm
aWVkIgogICAgICBlbHNlCglmdW5jX2ZhdGFsX2hlbHAgInlvdSBtdXN0IHNw
ZWNpZnkgYSBkZXN0aW5hdGlvbiIKICAgICAgZmkKICAgIGZpCgogICAgIyBT
dHJpcCBhbnkgdHJhaWxpbmcgc2xhc2ggZnJvbSB0aGUgZGVzdGluYXRpb24u
CiAgICBmdW5jX3N0cmlwbmFtZSAnJyAnLycgIiRkZXN0IgogICAgZGVzdD0k
ZnVuY19zdHJpcG5hbWVfcmVzdWx0CgogICAgIyBDaGVjayB0byBzZWUgdGhh
dCB0aGUgZGVzdGluYXRpb24gaXMgYSBkaXJlY3RvcnkuCiAgICB0ZXN0IC1k
ICIkZGVzdCIgJiYgaXNkaXI9eWVzCiAgICBpZiB0ZXN0ICIkaXNkaXIiID0g
eWVzOyB0aGVuCiAgICAgIGRlc3RkaXI9IiRkZXN0IgogICAgICBkZXN0bmFt
ZT0KICAgIGVsc2UKICAgICAgZnVuY19kaXJuYW1lX2FuZF9iYXNlbmFtZSAi
JGRlc3QiICIiICIuIgogICAgICBkZXN0ZGlyPSIkZnVuY19kaXJuYW1lX3Jl
c3VsdCIKICAgICAgZGVzdG5hbWU9IiRmdW5jX2Jhc2VuYW1lX3Jlc3VsdCIK
CiAgICAgICMgTm90IGEgZGlyZWN0b3J5LCBzbyBjaGVjayB0byBzZWUgdGhh
dCB0aGVyZSBpcyBvbmx5IG9uZSBmaWxlIHNwZWNpZmllZC4KICAgICAgc2V0
IGR1bW15ICRmaWxlczsgc2hpZnQKICAgICAgdGVzdCAiJCMiIC1ndCAxICYm
IFwKCWZ1bmNfZmF0YWxfaGVscCAiXGAkZGVzdCcgaXMgbm90IGEgZGlyZWN0
b3J5IgogICAgZmkKICAgIGNhc2UgJGRlc3RkaXIgaW4KICAgIFtcXC9dKiB8
IFtBLVphLXpdOltcXC9dKikgOzsKICAgICopCiAgICAgIGZvciBmaWxlIGlu
ICRmaWxlczsgZG8KCWNhc2UgJGZpbGUgaW4KCSoubG8pIDs7CgkqKQoJICBm
dW5jX2ZhdGFsX2hlbHAgIlxgJGRlc3RkaXInIG11c3QgYmUgYW4gYWJzb2x1
dGUgZGlyZWN0b3J5IG5hbWUiCgkgIDs7Cgllc2FjCiAgICAgIGRvbmUKICAg
ICAgOzsKICAgIGVzYWMKCiAgICAjIFRoaXMgdmFyaWFibGUgdGVsbHMgd3Jh
cHBlciBzY3JpcHRzIGp1c3QgdG8gc2V0IHZhcmlhYmxlcyByYXRoZXIKICAg
ICMgdGhhbiBydW5uaW5nIHRoZWlyIHByb2dyYW1zLgogICAgbGlidG9vbF9p
bnN0YWxsX21hZ2ljPSIkbWFnaWMiCgogICAgc3RhdGljbGlicz0KICAgIGZ1
dHVyZV9saWJkaXJzPQogICAgY3VycmVudF9saWJkaXJzPQogICAgZm9yIGZp
bGUgaW4gJGZpbGVzOyBkbwoKICAgICAgIyBEbyBlYWNoIGluc3RhbGxhdGlv
bi4KICAgICAgY2FzZSAkZmlsZSBpbgogICAgICAqLiRsaWJleHQpCgkjIERv
IHRoZSBzdGF0aWMgbGlicmFyaWVzIGxhdGVyLgoJc3RhdGljbGlicys9IiAk
ZmlsZSIKCTs7CgogICAgICAqLmxhKQoJZnVuY19yZXNvbHZlX3N5c3Jvb3Qg
IiRmaWxlIgoJZmlsZT0kZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVzdWx0CgoJ
IyBDaGVjayB0byBzZWUgdGhhdCB0aGlzIHJlYWxseSBpcyBhIGxpYnRvb2wg
YXJjaGl2ZS4KCWZ1bmNfbGFsaWJfdW5zYWZlX3AgIiRmaWxlIiBcCgkgIHx8
IGZ1bmNfZmF0YWxfaGVscCAiXGAkZmlsZScgaXMgbm90IGEgdmFsaWQgbGli
dG9vbCBhcmNoaXZlIgoKCWxpYnJhcnlfbmFtZXM9CglvbGRfbGlicmFyeT0K
CXJlbGlua19jb21tYW5kPQoJZnVuY19zb3VyY2UgIiRmaWxlIgoKCSMgQWRk
IHRoZSBsaWJkaXIgdG8gY3VycmVudF9saWJkaXJzIGlmIGl0IGlzIHRoZSBk
ZXN0aW5hdGlvbi4KCWlmIHRlc3QgIlgkZGVzdGRpciIgPSAiWCRsaWJkaXIi
OyB0aGVuCgkgIGNhc2UgIiRjdXJyZW50X2xpYmRpcnMgIiBpbgoJICAqIiAk
bGliZGlyICIqKSA7OwoJICAqKSBjdXJyZW50X2xpYmRpcnMrPSIgJGxpYmRp
ciIgOzsKCSAgZXNhYwoJZWxzZQoJICAjIE5vdGUgdGhlIGxpYmRpciBhcyBh
IGZ1dHVyZSBsaWJkaXIuCgkgIGNhc2UgIiRmdXR1cmVfbGliZGlycyAiIGlu
CgkgICoiICRsaWJkaXIgIiopIDs7CgkgICopIGZ1dHVyZV9saWJkaXJzKz0i
ICRsaWJkaXIiIDs7CgkgIGVzYWMKCWZpCgoJZnVuY19kaXJuYW1lICIkZmls
ZSIgIi8iICIiCglkaXI9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgoJZGlyKz0i
JG9iamRpciIKCglpZiB0ZXN0IC1uICIkcmVsaW5rX2NvbW1hbmQiOyB0aGVu
CgkgICMgRGV0ZXJtaW5lIHRoZSBwcmVmaXggdGhlIHVzZXIgaGFzIGFwcGxp
ZWQgdG8gb3VyIGZ1dHVyZSBkaXIuCgkgIGluc3RfcHJlZml4X2Rpcj1gJEVD
SE8gIiRkZXN0ZGlyIiB8ICRTRUQgLWUgInMlJGxpYmRpclwkJSUiYAoKCSAg
IyBEb24ndCBhbGxvdyB0aGUgdXNlciB0byBwbGFjZSB1cyBvdXRzaWRlIG9m
IG91ciBleHBlY3RlZAoJICAjIGxvY2F0aW9uIGIvYyB0aGlzIHByZXZlbnRz
IGZpbmRpbmcgZGVwZW5kZW50IGxpYnJhcmllcyB0aGF0CgkgICMgYXJlIGlu
c3RhbGxlZCB0byB0aGUgc2FtZSBwcmVmaXguCgkgICMgQXQgcHJlc2VudCwg
dGhpcyBjaGVjayBkb2Vzbid0IGFmZmVjdCB3aW5kb3dzIC5kbGwncyB0aGF0
CgkgICMgYXJlIGluc3RhbGxlZCBpbnRvICRsaWJkaXIvLi4vYmluIChjdXJy
ZW50bHksIHRoYXQgd29ya3MgZmluZSkKCSAgIyBidXQgaXQncyBzb21ldGhp
bmcgdG8ga2VlcCBhbiBleWUgb24uCgkgIHRlc3QgIiRpbnN0X3ByZWZpeF9k
aXIiID0gIiRkZXN0ZGlyIiAmJiBcCgkgICAgZnVuY19mYXRhbF9lcnJvciAi
ZXJyb3I6IGNhbm5vdCBpbnN0YWxsIFxgJGZpbGUnIHRvIGEgZGlyZWN0b3J5
IG5vdCBlbmRpbmcgaW4gJGxpYmRpciIKCgkgIGlmIHRlc3QgLW4gIiRpbnN0
X3ByZWZpeF9kaXIiOyB0aGVuCgkgICAgIyBTdGljayB0aGUgaW5zdF9wcmVm
aXhfZGlyIGRhdGEgaW50byB0aGUgbGluayBjb21tYW5kLgoJICAgIHJlbGlu
a19jb21tYW5kPWAkRUNITyAiJHJlbGlua19jb21tYW5kIiB8ICRTRUQgInMl
QGluc3RfcHJlZml4X2RpckAlLWluc3QtcHJlZml4LWRpciAkaW5zdF9wcmVm
aXhfZGlyJSJgCgkgIGVsc2UKCSAgICByZWxpbmtfY29tbWFuZD1gJEVDSE8g
IiRyZWxpbmtfY29tbWFuZCIgfCAkU0VEICJzJUBpbnN0X3ByZWZpeF9kaXJA
JSUiYAoJICBmaQoKCSAgZnVuY193YXJuaW5nICJyZWxpbmtpbmcgXGAkZmls
ZSciCgkgIGZ1bmNfc2hvd19ldmFsICIkcmVsaW5rX2NvbW1hbmQiIFwKCSAg
ICAnZnVuY19mYXRhbF9lcnJvciAiZXJyb3I6IHJlbGluayBcYCRmaWxlJ1wn
JyB3aXRoIHRoZSBhYm92ZSBjb21tYW5kIGJlZm9yZSBpbnN0YWxsaW5nIGl0
IicKCWZpCgoJIyBTZWUgdGhlIG5hbWVzIG9mIHRoZSBzaGFyZWQgbGlicmFy
eS4KCXNldCBkdW1teSAkbGlicmFyeV9uYW1lczsgc2hpZnQKCWlmIHRlc3Qg
LW4gIiQxIjsgdGhlbgoJICByZWFsbmFtZT0iJDEiCgkgIHNoaWZ0CgoJICBz
cmNuYW1lPSIkcmVhbG5hbWUiCgkgIHRlc3QgLW4gIiRyZWxpbmtfY29tbWFu
ZCIgJiYgc3JjbmFtZT0iJHJlYWxuYW1lIlQKCgkgICMgSW5zdGFsbCB0aGUg
c2hhcmVkIGxpYnJhcnkgYW5kIGJ1aWxkIHRoZSBzeW1saW5rcy4KCSAgZnVu
Y19zaG93X2V2YWwgIiRpbnN0YWxsX3NoYXJlZF9wcm9nICRkaXIvJHNyY25h
bWUgJGRlc3RkaXIvJHJlYWxuYW1lIiBcCgkgICAgICAnZXhpdCAkPycKCSAg
dHN0cmlwbWU9IiRzdHJpcG1lIgoJICBjYXNlICRob3N0X29zIGluCgkgIGN5
Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKCSAgICBjYXNlICRy
ZWFsbmFtZSBpbgoJICAgICouZGxsLmEpCgkgICAgICB0c3RyaXBtZT0iIgoJ
ICAgICAgOzsKCSAgICBlc2FjCgkgICAgOzsKCSAgZXNhYwoJICBpZiB0ZXN0
IC1uICIkdHN0cmlwbWUiICYmIHRlc3QgLW4gIiRzdHJpcGxpYiI7IHRoZW4K
CSAgICBmdW5jX3Nob3dfZXZhbCAiJHN0cmlwbGliICRkZXN0ZGlyLyRyZWFs
bmFtZSIgJ2V4aXQgJD8nCgkgIGZpCgoJICBpZiB0ZXN0ICIkIyIgLWd0IDA7
IHRoZW4KCSAgICAjIERlbGV0ZSB0aGUgb2xkIHN5bWxpbmtzLCBhbmQgY3Jl
YXRlIG5ldyBvbmVzLgoJICAgICMgVHJ5IGBsbiAtc2YnIGZpcnN0LCBiZWNh
dXNlIHRoZSBgbG4nIGJpbmFyeSBtaWdodCBkZXBlbmQgb24KCSAgICAjIHRo
ZSBzeW1saW5rIHdlIHJlcGxhY2UhICBTb2xhcmlzIC9iaW4vbG4gZG9lcyBu
b3QgdW5kZXJzdGFuZCAtZiwKCSAgICAjIHNvIHdlIGFsc28gbmVlZCB0byB0
cnkgcm0gJiYgbG4gLXMuCgkgICAgZm9yIGxpbmtuYW1lCgkgICAgZG8KCSAg
ICAgIHRlc3QgIiRsaW5rbmFtZSIgIT0gIiRyZWFsbmFtZSIgXAoJCSYmIGZ1
bmNfc2hvd19ldmFsICIoY2QgJGRlc3RkaXIgJiYgeyAkTE5fUyAtZiAkcmVh
bG5hbWUgJGxpbmtuYW1lIHx8IHsgJFJNICRsaW5rbmFtZSAmJiAkTE5fUyAk
cmVhbG5hbWUgJGxpbmtuYW1lOyB9OyB9KSIKCSAgICBkb25lCgkgIGZpCgoJ
ICAjIERvIGVhY2ggY29tbWFuZCBpbiB0aGUgcG9zdGluc3RhbGwgY29tbWFu
ZHMuCgkgIGxpYj0iJGRlc3RkaXIvJHJlYWxuYW1lIgoJICBmdW5jX2V4ZWN1
dGVfY21kcyAiJHBvc3RpbnN0YWxsX2NtZHMiICdleGl0ICQ/JwoJZmkKCgkj
IEluc3RhbGwgdGhlIHBzZXVkby1saWJyYXJ5IGZvciBpbmZvcm1hdGlvbiBw
dXJwb3Nlcy4KCWZ1bmNfYmFzZW5hbWUgIiRmaWxlIgoJbmFtZT0iJGZ1bmNf
YmFzZW5hbWVfcmVzdWx0IgoJaW5zdG5hbWU9IiRkaXIvJG5hbWUiaQoJZnVu
Y19zaG93X2V2YWwgIiRpbnN0YWxsX3Byb2cgJGluc3RuYW1lICRkZXN0ZGly
LyRuYW1lIiAnZXhpdCAkPycKCgkjIE1heWJlIGluc3RhbGwgdGhlIHN0YXRp
YyBsaWJyYXJ5LCB0b28uCgl0ZXN0IC1uICIkb2xkX2xpYnJhcnkiICYmIHN0
YXRpY2xpYnMrPSIgJGRpci8kb2xkX2xpYnJhcnkiCgk7OwoKICAgICAgKi5s
bykKCSMgSW5zdGFsbCAoaS5lLiBjb3B5KSBhIGxpYnRvb2wgb2JqZWN0LgoK
CSMgRmlndXJlIG91dCBkZXN0aW5hdGlvbiBmaWxlIG5hbWUsIGlmIGl0IHdh
c24ndCBhbHJlYWR5IHNwZWNpZmllZC4KCWlmIHRlc3QgLW4gIiRkZXN0bmFt
ZSI7IHRoZW4KCSAgZGVzdGZpbGU9IiRkZXN0ZGlyLyRkZXN0bmFtZSIKCWVs
c2UKCSAgZnVuY19iYXNlbmFtZSAiJGZpbGUiCgkgIGRlc3RmaWxlPSIkZnVu
Y19iYXNlbmFtZV9yZXN1bHQiCgkgIGRlc3RmaWxlPSIkZGVzdGRpci8kZGVz
dGZpbGUiCglmaQoKCSMgRGVkdWNlIHRoZSBuYW1lIG9mIHRoZSBkZXN0aW5h
dGlvbiBvbGQtc3R5bGUgb2JqZWN0IGZpbGUuCgljYXNlICRkZXN0ZmlsZSBp
bgoJKi5sbykKCSAgZnVuY19sbzJvICIkZGVzdGZpbGUiCgkgIHN0YXRpY2Rl
c3Q9JGZ1bmNfbG8yb19yZXN1bHQKCSAgOzsKCSouJG9iamV4dCkKCSAgc3Rh
dGljZGVzdD0iJGRlc3RmaWxlIgoJICBkZXN0ZmlsZT0KCSAgOzsKCSopCgkg
IGZ1bmNfZmF0YWxfaGVscCAiY2Fubm90IGNvcHkgYSBsaWJ0b29sIG9iamVj
dCB0byBcYCRkZXN0ZmlsZSciCgkgIDs7Cgllc2FjCgoJIyBJbnN0YWxsIHRo
ZSBsaWJ0b29sIG9iamVjdCBpZiByZXF1ZXN0ZWQuCgl0ZXN0IC1uICIkZGVz
dGZpbGUiICYmIFwKCSAgZnVuY19zaG93X2V2YWwgIiRpbnN0YWxsX3Byb2cg
JGZpbGUgJGRlc3RmaWxlIiAnZXhpdCAkPycKCgkjIEluc3RhbGwgdGhlIG9s
ZCBvYmplY3QgaWYgZW5hYmxlZC4KCWlmIHRlc3QgIiRidWlsZF9vbGRfbGli
cyIgPSB5ZXM7IHRoZW4KCSAgIyBEZWR1Y2UgdGhlIG5hbWUgb2YgdGhlIG9s
ZC1zdHlsZSBvYmplY3QgZmlsZS4KCSAgZnVuY19sbzJvICIkZmlsZSIKCSAg
c3RhdGljb2JqPSRmdW5jX2xvMm9fcmVzdWx0CgkgIGZ1bmNfc2hvd19ldmFs
ICIkaW5zdGFsbF9wcm9nIFwkc3RhdGljb2JqIFwkc3RhdGljZGVzdCIgJ2V4
aXQgJD8nCglmaQoJZXhpdCAkRVhJVF9TVUNDRVNTCgk7OwoKICAgICAgKikK
CSMgRmlndXJlIG91dCBkZXN0aW5hdGlvbiBmaWxlIG5hbWUsIGlmIGl0IHdh
c24ndCBhbHJlYWR5IHNwZWNpZmllZC4KCWlmIHRlc3QgLW4gIiRkZXN0bmFt
ZSI7IHRoZW4KCSAgZGVzdGZpbGU9IiRkZXN0ZGlyLyRkZXN0bmFtZSIKCWVs
c2UKCSAgZnVuY19iYXNlbmFtZSAiJGZpbGUiCgkgIGRlc3RmaWxlPSIkZnVu
Y19iYXNlbmFtZV9yZXN1bHQiCgkgIGRlc3RmaWxlPSIkZGVzdGRpci8kZGVz
dGZpbGUiCglmaQoKCSMgSWYgdGhlIGZpbGUgaXMgbWlzc2luZywgYW5kIHRo
ZXJlIGlzIGEgLmV4ZSBvbiB0aGUgZW5kLCBzdHJpcCBpdAoJIyBiZWNhdXNl
IGl0IGlzIG1vc3QgbGlrZWx5IGEgbGlidG9vbCBzY3JpcHQgd2UgYWN0dWFs
bHkgd2FudCB0bwoJIyBpbnN0YWxsCglzdHJpcHBlZF9leHQ9IiIKCWNhc2Ug
JGZpbGUgaW4KCSAgKi5leGUpCgkgICAgaWYgdGVzdCAhIC1mICIkZmlsZSI7
IHRoZW4KCSAgICAgIGZ1bmNfc3RyaXBuYW1lICcnICcuZXhlJyAiJGZpbGUi
CgkgICAgICBmaWxlPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKCSAgICAgIHN0
cmlwcGVkX2V4dD0iLmV4ZSIKCSAgICBmaQoJICAgIDs7Cgllc2FjCgoJIyBE
byBhIHRlc3QgdG8gc2VlIGlmIHRoaXMgaXMgcmVhbGx5IGEgbGlidG9vbCBw
cm9ncmFtLgoJY2FzZSAkaG9zdCBpbgoJKmN5Z3dpbiogfCAqbWluZ3cqKQoJ
ICAgIGlmIGZ1bmNfbHR3cmFwcGVyX2V4ZWN1dGFibGVfcCAiJGZpbGUiOyB0
aGVuCgkgICAgICBmdW5jX2x0d3JhcHBlcl9zY3JpcHRuYW1lICIkZmlsZSIK
CSAgICAgIHdyYXBwZXI9JGZ1bmNfbHR3cmFwcGVyX3NjcmlwdG5hbWVfcmVz
dWx0CgkgICAgZWxzZQoJICAgICAgZnVuY19zdHJpcG5hbWUgJycgJy5leGUn
ICIkZmlsZSIKCSAgICAgIHdyYXBwZXI9JGZ1bmNfc3RyaXBuYW1lX3Jlc3Vs
dAoJICAgIGZpCgkgICAgOzsKCSopCgkgICAgd3JhcHBlcj0kZmlsZQoJICAg
IDs7Cgllc2FjCglpZiBmdW5jX2x0d3JhcHBlcl9zY3JpcHRfcCAiJHdyYXBw
ZXIiOyB0aGVuCgkgIG5vdGluc3RfZGVwbGlicz0KCSAgcmVsaW5rX2NvbW1h
bmQ9CgoJICBmdW5jX3NvdXJjZSAiJHdyYXBwZXIiCgoJICAjIENoZWNrIHRo
ZSB2YXJpYWJsZXMgdGhhdCBzaG91bGQgaGF2ZSBiZWVuIHNldC4KCSAgdGVz
dCAteiAiJGdlbmVyYXRlZF9ieV9saWJ0b29sX3ZlcnNpb24iICYmIFwKCSAg
ICBmdW5jX2ZhdGFsX2Vycm9yICJpbnZhbGlkIGxpYnRvb2wgd3JhcHBlciBz
Y3JpcHQgXGAkd3JhcHBlciciCgoJICBmaW5hbGl6ZT15ZXMKCSAgZm9yIGxp
YiBpbiAkbm90aW5zdF9kZXBsaWJzOyBkbwoJICAgICMgQ2hlY2sgdG8gc2Vl
IHRoYXQgZWFjaCBsaWJyYXJ5IGlzIGluc3RhbGxlZC4KCSAgICBsaWJkaXI9
CgkgICAgaWYgdGVzdCAtZiAiJGxpYiI7IHRoZW4KCSAgICAgIGZ1bmNfc291
cmNlICIkbGliIgoJICAgIGZpCgkgICAgbGliZmlsZT0iJGxpYmRpci8iYCRF
Q0hPICIkbGliIiB8ICRTRUQgJ3MlXi4qLyUlZydgICMjIyB0ZXN0c3VpdGU6
IHNraXAgbmVzdGVkIHF1b3RpbmcgdGVzdAoJICAgIGlmIHRlc3QgLW4gIiRs
aWJkaXIiICYmIHRlc3QgISAtZiAiJGxpYmZpbGUiOyB0aGVuCgkgICAgICBm
dW5jX3dhcm5pbmcgIlxgJGxpYicgaGFzIG5vdCBiZWVuIGluc3RhbGxlZCBp
biBcYCRsaWJkaXInIgoJICAgICAgZmluYWxpemU9bm8KCSAgICBmaQoJICBk
b25lCgoJICByZWxpbmtfY29tbWFuZD0KCSAgZnVuY19zb3VyY2UgIiR3cmFw
cGVyIgoKCSAgb3V0cHV0bmFtZT0KCSAgaWYgdGVzdCAiJGZhc3RfaW5zdGFs
bCIgPSBubyAmJiB0ZXN0IC1uICIkcmVsaW5rX2NvbW1hbmQiOyB0aGVuCgkg
ICAgJG9wdF9kcnlfcnVuIHx8IHsKCSAgICAgIGlmIHRlc3QgIiRmaW5hbGl6
ZSIgPSB5ZXM7IHRoZW4KCSAgICAgICAgdG1wZGlyPWBmdW5jX21rdGVtcGRp
cmAKCQlmdW5jX2Jhc2VuYW1lICIkZmlsZSRzdHJpcHBlZF9leHQiCgkJZmls
ZT0iJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgoJICAgICAgICBvdXRwdXRuYW1l
PSIkdG1wZGlyLyRmaWxlIgoJICAgICAgICAjIFJlcGxhY2UgdGhlIG91dHB1
dCBmaWxlIHNwZWNpZmljYXRpb24uCgkgICAgICAgIHJlbGlua19jb21tYW5k
PWAkRUNITyAiJHJlbGlua19jb21tYW5kIiB8ICRTRUQgJ3MlQE9VVFBVVEAl
JyIkb3V0cHV0bmFtZSInJWcnYAoKCSAgICAgICAgJG9wdF9zaWxlbnQgfHwg
ewoJICAgICAgICAgIGZ1bmNfcXVvdGVfZm9yX2V4cGFuZCAiJHJlbGlua19j
b21tYW5kIgoJCSAgZXZhbCAiZnVuY19lY2hvICRmdW5jX3F1b3RlX2Zvcl9l
eHBhbmRfcmVzdWx0IgoJICAgICAgICB9CgkgICAgICAgIGlmIGV2YWwgIiRy
ZWxpbmtfY29tbWFuZCI7IHRoZW4gOgoJICAgICAgICAgIGVsc2UKCQkgIGZ1
bmNfZXJyb3IgImVycm9yOiByZWxpbmsgXGAkZmlsZScgd2l0aCB0aGUgYWJv
dmUgY29tbWFuZCBiZWZvcmUgaW5zdGFsbGluZyBpdCIKCQkgICRvcHRfZHJ5
X3J1biB8fCAke1JNfXIgIiR0bXBkaXIiCgkJICBjb250aW51ZQoJICAgICAg
ICBmaQoJICAgICAgICBmaWxlPSIkb3V0cHV0bmFtZSIKCSAgICAgIGVsc2UK
CSAgICAgICAgZnVuY193YXJuaW5nICJjYW5ub3QgcmVsaW5rIFxgJGZpbGUn
IgoJICAgICAgZmkKCSAgICB9CgkgIGVsc2UKCSAgICAjIEluc3RhbGwgdGhl
IGJpbmFyeSB0aGF0IHdlIGNvbXBpbGVkIGVhcmxpZXIuCgkgICAgZmlsZT1g
JEVDSE8gIiRmaWxlJHN0cmlwcGVkX2V4dCIgfCAkU0VEICJzJVwoW14vXSpc
KSQlJG9iamRpci9cMSUiYAoJICBmaQoJZmkKCgkjIHJlbW92ZSAuZXhlIHNp
bmNlIGN5Z3dpbiAvdXNyL2Jpbi9pbnN0YWxsIHdpbGwgYXBwZW5kIGFub3Ro
ZXIKCSMgb25lIGFueXdheQoJY2FzZSAkaW5zdGFsbF9wcm9nLCRob3N0IGlu
CgkqL3Vzci9iaW4vaW5zdGFsbCosKmN5Z3dpbiopCgkgIGNhc2UgJGZpbGU6
JGRlc3RmaWxlIGluCgkgICouZXhlOiouZXhlKQoJICAgICMgdGhpcyBpcyBv
awoJICAgIDs7CgkgICouZXhlOiopCgkgICAgZGVzdGZpbGU9JGRlc3RmaWxl
LmV4ZQoJICAgIDs7CgkgICo6Ki5leGUpCgkgICAgZnVuY19zdHJpcG5hbWUg
JycgJy5leGUnICIkZGVzdGZpbGUiCgkgICAgZGVzdGZpbGU9JGZ1bmNfc3Ry
aXBuYW1lX3Jlc3VsdAoJICAgIDs7CgkgIGVzYWMKCSAgOzsKCWVzYWMKCWZ1
bmNfc2hvd19ldmFsICIkaW5zdGFsbF9wcm9nXCRzdHJpcG1lIFwkZmlsZSBc
JGRlc3RmaWxlIiAnZXhpdCAkPycKCSRvcHRfZHJ5X3J1biB8fCBpZiB0ZXN0
IC1uICIkb3V0cHV0bmFtZSI7IHRoZW4KCSAgJHtSTX1yICIkdG1wZGlyIgoJ
ZmkKCTs7CiAgICAgIGVzYWMKICAgIGRvbmUKCiAgICBmb3IgZmlsZSBpbiAk
c3RhdGljbGliczsgZG8KICAgICAgZnVuY19iYXNlbmFtZSAiJGZpbGUiCiAg
ICAgIG5hbWU9IiRmdW5jX2Jhc2VuYW1lX3Jlc3VsdCIKCiAgICAgICMgU2V0
IHVwIHRoZSByYW5saWIgcGFyYW1ldGVycy4KICAgICAgb2xkbGliPSIkZGVz
dGRpci8kbmFtZSIKICAgICAgZnVuY190b190b29sX2ZpbGUgIiRvbGRsaWIi
IGZ1bmNfY29udmVydF9maWxlX21zeXNfdG9fdzMyCiAgICAgIHRvb2xfb2xk
bGliPSRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQKCiAgICAgIGZ1bmNfc2hv
d19ldmFsICIkaW5zdGFsbF9wcm9nIFwkZmlsZSBcJG9sZGxpYiIgJ2V4aXQg
JD8nCgogICAgICBpZiB0ZXN0IC1uICIkc3RyaXBtZSIgJiYgdGVzdCAtbiAi
JG9sZF9zdHJpcGxpYiI7IHRoZW4KCWZ1bmNfc2hvd19ldmFsICIkb2xkX3N0
cmlwbGliICR0b29sX29sZGxpYiIgJ2V4aXQgJD8nCiAgICAgIGZpCgogICAg
ICAjIERvIGVhY2ggY29tbWFuZCBpbiB0aGUgcG9zdGluc3RhbGwgY29tbWFu
ZHMuCiAgICAgIGZ1bmNfZXhlY3V0ZV9jbWRzICIkb2xkX3Bvc3RpbnN0YWxs
X2NtZHMiICdleGl0ICQ/JwogICAgZG9uZQoKICAgIHRlc3QgLW4gIiRmdXR1
cmVfbGliZGlycyIgJiYgXAogICAgICBmdW5jX3dhcm5pbmcgInJlbWVtYmVy
IHRvIHJ1biBcYCRwcm9nbmFtZSAtLWZpbmlzaCRmdXR1cmVfbGliZGlycyci
CgogICAgaWYgdGVzdCAtbiAiJGN1cnJlbnRfbGliZGlycyI7IHRoZW4KICAg
ICAgIyBNYXliZSBqdXN0IGRvIGEgZHJ5IHJ1bi4KICAgICAgJG9wdF9kcnlf
cnVuICYmIGN1cnJlbnRfbGliZGlycz0iIC1uJGN1cnJlbnRfbGliZGlycyIK
ICAgICAgZXhlY19jbWQ9JyRTSEVMTCAkcHJvZ3BhdGggJHByZXNlcnZlX2Fy
Z3MgLS1maW5pc2gkY3VycmVudF9saWJkaXJzJwogICAgZWxzZQogICAgICBl
eGl0ICRFWElUX1NVQ0NFU1MKICAgIGZpCn0KCnRlc3QgIiRvcHRfbW9kZSIg
PSBpbnN0YWxsICYmIGZ1bmNfbW9kZV9pbnN0YWxsICR7MSsiJEAifQoKCiMg
ZnVuY19nZW5lcmF0ZV9kbHN5bXMgb3V0cHV0bmFtZSBvcmlnaW5hdG9yIHBp
Y19wCiMgRXh0cmFjdCBzeW1ib2xzIGZyb20gZGxwcmVmaWxlcyBhbmQgY3Jl
YXRlICR7b3V0cHV0bmFtZX1TLm8gd2l0aAojIGEgZGxwcmVvcGVuIHN5bWJv
bCB0YWJsZS4KZnVuY19nZW5lcmF0ZV9kbHN5bXMgKCkKewogICAgJG9wdF9k
ZWJ1ZwogICAgbXlfb3V0cHV0bmFtZT0iJDEiCiAgICBteV9vcmlnaW5hdG9y
PSIkMiIKICAgIG15X3BpY19wPSIkezMtbm99IgogICAgbXlfcHJlZml4PWAk
RUNITyAiJG15X29yaWdpbmF0b3IiIHwgc2VkICdzJVteYS16QS1aMC05XSVf
JWcnYAogICAgbXlfZGxzeW1zPQoKICAgIGlmIHRlc3QgLW4gIiRkbGZpbGVz
JGRscHJlZmlsZXMiIHx8IHRlc3QgIiRkbHNlbGYiICE9IG5vOyB0aGVuCiAg
ICAgIGlmIHRlc3QgLW4gIiROTSIgJiYgdGVzdCAtbiAiJGdsb2JhbF9zeW1i
b2xfcGlwZSI7IHRoZW4KCW15X2Rsc3ltcz0iJHtteV9vdXRwdXRuYW1lfVMu
YyIKICAgICAgZWxzZQoJZnVuY19lcnJvciAibm90IGNvbmZpZ3VyZWQgdG8g
ZXh0cmFjdCBnbG9iYWwgc3ltYm9scyBmcm9tIGRscHJlb3BlbmVkIGZpbGVz
IgogICAgICBmaQogICAgZmkKCiAgICBpZiB0ZXN0IC1uICIkbXlfZGxzeW1z
IjsgdGhlbgogICAgICBjYXNlICRteV9kbHN5bXMgaW4KICAgICAgIiIpIDs7
CiAgICAgICouYykKCSMgRGlzY292ZXIgdGhlIG5saXN0IG9mIGVhY2ggb2Yg
dGhlIGRsZmlsZXMuCglubGlzdD0iJG91dHB1dF9vYmpkaXIvJHtteV9vdXRw
dXRuYW1lfS5ubSIKCglmdW5jX3Nob3dfZXZhbCAiJFJNICRubGlzdCAke25s
aXN0fVMgJHtubGlzdH1UIgoKCSMgUGFyc2UgdGhlIG5hbWUgbGlzdCBpbnRv
IGEgc291cmNlIGZpbGUuCglmdW5jX3ZlcmJvc2UgImNyZWF0aW5nICRvdXRw
dXRfb2JqZGlyLyRteV9kbHN5bXMiCgoJJG9wdF9kcnlfcnVuIHx8ICRFQ0hP
ID4gIiRvdXRwdXRfb2JqZGlyLyRteV9kbHN5bXMiICJcCi8qICRteV9kbHN5
bXMgLSBzeW1ib2wgcmVzb2x1dGlvbiB0YWJsZSBmb3IgXGAkbXlfb3V0cHV0
bmFtZScgZGxzeW0gZW11bGF0aW9uLiAqLwovKiBHZW5lcmF0ZWQgYnkgJFBS
T0dSQU0gKEdOVSAkUEFDS0FHRSRUSU1FU1RBTVApICRWRVJTSU9OICovCgoj
aWZkZWYgX19jcGx1c3BsdXMKZXh0ZXJuIFwiQ1wiIHsKI2VuZGlmCgojaWYg
ZGVmaW5lZChfX0dOVUNfXykgJiYgKCgoX19HTlVDX18gPT0gNCkgJiYgKF9f
R05VQ19NSU5PUl9fID49IDQpKSB8fCAoX19HTlVDX18gPiA0KSkKI3ByYWdt
YSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVdzdHJpY3QtcHJvdG90eXBl
c1wiCiNlbmRpZgoKLyogS2VlcCB0aGlzIGNvZGUgaW4gc3luYyBiZXR3ZWVu
IGxpYnRvb2wubTQsIGx0bWFpbiwgbHRfc3lzdGVtLmgsIGFuZCB0ZXN0cy4g
ICovCiNpZiBkZWZpbmVkKF9XSU4zMikgfHwgZGVmaW5lZChfX0NZR1dJTl9f
KSB8fCBkZWZpbmVkKF9XSU4zMl9XQ0UpCi8qIERBVEEgaW1wb3J0cyBmcm9t
IERMTHMgb24gV0lOMzIgY29uJ3QgYmUgY29uc3QsIGJlY2F1c2UgcnVudGlt
ZQogICByZWxvY2F0aW9ucyBhcmUgcGVyZm9ybWVkIC0tIHNlZSBsZCdzIGRv
Y3VtZW50YXRpb24gb24gcHNldWRvLXJlbG9jcy4gICovCiMgZGVmaW5lIExU
X0RMU1lNX0NPTlNUCiNlbGlmIGRlZmluZWQoX19vc2ZfXykKLyogVGhpcyBz
eXN0ZW0gZG9lcyBub3QgY29wZSB3ZWxsIHdpdGggcmVsb2NhdGlvbnMgaW4g
Y29uc3QgZGF0YS4gICovCiMgZGVmaW5lIExUX0RMU1lNX0NPTlNUCiNlbHNl
CiMgZGVmaW5lIExUX0RMU1lNX0NPTlNUIGNvbnN0CiNlbmRpZgoKLyogRXh0
ZXJuYWwgc3ltYm9sIGRlY2xhcmF0aW9ucyBmb3IgdGhlIGNvbXBpbGVyLiAq
L1wKIgoKCWlmIHRlc3QgIiRkbHNlbGYiID0geWVzOyB0aGVuCgkgIGZ1bmNf
dmVyYm9zZSAiZ2VuZXJhdGluZyBzeW1ib2wgbGlzdCBmb3IgXGAkb3V0cHV0
JyIKCgkgICRvcHRfZHJ5X3J1biB8fCBlY2hvICc6IEBQUk9HUkFNQCAnID4g
IiRubGlzdCIKCgkgICMgQWRkIG91ciBvd24gcHJvZ3JhbSBvYmplY3RzIHRv
IHRoZSBzeW1ib2wgbGlzdC4KCSAgcHJvZ2ZpbGVzPWAkRUNITyAiJG9ianMk
b2xkX2RlcGxpYnMiIHwgJFNQMk5MIHwgJFNFRCAiJGxvMm8iIHwgJE5MMlNQ
YAoJICBmb3IgcHJvZ2ZpbGUgaW4gJHByb2dmaWxlczsgZG8KCSAgICBmdW5j
X3RvX3Rvb2xfZmlsZSAiJHByb2dmaWxlIiBmdW5jX2NvbnZlcnRfZmlsZV9t
c3lzX3RvX3czMgoJICAgIGZ1bmNfdmVyYm9zZSAiZXh0cmFjdGluZyBnbG9i
YWwgQyBzeW1ib2xzIGZyb20gXGAkZnVuY190b190b29sX2ZpbGVfcmVzdWx0
JyIKCSAgICAkb3B0X2RyeV9ydW4gfHwgZXZhbCAiJE5NICRmdW5jX3RvX3Rv
b2xfZmlsZV9yZXN1bHQgfCAkZ2xvYmFsX3N5bWJvbF9waXBlID4+ICckbmxp
c3QnIgoJICBkb25lCgoJICBpZiB0ZXN0IC1uICIkZXhjbHVkZV9leHBzeW1z
IjsgdGhlbgoJICAgICRvcHRfZHJ5X3J1biB8fCB7CgkgICAgICBldmFsICck
RUdSRVAgLXYgIiAoJGV4Y2x1ZGVfZXhwc3ltcykkIiAiJG5saXN0IiA+ICIk
bmxpc3QiVCcKCSAgICAgIGV2YWwgJyRNViAiJG5saXN0IlQgIiRubGlzdCIn
CgkgICAgfQoJICBmaQoKCSAgaWYgdGVzdCAtbiAiJGV4cG9ydF9zeW1ib2xz
X3JlZ2V4IjsgdGhlbgoJICAgICRvcHRfZHJ5X3J1biB8fCB7CgkgICAgICBl
dmFsICckRUdSRVAgLWUgIiRleHBvcnRfc3ltYm9sc19yZWdleCIgIiRubGlz
dCIgPiAiJG5saXN0IlQnCgkgICAgICBldmFsICckTVYgIiRubGlzdCJUICIk
bmxpc3QiJwoJICAgIH0KCSAgZmkKCgkgICMgUHJlcGFyZSB0aGUgbGlzdCBv
ZiBleHBvcnRlZCBzeW1ib2xzCgkgIGlmIHRlc3QgLXogIiRleHBvcnRfc3lt
Ym9scyI7IHRoZW4KCSAgICBleHBvcnRfc3ltYm9scz0iJG91dHB1dF9vYmpk
aXIvJG91dHB1dG5hbWUuZXhwIgoJICAgICRvcHRfZHJ5X3J1biB8fCB7Cgkg
ICAgICAkUk0gJGV4cG9ydF9zeW1ib2xzCgkgICAgICBldmFsICIke1NFRH0g
LW4gLWUgJy9eOiBAUFJPR1JBTUAgJC9kJyAtZSAncy9eLiogXCguKlwpJC9c
MS9wJyAiJzwgIiRubGlzdCIgPiAiJGV4cG9ydF9zeW1ib2xzIicKCSAgICAg
IGNhc2UgJGhvc3QgaW4KCSAgICAgICpjeWd3aW4qIHwgKm1pbmd3KiB8ICpj
ZWdjYyogKQogICAgICAgICAgICAgICAgZXZhbCAiZWNobyBFWFBPUlRTICIn
PiAiJG91dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUuZGVmIicKICAgICAgICAg
ICAgICAgIGV2YWwgJ2NhdCAiJGV4cG9ydF9zeW1ib2xzIiA+PiAiJG91dHB1
dF9vYmpkaXIvJG91dHB1dG5hbWUuZGVmIicKCSAgICAgICAgOzsKCSAgICAg
IGVzYWMKCSAgICB9CgkgIGVsc2UKCSAgICAkb3B0X2RyeV9ydW4gfHwgewoJ
ICAgICAgZXZhbCAiJHtTRUR9IC1lICdzL1woW10uWypeJF1cKS9cXFxcXDEv
ZycgLWUgJ3MvXi8gLycgLWUgJ3MvJC8kLyciJyA8ICIkZXhwb3J0X3N5bWJv
bHMiID4gIiRvdXRwdXRfb2JqZGlyLyRvdXRwdXRuYW1lLmV4cCInCgkgICAg
ICBldmFsICckR1JFUCAtZiAiJG91dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUu
ZXhwIiA8ICIkbmxpc3QiID4gIiRubGlzdCJUJwoJICAgICAgZXZhbCAnJE1W
ICIkbmxpc3QiVCAiJG5saXN0IicKCSAgICAgIGNhc2UgJGhvc3QgaW4KCSAg
ICAgICAgKmN5Z3dpbiogfCAqbWluZ3cqIHwgKmNlZ2NjKiApCgkgICAgICAg
ICAgZXZhbCAiZWNobyBFWFBPUlRTICInPiAiJG91dHB1dF9vYmpkaXIvJG91
dHB1dG5hbWUuZGVmIicKCSAgICAgICAgICBldmFsICdjYXQgIiRubGlzdCIg
Pj4gIiRvdXRwdXRfb2JqZGlyLyRvdXRwdXRuYW1lLmRlZiInCgkgICAgICAg
ICAgOzsKCSAgICAgIGVzYWMKCSAgICB9CgkgIGZpCglmaQoKCWZvciBkbHBy
ZWZpbGUgaW4gJGRscHJlZmlsZXM7IGRvCgkgIGZ1bmNfdmVyYm9zZSAiZXh0
cmFjdGluZyBnbG9iYWwgQyBzeW1ib2xzIGZyb20gXGAkZGxwcmVmaWxlJyIK
CSAgZnVuY19iYXNlbmFtZSAiJGRscHJlZmlsZSIKCSAgbmFtZT0iJGZ1bmNf
YmFzZW5hbWVfcmVzdWx0IgogICAgICAgICAgY2FzZSAkaG9zdCBpbgoJICAg
ICpjeWd3aW4qIHwgKm1pbmd3KiB8ICpjZWdjYyogKQoJICAgICAgIyBpZiBh
biBpbXBvcnQgbGlicmFyeSwgd2UgbmVlZCB0byBvYnRhaW4gZGxuYW1lCgkg
ICAgICBpZiBmdW5jX3dpbjMyX2ltcG9ydF9saWJfcCAiJGRscHJlZmlsZSI7
IHRoZW4KCSAgICAgICAgZnVuY190cl9zaCAiJGRscHJlZmlsZSIKCSAgICAg
ICAgZXZhbCAiY3Vycl9sYWZpbGU9XCRsaWJmaWxlXyRmdW5jX3RyX3NoX3Jl
c3VsdCIKCSAgICAgICAgZGxwcmVmaWxlX2RsYmFzZW5hbWU9IiIKCSAgICAg
ICAgaWYgdGVzdCAtbiAiJGN1cnJfbGFmaWxlIiAmJiBmdW5jX2xhbGliX3Ag
IiRjdXJyX2xhZmlsZSI7IHRoZW4KCSAgICAgICAgICAjIFVzZSBzdWJzaGVs
bCwgdG8gYXZvaWQgY2xvYmJlcmluZyBjdXJyZW50IHZhcmlhYmxlIHZhbHVl
cwoJICAgICAgICAgIGRscHJlZmlsZV9kbG5hbWU9YHNvdXJjZSAiJGN1cnJf
bGFmaWxlIiAmJiBlY2hvICIkZGxuYW1lImAKCSAgICAgICAgICBpZiB0ZXN0
IC1uICIkZGxwcmVmaWxlX2RsbmFtZSIgOyB0aGVuCgkgICAgICAgICAgICBm
dW5jX2Jhc2VuYW1lICIkZGxwcmVmaWxlX2RsbmFtZSIKCSAgICAgICAgICAg
IGRscHJlZmlsZV9kbGJhc2VuYW1lPSIkZnVuY19iYXNlbmFtZV9yZXN1bHQi
CgkgICAgICAgICAgZWxzZQoJICAgICAgICAgICAgIyBubyBsYWZpbGUuIHVz
ZXIgZXhwbGljaXRseSByZXF1ZXN0ZWQgLWRscHJlb3BlbiA8aW1wb3J0IGxp
YnJhcnk+LgoJICAgICAgICAgICAgJHNoYXJlZGxpYl9mcm9tX2xpbmtsaWJf
Y21kICIkZGxwcmVmaWxlIgoJICAgICAgICAgICAgZGxwcmVmaWxlX2RsYmFz
ZW5hbWU9JHNoYXJlZGxpYl9mcm9tX2xpbmtsaWJfcmVzdWx0CgkgICAgICAg
ICAgZmkKCSAgICAgICAgZmkKCSAgICAgICAgJG9wdF9kcnlfcnVuIHx8IHsK
CSAgICAgICAgICBpZiB0ZXN0IC1uICIkZGxwcmVmaWxlX2RsYmFzZW5hbWUi
IDsgdGhlbgoJICAgICAgICAgICAgZXZhbCAnJEVDSE8gIjogJGRscHJlZmls
ZV9kbGJhc2VuYW1lIiA+PiAiJG5saXN0IicKCSAgICAgICAgICBlbHNlCgkg
ICAgICAgICAgICBmdW5jX3dhcm5pbmcgIkNvdWxkIG5vdCBjb21wdXRlIERM
TCBuYW1lIGZyb20gJG5hbWUiCgkgICAgICAgICAgICBldmFsICckRUNITyAi
OiAkbmFtZSAiID4+ICIkbmxpc3QiJwoJICAgICAgICAgIGZpCgkgICAgICAg
ICAgZnVuY190b190b29sX2ZpbGUgIiRkbHByZWZpbGUiIGZ1bmNfY29udmVy
dF9maWxlX21zeXNfdG9fdzMyCgkgICAgICAgICAgZXZhbCAiJE5NIFwiJGZ1
bmNfdG9fdG9vbF9maWxlX3Jlc3VsdFwiIDI+L2Rldi9udWxsIHwgJGdsb2Jh
bF9zeW1ib2xfcGlwZSB8CgkgICAgICAgICAgICAkU0VEIC1lICcvSSBfX2lt
cC9kJyAtZSAncy9JIF9fbm1fL0QgLztzL19ubV9fLy8nID4+ICckbmxpc3Qn
IgoJICAgICAgICB9CgkgICAgICBlbHNlICMgbm90IGFuIGltcG9ydCBsaWIK
CSAgICAgICAgJG9wdF9kcnlfcnVuIHx8IHsKCSAgICAgICAgICBldmFsICck
RUNITyAiOiAkbmFtZSAiID4+ICIkbmxpc3QiJwoJICAgICAgICAgIGZ1bmNf
dG9fdG9vbF9maWxlICIkZGxwcmVmaWxlIiBmdW5jX2NvbnZlcnRfZmlsZV9t
c3lzX3RvX3czMgoJICAgICAgICAgIGV2YWwgIiROTSBcIiRmdW5jX3RvX3Rv
b2xfZmlsZV9yZXN1bHRcIiAyPi9kZXYvbnVsbCB8ICRnbG9iYWxfc3ltYm9s
X3BpcGUgPj4gJyRubGlzdCciCgkgICAgICAgIH0KCSAgICAgIGZpCgkgICAg
OzsKCSAgICAqKQoJICAgICAgJG9wdF9kcnlfcnVuIHx8IHsKCSAgICAgICAg
ZXZhbCAnJEVDSE8gIjogJG5hbWUgIiA+PiAiJG5saXN0IicKCSAgICAgICAg
ZnVuY190b190b29sX2ZpbGUgIiRkbHByZWZpbGUiIGZ1bmNfY29udmVydF9m
aWxlX21zeXNfdG9fdzMyCgkgICAgICAgIGV2YWwgIiROTSBcIiRmdW5jX3Rv
X3Rvb2xfZmlsZV9yZXN1bHRcIiAyPi9kZXYvbnVsbCB8ICRnbG9iYWxfc3lt
Ym9sX3BpcGUgPj4gJyRubGlzdCciCgkgICAgICB9CgkgICAgOzsKICAgICAg
ICAgIGVzYWMKCWRvbmUKCgkkb3B0X2RyeV9ydW4gfHwgewoJICAjIE1ha2Ug
c3VyZSB3ZSBoYXZlIGF0IGxlYXN0IGFuIGVtcHR5IGZpbGUuCgkgIHRlc3Qg
LWYgIiRubGlzdCIgfHwgOiA+ICIkbmxpc3QiCgoJICBpZiB0ZXN0IC1uICIk
ZXhjbHVkZV9leHBzeW1zIjsgdGhlbgoJICAgICRFR1JFUCAtdiAiICgkZXhj
bHVkZV9leHBzeW1zKSQiICIkbmxpc3QiID4gIiRubGlzdCJUCgkgICAgJE1W
ICIkbmxpc3QiVCAiJG5saXN0IgoJICBmaQoKCSAgIyBUcnkgc29ydGluZyBh
bmQgdW5pcXVpZnlpbmcgdGhlIG91dHB1dC4KCSAgaWYgJEdSRVAgLXYgIl46
ICIgPCAiJG5saXN0IiB8CgkgICAgICBpZiBzb3J0IC1rIDMgPC9kZXYvbnVs
bCA+L2Rldi9udWxsIDI+JjE7IHRoZW4KCQlzb3J0IC1rIDMKCSAgICAgIGVs
c2UKCQlzb3J0ICsyCgkgICAgICBmaSB8CgkgICAgICB1bmlxID4gIiRubGlz
dCJTOyB0aGVuCgkgICAgOgoJICBlbHNlCgkgICAgJEdSRVAgLXYgIl46ICIg
PCAiJG5saXN0IiA+ICIkbmxpc3QiUwoJICBmaQoKCSAgaWYgdGVzdCAtZiAi
JG5saXN0IlM7IHRoZW4KCSAgICBldmFsICIkZ2xvYmFsX3N5bWJvbF90b19j
ZGVjbCInIDwgIiRubGlzdCJTID4+ICIkb3V0cHV0X29iamRpci8kbXlfZGxz
eW1zIicKCSAgZWxzZQoJICAgIGVjaG8gJy8qIE5PTkUgKi8nID4+ICIkb3V0
cHV0X29iamRpci8kbXlfZGxzeW1zIgoJICBmaQoKCSAgZWNobyA+PiAiJG91
dHB1dF9vYmpkaXIvJG15X2Rsc3ltcyIgIlwKCi8qIFRoZSBtYXBwaW5nIGJl
dHdlZW4gc3ltYm9sIG5hbWVzIGFuZCBzeW1ib2xzLiAgKi8KdHlwZWRlZiBz
dHJ1Y3QgewogIGNvbnN0IGNoYXIgKm5hbWU7CiAgdm9pZCAqYWRkcmVzczsK
fSBsdF9kbHN5bWxpc3Q7CmV4dGVybiBMVF9ETFNZTV9DT05TVCBsdF9kbHN5
bWxpc3QKbHRfJHtteV9wcmVmaXh9X0xUWF9wcmVsb2FkZWRfc3ltYm9sc1td
OwpMVF9ETFNZTV9DT05TVCBsdF9kbHN5bWxpc3QKbHRfJHtteV9wcmVmaXh9
X0xUWF9wcmVsb2FkZWRfc3ltYm9sc1tdID0Ke1wKICB7IFwiJG15X29yaWdp
bmF0b3JcIiwgKHZvaWQgKikgMCB9LCIKCgkgIGNhc2UgJG5lZWRfbGliX3By
ZWZpeCBpbgoJICBubykKCSAgICBldmFsICIkZ2xvYmFsX3N5bWJvbF90b19j
X25hbWVfYWRkcmVzcyIgPCAiJG5saXN0IiA+PiAiJG91dHB1dF9vYmpkaXIv
JG15X2Rsc3ltcyIKCSAgICA7OwoJICAqKQoJICAgIGV2YWwgIiRnbG9iYWxf
c3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXgiIDwgIiRubGlz
dCIgPj4gIiRvdXRwdXRfb2JqZGlyLyRteV9kbHN5bXMiCgkgICAgOzsKCSAg
ZXNhYwoJICBlY2hvID4+ICIkb3V0cHV0X29iamRpci8kbXlfZGxzeW1zIiAi
XAogIHswLCAodm9pZCAqKSAwfQp9OwoKLyogVGhpcyB3b3JrcyBhcm91bmQg
YSBwcm9ibGVtIGluIEZyZWVCU0QgbGlua2VyICovCiNpZmRlZiBGUkVFQlNE
X1dPUktBUk9VTkQKc3RhdGljIGNvbnN0IHZvaWQgKmx0X3ByZWxvYWRlZF9z
ZXR1cCgpIHsKICByZXR1cm4gbHRfJHtteV9wcmVmaXh9X0xUWF9wcmVsb2Fk
ZWRfc3ltYm9sczsKfQojZW5kaWYKCiNpZmRlZiBfX2NwbHVzcGx1cwp9CiNl
bmRpZlwKIgoJfSAjICEkb3B0X2RyeV9ydW4KCglwaWNfZmxhZ19mb3Jfc3lt
dGFibGU9CgljYXNlICIkY29tcGlsZV9jb21tYW5kICIgaW4KCSoiIC1zdGF0
aWMgIiopIDs7CgkqKQoJICBjYXNlICRob3N0IGluCgkgICMgY29tcGlsaW5n
IHRoZSBzeW1ib2wgdGFibGUgZmlsZSB3aXRoIHBpY19mbGFnIHdvcmtzIGFy
b3VuZAoJICAjIGEgRnJlZUJTRCBidWcgdGhhdCBjYXVzZXMgcHJvZ3JhbXMg
dG8gY3Jhc2ggd2hlbiAtbG0gaXMKCSAgIyBsaW5rZWQgYmVmb3JlIGFueSBv
dGhlciBQSUMgb2JqZWN0LiAgQnV0IHdlIG11c3Qgbm90IHVzZQoJICAjIHBp
Y19mbGFnIHdoZW4gbGlua2luZyB3aXRoIC1zdGF0aWMuICBUaGUgcHJvYmxl
bSBleGlzdHMgaW4KCSAgIyBGcmVlQlNEIDIuMi42IGFuZCBpcyBmaXhlZCBp
biBGcmVlQlNEIDMuMS4KCSAgKi0qLWZyZWVic2QyLip8Ki0qLWZyZWVic2Qz
LjAqfCotKi1mcmVlYnNkZWxmMy4wKikKCSAgICBwaWNfZmxhZ19mb3Jfc3lt
dGFibGU9IiAkcGljX2ZsYWcgLURGUkVFQlNEX1dPUktBUk9VTkQiIDs7Cgkg
ICotKi1ocHV4KikKCSAgICBwaWNfZmxhZ19mb3Jfc3ltdGFibGU9IiAkcGlj
X2ZsYWciICA7OwoJICAqKQoJICAgIGlmIHRlc3QgIlgkbXlfcGljX3AiICE9
IFhubzsgdGhlbgoJICAgICAgcGljX2ZsYWdfZm9yX3N5bXRhYmxlPSIgJHBp
Y19mbGFnIgoJICAgIGZpCgkgICAgOzsKCSAgZXNhYwoJICA7OwoJZXNhYwoJ
c3ltdGFiX2NmbGFncz0KCWZvciBhcmcgaW4gJExUQ0ZMQUdTOyBkbwoJICBj
YXNlICRhcmcgaW4KCSAgLXBpZSB8IC1mcGllIHwgLWZQSUUpIDs7CgkgICop
IHN5bXRhYl9jZmxhZ3MrPSIgJGFyZyIgOzsKCSAgZXNhYwoJZG9uZQoKCSMg
Tm93IGNvbXBpbGUgdGhlIGR5bmFtaWMgc3ltYm9sIGZpbGUuCglmdW5jX3No
b3dfZXZhbCAnKGNkICRvdXRwdXRfb2JqZGlyICYmICRMVENDJHN5bXRhYl9j
ZmxhZ3MgLWMkbm9fYnVpbHRpbl9mbGFnJHBpY19mbGFnX2Zvcl9zeW10YWJs
ZSAiJG15X2Rsc3ltcyIpJyAnZXhpdCAkPycKCgkjIENsZWFuIHVwIHRoZSBn
ZW5lcmF0ZWQgZmlsZXMuCglmdW5jX3Nob3dfZXZhbCAnJFJNICIkb3V0cHV0
X29iamRpci8kbXlfZGxzeW1zIiAiJG5saXN0IiAiJHtubGlzdH1TIiAiJHtu
bGlzdH1UIicKCgkjIFRyYW5zZm9ybSB0aGUgc3ltYm9sIGZpbGUgaW50byB0
aGUgY29ycmVjdCBuYW1lLgoJc3ltZmlsZW9iaj0iJG91dHB1dF9vYmpkaXIv
JHtteV9vdXRwdXRuYW1lfVMuJG9iamV4dCIKCWNhc2UgJGhvc3QgaW4KCSpj
eWd3aW4qIHwgKm1pbmd3KiB8ICpjZWdjYyogKQoJICBpZiB0ZXN0IC1mICIk
b3V0cHV0X29iamRpci8kbXlfb3V0cHV0bmFtZS5kZWYiOyB0aGVuCgkgICAg
Y29tcGlsZV9jb21tYW5kPWAkRUNITyAiJGNvbXBpbGVfY29tbWFuZCIgfCAk
U0VEICJzJUBTWU1GSUxFQCUkb3V0cHV0X29iamRpci8kbXlfb3V0cHV0bmFt
ZS5kZWYgJHN5bWZpbGVvYmolImAKCSAgICBmaW5hbGl6ZV9jb21tYW5kPWAk
RUNITyAiJGZpbmFsaXplX2NvbW1hbmQiIHwgJFNFRCAicyVAU1lNRklMRUAl
JG91dHB1dF9vYmpkaXIvJG15X291dHB1dG5hbWUuZGVmICRzeW1maWxlb2Jq
JSJgCgkgIGVsc2UKCSAgICBjb21waWxlX2NvbW1hbmQ9YCRFQ0hPICIkY29t
cGlsZV9jb21tYW5kIiB8ICRTRUQgInMlQFNZTUZJTEVAJSRzeW1maWxlb2Jq
JSJgCgkgICAgZmluYWxpemVfY29tbWFuZD1gJEVDSE8gIiRmaW5hbGl6ZV9j
b21tYW5kIiB8ICRTRUQgInMlQFNZTUZJTEVAJSRzeW1maWxlb2JqJSJgCgkg
IGZpCgkgIDs7CgkqKQoJICBjb21waWxlX2NvbW1hbmQ9YCRFQ0hPICIkY29t
cGlsZV9jb21tYW5kIiB8ICRTRUQgInMlQFNZTUZJTEVAJSRzeW1maWxlb2Jq
JSJgCgkgIGZpbmFsaXplX2NvbW1hbmQ9YCRFQ0hPICIkZmluYWxpemVfY29t
bWFuZCIgfCAkU0VEICJzJUBTWU1GSUxFQCUkc3ltZmlsZW9iaiUiYAoJICA7
OwoJZXNhYwoJOzsKICAgICAgKikKCWZ1bmNfZmF0YWxfZXJyb3IgInVua25v
d24gc3VmZml4IGZvciBcYCRteV9kbHN5bXMnIgoJOzsKICAgICAgZXNhYwog
ICAgZWxzZQogICAgICAjIFdlIGtlZXAgZ29pbmcganVzdCBpbiBjYXNlIHRo
ZSB1c2VyIGRpZG4ndCByZWZlciB0bwogICAgICAjIGx0X3ByZWxvYWRlZF9z
eW1ib2xzLiAgVGhlIGxpbmtlciB3aWxsIGZhaWwgaWYgZ2xvYmFsX3N5bWJv
bF9waXBlCiAgICAgICMgcmVhbGx5IHdhcyByZXF1aXJlZC4KCiAgICAgICMg
TnVsbGlmeSB0aGUgc3ltYm9sIGZpbGUuCiAgICAgIGNvbXBpbGVfY29tbWFu
ZD1gJEVDSE8gIiRjb21waWxlX2NvbW1hbmQiIHwgJFNFRCAicyUgQFNZTUZJ
TEVAJSUiYAogICAgICBmaW5hbGl6ZV9jb21tYW5kPWAkRUNITyAiJGZpbmFs
aXplX2NvbW1hbmQiIHwgJFNFRCAicyUgQFNZTUZJTEVAJSUiYAogICAgZmkK
fQoKIyBmdW5jX3dpbjMyX2xpYmlkIGFyZwojIHJldHVybiB0aGUgbGlicmFy
eSB0eXBlIG9mIGZpbGUgJ2FyZycKIwojIE5lZWQgYSBsb3Qgb2YgZ29vIHRv
IGhhbmRsZSAqYm90aCogRExMcyBhbmQgaW1wb3J0IGxpYnMKIyBIYXMgdG8g
YmUgYSBzaGVsbCBmdW5jdGlvbiBpbiBvcmRlciB0byAnZWF0JyB0aGUgYXJn
dW1lbnQKIyB0aGF0IGlzIHN1cHBsaWVkIHdoZW4gJGZpbGVfbWFnaWNfY29t
bWFuZCBpcyBjYWxsZWQuCiMgRGVzcGl0ZSB0aGUgbmFtZSwgYWxzbyBkZWFs
IHdpdGggNjQgYml0IGJpbmFyaWVzLgpmdW5jX3dpbjMyX2xpYmlkICgpCnsK
ICAkb3B0X2RlYnVnCiAgd2luMzJfbGliaWRfdHlwZT0idW5rbm93biIKICB3
aW4zMl9maWxlcmVzPWBmaWxlIC1MICQxIDI+L2Rldi9udWxsYAogIGNhc2Ug
JHdpbjMyX2ZpbGVyZXMgaW4KICAqYXJcIGFyY2hpdmVcIGltcG9ydFwgbGli
cmFyeSopICMgZGVmaW5pdGVseSBpbXBvcnQKICAgIHdpbjMyX2xpYmlkX3R5
cGU9Ing4NiBhcmNoaXZlIGltcG9ydCIKICAgIDs7CiAgKmFyXCBhcmNoaXZl
KikgIyBjb3VsZCBiZSBhbiBpbXBvcnQsIG9yIHN0YXRpYwogICAgIyBLZWVw
IHRoZSBlZ3JlcCBwYXR0ZXJuIGluIHN5bmMgd2l0aCB0aGUgb25lIGluIF9M
VF9DSEVDS19NQUdJQ19NRVRIT0QuCiAgICBpZiBldmFsICRPQkpEVU1QIC1m
ICQxIHwgJFNFRCAtZSAnMTBxJyAyPi9kZXYvbnVsbCB8CiAgICAgICAkRUdS
RVAgJ2ZpbGUgZm9ybWF0IChwZWkqLWkzODYoLiphcmNoaXRlY3R1cmU6IGkz
ODYpP3xwZS1hcm0td2luY2V8cGUteDg2LTY0KScgPi9kZXYvbnVsbDsgdGhl
bgogICAgICBmdW5jX3RvX3Rvb2xfZmlsZSAiJDEiIGZ1bmNfY29udmVydF9m
aWxlX21zeXNfdG9fdzMyCiAgICAgIHdpbjMyX25tcmVzPWBldmFsICROTSAt
ZiBwb3NpeCAtQSBcIiRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHRcIiB8Cgkk
U0VEIC1uIC1lICcKCSAgICAxLDEwMHsKCQkvIEkgL3sKCQkgICAgcywuKixp
bXBvcnQsCgkJICAgIHAKCQkgICAgcQoJCX0KCSAgICB9J2AKICAgICAgY2Fz
ZSAkd2luMzJfbm1yZXMgaW4KICAgICAgaW1wb3J0KikgIHdpbjMyX2xpYmlk
X3R5cGU9Ing4NiBhcmNoaXZlIGltcG9ydCI7OwogICAgICAqKSAgICAgICAg
d2luMzJfbGliaWRfdHlwZT0ieDg2IGFyY2hpdmUgc3RhdGljIjs7CiAgICAg
IGVzYWMKICAgIGZpCiAgICA7OwogICpETEwqKQogICAgd2luMzJfbGliaWRf
dHlwZT0ieDg2IERMTCIKICAgIDs7CiAgKmV4ZWN1dGFibGUqKSAjIGJ1dCBz
aGVsbCBzY3JpcHRzIGFyZSAiZXhlY3V0YWJsZSIgdG9vLi4uCiAgICBjYXNl
ICR3aW4zMl9maWxlcmVzIGluCiAgICAqTVNcIFdpbmRvd3NcIFBFXCBJbnRl
bCopCiAgICAgIHdpbjMyX2xpYmlkX3R5cGU9Ing4NiBETEwiCiAgICAgIDs7
CiAgICBlc2FjCiAgICA7OwogIGVzYWMKICAkRUNITyAiJHdpbjMyX2xpYmlk
X3R5cGUiCn0KCiMgZnVuY19jeWdtaW5nX2RsbF9mb3JfaW1wbGliIEFSRwoj
CiMgUGxhdGZvcm0tc3BlY2lmaWMgZnVuY3Rpb24gdG8gZXh0cmFjdCB0aGUK
IyBuYW1lIG9mIHRoZSBETEwgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZp
ZWQKIyBpbXBvcnQgbGlicmFyeSBBUkcuCiMgSW52b2tlZCBieSBldmFsJ2lu
ZyB0aGUgbGlidG9vbCB2YXJpYWJsZQojICAgICRzaGFyZWRsaWJfZnJvbV9s
aW5rbGliX2NtZAojIFJlc3VsdCBpcyBhdmFpbGFibGUgaW4gdGhlIHZhcmlh
YmxlCiMgICAgJHNoYXJlZGxpYl9mcm9tX2xpbmtsaWJfcmVzdWx0CmZ1bmNf
Y3lnbWluZ19kbGxfZm9yX2ltcGxpYiAoKQp7CiAgJG9wdF9kZWJ1ZwogIHNo
YXJlZGxpYl9mcm9tX2xpbmtsaWJfcmVzdWx0PWAkRExMVE9PTCAtLWlkZW50
aWZ5LXN0cmljdCAtLWlkZW50aWZ5ICIkMSJgCn0KCiMgZnVuY19jeWdtaW5n
X2RsbF9mb3JfaW1wbGliX2ZhbGxiYWNrX2NvcmUgU0VDVElPTl9OQU1FIExJ
Qk5BTUVzCiMKIyBUaGUgaXMgdGhlIGNvcmUgb2YgYSBmYWxsYmFjayBpbXBs
ZW1lbnRhdGlvbiBvZiBhCiMgcGxhdGZvcm0tc3BlY2lmaWMgZnVuY3Rpb24g
dG8gZXh0cmFjdCB0aGUgbmFtZSBvZiB0aGUKIyBETEwgYXNzb2NpYXRlZCB3
aXRoIHRoZSBzcGVjaWZpZWQgaW1wb3J0IGxpYnJhcnkgTElCTkFNRS4KIwoj
IFNFQ1RJT05fTkFNRSBpcyBlaXRoZXIgLmlkYXRhJDYgb3IgLmlkYXRhJDcs
IGRlcGVuZGluZwojIG9uIHRoZSBwbGF0Zm9ybSBhbmQgY29tcGlsZXIgdGhh
dCBjcmVhdGVkIHRoZSBpbXBsaWIuCiMKIyBFY2hvcyB0aGUgbmFtZSBvZiB0
aGUgRExMIGFzc29jaWF0ZWQgd2l0aCB0aGUKIyBzcGVjaWZpZWQgaW1wb3J0
IGxpYnJhcnkuCmZ1bmNfY3lnbWluZ19kbGxfZm9yX2ltcGxpYl9mYWxsYmFj
a19jb3JlICgpCnsKICAkb3B0X2RlYnVnCiAgbWF0Y2hfbGl0ZXJhbD1gJEVD
SE8gIiQxIiB8ICRTRUQgIiRzZWRfbWFrZV9saXRlcmFsX3JlZ2V4ImAKICAk
T0JKRFVNUCAtcyAtLXNlY3Rpb24gIiQxIiAiJDIiIDI+L2Rldi9udWxsIHwK
ICAgICRTRUQgJy9eQ29udGVudHMgb2Ygc2VjdGlvbiAnIiRtYXRjaF9saXRl
cmFsIic6L3sKICAgICAgIyBQbGFjZSBtYXJrZXIgYXQgYmVnaW5uaW5nIG9m
IGFyY2hpdmUgbWVtYmVyIGRsbG5hbWUgc2VjdGlvbgogICAgICBzLy4qLz09
PT1NQVJLPT09PS8KICAgICAgcAogICAgICBkCiAgICB9CiAgICAjIFRoZXNl
IGxpbmVzIGNhbiBzb21ldGltZXMgYmUgbG9uZ2VyIHRoYW4gNDMgY2hhcmFj
dGVycywgYnV0CiAgICAjIGFyZSBhbHdheXMgdW5pbnRlcmVzdGluZwogICAg
LzpbCSBdKmZpbGUgZm9ybWF0IHBlW2ldXHssMVx9LS9kCiAgICAvXkluIGFy
Y2hpdmUgW146XSo6L2QKICAgICMgRW5zdXJlIG1hcmtlciBpcyBwcmludGVk
CiAgICAvXj09PT1NQVJLPT09PS9wCiAgICAjIFJlbW92ZSBhbGwgbGluZXMg
d2l0aCBsZXNzIHRoYW4gNDMgY2hhcmFjdGVycwogICAgL14uXHs0M1x9LyFk
CiAgICAjIEZyb20gcmVtYWluaW5nIGxpbmVzLCByZW1vdmUgZmlyc3QgNDMg
Y2hhcmFjdGVycwogICAgcy9eLlx7NDNcfS8vJyB8CiAgICAkU0VEIC1uICcK
ICAgICAgIyBKb2luIG1hcmtlciBhbmQgYWxsIGxpbmVzIHVudGlsIG5leHQg
bWFya2VyIGludG8gYSBzaW5nbGUgbGluZQogICAgICAvXj09PT1NQVJLPT09
PS8gYiBwYXJhCiAgICAgIEgKICAgICAgJCBiIHBhcmEKICAgICAgYgogICAg
ICA6cGFyYQogICAgICB4CiAgICAgIHMvXG4vL2cKICAgICAgIyBSZW1vdmUg
dGhlIG1hcmtlcgogICAgICBzL149PT09TUFSSz09PT0vLwogICAgICAjIFJl
bW92ZSB0cmFpbGluZyBkb3RzIGFuZCB3aGl0ZXNwYWNlCiAgICAgIHMvW1wu
IFx0XSokLy8KICAgICAgIyBQcmludAogICAgICAvLi9wJyB8CiAgICAjIHdl
IG5vdyBoYXZlIGEgbGlzdCwgb25lIGVudHJ5IHBlciBsaW5lLCBvZiB0aGUg
c3RyaW5naWZpZWQKICAgICMgY29udGVudHMgb2YgdGhlIGFwcHJvcHJpYXRl
IHNlY3Rpb24gb2YgYWxsIG1lbWJlcnMgb2YgdGhlCiAgICAjIGFyY2hpdmUg
d2hpY2ggcG9zc2VzcyB0aGF0IHNlY3Rpb24uIEhldXJpc3RpYzogZWxpbWlu
YXRlCiAgICAjIGFsbCB0aG9zZSB3aGljaCBoYXZlIGEgZmlyc3Qgb3Igc2Vj
b25kIGNoYXJhY3RlciB0aGF0IGlzCiAgICAjIGEgJy4nICh0aGF0IGlzLCBv
YmpkdW1wJ3MgcmVwcmVzZW50YXRpb24gb2YgYW4gdW5wcmludGFibGUKICAg
ICMgY2hhcmFjdGVyLikgVGhpcyBzaG91bGQgd29yayBmb3IgYWxsIGFyY2hp
dmVzIHdpdGggbGVzcyB0aGFuCiAgICAjIDB4MzAyZiBleHBvcnRzIC0tIGJ1
dCB3aWxsIGZhaWwgZm9yIERMTHMgd2hvc2UgbmFtZSBhY3R1YWxseQogICAg
IyBiZWdpbnMgd2l0aCBhIGxpdGVyYWwgJy4nIG9yIGEgc2luZ2xlIGNoYXJh
Y3RlciBmb2xsb3dlZCBieQogICAgIyBhICcuJy4KICAgICMKICAgICMgT2Yg
dGhvc2UgdGhhdCByZW1haW4sIHByaW50IHRoZSBmaXJzdCBvbmUuCiAgICAk
U0VEIC1lICcvXlwuL2Q7L14uXC4vZDtxJwp9CgojIGZ1bmNfY3lnbWluZ19n
bnVfaW1wbGliX3AgQVJHCiMgVGhpcyBwcmVkaWNhdGUgcmV0dXJucyB3aXRo
IHplcm8gc3RhdHVzIChUUlVFKSBpZgojIEFSRyBpcyBhIEdOVS9iaW51dGls
cy1zdHlsZSBpbXBvcnQgbGlicmFyeS4gUmV0dXJucwojIHdpdGggbm9uemVy
byBzdGF0dXMgKEZBTFNFKSBvdGhlcndpc2UuCmZ1bmNfY3lnbWluZ19nbnVf
aW1wbGliX3AgKCkKewogICRvcHRfZGVidWcKICBmdW5jX3RvX3Rvb2xfZmls
ZSAiJDEiIGZ1bmNfY29udmVydF9maWxlX21zeXNfdG9fdzMyCiAgZnVuY19j
eWdtaW5nX2dudV9pbXBsaWJfdG1wPWAkTk0gIiRmdW5jX3RvX3Rvb2xfZmls
ZV9yZXN1bHQiIHwgZXZhbCAiJGdsb2JhbF9zeW1ib2xfcGlwZSIgfCAkRUdS
RVAgJyAoX2hlYWRfW0EtWmEtejAtOV9dK19bYWRdbCp8W0EtWmEtejAtOV9d
K19bYWRdbCpfaW5hbWUpJCdgCiAgdGVzdCAtbiAiJGZ1bmNfY3lnbWluZ19n
bnVfaW1wbGliX3RtcCIKfQoKIyBmdW5jX2N5Z21pbmdfbXNfaW1wbGliX3Ag
QVJHCiMgVGhpcyBwcmVkaWNhdGUgcmV0dXJucyB3aXRoIHplcm8gc3RhdHVz
IChUUlVFKSBpZgojIEFSRyBpcyBhbiBNUy1zdHlsZSBpbXBvcnQgbGlicmFy
eS4gUmV0dXJucwojIHdpdGggbm9uemVybyBzdGF0dXMgKEZBTFNFKSBvdGhl
cndpc2UuCmZ1bmNfY3lnbWluZ19tc19pbXBsaWJfcCAoKQp7CiAgJG9wdF9k
ZWJ1ZwogIGZ1bmNfdG9fdG9vbF9maWxlICIkMSIgZnVuY19jb252ZXJ0X2Zp
bGVfbXN5c190b193MzIKICBmdW5jX2N5Z21pbmdfbXNfaW1wbGliX3RtcD1g
JE5NICIkZnVuY190b190b29sX2ZpbGVfcmVzdWx0IiB8IGV2YWwgIiRnbG9i
YWxfc3ltYm9sX3BpcGUiIHwgJEdSRVAgJ19OVUxMX0lNUE9SVF9ERVNDUklQ
VE9SJ2AKICB0ZXN0IC1uICIkZnVuY19jeWdtaW5nX21zX2ltcGxpYl90bXAi
Cn0KCiMgZnVuY19jeWdtaW5nX2RsbF9mb3JfaW1wbGliX2ZhbGxiYWNrIEFS
RwojIFBsYXRmb3JtLXNwZWNpZmljIGZ1bmN0aW9uIHRvIGV4dHJhY3QgdGhl
CiMgbmFtZSBvZiB0aGUgRExMIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3BlY2lm
aWVkCiMgaW1wb3J0IGxpYnJhcnkgQVJHLgojCiMgVGhpcyBmYWxsYmFjayBp
bXBsZW1lbnRhdGlvbiBpcyBmb3IgdXNlIHdoZW4gJERMTFRPT0wKIyBkb2Vz
IG5vdCBzdXBwb3J0IHRoZSAtLWlkZW50aWZ5LXN0cmljdCBvcHRpb24uCiMg
SW52b2tlZCBieSBldmFsJ2luZyB0aGUgbGlidG9vbCB2YXJpYWJsZQojICAg
ICRzaGFyZWRsaWJfZnJvbV9saW5rbGliX2NtZAojIFJlc3VsdCBpcyBhdmFp
bGFibGUgaW4gdGhlIHZhcmlhYmxlCiMgICAgJHNoYXJlZGxpYl9mcm9tX2xp
bmtsaWJfcmVzdWx0CmZ1bmNfY3lnbWluZ19kbGxfZm9yX2ltcGxpYl9mYWxs
YmFjayAoKQp7CiAgJG9wdF9kZWJ1ZwogIGlmIGZ1bmNfY3lnbWluZ19nbnVf
aW1wbGliX3AgIiQxIiA7IHRoZW4KICAgICMgYmludXRpbHMgaW1wb3J0IGxp
YnJhcnkKICAgIHNoYXJlZGxpYl9mcm9tX2xpbmtsaWJfcmVzdWx0PWBmdW5j
X2N5Z21pbmdfZGxsX2Zvcl9pbXBsaWJfZmFsbGJhY2tfY29yZSAnLmlkYXRh
JDcnICIkMSJgCiAgZWxpZiBmdW5jX2N5Z21pbmdfbXNfaW1wbGliX3AgIiQx
IiA7IHRoZW4KICAgICMgbXMtZ2VuZXJhdGVkIGltcG9ydCBsaWJyYXJ5CiAg
ICBzaGFyZWRsaWJfZnJvbV9saW5rbGliX3Jlc3VsdD1gZnVuY19jeWdtaW5n
X2RsbF9mb3JfaW1wbGliX2ZhbGxiYWNrX2NvcmUgJy5pZGF0YSQ2JyAiJDEi
YAogIGVsc2UKICAgICMgdW5rbm93bgogICAgc2hhcmVkbGliX2Zyb21fbGlu
a2xpYl9yZXN1bHQ9IiIKICBmaQp9CgoKIyBmdW5jX2V4dHJhY3RfYW5fYXJj
aGl2ZSBkaXIgb2xkbGliCmZ1bmNfZXh0cmFjdF9hbl9hcmNoaXZlICgpCnsK
ICAgICRvcHRfZGVidWcKICAgIGZfZXhfYW5fYXJfZGlyPSIkMSI7IHNoaWZ0
CiAgICBmX2V4X2FuX2FyX29sZGxpYj0iJDEiCiAgICBpZiB0ZXN0ICIkbG9j
a19vbGRfYXJjaGl2ZV9leHRyYWN0aW9uIiA9IHllczsgdGhlbgogICAgICBs
b2NrZmlsZT0kZl9leF9hbl9hcl9vbGRsaWIubG9jawogICAgICB1bnRpbCAk
b3B0X2RyeV9ydW4gfHwgbG4gIiRwcm9ncGF0aCIgIiRsb2NrZmlsZSIgMj4v
ZGV2L251bGw7IGRvCglmdW5jX2VjaG8gIldhaXRpbmcgZm9yICRsb2NrZmls
ZSB0byBiZSByZW1vdmVkIgoJc2xlZXAgMgogICAgICBkb25lCiAgICBmaQog
ICAgZnVuY19zaG93X2V2YWwgIihjZCBcJGZfZXhfYW5fYXJfZGlyICYmICRB
UiB4IFwiXCRmX2V4X2FuX2FyX29sZGxpYlwiKSIgXAoJCSAgICdzdGF0PSQ/
OyBybSAtZiAiJGxvY2tmaWxlIjsgZXhpdCAkc3RhdCcKICAgIGlmIHRlc3Qg
IiRsb2NrX29sZF9hcmNoaXZlX2V4dHJhY3Rpb24iID0geWVzOyB0aGVuCiAg
ICAgICRvcHRfZHJ5X3J1biB8fCBybSAtZiAiJGxvY2tmaWxlIgogICAgZmkK
ICAgIGlmICgkQVIgdCAiJGZfZXhfYW5fYXJfb2xkbGliIiB8IHNvcnQgfCBz
b3J0IC11YyA+L2Rldi9udWxsIDI+JjEpOyB0aGVuCiAgICAgOgogICAgZWxz
ZQogICAgICBmdW5jX2ZhdGFsX2Vycm9yICJvYmplY3QgbmFtZSBjb25mbGlj
dHMgaW4gYXJjaGl2ZTogJGZfZXhfYW5fYXJfZGlyLyRmX2V4X2FuX2FyX29s
ZGxpYiIKICAgIGZpCn0KCgojIGZ1bmNfZXh0cmFjdF9hcmNoaXZlcyBnZW50
b3Agb2xkbGliIC4uLgpmdW5jX2V4dHJhY3RfYXJjaGl2ZXMgKCkKewogICAg
JG9wdF9kZWJ1ZwogICAgbXlfZ2VudG9wPSIkMSI7IHNoaWZ0CiAgICBteV9v
bGRsaWJzPSR7MSsiJEAifQogICAgbXlfb2xkb2Jqcz0iIgogICAgbXlfeGxp
Yj0iIgogICAgbXlfeGFicz0iIgogICAgbXlfeGRpcj0iIgoKICAgIGZvciBt
eV94bGliIGluICRteV9vbGRsaWJzOyBkbwogICAgICAjIEV4dHJhY3QgdGhl
IG9iamVjdHMuCiAgICAgIGNhc2UgJG15X3hsaWIgaW4KCVtcXC9dKiB8IFtB
LVphLXpdOltcXC9dKikgbXlfeGFicz0iJG15X3hsaWIiIDs7CgkqKSBteV94
YWJzPWBwd2RgIi8kbXlfeGxpYiIgOzsKICAgICAgZXNhYwogICAgICBmdW5j
X2Jhc2VuYW1lICIkbXlfeGxpYiIKICAgICAgbXlfeGxpYj0iJGZ1bmNfYmFz
ZW5hbWVfcmVzdWx0IgogICAgICBteV94bGliX3U9JG15X3hsaWIKICAgICAg
d2hpbGUgOjsgZG8KICAgICAgICBjYXNlICIgJGV4dHJhY3RlZF9hcmNoaXZl
cyAiIGluCgkqIiAkbXlfeGxpYl91ICIqKQoJICBmdW5jX2FyaXRoICRleHRy
YWN0ZWRfc2VyaWFsICsgMQoJICBleHRyYWN0ZWRfc2VyaWFsPSRmdW5jX2Fy
aXRoX3Jlc3VsdAoJICBteV94bGliX3U9bHQkZXh0cmFjdGVkX3NlcmlhbC0k
bXlfeGxpYiA7OwoJKikgYnJlYWsgOzsKCWVzYWMKICAgICAgZG9uZQogICAg
ICBleHRyYWN0ZWRfYXJjaGl2ZXM9IiRleHRyYWN0ZWRfYXJjaGl2ZXMgJG15
X3hsaWJfdSIKICAgICAgbXlfeGRpcj0iJG15X2dlbnRvcC8kbXlfeGxpYl91
IgoKICAgICAgZnVuY19ta2Rpcl9wICIkbXlfeGRpciIKCiAgICAgIGNhc2Ug
JGhvc3QgaW4KICAgICAgKi1kYXJ3aW4qKQoJZnVuY192ZXJib3NlICJFeHRy
YWN0aW5nICRteV94YWJzIgoJIyBEbyBub3QgYm90aGVyIGRvaW5nIGFueXRo
aW5nIGlmIGp1c3QgYSBkcnkgcnVuCgkkb3B0X2RyeV9ydW4gfHwgewoJICBk
YXJ3aW5fb3JpZ19kaXI9YHB3ZGAKCSAgY2QgJG15X3hkaXIgfHwgZXhpdCAk
PwoJICBkYXJ3aW5fYXJjaGl2ZT0kbXlfeGFicwoJICBkYXJ3aW5fY3VyZGly
PWBwd2RgCgkgIGRhcndpbl9iYXNlX2FyY2hpdmU9YGJhc2VuYW1lICIkZGFy
d2luX2FyY2hpdmUiYAoJICBkYXJ3aW5fYXJjaGVzPWAkTElQTyAtaW5mbyAi
JGRhcndpbl9hcmNoaXZlIiAyPi9kZXYvbnVsbCB8ICRHUkVQIEFyY2hpdGVj
dHVyZXMgMj4vZGV2L251bGwgfHwgdHJ1ZWAKCSAgaWYgdGVzdCAtbiAiJGRh
cndpbl9hcmNoZXMiOyB0aGVuCgkgICAgZGFyd2luX2FyY2hlcz1gJEVDSE8g
IiRkYXJ3aW5fYXJjaGVzIiB8ICRTRUQgLWUgJ3MvLiphcmU6Ly8nYAoJICAg
IGRhcndpbl9hcmNoPQoJICAgIGZ1bmNfdmVyYm9zZSAiJGRhcndpbl9iYXNl
X2FyY2hpdmUgaGFzIG11bHRpcGxlIGFyY2hpdGVjdHVyZXMgJGRhcndpbl9h
cmNoZXMiCgkgICAgZm9yIGRhcndpbl9hcmNoIGluICAkZGFyd2luX2FyY2hl
cyA7IGRvCgkgICAgICBmdW5jX21rZGlyX3AgInVuZmF0LSQkLyR7ZGFyd2lu
X2Jhc2VfYXJjaGl2ZX0tJHtkYXJ3aW5fYXJjaH0iCgkgICAgICAkTElQTyAt
dGhpbiAkZGFyd2luX2FyY2ggLW91dHB1dCAidW5mYXQtJCQvJHtkYXJ3aW5f
YmFzZV9hcmNoaXZlfS0ke2Rhcndpbl9hcmNofS8ke2Rhcndpbl9iYXNlX2Fy
Y2hpdmV9IiAiJHtkYXJ3aW5fYXJjaGl2ZX0iCgkgICAgICBjZCAidW5mYXQt
JCQvJHtkYXJ3aW5fYmFzZV9hcmNoaXZlfS0ke2Rhcndpbl9hcmNofSIKCSAg
ICAgIGZ1bmNfZXh0cmFjdF9hbl9hcmNoaXZlICJgcHdkYCIgIiR7ZGFyd2lu
X2Jhc2VfYXJjaGl2ZX0iCgkgICAgICBjZCAiJGRhcndpbl9jdXJkaXIiCgkg
ICAgICAkUk0gInVuZmF0LSQkLyR7ZGFyd2luX2Jhc2VfYXJjaGl2ZX0tJHtk
YXJ3aW5fYXJjaH0vJHtkYXJ3aW5fYmFzZV9hcmNoaXZlfSIKCSAgICBkb25l
ICMgJGRhcndpbl9hcmNoZXMKICAgICAgICAgICAgIyMgT2theSBub3cgd2Un
dmUgYSBidW5jaCBvZiB0aGluIG9iamVjdHMsIGdvdHRhIGZhdHRlbiB0aGVt
IHVwIDopCgkgICAgZGFyd2luX2ZpbGVsaXN0PWBmaW5kIHVuZmF0LSQkIC10
eXBlIGYgLW5hbWUgXCoubyAtcHJpbnQgLW8gLW5hbWUgXCoubG8gLXByaW50
IHwgJFNFRCAtZSAiJGJhc2VuYW1lIiB8IHNvcnQgLXVgCgkgICAgZGFyd2lu
X2ZpbGU9CgkgICAgZGFyd2luX2ZpbGVzPQoJICAgIGZvciBkYXJ3aW5fZmls
ZSBpbiAkZGFyd2luX2ZpbGVsaXN0OyBkbwoJICAgICAgZGFyd2luX2ZpbGVz
PWBmaW5kIHVuZmF0LSQkIC1uYW1lICRkYXJ3aW5fZmlsZSAtcHJpbnQgfCBz
b3J0IHwgJE5MMlNQYAoJICAgICAgJExJUE8gLWNyZWF0ZSAtb3V0cHV0ICIk
ZGFyd2luX2ZpbGUiICRkYXJ3aW5fZmlsZXMKCSAgICBkb25lICMgJGRhcndp
bl9maWxlbGlzdAoJICAgICRSTSAtcmYgdW5mYXQtJCQKCSAgICBjZCAiJGRh
cndpbl9vcmlnX2RpciIKCSAgZWxzZQoJICAgIGNkICRkYXJ3aW5fb3JpZ19k
aXIKCSAgICBmdW5jX2V4dHJhY3RfYW5fYXJjaGl2ZSAiJG15X3hkaXIiICIk
bXlfeGFicyIKCSAgZmkgIyAkZGFyd2luX2FyY2hlcwoJfSAjICEkb3B0X2Ry
eV9ydW4KCTs7CiAgICAgICopCiAgICAgICAgZnVuY19leHRyYWN0X2FuX2Fy
Y2hpdmUgIiRteV94ZGlyIiAiJG15X3hhYnMiCgk7OwogICAgICBlc2FjCiAg
ICAgIG15X29sZG9ianM9IiRteV9vbGRvYmpzICJgZmluZCAkbXlfeGRpciAt
bmFtZSBcKi4kb2JqZXh0IC1wcmludCAtbyAtbmFtZSBcKi5sbyAtcHJpbnQg
fCBzb3J0IHwgJE5MMlNQYAogICAgZG9uZQoKICAgIGZ1bmNfZXh0cmFjdF9h
cmNoaXZlc19yZXN1bHQ9IiRteV9vbGRvYmpzIgp9CgoKIyBmdW5jX2VtaXRf
d3JhcHBlciBbYXJnPW5vXQojCiMgRW1pdCBhIGxpYnRvb2wgd3JhcHBlciBz
Y3JpcHQgb24gc3Rkb3V0LgojIERvbid0IGRpcmVjdGx5IG9wZW4gYSBmaWxl
IGJlY2F1c2Ugd2UgbWF5IHdhbnQgdG8KIyBpbmNvcnBvcmF0ZSB0aGUgc2Ny
aXB0IGNvbnRlbnRzIHdpdGhpbiBhIGN5Z3dpbi9taW5ndwojIHdyYXBwZXIg
ZXhlY3V0YWJsZS4gIE11c3QgT05MWSBiZSBjYWxsZWQgZnJvbSB3aXRoaW4K
IyBmdW5jX21vZGVfbGluayBiZWNhdXNlIGl0IGRlcGVuZHMgb24gYSBudW1i
ZXIgb2YgdmFyaWFibGVzCiMgc2V0IHRoZXJlaW4uCiMKIyBBUkcgaXMgdGhl
IHZhbHVlIHRoYXQgdGhlIFdSQVBQRVJfU0NSSVBUX0JFTE9OR1NfSU5fT0JK
RElSCiMgdmFyaWFibGUgd2lsbCB0YWtlLiAgSWYgJ3llcycsIHRoZW4gdGhl
IGVtaXR0ZWQgc2NyaXB0CiMgd2lsbCBhc3N1bWUgdGhhdCB0aGUgZGlyZWN0
b3J5IGluIHdoaWNoIGl0IGlzIHN0b3JlZCBpcwojIHRoZSAkb2JqZGlyIGRp
cmVjdG9yeS4gIFRoaXMgaXMgYSBjeWd3aW4vbWluZ3ctc3BlY2lmaWMKIyBi
ZWhhdmlvci4KZnVuY19lbWl0X3dyYXBwZXIgKCkKewoJZnVuY19lbWl0X3dy
YXBwZXJfYXJnMT0kezEtbm99CgoJJEVDSE8gIlwKIyEgJFNIRUxMCgojICRv
dXRwdXQgLSB0ZW1wb3Jhcnkgd3JhcHBlciBzY3JpcHQgZm9yICRvYmpkaXIv
JG91dHB1dG5hbWUKIyBHZW5lcmF0ZWQgYnkgJFBST0dSQU0gKEdOVSAkUEFD
S0FHRSRUSU1FU1RBTVApICRWRVJTSU9OCiMKIyBUaGUgJG91dHB1dCBwcm9n
cmFtIGNhbm5vdCBiZSBkaXJlY3RseSBleGVjdXRlZCB1bnRpbCBhbGwgdGhl
IGxpYnRvb2wKIyBsaWJyYXJpZXMgdGhhdCBpdCBkZXBlbmRzIG9uIGFyZSBp
bnN0YWxsZWQuCiMKIyBUaGlzIHdyYXBwZXIgc2NyaXB0IHNob3VsZCBuZXZl
ciBiZSBtb3ZlZCBvdXQgb2YgdGhlIGJ1aWxkIGRpcmVjdG9yeS4KIyBJZiBp
dCBpcywgaXQgd2lsbCBub3Qgb3BlcmF0ZSBjb3JyZWN0bHkuCgojIFNlZCBz
dWJzdGl0dXRpb24gdGhhdCBoZWxwcyB1cyBkbyByb2J1c3QgcXVvdGluZy4g
IEl0IGJhY2tzbGFzaGlmaWVzCiMgbWV0YWNoYXJhY3RlcnMgdGhhdCBhcmUg
c3RpbGwgYWN0aXZlIHdpdGhpbiBkb3VibGUtcXVvdGVkIHN0cmluZ3MuCnNl
ZF9xdW90ZV9zdWJzdD0nJHNlZF9xdW90ZV9zdWJzdCcKCiMgQmUgQm91cm5l
IGNvbXBhdGlibGUKaWYgdGVzdCAtbiBcIlwke1pTSF9WRVJTSU9OK3NldH1c
IiAmJiAoZW11bGF0ZSBzaCkgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCiAgZW11
bGF0ZSBzaAogIE5VTExDTUQ9OgogICMgWnNoIDMueCBhbmQgNC54IHBlcmZv
cm1zIHdvcmQgc3BsaXR0aW5nIG9uIFwkezErXCJcJEBcIn0sIHdoaWNoCiAg
IyBpcyBjb250cmFyeSB0byBvdXIgdXNhZ2UuICBEaXNhYmxlIHRoaXMgZmVh
dHVyZS4KICBhbGlhcyAtZyAnXCR7MStcIlwkQFwifSc9J1wiXCRAXCInCiAg
c2V0b3B0IE5PX0dMT0JfU1VCU1QKZWxzZQogIGNhc2UgXGAoc2V0IC1vKSAy
Pi9kZXYvbnVsbFxgIGluICpwb3NpeCopIHNldCAtbyBwb3NpeDs7IGVzYWMK
ZmkKQklOX1NIPXhwZzQ7IGV4cG9ydCBCSU5fU0ggIyBmb3IgVHJ1NjQKRFVB
TENBU0U9MTsgZXhwb3J0IERVQUxDQVNFICMgZm9yIE1LUyBzaAoKIyBUaGUg
SFAtVVgga3NoIGFuZCBQT1NJWCBzaGVsbCBwcmludCB0aGUgdGFyZ2V0IGRp
cmVjdG9yeSB0byBzdGRvdXQKIyBpZiBDRFBBVEggaXMgc2V0LgoodW5zZXQg
Q0RQQVRIKSA+L2Rldi9udWxsIDI+JjEgJiYgdW5zZXQgQ0RQQVRICgpyZWxp
bmtfY29tbWFuZD1cIiRyZWxpbmtfY29tbWFuZFwiCgojIFRoaXMgZW52aXJv
bm1lbnQgdmFyaWFibGUgZGV0ZXJtaW5lcyBvdXIgb3BlcmF0aW9uIG1vZGUu
CmlmIHRlc3QgXCJcJGxpYnRvb2xfaW5zdGFsbF9tYWdpY1wiID0gXCIkbWFn
aWNcIjsgdGhlbgogICMgaW5zdGFsbCBtb2RlIG5lZWRzIHRoZSBmb2xsb3dp
bmcgdmFyaWFibGVzOgogIGdlbmVyYXRlZF9ieV9saWJ0b29sX3ZlcnNpb249
JyRtYWNyb192ZXJzaW9uJwogIG5vdGluc3RfZGVwbGlicz0nJG5vdGluc3Rf
ZGVwbGlicycKZWxzZQogICMgV2hlbiB3ZSBhcmUgc291cmNlZCBpbiBleGVj
dXRlIG1vZGUsIFwkZmlsZSBhbmQgXCRFQ0hPIGFyZSBhbHJlYWR5IHNldC4K
ICBpZiB0ZXN0IFwiXCRsaWJ0b29sX2V4ZWN1dGVfbWFnaWNcIiAhPSBcIiRt
YWdpY1wiOyB0aGVuCiAgICBmaWxlPVwiXCQwXCIiCgogICAgcUVDSE89YCRF
Q0hPICIkRUNITyIgfCAkU0VEICIkc2VkX3F1b3RlX3N1YnN0ImAKICAgICRF
Q0hPICJcCgojIEEgZnVuY3Rpb24gdGhhdCBpcyB1c2VkIHdoZW4gdGhlcmUg
aXMgbm8gcHJpbnQgYnVpbHRpbiBvciBwcmludGYuCmZ1bmNfZmFsbGJhY2tf
ZWNobyAoKQp7CiAgZXZhbCAnY2F0IDw8X0xURUNIT19FT0YKXCQxCl9MVEVD
SE9fRU9GJwp9CiAgICBFQ0hPPVwiJHFFQ0hPXCIKICBmaQoKIyBWZXJ5IGJh
c2ljIG9wdGlvbiBwYXJzaW5nLiBUaGVzZSBvcHRpb25zIGFyZSAoYSkgc3Bl
Y2lmaWMgdG8KIyB0aGUgbGlidG9vbCB3cmFwcGVyLCAoYikgYXJlIGlkZW50
aWNhbCBiZXR3ZWVuIHRoZSB3cmFwcGVyCiMgL3NjcmlwdC8gYW5kIHRoZSB3
cmFwcGVyIC9leGVjdXRhYmxlLyB3aGljaCBpcyB1c2VkIG9ubHkgb24KIyB3
aW5kb3dzIHBsYXRmb3JtcywgYW5kIChjKSBhbGwgYmVnaW4gd2l0aCB0aGUg
c3RyaW5nICItLWx0LSIKIyAoYXBwbGljYXRpb24gcHJvZ3JhbXMgYXJlIHVu
bGlrZWx5IHRvIGhhdmUgb3B0aW9ucyB3aGljaCBtYXRjaAojIHRoaXMgcGF0
dGVybikuCiMKIyBUaGVyZSBhcmUgb25seSB0d28gc3VwcG9ydGVkIG9wdGlv
bnM6IC0tbHQtZGVidWcgYW5kCiMgLS1sdC1kdW1wLXNjcmlwdC4gVGhlcmUg
aXMsIGRlbGliZXJhdGVseSwgbm8gLS1sdC1oZWxwLgojCiMgVGhlIGZpcnN0
IGFyZ3VtZW50IHRvIHRoaXMgcGFyc2luZyBmdW5jdGlvbiBzaG91bGQgYmUg
dGhlCiMgc2NyaXB0J3MgJDAgdmFsdWUsIGZvbGxvd2VkIGJ5ICIkQCIuCmx0
X29wdGlvbl9kZWJ1Zz0KZnVuY19wYXJzZV9sdF9vcHRpb25zICgpCnsKICBs
dF9zY3JpcHRfYXJnMD1cJDAKICBzaGlmdAogIGZvciBsdF9vcHQKICBkbwog
ICAgY2FzZSBcIlwkbHRfb3B0XCIgaW4KICAgIC0tbHQtZGVidWcpIGx0X29w
dGlvbl9kZWJ1Zz0xIDs7CiAgICAtLWx0LWR1bXAtc2NyaXB0KQogICAgICAg
IGx0X2R1bXBfRD1cYFwkRUNITyBcIlhcJGx0X3NjcmlwdF9hcmcwXCIgfCAk
U0VEIC1lICdzL15YLy8nIC1lICdzJS9bXi9dKiQlJSdcYAogICAgICAgIHRl
c3QgXCJYXCRsdF9kdW1wX0RcIiA9IFwiWFwkbHRfc2NyaXB0X2FyZzBcIiAm
JiBsdF9kdW1wX0Q9LgogICAgICAgIGx0X2R1bXBfRj1cYFwkRUNITyBcIlhc
JGx0X3NjcmlwdF9hcmcwXCIgfCAkU0VEIC1lICdzL15YLy8nIC1lICdzJV4u
Ki8lJSdcYAogICAgICAgIGNhdCBcIlwkbHRfZHVtcF9EL1wkbHRfZHVtcF9G
XCIKICAgICAgICBleGl0IDAKICAgICAgOzsKICAgIC0tbHQtKikKICAgICAg
ICBcJEVDSE8gXCJVbnJlY29nbml6ZWQgLS1sdC0gb3B0aW9uOiAnXCRsdF9v
cHQnXCIgMT4mMgogICAgICAgIGV4aXQgMQogICAgICA7OwogICAgZXNhYwog
IGRvbmUKCiAgIyBQcmludCB0aGUgZGVidWcgYmFubmVyIGltbWVkaWF0ZWx5
OgogIGlmIHRlc3QgLW4gXCJcJGx0X29wdGlvbl9kZWJ1Z1wiOyB0aGVuCiAg
ICBlY2hvIFwiJHtvdXRwdXRuYW1lfToke291dHB1dH06XCR7TElORU5PfTog
bGlidG9vbCB3cmFwcGVyIChHTlUgJFBBQ0tBR0UkVElNRVNUQU1QKSAkVkVS
U0lPTlwiIDE+JjIKICBmaQp9CgojIFVzZWQgd2hlbiAtLWx0LWRlYnVnLiBQ
cmludHMgaXRzIGFyZ3VtZW50cyB0byBzdGRvdXQKIyAocmVkaXJlY3Rpb24g
aXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBjYWxsZXIpCmZ1bmNfbHRf
ZHVtcF9hcmdzICgpCnsKICBsdF9kdW1wX2FyZ3NfTj0xOwogIGZvciBsdF9h
cmcKICBkbwogICAgXCRFQ0hPIFwiJHtvdXRwdXRuYW1lfToke291dHB1dH06
XCR7TElORU5PfTogbmV3YXJndltcJGx0X2R1bXBfYXJnc19OXTogXCRsdF9h
cmdcIgogICAgbHRfZHVtcF9hcmdzX049XGBleHByIFwkbHRfZHVtcF9hcmdz
X04gKyAxXGAKICBkb25lCn0KCiMgQ29yZSBmdW5jdGlvbiBmb3IgbGF1bmNo
aW5nIHRoZSB0YXJnZXQgYXBwbGljYXRpb24KZnVuY19leGVjX3Byb2dyYW1f
Y29yZSAoKQp7CiIKICBjYXNlICRob3N0IGluCiAgIyBCYWNrc2xhc2hlcyBz
ZXBhcmF0ZSBkaXJlY3RvcmllcyBvbiBwbGFpbiB3aW5kb3dzCiAgKi0qLW1p
bmd3IHwgKi0qLW9zMiogfCAqLWNlZ2NjKikKICAgICRFQ0hPICJcCiAgICAg
IGlmIHRlc3QgLW4gXCJcJGx0X29wdGlvbl9kZWJ1Z1wiOyB0aGVuCiAgICAg
ICAgXCRFQ0hPIFwiJHtvdXRwdXRuYW1lfToke291dHB1dH06XCR7TElORU5P
fTogbmV3YXJndlswXTogXCRwcm9nZGlyXFxcXFwkcHJvZ3JhbVwiIDE+JjIK
ICAgICAgICBmdW5jX2x0X2R1bXBfYXJncyBcJHsxK1wiXCRAXCJ9IDE+JjIK
ICAgICAgZmkKICAgICAgZXhlYyBcIlwkcHJvZ2RpclxcXFxcJHByb2dyYW1c
IiBcJHsxK1wiXCRAXCJ9CiIKICAgIDs7CgogICopCiAgICAkRUNITyAiXAog
ICAgICBpZiB0ZXN0IC1uIFwiXCRsdF9vcHRpb25fZGVidWdcIjsgdGhlbgog
ICAgICAgIFwkRUNITyBcIiR7b3V0cHV0bmFtZX06JHtvdXRwdXR9Olwke0xJ
TkVOT306IG5ld2FyZ3ZbMF06IFwkcHJvZ2Rpci9cJHByb2dyYW1cIiAxPiYy
CiAgICAgICAgZnVuY19sdF9kdW1wX2FyZ3MgXCR7MStcIlwkQFwifSAxPiYy
CiAgICAgIGZpCiAgICAgIGV4ZWMgXCJcJHByb2dkaXIvXCRwcm9ncmFtXCIg
XCR7MStcIlwkQFwifQoiCiAgICA7OwogIGVzYWMKICAkRUNITyAiXAogICAg
ICBcJEVDSE8gXCJcJDA6IGNhbm5vdCBleGVjIFwkcHJvZ3JhbSBcJCpcIiAx
PiYyCiAgICAgIGV4aXQgMQp9CgojIEEgZnVuY3Rpb24gdG8gZW5jYXBzdWxh
dGUgbGF1bmNoaW5nIHRoZSB0YXJnZXQgYXBwbGljYXRpb24KIyBTdHJpcHMg
b3B0aW9ucyBpbiB0aGUgLS1sdC0qIG5hbWVzcGFjZSBmcm9tIFwkQCBhbmQK
IyBsYXVuY2hlcyB0YXJnZXQgYXBwbGljYXRpb24gd2l0aCB0aGUgcmVtYWlu
aW5nIGFyZ3VtZW50cy4KZnVuY19leGVjX3Byb2dyYW0gKCkKewogIGNhc2Ug
XCIgXCQqIFwiIGluCiAgKlxcIC0tbHQtKikKICAgIGZvciBsdF93cl9hcmcK
ICAgIGRvCiAgICAgIGNhc2UgXCRsdF93cl9hcmcgaW4KICAgICAgLS1sdC0q
KSA7OwogICAgICAqKSBzZXQgeCBcIlwkQFwiIFwiXCRsdF93cl9hcmdcIjsg
c2hpZnQ7OwogICAgICBlc2FjCiAgICAgIHNoaWZ0CiAgICBkb25lIDs7CiAg
ZXNhYwogIGZ1bmNfZXhlY19wcm9ncmFtX2NvcmUgXCR7MStcIlwkQFwifQp9
CgogICMgUGFyc2Ugb3B0aW9ucwogIGZ1bmNfcGFyc2VfbHRfb3B0aW9ucyBc
IlwkMFwiIFwkezErXCJcJEBcIn0KCiAgIyBGaW5kIHRoZSBkaXJlY3Rvcnkg
dGhhdCB0aGlzIHNjcmlwdCBsaXZlcyBpbi4KICB0aGlzZGlyPVxgXCRFQ0hP
IFwiXCRmaWxlXCIgfCAkU0VEICdzJS9bXi9dKiQlJSdcYAogIHRlc3QgXCJ4
XCR0aGlzZGlyXCIgPSBcInhcJGZpbGVcIiAmJiB0aGlzZGlyPS4KCiAgIyBG
b2xsb3cgc3ltYm9saWMgbGlua3MgdW50aWwgd2UgZ2V0IHRvIHRoZSByZWFs
IHRoaXNkaXIuCiAgZmlsZT1cYGxzIC1sZCBcIlwkZmlsZVwiIHwgJFNFRCAt
biAncy8uKi0+IC8vcCdcYAogIHdoaWxlIHRlc3QgLW4gXCJcJGZpbGVcIjsg
ZG8KICAgIGRlc3RkaXI9XGBcJEVDSE8gXCJcJGZpbGVcIiB8ICRTRUQgJ3Ml
L1teL10qXCQlJSdcYAoKICAgICMgSWYgdGhlcmUgd2FzIGEgZGlyZWN0b3J5
IGNvbXBvbmVudCwgdGhlbiBjaGFuZ2UgdGhpc2Rpci4KICAgIGlmIHRlc3Qg
XCJ4XCRkZXN0ZGlyXCIgIT0gXCJ4XCRmaWxlXCI7IHRoZW4KICAgICAgY2Fz
ZSBcIlwkZGVzdGRpclwiIGluCiAgICAgIFtcXFxcL10qIHwgW0EtWmEtel06
W1xcXFwvXSopIHRoaXNkaXI9XCJcJGRlc3RkaXJcIiA7OwogICAgICAqKSB0
aGlzZGlyPVwiXCR0aGlzZGlyL1wkZGVzdGRpclwiIDs7CiAgICAgIGVzYWMK
ICAgIGZpCgogICAgZmlsZT1cYFwkRUNITyBcIlwkZmlsZVwiIHwgJFNFRCAn
cyVeLiovJSUnXGAKICAgIGZpbGU9XGBscyAtbGQgXCJcJHRoaXNkaXIvXCRm
aWxlXCIgfCAkU0VEIC1uICdzLy4qLT4gLy9wJ1xgCiAgZG9uZQoKICAjIFVz
dWFsbHkgJ25vJywgZXhjZXB0IG9uIGN5Z3dpbi9taW5ndyB3aGVuIGVtYmVk
ZGVkIGludG8KICAjIHRoZSBjd3JhcHBlci4KICBXUkFQUEVSX1NDUklQVF9C
RUxPTkdTX0lOX09CSkRJUj0kZnVuY19lbWl0X3dyYXBwZXJfYXJnMQogIGlm
IHRlc3QgXCJcJFdSQVBQRVJfU0NSSVBUX0JFTE9OR1NfSU5fT0JKRElSXCIg
PSBcInllc1wiOyB0aGVuCiAgICAjIHNwZWNpYWwgY2FzZSBmb3IgJy4nCiAg
ICBpZiB0ZXN0IFwiXCR0aGlzZGlyXCIgPSBcIi5cIjsgdGhlbgogICAgICB0
aGlzZGlyPVxgcHdkXGAKICAgIGZpCiAgICAjIHJlbW92ZSAubGlicyBmcm9t
IHRoaXNkaXIKICAgIGNhc2UgXCJcJHRoaXNkaXJcIiBpbgogICAgKltcXFxc
L10kb2JqZGlyICkgdGhpc2Rpcj1cYFwkRUNITyBcIlwkdGhpc2RpclwiIHwg
JFNFRCAncyVbXFxcXC9dW15cXFxcL10qJCUlJ1xgIDs7CiAgICAkb2JqZGly
ICkgICB0aGlzZGlyPS4gOzsKICAgIGVzYWMKICBmaQoKICAjIFRyeSB0byBn
ZXQgdGhlIGFic29sdXRlIGRpcmVjdG9yeSBuYW1lLgogIGFic2Rpcj1cYGNk
IFwiXCR0aGlzZGlyXCIgJiYgcHdkXGAKICB0ZXN0IC1uIFwiXCRhYnNkaXJc
IiAmJiB0aGlzZGlyPVwiXCRhYnNkaXJcIgoiCgoJaWYgdGVzdCAiJGZhc3Rf
aW5zdGFsbCIgPSB5ZXM7IHRoZW4KCSAgJEVDSE8gIlwKICBwcm9ncmFtPWx0
LSckb3V0cHV0bmFtZSckZXhlZXh0CiAgcHJvZ2Rpcj1cIlwkdGhpc2Rpci8k
b2JqZGlyXCIKCiAgaWYgdGVzdCAhIC1mIFwiXCRwcm9nZGlyL1wkcHJvZ3Jh
bVwiIHx8CiAgICAgeyBmaWxlPVxgbHMgLTFkdCBcIlwkcHJvZ2Rpci9cJHBy
b2dyYW1cIiBcIlwkcHJvZ2Rpci8uLi9cJHByb2dyYW1cIiAyPi9kZXYvbnVs
bCB8ICR7U0VEfSAxcVxgOyBcXAogICAgICAgdGVzdCBcIlhcJGZpbGVcIiAh
PSBcIlhcJHByb2dkaXIvXCRwcm9ncmFtXCI7IH07IHRoZW4KCiAgICBmaWxl
PVwiXCRcJC1cJHByb2dyYW1cIgoKICAgIGlmIHRlc3QgISAtZCBcIlwkcHJv
Z2RpclwiOyB0aGVuCiAgICAgICRNS0RJUiBcIlwkcHJvZ2RpclwiCiAgICBl
bHNlCiAgICAgICRSTSBcIlwkcHJvZ2Rpci9cJGZpbGVcIgogICAgZmkiCgoJ
ICAkRUNITyAiXAoKICAgICMgcmVsaW5rIGV4ZWN1dGFibGUgaWYgbmVjZXNz
YXJ5CiAgICBpZiB0ZXN0IC1uIFwiXCRyZWxpbmtfY29tbWFuZFwiOyB0aGVu
CiAgICAgIGlmIHJlbGlua19jb21tYW5kX291dHB1dD1cYGV2YWwgXCRyZWxp
bmtfY29tbWFuZCAyPiYxXGA7IHRoZW4gOgogICAgICBlbHNlCgkkRUNITyBc
IlwkcmVsaW5rX2NvbW1hbmRfb3V0cHV0XCIgPiYyCgkkUk0gXCJcJHByb2dk
aXIvXCRmaWxlXCIKCWV4aXQgMQogICAgICBmaQogICAgZmkKCiAgICAkTVYg
XCJcJHByb2dkaXIvXCRmaWxlXCIgXCJcJHByb2dkaXIvXCRwcm9ncmFtXCIg
Mj4vZGV2L251bGwgfHwKICAgIHsgJFJNIFwiXCRwcm9nZGlyL1wkcHJvZ3Jh
bVwiOwogICAgICAkTVYgXCJcJHByb2dkaXIvXCRmaWxlXCIgXCJcJHByb2dk
aXIvXCRwcm9ncmFtXCI7IH0KICAgICRSTSBcIlwkcHJvZ2Rpci9cJGZpbGVc
IgogIGZpIgoJZWxzZQoJICAkRUNITyAiXAogIHByb2dyYW09JyRvdXRwdXRu
YW1lJwogIHByb2dkaXI9XCJcJHRoaXNkaXIvJG9iamRpclwiCiIKCWZpCgoJ
JEVDSE8gIlwKCiAgaWYgdGVzdCAtZiBcIlwkcHJvZ2Rpci9cJHByb2dyYW1c
IjsgdGhlbiIKCgkjIGZpeHVwIHRoZSBkbGwgc2VhcmNocGF0aCBpZiB3ZSBu
ZWVkIHRvLgoJIwoJIyBGaXggdGhlIERMTCBzZWFyY2hwYXRoIGlmIHdlIG5l
ZWQgdG8uICBEbyB0aGlzIGJlZm9yZSBwcmVwZW5kaW5nCgkjIHRvIHNobGli
cGF0aCwgYmVjYXVzZSBvbiBXaW5kb3dzLCBib3RoIGFyZSBQQVRIIGFuZCB1
bmluc3RhbGxlZAoJIyBsaWJyYXJpZXMgbXVzdCBjb21lIGZpcnN0LgoJaWYg
dGVzdCAtbiAiJGRsbHNlYXJjaHBhdGgiOyB0aGVuCgkgICRFQ0hPICJcCiAg
ICAjIEFkZCB0aGUgZGxsIHNlYXJjaCBwYXRoIGNvbXBvbmVudHMgdG8gdGhl
IGV4ZWN1dGFibGUgUEFUSAogICAgUEFUSD0kZGxsc2VhcmNocGF0aDpcJFBB
VEgKIgoJZmkKCgkjIEV4cG9ydCBvdXIgc2hsaWJwYXRoX3ZhciBpZiB3ZSBo
YXZlIG9uZS4KCWlmIHRlc3QgIiRzaGxpYnBhdGhfb3ZlcnJpZGVzX3J1bnBh
dGgiID0geWVzICYmIHRlc3QgLW4gIiRzaGxpYnBhdGhfdmFyIiAmJiB0ZXN0
IC1uICIkdGVtcF9ycGF0aCI7IHRoZW4KCSAgJEVDSE8gIlwKICAgICMgQWRk
IG91ciBvd24gbGlicmFyeSBwYXRoIHRvICRzaGxpYnBhdGhfdmFyCiAgICAk
c2hsaWJwYXRoX3Zhcj1cIiR0ZW1wX3JwYXRoXCQkc2hsaWJwYXRoX3Zhclwi
CgogICAgIyBTb21lIHN5c3RlbXMgY2Fubm90IGNvcGUgd2l0aCBjb2xvbi10
ZXJtaW5hdGVkICRzaGxpYnBhdGhfdmFyCiAgICAjIFRoZSBzZWNvbmQgY29s
b24gaXMgYSB3b3JrYXJvdW5kIGZvciBhIGJ1ZyBpbiBCZU9TIFI0IHNlZAog
ICAgJHNobGlicGF0aF92YXI9XGBcJEVDSE8gXCJcJCRzaGxpYnBhdGhfdmFy
XCIgfCAkU0VEICdzLzo6KlwkLy8nXGAKCiAgICBleHBvcnQgJHNobGlicGF0
aF92YXIKIgoJZmkKCgkkRUNITyAiXAogICAgaWYgdGVzdCBcIlwkbGlidG9v
bF9leGVjdXRlX21hZ2ljXCIgIT0gXCIkbWFnaWNcIjsgdGhlbgogICAgICAj
IFJ1biB0aGUgYWN0dWFsIHByb2dyYW0gd2l0aCBvdXIgYXJndW1lbnRzLgog
ICAgICBmdW5jX2V4ZWNfcHJvZ3JhbSBcJHsxK1wiXCRAXCJ9CiAgICBmaQog
IGVsc2UKICAgICMgVGhlIHByb2dyYW0gZG9lc24ndCBleGlzdC4KICAgIFwk
RUNITyBcIlwkMDogZXJyb3I6IFxcXGBcJHByb2dkaXIvXCRwcm9ncmFtJyBk
b2VzIG5vdCBleGlzdFwiIDE+JjIKICAgIFwkRUNITyBcIlRoaXMgc2NyaXB0
IGlzIGp1c3QgYSB3cmFwcGVyIGZvciBcJHByb2dyYW0uXCIgMT4mMgogICAg
XCRFQ0hPIFwiU2VlIHRoZSAkUEFDS0FHRSBkb2N1bWVudGF0aW9uIGZvciBt
b3JlIGluZm9ybWF0aW9uLlwiIDE+JjIKICAgIGV4aXQgMQogIGZpCmZpXAoi
Cn0KCgojIGZ1bmNfZW1pdF9jd3JhcHBlcmV4ZV9zcmMKIyBlbWl0IHRoZSBz
b3VyY2UgY29kZSBmb3IgYSB3cmFwcGVyIGV4ZWN1dGFibGUgb24gc3Rkb3V0
CiMgTXVzdCBPTkxZIGJlIGNhbGxlZCBmcm9tIHdpdGhpbiBmdW5jX21vZGVf
bGluayBiZWNhdXNlCiMgaXQgZGVwZW5kcyBvbiBhIG51bWJlciBvZiB2YXJp
YWJsZSBzZXQgdGhlcmVpbi4KZnVuY19lbWl0X2N3cmFwcGVyZXhlX3NyYyAo
KQp7CgljYXQgPDxFT0YKCi8qICRjd3JhcHBlcnNvdXJjZSAtIHRlbXBvcmFy
eSB3cmFwcGVyIGV4ZWN1dGFibGUgZm9yICRvYmpkaXIvJG91dHB1dG5hbWUK
ICAgR2VuZXJhdGVkIGJ5ICRQUk9HUkFNIChHTlUgJFBBQ0tBR0UkVElNRVNU
QU1QKSAkVkVSU0lPTgoKICAgVGhlICRvdXRwdXQgcHJvZ3JhbSBjYW5ub3Qg
YmUgZGlyZWN0bHkgZXhlY3V0ZWQgdW50aWwgYWxsIHRoZSBsaWJ0b29sCiAg
IGxpYnJhcmllcyB0aGF0IGl0IGRlcGVuZHMgb24gYXJlIGluc3RhbGxlZC4K
CiAgIFRoaXMgd3JhcHBlciBleGVjdXRhYmxlIHNob3VsZCBuZXZlciBiZSBt
b3ZlZCBvdXQgb2YgdGhlIGJ1aWxkIGRpcmVjdG9yeS4KICAgSWYgaXQgaXMs
IGl0IHdpbGwgbm90IG9wZXJhdGUgY29ycmVjdGx5LgoqLwpFT0YKCSAgICBj
YXQgPDwiRU9GIgojaWZkZWYgX01TQ19WRVIKIyBkZWZpbmUgX0NSVF9TRUNV
UkVfTk9fREVQUkVDQVRFIDEKI2VuZGlmCiNpbmNsdWRlIDxzdGRpby5oPgoj
aW5jbHVkZSA8c3RkbGliLmg+CiNpZmRlZiBfTVNDX1ZFUgojIGluY2x1ZGUg
PGRpcmVjdC5oPgojIGluY2x1ZGUgPHByb2Nlc3MuaD4KIyBpbmNsdWRlIDxp
by5oPgojZWxzZQojIGluY2x1ZGUgPHVuaXN0ZC5oPgojIGluY2x1ZGUgPHN0
ZGludC5oPgojIGlmZGVmIF9fQ1lHV0lOX18KIyAgaW5jbHVkZSA8aW8uaD4K
IyBlbmRpZgojZW5kaWYKI2luY2x1ZGUgPG1hbGxvYy5oPgojaW5jbHVkZSA8
c3RkYXJnLmg+CiNpbmNsdWRlIDxhc3NlcnQuaD4KI2luY2x1ZGUgPHN0cmlu
Zy5oPgojaW5jbHVkZSA8Y3R5cGUuaD4KI2luY2x1ZGUgPGVycm5vLmg+CiNp
bmNsdWRlIDxmY250bC5oPgojaW5jbHVkZSA8c3lzL3N0YXQuaD4KCi8qIGRl
Y2xhcmF0aW9ucyBvZiBub24tQU5TSSBmdW5jdGlvbnMgKi8KI2lmIGRlZmlu
ZWQoX19NSU5HVzMyX18pCiMgaWZkZWYgX19TVFJJQ1RfQU5TSV9fCmludCBf
cHV0ZW52IChjb25zdCBjaGFyICopOwojIGVuZGlmCiNlbGlmIGRlZmluZWQo
X19DWUdXSU5fXykKIyBpZmRlZiBfX1NUUklDVF9BTlNJX18KY2hhciAqcmVh
bHBhdGggKGNvbnN0IGNoYXIgKiwgY2hhciAqKTsKaW50IHB1dGVudiAoY2hh
ciAqKTsKaW50IHNldGVudiAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICos
IGludCk7CiMgZW5kaWYKLyogI2VsaWYgZGVmaW5lZCAob3RoZXIgcGxhdGZv
cm1zKSAuLi4gKi8KI2VuZGlmCgovKiBwb3J0YWJpbGl0eSBkZWZpbmVzLCBl
eGNsdWRpbmcgcGF0aCBoYW5kbGluZyBtYWNyb3MgKi8KI2lmIGRlZmluZWQo
X01TQ19WRVIpCiMgZGVmaW5lIHNldG1vZGUgX3NldG1vZGUKIyBkZWZpbmUg
c3RhdCAgICBfc3RhdAojIGRlZmluZSBjaG1vZCAgIF9jaG1vZAojIGRlZmlu
ZSBnZXRjd2QgIF9nZXRjd2QKIyBkZWZpbmUgcHV0ZW52ICBfcHV0ZW52CiMg
ZGVmaW5lIFNfSVhVU1IgX1NfSUVYRUMKIyBpZm5kZWYgX0lOVFBUUl9UX0RF
RklORUQKIyAgZGVmaW5lIF9JTlRQVFJfVF9ERUZJTkVECiMgIGRlZmluZSBp
bnRwdHJfdCBpbnQKIyBlbmRpZgojZWxpZiBkZWZpbmVkKF9fTUlOR1czMl9f
KQojIGRlZmluZSBzZXRtb2RlIF9zZXRtb2RlCiMgZGVmaW5lIHN0YXQgICAg
X3N0YXQKIyBkZWZpbmUgY2htb2QgICBfY2htb2QKIyBkZWZpbmUgZ2V0Y3dk
ICBfZ2V0Y3dkCiMgZGVmaW5lIHB1dGVudiAgX3B1dGVudgojZWxpZiBkZWZp
bmVkKF9fQ1lHV0lOX18pCiMgZGVmaW5lIEhBVkVfU0VURU5WCiMgZGVmaW5l
IEZPUEVOX1dCICJ3YiIKLyogI2VsaWYgZGVmaW5lZCAob3RoZXIgcGxhdGZv
cm1zKSAuLi4gKi8KI2VuZGlmCgojaWYgZGVmaW5lZChQQVRIX01BWCkKIyBk
ZWZpbmUgTFRfUEFUSE1BWCBQQVRIX01BWAojZWxpZiBkZWZpbmVkKE1BWFBB
VEhMRU4pCiMgZGVmaW5lIExUX1BBVEhNQVggTUFYUEFUSExFTgojZWxzZQoj
IGRlZmluZSBMVF9QQVRITUFYIDEwMjQKI2VuZGlmCgojaWZuZGVmIFNfSVhP
VEgKIyBkZWZpbmUgU19JWE9USCAwCiNlbmRpZgojaWZuZGVmIFNfSVhHUlAK
IyBkZWZpbmUgU19JWEdSUCAwCiNlbmRpZgoKLyogcGF0aCBoYW5kbGluZyBw
b3J0YWJpbGl0eSBtYWNyb3MgKi8KI2lmbmRlZiBESVJfU0VQQVJBVE9SCiMg
ZGVmaW5lIERJUl9TRVBBUkFUT1IgJy8nCiMgZGVmaW5lIFBBVEhfU0VQQVJB
VE9SICc6JwojZW5kaWYKCiNpZiBkZWZpbmVkIChfV0lOMzIpIHx8IGRlZmlu
ZWQgKF9fTVNET1NfXykgfHwgZGVmaW5lZCAoX19ESkdQUF9fKSB8fCBcCiAg
ZGVmaW5lZCAoX19PUzJfXykKIyBkZWZpbmUgSEFWRV9ET1NfQkFTRURfRklM
RV9TWVNURU0KIyBkZWZpbmUgRk9QRU5fV0IgIndiIgojIGlmbmRlZiBESVJf
U0VQQVJBVE9SXzIKIyAgZGVmaW5lIERJUl9TRVBBUkFUT1JfMiAnXFwnCiMg
ZW5kaWYKIyBpZm5kZWYgUEFUSF9TRVBBUkFUT1JfMgojICBkZWZpbmUgUEFU
SF9TRVBBUkFUT1JfMiAnOycKIyBlbmRpZgojZW5kaWYKCiNpZm5kZWYgRElS
X1NFUEFSQVRPUl8yCiMgZGVmaW5lIElTX0RJUl9TRVBBUkFUT1IoY2gpICgo
Y2gpID09IERJUl9TRVBBUkFUT1IpCiNlbHNlIC8qIERJUl9TRVBBUkFUT1Jf
MiAqLwojIGRlZmluZSBJU19ESVJfU0VQQVJBVE9SKGNoKSBcCgkoKChjaCkg
PT0gRElSX1NFUEFSQVRPUikgfHwgKChjaCkgPT0gRElSX1NFUEFSQVRPUl8y
KSkKI2VuZGlmIC8qIERJUl9TRVBBUkFUT1JfMiAqLwoKI2lmbmRlZiBQQVRI
X1NFUEFSQVRPUl8yCiMgZGVmaW5lIElTX1BBVEhfU0VQQVJBVE9SKGNoKSAo
KGNoKSA9PSBQQVRIX1NFUEFSQVRPUikKI2Vsc2UgLyogUEFUSF9TRVBBUkFU
T1JfMiAqLwojIGRlZmluZSBJU19QQVRIX1NFUEFSQVRPUihjaCkgKChjaCkg
PT0gUEFUSF9TRVBBUkFUT1JfMikKI2VuZGlmIC8qIFBBVEhfU0VQQVJBVE9S
XzIgKi8KCiNpZm5kZWYgRk9QRU5fV0IKIyBkZWZpbmUgRk9QRU5fV0IgInci
CiNlbmRpZgojaWZuZGVmIF9PX0JJTkFSWQojIGRlZmluZSBfT19CSU5BUlkg
MAojZW5kaWYKCiNkZWZpbmUgWE1BTExPQyh0eXBlLCBudW0pICAgICAgKCh0
eXBlICopIHhtYWxsb2MgKChudW0pICogc2l6ZW9mKHR5cGUpKSkKI2RlZmlu
ZSBYRlJFRShzdGFsZSkgZG8geyBcCiAgaWYgKHN0YWxlKSB7IGZyZWUgKCh2
b2lkICopIHN0YWxlKTsgc3RhbGUgPSAwOyB9IFwKfSB3aGlsZSAoMCkKCiNp
ZiBkZWZpbmVkKExUX0RFQlVHV1JBUFBFUikKc3RhdGljIGludCBsdF9kZWJ1
ZyA9IDE7CiNlbHNlCnN0YXRpYyBpbnQgbHRfZGVidWcgPSAwOwojZW5kaWYK
CmNvbnN0IGNoYXIgKnByb2dyYW1fbmFtZSA9ICJsaWJ0b29sLXdyYXBwZXIi
OyAvKiBpbiBjYXNlIHhzdHJkdXAgZmFpbHMgKi8KCnZvaWQgKnhtYWxsb2Mg
KHNpemVfdCBudW0pOwpjaGFyICp4c3RyZHVwIChjb25zdCBjaGFyICpzdHJp
bmcpOwpjb25zdCBjaGFyICpiYXNlX25hbWUgKGNvbnN0IGNoYXIgKm5hbWUp
OwpjaGFyICpmaW5kX2V4ZWN1dGFibGUgKGNvbnN0IGNoYXIgKndyYXBwZXIp
OwpjaGFyICpjaGFzZV9zeW1saW5rcyAoY29uc3QgY2hhciAqcGF0aHNwZWMp
OwppbnQgbWFrZV9leGVjdXRhYmxlIChjb25zdCBjaGFyICpwYXRoKTsKaW50
IGNoZWNrX2V4ZWN1dGFibGUgKGNvbnN0IGNoYXIgKnBhdGgpOwpjaGFyICpz
dHJlbmR6YXAgKGNoYXIgKnN0ciwgY29uc3QgY2hhciAqcGF0KTsKdm9pZCBs
dF9kZWJ1Z3ByaW50ZiAoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNv
bnN0IGNoYXIgKmZtdCwgLi4uKTsKdm9pZCBsdF9mYXRhbCAoY29uc3QgY2hh
ciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKm1lc3NhZ2UsIC4uLik7
CnN0YXRpYyBjb25zdCBjaGFyICpub25udWxsIChjb25zdCBjaGFyICpzKTsK
c3RhdGljIGNvbnN0IGNoYXIgKm5vbmVtcHR5IChjb25zdCBjaGFyICpzKTsK
dm9pZCBsdF9zZXRlbnYgKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIg
KnZhbHVlKTsKY2hhciAqbHRfZXh0ZW5kX3N0ciAoY29uc3QgY2hhciAqb3Jp
Z192YWx1ZSwgY29uc3QgY2hhciAqYWRkLCBpbnQgdG9fZW5kKTsKdm9pZCBs
dF91cGRhdGVfZXhlX3BhdGggKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNo
YXIgKnZhbHVlKTsKdm9pZCBsdF91cGRhdGVfbGliX3BhdGggKGNvbnN0IGNo
YXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKTsKY2hhciAqKnByZXBhcmVf
c3Bhd24gKGNoYXIgKiphcmd2KTsKdm9pZCBsdF9kdW1wX3NjcmlwdCAoRklM
RSAqZik7CkVPRgoKCSAgICBjYXQgPDxFT0YKdm9sYXRpbGUgY29uc3QgY2hh
ciAqIE1BR0lDX0VYRSA9ICIkbWFnaWNfZXhlIjsKY29uc3QgY2hhciAqIExJ
Ql9QQVRIX1ZBUk5BTUUgPSAiJHNobGlicGF0aF92YXIiOwpFT0YKCgkgICAg
aWYgdGVzdCAiJHNobGlicGF0aF9vdmVycmlkZXNfcnVucGF0aCIgPSB5ZXMg
JiYgdGVzdCAtbiAiJHNobGlicGF0aF92YXIiICYmIHRlc3QgLW4gIiR0ZW1w
X3JwYXRoIjsgdGhlbgogICAgICAgICAgICAgIGZ1bmNfdG9faG9zdF9wYXRo
ICIkdGVtcF9ycGF0aCIKCSAgICAgIGNhdCA8PEVPRgpjb25zdCBjaGFyICog
TElCX1BBVEhfVkFMVUUgICA9ICIkZnVuY190b19ob3N0X3BhdGhfcmVzdWx0
IjsKRU9GCgkgICAgZWxzZQoJICAgICAgY2F0IDw8IkVPRiIKY29uc3QgY2hh
ciAqIExJQl9QQVRIX1ZBTFVFICAgPSAiIjsKRU9GCgkgICAgZmkKCgkgICAg
aWYgdGVzdCAtbiAiJGRsbHNlYXJjaHBhdGgiOyB0aGVuCiAgICAgICAgICAg
ICAgZnVuY190b19ob3N0X3BhdGggIiRkbGxzZWFyY2hwYXRoOiIKCSAgICAg
IGNhdCA8PEVPRgpjb25zdCBjaGFyICogRVhFX1BBVEhfVkFSTkFNRSA9ICJQ
QVRIIjsKY29uc3QgY2hhciAqIEVYRV9QQVRIX1ZBTFVFICAgPSAiJGZ1bmNf
dG9faG9zdF9wYXRoX3Jlc3VsdCI7CkVPRgoJICAgIGVsc2UKCSAgICAgIGNh
dCA8PCJFT0YiCmNvbnN0IGNoYXIgKiBFWEVfUEFUSF9WQVJOQU1FID0gIiI7
CmNvbnN0IGNoYXIgKiBFWEVfUEFUSF9WQUxVRSAgID0gIiI7CkVPRgoJICAg
IGZpCgoJICAgIGlmIHRlc3QgIiRmYXN0X2luc3RhbGwiID0geWVzOyB0aGVu
CgkgICAgICBjYXQgPDxFT0YKY29uc3QgY2hhciAqIFRBUkdFVF9QUk9HUkFN
X05BTUUgPSAibHQtJG91dHB1dG5hbWUiOyAvKiBob3BlZnVsbHksIG5vIC5l
eGUgKi8KRU9GCgkgICAgZWxzZQoJICAgICAgY2F0IDw8RU9GCmNvbnN0IGNo
YXIgKiBUQVJHRVRfUFJPR1JBTV9OQU1FID0gIiRvdXRwdXRuYW1lIjsgLyog
aG9wZWZ1bGx5LCBubyAuZXhlICovCkVPRgoJICAgIGZpCgoKCSAgICBjYXQg
PDwiRU9GIgoKI2RlZmluZSBMVFdSQVBQRVJfT1BUSU9OX1BSRUZJWCAgICAg
ICAgICItLWx0LSIKCnN0YXRpYyBjb25zdCBjaGFyICpsdHdyYXBwZXJfb3B0
aW9uX3ByZWZpeCA9IExUV1JBUFBFUl9PUFRJT05fUFJFRklYOwpzdGF0aWMg
Y29uc3QgY2hhciAqZHVtcHNjcmlwdF9vcHQgICAgICAgPSBMVFdSQVBQRVJf
T1BUSU9OX1BSRUZJWCAiZHVtcC1zY3JpcHQiOwpzdGF0aWMgY29uc3QgY2hh
ciAqZGVidWdfb3B0ICAgICAgICAgICAgPSBMVFdSQVBQRVJfT1BUSU9OX1BS
RUZJWCAiZGVidWciOwoKaW50Cm1haW4gKGludCBhcmdjLCBjaGFyICphcmd2
W10pCnsKICBjaGFyICoqbmV3YXJnejsKICBpbnQgIG5ld2FyZ2M7CiAgY2hh
ciAqdG1wX3BhdGhzcGVjOwogIGNoYXIgKmFjdHVhbF9jd3JhcHBlcl9wYXRo
OwogIGNoYXIgKmFjdHVhbF9jd3JhcHBlcl9uYW1lOwogIGNoYXIgKnRhcmdl
dF9uYW1lOwogIGNoYXIgKmx0X2FyZ3ZfemVybzsKICBpbnRwdHJfdCBydmFs
ID0gMTI3OwoKICBpbnQgaTsKCiAgcHJvZ3JhbV9uYW1lID0gKGNoYXIgKikg
eHN0cmR1cCAoYmFzZV9uYW1lIChhcmd2WzBdKSk7CiAgbmV3YXJneiA9IFhN
QUxMT0MgKGNoYXIgKiwgYXJnYyArIDEpOwoKICAvKiB2ZXJ5IHNpbXBsZSBh
cmcgcGFyc2luZzsgZG9uJ3Qgd2FudCB0byByZWx5IG9uIGdldG9wdAogICAq
IGFsc28sIGNvcHkgYWxsIG5vbiBjd3JhcHBlciBvcHRpb25zIHRvIG5ld2Fy
Z3osIGV4Y2VwdAogICAqIGFyZ3pbMF0sIHdoaWNoIGlzIGhhbmRsZWQgZGlm
ZmVyZW50bHkKICAgKi8KICBuZXdhcmdjPTA7CiAgZm9yIChpID0gMTsgaSA8
IGFyZ2M7IGkrKykKICAgIHsKICAgICAgaWYgKHN0cmNtcCAoYXJndltpXSwg
ZHVtcHNjcmlwdF9vcHQpID09IDApCgl7CkVPRgoJICAgIGNhc2UgIiRob3N0
IiBpbgoJICAgICAgKm1pbmd3KiB8ICpjeWd3aW4qICkKCQkjIG1ha2Ugc3Rk
b3V0IHVzZSAidW5peCIgbGluZSBlbmRpbmdzCgkJZWNobyAiICAgICAgICAg
IHNldG1vZGUoMSxfT19CSU5BUlkpOyIKCQk7OwoJICAgICAgZXNhYwoKCSAg
ICBjYXQgPDwiRU9GIgoJICBsdF9kdW1wX3NjcmlwdCAoc3Rkb3V0KTsKCSAg
cmV0dXJuIDA7Cgl9CiAgICAgIGlmIChzdHJjbXAgKGFyZ3ZbaV0sIGRlYnVn
X29wdCkgPT0gMCkKCXsKICAgICAgICAgIGx0X2RlYnVnID0gMTsKICAgICAg
ICAgIGNvbnRpbnVlOwoJfQogICAgICBpZiAoc3RyY21wIChhcmd2W2ldLCBs
dHdyYXBwZXJfb3B0aW9uX3ByZWZpeCkgPT0gMCkKICAgICAgICB7CiAgICAg
ICAgICAvKiBob3dldmVyLCBpZiB0aGVyZSBpcyBhbiBvcHRpb24gaW4gdGhl
IExUV1JBUFBFUl9PUFRJT05fUFJFRklYCiAgICAgICAgICAgICBuYW1lc3Bh
Y2UsIGJ1dCBpdCBpcyBub3Qgb25lIG9mIHRoZSBvbmVzIHdlIGtub3cgYWJv
dXQgYW5kCiAgICAgICAgICAgICBoYXZlIGFscmVhZHkgZGVhbHQgd2l0aCwg
YWJvdmUgKGlubHVkaW5nIGR1bXAtc2NyaXB0KSwgdGhlbgogICAgICAgICAg
ICAgcmVwb3J0IGFuIGVycm9yLiBPdGhlcndpc2UsIHRhcmdldHMgbWlnaHQg
YmVnaW4gdG8gYmVsaWV2ZQogICAgICAgICAgICAgdGhleSBhcmUgYWxsb3dl
ZCB0byB1c2Ugb3B0aW9ucyBpbiB0aGUgTFRXUkFQUEVSX09QVElPTl9QUkVG
SVgKICAgICAgICAgICAgIG5hbWVzcGFjZS4gVGhlIGZpcnN0IHRpbWUgYW55
IHVzZXIgY29tcGxhaW5zIGFib3V0IHRoaXMsIHdlJ2xsCiAgICAgICAgICAg
ICBuZWVkIHRvIG1ha2UgTFRXUkFQUEVSX09QVElPTl9QUkVGSVggYSBjb25m
aWd1cmUtdGltZSBvcHRpb24KICAgICAgICAgICAgIG9yIGEgY29uZmlndXJl
LmFjLXNldHRhYmxlIHZhbHVlLgogICAgICAgICAgICovCiAgICAgICAgICBs
dF9mYXRhbCAoX19GSUxFX18sIF9fTElORV9fLAoJCSAgICAidW5yZWNvZ25p
emVkICVzIG9wdGlvbjogJyVzJyIsCiAgICAgICAgICAgICAgICAgICAgbHR3
cmFwcGVyX29wdGlvbl9wcmVmaXgsIGFyZ3ZbaV0pOwogICAgICAgIH0KICAg
ICAgLyogb3RoZXJ3aXNlIC4uLiAqLwogICAgICBuZXdhcmd6WysrbmV3YXJn
Y10gPSB4c3RyZHVwIChhcmd2W2ldKTsKICAgIH0KICBuZXdhcmd6WysrbmV3
YXJnY10gPSBOVUxMOwoKRU9GCgkgICAgY2F0IDw8RU9GCiAgLyogVGhlIEdO
VSBiYW5uZXIgbXVzdCBiZSB0aGUgZmlyc3Qgbm9uLWVycm9yIGRlYnVnIG1l
c3NhZ2UgKi8KICBsdF9kZWJ1Z3ByaW50ZiAoX19GSUxFX18sIF9fTElORV9f
LCAibGlidG9vbCB3cmFwcGVyIChHTlUgJFBBQ0tBR0UkVElNRVNUQU1QKSAk
VkVSU0lPTlxuIik7CkVPRgoJICAgIGNhdCA8PCJFT0YiCiAgbHRfZGVidWdw
cmludGYgKF9fRklMRV9fLCBfX0xJTkVfXywgIihtYWluKSBhcmd2WzBdOiAl
c1xuIiwgYXJndlswXSk7CiAgbHRfZGVidWdwcmludGYgKF9fRklMRV9fLCBf
X0xJTkVfXywgIihtYWluKSBwcm9ncmFtX25hbWU6ICVzXG4iLCBwcm9ncmFt
X25hbWUpOwoKICB0bXBfcGF0aHNwZWMgPSBmaW5kX2V4ZWN1dGFibGUgKGFy
Z3ZbMF0pOwogIGlmICh0bXBfcGF0aHNwZWMgPT0gTlVMTCkKICAgIGx0X2Zh
dGFsIChfX0ZJTEVfXywgX19MSU5FX18sICJjb3VsZG4ndCBmaW5kICVzIiwg
YXJndlswXSk7CiAgbHRfZGVidWdwcmludGYgKF9fRklMRV9fLCBfX0xJTkVf
XywKICAgICAgICAgICAgICAgICAgIihtYWluKSBmb3VuZCBleGUgKGJlZm9y
ZSBzeW1saW5rIGNoYXNlKSBhdDogJXNcbiIsCgkJICB0bXBfcGF0aHNwZWMp
OwoKICBhY3R1YWxfY3dyYXBwZXJfcGF0aCA9IGNoYXNlX3N5bWxpbmtzICh0
bXBfcGF0aHNwZWMpOwogIGx0X2RlYnVncHJpbnRmIChfX0ZJTEVfXywgX19M
SU5FX18sCiAgICAgICAgICAgICAgICAgICIobWFpbikgZm91bmQgZXhlIChh
ZnRlciBzeW1saW5rIGNoYXNlKSBhdDogJXNcbiIsCgkJICBhY3R1YWxfY3dy
YXBwZXJfcGF0aCk7CiAgWEZSRUUgKHRtcF9wYXRoc3BlYyk7CgogIGFjdHVh
bF9jd3JhcHBlcl9uYW1lID0geHN0cmR1cCAoYmFzZV9uYW1lIChhY3R1YWxf
Y3dyYXBwZXJfcGF0aCkpOwogIHN0cmVuZHphcCAoYWN0dWFsX2N3cmFwcGVy
X3BhdGgsIGFjdHVhbF9jd3JhcHBlcl9uYW1lKTsKCiAgLyogd3JhcHBlciBu
YW1lIHRyYW5zZm9ybXMgKi8KICBzdHJlbmR6YXAgKGFjdHVhbF9jd3JhcHBl
cl9uYW1lLCAiLmV4ZSIpOwogIHRtcF9wYXRoc3BlYyA9IGx0X2V4dGVuZF9z
dHIgKGFjdHVhbF9jd3JhcHBlcl9uYW1lLCAiLmV4ZSIsIDEpOwogIFhGUkVF
IChhY3R1YWxfY3dyYXBwZXJfbmFtZSk7CiAgYWN0dWFsX2N3cmFwcGVyX25h
bWUgPSB0bXBfcGF0aHNwZWM7CiAgdG1wX3BhdGhzcGVjID0gMDsKCiAgLyog
dGFyZ2V0X25hbWUgdHJhbnNmb3JtcyAtLSB1c2UgYWN0dWFsIHRhcmdldCBw
cm9ncmFtIG5hbWU7IG1pZ2h0IGhhdmUgbHQtIHByZWZpeCAqLwogIHRhcmdl
dF9uYW1lID0geHN0cmR1cCAoYmFzZV9uYW1lIChUQVJHRVRfUFJPR1JBTV9O
QU1FKSk7CiAgc3RyZW5kemFwICh0YXJnZXRfbmFtZSwgIi5leGUiKTsKICB0
bXBfcGF0aHNwZWMgPSBsdF9leHRlbmRfc3RyICh0YXJnZXRfbmFtZSwgIi5l
eGUiLCAxKTsKICBYRlJFRSAodGFyZ2V0X25hbWUpOwogIHRhcmdldF9uYW1l
ID0gdG1wX3BhdGhzcGVjOwogIHRtcF9wYXRoc3BlYyA9IDA7CgogIGx0X2Rl
YnVncHJpbnRmIChfX0ZJTEVfXywgX19MSU5FX18sCgkJICAiKG1haW4pIGxp
YnRvb2wgdGFyZ2V0IG5hbWU6ICVzXG4iLAoJCSAgdGFyZ2V0X25hbWUpOwpF
T0YKCgkgICAgY2F0IDw8RU9GCiAgbmV3YXJnelswXSA9CiAgICBYTUFMTE9D
IChjaGFyLCAoc3RybGVuIChhY3R1YWxfY3dyYXBwZXJfcGF0aCkgKwoJCSAg
ICBzdHJsZW4gKCIkb2JqZGlyIikgKyAxICsgc3RybGVuIChhY3R1YWxfY3dy
YXBwZXJfbmFtZSkgKyAxKSk7CiAgc3RyY3B5IChuZXdhcmd6WzBdLCBhY3R1
YWxfY3dyYXBwZXJfcGF0aCk7CiAgc3RyY2F0IChuZXdhcmd6WzBdLCAiJG9i
amRpciIpOwogIHN0cmNhdCAobmV3YXJnelswXSwgIi8iKTsKRU9GCgoJICAg
IGNhdCA8PCJFT0YiCiAgLyogc3RvcCBoZXJlLCBhbmQgY29weSBzbyB3ZSBk
b24ndCBoYXZlIHRvIGRvIHRoaXMgdHdpY2UgKi8KICB0bXBfcGF0aHNwZWMg
PSB4c3RyZHVwIChuZXdhcmd6WzBdKTsKCiAgLyogZG8gTk9UIHdhbnQgdGhl
IGx0LSBwcmVmaXggaGVyZSwgc28gdXNlIGFjdHVhbF9jd3JhcHBlcl9uYW1l
ICovCiAgc3RyY2F0IChuZXdhcmd6WzBdLCBhY3R1YWxfY3dyYXBwZXJfbmFt
ZSk7CgogIC8qIERPIHdhbnQgdGhlIGx0LSBwcmVmaXggaGVyZSBpZiBpdCBl
eGlzdHMsIHNvIHVzZSB0YXJnZXRfbmFtZSAqLwogIGx0X2FyZ3ZfemVybyA9
IGx0X2V4dGVuZF9zdHIgKHRtcF9wYXRoc3BlYywgdGFyZ2V0X25hbWUsIDEp
OwogIFhGUkVFICh0bXBfcGF0aHNwZWMpOwogIHRtcF9wYXRoc3BlYyA9IE5V
TEw7CkVPRgoKCSAgICBjYXNlICRob3N0X29zIGluCgkgICAgICBtaW5ndyop
CgkgICAgY2F0IDw8IkVPRiIKICB7CiAgICBjaGFyKiBwOwogICAgd2hpbGUg
KChwID0gc3RyY2hyIChuZXdhcmd6WzBdLCAnXFwnKSkgIT0gTlVMTCkKICAg
ICAgewoJKnAgPSAnLyc7CiAgICAgIH0KICAgIHdoaWxlICgocCA9IHN0cmNo
ciAobHRfYXJndl96ZXJvLCAnXFwnKSkgIT0gTlVMTCkKICAgICAgewoJKnAg
PSAnLyc7CiAgICAgIH0KICB9CkVPRgoJICAgIDs7CgkgICAgZXNhYwoKCSAg
ICBjYXQgPDwiRU9GIgogIFhGUkVFICh0YXJnZXRfbmFtZSk7CiAgWEZSRUUg
KGFjdHVhbF9jd3JhcHBlcl9wYXRoKTsKICBYRlJFRSAoYWN0dWFsX2N3cmFw
cGVyX25hbWUpOwoKICBsdF9zZXRlbnYgKCJCSU5fU0giLCAieHBnNCIpOyAv
KiBmb3IgVHJ1NjQgKi8KICBsdF9zZXRlbnYgKCJEVUFMQ0FTRSIsICIxIik7
ICAvKiBmb3IgTVNLIHNoICovCiAgLyogVXBkYXRlIHRoZSBETEwgc2VhcmNo
cGF0aC4gIEVYRV9QQVRIX1ZBTFVFICgkZGxsc2VhcmNocGF0aCkgbXVzdAog
ICAgIGJlIHByZXBlbmRlZCBiZWZvcmUgKHRoYXQgaXMsIGFwcGVhciBhZnRl
cikgTElCX1BBVEhfVkFMVUUgKCR0ZW1wX3JwYXRoKQogICAgIGJlY2F1c2Ug
b24gV2luZG93cywgYm90aCAqX1ZBUk5BTUVzIGFyZSBQQVRIIGJ1dCB1bmlu
c3RhbGxlZAogICAgIGxpYnJhcmllcyBtdXN0IGNvbWUgZmlyc3QuICovCiAg
bHRfdXBkYXRlX2V4ZV9wYXRoIChFWEVfUEFUSF9WQVJOQU1FLCBFWEVfUEFU
SF9WQUxVRSk7CiAgbHRfdXBkYXRlX2xpYl9wYXRoIChMSUJfUEFUSF9WQVJO
QU1FLCBMSUJfUEFUSF9WQUxVRSk7CgogIGx0X2RlYnVncHJpbnRmIChfX0ZJ
TEVfXywgX19MSU5FX18sICIobWFpbikgbHRfYXJndl96ZXJvOiAlc1xuIiwK
CQkgIG5vbm51bGwgKGx0X2FyZ3ZfemVybykpOwogIGZvciAoaSA9IDA7IGkg
PCBuZXdhcmdjOyBpKyspCiAgICB7CiAgICAgIGx0X2RlYnVncHJpbnRmIChf
X0ZJTEVfXywgX19MSU5FX18sICIobWFpbikgbmV3YXJnelslZF06ICVzXG4i
LAoJCSAgICAgIGksIG5vbm51bGwgKG5ld2FyZ3pbaV0pKTsKICAgIH0KCkVP
RgoKCSAgICBjYXNlICRob3N0X29zIGluCgkgICAgICBtaW5ndyopCgkJY2F0
IDw8IkVPRiIKICAvKiBleGVjdiBkb2Vzbid0IGFjdHVhbGx5IHdvcmsgb24g
bWluZ3cgYXMgZXhwZWN0ZWQgb24gdW5peCAqLwogIG5ld2FyZ3ogPSBwcmVw
YXJlX3NwYXduIChuZXdhcmd6KTsKICBydmFsID0gX3NwYXdudiAoX1BfV0FJ
VCwgbHRfYXJndl96ZXJvLCAoY29uc3QgY2hhciAqIGNvbnN0ICopIG5ld2Fy
Z3opOwogIGlmIChydmFsID09IC0xKQogICAgewogICAgICAvKiBmYWlsZWQg
dG8gc3RhcnQgcHJvY2VzcyAqLwogICAgICBsdF9kZWJ1Z3ByaW50ZiAoX19G
SUxFX18sIF9fTElORV9fLAoJCSAgICAgICIobWFpbikgZmFpbGVkIHRvIGxh
dW5jaCB0YXJnZXQgXCIlc1wiOiAlc1xuIiwKCQkgICAgICBsdF9hcmd2X3pl
cm8sIG5vbm51bGwgKHN0cmVycm9yIChlcnJubykpKTsKICAgICAgcmV0dXJu
IDEyNzsKICAgIH0KICByZXR1cm4gcnZhbDsKRU9GCgkJOzsKCSAgICAgICop
CgkJY2F0IDw8IkVPRiIKICBleGVjdiAobHRfYXJndl96ZXJvLCBuZXdhcmd6
KTsKICByZXR1cm4gcnZhbDsgLyogPTEyNywgYnV0IGF2b2lkcyB1bnVzZWQg
dmFyaWFibGUgd2FybmluZyAqLwpFT0YKCQk7OwoJICAgIGVzYWMKCgkgICAg
Y2F0IDw8IkVPRiIKfQoKdm9pZCAqCnhtYWxsb2MgKHNpemVfdCBudW0pCnsK
ICB2b2lkICpwID0gKHZvaWQgKikgbWFsbG9jIChudW0pOwogIGlmICghcCkK
ICAgIGx0X2ZhdGFsIChfX0ZJTEVfXywgX19MSU5FX18sICJtZW1vcnkgZXho
YXVzdGVkIik7CgogIHJldHVybiBwOwp9CgpjaGFyICoKeHN0cmR1cCAoY29u
c3QgY2hhciAqc3RyaW5nKQp7CiAgcmV0dXJuIHN0cmluZyA/IHN0cmNweSAo
KGNoYXIgKikgeG1hbGxvYyAoc3RybGVuIChzdHJpbmcpICsgMSksCgkJCSAg
c3RyaW5nKSA6IE5VTEw7Cn0KCmNvbnN0IGNoYXIgKgpiYXNlX25hbWUgKGNv
bnN0IGNoYXIgKm5hbWUpCnsKICBjb25zdCBjaGFyICpiYXNlOwoKI2lmIGRl
ZmluZWQgKEhBVkVfRE9TX0JBU0VEX0ZJTEVfU1lTVEVNKQogIC8qIFNraXAg
b3ZlciB0aGUgZGlzayBuYW1lIGluIE1TRE9TIHBhdGhuYW1lcy4gKi8KICBp
ZiAoaXNhbHBoYSAoKHVuc2lnbmVkIGNoYXIpIG5hbWVbMF0pICYmIG5hbWVb
MV0gPT0gJzonKQogICAgbmFtZSArPSAyOwojZW5kaWYKCiAgZm9yIChiYXNl
ID0gbmFtZTsgKm5hbWU7IG5hbWUrKykKICAgIGlmIChJU19ESVJfU0VQQVJB
VE9SICgqbmFtZSkpCiAgICAgIGJhc2UgPSBuYW1lICsgMTsKICByZXR1cm4g
YmFzZTsKfQoKaW50CmNoZWNrX2V4ZWN1dGFibGUgKGNvbnN0IGNoYXIgKnBh
dGgpCnsKICBzdHJ1Y3Qgc3RhdCBzdDsKCiAgbHRfZGVidWdwcmludGYgKF9f
RklMRV9fLCBfX0xJTkVfXywgIihjaGVja19leGVjdXRhYmxlKTogJXNcbiIs
CiAgICAgICAgICAgICAgICAgIG5vbmVtcHR5IChwYXRoKSk7CiAgaWYgKCgh
cGF0aCkgfHwgKCEqcGF0aCkpCiAgICByZXR1cm4gMDsKCiAgaWYgKChzdGF0
IChwYXRoLCAmc3QpID49IDApCiAgICAgICYmIChzdC5zdF9tb2RlICYgKFNf
SVhVU1IgfCBTX0lYR1JQIHwgU19JWE9USCkpKQogICAgcmV0dXJuIDE7CiAg
ZWxzZQogICAgcmV0dXJuIDA7Cn0KCmludAptYWtlX2V4ZWN1dGFibGUgKGNv
bnN0IGNoYXIgKnBhdGgpCnsKICBpbnQgcnZhbCA9IDA7CiAgc3RydWN0IHN0
YXQgc3Q7CgogIGx0X2RlYnVncHJpbnRmIChfX0ZJTEVfXywgX19MSU5FX18s
ICIobWFrZV9leGVjdXRhYmxlKTogJXNcbiIsCiAgICAgICAgICAgICAgICAg
IG5vbmVtcHR5IChwYXRoKSk7CiAgaWYgKCghcGF0aCkgfHwgKCEqcGF0aCkp
CiAgICByZXR1cm4gMDsKCiAgaWYgKHN0YXQgKHBhdGgsICZzdCkgPj0gMCkK
ICAgIHsKICAgICAgcnZhbCA9IGNobW9kIChwYXRoLCBzdC5zdF9tb2RlIHwg
U19JWE9USCB8IFNfSVhHUlAgfCBTX0lYVVNSKTsKICAgIH0KICByZXR1cm4g
cnZhbDsKfQoKLyogU2VhcmNoZXMgZm9yIHRoZSBmdWxsIHBhdGggb2YgdGhl
IHdyYXBwZXIuICBSZXR1cm5zCiAgIG5ld2x5IGFsbG9jYXRlZCBmdWxsIHBh
dGggbmFtZSBpZiBmb3VuZCwgTlVMTCBvdGhlcndpc2UKICAgRG9lcyBub3Qg
Y2hhc2Ugc3ltbGlua3MsIGV2ZW4gb24gcGxhdGZvcm1zIHRoYXQgc3VwcG9y
dCB0aGVtLgoqLwpjaGFyICoKZmluZF9leGVjdXRhYmxlIChjb25zdCBjaGFy
ICp3cmFwcGVyKQp7CiAgaW50IGhhc19zbGFzaCA9IDA7CiAgY29uc3QgY2hh
ciAqcDsKICBjb25zdCBjaGFyICpwX25leHQ7CiAgLyogc3RhdGljIGJ1ZmZl
ciBmb3IgZ2V0Y3dkICovCiAgY2hhciB0bXBbTFRfUEFUSE1BWCArIDFdOwog
IGludCB0bXBfbGVuOwogIGNoYXIgKmNvbmNhdF9uYW1lOwoKICBsdF9kZWJ1
Z3ByaW50ZiAoX19GSUxFX18sIF9fTElORV9fLCAiKGZpbmRfZXhlY3V0YWJs
ZSk6ICVzXG4iLAogICAgICAgICAgICAgICAgICBub25lbXB0eSAod3JhcHBl
cikpOwoKICBpZiAoKHdyYXBwZXIgPT0gTlVMTCkgfHwgKCp3cmFwcGVyID09
ICdcMCcpKQogICAgcmV0dXJuIE5VTEw7CgogIC8qIEFic29sdXRlIHBhdGg/
ICovCiNpZiBkZWZpbmVkIChIQVZFX0RPU19CQVNFRF9GSUxFX1NZU1RFTSkK
ICBpZiAoaXNhbHBoYSAoKHVuc2lnbmVkIGNoYXIpIHdyYXBwZXJbMF0pICYm
IHdyYXBwZXJbMV0gPT0gJzonKQogICAgewogICAgICBjb25jYXRfbmFtZSA9
IHhzdHJkdXAgKHdyYXBwZXIpOwogICAgICBpZiAoY2hlY2tfZXhlY3V0YWJs
ZSAoY29uY2F0X25hbWUpKQoJcmV0dXJuIGNvbmNhdF9uYW1lOwogICAgICBY
RlJFRSAoY29uY2F0X25hbWUpOwogICAgfQogIGVsc2UKICAgIHsKI2VuZGlm
CiAgICAgIGlmIChJU19ESVJfU0VQQVJBVE9SICh3cmFwcGVyWzBdKSkKCXsK
CSAgY29uY2F0X25hbWUgPSB4c3RyZHVwICh3cmFwcGVyKTsKCSAgaWYgKGNo
ZWNrX2V4ZWN1dGFibGUgKGNvbmNhdF9uYW1lKSkKCSAgICByZXR1cm4gY29u
Y2F0X25hbWU7CgkgIFhGUkVFIChjb25jYXRfbmFtZSk7Cgl9CiNpZiBkZWZp
bmVkIChIQVZFX0RPU19CQVNFRF9GSUxFX1NZU1RFTSkKICAgIH0KI2VuZGlm
CgogIGZvciAocCA9IHdyYXBwZXI7ICpwOyBwKyspCiAgICBpZiAoKnAgPT0g
Jy8nKQogICAgICB7CgloYXNfc2xhc2ggPSAxOwoJYnJlYWs7CiAgICAgIH0K
ICBpZiAoIWhhc19zbGFzaCkKICAgIHsKICAgICAgLyogbm8gc2xhc2hlczsg
c2VhcmNoIFBBVEggKi8KICAgICAgY29uc3QgY2hhciAqcGF0aCA9IGdldGVu
diAoIlBBVEgiKTsKICAgICAgaWYgKHBhdGggIT0gTlVMTCkKCXsKCSAgZm9y
IChwID0gcGF0aDsgKnA7IHAgPSBwX25leHQpCgkgICAgewoJICAgICAgY29u
c3QgY2hhciAqcTsKCSAgICAgIHNpemVfdCBwX2xlbjsKCSAgICAgIGZvciAo
cSA9IHA7ICpxOyBxKyspCgkJaWYgKElTX1BBVEhfU0VQQVJBVE9SICgqcSkp
CgkJICBicmVhazsKCSAgICAgIHBfbGVuID0gcSAtIHA7CgkgICAgICBwX25l
eHQgPSAoKnEgPT0gJ1wwJyA/IHEgOiBxICsgMSk7CgkgICAgICBpZiAocF9s
ZW4gPT0gMCkKCQl7CgkJICAvKiBlbXB0eSBwYXRoOiBjdXJyZW50IGRpcmVj
dG9yeSAqLwoJCSAgaWYgKGdldGN3ZCAodG1wLCBMVF9QQVRITUFYKSA9PSBO
VUxMKQoJCSAgICBsdF9mYXRhbCAoX19GSUxFX18sIF9fTElORV9fLCAiZ2V0
Y3dkIGZhaWxlZDogJXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBub25udWxsIChzdHJlcnJvciAoZXJybm8pKSk7CgkJICB0bXBfbGVuID0g
c3RybGVuICh0bXApOwoJCSAgY29uY2F0X25hbWUgPQoJCSAgICBYTUFMTE9D
IChjaGFyLCB0bXBfbGVuICsgMSArIHN0cmxlbiAod3JhcHBlcikgKyAxKTsK
CQkgIG1lbWNweSAoY29uY2F0X25hbWUsIHRtcCwgdG1wX2xlbik7CgkJICBj
b25jYXRfbmFtZVt0bXBfbGVuXSA9ICcvJzsKCQkgIHN0cmNweSAoY29uY2F0
X25hbWUgKyB0bXBfbGVuICsgMSwgd3JhcHBlcik7CgkJfQoJICAgICAgZWxz
ZQoJCXsKCQkgIGNvbmNhdF9uYW1lID0KCQkgICAgWE1BTExPQyAoY2hhciwg
cF9sZW4gKyAxICsgc3RybGVuICh3cmFwcGVyKSArIDEpOwoJCSAgbWVtY3B5
IChjb25jYXRfbmFtZSwgcCwgcF9sZW4pOwoJCSAgY29uY2F0X25hbWVbcF9s
ZW5dID0gJy8nOwoJCSAgc3RyY3B5IChjb25jYXRfbmFtZSArIHBfbGVuICsg
MSwgd3JhcHBlcik7CgkJfQoJICAgICAgaWYgKGNoZWNrX2V4ZWN1dGFibGUg
KGNvbmNhdF9uYW1lKSkKCQlyZXR1cm4gY29uY2F0X25hbWU7CgkgICAgICBY
RlJFRSAoY29uY2F0X25hbWUpOwoJICAgIH0KCX0KICAgICAgLyogbm90IGZv
dW5kIGluIFBBVEg7IGFzc3VtZSBjdXJkaXIgKi8KICAgIH0KICAvKiBSZWxh
dGl2ZSBwYXRoIHwgbm90IGZvdW5kIGluIHBhdGg6IHByZXBlbmQgY3dkICov
CiAgaWYgKGdldGN3ZCAodG1wLCBMVF9QQVRITUFYKSA9PSBOVUxMKQogICAg
bHRfZmF0YWwgKF9fRklMRV9fLCBfX0xJTkVfXywgImdldGN3ZCBmYWlsZWQ6
ICVzIiwKICAgICAgICAgICAgICBub25udWxsIChzdHJlcnJvciAoZXJybm8p
KSk7CiAgdG1wX2xlbiA9IHN0cmxlbiAodG1wKTsKICBjb25jYXRfbmFtZSA9
IFhNQUxMT0MgKGNoYXIsIHRtcF9sZW4gKyAxICsgc3RybGVuICh3cmFwcGVy
KSArIDEpOwogIG1lbWNweSAoY29uY2F0X25hbWUsIHRtcCwgdG1wX2xlbik7
CiAgY29uY2F0X25hbWVbdG1wX2xlbl0gPSAnLyc7CiAgc3RyY3B5IChjb25j
YXRfbmFtZSArIHRtcF9sZW4gKyAxLCB3cmFwcGVyKTsKCiAgaWYgKGNoZWNr
X2V4ZWN1dGFibGUgKGNvbmNhdF9uYW1lKSkKICAgIHJldHVybiBjb25jYXRf
bmFtZTsKICBYRlJFRSAoY29uY2F0X25hbWUpOwogIHJldHVybiBOVUxMOwp9
CgpjaGFyICoKY2hhc2Vfc3ltbGlua3MgKGNvbnN0IGNoYXIgKnBhdGhzcGVj
KQp7CiNpZm5kZWYgU19JU0xOSwogIHJldHVybiB4c3RyZHVwIChwYXRoc3Bl
Yyk7CiNlbHNlCiAgY2hhciBidWZbTFRfUEFUSE1BWF07CiAgc3RydWN0IHN0
YXQgczsKICBjaGFyICp0bXBfcGF0aHNwZWMgPSB4c3RyZHVwIChwYXRoc3Bl
Yyk7CiAgY2hhciAqcDsKICBpbnQgaGFzX3N5bWxpbmtzID0gMDsKICB3aGls
ZSAoc3RybGVuICh0bXBfcGF0aHNwZWMpICYmICFoYXNfc3ltbGlua3MpCiAg
ICB7CiAgICAgIGx0X2RlYnVncHJpbnRmIChfX0ZJTEVfXywgX19MSU5FX18s
CgkJICAgICAgImNoZWNraW5nIHBhdGggY29tcG9uZW50IGZvciBzeW1saW5r
czogJXNcbiIsCgkJICAgICAgdG1wX3BhdGhzcGVjKTsKICAgICAgaWYgKGxz
dGF0ICh0bXBfcGF0aHNwZWMsICZzKSA9PSAwKQoJewoJICBpZiAoU19JU0xO
SyAocy5zdF9tb2RlKSAhPSAwKQoJICAgIHsKCSAgICAgIGhhc19zeW1saW5r
cyA9IDE7CgkgICAgICBicmVhazsKCSAgICB9CgoJICAvKiBzZWFyY2ggYmFj
a3dhcmRzIGZvciBsYXN0IERJUl9TRVBBUkFUT1IgKi8KCSAgcCA9IHRtcF9w
YXRoc3BlYyArIHN0cmxlbiAodG1wX3BhdGhzcGVjKSAtIDE7CgkgIHdoaWxl
ICgocCA+IHRtcF9wYXRoc3BlYykgJiYgKCFJU19ESVJfU0VQQVJBVE9SICgq
cCkpKQoJICAgIHAtLTsKCSAgaWYgKChwID09IHRtcF9wYXRoc3BlYykgJiYg
KCFJU19ESVJfU0VQQVJBVE9SICgqcCkpKQoJICAgIHsKCSAgICAgIC8qIG5v
IG1vcmUgRElSX1NFUEFSQVRPUlMgbGVmdCAqLwoJICAgICAgYnJlYWs7Cgkg
ICAgfQoJICAqcCA9ICdcMCc7Cgl9CiAgICAgIGVsc2UKCXsKCSAgbHRfZmF0
YWwgKF9fRklMRV9fLCBfX0xJTkVfXywKCQkgICAgImVycm9yIGFjY2Vzc2lu
ZyBmaWxlIFwiJXNcIjogJXMiLAoJCSAgICB0bXBfcGF0aHNwZWMsIG5vbm51
bGwgKHN0cmVycm9yIChlcnJubykpKTsKCX0KICAgIH0KICBYRlJFRSAodG1w
X3BhdGhzcGVjKTsKCiAgaWYgKCFoYXNfc3ltbGlua3MpCiAgICB7CiAgICAg
IHJldHVybiB4c3RyZHVwIChwYXRoc3BlYyk7CiAgICB9CgogIHRtcF9wYXRo
c3BlYyA9IHJlYWxwYXRoIChwYXRoc3BlYywgYnVmKTsKICBpZiAodG1wX3Bh
dGhzcGVjID09IDApCiAgICB7CiAgICAgIGx0X2ZhdGFsIChfX0ZJTEVfXywg
X19MSU5FX18sCgkJImNvdWxkIG5vdCBmb2xsb3cgc3ltbGlua3MgZm9yICVz
IiwgcGF0aHNwZWMpOwogICAgfQogIHJldHVybiB4c3RyZHVwICh0bXBfcGF0
aHNwZWMpOwojZW5kaWYKfQoKY2hhciAqCnN0cmVuZHphcCAoY2hhciAqc3Ry
LCBjb25zdCBjaGFyICpwYXQpCnsKICBzaXplX3QgbGVuLCBwYXRsZW47Cgog
IGFzc2VydCAoc3RyICE9IE5VTEwpOwogIGFzc2VydCAocGF0ICE9IE5VTEwp
OwoKICBsZW4gPSBzdHJsZW4gKHN0cik7CiAgcGF0bGVuID0gc3RybGVuIChw
YXQpOwoKICBpZiAocGF0bGVuIDw9IGxlbikKICAgIHsKICAgICAgc3RyICs9
IGxlbiAtIHBhdGxlbjsKICAgICAgaWYgKHN0cmNtcCAoc3RyLCBwYXQpID09
IDApCgkqc3RyID0gJ1wwJzsKICAgIH0KICByZXR1cm4gc3RyOwp9Cgp2b2lk
Cmx0X2RlYnVncHJpbnRmIChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwg
Y29uc3QgY2hhciAqZm10LCAuLi4pCnsKICB2YV9saXN0IGFyZ3M7CiAgaWYg
KGx0X2RlYnVnKQogICAgewogICAgICAodm9pZCkgZnByaW50ZiAoc3RkZXJy
LCAiJXM6JXM6JWQ6ICIsIHByb2dyYW1fbmFtZSwgZmlsZSwgbGluZSk7CiAg
ICAgIHZhX3N0YXJ0IChhcmdzLCBmbXQpOwogICAgICAodm9pZCkgdmZwcmlu
dGYgKHN0ZGVyciwgZm10LCBhcmdzKTsKICAgICAgdmFfZW5kIChhcmdzKTsK
ICAgIH0KfQoKc3RhdGljIHZvaWQKbHRfZXJyb3JfY29yZSAoaW50IGV4aXRf
c3RhdHVzLCBjb25zdCBjaGFyICpmaWxlLAoJICAgICAgIGludCBsaW5lLCBj
b25zdCBjaGFyICptb2RlLAoJICAgICAgIGNvbnN0IGNoYXIgKm1lc3NhZ2Us
IHZhX2xpc3QgYXApCnsKICBmcHJpbnRmIChzdGRlcnIsICIlczolczolZDog
JXM6ICIsIHByb2dyYW1fbmFtZSwgZmlsZSwgbGluZSwgbW9kZSk7CiAgdmZw
cmludGYgKHN0ZGVyciwgbWVzc2FnZSwgYXApOwogIGZwcmludGYgKHN0ZGVy
ciwgIi5cbiIpOwoKICBpZiAoZXhpdF9zdGF0dXMgPj0gMCkKICAgIGV4aXQg
KGV4aXRfc3RhdHVzKTsKfQoKdm9pZApsdF9mYXRhbCAoY29uc3QgY2hhciAq
ZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKm1lc3NhZ2UsIC4uLikKewog
IHZhX2xpc3QgYXA7CiAgdmFfc3RhcnQgKGFwLCBtZXNzYWdlKTsKICBsdF9l
cnJvcl9jb3JlIChFWElUX0ZBSUxVUkUsIGZpbGUsIGxpbmUsICJGQVRBTCIs
IG1lc3NhZ2UsIGFwKTsKICB2YV9lbmQgKGFwKTsKfQoKc3RhdGljIGNvbnN0
IGNoYXIgKgpub25udWxsIChjb25zdCBjaGFyICpzKQp7CiAgcmV0dXJuIHMg
PyBzIDogIihudWxsKSI7Cn0KCnN0YXRpYyBjb25zdCBjaGFyICoKbm9uZW1w
dHkgKGNvbnN0IGNoYXIgKnMpCnsKICByZXR1cm4gKHMgJiYgISpzKSA/ICIo
ZW1wdHkpIiA6IG5vbm51bGwgKHMpOwp9Cgp2b2lkCmx0X3NldGVudiAoY29u
c3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUpCnsKICBsdF9kZWJ1
Z3ByaW50ZiAoX19GSUxFX18sIF9fTElORV9fLAoJCSAgIihsdF9zZXRlbnYp
IHNldHRpbmcgJyVzJyB0byAnJXMnXG4iLAogICAgICAgICAgICAgICAgICBu
b25udWxsIChuYW1lKSwgbm9ubnVsbCAodmFsdWUpKTsKICB7CiNpZmRlZiBI
QVZFX1NFVEVOVgogICAgLyogYWx3YXlzIG1ha2UgYSBjb3B5LCBmb3IgY29u
c2lzdGVuY3kgd2l0aCAhSEFWRV9TRVRFTlYgKi8KICAgIGNoYXIgKnN0ciA9
IHhzdHJkdXAgKHZhbHVlKTsKICAgIHNldGVudiAobmFtZSwgc3RyLCAxKTsK
I2Vsc2UKICAgIGludCBsZW4gPSBzdHJsZW4gKG5hbWUpICsgMSArIHN0cmxl
biAodmFsdWUpICsgMTsKICAgIGNoYXIgKnN0ciA9IFhNQUxMT0MgKGNoYXIs
IGxlbik7CiAgICBzcHJpbnRmIChzdHIsICIlcz0lcyIsIG5hbWUsIHZhbHVl
KTsKICAgIGlmIChwdXRlbnYgKHN0cikgIT0gRVhJVF9TVUNDRVNTKQogICAg
ICB7CiAgICAgICAgWEZSRUUgKHN0cik7CiAgICAgIH0KI2VuZGlmCiAgfQp9
CgpjaGFyICoKbHRfZXh0ZW5kX3N0ciAoY29uc3QgY2hhciAqb3JpZ192YWx1
ZSwgY29uc3QgY2hhciAqYWRkLCBpbnQgdG9fZW5kKQp7CiAgY2hhciAqbmV3
X3ZhbHVlOwogIGlmIChvcmlnX3ZhbHVlICYmICpvcmlnX3ZhbHVlKQogICAg
ewogICAgICBpbnQgb3JpZ192YWx1ZV9sZW4gPSBzdHJsZW4gKG9yaWdfdmFs
dWUpOwogICAgICBpbnQgYWRkX2xlbiA9IHN0cmxlbiAoYWRkKTsKICAgICAg
bmV3X3ZhbHVlID0gWE1BTExPQyAoY2hhciwgYWRkX2xlbiArIG9yaWdfdmFs
dWVfbGVuICsgMSk7CiAgICAgIGlmICh0b19lbmQpCiAgICAgICAgewogICAg
ICAgICAgc3RyY3B5IChuZXdfdmFsdWUsIG9yaWdfdmFsdWUpOwogICAgICAg
ICAgc3RyY3B5IChuZXdfdmFsdWUgKyBvcmlnX3ZhbHVlX2xlbiwgYWRkKTsK
ICAgICAgICB9CiAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICBzdHJj
cHkgKG5ld192YWx1ZSwgYWRkKTsKICAgICAgICAgIHN0cmNweSAobmV3X3Zh
bHVlICsgYWRkX2xlbiwgb3JpZ192YWx1ZSk7CiAgICAgICAgfQogICAgfQog
IGVsc2UKICAgIHsKICAgICAgbmV3X3ZhbHVlID0geHN0cmR1cCAoYWRkKTsK
ICAgIH0KICByZXR1cm4gbmV3X3ZhbHVlOwp9Cgp2b2lkCmx0X3VwZGF0ZV9l
eGVfcGF0aCAoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUp
CnsKICBsdF9kZWJ1Z3ByaW50ZiAoX19GSUxFX18sIF9fTElORV9fLAoJCSAg
IihsdF91cGRhdGVfZXhlX3BhdGgpIG1vZGlmeWluZyAnJXMnIGJ5IHByZXBl
bmRpbmcgJyVzJ1xuIiwKICAgICAgICAgICAgICAgICAgbm9ubnVsbCAobmFt
ZSksIG5vbm51bGwgKHZhbHVlKSk7CgogIGlmIChuYW1lICYmICpuYW1lICYm
IHZhbHVlICYmICp2YWx1ZSkKICAgIHsKICAgICAgY2hhciAqbmV3X3ZhbHVl
ID0gbHRfZXh0ZW5kX3N0ciAoZ2V0ZW52IChuYW1lKSwgdmFsdWUsIDApOwog
ICAgICAvKiBzb21lIHN5c3RlbXMgY2FuJ3QgY29wZSB3aXRoIGEgJzonLXRl
cm1pbmF0ZWQgcGF0aCAjJyAqLwogICAgICBpbnQgbGVuID0gc3RybGVuIChu
ZXdfdmFsdWUpOwogICAgICB3aGlsZSAoKChsZW4gPSBzdHJsZW4gKG5ld192
YWx1ZSkpID4gMCkgJiYgSVNfUEFUSF9TRVBBUkFUT1IgKG5ld192YWx1ZVts
ZW4tMV0pKQogICAgICAgIHsKICAgICAgICAgIG5ld192YWx1ZVtsZW4tMV0g
PSAnXDAnOwogICAgICAgIH0KICAgICAgbHRfc2V0ZW52IChuYW1lLCBuZXdf
dmFsdWUpOwogICAgICBYRlJFRSAobmV3X3ZhbHVlKTsKICAgIH0KfQoKdm9p
ZApsdF91cGRhdGVfbGliX3BhdGggKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0
IGNoYXIgKnZhbHVlKQp7CiAgbHRfZGVidWdwcmludGYgKF9fRklMRV9fLCBf
X0xJTkVfXywKCQkgICIobHRfdXBkYXRlX2xpYl9wYXRoKSBtb2RpZnlpbmcg
JyVzJyBieSBwcmVwZW5kaW5nICclcydcbiIsCiAgICAgICAgICAgICAgICAg
IG5vbm51bGwgKG5hbWUpLCBub25udWxsICh2YWx1ZSkpOwoKICBpZiAobmFt
ZSAmJiAqbmFtZSAmJiB2YWx1ZSAmJiAqdmFsdWUpCiAgICB7CiAgICAgIGNo
YXIgKm5ld192YWx1ZSA9IGx0X2V4dGVuZF9zdHIgKGdldGVudiAobmFtZSks
IHZhbHVlLCAwKTsKICAgICAgbHRfc2V0ZW52IChuYW1lLCBuZXdfdmFsdWUp
OwogICAgICBYRlJFRSAobmV3X3ZhbHVlKTsKICAgIH0KfQoKRU9GCgkgICAg
Y2FzZSAkaG9zdF9vcyBpbgoJICAgICAgbWluZ3cqKQoJCWNhdCA8PCJFT0Yi
CgovKiBQcmVwYXJlcyBhbiBhcmd1bWVudCB2ZWN0b3IgYmVmb3JlIGNhbGxp
bmcgc3Bhd24oKS4KICAgTm90ZSB0aGF0IHNwYXduKCkgZG9lcyBub3QgYnkg
aXRzZWxmIGNhbGwgdGhlIGNvbW1hbmQgaW50ZXJwcmV0ZXIKICAgICAoZ2V0
ZW52ICgiQ09NU1BFQyIpICE9IE5VTEwgPyBnZXRlbnYgKCJDT01TUEVDIikg
OgogICAgICAoeyBPU1ZFUlNJT05JTkZPIHY7IHYuZHdPU1ZlcnNpb25JbmZv
U2l6ZSA9IHNpemVvZihPU1ZFUlNJT05JTkZPKTsKICAgICAgICAgR2V0VmVy
c2lvbkV4KCZ2KTsKICAgICAgICAgdi5kd1BsYXRmb3JtSWQgPT0gVkVSX1BM
QVRGT1JNX1dJTjMyX05UOwogICAgICB9KSA/ICJjbWQuZXhlIiA6ICJjb21t
YW5kLmNvbSIpLgogICBJbnN0ZWFkIGl0IHNpbXBseSBjb25jYXRlbmF0ZXMg
dGhlIGFyZ3VtZW50cywgc2VwYXJhdGVkIGJ5ICcgJywgYW5kIGNhbGxzCiAg
IENyZWF0ZVByb2Nlc3MoKS4gIFdlIG11c3QgcXVvdGUgdGhlIGFyZ3VtZW50
cyBzaW5jZSBXaW4zMiBDcmVhdGVQcm9jZXNzKCkKICAgaW50ZXJwcmV0cyBj
aGFyYWN0ZXJzIGxpa2UgJyAnLCAnXHQnLCAnXFwnLCAnIicgKGJ1dCBub3Qg
JzwnIGFuZCAnPicpIGluIGEKICAgc3BlY2lhbCB3YXk6CiAgIC0gU3BhY2Ug
YW5kIHRhYiBhcmUgaW50ZXJwcmV0ZWQgYXMgZGVsaW1pdGVycy4gVGhleSBh
cmUgbm90IHRyZWF0ZWQgYXMKICAgICBkZWxpbWl0ZXJzIGlmIHRoZXkgYXJl
IHN1cnJvdW5kZWQgYnkgZG91YmxlIHF1b3RlczogIi4uLiIuCiAgIC0gVW5l
c2NhcGVkIGRvdWJsZSBxdW90ZXMgYXJlIHJlbW92ZWQgZnJvbSB0aGUgaW5w
dXQuIFRoZWlyIG9ubHkgZWZmZWN0IGlzCiAgICAgdGhhdCB3aXRoaW4gZG91
YmxlIHF1b3Rlcywgc3BhY2UgYW5kIHRhYiBhcmUgdHJlYXRlZCBsaWtlIG5v
cm1hbAogICAgIGNoYXJhY3RlcnMuCiAgIC0gQmFja3NsYXNoZXMgbm90IGZv
bGxvd2VkIGJ5IGRvdWJsZSBxdW90ZXMgYXJlIG5vdCBzcGVjaWFsLgogICAt
IEJ1dCAyKm4rMSBiYWNrc2xhc2hlcyBmb2xsb3dlZCBieSBhIGRvdWJsZSBx
dW90ZSBiZWNvbWUKICAgICBuIGJhY2tzbGFzaGVzIGZvbGxvd2VkIGJ5IGEg
ZG91YmxlIHF1b3RlIChuID49IDApOgogICAgICAgXCIgLT4gIgogICAgICAg
XFxcIiAtPiBcIgogICAgICAgXFxcXFwiIC0+IFxcIgogKi8KI2RlZmluZSBT
SEVMTF9TUEVDSUFMX0NIQVJTICJcIlxcIFwwMDFcMDAyXDAwM1wwMDRcMDA1
XDAwNlwwMDdcMDEwXDAxMVwwMTJcMDEzXDAxNFwwMTVcMDE2XDAxN1wwMjBc
MDIxXDAyMlwwMjNcMDI0XDAyNVwwMjZcMDI3XDAzMFwwMzFcMDMyXDAzM1ww
MzRcMDM1XDAzNlwwMzciCiNkZWZpbmUgU0hFTExfU1BBQ0VfQ0hBUlMgIiBc
MDAxXDAwMlwwMDNcMDA0XDAwNVwwMDZcMDA3XDAxMFwwMTFcMDEyXDAxM1ww
MTRcMDE1XDAxNlwwMTdcMDIwXDAyMVwwMjJcMDIzXDAyNFwwMjVcMDI2XDAy
N1wwMzBcMDMxXDAzMlwwMzNcMDM0XDAzNVwwMzZcMDM3IgpjaGFyICoqCnBy
ZXBhcmVfc3Bhd24gKGNoYXIgKiphcmd2KQp7CiAgc2l6ZV90IGFyZ2M7CiAg
Y2hhciAqKm5ld19hcmd2OwogIHNpemVfdCBpOwoKICAvKiBDb3VudCBudW1i
ZXIgb2YgYXJndW1lbnRzLiAgKi8KICBmb3IgKGFyZ2MgPSAwOyBhcmd2W2Fy
Z2NdICE9IE5VTEw7IGFyZ2MrKykKICAgIDsKCiAgLyogQWxsb2NhdGUgbmV3
IGFyZ3VtZW50IHZlY3Rvci4gICovCiAgbmV3X2FyZ3YgPSBYTUFMTE9DIChj
aGFyICosIGFyZ2MgKyAxKTsKCiAgLyogUHV0IHF1b3RlZCBhcmd1bWVudHMg
aW50byB0aGUgbmV3IGFyZ3VtZW50IHZlY3Rvci4gICovCiAgZm9yIChpID0g
MDsgaSA8IGFyZ2M7IGkrKykKICAgIHsKICAgICAgY29uc3QgY2hhciAqc3Ry
aW5nID0gYXJndltpXTsKCiAgICAgIGlmIChzdHJpbmdbMF0gPT0gJ1wwJykK
CW5ld19hcmd2W2ldID0geHN0cmR1cCAoIlwiXCIiKTsKICAgICAgZWxzZSBp
ZiAoc3RycGJyayAoc3RyaW5nLCBTSEVMTF9TUEVDSUFMX0NIQVJTKSAhPSBO
VUxMKQoJewoJICBpbnQgcXVvdGVfYXJvdW5kID0gKHN0cnBicmsgKHN0cmlu
ZywgU0hFTExfU1BBQ0VfQ0hBUlMpICE9IE5VTEwpOwoJICBzaXplX3QgbGVu
Z3RoOwoJICB1bnNpZ25lZCBpbnQgYmFja3NsYXNoZXM7CgkgIGNvbnN0IGNo
YXIgKnM7CgkgIGNoYXIgKnF1b3RlZF9zdHJpbmc7CgkgIGNoYXIgKnA7CgoJ
ICBsZW5ndGggPSAwOwoJICBiYWNrc2xhc2hlcyA9IDA7CgkgIGlmIChxdW90
ZV9hcm91bmQpCgkgICAgbGVuZ3RoKys7CgkgIGZvciAocyA9IHN0cmluZzsg
KnMgIT0gJ1wwJzsgcysrKQoJICAgIHsKCSAgICAgIGNoYXIgYyA9ICpzOwoJ
ICAgICAgaWYgKGMgPT0gJyInKQoJCWxlbmd0aCArPSBiYWNrc2xhc2hlcyAr
IDE7CgkgICAgICBsZW5ndGgrKzsKCSAgICAgIGlmIChjID09ICdcXCcpCgkJ
YmFja3NsYXNoZXMrKzsKCSAgICAgIGVsc2UKCQliYWNrc2xhc2hlcyA9IDA7
CgkgICAgfQoJICBpZiAocXVvdGVfYXJvdW5kKQoJICAgIGxlbmd0aCArPSBi
YWNrc2xhc2hlcyArIDE7CgoJICBxdW90ZWRfc3RyaW5nID0gWE1BTExPQyAo
Y2hhciwgbGVuZ3RoICsgMSk7CgoJICBwID0gcXVvdGVkX3N0cmluZzsKCSAg
YmFja3NsYXNoZXMgPSAwOwoJICBpZiAocXVvdGVfYXJvdW5kKQoJICAgICpw
KysgPSAnIic7CgkgIGZvciAocyA9IHN0cmluZzsgKnMgIT0gJ1wwJzsgcysr
KQoJICAgIHsKCSAgICAgIGNoYXIgYyA9ICpzOwoJICAgICAgaWYgKGMgPT0g
JyInKQoJCXsKCQkgIHVuc2lnbmVkIGludCBqOwoJCSAgZm9yIChqID0gYmFj
a3NsYXNoZXMgKyAxOyBqID4gMDsgai0tKQoJCSAgICAqcCsrID0gJ1xcJzsK
CQl9CgkgICAgICAqcCsrID0gYzsKCSAgICAgIGlmIChjID09ICdcXCcpCgkJ
YmFja3NsYXNoZXMrKzsKCSAgICAgIGVsc2UKCQliYWNrc2xhc2hlcyA9IDA7
CgkgICAgfQoJICBpZiAocXVvdGVfYXJvdW5kKQoJICAgIHsKCSAgICAgIHVu
c2lnbmVkIGludCBqOwoJICAgICAgZm9yIChqID0gYmFja3NsYXNoZXM7IGog
PiAwOyBqLS0pCgkJKnArKyA9ICdcXCc7CgkgICAgICAqcCsrID0gJyInOwoJ
ICAgIH0KCSAgKnAgPSAnXDAnOwoKCSAgbmV3X2FyZ3ZbaV0gPSBxdW90ZWRf
c3RyaW5nOwoJfQogICAgICBlbHNlCgluZXdfYXJndltpXSA9IChjaGFyICop
IHN0cmluZzsKICAgIH0KICBuZXdfYXJndlthcmdjXSA9IE5VTEw7CgogIHJl
dHVybiBuZXdfYXJndjsKfQpFT0YKCQk7OwoJICAgIGVzYWMKCiAgICAgICAg
ICAgIGNhdCA8PCJFT0YiCnZvaWQgbHRfZHVtcF9zY3JpcHQgKEZJTEUqIGYp
CnsKRU9GCgkgICAgZnVuY19lbWl0X3dyYXBwZXIgeWVzIHwKCSAgICAgICRT
RUQgLW4gLWUgJwpzL15cKC5cezc5XH1cKVwoLi4qXCkvXDFcClwyLwpoCnMv
XChbXFwiXVwpL1xcXDEvZwpzLyQvXFxuLwpzL1woW15cbl0qXCkuKi8gIGZw
dXRzICgiXDEiLCBmKTsvcApnCkQnCiAgICAgICAgICAgIGNhdCA8PCJFT0Yi
Cn0KRU9GCn0KIyBlbmQ6IGZ1bmNfZW1pdF9jd3JhcHBlcmV4ZV9zcmMKCiMg
ZnVuY193aW4zMl9pbXBvcnRfbGliX3AgQVJHCiMgVHJ1ZSBpZiBBUkcgaXMg
YW4gaW1wb3J0IGxpYiwgYXMgaW5kaWNhdGVkIGJ5ICRmaWxlX21hZ2ljX2Nt
ZApmdW5jX3dpbjMyX2ltcG9ydF9saWJfcCAoKQp7CiAgICAkb3B0X2RlYnVn
CiAgICBjYXNlIGBldmFsICRmaWxlX21hZ2ljX2NtZCBcIlwkMVwiIDI+L2Rl
di9udWxsIHwgJFNFRCAtZSAxMHFgIGluCiAgICAqaW1wb3J0KikgOiA7Owog
ICAgKikgZmFsc2UgOzsKICAgIGVzYWMKfQoKIyBmdW5jX21vZGVfbGluayBh
cmcuLi4KZnVuY19tb2RlX2xpbmsgKCkKewogICAgJG9wdF9kZWJ1ZwogICAg
Y2FzZSAkaG9zdCBpbgogICAgKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwg
Ki0qLXB3MzIqIHwgKi0qLW9zMiogfCAqLWNlZ2NjKikKICAgICAgIyBJdCBp
cyBpbXBvc3NpYmxlIHRvIGxpbmsgYSBkbGwgd2l0aG91dCB0aGlzIHNldHRp
bmcsIGFuZAogICAgICAjIHdlIHNob3VsZG4ndCBmb3JjZSB0aGUgbWFrZWZp
bGUgbWFpbnRhaW5lciB0byBmaWd1cmUgb3V0CiAgICAgICMgd2hpY2ggc3lz
dGVtIHdlIGFyZSBjb21waWxpbmcgZm9yIGluIG9yZGVyIHRvIHBhc3MgYW4g
ZXh0cmEKICAgICAgIyBmbGFnIGZvciBldmVyeSBsaWJ0b29sIGludm9jYXRp
b24uCiAgICAgICMgYWxsb3dfdW5kZWZpbmVkPW5vCgogICAgICAjIEZJWE1F
OiBVbmZvcnR1bmF0ZWx5LCB0aGVyZSBhcmUgcHJvYmxlbXMgd2l0aCB0aGUg
YWJvdmUgd2hlbiB0cnlpbmcKICAgICAgIyB0byBtYWtlIGEgZGxsIHdoaWNo
IGhhcyB1bmRlZmluZWQgc3ltYm9scywgaW4gd2hpY2ggY2FzZSBub3QKICAg
ICAgIyBldmVuIGEgc3RhdGljIGxpYnJhcnkgaXMgYnVpbHQuICBGb3Igbm93
LCB3ZSBuZWVkIHRvIHNwZWNpZnkKICAgICAgIyAtbm8tdW5kZWZpbmVkIG9u
IHRoZSBsaWJ0b29sIGxpbmsgbGluZSB3aGVuIHdlIGNhbiBiZSBjZXJ0YWlu
CiAgICAgICMgdGhhdCBhbGwgc3ltYm9scyBhcmUgc2F0aXNmaWVkLCBvdGhl
cndpc2Ugd2UgZ2V0IGEgc3RhdGljIGxpYnJhcnkuCiAgICAgIGFsbG93X3Vu
ZGVmaW5lZD15ZXMKICAgICAgOzsKICAgICopCiAgICAgIGFsbG93X3VuZGVm
aW5lZD15ZXMKICAgICAgOzsKICAgIGVzYWMKICAgIGxpYnRvb2xfYXJncz0k
bm9ub3B0CiAgICBiYXNlX2NvbXBpbGU9IiRub25vcHQgJEAiCiAgICBjb21w
aWxlX2NvbW1hbmQ9JG5vbm9wdAogICAgZmluYWxpemVfY29tbWFuZD0kbm9u
b3B0CgogICAgY29tcGlsZV9ycGF0aD0KICAgIGZpbmFsaXplX3JwYXRoPQog
ICAgY29tcGlsZV9zaGxpYnBhdGg9CiAgICBmaW5hbGl6ZV9zaGxpYnBhdGg9
CiAgICBjb252ZW5pZW5jZT0KICAgIG9sZF9jb252ZW5pZW5jZT0KICAgIGRl
cGxpYnM9CiAgICBvbGRfZGVwbGlicz0KICAgIGNvbXBpbGVyX2ZsYWdzPQog
ICAgbGlua2VyX2ZsYWdzPQogICAgZGxsc2VhcmNocGF0aD0KICAgIGxpYl9z
ZWFyY2hfcGF0aD1gcHdkYAogICAgaW5zdF9wcmVmaXhfZGlyPQogICAgbmV3
X2luaGVyaXRlZF9saW5rZXJfZmxhZ3M9CgogICAgYXZvaWRfdmVyc2lvbj1u
bwogICAgYmluZGlyPQogICAgZGxmaWxlcz0KICAgIGRscHJlZmlsZXM9CiAg
ICBkbHNlbGY9bm8KICAgIGV4cG9ydF9keW5hbWljPW5vCiAgICBleHBvcnRf
c3ltYm9scz0KICAgIGV4cG9ydF9zeW1ib2xzX3JlZ2V4PQogICAgZ2VuZXJh
dGVkPQogICAgbGlib2Jqcz0KICAgIGx0bGlicz0KICAgIG1vZHVsZT1ubwog
ICAgbm9faW5zdGFsbD1ubwogICAgb2Jqcz0KICAgIG5vbl9waWNfb2JqZWN0
cz0KICAgIHByZWNpb3VzX2ZpbGVzX3JlZ2V4PQogICAgcHJlZmVyX3N0YXRp
Y19saWJzPW5vCiAgICBwcmVsb2FkPW5vCiAgICBwcmV2PQogICAgcHJldmFy
Zz0KICAgIHJlbGVhc2U9CiAgICBycGF0aD0KICAgIHhycGF0aD0KICAgIHBl
cm1fcnBhdGg9CiAgICB0ZW1wX3JwYXRoPQogICAgdGhyZWFkX3NhZmU9bm8K
ICAgIHZpbmZvPQogICAgdmluZm9fbnVtYmVyPW5vCiAgICB3ZWFrX2xpYnM9
CiAgICBzaW5nbGVfbW9kdWxlPSIke3dsfS1zaW5nbGVfbW9kdWxlIgogICAg
ZnVuY19pbmZlcl90YWcgJGJhc2VfY29tcGlsZQoKICAgICMgV2UgbmVlZCB0
byBrbm93IC1zdGF0aWMsIHRvIGdldCB0aGUgcmlnaHQgb3V0cHV0IGZpbGVu
YW1lcy4KICAgIGZvciBhcmcKICAgIGRvCiAgICAgIGNhc2UgJGFyZyBpbgog
ICAgICAtc2hhcmVkKQoJdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgIT0g
eWVzICYmIFwKCSAgZnVuY19mYXRhbF9jb25maWd1cmF0aW9uICJjYW4gbm90
IGJ1aWxkIGEgc2hhcmVkIGxpYnJhcnkiCglidWlsZF9vbGRfbGlicz1ubwoJ
YnJlYWsKCTs7CiAgICAgIC1hbGwtc3RhdGljIHwgLXN0YXRpYyB8IC1zdGF0
aWMtbGlidG9vbC1saWJzKQoJY2FzZSAkYXJnIGluCgktYWxsLXN0YXRpYykK
CSAgaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXMgJiYgdGVz
dCAteiAiJGxpbmtfc3RhdGljX2ZsYWciOyB0aGVuCgkgICAgZnVuY193YXJu
aW5nICJjb21wbGV0ZSBzdGF0aWMgbGlua2luZyBpcyBpbXBvc3NpYmxlIGlu
IHRoaXMgY29uZmlndXJhdGlvbiIKCSAgZmkKCSAgaWYgdGVzdCAtbiAiJGxp
bmtfc3RhdGljX2ZsYWciOyB0aGVuCgkgICAgZGxvcGVuX3NlbGY9JGRsb3Bl
bl9zZWxmX3N0YXRpYwoJICBmaQoJICBwcmVmZXJfc3RhdGljX2xpYnM9eWVz
CgkgIDs7Cgktc3RhdGljKQoJICBpZiB0ZXN0IC16ICIkcGljX2ZsYWciICYm
IHRlc3QgLW4gIiRsaW5rX3N0YXRpY19mbGFnIjsgdGhlbgoJICAgIGRsb3Bl
bl9zZWxmPSRkbG9wZW5fc2VsZl9zdGF0aWMKCSAgZmkKCSAgcHJlZmVyX3N0
YXRpY19saWJzPWJ1aWx0CgkgIDs7Cgktc3RhdGljLWxpYnRvb2wtbGlicykK
CSAgaWYgdGVzdCAteiAiJHBpY19mbGFnIiAmJiB0ZXN0IC1uICIkbGlua19z
dGF0aWNfZmxhZyI7IHRoZW4KCSAgICBkbG9wZW5fc2VsZj0kZGxvcGVuX3Nl
bGZfc3RhdGljCgkgIGZpCgkgIHByZWZlcl9zdGF0aWNfbGlicz15ZXMKCSAg
OzsKCWVzYWMKCWJ1aWxkX2xpYnRvb2xfbGlicz1ubwoJYnVpbGRfb2xkX2xp
YnM9eWVzCglicmVhawoJOzsKICAgICAgZXNhYwogICAgZG9uZQoKICAgICMg
U2VlIGlmIG91ciBzaGFyZWQgYXJjaGl2ZXMgZGVwZW5kIG9uIHN0YXRpYyBh
cmNoaXZlcy4KICAgIHRlc3QgLW4gIiRvbGRfYXJjaGl2ZV9mcm9tX25ld19j
bWRzIiAmJiBidWlsZF9vbGRfbGlicz15ZXMKCiAgICAjIEdvIHRocm91Z2gg
dGhlIGFyZ3VtZW50cywgdHJhbnNmb3JtaW5nIHRoZW0gb24gdGhlIHdheS4K
ICAgIHdoaWxlIHRlc3QgIiQjIiAtZ3QgMDsgZG8KICAgICAgYXJnPSIkMSIK
ICAgICAgc2hpZnQKICAgICAgZnVuY19xdW90ZV9mb3JfZXZhbCAiJGFyZyIK
ICAgICAgcWFyZz0kZnVuY19xdW90ZV9mb3JfZXZhbF91bnF1b3RlZF9yZXN1
bHQKICAgICAgbGlidG9vbF9hcmdzKz0iICRmdW5jX3F1b3RlX2Zvcl9ldmFs
X3Jlc3VsdCIKCiAgICAgICMgSWYgdGhlIHByZXZpb3VzIG9wdGlvbiBuZWVk
cyBhbiBhcmd1bWVudCwgYXNzaWduIGl0LgogICAgICBpZiB0ZXN0IC1uICIk
cHJldiI7IHRoZW4KCWNhc2UgJHByZXYgaW4KCW91dHB1dCkKCSAgY29tcGls
ZV9jb21tYW5kKz0iIEBPVVRQVVRAIgoJICBmaW5hbGl6ZV9jb21tYW5kKz0i
IEBPVVRQVVRAIgoJICA7OwoJZXNhYwoKCWNhc2UgJHByZXYgaW4KCWJpbmRp
cikKCSAgYmluZGlyPSIkYXJnIgoJICBwcmV2PQoJICBjb250aW51ZQoJICA7
OwoJZGxmaWxlc3xkbHByZWZpbGVzKQoJICBpZiB0ZXN0ICIkcHJlbG9hZCIg
PSBubzsgdGhlbgoJICAgICMgQWRkIHRoZSBzeW1ib2wgb2JqZWN0IGludG8g
dGhlIGxpbmtpbmcgY29tbWFuZHMuCgkgICAgY29tcGlsZV9jb21tYW5kKz0i
IEBTWU1GSUxFQCIKCSAgICBmaW5hbGl6ZV9jb21tYW5kKz0iIEBTWU1GSUxF
QCIKCSAgICBwcmVsb2FkPXllcwoJICBmaQoJICBjYXNlICRhcmcgaW4KCSAg
Ki5sYSB8ICoubG8pIDs7ICAjIFdlIGhhbmRsZSB0aGVzZSBjYXNlcyBiZWxv
dy4KCSAgZm9yY2UpCgkgICAgaWYgdGVzdCAiJGRsc2VsZiIgPSBubzsgdGhl
bgoJICAgICAgZGxzZWxmPW5lZWRsZXNzCgkgICAgICBleHBvcnRfZHluYW1p
Yz15ZXMKCSAgICBmaQoJICAgIHByZXY9CgkgICAgY29udGludWUKCSAgICA7
OwoJICBzZWxmKQoJICAgIGlmIHRlc3QgIiRwcmV2IiA9IGRscHJlZmlsZXM7
IHRoZW4KCSAgICAgIGRsc2VsZj15ZXMKCSAgICBlbGlmIHRlc3QgIiRwcmV2
IiA9IGRsZmlsZXMgJiYgdGVzdCAiJGRsb3Blbl9zZWxmIiAhPSB5ZXM7IHRo
ZW4KCSAgICAgIGRsc2VsZj15ZXMKCSAgICBlbHNlCgkgICAgICBkbHNlbGY9
bmVlZGxlc3MKCSAgICAgIGV4cG9ydF9keW5hbWljPXllcwoJICAgIGZpCgkg
ICAgcHJldj0KCSAgICBjb250aW51ZQoJICAgIDs7CgkgICopCgkgICAgaWYg
dGVzdCAiJHByZXYiID0gZGxmaWxlczsgdGhlbgoJICAgICAgZGxmaWxlcys9
IiAkYXJnIgoJICAgIGVsc2UKCSAgICAgIGRscHJlZmlsZXMrPSIgJGFyZyIK
CSAgICBmaQoJICAgIHByZXY9CgkgICAgY29udGludWUKCSAgICA7OwoJICBl
c2FjCgkgIDs7CglleHBzeW1zKQoJICBleHBvcnRfc3ltYm9scz0iJGFyZyIK
CSAgdGVzdCAtZiAiJGFyZyIgXAoJICAgIHx8IGZ1bmNfZmF0YWxfZXJyb3Ig
InN5bWJvbCBmaWxlIFxgJGFyZycgZG9lcyBub3QgZXhpc3QiCgkgIHByZXY9
CgkgIGNvbnRpbnVlCgkgIDs7CglleHBzeW1zX3JlZ2V4KQoJICBleHBvcnRf
c3ltYm9sc19yZWdleD0iJGFyZyIKCSAgcHJldj0KCSAgY29udGludWUKCSAg
OzsKCWZyYW1ld29yaykKCSAgY2FzZSAkaG9zdCBpbgoJICAgICotKi1kYXJ3
aW4qKQoJICAgICAgY2FzZSAiJGRlcGxpYnMgIiBpbgoJCSoiICRxYXJnLmx0
ZnJhbWV3b3JrICIqKSA7OwoJCSopIGRlcGxpYnMrPSIgJHFhcmcubHRmcmFt
ZXdvcmsiICMgdGhpcyBpcyBmaXhlZCBsYXRlcgoJCSAgIDs7CgkgICAgICBl
c2FjCgkgICAgICA7OwoJICBlc2FjCgkgIHByZXY9CgkgIGNvbnRpbnVlCgkg
IDs7CglpbnN0X3ByZWZpeCkKCSAgaW5zdF9wcmVmaXhfZGlyPSIkYXJnIgoJ
ICBwcmV2PQoJICBjb250aW51ZQoJICA7OwoJb2JqZWN0bGlzdCkKCSAgaWYg
dGVzdCAtZiAiJGFyZyI7IHRoZW4KCSAgICBzYXZlX2FyZz0kYXJnCgkgICAg
bW9yZWFyZ3M9CgkgICAgZm9yIGZpbCBpbiBgY2F0ICIkc2F2ZV9hcmciYAoJ
ICAgIGRvCiMJICAgICAgbW9yZWFyZ3MrPSIgJGZpbCIKCSAgICAgIGFyZz0k
ZmlsCgkgICAgICAjIEEgbGlidG9vbC1jb250cm9sbGVkIG9iamVjdC4KCgkg
ICAgICAjIENoZWNrIHRvIHNlZSB0aGF0IHRoaXMgcmVhbGx5IGlzIGEgbGli
dG9vbCBvYmplY3QuCgkgICAgICBpZiBmdW5jX2xhbGliX3Vuc2FmZV9wICIk
YXJnIjsgdGhlbgoJCXBpY19vYmplY3Q9CgkJbm9uX3BpY19vYmplY3Q9CgoJ
CSMgUmVhZCB0aGUgLmxvIGZpbGUKCQlmdW5jX3NvdXJjZSAiJGFyZyIKCgkJ
aWYgdGVzdCAteiAiJHBpY19vYmplY3QiIHx8CgkJICAgdGVzdCAteiAiJG5v
bl9waWNfb2JqZWN0IiB8fAoJCSAgIHRlc3QgIiRwaWNfb2JqZWN0IiA9IG5v
bmUgJiYKCQkgICB0ZXN0ICIkbm9uX3BpY19vYmplY3QiID0gbm9uZTsgdGhl
bgoJCSAgZnVuY19mYXRhbF9lcnJvciAiY2Fubm90IGZpbmQgbmFtZSBvZiBv
YmplY3QgZm9yIFxgJGFyZyciCgkJZmkKCgkJIyBFeHRyYWN0IHN1YmRpcmVj
dG9yeSBmcm9tIHRoZSBhcmd1bWVudC4KCQlmdW5jX2Rpcm5hbWUgIiRhcmci
ICIvIiAiIgoJCXhkaXI9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgoKCQlpZiB0
ZXN0ICIkcGljX29iamVjdCIgIT0gbm9uZTsgdGhlbgoJCSAgIyBQcmVwZW5k
IHRoZSBzdWJkaXJlY3RvcnkgdGhlIG9iamVjdCBpcyBmb3VuZCBpbi4KCQkg
IHBpY19vYmplY3Q9IiR4ZGlyJHBpY19vYmplY3QiCgoJCSAgaWYgdGVzdCAi
JHByZXYiID0gZGxmaWxlczsgdGhlbgoJCSAgICBpZiB0ZXN0ICIkYnVpbGRf
bGlidG9vbF9saWJzIiA9IHllcyAmJiB0ZXN0ICIkZGxvcGVuX3N1cHBvcnQi
ID0geWVzOyB0aGVuCgkJICAgICAgZGxmaWxlcys9IiAkcGljX29iamVjdCIK
CQkgICAgICBwcmV2PQoJCSAgICAgIGNvbnRpbnVlCgkJICAgIGVsc2UKCQkg
ICAgICAjIElmIGxpYnRvb2wgb2JqZWN0cyBhcmUgdW5zdXBwb3J0ZWQsIHRo
ZW4gd2UgbmVlZCB0byBwcmVsb2FkLgoJCSAgICAgIHByZXY9ZGxwcmVmaWxl
cwoJCSAgICBmaQoJCSAgZmkKCgkJICAjIENIRUNLIE1FOiAgSSB0aGluayBJ
IGJ1c3RlZCB0aGlzLiAgLU9zc2FtYQoJCSAgaWYgdGVzdCAiJHByZXYiID0g
ZGxwcmVmaWxlczsgdGhlbgoJCSAgICAjIFByZWxvYWQgdGhlIG9sZC1zdHls
ZSBvYmplY3QuCgkJICAgIGRscHJlZmlsZXMrPSIgJHBpY19vYmplY3QiCgkJ
ICAgIHByZXY9CgkJICBmaQoKCQkgICMgQSBQSUMgb2JqZWN0LgoJCSAgbGli
b2Jqcys9IiAkcGljX29iamVjdCIKCQkgIGFyZz0iJHBpY19vYmplY3QiCgkJ
ZmkKCgkJIyBOb24tUElDIG9iamVjdC4KCQlpZiB0ZXN0ICIkbm9uX3BpY19v
YmplY3QiICE9IG5vbmU7IHRoZW4KCQkgICMgUHJlcGVuZCB0aGUgc3ViZGly
ZWN0b3J5IHRoZSBvYmplY3QgaXMgZm91bmQgaW4uCgkJICBub25fcGljX29i
amVjdD0iJHhkaXIkbm9uX3BpY19vYmplY3QiCgoJCSAgIyBBIHN0YW5kYXJk
IG5vbi1QSUMgb2JqZWN0CgkJICBub25fcGljX29iamVjdHMrPSIgJG5vbl9w
aWNfb2JqZWN0IgoJCSAgaWYgdGVzdCAteiAiJHBpY19vYmplY3QiIHx8IHRl
c3QgIiRwaWNfb2JqZWN0IiA9IG5vbmUgOyB0aGVuCgkJICAgIGFyZz0iJG5v
bl9waWNfb2JqZWN0IgoJCSAgZmkKCQllbHNlCgkJICAjIElmIHRoZSBQSUMg
b2JqZWN0IGV4aXN0cywgdXNlIGl0IGluc3RlYWQuCgkJICAjICR4ZGlyIHdh
cyBwcmVwZW5kZWQgdG8gJHBpY19vYmplY3QgYWJvdmUuCgkJICBub25fcGlj
X29iamVjdD0iJHBpY19vYmplY3QiCgkJICBub25fcGljX29iamVjdHMrPSIg
JG5vbl9waWNfb2JqZWN0IgoJCWZpCgkgICAgICBlbHNlCgkJIyBPbmx5IGFu
IGVycm9yIGlmIG5vdCBkb2luZyBhIGRyeS1ydW4uCgkJaWYgJG9wdF9kcnlf
cnVuOyB0aGVuCgkJICAjIEV4dHJhY3Qgc3ViZGlyZWN0b3J5IGZyb20gdGhl
IGFyZ3VtZW50LgoJCSAgZnVuY19kaXJuYW1lICIkYXJnIiAiLyIgIiIKCQkg
IHhkaXI9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgoKCQkgIGZ1bmNfbG8ybyAi
JGFyZyIKCQkgIHBpY19vYmplY3Q9JHhkaXIkb2JqZGlyLyRmdW5jX2xvMm9f
cmVzdWx0CgkJICBub25fcGljX29iamVjdD0keGRpciRmdW5jX2xvMm9fcmVz
dWx0CgkJICBsaWJvYmpzKz0iICRwaWNfb2JqZWN0IgoJCSAgbm9uX3BpY19v
YmplY3RzKz0iICRub25fcGljX29iamVjdCIKCSAgICAgICAgZWxzZQoJCSAg
ZnVuY19mYXRhbF9lcnJvciAiXGAkYXJnJyBpcyBub3QgYSB2YWxpZCBsaWJ0
b29sIG9iamVjdCIKCQlmaQoJICAgICAgZmkKCSAgICBkb25lCgkgIGVsc2UK
CSAgICBmdW5jX2ZhdGFsX2Vycm9yICJsaW5rIGlucHV0IGZpbGUgXGAkYXJn
JyBkb2VzIG5vdCBleGlzdCIKCSAgZmkKCSAgYXJnPSRzYXZlX2FyZwoJICBw
cmV2PQoJICBjb250aW51ZQoJICA7OwoJcHJlY2lvdXNfcmVnZXgpCgkgIHBy
ZWNpb3VzX2ZpbGVzX3JlZ2V4PSIkYXJnIgoJICBwcmV2PQoJICBjb250aW51
ZQoJICA7OwoJcmVsZWFzZSkKCSAgcmVsZWFzZT0iLSRhcmciCgkgIHByZXY9
CgkgIGNvbnRpbnVlCgkgIDs7CglycGF0aCB8IHhycGF0aCkKCSAgIyBXZSBu
ZWVkIGFuIGFic29sdXRlIHBhdGguCgkgIGNhc2UgJGFyZyBpbgoJICBbXFwv
XSogfCBbQS1aYS16XTpbXFwvXSopIDs7CgkgICopCgkgICAgZnVuY19mYXRh
bF9lcnJvciAib25seSBhYnNvbHV0ZSBydW4tcGF0aHMgYXJlIGFsbG93ZWQi
CgkgICAgOzsKCSAgZXNhYwoJICBpZiB0ZXN0ICIkcHJldiIgPSBycGF0aDsg
dGhlbgoJICAgIGNhc2UgIiRycGF0aCAiIGluCgkgICAgKiIgJGFyZyAiKikg
OzsKCSAgICAqKSBycGF0aCs9IiAkYXJnIiA7OwoJICAgIGVzYWMKCSAgZWxz
ZQoJICAgIGNhc2UgIiR4cnBhdGggIiBpbgoJICAgICoiICRhcmcgIiopIDs7
CgkgICAgKikgeHJwYXRoKz0iICRhcmciIDs7CgkgICAgZXNhYwoJICBmaQoJ
ICBwcmV2PQoJICBjb250aW51ZQoJICA7OwoJc2hyZXh0KQoJICBzaHJleHRf
Y21kcz0iJGFyZyIKCSAgcHJldj0KCSAgY29udGludWUKCSAgOzsKCXdlYWsp
CgkgIHdlYWtfbGlicys9IiAkYXJnIgoJICBwcmV2PQoJICBjb250aW51ZQoJ
ICA7OwoJeGNjbGlua2VyKQoJICBsaW5rZXJfZmxhZ3MrPSIgJHFhcmciCgkg
IGNvbXBpbGVyX2ZsYWdzKz0iICRxYXJnIgoJICBwcmV2PQoJICBjb21waWxl
X2NvbW1hbmQrPSIgJHFhcmciCgkgIGZpbmFsaXplX2NvbW1hbmQrPSIgJHFh
cmciCgkgIGNvbnRpbnVlCgkgIDs7Cgl4Y29tcGlsZXIpCgkgIGNvbXBpbGVy
X2ZsYWdzKz0iICRxYXJnIgoJICBwcmV2PQoJICBjb21waWxlX2NvbW1hbmQr
PSIgJHFhcmciCgkgIGZpbmFsaXplX2NvbW1hbmQrPSIgJHFhcmciCgkgIGNv
bnRpbnVlCgkgIDs7Cgl4bGlua2VyKQoJICBsaW5rZXJfZmxhZ3MrPSIgJHFh
cmciCgkgIGNvbXBpbGVyX2ZsYWdzKz0iICR3bCRxYXJnIgoJICBwcmV2PQoJ
ICBjb21waWxlX2NvbW1hbmQrPSIgJHdsJHFhcmciCgkgIGZpbmFsaXplX2Nv
bW1hbmQrPSIgJHdsJHFhcmciCgkgIGNvbnRpbnVlCgkgIDs7CgkqKQoJICBl
dmFsICIkcHJldj1cIlwkYXJnXCIiCgkgIHByZXY9CgkgIGNvbnRpbnVlCgkg
IDs7Cgllc2FjCiAgICAgIGZpICMgdGVzdCAtbiAiJHByZXYiCgogICAgICBw
cmV2YXJnPSIkYXJnIgoKICAgICAgY2FzZSAkYXJnIGluCiAgICAgIC1hbGwt
c3RhdGljKQoJaWYgdGVzdCAtbiAiJGxpbmtfc3RhdGljX2ZsYWciOyB0aGVu
CgkgICMgU2VlIGNvbW1lbnQgZm9yIC1zdGF0aWMgZmxhZyBiZWxvdywgZm9y
IG1vcmUgZGV0YWlscy4KCSAgY29tcGlsZV9jb21tYW5kKz0iICRsaW5rX3N0
YXRpY19mbGFnIgoJICBmaW5hbGl6ZV9jb21tYW5kKz0iICRsaW5rX3N0YXRp
Y19mbGFnIgoJZmkKCWNvbnRpbnVlCgk7OwoKICAgICAgLWFsbG93LXVuZGVm
aW5lZCkKCSMgRklYTUU6IHJlbW92ZSB0aGlzIGZsYWcgc29tZXRpbWUgaW4g
dGhlIGZ1dHVyZS4KCWZ1bmNfZmF0YWxfZXJyb3IgIlxgLWFsbG93LXVuZGVm
aW5lZCcgbXVzdCBub3QgYmUgdXNlZCBiZWNhdXNlIGl0IGlzIHRoZSBkZWZh
dWx0IgoJOzsKCiAgICAgIC1hdm9pZC12ZXJzaW9uKQoJYXZvaWRfdmVyc2lv
bj15ZXMKCWNvbnRpbnVlCgk7OwoKICAgICAgLWJpbmRpcikKCXByZXY9Ymlu
ZGlyCgljb250aW51ZQoJOzsKCiAgICAgIC1kbG9wZW4pCglwcmV2PWRsZmls
ZXMKCWNvbnRpbnVlCgk7OwoKICAgICAgLWRscHJlb3BlbikKCXByZXY9ZGxw
cmVmaWxlcwoJY29udGludWUKCTs7CgogICAgICAtZXhwb3J0LWR5bmFtaWMp
CglleHBvcnRfZHluYW1pYz15ZXMKCWNvbnRpbnVlCgk7OwoKICAgICAgLWV4
cG9ydC1zeW1ib2xzIHwgLWV4cG9ydC1zeW1ib2xzLXJlZ2V4KQoJaWYgdGVz
dCAtbiAiJGV4cG9ydF9zeW1ib2xzIiB8fCB0ZXN0IC1uICIkZXhwb3J0X3N5
bWJvbHNfcmVnZXgiOyB0aGVuCgkgIGZ1bmNfZmF0YWxfZXJyb3IgIm1vcmUg
dGhhbiBvbmUgLWV4cG9ydGVkLXN5bWJvbHMgYXJndW1lbnQgaXMgbm90IGFs
bG93ZWQiCglmaQoJaWYgdGVzdCAiWCRhcmciID0gIlgtZXhwb3J0LXN5bWJv
bHMiOyB0aGVuCgkgIHByZXY9ZXhwc3ltcwoJZWxzZQoJICBwcmV2PWV4cHN5
bXNfcmVnZXgKCWZpCgljb250aW51ZQoJOzsKCiAgICAgIC1mcmFtZXdvcmsp
CglwcmV2PWZyYW1ld29yawoJY29udGludWUKCTs7CgogICAgICAtaW5zdC1w
cmVmaXgtZGlyKQoJcHJldj1pbnN0X3ByZWZpeAoJY29udGludWUKCTs7Cgog
ICAgICAjIFRoZSBuYXRpdmUgSVJJWCBsaW5rZXIgdW5kZXJzdGFuZHMgLUxB
Tkc6KiwgLUxJU1Q6KiBhbmQgLUxOTzoqCiAgICAgICMgc28sIGlmIHdlIHNl
ZSB0aGVzZSBmbGFncyBiZSBjYXJlZnVsIG5vdCB0byB0cmVhdCB0aGVtIGxp
a2UgLUwKICAgICAgLUxbQS1aXVtBLVpdKjoqKQoJY2FzZSAkd2l0aF9nY2Mv
JGhvc3QgaW4KCW5vLyotKi1pcml4KiB8IC8qLSotaXJpeCopCgkgIGNvbXBp
bGVfY29tbWFuZCs9IiAkYXJnIgoJICBmaW5hbGl6ZV9jb21tYW5kKz0iICRh
cmciCgkgIDs7Cgllc2FjCgljb250aW51ZQoJOzsKCiAgICAgIC1MKikKCWZ1
bmNfc3RyaXBuYW1lICItTCIgJycgIiRhcmciCglpZiB0ZXN0IC16ICIkZnVu
Y19zdHJpcG5hbWVfcmVzdWx0IjsgdGhlbgoJICBpZiB0ZXN0ICIkIyIgLWd0
IDA7IHRoZW4KCSAgICBmdW5jX2ZhdGFsX2Vycm9yICJyZXF1aXJlIG5vIHNw
YWNlIGJldHdlZW4gXGAtTCcgYW5kIFxgJDEnIgoJICBlbHNlCgkgICAgZnVu
Y19mYXRhbF9lcnJvciAibmVlZCBwYXRoIGZvciBcYC1MJyBvcHRpb24iCgkg
IGZpCglmaQoJZnVuY19yZXNvbHZlX3N5c3Jvb3QgIiRmdW5jX3N0cmlwbmFt
ZV9yZXN1bHQiCglkaXI9JGZ1bmNfcmVzb2x2ZV9zeXNyb290X3Jlc3VsdAoJ
IyBXZSBuZWVkIGFuIGFic29sdXRlIHBhdGguCgljYXNlICRkaXIgaW4KCVtc
XC9dKiB8IFtBLVphLXpdOltcXC9dKikgOzsKCSopCgkgIGFic2Rpcj1gY2Qg
IiRkaXIiICYmIHB3ZGAKCSAgdGVzdCAteiAiJGFic2RpciIgJiYgXAoJICAg
IGZ1bmNfZmF0YWxfZXJyb3IgImNhbm5vdCBkZXRlcm1pbmUgYWJzb2x1dGUg
ZGlyZWN0b3J5IG5hbWUgb2YgXGAkZGlyJyIKCSAgZGlyPSIkYWJzZGlyIgoJ
ICA7OwoJZXNhYwoJY2FzZSAiJGRlcGxpYnMgIiBpbgoJKiIgLUwkZGlyICIq
IHwgKiIgJGFyZyAiKikKCSAgIyBXaWxsIG9ubHkgaGFwcGVuIGZvciBhYnNv
bHV0ZSBvciBzeXNyb290IGFyZ3VtZW50cwoJICA7OwoJKikKCSAgIyBQcmVz
ZXJ2ZSBzeXNyb290LCBidXQgbmV2ZXIgaW5jbHVkZSByZWxhdGl2ZSBkaXJl
Y3RvcmllcwoJICBjYXNlICRkaXIgaW4KCSAgICBbXFwvXSogfCBbQS1aYS16
XTpbXFwvXSogfCA9KikgZGVwbGlicys9IiAkYXJnIiA7OwoJICAgICopIGRl
cGxpYnMrPSIgLUwkZGlyIiA7OwoJICBlc2FjCgkgIGxpYl9zZWFyY2hfcGF0
aCs9IiAkZGlyIgoJICA7OwoJZXNhYwoJY2FzZSAkaG9zdCBpbgoJKi0qLWN5
Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0qLW9zMiogfCAq
LWNlZ2NjKikKCSAgdGVzdGJpbmRpcj1gJEVDSE8gIiRkaXIiIHwgJFNFRCAn
cyovbGliJCovYmluKidgCgkgIGNhc2UgOiRkbGxzZWFyY2hwYXRoOiBpbgoJ
ICAqIjokZGlyOiIqKSA7OwoJICA6OikgZGxsc2VhcmNocGF0aD0kZGlyOzsK
CSAgKikgZGxsc2VhcmNocGF0aCs9IjokZGlyIjs7CgkgIGVzYWMKCSAgY2Fz
ZSA6JGRsbHNlYXJjaHBhdGg6IGluCgkgICoiOiR0ZXN0YmluZGlyOiIqKSA7
OwoJICA6OikgZGxsc2VhcmNocGF0aD0kdGVzdGJpbmRpcjs7CgkgICopIGRs
bHNlYXJjaHBhdGgrPSI6JHRlc3RiaW5kaXIiOzsKCSAgZXNhYwoJICA7OwoJ
ZXNhYwoJY29udGludWUKCTs7CgogICAgICAtbCopCglpZiB0ZXN0ICJYJGFy
ZyIgPSAiWC1sYyIgfHwgdGVzdCAiWCRhcmciID0gIlgtbG0iOyB0aGVuCgkg
IGNhc2UgJGhvc3QgaW4KCSAgKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwg
Ki0qLXB3MzIqIHwgKi0qLWJlb3MqIHwgKi1jZWdjYyogfCAqLSotaGFpa3Uq
KQoJICAgICMgVGhlc2Ugc3lzdGVtcyBkb24ndCBhY3R1YWxseSBoYXZlIGEg
QyBvciBtYXRoIGxpYnJhcnkgKGFzIHN1Y2gpCgkgICAgY29udGludWUKCSAg
ICA7OwoJICAqLSotb3MyKikKCSAgICAjIFRoZXNlIHN5c3RlbXMgZG9uJ3Qg
YWN0dWFsbHkgaGF2ZSBhIEMgbGlicmFyeSAoYXMgc3VjaCkKCSAgICB0ZXN0
ICJYJGFyZyIgPSAiWC1sYyIgJiYgY29udGludWUKCSAgICA7OwoJICAqLSot
b3BlbmJzZCogfCAqLSotZnJlZWJzZCogfCAqLSotZHJhZ29uZmx5KikKCSAg
ICAjIERvIG5vdCBpbmNsdWRlIGxpYmMgZHVlIHRvIHVzIGhhdmluZyBsaWJj
L2xpYmNfci4KCSAgICB0ZXN0ICJYJGFyZyIgPSAiWC1sYyIgJiYgY29udGlu
dWUKCSAgICA7OwoJICAqLSotcmhhcHNvZHkqIHwgKi0qLWRhcndpbjEuWzAx
Ml0pCgkgICAgIyBSaGFwc29keSBDIGFuZCBtYXRoIGxpYnJhcmllcyBhcmUg
aW4gdGhlIFN5c3RlbSBmcmFtZXdvcmsKCSAgICBkZXBsaWJzKz0iIFN5c3Rl
bS5sdGZyYW1ld29yayIKCSAgICBjb250aW51ZQoJICAgIDs7CgkgICotKi1z
Y28zLjJ2NSogfCAqLSotc2NvNXY2KikKCSAgICAjIENhdXNlcyBwcm9ibGVt
cyB3aXRoIF9fY3R5cGUKCSAgICB0ZXN0ICJYJGFyZyIgPSAiWC1sYyIgJiYg
Y29udGludWUKCSAgICA7OwoJICAqLSotc3lzdjQuMnV3MiogfCAqLSotc3lz
djUqIHwgKi0qLXVuaXh3YXJlKiB8ICotKi1PcGVuVU5JWCopCgkgICAgIyBD
b21waWxlciBpbnNlcnRzIGxpYmMgaW4gdGhlIGNvcnJlY3QgcGxhY2UgZm9y
IHRocmVhZHMgdG8gd29yawoJICAgIHRlc3QgIlgkYXJnIiA9ICJYLWxjIiAm
JiBjb250aW51ZQoJICAgIDs7CgkgIGVzYWMKCWVsaWYgdGVzdCAiWCRhcmci
ID0gIlgtbGNfciI7IHRoZW4KCSBjYXNlICRob3N0IGluCgkgKi0qLW9wZW5i
c2QqIHwgKi0qLWZyZWVic2QqIHwgKi0qLWRyYWdvbmZseSopCgkgICAjIERv
IG5vdCBpbmNsdWRlIGxpYmNfciBkaXJlY3RseSwgdXNlIC1wdGhyZWFkIGZs
YWcuCgkgICBjb250aW51ZQoJICAgOzsKCSBlc2FjCglmaQoJZGVwbGlicys9
IiAkYXJnIgoJY29udGludWUKCTs7CgogICAgICAtbW9kdWxlKQoJbW9kdWxl
PXllcwoJY29udGludWUKCTs7CgogICAgICAjIFRydTY0IFVOSVggdXNlcyAt
bW9kZWwgW2FyZ10gdG8gZGV0ZXJtaW5lIHRoZSBsYXlvdXQgb2YgQysrCiAg
ICAgICMgY2xhc3NlcywgbmFtZSBtYW5nbGluZywgYW5kIGV4Y2VwdGlvbiBo
YW5kbGluZy4KICAgICAgIyBEYXJ3aW4gdXNlcyB0aGUgLWFyY2ggZmxhZyB0
byBkZXRlcm1pbmUgb3V0cHV0IGFyY2hpdGVjdHVyZS4KICAgICAgLW1vZGVs
fC1hcmNofC1pc3lzcm9vdHwtLXN5c3Jvb3QpCgljb21waWxlcl9mbGFncys9
IiAkYXJnIgoJY29tcGlsZV9jb21tYW5kKz0iICRhcmciCglmaW5hbGl6ZV9j
b21tYW5kKz0iICRhcmciCglwcmV2PXhjb21waWxlcgoJY29udGludWUKCTs7
CgogICAgICAtbXR8LW10aHJlYWRzfC1rdGhyZWFkfC1LdGhyZWFkfC1wdGhy
ZWFkfC1wdGhyZWFkc3wtLXRocmVhZC1zYWZlIFwKICAgICAgfC10aHJlYWRz
fC1mb3Blbm1wfC1vcGVubXB8LW1wfC14b3Blbm1wfC1vbXB8LXFzbXA9KikK
CWNvbXBpbGVyX2ZsYWdzKz0iICRhcmciCgljb21waWxlX2NvbW1hbmQrPSIg
JGFyZyIKCWZpbmFsaXplX2NvbW1hbmQrPSIgJGFyZyIKCWNhc2UgIiRuZXdf
aW5oZXJpdGVkX2xpbmtlcl9mbGFncyAiIGluCgkgICAgKiIgJGFyZyAiKikg
OzsKCSAgICAqICkgbmV3X2luaGVyaXRlZF9saW5rZXJfZmxhZ3MrPSIgJGFy
ZyIgOzsKCWVzYWMKCWNvbnRpbnVlCgk7OwoKICAgICAgLW11bHRpX21vZHVs
ZSkKCXNpbmdsZV9tb2R1bGU9IiR7d2x9LW11bHRpX21vZHVsZSIKCWNvbnRp
bnVlCgk7OwoKICAgICAgLW5vLWZhc3QtaW5zdGFsbCkKCWZhc3RfaW5zdGFs
bD1ubwoJY29udGludWUKCTs7CgogICAgICAtbm8taW5zdGFsbCkKCWNhc2Ug
JGhvc3QgaW4KCSotKi1jeWd3aW4qIHwgKi0qLW1pbmd3KiB8ICotKi1wdzMy
KiB8ICotKi1vczIqIHwgKi0qLWRhcndpbiogfCAqLWNlZ2NjKikKCSAgIyBU
aGUgUEFUSCBoYWNrZXJ5IGluIHdyYXBwZXIgc2NyaXB0cyBpcyByZXF1aXJl
ZCBvbiBXaW5kb3dzCgkgICMgYW5kIERhcndpbiBpbiBvcmRlciBmb3IgdGhl
IGxvYWRlciB0byBmaW5kIGFueSBkbGxzIGl0IG5lZWRzLgoJICBmdW5jX3dh
cm5pbmcgIlxgLW5vLWluc3RhbGwnIGlzIGlnbm9yZWQgZm9yICRob3N0IgoJ
ICBmdW5jX3dhcm5pbmcgImFzc3VtaW5nIFxgLW5vLWZhc3QtaW5zdGFsbCcg
aW5zdGVhZCIKCSAgZmFzdF9pbnN0YWxsPW5vCgkgIDs7CgkqKSBub19pbnN0
YWxsPXllcyA7OwoJZXNhYwoJY29udGludWUKCTs7CgogICAgICAtbm8tdW5k
ZWZpbmVkKQoJYWxsb3dfdW5kZWZpbmVkPW5vCgljb250aW51ZQoJOzsKCiAg
ICAgIC1vYmplY3RsaXN0KQoJcHJldj1vYmplY3RsaXN0Cgljb250aW51ZQoJ
OzsKCiAgICAgIC1vKSBwcmV2PW91dHB1dCA7OwoKICAgICAgLXByZWNpb3Vz
LWZpbGVzLXJlZ2V4KQoJcHJldj1wcmVjaW91c19yZWdleAoJY29udGludWUK
CTs7CgogICAgICAtcmVsZWFzZSkKCXByZXY9cmVsZWFzZQoJY29udGludWUK
CTs7CgogICAgICAtcnBhdGgpCglwcmV2PXJwYXRoCgljb250aW51ZQoJOzsK
CiAgICAgIC1SKQoJcHJldj14cnBhdGgKCWNvbnRpbnVlCgk7OwoKICAgICAg
LVIqKQoJZnVuY19zdHJpcG5hbWUgJy1SJyAnJyAiJGFyZyIKCWRpcj0kZnVu
Y19zdHJpcG5hbWVfcmVzdWx0CgkjIFdlIG5lZWQgYW4gYWJzb2x1dGUgcGF0
aC4KCWNhc2UgJGRpciBpbgoJW1xcL10qIHwgW0EtWmEtel06W1xcL10qKSA7
OwoJPSopCgkgIGZ1bmNfc3RyaXBuYW1lICc9JyAnJyAiJGRpciIKCSAgZGly
PSRsdF9zeXNyb290JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAoJICA7OwoJKikK
CSAgZnVuY19mYXRhbF9lcnJvciAib25seSBhYnNvbHV0ZSBydW4tcGF0aHMg
YXJlIGFsbG93ZWQiCgkgIDs7Cgllc2FjCgljYXNlICIkeHJwYXRoICIgaW4K
CSoiICRkaXIgIiopIDs7CgkqKSB4cnBhdGgrPSIgJGRpciIgOzsKCWVzYWMK
CWNvbnRpbnVlCgk7OwoKICAgICAgLXNoYXJlZCkKCSMgVGhlIGVmZmVjdHMg
b2YgLXNoYXJlZCBhcmUgZGVmaW5lZCBpbiBhIHByZXZpb3VzIGxvb3AuCglj
b250aW51ZQoJOzsKCiAgICAgIC1zaHJleHQpCglwcmV2PXNocmV4dAoJY29u
dGludWUKCTs7CgogICAgICAtc3RhdGljIHwgLXN0YXRpYy1saWJ0b29sLWxp
YnMpCgkjIFRoZSBlZmZlY3RzIG9mIC1zdGF0aWMgYXJlIGRlZmluZWQgaW4g
YSBwcmV2aW91cyBsb29wLgoJIyBXZSB1c2VkIHRvIGRvIHRoZSBzYW1lIGFz
IC1hbGwtc3RhdGljIG9uIHBsYXRmb3JtcyB0aGF0CgkjIGRpZG4ndCBoYXZl
IGEgUElDIGZsYWcsIGJ1dCB0aGUgYXNzdW1wdGlvbiB0aGF0IHRoZSBlZmZl
Y3RzCgkjIHdvdWxkIGJlIGVxdWl2YWxlbnQgd2FzIHdyb25nLiAgSXQgd291
bGQgYnJlYWsgb24gYXQgbGVhc3QKCSMgRGlnaXRhbCBVbml4IGFuZCBBSVgu
Cgljb250aW51ZQoJOzsKCiAgICAgIC10aHJlYWQtc2FmZSkKCXRocmVhZF9z
YWZlPXllcwoJY29udGludWUKCTs7CgogICAgICAtdmVyc2lvbi1pbmZvKQoJ
cHJldj12aW5mbwoJY29udGludWUKCTs7CgogICAgICAtdmVyc2lvbi1udW1i
ZXIpCglwcmV2PXZpbmZvCgl2aW5mb19udW1iZXI9eWVzCgljb250aW51ZQoJ
OzsKCiAgICAgIC13ZWFrKQogICAgICAgIHByZXY9d2VhawoJY29udGludWUK
CTs7CgogICAgICAtV2MsKikKCWZ1bmNfc3RyaXBuYW1lICctV2MsJyAnJyAi
JGFyZyIKCWFyZ3M9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAoJYXJnPQoJc2F2
ZV9pZnM9IiRJRlMiOyBJRlM9JywnCglmb3IgZmxhZyBpbiAkYXJnczsgZG8K
CSAgSUZTPSIkc2F2ZV9pZnMiCiAgICAgICAgICBmdW5jX3F1b3RlX2Zvcl9l
dmFsICIkZmxhZyIKCSAgYXJnKz0iICRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jl
c3VsdCIKCSAgY29tcGlsZXJfZmxhZ3MrPSIgJGZ1bmNfcXVvdGVfZm9yX2V2
YWxfcmVzdWx0IgoJZG9uZQoJSUZTPSIkc2F2ZV9pZnMiCglmdW5jX3N0cmlw
bmFtZSAnICcgJycgIiRhcmciCglhcmc9JGZ1bmNfc3RyaXBuYW1lX3Jlc3Vs
dAoJOzsKCiAgICAgIC1XbCwqKQoJZnVuY19zdHJpcG5hbWUgJy1XbCwnICcn
ICIkYXJnIgoJYXJncz0kZnVuY19zdHJpcG5hbWVfcmVzdWx0Cglhcmc9Cglz
YXZlX2lmcz0iJElGUyI7IElGUz0nLCcKCWZvciBmbGFnIGluICRhcmdzOyBk
bwoJICBJRlM9IiRzYXZlX2lmcyIKICAgICAgICAgIGZ1bmNfcXVvdGVfZm9y
X2V2YWwgIiRmbGFnIgoJICBhcmcrPSIgJHdsJGZ1bmNfcXVvdGVfZm9yX2V2
YWxfcmVzdWx0IgoJICBjb21waWxlcl9mbGFncys9IiAkd2wkZnVuY19xdW90
ZV9mb3JfZXZhbF9yZXN1bHQiCgkgIGxpbmtlcl9mbGFncys9IiAkZnVuY19x
dW90ZV9mb3JfZXZhbF9yZXN1bHQiCglkb25lCglJRlM9IiRzYXZlX2lmcyIK
CWZ1bmNfc3RyaXBuYW1lICcgJyAnJyAiJGFyZyIKCWFyZz0kZnVuY19zdHJp
cG5hbWVfcmVzdWx0Cgk7OwoKICAgICAgLVhjb21waWxlcikKCXByZXY9eGNv
bXBpbGVyCgljb250aW51ZQoJOzsKCiAgICAgIC1YbGlua2VyKQoJcHJldj14
bGlua2VyCgljb250aW51ZQoJOzsKCiAgICAgIC1YQ0NsaW5rZXIpCglwcmV2
PXhjY2xpbmtlcgoJY29udGludWUKCTs7CgogICAgICAjIC1tc2dfKiBmb3Ig
b3NmIGNjCiAgICAgIC1tc2dfKikKCWZ1bmNfcXVvdGVfZm9yX2V2YWwgIiRh
cmciCglhcmc9IiRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdCIKCTs7Cgog
ICAgICAjIEZsYWdzIHRvIGJlIHBhc3NlZCB0aHJvdWdoIHVuY2hhbmdlZCwg
d2l0aCByYXRpb25hbGU6CiAgICAgICMgLTY0LCAtbWlwc1swLTldICAgICAg
ZW5hYmxlIDY0LWJpdCBtb2RlIGZvciB0aGUgU0dJIGNvbXBpbGVyCiAgICAg
ICMgLXJbMC05XVswLTldKiAgICAgICAgc3BlY2lmeSBwcm9jZXNzb3IgZm9y
IHRoZSBTR0kgY29tcGlsZXIKICAgICAgIyAteGFyY2g9KiwgLXh0YXJnZXQ9
KiBlbmFibGUgNjQtYml0IG1vZGUgZm9yIHRoZSBTdW4gY29tcGlsZXIKICAg
ICAgIyArREEqLCArREQqICAgICAgICAgICBlbmFibGUgNjQtYml0IG1vZGUg
Zm9yIHRoZSBIUCBjb21waWxlcgogICAgICAjIC1xKiAgICAgICAgICAgICAg
ICAgIGNvbXBpbGVyIGFyZ3MgZm9yIHRoZSBJQk0gY29tcGlsZXIKICAgICAg
IyAtbSosIC10WzQ1XSosIC10eHNjYWxlKiBhcmNoaXRlY3R1cmUtc3BlY2lm
aWMgZmxhZ3MgZm9yIEdDQwogICAgICAjIC1GL3BhdGggICAgICAgICAgICAg
IHBhdGggdG8gdW5pbnN0YWxsZWQgZnJhbWV3b3JrcywgZ2NjIG9uIGRhcndp
bgogICAgICAjIC1wLCAtcGcsIC0tY292ZXJhZ2UsIC1mcHJvZmlsZS0qICBw
cm9maWxpbmcgZmxhZ3MgZm9yIEdDQwogICAgICAjIEBmaWxlICAgICAgICAg
ICAgICAgIEdDQyByZXNwb25zZSBmaWxlcwogICAgICAjIC10cD0qICAgICAg
ICAgICAgICAgIFBvcnRsYW5kIHBnY2MgdGFyZ2V0IHByb2Nlc3NvciBzZWxl
Y3Rpb24KICAgICAgIyAtLXN5c3Jvb3Q9KiAgICAgICAgICBmb3Igc3lzcm9v
dCBzdXBwb3J0CiAgICAgICMgLU8qLCAtZmx0byosIC1md2hvcHIqLCAtZnVz
ZS1saW5rZXItcGx1Z2luIEdDQyBsaW5rLXRpbWUgb3B0aW1pemF0aW9uCiAg
ICAgIC02NHwtbWlwc1swLTldfC1yWzAtOV1bMC05XSp8LXhhcmNoPSp8LXh0
YXJnZXQ9KnwrREEqfCtERCp8LXEqfC1tKnwgXAogICAgICAtdFs0NV0qfC10
eHNjYWxlKnwtcHwtcGd8LS1jb3ZlcmFnZXwtZnByb2ZpbGUtKnwtRip8QCp8
LXRwPSp8LS1zeXNyb290PSp8IFwKICAgICAgLU8qfC1mbHRvKnwtZndob3By
KnwtZnVzZS1saW5rZXItcGx1Z2luKQogICAgICAgIGZ1bmNfcXVvdGVfZm9y
X2V2YWwgIiRhcmciCglhcmc9IiRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3Vs
dCIKICAgICAgICBjb21waWxlX2NvbW1hbmQrPSIgJGFyZyIKICAgICAgICBm
aW5hbGl6ZV9jb21tYW5kKz0iICRhcmciCiAgICAgICAgY29tcGlsZXJfZmxh
Z3MrPSIgJGFyZyIKICAgICAgICBjb250aW51ZQogICAgICAgIDs7CgogICAg
ICAjIFNvbWUgb3RoZXIgY29tcGlsZXIgZmxhZy4KICAgICAgLSogfCArKikK
ICAgICAgICBmdW5jX3F1b3RlX2Zvcl9ldmFsICIkYXJnIgoJYXJnPSIkZnVu
Y19xdW90ZV9mb3JfZXZhbF9yZXN1bHQiCgk7OwoKICAgICAgKi4kb2JqZXh0
KQoJIyBBIHN0YW5kYXJkIG9iamVjdC4KCW9ianMrPSIgJGFyZyIKCTs7Cgog
ICAgICAqLmxvKQoJIyBBIGxpYnRvb2wtY29udHJvbGxlZCBvYmplY3QuCgoJ
IyBDaGVjayB0byBzZWUgdGhhdCB0aGlzIHJlYWxseSBpcyBhIGxpYnRvb2wg
b2JqZWN0LgoJaWYgZnVuY19sYWxpYl91bnNhZmVfcCAiJGFyZyI7IHRoZW4K
CSAgcGljX29iamVjdD0KCSAgbm9uX3BpY19vYmplY3Q9CgoJICAjIFJlYWQg
dGhlIC5sbyBmaWxlCgkgIGZ1bmNfc291cmNlICIkYXJnIgoKCSAgaWYgdGVz
dCAteiAiJHBpY19vYmplY3QiIHx8CgkgICAgIHRlc3QgLXogIiRub25fcGlj
X29iamVjdCIgfHwKCSAgICAgdGVzdCAiJHBpY19vYmplY3QiID0gbm9uZSAm
JgoJICAgICB0ZXN0ICIkbm9uX3BpY19vYmplY3QiID0gbm9uZTsgdGhlbgoJ
ICAgIGZ1bmNfZmF0YWxfZXJyb3IgImNhbm5vdCBmaW5kIG5hbWUgb2Ygb2Jq
ZWN0IGZvciBcYCRhcmcnIgoJICBmaQoKCSAgIyBFeHRyYWN0IHN1YmRpcmVj
dG9yeSBmcm9tIHRoZSBhcmd1bWVudC4KCSAgZnVuY19kaXJuYW1lICIkYXJn
IiAiLyIgIiIKCSAgeGRpcj0iJGZ1bmNfZGlybmFtZV9yZXN1bHQiCgoJICBp
ZiB0ZXN0ICIkcGljX29iamVjdCIgIT0gbm9uZTsgdGhlbgoJICAgICMgUHJl
cGVuZCB0aGUgc3ViZGlyZWN0b3J5IHRoZSBvYmplY3QgaXMgZm91bmQgaW4u
CgkgICAgcGljX29iamVjdD0iJHhkaXIkcGljX29iamVjdCIKCgkgICAgaWYg
dGVzdCAiJHByZXYiID0gZGxmaWxlczsgdGhlbgoJICAgICAgaWYgdGVzdCAi
JGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXMgJiYgdGVzdCAiJGRsb3Blbl9z
dXBwb3J0IiA9IHllczsgdGhlbgoJCWRsZmlsZXMrPSIgJHBpY19vYmplY3Qi
CgkJcHJldj0KCQljb250aW51ZQoJICAgICAgZWxzZQoJCSMgSWYgbGlidG9v
bCBvYmplY3RzIGFyZSB1bnN1cHBvcnRlZCwgdGhlbiB3ZSBuZWVkIHRvIHBy
ZWxvYWQuCgkJcHJldj1kbHByZWZpbGVzCgkgICAgICBmaQoJICAgIGZpCgoJ
ICAgICMgQ0hFQ0sgTUU6ICBJIHRoaW5rIEkgYnVzdGVkIHRoaXMuICAtT3Nz
YW1hCgkgICAgaWYgdGVzdCAiJHByZXYiID0gZGxwcmVmaWxlczsgdGhlbgoJ
ICAgICAgIyBQcmVsb2FkIHRoZSBvbGQtc3R5bGUgb2JqZWN0LgoJICAgICAg
ZGxwcmVmaWxlcys9IiAkcGljX29iamVjdCIKCSAgICAgIHByZXY9CgkgICAg
ZmkKCgkgICAgIyBBIFBJQyBvYmplY3QuCgkgICAgbGlib2Jqcys9IiAkcGlj
X29iamVjdCIKCSAgICBhcmc9IiRwaWNfb2JqZWN0IgoJICBmaQoKCSAgIyBO
b24tUElDIG9iamVjdC4KCSAgaWYgdGVzdCAiJG5vbl9waWNfb2JqZWN0IiAh
PSBub25lOyB0aGVuCgkgICAgIyBQcmVwZW5kIHRoZSBzdWJkaXJlY3Rvcnkg
dGhlIG9iamVjdCBpcyBmb3VuZCBpbi4KCSAgICBub25fcGljX29iamVjdD0i
JHhkaXIkbm9uX3BpY19vYmplY3QiCgoJICAgICMgQSBzdGFuZGFyZCBub24t
UElDIG9iamVjdAoJICAgIG5vbl9waWNfb2JqZWN0cys9IiAkbm9uX3BpY19v
YmplY3QiCgkgICAgaWYgdGVzdCAteiAiJHBpY19vYmplY3QiIHx8IHRlc3Qg
IiRwaWNfb2JqZWN0IiA9IG5vbmUgOyB0aGVuCgkgICAgICBhcmc9IiRub25f
cGljX29iamVjdCIKCSAgICBmaQoJICBlbHNlCgkgICAgIyBJZiB0aGUgUElD
IG9iamVjdCBleGlzdHMsIHVzZSBpdCBpbnN0ZWFkLgoJICAgICMgJHhkaXIg
d2FzIHByZXBlbmRlZCB0byAkcGljX29iamVjdCBhYm92ZS4KCSAgICBub25f
cGljX29iamVjdD0iJHBpY19vYmplY3QiCgkgICAgbm9uX3BpY19vYmplY3Rz
Kz0iICRub25fcGljX29iamVjdCIKCSAgZmkKCWVsc2UKCSAgIyBPbmx5IGFu
IGVycm9yIGlmIG5vdCBkb2luZyBhIGRyeS1ydW4uCgkgIGlmICRvcHRfZHJ5
X3J1bjsgdGhlbgoJICAgICMgRXh0cmFjdCBzdWJkaXJlY3RvcnkgZnJvbSB0
aGUgYXJndW1lbnQuCgkgICAgZnVuY19kaXJuYW1lICIkYXJnIiAiLyIgIiIK
CSAgICB4ZGlyPSIkZnVuY19kaXJuYW1lX3Jlc3VsdCIKCgkgICAgZnVuY19s
bzJvICIkYXJnIgoJICAgIHBpY19vYmplY3Q9JHhkaXIkb2JqZGlyLyRmdW5j
X2xvMm9fcmVzdWx0CgkgICAgbm9uX3BpY19vYmplY3Q9JHhkaXIkZnVuY19s
bzJvX3Jlc3VsdAoJICAgIGxpYm9ianMrPSIgJHBpY19vYmplY3QiCgkgICAg
bm9uX3BpY19vYmplY3RzKz0iICRub25fcGljX29iamVjdCIKCSAgZWxzZQoJ
ICAgIGZ1bmNfZmF0YWxfZXJyb3IgIlxgJGFyZycgaXMgbm90IGEgdmFsaWQg
bGlidG9vbCBvYmplY3QiCgkgIGZpCglmaQoJOzsKCiAgICAgICouJGxpYmV4
dCkKCSMgQW4gYXJjaGl2ZS4KCWRlcGxpYnMrPSIgJGFyZyIKCW9sZF9kZXBs
aWJzKz0iICRhcmciCgljb250aW51ZQoJOzsKCiAgICAgICoubGEpCgkjIEEg
bGlidG9vbC1jb250cm9sbGVkIGxpYnJhcnkuCgoJZnVuY19yZXNvbHZlX3N5
c3Jvb3QgIiRhcmciCglpZiB0ZXN0ICIkcHJldiIgPSBkbGZpbGVzOyB0aGVu
CgkgICMgVGhpcyBsaWJyYXJ5IHdhcyBzcGVjaWZpZWQgd2l0aCAtZGxvcGVu
LgoJICBkbGZpbGVzKz0iICRmdW5jX3Jlc29sdmVfc3lzcm9vdF9yZXN1bHQi
CgkgIHByZXY9CgllbGlmIHRlc3QgIiRwcmV2IiA9IGRscHJlZmlsZXM7IHRo
ZW4KCSAgIyBUaGUgbGlicmFyeSB3YXMgc3BlY2lmaWVkIHdpdGggLWRscHJl
b3Blbi4KCSAgZGxwcmVmaWxlcys9IiAkZnVuY19yZXNvbHZlX3N5c3Jvb3Rf
cmVzdWx0IgoJICBwcmV2PQoJZWxzZQoJICBkZXBsaWJzKz0iICRmdW5jX3Jl
c29sdmVfc3lzcm9vdF9yZXN1bHQiCglmaQoJY29udGludWUKCTs7CgogICAg
ICAjIFNvbWUgb3RoZXIgY29tcGlsZXIgYXJndW1lbnQuCiAgICAgICopCgkj
IFVua25vd24gYXJndW1lbnRzIGluIGJvdGggZmluYWxpemVfY29tbWFuZCBh
bmQgY29tcGlsZV9jb21tYW5kIG5lZWQKCSMgdG8gYmUgYWVzdGhldGljYWxs
eSBxdW90ZWQgYmVjYXVzZSB0aGV5IGFyZSBldmFsZWQgbGF0ZXIuCglmdW5j
X3F1b3RlX2Zvcl9ldmFsICIkYXJnIgoJYXJnPSIkZnVuY19xdW90ZV9mb3Jf
ZXZhbF9yZXN1bHQiCgk7OwogICAgICBlc2FjICMgYXJnCgogICAgICAjIE5v
dyBhY3R1YWxseSBzdWJzdGl0dXRlIHRoZSBhcmd1bWVudCBpbnRvIHRoZSBj
b21tYW5kcy4KICAgICAgaWYgdGVzdCAtbiAiJGFyZyI7IHRoZW4KCWNvbXBp
bGVfY29tbWFuZCs9IiAkYXJnIgoJZmluYWxpemVfY29tbWFuZCs9IiAkYXJn
IgogICAgICBmaQogICAgZG9uZSAjIGFyZ3VtZW50IHBhcnNpbmcgbG9vcAoK
ICAgIHRlc3QgLW4gIiRwcmV2IiAmJiBcCiAgICAgIGZ1bmNfZmF0YWxfaGVs
cCAidGhlIFxgJHByZXZhcmcnIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVu
dCIKCiAgICBpZiB0ZXN0ICIkZXhwb3J0X2R5bmFtaWMiID0geWVzICYmIHRl
c3QgLW4gIiRleHBvcnRfZHluYW1pY19mbGFnX3NwZWMiOyB0aGVuCiAgICAg
IGV2YWwgYXJnPVwiJGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlY1wiCiAgICAg
IGNvbXBpbGVfY29tbWFuZCs9IiAkYXJnIgogICAgICBmaW5hbGl6ZV9jb21t
YW5kKz0iICRhcmciCiAgICBmaQoKICAgIG9sZGxpYnM9CiAgICAjIGNhbGN1
bGF0ZSB0aGUgbmFtZSBvZiB0aGUgZmlsZSwgd2l0aG91dCBpdHMgZGlyZWN0
b3J5CiAgICBmdW5jX2Jhc2VuYW1lICIkb3V0cHV0IgogICAgb3V0cHV0bmFt
ZT0iJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgogICAgbGlib2Jqc19zYXZlPSIk
bGlib2JqcyIKCiAgICBpZiB0ZXN0IC1uICIkc2hsaWJwYXRoX3ZhciI7IHRo
ZW4KICAgICAgIyBnZXQgdGhlIGRpcmVjdG9yaWVzIGxpc3RlZCBpbiAkc2hs
aWJwYXRoX3ZhcgogICAgICBldmFsIHNobGliX3NlYXJjaF9wYXRoPVxgXCRF
Q0hPIFwiXCR7JHNobGlicGF0aF92YXJ9XCIgXHwgXCRTRUQgXCdzLzovIC9n
XCdcYAogICAgZWxzZQogICAgICBzaGxpYl9zZWFyY2hfcGF0aD0KICAgIGZp
CiAgICBldmFsIHN5c19saWJfc2VhcmNoX3BhdGg9XCIkc3lzX2xpYl9zZWFy
Y2hfcGF0aF9zcGVjXCIKICAgIGV2YWwgc3lzX2xpYl9kbHNlYXJjaF9wYXRo
PVwiJHN5c19saWJfZGxzZWFyY2hfcGF0aF9zcGVjXCIKCiAgICBmdW5jX2Rp
cm5hbWUgIiRvdXRwdXQiICIvIiAiIgogICAgb3V0cHV0X29iamRpcj0iJGZ1
bmNfZGlybmFtZV9yZXN1bHQkb2JqZGlyIgogICAgZnVuY190b190b29sX2Zp
bGUgIiRvdXRwdXRfb2JqZGlyLyIKICAgIHRvb2xfb3V0cHV0X29iamRpcj0k
ZnVuY190b190b29sX2ZpbGVfcmVzdWx0CiAgICAjIENyZWF0ZSB0aGUgb2Jq
ZWN0IGRpcmVjdG9yeS4KICAgIGZ1bmNfbWtkaXJfcCAiJG91dHB1dF9vYmpk
aXIiCgogICAgIyBEZXRlcm1pbmUgdGhlIHR5cGUgb2Ygb3V0cHV0CiAgICBj
YXNlICRvdXRwdXQgaW4KICAgICIiKQogICAgICBmdW5jX2ZhdGFsX2hlbHAg
InlvdSBtdXN0IHNwZWNpZnkgYW4gb3V0cHV0IGZpbGUiCiAgICAgIDs7CiAg
ICAqLiRsaWJleHQpIGxpbmttb2RlPW9sZGxpYiA7OwogICAgKi5sbyB8ICou
JG9iamV4dCkgbGlua21vZGU9b2JqIDs7CiAgICAqLmxhKSBsaW5rbW9kZT1s
aWIgOzsKICAgICopIGxpbmttb2RlPXByb2cgOzsgIyBBbnl0aGluZyBlbHNl
IHNob3VsZCBiZSBhIHByb2dyYW0uCiAgICBlc2FjCgogICAgc3BlY2lhbGRl
cGxpYnM9CgogICAgbGlicz0KICAgICMgRmluZCBhbGwgaW50ZXJkZXBlbmRl
bnQgZGVwbGlicyBieSBzZWFyY2hpbmcgZm9yIGxpYnJhcmllcwogICAgIyB0
aGF0IGFyZSBsaW5rZWQgbW9yZSB0aGFuIG9uY2UgKGUuZy4gLWxhIC1sYiAt
bGEpCiAgICBmb3IgZGVwbGliIGluICRkZXBsaWJzOyBkbwogICAgICBpZiAk
b3B0X3ByZXNlcnZlX2R1cF9kZXBzIDsgdGhlbgoJY2FzZSAiJGxpYnMgIiBp
bgoJKiIgJGRlcGxpYiAiKikgc3BlY2lhbGRlcGxpYnMrPSIgJGRlcGxpYiIg
OzsKCWVzYWMKICAgICAgZmkKICAgICAgbGlicys9IiAkZGVwbGliIgogICAg
ZG9uZQoKICAgIGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBsaWI7IHRoZW4KICAg
ICAgbGlicz0iJHByZWRlcHMgJGxpYnMgJGNvbXBpbGVyX2xpYl9zZWFyY2hf
cGF0aCAkcG9zdGRlcHMiCgogICAgICAjIENvbXB1dGUgbGlicmFyaWVzIHRo
YXQgYXJlIGxpc3RlZCBtb3JlIHRoYW4gb25jZSBpbiAkcHJlZGVwcwogICAg
ICAjICRwb3N0ZGVwcyBhbmQgbWFyayB0aGVtIGFzIHNwZWNpYWwgKGkuZS4s
IHdob3NlIGR1cGxpY2F0ZXMgYXJlCiAgICAgICMgbm90IHRvIGJlIGVsaW1p
bmF0ZWQpLgogICAgICBwcmVfcG9zdF9kZXBzPQogICAgICBpZiAkb3B0X2R1
cGxpY2F0ZV9jb21waWxlcl9nZW5lcmF0ZWRfZGVwczsgdGhlbgoJZm9yIHBy
ZV9wb3N0X2RlcCBpbiAkcHJlZGVwcyAkcG9zdGRlcHM7IGRvCgkgIGNhc2Ug
IiRwcmVfcG9zdF9kZXBzICIgaW4KCSAgKiIgJHByZV9wb3N0X2RlcCAiKikg
c3BlY2lhbGRlcGxpYnMrPSIgJHByZV9wb3N0X2RlcHMiIDs7CgkgIGVzYWMK
CSAgcHJlX3Bvc3RfZGVwcys9IiAkcHJlX3Bvc3RfZGVwIgoJZG9uZQogICAg
ICBmaQogICAgICBwcmVfcG9zdF9kZXBzPQogICAgZmkKCiAgICBkZXBsaWJz
PQogICAgbmV3ZGVwZW5kZW5jeV9saWJzPQogICAgbmV3bGliX3NlYXJjaF9w
YXRoPQogICAgbmVlZF9yZWxpbms9bm8gIyB3aGV0aGVyIHdlJ3JlIGxpbmtp
bmcgYW55IHVuaW5zdGFsbGVkIGxpYnRvb2wgbGlicmFyaWVzCiAgICBub3Rp
bnN0X2RlcGxpYnM9ICMgbm90LWluc3RhbGxlZCBsaWJ0b29sIGxpYnJhcmll
cwogICAgbm90aW5zdF9wYXRoPSAjIHBhdGhzIHRoYXQgY29udGFpbiBub3Qt
aW5zdGFsbGVkIGxpYnRvb2wgbGlicmFyaWVzCgogICAgY2FzZSAkbGlua21v
ZGUgaW4KICAgIGxpYikKCXBhc3Nlcz0iY29udiBkbHByZW9wZW4gbGluayIK
CWZvciBmaWxlIGluICRkbGZpbGVzICRkbHByZWZpbGVzOyBkbwoJICBjYXNl
ICRmaWxlIGluCgkgICoubGEpIDs7CgkgICopCgkgICAgZnVuY19mYXRhbF9o
ZWxwICJsaWJyYXJpZXMgY2FuIFxgLWRsb3Blbicgb25seSBsaWJ0b29sIGxp
YnJhcmllczogJGZpbGUiCgkgICAgOzsKCSAgZXNhYwoJZG9uZQoJOzsKICAg
IHByb2cpCgljb21waWxlX2RlcGxpYnM9CglmaW5hbGl6ZV9kZXBsaWJzPQoJ
YWxsZGVwbGlicz1ubwoJbmV3ZGxmaWxlcz0KCW5ld2RscHJlZmlsZXM9Cglw
YXNzZXM9ImNvbnYgc2NhbiBkbG9wZW4gZGxwcmVvcGVuIGxpbmsiCgk7Owog
ICAgKikgIHBhc3Nlcz0iY29udiIKCTs7CiAgICBlc2FjCgogICAgZm9yIHBh
c3MgaW4gJHBhc3NlczsgZG8KICAgICAgIyBUaGUgcHJlb3BlbiBwYXNzIGlu
IGxpYiBtb2RlIHJldmVyc2VzICRkZXBsaWJzOyBwdXQgaXQgYmFjayBoZXJl
CiAgICAgICMgc28gdGhhdCAtTCBjb21lcyBiZWZvcmUgbGlicyB0aGF0IG5l
ZWQgaXQgZm9yIGluc3RhbmNlLi4uCiAgICAgIGlmIHRlc3QgIiRsaW5rbW9k
ZSwkcGFzcyIgPSAibGliLGxpbmsiOyB0aGVuCgkjIyBGSVhNRTogRmluZCB0
aGUgcGxhY2Ugd2hlcmUgdGhlIGxpc3QgaXMgcmVidWlsdCBpbiB0aGUgd3Jv
bmcKCSMjICAgICAgICBvcmRlciwgYW5kIGZpeCBpdCB0aGVyZSBwcm9wZXJs
eQogICAgICAgIHRtcF9kZXBsaWJzPQoJZm9yIGRlcGxpYiBpbiAkZGVwbGli
czsgZG8KCSAgdG1wX2RlcGxpYnM9IiRkZXBsaWIgJHRtcF9kZXBsaWJzIgoJ
ZG9uZQoJZGVwbGlicz0iJHRtcF9kZXBsaWJzIgogICAgICBmaQoKICAgICAg
aWYgdGVzdCAiJGxpbmttb2RlLCRwYXNzIiA9ICJsaWIsbGluayIgfHwKCSB0
ZXN0ICIkbGlua21vZGUsJHBhc3MiID0gInByb2csc2NhbiI7IHRoZW4KCWxp
YnM9IiRkZXBsaWJzIgoJZGVwbGlicz0KICAgICAgZmkKICAgICAgaWYgdGVz
dCAiJGxpbmttb2RlIiA9IHByb2c7IHRoZW4KCWNhc2UgJHBhc3MgaW4KCWRs
b3BlbikgbGlicz0iJGRsZmlsZXMiIDs7CglkbHByZW9wZW4pIGxpYnM9IiRk
bHByZWZpbGVzIiA7OwoJbGluaykgbGlicz0iJGRlcGxpYnMgJURFUExJQlMl
ICRkZXBlbmRlbmN5X2xpYnMiIDs7Cgllc2FjCiAgICAgIGZpCiAgICAgIGlm
IHRlc3QgIiRsaW5rbW9kZSwkcGFzcyIgPSAibGliLGRscHJlb3BlbiI7IHRo
ZW4KCSMgQ29sbGVjdCBhbmQgZm9yd2FyZCBkZXBsaWJzIG9mIHByZW9wZW5l
ZCBsaWJ0b29sIGxpYnMKCWZvciBsaWIgaW4gJGRscHJlZmlsZXM7IGRvCgkg
ICMgSWdub3JlIG5vbi1saWJ0b29sLWxpYnMKCSAgZGVwZW5kZW5jeV9saWJz
PQoJICBmdW5jX3Jlc29sdmVfc3lzcm9vdCAiJGxpYiIKCSAgY2FzZSAkbGli
IGluCgkgICoubGEpCWZ1bmNfc291cmNlICIkZnVuY19yZXNvbHZlX3N5c3Jv
b3RfcmVzdWx0IiA7OwoJICBlc2FjCgoJICAjIENvbGxlY3QgcHJlb3BlbmVk
IGxpYnRvb2wgZGVwbGlicywgZXhjZXB0IGFueSB0aGlzIGxpYnJhcnkKCSAg
IyBoYXMgZGVjbGFyZWQgYXMgd2VhayBsaWJzCgkgIGZvciBkZXBsaWIgaW4g
JGRlcGVuZGVuY3lfbGliczsgZG8KCSAgICBmdW5jX2Jhc2VuYW1lICIkZGVw
bGliIgogICAgICAgICAgICBkZXBsaWJfYmFzZT0kZnVuY19iYXNlbmFtZV9y
ZXN1bHQKCSAgICBjYXNlICIgJHdlYWtfbGlicyAiIGluCgkgICAgKiIgJGRl
cGxpYl9iYXNlICIqKSA7OwoJICAgICopIGRlcGxpYnMrPSIgJGRlcGxpYiIg
OzsKCSAgICBlc2FjCgkgIGRvbmUKCWRvbmUKCWxpYnM9IiRkbHByZWZpbGVz
IgogICAgICBmaQogICAgICBpZiB0ZXN0ICIkcGFzcyIgPSBkbG9wZW47IHRo
ZW4KCSMgQ29sbGVjdCBkbHByZW9wZW5lZCBsaWJyYXJpZXMKCXNhdmVfZGVw
bGlicz0iJGRlcGxpYnMiCglkZXBsaWJzPQogICAgICBmaQoKICAgICAgZm9y
IGRlcGxpYiBpbiAkbGliczsgZG8KCWxpYj0KCWZvdW5kPW5vCgljYXNlICRk
ZXBsaWIgaW4KCS1tdHwtbXRocmVhZHN8LWt0aHJlYWR8LUt0aHJlYWR8LXB0
aHJlYWR8LXB0aHJlYWRzfC0tdGhyZWFkLXNhZmUgXAogICAgICAgIHwtdGhy
ZWFkc3wtZm9wZW5tcHwtb3Blbm1wfC1tcHwteG9wZW5tcHwtb21wfC1xc21w
PSopCgkgIGlmIHRlc3QgIiRsaW5rbW9kZSwkcGFzcyIgPSAicHJvZyxsaW5r
IjsgdGhlbgoJICAgIGNvbXBpbGVfZGVwbGlicz0iJGRlcGxpYiAkY29tcGls
ZV9kZXBsaWJzIgoJICAgIGZpbmFsaXplX2RlcGxpYnM9IiRkZXBsaWIgJGZp
bmFsaXplX2RlcGxpYnMiCgkgIGVsc2UKCSAgICBjb21waWxlcl9mbGFncys9
IiAkZGVwbGliIgoJICAgIGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBsaWIgOyB0
aGVuCgkJY2FzZSAiJG5ld19pbmhlcml0ZWRfbGlua2VyX2ZsYWdzICIgaW4K
CQkgICAgKiIgJGRlcGxpYiAiKikgOzsKCQkgICAgKiApIG5ld19pbmhlcml0
ZWRfbGlua2VyX2ZsYWdzKz0iICRkZXBsaWIiIDs7CgkJZXNhYwoJICAgIGZp
CgkgIGZpCgkgIGNvbnRpbnVlCgkgIDs7CgktbCopCgkgIGlmIHRlc3QgIiRs
aW5rbW9kZSIgIT0gbGliICYmIHRlc3QgIiRsaW5rbW9kZSIgIT0gcHJvZzsg
dGhlbgoJICAgIGZ1bmNfd2FybmluZyAiXGAtbCcgaXMgaWdub3JlZCBmb3Ig
YXJjaGl2ZXMvb2JqZWN0cyIKCSAgICBjb250aW51ZQoJICBmaQoJICBmdW5j
X3N0cmlwbmFtZSAnLWwnICcnICIkZGVwbGliIgoJICBuYW1lPSRmdW5jX3N0
cmlwbmFtZV9yZXN1bHQKCSAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IGxpYjsg
dGhlbgoJICAgIHNlYXJjaGRpcnM9IiRuZXdsaWJfc2VhcmNoX3BhdGggJGxp
Yl9zZWFyY2hfcGF0aCAkY29tcGlsZXJfbGliX3NlYXJjaF9kaXJzICRzeXNf
bGliX3NlYXJjaF9wYXRoICRzaGxpYl9zZWFyY2hfcGF0aCIKCSAgZWxzZQoJ
ICAgIHNlYXJjaGRpcnM9IiRuZXdsaWJfc2VhcmNoX3BhdGggJGxpYl9zZWFy
Y2hfcGF0aCAkc3lzX2xpYl9zZWFyY2hfcGF0aCAkc2hsaWJfc2VhcmNoX3Bh
dGgiCgkgIGZpCgkgIGZvciBzZWFyY2hkaXIgaW4gJHNlYXJjaGRpcnM7IGRv
CgkgICAgZm9yIHNlYXJjaF9leHQgaW4gLmxhICRzdGRfc2hyZXh0IC5zbyAu
YTsgZG8KCSAgICAgICMgU2VhcmNoIHRoZSBsaWJ0b29sIGxpYnJhcnkKCSAg
ICAgIGxpYj0iJHNlYXJjaGRpci9saWIke25hbWV9JHtzZWFyY2hfZXh0fSIK
CSAgICAgIGlmIHRlc3QgLWYgIiRsaWIiOyB0aGVuCgkJaWYgdGVzdCAiJHNl
YXJjaF9leHQiID0gIi5sYSI7IHRoZW4KCQkgIGZvdW5kPXllcwoJCWVsc2UK
CQkgIGZvdW5kPW5vCgkJZmkKCQlicmVhayAyCgkgICAgICBmaQoJICAgIGRv
bmUKCSAgZG9uZQoJICBpZiB0ZXN0ICIkZm91bmQiICE9IHllczsgdGhlbgoJ
ICAgICMgZGVwbGliIGRvZXNuJ3Qgc2VlbSB0byBiZSBhIGxpYnRvb2wgbGli
cmFyeQoJICAgIGlmIHRlc3QgIiRsaW5rbW9kZSwkcGFzcyIgPSAicHJvZyxs
aW5rIjsgdGhlbgoJICAgICAgY29tcGlsZV9kZXBsaWJzPSIkZGVwbGliICRj
b21waWxlX2RlcGxpYnMiCgkgICAgICBmaW5hbGl6ZV9kZXBsaWJzPSIkZGVw
bGliICRmaW5hbGl6ZV9kZXBsaWJzIgoJICAgIGVsc2UKCSAgICAgIGRlcGxp
YnM9IiRkZXBsaWIgJGRlcGxpYnMiCgkgICAgICB0ZXN0ICIkbGlua21vZGUi
ID0gbGliICYmIG5ld2RlcGVuZGVuY3lfbGlicz0iJGRlcGxpYiAkbmV3ZGVw
ZW5kZW5jeV9saWJzIgoJICAgIGZpCgkgICAgY29udGludWUKCSAgZWxzZSAj
IGRlcGxpYiBpcyBhIGxpYnRvb2wgbGlicmFyeQoJICAgICMgSWYgJGFsbG93
X2xpYnRvb2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcyAmJiAkZGVwbGli
IGlzIGEgc3RkbGliLAoJICAgICMgV2UgbmVlZCB0byBkbyBzb21lIHNwZWNp
YWwgdGhpbmdzIGhlcmUsIGFuZCBub3QgbGF0ZXIuCgkgICAgaWYgdGVzdCAi
WCRhbGxvd19saWJ0b29sX2xpYnNfd2l0aF9zdGF0aWNfcnVudGltZXMiID0g
Ilh5ZXMiIDsgdGhlbgoJICAgICAgY2FzZSAiICRwcmVkZXBzICRwb3N0ZGVw
cyAiIGluCgkgICAgICAqIiAkZGVwbGliICIqKQoJCWlmIGZ1bmNfbGFsaWJf
cCAiJGxpYiI7IHRoZW4KCQkgIGxpYnJhcnlfbmFtZXM9CgkJICBvbGRfbGli
cmFyeT0KCQkgIGZ1bmNfc291cmNlICIkbGliIgoJCSAgZm9yIGwgaW4gJG9s
ZF9saWJyYXJ5ICRsaWJyYXJ5X25hbWVzOyBkbwoJCSAgICBsbD0iJGwiCgkJ
ICBkb25lCgkJICBpZiB0ZXN0ICJYJGxsIiA9ICJYJG9sZF9saWJyYXJ5IiA7
IHRoZW4gIyBvbmx5IHN0YXRpYyB2ZXJzaW9uIGF2YWlsYWJsZQoJCSAgICBm
b3VuZD1ubwoJCSAgICBmdW5jX2Rpcm5hbWUgIiRsaWIiICIiICIuIgoJCSAg
ICBsYWRpcj0iJGZ1bmNfZGlybmFtZV9yZXN1bHQiCgkJICAgIGxpYj0kbGFk
aXIvJG9sZF9saWJyYXJ5CgkJICAgIGlmIHRlc3QgIiRsaW5rbW9kZSwkcGFz
cyIgPSAicHJvZyxsaW5rIjsgdGhlbgoJCSAgICAgIGNvbXBpbGVfZGVwbGli
cz0iJGRlcGxpYiAkY29tcGlsZV9kZXBsaWJzIgoJCSAgICAgIGZpbmFsaXpl
X2RlcGxpYnM9IiRkZXBsaWIgJGZpbmFsaXplX2RlcGxpYnMiCgkJICAgIGVs
c2UKCQkgICAgICBkZXBsaWJzPSIkZGVwbGliICRkZXBsaWJzIgoJCSAgICAg
IHRlc3QgIiRsaW5rbW9kZSIgPSBsaWIgJiYgbmV3ZGVwZW5kZW5jeV9saWJz
PSIkZGVwbGliICRuZXdkZXBlbmRlbmN5X2xpYnMiCgkJICAgIGZpCgkJICAg
IGNvbnRpbnVlCgkJICBmaQoJCWZpCgkJOzsKCSAgICAgICopIDs7CgkgICAg
ICBlc2FjCgkgICAgZmkKCSAgZmkKCSAgOzsgIyAtbAoJKi5sdGZyYW1ld29y
aykKCSAgaWYgdGVzdCAiJGxpbmttb2RlLCRwYXNzIiA9ICJwcm9nLGxpbmsi
OyB0aGVuCgkgICAgY29tcGlsZV9kZXBsaWJzPSIkZGVwbGliICRjb21waWxl
X2RlcGxpYnMiCgkgICAgZmluYWxpemVfZGVwbGlicz0iJGRlcGxpYiAkZmlu
YWxpemVfZGVwbGlicyIKCSAgZWxzZQoJICAgIGRlcGxpYnM9IiRkZXBsaWIg
JGRlcGxpYnMiCgkgICAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IGxpYiA7IHRo
ZW4KCQljYXNlICIkbmV3X2luaGVyaXRlZF9saW5rZXJfZmxhZ3MgIiBpbgoJ
CSAgICAqIiAkZGVwbGliICIqKSA7OwoJCSAgICAqICkgbmV3X2luaGVyaXRl
ZF9saW5rZXJfZmxhZ3MrPSIgJGRlcGxpYiIgOzsKCQllc2FjCgkgICAgZmkK
CSAgZmkKCSAgY29udGludWUKCSAgOzsKCS1MKikKCSAgY2FzZSAkbGlua21v
ZGUgaW4KCSAgbGliKQoJICAgIGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMi
CgkgICAgdGVzdCAiJHBhc3MiID0gY29udiAmJiBjb250aW51ZQoJICAgIG5l
d2RlcGVuZGVuY3lfbGlicz0iJGRlcGxpYiAkbmV3ZGVwZW5kZW5jeV9saWJz
IgoJICAgIGZ1bmNfc3RyaXBuYW1lICctTCcgJycgIiRkZXBsaWIiCgkgICAg
ZnVuY19yZXNvbHZlX3N5c3Jvb3QgIiRmdW5jX3N0cmlwbmFtZV9yZXN1bHQi
CgkgICAgbmV3bGliX3NlYXJjaF9wYXRoKz0iICRmdW5jX3Jlc29sdmVfc3lz
cm9vdF9yZXN1bHQiCgkgICAgOzsKCSAgcHJvZykKCSAgICBpZiB0ZXN0ICIk
cGFzcyIgPSBjb252OyB0aGVuCgkgICAgICBkZXBsaWJzPSIkZGVwbGliICRk
ZXBsaWJzIgoJICAgICAgY29udGludWUKCSAgICBmaQoJICAgIGlmIHRlc3Qg
IiRwYXNzIiA9IHNjYW47IHRoZW4KCSAgICAgIGRlcGxpYnM9IiRkZXBsaWIg
JGRlcGxpYnMiCgkgICAgZWxzZQoJICAgICAgY29tcGlsZV9kZXBsaWJzPSIk
ZGVwbGliICRjb21waWxlX2RlcGxpYnMiCgkgICAgICBmaW5hbGl6ZV9kZXBs
aWJzPSIkZGVwbGliICRmaW5hbGl6ZV9kZXBsaWJzIgoJICAgIGZpCgkgICAg
ZnVuY19zdHJpcG5hbWUgJy1MJyAnJyAiJGRlcGxpYiIKCSAgICBmdW5jX3Jl
c29sdmVfc3lzcm9vdCAiJGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdCIKCSAgICBu
ZXdsaWJfc2VhcmNoX3BhdGgrPSIgJGZ1bmNfcmVzb2x2ZV9zeXNyb290X3Jl
c3VsdCIKCSAgICA7OwoJICAqKQoJICAgIGZ1bmNfd2FybmluZyAiXGAtTCcg
aXMgaWdub3JlZCBmb3IgYXJjaGl2ZXMvb2JqZWN0cyIKCSAgICA7OwoJICBl
c2FjICMgbGlua21vZGUKCSAgY29udGludWUKCSAgOzsgIyAtTAoJLVIqKQoJ
ICBpZiB0ZXN0ICIkcGFzcyIgPSBsaW5rOyB0aGVuCgkgICAgZnVuY19zdHJp
cG5hbWUgJy1SJyAnJyAiJGRlcGxpYiIKCSAgICBmdW5jX3Jlc29sdmVfc3lz
cm9vdCAiJGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdCIKCSAgICBkaXI9JGZ1bmNf
cmVzb2x2ZV9zeXNyb290X3Jlc3VsdAoJICAgICMgTWFrZSBzdXJlIHRoZSB4
cnBhdGggY29udGFpbnMgb25seSB1bmlxdWUgZGlyZWN0b3JpZXMuCgkgICAg
Y2FzZSAiJHhycGF0aCAiIGluCgkgICAgKiIgJGRpciAiKikgOzsKCSAgICAq
KSB4cnBhdGgrPSIgJGRpciIgOzsKCSAgICBlc2FjCgkgIGZpCgkgIGRlcGxp
YnM9IiRkZXBsaWIgJGRlcGxpYnMiCgkgIGNvbnRpbnVlCgkgIDs7CgkqLmxh
KQoJICBmdW5jX3Jlc29sdmVfc3lzcm9vdCAiJGRlcGxpYiIKCSAgbGliPSRm
dW5jX3Jlc29sdmVfc3lzcm9vdF9yZXN1bHQKCSAgOzsKCSouJGxpYmV4dCkK
CSAgaWYgdGVzdCAiJHBhc3MiID0gY29udjsgdGhlbgoJICAgIGRlcGxpYnM9
IiRkZXBsaWIgJGRlcGxpYnMiCgkgICAgY29udGludWUKCSAgZmkKCSAgY2Fz
ZSAkbGlua21vZGUgaW4KCSAgbGliKQoJICAgICMgTGlua2luZyBjb252ZW5p
ZW5jZSBtb2R1bGVzIGludG8gc2hhcmVkIGxpYnJhcmllcyBpcyBhbGxvd2Vk
LAoJICAgICMgYnV0IGxpbmtpbmcgb3RoZXIgc3RhdGljIGxpYnJhcmllcyBp
cyBub24tcG9ydGFibGUuCgkgICAgY2FzZSAiICRkbHByZWNvbnZlbmllbmNl
bGlicyAiIGluCgkgICAgKiIgJGRlcGxpYiAiKikgOzsKCSAgICAqKQoJICAg
ICAgdmFsaWRfYV9saWI9bm8KCSAgICAgIGNhc2UgJGRlcGxpYnNfY2hlY2tf
bWV0aG9kIGluCgkJbWF0Y2hfcGF0dGVybiopCgkJICBzZXQgZHVtbXkgJGRl
cGxpYnNfY2hlY2tfbWV0aG9kOyBzaGlmdAoJCSAgbWF0Y2hfcGF0dGVybl9y
ZWdleD1gZXhwciAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiA6ICIkMSBcKC4q
XCkiYAoJCSAgaWYgZXZhbCAiXCRFQ0hPIFwiJGRlcGxpYlwiIiAyPi9kZXYv
bnVsbCB8ICRTRUQgMTBxIFwKCQkgICAgfCAkRUdSRVAgIiRtYXRjaF9wYXR0
ZXJuX3JlZ2V4IiA+IC9kZXYvbnVsbDsgdGhlbgoJCSAgICB2YWxpZF9hX2xp
Yj15ZXMKCQkgIGZpCgkJOzsKCQlwYXNzX2FsbCkKCQkgIHZhbGlkX2FfbGli
PXllcwoJCTs7CgkgICAgICBlc2FjCgkgICAgICBpZiB0ZXN0ICIkdmFsaWRf
YV9saWIiICE9IHllczsgdGhlbgoJCWVjaG8KCQkkRUNITyAiKioqIFdhcm5p
bmc6IFRyeWluZyB0byBsaW5rIHdpdGggc3RhdGljIGxpYiBhcmNoaXZlICRk
ZXBsaWIuIgoJCWVjaG8gIioqKiBJIGhhdmUgdGhlIGNhcGFiaWxpdHkgdG8g
bWFrZSB0aGF0IGxpYnJhcnkgYXV0b21hdGljYWxseSBsaW5rIGluIHdoZW4i
CgkJZWNobyAiKioqIHlvdSBsaW5rIHRvIHRoaXMgbGlicmFyeS4gIEJ1dCBJ
IGNhbiBvbmx5IGRvIHRoaXMgaWYgeW91IGhhdmUgYSIKCQllY2hvICIqKiog
c2hhcmVkIHZlcnNpb24gb2YgdGhlIGxpYnJhcnksIHdoaWNoIHlvdSBkbyBu
b3QgYXBwZWFyIHRvIGhhdmUiCgkJZWNobyAiKioqIGJlY2F1c2UgdGhlIGZp
bGUgZXh0ZW5zaW9ucyAuJGxpYmV4dCBvZiB0aGlzIGFyZ3VtZW50IG1ha2Vz
IG1lIGJlbGlldmUiCgkJZWNobyAiKioqIHRoYXQgaXQgaXMganVzdCBhIHN0
YXRpYyBhcmNoaXZlIHRoYXQgSSBzaG91bGQgbm90IHVzZSBoZXJlLiIKCSAg
ICAgIGVsc2UKCQllY2hvCgkJJEVDSE8gIioqKiBXYXJuaW5nOiBMaW5raW5n
IHRoZSBzaGFyZWQgbGlicmFyeSAkb3V0cHV0IGFnYWluc3QgdGhlIgoJCSRF
Q0hPICIqKiogc3RhdGljIGxpYnJhcnkgJGRlcGxpYiBpcyBub3QgcG9ydGFi
bGUhIgoJCWRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMiCgkgICAgICBmaQoJ
ICAgICAgOzsKCSAgICBlc2FjCgkgICAgY29udGludWUKCSAgICA7OwoJICBw
cm9nKQoJICAgIGlmIHRlc3QgIiRwYXNzIiAhPSBsaW5rOyB0aGVuCgkgICAg
ICBkZXBsaWJzPSIkZGVwbGliICRkZXBsaWJzIgoJICAgIGVsc2UKCSAgICAg
IGNvbXBpbGVfZGVwbGlicz0iJGRlcGxpYiAkY29tcGlsZV9kZXBsaWJzIgoJ
ICAgICAgZmluYWxpemVfZGVwbGlicz0iJGRlcGxpYiAkZmluYWxpemVfZGVw
bGlicyIKCSAgICBmaQoJICAgIGNvbnRpbnVlCgkgICAgOzsKCSAgZXNhYyAj
IGxpbmttb2RlCgkgIDs7ICMgKi4kbGliZXh0CgkqLmxvIHwgKi4kb2JqZXh0
KQoJICBpZiB0ZXN0ICIkcGFzcyIgPSBjb252OyB0aGVuCgkgICAgZGVwbGli
cz0iJGRlcGxpYiAkZGVwbGlicyIKCSAgZWxpZiB0ZXN0ICIkbGlua21vZGUi
ID0gcHJvZzsgdGhlbgoJICAgIGlmIHRlc3QgIiRwYXNzIiA9IGRscHJlb3Bl
biB8fCB0ZXN0ICIkZGxvcGVuX3N1cHBvcnQiICE9IHllcyB8fCB0ZXN0ICIk
YnVpbGRfbGlidG9vbF9saWJzIiA9IG5vOyB0aGVuCgkgICAgICAjIElmIHRo
ZXJlIGlzIG5vIGRsb3BlbiBzdXBwb3J0IG9yIHdlJ3JlIGxpbmtpbmcgc3Rh
dGljYWxseSwKCSAgICAgICMgd2UgbmVlZCB0byBwcmVsb2FkLgoJICAgICAg
bmV3ZGxwcmVmaWxlcys9IiAkZGVwbGliIgoJICAgICAgY29tcGlsZV9kZXBs
aWJzPSIkZGVwbGliICRjb21waWxlX2RlcGxpYnMiCgkgICAgICBmaW5hbGl6
ZV9kZXBsaWJzPSIkZGVwbGliICRmaW5hbGl6ZV9kZXBsaWJzIgoJICAgIGVs
c2UKCSAgICAgIG5ld2RsZmlsZXMrPSIgJGRlcGxpYiIKCSAgICBmaQoJICBm
aQoJICBjb250aW51ZQoJICA7OwoJJURFUExJQlMlKQoJICBhbGxkZXBsaWJz
PXllcwoJICBjb250aW51ZQoJICA7OwoJZXNhYyAjIGNhc2UgJGRlcGxpYgoK
CWlmIHRlc3QgIiRmb3VuZCIgPSB5ZXMgfHwgdGVzdCAtZiAiJGxpYiI7IHRo
ZW4gOgoJZWxzZQoJICBmdW5jX2ZhdGFsX2Vycm9yICJjYW5ub3QgZmluZCB0
aGUgbGlicmFyeSBcYCRsaWInIG9yIHVuaGFuZGxlZCBhcmd1bWVudCBcYCRk
ZXBsaWInIgoJZmkKCgkjIENoZWNrIHRvIHNlZSB0aGF0IHRoaXMgcmVhbGx5
IGlzIGEgbGlidG9vbCBhcmNoaXZlLgoJZnVuY19sYWxpYl91bnNhZmVfcCAi
JGxpYiIgXAoJICB8fCBmdW5jX2ZhdGFsX2Vycm9yICJcYCRsaWInIGlzIG5v
dCBhIHZhbGlkIGxpYnRvb2wgYXJjaGl2ZSIKCglmdW5jX2Rpcm5hbWUgIiRs
aWIiICIiICIuIgoJbGFkaXI9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgoKCWRs
bmFtZT0KCWRsb3Blbj0KCWRscHJlb3Blbj0KCWxpYmRpcj0KCWxpYnJhcnlf
bmFtZXM9CglvbGRfbGlicmFyeT0KCWluaGVyaXRlZF9saW5rZXJfZmxhZ3M9
CgkjIElmIHRoZSBsaWJyYXJ5IHdhcyBpbnN0YWxsZWQgd2l0aCBhbiBvbGQg
cmVsZWFzZSBvZiBsaWJ0b29sLAoJIyBpdCB3aWxsIG5vdCByZWRlZmluZSB2
YXJpYWJsZXMgaW5zdGFsbGVkLCBvciBzaG91bGRub3RsaW5rCglpbnN0YWxs
ZWQ9eWVzCglzaG91bGRub3RsaW5rPW5vCglhdm9pZHRlbXBycGF0aD0KCgoJ
IyBSZWFkIHRoZSAubGEgZmlsZQoJZnVuY19zb3VyY2UgIiRsaWIiCgoJIyBD
b252ZXJ0ICItZnJhbWV3b3JrIGZvbyIgdG8gImZvby5sdGZyYW1ld29yayIK
CWlmIHRlc3QgLW4gIiRpbmhlcml0ZWRfbGlua2VyX2ZsYWdzIjsgdGhlbgoJ
ICB0bXBfaW5oZXJpdGVkX2xpbmtlcl9mbGFncz1gJEVDSE8gIiRpbmhlcml0
ZWRfbGlua2VyX2ZsYWdzIiB8ICRTRUQgJ3MvLWZyYW1ld29yayBcKFteICRd
KlwpL1wxLmx0ZnJhbWV3b3JrL2cnYAoJICBmb3IgdG1wX2luaGVyaXRlZF9s
aW5rZXJfZmxhZyBpbiAkdG1wX2luaGVyaXRlZF9saW5rZXJfZmxhZ3M7IGRv
CgkgICAgY2FzZSAiICRuZXdfaW5oZXJpdGVkX2xpbmtlcl9mbGFncyAiIGlu
CgkgICAgICAqIiAkdG1wX2luaGVyaXRlZF9saW5rZXJfZmxhZyAiKikgOzsK
CSAgICAgICopIG5ld19pbmhlcml0ZWRfbGlua2VyX2ZsYWdzKz0iICR0bXBf
aW5oZXJpdGVkX2xpbmtlcl9mbGFnIjs7CgkgICAgZXNhYwoJICBkb25lCglm
aQoJZGVwZW5kZW5jeV9saWJzPWAkRUNITyAiICRkZXBlbmRlbmN5X2xpYnMi
IHwgJFNFRCAncyUgXChbXiAkXSpcKS5sdGZyYW1ld29yayUgLWZyYW1ld29y
ayBcMSVnJ2AKCWlmIHRlc3QgIiRsaW5rbW9kZSwkcGFzcyIgPSAibGliLGxp
bmsiIHx8CgkgICB0ZXN0ICIkbGlua21vZGUsJHBhc3MiID0gInByb2csc2Nh
biIgfHwKCSAgIHsgdGVzdCAiJGxpbmttb2RlIiAhPSBwcm9nICYmIHRlc3Qg
IiRsaW5rbW9kZSIgIT0gbGliOyB9OyB0aGVuCgkgIHRlc3QgLW4gIiRkbG9w
ZW4iICYmIGRsZmlsZXMrPSIgJGRsb3BlbiIKCSAgdGVzdCAtbiAiJGRscHJl
b3BlbiIgJiYgZGxwcmVmaWxlcys9IiAkZGxwcmVvcGVuIgoJZmkKCglpZiB0
ZXN0ICIkcGFzcyIgPSBjb252OyB0aGVuCgkgICMgT25seSBjaGVjayBmb3Ig
Y29udmVuaWVuY2UgbGlicmFyaWVzCgkgIGRlcGxpYnM9IiRsaWIgJGRlcGxp
YnMiCgkgIGlmIHRlc3QgLXogIiRsaWJkaXIiOyB0aGVuCgkgICAgaWYgdGVz
dCAteiAiJG9sZF9saWJyYXJ5IjsgdGhlbgoJICAgICAgZnVuY19mYXRhbF9l
cnJvciAiY2Fubm90IGZpbmQgbmFtZSBvZiBsaW5rIGxpYnJhcnkgZm9yIFxg
JGxpYiciCgkgICAgZmkKCSAgICAjIEl0IGlzIGEgbGlidG9vbCBjb252ZW5p
ZW5jZSBsaWJyYXJ5LCBzbyBhZGQgaW4gaXRzIG9iamVjdHMuCgkgICAgY29u
dmVuaWVuY2UrPSIgJGxhZGlyLyRvYmpkaXIvJG9sZF9saWJyYXJ5IgoJICAg
IG9sZF9jb252ZW5pZW5jZSs9IiAkbGFkaXIvJG9iamRpci8kb2xkX2xpYnJh
cnkiCgkgIGVsaWYgdGVzdCAiJGxpbmttb2RlIiAhPSBwcm9nICYmIHRlc3Qg
IiRsaW5rbW9kZSIgIT0gbGliOyB0aGVuCgkgICAgZnVuY19mYXRhbF9lcnJv
ciAiXGAkbGliJyBpcyBub3QgYSBjb252ZW5pZW5jZSBsaWJyYXJ5IgoJICBm
aQoJICB0bXBfbGlicz0KCSAgZm9yIGRlcGxpYiBpbiAkZGVwZW5kZW5jeV9s
aWJzOyBkbwoJICAgIGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMiCgkgICAg
aWYgJG9wdF9wcmVzZXJ2ZV9kdXBfZGVwcyA7IHRoZW4KCSAgICAgIGNhc2Ug
IiR0bXBfbGlicyAiIGluCgkgICAgICAqIiAkZGVwbGliICIqKSBzcGVjaWFs
ZGVwbGlicys9IiAkZGVwbGliIiA7OwoJICAgICAgZXNhYwoJICAgIGZpCgkg
ICAgdG1wX2xpYnMrPSIgJGRlcGxpYiIKCSAgZG9uZQoJICBjb250aW51ZQoJ
ZmkgIyAkcGFzcyA9IGNvbnYKCgoJIyBHZXQgdGhlIG5hbWUgb2YgdGhlIGxp
YnJhcnkgd2UgbGluayBhZ2FpbnN0LgoJbGlua2xpYj0KCWlmIHRlc3QgLW4g
IiRvbGRfbGlicmFyeSIgJiYKCSAgIHsgdGVzdCAiJHByZWZlcl9zdGF0aWNf
bGlicyIgPSB5ZXMgfHwKCSAgICAgdGVzdCAiJHByZWZlcl9zdGF0aWNfbGli
cywkaW5zdGFsbGVkIiA9ICJidWlsdCxubyI7IH07IHRoZW4KCSAgbGlua2xp
Yj0kb2xkX2xpYnJhcnkKCWVsc2UKCSAgZm9yIGwgaW4gJG9sZF9saWJyYXJ5
ICRsaWJyYXJ5X25hbWVzOyBkbwoJICAgIGxpbmtsaWI9IiRsIgoJICBkb25l
CglmaQoJaWYgdGVzdCAteiAiJGxpbmtsaWIiOyB0aGVuCgkgIGZ1bmNfZmF0
YWxfZXJyb3IgImNhbm5vdCBmaW5kIG5hbWUgb2YgbGluayBsaWJyYXJ5IGZv
ciBcYCRsaWInIgoJZmkKCgkjIFRoaXMgbGlicmFyeSB3YXMgc3BlY2lmaWVk
IHdpdGggLWRsb3Blbi4KCWlmIHRlc3QgIiRwYXNzIiA9IGRsb3BlbjsgdGhl
bgoJICBpZiB0ZXN0IC16ICIkbGliZGlyIjsgdGhlbgoJICAgIGZ1bmNfZmF0
YWxfZXJyb3IgImNhbm5vdCAtZGxvcGVuIGEgY29udmVuaWVuY2UgbGlicmFy
eTogXGAkbGliJyIKCSAgZmkKCSAgaWYgdGVzdCAteiAiJGRsbmFtZSIgfHwK
CSAgICAgdGVzdCAiJGRsb3Blbl9zdXBwb3J0IiAhPSB5ZXMgfHwKCSAgICAg
dGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSBubzsgdGhlbgoJICAgICMg
SWYgdGhlcmUgaXMgbm8gZGxuYW1lLCBubyBkbG9wZW4gc3VwcG9ydCBvciB3
ZSdyZSBsaW5raW5nCgkgICAgIyBzdGF0aWNhbGx5LCB3ZSBuZWVkIHRvIHBy
ZWxvYWQuICBXZSBhbHNvIG5lZWQgdG8gcHJlbG9hZCBhbnkKCSAgICAjIGRl
cGVuZGVudCBsaWJyYXJpZXMgc28gbGlibHRkbCdzIGRlcGxpYiBwcmVsb2Fk
ZXIgZG9lc24ndAoJICAgICMgYm9tYiBvdXQgaW4gdGhlIGxvYWQgZGVwbGli
cyBwaGFzZS4KCSAgICBkbHByZWZpbGVzKz0iICRsaWIgJGRlcGVuZGVuY3lf
bGlicyIKCSAgZWxzZQoJICAgIG5ld2RsZmlsZXMrPSIgJGxpYiIKCSAgZmkK
CSAgY29udGludWUKCWZpICMgJHBhc3MgPSBkbG9wZW4KCgkjIFdlIG5lZWQg
YW4gYWJzb2x1dGUgcGF0aC4KCWNhc2UgJGxhZGlyIGluCglbXFwvXSogfCBb
QS1aYS16XTpbXFwvXSopIGFic19sYWRpcj0iJGxhZGlyIiA7OwoJKikKCSAg
YWJzX2xhZGlyPWBjZCAiJGxhZGlyIiAmJiBwd2RgCgkgIGlmIHRlc3QgLXog
IiRhYnNfbGFkaXIiOyB0aGVuCgkgICAgZnVuY193YXJuaW5nICJjYW5ub3Qg
ZGV0ZXJtaW5lIGFic29sdXRlIGRpcmVjdG9yeSBuYW1lIG9mIFxgJGxhZGly
JyIKCSAgICBmdW5jX3dhcm5pbmcgInBhc3NpbmcgaXQgbGl0ZXJhbGx5IHRv
IHRoZSBsaW5rZXIsIGFsdGhvdWdoIGl0IG1pZ2h0IGZhaWwiCgkgICAgYWJz
X2xhZGlyPSIkbGFkaXIiCgkgIGZpCgkgIDs7Cgllc2FjCglmdW5jX2Jhc2Vu
YW1lICIkbGliIgoJbGFuYW1lPSIkZnVuY19iYXNlbmFtZV9yZXN1bHQiCgoJ
IyBGaW5kIHRoZSByZWxldmFudCBvYmplY3QgZGlyZWN0b3J5IGFuZCBsaWJy
YXJ5IG5hbWUuCglpZiB0ZXN0ICJYJGluc3RhbGxlZCIgPSBYeWVzOyB0aGVu
CgkgIGlmIHRlc3QgISAtZiAiJGx0X3N5c3Jvb3QkbGliZGlyLyRsaW5rbGli
IiAmJiB0ZXN0IC1mICIkYWJzX2xhZGlyLyRsaW5rbGliIjsgdGhlbgoJICAg
IGZ1bmNfd2FybmluZyAibGlicmFyeSBcYCRsaWInIHdhcyBtb3ZlZC4iCgkg
ICAgZGlyPSIkbGFkaXIiCgkgICAgYWJzZGlyPSIkYWJzX2xhZGlyIgoJICAg
IGxpYmRpcj0iJGFic19sYWRpciIKCSAgZWxzZQoJICAgIGRpcj0iJGx0X3N5
c3Jvb3QkbGliZGlyIgoJICAgIGFic2Rpcj0iJGx0X3N5c3Jvb3QkbGliZGly
IgoJICBmaQoJICB0ZXN0ICJYJGhhcmRjb2RlX2F1dG9tYXRpYyIgPSBYeWVz
ICYmIGF2b2lkdGVtcHJwYXRoPXllcwoJZWxzZQoJICBpZiB0ZXN0ICEgLWYg
IiRsYWRpci8kb2JqZGlyLyRsaW5rbGliIiAmJiB0ZXN0IC1mICIkYWJzX2xh
ZGlyLyRsaW5rbGliIjsgdGhlbgoJICAgIGRpcj0iJGxhZGlyIgoJICAgIGFi
c2Rpcj0iJGFic19sYWRpciIKCSAgICAjIFJlbW92ZSB0aGlzIHNlYXJjaCBw
YXRoIGxhdGVyCgkgICAgbm90aW5zdF9wYXRoKz0iICRhYnNfbGFkaXIiCgkg
IGVsc2UKCSAgICBkaXI9IiRsYWRpci8kb2JqZGlyIgoJICAgIGFic2Rpcj0i
JGFic19sYWRpci8kb2JqZGlyIgoJICAgICMgUmVtb3ZlIHRoaXMgc2VhcmNo
IHBhdGggbGF0ZXIKCSAgICBub3RpbnN0X3BhdGgrPSIgJGFic19sYWRpciIK
CSAgZmkKCWZpICMgJGluc3RhbGxlZCA9IHllcwoJZnVuY19zdHJpcG5hbWUg
J2xpYicgJy5sYScgIiRsYW5hbWUiCgluYW1lPSRmdW5jX3N0cmlwbmFtZV9y
ZXN1bHQKCgkjIFRoaXMgbGlicmFyeSB3YXMgc3BlY2lmaWVkIHdpdGggLWRs
cHJlb3Blbi4KCWlmIHRlc3QgIiRwYXNzIiA9IGRscHJlb3BlbjsgdGhlbgoJ
ICBpZiB0ZXN0IC16ICIkbGliZGlyIiAmJiB0ZXN0ICIkbGlua21vZGUiID0g
cHJvZzsgdGhlbgoJICAgIGZ1bmNfZmF0YWxfZXJyb3IgIm9ubHkgbGlicmFy
aWVzIG1heSAtZGxwcmVvcGVuIGEgY29udmVuaWVuY2UgbGlicmFyeTogXGAk
bGliJyIKCSAgZmkKCSAgY2FzZSAiJGhvc3QiIGluCgkgICAgIyBzcGVjaWFs
IGhhbmRsaW5nIGZvciBwbGF0Zm9ybXMgd2l0aCBQRS1ETExzLgoJICAgICpj
eWd3aW4qIHwgKm1pbmd3KiB8ICpjZWdjYyogKQoJICAgICAgIyBMaW5rZXIg
d2lsbCBhdXRvbWF0aWNhbGx5IGxpbmsgYWdhaW5zdCBzaGFyZWQgbGlicmFy
eSBpZiBib3RoCgkgICAgICAjIHN0YXRpYyBhbmQgc2hhcmVkIGFyZSBwcmVz
ZW50LiAgVGhlcmVmb3JlLCBlbnN1cmUgd2UgZXh0cmFjdAoJICAgICAgIyBz
eW1ib2xzIGZyb20gdGhlIGltcG9ydCBsaWJyYXJ5IGlmIGEgc2hhcmVkIGxp
YnJhcnkgaXMgcHJlc2VudAoJICAgICAgIyAob3RoZXJ3aXNlLCB0aGUgZGxv
cGVuIG1vZHVsZSBuYW1lIHdpbGwgYmUgaW5jb3JyZWN0KS4gIFdlIGRvCgkg
ICAgICAjIHRoaXMgYnkgcHV0dGluZyB0aGUgaW1wb3J0IGxpYnJhcnkgbmFt
ZSBpbnRvICRuZXdkbHByZWZpbGVzLgoJICAgICAgIyBXZSByZWNvdmVyIHRo
ZSBkbG9wZW4gbW9kdWxlIG5hbWUgYnkgJ3NhdmluZycgdGhlIGxhIGZpbGUK
CSAgICAgICMgbmFtZSBpbiBhIHNwZWNpYWwgcHVycG9zZSB2YXJpYWJsZSwg
YW5kIChsYXRlcikgZXh0cmFjdGluZyB0aGUKCSAgICAgICMgZGxuYW1lIGZy
b20gdGhlIGxhIGZpbGUuCgkgICAgICBpZiB0ZXN0IC1uICIkZGxuYW1lIjsg
dGhlbgoJICAgICAgICBmdW5jX3RyX3NoICIkZGlyLyRsaW5rbGliIgoJICAg
ICAgICBldmFsICJsaWJmaWxlXyRmdW5jX3RyX3NoX3Jlc3VsdD1cJGFic19s
YWRpci9cJGxhbmFtZSIKCSAgICAgICAgbmV3ZGxwcmVmaWxlcys9IiAkZGly
LyRsaW5rbGliIgoJICAgICAgZWxzZQoJICAgICAgICBuZXdkbHByZWZpbGVz
Kz0iICRkaXIvJG9sZF9saWJyYXJ5IgoJICAgICAgICAjIEtlZXAgYSBsaXN0
IG9mIHByZW9wZW5lZCBjb252ZW5pZW5jZSBsaWJyYXJpZXMgdG8gY2hlY2sK
CSAgICAgICAgIyB0aGF0IHRoZXkgYXJlIGJlaW5nIHVzZWQgY29ycmVjdGx5
IGluIHRoZSBsaW5rIHBhc3MuCgkgICAgICAgIHRlc3QgLXogIiRsaWJkaXIi
ICYmIFwKCSAgICAgICAgICBkbHByZWNvbnZlbmllbmNlbGlicys9IiAkZGly
LyRvbGRfbGlicmFyeSIKCSAgICAgIGZpCgkgICAgOzsKCSAgICAqICkKCSAg
ICAgICMgUHJlZmVyIHVzaW5nIGEgc3RhdGljIGxpYnJhcnkgKHNvIHRoYXQg
bm8gc2lsbHkgX0RZTkFNSUMgc3ltYm9scwoJICAgICAgIyBhcmUgcmVxdWly
ZWQgdG8gbGluaykuCgkgICAgICBpZiB0ZXN0IC1uICIkb2xkX2xpYnJhcnki
OyB0aGVuCgkgICAgICAgIG5ld2RscHJlZmlsZXMrPSIgJGRpci8kb2xkX2xp
YnJhcnkiCgkgICAgICAgICMgS2VlcCBhIGxpc3Qgb2YgcHJlb3BlbmVkIGNv
bnZlbmllbmNlIGxpYnJhcmllcyB0byBjaGVjawoJICAgICAgICAjIHRoYXQg
dGhleSBhcmUgYmVpbmcgdXNlZCBjb3JyZWN0bHkgaW4gdGhlIGxpbmsgcGFz
cy4KCSAgICAgICAgdGVzdCAteiAiJGxpYmRpciIgJiYgXAoJICAgICAgICAg
IGRscHJlY29udmVuaWVuY2VsaWJzKz0iICRkaXIvJG9sZF9saWJyYXJ5IgoJ
ICAgICAgIyBPdGhlcndpc2UsIHVzZSB0aGUgZGxuYW1lLCBzbyB0aGF0IGx0
X2Rsb3BlbiBmaW5kcyBpdC4KCSAgICAgIGVsaWYgdGVzdCAtbiAiJGRsbmFt
ZSI7IHRoZW4KCSAgICAgICAgbmV3ZGxwcmVmaWxlcys9IiAkZGlyLyRkbG5h
bWUiCgkgICAgICBlbHNlCgkgICAgICAgIG5ld2RscHJlZmlsZXMrPSIgJGRp
ci8kbGlua2xpYiIKCSAgICAgIGZpCgkgICAgOzsKCSAgZXNhYwoJZmkgIyAk
cGFzcyA9IGRscHJlb3BlbgoKCWlmIHRlc3QgLXogIiRsaWJkaXIiOyB0aGVu
CgkgICMgTGluayB0aGUgY29udmVuaWVuY2UgbGlicmFyeQoJICBpZiB0ZXN0
ICIkbGlua21vZGUiID0gbGliOyB0aGVuCgkgICAgZGVwbGlicz0iJGRpci8k
b2xkX2xpYnJhcnkgJGRlcGxpYnMiCgkgIGVsaWYgdGVzdCAiJGxpbmttb2Rl
LCRwYXNzIiA9ICJwcm9nLGxpbmsiOyB0aGVuCgkgICAgY29tcGlsZV9kZXBs
aWJzPSIkZGlyLyRvbGRfbGlicmFyeSAkY29tcGlsZV9kZXBsaWJzIgoJICAg
IGZpbmFsaXplX2RlcGxpYnM9IiRkaXIvJG9sZF9saWJyYXJ5ICRmaW5hbGl6
ZV9kZXBsaWJzIgoJICBlbHNlCgkgICAgZGVwbGlicz0iJGxpYiAkZGVwbGli
cyIgIyB1c2VkIGZvciBwcm9nLHNjYW4gcGFzcwoJICBmaQoJICBjb250aW51
ZQoJZmkKCgoJaWYgdGVzdCAiJGxpbmttb2RlIiA9IHByb2cgJiYgdGVzdCAi
JHBhc3MiICE9IGxpbms7IHRoZW4KCSAgbmV3bGliX3NlYXJjaF9wYXRoKz0i
ICRsYWRpciIKCSAgZGVwbGlicz0iJGxpYiAkZGVwbGlicyIKCgkgIGxpbmth
bGxkZXBsaWJzPW5vCgkgIGlmIHRlc3QgIiRsaW5rX2FsbF9kZXBsaWJzIiAh
PSBubyB8fCB0ZXN0IC16ICIkbGlicmFyeV9uYW1lcyIgfHwKCSAgICAgdGVz
dCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSBubzsgdGhlbgoJICAgIGxpbmth
bGxkZXBsaWJzPXllcwoJICBmaQoKCSAgdG1wX2xpYnM9CgkgIGZvciBkZXBs
aWIgaW4gJGRlcGVuZGVuY3lfbGliczsgZG8KCSAgICBjYXNlICRkZXBsaWIg
aW4KCSAgICAtTCopIGZ1bmNfc3RyaXBuYW1lICctTCcgJycgIiRkZXBsaWIi
CgkgICAgICAgICBmdW5jX3Jlc29sdmVfc3lzcm9vdCAiJGZ1bmNfc3RyaXBu
YW1lX3Jlc3VsdCIKCSAgICAgICAgIG5ld2xpYl9zZWFyY2hfcGF0aCs9IiAk
ZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVzdWx0IgoJCSA7OwoJICAgIGVzYWMK
CSAgICAjIE5lZWQgdG8gbGluayBhZ2FpbnN0IGFsbCBkZXBlbmRlbmN5X2xp
YnM/CgkgICAgaWYgdGVzdCAiJGxpbmthbGxkZXBsaWJzIiA9IHllczsgdGhl
bgoJICAgICAgZGVwbGlicz0iJGRlcGxpYiAkZGVwbGlicyIKCSAgICBlbHNl
CgkgICAgICAjIE5lZWQgdG8gaGFyZGNvZGUgc2hhcmVkIGxpYnJhcnkgcGF0
aHMKCSAgICAgICMgb3IvYW5kIGxpbmsgYWdhaW5zdCBzdGF0aWMgbGlicmFy
aWVzCgkgICAgICBuZXdkZXBlbmRlbmN5X2xpYnM9IiRkZXBsaWIgJG5ld2Rl
cGVuZGVuY3lfbGlicyIKCSAgICBmaQoJICAgIGlmICRvcHRfcHJlc2VydmVf
ZHVwX2RlcHMgOyB0aGVuCgkgICAgICBjYXNlICIkdG1wX2xpYnMgIiBpbgoJ
ICAgICAgKiIgJGRlcGxpYiAiKikgc3BlY2lhbGRlcGxpYnMrPSIgJGRlcGxp
YiIgOzsKCSAgICAgIGVzYWMKCSAgICBmaQoJICAgIHRtcF9saWJzKz0iICRk
ZXBsaWIiCgkgIGRvbmUgIyBmb3IgZGVwbGliCgkgIGNvbnRpbnVlCglmaSAj
ICRsaW5rbW9kZSA9IHByb2cuLi4KCglpZiB0ZXN0ICIkbGlua21vZGUsJHBh
c3MiID0gInByb2csbGluayI7IHRoZW4KCSAgaWYgdGVzdCAtbiAiJGxpYnJh
cnlfbmFtZXMiICYmCgkgICAgIHsgeyB0ZXN0ICIkcHJlZmVyX3N0YXRpY19s
aWJzIiA9IG5vIHx8CgkgICAgICAgICB0ZXN0ICIkcHJlZmVyX3N0YXRpY19s
aWJzLCRpbnN0YWxsZWQiID0gImJ1aWx0LHllcyI7IH0gfHwKCSAgICAgICB0
ZXN0IC16ICIkb2xkX2xpYnJhcnkiOyB9OyB0aGVuCgkgICAgIyBXZSBuZWVk
IHRvIGhhcmRjb2RlIHRoZSBsaWJyYXJ5IHBhdGgKCSAgICBpZiB0ZXN0IC1u
ICIkc2hsaWJwYXRoX3ZhciIgJiYgdGVzdCAteiAiJGF2b2lkdGVtcHJwYXRo
IiA7IHRoZW4KCSAgICAgICMgTWFrZSBzdXJlIHRoZSBycGF0aCBjb250YWlu
cyBvbmx5IHVuaXF1ZSBkaXJlY3Rvcmllcy4KCSAgICAgIGNhc2UgIiR0ZW1w
X3JwYXRoOiIgaW4KCSAgICAgICoiJGFic2RpcjoiKikgOzsKCSAgICAgICop
IHRlbXBfcnBhdGgrPSIkYWJzZGlyOiIgOzsKCSAgICAgIGVzYWMKCSAgICBm
aQoKCSAgICAjIEhhcmRjb2RlIHRoZSBsaWJyYXJ5IHBhdGguCgkgICAgIyBT
a2lwIGRpcmVjdG9yaWVzIHRoYXQgYXJlIGluIHRoZSBzeXN0ZW0gZGVmYXVs
dCBydW4tdGltZQoJICAgICMgc2VhcmNoIHBhdGguCgkgICAgY2FzZSAiICRz
eXNfbGliX2Rsc2VhcmNoX3BhdGggIiBpbgoJICAgICoiICRhYnNkaXIgIiop
IDs7CgkgICAgKikKCSAgICAgIGNhc2UgIiRjb21waWxlX3JwYXRoICIgaW4K
CSAgICAgICoiICRhYnNkaXIgIiopIDs7CgkgICAgICAqKSBjb21waWxlX3Jw
YXRoKz0iICRhYnNkaXIiIDs7CgkgICAgICBlc2FjCgkgICAgICA7OwoJICAg
IGVzYWMKCSAgICBjYXNlICIgJHN5c19saWJfZGxzZWFyY2hfcGF0aCAiIGlu
CgkgICAgKiIgJGxpYmRpciAiKikgOzsKCSAgICAqKQoJICAgICAgY2FzZSAi
JGZpbmFsaXplX3JwYXRoICIgaW4KCSAgICAgICoiICRsaWJkaXIgIiopIDs7
CgkgICAgICAqKSBmaW5hbGl6ZV9ycGF0aCs9IiAkbGliZGlyIiA7OwoJICAg
ICAgZXNhYwoJICAgICAgOzsKCSAgICBlc2FjCgkgIGZpICMgJGxpbmttb2Rl
LCRwYXNzID0gcHJvZyxsaW5rLi4uCgoJICBpZiB0ZXN0ICIkYWxsZGVwbGli
cyIgPSB5ZXMgJiYKCSAgICAgeyB0ZXN0ICIkZGVwbGlic19jaGVja19tZXRo
b2QiID0gcGFzc19hbGwgfHwKCSAgICAgICB7IHRlc3QgIiRidWlsZF9saWJ0
b29sX2xpYnMiID0geWVzICYmCgkJIHRlc3QgLW4gIiRsaWJyYXJ5X25hbWVz
IjsgfTsgfTsgdGhlbgoJICAgICMgV2Ugb25seSBuZWVkIHRvIHNlYXJjaCBm
b3Igc3RhdGljIGxpYnJhcmllcwoJICAgIGNvbnRpbnVlCgkgIGZpCglmaQoK
CWxpbmtfc3RhdGljPW5vICMgV2hldGhlciB0aGUgZGVwbGliIHdpbGwgYmUg
bGlua2VkIHN0YXRpY2FsbHkKCXVzZV9zdGF0aWNfbGlicz0kcHJlZmVyX3N0
YXRpY19saWJzCglpZiB0ZXN0ICIkdXNlX3N0YXRpY19saWJzIiA9IGJ1aWx0
ICYmIHRlc3QgIiRpbnN0YWxsZWQiID0geWVzOyB0aGVuCgkgIHVzZV9zdGF0
aWNfbGlicz1ubwoJZmkKCWlmIHRlc3QgLW4gIiRsaWJyYXJ5X25hbWVzIiAm
JgoJICAgeyB0ZXN0ICIkdXNlX3N0YXRpY19saWJzIiA9IG5vIHx8IHRlc3Qg
LXogIiRvbGRfbGlicmFyeSI7IH07IHRoZW4KCSAgY2FzZSAkaG9zdCBpbgoJ
ICAqY3lnd2luKiB8ICptaW5ndyogfCAqY2VnY2MqKQoJICAgICAgIyBObyBw
b2ludCBpbiByZWxpbmtpbmcgRExMcyBiZWNhdXNlIHBhdGhzIGFyZSBub3Qg
ZW5jb2RlZAoJICAgICAgbm90aW5zdF9kZXBsaWJzKz0iICRsaWIiCgkgICAg
ICBuZWVkX3JlbGluaz1ubwoJICAgIDs7CgkgICopCgkgICAgaWYgdGVzdCAi
JGluc3RhbGxlZCIgPSBubzsgdGhlbgoJICAgICAgbm90aW5zdF9kZXBsaWJz
Kz0iICRsaWIiCgkgICAgICBuZWVkX3JlbGluaz15ZXMKCSAgICBmaQoJICAg
IDs7CgkgIGVzYWMKCSAgIyBUaGlzIGlzIGEgc2hhcmVkIGxpYnJhcnkKCgkg
ICMgV2FybiBhYm91dCBwb3J0YWJpbGl0eSwgY2FuJ3QgbGluayBhZ2FpbnN0
IC1tb2R1bGUncyBvbiBzb21lCgkgICMgc3lzdGVtcyAoZGFyd2luKS4gIERv
bid0IGJsZWF0IGFib3V0IGRsb3BlbmVkIG1vZHVsZXMgdGhvdWdoIQoJICBk
bG9wZW5tb2R1bGU9IiIKCSAgZm9yIGRscHJlbW9kdWxldGVzdCBpbiAkZGxw
cmVmaWxlczsgZG8KCSAgICBpZiB0ZXN0ICJYJGRscHJlbW9kdWxldGVzdCIg
PSAiWCRsaWIiOyB0aGVuCgkgICAgICBkbG9wZW5tb2R1bGU9IiRkbHByZW1v
ZHVsZXRlc3QiCgkgICAgICBicmVhawoJICAgIGZpCgkgIGRvbmUKCSAgaWYg
dGVzdCAteiAiJGRsb3Blbm1vZHVsZSIgJiYgdGVzdCAiJHNob3VsZG5vdGxp
bmsiID0geWVzICYmIHRlc3QgIiRwYXNzIiA9IGxpbms7IHRoZW4KCSAgICBl
Y2hvCgkgICAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IHByb2c7IHRoZW4KCSAg
ICAgICRFQ0hPICIqKiogV2FybmluZzogTGlua2luZyB0aGUgZXhlY3V0YWJs
ZSAkb3V0cHV0IGFnYWluc3QgdGhlIGxvYWRhYmxlIG1vZHVsZSIKCSAgICBl
bHNlCgkgICAgICAkRUNITyAiKioqIFdhcm5pbmc6IExpbmtpbmcgdGhlIHNo
YXJlZCBsaWJyYXJ5ICRvdXRwdXQgYWdhaW5zdCB0aGUgbG9hZGFibGUgbW9k
dWxlIgoJICAgIGZpCgkgICAgJEVDSE8gIioqKiAkbGlua2xpYiBpcyBub3Qg
cG9ydGFibGUhIgoJICBmaQoJICBpZiB0ZXN0ICIkbGlua21vZGUiID0gbGli
ICYmCgkgICAgIHRlc3QgIiRoYXJkY29kZV9pbnRvX2xpYnMiID0geWVzOyB0
aGVuCgkgICAgIyBIYXJkY29kZSB0aGUgbGlicmFyeSBwYXRoLgoJICAgICMg
U2tpcCBkaXJlY3RvcmllcyB0aGF0IGFyZSBpbiB0aGUgc3lzdGVtIGRlZmF1
bHQgcnVuLXRpbWUKCSAgICAjIHNlYXJjaCBwYXRoLgoJICAgIGNhc2UgIiAk
c3lzX2xpYl9kbHNlYXJjaF9wYXRoICIgaW4KCSAgICAqIiAkYWJzZGlyICIq
KSA7OwoJICAgICopCgkgICAgICBjYXNlICIkY29tcGlsZV9ycGF0aCAiIGlu
CgkgICAgICAqIiAkYWJzZGlyICIqKSA7OwoJICAgICAgKikgY29tcGlsZV9y
cGF0aCs9IiAkYWJzZGlyIiA7OwoJICAgICAgZXNhYwoJICAgICAgOzsKCSAg
ICBlc2FjCgkgICAgY2FzZSAiICRzeXNfbGliX2Rsc2VhcmNoX3BhdGggIiBp
bgoJICAgICoiICRsaWJkaXIgIiopIDs7CgkgICAgKikKCSAgICAgIGNhc2Ug
IiRmaW5hbGl6ZV9ycGF0aCAiIGluCgkgICAgICAqIiAkbGliZGlyICIqKSA7
OwoJICAgICAgKikgZmluYWxpemVfcnBhdGgrPSIgJGxpYmRpciIgOzsKCSAg
ICAgIGVzYWMKCSAgICAgIDs7CgkgICAgZXNhYwoJICBmaQoKCSAgaWYgdGVz
dCAtbiAiJG9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzIjsgdGhlbgoJ
ICAgICMgZmlndXJlIG91dCB0aGUgc29uYW1lCgkgICAgc2V0IGR1bW15ICRs
aWJyYXJ5X25hbWVzCgkgICAgc2hpZnQKCSAgICByZWFsbmFtZT0iJDEiCgkg
ICAgc2hpZnQKCSAgICBsaWJuYW1lPWBldmFsICJcXCRFQ0hPIFwiJGxpYm5h
bWVfc3BlY1wiImAKCSAgICAjIHVzZSBkbG5hbWUgaWYgd2UgZ290IGl0LiBp
dCdzIHBlcmZlY3RseSBnb29kLCBubz8KCSAgICBpZiB0ZXN0IC1uICIkZGxu
YW1lIjsgdGhlbgoJICAgICAgc29uYW1lPSIkZGxuYW1lIgoJICAgIGVsaWYg
dGVzdCAtbiAiJHNvbmFtZV9zcGVjIjsgdGhlbgoJICAgICAgIyBibGVoIHdp
bmRvd3MKCSAgICAgIGNhc2UgJGhvc3QgaW4KCSAgICAgICpjeWd3aW4qIHwg
bWluZ3cqIHwgKmNlZ2NjKikKCSAgICAgICAgZnVuY19hcml0aCAkY3VycmVu
dCAtICRhZ2UKCQltYWpvcj0kZnVuY19hcml0aF9yZXN1bHQKCQl2ZXJzdWZm
aXg9Ii0kbWFqb3IiCgkJOzsKCSAgICAgIGVzYWMKCSAgICAgIGV2YWwgc29u
YW1lPVwiJHNvbmFtZV9zcGVjXCIKCSAgICBlbHNlCgkgICAgICBzb25hbWU9
IiRyZWFsbmFtZSIKCSAgICBmaQoKCSAgICAjIE1ha2UgYSBuZXcgbmFtZSBm
b3IgdGhlIGV4dHJhY3RfZXhwc3ltc19jbWRzIHRvIHVzZQoJICAgIHNvcm9v
dD0iJHNvbmFtZSIKCSAgICBmdW5jX2Jhc2VuYW1lICIkc29yb290IgoJICAg
IHNvbmFtZT0iJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgoJICAgIGZ1bmNfc3Ry
aXBuYW1lICdsaWInICcuZGxsJyAiJHNvbmFtZSIKCSAgICBuZXdsaWI9bGli
aW1wLSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQuYQoKCSAgICAjIElmIHRoZSBs
aWJyYXJ5IGhhcyBubyBleHBvcnQgbGlzdCwgdGhlbiBjcmVhdGUgb25lIG5v
dwoJICAgIGlmIHRlc3QgLWYgIiRvdXRwdXRfb2JqZGlyLyRzb25hbWUtZGVm
IjsgdGhlbiA6CgkgICAgZWxzZQoJICAgICAgZnVuY192ZXJib3NlICJleHRy
YWN0aW5nIGV4cG9ydGVkIHN5bWJvbCBsaXN0IGZyb20gXGAkc29uYW1lJyIK
CSAgICAgIGZ1bmNfZXhlY3V0ZV9jbWRzICIkZXh0cmFjdF9leHBzeW1zX2Nt
ZHMiICdleGl0ICQ/JwoJICAgIGZpCgoJICAgICMgQ3JlYXRlICRuZXdsaWIK
CSAgICBpZiB0ZXN0IC1mICIkb3V0cHV0X29iamRpci8kbmV3bGliIjsgdGhl
biA6OyBlbHNlCgkgICAgICBmdW5jX3ZlcmJvc2UgImdlbmVyYXRpbmcgaW1w
b3J0IGxpYnJhcnkgZm9yIFxgJHNvbmFtZSciCgkgICAgICBmdW5jX2V4ZWN1
dGVfY21kcyAiJG9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzIiAnZXhp
dCAkPycKCSAgICBmaQoJICAgICMgbWFrZSBzdXJlIHRoZSBsaWJyYXJ5IHZh
cmlhYmxlcyBhcmUgcG9pbnRpbmcgdG8gdGhlIG5ldyBsaWJyYXJ5CgkgICAg
ZGlyPSRvdXRwdXRfb2JqZGlyCgkgICAgbGlua2xpYj0kbmV3bGliCgkgIGZp
ICMgdGVzdCAtbiAiJG9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzIgoK
CSAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IHByb2cgfHwgdGVzdCAiJG9wdF9t
b2RlIiAhPSByZWxpbms7IHRoZW4KCSAgICBhZGRfc2hsaWJwYXRoPQoJICAg
IGFkZF9kaXI9CgkgICAgYWRkPQoJICAgIGxpYl9saW5rZWQ9eWVzCgkgICAg
Y2FzZSAkaGFyZGNvZGVfYWN0aW9uIGluCgkgICAgaW1tZWRpYXRlIHwgdW5z
dXBwb3J0ZWQpCgkgICAgICBpZiB0ZXN0ICIkaGFyZGNvZGVfZGlyZWN0IiA9
IG5vOyB0aGVuCgkJYWRkPSIkZGlyLyRsaW5rbGliIgoJCWNhc2UgJGhvc3Qg
aW4KCQkgICotKi1zY28zLjJ2NS4wLlswMjRdKikgYWRkX2Rpcj0iLUwkZGly
IiA7OwoJCSAgKi0qLXN5c3Y0KnV3MiopIGFkZF9kaXI9Ii1MJGRpciIgOzsK
CQkgICotKi1zeXN2NU9wZW5VTklYKiB8ICotKi1zeXN2NVVuaXhXYXJlNy5b
MDFdLlsxMF0qIHwgXAoJCSAgICAqLSotdW5peHdhcmU3KikgYWRkX2Rpcj0i
LUwkZGlyIiA7OwoJCSAgKi0qLWRhcndpbiogKQoJCSAgICAjIGlmIHRoZSBs
aWIgaXMgYSAobm9uLWRsb3BlbmVkKSBtb2R1bGUgdGhlbiB3ZSBjYW4gbm90
CgkJICAgICMgbGluayBhZ2FpbnN0IGl0LCBzb21lb25lIGlzIGlnbm9yaW5n
IHRoZSBlYXJsaWVyIHdhcm5pbmdzCgkJICAgIGlmIC91c3IvYmluL2ZpbGUg
LUwgJGFkZCAyPiAvZGV2L251bGwgfAoJCQkgJEdSRVAgIjogW146XSogYnVu
ZGxlIiA+L2Rldi9udWxsIDsgdGhlbgoJCSAgICAgIGlmIHRlc3QgIlgkZGxv
cGVubW9kdWxlIiAhPSAiWCRsaWIiOyB0aGVuCgkJCSRFQ0hPICIqKiogV2Fy
bmluZzogbGliICRsaW5rbGliIGlzIGEgbW9kdWxlLCBub3QgYSBzaGFyZWQg
bGlicmFyeSIKCQkJaWYgdGVzdCAteiAiJG9sZF9saWJyYXJ5IiA7IHRoZW4K
CQkJICBlY2hvCgkJCSAgZWNobyAiKioqIEFuZCB0aGVyZSBkb2Vzbid0IHNl
ZW0gdG8gYmUgYSBzdGF0aWMgYXJjaGl2ZSBhdmFpbGFibGUiCgkJCSAgZWNo
byAiKioqIFRoZSBsaW5rIHdpbGwgcHJvYmFibHkgZmFpbCwgc29ycnkiCgkJ
CWVsc2UKCQkJICBhZGQ9IiRkaXIvJG9sZF9saWJyYXJ5IgoJCQlmaQoJCSAg
ICAgIGVsaWYgdGVzdCAtbiAiJG9sZF9saWJyYXJ5IjsgdGhlbgoJCQlhZGQ9
IiRkaXIvJG9sZF9saWJyYXJ5IgoJCSAgICAgIGZpCgkJICAgIGZpCgkJZXNh
YwoJICAgICAgZWxpZiB0ZXN0ICIkaGFyZGNvZGVfbWludXNfTCIgPSBubzsg
dGhlbgoJCWNhc2UgJGhvc3QgaW4KCQkqLSotc3Vub3MqKSBhZGRfc2hsaWJw
YXRoPSIkZGlyIiA7OwoJCWVzYWMKCQlhZGRfZGlyPSItTCRkaXIiCgkJYWRk
PSItbCRuYW1lIgoJICAgICAgZWxpZiB0ZXN0ICIkaGFyZGNvZGVfc2hsaWJw
YXRoX3ZhciIgPSBubzsgdGhlbgoJCWFkZF9zaGxpYnBhdGg9IiRkaXIiCgkJ
YWRkPSItbCRuYW1lIgoJICAgICAgZWxzZQoJCWxpYl9saW5rZWQ9bm8KCSAg
ICAgIGZpCgkgICAgICA7OwoJICAgIHJlbGluaykKCSAgICAgIGlmIHRlc3Qg
IiRoYXJkY29kZV9kaXJlY3QiID0geWVzICYmCgkgICAgICAgICB0ZXN0ICIk
aGFyZGNvZGVfZGlyZWN0X2Fic29sdXRlIiA9IG5vOyB0aGVuCgkJYWRkPSIk
ZGlyLyRsaW5rbGliIgoJICAgICAgZWxpZiB0ZXN0ICIkaGFyZGNvZGVfbWlu
dXNfTCIgPSB5ZXM7IHRoZW4KCQlhZGRfZGlyPSItTCRhYnNkaXIiCgkJIyBU
cnkgbG9va2luZyBmaXJzdCBpbiB0aGUgbG9jYXRpb24gd2UncmUgYmVpbmcg
aW5zdGFsbGVkIHRvLgoJCWlmIHRlc3QgLW4gIiRpbnN0X3ByZWZpeF9kaXIi
OyB0aGVuCgkJICBjYXNlICRsaWJkaXIgaW4KCQkgICAgW1xcL10qKQoJCSAg
ICAgIGFkZF9kaXIrPSIgLUwkaW5zdF9wcmVmaXhfZGlyJGxpYmRpciIKCQkg
ICAgICA7OwoJCSAgZXNhYwoJCWZpCgkJYWRkPSItbCRuYW1lIgoJICAgICAg
ZWxpZiB0ZXN0ICIkaGFyZGNvZGVfc2hsaWJwYXRoX3ZhciIgPSB5ZXM7IHRo
ZW4KCQlhZGRfc2hsaWJwYXRoPSIkZGlyIgoJCWFkZD0iLWwkbmFtZSIKCSAg
ICAgIGVsc2UKCQlsaWJfbGlua2VkPW5vCgkgICAgICBmaQoJICAgICAgOzsK
CSAgICAqKSBsaWJfbGlua2VkPW5vIDs7CgkgICAgZXNhYwoKCSAgICBpZiB0
ZXN0ICIkbGliX2xpbmtlZCIgIT0geWVzOyB0aGVuCgkgICAgICBmdW5jX2Zh
dGFsX2NvbmZpZ3VyYXRpb24gInVuc3VwcG9ydGVkIGhhcmRjb2RlIHByb3Bl
cnRpZXMiCgkgICAgZmkKCgkgICAgaWYgdGVzdCAtbiAiJGFkZF9zaGxpYnBh
dGgiOyB0aGVuCgkgICAgICBjYXNlIDokY29tcGlsZV9zaGxpYnBhdGg6IGlu
CgkgICAgICAqIjokYWRkX3NobGlicGF0aDoiKikgOzsKCSAgICAgICopIGNv
bXBpbGVfc2hsaWJwYXRoKz0iJGFkZF9zaGxpYnBhdGg6IiA7OwoJICAgICAg
ZXNhYwoJICAgIGZpCgkgICAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IHByb2c7
IHRoZW4KCSAgICAgIHRlc3QgLW4gIiRhZGRfZGlyIiAmJiBjb21waWxlX2Rl
cGxpYnM9IiRhZGRfZGlyICRjb21waWxlX2RlcGxpYnMiCgkgICAgICB0ZXN0
IC1uICIkYWRkIiAmJiBjb21waWxlX2RlcGxpYnM9IiRhZGQgJGNvbXBpbGVf
ZGVwbGlicyIKCSAgICBlbHNlCgkgICAgICB0ZXN0IC1uICIkYWRkX2RpciIg
JiYgZGVwbGlicz0iJGFkZF9kaXIgJGRlcGxpYnMiCgkgICAgICB0ZXN0IC1u
ICIkYWRkIiAmJiBkZXBsaWJzPSIkYWRkICRkZXBsaWJzIgoJICAgICAgaWYg
dGVzdCAiJGhhcmRjb2RlX2RpcmVjdCIgIT0geWVzICYmCgkJIHRlc3QgIiRo
YXJkY29kZV9taW51c19MIiAhPSB5ZXMgJiYKCQkgdGVzdCAiJGhhcmRjb2Rl
X3NobGlicGF0aF92YXIiID0geWVzOyB0aGVuCgkJY2FzZSA6JGZpbmFsaXpl
X3NobGlicGF0aDogaW4KCQkqIjokbGliZGlyOiIqKSA7OwoJCSopIGZpbmFs
aXplX3NobGlicGF0aCs9IiRsaWJkaXI6IiA7OwoJCWVzYWMKCSAgICAgIGZp
CgkgICAgZmkKCSAgZmkKCgkgIGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBwcm9n
IHx8IHRlc3QgIiRvcHRfbW9kZSIgPSByZWxpbms7IHRoZW4KCSAgICBhZGRf
c2hsaWJwYXRoPQoJICAgIGFkZF9kaXI9CgkgICAgYWRkPQoJICAgICMgRmlu
YWxpemUgY29tbWFuZCBmb3IgYm90aCBpcyBzaW1wbGU6IGp1c3QgaGFyZGNv
ZGUgaXQuCgkgICAgaWYgdGVzdCAiJGhhcmRjb2RlX2RpcmVjdCIgPSB5ZXMg
JiYKCSAgICAgICB0ZXN0ICIkaGFyZGNvZGVfZGlyZWN0X2Fic29sdXRlIiA9
IG5vOyB0aGVuCgkgICAgICBhZGQ9IiRsaWJkaXIvJGxpbmtsaWIiCgkgICAg
ZWxpZiB0ZXN0ICIkaGFyZGNvZGVfbWludXNfTCIgPSB5ZXM7IHRoZW4KCSAg
ICAgIGFkZF9kaXI9Ii1MJGxpYmRpciIKCSAgICAgIGFkZD0iLWwkbmFtZSIK
CSAgICBlbGlmIHRlc3QgIiRoYXJkY29kZV9zaGxpYnBhdGhfdmFyIiA9IHll
czsgdGhlbgoJICAgICAgY2FzZSA6JGZpbmFsaXplX3NobGlicGF0aDogaW4K
CSAgICAgICoiOiRsaWJkaXI6IiopIDs7CgkgICAgICAqKSBmaW5hbGl6ZV9z
aGxpYnBhdGgrPSIkbGliZGlyOiIgOzsKCSAgICAgIGVzYWMKCSAgICAgIGFk
ZD0iLWwkbmFtZSIKCSAgICBlbGlmIHRlc3QgIiRoYXJkY29kZV9hdXRvbWF0
aWMiID0geWVzOyB0aGVuCgkgICAgICBpZiB0ZXN0IC1uICIkaW5zdF9wcmVm
aXhfZGlyIiAmJgoJCSB0ZXN0IC1mICIkaW5zdF9wcmVmaXhfZGlyJGxpYmRp
ci8kbGlua2xpYiIgOyB0aGVuCgkJYWRkPSIkaW5zdF9wcmVmaXhfZGlyJGxp
YmRpci8kbGlua2xpYiIKCSAgICAgIGVsc2UKCQlhZGQ9IiRsaWJkaXIvJGxp
bmtsaWIiCgkgICAgICBmaQoJICAgIGVsc2UKCSAgICAgICMgV2UgY2Fubm90
IHNlZW0gdG8gaGFyZGNvZGUgaXQsIGd1ZXNzIHdlJ2xsIGZha2UgaXQuCgkg
ICAgICBhZGRfZGlyPSItTCRsaWJkaXIiCgkgICAgICAjIFRyeSBsb29raW5n
IGZpcnN0IGluIHRoZSBsb2NhdGlvbiB3ZSdyZSBiZWluZyBpbnN0YWxsZWQg
dG8uCgkgICAgICBpZiB0ZXN0IC1uICIkaW5zdF9wcmVmaXhfZGlyIjsgdGhl
bgoJCWNhc2UgJGxpYmRpciBpbgoJCSAgW1xcL10qKQoJCSAgICBhZGRfZGly
Kz0iIC1MJGluc3RfcHJlZml4X2RpciRsaWJkaXIiCgkJICAgIDs7CgkJZXNh
YwoJICAgICAgZmkKCSAgICAgIGFkZD0iLWwkbmFtZSIKCSAgICBmaQoKCSAg
ICBpZiB0ZXN0ICIkbGlua21vZGUiID0gcHJvZzsgdGhlbgoJICAgICAgdGVz
dCAtbiAiJGFkZF9kaXIiICYmIGZpbmFsaXplX2RlcGxpYnM9IiRhZGRfZGly
ICRmaW5hbGl6ZV9kZXBsaWJzIgoJICAgICAgdGVzdCAtbiAiJGFkZCIgJiYg
ZmluYWxpemVfZGVwbGlicz0iJGFkZCAkZmluYWxpemVfZGVwbGlicyIKCSAg
ICBlbHNlCgkgICAgICB0ZXN0IC1uICIkYWRkX2RpciIgJiYgZGVwbGlicz0i
JGFkZF9kaXIgJGRlcGxpYnMiCgkgICAgICB0ZXN0IC1uICIkYWRkIiAmJiBk
ZXBsaWJzPSIkYWRkICRkZXBsaWJzIgoJICAgIGZpCgkgIGZpCgllbGlmIHRl
c3QgIiRsaW5rbW9kZSIgPSBwcm9nOyB0aGVuCgkgICMgSGVyZSB3ZSBhc3N1
bWUgdGhhdCBvbmUgb2YgaGFyZGNvZGVfZGlyZWN0IG9yIGhhcmRjb2RlX21p
bnVzX0wKCSAgIyBpcyBub3QgdW5zdXBwb3J0ZWQuICBUaGlzIGlzIHZhbGlk
IG9uIGFsbCBrbm93biBzdGF0aWMgYW5kCgkgICMgc2hhcmVkIHBsYXRmb3Jt
cy4KCSAgaWYgdGVzdCAiJGhhcmRjb2RlX2RpcmVjdCIgIT0gdW5zdXBwb3J0
ZWQ7IHRoZW4KCSAgICB0ZXN0IC1uICIkb2xkX2xpYnJhcnkiICYmIGxpbmts
aWI9IiRvbGRfbGlicmFyeSIKCSAgICBjb21waWxlX2RlcGxpYnM9IiRkaXIv
JGxpbmtsaWIgJGNvbXBpbGVfZGVwbGlicyIKCSAgICBmaW5hbGl6ZV9kZXBs
aWJzPSIkZGlyLyRsaW5rbGliICRmaW5hbGl6ZV9kZXBsaWJzIgoJICBlbHNl
CgkgICAgY29tcGlsZV9kZXBsaWJzPSItbCRuYW1lIC1MJGRpciAkY29tcGls
ZV9kZXBsaWJzIgoJICAgIGZpbmFsaXplX2RlcGxpYnM9Ii1sJG5hbWUgLUwk
ZGlyICRmaW5hbGl6ZV9kZXBsaWJzIgoJICBmaQoJZWxpZiB0ZXN0ICIkYnVp
bGRfbGlidG9vbF9saWJzIiA9IHllczsgdGhlbgoJICAjIE5vdCBhIHNoYXJl
ZCBsaWJyYXJ5CgkgIGlmIHRlc3QgIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIg
IT0gcGFzc19hbGw7IHRoZW4KCSAgICAjIFdlJ3JlIHRyeWluZyBsaW5rIGEg
c2hhcmVkIGxpYnJhcnkgYWdhaW5zdCBhIHN0YXRpYyBvbmUKCSAgICAjIGJ1
dCB0aGUgc3lzdGVtIGRvZXNuJ3Qgc3VwcG9ydCBpdC4KCgkgICAgIyBKdXN0
IHByaW50IGEgd2FybmluZyBhbmQgYWRkIHRoZSBsaWJyYXJ5IHRvIGRlcGVu
ZGVuY3lfbGlicyBzbwoJICAgICMgdGhhdCB0aGUgcHJvZ3JhbSBjYW4gYmUg
bGlua2VkIGFnYWluc3QgdGhlIHN0YXRpYyBsaWJyYXJ5LgoJICAgIGVjaG8K
CSAgICAkRUNITyAiKioqIFdhcm5pbmc6IFRoaXMgc3lzdGVtIGNhbiBub3Qg
bGluayB0byBzdGF0aWMgbGliIGFyY2hpdmUgJGxpYi4iCgkgICAgZWNobyAi
KioqIEkgaGF2ZSB0aGUgY2FwYWJpbGl0eSB0byBtYWtlIHRoYXQgbGlicmFy
eSBhdXRvbWF0aWNhbGx5IGxpbmsgaW4gd2hlbiIKCSAgICBlY2hvICIqKiog
eW91IGxpbmsgdG8gdGhpcyBsaWJyYXJ5LiAgQnV0IEkgY2FuIG9ubHkgZG8g
dGhpcyBpZiB5b3UgaGF2ZSBhIgoJICAgIGVjaG8gIioqKiBzaGFyZWQgdmVy
c2lvbiBvZiB0aGUgbGlicmFyeSwgd2hpY2ggeW91IGRvIG5vdCBhcHBlYXIg
dG8gaGF2ZS4iCgkgICAgaWYgdGVzdCAiJG1vZHVsZSIgPSB5ZXM7IHRoZW4K
CSAgICAgIGVjaG8gIioqKiBCdXQgYXMgeW91IHRyeSB0byBidWlsZCBhIG1v
ZHVsZSBsaWJyYXJ5LCBsaWJ0b29sIHdpbGwgc3RpbGwgY3JlYXRlICIKCSAg
ICAgIGVjaG8gIioqKiBhIHN0YXRpYyBtb2R1bGUsIHRoYXQgc2hvdWxkIHdv
cmsgYXMgbG9uZyBhcyB0aGUgZGxvcGVuaW5nIGFwcGxpY2F0aW9uIgoJICAg
ICAgZWNobyAiKioqIGlzIGxpbmtlZCB3aXRoIHRoZSAtZGxvcGVuIGZsYWcg
dG8gcmVzb2x2ZSBzeW1ib2xzIGF0IHJ1bnRpbWUuIgoJICAgICAgaWYgdGVz
dCAteiAiJGdsb2JhbF9zeW1ib2xfcGlwZSI7IHRoZW4KCQllY2hvCgkJZWNo
byAiKioqIEhvd2V2ZXIsIHRoaXMgd291bGQgb25seSB3b3JrIGlmIGxpYnRv
b2wgd2FzIGFibGUgdG8gZXh0cmFjdCBzeW1ib2wiCgkJZWNobyAiKioqIGxp
c3RzIGZyb20gYSBwcm9ncmFtLCB1c2luZyBcYG5tJyBvciBlcXVpdmFsZW50
LCBidXQgbGlidG9vbCBjb3VsZCIKCQllY2hvICIqKiogbm90IGZpbmQgc3Vj
aCBhIHByb2dyYW0uICBTbywgdGhpcyBtb2R1bGUgaXMgcHJvYmFibHkgdXNl
bGVzcy4iCgkJZWNobyAiKioqIFxgbm0nIGZyb20gR05VIGJpbnV0aWxzIGFu
ZCBhIGZ1bGwgcmVidWlsZCBtYXkgaGVscC4iCgkgICAgICBmaQoJICAgICAg
aWYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IG5vOyB0aGVuCgkJYnVpbGRf
bGlidG9vbF9saWJzPW1vZHVsZQoJCWJ1aWxkX29sZF9saWJzPXllcwoJICAg
ICAgZWxzZQoJCWJ1aWxkX2xpYnRvb2xfbGlicz1ubwoJICAgICAgZmkKCSAg
ICBmaQoJICBlbHNlCgkgICAgZGVwbGlicz0iJGRpci8kb2xkX2xpYnJhcnkg
JGRlcGxpYnMiCgkgICAgbGlua19zdGF0aWM9eWVzCgkgIGZpCglmaSAjIGxp
bmsgc2hhcmVkL3N0YXRpYyBsaWJyYXJ5PwoKCWlmIHRlc3QgIiRsaW5rbW9k
ZSIgPSBsaWI7IHRoZW4KCSAgaWYgdGVzdCAtbiAiJGRlcGVuZGVuY3lfbGli
cyIgJiYKCSAgICAgeyB0ZXN0ICIkaGFyZGNvZGVfaW50b19saWJzIiAhPSB5
ZXMgfHwKCSAgICAgICB0ZXN0ICIkYnVpbGRfb2xkX2xpYnMiID0geWVzIHx8
CgkgICAgICAgdGVzdCAiJGxpbmtfc3RhdGljIiA9IHllczsgfTsgdGhlbgoJ
ICAgICMgRXh0cmFjdCAtUiBmcm9tIGRlcGVuZGVuY3lfbGlicwoJICAgIHRl
bXBfZGVwbGlicz0KCSAgICBmb3IgbGliZGlyIGluICRkZXBlbmRlbmN5X2xp
YnM7IGRvCgkgICAgICBjYXNlICRsaWJkaXIgaW4KCSAgICAgIC1SKikgZnVu
Y19zdHJpcG5hbWUgJy1SJyAnJyAiJGxpYmRpciIKCSAgICAgICAgICAgdGVt
cF94cnBhdGg9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAoJCSAgIGNhc2UgIiAk
eHJwYXRoICIgaW4KCQkgICAqIiAkdGVtcF94cnBhdGggIiopIDs7CgkJICAg
KikgeHJwYXRoKz0iICR0ZW1wX3hycGF0aCI7OwoJCSAgIGVzYWM7OwoJICAg
ICAgKikgdGVtcF9kZXBsaWJzKz0iICRsaWJkaXIiOzsKCSAgICAgIGVzYWMK
CSAgICBkb25lCgkgICAgZGVwZW5kZW5jeV9saWJzPSIkdGVtcF9kZXBsaWJz
IgoJICBmaQoKCSAgbmV3bGliX3NlYXJjaF9wYXRoKz0iICRhYnNkaXIiCgkg
ICMgTGluayBhZ2FpbnN0IHRoaXMgbGlicmFyeQoJICB0ZXN0ICIkbGlua19z
dGF0aWMiID0gbm8gJiYgbmV3ZGVwZW5kZW5jeV9saWJzPSIkYWJzX2xhZGly
LyRsYW5hbWUgJG5ld2RlcGVuZGVuY3lfbGlicyIKCSAgIyAuLi4gYW5kIGl0
cyBkZXBlbmRlbmN5X2xpYnMKCSAgdG1wX2xpYnM9CgkgIGZvciBkZXBsaWIg
aW4gJGRlcGVuZGVuY3lfbGliczsgZG8KCSAgICBuZXdkZXBlbmRlbmN5X2xp
YnM9IiRkZXBsaWIgJG5ld2RlcGVuZGVuY3lfbGlicyIKCSAgICBjYXNlICRk
ZXBsaWIgaW4KICAgICAgICAgICAgICAtTCopIGZ1bmNfc3RyaXBuYW1lICct
TCcgJycgIiRkZXBsaWIiCiAgICAgICAgICAgICAgICAgICBmdW5jX3Jlc29s
dmVfc3lzcm9vdCAiJGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdCI7OwogICAgICAg
ICAgICAgICopIGZ1bmNfcmVzb2x2ZV9zeXNyb290ICIkZGVwbGliIiA7Owog
ICAgICAgICAgICBlc2FjCgkgICAgaWYgJG9wdF9wcmVzZXJ2ZV9kdXBfZGVw
cyA7IHRoZW4KCSAgICAgIGNhc2UgIiR0bXBfbGlicyAiIGluCgkgICAgICAq
IiAkZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVzdWx0ICIqKQogICAgICAgICAg
ICAgICAgc3BlY2lhbGRlcGxpYnMrPSIgJGZ1bmNfcmVzb2x2ZV9zeXNyb290
X3Jlc3VsdCIgOzsKCSAgICAgIGVzYWMKCSAgICBmaQoJICAgIHRtcF9saWJz
Kz0iICRmdW5jX3Jlc29sdmVfc3lzcm9vdF9yZXN1bHQiCgkgIGRvbmUKCgkg
IGlmIHRlc3QgIiRsaW5rX2FsbF9kZXBsaWJzIiAhPSBubzsgdGhlbgoJICAg
ICMgQWRkIHRoZSBzZWFyY2ggcGF0aHMgb2YgYWxsIGRlcGVuZGVuY3kgbGli
cmFyaWVzCgkgICAgZm9yIGRlcGxpYiBpbiAkZGVwZW5kZW5jeV9saWJzOyBk
bwoJICAgICAgcGF0aD0KCSAgICAgIGNhc2UgJGRlcGxpYiBpbgoJICAgICAg
LUwqKSBwYXRoPSIkZGVwbGliIiA7OwoJICAgICAgKi5sYSkKCSAgICAgICAg
ZnVuY19yZXNvbHZlX3N5c3Jvb3QgIiRkZXBsaWIiCgkgICAgICAgIGRlcGxp
Yj0kZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVzdWx0CgkgICAgICAgIGZ1bmNf
ZGlybmFtZSAiJGRlcGxpYiIgIiIgIi4iCgkJZGlyPSRmdW5jX2Rpcm5hbWVf
cmVzdWx0CgkJIyBXZSBuZWVkIGFuIGFic29sdXRlIHBhdGguCgkJY2FzZSAk
ZGlyIGluCgkJW1xcL10qIHwgW0EtWmEtel06W1xcL10qKSBhYnNkaXI9IiRk
aXIiIDs7CgkJKikKCQkgIGFic2Rpcj1gY2QgIiRkaXIiICYmIHB3ZGAKCQkg
IGlmIHRlc3QgLXogIiRhYnNkaXIiOyB0aGVuCgkJICAgIGZ1bmNfd2Fybmlu
ZyAiY2Fubm90IGRldGVybWluZSBhYnNvbHV0ZSBkaXJlY3RvcnkgbmFtZSBv
ZiBcYCRkaXInIgoJCSAgICBhYnNkaXI9IiRkaXIiCgkJICBmaQoJCSAgOzsK
CQllc2FjCgkJaWYgJEdSRVAgIl5pbnN0YWxsZWQ9bm8iICRkZXBsaWIgPiAv
ZGV2L251bGw7IHRoZW4KCQljYXNlICRob3N0IGluCgkJKi0qLWRhcndpbiop
CgkJICBkZXBkZXBsPQoJCSAgZXZhbCBkZXBsaWJyYXJ5X25hbWVzPWAke1NF
RH0gLW4gLWUgJ3MvXmxpYnJhcnlfbmFtZXM9XCguKlwpJC9cMS9wJyAkZGVw
bGliYAoJCSAgaWYgdGVzdCAtbiAiJGRlcGxpYnJhcnlfbmFtZXMiIDsgdGhl
bgoJCSAgICBmb3IgdG1wIGluICRkZXBsaWJyYXJ5X25hbWVzIDsgZG8KCQkg
ICAgICBkZXBkZXBsPSR0bXAKCQkgICAgZG9uZQoJCSAgICBpZiB0ZXN0IC1m
ICIkYWJzZGlyLyRvYmpkaXIvJGRlcGRlcGwiIDsgdGhlbgoJCSAgICAgIGRl
cGRlcGw9IiRhYnNkaXIvJG9iamRpci8kZGVwZGVwbCIKCQkgICAgICBkYXJ3
aW5faW5zdGFsbF9uYW1lPWAke09UT09MfSAtTCAkZGVwZGVwbCB8IGF3ayAn
e2lmIChOUiA9PSAyKSB7cHJpbnQgJDE7ZXhpdH19J2AKICAgICAgICAgICAg
ICAgICAgICAgIGlmIHRlc3QgLXogIiRkYXJ3aW5faW5zdGFsbF9uYW1lIjsg
dGhlbgogICAgICAgICAgICAgICAgICAgICAgICAgIGRhcndpbl9pbnN0YWxs
X25hbWU9YCR7T1RPT0w2NH0gLUwgJGRlcGRlcGwgIHwgYXdrICd7aWYgKE5S
ID09IDIpIHtwcmludCAkMTtleGl0fX0nYAogICAgICAgICAgICAgICAgICAg
ICAgZmkKCQkgICAgICBjb21waWxlcl9mbGFncys9IiAke3dsfS1keWxpYl9m
aWxlICR7d2x9JHtkYXJ3aW5faW5zdGFsbF9uYW1lfToke2RlcGRlcGx9IgoJ
CSAgICAgIGxpbmtlcl9mbGFncys9IiAtZHlsaWJfZmlsZSAke2Rhcndpbl9p
bnN0YWxsX25hbWV9OiR7ZGVwZGVwbH0iCgkJICAgICAgcGF0aD0KCQkgICAg
ZmkKCQkgIGZpCgkJICA7OwoJCSopCgkJICBwYXRoPSItTCRhYnNkaXIvJG9i
amRpciIKCQkgIDs7CgkJZXNhYwoJCWVsc2UKCQkgIGV2YWwgbGliZGlyPWAk
e1NFRH0gLW4gLWUgJ3MvXmxpYmRpcj1cKC4qXCkkL1wxL3AnICRkZXBsaWJg
CgkJICB0ZXN0IC16ICIkbGliZGlyIiAmJiBcCgkJICAgIGZ1bmNfZmF0YWxf
ZXJyb3IgIlxgJGRlcGxpYicgaXMgbm90IGEgdmFsaWQgbGlidG9vbCBhcmNo
aXZlIgoJCSAgdGVzdCAiJGFic2RpciIgIT0gIiRsaWJkaXIiICYmIFwKCQkg
ICAgZnVuY193YXJuaW5nICJcYCRkZXBsaWInIHNlZW1zIHRvIGJlIG1vdmVk
IgoKCQkgIHBhdGg9Ii1MJGFic2RpciIKCQlmaQoJCTs7CgkgICAgICBlc2Fj
CgkgICAgICBjYXNlICIgJGRlcGxpYnMgIiBpbgoJICAgICAgKiIgJHBhdGgg
IiopIDs7CgkgICAgICAqKSBkZXBsaWJzPSIkcGF0aCAkZGVwbGlicyIgOzsK
CSAgICAgIGVzYWMKCSAgICBkb25lCgkgIGZpICMgbGlua19hbGxfZGVwbGli
cyAhPSBubwoJZmkgIyBsaW5rbW9kZSA9IGxpYgogICAgICBkb25lICMgZm9y
IGRlcGxpYiBpbiAkbGlicwogICAgICBpZiB0ZXN0ICIkcGFzcyIgPSBsaW5r
OyB0aGVuCglpZiB0ZXN0ICIkbGlua21vZGUiID0gInByb2ciOyB0aGVuCgkg
IGNvbXBpbGVfZGVwbGlicz0iJG5ld19pbmhlcml0ZWRfbGlua2VyX2ZsYWdz
ICRjb21waWxlX2RlcGxpYnMiCgkgIGZpbmFsaXplX2RlcGxpYnM9IiRuZXdf
aW5oZXJpdGVkX2xpbmtlcl9mbGFncyAkZmluYWxpemVfZGVwbGlicyIKCWVs
c2UKCSAgY29tcGlsZXJfZmxhZ3M9IiRjb21waWxlcl9mbGFncyAiYCRFQ0hP
ICIgJG5ld19pbmhlcml0ZWRfbGlua2VyX2ZsYWdzIiB8ICRTRUQgJ3MlIFwo
W14gJF0qXCkubHRmcmFtZXdvcmslIC1mcmFtZXdvcmsgXDElZydgCglmaQog
ICAgICBmaQogICAgICBkZXBlbmRlbmN5X2xpYnM9IiRuZXdkZXBlbmRlbmN5
X2xpYnMiCiAgICAgIGlmIHRlc3QgIiRwYXNzIiA9IGRscHJlb3BlbjsgdGhl
bgoJIyBMaW5rIHRoZSBkbHByZW9wZW5lZCBsaWJyYXJpZXMgYmVmb3JlIG90
aGVyIGxpYnJhcmllcwoJZm9yIGRlcGxpYiBpbiAkc2F2ZV9kZXBsaWJzOyBk
bwoJICBkZXBsaWJzPSIkZGVwbGliICRkZXBsaWJzIgoJZG9uZQogICAgICBm
aQogICAgICBpZiB0ZXN0ICIkcGFzcyIgIT0gZGxvcGVuOyB0aGVuCglpZiB0
ZXN0ICIkcGFzcyIgIT0gY29udjsgdGhlbgoJICAjIE1ha2Ugc3VyZSBsaWJf
c2VhcmNoX3BhdGggY29udGFpbnMgb25seSB1bmlxdWUgZGlyZWN0b3JpZXMu
CgkgIGxpYl9zZWFyY2hfcGF0aD0KCSAgZm9yIGRpciBpbiAkbmV3bGliX3Nl
YXJjaF9wYXRoOyBkbwoJICAgIGNhc2UgIiRsaWJfc2VhcmNoX3BhdGggIiBp
bgoJICAgICoiICRkaXIgIiopIDs7CgkgICAgKikgbGliX3NlYXJjaF9wYXRo
Kz0iICRkaXIiIDs7CgkgICAgZXNhYwoJICBkb25lCgkgIG5ld2xpYl9zZWFy
Y2hfcGF0aD0KCWZpCgoJaWYgdGVzdCAiJGxpbmttb2RlLCRwYXNzIiAhPSAi
cHJvZyxsaW5rIjsgdGhlbgoJICB2YXJzPSJkZXBsaWJzIgoJZWxzZQoJICB2
YXJzPSJjb21waWxlX2RlcGxpYnMgZmluYWxpemVfZGVwbGlicyIKCWZpCglm
b3IgdmFyIGluICR2YXJzIGRlcGVuZGVuY3lfbGliczsgZG8KCSAgIyBBZGQg
bGlicmFyaWVzIHRvICR2YXIgaW4gcmV2ZXJzZSBvcmRlcgoJICBldmFsIHRt
cF9saWJzPVwiXCQkdmFyXCIKCSAgbmV3X2xpYnM9CgkgIGZvciBkZXBsaWIg
aW4gJHRtcF9saWJzOyBkbwoJICAgICMgRklYTUU6IFBlZGFudGljYWxseSwg
dGhpcyBpcyB0aGUgcmlnaHQgdGhpbmcgdG8gZG8sIHNvCgkgICAgIyAgICAg
ICAgdGhhdCBzb21lIG5hc3R5IGRlcGVuZGVuY3kgbG9vcCBpc24ndCBhY2Np
ZGVudGFsbHkKCSAgICAjICAgICAgICBicm9rZW46CgkgICAgI25ld19saWJz
PSIkZGVwbGliICRuZXdfbGlicyIKCSAgICAjIFByYWdtYXRpY2FsbHksIHRo
aXMgc2VlbXMgdG8gY2F1c2UgdmVyeSBmZXcgcHJvYmxlbXMgaW4KCSAgICAj
IHByYWN0aWNlOgoJICAgIGNhc2UgJGRlcGxpYiBpbgoJICAgIC1MKikgbmV3
X2xpYnM9IiRkZXBsaWIgJG5ld19saWJzIiA7OwoJICAgIC1SKikgOzsKCSAg
ICAqKQoJICAgICAgIyBBbmQgaGVyZSBpcyB0aGUgcmVhc29uOiB3aGVuIGEg
bGlicmFyeSBhcHBlYXJzIG1vcmUKCSAgICAgICMgdGhhbiBvbmNlIGFzIGFu
IGV4cGxpY2l0IGRlcGVuZGVuY2Ugb2YgYSBsaWJyYXJ5LCBvcgoJICAgICAg
IyBpcyBpbXBsaWNpdGx5IGxpbmtlZCBpbiBtb3JlIHRoYW4gb25jZSBieSB0
aGUKCSAgICAgICMgY29tcGlsZXIsIGl0IGlzIGNvbnNpZGVyZWQgc3BlY2lh
bCwgYW5kIG11bHRpcGxlCgkgICAgICAjIG9jY3VycmVuY2VzIHRoZXJlb2Yg
YXJlIG5vdCByZW1vdmVkLiAgQ29tcGFyZSB0aGlzCgkgICAgICAjIHdpdGgg
aGF2aW5nIHRoZSBzYW1lIGxpYnJhcnkgYmVpbmcgbGlzdGVkIGFzIGEKCSAg
ICAgICMgZGVwZW5kZW5jeSBvZiBtdWx0aXBsZSBvdGhlciBsaWJyYXJpZXM6
IGluIHRoaXMgY2FzZSwKCSAgICAgICMgd2Uga25vdyAocGVkYW50aWNhbGx5
LCB3ZSBhc3N1bWUpIHRoZSBsaWJyYXJ5IGRvZXMgbm90CgkgICAgICAjIG5l
ZWQgdG8gYmUgbGlzdGVkIG1vcmUgdGhhbiBvbmNlLCBzbyB3ZSBrZWVwIG9u
bHkgdGhlCgkgICAgICAjIGxhc3QgY29weS4gIFRoaXMgaXMgbm90IGFsd2F5
cyByaWdodCwgYnV0IGl0IGlzIHJhcmUKCSAgICAgICMgZW5vdWdoIHRoYXQg
d2UgcmVxdWlyZSB1c2VycyB0aGF0IHJlYWxseSBtZWFuIHRvIHBsYXkKCSAg
ICAgICMgc3VjaCB1bnBvcnRhYmxlIGxpbmtpbmcgdHJpY2tzIHRvIGxpbmsg
dGhlIGxpYnJhcnkKCSAgICAgICMgdXNpbmcgLVdsLC1sbmFtZSwgc28gdGhh
dCBsaWJ0b29sIGRvZXMgbm90IGNvbnNpZGVyIGl0CgkgICAgICAjIGZvciBk
dXBsaWNhdGUgcmVtb3ZhbC4KCSAgICAgIGNhc2UgIiAkc3BlY2lhbGRlcGxp
YnMgIiBpbgoJICAgICAgKiIgJGRlcGxpYiAiKikgbmV3X2xpYnM9IiRkZXBs
aWIgJG5ld19saWJzIiA7OwoJICAgICAgKikKCQljYXNlICIgJG5ld19saWJz
ICIgaW4KCQkqIiAkZGVwbGliICIqKSA7OwoJCSopIG5ld19saWJzPSIkZGVw
bGliICRuZXdfbGlicyIgOzsKCQllc2FjCgkJOzsKCSAgICAgIGVzYWMKCSAg
ICAgIDs7CgkgICAgZXNhYwoJICBkb25lCgkgIHRtcF9saWJzPQoJICBmb3Ig
ZGVwbGliIGluICRuZXdfbGliczsgZG8KCSAgICBjYXNlICRkZXBsaWIgaW4K
CSAgICAtTCopCgkgICAgICBjYXNlICIgJHRtcF9saWJzICIgaW4KCSAgICAg
ICoiICRkZXBsaWIgIiopIDs7CgkgICAgICAqKSB0bXBfbGlicys9IiAkZGVw
bGliIiA7OwoJICAgICAgZXNhYwoJICAgICAgOzsKCSAgICAqKSB0bXBfbGli
cys9IiAkZGVwbGliIiA7OwoJICAgIGVzYWMKCSAgZG9uZQoJICBldmFsICR2
YXI9XCIkdG1wX2xpYnNcIgoJZG9uZSAjIGZvciB2YXIKICAgICAgZmkKICAg
ICAgIyBMYXN0IHN0ZXA6IHJlbW92ZSBydW50aW1lIGxpYnMgZnJvbSBkZXBl
bmRlbmN5X2xpYnMKICAgICAgIyAodGhleSBzdGF5IGluIGRlcGxpYnMpCiAg
ICAgIHRtcF9saWJzPQogICAgICBmb3IgaSBpbiAkZGVwZW5kZW5jeV9saWJz
IDsgZG8KCWNhc2UgIiAkcHJlZGVwcyAkcG9zdGRlcHMgJGNvbXBpbGVyX2xp
Yl9zZWFyY2hfcGF0aCAiIGluCgkqIiAkaSAiKikKCSAgaT0iIgoJICA7OwoJ
ZXNhYwoJaWYgdGVzdCAtbiAiJGkiIDsgdGhlbgoJICB0bXBfbGlicys9IiAk
aSIKCWZpCiAgICAgIGRvbmUKICAgICAgZGVwZW5kZW5jeV9saWJzPSR0bXBf
bGlicwogICAgZG9uZSAjIGZvciBwYXNzCiAgICBpZiB0ZXN0ICIkbGlua21v
ZGUiID0gcHJvZzsgdGhlbgogICAgICBkbGZpbGVzPSIkbmV3ZGxmaWxlcyIK
ICAgIGZpCiAgICBpZiB0ZXN0ICIkbGlua21vZGUiID0gcHJvZyB8fCB0ZXN0
ICIkbGlua21vZGUiID0gbGliOyB0aGVuCiAgICAgIGRscHJlZmlsZXM9IiRu
ZXdkbHByZWZpbGVzIgogICAgZmkKCiAgICBjYXNlICRsaW5rbW9kZSBpbgog
ICAgb2xkbGliKQogICAgICBpZiB0ZXN0IC1uICIkZGxmaWxlcyRkbHByZWZp
bGVzIiB8fCB0ZXN0ICIkZGxzZWxmIiAhPSBubzsgdGhlbgoJZnVuY193YXJu
aW5nICJcYC1kbG9wZW4nIGlzIGlnbm9yZWQgZm9yIGFyY2hpdmVzIgogICAg
ICBmaQoKICAgICAgY2FzZSAiICRkZXBsaWJzIiBpbgogICAgICAqXCAtbCog
fCAqXCAtTCopCglmdW5jX3dhcm5pbmcgIlxgLWwnIGFuZCBcYC1MJyBhcmUg
aWdub3JlZCBmb3IgYXJjaGl2ZXMiIDs7CiAgICAgIGVzYWMKCiAgICAgIHRl
c3QgLW4gIiRycGF0aCIgJiYgXAoJZnVuY193YXJuaW5nICJcYC1ycGF0aCcg
aXMgaWdub3JlZCBmb3IgYXJjaGl2ZXMiCgogICAgICB0ZXN0IC1uICIkeHJw
YXRoIiAmJiBcCglmdW5jX3dhcm5pbmcgIlxgLVInIGlzIGlnbm9yZWQgZm9y
IGFyY2hpdmVzIgoKICAgICAgdGVzdCAtbiAiJHZpbmZvIiAmJiBcCglmdW5j
X3dhcm5pbmcgIlxgLXZlcnNpb24taW5mby8tdmVyc2lvbi1udW1iZXInIGlz
IGlnbm9yZWQgZm9yIGFyY2hpdmVzIgoKICAgICAgdGVzdCAtbiAiJHJlbGVh
c2UiICYmIFwKCWZ1bmNfd2FybmluZyAiXGAtcmVsZWFzZScgaXMgaWdub3Jl
ZCBmb3IgYXJjaGl2ZXMiCgogICAgICB0ZXN0IC1uICIkZXhwb3J0X3N5bWJv
bHMkZXhwb3J0X3N5bWJvbHNfcmVnZXgiICYmIFwKCWZ1bmNfd2FybmluZyAi
XGAtZXhwb3J0LXN5bWJvbHMnIGlzIGlnbm9yZWQgZm9yIGFyY2hpdmVzIgoK
ICAgICAgIyBOb3cgc2V0IHRoZSB2YXJpYWJsZXMgZm9yIGJ1aWxkaW5nIG9s
ZCBsaWJyYXJpZXMuCiAgICAgIGJ1aWxkX2xpYnRvb2xfbGlicz1ubwogICAg
ICBvbGRsaWJzPSIkb3V0cHV0IgogICAgICBvYmpzKz0iJG9sZF9kZXBsaWJz
IgogICAgICA7OwoKICAgIGxpYikKICAgICAgIyBNYWtlIHN1cmUgd2Ugb25s
eSBnZW5lcmF0ZSBsaWJyYXJpZXMgb2YgdGhlIGZvcm0gYGxpYk5BTUUubGEn
LgogICAgICBjYXNlICRvdXRwdXRuYW1lIGluCiAgICAgIGxpYiopCglmdW5j
X3N0cmlwbmFtZSAnbGliJyAnLmxhJyAiJG91dHB1dG5hbWUiCgluYW1lPSRm
dW5jX3N0cmlwbmFtZV9yZXN1bHQKCWV2YWwgc2hhcmVkX2V4dD1cIiRzaHJl
eHRfY21kc1wiCglldmFsIGxpYm5hbWU9XCIkbGlibmFtZV9zcGVjXCIKCTs7
CiAgICAgICopCgl0ZXN0ICIkbW9kdWxlIiA9IG5vICYmIFwKCSAgZnVuY19m
YXRhbF9oZWxwICJsaWJ0b29sIGxpYnJhcnkgXGAkb3V0cHV0JyBtdXN0IGJl
Z2luIHdpdGggXGBsaWInIgoKCWlmIHRlc3QgIiRuZWVkX2xpYl9wcmVmaXgi
ICE9IG5vOyB0aGVuCgkgICMgQWRkIHRoZSAibGliIiBwcmVmaXggZm9yIG1v
ZHVsZXMgaWYgcmVxdWlyZWQKCSAgZnVuY19zdHJpcG5hbWUgJycgJy5sYScg
IiRvdXRwdXRuYW1lIgoJICBuYW1lPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQK
CSAgZXZhbCBzaGFyZWRfZXh0PVwiJHNocmV4dF9jbWRzXCIKCSAgZXZhbCBs
aWJuYW1lPVwiJGxpYm5hbWVfc3BlY1wiCgllbHNlCgkgIGZ1bmNfc3RyaXBu
YW1lICcnICcubGEnICIkb3V0cHV0bmFtZSIKCSAgbGlibmFtZT0kZnVuY19z
dHJpcG5hbWVfcmVzdWx0CglmaQoJOzsKICAgICAgZXNhYwoKICAgICAgaWYg
dGVzdCAtbiAiJG9ianMiOyB0aGVuCglpZiB0ZXN0ICIkZGVwbGlic19jaGVj
a19tZXRob2QiICE9IHBhc3NfYWxsOyB0aGVuCgkgIGZ1bmNfZmF0YWxfZXJy
b3IgImNhbm5vdCBidWlsZCBsaWJ0b29sIGxpYnJhcnkgXGAkb3V0cHV0JyBm
cm9tIG5vbi1saWJ0b29sIG9iamVjdHMgb24gdGhpcyBob3N0OiRvYmpzIgoJ
ZWxzZQoJICBlY2hvCgkgICRFQ0hPICIqKiogV2FybmluZzogTGlua2luZyB0
aGUgc2hhcmVkIGxpYnJhcnkgJG91dHB1dCBhZ2FpbnN0IHRoZSBub24tbGli
dG9vbCIKCSAgJEVDSE8gIioqKiBvYmplY3RzICRvYmpzIGlzIG5vdCBwb3J0
YWJsZSEiCgkgIGxpYm9ianMrPSIgJG9ianMiCglmaQogICAgICBmaQoKICAg
ICAgdGVzdCAiJGRsc2VsZiIgIT0gbm8gJiYgXAoJZnVuY193YXJuaW5nICJc
YC1kbG9wZW4gc2VsZicgaXMgaWdub3JlZCBmb3IgbGlidG9vbCBsaWJyYXJp
ZXMiCgogICAgICBzZXQgZHVtbXkgJHJwYXRoCiAgICAgIHNoaWZ0CiAgICAg
IHRlc3QgIiQjIiAtZ3QgMSAmJiBcCglmdW5jX3dhcm5pbmcgImlnbm9yaW5n
IG11bHRpcGxlIFxgLXJwYXRoJ3MgZm9yIGEgbGlidG9vbCBsaWJyYXJ5IgoK
ICAgICAgaW5zdGFsbF9saWJkaXI9IiQxIgoKICAgICAgb2xkbGlicz0KICAg
ICAgaWYgdGVzdCAteiAiJHJwYXRoIjsgdGhlbgoJaWYgdGVzdCAiJGJ1aWxk
X2xpYnRvb2xfbGlicyIgPSB5ZXM7IHRoZW4KCSAgIyBCdWlsZGluZyBhIGxp
YnRvb2wgY29udmVuaWVuY2UgbGlicmFyeS4KCSAgIyBTb21lIGNvbXBpbGVy
cyBoYXZlIHByb2JsZW1zIHdpdGggYSBgLmFsJyBleHRlbnNpb24gc28KCSAg
IyBjb252ZW5pZW5jZSBsaWJyYXJpZXMgc2hvdWxkIGhhdmUgdGhlIHNhbWUg
ZXh0ZW5zaW9uIGFuCgkgICMgYXJjaGl2ZSBub3JtYWxseSB3b3VsZC4KCSAg
b2xkbGlicz0iJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUuJGxpYmV4dCAkb2xk
bGlicyIKCSAgYnVpbGRfbGlidG9vbF9saWJzPWNvbnZlbmllbmNlCgkgIGJ1
aWxkX29sZF9saWJzPXllcwoJZmkKCgl0ZXN0IC1uICIkdmluZm8iICYmIFwK
CSAgZnVuY193YXJuaW5nICJcYC12ZXJzaW9uLWluZm8vLXZlcnNpb24tbnVt
YmVyJyBpcyBpZ25vcmVkIGZvciBjb252ZW5pZW5jZSBsaWJyYXJpZXMiCgoJ
dGVzdCAtbiAiJHJlbGVhc2UiICYmIFwKCSAgZnVuY193YXJuaW5nICJcYC1y
ZWxlYXNlJyBpcyBpZ25vcmVkIGZvciBjb252ZW5pZW5jZSBsaWJyYXJpZXMi
CiAgICAgIGVsc2UKCgkjIFBhcnNlIHRoZSB2ZXJzaW9uIGluZm9ybWF0aW9u
IGFyZ3VtZW50LgoJc2F2ZV9pZnM9IiRJRlMiOyBJRlM9JzonCglzZXQgZHVt
bXkgJHZpbmZvIDAgMCAwCglzaGlmdAoJSUZTPSIkc2F2ZV9pZnMiCgoJdGVz
dCAtbiAiJDciICYmIFwKCSAgZnVuY19mYXRhbF9oZWxwICJ0b28gbWFueSBw
YXJhbWV0ZXJzIHRvIFxgLXZlcnNpb24taW5mbyciCgoJIyBjb252ZXJ0IGFi
c29sdXRlIHZlcnNpb24gbnVtYmVycyB0byBsaWJ0b29sIGFnZXMKCSMgdGhp
cyByZXRhaW5zIGNvbXBhdGliaWxpdHkgd2l0aCAubGEgZmlsZXMgYW5kIGF0
dGVtcHRzCgkjIHRvIG1ha2UgdGhlIGNvZGUgYmVsb3cgYSBiaXQgbW9yZSBj
b21wcmVoZW5zaWJsZQoKCWNhc2UgJHZpbmZvX251bWJlciBpbgoJeWVzKQoJ
ICBudW1iZXJfbWFqb3I9IiQxIgoJICBudW1iZXJfbWlub3I9IiQyIgoJICBu
dW1iZXJfcmV2aXNpb249IiQzIgoJICAjCgkgICMgVGhlcmUgYXJlIHJlYWxs
eSBvbmx5IHR3byBraW5kcyAtLSB0aG9zZSB0aGF0CgkgICMgdXNlIHRoZSBj
dXJyZW50IHJldmlzaW9uIGFzIHRoZSBtYWpvciB2ZXJzaW9uCgkgICMgYW5k
IHRob3NlIHRoYXQgc3VidHJhY3QgYWdlIGFuZCB1c2UgYWdlIGFzCgkgICMg
YSBtaW5vciB2ZXJzaW9uLiAgQnV0LCB0aGVuIHRoZXJlIGlzIGlyaXgKCSAg
IyB3aGljaCBoYXMgYW4gZXh0cmEgMSBhZGRlZCBqdXN0IGZvciBmdW4KCSAg
IwoJICBjYXNlICR2ZXJzaW9uX3R5cGUgaW4KCSAgIyBjb3JyZWN0IGxpbnV4
IHRvIGdudS9saW51eCBkdXJpbmcgdGhlIG5leHQgYmlnIHJlZmFjdG9yCgkg
IGRhcndpbnxsaW51eHxvc2Z8d2luZG93c3xub25lKQoJICAgIGZ1bmNfYXJp
dGggJG51bWJlcl9tYWpvciArICRudW1iZXJfbWlub3IKCSAgICBjdXJyZW50
PSRmdW5jX2FyaXRoX3Jlc3VsdAoJICAgIGFnZT0iJG51bWJlcl9taW5vciIK
CSAgICByZXZpc2lvbj0iJG51bWJlcl9yZXZpc2lvbiIKCSAgICA7OwoJICBm
cmVlYnNkLWFvdXR8ZnJlZWJzZC1lbGZ8cW54fHN1bm9zKQoJICAgIGN1cnJl
bnQ9IiRudW1iZXJfbWFqb3IiCgkgICAgcmV2aXNpb249IiRudW1iZXJfbWlu
b3IiCgkgICAgYWdlPSIwIgoJICAgIDs7CgkgIGlyaXh8bm9uc3RvcHV4KQoJ
ICAgIGZ1bmNfYXJpdGggJG51bWJlcl9tYWpvciArICRudW1iZXJfbWlub3IK
CSAgICBjdXJyZW50PSRmdW5jX2FyaXRoX3Jlc3VsdAoJICAgIGFnZT0iJG51
bWJlcl9taW5vciIKCSAgICByZXZpc2lvbj0iJG51bWJlcl9taW5vciIKCSAg
ICBsdF9pcml4X2luY3JlbWVudD1ubwoJICAgIDs7CgkgIGVzYWMKCSAgOzsK
CW5vKQoJICBjdXJyZW50PSIkMSIKCSAgcmV2aXNpb249IiQyIgoJICBhZ2U9
IiQzIgoJICA7OwoJZXNhYwoKCSMgQ2hlY2sgdGhhdCBlYWNoIG9mIHRoZSB0
aGluZ3MgYXJlIHZhbGlkIG51bWJlcnMuCgljYXNlICRjdXJyZW50IGluCgkw
fFsxLTldfFsxLTldWzAtOV18WzEtOV1bMC05XVswLTldfFsxLTldWzAtOV1b
MC05XVswLTldfFsxLTldWzAtOV1bMC05XVswLTldWzAtOV0pIDs7CgkqKQoJ
ICBmdW5jX2Vycm9yICJDVVJSRU5UIFxgJGN1cnJlbnQnIG11c3QgYmUgYSBu
b25uZWdhdGl2ZSBpbnRlZ2VyIgoJICBmdW5jX2ZhdGFsX2Vycm9yICJcYCR2
aW5mbycgaXMgbm90IHZhbGlkIHZlcnNpb24gaW5mb3JtYXRpb24iCgkgIDs7
Cgllc2FjCgoJY2FzZSAkcmV2aXNpb24gaW4KCTB8WzEtOV18WzEtOV1bMC05
XXxbMS05XVswLTldWzAtOV18WzEtOV1bMC05XVswLTldWzAtOV18WzEtOV1b
MC05XVswLTldWzAtOV1bMC05XSkgOzsKCSopCgkgIGZ1bmNfZXJyb3IgIlJF
VklTSU9OIFxgJHJldmlzaW9uJyBtdXN0IGJlIGEgbm9ubmVnYXRpdmUgaW50
ZWdlciIKCSAgZnVuY19mYXRhbF9lcnJvciAiXGAkdmluZm8nIGlzIG5vdCB2
YWxpZCB2ZXJzaW9uIGluZm9ybWF0aW9uIgoJICA7OwoJZXNhYwoKCWNhc2Ug
JGFnZSBpbgoJMHxbMS05XXxbMS05XVswLTldfFsxLTldWzAtOV1bMC05XXxb
MS05XVswLTldWzAtOV1bMC05XXxbMS05XVswLTldWzAtOV1bMC05XVswLTld
KSA7OwoJKikKCSAgZnVuY19lcnJvciAiQUdFIFxgJGFnZScgbXVzdCBiZSBh
IG5vbm5lZ2F0aXZlIGludGVnZXIiCgkgIGZ1bmNfZmF0YWxfZXJyb3IgIlxg
JHZpbmZvJyBpcyBub3QgdmFsaWQgdmVyc2lvbiBpbmZvcm1hdGlvbiIKCSAg
OzsKCWVzYWMKCglpZiB0ZXN0ICIkYWdlIiAtZ3QgIiRjdXJyZW50IjsgdGhl
bgoJICBmdW5jX2Vycm9yICJBR0UgXGAkYWdlJyBpcyBncmVhdGVyIHRoYW4g
dGhlIGN1cnJlbnQgaW50ZXJmYWNlIG51bWJlciBcYCRjdXJyZW50JyIKCSAg
ZnVuY19mYXRhbF9lcnJvciAiXGAkdmluZm8nIGlzIG5vdCB2YWxpZCB2ZXJz
aW9uIGluZm9ybWF0aW9uIgoJZmkKCgkjIENhbGN1bGF0ZSB0aGUgdmVyc2lv
biB2YXJpYWJsZXMuCgltYWpvcj0KCXZlcnN1ZmZpeD0KCXZlcnN0cmluZz0K
CWNhc2UgJHZlcnNpb25fdHlwZSBpbgoJbm9uZSkgOzsKCglkYXJ3aW4pCgkg
ICMgTGlrZSBMaW51eCwgYnV0IHdpdGggdGhlIGN1cnJlbnQgdmVyc2lvbiBh
dmFpbGFibGUgaW4KCSAgIyB2ZXJzdHJpbmcgZm9yIGNvZGluZyBpdCBpbnRv
IHRoZSBsaWJyYXJ5IGhlYWRlcgoJICBmdW5jX2FyaXRoICRjdXJyZW50IC0g
JGFnZQoJICBtYWpvcj0uJGZ1bmNfYXJpdGhfcmVzdWx0CgkgIHZlcnN1ZmZp
eD0iJG1ham9yLiRhZ2UuJHJldmlzaW9uIgoJICAjIERhcndpbiBsZCBkb2Vz
bid0IGxpa2UgMCBmb3IgdGhlc2Ugb3B0aW9ucy4uLgoJICBmdW5jX2FyaXRo
ICRjdXJyZW50ICsgMQoJICBtaW5vcl9jdXJyZW50PSRmdW5jX2FyaXRoX3Jl
c3VsdAoJICB4bGN2ZXJzdHJpbmc9IiR7d2x9LWNvbXBhdGliaWxpdHlfdmVy
c2lvbiAke3dsfSRtaW5vcl9jdXJyZW50ICR7d2x9LWN1cnJlbnRfdmVyc2lv
biAke3dsfSRtaW5vcl9jdXJyZW50LiRyZXZpc2lvbiIKCSAgdmVyc3RyaW5n
PSItY29tcGF0aWJpbGl0eV92ZXJzaW9uICRtaW5vcl9jdXJyZW50IC1jdXJy
ZW50X3ZlcnNpb24gJG1pbm9yX2N1cnJlbnQuJHJldmlzaW9uIgoJICA7OwoK
CWZyZWVic2QtYW91dCkKCSAgbWFqb3I9Ii4kY3VycmVudCIKCSAgdmVyc3Vm
Zml4PSIuJGN1cnJlbnQuJHJldmlzaW9uIjsKCSAgOzsKCglmcmVlYnNkLWVs
ZikKCSAgbWFqb3I9Ii4kY3VycmVudCIKCSAgdmVyc3VmZml4PSIuJGN1cnJl
bnQiCgkgIDs7CgoJaXJpeCB8IG5vbnN0b3B1eCkKCSAgaWYgdGVzdCAiWCRs
dF9pcml4X2luY3JlbWVudCIgPSAiWG5vIjsgdGhlbgoJICAgIGZ1bmNfYXJp
dGggJGN1cnJlbnQgLSAkYWdlCgkgIGVsc2UKCSAgICBmdW5jX2FyaXRoICRj
dXJyZW50IC0gJGFnZSArIDEKCSAgZmkKCSAgbWFqb3I9JGZ1bmNfYXJpdGhf
cmVzdWx0CgoJICBjYXNlICR2ZXJzaW9uX3R5cGUgaW4KCSAgICBub25zdG9w
dXgpIHZlcnN0cmluZ19wcmVmaXg9bm9uc3RvcHV4IDs7CgkgICAgKikgICAg
ICAgICB2ZXJzdHJpbmdfcHJlZml4PXNnaSA7OwoJICBlc2FjCgkgIHZlcnN0
cmluZz0iJHZlcnN0cmluZ19wcmVmaXgkbWFqb3IuJHJldmlzaW9uIgoKCSAg
IyBBZGQgaW4gYWxsIHRoZSBpbnRlcmZhY2VzIHRoYXQgd2UgYXJlIGNvbXBh
dGlibGUgd2l0aC4KCSAgbG9vcD0kcmV2aXNpb24KCSAgd2hpbGUgdGVzdCAi
JGxvb3AiIC1uZSAwOyBkbwoJICAgIGZ1bmNfYXJpdGggJHJldmlzaW9uIC0g
JGxvb3AKCSAgICBpZmFjZT0kZnVuY19hcml0aF9yZXN1bHQKCSAgICBmdW5j
X2FyaXRoICRsb29wIC0gMQoJICAgIGxvb3A9JGZ1bmNfYXJpdGhfcmVzdWx0
CgkgICAgdmVyc3RyaW5nPSIkdmVyc3RyaW5nX3ByZWZpeCRtYWpvci4kaWZh
Y2U6JHZlcnN0cmluZyIKCSAgZG9uZQoKCSAgIyBCZWZvcmUgdGhpcyBwb2lu
dCwgJG1ham9yIG11c3Qgbm90IGNvbnRhaW4gYC4nLgoJICBtYWpvcj0uJG1h
am9yCgkgIHZlcnN1ZmZpeD0iJG1ham9yLiRyZXZpc2lvbiIKCSAgOzsKCgls
aW51eCkgIyBjb3JyZWN0IHRvIGdudS9saW51eCBkdXJpbmcgdGhlIG5leHQg
YmlnIHJlZmFjdG9yCgkgIGZ1bmNfYXJpdGggJGN1cnJlbnQgLSAkYWdlCgkg
IG1ham9yPS4kZnVuY19hcml0aF9yZXN1bHQKCSAgdmVyc3VmZml4PSIkbWFq
b3IuJGFnZS4kcmV2aXNpb24iCgkgIDs7CgoJb3NmKQoJICBmdW5jX2FyaXRo
ICRjdXJyZW50IC0gJGFnZQoJICBtYWpvcj0uJGZ1bmNfYXJpdGhfcmVzdWx0
CgkgIHZlcnN1ZmZpeD0iLiRjdXJyZW50LiRhZ2UuJHJldmlzaW9uIgoJICB2
ZXJzdHJpbmc9IiRjdXJyZW50LiRhZ2UuJHJldmlzaW9uIgoKCSAgIyBBZGQg
aW4gYWxsIHRoZSBpbnRlcmZhY2VzIHRoYXQgd2UgYXJlIGNvbXBhdGlibGUg
d2l0aC4KCSAgbG9vcD0kYWdlCgkgIHdoaWxlIHRlc3QgIiRsb29wIiAtbmUg
MDsgZG8KCSAgICBmdW5jX2FyaXRoICRjdXJyZW50IC0gJGxvb3AKCSAgICBp
ZmFjZT0kZnVuY19hcml0aF9yZXN1bHQKCSAgICBmdW5jX2FyaXRoICRsb29w
IC0gMQoJICAgIGxvb3A9JGZ1bmNfYXJpdGhfcmVzdWx0CgkgICAgdmVyc3Ry
aW5nPSIkdmVyc3RyaW5nOiR7aWZhY2V9LjAiCgkgIGRvbmUKCgkgICMgTWFr
ZSBleGVjdXRhYmxlcyBkZXBlbmQgb24gb3VyIGN1cnJlbnQgdmVyc2lvbi4K
CSAgdmVyc3RyaW5nKz0iOiR7Y3VycmVudH0uMCIKCSAgOzsKCglxbngpCgkg
IG1ham9yPSIuJGN1cnJlbnQiCgkgIHZlcnN1ZmZpeD0iLiRjdXJyZW50IgoJ
ICA7OwoKCXN1bm9zKQoJICBtYWpvcj0iLiRjdXJyZW50IgoJICB2ZXJzdWZm
aXg9Ii4kY3VycmVudC4kcmV2aXNpb24iCgkgIDs7CgoJd2luZG93cykKCSAg
IyBVc2UgJy0nIHJhdGhlciB0aGFuICcuJywgc2luY2Ugd2Ugb25seSB3YW50
IG9uZQoJICAjIGV4dGVuc2lvbiBvbiBET1MgOC4zIGZpbGVzeXN0ZW1zLgoJ
ICBmdW5jX2FyaXRoICRjdXJyZW50IC0gJGFnZQoJICBtYWpvcj0kZnVuY19h
cml0aF9yZXN1bHQKCSAgdmVyc3VmZml4PSItJG1ham9yIgoJICA7OwoKCSop
CgkgIGZ1bmNfZmF0YWxfY29uZmlndXJhdGlvbiAidW5rbm93biBsaWJyYXJ5
IHZlcnNpb24gdHlwZSBcYCR2ZXJzaW9uX3R5cGUnIgoJICA7OwoJZXNhYwoK
CSMgQ2xlYXIgdGhlIHZlcnNpb24gaW5mbyBpZiB3ZSBkZWZhdWx0ZWQsIGFu
ZCB0aGV5IHNwZWNpZmllZCBhIHJlbGVhc2UuCglpZiB0ZXN0IC16ICIkdmlu
Zm8iICYmIHRlc3QgLW4gIiRyZWxlYXNlIjsgdGhlbgoJICBtYWpvcj0KCSAg
Y2FzZSAkdmVyc2lvbl90eXBlIGluCgkgIGRhcndpbikKCSAgICAjIHdlIGNh
bid0IGNoZWNrIGZvciAiMC4wIiBpbiBhcmNoaXZlX2NtZHMgZHVlIHRvIHF1
b3RpbmcKCSAgICAjIHByb2JsZW1zLCBzbyB3ZSByZXNldCBpdCBjb21wbGV0
ZWx5CgkgICAgdmVyc3RyaW5nPQoJICAgIDs7CgkgICopCgkgICAgdmVyc3Ry
aW5nPSIwLjAiCgkgICAgOzsKCSAgZXNhYwoJICBpZiB0ZXN0ICIkbmVlZF92
ZXJzaW9uIiA9IG5vOyB0aGVuCgkgICAgdmVyc3VmZml4PQoJICBlbHNlCgkg
ICAgdmVyc3VmZml4PSIuMC4wIgoJICBmaQoJZmkKCgkjIFJlbW92ZSB2ZXJz
aW9uIGluZm8gZnJvbSBuYW1lIGlmIHZlcnNpb25pbmcgc2hvdWxkIGJlIGF2
b2lkZWQKCWlmIHRlc3QgIiRhdm9pZF92ZXJzaW9uIiA9IHllcyAmJiB0ZXN0
ICIkbmVlZF92ZXJzaW9uIiA9IG5vOyB0aGVuCgkgIG1ham9yPQoJICB2ZXJz
dWZmaXg9CgkgIHZlcnN0cmluZz0iIgoJZmkKCgkjIENoZWNrIHRvIHNlZSBp
ZiB0aGUgYXJjaGl2ZSB3aWxsIGhhdmUgdW5kZWZpbmVkIHN5bWJvbHMuCglp
ZiB0ZXN0ICIkYWxsb3dfdW5kZWZpbmVkIiA9IHllczsgdGhlbgoJICBpZiB0
ZXN0ICIkYWxsb3dfdW5kZWZpbmVkX2ZsYWciID0gdW5zdXBwb3J0ZWQ7IHRo
ZW4KCSAgICBmdW5jX3dhcm5pbmcgInVuZGVmaW5lZCBzeW1ib2xzIG5vdCBh
bGxvd2VkIGluICRob3N0IHNoYXJlZCBsaWJyYXJpZXMiCgkgICAgYnVpbGRf
bGlidG9vbF9saWJzPW5vCgkgICAgYnVpbGRfb2xkX2xpYnM9eWVzCgkgIGZp
CgllbHNlCgkgICMgRG9uJ3QgYWxsb3cgdW5kZWZpbmVkIHN5bWJvbHMuCgkg
IGFsbG93X3VuZGVmaW5lZF9mbGFnPSIkbm9fdW5kZWZpbmVkX2ZsYWciCglm
aQoKICAgICAgZmkKCiAgICAgIGZ1bmNfZ2VuZXJhdGVfZGxzeW1zICIkbGli
bmFtZSIgIiRsaWJuYW1lIiAieWVzIgogICAgICBsaWJvYmpzKz0iICRzeW1m
aWxlb2JqIgogICAgICB0ZXN0ICJYJGxpYm9ianMiID0gIlggIiAmJiBsaWJv
YmpzPQoKICAgICAgaWYgdGVzdCAiJG9wdF9tb2RlIiAhPSByZWxpbms7IHRo
ZW4KCSMgUmVtb3ZlIG91ciBvdXRwdXRzLCBidXQgZG9uJ3QgcmVtb3ZlIG9i
amVjdCBmaWxlcyBzaW5jZSB0aGV5CgkjIG1heSBoYXZlIGJlZW4gY3JlYXRl
ZCB3aGVuIGNvbXBpbGluZyBQSUMgb2JqZWN0cy4KCXJlbW92ZWxpc3Q9Cgl0
ZW1wcmVtb3ZlbGlzdD1gJEVDSE8gIiRvdXRwdXRfb2JqZGlyLyoiYAoJZm9y
IHAgaW4gJHRlbXByZW1vdmVsaXN0OyBkbwoJICBjYXNlICRwIGluCgkgICAg
Ki4kb2JqZXh0IHwgKi5nY25vKQoJICAgICAgIDs7CgkgICAgJG91dHB1dF9v
YmpkaXIvJG91dHB1dG5hbWUgfCAkb3V0cHV0X29iamRpci8kbGlibmFtZS4q
IHwgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfSR7cmVsZWFzZX0uKikKCSAg
ICAgICBpZiB0ZXN0ICJYJHByZWNpb3VzX2ZpbGVzX3JlZ2V4IiAhPSAiWCI7
IHRoZW4KCQkgaWYgJEVDSE8gIiRwIiB8ICRFR1JFUCAtZSAiJHByZWNpb3Vz
X2ZpbGVzX3JlZ2V4IiA+L2Rldi9udWxsIDI+JjEKCQkgdGhlbgoJCSAgIGNv
bnRpbnVlCgkJIGZpCgkgICAgICAgZmkKCSAgICAgICByZW1vdmVsaXN0Kz0i
ICRwIgoJICAgICAgIDs7CgkgICAgKikgOzsKCSAgZXNhYwoJZG9uZQoJdGVz
dCAtbiAiJHJlbW92ZWxpc3QiICYmIFwKCSAgZnVuY19zaG93X2V2YWwgIiR7
Uk19ciBcJHJlbW92ZWxpc3QiCiAgICAgIGZpCgogICAgICAjIE5vdyBzZXQg
dGhlIHZhcmlhYmxlcyBmb3IgYnVpbGRpbmcgb2xkIGxpYnJhcmllcy4KICAg
ICAgaWYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IHllcyAmJiB0ZXN0ICIk
YnVpbGRfbGlidG9vbF9saWJzIiAhPSBjb252ZW5pZW5jZSA7IHRoZW4KCW9s
ZGxpYnMrPSIgJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUuJGxpYmV4dCIKCgkj
IFRyYW5zZm9ybSAubG8gZmlsZXMgdG8gLm8gZmlsZXMuCglvbGRvYmpzPSIk
b2JqcyAiYCRFQ0hPICIkbGlib2JqcyIgfCAkU1AyTkwgfCAkU0VEICIvXC4k
e2xpYmV4dH0kL2Q7ICRsbzJvIiB8ICROTDJTUGAKICAgICAgZmkKCiAgICAg
ICMgRWxpbWluYXRlIGFsbCB0ZW1wb3JhcnkgZGlyZWN0b3JpZXMuCiAgICAg
ICNmb3IgcGF0aCBpbiAkbm90aW5zdF9wYXRoOyBkbwogICAgICAjCWxpYl9z
ZWFyY2hfcGF0aD1gJEVDSE8gIiRsaWJfc2VhcmNoX3BhdGggIiB8ICRTRUQg
InMlICRwYXRoICUgJWciYAogICAgICAjCWRlcGxpYnM9YCRFQ0hPICIkZGVw
bGlicyAiIHwgJFNFRCAicyUgLUwkcGF0aCAlICVnImAKICAgICAgIwlkZXBl
bmRlbmN5X2xpYnM9YCRFQ0hPICIkZGVwZW5kZW5jeV9saWJzICIgfCAkU0VE
ICJzJSAtTCRwYXRoICUgJWciYAogICAgICAjZG9uZQoKICAgICAgaWYgdGVz
dCAtbiAiJHhycGF0aCI7IHRoZW4KCSMgSWYgdGhlIHVzZXIgc3BlY2lmaWVk
IGFueSBycGF0aCBmbGFncywgdGhlbiBhZGQgdGhlbS4KCXRlbXBfeHJwYXRo
PQoJZm9yIGxpYmRpciBpbiAkeHJwYXRoOyBkbwoJICBmdW5jX3JlcGxhY2Vf
c3lzcm9vdCAiJGxpYmRpciIKCSAgdGVtcF94cnBhdGgrPSIgLVIkZnVuY19y
ZXBsYWNlX3N5c3Jvb3RfcmVzdWx0IgoJICBjYXNlICIkZmluYWxpemVfcnBh
dGggIiBpbgoJICAqIiAkbGliZGlyICIqKSA7OwoJICAqKSBmaW5hbGl6ZV9y
cGF0aCs9IiAkbGliZGlyIiA7OwoJICBlc2FjCglkb25lCglpZiB0ZXN0ICIk
aGFyZGNvZGVfaW50b19saWJzIiAhPSB5ZXMgfHwgdGVzdCAiJGJ1aWxkX29s
ZF9saWJzIiA9IHllczsgdGhlbgoJICBkZXBlbmRlbmN5X2xpYnM9IiR0ZW1w
X3hycGF0aCAkZGVwZW5kZW5jeV9saWJzIgoJZmkKICAgICAgZmkKCiAgICAg
ICMgTWFrZSBzdXJlIGRsZmlsZXMgY29udGFpbnMgb25seSB1bmlxdWUgZmls
ZXMgdGhhdCB3b24ndCBiZSBkbHByZW9wZW5lZAogICAgICBvbGRfZGxmaWxl
cz0iJGRsZmlsZXMiCiAgICAgIGRsZmlsZXM9CiAgICAgIGZvciBsaWIgaW4g
JG9sZF9kbGZpbGVzOyBkbwoJY2FzZSAiICRkbHByZWZpbGVzICRkbGZpbGVz
ICIgaW4KCSoiICRsaWIgIiopIDs7CgkqKSBkbGZpbGVzKz0iICRsaWIiIDs7
Cgllc2FjCiAgICAgIGRvbmUKCiAgICAgICMgTWFrZSBzdXJlIGRscHJlZmls
ZXMgY29udGFpbnMgb25seSB1bmlxdWUgZmlsZXMKICAgICAgb2xkX2RscHJl
ZmlsZXM9IiRkbHByZWZpbGVzIgogICAgICBkbHByZWZpbGVzPQogICAgICBm
b3IgbGliIGluICRvbGRfZGxwcmVmaWxlczsgZG8KCWNhc2UgIiRkbHByZWZp
bGVzICIgaW4KCSoiICRsaWIgIiopIDs7CgkqKSBkbHByZWZpbGVzKz0iICRs
aWIiIDs7Cgllc2FjCiAgICAgIGRvbmUKCiAgICAgIGlmIHRlc3QgIiRidWls
ZF9saWJ0b29sX2xpYnMiID0geWVzOyB0aGVuCglpZiB0ZXN0IC1uICIkcnBh
dGgiOyB0aGVuCgkgIGNhc2UgJGhvc3QgaW4KCSAgKi0qLWN5Z3dpbiogfCAq
LSotbWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0qLW9zMiogfCAqLSotYmVvcyog
fCAqLWNlZ2NjKiB8ICotKi1oYWlrdSopCgkgICAgIyB0aGVzZSBzeXN0ZW1z
IGRvbid0IGFjdHVhbGx5IGhhdmUgYSBjIGxpYnJhcnkgKGFzIHN1Y2gpIQoJ
ICAgIDs7CgkgICotKi1yaGFwc29keSogfCAqLSotZGFyd2luMS5bMDEyXSkK
CSAgICAjIFJoYXBzb2R5IEMgbGlicmFyeSBpcyBpbiB0aGUgU3lzdGVtIGZy
YW1ld29yawoJICAgIGRlcGxpYnMrPSIgU3lzdGVtLmx0ZnJhbWV3b3JrIgoJ
ICAgIDs7CgkgICotKi1uZXRic2QqKQoJICAgICMgRG9uJ3QgbGluayB3aXRo
IGxpYmMgdW50aWwgdGhlIGEub3V0IGxkLnNvIGlzIGZpeGVkLgoJICAgIDs7
CgkgICotKi1vcGVuYnNkKiB8ICotKi1mcmVlYnNkKiB8ICotKi1kcmFnb25m
bHkqKQoJICAgICMgRG8gbm90IGluY2x1ZGUgbGliYyBkdWUgdG8gdXMgaGF2
aW5nIGxpYmMvbGliY19yLgoJICAgIDs7CgkgICotKi1zY28zLjJ2NSogfCAq
LSotc2NvNXY2KikKCSAgICAjIENhdXNlcyBwcm9ibGVtcyB3aXRoIF9fY3R5
cGUKCSAgICA7OwoJICAqLSotc3lzdjQuMnV3MiogfCAqLSotc3lzdjUqIHwg
Ki0qLXVuaXh3YXJlKiB8ICotKi1PcGVuVU5JWCopCgkgICAgIyBDb21waWxl
ciBpbnNlcnRzIGxpYmMgaW4gdGhlIGNvcnJlY3QgcGxhY2UgZm9yIHRocmVh
ZHMgdG8gd29yawoJICAgIDs7CgkgICopCgkgICAgIyBBZGQgbGliYyB0byBk
ZXBsaWJzIG9uIGFsbCBvdGhlciBzeXN0ZW1zIGlmIG5lY2Vzc2FyeS4KCSAg
ICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9uZWVkX2xjIiA9ICJ5ZXMiOyB0
aGVuCgkgICAgICBkZXBsaWJzKz0iIC1sYyIKCSAgICBmaQoJICAgIDs7Cgkg
IGVzYWMKCWZpCgoJIyBUcmFuc2Zvcm0gZGVwbGlicyBpbnRvIG9ubHkgZGVw
bGlicyB0aGF0IGNhbiBiZSBsaW5rZWQgaW4gc2hhcmVkLgoJbmFtZV9zYXZl
PSRuYW1lCglsaWJuYW1lX3NhdmU9JGxpYm5hbWUKCXJlbGVhc2Vfc2F2ZT0k
cmVsZWFzZQoJdmVyc3VmZml4X3NhdmU9JHZlcnN1ZmZpeAoJbWFqb3Jfc2F2
ZT0kbWFqb3IKCSMgSSdtIG5vdCBzdXJlIGlmIEknbSB0cmVhdGluZyB0aGUg
cmVsZWFzZSBjb3JyZWN0bHkuICBJIHRoaW5rCgkjIHJlbGVhc2Ugc2hvdWxk
IHNob3cgdXAgaW4gdGhlIC1sIChpZSAtbGdtcDUpIHNvIHdlIGRvbid0IHdh
bnQgdG8KCSMgYWRkIGl0IGluIHR3aWNlLiAgSXMgdGhhdCBjb3JyZWN0PwoJ
cmVsZWFzZT0iIgoJdmVyc3VmZml4PSIiCgltYWpvcj0iIgoJbmV3ZGVwbGli
cz0KCWRyb3BwZWRkZXBzPW5vCgljYXNlICRkZXBsaWJzX2NoZWNrX21ldGhv
ZCBpbgoJcGFzc19hbGwpCgkgICMgRG9uJ3QgY2hlY2sgZm9yIHNoYXJlZC9z
dGF0aWMuICBFdmVyeXRoaW5nIHdvcmtzLgoJICAjIFRoaXMgbWlnaHQgYmUg
YSBsaXR0bGUgbmFpdmUuICBXZSBtaWdodCB3YW50IHRvIGNoZWNrCgkgICMg
d2hldGhlciB0aGUgbGlicmFyeSBleGlzdHMgb3Igbm90LiAgQnV0IHRoaXMg
aXMgb24KCSAgIyBvc2YzICYgb3NmNCBhbmQgSSdtIG5vdCByZWFsbHkgc3Vy
ZS4uLiBKdXN0CgkgICMgaW1wbGVtZW50aW5nIHdoYXQgd2FzIGFscmVhZHkg
dGhlIGJlaGF2aW9yLgoJICBuZXdkZXBsaWJzPSRkZXBsaWJzCgkgIDs7Cgl0
ZXN0X2NvbXBpbGUpCgkgICMgVGhpcyBjb2RlIHN0cmVzc2VzIHRoZSAibGli
cmFyaWVzIGFyZSBwcm9ncmFtcyIgcGFyYWRpZ20gdG8gaXRzCgkgICMgbGlt
aXRzLiBNYXliZSBldmVuIGJyZWFrcyBpdC4gIFdlIGNvbXBpbGUgYSBwcm9n
cmFtLCBsaW5raW5nIGl0CgkgICMgYWdhaW5zdCB0aGUgZGVwbGlicyBhcyBh
IHByb3h5IGZvciB0aGUgbGlicmFyeS4gIFRoZW4gd2UgY2FuIGNoZWNrCgkg
ICMgd2hldGhlciB0aGV5IGxpbmtlZCBpbiBzdGF0aWNhbGx5IG9yIGR5bmFt
aWNhbGx5IHdpdGggbGRkLgoJICAkb3B0X2RyeV9ydW4gfHwgJFJNIGNvbmZ0
ZXN0LmMKCSAgY2F0ID4gY29uZnRlc3QuYyA8PEVPRgoJICBpbnQgbWFpbigp
IHsgcmV0dXJuIDA7IH0KRU9GCgkgICRvcHRfZHJ5X3J1biB8fCAkUk0gY29u
ZnRlc3QKCSAgaWYgJExUQ0MgJExUQ0ZMQUdTIC1vIGNvbmZ0ZXN0IGNvbmZ0
ZXN0LmMgJGRlcGxpYnM7IHRoZW4KCSAgICBsZGRfb3V0cHV0PWBsZGQgY29u
ZnRlc3RgCgkgICAgZm9yIGkgaW4gJGRlcGxpYnM7IGRvCgkgICAgICBjYXNl
ICRpIGluCgkgICAgICAtbCopCgkJZnVuY19zdHJpcG5hbWUgLWwgJycgIiRp
IgoJCW5hbWU9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAoJCWlmIHRlc3QgIlgk
YWxsb3dfbGlidG9vbF9saWJzX3dpdGhfc3RhdGljX3J1bnRpbWVzIiA9ICJY
eWVzIiA7IHRoZW4KCQkgIGNhc2UgIiAkcHJlZGVwcyAkcG9zdGRlcHMgIiBp
bgoJCSAgKiIgJGkgIiopCgkJICAgIG5ld2RlcGxpYnMrPSIgJGkiCgkJICAg
IGk9IiIKCQkgICAgOzsKCQkgIGVzYWMKCQlmaQoJCWlmIHRlc3QgLW4gIiRp
IiA7IHRoZW4KCQkgIGxpYm5hbWU9YGV2YWwgIlxcJEVDSE8gXCIkbGlibmFt
ZV9zcGVjXCIiYAoJCSAgZGVwbGliX21hdGNoZXM9YGV2YWwgIlxcJEVDSE8g
XCIkbGlicmFyeV9uYW1lc19zcGVjXCIiYAoJCSAgc2V0IGR1bW15ICRkZXBs
aWJfbWF0Y2hlczsgc2hpZnQKCQkgIGRlcGxpYl9tYXRjaD0kMQoJCSAgaWYg
dGVzdCBgZXhwciAiJGxkZF9vdXRwdXQiIDogIi4qJGRlcGxpYl9tYXRjaCJg
IC1uZSAwIDsgdGhlbgoJCSAgICBuZXdkZXBsaWJzKz0iICRpIgoJCSAgZWxz
ZQoJCSAgICBkcm9wcGVkZGVwcz15ZXMKCQkgICAgZWNobwoJCSAgICAkRUNI
TyAiKioqIFdhcm5pbmc6IGR5bmFtaWMgbGlua2VyIGRvZXMgbm90IGFjY2Vw
dCBuZWVkZWQgbGlicmFyeSAkaS4iCgkJICAgIGVjaG8gIioqKiBJIGhhdmUg
dGhlIGNhcGFiaWxpdHkgdG8gbWFrZSB0aGF0IGxpYnJhcnkgYXV0b21hdGlj
YWxseSBsaW5rIGluIHdoZW4iCgkJICAgIGVjaG8gIioqKiB5b3UgbGluayB0
byB0aGlzIGxpYnJhcnkuICBCdXQgSSBjYW4gb25seSBkbyB0aGlzIGlmIHlv
dSBoYXZlIGEiCgkJICAgIGVjaG8gIioqKiBzaGFyZWQgdmVyc2lvbiBvZiB0
aGUgbGlicmFyeSwgd2hpY2ggSSBiZWxpZXZlIHlvdSBkbyBub3QgaGF2ZSIK
CQkgICAgZWNobyAiKioqIGJlY2F1c2UgYSB0ZXN0X2NvbXBpbGUgZGlkIHJl
dmVhbCB0aGF0IHRoZSBsaW5rZXIgZGlkIG5vdCB1c2UgaXQgZm9yIgoJCSAg
ICBlY2hvICIqKiogaXRzIGR5bmFtaWMgZGVwZW5kZW5jeSBsaXN0IHRoYXQg
cHJvZ3JhbXMgZ2V0IHJlc29sdmVkIHdpdGggYXQgcnVudGltZS4iCgkJICBm
aQoJCWZpCgkJOzsKCSAgICAgICopCgkJbmV3ZGVwbGlicys9IiAkaSIKCQk7
OwoJICAgICAgZXNhYwoJICAgIGRvbmUKCSAgZWxzZQoJICAgICMgRXJyb3Ig
b2NjdXJyZWQgaW4gdGhlIGZpcnN0IGNvbXBpbGUuICBMZXQncyB0cnkgdG8g
c2FsdmFnZQoJICAgICMgdGhlIHNpdHVhdGlvbjogQ29tcGlsZSBhIHNlcGFy
YXRlIHByb2dyYW0gZm9yIGVhY2ggbGlicmFyeS4KCSAgICBmb3IgaSBpbiAk
ZGVwbGliczsgZG8KCSAgICAgIGNhc2UgJGkgaW4KCSAgICAgIC1sKikKCQlm
dW5jX3N0cmlwbmFtZSAtbCAnJyAiJGkiCgkJbmFtZT0kZnVuY19zdHJpcG5h
bWVfcmVzdWx0CgkJJG9wdF9kcnlfcnVuIHx8ICRSTSBjb25mdGVzdAoJCWlm
ICRMVENDICRMVENGTEFHUyAtbyBjb25mdGVzdCBjb25mdGVzdC5jICRpOyB0
aGVuCgkJICBsZGRfb3V0cHV0PWBsZGQgY29uZnRlc3RgCgkJICBpZiB0ZXN0
ICJYJGFsbG93X2xpYnRvb2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcyIg
PSAiWHllcyIgOyB0aGVuCgkJICAgIGNhc2UgIiAkcHJlZGVwcyAkcG9zdGRl
cHMgIiBpbgoJCSAgICAqIiAkaSAiKikKCQkgICAgICBuZXdkZXBsaWJzKz0i
ICRpIgoJCSAgICAgIGk9IiIKCQkgICAgICA7OwoJCSAgICBlc2FjCgkJICBm
aQoJCSAgaWYgdGVzdCAtbiAiJGkiIDsgdGhlbgoJCSAgICBsaWJuYW1lPWBl
dmFsICJcXCRFQ0hPIFwiJGxpYm5hbWVfc3BlY1wiImAKCQkgICAgZGVwbGli
X21hdGNoZXM9YGV2YWwgIlxcJEVDSE8gXCIkbGlicmFyeV9uYW1lc19zcGVj
XCIiYAoJCSAgICBzZXQgZHVtbXkgJGRlcGxpYl9tYXRjaGVzOyBzaGlmdAoJ
CSAgICBkZXBsaWJfbWF0Y2g9JDEKCQkgICAgaWYgdGVzdCBgZXhwciAiJGxk
ZF9vdXRwdXQiIDogIi4qJGRlcGxpYl9tYXRjaCJgIC1uZSAwIDsgdGhlbgoJ
CSAgICAgIG5ld2RlcGxpYnMrPSIgJGkiCgkJICAgIGVsc2UKCQkgICAgICBk
cm9wcGVkZGVwcz15ZXMKCQkgICAgICBlY2hvCgkJICAgICAgJEVDSE8gIioq
KiBXYXJuaW5nOiBkeW5hbWljIGxpbmtlciBkb2VzIG5vdCBhY2NlcHQgbmVl
ZGVkIGxpYnJhcnkgJGkuIgoJCSAgICAgIGVjaG8gIioqKiBJIGhhdmUgdGhl
IGNhcGFiaWxpdHkgdG8gbWFrZSB0aGF0IGxpYnJhcnkgYXV0b21hdGljYWxs
eSBsaW5rIGluIHdoZW4iCgkJICAgICAgZWNobyAiKioqIHlvdSBsaW5rIHRv
IHRoaXMgbGlicmFyeS4gIEJ1dCBJIGNhbiBvbmx5IGRvIHRoaXMgaWYgeW91
IGhhdmUgYSIKCQkgICAgICBlY2hvICIqKiogc2hhcmVkIHZlcnNpb24gb2Yg
dGhlIGxpYnJhcnksIHdoaWNoIHlvdSBkbyBub3QgYXBwZWFyIHRvIGhhdmUi
CgkJICAgICAgZWNobyAiKioqIGJlY2F1c2UgYSB0ZXN0X2NvbXBpbGUgZGlk
IHJldmVhbCB0aGF0IHRoZSBsaW5rZXIgZGlkIG5vdCB1c2UgdGhpcyBvbmUi
CgkJICAgICAgZWNobyAiKioqIGFzIGEgZHluYW1pYyBkZXBlbmRlbmN5IHRo
YXQgcHJvZ3JhbXMgY2FuIGdldCByZXNvbHZlZCB3aXRoIGF0IHJ1bnRpbWUu
IgoJCSAgICBmaQoJCSAgZmkKCQllbHNlCgkJICBkcm9wcGVkZGVwcz15ZXMK
CQkgIGVjaG8KCQkgICRFQ0hPICIqKiogV2FybmluZyEgIExpYnJhcnkgJGkg
aXMgbmVlZGVkIGJ5IHRoaXMgbGlicmFyeSBidXQgSSB3YXMgbm90IGFibGUg
dG8iCgkJICBlY2hvICIqKiogbWFrZSBpdCBsaW5rIGluISAgWW91IHdpbGwg
cHJvYmFibHkgbmVlZCB0byBpbnN0YWxsIGl0IG9yIHNvbWUiCgkJICBlY2hv
ICIqKiogbGlicmFyeSB0aGF0IGl0IGRlcGVuZHMgb24gYmVmb3JlIHRoaXMg
bGlicmFyeSB3aWxsIGJlIGZ1bGx5IgoJCSAgZWNobyAiKioqIGZ1bmN0aW9u
YWwuICBJbnN0YWxsaW5nIGl0IGJlZm9yZSBjb250aW51aW5nIHdvdWxkIGJl
IGV2ZW4gYmV0dGVyLiIKCQlmaQoJCTs7CgkgICAgICAqKQoJCW5ld2RlcGxp
YnMrPSIgJGkiCgkJOzsKCSAgICAgIGVzYWMKCSAgICBkb25lCgkgIGZpCgkg
IDs7CglmaWxlX21hZ2ljKikKCSAgc2V0IGR1bW15ICRkZXBsaWJzX2NoZWNr
X21ldGhvZDsgc2hpZnQKCSAgZmlsZV9tYWdpY19yZWdleD1gZXhwciAiJGRl
cGxpYnNfY2hlY2tfbWV0aG9kIiA6ICIkMSBcKC4qXCkiYAoJICBmb3IgYV9k
ZXBsaWIgaW4gJGRlcGxpYnM7IGRvCgkgICAgY2FzZSAkYV9kZXBsaWIgaW4K
CSAgICAtbCopCgkgICAgICBmdW5jX3N0cmlwbmFtZSAtbCAnJyAiJGFfZGVw
bGliIgoJICAgICAgbmFtZT0kZnVuY19zdHJpcG5hbWVfcmVzdWx0CgkgICAg
ICBpZiB0ZXN0ICJYJGFsbG93X2xpYnRvb2xfbGlic193aXRoX3N0YXRpY19y
dW50aW1lcyIgPSAiWHllcyIgOyB0aGVuCgkJY2FzZSAiICRwcmVkZXBzICRw
b3N0ZGVwcyAiIGluCgkJKiIgJGFfZGVwbGliICIqKQoJCSAgbmV3ZGVwbGli
cys9IiAkYV9kZXBsaWIiCgkJICBhX2RlcGxpYj0iIgoJCSAgOzsKCQllc2Fj
CgkgICAgICBmaQoJICAgICAgaWYgdGVzdCAtbiAiJGFfZGVwbGliIiA7IHRo
ZW4KCQlsaWJuYW1lPWBldmFsICJcXCRFQ0hPIFwiJGxpYm5hbWVfc3BlY1wi
ImAKCQlpZiB0ZXN0IC1uICIkZmlsZV9tYWdpY19nbG9iIjsgdGhlbgoJCSAg
bGlibmFtZWdsb2I9YGZ1bmNfZWNob19hbGwgIiRsaWJuYW1lIiB8ICRTRUQg
LWUgJGZpbGVfbWFnaWNfZ2xvYmAKCQllbHNlCgkJICBsaWJuYW1lZ2xvYj0k
bGlibmFtZQoJCWZpCgkJdGVzdCAiJHdhbnRfbm9jYXNlZ2xvYiIgPSB5ZXMg
JiYgbm9jYXNlZ2xvYj1gc2hvcHQgLXAgbm9jYXNlZ2xvYmAKCQlmb3IgaSBp
biAkbGliX3NlYXJjaF9wYXRoICRzeXNfbGliX3NlYXJjaF9wYXRoICRzaGxp
Yl9zZWFyY2hfcGF0aDsgZG8KCQkgIGlmIHRlc3QgIiR3YW50X25vY2FzZWds
b2IiID0geWVzOyB0aGVuCgkJICAgIHNob3B0IC1zIG5vY2FzZWdsb2IKCQkg
ICAgcG90ZW50aWFsX2xpYnM9YGxzICRpLyRsaWJuYW1lZ2xvYlsuLV0qIDI+
L2Rldi9udWxsYAoJCSAgICAkbm9jYXNlZ2xvYgoJCSAgZWxzZQoJCSAgICBw
b3RlbnRpYWxfbGlicz1gbHMgJGkvJGxpYm5hbWVnbG9iWy4tXSogMj4vZGV2
L251bGxgCgkJICBmaQoJCSAgZm9yIHBvdGVudF9saWIgaW4gJHBvdGVudGlh
bF9saWJzOyBkbwoJCSAgICAgICMgRm9sbG93IHNvZnQgbGlua3MuCgkJICAg
ICAgaWYgbHMgLWxMZCAiJHBvdGVudF9saWIiIDI+L2Rldi9udWxsIHwKCQkJ
ICRHUkVQICIgLT4gIiA+L2Rldi9udWxsOyB0aGVuCgkJCWNvbnRpbnVlCgkJ
ICAgICAgZmkKCQkgICAgICAjIFRoZSBzdGF0ZW1lbnQgYWJvdmUgdHJpZXMg
dG8gYXZvaWQgZW50ZXJpbmcgYW4KCQkgICAgICAjIGVuZGxlc3MgbG9vcCBi
ZWxvdywgaW4gY2FzZSBvZiBjeWNsaWMgbGlua3MuCgkJICAgICAgIyBXZSBt
aWdodCBzdGlsbCBlbnRlciBhbiBlbmRsZXNzIGxvb3AsIHNpbmNlIGEgbGlu
awoJCSAgICAgICMgbG9vcCBjYW4gYmUgY2xvc2VkIHdoaWxlIHdlIGZvbGxv
dyBsaW5rcywKCQkgICAgICAjIGJ1dCBzbyB3aGF0PwoJCSAgICAgIHBvdGxp
Yj0iJHBvdGVudF9saWIiCgkJICAgICAgd2hpbGUgdGVzdCAtaCAiJHBvdGxp
YiIgMj4vZGV2L251bGw7IGRvCgkJCXBvdGxpYmxpbms9YGxzIC1sZCAkcG90
bGliIHwgJHtTRUR9ICdzLy4qIC0+IC8vJ2AKCQkJY2FzZSAkcG90bGlibGlu
ayBpbgoJCQlbXFwvXSogfCBbQS1aYS16XTpbXFwvXSopIHBvdGxpYj0iJHBv
dGxpYmxpbmsiOzsKCQkJKikgcG90bGliPWAkRUNITyAiJHBvdGxpYiIgfCAk
U0VEICdzLFteL10qJCwsJ2AiJHBvdGxpYmxpbmsiOzsKCQkJZXNhYwoJCSAg
ICAgIGRvbmUKCQkgICAgICBpZiBldmFsICRmaWxlX21hZ2ljX2NtZCBcIlwk
cG90bGliXCIgMj4vZGV2L251bGwgfAoJCQkgJFNFRCAtZSAxMHEgfAoJCQkg
JEVHUkVQICIkZmlsZV9tYWdpY19yZWdleCIgPiAvZGV2L251bGw7IHRoZW4K
CQkJbmV3ZGVwbGlicys9IiAkYV9kZXBsaWIiCgkJCWFfZGVwbGliPSIiCgkJ
CWJyZWFrIDIKCQkgICAgICBmaQoJCSAgZG9uZQoJCWRvbmUKCSAgICAgIGZp
CgkgICAgICBpZiB0ZXN0IC1uICIkYV9kZXBsaWIiIDsgdGhlbgoJCWRyb3Bw
ZWRkZXBzPXllcwoJCWVjaG8KCQkkRUNITyAiKioqIFdhcm5pbmc6IGxpbmtl
ciBwYXRoIGRvZXMgbm90IGhhdmUgcmVhbCBmaWxlIGZvciBsaWJyYXJ5ICRh
X2RlcGxpYi4iCgkJZWNobyAiKioqIEkgaGF2ZSB0aGUgY2FwYWJpbGl0eSB0
byBtYWtlIHRoYXQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGxpbmsgaW4gd2hl
biIKCQllY2hvICIqKiogeW91IGxpbmsgdG8gdGhpcyBsaWJyYXJ5LiAgQnV0
IEkgY2FuIG9ubHkgZG8gdGhpcyBpZiB5b3UgaGF2ZSBhIgoJCWVjaG8gIioq
KiBzaGFyZWQgdmVyc2lvbiBvZiB0aGUgbGlicmFyeSwgd2hpY2ggeW91IGRv
IG5vdCBhcHBlYXIgdG8gaGF2ZSIKCQllY2hvICIqKiogYmVjYXVzZSBJIGRp
ZCBjaGVjayB0aGUgbGlua2VyIHBhdGggbG9va2luZyBmb3IgYSBmaWxlIHN0
YXJ0aW5nIgoJCWlmIHRlc3QgLXogIiRwb3RsaWIiIDsgdGhlbgoJCSAgJEVD
SE8gIioqKiB3aXRoICRsaWJuYW1lIGJ1dCBubyBjYW5kaWRhdGVzIHdlcmUg
Zm91bmQuICguLi5mb3IgZmlsZSBtYWdpYyB0ZXN0KSIKCQllbHNlCgkJICAk
RUNITyAiKioqIHdpdGggJGxpYm5hbWUgYW5kIG5vbmUgb2YgdGhlIGNhbmRp
ZGF0ZXMgcGFzc2VkIGEgZmlsZSBmb3JtYXQgdGVzdCIKCQkgICRFQ0hPICIq
KiogdXNpbmcgYSBmaWxlIG1hZ2ljLiBMYXN0IGZpbGUgY2hlY2tlZDogJHBv
dGxpYiIKCQlmaQoJICAgICAgZmkKCSAgICAgIDs7CgkgICAgKikKCSAgICAg
ICMgQWRkIGEgLUwgYXJndW1lbnQuCgkgICAgICBuZXdkZXBsaWJzKz0iICRh
X2RlcGxpYiIKCSAgICAgIDs7CgkgICAgZXNhYwoJICBkb25lICMgR29uZSB0
aHJvdWdoIGFsbCBkZXBsaWJzLgoJICA7OwoJbWF0Y2hfcGF0dGVybiopCgkg
IHNldCBkdW1teSAkZGVwbGlic19jaGVja19tZXRob2Q7IHNoaWZ0CgkgIG1h
dGNoX3BhdHRlcm5fcmVnZXg9YGV4cHIgIiRkZXBsaWJzX2NoZWNrX21ldGhv
ZCIgOiAiJDEgXCguKlwpImAKCSAgZm9yIGFfZGVwbGliIGluICRkZXBsaWJz
OyBkbwoJICAgIGNhc2UgJGFfZGVwbGliIGluCgkgICAgLWwqKQoJICAgICAg
ZnVuY19zdHJpcG5hbWUgLWwgJycgIiRhX2RlcGxpYiIKCSAgICAgIG5hbWU9
JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAoJICAgICAgaWYgdGVzdCAiWCRhbGxv
d19saWJ0b29sX2xpYnNfd2l0aF9zdGF0aWNfcnVudGltZXMiID0gIlh5ZXMi
IDsgdGhlbgoJCWNhc2UgIiAkcHJlZGVwcyAkcG9zdGRlcHMgIiBpbgoJCSoi
ICRhX2RlcGxpYiAiKikKCQkgIG5ld2RlcGxpYnMrPSIgJGFfZGVwbGliIgoJ
CSAgYV9kZXBsaWI9IiIKCQkgIDs7CgkJZXNhYwoJICAgICAgZmkKCSAgICAg
IGlmIHRlc3QgLW4gIiRhX2RlcGxpYiIgOyB0aGVuCgkJbGlibmFtZT1gZXZh
bCAiXFwkRUNITyBcIiRsaWJuYW1lX3NwZWNcIiJgCgkJZm9yIGkgaW4gJGxp
Yl9zZWFyY2hfcGF0aCAkc3lzX2xpYl9zZWFyY2hfcGF0aCAkc2hsaWJfc2Vh
cmNoX3BhdGg7IGRvCgkJICBwb3RlbnRpYWxfbGlicz1gbHMgJGkvJGxpYm5h
bWVbLi1dKiAyPi9kZXYvbnVsbGAKCQkgIGZvciBwb3RlbnRfbGliIGluICRw
b3RlbnRpYWxfbGliczsgZG8KCQkgICAgcG90bGliPSIkcG90ZW50X2xpYiIg
IyBzZWUgc3ltbGluay1jaGVjayBhYm92ZSBpbiBmaWxlX21hZ2ljIHRlc3QK
CQkgICAgaWYgZXZhbCAiXCRFQ0hPIFwiJHBvdGVudF9saWJcIiIgMj4vZGV2
L251bGwgfCAkU0VEIDEwcSB8IFwKCQkgICAgICAgJEVHUkVQICIkbWF0Y2hf
cGF0dGVybl9yZWdleCIgPiAvZGV2L251bGw7IHRoZW4KCQkgICAgICBuZXdk
ZXBsaWJzKz0iICRhX2RlcGxpYiIKCQkgICAgICBhX2RlcGxpYj0iIgoJCSAg
ICAgIGJyZWFrIDIKCQkgICAgZmkKCQkgIGRvbmUKCQlkb25lCgkgICAgICBm
aQoJICAgICAgaWYgdGVzdCAtbiAiJGFfZGVwbGliIiA7IHRoZW4KCQlkcm9w
cGVkZGVwcz15ZXMKCQllY2hvCgkJJEVDSE8gIioqKiBXYXJuaW5nOiBsaW5r
ZXIgcGF0aCBkb2VzIG5vdCBoYXZlIHJlYWwgZmlsZSBmb3IgbGlicmFyeSAk
YV9kZXBsaWIuIgoJCWVjaG8gIioqKiBJIGhhdmUgdGhlIGNhcGFiaWxpdHkg
dG8gbWFrZSB0aGF0IGxpYnJhcnkgYXV0b21hdGljYWxseSBsaW5rIGluIHdo
ZW4iCgkJZWNobyAiKioqIHlvdSBsaW5rIHRvIHRoaXMgbGlicmFyeS4gIEJ1
dCBJIGNhbiBvbmx5IGRvIHRoaXMgaWYgeW91IGhhdmUgYSIKCQllY2hvICIq
Kiogc2hhcmVkIHZlcnNpb24gb2YgdGhlIGxpYnJhcnksIHdoaWNoIHlvdSBk
byBub3QgYXBwZWFyIHRvIGhhdmUiCgkJZWNobyAiKioqIGJlY2F1c2UgSSBk
aWQgY2hlY2sgdGhlIGxpbmtlciBwYXRoIGxvb2tpbmcgZm9yIGEgZmlsZSBz
dGFydGluZyIKCQlpZiB0ZXN0IC16ICIkcG90bGliIiA7IHRoZW4KCQkgICRF
Q0hPICIqKiogd2l0aCAkbGlibmFtZSBidXQgbm8gY2FuZGlkYXRlcyB3ZXJl
IGZvdW5kLiAoLi4uZm9yIHJlZ2V4IHBhdHRlcm4gdGVzdCkiCgkJZWxzZQoJ
CSAgJEVDSE8gIioqKiB3aXRoICRsaWJuYW1lIGFuZCBub25lIG9mIHRoZSBj
YW5kaWRhdGVzIHBhc3NlZCBhIGZpbGUgZm9ybWF0IHRlc3QiCgkJICAkRUNI
TyAiKioqIHVzaW5nIGEgcmVnZXggcGF0dGVybi4gTGFzdCBmaWxlIGNoZWNr
ZWQ6ICRwb3RsaWIiCgkJZmkKCSAgICAgIGZpCgkgICAgICA7OwoJICAgICop
CgkgICAgICAjIEFkZCBhIC1MIGFyZ3VtZW50LgoJICAgICAgbmV3ZGVwbGli
cys9IiAkYV9kZXBsaWIiCgkgICAgICA7OwoJICAgIGVzYWMKCSAgZG9uZSAj
IEdvbmUgdGhyb3VnaCBhbGwgZGVwbGlicy4KCSAgOzsKCW5vbmUgfCB1bmtu
b3duIHwgKikKCSAgbmV3ZGVwbGlicz0iIgoJICB0bXBfZGVwbGlicz1gJEVD
SE8gIiAkZGVwbGlicyIgfCAkU0VEICdzLyAtbGMkLy87IHMvIC1bTFJdW14g
XSovL2cnYAoJICBpZiB0ZXN0ICJYJGFsbG93X2xpYnRvb2xfbGlic193aXRo
X3N0YXRpY19ydW50aW1lcyIgPSAiWHllcyIgOyB0aGVuCgkgICAgZm9yIGkg
aW4gJHByZWRlcHMgJHBvc3RkZXBzIDsgZG8KCSAgICAgICMgY2FuJ3QgdXNl
IFhzZWQgYmVsb3csIGJlY2F1c2UgJGkgbWlnaHQgY29udGFpbiAnLycKCSAg
ICAgIHRtcF9kZXBsaWJzPWAkRUNITyAiICR0bXBfZGVwbGlicyIgfCAkU0VE
ICJzLCRpLCwiYAoJICAgIGRvbmUKCSAgZmkKCSAgY2FzZSAkdG1wX2RlcGxp
YnMgaW4KCSAgKlshXAlcIF0qKQoJICAgIGVjaG8KCSAgICBpZiB0ZXN0ICJY
JGRlcGxpYnNfY2hlY2tfbWV0aG9kIiA9ICJYbm9uZSI7IHRoZW4KCSAgICAg
IGVjaG8gIioqKiBXYXJuaW5nOiBpbnRlci1saWJyYXJ5IGRlcGVuZGVuY2ll
cyBhcmUgbm90IHN1cHBvcnRlZCBpbiB0aGlzIHBsYXRmb3JtLiIKCSAgICBl
bHNlCgkgICAgICBlY2hvICIqKiogV2FybmluZzogaW50ZXItbGlicmFyeSBk
ZXBlbmRlbmNpZXMgYXJlIG5vdCBrbm93biB0byBiZSBzdXBwb3J0ZWQuIgoJ
ICAgIGZpCgkgICAgZWNobyAiKioqIEFsbCBkZWNsYXJlZCBpbnRlci1saWJy
YXJ5IGRlcGVuZGVuY2llcyBhcmUgYmVpbmcgZHJvcHBlZC4iCgkgICAgZHJv
cHBlZGRlcHM9eWVzCgkgICAgOzsKCSAgZXNhYwoJICA7OwoJZXNhYwoJdmVy
c3VmZml4PSR2ZXJzdWZmaXhfc2F2ZQoJbWFqb3I9JG1ham9yX3NhdmUKCXJl
bGVhc2U9JHJlbGVhc2Vfc2F2ZQoJbGlibmFtZT0kbGlibmFtZV9zYXZlCglu
YW1lPSRuYW1lX3NhdmUKCgljYXNlICRob3N0IGluCgkqLSotcmhhcHNvZHkq
IHwgKi0qLWRhcndpbjEuWzAxMl0pCgkgICMgT24gUmhhcHNvZHkgcmVwbGFj
ZSB0aGUgQyBsaWJyYXJ5IHdpdGggdGhlIFN5c3RlbSBmcmFtZXdvcmsKCSAg
bmV3ZGVwbGlicz1gJEVDSE8gIiAkbmV3ZGVwbGlicyIgfCAkU0VEICdzLyAt
bGMgLyBTeXN0ZW0ubHRmcmFtZXdvcmsgLydgCgkgIDs7Cgllc2FjCgoJaWYg
dGVzdCAiJGRyb3BwZWRkZXBzIiA9IHllczsgdGhlbgoJICBpZiB0ZXN0ICIk
bW9kdWxlIiA9IHllczsgdGhlbgoJICAgIGVjaG8KCSAgICBlY2hvICIqKiog
V2FybmluZzogbGlidG9vbCBjb3VsZCBub3Qgc2F0aXNmeSBhbGwgZGVjbGFy
ZWQgaW50ZXItbGlicmFyeSIKCSAgICAkRUNITyAiKioqIGRlcGVuZGVuY2ll
cyBvZiBtb2R1bGUgJGxpYm5hbWUuICBUaGVyZWZvcmUsIGxpYnRvb2wgd2ls
bCBjcmVhdGUiCgkgICAgZWNobyAiKioqIGEgc3RhdGljIG1vZHVsZSwgdGhh
dCBzaG91bGQgd29yayBhcyBsb25nIGFzIHRoZSBkbG9wZW5pbmciCgkgICAg
ZWNobyAiKioqIGFwcGxpY2F0aW9uIGlzIGxpbmtlZCB3aXRoIHRoZSAtZGxv
cGVuIGZsYWcuIgoJICAgIGlmIHRlc3QgLXogIiRnbG9iYWxfc3ltYm9sX3Bp
cGUiOyB0aGVuCgkgICAgICBlY2hvCgkgICAgICBlY2hvICIqKiogSG93ZXZl
ciwgdGhpcyB3b3VsZCBvbmx5IHdvcmsgaWYgbGlidG9vbCB3YXMgYWJsZSB0
byBleHRyYWN0IHN5bWJvbCIKCSAgICAgIGVjaG8gIioqKiBsaXN0cyBmcm9t
IGEgcHJvZ3JhbSwgdXNpbmcgXGBubScgb3IgZXF1aXZhbGVudCwgYnV0IGxp
YnRvb2wgY291bGQiCgkgICAgICBlY2hvICIqKiogbm90IGZpbmQgc3VjaCBh
IHByb2dyYW0uICBTbywgdGhpcyBtb2R1bGUgaXMgcHJvYmFibHkgdXNlbGVz
cy4iCgkgICAgICBlY2hvICIqKiogXGBubScgZnJvbSBHTlUgYmludXRpbHMg
YW5kIGEgZnVsbCByZWJ1aWxkIG1heSBoZWxwLiIKCSAgICBmaQoJICAgIGlm
IHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSBubzsgdGhlbgoJICAgICAgb2xk
bGlicz0iJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUuJGxpYmV4dCIKCSAgICAg
IGJ1aWxkX2xpYnRvb2xfbGlicz1tb2R1bGUKCSAgICAgIGJ1aWxkX29sZF9s
aWJzPXllcwoJICAgIGVsc2UKCSAgICAgIGJ1aWxkX2xpYnRvb2xfbGlicz1u
bwoJICAgIGZpCgkgIGVsc2UKCSAgICBlY2hvICIqKiogVGhlIGludGVyLWxp
YnJhcnkgZGVwZW5kZW5jaWVzIHRoYXQgaGF2ZSBiZWVuIGRyb3BwZWQgaGVy
ZSB3aWxsIGJlIgoJICAgIGVjaG8gIioqKiBhdXRvbWF0aWNhbGx5IGFkZGVk
IHdoZW5ldmVyIGEgcHJvZ3JhbSBpcyBsaW5rZWQgd2l0aCB0aGlzIGxpYnJh
cnkiCgkgICAgZWNobyAiKioqIG9yIGlzIGRlY2xhcmVkIHRvIC1kbG9wZW4g
aXQuIgoKCSAgICBpZiB0ZXN0ICIkYWxsb3dfdW5kZWZpbmVkIiA9IG5vOyB0
aGVuCgkgICAgICBlY2hvCgkgICAgICBlY2hvICIqKiogU2luY2UgdGhpcyBs
aWJyYXJ5IG11c3Qgbm90IGNvbnRhaW4gdW5kZWZpbmVkIHN5bWJvbHMsIgoJ
ICAgICAgZWNobyAiKioqIGJlY2F1c2UgZWl0aGVyIHRoZSBwbGF0Zm9ybSBk
b2VzIG5vdCBzdXBwb3J0IHRoZW0gb3IiCgkgICAgICBlY2hvICIqKiogaXQg
d2FzIGV4cGxpY2l0bHkgcmVxdWVzdGVkIHdpdGggLW5vLXVuZGVmaW5lZCwi
CgkgICAgICBlY2hvICIqKiogbGlidG9vbCB3aWxsIG9ubHkgY3JlYXRlIGEg
c3RhdGljIHZlcnNpb24gb2YgaXQuIgoJICAgICAgaWYgdGVzdCAiJGJ1aWxk
X29sZF9saWJzIiA9IG5vOyB0aGVuCgkJb2xkbGlicz0iJG91dHB1dF9vYmpk
aXIvJGxpYm5hbWUuJGxpYmV4dCIKCQlidWlsZF9saWJ0b29sX2xpYnM9bW9k
dWxlCgkJYnVpbGRfb2xkX2xpYnM9eWVzCgkgICAgICBlbHNlCgkJYnVpbGRf
bGlidG9vbF9saWJzPW5vCgkgICAgICBmaQoJICAgIGZpCgkgIGZpCglmaQoJ
IyBEb25lIGNoZWNraW5nIGRlcGxpYnMhCglkZXBsaWJzPSRuZXdkZXBsaWJz
CiAgICAgIGZpCiAgICAgICMgVGltZSB0byBjaGFuZ2UgYWxsIG91ciAiZm9v
Lmx0ZnJhbWV3b3JrIiBzdHVmZiBiYWNrIHRvICItZnJhbWV3b3JrIGZvbyIK
ICAgICAgY2FzZSAkaG9zdCBpbgoJKi0qLWRhcndpbiopCgkgIG5ld2RlcGxp
YnM9YCRFQ0hPICIgJG5ld2RlcGxpYnMiIHwgJFNFRCAncyUgXChbXiAkXSpc
KS5sdGZyYW1ld29yayUgLWZyYW1ld29yayBcMSVnJ2AKCSAgbmV3X2luaGVy
aXRlZF9saW5rZXJfZmxhZ3M9YCRFQ0hPICIgJG5ld19pbmhlcml0ZWRfbGlu
a2VyX2ZsYWdzIiB8ICRTRUQgJ3MlIFwoW14gJF0qXCkubHRmcmFtZXdvcmsl
IC1mcmFtZXdvcmsgXDElZydgCgkgIGRlcGxpYnM9YCRFQ0hPICIgJGRlcGxp
YnMiIHwgJFNFRCAncyUgXChbXiAkXSpcKS5sdGZyYW1ld29yayUgLWZyYW1l
d29yayBcMSVnJ2AKCSAgOzsKICAgICAgZXNhYwoKICAgICAgIyBtb3ZlIGxp
YnJhcnkgc2VhcmNoIHBhdGhzIHRoYXQgY29pbmNpZGUgd2l0aCBwYXRocyB0
byBub3QgeWV0CiAgICAgICMgaW5zdGFsbGVkIGxpYnJhcmllcyB0byB0aGUg
YmVnaW5uaW5nIG9mIHRoZSBsaWJyYXJ5IHNlYXJjaCBsaXN0CiAgICAgIG5l
d19saWJzPQogICAgICBmb3IgcGF0aCBpbiAkbm90aW5zdF9wYXRoOyBkbwoJ
Y2FzZSAiICRuZXdfbGlicyAiIGluCgkqIiAtTCRwYXRoLyRvYmpkaXIgIiop
IDs7CgkqKQoJICBjYXNlICIgJGRlcGxpYnMgIiBpbgoJICAqIiAtTCRwYXRo
LyRvYmpkaXIgIiopCgkgICAgbmV3X2xpYnMrPSIgLUwkcGF0aC8kb2JqZGly
IiA7OwoJICBlc2FjCgkgIDs7Cgllc2FjCiAgICAgIGRvbmUKICAgICAgZm9y
IGRlcGxpYiBpbiAkZGVwbGliczsgZG8KCWNhc2UgJGRlcGxpYiBpbgoJLUwq
KQoJICBjYXNlICIgJG5ld19saWJzICIgaW4KCSAgKiIgJGRlcGxpYiAiKikg
OzsKCSAgKikgbmV3X2xpYnMrPSIgJGRlcGxpYiIgOzsKCSAgZXNhYwoJICA7
OwoJKikgbmV3X2xpYnMrPSIgJGRlcGxpYiIgOzsKCWVzYWMKICAgICAgZG9u
ZQogICAgICBkZXBsaWJzPSIkbmV3X2xpYnMiCgogICAgICAjIEFsbCB0aGUg
bGlicmFyeS1zcGVjaWZpYyB2YXJpYWJsZXMgKGluc3RhbGxfbGliZGlyIGlz
IHNldCBhYm92ZSkuCiAgICAgIGxpYnJhcnlfbmFtZXM9CiAgICAgIG9sZF9s
aWJyYXJ5PQogICAgICBkbG5hbWU9CgogICAgICAjIFRlc3QgYWdhaW4sIHdl
IG1heSBoYXZlIGRlY2lkZWQgbm90IHRvIGJ1aWxkIGl0IGFueSBtb3JlCiAg
ICAgIGlmIHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiID0geWVzOyB0aGVu
CgkjIFJlbW92ZSAke3dsfSBpbnN0YW5jZXMgd2hlbiBsaW5raW5nIHdpdGgg
bGQuCgkjIEZJWE1FOiBzaG91bGQgdGVzdCB0aGUgcmlnaHQgX2NtZHMgdmFy
aWFibGUuCgljYXNlICRhcmNoaXZlX2NtZHMgaW4KCSAgKlwkTERcICopIHds
PSA7OwogICAgICAgIGVzYWMKCWlmIHRlc3QgIiRoYXJkY29kZV9pbnRvX2xp
YnMiID0geWVzOyB0aGVuCgkgICMgSGFyZGNvZGUgdGhlIGxpYnJhcnkgcGF0
aHMKCSAgaGFyZGNvZGVfbGliZGlycz0KCSAgZGVwX3JwYXRoPQoJICBycGF0
aD0iJGZpbmFsaXplX3JwYXRoIgoJICB0ZXN0ICIkb3B0X21vZGUiICE9IHJl
bGluayAmJiBycGF0aD0iJGNvbXBpbGVfcnBhdGgkcnBhdGgiCgkgIGZvciBs
aWJkaXIgaW4gJHJwYXRoOyBkbwoJICAgIGlmIHRlc3QgLW4gIiRoYXJkY29k
ZV9saWJkaXJfZmxhZ19zcGVjIjsgdGhlbgoJICAgICAgaWYgdGVzdCAtbiAi
JGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IiOyB0aGVuCgkJZnVuY19yZXBs
YWNlX3N5c3Jvb3QgIiRsaWJkaXIiCgkJbGliZGlyPSRmdW5jX3JlcGxhY2Vf
c3lzcm9vdF9yZXN1bHQKCQlpZiB0ZXN0IC16ICIkaGFyZGNvZGVfbGliZGly
cyI7IHRoZW4KCQkgIGhhcmRjb2RlX2xpYmRpcnM9IiRsaWJkaXIiCgkJZWxz
ZQoJCSAgIyBKdXN0IGFjY3VtdWxhdGUgdGhlIHVuaXF1ZSBsaWJkaXJzLgoJ
CSAgY2FzZSAkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciRoYXJkY29kZV9s
aWJkaXJzJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IgaW4KCQkgICoiJGhh
cmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IkbGliZGlyJGhhcmRjb2RlX2xpYmRp
cl9zZXBhcmF0b3IiKikKCQkgICAgOzsKCQkgICopCgkJICAgIGhhcmRjb2Rl
X2xpYmRpcnMrPSIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciRsaWJkaXIi
CgkJICAgIDs7CgkJICBlc2FjCgkJZmkKCSAgICAgIGVsc2UKCQlldmFsIGZs
YWc9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCgkJZGVwX3JwYXRo
Kz0iICRmbGFnIgoJICAgICAgZmkKCSAgICBlbGlmIHRlc3QgLW4gIiRydW5w
YXRoX3ZhciI7IHRoZW4KCSAgICAgIGNhc2UgIiRwZXJtX3JwYXRoICIgaW4K
CSAgICAgICoiICRsaWJkaXIgIiopIDs7CgkgICAgICAqKSBwZXJtX3JwYXRo
Kz0iICRsaWJkaXIiIDs7CgkgICAgICBlc2FjCgkgICAgZmkKCSAgZG9uZQoJ
ICAjIFN1YnN0aXR1dGUgdGhlIGhhcmRjb2RlZCBsaWJkaXJzIGludG8gdGhl
IHJwYXRoLgoJICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX3NlcGFy
YXRvciIgJiYKCSAgICAgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcnMiOyB0
aGVuCgkgICAgbGliZGlyPSIkaGFyZGNvZGVfbGliZGlycyIKCSAgICBldmFs
ICJkZXBfcnBhdGg9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiIgoJ
ICBmaQoJICBpZiB0ZXN0IC1uICIkcnVucGF0aF92YXIiICYmIHRlc3QgLW4g
IiRwZXJtX3JwYXRoIjsgdGhlbgoJICAgICMgV2Ugc2hvdWxkIHNldCB0aGUg
cnVucGF0aF92YXIuCgkgICAgcnBhdGg9CgkgICAgZm9yIGRpciBpbiAkcGVy
bV9ycGF0aDsgZG8KCSAgICAgIHJwYXRoKz0iJGRpcjoiCgkgICAgZG9uZQoJ
ICAgIGV2YWwgIiRydW5wYXRoX3Zhcj0nJHJwYXRoXCQkcnVucGF0aF92YXIn
OyBleHBvcnQgJHJ1bnBhdGhfdmFyIgoJICBmaQoJICB0ZXN0IC1uICIkZGVw
X3JwYXRoIiAmJiBkZXBsaWJzPSIkZGVwX3JwYXRoICRkZXBsaWJzIgoJZmkK
CglzaGxpYnBhdGg9IiRmaW5hbGl6ZV9zaGxpYnBhdGgiCgl0ZXN0ICIkb3B0
X21vZGUiICE9IHJlbGluayAmJiBzaGxpYnBhdGg9IiRjb21waWxlX3NobGli
cGF0aCRzaGxpYnBhdGgiCglpZiB0ZXN0IC1uICIkc2hsaWJwYXRoIjsgdGhl
bgoJICBldmFsICIkc2hsaWJwYXRoX3Zhcj0nJHNobGlicGF0aFwkJHNobGli
cGF0aF92YXInOyBleHBvcnQgJHNobGlicGF0aF92YXIiCglmaQoKCSMgR2V0
IHRoZSByZWFsIGFuZCBsaW5rIG5hbWVzIG9mIHRoZSBsaWJyYXJ5LgoJZXZh
bCBzaGFyZWRfZXh0PVwiJHNocmV4dF9jbWRzXCIKCWV2YWwgbGlicmFyeV9u
YW1lcz1cIiRsaWJyYXJ5X25hbWVzX3NwZWNcIgoJc2V0IGR1bW15ICRsaWJy
YXJ5X25hbWVzCglzaGlmdAoJcmVhbG5hbWU9IiQxIgoJc2hpZnQKCglpZiB0
ZXN0IC1uICIkc29uYW1lX3NwZWMiOyB0aGVuCgkgIGV2YWwgc29uYW1lPVwi
JHNvbmFtZV9zcGVjXCIKCWVsc2UKCSAgc29uYW1lPSIkcmVhbG5hbWUiCglm
aQoJaWYgdGVzdCAteiAiJGRsbmFtZSI7IHRoZW4KCSAgZGxuYW1lPSRzb25h
bWUKCWZpCgoJbGliPSIkb3V0cHV0X29iamRpci8kcmVhbG5hbWUiCglsaW5r
bmFtZXM9Cglmb3IgbGluawoJZG8KCSAgbGlua25hbWVzKz0iICRsaW5rIgoJ
ZG9uZQoKCSMgVXNlIHN0YW5kYXJkIG9iamVjdHMgaWYgdGhleSBhcmUgcGlj
Cgl0ZXN0IC16ICIkcGljX2ZsYWciICYmIGxpYm9ianM9YCRFQ0hPICIkbGli
b2JqcyIgfCAkU1AyTkwgfCAkU0VEICIkbG8ybyIgfCAkTkwyU1BgCgl0ZXN0
ICJYJGxpYm9ianMiID0gIlggIiAmJiBsaWJvYmpzPQoKCWRlbGZpbGVzPQoJ
aWYgdGVzdCAtbiAiJGV4cG9ydF9zeW1ib2xzIiAmJiB0ZXN0IC1uICIkaW5j
bHVkZV9leHBzeW1zIjsgdGhlbgoJICAkb3B0X2RyeV9ydW4gfHwgY3AgIiRl
eHBvcnRfc3ltYm9scyIgIiRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLnVleHAi
CgkgIGV4cG9ydF9zeW1ib2xzPSIkb3V0cHV0X29iamRpci8kbGlibmFtZS51
ZXhwIgoJICBkZWxmaWxlcys9IiAkZXhwb3J0X3N5bWJvbHMiCglmaQoKCW9y
aWdfZXhwb3J0X3N5bWJvbHM9CgljYXNlICRob3N0X29zIGluCgljeWd3aW4q
IHwgbWluZ3cqIHwgY2VnY2MqKQoJICBpZiB0ZXN0IC1uICIkZXhwb3J0X3N5
bWJvbHMiICYmIHRlc3QgLXogIiRleHBvcnRfc3ltYm9sc19yZWdleCI7IHRo
ZW4KCSAgICAjIGV4cG9ydGluZyB1c2luZyB1c2VyIHN1cHBsaWVkIHN5bWZp
bGUKCSAgICBpZiB0ZXN0ICJ4YCRTRUQgMXEgJGV4cG9ydF9zeW1ib2xzYCIg
IT0geEVYUE9SVFM7IHRoZW4KCSAgICAgICMgYW5kIGl0J3MgTk9UIGFscmVh
ZHkgYSAuZGVmIGZpbGUuIE11c3QgZmlndXJlIG91dAoJICAgICAgIyB3aGlj
aCBvZiB0aGUgZ2l2ZW4gc3ltYm9scyBhcmUgZGF0YSBzeW1ib2xzIGFuZCB0
YWcKCSAgICAgICMgdGhlbSBhcyBzdWNoLiBTbywgdHJpZ2dlciB1c2Ugb2Yg
ZXhwb3J0X3N5bWJvbHNfY21kcy4KCSAgICAgICMgZXhwb3J0X3N5bWJvbHMg
Z2V0cyByZWFzc2lnbmVkIGluc2lkZSB0aGUgInByZXBhcmUKCSAgICAgICMg
dGhlIGxpc3Qgb2YgZXhwb3J0ZWQgc3ltYm9scyIgaWYgc3RhdGVtZW50LCBz
byB0aGUKCSAgICAgICMgaW5jbHVkZV9leHBzeW1zIGxvZ2ljIHN0aWxsIHdv
cmtzLgoJICAgICAgb3JpZ19leHBvcnRfc3ltYm9scz0iJGV4cG9ydF9zeW1i
b2xzIgoJICAgICAgZXhwb3J0X3N5bWJvbHM9CgkgICAgICBhbHdheXNfZXhw
b3J0X3N5bWJvbHM9eWVzCgkgICAgZmkKCSAgZmkKCSAgOzsKCWVzYWMKCgkj
IFByZXBhcmUgdGhlIGxpc3Qgb2YgZXhwb3J0ZWQgc3ltYm9scwoJaWYgdGVz
dCAteiAiJGV4cG9ydF9zeW1ib2xzIjsgdGhlbgoJICBpZiB0ZXN0ICIkYWx3
YXlzX2V4cG9ydF9zeW1ib2xzIiA9IHllcyB8fCB0ZXN0IC1uICIkZXhwb3J0
X3N5bWJvbHNfcmVnZXgiOyB0aGVuCgkgICAgZnVuY192ZXJib3NlICJnZW5l
cmF0aW5nIHN5bWJvbCBsaXN0IGZvciBcYCRsaWJuYW1lLmxhJyIKCSAgICBl
eHBvcnRfc3ltYm9scz0iJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUuZXhwIgoJ
ICAgICRvcHRfZHJ5X3J1biB8fCAkUk0gJGV4cG9ydF9zeW1ib2xzCgkgICAg
Y21kcz0kZXhwb3J0X3N5bWJvbHNfY21kcwoJICAgIHNhdmVfaWZzPSIkSUZT
IjsgSUZTPSd+JwoJICAgIGZvciBjbWQxIGluICRjbWRzOyBkbwoJICAgICAg
SUZTPSIkc2F2ZV9pZnMiCgkgICAgICAjIFRha2UgdGhlIG5vcm1hbCBicmFu
Y2ggaWYgdGhlIG5tX2ZpbGVfbGlzdF9zcGVjIGJyYW5jaAoJICAgICAgIyBk
b2Vzbid0IHdvcmsgb3IgaWYgdG9vbCBjb252ZXJzaW9uIGlzIG5vdCBuZWVk
ZWQuCgkgICAgICBjYXNlICRubV9maWxlX2xpc3Rfc3BlY34kdG9fdG9vbF9m
aWxlX2NtZCBpbgoJCSp+ZnVuY19jb252ZXJ0X2ZpbGVfbm9vcCB8ICp+ZnVu
Y19jb252ZXJ0X2ZpbGVfbXN5c190b193MzIgfCB+KikKCQkgIHRyeV9ub3Jt
YWxfYnJhbmNoPXllcwoJCSAgZXZhbCBjbWQ9XCIkY21kMVwiCgkJICBmdW5j
X2xlbiAiICRjbWQiCgkJICBsZW49JGZ1bmNfbGVuX3Jlc3VsdAoJCSAgOzsK
CQkqKQoJCSAgdHJ5X25vcm1hbF9icmFuY2g9bm8KCQkgIDs7CgkgICAgICBl
c2FjCgkgICAgICBpZiB0ZXN0ICIkdHJ5X25vcm1hbF9icmFuY2giID0geWVz
IFwKCQkgJiYgeyB0ZXN0ICIkbGVuIiAtbHQgIiRtYXhfY21kX2xlbiIgXAoJ
CSAgICAgIHx8IHRlc3QgIiRtYXhfY21kX2xlbiIgLWxlIC0xOyB9CgkgICAg
ICB0aGVuCgkJZnVuY19zaG93X2V2YWwgIiRjbWQiICdleGl0ICQ/JwoJCXNr
aXBwZWRfZXhwb3J0PWZhbHNlCgkgICAgICBlbGlmIHRlc3QgLW4gIiRubV9m
aWxlX2xpc3Rfc3BlYyI7IHRoZW4KCQlmdW5jX2Jhc2VuYW1lICIkb3V0cHV0
IgoJCW91dHB1dF9sYT0kZnVuY19iYXNlbmFtZV9yZXN1bHQKCQlzYXZlX2xp
Ym9ianM9JGxpYm9ianMKCQlzYXZlX291dHB1dD0kb3V0cHV0CgkJb3V0cHV0
PSR7b3V0cHV0X29iamRpcn0vJHtvdXRwdXRfbGF9Lm5tCgkJZnVuY190b190
b29sX2ZpbGUgIiRvdXRwdXQiCgkJbGlib2Jqcz0kbm1fZmlsZV9saXN0X3Nw
ZWMkZnVuY190b190b29sX2ZpbGVfcmVzdWx0CgkJZGVsZmlsZXMrPSIgJG91
dHB1dCIKCQlmdW5jX3ZlcmJvc2UgImNyZWF0aW5nICROTSBpbnB1dCBmaWxl
IGxpc3Q6ICRvdXRwdXQiCgkJZm9yIG9iaiBpbiAkc2F2ZV9saWJvYmpzOyBk
bwoJCSAgZnVuY190b190b29sX2ZpbGUgIiRvYmoiCgkJICAkRUNITyAiJGZ1
bmNfdG9fdG9vbF9maWxlX3Jlc3VsdCIKCQlkb25lID4gIiRvdXRwdXQiCgkJ
ZXZhbCBjbWQ9XCIkY21kMVwiCgkJZnVuY19zaG93X2V2YWwgIiRjbWQiICdl
eGl0ICQ/JwoJCW91dHB1dD0kc2F2ZV9vdXRwdXQKCQlsaWJvYmpzPSRzYXZl
X2xpYm9ianMKCQlza2lwcGVkX2V4cG9ydD1mYWxzZQoJICAgICAgZWxzZQoJ
CSMgVGhlIGNvbW1hbmQgbGluZSBpcyB0b28gbG9uZyB0byBleGVjdXRlIGlu
IG9uZSBzdGVwLgoJCWZ1bmNfdmVyYm9zZSAidXNpbmcgcmVsb2FkYWJsZSBv
YmplY3QgZmlsZSBmb3IgZXhwb3J0IGxpc3QuLi4iCgkJc2tpcHBlZF9leHBv
cnQ9OgoJCSMgQnJlYWsgb3V0IGVhcmx5LCBvdGhlcndpc2Ugc2tpcHBlZF9l
eHBvcnQgbWF5IGJlCgkJIyBzZXQgdG8gZmFsc2UgYnkgYSBsYXRlciBidXQg
c2hvcnRlciBjbWQuCgkJYnJlYWsKCSAgICAgIGZpCgkgICAgZG9uZQoJICAg
IElGUz0iJHNhdmVfaWZzIgoJICAgIGlmIHRlc3QgLW4gIiRleHBvcnRfc3lt
Ym9sc19yZWdleCIgJiYgdGVzdCAiWCRza2lwcGVkX2V4cG9ydCIgIT0gIlg6
IjsgdGhlbgoJICAgICAgZnVuY19zaG93X2V2YWwgJyRFR1JFUCAtZSAiJGV4
cG9ydF9zeW1ib2xzX3JlZ2V4IiAiJGV4cG9ydF9zeW1ib2xzIiA+ICIke2V4
cG9ydF9zeW1ib2xzfVQiJwoJICAgICAgZnVuY19zaG93X2V2YWwgJyRNViAi
JHtleHBvcnRfc3ltYm9sc31UIiAiJGV4cG9ydF9zeW1ib2xzIicKCSAgICBm
aQoJICBmaQoJZmkKCglpZiB0ZXN0IC1uICIkZXhwb3J0X3N5bWJvbHMiICYm
IHRlc3QgLW4gIiRpbmNsdWRlX2V4cHN5bXMiOyB0aGVuCgkgIHRtcF9leHBv
cnRfc3ltYm9scz0iJGV4cG9ydF9zeW1ib2xzIgoJICB0ZXN0IC1uICIkb3Jp
Z19leHBvcnRfc3ltYm9scyIgJiYgdG1wX2V4cG9ydF9zeW1ib2xzPSIkb3Jp
Z19leHBvcnRfc3ltYm9scyIKCSAgJG9wdF9kcnlfcnVuIHx8IGV2YWwgJyRF
Q0hPICIkaW5jbHVkZV9leHBzeW1zIiB8ICRTUDJOTCA+PiAiJHRtcF9leHBv
cnRfc3ltYm9scyInCglmaQoKCWlmIHRlc3QgIlgkc2tpcHBlZF9leHBvcnQi
ICE9ICJYOiIgJiYgdGVzdCAtbiAiJG9yaWdfZXhwb3J0X3N5bWJvbHMiOyB0
aGVuCgkgICMgVGhlIGdpdmVuIGV4cG9ydHNfc3ltYm9scyBmaWxlIGhhcyB0
byBiZSBmaWx0ZXJlZCwgc28gZmlsdGVyIGl0LgoJICBmdW5jX3ZlcmJvc2Ug
ImZpbHRlciBzeW1ib2wgbGlzdCBmb3IgXGAkbGlibmFtZS5sYScgdG8gdGFn
IERBVEEgZXhwb3J0cyIKCSAgIyBGSVhNRTogJG91dHB1dF9vYmpkaXIvJGxp
Ym5hbWUuZmlsdGVyIHBvdGVudGlhbGx5IGNvbnRhaW5zIGxvdHMgb2YKCSAg
IyAncycgY29tbWFuZHMgd2hpY2ggbm90IGFsbCBzZWRzIGNhbiBoYW5kbGUu
IEdOVSBzZWQgc2hvdWxkIGJlIGZpbmUKCSAgIyB0aG91Z2guIEFsc28sIHRo
ZSBmaWx0ZXIgc2NhbGVzIHN1cGVybGluZWFybHkgd2l0aCB0aGUgbnVtYmVy
IG9mCgkgICMgZ2xvYmFsIHZhcmlhYmxlcy4gam9pbigxKSB3b3VsZCBiZSBu
aWNlIGhlcmUsIGJ1dCB1bmZvcnR1bmF0ZWx5CgkgICMgaXNuJ3QgYSBibGVz
c2VkIHRvb2wuCgkgICRvcHRfZHJ5X3J1biB8fCAkU0VEIC1lICcvWyAsXURB
VEEvIWQ7cyxcKC4qXClcKFsgXCxdLipcKSxzfF5cMSR8XDFcMnwsJyA8ICRl
eHBvcnRfc3ltYm9scyA+ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLmZpbHRl
cgoJICBkZWxmaWxlcys9IiAkZXhwb3J0X3N5bWJvbHMgJG91dHB1dF9vYmpk
aXIvJGxpYm5hbWUuZmlsdGVyIgoJICBleHBvcnRfc3ltYm9scz0kb3V0cHV0
X29iamRpci8kbGlibmFtZS5kZWYKCSAgJG9wdF9kcnlfcnVuIHx8ICRTRUQg
LWYgJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUuZmlsdGVyIDwgJG9yaWdfZXhw
b3J0X3N5bWJvbHMgPiAkZXhwb3J0X3N5bWJvbHMKCWZpCgoJdG1wX2RlcGxp
YnM9Cglmb3IgdGVzdF9kZXBsaWIgaW4gJGRlcGxpYnM7IGRvCgkgIGNhc2Ug
IiAkY29udmVuaWVuY2UgIiBpbgoJICAqIiAkdGVzdF9kZXBsaWIgIiopIDs7
CgkgICopCgkgICAgdG1wX2RlcGxpYnMrPSIgJHRlc3RfZGVwbGliIgoJICAg
IDs7CgkgIGVzYWMKCWRvbmUKCWRlcGxpYnM9IiR0bXBfZGVwbGlicyIKCglp
ZiB0ZXN0IC1uICIkY29udmVuaWVuY2UiOyB0aGVuCgkgIGlmIHRlc3QgLW4g
IiR3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYyIgJiYKCSAgICB0ZXN0ICIkY29t
cGlsZXJfbmVlZHNfb2JqZWN0IiA9IHllcyAmJgoJICAgIHRlc3QgLXogIiRs
aWJvYmpzIjsgdGhlbgoJICAgICMgZXh0cmFjdCB0aGUgYXJjaGl2ZXMsIHNv
IHdlIGhhdmUgb2JqZWN0cyB0byBsaXN0LgoJICAgICMgVE9ETzogY291bGQg
b3B0aW1pemUgdGhpcyB0byBqdXN0IGV4dHJhY3Qgb25lIGFyY2hpdmUuCgkg
ICAgd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9CgkgIGZpCgkgIGlmIHRlc3Qg
LW4gIiR3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYyI7IHRoZW4KCSAgICBzYXZl
X2xpYm9ianM9JGxpYm9ianMKCSAgICBldmFsIGxpYm9ianM9XCJcJGxpYm9i
anMgJHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjXCIKCSAgICB0ZXN0ICJYJGxp
Ym9ianMiID0gIlggIiAmJiBsaWJvYmpzPQoJICBlbHNlCgkgICAgZ2VudG9w
PSIkb3V0cHV0X29iamRpci8ke291dHB1dG5hbWV9eCIKCSAgICBnZW5lcmF0
ZWQrPSIgJGdlbnRvcCIKCgkgICAgZnVuY19leHRyYWN0X2FyY2hpdmVzICRn
ZW50b3AgJGNvbnZlbmllbmNlCgkgICAgbGlib2Jqcys9IiAkZnVuY19leHRy
YWN0X2FyY2hpdmVzX3Jlc3VsdCIKCSAgICB0ZXN0ICJYJGxpYm9ianMiID0g
IlggIiAmJiBsaWJvYmpzPQoJICBmaQoJZmkKCglpZiB0ZXN0ICIkdGhyZWFk
X3NhZmUiID0geWVzICYmIHRlc3QgLW4gIiR0aHJlYWRfc2FmZV9mbGFnX3Nw
ZWMiOyB0aGVuCgkgIGV2YWwgZmxhZz1cIiR0aHJlYWRfc2FmZV9mbGFnX3Nw
ZWNcIgoJICBsaW5rZXJfZmxhZ3MrPSIgJGZsYWciCglmaQoKCSMgTWFrZSBh
IGJhY2t1cCBvZiB0aGUgdW5pbnN0YWxsZWQgbGlicmFyeSB3aGVuIHJlbGlu
a2luZwoJaWYgdGVzdCAiJG9wdF9tb2RlIiA9IHJlbGluazsgdGhlbgoJICAk
b3B0X2RyeV9ydW4gfHwgZXZhbCAnKGNkICRvdXRwdXRfb2JqZGlyICYmICRS
TSAke3JlYWxuYW1lfVUgJiYgJE1WICRyZWFsbmFtZSAke3JlYWxuYW1lfVUp
JyB8fCBleGl0ICQ/CglmaQoKCSMgRG8gZWFjaCBvZiB0aGUgYXJjaGl2ZSBj
b21tYW5kcy4KCWlmIHRlc3QgIiRtb2R1bGUiID0geWVzICYmIHRlc3QgLW4g
IiRtb2R1bGVfY21kcyIgOyB0aGVuCgkgIGlmIHRlc3QgLW4gIiRleHBvcnRf
c3ltYm9scyIgJiYgdGVzdCAtbiAiJG1vZHVsZV9leHBzeW1fY21kcyI7IHRo
ZW4KCSAgICBldmFsIHRlc3RfY21kcz1cIiRtb2R1bGVfZXhwc3ltX2NtZHNc
IgoJICAgIGNtZHM9JG1vZHVsZV9leHBzeW1fY21kcwoJICBlbHNlCgkgICAg
ZXZhbCB0ZXN0X2NtZHM9XCIkbW9kdWxlX2NtZHNcIgoJICAgIGNtZHM9JG1v
ZHVsZV9jbWRzCgkgIGZpCgllbHNlCgkgIGlmIHRlc3QgLW4gIiRleHBvcnRf
c3ltYm9scyIgJiYgdGVzdCAtbiAiJGFyY2hpdmVfZXhwc3ltX2NtZHMiOyB0
aGVuCgkgICAgZXZhbCB0ZXN0X2NtZHM9XCIkYXJjaGl2ZV9leHBzeW1fY21k
c1wiCgkgICAgY21kcz0kYXJjaGl2ZV9leHBzeW1fY21kcwoJICBlbHNlCgkg
ICAgZXZhbCB0ZXN0X2NtZHM9XCIkYXJjaGl2ZV9jbWRzXCIKCSAgICBjbWRz
PSRhcmNoaXZlX2NtZHMKCSAgZmkKCWZpCgoJaWYgdGVzdCAiWCRza2lwcGVk
X2V4cG9ydCIgIT0gIlg6IiAmJgoJICAgZnVuY19sZW4gIiAkdGVzdF9jbWRz
IiAmJgoJICAgbGVuPSRmdW5jX2xlbl9yZXN1bHQgJiYKCSAgIHRlc3QgIiRs
ZW4iIC1sdCAiJG1heF9jbWRfbGVuIiB8fCB0ZXN0ICIkbWF4X2NtZF9sZW4i
IC1sZSAtMTsgdGhlbgoJICA6CgllbHNlCgkgICMgVGhlIGNvbW1hbmQgbGlu
ZSBpcyB0b28gbG9uZyB0byBsaW5rIGluIG9uZSBzdGVwLCBsaW5rIHBpZWNl
d2lzZQoJICAjIG9yLCBpZiB1c2luZyBHTlUgbGQgYW5kIHNraXBwZWRfZXhw
b3J0IGlzIG5vdCA6LCB1c2UgYSBsaW5rZXIKCSAgIyBzY3JpcHQuCgoJICAj
IFNhdmUgdGhlIHZhbHVlIG9mICRvdXRwdXQgYW5kICRsaWJvYmpzIGJlY2F1
c2Ugd2Ugd2FudCB0bwoJICAjIHVzZSB0aGVtIGxhdGVyLiAgSWYgd2UgaGF2
ZSB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYywgd2UKCSAgIyB3YW50IHRvIHVz
ZSBzYXZlX2xpYm9ianMgYXMgaXQgd2FzIGJlZm9yZQoJICAjIHdob2xlX2Fy
Y2hpdmVfZmxhZ19zcGVjIHdhcyBleHBhbmRlZCwgYmVjYXVzZSB3ZSBjYW4n
dAoJICAjIGFzc3VtZSB0aGUgbGlua2VyIHVuZGVyc3RhbmRzIHdob2xlX2Fy
Y2hpdmVfZmxhZ19zcGVjLgoJICAjIFRoaXMgbWF5IGhhdmUgdG8gYmUgcmV2
aXNpdGVkLCBpbiBjYXNlIHRvbyBtYW55CgkgICMgY29udmVuaWVuY2UgbGli
cmFyaWVzIGdldCBsaW5rZWQgaW4gYW5kIGVuZCB1cCBleGNlZWRpbmcKCSAg
IyB0aGUgc3BlYy4KCSAgaWYgdGVzdCAteiAiJGNvbnZlbmllbmNlIiB8fCB0
ZXN0IC16ICIkd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMiOyB0aGVuCgkgICAg
c2F2ZV9saWJvYmpzPSRsaWJvYmpzCgkgIGZpCgkgIHNhdmVfb3V0cHV0PSRv
dXRwdXQKCSAgZnVuY19iYXNlbmFtZSAiJG91dHB1dCIKCSAgb3V0cHV0X2xh
PSRmdW5jX2Jhc2VuYW1lX3Jlc3VsdAoKCSAgIyBDbGVhciB0aGUgcmVsb2Fk
YWJsZSBvYmplY3QgY3JlYXRpb24gY29tbWFuZCBxdWV1ZSBhbmQKCSAgIyBp
bml0aWFsaXplIGsgdG8gb25lLgoJICB0ZXN0X2NtZHM9CgkgIGNvbmNhdF9j
bWRzPQoJICBvYmpsaXN0PQoJICBsYXN0X3JvYmo9CgkgIGs9MQoKCSAgaWYg
dGVzdCAtbiAiJHNhdmVfbGlib2JqcyIgJiYgdGVzdCAiWCRza2lwcGVkX2V4
cG9ydCIgIT0gIlg6IiAmJiB0ZXN0ICIkd2l0aF9nbnVfbGQiID0geWVzOyB0
aGVuCgkgICAgb3V0cHV0PSR7b3V0cHV0X29iamRpcn0vJHtvdXRwdXRfbGF9
Lmxua3NjcmlwdAoJICAgIGZ1bmNfdmVyYm9zZSAiY3JlYXRpbmcgR05VIGxk
IHNjcmlwdDogJG91dHB1dCIKCSAgICBlY2hvICdJTlBVVCAoJyA+ICRvdXRw
dXQKCSAgICBmb3Igb2JqIGluICRzYXZlX2xpYm9ianMKCSAgICBkbwoJICAg
ICAgZnVuY190b190b29sX2ZpbGUgIiRvYmoiCgkgICAgICAkRUNITyAiJGZ1
bmNfdG9fdG9vbF9maWxlX3Jlc3VsdCIgPj4gJG91dHB1dAoJICAgIGRvbmUK
CSAgICBlY2hvICcpJyA+PiAkb3V0cHV0CgkgICAgZGVsZmlsZXMrPSIgJG91
dHB1dCIKCSAgICBmdW5jX3RvX3Rvb2xfZmlsZSAiJG91dHB1dCIKCSAgICBv
dXRwdXQ9JGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3VsdAoJICBlbGlmIHRlc3Qg
LW4gIiRzYXZlX2xpYm9ianMiICYmIHRlc3QgIlgkc2tpcHBlZF9leHBvcnQi
ICE9ICJYOiIgJiYgdGVzdCAiWCRmaWxlX2xpc3Rfc3BlYyIgIT0gWDsgdGhl
bgoJICAgIG91dHB1dD0ke291dHB1dF9vYmpkaXJ9LyR7b3V0cHV0X2xhfS5s
bmsKCSAgICBmdW5jX3ZlcmJvc2UgImNyZWF0aW5nIGxpbmtlciBpbnB1dCBm
aWxlIGxpc3Q6ICRvdXRwdXQiCgkgICAgOiA+ICRvdXRwdXQKCSAgICBzZXQg
eCAkc2F2ZV9saWJvYmpzCgkgICAgc2hpZnQKCSAgICBmaXJzdG9iaj0KCSAg
ICBpZiB0ZXN0ICIkY29tcGlsZXJfbmVlZHNfb2JqZWN0IiA9IHllczsgdGhl
bgoJICAgICAgZmlyc3RvYmo9IiQxICIKCSAgICAgIHNoaWZ0CgkgICAgZmkK
CSAgICBmb3Igb2JqCgkgICAgZG8KCSAgICAgIGZ1bmNfdG9fdG9vbF9maWxl
ICIkb2JqIgoJICAgICAgJEVDSE8gIiRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1
bHQiID4+ICRvdXRwdXQKCSAgICBkb25lCgkgICAgZGVsZmlsZXMrPSIgJG91
dHB1dCIKCSAgICBmdW5jX3RvX3Rvb2xfZmlsZSAiJG91dHB1dCIKCSAgICBv
dXRwdXQ9JGZpcnN0b2JqXCIkZmlsZV9saXN0X3NwZWMkZnVuY190b190b29s
X2ZpbGVfcmVzdWx0XCIKCSAgZWxzZQoJICAgIGlmIHRlc3QgLW4gIiRzYXZl
X2xpYm9ianMiOyB0aGVuCgkgICAgICBmdW5jX3ZlcmJvc2UgImNyZWF0aW5n
IHJlbG9hZGFibGUgb2JqZWN0IGZpbGVzLi4uIgoJICAgICAgb3V0cHV0PSRv
dXRwdXRfb2JqZGlyLyRvdXRwdXRfbGEtJHtrfS4kb2JqZXh0CgkgICAgICBl
dmFsIHRlc3RfY21kcz1cIiRyZWxvYWRfY21kc1wiCgkgICAgICBmdW5jX2xl
biAiICR0ZXN0X2NtZHMiCgkgICAgICBsZW4wPSRmdW5jX2xlbl9yZXN1bHQK
CSAgICAgIGxlbj0kbGVuMAoKCSAgICAgICMgTG9vcCBvdmVyIHRoZSBsaXN0
IG9mIG9iamVjdHMgdG8gYmUgbGlua2VkLgoJICAgICAgZm9yIG9iaiBpbiAk
c2F2ZV9saWJvYmpzCgkgICAgICBkbwoJCWZ1bmNfbGVuICIgJG9iaiIKCQlm
dW5jX2FyaXRoICRsZW4gKyAkZnVuY19sZW5fcmVzdWx0CgkJbGVuPSRmdW5j
X2FyaXRoX3Jlc3VsdAoJCWlmIHRlc3QgIlgkb2JqbGlzdCIgPSBYIHx8CgkJ
ICAgdGVzdCAiJGxlbiIgLWx0ICIkbWF4X2NtZF9sZW4iOyB0aGVuCgkJICBv
YmpsaXN0Kz0iICRvYmoiCgkJZWxzZQoJCSAgIyBUaGUgY29tbWFuZCAkdGVz
dF9jbWRzIGlzIGFsbW9zdCB0b28gbG9uZywgYWRkIGEKCQkgICMgY29tbWFu
ZCB0byB0aGUgcXVldWUuCgkJICBpZiB0ZXN0ICIkayIgLWVxIDEgOyB0aGVu
CgkJICAgICMgVGhlIGZpcnN0IGZpbGUgZG9lc24ndCBoYXZlIGEgcHJldmlv
dXMgY29tbWFuZCB0byBhZGQuCgkJICAgIHJlbG9hZF9vYmpzPSRvYmpsaXN0
CgkJICAgIGV2YWwgY29uY2F0X2NtZHM9XCIkcmVsb2FkX2NtZHNcIgoJCSAg
ZWxzZQoJCSAgICAjIEFsbCBzdWJzZXF1ZW50IHJlbG9hZGFibGUgb2JqZWN0
IGZpbGVzIHdpbGwgbGluayBpbgoJCSAgICAjIHRoZSBsYXN0IG9uZSBjcmVh
dGVkLgoJCSAgICByZWxvYWRfb2Jqcz0iJG9iamxpc3QgJGxhc3Rfcm9iaiIK
CQkgICAgZXZhbCBjb25jYXRfY21kcz1cIlwkY29uY2F0X2NtZHN+JHJlbG9h
ZF9jbWRzflwkUk0gJGxhc3Rfcm9ialwiCgkJICBmaQoJCSAgbGFzdF9yb2Jq
PSRvdXRwdXRfb2JqZGlyLyRvdXRwdXRfbGEtJHtrfS4kb2JqZXh0CgkJICBm
dW5jX2FyaXRoICRrICsgMQoJCSAgaz0kZnVuY19hcml0aF9yZXN1bHQKCQkg
IG91dHB1dD0kb3V0cHV0X29iamRpci8kb3V0cHV0X2xhLSR7a30uJG9iamV4
dAoJCSAgb2JqbGlzdD0iICRvYmoiCgkJICBmdW5jX2xlbiAiICRsYXN0X3Jv
YmoiCgkJICBmdW5jX2FyaXRoICRsZW4wICsgJGZ1bmNfbGVuX3Jlc3VsdAoJ
CSAgbGVuPSRmdW5jX2FyaXRoX3Jlc3VsdAoJCWZpCgkgICAgICBkb25lCgkg
ICAgICAjIEhhbmRsZSB0aGUgcmVtYWluaW5nIG9iamVjdHMgYnkgY3JlYXRp
bmcgb25lIGxhc3QKCSAgICAgICMgcmVsb2FkYWJsZSBvYmplY3QgZmlsZS4g
IEFsbCBzdWJzZXF1ZW50IHJlbG9hZGFibGUgb2JqZWN0CgkgICAgICAjIGZp
bGVzIHdpbGwgbGluayBpbiB0aGUgbGFzdCBvbmUgY3JlYXRlZC4KCSAgICAg
IHRlc3QgLXogIiRjb25jYXRfY21kcyIgfHwgY29uY2F0X2NtZHM9JGNvbmNh
dF9jbWRzfgoJICAgICAgcmVsb2FkX29ianM9IiRvYmpsaXN0ICRsYXN0X3Jv
YmoiCgkgICAgICBldmFsIGNvbmNhdF9jbWRzPVwiXCR7Y29uY2F0X2NtZHN9
JHJlbG9hZF9jbWRzXCIKCSAgICAgIGlmIHRlc3QgLW4gIiRsYXN0X3JvYmoi
OyB0aGVuCgkgICAgICAgIGV2YWwgY29uY2F0X2NtZHM9XCJcJHtjb25jYXRf
Y21kc31+XCRSTSAkbGFzdF9yb2JqXCIKCSAgICAgIGZpCgkgICAgICBkZWxm
aWxlcys9IiAkb3V0cHV0IgoKCSAgICBlbHNlCgkgICAgICBvdXRwdXQ9Cgkg
ICAgZmkKCgkgICAgaWYgJHtza2lwcGVkX2V4cG9ydC1mYWxzZX07IHRoZW4K
CSAgICAgIGZ1bmNfdmVyYm9zZSAiZ2VuZXJhdGluZyBzeW1ib2wgbGlzdCBm
b3IgXGAkbGlibmFtZS5sYSciCgkgICAgICBleHBvcnRfc3ltYm9scz0iJG91
dHB1dF9vYmpkaXIvJGxpYm5hbWUuZXhwIgoJICAgICAgJG9wdF9kcnlfcnVu
IHx8ICRSTSAkZXhwb3J0X3N5bWJvbHMKCSAgICAgIGxpYm9ianM9JG91dHB1
dAoJICAgICAgIyBBcHBlbmQgdGhlIGNvbW1hbmQgdG8gY3JlYXRlIHRoZSBl
eHBvcnQgZmlsZS4KCSAgICAgIHRlc3QgLXogIiRjb25jYXRfY21kcyIgfHwg
Y29uY2F0X2NtZHM9JGNvbmNhdF9jbWRzfgoJICAgICAgZXZhbCBjb25jYXRf
Y21kcz1cIlwkY29uY2F0X2NtZHMkZXhwb3J0X3N5bWJvbHNfY21kc1wiCgkg
ICAgICBpZiB0ZXN0IC1uICIkbGFzdF9yb2JqIjsgdGhlbgoJCWV2YWwgY29u
Y2F0X2NtZHM9XCJcJGNvbmNhdF9jbWRzflwkUk0gJGxhc3Rfcm9ialwiCgkg
ICAgICBmaQoJICAgIGZpCgoJICAgIHRlc3QgLW4gIiRzYXZlX2xpYm9ianMi
ICYmCgkgICAgICBmdW5jX3ZlcmJvc2UgImNyZWF0aW5nIGEgdGVtcG9yYXJ5
IHJlbG9hZGFibGUgb2JqZWN0IGZpbGU6ICRvdXRwdXQiCgoJICAgICMgTG9v
cCB0aHJvdWdoIHRoZSBjb21tYW5kcyBnZW5lcmF0ZWQgYWJvdmUgYW5kIGV4
ZWN1dGUgdGhlbS4KCSAgICBzYXZlX2lmcz0iJElGUyI7IElGUz0nficKCSAg
ICBmb3IgY21kIGluICRjb25jYXRfY21kczsgZG8KCSAgICAgIElGUz0iJHNh
dmVfaWZzIgoJICAgICAgJG9wdF9zaWxlbnQgfHwgewoJCSAgZnVuY19xdW90
ZV9mb3JfZXhwYW5kICIkY21kIgoJCSAgZXZhbCAiZnVuY19lY2hvICRmdW5j
X3F1b3RlX2Zvcl9leHBhbmRfcmVzdWx0IgoJICAgICAgfQoJICAgICAgJG9w
dF9kcnlfcnVuIHx8IGV2YWwgIiRjbWQiIHx8IHsKCQlsdF9leGl0PSQ/CgoJ
CSMgUmVzdG9yZSB0aGUgdW5pbnN0YWxsZWQgbGlicmFyeSBhbmQgZXhpdAoJ
CWlmIHRlc3QgIiRvcHRfbW9kZSIgPSByZWxpbms7IHRoZW4KCQkgICggY2Qg
IiRvdXRwdXRfb2JqZGlyIiAmJiBcCgkJICAgICRSTSAiJHtyZWFsbmFtZX1U
IiAmJiBcCgkJICAgICRNViAiJHtyZWFsbmFtZX1VIiAiJHJlYWxuYW1lIiAp
CgkJZmkKCgkJZXhpdCAkbHRfZXhpdAoJICAgICAgfQoJICAgIGRvbmUKCSAg
ICBJRlM9IiRzYXZlX2lmcyIKCgkgICAgaWYgdGVzdCAtbiAiJGV4cG9ydF9z
eW1ib2xzX3JlZ2V4IiAmJiAke3NraXBwZWRfZXhwb3J0LWZhbHNlfTsgdGhl
bgoJICAgICAgZnVuY19zaG93X2V2YWwgJyRFR1JFUCAtZSAiJGV4cG9ydF9z
eW1ib2xzX3JlZ2V4IiAiJGV4cG9ydF9zeW1ib2xzIiA+ICIke2V4cG9ydF9z
eW1ib2xzfVQiJwoJICAgICAgZnVuY19zaG93X2V2YWwgJyRNViAiJHtleHBv
cnRfc3ltYm9sc31UIiAiJGV4cG9ydF9zeW1ib2xzIicKCSAgICBmaQoJICBm
aQoKICAgICAgICAgIGlmICR7c2tpcHBlZF9leHBvcnQtZmFsc2V9OyB0aGVu
CgkgICAgaWYgdGVzdCAtbiAiJGV4cG9ydF9zeW1ib2xzIiAmJiB0ZXN0IC1u
ICIkaW5jbHVkZV9leHBzeW1zIjsgdGhlbgoJICAgICAgdG1wX2V4cG9ydF9z
eW1ib2xzPSIkZXhwb3J0X3N5bWJvbHMiCgkgICAgICB0ZXN0IC1uICIkb3Jp
Z19leHBvcnRfc3ltYm9scyIgJiYgdG1wX2V4cG9ydF9zeW1ib2xzPSIkb3Jp
Z19leHBvcnRfc3ltYm9scyIKCSAgICAgICRvcHRfZHJ5X3J1biB8fCBldmFs
ICckRUNITyAiJGluY2x1ZGVfZXhwc3ltcyIgfCAkU1AyTkwgPj4gIiR0bXBf
ZXhwb3J0X3N5bWJvbHMiJwoJICAgIGZpCgoJICAgIGlmIHRlc3QgLW4gIiRv
cmlnX2V4cG9ydF9zeW1ib2xzIjsgdGhlbgoJICAgICAgIyBUaGUgZ2l2ZW4g
ZXhwb3J0c19zeW1ib2xzIGZpbGUgaGFzIHRvIGJlIGZpbHRlcmVkLCBzbyBm
aWx0ZXIgaXQuCgkgICAgICBmdW5jX3ZlcmJvc2UgImZpbHRlciBzeW1ib2wg
bGlzdCBmb3IgXGAkbGlibmFtZS5sYScgdG8gdGFnIERBVEEgZXhwb3J0cyIK
CSAgICAgICMgRklYTUU6ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLmZpbHRl
ciBwb3RlbnRpYWxseSBjb250YWlucyBsb3RzIG9mCgkgICAgICAjICdzJyBj
b21tYW5kcyB3aGljaCBub3QgYWxsIHNlZHMgY2FuIGhhbmRsZS4gR05VIHNl
ZCBzaG91bGQgYmUgZmluZQoJICAgICAgIyB0aG91Z2guIEFsc28sIHRoZSBm
aWx0ZXIgc2NhbGVzIHN1cGVybGluZWFybHkgd2l0aCB0aGUgbnVtYmVyIG9m
CgkgICAgICAjIGdsb2JhbCB2YXJpYWJsZXMuIGpvaW4oMSkgd291bGQgYmUg
bmljZSBoZXJlLCBidXQgdW5mb3J0dW5hdGVseQoJICAgICAgIyBpc24ndCBh
IGJsZXNzZWQgdG9vbC4KCSAgICAgICRvcHRfZHJ5X3J1biB8fCAkU0VEIC1l
ICcvWyAsXURBVEEvIWQ7cyxcKC4qXClcKFsgXCxdLipcKSxzfF5cMSR8XDFc
MnwsJyA8ICRleHBvcnRfc3ltYm9scyA+ICRvdXRwdXRfb2JqZGlyLyRsaWJu
YW1lLmZpbHRlcgoJICAgICAgZGVsZmlsZXMrPSIgJGV4cG9ydF9zeW1ib2xz
ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLmZpbHRlciIKCSAgICAgIGV4cG9y
dF9zeW1ib2xzPSRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLmRlZgoJICAgICAg
JG9wdF9kcnlfcnVuIHx8ICRTRUQgLWYgJG91dHB1dF9vYmpkaXIvJGxpYm5h
bWUuZmlsdGVyIDwgJG9yaWdfZXhwb3J0X3N5bWJvbHMgPiAkZXhwb3J0X3N5
bWJvbHMKCSAgICBmaQoJICBmaQoKCSAgbGlib2Jqcz0kb3V0cHV0CgkgICMg
UmVzdG9yZSB0aGUgdmFsdWUgb2Ygb3V0cHV0LgoJICBvdXRwdXQ9JHNhdmVf
b3V0cHV0CgoJICBpZiB0ZXN0IC1uICIkY29udmVuaWVuY2UiICYmIHRlc3Qg
LW4gIiR3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYyI7IHRoZW4KCSAgICBldmFs
IGxpYm9ianM9XCJcJGxpYm9ianMgJHdob2xlX2FyY2hpdmVfZmxhZ19zcGVj
XCIKCSAgICB0ZXN0ICJYJGxpYm9ianMiID0gIlggIiAmJiBsaWJvYmpzPQoJ
ICBmaQoJICAjIEV4cGFuZCB0aGUgbGlicmFyeSBsaW5raW5nIGNvbW1hbmRz
IGFnYWluIHRvIHJlc2V0IHRoZQoJICAjIHZhbHVlIG9mICRsaWJvYmpzIGZv
ciBwaWVjZXdpc2UgbGlua2luZy4KCgkgICMgRG8gZWFjaCBvZiB0aGUgYXJj
aGl2ZSBjb21tYW5kcy4KCSAgaWYgdGVzdCAiJG1vZHVsZSIgPSB5ZXMgJiYg
dGVzdCAtbiAiJG1vZHVsZV9jbWRzIiA7IHRoZW4KCSAgICBpZiB0ZXN0IC1u
ICIkZXhwb3J0X3N5bWJvbHMiICYmIHRlc3QgLW4gIiRtb2R1bGVfZXhwc3lt
X2NtZHMiOyB0aGVuCgkgICAgICBjbWRzPSRtb2R1bGVfZXhwc3ltX2NtZHMK
CSAgICBlbHNlCgkgICAgICBjbWRzPSRtb2R1bGVfY21kcwoJICAgIGZpCgkg
IGVsc2UKCSAgICBpZiB0ZXN0IC1uICIkZXhwb3J0X3N5bWJvbHMiICYmIHRl
c3QgLW4gIiRhcmNoaXZlX2V4cHN5bV9jbWRzIjsgdGhlbgoJICAgICAgY21k
cz0kYXJjaGl2ZV9leHBzeW1fY21kcwoJICAgIGVsc2UKCSAgICAgIGNtZHM9
JGFyY2hpdmVfY21kcwoJICAgIGZpCgkgIGZpCglmaQoKCWlmIHRlc3QgLW4g
IiRkZWxmaWxlcyI7IHRoZW4KCSAgIyBBcHBlbmQgdGhlIGNvbW1hbmQgdG8g
cmVtb3ZlIHRlbXBvcmFyeSBmaWxlcyB0byAkY21kcy4KCSAgZXZhbCBjbWRz
PVwiXCRjbWRzflwkUk0gJGRlbGZpbGVzXCIKCWZpCgoJIyBBZGQgYW55IG9i
amVjdHMgZnJvbSBwcmVsb2FkZWQgY29udmVuaWVuY2UgbGlicmFyaWVzCglp
ZiB0ZXN0IC1uICIkZGxwcmVmaWxlcyI7IHRoZW4KCSAgZ2VudG9wPSIkb3V0
cHV0X29iamRpci8ke291dHB1dG5hbWV9eCIKCSAgZ2VuZXJhdGVkKz0iICRn
ZW50b3AiCgoJICBmdW5jX2V4dHJhY3RfYXJjaGl2ZXMgJGdlbnRvcCAkZGxw
cmVmaWxlcwoJICBsaWJvYmpzKz0iICRmdW5jX2V4dHJhY3RfYXJjaGl2ZXNf
cmVzdWx0IgoJICB0ZXN0ICJYJGxpYm9ianMiID0gIlggIiAmJiBsaWJvYmpz
PQoJZmkKCglzYXZlX2lmcz0iJElGUyI7IElGUz0nficKCWZvciBjbWQgaW4g
JGNtZHM7IGRvCgkgIElGUz0iJHNhdmVfaWZzIgoJICBldmFsIGNtZD1cIiRj
bWRcIgoJICAkb3B0X3NpbGVudCB8fCB7CgkgICAgZnVuY19xdW90ZV9mb3Jf
ZXhwYW5kICIkY21kIgoJICAgIGV2YWwgImZ1bmNfZWNobyAkZnVuY19xdW90
ZV9mb3JfZXhwYW5kX3Jlc3VsdCIKCSAgfQoJICAkb3B0X2RyeV9ydW4gfHwg
ZXZhbCAiJGNtZCIgfHwgewoJICAgIGx0X2V4aXQ9JD8KCgkgICAgIyBSZXN0
b3JlIHRoZSB1bmluc3RhbGxlZCBsaWJyYXJ5IGFuZCBleGl0CgkgICAgaWYg
dGVzdCAiJG9wdF9tb2RlIiA9IHJlbGluazsgdGhlbgoJICAgICAgKCBjZCAi
JG91dHB1dF9vYmpkaXIiICYmIFwKCSAgICAgICAgJFJNICIke3JlYWxuYW1l
fVQiICYmIFwKCQkkTVYgIiR7cmVhbG5hbWV9VSIgIiRyZWFsbmFtZSIgKQoJ
ICAgIGZpCgoJICAgIGV4aXQgJGx0X2V4aXQKCSAgfQoJZG9uZQoJSUZTPSIk
c2F2ZV9pZnMiCgoJIyBSZXN0b3JlIHRoZSB1bmluc3RhbGxlZCBsaWJyYXJ5
IGFuZCBleGl0CglpZiB0ZXN0ICIkb3B0X21vZGUiID0gcmVsaW5rOyB0aGVu
CgkgICRvcHRfZHJ5X3J1biB8fCBldmFsICcoY2QgJG91dHB1dF9vYmpkaXIg
JiYgJFJNICR7cmVhbG5hbWV9VCAmJiAkTVYgJHJlYWxuYW1lICR7cmVhbG5h
bWV9VCAmJiAkTVYgJHtyZWFsbmFtZX1VICRyZWFsbmFtZSknIHx8IGV4aXQg
JD8KCgkgIGlmIHRlc3QgLW4gIiRjb252ZW5pZW5jZSI7IHRoZW4KCSAgICBp
ZiB0ZXN0IC16ICIkd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMiOyB0aGVuCgkg
ICAgICBmdW5jX3Nob3dfZXZhbCAnJHtSTX1yICIkZ2VudG9wIicKCSAgICBm
aQoJICBmaQoKCSAgZXhpdCAkRVhJVF9TVUNDRVNTCglmaQoKCSMgQ3JlYXRl
IGxpbmtzIHRvIHRoZSByZWFsIGxpYnJhcnkuCglmb3IgbGlua25hbWUgaW4g
JGxpbmtuYW1lczsgZG8KCSAgaWYgdGVzdCAiJHJlYWxuYW1lIiAhPSAiJGxp
bmtuYW1lIjsgdGhlbgoJICAgIGZ1bmNfc2hvd19ldmFsICcoY2QgIiRvdXRw
dXRfb2JqZGlyIiAmJiAkUk0gIiRsaW5rbmFtZSIgJiYgJExOX1MgIiRyZWFs
bmFtZSIgIiRsaW5rbmFtZSIpJyAnZXhpdCAkPycKCSAgZmkKCWRvbmUKCgkj
IElmIC1tb2R1bGUgb3IgLWV4cG9ydC1keW5hbWljIHdhcyBzcGVjaWZpZWQs
IHNldCB0aGUgZGxuYW1lLgoJaWYgdGVzdCAiJG1vZHVsZSIgPSB5ZXMgfHwg
dGVzdCAiJGV4cG9ydF9keW5hbWljIiA9IHllczsgdGhlbgoJICAjIE9uIGFs
bCBrbm93biBvcGVyYXRpbmcgc3lzdGVtcywgdGhlc2UgYXJlIGlkZW50aWNh
bC4KCSAgZGxuYW1lPSIkc29uYW1lIgoJZmkKICAgICAgZmkKICAgICAgOzsK
CiAgICBvYmopCiAgICAgIGlmIHRlc3QgLW4gIiRkbGZpbGVzJGRscHJlZmls
ZXMiIHx8IHRlc3QgIiRkbHNlbGYiICE9IG5vOyB0aGVuCglmdW5jX3dhcm5p
bmcgIlxgLWRsb3BlbicgaXMgaWdub3JlZCBmb3Igb2JqZWN0cyIKICAgICAg
ZmkKCiAgICAgIGNhc2UgIiAkZGVwbGlicyIgaW4KICAgICAgKlwgLWwqIHwg
KlwgLUwqKQoJZnVuY193YXJuaW5nICJcYC1sJyBhbmQgXGAtTCcgYXJlIGln
bm9yZWQgZm9yIG9iamVjdHMiIDs7CiAgICAgIGVzYWMKCiAgICAgIHRlc3Qg
LW4gIiRycGF0aCIgJiYgXAoJZnVuY193YXJuaW5nICJcYC1ycGF0aCcgaXMg
aWdub3JlZCBmb3Igb2JqZWN0cyIKCiAgICAgIHRlc3QgLW4gIiR4cnBhdGgi
ICYmIFwKCWZ1bmNfd2FybmluZyAiXGAtUicgaXMgaWdub3JlZCBmb3Igb2Jq
ZWN0cyIKCiAgICAgIHRlc3QgLW4gIiR2aW5mbyIgJiYgXAoJZnVuY193YXJu
aW5nICJcYC12ZXJzaW9uLWluZm8nIGlzIGlnbm9yZWQgZm9yIG9iamVjdHMi
CgogICAgICB0ZXN0IC1uICIkcmVsZWFzZSIgJiYgXAoJZnVuY193YXJuaW5n
ICJcYC1yZWxlYXNlJyBpcyBpZ25vcmVkIGZvciBvYmplY3RzIgoKICAgICAg
Y2FzZSAkb3V0cHV0IGluCiAgICAgICoubG8pCgl0ZXN0IC1uICIkb2JqcyRv
bGRfZGVwbGlicyIgJiYgXAoJICBmdW5jX2ZhdGFsX2Vycm9yICJjYW5ub3Qg
YnVpbGQgbGlicmFyeSBvYmplY3QgXGAkb3V0cHV0JyBmcm9tIG5vbi1saWJ0
b29sIG9iamVjdHMiCgoJbGlib2JqPSRvdXRwdXQKCWZ1bmNfbG8ybyAiJGxp
Ym9iaiIKCW9iaj0kZnVuY19sbzJvX3Jlc3VsdAoJOzsKICAgICAgKikKCWxp
Ym9iaj0KCW9iaj0iJG91dHB1dCIKCTs7CiAgICAgIGVzYWMKCiAgICAgICMg
RGVsZXRlIHRoZSBvbGQgb2JqZWN0cy4KICAgICAgJG9wdF9kcnlfcnVuIHx8
ICRSTSAkb2JqICRsaWJvYmoKCiAgICAgICMgT2JqZWN0cyBmcm9tIGNvbnZl
bmllbmNlIGxpYnJhcmllcy4gIFRoaXMgYXNzdW1lcwogICAgICAjIHNpbmds
ZS12ZXJzaW9uIGNvbnZlbmllbmNlIGxpYnJhcmllcy4gIFdoZW5ldmVyIHdl
IGNyZWF0ZQogICAgICAjIGRpZmZlcmVudCBvbmVzIGZvciBQSUMvbm9uLVBJ
QywgdGhpcyB3ZSdsbCBoYXZlIHRvIGR1cGxpY2F0ZQogICAgICAjIHRoZSBl
eHRyYWN0aW9uLgogICAgICByZWxvYWRfY29udl9vYmpzPQogICAgICBnZW50
b3A9CiAgICAgICMgcmVsb2FkX2NtZHMgcnVucyAkTEQgZGlyZWN0bHksIHNv
IGxldCB1cyBnZXQgcmlkIG9mCiAgICAgICMgLVdsIGZyb20gd2hvbGVfYXJj
aGl2ZV9mbGFnX3NwZWMgYW5kIGhvcGUgd2UgY2FuIGdldCBieSB3aXRoCiAg
ICAgICMgdHVybmluZyBjb21tYSBpbnRvIHNwYWNlLi4KICAgICAgd2w9Cgog
ICAgICBpZiB0ZXN0IC1uICIkY29udmVuaWVuY2UiOyB0aGVuCglpZiB0ZXN0
IC1uICIkd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMiOyB0aGVuCgkgIGV2YWwg
dG1wX3dob2xlX2FyY2hpdmVfZmxhZ3M9XCIkd2hvbGVfYXJjaGl2ZV9mbGFn
X3NwZWNcIgoJICByZWxvYWRfY29udl9vYmpzPSRyZWxvYWRfb2Jqc1wgYCRF
Q0hPICIkdG1wX3dob2xlX2FyY2hpdmVfZmxhZ3MiIHwgJFNFRCAnc3wsfCB8
ZydgCgllbHNlCgkgIGdlbnRvcD0iJG91dHB1dF9vYmpkaXIvJHtvYmp9eCIK
CSAgZ2VuZXJhdGVkKz0iICRnZW50b3AiCgoJICBmdW5jX2V4dHJhY3RfYXJj
aGl2ZXMgJGdlbnRvcCAkY29udmVuaWVuY2UKCSAgcmVsb2FkX2NvbnZfb2Jq
cz0iJHJlbG9hZF9vYmpzICRmdW5jX2V4dHJhY3RfYXJjaGl2ZXNfcmVzdWx0
IgoJZmkKICAgICAgZmkKCiAgICAgICMgSWYgd2UncmUgbm90IGJ1aWxkaW5n
IHNoYXJlZCwgd2UgbmVlZCB0byB1c2Ugbm9uX3BpY19vYmpzCiAgICAgIHRl
c3QgIiRidWlsZF9saWJ0b29sX2xpYnMiICE9IHllcyAmJiBsaWJvYmpzPSIk
bm9uX3BpY19vYmplY3RzIgoKICAgICAgIyBDcmVhdGUgdGhlIG9sZC1zdHls
ZSBvYmplY3QuCiAgICAgIHJlbG9hZF9vYmpzPSIkb2JqcyRvbGRfZGVwbGli
cyAiYCRFQ0hPICIkbGlib2JqcyIgfCAkU1AyTkwgfCAkU0VEICIvXC4ke2xp
YmV4dH0kL2Q7IC9cLmxpYiQvZDsgJGxvMm8iIHwgJE5MMlNQYCIgJHJlbG9h
ZF9jb252X29ianMiICMjIyB0ZXN0c3VpdGU6IHNraXAgbmVzdGVkIHF1b3Rp
bmcgdGVzdAoKICAgICAgb3V0cHV0PSIkb2JqIgogICAgICBmdW5jX2V4ZWN1
dGVfY21kcyAiJHJlbG9hZF9jbWRzIiAnZXhpdCAkPycKCiAgICAgICMgRXhp
dCBpZiB3ZSBhcmVuJ3QgZG9pbmcgYSBsaWJyYXJ5IG9iamVjdCBmaWxlLgog
ICAgICBpZiB0ZXN0IC16ICIkbGlib2JqIjsgdGhlbgoJaWYgdGVzdCAtbiAi
JGdlbnRvcCI7IHRoZW4KCSAgZnVuY19zaG93X2V2YWwgJyR7Uk19ciAiJGdl
bnRvcCInCglmaQoKCWV4aXQgJEVYSVRfU1VDQ0VTUwogICAgICBmaQoKICAg
ICAgaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgIT0geWVzOyB0aGVu
CglpZiB0ZXN0IC1uICIkZ2VudG9wIjsgdGhlbgoJICBmdW5jX3Nob3dfZXZh
bCAnJHtSTX1yICIkZ2VudG9wIicKCWZpCgoJIyBDcmVhdGUgYW4gaW52YWxp
ZCBsaWJ0b29sIG9iamVjdCBpZiBubyBQSUMsIHNvIHRoYXQgd2UgZG9uJ3QK
CSMgYWNjaWRlbnRhbGx5IGxpbmsgaXQgaW50byBhIHByb2dyYW0uCgkjICRz
aG93ICJlY2hvIHRpbWVzdGFtcCA+ICRsaWJvYmoiCgkjICRvcHRfZHJ5X3J1
biB8fCBldmFsICJlY2hvIHRpbWVzdGFtcCA+ICRsaWJvYmoiIHx8IGV4aXQg
JD8KCWV4aXQgJEVYSVRfU1VDQ0VTUwogICAgICBmaQoKICAgICAgaWYgdGVz
dCAtbiAiJHBpY19mbGFnIiB8fCB0ZXN0ICIkcGljX21vZGUiICE9IGRlZmF1
bHQ7IHRoZW4KCSMgT25seSBkbyBjb21tYW5kcyBpZiB3ZSByZWFsbHkgaGF2
ZSBkaWZmZXJlbnQgUElDIG9iamVjdHMuCglyZWxvYWRfb2Jqcz0iJGxpYm9i
anMgJHJlbG9hZF9jb252X29ianMiCglvdXRwdXQ9IiRsaWJvYmoiCglmdW5j
X2V4ZWN1dGVfY21kcyAiJHJlbG9hZF9jbWRzIiAnZXhpdCAkPycKICAgICAg
ZmkKCiAgICAgIGlmIHRlc3QgLW4gIiRnZW50b3AiOyB0aGVuCglmdW5jX3No
b3dfZXZhbCAnJHtSTX1yICIkZ2VudG9wIicKICAgICAgZmkKCiAgICAgIGV4
aXQgJEVYSVRfU1VDQ0VTUwogICAgICA7OwoKICAgIHByb2cpCiAgICAgIGNh
c2UgJGhvc3QgaW4KCSpjeWd3aW4qKSBmdW5jX3N0cmlwbmFtZSAnJyAnLmV4
ZScgIiRvdXRwdXQiCgkgICAgICAgICAgb3V0cHV0PSRmdW5jX3N0cmlwbmFt
ZV9yZXN1bHQuZXhlOzsKICAgICAgZXNhYwogICAgICB0ZXN0IC1uICIkdmlu
Zm8iICYmIFwKCWZ1bmNfd2FybmluZyAiXGAtdmVyc2lvbi1pbmZvJyBpcyBp
Z25vcmVkIGZvciBwcm9ncmFtcyIKCiAgICAgIHRlc3QgLW4gIiRyZWxlYXNl
IiAmJiBcCglmdW5jX3dhcm5pbmcgIlxgLXJlbGVhc2UnIGlzIGlnbm9yZWQg
Zm9yIHByb2dyYW1zIgoKICAgICAgdGVzdCAiJHByZWxvYWQiID0geWVzIFwK
ICAgICAgICAmJiB0ZXN0ICIkZGxvcGVuX3N1cHBvcnQiID0gdW5rbm93biBc
CgkmJiB0ZXN0ICIkZGxvcGVuX3NlbGYiID0gdW5rbm93biBcCgkmJiB0ZXN0
ICIkZGxvcGVuX3NlbGZfc3RhdGljIiA9IHVua25vd24gJiYgXAoJICBmdW5j
X3dhcm5pbmcgIlxgTFRfSU5JVChbZGxvcGVuXSknIG5vdCB1c2VkLiBBc3N1
bWluZyBubyBkbG9wZW4gc3VwcG9ydC4iCgogICAgICBjYXNlICRob3N0IGlu
CiAgICAgICotKi1yaGFwc29keSogfCAqLSotZGFyd2luMS5bMDEyXSkKCSMg
T24gUmhhcHNvZHkgcmVwbGFjZSB0aGUgQyBsaWJyYXJ5IGlzIHRoZSBTeXN0
ZW0gZnJhbWV3b3JrCgljb21waWxlX2RlcGxpYnM9YCRFQ0hPICIgJGNvbXBp
bGVfZGVwbGlicyIgfCAkU0VEICdzLyAtbGMgLyBTeXN0ZW0ubHRmcmFtZXdv
cmsgLydgCglmaW5hbGl6ZV9kZXBsaWJzPWAkRUNITyAiICRmaW5hbGl6ZV9k
ZXBsaWJzIiB8ICRTRUQgJ3MvIC1sYyAvIFN5c3RlbS5sdGZyYW1ld29yayAv
J2AKCTs7CiAgICAgIGVzYWMKCiAgICAgIGNhc2UgJGhvc3QgaW4KICAgICAg
Ki0qLWRhcndpbiopCgkjIERvbid0IGFsbG93IGxhenkgbGlua2luZywgaXQg
YnJlYWtzIEMrKyBnbG9iYWwgY29uc3RydWN0b3JzCgkjIEJ1dCBpcyBzdXBw
b3NlZGx5IGZpeGVkIG9uIDEwLjQgb3IgbGF0ZXIgKHlheSEpLgoJaWYgdGVz
dCAiJHRhZ25hbWUiID0gQ1hYIDsgdGhlbgoJICBjYXNlICR7TUFDT1NYX0RF
UExPWU1FTlRfVEFSR0VULTEwLjB9IGluCgkgICAgMTAuWzAxMjNdKQoJICAg
ICAgY29tcGlsZV9jb21tYW5kKz0iICR7d2x9LWJpbmRfYXRfbG9hZCIKCSAg
ICAgIGZpbmFsaXplX2NvbW1hbmQrPSIgJHt3bH0tYmluZF9hdF9sb2FkIgoJ
ICAgIDs7CgkgIGVzYWMKCWZpCgkjIFRpbWUgdG8gY2hhbmdlIGFsbCBvdXIg
ImZvby5sdGZyYW1ld29yayIgc3R1ZmYgYmFjayB0byAiLWZyYW1ld29yayBm
b28iCgljb21waWxlX2RlcGxpYnM9YCRFQ0hPICIgJGNvbXBpbGVfZGVwbGli
cyIgfCAkU0VEICdzJSBcKFteICRdKlwpLmx0ZnJhbWV3b3JrJSAtZnJhbWV3
b3JrIFwxJWcnYAoJZmluYWxpemVfZGVwbGlicz1gJEVDSE8gIiAkZmluYWxp
emVfZGVwbGlicyIgfCAkU0VEICdzJSBcKFteICRdKlwpLmx0ZnJhbWV3b3Jr
JSAtZnJhbWV3b3JrIFwxJWcnYAoJOzsKICAgICAgZXNhYwoKCiAgICAgICMg
bW92ZSBsaWJyYXJ5IHNlYXJjaCBwYXRocyB0aGF0IGNvaW5jaWRlIHdpdGgg
cGF0aHMgdG8gbm90IHlldAogICAgICAjIGluc3RhbGxlZCBsaWJyYXJpZXMg
dG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgbGlicmFyeSBzZWFyY2ggbGlzdAog
ICAgICBuZXdfbGlicz0KICAgICAgZm9yIHBhdGggaW4gJG5vdGluc3RfcGF0
aDsgZG8KCWNhc2UgIiAkbmV3X2xpYnMgIiBpbgoJKiIgLUwkcGF0aC8kb2Jq
ZGlyICIqKSA7OwoJKikKCSAgY2FzZSAiICRjb21waWxlX2RlcGxpYnMgIiBp
bgoJICAqIiAtTCRwYXRoLyRvYmpkaXIgIiopCgkgICAgbmV3X2xpYnMrPSIg
LUwkcGF0aC8kb2JqZGlyIiA7OwoJICBlc2FjCgkgIDs7Cgllc2FjCiAgICAg
IGRvbmUKICAgICAgZm9yIGRlcGxpYiBpbiAkY29tcGlsZV9kZXBsaWJzOyBk
bwoJY2FzZSAkZGVwbGliIGluCgktTCopCgkgIGNhc2UgIiAkbmV3X2xpYnMg
IiBpbgoJICAqIiAkZGVwbGliICIqKSA7OwoJICAqKSBuZXdfbGlicys9IiAk
ZGVwbGliIiA7OwoJICBlc2FjCgkgIDs7CgkqKSBuZXdfbGlicys9IiAkZGVw
bGliIiA7OwoJZXNhYwogICAgICBkb25lCiAgICAgIGNvbXBpbGVfZGVwbGli
cz0iJG5ld19saWJzIgoKCiAgICAgIGNvbXBpbGVfY29tbWFuZCs9IiAkY29t
cGlsZV9kZXBsaWJzIgogICAgICBmaW5hbGl6ZV9jb21tYW5kKz0iICRmaW5h
bGl6ZV9kZXBsaWJzIgoKICAgICAgaWYgdGVzdCAtbiAiJHJwYXRoJHhycGF0
aCI7IHRoZW4KCSMgSWYgdGhlIHVzZXIgc3BlY2lmaWVkIGFueSBycGF0aCBm
bGFncywgdGhlbiBhZGQgdGhlbS4KCWZvciBsaWJkaXIgaW4gJHJwYXRoICR4
cnBhdGg7IGRvCgkgICMgVGhpcyBpcyB0aGUgbWFnaWMgdG8gdXNlIC1ycGF0
aC4KCSAgY2FzZSAiJGZpbmFsaXplX3JwYXRoICIgaW4KCSAgKiIgJGxpYmRp
ciAiKikgOzsKCSAgKikgZmluYWxpemVfcnBhdGgrPSIgJGxpYmRpciIgOzsK
CSAgZXNhYwoJZG9uZQogICAgICBmaQoKICAgICAgIyBOb3cgaGFyZGNvZGUg
dGhlIGxpYnJhcnkgcGF0aHMKICAgICAgcnBhdGg9CiAgICAgIGhhcmRjb2Rl
X2xpYmRpcnM9CiAgICAgIGZvciBsaWJkaXIgaW4gJGNvbXBpbGVfcnBhdGgg
JGZpbmFsaXplX3JwYXRoOyBkbwoJaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xp
YmRpcl9mbGFnX3NwZWMiOyB0aGVuCgkgIGlmIHRlc3QgLW4gIiRoYXJkY29k
ZV9saWJkaXJfc2VwYXJhdG9yIjsgdGhlbgoJICAgIGlmIHRlc3QgLXogIiRo
YXJkY29kZV9saWJkaXJzIjsgdGhlbgoJICAgICAgaGFyZGNvZGVfbGliZGly
cz0iJGxpYmRpciIKCSAgICBlbHNlCgkgICAgICAjIEp1c3QgYWNjdW11bGF0
ZSB0aGUgdW5pcXVlIGxpYmRpcnMuCgkgICAgICBjYXNlICRoYXJkY29kZV9s
aWJkaXJfc2VwYXJhdG9yJGhhcmRjb2RlX2xpYmRpcnMkaGFyZGNvZGVfbGli
ZGlyX3NlcGFyYXRvciBpbgoJICAgICAgKiIkaGFyZGNvZGVfbGliZGlyX3Nl
cGFyYXRvciRsaWJkaXIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciIqKQoJ
CTs7CgkgICAgICAqKQoJCWhhcmRjb2RlX2xpYmRpcnMrPSIkaGFyZGNvZGVf
bGliZGlyX3NlcGFyYXRvciRsaWJkaXIiCgkJOzsKCSAgICAgIGVzYWMKCSAg
ICBmaQoJICBlbHNlCgkgICAgZXZhbCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRp
cl9mbGFnX3NwZWNcIgoJICAgIHJwYXRoKz0iICRmbGFnIgoJICBmaQoJZWxp
ZiB0ZXN0IC1uICIkcnVucGF0aF92YXIiOyB0aGVuCgkgIGNhc2UgIiRwZXJt
X3JwYXRoICIgaW4KCSAgKiIgJGxpYmRpciAiKikgOzsKCSAgKikgcGVybV9y
cGF0aCs9IiAkbGliZGlyIiA7OwoJICBlc2FjCglmaQoJY2FzZSAkaG9zdCBp
bgoJKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0q
LW9zMiogfCAqLWNlZ2NjKikKCSAgdGVzdGJpbmRpcj1gJHtFQ0hPfSAiJGxp
YmRpciIgfCAke1NFRH0gLWUgJ3MqL2xpYiQqL2JpbionYAoJICBjYXNlIDok
ZGxsc2VhcmNocGF0aDogaW4KCSAgKiI6JGxpYmRpcjoiKikgOzsKCSAgOjop
IGRsbHNlYXJjaHBhdGg9JGxpYmRpcjs7CgkgICopIGRsbHNlYXJjaHBhdGgr
PSI6JGxpYmRpciI7OwoJICBlc2FjCgkgIGNhc2UgOiRkbGxzZWFyY2hwYXRo
OiBpbgoJICAqIjokdGVzdGJpbmRpcjoiKikgOzsKCSAgOjopIGRsbHNlYXJj
aHBhdGg9JHRlc3RiaW5kaXI7OwoJICAqKSBkbGxzZWFyY2hwYXRoKz0iOiR0
ZXN0YmluZGlyIjs7CgkgIGVzYWMKCSAgOzsKCWVzYWMKICAgICAgZG9uZQog
ICAgICAjIFN1YnN0aXR1dGUgdGhlIGhhcmRjb2RlZCBsaWJkaXJzIGludG8g
dGhlIHJwYXRoLgogICAgICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGly
X3NlcGFyYXRvciIgJiYKCSB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlycyI7
IHRoZW4KCWxpYmRpcj0iJGhhcmRjb2RlX2xpYmRpcnMiCglldmFsIHJwYXRo
PVwiICRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjXCIKICAgICAgZmkKICAg
ICAgY29tcGlsZV9ycGF0aD0iJHJwYXRoIgoKICAgICAgcnBhdGg9CiAgICAg
IGhhcmRjb2RlX2xpYmRpcnM9CiAgICAgIGZvciBsaWJkaXIgaW4gJGZpbmFs
aXplX3JwYXRoOyBkbwoJaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9m
bGFnX3NwZWMiOyB0aGVuCgkgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJk
aXJfc2VwYXJhdG9yIjsgdGhlbgoJICAgIGlmIHRlc3QgLXogIiRoYXJkY29k
ZV9saWJkaXJzIjsgdGhlbgoJICAgICAgaGFyZGNvZGVfbGliZGlycz0iJGxp
YmRpciIKCSAgICBlbHNlCgkgICAgICAjIEp1c3QgYWNjdW11bGF0ZSB0aGUg
dW5pcXVlIGxpYmRpcnMuCgkgICAgICBjYXNlICRoYXJkY29kZV9saWJkaXJf
c2VwYXJhdG9yJGhhcmRjb2RlX2xpYmRpcnMkaGFyZGNvZGVfbGliZGlyX3Nl
cGFyYXRvciBpbgoJICAgICAgKiIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRv
ciRsaWJkaXIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciIqKQoJCTs7Cgkg
ICAgICAqKQoJCWhhcmRjb2RlX2xpYmRpcnMrPSIkaGFyZGNvZGVfbGliZGly
X3NlcGFyYXRvciRsaWJkaXIiCgkJOzsKCSAgICAgIGVzYWMKCSAgICBmaQoJ
ICBlbHNlCgkgICAgZXZhbCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFn
X3NwZWNcIgoJICAgIHJwYXRoKz0iICRmbGFnIgoJICBmaQoJZWxpZiB0ZXN0
IC1uICIkcnVucGF0aF92YXIiOyB0aGVuCgkgIGNhc2UgIiRmaW5hbGl6ZV9w
ZXJtX3JwYXRoICIgaW4KCSAgKiIgJGxpYmRpciAiKikgOzsKCSAgKikgZmlu
YWxpemVfcGVybV9ycGF0aCs9IiAkbGliZGlyIiA7OwoJICBlc2FjCglmaQog
ICAgICBkb25lCiAgICAgICMgU3Vic3RpdHV0ZSB0aGUgaGFyZGNvZGVkIGxp
YmRpcnMgaW50byB0aGUgcnBhdGguCiAgICAgIGlmIHRlc3QgLW4gIiRoYXJk
Y29kZV9saWJkaXJfc2VwYXJhdG9yIiAmJgoJIHRlc3QgLW4gIiRoYXJkY29k
ZV9saWJkaXJzIjsgdGhlbgoJbGliZGlyPSIkaGFyZGNvZGVfbGliZGlycyIK
CWV2YWwgcnBhdGg9XCIgJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgog
ICAgICBmaQogICAgICBmaW5hbGl6ZV9ycGF0aD0iJHJwYXRoIgoKICAgICAg
aWYgdGVzdCAtbiAiJGxpYm9ianMiICYmIHRlc3QgIiRidWlsZF9vbGRfbGli
cyIgPSB5ZXM7IHRoZW4KCSMgVHJhbnNmb3JtIGFsbCB0aGUgbGlicmFyeSBv
YmplY3RzIGludG8gc3RhbmRhcmQgb2JqZWN0cy4KCWNvbXBpbGVfY29tbWFu
ZD1gJEVDSE8gIiRjb21waWxlX2NvbW1hbmQiIHwgJFNQMk5MIHwgJFNFRCAi
JGxvMm8iIHwgJE5MMlNQYAoJZmluYWxpemVfY29tbWFuZD1gJEVDSE8gIiRm
aW5hbGl6ZV9jb21tYW5kIiB8ICRTUDJOTCB8ICRTRUQgIiRsbzJvIiB8ICRO
TDJTUGAKICAgICAgZmkKCiAgICAgIGZ1bmNfZ2VuZXJhdGVfZGxzeW1zICIk
b3V0cHV0bmFtZSIgIkBQUk9HUkFNQCIgIm5vIgoKICAgICAgIyB0ZW1wbGF0
ZSBwcmVsaW5raW5nIHN0ZXAKICAgICAgaWYgdGVzdCAtbiAiJHByZWxpbmtf
Y21kcyI7IHRoZW4KCWZ1bmNfZXhlY3V0ZV9jbWRzICIkcHJlbGlua19jbWRz
IiAnZXhpdCAkPycKICAgICAgZmkKCiAgICAgIHdyYXBwZXJzX3JlcXVpcmVk
PXllcwogICAgICBjYXNlICRob3N0IGluCiAgICAgICpjZWdjYyogfCAqbWlu
Z3czMmNlKikKICAgICAgICAjIERpc2FibGUgd3JhcHBlcnMgZm9yIGNlZ2Nj
IGFuZCBtaW5ndzMyY2UgaG9zdHMsIHdlIGFyZSBjcm9zcyBjb21waWxpbmcg
YW55d2F5LgogICAgICAgIHdyYXBwZXJzX3JlcXVpcmVkPW5vCiAgICAgICAg
OzsKICAgICAgKmN5Z3dpbiogfCAqbWluZ3cqICkKICAgICAgICBpZiB0ZXN0
ICIkYnVpbGRfbGlidG9vbF9saWJzIiAhPSB5ZXM7IHRoZW4KICAgICAgICAg
IHdyYXBwZXJzX3JlcXVpcmVkPW5vCiAgICAgICAgZmkKICAgICAgICA7Owog
ICAgICAqKQogICAgICAgIGlmIHRlc3QgIiRuZWVkX3JlbGluayIgPSBubyB8
fCB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiAhPSB5ZXM7IHRoZW4KICAg
ICAgICAgIHdyYXBwZXJzX3JlcXVpcmVkPW5vCiAgICAgICAgZmkKICAgICAg
ICA7OwogICAgICBlc2FjCiAgICAgIGlmIHRlc3QgIiR3cmFwcGVyc19yZXF1
aXJlZCIgPSBubzsgdGhlbgoJIyBSZXBsYWNlIHRoZSBvdXRwdXQgZmlsZSBz
cGVjaWZpY2F0aW9uLgoJY29tcGlsZV9jb21tYW5kPWAkRUNITyAiJGNvbXBp
bGVfY29tbWFuZCIgfCAkU0VEICdzJUBPVVRQVVRAJSciJG91dHB1dCInJWcn
YAoJbGlua19jb21tYW5kPSIkY29tcGlsZV9jb21tYW5kJGNvbXBpbGVfcnBh
dGgiCgoJIyBXZSBoYXZlIG5vIHVuaW5zdGFsbGVkIGxpYnJhcnkgZGVwZW5k
ZW5jaWVzLCBzbyBmaW5hbGl6ZSByaWdodCBub3cuCglleGl0X3N0YXR1cz0w
CglmdW5jX3Nob3dfZXZhbCAiJGxpbmtfY29tbWFuZCIgJ2V4aXRfc3RhdHVz
PSQ/JwoKCWlmIHRlc3QgLW4gIiRwb3N0bGlua19jbWRzIjsgdGhlbgoJICBm
dW5jX3RvX3Rvb2xfZmlsZSAiJG91dHB1dCIKCSAgcG9zdGxpbmtfY21kcz1g
ZnVuY19lY2hvX2FsbCAiJHBvc3RsaW5rX2NtZHMiIHwgJFNFRCAtZSAncyVA
T1VUUFVUQCUnIiRvdXRwdXQiJyVnJyAtZSAncyVAVE9PTF9PVVRQVVRAJSci
JGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3VsdCInJWcnYAoJICBmdW5jX2V4ZWN1
dGVfY21kcyAiJHBvc3RsaW5rX2NtZHMiICdleGl0ICQ/JwoJZmkKCgkjIERl
bGV0ZSB0aGUgZ2VuZXJhdGVkIGZpbGVzLgoJaWYgdGVzdCAtZiAiJG91dHB1
dF9vYmpkaXIvJHtvdXRwdXRuYW1lfVMuJHtvYmpleHR9IjsgdGhlbgoJICBm
dW5jX3Nob3dfZXZhbCAnJFJNICIkb3V0cHV0X29iamRpci8ke291dHB1dG5h
bWV9Uy4ke29iamV4dH0iJwoJZmkKCglleGl0ICRleGl0X3N0YXR1cwogICAg
ICBmaQoKICAgICAgaWYgdGVzdCAtbiAiJGNvbXBpbGVfc2hsaWJwYXRoJGZp
bmFsaXplX3NobGlicGF0aCI7IHRoZW4KCWNvbXBpbGVfY29tbWFuZD0iJHNo
bGlicGF0aF92YXI9XCIkY29tcGlsZV9zaGxpYnBhdGgkZmluYWxpemVfc2hs
aWJwYXRoXCQkc2hsaWJwYXRoX3ZhclwiICRjb21waWxlX2NvbW1hbmQiCiAg
ICAgIGZpCiAgICAgIGlmIHRlc3QgLW4gIiRmaW5hbGl6ZV9zaGxpYnBhdGgi
OyB0aGVuCglmaW5hbGl6ZV9jb21tYW5kPSIkc2hsaWJwYXRoX3Zhcj1cIiRm
aW5hbGl6ZV9zaGxpYnBhdGhcJCRzaGxpYnBhdGhfdmFyXCIgJGZpbmFsaXpl
X2NvbW1hbmQiCiAgICAgIGZpCgogICAgICBjb21waWxlX3Zhcj0KICAgICAg
ZmluYWxpemVfdmFyPQogICAgICBpZiB0ZXN0IC1uICIkcnVucGF0aF92YXIi
OyB0aGVuCglpZiB0ZXN0IC1uICIkcGVybV9ycGF0aCI7IHRoZW4KCSAgIyBX
ZSBzaG91bGQgc2V0IHRoZSBydW5wYXRoX3Zhci4KCSAgcnBhdGg9CgkgIGZv
ciBkaXIgaW4gJHBlcm1fcnBhdGg7IGRvCgkgICAgcnBhdGgrPSIkZGlyOiIK
CSAgZG9uZQoJICBjb21waWxlX3Zhcj0iJHJ1bnBhdGhfdmFyPVwiJHJwYXRo
XCQkcnVucGF0aF92YXJcIiAiCglmaQoJaWYgdGVzdCAtbiAiJGZpbmFsaXpl
X3Blcm1fcnBhdGgiOyB0aGVuCgkgICMgV2Ugc2hvdWxkIHNldCB0aGUgcnVu
cGF0aF92YXIuCgkgIHJwYXRoPQoJICBmb3IgZGlyIGluICRmaW5hbGl6ZV9w
ZXJtX3JwYXRoOyBkbwoJICAgIHJwYXRoKz0iJGRpcjoiCgkgIGRvbmUKCSAg
ZmluYWxpemVfdmFyPSIkcnVucGF0aF92YXI9XCIkcnBhdGhcJCRydW5wYXRo
X3ZhclwiICIKCWZpCiAgICAgIGZpCgogICAgICBpZiB0ZXN0ICIkbm9faW5z
dGFsbCIgPSB5ZXM7IHRoZW4KCSMgV2UgZG9uJ3QgbmVlZCB0byBjcmVhdGUg
YSB3cmFwcGVyIHNjcmlwdC4KCWxpbmtfY29tbWFuZD0iJGNvbXBpbGVfdmFy
JGNvbXBpbGVfY29tbWFuZCRjb21waWxlX3JwYXRoIgoJIyBSZXBsYWNlIHRo
ZSBvdXRwdXQgZmlsZSBzcGVjaWZpY2F0aW9uLgoJbGlua19jb21tYW5kPWAk
RUNITyAiJGxpbmtfY29tbWFuZCIgfCAkU0VEICdzJUBPVVRQVVRAJSciJG91
dHB1dCInJWcnYAoJIyBEZWxldGUgdGhlIG9sZCBvdXRwdXQgZmlsZS4KCSRv
cHRfZHJ5X3J1biB8fCAkUk0gJG91dHB1dAoJIyBMaW5rIHRoZSBleGVjdXRh
YmxlIGFuZCBleGl0CglmdW5jX3Nob3dfZXZhbCAiJGxpbmtfY29tbWFuZCIg
J2V4aXQgJD8nCgoJaWYgdGVzdCAtbiAiJHBvc3RsaW5rX2NtZHMiOyB0aGVu
CgkgIGZ1bmNfdG9fdG9vbF9maWxlICIkb3V0cHV0IgoJICBwb3N0bGlua19j
bWRzPWBmdW5jX2VjaG9fYWxsICIkcG9zdGxpbmtfY21kcyIgfCAkU0VEIC1l
ICdzJUBPVVRQVVRAJSciJG91dHB1dCInJWcnIC1lICdzJUBUT09MX09VVFBV
VEAlJyIkZnVuY190b190b29sX2ZpbGVfcmVzdWx0IiclZydgCgkgIGZ1bmNf
ZXhlY3V0ZV9jbWRzICIkcG9zdGxpbmtfY21kcyIgJ2V4aXQgJD8nCglmaQoK
CWV4aXQgJEVYSVRfU1VDQ0VTUwogICAgICBmaQoKICAgICAgaWYgdGVzdCAi
JGhhcmRjb2RlX2FjdGlvbiIgPSByZWxpbms7IHRoZW4KCSMgRmFzdCBpbnN0
YWxsYXRpb24gaXMgbm90IHN1cHBvcnRlZAoJbGlua19jb21tYW5kPSIkY29t
cGlsZV92YXIkY29tcGlsZV9jb21tYW5kJGNvbXBpbGVfcnBhdGgiCglyZWxp
bmtfY29tbWFuZD0iJGZpbmFsaXplX3ZhciRmaW5hbGl6ZV9jb21tYW5kJGZp
bmFsaXplX3JwYXRoIgoKCWZ1bmNfd2FybmluZyAidGhpcyBwbGF0Zm9ybSBk
b2VzIG5vdCBsaWtlIHVuaW5zdGFsbGVkIHNoYXJlZCBsaWJyYXJpZXMiCglm
dW5jX3dhcm5pbmcgIlxgJG91dHB1dCcgd2lsbCBiZSByZWxpbmtlZCBkdXJp
bmcgaW5zdGFsbGF0aW9uIgogICAgICBlbHNlCglpZiB0ZXN0ICIkZmFzdF9p
bnN0YWxsIiAhPSBubzsgdGhlbgoJICBsaW5rX2NvbW1hbmQ9IiRmaW5hbGl6
ZV92YXIkY29tcGlsZV9jb21tYW5kJGZpbmFsaXplX3JwYXRoIgoJICBpZiB0
ZXN0ICIkZmFzdF9pbnN0YWxsIiA9IHllczsgdGhlbgoJICAgIHJlbGlua19j
b21tYW5kPWAkRUNITyAiJGNvbXBpbGVfdmFyJGNvbXBpbGVfY29tbWFuZCRj
b21waWxlX3JwYXRoIiB8ICRTRUQgJ3MlQE9VVFBVVEAlXCRwcm9nZGlyL1wk
ZmlsZSVnJ2AKCSAgZWxzZQoJICAgICMgZmFzdF9pbnN0YWxsIGlzIHNldCB0
byBuZWVkbGVzcwoJICAgIHJlbGlua19jb21tYW5kPQoJICBmaQoJZWxzZQoJ
ICBsaW5rX2NvbW1hbmQ9IiRjb21waWxlX3ZhciRjb21waWxlX2NvbW1hbmQk
Y29tcGlsZV9ycGF0aCIKCSAgcmVsaW5rX2NvbW1hbmQ9IiRmaW5hbGl6ZV92
YXIkZmluYWxpemVfY29tbWFuZCRmaW5hbGl6ZV9ycGF0aCIKCWZpCiAgICAg
IGZpCgogICAgICAjIFJlcGxhY2UgdGhlIG91dHB1dCBmaWxlIHNwZWNpZmlj
YXRpb24uCiAgICAgIGxpbmtfY29tbWFuZD1gJEVDSE8gIiRsaW5rX2NvbW1h
bmQiIHwgJFNFRCAncyVAT1VUUFVUQCUnIiRvdXRwdXRfb2JqZGlyLyRvdXRw
dXRuYW1lIiclZydgCgogICAgICAjIERlbGV0ZSB0aGUgb2xkIG91dHB1dCBm
aWxlcy4KICAgICAgJG9wdF9kcnlfcnVuIHx8ICRSTSAkb3V0cHV0ICRvdXRw
dXRfb2JqZGlyLyRvdXRwdXRuYW1lICRvdXRwdXRfb2JqZGlyL2x0LSRvdXRw
dXRuYW1lCgogICAgICBmdW5jX3Nob3dfZXZhbCAiJGxpbmtfY29tbWFuZCIg
J2V4aXQgJD8nCgogICAgICBpZiB0ZXN0IC1uICIkcG9zdGxpbmtfY21kcyI7
IHRoZW4KCWZ1bmNfdG9fdG9vbF9maWxlICIkb3V0cHV0X29iamRpci8kb3V0
cHV0bmFtZSIKCXBvc3RsaW5rX2NtZHM9YGZ1bmNfZWNob19hbGwgIiRwb3N0
bGlua19jbWRzIiB8ICRTRUQgLWUgJ3MlQE9VVFBVVEAlJyIkb3V0cHV0X29i
amRpci8kb3V0cHV0bmFtZSInJWcnIC1lICdzJUBUT09MX09VVFBVVEAlJyIk
ZnVuY190b190b29sX2ZpbGVfcmVzdWx0IiclZydgCglmdW5jX2V4ZWN1dGVf
Y21kcyAiJHBvc3RsaW5rX2NtZHMiICdleGl0ICQ/JwogICAgICBmaQoKICAg
ICAgIyBOb3cgY3JlYXRlIHRoZSB3cmFwcGVyIHNjcmlwdC4KICAgICAgZnVu
Y192ZXJib3NlICJjcmVhdGluZyAkb3V0cHV0IgoKICAgICAgIyBRdW90ZSB0
aGUgcmVsaW5rIGNvbW1hbmQgZm9yIHNoaXBwaW5nLgogICAgICBpZiB0ZXN0
IC1uICIkcmVsaW5rX2NvbW1hbmQiOyB0aGVuCgkjIFByZXNlcnZlIGFueSB2
YXJpYWJsZXMgdGhhdCBtYXkgYWZmZWN0IGNvbXBpbGVyIGJlaGF2aW9yCglm
b3IgdmFyIGluICR2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluazsgZG8KCSAg
aWYgZXZhbCB0ZXN0IC16IFwiXCR7JHZhcitzZXR9XCI7IHRoZW4KCSAgICBy
ZWxpbmtfY29tbWFuZD0ieyB0ZXN0IC16IFwiXCR7JHZhcitzZXR9XCIgfHwg
JGx0X3Vuc2V0ICR2YXIgfHwgeyAkdmFyPTsgZXhwb3J0ICR2YXI7IH07IH07
ICRyZWxpbmtfY29tbWFuZCIKCSAgZWxpZiBldmFsIHZhcl92YWx1ZT1cJCR2
YXI7IHRlc3QgLXogIiR2YXJfdmFsdWUiOyB0aGVuCgkgICAgcmVsaW5rX2Nv
bW1hbmQ9IiR2YXI9OyBleHBvcnQgJHZhcjsgJHJlbGlua19jb21tYW5kIgoJ
ICBlbHNlCgkgICAgZnVuY19xdW90ZV9mb3JfZXZhbCAiJHZhcl92YWx1ZSIK
CSAgICByZWxpbmtfY29tbWFuZD0iJHZhcj0kZnVuY19xdW90ZV9mb3JfZXZh
bF9yZXN1bHQ7IGV4cG9ydCAkdmFyOyAkcmVsaW5rX2NvbW1hbmQiCgkgIGZp
Cglkb25lCglyZWxpbmtfY29tbWFuZD0iKGNkIGBwd2RgOyAkcmVsaW5rX2Nv
bW1hbmQpIgoJcmVsaW5rX2NvbW1hbmQ9YCRFQ0hPICIkcmVsaW5rX2NvbW1h
bmQiIHwgJFNFRCAiJHNlZF9xdW90ZV9zdWJzdCJgCiAgICAgIGZpCgogICAg
ICAjIE9ubHkgYWN0dWFsbHkgZG8gdGhpbmdzIGlmIG5vdCBpbiBkcnkgcnVu
IG1vZGUuCiAgICAgICRvcHRfZHJ5X3J1biB8fCB7CgkjIHdpbjMyIHdpbGwg
dGhpbmsgdGhlIHNjcmlwdCBpcyBhIGJpbmFyeSBpZiBpdCBoYXMKCSMgYSAu
ZXhlIHN1ZmZpeCwgc28gd2Ugc3RyaXAgaXQgb2ZmIGhlcmUuCgljYXNlICRv
dXRwdXQgaW4KCSAgKi5leGUpIGZ1bmNfc3RyaXBuYW1lICcnICcuZXhlJyAi
JG91dHB1dCIKCSAgICAgICAgIG91dHB1dD0kZnVuY19zdHJpcG5hbWVfcmVz
dWx0IDs7Cgllc2FjCgkjIHRlc3QgZm9yIGN5Z3dpbiBiZWNhdXNlIG12IGZh
aWxzIHcvbyAuZXhlIGV4dGVuc2lvbnMKCWNhc2UgJGhvc3QgaW4KCSAgKmN5
Z3dpbiopCgkgICAgZXhlZXh0PS5leGUKCSAgICBmdW5jX3N0cmlwbmFtZSAn
JyAnLmV4ZScgIiRvdXRwdXRuYW1lIgoJICAgIG91dHB1dG5hbWU9JGZ1bmNf
c3RyaXBuYW1lX3Jlc3VsdCA7OwoJICAqKSBleGVleHQ9IDs7Cgllc2FjCglj
YXNlICRob3N0IGluCgkgICpjeWd3aW4qIHwgKm1pbmd3KiApCgkgICAgZnVu
Y19kaXJuYW1lX2FuZF9iYXNlbmFtZSAiJG91dHB1dCIgIiIgIi4iCgkgICAg
b3V0cHV0X25hbWU9JGZ1bmNfYmFzZW5hbWVfcmVzdWx0CgkgICAgb3V0cHV0
X3BhdGg9JGZ1bmNfZGlybmFtZV9yZXN1bHQKCSAgICBjd3JhcHBlcnNvdXJj
ZT0iJG91dHB1dF9wYXRoLyRvYmpkaXIvbHQtJG91dHB1dF9uYW1lLmMiCgkg
ICAgY3dyYXBwZXI9IiRvdXRwdXRfcGF0aC8kb3V0cHV0X25hbWUuZXhlIgoJ
ICAgICRSTSAkY3dyYXBwZXJzb3VyY2UgJGN3cmFwcGVyCgkgICAgdHJhcCAi
JFJNICRjd3JhcHBlcnNvdXJjZSAkY3dyYXBwZXI7IGV4aXQgJEVYSVRfRkFJ
TFVSRSIgMSAyIDE1CgoJICAgIGZ1bmNfZW1pdF9jd3JhcHBlcmV4ZV9zcmMg
PiAkY3dyYXBwZXJzb3VyY2UKCgkgICAgIyBUaGUgd3JhcHBlciBleGVjdXRh
YmxlIGlzIGJ1aWx0IHVzaW5nIHRoZSAkaG9zdCBjb21waWxlciwKCSAgICAj
IGJlY2F1c2UgaXQgY29udGFpbnMgJGhvc3QgcGF0aHMgYW5kIGZpbGVzLiBJ
ZiBjcm9zcy0KCSAgICAjIGNvbXBpbGluZywgaXQsIGxpa2UgdGhlIHRhcmdl
dCBleGVjdXRhYmxlLCBtdXN0IGJlCgkgICAgIyBleGVjdXRlZCBvbiB0aGUg
JGhvc3Qgb3IgdW5kZXIgYW4gZW11bGF0aW9uIGVudmlyb25tZW50LgoJICAg
ICRvcHRfZHJ5X3J1biB8fCB7CgkgICAgICAkTFRDQyAkTFRDRkxBR1MgLW8g
JGN3cmFwcGVyICRjd3JhcHBlcnNvdXJjZQoJICAgICAgJFNUUklQICRjd3Jh
cHBlcgoJICAgIH0KCgkgICAgIyBOb3csIGNyZWF0ZSB0aGUgd3JhcHBlciBz
Y3JpcHQgZm9yIGZ1bmNfc291cmNlIHVzZToKCSAgICBmdW5jX2x0d3JhcHBl
cl9zY3JpcHRuYW1lICRjd3JhcHBlcgoJICAgICRSTSAkZnVuY19sdHdyYXBw
ZXJfc2NyaXB0bmFtZV9yZXN1bHQKCSAgICB0cmFwICIkUk0gJGZ1bmNfbHR3
cmFwcGVyX3NjcmlwdG5hbWVfcmVzdWx0OyBleGl0ICRFWElUX0ZBSUxVUkUi
IDEgMiAxNQoJICAgICRvcHRfZHJ5X3J1biB8fCB7CgkgICAgICAjIG5vdGU6
IHRoaXMgc2NyaXB0IHdpbGwgbm90IGJlIGV4ZWN1dGVkLCBzbyBkbyBub3Qg
Y2htb2QuCgkgICAgICBpZiB0ZXN0ICJ4JGJ1aWxkIiA9ICJ4JGhvc3QiIDsg
dGhlbgoJCSRjd3JhcHBlciAtLWx0LWR1bXAtc2NyaXB0ID4gJGZ1bmNfbHR3
cmFwcGVyX3NjcmlwdG5hbWVfcmVzdWx0CgkgICAgICBlbHNlCgkJZnVuY19l
bWl0X3dyYXBwZXIgbm8gPiAkZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZV9y
ZXN1bHQKCSAgICAgIGZpCgkgICAgfQoJICA7OwoJICAqICkKCSAgICAkUk0g
JG91dHB1dAoJICAgIHRyYXAgIiRSTSAkb3V0cHV0OyBleGl0ICRFWElUX0ZB
SUxVUkUiIDEgMiAxNQoKCSAgICBmdW5jX2VtaXRfd3JhcHBlciBubyA+ICRv
dXRwdXQKCSAgICBjaG1vZCAreCAkb3V0cHV0CgkgIDs7Cgllc2FjCiAgICAg
IH0KICAgICAgZXhpdCAkRVhJVF9TVUNDRVNTCiAgICAgIDs7CiAgICBlc2Fj
CgogICAgIyBTZWUgaWYgd2UgbmVlZCB0byBidWlsZCBhbiBvbGQtZmFzaGlv
bmVkIGFyY2hpdmUuCiAgICBmb3Igb2xkbGliIGluICRvbGRsaWJzOyBkbwoK
ICAgICAgaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSBjb252ZW5p
ZW5jZTsgdGhlbgoJb2xkb2Jqcz0iJGxpYm9ianNfc2F2ZSAkc3ltZmlsZW9i
aiIKCWFkZGxpYnM9IiRjb252ZW5pZW5jZSIKCWJ1aWxkX2xpYnRvb2xfbGli
cz1ubwogICAgICBlbHNlCglpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJz
IiA9IG1vZHVsZTsgdGhlbgoJICBvbGRvYmpzPSIkbGlib2Jqc19zYXZlIgoJ
ICBidWlsZF9saWJ0b29sX2xpYnM9bm8KCWVsc2UKCSAgb2xkb2Jqcz0iJG9s
ZF9kZXBsaWJzICRub25fcGljX29iamVjdHMiCgkgIGlmIHRlc3QgIiRwcmVs
b2FkIiA9IHllcyAmJiB0ZXN0IC1mICIkc3ltZmlsZW9iaiI7IHRoZW4KCSAg
ICBvbGRvYmpzKz0iICRzeW1maWxlb2JqIgoJICBmaQoJZmkKCWFkZGxpYnM9
IiRvbGRfY29udmVuaWVuY2UiCiAgICAgIGZpCgogICAgICBpZiB0ZXN0IC1u
ICIkYWRkbGlicyI7IHRoZW4KCWdlbnRvcD0iJG91dHB1dF9vYmpkaXIvJHtv
dXRwdXRuYW1lfXgiCglnZW5lcmF0ZWQrPSIgJGdlbnRvcCIKCglmdW5jX2V4
dHJhY3RfYXJjaGl2ZXMgJGdlbnRvcCAkYWRkbGlicwoJb2xkb2Jqcys9IiAk
ZnVuY19leHRyYWN0X2FyY2hpdmVzX3Jlc3VsdCIKICAgICAgZmkKCiAgICAg
ICMgRG8gZWFjaCBjb21tYW5kIGluIHRoZSBhcmNoaXZlIGNvbW1hbmRzLgog
ICAgICBpZiB0ZXN0IC1uICIkb2xkX2FyY2hpdmVfZnJvbV9uZXdfY21kcyIg
JiYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXM7IHRoZW4KCWNt
ZHM9JG9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHMKICAgICAgZWxzZQoKCSMg
QWRkIGFueSBvYmplY3RzIGZyb20gcHJlbG9hZGVkIGNvbnZlbmllbmNlIGxp
YnJhcmllcwoJaWYgdGVzdCAtbiAiJGRscHJlZmlsZXMiOyB0aGVuCgkgIGdl
bnRvcD0iJG91dHB1dF9vYmpkaXIvJHtvdXRwdXRuYW1lfXgiCgkgIGdlbmVy
YXRlZCs9IiAkZ2VudG9wIgoKCSAgZnVuY19leHRyYWN0X2FyY2hpdmVzICRn
ZW50b3AgJGRscHJlZmlsZXMKCSAgb2xkb2Jqcys9IiAkZnVuY19leHRyYWN0
X2FyY2hpdmVzX3Jlc3VsdCIKCWZpCgoJIyBQT1NJWCBkZW1hbmRzIG5vIHBh
dGhzIHRvIGJlIGVuY29kZWQgaW4gYXJjaGl2ZXMuICBXZSBoYXZlCgkjIHRv
IGF2b2lkIGNyZWF0aW5nIGFyY2hpdmVzIHdpdGggZHVwbGljYXRlIGJhc2Vu
YW1lcyBpZiB3ZQoJIyBtaWdodCBoYXZlIHRvIGV4dHJhY3QgdGhlbSBhZnRl
cndhcmRzLCBlLmcuLCB3aGVuIGNyZWF0aW5nIGEKCSMgc3RhdGljIGFyY2hp
dmUgb3V0IG9mIGEgY29udmVuaWVuY2UgbGlicmFyeSwgb3Igd2hlbiBsaW5r
aW5nCgkjIHRoZSBlbnRpcmV0eSBvZiBhIGxpYnRvb2wgYXJjaGl2ZSBpbnRv
IGFub3RoZXIgKGN1cnJlbnRseQoJIyBub3Qgc3VwcG9ydGVkIGJ5IGxpYnRv
b2wpLgoJaWYgKGZvciBvYmogaW4gJG9sZG9ianMKCSAgICBkbwoJICAgICAg
ZnVuY19iYXNlbmFtZSAiJG9iaiIKCSAgICAgICRFQ0hPICIkZnVuY19iYXNl
bmFtZV9yZXN1bHQiCgkgICAgZG9uZSB8IHNvcnQgfCBzb3J0IC11YyA+L2Rl
di9udWxsIDI+JjEpOyB0aGVuCgkgIDoKCWVsc2UKCSAgZWNobyAiY29weWlu
ZyBzZWxlY3RlZCBvYmplY3QgZmlsZXMgdG8gYXZvaWQgYmFzZW5hbWUgY29u
ZmxpY3RzLi4uIgoJICBnZW50b3A9IiRvdXRwdXRfb2JqZGlyLyR7b3V0cHV0
bmFtZX14IgoJICBnZW5lcmF0ZWQrPSIgJGdlbnRvcCIKCSAgZnVuY19ta2Rp
cl9wICIkZ2VudG9wIgoJICBzYXZlX29sZG9ianM9JG9sZG9ianMKCSAgb2xk
b2Jqcz0KCSAgY291bnRlcj0xCgkgIGZvciBvYmogaW4gJHNhdmVfb2xkb2Jq
cwoJICBkbwoJICAgIGZ1bmNfYmFzZW5hbWUgIiRvYmoiCgkgICAgb2JqYmFz
ZT0iJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgoJICAgIGNhc2UgIiAkb2xkb2Jq
cyAiIGluCgkgICAgIiAiKSBvbGRvYmpzPSRvYmogOzsKCSAgICAqW1wgL10i
JG9iamJhc2UgIiopCgkgICAgICB3aGlsZSA6OyBkbwoJCSMgTWFrZSBzdXJl
IHdlIGRvbid0IHBpY2sgYW4gYWx0ZXJuYXRlIG5hbWUgdGhhdCBhbHNvCgkJ
IyBvdmVybGFwcy4KCQluZXdvYmo9bHQkY291bnRlci0kb2JqYmFzZQoJCWZ1
bmNfYXJpdGggJGNvdW50ZXIgKyAxCgkJY291bnRlcj0kZnVuY19hcml0aF9y
ZXN1bHQKCQljYXNlICIgJG9sZG9ianMgIiBpbgoJCSpbXCAvXSIkbmV3b2Jq
ICIqKSA7OwoJCSopIGlmIHRlc3QgISAtZiAiJGdlbnRvcC8kbmV3b2JqIjsg
dGhlbiBicmVhazsgZmkgOzsKCQllc2FjCgkgICAgICBkb25lCgkgICAgICBm
dW5jX3Nob3dfZXZhbCAibG4gJG9iaiAkZ2VudG9wLyRuZXdvYmogfHwgY3Ag
JG9iaiAkZ2VudG9wLyRuZXdvYmoiCgkgICAgICBvbGRvYmpzKz0iICRnZW50
b3AvJG5ld29iaiIKCSAgICAgIDs7CgkgICAgKikgb2xkb2Jqcys9IiAkb2Jq
IiA7OwoJICAgIGVzYWMKCSAgZG9uZQoJZmkKCWZ1bmNfdG9fdG9vbF9maWxl
ICIkb2xkbGliIiBmdW5jX2NvbnZlcnRfZmlsZV9tc3lzX3RvX3czMgoJdG9v
bF9vbGRsaWI9JGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3VsdAoJZXZhbCBjbWRz
PVwiJG9sZF9hcmNoaXZlX2NtZHNcIgoKCWZ1bmNfbGVuICIgJGNtZHMiCgls
ZW49JGZ1bmNfbGVuX3Jlc3VsdAoJaWYgdGVzdCAiJGxlbiIgLWx0ICIkbWF4
X2NtZF9sZW4iIHx8IHRlc3QgIiRtYXhfY21kX2xlbiIgLWxlIC0xOyB0aGVu
CgkgIGNtZHM9JG9sZF9hcmNoaXZlX2NtZHMKCWVsaWYgdGVzdCAtbiAiJGFy
Y2hpdmVyX2xpc3Rfc3BlYyI7IHRoZW4KCSAgZnVuY192ZXJib3NlICJ1c2lu
ZyBjb21tYW5kIGZpbGUgYXJjaGl2ZSBsaW5raW5nLi4uIgoJICBmb3Igb2Jq
IGluICRvbGRvYmpzCgkgIGRvCgkgICAgZnVuY190b190b29sX2ZpbGUgIiRv
YmoiCgkgICAgJEVDSE8gIiRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQiCgkg
IGRvbmUgPiAkb3V0cHV0X29iamRpci8kbGlibmFtZS5saWJjbWQKCSAgZnVu
Y190b190b29sX2ZpbGUgIiRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLmxpYmNt
ZCIKCSAgb2xkb2Jqcz0iICRhcmNoaXZlcl9saXN0X3NwZWMkZnVuY190b190
b29sX2ZpbGVfcmVzdWx0IgoJICBjbWRzPSRvbGRfYXJjaGl2ZV9jbWRzCgll
bHNlCgkgICMgdGhlIGNvbW1hbmQgbGluZSBpcyB0b28gbG9uZyB0byBsaW5r
IGluIG9uZSBzdGVwLCBsaW5rIGluIHBhcnRzCgkgIGZ1bmNfdmVyYm9zZSAi
dXNpbmcgcGllY2V3aXNlIGFyY2hpdmUgbGlua2luZy4uLiIKCSAgc2F2ZV9S
QU5MSUI9JFJBTkxJQgoJICBSQU5MSUI9OgoJICBvYmpsaXN0PQoJICBjb25j
YXRfY21kcz0KCSAgc2F2ZV9vbGRvYmpzPSRvbGRvYmpzCgkgIG9sZG9ianM9
CgkgICMgSXMgdGhlcmUgYSBiZXR0ZXIgd2F5IG9mIGZpbmRpbmcgdGhlIGxh
c3Qgb2JqZWN0IGluIHRoZSBsaXN0PwoJICBmb3Igb2JqIGluICRzYXZlX29s
ZG9ianMKCSAgZG8KCSAgICBsYXN0X29sZG9iaj0kb2JqCgkgIGRvbmUKCSAg
ZXZhbCB0ZXN0X2NtZHM9XCIkb2xkX2FyY2hpdmVfY21kc1wiCgkgIGZ1bmNf
bGVuICIgJHRlc3RfY21kcyIKCSAgbGVuMD0kZnVuY19sZW5fcmVzdWx0Cgkg
IGxlbj0kbGVuMAoJICBmb3Igb2JqIGluICRzYXZlX29sZG9ianMKCSAgZG8K
CSAgICBmdW5jX2xlbiAiICRvYmoiCgkgICAgZnVuY19hcml0aCAkbGVuICsg
JGZ1bmNfbGVuX3Jlc3VsdAoJICAgIGxlbj0kZnVuY19hcml0aF9yZXN1bHQK
CSAgICBvYmpsaXN0Kz0iICRvYmoiCgkgICAgaWYgdGVzdCAiJGxlbiIgLWx0
ICIkbWF4X2NtZF9sZW4iOyB0aGVuCgkgICAgICA6CgkgICAgZWxzZQoJICAg
ICAgIyB0aGUgYWJvdmUgY29tbWFuZCBzaG91bGQgYmUgdXNlZCBiZWZvcmUg
aXQgZ2V0cyB0b28gbG9uZwoJICAgICAgb2xkb2Jqcz0kb2JqbGlzdAoJICAg
ICAgaWYgdGVzdCAiJG9iaiIgPSAiJGxhc3Rfb2xkb2JqIiA7IHRoZW4KCQlS
QU5MSUI9JHNhdmVfUkFOTElCCgkgICAgICBmaQoJICAgICAgdGVzdCAteiAi
JGNvbmNhdF9jbWRzIiB8fCBjb25jYXRfY21kcz0kY29uY2F0X2NtZHN+Cgkg
ICAgICBldmFsIGNvbmNhdF9jbWRzPVwiXCR7Y29uY2F0X2NtZHN9JG9sZF9h
cmNoaXZlX2NtZHNcIgoJICAgICAgb2JqbGlzdD0KCSAgICAgIGxlbj0kbGVu
MAoJICAgIGZpCgkgIGRvbmUKCSAgUkFOTElCPSRzYXZlX1JBTkxJQgoJICBv
bGRvYmpzPSRvYmpsaXN0CgkgIGlmIHRlc3QgIlgkb2xkb2JqcyIgPSAiWCIg
OyB0aGVuCgkgICAgZXZhbCBjbWRzPVwiXCRjb25jYXRfY21kc1wiCgkgIGVs
c2UKCSAgICBldmFsIGNtZHM9XCJcJGNvbmNhdF9jbWRzflwkb2xkX2FyY2hp
dmVfY21kc1wiCgkgIGZpCglmaQogICAgICBmaQogICAgICBmdW5jX2V4ZWN1
dGVfY21kcyAiJGNtZHMiICdleGl0ICQ/JwogICAgZG9uZQoKICAgIHRlc3Qg
LW4gIiRnZW5lcmF0ZWQiICYmIFwKICAgICAgZnVuY19zaG93X2V2YWwgIiR7
Uk19ciRnZW5lcmF0ZWQiCgogICAgIyBOb3cgY3JlYXRlIHRoZSBsaWJ0b29s
IGFyY2hpdmUuCiAgICBjYXNlICRvdXRwdXQgaW4KICAgICoubGEpCiAgICAg
IG9sZF9saWJyYXJ5PQogICAgICB0ZXN0ICIkYnVpbGRfb2xkX2xpYnMiID0g
eWVzICYmIG9sZF9saWJyYXJ5PSIkbGlibmFtZS4kbGliZXh0IgogICAgICBm
dW5jX3ZlcmJvc2UgImNyZWF0aW5nICRvdXRwdXQiCgogICAgICAjIFByZXNl
cnZlIGFueSB2YXJpYWJsZXMgdGhhdCBtYXkgYWZmZWN0IGNvbXBpbGVyIGJl
aGF2aW9yCiAgICAgIGZvciB2YXIgaW4gJHZhcmlhYmxlc19zYXZlZF9mb3Jf
cmVsaW5rOyBkbwoJaWYgZXZhbCB0ZXN0IC16IFwiXCR7JHZhcitzZXR9XCI7
IHRoZW4KCSAgcmVsaW5rX2NvbW1hbmQ9InsgdGVzdCAteiBcIlwkeyR2YXIr
c2V0fVwiIHx8ICRsdF91bnNldCAkdmFyIHx8IHsgJHZhcj07IGV4cG9ydCAk
dmFyOyB9OyB9OyAkcmVsaW5rX2NvbW1hbmQiCgllbGlmIGV2YWwgdmFyX3Zh
bHVlPVwkJHZhcjsgdGVzdCAteiAiJHZhcl92YWx1ZSI7IHRoZW4KCSAgcmVs
aW5rX2NvbW1hbmQ9IiR2YXI9OyBleHBvcnQgJHZhcjsgJHJlbGlua19jb21t
YW5kIgoJZWxzZQoJICBmdW5jX3F1b3RlX2Zvcl9ldmFsICIkdmFyX3ZhbHVl
IgoJICByZWxpbmtfY29tbWFuZD0iJHZhcj0kZnVuY19xdW90ZV9mb3JfZXZh
bF9yZXN1bHQ7IGV4cG9ydCAkdmFyOyAkcmVsaW5rX2NvbW1hbmQiCglmaQog
ICAgICBkb25lCiAgICAgICMgUXVvdGUgdGhlIGxpbmsgY29tbWFuZCBmb3Ig
c2hpcHBpbmcuCiAgICAgIHJlbGlua19jb21tYW5kPSIoY2QgYHB3ZGA7ICRT
SEVMTCAkcHJvZ3BhdGggJHByZXNlcnZlX2FyZ3MgLS1tb2RlPXJlbGluayAk
bGlidG9vbF9hcmdzIEBpbnN0X3ByZWZpeF9kaXJAKSIKICAgICAgcmVsaW5r
X2NvbW1hbmQ9YCRFQ0hPICIkcmVsaW5rX2NvbW1hbmQiIHwgJFNFRCAiJHNl
ZF9xdW90ZV9zdWJzdCJgCiAgICAgIGlmIHRlc3QgIiRoYXJkY29kZV9hdXRv
bWF0aWMiID0geWVzIDsgdGhlbgoJcmVsaW5rX2NvbW1hbmQ9CiAgICAgIGZp
CgogICAgICAjIE9ubHkgY3JlYXRlIHRoZSBvdXRwdXQgaWYgbm90IGEgZHJ5
IHJ1bi4KICAgICAgJG9wdF9kcnlfcnVuIHx8IHsKCWZvciBpbnN0YWxsZWQg
aW4gbm8geWVzOyBkbwoJICBpZiB0ZXN0ICIkaW5zdGFsbGVkIiA9IHllczsg
dGhlbgoJICAgIGlmIHRlc3QgLXogIiRpbnN0YWxsX2xpYmRpciI7IHRoZW4K
CSAgICAgIGJyZWFrCgkgICAgZmkKCSAgICBvdXRwdXQ9IiRvdXRwdXRfb2Jq
ZGlyLyRvdXRwdXRuYW1lImkKCSAgICAjIFJlcGxhY2UgYWxsIHVuaW5zdGFs
bGVkIGxpYnRvb2wgbGlicmFyaWVzIHdpdGggdGhlIGluc3RhbGxlZCBvbmVz
CgkgICAgbmV3ZGVwZW5kZW5jeV9saWJzPQoJICAgIGZvciBkZXBsaWIgaW4g
JGRlcGVuZGVuY3lfbGliczsgZG8KCSAgICAgIGNhc2UgJGRlcGxpYiBpbgoJ
ICAgICAgKi5sYSkKCQlmdW5jX2Jhc2VuYW1lICIkZGVwbGliIgoJCW5hbWU9
IiRmdW5jX2Jhc2VuYW1lX3Jlc3VsdCIKCQlmdW5jX3Jlc29sdmVfc3lzcm9v
dCAiJGRlcGxpYiIKCQlldmFsIGxpYmRpcj1gJHtTRUR9IC1uIC1lICdzL15s
aWJkaXI9XCguKlwpJC9cMS9wJyAkZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVz
dWx0YAoJCXRlc3QgLXogIiRsaWJkaXIiICYmIFwKCQkgIGZ1bmNfZmF0YWxf
ZXJyb3IgIlxgJGRlcGxpYicgaXMgbm90IGEgdmFsaWQgbGlidG9vbCBhcmNo
aXZlIgoJCW5ld2RlcGVuZGVuY3lfbGlicys9IiAke2x0X3N5c3Jvb3Q6Kz19
JGxpYmRpci8kbmFtZSIKCQk7OwoJICAgICAgLUwqKQoJCWZ1bmNfc3RyaXBu
YW1lIC1MICcnICIkZGVwbGliIgoJCWZ1bmNfcmVwbGFjZV9zeXNyb290ICIk
ZnVuY19zdHJpcG5hbWVfcmVzdWx0IgoJCW5ld2RlcGVuZGVuY3lfbGlicys9
IiAtTCRmdW5jX3JlcGxhY2Vfc3lzcm9vdF9yZXN1bHQiCgkJOzsKCSAgICAg
IC1SKikKCQlmdW5jX3N0cmlwbmFtZSAtUiAnJyAiJGRlcGxpYiIKCQlmdW5j
X3JlcGxhY2Vfc3lzcm9vdCAiJGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdCIKCQlu
ZXdkZXBlbmRlbmN5X2xpYnMrPSIgLVIkZnVuY19yZXBsYWNlX3N5c3Jvb3Rf
cmVzdWx0IgoJCTs7CgkgICAgICAqKSBuZXdkZXBlbmRlbmN5X2xpYnMrPSIg
JGRlcGxpYiIgOzsKCSAgICAgIGVzYWMKCSAgICBkb25lCgkgICAgZGVwZW5k
ZW5jeV9saWJzPSIkbmV3ZGVwZW5kZW5jeV9saWJzIgoJICAgIG5ld2RsZmls
ZXM9CgoJICAgIGZvciBsaWIgaW4gJGRsZmlsZXM7IGRvCgkgICAgICBjYXNl
ICRsaWIgaW4KCSAgICAgICoubGEpCgkgICAgICAgIGZ1bmNfYmFzZW5hbWUg
IiRsaWIiCgkJbmFtZT0iJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgoJCWV2YWwg
bGliZGlyPWAke1NFRH0gLW4gLWUgJ3MvXmxpYmRpcj1cKC4qXCkkL1wxL3An
ICRsaWJgCgkJdGVzdCAteiAiJGxpYmRpciIgJiYgXAoJCSAgZnVuY19mYXRh
bF9lcnJvciAiXGAkbGliJyBpcyBub3QgYSB2YWxpZCBsaWJ0b29sIGFyY2hp
dmUiCgkJbmV3ZGxmaWxlcys9IiAke2x0X3N5c3Jvb3Q6Kz19JGxpYmRpci8k
bmFtZSIKCQk7OwoJICAgICAgKikgbmV3ZGxmaWxlcys9IiAkbGliIiA7OwoJ
ICAgICAgZXNhYwoJICAgIGRvbmUKCSAgICBkbGZpbGVzPSIkbmV3ZGxmaWxl
cyIKCSAgICBuZXdkbHByZWZpbGVzPQoJICAgIGZvciBsaWIgaW4gJGRscHJl
ZmlsZXM7IGRvCgkgICAgICBjYXNlICRsaWIgaW4KCSAgICAgICoubGEpCgkJ
IyBPbmx5IHBhc3MgcHJlb3BlbmVkIGZpbGVzIHRvIHRoZSBwc2V1ZG8tYXJj
aGl2ZSAoZm9yCgkJIyBldmVudHVhbCBsaW5raW5nIHdpdGggdGhlIGFwcC4g
dGhhdCBsaW5rcyBpdCkgaWYgd2UKCQkjIGRpZG4ndCBhbHJlYWR5IGxpbmsg
dGhlIHByZW9wZW5lZCBvYmplY3RzIGRpcmVjdGx5IGludG8KCQkjIHRoZSBs
aWJyYXJ5OgoJCWZ1bmNfYmFzZW5hbWUgIiRsaWIiCgkJbmFtZT0iJGZ1bmNf
YmFzZW5hbWVfcmVzdWx0IgoJCWV2YWwgbGliZGlyPWAke1NFRH0gLW4gLWUg
J3MvXmxpYmRpcj1cKC4qXCkkL1wxL3AnICRsaWJgCgkJdGVzdCAteiAiJGxp
YmRpciIgJiYgXAoJCSAgZnVuY19mYXRhbF9lcnJvciAiXGAkbGliJyBpcyBu
b3QgYSB2YWxpZCBsaWJ0b29sIGFyY2hpdmUiCgkJbmV3ZGxwcmVmaWxlcys9
IiAke2x0X3N5c3Jvb3Q6Kz19JGxpYmRpci8kbmFtZSIKCQk7OwoJICAgICAg
ZXNhYwoJICAgIGRvbmUKCSAgICBkbHByZWZpbGVzPSIkbmV3ZGxwcmVmaWxl
cyIKCSAgZWxzZQoJICAgIG5ld2RsZmlsZXM9CgkgICAgZm9yIGxpYiBpbiAk
ZGxmaWxlczsgZG8KCSAgICAgIGNhc2UgJGxpYiBpbgoJCVtcXC9dKiB8IFtB
LVphLXpdOltcXC9dKikgYWJzPSIkbGliIiA7OwoJCSopIGFicz1gcHdkYCIv
JGxpYiIgOzsKCSAgICAgIGVzYWMKCSAgICAgIG5ld2RsZmlsZXMrPSIgJGFi
cyIKCSAgICBkb25lCgkgICAgZGxmaWxlcz0iJG5ld2RsZmlsZXMiCgkgICAg
bmV3ZGxwcmVmaWxlcz0KCSAgICBmb3IgbGliIGluICRkbHByZWZpbGVzOyBk
bwoJICAgICAgY2FzZSAkbGliIGluCgkJW1xcL10qIHwgW0EtWmEtel06W1xc
L10qKSBhYnM9IiRsaWIiIDs7CgkJKikgYWJzPWBwd2RgIi8kbGliIiA7OwoJ
ICAgICAgZXNhYwoJICAgICAgbmV3ZGxwcmVmaWxlcys9IiAkYWJzIgoJICAg
IGRvbmUKCSAgICBkbHByZWZpbGVzPSIkbmV3ZGxwcmVmaWxlcyIKCSAgZmkK
CSAgJFJNICRvdXRwdXQKCSAgIyBwbGFjZSBkbG5hbWUgaW4gY29ycmVjdCBw
b3NpdGlvbiBmb3IgY3lnd2luCgkgICMgSW4gZmFjdCwgaXQgd291bGQgYmUg
bmljZSBpZiB3ZSBjb3VsZCB1c2UgdGhpcyBjb2RlIGZvciBhbGwgdGFyZ2V0
CgkgICMgc3lzdGVtcyB0aGF0IGNhbid0IGhhcmQtY29kZSBsaWJyYXJ5IHBh
dGhzIGludG8gdGhlaXIgZXhlY3V0YWJsZXMKCSAgIyBhbmQgdGhhdCBoYXZl
IG5vIHNoYXJlZCBsaWJyYXJ5IHBhdGggdmFyaWFibGUgaW5kZXBlbmRlbnQg
b2YgUEFUSCwKCSAgIyBidXQgaXQgdHVybnMgb3V0IHdlIGNhbid0IGVhc2ls
eSBkZXRlcm1pbmUgdGhhdCBmcm9tIGluc3BlY3RpbmcKCSAgIyBsaWJ0b29s
IHZhcmlhYmxlcywgc28gd2UgaGF2ZSB0byBoYXJkLWNvZGUgdGhlIE9TcyB0
byB3aGljaCBpdAoJICAjIGFwcGxpZXMgaGVyZTsgYXQgdGhlIG1vbWVudCwg
dGhhdCBtZWFucyBwbGF0Zm9ybXMgdGhhdCB1c2UgdGhlIFBFCgkgICMgb2Jq
ZWN0IGZvcm1hdCB3aXRoIERMTCBmaWxlcy4gIFNlZSB0aGUgbG9uZyBjb21t
ZW50IGF0IHRoZSB0b3Agb2YKCSAgIyB0ZXN0cy9iaW5kaXIuYXQgZm9yIGZ1
bGwgZGV0YWlscy4KCSAgdGRsbmFtZT0kZGxuYW1lCgkgIGNhc2UgJGhvc3Qs
JG91dHB1dCwkaW5zdGFsbGVkLCRtb2R1bGUsJGRsbmFtZSBpbgoJICAgICpj
eWd3aW4qLCpsYWkseWVzLG5vLCouZGxsIHwgKm1pbmd3KiwqbGFpLHllcyxu
bywqLmRsbCB8ICpjZWdjYyosKmxhaSx5ZXMsbm8sKi5kbGwpCgkgICAgICAj
IElmIGEgLWJpbmRpciBhcmd1bWVudCB3YXMgc3VwcGxpZWQsIHBsYWNlIHRo
ZSBkbGwgdGhlcmUuCgkgICAgICBpZiB0ZXN0ICJ4JGJpbmRpciIgIT0geCA7
CgkgICAgICB0aGVuCgkJZnVuY19yZWxhdGl2ZV9wYXRoICIkaW5zdGFsbF9s
aWJkaXIiICIkYmluZGlyIgoJCXRkbG5hbWU9JGZ1bmNfcmVsYXRpdmVfcGF0
aF9yZXN1bHQkZGxuYW1lCgkgICAgICBlbHNlCgkJIyBPdGhlcndpc2UgZmFs
bCBiYWNrIG9uIGhldXJpc3RpYy4KCQl0ZGxuYW1lPS4uL2Jpbi8kZGxuYW1l
CgkgICAgICBmaQoJICAgICAgOzsKCSAgZXNhYwoJICAkRUNITyA+ICRvdXRw
dXQgIlwKIyAkb3V0cHV0bmFtZSAtIGEgbGlidG9vbCBsaWJyYXJ5IGZpbGUK
IyBHZW5lcmF0ZWQgYnkgJFBST0dSQU0gKEdOVSAkUEFDS0FHRSRUSU1FU1RB
TVApICRWRVJTSU9OCiMKIyBQbGVhc2UgRE8gTk9UIGRlbGV0ZSB0aGlzIGZp
bGUhCiMgSXQgaXMgbmVjZXNzYXJ5IGZvciBsaW5raW5nIHRoZSBsaWJyYXJ5
LgoKIyBUaGUgbmFtZSB0aGF0IHdlIGNhbiBkbG9wZW4oMykuCmRsbmFtZT0n
JHRkbG5hbWUnCgojIE5hbWVzIG9mIHRoaXMgbGlicmFyeS4KbGlicmFyeV9u
YW1lcz0nJGxpYnJhcnlfbmFtZXMnCgojIFRoZSBuYW1lIG9mIHRoZSBzdGF0
aWMgYXJjaGl2ZS4Kb2xkX2xpYnJhcnk9JyRvbGRfbGlicmFyeScKCiMgTGlu
a2VyIGZsYWdzIHRoYXQgY2FuIG5vdCBnbyBpbiBkZXBlbmRlbmN5X2xpYnMu
CmluaGVyaXRlZF9saW5rZXJfZmxhZ3M9JyRuZXdfaW5oZXJpdGVkX2xpbmtl
cl9mbGFncycKCiMgTGlicmFyaWVzIHRoYXQgdGhpcyBvbmUgZGVwZW5kcyB1
cG9uLgpkZXBlbmRlbmN5X2xpYnM9JyRkZXBlbmRlbmN5X2xpYnMnCgojIE5h
bWVzIG9mIGFkZGl0aW9uYWwgd2VhayBsaWJyYXJpZXMgcHJvdmlkZWQgYnkg
dGhpcyBsaWJyYXJ5CndlYWtfbGlicmFyeV9uYW1lcz0nJHdlYWtfbGlicycK
CiMgVmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgJGxpYm5hbWUuCmN1cnJlbnQ9
JGN1cnJlbnQKYWdlPSRhZ2UKcmV2aXNpb249JHJldmlzaW9uCgojIElzIHRo
aXMgYW4gYWxyZWFkeSBpbnN0YWxsZWQgbGlicmFyeT8KaW5zdGFsbGVkPSRp
bnN0YWxsZWQKCiMgU2hvdWxkIHdlIHdhcm4gYWJvdXQgcG9ydGFiaWxpdHkg
d2hlbiBsaW5raW5nIGFnYWluc3QgLW1vZHVsZXM/CnNob3VsZG5vdGxpbms9
JG1vZHVsZQoKIyBGaWxlcyB0byBkbG9wZW4vZGxwcmVvcGVuCmRsb3Blbj0n
JGRsZmlsZXMnCmRscHJlb3Blbj0nJGRscHJlZmlsZXMnCgojIERpcmVjdG9y
eSB0aGF0IHRoaXMgbGlicmFyeSBuZWVkcyB0byBiZSBpbnN0YWxsZWQgaW46
CmxpYmRpcj0nJGluc3RhbGxfbGliZGlyJyIKCSAgaWYgdGVzdCAiJGluc3Rh
bGxlZCIgPSBubyAmJiB0ZXN0ICIkbmVlZF9yZWxpbmsiID0geWVzOyB0aGVu
CgkgICAgJEVDSE8gPj4gJG91dHB1dCAiXApyZWxpbmtfY29tbWFuZD1cIiRy
ZWxpbmtfY29tbWFuZFwiIgoJICBmaQoJZG9uZQogICAgICB9CgogICAgICAj
IERvIGEgc3ltYm9saWMgbGluayBzbyB0aGF0IHRoZSBsaWJ0b29sIGFyY2hp
dmUgY2FuIGJlIGZvdW5kIGluCiAgICAgICMgTERfTElCUkFSWV9QQVRIIGJl
Zm9yZSB0aGUgcHJvZ3JhbSBpcyBpbnN0YWxsZWQuCiAgICAgIGZ1bmNfc2hv
d19ldmFsICcoIGNkICIkb3V0cHV0X29iamRpciIgJiYgJFJNICIkb3V0cHV0
bmFtZSIgJiYgJExOX1MgIi4uLyRvdXRwdXRuYW1lIiAiJG91dHB1dG5hbWUi
ICknICdleGl0ICQ/JwogICAgICA7OwogICAgZXNhYwogICAgZXhpdCAkRVhJ
VF9TVUNDRVNTCn0KCnsgdGVzdCAiJG9wdF9tb2RlIiA9IGxpbmsgfHwgdGVz
dCAiJG9wdF9tb2RlIiA9IHJlbGluazsgfSAmJgogICAgZnVuY19tb2RlX2xp
bmsgJHsxKyIkQCJ9CgoKIyBmdW5jX21vZGVfdW5pbnN0YWxsIGFyZy4uLgpm
dW5jX21vZGVfdW5pbnN0YWxsICgpCnsKICAgICRvcHRfZGVidWcKICAgIFJN
PSIkbm9ub3B0IgogICAgZmlsZXM9CiAgICBybWZvcmNlPQogICAgZXhpdF9z
dGF0dXM9MAoKICAgICMgVGhpcyB2YXJpYWJsZSB0ZWxscyB3cmFwcGVyIHNj
cmlwdHMganVzdCB0byBzZXQgdmFyaWFibGVzIHJhdGhlcgogICAgIyB0aGFu
IHJ1bm5pbmcgdGhlaXIgcHJvZ3JhbXMuCiAgICBsaWJ0b29sX2luc3RhbGxf
bWFnaWM9IiRtYWdpYyIKCiAgICBmb3IgYXJnCiAgICBkbwogICAgICBjYXNl
ICRhcmcgaW4KICAgICAgLWYpIFJNKz0iICRhcmciOyBybWZvcmNlPXllcyA7
OwogICAgICAtKikgUk0rPSIgJGFyZyIgOzsKICAgICAgKikgZmlsZXMrPSIg
JGFyZyIgOzsKICAgICAgZXNhYwogICAgZG9uZQoKICAgIHRlc3QgLXogIiRS
TSIgJiYgXAogICAgICBmdW5jX2ZhdGFsX2hlbHAgInlvdSBtdXN0IHNwZWNp
ZnkgYW4gUk0gcHJvZ3JhbSIKCiAgICBybWRpcnM9CgogICAgZm9yIGZpbGUg
aW4gJGZpbGVzOyBkbwogICAgICBmdW5jX2Rpcm5hbWUgIiRmaWxlIiAiIiAi
LiIKICAgICAgZGlyPSIkZnVuY19kaXJuYW1lX3Jlc3VsdCIKICAgICAgaWYg
dGVzdCAiWCRkaXIiID0gWC47IHRoZW4KCW9kaXI9IiRvYmpkaXIiCiAgICAg
IGVsc2UKCW9kaXI9IiRkaXIvJG9iamRpciIKICAgICAgZmkKICAgICAgZnVu
Y19iYXNlbmFtZSAiJGZpbGUiCiAgICAgIG5hbWU9IiRmdW5jX2Jhc2VuYW1l
X3Jlc3VsdCIKICAgICAgdGVzdCAiJG9wdF9tb2RlIiA9IHVuaW5zdGFsbCAm
JiBvZGlyPSIkZGlyIgoKICAgICAgIyBSZW1lbWJlciBvZGlyIGZvciByZW1v
dmFsIGxhdGVyLCBiZWluZyBjYXJlZnVsIHRvIGF2b2lkIGR1cGxpY2F0ZXMK
ICAgICAgaWYgdGVzdCAiJG9wdF9tb2RlIiA9IGNsZWFuOyB0aGVuCgljYXNl
ICIgJHJtZGlycyAiIGluCgkgICoiICRvZGlyICIqKSA7OwoJICAqKSBybWRp
cnMrPSIgJG9kaXIiIDs7Cgllc2FjCiAgICAgIGZpCgogICAgICAjIERvbid0
IGVycm9yIGlmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QgYW5kIHJtIC1mIHdh
cyB1c2VkLgogICAgICBpZiB7IHRlc3QgLUwgIiRmaWxlIjsgfSA+L2Rldi9u
dWxsIDI+JjEgfHwKCSB7IHRlc3QgLWggIiRmaWxlIjsgfSA+L2Rldi9udWxs
IDI+JjEgfHwKCSB0ZXN0IC1mICIkZmlsZSI7IHRoZW4KCToKICAgICAgZWxp
ZiB0ZXN0IC1kICIkZmlsZSI7IHRoZW4KCWV4aXRfc3RhdHVzPTEKCWNvbnRp
bnVlCiAgICAgIGVsaWYgdGVzdCAiJHJtZm9yY2UiID0geWVzOyB0aGVuCglj
b250aW51ZQogICAgICBmaQoKICAgICAgcm1maWxlcz0iJGZpbGUiCgogICAg
ICBjYXNlICRuYW1lIGluCiAgICAgICoubGEpCgkjIFBvc3NpYmx5IGEgbGli
dG9vbCBhcmNoaXZlLCBzbyB2ZXJpZnkgaXQuCglpZiBmdW5jX2xhbGliX3Ag
IiRmaWxlIjsgdGhlbgoJICBmdW5jX3NvdXJjZSAkZGlyLyRuYW1lCgoJICAj
IERlbGV0ZSB0aGUgbGlidG9vbCBsaWJyYXJpZXMgYW5kIHN5bWxpbmtzLgoJ
ICBmb3IgbiBpbiAkbGlicmFyeV9uYW1lczsgZG8KCSAgICBybWZpbGVzKz0i
ICRvZGlyLyRuIgoJICBkb25lCgkgIHRlc3QgLW4gIiRvbGRfbGlicmFyeSIg
JiYgcm1maWxlcys9IiAkb2Rpci8kb2xkX2xpYnJhcnkiCgoJICBjYXNlICIk
b3B0X21vZGUiIGluCgkgIGNsZWFuKQoJICAgIGNhc2UgIiAkbGlicmFyeV9u
YW1lcyAiIGluCgkgICAgKiIgJGRsbmFtZSAiKikgOzsKCSAgICAqKSB0ZXN0
IC1uICIkZGxuYW1lIiAmJiBybWZpbGVzKz0iICRvZGlyLyRkbG5hbWUiIDs7
CgkgICAgZXNhYwoJICAgIHRlc3QgLW4gIiRsaWJkaXIiICYmIHJtZmlsZXMr
PSIgJG9kaXIvJG5hbWUgJG9kaXIvJHtuYW1lfWkiCgkgICAgOzsKCSAgdW5p
bnN0YWxsKQoJICAgIGlmIHRlc3QgLW4gIiRsaWJyYXJ5X25hbWVzIjsgdGhl
bgoJICAgICAgIyBEbyBlYWNoIGNvbW1hbmQgaW4gdGhlIHBvc3R1bmluc3Rh
bGwgY29tbWFuZHMuCgkgICAgICBmdW5jX2V4ZWN1dGVfY21kcyAiJHBvc3R1
bmluc3RhbGxfY21kcyIgJ3Rlc3QgIiRybWZvcmNlIiA9IHllcyB8fCBleGl0
X3N0YXR1cz0xJwoJICAgIGZpCgoJICAgIGlmIHRlc3QgLW4gIiRvbGRfbGli
cmFyeSI7IHRoZW4KCSAgICAgICMgRG8gZWFjaCBjb21tYW5kIGluIHRoZSBv
bGRfcG9zdHVuaW5zdGFsbCBjb21tYW5kcy4KCSAgICAgIGZ1bmNfZXhlY3V0
ZV9jbWRzICIkb2xkX3Bvc3R1bmluc3RhbGxfY21kcyIgJ3Rlc3QgIiRybWZv
cmNlIiA9IHllcyB8fCBleGl0X3N0YXR1cz0xJwoJICAgIGZpCgkgICAgIyBG
SVhNRTogc2hvdWxkIHJlaW5zdGFsbCB0aGUgYmVzdCByZW1haW5pbmcgc2hh
cmVkIGxpYnJhcnkuCgkgICAgOzsKCSAgZXNhYwoJZmkKCTs7CgogICAgICAq
LmxvKQoJIyBQb3NzaWJseSBhIGxpYnRvb2wgb2JqZWN0LCBzbyB2ZXJpZnkg
aXQuCglpZiBmdW5jX2xhbGliX3AgIiRmaWxlIjsgdGhlbgoKCSAgIyBSZWFk
IHRoZSAubG8gZmlsZQoJICBmdW5jX3NvdXJjZSAkZGlyLyRuYW1lCgoJICAj
IEFkZCBQSUMgb2JqZWN0IHRvIHRoZSBsaXN0IG9mIGZpbGVzIHRvIHJlbW92
ZS4KCSAgaWYgdGVzdCAtbiAiJHBpY19vYmplY3QiICYmCgkgICAgIHRlc3Qg
IiRwaWNfb2JqZWN0IiAhPSBub25lOyB0aGVuCgkgICAgcm1maWxlcys9IiAk
ZGlyLyRwaWNfb2JqZWN0IgoJICBmaQoKCSAgIyBBZGQgbm9uLVBJQyBvYmpl
Y3QgdG8gdGhlIGxpc3Qgb2YgZmlsZXMgdG8gcmVtb3ZlLgoJICBpZiB0ZXN0
IC1uICIkbm9uX3BpY19vYmplY3QiICYmCgkgICAgIHRlc3QgIiRub25fcGlj
X29iamVjdCIgIT0gbm9uZTsgdGhlbgoJICAgIHJtZmlsZXMrPSIgJGRpci8k
bm9uX3BpY19vYmplY3QiCgkgIGZpCglmaQoJOzsKCiAgICAgICopCglpZiB0
ZXN0ICIkb3B0X21vZGUiID0gY2xlYW4gOyB0aGVuCgkgIG5vZXhlbmFtZT0k
bmFtZQoJICBjYXNlICRmaWxlIGluCgkgICouZXhlKQoJICAgIGZ1bmNfc3Ry
aXBuYW1lICcnICcuZXhlJyAiJGZpbGUiCgkgICAgZmlsZT0kZnVuY19zdHJp
cG5hbWVfcmVzdWx0CgkgICAgZnVuY19zdHJpcG5hbWUgJycgJy5leGUnICIk
bmFtZSIKCSAgICBub2V4ZW5hbWU9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAoJ
ICAgICMgJGZpbGUgd2l0aCAuZXhlIGhhcyBhbHJlYWR5IGJlZW4gYWRkZWQg
dG8gcm1maWxlcywKCSAgICAjIGFkZCAkZmlsZSB3aXRob3V0IC5leGUKCSAg
ICBybWZpbGVzKz0iICRmaWxlIgoJICAgIDs7CgkgIGVzYWMKCSAgIyBEbyBh
IHRlc3QgdG8gc2VlIGlmIHRoaXMgaXMgYSBsaWJ0b29sIHByb2dyYW0uCgkg
IGlmIGZ1bmNfbHR3cmFwcGVyX3AgIiRmaWxlIjsgdGhlbgoJICAgIGlmIGZ1
bmNfbHR3cmFwcGVyX2V4ZWN1dGFibGVfcCAiJGZpbGUiOyB0aGVuCgkgICAg
ICBmdW5jX2x0d3JhcHBlcl9zY3JpcHRuYW1lICIkZmlsZSIKCSAgICAgIHJl
bGlua19jb21tYW5kPQoJICAgICAgZnVuY19zb3VyY2UgJGZ1bmNfbHR3cmFw
cGVyX3NjcmlwdG5hbWVfcmVzdWx0CgkgICAgICBybWZpbGVzKz0iICRmdW5j
X2x0d3JhcHBlcl9zY3JpcHRuYW1lX3Jlc3VsdCIKCSAgICBlbHNlCgkgICAg
ICByZWxpbmtfY29tbWFuZD0KCSAgICAgIGZ1bmNfc291cmNlICRkaXIvJG5v
ZXhlbmFtZQoJICAgIGZpCgoJICAgICMgbm90ZSAkbmFtZSBzdGlsbCBjb250
YWlucyAuZXhlIGlmIGl0IHdhcyBpbiAkZmlsZSBvcmlnaW5hbGx5CgkgICAg
IyBhcyBkb2VzIHRoZSB2ZXJzaW9uIG9mICRmaWxlIHRoYXQgd2FzIGFkZGVk
IGludG8gJHJtZmlsZXMKCSAgICBybWZpbGVzKz0iICRvZGlyLyRuYW1lICRv
ZGlyLyR7bmFtZX1TLiR7b2JqZXh0fSIKCSAgICBpZiB0ZXN0ICIkZmFzdF9p
bnN0YWxsIiA9IHllcyAmJiB0ZXN0IC1uICIkcmVsaW5rX2NvbW1hbmQiOyB0
aGVuCgkgICAgICBybWZpbGVzKz0iICRvZGlyL2x0LSRuYW1lIgoJICAgIGZp
CgkgICAgaWYgdGVzdCAiWCRub2V4ZW5hbWUiICE9ICJYJG5hbWUiIDsgdGhl
bgoJICAgICAgcm1maWxlcys9IiAkb2Rpci9sdC0ke25vZXhlbmFtZX0uYyIK
CSAgICBmaQoJICBmaQoJZmkKCTs7CiAgICAgIGVzYWMKICAgICAgZnVuY19z
aG93X2V2YWwgIiRSTSAkcm1maWxlcyIgJ2V4aXRfc3RhdHVzPTEnCiAgICBk
b25lCgogICAgIyBUcnkgdG8gcmVtb3ZlIHRoZSAke29iamRpcn1zIGluIHRo
ZSBkaXJlY3RvcmllcyB3aGVyZSB3ZSBkZWxldGVkIGZpbGVzCiAgICBmb3Ig
ZGlyIGluICRybWRpcnM7IGRvCiAgICAgIGlmIHRlc3QgLWQgIiRkaXIiOyB0
aGVuCglmdW5jX3Nob3dfZXZhbCAicm1kaXIgJGRpciA+L2Rldi9udWxsIDI+
JjEiCiAgICAgIGZpCiAgICBkb25lCgogICAgZXhpdCAkZXhpdF9zdGF0dXMK
fQoKeyB0ZXN0ICIkb3B0X21vZGUiID0gdW5pbnN0YWxsIHx8IHRlc3QgIiRv
cHRfbW9kZSIgPSBjbGVhbjsgfSAmJgogICAgZnVuY19tb2RlX3VuaW5zdGFs
bCAkezErIiRAIn0KCnRlc3QgLXogIiRvcHRfbW9kZSIgJiYgewogIGhlbHA9
IiRnZW5lcmljX2hlbHAiCiAgZnVuY19mYXRhbF9oZWxwICJ5b3UgbXVzdCBz
cGVjaWZ5IGEgTU9ERSIKfQoKdGVzdCAteiAiJGV4ZWNfY21kIiAmJiBcCiAg
ZnVuY19mYXRhbF9oZWxwICJpbnZhbGlkIG9wZXJhdGlvbiBtb2RlIFxgJG9w
dF9tb2RlJyIKCmlmIHRlc3QgLW4gIiRleGVjX2NtZCI7IHRoZW4KICBldmFs
IGV4ZWMgIiRleGVjX2NtZCIKICBleGl0ICRFWElUX0ZBSUxVUkUKZmkKCmV4
aXQgJGV4aXRfc3RhdHVzCgoKIyBUaGUgVEFHcyBiZWxvdyBhcmUgZGVmaW5l
ZCBzdWNoIHRoYXQgd2UgbmV2ZXIgZ2V0IGludG8gYSBzaXR1YXRpb24KIyBp
biB3aGljaCB3ZSBkaXNhYmxlIGJvdGgga2luZHMgb2YgbGlicmFyaWVzLiAg
R2l2ZW4gY29uZmxpY3RpbmcKIyBjaG9pY2VzLCB3ZSBnbyBmb3IgYSBzdGF0
aWMgbGlicmFyeSwgdGhhdCBpcyB0aGUgbW9zdCBwb3J0YWJsZSwKIyBzaW5j
ZSB3ZSBjYW4ndCB0ZWxsIHdoZXRoZXIgc2hhcmVkIGxpYnJhcmllcyB3ZXJl
IGRpc2FibGVkIGJlY2F1c2UKIyB0aGUgdXNlciBhc2tlZCBmb3IgdGhhdCBv
ciBiZWNhdXNlIHRoZSBwbGF0Zm9ybSBkb2Vzbid0IHN1cHBvcnQKIyB0aGVt
LiAgVGhpcyBpcyBwYXJ0aWN1bGFybHkgaW1wb3J0YW50IG9uIEFJWCwgYmVj
YXVzZSB3ZSBkb24ndAojIHN1cHBvcnQgaGF2aW5nIGJvdGggc3RhdGljIGFu
ZCBzaGFyZWQgbGlicmFyaWVzIGVuYWJsZWQgYXQgdGhlIHNhbWUKIyB0aW1l
IG9uIHRoYXQgcGxhdGZvcm0sIHNvIHdlIGRlZmF1bHQgdG8gYSBzaGFyZWQt
b25seSBjb25maWd1cmF0aW9uLgojIElmIGEgZGlzYWJsZS1zaGFyZWQgdGFn
IGlzIGdpdmVuLCB3ZSdsbCBmYWxsYmFjayB0byBhIHN0YXRpYy1vbmx5CiMg
Y29uZmlndXJhdGlvbi4gIEJ1dCB3ZSdsbCBuZXZlciBnbyBmcm9tIHN0YXRp
Yy1vbmx5IHRvIHNoYXJlZC1vbmx5LgoKIyAjIyMgQkVHSU4gTElCVE9PTCBU
QUcgQ09ORklHOiBkaXNhYmxlLXNoYXJlZApidWlsZF9saWJ0b29sX2xpYnM9
bm8KYnVpbGRfb2xkX2xpYnM9eWVzCiMgIyMjIEVORCBMSUJUT09MIFRBRyBD
T05GSUc6IGRpc2FibGUtc2hhcmVkCgojICMjIyBCRUdJTiBMSUJUT09MIFRB
RyBDT05GSUc6IGRpc2FibGUtc3RhdGljCmJ1aWxkX29sZF9saWJzPWBjYXNl
ICRidWlsZF9saWJ0b29sX2xpYnMgaW4geWVzKSBlY2hvIG5vOzsgKikgZWNo
byB5ZXM7OyBlc2FjYAojICMjIyBFTkQgTElCVE9PTCBUQUcgQ09ORklHOiBk
aXNhYmxlLXN0YXRpYwoKIyBMb2NhbCBWYXJpYWJsZXM6CiMgbW9kZTpzaGVs
bC1zY3JpcHQKIyBzaC1pbmRlbnRhdGlvbjoyCiMgRW5kOgojIHZpOnN3PTIK
CgojICMjIyBCRUdJTiBMSUJUT09MIFRBRyBDT05GSUc6IENYWAoKIyBUaGUg
bGlua2VyIHVzZWQgdG8gYnVpbGQgbGlicmFyaWVzLgpMRD0iYzovdGluZ3cv
bWluZ3czMi9iaW4vbGQuZXhlIgoKIyBIb3cgdG8gY3JlYXRlIHJlbG9hZGFi
bGUgb2JqZWN0IGZpbGVzLgpyZWxvYWRfZmxhZz0iIC1yIgpyZWxvYWRfY21k
cz0iXCRMRFwkcmVsb2FkX2ZsYWcgLW8gXCRvdXRwdXRcJHJlbG9hZF9vYmpz
IgoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1aWxkIGFuIG9sZC1zdHlsZSBhcmNo
aXZlLgpvbGRfYXJjaGl2ZV9jbWRzPSJcJEFSIFwkQVJfRkxBR1MgXCRvbGRs
aWJcJG9sZG9ianN+XCRSQU5MSUIgXCR0b29sX29sZGxpYiIKCiMgQSBsYW5n
dWFnZSBzcGVjaWZpYyBjb21waWxlci4KQ0M9ImcrKyIKCiMgSXMgdGhlIGNv
bXBpbGVyIHRoZSBHTlUgY29tcGlsZXI/CndpdGhfZ2NjPXllcwoKIyBDb21w
aWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1aWx0aW4gZnVuY3Rpb25zLgpub19i
dWlsdGluX2ZsYWc9IiAtZm5vLWJ1aWx0aW4iCgojIEFkZGl0aW9uYWwgY29t
cGlsZXIgZmxhZ3MgZm9yIGJ1aWxkaW5nIGxpYnJhcnkgb2JqZWN0cy4KcGlj
X2ZsYWc9IiAtRERMTF9FWFBPUlQgLURQSUMiCgojIEhvdyB0byBwYXNzIGEg
bGlua2VyIGZsYWcgdGhyb3VnaCB0aGUgY29tcGlsZXIuCndsPSItV2wsIgoK
IyBDb21waWxlciBmbGFnIHRvIHByZXZlbnQgZHluYW1pYyBsaW5raW5nLgps
aW5rX3N0YXRpY19mbGFnPSItc3RhdGljIgoKIyBEb2VzIGNvbXBpbGVyIHNp
bXVsdGFuZW91c2x5IHN1cHBvcnQgLWMgYW5kIC1vIG9wdGlvbnM/CmNvbXBp
bGVyX2Nfbz0ieWVzIgoKIyBXaGV0aGVyIG9yIG5vdCB0byBhZGQgLWxjIGZv
ciBidWlsZGluZyBzaGFyZWQgbGlicmFyaWVzLgpidWlsZF9saWJ0b29sX25l
ZWRfbGM9bm8KCiMgV2hldGhlciBvciBub3QgdG8gZGlzYWxsb3cgc2hhcmVk
IGxpYnMgd2hlbiBydW50aW1lIGxpYnMgYXJlIHN0YXRpYy4KYWxsb3dfbGli
dG9vbF9saWJzX3dpdGhfc3RhdGljX3J1bnRpbWVzPXllcwoKIyBDb21waWxl
ciBmbGFnIHRvIGFsbG93IHJlZmxleGl2ZSBkbG9wZW5zLgpleHBvcnRfZHlu
YW1pY19mbGFnX3NwZWM9Ilwke3dsfS0tZXhwb3J0LWFsbC1zeW1ib2xzIgoK
IyBDb21waWxlciBmbGFnIHRvIGdlbmVyYXRlIHNoYXJlZCBvYmplY3RzIGRp
cmVjdGx5IGZyb20gYXJjaGl2ZXMuCndob2xlX2FyY2hpdmVfZmxhZ19zcGVj
PSJcJHt3bH0tLXdob2xlLWFyY2hpdmVcJGNvbnZlbmllbmNlIFwke3dsfS0t
bm8td2hvbGUtYXJjaGl2ZSIKCiMgV2hldGhlciB0aGUgY29tcGlsZXIgY29w
ZXMgd2l0aCBwYXNzaW5nIG5vIG9iamVjdHMgZGlyZWN0bHkuCmNvbXBpbGVy
X25lZWRzX29iamVjdD0ibm8iCgojIENyZWF0ZSBhbiBvbGQtc3R5bGUgYXJj
aGl2ZSBmcm9tIGEgc2hhcmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21f
bmV3X2NtZHM9IiIKCiMgQ3JlYXRlIGEgdGVtcG9yYXJ5IG9sZC1zdHlsZSBh
cmNoaXZlIHRvIGxpbmsgaW5zdGVhZCBvZiBhIHNoYXJlZCBhcmNoaXZlLgpv
bGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kcz0iIgoKIyBDb21tYW5kcyB1
c2VkIHRvIGJ1aWxkIGEgc2hhcmVkIGFyY2hpdmUuCmFyY2hpdmVfY21kcz0i
XCRDQyAtc2hhcmVkIC1ub3N0ZGxpYiBcJHByZWRlcF9vYmplY3RzIFwkbGli
b2JqcyBcJGRlcGxpYnMgXCRwb3N0ZGVwX29iamVjdHMgXCRjb21waWxlcl9m
bGFncyAtbyBcJG91dHB1dF9vYmpkaXIvXCRzb25hbWUgXCR7d2x9LS1lbmFi
bGUtYXV0by1pbWFnZS1iYXNlIC1YbGlua2VyIC0tb3V0LWltcGxpYiAtWGxp
bmtlciBcJGxpYiIKYXJjaGl2ZV9leHBzeW1fY21kcz0iaWYgdGVzdCBcXFwi
eFxcXGBcJFNFRCAxcSBcJGV4cG9ydF9zeW1ib2xzXFxcYFxcXCIgPSB4RVhQ
T1JUUzsgdGhlbgoJICAgICAgY3AgXCRleHBvcnRfc3ltYm9scyBcJG91dHB1
dF9vYmpkaXIvXCRzb25hbWUuZGVmOwoJICAgIGVsc2UKCSAgICAgIGVjaG8g
RVhQT1JUUyA+IFwkb3V0cHV0X29iamRpci9cJHNvbmFtZS5kZWY7CgkgICAg
ICBjYXQgXCRleHBvcnRfc3ltYm9scyA+PiBcJG91dHB1dF9vYmpkaXIvXCRz
b25hbWUuZGVmOwoJICAgIGZpfgoJICAgIFwkQ0MgLXNoYXJlZCAtbm9zdGRs
aWIgXCRvdXRwdXRfb2JqZGlyL1wkc29uYW1lLmRlZiBcJHByZWRlcF9vYmpl
Y3RzIFwkbGlib2JqcyBcJGRlcGxpYnMgXCRwb3N0ZGVwX29iamVjdHMgXCRj
b21waWxlcl9mbGFncyAtbyBcJG91dHB1dF9vYmpkaXIvXCRzb25hbWUgXCR7
d2x9LS1lbmFibGUtYXV0by1pbWFnZS1iYXNlIC1YbGlua2VyIC0tb3V0LWlt
cGxpYiAtWGxpbmtlciBcJGxpYiIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWls
ZCBhIGxvYWRhYmxlIG1vZHVsZSBpZiBkaWZmZXJlbnQgZnJvbSBidWlsZGlu
ZwojIGEgc2hhcmVkIGFyY2hpdmUuCm1vZHVsZV9jbWRzPSIiCm1vZHVsZV9l
eHBzeW1fY21kcz0iIgoKIyBXaGV0aGVyIHdlIGFyZSBidWlsZGluZyB3aXRo
IEdOVSBsZCBvciBub3QuCndpdGhfZ251X2xkPSJ5ZXMiCgojIEZsYWcgdGhh
dCBhbGxvd3Mgc2hhcmVkIGxpYnJhcmllcyB3aXRoIHVuZGVmaW5lZCBzeW1i
b2xzIHRvIGJlIGJ1aWx0LgphbGxvd191bmRlZmluZWRfZmxhZz0idW5zdXBw
b3J0ZWQiCgojIEZsYWcgdGhhdCBlbmZvcmNlcyBubyB1bmRlZmluZWQgc3lt
Ym9scy4Kbm9fdW5kZWZpbmVkX2ZsYWc9IiIKCiMgRmxhZyB0byBoYXJkY29k
ZSAkbGliZGlyIGludG8gYSBiaW5hcnkgZHVyaW5nIGxpbmtpbmcuCiMgVGhp
cyBtdXN0IHdvcmsgZXZlbiBpZiAkbGliZGlyIGRvZXMgbm90IGV4aXN0Cmhh
cmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Ii1MXCRsaWJkaXIiCgojIFdoZXRo
ZXIgd2UgbmVlZCBhIHNpbmdsZSAiLXJwYXRoIiBmbGFnIHdpdGggYSBzZXBh
cmF0ZWQgYXJndW1lbnQuCmhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3I9IiIK
CiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5nIERJUi9saWJOQU1FJHtzaGFyZWRf
ZXh0fSBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMKIyBESVIgaW50byB0aGUg
cmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfZGlyZWN0PW5vCgojIFNldCB0
byAieWVzIiBpZiB1c2luZyBESVIvbGliTkFNRSR7c2hhcmVkX2V4dH0gZHVy
aW5nIGxpbmtpbmcgaGFyZGNvZGVzCiMgRElSIGludG8gdGhlIHJlc3VsdGlu
ZyBiaW5hcnkgYW5kIHRoZSByZXN1bHRpbmcgbGlicmFyeSBkZXBlbmRlbmN5
IGlzCiMgImFic29sdXRlIixpLmUgaW1wb3NzaWJsZSB0byBjaGFuZ2UgYnkg
c2V0dGluZyAke3NobGlicGF0aF92YXJ9IGlmIHRoZQojIGxpYnJhcnkgaXMg
cmVsb2NhdGVkLgpoYXJkY29kZV9kaXJlY3RfYWJzb2x1dGU9bm8KCiMgU2V0
IHRvICJ5ZXMiIGlmIHVzaW5nIHRoZSAtTERJUiBmbGFnIGR1cmluZyBsaW5r
aW5nIGhhcmRjb2RlcyBESVIKIyBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5
LgpoYXJkY29kZV9taW51c19MPW5vCgojIFNldCB0byAieWVzIiBpZiB1c2lu
ZyBTSExJQlBBVEhfVkFSPURJUiBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMg
RElSCiMgaW50byB0aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfc2hs
aWJwYXRoX3Zhcj11bnN1cHBvcnRlZAoKIyBTZXQgdG8gInllcyIgaWYgYnVp
bGRpbmcgYSBzaGFyZWQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGhhcmRjb2Rl
cyBESVIKIyBpbnRvIHRoZSBsaWJyYXJ5IGFuZCBhbGwgc3Vic2VxdWVudCBs
aWJyYXJpZXMgYW5kIGV4ZWN1dGFibGVzIGxpbmtlZAojIGFnYWluc3QgaXQu
CmhhcmRjb2RlX2F1dG9tYXRpYz1ubwoKIyBTZXQgdG8geWVzIGlmIGxpbmtl
ciBhZGRzIHJ1bnRpbWUgcGF0aHMgb2YgZGVwZW5kZW50IGxpYnJhcmllcwoj
IHRvIHJ1bnRpbWUgcGF0aCBsaXN0Lgppbmhlcml0X3JwYXRoPW5vCgojIFdo
ZXRoZXIgbGlidG9vbCBtdXN0IGxpbmsgYSBwcm9ncmFtIGFnYWluc3QgYWxs
IGl0cyBkZXBlbmRlbmN5IGxpYnJhcmllcy4KbGlua19hbGxfZGVwbGlicz11
bmtub3duCgojIFNldCB0byAieWVzIiBpZiBleHBvcnRlZCBzeW1ib2xzIGFy
ZSByZXF1aXJlZC4KYWx3YXlzX2V4cG9ydF9zeW1ib2xzPW5vCgojIFRoZSBj
b21tYW5kcyB0byBsaXN0IGV4cG9ydGVkIHN5bWJvbHMuCmV4cG9ydF9zeW1i
b2xzX2NtZHM9IlwkTk0gXCRsaWJvYmpzIFwkY29udmVuaWVuY2UgfCBcJGds
b2JhbF9zeW1ib2xfcGlwZSB8IFwkU0VEIC1lICcvXltCQ0RHUlNdWyBdL3Mv
LipbIF1cXFxcKFteIF0qXFxcXCkvXFxcXDEgREFUQS87cy9eLipbIF1fX25t
X19cXFxcKFteIF0qXFxcXClbIF1bXiBdKi9cXFxcMSBEQVRBLzsvXklbIF0v
ZDsvXltBSVRXXVsgXS9zLy4qIC8vJyB8IHNvcnQgfCB1bmlxID4gXCRleHBv
cnRfc3ltYm9scyIKCiMgU3ltYm9scyB0aGF0IHNob3VsZCBub3QgYmUgbGlz
dGVkIGluIHRoZSBwcmVsb2FkZWQgc3ltYm9scy4KZXhjbHVkZV9leHBzeW1z
PSJbX10rR0xPQkFMX09GRlNFVF9UQUJMRV98W19dK0dMT0JBTF9fW0ZJRF1f
Lip8W19dK2hlYWRfW0EtWmEtejAtOV9dK19kbGx8W0EtWmEtejAtOV9dK19k
bGxfaW5hbWUiCgojIFN5bWJvbHMgdGhhdCBtdXN0IGFsd2F5cyBiZSBleHBv
cnRlZC4KaW5jbHVkZV9leHBzeW1zPSIiCgojIENvbW1hbmRzIG5lY2Vzc2Fy
eSBmb3IgbGlua2luZyBwcm9ncmFtcyAoYWdhaW5zdCBsaWJyYXJpZXMpIHdp
dGggdGVtcGxhdGVzLgpwcmVsaW5rX2NtZHM9IiIKCiMgQ29tbWFuZHMgbmVj
ZXNzYXJ5IGZvciBmaW5pc2hpbmcgbGlua2luZyBwcm9ncmFtcy4KcG9zdGxp
bmtfY21kcz0iIgoKIyBTcGVjaWZ5IGZpbGVuYW1lIGNvbnRhaW5pbmcgaW5w
dXQgZmlsZXMuCmZpbGVfbGlzdF9zcGVjPSIiCgojIEhvdyB0byBoYXJkY29k
ZSBhIHNoYXJlZCBsaWJyYXJ5IHBhdGggaW50byBhbiBleGVjdXRhYmxlLgpo
YXJkY29kZV9hY3Rpb249aW1tZWRpYXRlCgojIFRoZSBkaXJlY3RvcmllcyBz
ZWFyY2hlZCBieSB0aGlzIGNvbXBpbGVyIHdoZW4gY3JlYXRpbmcgYSBzaGFy
ZWQgbGlicmFyeS4KY29tcGlsZXJfbGliX3NlYXJjaF9kaXJzPSJjOi90aW5n
dy9iaW4vLi4vbGliL2djYy9taW5ndzMyLzQuOC4xIGM6L3Rpbmd3L2Jpbi8u
Li9saWIvZ2NjIGM6L3Rpbmd3L2Jpbi8uLi9saWIvZ2NjL21pbmd3MzIvNC44
LjEvLi4vLi4vLi4vLi4vbWluZ3czMi9saWIgYzovdGluZ3cvYmluLy4uL2xp
Yi9nY2MvbWluZ3czMi80LjguMS8uLi8uLi8uLiIKCiMgRGVwZW5kZW5jaWVz
IHRvIHBsYWNlIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIG9iamVjdHMgYmVpbmcg
bGlua2VkIHRvCiMgY3JlYXRlIGEgc2hhcmVkIGxpYnJhcnkuCnByZWRlcF9v
YmplY3RzPSJjOi90aW5ndy9iaW4vLi4vbGliL2djYy9taW5ndzMyLzQuOC4x
Ly4uLy4uLy4uLy4uL21pbmd3MzIvbGliL2RsbGNydDIubyBjOi90aW5ndy9i
aW4vLi4vbGliL2djYy9taW5ndzMyLzQuOC4xL2NydGJlZ2luLm8iCnBvc3Rk
ZXBfb2JqZWN0cz0iYzovdGluZ3cvYmluLy4uL2xpYi9nY2MvbWluZ3czMi80
LjguMS9jcnRlbmQubyIKcHJlZGVwcz0iIgpwb3N0ZGVwcz0iLWxzdGRjKysg
LWxtaW5ndzMyIC1sZ2NjX3MgLWxnY2MgLWxtb2xkbmFtZSAtbG1pbmd3ZXgg
LWxtc3ZjcnQgLWxhZHZhcGkzMiAtbHNoZWxsMzIgLWx1c2VyMzIgLWxrZXJu
ZWwzMiAtbG1pbmd3MzIgLWxnY2NfcyAtbGdjYyAtbG1vbGRuYW1lIC1sbWlu
Z3dleCAtbG1zdmNydCIKCiMgVGhlIGxpYnJhcnkgc2VhcmNoIHBhdGggdXNl
ZCBpbnRlcm5hbGx5IGJ5IHRoZSBjb21waWxlciB3aGVuIGxpbmtpbmcKIyBh
IHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2VhcmNoX3BhdGg9Ii1M
YzovdGluZ3cvYmluLy4uL2xpYi9nY2MvbWluZ3czMi80LjguMSAtTGM6L3Rp
bmd3L2Jpbi8uLi9saWIvZ2NjIC1MYzovdGluZ3cvYmluLy4uL2xpYi9nY2Mv
bWluZ3czMi80LjguMS8uLi8uLi8uLi8uLi9taW5ndzMyL2xpYiAtTGM6L3Rp
bmd3L2Jpbi8uLi9saWIvZ2NjL21pbmd3MzIvNC44LjEvLi4vLi4vLi4iCgoj
ICMjIyBFTkQgTElCVE9PTCBUQUcgQ09ORklHOiBDWFgKCiMgIyMjIEJFR0lO
IExJQlRPT0wgVEFHIENPTkZJRzogRjc3CgojIFRoZSBsaW5rZXIgdXNlZCB0
byBidWlsZCBsaWJyYXJpZXMuCkxEPSIiCgojIEhvdyB0byBjcmVhdGUgcmVs
b2FkYWJsZSBvYmplY3QgZmlsZXMuCnJlbG9hZF9mbGFnPSIgLXIiCnJlbG9h
ZF9jbWRzPSJcJExEXCRyZWxvYWRfZmxhZyAtbyBcJG91dHB1dFwkcmVsb2Fk
X29ianMiCgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQgYW4gb2xkLXN0eWxl
IGFyY2hpdmUuCm9sZF9hcmNoaXZlX2NtZHM9IlwkQVIgXCRBUl9GTEFHUyBc
JG9sZGxpYlwkb2xkb2Jqc35cJFJBTkxJQiBcJHRvb2xfb2xkbGliIgoKIyBB
IGxhbmd1YWdlIHNwZWNpZmljIGNvbXBpbGVyLgpDQz0iIgoKIyBJcyB0aGUg
Y29tcGlsZXIgdGhlIEdOVSBjb21waWxlcj8Kd2l0aF9nY2M9CgojIENvbXBp
bGVyIGZsYWcgdG8gdHVybiBvZmYgYnVpbHRpbiBmdW5jdGlvbnMuCm5vX2J1
aWx0aW5fZmxhZz0iIgoKIyBBZGRpdGlvbmFsIGNvbXBpbGVyIGZsYWdzIGZv
ciBidWlsZGluZyBsaWJyYXJ5IG9iamVjdHMuCnBpY19mbGFnPSIiCgojIEhv
dyB0byBwYXNzIGEgbGlua2VyIGZsYWcgdGhyb3VnaCB0aGUgY29tcGlsZXIu
CndsPSIiCgojIENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5hbWljIGxp
bmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9IiIKCiMgRG9lcyBjb21waWxlciBz
aW11bHRhbmVvdXNseSBzdXBwb3J0IC1jIGFuZCAtbyBvcHRpb25zPwpjb21w
aWxlcl9jX289IiIKCiMgV2hldGhlciBvciBub3QgdG8gYWRkIC1sYyBmb3Ig
YnVpbGRpbmcgc2hhcmVkIGxpYnJhcmllcy4KYnVpbGRfbGlidG9vbF9uZWVk
X2xjPW5vCgojIFdoZXRoZXIgb3Igbm90IHRvIGRpc2FsbG93IHNoYXJlZCBs
aWJzIHdoZW4gcnVudGltZSBsaWJzIGFyZSBzdGF0aWMuCmFsbG93X2xpYnRv
b2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcz1ubwoKIyBDb21waWxlciBm
bGFnIHRvIGFsbG93IHJlZmxleGl2ZSBkbG9wZW5zLgpleHBvcnRfZHluYW1p
Y19mbGFnX3NwZWM9IiIKCiMgQ29tcGlsZXIgZmxhZyB0byBnZW5lcmF0ZSBz
aGFyZWQgb2JqZWN0cyBkaXJlY3RseSBmcm9tIGFyY2hpdmVzLgp3aG9sZV9h
cmNoaXZlX2ZsYWdfc3BlYz0iIgoKIyBXaGV0aGVyIHRoZSBjb21waWxlciBj
b3BlcyB3aXRoIHBhc3Npbmcgbm8gb2JqZWN0cyBkaXJlY3RseS4KY29tcGls
ZXJfbmVlZHNfb2JqZWN0PSIiCgojIENyZWF0ZSBhbiBvbGQtc3R5bGUgYXJj
aGl2ZSBmcm9tIGEgc2hhcmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21f
bmV3X2NtZHM9IiIKCiMgQ3JlYXRlIGEgdGVtcG9yYXJ5IG9sZC1zdHlsZSBh
cmNoaXZlIHRvIGxpbmsgaW5zdGVhZCBvZiBhIHNoYXJlZCBhcmNoaXZlLgpv
bGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kcz0iIgoKIyBDb21tYW5kcyB1
c2VkIHRvIGJ1aWxkIGEgc2hhcmVkIGFyY2hpdmUuCmFyY2hpdmVfY21kcz0i
IgphcmNoaXZlX2V4cHN5bV9jbWRzPSIiCgojIENvbW1hbmRzIHVzZWQgdG8g
YnVpbGQgYSBsb2FkYWJsZSBtb2R1bGUgaWYgZGlmZmVyZW50IGZyb20gYnVp
bGRpbmcKIyBhIHNoYXJlZCBhcmNoaXZlLgptb2R1bGVfY21kcz0iIgptb2R1
bGVfZXhwc3ltX2NtZHM9IiIKCiMgV2hldGhlciB3ZSBhcmUgYnVpbGRpbmcg
d2l0aCBHTlUgbGQgb3Igbm90Lgp3aXRoX2dudV9sZD0iIgoKIyBGbGFnIHRo
YXQgYWxsb3dzIHNoYXJlZCBsaWJyYXJpZXMgd2l0aCB1bmRlZmluZWQgc3lt
Ym9scyB0byBiZSBidWlsdC4KYWxsb3dfdW5kZWZpbmVkX2ZsYWc9IiIKCiMg
RmxhZyB0aGF0IGVuZm9yY2VzIG5vIHVuZGVmaW5lZCBzeW1ib2xzLgpub191
bmRlZmluZWRfZmxhZz0iIgoKIyBGbGFnIHRvIGhhcmRjb2RlICRsaWJkaXIg
aW50byBhIGJpbmFyeSBkdXJpbmcgbGlua2luZy4KIyBUaGlzIG11c3Qgd29y
ayBldmVuIGlmICRsaWJkaXIgZG9lcyBub3QgZXhpc3QKaGFyZGNvZGVfbGli
ZGlyX2ZsYWdfc3BlYz0iIgoKIyBXaGV0aGVyIHdlIG5lZWQgYSBzaW5nbGUg
Ii1ycGF0aCIgZmxhZyB3aXRoIGEgc2VwYXJhdGVkIGFyZ3VtZW50LgpoYXJk
Y29kZV9saWJkaXJfc2VwYXJhdG9yPSIiCgojIFNldCB0byAieWVzIiBpZiB1
c2luZyBESVIvbGliTkFNRSR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcg
aGFyZGNvZGVzCiMgRElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhh
cmRjb2RlX2RpcmVjdD1ubwoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgRElS
L2xpYk5BTUUke3NoYXJlZF9leHR9IGR1cmluZyBsaW5raW5nIGhhcmRjb2Rl
cwojIERJUiBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5IGFuZCB0aGUgcmVz
dWx0aW5nIGxpYnJhcnkgZGVwZW5kZW5jeSBpcwojICJhYnNvbHV0ZSIsaS5l
IGltcG9zc2libGUgdG8gY2hhbmdlIGJ5IHNldHRpbmcgJHtzaGxpYnBhdGhf
dmFyfSBpZiB0aGUKIyBsaWJyYXJ5IGlzIHJlbG9jYXRlZC4KaGFyZGNvZGVf
ZGlyZWN0X2Fic29sdXRlPW5vCgojIFNldCB0byAieWVzIiBpZiB1c2luZyB0
aGUgLUxESVIgZmxhZyBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMg
aW50byB0aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfbWludXNfTD1u
bwoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgU0hMSUJQQVRIX1ZBUj1ESVIg
ZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzIERJUgojIGludG8gdGhlIHJlc3Vs
dGluZyBiaW5hcnkuCmhhcmRjb2RlX3NobGlicGF0aF92YXI9CgojIFNldCB0
byAieWVzIiBpZiBidWlsZGluZyBhIHNoYXJlZCBsaWJyYXJ5IGF1dG9tYXRp
Y2FsbHkgaGFyZGNvZGVzIERJUgojIGludG8gdGhlIGxpYnJhcnkgYW5kIGFs
bCBzdWJzZXF1ZW50IGxpYnJhcmllcyBhbmQgZXhlY3V0YWJsZXMgbGlua2Vk
CiMgYWdhaW5zdCBpdC4KaGFyZGNvZGVfYXV0b21hdGljPW5vCgojIFNldCB0
byB5ZXMgaWYgbGlua2VyIGFkZHMgcnVudGltZSBwYXRocyBvZiBkZXBlbmRl
bnQgbGlicmFyaWVzCiMgdG8gcnVudGltZSBwYXRoIGxpc3QuCmluaGVyaXRf
cnBhdGg9bm8KCiMgV2hldGhlciBsaWJ0b29sIG11c3QgbGluayBhIHByb2dy
YW0gYWdhaW5zdCBhbGwgaXRzIGRlcGVuZGVuY3kgbGlicmFyaWVzLgpsaW5r
X2FsbF9kZXBsaWJzPXVua25vd24KCiMgU2V0IHRvICJ5ZXMiIGlmIGV4cG9y
dGVkIHN5bWJvbHMgYXJlIHJlcXVpcmVkLgphbHdheXNfZXhwb3J0X3N5bWJv
bHM9bm8KCiMgVGhlIGNvbW1hbmRzIHRvIGxpc3QgZXhwb3J0ZWQgc3ltYm9s
cy4KZXhwb3J0X3N5bWJvbHNfY21kcz0iIgoKIyBTeW1ib2xzIHRoYXQgc2hv
dWxkIG5vdCBiZSBsaXN0ZWQgaW4gdGhlIHByZWxvYWRlZCBzeW1ib2xzLgpl
eGNsdWRlX2V4cHN5bXM9IiIKCiMgU3ltYm9scyB0aGF0IG11c3QgYWx3YXlz
IGJlIGV4cG9ydGVkLgppbmNsdWRlX2V4cHN5bXM9IiIKCiMgQ29tbWFuZHMg
bmVjZXNzYXJ5IGZvciBsaW5raW5nIHByb2dyYW1zIChhZ2FpbnN0IGxpYnJh
cmllcykgd2l0aCB0ZW1wbGF0ZXMuCnByZWxpbmtfY21kcz0iIgoKIyBDb21t
YW5kcyBuZWNlc3NhcnkgZm9yIGZpbmlzaGluZyBsaW5raW5nIHByb2dyYW1z
Lgpwb3N0bGlua19jbWRzPSIiCgojIFNwZWNpZnkgZmlsZW5hbWUgY29udGFp
bmluZyBpbnB1dCBmaWxlcy4KZmlsZV9saXN0X3NwZWM9IiIKCiMgSG93IHRv
IGhhcmRjb2RlIGEgc2hhcmVkIGxpYnJhcnkgcGF0aCBpbnRvIGFuIGV4ZWN1
dGFibGUuCmhhcmRjb2RlX2FjdGlvbj0KCiMgVGhlIGRpcmVjdG9yaWVzIHNl
YXJjaGVkIGJ5IHRoaXMgY29tcGlsZXIgd2hlbiBjcmVhdGluZyBhIHNoYXJl
ZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2VhcmNoX2RpcnM9IiIKCiMgRGVw
ZW5kZW5jaWVzIHRvIHBsYWNlIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIG9iamVj
dHMgYmVpbmcgbGlua2VkIHRvCiMgY3JlYXRlIGEgc2hhcmVkIGxpYnJhcnku
CnByZWRlcF9vYmplY3RzPSIiCnBvc3RkZXBfb2JqZWN0cz0iIgpwcmVkZXBz
PSIiCnBvc3RkZXBzPSIiCgojIFRoZSBsaWJyYXJ5IHNlYXJjaCBwYXRoIHVz
ZWQgaW50ZXJuYWxseSBieSB0aGUgY29tcGlsZXIgd2hlbiBsaW5raW5nCiMg
YSBzaGFyZWQgbGlicmFyeS4KY29tcGlsZXJfbGliX3NlYXJjaF9wYXRoPSIi
CgojICMjIyBFTkQgTElCVE9PTCBUQUcgQ09ORklHOiBGNzcKCiMgIyMjIEJF
R0lOIExJQlRPT0wgVEFHIENPTkZJRzogRkMKCiMgVGhlIGxpbmtlciB1c2Vk
IHRvIGJ1aWxkIGxpYnJhcmllcy4KTEQ9IiIKCiMgSG93IHRvIGNyZWF0ZSBy
ZWxvYWRhYmxlIG9iamVjdCBmaWxlcy4KcmVsb2FkX2ZsYWc9IiAtciIKcmVs
b2FkX2NtZHM9IlwkTERcJHJlbG9hZF9mbGFnIC1vIFwkb3V0cHV0XCRyZWxv
YWRfb2JqcyIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBhbiBvbGQtc3R5
bGUgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfY21kcz0iXCRBUiBcJEFSX0ZMQUdT
IFwkb2xkbGliXCRvbGRvYmpzflwkUkFOTElCIFwkdG9vbF9vbGRsaWIiCgoj
IEEgbGFuZ3VhZ2Ugc3BlY2lmaWMgY29tcGlsZXIuCkNDPSIiCgojIElzIHRo
ZSBjb21waWxlciB0aGUgR05VIGNvbXBpbGVyPwp3aXRoX2djYz0KCiMgQ29t
cGlsZXIgZmxhZyB0byB0dXJuIG9mZiBidWlsdGluIGZ1bmN0aW9ucy4Kbm9f
YnVpbHRpbl9mbGFnPSIiCgojIEFkZGl0aW9uYWwgY29tcGlsZXIgZmxhZ3Mg
Zm9yIGJ1aWxkaW5nIGxpYnJhcnkgb2JqZWN0cy4KcGljX2ZsYWc9IiIKCiMg
SG93IHRvIHBhc3MgYSBsaW5rZXIgZmxhZyB0aHJvdWdoIHRoZSBjb21waWxl
ci4Kd2w9IiIKCiMgQ29tcGlsZXIgZmxhZyB0byBwcmV2ZW50IGR5bmFtaWMg
bGlua2luZy4KbGlua19zdGF0aWNfZmxhZz0iIgoKIyBEb2VzIGNvbXBpbGVy
IHNpbXVsdGFuZW91c2x5IHN1cHBvcnQgLWMgYW5kIC1vIG9wdGlvbnM/CmNv
bXBpbGVyX2Nfbz0iIgoKIyBXaGV0aGVyIG9yIG5vdCB0byBhZGQgLWxjIGZv
ciBidWlsZGluZyBzaGFyZWQgbGlicmFyaWVzLgpidWlsZF9saWJ0b29sX25l
ZWRfbGM9bm8KCiMgV2hldGhlciBvciBub3QgdG8gZGlzYWxsb3cgc2hhcmVk
IGxpYnMgd2hlbiBydW50aW1lIGxpYnMgYXJlIHN0YXRpYy4KYWxsb3dfbGli
dG9vbF9saWJzX3dpdGhfc3RhdGljX3J1bnRpbWVzPW5vCgojIENvbXBpbGVy
IGZsYWcgdG8gYWxsb3cgcmVmbGV4aXZlIGRsb3BlbnMuCmV4cG9ydF9keW5h
bWljX2ZsYWdfc3BlYz0iIgoKIyBDb21waWxlciBmbGFnIHRvIGdlbmVyYXRl
IHNoYXJlZCBvYmplY3RzIGRpcmVjdGx5IGZyb20gYXJjaGl2ZXMuCndob2xl
X2FyY2hpdmVfZmxhZ19zcGVjPSIiCgojIFdoZXRoZXIgdGhlIGNvbXBpbGVy
IGNvcGVzIHdpdGggcGFzc2luZyBubyBvYmplY3RzIGRpcmVjdGx5Lgpjb21w
aWxlcl9uZWVkc19vYmplY3Q9IiIKCiMgQ3JlYXRlIGFuIG9sZC1zdHlsZSBh
cmNoaXZlIGZyb20gYSBzaGFyZWQgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfZnJv
bV9uZXdfY21kcz0iIgoKIyBDcmVhdGUgYSB0ZW1wb3Jhcnkgb2xkLXN0eWxl
IGFyY2hpdmUgdG8gbGluayBpbnN0ZWFkIG9mIGEgc2hhcmVkIGFyY2hpdmUu
Cm9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzPSIiCgojIENvbW1hbmRz
IHVzZWQgdG8gYnVpbGQgYSBzaGFyZWQgYXJjaGl2ZS4KYXJjaGl2ZV9jbWRz
PSIiCmFyY2hpdmVfZXhwc3ltX2NtZHM9IiIKCiMgQ29tbWFuZHMgdXNlZCB0
byBidWlsZCBhIGxvYWRhYmxlIG1vZHVsZSBpZiBkaWZmZXJlbnQgZnJvbSBi
dWlsZGluZwojIGEgc2hhcmVkIGFyY2hpdmUuCm1vZHVsZV9jbWRzPSIiCm1v
ZHVsZV9leHBzeW1fY21kcz0iIgoKIyBXaGV0aGVyIHdlIGFyZSBidWlsZGlu
ZyB3aXRoIEdOVSBsZCBvciBub3QuCndpdGhfZ251X2xkPSIiCgojIEZsYWcg
dGhhdCBhbGxvd3Mgc2hhcmVkIGxpYnJhcmllcyB3aXRoIHVuZGVmaW5lZCBz
eW1ib2xzIHRvIGJlIGJ1aWx0LgphbGxvd191bmRlZmluZWRfZmxhZz0iIgoK
IyBGbGFnIHRoYXQgZW5mb3JjZXMgbm8gdW5kZWZpbmVkIHN5bWJvbHMuCm5v
X3VuZGVmaW5lZF9mbGFnPSIiCgojIEZsYWcgdG8gaGFyZGNvZGUgJGxpYmRp
ciBpbnRvIGEgYmluYXJ5IGR1cmluZyBsaW5raW5nLgojIFRoaXMgbXVzdCB3
b3JrIGV2ZW4gaWYgJGxpYmRpciBkb2VzIG5vdCBleGlzdApoYXJkY29kZV9s
aWJkaXJfZmxhZ19zcGVjPSIiCgojIFdoZXRoZXIgd2UgbmVlZCBhIHNpbmds
ZSAiLXJwYXRoIiBmbGFnIHdpdGggYSBzZXBhcmF0ZWQgYXJndW1lbnQuCmhh
cmRjb2RlX2xpYmRpcl9zZXBhcmF0b3I9IiIKCiMgU2V0IHRvICJ5ZXMiIGlm
IHVzaW5nIERJUi9saWJOQU1FJHtzaGFyZWRfZXh0fSBkdXJpbmcgbGlua2lu
ZyBoYXJkY29kZXMKIyBESVIgaW50byB0aGUgcmVzdWx0aW5nIGJpbmFyeS4K
aGFyZGNvZGVfZGlyZWN0PW5vCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBE
SVIvbGliTkFNRSR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcgaGFyZGNv
ZGVzCiMgRElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkgYW5kIHRoZSBy
ZXN1bHRpbmcgbGlicmFyeSBkZXBlbmRlbmN5IGlzCiMgImFic29sdXRlIixp
LmUgaW1wb3NzaWJsZSB0byBjaGFuZ2UgYnkgc2V0dGluZyAke3NobGlicGF0
aF92YXJ9IGlmIHRoZQojIGxpYnJhcnkgaXMgcmVsb2NhdGVkLgpoYXJkY29k
ZV9kaXJlY3RfYWJzb2x1dGU9bm8KCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5n
IHRoZSAtTERJUiBmbGFnIGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcyBESVIK
IyBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9taW51c19M
PW5vCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBTSExJQlBBVEhfVkFSPURJ
UiBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgcmVz
dWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0KCiMgU2V0
IHRvICJ5ZXMiIGlmIGJ1aWxkaW5nIGEgc2hhcmVkIGxpYnJhcnkgYXV0b21h
dGljYWxseSBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgbGlicmFyeSBhbmQg
YWxsIHN1YnNlcXVlbnQgbGlicmFyaWVzIGFuZCBleGVjdXRhYmxlcyBsaW5r
ZWQKIyBhZ2FpbnN0IGl0LgpoYXJkY29kZV9hdXRvbWF0aWM9bm8KCiMgU2V0
IHRvIHllcyBpZiBsaW5rZXIgYWRkcyBydW50aW1lIHBhdGhzIG9mIGRlcGVu
ZGVudCBsaWJyYXJpZXMKIyB0byBydW50aW1lIHBhdGggbGlzdC4KaW5oZXJp
dF9ycGF0aD1ubwoKIyBXaGV0aGVyIGxpYnRvb2wgbXVzdCBsaW5rIGEgcHJv
Z3JhbSBhZ2FpbnN0IGFsbCBpdHMgZGVwZW5kZW5jeSBsaWJyYXJpZXMuCmxp
bmtfYWxsX2RlcGxpYnM9dW5rbm93bgoKIyBTZXQgdG8gInllcyIgaWYgZXhw
b3J0ZWQgc3ltYm9scyBhcmUgcmVxdWlyZWQuCmFsd2F5c19leHBvcnRfc3lt
Ym9scz1ubwoKIyBUaGUgY29tbWFuZHMgdG8gbGlzdCBleHBvcnRlZCBzeW1i
b2xzLgpleHBvcnRfc3ltYm9sc19jbWRzPSIiCgojIFN5bWJvbHMgdGhhdCBz
aG91bGQgbm90IGJlIGxpc3RlZCBpbiB0aGUgcHJlbG9hZGVkIHN5bWJvbHMu
CmV4Y2x1ZGVfZXhwc3ltcz0iIgoKIyBTeW1ib2xzIHRoYXQgbXVzdCBhbHdh
eXMgYmUgZXhwb3J0ZWQuCmluY2x1ZGVfZXhwc3ltcz0iIgoKIyBDb21tYW5k
cyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgcHJvZ3JhbXMgKGFnYWluc3QgbGli
cmFyaWVzKSB3aXRoIHRlbXBsYXRlcy4KcHJlbGlua19jbWRzPSIiCgojIENv
bW1hbmRzIG5lY2Vzc2FyeSBmb3IgZmluaXNoaW5nIGxpbmtpbmcgcHJvZ3Jh
bXMuCnBvc3RsaW5rX2NtZHM9IiIKCiMgU3BlY2lmeSBmaWxlbmFtZSBjb250
YWluaW5nIGlucHV0IGZpbGVzLgpmaWxlX2xpc3Rfc3BlYz0iIgoKIyBIb3cg
dG8gaGFyZGNvZGUgYSBzaGFyZWQgbGlicmFyeSBwYXRoIGludG8gYW4gZXhl
Y3V0YWJsZS4KaGFyZGNvZGVfYWN0aW9uPQoKIyBUaGUgZGlyZWN0b3JpZXMg
c2VhcmNoZWQgYnkgdGhpcyBjb21waWxlciB3aGVuIGNyZWF0aW5nIGEgc2hh
cmVkIGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9zZWFyY2hfZGlycz0iIgoKIyBE
ZXBlbmRlbmNpZXMgdG8gcGxhY2UgYmVmb3JlIGFuZCBhZnRlciB0aGUgb2Jq
ZWN0cyBiZWluZyBsaW5rZWQgdG8KIyBjcmVhdGUgYSBzaGFyZWQgbGlicmFy
eS4KcHJlZGVwX29iamVjdHM9IiIKcG9zdGRlcF9vYmplY3RzPSIiCnByZWRl
cHM9IiIKcG9zdGRlcHM9IiIKCiMgVGhlIGxpYnJhcnkgc2VhcmNoIHBhdGgg
dXNlZCBpbnRlcm5hbGx5IGJ5IHRoZSBjb21waWxlciB3aGVuIGxpbmtpbmcK
IyBhIHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2VhcmNoX3BhdGg9
IiIKCiMgIyMjIEVORCBMSUJUT09MIFRBRyBDT05GSUc6IEZDCgojICMjIyBC
RUdJTiBMSUJUT09MIFRBRyBDT05GSUc6IEdPCgojIFRoZSBsaW5rZXIgdXNl
ZCB0byBidWlsZCBsaWJyYXJpZXMuCkxEPSJjOi90aW5ndy9taW5ndzMyL2Jp
bi9sZC5leGUiCgojIEhvdyB0byBjcmVhdGUgcmVsb2FkYWJsZSBvYmplY3Qg
ZmlsZXMuCnJlbG9hZF9mbGFnPSIgLXIiCnJlbG9hZF9jbWRzPSJcJExEXCRy
ZWxvYWRfZmxhZyAtbyBcJG91dHB1dFwkcmVsb2FkX29ianMiCgojIENvbW1h
bmRzIHVzZWQgdG8gYnVpbGQgYW4gb2xkLXN0eWxlIGFyY2hpdmUuCm9sZF9h
cmNoaXZlX2NtZHM9IlwkQVIgXCRBUl9GTEFHUyBcJG9sZGxpYlwkb2xkb2Jq
c35cJFJBTkxJQiBcJHRvb2xfb2xkbGliIgoKIyBBIGxhbmd1YWdlIHNwZWNp
ZmljIGNvbXBpbGVyLgpDQz0iIgoKIyBJcyB0aGUgY29tcGlsZXIgdGhlIEdO
VSBjb21waWxlcj8Kd2l0aF9nY2M9CgojIENvbXBpbGVyIGZsYWcgdG8gdHVy
biBvZmYgYnVpbHRpbiBmdW5jdGlvbnMuCm5vX2J1aWx0aW5fZmxhZz0iIgoK
IyBBZGRpdGlvbmFsIGNvbXBpbGVyIGZsYWdzIGZvciBidWlsZGluZyBsaWJy
YXJ5IG9iamVjdHMuCnBpY19mbGFnPSIiCgojIEhvdyB0byBwYXNzIGEgbGlu
a2VyIGZsYWcgdGhyb3VnaCB0aGUgY29tcGlsZXIuCndsPSIiCgojIENvbXBp
bGVyIGZsYWcgdG8gcHJldmVudCBkeW5hbWljIGxpbmtpbmcuCmxpbmtfc3Rh
dGljX2ZsYWc9IiIKCiMgRG9lcyBjb21waWxlciBzaW11bHRhbmVvdXNseSBz
dXBwb3J0IC1jIGFuZCAtbyBvcHRpb25zPwpjb21waWxlcl9jX289IiIKCiMg
V2hldGhlciBvciBub3QgdG8gYWRkIC1sYyBmb3IgYnVpbGRpbmcgc2hhcmVk
IGxpYnJhcmllcy4KYnVpbGRfbGlidG9vbF9uZWVkX2xjPW5vCgojIFdoZXRo
ZXIgb3Igbm90IHRvIGRpc2FsbG93IHNoYXJlZCBsaWJzIHdoZW4gcnVudGlt
ZSBsaWJzIGFyZSBzdGF0aWMuCmFsbG93X2xpYnRvb2xfbGlic193aXRoX3N0
YXRpY19ydW50aW1lcz0KCiMgQ29tcGlsZXIgZmxhZyB0byBhbGxvdyByZWZs
ZXhpdmUgZGxvcGVucy4KZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjPSIiCgoj
IENvbXBpbGVyIGZsYWcgdG8gZ2VuZXJhdGUgc2hhcmVkIG9iamVjdHMgZGly
ZWN0bHkgZnJvbSBhcmNoaXZlcy4Kd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9
IiIKCiMgV2hldGhlciB0aGUgY29tcGlsZXIgY29wZXMgd2l0aCBwYXNzaW5n
IG5vIG9iamVjdHMgZGlyZWN0bHkuCmNvbXBpbGVyX25lZWRzX29iamVjdD0i
IgoKIyBDcmVhdGUgYW4gb2xkLXN0eWxlIGFyY2hpdmUgZnJvbSBhIHNoYXJl
ZCBhcmNoaXZlLgpvbGRfYXJjaGl2ZV9mcm9tX25ld19jbWRzPSIiCgojIENy
ZWF0ZSBhIHRlbXBvcmFyeSBvbGQtc3R5bGUgYXJjaGl2ZSB0byBsaW5rIGlu
c3RlYWQgb2YgYSBzaGFyZWQgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfZnJvbV9l
eHBzeW1zX2NtZHM9IiIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBhIHNo
YXJlZCBhcmNoaXZlLgphcmNoaXZlX2NtZHM9IiIKYXJjaGl2ZV9leHBzeW1f
Y21kcz0iIgoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1aWxkIGEgbG9hZGFibGUg
bW9kdWxlIGlmIGRpZmZlcmVudCBmcm9tIGJ1aWxkaW5nCiMgYSBzaGFyZWQg
YXJjaGl2ZS4KbW9kdWxlX2NtZHM9IiIKbW9kdWxlX2V4cHN5bV9jbWRzPSIi
CgojIFdoZXRoZXIgd2UgYXJlIGJ1aWxkaW5nIHdpdGggR05VIGxkIG9yIG5v
dC4Kd2l0aF9nbnVfbGQ9IiIKCiMgRmxhZyB0aGF0IGFsbG93cyBzaGFyZWQg
bGlicmFyaWVzIHdpdGggdW5kZWZpbmVkIHN5bWJvbHMgdG8gYmUgYnVpbHQu
CmFsbG93X3VuZGVmaW5lZF9mbGFnPSIiCgojIEZsYWcgdGhhdCBlbmZvcmNl
cyBubyB1bmRlZmluZWQgc3ltYm9scy4Kbm9fdW5kZWZpbmVkX2ZsYWc9IiIK
CiMgRmxhZyB0byBoYXJkY29kZSAkbGliZGlyIGludG8gYSBiaW5hcnkgZHVy
aW5nIGxpbmtpbmcuCiMgVGhpcyBtdXN0IHdvcmsgZXZlbiBpZiAkbGliZGly
IGRvZXMgbm90IGV4aXN0CmhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9IiIK
CiMgV2hldGhlciB3ZSBuZWVkIGEgc2luZ2xlICItcnBhdGgiIGZsYWcgd2l0
aCBhIHNlcGFyYXRlZCBhcmd1bWVudC4KaGFyZGNvZGVfbGliZGlyX3NlcGFy
YXRvcj0iIgoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgRElSL2xpYk5BTUUk
e3NoYXJlZF9leHR9IGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcwojIERJUiBp
bnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9kaXJlY3Q9Cgoj
IFNldCB0byAieWVzIiBpZiB1c2luZyBESVIvbGliTkFNRSR7c2hhcmVkX2V4
dH0gZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzCiMgRElSIGludG8gdGhlIHJl
c3VsdGluZyBiaW5hcnkgYW5kIHRoZSByZXN1bHRpbmcgbGlicmFyeSBkZXBl
bmRlbmN5IGlzCiMgImFic29sdXRlIixpLmUgaW1wb3NzaWJsZSB0byBjaGFu
Z2UgYnkgc2V0dGluZyAke3NobGlicGF0aF92YXJ9IGlmIHRoZQojIGxpYnJh
cnkgaXMgcmVsb2NhdGVkLgpoYXJkY29kZV9kaXJlY3RfYWJzb2x1dGU9Cgoj
IFNldCB0byAieWVzIiBpZiB1c2luZyB0aGUgLUxESVIgZmxhZyBkdXJpbmcg
bGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgcmVzdWx0aW5nIGJp
bmFyeS4KaGFyZGNvZGVfbWludXNfTD0KCiMgU2V0IHRvICJ5ZXMiIGlmIHVz
aW5nIFNITElCUEFUSF9WQVI9RElSIGR1cmluZyBsaW5raW5nIGhhcmRjb2Rl
cyBESVIKIyBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9z
aGxpYnBhdGhfdmFyPQoKIyBTZXQgdG8gInllcyIgaWYgYnVpbGRpbmcgYSBz
aGFyZWQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGhhcmRjb2RlcyBESVIKIyBp
bnRvIHRoZSBsaWJyYXJ5IGFuZCBhbGwgc3Vic2VxdWVudCBsaWJyYXJpZXMg
YW5kIGV4ZWN1dGFibGVzIGxpbmtlZAojIGFnYWluc3QgaXQuCmhhcmRjb2Rl
X2F1dG9tYXRpYz0KCiMgU2V0IHRvIHllcyBpZiBsaW5rZXIgYWRkcyBydW50
aW1lIHBhdGhzIG9mIGRlcGVuZGVudCBsaWJyYXJpZXMKIyB0byBydW50aW1l
IHBhdGggbGlzdC4KaW5oZXJpdF9ycGF0aD0KCiMgV2hldGhlciBsaWJ0b29s
IG11c3QgbGluayBhIHByb2dyYW0gYWdhaW5zdCBhbGwgaXRzIGRlcGVuZGVu
Y3kgbGlicmFyaWVzLgpsaW5rX2FsbF9kZXBsaWJzPQoKIyBTZXQgdG8gInll
cyIgaWYgZXhwb3J0ZWQgc3ltYm9scyBhcmUgcmVxdWlyZWQuCmFsd2F5c19l
eHBvcnRfc3ltYm9scz0KCiMgVGhlIGNvbW1hbmRzIHRvIGxpc3QgZXhwb3J0
ZWQgc3ltYm9scy4KZXhwb3J0X3N5bWJvbHNfY21kcz0iIgoKIyBTeW1ib2xz
IHRoYXQgc2hvdWxkIG5vdCBiZSBsaXN0ZWQgaW4gdGhlIHByZWxvYWRlZCBz
eW1ib2xzLgpleGNsdWRlX2V4cHN5bXM9IiIKCiMgU3ltYm9scyB0aGF0IG11
c3QgYWx3YXlzIGJlIGV4cG9ydGVkLgppbmNsdWRlX2V4cHN5bXM9IiIKCiMg
Q29tbWFuZHMgbmVjZXNzYXJ5IGZvciBsaW5raW5nIHByb2dyYW1zIChhZ2Fp
bnN0IGxpYnJhcmllcykgd2l0aCB0ZW1wbGF0ZXMuCnByZWxpbmtfY21kcz0i
IgoKIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGZpbmlzaGluZyBsaW5raW5n
IHByb2dyYW1zLgpwb3N0bGlua19jbWRzPSIiCgojIFNwZWNpZnkgZmlsZW5h
bWUgY29udGFpbmluZyBpbnB1dCBmaWxlcy4KZmlsZV9saXN0X3NwZWM9IiIK
CiMgSG93IHRvIGhhcmRjb2RlIGEgc2hhcmVkIGxpYnJhcnkgcGF0aCBpbnRv
IGFuIGV4ZWN1dGFibGUuCmhhcmRjb2RlX2FjdGlvbj0KCiMgVGhlIGRpcmVj
dG9yaWVzIHNlYXJjaGVkIGJ5IHRoaXMgY29tcGlsZXIgd2hlbiBjcmVhdGlu
ZyBhIHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2VhcmNoX2RpcnM9
IiIKCiMgRGVwZW5kZW5jaWVzIHRvIHBsYWNlIGJlZm9yZSBhbmQgYWZ0ZXIg
dGhlIG9iamVjdHMgYmVpbmcgbGlua2VkIHRvCiMgY3JlYXRlIGEgc2hhcmVk
IGxpYnJhcnkuCnByZWRlcF9vYmplY3RzPSIiCnBvc3RkZXBfb2JqZWN0cz0i
IgpwcmVkZXBzPSIiCnBvc3RkZXBzPSIiCgojIFRoZSBsaWJyYXJ5IHNlYXJj
aCBwYXRoIHVzZWQgaW50ZXJuYWxseSBieSB0aGUgY29tcGlsZXIgd2hlbiBs
aW5raW5nCiMgYSBzaGFyZWQgbGlicmFyeS4KY29tcGlsZXJfbGliX3NlYXJj
aF9wYXRoPSIiCgojICMjIyBFTkQgTElCVE9PTCBUQUcgQ09ORklHOiBHTwoK
IyAjIyMgQkVHSU4gTElCVE9PTCBUQUcgQ09ORklHOiBHQ0oKCiMgVGhlIGxp
bmtlciB1c2VkIHRvIGJ1aWxkIGxpYnJhcmllcy4KTEQ9ImM6L3Rpbmd3L21p
bmd3MzIvYmluL2xkLmV4ZSIKCiMgSG93IHRvIGNyZWF0ZSByZWxvYWRhYmxl
IG9iamVjdCBmaWxlcy4KcmVsb2FkX2ZsYWc9IiAtciIKcmVsb2FkX2NtZHM9
IlwkTERcJHJlbG9hZF9mbGFnIC1vIFwkb3V0cHV0XCRyZWxvYWRfb2JqcyIK
CiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBhbiBvbGQtc3R5bGUgYXJjaGl2
ZS4Kb2xkX2FyY2hpdmVfY21kcz0iXCRBUiBcJEFSX0ZMQUdTIFwkb2xkbGli
XCRvbGRvYmpzflwkUkFOTElCIFwkdG9vbF9vbGRsaWIiCgojIEEgbGFuZ3Vh
Z2Ugc3BlY2lmaWMgY29tcGlsZXIuCkNDPSIiCgojIElzIHRoZSBjb21waWxl
ciB0aGUgR05VIGNvbXBpbGVyPwp3aXRoX2djYz0KCiMgQ29tcGlsZXIgZmxh
ZyB0byB0dXJuIG9mZiBidWlsdGluIGZ1bmN0aW9ucy4Kbm9fYnVpbHRpbl9m
bGFnPSIiCgojIEFkZGl0aW9uYWwgY29tcGlsZXIgZmxhZ3MgZm9yIGJ1aWxk
aW5nIGxpYnJhcnkgb2JqZWN0cy4KcGljX2ZsYWc9IiIKCiMgSG93IHRvIHBh
c3MgYSBsaW5rZXIgZmxhZyB0aHJvdWdoIHRoZSBjb21waWxlci4Kd2w9IiIK
CiMgQ29tcGlsZXIgZmxhZyB0byBwcmV2ZW50IGR5bmFtaWMgbGlua2luZy4K
bGlua19zdGF0aWNfZmxhZz0iIgoKIyBEb2VzIGNvbXBpbGVyIHNpbXVsdGFu
ZW91c2x5IHN1cHBvcnQgLWMgYW5kIC1vIG9wdGlvbnM/CmNvbXBpbGVyX2Nf
bz0iIgoKIyBXaGV0aGVyIG9yIG5vdCB0byBhZGQgLWxjIGZvciBidWlsZGlu
ZyBzaGFyZWQgbGlicmFyaWVzLgpidWlsZF9saWJ0b29sX25lZWRfbGM9bm8K
CiMgV2hldGhlciBvciBub3QgdG8gZGlzYWxsb3cgc2hhcmVkIGxpYnMgd2hl
biBydW50aW1lIGxpYnMgYXJlIHN0YXRpYy4KYWxsb3dfbGlidG9vbF9saWJz
X3dpdGhfc3RhdGljX3J1bnRpbWVzPQoKIyBDb21waWxlciBmbGFnIHRvIGFs
bG93IHJlZmxleGl2ZSBkbG9wZW5zLgpleHBvcnRfZHluYW1pY19mbGFnX3Nw
ZWM9IiIKCiMgQ29tcGlsZXIgZmxhZyB0byBnZW5lcmF0ZSBzaGFyZWQgb2Jq
ZWN0cyBkaXJlY3RseSBmcm9tIGFyY2hpdmVzLgp3aG9sZV9hcmNoaXZlX2Zs
YWdfc3BlYz0iIgoKIyBXaGV0aGVyIHRoZSBjb21waWxlciBjb3BlcyB3aXRo
IHBhc3Npbmcgbm8gb2JqZWN0cyBkaXJlY3RseS4KY29tcGlsZXJfbmVlZHNf
b2JqZWN0PSIiCgojIENyZWF0ZSBhbiBvbGQtc3R5bGUgYXJjaGl2ZSBmcm9t
IGEgc2hhcmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHM9
IiIKCiMgQ3JlYXRlIGEgdGVtcG9yYXJ5IG9sZC1zdHlsZSBhcmNoaXZlIHRv
IGxpbmsgaW5zdGVhZCBvZiBhIHNoYXJlZCBhcmNoaXZlLgpvbGRfYXJjaGl2
ZV9mcm9tX2V4cHN5bXNfY21kcz0iIgoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1
aWxkIGEgc2hhcmVkIGFyY2hpdmUuCmFyY2hpdmVfY21kcz0iIgphcmNoaXZl
X2V4cHN5bV9jbWRzPSIiCgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQgYSBs
b2FkYWJsZSBtb2R1bGUgaWYgZGlmZmVyZW50IGZyb20gYnVpbGRpbmcKIyBh
IHNoYXJlZCBhcmNoaXZlLgptb2R1bGVfY21kcz0iIgptb2R1bGVfZXhwc3lt
X2NtZHM9IiIKCiMgV2hldGhlciB3ZSBhcmUgYnVpbGRpbmcgd2l0aCBHTlUg
bGQgb3Igbm90Lgp3aXRoX2dudV9sZD0iIgoKIyBGbGFnIHRoYXQgYWxsb3dz
IHNoYXJlZCBsaWJyYXJpZXMgd2l0aCB1bmRlZmluZWQgc3ltYm9scyB0byBi
ZSBidWlsdC4KYWxsb3dfdW5kZWZpbmVkX2ZsYWc9IiIKCiMgRmxhZyB0aGF0
IGVuZm9yY2VzIG5vIHVuZGVmaW5lZCBzeW1ib2xzLgpub191bmRlZmluZWRf
ZmxhZz0iIgoKIyBGbGFnIHRvIGhhcmRjb2RlICRsaWJkaXIgaW50byBhIGJp
bmFyeSBkdXJpbmcgbGlua2luZy4KIyBUaGlzIG11c3Qgd29yayBldmVuIGlm
ICRsaWJkaXIgZG9lcyBub3QgZXhpc3QKaGFyZGNvZGVfbGliZGlyX2ZsYWdf
c3BlYz0iIgoKIyBXaGV0aGVyIHdlIG5lZWQgYSBzaW5nbGUgIi1ycGF0aCIg
ZmxhZyB3aXRoIGEgc2VwYXJhdGVkIGFyZ3VtZW50LgpoYXJkY29kZV9saWJk
aXJfc2VwYXJhdG9yPSIiCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBESVIv
bGliTkFNRSR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVz
CiMgRElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2RlX2Rp
cmVjdD0KCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5nIERJUi9saWJOQU1FJHtz
aGFyZWRfZXh0fSBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMKIyBESVIgaW50
byB0aGUgcmVzdWx0aW5nIGJpbmFyeSBhbmQgdGhlIHJlc3VsdGluZyBsaWJy
YXJ5IGRlcGVuZGVuY3kgaXMKIyAiYWJzb2x1dGUiLGkuZSBpbXBvc3NpYmxl
IHRvIGNoYW5nZSBieSBzZXR0aW5nICR7c2hsaWJwYXRoX3Zhcn0gaWYgdGhl
CiMgbGlicmFyeSBpcyByZWxvY2F0ZWQuCmhhcmRjb2RlX2RpcmVjdF9hYnNv
bHV0ZT0KCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5nIHRoZSAtTERJUiBmbGFn
IGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcyBESVIKIyBpbnRvIHRoZSByZXN1
bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9taW51c19MPQoKIyBTZXQgdG8gInll
cyIgaWYgdXNpbmcgU0hMSUJQQVRIX1ZBUj1ESVIgZHVyaW5nIGxpbmtpbmcg
aGFyZGNvZGVzIERJUgojIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhh
cmRjb2RlX3NobGlicGF0aF92YXI9CgojIFNldCB0byAieWVzIiBpZiBidWls
ZGluZyBhIHNoYXJlZCBsaWJyYXJ5IGF1dG9tYXRpY2FsbHkgaGFyZGNvZGVz
IERJUgojIGludG8gdGhlIGxpYnJhcnkgYW5kIGFsbCBzdWJzZXF1ZW50IGxp
YnJhcmllcyBhbmQgZXhlY3V0YWJsZXMgbGlua2VkCiMgYWdhaW5zdCBpdC4K
aGFyZGNvZGVfYXV0b21hdGljPQoKIyBTZXQgdG8geWVzIGlmIGxpbmtlciBh
ZGRzIHJ1bnRpbWUgcGF0aHMgb2YgZGVwZW5kZW50IGxpYnJhcmllcwojIHRv
IHJ1bnRpbWUgcGF0aCBsaXN0Lgppbmhlcml0X3JwYXRoPQoKIyBXaGV0aGVy
IGxpYnRvb2wgbXVzdCBsaW5rIGEgcHJvZ3JhbSBhZ2FpbnN0IGFsbCBpdHMg
ZGVwZW5kZW5jeSBsaWJyYXJpZXMuCmxpbmtfYWxsX2RlcGxpYnM9CgojIFNl
dCB0byAieWVzIiBpZiBleHBvcnRlZCBzeW1ib2xzIGFyZSByZXF1aXJlZC4K
YWx3YXlzX2V4cG9ydF9zeW1ib2xzPQoKIyBUaGUgY29tbWFuZHMgdG8gbGlz
dCBleHBvcnRlZCBzeW1ib2xzLgpleHBvcnRfc3ltYm9sc19jbWRzPSIiCgoj
IFN5bWJvbHMgdGhhdCBzaG91bGQgbm90IGJlIGxpc3RlZCBpbiB0aGUgcHJl
bG9hZGVkIHN5bWJvbHMuCmV4Y2x1ZGVfZXhwc3ltcz0iIgoKIyBTeW1ib2xz
IHRoYXQgbXVzdCBhbHdheXMgYmUgZXhwb3J0ZWQuCmluY2x1ZGVfZXhwc3lt
cz0iIgoKIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgcHJvZ3Jh
bXMgKGFnYWluc3QgbGlicmFyaWVzKSB3aXRoIHRlbXBsYXRlcy4KcHJlbGlu
a19jbWRzPSIiCgojIENvbW1hbmRzIG5lY2Vzc2FyeSBmb3IgZmluaXNoaW5n
IGxpbmtpbmcgcHJvZ3JhbXMuCnBvc3RsaW5rX2NtZHM9IiIKCiMgU3BlY2lm
eSBmaWxlbmFtZSBjb250YWluaW5nIGlucHV0IGZpbGVzLgpmaWxlX2xpc3Rf
c3BlYz0iIgoKIyBIb3cgdG8gaGFyZGNvZGUgYSBzaGFyZWQgbGlicmFyeSBw
YXRoIGludG8gYW4gZXhlY3V0YWJsZS4KaGFyZGNvZGVfYWN0aW9uPQoKIyBU
aGUgZGlyZWN0b3JpZXMgc2VhcmNoZWQgYnkgdGhpcyBjb21waWxlciB3aGVu
IGNyZWF0aW5nIGEgc2hhcmVkIGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9zZWFy
Y2hfZGlycz0iIgoKIyBEZXBlbmRlbmNpZXMgdG8gcGxhY2UgYmVmb3JlIGFu
ZCBhZnRlciB0aGUgb2JqZWN0cyBiZWluZyBsaW5rZWQgdG8KIyBjcmVhdGUg
YSBzaGFyZWQgbGlicmFyeS4KcHJlZGVwX29iamVjdHM9IiIKcG9zdGRlcF9v
YmplY3RzPSIiCnByZWRlcHM9IiIKcG9zdGRlcHM9IiIKCiMgVGhlIGxpYnJh
cnkgc2VhcmNoIHBhdGggdXNlZCBpbnRlcm5hbGx5IGJ5IHRoZSBjb21waWxl
ciB3aGVuIGxpbmtpbmcKIyBhIHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9s
aWJfc2VhcmNoX3BhdGg9IiIKCiMgIyMjIEVORCBMSUJUT09MIFRBRyBDT05G
SUc6IEdDSgoKIyAjIyMgQkVHSU4gTElCVE9PTCBUQUcgQ09ORklHOiBSQwoK
IyBUaGUgbGlua2VyIHVzZWQgdG8gYnVpbGQgbGlicmFyaWVzLgpMRD0iIgoK
IyBIb3cgdG8gY3JlYXRlIHJlbG9hZGFibGUgb2JqZWN0IGZpbGVzLgpyZWxv
YWRfZmxhZz0iIgpyZWxvYWRfY21kcz0iIgoKIyBDb21tYW5kcyB1c2VkIHRv
IGJ1aWxkIGFuIG9sZC1zdHlsZSBhcmNoaXZlLgpvbGRfYXJjaGl2ZV9jbWRz
PSIiCgojIEEgbGFuZ3VhZ2Ugc3BlY2lmaWMgY29tcGlsZXIuCkNDPSJ3aW5k
cmVzIgoKIyBJcyB0aGUgY29tcGlsZXIgdGhlIEdOVSBjb21waWxlcj8Kd2l0
aF9nY2M9CgojIENvbXBpbGVyIGZsYWcgdG8gdHVybiBvZmYgYnVpbHRpbiBm
dW5jdGlvbnMuCm5vX2J1aWx0aW5fZmxhZz0iIgoKIyBBZGRpdGlvbmFsIGNv
bXBpbGVyIGZsYWdzIGZvciBidWlsZGluZyBsaWJyYXJ5IG9iamVjdHMuCnBp
Y19mbGFnPSIiCgojIEhvdyB0byBwYXNzIGEgbGlua2VyIGZsYWcgdGhyb3Vn
aCB0aGUgY29tcGlsZXIuCndsPSIiCgojIENvbXBpbGVyIGZsYWcgdG8gcHJl
dmVudCBkeW5hbWljIGxpbmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9IiIKCiMg
RG9lcyBjb21waWxlciBzaW11bHRhbmVvdXNseSBzdXBwb3J0IC1jIGFuZCAt
byBvcHRpb25zPwpjb21waWxlcl9jX289InllcyIKCiMgV2hldGhlciBvciBu
b3QgdG8gYWRkIC1sYyBmb3IgYnVpbGRpbmcgc2hhcmVkIGxpYnJhcmllcy4K
YnVpbGRfbGlidG9vbF9uZWVkX2xjPQoKIyBXaGV0aGVyIG9yIG5vdCB0byBk
aXNhbGxvdyBzaGFyZWQgbGlicyB3aGVuIHJ1bnRpbWUgbGlicyBhcmUgc3Rh
dGljLgphbGxvd19saWJ0b29sX2xpYnNfd2l0aF9zdGF0aWNfcnVudGltZXM9
CgojIENvbXBpbGVyIGZsYWcgdG8gYWxsb3cgcmVmbGV4aXZlIGRsb3BlbnMu
CmV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYz0iIgoKIyBDb21waWxlciBmbGFn
IHRvIGdlbmVyYXRlIHNoYXJlZCBvYmplY3RzIGRpcmVjdGx5IGZyb20gYXJj
aGl2ZXMuCndob2xlX2FyY2hpdmVfZmxhZ19zcGVjPSIiCgojIFdoZXRoZXIg
dGhlIGNvbXBpbGVyIGNvcGVzIHdpdGggcGFzc2luZyBubyBvYmplY3RzIGRp
cmVjdGx5Lgpjb21waWxlcl9uZWVkc19vYmplY3Q9IiIKCiMgQ3JlYXRlIGFu
IG9sZC1zdHlsZSBhcmNoaXZlIGZyb20gYSBzaGFyZWQgYXJjaGl2ZS4Kb2xk
X2FyY2hpdmVfZnJvbV9uZXdfY21kcz0iIgoKIyBDcmVhdGUgYSB0ZW1wb3Jh
cnkgb2xkLXN0eWxlIGFyY2hpdmUgdG8gbGluayBpbnN0ZWFkIG9mIGEgc2hh
cmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzPSIi
CgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQgYSBzaGFyZWQgYXJjaGl2ZS4K
YXJjaGl2ZV9jbWRzPSIiCmFyY2hpdmVfZXhwc3ltX2NtZHM9IiIKCiMgQ29t
bWFuZHMgdXNlZCB0byBidWlsZCBhIGxvYWRhYmxlIG1vZHVsZSBpZiBkaWZm
ZXJlbnQgZnJvbSBidWlsZGluZwojIGEgc2hhcmVkIGFyY2hpdmUuCm1vZHVs
ZV9jbWRzPSIiCm1vZHVsZV9leHBzeW1fY21kcz0iIgoKIyBXaGV0aGVyIHdl
IGFyZSBidWlsZGluZyB3aXRoIEdOVSBsZCBvciBub3QuCndpdGhfZ251X2xk
PSIiCgojIEZsYWcgdGhhdCBhbGxvd3Mgc2hhcmVkIGxpYnJhcmllcyB3aXRo
IHVuZGVmaW5lZCBzeW1ib2xzIHRvIGJlIGJ1aWx0LgphbGxvd191bmRlZmlu
ZWRfZmxhZz0iIgoKIyBGbGFnIHRoYXQgZW5mb3JjZXMgbm8gdW5kZWZpbmVk
IHN5bWJvbHMuCm5vX3VuZGVmaW5lZF9mbGFnPSIiCgojIEZsYWcgdG8gaGFy
ZGNvZGUgJGxpYmRpciBpbnRvIGEgYmluYXJ5IGR1cmluZyBsaW5raW5nLgoj
IFRoaXMgbXVzdCB3b3JrIGV2ZW4gaWYgJGxpYmRpciBkb2VzIG5vdCBleGlz
dApoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSIiCgojIFdoZXRoZXIgd2Ug
bmVlZCBhIHNpbmdsZSAiLXJwYXRoIiBmbGFnIHdpdGggYSBzZXBhcmF0ZWQg
YXJndW1lbnQuCmhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3I9IiIKCiMgU2V0
IHRvICJ5ZXMiIGlmIHVzaW5nIERJUi9saWJOQU1FJHtzaGFyZWRfZXh0fSBk
dXJpbmcgbGlua2luZyBoYXJkY29kZXMKIyBESVIgaW50byB0aGUgcmVzdWx0
aW5nIGJpbmFyeS4KaGFyZGNvZGVfZGlyZWN0PQoKIyBTZXQgdG8gInllcyIg
aWYgdXNpbmcgRElSL2xpYk5BTUUke3NoYXJlZF9leHR9IGR1cmluZyBsaW5r
aW5nIGhhcmRjb2RlcwojIERJUiBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5
IGFuZCB0aGUgcmVzdWx0aW5nIGxpYnJhcnkgZGVwZW5kZW5jeSBpcwojICJh
YnNvbHV0ZSIsaS5lIGltcG9zc2libGUgdG8gY2hhbmdlIGJ5IHNldHRpbmcg
JHtzaGxpYnBhdGhfdmFyfSBpZiB0aGUKIyBsaWJyYXJ5IGlzIHJlbG9jYXRl
ZC4KaGFyZGNvZGVfZGlyZWN0X2Fic29sdXRlPQoKIyBTZXQgdG8gInllcyIg
aWYgdXNpbmcgdGhlIC1MRElSIGZsYWcgZHVyaW5nIGxpbmtpbmcgaGFyZGNv
ZGVzIERJUgojIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2Rl
X21pbnVzX0w9CgojIFNldCB0byAieWVzIiBpZiB1c2luZyBTSExJQlBBVEhf
VkFSPURJUiBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0
aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0K
CiMgU2V0IHRvICJ5ZXMiIGlmIGJ1aWxkaW5nIGEgc2hhcmVkIGxpYnJhcnkg
YXV0b21hdGljYWxseSBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgbGlicmFy
eSBhbmQgYWxsIHN1YnNlcXVlbnQgbGlicmFyaWVzIGFuZCBleGVjdXRhYmxl
cyBsaW5rZWQKIyBhZ2FpbnN0IGl0LgpoYXJkY29kZV9hdXRvbWF0aWM9Cgoj
IFNldCB0byB5ZXMgaWYgbGlua2VyIGFkZHMgcnVudGltZSBwYXRocyBvZiBk
ZXBlbmRlbnQgbGlicmFyaWVzCiMgdG8gcnVudGltZSBwYXRoIGxpc3QuCmlu
aGVyaXRfcnBhdGg9CgojIFdoZXRoZXIgbGlidG9vbCBtdXN0IGxpbmsgYSBw
cm9ncmFtIGFnYWluc3QgYWxsIGl0cyBkZXBlbmRlbmN5IGxpYnJhcmllcy4K
bGlua19hbGxfZGVwbGlicz0KCiMgU2V0IHRvICJ5ZXMiIGlmIGV4cG9ydGVk
IHN5bWJvbHMgYXJlIHJlcXVpcmVkLgphbHdheXNfZXhwb3J0X3N5bWJvbHM9
CgojIFRoZSBjb21tYW5kcyB0byBsaXN0IGV4cG9ydGVkIHN5bWJvbHMuCmV4
cG9ydF9zeW1ib2xzX2NtZHM9IiIKCiMgU3ltYm9scyB0aGF0IHNob3VsZCBu
b3QgYmUgbGlzdGVkIGluIHRoZSBwcmVsb2FkZWQgc3ltYm9scy4KZXhjbHVk
ZV9leHBzeW1zPSIiCgojIFN5bWJvbHMgdGhhdCBtdXN0IGFsd2F5cyBiZSBl
eHBvcnRlZC4KaW5jbHVkZV9leHBzeW1zPSIiCgojIENvbW1hbmRzIG5lY2Vz
c2FyeSBmb3IgbGlua2luZyBwcm9ncmFtcyAoYWdhaW5zdCBsaWJyYXJpZXMp
IHdpdGggdGVtcGxhdGVzLgpwcmVsaW5rX2NtZHM9IiIKCiMgQ29tbWFuZHMg
bmVjZXNzYXJ5IGZvciBmaW5pc2hpbmcgbGlua2luZyBwcm9ncmFtcy4KcG9z
dGxpbmtfY21kcz0iIgoKIyBTcGVjaWZ5IGZpbGVuYW1lIGNvbnRhaW5pbmcg
aW5wdXQgZmlsZXMuCmZpbGVfbGlzdF9zcGVjPSIiCgojIEhvdyB0byBoYXJk
Y29kZSBhIHNoYXJlZCBsaWJyYXJ5IHBhdGggaW50byBhbiBleGVjdXRhYmxl
LgpoYXJkY29kZV9hY3Rpb249CgojIFRoZSBkaXJlY3RvcmllcyBzZWFyY2hl
ZCBieSB0aGlzIGNvbXBpbGVyIHdoZW4gY3JlYXRpbmcgYSBzaGFyZWQgbGli
cmFyeS4KY29tcGlsZXJfbGliX3NlYXJjaF9kaXJzPSIiCgojIERlcGVuZGVu
Y2llcyB0byBwbGFjZSBiZWZvcmUgYW5kIGFmdGVyIHRoZSBvYmplY3RzIGJl
aW5nIGxpbmtlZCB0bwojIGNyZWF0ZSBhIHNoYXJlZCBsaWJyYXJ5LgpwcmVk
ZXBfb2JqZWN0cz0iIgpwb3N0ZGVwX29iamVjdHM9IiIKcHJlZGVwcz0iIgpw
b3N0ZGVwcz0iIgoKIyBUaGUgbGlicmFyeSBzZWFyY2ggcGF0aCB1c2VkIGlu
dGVybmFsbHkgYnkgdGhlIGNvbXBpbGVyIHdoZW4gbGlua2luZwojIGEgc2hh
cmVkIGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9zZWFyY2hfcGF0aD0iIgoKIyAj
IyMgRU5EIExJQlRPT0wgVEFHIENPTkZJRzogUkMK

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

IyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIGNvbXBpbGF0aW9u
IC0qLQo5Ny4gbm9ucmVjdXJzaXZlLmF0OjEyNjogdGVzdGluZyBpbnN0YWxs
YWJsZSBsaWJsdGRsIC4uLgpsaWJ0b29saXplOiBwdXR0aW5nIGF1eGlsaWFy
eSBmaWxlcyBpbiBBQ19DT05GSUdfQVVYX0RJUiwgYGx0ZGwvY29uZmlnJy4K
bGlidG9vbGl6ZTogY29weWluZyBmaWxlIGBsdGRsL2NvbmZpZy9sdG1haW4u
c2gnCmxpYnRvb2xpemU6IHB1dHRpbmcgbWFjcm9zIGluIEFDX0NPTkZJR19N
QUNST19ESVIsIGBsdGRsL200Jy4KbGlidG9vbGl6ZTogY29weWluZyBmaWxl
IGBsdGRsL200L2FyZ3oubTQnCmxpYnRvb2xpemU6IGNvcHlpbmcgZmlsZSBg
bHRkbC9tNC9saWJ0b29sLm00JwpsaWJ0b29saXplOiBjb3B5aW5nIGZpbGUg
YGx0ZGwvbTQvbHRkbC5tNCcKbGlidG9vbGl6ZTogY29weWluZyBmaWxlIGBs
dGRsL200L2x0b3B0aW9ucy5tNCcKbGlidG9vbGl6ZTogY29weWluZyBmaWxl
IGBsdGRsL200L2x0c3VnYXIubTQnCmxpYnRvb2xpemU6IGNvcHlpbmcgZmls
ZSBgbHRkbC9tNC9sdHZlcnNpb24ubTQnCmxpYnRvb2xpemU6IGNvcHlpbmcg
ZmlsZSBgbHRkbC9tNC9sdH5vYnNvbGV0ZS5tNCcKbGlidG9vbGl6ZTogcHV0
dGluZyBsaWJsdGRsIGZpbGVzIGluIExUX0NPTkZJR19MVERMX0RJUiwgYGx0
ZGwnLgpsaWJ0b29saXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvQ09QWUlORy5M
SUInCmxpYnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9SRUFETUUnCmxp
YnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9hcmd6Xy5oJwpsaWJ0b29s
aXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvYXJnei5jJwpsaWJ0b29saXplOiBj
b3B5aW5nIGZpbGUgYGx0ZGwvbG9hZGVycy9kbGRfbGluay5jJwpsaWJ0b29s
aXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvbG9hZGVycy9kbG9wZW4uYycKbGli
dG9vbGl6ZTogY29weWluZyBmaWxlIGBsdGRsL2xvYWRlcnMvZHlsZC5jJwps
aWJ0b29saXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvbG9hZGVycy9sb2FkX2Fk
ZF9vbi5jJwpsaWJ0b29saXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvbG9hZGVy
cy9sb2FkbGlicmFyeS5jJwpsaWJ0b29saXplOiBjb3B5aW5nIGZpbGUgYGx0
ZGwvbG9hZGVycy9zaGxfbG9hZC5jJwpsaWJ0b29saXplOiBjb3B5aW5nIGZp
bGUgYGx0ZGwvbHRfX2RpcmVudC5jJwpsaWJ0b29saXplOiBjb3B5aW5nIGZp
bGUgYGx0ZGwvbHRfX3N0cmwuYycKbGlidG9vbGl6ZTogY29weWluZyBmaWxl
IGBsdGRsL2xpYmx0ZGwvbHRfX2FsbG9jLmgnCmxpYnRvb2xpemU6IGNvcHlp
bmcgZmlsZSBgbHRkbC9saWJsdGRsL2x0X19kaXJlbnQuaCcKbGlidG9vbGl6
ZTogY29weWluZyBmaWxlIGBsdGRsL2xpYmx0ZGwvbHRfX2dsaWJjLmgnCmxp
YnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9saWJsdGRsL2x0X19wcml2
YXRlLmgnCmxpYnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9saWJsdGRs
L2x0X19zdHJsLmgnCmxpYnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9s
aWJsdGRsL2x0X2RsbG9hZGVyLmgnCmxpYnRvb2xpemU6IGNvcHlpbmcgZmls
ZSBgbHRkbC9saWJsdGRsL2x0X2Vycm9yLmgnCmxpYnRvb2xpemU6IGNvcHlp
bmcgZmlsZSBgbHRkbC9saWJsdGRsL2x0X3N5c3RlbS5oJwpsaWJ0b29saXpl
OiBjb3B5aW5nIGZpbGUgYGx0ZGwvbGlibHRkbC9zbGlzdC5oJwpsaWJ0b29s
aXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvbG9hZGVycy9wcmVvcGVuLmMnCmxp
YnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9sdF9fYWxsb2MuYycKbGli
dG9vbGl6ZTogY29weWluZyBmaWxlIGBsdGRsL2x0X2RsbG9hZGVyLmMnCmxp
YnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9sdF9lcnJvci5jJwpsaWJ0
b29saXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvbHRkbC5jJwpsaWJ0b29saXpl
OiBjb3B5aW5nIGZpbGUgYGx0ZGwvbHRkbC5oJwpsaWJ0b29saXplOiBjb3B5
aW5nIGZpbGUgYGx0ZGwvc2xpc3QuYycKbGlidG9vbGl6ZTogY3JlYXRpbmcg
ZmlsZSBgbHRkbC9NYWtlZmlsZS5pbmMnCi9NaW5HVy9zaGFyZS9hdXRvbWFr
ZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvbm9ucmVjdXJzaXZlLmF0OjEz
MzogaWYgdGVzdCAtZiBsdGRsL2NvbmZpZ3VyZS5hYzsgdGhlbiBmYWxzZTsg
ZmkKL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90
ZXN0cy9ub25yZWN1cnNpdmUuYXQ6MTQwOiAkQUNMT0NBTCAtSSBsdGRsL200
CnN0ZGVycjoKc3Rkb3V0OgovTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9s
aWJ0b29sLTIuNC4yL3Rlc3RzL25vbnJlY3Vyc2l2ZS5hdDoxNDA6ICRBVVRP
SEVBREVSIApzdGRlcnI6CnN0ZG91dDoKL01pbkdXL3NoYXJlL2F1dG9tYWtl
LTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9ub25yZWN1cnNpdmUuYXQ6MTQw
OiAkQVVUT01BS0UgLS1hZGQtbWlzc2luZyAtLWNvcHkKc3RkZXJyOgpjb25m
aWd1cmUuYWM6OTogaW5zdGFsbGluZyBgbHRkbC9jb25maWcvY29tcGlsZScK
Y29uZmlndXJlLmFjOjEwOiBpbnN0YWxsaW5nIGBsdGRsL2NvbmZpZy9jb25m
aWcuZ3Vlc3MnCmNvbmZpZ3VyZS5hYzoxMDogaW5zdGFsbGluZyBgbHRkbC9j
b25maWcvY29uZmlnLnN1YicKY29uZmlndXJlLmFjOjc6IGluc3RhbGxpbmcg
YGx0ZGwvY29uZmlnL2luc3RhbGwtc2gnCmNvbmZpZ3VyZS5hYzo3OiBpbnN0
YWxsaW5nIGBsdGRsL2NvbmZpZy9taXNzaW5nJwpNYWtlZmlsZS5hbTogaW5z
dGFsbGluZyBgbHRkbC9jb25maWcvZGVwY29tcCcKc3Rkb3V0OgovTWluR1cv
c2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL25vbnJl
Y3Vyc2l2ZS5hdDoxNDA6ICRBVVRPQ09ORiAKc3RkZXJyOgpzdGRvdXQ6Ci9N
aW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMv
bm9ucmVjdXJzaXZlLmF0OjE0MDogOiAke0NPTkZJR19TSEVMTD0vYmluL3No
fTsgZXhwb3J0IENPTkZJR19TSEVMTDsgCSAgJENPTkZJR19TSEVMTCAuL2Nv
bmZpZ3VyZSAkY29uZmlndXJlX29wdGlvbnMgLS1lbmFibGUtbHRkbC1pbnN0
YWxsIC0tcHJlZml4PSRwcmVmaXgKc3RkZXJyOgpzdGRvdXQ6CmNoZWNraW5n
IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL2Jpbi9pbnN0YWxs
IC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2Fu
ZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAu
Li4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNo
ZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNr
aW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29t
cGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRl
ZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLmV4ZQpjaGVja2luZyBmb3Ig
c3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIC5leGUKY2hlY2tpbmcgd2hldGhl
ciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBz
dWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3
ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2lu
ZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3Ig
Z2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApj
aGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4g
R05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMK
Y2hlY2tpbmcgd2hldGhlciBnY2MgYW5kIGNjIHVuZGVyc3RhbmQgLWMgYW5k
IC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyBidWlsZCBzeXN0ZW0gdHlw
ZS4uLiBpNjg2LXBjLW1pbmd3MzIKY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlw
ZS4uLiBpNjg2LXBjLW1pbmd3MzIKY2hlY2tpbmcgaG93IHRvIHByaW50IHN0
cmluZ3MuLi4gcHJpbnRmCmNoZWNraW5nIGZvciBhIHNlZCB0aGF0IGRvZXMg
bm90IHRydW5jYXRlIG91dHB1dC4uLiAvYmluL3NlZApjaGVja2luZyBmb3Ig
Z3JlcCB0aGF0IGhhbmRsZXMgbG9uZyBsaW5lcyBhbmQgLWUuLi4gL2Jpbi9n
cmVwCmNoZWNraW5nIGZvciBlZ3JlcC4uLiAvYmluL2dyZXAgLUUKY2hlY2tp
bmcgZm9yIGZncmVwLi4uIC9iaW4vZ3JlcCAtRgpjaGVja2luZyBmb3IgbGQg
dXNlZCBieSBnY2MuLi4gYzovdGluZ3cvbWluZ3czMi9iaW4vbGQuZXhlCmNo
ZWNraW5nIGlmIHRoZSBsaW5rZXIgKGM6L3Rpbmd3L21pbmd3MzIvYmluL2xk
LmV4ZSkgaXMgR05VIGxkLi4uIHllcwpjaGVja2luZyBmb3IgQlNELSBvciBN
Uy1jb21wYXRpYmxlIG5hbWUgbGlzdGVyIChubSkuLi4gL2Jpbi9ubSAtQgpj
aGVja2luZyB0aGUgbmFtZSBsaXN0ZXIgKC9iaW4vbm0gLUIpIGludGVyZmFj
ZS4uLiBCU0Qgbm0KY2hlY2tpbmcgd2hldGhlciBsbiAtcyB3b3Jrcy4uLiBu
bywgdXNpbmcgY3AgLXAKY2hlY2tpbmcgdGhlIG1heGltdW0gbGVuZ3RoIG9m
IGNvbW1hbmQgbGluZSBhcmd1bWVudHMuLi4gODE5MgpjaGVja2luZyB3aGV0
aGVyIHRoZSBzaGVsbCB1bmRlcnN0YW5kcyBzb21lIFhTSSBjb25zdHJ1Y3Rz
Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1bmRlcnN0YW5k
cyAiKz0iLi4uIHllcwpjaGVja2luZyBob3cgdG8gY29udmVydCBpNjg2LXBj
LW1pbmd3MzIgZmlsZSBuYW1lcyB0byBpNjg2LXBjLW1pbmd3MzIgZm9ybWF0
Li4uIChjYWNoZWQpIGZ1bmNfY29udmVydF9maWxlX21zeXNfdG9fdzMyCmNo
ZWNraW5nIGhvdyB0byBjb252ZXJ0IGk2ODYtcGMtbWluZ3czMiBmaWxlIG5h
bWVzIHRvIHRvb2xjaGFpbiBmb3JtYXQuLi4gKGNhY2hlZCkgZnVuY19jb252
ZXJ0X2ZpbGVfbXN5c190b193MzIKY2hlY2tpbmcgZm9yIGM6L3Rpbmd3L21p
bmd3MzIvYmluL2xkLmV4ZSBvcHRpb24gdG8gcmVsb2FkIG9iamVjdCBmaWxl
cy4uLiAtcgpjaGVja2luZyBmb3Igb2JqZHVtcC4uLiBvYmpkdW1wCmNoZWNr
aW5nIGhvdyB0byByZWNvZ25pemUgZGVwZW5kZW50IGxpYnJhcmllcy4uLiBm
aWxlX21hZ2ljIF54ODYgYXJjaGl2ZSBpbXBvcnR8Xng4NiBETEwKY2hlY2tp
bmcgZm9yIGRsbHRvb2wuLi4gZGxsdG9vbApjaGVja2luZyBob3cgdG8gYXNz
b2NpYXRlIHJ1bnRpbWUgYW5kIGxpbmsgbGlicmFyaWVzLi4uIGZ1bmNfY3ln
bWluZ19kbGxfZm9yX2ltcGxpYgpjaGVja2luZyBmb3IgYXJjaGl2ZXIgQEZJ
TEUgc3VwcG9ydC4uLiBACmNoZWNraW5nIGZvciBzdHJpcC4uLiBzdHJpcApj
aGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyBjb21tYW5k
IHRvIHBhcnNlIC9iaW4vbm0gLUIgb3V0cHV0IGZyb20gZ2NjIG9iamVjdC4u
LiBvawpjaGVja2luZyBmb3Igc3lzcm9vdC4uLiBubwpjaGVja2luZyBmb3Ig
bXQuLi4gOgpjaGVja2luZyBpZiA6IGlzIGEgbWFuaWZlc3QgdG9vbC4uLiBu
bwpjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nvci4uLiBn
Y2MgLUUKY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMuLi4geWVz
CmNoZWNraW5nIGZvciBzeXMvdHlwZXMuaC4uLiB5ZXMKY2hlY2tpbmcgZm9y
IHN5cy9zdGF0LmguLi4geWVzCmNoZWNraW5nIGZvciBzdGRsaWIuaC4uLiB5
ZXMKY2hlY2tpbmcgZm9yIHN0cmluZy5oLi4uIHllcwpjaGVja2luZyBmb3Ig
bWVtb3J5LmguLi4geWVzCmNoZWNraW5nIGZvciBzdHJpbmdzLmguLi4geWVz
CmNoZWNraW5nIGZvciBpbnR0eXBlcy5oLi4uIHllcwpjaGVja2luZyBmb3Ig
c3RkaW50LmguLi4geWVzCmNoZWNraW5nIGZvciB1bmlzdGQuaC4uLiB5ZXMK
Y2hlY2tpbmcgZm9yIGRsZmNuLmguLi4gbm8KY2hlY2tpbmcgZm9yIG9iamRp
ci4uLiAubGlicwpjaGVja2luZyBpZiBnY2Mgc3VwcG9ydHMgLWZuby1ydHRp
IC1mbm8tZXhjZXB0aW9ucy4uLiBubwpjaGVja2luZyBmb3IgZ2NjIG9wdGlv
biB0byBwcm9kdWNlIFBJQy4uLiAtRERMTF9FWFBPUlQgLURQSUMKY2hlY2tp
bmcgaWYgZ2NjIFBJQyBmbGFnIC1ERExMX0VYUE9SVCAtRFBJQyB3b3Jrcy4u
LiB5ZXMKY2hlY2tpbmcgaWYgZ2NjIHN0YXRpYyBmbGFnIC1zdGF0aWMgd29y
a3MuLi4geWVzCmNoZWNraW5nIGlmIGdjYyBzdXBwb3J0cyAtYyAtbyBmaWxl
Lm8uLi4geWVzCmNoZWNraW5nIGlmIGdjYyBzdXBwb3J0cyAtYyAtbyBmaWxl
Lm8uLi4gKGNhY2hlZCkgeWVzCmNoZWNraW5nIHdoZXRoZXIgdGhlIGdjYyBs
aW5rZXIgKGM6L3Rpbmd3L21pbmd3MzIvYmluL2xkLmV4ZSkgc3VwcG9ydHMg
c2hhcmVkIGxpYnJhcmllcy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciAtbGMg
c2hvdWxkIGJlIGV4cGxpY2l0bHkgbGlua2VkIGluLi4uIHllcwpjaGVja2lu
ZyBkeW5hbWljIGxpbmtlciBjaGFyYWN0ZXJpc3RpY3MuLi4gV2luMzIgbGQu
ZXhlCmNoZWNraW5nIGhvdyB0byBoYXJkY29kZSBsaWJyYXJ5IHBhdGhzIGlu
dG8gcHJvZ3JhbXMuLi4gaW1tZWRpYXRlCmNoZWNraW5nIHdoZXRoZXIgc3Ry
aXBwaW5nIGxpYnJhcmllcyBpcyBwb3NzaWJsZS4uLiB5ZXMKY2hlY2tpbmcg
aWYgbGlidG9vbCBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzLi4uIHllcwpj
aGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMuLi4g
eWVzCmNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgc3RhdGljIGxpYnJhcmll
cy4uLiB5ZXMKY2hlY2tpbmcgd2hpY2ggZXh0ZW5zaW9uIGlzIHVzZWQgZm9y
IHJ1bnRpbWUgbG9hZGFibGUgbW9kdWxlcy4uLiAuZGxsCmNoZWNraW5nIHdo
aWNoIHZhcmlhYmxlIHNwZWNpZmllcyBydW4tdGltZSBtb2R1bGUgc2VhcmNo
IHBhdGguLi4gUEFUSApjaGVja2luZyBmb3IgdGhlIGRlZmF1bHQgbGlicmFy
eSBzZWFyY2ggcGF0aC4uLiAvbGliIC91c3IvbGliCmNoZWNraW5nIGZvciBs
aWJyYXJ5IGNvbnRhaW5pbmcgZGxvcGVuLi4uIG5vCmNoZWNraW5nIGZvciBk
bG9wZW4gaW4gLWxzdmxkLi4uIG5vCmNoZWNraW5nIGZvciBzaGxfbG9hZC4u
LiBubwpjaGVja2luZyBmb3Igc2hsX2xvYWQgaW4gLWxkbGQuLi4gbm8KY2hl
Y2tpbmcgd2hldGhlciBjeWd3aW5fY29udl9wYXRoIGlzIGRlY2xhcmVkLi4u
IG5vCmNoZWNraW5nIGZvciBkbGRfbGluayBpbiAtbGRsZC4uLiBubwpjaGVj
a2luZyBmb3IgXyBwcmVmaXggaW4gY29tcGlsZWQgc3ltYm9scy4uLiB5ZXMK
Y2hlY2tpbmcgd2hldGhlciBkZXBsaWJzIGFyZSBsb2FkZWQgYnkgZGxvcGVu
Li4uIHVua25vd24KY2hlY2tpbmcgZm9yIGFyZ3ouaC4uLiBubwpjaGVja2lu
ZyBmb3IgZXJyb3JfdC4uLiBubwpjaGVja2luZyBmb3IgYXJnel9hZGQuLi4g
bm8KY2hlY2tpbmcgZm9yIGFyZ3pfYXBwZW5kLi4uIG5vCmNoZWNraW5nIGZv
ciBhcmd6X2NvdW50Li4uIG5vCmNoZWNraW5nIGZvciBhcmd6X2NyZWF0ZV9z
ZXAuLi4gbm8KY2hlY2tpbmcgZm9yIGFyZ3pfaW5zZXJ0Li4uIG5vCmNoZWNr
aW5nIGZvciBhcmd6X25leHQuLi4gbm8KY2hlY2tpbmcgZm9yIGFyZ3pfc3Ry
aW5naWZ5Li4uIG5vCmNoZWNraW5nIHdoZXRoZXIgbGlidG9vbCBzdXBwb3J0
cyAtZGxvcGVuLy1kbHByZW9wZW4uLi4geWVzCmNoZWNraW5nIGZvciBsdGRs
LmguLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbHRfZGxpbnRlcmZhY2VfcmVn
aXN0ZXIgaXMgZGVjbGFyZWQuLi4geWVzCmNoZWNraW5nIGZvciBsdF9kbGFk
dmlzZV9wcmVsb2FkIGluIC1sbHRkbC4uLiB5ZXMKY2hlY2tpbmcgd2hlcmUg
dG8gZmluZCBsaWJsdGRsIGhlYWRlcnMuLi4gCmNoZWNraW5nIHdoZXJlIHRv
IGZpbmQgbGlibHRkbCBsaWJyYXJ5Li4uIC1sbHRkbApjaGVja2luZyBmb3Ig
dW5pc3RkLmguLi4gKGNhY2hlZCkgeWVzCmNoZWNraW5nIGZvciBkbC5oLi4u
IG5vCmNoZWNraW5nIGZvciBzeXMvZGwuaC4uLiBubwpjaGVja2luZyBmb3Ig
ZGxkLmguLi4gbm8KY2hlY2tpbmcgZm9yIG1hY2gtby9keWxkLmguLi4gbm8K
Y2hlY2tpbmcgZm9yIGRpcmVudC5oLi4uIHllcwpjaGVja2luZyBmb3IgY2xv
c2VkaXIuLi4geWVzCmNoZWNraW5nIGZvciBvcGVuZGlyLi4uIHllcwpjaGVj
a2luZyBmb3IgcmVhZGRpci4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN0cmxjYXQu
Li4gbm8KY2hlY2tpbmcgZm9yIHN0cmxjcHkuLi4gbm8KY29uZmlndXJlOiBj
cmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRp
bmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgY29uZmlnLmgK
Y29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCmNv
bmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBsaWJ0b29sIGNvbW1hbmRzCi9NaW5H
Vy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvbm9u
cmVjdXJzaXZlLmF0OjE0MDogJHVuc2V0IExJQlRPT0wgTElCVE9PTElaRTsg
JE1BS0UgJHRhcmdldCAKc3RkZXJyOgpJbiBmaWxlIGluY2x1ZGVkIGZyb20g
Li9sdGRsL2xpYmx0ZGwvbHRfX2dsaWJjLmg6NjE6MCwNCiAgICAgICAgICAg
ICAgICAgZnJvbSAuL2x0ZGwvbGlibHRkbC9sdF9fcHJpdmF0ZS5oOjU0LA0K
ICAgICAgICAgICAgICAgICBmcm9tIGx0ZGwvbG9hZGVycy9wcmVvcGVuLmM6
MzI6DQpsdGRsL2FyZ3ouaDo0MzowOiB3YXJuaW5nOiAiTFRfU0NPUEUiIHJl
ZGVmaW5lZCBbZW5hYmxlZCBieSBkZWZhdWx0XQ0KICMgIGRlZmluZSBMVF9T
Q09QRQ0KIF4NCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuL2x0ZGwvbGlibHRk
bC9sdF9fYWxsb2MuaDozNDowLA0KICAgICAgICAgICAgICAgICBmcm9tIC4v
bHRkbC9saWJsdGRsL2x0X19wcml2YXRlLmg6NTEsDQogICAgICAgICAgICAg
ICAgIGZyb20gbHRkbC9sb2FkZXJzL3ByZW9wZW4uYzozMjoNCi4vbHRkbC9s
aWJsdGRsL2x0X3N5c3RlbS5oOjExNjowOiBub3RlOiB0aGlzIGlzIHRoZSBs
b2NhdGlvbiBvZiB0aGUgcHJldmlvdXMgZGVmaW5pdGlvbg0KICMgICAgICBk
ZWZpbmUgTFRfU0NPUEUgZXh0ZXJuIF9fZGVjbHNwZWMoZGxsZXhwb3J0KQ0K
IF4NCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBsdGRsL2x0ZGwuaDozNzowLA0K
ICAgICAgICAgICAgICAgICBmcm9tIC4vbHRkbC9saWJsdGRsL2x0X19wcml2
YXRlLmg6NTcsDQogICAgICAgICAgICAgICAgIGZyb20gbHRkbC9sb2FkZXJz
L3ByZW9wZW4uYzozMjoNCmx0ZGwvbGlibHRkbC9sdF9lcnJvci5oOjc5OjEw
OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19f
YXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCBsdF9k
bGFkZGVycm9yIChjb25zdCBjaGFyICpkaWFnbm9zdGljKTsNCiAgICAgICAg
ICBeDQpsdGRsL2xpYmx0ZGwvbHRfZXJyb3IuaDo4MDoxMDogZXJyb3I6IGV4
cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9f
JyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQgbHRfZGxzZXRlcnJvciAo
aW50IGVycm9yY29kZSk7DQogICAgICAgICAgXg0KSW4gZmlsZSBpbmNsdWRl
ZCBmcm9tIGx0ZGwvbHRkbC5oOjM4OjAsDQogICAgICAgICAgICAgICAgIGZy
b20gLi9sdGRsL2xpYmx0ZGwvbHRfX3ByaXZhdGUuaDo1NywNCiAgICAgICAg
ICAgICAgICAgZnJvbSBsdGRsL2xvYWRlcnMvcHJlb3Blbi5jOjMyOg0KbHRk
bC9saWJsdGRsL2x0X2RsbG9hZGVyLmg6NzM6MTA6IGVycm9yOiBleHBlY3Rl
ZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVm
b3JlICdpbnQnDQogTFRfU0NPUEUgaW50ICBsdF9kbGxvYWRlcl9hZGQgICAg
KGNvbnN0IGx0X2RsdnRhYmxlICp2dGFibGUpOw0KICAgICAgICAgIF4NCmx0
ZGwvbGlibHRkbC9sdF9kbGxvYWRlci5oOjc0OjE6IGVycm9yOiB1bmtub3du
IHR5cGUgbmFtZSAnTFRfU0NPUEUnDQogTFRfU0NPUEUgbHRfZGxsb2FkZXIg
bHRfZGxsb2FkZXJfbmV4dCAgIChjb25zdCBsdF9kbGxvYWRlciBsb2FkZXIp
Ow0KIF4NCmx0ZGwvbGlibHRkbC9sdF9kbGxvYWRlci5oOjc0OjIyOiBlcnJv
cjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmli
dXRlX18nIGJlZm9yZSAnbHRfZGxsb2FkZXJfbmV4dCcNCiBMVF9TQ09QRSBs
dF9kbGxvYWRlciBsdF9kbGxvYWRlcl9uZXh0ICAgKGNvbnN0IGx0X2RsbG9h
ZGVyIGxvYWRlcik7DQogICAgICAgICAgICAgICAgICAgICAgXg0KbHRkbC9s
aWJsdGRsL2x0X2RsbG9hZGVyLmg6NzY6MTogZXJyb3I6IHVua25vd24gdHlw
ZSBuYW1lICdMVF9TQ09QRScNCiBMVF9TQ09QRSBsdF9kbHZ0YWJsZSAqIGx0
X2RsbG9hZGVyX3JlbW92ZSAoY29uc3QgY2hhciAqbmFtZSk7DQogXg0KbHRk
bC9saWJsdGRsL2x0X2RsbG9hZGVyLmg6NzY6MjI6IGVycm9yOiBleHBlY3Rl
ZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVm
b3JlICcqJyB0b2tlbg0KIExUX1NDT1BFIGx0X2RsdnRhYmxlICogbHRfZGxs
b2FkZXJfcmVtb3ZlIChjb25zdCBjaGFyICpuYW1lKTsNCiAgICAgICAgICAg
ICAgICAgICAgICBeDQpsdGRsL2xpYmx0ZGwvbHRfZGxsb2FkZXIuaDo3Nzox
MDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdf
X2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2NvbnN0Jw0KIExUX1NDT1BFIGNvbnN0
IGx0X2RsdnRhYmxlICpsdF9kbGxvYWRlcl9maW5kIChjb25zdCBjaGFyICpu
YW1lKTsNCiAgICAgICAgICBeDQpsdGRsL2xpYmx0ZGwvbHRfZGxsb2FkZXIu
aDo3ODoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20n
IG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2NvbnN0Jw0KIExUX1NDT1BF
IGNvbnN0IGx0X2RsdnRhYmxlICpsdF9kbGxvYWRlcl9nZXQgKGx0X2RsbG9h
ZGVyIGxvYWRlcik7DQogICAgICAgICAgXg0KSW4gZmlsZSBpbmNsdWRlZCBm
cm9tIC4vbHRkbC9saWJsdGRsL2x0X19wcml2YXRlLmg6NTc6MCwNCiAgICAg
ICAgICAgICAgICAgZnJvbSBsdGRsL2xvYWRlcnMvcHJlb3Blbi5jOjMyOg0K
bHRkbC9sdGRsLmg6NTM6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywg
JzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQog
TFRfU0NPUEUgaW50ICAgICBsdF9kbGluaXQgICh2b2lkKTsNCiAgICAgICAg
ICBeDQpsdGRsL2x0ZGwuaDo1NDoxMDogZXJyb3I6IGV4cGVjdGVkICc9Jywg
JywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2lu
dCcNCiBMVF9TQ09QRSBpbnQgICAgIGx0X2RsZXhpdCAgKHZvaWQpOw0KICAg
ICAgICAgIF4NCmx0ZGwvbHRkbC5oOjU3OjEwOiBlcnJvcjogZXhwZWN0ZWQg
Jz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9y
ZSAnaW50Jw0KIExUX1NDT1BFIGludCAgICAgbHRfZGxhZGRzZWFyY2hkaXIg
IChjb25zdCBjaGFyICpzZWFyY2hfZGlyKTsNCiAgICAgICAgICBeDQpsdGRs
L2x0ZGwuaDo1ODoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycs
ICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9T
Q09QRSBpbnQgICAgIGx0X2RsaW5zZXJ0c2VhcmNoZGlyIChjb25zdCBjaGFy
ICpiZWZvcmUsDQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6NjA6MTA6IGVy
cm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRy
aWJ1dGVfXycgYmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50ICAgICAgbHRf
ZGxzZXRzZWFyY2hwYXRoICAoY29uc3QgY2hhciAqc2VhcmNoX3BhdGgpOw0K
ICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjYxOjEwOiBlcnJvcjogZXhwZWN0
ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJl
Zm9yZSAnY29uc3QnDQogTFRfU0NPUEUgY29uc3QgY2hhciAqbHRfZGxnZXRz
ZWFyY2hwYXRoICAodm9pZCk7DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6
NjI6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBv
ciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50
ICAgICBsdF9kbGZvcmVhY2hmaWxlICAoDQogICAgICAgICAgXg0KbHRkbC9s
dGRsLmg6Njg6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAn
YXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQogTFRfU0NP
UEUgaW50ICAgICBsdF9kbGFkdmlzZV9pbml0ICAobHRfZGxhZHZpc2UgKmFk
dmlzZSk7DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6Njk6MTA6IGVycm9y
OiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1
dGVfXycgYmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50ICAgICBsdF9kbGFk
dmlzZV9kZXN0cm95ICAobHRfZGxhZHZpc2UgKmFkdmlzZSk7DQogICAgICAg
ICAgXg0KbHRkbC9sdGRsLmg6NzA6MTA6IGVycm9yOiBleHBlY3RlZCAnPScs
ICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdp
bnQnDQogTFRfU0NPUEUgaW50ICAgICBsdF9kbGFkdmlzZV9leHQgIChsdF9k
bGFkdmlzZSAqYWR2aXNlKTsNCiAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDo3
MToxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9y
ICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQg
ICAgIGx0X2RsYWR2aXNlX3Jlc2lkZW50IChsdF9kbGFkdmlzZSAqYWR2aXNl
KTsNCiAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDo3MjoxMDogZXJyb3I6IGV4
cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9f
JyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQgICAgIGx0X2RsYWR2aXNl
X2xvY2FsICAobHRfZGxhZHZpc2UgKmFkdmlzZSk7DQogICAgICAgICAgXg0K
bHRkbC9sdGRsLmg6NzM6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywg
JzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQog
TFRfU0NPUEUgaW50ICAgICBsdF9kbGFkdmlzZV9nbG9iYWwgICAobHRfZGxh
ZHZpc2UgKmFkdmlzZSk7DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6NzQ6
MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAn
X19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50ICAg
ICBsdF9kbGFkdmlzZV9wcmVsb2FkICAobHRfZGxhZHZpc2UgKmFkdmlzZSk7
DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6Nzc6MTogZXJyb3I6IHVua25v
d24gdHlwZSBuYW1lICdMVF9TQ09QRScNCiBMVF9TQ09QRSBsdF9kbGhhbmRs
ZSBsdF9kbG9wZW4gIChjb25zdCBjaGFyICpmaWxlbmFtZSk7DQogXg0KbHRk
bC9sdGRsLmg6Nzc6MjI6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsn
LCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdsdF9kbG9wZW4n
DQogTFRfU0NPUEUgbHRfZGxoYW5kbGUgbHRfZGxvcGVuICAoY29uc3QgY2hh
ciAqZmlsZW5hbWUpOw0KICAgICAgICAgICAgICAgICAgICAgIF4NCmx0ZGwv
bHRkbC5oOjc4OjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnTFRfU0NP
UEUnDQogTFRfU0NPUEUgbHRfZGxoYW5kbGUgbHRfZGxvcGVuZXh0IChjb25z
dCBjaGFyICpmaWxlbmFtZSk7DQogXg0KbHRkbC9sdGRsLmg6Nzg6MjI6IGVy
cm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRy
aWJ1dGVfXycgYmVmb3JlICdsdF9kbG9wZW5leHQnDQogTFRfU0NPUEUgbHRf
ZGxoYW5kbGUgbHRfZGxvcGVuZXh0IChjb25zdCBjaGFyICpmaWxlbmFtZSk7
DQogICAgICAgICAgICAgICAgICAgICAgXg0KbHRkbC9sdGRsLmg6Nzk6MTog
ZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdMVF9TQ09QRScNCiBMVF9TQ09Q
RSBsdF9kbGhhbmRsZSBsdF9kbG9wZW5hZHZpc2UgKGNvbnN0IGNoYXIgKmZp
bGVuYW1lLA0KIF4NCmx0ZGwvbHRkbC5oOjc5OjIyOiBlcnJvcjogZXhwZWN0
ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJl
Zm9yZSAnbHRfZGxvcGVuYWR2aXNlJw0KIExUX1NDT1BFIGx0X2RsaGFuZGxl
IGx0X2Rsb3BlbmFkdmlzZSAoY29uc3QgY2hhciAqZmlsZW5hbWUsDQogICAg
ICAgICAgICAgICAgICAgICAgXg0KbHRkbC9sdGRsLmg6ODE6MTA6IGVycm9y
OiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1
dGVfXycgYmVmb3JlICd2b2lkJw0KIExUX1NDT1BFIHZvaWQgKiAgICAgbHRf
ZGxzeW0gIChsdF9kbGhhbmRsZSBoYW5kbGUsIGNvbnN0IGNoYXIgKm5hbWUp
Ow0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjgyOjEwOiBlcnJvcjogZXhw
ZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18n
IGJlZm9yZSAnY29uc3QnDQogTFRfU0NPUEUgY29uc3QgY2hhciAqbHRfZGxl
cnJvciAgKHZvaWQpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjgzOjEw
OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19f
YXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCAgICAg
bHRfZGxjbG9zZSAgKGx0X2RsaGFuZGxlIGhhbmRsZSk7DQogICAgICAgICAg
Xg0KbHRkbC9sdGRsLmg6OTk6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcs
JywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQn
DQogTFRfU0NPUEUgaW50IGx0X2RscHJlbG9hZCAgICAgIChjb25zdCBsdF9k
bHN5bWxpc3QgKnByZWxvYWRlZCk7DQogICAgICAgICAgXg0KbHRkbC9sdGRs
Lmg6MTAwOjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2Fz
bScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BF
IGludCBsdF9kbHByZWxvYWRfZGVmYXVsdCAoY29uc3QgbHRfZGxzeW1saXN0
ICpwcmVsb2FkZWQpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjEwMTox
MDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdf
X2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQgbHRf
ZGxwcmVsb2FkX29wZW4gICAgKGNvbnN0IGNoYXIgKm9yaWdpbmF0b3IsDQog
ICAgICAgICAgXg0KbHRkbC9sdGRsLmg6MTIxOjE6IGVycm9yOiB1bmtub3du
IHR5cGUgbmFtZSAnTFRfU0NPUEUnDQogTFRfU0NPUEUgbHRfZGxpbnRlcmZh
Y2VfaWQgbHRfZGxpbnRlcmZhY2VfcmVnaXN0ZXIgKGNvbnN0IGNoYXIgKmlk
X3N0cmluZywNCiBeDQpsdGRsL2x0ZGwuaDoxMjE6Mjg6IGVycm9yOiBleHBl
Y3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycg
YmVmb3JlICdsdF9kbGludGVyZmFjZV9yZWdpc3RlcicNCiBMVF9TQ09QRSBs
dF9kbGludGVyZmFjZV9pZCBsdF9kbGludGVyZmFjZV9yZWdpc3RlciAoY29u
c3QgY2hhciAqaWRfc3RyaW5nLA0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIF4NCmx0ZGwvbHRkbC5oOjEyMzoxMDogZXJyb3I6IGV4cGVjdGVkICc9
JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUg
J3ZvaWQnDQogTFRfU0NPUEUgdm9pZCBsdF9kbGludGVyZmFjZV9mcmVlIChs
dF9kbGludGVyZmFjZV9pZCBrZXkpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRk
bC5oOjEyNDoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdh
c20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ3ZvaWQnDQogTFRfU0NP
UEUgdm9pZCAqIGx0X2RsY2FsbGVyX3NldF9kYXRhICAobHRfZGxpbnRlcmZh
Y2VfaWQga2V5LA0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjEyNjoxMDog
ZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0
dHJpYnV0ZV9fJyBiZWZvcmUgJ3ZvaWQnDQogTFRfU0NPUEUgdm9pZCAqIGx0
X2RsY2FsbGVyX2dldF9kYXRhICAobHRfZGxpbnRlcmZhY2VfaWQga2V5LA0K
ICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjE0MzoxMDogZXJyb3I6IGV4cGVj
dGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBi
ZWZvcmUgJ2NvbnN0Jw0KIExUX1NDT1BFIGNvbnN0IGx0X2RsaW5mbyAqbHRf
ZGxnZXRpbmZvICAgICAobHRfZGxoYW5kbGUgaGFuZGxlKTsNCiAgICAgICAg
ICBeDQpsdGRsL2x0ZGwuaDoxNDU6MTogZXJyb3I6IHVua25vd24gdHlwZSBu
YW1lICdMVF9TQ09QRScNCiBMVF9TQ09QRSBsdF9kbGhhbmRsZSBsdF9kbGhh
bmRsZV9pdGVyYXRlIChsdF9kbGludGVyZmFjZV9pZCBpZmFjZSwNCiBeDQps
dGRsL2x0ZGwuaDoxNDU6MjI6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywg
JzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdsdF9kbGhh
bmRsZV9pdGVyYXRlJw0KIExUX1NDT1BFIGx0X2RsaGFuZGxlIGx0X2RsaGFu
ZGxlX2l0ZXJhdGUgKGx0X2RsaW50ZXJmYWNlX2lkIGlmYWNlLA0KICAgICAg
ICAgICAgICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjE0NzoxOiBlcnJvcjog
dW5rbm93biB0eXBlIG5hbWUgJ0xUX1NDT1BFJw0KIExUX1NDT1BFIGx0X2Rs
aGFuZGxlIGx0X2RsaGFuZGxlX2ZldGNoICAgKGx0X2RsaW50ZXJmYWNlX2lk
IGlmYWNlLA0KIF4NCmx0ZGwvbHRkbC5oOjE0NzoyMjogZXJyb3I6IGV4cGVj
dGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBi
ZWZvcmUgJ2x0X2RsaGFuZGxlX2ZldGNoJw0KIExUX1NDT1BFIGx0X2RsaGFu
ZGxlIGx0X2RsaGFuZGxlX2ZldGNoICAgKGx0X2RsaW50ZXJmYWNlX2lkIGlm
YWNlLA0KICAgICAgICAgICAgICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjE0
OToxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9y
ICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQg
IGx0X2RsaGFuZGxlX21hcCAgICAgKGx0X2RsaW50ZXJmYWNlX2lkIGlmYWNl
LA0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjE1NjoxMDogZXJyb3I6IGV4
cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9f
JyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQgICAgIGx0X2RsbWFrZXJl
c2lkZW50IChsdF9kbGhhbmRsZSBoYW5kbGUpOw0KICAgICAgICAgIF4NCmx0
ZGwvbHRkbC5oOjE1NzoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAn
OycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBM
VF9TQ09QRSBpbnQgICAgIGx0X2RsaXNyZXNpZGVudCAobHRfZGxoYW5kbGUg
aGFuZGxlKTsNCiAgICAgICAgICBeDQpJbiBmaWxlIGluY2x1ZGVkIGZyb20g
bHRkbC9sb2FkZXJzL3ByZW9wZW4uYzozMjowOg0KLi9sdGRsL2xpYmx0ZGwv
bHRfX3ByaXZhdGUuaDo5MzoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywn
LCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ3ZvaWQn
DQogTFRfU0NPUEUgdm9pZCBsdF9fYWxsb2NfZGllX2NhbGxiYWNrICh2b2lk
KTsNCiAgICAgICAgICBeDQouL2x0ZGwvbGlibHRkbC9sdF9fcHJpdmF0ZS5o
OjE0MzoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20n
IG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2NvbnN0Jw0KIExUX1NDT1BF
IGNvbnN0IGNoYXIgKmx0X19lcnJvcl9zdHJpbmcgKGludCBlcnJvcmNvZGUp
Ow0KICAgICAgICAgIF4NCi4vbHRkbC9saWJsdGRsL2x0X19wcml2YXRlLmg6
MTQ0OjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScg
b3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnY29uc3QnDQogTFRfU0NPUEUg
Y29uc3QgY2hhciAqbHRfX2dldF9sYXN0X2Vycm9yICh2b2lkKTsNCiAgICAg
ICAgICBeDQouL2x0ZGwvbGlibHRkbC9sdF9fcHJpdmF0ZS5oOjE0NToxMDog
ZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0
dHJpYnV0ZV9fJyBiZWZvcmUgJ2NvbnN0Jw0KIExUX1NDT1BFIGNvbnN0IGNo
YXIgKmx0X19zZXRfbGFzdF9lcnJvciAoY29uc3QgY2hhciAqZXJyb3Jtc2cp
Ow0KICAgICAgICAgIF4NCmx0ZGwvbG9hZGVycy9wcmVvcGVuLmM6NDI6MTog
ZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdMVF9TQ09QRScNCiBMVF9TQ09Q
RSBsdF9kbHZ0YWJsZSAqZ2V0X3Z0YWJsZSAobHRfdXNlcl9kYXRhIGxvYWRl
cl9kYXRhKTsNCiBeDQpsdGRsL2xvYWRlcnMvcHJlb3Blbi5jOjQyOjIyOiBl
cnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0
cmlidXRlX18nIGJlZm9yZSAnKicgdG9rZW4NCiBMVF9TQ09QRSBsdF9kbHZ0
YWJsZSAqZ2V0X3Z0YWJsZSAobHRfdXNlcl9kYXRhIGxvYWRlcl9kYXRhKTsN
CiAgICAgICAgICAgICAgICAgICAgICBeDQpsdGRsL2xvYWRlcnMvcHJlb3Bl
bi5jOiBJbiBmdW5jdGlvbiAnbHRfZGxwcmVsb2FkX29wZW4nOg0KbHRkbC9s
b2FkZXJzL3ByZW9wZW4uYzozNTQ6MjY6IHdhcm5pbmc6IGluaXRpYWxpemF0
aW9uIG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0
IFtlbmFibGVkIGJ5IGRlZmF1bHRdDQogICAgIGx0X2RsaGFuZGxlIGhhbmRs
ZSA9IGx0X2Rsb3BlbiAoc3ltYm9sLT5uYW1lKTsNCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgXg0KbWFrZVsxXTogKioqIFtsdGRsL2xvYWRlcnMvbHRk
bF9saWJsdGRsX2xhLXByZW9wZW4ubG9dIEVycm9yIDEKbWFrZTogKioqIFth
bGxdIEVycm9yIDIKc3Rkb3V0OgovYmluL3NoIC9taW5ndy9saWJ0b29sLWJ1
aWxkLWR1ZS10by1HTlUvdGVzdHMvdGVzdHN1aXRlLmRpci8wOTcvbHRkbC9j
b25maWcvaW5zdGFsbC1zaCAtZCAuIGx0ZGwvCmNwIC4vbHRkbC9hcmd6Xy5o
IGx0ZGwvYXJnei5oLXQKbXYgbHRkbC9hcmd6LmgtdCBsdGRsL2FyZ3ouaApt
YWtlICBhbGwtYW0KbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvbWlu
Z3cvbGlidG9vbC1idWlsZC1kdWUtdG8tR05VL3Rlc3RzL3Rlc3RzdWl0ZS5k
aXIvMDk3JwpkZXBiYXNlPWBlY2hvIGZvby5sbyB8IHNlZCAnc3xbXi9dKiR8
LmRlcHMvJnw7c3xcLmxvJHx8J2A7XAoJL2Jpbi9zaCAuL2xpYnRvb2wgLS10
YWc9Q0MgICAtLW1vZGU9Y29tcGlsZSBnY2MgLURIQVZFX0NPTkZJR19IIC1J
LiAgLURMVF9DT05GSUdfSD0nPGNvbmZpZy5oPicgLURMVERMIC1JLiAtSS4g
LUlsdGRsIC1JLi9sdGRsIC1JLi9sdGRsL2xpYmx0ZGwgICAtZyAtTzIgLU1U
IGZvby5sbyAtTUQgLU1QIC1NRiAkZGVwYmFzZS5UcG8gLWMgLW8gZm9vLmxv
IGZvby5jICYmXAoJbXYgLWYgJGRlcGJhc2UuVHBvICRkZXBiYXNlLlBsbwps
aWJ0b29sOiBjb21waWxlOiAgZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gIi1E
TFRfQ09ORklHX0g9PGNvbmZpZy5oPiIgLURMVERMIC1JLiAtSS4gLUlsdGRs
IC1JLi9sdGRsIC1JLi9sdGRsL2xpYmx0ZGwgLWcgLU8yIC1NVCBmb28ubG8g
LU1EIC1NUCAtTUYgLmRlcHMvZm9vLlRwbyAtYyBmb28uYyAgLURETExfRVhQ
T1JUIC1EUElDIC1vIC5saWJzL2Zvby5vCmxpYnRvb2w6IGNvbXBpbGU6ICBn
Y2MgLURIQVZFX0NPTkZJR19IIC1JLiAiLURMVF9DT05GSUdfSD08Y29uZmln
Lmg+IiAtRExUREwgLUkuIC1JLiAtSWx0ZGwgLUkuL2x0ZGwgLUkuL2x0ZGwv
bGlibHRkbCAtZyAtTzIgLU1UIGZvby5sbyAtTUQgLU1QIC1NRiAuZGVwcy9m
b28uVHBvIC1jIGZvby5jIC1vIGZvby5vID4vZGV2L251bGwgMj4mMQovYmlu
L3NoIC4vbGlidG9vbCAtLXRhZz1DQyAgIC0tbW9kZT1saW5rIGdjYyAgLWcg
LU8yIC1tb2R1bGUgLWF2b2lkLXZlcnNpb24gLW5vLXVuZGVmaW5lZCAgLW8g
Zm9vLmxhIC1ycGF0aCAvbWluZ3cvbGlidG9vbC1idWlsZC1kdWUtdG8tR05V
L3Rlc3RzL3Rlc3RzdWl0ZS5kaXIvMDk3L19pbnN0L2xpYiBmb28ubG8gIAps
aWJ0b29sOiBsaW5rOiBnY2MgLXNoYXJlZCAgLmxpYnMvZm9vLm8gICAgLU8y
ICAgLW8gLmxpYnMvZm9vLmRsbCAtV2wsLS1lbmFibGUtYXV0by1pbWFnZS1i
YXNlIC1YbGlua2VyIC0tb3V0LWltcGxpYiAtWGxpbmtlciAubGlicy9mb28u
ZGxsLmEKbGlidG9vbDogbGluazogYXIgY3J1IC5saWJzL2Zvby5hICBmb28u
bwpsaWJ0b29sOiBsaW5rOiByYW5saWIgLmxpYnMvZm9vLmEKbGlidG9vbDog
bGluazogKCBjZCAiLmxpYnMiICYmIHJtIC1mICJmb28ubGEiICYmIGNwIC1w
ICIuLi9mb28ubGEiICJmb28ubGEiICkKL2Jpbi9zaCAuL2xpYnRvb2wgIC0t
dGFnPUNDICAgLS1tb2RlPWNvbXBpbGUgZ2NjIC1ESEFWRV9DT05GSUdfSCAt
SS4gIC1ETFRETE9QRU49bGlibHRkbCAtRExUX0NPTkZJR19IPSc8Y29uZmln
Lmg+JyAtRExUREwgLUkuIC1JLiAtSWx0ZGwgLUkuL2x0ZGwgLUkuL2x0ZGwv
bGlibHRkbCAgIC1nIC1PMiAtTVQgbHRkbC9sb2FkZXJzL2x0ZGxfbGlibHRk
bF9sYS1wcmVvcGVuLmxvIC1NRCAtTVAgLU1GIGx0ZGwvbG9hZGVycy8uZGVw
cy9sdGRsX2xpYmx0ZGxfbGEtcHJlb3Blbi5UcG8gLWMgLW8gbHRkbC9sb2Fk
ZXJzL2x0ZGxfbGlibHRkbF9sYS1wcmVvcGVuLmxvIGB0ZXN0IC1mICdsdGRs
L2xvYWRlcnMvcHJlb3Blbi5jJyB8fCBlY2hvICcuLydgbHRkbC9sb2FkZXJz
L3ByZW9wZW4uYwpsaWJ0b29sOiBjb21waWxlOiAgZ2NjIC1ESEFWRV9DT05G
SUdfSCAtSS4gLURMVERMT1BFTj1saWJsdGRsICItRExUX0NPTkZJR19IPTxj
b25maWcuaD4iIC1ETFRETCAtSS4gLUkuIC1JbHRkbCAtSS4vbHRkbCAtSS4v
bHRkbC9saWJsdGRsIC1nIC1PMiAtTVQgbHRkbC9sb2FkZXJzL2x0ZGxfbGli
bHRkbF9sYS1wcmVvcGVuLmxvIC1NRCAtTVAgLU1GIGx0ZGwvbG9hZGVycy8u
ZGVwcy9sdGRsX2xpYmx0ZGxfbGEtcHJlb3Blbi5UcG8gLWMgbHRkbC9sb2Fk
ZXJzL3ByZW9wZW4uYyAgLURETExfRVhQT1JUIC1EUElDIC1vIGx0ZGwvbG9h
ZGVycy8ubGlicy9sdGRsX2xpYmx0ZGxfbGEtcHJlb3Blbi5vCm1ha2VbMV06
IExlYXZpbmcgZGlyZWN0b3J5IGAvbWluZ3cvbGlidG9vbC1idWlsZC1kdWUt
dG8tR05VL3Rlc3RzL3Rlc3RzdWl0ZS5kaXIvMDk3JwovTWluR1cvc2hhcmUv
YXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL25vbnJlY3Vyc2l2
ZS5hdDoxNDA6IGV4aXQgY29kZSB3YXMgMiwgZXhwZWN0ZWQgMAo5Ny4gbm9u
cmVjdXJzaXZlLmF0OjEyNjogOTcuIGluc3RhbGxhYmxlIGxpYmx0ZGwgKG5v
bnJlY3Vyc2l2ZS5hdDoxMjYpOiBGQUlMRUQgKG5vbnJlY3Vyc2l2ZS5hdDox
NDApCg==

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

IyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIGNvbXBpbGF0aW9u
IC0qLQo5Ni4gbm9ucmVjdXJzaXZlLmF0OjEwMjogdGVzdGluZyBjb21waWxp
bmcgY29waWVkIGxpYmx0ZGwgLi4uCmxpYnRvb2xpemU6IHB1dHRpbmcgYXV4
aWxpYXJ5IGZpbGVzIGluIEFDX0NPTkZJR19BVVhfRElSLCBgbHRkbC9jb25m
aWcnLgpsaWJ0b29saXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvY29uZmlnL2x0
bWFpbi5zaCcKbGlidG9vbGl6ZTogcHV0dGluZyBtYWNyb3MgaW4gQUNfQ09O
RklHX01BQ1JPX0RJUiwgYGx0ZGwvbTQnLgpsaWJ0b29saXplOiBjb3B5aW5n
IGZpbGUgYGx0ZGwvbTQvYXJnei5tNCcKbGlidG9vbGl6ZTogY29weWluZyBm
aWxlIGBsdGRsL200L2xpYnRvb2wubTQnCmxpYnRvb2xpemU6IGNvcHlpbmcg
ZmlsZSBgbHRkbC9tNC9sdGRsLm00JwpsaWJ0b29saXplOiBjb3B5aW5nIGZp
bGUgYGx0ZGwvbTQvbHRvcHRpb25zLm00JwpsaWJ0b29saXplOiBjb3B5aW5n
IGZpbGUgYGx0ZGwvbTQvbHRzdWdhci5tNCcKbGlidG9vbGl6ZTogY29weWlu
ZyBmaWxlIGBsdGRsL200L2x0dmVyc2lvbi5tNCcKbGlidG9vbGl6ZTogY29w
eWluZyBmaWxlIGBsdGRsL200L2x0fm9ic29sZXRlLm00JwpsaWJ0b29saXpl
OiBwdXR0aW5nIGxpYmx0ZGwgZmlsZXMgaW4gTFRfQ09ORklHX0xURExfRElS
LCBgbHRkbCcuCmxpYnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9DT1BZ
SU5HLkxJQicKbGlidG9vbGl6ZTogY29weWluZyBmaWxlIGBsdGRsL1JFQURN
RScKbGlidG9vbGl6ZTogY29weWluZyBmaWxlIGBsdGRsL2FyZ3pfLmgnCmxp
YnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9hcmd6LmMnCmxpYnRvb2xp
emU6IGNvcHlpbmcgZmlsZSBgbHRkbC9sb2FkZXJzL2RsZF9saW5rLmMnCmxp
YnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9sb2FkZXJzL2Rsb3Blbi5j
JwpsaWJ0b29saXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvbG9hZGVycy9keWxk
LmMnCmxpYnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9sb2FkZXJzL2xv
YWRfYWRkX29uLmMnCmxpYnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9s
b2FkZXJzL2xvYWRsaWJyYXJ5LmMnCmxpYnRvb2xpemU6IGNvcHlpbmcgZmls
ZSBgbHRkbC9sb2FkZXJzL3NobF9sb2FkLmMnCmxpYnRvb2xpemU6IGNvcHlp
bmcgZmlsZSBgbHRkbC9sdF9fZGlyZW50LmMnCmxpYnRvb2xpemU6IGNvcHlp
bmcgZmlsZSBgbHRkbC9sdF9fc3RybC5jJwpsaWJ0b29saXplOiBjb3B5aW5n
IGZpbGUgYGx0ZGwvbGlibHRkbC9sdF9fYWxsb2MuaCcKbGlidG9vbGl6ZTog
Y29weWluZyBmaWxlIGBsdGRsL2xpYmx0ZGwvbHRfX2RpcmVudC5oJwpsaWJ0
b29saXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvbGlibHRkbC9sdF9fZ2xpYmMu
aCcKbGlidG9vbGl6ZTogY29weWluZyBmaWxlIGBsdGRsL2xpYmx0ZGwvbHRf
X3ByaXZhdGUuaCcKbGlidG9vbGl6ZTogY29weWluZyBmaWxlIGBsdGRsL2xp
Ymx0ZGwvbHRfX3N0cmwuaCcKbGlidG9vbGl6ZTogY29weWluZyBmaWxlIGBs
dGRsL2xpYmx0ZGwvbHRfZGxsb2FkZXIuaCcKbGlidG9vbGl6ZTogY29weWlu
ZyBmaWxlIGBsdGRsL2xpYmx0ZGwvbHRfZXJyb3IuaCcKbGlidG9vbGl6ZTog
Y29weWluZyBmaWxlIGBsdGRsL2xpYmx0ZGwvbHRfc3lzdGVtLmgnCmxpYnRv
b2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9saWJsdGRsL3NsaXN0LmgnCmxp
YnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9sb2FkZXJzL3ByZW9wZW4u
YycKbGlidG9vbGl6ZTogY29weWluZyBmaWxlIGBsdGRsL2x0X19hbGxvYy5j
JwpsaWJ0b29saXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvbHRfZGxsb2FkZXIu
YycKbGlidG9vbGl6ZTogY29weWluZyBmaWxlIGBsdGRsL2x0X2Vycm9yLmMn
CmxpYnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9sdGRsLmMnCmxpYnRv
b2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9sdGRsLmgnCmxpYnRvb2xpemU6
IGNvcHlpbmcgZmlsZSBgbHRkbC9zbGlzdC5jJwpsaWJ0b29saXplOiBjcmVh
dGluZyBmaWxlIGBsdGRsL01ha2VmaWxlLmluYycKL01pbkdXL3NoYXJlL2F1
dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9ub25yZWN1cnNpdmUu
YXQ6MTA3OiBpZiB0ZXN0IC1mIGx0ZGwvY29uZmlndXJlLmFjOyB0aGVuIGZh
bHNlOyBmaQovTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIu
NC4yL3Rlc3RzL25vbnJlY3Vyc2l2ZS5hdDoxMTQ6ICRBQ0xPQ0FMIC1JIGx0
ZGwvbTQKc3RkZXJyOgpzdGRvdXQ6Ci9NaW5HVy9zaGFyZS9hdXRvbWFrZS0x
LjExL2xpYnRvb2wtMi40LjIvdGVzdHMvbm9ucmVjdXJzaXZlLmF0OjExNDog
JEFVVE9IRUFERVIgCnN0ZGVycjoKc3Rkb3V0OgovTWluR1cvc2hhcmUvYXV0
b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL25vbnJlY3Vyc2l2ZS5h
dDoxMTQ6ICRBVVRPTUFLRSAtLWFkZC1taXNzaW5nIC0tY29weQpzdGRlcnI6
CmNvbmZpZ3VyZS5hYzo5OiBpbnN0YWxsaW5nIGBsdGRsL2NvbmZpZy9jb21w
aWxlJwpjb25maWd1cmUuYWM6MTA6IGluc3RhbGxpbmcgYGx0ZGwvY29uZmln
L2NvbmZpZy5ndWVzcycKY29uZmlndXJlLmFjOjEwOiBpbnN0YWxsaW5nIGBs
dGRsL2NvbmZpZy9jb25maWcuc3ViJwpjb25maWd1cmUuYWM6NzogaW5zdGFs
bGluZyBgbHRkbC9jb25maWcvaW5zdGFsbC1zaCcKY29uZmlndXJlLmFjOjc6
IGluc3RhbGxpbmcgYGx0ZGwvY29uZmlnL21pc3NpbmcnCk1ha2VmaWxlLmFt
OiBpbnN0YWxsaW5nIGBsdGRsL2NvbmZpZy9kZXBjb21wJwpzdGRvdXQ6Ci9N
aW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMv
bm9ucmVjdXJzaXZlLmF0OjExNDogJEFVVE9DT05GIApzdGRlcnI6CnN0ZG91
dDoKL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90
ZXN0cy9ub25yZWN1cnNpdmUuYXQ6MTE0OiA6ICR7Q09ORklHX1NIRUxMPS9i
aW4vc2h9OyBleHBvcnQgQ09ORklHX1NIRUxMOyAJICAkQ09ORklHX1NIRUxM
IC4vY29uZmlndXJlICRjb25maWd1cmVfb3B0aW9ucyAKc3RkZXJyOgpzdGRv
dXQ6CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4g
L2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJv
bm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNh
ZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3
ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSku
Li4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRo
ZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBD
IGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLmV4ZQpj
aGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIC5leGUKY2hl
Y2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNo
ZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tp
bmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4u
IHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpj
aGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBu
b25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2Vk
IGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2Yg
Z2NjLi4uIGdjYzMKY2hlY2tpbmcgd2hldGhlciBnY2MgYW5kIGNjIHVuZGVy
c3RhbmQgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyBidWls
ZCBzeXN0ZW0gdHlwZS4uLiBpNjg2LXBjLW1pbmd3MzIKY2hlY2tpbmcgaG9z
dCBzeXN0ZW0gdHlwZS4uLiBpNjg2LXBjLW1pbmd3MzIKY2hlY2tpbmcgaG93
IHRvIHByaW50IHN0cmluZ3MuLi4gcHJpbnRmCmNoZWNraW5nIGZvciBhIHNl
ZCB0aGF0IGRvZXMgbm90IHRydW5jYXRlIG91dHB1dC4uLiAvYmluL3NlZApj
aGVja2luZyBmb3IgZ3JlcCB0aGF0IGhhbmRsZXMgbG9uZyBsaW5lcyBhbmQg
LWUuLi4gL2Jpbi9ncmVwCmNoZWNraW5nIGZvciBlZ3JlcC4uLiAvYmluL2dy
ZXAgLUUKY2hlY2tpbmcgZm9yIGZncmVwLi4uIC9iaW4vZ3JlcCAtRgpjaGVj
a2luZyBmb3IgbGQgdXNlZCBieSBnY2MuLi4gYzovdGluZ3cvbWluZ3czMi9i
aW4vbGQuZXhlCmNoZWNraW5nIGlmIHRoZSBsaW5rZXIgKGM6L3Rpbmd3L21p
bmd3MzIvYmluL2xkLmV4ZSkgaXMgR05VIGxkLi4uIHllcwpjaGVja2luZyBm
b3IgQlNELSBvciBNUy1jb21wYXRpYmxlIG5hbWUgbGlzdGVyIChubSkuLi4g
L2Jpbi9ubSAtQgpjaGVja2luZyB0aGUgbmFtZSBsaXN0ZXIgKC9iaW4vbm0g
LUIpIGludGVyZmFjZS4uLiBCU0Qgbm0KY2hlY2tpbmcgd2hldGhlciBsbiAt
cyB3b3Jrcy4uLiBubywgdXNpbmcgY3AgLXAKY2hlY2tpbmcgdGhlIG1heGlt
dW0gbGVuZ3RoIG9mIGNvbW1hbmQgbGluZSBhcmd1bWVudHMuLi4gODE5Mgpj
aGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1bmRlcnN0YW5kcyBzb21lIFhT
SSBjb25zdHJ1Y3RzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVs
bCB1bmRlcnN0YW5kcyAiKz0iLi4uIHllcwpjaGVja2luZyBob3cgdG8gY29u
dmVydCBpNjg2LXBjLW1pbmd3MzIgZmlsZSBuYW1lcyB0byBpNjg2LXBjLW1p
bmd3MzIgZm9ybWF0Li4uIChjYWNoZWQpIGZ1bmNfY29udmVydF9maWxlX21z
eXNfdG9fdzMyCmNoZWNraW5nIGhvdyB0byBjb252ZXJ0IGk2ODYtcGMtbWlu
Z3czMiBmaWxlIG5hbWVzIHRvIHRvb2xjaGFpbiBmb3JtYXQuLi4gKGNhY2hl
ZCkgZnVuY19jb252ZXJ0X2ZpbGVfbXN5c190b193MzIKY2hlY2tpbmcgZm9y
IGM6L3Rpbmd3L21pbmd3MzIvYmluL2xkLmV4ZSBvcHRpb24gdG8gcmVsb2Fk
IG9iamVjdCBmaWxlcy4uLiAtcgpjaGVja2luZyBmb3Igb2JqZHVtcC4uLiBv
YmpkdW1wCmNoZWNraW5nIGhvdyB0byByZWNvZ25pemUgZGVwZW5kZW50IGxp
YnJhcmllcy4uLiBmaWxlX21hZ2ljIF54ODYgYXJjaGl2ZSBpbXBvcnR8Xng4
NiBETEwKY2hlY2tpbmcgZm9yIGRsbHRvb2wuLi4gZGxsdG9vbApjaGVja2lu
ZyBob3cgdG8gYXNzb2NpYXRlIHJ1bnRpbWUgYW5kIGxpbmsgbGlicmFyaWVz
Li4uIGZ1bmNfY3lnbWluZ19kbGxfZm9yX2ltcGxpYgpjaGVja2luZyBmb3Ig
YXJjaGl2ZXIgQEZJTEUgc3VwcG9ydC4uLiBACmNoZWNraW5nIGZvciBzdHJp
cC4uLiBzdHJpcApjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVj
a2luZyBjb21tYW5kIHRvIHBhcnNlIC9iaW4vbm0gLUIgb3V0cHV0IGZyb20g
Z2NjIG9iamVjdC4uLiBvawpjaGVja2luZyBmb3Igc3lzcm9vdC4uLiBubwpj
aGVja2luZyBmb3IgbXQuLi4gOgpjaGVja2luZyBpZiA6IGlzIGEgbWFuaWZl
c3QgdG9vbC4uLiBubwpjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXBy
b2Nlc3Nvci4uLiBnY2MgLUUKY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIg
ZmlsZXMuLi4geWVzCmNoZWNraW5nIGZvciBzeXMvdHlwZXMuaC4uLiB5ZXMK
Y2hlY2tpbmcgZm9yIHN5cy9zdGF0LmguLi4geWVzCmNoZWNraW5nIGZvciBz
dGRsaWIuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN0cmluZy5oLi4uIHllcwpj
aGVja2luZyBmb3IgbWVtb3J5LmguLi4geWVzCmNoZWNraW5nIGZvciBzdHJp
bmdzLmguLi4geWVzCmNoZWNraW5nIGZvciBpbnR0eXBlcy5oLi4uIHllcwpj
aGVja2luZyBmb3Igc3RkaW50LmguLi4geWVzCmNoZWNraW5nIGZvciB1bmlz
dGQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIGRsZmNuLmguLi4gbm8KY2hlY2tp
bmcgZm9yIG9iamRpci4uLiAubGlicwpjaGVja2luZyBpZiBnY2Mgc3VwcG9y
dHMgLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucy4uLiBubwpjaGVja2luZyBm
b3IgZ2NjIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAtRERMTF9FWFBPUlQg
LURQSUMKY2hlY2tpbmcgaWYgZ2NjIFBJQyBmbGFnIC1ERExMX0VYUE9SVCAt
RFBJQyB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgaWYgZ2NjIHN0YXRpYyBmbGFn
IC1zdGF0aWMgd29ya3MuLi4geWVzCmNoZWNraW5nIGlmIGdjYyBzdXBwb3J0
cyAtYyAtbyBmaWxlLm8uLi4geWVzCmNoZWNraW5nIGlmIGdjYyBzdXBwb3J0
cyAtYyAtbyBmaWxlLm8uLi4gKGNhY2hlZCkgeWVzCmNoZWNraW5nIHdoZXRo
ZXIgdGhlIGdjYyBsaW5rZXIgKGM6L3Rpbmd3L21pbmd3MzIvYmluL2xkLmV4
ZSkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcy4uLiB5ZXMKY2hlY2tpbmcg
d2hldGhlciAtbGMgc2hvdWxkIGJlIGV4cGxpY2l0bHkgbGlua2VkIGluLi4u
IHllcwpjaGVja2luZyBkeW5hbWljIGxpbmtlciBjaGFyYWN0ZXJpc3RpY3Mu
Li4gV2luMzIgbGQuZXhlCmNoZWNraW5nIGhvdyB0byBoYXJkY29kZSBsaWJy
YXJ5IHBhdGhzIGludG8gcHJvZ3JhbXMuLi4gaW1tZWRpYXRlCmNoZWNraW5n
IHdoZXRoZXIgc3RyaXBwaW5nIGxpYnJhcmllcyBpcyBwb3NzaWJsZS4uLiB5
ZXMKY2hlY2tpbmcgaWYgbGlidG9vbCBzdXBwb3J0cyBzaGFyZWQgbGlicmFy
aWVzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHNoYXJlZCBs
aWJyYXJpZXMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgc3Rh
dGljIGxpYnJhcmllcy4uLiB5ZXMKY2hlY2tpbmcgd2hpY2ggZXh0ZW5zaW9u
IGlzIHVzZWQgZm9yIHJ1bnRpbWUgbG9hZGFibGUgbW9kdWxlcy4uLiAuZGxs
CmNoZWNraW5nIHdoaWNoIHZhcmlhYmxlIHNwZWNpZmllcyBydW4tdGltZSBt
b2R1bGUgc2VhcmNoIHBhdGguLi4gUEFUSApjaGVja2luZyBmb3IgdGhlIGRl
ZmF1bHQgbGlicmFyeSBzZWFyY2ggcGF0aC4uLiAvbGliIC91c3IvbGliCmNo
ZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgZGxvcGVuLi4uIG5vCmNo
ZWNraW5nIGZvciBkbG9wZW4gaW4gLWxzdmxkLi4uIG5vCmNoZWNraW5nIGZv
ciBzaGxfbG9hZC4uLiBubwpjaGVja2luZyBmb3Igc2hsX2xvYWQgaW4gLWxk
bGQuLi4gbm8KY2hlY2tpbmcgd2hldGhlciBjeWd3aW5fY29udl9wYXRoIGlz
IGRlY2xhcmVkLi4uIG5vCmNoZWNraW5nIGZvciBkbGRfbGluayBpbiAtbGRs
ZC4uLiBubwpjaGVja2luZyBmb3IgXyBwcmVmaXggaW4gY29tcGlsZWQgc3lt
Ym9scy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBkZXBsaWJzIGFyZSBsb2Fk
ZWQgYnkgZGxvcGVuLi4uIHVua25vd24KY2hlY2tpbmcgZm9yIGFyZ3ouaC4u
LiBubwpjaGVja2luZyBmb3IgZXJyb3JfdC4uLiBubwpjaGVja2luZyBmb3Ig
YXJnel9hZGQuLi4gbm8KY2hlY2tpbmcgZm9yIGFyZ3pfYXBwZW5kLi4uIG5v
CmNoZWNraW5nIGZvciBhcmd6X2NvdW50Li4uIG5vCmNoZWNraW5nIGZvciBh
cmd6X2NyZWF0ZV9zZXAuLi4gbm8KY2hlY2tpbmcgZm9yIGFyZ3pfaW5zZXJ0
Li4uIG5vCmNoZWNraW5nIGZvciBhcmd6X25leHQuLi4gbm8KY2hlY2tpbmcg
Zm9yIGFyZ3pfc3RyaW5naWZ5Li4uIG5vCmNoZWNraW5nIHdoZXRoZXIgbGli
dG9vbCBzdXBwb3J0cyAtZGxvcGVuLy1kbHByZW9wZW4uLi4geWVzCmNoZWNr
aW5nIGZvciBsdGRsLmguLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbHRfZGxp
bnRlcmZhY2VfcmVnaXN0ZXIgaXMgZGVjbGFyZWQuLi4geWVzCmNoZWNraW5n
IGZvciBsdF9kbGFkdmlzZV9wcmVsb2FkIGluIC1sbHRkbC4uLiB5ZXMKY2hl
Y2tpbmcgd2hlcmUgdG8gZmluZCBsaWJsdGRsIGhlYWRlcnMuLi4gCmNoZWNr
aW5nIHdoZXJlIHRvIGZpbmQgbGlibHRkbCBsaWJyYXJ5Li4uIC1sbHRkbApj
aGVja2luZyBmb3IgdW5pc3RkLmguLi4gKGNhY2hlZCkgeWVzCmNoZWNraW5n
IGZvciBkbC5oLi4uIG5vCmNoZWNraW5nIGZvciBzeXMvZGwuaC4uLiBubwpj
aGVja2luZyBmb3IgZGxkLmguLi4gbm8KY2hlY2tpbmcgZm9yIG1hY2gtby9k
eWxkLmguLi4gbm8KY2hlY2tpbmcgZm9yIGRpcmVudC5oLi4uIHllcwpjaGVj
a2luZyBmb3IgY2xvc2VkaXIuLi4geWVzCmNoZWNraW5nIGZvciBvcGVuZGly
Li4uIHllcwpjaGVja2luZyBmb3IgcmVhZGRpci4uLiB5ZXMKY2hlY2tpbmcg
Zm9yIHN0cmxjYXQuLi4gbm8KY2hlY2tpbmcgZm9yIHN0cmxjcHkuLi4gbm8K
Y29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0
YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogY3JlYXRp
bmcgY29uZmlnLmgKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVz
IGNvbW1hbmRzCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBsaWJ0b29sIGNv
bW1hbmRzCi9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40
LjIvdGVzdHMvbm9ucmVjdXJzaXZlLmF0OjExNDogJHVuc2V0IExJQlRPT0wg
TElCVE9PTElaRTsgJE1BS0UgJHRhcmdldCAKc3RkZXJyOgpJbiBmaWxlIGlu
Y2x1ZGVkIGZyb20gLi9sdGRsL2xpYmx0ZGwvbHRfX2dsaWJjLmg6NjE6MCwN
CiAgICAgICAgICAgICAgICAgZnJvbSAuL2x0ZGwvbGlibHRkbC9sdF9fcHJp
dmF0ZS5oOjU0LA0KICAgICAgICAgICAgICAgICBmcm9tIGx0ZGwvbG9hZGVy
cy9sb2FkbGlicmFyeS5jOjMyOg0KbHRkbC9hcmd6Lmg6NDM6MDogd2Fybmlu
ZzogIkxUX1NDT1BFIiByZWRlZmluZWQgW2VuYWJsZWQgYnkgZGVmYXVsdF0N
CiAjICBkZWZpbmUgTFRfU0NPUEUNCiBeDQpJbiBmaWxlIGluY2x1ZGVkIGZy
b20gLi9sdGRsL2xpYmx0ZGwvbHRfX2FsbG9jLmg6MzQ6MCwNCiAgICAgICAg
ICAgICAgICAgZnJvbSAuL2x0ZGwvbGlibHRkbC9sdF9fcHJpdmF0ZS5oOjUx
LA0KICAgICAgICAgICAgICAgICBmcm9tIGx0ZGwvbG9hZGVycy9sb2FkbGli
cmFyeS5jOjMyOg0KLi9sdGRsL2xpYmx0ZGwvbHRfc3lzdGVtLmg6MTE2OjA6
IG5vdGU6IHRoaXMgaXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBwcmV2aW91cyBk
ZWZpbml0aW9uDQogIyAgICAgIGRlZmluZSBMVF9TQ09QRSBleHRlcm4gX19k
ZWNsc3BlYyhkbGxleHBvcnQpDQogXg0KSW4gZmlsZSBpbmNsdWRlZCBmcm9t
IGx0ZGwvbHRkbC5oOjM3OjAsDQogICAgICAgICAgICAgICAgIGZyb20gLi9s
dGRsL2xpYmx0ZGwvbHRfX3ByaXZhdGUuaDo1NywNCiAgICAgICAgICAgICAg
ICAgZnJvbSBsdGRsL2xvYWRlcnMvbG9hZGxpYnJhcnkuYzozMjoNCmx0ZGwv
bGlibHRkbC9sdF9lcnJvci5oOjc5OjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0n
LCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAn
aW50Jw0KIExUX1NDT1BFIGludCBsdF9kbGFkZGVycm9yIChjb25zdCBjaGFy
ICpkaWFnbm9zdGljKTsNCiAgICAgICAgICBeDQpsdGRsL2xpYmx0ZGwvbHRf
ZXJyb3IuaDo4MDoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycs
ICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9T
Q09QRSBpbnQgbHRfZGxzZXRlcnJvciAoaW50IGVycm9yY29kZSk7DQogICAg
ICAgICAgXg0KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGx0ZGwvbHRkbC5oOjM4
OjAsDQogICAgICAgICAgICAgICAgIGZyb20gLi9sdGRsL2xpYmx0ZGwvbHRf
X3ByaXZhdGUuaDo1NywNCiAgICAgICAgICAgICAgICAgZnJvbSBsdGRsL2xv
YWRlcnMvbG9hZGxpYnJhcnkuYzozMjoNCmx0ZGwvbGlibHRkbC9sdF9kbGxv
YWRlci5oOjczOjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7Jywg
J2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1ND
T1BFIGludCAgbHRfZGxsb2FkZXJfYWRkICAgIChjb25zdCBsdF9kbHZ0YWJs
ZSAqdnRhYmxlKTsNCiAgICAgICAgICBeDQpsdGRsL2xpYmx0ZGwvbHRfZGxs
b2FkZXIuaDo3NDoxOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ0xUX1ND
T1BFJw0KIExUX1NDT1BFIGx0X2RsbG9hZGVyIGx0X2RsbG9hZGVyX25leHQg
ICAoY29uc3QgbHRfZGxsb2FkZXIgbG9hZGVyKTsNCiBeDQpsdGRsL2xpYmx0
ZGwvbHRfZGxsb2FkZXIuaDo3NDoyMjogZXJyb3I6IGV4cGVjdGVkICc9Jywg
JywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2x0
X2RsbG9hZGVyX25leHQnDQogTFRfU0NPUEUgbHRfZGxsb2FkZXIgbHRfZGxs
b2FkZXJfbmV4dCAgIChjb25zdCBsdF9kbGxvYWRlciBsb2FkZXIpOw0KICAg
ICAgICAgICAgICAgICAgICAgIF4NCmx0ZGwvbGlibHRkbC9sdF9kbGxvYWRl
ci5oOjc2OjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnTFRfU0NPUEUn
DQogTFRfU0NPUEUgbHRfZGx2dGFibGUgKiBsdF9kbGxvYWRlcl9yZW1vdmUg
KGNvbnN0IGNoYXIgKm5hbWUpOw0KIF4NCmx0ZGwvbGlibHRkbC9sdF9kbGxv
YWRlci5oOjc2OjIyOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7Jywg
J2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnKicgdG9rZW4NCiBM
VF9TQ09QRSBsdF9kbHZ0YWJsZSAqIGx0X2RsbG9hZGVyX3JlbW92ZSAoY29u
c3QgY2hhciAqbmFtZSk7DQogICAgICAgICAgICAgICAgICAgICAgXg0KbHRk
bC9saWJsdGRsL2x0X2RsbG9hZGVyLmg6Nzc6MTA6IGVycm9yOiBleHBlY3Rl
ZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVm
b3JlICdjb25zdCcNCiBMVF9TQ09QRSBjb25zdCBsdF9kbHZ0YWJsZSAqbHRf
ZGxsb2FkZXJfZmluZCAoY29uc3QgY2hhciAqbmFtZSk7DQogICAgICAgICAg
Xg0KbHRkbC9saWJsdGRsL2x0X2RsbG9hZGVyLmg6Nzg6MTA6IGVycm9yOiBl
eHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVf
XycgYmVmb3JlICdjb25zdCcNCiBMVF9TQ09QRSBjb25zdCBsdF9kbHZ0YWJs
ZSAqbHRfZGxsb2FkZXJfZ2V0IChsdF9kbGxvYWRlciBsb2FkZXIpOw0KICAg
ICAgICAgIF4NCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuL2x0ZGwvbGlibHRk
bC9sdF9fcHJpdmF0ZS5oOjU3OjAsDQogICAgICAgICAgICAgICAgIGZyb20g
bHRkbC9sb2FkZXJzL2xvYWRsaWJyYXJ5LmM6MzI6DQpsdGRsL2x0ZGwuaDo1
MzoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9y
ICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQg
ICAgIGx0X2RsaW5pdCAgKHZvaWQpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRk
bC5oOjU0OjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2Fz
bScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BF
IGludCAgICAgbHRfZGxleGl0ICAodm9pZCk7DQogICAgICAgICAgXg0KbHRk
bC9sdGRsLmg6NTc6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsn
LCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQogTFRf
U0NPUEUgaW50ICAgICBsdF9kbGFkZHNlYXJjaGRpciAgKGNvbnN0IGNoYXIg
KnNlYXJjaF9kaXIpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjU4OjEw
OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19f
YXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCAgICAg
bHRfZGxpbnNlcnRzZWFyY2hkaXIgKGNvbnN0IGNoYXIgKmJlZm9yZSwNCiAg
ICAgICAgICBeDQpsdGRsL2x0ZGwuaDo2MDoxMDogZXJyb3I6IGV4cGVjdGVk
ICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZv
cmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQgICAgICBsdF9kbHNldHNlYXJjaHBh
dGggIChjb25zdCBjaGFyICpzZWFyY2hfcGF0aCk7DQogICAgICAgICAgXg0K
bHRkbC9sdGRsLmg6NjE6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywg
JzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdjb25zdCcN
CiBMVF9TQ09QRSBjb25zdCBjaGFyICpsdF9kbGdldHNlYXJjaHBhdGggICh2
b2lkKTsNCiAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDo2MjoxMDogZXJyb3I6
IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0
ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQgICAgIGx0X2RsZm9y
ZWFjaGZpbGUgICgNCiAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDo2ODoxMDog
ZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0
dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQgICAgIGx0
X2RsYWR2aXNlX2luaXQgIChsdF9kbGFkdmlzZSAqYWR2aXNlKTsNCiAgICAg
ICAgICBeDQpsdGRsL2x0ZGwuaDo2OToxMDogZXJyb3I6IGV4cGVjdGVkICc9
JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUg
J2ludCcNCiBMVF9TQ09QRSBpbnQgICAgIGx0X2RsYWR2aXNlX2Rlc3Ryb3kg
IChsdF9kbGFkdmlzZSAqYWR2aXNlKTsNCiAgICAgICAgICBeDQpsdGRsL2x0
ZGwuaDo3MDoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdh
c20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09Q
RSBpbnQgICAgIGx0X2RsYWR2aXNlX2V4dCAgKGx0X2RsYWR2aXNlICphZHZp
c2UpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjcxOjEwOiBlcnJvcjog
ZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRl
X18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCAgICAgbHRfZGxhZHZp
c2VfcmVzaWRlbnQgKGx0X2RsYWR2aXNlICphZHZpc2UpOw0KICAgICAgICAg
IF4NCmx0ZGwvbHRkbC5oOjcyOjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAn
LCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnaW50
Jw0KIExUX1NDT1BFIGludCAgICAgbHRfZGxhZHZpc2VfbG9jYWwgIChsdF9k
bGFkdmlzZSAqYWR2aXNlKTsNCiAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDo3
MzoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9y
ICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQg
ICAgIGx0X2RsYWR2aXNlX2dsb2JhbCAgIChsdF9kbGFkdmlzZSAqYWR2aXNl
KTsNCiAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDo3NDoxMDogZXJyb3I6IGV4
cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9f
JyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQgICAgIGx0X2RsYWR2aXNl
X3ByZWxvYWQgIChsdF9kbGFkdmlzZSAqYWR2aXNlKTsNCiAgICAgICAgICBe
DQpsdGRsL2x0ZGwuaDo3NzoxOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUg
J0xUX1NDT1BFJw0KIExUX1NDT1BFIGx0X2RsaGFuZGxlIGx0X2Rsb3BlbiAg
KGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsNCiBeDQpsdGRsL2x0ZGwuaDo3Nzoy
MjogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdf
X2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2x0X2Rsb3BlbicNCiBMVF9TQ09QRSBs
dF9kbGhhbmRsZSBsdF9kbG9wZW4gIChjb25zdCBjaGFyICpmaWxlbmFtZSk7
DQogICAgICAgICAgICAgICAgICAgICAgXg0KbHRkbC9sdGRsLmg6Nzg6MTog
ZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdMVF9TQ09QRScNCiBMVF9TQ09Q
RSBsdF9kbGhhbmRsZSBsdF9kbG9wZW5leHQgKGNvbnN0IGNoYXIgKmZpbGVu
YW1lKTsNCiBeDQpsdGRsL2x0ZGwuaDo3ODoyMjogZXJyb3I6IGV4cGVjdGVk
ICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZv
cmUgJ2x0X2Rsb3BlbmV4dCcNCiBMVF9TQ09QRSBsdF9kbGhhbmRsZSBsdF9k
bG9wZW5leHQgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsNCiAgICAgICAgICAg
ICAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDo3OToxOiBlcnJvcjogdW5rbm93
biB0eXBlIG5hbWUgJ0xUX1NDT1BFJw0KIExUX1NDT1BFIGx0X2RsaGFuZGxl
IGx0X2Rsb3BlbmFkdmlzZSAoY29uc3QgY2hhciAqZmlsZW5hbWUsDQogXg0K
bHRkbC9sdGRsLmg6Nzk6MjI6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywg
JzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdsdF9kbG9w
ZW5hZHZpc2UnDQogTFRfU0NPUEUgbHRfZGxoYW5kbGUgbHRfZGxvcGVuYWR2
aXNlIChjb25zdCBjaGFyICpmaWxlbmFtZSwNCiAgICAgICAgICAgICAgICAg
ICAgICBeDQpsdGRsL2x0ZGwuaDo4MToxMDogZXJyb3I6IGV4cGVjdGVkICc9
JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUg
J3ZvaWQnDQogTFRfU0NPUEUgdm9pZCAqICAgICBsdF9kbHN5bSAgKGx0X2Rs
aGFuZGxlIGhhbmRsZSwgY29uc3QgY2hhciAqbmFtZSk7DQogICAgICAgICAg
Xg0KbHRkbC9sdGRsLmg6ODI6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcs
JywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdjb25z
dCcNCiBMVF9TQ09QRSBjb25zdCBjaGFyICpsdF9kbGVycm9yICAodm9pZCk7
DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6ODM6MTA6IGVycm9yOiBleHBl
Y3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycg
YmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50ICAgICBsdF9kbGNsb3NlICAo
bHRfZGxoYW5kbGUgaGFuZGxlKTsNCiAgICAgICAgICBeDQpsdGRsL2x0ZGwu
aDo5OToxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20n
IG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBp
bnQgbHRfZGxwcmVsb2FkICAgICAgKGNvbnN0IGx0X2Rsc3ltbGlzdCAqcHJl
bG9hZGVkKTsNCiAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDoxMDA6MTA6IGVy
cm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRy
aWJ1dGVfXycgYmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50IGx0X2RscHJl
bG9hZF9kZWZhdWx0IChjb25zdCBsdF9kbHN5bWxpc3QgKnByZWxvYWRlZCk7
DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6MTAxOjEwOiBlcnJvcjogZXhw
ZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18n
IGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCBsdF9kbHByZWxvYWRfb3Bl
biAgICAoY29uc3QgY2hhciAqb3JpZ2luYXRvciwNCiAgICAgICAgICBeDQps
dGRsL2x0ZGwuaDoxMjE6MTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdM
VF9TQ09QRScNCiBMVF9TQ09QRSBsdF9kbGludGVyZmFjZV9pZCBsdF9kbGlu
dGVyZmFjZV9yZWdpc3RlciAoY29uc3QgY2hhciAqaWRfc3RyaW5nLA0KIF4N
Cmx0ZGwvbHRkbC5oOjEyMToyODogZXJyb3I6IGV4cGVjdGVkICc9JywgJywn
LCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2x0X2Rs
aW50ZXJmYWNlX3JlZ2lzdGVyJw0KIExUX1NDT1BFIGx0X2RsaW50ZXJmYWNl
X2lkIGx0X2RsaW50ZXJmYWNlX3JlZ2lzdGVyIChjb25zdCBjaGFyICppZF9z
dHJpbmcsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgXg0KbHRkbC9s
dGRsLmg6MTIzOjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7Jywg
J2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAndm9pZCcNCiBMVF9T
Q09QRSB2b2lkIGx0X2RsaW50ZXJmYWNlX2ZyZWUgKGx0X2RsaW50ZXJmYWNl
X2lkIGtleSk7DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6MTI0OjEwOiBl
cnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0
cmlidXRlX18nIGJlZm9yZSAndm9pZCcNCiBMVF9TQ09QRSB2b2lkICogbHRf
ZGxjYWxsZXJfc2V0X2RhdGEgIChsdF9kbGludGVyZmFjZV9pZCBrZXksDQog
ICAgICAgICAgXg0KbHRkbC9sdGRsLmg6MTI2OjEwOiBlcnJvcjogZXhwZWN0
ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJl
Zm9yZSAndm9pZCcNCiBMVF9TQ09QRSB2b2lkICogbHRfZGxjYWxsZXJfZ2V0
X2RhdGEgIChsdF9kbGludGVyZmFjZV9pZCBrZXksDQogICAgICAgICAgXg0K
bHRkbC9sdGRsLmg6MTQzOjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcs
ICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnY29uc3Qn
DQogTFRfU0NPUEUgY29uc3QgbHRfZGxpbmZvICpsdF9kbGdldGluZm8gICAg
IChsdF9kbGhhbmRsZSBoYW5kbGUpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRk
bC5oOjE0NToxOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ0xUX1NDT1BF
Jw0KIExUX1NDT1BFIGx0X2RsaGFuZGxlIGx0X2RsaGFuZGxlX2l0ZXJhdGUg
KGx0X2RsaW50ZXJmYWNlX2lkIGlmYWNlLA0KIF4NCmx0ZGwvbHRkbC5oOjE0
NToyMjogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9y
ICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2x0X2RsaGFuZGxlX2l0ZXJhdGUn
DQogTFRfU0NPUEUgbHRfZGxoYW5kbGUgbHRfZGxoYW5kbGVfaXRlcmF0ZSAo
bHRfZGxpbnRlcmZhY2VfaWQgaWZhY2UsDQogICAgICAgICAgICAgICAgICAg
ICAgXg0KbHRkbC9sdGRsLmg6MTQ3OjE6IGVycm9yOiB1bmtub3duIHR5cGUg
bmFtZSAnTFRfU0NPUEUnDQogTFRfU0NPUEUgbHRfZGxoYW5kbGUgbHRfZGxo
YW5kbGVfZmV0Y2ggICAobHRfZGxpbnRlcmZhY2VfaWQgaWZhY2UsDQogXg0K
bHRkbC9sdGRsLmg6MTQ3OjIyOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcs
ICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnbHRfZGxo
YW5kbGVfZmV0Y2gnDQogTFRfU0NPUEUgbHRfZGxoYW5kbGUgbHRfZGxoYW5k
bGVfZmV0Y2ggICAobHRfZGxpbnRlcmZhY2VfaWQgaWZhY2UsDQogICAgICAg
ICAgICAgICAgICAgICAgXg0KbHRkbC9sdGRsLmg6MTQ5OjEwOiBlcnJvcjog
ZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRl
X18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCAgbHRfZGxoYW5kbGVf
bWFwICAgICAobHRfZGxpbnRlcmZhY2VfaWQgaWZhY2UsDQogICAgICAgICAg
Xg0KbHRkbC9sdGRsLmg6MTU2OjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAn
LCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnaW50
Jw0KIExUX1NDT1BFIGludCAgICAgbHRfZGxtYWtlcmVzaWRlbnQgKGx0X2Rs
aGFuZGxlIGhhbmRsZSk7DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6MTU3
OjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3Ig
J19fYXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCAg
ICAgbHRfZGxpc3Jlc2lkZW50IChsdF9kbGhhbmRsZSBoYW5kbGUpOw0KICAg
ICAgICAgIF4NCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBsdGRsL2xvYWRlcnMv
bG9hZGxpYnJhcnkuYzozMjowOg0KLi9sdGRsL2xpYmx0ZGwvbHRfX3ByaXZh
dGUuaDo5MzoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdh
c20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ3ZvaWQnDQogTFRfU0NP
UEUgdm9pZCBsdF9fYWxsb2NfZGllX2NhbGxiYWNrICh2b2lkKTsNCiAgICAg
ICAgICBeDQouL2x0ZGwvbGlibHRkbC9sdF9fcHJpdmF0ZS5oOjE0MzoxMDog
ZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0
dHJpYnV0ZV9fJyBiZWZvcmUgJ2NvbnN0Jw0KIExUX1NDT1BFIGNvbnN0IGNo
YXIgKmx0X19lcnJvcl9zdHJpbmcgKGludCBlcnJvcmNvZGUpOw0KICAgICAg
ICAgIF4NCi4vbHRkbC9saWJsdGRsL2x0X19wcml2YXRlLmg6MTQ0OjEwOiBl
cnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0
cmlidXRlX18nIGJlZm9yZSAnY29uc3QnDQogTFRfU0NPUEUgY29uc3QgY2hh
ciAqbHRfX2dldF9sYXN0X2Vycm9yICh2b2lkKTsNCiAgICAgICAgICBeDQou
L2x0ZGwvbGlibHRkbC9sdF9fcHJpdmF0ZS5oOjE0NToxMDogZXJyb3I6IGV4
cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9f
JyBiZWZvcmUgJ2NvbnN0Jw0KIExUX1NDT1BFIGNvbnN0IGNoYXIgKmx0X19z
ZXRfbGFzdF9lcnJvciAoY29uc3QgY2hhciAqZXJyb3Jtc2cpOw0KICAgICAg
ICAgIF4NCmx0ZGwvbG9hZGVycy9sb2FkbGlicmFyeS5jOjQ2OjE6IGVycm9y
OiB1bmtub3duIHR5cGUgbmFtZSAnTFRfU0NPUEUnDQogTFRfU0NPUEUgbHRf
ZGx2dGFibGUgKmdldF92dGFibGUgKGx0X3VzZXJfZGF0YSBsb2FkZXJfZGF0
YSk7DQogXg0KbHRkbC9sb2FkZXJzL2xvYWRsaWJyYXJ5LmM6NDY6MjI6IGVy
cm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRy
aWJ1dGVfXycgYmVmb3JlICcqJyB0b2tlbg0KIExUX1NDT1BFIGx0X2RsdnRh
YmxlICpnZXRfdnRhYmxlIChsdF91c2VyX2RhdGEgbG9hZGVyX2RhdGEpOw0K
ICAgICAgICAgICAgICAgICAgICAgIF4NCmx0ZGwvbG9hZGVycy9sb2FkbGli
cmFyeS5jOiBJbiBmdW5jdGlvbiAnbG9hZGxpYnJhcnlfTFRYX2dldF92dGFi
bGUnOg0KbHRkbC9sb2FkZXJzL2xvYWRsaWJyYXJ5LmM6NzE6MTY6IHdhcm5p
bmc6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0
aG91dCBhIGNhc3QgW2VuYWJsZWQgYnkgZGVmYXVsdF0NCiAgICAgICBpZmFj
ZV9pZCA9IGx0X2RsaW50ZXJmYWNlX3JlZ2lzdGVyICgibHRkbCBsb2FkbGli
cmFyeSIsIE5VTEwpOw0KICAgICAgICAgICAgICAgIF4NCmx0ZGwvbG9hZGVy
cy9sb2FkbGlicmFyeS5jOiBJbiBmdW5jdGlvbiAndm1fb3Blbic6DQpsdGRs
L2xvYWRlcnMvbG9hZGxpYnJhcnkuYzoyMTg6MTc6IHdhcm5pbmc6IGFzc2ln
bm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNh
c3QgW2VuYWJsZWQgYnkgZGVmYXVsdF0NCiAgICAgd2hpbGUgKChjdXIgPSBs
dF9kbGhhbmRsZV9pdGVyYXRlIChpZmFjZV9pZCwgY3VyKSkpDQogICAgICAg
ICAgICAgICAgIF4NCmx0ZGwvbG9hZGVycy9sb2FkbGlicmFyeS5jOjIzMzo3
OiB3YXJuaW5nOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2YgJ2xvYWRsaWJyYXJ5
ZXJyb3InIG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBj
YXN0IFtlbmFibGVkIGJ5IGRlZmF1bHRdDQogICAgICAgTE9BRExJQl9TRVRF
UlJPUiAoQ0FOTk9UX09QRU4pOw0KICAgICAgIF4NCmx0ZGwvbG9hZGVycy9s
b2FkbGlicmFyeS5jOjEwNjoyMDogbm90ZTogZXhwZWN0ZWQgJ2NvbnN0IGNo
YXIgKicgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUgJ2ludCcNCiBzdGF0aWMg
Y29uc3QgY2hhciAqbG9hZGxpYnJhcnllcnJvciAoY29uc3QgY2hhciAqZGVm
YXVsdF9lcnJtc2cpOw0KICAgICAgICAgICAgICAgICAgICBeDQpsdGRsL2xv
YWRlcnMvbG9hZGxpYnJhcnkuYzogSW4gZnVuY3Rpb24gJ3ZtX2Nsb3NlJzoN
Cmx0ZGwvbG9hZGVycy9sb2FkbGlicmFyeS5jOjI1NDo3OiB3YXJuaW5nOiBw
YXNzaW5nIGFyZ3VtZW50IDEgb2YgJ2xvYWRsaWJyYXJ5ZXJyb3InIG1ha2Vz
IHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFtlbmFibGVk
IGJ5IGRlZmF1bHRdDQogICAgICAgTE9BRExJQl9TRVRFUlJPUiAoQ0FOTk9U
X0NMT1NFKTsNCiAgICAgICBeDQpsdGRsL2xvYWRlcnMvbG9hZGxpYnJhcnku
YzoxMDY6MjA6IG5vdGU6IGV4cGVjdGVkICdjb25zdCBjaGFyIConIGJ1dCBh
cmd1bWVudCBpcyBvZiB0eXBlICdpbnQnDQogc3RhdGljIGNvbnN0IGNoYXIg
KmxvYWRsaWJyYXJ5ZXJyb3IgKGNvbnN0IGNoYXIgKmRlZmF1bHRfZXJybXNn
KTsNCiAgICAgICAgICAgICAgICAgICAgXg0KbHRkbC9sb2FkZXJzL2xvYWRs
aWJyYXJ5LmM6IEluIGZ1bmN0aW9uICd2bV9zeW0nOg0KbHRkbC9sb2FkZXJz
L2xvYWRsaWJyYXJ5LmM6MjcxOjc6IHdhcm5pbmc6IHBhc3NpbmcgYXJndW1l
bnQgMSBvZiAnbG9hZGxpYnJhcnllcnJvcicgbWFrZXMgcG9pbnRlciBmcm9t
IGludGVnZXIgd2l0aG91dCBhIGNhc3QgW2VuYWJsZWQgYnkgZGVmYXVsdF0N
CiAgICAgICBMT0FETElCX1NFVEVSUk9SIChTWU1CT0xfTk9UX0ZPVU5EKTsN
CiAgICAgICBeDQpsdGRsL2xvYWRlcnMvbG9hZGxpYnJhcnkuYzoxMDY6MjA6
IG5vdGU6IGV4cGVjdGVkICdjb25zdCBjaGFyIConIGJ1dCBhcmd1bWVudCBp
cyBvZiB0eXBlICdpbnQnDQogc3RhdGljIGNvbnN0IGNoYXIgKmxvYWRsaWJy
YXJ5ZXJyb3IgKGNvbnN0IGNoYXIgKmRlZmF1bHRfZXJybXNnKTsNCiAgICAg
ICAgICAgICAgICAgICAgXg0KbWFrZVsxXTogKioqIFtsdGRsL2xvYWRlcnMv
bG9hZGxpYnJhcnkubG9dIEVycm9yIDEKbWFrZTogKioqIFthbGxdIEVycm9y
IDIKc3Rkb3V0OgovYmluL3NoIC9taW5ndy9saWJ0b29sLWJ1aWxkLWR1ZS10
by1HTlUvdGVzdHMvdGVzdHN1aXRlLmRpci8wOTYvbHRkbC9jb25maWcvaW5z
dGFsbC1zaCAtZCAuIGx0ZGwvCmNwIC4vbHRkbC9hcmd6Xy5oIGx0ZGwvYXJn
ei5oLXQKbXYgbHRkbC9hcmd6LmgtdCBsdGRsL2FyZ3ouaAptYWtlICBhbGwt
YW0KbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvbWluZ3cvbGlidG9v
bC1idWlsZC1kdWUtdG8tR05VL3Rlc3RzL3Rlc3RzdWl0ZS5kaXIvMDk2Jwpk
ZXBiYXNlPWBlY2hvIGZvby5sbyB8IHNlZCAnc3xbXi9dKiR8LmRlcHMvJnw7
c3xcLmxvJHx8J2A7XAoJL2Jpbi9zaCAuL2xpYnRvb2wgLS10YWc9Q0MgICAt
LW1vZGU9Y29tcGlsZSBnY2MgLURIQVZFX0NPTkZJR19IIC1JLiAgLURMVF9D
T05GSUdfSD0nPGNvbmZpZy5oPicgLURMVERMIC1JLiAtSS4gLUlsdGRsIC1J
Li9sdGRsIC1JLi9sdGRsL2xpYmx0ZGwgICAtZyAtTzIgLU1UIGZvby5sbyAt
TUQgLU1QIC1NRiAkZGVwYmFzZS5UcG8gLWMgLW8gZm9vLmxvIGZvby5jICYm
XAoJbXYgLWYgJGRlcGJhc2UuVHBvICRkZXBiYXNlLlBsbwpsaWJ0b29sOiBj
b21waWxlOiAgZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gIi1ETFRfQ09ORklH
X0g9PGNvbmZpZy5oPiIgLURMVERMIC1JLiAtSS4gLUlsdGRsIC1JLi9sdGRs
IC1JLi9sdGRsL2xpYmx0ZGwgLWcgLU8yIC1NVCBmb28ubG8gLU1EIC1NUCAt
TUYgLmRlcHMvZm9vLlRwbyAtYyBmb28uYyAgLURETExfRVhQT1JUIC1EUElD
IC1vIC5saWJzL2Zvby5vCmxpYnRvb2w6IGNvbXBpbGU6ICBnY2MgLURIQVZF
X0NPTkZJR19IIC1JLiAiLURMVF9DT05GSUdfSD08Y29uZmlnLmg+IiAtRExU
REwgLUkuIC1JLiAtSWx0ZGwgLUkuL2x0ZGwgLUkuL2x0ZGwvbGlibHRkbCAt
ZyAtTzIgLU1UIGZvby5sbyAtTUQgLU1QIC1NRiAuZGVwcy9mb28uVHBvIC1j
IGZvby5jIC1vIGZvby5vID4vZGV2L251bGwgMj4mMQovYmluL3NoIC4vbGli
dG9vbCAtLXRhZz1DQyAgIC0tbW9kZT1saW5rIGdjYyAgLWcgLU8yIC1tb2R1
bGUgLWF2b2lkLXZlcnNpb24gLW5vLXVuZGVmaW5lZCAgLW8gZm9vLmxhIC1y
cGF0aCAvbm9uZXhpc3RlbnQvbGliIGZvby5sbyAgCmxpYnRvb2w6IGxpbms6
IGdjYyAtc2hhcmVkICAubGlicy9mb28ubyAgICAtTzIgICAtbyAubGlicy9m
b28uZGxsIC1XbCwtLWVuYWJsZS1hdXRvLWltYWdlLWJhc2UgLVhsaW5rZXIg
LS1vdXQtaW1wbGliIC1YbGlua2VyIC5saWJzL2Zvby5kbGwuYQpsaWJ0b29s
OiBsaW5rOiBhciBjcnUgLmxpYnMvZm9vLmEgIGZvby5vCmxpYnRvb2w6IGxp
bms6IHJhbmxpYiAubGlicy9mb28uYQpsaWJ0b29sOiBsaW5rOiAoIGNkICIu
bGlicyIgJiYgcm0gLWYgImZvby5sYSIgJiYgY3AgLXAgIi4uL2Zvby5sYSIg
ImZvby5sYSIgKQpkZXBiYXNlPWBlY2hvIGx0ZGwvbG9hZGVycy9sb2FkbGli
cmFyeS5sbyB8IHNlZCAnc3xbXi9dKiR8LmRlcHMvJnw7c3xcLmxvJHx8J2A7
XAoJL2Jpbi9zaCAuL2xpYnRvb2wgLS10YWc9Q0MgICAtLW1vZGU9Y29tcGls
ZSBnY2MgLURIQVZFX0NPTkZJR19IIC1JLiAgLURMVF9DT05GSUdfSD0nPGNv
bmZpZy5oPicgLURMVERMIC1JLiAtSS4gLUlsdGRsIC1JLi9sdGRsIC1JLi9s
dGRsL2xpYmx0ZGwgICAtZyAtTzIgLU1UIGx0ZGwvbG9hZGVycy9sb2FkbGli
cmFyeS5sbyAtTUQgLU1QIC1NRiAkZGVwYmFzZS5UcG8gLWMgLW8gbHRkbC9s
b2FkZXJzL2xvYWRsaWJyYXJ5LmxvIGx0ZGwvbG9hZGVycy9sb2FkbGlicmFy
eS5jICYmXAoJbXYgLWYgJGRlcGJhc2UuVHBvICRkZXBiYXNlLlBsbwpsaWJ0
b29sOiBjb21waWxlOiAgZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gIi1ETFRf
Q09ORklHX0g9PGNvbmZpZy5oPiIgLURMVERMIC1JLiAtSS4gLUlsdGRsIC1J
Li9sdGRsIC1JLi9sdGRsL2xpYmx0ZGwgLWcgLU8yIC1NVCBsdGRsL2xvYWRl
cnMvbG9hZGxpYnJhcnkubG8gLU1EIC1NUCAtTUYgbHRkbC9sb2FkZXJzLy5k
ZXBzL2xvYWRsaWJyYXJ5LlRwbyAtYyBsdGRsL2xvYWRlcnMvbG9hZGxpYnJh
cnkuYyAgLURETExfRVhQT1JUIC1EUElDIC1vIGx0ZGwvbG9hZGVycy8ubGli
cy9sb2FkbGlicmFyeS5vCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAv
bWluZ3cvbGlidG9vbC1idWlsZC1kdWUtdG8tR05VL3Rlc3RzL3Rlc3RzdWl0
ZS5kaXIvMDk2JwovTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29s
LTIuNC4yL3Rlc3RzL25vbnJlY3Vyc2l2ZS5hdDoxMTQ6IGV4aXQgY29kZSB3
YXMgMiwgZXhwZWN0ZWQgMAo5Ni4gbm9ucmVjdXJzaXZlLmF0OjEwMjogOTYu
IGNvbXBpbGluZyBjb3BpZWQgbGlibHRkbCAobm9ucmVjdXJzaXZlLmF0OjEw
Mik6IEZBSUxFRCAobm9ucmVjdXJzaXZlLmF0OjExNCkK

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

IyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIGNvbXBpbGF0aW9u
IC0qLQo5NS4gbm9ucmVjdXJzaXZlLmF0Ojc4OiB0ZXN0aW5nIGNvbXBpbGlu
ZyBzb2Z0bGlua2VkIGxpYmx0ZGwgLi4uCmxpYnRvb2xpemU6IHB1dHRpbmcg
YXV4aWxpYXJ5IGZpbGVzIGluIEFDX0NPTkZJR19BVVhfRElSLCBgbHRkbC9j
b25maWcnLgpsaWJ0b29saXplOiBsaW5raW5nIGZpbGUgYGx0ZGwvY29uZmln
L2x0bWFpbi5zaCcKbGlidG9vbGl6ZTogcHV0dGluZyBtYWNyb3MgaW4gQUNf
Q09ORklHX01BQ1JPX0RJUiwgYGx0ZGwvbTQnLgpsaWJ0b29saXplOiBsaW5r
aW5nIGZpbGUgYGx0ZGwvbTQvYXJnei5tNCcKbGlidG9vbGl6ZTogbGlua2lu
ZyBmaWxlIGBsdGRsL200L2xpYnRvb2wubTQnCmxpYnRvb2xpemU6IGxpbmtp
bmcgZmlsZSBgbHRkbC9tNC9sdGRsLm00JwpsaWJ0b29saXplOiBsaW5raW5n
IGZpbGUgYGx0ZGwvbTQvbHRvcHRpb25zLm00JwpsaWJ0b29saXplOiBsaW5r
aW5nIGZpbGUgYGx0ZGwvbTQvbHRzdWdhci5tNCcKbGlidG9vbGl6ZTogbGlu
a2luZyBmaWxlIGBsdGRsL200L2x0dmVyc2lvbi5tNCcKbGlidG9vbGl6ZTog
bGlua2luZyBmaWxlIGBsdGRsL200L2x0fm9ic29sZXRlLm00JwpsaWJ0b29s
aXplOiBwdXR0aW5nIGxpYmx0ZGwgZmlsZXMgaW4gTFRfQ09ORklHX0xURExf
RElSLCBgbHRkbCcuCmxpYnRvb2xpemU6IGxpbmtpbmcgZmlsZSBgbHRkbC9D
T1BZSU5HLkxJQicKbGlidG9vbGl6ZTogbGlua2luZyBmaWxlIGBsdGRsL1JF
QURNRScKbGlidG9vbGl6ZTogbGlua2luZyBmaWxlIGBsdGRsL2FyZ3pfLmgn
CmxpYnRvb2xpemU6IGxpbmtpbmcgZmlsZSBgbHRkbC9hcmd6LmMnCmxpYnRv
b2xpemU6IGxpbmtpbmcgZmlsZSBgbHRkbC9sb2FkZXJzL2RsZF9saW5rLmMn
CmxpYnRvb2xpemU6IGxpbmtpbmcgZmlsZSBgbHRkbC9sb2FkZXJzL2Rsb3Bl
bi5jJwpsaWJ0b29saXplOiBsaW5raW5nIGZpbGUgYGx0ZGwvbG9hZGVycy9k
eWxkLmMnCmxpYnRvb2xpemU6IGxpbmtpbmcgZmlsZSBgbHRkbC9sb2FkZXJz
L2xvYWRfYWRkX29uLmMnCmxpYnRvb2xpemU6IGxpbmtpbmcgZmlsZSBgbHRk
bC9sb2FkZXJzL2xvYWRsaWJyYXJ5LmMnCmxpYnRvb2xpemU6IGxpbmtpbmcg
ZmlsZSBgbHRkbC9sb2FkZXJzL3NobF9sb2FkLmMnCmxpYnRvb2xpemU6IGxp
bmtpbmcgZmlsZSBgbHRkbC9sdF9fZGlyZW50LmMnCmxpYnRvb2xpemU6IGxp
bmtpbmcgZmlsZSBgbHRkbC9sdF9fc3RybC5jJwpsaWJ0b29saXplOiBsaW5r
aW5nIGZpbGUgYGx0ZGwvbGlibHRkbC9sdF9fYWxsb2MuaCcKbGlidG9vbGl6
ZTogbGlua2luZyBmaWxlIGBsdGRsL2xpYmx0ZGwvbHRfX2RpcmVudC5oJwps
aWJ0b29saXplOiBsaW5raW5nIGZpbGUgYGx0ZGwvbGlibHRkbC9sdF9fZ2xp
YmMuaCcKbGlidG9vbGl6ZTogbGlua2luZyBmaWxlIGBsdGRsL2xpYmx0ZGwv
bHRfX3ByaXZhdGUuaCcKbGlidG9vbGl6ZTogbGlua2luZyBmaWxlIGBsdGRs
L2xpYmx0ZGwvbHRfX3N0cmwuaCcKbGlidG9vbGl6ZTogbGlua2luZyBmaWxl
IGBsdGRsL2xpYmx0ZGwvbHRfZGxsb2FkZXIuaCcKbGlidG9vbGl6ZTogbGlu
a2luZyBmaWxlIGBsdGRsL2xpYmx0ZGwvbHRfZXJyb3IuaCcKbGlidG9vbGl6
ZTogbGlua2luZyBmaWxlIGBsdGRsL2xpYmx0ZGwvbHRfc3lzdGVtLmgnCmxp
YnRvb2xpemU6IGxpbmtpbmcgZmlsZSBgbHRkbC9saWJsdGRsL3NsaXN0Lmgn
CmxpYnRvb2xpemU6IGxpbmtpbmcgZmlsZSBgbHRkbC9sb2FkZXJzL3ByZW9w
ZW4uYycKbGlidG9vbGl6ZTogbGlua2luZyBmaWxlIGBsdGRsL2x0X19hbGxv
Yy5jJwpsaWJ0b29saXplOiBsaW5raW5nIGZpbGUgYGx0ZGwvbHRfZGxsb2Fk
ZXIuYycKbGlidG9vbGl6ZTogbGlua2luZyBmaWxlIGBsdGRsL2x0X2Vycm9y
LmMnCmxpYnRvb2xpemU6IGxpbmtpbmcgZmlsZSBgbHRkbC9sdGRsLmMnCmxp
YnRvb2xpemU6IGxpbmtpbmcgZmlsZSBgbHRkbC9sdGRsLmgnCmxpYnRvb2xp
emU6IGxpbmtpbmcgZmlsZSBgbHRkbC9zbGlzdC5jJwpsaWJ0b29saXplOiBj
cmVhdGluZyBmaWxlIGBsdGRsL01ha2VmaWxlLmluYycKL01pbkdXL3NoYXJl
L2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9ub25yZWN1cnNp
dmUuYXQ6ODM6IGlmIHRlc3QgLWYgbHRkbC9jb25maWd1cmUuYWM7IHRoZW4g
ZmFsc2U7IGZpCi9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wt
Mi40LjIvdGVzdHMvbm9ucmVjdXJzaXZlLmF0OjkwOiAkQUNMT0NBTCAtSSBs
dGRsL200CnN0ZGVycjoKc3Rkb3V0OgovTWluR1cvc2hhcmUvYXV0b21ha2Ut
MS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL25vbnJlY3Vyc2l2ZS5hdDo5MDog
JEFVVE9IRUFERVIgCnN0ZGVycjoKc3Rkb3V0OgovTWluR1cvc2hhcmUvYXV0
b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL25vbnJlY3Vyc2l2ZS5h
dDo5MDogJEFVVE9NQUtFIC0tYWRkLW1pc3NpbmcgLS1jb3B5CnN0ZGVycjoK
Y29uZmlndXJlLmFjOjk6IGluc3RhbGxpbmcgYGx0ZGwvY29uZmlnL2NvbXBp
bGUnCmNvbmZpZ3VyZS5hYzoxMDogaW5zdGFsbGluZyBgbHRkbC9jb25maWcv
Y29uZmlnLmd1ZXNzJwpjb25maWd1cmUuYWM6MTA6IGluc3RhbGxpbmcgYGx0
ZGwvY29uZmlnL2NvbmZpZy5zdWInCmNvbmZpZ3VyZS5hYzo3OiBpbnN0YWxs
aW5nIGBsdGRsL2NvbmZpZy9pbnN0YWxsLXNoJwpjb25maWd1cmUuYWM6Nzog
aW5zdGFsbGluZyBgbHRkbC9jb25maWcvbWlzc2luZycKTWFrZWZpbGUuYW06
IGluc3RhbGxpbmcgYGx0ZGwvY29uZmlnL2RlcGNvbXAnCnN0ZG91dDoKL01p
bkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9u
b25yZWN1cnNpdmUuYXQ6OTA6ICRBVVRPQ09ORiAKc3RkZXJyOgpzdGRvdXQ6
Ci9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVz
dHMvbm9ucmVjdXJzaXZlLmF0OjkwOiA6ICR7Q09ORklHX1NIRUxMPS9iaW4v
c2h9OyBleHBvcnQgQ09ORklHX1NIRUxMOyAJICAkQ09ORklHX1NIRUxMIC4v
Y29uZmlndXJlICRjb25maWd1cmVfb3B0aW9ucyAKc3RkZXJyOgpzdGRvdXQ6
CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL2Jp
bi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1l
bnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUg
bWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4u
LiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4g
eWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIg
dGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNv
bXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLmV4ZQpjaGVj
a2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIC5leGUKY2hlY2tp
bmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNr
aW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcg
d2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHll
cwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVj
a2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25l
IG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5
IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2Nj
Li4uIGdjYzMKY2hlY2tpbmcgd2hldGhlciBnY2MgYW5kIGNjIHVuZGVyc3Rh
bmQgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyBidWlsZCBz
eXN0ZW0gdHlwZS4uLiBpNjg2LXBjLW1pbmd3MzIKY2hlY2tpbmcgaG9zdCBz
eXN0ZW0gdHlwZS4uLiBpNjg2LXBjLW1pbmd3MzIKY2hlY2tpbmcgaG93IHRv
IHByaW50IHN0cmluZ3MuLi4gcHJpbnRmCmNoZWNraW5nIGZvciBhIHNlZCB0
aGF0IGRvZXMgbm90IHRydW5jYXRlIG91dHB1dC4uLiAvYmluL3NlZApjaGVj
a2luZyBmb3IgZ3JlcCB0aGF0IGhhbmRsZXMgbG9uZyBsaW5lcyBhbmQgLWUu
Li4gL2Jpbi9ncmVwCmNoZWNraW5nIGZvciBlZ3JlcC4uLiAvYmluL2dyZXAg
LUUKY2hlY2tpbmcgZm9yIGZncmVwLi4uIC9iaW4vZ3JlcCAtRgpjaGVja2lu
ZyBmb3IgbGQgdXNlZCBieSBnY2MuLi4gYzovdGluZ3cvbWluZ3czMi9iaW4v
bGQuZXhlCmNoZWNraW5nIGlmIHRoZSBsaW5rZXIgKGM6L3Rpbmd3L21pbmd3
MzIvYmluL2xkLmV4ZSkgaXMgR05VIGxkLi4uIHllcwpjaGVja2luZyBmb3Ig
QlNELSBvciBNUy1jb21wYXRpYmxlIG5hbWUgbGlzdGVyIChubSkuLi4gL2Jp
bi9ubSAtQgpjaGVja2luZyB0aGUgbmFtZSBsaXN0ZXIgKC9iaW4vbm0gLUIp
IGludGVyZmFjZS4uLiBCU0Qgbm0KY2hlY2tpbmcgd2hldGhlciBsbiAtcyB3
b3Jrcy4uLiBubywgdXNpbmcgY3AgLXAKY2hlY2tpbmcgdGhlIG1heGltdW0g
bGVuZ3RoIG9mIGNvbW1hbmQgbGluZSBhcmd1bWVudHMuLi4gODE5MgpjaGVj
a2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1bmRlcnN0YW5kcyBzb21lIFhTSSBj
b25zdHJ1Y3RzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1
bmRlcnN0YW5kcyAiKz0iLi4uIHllcwpjaGVja2luZyBob3cgdG8gY29udmVy
dCBpNjg2LXBjLW1pbmd3MzIgZmlsZSBuYW1lcyB0byBpNjg2LXBjLW1pbmd3
MzIgZm9ybWF0Li4uIChjYWNoZWQpIGZ1bmNfY29udmVydF9maWxlX21zeXNf
dG9fdzMyCmNoZWNraW5nIGhvdyB0byBjb252ZXJ0IGk2ODYtcGMtbWluZ3cz
MiBmaWxlIG5hbWVzIHRvIHRvb2xjaGFpbiBmb3JtYXQuLi4gKGNhY2hlZCkg
ZnVuY19jb252ZXJ0X2ZpbGVfbXN5c190b193MzIKY2hlY2tpbmcgZm9yIGM6
L3Rpbmd3L21pbmd3MzIvYmluL2xkLmV4ZSBvcHRpb24gdG8gcmVsb2FkIG9i
amVjdCBmaWxlcy4uLiAtcgpjaGVja2luZyBmb3Igb2JqZHVtcC4uLiBvYmpk
dW1wCmNoZWNraW5nIGhvdyB0byByZWNvZ25pemUgZGVwZW5kZW50IGxpYnJh
cmllcy4uLiBmaWxlX21hZ2ljIF54ODYgYXJjaGl2ZSBpbXBvcnR8Xng4NiBE
TEwKY2hlY2tpbmcgZm9yIGRsbHRvb2wuLi4gZGxsdG9vbApjaGVja2luZyBo
b3cgdG8gYXNzb2NpYXRlIHJ1bnRpbWUgYW5kIGxpbmsgbGlicmFyaWVzLi4u
IGZ1bmNfY3lnbWluZ19kbGxfZm9yX2ltcGxpYgpjaGVja2luZyBmb3IgYXJj
aGl2ZXIgQEZJTEUgc3VwcG9ydC4uLiBACmNoZWNraW5nIGZvciBzdHJpcC4u
LiBzdHJpcApjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2lu
ZyBjb21tYW5kIHRvIHBhcnNlIC9iaW4vbm0gLUIgb3V0cHV0IGZyb20gZ2Nj
IG9iamVjdC4uLiBvawpjaGVja2luZyBmb3Igc3lzcm9vdC4uLiBubwpjaGVj
a2luZyBmb3IgbXQuLi4gOgpjaGVja2luZyBpZiA6IGlzIGEgbWFuaWZlc3Qg
dG9vbC4uLiBubwpjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nl
c3Nvci4uLiBnY2MgLUUKY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmls
ZXMuLi4geWVzCmNoZWNraW5nIGZvciBzeXMvdHlwZXMuaC4uLiB5ZXMKY2hl
Y2tpbmcgZm9yIHN5cy9zdGF0LmguLi4geWVzCmNoZWNraW5nIGZvciBzdGRs
aWIuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN0cmluZy5oLi4uIHllcwpjaGVj
a2luZyBmb3IgbWVtb3J5LmguLi4geWVzCmNoZWNraW5nIGZvciBzdHJpbmdz
LmguLi4geWVzCmNoZWNraW5nIGZvciBpbnR0eXBlcy5oLi4uIHllcwpjaGVj
a2luZyBmb3Igc3RkaW50LmguLi4geWVzCmNoZWNraW5nIGZvciB1bmlzdGQu
aC4uLiB5ZXMKY2hlY2tpbmcgZm9yIGRsZmNuLmguLi4gbm8KY2hlY2tpbmcg
Zm9yIG9iamRpci4uLiAubGlicwpjaGVja2luZyBpZiBnY2Mgc3VwcG9ydHMg
LWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucy4uLiBubwpjaGVja2luZyBmb3Ig
Z2NjIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAtRERMTF9FWFBPUlQgLURQ
SUMKY2hlY2tpbmcgaWYgZ2NjIFBJQyBmbGFnIC1ERExMX0VYUE9SVCAtRFBJ
QyB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgaWYgZ2NjIHN0YXRpYyBmbGFnIC1z
dGF0aWMgd29ya3MuLi4geWVzCmNoZWNraW5nIGlmIGdjYyBzdXBwb3J0cyAt
YyAtbyBmaWxlLm8uLi4geWVzCmNoZWNraW5nIGlmIGdjYyBzdXBwb3J0cyAt
YyAtbyBmaWxlLm8uLi4gKGNhY2hlZCkgeWVzCmNoZWNraW5nIHdoZXRoZXIg
dGhlIGdjYyBsaW5rZXIgKGM6L3Rpbmd3L21pbmd3MzIvYmluL2xkLmV4ZSkg
c3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcy4uLiB5ZXMKY2hlY2tpbmcgd2hl
dGhlciAtbGMgc2hvdWxkIGJlIGV4cGxpY2l0bHkgbGlua2VkIGluLi4uIHll
cwpjaGVja2luZyBkeW5hbWljIGxpbmtlciBjaGFyYWN0ZXJpc3RpY3MuLi4g
V2luMzIgbGQuZXhlCmNoZWNraW5nIGhvdyB0byBoYXJkY29kZSBsaWJyYXJ5
IHBhdGhzIGludG8gcHJvZ3JhbXMuLi4gaW1tZWRpYXRlCmNoZWNraW5nIHdo
ZXRoZXIgc3RyaXBwaW5nIGxpYnJhcmllcyBpcyBwb3NzaWJsZS4uLiB5ZXMK
Y2hlY2tpbmcgaWYgbGlidG9vbCBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVz
Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHNoYXJlZCBsaWJy
YXJpZXMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgc3RhdGlj
IGxpYnJhcmllcy4uLiB5ZXMKY2hlY2tpbmcgd2hpY2ggZXh0ZW5zaW9uIGlz
IHVzZWQgZm9yIHJ1bnRpbWUgbG9hZGFibGUgbW9kdWxlcy4uLiAuZGxsCmNo
ZWNraW5nIHdoaWNoIHZhcmlhYmxlIHNwZWNpZmllcyBydW4tdGltZSBtb2R1
bGUgc2VhcmNoIHBhdGguLi4gUEFUSApjaGVja2luZyBmb3IgdGhlIGRlZmF1
bHQgbGlicmFyeSBzZWFyY2ggcGF0aC4uLiAvbGliIC91c3IvbGliCmNoZWNr
aW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgZGxvcGVuLi4uIG5vCmNoZWNr
aW5nIGZvciBkbG9wZW4gaW4gLWxzdmxkLi4uIG5vCmNoZWNraW5nIGZvciBz
aGxfbG9hZC4uLiBubwpjaGVja2luZyBmb3Igc2hsX2xvYWQgaW4gLWxkbGQu
Li4gbm8KY2hlY2tpbmcgd2hldGhlciBjeWd3aW5fY29udl9wYXRoIGlzIGRl
Y2xhcmVkLi4uIG5vCmNoZWNraW5nIGZvciBkbGRfbGluayBpbiAtbGRsZC4u
LiBubwpjaGVja2luZyBmb3IgXyBwcmVmaXggaW4gY29tcGlsZWQgc3ltYm9s
cy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBkZXBsaWJzIGFyZSBsb2FkZWQg
YnkgZGxvcGVuLi4uIHVua25vd24KY2hlY2tpbmcgZm9yIGFyZ3ouaC4uLiBu
bwpjaGVja2luZyBmb3IgZXJyb3JfdC4uLiBubwpjaGVja2luZyBmb3IgYXJn
el9hZGQuLi4gbm8KY2hlY2tpbmcgZm9yIGFyZ3pfYXBwZW5kLi4uIG5vCmNo
ZWNraW5nIGZvciBhcmd6X2NvdW50Li4uIG5vCmNoZWNraW5nIGZvciBhcmd6
X2NyZWF0ZV9zZXAuLi4gbm8KY2hlY2tpbmcgZm9yIGFyZ3pfaW5zZXJ0Li4u
IG5vCmNoZWNraW5nIGZvciBhcmd6X25leHQuLi4gbm8KY2hlY2tpbmcgZm9y
IGFyZ3pfc3RyaW5naWZ5Li4uIG5vCmNoZWNraW5nIHdoZXRoZXIgbGlidG9v
bCBzdXBwb3J0cyAtZGxvcGVuLy1kbHByZW9wZW4uLi4geWVzCmNoZWNraW5n
IGZvciBsdGRsLmguLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbHRfZGxpbnRl
cmZhY2VfcmVnaXN0ZXIgaXMgZGVjbGFyZWQuLi4geWVzCmNoZWNraW5nIGZv
ciBsdF9kbGFkdmlzZV9wcmVsb2FkIGluIC1sbHRkbC4uLiB5ZXMKY2hlY2tp
bmcgd2hlcmUgdG8gZmluZCBsaWJsdGRsIGhlYWRlcnMuLi4gCmNoZWNraW5n
IHdoZXJlIHRvIGZpbmQgbGlibHRkbCBsaWJyYXJ5Li4uIC1sbHRkbApjaGVj
a2luZyBmb3IgdW5pc3RkLmguLi4gKGNhY2hlZCkgeWVzCmNoZWNraW5nIGZv
ciBkbC5oLi4uIG5vCmNoZWNraW5nIGZvciBzeXMvZGwuaC4uLiBubwpjaGVj
a2luZyBmb3IgZGxkLmguLi4gbm8KY2hlY2tpbmcgZm9yIG1hY2gtby9keWxk
LmguLi4gbm8KY2hlY2tpbmcgZm9yIGRpcmVudC5oLi4uIHllcwpjaGVja2lu
ZyBmb3IgY2xvc2VkaXIuLi4geWVzCmNoZWNraW5nIGZvciBvcGVuZGlyLi4u
IHllcwpjaGVja2luZyBmb3IgcmVhZGRpci4uLiB5ZXMKY2hlY2tpbmcgZm9y
IHN0cmxjYXQuLi4gbm8KY2hlY2tpbmcgZm9yIHN0cmxjcHkuLi4gbm8KY29u
ZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1
czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogY3JlYXRpbmcg
Y29uZmlnLmgKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNv
bW1hbmRzCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBsaWJ0b29sIGNvbW1h
bmRzCi9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIv
dGVzdHMvbm9ucmVjdXJzaXZlLmF0OjkwOiAkdW5zZXQgTElCVE9PTCBMSUJU
T09MSVpFOyAkTUFLRSAkdGFyZ2V0IApzdGRlcnI6CkluIGZpbGUgaW5jbHVk
ZWQgZnJvbSAuL2x0ZGwvbGlibHRkbC9sdF9fZ2xpYmMuaDo2MTowLA0KICAg
ICAgICAgICAgICAgICBmcm9tIC4vbHRkbC9saWJsdGRsL2x0X19wcml2YXRl
Lmg6NTQsDQogICAgICAgICAgICAgICAgIGZyb20gbHRkbC9sb2FkZXJzL2xv
YWRsaWJyYXJ5LmM6MzI6DQpsdGRsL2FyZ3ouaDo0MzowOiB3YXJuaW5nOiAi
TFRfU0NPUEUiIHJlZGVmaW5lZCBbZW5hYmxlZCBieSBkZWZhdWx0XQ0KICMg
IGRlZmluZSBMVF9TQ09QRQ0KIF4NCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAu
L2x0ZGwvbGlibHRkbC9sdF9fYWxsb2MuaDozNDowLA0KICAgICAgICAgICAg
ICAgICBmcm9tIC4vbHRkbC9saWJsdGRsL2x0X19wcml2YXRlLmg6NTEsDQog
ICAgICAgICAgICAgICAgIGZyb20gbHRkbC9sb2FkZXJzL2xvYWRsaWJyYXJ5
LmM6MzI6DQouL2x0ZGwvbGlibHRkbC9sdF9zeXN0ZW0uaDoxMTY6MDogbm90
ZTogdGhpcyBpcyB0aGUgbG9jYXRpb24gb2YgdGhlIHByZXZpb3VzIGRlZmlu
aXRpb24NCiAjICAgICAgZGVmaW5lIExUX1NDT1BFIGV4dGVybiBfX2RlY2xz
cGVjKGRsbGV4cG9ydCkNCiBeDQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gbHRk
bC9sdGRsLmg6Mzc6MCwNCiAgICAgICAgICAgICAgICAgZnJvbSAuL2x0ZGwv
bGlibHRkbC9sdF9fcHJpdmF0ZS5oOjU3LA0KICAgICAgICAgICAgICAgICBm
cm9tIGx0ZGwvbG9hZGVycy9sb2FkbGlicmFyeS5jOjMyOg0KbHRkbC9saWJs
dGRsL2x0X2Vycm9yLmg6Nzk6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcs
JywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQn
DQogTFRfU0NPUEUgaW50IGx0X2RsYWRkZXJyb3IgKGNvbnN0IGNoYXIgKmRp
YWdub3N0aWMpOw0KICAgICAgICAgIF4NCmx0ZGwvbGlibHRkbC9sdF9lcnJv
ci5oOjgwOjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2Fz
bScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BF
IGludCBsdF9kbHNldGVycm9yIChpbnQgZXJyb3Jjb2RlKTsNCiAgICAgICAg
ICBeDQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gbHRkbC9sdGRsLmg6Mzg6MCwN
CiAgICAgICAgICAgICAgICAgZnJvbSAuL2x0ZGwvbGlibHRkbC9sdF9fcHJp
dmF0ZS5oOjU3LA0KICAgICAgICAgICAgICAgICBmcm9tIGx0ZGwvbG9hZGVy
cy9sb2FkbGlicmFyeS5jOjMyOg0KbHRkbC9saWJsdGRsL2x0X2RsbG9hZGVy
Lmg6NzM6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNt
JyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQogTFRfU0NPUEUg
aW50ICBsdF9kbGxvYWRlcl9hZGQgICAgKGNvbnN0IGx0X2RsdnRhYmxlICp2
dGFibGUpOw0KICAgICAgICAgIF4NCmx0ZGwvbGlibHRkbC9sdF9kbGxvYWRl
ci5oOjc0OjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnTFRfU0NPUEUn
DQogTFRfU0NPUEUgbHRfZGxsb2FkZXIgbHRfZGxsb2FkZXJfbmV4dCAgIChj
b25zdCBsdF9kbGxvYWRlciBsb2FkZXIpOw0KIF4NCmx0ZGwvbGlibHRkbC9s
dF9kbGxvYWRlci5oOjc0OjIyOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcs
ICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnbHRfZGxs
b2FkZXJfbmV4dCcNCiBMVF9TQ09QRSBsdF9kbGxvYWRlciBsdF9kbGxvYWRl
cl9uZXh0ICAgKGNvbnN0IGx0X2RsbG9hZGVyIGxvYWRlcik7DQogICAgICAg
ICAgICAgICAgICAgICAgXg0KbHRkbC9saWJsdGRsL2x0X2RsbG9hZGVyLmg6
NzY6MTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdMVF9TQ09QRScNCiBM
VF9TQ09QRSBsdF9kbHZ0YWJsZSAqIGx0X2RsbG9hZGVyX3JlbW92ZSAoY29u
c3QgY2hhciAqbmFtZSk7DQogXg0KbHRkbC9saWJsdGRsL2x0X2RsbG9hZGVy
Lmg6NzY6MjI6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNt
JyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICcqJyB0b2tlbg0KIExUX1ND
T1BFIGx0X2RsdnRhYmxlICogbHRfZGxsb2FkZXJfcmVtb3ZlIChjb25zdCBj
aGFyICpuYW1lKTsNCiAgICAgICAgICAgICAgICAgICAgICBeDQpsdGRsL2xp
Ymx0ZGwvbHRfZGxsb2FkZXIuaDo3NzoxMDogZXJyb3I6IGV4cGVjdGVkICc9
JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUg
J2NvbnN0Jw0KIExUX1NDT1BFIGNvbnN0IGx0X2RsdnRhYmxlICpsdF9kbGxv
YWRlcl9maW5kIChjb25zdCBjaGFyICpuYW1lKTsNCiAgICAgICAgICBeDQps
dGRsL2xpYmx0ZGwvbHRfZGxsb2FkZXIuaDo3ODoxMDogZXJyb3I6IGV4cGVj
dGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBi
ZWZvcmUgJ2NvbnN0Jw0KIExUX1NDT1BFIGNvbnN0IGx0X2RsdnRhYmxlICps
dF9kbGxvYWRlcl9nZXQgKGx0X2RsbG9hZGVyIGxvYWRlcik7DQogICAgICAg
ICAgXg0KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vbHRkbC9saWJsdGRsL2x0
X19wcml2YXRlLmg6NTc6MCwNCiAgICAgICAgICAgICAgICAgZnJvbSBsdGRs
L2xvYWRlcnMvbG9hZGxpYnJhcnkuYzozMjoNCmx0ZGwvbHRkbC5oOjUzOjEw
OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19f
YXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCAgICAg
bHRfZGxpbml0ICAodm9pZCk7DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6
NTQ6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBv
ciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50
ICAgICBsdF9kbGV4aXQgICh2b2lkKTsNCiAgICAgICAgICBeDQpsdGRsL2x0
ZGwuaDo1NzoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdh
c20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09Q
RSBpbnQgICAgIGx0X2RsYWRkc2VhcmNoZGlyICAoY29uc3QgY2hhciAqc2Vh
cmNoX2Rpcik7DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6NTg6MTA6IGVy
cm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRy
aWJ1dGVfXycgYmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50ICAgICBsdF9k
bGluc2VydHNlYXJjaGRpciAoY29uc3QgY2hhciAqYmVmb3JlLA0KICAgICAg
ICAgIF4NCmx0ZGwvbHRkbC5oOjYwOjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0n
LCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAn
aW50Jw0KIExUX1NDT1BFIGludCAgICAgIGx0X2Rsc2V0c2VhcmNocGF0aCAg
KGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoKTsNCiAgICAgICAgICBeDQpsdGRs
L2x0ZGwuaDo2MToxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycs
ICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2NvbnN0Jw0KIExU
X1NDT1BFIGNvbnN0IGNoYXIgKmx0X2RsZ2V0c2VhcmNocGF0aCAgKHZvaWQp
Ow0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjYyOjEwOiBlcnJvcjogZXhw
ZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18n
IGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCAgICAgbHRfZGxmb3JlYWNo
ZmlsZSAgKA0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjY4OjEwOiBlcnJv
cjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmli
dXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCAgICAgbHRfZGxh
ZHZpc2VfaW5pdCAgKGx0X2RsYWR2aXNlICphZHZpc2UpOw0KICAgICAgICAg
IF4NCmx0ZGwvbHRkbC5oOjY5OjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAn
LCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnaW50
Jw0KIExUX1NDT1BFIGludCAgICAgbHRfZGxhZHZpc2VfZGVzdHJveSAgKGx0
X2RsYWR2aXNlICphZHZpc2UpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5o
OjcwOjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScg
b3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGlu
dCAgICAgbHRfZGxhZHZpc2VfZXh0ICAobHRfZGxhZHZpc2UgKmFkdmlzZSk7
DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6NzE6MTA6IGVycm9yOiBleHBl
Y3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycg
YmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50ICAgICBsdF9kbGFkdmlzZV9y
ZXNpZGVudCAobHRfZGxhZHZpc2UgKmFkdmlzZSk7DQogICAgICAgICAgXg0K
bHRkbC9sdGRsLmg6NzI6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywg
JzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQog
TFRfU0NPUEUgaW50ICAgICBsdF9kbGFkdmlzZV9sb2NhbCAgKGx0X2RsYWR2
aXNlICphZHZpc2UpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjczOjEw
OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19f
YXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCAgICAg
bHRfZGxhZHZpc2VfZ2xvYmFsICAgKGx0X2RsYWR2aXNlICphZHZpc2UpOw0K
ICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjc0OjEwOiBlcnJvcjogZXhwZWN0
ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJl
Zm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCAgICAgbHRfZGxhZHZpc2VfcHJl
bG9hZCAgKGx0X2RsYWR2aXNlICphZHZpc2UpOw0KICAgICAgICAgIF4NCmx0
ZGwvbHRkbC5oOjc3OjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnTFRf
U0NPUEUnDQogTFRfU0NPUEUgbHRfZGxoYW5kbGUgbHRfZGxvcGVuICAoY29u
c3QgY2hhciAqZmlsZW5hbWUpOw0KIF4NCmx0ZGwvbHRkbC5oOjc3OjIyOiBl
cnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0
cmlidXRlX18nIGJlZm9yZSAnbHRfZGxvcGVuJw0KIExUX1NDT1BFIGx0X2Rs
aGFuZGxlIGx0X2Rsb3BlbiAgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsNCiAg
ICAgICAgICAgICAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDo3ODoxOiBlcnJv
cjogdW5rbm93biB0eXBlIG5hbWUgJ0xUX1NDT1BFJw0KIExUX1NDT1BFIGx0
X2RsaGFuZGxlIGx0X2Rsb3BlbmV4dCAoY29uc3QgY2hhciAqZmlsZW5hbWUp
Ow0KIF4NCmx0ZGwvbHRkbC5oOjc4OjIyOiBlcnJvcjogZXhwZWN0ZWQgJz0n
LCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAn
bHRfZGxvcGVuZXh0Jw0KIExUX1NDT1BFIGx0X2RsaGFuZGxlIGx0X2Rsb3Bl
bmV4dCAoY29uc3QgY2hhciAqZmlsZW5hbWUpOw0KICAgICAgICAgICAgICAg
ICAgICAgIF4NCmx0ZGwvbHRkbC5oOjc5OjE6IGVycm9yOiB1bmtub3duIHR5
cGUgbmFtZSAnTFRfU0NPUEUnDQogTFRfU0NPUEUgbHRfZGxoYW5kbGUgbHRf
ZGxvcGVuYWR2aXNlIChjb25zdCBjaGFyICpmaWxlbmFtZSwNCiBeDQpsdGRs
L2x0ZGwuaDo3OToyMjogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycs
ICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2x0X2Rsb3BlbmFk
dmlzZScNCiBMVF9TQ09QRSBsdF9kbGhhbmRsZSBsdF9kbG9wZW5hZHZpc2Ug
KGNvbnN0IGNoYXIgKmZpbGVuYW1lLA0KICAgICAgICAgICAgICAgICAgICAg
IF4NCmx0ZGwvbHRkbC5oOjgxOjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAn
LCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAndm9p
ZCcNCiBMVF9TQ09QRSB2b2lkICogICAgIGx0X2Rsc3ltICAobHRfZGxoYW5k
bGUgaGFuZGxlLCBjb25zdCBjaGFyICpuYW1lKTsNCiAgICAgICAgICBeDQps
dGRsL2x0ZGwuaDo4MjoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAn
OycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2NvbnN0Jw0K
IExUX1NDT1BFIGNvbnN0IGNoYXIgKmx0X2RsZXJyb3IgICh2b2lkKTsNCiAg
ICAgICAgICBeDQpsdGRsL2x0ZGwuaDo4MzoxMDogZXJyb3I6IGV4cGVjdGVk
ICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZv
cmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQgICAgIGx0X2RsY2xvc2UgIChsdF9k
bGhhbmRsZSBoYW5kbGUpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjk5
OjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3Ig
J19fYXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCBs
dF9kbHByZWxvYWQgICAgICAoY29uc3QgbHRfZGxzeW1saXN0ICpwcmVsb2Fk
ZWQpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjEwMDoxMDogZXJyb3I6
IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0
ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQgbHRfZGxwcmVsb2Fk
X2RlZmF1bHQgKGNvbnN0IGx0X2Rsc3ltbGlzdCAqcHJlbG9hZGVkKTsNCiAg
ICAgICAgICBeDQpsdGRsL2x0ZGwuaDoxMDE6MTA6IGVycm9yOiBleHBlY3Rl
ZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVm
b3JlICdpbnQnDQogTFRfU0NPUEUgaW50IGx0X2RscHJlbG9hZF9vcGVuICAg
IChjb25zdCBjaGFyICpvcmlnaW5hdG9yLA0KICAgICAgICAgIF4NCmx0ZGwv
bHRkbC5oOjEyMToxOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ0xUX1ND
T1BFJw0KIExUX1NDT1BFIGx0X2RsaW50ZXJmYWNlX2lkIGx0X2RsaW50ZXJm
YWNlX3JlZ2lzdGVyIChjb25zdCBjaGFyICppZF9zdHJpbmcsDQogXg0KbHRk
bC9sdGRsLmg6MTIxOjI4OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7
JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnbHRfZGxpbnRl
cmZhY2VfcmVnaXN0ZXInDQogTFRfU0NPUEUgbHRfZGxpbnRlcmZhY2VfaWQg
bHRfZGxpbnRlcmZhY2VfcmVnaXN0ZXIgKGNvbnN0IGNoYXIgKmlkX3N0cmlu
ZywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeDQpsdGRsL2x0ZGwu
aDoxMjM6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNt
JyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICd2b2lkJw0KIExUX1NDT1BF
IHZvaWQgbHRfZGxpbnRlcmZhY2VfZnJlZSAobHRfZGxpbnRlcmZhY2VfaWQg
a2V5KTsNCiAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDoxMjQ6MTA6IGVycm9y
OiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1
dGVfXycgYmVmb3JlICd2b2lkJw0KIExUX1NDT1BFIHZvaWQgKiBsdF9kbGNh
bGxlcl9zZXRfZGF0YSAgKGx0X2RsaW50ZXJmYWNlX2lkIGtleSwNCiAgICAg
ICAgICBeDQpsdGRsL2x0ZGwuaDoxMjY6MTA6IGVycm9yOiBleHBlY3RlZCAn
PScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3Jl
ICd2b2lkJw0KIExUX1NDT1BFIHZvaWQgKiBsdF9kbGNhbGxlcl9nZXRfZGF0
YSAgKGx0X2RsaW50ZXJmYWNlX2lkIGtleSwNCiAgICAgICAgICBeDQpsdGRs
L2x0ZGwuaDoxNDM6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsn
LCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdjb25zdCcNCiBM
VF9TQ09QRSBjb25zdCBsdF9kbGluZm8gKmx0X2RsZ2V0aW5mbyAgICAgKGx0
X2RsaGFuZGxlIGhhbmRsZSk7DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6
MTQ1OjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnTFRfU0NPUEUnDQog
TFRfU0NPUEUgbHRfZGxoYW5kbGUgbHRfZGxoYW5kbGVfaXRlcmF0ZSAobHRf
ZGxpbnRlcmZhY2VfaWQgaWZhY2UsDQogXg0KbHRkbC9sdGRsLmg6MTQ1OjIy
OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19f
YXR0cmlidXRlX18nIGJlZm9yZSAnbHRfZGxoYW5kbGVfaXRlcmF0ZScNCiBM
VF9TQ09QRSBsdF9kbGhhbmRsZSBsdF9kbGhhbmRsZV9pdGVyYXRlIChsdF9k
bGludGVyZmFjZV9pZCBpZmFjZSwNCiAgICAgICAgICAgICAgICAgICAgICBe
DQpsdGRsL2x0ZGwuaDoxNDc6MTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1l
ICdMVF9TQ09QRScNCiBMVF9TQ09QRSBsdF9kbGhhbmRsZSBsdF9kbGhhbmRs
ZV9mZXRjaCAgIChsdF9kbGludGVyZmFjZV9pZCBpZmFjZSwNCiBeDQpsdGRs
L2x0ZGwuaDoxNDc6MjI6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsn
LCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdsdF9kbGhhbmRs
ZV9mZXRjaCcNCiBMVF9TQ09QRSBsdF9kbGhhbmRsZSBsdF9kbGhhbmRsZV9m
ZXRjaCAgIChsdF9kbGludGVyZmFjZV9pZCBpZmFjZSwNCiAgICAgICAgICAg
ICAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDoxNDk6MTA6IGVycm9yOiBleHBl
Y3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycg
YmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50ICBsdF9kbGhhbmRsZV9tYXAg
ICAgIChsdF9kbGludGVyZmFjZV9pZCBpZmFjZSwNCiAgICAgICAgICBeDQps
dGRsL2x0ZGwuaDoxNTY6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywg
JzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQog
TFRfU0NPUEUgaW50ICAgICBsdF9kbG1ha2VyZXNpZGVudCAobHRfZGxoYW5k
bGUgaGFuZGxlKTsNCiAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDoxNTc6MTA6
IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19h
dHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50ICAgICBs
dF9kbGlzcmVzaWRlbnQgKGx0X2RsaGFuZGxlIGhhbmRsZSk7DQogICAgICAg
ICAgXg0KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGx0ZGwvbG9hZGVycy9sb2Fk
bGlicmFyeS5jOjMyOjA6DQouL2x0ZGwvbGlibHRkbC9sdF9fcHJpdmF0ZS5o
OjkzOjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScg
b3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAndm9pZCcNCiBMVF9TQ09QRSB2
b2lkIGx0X19hbGxvY19kaWVfY2FsbGJhY2sgKHZvaWQpOw0KICAgICAgICAg
IF4NCi4vbHRkbC9saWJsdGRsL2x0X19wcml2YXRlLmg6MTQzOjEwOiBlcnJv
cjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmli
dXRlX18nIGJlZm9yZSAnY29uc3QnDQogTFRfU0NPUEUgY29uc3QgY2hhciAq
bHRfX2Vycm9yX3N0cmluZyAoaW50IGVycm9yY29kZSk7DQogICAgICAgICAg
Xg0KLi9sdGRsL2xpYmx0ZGwvbHRfX3ByaXZhdGUuaDoxNDQ6MTA6IGVycm9y
OiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1
dGVfXycgYmVmb3JlICdjb25zdCcNCiBMVF9TQ09QRSBjb25zdCBjaGFyICps
dF9fZ2V0X2xhc3RfZXJyb3IgKHZvaWQpOw0KICAgICAgICAgIF4NCi4vbHRk
bC9saWJsdGRsL2x0X19wcml2YXRlLmg6MTQ1OjEwOiBlcnJvcjogZXhwZWN0
ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJl
Zm9yZSAnY29uc3QnDQogTFRfU0NPUEUgY29uc3QgY2hhciAqbHRfX3NldF9s
YXN0X2Vycm9yIChjb25zdCBjaGFyICplcnJvcm1zZyk7DQogICAgICAgICAg
Xg0KbHRkbC9sb2FkZXJzL2xvYWRsaWJyYXJ5LmM6NDY6MTogZXJyb3I6IHVu
a25vd24gdHlwZSBuYW1lICdMVF9TQ09QRScNCiBMVF9TQ09QRSBsdF9kbHZ0
YWJsZSAqZ2V0X3Z0YWJsZSAobHRfdXNlcl9kYXRhIGxvYWRlcl9kYXRhKTsN
CiBeDQpsdGRsL2xvYWRlcnMvbG9hZGxpYnJhcnkuYzo0NjoyMjogZXJyb3I6
IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0
ZV9fJyBiZWZvcmUgJyonIHRva2VuDQogTFRfU0NPUEUgbHRfZGx2dGFibGUg
KmdldF92dGFibGUgKGx0X3VzZXJfZGF0YSBsb2FkZXJfZGF0YSk7DQogICAg
ICAgICAgICAgICAgICAgICAgXg0KbHRkbC9sb2FkZXJzL2xvYWRsaWJyYXJ5
LmM6IEluIGZ1bmN0aW9uICdsb2FkbGlicmFyeV9MVFhfZ2V0X3Z0YWJsZSc6
DQpsdGRsL2xvYWRlcnMvbG9hZGxpYnJhcnkuYzo3MToxNjogd2FybmluZzog
YXNzaWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0
IGEgY2FzdCBbZW5hYmxlZCBieSBkZWZhdWx0XQ0KICAgICAgIGlmYWNlX2lk
ID0gbHRfZGxpbnRlcmZhY2VfcmVnaXN0ZXIgKCJsdGRsIGxvYWRsaWJyYXJ5
IiwgTlVMTCk7DQogICAgICAgICAgICAgICAgXg0KbHRkbC9sb2FkZXJzL2xv
YWRsaWJyYXJ5LmM6IEluIGZ1bmN0aW9uICd2bV9vcGVuJzoNCmx0ZGwvbG9h
ZGVycy9sb2FkbGlicmFyeS5jOjIxODoxNzogd2FybmluZzogYXNzaWdubWVu
dCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBb
ZW5hYmxlZCBieSBkZWZhdWx0XQ0KICAgICB3aGlsZSAoKGN1ciA9IGx0X2Rs
aGFuZGxlX2l0ZXJhdGUgKGlmYWNlX2lkLCBjdXIpKSkNCiAgICAgICAgICAg
ICAgICAgXg0KbHRkbC9sb2FkZXJzL2xvYWRsaWJyYXJ5LmM6MjMzOjc6IHdh
cm5pbmc6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiAnbG9hZGxpYnJhcnllcnJv
cicgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3Qg
W2VuYWJsZWQgYnkgZGVmYXVsdF0NCiAgICAgICBMT0FETElCX1NFVEVSUk9S
IChDQU5OT1RfT1BFTik7DQogICAgICAgXg0KbHRkbC9sb2FkZXJzL2xvYWRs
aWJyYXJ5LmM6MTA2OjIwOiBub3RlOiBleHBlY3RlZCAnY29uc3QgY2hhciAq
JyBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSAnaW50Jw0KIHN0YXRpYyBjb25z
dCBjaGFyICpsb2FkbGlicmFyeWVycm9yIChjb25zdCBjaGFyICpkZWZhdWx0
X2Vycm1zZyk7DQogICAgICAgICAgICAgICAgICAgIF4NCmx0ZGwvbG9hZGVy
cy9sb2FkbGlicmFyeS5jOiBJbiBmdW5jdGlvbiAndm1fY2xvc2UnOg0KbHRk
bC9sb2FkZXJzL2xvYWRsaWJyYXJ5LmM6MjU0Ojc6IHdhcm5pbmc6IHBhc3Np
bmcgYXJndW1lbnQgMSBvZiAnbG9hZGxpYnJhcnllcnJvcicgbWFrZXMgcG9p
bnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgW2VuYWJsZWQgYnkg
ZGVmYXVsdF0NCiAgICAgICBMT0FETElCX1NFVEVSUk9SIChDQU5OT1RfQ0xP
U0UpOw0KICAgICAgIF4NCmx0ZGwvbG9hZGVycy9sb2FkbGlicmFyeS5jOjEw
NjoyMDogbm90ZTogZXhwZWN0ZWQgJ2NvbnN0IGNoYXIgKicgYnV0IGFyZ3Vt
ZW50IGlzIG9mIHR5cGUgJ2ludCcNCiBzdGF0aWMgY29uc3QgY2hhciAqbG9h
ZGxpYnJhcnllcnJvciAoY29uc3QgY2hhciAqZGVmYXVsdF9lcnJtc2cpOw0K
ICAgICAgICAgICAgICAgICAgICBeDQpsdGRsL2xvYWRlcnMvbG9hZGxpYnJh
cnkuYzogSW4gZnVuY3Rpb24gJ3ZtX3N5bSc6DQpsdGRsL2xvYWRlcnMvbG9h
ZGxpYnJhcnkuYzoyNzE6Nzogd2FybmluZzogcGFzc2luZyBhcmd1bWVudCAx
IG9mICdsb2FkbGlicmFyeWVycm9yJyBtYWtlcyBwb2ludGVyIGZyb20gaW50
ZWdlciB3aXRob3V0IGEgY2FzdCBbZW5hYmxlZCBieSBkZWZhdWx0XQ0KICAg
ICAgIExPQURMSUJfU0VURVJST1IgKFNZTUJPTF9OT1RfRk9VTkQpOw0KICAg
ICAgIF4NCmx0ZGwvbG9hZGVycy9sb2FkbGlicmFyeS5jOjEwNjoyMDogbm90
ZTogZXhwZWN0ZWQgJ2NvbnN0IGNoYXIgKicgYnV0IGFyZ3VtZW50IGlzIG9m
IHR5cGUgJ2ludCcNCiBzdGF0aWMgY29uc3QgY2hhciAqbG9hZGxpYnJhcnll
cnJvciAoY29uc3QgY2hhciAqZGVmYXVsdF9lcnJtc2cpOw0KICAgICAgICAg
ICAgICAgICAgICBeDQptYWtlWzFdOiAqKiogW2x0ZGwvbG9hZGVycy9sb2Fk
bGlicmFyeS5sb10gRXJyb3IgMQptYWtlOiAqKiogW2FsbF0gRXJyb3IgMgpz
dGRvdXQ6Ci9iaW4vc2ggL21pbmd3L2xpYnRvb2wtYnVpbGQtZHVlLXRvLUdO
VS90ZXN0cy90ZXN0c3VpdGUuZGlyLzA5NS9sdGRsL2NvbmZpZy9pbnN0YWxs
LXNoIC1kIC4gbHRkbC8KY3AgLi9sdGRsL2FyZ3pfLmggbHRkbC9hcmd6Lmgt
dAptdiBsdGRsL2FyZ3ouaC10IGx0ZGwvYXJnei5oCm1ha2UgIGFsbC1hbQpt
YWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9taW5ndy9saWJ0b29sLWJ1
aWxkLWR1ZS10by1HTlUvdGVzdHMvdGVzdHN1aXRlLmRpci8wOTUnCmRlcGJh
c2U9YGVjaG8gZm9vLmxvIHwgc2VkICdzfFteL10qJHwuZGVwcy8mfDtzfFwu
bG8kfHwnYDtcCgkvYmluL3NoIC4vbGlidG9vbCAtLXRhZz1DQyAgIC0tbW9k
ZT1jb21waWxlIGdjYyAtREhBVkVfQ09ORklHX0ggLUkuICAtRExUX0NPTkZJ
R19IPSc8Y29uZmlnLmg+JyAtRExUREwgLUkuIC1JLiAtSWx0ZGwgLUkuL2x0
ZGwgLUkuL2x0ZGwvbGlibHRkbCAgIC1nIC1PMiAtTVQgZm9vLmxvIC1NRCAt
TVAgLU1GICRkZXBiYXNlLlRwbyAtYyAtbyBmb28ubG8gZm9vLmMgJiZcCglt
diAtZiAkZGVwYmFzZS5UcG8gJGRlcGJhc2UuUGxvCmxpYnRvb2w6IGNvbXBp
bGU6ICBnY2MgLURIQVZFX0NPTkZJR19IIC1JLiAiLURMVF9DT05GSUdfSD08
Y29uZmlnLmg+IiAtRExUREwgLUkuIC1JLiAtSWx0ZGwgLUkuL2x0ZGwgLUku
L2x0ZGwvbGlibHRkbCAtZyAtTzIgLU1UIGZvby5sbyAtTUQgLU1QIC1NRiAu
ZGVwcy9mb28uVHBvIC1jIGZvby5jICAtRERMTF9FWFBPUlQgLURQSUMgLW8g
LmxpYnMvZm9vLm8KbGlidG9vbDogY29tcGlsZTogIGdjYyAtREhBVkVfQ09O
RklHX0ggLUkuICItRExUX0NPTkZJR19IPTxjb25maWcuaD4iIC1ETFRETCAt
SS4gLUkuIC1JbHRkbCAtSS4vbHRkbCAtSS4vbHRkbC9saWJsdGRsIC1nIC1P
MiAtTVQgZm9vLmxvIC1NRCAtTVAgLU1GIC5kZXBzL2Zvby5UcG8gLWMgZm9v
LmMgLW8gZm9vLm8gPi9kZXYvbnVsbCAyPiYxCi9iaW4vc2ggLi9saWJ0b29s
IC0tdGFnPUNDICAgLS1tb2RlPWxpbmsgZ2NjICAtZyAtTzIgLW1vZHVsZSAt
YXZvaWQtdmVyc2lvbiAtbm8tdW5kZWZpbmVkICAtbyBmb28ubGEgLXJwYXRo
IC9ub25leGlzdGVudC9saWIgZm9vLmxvICAKbGlidG9vbDogbGluazogZ2Nj
IC1zaGFyZWQgIC5saWJzL2Zvby5vICAgIC1PMiAgIC1vIC5saWJzL2Zvby5k
bGwgLVdsLC0tZW5hYmxlLWF1dG8taW1hZ2UtYmFzZSAtWGxpbmtlciAtLW91
dC1pbXBsaWIgLVhsaW5rZXIgLmxpYnMvZm9vLmRsbC5hCmxpYnRvb2w6IGxp
bms6IGFyIGNydSAubGlicy9mb28uYSAgZm9vLm8KbGlidG9vbDogbGluazog
cmFubGliIC5saWJzL2Zvby5hCmxpYnRvb2w6IGxpbms6ICggY2QgIi5saWJz
IiAmJiBybSAtZiAiZm9vLmxhIiAmJiBjcCAtcCAiLi4vZm9vLmxhIiAiZm9v
LmxhIiApCmRlcGJhc2U9YGVjaG8gbHRkbC9sb2FkZXJzL2xvYWRsaWJyYXJ5
LmxvIHwgc2VkICdzfFteL10qJHwuZGVwcy8mfDtzfFwubG8kfHwnYDtcCgkv
YmluL3NoIC4vbGlidG9vbCAtLXRhZz1DQyAgIC0tbW9kZT1jb21waWxlIGdj
YyAtREhBVkVfQ09ORklHX0ggLUkuICAtRExUX0NPTkZJR19IPSc8Y29uZmln
Lmg+JyAtRExUREwgLUkuIC1JLiAtSWx0ZGwgLUkuL2x0ZGwgLUkuL2x0ZGwv
bGlibHRkbCAgIC1nIC1PMiAtTVQgbHRkbC9sb2FkZXJzL2xvYWRsaWJyYXJ5
LmxvIC1NRCAtTVAgLU1GICRkZXBiYXNlLlRwbyAtYyAtbyBsdGRsL2xvYWRl
cnMvbG9hZGxpYnJhcnkubG8gbHRkbC9sb2FkZXJzL2xvYWRsaWJyYXJ5LmMg
JiZcCgltdiAtZiAkZGVwYmFzZS5UcG8gJGRlcGJhc2UuUGxvCmxpYnRvb2w6
IGNvbXBpbGU6ICBnY2MgLURIQVZFX0NPTkZJR19IIC1JLiAiLURMVF9DT05G
SUdfSD08Y29uZmlnLmg+IiAtRExUREwgLUkuIC1JLiAtSWx0ZGwgLUkuL2x0
ZGwgLUkuL2x0ZGwvbGlibHRkbCAtZyAtTzIgLU1UIGx0ZGwvbG9hZGVycy9s
b2FkbGlicmFyeS5sbyAtTUQgLU1QIC1NRiBsdGRsL2xvYWRlcnMvLmRlcHMv
bG9hZGxpYnJhcnkuVHBvIC1jIGx0ZGwvbG9hZGVycy9sb2FkbGlicmFyeS5j
ICAtRERMTF9FWFBPUlQgLURQSUMgLW8gbHRkbC9sb2FkZXJzLy5saWJzL2xv
YWRsaWJyYXJ5Lm8KbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9taW5n
dy9saWJ0b29sLWJ1aWxkLWR1ZS10by1HTlUvdGVzdHMvdGVzdHN1aXRlLmRp
ci8wOTUnCi9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40
LjIvdGVzdHMvbm9ucmVjdXJzaXZlLmF0OjkwOiBleGl0IGNvZGUgd2FzIDIs
IGV4cGVjdGVkIDAKOTUuIG5vbnJlY3Vyc2l2ZS5hdDo3ODogOTUuIGNvbXBp
bGluZyBzb2Z0bGlua2VkIGxpYmx0ZGwgKG5vbnJlY3Vyc2l2ZS5hdDo3OCk6
IEZBSUxFRCAobm9ucmVjdXJzaXZlLmF0OjkwKQo=

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

IyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIGNvbXBpbGF0aW9u
IC0qLQo1NS4gY3dyYXBwZXIuYXQ6MjU6IHRlc3RpbmcgY3dyYXBwZXIgZm9y
IHVuaW5zdGFsbGVkIGV4ZWN1dGFibGVzIC4uLgovTWluR1cvc2hhcmUvYXV0
b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2N3cmFwcGVyLmF0OjI5
OiAkTElCVE9PTCAtLWZlYXR1cmVzIHwgZ3JlcCAnZGlzYWJsZSBzaGFyZWQg
bGlicmFyaWVzJyAmJiBleGl0IDc3CnN0ZG91dDoKbGlidG9vbDogY29tcGls
ZTogIGdjYyAtZyAtTzIgLVdhbGwgLVdlcnJvciB0cml2aWFsLmMgIC1ERExM
X0VYUE9SVCAtRFBJQyAtbyAubGlicy90cml2aWFsLm8KbGlidG9vbDogY29t
cGlsZTogIGdjYyAtZyAtTzIgLVdhbGwgLVdlcnJvciB0cml2aWFsLmMgLW8g
dHJpdmlhbC5vID4vZGV2L251bGwgMj4mMQovTWluR1cvc2hhcmUvYXV0b21h
a2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2N3cmFwcGVyLmF0OjY5OiAk
TElCVE9PTCAtLW1vZGU9Y29tcGlsZSAkQ0MgJENQUEZMQUdTICRDRkxBR1Mg
LWMgbGliYS5jCnN0ZGVycjoKc3Rkb3V0OgpsaWJ0b29sOiBjb21waWxlOiAg
Z2NjIC1nIC1PMiAtV2FsbCAtV2Vycm9yIC1jIGxpYmEuYyAgLURETExfRVhQ
T1JUIC1EUElDIC1vIC5saWJzL2xpYmEubwpsaWJ0b29sOiBjb21waWxlOiAg
Z2NjIC1nIC1PMiAtV2FsbCAtV2Vycm9yIC1jIGxpYmEuYyAtbyBsaWJhLm8g
Pi9kZXYvbnVsbCAyPiYxCi9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xp
YnRvb2wtMi40LjIvdGVzdHMvY3dyYXBwZXIuYXQ6NzE6ICRMSUJUT09MIC0t
bW9kZT1saW5rICRDQyAkQ0ZMQUdTICRMREZMQUdTIC12ZXJzaW9uLWluZm89
MC4wLjAgLW5vLXVuZGVmaW5lZCAtbyBsaWJhLmxhIC1ycGF0aCAvZm9vIGxp
YmEubG8Kc3RkZXJyOgpzdGRvdXQ6CmxpYnRvb2w6IGxpbms6IGdjYyAtc2hh
cmVkICAubGlicy9saWJhLm8gICAgLU8yICAgLW8gLmxpYnMvbGliYS0wLmRs
bCAtV2wsLS1lbmFibGUtYXV0by1pbWFnZS1iYXNlIC1YbGlua2VyIC0tb3V0
LWltcGxpYiAtWGxpbmtlciAubGlicy9saWJhLmRsbC5hCmxpYnRvb2w6IGxp
bms6IGFyIGNydSAubGlicy9saWJhLmEgIGxpYmEubwpsaWJ0b29sOiBsaW5r
OiByYW5saWIgLmxpYnMvbGliYS5hCmxpYnRvb2w6IGxpbms6ICggY2QgIi5s
aWJzIiAmJiBybSAtZiAibGliYS5sYSIgJiYgY3AgLXAgIi4uL2xpYmEubGEi
ICJsaWJhLmxhIiApCi9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRv
b2wtMi40LjIvdGVzdHMvY3dyYXBwZXIuYXQ6NzM6IHRlc3QgLWYgbGliYS5s
YQovTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rl
c3RzL2N3cmFwcGVyLmF0Ojc1OiAkQ0MgJENQUEZMQUdTICRDRkxBR1MgLWMg
dXNlYS5jCnN0ZGVycjoKc3Rkb3V0OgovTWluR1cvc2hhcmUvYXV0b21ha2Ut
MS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2N3cmFwcGVyLmF0Ojc3OiAkTElC
VE9PTCAtLW1vZGU9bGluayAkQ0MgJENGTEFHUyAkTERGTEFHUyAtbyB1c2Vh
JEVYRUVYVCB1c2VhLiRPQkpFWFQgbGliYS5sYQpzdGRlcnI6CnN0ZG91dDoK
bGlidG9vbDogbGluazogZ2NjIC1nIC1PMiAtV2FsbCAtV2Vycm9yIC1vIC5s
aWJzL3VzZWEuZXhlIHVzZWEubyAgLi8ubGlicy9saWJhLmRsbC5hIC1ML2Zv
bwovTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rl
c3RzL2N3cmFwcGVyLmF0Ojc5OiBpZiAiJGx0X2V4ZSIgOyB0aGVuIDo7IGVs
c2UgbHRfc3RhdHVzPSQ/OyAJICAgdGVzdCAkbHRfc3RhdHVzICE9IDAgJiYg
CSAgIHRlc3QgIlgkaG9zdCIgIT0gIlgkYnVpbGQiICYmIHRlc3QgLXggIiRs
dF9leGUiICYmIGV4aXQgNzc7IAkgICBleGl0ICRsdF9zdGF0dXM7IGZpCnN0
ZGVycjoKc3Rkb3V0OgpsaWJ0b29sOiBjb21waWxlOiAgZ2NjIC1nIC1PMiAt
c3RkPWM4OSAtV2FsbCAtV2Vycm9yIHRyaXZpYWwuYyAgLURETExfRVhQT1JU
IC1EUElDIC1vIC5saWJzL3RyaXZpYWwubwpsaWJ0b29sOiBjb21waWxlOiAg
Z2NjIC1nIC1PMiAtc3RkPWM4OSAtV2FsbCAtV2Vycm9yIHRyaXZpYWwuYyAt
byB0cml2aWFsLm8gPi9kZXYvbnVsbCAyPiYxCi9NaW5HVy9zaGFyZS9hdXRv
bWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvY3dyYXBwZXIuYXQ6Njk6
ICRMSUJUT09MIC0tbW9kZT1jb21waWxlICRDQyAkQ1BQRkxBR1MgJENGTEFH
UyAtYyBsaWJhLmMKc3RkZXJyOgpzdGRvdXQ6CmxpYnRvb2w6IGNvbXBpbGU6
ICBnY2MgLWcgLU8yIC1zdGQ9Yzg5IC1XYWxsIC1XZXJyb3IgLWMgbGliYS5j
ICAtRERMTF9FWFBPUlQgLURQSUMgLW8gLmxpYnMvbGliYS5vCmxpYnRvb2w6
IGNvbXBpbGU6ICBnY2MgLWcgLU8yIC1zdGQ9Yzg5IC1XYWxsIC1XZXJyb3Ig
LWMgbGliYS5jIC1vIGxpYmEubyA+L2Rldi9udWxsIDI+JjEKL01pbkdXL3No
YXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9jd3JhcHBl
ci5hdDo3MTogJExJQlRPT0wgLS1tb2RlPWxpbmsgJENDICRDRkxBR1MgJExE
RkxBR1MgLXZlcnNpb24taW5mbz0wLjAuMCAtbm8tdW5kZWZpbmVkIC1vIGxp
YmEubGEgLXJwYXRoIC9mb28gbGliYS5sbwpzdGRlcnI6CnN0ZG91dDoKbGli
dG9vbDogbGluazogcm0gLWZyICAubGlicy9saWJhLmEgLmxpYnMvbGliYS5k
bGwuYSAubGlicy9saWJhLmxhIC5saWJzL2xpYmEubGFpCmxpYnRvb2w6IGxp
bms6IGdjYyAtc2hhcmVkICAubGlicy9saWJhLm8gICAgLU8yICAgLW8gLmxp
YnMvbGliYS0wLmRsbCAtV2wsLS1lbmFibGUtYXV0by1pbWFnZS1iYXNlIC1Y
bGlua2VyIC0tb3V0LWltcGxpYiAtWGxpbmtlciAubGlicy9saWJhLmRsbC5h
CmxpYnRvb2w6IGxpbms6IGFyIGNydSAubGlicy9saWJhLmEgIGxpYmEubwps
aWJ0b29sOiBsaW5rOiByYW5saWIgLmxpYnMvbGliYS5hCmxpYnRvb2w6IGxp
bms6ICggY2QgIi5saWJzIiAmJiBybSAtZiAibGliYS5sYSIgJiYgY3AgLXAg
Ii4uL2xpYmEubGEiICJsaWJhLmxhIiApCi9NaW5HVy9zaGFyZS9hdXRvbWFr
ZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvY3dyYXBwZXIuYXQ6NzM6IHRl
c3QgLWYgbGliYS5sYQovTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0
b29sLTIuNC4yL3Rlc3RzL2N3cmFwcGVyLmF0Ojc1OiAkQ0MgJENQUEZMQUdT
ICRDRkxBR1MgLWMgdXNlYS5jCnN0ZGVycjoKc3Rkb3V0OgovTWluR1cvc2hh
cmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2N3cmFwcGVy
LmF0Ojc3OiAkTElCVE9PTCAtLW1vZGU9bGluayAkQ0MgJENGTEFHUyAkTERG
TEFHUyAtbyB1c2VhJEVYRUVYVCB1c2VhLiRPQkpFWFQgbGliYS5sYQpzdGRl
cnI6CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjOlx0aW5nd1xpbmNsdWRlXHVu
aXN0ZC5oOjM2OjAsDQogICAgICAgICAgICAgICAgIGZyb20gLi8ubGlicy9s
dC11c2VhLmM6MjE6DQpjOlx0aW5nd1xpbmNsdWRlXGlvLmg6MzAxOjE6IGVy
cm9yOiB1bmtub3duIHR5cGUgbmFtZSAnb2ZmNjRfdCcNCiBfX0NSVF9JTkxJ
TkUgb2ZmNjRfdCBsc2VlazY0IChpbnQsIG9mZjY0X3QsIGludCk7DQogXg0K
YzpcdGluZ3dcaW5jbHVkZVxpby5oOjMwMTozNjogZXJyb3I6IHVua25vd24g
dHlwZSBuYW1lICdvZmY2NF90Jw0KIF9fQ1JUX0lOTElORSBvZmY2NF90IGxz
ZWVrNjQgKGludCwgb2ZmNjRfdCwgaW50KTsNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIF4NCmM6XHRpbmd3XGluY2x1ZGVcaW8uaDoz
MDI6MTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdvZmY2NF90Jw0KIF9f
Q1JUX0lOTElORSBvZmY2NF90IGxzZWVrNjQgKGludCBmZCwgb2ZmNjRfdCBv
ZmZzZXQsIGludCB3aGVuY2UpIHsNCiBeDQpjOlx0aW5nd1xpbmNsdWRlXGlv
Lmg6MzAyOjM5OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ29mZjY0X3Qn
DQogX19DUlRfSU5MSU5FIG9mZjY0X3QgbHNlZWs2NCAoaW50IGZkLCBvZmY2
NF90IG9mZnNldCwgaW50IHdoZW5jZSkgew0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXg0KSW4gZmlsZSBpbmNsdWRlZCBmcm9t
IC4vLmxpYnMvbHQtdXNlYS5jOjIxOjA6DQpjOlx0aW5nd1xpbmNsdWRlXHVu
aXN0ZC5oOjY1OjIwOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ29mZl90
Jw0KIGludCBmdHJ1bmNhdGUoaW50LCBvZmZfdCk7DQogICAgICAgICAgICAg
ICAgICAgIF4NCmM6XHRpbmd3XGluY2x1ZGVcdW5pc3RkLmg6Njc6Mzg6IGVy
cm9yOiB1bmtub3duIHR5cGUgbmFtZSAnb2ZmX3QnDQogX19DUlRfSU5MSU5F
IGludCBmdHJ1bmNhdGUoaW50IF9fZmQsIG9mZl90IF9fbGVuZ3RoKQ0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeDQpjOlxUaW5H
V1xiaW5cc3RyaXAuZXhlOiAnLi91c2VhLmV4ZSc6IE5vIHN1Y2ggZmlsZQ0K
Li9saWJ0b29sOiBsaW5lIDk1MTc6IC4vdXNlYS5leGU6IE5vIHN1Y2ggZmls
ZSBvciBkaXJlY3RvcnkKc3Rkb3V0OgpsaWJ0b29sOiBsaW5rOiBnY2MgLWcg
LU8yIC1zdGQ9Yzg5IC1XYWxsIC1XZXJyb3IgLW8gLmxpYnMvdXNlYS5leGUg
dXNlYS5vICAuLy5saWJzL2xpYmEuZGxsLmEgLUwvZm9vCi9NaW5HVy9zaGFy
ZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvY3dyYXBwZXIu
YXQ6Nzk6IGlmICIkbHRfZXhlIiA7IHRoZW4gOjsgZWxzZSBsdF9zdGF0dXM9
JD87IAkgICB0ZXN0ICRsdF9zdGF0dXMgIT0gMCAmJiAJICAgdGVzdCAiWCRo
b3N0IiAhPSAiWCRidWlsZCIgJiYgdGVzdCAteCAiJGx0X2V4ZSIgJiYgZXhp
dCA3NzsgCSAgIGV4aXQgJGx0X3N0YXR1czsgZmkKc3RkZXJyOgovbWluZ3cv
bGlidG9vbC1idWlsZC1kdWUtdG8tR05VL3Rlc3RzL3Rlc3RzdWl0ZS5kaXIv
YXQtZ3JvdXBzLzU1L3Rlc3Qtc291cmNlOiBsaW5lIDEzNTogLi91c2VhOiBO
byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CnN0ZG91dDoKL01pbkdXL3NoYXJl
L2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9jd3JhcHBlci5h
dDo3OTogZXhpdCBjb2RlIHdhcyAxMjcsIGV4cGVjdGVkIDAKNTUuIGN3cmFw
cGVyLmF0OjI1OiA1NS4gY3dyYXBwZXIgZm9yIHVuaW5zdGFsbGVkIGV4ZWN1
dGFibGVzIChjd3JhcHBlci5hdDoyNSk6IEZBSUxFRCAoY3dyYXBwZXIuYXQ6
NzkpCg==

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

IyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIGNvbXBpbGF0aW9u
IC0qLQoxMDcuIHdpdGgtcGljLmF0OjI0OiB0ZXN0aW5nIHRlc3QgLS13aXRo
LXBpYyAuLi4KL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0y
LjQuMi90ZXN0cy93aXRoLXBpYy5hdDoyNzogdGVzdCAieiRwaWNfZmxhZyIg
IT0gInoiIHx8IGV4aXQgNzcKL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEv
bGlidG9vbC0yLjQuMi90ZXN0cy93aXRoLXBpYy5hdDoyODogdGVzdCAiJGF0
X3NyY2RpciIgIT0gLiB8fCBleGl0IDc3Ci9NaW5HVy9zaGFyZS9hdXRvbWFr
ZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvd2l0aC1waWMuYXQ6MzM6IDog
JHtDT05GSUdfU0hFTEw9L2Jpbi9zaH07IGV4cG9ydCBDT05GSUdfU0hFTEw7
IAkgICRDT05GSUdfU0hFTEwgJENPTkZJR1VSRSAkY29uZmlndXJlX29wdGlv
bnMgLS1kaXNhYmxlLXNoYXJlZCAtLXdpdGgtcGljPW5vCnN0ZGVycjoKc3Rk
b3V0OgpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4u
IC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmly
b25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1z
YWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdh
d2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0Up
Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0
aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3Ig
QyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5leGUK
Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAuZXhlCmNo
ZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpj
aGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNr
aW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4u
LiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMK
Y2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4g
bm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNl
ZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9m
IGdjYy4uLiBnY2MzCmNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlLi4uIGk2
ODYtcGMtbWluZ3czMgpjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlLi4uIGk2
ODYtcGMtbWluZ3czMgpjaGVja2luZyBob3cgdG8gcHJpbnQgc3RyaW5ncy4u
LiBwcmludGYKY2hlY2tpbmcgZm9yIGEgc2VkIHRoYXQgZG9lcyBub3QgdHJ1
bmNhdGUgb3V0cHV0Li4uIC9iaW4vc2VkCmNoZWNraW5nIGZvciBncmVwIHRo
YXQgaGFuZGxlcyBsb25nIGxpbmVzIGFuZCAtZS4uLiAvYmluL2dyZXAKY2hl
Y2tpbmcgZm9yIGVncmVwLi4uIC9iaW4vZ3JlcCAtRQpjaGVja2luZyBmb3Ig
ZmdyZXAuLi4gL2Jpbi9ncmVwIC1GCmNoZWNraW5nIGZvciBsZCB1c2VkIGJ5
IGdjYy4uLiBjOi90aW5ndy9taW5ndzMyL2Jpbi9sZC5leGUKY2hlY2tpbmcg
aWYgdGhlIGxpbmtlciAoYzovdGluZ3cvbWluZ3czMi9iaW4vbGQuZXhlKSBp
cyBHTlUgbGQuLi4geWVzCmNoZWNraW5nIGZvciBCU0QtIG9yIE1TLWNvbXBh
dGlibGUgbmFtZSBsaXN0ZXIgKG5tKS4uLiAvYmluL25tIC1CCmNoZWNraW5n
IHRoZSBuYW1lIGxpc3RlciAoL2Jpbi9ubSAtQikgaW50ZXJmYWNlLi4uIEJT
RCBubQpjaGVja2luZyB3aGV0aGVyIGxuIC1zIHdvcmtzLi4uIG5vLCB1c2lu
ZyBjcCAtcApjaGVja2luZyB0aGUgbWF4aW11bSBsZW5ndGggb2YgY29tbWFu
ZCBsaW5lIGFyZ3VtZW50cy4uLiA4MTkyCmNoZWNraW5nIHdoZXRoZXIgdGhl
IHNoZWxsIHVuZGVyc3RhbmRzIHNvbWUgWFNJIGNvbnN0cnVjdHMuLi4geWVz
CmNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHVuZGVyc3RhbmRzICIrPSIu
Li4geWVzCmNoZWNraW5nIGhvdyB0byBjb252ZXJ0IGk2ODYtcGMtbWluZ3cz
MiBmaWxlIG5hbWVzIHRvIGk2ODYtcGMtbWluZ3czMiBmb3JtYXQuLi4gKGNh
Y2hlZCkgZnVuY19jb252ZXJ0X2ZpbGVfbXN5c190b193MzIKY2hlY2tpbmcg
aG93IHRvIGNvbnZlcnQgaTY4Ni1wYy1taW5ndzMyIGZpbGUgbmFtZXMgdG8g
dG9vbGNoYWluIGZvcm1hdC4uLiAoY2FjaGVkKSBmdW5jX2NvbnZlcnRfZmls
ZV9tc3lzX3RvX3czMgpjaGVja2luZyBmb3IgYzovdGluZ3cvbWluZ3czMi9i
aW4vbGQuZXhlIG9wdGlvbiB0byByZWxvYWQgb2JqZWN0IGZpbGVzLi4uIC1y
CmNoZWNraW5nIGZvciBvYmpkdW1wLi4uIG9iamR1bXAKY2hlY2tpbmcgaG93
IHRvIHJlY29nbml6ZSBkZXBlbmRlbnQgbGlicmFyaWVzLi4uIGZpbGVfbWFn
aWMgXng4NiBhcmNoaXZlIGltcG9ydHxeeDg2IERMTApjaGVja2luZyBmb3Ig
ZGxsdG9vbC4uLiBkbGx0b29sCmNoZWNraW5nIGhvdyB0byBhc3NvY2lhdGUg
cnVudGltZSBhbmQgbGluayBsaWJyYXJpZXMuLi4gZnVuY19jeWdtaW5nX2Rs
bF9mb3JfaW1wbGliCmNoZWNraW5nIGZvciBhcmNoaXZlciBARklMRSBzdXBw
b3J0Li4uIEAKY2hlY2tpbmcgZm9yIHN0cmlwLi4uIHN0cmlwCmNoZWNraW5n
IGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIGNvbW1hbmQgdG8gcGFy
c2UgL2Jpbi9ubSAtQiBvdXRwdXQgZnJvbSBnY2Mgb2JqZWN0Li4uIG9rCmNo
ZWNraW5nIGZvciBzeXNyb290Li4uIG5vCmNoZWNraW5nIGZvciBtdC4uLiA6
CmNoZWNraW5nIGlmIDogaXMgYSBtYW5pZmVzdCB0b29sLi4uIG5vCmNoZWNr
aW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yLi4uIGdjYyAtRQpj
aGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcy4uLiB5ZXMKY2hlY2tp
bmcgZm9yIHN5cy90eXBlcy5oLi4uIHllcwpjaGVja2luZyBmb3Igc3lzL3N0
YXQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN0ZGxpYi5oLi4uIHllcwpjaGVj
a2luZyBmb3Igc3RyaW5nLmguLi4geWVzCmNoZWNraW5nIGZvciBtZW1vcnku
aC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN0cmluZ3MuaC4uLiB5ZXMKY2hlY2tp
bmcgZm9yIGludHR5cGVzLmguLi4geWVzCmNoZWNraW5nIGZvciBzdGRpbnQu
aC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHVuaXN0ZC5oLi4uIHllcwpjaGVja2lu
ZyBmb3IgZGxmY24uaC4uLiBubwpjaGVja2luZyBmb3IgYXMuLi4gYXMKY2hl
Y2tpbmcgZm9yIGRsbHRvb2wuLi4gKGNhY2hlZCkgZGxsdG9vbApjaGVja2lu
ZyBmb3Igb2JqZHVtcC4uLiAoY2FjaGVkKSBvYmpkdW1wCmNoZWNraW5nIGZv
ciBvYmpkaXIuLi4gLmxpYnMKY2hlY2tpbmcgaWYgZ2NjIHN1cHBvcnRzIC1m
bm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMuLi4gbm8KY2hlY2tpbmcgZm9yIGdj
YyBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gLURETExfRVhQT1JUIC1EUElD
CmNoZWNraW5nIGlmIGdjYyBQSUMgZmxhZyAtRERMTF9FWFBPUlQgLURQSUMg
d29ya3MuLi4geWVzCmNoZWNraW5nIGlmIGdjYyBzdGF0aWMgZmxhZyAtc3Rh
dGljIHdvcmtzLi4uIHllcwpjaGVja2luZyBpZiBnY2Mgc3VwcG9ydHMgLWMg
LW8gZmlsZS5vLi4uIHllcwpjaGVja2luZyBpZiBnY2Mgc3VwcG9ydHMgLWMg
LW8gZmlsZS5vLi4uIChjYWNoZWQpIHllcwpjaGVja2luZyB3aGV0aGVyIHRo
ZSBnY2MgbGlua2VyIChjOi90aW5ndy9taW5ndzMyL2Jpbi9sZC5leGUpIHN1
cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMuLi4geWVzCmNoZWNraW5nIGR5bmFt
aWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcy4uLiBXaW4zMiBsZC5leGUKY2hl
Y2tpbmcgaG93IHRvIGhhcmRjb2RlIGxpYnJhcnkgcGF0aHMgaW50byBwcm9n
cmFtcy4uLiBpbW1lZGlhdGUKY2hlY2tpbmcgd2hldGhlciBzdHJpcHBpbmcg
bGlicmFyaWVzIGlzIHBvc3NpYmxlLi4uIHllcwpjaGVja2luZyBpZiBsaWJ0
b29sIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMuLi4geWVzCmNoZWNraW5n
IHdoZXRoZXIgdG8gYnVpbGQgc2hhcmVkIGxpYnJhcmllcy4uLiBubwpjaGVj
a2luZyB3aGV0aGVyIHRvIGJ1aWxkIHN0YXRpYyBsaWJyYXJpZXMuLi4geWVz
CmNoZWNraW5nIGZvciBjb3MgaW4gLWxtLi4uIHllcwpjb25maWd1cmU6IGNy
ZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGlu
ZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMg
Y29tbWFuZHMKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGxpYnRvb2wgY29t
bWFuZHMKL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQu
Mi90ZXN0cy93aXRoLXBpYy5hdDozNDogJE1BS0UKc3RkZXJyOgpzdGRvdXQ6
Ci9iaW4vc2ggLi9saWJ0b29sIC0tdGFnPUNDICAgLS1tb2RlPWNvbXBpbGUg
Z2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVtb1wiIC1EUEFDS0FHRV9UQVJOQU1F
PVwiZGVtb1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdF
X1NUUklORz1cImRlbW9cIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJi
dWctbGlidG9vbEBnbnUub3JnXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFD
S0FHRT1cImRlbW9cIiAtRFZFUlNJT049XCIxLjBcIiAtRFNURENfSEVBREVS
Uz0xIC1ESEFWRV9TWVNfVFlQRVNfSD0xIC1ESEFWRV9TWVNfU1RBVF9IPTEg
LURIQVZFX1NURExJQl9IPTEgLURIQVZFX1NUUklOR19IPTEgLURIQVZFX01F
TU9SWV9IPTEgLURIQVZFX1NUUklOR1NfSD0xIC1ESEFWRV9JTlRUWVBFU19I
PTEgLURIQVZFX1NURElOVF9IPTEgLURIQVZFX1VOSVNURF9IPTEgLURMVF9P
QkpESVI9XCIubGlicy9cIiAtSS4gLUkvTWluR1cvc2hhcmUvYXV0b21ha2Ut
MS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2RlbW8gIC1JL01pbkdXL3NoYXJl
L2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9kZW1vLy4uLy4u
ICAgLWcgLU8yIC1jIC1vIGhlbGxvLmxvIC9NaW5HVy9zaGFyZS9hdXRvbWFr
ZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvZGVtby9oZWxsby5jCmxpYnRv
b2w6IGNvbXBpbGU6ICBnY2MgLURQQUNLQUdFX05BTUU9XCJkZW1vXCIgLURQ
QUNLQUdFX1RBUk5BTUU9XCJkZW1vXCIgLURQQUNLQUdFX1ZFUlNJT049XCIx
LjBcIiAiLURQQUNLQUdFX1NUUklORz1cImRlbW8gMS4wXCIiIC1EUEFDS0FH
RV9CVUdSRVBPUlQ9XCJidWctbGlidG9vbEBnbnUub3JnXCIgLURQQUNLQUdF
X1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlbW9cIiAtRFZFUlNJT049XCIxLjBc
IiAtRFNURENfSEVBREVSUz0xIC1ESEFWRV9TWVNfVFlQRVNfSD0xIC1ESEFW
RV9TWVNfU1RBVF9IPTEgLURIQVZFX1NURExJQl9IPTEgLURIQVZFX1NUUklO
R19IPTEgLURIQVZFX01FTU9SWV9IPTEgLURIQVZFX1NUUklOR1NfSD0xIC1E
SEFWRV9JTlRUWVBFU19IPTEgLURIQVZFX1NURElOVF9IPTEgLURIQVZFX1VO
SVNURF9IPTEgLURMVF9PQkpESVI9XCIubGlicy9cIiAtSS4gLUkvTWluR1cv
c2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2RlbW8g
LUkvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rl
c3RzL2RlbW8vLi4vLi4gLWcgLU8yIC1jIC9NaW5HVy9zaGFyZS9hdXRvbWFr
ZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvZGVtby9oZWxsby5jIC1vIGhl
bGxvLm8KL2Jpbi9zaCAuL2xpYnRvb2wgLS10YWc9Q0MgICAtLW1vZGU9Y29t
cGlsZSBnY2MgLURQQUNLQUdFX05BTUU9XCJkZW1vXCIgLURQQUNLQUdFX1RB
Uk5BTUU9XCJkZW1vXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBB
Q0tBR0VfU1RSSU5HPVwiZGVtb1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9S
VD1cImJ1Zy1saWJ0b29sQGdudS5vcmdcIiAtRFBBQ0tBR0VfVVJMPVwiXCIg
LURQQUNLQUdFPVwiZGVtb1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1EU1REQ19I
RUFERVJTPTEgLURIQVZFX1NZU19UWVBFU19IPTEgLURIQVZFX1NZU19TVEFU
X0g9MSAtREhBVkVfU1RETElCX0g9MSAtREhBVkVfU1RSSU5HX0g9MSAtREhB
VkVfTUVNT1JZX0g9MSAtREhBVkVfU1RSSU5HU19IPTEgLURIQVZFX0lOVFRZ
UEVTX0g9MSAtREhBVkVfU1RESU5UX0g9MSAtREhBVkVfVU5JU1REX0g9MSAt
RExUX09CSkRJUj1cIi5saWJzL1wiIC1JLiAtSS9NaW5HVy9zaGFyZS9hdXRv
bWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvZGVtbyAgLUkvTWluR1cv
c2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2RlbW8v
Li4vLi4gICAtZyAtTzIgLWMgLW8gZm9vLmxvIC9NaW5HVy9zaGFyZS9hdXRv
bWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvZGVtby9mb28uYwpsaWJ0
b29sOiBjb21waWxlOiAgZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVtb1wiIC1E
UEFDS0FHRV9UQVJOQU1FPVwiZGVtb1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwi
MS4wXCIgIi1EUEFDS0FHRV9TVFJJTkc9XCJkZW1vIDEuMFwiIiAtRFBBQ0tB
R0VfQlVHUkVQT1JUPVwiYnVnLWxpYnRvb2xAZ251Lm9yZ1wiIC1EUEFDS0FH
RV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZW1vXCIgLURWRVJTSU9OPVwiMS4w
XCIgLURTVERDX0hFQURFUlM9MSAtREhBVkVfU1lTX1RZUEVTX0g9MSAtREhB
VkVfU1lTX1NUQVRfSD0xIC1ESEFWRV9TVERMSUJfSD0xIC1ESEFWRV9TVFJJ
TkdfSD0xIC1ESEFWRV9NRU1PUllfSD0xIC1ESEFWRV9TVFJJTkdTX0g9MSAt
REhBVkVfSU5UVFlQRVNfSD0xIC1ESEFWRV9TVERJTlRfSD0xIC1ESEFWRV9V
TklTVERfSD0xIC1ETFRfT0JKRElSPVwiLmxpYnMvXCIgLUkuIC1JL01pbkdX
L3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9kZW1v
IC1JL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90
ZXN0cy9kZW1vLy4uLy4uIC1nIC1PMiAtYyAvTWluR1cvc2hhcmUvYXV0b21h
a2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2RlbW8vZm9vLmMgLW8gZm9v
Lm8KL2Jpbi9zaCAuL2xpYnRvb2wgLS10YWc9Q0MgICAtLW1vZGU9bGluayBn
Y2MgIC1nIC1PMiAtbm8tdW5kZWZpbmVkIC12ZXJzaW9uLWluZm8gMzoxMjox
ICAtbyBsaWJoZWxsby5sYSAtcnBhdGggL25vbmV4aXN0ZW50L2xpYiBoZWxs
by5sbyBmb28ubG8gLWxtIApsaWJ0b29sOiBsaW5rOiBhciBjcnUgLmxpYnMv
bGliaGVsbG8uYSAgaGVsbG8ubyBmb28ubwpsaWJ0b29sOiBsaW5rOiByYW5s
aWIgLmxpYnMvbGliaGVsbG8uYQpsaWJ0b29sOiBsaW5rOiAoIGNkICIubGli
cyIgJiYgcm0gLWYgImxpYmhlbGxvLmxhIiAmJiBjcCAtcCAiLi4vbGliaGVs
bG8ubGEiICJsaWJoZWxsby5sYSIgKQpnY2MgLURQQUNLQUdFX05BTUU9XCJk
ZW1vXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZW1vXCIgLURQQUNLQUdFX1ZF
UlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVtb1wgMS4wXCIg
LURQQUNLQUdFX0JVR1JFUE9SVD1cImJ1Zy1saWJ0b29sQGdudS5vcmdcIiAt
RFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVtb1wiIC1EVkVSU0lP
Tj1cIjEuMFwiIC1EU1REQ19IRUFERVJTPTEgLURIQVZFX1NZU19UWVBFU19I
PTEgLURIQVZFX1NZU19TVEFUX0g9MSAtREhBVkVfU1RETElCX0g9MSAtREhB
VkVfU1RSSU5HX0g9MSAtREhBVkVfTUVNT1JZX0g9MSAtREhBVkVfU1RSSU5H
U19IPTEgLURIQVZFX0lOVFRZUEVTX0g9MSAtREhBVkVfU1RESU5UX0g9MSAt
REhBVkVfVU5JU1REX0g9MSAtRExUX09CSkRJUj1cIi5saWJzL1wiIC1JLiAt
SS9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVz
dHMvZGVtbyAgLUkvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29s
LTIuNC4yL3Rlc3RzL2RlbW8vLi4vLi4gICAtZyAtTzIgLWMgL01pbkdXL3No
YXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9kZW1vL21h
aW4uYwovYmluL3NoIC4vbGlidG9vbCAtLXRhZz1DQyAgIC0tbW9kZT1saW5r
IGdjYyAgLWcgLU8yICAgLW8gaGVsbC5leGUgbWFpbi5vIGxpYmhlbGxvLmxh
IApsaWJ0b29sOiBsaW5rOiBnY2MgLWcgLU8yIC1vIGhlbGwuZXhlIG1haW4u
byAgLi8ubGlicy9saWJoZWxsby5hCi9iaW4vc2ggLi9saWJ0b29sIC0tdGFn
PUNDICAgLS1tb2RlPWxpbmsgZ2NjICAtZyAtTzIgLXN0YXRpYyAgLW8gaGVs
bF9zdGF0aWMuZXhlIG1haW4ubyBsaWJoZWxsby5sYSAKbGlidG9vbDogbGlu
azogZ2NjIC1nIC1PMiAtbyBoZWxsX3N0YXRpYy5leGUgbWFpbi5vICAuLy5s
aWJzL2xpYmhlbGxvLmEKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVtb1wiIC1E
UEFDS0FHRV9UQVJOQU1FPVwiZGVtb1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwi
MS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlbW9cIDEuMFwiIC1EUEFDS0FH
RV9CVUdSRVBPUlQ9XCJidWctbGlidG9vbEBnbnUub3JnXCIgLURQQUNLQUdF
X1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlbW9cIiAtRFZFUlNJT049XCIxLjBc
IiAtRFNURENfSEVBREVSUz0xIC1ESEFWRV9TWVNfVFlQRVNfSD0xIC1ESEFW
RV9TWVNfU1RBVF9IPTEgLURIQVZFX1NURExJQl9IPTEgLURIQVZFX1NUUklO
R19IPTEgLURIQVZFX01FTU9SWV9IPTEgLURIQVZFX1NUUklOR1NfSD0xIC1E
SEFWRV9JTlRUWVBFU19IPTEgLURIQVZFX1NURElOVF9IPTEgLURIQVZFX1VO
SVNURF9IPTEgLURMVF9PQkpESVI9XCIubGlicy9cIiAtSS4gLUkvTWluR1cv
c2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2RlbW8g
IC1JL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90
ZXN0cy9kZW1vLy4uLy4uICAgLWcgLU8yIC1jIC9NaW5HVy9zaGFyZS9hdXRv
bWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvZGVtby9kbG1haW4uYwov
YmluL3NoIC4vbGlidG9vbCAtLXRhZz1DQyAgIC0tbW9kZT1saW5rIGdjYyAg
LWcgLU8yIC1leHBvcnQtZHluYW1pYyAtZGxwcmVvcGVuIGxpYmhlbGxvLmxh
ICAtbyBoZWxsZGwuZXhlIGRsbWFpbi5vICAKbGlidG9vbDogbGluazogcm0g
LWYgLmxpYnMvaGVsbGRsLmV4ZS5ubSAubGlicy9oZWxsZGwuZXhlLm5tUyAu
bGlicy9oZWxsZGwuZXhlLm5tVApsaWJ0b29sOiBsaW5rOiAoY2QgLmxpYnMg
JiYgZ2NjIC1nIC1PMiAtYyAtZm5vLWJ1aWx0aW4gImhlbGxkbC5leGVTLmMi
KQpsaWJ0b29sOiBsaW5rOiBybSAtZiAiLmxpYnMvaGVsbGRsLmV4ZVMuYyIg
Ii5saWJzL2hlbGxkbC5leGUubm0iICIubGlicy9oZWxsZGwuZXhlLm5tUyIg
Ii5saWJzL2hlbGxkbC5leGUubm1UIgpsaWJ0b29sOiBsaW5rOiBnY2MgLWcg
LU8yIC5saWJzL2hlbGxkbC5leGVTLm8gLW8gaGVsbGRsLmV4ZSBkbG1haW4u
byAtV2wsLS1leHBvcnQtYWxsLXN5bWJvbHMgIC4vLmxpYnMvbGliaGVsbG8u
YQpsaWJ0b29sOiBsaW5rOiBybSAtZiAiLmxpYnMvaGVsbGRsLmV4ZVMubyIK
L01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0
cy93aXRoLXBpYy5hdDozNTogJEZHUkVQIC12ICIkcGljX2ZsYWciIHN0ZG91
dApzdGRlcnI6CnN0ZG91dDoKL2Jpbi9zaCAuL2xpYnRvb2wgLS10YWc9Q0Mg
ICAtLW1vZGU9Y29tcGlsZSBnY2MgLURQQUNLQUdFX05BTUU9XCJkZW1vXCIg
LURQQUNLQUdFX1RBUk5BTUU9XCJkZW1vXCIgLURQQUNLQUdFX1ZFUlNJT049
XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVtb1wgMS4wXCIgLURQQUNL
QUdFX0JVR1JFUE9SVD1cImJ1Zy1saWJ0b29sQGdudS5vcmdcIiAtRFBBQ0tB
R0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVtb1wiIC1EVkVSU0lPTj1cIjEu
MFwiIC1EU1REQ19IRUFERVJTPTEgLURIQVZFX1NZU19UWVBFU19IPTEgLURI
QVZFX1NZU19TVEFUX0g9MSAtREhBVkVfU1RETElCX0g9MSAtREhBVkVfU1RS
SU5HX0g9MSAtREhBVkVfTUVNT1JZX0g9MSAtREhBVkVfU1RSSU5HU19IPTEg
LURIQVZFX0lOVFRZUEVTX0g9MSAtREhBVkVfU1RESU5UX0g9MSAtREhBVkVf
VU5JU1REX0g9MSAtRExUX09CSkRJUj1cIi5saWJzL1wiIC1JLiAtSS9NaW5H
Vy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvZGVt
byAgLUkvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4y
L3Rlc3RzL2RlbW8vLi4vLi4gICAtZyAtTzIgLWMgLW8gaGVsbG8ubG8gL01p
bkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9k
ZW1vL2hlbGxvLmMKbGlidG9vbDogY29tcGlsZTogIGdjYyAtRFBBQ0tBR0Vf
TkFNRT1cImRlbW9cIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlbW9cIiAtRFBB
Q0tBR0VfVkVSU0lPTj1cIjEuMFwiICItRFBBQ0tBR0VfU1RSSU5HPVwiZGVt
byAxLjBcIiIgLURQQUNLQUdFX0JVR1JFUE9SVD1cImJ1Zy1saWJ0b29sQGdu
dS5vcmdcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVtb1wi
IC1EVkVSU0lPTj1cIjEuMFwiIC1EU1REQ19IRUFERVJTPTEgLURIQVZFX1NZ
U19UWVBFU19IPTEgLURIQVZFX1NZU19TVEFUX0g9MSAtREhBVkVfU1RETElC
X0g9MSAtREhBVkVfU1RSSU5HX0g9MSAtREhBVkVfTUVNT1JZX0g9MSAtREhB
VkVfU1RSSU5HU19IPTEgLURIQVZFX0lOVFRZUEVTX0g9MSAtREhBVkVfU1RE
SU5UX0g9MSAtREhBVkVfVU5JU1REX0g9MSAtRExUX09CSkRJUj1cIi5saWJz
L1wiIC1JLiAtSS9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wt
Mi40LjIvdGVzdHMvZGVtbyAtSS9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjEx
L2xpYnRvb2wtMi40LjIvdGVzdHMvZGVtby8uLi8uLiAtZyAtTzIgLWMgL01p
bkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9k
ZW1vL2hlbGxvLmMgLW8gaGVsbG8ubwovYmluL3NoIC4vbGlidG9vbCAtLXRh
Zz1DQyAgIC0tbW9kZT1jb21waWxlIGdjYyAtRFBBQ0tBR0VfTkFNRT1cImRl
bW9cIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlbW9cIiAtRFBBQ0tBR0VfVkVS
U0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZW1vXCAxLjBcIiAt
RFBBQ0tBR0VfQlVHUkVQT1JUPVwiYnVnLWxpYnRvb2xAZ251Lm9yZ1wiIC1E
UEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZW1vXCIgLURWRVJTSU9O
PVwiMS4wXCIgLURTVERDX0hFQURFUlM9MSAtREhBVkVfU1lTX1RZUEVTX0g9
MSAtREhBVkVfU1lTX1NUQVRfSD0xIC1ESEFWRV9TVERMSUJfSD0xIC1ESEFW
RV9TVFJJTkdfSD0xIC1ESEFWRV9NRU1PUllfSD0xIC1ESEFWRV9TVFJJTkdT
X0g9MSAtREhBVkVfSU5UVFlQRVNfSD0xIC1ESEFWRV9TVERJTlRfSD0xIC1E
SEFWRV9VTklTVERfSD0xIC1ETFRfT0JKRElSPVwiLmxpYnMvXCIgLUkuIC1J
L01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0
cy9kZW1vICAtSS9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wt
Mi40LjIvdGVzdHMvZGVtby8uLi8uLiAgIC1nIC1PMiAtYyAtbyBmb28ubG8g
L01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0
cy9kZW1vL2Zvby5jCmxpYnRvb2w6IGNvbXBpbGU6ICBnY2MgLURQQUNLQUdF
X05BTUU9XCJkZW1vXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZW1vXCIgLURQ
QUNLQUdFX1ZFUlNJT049XCIxLjBcIiAiLURQQUNLQUdFX1NUUklORz1cImRl
bW8gMS4wXCIiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJidWctbGlidG9vbEBn
bnUub3JnXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlbW9c
IiAtRFZFUlNJT049XCIxLjBcIiAtRFNURENfSEVBREVSUz0xIC1ESEFWRV9T
WVNfVFlQRVNfSD0xIC1ESEFWRV9TWVNfU1RBVF9IPTEgLURIQVZFX1NURExJ
Ql9IPTEgLURIQVZFX1NUUklOR19IPTEgLURIQVZFX01FTU9SWV9IPTEgLURI
QVZFX1NUUklOR1NfSD0xIC1ESEFWRV9JTlRUWVBFU19IPTEgLURIQVZFX1NU
RElOVF9IPTEgLURIQVZFX1VOSVNURF9IPTEgLURMVF9PQkpESVI9XCIubGli
cy9cIiAtSS4gLUkvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29s
LTIuNC4yL3Rlc3RzL2RlbW8gLUkvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4x
MS9saWJ0b29sLTIuNC4yL3Rlc3RzL2RlbW8vLi4vLi4gLWcgLU8yIC1jIC9N
aW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMv
ZGVtby9mb28uYyAtbyBmb28ubwovYmluL3NoIC4vbGlidG9vbCAtLXRhZz1D
QyAgIC0tbW9kZT1saW5rIGdjYyAgLWcgLU8yIC1uby11bmRlZmluZWQgLXZl
cnNpb24taW5mbyAzOjEyOjEgIC1vIGxpYmhlbGxvLmxhIC1ycGF0aCAvbm9u
ZXhpc3RlbnQvbGliIGhlbGxvLmxvIGZvby5sbyAtbG0gCmxpYnRvb2w6IGxp
bms6IGFyIGNydSAubGlicy9saWJoZWxsby5hICBoZWxsby5vIGZvby5vCmxp
YnRvb2w6IGxpbms6IHJhbmxpYiAubGlicy9saWJoZWxsby5hCmxpYnRvb2w6
IGxpbms6ICggY2QgIi5saWJzIiAmJiBybSAtZiAibGliaGVsbG8ubGEiICYm
IGNwIC1wICIuLi9saWJoZWxsby5sYSIgImxpYmhlbGxvLmxhIiApCmdjYyAt
RFBBQ0tBR0VfTkFNRT1cImRlbW9cIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRl
bW9cIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJ
Tkc9XCJkZW1vXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiYnVnLWxp
YnRvb2xAZ251Lm9yZ1wiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9
XCJkZW1vXCIgLURWRVJTSU9OPVwiMS4wXCIgLURTVERDX0hFQURFUlM9MSAt
REhBVkVfU1lTX1RZUEVTX0g9MSAtREhBVkVfU1lTX1NUQVRfSD0xIC1ESEFW
RV9TVERMSUJfSD0xIC1ESEFWRV9TVFJJTkdfSD0xIC1ESEFWRV9NRU1PUllf
SD0xIC1ESEFWRV9TVFJJTkdTX0g9MSAtREhBVkVfSU5UVFlQRVNfSD0xIC1E
SEFWRV9TVERJTlRfSD0xIC1ESEFWRV9VTklTVERfSD0xIC1ETFRfT0JKRElS
PVwiLmxpYnMvXCIgLUkuIC1JL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEv
bGlidG9vbC0yLjQuMi90ZXN0cy9kZW1vICAtSS9NaW5HVy9zaGFyZS9hdXRv
bWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvZGVtby8uLi8uLiAgIC1n
IC1PMiAtYyAvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIu
NC4yL3Rlc3RzL2RlbW8vbWFpbi5jCi9iaW4vc2ggLi9saWJ0b29sIC0tdGFn
PUNDICAgLS1tb2RlPWxpbmsgZ2NjICAtZyAtTzIgICAtbyBoZWxsLmV4ZSBt
YWluLm8gbGliaGVsbG8ubGEgCmxpYnRvb2w6IGxpbms6IGdjYyAtZyAtTzIg
LW8gaGVsbC5leGUgbWFpbi5vICAuLy5saWJzL2xpYmhlbGxvLmEKL2Jpbi9z
aCAuL2xpYnRvb2wgLS10YWc9Q0MgICAtLW1vZGU9bGluayBnY2MgIC1nIC1P
MiAtc3RhdGljICAtbyBoZWxsX3N0YXRpYy5leGUgbWFpbi5vIGxpYmhlbGxv
LmxhIApsaWJ0b29sOiBsaW5rOiBnY2MgLWcgLU8yIC1vIGhlbGxfc3RhdGlj
LmV4ZSBtYWluLm8gIC4vLmxpYnMvbGliaGVsbG8uYQpnY2MgLURQQUNLQUdF
X05BTUU9XCJkZW1vXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZW1vXCIgLURQ
QUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVt
b1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cImJ1Zy1saWJ0b29sQGdu
dS5vcmdcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVtb1wi
IC1EVkVSU0lPTj1cIjEuMFwiIC1EU1REQ19IRUFERVJTPTEgLURIQVZFX1NZ
U19UWVBFU19IPTEgLURIQVZFX1NZU19TVEFUX0g9MSAtREhBVkVfU1RETElC
X0g9MSAtREhBVkVfU1RSSU5HX0g9MSAtREhBVkVfTUVNT1JZX0g9MSAtREhB
VkVfU1RSSU5HU19IPTEgLURIQVZFX0lOVFRZUEVTX0g9MSAtREhBVkVfU1RE
SU5UX0g9MSAtREhBVkVfVU5JU1REX0g9MSAtRExUX09CSkRJUj1cIi5saWJz
L1wiIC1JLiAtSS9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wt
Mi40LjIvdGVzdHMvZGVtbyAgLUkvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4x
MS9saWJ0b29sLTIuNC4yL3Rlc3RzL2RlbW8vLi4vLi4gICAtZyAtTzIgLWMg
L01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0
cy9kZW1vL2RsbWFpbi5jCi9iaW4vc2ggLi9saWJ0b29sIC0tdGFnPUNDICAg
LS1tb2RlPWxpbmsgZ2NjICAtZyAtTzIgLWV4cG9ydC1keW5hbWljIC1kbHBy
ZW9wZW4gbGliaGVsbG8ubGEgIC1vIGhlbGxkbC5leGUgZGxtYWluLm8gIAps
aWJ0b29sOiBsaW5rOiBybSAtZiAubGlicy9oZWxsZGwuZXhlLm5tIC5saWJz
L2hlbGxkbC5leGUubm1TIC5saWJzL2hlbGxkbC5leGUubm1UCmxpYnRvb2w6
IGxpbms6IChjZCAubGlicyAmJiBnY2MgLWcgLU8yIC1jIC1mbm8tYnVpbHRp
biAiaGVsbGRsLmV4ZVMuYyIpCmxpYnRvb2w6IGxpbms6IHJtIC1mICIubGli
cy9oZWxsZGwuZXhlUy5jIiAiLmxpYnMvaGVsbGRsLmV4ZS5ubSIgIi5saWJz
L2hlbGxkbC5leGUubm1TIiAiLmxpYnMvaGVsbGRsLmV4ZS5ubVQiCmxpYnRv
b2w6IGxpbms6IGdjYyAtZyAtTzIgLmxpYnMvaGVsbGRsLmV4ZVMubyAtbyBo
ZWxsZGwuZXhlIGRsbWFpbi5vIC1XbCwtLWV4cG9ydC1hbGwtc3ltYm9scyAg
Li8ubGlicy9saWJoZWxsby5hCmxpYnRvb2w6IGxpbms6IHJtIC1mICIubGli
cy9oZWxsZGwuZXhlUy5vIgogcm0gLWYgaGVsbC5leGUgaGVsbF9zdGF0aWMu
ZXhlIGhlbGxkbC5leGUKIHJtIC1mIGhlbGwgaGVsbF9zdGF0aWMgaGVsbGRs
CnRlc3QgLXogImhjLWRpcmVjdCBoYy1saWJmbGFnIGhjLWxpYnBhdGggaGMt
bWludXNMIGxpYmhlbGwwLmEgbGliaGVsbDEubGEgbGliaGVsbDIubGEgaGVs
bDAuZXhlIGhlbGwwIiB8fCBybSAtZiBoYy1kaXJlY3QgaGMtbGliZmxhZyBo
Yy1saWJwYXRoIGhjLW1pbnVzTCBsaWJoZWxsMC5hIGxpYmhlbGwxLmxhIGxp
YmhlbGwyLmxhIGhlbGwwLmV4ZSBoZWxsMAp0ZXN0IC16ICJsaWJoZWxsby5s
YSIgfHwgcm0gLWYgbGliaGVsbG8ubGEKcm0gLWYgIi4vc29fbG9jYXRpb25z
IgpybSAtcmYgLmxpYnMgX2xpYnMKcm0gLWYgKi5vCnJtIC1mICoubG8KL01p
bkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy93
aXRoLXBpYy5hdDozODogOiAke0NPTkZJR19TSEVMTD0vYmluL3NofTsgZXhw
b3J0IENPTkZJR19TSEVMTDsgCSAgJENPTkZJR19TSEVMTCAkQ09ORklHVVJF
ICRjb25maWd1cmVfb3B0aW9ucyAtLWRpc2FibGUtc2hhcmVkIC0td2l0aC1w
aWM9eWVzCnN0ZGVycjoKc3Rkb3V0OgpjaGVja2luZyBmb3IgYSBCU0QtY29t
cGF0aWJsZSBpbnN0YWxsLi4uIC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3
aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNr
aW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIg
LXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVy
IG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4u
IGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4u
IHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBm
aWxlIG5hbWUuLi4gYS5leGUKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVj
dXRhYmxlcy4uLiAuZXhlCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3Nz
IGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVj
dCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRo
ZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2Mg
YWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8g
YWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0
eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBk
ZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGJ1aWxk
IHN5c3RlbSB0eXBlLi4uIGk2ODYtcGMtbWluZ3czMgpjaGVja2luZyBob3N0
IHN5c3RlbSB0eXBlLi4uIGk2ODYtcGMtbWluZ3czMgpjaGVja2luZyBob3cg
dG8gcHJpbnQgc3RyaW5ncy4uLiBwcmludGYKY2hlY2tpbmcgZm9yIGEgc2Vk
IHRoYXQgZG9lcyBub3QgdHJ1bmNhdGUgb3V0cHV0Li4uIC9iaW4vc2VkCmNo
ZWNraW5nIGZvciBncmVwIHRoYXQgaGFuZGxlcyBsb25nIGxpbmVzIGFuZCAt
ZS4uLiAvYmluL2dyZXAKY2hlY2tpbmcgZm9yIGVncmVwLi4uIC9iaW4vZ3Jl
cCAtRQpjaGVja2luZyBmb3IgZmdyZXAuLi4gL2Jpbi9ncmVwIC1GCmNoZWNr
aW5nIGZvciBsZCB1c2VkIGJ5IGdjYy4uLiBjOi90aW5ndy9taW5ndzMyL2Jp
bi9sZC5leGUKY2hlY2tpbmcgaWYgdGhlIGxpbmtlciAoYzovdGluZ3cvbWlu
Z3czMi9iaW4vbGQuZXhlKSBpcyBHTlUgbGQuLi4geWVzCmNoZWNraW5nIGZv
ciBCU0QtIG9yIE1TLWNvbXBhdGlibGUgbmFtZSBsaXN0ZXIgKG5tKS4uLiAv
YmluL25tIC1CCmNoZWNraW5nIHRoZSBuYW1lIGxpc3RlciAoL2Jpbi9ubSAt
QikgaW50ZXJmYWNlLi4uIEJTRCBubQpjaGVja2luZyB3aGV0aGVyIGxuIC1z
IHdvcmtzLi4uIG5vLCB1c2luZyBjcCAtcApjaGVja2luZyB0aGUgbWF4aW11
bSBsZW5ndGggb2YgY29tbWFuZCBsaW5lIGFyZ3VtZW50cy4uLiA4MTkyCmNo
ZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHVuZGVyc3RhbmRzIHNvbWUgWFNJ
IGNvbnN0cnVjdHMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxs
IHVuZGVyc3RhbmRzICIrPSIuLi4geWVzCmNoZWNraW5nIGhvdyB0byBjb252
ZXJ0IGk2ODYtcGMtbWluZ3czMiBmaWxlIG5hbWVzIHRvIGk2ODYtcGMtbWlu
Z3czMiBmb3JtYXQuLi4gKGNhY2hlZCkgZnVuY19jb252ZXJ0X2ZpbGVfbXN5
c190b193MzIKY2hlY2tpbmcgaG93IHRvIGNvbnZlcnQgaTY4Ni1wYy1taW5n
dzMyIGZpbGUgbmFtZXMgdG8gdG9vbGNoYWluIGZvcm1hdC4uLiAoY2FjaGVk
KSBmdW5jX2NvbnZlcnRfZmlsZV9tc3lzX3RvX3czMgpjaGVja2luZyBmb3Ig
YzovdGluZ3cvbWluZ3czMi9iaW4vbGQuZXhlIG9wdGlvbiB0byByZWxvYWQg
b2JqZWN0IGZpbGVzLi4uIC1yCmNoZWNraW5nIGZvciBvYmpkdW1wLi4uIG9i
amR1bXAKY2hlY2tpbmcgaG93IHRvIHJlY29nbml6ZSBkZXBlbmRlbnQgbGli
cmFyaWVzLi4uIGZpbGVfbWFnaWMgXng4NiBhcmNoaXZlIGltcG9ydHxeeDg2
IERMTApjaGVja2luZyBmb3IgZGxsdG9vbC4uLiBkbGx0b29sCmNoZWNraW5n
IGhvdyB0byBhc3NvY2lhdGUgcnVudGltZSBhbmQgbGluayBsaWJyYXJpZXMu
Li4gZnVuY19jeWdtaW5nX2RsbF9mb3JfaW1wbGliCmNoZWNraW5nIGZvciBh
cmNoaXZlciBARklMRSBzdXBwb3J0Li4uIEAKY2hlY2tpbmcgZm9yIHN0cmlw
Li4uIHN0cmlwCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNr
aW5nIGNvbW1hbmQgdG8gcGFyc2UgL2Jpbi9ubSAtQiBvdXRwdXQgZnJvbSBn
Y2Mgb2JqZWN0Li4uIG9rCmNoZWNraW5nIGZvciBzeXNyb290Li4uIG5vCmNo
ZWNraW5nIGZvciBtdC4uLiA6CmNoZWNraW5nIGlmIDogaXMgYSBtYW5pZmVz
dCB0b29sLi4uIG5vCmNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJv
Y2Vzc29yLi4uIGdjYyAtRQpjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBm
aWxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN5cy90eXBlcy5oLi4uIHllcwpj
aGVja2luZyBmb3Igc3lzL3N0YXQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN0
ZGxpYi5oLi4uIHllcwpjaGVja2luZyBmb3Igc3RyaW5nLmguLi4geWVzCmNo
ZWNraW5nIGZvciBtZW1vcnkuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN0cmlu
Z3MuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIGludHR5cGVzLmguLi4geWVzCmNo
ZWNraW5nIGZvciBzdGRpbnQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHVuaXN0
ZC5oLi4uIHllcwpjaGVja2luZyBmb3IgZGxmY24uaC4uLiBubwpjaGVja2lu
ZyBmb3IgYXMuLi4gYXMKY2hlY2tpbmcgZm9yIGRsbHRvb2wuLi4gKGNhY2hl
ZCkgZGxsdG9vbApjaGVja2luZyBmb3Igb2JqZHVtcC4uLiAoY2FjaGVkKSBv
YmpkdW1wCmNoZWNraW5nIGZvciBvYmpkaXIuLi4gLmxpYnMKY2hlY2tpbmcg
aWYgZ2NjIHN1cHBvcnRzIC1mbm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMuLi4g
bm8KY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4g
LURETExfRVhQT1JUIC1EUElDCmNoZWNraW5nIGlmIGdjYyBQSUMgZmxhZyAt
RERMTF9FWFBPUlQgLURQSUMgd29ya3MuLi4geWVzCmNoZWNraW5nIGlmIGdj
YyBzdGF0aWMgZmxhZyAtc3RhdGljIHdvcmtzLi4uIHllcwpjaGVja2luZyBp
ZiBnY2Mgc3VwcG9ydHMgLWMgLW8gZmlsZS5vLi4uIHllcwpjaGVja2luZyBp
ZiBnY2Mgc3VwcG9ydHMgLWMgLW8gZmlsZS5vLi4uIChjYWNoZWQpIHllcwpj
aGVja2luZyB3aGV0aGVyIHRoZSBnY2MgbGlua2VyIChjOi90aW5ndy9taW5n
dzMyL2Jpbi9sZC5leGUpIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMuLi4g
eWVzCmNoZWNraW5nIGR5bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcy4u
LiBXaW4zMiBsZC5leGUKY2hlY2tpbmcgaG93IHRvIGhhcmRjb2RlIGxpYnJh
cnkgcGF0aHMgaW50byBwcm9ncmFtcy4uLiBpbW1lZGlhdGUKY2hlY2tpbmcg
d2hldGhlciBzdHJpcHBpbmcgbGlicmFyaWVzIGlzIHBvc3NpYmxlLi4uIHll
cwpjaGVja2luZyBpZiBsaWJ0b29sIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJp
ZXMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgc2hhcmVkIGxp
YnJhcmllcy4uLiBubwpjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHN0YXRp
YyBsaWJyYXJpZXMuLi4geWVzCmNoZWNraW5nIGZvciBjb3MgaW4gLWxtLi4u
IHllcwpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25m
aWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBl
eGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKY29uZmlnLnN0YXR1czogZXhl
Y3V0aW5nIGxpYnRvb2wgY29tbWFuZHMKL01pbkdXL3NoYXJlL2F1dG9tYWtl
LTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy93aXRoLXBpYy5hdDozOTogJE1B
S0UKc3RkZXJyOgpzdGRvdXQ6Ci9iaW4vc2ggLi9saWJ0b29sIC0tdGFnPUND
ICAgLS1tb2RlPWNvbXBpbGUgZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVtb1wi
IC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVtb1wiIC1EUEFDS0FHRV9WRVJTSU9O
PVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlbW9cIDEuMFwiIC1EUEFD
S0FHRV9CVUdSRVBPUlQ9XCJidWctbGlidG9vbEBnbnUub3JnXCIgLURQQUNL
QUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlbW9cIiAtRFZFUlNJT049XCIx
LjBcIiAtRFNURENfSEVBREVSUz0xIC1ESEFWRV9TWVNfVFlQRVNfSD0xIC1E
SEFWRV9TWVNfU1RBVF9IPTEgLURIQVZFX1NURExJQl9IPTEgLURIQVZFX1NU
UklOR19IPTEgLURIQVZFX01FTU9SWV9IPTEgLURIQVZFX1NUUklOR1NfSD0x
IC1ESEFWRV9JTlRUWVBFU19IPTEgLURIQVZFX1NURElOVF9IPTEgLURIQVZF
X1VOSVNURF9IPTEgLURMVF9PQkpESVI9XCIubGlicy9cIiAtSS4gLUkvTWlu
R1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2Rl
bW8gIC1JL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQu
Mi90ZXN0cy9kZW1vLy4uLy4uICAgLWcgLU8yIC1jIC1vIGhlbGxvLmxvIC9N
aW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMv
ZGVtby9oZWxsby5jCmxpYnRvb2w6IGNvbXBpbGU6ICBnY2MgLURQQUNLQUdF
X05BTUU9XCJkZW1vXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZW1vXCIgLURQ
QUNLQUdFX1ZFUlNJT049XCIxLjBcIiAiLURQQUNLQUdFX1NUUklORz1cImRl
bW8gMS4wXCIiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJidWctbGlidG9vbEBn
bnUub3JnXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlbW9c
IiAtRFZFUlNJT049XCIxLjBcIiAtRFNURENfSEVBREVSUz0xIC1ESEFWRV9T
WVNfVFlQRVNfSD0xIC1ESEFWRV9TWVNfU1RBVF9IPTEgLURIQVZFX1NURExJ
Ql9IPTEgLURIQVZFX1NUUklOR19IPTEgLURIQVZFX01FTU9SWV9IPTEgLURI
QVZFX1NUUklOR1NfSD0xIC1ESEFWRV9JTlRUWVBFU19IPTEgLURIQVZFX1NU
RElOVF9IPTEgLURIQVZFX1VOSVNURF9IPTEgLURMVF9PQkpESVI9XCIubGli
cy9cIiAtSS4gLUkvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29s
LTIuNC4yL3Rlc3RzL2RlbW8gLUkvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4x
MS9saWJ0b29sLTIuNC4yL3Rlc3RzL2RlbW8vLi4vLi4gLWcgLU8yIC1jIC9N
aW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMv
ZGVtby9oZWxsby5jIC1vIGhlbGxvLm8KL2Jpbi9zaCAuL2xpYnRvb2wgLS10
YWc9Q0MgICAtLW1vZGU9Y29tcGlsZSBnY2MgLURQQUNLQUdFX05BTUU9XCJk
ZW1vXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZW1vXCIgLURQQUNLQUdFX1ZF
UlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVtb1wgMS4wXCIg
LURQQUNLQUdFX0JVR1JFUE9SVD1cImJ1Zy1saWJ0b29sQGdudS5vcmdcIiAt
RFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVtb1wiIC1EVkVSU0lP
Tj1cIjEuMFwiIC1EU1REQ19IRUFERVJTPTEgLURIQVZFX1NZU19UWVBFU19I
PTEgLURIQVZFX1NZU19TVEFUX0g9MSAtREhBVkVfU1RETElCX0g9MSAtREhB
VkVfU1RSSU5HX0g9MSAtREhBVkVfTUVNT1JZX0g9MSAtREhBVkVfU1RSSU5H
U19IPTEgLURIQVZFX0lOVFRZUEVTX0g9MSAtREhBVkVfU1RESU5UX0g9MSAt
REhBVkVfVU5JU1REX0g9MSAtRExUX09CSkRJUj1cIi5saWJzL1wiIC1JLiAt
SS9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVz
dHMvZGVtbyAgLUkvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29s
LTIuNC4yL3Rlc3RzL2RlbW8vLi4vLi4gICAtZyAtTzIgLWMgLW8gZm9vLmxv
IC9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVz
dHMvZGVtby9mb28uYwpsaWJ0b29sOiBjb21waWxlOiAgZ2NjIC1EUEFDS0FH
RV9OQU1FPVwiZGVtb1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVtb1wiIC1E
UEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgIi1EUEFDS0FHRV9TVFJJTkc9XCJk
ZW1vIDEuMFwiIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiYnVnLWxpYnRvb2xA
Z251Lm9yZ1wiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZW1v
XCIgLURWRVJTSU9OPVwiMS4wXCIgLURTVERDX0hFQURFUlM9MSAtREhBVkVf
U1lTX1RZUEVTX0g9MSAtREhBVkVfU1lTX1NUQVRfSD0xIC1ESEFWRV9TVERM
SUJfSD0xIC1ESEFWRV9TVFJJTkdfSD0xIC1ESEFWRV9NRU1PUllfSD0xIC1E
SEFWRV9TVFJJTkdTX0g9MSAtREhBVkVfSU5UVFlQRVNfSD0xIC1ESEFWRV9T
VERJTlRfSD0xIC1ESEFWRV9VTklTVERfSD0xIC1ETFRfT0JKRElSPVwiLmxp
YnMvXCIgLUkuIC1JL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9v
bC0yLjQuMi90ZXN0cy9kZW1vIC1JL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEu
MTEvbGlidG9vbC0yLjQuMi90ZXN0cy9kZW1vLy4uLy4uIC1nIC1PMiAtYyAv
TWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3Rz
L2RlbW8vZm9vLmMgLW8gZm9vLm8KL2Jpbi9zaCAuL2xpYnRvb2wgLS10YWc9
Q0MgICAtLW1vZGU9bGluayBnY2MgIC1nIC1PMiAtbm8tdW5kZWZpbmVkIC12
ZXJzaW9uLWluZm8gMzoxMjoxICAtbyBsaWJoZWxsby5sYSAtcnBhdGggL25v
bmV4aXN0ZW50L2xpYiBoZWxsby5sbyBmb28ubG8gLWxtIApsaWJ0b29sOiBs
aW5rOiBhciBjcnUgLmxpYnMvbGliaGVsbG8uYSAgaGVsbG8ubyBmb28ubwps
aWJ0b29sOiBsaW5rOiByYW5saWIgLmxpYnMvbGliaGVsbG8uYQpsaWJ0b29s
OiBsaW5rOiAoIGNkICIubGlicyIgJiYgcm0gLWYgImxpYmhlbGxvLmxhIiAm
JiBjcCAtcCAiLi4vbGliaGVsbG8ubGEiICJsaWJoZWxsby5sYSIgKQpnY2Mg
LURQQUNLQUdFX05BTUU9XCJkZW1vXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJk
ZW1vXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RS
SU5HPVwiZGVtb1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cImJ1Zy1s
aWJ0b29sQGdudS5vcmdcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdF
PVwiZGVtb1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1EU1REQ19IRUFERVJTPTEg
LURIQVZFX1NZU19UWVBFU19IPTEgLURIQVZFX1NZU19TVEFUX0g9MSAtREhB
VkVfU1RETElCX0g9MSAtREhBVkVfU1RSSU5HX0g9MSAtREhBVkVfTUVNT1JZ
X0g9MSAtREhBVkVfU1RSSU5HU19IPTEgLURIQVZFX0lOVFRZUEVTX0g9MSAt
REhBVkVfU1RESU5UX0g9MSAtREhBVkVfVU5JU1REX0g9MSAtRExUX09CSkRJ
Uj1cIi5saWJzL1wiIC1JLiAtSS9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjEx
L2xpYnRvb2wtMi40LjIvdGVzdHMvZGVtbyAgLUkvTWluR1cvc2hhcmUvYXV0
b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2RlbW8vLi4vLi4gICAt
ZyAtTzIgLWMgL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0y
LjQuMi90ZXN0cy9kZW1vL21haW4uYwovYmluL3NoIC4vbGlidG9vbCAtLXRh
Zz1DQyAgIC0tbW9kZT1saW5rIGdjYyAgLWcgLU8yICAgLW8gaGVsbC5leGUg
bWFpbi5vIGxpYmhlbGxvLmxhIApsaWJ0b29sOiBsaW5rOiBnY2MgLWcgLU8y
IC1vIGhlbGwuZXhlIG1haW4ubyAgLi8ubGlicy9saWJoZWxsby5hCi9iaW4v
c2ggLi9saWJ0b29sIC0tdGFnPUNDICAgLS1tb2RlPWxpbmsgZ2NjICAtZyAt
TzIgLXN0YXRpYyAgLW8gaGVsbF9zdGF0aWMuZXhlIG1haW4ubyBsaWJoZWxs
by5sYSAKbGlidG9vbDogbGluazogZ2NjIC1nIC1PMiAtbyBoZWxsX3N0YXRp
Yy5leGUgbWFpbi5vICAuLy5saWJzL2xpYmhlbGxvLmEKZ2NjIC1EUEFDS0FH
RV9OQU1FPVwiZGVtb1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVtb1wiIC1E
UEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRl
bW9cIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJidWctbGlidG9vbEBn
bnUub3JnXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlbW9c
IiAtRFZFUlNJT049XCIxLjBcIiAtRFNURENfSEVBREVSUz0xIC1ESEFWRV9T
WVNfVFlQRVNfSD0xIC1ESEFWRV9TWVNfU1RBVF9IPTEgLURIQVZFX1NURExJ
Ql9IPTEgLURIQVZFX1NUUklOR19IPTEgLURIQVZFX01FTU9SWV9IPTEgLURI
QVZFX1NUUklOR1NfSD0xIC1ESEFWRV9JTlRUWVBFU19IPTEgLURIQVZFX1NU
RElOVF9IPTEgLURIQVZFX1VOSVNURF9IPTEgLURMVF9PQkpESVI9XCIubGli
cy9cIiAtSS4gLUkvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29s
LTIuNC4yL3Rlc3RzL2RlbW8gIC1JL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEu
MTEvbGlidG9vbC0yLjQuMi90ZXN0cy9kZW1vLy4uLy4uICAgLWcgLU8yIC1j
IC9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVz
dHMvZGVtby9kbG1haW4uYwovYmluL3NoIC4vbGlidG9vbCAtLXRhZz1DQyAg
IC0tbW9kZT1saW5rIGdjYyAgLWcgLU8yIC1leHBvcnQtZHluYW1pYyAtZGxw
cmVvcGVuIGxpYmhlbGxvLmxhICAtbyBoZWxsZGwuZXhlIGRsbWFpbi5vICAK
bGlidG9vbDogbGluazogcm0gLWYgLmxpYnMvaGVsbGRsLmV4ZS5ubSAubGli
cy9oZWxsZGwuZXhlLm5tUyAubGlicy9oZWxsZGwuZXhlLm5tVApsaWJ0b29s
OiBsaW5rOiAoY2QgLmxpYnMgJiYgZ2NjIC1nIC1PMiAtYyAtZm5vLWJ1aWx0
aW4gImhlbGxkbC5leGVTLmMiKQpsaWJ0b29sOiBsaW5rOiBybSAtZiAiLmxp
YnMvaGVsbGRsLmV4ZVMuYyIgIi5saWJzL2hlbGxkbC5leGUubm0iICIubGli
cy9oZWxsZGwuZXhlLm5tUyIgIi5saWJzL2hlbGxkbC5leGUubm1UIgpsaWJ0
b29sOiBsaW5rOiBnY2MgLWcgLU8yIC5saWJzL2hlbGxkbC5leGVTLm8gLW8g
aGVsbGRsLmV4ZSBkbG1haW4ubyAtV2wsLS1leHBvcnQtYWxsLXN5bWJvbHMg
IC4vLmxpYnMvbGliaGVsbG8uYQpsaWJ0b29sOiBsaW5rOiBybSAtZiAiLmxp
YnMvaGVsbGRsLmV4ZVMubyIKL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEv
bGlidG9vbC0yLjQuMi90ZXN0cy93aXRoLXBpYy5hdDo0MDogJEZHUkVQICIk
cGljX2ZsYWciIHN0ZG91dApzdGRlcnI6CnN0ZG91dDoKL01pbkdXL3NoYXJl
L2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy93aXRoLXBpYy5h
dDo0MDogZXhpdCBjb2RlIHdhcyAxLCBleHBlY3RlZCAwCjEwNy4gd2l0aC1w
aWMuYXQ6MjQ6IDEwNy4gdGVzdCAtLXdpdGgtcGljICh3aXRoLXBpYy5hdDoy
NCk6IEZBSUxFRCAod2l0aC1waWMuYXQ6NDApCg==

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

IyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIGNvbXBpbGF0aW9u
IC0qLQoxMTUuIGNtZGxpbmVfd3JhcC5hdDoyODogdGVzdGluZyBSdW4gdGVz
dHMgd2l0aCBsb3cgbWF4X2NtZF9sZW4gLi4uCi9NaW5HVy9zaGFyZS9hdXRv
bWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvY21kbGluZV93cmFwLmF0
OjQzOiAkQ09ORklHX1NIRUxMICRhYnNfc3JjZGlyL3Rlc3RzdWl0ZSAtayBs
aWJ0b29sJElOTkVSX1RFU1RTVUlURUZMQUdTCnN0ZGVycjoKRVJST1I6IDQw
IHRlc3RzIHdlcmUgcnVuLAo1IGZhaWxlZCAoNCBleHBlY3RlZCBmYWlsdXJl
cykuCjE1IHRlc3RzIHdlcmUgc2tpcHBlZC4Kc3Rkb3V0OgojIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBHTlUgTGlidG9vbCAyLjQu
MiB0ZXN0IHN1aXRlLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSAjIwoKVGVzdGluZyBsaWJ0b29sIGZ1bmN0aW9ucy4KCiAyMTogc3Rh
bmRhcmQgY29tbWFuZCBsaW5lIG9wdGlvbnMgICAgICAgICAgICAgICAgICAg
b2sKIDI0OiBkdXBsaWNhdGUgbWVtYmVycyBpbiBhcmNoaXZlIHRlc3RzICAg
ICAgICAgICAgICBvawogMjU6IGR1cGxpY2F0ZSBjb252ZW5pZW5jZSBhcmNo
aXZlIG5hbWVzICAgICAgICAgICAgIG9rCiAyNjogcHJlc2VydmUgZHVwbGlj
YXRlIGNvbnZlbmllbmNlIGRlcHMgICAgICAgICAgICAgZXhwZWN0ZWQgZmFp
bHVyZSAoZHVwbGljYXRlX2RlcHMuYXQ6NzIpCiAyNzogcGFzc2luZyBDQyBm
bGFncyB0aHJvdWdoIGxpYnRvb2wgICAgICAgICAgICAgICAgb2sKIDI4OiBw
YXNzaW5nIENYWCBmbGFncyB0aHJvdWdoIGxpYnRvb2wgICAgICAgICAgICAg
ICBvawogMjk6IHBhc3NpbmcgRjc3IGZsYWdzIHRocm91Z2ggbGlidG9vbCAg
ICAgICAgICAgICAgIHNraXBwZWQgKGZsYWdzLmF0OjI0KQogMzA6IHBhc3Np
bmcgRkMgZmxhZ3MgdGhyb3VnaCBsaWJ0b29sICAgICAgICAgICAgICAgIHNr
aXBwZWQgKGZsYWdzLmF0OjI0KQogMzE6IHBhc3NpbmcgR0NKIGZsYWdzIHRo
cm91Z2ggbGlidG9vbCAgICAgICAgICAgICAgIHNraXBwZWQgKGZsYWdzLmF0
OjI0KQogMzI6IGluaGVyaXRlZF9saW5rZXJfZmxhZ3MgICAgICAgICAgICAg
ICAgICAgICAgICAgIG9rCiAzMzogQyBjb252ZW5pZW5jZSBhcmNoaXZlcyAg
ICAgICAgICAgICAgICAgICAgICAgICAgb2sKIDM0OiBDKysgY29udmVuaWVu
Y2UgYXJjaGl2ZXMgICAgICAgICAgICAgICAgICAgICAgICBvawogMzU6IEY3
NyBjb252ZW5pZW5jZSBhcmNoaXZlcyAgICAgICAgICAgICAgICAgICAgICAg
IHNraXBwZWQgKGNvbnZlbmllbmNlLmF0OjExMSkKIDM2OiBGQyBjb252ZW5p
ZW5jZSBhcmNoaXZlcyAgICAgICAgICAgICAgICAgICAgICAgICBza2lwcGVk
IChjb252ZW5pZW5jZS5hdDoxNzEpCiAzNzogSmF2YSBjb252ZW5pZW5jZSBh
cmNoaXZlcyAgICAgICAgICAgICAgICAgICAgICAgc2tpcHBlZCAoY29udmVu
aWVuY2UuYXQ6MjMxKQogMzg6IExpbmsgb3JkZXIgdGVzdCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9rCiAzOTogTGluayBvcmRlciBvZiBk
ZXBsaWJzICAgICAgICAgICAgICAgICAgICAgICAgICAgb2sKIDQwOiBGYWls
dXJlIHRlc3RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBv
awogNDE6IHNobGlicGF0aF9vdmVycmlkZXNfcnVucGF0aCAgICAgICAgICAg
ICAgICAgICAgIHNraXBwZWQgKHNobGlicGF0aC5hdDo1NCkKIDQyOiBSdW5w
YXRoIGluIGxpYnRvb2wgbGlicmFyeSBmaWxlcyAgICAgICAgICAgICAgICBv
awogNDM6IHN0YXRpYyBsaW5raW5nIGZsYWdzIGZvciBwcm9ncmFtcyAgICAg
ICAgICAgICAgIG9rCiA0NTogRXhwb3J0IHRlc3QgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgb2sKIDQ2OiBzeXNfbGliX3NlYXJjaF9w
YXRoICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwcGVkIChzZWFy
Y2gtcGF0aC5hdDo1NikKIDQ3OiBzeXNfbGliX3NlYXJjaF9wYXRoIG9uIHcz
MiAgICAgICAgICAgICAgICAgICAgICBvawogNDg6IGluZGlyZWN0IGNvbnZl
bmllbmNlICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9rCiA0OTogaW5k
aXJlY3QgdW5pbnN0YWxsZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAg
b2sKIDUwOiBzdGF0aWMgbGlicmFyeSBjb250YWlucyBzdGF0aWMgbGlicmFy
eSAgICAgICAgICBleHBlY3RlZCBmYWlsdXJlIChhcmNoaXZlLWluLWFyY2hp
dmUuYXQ6NTYpCiA1MTogYm90aCBvZiAtbyBwcm9nIGFuZCAtbyBwcm9nJEVY
RUVYVCB3b3JrICAgICAgICAgb2sKIDUyOiBleGVjdXRlIG1vZGUgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvawogNTU6IGN3cmFwcGVy
IGZvciB1bmluc3RhbGxlZCBleGVjdXRhYmxlcyAgICAgICAgICAgIEZBSUxF
RCAoY3dyYXBwZXIuYXQ6NzkpCiA1NzogY3dyYXBwZXIgYW5kIGluc3RhbGxl
ZCBzaGFyZWQgbGlicmFyaWVzICAgICAgICAgb2sKIDU4OiBkZXBsaWIgaW4g
c3ViZGlyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvawogNTk6
IGluZmVycmVkIHRhZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG9rCiA2MDogQ1hYIGluZmVycmVkIHRhZyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgb2sKIDYxOiBGNzcgaW5mZXJyZWQgdGFnICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwcGVkIChpbmZlci10YWcu
YXQ6NTYpCiA2MjogRkMgaW5mZXJyZWQgdGFnICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2tpcHBlZCAoaW5mZXItdGFnLmF0OjcwKQogNjM6
IEdDSiBpbmZlcnJlZCB0YWcgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNraXBwZWQgKGluZmVyLXRhZy5hdDo4NCkKIDY0OiBsb2NhbGl6ZWQg
Y29tcGlsZXIgbWVzc2FnZXMgICAgICAgICAgICAgICAgICAgICBvawogNjU6
IG5vY2FzZSBsaWJyYXJ5IHNlYXJjaCAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG9rCiA2NjogSW5zdGFsbCB0ZXN0cyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgb2sKIDY3OiB2ZXJzaW9uaW5nICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBvawoKREVTVERJUiB0ZXN0cwoK
IDY4OiBTaW1wbGUgREVTVERJUiBpbnN0YWxsICAgICAgICAgICAgICAgICAg
ICAgICAgICBvawogNjk6IERFU1RESVIgd2l0aCBpbi1wYWNrYWdlIGRlcGxp
YnMgICAgICAgICAgICAgICAgIG9rCgpMaWJsdGRsIGZ1bmN0aW9uYWxpdHku
CgogODM6IHN5bnRheCBvZiAubGEgZmlsZXMgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGV4cGVjdGVkIGZhaWx1cmUgKGxhbGliLXN5bnRheC5hdDox
MzMpCiA4NjogZW5mb3JjZWQgbGliIHByZWZpeCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgb2sKCkMrKyB0ZW1wbGF0ZSB0ZXN0cy4KCjEwMTogc2lt
cGxlIHRlbXBsYXRlIHRlc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAg
b2sKMTAyOiB0ZW1wbGF0ZSB0ZXN0IHdpdGggc3ViZGlycyAgICAgICAgICAg
ICAgICAgICAgICBvawoKQ29uc3RydWN0b3JzLgoKMTAzOiBDKysgc3RhdGlj
IGNvbnN0cnVjdG9ycyAgICAgICAgICAgICAgICAgICAgICAgICBvawoxMDQ6
IEMrKyBleGNlcHRpb24gaGFuZGxpbmcgICAgICAgICAgICAgICAgICAgICAg
ICAgIG9rCgpEZXRlY3RpbmcgaWRlbnRpY2FsIGRlcGxpYnMuCgoxMDk6IGJ1
aWxkIHRyZWUgcmVscGF0aHMgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGV4cGVjdGVkIGZhaWx1cmUgKGRlcGxpYnMtaWRlbnQuYXQ6NjgpCgpMaWJ0
b29sIHN0cmVzcyB0ZXN0LgoKMTE0OiBMaW5rIG9wdGlvbiB0aG9yb3VnaCBz
ZWFyY2ggdGVzdCAgICAgICAgICAgICAgICBvawoKV2luZG93cyB0ZXN0cy4K
CjEyMzogZGVwbGlicyB3aXRob3V0IGZpbGUgY29tbWFuZCAgICAgICAgICAg
ICAgICAgICAgc2tpcHBlZCAoZGVwbGlicy1taW5ndy5hdDo3OSkKCnN5c3Jv
b3QgdGVzdHMKCjEyNDogLUw9Li4uL2xpYiAtbCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2tpcHBlZCAoc3lzcm9vdC5hdDoyMDMpCjEy
NTogLUwgU1lTUk9PVC8uLi4vbGliIC1sICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2tpcHBlZCAoc3lzcm9vdC5hdDoyMDQpCjEyNjogU1lTUk9PVC8u
Li4vKi5sYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcHBl
ZCAoc3lzcm9vdC5hdDoyMDUpCgojIyAtLS0tLS0tLS0tLS0tICMjCiMjIFRl
c3QgcmVzdWx0cy4gIyMKIyMgLS0tLS0tLS0tLS0tLSAjIwoKIyMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgdGVzdHN1aXRlLmxvZyB3YXMg
Y3JlYXRlZC4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMK
ClBsZWFzZSBzZW5kIGB0ZXN0c3VpdGUubG9nJyBhbmQgYWxsIGluZm9ybWF0
aW9uIHlvdSB0aGluayBtaWdodCBoZWxwOgoKICAgVG86IDxidWctbGlidG9v
bEBnbnUub3JnPgogICBTdWJqZWN0OiBbR05VIExpYnRvb2wgMi40LjJdIHRl
c3RzdWl0ZTogNTUgZmFpbGVkCgpZb3UgbWF5IGludmVzdGlnYXRlIGFueSBw
cm9ibGVtIGlmIHlvdSBmZWVsIGFibGUgdG8gZG8gc28sIGluIHdoaWNoCmNh
c2UgdGhlIHRlc3Qgc3VpdGUgcHJvdmlkZXMgYSBnb29kIHN0YXJ0aW5nIHBv
aW50LiAgSXRzIG91dHB1dCBtYXkKYmUgZm91bmQgYmVsb3cgYHRlc3RzdWl0
ZS5kaXInLgoKL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0y
LjQuMi90ZXN0cy9jbWRsaW5lX3dyYXAuYXQ6NDM6IGV4aXQgY29kZSB3YXMg
MSwgZXhwZWN0ZWQgMAp0ZXN0c3VpdGUubG9nOgo+ICMjIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tICMjCj4gIyMgR05VIExpYnRvb2wgMi40LjIg
dGVzdCBzdWl0ZS4gIyMKPiAjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSAjIwo+IAo+IHRlc3RzdWl0ZTogY29tbWFuZCBsaW5lIHdhczoKPiAg
ICQgL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90
ZXN0cy90ZXN0c3VpdGUgLWsgbGlidG9vbCBhYnNfdG9wX3NyY2Rpcj0vTWlu
R1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yIGFic19idWls
ZGRpcj0vbWluZ3cvbGlidG9vbC1idWlsZC1kdWUtdG8tR05VL3Rlc3RzCj4g
Cj4gIyMgLS0tLS0tLS0tICMjCj4gIyMgUGxhdGZvcm0uICMjCj4gIyMgLS0t
LS0tLS0tICMjCj4gCj4gaG9zdG5hbWUgPSB0aWxsCj4gdW5hbWUgLW0gPSBp
Njg2Cj4gdW5hbWUgLXIgPSAxLjAuMTgoMC40OC8zLzIpCj4gdW5hbWUgLXMg
PSBNSU5HVzMyX05ULTYuMQo+IHVuYW1lIC12ID0gMjAxMi0xMS0yMSAyMjoz
NAo+IAo+IC91c3IvYmluL3VuYW1lIC1wID0gdW5rbm93bgo+IC9iaW4vdW5h
bWUgLVggICAgID0gdW5rbm93bgo+IAo+IC9iaW4vYXJjaCAgICAgICAgICAg
ICAgPSB1bmtub3duCj4gL3Vzci9iaW4vYXJjaCAtayAgICAgICA9IHVua25v
d24KPiAvdXNyL2NvbnZleC9nZXRzeXNpbmZvID0gdW5rbm93bgo+IC91c3Iv
YmluL2hvc3RpbmZvICAgICAgPSB1bmtub3duCj4gL2Jpbi9tYWNoaW5lICAg
ICAgICAgICA9IHVua25vd24KPiAvdXNyL2Jpbi9vc2xldmVsICAgICAgID0g
dW5rbm93bgo+IC9iaW4vdW5pdmVyc2UgICAgICAgICAgPSB1bmtub3duCj4g
Cj4gUEFUSDogL21pbmd3L2xpYnRvb2wtYnVpbGQtZHVlLXRvLUdOVS90ZXN0
cwo+IFBBVEg6IC9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wt
Mi40LjIvdGVzdHMKPiBQQVRIOiAvbWluZ3cvbGlidG9vbC1idWlsZC1kdWUt
dG8tR05VCj4gUEFUSDogL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGli
dG9vbC0yLjQuMi8uCj4gUEFUSDogL21pbmd3L2Jpbgo+IFBBVEg6IC9iaW4K
PiBQQVRIOiAvYy9XaW5kb3dzL3N5c3RlbTMyCj4gUEFUSDogL2MvV2luZG93
cwo+IFBBVEg6IC9jL1dpbmRvd3MvU3lzdGVtMzIvV2JlbQo+IFBBVEg6IC9j
L1dpbmRvd3MvU3lzdGVtMzIvV2luZG93c1Bvd2VyU2hlbGwvdjEuMC8KPiBQ
QVRIOiAvYy9Qcm9ncmFtIEZpbGVzICh4ODYpL01pY3Jvc29mdCBTUUwgU2Vy
dmVyLzEwMC9Ub29scy9CaW5uLwo+IFBBVEg6IC9jL1Byb2dyYW0gRmlsZXMv
TWljcm9zb2Z0IFNRTCBTZXJ2ZXIvMTAwL1Rvb2xzL0Jpbm4vCj4gUEFUSDog
L2MvUHJvZ3JhbSBGaWxlcy9NaWNyb3NvZnQgU1FMIFNlcnZlci8xMDAvRFRT
L0Jpbm4vCj4gUEFUSDogL2MvQkM1L0JJTgo+IAo+ICMjIC0tLS0tLS0tLS0t
LS0tLS0gIyMKPiAjIyBUZXN0ZWQgcHJvZ3JhbXMuICMjCj4gIyMgLS0tLS0t
LS0tLS0tLS0tLSAjIwo+IAo+ICMjIC0tLS0tLS0tLS0tLS0tLS0tLSAjIwo+
ICMjIFJ1bm5pbmcgdGhlIHRlc3RzLiAjIwo+ICMjIC0tLS0tLS0tLS0tLS0t
LS0tLSAjIwo+IHRlc3RzdWl0ZTogc3RhcnRpbmcgYXQ6IFNhdCBOb3YgIDkg
MjA6NTM6MTMgICAgIDIwMTMKPiAyMS4gc3RhbmRhcmQgY29tbWFuZCBsaW5l
IG9wdGlvbnMgKGhlbHAuYXQ6MjYpOiBvayAgICAgKDBtNS4zMDFzIDBtMTQu
NTEycykKPiAyNC4gZHVwbGljYXRlIG1lbWJlcnMgaW4gYXJjaGl2ZSB0ZXN0
cyAoZHVwbGljYXRlX21lbWJlcnMuYXQ6MjUpOiBvayAgICAgKDBtOS43Mzlz
IDBtMzkuNDEwcykKPiAyNS4gZHVwbGljYXRlIGNvbnZlbmllbmNlIGFyY2hp
dmUgbmFtZXMgKGR1cGxpY2F0ZV9jb252LmF0OjI1KTogb2sgICAgICgwbTIw
LjI3NHMgMW0yMS45NzFzKQo+IDI3LiBwYXNzaW5nIENDIGZsYWdzIHRocm91
Z2ggbGlidG9vbCAoZmxhZ3MuYXQ6MjQpOiBvayAgICAgKDBtMTYuOTkzcyAx
bTkuMTQ4cykKPiAyOC4gcGFzc2luZyBDWFggZmxhZ3MgdGhyb3VnaCBsaWJ0
b29sIChmbGFncy5hdDoyNCk6IG9rICAgICAoMG0xOS44NDdzIDFtMTQuNTgy
cykKPiAyOS4gcGFzc2luZyBGNzcgZmxhZ3MgdGhyb3VnaCBsaWJ0b29sIChm
bGFncy5hdDoyNCk6IHNraXBwZWQgKGZsYWdzLmF0OjI0KQo+IDMwLiBwYXNz
aW5nIEZDIGZsYWdzIHRocm91Z2ggbGlidG9vbCAoZmxhZ3MuYXQ6MjQpOiBz
a2lwcGVkIChmbGFncy5hdDoyNCkKPiAzMS4gcGFzc2luZyBHQ0ogZmxhZ3Mg
dGhyb3VnaCBsaWJ0b29sIChmbGFncy5hdDoyNCk6IHNraXBwZWQgKGZsYWdz
LmF0OjI0KQo+IDMyLiBpbmhlcml0ZWRfbGlua2VyX2ZsYWdzIChpbmhlcml0
ZWRfZmxhZ3MuYXQ6MjYpOiBvayAgICAgKDBtMTQuNTg3cyAwbTU4Ljc3MnMp
Cj4gMzMuIEMgY29udmVuaWVuY2UgYXJjaGl2ZXMgKGNvbnZlbmllbmNlLmF0
OjMxKTogb2sgICAgICgwbTE4LjUwNXMgMW0xMy45MDdzKQo+IDM0LiBDKysg
Y29udmVuaWVuY2UgYXJjaGl2ZXMgKGNvbnZlbmllbmNlLmF0OjcwKTogb2sg
ICAgICgwbTIwLjI3NXMgMW0xNy43NTlzKQo+IDM1LiBGNzcgY29udmVuaWVu
Y2UgYXJjaGl2ZXMgKGNvbnZlbmllbmNlLmF0OjExMCk6IHNraXBwZWQgKGNv
bnZlbmllbmNlLmF0OjExMSkKPiAzNi4gRkMgY29udmVuaWVuY2UgYXJjaGl2
ZXMgKGNvbnZlbmllbmNlLmF0OjE3MCk6IHNraXBwZWQgKGNvbnZlbmllbmNl
LmF0OjE3MSkKPiAzNy4gSmF2YSBjb252ZW5pZW5jZSBhcmNoaXZlcyAoY29u
dmVuaWVuY2UuYXQ6MjMwKTogc2tpcHBlZCAoY29udmVuaWVuY2UuYXQ6MjMx
KQo+IDM4LiBMaW5rIG9yZGVyIHRlc3QgKGxpbmstb3JkZXIuYXQ6MjYpOiBv
ayAgICAgKDBtMjIuNjQ4cyAxbTMzLjE4M3MpCj4gMzkuIExpbmsgb3JkZXIg
b2YgZGVwbGlicyAobGluay1vcmRlcjIuYXQ6NDYpOiBvayAgICAgKDBtNDUu
MTMycyAzbTExLjAzOXMpCj4gNDAuIEZhaWx1cmUgdGVzdHMgKGZhaWwuYXQ6
MjcpOiBvayAgICAgKDBtNi41MDhzIDBtMjguMjM1cykKPiA0MS4gc2hsaWJw
YXRoX292ZXJyaWRlc19ydW5wYXRoIChzaGxpYnBhdGguYXQ6MjUpOiBza2lw
cGVkIChzaGxpYnBhdGguYXQ6NTQpCj4gNDIuIFJ1bnBhdGggaW4gbGlidG9v
bCBsaWJyYXJ5IGZpbGVzIChydW5wYXRoLWluLWxhbGliLmF0OjI1KTogb2sg
ICAgICgwbTcuMjI5cyAwbTMyLjM5N3MpCj4gNDMuIHN0YXRpYyBsaW5raW5n
IGZsYWdzIGZvciBwcm9ncmFtcyAoc3RhdGljLmF0OjY4KTogb2sgICAgICgx
bTI0LjU2NHMgNW0yNy44NTdzKQo+IDQ1LiBFeHBvcnQgdGVzdCAoZXhwb3J0
LmF0OjI1KTogb2sgICAgICgwbTMxLjE3NXMgMm00LjM0OXMpCj4gNDYuIHN5
c19saWJfc2VhcmNoX3BhdGggKHNlYXJjaC1wYXRoLmF0OjI0KTogc2tpcHBl
ZCAoc2VhcmNoLXBhdGguYXQ6NTYpCj4gNDcuIHN5c19saWJfc2VhcmNoX3Bh
dGggb24gdzMyIChzZWFyY2gtcGF0aC5hdDo2Mik6IG9rICAgICAoMG0yLjUz
MnMgMG0xMC4yNTZzKQo+IDQ4LiBpbmRpcmVjdCBjb252ZW5pZW5jZSAoaW5k
aXJlY3RfZGVwcy5hdDoyNSk6IG9rICAgICAoMG0xNi4yNzJzIDFtNS41OTRz
KQo+IDQ5LiBpbmRpcmVjdCB1bmluc3RhbGxlZCAoaW5kaXJlY3RfZGVwcy5h
dDo3MSk6IG9rICAgICAoMG0yMi40MjdzIDFtMjUuMzE4cykKPiA1MS4gYm90
aCBvZiAtbyBwcm9nIGFuZCAtbyBwcm9nJEVYRUVYVCB3b3JrIChleGVleHQu
YXQ6MjYpOiBvayAgICAgKDBtNC45MjBzIDBtMTkuODQ3cykKPiA1Mi4gZXhl
Y3V0ZSBtb2RlIChleGVjdXRlLW1vZGUuYXQ6MjUpOiBvayAgICAgKDFtOS40
NjFzIDVtNi4yNTRzKQo+IDU3LiBjd3JhcHBlciBhbmQgaW5zdGFsbGVkIHNo
YXJlZCBsaWJyYXJpZXMgKGN3cmFwcGVyLmF0OjIwMSk6IG9rICAgICAoMG0x
MS4zMDBzIDBtNDQuNjUycykKPiA1OC4gZGVwbGliIGluIHN1YmRpciAoZGVw
bGliLWluLXN1YmRpci5hdDozNCk6IG9rICAgICAoMG0zOS4wMzNzIDJtMzQu
MzUxcykKPiA1OS4gaW5mZXJyZWQgdGFnIChpbmZlci10YWcuYXQ6MzApOiBv
ayAgICAgKDBtMC41MDdzIDBtMi4xMTBzKQo+IDYwLiBDWFggaW5mZXJyZWQg
dGFnIChpbmZlci10YWcuYXQ6NDIpOiBvayAgICAgKDBtMC41OTdzIDBtMi40
MThzKQo+IDYxLiBGNzcgaW5mZXJyZWQgdGFnIChpbmZlci10YWcuYXQ6NTUp
OiBza2lwcGVkIChpbmZlci10YWcuYXQ6NTYpCj4gNjIuIEZDIGluZmVycmVk
IHRhZyAoaW5mZXItdGFnLmF0OjY5KTogc2tpcHBlZCAoaW5mZXItdGFnLmF0
OjcwKQo+IDYzLiBHQ0ogaW5mZXJyZWQgdGFnIChpbmZlci10YWcuYXQ6ODMp
OiBza2lwcGVkIChpbmZlci10YWcuYXQ6ODQpCj4gNjQuIGxvY2FsaXplZCBj
b21waWxlciBtZXNzYWdlcyAobG9jYWxpemF0aW9uLmF0OjI0KTogb2sgICAg
ICgwbTEuNTQ3cyAwbTUuMTQxcykKPiA2NS4gbm9jYXNlIGxpYnJhcnkgc2Vh
cmNoIChub2Nhc2UuYXQ6MjYpOiBvayAgICAgKDBtMTIuNjY2cyAwbTUxLjk5
NXMpCj4gNjYuIEluc3RhbGwgdGVzdHMgKGluc3RhbGwuYXQ6MjUpOiBvayAg
ICAgKDBtNi40NjNzIDBtMjUuMDkzcykKPiA2Ny4gdmVyc2lvbmluZyAodmVy
c2lvbmluZy5hdDoyNCk6IG9rICAgICAoMG01Ny4zODVzIDNtNTguMTAxcykK
PiA2OC4gU2ltcGxlIERFU1RESVIgaW5zdGFsbCAoZGVzdGRpci5hdDo0OCk6
IG9rICAgICAoMG04LjU3NnMgMG0zNC45NjRzKQo+IDY5LiBERVNURElSIHdp
dGggaW4tcGFja2FnZSBkZXBsaWJzIChkZXN0ZGlyLmF0Ojc1KTogb2sgICAg
ICgwbTI4LjIxNHMgMW01MC4zOTNzKQo+IDg2LiBlbmZvcmNlZCBsaWIgcHJl
Zml4IChuZWVkX2xpYl9wcmVmaXguYXQ6MjUpOiBvayAgICAgKDBtMTIuNDQ0
cyAwbTQ4LjIwOXMpCj4gMTAxLiBzaW1wbGUgdGVtcGxhdGUgdGVzdCAodGVt
cGxhdGUuYXQ6MjcpOiBvayAgICAgKDBtOC4yODFzIDBtMjguNzczcykKPiAx
MDIuIHRlbXBsYXRlIHRlc3Qgd2l0aCBzdWJkaXJzICh0ZW1wbGF0ZS5hdDox
MjYpOiBvayAgICAgKDBtMzMuODk3cyAybTguOTA1cykKPiAxMDMuIEMrKyBz
dGF0aWMgY29uc3RydWN0b3JzIChjdG9yLmF0OjI3KTogb2sgICAgICgwbTUu
NzQ0cyAwbTE5Ljg1MnMpCj4gMTA0LiBDKysgZXhjZXB0aW9uIGhhbmRsaW5n
IChleGNlcHRpb25zLmF0OjI0KTogb2sgICAgICgwbTE3LjcwNHMgMW04LjYy
MXMpCj4gMTE0LiBMaW5rIG9wdGlvbiB0aG9yb3VnaCBzZWFyY2ggdGVzdCAo
c3RyZXNzdGVzdC5hdDozMSk6IG9rICAgICAoNm0zLjQwN3MgMjNtMzMuODAw
cykKPiAxMjMuIGRlcGxpYnMgd2l0aG91dCBmaWxlIGNvbW1hbmQgKGRlcGxp
YnMtbWluZ3cuYXQ6MjcpOiBza2lwcGVkIChkZXBsaWJzLW1pbmd3LmF0Ojc5
KQo+IDEyNC4gLUw9Li4uL2xpYiAtbCAoc3lzcm9vdC5hdDoyMDMpOiBza2lw
cGVkIChzeXNyb290LmF0OjIwMykKPiAxMjUuIC1MIFNZU1JPT1QvLi4uL2xp
YiAtbCAoc3lzcm9vdC5hdDoyMDQpOiBza2lwcGVkIChzeXNyb290LmF0OjIw
NCkKPiAxMjYuIFNZU1JPT1QvLi4uLyoubGEgKHN5c3Jvb3QuYXQ6MjA1KTog
c2tpcHBlZCAoc3lzcm9vdC5hdDoyMDUpCj4gdGVzdHN1aXRlOiBlbmRpbmcg
YXQ6IFN1biBOb3YgMTAgMDA6MjY6MDAgICAgIDIwMTMKPiB0ZXN0c3VpdGU6
IHRlc3Qgc3VpdGUgZHVyYXRpb246IDNoIDMybSA0N3MKPiAKPiAjIyAtLS0t
LS0tLS0tLS0tICMjCj4gIyMgVGVzdCByZXN1bHRzLiAjIwo+ICMjIC0tLS0t
LS0tLS0tLS0gIyMKPiAKPiBFUlJPUjogNDAgdGVzdHMgd2VyZSBydW4sCj4g
NSBmYWlsZWQgKDQgZXhwZWN0ZWQgZmFpbHVyZXMpLgo+IDE1IHRlc3RzIHdl
cmUgc2tpcHBlZC4KPiAKPiAjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g
IyMKPiAjIyBTdW1tYXJ5IG9mIHRoZSBmYWlsdXJlcy4gIyMKPiAjIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKPiBGYWlsZWQgdGVzdHM6Cj4gR05V
IExpYnRvb2wgMi40LjIgdGVzdCBzdWl0ZSB0ZXN0IGdyb3VwczoKPiAKPiAg
TlVNOiBGSUxFLU5BTUU6TElORSAgICAgVEVTVC1HUk9VUC1OQU1FCj4gICAg
ICAgS0VZV09SRFMKPiAKPiAgIDU1OiBjd3JhcHBlci5hdDoyNSAgICAgY3dy
YXBwZXIgZm9yIHVuaW5zdGFsbGVkIGV4ZWN1dGFibGVzCj4gICAgICAgbGli
dG9vbAo+IAo+IFNraXBwZWQgdGVzdHM6Cj4gR05VIExpYnRvb2wgMi40LjIg
dGVzdCBzdWl0ZSB0ZXN0IGdyb3VwczoKPiAKPiAgTlVNOiBGSUxFLU5BTUU6
TElORSAgICAgVEVTVC1HUk9VUC1OQU1FCj4gICAgICAgS0VZV09SRFMKPiAK
PiAgIDI5OiBmbGFncy5hdDoyNCAgICAgICAgcGFzc2luZyBGNzcgZmxhZ3Mg
dGhyb3VnaCBsaWJ0b29sCj4gICAgICAgbGlidG9vbCBmNzcKPiAgIDMwOiBm
bGFncy5hdDoyNCAgICAgICAgcGFzc2luZyBGQyBmbGFncyB0aHJvdWdoIGxp
YnRvb2wKPiAgICAgICBsaWJ0b29sIGZjCj4gICAzMTogZmxhZ3MuYXQ6MjQg
ICAgICAgIHBhc3NpbmcgR0NKIGZsYWdzIHRocm91Z2ggbGlidG9vbAo+ICAg
ICAgIGxpYnRvb2wgZ2NqCj4gICAzNTogY29udmVuaWVuY2UuYXQ6MTEwIEY3
NyBjb252ZW5pZW5jZSBhcmNoaXZlcwo+ICAgICAgIGY3NyBsaWJ0b29sCj4g
ICAzNjogY29udmVuaWVuY2UuYXQ6MTcwIEZDIGNvbnZlbmllbmNlIGFyY2hp
dmVzCj4gICAgICAgZmMgbGlidG9vbAo+ICAgMzc6IGNvbnZlbmllbmNlLmF0
OjIzMCBKYXZhIGNvbnZlbmllbmNlIGFyY2hpdmVzCj4gICAgICAgZ2NqIGxp
YnRvb2wKPiAgIDQxOiBzaGxpYnBhdGguYXQ6MjUgICAgc2hsaWJwYXRoX292
ZXJyaWRlc19ydW5wYXRoCj4gICAgICAgbGlidG9vbAo+ICAgNDY6IHNlYXJj
aC1wYXRoLmF0OjI0ICBzeXNfbGliX3NlYXJjaF9wYXRoCj4gICAgICAgbGli
dG9vbAo+ICAgNjE6IGluZmVyLXRhZy5hdDo1NSAgICBGNzcgaW5mZXJyZWQg
dGFnCj4gICAgICAgZjc3IGxpYnRvb2wKPiAgIDYyOiBpbmZlci10YWcuYXQ6
NjkgICAgRkMgaW5mZXJyZWQgdGFnCj4gICAgICAgZmMgbGlidG9vbAo+ICAg
NjM6IGluZmVyLXRhZy5hdDo4MyAgICBHQ0ogaW5mZXJyZWQgdGFnCj4gICAg
ICAgZ2NqIGxpYnRvb2wKPiAgMTIzOiBkZXBsaWJzLW1pbmd3LmF0OjI3IGRl
cGxpYnMgd2l0aG91dCBmaWxlIGNvbW1hbmQKPiAgICAgICBsaWJ0b29sCj4g
IDEyNDogc3lzcm9vdC5hdDoyMDMgICAgIC1MPS4uLi9saWIgLWwKPiAgICAg
ICBsaWJ0b29sIHN5c3Jvb3QgbGlidG9vbGl6ZSBhdXRvbWFrZSBhdXRvY29u
Zgo+ICAxMjU6IHN5c3Jvb3QuYXQ6MjA0ICAgICAtTCBTWVNST09ULy4uLi9s
aWIgLWwKPiAgICAgICBsaWJ0b29sIHN5c3Jvb3QgbGlidG9vbGl6ZSBhdXRv
bWFrZSBhdXRvY29uZgo+ICAxMjY6IHN5c3Jvb3QuYXQ6MjA1ICAgICBTWVNS
T09ULy4uLi8qLmxhCj4gICAgICAgbGlidG9vbCBzeXNyb290IGxpYnRvb2xp
emUgYXV0b21ha2UgYXV0b2NvbmYKPiAKPiAjIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tICMjCj4gIyMgRGV0YWlsZWQgZmFpbGVkIHRlc3RzLiAjIwo+ICMj
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKPiAKPiAjICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAtKi0gY29tcGlsYXRpb24gLSotCj4gNTUuIGN3
cmFwcGVyLmF0OjI1OiB0ZXN0aW5nIGN3cmFwcGVyIGZvciB1bmluc3RhbGxl
ZCBleGVjdXRhYmxlcyAuLi4KPiAvY3dyYXBwZXIuYXQ6Mjk6ICRMSUJUT09M
IC0tZmVhdHVyZXMgfCBncmVwICdkaXNhYmxlIHNoYXJlZCBsaWJyYXJpZXMn
ICYmIGV4aXQgNzcKPiBzdGRvdXQ6Cj4gbGlidG9vbDogY29tcGlsZTogIGdj
YyAtZyAtTzIgLVdhbGwgLVdlcnJvciB0cml2aWFsLmMgIC1ERExMX0VYUE9S
VCAtRFBJQyAtbyAubGlicy90cml2aWFsLm8KPiBsaWJ0b29sOiBjb21waWxl
OiAgZ2NjIC1nIC1PMiAtV2FsbCAtV2Vycm9yIHRyaXZpYWwuYyAtbyB0cml2
aWFsLm8gPi9kZXYvbnVsbCAyPiYxCj4gL2N3cmFwcGVyLmF0OjY5OiAkTElC
VE9PTCAtLW1vZGU9Y29tcGlsZSAkQ0MgJENQUEZMQUdTICRDRkxBR1MgLWMg
bGliYS5jCj4gc3RkZXJyOgo+IHN0ZG91dDoKPiBsaWJ0b29sOiBjb21waWxl
OiAgZ2NjIC1nIC1PMiAtV2FsbCAtV2Vycm9yIC1jIGxpYmEuYyAgLURETExf
RVhQT1JUIC1EUElDIC1vIC5saWJzL2xpYmEubwo+IGxpYnRvb2w6IGNvbXBp
bGU6ICBnY2MgLWcgLU8yIC1XYWxsIC1XZXJyb3IgLWMgbGliYS5jIC1vIGxp
YmEubyA+L2Rldi9udWxsIDI+JjEKPiAvY3dyYXBwZXIuYXQ6NzE6ICRMSUJU
T09MIC0tbW9kZT1saW5rICRDQyAkQ0ZMQUdTICRMREZMQUdTIC12ZXJzaW9u
LWluZm89MC4wLjAgLW5vLXVuZGVmaW5lZCAtbyBsaWJhLmxhIC1ycGF0aCAv
Zm9vIGxpYmEubG8KPiBzdGRlcnI6Cj4gc3Rkb3V0Ogo+IGxpYnRvb2w6IGxp
bms6IGdjYyAtc2hhcmVkIC5saWJzXFxsaWJhLmxhLmxua3NjcmlwdCAgIC1P
MiAgIC1vIC5saWJzL2xpYmEtMC5kbGwgLVdsLC0tZW5hYmxlLWF1dG8taW1h
Z2UtYmFzZSAtWGxpbmtlciAtLW91dC1pbXBsaWIgLVhsaW5rZXIgLmxpYnMv
bGliYS5kbGwuYQo+IGxpYnRvb2w6IGxpbms6IHJtIC1mIC5saWJzL2xpYmEu
bGEubG5rc2NyaXB0Cj4gbGlidG9vbDogbGluazogYXIgY3J1IC5saWJzL2xp
YmEuYSBALmxpYnNcXGxpYmEubGliY21kCj4gbGlidG9vbDogbGluazogcmFu
bGliIC5saWJzL2xpYmEuYQo+IGxpYnRvb2w6IGxpbms6ICggY2QgIi5saWJz
IiAmJiBybSAtZiAibGliYS5sYSIgJiYgY3AgLXAgIi4uL2xpYmEubGEiICJs
aWJhLmxhIiApCj4gL2N3cmFwcGVyLmF0OjczOiB0ZXN0IC1mIGxpYmEubGEK
PiAvY3dyYXBwZXIuYXQ6NzU6ICRDQyAkQ1BQRkxBR1MgJENGTEFHUyAtYyB1
c2VhLmMKPiBzdGRlcnI6Cj4gc3Rkb3V0Ogo+IC9jd3JhcHBlci5hdDo3Nzog
JExJQlRPT0wgLS1tb2RlPWxpbmsgJENDICRDRkxBR1MgJExERkxBR1MgLW8g
dXNlYSRFWEVFWFQgdXNlYS4kT0JKRVhUIGxpYmEubGEKPiBzdGRlcnI6Cj4g
c3Rkb3V0Ogo+IGxpYnRvb2w6IGxpbms6IGdjYyAtZyAtTzIgLVdhbGwgLVdl
cnJvciAtbyAubGlicy91c2VhLmV4ZSB1c2VhLm8gIC4vLmxpYnMvbGliYS5k
bGwuYSAtTC9mb28KPiAvY3dyYXBwZXIuYXQ6Nzk6IGlmICIkbHRfZXhlIiA7
IHRoZW4gOjsgZWxzZSBsdF9zdGF0dXM9JD87IAkgICB0ZXN0ICRsdF9zdGF0
dXMgIT0gMCAmJiAJICAgdGVzdCAiWCRob3N0IiAhPSAiWCRidWlsZCIgJiYg
dGVzdCAteCAiJGx0X2V4ZSIgJiYgZXhpdCA3NzsgCSAgIGV4aXQgJGx0X3N0
YXR1czsgZmkKPiBzdGRlcnI6Cj4gc3Rkb3V0Ogo+IGxpYnRvb2w6IGNvbXBp
bGU6ICBnY2MgLWcgLU8yIC1zdGQ9Yzg5IC1XYWxsIC1XZXJyb3IgdHJpdmlh
bC5jICAtRERMTF9FWFBPUlQgLURQSUMgLW8gLmxpYnMvdHJpdmlhbC5vCj4g
bGlidG9vbDogY29tcGlsZTogIGdjYyAtZyAtTzIgLXN0ZD1jODkgLVdhbGwg
LVdlcnJvciB0cml2aWFsLmMgLW8gdHJpdmlhbC5vID4vZGV2L251bGwgMj4m
MQo+IC9jd3JhcHBlci5hdDo2OTogJExJQlRPT0wgLS1tb2RlPWNvbXBpbGUg
JENDICRDUFBGTEFHUyAkQ0ZMQUdTIC1jIGxpYmEuYwo+IHN0ZGVycjoKPiBz
dGRvdXQ6Cj4gbGlidG9vbDogY29tcGlsZTogIGdjYyAtZyAtTzIgLXN0ZD1j
ODkgLVdhbGwgLVdlcnJvciAtYyBsaWJhLmMgIC1ERExMX0VYUE9SVCAtRFBJ
QyAtbyAubGlicy9saWJhLm8KPiBsaWJ0b29sOiBjb21waWxlOiAgZ2NjIC1n
IC1PMiAtc3RkPWM4OSAtV2FsbCAtV2Vycm9yIC1jIGxpYmEuYyAtbyBsaWJh
Lm8gPi9kZXYvbnVsbCAyPiYxCj4gL2N3cmFwcGVyLmF0OjcxOiAkTElCVE9P
TCAtLW1vZGU9bGluayAkQ0MgJENGTEFHUyAkTERGTEFHUyAtdmVyc2lvbi1p
bmZvPTAuMC4wIC1uby11bmRlZmluZWQgLW8gbGliYS5sYSAtcnBhdGggL2Zv
byBsaWJhLmxvCj4gc3RkZXJyOgo+IHN0ZG91dDoKPiBsaWJ0b29sOiBsaW5r
OiBybSAtZnIgIC5saWJzL2xpYmEuYSAubGlicy9saWJhLmRsbC5hIC5saWJz
L2xpYmEubGEgLmxpYnMvbGliYS5sYWkgLmxpYnMvbGliYS5saWJjbWQKPiBs
aWJ0b29sOiBsaW5rOiBnY2MgLXNoYXJlZCAubGlic1xcbGliYS5sYS5sbmtz
Y3JpcHQgICAtTzIgICAtbyAubGlicy9saWJhLTAuZGxsIC1XbCwtLWVuYWJs
ZS1hdXRvLWltYWdlLWJhc2UgLVhsaW5rZXIgLS1vdXQtaW1wbGliIC1YbGlu
a2VyIC5saWJzL2xpYmEuZGxsLmEKPiBsaWJ0b29sOiBsaW5rOiBybSAtZiAu
bGlicy9saWJhLmxhLmxua3NjcmlwdAo+IGxpYnRvb2w6IGxpbms6IGFyIGNy
dSAubGlicy9saWJhLmEgQC5saWJzXFxsaWJhLmxpYmNtZAo+IGxpYnRvb2w6
IGxpbms6IHJhbmxpYiAubGlicy9saWJhLmEKPiBsaWJ0b29sOiBsaW5rOiAo
IGNkICIubGlicyIgJiYgcm0gLWYgImxpYmEubGEiICYmIGNwIC1wICIuLi9s
aWJhLmxhIiAibGliYS5sYSIgKQo+IC9jd3JhcHBlci5hdDo3MzogdGVzdCAt
ZiBsaWJhLmxhCj4gL2N3cmFwcGVyLmF0Ojc1OiAkQ0MgJENQUEZMQUdTICRD
RkxBR1MgLWMgdXNlYS5jCj4gc3RkZXJyOgo+IHN0ZG91dDoKPiAvY3dyYXBw
ZXIuYXQ6Nzc6ICRMSUJUT09MIC0tbW9kZT1saW5rICRDQyAkQ0ZMQUdTICRM
REZMQUdTIC1vIHVzZWEkRVhFRVhUIHVzZWEuJE9CSkVYVCBsaWJhLmxhCj4g
c3RkZXJyOgo+IEluIGZpbGUgaW5jbHVkZWQgZnJvbSBjOlx0aW5nd1xpbmNs
dWRlXHVuaXN0ZC5oOjM2OjAsCj4gICAgICAgICAgICAgICAgICBmcm9tIC4v
LmxpYnMvbHQtdXNlYS5jOjIxOgo+IGM6XHRpbmd3XGluY2x1ZGVcaW8uaDoz
MDE6MTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdvZmY2NF90Jwo+ICBf
X0NSVF9JTkxJTkUgb2ZmNjRfdCBsc2VlazY0IChpbnQsIG9mZjY0X3QsIGlu
dCk7Cj4gIF4KPiBjOlx0aW5nd1xpbmNsdWRlXGlvLmg6MzAxOjM2OiBlcnJv
cjogdW5rbm93biB0eXBlIG5hbWUgJ29mZjY0X3QnCj4gIF9fQ1JUX0lOTElO
RSBvZmY2NF90IGxzZWVrNjQgKGludCwgb2ZmNjRfdCwgaW50KTsKPiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCj4gYzpcdGluZ3dc
aW5jbHVkZVxpby5oOjMwMjoxOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUg
J29mZjY0X3QnCj4gIF9fQ1JUX0lOTElORSBvZmY2NF90IGxzZWVrNjQgKGlu
dCBmZCwgb2ZmNjRfdCBvZmZzZXQsIGludCB3aGVuY2UpIHsKPiAgXgo+IGM6
XHRpbmd3XGluY2x1ZGVcaW8uaDozMDI6Mzk6IGVycm9yOiB1bmtub3duIHR5
cGUgbmFtZSAnb2ZmNjRfdCcKPiAgX19DUlRfSU5MSU5FIG9mZjY0X3QgbHNl
ZWs2NCAoaW50IGZkLCBvZmY2NF90IG9mZnNldCwgaW50IHdoZW5jZSkgewo+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KPiBJ
biBmaWxlIGluY2x1ZGVkIGZyb20gLi8ubGlicy9sdC11c2VhLmM6MjE6MDoK
PiBjOlx0aW5nd1xpbmNsdWRlXHVuaXN0ZC5oOjY1OjIwOiBlcnJvcjogdW5r
bm93biB0eXBlIG5hbWUgJ29mZl90Jwo+ICBpbnQgZnRydW5jYXRlKGludCwg
b2ZmX3QpOwo+ICAgICAgICAgICAgICAgICAgICAgXgo+IGM6XHRpbmd3XGlu
Y2x1ZGVcdW5pc3RkLmg6Njc6Mzg6IGVycm9yOiB1bmtub3duIHR5cGUgbmFt
ZSAnb2ZmX3QnCj4gIF9fQ1JUX0lOTElORSBpbnQgZnRydW5jYXRlKGludCBf
X2ZkLCBvZmZfdCBfX2xlbmd0aCkKPiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF4KPiBjOlxUaW5HV1xiaW5cc3RyaXAuZXhlOiAn
Li91c2VhLmV4ZSc6IE5vIHN1Y2ggZmlsZQo+IC4vbGlidG9vbDogbGluZSA5
NTE3OiAuL3VzZWEuZXhlOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cj4g
c3Rkb3V0Ogo+IGxpYnRvb2w6IGxpbms6IGdjYyAtZyAtTzIgLXN0ZD1jODkg
LVdhbGwgLVdlcnJvciAtbyAubGlicy91c2VhLmV4ZSB1c2VhLm8gIC4vLmxp
YnMvbGliYS5kbGwuYSAtTC9mb28KPiAvY3dyYXBwZXIuYXQ6Nzk6IGlmICIk
bHRfZXhlIiA7IHRoZW4gOjsgZWxzZSBsdF9zdGF0dXM9JD87IAkgICB0ZXN0
ICRsdF9zdGF0dXMgIT0gMCAmJiAJICAgdGVzdCAiWCRob3N0IiAhPSAiWCRi
dWlsZCIgJiYgdGVzdCAteCAiJGx0X2V4ZSIgJiYgZXhpdCA3NzsgCSAgIGV4
aXQgJGx0X3N0YXR1czsgZmkKPiBzdGRlcnI6Cj4gL21pbmd3L2xpYnRvb2wt
YnVpbGQtZHVlLXRvLUdOVS90ZXN0cy90ZXN0c3VpdGUuZGlyLzExNS90ZXN0
cy90ZXN0c3VpdGUuZGlyL2F0LWdyb3Vwcy81NS90ZXN0LXNvdXJjZTogbGlu
ZSAxMzU6IC4vdXNlYTogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQo+IHN0
ZG91dDoKPiAvY3dyYXBwZXIuYXQ6Nzk6IGV4aXQgY29kZSB3YXMgMTI3LCBl
eHBlY3RlZCAwCj4gNTUuIGN3cmFwcGVyLmF0OjI1OiA1NS4gY3dyYXBwZXIg
Zm9yIHVuaW5zdGFsbGVkIGV4ZWN1dGFibGVzIChjd3JhcHBlci5hdDoyNSk6
IEZBSUxFRCAoY3dyYXBwZXIuYXQ6NzkpCj4gCj4gCjExNS4gY21kbGluZV93
cmFwLmF0OjI4OiAxMTUuIFJ1biB0ZXN0cyB3aXRoIGxvdyBtYXhfY21kX2xl
biAoY21kbGluZV93cmFwLmF0OjI4KTogRkFJTEVEIChjbWRsaW5lX3dyYXAu
YXQ6NDMpCg==

--_----------=_13840355941782731--




Acknowledgement sent to Андрей Новиков <stalkien@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-libtool@HIDDEN. Full text available.
Report forwarded to bug-libtool@HIDDEN:
bug#15845; Package libtool. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.