delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2022/02/18/14:33:58

X-Recipient: archive-cygwin AT delorie DOT com
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B612A3857C52
Authentication-Results: sourceware.org; dmarc=none (p=none dis=none)
header.from=SystematicSw.ab.ca
Authentication-Results: sourceware.org;
spf=none smtp.mailfrom=systematicsw.ab.ca
X-Authority-Analysis: v=2.4 cv=Y6brDzSN c=1 sm=1 tr=0 ts=620ff48a
a=oHm12aVswOWz6TMtn9zYKg==:117 a=oHm12aVswOWz6TMtn9zYKg==:17
a=r77TgQKjGQsHNAKrUKIA:9 a=iMpC6L0jGsNNbTZxuiUA:9 a=QEXdDO2ut3YA:10
a=1sIg_MLpLlG0XWrwBZgA:9 a=JMNH9X61SiQA:10 a=3v7sk2-OTgEYziCgAUsA:9
a=ITdVHhY7-e0A:10 a=hxZRiogVl1hwnxlcBywA:9 a=S5FQQ0GGzS0A:10
Message-ID: <32675850-0f12-33f1-9d89-b39b2c754f6f@SystematicSw.ab.ca>
Date: Fri, 18 Feb 2022 12:33:30 -0700
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.6.0
To: cygwin AT cygwin DOT com
From: Brian Inglis <Brian DOT Inglis AT SystematicSw DOT ab DOT ca>
Subject: autoconf tests for iconv fail with undefined refs
Organization: Systematic Software
X-CMAE-Envelope: MS4xfJdxuKObWOTJTnebRC2kU1N6VRObx3yB9q2EJOJMI/miWHowb6aOoZo2awW4Gav1RTaEu+imsBCRwi9Lz+R917VHVkpp8OYxx20lmOUvOGc6PtQjuBOZ
gbhByX6zIKnb0lZdr654LMO/VMhOb6CvnTG3EFxDesTofjAHoHTDqvN/OXicrOj8gtRqW09J+796JAn2d6dBasPOswyWpyWbn7A=
X-Spam-Status: No, score=-1163.6 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS,
KAM_LAZY_DOMAIN_SECURITY, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE,
WEIRD_QUOTING autolearn=no autolearn_force=no version=3.4.4
X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
Reply-To: cygwin AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com>

This is a multi-part message in MIME format.
--------------KEbDCT0yNebcd95Y0lCErFZb
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Any idea why autoconf tests for iconv now fail with undefined refs to 
iconv{_open,,_close}! STC attached, log, -E output. Tried also with -l 
iconv.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in binary units and prefixes, physical quantities in SI.]
--------------KEbDCT0yNebcd95Y0lCErFZb
Content-Type: text/plain; charset=UTF-8; name="iconv-test.c"
Content-Disposition: attachment; filename="iconv-test.c"
Content-Transfer-Encoding: base64

I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8aWNvbnYuaD4KCmludAptYWluICh2b2lk
KQp7Cmljb252X3QgY2QgPSBpY29udl9vcGVuKCIiLCIiKTsKICAgICAgICAgICBpY29udihj
ZCxOVUxMLE5VTEwsTlVMTCxOVUxMKTsKICAgICAgICAgICBpY29udl9jbG9zZShjZCk7CiAg
OwogIHJldHVybiAwOwp9Cgo=
--------------KEbDCT0yNebcd95Y0lCErFZb
Content-Type: text/plain; charset=UTF-8; name="iconv-test.log"
Content-Disposition: attachment; filename="iconv-test.log"
Content-Transfer-Encoding: base64

L3Vzci9saWIvZ2NjL3g4Nl82NC1wYy1jeWd3aW4vMTEvLi4vLi4vLi4vLi4veDg2XzY0LXBj
LWN5Z3dpbi9iaW4vbGQ6IC90bXAvY2NrblYwUEsubzogaW4gZnVuY3Rpb24gYG1haW4nOgok
SE9NRS9zcmMvY3lnd2luL2xpYmlzb2NvZGVzL2ljb252LXRlc3QuYzo3OiB1bmRlZmluZWQg
cmVmZXJlbmNlIHRvIGBpY29udl9vcGVuJwovdXNyL2xpYi9nY2MveDg2XzY0LXBjLWN5Z3dp
bi8xMS8uLi8uLi8uLi8uLi94ODZfNjQtcGMtY3lnd2luL2Jpbi9sZDogJEhPTUUvc3JjL2N5
Z3dpbi9saWJpc29jb2Rlcy9pY29udi10ZXN0LmM6ODogdW5kZWZpbmVkIHJlZmVyZW5jZSB0
byBgaWNvbnYnCi91c3IvbGliL2djYy94ODZfNjQtcGMtY3lnd2luLzExLy4uLy4uLy4uLy4u
L3g4Nl82NC1wYy1jeWd3aW4vYmluL2xkOiAkSE9NRS9zcmMvY3lnd2luL2xpYmlzb2NvZGVz
L2ljb252LXRlc3QuYzo5OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBpY29udl9jbG9zZScK
Y29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCg==
--------------KEbDCT0yNebcd95Y0lCErFZb
Content-Type: text/plain; charset=UTF-8; name="iconv-test.p"
Content-Disposition: attachment; filename="iconv-test.p"
Content-Transfer-Encoding: base64

