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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id F08DBCCA464 for ; Fri, 16 Oct 2026 11:15:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=76K/IWQinS6DrQdrjo+J6XHwxjZsxi7yeVKN79ALk0g=; b=VUrh+R3xJjzzsQ KkL9lVC+Ib1777slyzjrwOpheEOlNQlwag3h7vmW9V1qJ82BBEas0N8U7pzEJi/IteUjfq7umV3bF 90qi+t6/5PdymYbIP3udhbwRZcmh57AB6n+n6OSxk2eWOm80JbbgUK4oeTqk/wKtznXFF31bF42jO BOAvWpTA+N9RkXw9omMjH4piySIqD3R1hKrKEBfQ9PwMZsW8AIc/amAK7jXckyNu5mpQk4lGZQXpK zIgQhhfOcGHPjisojuAqjf36i22a66NXp+6W5Kf0XkLW34gwUKjaWbA7eX6K57bscAevSImqR7AXu jFsj+yoLoAhsSqcLJMYg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1xHfuV-00000002kll-0ier; Fri, 16 Oct 2026 11:15:39 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1xHfuT-00000002kla-2LF8 for linux-phy@lists.infradead.org; Fri, 16 Oct 2026 11:15:37 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id EA49D417DF; Fri, 16 Oct 2026 11:15:36 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7C78C1F000C4; Fri, 16 Oct 2026 11:15:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1792149336; bh=5qVf8hwx8FU5X+R8x4dVr0b9V03VbaOtKH+D8Kks6wE=; h=Date:Subject:To:Cc:References:From:In-Reply-To; b=I/8bnX9wckZXpj6PBWou2bO4R61SfIGS8MWfPt9DVmAMtFRSi0JBvfOa8KtuU1ERU NGgLW6BKO9S15evXX3qv38RZu2dL6qdkm61QBfOQ16/ziAb3c4qgHrbXNNfLqlkc+h f4oAOsWpcLybwpNkDbptHppqtfuTRYZI3hp8/yPz3RQEqX7zQmWdv2lyUQ6/07poEJ AOyIR34EYeWYWNG1GSLaJpCBIMslAxCU9l1GeawuZJpQbfGWfO4DK41Xz8asW62hOq dGOyC/USm6ij43N3ycA+hB1o05N00m8XNGJDAv0Rs+tpUI5NE7+tNvYc3/i39rm9bV oISM4Pp/FXnoQ== Message-ID: <85393f60-d89a-4e31-b398-722e5414fe58@kernel.org> Date: Fri, 16 Oct 2026 12:15:31 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH RFC v2 4/4] phy: qcom-mipi-csi2: Add C-PHY support for X1E80100 To: geocausa@gmail.com, Vinod Koul , David Heidelberg Cc: Neil Armstrong , Vladimir Zapolskiy , Loic Poulain , Konrad Dybcio , Nihal Kumar Gupta , Vikram Sharma , Suresh Vankadara , tjose@qti.qualcomm.com, Mauro Carvalho Chehab , Manivannan Sadhasivam , linux-phy@lists.infradead.org, linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org References: <20261016-x1e-cphy-rfc-v2-0-377654253193@gmail.com> <20261016-x1e-cphy-rfc-v2-4-377654253193@gmail.com> From: Bryan O'Donoghue Content-Language: en-GB Autocrypt: addr=bod@kernel.org; keydata= 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 In-Reply-To: <20261016-x1e-cphy-rfc-v2-4-377654253193@gmail.com> X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org T24gMTYvMTAvMjAyNiAxMTo1NywgR2VvcmdlIE5lYWNzdSB2aWEgQjQgUmVsYXkgd3JvdGU6Cj4g RnJvbTogR2VvcmdlIE5lYWNzdSA8Z2VvY2F1c2FAZ21haWwuY29tPgo+IAo+IFRoZSBDU0kyIFBI WSBzY2hlbWEgYWxyZWFkeSBhbGxvd3MgYnVzLXR5cGUgQy1QSFksIGJ1dCB0aGUgZHJpdmVyCj4g cmVqZWN0cyBpdC4gQWNjZXB0IGl0IG9uIFNvQ3MgdGhhdCBwcm92aWRlIGEgQy1QSFkgc2VxdWVu Y2UsIHdpdGggdXAgdG8KPiB0aHJlZSB0cmlvcyBhbmQgbm8gbGFuZSBwb2xhcml0aWVzLiBUaGUg ZW5kcG9pbnQncyBidXMtdHlwZSBub3cgc2V0cyB0aGUKPiBQSFkgbW9kZSwgc2V0X21vZGUoKSBv bmx5IGFjY2VwdHMgdGhhdCBtb2RlLCBhbmQgaW4gQy1QSFkgbW9kZQo+IGNvbmZpZ3VyZSgpIHRh a2VzIHRoZSBzeW1ib2wgcmF0ZSBhbmQga2VlcHMgdGhlIG1hdGNoaW5nIGxpbmsgZnJlcXVlbmN5 LAo+IHNvIGNsb2NrIHNjYWxpbmcgd29ya3MgYXMgZm9yIEQtUEhZLgo+IAo+IGxhbmVzX2VuYWJs ZSgpIHBpY2tzIHRoZSBzZXF1ZW5jZSBmb3IgdGhlIG1vZGUgYW5kIGlzIHNwbGl0IGludG8KPiBo ZWxwZXJzOiB0aGUgQ1RSTDUgbGFuZSBtYXNrLCB3aGVyZSB0aGUgdHJpb3MgYXJlIHRoZSBvZGQg Yml0cyBhbmQgdGhlCj4gRC1QSFkgZGF0YSBsYW5lcyB0aGUgZXZlbiBvbmVzIHBsdXMgdGhlIGNs b2NrIGJpdCwgYW5kIHRoZSBELVBIWSBsYW5lCj4gcG9sYXJpdGllcy4gVGhlIHNldHRsZSBjb3Vu dCBpcyBjb21wdXRlZCBpbiBib3RoIG1vZGVzLiBXaXRoIGEgQy1QSFkKPiBsaW5rIGZyZXF1ZW5j eSBvZiBoYWxmIHRoZSBzeW1ib2wgcmF0ZSwgdGhlIHVuaXQgaW50ZXJ2YWwgaW4gdGhlCj4gZXhp c3RpbmcgZm9ybXVsYSBpcyBvbmUgc3ltYm9sLCB3aGljaCBpcyBhbHNvIGhvdyBEYXZpZCBIZWlk ZWxiZXJnJ3MKPiBDQU1TUyBDLVBIWSBzZXJpZXMgY29tcHV0ZXMgaXQuIFNlcXVlbmNlIGRlbGF5 cyBub3cgdXNlIGZzbGVlcCgpLCBhcwo+IHRoZSBDLVBIWSBzZXF1ZW5jZSB3YWl0cyAzIG1zIGFm dGVyIGl0cyByZXNldCBleGl0Lgo+IAo+IFRoZSBYMUU4MDEwMCBzZXF1ZW5jZSBpcyBRdWFsY29t bSdzIGZvciB0aGUgdjIuMS4yIDNQSCBQSFkgYXQgMi41IEdzcHMsCj4gdGFrZW4gZnJvbSB0aGUg ZG93bnN0cmVhbSBjYW1lcmEgZHJpdmVyJ3MgR1BMLTIuMAo+IGNhbV9jc2lwaHlfMl8xXzJfaHdy ZWcuaCAoY3NpcGh5XzNwaF92Ml8xXzJfcmVnLCBkYXRhcmF0ZV8yMTJfMnA1R3Nwcwo+IGFuZCB0 aGUgM1BIIHJlc2V0IGV4aXQpLCBhcyB0aGUgRC1QSFkgc2VxdWVuY2UgYWJvdmUgaXQgaXMuIEl0 cyB0aHJlZQo+IHNldHRsZSBjb3VudCBlbnRyaWVzIGFyZSB0aGUgb25lcyBkb3duc3RyZWFtIG1h cmtzIGFzIHN1Y2guCj4gCj4gVGVzdGVkIG9uIHRoZSBTdXJmYWNlIFBybyAxMSAoWDFFODAxMDAp IHdpdGggYW4gSU1YNjgxIG9uIENTSVBIWTIsIG9uZQo+IHRyaW8gYXQgMi40IEdzeW0vcywgYW5k IHJhdyBjYXB0dXJlIHRocm91Z2ggQ1NJRDEgYW5kIGFuIFJESSBpbnRlcmZhY2UsCj4gd2l0aCBE YXZpZCdzIENBTVNTIEMtUEhZIHNlcmllcyBhbmQgdHdvIENBTVNTIHBhdGNoZXMgb24gdG9wOgo+ IDM4NDR4MjY0MCBhdCAzMCBmcHMsIGFuZCB0aGUgc2Vuc29yJ3MgY29sb3VyIGJhcnMgYXJlIGJ5 dGUtaWRlbnRpY2FsIHRvCj4gdGhlIHNhbWUgcGF0dGVybiBjYXB0dXJlZCB3aXRoIGFuIG91dC1v Zi10cmVlIGRyaXZlci4gVGhlIHRpbWVyIHJ1bnMgYXQKPiA0MDAgTUh6IGFuZCB0aGUgY29tcHV0 ZWQgc2V0dGxlIGNvdW50IGlzIDI4OyBmb3JjaW5nIGFueXRoaW5nIGZyb20gNiB0bwo+IDQ4IGdp dmVzIHRoZSBzYW1lIGZyYW1lcy4gRC1QSFkgaXMgdW5jaGFuZ2VkOiBhbiBPVjEzODU4IG9uIENT SVBIWTEKPiBvdmVyIGZvdXIgbGFuZXMgc3RyZWFtcyBhdCAyOS45IGZwcyB3aXRoIHRoZSBzYW1l IHNldHRsZSBjb3VudCBhcwo+IGJlZm9yZS4KPiAKPiBBc3Npc3RlZC1ieTogQ2xhdWRlOmNsYXVk ZS1vcHVzLTUtNQo+IFNpZ25lZC1vZmYtYnk6IEdlb3JnZSBOZWFjc3UgPGdlb2NhdXNhQGdtYWls LmNvbT4KPiAtLS0KPiAgIGRyaXZlcnMvcGh5L3F1YWxjb21tL3BoeS1xY29tLW1pcGktY3NpMi0z cGgtZHBoeS5jIHwgMjE2ICsrKysrKysrKysrKysrKysrKy0tLQo+ICAgZHJpdmVycy9waHkvcXVh bGNvbW0vcGh5LXFjb20tbWlwaS1jc2kyLWNvcmUuYyAgICAgfCAgNTMgKysrKy0KPiAgIGRyaXZl cnMvcGh5L3F1YWxjb21tL3BoeS1xY29tLW1pcGktY3NpMi5oICAgICAgICAgIHwgICAyICsKPiAg IDMgZmlsZXMgY2hhbmdlZCwgMjQyIGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQo+IAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BoeS9xdWFsY29tbS9waHktcWNvbS1taXBpLWNzaTItM3Bo LWRwaHkuYyBiL2RyaXZlcnMvcGh5L3F1YWxjb21tL3BoeS1xY29tLW1pcGktY3NpMi0zcGgtZHBo eS5jCj4gaW5kZXggYjJkNGVjM2U4Li4zOWU0OGU3YWMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9w aHkvcXVhbGNvbW0vcGh5LXFjb20tbWlwaS1jc2kyLTNwaC1kcGh5LmMKPiArKysgYi9kcml2ZXJz L3BoeS9xdWFsY29tbS9waHktcWNvbS1taXBpLWNzaTItM3BoLWRwaHkuYwo+IEBAIC0xNjEsNiAr MTYxLDEzNyBAQCBtaXBpX2NzaTJwaHlfbGFuZV9yZWdzIGxhbmVfcmVnc194MWU4MDEwMFtdID0g ewo+ICAgCXsucmVnX2FkZHIgPSAweDBjNjQsIC5yZWdfZGF0YSA9IDB4N2YsIC5wYXJhbV90eXBl ID0gQ1NJUEhZX1NLRVdfQ0FMfSwKPiAgIH07Cj4gCj4gKy8qIFF1YWxjb21tJ3MgMi41IEdzcHMg c2V0dGluZ3MsIGZyb20gdGhlIEdQTC0yLjAgY2FtX2NzaXBoeV8yXzFfMl9od3JlZy5oICovCj4g K3N0YXRpYyBjb25zdCBzdHJ1Y3QKPiArbWlwaV9jc2kycGh5X2xhbmVfcmVncyBsYW5lX3JlZ3Nf djJfMV8yX2NwaHlbXSA9IHsKPiArCS8qIFBvd2VyIHVwIGxhbmVzIDNwaCBtb2RlICovCj4gKwl7 LnJlZ19hZGRyID0gMHgxMDFjLCAucmVnX2RhdGEgPSAweDdhLCAucGFyYW1fdHlwZSA9IENTSVBI WV9ERUZBVUxUX1BBUkFNU30sCj4gKwl7LnJlZ19hZGRyID0gMHgxMDE4LCAucmVnX2RhdGEgPSAw eDAxLCAucGFyYW1fdHlwZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFNU30sCj4gKwo+ICsJLyogZGF0 YXJhdGVfMjEyXzJwNUdzcHM6IEFGRSBzZXR0aW5ncyAqLwo+ICsJey5yZWdfYWRkciA9IDB4MDI2 OCwgLnJlZ19kYXRhID0gMHhmMSwgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9 LAo+ICsJey5yZWdfYWRkciA9IDB4MDI5NCwgLnJlZ19kYXRhID0gMHgwMSwgLnBhcmFtX3R5cGUg PSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9LAo+ICsJey5yZWdfYWRkciA9IDB4MDI4OCwgLnJlZ19k YXRhID0gMHgyMCwgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9LAo+ICsJey5y ZWdfYWRkciA9IDB4MDI3OCwgLnJlZ19kYXRhID0gMHgyMCwgLnBhcmFtX3R5cGUgPSBDU0lQSFlf REVGQVVMVF9QQVJBTVN9LAo+ICsJey5yZWdfYWRkciA9IDB4MDI2YywgLnJlZ19kYXRhID0gMHgz ZCwgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9LAo+ICsJey5yZWdfYWRkciA9 IDB4MDI4YywgLnJlZ19kYXRhID0gMHgzMCwgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9Q QVJBTVN9LAo+ICsJey5yZWdfYWRkciA9IDB4MDI3MCwgLnJlZ19kYXRhID0gMHgwMCwgLnBhcmFt X3R5cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9LAo+ICsJey5yZWdfYWRkciA9IDB4MDI3NCwg LnJlZ19kYXRhID0gMHgwMywgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9LAo+ ICsKPiArCXsucmVnX2FkZHIgPSAweDA2NjgsIC5yZWdfZGF0YSA9IDB4ZjEsIC5wYXJhbV90eXBl ID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwKPiArCXsucmVnX2FkZHIgPSAweDA2OTQsIC5yZWdf ZGF0YSA9IDB4MDEsIC5wYXJhbV90eXBlID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwKPiArCXsu cmVnX2FkZHIgPSAweDA2ODgsIC5yZWdfZGF0YSA9IDB4MjAsIC5wYXJhbV90eXBlID0gQ1NJUEhZ X0RFRkFVTFRfUEFSQU1TfSwKPiArCXsucmVnX2FkZHIgPSAweDA2NzgsIC5yZWdfZGF0YSA9IDB4 MjAsIC5wYXJhbV90eXBlID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwKPiArCXsucmVnX2FkZHIg PSAweDA2NmMsIC5yZWdfZGF0YSA9IDB4M2QsIC5wYXJhbV90eXBlID0gQ1NJUEhZX0RFRkFVTFRf UEFSQU1TfSwKPiArCXsucmVnX2FkZHIgPSAweDA2OGMsIC5yZWdfZGF0YSA9IDB4MzAsIC5wYXJh bV90eXBlID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwKPiArCXsucmVnX2FkZHIgPSAweDA2NzAs IC5yZWdfZGF0YSA9IDB4MDAsIC5wYXJhbV90eXBlID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwK PiArCXsucmVnX2FkZHIgPSAweDA2NzQsIC5yZWdfZGF0YSA9IDB4MDMsIC5wYXJhbV90eXBlID0g Q1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwKPiArCj4gKwl7LnJlZ19hZGRyID0gMHgwYTY4LCAucmVn X2RhdGEgPSAweGYxLCAucGFyYW1fdHlwZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFNU30sCj4gKwl7 LnJlZ19hZGRyID0gMHgwYTk0LCAucmVnX2RhdGEgPSAweDAxLCAucGFyYW1fdHlwZSA9IENTSVBI WV9ERUZBVUxUX1BBUkFNU30sCj4gKwl7LnJlZ19hZGRyID0gMHgwYTg4LCAucmVnX2RhdGEgPSAw eDIwLCAucGFyYW1fdHlwZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFNU30sCj4gKwl7LnJlZ19hZGRy ID0gMHgwYTc4LCAucmVnX2RhdGEgPSAweDIwLCAucGFyYW1fdHlwZSA9IENTSVBIWV9ERUZBVUxU X1BBUkFNU30sCj4gKwl7LnJlZ19hZGRyID0gMHgwYTZjLCAucmVnX2RhdGEgPSAweDNkLCAucGFy YW1fdHlwZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFNU30sCj4gKwl7LnJlZ19hZGRyID0gMHgwYThj LCAucmVnX2RhdGEgPSAweDMwLCAucGFyYW1fdHlwZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFNU30s Cj4gKwl7LnJlZ19hZGRyID0gMHgwYTcwLCAucmVnX2RhdGEgPSAweDAwLCAucGFyYW1fdHlwZSA9 IENTSVBIWV9ERUZBVUxUX1BBUkFNU30sCj4gKwl7LnJlZ19hZGRyID0gMHgwYTc0LCAucmVnX2Rh dGEgPSAweDAzLCAuZGVsYXlfdXMgPSAxMCwgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9Q QVJBTVN9LAo+ICsKPiArCS8qIGNzaXBoeV8zcGhfdjJfMV8yX3JlZyAqLwo+ICsJey5yZWdfYWRk ciA9IDB4MDJmNCwgLnJlZ19kYXRhID0gMHgwMCwgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVM VF9QQVJBTVN9LAo+ICsJey5yZWdfYWRkciA9IDB4MDJmOCwgLnJlZ19kYXRhID0gMHgwMCwgLnBh cmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9LAo+ICsJey5yZWdfYWRkciA9IDB4MDJm YywgLnJlZ19kYXRhID0gMHgwMCwgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9 LAo+ICsJey5yZWdfYWRkciA9IDB4MDJmMCwgLnJlZ19kYXRhID0gMHhlZiwgLmRlbGF5X3VzID0g MywgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9LAo+ICsKPiArCXsucmVnX2Fk ZHIgPSAweDA2ZjQsIC5yZWdfZGF0YSA9IDB4MDAsIC5wYXJhbV90eXBlID0gQ1NJUEhZX0RFRkFV TFRfUEFSQU1TfSwKPiArCXsucmVnX2FkZHIgPSAweDA2ZjgsIC5yZWdfZGF0YSA9IDB4MDAsIC5w YXJhbV90eXBlID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwKPiArCXsucmVnX2FkZHIgPSAweDA2 ZmMsIC5yZWdfZGF0YSA9IDB4MDAsIC5wYXJhbV90eXBlID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1T fSwKPiArCXsucmVnX2FkZHIgPSAweDA2ZjAsIC5yZWdfZGF0YSA9IDB4ZWYsIC5kZWxheV91cyA9 IDMsIC5wYXJhbV90eXBlID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwKPiArCj4gKwl7LnJlZ19h ZGRyID0gMHgwYWY0LCAucmVnX2RhdGEgPSAweDAwLCAucGFyYW1fdHlwZSA9IENTSVBIWV9ERUZB VUxUX1BBUkFNU30sCj4gKwl7LnJlZ19hZGRyID0gMHgwYWY4LCAucmVnX2RhdGEgPSAweDAwLCAu cGFyYW1fdHlwZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFNU30sCj4gKwl7LnJlZ19hZGRyID0gMHgw YWZjLCAucmVnX2RhdGEgPSAweDAwLCAucGFyYW1fdHlwZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFN U30sCj4gKwl7LnJlZ19hZGRyID0gMHgwYWYwLCAucmVnX2RhdGEgPSAweGVmLCAuZGVsYXlfdXMg PSAzLCAucGFyYW1fdHlwZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFNU30sCj4gKwo+ICsJLyogZGF0 YXJhdGVfMjEyXzJwNUdzcHMsIHRoZW4gY3NpcGh5XzNwaF92Ml8xXzJfcmVnICovCj4gKwl7LnJl Z19hZGRyID0gMHgwMjBjLCAucmVnX2RhdGEgPSAweDIyLCAucGFyYW1fdHlwZSA9IENTSVBIWV9T RVRUTEVfQ05UX0xPV0VSX0JZVEV9LAo+ICsJey5yZWdfYWRkciA9IDB4MDIwOCwgLnJlZ19kYXRh ID0gMHgwMCwgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9LAo+ICsJey5yZWdf YWRkciA9IDB4MDIxMCwgLnJlZ19kYXRhID0gMHgwMCwgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVG QVVMVF9QQVJBTVN9LAo+ICsJey5yZWdfYWRkciA9IDB4MDIxNCwgLnJlZ19kYXRhID0gMHgwMCwg LnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9LAo+ICsJey5yZWdfYWRkciA9IDB4 MDIwNCwgLnJlZ19kYXRhID0gMHgwMCwgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJB TVN9LAo+ICsJey5yZWdfYWRkciA9IDB4MDJlNCwgLnJlZ19kYXRhID0gMHgwMCwgLnBhcmFtX3R5 cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9LAo+ICsJey5yZWdfYWRkciA9IDB4MDJlOCwgLnJl Z19kYXRhID0gMHg3ZiwgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9LAo+ICsJ ey5yZWdfYWRkciA9IDB4MDJlYywgLnJlZ19kYXRhID0gMHg3ZiwgLnBhcmFtX3R5cGUgPSBDU0lQ SFlfREVGQVVMVF9QQVJBTVN9LAo+ICsJey5yZWdfYWRkciA9IDB4MDIxOCwgLnJlZ19kYXRhID0g MHgzZSwgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9LAo+ICsJey5yZWdfYWRk ciA9IDB4MDIxYywgLnJlZ19kYXRhID0gMHg0MSwgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVM VF9QQVJBTVN9LAo+ICsJey5yZWdfYWRkciA9IDB4MDIyMCwgLnJlZ19kYXRhID0gMHg0MSwgLnBh cmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9LAo+ICsJey5yZWdfYWRkciA9IDB4MDIy NCwgLnJlZ19kYXRhID0gMHg3ZiwgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9 LAo+ICsJey5yZWdfYWRkciA9IDB4MDIyOCwgLnJlZ19kYXRhID0gMHgwMCwgLnBhcmFtX3R5cGUg PSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9LAo+ICsJey5yZWdfYWRkciA9IDB4MDIyYywgLnJlZ19k YXRhID0gMHgwMCwgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9LAo+ICsJey5y ZWdfYWRkciA9IDB4MDI2NCwgLnJlZ19kYXRhID0gMHgwMSwgLnBhcmFtX3R5cGUgPSBDU0lQSFlf REVGQVVMVF9QQVJBTVN9LAo+ICsJey5yZWdfYWRkciA9IDB4MDI0NCwgLnJlZ19kYXRhID0gMHhi MiwgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9LAo+ICsJey5yZWdfYWRkciA9 IDB4MDMxMCwgLnJlZ19kYXRhID0gMHgzNSwgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9Q QVJBTVN9LAo+ICsJey5yZWdfYWRkciA9IDB4MDJiYywgLnJlZ19kYXRhID0gMHhkMCwgLnBhcmFt X3R5cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9LAo+ICsJey5yZWdfYWRkciA9IDB4MDI1NCwg LnJlZ19kYXRhID0gMHgwMCwgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9LAo+ ICsJey5yZWdfYWRkciA9IDB4MDI0MCwgLnJlZ19kYXRhID0gMHgwMCwgLnBhcmFtX3R5cGUgPSBD U0lQSFlfREVGQVVMVF9QQVJBTVN9LAo+ICsJey5yZWdfYWRkciA9IDB4MDI2MCwgLnJlZ19kYXRh ID0gMHhhOCwgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9LAo+ICsJey5yZWdf YWRkciA9IDB4MDI4NCwgLnJlZ19kYXRhID0gMHgwMCwgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVG QVVMVF9QQVJBTVN9LAo+ICsJey5yZWdfYWRkciA9IDB4MDI5MCwgLnJlZ19kYXRhID0gMHgwMiwg LnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9QQVJBTVN9LAo+ICsKPiArCS8qIGRhdGFyYXRl XzIxMl8ycDVHc3BzLCB0aGVuIGNzaXBoeV8zcGhfdjJfMV8yX3JlZyAqLwo+ICsJey5yZWdfYWRk ciA9IDB4MDYwYywgLnJlZ19kYXRhID0gMHgyMiwgLnBhcmFtX3R5cGUgPSBDU0lQSFlfU0VUVExF X0NOVF9MT1dFUl9CWVRFfSwKPiArCXsucmVnX2FkZHIgPSAweDA2MDgsIC5yZWdfZGF0YSA9IDB4 MDAsIC5wYXJhbV90eXBlID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwKPiArCXsucmVnX2FkZHIg PSAweDA2MTAsIC5yZWdfZGF0YSA9IDB4MDAsIC5wYXJhbV90eXBlID0gQ1NJUEhZX0RFRkFVTFRf UEFSQU1TfSwKPiArCXsucmVnX2FkZHIgPSAweDA2MTQsIC5yZWdfZGF0YSA9IDB4MDAsIC5wYXJh bV90eXBlID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwKPiArCXsucmVnX2FkZHIgPSAweDA2MDQs IC5yZWdfZGF0YSA9IDB4MDAsIC5wYXJhbV90eXBlID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwK PiArCXsucmVnX2FkZHIgPSAweDA2ZTQsIC5yZWdfZGF0YSA9IDB4MDAsIC5wYXJhbV90eXBlID0g Q1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwKPiArCXsucmVnX2FkZHIgPSAweDA2ZTgsIC5yZWdfZGF0 YSA9IDB4N2YsIC5wYXJhbV90eXBlID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwKPiArCXsucmVn X2FkZHIgPSAweDA2ZWMsIC5yZWdfZGF0YSA9IDB4N2YsIC5wYXJhbV90eXBlID0gQ1NJUEhZX0RF RkFVTFRfUEFSQU1TfSwKPiArCXsucmVnX2FkZHIgPSAweDA2MTgsIC5yZWdfZGF0YSA9IDB4M2Us IC5wYXJhbV90eXBlID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwKPiArCXsucmVnX2FkZHIgPSAw eDA2MWMsIC5yZWdfZGF0YSA9IDB4NDEsIC5wYXJhbV90eXBlID0gQ1NJUEhZX0RFRkFVTFRfUEFS QU1TfSwKPiArCXsucmVnX2FkZHIgPSAweDA2MjAsIC5yZWdfZGF0YSA9IDB4NDEsIC5wYXJhbV90 eXBlID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwKPiArCXsucmVnX2FkZHIgPSAweDA2MjQsIC5y ZWdfZGF0YSA9IDB4N2YsIC5wYXJhbV90eXBlID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwKPiAr CXsucmVnX2FkZHIgPSAweDA2MjgsIC5yZWdfZGF0YSA9IDB4MDAsIC5wYXJhbV90eXBlID0gQ1NJ UEhZX0RFRkFVTFRfUEFSQU1TfSwKPiArCXsucmVnX2FkZHIgPSAweDA2MmMsIC5yZWdfZGF0YSA9 IDB4MDAsIC5wYXJhbV90eXBlID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwKPiArCXsucmVnX2Fk ZHIgPSAweDA2NjQsIC5yZWdfZGF0YSA9IDB4MDEsIC5wYXJhbV90eXBlID0gQ1NJUEhZX0RFRkFV TFRfUEFSQU1TfSwKPiArCXsucmVnX2FkZHIgPSAweDA2NDQsIC5yZWdfZGF0YSA9IDB4YjIsIC5w YXJhbV90eXBlID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwKPiArCXsucmVnX2FkZHIgPSAweDA3 MTAsIC5yZWdfZGF0YSA9IDB4MzUsIC5wYXJhbV90eXBlID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1T fSwKPiArCXsucmVnX2FkZHIgPSAweDA2YmMsIC5yZWdfZGF0YSA9IDB4ZDAsIC5wYXJhbV90eXBl ID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwKPiArCXsucmVnX2FkZHIgPSAweDA2NTQsIC5yZWdf ZGF0YSA9IDB4MDAsIC5wYXJhbV90eXBlID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwKPiArCXsu cmVnX2FkZHIgPSAweDA2NDAsIC5yZWdfZGF0YSA9IDB4MDAsIC5wYXJhbV90eXBlID0gQ1NJUEhZ X0RFRkFVTFRfUEFSQU1TfSwKPiArCXsucmVnX2FkZHIgPSAweDA2NjAsIC5yZWdfZGF0YSA9IDB4 YTgsIC5wYXJhbV90eXBlID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwKPiArCXsucmVnX2FkZHIg PSAweDA2ODQsIC5yZWdfZGF0YSA9IDB4MDAsIC5wYXJhbV90eXBlID0gQ1NJUEhZX0RFRkFVTFRf UEFSQU1TfSwKPiArCXsucmVnX2FkZHIgPSAweDA2OTAsIC5yZWdfZGF0YSA9IDB4MDIsIC5wYXJh bV90eXBlID0gQ1NJUEhZX0RFRkFVTFRfUEFSQU1TfSwKPiArCj4gKwkvKiBkYXRhcmF0ZV8yMTJf MnA1R3NwcywgdGhlbiBjc2lwaHlfM3BoX3YyXzFfMl9yZWcgKi8KPiArCXsucmVnX2FkZHIgPSAw eDBhMGMsIC5yZWdfZGF0YSA9IDB4MjIsIC5wYXJhbV90eXBlID0gQ1NJUEhZX1NFVFRMRV9DTlRf TE9XRVJfQllURX0sCj4gKwl7LnJlZ19hZGRyID0gMHgwYTA4LCAucmVnX2RhdGEgPSAweDAwLCAu cGFyYW1fdHlwZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFNU30sCj4gKwl7LnJlZ19hZGRyID0gMHgw YTEwLCAucmVnX2RhdGEgPSAweDAwLCAucGFyYW1fdHlwZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFN U30sCj4gKwl7LnJlZ19hZGRyID0gMHgwYTE0LCAucmVnX2RhdGEgPSAweDAwLCAucGFyYW1fdHlw ZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFNU30sCj4gKwl7LnJlZ19hZGRyID0gMHgwYTA0LCAucmVn X2RhdGEgPSAweDAwLCAucGFyYW1fdHlwZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFNU30sCj4gKwl7 LnJlZ19hZGRyID0gMHgwYWU0LCAucmVnX2RhdGEgPSAweDAwLCAucGFyYW1fdHlwZSA9IENTSVBI WV9ERUZBVUxUX1BBUkFNU30sCj4gKwl7LnJlZ19hZGRyID0gMHgwYWU4LCAucmVnX2RhdGEgPSAw eDdmLCAucGFyYW1fdHlwZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFNU30sCj4gKwl7LnJlZ19hZGRy ID0gMHgwYWVjLCAucmVnX2RhdGEgPSAweDdmLCAucGFyYW1fdHlwZSA9IENTSVBIWV9ERUZBVUxU X1BBUkFNU30sCj4gKwl7LnJlZ19hZGRyID0gMHgwYTE4LCAucmVnX2RhdGEgPSAweDNlLCAucGFy YW1fdHlwZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFNU30sCj4gKwl7LnJlZ19hZGRyID0gMHgwYTFj LCAucmVnX2RhdGEgPSAweDQxLCAucGFyYW1fdHlwZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFNU30s Cj4gKwl7LnJlZ19hZGRyID0gMHgwYTIwLCAucmVnX2RhdGEgPSAweDQxLCAucGFyYW1fdHlwZSA9 IENTSVBIWV9ERUZBVUxUX1BBUkFNU30sCj4gKwl7LnJlZ19hZGRyID0gMHgwYTI0LCAucmVnX2Rh dGEgPSAweDdmLCAucGFyYW1fdHlwZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFNU30sCj4gKwl7LnJl Z19hZGRyID0gMHgwYTI4LCAucmVnX2RhdGEgPSAweDAwLCAucGFyYW1fdHlwZSA9IENTSVBIWV9E RUZBVUxUX1BBUkFNU30sCj4gKwl7LnJlZ19hZGRyID0gMHgwYTJjLCAucmVnX2RhdGEgPSAweDAw LCAucGFyYW1fdHlwZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFNU30sCj4gKwl7LnJlZ19hZGRyID0g MHgwYTY0LCAucmVnX2RhdGEgPSAweDAxLCAucGFyYW1fdHlwZSA9IENTSVBIWV9ERUZBVUxUX1BB UkFNU30sCj4gKwl7LnJlZ19hZGRyID0gMHgwYTQ0LCAucmVnX2RhdGEgPSAweGIyLCAucGFyYW1f dHlwZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFNU30sCj4gKwl7LnJlZ19hZGRyID0gMHgwYjEwLCAu cmVnX2RhdGEgPSAweDM1LCAucGFyYW1fdHlwZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFNU30sCj4g Kwl7LnJlZ19hZGRyID0gMHgwYWJjLCAucmVnX2RhdGEgPSAweGQwLCAucGFyYW1fdHlwZSA9IENT SVBIWV9ERUZBVUxUX1BBUkFNU30sCj4gKwl7LnJlZ19hZGRyID0gMHgwYTU0LCAucmVnX2RhdGEg PSAweDAwLCAucGFyYW1fdHlwZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFNU30sCj4gKwl7LnJlZ19h ZGRyID0gMHgwYTQwLCAucmVnX2RhdGEgPSAweDAwLCAucGFyYW1fdHlwZSA9IENTSVBIWV9ERUZB VUxUX1BBUkFNU30sCj4gKwl7LnJlZ19hZGRyID0gMHgwYTYwLCAucmVnX2RhdGEgPSAweGE4LCAu cGFyYW1fdHlwZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFNU30sCj4gKwl7LnJlZ19hZGRyID0gMHgw YTg0LCAucmVnX2RhdGEgPSAweDAwLCAucGFyYW1fdHlwZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFN U30sCj4gKwl7LnJlZ19hZGRyID0gMHgwYTkwLCAucmVnX2RhdGEgPSAweDAyLCAucGFyYW1fdHlw ZSA9IENTSVBIWV9ERUZBVUxUX1BBUkFNU30sCj4gKwo+ICsJLyogY3NpcGh5X3Jlc2V0X2V4aXRf cmVnXzJfMV8yLCAzUEggKi8KPiArCXsucmVnX2FkZHIgPSAweDEwMDAsIC5yZWdfZGF0YSA9IDB4 MGUsIC5kZWxheV91cyA9IDMwNDgsCj4gKwkgLnBhcmFtX3R5cGUgPSBDU0lQSFlfREVGQVVMVF9Q QVJBTVN9LAo+ICt9Owo+ICsKPiAgIHN0YXRpYyBpbmxpbmUgY29uc3Qgc3RydWN0IG1pcGlfY3Np MnBoeV9kZXZpY2VfcmVncyAqCj4gICBjc2kycGh5X2Rldl90b19yZWdzKHN0cnVjdCBtaXBpX2Nz aTJwaHlfZGV2aWNlICpjc2kycGh5KQo+ICAgewo+IEBAIC0yNDYsOSArMzc3LDE4IEBAIHBoeV9x Y29tX21pcGlfY3NpMl9nZW4yX2NvbmZpZ19sYW5lcyhzdHJ1Y3QgbWlwaV9jc2kycGh5X2Rldmlj ZSAqY3NpMnBoeSwKPiAgIAkJCQkgICAgIHU4IHNldHRsZV9jbnQpCj4gICB7Cj4gICAJY29uc3Qg c3RydWN0IG1pcGlfY3NpMnBoeV9kZXZpY2VfcmVncyAqcmVncyA9IGNzaTJwaHlfZGV2X3RvX3Jl Z3MoY3NpMnBoeSk7Cj4gLQljb25zdCBzdHJ1Y3QgbWlwaV9jc2kycGh5X2xhbmVfcmVncyAqciA9 IHJlZ3MtPmRwaHlfaW5pdF9zZXE7Cj4gLQlpbnQgaSwgYXJyYXlfc2l6ZSA9IHJlZ3MtPmRwaHlf bGFuZV9hcnJheV9zaXplOwo+ICsJY29uc3Qgc3RydWN0IG1pcGlfY3NpMnBoeV9sYW5lX3JlZ3Mg KnI7Cj4gKwlpbnQgYXJyYXlfc2l6ZTsKPiAgIAl1MzIgdmFsOwo+ICsJaW50IGk7Cj4gKwo+ICsJ aWYgKGNzaTJwaHktPnBoeV9tb2RlID09IFBIWV9NT0RFX01JUElfQ1BIWSkgewo+ICsJCXIgPSBy ZWdzLT5jcGh5X2luaXRfc2VxOwo+ICsJCWFycmF5X3NpemUgPSByZWdzLT5jcGh5X2xhbmVfYXJy YXlfc2l6ZTsKPiArCX0gZWxzZSB7Cj4gKwkJciA9IHJlZ3MtPmRwaHlfaW5pdF9zZXE7Cj4gKwkJ YXJyYXlfc2l6ZSA9IHJlZ3MtPmRwaHlfbGFuZV9hcnJheV9zaXplOwo+ICsJfQo+IAo+ICAgCWZv ciAoaSA9IDA7IGkgPCBhcnJheV9zaXplOyBpKyssIHIrKykgewo+ICAgCQlzd2l0Y2ggKHItPnBh cmFtX3R5cGUpIHsKPiBAQCAtMjY0LDM4ICs0MDQsNDEgQEAgcGh5X3Fjb21fbWlwaV9jc2kyX2dl bjJfY29uZmlnX2xhbmVzKHN0cnVjdCBtaXBpX2NzaTJwaHlfZGV2aWNlICpjc2kycGh5LAo+ICAg CQl9Cj4gICAJCXdyaXRlbCh2YWwsIGNzaTJwaHktPmJhc2UgKyByLT5yZWdfYWRkcik7Cj4gICAJ CWlmIChyLT5kZWxheV91cykKPiAtCQkJdWRlbGF5KHItPmRlbGF5X3VzKTsKPiArCQkJZnNsZWVw KHItPmRlbGF5X3VzKTsKCkhlcmUncyBvbmUgdGhhdCBpcyB0cnlpbmcgdG8gc25lYWsgaW4gdW5k ZXIgdGhlIHJhZGFyLgoKQSBjaGFuZ2UgbGlrZSB0aGlzIG5lZWRzIGEgZGlzdGluY3QgcGF0Y2gg d2l0aCBhIGRlc2NyaXB0aW9uIHdoeSBpbnN0ZWFkIApvZiBpbmxpbmVkIGluIGEgIm1ha2UgQ1BI WSB3b3JrIiBwYXRjaC4KCkEgZGVsYXkgaXMgYSBkZWxheSBpcyBhIGRlbGF5IC0gY2hhbmdpbmcg dGhlIG5hdHVyZSBvZiB0aGF0IGRlbGF5IGlzIGEgCmZ1bmN0aW9uYWwgY2hhbmdlIGluIGl0c2Vs ZiB3aGljaCBpcyAhIGEgQ1BIWSB0aGluZy4KCj4gICAJfQo+ICAgfQo+IAo+IC1zdGF0aWMgaW50 IHBoeV9xY29tX21pcGlfY3NpMl9sYW5lc19lbmFibGUoc3RydWN0IG1pcGlfY3NpMnBoeV9kZXZp Y2UgKmNzaTJwaHksCj4gLQkJCQkJICAgc3RydWN0IG1pcGlfY3NpMnBoeV9zdHJlYW1fY2ZnICpj ZmcpCj4gKy8qCj4gKyAqIENTSV9DT01NT05fQ1RSTDUgaXMgYSBwaHlzaWNhbCBsYW5lIHBvd2Vy LXVwIGJpdG1hcDoKPiArICogLSBCaXRzIFswLDIsNCw2XSDihpIgRC1QSFkgZGF0YSBsYW5lcyhM TjAsIExOMiwgTE40LCBMTjYpCj4gKyAqIC0gQml0cyBbMSwzLDVdIOKGkiBDLVBIWSB0cmlvIGxh bmVzKExOMSwgTE4zLCBMTjUpCj4gKyAqIC0gQml0IFs3XSDihpIgRC1QSFkgY2xvY2sgbGFuZShM TkNLKSBkZWRpY2F0ZWQgY2xvY2sgZW5hYmxlCj4gKyAqLwo+ICtzdGF0aWMgdTggcGh5X3Fjb21f bWlwaV9jc2kyX2xhbmVfbWFzayhzdHJ1Y3QgbWlwaV9jc2kycGh5X2RldmljZSAqY3NpMnBoeSwK PiArCQkJCSAgICAgICBzdHJ1Y3QgbWlwaV9jc2kycGh5X3N0cmVhbV9jZmcgKmNmZykKPiAgIHsK PiAtCWNvbnN0IHN0cnVjdCBtaXBpX2NzaTJwaHlfZGV2aWNlX3JlZ3MgKnJlZ3MgPSBjc2kycGh5 X2Rldl90b19yZWdzKGNzaTJwaHkpOwo+ICAgCXN0cnVjdCBtaXBpX2NzaTJwaHlfbGFuZXNfY2Zn ICpsYW5lX2NmZyA9ICZjZmctPmxhbmVfY2ZnOwo+IC0JdTggc2V0dGxlX2NudDsKPiAtCXU4IHZh bDsKPiArCXU4IGxhbmVfbWFzayA9IDA7Cj4gKwl1OCBvZmZzZXQgPSAwOwo+ICAgCWludCBpOwo+ IAo+IC0JaWYgKGNmZy0+bGlua19mcmVxIDw9IDApCj4gLQkJcmV0dXJuIC1FSU5WQUw7Cj4gLQo+ IC0Jc2V0dGxlX2NudCA9IHBoeV9xY29tX21pcGlfY3NpMl9zZXR0bGVfY250X2NhbGMoY2ZnLT5s aW5rX2ZyZXEsIGNzaTJwaHktPnRpbWVyX2Nsa19yYXRlKTsKPiAtCWlmICghc2V0dGxlX2NudCkK PiAtCQlyZXR1cm4gLUVOT0RFVjsKClRvIG1ha2UgdGhlIGRlY29tcG9zaXRpb24gbW9yZSByZWFk YWJsZSwgcGxlYXNlIGJ1bmRsZSB0aGUgZGVvbXAgaW50byAKaXRzIG93biBwcmVjdXJzb3IgcGF0 Y2ggImFkZCBoZWxwZXIgZnVuY3Rpb24geCIKCj4gKwlpZiAoY3NpMnBoeS0+cGh5X21vZGUgPT0g UEhZX01PREVfTUlQSV9DUEhZKQo+ICsJCW9mZnNldCA9IDE7Cj4gKwllbHNlCj4gKwkJbGFuZV9t YXNrID0gQklUKGxhbmVfY2ZnLT5jbGsucG9zKTsKPiAKPiAtCS8qCj4gLQkgKiBDU0lfQ09NTU9O X0NUUkw1IGlzIGEgcGh5c2ljYWwgbGFuZSBwb3dlci11cCBiaXRtYXA6Cj4gLQkgKiAtIEJpdHMg WzAsMiw0LDZdIOKGkiBELVBIWSBkYXRhIGxhbmVzKExOMCwgTE4yLCBMTjQsIExONikKPiAtCSAq IC0gQml0cyBbMSwzLDVdIOKGkiBDLVBIWSB0cmlvIGxhbmVzKExOMSwgTE4zLCBMTjUpCj4gLQkg KiAtIEJpdCBbN10g4oaSIEQtUEhZIGNsb2NrIGxhbmUoTE5DSykgZGVkaWNhdGVkIGNsb2NrIGVu YWJsZQo+IC0JICovCj4gLQl2YWwgPSBCSVQobGFuZV9jZmctPmNsay5wb3MpOwo+ICAgCWZvciAo aSA9IDA7IGkgPCBjZmctPm51bV9kYXRhX2xhbmVzOyBpKyspCj4gLQkJdmFsIHw9IEJJVChsYW5l X2NmZy0+ZGF0YVtpXS5wb3MgKiAyKTsKPiArCQlsYW5lX21hc2sgfD0gQklUKGxhbmVfY2ZnLT5k YXRhW2ldLnBvcyAqIDIgKyBvZmZzZXQpOwo+IAo+IC0Jd3JpdGVsKHZhbCwgY3NpMnBoeS0+YmFz ZSArCj4gLQkgICAgICAgQ1NJUEhZXzNQSF9DTU5fQ1NJX0NPTU1PTl9DVFJMbihyZWdzLT5jb21t b25fcmVnc19vZmZzZXQsIDUpKTsKPiArCXJldHVybiBsYW5lX21hc2s7Cj4gK30KPiArCj4gK3N0 YXRpYyB2b2lkCj4gK3BoeV9xY29tX21pcGlfY3NpMl9kcGh5X2xhbmVfcG9sYXJpdGllcyhzdHJ1 Y3QgbWlwaV9jc2kycGh5X2RldmljZSAqY3NpMnBoeSwKPiArCQkJCQlzdHJ1Y3QgbWlwaV9jc2ky cGh5X3N0cmVhbV9jZmcgKmNmZykKPiArewo+ICsJc3RydWN0IG1pcGlfY3NpMnBoeV9sYW5lc19j ZmcgKmxhbmVfY2ZnID0gJmNmZy0+bGFuZV9jZmc7Cj4gKwlpbnQgaTsKPiAKPiAgIAkvKiBMYW5l IGNvbmZpZ3VyYXRpb24gZm9yIHBvbGFyaXR5IEAgQ1NJUEhZLWJhc2UgKyBDVFJMOSAqLwo+ICAg CWZvciAoaSA9IDA7IGkgPCBjZmctPm51bV9kYXRhX2xhbmVzOyBpKyspIHsKPiBAQCAtMzA4LDYg KzQ1MSwyOSBAQCBzdGF0aWMgaW50IHBoeV9xY29tX21pcGlfY3NpMl9sYW5lc19lbmFibGUoc3Ry dWN0IG1pcGlfY3NpMnBoeV9kZXZpY2UgKmNzaTJwaHksCj4gCj4gICAJaWYgKGxhbmVfY2ZnLT5j bGsucG9sKQo+ICAgCQl3cml0ZWwoQklUKDIpLCBjc2kycGh5LT5iYXNlICsgQ1NJUEhZXzJQSF9M Tl9DU0lfMlBIQVNFX0NUUkw5bihsYW5lX2NmZy0+Y2xrLnBvcykpOwo+ICt9Cj4gKwo+ICtzdGF0 aWMgaW50IHBoeV9xY29tX21pcGlfY3NpMl9sYW5lc19lbmFibGUoc3RydWN0IG1pcGlfY3NpMnBo eV9kZXZpY2UgKmNzaTJwaHksCj4gKwkJCQkJICAgc3RydWN0IG1pcGlfY3NpMnBoeV9zdHJlYW1f Y2ZnICpjZmcpCj4gK3sKPiArCWNvbnN0IHN0cnVjdCBtaXBpX2NzaTJwaHlfZGV2aWNlX3JlZ3Mg KnJlZ3MgPSBjc2kycGh5X2Rldl90b19yZWdzKGNzaTJwaHkpOwo+ICsJdTggc2V0dGxlX2NudDsK PiArCXU4IHZhbDsKPiArCWludCBpOwo+ICsKPiArCWlmIChjZmctPmxpbmtfZnJlcSA8PSAwKQo+ ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCXNldHRsZV9jbnQgPSBwaHlfcWNvbV9taXBpX2Nz aTJfc2V0dGxlX2NudF9jYWxjKGNmZy0+bGlua19mcmVxLCBjc2kycGh5LT50aW1lcl9jbGtfcmF0 ZSk7Cj4gKwlpZiAoIXNldHRsZV9jbnQpCj4gKwkJcmV0dXJuIC1FTk9ERVY7Cj4gKwo+ICsJdmFs ID0gcGh5X3Fjb21fbWlwaV9jc2kyX2xhbmVfbWFzayhjc2kycGh5LCBjZmcpOwo+ICsJd3JpdGVs KHZhbCwgY3NpMnBoeS0+YmFzZSArCj4gKwkgICAgICAgQ1NJUEhZXzNQSF9DTU5fQ1NJX0NPTU1P Tl9DVFJMbihyZWdzLT5jb21tb25fcmVnc19vZmZzZXQsIDUpKTsKPiArCj4gKwlpZiAoY3NpMnBo eS0+cGh5X21vZGUgPT0gUEhZX01PREVfTUlQSV9EUEhZKQo+ICsJCXBoeV9xY29tX21pcGlfY3Np Ml9kcGh5X2xhbmVfcG9sYXJpdGllcyhjc2kycGh5LCBjZmcpOwo+IAo+ICAgCXZhbCA9IENTSVBI WV8zUEhfQ01OX0NTSV9DT01NT05fQ1RSTDZfQ09NTU9OX1BXUkROX0I7Cj4gICAJd3JpdGVsKHZh bCwgY3NpMnBoeS0+YmFzZSArCj4gQEAgLTM3NCw2ICs1NDAsOCBAQCBjb25zdCBzdHJ1Y3QgbWlw aV9jc2kycGh5X3NvY19jZmcgbWlwaV9jc2kyX2RwaHlfNG5tX3gxZSA9IHsKPiAgIAkucmVnX2lu Zm8gPSB7Cj4gICAJCS5kcGh5X2luaXRfc2VxID0gbGFuZV9yZWdzX3gxZTgwMTAwLAo+ICAgCQku ZHBoeV9sYW5lX2FycmF5X3NpemUgPSBBUlJBWV9TSVpFKGxhbmVfcmVnc194MWU4MDEwMCksCj4g KwkJLmNwaHlfaW5pdF9zZXEgPSBsYW5lX3JlZ3NfdjJfMV8yX2NwaHksCj4gKwkJLmNwaHlfbGFu ZV9hcnJheV9zaXplID0gQVJSQVlfU0laRShsYW5lX3JlZ3NfdjJfMV8yX2NwaHkpLAo+ICAgCQku Y29tbW9uX3JlZ3Nfb2Zmc2V0ID0gMHgxMDAwLAo+ICAgCX0sCj4gICAJLnN1cHBseV9uYW1lcyA9 IChjb25zdCBjaGFyICoqKXgxZV9zdXBwbGllcywKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9waHkv cXVhbGNvbW0vcGh5LXFjb20tbWlwaS1jc2kyLWNvcmUuYyBiL2RyaXZlcnMvcGh5L3F1YWxjb21t L3BoeS1xY29tLW1pcGktY3NpMi1jb3JlLmMKPiBpbmRleCBjMGE0ZmEyMGUuLjExODU1NjFhMSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL3BoeS9xdWFsY29tbS9waHktcWNvbS1taXBpLWNzaTItY29y ZS5jCj4gKysrIGIvZHJpdmVycy9waHkvcXVhbGNvbW0vcGh5LXFjb20tbWlwaS1jc2kyLWNvcmUu Ywo+IEBAIC05Niw2ICs5NiwyNSBAQCBwaHlfcWNvbV9taXBpX2NzaTJfc2V0X2Nsb2NrX3JhdGVz KHN0cnVjdCBtaXBpX2NzaTJwaHlfZGV2aWNlICpjc2kycGh5LAo+ICAgCXJldHVybiByZXQ7Cj4g ICB9Cj4gCj4gK3N0YXRpYyBpbnQKPiArcGh5X3Fjb21fbWlwaV9jc2kyX2NvbmZpZ3VyZV9jcGh5 KHN0cnVjdCBtaXBpX2NzaTJwaHlfZGV2aWNlICpjc2kycGh5LAo+ICsJCQkJICBzdHJ1Y3QgcGh5 X2NvbmZpZ3VyZV9vcHRzX21pcGlfY3BoeSAqY3BoeV9jZmcpCj4gK3sKPiArCXN0cnVjdCBtaXBp X2NzaTJwaHlfc3RyZWFtX2NmZyAqc3RyZWFtX2NmZyA9ICZjc2kycGh5LT5zdHJlYW1fY2ZnOwo+ ICsJaW50IHJldDsKPiArCj4gKwlyZXQgPSBwaHlfbWlwaV9jcGh5X2NvbmZpZ192YWxpZGF0ZShj cGh5X2NmZyk7Cj4gKwlpZiAocmV0KQo+ICsJCXJldHVybiByZXQ7Cj4gKwo+ICsJaWYgKGNwaHlf Y2ZnLT50cmlvcyAhPSBzdHJlYW1fY2ZnLT5udW1fZGF0YV9sYW5lcykKPiArCQlyZXR1cm4gLUVJ TlZBTDsKPiArCj4gKwlzdHJlYW1fY2ZnLT5saW5rX2ZyZXEgPSBwaHlfbWlwaV9jcGh5X2xpbmtf ZnJlcShjcGh5X2NmZyk7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gICBzdGF0aWMgaW50 IHBoeV9xY29tX21pcGlfY3NpMl9jb25maWd1cmUoc3RydWN0IHBoeSAqcGh5LAo+ICAgCQkJCQl1 bmlvbiBwaHlfY29uZmlndXJlX29wdHMgKm9wdHMpCj4gICB7Cj4gQEAgLTEwNCw2ICsxMjMsOSBA QCBzdGF0aWMgaW50IHBoeV9xY29tX21pcGlfY3NpMl9jb25maWd1cmUoc3RydWN0IHBoeSAqcGh5 LAo+ICAgCXN0cnVjdCBtaXBpX2NzaTJwaHlfc3RyZWFtX2NmZyAqc3RyZWFtX2NmZyA9ICZjc2ky cGh5LT5zdHJlYW1fY2ZnOwo+ICAgCWludCByZXQ7Cj4gCj4gKwlpZiAoY3NpMnBoeS0+cGh5X21v ZGUgPT0gUEhZX01PREVfTUlQSV9DUEhZKQo+ICsJCXJldHVybiBwaHlfcWNvbV9taXBpX2NzaTJf Y29uZmlndXJlX2NwaHkoY3NpMnBoeSwgJm9wdHMtPm1pcGlfY3BoeSk7Cj4gKwo+ICAgCXJldCA9 IHBoeV9taXBpX2RwaHlfY29uZmlnX3ZhbGlkYXRlKGRwaHlfY2ZnKTsKPiAgIAlpZiAocmV0KQo+ ICAgCQlyZXR1cm4gcmV0Owo+IEBAIC0xMjQsMTAgKzE0NiwxMyBAQCBzdGF0aWMgaW50IHBoeV9x Y29tX21pcGlfY3NpMl9zZXRfbW9kZShzdHJ1Y3QgcGh5ICpwaHksCj4gICB7Cj4gICAJc3RydWN0 IG1pcGlfY3NpMnBoeV9kZXZpY2UgKmNzaTJwaHkgPSBwaHlfZ2V0X2RydmRhdGEocGh5KTsKPiAK PiAtCWlmIChtb2RlICE9IFBIWV9NT0RFX01JUElfRFBIWSkKPiArCWlmIChtb2RlICE9IFBIWV9N T0RFX01JUElfRFBIWSAmJiBtb2RlICE9IFBIWV9NT0RFX01JUElfQ1BIWSkKPiAgIAkJcmV0dXJu IC1FT1BOT1RTVVBQOwo+IAo+IC0JY3NpMnBoeS0+cGh5X21vZGUgPSBtb2RlOwo+ICsJLyogVGhl IGVuZHBvaW50J3MgYnVzLXR5cGUgc2V0cyB0aGUgbW9kZTsgb25seSB0aGF0IG9uZSBpcyBhY2Nl cHRlZC4gKi8KPiArCWlmIChtb2RlICE9IGNzaTJwaHktPnBoeV9tb2RlKQo+ICsJCXJldHVybiAt RUlOVkFMOwo+ICsKPiAgIAlyZXR1cm4gMDsKPiAgIH0KPiAKPiBAQCAtMjU4LDYgKzI4Myw3IEBA IHN0YXRpYyBpbnQgcGh5X3Fjb21fbWlwaV9jc2kyX3BhcnNlX3JvdXRpbmcoc3RydWN0IG1pcGlf Y3NpMnBoeV9kZXZpY2UgKmNzaTJwaHkpCj4gICAJc3RydWN0IGZ3bm9kZV9oYW5kbGUgKmVwOwo+ ICAgCWludCBudW1fcG9sYXJpdGllczsKPiAgIAlpbnQgbnVtX2RhdGFfbGFuZXM7Cj4gKwlpbnQg bWF4X2xhbmVzOwo+ICAgCXUzMiBidXNfdHlwZTsKPiAgIAlpbnQgaSwgcmV0Owo+IAo+IEBAIC0y NzgsMTQgKzMwNCwyNiBAQCBzdGF0aWMgaW50IHBoeV9xY29tX21pcGlfY3NpMl9wYXJzZV9yb3V0 aW5nKHN0cnVjdCBtaXBpX2NzaTJwaHlfZGV2aWNlICpjc2kycGh5KQo+ICAgCWJ1c190eXBlID0g TUVESUFfQlVTX1RZUEVfQ1NJMl9EUEhZOwo+ICAgCWZ3bm9kZV9wcm9wZXJ0eV9yZWFkX3UzMihl cCwgImJ1cy10eXBlIiwgJmJ1c190eXBlKTsKPiAKPiAtCWlmIChidXNfdHlwZSAhPSBNRURJQV9C VVNfVFlQRV9DU0kyX0RQSFkpIHsKPiArCXN3aXRjaCAoYnVzX3R5cGUpIHsKPiArCWNhc2UgTUVE SUFfQlVTX1RZUEVfQ1NJMl9EUEhZOgo+ICsJCWNzaTJwaHktPnBoeV9tb2RlID0gUEhZX01PREVf TUlQSV9EUEhZOwo+ICsJCW1heF9sYW5lcyA9IENTSTJfTUFYX0RBVEFfTEFORVM7Cj4gKwkJYnJl YWs7Cj4gKwljYXNlIE1FRElBX0JVU19UWVBFX0NTSTJfQ1BIWToKPiArCQlpZiAoY3NpMnBoeS0+ c29jX2NmZy0+cmVnX2luZm8uY3BoeV9pbml0X3NlcSkgewo+ICsJCQljc2kycGh5LT5waHlfbW9k ZSA9IFBIWV9NT0RFX01JUElfQ1BIWTsKPiArCQkJbWF4X2xhbmVzID0gUEhZX01JUElfQ1BIWV9N QVhfVFJJT1M7Cj4gKwkJCWJyZWFrOwo+ICsJCX0KPiArCQlmYWxsdGhyb3VnaDsKPiArCWRlZmF1 bHQ6Cj4gICAJCXJldCA9IC1FT1BOT1RTVVBQOwo+ICAgCQlkZXZfZXJyKGRldiwgIlVuc3VwcG9y dGVkIGJ1cy10eXBlICV1XG4iLCBidXNfdHlwZSk7Cj4gICAJCWdvdG8gb3V0X3B1dDsKPiAgIAl9 Cj4gCj4gICAJbnVtX2RhdGFfbGFuZXMgPSBmd25vZGVfcHJvcGVydHlfY291bnRfdTMyKGVwLCAi ZGF0YS1sYW5lcyIpOwo+IC0JaWYgKG51bV9kYXRhX2xhbmVzIDwgMSB8fCBudW1fZGF0YV9sYW5l cyA+IENTSTJfTUFYX0RBVEFfTEFORVMpIHsKPiArCWlmIChudW1fZGF0YV9sYW5lcyA8IDEgfHwg bnVtX2RhdGFfbGFuZXMgPiBtYXhfbGFuZXMpIHsKPiAgIAkJcmV0ID0gLUVJTlZBTDsKPiAgIAkJ ZGV2X2VycihkZXYsICJJbnZhbGlkIGRhdGEtbGFuZXMgY291bnQ6ICVkXG4iLCBudW1fZGF0YV9s YW5lcyk7Cj4gICAJCWdvdG8gb3V0X3B1dDsKPiBAQCAtMzAyLDYgKzM0MCwxMSBAQCBzdGF0aWMg aW50IHBoeV9xY29tX21pcGlfY3NpMl9wYXJzZV9yb3V0aW5nKHN0cnVjdCBtaXBpX2NzaTJwaHlf ZGV2aWNlICpjc2kycGh5KQo+ICAgCS8qIGxhbmUtcG9sYXJpdGllczogb3B0aW9uYWwsIHVwIHRv IG51bV9kYXRhX2xhbmVzICsgMSBlbnRyaWVzICovCj4gICAJbWVtc2V0KGxhbmVfcG9sYXJpdGll cywgMHgwMCwgc2l6ZW9mKGxhbmVfcG9sYXJpdGllcykpOwo+ICAgCW51bV9wb2xhcml0aWVzID0g Zndub2RlX3Byb3BlcnR5X2NvdW50X3UzMihlcCwgImxhbmUtcG9sYXJpdGllcyIpOwo+ICsJaWYg KG51bV9wb2xhcml0aWVzID4gMCAmJiBidXNfdHlwZSA9PSBNRURJQV9CVVNfVFlQRV9DU0kyX0NQ SFkpIHsKPiArCQlyZXQgPSAtRUlOVkFMOwo+ICsJCWRldl9lcnIoZGV2LCAibGFuZS1wb2xhcml0 aWVzIGRvIG5vdCBhcHBseSB0byBDLVBIWVxuIik7Cj4gKwkJZ290byBvdXRfcHV0Owo+ICsJfQo+ ICAgCWlmIChudW1fcG9sYXJpdGllcyA+IDApIHsKPiAgIAkJaWYgKG51bV9wb2xhcml0aWVzICE9 IHN0cmVhbV9jZmctPm51bV9kYXRhX2xhbmVzICsgMSkgewo+ICAgCQkJcmV0ID0gLUVJTlZBTDsK PiBAQCAtMzIyLDcgKzM2NSw3IEBAIHN0YXRpYyBpbnQgcGh5X3Fjb21fbWlwaV9jc2kyX3BhcnNl X3JvdXRpbmcoc3RydWN0IG1pcGlfY3NpMnBoeV9kZXZpY2UgKmNzaTJwaHkpCj4gICAJY3NpMnBo eS0+c3RyZWFtX2NmZy5sYW5lX2NmZy5jbGsucG9sID0gbGFuZV9wb2xhcml0aWVzWzBdOwo+IAo+ ICAgCWZvciAoaSA9IDA7IGkgPCBjc2kycGh5LT5zdHJlYW1fY2ZnLm51bV9kYXRhX2xhbmVzOyBp KyspIHsKPiAtCQlpZiAoZGF0YV9sYW5lc1tpXSA8IDEgfHwgZGF0YV9sYW5lc1tpXSA+IENTSTJf TUFYX0RBVEFfTEFORVMpIHsKPiArCQlpZiAoZGF0YV9sYW5lc1tpXSA8IDEgfHwgZGF0YV9sYW5l c1tpXSA+IG1heF9sYW5lcykgewo+ICAgCQkJZGV2X2VycihkZXYsICJJbnZhbGlkIGxhbmUgJWRc biIsIGRhdGFfbGFuZXNbaV0pOwo+ICAgCQkJcmV0ID0gLUVJTlZBTDsKPiAgIAkJCWdvdG8gb3V0 X3B1dDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9waHkvcXVhbGNvbW0vcGh5LXFjb20tbWlwaS1j c2kyLmggYi9kcml2ZXJzL3BoeS9xdWFsY29tbS9waHktcWNvbS1taXBpLWNzaTIuaAo+IGluZGV4 IDBkNjAzMWE0ZC4uZjQ5ZjMzNGZkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvcGh5L3F1YWxjb21t L3BoeS1xY29tLW1pcGktY3NpMi5oCj4gKysrIGIvZHJpdmVycy9waHkvcXVhbGNvbW0vcGh5LXFj b20tbWlwaS1jc2kyLmgKPiBAQCAtNTAsNiArNTAsOCBAQCBzdHJ1Y3QgbWlwaV9jc2kycGh5X2xh bmVfcmVncyB7Cj4gICBzdHJ1Y3QgbWlwaV9jc2kycGh5X2RldmljZV9yZWdzIHsKPiAgIAljb25z dCBzdHJ1Y3QgbWlwaV9jc2kycGh5X2xhbmVfcmVncyAqZHBoeV9pbml0X3NlcTsKPiAgIAljb25z dCBpbnQgZHBoeV9sYW5lX2FycmF5X3NpemU7Cj4gKwljb25zdCBzdHJ1Y3QgbWlwaV9jc2kycGh5 X2xhbmVfcmVncyAqY3BoeV9pbml0X3NlcTsKPiArCWNvbnN0IGludCBjcGh5X2xhbmVfYXJyYXlf c2l6ZTsKPiAgIAljb25zdCB1MzIgY29tbW9uX3JlZ3Nfb2Zmc2V0Owo+ICAgfTsKPiAKPiAKPiAt LQo+IDIuNTMuMAoKCi0tIApsaW51eC1waHkgbWFpbGluZyBsaXN0CmxpbnV4LXBoeUBsaXN0cy5p bmZyYWRlYWQub3JnCmh0dHBzOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2xpbnV4LXBoeQo=