delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2015/05/20/11:15:44

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
X-Recipient: djgpp AT delorie DOT com
X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20120113;
h=mime-version:in-reply-to:references:date:message-id:subject:from:to
:content-type;
bh=K0ndDn284xMrPw9seaDyFgEl21bTj/6ZPxsFXR100FE=;
b=dQ1ygSoiJlDCb78+Afa57EjF2h84Vu51zqq3Oa2OIK2jS7Eo4WrGvVAkSWglREREvi
zLEIWvAEwsoWinZyNg2iWxJHMZrDSMoymm2u1mI5Su/IhaWQqQ3XE0ujX9PUggtA8eHM
HfKZRKIe7V+MEtAxJbVO99avxFSCY9Z/RpBvgeEyD74Q831X9PBpqhaAUr4uDioQSI6B
YayFlAdgcPk1pEMRsomtNN+4f0rYD9YnU91tUF9wjIfGJQvwekDbMSQquPaMZY+Eu/CS
3+UXry15xG+5wZ24Tscy4iAXnpWBB13w5Lv0ABhCmLlHBONlaDX/EM0d+MRWZdP+IHD6
seUg==
MIME-Version: 1.0
X-Received: by 10.107.46.218 with SMTP id u87mr44356124iou.68.1432134928763;
Wed, 20 May 2015 08:15:28 -0700 (PDT)
In-Reply-To: <83mw106kgn.fsf@gnu.org>
References: <201505042003 DOT t44K3odg011007 AT delorie DOT com>
<CAA2C=vDjMv6vQbayBvrpwWTCp3Eu4SjardA8y6ujZPV_bY-cbQ AT mail DOT gmail DOT com>
<83mw106kgn DOT fsf AT gnu DOT org>
Date: Wed, 20 May 2015 18:15:28 +0300
Message-ID: <CAA2C=vD9T8H=fjrattH6RkH7Dec611TCjQKnc4N5e+3LD5Y9Gg@mail.gmail.com>
Subject: Re: ANNOUNCE: DJGPP 2.05 beta 1
From: "Ozkan Sezer (sezeroz AT gmail DOT com)" <djgpp AT delorie DOT com>
To: djgpp AT delorie DOT com
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

--001a11354e16b385c8051684e5f1
Content-Type: text/plain; charset=UTF-8

On 5/20/15, Eli Zaretskii (eliz AT gnu DOT org) <djgpp AT delorie DOT com> wrote:
>> Date: Tue, 19 May 2015 23:04:07 +0300
>> From: "Ozkan Sezer (sezeroz AT gmail DOT com)" <djgpp AT delorie DOT com>
>>
>> Besides, djgpp versions of zoneinfo programs (date.exe, zic.exe,
>> zdump.exe) are built against toolchain-provided djgpp headers and
>> linked against the toolchain-provided djgpp libs, which doesn't
>> sound right: we should use the same methods building the programs
>> from src/utils/, I can do that if this is aggreed upon.
>
> Sounds right to me.
>

OK then, here goes:  Attached three files z1.diff, z2.diff, z_all.diff
(and also the makefile itself atfer applying the patches, for convenience)

** z1.diff:
- zic: define as dos-zic.exe or host-zic.exe depending on cross
  or native build.
- host-zic: place in $(TOPDIR)/hostbin like other utils.
- HOST_ZIC: new var for 'host-zic' for cross-builds.
- LIBGCCA, DJGPP_DJL: copied defitinions from src/makefile.inc.
- CFLAGS: add -nostdinc -I$(TOPDIR)/include
- GCCFLAGS: (kept intact)
- zdump.exe, zic.exe, date.exe: change rules to link against
  freshly built crt0.o and libc.a.
- date.exe: remove logwtmpl.a building, because it was linking
  to locally built logwtmpl.a and logwtmp.o is simply an empty
  object for dos-targeting builds.

** z2.diff:
debug flags: made them to work old compilers too, and cleaned/tidied a bit.

** z_all.diff:
z1.diff and z2.diff combined

Cross-build-tested on linux using a gcc3.4/dj2.03 and gcc5.1/dj2.05
based toolchains.

OK for apply?

--
O.S.

--001a11354e16b385c8051684e5f1
Content-Type: text/plain; charset=US-ASCII; name="z1.diff"
Content-Disposition: attachment; filename="z1.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: file0

LSB6aWM6IGRlZmluZSBhcyBkb3MtemljLmV4ZSBvciBob3N0LXppYy5leGUgZGVwZW5kaW5nIG9u
IGNyb3NzCiAgb3IgbmF0aXZlIGJ1aWxkLgotIGhvc3QtemljOiBwbGFjZSBpbiAkKFRPUERJUikv
aG9zdGJpbiBsaWtlIG90aGVyIHV0aWxzLgotIEhPU1RfWklDOiBuZXcgdmFyIGZvciAnaG9zdC16
aWMnIGZvciBjcm9zcy1idWlsZHMuCi0gTElCR0NDQSwgREpHUFBfREpMOiBjb3BpZWQgZGVmaXRp
bmlvbnMgZnJvbSBzcmMvbWFrZWZpbGUuaW5jLgotIENGTEFHUzogYWRkIC1ub3N0ZGluYyAtSSQo
VE9QRElSKS9pbmNsdWRlCi0gR0NDRkxBR1M6IChrZXB0IGludGFjdCkKLSB6ZHVtcC5leGUsIHpp
Yy5leGUsIGRhdGUuZXhlOiBjaGFuZ2UgcnVsZXMgdG8gbGluayBhZ2FpbnN0CiAgZnJlc2hseSBi
dWlsdCBjcnQwLm8gYW5kIGxpYmMuYS4KLSBkYXRlLmV4ZTogcmVtb3ZlIGxvZ3d0bXBsLmEgYnVp
bGRpbmcsIGJlY2F1c2UgaXQgd2FzIGxpbmtpbmcKICB0byBsb2NhbGx5IGJ1aWx0IGxvZ3d0bXBs
LmEgYW5kIGxvZ3d0bXAubyBpcyBzaW1wbHkgYW4gZW1wdHkKICBvYmplY3QgZm9yIGRvcy10YXJn
ZXRpbmcgYnVpbGRzLgoKLS0tIHpvbmVpbmZvL3NyYy9tYWtlZmlsZX4KKysrIHpvbmVpbmZvL3Ny
Yy9tYWtlZmlsZQpAQCAtODcsNiArODcsMjEgQEAKIENST1NTX0dDQ19NQUpPUiA6PSAkKHdvcmQg
MywgJChzaGVsbCAuLi8uLi9zcmMvbWlzYy5leGUgfCAkKENST1NTX0dDQykgLUUgLWREIC14IGMg
LSB8IGVncmVwICdkZWZpbmVcICpfX0dOVUNfXycpKQogQ1JPU1NfR0NDX01JTk9SIDo9ICQod29y
ZCAzLCAkKHNoZWxsIC4uLy4uL3NyYy9taXNjLmV4ZSB8ICQoQ1JPU1NfR0NDKSAtRSAtZEQgLXgg
YyAtIHwgZWdyZXAgJ2RlZmluZVwgKl9fR05VQ19NSU5PUl9fJykpCiAKK2lmZXEgKCQoTElCR0ND
QSksKQorTElCR0NDQSA6PSAkKHNoZWxsICQoQ1JPU1NfR0NDKSAkKEdDQ19PUFQpIC1wcmludC1m
aWxlLW5hbWU9bGliZ2NjLmEpCitMSUJHQ0NBIDo9ICQoc3Vic3QgXCwvLCQoTElCR0NDQSkpCitl
eHBvcnQgTElCR0NDQQorZW5kaWYKKworaWZlcSAoJChESkdQUF9ESkwpLCkKK0RKR1BQX0RKTCA6
PSAkKHNoZWxsICQoQ1JPU1NfR0NDKSAkKEdDQ19PUFQpIC1wcmludC1maWxlLW5hbWU9ZGpncHAt
eC5kamwpCitpZmVxICgkKERKR1BQX0RKTCksZGpncHAteC5kamwpCitESkdQUF9ESkwgOj0gJChz
aGVsbCAkKENST1NTX0dDQykgJChHQ0NfT1BUKSAtcHJpbnQtZmlsZS1uYW1lPWRqZ3BwLmRqbCkK
K2VuZGlmCitESkdQUF9ESkwgOj0gJChzdWJzdCBcLC8sJChESkdQUF9ESkwpKQorZXhwb3J0IERK
R1BQX0RKTAorZW5kaWYKKwogIyBBIHJlcGxhY2VtZW50IGZvciAocG9zc2libHkgbWlzc2luZykg
VW5peCBwcm9ncmFtczoKIAogVVRJTD0JCSQoVE9QRElSKS9zcmMvbWlzYy5leGUKQEAgLTM0OSw3
ICszNjQsNyBAQAogCQktREhBVkVfU1RSRVJST1I9MSAtREhBVkVfU1lNTElOSz0wIC1ESEFWRV9T
VERJTlRfSD0xXAogCQktRFNURF9JTlNQSVJFRCBcCiAJCS1ETE9DQUxFX0hPTUU9XCIvZGV2L2Vu
di9ESkRJUn5jOi9kamdwcH4vc2hhcmUvbG9jYWxlXCIgXAotCQkkKENST1NTX0dDQ19ERUJVR19G
TEFHUykgLU8yCisJCSQoQ1JPU1NfR0NDX0RFQlVHX0ZMQUdTKSAtTzIgLW5vc3RkaW5jIC1JJChU
T1BESVIpL2luY2x1ZGUKIAogIyBGbGFncyBmb3IgbmF0aXZlIGNvbXBpbGVyCiBHQ0NGTEFHUz0J
LURIQVZFX0FESlRJTUU9MCAtREhBVkVfTE9OR19ET1VCTEU9MSAtREhBVkVfU0VUVElNRU9GREFZ
PTEgXApAQCAtMzY4LDcgKzM4MywxMiBAQAogTERGTEFHUz0JJChMRkxBR1MpCiAKIEVYRUVYVD0J
CS5leGUKLXppYz0JCS4vaG9zdC16aWMKK0hPU1RfWklDPQkkKFRPUERJUikvaG9zdGJpbi96aWMk
KEVYRUVYVCkKK2lmZXEgKCQoQ1JPU1NfQlVJTEQpLDEpCit6aWM9CQkkKEhPU1RfWklDKQorZWxz
ZQoremljPQkJemljJChFWEVFWFQpCitlbmRpZgogWklDPQkJJCh6aWMpICQoWkZMQUdTKQogCiAj
IFRoZSBuYW1lIG9mIGEgUG9zaXgtY29tcGxpYW50IGBhd2snIG9uIHlvdXIgc3lzdGVtLgpAQCAt
NTA4LDcgKzUyOCw3IEBACiAJCSQoVVRJTCkgY3AgemR1bXAubWFuICQoTUFORElSKS9jYXQ4L3pk
dW1wLjgKIAkJJChVVElMKSBjcCB6aWMubWFuICQoTUFORElSKS9jYXQ4L3ppYy44CiAKLWFsbDoJ
CXR6c2VsZWN0IGhvc3QtemljIHppYyQoRVhFRVhUKSB6ZHVtcCQoRVhFRVhUKSAkKExJQk9CSlMp
CithbGw6CQl0enNlbGVjdCAkKEhPU1RfWklDKSB6aWMkKEVYRUVYVCkgemR1bXAkKEVYRUVYVCkg
JChMSUJPQkpTKQogCiBBTEw6CQlhbGwgZGF0ZSQoRVhFRVhUKQogCkBAIC01MTcsMTggKzUzNywx
OCBAQAogCQkgZWNobyAnc3RhdGljIGNoYXIgY29uc3QgVFpWRVJTSU9OW109IiQoVkVSU0lPTiki
OycgJiYgXAogCQkgZWNobyAnc3RhdGljIGNoYXIgY29uc3QgUkVQT1JUX0JVR1NfVE9bXT0iJChC
VUdFTUFJTCkiOycpID4kQAogCi16ZHVtcCQoRVhFRVhUKToJJChUWkRPQkpTKQotCQkkKENDKSAt
byAkQCAkKENGTEFHUykgJChMREZMQUdTKSAkKFRaRE9CSlMpICQoTERMSUJTKQotCQkkKENST1NT
X1NUUklQKSAkQAoremR1bXAkKEVYRUVYVCk6CSQoVFpET0JKUykgJChUT1BESVIpL2xpYi9jcnQw
Lm8gJChUT1BESVIpL2xpYi9saWJjLmEKKwkJJChDUk9TU19MRCkgLXMgJChMREZMQUdTKSAkKFRP
UERJUikvbGliL2NydDAubyAkKFRaRE9CSlMpIC1vICRAICQoVE9QRElSKS9saWIvbGliYy5hICQo
TElCR0NDQSkgLVQgJChESkdQUF9ESkwpCisJCSQoVE9QRElSKS9ob3N0YmluL3N0dWJpZnkuZXhl
ICRACiAKLWhvc3QtemljOgkkKFRaQ1NSQ1MpIHllYXJpc3R5cGUgdmVyc2lvbi5oCiskKEhPU1Rf
WklDKToJJChUWkNTUkNTKSB5ZWFyaXN0eXBlIHZlcnNpb24uaAogCQkkKEdDQykgLURUWkRJUj1c
Ii9kZXYvZW52L0RKRElSfmM6L2RqZ3Bwfi96b25laW5mb1wiIFwKIAkJJChHQ0NGTEFHUykgJChM
REZMQUdTKSAkKFRaQ1NSQ1MpICQoTERMSUJTKSAtbyAkQAogCQkkKFNUUklQKSAkQAogCi16aWMk
KEVYRUVYVCk6CSQoVFpDT0JKUykgeWVhcmlzdHlwZQotCQkkKENDKSAtbyAkQCAkKENGTEFHUykg
JChMREZMQUdTKSAkKFRaQ09CSlMpICQoTERMSUJTKQotCQkkKENST1NTX1NUUklQKSAkQAoremlj
JChFWEVFWFQpOgkkKFRaQ09CSlMpICQoVE9QRElSKS9saWIvY3J0MC5vICQoVE9QRElSKS9saWIv
bGliYy5hIHllYXJpc3R5cGUKKwkJJChDUk9TU19MRCkgLXMgJChMREZMQUdTKSAkKFRPUERJUikv
bGliL2NydDAubyAkKFRaQ09CSlMpIC1vICRAICQoVE9QRElSKS9saWIvbGliYy5hICQoTElCR0ND
QSkgLVQgJChESkdQUF9ESkwpCisJCSQoVE9QRElSKS9ob3N0YmluL3N0dWJpZnkuZXhlICRACiAK
IHllYXJpc3R5cGU6CXllYXJpc3R5cGUuc2gKIAkJJChVVElMKSBjcCB5ZWFyaXN0eXBlLnNoIHll
YXJpc3R5cGUKQEAgLTU3OCwxNSArNTk4LDkgQEAKIAkJLSQoVVRJTCkgbWtkaXIgJChMSUJESVIp
CiAJCSQoQ1JPU1NfQVIpIHJ1cyAkQCAkKExJQk9CSlMpCiAKLSMgV2UgdXNlIHRoZSBzeXN0ZW0n
cyBsb2d3dG1wIGluIHByZWZlcmVuY2UgdG8gb3VycyBpZiBhdmFpbGFibGUuCi0KLWRhdGUkKEVY
RUVYVCk6CSQoREFURU9CSlMpCi0JCSQoQ1JPU1NfQVIpIHJzIGxvZ3d0bXBsLmEgbG9nd3RtcC5v
Ci0JCSQoQ0MpICQoQ0ZMQUdTKSBkYXRlLm8gbG9jYWx0aW1lLm8gYXNjdGltZS5vIHN0cmZ0aW1l
Lm8gXAotCQkJJChMRExJQlMpIC1sYyBsb2d3dG1wbC5hIC1vICRACi0JCSQoQ1JPU1NfU1RSSVAp
ICRACi0JCSQoVVRJTCkgcm0gbG9nd3RtcGwuYQotCQkkKENST1NTX1NUUklQKSAkQAorZGF0ZSQo
RVhFRVhUKToJJChEQVRFT0JKUykgJChUT1BESVIpL2xpYi9jcnQwLm8gJChUT1BESVIpL2xpYi9s
aWJjLmEKKwkJJChDUk9TU19MRCkgLXMgJChMREZMQUdTKSAkKFRPUERJUikvbGliL2NydDAubyAk
KERBVEVPQkpTKSAtbyAkQCAkKFRPUERJUikvbGliL2xpYmMuYSAkKExJQkdDQ0EpIC1UICQoREpH
UFBfREpMKQorCQkkKFRPUERJUikvaG9zdGJpbi9zdHViaWZ5LmV4ZSAkQAogCiB0enNlbGVjdDoJ
dHpzZWxlY3Qua3NoCiAJCXNlZCBcCkBAIC02MTEsNyArNjI1LDcgQEAKIAogY2xlYW5fbWlzYzoK
IAkJJChVVElMKSBybSBjb3JlICoubyAqLm91dCB0enNlbGVjdCB6ZHVtcCQoRVhFRVhUKSB6aWMk
KEVYRUVYVCkgXAotCQkJeWVhcmlzdHlwZSBkYXRlJChFWEVFWFQpIGxvZ3d0bXBsKiAqLnRhci5n
eiBob3N0LXppYyAqLmV4ZSAqLm1hbiBcCisJCQl5ZWFyaXN0eXBlIGRhdGUkKEVYRUVYVCkgbG9n
d3RtcGwqICoudGFyLmd6ICQoSE9TVF9aSUMpICouZXhlICoubWFuIFwKIAkJCVREQVRBX2xpc3QK
IGNsZWFuOgkJY2xlYW5fbWlzYwogCQkkKFVUSUwpIHJtIC1mIC1yIHR6cHVibGljCg==
--001a11354e16b385c8051684e5f1
Content-Type: text/plain; charset=US-ASCII; name="z2.diff"
Content-Disposition: attachment; filename="z2.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: file0

