From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dedi548.your-server.de (dedi548.your-server.de [85.10.215.148]) by sourceware.org (Postfix) with ESMTPS id F2AA43858418 for ; Wed, 13 Jul 2022 07:17:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org F2AA43858418 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=embedded-brains.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=embedded-brains.de Received: from sslproxy03.your-server.de ([88.198.220.132]) by dedi548.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1oBWd0-000DkZ-9c for newlib@sourceware.org; Wed, 13 Jul 2022 09:17:46 +0200 Received: from [82.100.198.138] (helo=mail.embedded-brains.de) by sslproxy03.your-server.de with esmtpsa (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oBWd0-000TIN-Do for newlib@sourceware.org; Wed, 13 Jul 2022 09:17:46 +0200 Received: from localhost (localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id 205034801C5 for ; Wed, 13 Jul 2022 09:17:46 +0200 (CEST) Received: from mail.embedded-brains.de ([127.0.0.1]) by localhost (zimbra.eb.localhost [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id BihMgylS_py8 for ; Wed, 13 Jul 2022 09:17:44 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id 77138480146 for ; Wed, 13 Jul 2022 09:17:44 +0200 (CEST) X-Virus-Scanned: amavisd-new at zimbra.eb.localhost Received: from mail.embedded-brains.de ([127.0.0.1]) by localhost (zimbra.eb.localhost [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id AUjY9LQTT9Gh for ; Wed, 13 Jul 2022 09:17:44 +0200 (CEST) Received: from [10.10.171.6] (unknown [10.10.171.6]) by mail.embedded-brains.de (Postfix) with ESMTPSA id 1EC5148001C for ; Wed, 13 Jul 2022 09:17:44 +0200 (CEST) Content-Type: multipart/mixed; boundary="------------JjdulikXa3H4gB1zVsHRBDDU" Message-ID: <82b5a844-34b6-c983-fac8-a0b9a48ebc40@embedded-brains.de> Date: Wed, 13 Jul 2022 09:17:42 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: Re: Fw: [PATCH 03/14] Add _REENT_ERRNO(ptr) Content-Language: en-US To: newlib@sourceware.org References: <20220621124931.36450-1-sebastian.huber@embedded-brains.de> <20220621124931.36450-4-sebastian.huber@embedded-brains.de> <29672b0c-34bf-6015-ea8d-9fb8c3c09f2e@embedded-brains.de> From: Sebastian Huber In-Reply-To: X-Authenticated-Sender: smtp-embedded@poldinet.de X-Virus-Scanned: Clear (ClamAV 0.103.6/26599/Tue Jul 12 10:00:48 2022) X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, NICE_REPLY_A, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: newlib@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Jul 2022 07:17:54 -0000 This is a multi-part message in MIME format. --------------JjdulikXa3H4gB1zVsHRBDDU Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable On 12/07/2022 20:25, Corinna Vinschen wrote: >> What about renaming the existing __errno_r() uses in Newlib to >> _REENT_ERRNO() with a definition of __errno_r() in for >> potential users outside of Newlib? > Sounds good to me. Attached is a new version of this patch. In this patch the uses of=20 __errno_r() were replaced with _REENT_ERRNO(). --=20 embedded brains GmbH Herr Sebastian HUBER Dornierstr. 4 82178 Puchheim Germany email: sebastian.huber@embedded-brains.de phone: +49-89-18 94 741 - 16 fax: +49-89-18 94 741 - 08 Registergericht: Amtsgericht M=C3=BCnchen Registernummer: HRB 157899 Vertretungsberechtigte Gesch=C3=A4ftsf=C3=BChrer: Peter Rasmussen, Thomas= D=C3=B6rfler Unsere Datenschutzerkl=C3=A4rung finden Sie hier: https://embedded-brains.de/datenschutzerklaerung/ --------------JjdulikXa3H4gB1zVsHRBDDU Content-Type: text/x-patch; charset=UTF-8; name="0001-Add-_REENT_ERRNO-ptr.patch" Content-Disposition: attachment; filename="0001-Add-_REENT_ERRNO-ptr.patch" Content-Transfer-Encoding: base64 RnJvbSBmM2I4MTM4MjM5ZDNiYTM0YzRlY2FhNDMwNWIwZmJkN2ViNGUyOGE1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXR0IEpveWNlIDxtYXR0aGV3LmpveWNlQGVtYmVk ZGVkLWJyYWlucy5kZT4KRGF0ZTogVHVlLCAxOCBKYW4gMjAyMiAxMDoxMzowNCArMDEwMApT dWJqZWN0OiBbUEFUQ0hdIEFkZCBfUkVFTlRfRVJSTk8ocHRyKQoKQWRkIGEgX1JFRU5UX0VS Uk5PKCkgbWFjcm8gdG8gZW5jYXBzdWxhdGUgdGhlIGFjY2VzcyB0byB0aGUKX2Vycm5vIG1l bWJlciBvZiBzdHJ1Y3QgcmVlbnQuIFRoaXMgd2lsbCBoZWxwIHRvIHJlcGxhY2UgdGhlCnN0 cnVjdHVyZSBtZW1iZXIgd2l0aCBhIHRocmVhZC1sb2NhbCBzdG9yYWdlIG9iamVjdCBpbiBh IGZvbGxvdwp1cCBwYXRjaC4KClJlcGxhY2UgdXNlcyBvZiBfX2Vycm5vX3IoKSB3aXRoIF9S RUVOVF9FUlJOTygpLiAgS2VlcCBfX2Vycm5vX3IoKSBtYWNybyBmb3IKcG90ZW50aWFsIHVz ZXJzIG91dHNpZGUgb2YgTmV3bGliLgotLS0KIG5ld2xpYi9saWJjL2N0eXBlL3djdHJhbnMu YyAgICAgICAgICAgICAgIHwgIDIgKy0KIG5ld2xpYi9saWJjL2N0eXBlL3djdHlwZS5jICAg ICAgICAgICAgICAgIHwgIDIgKy0KIG5ld2xpYi9saWJjL2Vycm5vL2Vycm5vLmMgICAgICAg ICAgICAgICAgIHwgIDIgKy0KIG5ld2xpYi9saWJjL2ljb252L2xpYi9pY29udi5jICAgICAg ICAgICAgIHwgMTAgKysrLS0tLQogbmV3bGliL2xpYmMvaWNvbnYvbGliL2ljb252bmxzLmMg ICAgICAgICAgfCAgNCArLS0KIG5ld2xpYi9saWJjL2ljb252L2xpYi9udWxsY29udi5jICAg ICAgICAgIHwgIDIgKy0KIG5ld2xpYi9saWJjL2ljb252L2xpYi91Y3Njb252LmMgICAgICAg ICAgIHwgMTIgKysrKy0tLS0KIG5ld2xpYi9saWJjL2luY2x1ZGUvc3lzL2Vycm5vLmggICAg ICAgICAgIHwgIDIgKy0KIG5ld2xpYi9saWJjL2luY2x1ZGUvc3lzL3JlZW50LmggICAgICAg ICAgIHwgIDEgKwogbmV3bGliL2xpYmMvbWFjaGluZS9jcmlzL3N5cy9lcnJuby5oICAgICAg fCAgMiArLQogbmV3bGliL2xpYmMvbWFjaGluZS9wb3dlcnBjL3N0cnRvc2ZpeDE2LmMgfCAx MCArKystLS0tCiBuZXdsaWIvbGliYy9tYWNoaW5lL3Bvd2VycGMvc3RydG9zZml4MzIuYyB8 IDEwICsrKy0tLS0KIG5ld2xpYi9saWJjL21hY2hpbmUvcG93ZXJwYy9zdHJ0b3NmaXg2NC5j IHwgMTAgKysrLS0tLQogbmV3bGliL2xpYmMvbWFjaGluZS9wb3dlcnBjL3N0cnRvdWZpeDE2 LmMgfCAxMCArKystLS0tCiBuZXdsaWIvbGliYy9tYWNoaW5lL3Bvd2VycGMvc3RydG91Zml4 MzIuYyB8IDEwICsrKy0tLS0KIG5ld2xpYi9saWJjL21hY2hpbmUvcG93ZXJwYy9zdHJ0b3Vm aXg2NC5jIHwgMTAgKysrLS0tLQogbmV3bGliL2xpYmMvbWFjaGluZS9zcHUvc3RkaW8uYyAg ICAgICAgICAgfCAgMiArLQogbmV3bGliL2xpYmMvbWFjaGluZS9zcHUvc3lzL2Vycm5vLmgg ICAgICAgfCAgMiArLQogbmV3bGliL2xpYmMvcmVlbnQvY2xvc2VyLmMgICAgICAgICAgICAg ICAgfCAgMiArLQogbmV3bGliL2xpYmMvcmVlbnQvZXhlY3IuYyAgICAgICAgICAgICAgICAg fCAgNiArKy0tCiBuZXdsaWIvbGliYy9yZWVudC9mY250bHIuYyAgICAgICAgICAgICAgICB8 ICAyICstCiBuZXdsaWIvbGliYy9yZWVudC9mc3RhdDY0ci5jICAgICAgICAgICAgICB8ICAy ICstCiBuZXdsaWIvbGliYy9yZWVudC9mc3RhdHIuYyAgICAgICAgICAgICAgICB8ICAyICst CiBuZXdsaWIvbGliYy9yZWVudC9nZXR0aW1lb2ZkYXlyLmMgICAgICAgICB8ICAyICstCiBu ZXdsaWIvbGliYy9yZWVudC9pc2F0dHlyLmMgICAgICAgICAgICAgICB8ICAyICstCiBuZXds aWIvbGliYy9yZWVudC9saW5rci5jICAgICAgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIv bGliYy9yZWVudC9sc2VlazY0ci5jICAgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGli Yy9yZWVudC9sc2Vla3IuYyAgICAgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGliYy9y ZWVudC9ta2RpcnIuYyAgICAgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGliYy9yZWVu dC9vcGVuNjRyLmMgICAgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGliYy9yZWVudC9v cGVuci5jICAgICAgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGliYy9yZWVudC9yZWFk ci5jICAgICAgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGliYy9yZWVudC9yZW5hbWVy LmMgICAgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGliYy9yZWVudC9zYnJrci5jICAg ICAgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGliYy9yZWVudC9zaWduYWxyLmMgICAg ICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGliYy9yZWVudC9zdGF0NjRyLmMgICAgICAg ICAgICAgICB8ICAyICstCiBuZXdsaWIvbGliYy9yZWVudC9zdGF0ci5jICAgICAgICAgICAg ICAgICB8ICAyICstCiBuZXdsaWIvbGliYy9yZWVudC91bmxpbmtyLmMgICAgICAgICAgICAg ICB8ICAyICstCiBuZXdsaWIvbGliYy9yZWVudC93cml0ZXIuYyAgICAgICAgICAgICAgICB8 ICAyICstCiBuZXdsaWIvbGliYy9zaWduYWwvc2lnbmFsLmMgICAgICAgICAgICAgICB8ICA2 ICsrLS0KIG5ld2xpYi9saWJjL3N0ZGlvL2FzbmlwcmludGYuYyAgICAgICAgICAgIHwgIDQg Ky0tCiBuZXdsaWIvbGliYy9zdGRpby9hc25wcmludGYuYyAgICAgICAgICAgICB8ICA0ICst LQogbmV3bGliL2xpYmMvc3RkaW8vZmRvcGVuLmMgICAgICAgICAgICAgICAgfCAgMiArLQog bmV3bGliL2xpYmMvc3RkaW8vZmZsdXNoLmMgICAgICAgICAgICAgICAgfCAxOCArKysrKyst LS0tLS0KIG5ld2xpYi9saWJjL3N0ZGlvL2ZpbGVuby5jICAgICAgICAgICAgICAgIHwgIDIg Ky0KIG5ld2xpYi9saWJjL3N0ZGlvL2ZpbGVub191LmMgICAgICAgICAgICAgIHwgIDIgKy0K IG5ld2xpYi9saWJjL3N0ZGlvL2ZpbmRmcC5jICAgICAgICAgICAgICAgIHwgIDIgKy0KIG5l d2xpYi9saWJjL3N0ZGlvL2ZsYWdzLmMgICAgICAgICAgICAgICAgIHwgIDIgKy0KIG5ld2xp Yi9saWJjL3N0ZGlvL2ZtZW1vcGVuLmMgICAgICAgICAgICAgIHwgMTQgKysrKystLS0tLQog bmV3bGliL2xpYmMvc3RkaW8vZm9wZW5jb29raWUuYyAgICAgICAgICAgfCAxNCArKysrKy0t LS0tCiBuZXdsaWIvbGliYy9zdGRpby9mcHVyZ2UuYyAgICAgICAgICAgICAgICB8ICAyICst CiBuZXdsaWIvbGliYy9zdGRpby9mcmVvcGVuLmMgICAgICAgICAgICAgICB8ICA0ICstLQog bmV3bGliL2xpYmMvc3RkaW8vZnNlZWtvLmMgICAgICAgICAgICAgICAgfCAgNCArLS0KIG5l d2xpYi9saWJjL3N0ZGlvL2Z0ZWxsLmMgICAgICAgICAgICAgICAgIHwgIDIgKy0KIG5ld2xp Yi9saWJjL3N0ZGlvL2Z0ZWxsby5jICAgICAgICAgICAgICAgIHwgIDIgKy0KIG5ld2xpYi9s aWJjL3N0ZGlvL2Z1bm9wZW4uYyAgICAgICAgICAgICAgIHwgMTYgKysrKystLS0tLS0KIG5l d2xpYi9saWJjL3N0ZGlvL2Z2d3JpdGUuYyAgICAgICAgICAgICAgIHwgIDQgKy0tCiBuZXds aWIvbGliYy9zdGRpby9ta3RlbXAuYyAgICAgICAgICAgICAgICB8IDE0ICsrKysrLS0tLS0K IG5ld2xpYi9saWJjL3N0ZGlvL25hbm8tdmZwcmludGYuYyAgICAgICAgIHwgMTAgKysrLS0t LQogbmV3bGliL2xpYmMvc3RkaW8vb3Blbl9tZW1zdHJlYW0uYyAgICAgICAgfCAxNCArKysr Ky0tLS0tCiBuZXdsaWIvbGliYy9zdGRpby9wZXJyb3IuYyAgICAgICAgICAgICAgICB8ICAy ICstCiBuZXdsaWIvbGliYy9zdGRpby9yZWZpbGwuYyAgICAgICAgICAgICAgICB8ICAyICst CiBuZXdsaWIvbGliYy9zdGRpby9zbmlwcmludGYuYyAgICAgICAgICAgICB8ICA4ICsrKy0t LQogbmV3bGliL2xpYmMvc3RkaW8vc25wcmludGYuYyAgICAgICAgICAgICAgfCAgOCArKyst LS0KIG5ld2xpYi9saWJjL3N0ZGlvL3N3cHJpbnRmLmMgICAgICAgICAgICAgIHwgIDggKysr LS0tCiBuZXdsaWIvbGliYy9zdGRpby90bXBmaWxlLmMgICAgICAgICAgICAgICB8ICA2ICsr LS0KIG5ld2xpYi9saWJjL3N0ZGlvL3RtcG5hbS5jICAgICAgICAgICAgICAgIHwgIDIgKy0K IG5ld2xpYi9saWJjL3N0ZGlvL3Zhc25pcHJpbnRmLmMgICAgICAgICAgIHwgIDIgKy0KIG5l d2xpYi9saWJjL3N0ZGlvL3Zhc25wcmludGYuYyAgICAgICAgICAgIHwgIDIgKy0KIG5ld2xp Yi9saWJjL3N0ZGlvL3ZmcHJpbnRmLmMgICAgICAgICAgICAgIHwgMTIgKysrKy0tLS0KIG5l d2xpYi9saWJjL3N0ZGlvL3Zmc2NhbmYuYyAgICAgICAgICAgICAgIHwgIDIgKy0KIG5ld2xp Yi9saWJjL3N0ZGlvL3Zmd3ByaW50Zi5jICAgICAgICAgICAgIHwgIDQgKy0tCiBuZXdsaWIv bGliYy9zdGRpby92ZndzY2FuZi5jICAgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGli Yy9zdGRpby92c25pcHJpbnRmLmMgICAgICAgICAgICB8ICA0ICstLQogbmV3bGliL2xpYmMv c3RkaW8vdnNucHJpbnRmLmMgICAgICAgICAgICAgfCAgNCArLS0KIG5ld2xpYi9saWJjL3N0 ZGlvL3Zzd3ByaW50Zi5jICAgICAgICAgICAgIHwgIDQgKy0tCiBuZXdsaWIvbGliYy9zdGRp by93c2V0dXAuYyAgICAgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGliYy9zdGRpbzY0 L2Zkb3BlbjY0LmMgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGliYy9zdGRpbzY0L2Zy ZW9wZW42NC5jICAgICAgICAgICB8ICA0ICstLQogbmV3bGliL2xpYmMvc3RkaW82NC9mc2Vl a282NC5jICAgICAgICAgICAgfCAgNiArKy0tCiBuZXdsaWIvbGliYy9zdGRpbzY0L2Z0ZWxs bzY0LmMgICAgICAgICAgICB8ICAyICstCiBuZXdsaWIvbGliYy9zdGRpbzY0L3RtcGZpbGU2 NC5jICAgICAgICAgICB8ICA2ICsrLS0KIG5ld2xpYi9saWJjL3N0ZGxpYi9fX2FkanVzdC5j ICAgICAgICAgICAgIHwgIDQgKy0tCiBuZXdsaWIvbGliYy9zdGRsaWIvbWJydG93Yy5jICAg ICAgICAgICAgICB8ICA0ICstLQogbmV3bGliL2xpYmMvc3RkbGliL21ic25ydG93Y3MuYyAg ICAgICAgICAgfCAgMiArLQogbmV3bGliL2xpYmMvc3RkbGliL21idG93Y19yLmMgICAgICAg ICAgICAgfCAzNCArKysrKysrKysrKy0tLS0tLS0tLS0tLQogbmV3bGliL2xpYmMvc3RkbGli L3N0cnRvZC5jICAgICAgICAgICAgICAgfCAxMCArKystLS0tCiBuZXdsaWIvbGliYy9zdGRs aWIvc3RydG9pbWF4LmMgICAgICAgICAgICB8ICA0ICstLQogbmV3bGliL2xpYmMvc3RkbGli L3N0cnRvbC5jICAgICAgICAgICAgICAgfCAgMiArLQogbmV3bGliL2xpYmMvc3RkbGliL3N0 cnRvbGwuYyAgICAgICAgICAgICAgfCAgMiArLQogbmV3bGliL2xpYmMvc3RkbGliL3N0cnRv dWwuYyAgICAgICAgICAgICAgfCAgMiArLQogbmV3bGliL2xpYmMvc3RkbGliL3N0cnRvdWxs LmMgICAgICAgICAgICAgfCAgMiArLQogbmV3bGliL2xpYmMvc3RkbGliL3N0cnRvdW1heC5j ICAgICAgICAgICAgfCAgNCArLS0KIG5ld2xpYi9saWJjL3N0ZGxpYi93Y3J0b21iLmMgICAg ICAgICAgICAgIHwgIDQgKy0tCiBuZXdsaWIvbGliYy9zdGRsaWIvd2NzbnJ0b21icy5jICAg ICAgICAgICB8ICAyICstCiBuZXdsaWIvbGliYy9zdGRsaWIvd2NzdG9kLmMgICAgICAgICAg ICAgICB8ICA0ICstLQogbmV3bGliL2xpYmMvc3RkbGliL3djc3RvaW1heC5jICAgICAgICAg ICAgfCAgNCArLS0KIG5ld2xpYi9saWJjL3N0ZGxpYi93Y3N0b2wuYyAgICAgICAgICAgICAg IHwgIDIgKy0KIG5ld2xpYi9saWJjL3N0ZGxpYi93Y3N0b2xsLmMgICAgICAgICAgICAgIHwg IDIgKy0KIG5ld2xpYi9saWJjL3N0ZGxpYi93Y3N0b3VsLmMgICAgICAgICAgICAgIHwgIDIg Ky0KIG5ld2xpYi9saWJjL3N0ZGxpYi93Y3N0b3VsbC5jICAgICAgICAgICAgIHwgIDQgKy0t CiBuZXdsaWIvbGliYy9zdGRsaWIvd2NzdG91bWF4LmMgICAgICAgICAgICB8ICA0ICstLQog bmV3bGliL2xpYmMvc3RkbGliL3djdG9tYl9yLmMgICAgICAgICAgICAgfCAxOCArKysrKyst LS0tLS0KIG5ld2xpYi9saWJjL3N0cmluZy9zdHJlcnJvci5jICAgICAgICAgICAgIHwgIDIg Ky0KIHdpbnN1cC9jeWd3aW4vY3lnZXJybm8uaCAgICAgICAgICAgICAgICAgIHwgIDQgKy0t CiB3aW5zdXAvY3lnd2luL2Vycm5vLmNjICAgICAgICAgICAgICAgICAgICB8ICA0ICstLQog d2luc3VwL2N5Z3dpbi9zdHJmdW5jcy5jYyAgICAgICAgICAgICAgICAgfCAxMiArKysrLS0t LQogd2luc3VwL2N5Z3dpbi9zeXNjYWxscy5jYyAgICAgICAgICAgICAgICAgfCAgNCArLS0K IDEwOCBmaWxlcyBjaGFuZ2VkLCAyNjQgaW5zZXJ0aW9ucygrKSwgMjYzIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL2N0eXBlL3djdHJhbnMuYyBiL25ld2xpYi9s aWJjL2N0eXBlL3djdHJhbnMuYwppbmRleCA0YTU4ZGYxNTIuLmRiYjEwM2QzOCAxMDA2NDQK LS0tIGEvbmV3bGliL2xpYmMvY3R5cGUvd2N0cmFucy5jCisrKyBiL25ld2xpYi9saWJjL2N0 eXBlL3djdHJhbnMuYwpAQCAtODQsNyArODQsNyBAQCBfd2N0cmFuc19yIChzdHJ1Y3QgX3Jl ZW50ICpyLAogICAgIHJldHVybiBXQ1RfVE9VUFBFUjsKICAgZWxzZQogICAgIHsKLSAgICAg IHItPl9lcnJubyA9IEVJTlZBTDsKKyAgICAgIF9SRUVOVF9FUlJOTyhyKSA9IEVJTlZBTDsK ICAgICAgIHJldHVybiAwOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL2N0 eXBlL3djdHlwZS5jIGIvbmV3bGliL2xpYmMvY3R5cGUvd2N0eXBlLmMKaW5kZXggNWYyYWU3 YTI1Li44YzdhZmM3MzEgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL2N0eXBlL3djdHlwZS5j CisrKyBiL25ld2xpYi9saWJjL2N0eXBlL3djdHlwZS5jCkBAIC0xMjgsNyArMTI4LDcgQEAg X3djdHlwZV9yIChzdHJ1Y3QgX3JlZW50ICpyLAogICAgIH0KIAogICAvKiBvdGhlcndpc2Ug aW52YWxpZCAqLwotICByLT5fZXJybm8gPSBFSU5WQUw7CisgIF9SRUVOVF9FUlJOTyhyKSA9 IEVJTlZBTDsKICAgcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL2Vy cm5vL2Vycm5vLmMgYi9uZXdsaWIvbGliYy9lcnJuby9lcnJuby5jCmluZGV4IGZkMTc0M2Q3 My4uNzA0MDI5MjRiIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9lcnJuby9lcnJuby5jCisr KyBiL25ld2xpYi9saWJjL2Vycm5vL2Vycm5vLmMKQEAgLTEwLDcgKzEwLDcgQEAKIGludCAq CiBfX2Vycm5vICgpCiB7Ci0gIHJldHVybiAmX1JFRU5ULT5fZXJybm87CisgIHJldHVybiAm X1JFRU5UX0VSUk5PKF9SRUVOVCk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbmV3bGli L2xpYmMvaWNvbnYvbGliL2ljb252LmMgYi9uZXdsaWIvbGliYy9pY29udi9saWIvaWNvbnYu YwppbmRleCAwMmM3NDlkN2YuLjQ1ODU0MWNiOSAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMv aWNvbnYvbGliL2ljb252LmMKKysrIGIvbmV3bGliL2xpYmMvaWNvbnYvbGliL2ljb252LmMK QEAgLTIxMSw3ICsyMTEsNyBAQCBfaWNvbnZfciAoc3RydWN0IF9yZWVudCAqcnB0ciwKICAg ICAgICB8fCAoaWMtPmhhbmRsZXJzICE9ICZfaWNvbnZfbnVsbF9jb252ZXJzaW9uX2hhbmRs ZXJzCiAgICAgICAgICAgICYmIGljLT5oYW5kbGVycyAhPSAmX2ljb252X3Vjc19jb252ZXJz aW9uX2hhbmRsZXJzKSkKICAgICB7Ci0gICAgICBfX2Vycm5vX3IgKHJwdHIpID0gRUJBREY7 CisgICAgICBfUkVFTlRfRVJSTk8gKHJwdHIpID0gRUJBREY7CiAgICAgICByZXR1cm4gKHNp emVfdCktMTsKICAgICB9CiAKQEAgLTI1NywxOSArMjU3LDE5IEBAIF9pY29udl9yIChzdHJ1 Y3QgX3JlZW50ICpycHRyLAogICAgICAgICAgICBpYy0+aGFuZGxlcnMtPnNldF9zdGF0ZSAo aWMtPmRhdGEsICZzdGF0ZV9zYXZlLCAxKTsKICAgICAgICAgfQogICAgICAgIAotICAgICAg X19lcnJub19yIChycHRyKSA9IEUyQklHOworICAgICAgX1JFRU5UX0VSUk5PIChycHRyKSA9 IEUyQklHOwogICAgICAgcmV0dXJuIChzaXplX3QpLTE7CiAgICAgfQogICAKICAgaWYgKCpp bmJ5dGVzbGVmdCA9PSAwKQogICAgIHsKLSAgICAgIF9fZXJybm9fciAocnB0cikgPSBFSU5W QUw7CisgICAgICBfUkVFTlRfRVJSTk8gKHJwdHIpID0gRUlOVkFMOwogICAgICAgcmV0dXJu IChzaXplX3QpLTE7CiAgICAgfQogICAgCiAgIGlmICgqb3V0Ynl0ZXNsZWZ0ID09IDAgfHwg Km91dGJ1ZiA9PSBOVUxMKQogICAgIHsKLSAgICAgIF9fZXJybm9fciAocnB0cikgPSBFMkJJ RzsKKyAgICAgIF9SRUVOVF9FUlJOTyAocnB0cikgPSBFMkJJRzsKICAgICAgIHJldHVybiAo c2l6ZV90KS0xOwogICAgIH0KIApAQCAtMjk0LDcgKzI5NCw3IEBAIF9pY29udl9jbG9zZV9y IChzdHJ1Y3QgX3JlZW50ICpycHRyLAogICAgICAgIHx8IChpYy0+aGFuZGxlcnMgIT0gJl9p Y29udl9udWxsX2NvbnZlcnNpb25faGFuZGxlcnMKICAgICAgICAgICAgJiYgaWMtPmhhbmRs ZXJzICE9ICZfaWNvbnZfdWNzX2NvbnZlcnNpb25faGFuZGxlcnMpKQogICAgIHsKLSAgICAg IF9fZXJybm9fciAocnB0cikgPSBFQkFERjsKKyAgICAgIF9SRUVOVF9FUlJOTyAocnB0cikg PSBFQkFERjsKICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL25ld2xp Yi9saWJjL2ljb252L2xpYi9pY29udm5scy5jIGIvbmV3bGliL2xpYmMvaWNvbnYvbGliL2lj b252bmxzLmMKaW5kZXggZWQ4ZjNhN2JhLi41ZDRiMGEyNzMgMTAwNjQ0Ci0tLSBhL25ld2xp Yi9saWJjL2ljb252L2xpYi9pY29udm5scy5jCisrKyBiL25ld2xpYi9saWJjL2ljb252L2xp Yi9pY29udm5scy5jCkBAIC0xNzcsNyArMTc3LDcgQEAgX2ljb252X25sc19jb252IChzdHJ1 Y3QgX3JlZW50ICpycHRyLAogICAgICAgIHx8IChpYy0+aGFuZGxlcnMgIT0gJl9pY29udl9u dWxsX2NvbnZlcnNpb25faGFuZGxlcnMKICAgICAgICAgICAgJiYgaWMtPmhhbmRsZXJzICE9 ICZfaWNvbnZfdWNzX2NvbnZlcnNpb25faGFuZGxlcnMpKQogICAgIHsKLSAgICAgIF9fZXJy bm9fciAocnB0cikgPSBFQkFERjsKKyAgICAgIF9SRUVOVF9FUlJOTyAocnB0cikgPSBFQkFE RjsKICAgICAgIHJldHVybiAoc2l6ZV90KS0xOwogICAgIH0KICAgCkBAIC0xODksNyArMTg5 LDcgQEAgX2ljb252X25sc19jb252IChzdHJ1Y3QgX3JlZW50ICpycHRyLAogICAKICAgaWYg KG91dGJ5dGVzbGVmdCA9PSBOVUxMIHx8ICpvdXRieXRlc2xlZnQgPT0gMCkKICAgICB7Ci0g ICAgICBfX2Vycm5vX3IgKHJwdHIpID0gRTJCSUc7CisgICAgICBfUkVFTlRfRVJSTk8gKHJw dHIpID0gRTJCSUc7CiAgICAgICByZXR1cm4gKHNpemVfdCktMTsKICAgICB9CiAKZGlmZiAt LWdpdCBhL25ld2xpYi9saWJjL2ljb252L2xpYi9udWxsY29udi5jIGIvbmV3bGliL2xpYmMv aWNvbnYvbGliL251bGxjb252LmMKaW5kZXggZTc1ZDgzMzc2Li5jYzQyMjkxODEgMTAwNjQ0 Ci0tLSBhL25ld2xpYi9saWJjL2ljb252L2xpYi9udWxsY29udi5jCisrKyBiL25ld2xpYi9s aWJjL2ljb252L2xpYi9udWxsY29udi5jCkBAIC03Myw3ICs3Myw3IEBAIG51bGxfY29udmVy c2lvbl9jb252ZXJ0IChzdHJ1Y3QgX3JlZW50ICpycHRyLAogICAgIHsKICAgICAgIHJlc3Vs dCA9IChzaXplX3QpLTE7CiAgICAgICBsZW4gPSAqb3V0Ynl0ZXNsZWZ0OwotICAgICAgX19l cnJub19yIChycHRyKSA9IEUyQklHOworICAgICAgX1JFRU5UX0VSUk5PIChycHRyKSA9IEUy QklHOwogICAgIH0KICAgCiAgIGlmICgoZmxhZ3MgJiAxKSA9PSAwKQpkaWZmIC0tZ2l0IGEv bmV3bGliL2xpYmMvaWNvbnYvbGliL3Vjc2NvbnYuYyBiL25ld2xpYi9saWJjL2ljb252L2xp Yi91Y3Njb252LmMKaW5kZXggNTlmNGY5OTNkLi41MDJhYTQ0MGEgMTAwNjQ0Ci0tLSBhL25l d2xpYi9saWJjL2ljb252L2xpYi91Y3Njb252LmMKKysrIGIvbmV3bGliL2xpYmMvaWNvbnYv bGliL3Vjc2NvbnYuYwpAQCAtMTY0LDcgKzE2NCw3IEBAIHVjc19iYXNlZF9jb252ZXJzaW9u X2NvbnZlcnQgKHN0cnVjdCBfcmVlbnQgKnJwdHIsCiAKICAgICAgIGlmICgqb3V0Ynl0ZXNs ZWZ0ID09IDApCiAgICAgICAgIHsKLSAgICAgICAgICBfX2Vycm5vX3IgKHJwdHIpID0gRTJC SUc7CisgICAgICAgICAgX1JFRU5UX0VSUk5PIChycHRyKSA9IEUyQklHOwogICAgICAgICAg IHJldHVybiAoc2l6ZV90KS0xOwogICAgICAgICB9CiAKQEAgLTE3MywxMyArMTczLDEzIEBA IHVjc19iYXNlZF9jb252ZXJzaW9uX2NvbnZlcnQgKHN0cnVjdCBfcmVlbnQgKnJwdHIsCiAK ICAgICAgIGlmIChjaCA9PSAodWNzNF90KUlDT05WX0NFU19CQURfU0VRVUVOQ0UpCiAgICAg ICAgIHsKLSAgICAgICAgICBfX2Vycm5vX3IgKHJwdHIpID0gRUlOVkFMOworICAgICAgICAg IF9SRUVOVF9FUlJOTyAocnB0cikgPSBFSU5WQUw7CiAgICAgICAgICAgcmV0dXJuIChzaXpl X3QpLTE7CiAgICAgICAgIH0KIAogICAgICAgaWYgKGNoID09ICh1Y3M0X3QpSUNPTlZfQ0VT X0lOVkFMSURfQ0hBUkFDVEVSKQogICAgICAgICB7Ci0gICAgICAgICAgX19lcnJub19yIChy cHRyKSA9IEVJTFNFUTsKKyAgICAgICAgICBfUkVFTlRfRVJSTk8gKHJwdHIpID0gRUlMU0VR OwogICAgICAgICAgIHJldHVybiAoc2l6ZV90KS0xOwogICAgICAgICB9CiAKQEAgLTE5Niw3 ICsxOTYsNyBAQCB1Y3NfYmFzZWRfY29udmVyc2lvbl9jb252ZXJ0IChzdHJ1Y3QgX3JlZW50 ICpycHRyLAogICAgICAgICB7CiAgICAgICAgICAgKmluYnVmID0gaW5idWZfc2F2ZTsKICAg ICAgICAgICAqaW5ieXRlc2xlZnQgPSBpbmJ5dGVzbGVmX3NhdmU7Ci0gICAgICAgICAgX19l cnJub19yIChycHRyKSA9IEUyQklHOworICAgICAgICAgIF9SRUVOVF9FUlJOTyAocnB0cikg PSBFMkJJRzsKICAgICAgICAgICByZXR1cm4gKHNpemVfdCktMTsKICAgICAgICAgfQogICAg ICAgZWxzZSBpZiAoYnl0ZXMgPT0gKHNpemVfdClJQ09OVl9DRVNfSU5WQUxJRF9DSEFSQUNU RVIpCkBAIC0yMDQsNyArMjA0LDcgQEAgdWNzX2Jhc2VkX2NvbnZlcnNpb25fY29udmVydCAo c3RydWN0IF9yZWVudCAqcnB0ciwKICAgICAgICAgICBpZiAoZmxhZ3MgJiBJQ09OVl9GQUlM X0JJVCkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgLyogR2VuZXJhdGUgZXJyb3Ig Ki8KLSAgICAgICAgICAgICAgX19lcnJub19yIChycHRyKSA9IEVJTFNFUTsKKyAgICAgICAg ICAgICAgX1JFRU5UX0VSUk5PIChycHRyKSA9IEVJTFNFUTsKICAgICAgICAgICAgICAgcmV0 dXJuIChzaXplX3QpLTE7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgLyoKQEAgLTIyMSw3 ICsyMjEsNyBAQCB1Y3NfYmFzZWRfY29udmVyc2lvbl9jb252ZXJ0IChzdHJ1Y3QgX3JlZW50 ICpycHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRi eXRlc2xlZnQpOwogICAgICAgICAgIGlmICgoX19pbnQzMl90KWJ5dGVzIDwgMCkKICAgICAg ICAgICAgIHsKLSAgICAgICAgICAgICAgX19lcnJub19yIChycHRyKSA9IEUyQklHOworICAg ICAgICAgICAgICBfUkVFTlRfRVJSTk8gKHJwdHIpID0gRTJCSUc7CiAgICAgICAgICAgICAg IHJldHVybiAoc2l6ZV90KS0xOwogICAgICAgICAgICAgfQogICAgICAgCmRpZmYgLS1naXQg YS9uZXdsaWIvbGliYy9pbmNsdWRlL3N5cy9lcnJuby5oIGIvbmV3bGliL2xpYmMvaW5jbHVk ZS9zeXMvZXJybm8uaAppbmRleCAwMjViNDYxZDQuLjk5NWYzMGUwNSAxMDA2NDQKLS0tIGEv bmV3bGliL2xpYmMvaW5jbHVkZS9zeXMvZXJybm8uaAorKysgYi9uZXdsaWIvbGliYy9pbmNs dWRlL3N5cy9lcnJuby5oCkBAIC0yNiw3ICsyNiw3IEBAIGV4dGVybiBfX0lNUE9SVCBjaGFy ICpwcm9ncmFtX2ludm9jYXRpb25fbmFtZTsKIGV4dGVybiBfX0lNUE9SVCBjaGFyICpwcm9n cmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZTsKICNlbmRpZgogCi0jZGVmaW5lIF9fZXJybm9f cihwdHIpICgocHRyKS0+X2Vycm5vKQorI2RlZmluZSBfX2Vycm5vX3IocHRyKSBfUkVFTlRf RVJSTk8ocHRyKQogCiAjZGVmaW5lCUVQRVJNIDEJCS8qIE5vdCBvd25lciAqLwogI2RlZmlu ZQlFTk9FTlQgMgkvKiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5ICovCmRpZmYgLS1naXQg YS9uZXdsaWIvbGliYy9pbmNsdWRlL3N5cy9yZWVudC5oIGIvbmV3bGliL2xpYmMvaW5jbHVk ZS9zeXMvcmVlbnQuaAppbmRleCAyYjBmZjQ2YjcuLjcwYTk4NzEwMCAxMDA2NDQKLS0tIGEv bmV3bGliL2xpYmMvaW5jbHVkZS9zeXMvcmVlbnQuaAorKysgYi9uZXdsaWIvbGliYy9pbmNs dWRlL3N5cy9yZWVudC5oCkBAIC03MTksNiArNzE5LDcgQEAgc3RydWN0IF9yZWVudAogI2Vu ZGlmIC8qICFfUkVFTlRfU01BTEwgKi8KIAogI2RlZmluZSBfUkVFTlRfRU1FUkdFTkNZKF9w dHIpCSgoX3B0ciktPl9lbWVyZ2VuY3kpCisjZGVmaW5lIF9SRUVOVF9FUlJOTyhfcHRyKQko KF9wdHIpLT5fZXJybm8pCiAKICNkZWZpbmUgX1JFRU5UX0lOSVRfUFRSKHZhcikgXAogICB7 IG1lbXNldCgodmFyKSwgMCwgc2l6ZW9mKCoodmFyKSkpOyBcCmRpZmYgLS1naXQgYS9uZXds aWIvbGliYy9tYWNoaW5lL2NyaXMvc3lzL2Vycm5vLmggYi9uZXdsaWIvbGliYy9tYWNoaW5l L2NyaXMvc3lzL2Vycm5vLmgKaW5kZXggM2Q1NzMwMTVkLi5jODExM2VkNzMgMTAwNjQ0Ci0t LSBhL25ld2xpYi9saWJjL21hY2hpbmUvY3Jpcy9zeXMvZXJybm8uaAorKysgYi9uZXdsaWIv bGliYy9tYWNoaW5lL2NyaXMvc3lzL2Vycm5vLmgKQEAgLTI0LDcgKzI0LDcgQEAgZXh0ZXJu IGludCAqX19lcnJubyAodm9pZCk7CiBleHRlcm4gY29uc3QgY2hhciAqIGNvbnN0IF9zeXNf ZXJybGlzdFtdOwogZXh0ZXJuIGludCBfc3lzX25lcnI7CiAKLSNkZWZpbmUgX19lcnJub19y KHB0cikgKChwdHIpLT5fZXJybm8pCisjZGVmaW5lIF9fZXJybm9fcihwdHIpIF9SRUVOVF9F UlJOTyhwdHIpCiAKIC8qIEFkanVzdGVkIHRvIHRoZSBsaW51eCBhc20vZXJybm8uaCAqLwog I2RlZmluZQlFUEVSTQkJIDEJLyogT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQgKi8KZGlmZiAt LWdpdCBhL25ld2xpYi9saWJjL21hY2hpbmUvcG93ZXJwYy9zdHJ0b3NmaXgxNi5jIGIvbmV3 bGliL2xpYmMvbWFjaGluZS9wb3dlcnBjL3N0cnRvc2ZpeDE2LmMKaW5kZXggM2ZiYTQ1NDA5 Li41NDc1ZGU4OGUgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL21hY2hpbmUvcG93ZXJwYy9z dHJ0b3NmaXgxNi5jCisrKyBiL25ld2xpYi9saWJjL21hY2hpbmUvcG93ZXJwYy9zdHJ0b3Nm aXgxNi5jCkBAIC0xMDgsMTAgKzEwOCwxMCBAQCBfc3RydG9zZml4MTZfciAoc3RydWN0IF9y ZWVudCAqcnB0ciwKICAgICB7CiAgICAgICBpZiAoaXNuYW4gKGRibC5kKSkKIAl7Ci0JICBy cHRyLT5fZXJybm8gPSBFRE9NOworCSAgX1JFRU5UX0VSUk5PKHJwdHIpID0gRURPTTsKIAkg IHJldHVybiAwOwogCX0KLSAgICAgIHJwdHItPl9lcnJubyA9IEVSQU5HRTsKKyAgICAgIF9S RUVOVF9FUlJOTyhycHRyKSA9IEVSQU5HRTsKICAgICAgIGlmICh3b3JkMChkYmwpICYgU2ln bl9iaXQpCiAJcmV0dXJuIFNIUlRfTUlOOwogICAgICAgcmV0dXJuIFNIUlRfTUFYOwpAQCAt MTIwLDEyICsxMjAsMTIgQEAgX3N0cnRvc2ZpeDE2X3IgKHN0cnVjdCBfcmVlbnQgKnJwdHIs CiAgIC8qIGNoZWNrIGZvciBub3JtYWwgc2F0dXJhdGlvbiAqLwogICBpZiAoZGJsLmQgPj0g MS4wKQogICAgIHsKLSAgICAgIHJwdHItPl9lcnJubyA9IEVSQU5HRTsKKyAgICAgIF9SRUVO VF9FUlJOTyhycHRyKSA9IEVSQU5HRTsKICAgICAgIHJldHVybiBTSFJUX01BWDsKICAgICB9 CiAgIGVsc2UgaWYgKGRibC5kIDwgLTEuMCkKICAgICB7Ci0gICAgICBycHRyLT5fZXJybm8g PSBFUkFOR0U7CisgICAgICBfUkVFTlRfRVJSTk8ocnB0cikgPSBFUkFOR0U7CiAgICAgICBy ZXR1cm4gU0hSVF9NSU47CiAgICAgfQogCkBAIC0xNTIsNyArMTUyLDcgQEAgX3N0cnRvc2Zp eDE2X3IgKHN0cnVjdCBfcmVlbnQgKnJwdHIsCiAgICAgICAvKiBjaGVjayBpZiBwb3NpdGl2 ZSBzYXR1cmF0aW9uIGhhcyBvY2N1cnJlZCBiZWNhdXNlIG9mIHJvdW5kaW5nICovCiAgICAg ICBpZiAoIXNpZ24gJiYgcmVzdWx0IDwgMCkKIAl7Ci0JICBycHRyLT5fZXJybm8gPSBFUkFO R0U7CisJICBfUkVFTlRfRVJSTk8ocnB0cikgPSBFUkFOR0U7CiAJICByZXR1cm4gU0hSVF9N QVg7CiAJfQogICAgIH0KZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL21hY2hpbmUvcG93ZXJw Yy9zdHJ0b3NmaXgzMi5jIGIvbmV3bGliL2xpYmMvbWFjaGluZS9wb3dlcnBjL3N0cnRvc2Zp eDMyLmMKaW5kZXggYjIxZGU5ZWExLi42OTQxYmU1ZDUgMTAwNjQ0Ci0tLSBhL25ld2xpYi9s aWJjL21hY2hpbmUvcG93ZXJwYy9zdHJ0b3NmaXgzMi5jCisrKyBiL25ld2xpYi9saWJjL21h Y2hpbmUvcG93ZXJwYy9zdHJ0b3NmaXgzMi5jCkBAIC0yOSwxMCArMjksMTAgQEAgX3N0cnRv c2ZpeDMyX3IgKHN0cnVjdCBfcmVlbnQgKnJwdHIsCiAgICAgewogICAgICAgaWYgKGlzbmFu IChkYmwuZCkpCiAJewotCSAgcnB0ci0+X2Vycm5vID0gRURPTTsKKwkgIF9SRUVOVF9FUlJO TyhycHRyKSA9IEVET007CiAJICByZXR1cm4gMDsKIAl9Ci0gICAgICBycHRyLT5fZXJybm8g PSBFUkFOR0U7CisgICAgICBfUkVFTlRfRVJSTk8ocnB0cikgPSBFUkFOR0U7CiAgICAgICBp ZiAod29yZDAoZGJsKSAmIFNpZ25fYml0KQogCXJldHVybiBMT05HX01JTjsKICAgICAgIHJl dHVybiBMT05HX01BWDsKQEAgLTQxLDEyICs0MSwxMiBAQCBfc3RydG9zZml4MzJfciAoc3Ry dWN0IF9yZWVudCAqcnB0ciwKICAgLyogY2hlY2sgZm9yIG5vcm1hbCBzYXR1cmF0aW9uICov CiAgIGlmIChkYmwuZCA+PSAxLjApCiAgICAgewotICAgICAgcnB0ci0+X2Vycm5vID0gRVJB TkdFOworICAgICAgX1JFRU5UX0VSUk5PKHJwdHIpID0gRVJBTkdFOwogICAgICAgcmV0dXJu IExPTkdfTUFYOwogICAgIH0KICAgZWxzZSBpZiAoZGJsLmQgPCAtMS4wKQogICAgIHsKLSAg ICAgIHJwdHItPl9lcnJubyA9IEVSQU5HRTsKKyAgICAgIF9SRUVOVF9FUlJOTyhycHRyKSA9 IEVSQU5HRTsKICAgICAgIHJldHVybiBMT05HX01JTjsKICAgICB9CiAKQEAgLTc1LDcgKzc1 LDcgQEAgX3N0cnRvc2ZpeDMyX3IgKHN0cnVjdCBfcmVlbnQgKnJwdHIsCiAgICAgICAvKiBj aGVjayBpZiBwb3NpdGl2ZSBzYXR1cmF0aW9uIGhhcyBvY2N1cnJlZCBiZWNhdXNlIG9mIHJv dW5kaW5nICovCiAgICAgICBpZiAoIXNpZ24gJiYgcmVzdWx0IDwgMCkKIAl7Ci0JICBycHRy LT5fZXJybm8gPSBFUkFOR0U7CisJICBfUkVFTlRfRVJSTk8ocnB0cikgPSBFUkFOR0U7CiAJ ICByZXR1cm4gTE9OR19NQVg7CiAJfQogICAgIH0KZGlmZiAtLWdpdCBhL25ld2xpYi9saWJj L21hY2hpbmUvcG93ZXJwYy9zdHJ0b3NmaXg2NC5jIGIvbmV3bGliL2xpYmMvbWFjaGluZS9w b3dlcnBjL3N0cnRvc2ZpeDY0LmMKaW5kZXggMTYwMzIxMjhmLi45ZGEzZmZhZWUgMTAwNjQ0 Ci0tLSBhL25ld2xpYi9saWJjL21hY2hpbmUvcG93ZXJwYy9zdHJ0b3NmaXg2NC5jCisrKyBi L25ld2xpYi9saWJjL21hY2hpbmUvcG93ZXJwYy9zdHJ0b3NmaXg2NC5jCkBAIC0zMiwxMCAr MzIsMTAgQEAgX3N0cnRvc2ZpeDY0X3IgKHN0cnVjdCBfcmVlbnQgKnJwdHIsCiAgICAgewog ICAgICAgaWYgKGxkX3R5cGUgPT0gMSkKIAl7Ci0JICBycHRyLT5fZXJybm8gPSBFRE9NOwor CSAgX1JFRU5UX0VSUk5PKHJwdHIpID0gRURPTTsKIAkgIHJldHVybiAwOwogCX0KLSAgICAg IHJwdHItPl9lcnJubyA9IEVSQU5HRTsKKyAgICAgIF9SRUVOVF9FUlJOTyhycHRyKSA9IEVS QU5HRTsKICAgICAgIGlmICh3b3JkMChsZGJsKSAmIFNpZ25fYml0KQogCXJldHVybiBMT05H X0xPTkdfTUlOOwogICAgICAgcmV0dXJuIExPTkdfTE9OR19NQVg7CkBAIC02Myw3ICs2Myw3 IEBAIF9zdHJ0b3NmaXg2NF9yIChzdHJ1Y3QgX3JlZW50ICpycHRyLAogICAgIHsKICAgICAg IGlmIChleHAgPiAwIHx8IChleHAgPT0gMCAmJiB0bXAgIT0gMHg4MDAwMDAwMDAwMDAwMDAw TEwpKQogCXsKLQkgIHJwdHItPl9lcnJubyA9IEVSQU5HRTsKKwkgIF9SRUVOVF9FUlJOTyhy cHRyKSA9IEVSQU5HRTsKIAkgIHJldHVybiBMT05HX0xPTkdfTUlOOwogCX0KICAgICB9CkBA IC03MSw3ICs3MSw3IEBAIF9zdHJ0b3NmaXg2NF9yIChzdHJ1Y3QgX3JlZW50ICpycHRyLAog ICAgIHsKICAgICAgIGlmIChleHAgPj0gMCkKIAl7Ci0JICBycHRyLT5fZXJybm8gPSBFUkFO R0U7CisJICBfUkVFTlRfRVJSTk8ocnB0cikgPSBFUkFOR0U7CiAJICByZXR1cm4gTE9OR19M T05HX01BWDsKIAl9CiAgICAgfQpAQCAtODgsNyArODgsNyBAQCBfc3RydG9zZml4NjRfciAo c3RydWN0IF9yZWVudCAqcnB0ciwKICAgICAgIC8qIGNoZWNrIGlmIHBvc2l0aXZlIHNhdHVy YXRpb24gaGFzIG9jY3VycmVkIGJlY2F1c2Ugb2Ygcm91bmRpbmcgKi8KICAgICAgIGlmICgh c2lnbiAmJiByZXN1bHQgPCAwKQogCXsKLQkgIHJwdHItPl9lcnJubyA9IEVSQU5HRTsKKwkg IF9SRUVOVF9FUlJOTyhycHRyKSA9IEVSQU5HRTsKIAkgIHJldHVybiBMT05HX0xPTkdfTUFY OwogCX0KICAgICB9CmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9tYWNoaW5lL3Bvd2VycGMv c3RydG91Zml4MTYuYyBiL25ld2xpYi9saWJjL21hY2hpbmUvcG93ZXJwYy9zdHJ0b3VmaXgx Ni5jCmluZGV4IDliMTYyNjhiYi4uNDE1NjUyZGQyIDEwMDY0NAotLS0gYS9uZXdsaWIvbGli Yy9tYWNoaW5lL3Bvd2VycGMvc3RydG91Zml4MTYuYworKysgYi9uZXdsaWIvbGliYy9tYWNo aW5lL3Bvd2VycGMvc3RydG91Zml4MTYuYwpAQCAtMTA2LDEwICsxMDYsMTAgQEAgX3N0cnRv dWZpeDE2X3IgKHN0cnVjdCBfcmVlbnQgKnJwdHIsCiAgICAgewogICAgICAgaWYgKGlzbmFu IChkYmwuZCkpCiAJewotCSAgcnB0ci0+X2Vycm5vID0gRURPTTsKKwkgIF9SRUVOVF9FUlJO TyhycHRyKSA9IEVET007CiAJICByZXR1cm4gMDsKIAl9Ci0gICAgICBycHRyLT5fZXJybm8g PSBFUkFOR0U7CisgICAgICBfUkVFTlRfRVJSTk8ocnB0cikgPSBFUkFOR0U7CiAgICAgICBp ZiAod29yZDAoZGJsKSAmIFNpZ25fYml0KQogCXJldHVybiAwOwogICAgICAgcmV0dXJuIFVT SFJUX01BWDsKQEAgLTExOCwxMiArMTE4LDEyIEBAIF9zdHJ0b3VmaXgxNl9yIChzdHJ1Y3Qg X3JlZW50ICpycHRyLAogICAvKiBjaGVjayBmb3Igbm9ybWFsIHNhdHVyYXRpb24gKi8KICAg aWYgKGRibC5kID49IDEuMCkKICAgICB7Ci0gICAgICBycHRyLT5fZXJybm8gPSBFUkFOR0U7 CisgICAgICBfUkVFTlRfRVJSTk8ocnB0cikgPSBFUkFOR0U7CiAgICAgICByZXR1cm4gVVNI UlRfTUFYOwogICAgIH0KICAgZWxzZSBpZiAoZGJsLmQgPCAwKQogICAgIHsKLSAgICAgIHJw dHItPl9lcnJubyA9IEVSQU5HRTsKKyAgICAgIF9SRUVOVF9FUlJOTyhycHRyKSA9IEVSQU5H RTsKICAgICAgIHJldHVybiAwOwogICAgIH0KIApAQCAtMTQ3LDcgKzE0Nyw3IEBAIF9zdHJ0 b3VmaXgxNl9yIChzdHJ1Y3QgX3JlZW50ICpycHRyLAogICAgICAgaWYgKG5lZ2V4cCA9PSAw KQogCXsKIAkgIC8qIHdlIGhhdmUgb3ZlcmZsb3cgd2hpY2ggbWVhbnMgc2F0dXJhdGlvbiAq LwotCSAgcnB0ci0+X2Vycm5vID0gRVJBTkdFOworCSAgX1JFRU5UX0VSUk5PKHJwdHIpID0g RVJBTkdFOwogCSAgcmV0dXJuIFVTSFJUX01BWDsKIAl9CiAgICAgICByZXN1bHQgfD0gKDEg PDwgKDE2IC0gbmVnZXhwKSk7CmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9tYWNoaW5lL3Bv d2VycGMvc3RydG91Zml4MzIuYyBiL25ld2xpYi9saWJjL21hY2hpbmUvcG93ZXJwYy9zdHJ0 b3VmaXgzMi5jCmluZGV4IDdkMDNmOGM5Yi4uNDM0MGM3MTFmIDEwMDY0NAotLS0gYS9uZXds aWIvbGliYy9tYWNoaW5lL3Bvd2VycGMvc3RydG91Zml4MzIuYworKysgYi9uZXdsaWIvbGli Yy9tYWNoaW5lL3Bvd2VycGMvc3RydG91Zml4MzIuYwpAQCAtMjgsMTAgKzI4LDEwIEBAIF9z dHJ0b3VmaXgzMl9yIChzdHJ1Y3QgX3JlZW50ICpycHRyLAogICAgIHsKICAgICAgIGlmIChp c25hbiAoZGJsLmQpKQogCXsKLQkgIHJwdHItPl9lcnJubyA9IEVET007CisJICBfUkVFTlRf RVJSTk8ocnB0cikgPSBFRE9NOwogCSAgcmV0dXJuIDA7CiAJfQotICAgICAgcnB0ci0+X2Vy cm5vID0gRVJBTkdFOworICAgICAgX1JFRU5UX0VSUk5PKHJwdHIpID0gRVJBTkdFOwogICAg ICAgaWYgKHdvcmQwKGRibCkgJiBTaWduX2JpdCkKIAlyZXR1cm4gMDsKICAgICAgIHJldHVy biBVTE9OR19NQVg7CkBAIC00MCwxMiArNDAsMTIgQEAgX3N0cnRvdWZpeDMyX3IgKHN0cnVj dCBfcmVlbnQgKnJwdHIsCiAgIC8qIGNoZWNrIGZvciBub3JtYWwgc2F0dXJhdGlvbiAqLwog ICBpZiAoZGJsLmQgPj0gMS4wKQogICAgIHsKLSAgICAgIHJwdHItPl9lcnJubyA9IEVSQU5H RTsKKyAgICAgIF9SRUVOVF9FUlJOTyhycHRyKSA9IEVSQU5HRTsKICAgICAgIHJldHVybiBV TE9OR19NQVg7CiAgICAgfQogICBlbHNlIGlmIChkYmwuZCA8IDApCiAgICAgewotICAgICAg cnB0ci0+X2Vycm5vID0gRVJBTkdFOworICAgICAgX1JFRU5UX0VSUk5PKHJwdHIpID0gRVJB TkdFOwogICAgICAgcmV0dXJuIDA7CiAgICAgfQogCkBAIC03Nyw3ICs3Nyw3IEBAIF9zdHJ0 b3VmaXgzMl9yIChzdHJ1Y3QgX3JlZW50ICpycHRyLAogICAgICAgLyogaWYgcm91bmRpbmcg Y2F1c2VzIGNhcnJ5LCB0aGVuIHNhdHVyYXRpb24gaGFzIG9jY3VycmVkICovCiAgICAgICBp ZiAocmVzdWx0IDwgdG1wKQogCXsKLQkgIHJwdHItPl9lcnJubyA9IEVSQU5HRTsKKwkgIF9S RUVOVF9FUlJOTyhycHRyKSA9IEVSQU5HRTsKIAkgIHJldHVybiBVTE9OR19NQVg7CiAJfQog ICAgIH0KZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL21hY2hpbmUvcG93ZXJwYy9zdHJ0b3Vm aXg2NC5jIGIvbmV3bGliL2xpYmMvbWFjaGluZS9wb3dlcnBjL3N0cnRvdWZpeDY0LmMKaW5k ZXggYTJmMDQ4NGIzLi4yMDU3MDY4NTYgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL21hY2hp bmUvcG93ZXJwYy9zdHJ0b3VmaXg2NC5jCisrKyBiL25ld2xpYi9saWJjL21hY2hpbmUvcG93 ZXJwYy9zdHJ0b3VmaXg2NC5jCkBAIC0zMSwxMCArMzEsMTAgQEAgX3N0cnRvdWZpeDY0X3Ig KHN0cnVjdCBfcmVlbnQgKnJwdHIsCiAgICAgewogICAgICAgaWYgKGxkX3R5cGUgPT0gMSkK IAl7Ci0JICBycHRyLT5fZXJybm8gPSBFRE9NOworCSAgX1JFRU5UX0VSUk5PKHJwdHIpID0g RURPTTsKIAkgIHJldHVybiAwOwogCX0KLSAgICAgIHJwdHItPl9lcnJubyA9IEVSQU5HRTsK KyAgICAgIF9SRUVOVF9FUlJOTyhycHRyKSA9IEVSQU5HRTsKICAgICAgIGlmICh3b3JkMChs ZGJsKSAmIFNpZ25fYml0KQogCXJldHVybiAwOwogICAgICAgcmV0dXJuIFVMT05HX0xPTkdf TUFYOwpAQCAtNjAsMTQgKzYwLDE0IEBAIF9zdHJ0b3VmaXg2NF9yIChzdHJ1Y3QgX3JlZW50 ICpycHRyLAogICAvKiBjaGVjayBmb3Igc2F0dXJhdGlvbiAqLwogICBpZiAoc2lnbikKICAg ICB7Ci0gICAgICBycHRyLT5fZXJybm8gPSBFUkFOR0U7CisgICAgICBfUkVFTlRfRVJSTk8o cnB0cikgPSBFUkFOR0U7CiAgICAgICByZXR1cm4gMDsKICAgICB9CiAgIGVsc2UKICAgICB7 CiAgICAgICBpZiAoZXhwID4gMCB8fCAoZXhwID09IDAgJiYgdG1wID49IDB4ODAwMDAwMDAw MDAwMDAwMExMKSkKIAl7Ci0JICBycHRyLT5fZXJybm8gPSBFUkFOR0U7CisJICBfUkVFTlRf RVJSTk8ocnB0cikgPSBFUkFOR0U7CiAJICByZXR1cm4gVUxPTkdfTE9OR19NQVg7CiAJfQog ICAgIH0KQEAgLTg5LDcgKzg5LDcgQEAgX3N0cnRvdWZpeDY0X3IgKHN0cnVjdCBfcmVlbnQg KnJwdHIsCiAJICAvKiBpZiByb3VuZGluZyBjYXVzZXMgY2FycnksIHRoZW4gc2F0dXJhdGlv biBoYXMgb2NjdXJyZWQgKi8KIAkgIGlmIChyZXN1bHQgPCB0bXApCiAJICAgIHsKLQkgICAg ICBycHRyLT5fZXJybm8gPSBFUkFOR0U7CisJICAgICAgX1JFRU5UX0VSUk5PKHJwdHIpID0g RVJBTkdFOwogCSAgICAgIHJldHVybiBVTE9OR19MT05HX01BWDsKIAkgICAgfQogCX0KZGlm ZiAtLWdpdCBhL25ld2xpYi9saWJjL21hY2hpbmUvc3B1L3N0ZGlvLmMgYi9uZXdsaWIvbGli Yy9tYWNoaW5lL3NwdS9zdGRpby5jCmluZGV4IDg3ZTRjNDA2ZC4uMWRjYzg4YjYwIDEwMDY0 NAotLS0gYS9uZXdsaWIvbGliYy9tYWNoaW5lL3NwdS9zdGRpby5jCisrKyBiL25ld2xpYi9s aWJjL21hY2hpbmUvc3B1L3N0ZGlvLmMKQEAgLTQ3LDcgKzQ3LDcgQEAgX19zZnAgKHN0cnVj dCBfcmVlbnQgKmQpCiAgICAgICByZXR1cm4gJl9fZnBbaV07CiAgICAgfQogICB9Ci0gIGQt Pl9lcnJubyA9IEVNRklMRTsKKyAgX1JFRU5UX0VSUk5PKGQpID0gRU1GSUxFOwogICByZXR1 cm4gTlVMTDsKIH0KIApkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvbWFjaGluZS9zcHUvc3lz L2Vycm5vLmggYi9uZXdsaWIvbGliYy9tYWNoaW5lL3NwdS9zeXMvZXJybm8uaAppbmRleCBi MDA4ZmY2ZjQuLjg3NTgyODNlYiAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvbWFjaGluZS9z cHUvc3lzL2Vycm5vLmgKKysrIGIvbmV3bGliL2xpYmMvbWFjaGluZS9zcHUvc3lzL2Vycm5v LmgKQEAgLTM0LDcgKzM0LDcgQEAgZXh0ZXJuICJDIiB7CiBleHRlcm4gY29uc3QgY2hhciAq IGNvbnN0IF9zeXNfZXJybGlzdFtdOwogZXh0ZXJuIGludCBfc3lzX25lcnI7CiAKLSNkZWZp bmUgX19lcnJub19yKHB0cikgKChwdHIpLT5fZXJybm8pCisjZGVmaW5lIF9fZXJybm9fcihw dHIpIF9SRUVOVF9FUlJOTyhwdHIpCiAKIC8qIEFkanVzdGVkIHRvIHRoZSBsaW51eCBhc20v ZXJybm8uaCAqLwogI2RlZmluZQlFUEVSTQkJIDEJLyogT3BlcmF0aW9uIG5vdCBwZXJtaXR0 ZWQgKi8KZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3JlZW50L2Nsb3Nlci5jIGIvbmV3bGli L2xpYmMvcmVlbnQvY2xvc2VyLmMKaW5kZXggZGViMzRiMDAyLi4yZDcyYjJhYjUgMTAwNjQ0 Ci0tLSBhL25ld2xpYi9saWJjL3JlZW50L2Nsb3Nlci5jCisrKyBiL25ld2xpYi9saWJjL3Jl ZW50L2Nsb3Nlci5jCkBAIC00NSw3ICs0NSw3IEBAIF9jbG9zZV9yIChwdHIsIGZkKQogCiAg IGVycm5vID0gMDsKICAgaWYgKChyZXQgPSBfY2xvc2UgKGZkKSkgPT0gLTEgJiYgZXJybm8g IT0gMCkKLSAgICBwdHItPl9lcnJubyA9IGVycm5vOworICAgIF9SRUVOVF9FUlJOTyhwdHIp ID0gZXJybm87CiAgIHJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJj L3JlZW50L2V4ZWNyLmMgYi9uZXdsaWIvbGliYy9yZWVudC9leGVjci5jCmluZGV4IDU5YjYx MjIzZS4uNTQxZmI4NjI0IDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9yZWVudC9leGVjci5j CisrKyBiL25ld2xpYi9saWJjL3JlZW50L2V4ZWNyLmMKQEAgLTU0LDcgKzU0LDcgQEAgX2V4 ZWN2ZV9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAKICAgZXJybm8gPSAwOwogICBpZiAoKHJl dCA9IF9leGVjdmUgKG5hbWUsIGFyZ3YsIGVudikpID09IC0xICYmIGVycm5vICE9IDApCi0g ICAgcHRyLT5fZXJybm8gPSBlcnJubzsKKyAgICBfUkVFTlRfRVJSTk8ocHRyKSA9IGVycm5v OwogICByZXR1cm4gcmV0OwogfQogCkBAIC04Niw3ICs4Niw3IEBAIF9mb3JrX3IgKHN0cnVj dCBfcmVlbnQgKnB0cikKIAogICBlcnJubyA9IDA7CiAgIGlmICgocmV0ID0gX2ZvcmsgKCkp ID09IC0xICYmIGVycm5vICE9IDApCi0gICAgcHRyLT5fZXJybm8gPSBlcnJubzsKKyAgICBf UkVFTlRfRVJSTk8ocHRyKSA9IGVycm5vOwogICByZXR1cm4gcmV0OwogfQogCkBAIC0xMTgs NyArMTE4LDcgQEAgX3dhaXRfciAoc3RydWN0IF9yZWVudCAqcHRyLAogCiAgIGVycm5vID0g MDsKICAgaWYgKChyZXQgPSBfd2FpdCAoc3RhdHVzKSkgPT0gLTEgJiYgZXJybm8gIT0gMCkK LSAgICBwdHItPl9lcnJubyA9IGVycm5vOworICAgIF9SRUVOVF9FUlJOTyhwdHIpID0gZXJy bm87CiAgIHJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3JlZW50 L2ZjbnRsci5jIGIvbmV3bGliL2xpYmMvcmVlbnQvZmNudGxyLmMKaW5kZXggY2QxOWQyMjZm Li5mNjBhYTA5MWMgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3JlZW50L2ZjbnRsci5jCisr KyBiL25ld2xpYi9saWJjL3JlZW50L2ZjbnRsci5jCkBAIC00OSw3ICs0OSw3IEBAIF9mY250 bF9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAKICAgZXJybm8gPSAwOwogICBpZiAoKHJldCA9 IF9mY250bCAoZmQsIGNtZCwgYXJnKSkgPT0gLTEgJiYgZXJybm8gIT0gMCkKLSAgICBwdHIt Pl9lcnJubyA9IGVycm5vOworICAgIF9SRUVOVF9FUlJOTyhwdHIpID0gZXJybm87CiAgIHJl dHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3JlZW50L2ZzdGF0NjRy LmMgYi9uZXdsaWIvbGliYy9yZWVudC9mc3RhdDY0ci5jCmluZGV4IGM1NDZmNWMxZC4uYTA0 OTIwNmUyIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9yZWVudC9mc3RhdDY0ci5jCisrKyBi L25ld2xpYi9saWJjL3JlZW50L2ZzdGF0NjRyLmMKQEAgLTU1LDcgKzU1LDcgQEAgX2ZzdGF0 NjRfciAoc3RydWN0IF9yZWVudCAqcHRyLAogCiAgIGVycm5vID0gMDsKICAgaWYgKChyZXQg PSBfZnN0YXQ2NCAoZmQsIHBzdGF0KSkgPT0gLTEgJiYgZXJybm8gIT0gMCkKLSAgICBwdHIt Pl9lcnJubyA9IGVycm5vOworICAgIF9SRUVOVF9FUlJOTyhwdHIpID0gZXJybm87CiAgIHJl dHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3JlZW50L2ZzdGF0ci5j IGIvbmV3bGliL2xpYmMvcmVlbnQvZnN0YXRyLmMKaW5kZXggZWM5MDZjOThkLi45YTAyZTlh NjggMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3JlZW50L2ZzdGF0ci5jCisrKyBiL25ld2xp Yi9saWJjL3JlZW50L2ZzdGF0ci5jCkBAIC01Myw3ICs1Myw3IEBAIF9mc3RhdF9yIChwdHIs IGZkLCBwc3RhdCkKIAogICBlcnJubyA9IDA7CiAgIGlmICgocmV0ID0gX2ZzdGF0IChmZCwg cHN0YXQpKSA9PSAtMSAmJiBlcnJubyAhPSAwKQotICAgIHB0ci0+X2Vycm5vID0gZXJybm87 CisgICAgX1JFRU5UX0VSUk5PKHB0cikgPSBlcnJubzsKICAgcmV0dXJuIHJldDsKIH0KIApk aWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvcmVlbnQvZ2V0dGltZW9mZGF5ci5jIGIvbmV3bGli L2xpYmMvcmVlbnQvZ2V0dGltZW9mZGF5ci5jCmluZGV4IDliOTgyYTk5My4uYWE2MGU1ZTNh IDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9yZWVudC9nZXR0aW1lb2ZkYXlyLmMKKysrIGIv bmV3bGliL2xpYmMvcmVlbnQvZ2V0dGltZW9mZGF5ci5jCkBAIC02MCw3ICs2MCw3IEBAIF9n ZXR0aW1lb2ZkYXlfciAoc3RydWN0IF9yZWVudCAqcHRyLAogCiAgIGVycm5vID0gMDsKICAg aWYgKChyZXQgPSBfZ2V0dGltZW9mZGF5IChwdGltZXZhbCwgcHRpbWV6b25lKSkgPT0gLTEg JiYgZXJybm8gIT0gMCkKLSAgICBwdHItPl9lcnJubyA9IGVycm5vOworICAgIF9SRUVOVF9F UlJOTyhwdHIpID0gZXJybm87CiAgIHJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL25l d2xpYi9saWJjL3JlZW50L2lzYXR0eXIuYyBiL25ld2xpYi9saWJjL3JlZW50L2lzYXR0eXIu YwppbmRleCBmMjFiZjI1YjIuLmY3Njk0NTUxOSAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMv cmVlbnQvaXNhdHR5ci5jCisrKyBiL25ld2xpYi9saWJjL3JlZW50L2lzYXR0eXIuYwpAQCAt NTAsNyArNTAsNyBAQCBfaXNhdHR5X3IgKHB0ciwgZmQpCiAKICAgZXJybm8gPSAwOwogICBp ZiAoKHJldCA9IF9pc2F0dHkgKGZkKSkgPT0gLTEgJiYgZXJybm8gIT0gMCkKLSAgICBwdHIt Pl9lcnJubyA9IGVycm5vOworICAgIF9SRUVOVF9FUlJOTyhwdHIpID0gZXJybm87CiAgIHJl dHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3JlZW50L2xpbmtyLmMg Yi9uZXdsaWIvbGliYy9yZWVudC9saW5rci5jCmluZGV4IGIyMmRhNWY5NC4uMTY5YjZlZWVj IDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9yZWVudC9saW5rci5jCisrKyBiL25ld2xpYi9s aWJjL3JlZW50L2xpbmtyLmMKQEAgLTUxLDcgKzUxLDcgQEAgX2xpbmtfciAoc3RydWN0IF9y ZWVudCAqcHRyLAogCiAgIGVycm5vID0gMDsKICAgaWYgKChyZXQgPSBfbGluayAob2xkLCBu ZXcpKSA9PSAtMSAmJiBlcnJubyAhPSAwKQotICAgIHB0ci0+X2Vycm5vID0gZXJybm87Cisg ICAgX1JFRU5UX0VSUk5PKHB0cikgPSBlcnJubzsKICAgcmV0dXJuIHJldDsKIH0KIApkaWZm IC0tZ2l0IGEvbmV3bGliL2xpYmMvcmVlbnQvbHNlZWs2NHIuYyBiL25ld2xpYi9saWJjL3Jl ZW50L2xzZWVrNjRyLmMKaW5kZXggNDA3NjlmYjZkLi5jOWFmZDAxZGYgMTAwNjQ0Ci0tLSBh L25ld2xpYi9saWJjL3JlZW50L2xzZWVrNjRyLmMKKysrIGIvbmV3bGliL2xpYmMvcmVlbnQv bHNlZWs2NHIuYwpAQCAtNTAsNyArNTAsNyBAQCBfbHNlZWs2NF9yIChzdHJ1Y3QgX3JlZW50 ICpwdHIsCiAKICAgZXJybm8gPSAwOwogICBpZiAoKHJldCA9IF9sc2VlazY0IChmZCwgcG9z LCB3aGVuY2UpKSA9PSAoX29mZjY0X3QpIC0xICYmIGVycm5vICE9IDApCi0gICAgcHRyLT5f ZXJybm8gPSBlcnJubzsKKyAgICBfUkVFTlRfRVJSTk8ocHRyKSA9IGVycm5vOwogICByZXR1 cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9yZWVudC9sc2Vla3IuYyBi L25ld2xpYi9saWJjL3JlZW50L2xzZWVrci5jCmluZGV4IGFjMmRhYWFiOS4uNzdlNjZiOGUx IDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9yZWVudC9sc2Vla3IuYworKysgYi9uZXdsaWIv bGliYy9yZWVudC9sc2Vla3IuYwpAQCAtNDcsNyArNDcsNyBAQCBfbHNlZWtfciAoc3RydWN0 IF9yZWVudCAqcHRyLAogCiAgIGVycm5vID0gMDsKICAgaWYgKChyZXQgPSBfbHNlZWsgKGZk LCBwb3MsIHdoZW5jZSkpID09IChfb2ZmX3QpIC0xICYmIGVycm5vICE9IDApCi0gICAgcHRy LT5fZXJybm8gPSBlcnJubzsKKyAgICBfUkVFTlRfRVJSTk8ocHRyKSA9IGVycm5vOwogICBy ZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9yZWVudC9ta2RpcnIu YyBiL25ld2xpYi9saWJjL3JlZW50L21rZGlyci5jCmluZGV4IGZkNzJkZjY0Yy4uY2Y2NmEy NGQzIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9yZWVudC9ta2RpcnIuYworKysgYi9uZXds aWIvbGliYy9yZWVudC9ta2RpcnIuYwpAQCAtNDgsNyArNDgsNyBAQCBfbWtkaXJfciAoc3Ry dWN0IF9yZWVudCAqcHRyLAogCiAgIGVycm5vID0gMDsKICAgaWYgKChyZXQgPSBfbWtkaXIg KHBhdGgsIG1vZGUpKSA9PSAtMSAmJiBlcnJubyAhPSAwKQotICAgIHB0ci0+X2Vycm5vID0g ZXJybm87CisgICAgX1JFRU5UX0VSUk5PKHB0cikgPSBlcnJubzsKICAgcmV0dXJuIHJldDsK IH0KIApkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvcmVlbnQvb3BlbjY0ci5jIGIvbmV3bGli L2xpYmMvcmVlbnQvb3BlbjY0ci5jCmluZGV4IDg0YmQ2N2UzNC4uZmUyODhkMDgzIDEwMDY0 NAotLS0gYS9uZXdsaWIvbGliYy9yZWVudC9vcGVuNjRyLmMKKysrIGIvbmV3bGliL2xpYmMv cmVlbnQvb3BlbjY0ci5jCkBAIC01Miw3ICs1Miw3IEBAIF9vcGVuNjRfciAocHRyLCBmaWxl LCBmbGFncywgbW9kZSkKIAogICBlcnJubyA9IDA7CiAgIGlmICgocmV0ID0gX29wZW42NCAo ZmlsZSwgZmxhZ3MsIG1vZGUpKSA9PSAtMSAmJiBlcnJubyAhPSAwKQotICAgIHB0ci0+X2Vy cm5vID0gZXJybm87CisgICAgX1JFRU5UX0VSUk5PKHB0cikgPSBlcnJubzsKICAgcmV0dXJu IHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvcmVlbnQvb3BlbnIuYyBiL25l d2xpYi9saWJjL3JlZW50L29wZW5yLmMKaW5kZXggYzZhN2RiNWRlLi44MjQzMTU0MzggMTAw NjQ0Ci0tLSBhL25ld2xpYi9saWJjL3JlZW50L29wZW5yLmMKKysrIGIvbmV3bGliL2xpYmMv cmVlbnQvb3BlbnIuYwpAQCAtNDgsNyArNDgsNyBAQCBfb3Blbl9yIChzdHJ1Y3QgX3JlZW50 ICpwdHIsCiAKICAgZXJybm8gPSAwOwogICBpZiAoKHJldCA9IF9vcGVuIChmaWxlLCBmbGFn cywgbW9kZSkpID09IC0xICYmIGVycm5vICE9IDApCi0gICAgcHRyLT5fZXJybm8gPSBlcnJu bzsKKyAgICBfUkVFTlRfRVJSTk8ocHRyKSA9IGVycm5vOwogICByZXR1cm4gcmV0OwogfQog CmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9yZWVudC9yZWFkci5jIGIvbmV3bGliL2xpYmMv cmVlbnQvcmVhZHIuYwppbmRleCA3ZmNjZWZkMzIuLmIyYWUzMDBkMyAxMDA2NDQKLS0tIGEv bmV3bGliL2xpYmMvcmVlbnQvcmVhZHIuYworKysgYi9uZXdsaWIvbGliYy9yZWVudC9yZWFk ci5jCkBAIC00Nyw3ICs0Nyw3IEBAIF9yZWFkX3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKIAog ICBlcnJubyA9IDA7CiAgIGlmICgocmV0ID0gKF9zc2l6ZV90KV9yZWFkIChmZCwgYnVmLCBj bnQpKSA9PSAtMSAmJiBlcnJubyAhPSAwKQotICAgIHB0ci0+X2Vycm5vID0gZXJybm87Cisg ICAgX1JFRU5UX0VSUk5PKHB0cikgPSBlcnJubzsKICAgcmV0dXJuIHJldDsKIH0KIApkaWZm IC0tZ2l0IGEvbmV3bGliL2xpYmMvcmVlbnQvcmVuYW1lci5jIGIvbmV3bGliL2xpYmMvcmVl bnQvcmVuYW1lci5jCmluZGV4IDU0MjBkYzRhMC4uN2UxZTExMWE4IDEwMDY0NAotLS0gYS9u ZXdsaWIvbGliYy9yZWVudC9yZW5hbWVyLmMKKysrIGIvbmV3bGliL2xpYmMvcmVlbnQvcmVu YW1lci5jCkBAIC00OSw3ICs0OSw3IEBAIF9yZW5hbWVfciAoc3RydWN0IF9yZWVudCAqcHRy LAogI2lmZGVmIEhBVkVfUkVOQU1FCiAgIGVycm5vID0gMDsKICAgaWYgKChyZXQgPSBfcmVu YW1lIChvbGQsIG5ldykpID09IC0xICYmIGVycm5vICE9IDApCi0gICAgcHRyLT5fZXJybm8g PSBlcnJubzsKKyAgICBfUkVFTlRfRVJSTk8ocHRyKSA9IGVycm5vOwogI2Vsc2UKICAgaWYg KF9saW5rX3IgKHB0ciwgb2xkLCBuZXcpID09IC0xKQogICAgIHJldHVybiAtMTsKZGlmZiAt LWdpdCBhL25ld2xpYi9saWJjL3JlZW50L3NicmtyLmMgYi9uZXdsaWIvbGliYy9yZWVudC9z YnJrci5jCmluZGV4IDIxYzRiZDkxMy4uZWM5NDhmZTZiIDEwMDY0NAotLS0gYS9uZXdsaWIv bGliYy9yZWVudC9zYnJrci5jCisrKyBiL25ld2xpYi9saWJjL3JlZW50L3NicmtyLmMKQEAg LTQ5LDcgKzQ5LDcgQEAgX3NicmtfciAoc3RydWN0IF9yZWVudCAqcHRyLAogCiAgIGVycm5v ID0gMDsKICAgaWYgKChyZXQgPSAoY2hhciAqKShfc2JyayAoaW5jcikpKSA9PSAodm9pZCAq KSAtMSAmJiBlcnJubyAhPSAwKQotICAgIHB0ci0+X2Vycm5vID0gZXJybm87CisgICAgX1JF RU5UX0VSUk5PKHB0cikgPSBlcnJubzsKICAgcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0 IGEvbmV3bGliL2xpYmMvcmVlbnQvc2lnbmFsci5jIGIvbmV3bGliL2xpYmMvcmVlbnQvc2ln bmFsci5jCmluZGV4IDM0NTkxMGU0Yi4uODYzYWU3NDAwIDEwMDY0NAotLS0gYS9uZXdsaWIv bGliYy9yZWVudC9zaWduYWxyLmMKKysrIGIvbmV3bGliL2xpYmMvcmVlbnQvc2lnbmFsci5j CkBAIC01MSw3ICs1MSw3IEBAIF9raWxsX3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKIAogICBl cnJubyA9IDA7CiAgIGlmICgocmV0ID0gX2tpbGwgKHBpZCwgc2lnKSkgPT0gLTEgJiYgZXJy bm8gIT0gMCkKLSAgICBwdHItPl9lcnJubyA9IGVycm5vOworICAgIF9SRUVOVF9FUlJOTyhw dHIpID0gZXJybm87CiAgIHJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL25ld2xpYi9s aWJjL3JlZW50L3N0YXQ2NHIuYyBiL25ld2xpYi9saWJjL3JlZW50L3N0YXQ2NHIuYwppbmRl eCBiNjQ3MzZlZjIuLjE2MGQwOGUzMyAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvcmVlbnQv c3RhdDY0ci5jCisrKyBiL25ld2xpYi9saWJjL3JlZW50L3N0YXQ2NHIuYwpAQCAtNTMsNyAr NTMsNyBAQCBfc3RhdDY0X3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKIAogICBlcnJubyA9IDA7 CiAgIGlmICgocmV0ID0gX3N0YXQ2NCAoZmlsZSwgcHN0YXQpKSA9PSAtMSAmJiBlcnJubyAh PSAwKQotICAgIHB0ci0+X2Vycm5vID0gZXJybm87CisgICAgX1JFRU5UX0VSUk5PKHB0cikg PSBlcnJubzsKICAgcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMv cmVlbnQvc3RhdHIuYyBiL25ld2xpYi9saWJjL3JlZW50L3N0YXRyLmMKaW5kZXggOTM4OGUw MjQ2Li45OTQ1M2U3ODkgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3JlZW50L3N0YXRyLmMK KysrIGIvbmV3bGliL2xpYmMvcmVlbnQvc3RhdHIuYwpAQCAtNTMsNyArNTMsNyBAQCBfc3Rh dF9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAKICAgZXJybm8gPSAwOwogICBpZiAoKHJldCA9 IF9zdGF0IChmaWxlLCBwc3RhdCkpID09IC0xICYmIGVycm5vICE9IDApCi0gICAgcHRyLT5f ZXJybm8gPSBlcnJubzsKKyAgICBfUkVFTlRfRVJSTk8ocHRyKSA9IGVycm5vOwogICByZXR1 cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9yZWVudC91bmxpbmtyLmMg Yi9uZXdsaWIvbGliYy9yZWVudC91bmxpbmtyLmMKaW5kZXggNDFiYWMwMTk0Li40OTVlNjVi MDIgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3JlZW50L3VubGlua3IuYworKysgYi9uZXds aWIvbGliYy9yZWVudC91bmxpbmtyLmMKQEAgLTQ1LDcgKzQ1LDcgQEAgX3VubGlua19yIChz dHJ1Y3QgX3JlZW50ICpwdHIsCiAKICAgZXJybm8gPSAwOwogICBpZiAoKHJldCA9IF91bmxp bmsgKGZpbGUpKSA9PSAtMSAmJiBlcnJubyAhPSAwKQotICAgIHB0ci0+X2Vycm5vID0gZXJy bm87CisgICAgX1JFRU5UX0VSUk5PKHB0cikgPSBlcnJubzsKICAgcmV0dXJuIHJldDsKIH0K IApkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvcmVlbnQvd3JpdGVyLmMgYi9uZXdsaWIvbGli Yy9yZWVudC93cml0ZXIuYwppbmRleCA3MDRhYmExOGIuLmFjMjIxN2M1NyAxMDA2NDQKLS0t IGEvbmV3bGliL2xpYmMvcmVlbnQvd3JpdGVyLmMKKysrIGIvbmV3bGliL2xpYmMvcmVlbnQv d3JpdGVyLmMKQEAgLTQ3LDcgKzQ3LDcgQEAgX3dyaXRlX3IgKHN0cnVjdCBfcmVlbnQgKnB0 ciwKIAogICBlcnJubyA9IDA7CiAgIGlmICgocmV0ID0gKF9zc2l6ZV90KV93cml0ZSAoZmQs IGJ1ZiwgY250KSkgPT0gLTEgJiYgZXJybm8gIT0gMCkKLSAgICBwdHItPl9lcnJubyA9IGVy cm5vOworICAgIF9SRUVOVF9FUlJOTyhwdHIpID0gZXJybm87CiAgIHJldHVybiByZXQ7CiB9 CiAKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3NpZ25hbC9zaWduYWwuYyBiL25ld2xpYi9s aWJjL3NpZ25hbC9zaWduYWwuYwppbmRleCAwMTEwMjg3ZDguLmEyNDllOWYwMCAxMDA2NDQK LS0tIGEvbmV3bGliL2xpYmMvc2lnbmFsL3NpZ25hbC5jCisrKyBiL25ld2xpYi9saWJjL3Np Z25hbC9zaWduYWwuYwpAQCAtMTE1LDcgKzExNSw3IEBAIF9zaWduYWxfciAoc3RydWN0IF9y ZWVudCAqcHRyLAogCiAgIGlmIChzaWcgPCAwIHx8IHNpZyA+PSBOU0lHKQogICAgIHsKLSAg ICAgIHB0ci0+X2Vycm5vID0gRUlOVkFMOworICAgICAgX1JFRU5UX0VSUk5PKHB0cikgPSBF SU5WQUw7CiAgICAgICByZXR1cm4gU0lHX0VSUjsKICAgICB9CiAKQEAgLTEzNiw3ICsxMzYs NyBAQCBfcmFpc2VfciAoc3RydWN0IF9yZWVudCAqcHRyLAogCiAgIGlmIChzaWcgPCAwIHx8 IHNpZyA+PSBOU0lHKQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRUlOVkFMOworICAg ICAgX1JFRU5UX0VSUk5PKHB0cikgPSBFSU5WQUw7CiAgICAgICByZXR1cm4gLTE7CiAgICAg fQogCkBAIC0xNTEsNyArMTUxLDcgQEAgX3JhaXNlX3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwK ICAgICByZXR1cm4gMDsKICAgZWxzZSBpZiAoZnVuYyA9PSBTSUdfRVJSKQogICAgIHsKLSAg ICAgIHB0ci0+X2Vycm5vID0gRUlOVkFMOworICAgICAgX1JFRU5UX0VSUk5PKHB0cikgPSBF SU5WQUw7CiAgICAgICByZXR1cm4gMTsKICAgICB9CiAgIGVsc2UKZGlmZiAtLWdpdCBhL25l d2xpYi9saWJjL3N0ZGlvL2FzbmlwcmludGYuYyBiL25ld2xpYi9saWJjL3N0ZGlvL2Fzbmlw cmludGYuYwppbmRleCAwYmZlMDBkOWIuLjk3ZTc3NzQ4ZSAxMDA2NDQKLS0tIGEvbmV3bGli L2xpYmMvc3RkaW8vYXNuaXByaW50Zi5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGlvL2Fzbmlw cmludGYuYwpAQCAtNDIsNyArNDIsNyBAQCBfYXNuaXByaW50Zl9yIChzdHJ1Y3QgX3JlZW50 ICpwdHIsCiAgICAgIGZvciBfc2l6ZS4gICovCiAgIGlmIChsZW4gPiBJTlRfTUFYKQogICAg IHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRU9WRVJGTE9XOworICAgICAgX1JFRU5UX0VSUk5P KHB0cikgPSBFT1ZFUkZMT1c7CiAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgIGYuX2Jm Ll9zaXplID0gZi5fdyA9IGxlbjsKQEAgLTg4LDcgKzg4LDcgQEAgYXNuaXByaW50ZiAoY2hh ciAqYnVmLAogICAgICBmb3IgX3NpemUuICAqLwogICBpZiAobGVuID4gSU5UX01BWCkKICAg ICB7Ci0gICAgICBwdHItPl9lcnJubyA9IEVPVkVSRkxPVzsKKyAgICAgIF9SRUVOVF9FUlJO TyhwdHIpID0gRU9WRVJGTE9XOwogICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICBmLl9i Zi5fc2l6ZSA9IGYuX3cgPSBsZW47CmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRpby9h c25wcmludGYuYyBiL25ld2xpYi9saWJjL3N0ZGlvL2FzbnByaW50Zi5jCmluZGV4IGY2NTdm OWVjOS4uZjgyNTU2MTQzIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRpby9hc25wcmlu dGYuYworKysgYi9uZXdsaWIvbGliYy9zdGRpby9hc25wcmludGYuYwpAQCAtNDIsNyArNDIs NyBAQCBfYXNucHJpbnRmX3IgKHN0cnVjdCBfcmVlbnQgKl9fcmVzdHJpY3QgcHRyLAogICAg ICBmb3IgX3NpemUuICAqLwogICBpZiAobGVuID4gSU5UX01BWCkKICAgICB7Ci0gICAgICBw dHItPl9lcnJubyA9IEVPVkVSRkxPVzsKKyAgICAgIF9SRUVOVF9FUlJOTyhwdHIpID0gRU9W RVJGTE9XOwogICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICBmLl9iZi5fc2l6ZSA9IGYu X3cgPSBsZW47CkBAIC05NCw3ICs5NCw3IEBAIGFzbnByaW50ZiAoY2hhciAqX19yZXN0cmlj dCBidWYsCiAgICAgIGZvciBfc2l6ZS4gICovCiAgIGlmIChsZW4gPiBJTlRfTUFYKQogICAg IHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRU9WRVJGTE9XOworICAgICAgX1JFRU5UX0VSUk5P KHB0cikgPSBFT1ZFUkZMT1c7CiAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgIGYuX2Jm Ll9zaXplID0gZi5fdyA9IGxlbjsKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGlvL2Zk b3Blbi5jIGIvbmV3bGliL2xpYmMvc3RkaW8vZmRvcGVuLmMKaW5kZXggZWY5NDJjMjg0Li4z NDgxMTU0ZDEgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGlvL2Zkb3Blbi5jCisrKyBi L25ld2xpYi9saWJjL3N0ZGlvL2Zkb3Blbi5jCkBAIC03Myw3ICs3Myw3IEBAIF9mZG9wZW5f ciAoc3RydWN0IF9yZWVudCAqcHRyLAogICBmZG1vZGUgPSBmZGZsYWdzICYgT19BQ0NNT0RF OwogICBpZiAoZmRtb2RlICE9IE9fUkRXUiAmJiAoZmRtb2RlICE9IChvZmxhZ3MgJiBPX0FD Q01PREUpKSkKICAgICB7Ci0gICAgICBwdHItPl9lcnJubyA9IEVCQURGOworICAgICAgX1JF RU5UX0VSUk5PKHB0cikgPSBFQkFERjsKICAgICAgIHJldHVybiAwOwogICAgIH0KICNlbmRp ZgpkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkaW8vZmZsdXNoLmMgYi9uZXdsaWIvbGli Yy9zdGRpby9mZmx1c2guYwppbmRleCBiYmVjNGExOWIuLmQ1MWU5MDE1MyAxMDA2NDQKLS0t IGEvbmV3bGliL2xpYmMvc3RkaW8vZmZsdXNoLmMKKysrIGIvbmV3bGliL2xpYmMvc3RkaW8v ZmZsdXNoLmMKQEAgLTEzNyw4ICsxMzcsOCBAQCBfX3NmbHVzaF9yIChzdHJ1Y3QgX3JlZW50 ICpwdHIsCiAJICAvKiBTYXZlIGxhc3QgZXJybm8gYW5kIHNldCBlcnJubyB0byAwLCBzbyB3 ZSBjYW4gY2hlY2sgaWYgYSBkZXZpY2UKIAkgICAgIHJldHVybnMgd2l0aCBhIHZhbGlkIHBv c2l0aW9uIC0xLiAgV2UgcmVzdG9yZSB0aGUgbGFzdCBlcnJubyBpZgogCSAgICAgbm8gb3Ro ZXIgZXJyb3IgY29uZGl0aW9uIGhhcyBiZWVuIGVuY291bnRlcmVkLiAqLwotCSAgdG1wX2Vy cm5vID0gcHRyLT5fZXJybm87Ci0JICBwdHItPl9lcnJubyA9IDA7CisJICB0bXBfZXJybm8g PSBfUkVFTlRfRVJSTk8ocHRyKTsKKwkgIF9SRUVOVF9FUlJOTyhwdHIpID0gMDsKIAkgIC8q IEdldCB0aGUgcGh5c2ljYWwgcG9zaXRpb24gd2UgYXJlIGF0IGluIHRoZSBmaWxlLiAgKi8K IAkgIGlmIChmcC0+X2ZsYWdzICYgX19TT0ZGKQogCSAgICBjdXJvZmYgPSBmcC0+X29mZnNl dDsKQEAgLTE1MiwxMyArMTUyLDEzIEBAIF9fc2ZsdXNoX3IgKHN0cnVjdCBfcmVlbnQgKnB0 ciwKIAkgICAgICBlbHNlCiAjZW5kaWYKIAkJY3Vyb2ZmID0gZnAtPl9zZWVrIChwdHIsIGZw LT5fY29va2llLCAwLCBTRUVLX0NVUik7Ci0JICAgICAgaWYgKGN1cm9mZiA9PSAtMUwgJiYg cHRyLT5fZXJybm8gIT0gMCkKKwkgICAgICBpZiAoY3Vyb2ZmID09IC0xTCAmJiBfUkVFTlRf RVJSTk8ocHRyKSAhPSAwKQogCQl7CiAJCSAgaW50IHJlc3VsdCA9IEVPRjsKLQkJICBpZiAo cHRyLT5fZXJybm8gPT0gRVNQSVBFIHx8IHB0ci0+X2Vycm5vID09IEVJTlZBTCkKKwkJICBp ZiAoX1JFRU5UX0VSUk5PKHB0cikgPT0gRVNQSVBFIHx8IF9SRUVOVF9FUlJOTyhwdHIpID09 IEVJTlZBTCkKIAkJICAgIHsKIAkJICAgICAgcmVzdWx0ID0gMDsKLQkJICAgICAgcHRyLT5f ZXJybm8gPSB0bXBfZXJybm87CisJCSAgICAgIF9SRUVOVF9FUlJOTyhwdHIpID0gdG1wX2Vy cm5vOwogCQkgICAgfQogCQkgIGVsc2UKIAkJICAgIGZwLT5fZmxhZ3MgfD0gX19TRVJSOwpA QCAtMTgwLDggKzE4MCw4IEBAIF9fc2ZsdXNoX3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKIAkg IGVsc2UKICNlbmRpZgogCSAgICBjdXJvZmYgPSBmcC0+X3NlZWsgKHB0ciwgZnAtPl9jb29r aWUsIGN1cm9mZiwgU0VFS19TRVQpOwotCSAgaWYgKGN1cm9mZiAhPSAtMSB8fCBwdHItPl9l cnJubyA9PSAwCi0JICAgICAgfHwgcHRyLT5fZXJybm8gPT0gRVNQSVBFIHx8IHB0ci0+X2Vy cm5vID09IEVJTlZBTCkKKwkgIGlmIChjdXJvZmYgIT0gLTEgfHwgX1JFRU5UX0VSUk5PKHB0 cikgPT0gMAorCSAgICAgIHx8IF9SRUVOVF9FUlJOTyhwdHIpID09IEVTUElQRSB8fCBfUkVF TlRfRVJSTk8ocHRyKSA9PSBFSU5WQUwpCiAJICAgIHsKIAkgICAgICAvKiBTZWVrIHN1Y2Nl c3NmdWwgb3IgaWdub3JhYmxlIGVycm9yIGNvbmRpdGlvbi4KIAkJIFdlIGNhbiBjbGVhciBy ZWFkIGJ1ZmZlciBub3cuICAqLwpAQCAtMTkwLDkgKzE5MCw5IEBAIF9fc2ZsdXNoX3IgKHN0 cnVjdCBfcmVlbnQgKnB0ciwKICNlbmRpZgogCSAgICAgIGZwLT5fciA9IDA7CiAJICAgICAg ZnAtPl9wID0gZnAtPl9iZi5fYmFzZTsKLQkgICAgICBpZiAoKGZwLT5fZmxhZ3MgJiBfX1NP RkYpICYmIChjdXJvZmYgIT0gLTEgfHwgcHRyLT5fZXJybm8gPT0gMCkpCisJICAgICAgaWYg KChmcC0+X2ZsYWdzICYgX19TT0ZGKSAmJiAoY3Vyb2ZmICE9IC0xIHx8IF9SRUVOVF9FUlJO TyhwdHIpID09IDApKQogCQlmcC0+X29mZnNldCA9IGN1cm9mZjsKLQkgICAgICBwdHItPl9l cnJubyA9IHRtcF9lcnJubzsKKwkgICAgICBfUkVFTlRfRVJSTk8ocHRyKSA9IHRtcF9lcnJu bzsKIAkgICAgICBpZiAoSEFTVUIgKGZwKSkKIAkJRlJFRVVCIChwdHIsIGZwKTsKIAkgICAg fQpkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkaW8vZmlsZW5vLmMgYi9uZXdsaWIvbGli Yy9zdGRpby9maWxlbm8uYwppbmRleCAxMGZjNmUyODMuLjRmYWE2YTg0MyAxMDA2NDQKLS0t IGEvbmV3bGliL2xpYmMvc3RkaW8vZmlsZW5vLmMKKysrIGIvbmV3bGliL2xpYmMvc3RkaW8v ZmlsZW5vLmMKQEAgLTczLDcgKzczLDcgQEAgZmlsZW5vIChGSUxFICogZikKICAgZWxzZQog ICAgIHsKICAgICAgIHJlc3VsdCA9IC0xOwotICAgICAgX1JFRU5ULT5fZXJybm8gPSBFQkFE RjsKKyAgICAgIF9SRUVOVF9FUlJOTyhfUkVFTlQpID0gRUJBREY7CiAgICAgfQogICBfbmV3 bGliX2Zsb2NrZmlsZV9lbmQgKGYpOwogICByZXR1cm4gcmVzdWx0OwpkaWZmIC0tZ2l0IGEv bmV3bGliL2xpYmMvc3RkaW8vZmlsZW5vX3UuYyBiL25ld2xpYi9saWJjL3N0ZGlvL2ZpbGVu b191LmMKaW5kZXggODMwYTA3ZDJiLi5mMzk0MGU4ODUgMTAwNjQ0Ci0tLSBhL25ld2xpYi9s aWJjL3N0ZGlvL2ZpbGVub191LmMKKysrIGIvbmV3bGliL2xpYmMvc3RkaW8vZmlsZW5vX3Uu YwpAQCAtMzksNyArMzksNyBAQCBmaWxlbm9fdW5sb2NrZWQgKEZJTEUgKiBmKQogICBlbHNl CiAgICAgewogICAgICAgcmVzdWx0ID0gLTE7Ci0gICAgICBfUkVFTlQtPl9lcnJubyA9IEVC QURGOworICAgICAgX1JFRU5UX0VSUk5PKF9SRUVOVCkgPSBFQkFERjsKICAgICB9CiAgIHJl dHVybiByZXN1bHQ7CiB9CmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRpby9maW5kZnAu YyBiL25ld2xpYi9saWJjL3N0ZGlvL2ZpbmRmcC5jCmluZGV4IGVlOTkxZWQyNC4uYzdhNGE5 NDFlIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRpby9maW5kZnAuYworKysgYi9uZXds aWIvbGliYy9zdGRpby9maW5kZnAuYwpAQCAtMTc5LDcgKzE3OSw3IEBAIF9fc2ZwIChzdHJ1 Y3QgX3JlZW50ICpkKQogCWJyZWFrOwogICAgIH0KICAgX25ld2xpYl9zZnBfbG9ja19leGl0 ICgpOwotICBkLT5fZXJybm8gPSBFTk9NRU07CisgIF9SRUVOVF9FUlJOTyhkKSA9IEVOT01F TTsKICAgcmV0dXJuIE5VTEw7CiAKIGZvdW5kOgpkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMv c3RkaW8vZmxhZ3MuYyBiL25ld2xpYi9saWJjL3N0ZGlvL2ZsYWdzLmMKaW5kZXggN2JiZDUw MTgxLi5kNjg2ZmEwNDYgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGlvL2ZsYWdzLmMK KysrIGIvbmV3bGliL2xpYmMvc3RkaW8vZmxhZ3MuYwpAQCAtNTYsNyArNTYsNyBAQCBfX3Nm bGFncyAoc3RydWN0IF9yZWVudCAqcHRyLAogICAgICAgbyA9IE9fQ1JFQVQgfCBPX0FQUEVO RDsKICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CQkJLyogaWxsZWdhbCBtb2RlICovCi0g ICAgICBwdHItPl9lcnJubyA9IEVJTlZBTDsKKyAgICAgIF9SRUVOVF9FUlJOTyhwdHIpID0g RUlOVkFMOwogICAgICAgcmV0dXJuICgwKTsKICAgICB9CiAgIHdoaWxlICgqKyttb2RlKQpk aWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkaW8vZm1lbW9wZW4uYyBiL25ld2xpYi9saWJj L3N0ZGlvL2ZtZW1vcGVuLmMKaW5kZXggMGQwNDM1MjBlLi44ODZiYTdlZmUgMTAwNjQ0Ci0t LSBhL25ld2xpYi9saWJjL3N0ZGlvL2ZtZW1vcGVuLmMKKysrIGIvbmV3bGliL2xpYmMvc3Rk aW8vZm1lbW9wZW4uYwpAQCAtMTQ4LDcgKzE0OCw3IEBAIGZtZW13cml0ZXIgKHN0cnVjdCBf cmVlbnQgKnB0ciwKICAgICBtZW1jcHkgKGMtPmJ1ZiArIGMtPnBvcyAtIG4sIGJ1ZiwgbiAt IGFkanVzdCk7CiAgIGVsc2UKICAgICB7Ci0gICAgICBwdHItPl9lcnJubyA9IEVOT1NQQzsK KyAgICAgIF9SRUVOVF9FUlJOTyhwdHIpID0gRU5PU1BDOwogICAgICAgcmV0dXJuIEVPRjsK ICAgICB9CiAgIHJldHVybiBuOwpAQCAtMTc1LDE4ICsxNzUsMTggQEAgZm1lbXNlZWtlciAo c3RydWN0IF9yZWVudCAqcHRyLAogICAgIG9mZnNldCArPSBjLT5lb2Y7CiAgIGlmIChvZmZz ZXQgPCAwKQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRUlOVkFMOworICAgICAgX1JF RU5UX0VSUk5PKHB0cikgPSBFSU5WQUw7CiAgICAgICBvZmZzZXQgPSAtMTsKICAgICB9CiAg IGVsc2UgaWYgKG9mZnNldCA+IGMtPm1heCkKICAgICB7Ci0gICAgICBwdHItPl9lcnJubyA9 IEVOT1NQQzsKKyAgICAgIF9SRUVOVF9FUlJOTyhwdHIpID0gRU5PU1BDOwogICAgICAgb2Zm c2V0ID0gLTE7CiAgICAgfQogI2lmZGVmIF9fTEFSR0U2NF9GSUxFUwogICBlbHNlIGlmICgo X2Zwb3NfdCkgb2Zmc2V0ICE9IG9mZnNldCkKICAgICB7Ci0gICAgICBwdHItPl9lcnJubyA9 IEVPVkVSRkxPVzsKKyAgICAgIF9SRUVOVF9FUlJOTyhwdHIpID0gRU9WRVJGTE9XOwogICAg ICAgb2Zmc2V0ID0gLTE7CiAgICAgfQogI2VuZGlmIC8qIF9fTEFSR0U2NF9GSUxFUyAqLwpA QCAtMjI0LDEyICsyMjQsMTIgQEAgZm1lbXNlZWtlcjY0IChzdHJ1Y3QgX3JlZW50ICpwdHIs CiAgICAgb2Zmc2V0ICs9IGMtPmVvZjsKICAgaWYgKG9mZnNldCA8IDApCiAgICAgewotICAg ICAgcHRyLT5fZXJybm8gPSBFSU5WQUw7CisgICAgICBfUkVFTlRfRVJSTk8ocHRyKSA9IEVJ TlZBTDsKICAgICAgIG9mZnNldCA9IC0xOwogICAgIH0KICAgZWxzZSBpZiAob2Zmc2V0ID4g Yy0+bWF4KQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRU5PU1BDOworICAgICAgX1JF RU5UX0VSUk5PKHB0cikgPSBFTk9TUEM7CiAgICAgICBvZmZzZXQgPSAtMTsKICAgICB9CiAg IGVsc2UKQEAgLTI3Nyw3ICsyNzcsNyBAQCBfZm1lbW9wZW5fciAoc3RydWN0IF9yZWVudCAq cHRyLAogICAgIHJldHVybiBOVUxMOwogICBpZiAoIXNpemUgfHwgIShidWYgfHwgZmxhZ3Mg JiBfX1NSVykpCiAgICAgewotICAgICAgcHRyLT5fZXJybm8gPSBFSU5WQUw7CisgICAgICBf UkVFTlRfRVJSTk8ocHRyKSA9IEVJTlZBTDsKICAgICAgIHJldHVybiBOVUxMOwogICAgIH0K ICAgaWYgKChmcCA9IF9fc2ZwIChwdHIpKSA9PSBOVUxMKQpkaWZmIC0tZ2l0IGEvbmV3bGli L2xpYmMvc3RkaW8vZm9wZW5jb29raWUuYyBiL25ld2xpYi9saWJjL3N0ZGlvL2ZvcGVuY29v a2llLmMKaW5kZXggMDg2MTUyOGUwLi5hYjQwNmE4NjYgMTAwNjQ0Ci0tLSBhL25ld2xpYi9s aWJjL3N0ZGlvL2ZvcGVuY29va2llLmMKKysrIGIvbmV3bGliL2xpYmMvc3RkaW8vZm9wZW5j b29raWUuYwpAQCAtMTA3LDcgKzEwNyw3IEBAIGZjcmVhZGVyIChzdHJ1Y3QgX3JlZW50ICpw dHIsCiAgIGZjY29va2llICpjID0gKGZjY29va2llICopIGNvb2tpZTsKICAgZXJybm8gPSAw OwogICBpZiAoKHJlc3VsdCA9IGMtPnJlYWRmbiAoYy0+Y29va2llLCBidWYsIG4pKSA8IDAg JiYgZXJybm8pCi0gICAgcHRyLT5fZXJybm8gPSBlcnJubzsKKyAgICBfUkVFTlRfRVJSTk8o cHRyKSA9IGVycm5vOwogICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xMjksNyArMTI5LDcg QEAgZmN3cml0ZXIgKHN0cnVjdCBfcmVlbnQgKnB0ciwKICAgICB9CiAgIGVycm5vID0gMDsK ICAgaWYgKChyZXN1bHQgPSBjLT53cml0ZWZuIChjLT5jb29raWUsIGJ1ZiwgbikpIDwgMCAm JiBlcnJubykKLSAgICBwdHItPl9lcnJubyA9IGVycm5vOworICAgIF9SRUVOVF9FUlJOTyhw dHIpID0gZXJybm87CiAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTE0OCwxMSArMTQ4LDEx IEBAIGZjc2Vla2VyIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAKICAgZXJybm8gPSAwOwogICBp ZiAoYy0+c2Vla2ZuIChjLT5jb29raWUsICZvZmZzZXQsIHdoZW5jZSkgPCAwICYmIGVycm5v KQotICAgIHB0ci0+X2Vycm5vID0gZXJybm87CisgICAgX1JFRU5UX0VSUk5PKHB0cikgPSBl cnJubzsKICNpZmRlZiBfX0xBUkdFNjRfRklMRVMKICAgZWxzZSBpZiAoKF9mcG9zX3Qpb2Zm c2V0ICE9IG9mZnNldCkKICAgICB7Ci0gICAgICBwdHItPl9lcnJubyA9IEVPVkVSRkxPVzsK KyAgICAgIF9SRUVOVF9FUlJOTyhwdHIpID0gRU9WRVJGTE9XOwogICAgICAgb2Zmc2V0ID0g LTE7CiAgICAgfQogI2VuZGlmIC8qIF9fTEFSR0U2NF9GSUxFUyAqLwpAQCAtMTcwLDcgKzE3 MCw3IEBAIGZjc2Vla2VyNjQgKHN0cnVjdCBfcmVlbnQgKnB0ciwKICAgZmNjb29raWUgKmMg PSAoZmNjb29raWUgKikgY29va2llOwogICBlcnJubyA9IDA7CiAgIGlmIChjLT5zZWVrZm4g KGMtPmNvb2tpZSwgJm9mZnNldCwgd2hlbmNlKSA8IDAgJiYgZXJybm8pCi0gICAgcHRyLT5f ZXJybm8gPSBlcnJubzsKKyAgICBfUkVFTlRfRVJSTk8ocHRyKSA9IGVycm5vOwogICByZXR1 cm4gKF9mcG9zNjRfdCkgb2Zmc2V0OwogfQogI2VuZGlmIC8qIF9fTEFSR0U2NF9GSUxFUyAq LwpAQCAtMTg1LDcgKzE4NSw3IEBAIGZjY2xvc2VyIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAg ICAgewogICAgICAgZXJybm8gPSAwOwogICAgICAgaWYgKChyZXN1bHQgPSBjLT5jbG9zZWZu IChjLT5jb29raWUpKSA8IDAgJiYgZXJybm8pCi0JcHRyLT5fZXJybm8gPSBlcnJubzsKKwlf UkVFTlRfRVJSTk8ocHRyKSA9IGVycm5vOwogICAgIH0KICAgX2ZyZWVfciAocHRyLCBjKTsK ICAgcmV0dXJuIHJlc3VsdDsKQEAgLTIwNyw3ICsyMDcsNyBAQCBfZm9wZW5jb29raWVfciAo c3RydWN0IF9yZWVudCAqcHRyLAogICBpZiAoKChmbGFncyAmIChfX1NSRCB8IF9fU1JXKSkg JiYgIWZ1bmN0aW9ucy5yZWFkKQogICAgICAgfHwgKChmbGFncyAmIChfX1NXUiB8IF9fU1JX KSkgJiYgIWZ1bmN0aW9ucy53cml0ZSkpCiAgICAgewotICAgICAgcHRyLT5fZXJybm8gPSBF SU5WQUw7CisgICAgICBfUkVFTlRfRVJSTk8ocHRyKSA9IEVJTlZBTDsKICAgICAgIHJldHVy biBOVUxMOwogICAgIH0KICAgaWYgKChmcCA9IF9fc2ZwIChwdHIpKSA9PSBOVUxMKQpkaWZm IC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkaW8vZnB1cmdlLmMgYi9uZXdsaWIvbGliYy9zdGRp by9mcHVyZ2UuYwppbmRleCAyZTRmNjFlYzkuLjkzYWMwZTJhOSAxMDA2NDQKLS0tIGEvbmV3 bGliL2xpYmMvc3RkaW8vZnB1cmdlLmMKKysrIGIvbmV3bGliL2xpYmMvc3RkaW8vZnB1cmdl LmMKQEAgLTcyLDcgKzcyLDcgQEAgX2ZwdXJnZV9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAg IHQgPSBmcC0+X2ZsYWdzOwogICBpZiAoIXQpCiAgICAgewotICAgICAgcHRyLT5fZXJybm8g PSBFQkFERjsKKyAgICAgIF9SRUVOVF9FUlJOTyhwdHIpID0gRUJBREY7CiAgICAgICBfbmV3 bGliX2Zsb2NrZmlsZV9leGl0IChmcCk7CiAgICAgICByZXR1cm4gRU9GOwogICAgIH0KZGlm ZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGlvL2ZyZW9wZW4uYyBiL25ld2xpYi9saWJjL3N0 ZGlvL2ZyZW9wZW4uYwppbmRleCAyOWJhNWI3ZmYuLmYwZGE5YTE1OSAxMDA2NDQKLS0tIGEv bmV3bGliL2xpYmMvc3RkaW8vZnJlb3Blbi5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGlvL2Zy ZW9wZW4uYwpAQCAtMTM3LDcgKzEzNyw3IEBAIF9mcmVvcGVuX3IgKHN0cnVjdCBfcmVlbnQg KnB0ciwKICAgaWYgKGZpbGUgIT0gTlVMTCkKICAgICB7CiAgICAgICBmID0gX29wZW5fciAo cHRyLCAoY2hhciAqKSBmaWxlLCBvZmxhZ3MsIDA2NjYpOwotICAgICAgZSA9IHB0ci0+X2Vy cm5vOworICAgICAgZSA9IF9SRUVOVF9FUlJOTyhwdHIpOwogICAgIH0KICAgZWxzZQogICAg IHsKQEAgLTIwNSw3ICsyMDUsNyBAQCBfZnJlb3Blbl9yIChzdHJ1Y3QgX3JlZW50ICpwdHIs CiAgICAgewkJCQkvKiBkaWQgbm90IGdldCBpdCBhZnRlciBhbGwgKi8KICAgICAgIF9fc2Zw X2xvY2tfYWNxdWlyZSAoKTsKICAgICAgIGZwLT5fZmxhZ3MgPSAwOwkJLyogc2V0IGl0IGZy ZWUgKi8KLSAgICAgIHB0ci0+X2Vycm5vID0gZTsJCS8qIHJlc3RvcmUgaW4gY2FzZSBfY2xv c2UgY2xvYmJlcmVkICovCisgICAgICBfUkVFTlRfRVJSTk8ocHRyKSA9IGU7CS8qIHJlc3Rv cmUgaW4gY2FzZSBfY2xvc2UgY2xvYmJlcmVkICovCiAgICAgICBpZiAoIShvZmxhZ3MyICYg X19TTkxLKSkKIAlfZnVubG9ja2ZpbGUgKGZwKTsKICNpZm5kZWYgX19TSU5HTEVfVEhSRUFE X18KZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGlvL2ZzZWVrby5jIGIvbmV3bGliL2xp YmMvc3RkaW8vZnNlZWtvLmMKaW5kZXggMTNkZjI4YmZjLi42ZmNjOGVmMDYgMTAwNjQ0Ci0t LSBhL25ld2xpYi9saWJjL3N0ZGlvL2ZzZWVrby5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGlv L2ZzZWVrby5jCkBAIC0xMjgsNyArMTI4LDcgQEAgX2ZzZWVrb19yIChzdHJ1Y3QgX3JlZW50 ICpwdHIsCiAKICAgaWYgKChzZWVrZm4gPSBmcC0+X3NlZWspID09IE5VTEwpCiAgICAgewot ICAgICAgcHRyLT5fZXJybm8gPSBFU1BJUEU7CS8qID8/PyAqLworICAgICAgX1JFRU5UX0VS Uk5PKHB0cikgPSBFU1BJUEU7CS8qID8/PyAqLwogICAgICAgX25ld2xpYl9mbG9ja2ZpbGVf ZXhpdCAoZnApOwogICAgICAgcmV0dXJuIEVPRjsKICAgICB9CkBAIC0xNzgsNyArMTc4LDcg QEAgX2ZzZWVrb19yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAgICAgICBicmVhazsKIAogICAg IGRlZmF1bHQ6Ci0gICAgICBwdHItPl9lcnJubyA9IEVJTlZBTDsKKyAgICAgIF9SRUVOVF9F UlJOTyhwdHIpID0gRUlOVkFMOwogICAgICAgX25ld2xpYl9mbG9ja2ZpbGVfZXhpdCAoZnAp OwogICAgICAgcmV0dXJuIChFT0YpOwogICAgIH0KZGlmZiAtLWdpdCBhL25ld2xpYi9saWJj L3N0ZGlvL2Z0ZWxsLmMgYi9uZXdsaWIvbGliYy9zdGRpby9mdGVsbC5jCmluZGV4IGM1NDBj NDMwZi4uZjY4YjNhZmNjIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRpby9mdGVsbC5j CisrKyBiL25ld2xpYi9saWJjL3N0ZGlvL2Z0ZWxsLmMKQEAgLTkyLDcgKzkyLDcgQEAgX2Z0 ZWxsX3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKICAgaWYgKChsb25nKXBvcyAhPSBwb3MpCiAg ICAgewogICAgICAgcG9zID0gLTE7Ci0gICAgICBwdHItPl9lcnJubyA9IEVPVkVSRkxPVzsK KyAgICAgIF9SRUVOVF9FUlJOTyhwdHIpID0gRU9WRVJGTE9XOwogICAgIH0KICAgcmV0dXJu IChsb25nKXBvczsKIH0KZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGlvL2Z0ZWxsby5j IGIvbmV3bGliL2xpYmMvc3RkaW8vZnRlbGxvLmMKaW5kZXggM2RmMjAwY2VhLi5kNjJkNDhh ODkgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGlvL2Z0ZWxsby5jCisrKyBiL25ld2xp Yi9saWJjL3N0ZGlvL2Z0ZWxsby5jCkBAIC05Niw3ICs5Niw3IEBAIF9mdGVsbG9fciAoc3Ry dWN0IF9yZWVudCAqIHB0ciwKIAogICBpZiAoZnAtPl9zZWVrID09IE5VTEwpCiAgICAgewot ICAgICAgcHRyLT5fZXJybm8gPSBFU1BJUEU7CisgICAgICBfUkVFTlRfRVJSTk8ocHRyKSA9 IEVTUElQRTsKICAgICAgIF9uZXdsaWJfZmxvY2tmaWxlX2V4aXQgKGZwKTsKICAgICAgIHJl dHVybiAoX29mZl90KSAtMTsKICAgICB9CmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRp by9mdW5vcGVuLmMgYi9uZXdsaWIvbGliYy9zdGRpby9mdW5vcGVuLmMKaW5kZXggYTFjMGQ3 NjdkLi40ZWQ1MDE5NmUgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGlvL2Z1bm9wZW4u YworKysgYi9uZXdsaWIvbGliYy9zdGRpby9mdW5vcGVuLmMKQEAgLTExMyw3ICsxMTMsNyBA QCBmdW5yZWFkZXIgKHN0cnVjdCBfcmVlbnQgKnB0ciwKICAgZnVuY29va2llICpjID0gKGZ1 bmNvb2tpZSAqKSBjb29raWU7CiAgIGVycm5vID0gMDsKICAgaWYgKChyZXN1bHQgPSBjLT5y ZWFkZm4gKGMtPmNvb2tpZSwgYnVmLCBuKSkgPCAwICYmIGVycm5vKQotICAgIHB0ci0+X2Vy cm5vID0gZXJybm87CisgICAgX1JFRU5UX0VSUk5PKHB0cikgPSBlcnJubzsKICAgcmV0dXJu IHJlc3VsdDsKIH0KIApAQCAtMTI3LDcgKzEyNyw3IEBAIGZ1bndyaXRlciAoc3RydWN0IF9y ZWVudCAqcHRyLAogICBmdW5jb29raWUgKmMgPSAoZnVuY29va2llICopIGNvb2tpZTsKICAg ZXJybm8gPSAwOwogICBpZiAoKHJlc3VsdCA9IGMtPndyaXRlZm4gKGMtPmNvb2tpZSwgYnVm LCBuKSkgPCAwICYmIGVycm5vKQotICAgIHB0ci0+X2Vycm5vID0gZXJybm87CisgICAgX1JF RU5UX0VSUk5PKHB0cikgPSBlcnJubzsKICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTQy LDE1ICsxNDIsMTUgQEAgZnVuc2Vla2VyIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAgIGZwb3Nf dCByZXN1bHQ7CiAgIGVycm5vID0gMDsKICAgaWYgKChyZXN1bHQgPSBjLT5zZWVrZm4gKGMt PmNvb2tpZSwgKGZwb3NfdCkgb2ZmLCB3aGVuY2UpKSA8IDAgJiYgZXJybm8pCi0gICAgcHRy LT5fZXJybm8gPSBlcnJubzsKKyAgICBfUkVFTlRfRVJSTk8ocHRyKSA9IGVycm5vOwogI2Vs c2UgLyogX19MQVJHRTY0X0ZJTEVTICovCiAgIF9mcG9zNjRfdCByZXN1bHQ7CiAgIGVycm5v ID0gMDsKICAgaWYgKChyZXN1bHQgPSBjLT5zZWVrZm4gKGMtPmNvb2tpZSwgKF9mcG9zNjRf dCkgb2ZmLCB3aGVuY2UpKSA8IDAgJiYgZXJybm8pCi0gICAgcHRyLT5fZXJybm8gPSBlcnJu bzsKKyAgICBfUkVFTlRfRVJSTk8ocHRyKSA9IGVycm5vOwogICBlbHNlIGlmICgoX2Zwb3Nf dClyZXN1bHQgIT0gcmVzdWx0KQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRU9WRVJG TE9XOworICAgICAgX1JFRU5UX0VSUk5PKHB0cikgPSBFT1ZFUkZMT1c7CiAgICAgICByZXN1 bHQgPSAtMTsKICAgICB9CiAjZW5kaWYgLyogX19MQVJHRTY0X0ZJTEVTICovCkBAIC0xNjgs NyArMTY4LDcgQEAgZnVuc2Vla2VyNjQgKHN0cnVjdCBfcmVlbnQgKnB0ciwKICAgZnVuY29v a2llICpjID0gKGZ1bmNvb2tpZSAqKSBjb29raWU7CiAgIGVycm5vID0gMDsKICAgaWYgKChy ZXN1bHQgPSBjLT5zZWVrZm4gKGMtPmNvb2tpZSwgb2ZmLCB3aGVuY2UpKSA8IDAgJiYgZXJy bm8pCi0gICAgcHRyLT5fZXJybm8gPSBlcnJubzsKKyAgICBfUkVFTlRfRVJSTk8ocHRyKSA9 IGVycm5vOwogICByZXR1cm4gcmVzdWx0OwogfQogI2VuZGlmIC8qIF9fTEFSR0U2NF9GSUxF UyAqLwpAQCAtMTgzLDcgKzE4Myw3IEBAIGZ1bmNsb3NlciAoc3RydWN0IF9yZWVudCAqcHRy LAogICAgIHsKICAgICAgIGVycm5vID0gMDsKICAgICAgIGlmICgocmVzdWx0ID0gYy0+Y2xv c2VmbiAoYy0+Y29va2llKSkgPCAwICYmIGVycm5vKQotCXB0ci0+X2Vycm5vID0gZXJybm87 CisJX1JFRU5UX0VSUk5PKHB0cikgPSBlcnJubzsKICAgICB9CiAgIF9mcmVlX3IgKHB0ciwg Yyk7CiAgIHJldHVybiByZXN1bHQ7CkBAIC0yMDIsNyArMjAyLDcgQEAgX2Z1bm9wZW5fciAo c3RydWN0IF9yZWVudCAqcHRyLAogCiAgIGlmICghcmVhZGZuICYmICF3cml0ZWZuKQogICAg IHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRUlOVkFMOworICAgICAgX1JFRU5UX0VSUk5PKHB0 cikgPSBFSU5WQUw7CiAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgIGlmICgoZnAgPSBf X3NmcCAocHRyKSkgPT0gTlVMTCkKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGlvL2Z2 d3JpdGUuYyBiL25ld2xpYi9saWJjL3N0ZGlvL2Z2d3JpdGUuYwppbmRleCA1ODdmZmFjZDcu LjM0MzYxY2I4ZCAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvc3RkaW8vZnZ3cml0ZS5jCisr KyBiL25ld2xpYi9saWJjL3N0ZGlvL2Z2d3JpdGUuYwpAQCAtMTQ1LDcgKzE0NSw3IEBAIF9f c2Z2d3JpdGVfciAoc3RydWN0IF9yZWVudCAqcHRyLAogCQkgICAgICBzdHIgPSAodW5zaWdu ZWQgY2hhciAqKV9tYWxsb2NfciAocHRyLCBuZXdzaXplKTsKIAkJICAgICAgaWYgKCFzdHIp CiAJCQl7Ci0JCQkgIHB0ci0+X2Vycm5vID0gRU5PTUVNOworCQkJICBfUkVFTlRfRVJSTk8o cHRyKSA9IEVOT01FTTsKIAkJCSAgZ290byBlcnI7CiAJCQl9CiAJCSAgICAgIG1lbWNweSAo c3RyLCBmcC0+X2JmLl9iYXNlLCBjdXJwb3MpOwpAQCAtMTYyLDcgKzE2Miw3IEBAIF9fc2Z2 d3JpdGVfciAoc3RydWN0IF9yZWVudCAqcHRyLAogCQkJICBfZnJlZV9yIChwdHIsIGZwLT5f YmYuX2Jhc2UpOwogCQkJICBmcC0+X2ZsYWdzICY9ICB+X19TTUJGOwogCQkJICAvKiBFbnN1 cmUgY29ycmVjdCBlcnJubywgZXZlbiBpZiBmcmVlIGNoYW5nZWQgaXQuICAqLwotCQkJICBw dHItPl9lcnJubyA9IEVOT01FTTsKKwkJCSAgX1JFRU5UX0VSUk5PKHB0cikgPSBFTk9NRU07 CiAJCQkgIGdvdG8gZXJyOwogCQkJfQogCQkgICAgfQpkaWZmIC0tZ2l0IGEvbmV3bGliL2xp YmMvc3RkaW8vbWt0ZW1wLmMgYi9uZXdsaWIvbGliYy9zdGRpby9ta3RlbXAuYwppbmRleCAz NTE0ODE4YTYuLjI2NTk2ODE5OCAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvc3RkaW8vbWt0 ZW1wLmMKKysrIGIvbmV3bGliL2xpYmMvc3RkaW8vbWt0ZW1wLmMKQEAgLTE1OSw3ICsxNTks NyBAQCBfZ2V0dGVtcCAoc3RydWN0IF9yZWVudCAqcHRyLAogICAgIGNvbnRpbnVlOwogICBp ZiAodHJ2IC0gcGF0aCA8IHN1ZmZpeGxlbikKICAgICB7Ci0gICAgICBwdHItPl9lcnJubyA9 IEVJTlZBTDsKKyAgICAgIF9SRUVOVF9FUlJOTyhwdHIpID0gRUlOVkFMOwogICAgICAgcmV0 dXJuIDA7CiAgICAgfQogICB0cnYgLT0gc3VmZml4bGVuOwpAQCAtMTcxLDcgKzE3MSw3IEBA IF9nZXR0ZW1wIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAgICAgfQogICBpZiAoZW5kIC0gdHJ2 IDwgNikKICAgICB7Ci0gICAgICBwdHItPl9lcnJubyA9IEVJTlZBTDsKKyAgICAgIF9SRUVO VF9FUlJOTyhwdHIpID0gRUlOVkFMOwogICAgICAgcmV0dXJuIDA7CiAgICAgfQogCkBAIC0x OTUsNyArMTk1LDcgQEAgX2dldHRlbXAgKHN0cnVjdCBfcmVlbnQgKnB0ciwKIAkgICAgcmV0 dXJuICgwKTsKIAkgIGlmICghKHNidWYuc3RfbW9kZSAmIFNfSUZESVIpKQogCSAgICB7Ci0J ICAgICAgcHRyLT5fZXJybm8gPSBFTk9URElSOworCSAgICAgIF9SRUVOVF9FUlJOTyhwdHIp ID0gRU5PVERJUjsKIAkgICAgICByZXR1cm4gKDApOwogCSAgICB9CiAJICAqdHJ2ID0gJy8n OwpAQCAtMjExLDEwICsyMTEsMTAgQEAgX2dldHRlbXAgKHN0cnVjdCBfcmVlbnQgKnB0ciwK ICNpZmRlZiBIQVZFX01LRElSCiAJICBpZiAoX21rZGlyX3IgKHB0ciwgcGF0aCwgMDcwMCkg PT0gMCkKIAkgICAgcmV0dXJuIDE7Ci0JICBpZiAocHRyLT5fZXJybm8gIT0gRUVYSVNUKQor CSAgaWYgKF9SRUVOVF9FUlJOTyhwdHIpICE9IEVFWElTVCkKIAkgICAgcmV0dXJuIDA7CiAj ZWxzZSAvKiAhSEFWRV9NS0RJUiAqLwotCSAgcHRyLT5fZXJybm8gPSBFTk9TWVM7CisJICBf UkVFTlRfRVJSTk8ocHRyKSA9IEVOT1NZUzsKIAkgIHJldHVybiAwOwogI2VuZGlmIC8qICFI QVZFX01LRElSICovCiAJfQpAQCAtMjI1LDcgKzIyNSw3IEBAIF9nZXR0ZW1wIChzdHJ1Y3Qg X3JlZW50ICpwdHIsCiAJICBpZiAoKCpkb29wZW4gPSBfb3Blbl9yIChwdHIsIHBhdGgsIE9f Q1JFQVQgfCBPX0VYQ0wgfCBPX1JEV1IgfCBmbGFncywKIAkJCQkgIDA2MDApKSA+PSAwKQog CSAgICByZXR1cm4gMTsKLQkgIGlmIChwdHItPl9lcnJubyAhPSBFRVhJU1QpCisJICBpZiAo X1JFRU5UX0VSUk5PKHB0cikgIT0gRUVYSVNUKQogCSAgICByZXR1cm4gMDsKIAl9CiAjaWZk ZWYgX19VU0VfSU5URVJOQUxfU1RBVDY0CkBAIC0yMzMsNyArMjMzLDcgQEAgX2dldHRlbXAg KHN0cnVjdCBfcmVlbnQgKnB0ciwKICNlbHNlCiAgICAgICBlbHNlIGlmIChfc3RhdF9yIChw dHIsIHBhdGgsICZzYnVmKSkKICNlbmRpZgotCXJldHVybiAocHRyLT5fZXJybm8gPT0gRU5P RU5UID8gMSA6IDApOworCXJldHVybiAoX1JFRU5UX0VSUk5PKHB0cikgPT0gRU5PRU5UID8g MSA6IDApOwogCiAgICAgICAvKiB0cmlja3kgbGl0dGxlIGFsZ29yaXRobSBmb3IgYmFja3dh cmQgY29tcGF0aWJpbGl0eSAqLwogICAgICAgZm9yICh0cnYgPSBzdGFydDs7KQpkaWZmIC0t Z2l0IGEvbmV3bGliL2xpYmMvc3RkaW8vbmFuby12ZnByaW50Zi5jIGIvbmV3bGliL2xpYmMv c3RkaW8vbmFuby12ZnByaW50Zi5jCmluZGV4IDgzODgwNGViOS4uMGQ0MmE5NDBmIDEwMDY0 NAotLS0gYS9uZXdsaWIvbGliYy9zdGRpby9uYW5vLXZmcHJpbnRmLmMKKysrIGIvbmV3bGli L2xpYmMvc3RkaW8vbmFuby12ZnByaW50Zi5jCkBAIC0yMDEsNyArMjAxLDcgQEAgX19zc3B1 dHNfciAoc3RydWN0IF9yZWVudCAqcHRyLAogCSAgc3RyID0gKHVuc2lnbmVkIGNoYXIgKilf bWFsbG9jX3IgKHB0ciwgbmV3c2l6ZSk7CiAJICBpZiAoIXN0cikKIAkgICAgewotCSAgICAg IHB0ci0+X2Vycm5vID0gRU5PTUVNOworCSAgICAgIF9SRUVOVF9FUlJOTyhwdHIpID0gRU5P TUVNOwogCSAgICAgIGdvdG8gZXJyOwogCSAgICB9CiAJICBtZW1jcHkgKHN0ciwgZnAtPl9i Zi5fYmFzZSwgY3VycG9zKTsKQEAgLTIxNSw3ICsyMTUsNyBAQCBfX3NzcHV0c19yIChzdHJ1 Y3QgX3JlZW50ICpwdHIsCiAJICAgICAgLyogRnJlZSB1bm5lZWRlZCBidWZmZXIuICAqLwog CSAgICAgIF9mcmVlX3IgKHB0ciwgZnAtPl9iZi5fYmFzZSk7CiAJICAgICAgLyogRW5zdXJl IGNvcnJlY3QgZXJybm8sIGV2ZW4gaWYgZnJlZSBjaGFuZ2VkIGl0LiAgKi8KLQkgICAgICBw dHItPl9lcnJubyA9IEVOT01FTTsKKwkgICAgICBfUkVFTlRfRVJSTk8ocHRyKSA9IEVOT01F TTsKIAkgICAgICBnb3RvIGVycjsKIAkgICAgfQogCX0KQEAgLTI5MSw3ICsyOTEsNyBAQCBf X3NzcHJpbnRfciAoc3RydWN0IF9yZWVudCAqcHRyLAogCSAgICAgIHN0ciA9ICh1bnNpZ25l ZCBjaGFyICopX21hbGxvY19yIChwdHIsIG5ld3NpemUpOwogCSAgICAgIGlmICghc3RyKQog CQl7Ci0JCSAgcHRyLT5fZXJybm8gPSBFTk9NRU07CisJCSAgX1JFRU5UX0VSUk5PKHB0cikg PSBFTk9NRU07CiAJCSAgZ290byBlcnI7CiAJCX0KIAkgICAgICBtZW1jcHkgKHN0ciwgZnAt Pl9iZi5fYmFzZSwgY3VycG9zKTsKQEAgLTMwNiw3ICszMDYsNyBAQCBfX3NzcHJpbnRfciAo c3RydWN0IF9yZWVudCAqcHRyLAogCQkgIC8qIEZyZWUgdW5uZWVkZWQgYnVmZmVyLiAgKi8K IAkJICBfZnJlZV9yIChwdHIsIGZwLT5fYmYuX2Jhc2UpOwogCQkgIC8qIEVuc3VyZSBjb3Jy ZWN0IGVycm5vLCBldmVuIGlmIGZyZWUgY2hhbmdlZCBpdC4gICovCi0JCSAgcHRyLT5fZXJy bm8gPSBFTk9NRU07CisJCSAgX1JFRU5UX0VSUk5PKHB0cikgPSBFTk9NRU07CiAJCSAgZ290 byBlcnI7CiAJCX0KIAkgICAgfQpAQCAtNTAxLDcgKzUwMSw3IEBAIF9WRlBSSU5URl9SIChz dHJ1Y3QgX3JlZW50ICpkYXRhLAogICAgICAgZnAtPl9iZi5fYmFzZSA9IGZwLT5fcCA9IF9t YWxsb2NfciAoZGF0YSwgNjQpOwogICAgICAgaWYgKCFmcC0+X3ApCiAJewotCSAgZGF0YS0+ X2Vycm5vID0gRU5PTUVNOworCSAgX1JFRU5UX0VSUk5PKGRhdGEpID0gRU5PTUVNOwogCSAg cmV0dXJuIEVPRjsKIAl9CiAgICAgICBmcC0+X2JmLl9zaXplID0gNjQ7CmRpZmYgLS1naXQg YS9uZXdsaWIvbGliYy9zdGRpby9vcGVuX21lbXN0cmVhbS5jIGIvbmV3bGliL2xpYmMvc3Rk aW8vb3Blbl9tZW1zdHJlYW0uYwppbmRleCBlZDcxYjFjZGMuLmUzYTUyZWQzMyAxMDA2NDQK LS0tIGEvbmV3bGliL2xpYmMvc3RkaW8vb3Blbl9tZW1zdHJlYW0uYworKysgYi9uZXdsaWIv bGliYy9zdGRpby9vcGVuX21lbXN0cmVhbS5jCkBAIC0xMDUsNyArMTA1LDcgQEAgbWVtd3Jp dGVyIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAgICAgIGJpZyB0aGF0IHVzZXIgY2Fubm90IGRv IGZ0ZWxsby4gICovCiAgIGlmIChzaXplb2YgKE9GRl9UKSA9PSBzaXplb2YgKHNpemVfdCkg JiYgKHNzaXplX3QpIChjLT5wb3MgKyBuKSA8IDApCiAgICAgewotICAgICAgcHRyLT5fZXJy bm8gPSBFRkJJRzsKKyAgICAgIF9SRUVOVF9FUlJOTyhwdHIpID0gRUZCSUc7CiAgICAgICBy ZXR1cm4gRU9GOwogICAgIH0KICAgLyogR3JvdyB0aGUgYnVmZmVyLCBpZiBuZWNlc3Nhcnku ICBDaG9vc2UgYSBnZW9tZXRyaWMgZ3Jvd3RoIGZhY3RvcgpAQCAtMTYwLDE4ICsxNjAsMTgg QEAgbWVtc2Vla2VyIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAgICAgb2Zmc2V0ICs9IGMtPmVv ZjsKICAgaWYgKG9mZnNldCA8IDApCiAgICAgewotICAgICAgcHRyLT5fZXJybm8gPSBFSU5W QUw7CisgICAgICBfUkVFTlRfRVJSTk8ocHRyKSA9IEVJTlZBTDsKICAgICAgIG9mZnNldCA9 IC0xOwogICAgIH0KICAgZWxzZSBpZiAoKHNpemVfdCkgb2Zmc2V0ICE9IG9mZnNldCkKICAg ICB7Ci0gICAgICBwdHItPl9lcnJubyA9IEVOT1NQQzsKKyAgICAgIF9SRUVOVF9FUlJOTyhw dHIpID0gRU5PU1BDOwogICAgICAgb2Zmc2V0ID0gLTE7CiAgICAgfQogI2lmZGVmIF9fTEFS R0U2NF9GSUxFUwogICBlbHNlIGlmICgoX2Zwb3NfdCkgb2Zmc2V0ICE9IG9mZnNldCkKICAg ICB7Ci0gICAgICBwdHItPl9lcnJubyA9IEVPVkVSRkxPVzsKKyAgICAgIF9SRUVOVF9FUlJO TyhwdHIpID0gRU9WRVJGTE9XOwogICAgICAgb2Zmc2V0ID0gLTE7CiAgICAgfQogI2VuZGlm IC8qIF9fTEFSR0U2NF9GSUxFUyAqLwpAQCAtMjI3LDEyICsyMjcsMTIgQEAgbWVtc2Vla2Vy NjQgKHN0cnVjdCBfcmVlbnQgKnB0ciwKICAgICBvZmZzZXQgKz0gYy0+ZW9mOwogICBpZiAo b2Zmc2V0IDwgMCkKICAgICB7Ci0gICAgICBwdHItPl9lcnJubyA9IEVJTlZBTDsKKyAgICAg IF9SRUVOVF9FUlJOTyhwdHIpID0gRUlOVkFMOwogICAgICAgb2Zmc2V0ID0gLTE7CiAgICAg fQogICBlbHNlIGlmICgoc2l6ZV90KSBvZmZzZXQgIT0gb2Zmc2V0KQogICAgIHsKLSAgICAg IHB0ci0+X2Vycm5vID0gRU5PU1BDOworICAgICAgX1JFRU5UX0VSUk5PKHB0cikgPSBFTk9T UEM7CiAgICAgICBvZmZzZXQgPSAtMTsKICAgICB9CiAgIGVsc2UKQEAgLTMwMSw3ICszMDEs NyBAQCBpbnRlcm5hbF9vcGVuX21lbXN0cmVhbV9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAK ICAgaWYgKCFidWYgfHwgIXNpemUpCiAgICAgewotICAgICAgcHRyLT5fZXJybm8gPSBFSU5W QUw7CisgICAgICBfUkVFTlRfRVJSTk8ocHRyKSA9IEVJTlZBTDsKICAgICAgIHJldHVybiBO VUxMOwogICAgIH0KICAgaWYgKChmcCA9IF9fc2ZwIChwdHIpKSA9PSBOVUxMKQpkaWZmIC0t Z2l0IGEvbmV3bGliL2xpYmMvc3RkaW8vcGVycm9yLmMgYi9uZXdsaWIvbGliYy9zdGRpby9w ZXJyb3IuYwppbmRleCBlZGE3ZTk5M2IuLjIwMzNhNmYyZiAxMDA2NDQKLS0tIGEvbmV3bGli L2xpYmMvc3RkaW8vcGVycm9yLmMKKysrIGIvbmV3bGliL2xpYmMvc3RkaW8vcGVycm9yLmMK QEAgLTkwLDcgKzkwLDcgQEAgX3BlcnJvcl9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAgICAg ICBXUklURV9TVFIgKCI6ICIpOwogICAgIH0KIAotICBpZiAoKGVycm9yID0gX3N0cmVycm9y X3IgKHB0ciwgcHRyLT5fZXJybm8sIDEsICZkdW1teSkpICE9IE5VTEwpCisgIGlmICgoZXJy b3IgPSBfc3RyZXJyb3JfciAocHRyLCBfUkVFTlRfRVJSTk8ocHRyKSwgMSwgJmR1bW15KSkg IT0gTlVMTCkKICAgICBXUklURV9TVFIgKGVycm9yKTsKIAogI2lmZGVmIF9fU0NMRQpkaWZm IC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkaW8vcmVmaWxsLmMgYi9uZXdsaWIvbGliYy9zdGRp by9yZWZpbGwuYwppbmRleCA5MWU3OWU4MzIuLjdiZDM4ODA2YyAxMDA2NDQKLS0tIGEvbmV3 bGliL2xpYmMvc3RkaW8vcmVmaWxsLmMKKysrIGIvbmV3bGliL2xpYmMvc3RkaW8vcmVmaWxs LmMKQEAgLTU2LDcgKzU2LDcgQEAgX19zcmVmaWxsX3IgKHN0cnVjdCBfcmVlbnQgKiBwdHIs CiAgICAgewogICAgICAgaWYgKChmcC0+X2ZsYWdzICYgX19TUlcpID09IDApCiAJewotCSAg cHRyLT5fZXJybm8gPSBFQkFERjsKKwkgIF9SRUVOVF9FUlJOTyhwdHIpID0gRUJBREY7CiAJ ICBmcC0+X2ZsYWdzIHw9IF9fU0VSUjsKIAkgIHJldHVybiBFT0Y7CiAJfQpkaWZmIC0tZ2l0 IGEvbmV3bGliL2xpYmMvc3RkaW8vc25pcHJpbnRmLmMgYi9uZXdsaWIvbGliYy9zdGRpby9z bmlwcmludGYuYwppbmRleCAzNzVhMzk3MWYuLmIwNWZmY2IxMiAxMDA2NDQKLS0tIGEvbmV3 bGliL2xpYmMvc3RkaW8vc25pcHJpbnRmLmMKKysrIGIvbmV3bGliL2xpYmMvc3RkaW8vc25p cHJpbnRmLmMKQEAgLTM4LDcgKzM4LDcgQEAgX3NuaXByaW50Zl9yIChzdHJ1Y3QgX3JlZW50 ICpwdHIsCiAKICAgaWYgKHNpemUgPiBJTlRfTUFYKQogICAgIHsKLSAgICAgIHB0ci0+X2Vy cm5vID0gRU9WRVJGTE9XOworICAgICAgX1JFRU5UX0VSUk5PKHB0cikgPSBFT1ZFUkZMT1c7 CiAgICAgICByZXR1cm4gRU9GOwogICAgIH0KICAgZi5fZmxhZ3MgPSBfX1NXUiB8IF9fU1NU UjsKQEAgLTQ5LDcgKzQ5LDcgQEAgX3NuaXByaW50Zl9yIChzdHJ1Y3QgX3JlZW50ICpwdHIs CiAgIHJldCA9IF9zdmZpcHJpbnRmX3IgKHB0ciwgJmYsIGZtdCwgYXApOwogICB2YV9lbmQg KGFwKTsKICAgaWYgKHJldCA8IEVPRikKLSAgICBwdHItPl9lcnJubyA9IEVPVkVSRkxPVzsK KyAgICBfUkVFTlRfRVJSTk8ocHRyKSA9IEVPVkVSRkxPVzsKICAgaWYgKHNpemUgPiAwKQog ICAgICpmLl9wID0gMDsKICAgcmV0dXJuIChyZXQpOwpAQCAtNjksNyArNjksNyBAQCBzbmlw cmludGYgKGNoYXIgKnN0ciwKIAogICBpZiAoc2l6ZSA+IElOVF9NQVgpCiAgICAgewotICAg ICAgcHRyLT5fZXJybm8gPSBFT1ZFUkZMT1c7CisgICAgICBfUkVFTlRfRVJSTk8ocHRyKSA9 IEVPVkVSRkxPVzsKICAgICAgIHJldHVybiBFT0Y7CiAgICAgfQogICBmLl9mbGFncyA9IF9f U1dSIHwgX19TU1RSOwpAQCAtODAsNyArODAsNyBAQCBzbmlwcmludGYgKGNoYXIgKnN0ciwK ICAgcmV0ID0gX3N2ZmlwcmludGZfciAocHRyLCAmZiwgZm10LCBhcCk7CiAgIHZhX2VuZCAo YXApOwogICBpZiAocmV0IDwgRU9GKQotICAgIHB0ci0+X2Vycm5vID0gRU9WRVJGTE9XOwor ICAgIF9SRUVOVF9FUlJOTyhwdHIpID0gRU9WRVJGTE9XOwogICBpZiAoc2l6ZSA+IDApCiAg ICAgKmYuX3AgPSAwOwogICByZXR1cm4gKHJldCk7CmRpZmYgLS1naXQgYS9uZXdsaWIvbGli Yy9zdGRpby9zbnByaW50Zi5jIGIvbmV3bGliL2xpYmMvc3RkaW8vc25wcmludGYuYwppbmRl eCA1MGQ3ZGRkMTEuLjRhMzA4NGJlYSAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvc3RkaW8v c25wcmludGYuYworKysgYi9uZXdsaWIvbGliYy9zdGRpby9zbnByaW50Zi5jCkBAIC0zNyw3 ICszNyw3IEBAIF9zbnByaW50Zl9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAKICAgaWYgKHNp emUgPiBJTlRfTUFYKQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRU9WRVJGTE9XOwor ICAgICAgX1JFRU5UX0VSUk5PKHB0cikgPSBFT1ZFUkZMT1c7CiAgICAgICByZXR1cm4gRU9G OwogICAgIH0KICAgZi5fZmxhZ3MgPSBfX1NXUiB8IF9fU1NUUjsKQEAgLTQ4LDcgKzQ4LDcg QEAgX3NucHJpbnRmX3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKICAgcmV0ID0gX3N2ZnByaW50 Zl9yIChwdHIsICZmLCBmbXQsIGFwKTsKICAgdmFfZW5kIChhcCk7CiAgIGlmIChyZXQgPCBF T0YpCi0gICAgcHRyLT5fZXJybm8gPSBFT1ZFUkZMT1c7CisgICAgX1JFRU5UX0VSUk5PKHB0 cikgPSBFT1ZFUkZMT1c7CiAgIGlmIChzaXplID4gMCkKICAgICAqZi5fcCA9IDA7CiAgIHJl dHVybiAocmV0KTsKQEAgLTc0LDcgKzc0LDcgQEAgc25wcmludGYgKGNoYXIgKl9fcmVzdHJp Y3Qgc3RyLAogCiAgIGlmIChzaXplID4gSU5UX01BWCkKICAgICB7Ci0gICAgICBwdHItPl9l cnJubyA9IEVPVkVSRkxPVzsKKyAgICAgIF9SRUVOVF9FUlJOTyhwdHIpID0gRU9WRVJGTE9X OwogICAgICAgcmV0dXJuIEVPRjsKICAgICB9CiAgIGYuX2ZsYWdzID0gX19TV1IgfCBfX1NT VFI7CkBAIC04NSw3ICs4NSw3IEBAIHNucHJpbnRmIChjaGFyICpfX3Jlc3RyaWN0IHN0ciwK ICAgcmV0ID0gX3N2ZnByaW50Zl9yIChwdHIsICZmLCBmbXQsIGFwKTsKICAgdmFfZW5kIChh cCk7CiAgIGlmIChyZXQgPCBFT0YpCi0gICAgcHRyLT5fZXJybm8gPSBFT1ZFUkZMT1c7Cisg ICAgX1JFRU5UX0VSUk5PKHB0cikgPSBFT1ZFUkZMT1c7CiAgIGlmIChzaXplID4gMCkKICAg ICAqZi5fcCA9IDA7CiAgIHJldHVybiAocmV0KTsKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJj L3N0ZGlvL3N3cHJpbnRmLmMgYi9uZXdsaWIvbGliYy9zdGRpby9zd3ByaW50Zi5jCmluZGV4 IGVjN2UwODljYS4uNjM0YjIyYmViIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRpby9z d3ByaW50Zi5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGlvL3N3cHJpbnRmLmMKQEAgLTU2NCw3 ICs1NjQsNyBAQCBfc3dwcmludGZfciAoc3RydWN0IF9yZWVudCAqcHRyLAogCiAgIGlmIChz aXplID4gSU5UX01BWCAvIHNpemVvZiAod2NoYXJfdCkpCiAgICAgewotICAgICAgcHRyLT5f ZXJybm8gPSBFT1ZFUkZMT1c7CS8qIFBPU0lYIGV4dGVuc2lvbiAqLworICAgICAgX1JFRU5U X0VSUk5PKHB0cikgPSBFT1ZFUkZMT1c7CS8qIFBPU0lYIGV4dGVuc2lvbiAqLwogICAgICAg cmV0dXJuIEVPRjsKICAgICB9CiAgIGYuX2ZsYWdzID0gX19TV1IgfCBfX1NTVFI7CkBAIC01 ODQsNyArNTg0LDcgQEAgX3N3cHJpbnRmX3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKICAgICAv KiBfc3Zmd3ByaW50Zl9yKCkgcmV0dXJucyBob3cgbWFueSB3aWRlIGNoYXJhY3RlcnMgaXQg d291bGQgaGF2ZSBwcmludGVkCiAgICAgICogaWYgdGhlcmUgd2VyZSBlbm91Z2ggc3BhY2Uu ICBSZXR1cm4gYW4gZXJyb3IgaWYgdG9vIGJpZyB0byBmaXQgaW4gc3RyLAogICAgICAqIHVu bGlrZSBzbnByaW50Ziwgd2hpY2ggcmV0dXJucyB0aGUgc2l6ZSBuZWVkZWQuICAqLwotICAg IHB0ci0+X2Vycm5vID0gRU9WRVJGTE9XOwkvKiBQT1NJWCBleHRlbnNpb24gKi8KKyAgICBf UkVFTlRfRVJSTk8ocHRyKSA9IEVPVkVSRkxPVzsJLyogUE9TSVggZXh0ZW5zaW9uICovCiAg ICAgcmV0ID0gLTE7CiAgIH0KICAgcmV0dXJuIChyZXQpOwpAQCAtNjA0LDcgKzYwNCw3IEBA IHN3cHJpbnRmICh3Y2hhcl90ICpfX3Jlc3RyaWN0IHN0ciwKIAogICBpZiAoc2l6ZSA+IElO VF9NQVggLyBzaXplb2YgKHdjaGFyX3QpKQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0g RU9WRVJGTE9XOwkvKiBQT1NJWCBleHRlbnNpb24gKi8KKyAgICAgIF9SRUVOVF9FUlJOTyhw dHIpID0gRU9WRVJGTE9XOwkvKiBQT1NJWCBleHRlbnNpb24gKi8KICAgICAgIHJldHVybiBF T0Y7CiAgICAgfQogICBmLl9mbGFncyA9IF9fU1dSIHwgX19TU1RSOwpAQCAtNjI0LDcgKzYy NCw3IEBAIHN3cHJpbnRmICh3Y2hhcl90ICpfX3Jlc3RyaWN0IHN0ciwKICAgICAvKiBfc3Zm d3ByaW50Zl9yKCkgcmV0dXJucyBob3cgbWFueSB3aWRlIGNoYXJhY3RlcnMgaXQgd291bGQg aGF2ZSBwcmludGVkCiAgICAgICogaWYgdGhlcmUgd2VyZSBlbm91Z2ggc3BhY2UuICBSZXR1 cm4gYW4gZXJyb3IgaWYgdG9vIGJpZyB0byBmaXQgaW4gc3RyLAogICAgICAqIHVubGlrZSBz bnByaW50Ziwgd2hpY2ggcmV0dXJucyB0aGUgc2l6ZSBuZWVkZWQuICAqLwotICAgIHB0ci0+ X2Vycm5vID0gRU9WRVJGTE9XOwkvKiBQT1NJWCBleHRlbnNpb24gKi8KKyAgICBfUkVFTlRf RVJSTk8ocHRyKSA9IEVPVkVSRkxPVzsJLyogUE9TSVggZXh0ZW5zaW9uICovCiAgICAgcmV0 ID0gLTE7CiAgIH0KICAgcmV0dXJuIChyZXQpOwpkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMv c3RkaW8vdG1wZmlsZS5jIGIvbmV3bGliL2xpYmMvc3RkaW8vdG1wZmlsZS5jCmluZGV4IGYy MDlhM2VkZi4uNWZlNmUzYmYxIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRpby90bXBm aWxlLmMKKysrIGIvbmV3bGliL2xpYmMvc3RkaW8vdG1wZmlsZS5jCkBAIC02NSwxNSArNjUs MTUgQEAgX3RtcGZpbGVfciAoc3RydWN0IF9yZWVudCAqcHRyKQogICAgICAgZmQgPSBfb3Bl bl9yIChwdHIsIGYsIE9fUkRXUiB8IE9fQ1JFQVQgfCBPX0VYQ0wgfCBPX0JJTkFSWSwKIAkJ ICAgIFNfSVJVU1IgfCBTX0lXVVNSKTsKICAgICB9Ci0gIHdoaWxlIChmZCA8IDAgJiYgcHRy LT5fZXJybm8gPT0gRUVYSVNUKTsKKyAgd2hpbGUgKGZkIDwgMCAmJiBfUkVFTlRfRVJSTk8o cHRyKSA9PSBFRVhJU1QpOwogICBpZiAoZmQgPCAwKQogICAgIHJldHVybiBOVUxMOwogICBm cCA9IF9mZG9wZW5fciAocHRyLCBmZCwgIndiKyIpOwotICBlID0gcHRyLT5fZXJybm87Cisg IGUgPSBfUkVFTlRfRVJSTk8ocHRyKTsKICAgaWYgKCFmcCkKICAgICBfY2xvc2VfciAocHRy LCBmZCk7CiAgICh2b2lkKSBfcmVtb3ZlX3IgKHB0ciwgZik7Ci0gIHB0ci0+X2Vycm5vID0g ZTsKKyAgX1JFRU5UX0VSUk5PKHB0cikgPSBlOwogICByZXR1cm4gZnA7CiB9CiAKZGlmZiAt LWdpdCBhL25ld2xpYi9saWJjL3N0ZGlvL3RtcG5hbS5jIGIvbmV3bGliL2xpYmMvc3RkaW8v dG1wbmFtLmMKaW5kZXggM2JkNWI2YTU4Li43Mzc5YTc2NDAgMTAwNjQ0Ci0tLSBhL25ld2xp Yi9saWJjL3N0ZGlvL3RtcG5hbS5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGlvL3RtcG5hbS5j CkBAIC0xMDQsNyArMTA0LDcgQEAgd29ya2VyIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAgICAg ICB0ID0gX29wZW5fciAocHRyLCByZXN1bHQsIE9fUkRPTkxZLCAwKTsKICAgICAgIGlmICh0 ID09IC0xKQogCXsKLQkgIGlmIChwdHItPl9lcnJubyA9PSBFTk9TWVMpCisJICBpZiAoX1JF RU5UX0VSUk5PKHB0cikgPT0gRU5PU1lTKQogCSAgICB7CiAJICAgICAgcmVzdWx0WzBdID0g J1wwJzsKIAkgICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGlv L3Zhc25pcHJpbnRmLmMgYi9uZXdsaWIvbGliYy9zdGRpby92YXNuaXByaW50Zi5jCmluZGV4 IGVkZmJkMjI0Mi4uYjI0Y2Q5NmZiIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRpby92 YXNuaXByaW50Zi5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGlvL3Zhc25pcHJpbnRmLmMKQEAg LTQyLDcgKzQyLDcgQEAgX3Zhc25pcHJpbnRmX3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKICAg ICAgZm9yIF9zaXplLiAgKi8KICAgaWYgKGxlbiA+IElOVF9NQVgpCiAgICAgewotICAgICAg cHRyLT5fZXJybm8gPSBFT1ZFUkZMT1c7CisgICAgICBfUkVFTlRfRVJSTk8ocHRyKSA9IEVP VkVSRkxPVzsKICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgZi5fYmYuX3NpemUgPSBm Ll93ID0gbGVuOwpkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkaW8vdmFzbnByaW50Zi5j IGIvbmV3bGliL2xpYmMvc3RkaW8vdmFzbnByaW50Zi5jCmluZGV4IDFmYmY1YTE3MS4uYjM3 ODdlYzdhIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRpby92YXNucHJpbnRmLmMKKysr IGIvbmV3bGliL2xpYmMvc3RkaW8vdmFzbnByaW50Zi5jCkBAIC00Miw3ICs0Miw3IEBAIF92 YXNucHJpbnRmX3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKICAgICAgZm9yIF9zaXplLiAgKi8K ICAgaWYgKGxlbiA+IElOVF9NQVgpCiAgICAgewotICAgICAgcHRyLT5fZXJybm8gPSBFT1ZF UkZMT1c7CisgICAgICBfUkVFTlRfRVJSTk8ocHRyKSA9IEVPVkVSRkxPVzsKICAgICAgIHJl dHVybiBOVUxMOwogICAgIH0KICAgZi5fYmYuX3NpemUgPSBmLl93ID0gbGVuOwpkaWZmIC0t Z2l0IGEvbmV3bGliL2xpYmMvc3RkaW8vdmZwcmludGYuYyBiL25ld2xpYi9saWJjL3N0ZGlv L3ZmcHJpbnRmLmMKaW5kZXggMzJlYmIxNDY4Li42YTE5OGUyYzYgMTAwNjQ0Ci0tLSBhL25l d2xpYi9saWJjL3N0ZGlvL3ZmcHJpbnRmLmMKKysrIGIvbmV3bGliL2xpYmMvc3RkaW8vdmZw cmludGYuYwpAQCAtMjIyLDcgKzIyMiw3IEBAIF9fc3NwdXRzX3IgKHN0cnVjdCBfcmVlbnQg KnB0ciwKIAkJCXN0ciA9ICh1bnNpZ25lZCBjaGFyICopX21hbGxvY19yIChwdHIsIG5ld3Np emUpOwogCQkJaWYgKCFzdHIpCiAJCQl7Ci0JCQkJcHRyLT5fZXJybm8gPSBFTk9NRU07CisJ CQkJX1JFRU5UX0VSUk5PKHB0cikgPSBFTk9NRU07CiAJCQkJZ290byBlcnI7CiAJCQl9CiAJ CQltZW1jcHkgKHN0ciwgZnAtPl9iZi5fYmFzZSwgY3VycG9zKTsKQEAgLTIzNyw3ICsyMzcs NyBAQCBfX3NzcHV0c19yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAJCQkJX2ZyZWVfciAocHRy LCBmcC0+X2JmLl9iYXNlKTsKIAkJCQkvKiBFbnN1cmUgY29ycmVjdCBlcnJubywgZXZlbiBp ZiBmcmVlCiAJCQkJICogY2hhbmdlZCBpdC4gICovCi0JCQkJcHRyLT5fZXJybm8gPSBFTk9N RU07CisJCQkJX1JFRU5UX0VSUk5PKHB0cikgPSBFTk9NRU07CiAJCQkJZ290byBlcnI7CiAJ CQl9CiAJCX0KQEAgLTMwNiw3ICszMDYsNyBAQCBfX3NzcHJpbnRfciAoc3RydWN0IF9yZWVu dCAqcHRyLAogCQkJCXN0ciA9ICh1bnNpZ25lZCBjaGFyICopX21hbGxvY19yIChwdHIsIG5l d3NpemUpOwogCQkJCWlmICghc3RyKQogCQkJCXsKLQkJCQkJcHRyLT5fZXJybm8gPSBFTk9N RU07CisJCQkJCV9SRUVOVF9FUlJOTyhwdHIpID0gRU5PTUVNOwogCQkJCQlnb3RvIGVycjsK IAkJCQl9CiAJCQkJbWVtY3B5IChzdHIsIGZwLT5fYmYuX2Jhc2UsIGN1cnBvcyk7CkBAIC0z MjEsNyArMzIxLDcgQEAgX19zc3ByaW50X3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKIAkJCQkJ X2ZyZWVfciAocHRyLCBmcC0+X2JmLl9iYXNlKTsKIAkJCQkJLyogRW5zdXJlIGNvcnJlY3Qg ZXJybm8sIGV2ZW4gaWYgZnJlZQogCQkJCQkgKiBjaGFuZ2VkIGl0LiAgKi8KLQkJCQkJcHRy LT5fZXJybm8gPSBFTk9NRU07CisJCQkJCV9SRUVOVF9FUlJOTyhwdHIpID0gRU5PTUVNOwog CQkJCQlnb3RvIGVycjsKIAkJCQl9CiAJCQl9CkBAIC04NjgsNyArODY4LDcgQEAgX1ZGUFJJ TlRGX1IgKHN0cnVjdCBfcmVlbnQgKmRhdGEsCiAJCWZwLT5fYmYuX2Jhc2UgPSBmcC0+X3Ag PSBfbWFsbG9jX3IgKGRhdGEsIDY0KTsKIAkJaWYgKCFmcC0+X3ApCiAJCXsKLQkJCWRhdGEt Pl9lcnJubyA9IEVOT01FTTsKKwkJCV9SRUVOVF9FUlJOTyhkYXRhKSA9IEVOT01FTTsKIAkJ CXJldHVybiBFT0Y7CiAJCX0KIAkJZnAtPl9iZi5fc2l6ZSA9IDY0OwpAQCAtMTM3NCw3ICsx Mzc0LDcgQEAgcmVzd2l0Y2g6CXN3aXRjaCAoY2gpIHsKIAkJY2FzZSAnbSc6ICAvKiBleHRl bnNpb24gKi8KIAkJCXsKIAkJCQlpbnQgZHVtbXk7Ci0JCQkJY3AgPSBfc3RyZXJyb3JfciAo ZGF0YSwgZGF0YS0+X2Vycm5vLCAxLCAmZHVtbXkpOworCQkJCWNwID0gX3N0cmVycm9yX3Ig KGRhdGEsIF9SRUVOVF9FUlJOTyhkYXRhKSwgMSwgJmR1bW15KTsKIAkJCX0KIAkJCWZsYWdz ICY9IH5MT05HSU5UOwogCQkJZ290byBzdHJpbmc7CmRpZmYgLS1naXQgYS9uZXdsaWIvbGli Yy9zdGRpby92ZnNjYW5mLmMgYi9uZXdsaWIvbGliYy9zdGRpby92ZnNjYW5mLmMKaW5kZXgg MDM3NjkyNTMxLi5jZmVlYTk4NzYgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGlvL3Zm c2NhbmYuYworKysgYi9uZXdsaWIvbGliYy9zdGRpby92ZnNjYW5mLmMKQEAgLTc3NCw3ICs3 NzQsNyBAQCBfX1NWRlNDQU5GX1IgKHN0cnVjdCBfcmVlbnQgKnJwdHIsCiAJICAgICAgd2lk dGggPSAwOwogCSAgICAgIGdvdG8gYWdhaW47CiAJICAgIH0KLQkgIHJwdHItPl9lcnJubyA9 IEVJTlZBTDsKKwkgIF9SRUVOVF9FUlJOTyhycHRyKSA9IEVJTlZBTDsKIAkgIGdvdG8gaW5w dXRfZmFpbHVyZTsKICNlbmRpZiAvKiAhX05PX1BPU19BUkdTICovCiAKZGlmZiAtLWdpdCBh L25ld2xpYi9saWJjL3N0ZGlvL3Zmd3ByaW50Zi5jIGIvbmV3bGliL2xpYmMvc3RkaW8vdmZ3 cHJpbnRmLmMKaW5kZXggNzM4NGIzN2QzLi43ODA3YTEyMjkgMTAwNjQ0Ci0tLSBhL25ld2xp Yi9saWJjL3N0ZGlvL3Zmd3ByaW50Zi5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGlvL3Zmd3By aW50Zi5jCkBAIC02MTEsNyArNjExLDcgQEAgX1ZGV1BSSU5URl9SIChzdHJ1Y3QgX3JlZW50 ICpkYXRhLAogCQlmcC0+X2JmLl9iYXNlID0gZnAtPl9wID0gX21hbGxvY19yIChkYXRhLCA2 NCk7CiAJCWlmICghZnAtPl9wKQogCQl7Ci0JCQlkYXRhLT5fZXJybm8gPSBFTk9NRU07CisJ CQlfUkVFTlRfRVJSTk8oZGF0YSkgPSBFTk9NRU07CiAJCQlyZXR1cm4gRU9GOwogCQl9CiAJ CWZwLT5fYmYuX3NpemUgPSA2NDsKQEAgLTExMTksNyArMTExOSw3IEBAIHJlc3dpdGNoOglz d2l0Y2ggKGNoKSB7CiAJCWNhc2UgTCdtJzogIC8qIEdOVSBleHRlbnNpb24gKi8KIAkJCXsK IAkJCQlpbnQgZHVtbXk7Ci0JCQkJY3AgPSAod2NoYXJfdCAqKSBfc3RyZXJyb3JfciAoZGF0 YSwgZGF0YS0+X2Vycm5vLCAxLCAmZHVtbXkpOworCQkJCWNwID0gKHdjaGFyX3QgKikgX3N0 cmVycm9yX3IgKGRhdGEsIF9SRUVOVF9FUlJOTyhkYXRhKSwgMSwgJmR1bW15KTsKIAkJCX0K IAkJCWZsYWdzICY9IH5MT05HSU5UOwogCQkJZ290byBzdHJpbmc7CmRpZmYgLS1naXQgYS9u ZXdsaWIvbGliYy9zdGRpby92ZndzY2FuZi5jIGIvbmV3bGliL2xpYmMvc3RkaW8vdmZ3c2Nh bmYuYwppbmRleCBlOWUwMGRmZWMuLmRmOTY2ZjkyOSAxMDA2NDQKLS0tIGEvbmV3bGliL2xp YmMvc3RkaW8vdmZ3c2NhbmYuYworKysgYi9uZXdsaWIvbGliYy9zdGRpby92ZndzY2FuZi5j CkBAIC02ODIsNyArNjgyLDcgQEAgX19TVkZXU0NBTkZfUiAoc3RydWN0IF9yZWVudCAqcnB0 ciwKIAkgICAgICB3aWR0aCA9IDA7CiAJICAgICAgZ290byBhZ2FpbjsKIAkgICAgfQotCSAg cnB0ci0+X2Vycm5vID0gRUlOVkFMOworCSAgX1JFRU5UX0VSUk5PKHJwdHIpID0gRUlOVkFM OwogCSAgZ290byBpbnB1dF9mYWlsdXJlOwogI2VuZGlmIC8qICFfTk9fUE9TX0FSR1MgKi8K IApkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkaW8vdnNuaXByaW50Zi5jIGIvbmV3bGli L2xpYmMvc3RkaW8vdnNuaXByaW50Zi5jCmluZGV4IGE4YjI3MmUyZi4uZTc2MjVmZmQ1IDEw MDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRpby92c25pcHJpbnRmLmMKKysrIGIvbmV3bGli L2xpYmMvc3RkaW8vdnNuaXByaW50Zi5jCkBAIC01NCw3ICs1NCw3IEBAIF92c25pcHJpbnRm X3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKIAogICBpZiAoc2l6ZSA+IElOVF9NQVgpCiAgICAg ewotICAgICAgcHRyLT5fZXJybm8gPSBFT1ZFUkZMT1c7CisgICAgICBfUkVFTlRfRVJSTk8o cHRyKSA9IEVPVkVSRkxPVzsKICAgICAgIHJldHVybiBFT0Y7CiAgICAgfQogICBmLl9mbGFn cyA9IF9fU1dSIHwgX19TU1RSOwpAQCAtNjMsNyArNjMsNyBAQCBfdnNuaXByaW50Zl9yIChz dHJ1Y3QgX3JlZW50ICpwdHIsCiAgIGYuX2ZpbGUgPSAtMTsgIC8qIE5vIGZpbGUuICovCiAg IHJldCA9IF9zdmZpcHJpbnRmX3IgKHB0ciwgJmYsIGZtdCwgYXApOwogICBpZiAocmV0IDwg RU9GKQotICAgIHB0ci0+X2Vycm5vID0gRU9WRVJGTE9XOworICAgIF9SRUVOVF9FUlJOTyhw dHIpID0gRU9WRVJGTE9XOwogICBpZiAoc2l6ZSA+IDApCiAgICAgKmYuX3AgPSAwOwogICBy ZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkaW8vdnNucHJpbnRmLmMg Yi9uZXdsaWIvbGliYy9zdGRpby92c25wcmludGYuYwppbmRleCA1YzYxN2E4YTMuLmVjZjgy ZWFlZiAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvc3RkaW8vdnNucHJpbnRmLmMKKysrIGIv bmV3bGliL2xpYmMvc3RkaW8vdnNucHJpbnRmLmMKQEAgLTYwLDcgKzYwLDcgQEAgX3ZzbnBy aW50Zl9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAKICAgaWYgKHNpemUgPiBJTlRfTUFYKQog ICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRU9WRVJGTE9XOworICAgICAgX1JFRU5UX0VS Uk5PKHB0cikgPSBFT1ZFUkZMT1c7CiAgICAgICByZXR1cm4gRU9GOwogICAgIH0KICAgZi5f ZmxhZ3MgPSBfX1NXUiB8IF9fU1NUUjsKQEAgLTY5LDcgKzY5LDcgQEAgX3ZzbnByaW50Zl9y IChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAgIGYuX2ZpbGUgPSAtMTsgIC8qIE5vIGZpbGUuICov CiAgIHJldCA9IF9zdmZwcmludGZfciAocHRyLCAmZiwgZm10LCBhcCk7CiAgIGlmIChyZXQg PCBFT0YpCi0gICAgcHRyLT5fZXJybm8gPSBFT1ZFUkZMT1c7CisgICAgX1JFRU5UX0VSUk5P KHB0cikgPSBFT1ZFUkZMT1c7CiAgIGlmIChzaXplID4gMCkKICAgICAqZi5fcCA9IDA7CiAg IHJldHVybiByZXQ7CmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRpby92c3dwcmludGYu YyBiL25ld2xpYi9saWJjL3N0ZGlvL3Zzd3ByaW50Zi5jCmluZGV4IDg5Nzk1ZWQ4ZC4uMDhh ODU0NWJhIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRpby92c3dwcmludGYuYworKysg Yi9uZXdsaWIvbGliYy9zdGRpby92c3dwcmludGYuYwpAQCAtNDIsNyArNDIsNyBAQCBfdnN3 cHJpbnRmX3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKIAogICBpZiAoc2l6ZSA+IElOVF9NQVgg LyBzaXplb2YgKHdjaGFyX3QpKQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRU9WRVJG TE9XOwkvKiBQT1NJWCBleHRlbnNpb24gKi8KKyAgICAgIF9SRUVOVF9FUlJOTyhwdHIpID0g RU9WRVJGTE9XOwkvKiBQT1NJWCBleHRlbnNpb24gKi8KICAgICAgIHJldHVybiBFT0Y7CiAg ICAgfQogICBmLl9mbGFncyA9IF9fU1dSIHwgX19TU1RSOwpAQCAtNjAsNyArNjAsNyBAQCBf dnN3cHJpbnRmX3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKICAgICAvKiBfc3Zmd3ByaW50Zl9y KCkgcmV0dXJucyBob3cgbWFueSB3aWRlIGNoYXJhY3RlcnMgaXQgd291bGQgaGF2ZSBwcmlu dGVkCiAgICAgICogaWYgdGhlcmUgd2VyZSBlbm91Z2ggc3BhY2UuICBSZXR1cm4gYW4gZXJy b3IgaWYgdG9vIGJpZyB0byBmaXQgaW4gc3RyLAogICAgICAqIHVubGlrZSBzbnByaW50Ziwg d2hpY2ggcmV0dXJucyB0aGUgc2l6ZSBuZWVkZWQuICAqLwotICAgIHB0ci0+X2Vycm5vID0g RU9WRVJGTE9XOwkvKiBQT1NJWCBleHRlbnNpb24gKi8KKyAgICBfUkVFTlRfRVJSTk8ocHRy KSA9IEVPVkVSRkxPVzsJLyogUE9TSVggZXh0ZW5zaW9uICovCiAgICAgcmV0ID0gLTE7CiAg IH0KICAgcmV0dXJuIHJldDsKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGlvL3dzZXR1 cC5jIGIvbmV3bGliL2xpYmMvc3RkaW8vd3NldHVwLmMKaW5kZXggNmE4MjBmMWMwLi4wZmQ5 NjkwYWEgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGlvL3dzZXR1cC5jCisrKyBiL25l d2xpYi9saWJjL3N0ZGlvL3dzZXR1cC5jCkBAIC00NSw3ICs0NSw3IEBAIF9fc3dzZXR1cF9y IChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAgICAgewogICAgICAgaWYgKChmcC0+X2ZsYWdzICYg X19TUlcpID09IDApCiAgICAgICAgIHsKLQkgIHB0ci0+X2Vycm5vID0gRUJBREY7CisJICBf UkVFTlRfRVJSTk8ocHRyKSA9IEVCQURGOwogCSAgZnAtPl9mbGFncyB8PSBfX1NFUlI7CiAJ ICByZXR1cm4gRU9GOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRp bzY0L2Zkb3BlbjY0LmMgYi9uZXdsaWIvbGliYy9zdGRpbzY0L2Zkb3BlbjY0LmMKaW5kZXgg OWQ5NjQ1YjM2Li5kOTNiM2Q0ZDggMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGlvNjQv ZmRvcGVuNjQuYworKysgYi9uZXdsaWIvbGliYy9zdGRpbzY0L2Zkb3BlbjY0LmMKQEAgLTU1 LDcgKzU1LDcgQEAgX2Zkb3BlbjY0X3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKICAgZmRtb2Rl ID0gZmRmbGFncyAmIE9fQUNDTU9ERTsKICAgaWYgKGZkbW9kZSAhPSBPX1JEV1IgJiYgKGZk bW9kZSAhPSAob2ZsYWdzICYgT19BQ0NNT0RFKSkpCiAgICAgewotICAgICAgcHRyLT5fZXJy bm8gPSBFQkFERjsKKyAgICAgIF9SRUVOVF9FUlJOTyhwdHIpID0gRUJBREY7CiAgICAgICBy ZXR1cm4gMDsKICAgICB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGlv NjQvZnJlb3BlbjY0LmMgYi9uZXdsaWIvbGliYy9zdGRpbzY0L2ZyZW9wZW42NC5jCmluZGV4 IGU2YmE2NGY3ZC4uNGQxZTliNzZjIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRpbzY0 L2ZyZW9wZW42NC5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGlvNjQvZnJlb3BlbjY0LmMKQEAg LTEzOCw3ICsxMzgsNyBAQCBfZnJlb3BlbjY0X3IgKHN0cnVjdCBfcmVlbnQgKnB0ciwKICAg aWYgKGZpbGUgIT0gTlVMTCkKICAgICB7CiAgICAgICBmID0gX29wZW42NF9yIChwdHIsIChj aGFyICopIGZpbGUsIG9mbGFncywgMDY2Nik7Ci0gICAgICBlID0gcHRyLT5fZXJybm87Cisg ICAgICBlID0gX1JFRU5UX0VSUk5PKHB0cik7CiAgICAgfQogICBlbHNlCiAgICAgewpAQCAt MjA2LDcgKzIwNiw3IEBAIF9mcmVvcGVuNjRfciAoc3RydWN0IF9yZWVudCAqcHRyLAogICAg IHsJCQkJLyogZGlkIG5vdCBnZXQgaXQgYWZ0ZXIgYWxsICovCiAgICAgICBfX3NmcF9sb2Nr X2FjcXVpcmUgKCk7CiAgICAgICBmcC0+X2ZsYWdzID0gMDsJCS8qIHNldCBpdCBmcmVlICov Ci0gICAgICBwdHItPl9lcnJubyA9IGU7CQkvKiByZXN0b3JlIGluIGNhc2UgX2Nsb3NlIGNs b2JiZXJlZCAqLworICAgICAgX1JFRU5UX0VSUk5PKHB0cikgPSBlOwkvKiByZXN0b3JlIGlu IGNhc2UgX2Nsb3NlIGNsb2JiZXJlZCAqLwogICAgICAgaWYgKCEob2ZsYWdzMiAmIF9fU05M SykpCiAJX2Z1bmxvY2tmaWxlIChmcCk7CiAjaWZuZGVmIF9fU0lOR0xFX1RIUkVBRF9fCmRp ZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRpbzY0L2ZzZWVrbzY0LmMgYi9uZXdsaWIvbGli Yy9zdGRpbzY0L2ZzZWVrbzY0LmMKaW5kZXggMzA4N2JlZjllLi5jNWIzMGFlZDAgMTAwNjQ0 Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGlvNjQvZnNlZWtvNjQuYworKysgYi9uZXdsaWIvbGli Yy9zdGRpbzY0L2ZzZWVrbzY0LmMKQEAgLTEwMiw3ICsxMDIsNyBAQCBfZnNlZWtvNjRfciAo c3RydWN0IF9yZWVudCAqcHRyLAogICAgIHsKICAgICAgIGlmICgoX29mZl90KSBvZmZzZXQg IT0gb2Zmc2V0KQogCXsKLQkgIHB0ci0+X2Vycm5vID0gRU9WRVJGTE9XOworCSAgX1JFRU5U X0VSUk5PKHB0cikgPSBFT1ZFUkZMT1c7CiAJICByZXR1cm4gRU9GOwogCX0KICAgICAgIHJl dHVybiAoX29mZjY0X3QpIF9mc2Vla29fciAocHRyLCBmcCwgb2Zmc2V0LCB3aGVuY2UpOwpA QCAtMTI5LDcgKzEyOSw3IEBAIF9mc2Vla282NF9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAK ICAgaWYgKChzZWVrZm4gPSBmcC0+X3NlZWs2NCkgPT0gTlVMTCkKICAgICB7Ci0gICAgICBw dHItPl9lcnJubyA9IEVTUElQRTsJLyogPz8/ICovCisgICAgICBfUkVFTlRfRVJSTk8ocHRy KSA9IEVTUElQRTsJLyogPz8/ICovCiAgICAgICBfbmV3bGliX2Zsb2NrZmlsZV9leGl0KGZw KTsKICAgICAgIHJldHVybiBFT0Y7CiAgICAgfQpAQCAtMTc5LDcgKzE3OSw3IEBAIF9mc2Vl a282NF9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAgICAgICBicmVhazsKIAogICAgIGRlZmF1 bHQ6Ci0gICAgICBwdHItPl9lcnJubyA9IEVJTlZBTDsKKyAgICAgIF9SRUVOVF9FUlJOTyhw dHIpID0gRUlOVkFMOwogICAgICAgX25ld2xpYl9mbG9ja2ZpbGVfZXhpdChmcCk7CiAgICAg ICByZXR1cm4gKEVPRik7CiAgICAgfQpkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkaW82 NC9mdGVsbG82NC5jIGIvbmV3bGliL2xpYmMvc3RkaW82NC9mdGVsbG82NC5jCmluZGV4IDZm Yjc2YzNlZi4uY2QwMGRlZjQ2IDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRpbzY0L2Z0 ZWxsbzY0LmMKKysrIGIvbmV3bGliL2xpYmMvc3RkaW82NC9mdGVsbG82NC5jCkBAIC05Myw3 ICs5Myw3IEBAIF9mdGVsbG82NF9yIChzdHJ1Y3QgX3JlZW50ICpwdHIsCiAKICAgaWYgKGZw LT5fc2VlazY0ID09IE5VTEwpCiAgICAgewotICAgICAgcHRyLT5fZXJybm8gPSBFU1BJUEU7 CisgICAgICBfUkVFTlRfRVJSTk8ocHRyKSA9IEVTUElQRTsKICAgICAgIF9uZXdsaWJfZmxv Y2tmaWxlX2V4aXQoZnApOwogICAgICAgcmV0dXJuIChfb2ZmNjRfdCkgLTE7CiAgICAgfQpk aWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkaW82NC90bXBmaWxlNjQuYyBiL25ld2xpYi9s aWJjL3N0ZGlvNjQvdG1wZmlsZTY0LmMKaW5kZXggMThhMzhkNjVjLi4zNWIwMzVjOTEgMTAw NjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGlvNjQvdG1wZmlsZTY0LmMKKysrIGIvbmV3bGli L2xpYmMvc3RkaW82NC90bXBmaWxlNjQuYwpAQCAtNjgsMTUgKzY4LDE1IEBAIF90bXBmaWxl NjRfciAoc3RydWN0IF9yZWVudCAqcHRyKQogICAgICAgZmQgPSBfb3BlbjY0X3IgKHB0ciwg ZiwgT19SRFdSIHwgT19DUkVBVCB8IE9fRVhDTCB8IE9fQklOQVJZLAogCQkgICAgICBTX0lS VVNSIHwgU19JV1VTUik7CiAgIH0KLSAgd2hpbGUgKGZkIDwgMCAmJiBwdHItPl9lcnJubyA9 PSBFRVhJU1QpOworICB3aGlsZSAoZmQgPCAwICYmIF9SRUVOVF9FUlJOTyhwdHIpID09IEVF WElTVCk7CiAgIGlmIChmZCA8IDApCiAgICAgcmV0dXJuIE5VTEw7CiAgIGZwID0gX2Zkb3Bl bjY0X3IgKHB0ciwgZmQsICJ3YisiKTsKLSAgZSA9IHB0ci0+X2Vycm5vOworICBlID0gX1JF RU5UX0VSUk5PKHB0cik7CiAgIGlmICghZnApCiAgICAgX2Nsb3NlX3IgKHB0ciwgZmQpOwog ICAodm9pZCkgX3JlbW92ZV9yIChwdHIsIGYpOwotICBwdHItPl9lcnJubyA9IGU7CisgIF9S RUVOVF9FUlJOTyhwdHIpID0gZTsKICAgcmV0dXJuIGZwOwogfQogCmRpZmYgLS1naXQgYS9u ZXdsaWIvbGliYy9zdGRsaWIvX19hZGp1c3QuYyBiL25ld2xpYi9saWJjL3N0ZGxpYi9fX2Fk anVzdC5jCmluZGV4IDRjNDc4ZjMwYi4uYWI2ZjEyNWI5IDEwMDY0NAotLS0gYS9uZXdsaWIv bGliYy9zdGRsaWIvX19hZGp1c3QuYworKysgYi9uZXdsaWIvbGliYy9zdGRsaWIvX19hZGp1 c3QuYwpAQCAtMjEsMTIgKzIxLDEyIEBAIF9fYWRqdXN0IChzdHJ1Y3QgX3JlZW50ICpwdHIs CiAKICAgaWYgKGRleHAgPiBNQVhFKQogICAgIHsKLSAgICAgIHB0ci0+X2Vycm5vID0gRVJB TkdFOworICAgICAgX1JFRU5UX0VSUk5PKHB0cikgPSBFUkFOR0U7CiAgICAgICByZXR1cm4g KHNpZ24pID8gLUhVR0VfVkFMIDogSFVHRV9WQUw7CiAgICAgfQogICBlbHNlIGlmIChkZXhw IDwgTUlORSkKICAgICB7Ci0gICAgICBwdHItPl9lcnJubyA9IEVSQU5HRTsKKyAgICAgIF9S RUVOVF9FUlJOTyhwdHIpID0gRVJBTkdFOwogICAgICAgcmV0dXJuIDAuMDsKICAgICB9CiAK ZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGxpYi9tYnJ0b3djLmMgYi9uZXdsaWIvbGli Yy9zdGRsaWIvbWJydG93Yy5jCmluZGV4IDY1Mjg0YTBlYi4uNTIxYjdhNWY0IDEwMDY0NAot LS0gYS9uZXdsaWIvbGliYy9zdGRsaWIvbWJydG93Yy5jCisrKyBiL25ld2xpYi9saWJjL3N0 ZGxpYi9tYnJ0b3djLmMKQEAgLTMyLDcgKzMyLDcgQEAgX21icnRvd2NfciAoc3RydWN0IF9y ZWVudCAqcHRyLAogICBpZiAocmV0dmFsID09IC0xKQogICAgIHsKICAgICAgIHBzLT5fX2Nv dW50ID0gMDsKLSAgICAgIHB0ci0+X2Vycm5vID0gRUlMU0VROworICAgICAgX1JFRU5UX0VS Uk5PKHB0cikgPSBFSUxTRVE7CiAgICAgICByZXR1cm4gKHNpemVfdCkoLTEpOwogICAgIH0K ICAgZWxzZQpAQCAtNjgsNyArNjgsNyBAQCBtYnJ0b3djICh3Y2hhcl90ICpfX3Jlc3RyaWN0 IHB3YywKICAgaWYgKHJldHZhbCA9PSAtMSkKICAgICB7CiAgICAgICBwcy0+X19jb3VudCA9 IDA7Ci0gICAgICByZWVudC0+X2Vycm5vID0gRUlMU0VROworICAgICAgX1JFRU5UX0VSUk5P KHJlZW50KSA9IEVJTFNFUTsKICAgICAgIHJldHVybiAoc2l6ZV90KSgtMSk7CiAgICAgfQog ICBlbHNlCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRsaWIvbWJzbnJ0b3djcy5jIGIv bmV3bGliL2xpYmMvc3RkbGliL21ic25ydG93Y3MuYwppbmRleCBkM2NlMjUwODQuLjhmOTRi MWRhNSAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvc3RkbGliL21ic25ydG93Y3MuYworKysg Yi9uZXdsaWIvbGliYy9zdGRsaWIvbWJzbnJ0b3djcy5jCkBAIC0xMjYsNyArMTI2LDcgQEAg X21ic25ydG93Y3NfciAoc3RydWN0IF9yZWVudCAqciwKICAgICAgIGVsc2UKIAl7CiAJICBw cy0+X19jb3VudCA9IDA7Ci0JICByLT5fZXJybm8gPSBFSUxTRVE7CisJICBfUkVFTlRfRVJS Tk8ocikgPSBFSUxTRVE7CiAJICByZXR1cm4gKHNpemVfdCktMTsKIAl9CiAgICAgfQpkaWZm IC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkbGliL21idG93Y19yLmMgYi9uZXdsaWIvbGliYy9z dGRsaWIvbWJ0b3djX3IuYwppbmRleCA5MjBhN2VhM2MuLmNhODc2ZjlhMCAxMDA2NDQKLS0t IGEvbmV3bGliL2xpYmMvc3RkbGliL21idG93Y19yLmMKKysrIGIvbmV3bGliL2xpYmMvc3Rk bGliL21idG93Y19yLmMKQEAgLTM5LDcgKzM5LDcgQEAgX19hc2NpaV9tYnRvd2MgKHN0cnVj dCBfcmVlbnQgKnIsCiAjaWZkZWYgX19DWUdXSU5fXwogICBpZiAoKHdjaGFyX3QpKnQgPj0g MHg4MCkKICAgICB7Ci0gICAgICByLT5fZXJybm8gPSBFSUxTRVE7CisgICAgICBfUkVFTlRf RVJSTk8ocikgPSBFSUxTRVE7CiAgICAgICByZXR1cm4gLTE7CiAgICAgfQogI2VuZGlmCkBA IC0xMTcsNyArMTE3LDcgQEAgX19faXNvX21idG93YyAoc3RydWN0IF9yZWVudCAqciwgd2No YXJfdCAqcHdjLCBjb25zdCBjaGFyICpzLCBzaXplX3QgbiwKIAkgICpwd2MgPSBfX2lzb184 ODU5X2NvbnZbaXNvX2lkeF1bKnQgLSAweGEwXTsKIAkgIGlmICgqcHdjID09IDApIC8qIElu dmFsaWQgY2hhcmFjdGVyICovCiAJICAgIHsKLQkgICAgICByLT5fZXJybm8gPSBFSUxTRVE7 CisJICAgICAgX1JFRU5UX0VSUk5PKHIpID0gRUlMU0VROwogCSAgICAgIHJldHVybiAtMTsK IAkgICAgfQogCSAgcmV0dXJuIDE7CkBAIC0yOTAsNyArMjkwLDcgQEAgX19fY3BfbWJ0b3dj IChzdHJ1Y3QgX3JlZW50ICpyLCB3Y2hhcl90ICpwd2MsIGNvbnN0IGNoYXIgKnMsIHNpemVf dCBuLAogCSAgKnB3YyA9IF9fY3BfY29udltjcF9pZHhdWyp0IC0gMHg4MF07CiAJICBpZiAo KnB3YyA9PSAwKSAvKiBJbnZhbGlkIGNoYXJhY3RlciAqLwogCSAgICB7Ci0JICAgICAgci0+ X2Vycm5vID0gRUlMU0VROworCSAgICAgIF9SRUVOVF9FUlJOTyhyKSA9IEVJTFNFUTsKIAkg ICAgICByZXR1cm4gLTE7CiAJICAgIH0KIAkgIHJldHVybiAxOwpAQCAtNTc4LDEzICs1Nzgs MTMgQEAgX191dGY4X21idG93YyAoc3RydWN0IF9yZWVudCAqciwKICAgICAgIGNoID0gdFtp KytdOwogICAgICAgaWYgKGNoIDwgMHg4MCB8fCBjaCA+IDB4YmYpCiAJewotCSAgci0+X2Vy cm5vID0gRUlMU0VROworCSAgX1JFRU5UX0VSUk5PKHIpID0gRUlMU0VROwogCSAgcmV0dXJu IC0xOwogCX0KICAgICAgIGlmIChzdGF0ZS0+X192YWx1ZS5fX3djaGJbMF0gPCAweGMyKQog CXsKIAkgIC8qIG92ZXJsb25nIFVURi04IHNlcXVlbmNlICovCi0JICByLT5fZXJybm8gPSBF SUxTRVE7CisJICBfUkVFTlRfRVJSTk8ocikgPSBFSUxTRVE7CiAJICByZXR1cm4gLTE7CiAJ fQogICAgICAgc3RhdGUtPl9fY291bnQgPSAwOwpAQCAtNjA3LDEyICs2MDcsMTIgQEAgX191 dGY4X21idG93YyAoc3RydWN0IF9yZWVudCAqciwKICAgICAgIGlmIChzdGF0ZS0+X192YWx1 ZS5fX3djaGJbMF0gPT0gMHhlMCAmJiBjaCA8IDB4YTApCiAJewogCSAgLyogb3Zlcmxvbmcg VVRGLTggc2VxdWVuY2UgKi8KLQkgIHItPl9lcnJubyA9IEVJTFNFUTsKKwkgIF9SRUVOVF9F UlJOTyhyKSA9IEVJTFNFUTsKIAkgIHJldHVybiAtMTsKIAl9CiAgICAgICBpZiAoY2ggPCAw eDgwIHx8IGNoID4gMHhiZikKIAl7Ci0JICByLT5fZXJybm8gPSBFSUxTRVE7CisJICBfUkVF TlRfRVJSTk8ocikgPSBFSUxTRVE7CiAJICByZXR1cm4gLTE7CiAJfQogICAgICAgc3RhdGUt Pl9fdmFsdWUuX193Y2hiWzFdID0gY2g7CkBAIC02MjUsNyArNjI1LDcgQEAgX191dGY4X21i dG93YyAoc3RydWN0IF9yZWVudCAqciwKICAgICAgIGNoID0gdFtpKytdOwogICAgICAgaWYg KGNoIDwgMHg4MCB8fCBjaCA+IDB4YmYpCiAJewotCSAgci0+X2Vycm5vID0gRUlMU0VROwor CSAgX1JFRU5UX0VSUk5PKHIpID0gRUlMU0VROwogCSAgcmV0dXJuIC0xOwogCX0KICAgICAg IHN0YXRlLT5fX2NvdW50ID0gMDsKQEAgLTY1MSwxMiArNjUxLDEyIEBAIF9fdXRmOF9tYnRv d2MgKHN0cnVjdCBfcmVlbnQgKnIsCiAJICB8fCAoc3RhdGUtPl9fdmFsdWUuX193Y2hiWzBd ID09IDB4ZjQgJiYgY2ggPj0gMHg5MCkpCiAJewogCSAgLyogb3ZlcmxvbmcgVVRGLTggc2Vx dWVuY2Ugb3IgcmVzdWx0IGlzID4gMHgxMGZmZmYgKi8KLQkgIHItPl9lcnJubyA9IEVJTFNF UTsKKwkgIF9SRUVOVF9FUlJOTyhyKSA9IEVJTFNFUTsKIAkgIHJldHVybiAtMTsKIAl9CiAg ICAgICBpZiAoY2ggPCAweDgwIHx8IGNoID4gMHhiZikKIAl7Ci0JICByLT5fZXJybm8gPSBF SUxTRVE7CisJICBfUkVFTlRfRVJSTk8ocikgPSBFSUxTRVE7CiAJICByZXR1cm4gLTE7CiAJ fQogICAgICAgc3RhdGUtPl9fdmFsdWUuX193Y2hiWzFdID0gY2g7CkBAIC02NjksNyArNjY5 LDcgQEAgX191dGY4X21idG93YyAoc3RydWN0IF9yZWVudCAqciwKICAgICAgIGNoID0gKHN0 YXRlLT5fX2NvdW50ID09IDIpID8gdFtpKytdIDogc3RhdGUtPl9fdmFsdWUuX193Y2hiWzJd OwogICAgICAgaWYgKGNoIDwgMHg4MCB8fCBjaCA+IDB4YmYpCiAJewotCSAgci0+X2Vycm5v ID0gRUlMU0VROworCSAgX1JFRU5UX0VSUk5PKHIpID0gRUlMU0VROwogCSAgcmV0dXJuIC0x OwogCX0KICAgICAgIHN0YXRlLT5fX3ZhbHVlLl9fd2NoYlsyXSA9IGNoOwpAQCAtNzAyLDcg KzcwMiw3IEBAIF9fdXRmOF9tYnRvd2MgKHN0cnVjdCBfcmVlbnQgKnIsCiAgICAgICBjaCA9 IHRbaSsrXTsKICAgICAgIGlmIChjaCA8IDB4ODAgfHwgY2ggPiAweGJmKQogCXsKLQkgIHIt Pl9lcnJubyA9IEVJTFNFUTsKKwkgIF9SRUVOVF9FUlJOTyhyKSA9IEVJTFNFUTsKIAkgIHJl dHVybiAtMTsKIAl9CiAgICAgICB0bXAgPSAod2ludF90KSgoc3RhdGUtPl9fdmFsdWUuX193 Y2hiWzBdICYgMHgwNykgPDwgMTgpCkBAIC03MTksNyArNzE5LDcgQEAgX191dGY4X21idG93 YyAoc3RydWN0IF9yZWVudCAqciwKICAgICAgIHJldHVybiBpOwogICAgIH0KIAotICByLT5f ZXJybm8gPSBFSUxTRVE7CisgIF9SRUVOVF9FUlJOTyhyKSA9IEVJTFNFUTsKICAgcmV0dXJu IC0xOwogfQogCkBAIC03NjksNyArNzY5LDcgQEAgX19zamlzX21idG93YyAoc3RydWN0IF9y ZWVudCAqciwKIAl9CiAgICAgICBlbHNlICAKIAl7Ci0JICByLT5fZXJybm8gPSBFSUxTRVE7 CisJICBfUkVFTlRfRVJSTk8ocikgPSBFSUxTRVE7CiAJICByZXR1cm4gLTE7CiAJfQogICAg IH0KQEAgLTgzNiw3ICs4MzYsNyBAQCBfX2V1Y2pwX21idG93YyAoc3RydWN0IF9yZWVudCAq ciwKIAl9CiAgICAgICBlbHNlCiAJewotCSAgci0+X2Vycm5vID0gRUlMU0VROworCSAgX1JF RU5UX0VSUk5PKHIpID0gRUlMU0VROwogCSAgcmV0dXJuIC0xOwogCX0KICAgICB9CkBAIC04 NTEsNyArODUxLDcgQEAgX19ldWNqcF9tYnRvd2MgKHN0cnVjdCBfcmVlbnQgKnIsCiAJfQog ICAgICAgZWxzZQogCXsKLQkgIHItPl9lcnJubyA9IEVJTFNFUTsKKwkgIF9SRUVOVF9FUlJO TyhyKSA9IEVJTFNFUTsKIAkgIHJldHVybiAtMTsKIAl9CiAgICAgfQpAQCAtOTU1LDcgKzk1 NSw3IEBAIF9famlzX21idG93YyAoc3RydWN0IF9yZWVudCAqciwKIAkgIGJyZWFrOwogCWNh c2UgRVJST1I6CiAJZGVmYXVsdDoKLQkgIHItPl9lcnJubyA9IEVJTFNFUTsKKwkgIF9SRUVO VF9FUlJOTyhyKSA9IEVJTFNFUTsKIAkgIHJldHVybiAtMTsKIAl9CiAKZGlmZiAtLWdpdCBh L25ld2xpYi9saWJjL3N0ZGxpYi9zdHJ0b2QuYyBiL25ld2xpYi9saWJjL3N0ZGxpYi9zdHJ0 b2QuYwppbmRleCBjZDAyMjI0ODEuLjkxNTZlZDdkNiAxMDA2NDQKLS0tIGEvbmV3bGliL2xp YmMvc3RkbGliL3N0cnRvZC5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGxpYi9zdHJ0b2QuYwpA QCAtNTk1LDcgKzU5NSw3IEBAIF9zdHJ0b2RfbCAoc3RydWN0IF9yZWVudCAqcHRyLCBjb25z dCBjaGFyICpfX3Jlc3RyaWN0IHMwMCwgY2hhciAqKl9fcmVzdHJpY3Qgc2UsCiAJCQlpZiAo ZTEgPiBEQkxfTUFYXzEwX0VYUCkgewogIG92Zmw6CiAjaWZuZGVmIE5PX0VSUk5PCi0JCQkJ cHRyLT5fZXJybm8gPSBFUkFOR0U7CisJCQkJX1JFRU5UX0VSUk5PKHB0cikgPSBFUkFOR0U7 CiAjZW5kaWYKIAkJCQkvKiBDYW4ndCB0cnVzdCBIVUdFX1ZBTCAqLwogI2lmZGVmIElFRUVf QXJpdGgKQEAgLTcwMiw3ICs3MDIsNyBAQCBfc3RydG9kX2wgKHN0cnVjdCBfcmVlbnQgKnB0 ciwgY29uc3QgY2hhciAqX19yZXN0cmljdCBzMDAsIGNoYXIgKipfX3Jlc3RyaWN0IHNlLAog IHVuZGZsOgogCQkJCQlkdmFsKHJ2KSA9IDAuOwogI2lmbmRlZiBOT19FUlJOTwotCQkJCQlw dHItPl9lcnJubyA9IEVSQU5HRTsKKwkJCQkJX1JFRU5UX0VSUk5PKHB0cikgPSBFUkFOR0U7 CiAjZW5kaWYKIAkJCQkJaWYgKGJkMCkKIAkJCQkJCWdvdG8gcmV0ZnJlZTsKQEAgLTEyNDks NyArMTI0OSw3IEBAIF9zdHJ0b2RfbCAoc3RydWN0IF9yZWVudCAqcHRyLCBjb25zdCBjaGFy ICpfX3Jlc3RyaWN0IHMwMCwgY2hhciAqKl9fcmVzdHJpY3Qgc2UsCiAjaWZuZGVmIE5PX0VS Uk5PCiAJCS8qIHRyeSB0byBhdm9pZCB0aGUgYnVnIG9mIHRlc3RpbmcgYW4gODA4NyByZWdp c3RlciB2YWx1ZSAqLwogCQlpZiAoKGR3b3JkMChydikgJiBFeHBfbWFzaykgPT0gMCkKLQkJ CXB0ci0+X2Vycm5vID0gRVJBTkdFOworCQkJX1JFRU5UX0VSUk5PKHB0cikgPSBFUkFOR0U7 CiAjZW5kaWYKIAkJfQogI2VuZGlmIC8qIEF2b2lkX1VuZGVyZmxvdyAqLwpAQCAtMTMwMyw3 ICsxMzAzLDcgQEAgc3RydG9mX2wgKGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgczAwLCBjaGFy ICoqX19yZXN0cmljdCBzZSwgbG9jYWxlX3QgbG9jKQogICBmbG9hdCByZXR2YWwgPSAoZmxv YXQpIHZhbDsKICNpZm5kZWYgTk9fRVJSTk8KICAgaWYgKGlzaW5mIChyZXR2YWwpICYmICFp c2luZiAodmFsKSkKLSAgICBfUkVFTlQtPl9lcnJubyA9IEVSQU5HRTsKKyAgICBfUkVFTlRf RVJSTk8oX1JFRU5UKSA9IEVSQU5HRTsKICNlbmRpZgogICByZXR1cm4gcmV0dmFsOwogfQpA QCAtMTM0MCw3ICsxMzQwLDcgQEAgc3RydG9mIChjb25zdCBjaGFyICpfX3Jlc3RyaWN0IHMw MCwKICAgZmxvYXQgcmV0dmFsID0gKGZsb2F0KSB2YWw7CiAjaWZuZGVmIE5PX0VSUk5PCiAg IGlmICgoaXNpbmYgKHJldHZhbCkgJiYgIWlzaW5mICh2YWwpKSB8fCAoaXNkZW5vcm1mKHJl dHZhbCkgJiYgIWlzZGVub3JtKHZhbCkpKQotICAgIF9SRUVOVC0+X2Vycm5vID0gRVJBTkdF OworICAgIF9SRUVOVF9FUlJOTyhfUkVFTlQpID0gRVJBTkdFOwogI2VuZGlmCiAgIHJldHVy biByZXR2YWw7CiB9CmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRsaWIvc3RydG9pbWF4 LmMgYi9uZXdsaWIvbGliYy9zdGRsaWIvc3RydG9pbWF4LmMKaW5kZXggYzNmMjdkZjJlLi5h NjRiN2RhNjYgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGxpYi9zdHJ0b2ltYXguYwor KysgYi9uZXdsaWIvbGliYy9zdGRsaWIvc3RydG9pbWF4LmMKQEAgLTEzNiwxMCArMTM2LDEw IEBAIF9zdHJ0b2ltYXhfbChzdHJ1Y3QgX3JlZW50ICpycHRyLCBjb25zdCBjaGFyICogX19y ZXN0cmljdCBucHRyLAogCX0KIAlpZiAoYW55IDwgMCkgewogCQlhY2MgPSBuZWcgPyBJTlRN QVhfTUlOIDogSU5UTUFYX01BWDsKLQkJcnB0ci0+X2Vycm5vID0gRVJBTkdFOworCQlfUkVF TlRfRVJSTk8ocnB0cikgPSBFUkFOR0U7CiAJfSBlbHNlIGlmICghYW55KSB7CiBub2NvbnY6 Ci0JCXJwdHItPl9lcnJubyA9IEVJTlZBTDsKKwkJX1JFRU5UX0VSUk5PKHJwdHIpID0gRUlO VkFMOwogCX0gZWxzZSBpZiAobmVnKQogCQlhY2MgPSAtYWNjOwogCWlmIChlbmRwdHIgIT0g TlVMTCkKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGxpYi9zdHJ0b2wuYyBiL25ld2xp Yi9saWJjL3N0ZGxpYi9zdHJ0b2wuYwppbmRleCA2MzgzYzI3ZTguLjA5ZDQzMzNlZCAxMDA2 NDQKLS0tIGEvbmV3bGliL2xpYmMvc3RkbGliL3N0cnRvbC5jCisrKyBiL25ld2xpYi9saWJj L3N0ZGxpYi9zdHJ0b2wuYwpAQCAtMjA0LDcgKzIwNCw3IEBAIF9zdHJ0b2xfbCAoc3RydWN0 IF9yZWVudCAqcnB0ciwgY29uc3QgY2hhciAqX19yZXN0cmljdCBucHRyLAogCX0KIAlpZiAo YW55IDwgMCkgewogCQlhY2MgPSBuZWcgPyBMT05HX01JTiA6IExPTkdfTUFYOwotCQlycHRy LT5fZXJybm8gPSBFUkFOR0U7CisJCV9SRUVOVF9FUlJOTyhycHRyKSA9IEVSQU5HRTsKIAl9 IGVsc2UgaWYgKG5lZykKIAkJYWNjID0gLWFjYzsKIAlpZiAoZW5kcHRyICE9IDApCmRpZmYg LS1naXQgYS9uZXdsaWIvbGliYy9zdGRsaWIvc3RydG9sbC5jIGIvbmV3bGliL2xpYmMvc3Rk bGliL3N0cnRvbGwuYwppbmRleCA5YWEyYzc0N2IuLjBmMmZhNTMxNSAxMDA2NDQKLS0tIGEv bmV3bGliL2xpYmMvc3RkbGliL3N0cnRvbGwuYworKysgYi9uZXdsaWIvbGliYy9zdGRsaWIv c3RydG9sbC5jCkBAIC0yMDEsNyArMjAxLDcgQEAgX3N0cnRvbGxfbCAoc3RydWN0IF9yZWVu dCAqcnB0ciwgY29uc3QgY2hhciAqX19yZXN0cmljdCBucHRyLAogCX0KIAlpZiAoYW55IDwg MCkgewogCQlhY2MgPSBuZWcgPyBMT05HX0xPTkdfTUlOIDogTE9OR19MT05HX01BWDsKLQkJ cnB0ci0+X2Vycm5vID0gRVJBTkdFOworCQlfUkVFTlRfRVJSTk8ocnB0cikgPSBFUkFOR0U7 CiAJfSBlbHNlIGlmIChuZWcpCiAJCWFjYyA9IC1hY2M7CiAJaWYgKGVuZHB0ciAhPSAwKQpk aWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkbGliL3N0cnRvdWwuYyBiL25ld2xpYi9saWJj L3N0ZGxpYi9zdHJ0b3VsLmMKaW5kZXggNDE5MWU0M2VjLi5kMzFiZGU1ZDIgMTAwNjQ0Ci0t LSBhL25ld2xpYi9saWJjL3N0ZGxpYi9zdHJ0b3VsLmMKKysrIGIvbmV3bGliL2xpYmMvc3Rk bGliL3N0cnRvdWwuYwpAQCAtMTc4LDcgKzE3OCw3IEBAIF9zdHJ0b3VsX2wgKHN0cnVjdCBf cmVlbnQgKnJwdHIsIGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgbnB0ciwKIAl9CiAJaWYgKGFu eSA8IDApIHsKIAkJYWNjID0gVUxPTkdfTUFYOwotCQlycHRyLT5fZXJybm8gPSBFUkFOR0U7 CisJCV9SRUVOVF9FUlJOTyhycHRyKSA9IEVSQU5HRTsKIAl9IGVsc2UgaWYgKG5lZykKIAkJ YWNjID0gLWFjYzsKIAlpZiAoZW5kcHRyICE9IDApCmRpZmYgLS1naXQgYS9uZXdsaWIvbGli Yy9zdGRsaWIvc3RydG91bGwuYyBiL25ld2xpYi9saWJjL3N0ZGxpYi9zdHJ0b3VsbC5jCmlu ZGV4IDEwMDE4Y2EwZC4uOTQzZGU2YjgzIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRs aWIvc3RydG91bGwuYworKysgYi9uZXdsaWIvbGliYy9zdGRsaWIvc3RydG91bGwuYwpAQCAt MTc2LDcgKzE3Niw3IEBAIF9zdHJ0b3VsbF9sIChzdHJ1Y3QgX3JlZW50ICpycHRyLCBjb25z dCBjaGFyICpfX3Jlc3RyaWN0IG5wdHIsCiAJfQogCWlmIChhbnkgPCAwKSB7CiAJCWFjYyA9 IFVMT05HX0xPTkdfTUFYOwotCQlycHRyLT5fZXJybm8gPSBFUkFOR0U7CisJCV9SRUVOVF9F UlJOTyhycHRyKSA9IEVSQU5HRTsKIAl9IGVsc2UgaWYgKG5lZykKIAkJYWNjID0gLWFjYzsK IAlpZiAoZW5kcHRyICE9IDApCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRsaWIvc3Ry dG91bWF4LmMgYi9uZXdsaWIvbGliYy9zdGRsaWIvc3RydG91bWF4LmMKaW5kZXggY2YxYTQy N2ZlLi5hZGNmMmIzMzggMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGxpYi9zdHJ0b3Vt YXguYworKysgYi9uZXdsaWIvbGliYy9zdGRsaWIvc3RydG91bWF4LmMKQEAgLTExNSwxMCAr MTE1LDEwIEBAIF9zdHJ0b3VtYXhfbChzdHJ1Y3QgX3JlZW50ICpycHRyLCBjb25zdCBjaGFy ICogX19yZXN0cmljdCBucHRyLAogCX0KIAlpZiAoYW55IDwgMCkgewogCQlhY2MgPSBVSU5U TUFYX01BWDsKLQkJcnB0ci0+X2Vycm5vID0gRVJBTkdFOworCQlfUkVFTlRfRVJSTk8ocnB0 cikgPSBFUkFOR0U7CiAJfSBlbHNlIGlmICghYW55KSB7CiBub2NvbnY6Ci0JCXJwdHItPl9l cnJubyA9IEVJTlZBTDsKKwkJX1JFRU5UX0VSUk5PKHJwdHIpID0gRUlOVkFMOwogCX0gZWxz ZSBpZiAobmVnKQogCQlhY2MgPSAtYWNjOwogCWlmIChlbmRwdHIgIT0gTlVMTCkKZGlmZiAt LWdpdCBhL25ld2xpYi9saWJjL3N0ZGxpYi93Y3J0b21iLmMgYi9uZXdsaWIvbGliYy9zdGRs aWIvd2NydG9tYi5jCmluZGV4IDk3NDM2Y2I3NC4uNmQ2NzBlMjNhIDEwMDY0NAotLS0gYS9u ZXdsaWIvbGliYy9zdGRsaWIvd2NydG9tYi5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGxpYi93 Y3J0b21iLmMKQEAgLTMxLDcgKzMxLDcgQEAgX3djcnRvbWJfciAoc3RydWN0IF9yZWVudCAq cHRyLAogICBpZiAocmV0dmFsID09IC0xKQogICAgIHsKICAgICAgIHBzLT5fX2NvdW50ID0g MDsKLSAgICAgIHB0ci0+X2Vycm5vID0gRUlMU0VROworICAgICAgX1JFRU5UX0VSUk5PKHB0 cikgPSBFSUxTRVE7CiAgICAgICByZXR1cm4gKHNpemVfdCkoLTEpOwogICAgIH0KICAgZWxz ZQpAQCAtNjcsNyArNjcsNyBAQCB3Y3J0b21iIChjaGFyICpfX3Jlc3RyaWN0IHMsCiAgIGlm IChyZXR2YWwgPT0gLTEpCiAgICAgewogICAgICAgcHMtPl9fY291bnQgPSAwOwotICAgICAg cmVlbnQtPl9lcnJubyA9IEVJTFNFUTsKKyAgICAgIF9SRUVOVF9FUlJOTyhyZWVudCkgPSBF SUxTRVE7CiAgICAgICByZXR1cm4gKHNpemVfdCkoLTEpOwogICAgIH0KICAgZWxzZQpkaWZm IC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkbGliL3djc25ydG9tYnMuYyBiL25ld2xpYi9saWJj L3N0ZGxpYi93Y3NucnRvbWJzLmMKaW5kZXggNDNkZDJmM2U2Li5kZmQ5NzRmMjQgMTAwNjQ0 Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGxpYi93Y3NucnRvbWJzLmMKKysrIGIvbmV3bGliL2xp YmMvc3RkbGliL3djc25ydG9tYnMuYwpAQCAtMTA0LDcgKzEwNCw3IEBAIF93Y3NucnRvbWJz X2wgKHN0cnVjdCBfcmVlbnQgKnIsIGNoYXIgKmRzdCwgY29uc3Qgd2NoYXJfdCAqKnNyYywg c2l6ZV90IG53YywKICAgICAgIGludCBieXRlcyA9IGxvYy0+d2N0b21iIChyLCBidWZmLCAq cHdjcywgcHMpOwogICAgICAgaWYgKGJ5dGVzID09IC0xKQogCXsKLQkgIHItPl9lcnJubyA9 IEVJTFNFUTsKKwkgIF9SRUVOVF9FUlJOTyhyKSA9IEVJTFNFUTsKIAkgIHBzLT5fX2NvdW50 ID0gMDsKIAkgIHJldHVybiAoc2l6ZV90KS0xOwogCX0KZGlmZiAtLWdpdCBhL25ld2xpYi9s aWJjL3N0ZGxpYi93Y3N0b2QuYyBiL25ld2xpYi9saWJjL3N0ZGxpYi93Y3N0b2QuYwppbmRl eCAzNzVmZmUyODguLjdiMDk4MzQ3MCAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvc3RkbGli L3djc3RvZC5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGxpYi93Y3N0b2QuYwpAQCAtMjU3LDcg KzI1Nyw3IEBAIHdjc3RvZl9sIChjb25zdCB3Y2hhcl90ICpfX3Jlc3RyaWN0IG5wdHIsIHdj aGFyX3QgKipfX3Jlc3RyaWN0IGVuZHB0ciwKICAgZmxvYXQgcmV0dmFsID0gKGZsb2F0KSB2 YWw7CiAjaWZuZGVmIE5PX0VSUk5PCiAgIGlmIChpc2luZiAocmV0dmFsKSAmJiAhaXNpbmYg KHZhbCkpCi0gICAgX1JFRU5ULT5fZXJybm8gPSBFUkFOR0U7CisgICAgX1JFRU5UX0VSUk5P KF9SRUVOVCkgPSBFUkFOR0U7CiAjZW5kaWYKICAgcmV0dXJuIHJldHZhbDsKIH0KQEAgLTI3 Miw3ICsyNzIsNyBAQCB3Y3N0b2YgKGNvbnN0IHdjaGFyX3QgKl9fcmVzdHJpY3QgbnB0ciwK ICAgZmxvYXQgcmV0dmFsID0gKGZsb2F0KSB2YWw7CiAjaWZuZGVmIE5PX0VSUk5PCiAgIGlm IChpc2luZiAocmV0dmFsKSAmJiAhaXNpbmYgKHZhbCkpCi0gICAgX1JFRU5ULT5fZXJybm8g PSBFUkFOR0U7CisgICAgX1JFRU5UX0VSUk5PKF9SRUVOVCkgPSBFUkFOR0U7CiAjZW5kaWYK IAogICByZXR1cm4gcmV0dmFsOwpkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkbGliL3dj c3RvaW1heC5jIGIvbmV3bGliL2xpYmMvc3RkbGliL3djc3RvaW1heC5jCmluZGV4IDAyYWIx YzFmNC4uMGM5MzljOTc4IDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRsaWIvd2NzdG9p bWF4LmMKKysrIGIvbmV3bGliL2xpYmMvc3RkbGliL3djc3RvaW1heC5jCkBAIC0xMjIsMTAg KzEyMiwxMCBAQCBfd2NzdG9pbWF4X2woc3RydWN0IF9yZWVudCAqcnB0ciwgY29uc3Qgd2No YXJfdCAqIF9fcmVzdHJpY3QgbnB0ciwKIAl9CiAJaWYgKGFueSA8IDApIHsKIAkJYWNjID0g bmVnID8gSU5UTUFYX01JTiA6IElOVE1BWF9NQVg7Ci0JCXJwdHItPl9lcnJubyA9IEVSQU5H RTsKKwkJX1JFRU5UX0VSUk5PKHJwdHIpID0gRVJBTkdFOwogCX0gZWxzZSBpZiAoIWFueSkg ewogbm9jb252OgotCQlycHRyLT5fZXJybm8gPSBFSU5WQUw7CisJCV9SRUVOVF9FUlJOTyhy cHRyKSA9IEVJTlZBTDsKIAl9IGVsc2UgaWYgKG5lZykKIAkJYWNjID0gLWFjYzsKIAlpZiAo ZW5kcHRyICE9IE5VTEwpCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy9zdGRsaWIvd2NzdG9s LmMgYi9uZXdsaWIvbGliYy9zdGRsaWIvd2NzdG9sLmMKaW5kZXggOGI2ZGUzODczLi4yYThj MjhmOTcgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGxpYi93Y3N0b2wuYworKysgYi9u ZXdsaWIvbGliYy9zdGRsaWIvd2NzdG9sLmMKQEAgLTIwMCw3ICsyMDAsNyBAQCBfd2NzdG9s X2wgKHN0cnVjdCBfcmVlbnQgKnJwdHIsIGNvbnN0IHdjaGFyX3QgKm5wdHIsIHdjaGFyX3Qg KiplbmRwdHIsCiAJfQogCWlmIChhbnkgPCAwKSB7CiAJCWFjYyA9IG5lZyA/IExPTkdfTUlO IDogTE9OR19NQVg7Ci0JCXJwdHItPl9lcnJubyA9IEVSQU5HRTsKKwkJX1JFRU5UX0VSUk5P KHJwdHIpID0gRVJBTkdFOwogCX0gZWxzZSBpZiAobmVnKQogCQlhY2MgPSAtYWNjOwogCWlm IChlbmRwdHIgIT0gMCkKZGlmZiAtLWdpdCBhL25ld2xpYi9saWJjL3N0ZGxpYi93Y3N0b2xs LmMgYi9uZXdsaWIvbGliYy9zdGRsaWIvd2NzdG9sbC5jCmluZGV4IGMwZTVkYzc0Ny4uMzRh N2UzNzZkIDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRsaWIvd2NzdG9sbC5jCisrKyBi L25ld2xpYi9saWJjL3N0ZGxpYi93Y3N0b2xsLmMKQEAgLTIwMCw3ICsyMDAsNyBAQCBfd2Nz dG9sbF9sIChzdHJ1Y3QgX3JlZW50ICpycHRyLCBjb25zdCB3Y2hhcl90ICpucHRyLCB3Y2hh cl90ICoqZW5kcHRyLAogCX0KIAlpZiAoYW55IDwgMCkgewogCQlhY2MgPSBuZWcgPyBMT05H X0xPTkdfTUlOIDogTE9OR19MT05HX01BWDsKLQkJcnB0ci0+X2Vycm5vID0gRVJBTkdFOwor CQlfUkVFTlRfRVJSTk8ocnB0cikgPSBFUkFOR0U7CiAJfSBlbHNlIGlmIChuZWcpCiAJCWFj YyA9IC1hY2M7CiAJaWYgKGVuZHB0ciAhPSAwKQpkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMv c3RkbGliL3djc3RvdWwuYyBiL25ld2xpYi9saWJjL3N0ZGxpYi93Y3N0b3VsLmMKaW5kZXgg ZmUzYzg3ODY3Li45Yzc4ZmMzYjQgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3N0ZGxpYi93 Y3N0b3VsLmMKKysrIGIvbmV3bGliL2xpYmMvc3RkbGliL3djc3RvdWwuYwpAQCAtMTc5LDcg KzE3OSw3IEBAIF93Y3N0b3VsX2wgKHN0cnVjdCBfcmVlbnQgKnJwdHIsIGNvbnN0IHdjaGFy X3QgKm5wdHIsIHdjaGFyX3QgKiplbmRwdHIsCiAJfQogCWlmIChhbnkgPCAwKSB7CiAJCWFj YyA9IFVMT05HX01BWDsKLQkJcnB0ci0+X2Vycm5vID0gRVJBTkdFOworCQlfUkVFTlRfRVJS Tk8ocnB0cikgPSBFUkFOR0U7CiAJfSBlbHNlIGlmIChuZWcpCiAJCWFjYyA9IC1hY2M7CiAJ aWYgKGVuZHB0ciAhPSAwKQpkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkbGliL3djc3Rv dWxsLmMgYi9uZXdsaWIvbGliYy9zdGRsaWIvd2NzdG91bGwuYwppbmRleCA1YWMzMjU3OTAu LjA5NDIyZmE5NyAxMDA2NDQKLS0tIGEvbmV3bGliL2xpYmMvc3RkbGliL3djc3RvdWxsLmMK KysrIGIvbmV3bGliL2xpYmMvc3RkbGliL3djc3RvdWxsLmMKQEAgLTE1MCw3ICsxNTAsNyBA QCBfd2NzdG91bGxfbCAoc3RydWN0IF9yZWVudCAqcnB0ciwgY29uc3Qgd2NoYXJfdCAqbnB0 ciwgd2NoYXJfdCAqKmVuZHB0ciwKIAlyZWdpc3RlciBpbnQgbmVnID0gMCwgYW55LCBjdXRs aW07CiAKIAlpZihiYXNlIDwgMCAgfHwgIGJhc2UgPT0gMSAgfHwgIGJhc2UgPiAzNikgIHsK LQkJcnB0ci0+X2Vycm5vID0gRUlOVkFMOworCQlfUkVFTlRfRVJSTk8ocnB0cikgPSBFSU5W QUw7CiAJCXJldHVybigwVUxMKTsKIAl9CiAJLyoKQEAgLTE5NSw3ICsxOTUsNyBAQCBfd2Nz dG91bGxfbCAoc3RydWN0IF9yZWVudCAqcnB0ciwgY29uc3Qgd2NoYXJfdCAqbnB0ciwgd2No YXJfdCAqKmVuZHB0ciwKIAl9CiAJaWYgKGFueSA8IDApIHsKIAkJYWNjID0gVUxMT05HX01B WDsKLQkJcnB0ci0+X2Vycm5vID0gRVJBTkdFOworCQlfUkVFTlRfRVJSTk8ocnB0cikgPSBF UkFOR0U7CiAJfSBlbHNlIGlmIChuZWcpCiAJCWFjYyA9IC1hY2M7CiAJaWYgKGVuZHB0ciAh PSAwKQpkaWZmIC0tZ2l0IGEvbmV3bGliL2xpYmMvc3RkbGliL3djc3RvdW1heC5jIGIvbmV3 bGliL2xpYmMvc3RkbGliL3djc3RvdW1heC5jCmluZGV4IDE3YjUyNzVmYS4uNjIzZjViOTQ3 IDEwMDY0NAotLS0gYS9uZXdsaWIvbGliYy9zdGRsaWIvd2NzdG91bWF4LmMKKysrIGIvbmV3 bGliL2xpYmMvc3RkbGliL3djc3RvdW1heC5jCkBAIC0xMjEsMTAgKzEyMSwxMCBAQCBfd2Nz dG91bWF4X2woc3RydWN0IF9yZWVudCAqcnB0cixjb25zdCB3Y2hhcl90ICogX19yZXN0cmlj dCBucHRyLAogCX0KIAlpZiAoYW55IDwgMCkgewogCQlhY2MgPSBVSU5UTUFYX01BWDsKLQkJ cnB0ci0+X2Vycm5vID0gRVJBTkdFOworCQlfUkVFTlRfRVJSTk8ocnB0cikgPSBFUkFOR0U7 CiAJfSBlbHNlIGlmICghYW55KSB7CiBub2NvbnY6Ci0JCXJwdHItPl9lcnJubyA9IEVJTlZB TDsKKwkJX1JFRU5UX0VSUk5PKHJwdHIpID0gRUlOVkFMOwogCX0gZWxzZSBpZiAobmVnKQog CQlhY2MgPSAtYWNjOwogCWlmIChlbmRwdHIgIT0gTlVMTCkKZGlmZiAtLWdpdCBhL25ld2xp Yi9saWJjL3N0ZGxpYi93Y3RvbWJfci5jIGIvbmV3bGliL2xpYmMvc3RkbGliL3djdG9tYl9y LmMKaW5kZXggYjQ3OTkzNDFlLi5hN2Y4N2NkOWUgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJj L3N0ZGxpYi93Y3RvbWJfci5jCisrKyBiL25ld2xpYi9saWJjL3N0ZGxpYi93Y3RvbWJfci5j CkBAIC0zNSw3ICszNSw3IEBAIF9fYXNjaWlfd2N0b21iIChzdHJ1Y3QgX3JlZW50ICpyLAog ICBpZiAoKHNpemVfdCl3Y2hhciA+PSAweDEwMCkKICNlbmRpZgogICAgIHsKLSAgICAgIHIt Pl9lcnJubyA9IEVJTFNFUTsKKyAgICAgIF9SRUVOVF9FUlJOTyhyKSA9IEVJTFNFUTsKICAg ICAgIHJldHVybiAtMTsKICAgICB9CiAKQEAgLTEzMyw3ICsxMzMsNyBAQCBfX3V0Zjhfd2N0 b21iIChzdHJ1Y3QgX3JlZW50ICpyLAogICAgICAgcmV0dXJuIDQ7CiAgICAgfQogCi0gIHIt Pl9lcnJubyA9IEVJTFNFUTsKKyAgX1JFRU5UX0VSUk5PKHIpID0gRUlMU0VROwogICByZXR1 cm4gLTE7CiB9CiAKQEAgLTE2NSw3ICsxNjUsNyBAQCBfX3NqaXNfd2N0b21iIChzdHJ1Y3Qg X3JlZW50ICpyLAogCX0KICAgICAgIGVsc2UKIAl7Ci0JICByLT5fZXJybm8gPSBFSUxTRVE7 CisJICBfUkVFTlRfRVJSTk8ocikgPSBFSUxTRVE7CiAJICByZXR1cm4gLTE7CiAJfQogICAg IH0KQEAgLTIwNCw3ICsyMDQsNyBAQCBfX2V1Y2pwX3djdG9tYiAoc3RydWN0IF9yZWVudCAq ciwKIAl9CiAgICAgICBlbHNlCiAJewotCSAgci0+X2Vycm5vID0gRUlMU0VROworCSAgX1JF RU5UX0VSUk5PKHIpID0gRUlMU0VROwogCSAgcmV0dXJuIC0xOwogCX0KICAgICB9CkBAIC0y NDQsNyArMjQ0LDcgQEAgX19qaXNfd2N0b21iIChzdHJ1Y3QgX3JlZW50ICpyLAogCSAgKnMg PSAoY2hhciljaGFyMjsKIAkgIHJldHVybiBjbnQgKyAyOwogCX0KLSAgICAgIHItPl9lcnJu byA9IEVJTFNFUTsKKyAgICAgIF9SRUVOVF9FUlJOTyhyKSA9IEVJTFNFUTsKICAgICAgIHJl dHVybiAtMTsKICAgICB9CiAgIGlmIChzdGF0ZS0+X19zdGF0ZSAhPSAwKQpAQCAtMjg0LDE0 ICsyODQsMTQgQEAgX19faXNvX3djdG9tYiAoc3RydWN0IF9yZWVudCAqciwgY2hhciAqcywg d2NoYXJfdCBfd2NoYXIsIGludCBpc29faWR4LAogCQkqcyA9IChjaGFyKSAobWIgKyAweGEw KTsKIAkJcmV0dXJuIDE7CiAJICAgICAgfQotCSAgci0+X2Vycm5vID0gRUlMU0VROworCSAg X1JFRU5UX0VSUk5PKHIpID0gRUlMU0VROwogCSAgcmV0dXJuIC0xOwogCX0KICAgICB9CiAg CiAgIGlmICgoc2l6ZV90KXdjaGFyID49IDB4MTAwKQogICAgIHsKLSAgICAgIHItPl9lcnJu byA9IEVJTFNFUTsKKyAgICAgIF9SRUVOVF9FUlJOTyhyKSA9IEVJTFNFUTsKICAgICAgIHJl dHVybiAtMTsKICAgICB9CiAKQEAgLTQ0MCwxNCArNDQwLDE0IEBAIF9fX2NwX3djdG9tYiAo c3RydWN0IF9yZWVudCAqciwgY2hhciAqcywgd2NoYXJfdCBfd2NoYXIsIGludCBjcF9pZHgs CiAJCSpzID0gKGNoYXIpIChtYiArIDB4ODApOwogCQlyZXR1cm4gMTsKIAkgICAgICB9Ci0J ICByLT5fZXJybm8gPSBFSUxTRVE7CisJICBfUkVFTlRfRVJSTk8ocikgPSBFSUxTRVE7CiAJ ICByZXR1cm4gLTE7CiAJfQogICAgIH0KIAogICBpZiAoKHNpemVfdCl3Y2hhciA+PSAweDEw MCkKICAgICB7Ci0gICAgICByLT5fZXJybm8gPSBFSUxTRVE7CisgICAgICBfUkVFTlRfRVJS Tk8ocikgPSBFSUxTRVE7CiAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCmRpZmYgLS1naXQg YS9uZXdsaWIvbGliYy9zdHJpbmcvc3RyZXJyb3IuYyBiL25ld2xpYi9saWJjL3N0cmluZy9z dHJlcnJvci5jCmluZGV4IGMxYjkzNDY5Ni4uOGY5NjFkM2I1IDEwMDY0NAotLS0gYS9uZXds aWIvbGliYy9zdHJpbmcvc3RyZXJyb3IuYworKysgYi9uZXdsaWIvbGliYy9zdHJpbmcvc3Ry ZXJyb3IuYwpAQCAtODgyLDcgKzg4Miw3IEBAIF9zdHJlcnJvcl9yIChzdHJ1Y3QgX3JlZW50 ICpwdHIsCiAjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgaWYgKCFlcnJwdHIpCi0gICAg ICAgIGVycnB0ciA9ICZwdHItPl9lcnJubzsKKyAgICAgICAgZXJycHRyID0gJl9SRUVOVF9F UlJOTyhwdHIpOwogICAgICAgaWYgKChlcnJvciA9IF91c2VyX3N0cmVycm9yIChlcnJudW0s IGludGVybmFsLCBlcnJwdHIpKSA9PSAwKQogICAgICAgICBlcnJvciA9ICIiOwogICAgICAg YnJlYWs7CmRpZmYgLS1naXQgYS93aW5zdXAvY3lnd2luL2N5Z2Vycm5vLmggYi93aW5zdXAv Y3lnd2luL2N5Z2Vycm5vLmgKaW5kZXggOTQwYmZhNWUwLi5lMWMzZjA0ZjcgMTAwNjQ0Ci0t LSBhL3dpbnN1cC9jeWd3aW4vY3lnZXJybm8uaAorKysgYi93aW5zdXAvY3lnd2luL2N5Z2Vy cm5vLmgKQEAgLTM2LDcgKzM2LDcgQEAgZXh0ZXJuIGlubGluZSBpbnQKIF9fc2V0X2Vycm5v IChjb25zdCBjaGFyICpmbiwgaW50IGxuLCBpbnQgdmFsKQogewogICBkZWJ1Z19wcmludGYg KCIlczolZCBzZXR0aW5nIGVycm5vICVkIiwgZm4sIGxuLCB2YWwpOwotICByZXR1cm4gZXJy bm8gPSBfaW1wdXJlX3B0ci0+X2Vycm5vID0gdmFsOworICByZXR1cm4gZXJybm8gPSBfUkVF TlRfRVJSTk8oX2ltcHVyZV9wdHIpID0gdmFsOwogfQogI2RlZmluZSBzZXRfZXJybm8odmFs KSBfX3NldF9lcnJubyAoX19QUkVUVFlfRlVOQ1RJT05fXywgX19MSU5FX18sICh2YWwpKQog CkBAIC01NSw3ICs1NSw3IEBAIGNsYXNzIHNhdmVfZXJybm8KICAgICBzYXZlX2Vycm5vIChp bnQgd2hhdCkge3NhdmVkID0gZ2V0X2Vycm5vICgpOyBzZXRfZXJybm8gKHdoYXQpOyB9CiAg ICAgdm9pZCBzZXQgKGludCB3aGF0KSB7c2V0X2Vycm5vICh3aGF0KTsgc2F2ZWQgPSB3aGF0 O30KICAgICB2b2lkIHJlc2V0ICgpIHtzYXZlZCA9IGdldF9lcnJubyAoKTt9Ci0gICAgfnNh dmVfZXJybm8gKCkge2Vycm5vID0gX2ltcHVyZV9wdHItPl9lcnJubyA9IHNhdmVkO30KKyAg ICB+c2F2ZV9lcnJubyAoKSB7ZXJybm8gPSBfUkVFTlRfRVJSTk8oX2ltcHVyZV9wdHIpID0g c2F2ZWQ7fQogICB9OwogCiBleHRlcm4gY29uc3QgY2hhciAqX19zcF9mbjsKZGlmZiAtLWdp dCBhL3dpbnN1cC9jeWd3aW4vZXJybm8uY2MgYi93aW5zdXAvY3lnd2luL2Vycm5vLmNjCmlu ZGV4IGYyMDBlNWI3My4uMmYyYzI2OTg0IDEwMDY0NAotLS0gYS93aW5zdXAvY3lnd2luL2Vy cm5vLmNjCisrKyBiL3dpbnN1cC9jeWd3aW4vZXJybm8uY2MKQEAgLTMzNSw3ICszMzUsNyBA QCB2b2lkCiBzZXRlcnJub19mcm9tX3dpbl9lcnJvciAoY29uc3QgY2hhciAqZmlsZSwgaW50 IGxpbmUsIERXT1JEIGNvZGUpCiB7CiAgIHN5c2NhbGxfcHJpbnRmICgiJXM6JWQgd2luZG93 cyBlcnJvciAldSIsIGZpbGUsIGxpbmUsIGNvZGUpOwotICBlcnJubyA9IF9pbXB1cmVfcHRy LT5fZXJybm8gPSAgZ2V0ZXJybm9fZnJvbV93aW5fZXJyb3IgKGNvZGUsIEVBQ0NFUyk7Cisg IGVycm5vID0gX1JFRU5UX0VSUk5PKF9pbXB1cmVfcHRyKSA9ICBnZXRlcnJub19mcm9tX3dp bl9lcnJvciAoY29kZSwgRUFDQ0VTKTsKIH0KIAogaW50CkBAIC0zNTMsNyArMzUzLDcgQEAg c2V0ZXJybm9fZnJvbV9udF9zdGF0dXMgKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBO VFNUQVRVUyBzdGF0dXMpCiAgIFNldExhc3RFcnJvciAoY29kZSk7CiAgIHN5c2NhbGxfcHJp bnRmICgiJXM6JWQgc3RhdHVzICV5IC0+IHdpbmRvd3MgZXJyb3IgJXUiLAogCQkgIGZpbGUs IGxpbmUsIHN0YXR1cywgY29kZSk7Ci0gIGVycm5vID0gX2ltcHVyZV9wdHItPl9lcnJubyA9 ICBnZXRlcnJub19mcm9tX3dpbl9lcnJvciAoY29kZSwgRUFDQ0VTKTsKKyAgZXJybm8gPSBf UkVFTlRfRVJSTk8oX2ltcHVyZV9wdHIpID0gIGdldGVycm5vX2Zyb21fd2luX2Vycm9yIChj b2RlLCBFQUNDRVMpOwogfQogCiBzdGF0aWMgY2hhciAqCmRpZmYgLS1naXQgYS93aW5zdXAv Y3lnd2luL3N0cmZ1bmNzLmNjIGIvd2luc3VwL2N5Z3dpbi9zdHJmdW5jcy5jYwppbmRleCA5 YTk3YjNhMjQuLjIyYTc5YjYxNCAxMDA2NDQKLS0tIGEvd2luc3VwL2N5Z3dpbi9zdHJmdW5j cy5jYworKysgYi93aW5zdXAvY3lnd2luL3N0cmZ1bmNzLmNjCkBAIC0xNDQsNyArMTQ0LDcg QEAgX19kYl93Y3RvbWIgKHN0cnVjdCBfcmVlbnQgKnIsIGNoYXIgKnMsIHdjaGFyX3Qgd2No YXIsIFVJTlQgY3ApCiAgIGlmIChyZXQgPiAwICYmICFkZWZfdXNlZCkKICAgICByZXR1cm4g cmV0OwogCi0gIHItPl9lcnJubyA9IEVJTFNFUTsKKyAgX1JFRU5UX0VSUk5PKHIpID0gRUlM U0VROwogICByZXR1cm4gLTE7CiB9CiAKQEAgLTE5NCw3ICsxOTQsNyBAQCBfX2V1Y2pwX3dj dG9tYiAoc3RydWN0IF9yZWVudCAqciwgY2hhciAqcywgd2NoYXJfdCB3Y2hhciwgbWJzdGF0 ZV90ICpzdGF0ZSkKICAgICAgIHJldHVybiByZXQ7CiAgICAgfQogCi0gIHItPl9lcnJubyA9 IEVJTFNFUTsKKyAgX1JFRU5UX0VSUk5PKHIpID0gRUlMU0VROwogICByZXR1cm4gLTE7CiB9 CiAKQEAgLTI1NSw3ICsyNTUsNyBAQCBfX2RiX21idG93YyAoc3RydWN0IF9yZWVudCAqciwg d2NoYXJfdCAqcHdjLCBjb25zdCBjaGFyICpzLCBzaXplX3QgbiwgVUlOVCBjcCwKIAkgaGVy ZSBpcyB0byBjaGVjayBpZiB0aGUgZmlyc3QgYnl0ZSByZXR1cm5zIGEgdmFsaWQgdmFsdWUu Li4gKi8KICAgICAgIGVsc2UgaWYgKE11bHRpQnl0ZVRvV2lkZUNoYXIgKGNwLCBNQl9FUlJf SU5WQUxJRF9DSEFSUywgcywgMSwgcHdjLCAxKSkKIAlyZXR1cm4gMTsKLSAgICAgIHItPl9l cnJubyA9IEVJTFNFUTsKKyAgICAgIF9SRUVOVF9FUlJOTyhyKSA9IEVJTFNFUTsKICAgICAg IHJldHVybiAtMTsKICAgICB9CiAgIHN0YXRlLT5fX3ZhbHVlLl9fd2NoYltzdGF0ZS0+X19j b3VudF0gPSAqczsKQEAgLTI2Myw3ICsyNjMsNyBAQCBfX2RiX21idG93YyAoc3RydWN0IF9y ZWVudCAqciwgd2NoYXJfdCAqcHdjLCBjb25zdCBjaGFyICpzLCBzaXplX3QgbiwgVUlOVCBj cCwKIAkJCSAgICAgKGNvbnN0IGNoYXIgKikgc3RhdGUtPl9fdmFsdWUuX193Y2hiLCAyLCBw d2MsIDEpOwogICBpZiAoIXJldCkKICAgICB7Ci0gICAgICByLT5fZXJybm8gPSBFSUxTRVE7 CisgICAgICBfUkVFTlRfRVJSTk8ocikgPSBFSUxTRVE7CiAgICAgICByZXR1cm4gLTE7CiAg ICAgfQogICBzdGF0ZS0+X19jb3VudCA9IDA7CkBAIC0zMjQsNyArMzI0LDcgQEAgX19ldWNq cF9tYnRvd2MgKHN0cnVjdCBfcmVlbnQgKnIsIHdjaGFyX3QgKnB3YywgY29uc3QgY2hhciAq cywgc2l6ZV90IG4sCiAJfQogICAgICAgZWxzZSBpZiAoTXVsdGlCeXRlVG9XaWRlQ2hhciAo MjA5MzIsIE1CX0VSUl9JTlZBTElEX0NIQVJTLCBzLCAxLCBwd2MsIDEpKQogCXJldHVybiAx OwotICAgICAgci0+X2Vycm5vID0gRUlMU0VROworICAgICAgX1JFRU5UX0VSUk5PKHIpID0g RUlMU0VROwogICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgc3RhdGUtPl9fdmFsdWUuX193 Y2hiW3N0YXRlLT5fX2NvdW50KytdID0gKnM7CkBAIC0zNDcsNyArMzQ3LDcgQEAgamlzX3hf MDIxMjoKICAgaWYgKCFNdWx0aUJ5dGVUb1dpZGVDaGFyICgyMDkzMiwgTUJfRVJSX0lOVkFM SURfQ0hBUlMsCiAJCQkgICAgKGNvbnN0IGNoYXIgKikgc3RhdGUtPl9fdmFsdWUuX193Y2hi LCAyLCBwd2MsIDEpKQogICAgIHsKLSAgICAgIHItPl9lcnJubyA9IEVJTFNFUTsKKyAgICAg IF9SRUVOVF9FUlJOTyhyKSA9IEVJTFNFUTsKICAgICAgIHJldHVybiAtMTsKICAgICB9CiAg IHN0YXRlLT5fX2NvdW50ID0gMDsKZGlmZiAtLWdpdCBhL3dpbnN1cC9jeWd3aW4vc3lzY2Fs bHMuY2MgYi93aW5zdXAvY3lnd2luL3N5c2NhbGxzLmNjCmluZGV4IDdkNTNjMmFmNy4uYjgy NjBiNGQxIDEwMDY0NAotLS0gYS93aW5zdXAvY3lnd2luL3N5c2NhbGxzLmNjCisrKyBiL3dp bnN1cC9jeWd3aW4vc3lzY2FsbHMuY2MKQEAgLTE5MDAsNyArMTkwMCw3IEBAIF9mc3RhdF9y IChzdHJ1Y3QgX3JlZW50ICpwdHIsIGludCBmZCwgc3RydWN0IHN0YXQgKmJ1ZikKICAgaW50 IHJldDsKIAogICBpZiAoKHJldCA9IGZzdGF0IChmZCwgYnVmKSkgPT0gLTEpCi0gICAgcHRy LT5fZXJybm8gPSBnZXRfZXJybm8gKCk7CisgICAgX1JFRU5UX0VSUk5PKHB0cikgPSBnZXRf ZXJybm8gKCk7CiAgIHJldHVybiByZXQ7CiB9CiAKQEAgLTIwNTEsNyArMjA1MSw3IEBAIF9z dGF0X3IgKHN0cnVjdCBfcmVlbnQgKl9fcmVzdHJpY3QgcHRyLCBjb25zdCBjaGFyICpfX3Jl c3RyaWN0IG5hbWUsCiAgIGludCByZXQ7CiAKICAgaWYgKChyZXQgPSBzdGF0IChuYW1lLCBi dWYpKSA9PSAtMSkKLSAgICBwdHItPl9lcnJubyA9IGdldF9lcnJubyAoKTsKKyAgICBfUkVF TlRfRVJSTk8ocHRyKSA9IGdldF9lcnJubyAoKTsKICAgcmV0dXJuIHJldDsKIH0KIAotLSAK Mi4zNS4zCgo= --------------JjdulikXa3H4gB1zVsHRBDDU--