Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp4647856imm; Tue, 9 Oct 2018 03:03:57 -0700 (PDT) X-Google-Smtp-Source: ACcGV61QoyXA5go5fqkslrUIF2mj+RKU1VoODB9pYF+yKjKuK4twWBakbw7vMfxopkJfWG7GhG0J X-Received: by 2002:a62:824a:: with SMTP id w71-v6mr29139252pfd.68.1539079437467; Tue, 09 Oct 2018 03:03:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539079437; cv=none; d=google.com; s=arc-20160816; b=w7Da+dl5s0IRKQFjP1qZ3ajeZOPVZstmtG09ggy1Q+MpeHrsS/MxADY8z0iDHj5y+j ThNwjei7R8l/q91jsOLRZ7nFA0A071JvNJ0HdTDBB8G23ILerVA+GRDGzhzZTQVrllrC 0ClM3c8oykoOHEHf8Qll01hljRs1nWEysQGTXmwoKr7V3IhQxt1Uvzihja45UtpV/d3p PN7ESa2R26hgJAE2aRgxROr2KlauuJixlfiH89jvix7tmcZRMZ2v0d+0nUmVUUacxeQ4 Ouv4NM3doJBlc/qPUpHplxxveU9KvxRg/hGLFjWIsb2o90hrVFtXS+KsIZB70TPkrJkh p2ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :spamdiagnosticmetadata:spamdiagnosticoutput:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:cc:to:from:dkim-signature; bh=0ZjEpyWnrtYcI0Jy0PRfNHuLRLF+ZRmlFX2wSR4a6RI=; b=edQ807jEcQaEn0zZPQhNIOVWVNqppeYRSLkmP1r9sXnDSdC0qDi7hI43xtF4QWdn8f 74H/T2vRaJO9c1b86mp80BJA33Iq6NQR0eBs/SgMtcxsL7p+E9OIBfZnPxP+def4PGkX UT3PGJsj/CgSrg94jhQWz7x5Q6lr17n869uzcN/5OV2xxotQqc4z5PWr+Vu5wShAYylL wVl7sJO7D0qYD3LWTn2BLb1dWdBercct/cW7o46iHaVXeG18+RWQShlQxlVBK+1+BWvJ Hb7Jox9LIv30bGjpbIOgIxDQZgUSoZ83/PsAXlvaoAm3Zm2gQJnR63cz7zJ/76mAeog2 qzVw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@xilinx.onmicrosoft.com header.s=selector1-xilinx-com header.b="zvhDmy/I"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s31-v6si20368052pgl.228.2018.10.09.03.03.43; Tue, 09 Oct 2018 03:03:57 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@xilinx.onmicrosoft.com header.s=selector1-xilinx-com header.b="zvhDmy/I"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726728AbeJIRSH (ORCPT + 99 others); Tue, 9 Oct 2018 13:18:07 -0400 Received: from mail-cys01nam02on0069.outbound.protection.outlook.com ([104.47.37.69]:56938 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726160AbeJIRSH (ORCPT ); Tue, 9 Oct 2018 13:18:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0ZjEpyWnrtYcI0Jy0PRfNHuLRLF+ZRmlFX2wSR4a6RI=; b=zvhDmy/IiYjFAEmU3uFCJTnlKonuRBiLgYSw4PNV4lsOtRaYIA+rHQ049+ANmYk2PqihPEaIWONCCpM8I9jEaB0oBqSUBdEm37u15jkKNOI17ghi+nTAiHfekE1Kq4px+LverR8hlfP1x1P5qXKD5r7tegExNWhmQ0vDE1Gr8tY= Received: from BL0PR02MB5633.namprd02.prod.outlook.com (20.177.241.80) by BL0PR02MB3699.namprd02.prod.outlook.com (52.132.8.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1207.26; Tue, 9 Oct 2018 10:01:48 +0000 Received: from BL0PR02MB5633.namprd02.prod.outlook.com ([fe80::8cbf:c901:e10:b871]) by BL0PR02MB5633.namprd02.prod.outlook.com ([fe80::8cbf:c901:e10:b871%4]) with mapi id 15.20.1207.024; Tue, 9 Oct 2018 10:01:48 +0000 From: Anurag Kumar Vulisha To: Kishon Vijay Abraham I , "robh+dt@kernel.org" , "mark.rutland@arm.com" , Michal Simek , "vivek.gautam@codeaurora.org" CC: "v.anuragkumar@gmail.com" , Ajay Yugalkishore Pandey , "devicetree@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH v4 2/2] phy: zynqmp: Add phy driver for xilinx zynqmp phy core Thread-Topic: [PATCH v4 2/2] phy: zynqmp: Add phy driver for xilinx zynqmp phy core Thread-Index: AQHUSrToIb1AkVp4IUOqG1NUGQ3QpKUWs0eAgAACJrA= Date: Tue, 9 Oct 2018 10:01:48 +0000 Message-ID: References: <1536769366-31398-1-git-send-email-anurag.kumar.vulisha@xilinx.com> <1536769366-31398-3-git-send-email-anurag.kumar.vulisha@xilinx.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=anuragku@xilinx.com; x-originating-ip: [149.199.50.133] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;BL0PR02MB3699;6:sDIHdKXOxptDjW3cxUdJT8ZJQrfBOt1eIHV4JlQFodJsBc3+ttWSL/gnqXbejYV4HFnMKyC8y7i4uK6KfwZ1Rn0sHbu9ZjD5o1LC3iacW/L4oZt5sg5AF85cKUS53B92HKjRlRZFk6bhBK4XXclQwVRy/nKfU0Yg9pZrgAM7gl/zHzaNJIS0USjXFY7epRdQY3k6AY3o+BZvEf18VC7GpUgr/wXgRQ2l54m6qZnoE60faXTIqswABzzqbgekkGjVXM4klMWnj2iqKSyn4yqtv90VDWsqqBwLTEZDePYItHQFPvrlwoOeZUNPir8trm/6h6jY1ZjKY5lcKm2YTJrf0EOcYwhgeQTJXHaRkM4EXxHklqctTMNGo2XV9TlP/PsJvQcCUndIDu5iDrqkwUZjl15RoqbshvQ1VIOH2pi4oBxAkM18xcYmlORN4M0WVSVbChk8SUL/l+rLqabJf5TrNw==;5:ZHyAdSp8nB4PXFTtq/gp3QL+H/iuVmg2qnYCrfMsteA6PDMWtVrCEDGSqyY0avKGwXrCydpQ7Zie4bKFJUtiojCs2pNSm1pbU2BuMPYEbu+hpotfzPGAVhnQRjq/QAWqD4EZJLhRbQG/sHHuY2X+drNnD1eZnNLQoiI/qN31ATY=;7:lV+neaka18tSdB3UDxXym6UmREbCqLWNuKFw/J53AJsxSXBGlTOReJsS2IKGynadXfWa/CpE/mzupLGv2H199Y5rkhhnx4/Zq3X4x11hDWrfaIce9cmsSSXMq9M88QH8O2R7yDf6F5J0w8FOmK6kHezTTLttzsVql5LsDeRZ3L2f+wG35CL1Ldl5NWUBTFjDP1TcSbbHbSJOQVDAo6HtRzQSg6DBGKJ6ZhulRBXE220JXXogObAXwYutx2shXL+J x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR; x-ms-office365-filtering-correlation-id: 91bfc99d-996a-42ac-6497-08d62dce3a98 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020);SRVR:BL0PR02MB3699; x-ms-traffictypediagnostic: BL0PR02MB3699: x-ld-processed: 657af505-d5df-48d0-8300-c31994686c5c,ExtAddr x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(31051911155226)(180628864354917)(85827821059158)(9452136761055)(258649278758335)(21532816269658)(192813158149592); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231355)(944501410)(52105095)(6055026)(149066)(150057)(6041310)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051);SRVR:BL0PR02MB3699;BCL:0;PCL:0;RULEID:;SRVR:BL0PR02MB3699; x-forefront-prvs: 08200063E9 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(366004)(136003)(39860400002)(346002)(376002)(396003)(189003)(199004)(13464003)(86362001)(5250100002)(305945005)(25786009)(97736004)(476003)(5660300001)(446003)(11346002)(39060400002)(2906002)(478600001)(7736002)(66066001)(4326008)(14444005)(33656002)(3846002)(6116002)(256004)(105586002)(486006)(26005)(575784001)(106356001)(186003)(2501003)(14454004)(316002)(53946003)(53936002)(102836004)(9686003)(55016002)(71200400001)(6246003)(71190400001)(76176011)(7696005)(68736007)(2900100001)(110136005)(8676002)(229853002)(74316002)(54906003)(99286004)(81166006)(6436002)(81156014)(6506007)(4744004)(8936002);DIR:OUT;SFP:1101;SCL:1;SRVR:BL0PR02MB3699;H:BL0PR02MB5633.namprd02.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: xilinx.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: XJxCk/lHMn2l2j+gxnpz+81dgvkTWPJr72N5CiMbwKcnWTNz4oPnboTVETS9ynjLKuUaIGK+E258vqYj/7MaT389fsMJLeUYAPyYLmzNrBX1+/OeAKQLFfBG5ERlPYVgvOTXLfYAuWIcZJNW8e+t5aCg1p3LNqyBz/gEa0/DK7KKC/9vfSFtIwmpedyXrcdSIypE7CzarWTLiV0Bi5NQvKrnB3ynVucoUA+pvfQrBgaFvTjq7eg85jBcjged4o1N+yJXd3ynIEMhX8g1qkx4aH7Pi3DTQ8s5E81I8/bPRpsGL0PnBkG3IRPz4ImYYKxXt9w4Ht/Tn6UueVlyCveg+I/Qw/38KqGJ6bcjhG/ItLQ= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-Network-Message-Id: 91bfc99d-996a-42ac-6497-08d62dce3a98 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Oct 2018 10:01:48.7988 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR02MB3699 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkgS2lzaG9uLA0KDQo+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj5Gcm9tOiBLaXNob24g VmlqYXkgQWJyYWhhbSBJIFttYWlsdG86a2lzaG9uQHRpLmNvbV0NCj5TZW50OiBUdWVzZGF5LCBP Y3RvYmVyIDA5LCAyMDE4IDE6MTggUE0NCj5UbzogQW51cmFnIEt1bWFyIFZ1bGlzaGEgPGFudXJh Z2t1QHhpbGlueC5jb20+OyByb2JoK2R0QGtlcm5lbC5vcmc7DQo+bWFyay5ydXRsYW5kQGFybS5j b207IE1pY2hhbCBTaW1layA8bWljaGFsc0B4aWxpbnguY29tPjsNCj52aXZlay5nYXV0YW1AY29k ZWF1cm9yYS5vcmcNCj5DYzogdi5hbnVyYWdrdW1hckBnbWFpbC5jb207IEFqYXkgWXVnYWxraXNo b3JlIFBhbmRleSA8QVBBTkRFWUB4aWxpbnguY29tPjsNCj5kZXZpY2V0cmVlQHZnZXIua2VybmVs Lm9yZzsgbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnOyBsaW51eC0NCj5rZXJu ZWxAdmdlci5rZXJuZWwub3JnDQo+U3ViamVjdDogUmU6IFtQQVRDSCB2NCAyLzJdIHBoeTogenlu cW1wOiBBZGQgcGh5IGRyaXZlciBmb3IgeGlsaW54IHp5bnFtcCBwaHkgY29yZQ0KPg0KPkhpIEFu dXJhZywNCj4NCj5PbiBXZWRuZXNkYXkgMTIgU2VwdGVtYmVyIDIwMTggMDk6NTIgUE0sIEFudXJh ZyBLdW1hciBWdWxpc2hhIHdyb3RlOg0KPj4gWnlucU1QIFNvQyBoYXMgYSBHaWdhYml0IFRyYW5z Y2VpdmVyIHdpdGggZm91ciBsYW5lcy4gQWxsIHRoZSBoaWdoIHNwZWVkDQo+PiBwZXJpcGhlcmFs cyBzdWNoIGFzIFVTQiwgU0FUQSwgUENJRSwgRGlzcGxheSBQb3J0IGFuZCBFdGhlcm5ldCBTR01J SSBjYW4NCj4+IHJlbHkgb24gYW55IG9mIHRoZSBmb3VyIEdUIGxhbmVzIGZvciBQSFkgbGF5ZXIu IFRoaXMgcGF0Y2ggYWRkcyBkcml2ZXINCj4+IGZvciB0aGF0IFp5bnFNUCBHVCBjb3JlLg0KPj4N Cj4+IFNpZ25lZC1vZmYtYnk6IEFudXJhZyBLdW1hciBWdWxpc2hhIDxhbnVyYWcua3VtYXIudnVs aXNoYUB4aWxpbnguY29tPg0KPj4gLS0tDQo+PiBDaGFuZ2VzIGluIHY0Og0KPj4gCTEuIE1vdmVk IGluY2x1ZGUvZHQtYmluZGluZ3MvcGh5L3BoeS5oIGludG8gcGF0Y2ggMSBhcyBzdWdnZXN0ZWQg YnkNCj4+IAkgICAiUm9iIEhlcnJpbmciDQo+Pg0KPj4gQ2hhbmdlcyBpbiB2MzoNCj4+IAkxLiBD b3JyZWN0ZWQgdGhlIERvY3VtZW50YXRpb24gYXMgc3VnZ2VzdGVkIGJ5ICJWaXZlayBHYXV0YW0i DQo+Pg0KPj4gQ2hhbmdlcyBpbiB2MjoNCj4+IAkxLiBGaXhlZCB0aGUgY29tcGlsYXRpb24gZXJy b3Igd2hlbiBjb21waWxlZCBwaHktenlucW1wLmMgYXMgYSBtb2R1bGUNCj4+IAkyLiBBZGRlZCBD T05GSUdfUE0gbWFjcm8gaW4gcGh5LXp5bnFtcC5jIGRyaXZlcg0KPj4gLS0tDQo+PiAgZHJpdmVy cy9waHkvS2NvbmZpZyAgICAgICAgICAgIHwgICAgOCArDQo+PiAgZHJpdmVycy9waHkvTWFrZWZp bGUgICAgICAgICAgIHwgICAgMSArDQo+PiAgZHJpdmVycy9waHkvcGh5LXp5bnFtcC5jICAgICAg IHwgMTU4MQ0KPisrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4+ICBp bmNsdWRlL2xpbnV4L3BoeS9waHktenlucW1wLmggfCAgIDUyICsrDQo+PiAgNCBmaWxlcyBjaGFu Z2VkLCAxNjQyIGluc2VydGlvbnMoKykNCj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9w aHkvcGh5LXp5bnFtcC5jDQo+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvbGludXgvcGh5 L3BoeS16eW5xbXAuaA0KPj4NCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BoeS9LY29uZmlnIGIv ZHJpdmVycy9waHkvS2NvbmZpZw0KPj4gaW5kZXggNWM4ZDQ1Mi4uMTRjZjMzMzAgMTAwNjQ0DQo+ PiAtLS0gYS9kcml2ZXJzL3BoeS9LY29uZmlnDQo+PiArKysgYi9kcml2ZXJzL3BoeS9LY29uZmln DQo+PiBAQCAtNDAsNiArNDAsMTQgQEAgY29uZmlnIFBIWV9YR0VORQ0KPj4gIAloZWxwDQo+PiAg CSAgVGhpcyBvcHRpb24gZW5hYmxlcyBzdXBwb3J0IGZvciBBUE0gWC1HZW5lIFNvQyBtdWx0aS1w dXJwb3NlIFBIWS4NCj4+DQo+PiArY29uZmlnIFBIWV9YSUxJTlhfWllOUU1QDQo+PiArCXRyaXN0 YXRlICJYaWxpbnggWnlucU1QIFBIWSBkcml2ZXIiDQo+PiArCWRlcGVuZHMgb24gQVJDSF9aWU5R TVANCj4+ICsJc2VsZWN0IEdFTkVSSUNfUEhZDQo+PiArCWhlbHANCj4+ICsJICBFbmFibGUgdGhp cyB0byBzdXBwb3J0IFp5bnFNUCBIaWdoIFNwZWVkIEdpZ2FiaXQgVHJhbnNjZWl2ZXINCj4+ICsJ ICB0aGF0IGlzIHBhcnQgb2YgWnlucU1QIFNvQy4NCj4+ICsNCj4+ICBzb3VyY2UgImRyaXZlcnMv cGh5L2FsbHdpbm5lci9LY29uZmlnIg0KPj4gIHNvdXJjZSAiZHJpdmVycy9waHkvYW1sb2dpYy9L Y29uZmlnIg0KPj4gIHNvdXJjZSAiZHJpdmVycy9waHkvYnJvYWRjb20vS2NvbmZpZyINCj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL3BoeS9NYWtlZmlsZSBiL2RyaXZlcnMvcGh5L01ha2VmaWxlDQo+ PiBpbmRleCA4NGUzYmQ5Li5mMmE4ZDI3IDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy9waHkvTWFr ZWZpbGUNCj4+ICsrKyBiL2RyaXZlcnMvcGh5L01ha2VmaWxlDQo+PiBAQCAtNyw2ICs3LDcgQEAg b2JqLSQoQ09ORklHX0dFTkVSSUNfUEhZKQkJKz0gcGh5LWNvcmUubw0KPj4gIG9iai0kKENPTkZJ R19QSFlfTFBDMThYWF9VU0JfT1RHKQkrPSBwaHktbHBjMTh4eC11c2Itb3RnLm8NCj4+ICBvYmot JChDT05GSUdfUEhZX1hHRU5FKQkJCSs9IHBoeS14Z2VuZS5vDQo+PiAgb2JqLSQoQ09ORklHX1BI WV9QSVNUQUNISU9fVVNCKQkJKz0gcGh5LXBpc3RhY2hpby11c2Iubw0KPj4gK29iai0kKENPTkZJ R19QSFlfWElMSU5YX1pZTlFNUCkJCSs9IHBoeS16eW5xbXAubw0KPj4gIG9iai0kKENPTkZJR19B UkNIX1NVTlhJKQkJKz0gYWxsd2lubmVyLw0KPj4gIG9iai0kKENPTkZJR19BUkNIX01FU09OKQkJ Kz0gYW1sb2dpYy8NCj4+ICBvYmotJChDT05GSUdfTEFOVElRKQkJCSs9IGxhbnRpcS8NCj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL3BoeS9waHktenlucW1wLmMgYi9kcml2ZXJzL3BoeS9waHktenlu cW1wLmMNCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+PiBpbmRleCAwMDAwMDAwLi40OTc4NjJk DQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi9kcml2ZXJzL3BoeS9waHktenlucW1wLmMNCj4+ IEBAIC0wLDAgKzEsMTU4MSBAQA0KPj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwt Mi4wDQo+PiArLyoNCj4+ICsgKiBwaHktenlucW1wLmMgLSBQSFkgZHJpdmVyIGZvciBYaWxpbngg WnlucU1QIEdULg0KPj4gKyAqDQo+PiArICogQ29weXJpZ2h0IChDKSAyMDE4IFhpbGlueCBJbmMu DQo+PiArICoNCj4+ICsgKiBBdXRob3I6IEFudXJhZyBLdW1hciBWdWxpc2hhIDxhbnVyYWdrdUB4 aWxpbnguY29tPg0KPj4gKyAqDQo+PiArICogVGhpcyBkcml2ZXIgaXMgdGVzdGVkIGZvciBVU0Is IFNBVEEgYW5kIERpc3BsYXkgUG9ydCBjdXJyZW50bHkuDQo+PiArICogT3RoZXIgY29udHJvbGxl cnMgUENJZSBhbmQgU0dNSUkgc2hvdWxkIGFsc28gd29yayBidXQgdGhhdCBpcw0KPj4gKyAqIGV4 cGVyaW1lbnRhbCBhcyBvZiBub3cuDQo+PiArICovDQo+PiArDQo+PiArI2luY2x1ZGUgPGxpbnV4 L2Nsay5oPg0KPj4gKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPg0KPj4gKyNpbmNsdWRlIDxsaW51 eC9pby5oPg0KPj4gKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4NCj4+ICsjaW5jbHVkZSA8bGlu dXgvbW9kdWxlLmg+DQo+PiArI2luY2x1ZGUgPGxpbnV4L29mLmg+DQo+PiArI2luY2x1ZGUgPGxp bnV4L29mX3BsYXRmb3JtLmg+DQo+PiArI2luY2x1ZGUgPGxpbnV4L29mX2FkZHJlc3MuaD4NCj4+ ICsjaW5jbHVkZSA8bGludXgvcGh5L3BoeS5oPg0KPj4gKyNpbmNsdWRlIDxsaW51eC9waHkvcGh5 LXp5bnFtcC5oPg0KPj4gKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4NCj4+ICsj aW5jbHVkZSA8bGludXgvZGVsYXkuaD4NCj4+ICsjaW5jbHVkZSA8ZHQtYmluZGluZ3MvcGh5L3Bo eS5oPg0KPj4gKyNpbmNsdWRlIDxsaW51eC9yZXNldC5oPg0KPj4gKyNpbmNsdWRlIDxsaW51eC9s aXN0Lmg+DQo+PiArI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4NCj4+ICsNCj4+ICsvKiBJbnRlciBD b25uZWN0IE1hdHJpeCBwYXJhbWV0ZXJzICovDQo+PiArI2RlZmluZSBJQ01fQ0ZHMAkJCTB4MTAw MTANCj4+ICsjZGVmaW5lIElDTV9DRkcxCQkJMHgxMDAxNA0KPj4gKyNkZWZpbmUgSUNNX0NGRzBf TDBfTUFTSwkJMHgwNw0KPj4gKyNkZWZpbmUgSUNNX0NGRzBfTDFfTUFTSwkJMHg3MA0KPj4gKyNk ZWZpbmUgSUNNX0NGRzFfTDJfTUFTSwkJMHgwNw0KPj4gKyNkZWZpbmUgSUNNX0NGRzJfTDNfTUFT SwkJMHg3MA0KPj4gKyNkZWZpbmUgSUNNX0NGR19TSElGVAkJCTQNCj4+ICsNCj4+ICsvKiBJbnRl ciBDb25uZWN0IE1hdHJpeCBhbGxvd2VkIHByb3RvY29scyAqLw0KPj4gKyNkZWZpbmUgSUNNX1BS T1RPQ09MX1BECQkJMHgwDQo+PiArI2RlZmluZSBJQ01fUFJPVE9DT0xfUENJRQkJMHgxDQo+PiAr I2RlZmluZSBJQ01fUFJPVE9DT0xfU0FUQQkJMHgyDQo+PiArI2RlZmluZSBJQ01fUFJPVE9DT0xf VVNCCQkweDMNCj4+ICsjZGVmaW5lIElDTV9QUk9UT0NPTF9EUAkJCTB4NA0KPj4gKyNkZWZpbmUg SUNNX1BST1RPQ09MX1NHTUlJCQkweDUNCj4+ICsNCj4+ICsvKiBUZXN0IE1vZGUgY29tbW9uIHJl c2V0IGNvbnRyb2wgIHBhcmFtZXRlcnMgKi8NCj4+ICsjZGVmaW5lIFRNX0NNTl9SU1QJCQkweDEw MDE4DQo+PiArI2RlZmluZSBUTV9DTU5fUlNUX0VOCQkJMHgxDQo+PiArI2RlZmluZSBUTV9DTU5f UlNUX1NFVAkJCTB4Mg0KPj4gKyNkZWZpbmUgVE1fQ01OX1JTVF9NQVNLCQkJMHgzDQo+PiArDQo+ PiArLyogUmVmY2xrIHNlbGVjdGlvbiBwYXJhbWV0ZXJzICovDQo+PiArI2RlZmluZSBQTExfUkVG X1NFTDAJCQkweDEwMDAwDQo+PiArI2RlZmluZSBQTExfUkVGX09GRlNFVAkJCTB4NA0KPj4gKyNk ZWZpbmUgUExMX0ZSRVFfTUFTSwkJCTB4MUYNCj4+ICsjZGVmaW5lIFBMTF9TVEFUVVNfUkVBRF9P RkZTRVQJCTB4NDAwMA0KPj4gKyNkZWZpbmUgUExMX1NUQVRVU19MT0NLRUQJCTB4MTANCj4+ICsN Cj4+ICsvKiBQTEwgU1NDIHN0ZXAgc2l6ZSBvZmZzZXRzICovDQo+PiArI2RlZmluZSBMMF9MMF9S RUZfQ0xLX1NFTAkJMHgyODYwDQo+PiArI2RlZmluZSBMMF9QTExfU1NfU1RFUFNfMF9MU0IJCTB4 MjM2OA0KPj4gKyNkZWZpbmUgTDBfUExMX1NTX1NURVBTXzFfTVNCCQkweDIzNkMNCj4+ICsjZGVm aW5lIEwwX1BMTF9TU19TVEVQX1NJWkVfMF9MU0IJMHgyMzcwDQo+PiArI2RlZmluZSBMMF9QTExf U1NfU1RFUF9TSVpFXzEJCTB4MjM3NA0KPj4gKyNkZWZpbmUgTDBfUExMX1NTX1NURVBfU0laRV8y CQkweDIzNzgNCj4+ICsjZGVmaW5lIEwwX1BMTF9TU19TVEVQX1NJWkVfM19NU0IJMHgyMzdDDQo+ PiArI2RlZmluZSBMMF9QTExfU1RBVFVTX1JFQURfMQkJMHgyM0U0DQo+PiArDQo+PiArLyogU1ND IHN0ZXAgc2l6ZSBwYXJhbWV0ZXJzICovDQo+PiArI2RlZmluZSBTVEVQX1NJWkVfT0ZGU0VUCQkw eDQwMDANCj4+ICsjZGVmaW5lIFNURVBfU0laRV8wX01BU0sJCTB4RkYNCj4+ICsjZGVmaW5lIFNU RVBfU0laRV8xX01BU0sJCTB4RkYNCj4+ICsjZGVmaW5lIFNURVBfU0laRV8yX01BU0sJCTB4RkYN Cj4+ICsjZGVmaW5lIFNURVBfU0laRV8zX01BU0sJCTB4Mw0KPj4gKyNkZWZpbmUgU1RFUF9TSVpF X1NISUZUCQkJOA0KPj4gKyNkZWZpbmUgRk9SQ0VfU1RFUF9TSVpFCQkJMHgxMA0KPj4gKyNkZWZp bmUgRk9SQ0VfU1RFUFMJCQkweDIwDQo+PiArI2RlZmluZSBTVEVQU19PRkZTRVQJCQkweDQwMDAN Cj4+ICsjZGVmaW5lIFNURVBTXzBfTUFTSwkJCTB4RkYNCj4+ICsjZGVmaW5lIFNURVBTXzFfTUFT SwkJCTB4MDcNCj4+ICsNCj4+ICsvKiBCRyBjYWxpYnJhdGlvbiBwYXJhbWV0ZXJzICovDQo+PiAr I2RlZmluZSBCR0NBTF9SRUZfU0VMCQkJMHgxMDAyOA0KPj4gKyNkZWZpbmUgQkdDQUxfUkVGX1ZB TFVFCQkJMHgwQw0KPj4gKw0KPj4gKy8qIENhbGlicmF0aW9uIGRpZ2l0YWwgbG9naWMgcGFyYW1l dGVycyAqLw0KPj4gKyNkZWZpbmUgTDNfVE1fQ0FMSUJfRElHMTkJCTB4RUM0Qw0KPj4gKyNkZWZp bmUgTDNfQ0FMSUJfRE9ORV9TVEFUVVMJCTB4RUYxNA0KPj4gKyNkZWZpbmUgTDNfVE1fQ0FMSUJf RElHMTgJCTB4RUM0OA0KPj4gKyNkZWZpbmUgTDNfVE1fQ0FMSUJfRElHMTlfTlNXCQkweDA3DQo+ PiArI2RlZmluZSBMM19UTV9DQUxJQl9ESUcxOF9OU1cJCTB4RTANCj4+ICsjZGVmaW5lIEwzX1RN X09WRVJSSURFX05TV19DT0RFICAgICAgICAgMHgyMA0KPj4gKyNkZWZpbmUgTDNfQ0FMSUJfRE9O RQkJCTB4MDINCj4+ICsjZGVmaW5lIEwzX05TV19TSElGVAkJCTUNCj4+ICsjZGVmaW5lIEwzX05T V19QSVBFX1NISUZUCQk0DQo+PiArI2RlZmluZSBMM19OU1dfQ0FMSUJfU0hJRlQJCTMNCj4+ICsN Cj4+ICsvKiBETiBSZXNpc3RvciBjYWxpYnJhdGlvbiBjb2RlIHBhcmFtZXRlcnMgKi8NCj4+ICsj ZGVmaW5lIEwwX1RYUE1BX1NUXzMJCQkweDBCMEMNCj4+ICsjZGVmaW5lIEwwX0ROX0NBTElCX0NP REUJCTB4M0YNCj4+ICsNCj4+ICsvKiBQTEwgVGVzdCBNb2RlIHJlZ2lzdGVyIHBhcmFtZXRlcnMg Ki8NCj4+ICsjZGVmaW5lIEwwX1RNX1BMTF9ESUdfMzcJCTB4MjA5NA0KPj4gKyNkZWZpbmUgTDBf VE1fUExMX0RJR18zN19PRkZTRVQJCTB4NDAwMA0KPj4gKyNkZWZpbmUgTDBfVE1fQ09BUlNFX0NP REVfTElNSVQJCTB4MTANCj4+ICsNCj4+ICsvKiBQQ1MgY29udHJvbCBwYXJhbWV0ZXJzICovDQo+ PiArI2RlZmluZSBMMF9UTV9ESUdfNgkJCTB4MTA2Qw0KPj4gKyNkZWZpbmUgTDBfVFhfRElHXzYx CQkJMHgwMEY0DQo+PiArI2RlZmluZSBMMF9UTV9ESUdfNl9PRkZTRVQJCTB4NDAwMA0KPj4gKyNk ZWZpbmUgTDBfVFhfRElHXzYxX09GRlNFVAkJMHg0MDAwDQo+PiArI2RlZmluZSBMMF9UTV9ESVNf REVTQ1JBTUJMRV9ERUNPREVSCTB4MEYNCj4+ICsjZGVmaW5lIEwwX1RNX0RJU0FCTEVfU0NSQU1C TEVfRU5DT0RFUgkweDBGDQo+PiArDQo+PiArLyogVFggRGUtZW1waGFzaXMgcGFyYW1ldGVycyAq Lw0KPj4gKyNkZWZpbmUgTDBfVFhfQU5BX1RNXzE4CQkJMHgwMDQ4DQo+PiArI2RlZmluZSBMMF9U WF9BTkFfVE1fMTE4CQkweDAxRDgNCj4+ICsjZGVmaW5lIEwwX1RYX0FOQV9UTV8xOF9PRkZTRVQJ CTB4NDAwMA0KPj4gKyNkZWZpbmUgTDBfVFhfQU5BX1RNXzExOF9PRkZTRVQJCTB4NDAwMA0KPj4g KyNkZWZpbmUgTDBfVFhfQU5BX1RNXzExOF9GT1JDRV8xN18wCUJJVCgwKQ0KPj4gKw0KPj4gKy8q IFBNQSBjb250cm9sIHBhcmFtZXRlcnMgKi8NCj4+ICsjZGVmaW5lIEwwX1RYUE1EX1RNXzQ1CQkJ MHgwQ0I0DQo+PiArI2RlZmluZSBMMF9UWFBNRF9UTV80OAkJCTB4MENDMA0KPj4gKyNkZWZpbmUg TDBfVFhQTURfVE1fNDVfT0ZGU0VUCQkweDQwMDANCj4+ICsjZGVmaW5lIEwwX1RYUE1EX1RNXzQ4 X09GRlNFVAkJMHg0MDAwDQo+PiArI2RlZmluZSBMMF9UWFBNRF9UTV80NV9PVkVSX0RQX01BSU4J QklUKDApDQo+PiArI2RlZmluZSBMMF9UWFBNRF9UTV80NV9FTkFCTEVfRFBfTUFJTglCSVQoMSkN Cj4+ICsjZGVmaW5lIEwwX1RYUE1EX1RNXzQ1X09WRVJfRFBfUE9TVDEJQklUKDIpDQo+PiArI2Rl ZmluZSBMMF9UWFBNRF9UTV80NV9FTkFCTEVfRFBfUE9TVDEJQklUKDMpDQo+PiArI2RlZmluZSBM MF9UWFBNRF9UTV80NV9PVkVSX0RQX1BPU1QyCUJJVCg0KQ0KPj4gKyNkZWZpbmUgTDBfVFhQTURf VE1fNDVfRU5BQkxFX0RQX1BPU1QyCUJJVCg1KQ0KPj4gKw0KPj4gKy8qIEJ1cyB3aWR0aCBwYXJh bWV0ZXJzICovDQo+PiArI2RlZmluZSBUWF9QUk9UX0JVU19XSURUSAkJMHgxMDA0MA0KPj4gKyNk ZWZpbmUgUlhfUFJPVF9CVVNfV0lEVEgJCTB4MTAwNDQNCj4+ICsjZGVmaW5lIFBST1RfQlVTX1dJ RFRIXzEwCQkweDANCj4+ICsjZGVmaW5lIFBST1RfQlVTX1dJRFRIXzIwCQkweDENCj4+ICsjZGVm aW5lIFBST1RfQlVTX1dJRFRIXzQwCQkweDINCj4+ICsjZGVmaW5lIFBST1RfQlVTX1dJRFRIX1NI SUZUCQkyDQo+PiArDQo+PiArLyogTWF4IG51bWJlciBvZiBHVCBsYW5lcyAqLw0KPj4gKyNkZWZp bmUgTUFYX0xBTkVTCQkJNA0KPj4gKw0KPj4gKy8qIE1heCBBbGxvd2VkIHJlZmNsayBmcmVxdWVu Y2llcyAqLw0KPj4gKyNkZWZpbmUgTUFYX1JFRkNMSwkJCTEzDQo+PiArDQo+PiArLyogTGFuZSBD TEsgc2hhcmluZyBtYXNrICovDQo+PiArI2RlZmluZSBMQU5FX0NMS19TSEFSRV9NQVNLCQkweDhG DQo+PiArDQo+PiArLyogU0lPVSBTQVRBIGNvbnRyb2wgcmVnaXN0ZXIgKi8NCj4+ICsjZGVmaW5l IFNBVEFfQ09OVFJPTF9PRkZTRVQJCTB4MDEwMA0KPj4gKw0KPj4gKy8qIFRvdGFsIG51bWJlciBv ZiBjb250cm9sbGVycyAqLw0KPj4gKyNkZWZpbmUgQ09OVFJPTExFUlNfUEVSX0xBTkUJCTUNCj4+ ICsNCj4+ICsvKiBVU0IgcGlwZSBjb250cm9sIHBhcmFtZXRlcnMgKi8NCj4+ICsjZGVmaW5lIFBJ UEVfQ0xLX09GRlNFVAkJCTB4N2MNCj4+ICsjZGVmaW5lIFBJUEVfUE9XRVJfT0ZGU0VUCQkweDgw DQo+PiArI2RlZmluZSBQSVBFX0NMS19PTgkJCTENCj4+ICsjZGVmaW5lIFBJUEVfQ0xLX09GRgkJ CTANCj4+ICsjZGVmaW5lIFBJUEVfUE9XRVJfT04JCQkxDQo+PiArI2RlZmluZSBQSVBFX1BPV0VS X09GRgkJCTANCj4+ICsNCj4+ICsvKiBQcm90b2NvbCBUeXBlIFBwYXJhbWV0ZXJzICovDQo+PiAr I2RlZmluZSBYUFNHVFJfVFlQRV9VU0IwCQkwICAvKiBVU0IgY29udHJvbGxlciAwICovDQo+PiAr I2RlZmluZSBYUFNHVFJfVFlQRV9VU0IxCQkxICAvKiBVU0IgY29udHJvbGxlciAxICovDQo+PiAr I2RlZmluZSBYUFNHVFJfVFlQRV9TQVRBXzAJCTIgIC8qIFNBVEEgY29udHJvbGxlciBsYW5lIDAg Ki8NCj4+ICsjZGVmaW5lIFhQU0dUUl9UWVBFX1NBVEFfMQkJMyAgLyogU0FUQSBjb250cm9sbGVy IGxhbmUgMSAqLw0KPj4gKyNkZWZpbmUgWFBTR1RSX1RZUEVfUENJRV8wCQk0ICAvKiBQQ0llIGNv bnRyb2xsZXIgbGFuZSAwICovDQo+PiArI2RlZmluZSBYUFNHVFJfVFlQRV9QQ0lFXzEJCTUgIC8q IFBDSWUgY29udHJvbGxlciBsYW5lIDEgKi8NCj4+ICsjZGVmaW5lIFhQU0dUUl9UWVBFX1BDSUVf MgkJNiAgLyogUENJZSBjb250cm9sbGVyIGxhbmUgMiAqLw0KPj4gKyNkZWZpbmUgWFBTR1RSX1RZ UEVfUENJRV8zCQk3ICAvKiBQQ0llIGNvbnRyb2xsZXIgbGFuZSAzICovDQo+PiArI2RlZmluZSBY UFNHVFJfVFlQRV9EUF8wCQk4ICAvKiBEaXNwbGF5IFBvcnQgY29udHJvbGxlciBsYW5lIDAgKi8N Cj4+ICsjZGVmaW5lIFhQU0dUUl9UWVBFX0RQXzEJCTkgIC8qIERpc3BsYXkgUG9ydCBjb250cm9s bGVyIGxhbmUgMSAqLw0KPj4gKyNkZWZpbmUgWFBTR1RSX1RZUEVfU0dNSUkwCQkxMCAvKiBFdGhl cm5ldCBTR01JSSBjb250cm9sbGVyIDAgKi8NCj4+ICsjZGVmaW5lIFhQU0dUUl9UWVBFX1NHTUlJ MQkJMTEgLyogRXRoZXJuZXQgU0dNSUkgY29udHJvbGxlciAxICovDQo+PiArI2RlZmluZSBYUFNH VFJfVFlQRV9TR01JSTIJCTEyIC8qIEV0aGVybmV0IFNHTUlJIGNvbnRyb2xsZXIgMiAqLw0KPj4g KyNkZWZpbmUgWFBTR1RSX1RZUEVfU0dNSUkzCQkxMyAvKiBFdGhlcm5ldCBTR01JSSBjb250cm9s bGVyIDMgKi8NCj4+ICsNCj4+ICsvKiBUaW1lb3V0IHZhbHVlcyAqLw0KPj4gKyNkZWZpbmUgUlNU X1RJTUVPVVRfTVMJCQkxMDAwDQo+PiArI2RlZmluZSBUSU1FT1VUX1VTCQkJMTAwMA0KPj4gKw0K Pj4gKy8qDQo+PiArICogVGhpcyB0YWJsZSBob2xkcyB0aGUgdmFsaWQgY29tYmluYXRpb25zIG9m IGNvbnRyb2xsZXJzIGFuZA0KPj4gKyAqIGxhbmVzKEludGVyY29ubmVjdCBNYXRyaXgpLg0KPj4g KyAqLw0KPj4gK3N0YXRpYyB1bnNpZ25lZCBpbnQgaWNtX21hdHJpeFtNQVhfTEFORVNdW0NPTlRS T0xMRVJTX1BFUl9MQU5FXSA9IHsNCj4+ICsJeyBYUFNHVFJfVFlQRV9QQ0lFXzAsIFhQU0dUUl9U WVBFX1NBVEFfMCwgWFBTR1RSX1RZUEVfVVNCMCwNCj4+ICsJCVhQU0dUUl9UWVBFX0RQXzEsIFhQ U0dUUl9UWVBFX1NHTUlJMCB9LA0KPj4gKwl7IFhQU0dUUl9UWVBFX1BDSUVfMSwgWFBTR1RSX1RZ UEVfU0FUQV8xLCBYUFNHVFJfVFlQRV9VU0IwLA0KPj4gKwkJWFBTR1RSX1RZUEVfRFBfMCwgWFBT R1RSX1RZUEVfU0dNSUkxIH0sDQo+PiArCXsgWFBTR1RSX1RZUEVfUENJRV8yLCBYUFNHVFJfVFlQ RV9TQVRBXzAsIFhQU0dUUl9UWVBFX1VTQjAsDQo+PiArCQlYUFNHVFJfVFlQRV9EUF8xLCBYUFNH VFJfVFlQRV9TR01JSTIgfSwNCj4+ICsJeyBYUFNHVFJfVFlQRV9QQ0lFXzMsIFhQU0dUUl9UWVBF X1NBVEFfMSwgWFBTR1RSX1RZUEVfVVNCMSwNCj4+ICsJCVhQU0dUUl9UWVBFX0RQXzAsIFhQU0dU Ul9UWVBFX1NHTUlJMyB9DQo+PiArfTsNCj4+ICsNCj4+ICsvKiBBbGxvd2VkIFBMTCByZWZlcmVu Y2UgY2xvY2sgZnJlcXVlbmNpZXMgKi8NCj4+ICtlbnVtIHBsbF9mcmVxdWVuY2llcyB7DQo+PiAr CVJFRl8xOV8yTSA9IDAsDQo+PiArCVJFRl8yME0sDQo+PiArCVJFRl8yNE0sDQo+PiArCVJFRl8y Nk0sDQo+PiArCVJFRl8yN00sDQo+PiArCVJFRl8zOF80TSwNCj4+ICsJUkVGXzQwTSwNCj4+ICsJ UkVGXzUyTSwNCj4+ICsJUkVGXzEwME0sDQo+PiArCVJFRl8xMDhNLA0KPj4gKwlSRUZfMTI1TSwN Cj4+ICsJUkVGXzEzNU0sDQo+PiArCVJFRl8xNTBNLA0KPj4gK307DQo+PiArDQo+PiArLyoqDQo+ PiArICogc3RydWN0IHhwc2d0cl9waHkgLSByZXByZXNlbnRhdGlvbiBvZiBhIGxhbmUNCj4+ICsg KiBAcGh5OiBwb2ludGVyIHRvIHRoZSBrZXJuZWwgUEhZIGRldmljZQ0KPj4gKyAqIEB0eXBlOiBj b250cm9sbGVyIHdoaWNoIHVzZXMgdGhpcyBsYW5lDQo+PiArICogQGxhbmU6IGxhbmUgbnVtYmVy DQo+PiArICogQHByb3RvY29sOiBwcm90b2NvbCBpbiB3aGljaCB0aGUgbGFuZSBvcGVyYXRlcw0K Pj4gKyAqIEByZWZfY2xrOiBlbnVtIG9mIGFsbG93ZWQgcmVmIGNsb2NrIHJhdGVzIGZvciB0aGlz IGxhbmUgUExMDQo+PiArICogQHBsbF9sb2NrOiBQTEwgc3RhdHVzDQo+PiArICogQHNraXBfcGh5 X2luaXQ6IHNraXAgcGh5X2luaXQoKSBpZiB0cnVlDQo+PiArICogQGRhdGE6IHBvaW50ZXIgdG8g aG9sZCBwcml2YXRlIGRhdGENCj4+ICsgKiBAcmVmY2xrX3JhdGU6IFBMTCByZWZlcmVuY2UgY2xv Y2sgZnJlcXVlbmN5DQo+PiArICogQHNoYXJlX2xhbmVjbGs6IGxhbmUgbnVtYmVyIG9mIHRoZSBj bG9jayB0byBiZSBzaGFyZWQNCj4+ICsgKi8NCj4+ICtzdHJ1Y3QgeHBzZ3RyX3BoeSB7DQo+PiAr CXN0cnVjdCBwaHkgKnBoeTsNCj4+ICsJdTggdHlwZTsNCj4+ICsJdTggbGFuZTsNCj4+ICsJdTgg cHJvdG9jb2w7DQo+PiArCWVudW0gcGxsX2ZyZXF1ZW5jaWVzIHJlZl9jbGs7DQo+PiArCWJvb2wg cGxsX2xvY2s7DQo+PiArCWJvb2wgc2tpcF9waHlfaW5pdDsNCj4+ICsJdm9pZCAqZGF0YTsNCj4+ ICsJdTMyIHJlZmNsa19yYXRlOw0KPj4gKwl1MzIgc2hhcmVfbGFuZWNsazsNCj4+ICt9Ow0KPj4g Kw0KPj4gKy8qKg0KPj4gKyAqIHN0cnVjdCB4cHNndHJfc3NjIC0gc3RydWN0dXJlIHRvIGhvbGQg U1NDIHNldHRpbmdzIGZvciBhIGxhbmUNCj4+ICsgKiBAcmVmY2xrX3JhdGU6IFBMTCByZWZlcmVu Y2UgY2xvY2sgZnJlcXVlbmN5DQo+PiArICogQHBsbF9yZWZfY2xrOiB2YWx1ZSB0byBiZSB3cml0 dGVuIHRvIHJlZ2lzdGVyIGZvciBjb3JyZXNwb25kaW5nIHJlZiBjbGsgcmF0ZQ0KPj4gKyAqIEBz dGVwczogbnVtYmVyIG9mIHN0ZXBzIG9mIFNTQyAoU3ByZWFkIFNwZWN0cnVtIENsb2NrKQ0KPj4g KyAqIEBzdGVwX3NpemU6IHN0ZXAgc2l6ZSBvZiBlYWNoIHN0ZXANCj4+ICsgKi8NCj4+ICtzdHJ1 Y3QgeHBzZ3RyX3NzYyB7DQo+PiArCXUzMiByZWZjbGtfcmF0ZTsNCj4+ICsJdTggIHBsbF9yZWZf Y2xrOw0KPj4gKwl1MzIgc3RlcHM7DQo+PiArCXUzMiBzdGVwX3NpemU7DQo+PiArfTsNCj4+ICsN Cj4+ICsvKiBsb29rdXAgdGFibGUgdG8gaG9sZCBhbGwgc2V0dGluZ3MgbmVlZGVkIGZvciBhIHJl ZiBjbG9jayBmcmVxdWVuY3kgKi8NCj4+ICtzdGF0aWMgc3RydWN0IHhwc2d0cl9zc2Mgc3NjX2xv b2t1cFtNQVhfUkVGQ0xLXSA9IHsNCj4+ICsJezE5MjAwMDAwLCAweDA1LCA2MDgsIDI2NDAyMH0s DQo+PiArCXsyMDAwMDAwMCwgMHgwNiwgNjM0LCAyNDM0NTR9LA0KPj4gKwl7MjQwMDAwMDAsIDB4 MDcsIDc2MCwgMTY4OTczfSwNCj4+ICsJezI2MDAwMDAwLCAweDA4LCA4MjQsIDE0Mzg2MH0sDQo+ PiArCXsyNzAwMDAwMCwgMHgwOSwgODU2LCA4NjU1MX0sDQo+PiArCXszODQwMDAwMCwgMHgwQSwg MTIxOCwgNjU4OTZ9LA0KPj4gKwl7NDAwMDAwMDAsIDB4MEIsIDYzNCwgMjQzNDU0fSwNCj4+ICsJ ezUyMDAwMDAwLCAweDBDLCA4MjQsIDE0Mzg2MH0sDQo+PiArCXsxMDAwMDAwMDAsIDB4MEQsIDEw NTgsIDg3NTMzfSwNCj4+ICsJezEwODAwMDAwMCwgMHgwRSwgODU2LCA4NjU1MX0sDQo+PiArCXsx MjUwMDAwMDAsIDB4MEYsIDk5MiwgMTE5NDk3fSwNCj4+ICsJezEzNTAwMDAwMCwgMHgxMCwgMTA3 MCwgNTUzOTN9LA0KPj4gKwl7MTUwMDAwMDAwLCAweDExLCA3OTIsIDE4NzA5MX0NCj4+ICt9Ow0K Pj4gKw0KPj4gKy8qKg0KPj4gKyAqIHN0cnVjdCB4cHNndHJfZGV2IC0gcmVwcmVzZW50YXRpb24g b2YgYSBaeW5NUCBHVCBkZXZpY2UNCj4+ICsgKiBAZGV2OiBwb2ludGVyIHRvIGRldmljZQ0KPj4g KyAqIEBzZXJkZXM6IHNlcmRlcyBiYXNlIGFkZHJlc3MNCj4+ICsgKiBAc2lvdTogc2lvdSBiYXNl IGFkZHJlc3MNCj4+ICsgKiBAZ3RyX211dGV4OiBtdXRleCBmb3IgbG9ja2luZw0KPj4gKyAqIEBw aHlzOiBwb2ludGVyIHRvIGFsbCB0aGUgbGFuZXMNCj4+ICsgKiBAdHhfdGVybV9maXg6IGZpeCBm b3IgR1QgaXNzdWUNCj4+ICsgKiBAc2F2ZWRfaWNtX2NmZzA6IHN0b3JlZCB2YWx1ZSBvZiBJQ00g Q0ZHMCByZWdpc3Rlcg0KPj4gKyAqIEBzYXZlZF9pY21fY2ZnMTogc3RvcmVkIHZhbHVlIG9mIElD TSBDRkcxIHJlZ2lzdGVyDQo+PiArICogQHNhdGFfcnN0OiBhIHJlc2V0IGNvbnRyb2wgZm9yIFNB VEENCj4+ICsgKiBAZHBfcnN0OiBhIHJlc2V0IGNvbnRyb2wgZm9yIERQDQo+PiArICogQHVzYjBf Y3JzdDogYSByZXNldCBjb250cm9sIGZvciB1c2IwIGNvcmUNCj4+ICsgKiBAdXNiMV9jcnN0OiBh IHJlc2V0IGNvbnRyb2wgZm9yIHVzYjEgY29yZQ0KPj4gKyAqIEB1c2IwX2hpYnJzdDogYSByZXNl dCBjb250cm9sIGZvciB1c2IwIGhpYmVybmF0aW9uIG1vZHVsZQ0KPj4gKyAqIEB1c2IxX2hpYnJz dDogYSByZXNldCBjb250cm9sIGZvciB1c2IxIGhpYmVybmF0aW9uIG1vZHVsZQ0KPj4gKyAqIEB1 c2IwX2FwYnJzdDogYSByZXNldCBjb250cm9sIGZvciB1c2IwIGFwYiBidXMNCj4+ICsgKiBAdXNi MV9hcGJyc3Q6IGEgcmVzZXQgY29udHJvbCBmb3IgdXNiMSBhcGIgYnVzDQo+PiArICogQGdlbTBf cnN0OiBhIHJlc2V0IGNvbnRyb2wgZm9yIGdlbTANCj4+ICsgKiBAZ2VtMV9yc3Q6IGEgcmVzZXQg Y29udHJvbCBmb3IgZ2VtMQ0KPj4gKyAqIEBnZW0yX3JzdDogYSByZXNldCBjb250cm9sIGZvciBn ZW0yDQo+PiArICogQGdlbTNfcnN0OiBhIHJlc2V0IGNvbnRyb2wgZm9yIGdlbTMNCj4+ICsgKi8N Cj4+ICtzdHJ1Y3QgeHBzZ3RyX2RldiB7DQo+PiArCXN0cnVjdCBkZXZpY2UgKmRldjsNCj4+ICsJ dm9pZCBfX2lvbWVtICpzZXJkZXM7DQo+PiArCXZvaWQgX19pb21lbSAqc2lvdTsNCj4+ICsJc3Ry dWN0IG11dGV4IGd0cl9tdXRleDsgLyogbXV0ZXggZm9yIGxvY2tpbmcgKi8NCj4+ICsJc3RydWN0 IHhwc2d0cl9waHkgKipwaHlzOw0KPj4gKwlib29sIHR4X3Rlcm1fZml4Ow0KPj4gKwl1bnNpZ25l ZCBpbnQgc2F2ZWRfaWNtX2NmZzA7DQo+PiArCXVuc2lnbmVkIGludCBzYXZlZF9pY21fY2ZnMTsN Cj4+ICsJc3RydWN0IHJlc2V0X2NvbnRyb2wgKnNhdGFfcnN0Ow0KPj4gKwlzdHJ1Y3QgcmVzZXRf Y29udHJvbCAqZHBfcnN0Ow0KPj4gKwlzdHJ1Y3QgcmVzZXRfY29udHJvbCAqdXNiMF9jcnN0Ow0K Pj4gKwlzdHJ1Y3QgcmVzZXRfY29udHJvbCAqdXNiMV9jcnN0Ow0KPj4gKwlzdHJ1Y3QgcmVzZXRf Y29udHJvbCAqdXNiMF9oaWJyc3Q7DQo+PiArCXN0cnVjdCByZXNldF9jb250cm9sICp1c2IxX2hp YnJzdDsNCj4+ICsJc3RydWN0IHJlc2V0X2NvbnRyb2wgKnVzYjBfYXBicnN0Ow0KPj4gKwlzdHJ1 Y3QgcmVzZXRfY29udHJvbCAqdXNiMV9hcGJyc3Q7DQo+PiArCXN0cnVjdCByZXNldF9jb250cm9s ICpnZW0wX3JzdDsNCj4+ICsJc3RydWN0IHJlc2V0X2NvbnRyb2wgKmdlbTFfcnN0Ow0KPj4gKwlz dHJ1Y3QgcmVzZXRfY29udHJvbCAqZ2VtMl9yc3Q7DQo+PiArCXN0cnVjdCByZXNldF9jb250cm9s ICpnZW0zX3JzdDsNCj4+ICt9Ow0KPj4gKw0KPj4gKy8qKg0KPj4gKyAqIHhwc2d0cl9vdmVycmlk ZV9kZWVtcGggLSBvdmVycmlkZSBQSVBFIFRYIGRlLWVtcGhhc2lzDQo+PiArICogQHBoeTogcG9p bnRlciB0byBwaHkNCj4+ICsgKiBAcGx2bDogcHJlLWVtcGhhc2lzIGxldmVsDQo+PiArICogQHZs dmw6IHZvbHRhZ2Ugc3dpbmcgbGV2ZWwNCj4+ICsgKg0KPj4gKyAqIFJldHVybjogTm9uZQ0KPj4g KyAqLw0KPj4gK3ZvaWQgeHBzZ3RyX292ZXJyaWRlX2RlZW1waChzdHJ1Y3QgcGh5ICpwaHksIHU4 IHBsdmwsIHU4IHZsdmwpDQo+PiArew0KPj4gKwlzdHJ1Y3QgeHBzZ3RyX3BoeSAqZ3RyX3BoeSA9 IHBoeV9nZXRfZHJ2ZGF0YShwaHkpOw0KPj4gKwlzdHJ1Y3QgeHBzZ3RyX2RldiAqZ3RyX2RldiA9 IGd0cl9waHktPmRhdGE7DQo+PiArCXN0YXRpYyB1OCBwZVs0XVs0XSA9IHsgeyAweDIsIDB4Miwg MHgyLCAweDIgfSwNCj4+ICsJCQkgICAgICAgeyAweDEsIDB4MSwgMHgxLCAweEZGIH0sDQo+PiAr CQkJICAgICAgIHsgMHgwLCAweDAsIDB4RkYsIDB4RkYgfSwNCj4+ICsJCQkgICAgICAgeyAweEZG LCAweEZGLCAweEZGLCAweEZGIH0gfTsNCj4NCj5IZXJlIHRoZSBjb25zdW1lciBkcml2ZXIgZGly ZWN0bHkgcGFzc2VzIHRoZSBpbmRleCBvZiBhIGxvY2FsIGFycmF5IGFzDQo+YXJndW1lbnQuIEhv dyBpcyB0aGUgY29uc3VtZXIgZHJpdmVyIHN1cHBvc2VkIHRvIHRoaXMgaW5kZXguIFdoYXQgaGFw cGVucyBpZg0KPnRoZSBzYW1lIGNvbnN1bWVyIGlzIGNvbm5lY3RlZCB0byBhIGRpZmZlcmVudCBQ SFk/DQo+DQoNClRoYW5rcyBhIGxvdCBmb3Igc3BlbmRpbmcgeW91ciB0aW1lIGluIHJldmlld2lu ZyB0aGlzIHBhdGNoLiBUaGUgY29uc3VtZXIgb2YgdGhpcw0KcGFydGljdWxhciBmdW5jdGlvbiAg aXMgYSBEaXNwbGF5IFBvcnQgYW5kIGl0IGlzIFhpbGlueCBzcGVjaWZpYyBJUC4gSSBhbSBub3Qg dmVyeSBzdXJlIG9mDQp0aGUgaW5mb3JtYXRpb24gaWYgYW55IG90aGVyIERpc3BsYXkgUG9ydCBk cml2ZXJzIG5lZWQgdG8gaGFuZGxlIHRoaXMgc2ltaWxhciBraW5kIG9mDQpydW50aW1lIGFkanVz dG1lbnQgb2YgdGhlIGRlLWVtcGhhc2lzIG9yIHZvbHRhZ2Ugc3dpbmcgdmFsdWVzLCBidXQgdGhl IFhpbGlueCBEUA0KaGFzIHRvIGRvIGl0IGF0IHJ1bnRpbWUgYXMgYSBwYXJ0IG9mIHRyYWluaW5n IHNlcXVlbmNlLiBZb3UgbWF5IGNvbnNpZGVyIHRoaXMgYXMgYW4NCmltcGxlbWVudGF0aW9uIHJl cXVpcmVtZW50LiBUaGUgWGlsaW54IERQIGlzIGV4cGVjdGVkIHRvIHdvcmsgb25seSB3aXRoIHRo aXMgenlucW1wDQpwaHkgYW5kIHRoZXNlIHBsdmwgJiB2bHZsIHZhbHVlcyBhcmUgcHJlZGVmaW5l ZCBhbmQgdGhlcmUgaXMgYW4gb25lIHRvIG9uZSBtYXBwaW5nIG9mDQp0aGVzZSB2YWx1ZXMgYmV0 d2VlbiBYaWxpbnggRFAgZHJpdmVyIGFuZCBwaHktenlucW1wIGRyaXZlci4gVGhlc2UgdmFsdWVz IGFyZSBjYWxjdWxhdGVkDQpieSB0aGUgRFAgZHJpdmVyIGJhc2VkIG9uIHRoZSBEUENEIGRhdGEg cmVhZCBmcm9tIHNpbmsgYW5kIHBhc3NlZCBhcyBhbiBhcmd1bWVudHMNCnRvIHhwc2d0cl9vdmVy cmlkZV9kZWVtcGgoKSBmdW5jdGlvbi4gSG9wZSB0aGlzIGFuc3dlcnMgeW91ciBxdWVyeS4NClBs ZWFzZSBjb3JyZWN0IG1lLCBpZiBJIGFtIG1pc3Npbmcgc29tZXRoaW5nIG9yIG15IHVuZGVyc3Rh bmRpbmcgaXMgd3JvbmcgDQoNClRoYW5rcywNCkFudXJhZyBLdW1hciBWdWxpc2hhDQo=