ZGVidWcgZmxhZ3M6IG1hZGUgdGhlbSB0byB3b3JrIG9sZCBjb21waWxlcnMgdG9vLCBhbmQgY2xl
YW5lZC90aWRpZWQgYSBiaXQuCgotLS0gem9uZWluZm8vc3JjL21ha2VmaWxlfgorKysgem9uZWlu
Zm8vc3JjL21ha2VmaWxlCkBAIC0xNzcsOTcgKzE3Nyw0OCBAQAogIwktV3N1Z2dlc3QtYXR0cmli
dXRlPW5vcmV0dXJuIC1Xc3VnZ2VzdC1hdHRyaWJ1dGU9cHVyZSAtV3RyYW1wb2xpbmVzIFwKICMJ
LVd3cml0ZS1zdHJpbmdzCiAKK0NPTU1PTl9ERUJVR19GTEFHUyA9IC1EbGludCAtZyAtZm5vLWNv
bW1vbiAtZnN0cmljdC1hbGlhc2luZyBcCisJLVdhbGwgLVcgLVdjYXN0LWFsaWduIC1XY2FzdC1x
dWFsIC1XcG9pbnRlci1hcml0aCBcCisJLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3Npbmct
cHJvdG90eXBlcyAtV3N0cmljdC1wcm90b3R5cGVzIFwKKwktV25lc3RlZC1leHRlcm5zIC1Xc2hh
ZG93IC1Xd3JpdGUtc3RyaW5ncworCiAjIENyb3NzIGNvbXBpbGVyIGRlYnVnIGZsYWdzLgotQ1JP
U1NfR0NDX0RFQlVHX0ZMQUdTX0ZPUl9BTEwgPSAtRGxpbnQgLWcyIC1mbm8tY29tbW9uIC1mc3Ry
aWN0LWFsaWFzaW5nIFwKLQktV2FsbCAtV2V4dHJhIFwKLQktV2JhZC1mdW5jdGlvbi1jYXN0IC1X
Y2FzdC1hbGlnbiAtV2Nhc3QtcXVhbCBcCi0JLVdmb3JtYXQ9MiAtV2luaXQtc2VsZiBcCi0JLVdt
aXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3Npbmctbm9yZXR1cm4gLVdtaXNzaW5nLXByb3RvdHlw
ZXMgXAotCS1XbmVzdGVkLWV4dGVybnMgLVduby1mb3JtYXQtbm9ubGl0ZXJhbCAtV25vLXNpZ24t
Y29tcGFyZSBcCi0JLVduby11bnVzZWQtcGFyYW1ldGVyICAtV3BvaW50ZXItYXJpdGggLVdzaGFk
b3cgLVdzdHJpY3QtcHJvdG90eXBlcyBcCi0JLVd3cml0ZS1zdHJpbmdzCi0KLWlmZXEgKCQoQ1JP
U1NfR0NDX01BSk9SKSwzKQotaWZlcSAoJChDUk9TU19HQ0NfTUlOT1IpLDQpCi1DUk9TU19HQ0Nf
REVCVUdfRkxBR1MgPSAkKENST1NTX0dDQ19ERUJVR19GTEFHU19GT1JfQUxMKSAtV2NvbnZlcnNp
b24gLVd0cmFkaXRpb25hbAoraWZlcSAoJChmaWx0ZXIgMiwkKENST1NTX0dDQ19NQUpPUikpLCkK
KyMgZ2NjID49IDMueAorQ1JPU1NfR0NDM19ERkxBR1MgPSAtV2JhZC1mdW5jdGlvbi1jYXN0IC1X
bm8tc2lnbi1jb21wYXJlIC1Xbm8tdW51c2VkLXBhcmFtZXRlcgoraWZlcSAoJChmaWx0ZXIgMywk
KENST1NTX0dDQ19NQUpPUikpLCkKK2lmZXEgKCQoZmlsdGVyIDQsJChDUk9TU19HQ0NfTUFKT1Ip
KSwpCisjIGdjYyA+PSA1LngKK0NST1NTX0dDQzRfREZMQUdTID0gLVduby10eXBlLWxpbWl0cwor
ZWxzZQorIyBnY2MgPj0gNC54CitpZmVxICgkKGZpbHRlciAwIDEgMiwkKENST1NTX0dDQ19NSU5P
UikpLCkKKyMgZ2NjID49IDQuMworQ1JPU1NfR0NDNF9ERkxBR1MgPSAtV25vLXR5cGUtbGltaXRz
CitlbmRpZgogZW5kaWYKIGVuZGlmCi0KLWlmZXEgKCQoQ1JPU1NfR0NDX01BSk9SKSw0KQotIGlm
ZXEgKCQoQ1JPU1NfR0NDX01JTk9SKSwwKQotQ1JPU1NfR0NDX0RFQlVHX0ZMQUdTX1NQRUNJQUwg
PSAKLSBlbHNlCi0gIGlmZXEgKCQoQ1JPU1NfR0NDX01JTk9SKSwxKQotQ1JPU1NfR0NDX0RFQlVH
X0ZMQUdTX1NQRUNJQUwgPSAKLSAgZWxzZQotICAgaWZlcSAoJChDUk9TU19HQ0NfTUlOT1IpLDIp
Ci1DUk9TU19HQ0NfREVCVUdfRkxBR1NfU1BFQ0lBTCA9IC1Xb3Zlcmxlbmd0aC1zdHJpbmdzCi0g
ICBlbHNlCi0gICAgaWZlcSAoJChDUk9TU19HQ0NfTUlOT1IpLDMpCi1DUk9TU19HQ0NfREVCVUdf
RkxBR1NfU1BFQ0lBTCA9IC1Xb3Zlcmxlbmd0aC1zdHJpbmdzIC1Xbm8tc2lnbi1jb252ZXJzaW9u
IC1Xbm8tdHlwZS1saW1pdHMKLSAgICBlbHNlCi0gICAgIGlmZXEgKCQoQ1JPU1NfR0NDX01JTk9S
KSw0KQotQ1JPU1NfR0NDX0RFQlVHX0ZMQUdTX1NQRUNJQUwgPSAtV292ZXJsZW5ndGgtc3RyaW5n
cyAtV25vLXNpZ24tY29udmVyc2lvbiAtV25vLXR5cGUtbGltaXRzCi0gICAgIGVsc2UKLSAgICAg
IGlmZXEgKCQoQ1JPU1NfR0NDX01JTk9SKSw1KQotQ1JPU1NfR0NDX0RFQlVHX0ZMQUdTX1NQRUNJ
QUwgPSAtV292ZXJsZW5ndGgtc3RyaW5ncyAtV25vLXNpZ24tY29udmVyc2lvbiAtV25vLXR5cGUt
bGltaXRzCi0gICAgICBlbHNlCi0jIGdjYyA0LjYgYW5kIGxhdGVyIHdvcmtzLgotQ1JPU1NfR0ND
X0RFQlVHX0ZMQUdTX1NQRUNJQUwgPSAtV292ZXJsZW5ndGgtc3RyaW5ncyAtV25vLXNpZ24tY29u
dmVyc2lvbiAtV25vLXR5cGUtbGltaXRzIC1Xc3VnZ2VzdC1hdHRyaWJ1dGU9Y29uc3QgLVdzdWdn
ZXN0LWF0dHJpYnV0ZT1ub3JldHVybiAtV3N1Z2dlc3QtYXR0cmlidXRlPXB1cmUgLVd0cmFtcG9s
aW5lcwotICAgICAgZW5kaWYKLSAgICAgZW5kaWYKLSAgICBlbmRpZgotICAgZW5kaWYKLSAgZW5k
aWYKLUNST1NTX0dDQ19ERUJVR19GTEFHUyA9ICQoQ1JPU1NfR0NDX0RFQlVHX0ZMQUdTX0ZPUl9B
TEwpICQoQ1JPU1NfR0NDX0RFQlVHX0ZMQUdTX1NQRUNJQUwpCi0gZW5kaWYKIGVuZGlmCitDUk9T
U19HQ0NfREVCVUdfRkxBR1MgPSAkKENPTU1PTl9ERUJVR19GTEFHUykgJChDUk9TU19HQ0MzX0RG
TEFHUykgJChDUk9TU19HQ0M0X0RGTEFHUykKIAogIyBOYXRpdmUgY29tcGlsZXIgZGVidWcgZmxh
Z3MuCi1HQ0NfREVCVUdfRkxBR1NfRk9SX0FMTCA9IC1EbGludCAtZzIgLWZuby1jb21tb24gLWZz
dHJpY3QtYWxpYXNpbmcgXAotCS1XYWxsIC1XZXh0cmEgXAotCS1XYmFkLWZ1bmN0aW9uLWNhc3Qg
LVdjYXN0LWFsaWduIC1XY2FzdC1xdWFsIFwKLQktV2Zvcm1hdD0yIC1XaW5pdC1zZWxmIFwKLQkt
V21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1ub3JldHVybiAtV21pc3NpbmctcHJvdG90
eXBlcyBcCi0JLVduZXN0ZWQtZXh0ZXJucyAtV25vLWZvcm1hdC1ub25saXRlcmFsIC1Xbm8tc2ln
bi1jb21wYXJlIFwKLQktV25vLXVudXNlZC1wYXJhbWV0ZXIgIC1XcG9pbnRlci1hcml0aCAtV3No
YWRvdyAtV3N0cmljdC1wcm90b3R5cGVzIFwKLQktV3dyaXRlLXN0cmluZ3MKLQotaWZlcSAoJChH
Q0NfTUFKT1IpLDMpCi1pZmVxICgkKEdDQ19NSU5PUiksNCkKLUdDQ19ERUJVR19GTEFHUyA9ICQo
R0NDX0RFQlVHX0ZMQUdTX0ZPUl9BTEwpIC1XY29udmVyc2lvbiAtV3RyYWRpdGlvbmFsCitpZmVx
ICgkKGZpbHRlciAyLCQoR0NDX01BSk9SKSksKQorIyBnY2MgPj0gMy54CitHQ0MzX0RFQlVHX0ZM
QUdTID0gLVdiYWQtZnVuY3Rpb24tY2FzdCAtV25vLXNpZ24tY29tcGFyZSAtV25vLXVudXNlZC1w
YXJhbWV0ZXIKK2lmZXEgKCQoZmlsdGVyIDMsJChHQ0NfTUFKT1IpKSwpCitpZmVxICgkKGZpbHRl
ciA0LCQoR0NDX01BSk9SKSksKQorIyBnY2MgPj0gNS54CitHQ0M0X0RFQlVHX0ZMQUdTID0gLVdu
by10eXBlLWxpbWl0cworZWxzZQorIyBnY2MgPj0gNC54CitpZmVxICgkKGZpbHRlciAwIDEgMiwk
KEdDQ19NSU5PUikpLCkKKyMgZ2NjID49IDQuMworR0NDNF9ERUJVR19GTEFHUyA9IC1Xbm8tdHlw
ZS1saW1pdHMKK2VuZGlmCiBlbmRpZgogZW5kaWYKLQotaWZlcSAoJChHQ0NfTUFKT1IpLDQpCi0g
aWZlcSAoJChHQ0NfTUlOT1IpLDApCi1HQ0NfREVCVUdfRkxBR1NfU1BFQ0lBTCA9IAotIGVsc2UK
LSAgaWZlcSAoJChHQ0NfTUlOT1IpLDEpCi1HQ0NfREVCVUdfRkxBR1NfU1BFQ0lBTCA9IAotICBl
bHNlCi0gICBpZmVxICgkKEdDQ19NSU5PUiksMikKLUdDQ19ERUJVR19GTEFHU19TUEVDSUFMID0g
LVdvdmVybGVuZ3RoLXN0cmluZ3MKLSAgIGVsc2UKLSAgICBpZmVxICgkKEdDQ19NSU5PUiksMykK
LUdDQ19ERUJVR19GTEFHU19TUEVDSUFMID0gLVdvdmVybGVuZ3RoLXN0cmluZ3MgLVduby1zaWdu
LWNvbnZlcnNpb24gLVduby10eXBlLWxpbWl0cwotICAgIGVsc2UKLSAgICAgaWZlcSAoJChHQ0Nf
TUlOT1IpLDQpCi1HQ0NfREVCVUdfRkxBR1NfU1BFQ0lBTCA9IC1Xb3Zlcmxlbmd0aC1zdHJpbmdz
IC1Xbm8tc2lnbi1jb252ZXJzaW9uIC1Xbm8tdHlwZS1saW1pdHMKLSAgICAgZWxzZQotICAgICAg
aWZlcSAoJChHQ0NfTUlOT1IpLDUpCi1HQ0NfREVCVUdfRkxBR1NfU1BFQ0lBTCA9IC1Xb3Zlcmxl
bmd0aC1zdHJpbmdzIC1Xbm8tc2lnbi1jb252ZXJzaW9uIC1Xbm8tdHlwZS1saW1pdHMKLSAgICAg
IGVsc2UKLSMgZ2NjIDQuNiBhbmQgbGF0ZXIgd29ya3MuCi1HQ0NfREVCVUdfRkxBR1NfU1BFQ0lB
TCA9IC1Xb3Zlcmxlbmd0aC1zdHJpbmdzIC1Xbm8tc2lnbi1jb252ZXJzaW9uIC1Xbm8tdHlwZS1s
aW1pdHMgLVdzdWdnZXN0LWF0dHJpYnV0ZT1jb25zdCAtV3N1Z2dlc3QtYXR0cmlidXRlPW5vcmV0
dXJuIC1Xc3VnZ2VzdC1hdHRyaWJ1dGU9cHVyZSAtV3RyYW1wb2xpbmVzCi0gICAgICBlbmRpZgot
ICAgICBlbmRpZgotICAgIGVuZGlmCi0gICBlbmRpZgotICBlbmRpZgotR0NDX0RFQlVHX0ZMQUdT
ID0gJChHQ0NfREVCVUdfRkxBR1NfRk9SX0FMTCkgJChHQ0NfREVCVUdfRkxBR1NfU1BFQ0lBTCkK
LSBlbmRpZgogZW5kaWYKK0dDQ19ERUJVR19GTEFHUyA9ICQoQ09NTU9OX0RFQlVHX0ZMQUdTKSAk
KEdDQzNfREVCVUdfRkxBR1MpICQoR0NDNF9ERUJVR19GTEFHUykKIAogIwogIyBJZiB5b3Ugd2Fu
dCB0byB1c2UgU3lzdGVtIFYgY29tcGF0aWJpbGl0eSBjb2RlLCBhZGQK
--001a11354e16b385c8051684e5f1
Content-Type: text/plain; charset=US-ASCII; name="z_all.diff"
Content-Disposition: attachment; filename="z_all.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: file0

