From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C145EC34034 for ; Tue, 18 Feb 2020 10:10:26 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 55FC024125 for ; Tue, 18 Feb 2020 10:10:26 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="TgXbkhHq" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 55FC024125 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=kalrayinc.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Subject:References: In-Reply-To:Message-ID:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=ObYW89WJXm6Feo2zxNYcZYXccOto/irjPAodfahsOi8=; b=TgXbkhHqnUnkhO nnlS2Sbai1Oa904DSAwBz4zVCuF/2qAH9wOz1JFWgMrazk8BenOrR6CxFqnCpmaLEvWAUGdTSUoB2 wu+Hr2ncWrTh0ramkYoBxrgoEv0BJzdshbxB1rpKHy538wKkub7vyc+LPN4kgOLd4YQHSLu9GVeaN +o//3K0IthxldNZTWqbXNIL4zulkij3wz1cBZpKQinQQkLFO8GplR9d8NkUSTyUOV7qGRMDTVARhq ATHZAYY/SWVXrIxMMSMmdAFIy9WHOUkWdnZGppqas2aKmp8vzL5LkUUD8p8nna7sDO0bDPJMXVL0F CyWe4wWyyNgEjEwGRQJw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1j3zpY-0007CO-Gf; Tue, 18 Feb 2020 10:10:16 +0000 Received: from zimbra2.kalray.eu ([92.103.151.219]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1j3zpS-0006ax-D7 for linux-arm-kernel@lists.infradead.org; Tue, 18 Feb 2020 10:10:14 +0000 Received: from localhost (localhost [127.0.0.1]) by zimbra2.kalray.eu (Postfix) with ESMTP id 58F4927E1650; Tue, 18 Feb 2020 11:10:05 +0100 (CET) Received: from zimbra2.kalray.eu ([127.0.0.1]) by localhost (zimbra2.kalray.eu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id aBAB94zh_Hyx; Tue, 18 Feb 2020 11:10:04 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by zimbra2.kalray.eu (Postfix) with ESMTP id 57B7E27E058F; Tue, 18 Feb 2020 11:10:04 +0100 (CET) X-Virus-Scanned: amavisd-new at zimbra2.kalray.eu Received: from zimbra2.kalray.eu ([127.0.0.1]) by localhost (zimbra2.kalray.eu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id R7WFYViiMMDj; Tue, 18 Feb 2020 11:10:04 +0100 (CET) Received: from zimbra2.kalray.eu (localhost [127.0.0.1]) by zimbra2.kalray.eu (Postfix) with ESMTP id 32F1A27E1650; Tue, 18 Feb 2020 11:10:04 +0100 (CET) Date: Tue, 18 Feb 2020 11:10:04 +0100 (CET) From: =?utf-8?Q?Cl=C3=A9ment?= Leger To: Mathieu Poirier Message-ID: <838984434.4934674.1582020604015.JavaMail.zimbra@kalray.eu> In-Reply-To: References: <527785289.2852303.1581062223707.JavaMail.zimbra@kalray.eu> <20200210162209.23149-1-cleger@kalray.eu> <20200210162209.23149-2-cleger@kalray.eu> <4465bade-e3de-88b8-63a5-e5410de9adc0@st.com> <884697376.3644142.1581439161953.JavaMail.zimbra@kalray.eu> <20200211223715.GA27770@xps15> <296765414.3763778.1581503820255.JavaMail.zimbra@kalray.eu> Subject: Re: [PATCH v4 1/5] remoteproc: Use u64 len for da_to_va MIME-Version: 1.0 X-Originating-IP: [192.168.40.202] X-Mailer: Zimbra 8.8.15_GA_3895 (ZimbraWebClient - GC75 (Linux)/8.8.15_GA_3895) Thread-Topic: remoteproc: Use u64 len for da_to_va Thread-Index: Qhvxe95iDK5EsIjlyXH8etHXh1QScg== X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200218_021010_812110_29753EEF X-CRM114-Status: GOOD ( 27.71 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ohad Ben-Cohen , Fabio Estevam , Loic PALLARDY , Jonathan Corbet , linux-remoteproc , Sascha Hauer , linux-doc , Arnaud Pouliquen , Patrice Chotard , Bjorn Andersson , Andy Gross , NXP Linux Team , Pengutronix Kernel Team , linux-arm-msm , s-anna , Shawn Guo , linux-kernel , linux-arm-kernel Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgTWF0aGlldSwKCi0tLS0tIE9uIDEyIEZlYiwgMjAyMCwgYXQgMjI6NTksIE1hdGhpZXUgUG9p cmllciBtYXRoaWV1LnBvaXJpZXJAbGluYXJvLm9yZyB3cm90ZToKCj4gT24gV2VkLCAxMiBGZWIg MjAyMCBhdCAwMzozNywgQ2zDqW1lbnQgTGVnZXIgPGNsZWdlckBrYWxyYXkuZXU+IHdyb3RlOgo+ Pgo+PiBIaSBNYXRoaWV1LAo+Pgo+PiAtLS0tLSBPbiAxMSBGZWIsIDIwMjAsIGF0IDIzOjM3LCBN YXRoaWV1IFBvaXJpZXIgbWF0aGlldS5wb2lyaWVyQGxpbmFyby5vcmcKPj4gd3JvdGU6Cj4+Cj4+ ID4gT24gVHVlLCBGZWIgMTEsIDIwMjAgYXQgMDU6Mzk6MjFQTSArMDEwMCwgQ2zDqW1lbnQgTGVn ZXIgd3JvdGU6Cj4+ID4+IEhpIEFybmF1ZCwKPj4gPj4KPj4gPj4gLS0tLS0gT24gMTEgRmViLCAy MDIwLCBhdCAxNjo1MywgQXJuYXVkIFBvdWxpcXVlbiBhcm5hdWQucG91bGlxdWVuQHN0LmNvbSB3 cm90ZToKPj4gPj4KPj4gPj4gPiBPbiAyLzEwLzIwIDU6MjIgUE0sIENsZW1lbnQgTGVnZXIgd3Jv dGU6Cj4+ID4+ID4+IFdpdGggdXBjb21pbmcgY2hhbmdlcyBpbiBlbGYgbG9hZGVyIGZvciBlbGY2 NCBzdXBwb3J0LCBzZWN0aW9uIHNpemUgd2lsbAo+PiA+PiA+PiBiZSBhIHU2NC4gV2hlbiB1c2Vk IHdpdGggZGFfdG9fdmEsIHRoaXMgd2lsbCBwb3RlbnRpYWxseSBsZWFkIHRvCj4+ID4+ID4+IG92 ZXJmbG93IGlmIHVzaW5nIHRoZSBjdXJyZW50ICJpbnQiIHR5cGUgZm9yIGxlbiBhcmd1bWVudC4g Q2hhbmdlCj4+ID4+ID4+IGRhX3RvX3ZhIHByb3RvdHlwZSB0byB1c2UgYSB1NjQgZm9yIGxlbiBh bmQgZml4IGFsbCB1c2VycyBvZiB0aGlzCj4+ID4+ID4+IGZ1bmN0aW9uLgo+PiA+PiA+Pgo+PiA+ PiA+PiBTaWduZWQtb2ZmLWJ5OiBDbGVtZW50IExlZ2VyIDxjbGVnZXJAa2FscmF5LmV1Pgo+PiA+ PiA+PiAtLS0KPj4gPj4gPj4gIGRyaXZlcnMvcmVtb3RlcHJvYy9pbXhfcnByb2MuYyAgICAgICAg ICAgfCAxMSArKysrKystLS0tLQo+PiA+PiA+PiAgZHJpdmVycy9yZW1vdGVwcm9jL2tleXN0b25l X3JlbW90ZXByb2MuYyB8ICA0ICsrLS0KPj4gPj4gPj4gIGRyaXZlcnMvcmVtb3RlcHJvYy9xY29t X3E2djVfYWRzcC5jICAgICAgfCAgMiArLQo+PiA+PiA+PiAgZHJpdmVycy9yZW1vdGVwcm9jL3Fj b21fcTZ2NV9tc3MuYyAgICAgICB8ICAyICstCj4+ID4+ID4+ICBkcml2ZXJzL3JlbW90ZXByb2Mv cWNvbV9xNnY1X3Bhcy5jICAgICAgIHwgIDIgKy0KPj4gPj4gPj4gIGRyaXZlcnMvcmVtb3RlcHJv Yy9xY29tX3E2djVfd2Nzcy5jICAgICAgfCAgMiArLQo+PiA+PiA+PiAgZHJpdmVycy9yZW1vdGVw cm9jL3Fjb21fd2Nuc3MuYyAgICAgICAgICB8ICAyICstCj4+ID4+ID4+ICBkcml2ZXJzL3JlbW90 ZXByb2MvcmVtb3RlcHJvY19jb3JlLmMgICAgIHwgIDIgKy0KPj4gPj4gPj4gIGRyaXZlcnMvcmVt b3RlcHJvYy9yZW1vdGVwcm9jX2ludGVybmFsLmggfCAgMiArLQo+PiA+PiA+PiAgZHJpdmVycy9y ZW1vdGVwcm9jL3N0X3NsaW1fcnByb2MuYyAgICAgICB8ICA0ICsrLS0KPj4gPj4gPj4gIGRyaXZl cnMvcmVtb3RlcHJvYy93a3VwX20zX3Jwcm9jLmMgICAgICAgfCAgNCArKy0tCj4+ID4+ID4+ICBp bmNsdWRlL2xpbnV4L3JlbW90ZXByb2MuaCAgICAgICAgICAgICAgIHwgIDIgKy0KPj4gPj4gPj4g IDEyIGZpbGVzIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQo+PiA+ PiA+Pgo+PiA+PiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9yZW1vdGVwcm9jL2lteF9ycHJvYy5j IGIvZHJpdmVycy9yZW1vdGVwcm9jL2lteF9ycHJvYy5jCj4+ID4+ID4+IGluZGV4IDNlNzJiNmYz OGQ0Yi4uZjQ5N2Y1YjQ5YjE4IDEwMDY0NAo+PiA+PiA+PiAtLS0gYS9kcml2ZXJzL3JlbW90ZXBy b2MvaW14X3Jwcm9jLmMKPj4gPj4gPj4gKysrIGIvZHJpdmVycy9yZW1vdGVwcm9jL2lteF9ycHJv Yy5jCj4+ID4+ID4+IEBAIC0xODYsNyArMTg2LDcgQEAgc3RhdGljIGludCBpbXhfcnByb2Nfc3Rv cChzdHJ1Y3QgcnByb2MgKnJwcm9jKQo+PiA+PiA+PiAgfQo+PiA+PiA+Pgo+PiA+PiA+PiAgc3Rh dGljIGludCBpbXhfcnByb2NfZGFfdG9fc3lzKHN0cnVjdCBpbXhfcnByb2MgKnByaXYsIHU2NCBk YSwKPj4gPj4gPj4gLSAgICAgICAgICAgICAgICAgICAgICAgIGludCBsZW4sIHU2NCAqc3lzKQo+ PiA+PiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgdTY0IGxlbiwgdTY0ICpzeXMpCj4+ID4+ ID4+ICB7Cj4+ID4+ID4+ICAgY29uc3Qgc3RydWN0IGlteF9ycHJvY19kY2ZnICpkY2ZnID0gcHJp di0+ZGNmZzsKPj4gPj4gPj4gICBpbnQgaTsKPj4gPj4gPj4gQEAgLTIwMywxOSArMjAzLDE5IEBA IHN0YXRpYyBpbnQgaW14X3Jwcm9jX2RhX3RvX3N5cyhzdHJ1Y3QgaW14X3Jwcm9jICpwcml2LCB1 NjQKPj4gPj4gPj4gZGEsCj4+ID4+ID4+ICAgICAgICAgICB9Cj4+ID4+ID4+ICAgfQo+PiA+PiA+ Pgo+PiA+PiA+PiAtIGRldl93YXJuKHByaXYtPmRldiwgIlRyYW5zbGF0aW9uIGZhaWxlZDogZGEg PSAweCVsbHggbGVuID0gMHgleFxuIiwKPj4gPj4gPj4gKyBkZXZfd2Fybihwcml2LT5kZXYsICJU cmFuc2xhdGlvbiBmYWlsZWQ6IGRhID0gMHglbGx4IGxlbiA9IDB4JWxseFxuIiwKPj4gPj4gPj4g ICAgICAgICAgICBkYSwgbGVuKTsKPj4gPj4gPj4gICByZXR1cm4gLUVOT0VOVDsKPj4gPj4gPj4g IH0KPj4gPj4gPj4KPj4gPj4gPj4gLXN0YXRpYyB2b2lkICppbXhfcnByb2NfZGFfdG9fdmEoc3Ry dWN0IHJwcm9jICpycHJvYywgdTY0IGRhLCBpbnQgbGVuKQo+PiA+PiA+PiArc3RhdGljIHZvaWQg KmlteF9ycHJvY19kYV90b192YShzdHJ1Y3QgcnByb2MgKnJwcm9jLCB1NjQgZGEsIHU2NCBsZW4p Cj4+ID4+ID4+ICB7Cj4+ID4+ID4+ICAgc3RydWN0IGlteF9ycHJvYyAqcHJpdiA9IHJwcm9jLT5w cml2Owo+PiA+PiA+PiAgIHZvaWQgKnZhID0gTlVMTDsKPj4gPj4gPj4gICB1NjQgc3lzOwo+PiA+ PiA+PiAgIGludCBpOwo+PiA+PiA+Pgo+PiA+PiA+PiAtIGlmIChsZW4gPD0gMCkKPj4gPj4gPj4g KyBpZiAobGVuID09IDApCj4+ID4+ID4+ICAgICAgICAgICByZXR1cm4gTlVMTDsKPj4gPj4gPj4K Pj4gPj4gPj4gICAvKgo+PiA+PiA+PiBAQCAtMjM1LDcgKzIzNSw4IEBAIHN0YXRpYyB2b2lkICpp bXhfcnByb2NfZGFfdG9fdmEoc3RydWN0IHJwcm9jICpycHJvYywgdTY0IGRhLAo+PiA+PiA+PiBp bnQgbGVuKQo+PiA+PiA+PiAgICAgICAgICAgfQo+PiA+PiA+PiAgIH0KPj4gPj4gPj4KPj4gPj4g Pj4gLSBkZXZfZGJnKCZycHJvYy0+ZGV2LCAiZGEgPSAweCVsbHggbGVuID0gMHgleCB2YSA9IDB4 JXBcbiIsIGRhLCBsZW4sIHZhKTsKPj4gPj4gPj4gKyBkZXZfZGJnKCZycHJvYy0+ZGV2LCAiZGEg PSAweCVsbHggbGVuID0gMHglbGx4IHZhID0gMHglcFxuIiwKPj4gPj4gPj4gKyAgICAgICAgIGRh LCBsZW4sIHZhKTsKPj4gPj4gPj4KPj4gPj4gPj4gICByZXR1cm4gdmE7Cj4+ID4+ID4+ICB9Cj4+ ID4+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3JlbW90ZXByb2Mva2V5c3RvbmVfcmVtb3RlcHJv Yy5jCj4+ID4+ID4+IGIvZHJpdmVycy9yZW1vdGVwcm9jL2tleXN0b25lX3JlbW90ZXByb2MuYwo+ PiA+PiA+PiBpbmRleCA1YzQ2NThmMDBiM2QuLjQ2NjA5M2Y0ODgxNCAxMDA2NDQKPj4gPj4gPj4g LS0tIGEvZHJpdmVycy9yZW1vdGVwcm9jL2tleXN0b25lX3JlbW90ZXByb2MuYwo+PiA+PiA+PiAr KysgYi9kcml2ZXJzL3JlbW90ZXByb2Mva2V5c3RvbmVfcmVtb3RlcHJvYy5jCj4+ID4+ID4+IEBA IC0yNDYsNyArMjQ2LDcgQEAgc3RhdGljIHZvaWQga2V5c3RvbmVfcnByb2Nfa2ljayhzdHJ1Y3Qg cnByb2MgKnJwcm9jLCBpbnQKPj4gPj4gPj4gdnFpZCkKPj4gPj4gPj4gICAqIGNhbiBiZSB1c2Vk IGVpdGhlciBieSB0aGUgcmVtb3RlcHJvYyBjb3JlIGZvciBsb2FkaW5nICh3aGVuIHVzaW5nIGtl cm5lbAo+PiA+PiA+PiAgICogcmVtb3RlcHJvYyBsb2FkZXIpLCBvciBieSBhbnkgcnBtc2cgYnVz IGRyaXZlcnMuCj4+ID4+ID4+ICAgKi8KPj4gPj4gPj4gLXN0YXRpYyB2b2lkICprZXlzdG9uZV9y cHJvY19kYV90b192YShzdHJ1Y3QgcnByb2MgKnJwcm9jLCB1NjQgZGEsIGludCBsZW4pCj4+ID4+ ID4+ICtzdGF0aWMgdm9pZCAqa2V5c3RvbmVfcnByb2NfZGFfdG9fdmEoc3RydWN0IHJwcm9jICpy cHJvYywgdTY0IGRhLCB1NjQgbGVuKQo+PiA+PiA+PiAgewo+PiA+PiA+PiAgIHN0cnVjdCBrZXlz dG9uZV9ycHJvYyAqa3Nwcm9jID0gcnByb2MtPnByaXY7Cj4+ID4+ID4+ICAgdm9pZCBfX2lvbWVt ICp2YSA9IE5VTEw7Cj4+ID4+ID4+IEBAIC0yNTUsNyArMjU1LDcgQEAgc3RhdGljIHZvaWQgKmtl eXN0b25lX3Jwcm9jX2RhX3RvX3ZhKHN0cnVjdCBycHJvYyAqcnByb2MsCj4+ID4+ID4+IHU2NCBk YSwgaW50IGxlbikKPj4gPj4gPj4gICBzaXplX3Qgc2l6ZTsKPj4gPj4gPj4gICBpbnQgaTsKPj4g Pj4gPj4KPj4gPj4gPj4gLSBpZiAobGVuIDw9IDApCj4+ID4+ID4+ICsgaWYgKGxlbiA9PSAwKQo+ PiA+PiA+PiAgICAgICAgICAgcmV0dXJuIE5VTEw7Cj4+ID4+ID4+Cj4+ID4+ID4+ICAgZm9yIChp ID0gMDsgaSA8IGtzcHJvYy0+bnVtX21lbXM7IGkrKykgewo+PiA+PiA+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9hZHNwLmMKPj4gPj4gPj4gYi9kcml2ZXJzL3Jl bW90ZXByb2MvcWNvbV9xNnY1X2Fkc3AuYwo+PiA+PiA+PiBpbmRleCBlOTUzODg2YjJlYjcuLjc1 MThlNjdhNDllNSAxMDA2NDQKPj4gPj4gPj4gLS0tIGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21f cTZ2NV9hZHNwLmMKPj4gPj4gPj4gKysrIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9h ZHNwLmMKPj4gPj4gPj4gQEAgLTI3MCw3ICsyNzAsNyBAQCBzdGF0aWMgaW50IGFkc3Bfc3RvcChz dHJ1Y3QgcnByb2MgKnJwcm9jKQo+PiA+PiA+PiAgIHJldHVybiByZXQ7Cj4+ID4+ID4+ICB9Cj4+ ID4+ID4+Cj4+ID4+ID4+IC1zdGF0aWMgdm9pZCAqYWRzcF9kYV90b192YShzdHJ1Y3QgcnByb2Mg KnJwcm9jLCB1NjQgZGEsIGludCBsZW4pCj4+ID4+ID4+ICtzdGF0aWMgdm9pZCAqYWRzcF9kYV90 b192YShzdHJ1Y3QgcnByb2MgKnJwcm9jLCB1NjQgZGEsIHU2NCBsZW4pCj4+ID4+ID4+ICB7Cj4+ ID4+ID4+ICAgc3RydWN0IHFjb21fYWRzcCAqYWRzcCA9IChzdHJ1Y3QgcWNvbV9hZHNwICopcnBy b2MtPnByaXY7Cj4+ID4+ID4+ICAgaW50IG9mZnNldDsKPj4gPj4gPj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfbXNzLmMKPj4gPj4gPj4gYi9kcml2ZXJzL3JlbW90 ZXByb2MvcWNvbV9xNnY1X21zcy5jCj4+ID4+ID4+IGluZGV4IDQ3MTEyOGEyZTcyMy4uMjQ4ZmVi ZGU2ZmMxIDEwMDY0NAo+PiA+PiA+PiAtLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1 X21zcy5jCj4+ID4+ID4+ICsrKyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfbXNzLmMK Pj4gPj4gPj4gQEAgLTExNDgsNyArMTE0OCw3IEBAIHN0YXRpYyBpbnQgcTZ2NV9zdG9wKHN0cnVj dCBycHJvYyAqcnByb2MpCj4+ID4+ID4+ICAgcmV0dXJuIDA7Cj4+ID4+ID4+ICB9Cj4+ID4+ID4+ Cj4+ID4+ID4+IC1zdGF0aWMgdm9pZCAqcTZ2NV9kYV90b192YShzdHJ1Y3QgcnByb2MgKnJwcm9j LCB1NjQgZGEsIGludCBsZW4pCj4+ID4+ID4+ICtzdGF0aWMgdm9pZCAqcTZ2NV9kYV90b192YShz dHJ1Y3QgcnByb2MgKnJwcm9jLCB1NjQgZGEsIHU2NCBsZW4pCj4+ID4+ID4+ICB7Cj4+ID4+ID4+ ICAgc3RydWN0IHE2djUgKnFwcm9jID0gcnByb2MtPnByaXY7Cj4+ID4+ID4+ICAgaW50IG9mZnNl dDsKPj4gPj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfcGFz LmMKPj4gPj4gPj4gYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3Bhcy5jCj4+ID4+ID4+ IGluZGV4IGRiNGIzYzRiYWNkNy4uY2YyY2Q2MDljOTBkIDEwMDY0NAo+PiA+PiA+PiAtLS0gYS9k cml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3Bhcy5jCj4+ID4+ID4+ICsrKyBiL2RyaXZlcnMv cmVtb3RlcHJvYy9xY29tX3E2djVfcGFzLmMKPj4gPj4gPj4gQEAgLTE1OSw3ICsxNTksNyBAQCBz dGF0aWMgaW50IGFkc3Bfc3RvcChzdHJ1Y3QgcnByb2MgKnJwcm9jKQo+PiA+PiA+PiAgIHJldHVy biByZXQ7Cj4+ID4+ID4+ICB9Cj4+ID4+ID4+Cj4+ID4+ID4+IC1zdGF0aWMgdm9pZCAqYWRzcF9k YV90b192YShzdHJ1Y3QgcnByb2MgKnJwcm9jLCB1NjQgZGEsIGludCBsZW4pCj4+ID4+ID4+ICtz dGF0aWMgdm9pZCAqYWRzcF9kYV90b192YShzdHJ1Y3QgcnByb2MgKnJwcm9jLCB1NjQgZGEsIHU2 NCBsZW4pCj4+ID4+ID4+ICB7Cj4+ID4+ID4+ICAgc3RydWN0IHFjb21fYWRzcCAqYWRzcCA9IChz dHJ1Y3QgcWNvbV9hZHNwICopcnByb2MtPnByaXY7Cj4+ID4+ID4+ICAgaW50IG9mZnNldDsKPj4g Pj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfd2Nzcy5jCj4+ ID4+ID4+IGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV93Y3NzLmMKPj4gPj4gPj4gaW5k ZXggZjkzZTFlNGExY2MwLi4zYTZiODJhMTY5NjEgMTAwNjQ0Cj4+ID4+ID4+IC0tLSBhL2RyaXZl cnMvcmVtb3RlcHJvYy9xY29tX3E2djVfd2Nzcy5jCj4+ID4+ID4+ICsrKyBiL2RyaXZlcnMvcmVt b3RlcHJvYy9xY29tX3E2djVfd2Nzcy5jCj4+ID4+ID4+IEBAIC00MDYsNyArNDA2LDcgQEAgc3Rh dGljIGludCBxNnY1X3djc3Nfc3RvcChzdHJ1Y3QgcnByb2MgKnJwcm9jKQo+PiA+PiA+PiAgIHJl dHVybiAwOwo+PiA+PiA+PiAgfQo+PiA+PiA+Pgo+PiA+PiA+PiAtc3RhdGljIHZvaWQgKnE2djVf d2Nzc19kYV90b192YShzdHJ1Y3QgcnByb2MgKnJwcm9jLCB1NjQgZGEsIGludCBsZW4pCj4+ID4+ ID4+ICtzdGF0aWMgdm9pZCAqcTZ2NV93Y3NzX2RhX3RvX3ZhKHN0cnVjdCBycHJvYyAqcnByb2Ms IHU2NCBkYSwgdTY0IGxlbikKPj4gPj4gPj4gIHsKPj4gPj4gPj4gICBzdHJ1Y3QgcTZ2NV93Y3Nz ICp3Y3NzID0gcnByb2MtPnByaXY7Cj4+ID4+ID4+ICAgaW50IG9mZnNldDsKPj4gPj4gPj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3djbnNzLmMgYi9kcml2ZXJzL3JlbW90 ZXByb2MvcWNvbV93Y25zcy5jCj4+ID4+ID4+IGluZGV4IGRjMTM1NzU0YmI5Yy4uZjg5MzIxOWU0 NWE4IDEwMDY0NAo+PiA+PiA+PiAtLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV93Y25zcy5j Cj4+ID4+ID4+ICsrKyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3djbnNzLmMKPj4gPj4gPj4g QEAgLTI4Nyw3ICsyODcsNyBAQCBzdGF0aWMgaW50IHdjbnNzX3N0b3Aoc3RydWN0IHJwcm9jICpy cHJvYykKPj4gPj4gPj4gICByZXR1cm4gcmV0Owo+PiA+PiA+PiAgfQo+PiA+PiA+Pgo+PiA+PiA+ PiAtc3RhdGljIHZvaWQgKndjbnNzX2RhX3RvX3ZhKHN0cnVjdCBycHJvYyAqcnByb2MsIHU2NCBk YSwgaW50IGxlbikKPj4gPj4gPj4gK3N0YXRpYyB2b2lkICp3Y25zc19kYV90b192YShzdHJ1Y3Qg cnByb2MgKnJwcm9jLCB1NjQgZGEsIHU2NCBsZW4pCj4+ID4+ID4+ICB7Cj4+ID4+ID4+ICAgc3Ry dWN0IHFjb21fd2Nuc3MgKndjbnNzID0gKHN0cnVjdCBxY29tX3djbnNzICopcnByb2MtPnByaXY7 Cj4+ID4+ID4+ICAgaW50IG9mZnNldDsKPj4gPj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVt b3RlcHJvYy9yZW1vdGVwcm9jX2NvcmUuYwo+PiA+PiA+PiBiL2RyaXZlcnMvcmVtb3RlcHJvYy9y ZW1vdGVwcm9jX2NvcmUuYwo+PiA+PiA+PiBpbmRleCAzMDdkZjk4MzQ3YmEuLjllNmQzYzZhNjBl ZSAxMDA2NDQKPj4gPj4gPj4gLS0tIGEvZHJpdmVycy9yZW1vdGVwcm9jL3JlbW90ZXByb2NfY29y ZS5jCj4+ID4+ID4+ICsrKyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9yZW1vdGVwcm9jX2NvcmUuYwo+ PiA+PiA+PiBAQCAtMTg1LDcgKzE4NSw3IEBAIEVYUE9SVF9TWU1CT0wocnByb2NfdmFfdG9fcGEp Owo+PiA+PiA+PiAgICogaGVyZSB0aGUgb3V0cHV0IG9mIHRoZSBETUEgQVBJIGZvciB0aGUgY2Fy dmVvdXRzLCB3aGljaCBzaG91bGQgYmUgbW9yZQo+PiA+PiA+PiAgICogY29ycmVjdC4KPj4gPj4g Pj4gICAqLwo+PiA+PiA+PiAtdm9pZCAqcnByb2NfZGFfdG9fdmEoc3RydWN0IHJwcm9jICpycHJv YywgdTY0IGRhLCBpbnQgbGVuKQo+PiA+PiA+PiArdm9pZCAqcnByb2NfZGFfdG9fdmEoc3RydWN0 IHJwcm9jICpycHJvYywgdTY0IGRhLCB1NjQgbGVuKQo+PiA+PiA+Cj4+ID4+ID4gVGhpcyBmdW5j dGlvbiBpcyBleHBvcnRlZCwgZG9uJ3Qgc2VlIGFueSB1cGRhdGUgaW4gY29uc2VxdWVuY2UuLi4K Pj4gPj4gPiByZWZlcmVuY2VzOgo+PiA+PiA+IGh0dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29tL2xp bnV4L3Y1LjYtcmMxL2lkZW50L3Jwcm9jX2RhX3RvX3ZhCj4+ID4+ID4gRm9yIGluc3RhbmNlIHRo ZSBmdW5jdGlvbiBycHJvY190cmFjZV9yZWFkIHVzZSBpdC4gaXQgcXVpdGUgc3RyYW5nZSB0aGF0 IG15IGdjYwo+PiA+PiA+IGRvZXMgbm90IHdhcm5zIGZvciB0aGUgY2FzdCBidXQgaSBzdXBwb3Nl IHRoYXQgc29tZSBjb3VsZC4KPj4gPj4KPj4gPj4gQWdyZWVkLCBldmVuIGlmIGxlbiBzaG91bGQg bmV2ZXIgaGF2ZSBiZWVuIGEgc2lnbmVkIHR5cGUgc2luY2UgaXQgY2FuJ3QgYmUKPj4gPj4gbmVn YXRpdmUuIEkgd2lsbCB0cnkgdG8gZml4IGFsbCBjYWxsZXJzLgo+PiA+Pgo+PiA+PiA+IEFuIGlu ZGlyZWN0IGNvbnNlcXVlbmNlIGlzIHRoYXQgdGhlIGxlbiBmaWVsZCBpbiBycHJvY19tZW1fZW50 cnkgc3RydWN0IHNob3VsZAo+PiA+PiA+IHByb2JhYmx5IGJlZW4gdXBkYXRlZCB0byB1NjQgdG8g YmUgYWxpZ25lZC4KPj4gPj4KPj4gPj4gT2ssIEkgd2lsbCBkbyB0aGF0IG9uY2Ugd2Ugc2V0dGxl IG9uIHRoZSB0eXBlIG9mIGxlbi4KPj4gPj4KPj4gPj4gPgo+PiA+PiA+IEknbSBzdGlsbCB3b25k ZXJpbmcgYWJvdXQgdGhlIHVzZSBvZiBzaXplX3QgaW5zdGVhZCx3aGljaCBzZWVtcyBtb3JlIHJh dGlvbmFsCj4+ID4+ID4gZnJvbSBteSB3aW5kb3cuCj4+ID4+ID4gU28gaSB5b3Ugb3IgTWF0aGll dSByZW1lbWJlciBpdCB3YXMgZGVjaWRlZCB0byB1c2UgdTY0LCBwbGVhc2UgY291bGQgcmVtaW5k IG1lCj4+ID4+ID4gdGhlIGFyZ3VtZW50cz8KPj4gPj4KPj4gPj4gSSB0cmllZCB0byBmaW5kIHRo ZSBub3RlcyBvZiBhIG1lZXRpbmcgd2UgaGFkIGZvciBPcGVuQU1QIGJ1dCBJIGRpZCBub3QgZm91 bmQKPj4gPj4gdGhlbS4gQW55d2F5LCB0aGUgYXJndW1lbnQgd2FzIGNvbWluZyBmcm9tIFRvbWFz IG9yIHNvbWVvbmUgZWxzZSwgKEkgY2FuJ3QKPj4gPj4gcmVtZW1iZXIpIHRhbGtpbmcgYWJvdXQg YSAzMiBiaXRzIENQVSBleGVjdXRpbmcgY29kZSBvbiBhIDY0IGJpdHMgYWNjZWxlcmF0b3IuCj4+ ID4+IEluIHRoYXQgY2FzZSwgdGhlIHNpemVfdCB0eXBlIGNvdWxkIGZhaWwgZHVlIHRvIGJlaW5n IG9ubHkgMzJiaXRzIG9uIHRoZSBob3N0Cj4+ID4+IENQVSBidXQgbGFyZ2VyIHRoYW4gNEcuCj4+ ID4+Cj4+ID4+IEhvd2V2ZXIsIEkgY2FuJ3Qgc2F5IGlmIGl0J3MgYSByZWFsIHVzZWNhc2Ugb3Ig bm90Li4uIEFsbCBJIGNhbiBzYXkgaXMKPj4gPj4gdGhhdCBrZWVwaW5nIGl0IG9wZW4gaXMgcHJv YmFibHkgYmV0dGVyIGlmIG9uZSBkYXkgc29tZWJvZHkgY29tZXMgd2l0aCBzdWNoCj4+ID4+IGFy Y2hpdGVjdHVyZS4KPj4gPgo+PiA+IEluIG9yZGVyIHRvIHN1cHBvcnQgYSAzMmJpdCBBUCB3aXRo IGEgNjRiaXQgTUNVIHdlJ2QgYWxzbyBoYXZlIHRvIGRlYWwgd2l0aCBhbGwKPj4gPiB0aGUgZG1h X2F0dHJfdCBpbiB0aGUgc3RydWN0dXJlIHdlIHVzZS4KPj4KPj4gVG90YWxseSBvayB3aXRoIHRo YXQuLi4KPj4KPj4gPgo+PiA+IEFsc28gc29tZXRoaW5nIHRoYXQgYmVjYW1lIHZlcnkgY2xlYXIg dG8gbWUgd2hpbGUgdGhpbmtpbmcgYWJvdXQgdGhpcyBwYXRjaHNldAo+PiA+IGlzIHRoYXQgc3Vw cG9ydGluZyBlbGY2NCBkb2VzIF9fbm90X18gbWVhbiB3ZSBzdXBwb3J0IDY0Yml0IE1DVS4gIEFz IGxvbmcgYXMKPj4gPiB0aGUgYWRkcmVzc2VzIGNvbnZleWVkIGJ5IHRoZSBlbGY2NCBpbWFnZSBm aXQgd2l0aGluIDMyIGJpdHMgd2UgYXJlIGZpbmUuCj4+ID4gU3VwcG9ydGluZyA2NGJpdCBNQ1Vz IGlzIGEgY29tcGxldGVseSBkaWZmZXJlbnQgdG9waWMsIG9uZSB0aGF0IHdpbGwgZGVtYW5kCj4+ ID4gc2VyaW91cyByZWZhY3RvcmluZy4KPj4KPj4gRXhhY3RseSwgYW4gZWxmNjQgY2FuIHBvdGVu dGlhbGx5IGNvbnRhaW4gYW4gZXhlY3V0YWJsZSBmaXR0aW5nIGluIDMyIGJpdHMuCj4+Cj4+ID4K Pj4gPiBTbyBtb3ZpbmcgZnJvbSAiaW50IGxlbiIgdG8gInU2NCBsZW4iIGRvZXNuJ3QgZ2l2ZSB1 cyBtdWNoLiAgSXQgZG9lc24ndCBodXJ0IHRvCj4+ID4gZG8gaXQgYnV0IGlmIEBsZW4gZXZlciBi ZWNvbWVzIGJpZ2dlciB0aGFuIDMxIGJpdHMgd2UnbGwgaGF2ZSBvdGhlciBwcm9ibGVtcyB0bwo+ PiA+IGRlYWwgd2l0aC4KPj4KPj4gQWdyZWVkLCBzbyB3aGF0IHdvdWxkIGJlIHlvdXIgcmVjb21t ZW5kYXRpb24gcmVhZ3JkaW5nIHRoZSB0eXBlIG9mIGxlbiA/Cj4+IEknbSBvayB3aXRoIEFybmF1 ZCBzdGF0ZW1lbnQgdG9vIGFuZCB1c2luZyBhIHNpemVfdCBpcyBwcm9iYWJseSBtb3JlCj4+ICJ0 eXBlLXNhZmUiIHRoYW4gYSB1NjQuIEF0IGxlYXN0IGl0IGFkZHMgc29tZSBpbmZvcm1hdGlvbi4K PiAKPiBJZiBAbGVuIGJlY29tZXMgYmlnIGVub3VnaCB0aGF0IGl0IGRvZXNuJ3QgZml0IGluIDMx Yml0IHRoZW4gaXQgaXMKPiB2ZXJ5IGxpa2VseSB0aGF0IHRoaW5ncyB3aWxsIGJyZWFrIGV2ZW4g YmVmb3JlIHdlIGdldCB0byBjYWxsCj4gcnByb2NfZGFfdG9fdmEoKS4gIEZpeGluZyBpdCBoZXJl IGlzIHBvc3NpYmxlIGJ1dCB3aWxsIGludHJvZHVjZSBhCj4gZmFpciBhbW91bnQgb2YgcmlwcGxl IGVmZmVjdCB0aGF0IHdlIHByb2JhYmx5IGRvbid0IHdhbnQgdG8gZGVhbCB3aXRoCj4gcmlnaHQg bm93LgoKSSBkaWQgdGhlIG1vZGlmaWNhdGlvbiB1c2luZyB1NjQgYW5kIHRyaWVkIHRvIGZvbGxv dyB2YXJpb3VzIGNvZGUgcGF0aC4KU29tZSBlbmQgdXAgaW4gZG1hX2FsbG9jX2NvaGVyZW50IHdo aWNoIHVzZXMgYSBzaXplX3QgbWVtYmVyLiBTaW5jZQp0aGVzZSBtaWdodCBiZSBjYWxsZWQgYnkg cnByb2Mgd2l0aCBhIHU2NCBsZW4sIEkgd291bGQgYmUgbW9yZQppbmNsaW5lZCB0byB1c2UgYSBz aXplX3QuIEkgY2FuIHByb2JhYmx5IGFsc28gYWRkIGEgY2hlY2sgaW4gZWxmIGxvYWRlcgp3aGlj aCB2ZXJpZmllcyB0aGF0IGlmIHNpemVvZihzaXplX3QpIDwgc2l6ZW9mKHU2NCksIHRoZW4gdGhl IGxlbiBtdXN0CmZpdCBpbiAzMmJpdHMuIFRoaXMgc2VlbXMgbW9yZSBjbGVhbiBJTUhPLgoKQ2zD qW1lbnQuCgo+IAo+IE90aGVyIHBlb3BsZSBtaWdodCBmZWVsIG1vcmUgb3BpbmlvbmF0ZWQgb24g dGhpcyBidXQgYXMgZmFyIGFzIEknbQo+IGNvbmNlcm5lZCwgSSB3b3VsZCBrZWVwIGl0IGFzIGl0 IGlzIGFuZCBmaXggaXQgZm9yIHJlYWwgd2hlbiB0aGUgdGltZQo+IGNvbWVzIHRvIGFkZCBzdXBw b3J0IGZvciA2NGJpdCBNQ1VzLgo+IAo+Pgo+PiBUaGFua3MsCj4+Cj4+IENsw6ltZW50Cj4+Cj4+ ID4KPj4gPj4KPj4gPj4gPiBBcyBhbiBhbHRlcm5hdGl2ZSBhIGNoZWNrIHNob3VsZCBiZSBhZGRl ZCBmb3IgMzIgYml0cyBwcm9jZXNzb3JzIHRvIGVuc3VyZSB0aGF0Cj4+ID4+ID4gdGhlIHNpemUg aXMgbm90IGhpZ2hlciB0aGFuCj4+ID4+ID4gaXRzIGFkZHJlc3MgcmFuZ2UgY2FwYWJpbGl0eS4u Lgo+PiA+Pgo+PiA+PiBBZ3JlZWQuCj4+ID4+IEkgd2FzIGV2ZW4gdGhpbmtpbmcgYWJvdXQgYSBt ZWNhbmlzbSBmb3IgcmVtb3RlcHJvYyBkcml2ZXJzIHRvIGRlY2xhcmUgdGhlIHR5cGUKPj4gPj4g b2Ygc3VwcG9ydGVkIGVsZnMgZmlsZXMgKHN1Y2ggYXMgRU1fKiwgRUxGQ0xBU1MqIGFuZCBvdGhl ciBuZWVkZWQgdGhpbmcpLgo+PiA+PiBPciBzaG91bGQgaXQgYmUgc3VwcG9ydGVkIGJ5IG92ZXJy aWRpbmcgLnNhbml0eV9jaGVjayBpbiBkcml2ZXJzICB0byByZWplY3QKPj4gPj4gZWxmNjQgZm9y IGluc3RhbmNlID8KPj4gPj4KPj4gPj4gU2luY2UgZWxmIGlzIGEgInNwZWNpZmljIGZvcm1hdCIg YW5kIHRoYXQgcnByb2MgY2FuIHN1cHBvcnQgb3RoZXIgZm9ybWF0cywKPj4gPj4gSSBkaWQgbm90 IHdhbnQgdG8gYWRkIGEgc3BlY2lmaWMgZWxmX3Nhbml0eV9jaGVjayBmaWVsZCB0byBycHJvYyBv cHMuCj4+ID4+Cj4+ID4+IFJlZ2FyZHMsCj4+ID4+Cj4+ID4+IENsw6ltZW50Cj4+ID4+Cj4+ID4+ ID4KPj4gPj4gPiBSZWdhcmRzCj4+ID4+ID4gQXJuYXVkCj4+ID4+ID4KPj4gPj4gPj4gIHsKPj4g Pj4gPj4gICBzdHJ1Y3QgcnByb2NfbWVtX2VudHJ5ICpjYXJ2ZW91dDsKPj4gPj4gPj4gICB2b2lk ICpwdHIgPSBOVUxMOwo+PiA+PiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9yZW1vdGVwcm9jL3Jl bW90ZXByb2NfaW50ZXJuYWwuaAo+PiA+PiA+PiBiL2RyaXZlcnMvcmVtb3RlcHJvYy9yZW1vdGVw cm9jX2ludGVybmFsLmgKPj4gPj4gPj4gaW5kZXggNDkzZWY5MjYyNDExLi4wMDQ4NjcwNjE3MjEg MTAwNjQ0Cj4+ID4+ID4+IC0tLSBhL2RyaXZlcnMvcmVtb3RlcHJvYy9yZW1vdGVwcm9jX2ludGVy bmFsLmgKPj4gPj4gPj4gKysrIGIvZHJpdmVycy9yZW1vdGVwcm9jL3JlbW90ZXByb2NfaW50ZXJu YWwuaAo+PiA+PiA+PiBAQCAtNTAsNyArNTAsNyBAQCB2b2lkIHJwcm9jX2V4aXRfc3lzZnModm9p ZCk7Cj4+ID4+ID4+ICB2b2lkIHJwcm9jX2ZyZWVfdnJpbmcoc3RydWN0IHJwcm9jX3ZyaW5nICpy dnJpbmcpOwo+PiA+PiA+PiAgaW50IHJwcm9jX2FsbG9jX3ZyaW5nKHN0cnVjdCBycHJvY192ZGV2 ICpydmRldiwgaW50IGkpOwo+PiA+PiA+Pgo+PiA+PiA+PiAtdm9pZCAqcnByb2NfZGFfdG9fdmEo c3RydWN0IHJwcm9jICpycHJvYywgdTY0IGRhLCBpbnQgbGVuKTsKPj4gPj4gPj4gK3ZvaWQgKnJw cm9jX2RhX3RvX3ZhKHN0cnVjdCBycHJvYyAqcnByb2MsIHU2NCBkYSwgdTY0IGxlbik7Cj4+ID4+ ID4+ICBwaHlzX2FkZHJfdCBycHJvY192YV90b19wYSh2b2lkICpjcHVfYWRkcik7Cj4+ID4+ID4+ ICBpbnQgcnByb2NfdHJpZ2dlcl9yZWNvdmVyeShzdHJ1Y3QgcnByb2MgKnJwcm9jKTsKPj4gPj4g Pj4KPj4gPj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVtb3RlcHJvYy9zdF9zbGltX3Jwcm9j LmMKPj4gPj4gPj4gYi9kcml2ZXJzL3JlbW90ZXByb2Mvc3Rfc2xpbV9ycHJvYy5jCj4+ID4+ID4+ IGluZGV4IDA0NDkyZmVhZDNjOC4uZmMwMWNkODc5YjYwIDEwMDY0NAo+PiA+PiA+PiAtLS0gYS9k cml2ZXJzL3JlbW90ZXByb2Mvc3Rfc2xpbV9ycHJvYy5jCj4+ID4+ID4+ICsrKyBiL2RyaXZlcnMv cmVtb3RlcHJvYy9zdF9zbGltX3Jwcm9jLmMKPj4gPj4gPj4gQEAgLTE3NCw3ICsxNzQsNyBAQCBz dGF0aWMgaW50IHNsaW1fcnByb2Nfc3RvcChzdHJ1Y3QgcnByb2MgKnJwcm9jKQo+PiA+PiA+PiAg IHJldHVybiAwOwo+PiA+PiA+PiAgfQo+PiA+PiA+Pgo+PiA+PiA+PiAtc3RhdGljIHZvaWQgKnNs aW1fcnByb2NfZGFfdG9fdmEoc3RydWN0IHJwcm9jICpycHJvYywgdTY0IGRhLCBpbnQgbGVuKQo+ PiA+PiA+PiArc3RhdGljIHZvaWQgKnNsaW1fcnByb2NfZGFfdG9fdmEoc3RydWN0IHJwcm9jICpy cHJvYywgdTY0IGRhLCB1NjQgbGVuKQo+PiA+PiA+PiAgewo+PiA+PiA+PiAgIHN0cnVjdCBzdF9z bGltX3Jwcm9jICpzbGltX3Jwcm9jID0gcnByb2MtPnByaXY7Cj4+ID4+ID4+ICAgdm9pZCAqdmEg PSBOVUxMOwo+PiA+PiA+PiBAQCAtMTkxLDcgKzE5MSw3IEBAIHN0YXRpYyB2b2lkICpzbGltX3Jw cm9jX2RhX3RvX3ZhKHN0cnVjdCBycHJvYyAqcnByb2MsIHU2NAo+PiA+PiA+PiBkYSwgaW50IGxl bikKPj4gPj4gPj4gICAgICAgICAgIH0KPj4gPj4gPj4gICB9Cj4+ID4+ID4+Cj4+ID4+ID4+IC0g ZGV2X2RiZygmcnByb2MtPmRldiwgImRhID0gMHglbGx4IGxlbiA9IDB4JXggdmEgPSAweCVwS1xu IiwKPj4gPj4gPj4gKyBkZXZfZGJnKCZycHJvYy0+ZGV2LCAiZGEgPSAweCVsbHggbGVuID0gMHgl bGx4IHZhID0gMHglcEtcbiIsCj4+ID4+ID4+ICAgICAgICAgICBkYSwgbGVuLCB2YSk7Cj4+ID4+ ID4+Cj4+ID4+ID4+ICAgcmV0dXJuIHZhOwo+PiA+PiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9y ZW1vdGVwcm9jL3drdXBfbTNfcnByb2MuYwo+PiA+PiA+PiBiL2RyaXZlcnMvcmVtb3RlcHJvYy93 a3VwX20zX3Jwcm9jLmMKPj4gPj4gPj4gaW5kZXggMzk4NGU1ODVjODQ3Li45MTQ4NWI0Njc0MDcg MTAwNjQ0Cj4+ID4+ID4+IC0tLSBhL2RyaXZlcnMvcmVtb3RlcHJvYy93a3VwX20zX3Jwcm9jLmMK Pj4gPj4gPj4gKysrIGIvZHJpdmVycy9yZW1vdGVwcm9jL3drdXBfbTNfcnByb2MuYwo+PiA+PiA+ PiBAQCAtODAsMTQgKzgwLDE0IEBAIHN0YXRpYyBpbnQgd2t1cF9tM19ycHJvY19zdG9wKHN0cnVj dCBycHJvYyAqcnByb2MpCj4+ID4+ID4+ICAgcmV0dXJuIDA7Cj4+ID4+ID4+ICB9Cj4+ID4+ID4+ Cj4+ID4+ID4+IC1zdGF0aWMgdm9pZCAqd2t1cF9tM19ycHJvY19kYV90b192YShzdHJ1Y3QgcnBy b2MgKnJwcm9jLCB1NjQgZGEsIGludCBsZW4pCj4+ID4+ID4+ICtzdGF0aWMgdm9pZCAqd2t1cF9t M19ycHJvY19kYV90b192YShzdHJ1Y3QgcnByb2MgKnJwcm9jLCB1NjQgZGEsIHU2NCBsZW4pCj4+ ID4+ID4+ICB7Cj4+ID4+ID4+ICAgc3RydWN0IHdrdXBfbTNfcnByb2MgKndrdXBtMyA9IHJwcm9j LT5wcml2Owo+PiA+PiA+PiAgIHZvaWQgKnZhID0gTlVMTDsKPj4gPj4gPj4gICBpbnQgaTsKPj4g Pj4gPj4gICB1MzIgb2Zmc2V0Owo+PiA+PiA+Pgo+PiA+PiA+PiAtIGlmIChsZW4gPD0gMCkKPj4g Pj4gPj4gKyBpZiAobGVuID09IDApCj4+ID4+ID4+ICAgICAgICAgICByZXR1cm4gTlVMTDsKPj4g Pj4gPj4KPj4gPj4gPj4gICBmb3IgKGkgPSAwOyBpIDwgV0tVUE0zX01FTV9NQVg7IGkrKykgewo+ PiA+PiA+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9yZW1vdGVwcm9jLmggYi9pbmNsdWRl L2xpbnV4L3JlbW90ZXByb2MuaAo+PiA+PiA+PiBpbmRleCAxNmFkNjY2ODNhZDAuLmY4NGJkNWZl MDIxMSAxMDA2NDQKPj4gPj4gPj4gLS0tIGEvaW5jbHVkZS9saW51eC9yZW1vdGVwcm9jLmgKPj4g Pj4gPj4gKysrIGIvaW5jbHVkZS9saW51eC9yZW1vdGVwcm9jLmgKPj4gPj4gPj4gQEAgLTM3NCw3 ICszNzQsNyBAQCBzdHJ1Y3QgcnByb2Nfb3BzIHsKPj4gPj4gPj4gICBpbnQgKCpzdGFydCkoc3Ry dWN0IHJwcm9jICpycHJvYyk7Cj4+ID4+ID4+ICAgaW50ICgqc3RvcCkoc3RydWN0IHJwcm9jICpy cHJvYyk7Cj4+ID4+ID4+ICAgdm9pZCAoKmtpY2spKHN0cnVjdCBycHJvYyAqcnByb2MsIGludCB2 cWlkKTsKPj4gPj4gPj4gLSB2b2lkICogKCpkYV90b192YSkoc3RydWN0IHJwcm9jICpycHJvYywg dTY0IGRhLCBpbnQgbGVuKTsKPj4gPj4gPj4gKyB2b2lkICogKCpkYV90b192YSkoc3RydWN0IHJw cm9jICpycHJvYywgdTY0IGRhLCB1NjQgbGVuKTsKPj4gPj4gPj4gICBpbnQgKCpwYXJzZV9mdyko c3RydWN0IHJwcm9jICpycHJvYywgY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdyk7Cj4+ID4+ID4+ ICAgaW50ICgqaGFuZGxlX3JzYykoc3RydWN0IHJwcm9jICpycHJvYywgdTMyIHJzY190eXBlLCB2 b2lkICpyc2MsCj4gPiA+ID4gPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG9mZnNl dCwgaW50IGF2YWlsKTsKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlz dHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2xpbnV4LWFybS1rZXJuZWwK