From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 83DEAA034C; Mon, 9 May 2022 23:24:19 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6123F41156; Mon, 9 May 2022 23:24:19 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 6A9EA410EE for ; Mon, 9 May 2022 23:24:17 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1652131457; x=1683667457; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=76cOoxRHyaJsc0gEb1+Z2dlAo6tnNH5szdaZzq02yWs=; b=n/wEAvKO4BabcB8XYKPYod0Y9cOiH6odBpcIXtdE4zYCpoKyrBjxNldf 51RpKnqzPL2fgghky51AYWX5XueW6BuD+97q/TjQDWpLSMKx5RSVeWBb7 XjPGF8xt5anxqKvmw7xRPUzVm1RkgUROcfRn4PPwlMsVxNc4kZohvDeSS FLuE6VyH1amaWXa2I7eYuBeeRsz48r9DtsC4zb0/mTUfLXmZ1CQSRyhLQ YTnLQryIYO/b4Dr8vOcYiXXOlM3WCZ3o+4UJpfub4Y2iwsJFn6Pifj+pQ 6qYdGjr+s8EOy4vRn2Blau3XofCdxSRammZEVriqGdQGf4ajC+936qKgw Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10342"; a="268839083" X-IronPort-AV: E=Sophos;i="5.91,212,1647327600"; d="scan'208";a="268839083" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 May 2022 14:24:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,212,1647327600"; d="scan'208";a="519418310" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga003.jf.intel.com with ESMTP; 09 May 2022 14:24:01 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Mon, 9 May 2022 14:24:01 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Mon, 9 May 2022 14:24:00 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Mon, 9 May 2022 14:24:00 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.108) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Mon, 9 May 2022 14:24:00 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KYYpiO8bIaQ1kDg1FqF7TSzTQrORYPLmsP9gfhVrt5n4lNE5FZYIvjvmsWynM2jc4x2IwEavE0U/LEjRG32Eo3oReeZSuGkiiBD6z+3G+Q6OGA0nwFaK11m/OC2mH/Rnzygwgh8P08PR2rIR5AObOqFIY4G+7pE+PBMxSmonJqUBmnjRQq8d5A+3XZrEFYcqF4FSwovB3fJe210g9IL2YkHgFTuT15Uy2NFyUBgE1UgNPvmUWNyzawGfimL33ygl49XeePvAVKrXAcjMsjqfcKLzTi6sYpLKI6OQT4MrTJTFg8SrgytXwtAd3uvdnFMJjvMM2O61OJkx3zpT2BdImQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=76cOoxRHyaJsc0gEb1+Z2dlAo6tnNH5szdaZzq02yWs=; b=i0pR7ZlBQyHaOGq3iMFFoMbfcT/NLfE70oBbuHMKpdD5In00q0uboVw6maMY9o28pzq3B645H7haabrksS8YRCSdkFnJjP+IPtgu+y5o5/L06SoImHbK4yFeR7WBeqQuZS+JWGS3Eg6qKGDYQEhEIE6SQHLMqShna3B9BNzuz3G+LakzxtjRoOeMq6DGV1K0Zgs35YKPbBQ4/0BAhtpfcgs1VttKmYGMJe/3GUJh4M3INeKkA1mVTmb+64ImkbD6uLj1uT37u92zaBvk0jn/4JyQDkKSsc0NnRaFY/saFGontQuK8Kx89430I+aE4/dUXc5NP4xokRfr3x9i1ohBAw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from BY5PR11MB4451.namprd11.prod.outlook.com (2603:10b6:a03:1cb::30) by BYAPR11MB2998.namprd11.prod.outlook.com (2603:10b6:a03:84::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5227.23; Mon, 9 May 2022 21:23:57 +0000 Received: from BY5PR11MB4451.namprd11.prod.outlook.com ([fe80::40f:170c:c586:7219]) by BY5PR11MB4451.namprd11.prod.outlook.com ([fe80::40f:170c:c586:7219%2]) with mapi id 15.20.5227.023; Mon, 9 May 2022 21:23:56 +0000 From: "Chautru, Nicolas" To: Tom Rix , "dev@dpdk.org" , "gakhil@marvell.com" CC: "thomas@monjalon.net" , "Kinsella, Ray" , "Richardson, Bruce" , "hemant.agrawal@nxp.com" , "Zhang, Mingshan" , "david.marchand@redhat.com" Subject: RE: [PATCH v2 1/5] baseband/acc100: introduce PMD for ACC101 Thread-Topic: [PATCH v2 1/5] baseband/acc100: introduce PMD for ACC101 Thread-Index: AQHYWmPF7LUpBYm9FUiaxxC9iYOhDa0VAwQAgAIcJHA= Date: Mon, 9 May 2022 21:23:56 +0000 Message-ID: References: <1651083423-33202-1-git-send-email-nicolas.chautru@intel.com> <1651083423-33202-2-git-send-email-nicolas.chautru@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.401.20 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9bef51c9-1a21-463f-fb4b-08da320239aa x-ms-traffictypediagnostic: BYAPR11MB2998:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: HGbjV/rcdPwgQ10SUtD1Q/vYoCrk+cdfCB3MbGCB+9YvBGs3UUdkx0roHLO3KtcLYoSQnXdSM+Ztm8+yOCzl5FFIqPeicXUrZMrLuEYRKoZvBYBBU06k2qg3/r6sY+eali2jyC0KDniseGbvGnILmSiLjg6+OFUxSDiIpN28WQCJBF9hJJhRpsFX6u8Q+EcDXMecZuToX/9ytJO6Key5HusRqTFWnKuvkWLZUZSSJ7JtrE7MbwKItI1xLFOVr4yZw8Yq40n4CxfpL7dQS88N5T/zW75j+VQI/EPAGecA4Y6tgapfVpA2Y+ocTZDUaT+bRzWepeJSxTrzJVG3RjIKerIrYm2GiFMpFzcvcHes2Mt5YFnpIDTXhjdUKUgI9YR9xo1pS9jATAML0zpUsjwU/Xc6RhsiaT1twXIIqJKb84q1RvANw6TDzRd/G6LjuhRdpSGO2cKyciTtBqZc+lrrGHpRs/40SEK/z0K1FhNIacKxSxayUfKuV9vZrEE3XTUZ4U4gvSJmebe/NmfFJoJOqhsAySzlnG/R4hngvc9nJdeJ8kirQugDZiOgwYPf9rSsRBtVY67hdnw6e1OkckRCVOFBWMv7IfSUbwWUp/N3rysqsTi+n9ElnrE6iyLof5JsnYY5aXem+3JG1HXjX6HLG64SCtN9lJr3n1XxZ62Aalb3w41+PWN9LPmjk3KdEpY6rGAQVsz3JNpsCh26VLsk/5ARWG5Cyfz8nlPaAe3xEEIVdqTR7hDOOjpvL1mxLE1uPFzgsHduyiR4WYyi2uxF9xLYbjiVBzHRUw4Y2SB+kh4= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR11MB4451.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(8936002)(71200400001)(38100700002)(82960400001)(86362001)(122000001)(508600001)(38070700005)(966005)(5660300002)(110136005)(66946007)(53546011)(6506007)(7696005)(316002)(54906003)(66476007)(64756008)(76116006)(66556008)(66446008)(4326008)(8676002)(52536014)(9686003)(83380400001)(33656002)(186003)(55016003)(2906002)(26005)(30864003)(559001)(579004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?R1g0Tm4zSFZhZ1dNcG1SdXc2QmdBVndQY0VFdmlVNzNlUGlTMG5pYUt3UzNS?= =?utf-8?B?djF3bGxMdnVVdm9GVUZ4Rm9RMHNDWVBrUndpcnFVQi9zalhydXp2YkJxc0Y4?= =?utf-8?B?b25HZFAxb2pCeXJsd0oxZHZqZ0t6LzV2RGI3bkJlTnQrcGg2OXZIUEwxWHIw?= =?utf-8?B?UFgxYUxEODlTUWRkSmh5NUNCT1hrWFpuZldLUFdKYzZKNGNEemN1ZjA1SElF?= =?utf-8?B?QmVsN3ZiZmpFd00yVVZvTHpSN3R5dExCejdoQ3Z5MXJ4Vkx3MFNta2d6ajhq?= =?utf-8?B?N1VsbE8xMVZQNGdvQWs3WThDNjJVSUZIVTVOYmUxazA4Y3VabjgydGxRYmJv?= =?utf-8?B?VVU1NS9MR2syUmxjY2VMaDMrN1pXQkV4YW9ydjR4Z1ZJVVFBNVpYMXJhTHBj?= =?utf-8?B?cEszZlQwVi9SSTFxZjdQdlZ3V0tWZGNVL0VwamhyZWUzZFF5NTVrZVgvOU1i?= =?utf-8?B?OXpJZEJ5YTdGNzhvdmlCRDRwV29Ubm1ER1NOQVhDeHZuUmVubnh3WmprSzF3?= =?utf-8?B?VHBkZHJlRkQyaXJ2cTFnMVhEWTB6cC94V2NnT0pjdzZ4UTE0NnZwMjMxYlZv?= =?utf-8?B?NGVpbXlVYy9VSmJqdndkVDhGa3JyMUo3UWFxVG4xYlpKaExXaWF1ZlB4UGRw?= =?utf-8?B?VWUwejB3c0xiK296K3VncjJoVUhKT3dRbDZpcGE4TEtRcG5QQjVlUXFYdTBD?= =?utf-8?B?bTZtVkMwd1pCa0lHODZJTGxiSkQ1SDY5blBMNExWaXViT1F4TDhqUTMzQThv?= =?utf-8?B?bWpITE1VQjNnYTBBK0t3R3hCM0xISmo3aEw0dFdFNDBmb3BmYVFFNmRlY3Vp?= =?utf-8?B?eHB6QWFURzFyUU1DM1h0ams1QmpyM2d5MnMzYWtCQzVjcENQa3dsaHlMRDFV?= =?utf-8?B?YTBmUDY2RWpEeDU4eEFqUnB4K2gvNU1McHJ0a0VxbUwyVHhYbEFPL3poaHpi?= =?utf-8?B?Y1JhRXFaZnlRb3pEL0txZ3o4SEpGSHhITXBpbWFzeWtwUk52S2Nyd1BHSDVJ?= =?utf-8?B?eDlqZzNoQkNzK2hnOGc0dEtNOVltVWFydmZ4SVFZTHNwaEpDQm90anJEVjlB?= =?utf-8?B?VExvR0xtbmRKLzF5dGFhZGhuMlFaampKMzU2enAwZHRxOUdhVml5MUhQcWlj?= =?utf-8?B?QlJxdlk2TGxVd1gzWHYwTnBkV3VueDZTcTloQ09TS2FqTUZJRlRBOE9SSFFn?= =?utf-8?B?L0dXVUFjZ2VYYWFyR2dOYU9NUHRHTFNROE5waFg2aE42TEcrRFRyL3BGakdZ?= =?utf-8?B?YlBLRmtab01OTy9lTGVqek5sZ2ova2VnN1pZcVEvVEE5VHlDOWVNUWpVQTJv?= =?utf-8?B?aUJ0TE55ck5yODFWZUVxdWRCWHJGdWZlc3dheldjTE1hNjVtOXY2WElFSzNT?= =?utf-8?B?QVplVVYzNjlTcjdqOWlESmgvK0tSMVRKRHgwUnMzZEhwMlFXbGlkN3BQNnMr?= =?utf-8?B?UGxML1pPSGlTZ2p0aSsyMTQ4QklHL0hPejhlK0VLRXQwTmhaWnZzT0JpT2Vx?= =?utf-8?B?N3poTWxldHFEMXdpVGNSWWpWMHRTc3czTFozaUREQUQyZ2c4QVJld2xIUFhm?= =?utf-8?B?MWZiUFZ3T04xME40MG53Uk56Z0RMdzQ0bkpsT1d6OWRnY2FmNW5RZjdDeHpM?= =?utf-8?B?VXhIQ2pvSFg2d2hHMEdCQTJIWmtveEdRT3hITU1LVHBRbVVWRkEwVTUvSVVs?= =?utf-8?B?cExvdFE2OVo0YW9MNXJJRVk4S3ZveVRuSDdDQVlmRUlmclBkRFJjWGI4QWdy?= =?utf-8?B?dGVNVnZaTml6M0s4OFZRVXR3Y3hEamIvVkVjOUF6WnYvQUpOYUVLa0RuOEVB?= =?utf-8?B?dng3dDdxc0dJOEJnSFBOVmZzNW1aeFBEWWdFNGZnQjFtSnoxU0JJV0c4cjNQ?= =?utf-8?B?a2FaUlBmYmttM3pLY0R3am5NVkN5dUxEMmpneFIrRjNCM2pwVTUzakVXbHBS?= =?utf-8?B?YVVrcUZEM3pqU3hJaXErVEZIOEg0blJ6clErRXh0OFBETVVlcWhlVjN1YmV5?= =?utf-8?B?REJITUZTN29oZUt1ZUs4bUduS0g4cG5SZ1EvVGhJMTFBSDRaTm9ySU0yd2hT?= =?utf-8?B?R3JpK3JNVnIxR01rVTd5UWM4TnN5VGExenNLbGxtY3dqZkNUWU5ZRWErQTJH?= =?utf-8?B?Yk02aUNweFp4bFozVlFGTWNNZnk2S085cGpGQldyUEovazRLSkM0c3puajVp?= =?utf-8?B?L2t4Rmg4bmdvMUdBMHhsanNVMUxRM0t2amNTSTZlUHJJb1RCRWJzL2R5bFZH?= =?utf-8?B?RUdFNWlBOTV3aVdCblJuNGVOR1hIMTJvQkVYMDJIQU0yN2JJWHloNGVLdjRt?= =?utf-8?B?S2Y4azVSaWZsRzNvRjlDZGFhNmkvY0YwQlFGMDl1UXBiR2ZEY2lKSlpkaTZM?= =?utf-8?Q?hzfFT1iwOgx6M2JU=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY5PR11MB4451.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9bef51c9-1a21-463f-fb4b-08da320239aa X-MS-Exchange-CrossTenant-originalarrivaltime: 09 May 2022 21:23:56.4551 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: jj1wwXRBPaHv8WTcEJlhG9OYbnzBVhe5SP7zahCZB5ka0mL78oOiVWgV5rFlZhsoW5WhNVsxOONmEMtDIxMgbXps4MCuEUDDnw4iDZuJeEE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2998 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org SGkgVG9tLCANCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBUb20gUml4 IDx0cml4QHJlZGhhdC5jb20+DQo+IFNlbnQ6IFN1bmRheSwgTWF5IDgsIDIwMjIgNjowMyBBTQ0K PiBUbzogQ2hhdXRydSwgTmljb2xhcyA8bmljb2xhcy5jaGF1dHJ1QGludGVsLmNvbT47IGRldkBk cGRrLm9yZzsNCj4gZ2FraGlsQG1hcnZlbGwuY29tDQo+IENjOiB0aG9tYXNAbW9uamFsb24ubmV0 OyBLaW5zZWxsYSwgUmF5IDxyYXkua2luc2VsbGFAaW50ZWwuY29tPjsgUmljaGFyZHNvbiwNCj4g QnJ1Y2UgPGJydWNlLnJpY2hhcmRzb25AaW50ZWwuY29tPjsgaGVtYW50LmFncmF3YWxAbnhwLmNv bTsgWmhhbmcsDQo+IE1pbmdzaGFuIDxtaW5nc2hhbi56aGFuZ0BpbnRlbC5jb20+OyBkYXZpZC5t YXJjaGFuZEByZWRoYXQuY29tDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjIgMS81XSBiYXNlYmFu ZC9hY2MxMDA6IGludHJvZHVjZSBQTUQgZm9yIEFDQzEwMQ0KPiANCj4gVGhpcyBpcyBhIGdvb2Qg c3RhcnQgcmV1c2luZyBjb2RlLCBidXQgSSB0aGluayBpdCBuZWVkcyB0byBkbyBtb3JlIHJldXNl Lg0KPiANCj4gVGhlc2UgY2FyZHMgc2hvdWxkIGJlIHZlcnkgY2xvc2UgYW5kIGxpa2VseSByZXBy ZXNlbnQgYSBmYW1pbHkgb2YgY2FyZHMuDQo+IA0KPiBPbiA0LzI3LzIyIDExOjE2IEFNLCBOaWNv bGFzIENoYXV0cnUgd3JvdGU6DQo+ID4gU3VwcG9ydCBmb3IgQUNDMTAxIGFzIGEgZGVyaXZhdGl2 ZSBvZiBBQ0MxMDAuDQo+ID4gUmV1c2luZyBleGlzdGluZyBjb2RlIHdoZW4gcG9zc2libGUuDQo+ ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBOaWNvbGFzIENoYXV0cnUgPG5pY29sYXMuY2hhdXRydUBp bnRlbC5jb20+DQo+ID4gLS0tDQo+ID4gICBkb2MvZ3VpZGVzL2JiZGV2cy9hY2MxMDEucnN0ICAg ICAgICAgICAgIHwgMjM3DQo+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiAg IGRvYy9ndWlkZXMvYmJkZXZzL2ZlYXR1cmVzL2FjYzEwMS5pbmkgICAgfCAgMTMgKysNCj4gPiAg IGRvYy9ndWlkZXMvYmJkZXZzL2luZGV4LnJzdCAgICAgICAgICAgICAgfCAgIDEgKw0KPiA+ICAg ZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMl8wNy5yc3QgICB8ICAgNCArDQo+ID4gICBk cml2ZXJzL2Jhc2ViYW5kL2FjYzEwMC9ydGVfYWNjMTAwX3BtZC5jIHwgMTk0DQo+ICsrKysrKysr KysrKysrKysrKysrKysrKy0NCj4gPiAgIGRyaXZlcnMvYmFzZWJhbmQvYWNjMTAwL3J0ZV9hY2Mx MDBfcG1kLmggfCAgIDYgKw0KPiA+ICAgZHJpdmVycy9iYXNlYmFuZC9hY2MxMDAvcnRlX2FjYzEw MV9wbWQuaCB8ICA2MSArKysrKysrKw0KPiA+ICAgNyBmaWxlcyBjaGFuZ2VkLCA1MTEgaW5zZXJ0 aW9ucygrKSwgNSBkZWxldGlvbnMoLSkNCj4gPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkb2MvZ3Vp ZGVzL2JiZGV2cy9hY2MxMDEucnN0DQo+ID4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZG9jL2d1aWRl cy9iYmRldnMvZmVhdHVyZXMvYWNjMTAxLmluaQ0KPiA+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRy aXZlcnMvYmFzZWJhbmQvYWNjMTAwL3J0ZV9hY2MxMDFfcG1kLmgNCj4gPg0KPiA+IGRpZmYgLS1n aXQgYS9kb2MvZ3VpZGVzL2JiZGV2cy9hY2MxMDEucnN0DQo+ID4gYi9kb2MvZ3VpZGVzL2JiZGV2 cy9hY2MxMDEucnN0IG5ldyBmaWxlIG1vZGUgMTAwNjQ0IGluZGV4DQo+ID4gMDAwMDAwMC4uNDZj MzEwYg0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9kb2MvZ3VpZGVzL2JiZGV2cy9hY2Mx MDEucnN0DQo+ID4gQEAgLTAsMCArMSwyMzcgQEANCj4gPiArLi4gIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMy1DbGF1c2UNCj4gPiArICAgIENvcHlyaWdodChjKSAyMDIwIEludGVsIENv cnBvcmF0aW9uDQo+ID4gKw0KPiA+ICtJbnRlbChSKSBBQ0MxMDEgNUcvNEcgRkVDIFBvbGwgTW9k ZSBEcml2ZXINCj4gPiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 DQo+ID4gKw0KPiA+ICtUaGUgQkJERVYgQUNDMTAxIDVHLzRHIEZFQyBwb2xsIG1vZGUgZHJpdmVy IChQTUQpIHN1cHBvcnRzIGFuDQo+ID4gK2ltcGxlbWVudGF0aW9uIG9mIGEgVlJBTiBGRUMgd2ly ZWxlc3MgYWNjZWxlcmF0aW9uIGZ1bmN0aW9uLg0KPiA+ICtUaGlzIGRldmljZSBpcyBhbHNvIGtu b3duIGFzIE1vdW50IENpcnJ1cy4NCj4gPiArVGhpcyBpcyBhIGZvbGxvdy11cCB0byBNb3VudCBC cnljZSAoQUNDMTAwKSBhbmQgaW5jbHVkZXMgZml4ZXMsDQo+ID4gK2ltcHJvdmVkIGZlYXR1cmUg c2V0IGZvciBlcnJvciBzY2VuYXJpb3MgYW5kIHBlcmZvcm1hbmNlIGNhcGFjaXR5IGluY3JlYXNl Lg0KPiANCj4gaW5jbHVkZXMgZml4ZXMsIGJldHRlciBlcnJvciBoYW5kbGluZyBhbmQgaW5jcmVh c2VkIHBlcmZvcm1hbmNlLg0KPiANCj4gQSBxdWljayBsb29rIGF0IGFjYzEwMC5yc3QgYW5kIHRo ZSBidWxrIG9mIGFjYzEwMS5yc3QgbG9va3MgdGhlIHNhbWUuDQo+IA0KPiBDb25zaWRlciBhIHVz ZXIgb2YgdGhlIGFjYzEwMCBpcyB1cGdyYWRpbmcgdG8gYWNjMTAxLCB0aGV5IHdpbGwNCj4gDQo+ IHdhbnQgdG8ga25vdyB3aGF0IGlzIHRoZSBzYW1lIGFuZCB3aGF0IGhhcyBjaGFuZ2VkIGFuZCB0 ZXN0IGFjY29yZGluZ2x5Lg0KPiANCj4gVGhlc2UgdHdvIGRvY3VtZW50cyBzaG91bGQgYmUgY29t YmluZWQuDQo+IA0KDQpXZWxsIGluIHRlcm0gb2YgZG9jdW1lbnRhdGlvbiwgZm9yIHRoZSB1c2Vy cyBpdCBoZWxwcyB0byBiZSBhYmxlIHRvIGZvbGxvdyBzdGVwcyBhcyB0aGV5IGFyZSBmb3IgYSBn aXZlbiB2YXJpYW50LiANCkFzIG9wcG9zZWQgdG8gaGF2ZSB0byBoYXZlIG11bHRpcGxlIG9wdGlv bnMgdGhyb3VnaCB0aGUgZG9jdW1lbnQgd2hlbiB1c2luZyBBQ0MxMDAgdnMgQUNDMTAxLg0KRXhj ZXB0IGlmIHRoZXkgYXJlIG90aGVyIG9iamVjdGlvbnMsIEkgd291bGQgc2VlIHRoaXMgbW9yZSB1 c2VmdWwgZm9yIHRoZSB1c2VyIGFzIGlzIGFuZCBsZXNzIHNvdXJjZSBvZiBlcnJvcnMuIA0KDQoN Cj4gPiArDQo+ID4gK0ZlYXR1cmVzDQo+ID4gKy0tLS0tLS0tDQo+ID4gKw0KPiA+ICtBQ0MxMDEg NUcvNEcgRkVDIFBNRCBzdXBwb3J0cyB0aGUgZm9sbG93aW5nIGZlYXR1cmVzOg0KPiA+ICsNCj4g PiArLSBMRFBDIEVuY29kZSBpbiB0aGUgREwgKDVHTlIpDQo+ID4gKy0gTERQQyBEZWNvZGUgaW4g dGhlIFVMICg1R05SKQ0KPiA+ICstIFR1cmJvIEVuY29kZSBpbiB0aGUgREwgKDRHKQ0KPiA+ICst IFR1cmJvIERlY29kZSBpbiB0aGUgVUwgKDRHKQ0KPiA+ICstIDE2IFZGcyBwZXIgUEYgKHBoeXNp Y2FsIGRldmljZSkNCj4gPiArLSBNYXhpbXVtIG9mIDEyOCBxdWV1ZXMgcGVyIFZGDQo+ID4gKy0g UENJZSBHZW4tMyB4MTYgSW50ZXJmYWNlDQo+ID4gKy0gTVNJDQo+ID4gKy0gU1ItSU9WDQo+ID4g Kw0KPiA+ICtBQ0MxMDEgNUcvNEcgRkVDIFBNRCBzdXBwb3J0cyB0aGUgZm9sbG93aW5nIEJCREVW IGNhcGFiaWxpdGllczoNCj4gPiArDQo+ID4gKyogRm9yIHRoZSBMRFBDIGVuY29kZSBvcGVyYXRp b246DQo+ID4gKyAgIC0gYGBSVEVfQkJERVZfTERQQ19DUkNfMjRCX0FUVEFDSGBgIDogIHNldCB0 byBhdHRhY2ggQ1JDMjRCIHRvIENCKHMpDQo+ID4gKyAgIC0gYGBSVEVfQkJERVZfTERQQ19SQVRF X01BVENIYGAgOiAgaWYgc2V0IHRoZW4gZG8gbm90IGRvIFJhdGUgTWF0Y2gNCj4gYnlwYXNzDQo+ ID4gKyAgIC0gYGBSVEVfQkJERVZfTERQQ19JTlRFUkxFQVZFUl9CWVBBU1NgYCA6IGlmIHNldCB0 aGVuIGJ5cGFzcw0KPiA+ICtpbnRlcmxlYXZlcg0KPiA+ICsNCj4gPiArKiBGb3IgdGhlIExEUEMg ZGVjb2RlIG9wZXJhdGlvbjoNCj4gPiArICAgLSBgYFJURV9CQkRFVl9MRFBDX0NSQ19UWVBFXzI0 Ql9DSEVDS2BgIDogIGNoZWNrIENSQzI0QiBmcm9tIENCKHMpDQo+ID4gKyAgIC0gYGBSVEVfQkJE RVZfTERQQ19JVEVSQVRJT05fU1RPUF9FTkFCTEVgYCA6ICBkaXNhYmxlIGVhcmx5DQo+IHRlcm1p bmF0aW9uDQo+ID4gKyAgIC0gYGBSVEVfQkJERVZfTERQQ19DUkNfVFlQRV8yNEJfRFJPUGBgIDog IGRyb3BzIENSQzI0QiBiaXRzDQo+IGFwcGVuZGVkIHdoaWxlIGRlY29kaW5nDQo+ID4gKyAgIC0g YGBSVEVfQkJERVZfTERQQ19IUV9DT01CSU5FX0lOX0VOQUJMRWBgIDogIHByb3ZpZGVzIGFuIGlu cHV0IGZvcg0KPiBIQVJRIGNvbWJpbmluZw0KPiA+ICsgICAtIGBgUlRFX0JCREVWX0xEUENfSFFf Q09NQklORV9PVVRfRU5BQkxFYGAgOiAgcHJvdmlkZXMgYW4gaW5wdXQNCj4gZm9yIEhBUlEgY29t YmluaW5nDQo+ID4gKyAgIC0gYGBSVEVfQkJERVZfTERQQ19JTlRFUk5BTF9IQVJRX01FTU9SWV9J Tl9FTkFCTEVgYCA6ICBIQVJRDQo+IG1lbW9yeSBpbnB1dCBpcyBpbnRlcm5hbA0KPiA+ICsgICAt IGBgUlRFX0JCREVWX0xEUENfSU5URVJOQUxfSEFSUV9NRU1PUllfT1VUX0VOQUJMRWBgIDogIEhB UlENCj4gbWVtb3J5IG91dHB1dCBpcyBpbnRlcm5hbA0KPiA+ICsgICAtIGBgUlRFX0JCREVWX0xE UENfSU5URVJOQUxfSEFSUV9NRU1PUllfTE9PUEJBQ0tgYCA6DQo+IGxvb3BiYWNrIGRhdGEgdG8v ZnJvbSBIQVJRIG1lbW9yeQ0KPiA+ICsgICAtIGBgUlRFX0JCREVWX0xEUENfSU5URVJOQUxfSEFS UV9NRU1PUllfRklMTEVSU2BgIDogIEhBUlENCj4gbWVtb3J5IGluY2x1ZGVzIHRoZSBmaWxsZXJz IGJpdHMNCj4gPiArICAgLSBgYFJURV9CQkRFVl9MRFBDX0RFQ19TQ0FUVEVSX0dBVEhFUmBgIDog IHN1cHBvcnRzIHNjYXR0ZXItZ2F0aGVyDQo+IGZvciBpbnB1dC9vdXRwdXQgZGF0YQ0KPiA+ICsg ICAtIGBgUlRFX0JCREVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9OYGAgOiAgc3VwcG9ydHMN Cj4gY29tcHJlc3Npb24gb2YgdGhlIEhBUlEgaW5wdXQvb3V0cHV0DQo+ID4gKyAgIC0gYGBSVEVf QkJERVZfTERQQ19MTFJfQ09NUFJFU1NJT05gYCA6ICBzdXBwb3J0cyBMTFIgaW5wdXQNCj4gPiAr Y29tcHJlc3Npb24NCj4gPiArDQo+ID4gKyogRm9yIHRoZSB0dXJibyBlbmNvZGUgb3BlcmF0aW9u Og0KPiA+ICsgICAtIGBgUlRFX0JCREVWX1RVUkJPX0NSQ18yNEJfQVRUQUNIYGAgOiAgc2V0IHRv IGF0dGFjaCBDUkMyNEIgdG8NCj4gQ0IocykNCj4gPiArICAgLSBgYFJURV9CQkRFVl9UVVJCT19S QVRFX01BVENIYGAgOiAgaWYgc2V0IHRoZW4gZG8gbm90IGRvIFJhdGUgTWF0Y2gNCj4gYnlwYXNz DQo+ID4gKyAgIC0gYGBSVEVfQkJERVZfVFVSQk9fRU5DX0lOVEVSUlVQVFNgYCA6ICBzZXQgZm9y IGVuY29kZXIgZGVxdWV1ZQ0KPiBpbnRlcnJ1cHRzDQo+ID4gKyAgIC0gYGBSVEVfQkJERVZfVFVS Qk9fUlZfSU5ERVhfQllQQVNTYGAgOiAgc2V0IHRvIGJ5cGFzcyBSViBpbmRleA0KPiA+ICsgICAt IGBgUlRFX0JCREVWX1RVUkJPX0VOQ19TQ0FUVEVSX0dBVEhFUmBgIDogIHN1cHBvcnRzDQo+ID4g K3NjYXR0ZXItZ2F0aGVyIGZvciBpbnB1dC9vdXRwdXQgZGF0YQ0KPiA+ICsNCj4gPiArKiBGb3Ig dGhlIHR1cmJvIGRlY29kZSBvcGVyYXRpb246DQo+ID4gKyAgIC0gYGBSVEVfQkJERVZfVFVSQk9f Q1JDX1RZUEVfMjRCYGAgOiAgY2hlY2sgQ1JDMjRCIGZyb20gQ0IocykNCj4gPiArICAgLSBgYFJU RV9CQkRFVl9UVVJCT19TVUJCTE9DS19ERUlOVEVSTEVBVkVgYCA6ICBwZXJmb3JtIHN1YmJsb2Nr DQo+IGRlLWludGVybGVhdmUNCj4gPiArICAgLSBgYFJURV9CQkRFVl9UVVJCT19ERUNfSU5URVJS VVBUU2BgIDogIHNldCBmb3IgZGVjb2RlciBkZXF1ZXVlDQo+IGludGVycnVwdHMNCj4gPiArICAg LSBgYFJURV9CQkRFVl9UVVJCT19ORUdfTExSXzFfQklUX0lOYGAgOiAgc2V0IGlmIG5lZ2F0aXZl IExMUiBlbmNvZGVyDQo+IGkvcCBpcyBzdXBwb3J0ZWQNCj4gPiArICAgLSBgYFJURV9CQkRFVl9U VVJCT19QT1NfTExSXzFfQklUX0lOYGAgOiAgc2V0IGlmIHBvc2l0aXZlIExMUiBlbmNvZGVyDQo+ IGkvcCBpcyBzdXBwb3J0ZWQNCj4gPiArICAgLSBgYFJURV9CQkRFVl9UVVJCT19ERUNfVEJfQ1JD XzI0Ql9LRUVQYGAgOiAga2VlcCBDUkMyNEIgYml0cw0KPiBhcHBlbmRlZCB3aGlsZSBkZWNvZGlu Zw0KPiA+ICsgICAtIGBgUlRFX0JCREVWX1RVUkJPX0RFQ19DUkNfMjRCX0RST1BgYCA6IG9wdGlv biB0byBkcm9wIHRoZSBjb2RlDQo+IGJsb2NrIENSQyBhZnRlciBkZWNvZGluZw0KPiA+ICsgICAt IGBgUlRFX0JCREVWX1RVUkJPX0VBUkxZX1RFUk1JTkFUSU9OYGAgOiAgc2V0IGVhcmx5IHRlcm1p bmF0aW9uDQo+IGZlYXR1cmUNCj4gPiArICAgLSBgYFJURV9CQkRFVl9UVVJCT19ERUNfU0NBVFRF Ul9HQVRIRVJgYCA6ICBzdXBwb3J0cyBzY2F0dGVyLWdhdGhlcg0KPiBmb3IgaW5wdXQvb3V0cHV0 IGRhdGENCj4gPiArICAgLSBgYFJURV9CQkRFVl9UVVJCT19IQUxGX0lURVJBVElPTl9FVkVOYGAg OiAgc2V0IGhhbGYgaXRlcmF0aW9uDQo+ID4gK2dyYW51bGFyaXR5DQo+ID4gKw0KPiA+ICtJbnN0 YWxsYXRpb24NCj4gPiArLS0tLS0tLS0tLS0tDQo+ID4gKw0KPiA+ICtTZWN0aW9uIDMgb2YgdGhl IERQREsgbWFudWFsIHByb3ZpZGVzIGluc3RydWN0aW9ucyBvbiBpbnN0YWxsaW5nIGFuZA0KPiBj b21waWxpbmcgRFBESy4NCj4gPiArDQo+ID4gK0RQREsgcmVxdWlyZXMgaHVnZXBhZ2VzIHRvIGJl IGNvbmZpZ3VyZWQgYXMgZGV0YWlsZWQgaW4gc2VjdGlvbiAyIG9mIHRoZQ0KPiBEUERLIG1hbnVh bC4NCj4gPiArVGhlIGJiZGV2IHRlc3QgYXBwbGljYXRpb24gaGFzIGJlZW4gdGVzdGVkIHdpdGgg YSBjb25maWd1cmF0aW9uIDQwIHgNCj4gPiArMUdCIGh1Z2VwYWdlcy4gVGhlIGh1Z2VwYWdlIGNv bmZpZ3VyYXRpb24gb2YgYSBzZXJ2ZXIgbWF5IGJlIGV4YW1pbmVkDQo+IHVzaW5nOg0KPiA+ICsN Cj4gPiArLi4gY29kZS1ibG9jazo6IGNvbnNvbGUNCj4gPiArDQo+ID4gKyAgIGdyZXAgSHVnZSog L3Byb2MvbWVtaW5mbw0KPiA+ICsNCj4gPiArDQo+ID4gK0luaXRpYWxpemF0aW9uDQo+ID4gKy0t LS0tLS0tLS0tLS0tDQo+ID4gKw0KPiA+ICtXaGVuIHRoZSBkZXZpY2UgZmlyc3QgcG93ZXJzIHVw LCBpdHMgUENJIFBoeXNpY2FsIEZ1bmN0aW9ucyAoUEYpIGNhbiBiZSBsaXN0ZWQNCj4gdGhyb3Vn aCB0aGlzIGNvbW1hbmQ6DQo+ID4gKw0KPiA+ICsuLiBjb2RlLWJsb2NrOjogY29uc29sZQ0KPiA+ ICsNCj4gPiArICBzdWRvIGxzcGNpIC12ZDgwODY6NTdjNA0KPiA+ICsNCj4gPiArVGhlIHBoeXNp Y2FsIGFuZCB2aXJ0dWFsIGZ1bmN0aW9ucyBhcmUgY29tcGF0aWJsZSB3aXRoIExpbnV4IFVJTyBk cml2ZXJzOg0KPiA+ICtgYHZmaW9gYCBhbmQgYGBpZ2JfdWlvYGAuIEhvd2V2ZXIsIGluIG9yZGVy IHRvIHdvcmsgdGhlIEFDQzEwMSA1Ry80Rw0KPiA+ICtGRUMgZGV2aWNlIGZpcnN0IG5lZWRzIHRv IGJlIGJvdW5kIHRvIG9uZSBvZiB0aGVzZSBsaW51eCBkcml2ZXJzIHRocm91Z2gNCj4gRFBESy4N Cj4gPiArDQo+ID4gKw0KPiA+ICtCaW5kIFBGIFVJTyBkcml2ZXIocykNCj4gPiArfn5+fn5+fn5+ fn5+fn5+fn5+fn5+DQo+ID4gKw0KPiA+ICtJbnN0YWxsIHRoZSBEUERLIGlnYl91aW8gZHJpdmVy LCBiaW5kIGl0IHdpdGggdGhlIFBGIFBDSSBkZXZpY2UgSUQNCj4gPiArYW5kIHVzZSBgYGxzcGNp YGAgdG8gY29uZmlybSB0aGUgUEYgZGV2aWNlIGlzIHVuZGVyIHVzZSBieSBgYGlnYl91aW9gYCBE UERLDQo+IFVJTyBkcml2ZXIuDQo+ID4gKw0KPiA+ICtUaGUgaWdiX3VpbyBkcml2ZXIgbWF5IGJl IGJvdW5kIHRvIHRoZSBQRiBQQ0kgZGV2aWNlIHVzaW5nIG9uZSBvZiB0d28NCj4gbWV0aG9kczoN Cj4gPiArDQo+ID4gKw0KPiA+ICsxLiBQQ0kgZnVuY3Rpb25zIChwaHlzaWNhbCBvciB2aXJ0dWFs LCBkZXBlbmRpbmcgb24gdGhlIHVzZSBjYXNlKSBjYW4NCj4gPiArYmUgYm91bmQgdG8gdGhlIFVJ TyBkcml2ZXIgYnkgcmVwZWF0aW5nIHRoaXMgY29tbWFuZCBmb3IgZXZlcnkgZnVuY3Rpb24uDQo+ ID4gKw0KPiA+ICsuLiBjb2RlLWJsb2NrOjogY29uc29sZQ0KPiA+ICsNCj4gPiArICBjZCA8ZHBk ay10b3AtbGV2ZWwtZGlyZWN0b3J5Pg0KPiA+ICsgIGluc21vZCAuL2J1aWxkL2ttb2QvaWdiX3Vp by5rbw0KPiA+ICsgIGVjaG8gIjgwODYgNTdjNCIgPiAvc3lzL2J1cy9wY2kvZHJpdmVycy9pZ2Jf dWlvL25ld19pZA0KPiA+ICsgIGxzcGNpIC12ZDgwODY6NTdjNA0KPiA+ICsNCj4gPiArDQo+ID4g KzIuIEFub3RoZXIgd2F5IHRvIGJpbmQgUEYgd2l0aCBEUERLIFVJTyBkcml2ZXIgaXMgYnkgdXNp bmcgdGhlDQo+ID4gK2BgZHBkay1kZXZiaW5kLnB5YGAgdG9vbA0KPiA+ICsNCj4gPiArLi4gY29k ZS1ibG9jazo6IGNvbnNvbGUNCj4gPiArDQo+ID4gKyAgY2QgPGRwZGstdG9wLWxldmVsLWRpcmVj dG9yeT4NCj4gPiArICAuL3VzZXJ0b29scy9kcGRrLWRldmJpbmQucHkgLWIgaWdiX3VpbyAwMDAw OjA2OjAwLjANCj4gPiArDQo+ID4gK3doZXJlIHRoZSBQQ0kgZGV2aWNlIElEIChleGFtcGxlOiAw MDAwOjA2OjAwLjApIGlzIG9idGFpbmVkIHVzaW5nDQo+ID4gK2xzcGNpIC12ZDgwODY6NTdjNA0K PiA+ICsNCj4gPiArDQo+ID4gK0luIGEgc2ltaWxhciB3YXkgdGhlIEFDQzEwMSA1Ry80RyBGRUMg UEYgbWF5IGJlIGJvdW5kIHdpdGggdmZpby1wY2kgYXMgYW55DQo+IFBDSWUgZGV2aWNlLg0KPiA+ ICsNCj4gPiArDQo+ID4gK0VuYWJsZSBWaXJ0dWFsIEZ1bmN0aW9ucw0KPiA+ICt+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4NCj4gPiArDQo+ID4gK05vdywgaXQgc2hvdWxkIGJlIHZpc2libGUgaW4g dGhlIHByaW50b3V0cyB0aGF0IFBDSSBQRiBpcyB1bmRlcg0KPiA+ICtpZ2JfdWlvIGNvbnRyb2wg ImBgS2VybmVsIGRyaXZlciBpbiB1c2U6IGlnYl91aW9gYCINCj4gPiArDQo+ID4gK1RvIHNob3cg dGhlIG51bWJlciBvZiBhdmFpbGFibGUgVkZzIG9uIHRoZSBkZXZpY2UsIHJlYWQgYGBzcmlvdl90 b3RhbHZmc2BgDQo+IGZpbGUuLg0KPiA+ICsNCj4gPiArLi4gY29kZS1ibG9jazo6IGNvbnNvbGUN Cj4gPiArDQo+ID4gKyAgY2F0IC9zeXMvYnVzL3BjaS9kZXZpY2VzLzAwMDBcOjxiPlw6PGQ+Ljxm Pi9zcmlvdl90b3RhbHZmcw0KPiA+ICsNCj4gPiArICB3aGVyZSAwMDAwXDo8Yj5cOjxkPi48Zj4g aXMgdGhlIFBDSSBkZXZpY2UgSUQNCj4gPiArDQo+ID4gKw0KPiA+ICtUbyBlbmFibGUgVkZzIHZp YSBpZ2JfdWlvLCBlY2hvIHRoZSBudW1iZXIgb2YgdmlydHVhbCBmdW5jdGlvbnMNCj4gPiAraW50 ZW5kZWQgdG8gZW5hYmxlIHRvIGBgbWF4X3Zmc2BgIGZpbGUuLg0KPiA+ICsNCj4gPiArLi4gY29k ZS1ibG9jazo6IGNvbnNvbGUNCj4gPiArDQo+ID4gKyAgZWNobyA8bnVtLW9mLXZmcz4gPiAvc3lz L2J1cy9wY2kvZGV2aWNlcy8wMDAwXDo8Yj5cOjxkPi48Zj4vbWF4X3Zmcw0KPiA+ICsNCj4gPiAr DQo+ID4gK0FmdGVyd2FyZHMsIGFsbCBWRnMgbXVzdCBiZSBib3VuZCB0byBhcHByb3ByaWF0ZSBV SU8gZHJpdmVycyBhcw0KPiA+ICtyZXF1aXJlZCwgc2FtZSB3YXkgaXQgd2FzIGRvbmUgd2l0aCB0 aGUgcGh5c2ljYWwgZnVuY3Rpb24gcHJldmlvdXNseS4NCj4gPiArDQo+ID4gK0VuYWJsaW5nIFNS LUlPViB2aWEgdmZpbyBkcml2ZXIgaXMgcHJldHR5IG11Y2ggdGhlIHNhbWUsIGV4Y2VwdCB0aGF0 DQo+ID4gK3RoZSBmaWxlIG5hbWUgaXMgZGlmZmVyZW50Og0KPiA+ICsNCj4gPiArLi4gY29kZS1i bG9jazo6IGNvbnNvbGUNCj4gPiArDQo+ID4gKyAgZWNobyA8bnVtLW9mLXZmcz4gPg0KPiA+ICsg L3N5cy9idXMvcGNpL2RldmljZXMvMDAwMFw6PGI+XDo8ZD4uPGY+L3NyaW92X251bXZmcw0KPiA+ ICsNCj4gPiArDQo+ID4gK0NvbmZpZ3VyZSB0aGUgVkZzIHRocm91Z2ggUEYNCj4gPiArfn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KPiA+ICsNCj4gPiArVGhlIFBDSSB2aXJ0dWFsIGZ1bmN0 aW9ucyBtdXN0IGJlIGNvbmZpZ3VyZWQgYmVmb3JlIHdvcmtpbmcgb3INCj4gPiArZ2V0dGluZyBh c3NpZ25lZCB0byBWTXMvQ29udGFpbmVycy4gVGhlIGNvbmZpZ3VyYXRpb24gaW52b2x2ZXMNCj4g PiArYWxsb2NhdGluZyB0aGUgbnVtYmVyIG9mIGhhcmR3YXJlIHF1ZXVlcywgcHJpb3JpdGllcywg bG9hZCBiYWxhbmNlLA0KPiA+ICtiYW5kd2lkdGggYW5kIG90aGVyIHNldHRpbmdzIG5lY2Vzc2Fy eSBmb3IgdGhlIGRldmljZSB0byBwZXJmb3JtIEZFQw0KPiBmdW5jdGlvbnMuDQo+ID4gKw0KPiA+ ICtUaGlzIGNvbmZpZ3VyYXRpb24gbmVlZHMgdG8gYmUgZXhlY3V0ZWQgYXQgbGVhc3Qgb25jZSBh ZnRlciByZWJvb3Qgb3INCj4gPiArUENJIEZMUiBhbmQgY2FuIGJlIGFjaGlldmVkIGJ5IHVzaW5n IHRoZSBmdW5jdGlvbg0KPiA+ICtgYGFjYzEwMV9jb25maWd1cmUoKWBgLCB3aGljaCBzZXRzIHVw IHRoZSBwYXJhbWV0ZXJzIGRlZmluZWQgaW4NCj4gYGBhY2MxMDBfY29uZmBgIHN0cnVjdHVyZS4N Cj4gPiArDQo+ID4gK1Rlc3QgQXBwbGljYXRpb24NCj4gPiArLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ ICsNCj4gPiArQkJERVYgcHJvdmlkZXMgYSB0ZXN0IGFwcGxpY2F0aW9uLCBgYHRlc3QtYmJkZXYu cHlgYCBhbmQgcmFuZ2Ugb2YNCj4gPiArdGVzdCBkYXRhIGZvciB0ZXN0aW5nIHRoZSBmdW5jdGlv bmFsaXR5IG9mIEFDQzEwMSA1Ry80RyBGRUMgZW5jb2RlDQo+ID4gK2FuZCBkZWNvZGUsIGRlcGVu ZGluZyBvbiB0aGUgZGV2aWNlJ3MgY2FwYWJpbGl0aWVzLiBUaGUgdGVzdA0KPiA+ICthcHBsaWNh dGlvbiBpcyBsb2NhdGVkIHVuZGVyIGFwcC0+dGVzdC1iYmRldiBmb2xkZXIgYW5kIGhhcyB0aGUg Zm9sbG93aW5nDQo+IG9wdGlvbnM6DQo+ID4gKw0KPiA+ICsuLiBjb2RlLWJsb2NrOjogY29uc29s ZQ0KPiA+ICsNCj4gPiArICAiLXAiLCAiLS10ZXN0YXBwLXBhdGgiOiBzcGVjaWZpZXMgcGF0aCB0 byB0aGUgYmJkZXYgdGVzdCBhcHAuDQo+ID4gKyAgIi1lIiwgIi0tZWFsLXBhcmFtcyIJOiBFQUwg YXJndW1lbnRzIHdoaWNoIGFyZSBwYXNzZWQgdG8gdGhlIHRlc3QgYXBwLg0KPiA+ICsgICItdCIs ICItLXRpbWVvdXQiCTogVGltZW91dCBpbiBzZWNvbmRzIChkZWZhdWx0PTMwMCkuDQo+ID4gKyAg Ii1jIiwgIi0tdGVzdC1jYXNlcyIJOiBEZWZpbmVzIHRlc3QgY2FzZXMgdG8gcnVuLiBSdW4gYWxs IGlmIG5vdCBzcGVjaWZpZWQuDQo+ID4gKyAgIi12IiwgIi0tdGVzdC12ZWN0b3IiCTogVGVzdCB2 ZWN0b3IgcGF0aCAoZGVmYXVsdD1kcGRrX3BhdGgrL2FwcC90ZXN0LQ0KPiBiYmRldi90ZXN0X3Zl Y3RvcnMvYmJkZXZfbnVsbC5kYXRhKS4NCj4gPiArICAiLW4iLCAiLS1udW0tb3BzIgk6IE51bWJl ciBvZiBvcGVyYXRpb25zIHRvIHByb2Nlc3Mgb24gZGV2aWNlDQo+IChkZWZhdWx0PTMyKS4NCj4g PiArICAiLWIiLCAiLS1idXJzdC1zaXplIgk6IE9wZXJhdGlvbnMgZW5xdWV1ZS9kZXF1ZXVlIGJ1 cnN0IHNpemUgKGRlZmF1bHQ9MzIpLg0KPiA+ICsgICItcyIsICItLXNuciIJCTogU05SIGluIGRC IHVzZWQgd2hlbiBnZW5lcmF0aW5nIExMUnMgZm9yIGJsZXIgdGVzdHMuDQo+ID4gKyAgIi1zIiwg Ii0taXRlcl9tYXgiCTogTnVtYmVyIG9mIGl0ZXJhdGlvbnMgZm9yIExEUEMgZGVjb2Rlci4NCj4g PiArICAiLWwiLCAiLS1udW0tbGNvcmVzIgk6IE51bWJlciBvZiBsY29yZXMgdG8gcnVuIChkZWZh dWx0PTE2KS4NCj4gPiArICAiLWkiLCAiLS1pbml0LWRldmljZSIgOiBJbml0aWFsaXNlIFBGIGRl dmljZSB3aXRoIGRlZmF1bHQgdmFsdWVzLg0KPiA+ICsNCj4gPiArDQo+ID4gK1RvIGV4ZWN1dGUg dGhlIHRlc3QgYXBwbGljYXRpb24gdG9vbCB1c2luZyBzaW1wbGUgZGVjb2RlIG9yIGVuY29kZQ0K PiA+ICtkYXRhLCB0eXBlIG9uZSBvZiB0aGUgZm9sbG93aW5nOg0KPiA+ICsNCj4gPiArLi4gY29k ZS1ibG9jazo6IGNvbnNvbGUNCj4gPiArDQo+ID4gKyAgLi90ZXN0LWJiZGV2LnB5IC1jIHZhbGlk YXRpb24gLW4gNjQgLWIgMSAtdiAuL2xkcGNfZGVjX2RlZmF1bHQuZGF0YQ0KPiA+ICsgLi90ZXN0 LWJiZGV2LnB5IC1jIHZhbGlkYXRpb24gLW4gNjQgLWIgMSAtdiAuL2xkcGNfZW5jX2RlZmF1bHQu ZGF0YQ0KPiA+ICsNCj4gPiArDQo+ID4gK1RoZSB0ZXN0IGFwcGxpY2F0aW9uIGBgdGVzdC1iYmRl di5weWBgLCBzdXBwb3J0cyB0aGUgYWJpbGl0eSB0bw0KPiA+ICtjb25maWd1cmUgdGhlIFBGIGRl dmljZSB3aXRoIGEgZGVmYXVsdCBzZXQgb2YgdmFsdWVzLCBpZiB0aGUgIi1pIiBvcg0KPiA+ICsi LSAtaW5pdC1kZXZpY2UiIG9wdGlvbiBpcyBpbmNsdWRlZC4gVGhlIGRlZmF1bHQgdmFsdWVzIGFy ZSBkZWZpbmVkIGluDQo+IHRlc3RfYmJkZXZfcGVyZi5jLg0KPiA+ICsNCj4gPiArDQo+ID4gK1Rl c3QgVmVjdG9ycw0KPiA+ICt+fn5+fn5+fn5+fn4NCj4gPiArDQo+ID4gK0luIGFkZGl0aW9uIHRv IHRoZSBzaW1wbGUgTERQQyBkZWNvZGVyIGFuZCBMRFBDIGVuY29kZXIgdGVzdHMsIGJiZGV2DQo+ ID4gK2Fsc28gcHJvdmlkZXMgYSByYW5nZSBvZiBhZGRpdGlvbmFsIHRlc3RzIHVuZGVyIHRoZSB0 ZXN0X3ZlY3RvcnMNCj4gPiArZm9sZGVyLCB3aGljaCBtYXkgYmUgdXNlZnVsLiBUaGUgcmVzdWx0 cyBvZiB0aGVzZSB0ZXN0cyB3aWxsIGRlcGVuZA0KPiA+ICtvbiB0aGUgQUNDMTAxIDVHLzRHIEZF QyBjYXBhYmlsaXRpZXMgd2hpY2ggbWF5IGNhdXNlIHNvbWUgdGVzdGNhc2VzIHRvIGJlDQo+IHNr aXBwZWQsIGJ1dCBubyBmYWlsdXJlIHNob3VsZCBiZSByZXBvcnRlZC4NCj4gPiArDQo+ID4gKw0K PiA+ICtBbHRlcm5hdGUgQmFzZWJhbmQgRGV2aWNlIGNvbmZpZ3VyYXRpb24gdG9vbA0KPiA+ICt+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KPiA+ICsNCj4gPiAr T24gdG9wIG9mIHRoZSBlbWJlZGRlZCBjb25maWd1cmF0aW9uIGZlYXR1cmUgc3VwcG9ydGVkIGlu IHRlc3QtYmJkZXYgdXNpbmcNCj4gIi0gLWluaXQtZGV2aWNlIg0KPiA+ICtvcHRpb24gbWVudGlv bmVkIGFib3ZlLCB0aGVyZSBpcyBhbHNvIGEgdG9vbCBhdmFpbGFibGUgdG8gcGVyZm9ybQ0KPiA+ ICt0aGF0IGRldmljZSBjb25maWd1cmF0aW9uIHVzaW5nIGEgY29tcGFuaW9uIGFwcGxpY2F0aW9u Lg0KPiA+ICtUaGUgYGBwZl9iYl9jb25maWdgYCBhcHBsaWNhdGlvbiBub3RhYmx5IGVuYWJsZXMg dGhlbiB0byBydW4NCj4gPiArYmJkZXYtdGVzdCBmcm9tIHRoZSBWRiBhbmQgbm90IG9ubHkgbGlt aXRlZCB0byB0aGUgUEYgYXMgY2FwdHVyZWQgYWJvdmUuDQo+ID4gKw0KPiA+ICtTZWUgZm9yIG1v cmUgZGV0YWlsczogaHR0cHM6Ly9naXRodWIuY29tL2ludGVsL3BmLWJiLWNvbmZpZw0KPiA+ICsN Cj4gPiArU3BlY2lmaWNhbGx5IGZvciB0aGUgQkJERVYgQUNDMTAxIFBNRCwgdGhlIGNvbW1hbmQg YmVsb3cgY2FuIGJlIHVzZWQ6DQo+ID4gKw0KPiA+ICsuLiBjb2RlLWJsb2NrOjogY29uc29sZQ0K PiA+ICsNCj4gPiArICAuL3BmX2JiX2NvbmZpZyBBQ0MxMDEgLWMgYWNjMTAxL2FjYzEwMV9jb25m aWdfNHZmXzRnNWcuY2ZnDQo+ID4gKyAuL3Rlc3QtYmJkZXYucHkgLWU9Ii1jIDB4ZmYwIC1hJHtW Rl9QQ0lfQUREUn0iIC1jIHZhbGlkYXRpb24gLWwgMSAtdg0KPiA+ICsgLi9sZHBjX2RlY19kZWZh dWx0LmRhdGENCj4gPiBcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUNCj4gPiBkaWZmIC0tZ2l0 IGEvZG9jL2d1aWRlcy9iYmRldnMvZmVhdHVyZXMvYWNjMTAxLmluaQ0KPiA+IGIvZG9jL2d1aWRl cy9iYmRldnMvZmVhdHVyZXMvYWNjMTAxLmluaQ0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ ID4gaW5kZXggMDAwMDAwMC4uMGUyYzIxYQ0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9k b2MvZ3VpZGVzL2JiZGV2cy9mZWF0dXJlcy9hY2MxMDEuaW5pDQo+ID4gQEAgLTAsMCArMSwxMyBA QA0KPiA+ICs7DQo+ID4gKzsgU3VwcG9ydGVkIGZlYXR1cmVzIG9mIHRoZSAnYWNjMTAxJyBiYmRl diBkcml2ZXIuDQo+ID4gKzsNCj4gPiArOyBSZWZlciB0byBkZWZhdWx0LmluaSBmb3IgdGhlIGZ1 bGwgbGlzdCBvZiBhdmFpbGFibGUgUE1EIGZlYXR1cmVzLg0KPiA+ICs7DQo+ID4gK1tGZWF0dXJl c10NCj4gPiArVHVyYm8gRGVjb2RlciAoNEcpICAgICA9IFkNCj4gPiArVHVyYm8gRW5jb2RlciAo NEcpICAgICA9IFkNCj4gPiArTERQQyBEZWNvZGVyICg1RykgICAgICA9IFkNCj4gPiArTERQQyBF bmNvZGVyICg1RykgICAgICA9IFkNCj4gPiArTExSL0hBUlEgQ29tcHJlc3Npb24gICA9IFkNCj4g PiArRXh0ZXJuYWwgRERSIEFjY2VzcyAgICA9IFkNCj4gPiArSFcgQWNjZWxlcmF0ZWQgICAgICAg ICA9IFkNCj4gVGhpcyBpcyB0aGUgc2FtZSBhcyBhY2MxMDAuaW5pLCB3aHkgZG8gd2UgbmVlZCAy ID8NCg0KVGhpcyBpcyBhIGRpZmZlcmVudCBwcm9kdWN0LCBuZWVkcyB0byBiZSBjb25zaXN0ZW50 LiANCg0KPiA+IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL2JiZGV2cy9pbmRleC5yc3QgYi9kb2Mv Z3VpZGVzL2JiZGV2cy9pbmRleC5yc3QNCj4gPiBpbmRleCBjZWRkNzA2Li5lNzY4ODNjIDEwMDY0 NA0KPiA+IC0tLSBhL2RvYy9ndWlkZXMvYmJkZXZzL2luZGV4LnJzdA0KPiA+ICsrKyBiL2RvYy9n dWlkZXMvYmJkZXZzL2luZGV4LnJzdA0KPiA+IEBAIC0xNCw0ICsxNCw1IEBAIEJhc2ViYW5kIERl dmljZSBEcml2ZXJzDQo+ID4gICAgICAgZnBnYV9sdGVfZmVjDQo+ID4gICAgICAgZnBnYV81Z25y X2ZlYw0KPiA+ICAgICAgIGFjYzEwMA0KPiA+ICsgICAgYWNjMTAxDQo+ID4gICAgICAgbGExMnh4 DQo+ID4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjJfMDcucnN0 DQo+ID4gYi9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIyXzA3LnJzdA0KPiA+IGluZGV4 IDQyYTVmMmQuLmVmOTkwNmIgMTAwNjQ0DQo+ID4gLS0tIGEvZG9jL2d1aWRlcy9yZWxfbm90ZXMv cmVsZWFzZV8yMl8wNy5yc3QNCj4gPiArKysgYi9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNl XzIyXzA3LnJzdA0KPiA+IEBAIC01NSw2ICs1NSwxMCBAQCBOZXcgRmVhdHVyZXMNCj4gPiAgICAg ICAgQWxzbywgbWFrZSBzdXJlIHRvIHN0YXJ0IHRoZSBhY3R1YWwgdGV4dCBhdCB0aGUgbWFyZ2lu Lg0KPiA+ICAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09DQo+ID4NCj4gPiArKiAqKkFkZGVkIEludGVsIEFDQzEwMSBiYXNlYmFuZCBQ TUQuKioNCj4gPiArDQo+ID4gKyAgKiBBZGRlZCBhIG5ldyBiYXNlYmFuZCBQTUQgZm9yIEludGVs IEFDQzEwMSBkZXZpY2UgKE1vdW50IENpcnJ1cykuDQo+ID4gKyAgKiBTZWUgdGhlIDpkb2M6YC4u L2JiZGV2cy9hY2MxMDFgIGZvciBtb3JlIGRldGFpbHMuDQo+ID4NCj4gPiAgIFJlbW92ZWQgSXRl bXMNCj4gPiAgIC0tLS0tLS0tLS0tLS0NCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9iYXNlYmFu ZC9hY2MxMDAvcnRlX2FjYzEwMF9wbWQuYw0KPiA+IGIvZHJpdmVycy9iYXNlYmFuZC9hY2MxMDAv cnRlX2FjYzEwMF9wbWQuYw0KPiA+IGluZGV4IGRlN2U0YmMuLmZjYTI3ZWYgMTAwNjQ0DQo+ID4g LS0tIGEvZHJpdmVycy9iYXNlYmFuZC9hY2MxMDAvcnRlX2FjYzEwMF9wbWQuYw0KPiA+ICsrKyBi L2RyaXZlcnMvYmFzZWJhbmQvYWNjMTAwL3J0ZV9hY2MxMDBfcG1kLmMNCj4gPiBAQCAtMjIsNiAr MjIsNyBAQA0KPiA+ICAgI2luY2x1ZGUgPHJ0ZV9iYmRldi5oPg0KPiA+ICAgI2luY2x1ZGUgPHJ0 ZV9iYmRldl9wbWQuaD4NCj4gPiAgICNpbmNsdWRlICJydGVfYWNjMTAwX3BtZC5oIg0KPiA+ICsj aW5jbHVkZSAicnRlX2FjYzEwMV9wbWQuaCINCj4gPg0KPiA+ICAgI2lmZGVmIFJURV9MSUJSVEVf QkJERVZfREVCVUcNCj4gPiAgIFJURV9MT0dfUkVHSVNURVJfREVGQVVMVChhY2MxMDBfbG9ndHlw ZSwgREVCVUcpOyBAQCAtMTI4Niw2DQo+ICsxMjg3LDEyDQo+ID4gQEANCj4gPiAgIAkJCVJURV9C QkRFVl9UVVJCT19IQUxGX0lURVJBVElPTl9FVkVOKTsNCj4gPiAgIH0NCj4gPg0KPiA+ICtzdGF0 aWMgaW5saW5lIGJvb2wNCj4gPiAraXNfYWNjMTAwKHN0cnVjdCBhY2MxMDBfcXVldWUgKnEpDQo+ ID4gK3sNCj4gPiArCXJldHVybiAocS0+ZC0+ZGV2aWNlX3ZhcmlhbnQgPT0gQUNDMTAwX1ZBUklB TlQpOyB9DQo+ID4gKw0KPiA+ICAgLyogRmlsbCBpbiBhIGZyYW1lIGNvbnRyb2wgd29yZCBmb3Ig TERQQyBkZWNvZGluZy4gKi8NCj4gPiAgIHN0YXRpYyBpbmxpbmUgdm9pZA0KPiA+ICAgYWNjMTAw X2Zjd19sZF9maWxsKGNvbnN0IHN0cnVjdCBydGVfYmJkZXZfZGVjX29wICpvcCwgc3RydWN0DQo+ ID4gYWNjMTAwX2Zjd19sZCAqZmN3LCBAQCAtMTQxMiw2ICsxNDE5LDEzOSBAQA0KPiA+ICAgCX0N Cj4gPiAgIH0NCj4gPg0KPiA+ICsvKiBDb252ZXJ0IG9mZnNldCB0byBoYXJxIGluZGV4IGZvciBo YXJxX2xheW91dCBzdHJ1Y3R1cmUgKi8gc3RhdGljDQo+ID4gK2lubGluZSB1aW50MzJfdCBocV9p bmRleCh1aW50MzJfdCBvZmZzZXQpIHsNCj4gPiArCXJldHVybiAob2Zmc2V0ID4+IEFDQzEwMF9I QVJRX09GRlNFVF9TSElGVCkgJg0KPiA+ICtBQ0MxMDBfSEFSUV9PRkZTRVRfTUFTSzsgfQ0KPiA+ ICsNCj4gPiArLyogRmlsbCBpbiBhIGZyYW1lIGNvbnRyb2wgd29yZCBmb3IgTERQQyBkZWNvZGlu ZyBmb3IgQUNDMTAxICovDQo+ID4gK3N0YXRpYyBpbmxpbmUgdm9pZCBhY2MxMDFfZmN3X2xkX2Zp bGwoc3RydWN0IHJ0ZV9iYmRldl9kZWNfb3AgKm9wLA0KPiA+ICtzdHJ1Y3QgYWNjMTAwX2Zjd19s ZCAqZmN3LA0KPiA+ICsJCXVuaW9uIGFjYzEwMF9oYXJxX2xheW91dF9kYXRhICpoYXJxX2xheW91 dCkNCj4gVGhpcyBsb29rcyBleHRyZW1lbHkgc2ltaWxhciB0byB0aGUgYWNjMTAwKiwgd2h5IGlz bid0IHRoaXMgY29tYmluZWQgPw0KPiA+ICt7DQo+ID4gKwl1aW50MTZfdCBoYXJxX291dF9sZW5n dGgsIGhhcnFfaW5fbGVuZ3RoLCBuY2JfcCwgazBfcCwgcGFyaXR5X29mZnNldDsNCj4gPiArCXVp bnQzMl90IGhhcnFfaW5kZXg7DQo+ID4gKwl1aW50MzJfdCBsOw0KPiA+ICsNCj4gPiArCWZjdy0+ cW0gPSBvcC0+bGRwY19kZWMucV9tOw0KPiA+ICsJZmN3LT5uZmlsbGVyID0gb3AtPmxkcGNfZGVj Lm5fZmlsbGVyOw0KPiA+ICsJZmN3LT5CRyA9IChvcC0+bGRwY19kZWMuYmFzZWdyYXBoIC0gMSk7 DQo+ID4gKwlmY3ctPlpjID0gb3AtPmxkcGNfZGVjLnpfYzsNCj4gPiArCWZjdy0+bmNiID0gb3At PmxkcGNfZGVjLm5fY2I7DQo+ID4gKwlmY3ctPmswID0gZ2V0X2swKGZjdy0+bmNiLCBmY3ctPlpj LCBvcC0+bGRwY19kZWMuYmFzZWdyYXBoLA0KPiA+ICsJCQlvcC0+bGRwY19kZWMucnZfaW5kZXgp Ow0KPiA+ICsJaWYgKG9wLT5sZHBjX2RlYy5jb2RlX2Jsb2NrX21vZGUgPT0gUlRFX0JCREVWX0NP REVfQkxPQ0spDQo+ID4gKwkJZmN3LT5ybV9lID0gb3AtPmxkcGNfZGVjLmNiX3BhcmFtcy5lOw0K PiA+ICsJZWxzZQ0KPiA+ICsJCWZjdy0+cm1fZSA9IChvcC0+bGRwY19kZWMudGJfcGFyYW1zLnIg PA0KPiA+ICsJCQkJb3AtPmxkcGNfZGVjLnRiX3BhcmFtcy5jYWIpID8NCj4gPiArCQkJCQkJb3At PmxkcGNfZGVjLnRiX3BhcmFtcy5lYSA6DQo+ID4gKwkJCQkJCW9wLT5sZHBjX2RlYy50Yl9wYXJh bXMuZWI7DQo+ID4gKw0KPiA+ICsJaWYgKHVubGlrZWx5KGNoZWNrX2JpdChvcC0+bGRwY19kZWMu b3BfZmxhZ3MsDQo+ID4gKwkJCVJURV9CQkRFVl9MRFBDX0hRX0NPTUJJTkVfSU5fRU5BQkxFKSAm Jg0KPiA+ICsJCQkob3AtPmxkcGNfZGVjLmhhcnFfY29tYmluZWRfaW5wdXQubGVuZ3RoID09IDAp KSkgew0KPiA+ICsJCXJ0ZV9iYmRldl9sb2coV0FSTklORywgIk51bGwgSEFSUSBpbnB1dCBzaXpl IHByb3ZpZGVkIik7DQo+ID4gKwkJLyogRGlzYWJsZSBIQVJRIGlucHV0IGluIHRoYXQgY2FzZSB0 byBjYXJyeSBmb3J3YXJkICovDQo+ID4gKwkJb3AtPmxkcGNfZGVjLm9wX2ZsYWdzIF49DQo+IFJU RV9CQkRFVl9MRFBDX0hRX0NPTUJJTkVfSU5fRU5BQkxFOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiAr CWZjdy0+aGNpbl9lbiA9IGNoZWNrX2JpdChvcC0+bGRwY19kZWMub3BfZmxhZ3MsDQo+ID4gKwkJ CVJURV9CQkRFVl9MRFBDX0hRX0NPTUJJTkVfSU5fRU5BQkxFKTsNCj4gPiArCWZjdy0+aGNvdXRf ZW4gPSBjaGVja19iaXQob3AtPmxkcGNfZGVjLm9wX2ZsYWdzLA0KPiA+ICsJCQlSVEVfQkJERVZf TERQQ19IUV9DT01CSU5FX09VVF9FTkFCTEUpOw0KPiA+ICsJZmN3LT5jcmNfc2VsZWN0ID0gY2hl Y2tfYml0KG9wLT5sZHBjX2RlYy5vcF9mbGFncywNCj4gPiArCQkJUlRFX0JCREVWX0xEUENfQ1JD X1RZUEVfMjRCX0NIRUNLKTsNCj4gPiArCWZjdy0+YnlwYXNzX2RlYyA9IGNoZWNrX2JpdChvcC0+ bGRwY19kZWMub3BfZmxhZ3MsDQo+ID4gKwkJCVJURV9CQkRFVl9MRFBDX0RFQ09ERV9CWVBBU1Mp Ow0KPiA+ICsJZmN3LT5ieXBhc3NfaW50bHYgPSBjaGVja19iaXQob3AtPmxkcGNfZGVjLm9wX2Zs YWdzLA0KPiA+ICsJCQlSVEVfQkJERVZfTERQQ19ERUlOVEVSTEVBVkVSX0JZUEFTUyk7DQo+ID4g KwlpZiAob3AtPmxkcGNfZGVjLnFfbSA9PSAxKSB7DQo+ID4gKwkJZmN3LT5ieXBhc3NfaW50bHYg PSAxOw0KPiA+ICsJCWZjdy0+cW0gPSAyOw0KPiA+ICsJfQ0KPiA+ICsJZmN3LT5oY2luX2RlY29t cF9tb2RlID0gY2hlY2tfYml0KG9wLT5sZHBjX2RlYy5vcF9mbGFncywNCj4gPiArCQkJUlRFX0JC REVWX0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9OKTsNCj4gPiArCWZjdy0+aGNvdXRfY29tcF9t b2RlID0gY2hlY2tfYml0KG9wLT5sZHBjX2RlYy5vcF9mbGFncywNCj4gPiArCQkJUlRFX0JCREVW X0xEUENfSEFSUV82QklUX0NPTVBSRVNTSU9OKTsNCj4gPiArCWZjdy0+bGxyX3BhY2tfbW9kZSA9 IGNoZWNrX2JpdChvcC0+bGRwY19kZWMub3BfZmxhZ3MsDQo+ID4gKwkJCVJURV9CQkRFVl9MRFBD X0xMUl9DT01QUkVTU0lPTik7DQo+ID4gKwloYXJxX2luZGV4ID0gaHFfaW5kZXgob3AtPmxkcGNf ZGVjLmhhcnFfY29tYmluZWRfb3V0cHV0Lm9mZnNldCk7DQo+ID4gKwlpZiAoZmN3LT5oY2luX2Vu ID4gMCkgew0KPiA+ICsJCWhhcnFfaW5fbGVuZ3RoID0gb3AtPmxkcGNfZGVjLmhhcnFfY29tYmlu ZWRfaW5wdXQubGVuZ3RoOw0KPiA+ICsJCWlmIChmY3ctPmhjaW5fZGVjb21wX21vZGUgPiAwKQ0K PiA+ICsJCQloYXJxX2luX2xlbmd0aCA9IGhhcnFfaW5fbGVuZ3RoICogOCAvIDY7DQo+ID4gKwkJ aGFycV9pbl9sZW5ndGggPSBSVEVfTUlOKGhhcnFfaW5fbGVuZ3RoLCBvcC0NCj4gPmxkcGNfZGVj Lm5fY2INCj4gPiArCQkJCS0gb3AtPmxkcGNfZGVjLm5fZmlsbGVyKTsNCj4gPiArCQkvKiBBbGln bm1lbnQgb24gbmV4dCA2NEIgLSBBbHJlYWR5IGVuZm9yY2VkIGZyb20gSEMgb3V0cHV0ICovDQo+ ID4gKwkJaGFycV9pbl9sZW5ndGggPSBSVEVfQUxJR05fRkxPT1IoaGFycV9pbl9sZW5ndGgsIDY0 KTsNCj4gPiArCQlmY3ctPmhjaW5fc2l6ZTAgPSBoYXJxX2luX2xlbmd0aDsNCj4gPiArCQlmY3ct PmhjaW5fb2Zmc2V0ID0gMDsNCj4gPiArCQlmY3ctPmhjaW5fc2l6ZTEgPSAwOw0KPiA+ICsJfSBl bHNlIHsNCj4gPiArCQlmY3ctPmhjaW5fc2l6ZTAgPSAwOw0KPiA+ICsJCWZjdy0+aGNpbl9vZmZz ZXQgPSAwOw0KPiA+ICsJCWZjdy0+aGNpbl9zaXplMSA9IDA7DQo+ID4gKwl9DQo+ID4gKw0KPiA+ ICsJZmN3LT5pdG1heCA9IG9wLT5sZHBjX2RlYy5pdGVyX21heDsNCj4gPiArCWZjdy0+aXRzdG9w ID0gY2hlY2tfYml0KG9wLT5sZHBjX2RlYy5vcF9mbGFncywNCj4gPiArCQkJUlRFX0JCREVWX0xE UENfSVRFUkFUSU9OX1NUT1BfRU5BQkxFKTsNCj4gPiArCWZjdy0+c3luZF9wcmVjb2RlciA9IGZj dy0+aXRzdG9wOw0KPiA+ICsJLyoNCj4gPiArCSAqIFRoZXNlIGFyZSBhbGwgaW1wbGljaXRseSBz ZXQNCj4gPiArCSAqIGZjdy0+c3luZF9wb3N0ID0gMDsNCj4gPiArCSAqIGZjdy0+c29fZW4gPSAw Ow0KPiA+ICsJICogZmN3LT5zb19ieXBhc3Nfcm0gPSAwOw0KPiA+ICsJICogZmN3LT5zb19ieXBh c3NfaW50bHYgPSAwOw0KPiA+ICsJICogZmN3LT5kZWNfY29udmxsciA9IDA7DQo+ID4gKwkgKiBm Y3ctPmhjb3V0X2NvbnZsbHIgPSAwOw0KPiA+ICsJICogZmN3LT5oY291dF9zaXplMSA9IDA7DQo+ ID4gKwkgKiBmY3ctPnNvX2l0ID0gMDsNCj4gPiArCSAqIGZjdy0+aGNvdXRfb2Zmc2V0ID0gMDsN Cj4gPiArCSAqIGZjdy0+bmVnc3RvcF90aCA9IDA7DQo+ID4gKwkgKiBmY3ctPm5lZ3N0b3BfaXQg PSAwOw0KPiA+ICsJICogZmN3LT5uZWdzdG9wX2VuID0gMDsNCj4gPiArCSAqIGZjdy0+Z2Fpbl9p ID0gMTsNCj4gPiArCSAqIGZjdy0+Z2Fpbl9oID0gMTsNCj4gPiArCSAqLw0KPiA+ICsJaWYgKGZj dy0+aGNvdXRfZW4gPiAwKSB7DQo+ID4gKwkJcGFyaXR5X29mZnNldCA9IChvcC0+bGRwY19kZWMu YmFzZWdyYXBoID09IDEgPyAyMCA6IDgpDQo+ID4gKwkJCSogb3AtPmxkcGNfZGVjLnpfYyAtIG9w LT5sZHBjX2RlYy5uX2ZpbGxlcjsNCj4gPiArCQlrMF9wID0gKGZjdy0+azAgPiBwYXJpdHlfb2Zm c2V0KSA/DQo+ID4gKwkJCQlmY3ctPmswIC0gb3AtPmxkcGNfZGVjLm5fZmlsbGVyIDogZmN3LT5r MDsNCj4gPiArCQluY2JfcCA9IGZjdy0+bmNiIC0gb3AtPmxkcGNfZGVjLm5fZmlsbGVyOw0KPiA+ ICsJCWwgPSBSVEVfTUlOKGswX3AgKyBmY3ctPnJtX2UsIElOVDE2X01BWCk7DQo+ID4gKwkJaGFy cV9vdXRfbGVuZ3RoID0gKHVpbnQxNl90KSBmY3ctPmhjaW5fc2l6ZTA7DQo+ID4gKwkJaGFycV9v dXRfbGVuZ3RoID0gUlRFX01BWChoYXJxX291dF9sZW5ndGgsIGwpOw0KPiA+ICsJCS8qIENhbm5v dCBleGNlZWQgdGhlIHBydW5lZCBOY2IgY2lyY3VsYXIgYnVmZmVyICovDQo+ID4gKwkJaGFycV9v dXRfbGVuZ3RoID0gUlRFX01JTihoYXJxX291dF9sZW5ndGgsIG5jYl9wKTsNCj4gPiArCQkvKiBB bGlnbm1lbnQgb24gbmV4dCA2NEIgKi8NCj4gPiArCQloYXJxX291dF9sZW5ndGggPSBSVEVfQUxJ R05fQ0VJTChoYXJxX291dF9sZW5ndGgsIDY0KTsNCj4gPiArCQlmY3ctPmhjb3V0X3NpemUwID0g aGFycV9vdXRfbGVuZ3RoOw0KPiA+ICsJCWZjdy0+aGNvdXRfc2l6ZTEgPSAwOw0KPiA+ICsJCWZj dy0+aGNvdXRfb2Zmc2V0ID0gMDsNCj4gPiArCQloYXJxX2xheW91dFtoYXJxX2luZGV4XS5vZmZz ZXQgPSBmY3ctPmhjb3V0X29mZnNldDsNCj4gPiArCQloYXJxX2xheW91dFtoYXJxX2luZGV4XS5z aXplMCA9IGZjdy0+aGNvdXRfc2l6ZTA7DQo+ID4gKwl9IGVsc2Ugew0KPiA+ICsJCWZjdy0+aGNv dXRfc2l6ZTAgPSAwOw0KPiA+ICsJCWZjdy0+aGNvdXRfc2l6ZTEgPSAwOw0KPiA+ICsJCWZjdy0+ aGNvdXRfb2Zmc2V0ID0gMDsNCj4gPiArCX0NCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIGlu bGluZSB2b2lkDQo+ID4gK2FjYzEweF9mY3dfbGRfZmlsbChzdHJ1Y3QgcnRlX2JiZGV2X2RlY19v cCAqb3AsIHN0cnVjdCBhY2MxMDBfZmN3X2xkDQo+ICpmY3csDQo+ID4gKwkJdW5pb24gYWNjMTAw X2hhcnFfbGF5b3V0X2RhdGEgKmhhcnFfbGF5b3V0LCBzdHJ1Y3QNCj4gYWNjMTAwX3F1ZXVlICpx KQ0KPiA+ICt7DQo+ID4gKwlpZiAoaXNfYWNjMTAwKHEpKQ0KPiBjb25zaWRlciBoYXZpbmcgYSBm dW5jdGlvbiB0YWJsZSBpbiB0aGUgcHJpdmF0ZSBkYXRhIHNvIHRoZSBjYWxsIGNhbiBiZSBtYWRl DQo+IHdpdGhvdXQgdGhpcyBpZi1jaGVjaw0KPiA+ICsJCXJldHVybiBhY2MxMDBfZmN3X2xkX2Zp bGwob3AsIGZjdywgaGFycV9sYXlvdXQpOw0KPiA+ICsJZWxzZQ0KPiA+ICsJCXJldHVybiBhY2Mx MDFfZmN3X2xkX2ZpbGwob3AsIGZjdywgaGFycV9sYXlvdXQpOyB9DQo+ID4gKw0KPiA+ICsNCj4g PiAgIC8qKg0KPiA+ICAgICogRmlsbHMgZGVzY3JpcHRvciB3aXRoIGRhdGEgcG9pbnRlcnMgb2Yg b25lIGJsb2NrIHR5cGUuDQo+ID4gICAgKg0KPiA+IEBAIC0yOTYwLDcgKzMxMDAsNyBAQA0KPiA+ ICAgCQlzdHJ1Y3QgYWNjMTAwX2Zjd19sZCAqZmN3Ow0KPiA+ICAgCQl1aW50MzJfdCBzZWdfdG90 YWxfbGVmdDsNCj4gPiAgIAkJZmN3ID0gJmRlc2MtPnJlcS5mY3dfbGQ7DQo+ID4gLQkJYWNjMTAw X2Zjd19sZF9maWxsKG9wLCBmY3csIGhhcnFfbGF5b3V0KTsNCj4gPiArCQlhY2MxMHhfZmN3X2xk X2ZpbGwob3AsIGZjdywgaGFycV9sYXlvdXQsIHEpOw0KPiA+DQo+ID4gICAJCS8qIFNwZWNpYWwg aGFuZGxpbmcgd2hlbiBvdmVydXNpbmcgbWJ1ZiAqLw0KPiA+ICAgCQlpZiAoZmN3LT5ybV9lIDwg QUNDMTAwX01BWF9FX01CVUYpIEBAIC0zMDI3LDcgKzMxNjcsNw0KPiBAQA0KPiA+ICAgCWRlc2Mg PSBxLT5yaW5nX2FkZHIgKyBkZXNjX2lkeDsNCj4gPiAgIAl1aW50NjRfdCBmY3dfb2Zmc2V0ID0g KGRlc2NfaWR4IDw8IDgpICsgQUNDMTAwX0RFU0NfRkNXX09GRlNFVDsNCj4gPiAgIAl1bmlvbiBh Y2MxMDBfaGFycV9sYXlvdXRfZGF0YSAqaGFycV9sYXlvdXQgPSBxLT5kLT5oYXJxX2xheW91dDsN Cj4gPiAtCWFjYzEwMF9mY3dfbGRfZmlsbChvcCwgJmRlc2MtPnJlcS5mY3dfbGQsIGhhcnFfbGF5 b3V0KTsNCj4gPiArCWFjYzEweF9mY3dfbGRfZmlsbChvcCwgJmRlc2MtPnJlcS5mY3dfbGQsIGhh cnFfbGF5b3V0LCBxKTsNCj4gPg0KPiA+ICAgCWlucHV0ID0gb3AtPmxkcGNfZGVjLmlucHV0LmRh dGE7DQo+ID4gICAJaF9vdXRwdXRfaGVhZCA9IGhfb3V0cHV0ID0gb3AtPmxkcGNfZGVjLmhhcmRf b3V0cHV0LmRhdGE7IEBADQo+ID4gLTQxMzksOSArNDI3OSwxNyBAQA0KPiA+ICAgCWRldi0+ZGVx dWV1ZV9sZHBjX2VuY19vcHMgPSBhY2MxMDBfZGVxdWV1ZV9sZHBjX2VuYzsNCj4gPiAgIAlkZXYt PmRlcXVldWVfbGRwY19kZWNfb3BzID0gYWNjMTAwX2RlcXVldWVfbGRwY19kZWM7DQo+ID4NCj4g PiAtCSgoc3RydWN0IGFjYzEwMF9kZXZpY2UgKikgZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSktPnBm X2RldmljZSA9DQo+ID4gLQkJCSFzdHJjbXAoZHJ2LT5kcml2ZXIubmFtZSwNCj4gPiAtCQkJCQlS VEVfU1RSKEFDQzEwMFBGX0RSSVZFUl9OQU1FKSk7DQo+ID4gKwlpZiAoKCFzdHJjbXAoZHJ2LT5k cml2ZXIubmFtZSwgUlRFX1NUUihBQ0MxMDBQRl9EUklWRVJfTkFNRSkpKQ0KPiB8fA0KPiA+ICsJ CQkoIXN0cmNtcChkcnYtPmRyaXZlci5uYW1lLA0KPiBSVEVfU1RSKEFDQzEwMFZGX0RSSVZFUl9O QU1FKSkpKSB7DQo+ID4gKwkJKChzdHJ1Y3QgYWNjMTAwX2RldmljZSAqKSBkZXYtPmRhdGEtPmRl dl9wcml2YXRlKS0+cGZfZGV2aWNlDQo+ID0NCj4gPiArCQkJCSFzdHJjbXAoZHJ2LT5kcml2ZXIu bmFtZSwNCj4gUlRFX1NUUihBQ0MxMDBQRl9EUklWRVJfTkFNRSkpOw0KPiA+ICsJCSgoc3RydWN0 IGFjYzEwMF9kZXZpY2UgKikgZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSktDQo+ID5kZXZpY2VfdmFy aWFudCA9IEFDQzEwMF9WQVJJQU5UOw0KPiA+ICsJfSBlbHNlIHsNCj4gPiArCQkoKHN0cnVjdCBh Y2MxMDBfZGV2aWNlICopIGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpLT5wZl9kZXZpY2UNCj4gPQ0K PiA+ICsJCQkJIXN0cmNtcChkcnYtPmRyaXZlci5uYW1lLA0KPiBSVEVfU1RSKEFDQzEwMVBGX0RS SVZFUl9OQU1FKSk7DQo+ID4gKwkJKChzdHJ1Y3QgYWNjMTAwX2RldmljZSAqKSBkZXYtPmRhdGEt PmRldl9wcml2YXRlKS0NCj4gPmRldmljZV92YXJpYW50ID0gQUNDMTAxX1ZBUklBTlQ7DQo+ID4g Kwl9DQo+ID4gKw0KPiA+ICAgCSgoc3RydWN0IGFjYzEwMF9kZXZpY2UgKikgZGV2LT5kYXRhLT5k ZXZfcHJpdmF0ZSktPm1taW9fYmFzZSA9DQo+ID4gICAJCQlwY2lfZGV2LT5tZW1fcmVzb3VyY2Vb MF0uYWRkcjsNCj4gPg0KPiA+IEBAIC00MjUxLDYgKzQzOTksNDIgQEAgc3RhdGljIGludCBhY2Mx MDBfcGNpX3JlbW92ZShzdHJ1Y3QNCj4gcnRlX3BjaV9kZXZpY2UgKnBjaV9kZXYpDQo+ID4gICBS VEVfUE1EX1JFR0lTVEVSX1BDSShBQ0MxMDBWRl9EUklWRVJfTkFNRSwNCj4gYWNjMTAwX3BjaV92 Zl9kcml2ZXIpOw0KPiA+ICAgUlRFX1BNRF9SRUdJU1RFUl9QQ0lfVEFCTEUoQUNDMTAwVkZfRFJJ VkVSX05BTUUsDQo+ID4gcGNpX2lkX2FjYzEwMF92Zl9tYXApOw0KPiA+DQo+ID4gKy8qIEFDQzEw MSBQQ0kgUEYgYWRkcmVzcyBtYXAgKi8NCj4gPiArc3RhdGljIHN0cnVjdCBydGVfcGNpX2lkIHBj aV9pZF9hY2MxMDFfcGZfbWFwW10gPSB7DQo+ID4gKwl7DQo+ID4gKwkJUlRFX1BDSV9ERVZJQ0Uo UlRFX0FDQzEwMV9WRU5ET1JfSUQsDQo+IFJURV9BQ0MxMDFfUEZfREVWSUNFX0lEKQ0KPiA+ICsJ fSwNCj4gPiArCXsuZGV2aWNlX2lkID0gMH0sDQo+ID4gK307DQo+ID4gKw0KPiA+ICsvKiBBQ0Mx MDEgUENJIFZGIGFkZHJlc3MgbWFwICovDQo+ID4gK3N0YXRpYyBzdHJ1Y3QgcnRlX3BjaV9pZCBw Y2lfaWRfYWNjMTAxX3ZmX21hcFtdID0gew0KPiA+ICsJew0KPiA+ICsJCVJURV9QQ0lfREVWSUNF KFJURV9BQ0MxMDFfVkVORE9SX0lELA0KPiBSVEVfQUNDMTAxX1ZGX0RFVklDRV9JRCkNCj4gPiAr CX0sDQo+ID4gKwl7LmRldmljZV9pZCA9IDB9LA0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArDQo+ID4g K3N0YXRpYyBzdHJ1Y3QgcnRlX3BjaV9kcml2ZXIgYWNjMTAxX3BjaV9wZl9kcml2ZXIgPSB7DQo+ ID4gKwkJLnByb2JlID0gYWNjMTAwX3BjaV9wcm9iZSwNCj4gPiArCQkucmVtb3ZlID0gYWNjMTAw X3BjaV9yZW1vdmUsDQo+ID4gKwkJLmlkX3RhYmxlID0gcGNpX2lkX2FjYzEwMV9wZl9tYXAsDQo+ ID4gKwkJLmRydl9mbGFncyA9IFJURV9QQ0lfRFJWX05FRURfTUFQUElORyB9Ow0KPiA+ICsNCj4g PiArc3RhdGljIHN0cnVjdCBydGVfcGNpX2RyaXZlciBhY2MxMDFfcGNpX3ZmX2RyaXZlciA9IHsN Cj4gPiArCQkucHJvYmUgPSBhY2MxMDBfcGNpX3Byb2JlLA0KPiA+ICsJCS5yZW1vdmUgPSBhY2Mx MDBfcGNpX3JlbW92ZSwNCj4gPiArCQkuaWRfdGFibGUgPSBwY2lfaWRfYWNjMTAxX3ZmX21hcCwN Cj4gPiArCQkuZHJ2X2ZsYWdzID0gUlRFX1BDSV9EUlZfTkVFRF9NQVBQSU5HIH07DQo+ID4gKw0K PiA+ICtSVEVfUE1EX1JFR0lTVEVSX1BDSShBQ0MxMDFQRl9EUklWRVJfTkFNRSwNCj4gYWNjMTAx X3BjaV9wZl9kcml2ZXIpOw0KPiA+ICtSVEVfUE1EX1JFR0lTVEVSX1BDSV9UQUJMRShBQ0MxMDFQ Rl9EUklWRVJfTkFNRSwNCj4gPiArcGNpX2lkX2FjYzEwMV9wZl9tYXApOw0KPiBSVEVfUE1EX1JF R0lTVEVSX1BDSShBQ0MxMDFWRl9EUklWRVJfTkFNRSwNCj4gPiArYWNjMTAxX3BjaV92Zl9kcml2 ZXIpOw0KPiA+ICtSVEVfUE1EX1JFR0lTVEVSX1BDSV9UQUJMRShBQ0MxMDFWRl9EUklWRVJfTkFN RSwNCj4gPiArcGNpX2lkX2FjYzEwMV92Zl9tYXApOw0KPiA+ICsNCj4gPiAgIC8qDQo+ID4gICAg KiBXb3JrYXJvdW5kIGltcGxlbWVudGF0aW9uIHRvIGZpeCB0aGUgcG93ZXIgb24gc3RhdHVzIG9m IHNvbWUgNUdVTA0KPiBlbmdpbmVzDQo+ID4gICAgKiBUaGlzIHJlcXVpcmVzIERNQSBwZXJtaXNz aW9uIGlmIHBvcnRlZCBvdXRzaWRlIERQREsgZGlmZiAtLWdpdA0KPiA+IGEvZHJpdmVycy9iYXNl YmFuZC9hY2MxMDAvcnRlX2FjYzEwMF9wbWQuaA0KPiA+IGIvZHJpdmVycy9iYXNlYmFuZC9hY2Mx MDAvcnRlX2FjYzEwMF9wbWQuaA0KPiA+IGluZGV4IGNiY2VjZTIuLjY0MzgwMzEgMTAwNjQ0DQo+ ID4gLS0tIGEvZHJpdmVycy9iYXNlYmFuZC9hY2MxMDAvcnRlX2FjYzEwMF9wbWQuaA0KPiA+ICsr KyBiL2RyaXZlcnMvYmFzZWJhbmQvYWNjMTAwL3J0ZV9hY2MxMDBfcG1kLmgNCj4gPiBAQCAtMjIs NiArMjIsOSBAQA0KPiA+ICAgI2RlZmluZSBydGVfYmJkZXZfbG9nX2RlYnVnKGZtdCwgLi4uKQ0K PiA+ICAgI2VuZGlmDQo+ID4NCj4gPiArI2RlZmluZSBBQ0MxMDBfVkFSSUFOVCAwDQo+ID4gKyNk ZWZpbmUgQUNDMTAxX1ZBUklBTlQgMQ0KPiA+ICsNCj4gPiAgIC8qIEFDQzEwMCBQRiBhbmQgVkYg ZHJpdmVyIG5hbWVzICovDQo+ID4gICAjZGVmaW5lIEFDQzEwMFBGX0RSSVZFUl9OQU1FICAgICAg ICAgICBpbnRlbF9hY2MxMDBfcGYNCj4gPiAgICNkZWZpbmUgQUNDMTAwVkZfRFJJVkVSX05BTUUg ICAgICAgICAgIGludGVsX2FjYzEwMF92Zg0KPiA+IEBAIC02Nyw2ICs3MCw4IEBADQo+ID4gICAj ZGVmaW5lIEFDQzEwMF9IQVJRX0xBWU9VVCAgICAgICAgICAgICAoNjQqMTAyNCoxMDI0KQ0KPiA+ ICAgLyogQXNzdW1lIG9mZnNldCBmb3IgSEFSUSBpbiBtZW1vcnkgKi8NCj4gPiAgICNkZWZpbmUg QUNDMTAwX0hBUlFfT0ZGU0VUICAgICAgICAgICAgICgzMioxMDI0KQ0KPiA+ICsjZGVmaW5lIEFD QzEwMF9IQVJRX09GRlNFVF9TSElGVCAgICAgICAxNQ0KPiA+ICsjZGVmaW5lIEFDQzEwMF9IQVJR X09GRlNFVF9NQVNLICAgICAgICAweDdmZmZmZmYNCj4gPiAgIC8qIE1hc2sgdXNlZCB0byBjYWxj dWxhdGUgYW4gaW5kZXggaW4gYW4gSW5mbyBSaW5nIGFycmF5IChub3QgYSBieXRlIG9mZnNldCkg Ki8NCj4gPiAgICNkZWZpbmUgQUNDMTAwX0lORk9fUklOR19NQVNLDQo+IChBQ0MxMDBfSU5GT19S SU5HX05VTV9FTlRSSUVTLTEpDQo+ID4gICAvKiBOdW1iZXIgb2YgVmlydHVhbCBGdW5jdGlvbnMg QUNDMTAwIHN1cHBvcnRzICovIEBAIC01OTAsNiArNTk1LDcNCj4gPiBAQCBzdHJ1Y3QgYWNjMTAw X2RldmljZSB7DQo+ID4gICAJdWludDE2X3QgcV9hc3NpZ25lZF9iaXRfbWFwW0FDQzEwMF9OVU1f UUdSUFNdOw0KPiA+ICAgCWJvb2wgcGZfZGV2aWNlOyAvKio8IFRydWUgaWYgdGhpcyBpcyBhIFBG IEFDQzEwMCBkZXZpY2UgKi8NCj4gPiAgIAlib29sIGNvbmZpZ3VyZWQ7IC8qKjwgVHJ1ZSBpZiB0 aGlzIEFDQzEwMCBkZXZpY2UgaXMgY29uZmlndXJlZCAqLw0KPiA+ICsJdWludDE2X3QgZGV2aWNl X3ZhcmlhbnQ7ICAvKio8IERldmljZSB2YXJpYW50ICovDQo+IHRoaXMgaXMgbm90IG5lZWRlZCwg Y2hlY2sgdGhlIHBjaSBpZA0KDQpUaGF0IGRldmljZV92YXJpYW50IGlzIHNlbnQgb25jZSBkdXJp bmcgcHJvYmluZyB0aGVuIHdlIGNhbiByZXVzZSB0aGF0IGZsZXhpYmx5IHRocm91Z2ggdGhlIGNv ZGUuICANCg0KPiA+ICAgfTsNCj4gPg0KPiA+ICAgLyoqDQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvYmFzZWJhbmQvYWNjMTAwL3J0ZV9hY2MxMDFfcG1kLmgNCj4gPiBiL2RyaXZlcnMvYmFzZWJh bmQvYWNjMTAwL3J0ZV9hY2MxMDFfcG1kLmgNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+ IGluZGV4IDAwMDAwMDAuLmVmYWI0MDANCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvZHJp dmVycy9iYXNlYmFuZC9hY2MxMDAvcnRlX2FjYzEwMV9wbWQuaA0KPiANCj4gTmV3IGZpbGVzIG5l ZWQgbGljZW5zZSwgY29weXJpZ2h0cy4NCg0KVGhhbmtzISENCg0KPiANCj4gVGhpcyBmaWxlIGxv b2tzIHZlcnkgc2ltaWxhciB0byBydGVfYWNjMTAwX3BtZC5oDQoNCkFjdHVhbGx5IHRoZSBjb25m aWd1cmF0aW9uIG9mIHRoZSBkZXZpY2UgZGlmZmVycyBhbmQgY291bGQgZGl2ZXJnZSBmdXJ0aGVy IGluIHRoZSBmdXR1cmUuIFRoaXMgaXMgbGltaXRlZCB0byB0aGUgcGFydCB0aGF0IHdvdWxkIGJl IHNwZWNpZmljIHRvIHRoZSBkZXZpY2UgY29uZmlndXJhdGlvbi4NCkFscmVhZHkga2VwdCB0byBl eHRyZW1lbHkgcmVkdWNlZCBzZXQuIERvaW5nIGl0IG1vcmUgd291bGQgYmUgYXJ0aWZpY2lhbCBh bmQgc291cmNlIG9mIHBvc3NpYmxlIGVycm9ycy4gDQoNCj4gDQo+IFRoZSBjb21tb24gcGFydHMg c2hvdWxkIGJlIGluIG9ubHkgb25lIGZpbGUsIG1heWJlIGEgcnRlX2FjYzEweF9wbWQuaA0KPiAN Cj4gPiBAQCAtMCwwICsxLDYxIEBADQo+ID4gKy8qIEFDQzEwMSBQRiBhbmQgVkYgZHJpdmVyIG5h bWVzICovDQo+ID4gKyNkZWZpbmUgQUNDMTAxUEZfRFJJVkVSX05BTUUgICAgICAgICAgIGludGVs X2FjYzEwMV9wZg0KPiA+ICsjZGVmaW5lIEFDQzEwMVZGX0RSSVZFUl9OQU1FICAgICAgICAgICBp bnRlbF9hY2MxMDFfdmYNCj4gDQo+IHRoaXMgbWF5YmUgY2hhbmdlcyB0byBpbnRlbF9hY2MxMHhf cHIvdmYgPw0KDQpUaGF0IHN0cmluZyB3b3VsZCBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgMiBwcm9k dWN0cyBvbiBwdXJwb3NlIGV2ZW4gaWYgdW5kZXIgdGhlIGJvbm5ldCB3ZSB0cnkgdG8gcmV1c2Ug Y29kZSBhcyBtdWNoIGFzIHBvc3NpYmxlLiANCg0KPiANCj4gVG9tDQo+IA0KPiA+ICsNCj4gPiAr LyogQUNDMTAxIFBDSSB2ZW5kb3IgJiBkZXZpY2UgSURzICovDQo+ID4gKyNkZWZpbmUgUlRFX0FD QzEwMV9WRU5ET1JfSUQgICAgICAgICAgICgweDgwODYpDQo+ID4gKyNkZWZpbmUgUlRFX0FDQzEw MV9QRl9ERVZJQ0VfSUQgICAgICAgICgweDU3YzQpDQo+ID4gKyNkZWZpbmUgUlRFX0FDQzEwMV9W Rl9ERVZJQ0VfSUQgICAgICAgICgweDU3YzUpDQo+ID4gKw0KPiA+ICsvKiBEZWZpbmUgYXMgMSB0 byB1c2Ugb25seSBhIHNpbmdsZSBGRUMgZW5naW5lICovICNpZm5kZWYNCj4gPiArUlRFX0FDQzEw MV9TSU5HTEVfRkVDICNkZWZpbmUgUlRFX0FDQzEwMV9TSU5HTEVfRkVDIDAgI2VuZGlmDQo+ID4g Kw0KPiA+ICsvKiBWYWx1ZXMgdXNlZCBpbiB3cml0aW5nIHRvIHRoZSByZWdpc3RlcnMgKi8NCj4g PiArI2RlZmluZSBBQ0MxMDFfUkVHX0lSUV9FTl9BTEwgICAgICAgICAgMHgxRkY4M0ZGICAvKiBF bmFibGUgYWxsIGludGVycnVwdHMNCj4gKi8NCj4gPiArDQo+ID4gKy8qIE51bWJlciBvZiBWaXJ0 dWFsIEZ1bmN0aW9ucyBBQ0MxMDEgc3VwcG9ydHMgKi8NCj4gPiArI2RlZmluZSBBQ0MxMDFfTlVN X1ZGUyAgICAgICAgICAgICAgICAgIDE2DQo+ID4gKyNkZWZpbmUgQUNDMTAxX05VTV9RR1JQUyAg ICAgICAgICAgICAgICA4DQo+ID4gKyNkZWZpbmUgQUNDMTAxX05VTV9BUVMgICAgICAgICAgICAg ICAgICAxNg0KPiA+ICsvKiBBbGwgQUNDMTAxIFJlZ2lzdGVycyBhbGlnbm1lbnQgYXJlIDMyYml0 cyA9IDRCICovDQo+ID4gKyNkZWZpbmUgQUNDMTAxX0JZVEVTX0lOX1dPUkQgICAgICAgICAgICAg ICAgIDQNCj4gPiArDQo+ID4gKyNkZWZpbmUgQUNDMTAxX0dSUF9JRF9TSElGVCAgICAxMCAvKiBR dWV1ZSBJbmRleCBIaWVyYXJjaHkgKi8NCj4gPiArI2RlZmluZSBBQ0MxMDFfVkZfSURfU0hJRlQg ICAgIDQgIC8qIFF1ZXVlIEluZGV4IEhpZXJhcmNoeSAqLw0KPiA+ICsjZGVmaW5lIEFDQzEwMV9W Rl9PRkZTRVRfUU9TICAgMTYgLyogb2Zmc2V0IGluIE1lbW9yeSBzcGVjaWZpYyB0byBRb1MNCj4g TW9uICovDQo+ID4gKyNkZWZpbmUgQUNDMTAxX1RNUExfUFJJXzAgICAgICAweDAzMDIwMTAwDQo+ ID4gKyNkZWZpbmUgQUNDMTAxX1RNUExfUFJJXzEgICAgICAweDA3MDYwNTA0DQo+ID4gKyNkZWZp bmUgQUNDMTAxX1RNUExfUFJJXzIgICAgICAweDBiMGEwOTA4DQo+ID4gKyNkZWZpbmUgQUNDMTAx X1RNUExfUFJJXzMgICAgICAweDBmMGUwZDBjDQo+ID4gKyNkZWZpbmUgQUNDMTAxX1dPUkRTX0lO X0FSQU1fU0laRSAoMTI4ICogMTAyNCAvIDQpDQo+ID4gKw0KPiA+ICsjZGVmaW5lIEFDQzEwMV9O VU1fVE1QTCAgICAgICAzMg0KPiA+ICsvKiBNYXBwaW5nIG9mIHNpZ25hbHMgZm9yIHRoZSBhdmFp bGFibGUgZW5naW5lcyAqLw0KPiA+ICsjZGVmaW5lIEFDQzEwMV9TSUdfVUxfNUcgICAgICAwDQo+ ID4gKyNkZWZpbmUgQUNDMTAxX1NJR19VTF81R19MQVNUIDgNCj4gPiArI2RlZmluZSBBQ0MxMDFf U0lHX0RMXzVHICAgICAgMTMNCj4gPiArI2RlZmluZSBBQ0MxMDFfU0lHX0RMXzVHX0xBU1QgMTUN Cj4gPiArI2RlZmluZSBBQ0MxMDFfU0lHX1VMXzRHICAgICAgMTYNCj4gPiArI2RlZmluZSBBQ0Mx MDFfU0lHX1VMXzRHX0xBU1QgMTkNCj4gPiArI2RlZmluZSBBQ0MxMDFfU0lHX0RMXzRHICAgICAg MjcNCj4gPiArI2RlZmluZSBBQ0MxMDFfU0lHX0RMXzRHX0xBU1QgMzENCj4gPiArI2RlZmluZSBB Q0MxMDFfTlVNX0FDQ1MgICAgICAgNQ0KPiA+ICsjZGVmaW5lIEFDQzEwMV9QRl9WQUwgICAgICAg ICAyDQo+ID4gKw0KPiA+ICsvKiBBQ0MxMDEgQ29uZmlndXJhdGlvbiAqLw0KPiA+ICsjZGVmaW5l IEFDQzEwMV9DRkdfRE1BX0VSUk9SICAgIDB4M0Q3DQo+ID4gKyNkZWZpbmUgQUNDMTAxX0NGR19B WElfQ0FDSEUgICAgMHgxMQ0KPiA+ICsjZGVmaW5lIEFDQzEwMV9DRkdfUU1HUl9ISV9QICAgIDB4 MEYwRg0KPiA+ICsjZGVmaW5lIEFDQzEwMV9DRkdfUENJX0FYSSAgICAgIDB4QzAwMw0KPiA+ICsj ZGVmaW5lIEFDQzEwMV9DRkdfUENJX0JSSURHRSAgIDB4NDAwMDYwMzMNCj4gPiArI2RlZmluZSBB Q0MxMDFfRU5HSU5FX09GRlNFVCAgICAweDEwMDANCj4gPiArI2RlZmluZSBBQ0MxMDFfTE9OR19X QUlUICAgICAgICAxMDAwDQo+ID4gKyNkZWZpbmUgQUNDMTAxX0dQRVhfQVhJTUFQX05VTSAgMTcN Cj4gPiArI2RlZmluZSBBQ0MxMDFfQ0xPQ0tfR0FUSU5HX0VOICAweDMwMDAwDQo+ID4gKyNkZWZp bmUgQUNDMTAxX0RNQV9JTkJPVU5EICAgICAgMHgxMDQNCj4gPiArLyogRERSIFNpemUgcGVyIFZG IC0gNTEyTUIgYnkgZGVmYXVsdA0KPiA+ICsgKiBDYW4gYmUgaW5jcmVhc2VkIHVwIHRvIDQgR0Ig d2l0aCBzaW5nbGUgUEYvVkYgICovDQo+ID4gKyNkZWZpbmUgQUNDMTAxX0hBUlFfRERSICAgICAg ICAgKDUxMiAqIDEpDQoNCg==