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=-11.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,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 9B361C2D0C6 for ; Sun, 29 Dec 2019 12:18:43 +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 68D40206E4 for ; Sun, 29 Dec 2019 12:18:43 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="cnGjbRvH" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 68D40206E4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=siol.net 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:References:In-Reply-To: Message-ID:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=LI7NE7YkWarflS8zVag3pIsoHLtL9I7Jvg2jwFAWIms=; b=cnGjbRvHaIqPe/ txbH2XkZlJyQokGfn5PAwUKeN7ym+s8VrfrGACeEizDTQe4pc9BHcb1tsyFlpGVN8dnp9Ji9t/4OS KYHcUALezMCuI9SInErcbat/WuW5p4f4NkY+wgK8YdNWaZlU7B4yR4QBXbGVrH/ccc80JZQXWiO/0 IvQ6uaJ4M8wdPn+62753G/w+I8UZ3BsrN3S5Ue+gjQpSogyy6jhxEwPWZ9bcXeJowSZ57HYAU+Y+B h6cfmHYjtB1b8BCMTFjmVShzN9FUCCTl7perOgSJn4ud1/zAtkbIOjJPZ9dBzU3bSjyA+kZSF9iiA JudzoiqppgH5wav+Yigw==; 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 1ilXWs-0004Ra-LB; Sun, 29 Dec 2019 12:18:42 +0000 Received: from mailoutvs21.siol.net ([185.57.226.212] helo=mail.siol.net) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1ilXWn-0004Ol-NZ for linux-arm-kernel@lists.infradead.org; Sun, 29 Dec 2019 12:18:40 +0000 Received: from localhost (localhost [127.0.0.1]) by mail.siol.net (Zimbra) with ESMTP id 47AF5521F33; Sun, 29 Dec 2019 13:18:31 +0100 (CET) X-Virus-Scanned: amavisd-new at psrvmta12.zcs-production.pri Received: from mail.siol.net ([127.0.0.1]) by localhost (psrvmta12.zcs-production.pri [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id Yr3wEisbwLv4; Sun, 29 Dec 2019 13:18:30 +0100 (CET) Received: from mail.siol.net (localhost [127.0.0.1]) by mail.siol.net (Zimbra) with ESMTPS id 7A839521F35; Sun, 29 Dec 2019 13:18:30 +0100 (CET) Received: from jernej-laptop.localnet (89-212-178-211.dynamic.t-2.net [89.212.178.211]) (Authenticated sender: jernej.skrabec@siol.net) by mail.siol.net (Zimbra) with ESMTPA id 36D8B521F33; Sun, 29 Dec 2019 13:18:30 +0100 (CET) From: Jernej =?utf-8?B?xaBrcmFiZWM=?= To: Roman Stratiienko Subject: Re: [RFC 3/4] drm/sun4i: Reimplement plane z position setting logic Date: Sun, 29 Dec 2019 13:18:29 +0100 Message-ID: <1775324.taCxCBeP46@jernej-laptop> In-Reply-To: References: <20191228202818.69908-1-roman.stratiienko@globallogic.com> <3994677.ejJDZkT8p0@jernej-laptop> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191229_041838_088628_EA0E8075 X-CRM114-Status: GOOD ( 22.11 ) 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: linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org, Maxime Ripard , linux-kernel@vger.kernel.org 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 RG5lIG5lZGVsamEsIDI5LiBkZWNlbWJlciAyMDE5IG9iIDEzOjA4OjE5IENFVCBqZSBSb21hbiBT dHJhdGlpZW5rbyAKbmFwaXNhbChhKToKPiBIZWxsbyBKZXJuZWosCj4gCj4gVGhhbmsgeW91IGZv ciByZXZpZXcuCj4gCj4gT24gU3VuLCBEZWMgMjksIDIwMTkgYXQgMTE6NDAgQU0gSmVybmVqIMWg a3JhYmVjIDxqZXJuZWouc2tyYWJlY0BzaW9sLm5ldD4gCndyb3RlOgo+ID4gSGkhCj4gPiAKPiA+ IERuZSBzb2JvdGEsIDI4LiBkZWNlbWJlciAyMDE5IG9iIDIxOjI4OjE3IENFVCBqZQo+ID4gCj4g PiByb21hbi5zdHJhdGlpZW5rb0BnbG9iYWxsb2dpYy5jb20gbmFwaXNhbChhKToKPiA+ID4gRnJv bTogUm9tYW4gU3RyYXRpaWVua28gPHJvbWFuLnN0cmF0aWllbmtvQGdsb2JhbGxvZ2ljLmNvbT4K PiA+ID4gCj4gPiA+IFRvIHNldCBibGVuZGluZyBjaGFubmVsIG9yZGVyIHJlZ2lzdGVyIHNvZnR3 YXJlIG5lZWRzIHRvIGtub3cgc3RhdGUgYW5kCj4gPiA+IHBvc2l0aW9uIG9mIGVhY2ggY2hhbm5l bCwgd2hpY2ggaW1wb3NzaWJsZSBhdCBwbGFuZSBjb21taXQgc3RhZ2UuCj4gPiA+IAo+ID4gPiBN b3ZlIHRoaXMgcHJvY2VkdXJlIHRvIGF0b21pY19mbHVzaCBzdGFnZSwgd2hlcmUgYWxsIG5lY2Vz c2FyeQo+ID4gPiBpbmZvcm1hdGlvbgo+ID4gPiBpcyBhdmFpbGFibGUuCj4gPiA+IAo+ID4gPiBT aWduZWQtb2ZmLWJ5OiBSb21hbiBTdHJhdGlpZW5rbyA8cm9tYW4uc3RyYXRpaWVua29AZ2xvYmFs bG9naWMuY29tPgo+ID4gPiAtLS0KPiA+ID4gCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vc3VuNGkv c3VuOGlfbWl4ZXIuYyAgICB8IDQ3ICsrKysrKysrKysrKysrKysrKysrKysrKystCj4gPiA+ICBk cml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuOGlfbWl4ZXIuaCAgICB8ICAzICsrCj4gPiA+ICBkcml2 ZXJzL2dwdS9kcm0vc3VuNGkvc3VuOGlfdWlfbGF5ZXIuYyB8IDQyICsrKystLS0tLS0tLS0tLS0t LS0tLS0tCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuOGlfdmlfbGF5ZXIuYyB8IDM5 ICsrKy0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gPiAgNCBmaWxlcyBjaGFuZ2VkLCA2MCBpbnNlcnRp b25zKCspLCA3MSBkZWxldGlvbnMoLSkKPiA+ID4gCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vc3VuNGkvc3VuOGlfbWl4ZXIuYwo+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9zdW40 aS9zdW44aV9taXhlci5jIGluZGV4IGJiOWE2NjVmZDA1My4uZGE4NGZjY2Y3Nzg0Cj4gPiA+IDEw MDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuOGlfbWl4ZXIuYwo+ID4g PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuOGlfbWl4ZXIuYwo+ID4gPiBAQCAtMzA3 LDggKzMwNyw0NyBAQCBzdGF0aWMgdm9pZCBzdW44aV9hdG9taWNfYmVnaW4oc3RydWN0IHN1bnhp X2VuZ2luZQo+ID4gPiAqZW5naW5lLAo+ID4gPiAKPiA+ID4gIHN0YXRpYyB2b2lkIHN1bjhpX21p eGVyX2NvbW1pdChzdHJ1Y3Qgc3VueGlfZW5naW5lICplbmdpbmUpCj4gPiA+ICB7Cj4gPiA+IAo+ ID4gPiAtICAgICBEUk1fREVCVUdfRFJJVkVSKCJDb21taXR0aW5nIGNoYW5nZXNcbiIpOwo+ID4g PiArICAgICBzdHJ1Y3Qgc3VuOGlfbWl4ZXIgKm1peGVyID0gZW5naW5lX3RvX3N1bjhpX21peGVy KGVuZ2luZSk7Cj4gPiA+ICsgICAgIHUzMiBiYXNlID0gc3VuOGlfYmxlbmRlcl9iYXNlKG1peGVy KTsKPiA+ID4gKyAgICAgaW50IGksIGo7Cj4gPiA+ICsgICAgIGludCBjaGFubmVsX2J5X3pwb3Nb NF0gPSB7LTEsIC0xLCAtMSwgLTF9Owo+ID4gPiArICAgICB1MzIgcm91dGUgPSAwLCBwaXBlX2N0 bCA9IDA7Cj4gPiA+ICsKPiA+ID4gKyAgICAgRFJNX0RFQlVHX0RSSVZFUigiVXBkYXRlIGJsZW5k ZXIgcm91dGluZ1xuIik7Cj4gPiAKPiA+IFVzZSBkcm1fZGJnKCkuCj4gPiAKPiA+ID4gKyAgICAg Zm9yIChpID0gMDsgaSA8IDQ7IGkrKykgewo+ID4gPiArICAgICAgICAgICAgIGludCB6cG9zID0g bWl4ZXItPmNoYW5uZWxfenBvc1tpXTsKPiA+IAo+ID4gY2hhbm5lbF96cG9zIGNhbiBob2xkIDUg ZWxlbWVudHMgd2hpY2ggaXMgYWxzbyB0aGVvcmV0aWNhbCBtYXhpbXVtIGZvcgo+ID4gY3VycmVu dCBIVyBkZXNpZ24uIFdoeSBkbyB5b3UgY2hlY2sgb25seSA0IGVsZW1lbnRzPwo+IAo+IEknbGwg dXNlIHBsYW5lX2NudCBhcyBpdCBkb25lIGluIG1peGVyX2JpbmQKPiAKPiA+IEl0IHdvdWxkIGJl IGdyZWF0IHRvIGludHJvZHVjZSBhIG1hY3JvIGxpa2UgU1VOOElfTUlYRVJfTUFYX0xBWUVSUyBz bwo+ID4gZXZlcnlvbmUgd291bGQgdW5kZXJzdGFuZCB3aGVyZSB0aGlzIG51bWJlciBjb21lcyBm cm9tLgo+IAo+IFdpbGwgZG8uCj4gCj4gPiA+ICsKPiA+ID4gKyAgICAgICAgICAgICBpZiAoenBv cyA+PSAwICYmIHpwb3MgPCA0KQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgY2hhbm5lbF9i eV96cG9zW3pwb3NdID0gaTsKPiA+ID4gKyAgICAgfQo+ID4gPiArCj4gPiA+ICsgICAgIGogPSAw Owo+ID4gPiArICAgICBmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKSB7Cj4gPiA+ICsgICAgICAgICAg ICAgaW50IGNoID0gY2hhbm5lbF9ieV96cG9zW2ldOwo+ID4gPiArCj4gPiA+ICsgICAgICAgICAg ICAgaWYgKGNoID49IDApIHsKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIHBpcGVfY3RsIHw9 IFNVTjhJX01JWEVSX0JMRU5EX1BJUEVfQ1RMX0VOKGopOwo+ID4gPiArICAgICAgICAgICAgICAg ICAgICAgcm91dGUgfD0gY2ggPDwKPiA+IAo+ID4gU1VOOElfTUlYRVJfQkxFTkRfUk9VVEVfUElQ RV9TSElGVChqKTsKPiA+IAo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgaisrOwo+ID4gPiAr ICAgICAgICAgICAgIH0KPiA+ID4gKyAgICAgfQo+ID4gPiArCj4gPiA+ICsgICAgIGZvciAoaSA9 IDA7IGkgPCA0ICYmIGogPCA0OyBpKyspIHsKPiA+ID4gKyAgICAgICAgICAgICBpbnQgenBvcyA9 IG1peGVyLT5jaGFubmVsX3pwb3NbaV07Cj4gPiA+IAo+ID4gPiArICAgICAgICAgICAgIGlmICh6 cG9zIDwgMCkgewo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgcm91dGUgfD0gaSA8PAo+ID4g Cj4gPiBTVU44SV9NSVhFUl9CTEVORF9ST1VURV9QSVBFX1NISUZUKGopOwo+ID4gCj4gPiA+ICsg ICAgICAgICAgICAgICAgICAgICBqKys7Cj4gPiA+ICsgICAgICAgICAgICAgfQo+ID4gPiArICAg ICB9Cj4gPiA+ICsKPiA+ID4gKyAgICAgcmVnbWFwX3VwZGF0ZV9iaXRzKG1peGVyLT5lbmdpbmUu cmVncywKPiA+IAo+ID4gU1VOOElfTUlYRVJfQkxFTkRfUElQRV9DVEwoYmFzZSksCj4gPiAKPiA+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIFNVTjhJX01JWEVSX0JMRU5EX1BJUEVfQ1RMX0VO X01TSywKPiA+IAo+ID4gcGlwZV9jdGwpOwo+ID4gCj4gPiA+ICsKPiA+ID4gKyAgICAgcmVnbWFw X3dyaXRlKG1peGVyLT5lbmdpbmUucmVncywKPiA+ID4gKyAgICAgICAgICAgICAgICAgIFNVTjhJ X01JWEVSX0JMRU5EX1JPVVRFKGJhc2UpLCByb3V0ZSk7Cj4gPiA+ICsKPiA+ID4gKyAgICAgRFJN X0RFQlVHX0RSSVZFUigiQ29tbWl0dGluZyBjaGFuZ2VzXG4iKTsKPiA+IAo+ID4gVXNlIGRybV9k YmcoKS4KPiAKPiBBY2NvcmRpbmcgdG8KPiBodHRwczovL2dpdGh1Yi5jb20vdG9ydmFsZHMvbGlu dXgvY29tbWl0Lzk5YTk1NDg3NGU3YjlmMGM4MDU4NDc2NTc1NTkzYjNiZWIKPiA1NzMxYTUjZGlm Zi1iMGNkMmQ2ODNjNmFmYmFiN2JkNTQxNzNjZmQzZDNlY1IyODkgLAo+IERSTV9ERUJVR19EUklW RVIgdXNlcyBkcm1fZGJnLgo+IEFsc28sIHVzaW5nIGRybV9kYmcgd2l0aCBjYXRlZ29yeSBtYWNy byB3b3VsZCByZXF1aXJlIGxhcmdlciBpbmRlbnQsCj4gbWFraW5nIGhhcmRlciB0byBmaXQgaW4g ODAgY2hhcnMgbGltaXQuCgpGcm9tIHdoYXQgSSBjYW4gc2VlLCBjYXRlZ29yeSBpcyBhbHJlYWR5 IGRlZmluZWQgYnkgbWFjcm8gbmFtZS4gQ2hlY2sgaGVyZTogCmh0dHBzOi8vY2dpdC5mcmVlZGVz a3RvcC5vcmcvZHJtL2RybS1taXNjL3RyZWUvaW5jbHVkZS9kcm0vZHJtX3ByaW50LmgjbjQ2NQoK U28gaXQgc2hvdWxkIGJlIGFjdHVhbGx5IHNob3J0ZXIuCgo+IEFyZSB0aGVyZSBhbnkgcGxhbnMg dG8gZGVwcmVjYXRlIERSTV9ERUJVR19EUklWRVIgbWFjcm8/CgpZZXMsIGF0IGxlYXN0IEkgdW5k ZXJzdGFuZCBmb2xsb3dpbmcgY29tbWl0IG1lc3NhZ2UgaW4gc3VjaCBtYW5uZXI6Cmh0dHBzOi8v Y2dpdC5mcmVlZGVza3RvcC5vcmcvZHJtL2RybS1taXNjL2NvbW1pdC8/CmlkPTkzY2NmYTlhNGVj YTQ4MjIxNmM1Y2FmODhiZTc3ZTVmZmEwZDc0NGEKCkJlc3QgcmVnYXJkcywKSmVybmVqCgo+IAo+ ID4gPiAgICAgICByZWdtYXBfd3JpdGUoZW5naW5lLT5yZWdzLCBTVU44SV9NSVhFUl9HTE9CQUxf REJVRkYsCj4gPiA+ICAgICAgIAo+ID4gPiAgICAgICAgICAgICAgICAgICAgU1VOOElfTUlYRVJf R0xPQkFMX0RCVUZGX0VOQUJMRSk7Cj4gPiA+ICAKPiA+ID4gIH0KPiA+ID4gCj4gPiA+IEBAIC00 MjIsNiArNDYxLDEyIEBAIHN0YXRpYyBpbnQgc3VuOGlfbWl4ZXJfYmluZChzdHJ1Y3QgZGV2aWNl ICpkZXYsCj4gPiA+IHN0cnVjdAo+ID4gPiBkZXZpY2UgKm1hc3RlciwgbWl4ZXItPmVuZ2luZS5v cHMgPSAmc3VuOGlfZW5naW5lX29wczsKPiA+ID4gCj4gPiA+ICAgICAgIG1peGVyLT5lbmdpbmUu bm9kZSA9IGRldi0+b2Zfbm9kZTsKPiA+ID4gCj4gPiA+ICsgICAgIG1peGVyLT5jaGFubmVsX3pw b3NbMF0gPSAtMTsKPiA+ID4gKyAgICAgbWl4ZXItPmNoYW5uZWxfenBvc1sxXSA9IC0xOwo+ID4g PiArICAgICBtaXhlci0+Y2hhbm5lbF96cG9zWzJdID0gLTE7Cj4gPiA+ICsgICAgIG1peGVyLT5j aGFubmVsX3pwb3NbM10gPSAtMTsKPiA+ID4gKyAgICAgbWl4ZXItPmNoYW5uZWxfenBvc1s0XSA9 IC0xOwo+ID4gPiArCj4gPiAKPiA+IGZvciBsb29wIHdvdWxkIGJlIGJldHRlciwgZXNwZWNpYWxs eSB1c2luZyBwcm9wb3NlZCBtYWNyby4KPiAKPiBJJ2xsIHB1dCBpdCBpbnRvIGFscmVhZHkgZXhp c3RlbnQgZm9yLWxvb3AgYmVsb3cuCj4gCj4gPiBCZXN0IHJlZ2FyZHMsCj4gPiBKZXJuZWoKPiA+ IAo+ID4gPiAgICAgICAvKgo+ID4gPiAgICAgICAKPiA+ID4gICAgICAgICogV2hpbGUgdGhpcyBm dW5jdGlvbiBjYW4gZmFpbCwgd2Ugc2hvdWxkbid0IGRvIGFueXRoaW5nCj4gPiA+ICAgICAgICAq IGlmIHRoaXMgaGFwcGVucy4gU29tZSBlYXJseSBERTIgRFQgZW50cmllcyBkb24ndCBwcm92aWRl Cj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjhpX21p eGVyLmgKPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuOGlfbWl4ZXIuaCBpbmRleCA5 MTU0NzljYzMwNzcuLjljMmZmODc5MjNkOAo+ID4gPiAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3N1bjRpL3N1bjhpX21peGVyLmgKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJt L3N1bjRpL3N1bjhpX21peGVyLmgKPiA+ID4gQEAgLTE3OCw2ICsxNzgsOSBAQCBzdHJ1Y3Qgc3Vu OGlfbWl4ZXIgewo+ID4gPiAKPiA+ID4gICAgICAgc3RydWN0IGNsayAgICAgICAgICAgICAgICAg ICAgICAqYnVzX2NsazsKPiA+ID4gICAgICAgc3RydWN0IGNsayAgICAgICAgICAgICAgICAgICAg ICAqbW9kX2NsazsKPiA+ID4gCj4gPiA+ICsKPiA+ID4gKyAgICAgLyogLTEgbWVhbnMgdGhhdCBs YXllciBpcyBkaXNhYmxlZCAqLwo+ID4gPiArICAgICBpbnQgY2hhbm5lbF96cG9zWzVdOwo+ID4g PiAKPiA+ID4gIH07Cj4gPiA+ICAKPiA+ID4gIHN0YXRpYyBpbmxpbmUgc3RydWN0IHN1bjhpX21p eGVyICoKPiA+ID4gCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3Vu OGlfdWlfbGF5ZXIuYwo+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW44aV91aV9sYXll ci5jIGluZGV4Cj4gPiA+IDg5MzA3NjcxNjA3MC4uMjNjMmY0YjY4Yzg5Cj4gPiA+IDEwMDY0NAo+ ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuOGlfdWlfbGF5ZXIuYwo+ID4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuOGlfdWlfbGF5ZXIuYwo+ID4gPiBAQCAtMjQs MTIgKzI0LDEwIEBACj4gPiA+IAo+ID4gPiAgI2luY2x1ZGUgInN1bjhpX3VpX3NjYWxlci5oIgo+ ID4gPiAgCj4gPiA+ICBzdGF0aWMgdm9pZCBzdW44aV91aV9sYXllcl9lbmFibGUoc3RydWN0IHN1 bjhpX21peGVyICptaXhlciwgaW50Cj4gPiA+ICBjaGFubmVsLAo+ID4gPiAKPiA+ID4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgb3ZlcmxheSwgYm9vbCBlbmFibGUsCj4gPiAK PiA+IHVuc2lnbmVkIGludCB6cG9zLAo+ID4gCj4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdW5zaWduZWQgaW50IG9sZF96cG9zKQo+ID4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGludCBvdmVybGF5LCBib29sIGVuYWJsZSwKPiA+IAo+ID4gdW5zaWduZWQg aW50IHpwb3MpCj4gPiAKPiA+ID4gIHsKPiA+ID4gCj4gPiA+IC0gICAgIHUzMiB2YWwsIGJsZF9i YXNlLCBjaF9iYXNlOwo+ID4gPiArICAgICB1MzIgdmFsLCBjaF9iYXNlOwo+ID4gPiAKPiA+ID4g LSAgICAgYmxkX2Jhc2UgPSBzdW44aV9ibGVuZGVyX2Jhc2UobWl4ZXIpOwo+ID4gPiAKPiA+ID4g ICAgICAgY2hfYmFzZSA9IHN1bjhpX2NoYW5uZWxfYmFzZShtaXhlciwgY2hhbm5lbCk7Cj4gPiA+ ICAgICAgIAo+ID4gPiAgICAgICBEUk1fREVCVUdfRFJJVkVSKCIlc2FibGluZyBjaGFubmVsICVk IG92ZXJsYXkgJWRcbiIsCj4gPiA+IAo+ID4gPiBAQCAtNDQsMzIgKzQyLDcgQEAgc3RhdGljIHZv aWQgc3VuOGlfdWlfbGF5ZXJfZW5hYmxlKHN0cnVjdCBzdW44aV9taXhlcgo+ID4gPiAqbWl4ZXIs IGludCBjaGFubmVsLCBTVU44SV9NSVhFUl9DSEFOX1VJX0xBWUVSX0FUVFIoY2hfYmFzZSwgb3Zl cmxheSksCj4gPiA+IAo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgU1VOOElfTUlYRVJf Q0hBTl9VSV9MQVlFUl9BVFRSX0VOLCB2YWwpOwo+ID4gPiAKPiA+ID4gLSAgICAgaWYgKCFlbmFi bGUgfHwgenBvcyAhPSBvbGRfenBvcykgewo+ID4gPiAtICAgICAgICAgICAgIHJlZ21hcF91cGRh dGVfYml0cyhtaXhlci0+ZW5naW5lLnJlZ3MsCj4gPiA+IC0KPiA+IAo+ID4gU1VOOElfTUlYRVJf QkxFTkRfUElQRV9DVEwoYmxkX2Jhc2UpLAo+ID4gCj4gPiA+IC0KPiA+IAo+ID4gU1VOOElfTUlY RVJfQkxFTkRfUElQRV9DVExfRU4ob2xkX3pwb3MpLAo+ID4gCj4gPiA+IC0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDApOwo+ID4gPiAtCj4gPiA+IC0gICAgICAgICAgICAgcmVnbWFw X3VwZGF0ZV9iaXRzKG1peGVyLT5lbmdpbmUucmVncywKPiA+ID4gLQo+ID4gCj4gPiBTVU44SV9N SVhFUl9CTEVORF9ST1VURShibGRfYmFzZSksCj4gPiAKPiA+ID4gLQo+ID4gCj4gPiBTVU44SV9N SVhFUl9CTEVORF9ST1VURV9QSVBFX01TSyhvbGRfenBvcyksCj4gPiAKPiA+ID4gLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMCk7Cj4gPiA+IC0gICAgIH0KPiA+ID4gLQo+ID4gPiAt ICAgICBpZiAoZW5hYmxlKSB7Cj4gPiA+IC0gICAgICAgICAgICAgdmFsID0gU1VOOElfTUlYRVJf QkxFTkRfUElQRV9DVExfRU4oenBvcyk7Cj4gPiA+IC0KPiA+ID4gLSAgICAgICAgICAgICByZWdt YXBfdXBkYXRlX2JpdHMobWl4ZXItPmVuZ2luZS5yZWdzLAo+ID4gPiAtCj4gPiAKPiA+IFNVTjhJ X01JWEVSX0JMRU5EX1BJUEVfQ1RMKGJsZF9iYXNlKSwKPiA+IAo+ID4gPiAtICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB2YWwsIHZhbCk7Cj4gPiA+IC0KPiA+ID4gLSAgICAgICAgICAg ICB2YWwgPSBjaGFubmVsIDw8Cj4gPiAKPiA+IFNVTjhJX01JWEVSX0JMRU5EX1JPVVRFX1BJUEVf U0hJRlQoenBvcyk7Cj4gPiAKPiA+ID4gLQo+ID4gPiAtICAgICAgICAgICAgIHJlZ21hcF91cGRh dGVfYml0cyhtaXhlci0+ZW5naW5lLnJlZ3MsCj4gPiA+IC0KPiA+IAo+ID4gU1VOOElfTUlYRVJf QkxFTkRfUk9VVEUoYmxkX2Jhc2UpLAo+ID4gCj4gPiA+IC0KPiA+IAo+ID4gU1VOOElfTUlYRVJf QkxFTkRfUk9VVEVfUElQRV9NU0soenBvcyksCj4gPiAKPiA+ID4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdmFsKTsKPiA+ID4gLSAgICAgfQo+ID4gPiArICAgICBtaXhlci0+Y2hh bm5lbF96cG9zW2NoYW5uZWxdID0gZW5hYmxlID8genBvcyA6IC0xOwo+ID4gPiAKPiA+ID4gIH0K PiA+ID4gIAo+ID4gPiAgc3RhdGljIGludCBzdW44aV91aV9sYXllcl91cGRhdGVfY29vcmQoc3Ry dWN0IHN1bjhpX21peGVyICptaXhlciwgaW50Cj4gPiA+IAo+ID4gPiBjaGFubmVsLCBAQCAtMjM1 LDExICsyMDgsOSBAQCBzdGF0aWMgdm9pZAo+ID4gPiBzdW44aV91aV9sYXllcl9hdG9taWNfZGlz YWJsZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0Cj4gPiA+IGRybV9wbGFuZV9zdGF0 ZSAqb2xkX3N0YXRlKQo+ID4gPiAKPiA+ID4gIHsKPiA+ID4gIAo+ID4gPiAgICAgICBzdHJ1Y3Qg c3VuOGlfdWlfbGF5ZXIgKmxheWVyID0gcGxhbmVfdG9fc3VuOGlfdWlfbGF5ZXIocGxhbmUpOwo+ ID4gPiAKPiA+ID4gLSAgICAgdW5zaWduZWQgaW50IG9sZF96cG9zID0gb2xkX3N0YXRlLT5ub3Jt YWxpemVkX3pwb3M7Cj4gPiA+IAo+ID4gPiAgICAgICBzdHJ1Y3Qgc3VuOGlfbWl4ZXIgKm1peGVy ID0gbGF5ZXItPm1peGVyOwo+ID4gPiAKPiA+ID4gLSAgICAgc3VuOGlfdWlfbGF5ZXJfZW5hYmxl KG1peGVyLCBsYXllci0+Y2hhbm5lbCwgbGF5ZXItPm92ZXJsYXksCj4gPiAKPiA+IGZhbHNlLCAw LAo+ID4gCj4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICBvbGRfenBvcyk7Cj4gPiA+ ICsgICAgIHN1bjhpX3VpX2xheWVyX2VuYWJsZShtaXhlciwgbGF5ZXItPmNoYW5uZWwsIGxheWVy LT5vdmVybGF5LAo+ID4gPiBmYWxzZSwKPiA+IAo+ID4gMCk7Cj4gPiAKPiA+ID4gIH0KPiA+ID4g IAo+ID4gPiAgc3RhdGljIHZvaWQgc3VuOGlfdWlfbGF5ZXJfYXRvbWljX3VwZGF0ZShzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwKPiA+ID4gCj4gPiA+IEBAIC0yNDcsMTIgKzIxOCwxMSBAQCBzdGF0 aWMgdm9pZCBzdW44aV91aV9sYXllcl9hdG9taWNfdXBkYXRlKHN0cnVjdAo+ID4gPiBkcm1fcGxh bmUgKnBsYW5lLCB7Cj4gPiA+IAo+ID4gPiAgICAgICBzdHJ1Y3Qgc3VuOGlfdWlfbGF5ZXIgKmxh eWVyID0gcGxhbmVfdG9fc3VuOGlfdWlfbGF5ZXIocGxhbmUpOwo+ID4gPiAgICAgICB1bnNpZ25l ZCBpbnQgenBvcyA9IHBsYW5lLT5zdGF0ZS0+bm9ybWFsaXplZF96cG9zOwo+ID4gPiAKPiA+ID4g LSAgICAgdW5zaWduZWQgaW50IG9sZF96cG9zID0gb2xkX3N0YXRlLT5ub3JtYWxpemVkX3pwb3M7 Cj4gPiA+IAo+ID4gPiAgICAgICBzdHJ1Y3Qgc3VuOGlfbWl4ZXIgKm1peGVyID0gbGF5ZXItPm1p eGVyOwo+ID4gPiAgICAgICAKPiA+ID4gICAgICAgaWYgKCFwbGFuZS0+c3RhdGUtPnZpc2libGUp IHsKPiA+ID4gICAgICAgCj4gPiA+ICAgICAgICAgICAgICAgc3VuOGlfdWlfbGF5ZXJfZW5hYmxl KG1peGVyLCBsYXllci0+Y2hhbm5lbCwKPiA+ID4gCj4gPiA+IC0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxheWVyLT5vdmVybGF5LCBmYWxzZSwgMCwKPiA+IAo+ID4gb2xkX3pw b3MpOwo+ID4gCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVy LT5vdmVybGF5LCBmYWxzZSwgMCk7Cj4gPiA+IAo+ID4gPiAgICAgICAgICAgICAgIHJldHVybjsK PiA+ID4gICAgICAgCj4gPiA+ICAgICAgIH0KPiA+ID4gCj4gPiA+IEBAIC0yNjMsNyArMjMzLDcg QEAgc3RhdGljIHZvaWQgc3VuOGlfdWlfbGF5ZXJfYXRvbWljX3VwZGF0ZShzdHJ1Y3QKPiA+ID4g ZHJtX3BsYW5lICpwbGFuZSwgc3VuOGlfdWlfbGF5ZXJfdXBkYXRlX2J1ZmZlcihtaXhlciwgbGF5 ZXItPmNoYW5uZWwsCj4gPiA+IAo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGxheWVyLT5vdmVybGF5LCBwbGFuZSk7Cj4gPiA+ICAgICAgIAo+ID4gPiAgICAgICBzdW44 aV91aV9sYXllcl9lbmFibGUobWl4ZXIsIGxheWVyLT5jaGFubmVsLCBsYXllci0+b3ZlcmxheSwK PiA+ID4gCj4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlLCB6cG9zLCBvbGRf enBvcyk7Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlLCB6cG9zKTsKPiA+ ID4gCj4gPiA+ICB9Cj4gPiA+ICAKPiA+ID4gIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lX2hlbHBl cl9mdW5jcyBzdW44aV91aV9sYXllcl9oZWxwZXJfZnVuY3MgPSB7Cj4gPiA+IAo+ID4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjhpX3ZpX2xheWVyLmMKPiA+ID4gYi9k cml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuOGlfdmlfbGF5ZXIuYyBpbmRleAo+ID4gPiA0MmQ0NDVk MjM3NzMuLjk3Y2JjOThiZjc4MQo+ID4gPiAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3N1bjRpL3N1bjhpX3ZpX2xheWVyLmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3N1 bjRpL3N1bjhpX3ZpX2xheWVyLmMKPiA+ID4gQEAgLTE3LDggKzE3LDcgQEAKPiA+ID4gCj4gPiA+ ICAjaW5jbHVkZSAic3VuOGlfdmlfc2NhbGVyLmgiCj4gPiA+ICAKPiA+ID4gIHN0YXRpYyB2b2lk IHN1bjhpX3ZpX2xheWVyX2VuYWJsZShzdHJ1Y3Qgc3VuOGlfbWl4ZXIgKm1peGVyLCBpbnQKPiA+ ID4gIGNoYW5uZWwsCj4gPiA+IAo+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGludCBvdmVybGF5LCBib29sIGVuYWJsZSwKPiA+IAo+ID4gdW5zaWduZWQgaW50IHpwb3MsCj4g PiAKPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgb2xk X3pwb3MpCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG92ZXJsYXks IGJvb2wgZW5hYmxlLAo+ID4gCj4gPiB1bnNpZ25lZCBpbnQgenBvcykKPiA+IAo+ID4gPiAgewo+ ID4gPiAgCj4gPiA+ICAgICAgIHUzMiB2YWwsIGJsZF9iYXNlLCBjaF9iYXNlOwo+ID4gPiAKPiA+ ID4gQEAgLTM3LDMyICszNiw3IEBAIHN0YXRpYyB2b2lkIHN1bjhpX3ZpX2xheWVyX2VuYWJsZShz dHJ1Y3Qgc3VuOGlfbWl4ZXIKPiA+ID4gKm1peGVyLCBpbnQgY2hhbm5lbCwgU1VOOElfTUlYRVJf Q0hBTl9WSV9MQVlFUl9BVFRSKGNoX2Jhc2UsIG92ZXJsYXkpLAo+ID4gPiAKPiA+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgIFNVTjhJX01JWEVSX0NIQU5fVklfTEFZRVJfQVRUUl9FTiwgdmFs KTsKPiA+ID4gCj4gPiA+IC0gICAgIGlmICghZW5hYmxlIHx8IHpwb3MgIT0gb2xkX3pwb3MpIHsK PiA+ID4gLSAgICAgICAgICAgICByZWdtYXBfdXBkYXRlX2JpdHMobWl4ZXItPmVuZ2luZS5yZWdz LAo+ID4gPiAtCj4gPiAKPiA+IFNVTjhJX01JWEVSX0JMRU5EX1BJUEVfQ1RMKGJsZF9iYXNlKSwK PiA+IAo+ID4gPiAtCj4gPiAKPiA+IFNVTjhJX01JWEVSX0JMRU5EX1BJUEVfQ1RMX0VOKG9sZF96 cG9zKSwKPiA+IAo+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsKPiA+ ID4gLQo+ID4gPiAtICAgICAgICAgICAgIHJlZ21hcF91cGRhdGVfYml0cyhtaXhlci0+ZW5naW5l LnJlZ3MsCj4gPiA+IC0KPiA+IAo+ID4gU1VOOElfTUlYRVJfQkxFTkRfUk9VVEUoYmxkX2Jhc2Up LAo+ID4gCj4gPiA+IC0KPiA+IAo+ID4gU1VOOElfTUlYRVJfQkxFTkRfUk9VVEVfUElQRV9NU0so b2xkX3pwb3MpLAo+ID4gCj4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAp Owo+ID4gPiAtICAgICB9Cj4gPiA+IC0KPiA+ID4gLSAgICAgaWYgKGVuYWJsZSkgewo+ID4gPiAt ICAgICAgICAgICAgIHZhbCA9IFNVTjhJX01JWEVSX0JMRU5EX1BJUEVfQ1RMX0VOKHpwb3MpOwo+ ID4gPiAtCj4gPiA+IC0gICAgICAgICAgICAgcmVnbWFwX3VwZGF0ZV9iaXRzKG1peGVyLT5lbmdp bmUucmVncywKPiA+ID4gLQo+ID4gCj4gPiBTVU44SV9NSVhFUl9CTEVORF9QSVBFX0NUTChibGRf YmFzZSksCj4gPiAKPiA+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsLCB2 YWwpOwo+ID4gPiAtCj4gPiA+IC0gICAgICAgICAgICAgdmFsID0gY2hhbm5lbCA8PAo+ID4gCj4g PiBTVU44SV9NSVhFUl9CTEVORF9ST1VURV9QSVBFX1NISUZUKHpwb3MpOwo+ID4gCj4gPiA+IC0K PiA+ID4gLSAgICAgICAgICAgICByZWdtYXBfdXBkYXRlX2JpdHMobWl4ZXItPmVuZ2luZS5yZWdz LAo+ID4gPiAtCj4gPiAKPiA+IFNVTjhJX01JWEVSX0JMRU5EX1JPVVRFKGJsZF9iYXNlKSwKPiA+ IAo+ID4gPiAtCj4gPiAKPiA+IFNVTjhJX01JWEVSX0JMRU5EX1JPVVRFX1BJUEVfTVNLKHpwb3Mp LAo+ID4gCj4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbCk7Cj4gPiA+ IC0gICAgIH0KPiA+ID4gKyAgICAgbWl4ZXItPmNoYW5uZWxfenBvc1tjaGFubmVsXSA9IGVuYWJs ZSA/IHpwb3MgOiAtMTsKPiA+ID4gCj4gPiA+ICB9Cj4gPiA+ICAKPiA+ID4gIHN0YXRpYyBpbnQg c3VuOGlfdmlfbGF5ZXJfdXBkYXRlX2Nvb3JkKHN0cnVjdCBzdW44aV9taXhlciAqbWl4ZXIsIGlu dAo+ID4gPiAKPiA+ID4gY2hhbm5lbCwgQEAgLTM1MCwxMSArMzI0LDkgQEAgc3RhdGljIHZvaWQK PiA+ID4gc3VuOGlfdmlfbGF5ZXJfYXRvbWljX2Rpc2FibGUoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsIHN0cnVjdAo+ID4gPiBkcm1fcGxhbmVfc3RhdGUgKm9sZF9zdGF0ZSkKPiA+ID4gCj4gPiA+ ICB7Cj4gPiA+ICAKPiA+ID4gICAgICAgc3RydWN0IHN1bjhpX3ZpX2xheWVyICpsYXllciA9IHBs YW5lX3RvX3N1bjhpX3ZpX2xheWVyKHBsYW5lKTsKPiA+ID4gCj4gPiA+IC0gICAgIHVuc2lnbmVk IGludCBvbGRfenBvcyA9IG9sZF9zdGF0ZS0+bm9ybWFsaXplZF96cG9zOwo+ID4gPiAKPiA+ID4g ICAgICAgc3RydWN0IHN1bjhpX21peGVyICptaXhlciA9IGxheWVyLT5taXhlcjsKPiA+ID4gCj4g PiA+IC0gICAgIHN1bjhpX3ZpX2xheWVyX2VuYWJsZShtaXhlciwgbGF5ZXItPmNoYW5uZWwsIGxh eWVyLT5vdmVybGF5LAo+ID4gCj4gPiBmYWxzZSwgMCwKPiA+IAo+ID4gPiAtICAgICAgICAgICAg ICAgICAgICAgICAgICAgb2xkX3pwb3MpOwo+ID4gPiArICAgICBzdW44aV92aV9sYXllcl9lbmFi bGUobWl4ZXIsIGxheWVyLT5jaGFubmVsLCBsYXllci0+b3ZlcmxheSwKPiA+ID4gZmFsc2UsCj4g PiAKPiA+IDApOwo+ID4gCj4gPiA+ICB9Cj4gPiA+ICAKPiA+ID4gIHN0YXRpYyB2b2lkIHN1bjhp X3ZpX2xheWVyX2F0b21pY191cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gPiA+IAo+ ID4gPiBAQCAtMzYyLDEyICszMzQsMTEgQEAgc3RhdGljIHZvaWQgc3VuOGlfdmlfbGF5ZXJfYXRv bWljX3VwZGF0ZShzdHJ1Y3QKPiA+ID4gZHJtX3BsYW5lICpwbGFuZSwgewo+ID4gPiAKPiA+ID4g ICAgICAgc3RydWN0IHN1bjhpX3ZpX2xheWVyICpsYXllciA9IHBsYW5lX3RvX3N1bjhpX3ZpX2xh eWVyKHBsYW5lKTsKPiA+ID4gICAgICAgdW5zaWduZWQgaW50IHpwb3MgPSBwbGFuZS0+c3RhdGUt Pm5vcm1hbGl6ZWRfenBvczsKPiA+ID4gCj4gPiA+IC0gICAgIHVuc2lnbmVkIGludCBvbGRfenBv cyA9IG9sZF9zdGF0ZS0+bm9ybWFsaXplZF96cG9zOwo+ID4gPiAKPiA+ID4gICAgICAgc3RydWN0 IHN1bjhpX21peGVyICptaXhlciA9IGxheWVyLT5taXhlcjsKPiA+ID4gICAgICAgCj4gPiA+ICAg ICAgIGlmICghcGxhbmUtPnN0YXRlLT52aXNpYmxlKSB7Cj4gPiA+ICAgICAgIAo+ID4gPiAgICAg ICAgICAgICAgIHN1bjhpX3ZpX2xheWVyX2VuYWJsZShtaXhlciwgbGF5ZXItPmNoYW5uZWwsCj4g PiA+IAo+ID4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllci0+b3Zl cmxheSwgZmFsc2UsIDAsCj4gPiAKPiA+IG9sZF96cG9zKTsKPiA+IAo+ID4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllci0+b3ZlcmxheSwgZmFsc2UsIDApOwo+ID4g PiAKPiA+ID4gICAgICAgICAgICAgICByZXR1cm47Cj4gPiA+ICAgICAgIAo+ID4gPiAgICAgICB9 Cj4gPiA+IAo+ID4gPiBAQCAtMzc4LDcgKzM0OSw3IEBAIHN0YXRpYyB2b2lkIHN1bjhpX3ZpX2xh eWVyX2F0b21pY191cGRhdGUoc3RydWN0Cj4gPiA+IGRybV9wbGFuZSAqcGxhbmUsIHN1bjhpX3Zp X2xheWVyX3VwZGF0ZV9idWZmZXIobWl4ZXIsIGxheWVyLT5jaGFubmVsLAo+ID4gPiAKPiA+ID4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllci0+b3ZlcmxheSwgcGxhbmUp Owo+ID4gPiAgICAgICAKPiA+ID4gICAgICAgc3VuOGlfdmlfbGF5ZXJfZW5hYmxlKG1peGVyLCBs YXllci0+Y2hhbm5lbCwgbGF5ZXItPm92ZXJsYXksCj4gPiA+IAo+ID4gPiAtICAgICAgICAgICAg ICAgICAgICAgICAgICAgdHJ1ZSwgenBvcywgb2xkX3pwb3MpOwo+ID4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgdHJ1ZSwgenBvcyk7Cj4gPiA+IAo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+ ICBzdGF0aWMgc3RydWN0IGRybV9wbGFuZV9oZWxwZXJfZnVuY3Mgc3VuOGlfdmlfbGF5ZXJfaGVs cGVyX2Z1bmNzID0gewoKCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxA bGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK