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=-8.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_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 D1031CA9EA0 for ; Fri, 25 Oct 2019 11:32:09 +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 993B721929 for ; Fri, 25 Oct 2019 11:32:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="LlViRgZJ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 993B721929 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=amlogic.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-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=xaoxxTVvruvaqIqGUHmb+04zQdcxBH0EiSegbsV6VJE=; b=LlViRgZJebOd0E9fyDHU5Ieun jlyPQMQ+PgV+ix8ysRAmaLHSyGW4iRlFAJa3OVHsqUtZCOED5C4EVM4OzpGiz3lK6FFa/kKoHNm9M YQylgOgVRc7W7LNr8Zn6AmiNbVpOU77fQPo8hYVCwA8UPvFlJQJk+Ym0Fym43ArVvmoRVAE9mOnW1 VDRbyj+/OnK6PgC14Xbk8vCW1xfXMNEmxjhJbafFrEBMRI9DJtlDWRm1UqDC2+QPn46NMBrJxo6xL GOtvcaNOuc1H4JjCAFL5dhiSObzw2J7LDnkpVk7D4eDA+1OeYn8qDSqlpuCvhmKLyIR5PZHaHSiLl 9vgxoxHZg==; 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 1iNxpA-0007n6-BR; Fri, 25 Oct 2019 11:32:08 +0000 Received: from mail-sz.amlogic.com ([211.162.65.117]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iNxp4-0007mZ-NO; Fri, 25 Oct 2019 11:32:06 +0000 Received: from [10.28.19.114] (10.28.19.114) by mail-sz.amlogic.com (10.28.11.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1591.10; Fri, 25 Oct 2019 19:32:07 +0800 Subject: Re: [PATCH v2 3/3] clk: meson: a1: add support for Amlogic A1 clock driver To: Jerome Brunet , Neil Armstrong References: <1571382865-41978-1-git-send-email-jian.hu@amlogic.com> <1571382865-41978-4-git-send-email-jian.hu@amlogic.com> <1jsgnmba1a.fsf@starbuckisacylon.baylibre.com> From: Jian Hu Message-ID: <49b33e94-910b-3fd9-4da1-050742d07e93@amlogic.com> Date: Fri, 25 Oct 2019 19:32:07 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <1jsgnmba1a.fsf@starbuckisacylon.baylibre.com> Content-Language: en-US X-Originating-IP: [10.28.19.114] X-ClientProxiedBy: mail-sz.amlogic.com (10.28.11.5) To mail-sz.amlogic.com (10.28.11.5) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191025_043202_962510_005DA629 X-CRM114-Status: GOOD ( 30.80 ) 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: Rob Herring , Victor Wan , Jianxin Pan , Martin Blumenstingl , Kevin Hilman , Michael Turquette , linux-kernel@vger.kernel.org, Stephen Boyd , Qiufang Dai , Chandle Zou , linux-amlogic@lists.infradead.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGksIEplcm9tZQoKVGhhbmtzIGZvciB5b3VyIHJldmlldwoKT24gMjAxOS8xMC8yMSAxOTo0MSwg SmVyb21lIEJydW5ldCB3cm90ZToKPiAKPiBPbiBGcmkgMTggT2N0IDIwMTkgYXQgMDk6MTQsIEpp YW4gSHUgPGppYW4uaHVAYW1sb2dpYy5jb20+IHdyb3RlOgo+IAo+PiBUaGUgQW1sb2dpYyBBMSBj bG9jayBpbmNsdWRlcyB0aHJlZSBkcml2ZXJzOgo+PiBwZXJpcGhlcmFsIGNsb2NrcywgcGxsIGNs b2NrcywgQ1BVIGNsb2Nrcy4KPj4gc3lzIHBsbCBhbmQgQ1BVIGNsb2NrcyB3aWxsIGJlIHNlbnQg aW4gbmV4dCBwYXRjaC4KPj4KPj4gVW5saWtlIHRoZSBwcmV2aW91cyBzZXJpZXMsIHRoZXJlIGlz IG5vIEVFL0FPIGRvbWFpbgo+PiBpbiBBMSBDTEsgY29udHJvbGxlcnMuCj4+Cj4+IFNpZ25lZC1v ZmYtYnk6IEppYW4gSHUgPGppYW4uaHVAYW1sb2dpYy5jb20+Cj4+IC0tLQo+PiAgIGRyaXZlcnMv Y2xrL21lc29uL0tjb25maWcgIHwgICAxMCArCj4+ICAgZHJpdmVycy9jbGsvbWVzb24vTWFrZWZp bGUgfCAgICAxICsKPj4gICBkcml2ZXJzL2Nsay9tZXNvbi9hMS1wbGwuYyB8ICAzNDUgKysrKysr Kwo+PiAgIGRyaXZlcnMvY2xrL21lc29uL2ExLXBsbC5oIHwgICA1NiArKwo+PiAgIGRyaXZlcnMv Y2xrL21lc29uL2ExLmMgICAgIHwgMjI2NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwo+PiAgIGRyaXZlcnMvY2xrL21lc29uL2ExLmggICAgIHwgIDEyMCArKysK Pj4gICA2IGZpbGVzIGNoYW5nZWQsIDI3OTYgaW5zZXJ0aW9ucygrKQo+PiAgIGNyZWF0ZSBtb2Rl IDEwMDY0NCBkcml2ZXJzL2Nsay9tZXNvbi9hMS1wbGwuYwo+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0 NCBkcml2ZXJzL2Nsay9tZXNvbi9hMS1wbGwuaAo+PiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2 ZXJzL2Nsay9tZXNvbi9hMS5jCj4+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvY2xrL21l c29uL2ExLmgKPiAKPiBJbiB0aGUgbmV4dCB2ZXJzaW9uLCBvbmUKT0ssIEkgd2lsbCBzZW5kIGEx IHBlcmlwaGVyYWwgYW5kIHBsbCBkcml2ZXIgaW4gdHdvIHBhdGNoLgo+IAo+Pgo+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9jbGsvbWVzb24vS2NvbmZpZyBiL2RyaXZlcnMvY2xrL21lc29uL0tjb25m aWcKPj4gaW5kZXggZGFiZWI0My4uYzI4MDliMiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9jbGsv bWVzb24vS2NvbmZpZwo+PiArKysgYi9kcml2ZXJzL2Nsay9tZXNvbi9LY29uZmlnCj4+IEBAIC05 Myw2ICs5MywxNiBAQCBjb25maWcgQ09NTU9OX0NMS19BWEdfQVVESU8KPj4gICAJICBTdXBwb3J0 IGZvciB0aGUgYXVkaW8gY2xvY2sgY29udHJvbGxlciBvbiBBbUxvZ2ljIEExMTNEIGRldmljZXMs Cj4+ICAgCSAgYWthIGF4ZywgU2F5IFkgaWYgeW91IHdhbnQgYXVkaW8gc3Vic3lzdGVtIHRvIHdv cmsuCj4+ICAgCj4+ICtjb25maWcgQ09NTU9OX0NMS19BMQo+PiArCWJvb2wKPj4gKwlkZXBlbmRz IG9uIEFSQ0hfTUVTT04KPj4gKwlzZWxlY3QgQ09NTU9OX0NMS19NRVNPTl9SRUdNQVAKPj4gKwlz ZWxlY3QgQ09NTU9OX0NMS19NRVNPTl9EVUFMRElWCj4+ICsJc2VsZWN0IENPTU1PTl9DTEtfTUVT T05fUExMCj4+ICsJaGVscAo+PiArCSAgU3VwcG9ydCBmb3IgdGhlIGNsb2NrIGNvbnRyb2xsZXIg b24gQW1sb2dpYyBBMTEzTCBkZXZpY2UsCj4+ICsJICBha2EgYTEuIFNheSBZIGlmIHlvdSB3YW50 IHBlcmlwaGVyYWxzIHRvIHdvcmsuCj4+ICsKPj4gICBjb25maWcgQ09NTU9OX0NMS19HMTJBCj4+ ICAgCWJvb2wKPj4gICAJZGVwZW5kcyBvbiBBUkNIX01FU09OCj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2Nsay9tZXNvbi9NYWtlZmlsZSBiL2RyaXZlcnMvY2xrL21lc29uL01ha2VmaWxlCj4+IGlu ZGV4IDM5MzlmMjEuLjI4Y2JhZTEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvY2xrL21lc29uL01h a2VmaWxlCj4+ICsrKyBiL2RyaXZlcnMvY2xrL21lc29uL01ha2VmaWxlCj4+IEBAIC0xNiw2ICsx Niw3IEBAIG9iai0kKENPTkZJR19DT01NT05fQ0xLX01FU09OX1ZJRF9QTExfRElWKSArPSB2aWQt cGxsLWRpdi5vCj4+ICAgCj4+ICAgb2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfQVhHKSArPSBheGcu byBheGctYW9jbGsubwo+PiAgIG9iai0kKENPTkZJR19DT01NT05fQ0xLX0FYR19BVURJTykgKz0g YXhnLWF1ZGlvLm8KPj4gK29iai0kKENPTkZJR19DT01NT05fQ0xLX0ExKSArPSBhMS1wbGwubyBh MS5vCj4gCj4gU28gZmFyLCBhbGwgdGhlIGNvbnRyb2xsZXIgaGFkIHRoZXJlIG93biBvcHRpb24s IEkgZG9uJ3Qgc2VlIHdoeSBpdAo+IHNob3VsZCBiZSBkaWZmZXJlbnQgaGVyZS4KPiAKT0ssIEkg d2lsbCBhZGQgdGhlIG90aGVyIG9wdGlvbiBDT05GSUdfQ09NTU9OX0NMS19BMV9QTEwgZm9yIHBs bCBkcml2ZXIKPj4gICBvYmotJChDT05GSUdfQ09NTU9OX0NMS19HWEJCKSArPSBneGJiLm8gZ3hi Yi1hb2Nsay5vCj4+ICAgb2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfRzEyQSkgKz0gZzEyYS5vIGcx MmEtYW9jbGsubwo+PiAgIG9iai0kKENPTkZJR19DT01NT05fQ0xLX01FU09OOEIpICs9IG1lc29u OGIubwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsvbWVzb24vYTEtcGxsLmMgYi9kcml2ZXJz L2Nsay9tZXNvbi9hMS1wbGwuYwo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAw MDAwLi40ODZkOTY0Cj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9jbGsvbWVzb24v YTEtcGxsLmMKPj4gQEAgLTAsMCArMSwzNDUgQEAKPj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiAoR1BMLTIuMCsgT1IgTUlUKQo+PiArLyoKPj4gKyAqIENvcHlyaWdodCAoYykgMjAxOSBB bWxvZ2ljLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCj4+ICsgKiBBdXRob3I6IEppYW4gSHUg PGppYW4uaHVAYW1sb2dpYy5jb20+Cj4+ICsgKi8KPj4gKwo+PiArI2luY2x1ZGUgPGxpbnV4L3Bs YXRmb3JtX2RldmljZS5oPgo+IAo+IEh1bSAuLi4gbG9va3MgbGlrZSBzb21lIHRoaW5ncyBhcmUg bWlzc2luZyBoZXJlCj4gCj4gI2luY2x1ZGUgPGxpbnV4L29mX2RldmljZS5oPgo+ICNpbmNsdWRl IDxsaW51eC9jbGstcHJvdmlkZXIuaD4KPiAKPiA/CiMxClRoZXJlIGlzIDxsaW51eC9jbGstcHJv dmlkZXIuaD4gaW4gbWVzb24tZWVjbGsuaCBmaWxlLAoKYW5kIGZvciBBMSBkcml2ZXIoYTEuYy9h MS1wbGwuYykgdGhlIGhlYWQgZmlsZSBpcyBub3QgcmVxdWllZC4KCiMyCkZvciBBMSBkcml2ZXIs IHRoZSBmaWxlICJsaW51eC9vZl9kZXZpY2UuaCIgaXMgbm90IHJlcXVpcmVkLgpJdCBpcyByZXF1 aXJlZCBieSBtZXNvbi1lZWNsay5jIGluIGZhY3QuCj4gCj4+ICsjaW5jbHVkZSAiY2xrLXBsbC5o Igo+PiArI2luY2x1ZGUgIm1lc29uLWVlY2xrLmgiCj4+ICsjaW5jbHVkZSAiYTEtcGxsLmgiCj4g Cj4gQWxwaGFudW1lcmljIG9yZGVyIHBsZWFzZQo+Ck9LLCBJIHdpbGwgY2hhbmdlIGl0IGluIHRo ZSBuZXh0IHZlcnNpb24uCgo+PiArCj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZml4 ZWRfcGxsX2RjbyA9IHsKPj4gKwkuZGF0YSA9ICYoc3RydWN0IG1lc29uX2Nsa19wbGxfZGF0YSl7 Cj4+ICsJCS5lbiA9IHsKPj4gKwkJCS5yZWdfb2ZmID0gQU5BQ1RSTF9GSVhQTExfQ1RSTDAsCj4+ ICsJCQkuc2hpZnQgICA9IDI4LAo+PiArCQkJLndpZHRoICAgPSAxLAo+PiArCQl9LAo+PiArCQku bSA9IHsKPj4gKwkJCS5yZWdfb2ZmID0gQU5BQ1RSTF9GSVhQTExfQ1RSTDAsCj4+ICsJCQkuc2hp ZnQgICA9IDAsCj4+ICsJCQkud2lkdGggICA9IDgsCj4+ICsJCX0sCj4+ICsJCS5uID0gewo+PiAr CQkJLnJlZ19vZmYgPSBBTkFDVFJMX0ZJWFBMTF9DVFJMMCwKPj4gKwkJCS5zaGlmdCAgID0gMTAs Cj4+ICsJCQkud2lkdGggICA9IDUsCj4+ICsJCX0sCj4+ICsJCS5mcmFjID0gewo+PiArCQkJLnJl Z19vZmYgPSBBTkFDVFJMX0ZJWFBMTF9DVFJMMSwKPj4gKwkJCS5zaGlmdCAgID0gMCwKPj4gKwkJ CS53aWR0aCAgID0gMTksCj4+ICsJCX0sCj4+ICsJCS5sID0gewo+PiArCQkJLnJlZ19vZmYgPSBB TkFDVFJMX0ZJWFBMTF9DVFJMMCwKPj4gKwkJCS5zaGlmdCAgID0gMzEsCj4+ICsJCQkud2lkdGgg ICA9IDEsCj4+ICsJCX0sCj4+ICsJCS5yc3QgPSB7Cj4+ICsJCQkucmVnX29mZiA9IEFOQUNUUkxf RklYUExMX0NUUkwwLAo+PiArCQkJLnNoaWZ0ICAgPSAyOSwKPj4gKwkJCS53aWR0aCAgID0gMSwK Pj4gKwkJfSwKPj4gKwl9LAo+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7 Cj4+ICsJCS5uYW1lID0gImZpeGVkX3BsbF9kY28iLAo+PiArCQkub3BzID0gJm1lc29uX2Nsa19w bGxfcm9fb3BzLAo+PiArCQkucGFyZW50X2RhdGEgPSAmKGNvbnN0IHN0cnVjdCBjbGtfcGFyZW50 X2RhdGEpewo+PiArCQkJLmZ3X25hbWUgPSAieHRhbF9maXhwbGwiLAo+PiArCQkJLm5hbWUgPSAi eHRhbF9maXhwbGwiLAo+PiArCQl9LAo+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+PiArCX0sCj4+ ICt9Owo+PiArCj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZml4ZWRfcGxsID0gewo+ PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+PiArCQkub2Zmc2V0 ID0gQU5BQ1RSTF9GSVhQTExfQ1RSTDAsCj4+ICsJCS5iaXRfaWR4ID0gMjAsCj4+ICsJfSwKPj4g KwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4gKwkJLm5hbWUgPSAiZml4 ZWRfcGxsIiwKPj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+PiArCQkucGFyZW50 X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+PiArCQkJJmExX2ZpeGVkX3BsbF9k Y28uaHcKPj4gKwkJfSwKPj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4gKwkJLyoKPj4gKwkJICog VGhpcyBjbG9jayBpcyBmY2xrX2RpdjIvMy80J3MgcGFyZW50LAo+PiArCQkgKiBIb3dldmVyLCBm Y2xrX2RpdjIvMy81IGZlZWRzIEFYSS9BUEIvRERSLgo+IAo+IGlzIGl0IGZjbGtfZGl2Mi8zLzQg b3IgZmNsa19kaXYyLzMvNSA/Cj4gCj4+ICsJCSAqIEl0IGlzIHJlcXVpcmVkIGJ5IHRoZSBwbGF0 Zm9ybSB0byBvcGVyYXRlIGNvcnJlY3RseS4KPj4gKwkJICogVW50aWwgdGhlIGZvbGxvd2luZyBj b25kaXRpb24gYXJlIG1ldCwgd2UgbmVlZCB0aGlzIGNsb2NrIHRvCj4+ICsJCSAqIGJlIG1hcmtl ZCBhcyBjcml0aWNhbDoKPj4gKwkJICogYSkgTWFyayB0aGUgY2xvY2sgdXNlZCBieSBhIGZpcm13 YXJlIHJlc291cmNlLCBpZiBwb3NzaWJsZQo+PiArCQkgKiBiKSBDQ0YgaGFzIGEgY2xvY2sgaGFu ZC1vZmYgbWVjaGFuaXNtIHRvIG1ha2UgdGhlIHN1cmUgdGhlCj4+ICsJCSAqICAgIGNsb2NrIHN0 YXlzIG9uIHVudGlsIHRoZSBwcm9wZXIgZHJpdmVyIGNvbWVzIGFsb25nCj4+ICsJCSAqLwo+IAo+ IERvbid0IGJsaW5kbHkgY29weS9wYXN0ZSBjb21tZW50cyBmcm9tIG90aGVyIGRyaXZlcnMuIFRo ZXJlIGlzIG5vIGRyaXZlcgo+IGZvciB0aGUgZGV2aWNlcyB5b3UgYXJlIG1lbnRpb25uaW5nIHNv IHRoZSBlbmQgb2YgdGhlIGNvbW1lbnQgaXMKPiBjb25mdXNpbmcuIFRoZSAzIGZpcnN0IGxpbmVz IHdlcmUgZW5vdWdoCj4gCk9LLCBJIHdpbGwgcmVtb3ZlIHRoZSBjb25mdXNpbmcgY29tbWVudHMK Cj4+ICsJCS5mbGFncyA9IENMS19JU19DUklUSUNBTCwKPiAKPj5Gcm9tIHlvdXIgY29tbWVudCwg SSB1bmRlcnN0YW5kIHRoYXQgc29tZSBjaGlsZCBhcmUgY3JpdGljYWwsIG5vdCB0aGlzCj4gcGFy dGljdWxhciAob3IgYXQgbGVhc3QsIG5vdCBkaXJlY3RseSkuIFNvIHRoaXMgY2FuIGJlIHJlbW92 ZWQgQUZBSUNUCj4gCj4gWW91IHNob3VsZCBldmVuIG5lZWQgQ0xLX0lHTk9SRV9VTlVTRUQgZm9y IHRoaXMgb25lIHNpbmNlIHRoZSBjbG9jayB3aWxsCj4gYWxyZWFkeSBiZSBlbmFibGVkIGJlZm9y ZSB0aGUgbGF0ZV9pbml0KCkga2lja3MgaW4KPiAKT0ssIEkgd2lsbCByZXBsYWNlIGl0IGFzIENM S19JR05PUkVfVU5VU0VELgo+PiArCX0sCj4+ICt9Owo+PiArCj4+ICtzdGF0aWMgY29uc3Qgc3Ry dWN0IHBsbF9tdWx0X3JhbmdlIGExX2hpZmlfcGxsX211bHRfcmFuZ2UgPSB7Cj4+ICsJLm1pbiA9 IDMyLAo+PiArCS5tYXggPSA2NCwKPj4gK307Cj4+ICsKPj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg cmVnX3NlcXVlbmNlIGExX2hpZmlfaW5pdF9yZWdzW10gPSB7Cj4+ICsJeyAucmVnID0gQU5BQ1RS TF9ISUZJUExMX0NUUkwxLCAuZGVmID0gMHgwMTgwMDAwMCB9LAo+PiArCXsgLnJlZyA9IEFOQUNU UkxfSElGSVBMTF9DVFJMMiwgLmRlZiA9IDB4MDAwMDExMDAgfSwKPj4gKwl7IC5yZWcgPSBBTkFD VFJMX0hJRklQTExfQ1RSTDMsIC5kZWYgPSAweDEwMGExMTAwIH0sCj4+ICsJeyAucmVnID0gQU5B Q1RSTF9ISUZJUExMX0NUUkw0LCAuZGVmID0gMHgwMDMwMjAwMCB9LAo+PiArCXsgLnJlZyA9IEFO QUNUUkxfSElGSVBMTF9DVFJMMCwgLmRlZiA9IDB4MDFmMTg0NDAgfSwKPj4gKwl7IC5yZWcgPSBB TkFDVFJMX0hJRklQTExfQ1RSTDAsIC5kZWYgPSAweDExZjE4NDQwLCAuZGVsYXlfdXMgPSAxMCB9 LAo+PiArCXsgLnJlZyA9IEFOQUNUUkxfSElGSVBMTF9DVFJMMCwgLmRlZiA9IDB4MTVmMTg0NDAs IC5kZWxheV91cyA9IDQwIH0sCj4+ICsJeyAucmVnID0gQU5BQ1RSTF9ISUZJUExMX0NUUkwyLCAu ZGVmID0gMHgwMDAwMTE0MCB9LAo+PiArCXsgLnJlZyA9IEFOQUNUUkxfSElGSVBMTF9DVFJMMiwg LmRlZiA9IDB4MDAwMDExMDAgfSwKPj4gK307Cj4+ICsKPj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3Jl Z21hcCBhMV9oaWZpX3BsbCA9IHsKPj4gKwkuZGF0YSA9ICYoc3RydWN0IG1lc29uX2Nsa19wbGxf ZGF0YSl7Cj4+ICsJCS5lbiA9IHsKPj4gKwkJCS5yZWdfb2ZmID0gQU5BQ1RSTF9ISUZJUExMX0NU UkwwLAo+PiArCQkJLnNoaWZ0ICAgPSAyOCwKPj4gKwkJCS53aWR0aCAgID0gMSwKPj4gKwkJfSwK Pj4gKwkJLm0gPSB7Cj4+ICsJCQkucmVnX29mZiA9IEFOQUNUUkxfSElGSVBMTF9DVFJMMCwKPj4g KwkJCS5zaGlmdCAgID0gMCwKPj4gKwkJCS53aWR0aCAgID0gOCwKPj4gKwkJfSwKPj4gKwkJLm4g PSB7Cj4+ICsJCQkucmVnX29mZiA9IEFOQUNUUkxfSElGSVBMTF9DVFJMMCwKPj4gKwkJCS5zaGlm dCAgID0gMTAsCj4+ICsJCQkud2lkdGggICA9IDUsCj4+ICsJCX0sCj4+ICsJCS5mcmFjID0gewo+ PiArCQkJLnJlZ19vZmYgPSBBTkFDVFJMX0hJRklQTExfQ1RSTDEsCj4+ICsJCQkuc2hpZnQgICA9 IDAsCj4+ICsJCQkud2lkdGggICA9IDE5LAo+PiArCQl9LAo+PiArCQkubCA9IHsKPj4gKwkJCS5y ZWdfb2ZmID0gQU5BQ1RSTF9ISUZJUExMX1NUUywKPj4gKwkJCS5zaGlmdCAgID0gMzEsCj4+ICsJ CQkud2lkdGggICA9IDEsCj4+ICsJCX0sCj4+ICsJCS5yYW5nZSA9ICZhMV9oaWZpX3BsbF9tdWx0 X3JhbmdlLAo+PiArCQkuaW5pdF9yZWdzID0gYTFfaGlmaV9pbml0X3JlZ3MsCj4+ICsJCS5pbml0 X2NvdW50ID0gQVJSQVlfU0laRShhMV9oaWZpX2luaXRfcmVncyksCj4+ICsJCS5zdHJpY3Rfc2Vx dWVuY2UgPSB0cnVlLAo+PiArCX0sCj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9k YXRhKXsKPj4gKwkJLm5hbWUgPSAiaGlmaV9wbGwiLAo+PiArCQkub3BzID0gJm1lc29uX2Nsa19w bGxfb3BzLAo+PiArCQkucGFyZW50X2RhdGEgPSAmKGNvbnN0IHN0cnVjdCBjbGtfcGFyZW50X2Rh dGEpewo+PiArCQkJLmZ3X25hbWUgPSAieHRhbF9maXhwbGwiLAo+PiArCQkJLm5hbWUgPSAieHRh bF9maXhwbGwiLAo+IAo+IEJvdGggc2hvdWxkIHByb3ZpZGVkIHdoZW4gYSBjb250cm9sbGVyIHRy YW5zaXRpb24gZnJvbSB0aGUgb2xkIHdheSBvZgo+IGRlc2NyaWJpbmcgcGFyZW50IHRvIHRoZSBu ZXcgd2F5LiBUaGlzIGlzIGEgbmV3IGNvbnRyb2xsZXIgc28gaXQgZG9lcwo+IG5vdCBhcHBseS4K SSBkbyBub3QgdW5kZXJzdGFuZCB3aHkgaXQgZG9lcyBub3QgYXBwbHksIGNvdWxkIHlvdSBleHBs YWluIG1vcmU/CgpUaGUgeHRhbF9maXhwbGwgY2xvY2sgaXMgcmVnaXN0ZXJlZCBpbiBhbm90aGVy IHBlcmlwaGVyYWwgZHJpdmVyLCBJZiBkbyAKbm90IGRlc3JpYmUgdGhlICJuYW1lIiBtZW1iZXIg aW4gcGFyZW50X2RhdGEsICJmd19uYW1lIiBkb2VzIG5vdCB3b3JrIApiZWNhdXNlIGl0IGhhcyBu b3QgYmVlbiByZWdpc3RlcmVkLiB0aGUgaGlmaV9wbGwgcGFyZW50IHdpbGwgYmUgbnVsbCBpbiAK L3N5cy9rZXJuZWwvZGVidWcvY2xrL2hpZmlfcGxsL2Nsa19wYXJlbnQuCgpISUZJIFBMTCB3aWxs IGJlIGEgb3JwaGFuIGNsb2NrLCBidXQgaXRzIHBhcmVudCBzaG91bGQgYmUgeHRhbF9maXhwbGwu CgpTbyBib3RoIG9mICJmd19uYW1lIiBvZiAibmFtZSIgc2hvdWxkIGJlIGRlc2NyaWJlZC4KCj4g Cj4gU2FtZSBmb3IgdGhlIG90aGVyIG9jY3VyZW5jZXMuCj4gCj4gQWxzbywgSSB0aGluayB5b3Ug bWVhbnQgeHRhbF9oaWZpcGxsClllcyxJIHdpbGwgY29ycmVjdCBpdC4KPiAKPj4gKwkJfSwKPj4g KwkJLm51bV9wYXJlbnRzID0gMSwKPj4gKwl9LAo+PiArfTsKPj4gKwo+PiArc3RhdGljIHN0cnVj dCBjbGtfZml4ZWRfZmFjdG9yIGExX2ZjbGtfZGl2Ml9kaXYgPSB7Cj4+ICsJLm11bHQgPSAxLAo+ PiArCS5kaXYgPSAyLAo+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+ ICsJCS5uYW1lID0gImZjbGtfZGl2Ml9kaXYiLAo+PiArCQkub3BzID0gJmNsa19maXhlZF9mYWN0 b3Jfb3BzLAo+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+ PiArCQkJJmExX2ZpeGVkX3BsbC5odwo+PiArCQl9LAo+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+ PiArCX0sCj4+ICt9Owo+PiArCj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZmNsa19k aXYyID0gewo+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+PiAr CQkub2Zmc2V0ID0gQU5BQ1RSTF9GSVhQTExfQ1RSTDAsCj4+ICsJCS5iaXRfaWR4ID0gMjEsCj4+ ICsJfSwKPj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+PiArCQkubmFt ZSA9ICJmY2xrX2RpdjIiLAo+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+ICsJ CS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+ICsJCQkmYTFfZmNs a19kaXYyX2Rpdi5odwo+PiArCQl9LAo+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+PiArCQkvKgo+ PiArCQkgKiBUaGlzIGNsb2NrIGlzIHVzZWQgYnkgRERSIGNsb2NrIGluIEJMMiBmaXJtd2FyZQo+ PiArCQkgKiBhbmQgaXMgcmVxdWlyZWQgYnkgdGhlIHBsYXRmb3JtIHRvIG9wZXJhdGUgY29ycmVj dGx5Lgo+PiArCQkgKiBVbnRpbCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbiBhcmUgbWV0LCB3ZSBu ZWVkIHRoaXMgY2xvY2sgdG8KPj4gKwkJICogYmUgbWFya2VkIGFzIGNyaXRpY2FsOgo+PiArCQkg KiBhKSBNYXJrIHRoZSBjbG9jayB1c2VkIGJ5IGEgZmlybXdhcmUgcmVzb3VyY2UsIGlmIHBvc3Np YmxlCj4+ICsJCSAqIGIpIENDRiBoYXMgYSBjbG9jayBoYW5kLW9mZiBtZWNoYW5pc20gdG8gbWFr ZSB0aGUgc3VyZSB0aGUKPj4gKwkJICogICAgY2xvY2sgc3RheXMgb24gdW50aWwgdGhlIHByb3Bl ciBkcml2ZXIgY29tZXMgYWxvbmcKPj4gKwkJICovCj4+ICsJCS5mbGFncyA9IENMS19JU19DUklU SUNBTCwKPj4gKwl9LAo+PiArfTsKPj4gKwo+PiArc3RhdGljIHN0cnVjdCBjbGtfZml4ZWRfZmFj dG9yIGExX2ZjbGtfZGl2M19kaXYgPSB7Cj4+ICsJLm11bHQgPSAxLAo+PiArCS5kaXYgPSAzLAo+ PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+ICsJCS5uYW1lID0gImZj bGtfZGl2M19kaXYiLAo+PiArCQkub3BzID0gJmNsa19maXhlZF9mYWN0b3Jfb3BzLAo+PiArCQku cGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+PiArCQkJJmExX2ZpeGVk X3BsbC5odwo+PiArCQl9LAo+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+PiArCX0sCj4+ICt9Owo+ PiArCj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZmNsa19kaXYzID0gewo+PiArCS5k YXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+PiArCQkub2Zmc2V0ID0gQU5B Q1RSTF9GSVhQTExfQ1RSTDAsCj4+ICsJCS5iaXRfaWR4ID0gMjIsCj4+ICsJfSwKPj4gKwkuaHcu aW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+PiArCQkubmFtZSA9ICJmY2xrX2RpdjMi LAo+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+ICsJCS5wYXJlbnRfaHdzID0g KGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+ICsJCQkmYTFfZmNsa19kaXYzX2Rpdi5odwo+ PiArCQl9LAo+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+PiArCQkvKgo+PiArCQkgKiBUaGlzIGNs b2NrIGlzIHVzZWQgYnkgQVBCIGJ1cyB3aGljaCBzZXR0ZWQgaW4gUm9tY29kZQo+PiArCQkgKiBh bmQgaXMgcmVxdWlyZWQgYnkgdGhlIHBsYXRmb3JtIHRvIG9wZXJhdGUgY29ycmVjdGx5Lgo+PiAr CQkgKiBVbnRpbCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbiBhcmUgbWV0LCB3ZSBuZWVkIHRoaXMg Y2xvY2sgdG8KPj4gKwkJICogYmUgbWFya2VkIGFzIGNyaXRpY2FsOgo+PiArCQkgKiBhKSBNYXJr IHRoZSBjbG9jayB1c2VkIGJ5IGEgZmlybXdhcmUgcmVzb3VyY2UsIGlmIHBvc3NpYmxlCj4+ICsJ CSAqIGIpIENDRiBoYXMgYSBjbG9jayBoYW5kLW9mZiBtZWNoYW5pc20gdG8gbWFrZSB0aGUgc3Vy ZSB0aGUKPj4gKwkJICogICAgY2xvY2sgc3RheXMgb24gdW50aWwgdGhlIHByb3BlciBkcml2ZXIg Y29tZXMgYWxvbmcKPj4gKwkJICovCj4+ICsJCS5mbGFncyA9IENMS19JU19DUklUSUNBTCwKPj4g Kwl9LAo+PiArfTsKPj4gKwo+PiArc3RhdGljIHN0cnVjdCBjbGtfZml4ZWRfZmFjdG9yIGExX2Zj bGtfZGl2NV9kaXYgPSB7Cj4+ICsJLm11bHQgPSAxLAo+PiArCS5kaXYgPSA1LAo+PiArCS5ody5p bml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+ICsJCS5uYW1lID0gImZjbGtfZGl2NV9k aXYiLAo+PiArCQkub3BzID0gJmNsa19maXhlZF9mYWN0b3Jfb3BzLAo+PiArCQkucGFyZW50X2h3 cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+PiArCQkJJmExX2ZpeGVkX3BsbC5odwo+ PiArCQl9LAo+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+PiArCX0sCj4+ICt9Owo+PiArCj4+ICtz dGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZmNsa19kaXY1ID0gewo+PiArCS5kYXRhID0gJihz dHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+PiArCQkub2Zmc2V0ID0gQU5BQ1RSTF9GSVhQ TExfQ1RSTDAsCj4+ICsJCS5iaXRfaWR4ID0gMjMsCj4+ICsJfSwKPj4gKwkuaHcuaW5pdCA9ICYo c3RydWN0IGNsa19pbml0X2RhdGEpewo+PiArCQkubmFtZSA9ICJmY2xrX2RpdjUiLAo+PiArCQku b3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0 cnVjdCBjbGtfaHcgKltdKSB7Cj4+ICsJCQkmYTFfZmNsa19kaXY1X2Rpdi5odwo+PiArCQl9LAo+ PiArCQkubnVtX3BhcmVudHMgPSAxLAo+PiArCQkvKgo+PiArCQkgKiBUaGlzIGNsb2NrIGlzIHVz ZWQgYnkgQVhJIGJ1cyB3aGljaCBzZXR0ZWQgaW4gUm9tY29kZQo+PiArCQkgKiBhbmQgaXMgcmVx dWlyZWQgYnkgdGhlIHBsYXRmb3JtIHRvIG9wZXJhdGUgY29ycmVjdGx5Lgo+PiArCQkgKiBVbnRp bCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbiBhcmUgbWV0LCB3ZSBuZWVkIHRoaXMgY2xvY2sgdG8K Pj4gKwkJICogYmUgbWFya2VkIGFzIGNyaXRpY2FsOgo+PiArCQkgKiBhKSBNYXJrIHRoZSBjbG9j ayB1c2VkIGJ5IGEgZmlybXdhcmUgcmVzb3VyY2UsIGlmIHBvc3NpYmxlCj4+ICsJCSAqIGIpIEND RiBoYXMgYSBjbG9jayBoYW5kLW9mZiBtZWNoYW5pc20gdG8gbWFrZSB0aGUgc3VyZSB0aGUKPj4g KwkJICogICAgY2xvY2sgc3RheXMgb24gdW50aWwgdGhlIHByb3BlciBkcml2ZXIgY29tZXMgYWxv bmcKPj4gKwkJICovCj4+ICsJCS5mbGFncyA9IENMS19JU19DUklUSUNBTCwKPj4gKwl9LAo+PiAr fTsKPj4gKwo+PiArc3RhdGljIHN0cnVjdCBjbGtfZml4ZWRfZmFjdG9yIGExX2ZjbGtfZGl2N19k aXYgPSB7Cj4+ICsJLm11bHQgPSAxLAo+PiArCS5kaXYgPSA3LAo+PiArCS5ody5pbml0ID0gJihz dHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+ICsJCS5uYW1lID0gImZjbGtfZGl2N19kaXYiLAo+PiAr CQkub3BzID0gJmNsa19maXhlZF9mYWN0b3Jfb3BzLAo+PiArCQkucGFyZW50X2h3cyA9IChjb25z dCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+PiArCQkJJmExX2ZpeGVkX3BsbC5odwo+PiArCQl9LAo+ PiArCQkubnVtX3BhcmVudHMgPSAxLAo+PiArCX0sCj4+ICt9Owo+PiArCj4+ICtzdGF0aWMgc3Ry dWN0IGNsa19yZWdtYXAgYTFfZmNsa19kaXY3ID0gewo+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xr X3JlZ21hcF9nYXRlX2RhdGEpewo+PiArCQkub2Zmc2V0ID0gQU5BQ1RSTF9GSVhQTExfQ1RSTDAs Cj4+ICsJCS5iaXRfaWR4ID0gMjQsCj4+ICsJfSwKPj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNs a19pbml0X2RhdGEpewo+PiArCQkubmFtZSA9ICJmY2xrX2RpdjciLAo+PiArCQkub3BzID0gJmNs a19yZWdtYXBfZ2F0ZV9vcHMsCj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtf aHcgKltdKSB7Cj4+ICsJCQkmYTFfZmNsa19kaXY3X2Rpdi5odwo+PiArCQl9LAo+PiArCQkubnVt X3BhcmVudHMgPSAxLAo+PiArCX0sCj4+ICt9Owo+PiArCj4+ICsvKiBBcnJheSBvZiBhbGwgY2xv Y2tzIHByb3ZpZGVkIGJ5IHRoaXMgcHJvdmlkZXIgKi8KPj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX2h3 X29uZWNlbGxfZGF0YSBhMV9wbGxfaHdfb25lY2VsbF9kYXRhID0gewo+PiArCS5od3MgPSB7Cj4+ ICsJCVtDTEtJRF9GSVhFRF9QTExfRENPXQkJPSAmYTFfZml4ZWRfcGxsX2Rjby5odywKPj4gKwkJ W0NMS0lEX0ZJWEVEX1BMTF0JCT0gJmExX2ZpeGVkX3BsbC5odywKPj4gKwkJW0NMS0lEX0hJRklf UExMXQkJPSAmYTFfaGlmaV9wbGwuaHcsCj4+ICsJCVtDTEtJRF9GQ0xLX0RJVjJdCQk9ICZhMV9m Y2xrX2RpdjIuaHcsCj4+ICsJCVtDTEtJRF9GQ0xLX0RJVjNdCQk9ICZhMV9mY2xrX2RpdjMuaHcs Cj4+ICsJCVtDTEtJRF9GQ0xLX0RJVjVdCQk9ICZhMV9mY2xrX2RpdjUuaHcsCj4+ICsJCVtDTEtJ RF9GQ0xLX0RJVjddCQk9ICZhMV9mY2xrX2RpdjcuaHcsCj4+ICsJCVtDTEtJRF9GQ0xLX0RJVjJf RElWXQkJPSAmYTFfZmNsa19kaXYyX2Rpdi5odywKPj4gKwkJW0NMS0lEX0ZDTEtfRElWM19ESVZd CQk9ICZhMV9mY2xrX2RpdjNfZGl2Lmh3LAo+PiArCQlbQ0xLSURfRkNMS19ESVY1X0RJVl0JCT0g JmExX2ZjbGtfZGl2NV9kaXYuaHcsCj4+ICsJCVtDTEtJRF9GQ0xLX0RJVjdfRElWXQkJPSAmYTFf ZmNsa19kaXY3X2Rpdi5odywKPj4gKwkJW05SX1BMTF9DTEtTXQkJCT0gTlVMTCwKPj4gKwl9LAo+ PiArCS5udW0gPSBOUl9QTExfQ0xLUywKPj4gK307Cj4+ICsKPj4gK3N0YXRpYyBzdHJ1Y3QgY2xr X3JlZ21hcCAqY29uc3QgYTFfcGxsX3JlZ21hcHNbXSA9IHsKPj4gKwkmYTFfZml4ZWRfcGxsX2Rj bywKPj4gKwkmYTFfZml4ZWRfcGxsLAo+PiArCSZhMV9oaWZpX3BsbCwKPj4gKwkmYTFfZmNsa19k aXYyLAo+PiArCSZhMV9mY2xrX2RpdjMsCj4+ICsJJmExX2ZjbGtfZGl2NSwKPj4gKwkmYTFfZmNs a19kaXY3LAo+PiArfTsKPj4gKwo+PiArc3RhdGljIGludCBtZXNvbl9hMV9wbGxfcHJvYmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPj4gK3sKPj4gKwlpbnQgcmV0Owo+PiArCj4+ICsJ cmV0ID0gbWVzb25fZWVjbGtjX3Byb2JlKHBkZXYpOwo+PiArCWlmIChyZXQpCj4+ICsJCXJldHVy biByZXQ7Cj4+ICsKPj4gKwlyZXR1cm4gMDsKPj4gK30KPiAKPiBUaGlzIGZ1bmN0aW9uIGlzIHVz ZWxlc3MuCj4gCk9LLCBJIHdpbGwgdXNlIG1lc29uX2VlY2xrY19wcm9iZSBkZXJlY3RseS4KPj4g Kwo+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBtZXNvbl9lZWNsa2NfZGF0YSBhMV9wbGxfZGF0YSA9 IHsKPj4gKwkJLnJlZ21hcF9jbGtzID0gYTFfcGxsX3JlZ21hcHMsCj4+ICsJCS5yZWdtYXBfY2xr X251bSA9IEFSUkFZX1NJWkUoYTFfcGxsX3JlZ21hcHMpLAo+PiArCQkuaHdfb25lY2VsbF9kYXRh ID0gJmExX3BsbF9od19vbmVjZWxsX2RhdGEsCj4+ICt9Owo+PiArc3RhdGljIGNvbnN0IHN0cnVj dCBvZl9kZXZpY2VfaWQgY2xrY19tYXRjaF90YWJsZVtdID0gewo+PiArCXsKPj4gKwkJLmNvbXBh dGlibGUgPSAiYW1sb2dpYyxhMS1wbGwtY2xrYyIsCj4+ICsJCS5kYXRhID0gJmExX3BsbF9kYXRh Cj4+ICsJfSwKPj4gKwl7IC8qIHNlbnRpbmVsICovIH0KPiAKPiBOaXRwaWNrOiBkb24ndCBuZWVk IHRvIHdyaXRlIHRoaXMsIGp1c3Qgd3JpdGUgdGhlIGxpbmUgbGlrZSB0aGlzCj4gCk9LLCByZW1v dmUgaXQuCj4gJyB9LCB7fScKPiAKPj4gK307Cj4+ICsKPj4gK3N0YXRpYyBzdHJ1Y3QgcGxhdGZv cm1fZHJpdmVyIGExX2RyaXZlciA9IHsKPj4gKwkucHJvYmUJCT0gbWVzb25fYTFfcGxsX3Byb2Jl LAo+PiArCS5kcml2ZXIJCT0gewo+PiArCQkubmFtZQk9ICJhMS1wbGwtY2xrYyIsCj4+ICsJCS5v Zl9tYXRjaF90YWJsZSA9IGNsa2NfbWF0Y2hfdGFibGUsCj4+ICsJfSwKPj4gK307Cj4+ICsKPj4g K2J1aWx0aW5fcGxhdGZvcm1fZHJpdmVyKGExX2RyaXZlcik7Cj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2Nsay9tZXNvbi9hMS1wbGwuaCBiL2RyaXZlcnMvY2xrL21lc29uL2ExLXBsbC5oCj4+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAuLjk5ZWUyYTkKPj4gLS0tIC9kZXYv bnVsbAo+PiArKysgYi9kcml2ZXJzL2Nsay9tZXNvbi9hMS1wbGwuaAo+PiBAQCAtMCwwICsxLDU2 IEBACj4+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogKEdQTC0yLjArIE9SIE1JVCkgKi8K Pj4gKy8qCj4+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTkgQW1sb2dpYywgSW5jLiBBbGwgcmlnaHRz IHJlc2VydmVkLgo+PiArICovCj4+ICsKPj4gKyNpZm5kZWYgX19BMV9QTExfSAo+PiArI2RlZmlu ZSBfX0ExX1BMTF9ICj4+ICsKPj4gKy8qIFBMTCByZWdpc3RlciBvZmZzZXQgKi8KPj4gKyNkZWZp bmUgQU5BQ1RSTF9GSVhQTExfQ1RSTDAJCTB4ODAKPj4gKyNkZWZpbmUgQU5BQ1RSTF9GSVhQTExf Q1RSTDEJCTB4ODQKPj4gKyNkZWZpbmUgQU5BQ1RSTF9GSVhQTExfQ1RSTDIJCTB4ODgKPj4gKyNk ZWZpbmUgQU5BQ1RSTF9GSVhQTExfQ1RSTDMJCTB4OGMKPj4gKyNkZWZpbmUgQU5BQ1RSTF9GSVhQ TExfQ1RSTDQJCTB4OTAKPj4gKyNkZWZpbmUgQU5BQ1RSTF9GSVhQTExfU1RTCQkweDk0Cj4+ICsj ZGVmaW5lIEFOQUNUUkxfU1lTUExMX0NUUkwwCQkweDEwMAo+PiArI2RlZmluZSBBTkFDVFJMX1NZ U1BMTF9DVFJMMQkJMHgxMDQKPj4gKyNkZWZpbmUgQU5BQ1RSTF9TWVNQTExfQ1RSTDIJCTB4MTA4 Cj4+ICsjZGVmaW5lIEFOQUNUUkxfU1lTUExMX0NUUkwzCQkweDEwYwo+PiArI2RlZmluZSBBTkFD VFJMX1NZU1BMTF9DVFJMNAkJMHgxMTAKPj4gKyNkZWZpbmUgQU5BQ1RSTF9TWVNQTExfU1RTCQkw eDExNAo+PiArI2RlZmluZSBBTkFDVFJMX0hJRklQTExfQ1RSTDAJCTB4MTQwCj4+ICsjZGVmaW5l IEFOQUNUUkxfSElGSVBMTF9DVFJMMQkJMHgxNDQKPj4gKyNkZWZpbmUgQU5BQ1RSTF9ISUZJUExM X0NUUkwyCQkweDE0OAo+PiArI2RlZmluZSBBTkFDVFJMX0hJRklQTExfQ1RSTDMJCTB4MTRjCj4+ ICsjZGVmaW5lIEFOQUNUUkxfSElGSVBMTF9DVFJMNAkJMHgxNTAKPj4gKyNkZWZpbmUgQU5BQ1RS TF9ISUZJUExMX1NUUwkJMHgxNTQKPj4gKyNkZWZpbmUgQU5BQ1RSTF9BVURERFNfQ1RSTDAJCTB4 MTgwCj4+ICsjZGVmaW5lIEFOQUNUUkxfQVVERERTX0NUUkwxCQkweDE4NAo+PiArI2RlZmluZSBB TkFDVFJMX0FVREREU19DVFJMMgkJMHgxODgKPj4gKyNkZWZpbmUgQU5BQ1RSTF9BVURERFNfQ1RS TDMJCTB4MThjCj4+ICsjZGVmaW5lIEFOQUNUUkxfQVVERERTX0NUUkw0CQkweDE5MAo+PiArI2Rl ZmluZSBBTkFDVFJMX0FVREREU19TVFMJCTB4MTk0Cj4+ICsjZGVmaW5lIEFOQUNUUkxfTUlTQ1RP UF9DVFJMMAkJMHgxYzAKPj4gKyNkZWZpbmUgQU5BQ1RSTF9QT1JfQ05UTAkJMHgyMDgKPj4gKwo+ PiArLyoKPj4gKyAqIENMS0lEIGluZGV4IHZhbHVlcwo+PiArICoKPj4gKyAqIFRoZXNlIGluZGlj ZXMgYXJlIGVudGlyZWx5IGNvbnRyaXZlZCBhbmQgZG8gbm90IG1hcCBvbnRvIHRoZSBoYXJkd2Fy ZS4KPj4gKyAqIEl0IGhhcyBub3cgYmVlbiBkZWNpZGVkIHRvIGV4cG9zZSBldmVyeXRoaW5nIGJ5 IGRlZmF1bHQgaW4gdGhlIERUIGhlYWRlcjoKPj4gKyAqIGluY2x1ZGUvZHQtYmluZGluZ3MvY2xv Y2svYTEtcGxsLWNsa2MuaC4gT25seSB0aGUgY2xvY2tzIGlkcyB3ZSBkb24ndCB3YW50Cj4+ICsg KiB0byBleHBvc2UsIHN1Y2ggYXMgdGhlIGludGVybmFsIG11eGVzIGFuZCBkaXZpZGVycyBvZiBj b21wb3NpdGUgY2xvY2tzLAo+PiArICogd2lsbCByZW1haW4gZGVmaW5lZCBoZXJlLgo+PiArICov Cj4+ICsjZGVmaW5lIENMS0lEX0ZJWEVEX1BMTF9EQ08JCTAKPj4gKyNkZWZpbmUgQ0xLSURfRkNM S19ESVYyX0RJVgkJMgo+PiArI2RlZmluZSBDTEtJRF9GQ0xLX0RJVjNfRElWCQkzCj4+ICsjZGVm aW5lIENMS0lEX0ZDTEtfRElWNV9ESVYJCTQKPj4gKyNkZWZpbmUgQ0xLSURfRkNMS19ESVY3X0RJ VgkJNQo+PiArI2RlZmluZSBOUl9QTExfQ0xLUwkJCTExCj4+ICsKPj4gKy8qIGluY2x1ZGUgdGhl IENMS0lEcyB0aGF0IGhhdmUgYmVlbiBtYWRlIHBhcnQgb2YgdGhlIERUIGJpbmRpbmcgKi8KPj4g KyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9jbG9jay9hMS1wbGwtY2xrYy5oPgo+PiArCj4+ICsjZW5k aWYgLyogX19BMV9QTExfSCAqLwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsvbWVzb24vYTEu YyBiL2RyaXZlcnMvY2xrL21lc29uL2ExLmMKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5k ZXggMDAwMDAwMC4uODZhNDczMwo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2RyaXZlcnMvY2xr L21lc29uL2ExLmMKPj4gQEAgLTAsMCArMSwyMjY0IEBACj4+ICsvLyBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogKEdQTC0yLjArIE9SIE1JVCkKPj4gKy8qCj4+ICsgKiBDb3B5cmlnaHQgKGMpIDIw MTkgQW1sb2dpYywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgo+PiArICogQXV0aG9yOiBKaWFu IEh1IDxqaWFuLmh1QGFtbG9naWMuY29tPgo+PiArICovCj4+ICsKPj4gKyNpbmNsdWRlIDxsaW51 eC9wbGF0Zm9ybV9kZXZpY2UuaD4KPj4gKyNpbmNsdWRlICJjbGstcGxsLmgiCj4+ICsjaW5jbHVk ZSAiY2xrLWR1YWxkaXYuaCIKPj4gKyNpbmNsdWRlICJtZXNvbi1lZWNsay5oIgo+PiArI2luY2x1 ZGUgImExLmgiCj4gCj4gU2FtZSBhcyBhYm92ZQpPSywgSSB3aWxsIGNoYW5nZSB0aGUgb3JkZXIu CkluIGZhY3QsIHRoZSBjbGstcGxsLmggaXMgbm90IHVzZWQgaW4gdGhlIGN1cnJlbnQgZHJpdmVy LgpJIHdpbGwgcmVtb3ZlIGl0Lgo+IAo+PiArCj4+ICsvKiBQTExzIGNsb2NrIGluIGdhdGVzLCBp dHMgcGFyZW50IGlzIHh0YWwgKi8KPj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV94dGFs X2Nsa3RyZWUgPSB7Cj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7 Cj4+ICsJCS5vZmZzZXQgPSBTWVNfT1NDSU5fQ1RSTCwKPj4gKwkJLmJpdF9pZHggPSAwLAo+PiAr CX0sCj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+ICsJCS5uYW1l ID0gInh0YWxfY2xrdHJlZSIsCj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX3JvX29wcywK Pj4gKwkJLnBhcmVudF9kYXRhID0gJihjb25zdCBzdHJ1Y3QgY2xrX3BhcmVudF9kYXRhKSB7Cj4+ ICsJCQkuZndfbmFtZSA9ICJ4dGFsIiwKPj4gKwkJfSwKPj4gKwkJLm51bV9wYXJlbnRzID0gMSwK Pj4gKwkJLyoKPj4gKwkJICogc3dpdGNoIGZvciB4dGFsIGNsb2NrCj4+ICsJCSAqIExpbnV4IHNo b3VsZCBub3QgY2hhbmdlIGl0IGF0IHJ1bnRpbWUKPj4gKwkJICovCj4gCj4gQ29tbWVudCBub3Qg dXNlZnVsOiBpdCB1c2VzIHRoZSBSbyBvcHMKPiAKT0ssICByZW1vdmUgdGhlIGNvbW1lbnRzCj4+ ICsJfSwKPj4gK307Cj4+ICsKPj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV94dGFsX2Zp eHBsbCA9IHsKPj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4g KwkJLm9mZnNldCA9IFNZU19PU0NJTl9DVFJMLAo+PiArCQkuYml0X2lkeCA9IDEsCj4+ICsJfSwK Pj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4gKwkJLm5hbWUgPSAi eHRhbF9maXhwbGwiLAo+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+ICsJCS5w YXJlbnRfZGF0YSA9ICYoY29uc3Qgc3RydWN0IGNsa19wYXJlbnRfZGF0YSkgewo+PiArCQkJLmZ3 X25hbWUgPSAieHRhbCIsCj4+ICsJCX0sCj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+ICsJCS5m bGFncyA9IENMS19JU19DUklUSUNBTCwKPj4gKwkJLyoKPj4gKwkJICogaXQgZmVlZHMgRERSLEFY SSxBUEIgYnVzCj4+ICsJCSAqIExpbnV4IHNob3VsZCBub3QgY2hhbmdlIGl0IGF0IHJ1bnRpbWUK Pj4gKwkJICovCj4gCj4gQWdhaW4sIHRoZSBjaGlsZCBhcmUgY3JpdGljYWwsIG5vdCBkaXJlY3Rs eSB0aGlzIGNsb2NrIGZyb20geW91cgo+IGNvbW1lbnQuCj4gCj4gUmVtb3ZlIENSSVRJQ0FMLCBw dXQgUk8gaXMgbGludXggaXMgbm90IHN1cHBvc2VkIHRvIHRvdWNoIGl0Lgo+IApyZXBhY2UgYXMg Y2xrX3JlZ21hcF9nYXRlX3JvX29wcwo+PiArCX0sCj4+ICt9Owo+PiArCgpbIC4uLiBdCgo+PiAr Cj4+ICsvKiBkc3AgYSBjbGsgKi8KPj4gK3N0YXRpYyB1MzIgbXV4X3RhYmxlX2RzcF9hYltdID0g eyAwLCAxLCAyLCAzLCA0LCA3IH07Cj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGNsa19wYXJlbnRf ZGF0YSBkc3BfYWJfY2xrX3BhcmVudF9kYXRhW10gPSB7Cj4+ICsJeyAuZndfbmFtZSA9ICJ4dGFs IiwgfSwKPj4gKwl7IC5md19uYW1lID0gImZjbGtfZGl2MiIsIH0sCj4+ICsJeyAuZndfbmFtZSA9 ICJmY2xrX2RpdjMiLCB9LAo+PiArCXsgLmZ3X25hbWUgPSAiZmNsa19kaXY1IiwgfSwKPj4gKwl7 IC5md19uYW1lID0gImhpZmlfcGxsIiwgfSwKPj4gKwl7IC5odyA9ICZhMV9ydGNfY2xrLmh3IH0s Cj4+ICt9Owo+PiArCj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNwYV9hX3NlbCA9 IHsKPj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfbXV4X2RhdGEpewo+PiArCQkub2Zm c2V0ID0gRFNQQV9DTEtfQ1RSTDAsCj4+ICsJCS5tYXNrID0gMHg3LAo+PiArCQkuc2hpZnQgPSAx MCwKPj4gKwkJLnRhYmxlID0gbXV4X3RhYmxlX2RzcF9hYiwKPj4gKwl9LAo+PiArCS5ody5pbml0 ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+ICsJCS5uYW1lID0gImRzcGFfYV9zZWwiLAo+ PiArCQkub3BzID0gJmNsa19yZWdtYXBfbXV4X29wcywKPj4gKwkJLnBhcmVudF9kYXRhID0gZHNw X2FiX2Nsa19wYXJlbnRfZGF0YSwKPj4gKwkJLm51bV9wYXJlbnRzID0gQVJSQVlfU0laRShkc3Bf YWJfY2xrX3BhcmVudF9kYXRhKSwKPiAKPiAuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5UID8K WWVzLCBJIG1pc3MgdGhlIGZsYWcuCj4gCj4+ICsJfSwKPj4gK307Cj4+ICsKPj4gK3N0YXRpYyBz dHJ1Y3QgY2xrX3JlZ21hcCBhMV9kc3BhX2FfZGl2ID0gewo+PiArCS5kYXRhID0gJihzdHJ1Y3Qg Y2xrX3JlZ21hcF9kaXZfZGF0YSl7Cj4+ICsJCS5vZmZzZXQgPSBEU1BBX0NMS19DVFJMMCwKPj4g KwkJLnNoaWZ0ID0gMCwKPj4gKwkJLndpZHRoID0gMTAsCj4+ICsJfSwKPj4gKwkuaHcuaW5pdCA9 ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+PiArCQkubmFtZSA9ICJkc3BhX2FfZGl2IiwKPj4g KwkJLm9wcyA9ICZjbGtfcmVnbWFwX2RpdmlkZXJfb3BzLAo+PiArCQkucGFyZW50X2h3cyA9IChj b25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+PiArCQkJJmExX2RzcGFfYV9zZWwuaHcKPj4gKwkJ fSwKPj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BB UkVOVCwKPj4gKwl9LAo+PiArfTsKPj4gKwo+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGEx X2RzcGFfYSA9IHsKPj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsK Pj4gKwkJLm9mZnNldCA9IERTUEFfQ0xLX0NUUkwwLAo+PiArCQkuYml0X2lkeCA9IDEzLAo+PiAr CX0sCj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+ICsJCS5uYW1l ID0gImRzcGFfYSIsCj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4gKwkJLnBh cmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4gKwkJCSZhMV9kc3BhX2Ff ZGl2Lmh3Cj4+ICsJCX0sCj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+ICsJCS5mbGFncyA9IENM S19TRVRfUkFURV9QQVJFTlQsCj4+ICsJfSwKPj4gK307Cj4+ICsKPj4gK3N0YXRpYyBzdHJ1Y3Qg Y2xrX3JlZ21hcCBhMV9kc3BhX2Jfc2VsID0gewo+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3Jl Z21hcF9tdXhfZGF0YSl7Cj4+ICsJCS5vZmZzZXQgPSBEU1BBX0NMS19DVFJMMCwKPj4gKwkJLm1h c2sgPSAweDcsCj4+ICsJCS5zaGlmdCA9IDI2LAo+PiArCQkudGFibGUgPSBtdXhfdGFibGVfZHNw X2FiLAo+PiArCX0sCj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4g KwkJLm5hbWUgPSAiZHNwYV9iX3NlbCIsCj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3Bz LAo+PiArCQkucGFyZW50X2RhdGEgPSBkc3BfYWJfY2xrX3BhcmVudF9kYXRhLAo+PiArCQkubnVt X3BhcmVudHMgPSBBUlJBWV9TSVpFKGRzcF9hYl9jbGtfcGFyZW50X2RhdGEpLAo+IAo+IC5mbGFn cyA9IENMS19TRVRfUkFURV9QQVJFTlQgPwo+IApZZXMsIEkgd2lsbCBhZGQgaXQuCj4+ICsJfSwK Pj4gK307Cj4+ICsKPj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kc3BhX2JfZGl2ID0g ewo+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9kaXZfZGF0YSl7Cj4+ICsJCS5vZmZz ZXQgPSBEU1BBX0NMS19DVFJMMCwKPj4gKwkJLnNoaWZ0ID0gMTYsCj4+ICsJCS53aWR0aCA9IDEw LAo+PiArCX0sCj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4gKwkJ Lm5hbWUgPSAiZHNwYV9iX2RpdiIsCj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9kaXZpZGVyX29w cywKPj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4gKwkJ CSZhMV9kc3BhX2Jfc2VsLmh3Cj4+ICsJCX0sCj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+ICsJ CS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQsCj4+ICsJfSwKPj4gK307Cj4+ICsKPj4gK3N0 YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kc3BhX2IgPSB7Cj4+ICsJLmRhdGEgPSAmKHN0cnVj dCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+ICsJCS5vZmZzZXQgPSBEU1BBX0NMS19DVFJMMCwK Pj4gKwkJLmJpdF9pZHggPSAyOSwKPj4gKwl9LAo+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xr X2luaXRfZGF0YSkgewo+PiArCQkubmFtZSA9ICJkc3BhX2IiLAo+PiArCQkub3BzID0gJmNsa19y ZWdtYXBfZ2F0ZV9vcHMsCj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcg KltdKSB7Cj4+ICsJCQkmYTFfZHNwYV9iX2Rpdi5odwo+PiArCQl9LAo+PiArCQkubnVtX3BhcmVu dHMgPSAxLAo+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+PiArCX0sCj4+ICt9 Owo+PiArCj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNwYV9zZWwgPSB7Cj4+ICsJ LmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX211eF9kYXRhKXsKPj4gKwkJLm9mZnNldCA9IERT UEFfQ0xLX0NUUkwwLAo+PiArCQkubWFzayA9IDB4MSwKPj4gKwkJLnNoaWZ0ID0gMTUsCj4+ICsJ fSwKPj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+PiArCQkubmFtZSA9 ICJkc3BhX3NlbCIsCj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+PiArCQkucGFy ZW50X2RhdGEgPSAoY29uc3Qgc3RydWN0IGNsa19wYXJlbnRfZGF0YSBbXSkgewo+PiArCQkJeyAu aHcgPSAmYTFfZHNwYV9hLmh3IH0sCj4+ICsJCQl7IC5odyA9ICZhMV9kc3BhX2IuaHcgfSwKPj4g KwkJfSwKPj4gKwkJLm51bV9wYXJlbnRzID0gMiwKPj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRF X1BBUkVOVCwKPj4gKwl9LAo+PiArfTsKPj4gKwo+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFw IGExX2RzcGFfZW5fZHNwYSA9IHsKPj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0 ZV9kYXRhKXsKPj4gKwkJLm9mZnNldCA9IERTUEFfQ0xLX0VOLAo+PiArCQkuYml0X2lkeCA9IDEs Cj4+ICsJfSwKPj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4gKwkJ Lm5hbWUgPSAiZHNwYV9lbl9kc3BhIiwKPj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3Bz LAo+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+PiArCQkJ JmExX2RzcGFfc2VsLmh3Cj4+ICsJCX0sCj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+ICsJCS5m bGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQgfCBDTEtfSUdOT1JFX1VOVVNFRCwKPiAKPiBXaHkg ZG8geW91IG5lZWQgQ0xLX0lHTk9SRV9VTlVTRUQgPwo+IApJIHNob3VsZCByZW1vdmUgaXQKPj4g Kwl9LAo+PiArfTsKPj4gKwo+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2RzcGFfZW5f bmljID0gewo+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+PiAr CQkub2Zmc2V0ID0gRFNQQV9DTEtfRU4sCj4+ICsJCS5iaXRfaWR4ID0gMCwKPj4gKwl9LAo+PiAr CS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+PiArCQkubmFtZSA9ICJkc3Bh X2VuX25pYyIsCj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4gKwkJLnBhcmVu dF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4gKwkJCSZhMV9kc3BhX3NlbC5o dwo+PiArCQl9LAo+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+PiArCQkuZmxhZ3MgPSBDTEtfU0VU X1JBVEVfUEFSRU5UIHwgQ0xLX0lHTk9SRV9VTlVTRUQsCj4gCj4gV2h5IGRvIHlvdSBuZWVkIENM S19JR05PUkVfVU5VU0VEID8KPiAKSSBzaG91bGQgcmVtb3ZlIGl0Cj4+ICsJfSwKPj4gK307Cj4+ ICsKPiAKPiBTYW1lIHF1ZXN0aW9uIGFuZCByZW1hcmtzIGFwcGxpZXMgdG8gRFNQIEIKPiAKZ290 IGl0Cj4+ICsvKiBkc3AgYiBjbGsgKi8KPj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9k c3BiX2Ffc2VsID0gewo+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7 Cj4+ICsJCS5vZmZzZXQgPSBEU1BCX0NMS19DVFJMMCwKPj4gKwkJLm1hc2sgPSAweDcsCj4+ICsJ CS5zaGlmdCA9IDEwLAo+PiArCQkudGFibGUgPSBtdXhfdGFibGVfZHNwX2FiLAo+PiArCX0sCj4+ ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4gKwkJLm5hbWUgPSAiZHNw Yl9hX3NlbCIsCj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+PiArCQkucGFyZW50 X2RhdGEgPSBkc3BfYWJfY2xrX3BhcmVudF9kYXRhLAo+PiArCQkubnVtX3BhcmVudHMgPSBBUlJB WV9TSVpFKGRzcF9hYl9jbGtfcGFyZW50X2RhdGEpLAo+PiArCX0sCj4+ICt9Owo+PiArCj4+ICtz dGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNwYl9hX2RpdiA9IHsKPj4gKwkuZGF0YSA9ICYo c3RydWN0IGNsa19yZWdtYXBfZGl2X2RhdGEpewo+PiArCQkub2Zmc2V0ID0gRFNQQl9DTEtfQ1RS TDAsCj4+ICsJCS5zaGlmdCA9IDAsCj4+ICsJCS53aWR0aCA9IDEwLAo+PiArCX0sCj4+ICsJLmh3 LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4gKwkJLm5hbWUgPSAiZHNwYl9hX2Rp diIsCj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9kaXZpZGVyX29wcywKPj4gKwkJLnBhcmVudF9o d3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4gKwkJCSZhMV9kc3BiX2Ffc2VsLmh3 Cj4+ICsJCX0sCj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+ICsJCS5mbGFncyA9IENMS19TRVRf UkFURV9QQVJFTlQsCj4+ICsJfSwKPj4gK307Cj4+ICsKPj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3Jl Z21hcCBhMV9kc3BiX2EgPSB7Cj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVf ZGF0YSl7Cj4+ICsJCS5vZmZzZXQgPSBEU1BCX0NMS19DVFJMMCwKPj4gKwkJLmJpdF9pZHggPSAx MywKPj4gKwl9LAo+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+PiAr CQkubmFtZSA9ICJkc3BiX2EiLAo+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+ ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+ICsJCQkmYTFf ZHNwYl9hX2Rpdi5odwo+PiArCQl9LAo+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+PiArCQkuZmxh Z3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5UIHwgQ0xLX0lHTk9SRV9VTlVTRUQsCj4+ICsJfSwKPj4g K307Cj4+ICsKPj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kc3BiX2Jfc2VsID0gewo+ PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7Cj4+ICsJCS5vZmZzZXQg PSBEU1BCX0NMS19DVFJMMCwKPj4gKwkJLm1hc2sgPSAweDcsCj4+ICsJCS5zaGlmdCA9IDI2LAo+ PiArCQkudGFibGUgPSBtdXhfdGFibGVfZHNwX2FiLAo+PiArCX0sCj4+ICsJLmh3LmluaXQgPSAm KHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4gKwkJLm5hbWUgPSAiZHNwYl9iX3NlbCIsCj4+ICsJ CS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+PiArCQkucGFyZW50X2RhdGEgPSBkc3BfYWJf Y2xrX3BhcmVudF9kYXRhLAo+PiArCQkubnVtX3BhcmVudHMgPSBBUlJBWV9TSVpFKGRzcF9hYl9j bGtfcGFyZW50X2RhdGEpLAo+PiArCX0sCj4+ICt9Owo+PiArCj4+ICtzdGF0aWMgc3RydWN0IGNs a19yZWdtYXAgYTFfZHNwYl9iX2RpdiA9IHsKPj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdt YXBfZGl2X2RhdGEpewo+PiArCQkub2Zmc2V0ID0gRFNQQl9DTEtfQ1RSTDAsCj4+ICsJCS5zaGlm dCA9IDE2LAo+PiArCQkud2lkdGggPSAxMCwKPj4gKwl9LAo+PiArCS5ody5pbml0ID0gJihzdHJ1 Y3QgY2xrX2luaXRfZGF0YSl7Cj4+ICsJCS5uYW1lID0gImRzcGJfYl9kaXYiLAo+PiArCQkub3Bz ID0gJmNsa19yZWdtYXBfZGl2aWRlcl9vcHMsCj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0 cnVjdCBjbGtfaHcgKltdKSB7Cj4+ICsJCQkmYTFfZHNwYl9iX3NlbC5odwo+PiArCQl9LAo+PiAr CQkubnVtX3BhcmVudHMgPSAxLAo+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+ PiArCX0sCj4+ICt9Owo+PiArCj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNwYl9i ID0gewo+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+PiArCQku b2Zmc2V0ID0gRFNQQl9DTEtfQ1RSTDAsCj4+ICsJCS5iaXRfaWR4ID0gMjksCj4+ICsJfSwKPj4g KwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4gKwkJLm5hbWUgPSAiZHNw Yl9iIiwKPj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+PiArCQkucGFyZW50X2h3 cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+PiArCQkJJmExX2RzcGJfYl9kaXYuaHcK Pj4gKwkJfSwKPj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9S QVRFX1BBUkVOVCB8IENMS19JR05PUkVfVU5VU0VELAo+PiArCX0sCj4+ICt9Owo+PiArCj4+ICtz dGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZHNwYl9zZWwgPSB7Cj4+ICsJLmRhdGEgPSAmKHN0 cnVjdCBjbGtfcmVnbWFwX211eF9kYXRhKXsKPj4gKwkJLm9mZnNldCA9IERTUEJfQ0xLX0NUUkww LAo+PiArCQkubWFzayA9IDB4MSwKPj4gKwkJLnNoaWZ0ID0gMTUsCj4+ICsJfSwKPj4gKwkuaHcu aW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+PiArCQkubmFtZSA9ICJkc3BiX3NlbCIs Cj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+PiArCQkucGFyZW50X2h3cyA9IChj b25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+PiArCQkJJmExX2RzcGJfYS5odywgJmExX2RzcGJf Yi5odywKPj4gKwkJfSwKPj4gKwkJLm51bV9wYXJlbnRzID0gMiwKPj4gKwkJLmZsYWdzID0gQ0xL X1NFVF9SQVRFX1BBUkVOVCwKPj4gKwl9LAo+PiArfTsKPj4gKwo+PiArc3RhdGljIHN0cnVjdCBj bGtfcmVnbWFwIGExX2RzcGJfZW5fZHNwYiA9IHsKPj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19y ZWdtYXBfZ2F0ZV9kYXRhKXsKPj4gKwkJLm9mZnNldCA9IERTUEJfQ0xLX0VOLAo+PiArCQkuYml0 X2lkeCA9IDEsCj4+ICsJfSwKPj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEp IHsKPj4gKwkJLm5hbWUgPSAiZHNwYl9lbl9kc3BiIiwKPj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFw X2dhdGVfb3BzLAo+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkg ewo+PiArCQkJJmExX2RzcGJfc2VsLmh3Cj4+ICsJCX0sCj4+ICsJCS5udW1fcGFyZW50cyA9IDEs Cj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQgfCBDTEtfSUdOT1JFX1VOVVNFRCwK Pj4gKwl9LAo+PiArfTsKPj4gKwo+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2RzcGJf ZW5fbmljID0gewo+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+ PiArCQkub2Zmc2V0ID0gRFNQQl9DTEtfRU4sCj4+ICsJCS5iaXRfaWR4ID0gMCwKPj4gKwl9LAo+ PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+PiArCQkubmFtZSA9ICJk c3BiX2VuX25pYyIsCj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4gKwkJLnBh cmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4gKwkJCSZhMV9kc3BiX3Nl bC5odwo+PiArCQl9LAo+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+PiArCQkuZmxhZ3MgPSBDTEtf U0VUX1JBVEVfUEFSRU5UIHwgQ0xLX0lHTk9SRV9VTlVTRUQsCj4+ICsJfSwKPj4gK307Cj4+ICsK Pj4gKy8qIDEyTS8yNE0gY2xvY2sgKi8KPj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV8y NG0gPSB7Cj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+ICsJ CS5vZmZzZXQgPSBDTEsxMl8yNF9DVFJMLAo+PiArCQkuYml0X2lkeCA9IDExLAo+PiArCX0sCj4+ ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+ICsJCS5uYW1lID0gIjI0 bSIsCj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4gKwkJLnBhcmVudF9kYXRh ID0gJihjb25zdCBzdHJ1Y3QgY2xrX3BhcmVudF9kYXRhKSB7Cj4+ICsJCQkuZndfbmFtZSA9ICJ4 dGFsIiwKPj4gKwkJfSwKPj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4gKwl9LAo+PiArfTsKPj4g KwoKWyAuLi4gXQoKPj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9zYXJhZGNfc2VsID0g ewo+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7Cj4+ICsJCS5vZmZz ZXQgPSBTQVJfQURDX0NMS19DVFJMLAo+PiArCQkubWFzayA9IDB4MSwKPj4gKwkJLnNoaWZ0ID0g OSwKPj4gKwl9LAo+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+ICsJ CS5uYW1lID0gInNhcmFkY19zZWwiLAo+PiArCQkub3BzID0gJmNsa19yZWdtYXBfbXV4X29wcywK Pj4gKwkJLnBhcmVudF9kYXRhID0gKGNvbnN0IHN0cnVjdCBjbGtfcGFyZW50X2RhdGEgW10pIHsK Pj4gKwkJCXsgLmZ3X25hbWUgPSAieHRhbCIsIH0sCj4+ICsJCQl7IC5odyA9ICZhMV9zeXNfY2xr Lmh3LCB9LAo+PiArCQl9LAo+PiArCQkubnVtX3BhcmVudHMgPSAyLAo+PiArCX0sCj4+ICt9Owo+ PiArCj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfc2FyYWRjX2RpdiA9IHsKPj4gKwku ZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZGl2X2RhdGEpewo+PiArCQkub2Zmc2V0ID0gU0FS X0FEQ19DTEtfQ1RSTCwKPj4gKwkJLnNoaWZ0ID0gMCwKPj4gKwkJLndpZHRoID0gOCwKPj4gKwl9 LAo+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+ICsJCS5uYW1lID0g InNhcmFkY19kaXYiLAo+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZGl2aWRlcl9vcHMsCj4+ICsJ CS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+ICsJCQkmYTFfc2Fy YWRjX3NlbC5odwo+PiArCQl9LAo+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+PiArCQkuZmxhZ3Mg PSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+PiArCX0sCj4+ICt9Owo+PiArCj4+ICtzdGF0aWMgc3Ry dWN0IGNsa19yZWdtYXAgYTFfc2FyYWRjX2NsayA9IHsKPj4gKwkuZGF0YSA9ICYoc3RydWN0IGNs a19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4gKwkJLm9mZnNldCA9IFNBUl9BRENfQ0xLX0NUUkwsCj4+ ICsJCS5iaXRfaWR4ID0gOCwKPj4gKwl9LAo+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2lu aXRfZGF0YSkgewo+PiArCQkubmFtZSA9ICJzYXJhZGNfY2xrIiwKPj4gKwkJLm9wcyA9ICZjbGtf cmVnbWFwX2dhdGVfb3BzLAo+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3 ICpbXSkgewo+PiArCQkJJmExX3NhcmFkY19kaXYuaHcKPj4gKwkJfSwKPj4gKwkJLm51bV9wYXJl bnRzID0gMSwKPj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4gKwl9LAo+PiAr fTsKPj4gKwo+PiArLyogcHdtIGEvYi9jL2QgcGFyZW50IGRhdGEgKi8KPj4gK3N0YXRpYyBjb25z dCBzdHJ1Y3QgY2xrX3BhcmVudF9kYXRhIHB3bV9wYXJlbnRfZGF0YVtdID0gewo+PiArCXsgLmZ3 X25hbWUgPSAieHRhbCIsIH0sCj4+ICsJeyAuaHcgPSAmYTFfc3lzX2Nsay5odyB9LAo+PiArfTsK PiAKPiBMb29rcyBsaWtlIHRoZSBzYW1lIGFzIFNBUiBBREMKPiAKT0ssIEkgd2lsbCBkZXNjcmli ZSBpdCBsaWtlIFNBUiBBREMgZm9yIHB3bSBhL2IvYy9kCj4+ICsKPj4gKy8qIHB3bSBhIGNsayAq Lwo+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3B3bV9hX3NlbCA9IHsKPj4gKwkuZGF0 YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfbXV4X2RhdGEpewo+PiArCQkub2Zmc2V0ID0gUFdNX0NM S19BQl9DVFJMLAo+PiArCQkubWFzayA9IDB4MSwKPj4gKwkJLnNoaWZ0ID0gOSwKPj4gKwl9LAo+ PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+ICsJCS5uYW1lID0gInB3 bV9hX3NlbCIsCj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+PiArCQkucGFyZW50 X2RhdGEgPSBwd21fcGFyZW50X2RhdGEsCj4+ICsJCS5udW1fcGFyZW50cyA9IEFSUkFZX1NJWkUo cHdtX3BhcmVudF9kYXRhKSwKPj4gKwl9LAo+PiArfTsKPj4gKwo+PiArc3RhdGljIHN0cnVjdCBj bGtfcmVnbWFwIGExX3B3bV9hX2RpdiA9IHsKPj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdt YXBfZGl2X2RhdGEpewo+PiArCQkub2Zmc2V0ID0gUFdNX0NMS19BQl9DVFJMLAo+PiArCQkuc2hp ZnQgPSAwLAo+PiArCQkud2lkdGggPSA4LAo+PiArCX0sCj4+ICsJLmh3LmluaXQgPSAmKHN0cnVj dCBjbGtfaW5pdF9kYXRhKXsKPj4gKwkJLm5hbWUgPSAicHdtX2FfZGl2IiwKPj4gKwkJLm9wcyA9 ICZjbGtfcmVnbWFwX2RpdmlkZXJfb3BzLAo+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1 Y3QgY2xrX2h3ICpbXSkgewo+PiArCQkJJmExX3B3bV9hX3NlbC5odwo+PiArCQl9LAo+PiArCQku bnVtX3BhcmVudHMgPSAxLAo+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+PiAr CX0sCj4+ICt9Owo+PiArCj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfcHdtX2EgPSB7 Cj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX2dhdGVfZGF0YSl7Cj4+ICsJCS5vZmZz ZXQgPSBQV01fQ0xLX0FCX0NUUkwsCj4+ICsJCS5iaXRfaWR4ID0gOCwKPj4gKwl9LAo+PiArCS5o dy5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+PiArCQkubmFtZSA9ICJwd21fYSIs Cj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4gKwkJLnBhcmVudF9od3MgPSAo Y29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4gKwkJCSZhMV9wd21fYV9kaXYuaHcKPj4gKwkJ fSwKPj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4gKwkJLyoKPj4gKwkJICogVGhlIENQVSB3b3Jr aW5nIHZvbHRhZ2UgaXMgY29udHJvbGxlZCBieSBwd21fYQo+PiArCQkgKiBpbiBCTDIgZmlybXdh cmUuIGFkZCB0aGUgQ0xLX0lHTk9SRV9VTlVTRUQgZmxhZwo+PiArCQkgKiB0byBhdm9pZCBjaGFu Z2luZyBhdCBydW50aW1lLgo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe IGl0Cj4gCj4+ICsJCSAqIGFuZCBpcyByZXF1aXJlZCBieSB0aGUgcGxhdGZvcm0gdG8gb3BlcmF0 ZSBjb3JyZWN0bHkuCj4gICAgICAgICAgICAgICAgICAgICAiYmxhYmxhLiBBbmQiIGlzIHN0cmFu Z2UKPiAKPj4gKwkJICogVW50aWwgdGhlIGZvbGxvd2luZyBjb25kaXRpb24gYXJlIG1ldCwgd2Ug bmVlZCB0aGlzIGNsb2NrIHRvCj4+ICsJCSAqIGJlIG1hcmtlZCBhcyBjcml0aWNhbDoKPj4gKwkJ ICogYSkgTWFyayB0aGUgY2xvY2sgdXNlZCBieSBhIGZpcm13YXJlIHJlc291cmNlLCBpZiBwb3Nz aWJsZQo+PiArCQkgKiBiKSBDQ0YgaGFzIGEgY2xvY2sgaGFuZC1vZmYgbWVjaGFuaXNtIHRvIG1h a2UgdGhlIHN1cmUgdGhlCj4+ICsJCSAqICAgIGNsb2NrIHN0YXlzIG9uIHVudGlsIHRoZSBwcm9w ZXIgZHJpdmVyIGNvbWVzIGFsb25nCj4+ICsJCSAqLwo+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JB VEVfUEFSRU5UIHwgQ0xLX0lHTk9SRV9VTlVTRUQsCj4gCj4gVGhpcyBvbmx5IHNraXBzIHRoZSBs YXRlX2luaXQoKSBkaXNhYmxlIG9mIHVudXNlZCBjbG9ja3MKPiAKPiBCZSBhd2FyZSB0aGF0IHRo aXMgaXMgbm90IGZvb2wtcHJvb2YuIElmIGF0IGFueSB0aW1lIGEgZHJpdmVyIGVuYWJsZQo+IHRo ZW4gZGlzYWJsZSB0aGUgY2xvY2ssIHRoZSBjbG9jayB3aWxsIGJlIGRpc2FibGUgYW5kIEkgZ3Vl c3MgeW91cgo+IHBsYXRmb3JtIHdpbGwgZGllIGlmIHRoaXMgcHJvdmlkZXMgdGhlIENQVSB2b2x0 YWdlLgpPSywgQ0xLX0lTX0NSSVRJQ0FMIGlzIGJldHRlci4KPiAKPj4gKwl9LAo+PiArfTsKPj4g Kwo+PiArLyogcHdtIGIgY2xrICovCj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfcHdt X2Jfc2VsID0gewo+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7Cj4+ ICsJCS5vZmZzZXQgPSBQV01fQ0xLX0FCX0NUUkwsCj4+ICsJCS5tYXNrID0gMHgxLAo+PiArCQku c2hpZnQgPSAyNSwKPj4gKwl9LAo+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0 YSl7Cj4+ICsJCS5uYW1lID0gInB3bV9iX3NlbCIsCj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9t dXhfb3BzLAo+PiArCQkucGFyZW50X2RhdGEgPSBwd21fcGFyZW50X2RhdGEsCj4+ICsJCS5udW1f cGFyZW50cyA9IEFSUkFZX1NJWkUocHdtX3BhcmVudF9kYXRhKSwKPj4gKwl9LAo+PiArfTsKPj4g Kwo+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3B3bV9iX2RpdiA9IHsKPj4gKwkuZGF0 YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZGl2X2RhdGEpewo+PiArCQkub2Zmc2V0ID0gUFdNX0NM S19BQl9DVFJMLAo+PiArCQkuc2hpZnQgPSAxNiwKPj4gKwkJLndpZHRoID0gOCwKPj4gKwl9LAo+ PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+ICsJCS5uYW1lID0gInB3 bV9iX2RpdiIsCj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9kaXZpZGVyX29wcywKPj4gKwkJLnBh cmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4gKwkJCSZhMV9wd21fYl9z ZWwuaHcKPj4gKwkJfSwKPj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4gKwkJLmZsYWdzID0gQ0xL X1NFVF9SQVRFX1BBUkVOVCwKPj4gKwl9LAo+PiArfTsKPj4gKwo+PiArc3RhdGljIHN0cnVjdCBj bGtfcmVnbWFwIGExX3B3bV9iID0gewo+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9n YXRlX2RhdGEpewo+PiArCQkub2Zmc2V0ID0gUFdNX0NMS19BQl9DVFJMLAo+PiArCQkuYml0X2lk eCA9IDI0LAo+PiArCX0sCj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7 Cj4+ICsJCS5uYW1lID0gInB3bV9iIiwKPj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3Bz LAo+PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+PiArCQkJ JmExX3B3bV9iX2Rpdi5odwo+PiArCQl9LAo+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+PiArCQku ZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+PiArCX0sCj4+ICt9Owo+PiArCj4+ICsvKiBw d20gYyBjbGsgKi8KPj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9wd21fY19zZWwgPSB7 Cj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFwX211eF9kYXRhKXsKPj4gKwkJLm9mZnNl dCA9IFBXTV9DTEtfQ0RfQ1RSTCwKPj4gKwkJLm1hc2sgPSAweDEsCj4+ICsJCS5zaGlmdCA9IDks Cj4+ICsJfSwKPj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+PiArCQku bmFtZSA9ICJwd21fY19zZWwiLAo+PiArCQkub3BzID0gJmNsa19yZWdtYXBfbXV4X29wcywKPj4g KwkJLnBhcmVudF9kYXRhID0gcHdtX3BhcmVudF9kYXRhLAo+PiArCQkubnVtX3BhcmVudHMgPSBB UlJBWV9TSVpFKHB3bV9wYXJlbnRfZGF0YSksCj4+ICsJfSwKPj4gK307Cj4+ICsKPj4gK3N0YXRp YyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9wd21fY19kaXYgPSB7Cj4+ICsJLmRhdGEgPSAmKHN0cnVj dCBjbGtfcmVnbWFwX2Rpdl9kYXRhKXsKPj4gKwkJLm9mZnNldCA9IFBXTV9DTEtfQ0RfQ1RSTCwK Pj4gKwkJLnNoaWZ0ID0gMCwKPj4gKwkJLndpZHRoID0gOCwKPj4gKwl9LAo+PiArCS5ody5pbml0 ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+ICsJCS5uYW1lID0gInB3bV9jX2RpdiIsCj4+ ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9kaXZpZGVyX29wcywKPj4gKwkJLnBhcmVudF9od3MgPSAo Y29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4gKwkJCSZhMV9wd21fY19zZWwuaHcKPj4gKwkJ fSwKPj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BB UkVOVCwKPj4gKwl9LAo+PiArfTsKPj4gKwo+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGEx X3B3bV9jID0gewo+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRlX2RhdGEpewo+ PiArCQkub2Zmc2V0ID0gUFdNX0NMS19DRF9DVFJMLAo+PiArCQkuYml0X2lkeCA9IDgsCj4+ICsJ fSwKPj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpIHsKPj4gKwkJLm5hbWUg PSAicHdtX2MiLAo+PiArCQkub3BzID0gJmNsa19yZWdtYXBfZ2F0ZV9vcHMsCj4+ICsJCS5wYXJl bnRfaHdzID0gKGNvbnN0IHN0cnVjdCBjbGtfaHcgKltdKSB7Cj4+ICsJCQkmYTFfcHdtX2NfZGl2 Lmh3Cj4+ICsJCX0sCj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+ICsJCS5mbGFncyA9IENMS19T RVRfUkFURV9QQVJFTlQsCj4+ICsJfSwKPj4gK307Cj4+ICsKPj4gKy8qIHB3bSBkIGNsayAqLwo+ PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3B3bV9kX3NlbCA9IHsKPj4gKwkuZGF0YSA9 ICYoc3RydWN0IGNsa19yZWdtYXBfbXV4X2RhdGEpewo+PiArCQkub2Zmc2V0ID0gUFdNX0NMS19D RF9DVFJMLAo+PiArCQkubWFzayA9IDB4MSwKPj4gKwkJLnNoaWZ0ID0gMjUsCj4+ICsJfSwKPj4g KwkuaHcuaW5pdCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+PiArCQkubmFtZSA9ICJwd21f ZF9zZWwiLAo+PiArCQkub3BzID0gJmNsa19yZWdtYXBfbXV4X29wcywKPj4gKwkJLnBhcmVudF9k YXRhID0gcHdtX3BhcmVudF9kYXRhLAo+PiArCQkubnVtX3BhcmVudHMgPSBBUlJBWV9TSVpFKHB3 bV9wYXJlbnRfZGF0YSksCj4+ICsJfSwKPj4gK307Cj4+ICsKPj4gK3N0YXRpYyBzdHJ1Y3QgY2xr X3JlZ21hcCBhMV9wd21fZF9kaXYgPSB7Cj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFw X2Rpdl9kYXRhKXsKPj4gKwkJLm9mZnNldCA9IFBXTV9DTEtfQ0RfQ1RSTCwKPj4gKwkJLnNoaWZ0 ID0gMTYsCj4+ICsJCS53aWR0aCA9IDgsCj4+ICsJfSwKPj4gKwkuaHcuaW5pdCA9ICYoc3RydWN0 IGNsa19pbml0X2RhdGEpewo+PiArCQkubmFtZSA9ICJwd21fZF9kaXYiLAo+PiArCQkub3BzID0g JmNsa19yZWdtYXBfZGl2aWRlcl9vcHMsCj4+ICsJCS5wYXJlbnRfaHdzID0gKGNvbnN0IHN0cnVj dCBjbGtfaHcgKltdKSB7Cj4+ICsJCQkmYTFfcHdtX2Rfc2VsLmh3Cj4+ICsJCX0sCj4+ICsJCS5u dW1fcGFyZW50cyA9IDEsCj4+ICsJCS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQsCj4+ICsJ fSwKPj4gK307Cj4+ICsKPj4gK3N0YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9wd21fZCA9IHsK Pj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4gKwkJLm9mZnNl dCA9IFBXTV9DTEtfQ0RfQ1RSTCwKPj4gKwkJLmJpdF9pZHggPSAyNCwKPj4gKwl9LAo+PiArCS5o dy5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkgewo+PiArCQkubmFtZSA9ICJwd21fZCIs Cj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4gKwkJLnBhcmVudF9od3MgPSAo Y29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4gKwkJCSZhMV9wd21fZF9kaXYuaHcKPj4gKwkJ fSwKPj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BB UkVOVCwKPj4gKwl9LAo+PiArfTsKPj4gKwo+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBjbGtfcGFy ZW50X2RhdGEgcHdtX2VmX3BhcmVudF9kYXRhW10gPSB7Cj4+ICsJeyAuZndfbmFtZSA9ICJ4dGFs IiwgfSwKPj4gKwl7IC5odyA9ICZhMV9zeXNfY2xrLmh3IH0sCj4+ICsJeyAuZndfbmFtZSA9ICJm Y2xrX2RpdjUiLCB9LAo+PiArCXsgLmh3ID0gJmExX3J0Y19jbGsuaHcgfSwKPj4gK307Cj4+ICsK Pj4gKy8qIHB3bSBlIGNsayAqLwo+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3B3bV9l X3NlbCA9IHsKPj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfbXV4X2RhdGEpewo+PiAr CQkub2Zmc2V0ID0gUFdNX0NMS19FRl9DVFJMLAo+PiArCQkubWFzayA9IDB4MywKPj4gKwkJLnNo aWZ0ID0gOSwKPj4gKwl9LAo+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7 Cj4+ICsJCS5uYW1lID0gInB3bV9lX3NlbCIsCj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhf b3BzLAo+PiArCQkucGFyZW50X2RhdGEgPSBwd21fZWZfcGFyZW50X2RhdGEsCj4+ICsJCS5udW1f cGFyZW50cyA9IEFSUkFZX1NJWkUocHdtX2VmX3BhcmVudF9kYXRhKSwKPj4gKwl9LAo+PiArfTsK Pj4gKwo+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3B3bV9lX2RpdiA9IHsKPj4gKwku ZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZGl2X2RhdGEpewo+PiArCQkub2Zmc2V0ID0gUFdN X0NMS19FRl9DVFJMLAo+PiArCQkuc2hpZnQgPSAwLAo+PiArCQkud2lkdGggPSA4LAo+PiArCX0s Cj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsKPj4gKwkJLm5hbWUgPSAi cHdtX2VfZGl2IiwKPj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2RpdmlkZXJfb3BzLAo+PiArCQku cGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+PiArCQkJJmExX3B3bV9l X3NlbC5odwo+PiArCQl9LAo+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+PiArCQkuZmxhZ3MgPSBD TEtfU0VUX1JBVEVfUEFSRU5ULAo+PiArCX0sCj4+ICt9Owo+PiArCj4+ICtzdGF0aWMgc3RydWN0 IGNsa19yZWdtYXAgYTFfcHdtX2UgPSB7Cj4+ICsJLmRhdGEgPSAmKHN0cnVjdCBjbGtfcmVnbWFw X2dhdGVfZGF0YSl7Cj4+ICsJCS5vZmZzZXQgPSBQV01fQ0xLX0VGX0NUUkwsCj4+ICsJCS5iaXRf aWR4ID0gOCwKPj4gKwl9LAo+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSkg ewo+PiArCQkubmFtZSA9ICJwd21fZSIsCj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9nYXRlX29w cywKPj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4gKwkJ CSZhMV9wd21fZV9kaXYuaHcKPj4gKwkJfSwKPj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4gKwkJ LmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4gKwl9LAo+PiArfTsKPj4gKwo+PiArLyog cHdtIGYgY2xrICovCj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfcHdtX2Zfc2VsID0g ewo+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9tdXhfZGF0YSl7Cj4+ICsJCS5vZmZz ZXQgPSBQV01fQ0xLX0VGX0NUUkwsCj4+ICsJCS5tYXNrID0gMHgzLAo+PiArCQkuc2hpZnQgPSAy NSwKPj4gKwl9LAo+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+ICsJ CS5uYW1lID0gInB3bV9mX3NlbCIsCj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+ PiArCQkucGFyZW50X2RhdGEgPSBwd21fZWZfcGFyZW50X2RhdGEsCj4+ICsJCS5udW1fcGFyZW50 cyA9IEFSUkFZX1NJWkUocHdtX2VmX3BhcmVudF9kYXRhKSwKPj4gKwl9LAo+PiArfTsKPj4gKwo+ PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX3B3bV9mX2RpdiA9IHsKPj4gKwkuZGF0YSA9 ICYoc3RydWN0IGNsa19yZWdtYXBfZGl2X2RhdGEpewo+PiArCQkub2Zmc2V0ID0gUFdNX0NMS19F Rl9DVFJMLAo+PiArCQkuc2hpZnQgPSAxNiwKPj4gKwkJLndpZHRoID0gOCwKPj4gKwl9LAo+PiAr CS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+ICsJCS5uYW1lID0gInB3bV9m X2RpdiIsCj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9kaXZpZGVyX29wcywKPj4gKwkJLnBhcmVu dF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4gKwkJCSZhMV9wd21fZl9zZWwu aHcKPj4gKwkJfSwKPj4gKwkJLm51bV9wYXJlbnRzID0gMSwKPj4gKwkJLmZsYWdzID0gQ0xLX1NF VF9SQVRFX1BBUkVOVCwKPj4gKwl9LAo+PiArfTsKPj4gKwo+PiArc3RhdGljIHN0cnVjdCBjbGtf cmVnbWFwIGExX3B3bV9mID0gewo+PiArCS5kYXRhID0gJihzdHJ1Y3QgY2xrX3JlZ21hcF9nYXRl X2RhdGEpewo+PiArCQkub2Zmc2V0ID0gUFdNX0NMS19FRl9DVFJMLAo+PiArCQkuYml0X2lkeCA9 IDI0LAo+PiArCX0sCj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+ ICsJCS5uYW1lID0gInB3bV9mIiwKPj4gKwkJLm9wcyA9ICZjbGtfcmVnbWFwX2dhdGVfb3BzLAo+ PiArCQkucGFyZW50X2h3cyA9IChjb25zdCBzdHJ1Y3QgY2xrX2h3ICpbXSkgewo+PiArCQkJJmEx X3B3bV9mX2Rpdi5odwo+PiArCQl9LAo+PiArCQkubnVtX3BhcmVudHMgPSAxLAo+PiArCQkuZmxh Z3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5ULAo+PiArCX0sCj4+ICt9Owo+PiArCgpbIC4uLiBdCgo+ PiArCj4+ICsvKiBkbWMgY2xrICovCj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFfZG1j X3NlbCA9IHsKPj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfbXV4X2RhdGEpewo+PiAr CQkub2Zmc2V0ID0gRE1DX0NMS19DVFJMLAo+PiArCQkubWFzayA9IDB4MywKPj4gKwkJLnNoaWZ0 ID0gOSwKPj4gKwl9LAo+PiArCS5ody5pbml0ID0gJihzdHJ1Y3QgY2xrX2luaXRfZGF0YSl7Cj4+ ICsJCS5uYW1lID0gImRtY19zZWwiLAo+PiArCQkub3BzID0gJmNsa19yZWdtYXBfbXV4X29wcywK Pj4gKwkJLnBhcmVudF9kYXRhID0gc2RfZW1tY19wYXJlbnRzLAo+PiArCQkubnVtX3BhcmVudHMg PSA0LAo+PiArCX0sCj4+ICt9Owo+PiArCj4+ICtzdGF0aWMgc3RydWN0IGNsa19yZWdtYXAgYTFf ZG1jX2RpdiA9IHsKPj4gKwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZGl2X2RhdGEpewo+ PiArCQkub2Zmc2V0ID0gRE1DX0NMS19DVFJMLAo+PiArCQkuc2hpZnQgPSAwLAo+PiArCQkud2lk dGggPSA4LAo+PiArCX0sCj4+ICsJLmh3LmluaXQgPSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKXsK Pj4gKwkJLm5hbWUgPSAiZG1jX2RpdiIsCj4+ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9kaXZpZGVy X29wcywKPj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3RydWN0IGNsa19odyAqW10pIHsKPj4g KwkJCSZhMV9kbWNfc2VsLmh3Cj4+ICsJCX0sCj4+ICsJCS5udW1fcGFyZW50cyA9IDEsCj4+ICsJ CS5mbGFncyA9IENMS19TRVRfUkFURV9QQVJFTlQsCj4+ICsJfSwKPj4gK307Cj4+ICsKPj4gK3N0 YXRpYyBzdHJ1Y3QgY2xrX3JlZ21hcCBhMV9kbWNfc2VsMiA9IHsKPj4gKwkuZGF0YSA9ICYoc3Ry dWN0IGNsa19yZWdtYXBfbXV4X2RhdGEpewo+PiArCQkub2Zmc2V0ID0gRE1DX0NMS19DVFJMLAo+ PiArCQkubWFzayA9IDB4MSwKPj4gKwkJLnNoaWZ0ID0gMTUsCj4+ICsJfSwKPj4gKwkuaHcuaW5p dCA9ICYoc3RydWN0IGNsa19pbml0X2RhdGEpewo+PiArCQkubmFtZSA9ICJkbWNfc2VsMiIsCj4+ ICsJCS5vcHMgPSAmY2xrX3JlZ21hcF9tdXhfb3BzLAo+PiArCQkucGFyZW50X2RhdGEgPSAoY29u c3Qgc3RydWN0IGNsa19wYXJlbnRfZGF0YSBbXSkgewo+PiArCQkJeyAuaHcgPSAmYTFfZG1jX2Rp di5odyB9LAo+PiArCQkJeyAuZndfbmFtZSA9ICJ4dGFsIiwgfSwKPj4gKwkJfSwKPj4gKwkJLm51 bV9wYXJlbnRzID0gMiwKPj4gKwkJLmZsYWdzID0gQ0xLX1NFVF9SQVRFX1BBUkVOVCwKPj4gKwl9 LAo+PiArfTsKPj4gKwo+PiArc3RhdGljIHN0cnVjdCBjbGtfcmVnbWFwIGExX2RtYyA9IHsKPj4g KwkuZGF0YSA9ICYoc3RydWN0IGNsa19yZWdtYXBfZ2F0ZV9kYXRhKXsKPj4gKwkJLm9mZnNldCA9 IERNQ19DTEtfQ1RSTCwKPj4gKwkJLmJpdF9pZHggPSA4LAo+PiArCX0sCj4+ICsJLmh3LmluaXQg PSAmKHN0cnVjdCBjbGtfaW5pdF9kYXRhKSB7Cj4+ICsJCS5uYW1lID0gImRtYyIsCj4+ICsJCS5v cHMgPSAmY2xrX3JlZ21hcF9nYXRlX29wcywKPj4gKwkJLnBhcmVudF9od3MgPSAoY29uc3Qgc3Ry dWN0IGNsa19odyAqW10pIHsKPj4gKwkJCSZhMV9kbWNfc2VsMi5odwo+PiArCQl9LAo+PiArCQku bnVtX3BhcmVudHMgPSAxLAo+PiArCQkvKgo+PiArCQkgKiBUaGlzIGNsb2NrIGlzIHVzZWQgYnkg RERSIGNsb2NrIHdoaWNoIHNldHRlZCBpbiBCTDIKPj4gKwkJICogYW5kIGlzIHJlcXVpcmVkIGJ5 IHRoZSBwbGF0Zm9ybSB0byBvcGVyYXRlIGNvcnJlY3RseS4KPj4gKwkJICogVW50aWwgdGhlIGZv bGxvd2luZyBjb25kaXRpb24gYXJlIG1ldCwgd2UgbmVlZCB0aGlzIGNsb2NrIHRvCj4+ICsJCSAq IGJlIG1hcmtlZCBhcyBjcml0aWNhbDoKPj4gKwkJICogYSkgTWFyayB0aGUgY2xvY2sgdXNlZCBi eSBhIGZpcm13YXJlIHJlc291cmNlLCBpZiBwb3NzaWJsZQo+PiArCQkgKiBiKSBDQ0YgaGFzIGEg Y2xvY2sgaGFuZC1vZmYgbWVjaGFuaXNtIHRvIG1ha2UgdGhlIHN1cmUgdGhlCj4+ICsJCSAqICAg IGNsb2NrIHN0YXlzIG9uIHVudGlsIHRoZSBwcm9wZXIgZHJpdmVyIGNvbWVzIGFsb25nCj4+ICsJ CSAqLwo+PiArCQkuZmxhZ3MgPSBDTEtfU0VUX1JBVEVfUEFSRU5UIHwgQ0xLX0lTX0NSSVRJQ0FM LAo+PiArCX0sCj4+ICt9Owo+IAo+IFNob3VsZCB5b3UgcHV0IGFsbCB0aGlzIERNQyBzdHVmZiBp biBSTyB1bnRpbCB5b3UgZ290IGEgZHJpdmVyIGZvciBpdCA/Ck9LLCByZXBsYWNlIGFzIGNsa19y ZWdtYXBfZ2F0ZV9yb19vcHMKPiAKWyAuLi4gXQo+PiArCj4+ICtzdGF0aWMgaW50IG1lc29uX2Ex X3BlcmlwaHNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPj4gK3sKPj4gKwlp bnQgcmV0Owo+PiArCj4+ICsJcmV0ID0gbWVzb25fZWVjbGtjX3Byb2JlKHBkZXYpOwo+PiArCWlm IChyZXQpCj4+ICsJCXJldHVybiByZXQ7Cj4+ICsKPj4gKwlyZXR1cm4gMDsKPj4gK30KPiAKPiBB Z2FpbiB0aGlzIGZ1bmN0aW9uIGlzIGZ1bmN0aW9uIGlzIHVzZWxlc3MgYW5kIGl0IG1ha2VzIG1l IHdvbmRlciBpZiB5b3UKPiBzaG91bGQgcmVhbGx5IGJlIHVzaW5nIG1lc29uX2VlY2xrY19wcm9i ZSgpCj4gCj4gVGhpcyBtYWtlcyB5b3UgdXNlIHN5c2NvbiB3aGljaCBpcyBub3QgY29ycmVjdCB1 bmxlc3MgeW91IGhhdmUgYSBnb29kCj4gcmVhc29uID8KPiAKSWYgaXQgY2FuIG5vdCB1c2UgdGhl IG1lc29uX2VlY2xrY19wcm9iZSgpLCBJIHdpbGwgcmVhbGl6ZSBhIHByb2JlIApmdW5jdGlvbiB3 aGljaCBpcyBtb3N0bHkgZHVwbGljYXRlIHdpdGggbWVzb25fZWVjbGtjX3Byb2JlKCkgZXhjZXB0 IAoic3lzY29uX25vZGVfdG9fcmVnbWFwIgoKTWF5YmUgYW5vdGhlciBjb21tb24gcHJvYmUgZnVu Y3Rpb24gYW5kIGEgbmV3IGZpbGUgYXJlIHJlcXVpcmVkIGZvciBBMSAKdGhyZWUgZHJpdmVycz8g 77yIaW5jbHVkZSB0aGUgQ1BVIGNsb2NrIGRyaXZlcu+8iQoKT3IgdXNpbmcgbWVzb25fZWVjbGtj X3Byb2JlIGlzIG1vcmUgZWFzaWVyPwoKPiBJcyB0aGVyZSBhbnl0aGluZyBidXQgY2xvY2tzIGFu ZCByZXNldHMgaW4gdGhlc2UgcmVnaXN0ZXIgcmVnaW9uID8KTm8sIHRoZXJlIGlzIG9ubHkgY2xv Y2tzIGluIHRoZSByZWdpc3RlciByZWdpb24uCnRoZSBzYW1lIGRvZXMgdGhlIFBMTCByZWdpc3Rl ciByZWdpb24uCj4gCj4+ICsKPj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbWVzb25fZWVjbGtjX2Rh dGEgYTFfcGVyaXBoc19kYXRhID0gewo+PiArCQkucmVnbWFwX2Nsa3MgPSBhMV9wZXJpcGhzX3Jl Z21hcHMsCj4+ICsJCS5yZWdtYXBfY2xrX251bSA9IEFSUkFZX1NJWkUoYTFfcGVyaXBoc19yZWdt YXBzKSwKPj4gKwkJLmh3X29uZWNlbGxfZGF0YSA9ICZhMV9wZXJpcGhzX2h3X29uZWNlbGxfZGF0 YSwKPj4gK307Cj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBjbGtjX21hdGNo X3RhYmxlW10gPSB7Cj4+ICsJewo+PiArCQkuY29tcGF0aWJsZSA9ICJhbWxvZ2ljLGExLXBlcmlw aHMtY2xrYyIsCj4+ICsJCS5kYXRhID0gJmExX3BlcmlwaHNfZGF0YQo+PiArCX0sCj4+ICsJeyAv KiBzZW50aW5lbCAqLyB9Cj4+ICt9Owo+PiArCj4+ICtzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2Ry aXZlciBhMV9kcml2ZXIgPSB7Cj4+ICsJLnByb2JlCQk9IG1lc29uX2ExX3BlcmlwaHNfcHJvYmUs Cj4+ICsJLmRyaXZlcgkJPSB7Cj4+ICsJCS5uYW1lCT0gImExLXBlcmlwaHMtY2xrYyIsCj4+ICsJ CS5vZl9tYXRjaF90YWJsZSA9IGNsa2NfbWF0Y2hfdGFibGUsCj4+ICsJfSwKPj4gK307Cj4+ICsK Pj4gK2J1aWx0aW5fcGxhdGZvcm1fZHJpdmVyKGExX2RyaXZlcik7Cj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2Nsay9tZXNvbi9hMS5oIGIvZHJpdmVycy9jbGsvbWVzb24vYTEuaAo+PiBuZXcgZmls ZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwLi4xYWU1ZTA0Cj4+IC0tLSAvZGV2L251bGwK Pj4gKysrIGIvZHJpdmVycy9jbGsvbWVzb24vYTEuaAo+PiBAQCAtMCwwICsxLDEyMCBAQAo+PiAr LyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4wKyBPUiBNSVQpICovCj4+ICsvKgo+ PiArICogQ29weXJpZ2h0IChjKSAyMDE5IEFtbG9naWMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl ZC4KPj4gKyAqLwo+PiArCj4+ICsjaWZuZGVmIF9fQTFfSAo+PiArI2RlZmluZSBfX0ExX0gKPj4g Kwo+PiArLyogcGVyaXBoZXJhbCBjbG9jayBjb250cm9sbGVyIHJlZ2lzdGVyIG9mZnNldCAqLwo+ PiArI2RlZmluZSBTWVNfT1NDSU5fQ1RSTAkJCTB4MAo+PiArI2RlZmluZSBSVENfQllfT1NDSU5f Q1RSTDAJCTB4NAo+PiArI2RlZmluZSBSVENfQllfT1NDSU5fQ1RSTDEJCTB4OAo+PiArI2RlZmlu ZSBSVENfQ1RSTAkJCTB4Ywo+PiArI2RlZmluZSBTWVNfQ0xLX0NUUkwwCQkJMHgxMAo+PiArI2Rl ZmluZSBBWElfQ0xLX0NUUkwwCQkJMHgxNAo+PiArI2RlZmluZSBTWVNfQ0xLX0VOMAkJCTB4MWMK Pj4gKyNkZWZpbmUgU1lTX0NMS19FTjEJCQkweDIwCj4+ICsjZGVmaW5lIEFYSV9DTEtfRU4JCQkw eDI0Cj4+ICsjZGVmaW5lIERTUEFfQ0xLX0VOCQkJMHgyOAo+PiArI2RlZmluZSBEU1BCX0NMS19F TgkJCTB4MmMKPj4gKyNkZWZpbmUgRFNQQV9DTEtfQ1RSTDAJCQkweDMwCj4+ICsjZGVmaW5lIERT UEJfQ0xLX0NUUkwwCQkJMHgzNAo+PiArI2RlZmluZSBDTEsxMl8yNF9DVFJMCQkJMHgzOAo+PiAr I2RlZmluZSBHRU5fQ0xLX0NUUkwJCQkweDNjCj4+ICsjZGVmaW5lIFRJTUVTVEFNUF9DVFJMMAkJ CTB4NDAKPj4gKyNkZWZpbmUgVElNRVNUQU1QX0NUUkwxCQkJMHg0NAo+PiArI2RlZmluZSBUSU1F U1RBTVBfQ1RSTDIJCQkweDQ4Cj4+ICsjZGVmaW5lIFRJTUVTVEFNUF9WQUwwCQkJMHg0Ywo+PiAr I2RlZmluZSBUSU1FU1RBTVBfVkFMMQkJCTB4NTAKPj4gKyNkZWZpbmUgVElNRUJBU0VfQ1RSTDAJ CQkweDU0Cj4+ICsjZGVmaW5lIFRJTUVCQVNFX0NUUkwxCQkJMHg1OAo+PiArI2RlZmluZSBTQVJf QURDX0NMS19DVFJMCQkweGMwCj4+ICsjZGVmaW5lIFBXTV9DTEtfQUJfQ1RSTAkJCTB4YzQKPj4g KyNkZWZpbmUgUFdNX0NMS19DRF9DVFJMCQkJMHhjOAo+PiArI2RlZmluZSBQV01fQ0xLX0VGX0NU UkwJCQkweGNjCj4+ICsjZGVmaW5lIFNQSUNDX0NMS19DVFJMCQkJMHhkMAo+PiArI2RlZmluZSBU U19DTEtfQ1RSTAkJCTB4ZDQKPj4gKyNkZWZpbmUgU1BJRkNfQ0xLX0NUUkwJCQkweGQ4Cj4+ICsj ZGVmaW5lIFVTQl9CVVNDTEtfQ1RSTAkJCTB4ZGMKPj4gKyNkZWZpbmUgU0RfRU1NQ19DTEtfQ1RS TAkJMHhlMAo+PiArI2RlZmluZSBDRUNBX0NMS19DVFJMMAkJCTB4ZTQKPj4gKyNkZWZpbmUgQ0VD QV9DTEtfQ1RSTDEJCQkweGU4Cj4+ICsjZGVmaW5lIENFQ0JfQ0xLX0NUUkwwCQkJMHhlYwo+PiAr I2RlZmluZSBDRUNCX0NMS19DVFJMMQkJCTB4ZjAKPj4gKyNkZWZpbmUgUFNSQU1fQ0xLX0NUUkwJ CQkweGY0Cj4+ICsjZGVmaW5lIERNQ19DTEtfQ1RSTAkJCTB4ZjgKPj4gKyNkZWZpbmUgRkNMS19E SVYxX1NFTAkJCTB4ZmMKPj4gKyNkZWZpbmUgVFNUX0NUUkwJCQkweDEwMAo+PiArCj4+ICsjZGVm aW5lIENMS0lEX1hUQUxfQ0xLVFJFRQkJMAo+PiArI2RlZmluZSBDTEtJRF9TWVNfQV9TRUwJCQk4 OQo+PiArI2RlZmluZSBDTEtJRF9TWVNfQV9ESVYJCQk5MAo+PiArI2RlZmluZSBDTEtJRF9TWVNf QQkJCTkxCj4+ICsjZGVmaW5lIENMS0lEX1NZU19CX1NFTAkJCTkyCj4+ICsjZGVmaW5lIENMS0lE X1NZU19CX0RJVgkJCTkzCj4+ICsjZGVmaW5lIENMS0lEX1NZU19CCQkJOTQKPj4gKyNkZWZpbmUg Q0xLSURfRFNQQV9BX1NFTAkJOTUKPj4gKyNkZWZpbmUgQ0xLSURfRFNQQV9BX0RJVgkJOTYKPj4g KyNkZWZpbmUgQ0xLSURfRFNQQV9BCQkJOTcKPj4gKyNkZWZpbmUgQ0xLSURfRFNQQV9CX1NFTAkJ OTgKPj4gKyNkZWZpbmUgQ0xLSURfRFNQQV9CX0RJVgkJOTkKPj4gKyNkZWZpbmUgQ0xLSURfRFNQ QV9CCQkJMTAwCj4+ICsjZGVmaW5lIENMS0lEX0RTUEJfQV9TRUwJCTEwMQo+PiArI2RlZmluZSBD TEtJRF9EU1BCX0FfRElWCQkxMDIKPj4gKyNkZWZpbmUgQ0xLSURfRFNQQl9BCQkJMTAzCj4+ICsj ZGVmaW5lIENMS0lEX0RTUEJfQl9TRUwJCTEwNAo+PiArI2RlZmluZSBDTEtJRF9EU1BCX0JfRElW CQkxMDUKPj4gKyNkZWZpbmUgQ0xLSURfRFNQQl9CCQkJMTA2Cj4+ICsjZGVmaW5lIENMS0lEX1JU Q18zMktfQ0xLSU4JCTEwNwo+PiArI2RlZmluZSBDTEtJRF9SVENfMzJLX0RJVgkJMTA4Cj4+ICsj ZGVmaW5lIENMS0lEX1JUQ18zMktfWFRBTAkJMTA5Cj4+ICsjZGVmaW5lIENMS0lEX1JUQ18zMktf U0VMCQkxMTAKPj4gKyNkZWZpbmUgQ0xLSURfQ0VDQl8zMktfQ0xLSU4JCTExMQo+PiArI2RlZmlu ZSBDTEtJRF9DRUNCXzMyS19ESVYJCTExMgo+PiArI2RlZmluZSBDTEtJRF9DRUNCXzMyS19TRUxf UFJFCQkxMTMKPj4gKyNkZWZpbmUgQ0xLSURfQ0VDQl8zMktfU0VMCQkxMTQKPj4gKyNkZWZpbmUg Q0xLSURfQ0VDQV8zMktfQ0xLSU4JCTExNQo+PiArI2RlZmluZSBDTEtJRF9DRUNBXzMyS19ESVYJ CTExNgo+PiArI2RlZmluZSBDTEtJRF9DRUNBXzMyS19TRUxfUFJFCQkxMTcKPj4gKyNkZWZpbmUg Q0xLSURfQ0VDQV8zMktfU0VMCQkxMTgKPj4gKyNkZWZpbmUgQ0xLSURfRElWMl9QUkUJCQkxMTkK Pj4gKyNkZWZpbmUgQ0xLSURfMjRNX0RJVjIJCQkxMjAKPj4gKyNkZWZpbmUgQ0xLSURfR0VOX1NF TAkJCTEyMQo+PiArI2RlZmluZSBDTEtJRF9HRU5fRElWCQkJMTIyCj4+ICsjZGVmaW5lIENMS0lE X1NBUkFEQ19ESVYJCTEyMwo+PiArI2RlZmluZSBDTEtJRF9QV01fQV9TRUwJCQkxMjQKPj4gKyNk ZWZpbmUgQ0xLSURfUFdNX0FfRElWCQkJMTI1Cj4+ICsjZGVmaW5lIENMS0lEX1BXTV9CX1NFTAkJ CTEyNgo+PiArI2RlZmluZSBDTEtJRF9QV01fQl9ESVYJCQkxMjcKPj4gKyNkZWZpbmUgQ0xLSURf UFdNX0NfU0VMCQkJMTI4Cj4+ICsjZGVmaW5lIENMS0lEX1BXTV9DX0RJVgkJCTEyOQo+PiArI2Rl ZmluZSBDTEtJRF9QV01fRF9TRUwJCQkxMzAKPj4gKyNkZWZpbmUgQ0xLSURfUFdNX0RfRElWCQkJ MTMxCj4+ICsjZGVmaW5lIENMS0lEX1BXTV9FX1NFTAkJCTEzMgo+PiArI2RlZmluZSBDTEtJRF9Q V01fRV9ESVYJCQkxMzMKPj4gKyNkZWZpbmUgQ0xLSURfUFdNX0ZfU0VMCQkJMTM0Cj4+ICsjZGVm aW5lIENMS0lEX1BXTV9GX0RJVgkJCTEzNQo+PiArI2RlZmluZSBDTEtJRF9TUElDQ19TRUwJCQkx MzYKPj4gKyNkZWZpbmUgQ0xLSURfU1BJQ0NfRElWCQkJMTM3Cj4+ICsjZGVmaW5lIENMS0lEX1NQ SUNDX1NFTDIJCTEzOAo+PiArI2RlZmluZSBDTEtJRF9UU19ESVYJCQkxMzkKPj4gKyNkZWZpbmUg Q0xLSURfU1BJRkNfU0VMCQkJMTQwCj4+ICsjZGVmaW5lIENMS0lEX1NQSUZDX0RJVgkJCTE0MQo+ PiArI2RlZmluZSBDTEtJRF9TUElGQ19TRUwyCQkxNDIKPj4gKyNkZWZpbmUgQ0xLSURfVVNCX0JV U19TRUwJCTE0Mwo+PiArI2RlZmluZSBDTEtJRF9VU0JfQlVTX0RJVgkJMTQ0Cj4+ICsjZGVmaW5l IENMS0lEX1NEX0VNTUNfU0VMCQkxNDUKPj4gKyNkZWZpbmUgQ0xLSURfU0RfRU1NQ19ESVYJCTE0 Ngo+PiArI2RlZmluZSBDTEtJRF9TRF9FTU1DX1NFTDIJCTE0Nwo+PiArI2RlZmluZSBDTEtJRF9Q U1JBTV9TRUwJCQkxNDgKPj4gKyNkZWZpbmUgQ0xLSURfUFNSQU1fRElWCQkJMTQ5Cj4+ICsjZGVm aW5lIENMS0lEX1BTUkFNX1NFTDIJCTE1MAo+PiArI2RlZmluZSBDTEtJRF9ETUNfU0VMCQkJMTUx Cj4+ICsjZGVmaW5lIENMS0lEX0RNQ19ESVYJCQkxNTIKPj4gKyNkZWZpbmUgQ0xLSURfRE1DX1NF TDIJCQkxNTMKPj4gKyNkZWZpbmUgTlJfQ0xLUwkJCQkxNTQKPj4gKwo+PiArI2luY2x1ZGUgPGR0 LWJpbmRpbmdzL2Nsb2NrL2ExLWNsa2MuaD4KPj4gKwo+PiArI2VuZGlmIC8qIF9fQTFfSCAqLwo+ IAo+IC4KPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5m cmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xp bnV4LWFybS1rZXJuZWwK