ejEuZGlmZiBhbmQgejIuZGlmZiBjb21iaW5lZAoKLS0tIHpvbmVpbmZvL3NyYy9tYWtlZmlsZX4K
KysrIHpvbmVpbmZvL3NyYy9tYWtlZmlsZQpAQCAtODcsNiArODcsMjEgQEAKIENST1NTX0dDQ19N
QUpPUiA6PSAkKHdvcmQgMywgJChzaGVsbCAuLi8uLi9zcmMvbWlzYy5leGUgfCAkKENST1NTX0dD
QykgLUUgLWREIC14IGMgLSB8IGVncmVwICdkZWZpbmVcICpfX0dOVUNfXycpKQogQ1JPU1NfR0ND
X01JTk9SIDo9ICQod29yZCAzLCAkKHNoZWxsIC4uLy4uL3NyYy9taXNjLmV4ZSB8ICQoQ1JPU1Nf
R0NDKSAtRSAtZEQgLXggYyAtIHwgZWdyZXAgJ2RlZmluZVwgKl9fR05VQ19NSU5PUl9fJykpCiAK
K2lmZXEgKCQoTElCR0NDQSksKQorTElCR0NDQSA6PSAkKHNoZWxsICQoQ1JPU1NfR0NDKSAkKEdD
Q19PUFQpIC1wcmludC1maWxlLW5hbWU9bGliZ2NjLmEpCitMSUJHQ0NBIDo9ICQoc3Vic3QgXCwv
LCQoTElCR0NDQSkpCitleHBvcnQgTElCR0NDQQorZW5kaWYKKworaWZlcSAoJChESkdQUF9ESkwp
LCkKK0RKR1BQX0RKTCA6PSAkKHNoZWxsICQoQ1JPU1NfR0NDKSAkKEdDQ19PUFQpIC1wcmludC1m
aWxlLW5hbWU9ZGpncHAteC5kamwpCitpZmVxICgkKERKR1BQX0RKTCksZGpncHAteC5kamwpCitE
SkdQUF9ESkwgOj0gJChzaGVsbCAkKENST1NTX0dDQykgJChHQ0NfT1BUKSAtcHJpbnQtZmlsZS1u
YW1lPWRqZ3BwLmRqbCkKK2VuZGlmCitESkdQUF9ESkwgOj0gJChzdWJzdCBcLC8sJChESkdQUF9E
SkwpKQorZXhwb3J0IERKR1BQX0RKTAorZW5kaWYKKwogIyBBIHJlcGxhY2VtZW50IGZvciAocG9z
c2libHkgbWlzc2luZykgVW5peCBwcm9ncmFtczoKIAogVVRJTD0JCSQoVE9QRElSKS9zcmMvbWlz
Yy5leGUKQEAgLTE2Miw5NyArMTc3LDQ4IEBACiAjCS1Xc3VnZ2VzdC1hdHRyaWJ1dGU9bm9yZXR1
cm4gLVdzdWdnZXN0LWF0dHJpYnV0ZT1wdXJlIC1XdHJhbXBvbGluZXMgXAogIwktV3dyaXRlLXN0
cmluZ3MKIAorQ09NTU9OX0RFQlVHX0ZMQUdTID0gLURsaW50IC1nIC1mbm8tY29tbW9uIC1mc3Ry
aWN0LWFsaWFzaW5nIFwKKwktV2FsbCAtVyAtV2Nhc3QtYWxpZ24gLVdjYXN0LXF1YWwgLVdwb2lu
dGVyLWFyaXRoIFwKKwktV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVz
IC1Xc3RyaWN0LXByb3RvdHlwZXMgXAorCS1XbmVzdGVkLWV4dGVybnMgLVdzaGFkb3cgLVd3cml0
ZS1zdHJpbmdzCisKICMgQ3Jvc3MgY29tcGlsZXIgZGVidWcgZmxhZ3MuCi1DUk9TU19HQ0NfREVC
VUdfRkxBR1NfRk9SX0FMTCA9IC1EbGludCAtZzIgLWZuby1jb21tb24gLWZzdHJpY3QtYWxpYXNp
bmcgXAotCS1XYWxsIC1XZXh0cmEgXAotCS1XYmFkLWZ1bmN0aW9uLWNhc3QgLVdjYXN0LWFsaWdu
IC1XY2FzdC1xdWFsIFwKLQktV2Zvcm1hdD0yIC1XaW5pdC1zZWxmIFwKLQktV21pc3NpbmctZGVj
bGFyYXRpb25zIC1XbWlzc2luZy1ub3JldHVybiAtV21pc3NpbmctcHJvdG90eXBlcyBcCi0JLVdu
ZXN0ZWQtZXh0ZXJucyAtV25vLWZvcm1hdC1ub25saXRlcmFsIC1Xbm8tc2lnbi1jb21wYXJlIFwK
LQktV25vLXVudXNlZC1wYXJhbWV0ZXIgIC1XcG9pbnRlci1hcml0aCAtV3NoYWRvdyAtV3N0cmlj
dC1wcm90b3R5cGVzIFwKLQktV3dyaXRlLXN0cmluZ3MKLQotaWZlcSAoJChDUk9TU19HQ0NfTUFK
T1IpLDMpCi1pZmVxICgkKENST1NTX0dDQ19NSU5PUiksNCkKLUNST1NTX0dDQ19ERUJVR19GTEFH
UyA9ICQoQ1JPU1NfR0NDX0RFQlVHX0ZMQUdTX0ZPUl9BTEwpIC1XY29udmVyc2lvbiAtV3RyYWRp
dGlvbmFsCitpZmVxICgkKGZpbHRlciAyLCQoQ1JPU1NfR0NDX01BSk9SKSksKQorIyBnY2MgPj0g
My54CitDUk9TU19HQ0MzX0RGTEFHUyA9IC1XYmFkLWZ1bmN0aW9uLWNhc3QgLVduby1zaWduLWNv
bXBhcmUgLVduby11bnVzZWQtcGFyYW1ldGVyCitpZmVxICgkKGZpbHRlciAzLCQoQ1JPU1NfR0ND
X01BSk9SKSksKQoraWZlcSAoJChmaWx0ZXIgNCwkKENST1NTX0dDQ19NQUpPUikpLCkKKyMgZ2Nj
ID49IDUueAorQ1JPU1NfR0NDNF9ERkxBR1MgPSAtV25vLXR5cGUtbGltaXRzCitlbHNlCisjIGdj
YyA+PSA0LngKK2lmZXEgKCQoZmlsdGVyIDAgMSAyLCQoQ1JPU1NfR0NDX01JTk9SKSksKQorIyBn
Y2MgPj0gNC4zCitDUk9TU19HQ0M0X0RGTEFHUyA9IC1Xbm8tdHlwZS1saW1pdHMKIGVuZGlmCiBl
bmRpZgotCi1pZmVxICgkKENST1NTX0dDQ19NQUpPUiksNCkKLSBpZmVxICgkKENST1NTX0dDQ19N
SU5PUiksMCkKLUNST1NTX0dDQ19ERUJVR19GTEFHU19TUEVDSUFMID0gCi0gZWxzZQotICBpZmVx
ICgkKENST1NTX0dDQ19NSU5PUiksMSkKLUNST1NTX0dDQ19ERUJVR19GTEFHU19TUEVDSUFMID0g
Ci0gIGVsc2UKLSAgIGlmZXEgKCQoQ1JPU1NfR0NDX01JTk9SKSwyKQotQ1JPU1NfR0NDX0RFQlVH
X0ZMQUdTX1NQRUNJQUwgPSAtV292ZXJsZW5ndGgtc3RyaW5ncwotICAgZWxzZQotICAgIGlmZXEg
KCQoQ1JPU1NfR0NDX01JTk9SKSwzKQotQ1JPU1NfR0NDX0RFQlVHX0ZMQUdTX1NQRUNJQUwgPSAt
V292ZXJsZW5ndGgtc3RyaW5ncyAtV25vLXNpZ24tY29udmVyc2lvbiAtV25vLXR5cGUtbGltaXRz
Ci0gICAgZWxzZQotICAgICBpZmVxICgkKENST1NTX0dDQ19NSU5PUiksNCkKLUNST1NTX0dDQ19E
RUJVR19GTEFHU19TUEVDSUFMID0gLVdvdmVybGVuZ3RoLXN0cmluZ3MgLVduby1zaWduLWNvbnZl
cnNpb24gLVduby10eXBlLWxpbWl0cwotICAgICBlbHNlCi0gICAgICBpZmVxICgkKENST1NTX0dD
Q19NSU5PUiksNSkKLUNST1NTX0dDQ19ERUJVR19GTEFHU19TUEVDSUFMID0gLVdvdmVybGVuZ3Ro
LXN0cmluZ3MgLVduby1zaWduLWNvbnZlcnNpb24gLVduby10eXBlLWxpbWl0cwotICAgICAgZWxz
ZQotIyBnY2MgNC42IGFuZCBsYXRlciB3b3Jrcy4KLUNST1NTX0dDQ19ERUJVR19GTEFHU19TUEVD
SUFMID0gLVdvdmVybGVuZ3RoLXN0cmluZ3MgLVduby1zaWduLWNvbnZlcnNpb24gLVduby10eXBl
LWxpbWl0cyAtV3N1Z2dlc3QtYXR0cmlidXRlPWNvbnN0IC1Xc3VnZ2VzdC1hdHRyaWJ1dGU9bm9y
ZXR1cm4gLVdzdWdnZXN0LWF0dHJpYnV0ZT1wdXJlIC1XdHJhbXBvbGluZXMKLSAgICAgIGVuZGlm
Ci0gICAgIGVuZGlmCi0gICAgZW5kaWYKLSAgIGVuZGlmCi0gIGVuZGlmCi1DUk9TU19HQ0NfREVC
VUdfRkxBR1MgPSAkKENST1NTX0dDQ19ERUJVR19GTEFHU19GT1JfQUxMKSAkKENST1NTX0dDQ19E
RUJVR19GTEFHU19TUEVDSUFMKQotIGVuZGlmCiBlbmRpZgorZW5kaWYKK0NST1NTX0dDQ19ERUJV
R19GTEFHUyA9ICQoQ09NTU9OX0RFQlVHX0ZMQUdTKSAkKENST1NTX0dDQzNfREZMQUdTKSAkKENS
T1NTX0dDQzRfREZMQUdTKQogCiAjIE5hdGl2ZSBjb21waWxlciBkZWJ1ZyBmbGFncy4KLUdDQ19E
RUJVR19GTEFHU19GT1JfQUxMID0gLURsaW50IC1nMiAtZm5vLWNvbW1vbiAtZnN0cmljdC1hbGlh
c2luZyBcCi0JLVdhbGwgLVdleHRyYSBcCi0JLVdiYWQtZnVuY3Rpb24tY2FzdCAtV2Nhc3QtYWxp
Z24gLVdjYXN0LXF1YWwgXAotCS1XZm9ybWF0PTIgLVdpbml0LXNlbGYgXAotCS1XbWlzc2luZy1k
ZWNsYXJhdGlvbnMgLVdtaXNzaW5nLW5vcmV0dXJuIC1XbWlzc2luZy1wcm90b3R5cGVzIFwKLQkt
V25lc3RlZC1leHRlcm5zIC1Xbm8tZm9ybWF0LW5vbmxpdGVyYWwgLVduby1zaWduLWNvbXBhcmUg
XAotCS1Xbm8tdW51c2VkLXBhcmFtZXRlciAgLVdwb2ludGVyLWFyaXRoIC1Xc2hhZG93IC1Xc3Ry
aWN0LXByb3RvdHlwZXMgXAotCS1Xd3JpdGUtc3RyaW5ncwotCi1pZmVxICgkKEdDQ19NQUpPUiks
MykKLWlmZXEgKCQoR0NDX01JTk9SKSw0KQotR0NDX0RFQlVHX0ZMQUdTID0gJChHQ0NfREVCVUdf
RkxBR1NfRk9SX0FMTCkgLVdjb252ZXJzaW9uIC1XdHJhZGl0aW9uYWwKK2lmZXEgKCQoZmlsdGVy
IDIsJChHQ0NfTUFKT1IpKSwpCisjIGdjYyA+PSAzLngKK0dDQzNfREVCVUdfRkxBR1MgPSAtV2Jh
ZC1mdW5jdGlvbi1jYXN0IC1Xbm8tc2lnbi1jb21wYXJlIC1Xbm8tdW51c2VkLXBhcmFtZXRlcgor
aWZlcSAoJChmaWx0ZXIgMywkKEdDQ19NQUpPUikpLCkKK2lmZXEgKCQoZmlsdGVyIDQsJChHQ0Nf
TUFKT1IpKSwpCisjIGdjYyA+PSA1LngKK0dDQzRfREVCVUdfRkxBR1MgPSAtV25vLXR5cGUtbGlt
aXRzCitlbHNlCisjIGdjYyA+PSA0LngKK2lmZXEgKCQoZmlsdGVyIDAgMSAyLCQoR0NDX01JTk9S
KSksKQorIyBnY2MgPj0gNC4zCitHQ0M0X0RFQlVHX0ZMQUdTID0gLVduby10eXBlLWxpbWl0cwor
ZW5kaWYKIGVuZGlmCiBlbmRpZgotCi1pZmVxICgkKEdDQ19NQUpPUiksNCkKLSBpZmVxICgkKEdD
Q19NSU5PUiksMCkKLUdDQ19ERUJVR19GTEFHU19TUEVDSUFMID0gCi0gZWxzZQotICBpZmVxICgk
KEdDQ19NSU5PUiksMSkKLUdDQ19ERUJVR19GTEFHU19TUEVDSUFMID0gCi0gIGVsc2UKLSAgIGlm
ZXEgKCQoR0NDX01JTk9SKSwyKQotR0NDX0RFQlVHX0ZMQUdTX1NQRUNJQUwgPSAtV292ZXJsZW5n
dGgtc3RyaW5ncwotICAgZWxzZQotICAgIGlmZXEgKCQoR0NDX01JTk9SKSwzKQotR0NDX0RFQlVH
X0ZMQUdTX1NQRUNJQUwgPSAtV292ZXJsZW5ndGgtc3RyaW5ncyAtV25vLXNpZ24tY29udmVyc2lv
biAtV25vLXR5cGUtbGltaXRzCi0gICAgZWxzZQotICAgICBpZmVxICgkKEdDQ19NSU5PUiksNCkK
LUdDQ19ERUJVR19GTEFHU19TUEVDSUFMID0gLVdvdmVybGVuZ3RoLXN0cmluZ3MgLVduby1zaWdu
LWNvbnZlcnNpb24gLVduby10eXBlLWxpbWl0cwotICAgICBlbHNlCi0gICAgICBpZmVxICgkKEdD
Q19NSU5PUiksNSkKLUdDQ19ERUJVR19GTEFHU19TUEVDSUFMID0gLVdvdmVybGVuZ3RoLXN0cmlu
Z3MgLVduby1zaWduLWNvbnZlcnNpb24gLVduby10eXBlLWxpbWl0cwotICAgICAgZWxzZQotIyBn
Y2MgNC42IGFuZCBsYXRlciB3b3Jrcy4KLUdDQ19ERUJVR19GTEFHU19TUEVDSUFMID0gLVdvdmVy
bGVuZ3RoLXN0cmluZ3MgLVduby1zaWduLWNvbnZlcnNpb24gLVduby10eXBlLWxpbWl0cyAtV3N1
Z2dlc3QtYXR0cmlidXRlPWNvbnN0IC1Xc3VnZ2VzdC1hdHRyaWJ1dGU9bm9yZXR1cm4gLVdzdWdn
ZXN0LWF0dHJpYnV0ZT1wdXJlIC1XdHJhbXBvbGluZXMKLSAgICAgIGVuZGlmCi0gICAgIGVuZGlm
Ci0gICAgZW5kaWYKLSAgIGVuZGlmCi0gIGVuZGlmCi1HQ0NfREVCVUdfRkxBR1MgPSAkKEdDQ19E
RUJVR19GTEFHU19GT1JfQUxMKSAkKEdDQ19ERUJVR19GTEFHU19TUEVDSUFMKQotIGVuZGlmCiBl
bmRpZgorR0NDX0RFQlVHX0ZMQUdTID0gJChDT01NT05fREVCVUdfRkxBR1MpICQoR0NDM19ERUJV
R19GTEFHUykgJChHQ0M0X0RFQlVHX0ZMQUdTKQogCiAjCiAjIElmIHlvdSB3YW50IHRvIHVzZSBT
eXN0ZW0gViBjb21wYXRpYmlsaXR5IGNvZGUsIGFkZApAQCAtMzQ5LDcgKzMxNSw3IEBACiAJCS1E
SEFWRV9TVFJFUlJPUj0xIC1ESEFWRV9TWU1MSU5LPTAgLURIQVZFX1NURElOVF9IPTFcCiAJCS1E
U1REX0lOU1BJUkVEIFwKIAkJLURMT0NBTEVfSE9NRT1cIi9kZXYvZW52L0RKRElSfmM6L2RqZ3Bw
fi9zaGFyZS9sb2NhbGVcIiBcCi0JCSQoQ1JPU1NfR0NDX0RFQlVHX0ZMQUdTKSAtTzIKKwkJJChD
Uk9TU19HQ0NfREVCVUdfRkxBR1MpIC1PMiAtbm9zdGRpbmMgLUkkKFRPUERJUikvaW5jbHVkZQog
CiAjIEZsYWdzIGZvciBuYXRpdmUgY29tcGlsZXIKIEdDQ0ZMQUdTPQktREhBVkVfQURKVElNRT0w
IC1ESEFWRV9MT05HX0RPVUJMRT0xIC1ESEFWRV9TRVRUSU1FT0ZEQVk9MSBcCkBAIC0zNjgsNyAr
MzM0LDEyIEBACiBMREZMQUdTPQkkKExGTEFHUykKIAogRVhFRVhUPQkJLmV4ZQotemljPQkJLi9o
b3N0LXppYworSE9TVF9aSUM9CSQoVE9QRElSKS9ob3N0YmluL3ppYyQoRVhFRVhUKQoraWZlcSAo
JChDUk9TU19CVUlMRCksMSkKK3ppYz0JCSQoSE9TVF9aSUMpCitlbHNlCit6aWM9CQl6aWMkKEVY
RUVYVCkKK2VuZGlmCiBaSUM9CQkkKHppYykgJChaRkxBR1MpCiAKICMgVGhlIG5hbWUgb2YgYSBQ
b3NpeC1jb21wbGlhbnQgYGF3aycgb24geW91ciBzeXN0ZW0uCkBAIC01MDgsNyArNDc5LDcgQEAK
IAkJJChVVElMKSBjcCB6ZHVtcC5tYW4gJChNQU5ESVIpL2NhdDgvemR1bXAuOAogCQkkKFVUSUwp
IGNwIHppYy5tYW4gJChNQU5ESVIpL2NhdDgvemljLjgKIAotYWxsOgkJdHpzZWxlY3QgaG9zdC16
aWMgemljJChFWEVFWFQpIHpkdW1wJChFWEVFWFQpICQoTElCT0JKUykKK2FsbDoJCXR6c2VsZWN0
ICQoSE9TVF9aSUMpIHppYyQoRVhFRVhUKSB6ZHVtcCQoRVhFRVhUKSAkKExJQk9CSlMpCiAKIEFM
TDoJCWFsbCBkYXRlJChFWEVFWFQpCiAKQEAgLTUxNywxOCArNDg4LDE4IEBACiAJCSBlY2hvICdz
dGF0aWMgY2hhciBjb25zdCBUWlZFUlNJT05bXT0iJChWRVJTSU9OKSI7JyAmJiBcCiAJCSBlY2hv
ICdzdGF0aWMgY2hhciBjb25zdCBSRVBPUlRfQlVHU19UT1tdPSIkKEJVR0VNQUlMKSI7JykgPiRA
CiAKLXpkdW1wJChFWEVFWFQpOgkkKFRaRE9CSlMpCi0JCSQoQ0MpIC1vICRAICQoQ0ZMQUdTKSAk
KExERkxBR1MpICQoVFpET0JKUykgJChMRExJQlMpCi0JCSQoQ1JPU1NfU1RSSVApICRACit6ZHVt
cCQoRVhFRVhUKToJJChUWkRPQkpTKSAkKFRPUERJUikvbGliL2NydDAubyAkKFRPUERJUikvbGli
L2xpYmMuYQorCQkkKENST1NTX0xEKSAtcyAkKExERkxBR1MpICQoVE9QRElSKS9saWIvY3J0MC5v
ICQoVFpET0JKUykgLW8gJEAgJChUT1BESVIpL2xpYi9saWJjLmEgJChMSUJHQ0NBKSAtVCAkKERK
R1BQX0RKTCkKKwkJJChUT1BESVIpL2hvc3RiaW4vc3R1YmlmeS5leGUgJEAKIAotaG9zdC16aWM6
CSQoVFpDU1JDUykgeWVhcmlzdHlwZSB2ZXJzaW9uLmgKKyQoSE9TVF9aSUMpOgkkKFRaQ1NSQ1Mp
IHllYXJpc3R5cGUgdmVyc2lvbi5oCiAJCSQoR0NDKSAtRFRaRElSPVwiL2Rldi9lbnYvREpESVJ+
YzovZGpncHB+L3pvbmVpbmZvXCIgXAogCQkkKEdDQ0ZMQUdTKSAkKExERkxBR1MpICQoVFpDU1JD
UykgJChMRExJQlMpIC1vICRACiAJCSQoU1RSSVApICRACiAKLXppYyQoRVhFRVhUKToJJChUWkNP
QkpTKSB5ZWFyaXN0eXBlCi0JCSQoQ0MpIC1vICRAICQoQ0ZMQUdTKSAkKExERkxBR1MpICQoVFpD
T0JKUykgJChMRExJQlMpCi0JCSQoQ1JPU1NfU1RSSVApICRACit6aWMkKEVYRUVYVCk6CSQoVFpD
T0JKUykgJChUT1BESVIpL2xpYi9jcnQwLm8gJChUT1BESVIpL2xpYi9saWJjLmEgeWVhcmlzdHlw
ZQorCQkkKENST1NTX0xEKSAtcyAkKExERkxBR1MpICQoVE9QRElSKS9saWIvY3J0MC5vICQoVFpD
T0JKUykgLW8gJEAgJChUT1BESVIpL2xpYi9saWJjLmEgJChMSUJHQ0NBKSAtVCAkKERKR1BQX0RK
TCkKKwkJJChUT1BESVIpL2hvc3RiaW4vc3R1YmlmeS5leGUgJEAKIAogeWVhcmlzdHlwZToJeWVh
cmlzdHlwZS5zaAogCQkkKFVUSUwpIGNwIHllYXJpc3R5cGUuc2ggeWVhcmlzdHlwZQpAQCAtNTc4
LDE1ICs1NDksOSBAQAogCQktJChVVElMKSBta2RpciAkKExJQkRJUikKIAkJJChDUk9TU19BUikg
cnVzICRAICQoTElCT0JKUykKIAotIyBXZSB1c2UgdGhlIHN5c3RlbSdzIGxvZ3d0bXAgaW4gcHJl
ZmVyZW5jZSB0byBvdXJzIGlmIGF2YWlsYWJsZS4KLQotZGF0ZSQoRVhFRVhUKToJJChEQVRFT0JK
UykKLQkJJChDUk9TU19BUikgcnMgbG9nd3RtcGwuYSBsb2d3dG1wLm8KLQkJJChDQykgJChDRkxB
R1MpIGRhdGUubyBsb2NhbHRpbWUubyBhc2N0aW1lLm8gc3RyZnRpbWUubyBcCi0JCQkkKExETElC
UykgLWxjIGxvZ3d0bXBsLmEgLW8gJEAKLQkJJChDUk9TU19TVFJJUCkgJEAKLQkJJChVVElMKSBy
bSBsb2d3dG1wbC5hCi0JCSQoQ1JPU1NfU1RSSVApICRACitkYXRlJChFWEVFWFQpOgkkKERBVEVP
QkpTKSAkKFRPUERJUikvbGliL2NydDAubyAkKFRPUERJUikvbGliL2xpYmMuYQorCQkkKENST1NT
X0xEKSAtcyAkKExERkxBR1MpICQoVE9QRElSKS9saWIvY3J0MC5vICQoREFURU9CSlMpIC1vICRA
ICQoVE9QRElSKS9saWIvbGliYy5hICQoTElCR0NDQSkgLVQgJChESkdQUF9ESkwpCisJCSQoVE9Q
RElSKS9ob3N0YmluL3N0dWJpZnkuZXhlICRACiAKIHR6c2VsZWN0Ogl0enNlbGVjdC5rc2gKIAkJ
c2VkIFwKQEAgLTYxMSw3ICs1NzYsNyBAQAogCiBjbGVhbl9taXNjOgogCQkkKFVUSUwpIHJtIGNv
cmUgKi5vICoub3V0IHR6c2VsZWN0IHpkdW1wJChFWEVFWFQpIHppYyQoRVhFRVhUKSBcCi0JCQl5
ZWFyaXN0eXBlIGRhdGUkKEVYRUVYVCkgbG9nd3RtcGwqICoudGFyLmd6IGhvc3QtemljICouZXhl
ICoubWFuIFwKKwkJCXllYXJpc3R5cGUgZGF0ZSQoRVhFRVhUKSBsb2d3dG1wbCogKi50YXIuZ3og
JChIT1NUX1pJQykgKi5leGUgKi5tYW4gXAogCQkJVERBVEFfbGlzdAogY2xlYW46CQljbGVhbl9t
aXNjCiAJCSQoVVRJTCkgcm0gLWYgLXIgdHpwdWJsaWMK
--001a11354e16b385c8051684e5f1
Content-Type: application/octet-stream; name=makefile
Content-Disposition: attachment; filename=makefile
Content-Transfer-Encoding: base64
X-Attachment-Id: file0

IyA8cHJlPgojIFRoaXMgZmlsZSBpcyBpbiB0aGUgcHVibGljIGRvbWFpbiwgc28gY2xhcmlmaWVk
IGFzIG9mCiMgMjAwOS0wNS0xNyBieSBBcnRodXIgRGF2aWQgT2xzb24uCgojIFBhY2thZ2UgbmFt
ZSBmb3IgdGhlIGNvZGUgZGlzdHJpYnV0aW9uLgpQQUNLQUdFPQl0emNvZGUKCiMgVmVyc2lvbiBu
dW1iZXJzIG9mIHRoZSBjb2RlIGFuZCBkYXRhIGRpc3RyaWJ1dGlvbnMuClZFUlNJT049CTIwMTNk
CgojIEVtYWlsIGFkZHJlc3MgZm9yIGJ1ZyByZXBvcnRzLgpCVUdFTUFJTD0JdHpAaWFuYS5vcmcK
CiMgQ2hhbmdlIHRoZSBsaW5lIGJlbG93IGZvciB5b3VyIHRpbWUgem9uZSAoYWZ0ZXIgZmluZGlu
ZyB0aGUgem9uZSB5b3Ugd2FudCBpbgojIHRoZSB0aW1lIHpvbmUgZmlsZXMsIG9yIGFkZGluZyBp
dCB0byBhIHRpbWUgem9uZSBmaWxlKS4KIyBBbHRlcm5hdGVseSwgaWYgeW91IGRpc2NvdmVyIHlv
dSd2ZSBnb3QgdGhlIHdyb25nIHRpbWUgem9uZSwgeW91IGNhbiBqdXN0CiMJemljIC1sIHJpZ2h0
em9uZQojIHRvIGNvcnJlY3QgdGhpbmdzLgojIFVzZSB0aGUgY29tbWFuZAojCW1ha2Ugem9uZW5h
bWVzCiMgdG8gZ2V0IGEgbGlzdCBvZiB0aGUgdmFsdWVzIHlvdSBjYW4gdXNlIGZvciBMT0NBTFRJ
TUUuCgpMT0NBTFRJTUU9CUdNVAoKIyBJZiB5b3Ugd2FudCBzb21ldGhpbmcgb3RoZXIgdGhhbiBF
YXN0ZXJuIFVuaXRlZCBTdGF0ZXMgdGltZSBhcyBhIHRlbXBsYXRlCiMgZm9yIGhhbmRsaW5nIFBP
U0lYLXN0eWxlIHRpbWUgem9uZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMsCiMgY2hhbmdlIHRoZSBs
aW5lIGJlbG93IChhZnRlciBmaW5kaW5nIHRoZSB6b25lIHlvdSB3YW50IGluIHRoZQojIHRpbWUg
em9uZSBmaWxlcywgb3IgYWRkaW5nIGl0IHRvIGEgdGltZSB6b25lIGZpbGUpLgojIChXaGVuIGEg
UE9TSVgtc3R5bGUgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgaGFuZGxlZCwgdGhlIHJ1bGVzIGlu
IHRoZQojIHRlbXBsYXRlIGZpbGUgYXJlIHVzZWQgdG8gZGV0ZXJtaW5lICJzcHJpbmcgZm9yd2Fy
ZCIgYW5kICJmYWxsIGJhY2siIGRheXMgYW5kCiMgdGltZXM7IHRoZSBlbnZpcm9ubWVudCB2YXJp
YWJsZSBpdHNlbGYgc3BlY2lmaWVzIFVUQyBvZmZzZXRzIG9mIHN0YW5kYXJkIGFuZAojIHN1bW1l
ciB0aW1lLikKIyBBbHRlcm5hdGVseSwgaWYgeW91IGRpc2NvdmVyIHlvdSd2ZSBnb3QgdGhlIHdy
b25nIHRpbWUgem9uZSwgeW91IGNhbiBqdXN0CiMJemljIC1wIHJpZ2h0em9uZQojIHRvIGNvcnJl
Y3QgdGhpbmdzLgojIFVzZSB0aGUgY29tbWFuZAojCW1ha2Ugem9uZW5hbWVzCiMgdG8gZ2V0IGEg
bGlzdCBvZiB0aGUgdmFsdWVzIHlvdSBjYW4gdXNlIGZvciBQT1NJWFJVTEVTLgojIElmIHlvdSB3
YW50IFBPU0lYIGNvbXBhdGliaWxpdHksIHVzZSAiQW1lcmljYS9OZXdfWW9yayIuCgpQT1NJWFJV
TEVTPQlBbWVyaWNhL05ld19Zb3JrCgojIEFsc28gc2VlIFRaREVGUlVMRVNUUklORyBiZWxvdywg
d2hpY2ggdGFrZXMgZWZmZWN0IG9ubHkKIyBpZiB0aGUgdGltZSB6b25lIGZpbGVzIGNhbm5vdCBi
ZSBhY2Nlc3NlZC4KCiMgRXZlcnl0aGluZyBnZXRzIHB1dCBpbiBzdWJkaXJlY3RvcmllcyBvZi4g
LiAuCgpUT1BESVI9CQkuLi8uLgoKIyAiQ29tcGlsZWQiIHRpbWUgem9uZSBpbmZvcm1hdGlvbiBp
cyBwbGFjZWQgaW4gdGhlICJUWkRJUiIgZGlyZWN0b3J5CiMgKGFuZCBzdWJkaXJlY3Rvcmllcyku
CiMgVXNlIGFuIGFic29sdXRlIHBhdGggbmFtZSBmb3IgVFpESVIgdW5sZXNzIHlvdSdyZSBqdXN0
IHRlc3RpbmcgdGhlIHNvZnR3YXJlLgoKVFpESVI9CQkkKFRPUERJUikvem9uZWluZm8KCiMgVHlw
ZXMgdG8gdHJ5LCBhcyBhbiBhbHRlcm5hdGl2ZSB0byB0aW1lX3QuICBpbnQ2NF90IHNob3VsZCBi
ZSBmaXJzdC4KVElNRV9UX0FMVEVSTkFUSVZFUz0gaW50NjRfdCBpbnQzMl90IHVpbnQzMl90IHVp
bnQ2NF90CgojIFRoZSAidHpzZWxlY3QiLCAiemljIiwgYW5kICJ6ZHVtcCIgY29tbWFuZHMgZ2V0
IGluc3RhbGxlZCBpbi4gLiAuCgpFVENESVI9CQkkKFRPUERJUikvZXRjCgojIElmIHlvdSAibWFr
ZSBJTlNUQUxMIiwgdGhlICJkYXRlIiBjb21tYW5kIGdldHMgaW5zdGFsbGVkIGluLiAuIC4KCkJJ
TkRJUj0JCSQoVE9QRElSKS9ldGMKCiMgTWFudWFsIHBhZ2VzIGdvIGluIHN1YmRpcmVjdG9yaWVz
IG9mLiAuIC4KClNIQVJFRElSPQkkKFRPUERJUikvc2hhcmUKTUFORElSPQkJJChTSEFSRURJUikv
bWFuCgojIExpYnJhcnkgZnVuY3Rpb25zIGFyZSBwdXQgaW4gYW4gYXJjaGl2ZSBpbiBMSUJESVIu
CgpMSUJESVI9CQkkKFRPUERJUikvbGliClRaTElCPQkJJChMSUJESVIpL2xpYnR6LmEKCiMgVGhp
cyBkZWZpbmVzIHNldmVyYWwgdmFyaWFibGVzIHRoYXQgZW5hYmxlIHpvbmVpbmZvL3NyYy8qIGZp
bGVzIHRvIGJlCiMgYnVpbHQgYm90aCBuYXRpdmVseSBhbmQgd2l0aCBjcm9zcy10b29scyBvbiBV
bml4LgoKaW5jbHVkZSAkKFRPUERJUikvc3JjL21ha2VmaWxlLmRlZgpleHBvcnQgQ1JPU1NfQlVJ
TEQKCiMgSWYgY3Jvc3MgY29tcGlsaW5nIHRoZSBuYXRpdmUgYW5kIGNyb3NzLWNvbXBpbGVyIHZl
cnNpb25zIG1heSBub3QgbWF0Y2guCiMgQWxsb3cgZGlmZmVyZW50IGZsYWcgc2V0dGluZ3MgYWNj
cm9yZGluZyB0aGUgY29tcGlsZXIgdmVyc2lvbi4KR0NDX01BSk9SIDo9ICQod29yZCAzLCAkKHNo
ZWxsIC4uLy4uL3NyYy9taXNjLmV4ZSB8ICQoR0NDKSAtRSAtZEQgLXggYyAtIHwgZWdyZXAgJ2Rl
ZmluZVwgKl9fR05VQ19fJykpCkdDQ19NSU5PUiA6PSAkKHdvcmQgMywgJChzaGVsbCAuLi8uLi9z
cmMvbWlzYy5leGUgfCAkKEdDQykgLUUgLWREIC14IGMgLSB8IGVncmVwICdkZWZpbmVcICpfX0dO
VUNfTUlOT1JfXycpKQpDUk9TU19HQ0NfTUFKT1IgOj0gJCh3b3JkIDMsICQoc2hlbGwgLi4vLi4v
c3JjL21pc2MuZXhlIHwgJChDUk9TU19HQ0MpIC1FIC1kRCAteCBjIC0gfCBlZ3JlcCAnZGVmaW5l
XCAqX19HTlVDX18nKSkKQ1JPU1NfR0NDX01JTk9SIDo9ICQod29yZCAzLCAkKHNoZWxsIC4uLy4u
L3NyYy9taXNjLmV4ZSB8ICQoQ1JPU1NfR0NDKSAtRSAtZEQgLXggYyAtIHwgZWdyZXAgJ2RlZmlu
ZVwgKl9fR05VQ19NSU5PUl9fJykpCgppZmVxICgkKExJQkdDQ0EpLCkKTElCR0NDQSA6PSAkKHNo
ZWxsICQoQ1JPU1NfR0NDKSAkKEdDQ19PUFQpIC1wcmludC1maWxlLW5hbWU9bGliZ2NjLmEpCkxJ
QkdDQ0EgOj0gJChzdWJzdCBcLC8sJChMSUJHQ0NBKSkKZXhwb3J0IExJQkdDQ0EKZW5kaWYKCmlm
ZXEgKCQoREpHUFBfREpMKSwpCkRKR1BQX0RKTCA6PSAkKHNoZWxsICQoQ1JPU1NfR0NDKSAkKEdD
Q19PUFQpIC1wcmludC1maWxlLW5hbWU9ZGpncHAteC5kamwpCmlmZXEgKCQoREpHUFBfREpMKSxk
amdwcC14LmRqbCkKREpHUFBfREpMIDo9ICQoc2hlbGwgJChDUk9TU19HQ0MpICQoR0NDX09QVCkg
LXByaW50LWZpbGUtbmFtZT1kamdwcC5kamwpCmVuZGlmCkRKR1BQX0RKTCA6PSAkKHN1YnN0IFws
LywkKERKR1BQX0RKTCkpCmV4cG9ydCBESkdQUF9ESkwKZW5kaWYKCiMgQSByZXBsYWNlbWVudCBm
b3IgKHBvc3NpYmx5IG1pc3NpbmcpIFVuaXggcHJvZ3JhbXM6CgpVVElMPQkJJChUT1BESVIpL3Ny
Yy9taXNjLmV4ZQoKIyBJZiB5b3UgYWx3YXlzIHdhbnQgdGltZSB2YWx1ZXMgaW50ZXJwcmV0ZWQg
YXMgInNlY29uZHMgc2luY2UgdGhlIGVwb2NoCiMgKG5vdCBjb3VudGluZyBsZWFwIHNlY29uZHMp
IiwgdXNlCiMJUkVETz0JCXBvc2l4X29ubHkKIyBiZWxvdy4gIElmIHlvdSBhbHdheXMgd2FudCBy
aWdodCB0aW1lIHZhbHVlcyBpbnRlcnByZXRlZCBhcyAic2Vjb25kcyBzaW5jZQojIHRoZSBlcG9j
aCIgKGNvdW50aW5nIGxlYXAgc2Vjb25kcykiLCB1c2UKIwlSRURPPQkJcmlnaHRfb25seQojIGJl
bG93LiAgSWYgeW91IHdhbnQgYm90aCBzZXRzIG9mIGRhdGEgYXZhaWxhYmxlLCB3aXRoIGxlYXAg
c2Vjb25kcyBub3QKIyBjb3VudGVkIG5vcm1hbGx5LCB1c2UKIwlSRURPPQkJcG9zaXhfcmlnaHQK
IyBiZWxvdy4gIElmIHlvdSB3YW50IGJvdGggc2V0cyBvZiBkYXRhIGF2YWlsYWJsZSwgd2l0aCBs
ZWFwIHNlY29uZHMgY291bnRlZAojIG5vcm1hbGx5LCB1c2UKIwlSRURPPQkJcmlnaHRfcG9zaXgK
IyBiZWxvdy4KIyBQT1NJWCBtYW5kYXRlcyB0aGF0IGxlYXAgc2Vjb25kcyBub3QgYmUgY291bnRl
ZDsgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBpdCwKIyB1c2UgZWl0aGVyICJwb3NpeF9vbmx5IiBv
ciAicG9zaXhfcmlnaHQiLgoKUkVETz0JCXBvc2l4X29ubHkKCiMgU2luY2UgIi4iIG1heSBub3Qg
YmUgaW4gUEFUSC4uLgoKWUVBUklTVFlQRT0JLi95ZWFyaXN0eXBlCgojIE5vbi1kZWZhdWx0IGxp
YnJhcmllcyBuZWVkZWQgdG8gbGluay4KIyBBZGQgLWxpbnRsIGlmIHlvdSB3YW50IHRvIHVzZSBg
Z2V0dGV4dCcgb24gU29sYXJpcy4KTERMSUJTPQoKIyBBZGQgdGhlIGZvbGxvd2luZyB0byB0aGUg
ZW5kIG9mIHRoZSAiQ0ZMQUdTPSIgbGluZSBhcyBuZWVkZWQuCiMgIC1ESEFWRV9BREpUSU1FPTAg
aWYgYGFkanRpbWUnIGRvZXMgbm90IGV4aXN0IChTVlIwPykKIyAgLURIQVZFX0RPU19GSUxFX05B
TUVTIGlmIGZpbGUgbmFtZXMgaGF2ZSBkcml2ZSBzcGVjaWZpZXJzIGV0Yy4gKE1TLURPUykKIyAg
LURIQVZFX0dFVFRFWFQ9MSBpZiBgZ2V0dGV4dCcgd29ya3MgKEdOVSwgTGludXgsIFNvbGFyaXMp
OyBhbHNvIHNlZSBMRExJQlMKIyAgLURIQVZFX0lOQ09NUEFUSUJMRV9DVElNRV9SPTEgaWYgeW91
ciBzeXN0ZW0ncyB0aW1lLmggZGVjbGFyZXMKIwljdGltZV9yIGFuZCBhc2N0aW1lX3IgaW5jb21w
YXRpYmx5IHdpdGggdGhlIFBPU0lYIHN0YW5kYXJkIChTb2xhcmlzIDgpLgojICAtREhBVkVfSU5U
VFlQRVNfSD0xIGlmIHlvdSBoYXZlIGEgcHJlLUM5OSBjb21waWxlciB3aXRoICJpbnR0eXBlcy5o
IgojICAtREhBVkVfU0VUVElNRU9GREFZPTAgaWYgc2V0dGltZW9mZGF5IGRvZXMgbm90IGV4aXN0
IChTVlIwPykKIyAgLURIQVZFX1NFVFRJTUVPRkRBWT0xIGlmIHNldHRpbWVvZmRheSBoYXMganVz
dCAxIGFyZyAoU1ZSNCkKIyAgLURIQVZFX1NFVFRJTUVPRkRBWT0yIGlmIHNldHRpbWVvZmRheSB1
c2VzIDJuZCBhcmcgKDQuM0JTRCkKIyAgLURIQVZFX1NFVFRJTUVPRkRBWT0zIGlmIHNldHRpbWVv
ZmRheSBpZ25vcmVzIDJuZCBhcmcgKDQuNEJTRCkKIyAgLURIQVZFX1NURElOVF9IPTEgaWYgeW91
IGhhdmUgYSBwcmUtQzk5IGNvbXBpbGVyIHdpdGggInN0ZGludC5oIgojICAtREhBVkVfU1lNTElO
Sz0wIGlmIHlvdXIgc3lzdGVtIGxhY2tzIHRoZSBzeW1saW5rIGZ1bmN0aW9uCiMgIC1ESEFWRV9T
WVNfU1RBVF9IPTAgaWYgeW91ciBjb21waWxlciBsYWNrcyBhICJzeXMvc3RhdC5oIgojICAtREhB
VkVfU1lTX1dBSVRfSD0wIGlmIHlvdXIgY29tcGlsZXIgbGFja3MgYSAic3lzL3dhaXQuaCIKIyAg
LURIQVZFX1VOSVNURF9IPTAgaWYgeW91ciBjb21waWxlciBsYWNrcyBhICJ1bmlzdGQuaCIgKE1p
Y3Jvc29mdCBDKysgNz8pCiMgIC1ESEFWRV9VVE1QWF9IPTEgaWYgeW91ciBjb21waWxlciBoYXMg
YSAidXRtcHguaCIKIyAgLURMT0NBTEVfSE9NRT1cInBhdGhcIiBpZiBsb2NhbGVzIGFyZSBpbiAi
cGF0aCIsIG5vdCAiL3Vzci9saWIvbG9jYWxlIgojICAtRE5PX1JVTl9USU1FX1dBUk5JTkdTX0FC
T1VUX1lFQVJfMjAwMF9QUk9CTEVNU19USEFOS19ZT1U9MQojCWlmIHlvdSBkbyBub3Qgd2FudCBy
dW4gdGltZSB3YXJuaW5ncyBhYm91dCBmb3JtYXRzIHRoYXQgbWF5IGNhdXNlCiMJeWVhciAyMDAw
IGdyaWVmCiMgIC1EVElNRV9UX0ZMT0FUSU5HPTEgaWYgeW91ciB0aW1lX3QgKG9yIHRpbWVfdHop
IGlzIGZsb2F0aW5nIHBvaW50CiMgIC1EdGltZV90ej1cIlRcIiB0byB1c2UgVCBhcyB0aGUgdGlt
ZV90IHR5cGUsIHJhdGhlciB0aGFuIHRoZSBzeXN0ZW0gdGltZV90CiMgIC1EVFpfRE9NQUlOPVwi
Zm9vXCIgdG8gdXNlICJmb28iIGZvciBnZXR0ZXh0IGRvbWFpbiBuYW1lOyBkZWZhdWx0IGlzICJ0
eiIKIyAgLVRUWl9ET01BSU5ESVI9XCIvcGF0aFwiIHRvIHVzZSAiL3BhdGgiIGZvciBnZXR0ZXh0
IGRpcmVjdG9yeTsKIwl0aGUgZGVmYXVsdCBpcyBzeXN0ZW0tc3VwcGxpZWQsIHR5cGljYWxseSAi
L3Vzci9saWIvbG9jYWxlIgojICAtRFRaREVGUlVMRVNUUklORz1cIixkYXRlL3RpbWUsZGF0ZS90
aW1lXCIgdG8gZGVmYXVsdCB0byB0aGUgc3BlY2lmaWVkCiMJRFNUIHRyYW5zaXRpb25zIGlmIHRo
ZSB0aW1lIHpvbmUgZmlsZXMgY2Fubm90IGJlIGFjY2Vzc2VkCiMgIC1EWklDX01BWF9BQkJSX0xF
Tl9XT19XQVJOPTMKIwkob3Igc29tZSBvdGhlciBudW1iZXIpIHRvIHNldCB0aGUgbWF4aW11bSB0
aW1lIHpvbmUgYWJicmV2aWF0aW9uIGxlbmd0aAojCXRoYXQgemljIHdpbGwgYWNjZXB0IHdpdGhv
dXQgYSB3YXJuaW5nICh0aGUgZGVmYXVsdCBpcyA2KQojICAkKEdDQ19ERUJVR19GTEFHUykgaWYg
eW91IGFyZSB1c2luZyBHQ0MgYW5kIHdhbnQgbG90cyBvZiBjaGVja2luZwojR0NDX0RFQlVHX0ZM
QUdTID0gLURsaW50IC1nMyAtTzMgLWZuby1jb21tb24gLWZzdHJpY3QtYWxpYXNpbmcgXAojCS1X
YWxsIC1XZXh0cmEgXAojCS1XYmFkLWZ1bmN0aW9uLWNhc3QgLVdjYXN0LWFsaWduIC1XY2FzdC1x
dWFsIFwKIwktV2Zvcm1hdD0yIC1XaW5pdC1zZWxmIFwKIwktV21pc3NpbmctZGVjbGFyYXRpb25z
IC1XbWlzc2luZy1ub3JldHVybiAtV21pc3NpbmctcHJvdG90eXBlcyBcCiMJLVduZXN0ZWQtZXh0
ZXJucyBcCiMJLVduby1mb3JtYXQtbm9ubGl0ZXJhbCAtV25vLXNpZ24tY29tcGFyZSAtV25vLXNp
Z24tY29udmVyc2lvbiBcCiMJLVduby10eXBlLWxpbWl0cyBcCiMJLVduby11bnVzZWQtcGFyYW1l
dGVyIC1Xb3Zlcmxlbmd0aC1zdHJpbmdzIC1XcG9pbnRlci1hcml0aCBcCiMJLVdzaGFkb3cgLVdz
dHJpY3QtcHJvdG90eXBlcyAtV3N1Z2dlc3QtYXR0cmlidXRlPWNvbnN0IFwKIwktV3N1Z2dlc3Qt
YXR0cmlidXRlPW5vcmV0dXJuIC1Xc3VnZ2VzdC1hdHRyaWJ1dGU9cHVyZSAtV3RyYW1wb2xpbmVz
IFwKIwktV3dyaXRlLXN0cmluZ3MKCkNPTU1PTl9ERUJVR19GTEFHUyA9IC1EbGludCAtZyAtZm5v
LWNvbW1vbiAtZnN0cmljdC1hbGlhc2luZyBcCgktV2FsbCAtVyAtV2Nhc3QtYWxpZ24gLVdjYXN0
LXF1YWwgLVdwb2ludGVyLWFyaXRoIFwKCS1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5n
LXByb3RvdHlwZXMgLVdzdHJpY3QtcHJvdG90eXBlcyBcCgktV25lc3RlZC1leHRlcm5zIC1Xc2hh
ZG93IC1Xd3JpdGUtc3RyaW5ncwoKIyBDcm9zcyBjb21waWxlciBkZWJ1ZyBmbGFncy4KaWZlcSAo
JChmaWx0ZXIgMiwkKENST1NTX0dDQ19NQUpPUikpLCkKIyBnY2MgPj0gMy54CkNST1NTX0dDQzNf
REZMQUdTID0gLVdiYWQtZnVuY3Rpb24tY2FzdCAtV25vLXNpZ24tY29tcGFyZSAtV25vLXVudXNl
ZC1wYXJhbWV0ZXIKaWZlcSAoJChmaWx0ZXIgMywkKENST1NTX0dDQ19NQUpPUikpLCkKaWZlcSAo
JChmaWx0ZXIgNCwkKENST1NTX0dDQ19NQUpPUikpLCkKIyBnY2MgPj0gNS54CkNST1NTX0dDQzRf
REZMQUdTID0gLVduby10eXBlLWxpbWl0cwplbHNlCiMgZ2NjID49IDQueAppZmVxICgkKGZpbHRl
ciAwIDEgMiwkKENST1NTX0dDQ19NSU5PUikpLCkKIyBnY2MgPj0gNC4zCkNST1NTX0dDQzRfREZM
QUdTID0gLVduby10eXBlLWxpbWl0cwplbmRpZgplbmRpZgplbmRpZgplbmRpZgpDUk9TU19HQ0Nf
REVCVUdfRkxBR1MgPSAkKENPTU1PTl9ERUJVR19GTEFHUykgJChDUk9TU19HQ0MzX0RGTEFHUykg
JChDUk9TU19HQ0M0X0RGTEFHUykKCiMgTmF0aXZlIGNvbXBpbGVyIGRlYnVnIGZsYWdzLgppZmVx
ICgkKGZpbHRlciAyLCQoR0NDX01BSk9SKSksKQojIGdjYyA+PSAzLngKR0NDM19ERUJVR19GTEFH
UyA9IC1XYmFkLWZ1bmN0aW9uLWNhc3QgLVduby1zaWduLWNvbXBhcmUgLVduby11bnVzZWQtcGFy
YW1ldGVyCmlmZXEgKCQoZmlsdGVyIDMsJChHQ0NfTUFKT1IpKSwpCmlmZXEgKCQoZmlsdGVyIDQs
JChHQ0NfTUFKT1IpKSwpCiMgZ2NjID49IDUueApHQ0M0X0RFQlVHX0ZMQUdTID0gLVduby10eXBl
LWxpbWl0cwplbHNlCiMgZ2NjID49IDQueAppZmVxICgkKGZpbHRlciAwIDEgMiwkKEdDQ19NSU5P
UikpLCkKIyBnY2MgPj0gNC4zCkdDQzRfREVCVUdfRkxBR1MgPSAtV25vLXR5cGUtbGltaXRzCmVu
ZGlmCmVuZGlmCmVuZGlmCmVuZGlmCkdDQ19ERUJVR19GTEFHUyA9ICQoQ09NTU9OX0RFQlVHX0ZM
QUdTKSAkKEdDQzNfREVCVUdfRkxBR1MpICQoR0NDNF9ERUJVR19GTEFHUykKCiMKIyBJZiB5b3Ug
d2FudCB0byB1c2UgU3lzdGVtIFYgY29tcGF0aWJpbGl0eSBjb2RlLCBhZGQKIwktRFVTR19DT01Q
QVQKIyB0byB0aGUgZW5kIG9mIHRoZSAiQ0ZMQUdTPSIgbGluZS4gIFRoaXMgYXJyYW5nZSBmb3Ig
InRpbWV6b25lIiBhbmQgImRheWxpZ2h0IgojIHZhcmlhYmxlcyB0byBiZSBrZXB0IHVwLXRvLWRh
dGUgYnkgdGhlIHRpbWUgY29udmVyc2lvbiBmdW5jdGlvbnMuICBOZWl0aGVyCiMgInRpbWV6b25l
IiBub3IgImRheWxpZ2h0IiBpcyBkZXNjcmliZWQgaW4gWDNKMTEncyB3b3JrLgojCiMgSWYgeW91
ciBzeXN0ZW0gaGFzIGEgIkdNVCBvZmZzZXQiIGZpZWxkIGluIGl0cyAic3RydWN0IHRtInMKIyAo
b3IgaWYgeW91IGRlY2lkZSB0byBhZGQgc3VjaCBhIGZpZWxkIGluIHlvdXIgc3lzdGVtJ3MgInRp
bWUuaCIgZmlsZSksCiMgYWRkIHRoZSBuYW1lIHRvIGEgZGVmaW5lIHN1Y2ggYXMKIwktRFRNX0dN
VE9GRj10bV9nbXRvZmYKIyBvcgojCS1EVE1fR01UT0ZGPV90bV9nbXRvZmYKIyB0byB0aGUgZW5k
IG9mIHRoZSAiQ0ZMQUdTPSIgbGluZS4KIyBOZWl0aGVyIHRtX2dtdG9mZiBub3IgX3RtX2dtdG9m
ZiBpcyBkZXNjcmliZWQgaW4gWDNKMTEncyB3b3JrOwojIGluIGl0cyB3b3JrLCB1c2Ugb2YgInRt
X2dtdG9mZiIgaXMgZGVzY3JpYmVkIGFzIG5vbi1jb25mb3JtaW5nLgojIEJvdGggTGludXggYW5k
IEJTRCBoYXZlIGRvbmUgdGhlIGVxdWl2YWxlbnQgb2YgZGVmaW5pbmcgVE1fR01UT0ZGIGluCiMg
dGhlaXIgcmVjZW50IHJlbGVhc2VzLgojCiMgSWYgeW91ciBzeXN0ZW0gaGFzIGEgInpvbmUgYWJi
cmV2aWF0aW9uIiBmaWVsZCBpbiBpdHMgInN0cnVjdCB0bSJzCiMgKG9yIGlmIHlvdSBkZWNpZGUg
dG8gYWRkIHN1Y2ggYSBmaWVsZCBpbiB5b3VyIHN5c3RlbSdzICJ0aW1lLmgiIGZpbGUpLAojIGFk
ZCB0aGUgbmFtZSB0byBhIGRlZmluZSBzdWNoIGFzCiMJLURUTV9aT05FPXRtX3pvbmUKIyBvcgoj
CS1EVE1fWk9ORT1fdG1fem9uZQojIHRvIHRoZSBlbmQgb2YgdGhlICJDRkxBR1M9IiBsaW5lLgoj
IE5laXRoZXIgdG1fem9uZSBub3IgX3RtX3pvbmUgaXMgZGVzY3JpYmVkIGluIFgzSjExJ3Mgd29y
azsKIyBpbiBpdHMgd29yaywgdXNlIG9mICJ0bV96b25lIiBpcyBkZXNjcmliZWQgYXMgbm9uLWNv
bmZvcm1pbmcuCiMgQm90aCBVQ0IgYW5kIFN1biBoYXZlIGRvbmUgdGhlIGVxdWl2YWxlbnQgb2Yg
ZGVmaW5pbmcgVE1fWk9ORSBpbgojIHRoZWlyIHJlY2VudCByZWxlYXNlcy4KIwojIElmIHlvdSB3
YW50IGZ1bmN0aW9ucyB0aGF0IHdlcmUgaW5zcGlyZWQgYnkgZWFybHkgdmVyc2lvbnMgb2YgWDNK
MTEncyB3b3JrLAojIGFkZAojCS1EU1REX0lOU1BJUkVECiMgdG8gdGhlIGVuZCBvZiB0aGUgIkNG
TEFHUz0iIGxpbmUuICBUaGlzIGFycmFuZ2VzIGZvciB0aGUgZnVuY3Rpb25zCiMgInR6c2V0d2Fs
bCIsICJvZmZ0aW1lIiwgInRpbWVsb2NhbCIsICJ0aW1lZ20iLCAidGltZW9mZiIsCiMgInBvc2l4
MnRpbWUiLCBhbmQgInRpbWUycG9zaXgiIHRvIGJlIGFkZGVkIHRvIHRoZSB0aW1lIGNvbnZlcnNp
b24gbGlicmFyeS4KIyAidHpzZXR3YWxsIiBpcyBsaWtlICJ0enNldCIgZXhjZXB0IHRoYXQgaXQg
YXJyYW5nZXMgZm9yIGxvY2FsIHdhbGwgY2xvY2sKIyB0aW1lIChyYXRoZXIgdGhhbiB0aGUgdGlt
ZSBzcGVjaWZpZWQgaW4gdGhlIFRaIGVudmlyb25tZW50IHZhcmlhYmxlKQojIHRvIGJlIHVzZWQu
CiMgIm9mZnRpbWUiIGlzIGxpa2UgImdtdGltZSIgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBhIHNl
Y29uZCAobG9uZykgYXJndW1lbnQKIyB0aGF0IGdpdmVzIGFuIG9mZnNldCB0byBhZGQgdG8gdGhl
IHRpbWVfdCB3aGVuIGNvbnZlcnRpbmcgaXQuCiMgInRpbWVsb2NhbCIgaXMgZXF1aXZhbGVudCB0
byAibWt0aW1lIi4KIyAidGltZWdtIiBpcyBsaWtlICJ0aW1lbG9jYWwiIGV4Y2VwdCB0aGF0IGl0
IHR1cm5zIGEgc3RydWN0IHRtIGludG8KIyBhIHRpbWVfdCB1c2luZyBVVEMgKHJhdGhlciB0aGFu
IGxvY2FsIHRpbWUgYXMgInRpbWVsb2NhbCIgZG9lcykuCiMgInRpbWVvZmYiIGlzIGxpa2UgInRp
bWVnbSIgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBhIHNlY29uZCAobG9uZykgYXJndW1lbnQKIyB0
aGF0IGdpdmVzIGFuIG9mZnNldCB0byB1c2Ugd2hlbiBjb252ZXJ0aW5nIHRvIGEgdGltZV90Lgoj
ICJwb3NpeDJ0aW1lIiBhbmQgInRpbWUycG9zaXgiIGFyZSBkZXNjcmliZWQgaW4gYW4gaW5jbHVk
ZWQgbWFudWFsIHBhZ2UuCiMgWDNKMTEncyB3b3JrIGRvZXMgbm90IGRlc2NyaWJlIGFueSBvZiB0
aGVzZSBmdW5jdGlvbnMuCiMgU3VuIGhhcyBwcm92aWRlZCAidHpzZXR3YWxsIiwgInRpbWVsb2Nh
bCIsIGFuZCAidGltZWdtIiBpbiBTdW5PUyA0LjAuCiMgVGhlc2UgZnVuY3Rpb25zIG1heSB3ZWxs
IGRpc2FwcGVhciBpbiBmdXR1cmUgcmVsZWFzZXMgb2YgdGhlIHRpbWUKIyBjb252ZXJzaW9uIHBh
Y2thZ2UuCiMKIyBJZiB5b3UnbGwgbmV2ZXIgd2FudCB0byBoYW5kbGUgc29sYXItdGltZS1iYXNl
ZCB0aW1lIHpvbmVzLCBhZGQKIwktRE5PU09MQVIKIyB0byB0aGUgZW5kIG9mIHRoZSAiQ0ZMQUdT
PSIgbGluZQojIChhbmQgY29tbWVudCBvdXQgdGhlICJTREFUQT0iIGxpbmUgYmVsb3cpLgojIFRo
aXMgcmVkdWNlcyAoc2xpZ2h0bHkpIHRoZSBydW4tdGltZSBkYXRhLXNwYWNlIHJlcXVpcmVtZW50
cyBvZgojIHRoZSB0aW1lIGNvbnZlcnNpb24gZnVuY3Rpb25zOyBpdCBtYXkgcmVkdWNlIHRoZSBh
Y2NlcHRhYmlsaXR5IG9mIHlvdXIgc3lzdGVtCiMgdG8gZm9sa3MgaW4gb2lsLSBhbmQgY2FzaC1y
aWNoIHBsYWNlcy4KIwojIElmIHlvdSB3YW50IHRvIGFsbG9jYXRlIHN0YXRlIHN0cnVjdHVyZXMg
aW4gbG9jYWx0aW1lLCBhZGQKIwktREFMTF9TVEFURQojIHRvIHRoZSBlbmQgb2YgdGhlICJDRkxB
R1M9IiBsaW5lLiAgU3RvcmFnZSBpcyBvYnRhaW5lZCBieSBjYWxsaW5nIG1hbGxvYy4KIwojIElm
IHlvdSB3YW50IGFuICJhbHR6b25lIiB2YXJpYWJsZSAoYSBsYSBTeXN0ZW0gViBSZWxlYXNlIDMu
MSksIGFkZAojCS1EQUxUWk9ORQojIHRvIHRoZSBlbmQgb2YgdGhlICJDRkxBR1M9IiBsaW5lLgoj
IFRoaXMgdmFyaWFibGUgaXMgbm90IGRlc2NyaWJlZCBpbiBYM0oxMSdzIHdvcmsuCiMKIyBJZiB5
b3Ugd2FudCBhICJndGltZSIgZnVuY3Rpb24gKGEgbGEgTUFDSCksIGFkZAojCS1EQ01VQ1MKIyB0
byB0aGUgZW5kIG9mIHRoZSAiQ0ZMQUdTPSIgbGluZQojIFRoaXMgZnVuY3Rpb24gaXMgbm90IGRl
c2NyaWJlZCBpbiBYM0oxMSdzIHdvcmsuCiMKIyBOSVNULVBDVFM6MTUxLTIsIFZlcnNpb24gMS40
LCAoMTk5My0xMi0wMykgaXMgYSB0ZXN0IHN1aXRlIHB1dAojIG91dCBieSB0aGUgTmF0aW9uYWwg
SW5zdGl0dXRlIG9mIFN0YW5kYXJkcyBhbmQgVGVjaG5vbG9neQojIHdoaWNoIGNsYWltcyB0byB0
ZXN0IEMgYW5kIFBvc2l4IGNvbmZvcm1hbmNlLiAgSWYgeW91IHdhbnQgdG8gcGFzcyBQQ1RTLCBh
ZGQKIwktRFBDVFMKIyB0byB0aGUgZW5kIG9mIHRoZSAiQ0ZMQUdTPSIgbGluZS4KIwojIElmIHlv
dSB3YW50IHN0cmljdCBjb21wbGlhbmNlIHdpdGggWFBHNCBhcyBvZiAxOTk0LTA0LTA5LCBhZGQK
IwktRFhQRzRfMTk5NF8wNF8wOQojIHRvIHRoZSBlbmQgb2YgdGhlICJDRkxBR1M9IiBsaW5lLiAg
VGhpcyBjYXVzZXMgInN0cmZ0aW1lIiB0byBhbHdheXMgcmV0dXJuCiMgNTMgYXMgYSB3ZWVrIG51
bWJlciAocmF0aGVyIHRoYW4gNTIgb3IgNTMpIGZvciB0aG9zZSBkYXlzIGluIEphbnVhcnkgdGhh
dAojIGJlZm9yZSB0aGUgZmlyc3QgTW9uZGF5IGluIEphbnVhcnkgd2hlbiBhICIlViIgZm9ybWF0
IGlzIHVzZWQgYW5kIEphbnVhcnkgMQojIGZhbGxzIG9uIGEgRnJpZGF5LCBTYXR1cmRheSwgb3Ig
U3VuZGF5LgoKIyBJZiBjcm9zcyBjb21waWxpbmcgdGhlIG5hdGl2ZSBhbmQgY3Jvc3MtY29tcGls
ZXIgdmVyc2lvbnMgbWF5IG5vdCBtYXRjaC4KIyBBbGxvdyBkaWZmZXJlbnQgZmxhZyBzZXR0aW5n
cyBhY2Nyb3JkaW5nIHRoZSBjb21waWxlciB2ZXJzaW9uLgojIEZsYWdzIGZvciBjcm9zcyBjb21w
aWxlcgpDRkxBR1M9CQktREhBVkVfQURKVElNRT0wIC1ESEFWRV9MT05HX0RPVUJMRT0xIC1ESEFW
RV9TRVRUSU1FT0ZEQVk9MSBcCgkJLURIQVZFX1NUUkVSUk9SPTEgLURIQVZFX1NZTUxJTks9MCAt
REhBVkVfU1RESU5UX0g9MVwKCQktRFNURF9JTlNQSVJFRCBcCgkJLURMT0NBTEVfSE9NRT1cIi9k
ZXYvZW52L0RKRElSfmM6L2RqZ3Bwfi9zaGFyZS9sb2NhbGVcIiBcCgkJJChDUk9TU19HQ0NfREVC
VUdfRkxBR1MpIC1PMiAtbm9zdGRpbmMgLUkkKFRPUERJUikvaW5jbHVkZQoKIyBGbGFncyBmb3Ig
bmF0aXZlIGNvbXBpbGVyCkdDQ0ZMQUdTPQktREhBVkVfQURKVElNRT0wIC1ESEFWRV9MT05HX0RP
VUJMRT0xIC1ESEFWRV9TRVRUSU1FT0ZEQVk9MSBcCgkJLURIQVZFX1NUUkVSUk9SPTEgLURIQVZF
X1NZTUxJTks9MCAtREhBVkVfU1RESU5UX0g9MSBcCgkJLURTVERfSU5TUElSRUQgXAoJCS1ETE9D
QUxFX0hPTUU9XCIvZGV2L2Vudi9ESkRJUn5jOi9kamdwcH4vc2hhcmUvbG9jYWxlXCIgXAoJCSQo
R0NDX0RFQlVHX0ZMQUdTKSAtTzIKCiMgRG9uJ3QgdXNlIC1zIGhlcmUsIHNpbmNlICJnY2MgLXMi
IG9uIERKJ3MgSXJpeCBtYWNoaW5lIGR1bXBzIGNvcmUKIyB3aGVuIGludm9rZWQgd2l0aCAtcy4g
IFRvIHdvcmsgYXJvdW5kLCB3ZSB1c2Ugc3RyaXAgZXhwbGljaXRseS4KTEZMQUdTPQoKIyBMaW5r
ZXIgZmxhZ3MuICBEZWZhdWx0IHRvICQoTEZMQUdTKSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxp
dHkKIyB0byB0emNvZGUyMDEyaCBhbmQgZWFybGllci4KCkxERkxBR1M9CSQoTEZMQUdTKQoKRVhF
RVhUPQkJLmV4ZQpIT1NUX1pJQz0JJChUT1BESVIpL2hvc3RiaW4vemljJChFWEVFWFQpCmlmZXEg
KCQoQ1JPU1NfQlVJTEQpLDEpCnppYz0JCSQoSE9TVF9aSUMpCmVsc2UKemljPQkJemljJChFWEVF
WFQpCmVuZGlmClpJQz0JCSQoemljKSAkKFpGTEFHUykKCiMgVGhlIG5hbWUgb2YgYSBQb3NpeC1j
b21wbGlhbnQgYGF3aycgb24geW91ciBzeXN0ZW0uCkFXSz0JCWdhd2sKCiMgVGhlIGZ1bGwgcGF0
aCBuYW1lIG9mIGEgUG9zaXgtY29tcGxpYW50IHNoZWxsIHRoYXQgc3VwcG9ydHMgdGhlIEtvcm4g
c2hlbGwncwojICdzZWxlY3QnIHN0YXRlbWVudCwgYXMgYW4gZXh0ZW5zaW9uLiAgVGhlc2UgZGF5
cywgQmFzaCBpcyB0aGUgbW9zdCBwb3B1bGFyLgpLU0hFTEw9CQkvYmluL2Jhc2gKCiMgVGhlIHBh
dGggd2hlcmUgU0dNTCBEVERzIGFyZSBrZXB0LgojIFRoZSBkZWZhdWx0IGlzIGFwcHJvcHJpYXRl
IGZvciBVYnVudHUgMTIuMTAuClNHTUxfVE9QRElSPSAvdXNyClNHTUxfRFRERElSPSAkKFNHTUxf
VE9QRElSKS9zaGFyZS94bWwvdzNjLXNnbWwtbGliL3NjaGVtYS9kdGQKU0dNTF9TRUFSQ0hfUEFU
SD0gJChTR01MX0RURERJUikvUkVDLWh0bWw0MDEtMTk5OTEyMjQKCiMgVGhlIGNhdGFsb2cgZmls
ZShzKSB0byB1c2Ugd2hlbiB2YWxpZGF0aW5nLgpTR01MX0NBVEFMT0dfRklMRVM9IEhUTUw0LmNh
dAoKIyBUaGUgbmFtZSwgYXJndW1lbnRzIGFuZCBlbnZpcm9ubWVudCBvZiBhIHByb2dyYW0gdG8g
dmFsaWRhdGUgeW91ciB3ZWIgcGFnZXMuCiMgU2VlIDxodHRwOi8vd3d3LmpjbGFyay5jb20vc3Av
PiBmb3IgYSB2YWxpZGF0b3IsIGFuZAojIDxodHRwOi8vdmFsaWRhdG9yLnczLm9yZy9zb3VyY2Uv
PiBmb3IgYSB2YWxpZGF0aW9uIGxpYnJhcnkuClZBTElEQVRFID0gbnNnbWxzClZBTElEQVRFX0ZM
QUdTID0gLXMgLUIgLXdhbGwgLXduby11bnVzZWQtcGFyYW0KVkFMSURBVEVfRU5WID0gXAogIFNH
TUxfQ0FUQUxPR19GSUxFUz0kKFNHTUxfQ0FUQUxPR19GSUxFUykgXAogIFNHTUxfU0VBUkNIX1BB
VEg9JChTR01MX1NFQVJDSF9QQVRIKSBcCiAgU1BfQ0hBUlNFVF9GSVhFRD1ZRVMgXAogIFNQX0VO
Q09ESU5HPVVURi04CgojIElOVkFMSURfQ0hBUiBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGF0
IG1hdGNoZXMgaW52YWxpZCBjaGFyYWN0ZXJzIGluCiMgZGlzdHJpYnV0ZWQgZmlsZXMuICBGb3Ig
bm93LCBzdGljayB0byBhIHNhZmUgc3Vic2V0IG9mIEFTQ0lJLgojIFRoZSBjYWxsZXIgbXVzdCBz
ZXQgdGhlIHNoZWxsIHZhcmlhYmxlICdzaGFycCcgdG8gdGhlIGNoYXJhY3RlciAnIycsCiMgc2lu
Y2UgTWFrZWZpbGUgbWFjcm9zIGNhbm5vdCBjb250YWluICcjJy4KIyBUQUJfQ0hBUiBpcyBhIHNp
bmdsZSB0YWIgY2hhcmFjdGVyLCBpbiBzaW5nbGUgcXVvdGVzLgpUQUJfQ0hBUj0JJwknCklOVkFM
SURfQ0hBUjE9CSQoVEFCX0NIQVIpJyAhXCInJCRzaGFycCckJCUmJ1wnJygpKissLi8wMTIzNDU2
Nzg5Ojs8PT4/QCcKSU5WQUxJRF9DSEFSMj0JJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xc
Xl9gJwpJTlZBTElEX0NIQVIzPQknYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+JwpJTlZB
TElEX0NIQVI9CSdbXl0nJChJTlZBTElEX0NIQVIxKSQoSU5WQUxJRF9DSEFSMikkKElOVkFMSURf
Q0hBUjMpJy1dJwoKIyBGbGFncyB0byBnaXZlICd0YXInIHdoZW4gbWFraW5nIGEgZGlzdHJpYnV0
aW9uLgojIFRyeSB0byB1c2UgZmxhZ3MgYXBwcm9wcmlhdGUgZm9yIEdOVSB0YXIuCkdOVVRBUkZM
QUdTPQktLW51bWVyaWMtb3duZXIgLS1vd25lcj0wIC0tZ3JvdXA9MCAtLW1vZGU9Z28rdSxnby13
ClRBUkZMQUdTPQlgaWYgdGFyICQoR05VVEFSRkxBR1MpIC0tdmVyc2lvbiA+L2Rldi9udWxsIDI+
JjE7IFwKCQkgdGhlbiBlY2hvICQoR05VVEFSRkxBR1MpOyBcCgkJIGVsc2UgOjsgXAoJCSBmaWAK
CiMgRmxhZ3MgdG8gZ2l2ZSAnZ3ppcCcgd2hlbiBtYWtpbmcgYSBkaXN0cmlidXRpb24uCkdaSVBG
TEFHUz0JLTluCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpjYz0JCSQoQ1JPU1NfR0NDKQpDQz0J
CSQoY2MpIC1EVFpESVI9XCIvZGV2L2Vudi9ESkRJUn5jOi9kamdwcH4vem9uZWluZm9cIgoKVFpD
U1JDUz0JemljLmMgbG9jYWx0aW1lLmMgYXNjdGltZS5jIHNjaGVjay5jIGlhbGxvYy5jClRaQ09C
SlM9CXppYy5vIGxvY2FsdGltZS5vIGFzY3RpbWUubyBzY2hlY2subyBpYWxsb2MubwpUWkRTUkNT
PQl6ZHVtcC5jIGxvY2FsdGltZS5jIGlhbGxvYy5jClRaRE9CSlM9CXpkdW1wLm8gbG9jYWx0aW1l
Lm8gaWFsbG9jLm8KREFURVNSQ1M9CWRhdGUuYyBsb2NhbHRpbWUuYyBsb2d3dG1wLmMgc3RyZnRp
bWUuYyBhc2N0aW1lLmMKREFURU9CSlM9CWRhdGUubyBsb2NhbHRpbWUubyBsb2d3dG1wLm8gc3Ry
ZnRpbWUubyBhc2N0aW1lLm8KTElCU1JDUz0JbG9jYWx0aW1lLmMgYXNjdGltZS5jIGRpZmZ0aW1l
LmMKTElCT0JKUz0JbG9jYWx0aW1lLm8gYXNjdGltZS5vIGRpZmZ0aW1lLm8KSEVBREVSUz0JdHpm
aWxlLmggcHJpdmF0ZS5oCk5PTkxJQlNSQ1M9CXppYy5jIHpkdW1wLmMgc2NoZWNrLmMgaWFsbG9j
LmMKTkVXVUNCU1JDUz0JZGF0ZS5jIGxvZ3d0bXAuYyBzdHJmdGltZS5jClNPVVJDRVM9CSQoSEVB
REVSUykgJChMSUJTUkNTKSAkKE5PTkxJQlNSQ1MpICQoTkVXVUNCU1JDUykgdHpzZWxlY3Qua3No
Ck1BTlM9CQluZXdjdGltZS4zIG5ld3N0cmZ0aW1lLjMgbmV3dHpzZXQuMyB0aW1lMnBvc2l4LjMg
XAoJCQl0emZpbGUuNSB0enNlbGVjdC44IHppYy44IHpkdW1wLjgKQ09NTU9OPQkJTWFrZWZpbGUK
RE9DUz0JCVJFQURNRSBUaGVvcnkgJChNQU5TKSBkYXRlLjEKUFJJTUFSWV9ZREFUQT0JYWZyaWNh
IGFudGFyY3RpY2EgYXNpYSBhdXN0cmFsYXNpYSBcCgkJZXVyb3BlIG5vcnRoYW1lcmljYSBzb3V0
aGFtZXJpY2EKWURBVEE9CQkkKFBSSU1BUllfWURBVEEpIHBhY2lmaWNuZXcgZXRjZXRlcmEgYmFj
a3dhcmQKTkRBVEE9CQlzeXN0ZW12IGZhY3RvcnkKU0RBVEE9CQlzb2xhcjg3IHNvbGFyODggc29s
YXI4OQpUREFUQT0JCSQoWURBVEEpICQoTkRBVEEpICQoU0RBVEEpClRBQkRBVEE9CWlzbzMxNjYu
dGFiIHpvbmUudGFiCkRBVEE9CQkkKFlEQVRBKSAkKE5EQVRBKSAkKFNEQVRBKSAkKFRBQkRBVEEp
IGxlYXBzZWNvbmRzIHllYXJpc3R5cGUuc2gKV0VCX1BBR0VTPQl0ei1hcnQuaHRtIHR6LWxpbmsu
aHRtCk1JU0M9CQl1c25vMTk4OCB1c25vMTk4OSB1c25vMTk4OWEgdXNubzE5OTUgdXNubzE5OTcg
dXNubzE5OTggXAoJCQkkKFdFQl9QQUdFUykgY2hlY2t0YWIuYXdrIHdvcmttYW4uc2ggXAoJCQl6
b25laW5mbzJ0ZGYucGwKRU5DSElMQURBPQkkKENPTU1PTikgJChET0NTKSAkKFNPVVJDRVMpICQo
REFUQSkgJChNSVNDKQoKIyBBbmQgZm9yIHRoZSBiZW5lZml0IG9mIGNzaCB1c2VycyBvbiBzeXN0
ZW1zIHRoYXQgYXNzdW1lIHRoZSB1c2VyCiMgc2hlbGwgc2hvdWxkIGJlIHVzZWQgdG8gaGFuZGxl
IGNvbW1hbmRzIGluIE1ha2VmaWxlcy4gLiAuCgpTSEVMTD0JCS9iaW4vc2gKCklOU1RBTEw6CUFM
TCBpbnN0YWxsIGRhdGUuMQoJCS0kKFVUSUwpIG1rZGlyICQoVE9QRElSKQoJCS0kKFVUSUwpIG1r
ZGlyICQoQklORElSKQoJCSQoVVRJTCkgY3AgZGF0ZSQoRVhFRVhUKSAkKEJJTkRJUikvZGF0ZSQo
RVhFRVhUKQoJCS0kKFVUSUwpIG1rZGlyICQoU0hBUkVESVIpCgkJLSQoVVRJTCkgbWtkaXIgJChN
QU5ESVIpCgkJLSQoVVRJTCkgbWtkaXIgJChNQU5ESVIpL2NhdDEKCQktJChVVElMKSBybSAkKE1B
TkRJUikvY2F0MS9kYXRlLjEKCQktZ3JvZmYgLW1tYW4gLVRhc2NpaSBkYXRlLjEgPiBkYXRlLm1h
bgoJCSQoVVRJTCkgY3AgZGF0ZS5tYW4gJChNQU5ESVIpL2NhdDEvZGF0ZS4xCgppbnN0YWxsOglh
bGwgJChEQVRBKSAkKFJFRE8pICQoVFpMSUIpICQoTUFOUykgJChUQUJEQVRBKQoJCSQoWklDKSAt
eSAkKFlFQVJJU1RZUEUpIFwKCQkJLWQgJChUWkRJUikgLWwgJChMT0NBTFRJTUUpIC1wICQoUE9T
SVhSVUxFUykKCQktJChVVElMKSBybSAtZiAkKFRaRElSKS9pc28zMTY2LnRhYiAkKFRaRElSKS96
b25lLnRhYgoJCSQoVVRJTCkgY3AgaXNvMzE2Ni50YWIgJChUWkRJUikvaXNvMzE2Ni50YWIKCQkk
KFVUSUwpIGNwIHpvbmUudGFiICQoVFpESVIpL3pvbmUudGFiCgkJLSQoVVRJTCkgbWtkaXIgJChU
T1BESVIpCgkJLSQoVVRJTCkgbWtkaXIgJChFVENESVIpCgkJJChVVElMKSBjcCB6aWMkKEVYRUVY
VCkgJChFVENESVIpL3ppYyQoRVhFRVhUKQoJCSQoVVRJTCkgY3AgemR1bXAkKEVYRUVYVCkgJChF
VENESVIpL3pkdW1wJChFWEVFWFQpCgkJJChVVElMKSBjcCB0enNlbGVjdCAkKEVUQ0RJUikvdHpz
ZWxlY3QKCQktJChVVElMKSBta2RpciAkKFNIQVJFRElSKQoJCS0kKFVUSUwpIG1rZGlyICQoTUFO
RElSKQoJCS0kKFVUSUwpIG1rZGlyICQoTUFORElSKS9jYXQzCgkJLSQoVVRJTCkgbWtkaXIgJChN
QU5ESVIpL2NhdDUKCQktJChVVElMKSBta2RpciAkKE1BTkRJUikvY2F0OAoJCS0kKFVUSUwpIHJt
IC1mICQoTUFORElSKS9jYXQzL25ld2N0aW1lLjMgXAoJCQkkKE1BTkRJUikvY2F0My9uZXd0enNl
dC4zIFwKCQkJJChNQU5ESVIpL2NhdDUvdHpmaWxlLjUgXAoJCQkkKE1BTkRJUikvY2F0OC90enNl
bGVjdC44IFwKCQkJJChNQU5ESVIpL2NhdDgvemR1bXAuOCBcCgkJCSQoTUFORElSKS9jYXQ4L3pp
Yy44CgkJLWdyb2ZmIC1tbWFuIC1UYXNjaWkgbmV3Y3RpbWUuMyA+IG5ld2N0aW1lLm1hbgoJCS1n
cm9mZiAtbW1hbiAtVGFzY2lpIG5ld3R6c2V0LjMgPiBuZXd0enNldC5tYW4KCQktZ3JvZmYgLW1t
YW4gLVRhc2NpaSB0aW1lMnBvc2l4LjMgPiB0aW1lMnBvc2l4Lm1hbgoJCS1ncm9mZiAtbW1hbiAt
VGFzY2lpIHR6ZmlsZS41ID4gdHpmaWxlLm1hbgoJCS1ncm9mZiAtbW1hbiAtVGFzY2lpIHR6c2Vs
ZWN0LjggPiB0enNlbGVjdC5tYW4KCQktZ3JvZmYgLW1tYW4gLVRhc2NpaSB6ZHVtcC44ID4gemR1
bXAubWFuCgkJLWdyb2ZmIC1tbWFuIC1UYXNjaWkgemljLjggPiB6aWMubWFuCgkJJChVVElMKSBj
cCBuZXdjdGltZS5tYW4gJChNQU5ESVIpL2NhdDMvbmV3Y3RpbWUuMwoJCSQoVVRJTCkgY3AgbmV3
dHpzZXQubWFuICQoTUFORElSKS9jYXQzL25ld3R6c2V0LjMKCQkkKFVUSUwpIGNwIHRpbWUycG9z
aXgubWFuICQoTUFORElSKS9jYXQzL3RpbWUycG9zaXguMwoJCSQoVVRJTCkgY3AgdHpmaWxlLm1h
biAkKE1BTkRJUikvY2F0NS90emZpbGUuNQoJCSQoVVRJTCkgY3AgdHpzZWxlY3QubWFuICQoTUFO
RElSKS9jYXQ4L3R6c2VsZWN0LjgKCQkkKFVUSUwpIGNwIHpkdW1wLm1hbiAkKE1BTkRJUikvY2F0
OC96ZHVtcC44CgkJJChVVElMKSBjcCB6aWMubWFuICQoTUFORElSKS9jYXQ4L3ppYy44CgphbGw6
CQl0enNlbGVjdCAkKEhPU1RfWklDKSB6aWMkKEVYRUVYVCkgemR1bXAkKEVYRUVYVCkgJChMSUJP
QkpTKQoKQUxMOgkJYWxsIGRhdGUkKEVYRUVYVCkKCnZlcnNpb24uaDoKCQkoZWNobyAnc3RhdGlj
IGNoYXIgY29uc3QgUEtHVkVSU0lPTltdPSIoJChQQUNLQUdFKSkgIjsnICYmIFwKCQkgZWNobyAn
c3RhdGljIGNoYXIgY29uc3QgVFpWRVJTSU9OW109IiQoVkVSU0lPTikiOycgJiYgXAoJCSBlY2hv
ICdzdGF0aWMgY2hhciBjb25zdCBSRVBPUlRfQlVHU19UT1tdPSIkKEJVR0VNQUlMKSI7JykgPiRA
Cgp6ZHVtcCQoRVhFRVhUKToJJChUWkRPQkpTKSAkKFRPUERJUikvbGliL2NydDAubyAkKFRPUERJ
UikvbGliL2xpYmMuYQoJCSQoQ1JPU1NfTEQpIC1zICQoTERGTEFHUykgJChUT1BESVIpL2xpYi9j
cnQwLm8gJChUWkRPQkpTKSAtbyAkQCAkKFRPUERJUikvbGliL2xpYmMuYSAkKExJQkdDQ0EpIC1U
ICQoREpHUFBfREpMKQoJCSQoVE9QRElSKS9ob3N0YmluL3N0dWJpZnkuZXhlICRACgokKEhPU1Rf
WklDKToJJChUWkNTUkNTKSB5ZWFyaXN0eXBlIHZlcnNpb24uaAoJCSQoR0NDKSAtRFRaRElSPVwi
L2Rldi9lbnYvREpESVJ+YzovZGpncHB+L3pvbmVpbmZvXCIgXAoJCSQoR0NDRkxBR1MpICQoTERG
TEFHUykgJChUWkNTUkNTKSAkKExETElCUykgLW8gJEAKCQkkKFNUUklQKSAkQAoKemljJChFWEVF
WFQpOgkkKFRaQ09CSlMpICQoVE9QRElSKS9saWIvY3J0MC5vICQoVE9QRElSKS9saWIvbGliYy5h
IHllYXJpc3R5cGUKCQkkKENST1NTX0xEKSAtcyAkKExERkxBR1MpICQoVE9QRElSKS9saWIvY3J0
MC5vICQoVFpDT0JKUykgLW8gJEAgJChUT1BESVIpL2xpYi9saWJjLmEgJChMSUJHQ0NBKSAtVCAk
KERKR1BQX0RKTCkKCQkkKFRPUERJUikvaG9zdGJpbi9zdHViaWZ5LmV4ZSAkQAoKeWVhcmlzdHlw
ZToJeWVhcmlzdHlwZS5zaAoJCSQoVVRJTCkgY3AgeWVhcmlzdHlwZS5zaCB5ZWFyaXN0eXBlCgpw
b3NpeF9vbmx5OgkkKHppYykgJChUREFUQSkgVERBVEFfbGlzdAppZmVxICgkKENST1NTX0JVSUxE
KSwxKQoJCSQoWklDKSAteSAkKFlFQVJJU1RZUEUpIC1kICQoVFpESVIpIC1MIC9kZXYvbnVsbCAk
KFREQVRBKQplbHNlCgkJJChaSUMpIC15ICQoWUVBUklTVFlQRSkgLWQgJChUWkRJUikgLUwgL2Rl
di9udWxsIEBUREFUQV9saXN0CmVuZGlmCgpyaWdodF9vbmx5OgkkKHppYykgbGVhcHNlY29uZHMg
JChUREFUQSkgVERBVEFfbGlzdAppZmVxICgkKENST1NTX0JVSUxEKSwxKQoJCSQoWklDKSAteSAk
KFlFQVJJU1RZUEUpIC1kICQoVFpESVIpIC1MIGxlYXBzZWNvbmRzICQoVERBVEEpCmVsc2UKCQkk
KFpJQykgLXkgJChZRUFSSVNUWVBFKSAtZCAkKFRaRElSKSAtTCBsZWFwc2Vjb25kcyBAVERBVEFf
bGlzdAplbmRpZgoKIyBJbiBlYXJsaWVyIHZlcnNpb25zIG9mIHRoaXMgbWFrZWZpbGUsIHRoZSBv
dGhlciB0d28gZGlyZWN0b3JpZXMgd2VyZQojIHN1YmRpcmVjdG9yaWVzIG9mICQoVFpESVIpLiAg
SG93ZXZlciwgdGhpcyBsZWQgdG8gY29uZmlndXJhdGlvbiBlcnJvcnMuCiMgRm9yIGV4YW1wbGUs
IHdpdGggcG9zaXhfcmlnaHQgdW5kZXIgdGhlIGVhcmxpZXIgc2NoZW1lLAojIFRaPSdyaWdodC9B
dXN0cmFsaWEvQWRlbGFpZGUnIGdvdCB5b3UgbG9jYWx0aW1lIHdpdGggbGVhcCBzZWNvbmRzLAoj
IGJ1dCBnbXRpbWUgd2l0aG91dCBsZWFwIHNlY29uZHMsIHdoaWNoIGxlZCB0byBwcm9ibGVtcyB3
aXRoIGFwcGxpY2F0aW9ucwojIGxpa2Ugc2VuZG1haWwgdGhhdCBzdWJ0cmFjdCBnbXRpbWUgZnJv
bSBsb2NhbHRpbWUuCiMgVGhlcmVmb3JlLCB0aGUgb3RoZXIgdHdvIGRpcmVjdG9yaWVzIGFyZSBu
b3cgc2libGluZ3Mgb2YgJChUWkRJUikuCiMgWW91IG11c3QgcmVwbGFjZSBhbGwgb2YgJChUWkRJ
UikgdG8gc3dpdGNoIGZyb20gbm90IHVzaW5nIGxlYXAgc2Vjb25kcwojIHRvIHVzaW5nIHRoZW0s
IG9yIHZpY2UgdmVyc2EuCm90aGVyX3R3bzoJJCh6aWMpIGxlYXBzZWNvbmRzICQoVERBVEEpIFRE
QVRBX2xpc3QKaWZlcSAoJChDUk9TU19CVUlMRCksMSkKCQkkKFpJQykgLXkgJChZRUFSSVNUWVBF
KSAtZCAkKFRaRElSKS1wb3NpeCAtTCAvZGV2L251bGwgJChUREFUQSkKCQkkKFpJQykgLXkgJChZ
RUFSSVNUWVBFKSBcCgkJCS1kICQoVFpESVIpLWxlYXBzIC1MIGxlYXBzZWNvbmRzICQoVERBVEEp
CmVsc2UKCQkkKFpJQykgLXkgJChZRUFSSVNUWVBFKSAtZCAkKFRaRElSKS1wb3NpeCAtTCAvZGV2
L251bGwgQFREQVRBX2xpc3QKCQkkKFpJQykgLXkgJChZRUFSSVNUWVBFKSBcCgkJCS1kICQoVFpE
SVIpLWxlYXBzIC1MIGxlYXBzZWNvbmRzIEBUREFUQV9saXN0CmVuZGlmCgpwb3NpeF9yaWdodDoJ
cG9zaXhfb25seSBvdGhlcl90d28KCnJpZ2h0X3Bvc2l4OglyaWdodF9vbmx5IG90aGVyX3R3bwoK
em9uZXM6CQkkKFJFRE8pCgokKFRaTElCKToJJChMSUJPQkpTKQoJCS0kKFVUSUwpIG1rZGlyICQo
VE9QRElSKQoJCS0kKFVUSUwpIG1rZGlyICQoTElCRElSKQoJCSQoQ1JPU1NfQVIpIHJ1cyAkQCAk
KExJQk9CSlMpCgpkYXRlJChFWEVFWFQpOgkkKERBVEVPQkpTKSAkKFRPUERJUikvbGliL2NydDAu
byAkKFRPUERJUikvbGliL2xpYmMuYQoJCSQoQ1JPU1NfTEQpIC1zICQoTERGTEFHUykgJChUT1BE
SVIpL2xpYi9jcnQwLm8gJChEQVRFT0JKUykgLW8gJEAgJChUT1BESVIpL2xpYi9saWJjLmEgJChM
SUJHQ0NBKSAtVCAkKERKR1BQX0RKTCkKCQkkKFRPUERJUikvaG9zdGJpbi9zdHViaWZ5LmV4ZSAk
QAoKdHpzZWxlY3Q6CXR6c2VsZWN0LmtzaAoJCXNlZCBcCgkJCS1lICdzfEFXSz1bXn1dKnxBV0s9
JChBV0spfGcnIFwKCQkJLWUgJ3N8XChQS0dWRVJTSU9OXCk9Lip8XDE9J1wnJygkKFBBQ0tBR0Up
KSAnXCcnfCcgXAoJCQktZSAnc3xcKFJFUE9SVF9CVUdTX1RPXCk9Lip8XDE9JChCVUdFTUFJTCl8
JyBcCgkJCS1lICdzfFRaRElSPVtefV0qfFRaRElSPS9kZXYvZW52L0RKRElSL3pvbmVpbmZvfCcg
XAoJCQktZSAnc3xcKFRaVkVSU0lPTlwpPS4qfFwxPSQoVkVSU0lPTil8JyBcCgkJCTwkPyA+JEAK
CQljaG1vZCAreCAkQAoKY2hlY2s6CQljaGVja19jaGFyYWN0ZXJfc2V0IGNoZWNrX3RhYmxlcyBj
aGVja193ZWIKCmNoZWNrX2NoYXJhY3Rlcl9zZXQ6ICQoRU5DSElMQURBKQoJCXNoYXJwPScjJzsg
ISBncmVwIC1uICQoSU5WQUxJRF9DSEFSKSAkKEVOQ0hJTEFEQSkKCmNoZWNrX3RhYmxlczoJY2hl
Y2t0YWIuYXdrICQoUFJJTUFSWV9ZREFUQSkKCQkkKEFXSykgLWYgY2hlY2t0YWIuYXdrICQoUFJJ
TUFSWV9ZREFUQSkKCmNoZWNrX3dlYjoJJChXRUJfUEFHRVMpCgkJJChWQUxJREFURV9FTlYpICQo
VkFMSURBVEUpICQoVkFMSURBVEVfRkxBR1MpICQoV0VCX1BBR0VTKQoKY2xlYW5fbWlzYzoKCQkk
KFVUSUwpIHJtIGNvcmUgKi5vICoub3V0IHR6c2VsZWN0IHpkdW1wJChFWEVFWFQpIHppYyQoRVhF
RVhUKSBcCgkJCXllYXJpc3R5cGUgZGF0ZSQoRVhFRVhUKSBsb2d3dG1wbCogKi50YXIuZ3ogJChI
T1NUX1pJQykgKi5leGUgKi5tYW4gXAoJCQlUREFUQV9saXN0CmNsZWFuOgkJY2xlYW5fbWlzYwoJ
CSQoVVRJTCkgcm0gLWYgLXIgdHpwdWJsaWMKCm1haW50YWluZXItY2xlYW46IGNsZWFuCgkJQGVj
aG8gJ1RoaXMgY29tbWFuZCBpcyBpbnRlbmRlZCBmb3IgbWFpbnRhaW5lcnMgdG8gdXNlOyBpdCcK
CQlAZWNobyAnZGVsZXRlcyBmaWxlcyB0aGF0IG1heSBuZWVkIHNwZWNpYWwgdG9vbHMgdG8gcmVi
dWlsZC4nCgkJcm0gLWYgKi5bMS04XS50eHQgKi5hc2MgKi50YXIuZ3oKCm5hbWVzOgoJCUAkKFVU
SUwpIGVjaG8gJChFTkNISUxBREEpCgpwdWJsaWM6CQljaGVjayBjaGVja19wdWJsaWMgY2hlY2tf
dGltZV90X2FsdGVybmF0aXZlcyBcCgkJc2V0LXRpbWVzdGFtcHMgdGFyYmFsbHMgc2lnbmF0dXJl
cwoKIyBTZXQgdGhlIHRpbWUgc3RhbXBzIHRvIHRob3NlIG9mIHRoZSBnaXQgcmVwb3NpdG9yeSwg
aWYgYXZhaWxhYmxlLAojIGFuZCBpZiB0aGUgZmlsZXMgaGF2ZSBub3QgY2hhbmdlZCBzaW5jZSB0
aGVuLgojIFRoaXMgdXNlcyBHTlUgJ3RvdWNoJyBzeW50YXggJ3RvdWNoIC1kQE4gRklMRScsCiMg
d2hlcmUgTiBpcyB0aGUgbnVtYmVyIG9mIHNlY29uZHMgc2luY2UgMTk3MC4KIyBJZiBnaXQgb3Ig
R05VICd0b3VjaCcgaXMgYWJzZW50LCBkbyBub3RoaW5nLgpzZXQtdGltZXN0YW1wczoKCQktVFo9
VVRDMCAmJiBleHBvcnQgVFogJiYgZmlsZXM9YGdpdCBscy1maWxlc2AgJiYgXAoJCXRvdWNoIC1k
IEAxIHRlc3Qub3V0ICYmIHJtIC1mIHRlc3Qub3V0ICYmIFwKCQlmb3IgZmlsZSBpbiAkJGZpbGVz
OyBkbyBcCgkJICB0ZXN0IC16ICJgZ2l0IGRpZmYgLS1uYW1lLW9ubHkgJCRmaWxlYCIgfHwgY29u
dGludWU7IFwKCQkgIGNtZD0idG91Y2ggLWQgQGBnaXQgbG9nIC0xIC0tZm9ybWF0PSdmb3JtYXQ6
JWN0JyAkJGZpbGUgXAoJCQlgICQkZmlsZSIgJiYgXAoJCSAgZWNobyAiJCRjbWQiICYmIFwKCQkg
ICQkY21kIHx8IGV4aXQ7IFwKCQlkb25lCgojIFRoZSB6aWNzIGJlbG93IGVuc3VyZSB0aGF0IGVh
Y2ggZGF0YSBmaWxlIGNhbiBzdGFuZCBvbiBpdHMgb3duLgojIFdlIGFsc28gZG8gYW4gYWxsLWZp
bGVzIHJ1biB0byBjYXRjaCBsaW5rcyB0byBsaW5rcy4KCmNoZWNrX3B1YmxpYzoJJChFTkNISUxB
REEpCgkJbWFrZSBtYWludGFpbmVyLWNsZWFuCgkJbWFrZSAiQ0ZMQUdTPSQoQ1JPU1NfR0NDX0RF
QlVHX0ZMQUdTKSIKCQlta2RpciB0enB1YmxpYwoJCWZvciBpIGluICQoVERBVEEpIDsgZG8gXAoJ
CSAgJCh6aWMpIC12IC1kIHR6cHVibGljICQkaSAyPiYxIHx8IGV4aXQ7IFwKCQlkb25lCgkJJCh6
aWMpIC12IC1kIHR6cHVibGljICQoVERBVEEpCgkJcm0gLWYgLXIgdHpwdWJsaWMKCiMgQ2hlY2sg
dGhhdCB0aGUgY29kZSB3b3JrcyB1bmRlciB2YXJpb3VzIGFsdGVybmF0aXZlCiMgaW1wbGVtZW50
YXRpb25zIG9mIHRpbWVfdC4KY2hlY2tfdGltZV90X2FsdGVybmF0aXZlczoKCQlta2RpciB0enB1
YmxpYwoJCXpvbmVzPWAkKEFXSykgJy9eW14jXS8geyBwcmludCAkJDMgfScgPHpvbmUudGFiYCAm
JiBcCgkJZm9yIHR5cGUgaW4gJChUSU1FX1RfQUxURVJOQVRJVkVTKTsgZG8gXAoJCSAgbWtkaXIg
dHpwdWJsaWMvJCR0eXBlICYmIFwKCQkgIG1ha2UgY2xlYW5fbWlzYyAmJiBcCgkJICBtYWtlIFRP
UERJUj1gcHdkYC90enB1YmxpYy8kJHR5cGUgXAoJCSAgICBDRkxBR1M9JyQoQ0ZMQUdTKSAtRHRp
bWVfdHo9JyInJCR0eXBlJyIgXAoJCSAgICBpbnN0YWxsICYmIFwKCQkgIGRpZmYgLXFyIHR6cHVi
bGljL2ludDY0X3QvZXRjL3pvbmVpbmZvIHR6cHVibGljLyQkdHlwZS9ldGMvem9uZWluZm8gJiYg
XAoJCSAgY2FzZSAkJHR5cGUgaW4gXAoJCSAgaW50MzJfdCkgcmFuZ2U9LTIxNDc0ODM2NDgsMjE0
NzQ4MzY0Nzs7IFwKCQkgIHVpbnQzMl90KSByYW5nZT0wLDQyOTQ5NjcyOTY7OyBcCgkJICBpbnQ2
NF90KSBjb250aW51ZTs7IFwKCQkgICp1KikgcmFuZ2U9MCwxMDAwMDAwMDAwMDs7IFwKCQkgICop
IHJhbmdlPS0xMDAwMDAwMDAwMCwxMDAwMDAwMDAwMDs7IFwKCQkgIGVzYWMgJiYgXAoJCSAgZWNo
byBjaGVja2luZyAkJHR5cGUgem9uZXMgLi4uICYmIFwKCQkgIHR6cHVibGljL2ludDY0X3QvZXRj
L3pkdW1wIC1WIC10ICQkcmFuZ2UgJCR6b25lcyBcCgkJICAgICAgPnR6cHVibGljL2ludDY0X3Qu
b3V0ICYmIFwKCQkgIHR6cHVibGljLyQkdHlwZS9ldGMvemR1bXAgLVYgLXQgJCRyYW5nZSAkJHpv
bmVzIFwKCQkgICAgICA+dHpwdWJsaWMvJCR0eXBlLm91dCAmJiBcCgkJICBkaWZmIC11IHR6cHVi
bGljL2ludDY0X3Qub3V0IHR6cHVibGljLyQkdHlwZS5vdXQgXAoJCSAgICB8fCBleGl0OyBcCgkJ
ZG9uZQoJCXJtIC1mIC1yIHR6cHVibGljCgp0YXJiYWxsczoJdHpjb2RlJChWRVJTSU9OKS50YXIu
Z3ogdHpkYXRhJChWRVJTSU9OKS50YXIuZ3oKCnR6Y29kZSQoVkVSU0lPTikudGFyLmd6OiAkKENP
TU1PTikgJChET0NTKSAkKFNPVVJDRVMpICQoTUlTQykKCQlmb3IgaSBpbiAqLlsxLThdIDsgZG8g
XAoJCSAgTENfQUxMPUMgc2ggd29ya21hbi5zaCAkJGkgPiAkJGkudHh0ICYmIFwKCQkgIHRvdWNo
IC1yICQkaSAkJGkudHh0IHx8IGV4aXQ7IFwKCQlkb25lCgkJTENfQUxMPUMgJiYgZXhwb3J0IExD
X0FMTCAmJiBcCgkJdGFyICQoVEFSRkxBR1MpIC1jZiAtIFwKCQkgICAgJChDT01NT04pICQoRE9D
UykgJChTT1VSQ0VTKSAkKE1JU0MpICouWzEtOF0udHh0IHwgXAoJCSAgZ3ppcCAkKEdaSVBGTEFH
UykgPiAkQAoKdHpkYXRhJChWRVJTSU9OKS50YXIuZ3o6ICQoQ09NTU9OKSAkKERBVEEpCgkJTENf
QUxMPUMgJiYgZXhwb3J0IExDX0FMTCAmJiBcCgkJdGFyICQoVEFSRkxBR1MpIC1jZiAtICQoQ09N
TU9OKSAkKERBVEEpIHwgXAoJCSAgZ3ppcCAkKEdaSVBGTEFHUykgPiAkQAoKc2lnbmF0dXJlczoJ
dHpjb2RlJChWRVJTSU9OKS50YXIuZ3ouYXNjIHR6ZGF0YSQoVkVSU0lPTikudGFyLmd6LmFzYwoK
dHpjb2RlJChWRVJTSU9OKS50YXIuZ3ouYXNjOiB0emNvZGUkKFZFUlNJT04pLnRhci5negoJCWdw
ZyAtLWFybW9yIC0tZGV0YWNoLXNpZ24gJD8KCnR6ZGF0YSQoVkVSU0lPTikudGFyLmd6LmFzYzog
dHpkYXRhJChWRVJTSU9OKS50YXIuZ3oKCQlncGcgLS1hcm1vciAtLWRldGFjaC1zaWduICQ/Cgp0
eXBlY2hlY2s6CgkJbWFrZSBjbGVhbgoJCWZvciBpIGluICJsb25nIGxvbmciIHVuc2lnbmVkIGRv
dWJsZTsgXAoJCWRvIFwKCQkJbWFrZSBDRkxBR1M9Ii1EVFlQRUNIRUNLIC1EX190aW1lX3RfZGVm
aW5lZCAtRF9USU1FX1QgXCItRHRpbWVfdD0kJGlcIiIgOyBcCgkJCS4vemR1bXAgLXYgRXVyb3Bl
L1JvbWUgOyBcCgkJCW1ha2UgY2xlYW4gOyBcCgkJZG9uZQoKem9uZW5hbWVzOgkkKFREQVRBKQoJ
CUAkKEFXSykgJy9eWm9uZS8geyBwcmludCAkJDIgfSAvXkxpbmsvIHsgcHJpbnQgJCQzIH0nICQo
VERBVEEpCgpUREFUQV9saXN0OgkkKFREQVRBKQoJCWVjaG8gJChUREFUQSkgPiBUREFUQV9saXN0
Cgphc2N0aW1lLm86CXByaXZhdGUuaCB0emZpbGUuaApkYXRlLm86CQlwcml2YXRlLmgKZGlmZnRp
bWUubzoJcHJpdmF0ZS5oCmlhbGxvYy5vOglwcml2YXRlLmgKbG9jYWx0aW1lLm86CXByaXZhdGUu
aCB0emZpbGUuaApzY2hlY2subzoJcHJpdmF0ZS5oCnN0cmZ0aW1lLm86CXR6ZmlsZS5oCnpkdW1w
Lm86CXZlcnNpb24uaAp6aWMubzoJCXByaXZhdGUuaCB0emZpbGUuaCB2ZXJzaW9uLmgKCi5LRUVQ
X1NUQVRFOgo=
--001a11354e16b385c8051684e5f1--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019