IyAwICJpY29udi10ZXN0LmMiCiMgMSAiJEhPTUUvc3JjL2N5Z3dpbi9saWJpc29jb2Rlcy8v
IgojIDAgIjxidWlsdC1pbj4iCiMgMCAiPGNvbW1hbmQtbGluZT4iCiMgMSAiaWNvbnYtdGVz
dC5jIgojIDEgIi91c3IvaW5jbHVkZS9zdGRsaWIuaCIgMSAzIDQKIyAxMCAiL3Vzci9pbmNs
dWRlL3N0ZGxpYi5oIiAzIDQKIyAxICIvdXNyL2luY2x1ZGUvbWFjaGluZS9pZWVlZnAuaCIg
MSAzIDQKIyAxMSAiL3Vzci9pbmNsdWRlL3N0ZGxpYi5oIiAyIDMgNAojIDEgIi91c3IvaW5j
bHVkZS9fYW5zaS5oIiAxIDMgNAojIDEwICIvdXNyL2luY2x1ZGUvX2Fuc2kuaCIgMyA0CiMg
MSAiL3Vzci9pbmNsdWRlL25ld2xpYi5oIiAxIDMgNAojIDE0ICIvdXNyL2luY2x1ZGUvbmV3
bGliLmgiIDMgNAojIDEgIi91c3IvaW5jbHVkZS9fbmV3bGliX3ZlcnNpb24uaCIgMSAzIDQK
IyAxNSAiL3Vzci9pbmNsdWRlL25ld2xpYi5oIiAyIDMgNAojIDExICIvdXNyL2luY2x1ZGUv
X2Fuc2kuaCIgMiAzIDQKIyAxICIvdXNyL2luY2x1ZGUvc3lzL2NvbmZpZy5oIiAxIDMgNAoK
CgojIDEgIi91c3IvaW5jbHVkZS9tYWNoaW5lL2llZWVmcC5oIiAxIDMgNAojIDUgIi91c3Iv
aW5jbHVkZS9zeXMvY29uZmlnLmgiIDIgMyA0CiMgMSAiL3Vzci9pbmNsdWRlL3N5cy9mZWF0
dXJlcy5oIiAxIDMgNAojIDYgIi91c3IvaW5jbHVkZS9zeXMvY29uZmlnLmgiIDIgMyA0CiMg
MjM4ICIvdXNyL2luY2x1ZGUvc3lzL2NvbmZpZy5oIiAzIDQKIyAxICIvdXNyL2luY2x1ZGUv
Y3lnd2luL2NvbmZpZy5oIiAxIDMgNAojIDIzOSAiL3Vzci9pbmNsdWRlL3N5cy9jb25maWcu
aCIgMiAzIDQKIyAxMiAiL3Vzci9pbmNsdWRlL19hbnNpLmgiIDIgMyA0CiMgMTIgIi91c3Iv
aW5jbHVkZS9zdGRsaWIuaCIgMiAzIDQKCgoKCiMgMSAiL3Vzci9saWIvZ2NjL3g4Nl82NC1w
Yy1jeWd3aW4vMTEvaW5jbHVkZS9zdGRkZWYuaCIgMSAzIDQKIyAyMDkgIi91c3IvbGliL2dj
Yy94ODZfNjQtcGMtY3lnd2luLzExL2luY2x1ZGUvc3RkZGVmLmgiIDMgNAoKIyAyMDkgIi91
c3IvbGliL2djYy94ODZfNjQtcGMtY3lnd2luLzExL2luY2x1ZGUvc3RkZGVmLmgiIDMgNAp0
eXBlZGVmIGxvbmcgdW5zaWduZWQgaW50IHNpemVfdDsKIyAzMjEgIi91c3IvbGliL2djYy94
ODZfNjQtcGMtY3lnd2luLzExL2luY2x1ZGUvc3RkZGVmLmgiIDMgNAp0eXBlZGVmIHNob3J0
IHVuc2lnbmVkIGludCB3Y2hhcl90OwojIDE3ICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDIg
MyA0CgojIDEgIi91c3IvaW5jbHVkZS9zeXMvcmVlbnQuaCIgMSAzIDQKIyAxMyAiL3Vzci9p
bmNsdWRlL3N5cy9yZWVudC5oIiAzIDQKIyAxICIvdXNyL2luY2x1ZGUvX2Fuc2kuaCIgMSAz
IDQKIyAxNCAiL3Vzci9pbmNsdWRlL3N5cy9yZWVudC5oIiAyIDMgNAojIDEgIi91c3IvbGli
L2djYy94ODZfNjQtcGMtY3lnd2luLzExL2luY2x1ZGUvc3RkZGVmLmgiIDEgMyA0CiMgMTQz
ICIvdXNyL2xpYi9nY2MveDg2XzY0LXBjLWN5Z3dpbi8xMS9pbmNsdWRlL3N0ZGRlZi5oIiAz
IDQKdHlwZWRlZiBsb25nIGludCBwdHJkaWZmX3Q7CiMgNDE1ICIvdXNyL2xpYi9nY2MveDg2
XzY0LXBjLWN5Z3dpbi8xMS9pbmNsdWRlL3N0ZGRlZi5oIiAzIDQKdHlwZWRlZiBzdHJ1Y3Qg
ewogIGxvbmcgbG9uZyBfX21heF9hbGlnbl9sbCBfX2F0dHJpYnV0ZV9fKChfX2FsaWduZWRf
XyhfX2FsaWdub2ZfXyhsb25nIGxvbmcpKSkpOwogIGxvbmcgZG91YmxlIF9fbWF4X2FsaWdu
X2xkIF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKF9fYWxpZ25vZl9fKGxvbmcgZG91Ymxl
KSkpKTsKIyA0MjYgIi91c3IvbGliL2djYy94ODZfNjQtcGMtY3lnd2luLzExL2luY2x1ZGUv
c3RkZGVmLmgiIDMgNAp9IG1heF9hbGlnbl90OwojIDE1ICIvdXNyL2luY2x1ZGUvc3lzL3Jl
ZW50LmgiIDIgMyA0CiMgMSAiL3Vzci9pbmNsdWRlL3N5cy9fdHlwZXMuaCIgMSAzIDQKIyAy
NCAiL3Vzci9pbmNsdWRlL3N5cy9fdHlwZXMuaCIgMyA0CiMgMSAiL3Vzci9saWIvZ2NjL3g4
Nl82NC1wYy1jeWd3aW4vMTEvaW5jbHVkZS9zdGRkZWYuaCIgMSAzIDQKIyAzNTAgIi91c3Iv
bGliL2djYy94ODZfNjQtcGMtY3lnd2luLzExL2luY2x1ZGUvc3RkZGVmLmgiIDMgNAp0eXBl
ZGVmIHVuc2lnbmVkIGludCB3aW50X3Q7CiMgMjUgIi91c3IvaW5jbHVkZS9zeXMvX3R5cGVz
LmgiIDIgMyA0CgoKIyAxICIvdXNyL2luY2x1ZGUvbWFjaGluZS9fdHlwZXMuaCIgMSAzIDQK
CgoKCgojIDEgIi91c3IvaW5jbHVkZS9tYWNoaW5lL19kZWZhdWx0X3R5cGVzLmgiIDEgMyA0
CiMgNDEgIi91c3IvaW5jbHVkZS9tYWNoaW5lL19kZWZhdWx0X3R5cGVzLmgiIDMgNAp0eXBl
ZGVmIHNpZ25lZCBjaGFyIF9faW50OF90OwoKdHlwZWRlZiB1bnNpZ25lZCBjaGFyIF9fdWlu
dDhfdDsKIyA1NSAiL3Vzci9pbmNsdWRlL21hY2hpbmUvX2RlZmF1bHRfdHlwZXMuaCIgMyA0
CnR5cGVkZWYgc2hvcnQgaW50IF9faW50MTZfdDsKCnR5cGVkZWYgc2hvcnQgdW5zaWduZWQg
aW50IF9fdWludDE2X3Q7CiMgNzcgIi91c3IvaW5jbHVkZS9tYWNoaW5lL19kZWZhdWx0X3R5
cGVzLmgiIDMgNAp0eXBlZGVmIGludCBfX2ludDMyX3Q7Cgp0eXBlZGVmIHVuc2lnbmVkIGlu
dCBfX3VpbnQzMl90OwojIDEwMyAiL3Vzci9pbmNsdWRlL21hY2hpbmUvX2RlZmF1bHRfdHlw
ZXMuaCIgMyA0CnR5cGVkZWYgbG9uZyBpbnQgX19pbnQ2NF90OwoKdHlwZWRlZiBsb25nIHVu
c2lnbmVkIGludCBfX3VpbnQ2NF90OwojIDEzNCAiL3Vzci9pbmNsdWRlL21hY2hpbmUvX2Rl
ZmF1bHRfdHlwZXMuaCIgMyA0CnR5cGVkZWYgc2lnbmVkIGNoYXIgX19pbnRfbGVhc3Q4X3Q7
Cgp0eXBlZGVmIHVuc2lnbmVkIGNoYXIgX191aW50X2xlYXN0OF90OwojIDE2MCAiL3Vzci9p
bmNsdWRlL21hY2hpbmUvX2RlZmF1bHRfdHlwZXMuaCIgMyA0CnR5cGVkZWYgc2hvcnQgaW50
IF9faW50X2xlYXN0MTZfdDsKCnR5cGVkZWYgc2hvcnQgdW5zaWduZWQgaW50IF9fdWludF9s
ZWFzdDE2X3Q7CiMgMTgyICIvdXNyL2luY2x1ZGUvbWFjaGluZS9fZGVmYXVsdF90eXBlcy5o
IiAzIDQKdHlwZWRlZiBpbnQgX19pbnRfbGVhc3QzMl90OwoKdHlwZWRlZiB1bnNpZ25lZCBp
bnQgX191aW50X2xlYXN0MzJfdDsKIyAyMDAgIi91c3IvaW5jbHVkZS9tYWNoaW5lL19kZWZh
dWx0X3R5cGVzLmgiIDMgNAp0eXBlZGVmIGxvbmcgaW50IF9faW50X2xlYXN0NjRfdDsKCnR5
cGVkZWYgbG9uZyB1bnNpZ25lZCBpbnQgX191aW50X2xlYXN0NjRfdDsKIyAyMTQgIi91c3Iv
aW5jbHVkZS9tYWNoaW5lL19kZWZhdWx0X3R5cGVzLmgiIDMgNAp0eXBlZGVmIGxvbmcgaW50
IF9faW50bWF4X3Q7CgoKCgoKCgp0eXBlZGVmIGxvbmcgdW5zaWduZWQgaW50IF9fdWludG1h
eF90OwoKCgoKCgoKdHlwZWRlZiBsb25nIGludCBfX2ludHB0cl90OwoKdHlwZWRlZiBsb25n
IHVuc2lnbmVkIGludCBfX3VpbnRwdHJfdDsKIyA3ICIvdXNyL2luY2x1ZGUvbWFjaGluZS9f
dHlwZXMuaCIgMiAzIDQKIyAxNyAiL3Vzci9pbmNsdWRlL21hY2hpbmUvX3R5cGVzLmgiIDMg
NAp0eXBlZGVmIF9faW50NjRfdCBfX2Jsa2NudF90OwoKCnR5cGVkZWYgX19pbnQzMl90IF9f
Ymxrc2l6ZV90OwoKCnR5cGVkZWYgX191aW50MzJfdCBfX2Rldl90OwoKCgp0eXBlZGVmIHVu
c2lnbmVkIGxvbmcgX19mc2Jsa2NudF90OwoKCgp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgX19m
c2ZpbGNudF90OwoKCnR5cGVkZWYgX191aW50MzJfdCBfX3VpZF90OwoKCnR5cGVkZWYgX191
aW50MzJfdCBfX2dpZF90OwoKCnR5cGVkZWYgX191aW50NjRfdCBfX2lub190OwoKCnR5cGVk
ZWYgbG9uZyBsb25nIF9fa2V5X3Q7CgoKdHlwZWRlZiBfX3VpbnQxNl90IF9fc2FfZmFtaWx5
X3Q7CgoKCnR5cGVkZWYgaW50IF9fc29ja2xlbl90OwojIDI4ICIvdXNyL2luY2x1ZGUvc3lz
L190eXBlcy5oIiAyIDMgNAojIDQ2ICIvdXNyL2luY2x1ZGUvc3lzL190eXBlcy5oIiAzIDQK
dHlwZWRlZiBsb25nIF9vZmZfdDsKCgoKCgp0eXBlZGVmIGludCBfX3BpZF90OwojIDY3ICIv
dXNyL2luY2x1ZGUvc3lzL190eXBlcy5oIiAzIDQKdHlwZWRlZiBfX3VpbnQzMl90IF9faWRf
dDsKIyA5MCAiL3Vzci9pbmNsdWRlL3N5cy9fdHlwZXMuaCIgMyA0CnR5cGVkZWYgX191aW50
MzJfdCBfX21vZGVfdDsKCgoKCgpfX2V4dGVuc2lvbl9fIHR5cGVkZWYgbG9uZyBsb25nIF9v
ZmY2NF90OwoKCgoKCnR5cGVkZWYgX29mZl90IF9fb2ZmX3Q7CgoKdHlwZWRlZiBfb2ZmNjRf
dCBfX2xvZmZfdDsKIyAxMTYgIi91c3IvaW5jbHVkZS9zeXMvX3R5cGVzLmgiIDMgNAp0eXBl
ZGVmIGxvbmcgX2Zwb3NfdDsKCgoKCgp0eXBlZGVmIF9vZmY2NF90IF9mcG9zNjRfdDsKIyAx
MzEgIi91c3IvaW5jbHVkZS9zeXMvX3R5cGVzLmgiIDMgNAp0eXBlZGVmIGxvbmcgdW5zaWdu
ZWQgaW50IF9fc2l6ZV90OwojIDE0NyAiL3Vzci9pbmNsdWRlL3N5cy9fdHlwZXMuaCIgMyA0
CnR5cGVkZWYgbG9uZyBzaWduZWQgaW50IF9zc2l6ZV90OwojIDE1OCAiL3Vzci9pbmNsdWRl
L3N5cy9fdHlwZXMuaCIgMyA0CnR5cGVkZWYgX3NzaXplX3QgX19zc2l6ZV90OwoKCgp0eXBl
ZGVmIHN0cnVjdAp7CiAgaW50IF9fY291bnQ7CiAgdW5pb24KICB7CiAgICB3aW50X3QgX193
Y2g7CiAgICB1bnNpZ25lZCBjaGFyIF9fd2NoYls0XTsKICB9IF9fdmFsdWU7Cn0gX21ic3Rh
dGVfdDsKCgoKCnR5cGVkZWYgdm9pZCAqX2ljb252X3Q7CgoKCgoKCnR5cGVkZWYgdW5zaWdu
ZWQgbG9uZyBfX2Nsb2NrX3Q7CgoKCgoKCnR5cGVkZWYgbG9uZyBfX3RpbWVfdDsKCgoKCgp0
eXBlZGVmIHVuc2lnbmVkIGxvbmcgX19jbG9ja2lkX3Q7CgoKdHlwZWRlZiB1bnNpZ25lZCBs
b25nIF9fdGltZXJfdDsKIyAyMDggIi91c3IvaW5jbHVkZS9zeXMvX3R5cGVzLmgiIDMgNAp0
eXBlZGVmIGludCBfX25sX2l0ZW07CnR5cGVkZWYgdW5zaWduZWQgc2hvcnQgX19ubGlua190
Owp0eXBlZGVmIGxvbmcgX19zdXNlY29uZHNfdDsKdHlwZWRlZiB1bnNpZ25lZCBsb25nIF9f
dXNlY29uZHNfdDsKCgoKCgoKCnR5cGVkZWYgX19idWlsdGluX3ZhX2xpc3QgX192YV9saXN0
OwojIDE2ICIvdXNyL2luY2x1ZGUvc3lzL3JlZW50LmgiIDIgMyA0CiMgMjUgIi91c3IvaW5j
bHVkZS9zeXMvcmVlbnQuaCIgMyA0CnR5cGVkZWYgdW5zaWduZWQgaW50IF9fVUxvbmc7CiMg
MzQgIi91c3IvaW5jbHVkZS9zeXMvcmVlbnQuaCIgMyA0CiMgMSAiL3Vzci9pbmNsdWRlL3N5
cy9sb2NrLmgiIDEgMyA0CiMgMTIgIi91c3IvaW5jbHVkZS9zeXMvbG9jay5oIiAzIDQKdHlw
ZWRlZiB2b2lkICpfTE9DS19UOwojIDQyICIvdXNyL2luY2x1ZGUvc3lzL2xvY2suaCIgMyA0
CnZvaWQgX19jeWd3aW5fbG9ja19pbml0KF9MT0NLX1QgKik7CnZvaWQgX19jeWd3aW5fbG9j
a19pbml0X3JlY3Vyc2l2ZShfTE9DS19UICopOwp2b2lkIF9fY3lnd2luX2xvY2tfZmluaShf
TE9DS19UICopOwp2b2lkIF9fY3lnd2luX2xvY2tfbG9jayhfTE9DS19UICopOwppbnQgX19j
eWd3aW5fbG9ja190cnlsb2NrKF9MT0NLX1QgKik7CnZvaWQgX19jeWd3aW5fbG9ja191bmxv
Y2soX0xPQ0tfVCAqKTsKIyAzNSAiL3Vzci9pbmNsdWRlL3N5cy9yZWVudC5oIiAyIDMgNAp0
eXBlZGVmIF9MT0NLX1QgX2Zsb2NrX3Q7CgoKCgoKCgpzdHJ1Y3QgX3JlZW50OwoKc3RydWN0
IF9fbG9jYWxlX3Q7CgoKCgoKCnN0cnVjdCBfQmlnaW50CnsKICBzdHJ1Y3QgX0JpZ2ludCAq
X25leHQ7CiAgaW50IF9rLCBfbWF4d2RzLCBfc2lnbiwgX3dkczsKICBfX1VMb25nIF94WzFd
Owp9OwoKCnN0cnVjdCBfX3RtCnsKICBpbnQgX190bV9zZWM7CiAgaW50IF9fdG1fbWluOwog
IGludCBfX3RtX2hvdXI7CiAgaW50IF9fdG1fbWRheTsKICBpbnQgX190bV9tb247CiAgaW50
IF9fdG1feWVhcjsKICBpbnQgX190bV93ZGF5OwogIGludCBfX3RtX3lkYXk7CiAgaW50IF9f
dG1faXNkc3Q7Cn07CgoKCgoKCgpzdHJ1Y3QgX29uX2V4aXRfYXJncyB7CiB2b2lkICogX2Zu
YXJnc1szMl07CiB2b2lkICogX2Rzb19oYW5kbGVbMzJdOwoKIF9fVUxvbmcgX2ZudHlwZXM7
CgoKIF9fVUxvbmcgX2lzX2N4YTsKfTsKIyA5OCAiL3Vzci9pbmNsdWRlL3N5cy9yZWVudC5o
IiAzIDQKc3RydWN0IF9hdGV4aXQgewogc3RydWN0IF9hdGV4aXQgKl9uZXh0OwogaW50IF9p
bmQ7Cgogdm9pZCAoKl9mbnNbMzJdKSh2b2lkKTsKICAgICAgICBzdHJ1Y3QgX29uX2V4aXRf
YXJncyBfb25fZXhpdF9hcmdzOwp9OwojIDEyMiAiL3Vzci9pbmNsdWRlL3N5cy9yZWVudC5o
IiAzIDQKc3RydWN0IF9fc2J1ZiB7CiB1bnNpZ25lZCBjaGFyICpfYmFzZTsKIGludCBfc2l6
ZTsKfTsKIyAxODYgIi91c3IvaW5jbHVkZS9zeXMvcmVlbnQuaCIgMyA0CnN0cnVjdCBfX3NG
SUxFIHsKICB1bnNpZ25lZCBjaGFyICpfcDsKICBpbnQgX3I7CiAgaW50IF93OwogIHNob3J0
IF9mbGFnczsKICBzaG9ydCBfZmlsZTsKICBzdHJ1Y3QgX19zYnVmIF9iZjsKICBpbnQgX2xi
ZnNpemU7CgoKCgoKCiAgdm9pZCAqIF9jb29raWU7CgogIF9zc2l6ZV90ICgqX3JlYWQpIChz
dHJ1Y3QgX3JlZW50ICosIHZvaWQgKiwKICAgICAgICBjaGFyICosIHNpemVfdCk7CiAgX3Nz
aXplX3QgKCpfd3JpdGUpIChzdHJ1Y3QgX3JlZW50ICosIHZvaWQgKiwKICAgICAgICAgY29u
c3QgY2hhciAqLAogICAgICAgICBzaXplX3QpOwogIF9mcG9zX3QgKCpfc2VlaykgKHN0cnVj
dCBfcmVlbnQgKiwgdm9pZCAqLCBfZnBvc190LCBpbnQpOwogIGludCAoKl9jbG9zZSkgKHN0
cnVjdCBfcmVlbnQgKiwgdm9pZCAqKTsKCgogIHN0cnVjdCBfX3NidWYgX3ViOwogIHVuc2ln
bmVkIGNoYXIgKl91cDsKICBpbnQgX3VyOwoKCiAgdW5zaWduZWQgY2hhciBfdWJ1ZlszXTsK
ICB1bnNpZ25lZCBjaGFyIF9uYnVmWzFdOwoKCiAgc3RydWN0IF9fc2J1ZiBfbGI7CgoKICBp
bnQgX2Jsa3NpemU7CiAgX29mZl90IF9vZmZzZXQ7CgoKICBzdHJ1Y3QgX3JlZW50ICpfZGF0
YTsKCgoKICBfZmxvY2tfdCBfbG9jazsKCiAgX21ic3RhdGVfdCBfbWJzdGF0ZTsKICBpbnQg
X2ZsYWdzMjsKfTsKIyAyNDQgIi91c3IvaW5jbHVkZS9zeXMvcmVlbnQuaCIgMyA0CnN0cnVj
dCBfX3NGSUxFNjQgewogIHVuc2lnbmVkIGNoYXIgKl9wOwogIGludCBfcjsKICBpbnQgX3c7
CiAgc2hvcnQgX2ZsYWdzOwogIHNob3J0IF9maWxlOwogIHN0cnVjdCBfX3NidWYgX2JmOwog
IGludCBfbGJmc2l6ZTsKCiAgc3RydWN0IF9yZWVudCAqX2RhdGE7CgoKICB2b2lkICogX2Nv
b2tpZTsKCiAgX3NzaXplX3QgKCpfcmVhZCkgKHN0cnVjdCBfcmVlbnQgKiwgdm9pZCAqLAog
ICAgICAgIGNoYXIgKiwgc2l6ZV90KTsKICBfc3NpemVfdCAoKl93cml0ZSkgKHN0cnVjdCBf
cmVlbnQgKiwgdm9pZCAqLAogICAgICAgICBjb25zdCBjaGFyICosCiAgICAgICAgIHNpemVf
dCk7CiAgX2Zwb3NfdCAoKl9zZWVrKSAoc3RydWN0IF9yZWVudCAqLCB2b2lkICosIF9mcG9z
X3QsIGludCk7CiAgaW50ICgqX2Nsb3NlKSAoc3RydWN0IF9yZWVudCAqLCB2b2lkICopOwoK
CiAgc3RydWN0IF9fc2J1ZiBfdWI7CiAgdW5zaWduZWQgY2hhciAqX3VwOwogIGludCBfdXI7
CgoKICB1bnNpZ25lZCBjaGFyIF91YnVmWzNdOwogIHVuc2lnbmVkIGNoYXIgX25idWZbMV07
CgoKICBzdHJ1Y3QgX19zYnVmIF9sYjsKCgogIGludCBfYmxrc2l6ZTsKICBpbnQgX2ZsYWdz
MjsKCiAgX29mZjY0X3QgX29mZnNldDsKICBfZnBvczY0X3QgKCpfc2VlazY0KSAoc3RydWN0
IF9yZWVudCAqLCB2b2lkICosIF9mcG9zNjRfdCwgaW50KTsKCgogIF9mbG9ja190IF9sb2Nr
OwoKICBfbWJzdGF0ZV90IF9tYnN0YXRlOwp9Owp0eXBlZGVmIHN0cnVjdCBfX3NGSUxFNjQg
X19GSUxFOwoKCgoKCnN0cnVjdCBfZ2x1ZQp7CiAgc3RydWN0IF9nbHVlICpfbmV4dDsKICBp
bnQgX25pb2JzOwogIF9fRklMRSAqX2lvYnM7Cn07CiMgMzI0ICIvdXNyL2luY2x1ZGUvc3lz
L3JlZW50LmgiIDMgNApzdHJ1Y3QgX3JhbmQ0OCB7CiAgdW5zaWduZWQgc2hvcnQgX3NlZWRb
M107CiAgdW5zaWduZWQgc2hvcnQgX211bHRbM107CiAgdW5zaWduZWQgc2hvcnQgX2FkZDsK
CgoKCn07CiMgNjEzICIvdXNyL2luY2x1ZGUvc3lzL3JlZW50LmgiIDMgNApzdHJ1Y3QgX3Jl
ZW50CnsKICBpbnQgX2Vycm5vOwoKCgoKICBfX0ZJTEUgKl9zdGRpbiwgKl9zdGRvdXQsICpf
c3RkZXJyOwoKICBpbnQgX2luYzsKICBjaGFyIF9lbWVyZ2VuY3lbMjVdOwoKCiAgaW50IF91
bnNwZWNpZmllZF9sb2NhbGVfaW5mbzsKICBzdHJ1Y3QgX19sb2NhbGVfdCAqX2xvY2FsZTsK
CiAgaW50IF9fc2RpZGluaXQ7CgogIHZvaWQgKCpfX2NsZWFudXApIChzdHJ1Y3QgX3JlZW50
ICopOwoKCiAgc3RydWN0IF9CaWdpbnQgKl9yZXN1bHQ7CiAgaW50IF9yZXN1bHRfazsKICBz
dHJ1Y3QgX0JpZ2ludCAqX3A1czsKICBzdHJ1Y3QgX0JpZ2ludCAqKl9mcmVlbGlzdDsKCgog
IGludCBfY3Z0bGVuOwogIGNoYXIgKl9jdnRidWY7CgogIHVuaW9uCiAgICB7CiAgICAgIHN0
cnVjdAogICAgICAgIHsKICAgICAgICAgIHVuc2lnbmVkIGludCBfdW51c2VkX3JhbmQ7CiAg
ICAgICAgICBjaGFyICogX3N0cnRva19sYXN0OwogICAgICAgICAgY2hhciBfYXNjdGltZV9i
dWZbMjZdOwogICAgICAgICAgc3RydWN0IF9fdG0gX2xvY2FsdGltZV9idWY7CiAgICAgICAg
ICBpbnQgX2dhbW1hX3NpZ25nYW07CiAgICAgICAgICBfX2V4dGVuc2lvbl9fIHVuc2lnbmVk
IGxvbmcgbG9uZyBfcmFuZF9uZXh0OwogICAgICAgICAgc3RydWN0IF9yYW5kNDggX3I0ODsK
ICAgICAgICAgIF9tYnN0YXRlX3QgX21ibGVuX3N0YXRlOwogICAgICAgICAgX21ic3RhdGVf
dCBfbWJ0b3djX3N0YXRlOwogICAgICAgICAgX21ic3RhdGVfdCBfd2N0b21iX3N0YXRlOwog
ICAgICAgICAgY2hhciBfbDY0YV9idWZbOF07CiAgICAgICAgICBjaGFyIF9zaWduYWxfYnVm
WzI0XTsKICAgICAgICAgIGludCBfZ2V0ZGF0ZV9lcnI7CiAgICAgICAgICBfbWJzdGF0ZV90
IF9tYnJsZW5fc3RhdGU7CiAgICAgICAgICBfbWJzdGF0ZV90IF9tYnJ0b3djX3N0YXRlOwog
ICAgICAgICAgX21ic3RhdGVfdCBfbWJzcnRvd2NzX3N0YXRlOwogICAgICAgICAgX21ic3Rh
dGVfdCBfd2NydG9tYl9zdGF0ZTsKICAgICAgICAgIF9tYnN0YXRlX3QgX3djc3J0b21ic19z
dGF0ZTsKICAgaW50IF9oX2Vycm5vOwogICAgICAgIH0gX3JlZW50OwoKCgogICAgICBzdHJ1
Y3QKICAgICAgICB7CgogICAgICAgICAgdW5zaWduZWQgY2hhciAqIF9uZXh0ZlszMF07CiAg
ICAgICAgICB1bnNpZ25lZCBpbnQgX25tYWxsb2NbMzBdOwogICAgICAgIH0gX3VudXNlZDsK
ICAgIH0gX25ldzsKCgoKICBzdHJ1Y3QgX2F0ZXhpdCAqX2F0ZXhpdDsKICBzdHJ1Y3QgX2F0
ZXhpdCBfYXRleGl0MDsKCgoKICB2b2lkICgqKl9zaWdfZnVuYykoaW50KTsKCgoKCiAgc3Ry
dWN0IF9nbHVlIF9fc2dsdWU7CgogIF9fRklMRSBfX3NmWzNdOwoKfTsKIyA4MTkgIi91c3Iv
aW5jbHVkZS9zeXMvcmVlbnQuaCIgMyA0CmV4dGVybiBzdHJ1Y3QgX3JlZW50ICpfaW1wdXJl
X3B0ciA7CmV4dGVybiBzdHJ1Y3QgX3JlZW50ICpjb25zdCBfZ2xvYmFsX2ltcHVyZV9wdHIg
OwoKdm9pZCBfcmVjbGFpbV9yZWVudCAoc3RydWN0IF9yZWVudCAqKTsKCgoKCgogIHN0cnVj
dCBfcmVlbnQgKiBfX2dldHJlZW50ICh2b2lkKTsKIyAxOSAiL3Vzci9pbmNsdWRlL3N0ZGxp
Yi5oIiAyIDMgNAojIDEgIi91c3IvaW5jbHVkZS9zeXMvY2RlZnMuaCIgMSAzIDQKIyA0NyAi
L3Vzci9pbmNsdWRlL3N5cy9jZGVmcy5oIiAzIDQKIyAxICIvdXNyL2xpYi9nY2MveDg2XzY0
LXBjLWN5Z3dpbi8xMS9pbmNsdWRlL3N0ZGRlZi5oIiAxIDMgNAojIDQ4ICIvdXNyL2luY2x1
ZGUvc3lzL2NkZWZzLmgiIDIgMyA0CiMgMjAgIi91c3IvaW5jbHVkZS9zdGRsaWIuaCIgMiAz
IDQKIyAxICIvdXNyL2luY2x1ZGUvbWFjaGluZS9zdGRsaWIuaCIgMSAzIDQKIyAxNSAiL3Vz
ci9pbmNsdWRlL21hY2hpbmUvc3RkbGliLmgiIDMgNApjaGFyICpta2R0ZW1wIChjaGFyICop
OwojIDIxICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDIgMyA0CgojIDEgIi91c3IvaW5jbHVk
ZS9hbGxvY2EuaCIgMSAzIDQKIyAyMyAiL3Vzci9pbmNsdWRlL3N0ZGxpYi5oIiAyIDMgNAoK
CgojIDEgIi91c3IvaW5jbHVkZS9jeWd3aW4vc3RkbGliLmgiIDEgMyA0CiMgMTMgIi91c3Iv
aW5jbHVkZS9jeWd3aW4vc3RkbGliLmgiIDMgNAojIDEgIi91c3IvaW5jbHVkZS9jeWd3aW4v
d2FpdC5oIiAxIDMgNAojIDE0ICIvdXNyL2luY2x1ZGUvY3lnd2luL3N0ZGxpYi5oIiAyIDMg
NAoKCgoKCgpjb25zdCBjaGFyICpnZXRwcm9nbmFtZSAodm9pZCk7CnZvaWQgc2V0cHJvZ25h
bWUgKGNvbnN0IGNoYXIgKik7CgoKCgoKaW50IHVuc2V0ZW52IChjb25zdCBjaGFyICopOwoK
CmludCBjbGVhcmVudiAodm9pZCk7CiMgNTEgIi91c3IvaW5jbHVkZS9jeWd3aW4vc3RkbGli
LmgiIDMgNApleHRlcm4gdm9pZCAqbWVtYWxpZ24gKHNpemVfdCwgc2l6ZV90KTsKCmV4dGVy
biB2b2lkICp2YWxsb2MgKHNpemVfdCk7CiMgODQgIi91c3IvaW5jbHVkZS9jeWd3aW4vc3Rk
bGliLmgiIDMgNAppbnQgZ2V0bG9hZGF2Zyhkb3VibGUgbG9hZGF2Z1tdLCBpbnQgbmVsZW0p
OwojIDI3ICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDIgMyA0CgoKCgoKCgoKdHlwZWRlZiBz
dHJ1Y3QKewogIGludCBxdW90OwogIGludCByZW07Cn0gZGl2X3Q7Cgp0eXBlZGVmIHN0cnVj
dAp7CiAgbG9uZyBxdW90OwogIGxvbmcgcmVtOwp9IGxkaXZfdDsKCgp0eXBlZGVmIHN0cnVj
dAp7CiAgbG9uZyBsb25nIGludCBxdW90OwogIGxvbmcgbG9uZyBpbnQgcmVtOwp9IGxsZGl2
X3Q7CgoKCgp0eXBlZGVmIGludCAoKl9fY29tcGFyX2ZuX3QpIChjb25zdCB2b2lkICosIGNv
bnN0IHZvaWQgKik7CgoKCgoKCgppbnQgX19sb2NhbGVfbWJfY3VyX21heCAodm9pZCk7CgoK
CnZvaWQgYWJvcnQgKHZvaWQpIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKTsKaW50
IGFicyAoaW50KTsKCl9fdWludDMyX3QgYXJjNHJhbmRvbSAodm9pZCk7Cl9fdWludDMyX3Qg
YXJjNHJhbmRvbV91bmlmb3JtIChfX3VpbnQzMl90KTsKdm9pZCBhcmM0cmFuZG9tX2J1ZiAo
dm9pZCAqLCBzaXplX3QpOwoKaW50IGF0ZXhpdCAodm9pZCAoKl9fZnVuYykodm9pZCkpOwpk
b3VibGUgYXRvZiAoY29uc3QgY2hhciAqX19ucHRyKTsKCmZsb2F0IGF0b2ZmIChjb25zdCBj
aGFyICpfX25wdHIpOwoKaW50IGF0b2kgKGNvbnN0IGNoYXIgKl9fbnB0cik7CmludCBfYXRv
aV9yIChzdHJ1Y3QgX3JlZW50ICosIGNvbnN0IGNoYXIgKl9fbnB0cik7CmxvbmcgYXRvbCAo
Y29uc3QgY2hhciAqX19ucHRyKTsKbG9uZyBfYXRvbF9yIChzdHJ1Y3QgX3JlZW50ICosIGNv
bnN0IGNoYXIgKl9fbnB0cik7CnZvaWQgKiBic2VhcmNoIChjb25zdCB2b2lkICpfX2tleSwK
ICAgICAgICAgY29uc3Qgdm9pZCAqX19iYXNlLAogICAgICAgICBzaXplX3QgX19ubWVtYiwK
ICAgICAgICAgc2l6ZV90IF9fc2l6ZSwKICAgICAgICAgX19jb21wYXJfZm5fdCBfY29tcGFy
KTsKdm9pZCAqY2FsbG9jKHNpemVfdCwgc2l6ZV90KSBfX2F0dHJpYnV0ZV9fKChfX21hbGxv
Y19fKSkgX19hdHRyaWJ1dGVfXygoX193YXJuX3VudXNlZF9yZXN1bHRfXykpCiAgICAgIF9f
YXR0cmlidXRlX18oKF9fYWxsb2Nfc2l6ZV9fKDEsIDIpKSkgOwpkaXZfdCBkaXYgKGludCBf
X251bWVyLCBpbnQgX19kZW5vbSk7CnZvaWQgZXhpdCAoaW50IF9fc3RhdHVzKSBfX2F0dHJp
YnV0ZV9fICgoX19ub3JldHVybl9fKSk7CnZvaWQgZnJlZSAodm9pZCAqKSA7CmNoYXIgKiBn
ZXRlbnYgKGNvbnN0IGNoYXIgKl9fc3RyaW5nKTsKY2hhciAqIF9nZXRlbnZfciAoc3RydWN0
IF9yZWVudCAqLCBjb25zdCBjaGFyICpfX3N0cmluZyk7CgoKCmNoYXIgKiBfZmluZGVudiAo
Y29uc3QgY2hhciAqLCBpbnQgKik7CmNoYXIgKiBfZmluZGVudl9yIChzdHJ1Y3QgX3JlZW50
ICosIGNvbnN0IGNoYXIgKiwgaW50ICopOwoKZXh0ZXJuIGNoYXIgKnN1Ym9wdGFyZzsKaW50
IGdldHN1Ym9wdCAoY2hhciAqKiwgY2hhciAqIGNvbnN0ICosIGNoYXIgKiopOwoKbG9uZyBs
YWJzIChsb25nKTsKbGRpdl90IGxkaXYgKGxvbmcgX19udW1lciwgbG9uZyBfX2Rlbm9tKTsK
dm9pZCAqbWFsbG9jKHNpemVfdCkgX19hdHRyaWJ1dGVfXygoX19tYWxsb2NfXykpIF9fYXR0
cmlidXRlX18oKF9fd2Fybl91bnVzZWRfcmVzdWx0X18pKSBfX2F0dHJpYnV0ZV9fKChfX2Fs
bG9jX3NpemVfXygxKSkpIDsKaW50IG1ibGVuIChjb25zdCBjaGFyICosIHNpemVfdCk7Cmlu
dCBfbWJsZW5fciAoc3RydWN0IF9yZWVudCAqLCBjb25zdCBjaGFyICosIHNpemVfdCwgX21i
c3RhdGVfdCAqKTsKaW50IG1idG93YyAod2NoYXJfdCAqcmVzdHJpY3QsIGNvbnN0IGNoYXIg
KnJlc3RyaWN0LCBzaXplX3QpOwppbnQgX21idG93Y19yIChzdHJ1Y3QgX3JlZW50ICosIHdj
aGFyX3QgKnJlc3RyaWN0LCBjb25zdCBjaGFyICpyZXN0cmljdCwgc2l6ZV90LCBfbWJzdGF0
ZV90ICopOwppbnQgd2N0b21iIChjaGFyICosIHdjaGFyX3QpOwppbnQgX3djdG9tYl9yIChz
dHJ1Y3QgX3JlZW50ICosIGNoYXIgKiwgd2NoYXJfdCwgX21ic3RhdGVfdCAqKTsKc2l6ZV90
IG1ic3Rvd2NzICh3Y2hhcl90ICpyZXN0cmljdCwgY29uc3QgY2hhciAqcmVzdHJpY3QsIHNp
emVfdCk7CnNpemVfdCBfbWJzdG93Y3NfciAoc3RydWN0IF9yZWVudCAqLCB3Y2hhcl90ICpy
ZXN0cmljdCwgY29uc3QgY2hhciAqcmVzdHJpY3QsIHNpemVfdCwgX21ic3RhdGVfdCAqKTsK
c2l6ZV90IHdjc3RvbWJzIChjaGFyICpyZXN0cmljdCwgY29uc3Qgd2NoYXJfdCAqcmVzdHJp
Y3QsIHNpemVfdCk7CnNpemVfdCBfd2NzdG9tYnNfciAoc3RydWN0IF9yZWVudCAqLCBjaGFy
ICpyZXN0cmljdCwgY29uc3Qgd2NoYXJfdCAqcmVzdHJpY3QsIHNpemVfdCwgX21ic3RhdGVf
dCAqKTsKCgpjaGFyICogbWtkdGVtcCAoY2hhciAqKTsKCgoKCgoKaW50IG1rc3RlbXAgKGNo
YXIgKik7CgoKaW50IG1rc3RlbXBzIChjaGFyICosIGludCk7CgoKY2hhciAqIG1rdGVtcCAo
Y2hhciAqKSBfX2F0dHJpYnV0ZV9fICgoX19kZXByZWNhdGVkX18oInRoZSB1c2Ugb2YgYG1r
dGVtcCcgaXMgZGFuZ2Vyb3VzOyB1c2UgYG1rc3RlbXAnIGluc3RlYWQiKSkpOwoKCmNoYXIg
KiBfbWtkdGVtcF9yIChzdHJ1Y3QgX3JlZW50ICosIGNoYXIgKik7CmludCBfbWtvc3RlbXBf
ciAoc3RydWN0IF9yZWVudCAqLCBjaGFyICosIGludCk7CmludCBfbWtvc3RlbXBzX3IgKHN0
cnVjdCBfcmVlbnQgKiwgY2hhciAqLCBpbnQsIGludCk7CmludCBfbWtzdGVtcF9yIChzdHJ1
Y3QgX3JlZW50ICosIGNoYXIgKik7CmludCBfbWtzdGVtcHNfciAoc3RydWN0IF9yZWVudCAq
LCBjaGFyICosIGludCk7CmNoYXIgKiBfbWt0ZW1wX3IgKHN0cnVjdCBfcmVlbnQgKiwgY2hh
ciAqKSBfX2F0dHJpYnV0ZV9fICgoX19kZXByZWNhdGVkX18oInRoZSB1c2Ugb2YgYG1rdGVt
cCcgaXMgZGFuZ2Vyb3VzOyB1c2UgYG1rc3RlbXAnIGluc3RlYWQiKSkpOwp2b2lkIHFzb3J0
ICh2b2lkICpfX2Jhc2UsIHNpemVfdCBfX25tZW1iLCBzaXplX3QgX19zaXplLCBfX2NvbXBh
cl9mbl90IF9jb21wYXIpOwppbnQgcmFuZCAodm9pZCk7CnZvaWQgKnJlYWxsb2Modm9pZCAq
LCBzaXplX3QpIF9fYXR0cmlidXRlX18oKF9fd2Fybl91bnVzZWRfcmVzdWx0X18pKSBfX2F0
dHJpYnV0ZV9fKChfX2FsbG9jX3NpemVfXygyKSkpIDsKCnZvaWQgKnJlYWxsb2NhcnJheSh2
b2lkICosIHNpemVfdCwgc2l6ZV90KSBfX2F0dHJpYnV0ZV9fKChfX3dhcm5fdW51c2VkX3Jl
c3VsdF9fKSkgX19hdHRyaWJ1dGVfXygoX19hbGxvY19zaXplX18oMiwgMykpKTsKdm9pZCAq
cmVhbGxvY2Yodm9pZCAqLCBzaXplX3QpIF9fYXR0cmlidXRlX18oKF9fd2Fybl91bnVzZWRf
cmVzdWx0X18pKSBfX2F0dHJpYnV0ZV9fKChfX2FsbG9jX3NpemVfXygyKSkpOwoKCmNoYXIg
KiByZWFscGF0aCAoY29uc3QgY2hhciAqcmVzdHJpY3QgcGF0aCwgY2hhciAqcmVzdHJpY3Qg
cmVzb2x2ZWRfcGF0aCk7CgoKaW50IHJwbWF0Y2ggKGNvbnN0IGNoYXIgKnJlc3BvbnNlKTsK
CgoKCnZvaWQgc3JhbmQgKHVuc2lnbmVkIF9fc2VlZCk7CmRvdWJsZSBzdHJ0b2QgKGNvbnN0
IGNoYXIgKnJlc3RyaWN0IF9fbiwgY2hhciAqKnJlc3RyaWN0IF9fZW5kX1BUUik7CmRvdWJs
ZSBfc3RydG9kX3IgKHN0cnVjdCBfcmVlbnQgKixjb25zdCBjaGFyICpyZXN0cmljdCBfX24s
IGNoYXIgKipyZXN0cmljdCBfX2VuZF9QVFIpOwoKZmxvYXQgc3RydG9mIChjb25zdCBjaGFy
ICpyZXN0cmljdCBfX24sIGNoYXIgKipyZXN0cmljdCBfX2VuZF9QVFIpOwoKCgoKCgoKbG9u
ZyBzdHJ0b2wgKGNvbnN0IGNoYXIgKnJlc3RyaWN0IF9fbiwgY2hhciAqKnJlc3RyaWN0IF9f
ZW5kX1BUUiwgaW50IF9fYmFzZSk7CmxvbmcgX3N0cnRvbF9yIChzdHJ1Y3QgX3JlZW50ICos
Y29uc3QgY2hhciAqcmVzdHJpY3QgX19uLCBjaGFyICoqcmVzdHJpY3QgX19lbmRfUFRSLCBp
bnQgX19iYXNlKTsKdW5zaWduZWQgbG9uZyBzdHJ0b3VsIChjb25zdCBjaGFyICpyZXN0cmlj
dCBfX24sIGNoYXIgKipyZXN0cmljdCBfX2VuZF9QVFIsIGludCBfX2Jhc2UpOwp1bnNpZ25l
ZCBsb25nIF9zdHJ0b3VsX3IgKHN0cnVjdCBfcmVlbnQgKixjb25zdCBjaGFyICpyZXN0cmlj
dCBfX24sIGNoYXIgKipyZXN0cmljdCBfX2VuZF9QVFIsIGludCBfX2Jhc2UpOwojIDE5MSAi
L3Vzci9pbmNsdWRlL3N0ZGxpYi5oIiAzIDQKaW50IHN5c3RlbSAoY29uc3QgY2hhciAqX19z
dHJpbmcpOwoKCmxvbmcgYTY0bCAoY29uc3QgY2hhciAqX19pbnB1dCk7CmNoYXIgKiBsNjRh
IChsb25nIF9faW5wdXQpOwpjaGFyICogX2w2NGFfciAoc3RydWN0IF9yZWVudCAqLGxvbmcg
X19pbnB1dCk7CgoKaW50IG9uX2V4aXQgKHZvaWQgKCpfX2Z1bmMpKGludCwgdm9pZCAqKSx2
b2lkICpfX2FyZyk7CgoKdm9pZCBfRXhpdCAoaW50IF9fc3RhdHVzKSBfX2F0dHJpYnV0ZV9f
ICgoX19ub3JldHVybl9fKSk7CgoKaW50IHB1dGVudiAoY2hhciAqX19zdHJpbmcpOwoKaW50
IF9wdXRlbnZfciAoc3RydWN0IF9yZWVudCAqLCBjaGFyICpfX3N0cmluZyk7CnZvaWQgKiBf
cmVhbGxvY2ZfciAoc3RydWN0IF9yZWVudCAqLCB2b2lkICosIHNpemVfdCk7CgppbnQgc2V0
ZW52IChjb25zdCBjaGFyICpfX3N0cmluZywgY29uc3QgY2hhciAqX192YWx1ZSwgaW50IF9f
b3ZlcndyaXRlKTsKCmludCBfc2V0ZW52X3IgKHN0cnVjdCBfcmVlbnQgKiwgY29uc3QgY2hh
ciAqX19zdHJpbmcsIGNvbnN0IGNoYXIgKl9fdmFsdWUsIGludCBfX292ZXJ3cml0ZSk7CiMg
MjI0ICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDMgNApjaGFyICogX19pdG9hIChpbnQsIGNo
YXIgKiwgaW50KTsKY2hhciAqIF9fdXRvYSAodW5zaWduZWQsIGNoYXIgKiwgaW50KTsKCmNo
YXIgKiBpdG9hIChpbnQsIGNoYXIgKiwgaW50KTsKY2hhciAqIHV0b2EgKHVuc2lnbmVkLCBj
aGFyICosIGludCk7CgoKaW50IHJhbmRfciAodW5zaWduZWQgKl9fc2VlZCk7CgoKCmRvdWJs
ZSBkcmFuZDQ4ICh2b2lkKTsKZG91YmxlIF9kcmFuZDQ4X3IgKHN0cnVjdCBfcmVlbnQgKik7
CmRvdWJsZSBlcmFuZDQ4ICh1bnNpZ25lZCBzaG9ydCBbM10pOwpkb3VibGUgX2VyYW5kNDhf
ciAoc3RydWN0IF9yZWVudCAqLCB1bnNpZ25lZCBzaG9ydCBbM10pOwpsb25nIGpyYW5kNDgg
KHVuc2lnbmVkIHNob3J0IFszXSk7CmxvbmcgX2pyYW5kNDhfciAoc3RydWN0IF9yZWVudCAq
LCB1bnNpZ25lZCBzaG9ydCBbM10pOwp2b2lkIGxjb25nNDggKHVuc2lnbmVkIHNob3J0IFs3
XSk7CnZvaWQgX2xjb25nNDhfciAoc3RydWN0IF9yZWVudCAqLCB1bnNpZ25lZCBzaG9ydCBb
N10pOwpsb25nIGxyYW5kNDggKHZvaWQpOwpsb25nIF9scmFuZDQ4X3IgKHN0cnVjdCBfcmVl
bnQgKik7CmxvbmcgbXJhbmQ0OCAodm9pZCk7CmxvbmcgX21yYW5kNDhfciAoc3RydWN0IF9y
ZWVudCAqKTsKbG9uZyBucmFuZDQ4ICh1bnNpZ25lZCBzaG9ydCBbM10pOwpsb25nIF9ucmFu
ZDQ4X3IgKHN0cnVjdCBfcmVlbnQgKiwgdW5zaWduZWQgc2hvcnQgWzNdKTsKdW5zaWduZWQg
c2hvcnQgKgogICAgICAgc2VlZDQ4ICh1bnNpZ25lZCBzaG9ydCBbM10pOwp1bnNpZ25lZCBz
aG9ydCAqCiAgICAgICBfc2VlZDQ4X3IgKHN0cnVjdCBfcmVlbnQgKiwgdW5zaWduZWQgc2hv
cnQgWzNdKTsKdm9pZCBzcmFuZDQ4IChsb25nKTsKdm9pZCBfc3JhbmQ0OF9yIChzdHJ1Y3Qg
X3JlZW50ICosIGxvbmcpOwoKCmNoYXIgKiBpbml0c3RhdGUgKHVuc2lnbmVkLCBjaGFyICos
IHNpemVfdCk7CmxvbmcgcmFuZG9tICh2b2lkKTsKY2hhciAqIHNldHN0YXRlIChjaGFyICop
Owp2b2lkIHNyYW5kb20gKHVuc2lnbmVkKTsKCgpsb25nIGxvbmcgYXRvbGwgKGNvbnN0IGNo
YXIgKl9fbnB0cik7Cgpsb25nIGxvbmcgX2F0b2xsX3IgKHN0cnVjdCBfcmVlbnQgKiwgY29u
c3QgY2hhciAqX19ucHRyKTsKCmxvbmcgbG9uZyBsbGFicyAobG9uZyBsb25nKTsKbGxkaXZf
dCBsbGRpdiAobG9uZyBsb25nIF9fbnVtZXIsIGxvbmcgbG9uZyBfX2Rlbm9tKTsKbG9uZyBs
b25nIHN0cnRvbGwgKGNvbnN0IGNoYXIgKnJlc3RyaWN0IF9fbiwgY2hhciAqKnJlc3RyaWN0
IF9fZW5kX1BUUiwgaW50IF9fYmFzZSk7Cgpsb25nIGxvbmcgX3N0cnRvbGxfciAoc3RydWN0
IF9yZWVudCAqLCBjb25zdCBjaGFyICpyZXN0cmljdCBfX24sIGNoYXIgKipyZXN0cmljdCBf
X2VuZF9QVFIsIGludCBfX2Jhc2UpOwoKdW5zaWduZWQgbG9uZyBsb25nIHN0cnRvdWxsIChj
b25zdCBjaGFyICpyZXN0cmljdCBfX24sIGNoYXIgKipyZXN0cmljdCBfX2VuZF9QVFIsIGlu
dCBfX2Jhc2UpOwoKdW5zaWduZWQgbG9uZyBsb25nIF9zdHJ0b3VsbF9yIChzdHJ1Y3QgX3Jl
ZW50ICosIGNvbnN0IGNoYXIgKnJlc3RyaWN0IF9fbiwgY2hhciAqKnJlc3RyaWN0IF9fZW5k
X1BUUiwgaW50IF9fYmFzZSk7CiMgMjg4ICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDMgNApp
bnQgcG9zaXhfbWVtYWxpZ24gKHZvaWQgKiosIHNpemVfdCwgc2l6ZV90KSBfX2F0dHJpYnV0
ZV9fKChfX25vbm51bGxfXyAoMSkpKQogICAgIF9fYXR0cmlidXRlX18oKF9fd2Fybl91bnVz
ZWRfcmVzdWx0X18pKTsKCgpjaGFyICogX2R0b2FfciAoc3RydWN0IF9yZWVudCAqLCBkb3Vi
bGUsIGludCwgaW50LCBpbnQgKiwgaW50KiwgY2hhcioqKTsKCgoKCgoKCmludCBfc3lzdGVt
X3IgKHN0cnVjdCBfcmVlbnQgKiwgY29uc3QgY2hhciAqKTsKCnZvaWQgX19lcHJpbnRmIChj
b25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgdW5zaWduZWQgaW50LCBjb25zdCBjaGFyICop
OwojIDMxMiAiL3Vzci9pbmNsdWRlL3N0ZGxpYi5oIiAzIDQKdm9pZCBxc29ydF9yICh2b2lk
ICpfX2Jhc2UsIHNpemVfdCBfX25tZW1iLCBzaXplX3QgX19zaXplLCB2b2lkICpfX3RodW5r
LCBpbnQgKCpfY29tcGFyKSh2b2lkICosIGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqKSkK
ICAgICAgICAgICAgIF9fYXNtX18gKCIiICJfX2JzZF9xc29ydF9yIik7CiMgMzIyICIvdXNy
L2luY2x1ZGUvc3RkbGliLmgiIDMgNApleHRlcm4gbG9uZyBkb3VibGUgX3N0cnRvbGRfciAo
c3RydWN0IF9yZWVudCAqLCBjb25zdCBjaGFyICpyZXN0cmljdCwgY2hhciAqKnJlc3RyaWN0
KTsKCmV4dGVybiBsb25nIGRvdWJsZSBzdHJ0b2xkIChjb25zdCBjaGFyICpyZXN0cmljdCwg
Y2hhciAqKnJlc3RyaWN0KTsKCgoKCgoKCnZvaWQgKiBhbGlnbmVkX2FsbG9jKHNpemVfdCwg
c2l6ZV90KSBfX2F0dHJpYnV0ZV9fKChfX21hbGxvY19fKSkgX19hdHRyaWJ1dGVfXygoX19h
bGxvY19hbGlnbl9fKDEpKSkKICAgICBfX2F0dHJpYnV0ZV9fKChfX2FsbG9jX3NpemVfXygy
KSkpIF9fYXR0cmlidXRlX18oKF9fd2Fybl91bnVzZWRfcmVzdWx0X18pKTsKaW50IGF0X3F1
aWNrX2V4aXQodm9pZCAoKikodm9pZCkpOwpfTm9yZXR1cm4gdm9pZAogcXVpY2tfZXhpdChp
bnQpOwoKCgojIDIgImljb252LXRlc3QuYyIgMgojIDEgIi91c3IvaW5jbHVkZS9pY29udi5o
IiAxIDMgNAojIDMwICIvdXNyL2luY2x1ZGUvaWNvbnYuaCIgMyA0CiMgMSAiL3Vzci9pbmNs
dWRlL3JlZW50LmgiIDEgMyA0CiMgOTggIi91c3IvaW5jbHVkZS9yZWVudC5oIiAzIDQKIyAx
ICIvdXNyL2xpYi9nY2MveDg2XzY0LXBjLWN5Z3dpbi8xMS9pbmNsdWRlL3N0ZGRlZi5oIiAx
IDMgNAojIDk5ICIvdXNyL2luY2x1ZGUvcmVlbnQuaCIgMiAzIDQKCgpzdHJ1Y3Qgc3RhdDsK
c3RydWN0IHRtczsKc3RydWN0IHRpbWV2YWw7CnN0cnVjdCB0aW1lem9uZTsKIyAxMzkgIi91
c3IvaW5jbHVkZS9yZWVudC5oIiAzIDQKZXh0ZXJuIGludCBfY2xvc2VfciAoc3RydWN0IF9y
ZWVudCAqLCBpbnQpOwpleHRlcm4gaW50IF9leGVjdmVfciAoc3RydWN0IF9yZWVudCAqLCBj
b25zdCBjaGFyICosIGNoYXIgKmNvbnN0ICosIGNoYXIgKmNvbnN0ICopOwpleHRlcm4gaW50
IF9mY250bF9yIChzdHJ1Y3QgX3JlZW50ICosIGludCwgaW50LCBpbnQpOwpleHRlcm4gaW50
IF9mb3JrX3IgKHN0cnVjdCBfcmVlbnQgKik7CmV4dGVybiBpbnQgX2ZzdGF0X3IgKHN0cnVj
dCBfcmVlbnQgKiwgaW50LCBzdHJ1Y3Qgc3RhdCAqKTsKZXh0ZXJuIGludCBfZ2V0cGlkX3Ig
KHN0cnVjdCBfcmVlbnQgKik7CmV4dGVybiBpbnQgX2lzYXR0eV9yIChzdHJ1Y3QgX3JlZW50
ICosIGludCk7CmV4dGVybiBpbnQgX2tpbGxfciAoc3RydWN0IF9yZWVudCAqLCBpbnQsIGlu
dCk7CmV4dGVybiBpbnQgX2xpbmtfciAoc3RydWN0IF9yZWVudCAqLCBjb25zdCBjaGFyICos
IGNvbnN0IGNoYXIgKik7CmV4dGVybiBfb2ZmX3QgX2xzZWVrX3IgKHN0cnVjdCBfcmVlbnQg
KiwgaW50LCBfb2ZmX3QsIGludCk7CmV4dGVybiBpbnQgX21rZGlyX3IgKHN0cnVjdCBfcmVl
bnQgKiwgY29uc3QgY2hhciAqLCBpbnQpOwpleHRlcm4gaW50IF9vcGVuX3IgKHN0cnVjdCBf
cmVlbnQgKiwgY29uc3QgY2hhciAqLCBpbnQsIGludCk7CmV4dGVybiBfc3NpemVfdCBfcmVh
ZF9yIChzdHJ1Y3QgX3JlZW50ICosIGludCwgdm9pZCAqLCBzaXplX3QpOwpleHRlcm4gaW50
IF9yZW5hbWVfciAoc3RydWN0IF9yZWVudCAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIg
Kik7CmV4dGVybiB2b2lkICpfc2Jya19yIChzdHJ1Y3QgX3JlZW50ICosIHB0cmRpZmZfdCk7
CmV4dGVybiBpbnQgX3N0YXRfciAoc3RydWN0IF9yZWVudCAqLCBjb25zdCBjaGFyICosIHN0
cnVjdCBzdGF0ICopOwpleHRlcm4gdW5zaWduZWQgbG9uZyBfdGltZXNfciAoc3RydWN0IF9y
ZWVudCAqLCBzdHJ1Y3QgdG1zICopOwpleHRlcm4gaW50IF91bmxpbmtfciAoc3RydWN0IF9y
ZWVudCAqLCBjb25zdCBjaGFyICopOwpleHRlcm4gaW50IF93YWl0X3IgKHN0cnVjdCBfcmVl
bnQgKiwgaW50ICopOwpleHRlcm4gX3NzaXplX3QgX3dyaXRlX3IgKHN0cnVjdCBfcmVlbnQg
KiwgaW50LCBjb25zdCB2b2lkICosIHNpemVfdCk7CgoKZXh0ZXJuIGludCBfZ2V0dGltZW9m
ZGF5X3IgKHN0cnVjdCBfcmVlbnQgKiwgc3RydWN0IHRpbWV2YWwgKl9fdHAsIHZvaWQgKl9f
dHpwKTsKCgoKCgoKCnN0cnVjdCBzdGF0OwoKZXh0ZXJuIF9vZmY2NF90IF9sc2VlazY0X3Ig
KHN0cnVjdCBfcmVlbnQgKiwgaW50LCBfb2ZmNjRfdCwgaW50KTsKZXh0ZXJuIGludCBfZnN0
YXQ2NF9yIChzdHJ1Y3QgX3JlZW50ICosIGludCwgc3RydWN0IHN0YXQgKik7CmV4dGVybiBp
bnQgX29wZW42NF9yIChzdHJ1Y3QgX3JlZW50ICosIGNvbnN0IGNoYXIgKiwgaW50LCBpbnQp
OwpleHRlcm4gaW50IF9zdGF0NjRfciAoc3RydWN0IF9yZWVudCAqLCBjb25zdCBjaGFyICos
IHN0cnVjdCBzdGF0ICopOwojIDMxICIvdXNyL2luY2x1ZGUvaWNvbnYuaCIgMiAzIDQKIyAx
ICIvdXNyL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDEgMyA0CiMgMjggIi91c3IvaW5jbHVkZS9z
eXMvdHlwZXMuaCIgMyA0CnR5cGVkZWYgX191aW50OF90IHVfaW50OF90OwoKCnR5cGVkZWYg
X191aW50MTZfdCB1X2ludDE2X3Q7CgoKdHlwZWRlZiBfX3VpbnQzMl90IHVfaW50MzJfdDsK
Cgp0eXBlZGVmIF9fdWludDY0X3QgdV9pbnQ2NF90OwoKdHlwZWRlZiBfX2ludHB0cl90IHJl
Z2lzdGVyX3Q7CgoKCgoKCiMgMSAiL3Vzci9pbmNsdWRlL3N5cy9fc3RkaW50LmgiIDEgMyA0
CiMgMjAgIi91c3IvaW5jbHVkZS9zeXMvX3N0ZGludC5oIiAzIDQKdHlwZWRlZiBfX2ludDhf
dCBpbnQ4X3QgOwoKCgp0eXBlZGVmIF9fdWludDhfdCB1aW50OF90IDsKCgoKCgoKCnR5cGVk
ZWYgX19pbnQxNl90IGludDE2X3QgOwoKCgp0eXBlZGVmIF9fdWludDE2X3QgdWludDE2X3Qg
OwoKCgoKCgoKdHlwZWRlZiBfX2ludDMyX3QgaW50MzJfdCA7CgoKCnR5cGVkZWYgX191aW50
MzJfdCB1aW50MzJfdCA7CgoKCgoKCgp0eXBlZGVmIF9faW50NjRfdCBpbnQ2NF90IDsKCgoK
dHlwZWRlZiBfX3VpbnQ2NF90IHVpbnQ2NF90IDsKCgoKCgoKdHlwZWRlZiBfX2ludG1heF90
IGludG1heF90OwoKCgoKdHlwZWRlZiBfX3VpbnRtYXhfdCB1aW50bWF4X3Q7CgoKCgp0eXBl
ZGVmIF9faW50cHRyX3QgaW50cHRyX3Q7CgoKCgp0eXBlZGVmIF9fdWludHB0cl90IHVpbnRw
dHJfdDsKIyA0NyAiL3Vzci9pbmNsdWRlL3N5cy90eXBlcy5oIiAyIDMgNAoKCiMgMSAiL3Vz
ci9pbmNsdWRlL21hY2hpbmUvZW5kaWFuLmgiIDEgMyA0CgoKCgoKIyAxICIvdXNyL2luY2x1
ZGUvbWFjaGluZS9fZW5kaWFuLmgiIDEgMyA0CiMgMTQgIi91c3IvaW5jbHVkZS9tYWNoaW5l
L19lbmRpYW4uaCIgMyA0CiMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvZW5kaWFuLmgiIDEgMyA0
CiMgMTUgIi91c3IvaW5jbHVkZS9tYWNoaW5lL19lbmRpYW4uaCIgMiAzIDQKIyAyMyAiL3Vz
ci9pbmNsdWRlL21hY2hpbmUvX2VuZGlhbi5oIiAzIDQKc3RhdGljIF9faW5saW5lX18gX191
aW50MzJfdCBfX250b2hsKF9fdWludDMyX3QpOwpzdGF0aWMgX19pbmxpbmVfXyBfX3VpbnQx
Nl90IF9fbnRvaHMoX191aW50MTZfdCk7CgpzdGF0aWMgX19pbmxpbmVfXyBfX3VpbnQzMl90
Cl9fbnRvaGwoX191aW50MzJfdCBfeCkKewogX19hc21fXygiYnN3YXAgJTAiIDogIj1yIiAo
X3gpIDogIjAiIChfeCkpOwogcmV0dXJuIF94Owp9CgpzdGF0aWMgX19pbmxpbmVfXyBfX3Vp
bnQxNl90Cl9fbnRvaHMoX191aW50MTZfdCBfeCkKewogX19hc21fXygieGNoZ2IgJWIwLCVo
MCIKICA6ICI9USIgKF94KQogIDogIjAiIChfeCkpOwogcmV0dXJuIF94Owp9CiMgNyAiL3Vz
ci9pbmNsdWRlL21hY2hpbmUvZW5kaWFuLmgiIDIgMyA0CiMgNTAgIi91c3IvaW5jbHVkZS9z
eXMvdHlwZXMuaCIgMiAzIDQKIyAxICIvdXNyL2luY2x1ZGUvc3lzL3NlbGVjdC5oIiAxIDMg
NAojIDE0ICIvdXNyL2luY2x1ZGUvc3lzL3NlbGVjdC5oIiAzIDQKIyAxICIvdXNyL2luY2x1
ZGUvc3lzL19zaWdzZXQuaCIgMSAzIDQKIyA0MSAiL3Vzci9pbmNsdWRlL3N5cy9fc2lnc2V0
LmgiIDMgNAp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgX19zaWdzZXRfdDsKIyAxNSAiL3Vzci9p
bmNsdWRlL3N5cy9zZWxlY3QuaCIgMiAzIDQKIyAxICIvdXNyL2luY2x1ZGUvc3lzL190aW1l
dmFsLmgiIDEgMyA0CiMgMzcgIi91c3IvaW5jbHVkZS9zeXMvX3RpbWV2YWwuaCIgMyA0CnR5
cGVkZWYgX19zdXNlY29uZHNfdCBzdXNlY29uZHNfdDsKCgoKCnR5cGVkZWYgbG9uZyB0aW1l
X3Q7CiMgNTQgIi91c3IvaW5jbHVkZS9zeXMvX3RpbWV2YWwuaCIgMyA0CnN0cnVjdCB0aW1l
dmFsIHsKIHRpbWVfdCB0dl9zZWM7CiBzdXNlY29uZHNfdCB0dl91c2VjOwp9OwojIDE2ICIv
dXNyL2luY2x1ZGUvc3lzL3NlbGVjdC5oIiAyIDMgNAojIDEgIi91c3IvaW5jbHVkZS9zeXMv
dGltZXNwZWMuaCIgMSAzIDQKIyAzOCAiL3Vzci9pbmNsdWRlL3N5cy90aW1lc3BlYy5oIiAz
IDQKIyAxICIvdXNyL2luY2x1ZGUvc3lzL190aW1lc3BlYy5oIiAxIDMgNAojIDQ3ICIvdXNy
L2luY2x1ZGUvc3lzL190aW1lc3BlYy5oIiAzIDQKc3RydWN0IHRpbWVzcGVjIHsKIHRpbWVf
dCB0dl9zZWM7CiBsb25nIHR2X25zZWM7Cn07CiMgMzkgIi91c3IvaW5jbHVkZS9zeXMvdGlt
ZXNwZWMuaCIgMiAzIDQKIyA1OCAiL3Vzci9pbmNsdWRlL3N5cy90aW1lc3BlYy5oIiAzIDQK
c3RydWN0IGl0aW1lcnNwZWMgewogc3RydWN0IHRpbWVzcGVjIGl0X2ludGVydmFsOwogc3Ry
dWN0IHRpbWVzcGVjIGl0X3ZhbHVlOwp9OwojIDE3ICIvdXNyL2luY2x1ZGUvc3lzL3NlbGVj
dC5oIiAyIDMgNAoKCgp0eXBlZGVmIF9fc2lnc2V0X3Qgc2lnc2V0X3Q7CiMgMzQgIi91c3Iv
aW5jbHVkZS9zeXMvc2VsZWN0LmgiIDMgNAp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgX19mZF9t
YXNrOwoKdHlwZWRlZiBfX2ZkX21hc2sgZmRfbWFzazsKIyA0OCAiL3Vzci9pbmNsdWRlL3N5
cy9zZWxlY3QuaCIgMyA0CnR5cGVkZWYgc3RydWN0IGZkX3NldCB7CiBfX2ZkX21hc2sgX19m
ZHNfYml0c1soKCg2NCkgKyAoKCgoaW50KXNpemVvZihfX2ZkX21hc2spICogOCkpIC0gMSkp
IC8gKCgoaW50KXNpemVvZihfX2ZkX21hc2spICogOCkpKV07Cn0gZmRfc2V0OwojIDc0ICIv
dXNyL2luY2x1ZGUvc3lzL3NlbGVjdC5oIiAzIDQKCgppbnQgc2VsZWN0IChpbnQgX19uLCBm
ZF9zZXQgKl9fcmVhZGZkcywgZmRfc2V0ICpfX3dyaXRlZmRzLCBmZF9zZXQgKl9fZXhjZXB0
ZmRzLCBzdHJ1Y3QgdGltZXZhbCAqX190aW1lb3V0KQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7CgppbnQgcHNlbGVjdCAoaW50IF9fbiwg
ZmRfc2V0ICpfX3JlYWRmZHMsIGZkX3NldCAqX193cml0ZWZkcywgZmRfc2V0ICpfX2V4Y2Vw
dGZkcywgY29uc3Qgc3RydWN0IHRpbWVzcGVjICpfX3RpbWVvdXQsIGNvbnN0IHNpZ3NldF90
ICpfX3NldCkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDsKCgoKIyA1MSAiL3Vzci9p
bmNsdWRlL3N5cy90eXBlcy5oIiAyIDMgNAoKCgoKdHlwZWRlZiBfX3VpbnQzMl90IGluX2Fk
ZHJfdDsKCgoKCnR5cGVkZWYgX191aW50MTZfdCBpbl9wb3J0X3Q7CgoKCnR5cGVkZWYgX191
aW50cHRyX3QgdV9yZWdpc3Rlcl90OwoKCgoKCgp0eXBlZGVmIHVuc2lnbmVkIGNoYXIgdV9j
aGFyOwoKCgp0eXBlZGVmIHVuc2lnbmVkIHNob3J0IHVfc2hvcnQ7CgoKCnR5cGVkZWYgdW5z
aWduZWQgaW50IHVfaW50OwoKCgp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgdV9sb25nOwoKCgoK
CgoKdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCB1c2hvcnQ7CnR5cGVkZWYgdW5zaWduZWQgaW50
IHVpbnQ7CnR5cGVkZWYgdW5zaWduZWQgbG9uZyB1bG9uZzsKCgoKdHlwZWRlZiBfX2Jsa2Nu
dF90IGJsa2NudF90OwoKCgoKdHlwZWRlZiBfX2Jsa3NpemVfdCBibGtzaXplX3Q7CgoKCgp0
eXBlZGVmIHVuc2lnbmVkIGxvbmcgY2xvY2tfdDsKIyAxMTkgIi91c3IvaW5jbHVkZS9zeXMv
dHlwZXMuaCIgMyA0CnR5cGVkZWYgbG9uZyBkYWRkcl90OwoKCgp0eXBlZGVmIGNoYXIgKiBj
YWRkcl90OwoKCgoKdHlwZWRlZiBfX2ZzYmxrY250X3QgZnNibGtjbnRfdDsKdHlwZWRlZiBf
X2ZzZmlsY250X3QgZnNmaWxjbnRfdDsKCgoKCnR5cGVkZWYgX19pZF90IGlkX3Q7CgoKCgp0
eXBlZGVmIF9faW5vX3QgaW5vX3Q7CiMgMTU3ICIvdXNyL2luY2x1ZGUvc3lzL3R5cGVzLmgi
IDMgNAp0eXBlZGVmIF9fb2ZmX3Qgb2ZmX3Q7CgoKCnR5cGVkZWYgX19kZXZfdCBkZXZfdDsK
CgoKdHlwZWRlZiBfX3VpZF90IHVpZF90OwoKCgp0eXBlZGVmIF9fZ2lkX3QgZ2lkX3Q7CgoK
Cgp0eXBlZGVmIF9fcGlkX3QgcGlkX3Q7CgoKCgp0eXBlZGVmIF9fa2V5X3Qga2V5X3Q7CgoK
Cgp0eXBlZGVmIF9zc2l6ZV90IHNzaXplX3Q7CgoKCgp0eXBlZGVmIF9fbW9kZV90IG1vZGVf
dDsKCgoKCnR5cGVkZWYgX19ubGlua190IG5saW5rX3Q7CgoKCgp0eXBlZGVmIF9fY2xvY2tp
ZF90IGNsb2NraWRfdDsKCgoKCgp0eXBlZGVmIF9fdGltZXJfdCB0aW1lcl90OwoKCgoKCnR5
cGVkZWYgX191c2Vjb25kc190IHVzZWNvbmRzX3Q7CiMgMjIwICIvdXNyL2luY2x1ZGUvc3lz
L3R5cGVzLmgiIDMgNAp0eXBlZGVmIF9faW50NjRfdCBzYmludGltZV90OwoKCiMgMSAiL3Vz
ci9pbmNsdWRlL3N5cy9fcHRocmVhZHR5cGVzLmgiIDEgMyA0CiMgMTIgIi91c3IvaW5jbHVk
ZS9zeXMvX3B0aHJlYWR0eXBlcy5oIiAzIDQKIyAxICIvdXNyL2luY2x1ZGUvc3lzL2NwdXNl
dC5oIiAxIDMgNAojIDE2ICIvdXNyL2luY2x1ZGUvc3lzL2NwdXNldC5oIiAzIDQKdHlwZWRl
ZiBsb25nIHVuc2lnbmVkIGludCBfX2NwdV9tYXNrOwoKCgoKCgoKdHlwZWRlZiBzdHJ1Y3QK
ewogIF9fY3B1X21hc2sgX19iaXRzWygxMDI0IC8gKDggKiBzaXplb2YgKF9fY3B1X21hc2sp
KSldOwp9IGNwdV9zZXRfdDsKIyAxMyAiL3Vzci9pbmNsdWRlL3N5cy9fcHRocmVhZHR5cGVz
LmgiIDIgMyA0CgoKCnR5cGVkZWYgc3RydWN0IF9fcHRocmVhZF90IHtjaGFyIF9fZHVtbXk7
fSAqcHRocmVhZF90Owp0eXBlZGVmIHN0cnVjdCBfX3B0aHJlYWRfbXV0ZXhfdCB7Y2hhciBf
X2R1bW15O30gKnB0aHJlYWRfbXV0ZXhfdDsKCnR5cGVkZWYgc3RydWN0IF9fcHRocmVhZF9r
ZXlfdCB7Y2hhciBfX2R1bW15O30gKnB0aHJlYWRfa2V5X3Q7CnR5cGVkZWYgc3RydWN0IF9f
cHRocmVhZF9hdHRyX3Qge2NoYXIgX19kdW1teTt9ICpwdGhyZWFkX2F0dHJfdDsKdHlwZWRl
ZiBzdHJ1Y3QgX19wdGhyZWFkX211dGV4YXR0cl90IHtjaGFyIF9fZHVtbXk7fSAqcHRocmVh
ZF9tdXRleGF0dHJfdDsKdHlwZWRlZiBzdHJ1Y3QgX19wdGhyZWFkX2NvbmRhdHRyX3Qge2No
YXIgX19kdW1teTt9ICpwdGhyZWFkX2NvbmRhdHRyX3Q7CnR5cGVkZWYgc3RydWN0IF9fcHRo
cmVhZF9jb25kX3Qge2NoYXIgX19kdW1teTt9ICpwdGhyZWFkX2NvbmRfdDsKdHlwZWRlZiBz
dHJ1Y3QgX19wdGhyZWFkX2JhcnJpZXJhdHRyX3Qge2NoYXIgX19kdW1teTt9ICpwdGhyZWFk
X2JhcnJpZXJhdHRyX3Q7CnR5cGVkZWYgc3RydWN0IF9fcHRocmVhZF9iYXJyaWVyX3Qge2No
YXIgX19kdW1teTt9ICpwdGhyZWFkX2JhcnJpZXJfdDsKCgp0eXBlZGVmIHN0cnVjdAp7CiAg
cHRocmVhZF9tdXRleF90IG11dGV4OwogIGludCBzdGF0ZTsKfQpwdGhyZWFkX29uY2VfdDsK
dHlwZWRlZiBzdHJ1Y3QgX19wdGhyZWFkX3NwaW5sb2NrX3Qge2NoYXIgX19kdW1teTt9ICpw
dGhyZWFkX3NwaW5sb2NrX3Q7CnR5cGVkZWYgc3RydWN0IF9fcHRocmVhZF9yd2xvY2tfdCB7
Y2hhciBfX2R1bW15O30gKnB0aHJlYWRfcndsb2NrX3Q7CnR5cGVkZWYgc3RydWN0IF9fcHRo
cmVhZF9yd2xvY2thdHRyX3Qge2NoYXIgX19kdW1teTt9ICpwdGhyZWFkX3J3bG9ja2F0dHJf
dDsKIyAyMjQgIi91c3IvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMiAzIDQKIyAxICIvdXNyL2lu
Y2x1ZGUvbWFjaGluZS90eXBlcy5oIiAxIDMgNAojIDE5ICIvdXNyL2luY2x1ZGUvbWFjaGlu
ZS90eXBlcy5oIiAzIDQKIyAxICIvdXNyL2luY2x1ZGUvZW5kaWFuLmgiIDEgMyA0CiMgMzgg
Ii91c3IvaW5jbHVkZS9lbmRpYW4uaCIgMyA0CiMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvYnl0
ZXN3YXAuaCIgMSAzIDQKIyAxNiAiL3Vzci9pbmNsdWRlL2JpdHMvYnl0ZXN3YXAuaCIgMyA0
CnN0YXRpYyBfX2lubGluZSB1bnNpZ25lZCBzaG9ydApfX2Jzd2FwXzE2ICh1bnNpZ25lZCBz
aG9ydCBfX3gpCnsKICByZXR1cm4gKF9feCA+PiA4KSB8IChfX3ggPDwgOCk7Cn0KCnN0YXRp
YyBfX2lubGluZSB1bnNpZ25lZCBpbnQKX19ic3dhcF8zMiAodW5zaWduZWQgaW50IF9feCkK
ewogIHJldHVybiAoX19ic3dhcF8xNiAoX194ICYgMHhmZmZmKSA8PCAxNikgfCAoX19ic3dh
cF8xNiAoX194ID4+IDE2KSk7Cn0KCnN0YXRpYyBfX2lubGluZSB1bnNpZ25lZCBsb25nIGxv
bmcKX19ic3dhcF82NCAodW5zaWduZWQgbG9uZyBsb25nIF9feCkKewogIHJldHVybiAoKCh1
bnNpZ25lZCBsb25nIGxvbmcpIF9fYnN3YXBfMzIgKF9feCAmIDB4ZmZmZmZmZmZ1bGwpKSA8
PCAzMikgfCAoX19ic3dhcF8zMiAoX194ID4+IDMyKSk7Cn0KIyAzOSAiL3Vzci9pbmNsdWRl
L2VuZGlhbi5oIiAyIDMgNAojIDIwICIvdXNyL2luY2x1ZGUvbWFjaGluZS90eXBlcy5oIiAy
IDMgNAojIDEgIi91c3IvaW5jbHVkZS9iaXRzL3dvcmRzaXplLmgiIDEgMyA0CiMgMjEgIi91
c3IvaW5jbHVkZS9tYWNoaW5lL3R5cGVzLmgiIDIgMyA0CgoKCgp0eXBlZGVmIHN0cnVjdCB0
aW1lc3BlYyB0aW1lc3BlY190OwoKCgoKdHlwZWRlZiBzdHJ1Y3QgdGltZXNwZWMgdGltZXN0
cnVjX3Q7CgoKdHlwZWRlZiBfX2xvZmZfdCBsb2ZmX3Q7CiMgNDYgIi91c3IvaW5jbHVkZS9t
YWNoaW5lL3R5cGVzLmgiIDMgNApzdHJ1Y3QgZmxvY2sgewogc2hvcnQgbF90eXBlOwogc2hv
cnQgbF93aGVuY2U7CiBvZmZfdCBsX3N0YXJ0Owogb2ZmX3QgbF9sZW47CiBwaWRfdCBsX3Bp
ZDsKfTsKCgoKCgoKdHlwZWRlZiB1bnNpZ25lZCBsb25nIHZtX29mZnNldF90OwoKCgoKdHlw
ZWRlZiB1bnNpZ25lZCBsb25nIHZtX3NpemVfdDsKCgoKCnR5cGVkZWYgdm9pZCAqdm1fb2Jq
ZWN0X3Q7CgoKCgp0eXBlZGVmIGNoYXIgKmFkZHJfdDsKCgoKCgojIDEgIi91c3IvaW5jbHVk
ZS9zeXMvc3lzbWFjcm9zLmgiIDEgMyA0CiMgMTIgIi91c3IvaW5jbHVkZS9zeXMvc3lzbWFj
cm9zLmgiIDMgNAojIDEgIi91c3IvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMSAzIDQKIyAxMyAi
L3Vzci9pbmNsdWRlL3N5cy9zeXNtYWNyb3MuaCIgMiAzIDQKCnN0YXRpYyBfX2lubGluZV9f
IGludCBnbnVfZGV2X21ham9yKGRldl90KTsKc3RhdGljIF9faW5saW5lX18gaW50IGdudV9k
ZXZfbWlub3IoZGV2X3QpOwpzdGF0aWMgX19pbmxpbmVfXyBkZXZfdCBnbnVfZGV2X21ha2Vk
ZXYoaW50LCBpbnQpOwoKc3RhdGljIF9faW5saW5lX18gaW50CmdudV9kZXZfbWFqb3IoZGV2
X3QgZGV2KQp7CiByZXR1cm4gKGludCkoKChkZXYpID4+IDE2KSAmIDB4ZmZmZik7Cn0KCnN0
YXRpYyBfX2lubGluZV9fIGludApnbnVfZGV2X21pbm9yKGRldl90IGRldikKewogcmV0dXJu
IChpbnQpKChkZXYpICYgMHhmZmZmKTsKfQoKc3RhdGljIF9faW5saW5lX18gZGV2X3QKZ251
X2Rldl9tYWtlZGV2KGludCBtYWosIGludCBtaW4pCnsKIHJldHVybiAoKChtYWopIDw8IDE2
KSB8ICgobWluKSAmIDB4ZmZmZikpOwp9CiMgODEgIi91c3IvaW5jbHVkZS9tYWNoaW5lL3R5
cGVzLmgiIDIgMyA0CiMgMjI1ICIvdXNyL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDIgMyA0CiMg
MzIgIi91c3IvaW5jbHVkZS9pY29udi5oIiAyIDMgNAoKCgp0eXBlZGVmIF9pY29udl90IGlj
b252X3Q7CgoKCgppY29udl90Cmljb252X29wZW4gKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hh
ciAqKTsKCnNpemVfdAppY29udiAoaWNvbnZfdCwgY2hhciAqKnJlc3RyaWN0LCBzaXplX3Qg
KnJlc3RyaWN0LAogICAgICAgICAgICAgICBjaGFyICoqcmVzdHJpY3QsIHNpemVfdCAqcmVz
dHJpY3QpOwoKaW50Cmljb252X2Nsb3NlIChpY29udl90KTsKCgppY29udl90Cl9pY29udl9v
cGVuX3IgKHN0cnVjdCBfcmVlbnQgKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOwoK
c2l6ZV90Cl9pY29udl9yIChzdHJ1Y3QgX3JlZW50ICosIGljb252X3QsIGNvbnN0IGNoYXIg
KiosCiAgICAgICAgICAgICAgICAgIHNpemVfdCAqLCBjaGFyICoqLCBzaXplX3QgKik7Cgpp
bnQKX2ljb252X2Nsb3NlX3IgKHN0cnVjdCBfcmVlbnQgKiwgaWNvbnZfdCk7CgoKIyAzICJp
Y29udi10ZXN0LmMiIDIKCgojIDQgImljb252LXRlc3QuYyIKaW50Cm1haW4gKHZvaWQpCnsK
aWNvbnZfdCBjZCA9IGljb252X29wZW4oIiIsIiIpOwogICAgICAgICAgIGljb252KGNkLAoj
IDggImljb252LXRlc3QuYyIgMyA0CiAgICAgICAgICAgICAgICAgICAoKHZvaWQgKikwKQoj
IDggImljb252LXRlc3QuYyIKICAgICAgICAgICAgICAgICAgICAgICAsCiMgOCAiaWNvbnYt
dGVzdC5jIiAzIDQKICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2lkICopMCkKIyA4ICJp
Y29udi10ZXN0LmMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAsCiMgOCAiaWNvbnYt
dGVzdC5jIiAzIDQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHZvaWQgKikwKQoj
IDggImljb252LXRlc3QuYyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLAoj
IDggImljb252LXRlc3QuYyIgMyA0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAoKHZvaWQgKikwKQojIDggImljb252LXRlc3QuYyIKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICApOwogICAgICAgICAgIGljb252X2Nsb3NlKGNkKTsKICA7CiAg
cmV0dXJuIDA7Cn0K

--------------KEbDCT0yNebcd95Y0lCErFZb
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

--------------KEbDCT0yNebcd95Y0lCErFZb--

- Raw text -


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