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.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,UPPERCASE_50_75,URIBL_BLOCKED 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 E43A5C43381 for ; Mon, 18 Mar 2019 11:00:46 +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 AC18F20854 for ; Mon, 18 Mar 2019 11:00:46 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="M/sBCKC2" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AC18F20854 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bootlin.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:References:In-Reply-To: Date:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=6W8Mbs1mIqEG82UXrX79EWGts6kuL7GE5qps47HYvVI=; b=M/sBCKC2Rw+Y4g s5aSXfCvlPAqDq3PNMq4aINSsoC//x+oql/YJzJAuSse1U16rEYy0QoYCFa0jHgJvpKICr0uWGKJL CDTR8eVxcwuueNklrrzczH6JxjYZnLIxNB5c0AImqHvyRcofPiX9O/ip5qAetduzHotNxsoA79iaw oP2Z9r0gv+2jaRDyijmB2syelLsW5zHPqf4syv4IgM8Fwb7cu/R18DXQKwgpCAlgBO0SJnyKxduG9 cSzRXdEYpoI1mvBv/Z34k2Cbkg4D2noUQWn6O5kNObAb3GrBVFAANZFBKYLB7DyQxYFVV9Ru1gCx0 UWXFCw7/8NRsD3theD3w==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1h5q0W-0000Bu-QV; Mon, 18 Mar 2019 11:00:40 +0000 Received: from relay6-d.mail.gandi.net ([217.70.183.198]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1h5q0S-0008Rl-Nv for linux-arm-kernel@lists.infradead.org; Mon, 18 Mar 2019 11:00:38 +0000 X-Originating-IP: 90.88.22.102 Received: from aptenodytes (aaubervilliers-681-1-80-102.w90-88.abo.wanadoo.fr [90.88.22.102]) (Authenticated sender: paul.kocialkowski@bootlin.com) by relay6-d.mail.gandi.net (Postfix) with ESMTPSA id 1E17BC000A; Mon, 18 Mar 2019 11:00:12 +0000 (UTC) Message-ID: <16d670d78c5616fb86898fdd8f8fa615177c31af.camel@bootlin.com> Subject: Re: [linux-sunxi] [PATCH 04/14] pinctrl: sunxi: v3: really introduce support for V3 From: Paul Kocialkowski To: icenowy@aosc.io, Rob Herring , Maxime Ripard , Chen-Yu Tsai , Linus Walleij , Jagan Teki Date: Mon, 18 Mar 2019 12:00:12 +0100 In-Reply-To: <20190312152256.35574-5-icenowy@aosc.io> References: <20190312152256.35574-1-icenowy@aosc.io> <20190312152256.35574-5-icenowy@aosc.io> Organization: Bootlin User-Agent: Evolution 3.32.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190318_040037_089230_F0933C3C X-CRM114-Status: GOOD ( 18.25 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-sunxi@googlegroups.com, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.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 SGkgSWNlbm93eSwKCkxlIG1hcmRpIDEyIG1hcnMgMjAxOSDDoCAyMzoyMiArMDgwMCwgSWNlbm93 eSBaaGVuZyBhIMOpY3JpdCA6Cj4gSW50cm9kdWNlIHRoZSBHUElPIHBpbnMgdGhhdCBpcyBvbmx5 IGF2YWlsYWJsZSBvbiBWMyAobm90IG9uIFYzcykgdG8gdGhlCj4gVjMgcGluY3RybCBkcml2ZXIu CgpUaGFua3MgZm9yIHdvcmtpbmcgb24gdGhpcywgSSB3YXMgYWN0dWFsbHkgY2xvc2UgdG8gc3Vi bWl0dGluZyBzaW1pbGFyCnBhdGNoZXMgZm9yIFYzIHN1cHBvcnQhCgpJIGp1c3QgcmV2aWV3ZWQg dGhlIGRlZmluaXRpb25zIGFuZCBmb3VuZCBhIG1pc3Rha2VzIGFib3V0IHRoZSBMVkRTCmZ1bmN0 aW9uICh0aGF0IHNob3VsZCBiZSAweDMgaW5zdGVhZCBvZiAweDIpLgoKT3RoZXJ3aXNlLCB0aGlu Z3MgbG9vayBnb29kIGFuZCBtYXRjaCB3aGF0IEkgaGFkIGNhbWUgdXAgd2l0aC4KCkNoZWVycywK ClBhdWwKCj4gU2lnbmVkLW9mZi1ieTogSWNlbm93eSBaaGVuZyA8aWNlbm93eUBhb3NjLmlvPgo+ IC0tLQo+ICBkcml2ZXJzL3BpbmN0cmwvc3VueGkvcGluY3RybC1zdW44aS12My5jIHwgMjkxICsr KysrKysrKysrKysrKysrKysrKy0tCj4gIGRyaXZlcnMvcGluY3RybC9zdW54aS9waW5jdHJsLXN1 bnhpLmggICAgfCAgIDIgKwo+ICAyIGZpbGVzIGNoYW5nZWQsIDI3NSBpbnNlcnRpb25zKCspLCAx OCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9waW5jdHJsL3N1bnhpL3Bp bmN0cmwtc3VuOGktdjMuYyBiL2RyaXZlcnMvcGluY3RybC9zdW54aS9waW5jdHJsLXN1bjhpLXYz LmMKPiBpbmRleCA2NzA0Y2U4ZTVlM2QuLjU0YzIxMDg3MWE5NSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL3BpbmN0cmwvc3VueGkvcGluY3RybC1zdW44aS12My5jCj4gKysrIGIvZHJpdmVycy9waW5j dHJsL3N1bnhpL3BpbmN0cmwtc3VuOGktdjMuYwo+IEBAIC0xLDUgKzEsNSBAQAo+ICAvKgo+IC0g KiBBbGx3aW5uZXIgVjNzIFNvQ3MgcGluY3RybCBkcml2ZXIuCj4gKyAqIEFsbHdpbm5lciBWMy9W M3MgU29DcyBwaW5jdHJsIGRyaXZlci4KPiAgICoKPiAgICogQ29weXJpZ2h0IChDKSAyMDE2IElj ZW5vd3kgWmhlbmcgPGljZW5vd3lAYW9zYy54eXo+Cj4gICAqCj4gQEAgLTIzLDcgKzIzLDcgQEAK PiAgCj4gICNpbmNsdWRlICJwaW5jdHJsLXN1bnhpLmgiCj4gIAo+IC1zdGF0aWMgY29uc3Qgc3Ry dWN0IHN1bnhpX2Rlc2NfcGluIHN1bjhpX3Yzc19waW5zW10gPSB7Cj4gK3N0YXRpYyBjb25zdCBz dHJ1Y3Qgc3VueGlfZGVzY19waW4gc3VuOGlfdjNfdjNzX3BpbnNbXSA9IHsKPiAgCS8qIEhvbGUg Ki8KPiAgCVNVTlhJX1BJTihTVU5YSV9QSU5DVFJMX1BJTihCLCAwKSwKPiAgCQkgIFNVTlhJX0ZV TkNUSU9OKDB4MCwgImdwaW9faW4iKSwKPiBAQCAtNzcsNiArNzcsMzAgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBzdW54aV9kZXNjX3BpbiBzdW44aV92M3NfcGluc1tdID0gewo+ICAJCSAgU1VOWElf RlVOQ1RJT04oMHgyLCAiaTJjMSIpLAkJLyogU0NLICovCj4gIAkJICBTVU5YSV9GVU5DVElPTigw eDMsICJ1YXJ0MCIpLAkJLyogUlggKi8KPiAgCQkgIFNVTlhJX0ZVTkNUSU9OX0lSUV9CQU5LKDB4 NiwgMCwgOSkpLAkvKiBQQl9FSU5UOSAqLwo+ICsJU1VOWElfUElOX1ZBUklBTlQoU1VOWElfUElO Q1RSTF9QSU4oQiwgMTApLAo+ICsJCSAgUElOQ1RSTF9TVU44SV9WMywKPiArCQkgIFNVTlhJX0ZV TkNUSU9OKDB4MCwgImdwaW9faW4iKSwKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9f b3V0IiksCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDIsICJqdGFnIiksCQkvKiBNUyAqLwo+ICsJ CSAgU1VOWElfRlVOQ1RJT05fSVJRX0JBTksoMHg2LCAwLCAxMCkpLAkvKiBQQl9FSU5UMTAgKi8K PiArCVNVTlhJX1BJTl9WQVJJQU5UKFNVTlhJX1BJTkNUUkxfUElOKEIsIDExKSwKPiArCQkgIFBJ TkNUUkxfU1VOOElfVjMsCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDAsICJncGlvX2luIiksCj4g KwkJICBTVU5YSV9GVU5DVElPTigweDEsICJncGlvX291dCIpLAo+ICsJCSAgU1VOWElfRlVOQ1RJ T04oMHgyLCAianRhZyIpLAkJLyogQ0sgKi8KPiArCQkgIFNVTlhJX0ZVTkNUSU9OX0lSUV9CQU5L KDB4NiwgMCwgMTEpKSwJLyogUEJfRUlOVDExICovCj4gKwlTVU5YSV9QSU5fVkFSSUFOVChTVU5Y SV9QSU5DVFJMX1BJTihCLCAxMiksCj4gKwkJICBQSU5DVFJMX1NVTjhJX1YzLAo+ICsJCSAgU1VO WElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAi Z3Bpb19vdXQiKSwKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MiwgImp0YWciKSwJCS8qIERPICov Cj4gKwkJICBTVU5YSV9GVU5DVElPTl9JUlFfQkFOSygweDYsIDAsIDEyKSksCS8qIFBCX0VJTlQx MiAqLwo+ICsJU1VOWElfUElOX1ZBUklBTlQoU1VOWElfUElOQ1RSTF9QSU4oQiwgMTMpLAo+ICsJ CSAgUElOQ1RSTF9TVU44SV9WMywKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwgImdwaW9faW4i KSwKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4gKwkJICBTVU5YSV9G VU5DVElPTigweDIsICJqdGFnIiksCQkvKiBESSAqLwo+ICsJCSAgU1VOWElfRlVOQ1RJT05fSVJR X0JBTksoMHg2LCAwLCAxMykpLAkvKiBQQl9FSU5UMTMgKi8KPiAgCS8qIEhvbGUgKi8KPiAgCVNV TlhJX1BJTihTVU5YSV9QSU5DVFJMX1BJTihDLCAwKSwKPiAgCQkgIFNVTlhJX0ZVTkNUSU9OKDB4 MCwgImdwaW9faW4iKSwKPiBAQCAtOTgsNiArMTIyLDE4MCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IHN1bnhpX2Rlc2NfcGluIHN1bjhpX3Yzc19waW5zW10gPSB7Cj4gIAkJICBTVU5YSV9GVU5DVElP TigweDEsICJncGlvX291dCIpLAo+ICAJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAibW1jMiIpLAkJ LyogRDAgKi8KPiAgCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MywgInNwaTAiKSksCQkvKiBNT1NJICov Cj4gKwlTVU5YSV9QSU5fVkFSSUFOVChTVU5YSV9QSU5DVFJMX1BJTihDLCA0KSwKPiArCQkgIFBJ TkNUUkxfU1VOOElfVjMsCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDAsICJncGlvX2luIiksCj4g KwkJICBTVU5YSV9GVU5DVElPTigweDEsICJncGlvX291dCIpLAo+ICsJCSAgU1VOWElfRlVOQ1RJ T04oMHgyLCAibW1jMiIpKSwJCS8qIEQxICovCj4gKwlTVU5YSV9QSU5fVkFSSUFOVChTVU5YSV9Q SU5DVFJMX1BJTihDLCA1KSwKPiArCQkgIFBJTkNUUkxfU1VOOElfVjMsCj4gKwkJICBTVU5YSV9G VU5DVElPTigweDAsICJncGlvX2luIiksCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDEsICJncGlv X291dCIpLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAibW1jMiIpKSwJCS8qIEQyICovCj4g KwlTVU5YSV9QSU5fVkFSSUFOVChTVU5YSV9QSU5DVFJMX1BJTihDLCA2KSwKPiArCQkgIFBJTkNU UkxfU1VOOElfVjMsCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDAsICJncGlvX2luIiksCj4gKwkJ ICBTVU5YSV9GVU5DVElPTigweDEsICJncGlvX291dCIpLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04o MHgyLCAibW1jMiIpKSwJCS8qIEQzICovCj4gKwlTVU5YSV9QSU5fVkFSSUFOVChTVU5YSV9QSU5D VFJMX1BJTihDLCA3KSwKPiArCQkgIFBJTkNUUkxfU1VOOElfVjMsCj4gKwkJICBTVU5YSV9GVU5D VElPTigweDAsICJncGlvX2luIiksCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDEsICJncGlvX291 dCIpLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAibW1jMiIpKSwJCS8qIEQ0ICovCj4gKwlT VU5YSV9QSU5fVkFSSUFOVChTVU5YSV9QSU5DVFJMX1BJTihDLCA4KSwKPiArCQkgIFBJTkNUUkxf U1VOOElfVjMsCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDAsICJncGlvX2luIiksCj4gKwkJICBT VU5YSV9GVU5DVElPTigweDEsICJncGlvX291dCIpLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgy LCAibW1jMiIpKSwJCS8qIEQ1ICovCj4gKwlTVU5YSV9QSU5fVkFSSUFOVChTVU5YSV9QSU5DVFJM X1BJTihDLCA5KSwKPiArCQkgIFBJTkNUUkxfU1VOOElfVjMsCj4gKwkJICBTVU5YSV9GVU5DVElP TigweDAsICJncGlvX2luIiksCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDEsICJncGlvX291dCIp LAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAibW1jMiIpKSwJCS8qIEQ2ICovCj4gKwlTVU5Y SV9QSU5fVkFSSUFOVChTVU5YSV9QSU5DVFJMX1BJTihDLCAxMCksCj4gKwkJICBQSU5DVFJMX1NV TjhJX1YzLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+ICsJCSAgU1VO WElfRlVOQ1RJT04oMHgxLCAiZ3Bpb19vdXQiKSwKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4Miwg Im1tYzIiKSksCQkvKiBENyAqLwo+ICsJLyogSG9sZSAqLwo+ICsJU1VOWElfUElOX1ZBUklBTlQo U1VOWElfUElOQ1RSTF9QSU4oRCwgMCksCj4gKwkJICBQSU5DVFJMX1NVTjhJX1YzLAo+ICsJCSAg U1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgx LCAiZ3Bpb19vdXQiKSwKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MiwgImxjZCIpLAkJLyogRDIg Ki8KPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4NCwgImVtYWMiKSksCQkvKiBSWEQzICovCj4gKwlT VU5YSV9QSU5fVkFSSUFOVChTVU5YSV9QSU5DVFJMX1BJTihELCAxKSwKPiArCQkgIFBJTkNUUkxf U1VOOElfVjMsCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDAsICJncGlvX2luIiksCj4gKwkJICBT VU5YSV9GVU5DVElPTigweDEsICJncGlvX291dCIpLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgy LCAibGNkIiksCQkvKiBEMyAqLwo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHg0LCAiZW1hYyIpKSwJ CS8qIFJYRDIgKi8KPiArCVNVTlhJX1BJTl9WQVJJQU5UKFNVTlhJX1BJTkNUUkxfUElOKEQsIDIp LAo+ICsJCSAgUElOQ1RSTF9TVU44SV9WMywKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwgImdw aW9faW4iKSwKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4gKwkJICBT VU5YSV9GVU5DVElPTigweDIsICJsY2QiKSwJCS8qIEQ0ICovCj4gKwkJICBTVU5YSV9GVU5DVElP TigweDQsICJlbWFjIikpLAkJLyogUlhEMSAqLwo+ICsJU1VOWElfUElOX1ZBUklBTlQoU1VOWElf UElOQ1RSTF9QSU4oRCwgMyksCj4gKwkJICBQSU5DVFJMX1NVTjhJX1YzLAo+ICsJCSAgU1VOWElf RlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bp b19vdXQiKSwKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MiwgImxjZCIpLAkJLyogRDUgKi8KPiAr CQkgIFNVTlhJX0ZVTkNUSU9OKDB4NCwgImVtYWMiKSksCQkvKiBSWEQwICovCj4gKwlTVU5YSV9Q SU5fVkFSSUFOVChTVU5YSV9QSU5DVFJMX1BJTihELCA0KSwKPiArCQkgIFBJTkNUUkxfU1VOOElf VjMsCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDAsICJncGlvX2luIiksCj4gKwkJICBTVU5YSV9G VU5DVElPTigweDEsICJncGlvX291dCIpLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAibGNk IiksCQkvKiBENiAqLwo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHg0LCAiZW1hYyIpKSwJCS8qIFJY Q0sgKi8KPiArCVNVTlhJX1BJTl9WQVJJQU5UKFNVTlhJX1BJTkNUUkxfUElOKEQsIDUpLAo+ICsJ CSAgUElOQ1RSTF9TVU44SV9WMywKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwgImdwaW9faW4i KSwKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4gKwkJICBTVU5YSV9G VU5DVElPTigweDIsICJsY2QiKSwJCS8qIEQ3ICovCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDQs ICJlbWFjIikpLAkJLyogUlhDVEwvUlhEViAqLwo+ICsJU1VOWElfUElOX1ZBUklBTlQoU1VOWElf UElOQ1RSTF9QSU4oRCwgNiksCj4gKwkJICBQSU5DVFJMX1NVTjhJX1YzLAo+ICsJCSAgU1VOWElf RlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bp b19vdXQiKSwKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MiwgImxjZCIpLAkJLyogRDEwICovCj4g KwkJICBTVU5YSV9GVU5DVElPTigweDQsICJlbWFjIikpLAkJLyogUlhFUlIgKi8KPiArCVNVTlhJ X1BJTl9WQVJJQU5UKFNVTlhJX1BJTkNUUkxfUElOKEQsIDcpLAo+ICsJCSAgUElOQ1RSTF9TVU44 SV9WMywKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwgImdwaW9faW4iKSwKPiArCQkgIFNVTlhJ X0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDIsICJs Y2QiKSwJCS8qIEQxMSAqLwo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHg0LCAiZW1hYyIpKSwJCS8q IFRYRDMgKi8KPiArCVNVTlhJX1BJTl9WQVJJQU5UKFNVTlhJX1BJTkNUUkxfUElOKEQsIDgpLAo+ ICsJCSAgUElOQ1RSTF9TVU44SV9WMywKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwgImdwaW9f aW4iKSwKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4gKwkJICBTVU5Y SV9GVU5DVElPTigweDIsICJsY2QiKSwJCS8qIEQxMiAqLwo+ICsJCSAgU1VOWElfRlVOQ1RJT04o MHg0LCAiZW1hYyIpKSwJCS8qIFRYRDIgKi8KPiArCVNVTlhJX1BJTl9WQVJJQU5UKFNVTlhJX1BJ TkNUUkxfUElOKEQsIDkpLAo+ICsJCSAgUElOQ1RSTF9TVU44SV9WMywKPiArCQkgIFNVTlhJX0ZV TkNUSU9OKDB4MCwgImdwaW9faW4iKSwKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9f b3V0IiksCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDIsICJsY2QiKSwJCS8qIEQxMyAqLwo+ICsJ CSAgU1VOWElfRlVOQ1RJT04oMHg0LCAiZW1hYyIpKSwJCS8qIFRYRDEgKi8KPiArCVNVTlhJX1BJ Tl9WQVJJQU5UKFNVTlhJX1BJTkNUUkxfUElOKEQsIDEwKSwKPiArCQkgIFBJTkNUUkxfU1VOOElf VjMsCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDAsICJncGlvX2luIiksCj4gKwkJICBTVU5YSV9G VU5DVElPTigweDEsICJncGlvX291dCIpLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAibGNk IiksCQkvKiBEMTQgKi8KPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4NCwgImVtYWMiKSksCQkvKiBU WEQwICovCj4gKwlTVU5YSV9QSU5fVkFSSUFOVChTVU5YSV9QSU5DVFJMX1BJTihELCAxMSksCj4g KwkJICBQSU5DVFJMX1NVTjhJX1YzLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19p biIpLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bpb19vdXQiKSwKPiArCQkgIFNVTlhJ X0ZVTkNUSU9OKDB4MiwgImxjZCIpLAkJLyogRDE1ICovCj4gKwkJICBTVU5YSV9GVU5DVElPTigw eDQsICJlbWFjIikpLAkJLyogQ1JTICovCj4gKwlTVU5YSV9QSU5fVkFSSUFOVChTVU5YSV9QSU5D VFJMX1BJTihELCAxMiksCj4gKwkJICBQSU5DVFJMX1NVTjhJX1YzLAo+ICsJCSAgU1VOWElfRlVO Q1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bpb19v dXQiKSwKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MiwgImxjZCIpLAkJLyogRDE4ICovCj4gKwkJ ICBTVU5YSV9GVU5DVElPTigweDIsICJsdmRzIiksCQkvKiBWUDAgKi8KCkxWRFMgc2hvdWxkIGJl IGZ1bmN0aW9uIDB4My4KCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDQsICJlbWFjIikpLAkJLyog VFhDSyAqLwo+ICsJU1VOWElfUElOX1ZBUklBTlQoU1VOWElfUElOQ1RSTF9QSU4oRCwgMTMpLAo+ ICsJCSAgUElOQ1RSTF9TVU44SV9WMywKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwgImdwaW9f aW4iKSwKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4gKwkJICBTVU5Y SV9GVU5DVElPTigweDIsICJsY2QiKSwJCS8qIEQxOSAqLwo+ICsJCSAgU1VOWElfRlVOQ1RJT04o MHgyLCAibHZkcyIpLAkJLyogVk4wICovCgpEaXR0byBhYm91dCBMVkRTLgoKPiArCQkgIFNVTlhJ X0ZVTkNUSU9OKDB4NCwgImVtYWMiKSksCQkvKiBUWENUTC9UWEVOICovCj4gKwlTVU5YSV9QSU5f VkFSSUFOVChTVU5YSV9QSU5DVFJMX1BJTihELCAxNCksCj4gKwkJICBQSU5DVFJMX1NVTjhJX1Yz LAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+ICsJCSAgU1VOWElfRlVO Q1RJT04oMHgxLCAiZ3Bpb19vdXQiKSwKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MiwgImxjZCIp LAkJLyogRDIwICovCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDIsICJsdmRzIiksCQkvKiBWUDEg Ki8KCkRpdHRvIGFib3V0IExWRFMuCgo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHg0LCAiZW1hYyIp KSwJCS8qIFRYRVJSICovCj4gKwlTVU5YSV9QSU5fVkFSSUFOVChTVU5YSV9QSU5DVFJMX1BJTihE LCAxNSksCj4gKwkJICBQSU5DVFJMX1NVTjhJX1YzLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgw LCAiZ3Bpb19pbiIpLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bpb19vdXQiKSwKPiAr CQkgIFNVTlhJX0ZVTkNUSU9OKDB4MiwgImxjZCIpLAkJLyogRDIxICovCj4gKwkJICBTVU5YSV9G VU5DVElPTigweDIsICJsdmRzIiksCQkvKiBWTjEgKi8KCkRpdHRvIGFib3V0IExWRFMuCgo+ICsJ CSAgU1VOWElfRlVOQ1RJT04oMHg0LCAiZW1hYyIpKSwJCS8qIENMS0lOL0NPTCAqLwo+ICsJU1VO WElfUElOX1ZBUklBTlQoU1VOWElfUElOQ1RSTF9QSU4oRCwgMTYpLAo+ICsJCSAgUElOQ1RSTF9T VU44SV9WMywKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwgImdwaW9faW4iKSwKPiArCQkgIFNV TlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDIs ICJsY2QiKSwJCS8qIEQyMiAqLwo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAibHZkcyIpLAkJ LyogVlAyICovCgpEaXR0byBhYm91dCBMVkRTLgoKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4NCwg ImVtYWMiKSksCQkvKiBNREMgKi8KPiArCVNVTlhJX1BJTl9WQVJJQU5UKFNVTlhJX1BJTkNUUkxf UElOKEQsIDE3KSwKPiArCQkgIFBJTkNUUkxfU1VOOElfVjMsCj4gKwkJICBTVU5YSV9GVU5DVElP TigweDAsICJncGlvX2luIiksCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDEsICJncGlvX291dCIp LAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAibGNkIiksCQkvKiBEMjMgKi8KPiArCQkgIFNV TlhJX0ZVTkNUSU9OKDB4MiwgImx2ZHMiKSwJCS8qIFZOMiAqLwoKRGl0dG8gYWJvdXQgTFZEUy4K Cj4gKwkJICBTVU5YSV9GVU5DVElPTigweDQsICJlbWFjIikpLAkJLyogTURJTyAqLwo+ICsJU1VO WElfUElOX1ZBUklBTlQoU1VOWElfUElOQ1RSTF9QSU4oRCwgMTgpLAo+ICsJCSAgUElOQ1RSTF9T VU44SV9WMywKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwgImdwaW9faW4iKSwKPiArCQkgIFNV TlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDIs ICJsY2QiKSwJCS8qIENMSyAqLwo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAibHZkcyIpKSwJ CS8qIFZQQyAqLwoKRGl0dG8gYWJvdXQgTFZEUy4KCj4gKwlTVU5YSV9QSU5fVkFSSUFOVChTVU5Y SV9QSU5DVFJMX1BJTihELCAxOSksCj4gKwkJICBQSU5DVFJMX1NVTjhJX1YzLAo+ICsJCSAgU1VO WElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAi Z3Bpb19vdXQiKSwKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MiwgImxjZCIpLAkJLyogREUgKi8K PiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MiwgImx2ZHMiKSksCQkvKiBWTkMgKi8KCkRpdHRvIGFi b3V0IExWRFMuCgo+ICsJU1VOWElfUElOX1ZBUklBTlQoU1VOWElfUElOQ1RSTF9QSU4oRCwgMjAp LAo+ICsJCSAgUElOQ1RSTF9TVU44SV9WMywKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwgImdw aW9faW4iKSwKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4gKwkJICBT VU5YSV9GVU5DVElPTigweDIsICJsY2QiKSwJCS8qIEhTWU5DICovCj4gKwkJICBTVU5YSV9GVU5D VElPTigweDIsICJsdmRzIikpLAkJLyogVlAzICovCgpEaXR0byBhYm91dCBMVkRTLgoKPiArCVNV TlhJX1BJTl9WQVJJQU5UKFNVTlhJX1BJTkNUUkxfUElOKEQsIDIxKSwKPiArCQkgIFBJTkNUUkxf U1VOOElfVjMsCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDAsICJncGlvX2luIiksCj4gKwkJICBT VU5YSV9GVU5DVElPTigweDEsICJncGlvX291dCIpLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgy LCAibGNkIiksCQkvKiBWU1lOQyAqLwo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAibHZkcyIp KSwJCS8qIFZOMyAqLwoKRGl0dG8gYWJvdXQgTFZEUy4KCj4gIAkvKiBIb2xlICovCj4gIAlTVU5Y SV9QSU4oU1VOWElfUElOQ1RSTF9QSU4oRSwgMCksCj4gIAkJICBTVU5YSV9GVU5DVElPTigweDAs ICJncGlvX2luIiksCj4gQEAgLTI5MSwzNCArNDg5LDkxIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg c3VueGlfZGVzY19waW4gc3VuOGlfdjNzX3BpbnNbXSA9IHsKPiAgCQkgIFNVTlhJX0ZVTkNUSU9O KDB4MSwgImdwaW9fb3V0IiksCj4gIAkJICBTVU5YSV9GVU5DVElPTigweDIsICJtbWMxIiksCQkv KiBEMyAqLwo+ICAJCSAgU1VOWElfRlVOQ1RJT05fSVJRX0JBTksoMHg2LCAxLCA1KSksCS8qIFBH X0VJTlQ1ICovCj4gKwlTVU5YSV9QSU5fVkFSSUFOVChTVU5YSV9QSU5DVFJMX1BJTihHLCA2KSwK PiArCQkgIFBJTkNUUkxfU1VOOElfVjMsCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDAsICJncGlv X2luIiksCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDEsICJncGlvX291dCIpLAo+ICsJCSAgU1VO WElfRlVOQ1RJT04oMHgyLCAidWFydDEiKSwJCS8qIFRYICovCj4gKwkJICBTVU5YSV9GVU5DVElP Tl9JUlFfQkFOSygweDYsIDEsIDYpKSwJLyogUEdfRUlOVDYgKi8KPiArCVNVTlhJX1BJTl9WQVJJ QU5UKFNVTlhJX1BJTkNUUkxfUElOKEcsIDcpLAo+ICsJCSAgUElOQ1RSTF9TVU44SV9WMywKPiAr CQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwgImdwaW9faW4iKSwKPiArCQkgIFNVTlhJX0ZVTkNUSU9O KDB4MSwgImdwaW9fb3V0IiksCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDIsICJ1YXJ0MSIpLAkJ LyogUlggKi8KPiArCQkgIFNVTlhJX0ZVTkNUSU9OX0lSUV9CQU5LKDB4NiwgMSwgNykpLAkvKiBQ R19FSU5UNyAqLwo+ICsJU1VOWElfUElOX1ZBUklBTlQoU1VOWElfUElOQ1RSTF9QSU4oRywgOCks Cj4gKwkJICBQSU5DVFJMX1NVTjhJX1YzLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bp b19pbiIpLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgxLCAiZ3Bpb19vdXQiKSwKPiArCQkgIFNV TlhJX0ZVTkNUSU9OKDB4MiwgInVhcnQxIiksCQkvKiBSVFMgKi8KPiArCQkgIFNVTlhJX0ZVTkNU SU9OX0lSUV9CQU5LKDB4NiwgMSwgOCkpLAkvKiBQR19FSU5UOCAqLwo+ICsJU1VOWElfUElOX1ZB UklBTlQoU1VOWElfUElOQ1RSTF9QSU4oRywgOSksCj4gKwkJICBQSU5DVFJMX1NVTjhJX1YzLAo+ ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+ICsJCSAgU1VOWElfRlVOQ1RJ T04oMHgxLCAiZ3Bpb19vdXQiKSwKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MiwgInVhcnQxIiks CQkvKiBDVFMgKi8KPiArCQkgIFNVTlhJX0ZVTkNUSU9OX0lSUV9CQU5LKDB4NiwgMSwgOSkpLAkv KiBQR19FSU5UOSAqLwo+ICsJU1VOWElfUElOX1ZBUklBTlQoU1VOWElfUElOQ1RSTF9QSU4oRywg MTApLAo+ICsJCSAgUElOQ1RSTF9TVU44SV9WMywKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwg ImdwaW9faW4iKSwKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4gKwkJ ICBTVU5YSV9GVU5DVElPTigweDIsICJpMnMiKSwJCS8qIFNZTkMgKi8KPiArCQkgIFNVTlhJX0ZV TkNUSU9OX0lSUV9CQU5LKDB4NiwgMSwgMTApKSwJLyogUEdfRUlOVDEwICovCj4gKwlTVU5YSV9Q SU5fVkFSSUFOVChTVU5YSV9QSU5DVFJMX1BJTihHLCAxMSksCj4gKwkJICBQSU5DVFJMX1NVTjhJ X1YzLAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgwLCAiZ3Bpb19pbiIpLAo+ICsJCSAgU1VOWElf RlVOQ1RJT04oMHgxLCAiZ3Bpb19vdXQiKSwKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MiwgImky cyIpLAkJLyogQkNMSyAqLwo+ICsJCSAgU1VOWElfRlVOQ1RJT05fSVJRX0JBTksoMHg2LCAxLCAx MSkpLAkvKiBQR19FSU5UMTEgKi8KPiArCVNVTlhJX1BJTl9WQVJJQU5UKFNVTlhJX1BJTkNUUkxf UElOKEcsIDEyKSwKPiArCQkgIFBJTkNUUkxfU1VOOElfVjMsCj4gKwkJICBTVU5YSV9GVU5DVElP TigweDAsICJncGlvX2luIiksCj4gKwkJICBTVU5YSV9GVU5DVElPTigweDEsICJncGlvX291dCIp LAo+ICsJCSAgU1VOWElfRlVOQ1RJT04oMHgyLCAiaTJzIiksCQkvKiBET1VUICovCj4gKwkJICBT VU5YSV9GVU5DVElPTl9JUlFfQkFOSygweDYsIDEsIDEyKSksCS8qIFBHX0VJTlQxMiAqLwo+ICsJ U1VOWElfUElOX1ZBUklBTlQoU1VOWElfUElOQ1RSTF9QSU4oRywgMTMpLAo+ICsJCSAgUElOQ1RS TF9TVU44SV9WMywKPiArCQkgIFNVTlhJX0ZVTkNUSU9OKDB4MCwgImdwaW9faW4iKSwKPiArCQkg IFNVTlhJX0ZVTkNUSU9OKDB4MSwgImdwaW9fb3V0IiksCj4gKwkJICBTVU5YSV9GVU5DVElPTigw eDIsICJpMnMiKSwJCS8qIERJTiAqLwo+ICsJCSAgU1VOWElfRlVOQ1RJT05fSVJRX0JBTksoMHg2 LCAxLCAxMykpLAkvKiBQR19FSU5UMTMgKi8KPiAgfTsKPiAgCj4gLXN0YXRpYyBjb25zdCB1bnNp Z25lZCBpbnQgc3VuOGlfdjNzX3BpbmN0cmxfaXJxX2JhbmtfbWFwW10gPSB7IDEsIDIgfTsKPiAr c3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBzdW44aV92M192M3NfcGluY3RybF9pcnFfYmFua19t YXBbXSA9IHsgMSwgMiB9Owo+ICAKPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBzdW54aV9waW5jdHJs X2Rlc2Mgc3VuOGlfdjNzX3BpbmN0cmxfZGF0YSA9IHsKPiAtCS5waW5zID0gc3VuOGlfdjNzX3Bp bnMsCj4gLQkubnBpbnMgPSBBUlJBWV9TSVpFKHN1bjhpX3Yzc19waW5zKSwKPiArc3RhdGljIGNv bnN0IHN0cnVjdCBzdW54aV9waW5jdHJsX2Rlc2Mgc3VuOGlfdjNfdjNzX3BpbmN0cmxfZGF0YSA9 IHsKPiArCS5waW5zID0gc3VuOGlfdjNfdjNzX3BpbnMsCj4gKwkubnBpbnMgPSBBUlJBWV9TSVpF KHN1bjhpX3YzX3Yzc19waW5zKSwKPiAgCS5pcnFfYmFua3MgPSAyLAo+IC0JLmlycV9iYW5rX21h cCA9IHN1bjhpX3Yzc19waW5jdHJsX2lycV9iYW5rX21hcCwKPiArCS5pcnFfYmFua19tYXAgPSBz dW44aV92M192M3NfcGluY3RybF9pcnFfYmFua19tYXAsCj4gIAkuaXJxX3JlYWRfbmVlZHNfbXV4 ID0gdHJ1ZQo+ICB9Owo+ICAKPiAtc3RhdGljIGludCBzdW44aV92M3NfcGluY3RybF9wcm9iZShz dHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICtzdGF0aWMgaW50IHN1bjhpX3YzX3Yzc19w aW5jdHJsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gIHsKPiAtCXJldHVy biBzdW54aV9waW5jdHJsX2luaXQocGRldiwKPiAtCQkJCSAgJnN1bjhpX3Yzc19waW5jdHJsX2Rh dGEpOwo+ICsJdW5zaWduZWQgbG9uZyB2YXJpYW50ID0gKHVuc2lnbmVkIGxvbmcpb2ZfZGV2aWNl X2dldF9tYXRjaF9kYXRhKCZwZGV2LT5kZXYpOwo+ICsKPiArCXJldHVybiBzdW54aV9waW5jdHJs X2luaXRfd2l0aF92YXJpYW50KHBkZXYsICZzdW44aV92M192M3NfcGluY3RybF9kYXRhLAo+ICsJ CQkJCSAgICAgICB2YXJpYW50KTsKPiAgfQo+ICAKPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9k ZXZpY2VfaWQgc3VuOGlfdjNzX3BpbmN0cmxfbWF0Y2hbXSA9IHsKPiAtCXsgLmNvbXBhdGlibGUg PSAiYWxsd2lubmVyLHN1bjhpLXYzcy1waW5jdHJsIiwgfSwKPiAtCXt9Cj4gK3N0YXRpYyBjb25z dCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHN1bjhpX3YzX3Yzc19waW5jdHJsX21hdGNoW10gPSB7Cj4g Kwl7Cj4gKwkJLmNvbXBhdGlibGUgPSAiYWxsd2lubmVyLHN1bjhpLXYzLXBpbmN0cmwiLAo+ICsJ CS5kYXRhID0gKHZvaWQgKilQSU5DVFJMX1NVTjhJX1YzCj4gKwl9LAo+ICsJewo+ICsJCS5jb21w YXRpYmxlID0gImFsbHdpbm5lcixzdW44aS12M3MtcGluY3RybCIsCj4gKwkJLmRhdGEgPSAodm9p ZCAqKVBJTkNUUkxfU1VOOElfVjNTCj4gKwl9LAo+ICsJeyB9LAo+ICB9Owo+ICAKPiAtc3RhdGlj IHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgc3VuOGlfdjNzX3BpbmN0cmxfZHJpdmVyID0gewo+IC0J LnByb2JlCT0gc3VuOGlfdjNzX3BpbmN0cmxfcHJvYmUsCj4gK3N0YXRpYyBzdHJ1Y3QgcGxhdGZv cm1fZHJpdmVyIHN1bjhpX3YzX3Yzc19waW5jdHJsX2RyaXZlciA9IHsKPiArCS5wcm9iZQk9IHN1 bjhpX3YzX3Yzc19waW5jdHJsX3Byb2JlLAo+ICAJLmRyaXZlcgk9IHsKPiAtCQkubmFtZQkJPSAi c3VuOGktdjNzLXBpbmN0cmwiLAo+IC0JCS5vZl9tYXRjaF90YWJsZQk9IHN1bjhpX3Yzc19waW5j dHJsX21hdGNoLAo+ICsJCS5uYW1lCQk9ICJzdW44aS12My12M3MtcGluY3RybCIsCj4gKwkJLm9m X21hdGNoX3RhYmxlCT0gc3VuOGlfdjNfdjNzX3BpbmN0cmxfbWF0Y2gsCj4gIAl9LAo+ICB9Owo+ IC1idWlsdGluX3BsYXRmb3JtX2RyaXZlcihzdW44aV92M3NfcGluY3RybF9kcml2ZXIpOwo+ICti dWlsdGluX3BsYXRmb3JtX2RyaXZlcihzdW44aV92M192M3NfcGluY3RybF9kcml2ZXIpOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL3BpbmN0cmwvc3VueGkvcGluY3RybC1zdW54aS5oIGIvZHJpdmVy cy9waW5jdHJsL3N1bnhpL3BpbmN0cmwtc3VueGkuaAo+IGluZGV4IGVlMTVhYjA2N2I1Zi4uY2Zm ZjZiMDJkZGFlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvcGluY3RybC9zdW54aS9waW5jdHJsLXN1 bnhpLmgKPiArKysgYi9kcml2ZXJzL3BpbmN0cmwvc3VueGkvcGluY3RybC1zdW54aS5oCj4gQEAg LTk0LDYgKzk0LDggQEAKPiAgI2RlZmluZSBQSU5DVFJMX1NVTjRJX0ExMAlCSVQoNikKPiAgI2Rl ZmluZSBQSU5DVFJMX1NVTjdJX0EyMAlCSVQoNykKPiAgI2RlZmluZSBQSU5DVFJMX1NVTjhJX1I0 MAlCSVQoOCkKPiArI2RlZmluZSBQSU5DVFJMX1NVTjhJX1YzCUJJVCg5KQo+ICsjZGVmaW5lIFBJ TkNUUkxfU1VOOElfVjNTCUJJVCgxMCkKPiAgCj4gIHN0cnVjdCBzdW54aV9kZXNjX2Z1bmN0aW9u IHsKPiAgCXVuc2lnbmVkIGxvbmcJdmFyaWFudDsKPiAtLSAKPiAyLjE4LjEKPiAKLS0gClBhdWwg S29jaWFsa293c2tpLCBCb290bGluCkVtYmVkZGVkIExpbnV4IGFuZCBrZXJuZWwgZW5naW5lZXJp bmcKaHR0cHM6Ly9ib290bGluLmNvbQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1r ZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWls bWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK