From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from APC01-TYZ-obe.outbound.protection.outlook.com (mail-tyzapc01on2113.outbound.protection.outlook.com [40.107.117.113]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DDDC213DBA0; Thu, 26 Sep 2024 02:43:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.117.113 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727318620; cv=fail; b=ZvlGZmqLKuTzpvOds/vF4iwm73uJVd1VDQ5pDr/ub5J97mcAPwFTiaQlRjPZUgyOK694jrPLhPbW7mbM3Z5XSwI8S7sTcpORxu1yPIXBr06gUGUF9fAtQAV8AkEYXbww+GTJOEVjYA1rAvyI4666TfsgzLLlCotA/bWms8sHMDk= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727318620; c=relaxed/simple; bh=JmY5CsKR3wUqze7KPnYpZc0n7NissRX/N6HCplkfmQ0=; h=From:To:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=qZt0O5ZeH0lHeTvSub7HkZmibH8+AbcdZ77e7UymOBZj61RXXqUjBba233D6chpX6i1L3+FhB6BIMQcYUvbGPaUJArv8/YX5P1yp1/l52YiUPzaZdz8Cw+Afqo4y2eacJQTUXEo07AtUiSAIghnNeZX9jZ0A7sNdx21zeu6I5Vw= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=aspeedtech.com; spf=pass smtp.mailfrom=aspeedtech.com; dkim=pass (2048-bit key) header.d=aspeedtech.com header.i=@aspeedtech.com header.b=kLn1xQTJ; arc=fail smtp.client-ip=40.107.117.113 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=aspeedtech.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=aspeedtech.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=aspeedtech.com header.i=@aspeedtech.com header.b="kLn1xQTJ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QRbJJBEph9i1plaxvlCkOQt3/pOGtMOWPbCE7wb7dNNACCH6uPmF1nFqyCi608iJKAW32zsYc384QkRxSinerkkXJ1winZb5DZBewfeiUKDM0bkUc++RlhZ5oZuBM1XuKj2iXsrt86MJye3AzMS/gFpacMe/jhkuA+F88RKgbyfvyuT4fpTxa4fOHwPheHx9ZI+yGaDy+orix6PdKcyE1Dm/M2kSnxuKKW2g+fCvQ4ZRG8mPCZzCWh0CIWYdovDjMENu8j7EnTiz5DgvQIBwIbRyvJuG4rZUW0lRwj4mtdlPUGECiAEfR8hONzAaDKEJhkPYfPRc26j4gnDxbzBSdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=JmY5CsKR3wUqze7KPnYpZc0n7NissRX/N6HCplkfmQ0=; b=tof5HGkDKr0X8poy9EQcaseSeSGiLvGsO2MPulF7cjsR6mVcVSqURMmdD9rEgjh65knZSpF4ha2bvDY7TsRjmALDZzUUz8L11jgrgdyItg6NlMX1UdNtZbsQphcx+38R+UQKc4hQJzFwzWVfuPBWvnDDYi1zcLTT01SO2vh9yGVAQuKP3Dp/RZt1hEN29xp0I+B1fjXle9wydmdNDGN8iYOTvR6wI9a6zESeclY3Y5Vr5TcQj3jlJPMIByt24Qzrju4C60zQdy48zbAQKsHkNOsULXfy2oBZzkqUburayi2LT7DreL8xi77qMOL5adrxOcysC6RHYyGku6LeyrLtOw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JmY5CsKR3wUqze7KPnYpZc0n7NissRX/N6HCplkfmQ0=; b=kLn1xQTJYOee60L04N+hGoEX8AJBzVkr6xXMb33w64lGYu4sfC1eszvpDlMI2dbmMIWrPybM02YIvLrE31TxGBY6vBnQjli0P+gqT+p6PLHSfdARe/Ww4U5PP13HCgjjIDQSlcLTIiVwJ9bL9dBH7bN4vjv6aw7TbFKC80YFEBXxNjA6bFOTQ2OGIimSe5ar2kJ4F5MggUBN8ZFA3MChIrLllPGaJtr0u0qQc5k0ZsHlGoZu9auFLaREhJj0V9ikHUJlXkV+xyzMkss+xrMhwU0RM+TKUMO6vgtAT6RI3Ya55GkjBKokYA2co3XACz+wnPA1OTA+yWcqIR5ppqhLMw== Received: from OS8PR06MB7541.apcprd06.prod.outlook.com (2603:1096:604:2b1::11) by PUZPR06MB5517.apcprd06.prod.outlook.com (2603:1096:301:fe::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.21; Thu, 26 Sep 2024 02:43:26 +0000 Received: from OS8PR06MB7541.apcprd06.prod.outlook.com ([fe80::9f51:f68d:b2db:da11]) by OS8PR06MB7541.apcprd06.prod.outlook.com ([fe80::9f51:f68d:b2db:da11%4]) with mapi id 15.20.7982.022; Thu, 26 Sep 2024 02:43:26 +0000 From: Ryan Chen To: Philipp Zabel , "mturquette@baylibre.com" , "sboyd@kernel.org" , "robh@kernel.org" , "krzk+dt@kernel.org" , "conor+dt@kernel.org" , "joel@jms.id.au" , "andrew@codeconstruct.com.au" , "linux-kernel@vger.kernel.org" , "linux-clk@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-aspeed@lists.ozlabs.org" Subject: RE: [PATCH v4 2/3] reset: aspeed: register AST2700 reset auxiliary bus device Thread-Topic: [PATCH v4 2/3] reset: aspeed: register AST2700 reset auxiliary bus device Thread-Index: AQHbDY1B/Dga34t4bk+6DkzjwYP94rJohzgAgADWCsA= Date: Thu, 26 Sep 2024 02:43:26 +0000 Message-ID: References: <20240923075012.2264573-1-ryan_chen@aspeedtech.com> <20240923075012.2264573-3-ryan_chen@aspeedtech.com> In-Reply-To: Accept-Language: zh-TW, en-US Content-Language: zh-TW X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: OS8PR06MB7541:EE_|PUZPR06MB5517:EE_ x-ms-office365-filtering-correlation-id: f1a30d2a-4d68-4376-f7ba-08dcddd4ff0b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|7416014|376014|921020|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?UEM3eU5ndE5pWG95UkRwZEttUjU5eStGWG1FejlDOWFCbWZldzE1cW5EZE96?= =?utf-8?B?TktvQzFZTFM0eVJiWldEdWFCYjJpV2hUeHVLWk94aXNKUm1oeFpoVDMzdmdW?= =?utf-8?B?TW1RQThha0c1SkdDTVFYQzFTdHFMR1ZUZXk1Rkx1QkFNV29oMCtBbEkvUXh2?= =?utf-8?B?OTZYL0tNamJKNnlNK0l3NWFlU1FIZzZNRjJSM250ZzhZSW9sKzN1SE90Mnht?= =?utf-8?B?SkE2OHlLNVRVYjU2UVNGQXRVQzJnclZTL01Mcmd5L1dNaGI0dDVPUnY4ZWxB?= =?utf-8?B?dWVrZzdscVNDK01rUCs2dkVRSjUvemUvaWY2TjZDQUpxOWlPc0xWcTQvanM1?= =?utf-8?B?cGV1anUrUHQ3UXRDL3pEOXRra0grbWxEREtTaU5MQjFGVkxtZkt3UHdQc1FS?= =?utf-8?B?eE94RExsQ0FITXRabmdhTi9RUnBvMlUwS2dJMGtlUit2NkI5eUpaTFJLcDA0?= =?utf-8?B?WTRhdkN0Vk9TOU1TdTJoNXhvR2F0MW9lbEQ5OWhlQ3g0OGxmdkg3SlpYY2Vv?= =?utf-8?B?N0JJQStScUxySWg3bDgyV1o2TzFpeVJ5Qm1ncityQ2JCQnZIM01kRVN0aHMw?= =?utf-8?B?TUxQc3lxT0pWWFpJVXpKb3RzY1JtRzk1d3V0TEx3WGFHL1FpVXdmWitXdTZP?= =?utf-8?B?RndFQ1NwVjhKRkhBUDdIakx4cVJwNFFlV1BNMGtyU25VWUF6L0VTR3BnMGYr?= =?utf-8?B?bXV1aXNlaVEydmdxMURzYklpa2JuazlnRnRMMVE3Vjk5WUdLWUx1dmlqL2dK?= =?utf-8?B?WTZLcEVyZTcwSUIvWTU0dytFZTdPUUx3cURZVUNBRWpuckhnVDhySFl4STRG?= =?utf-8?B?MENBa0FNUTVHNSsxU1N0T2x5a0FHQVNpWjF0ZzhpQWRDVVhJQm9lY0pYb1pm?= =?utf-8?B?dUkvcHA3dW1QR1FUenlCY1VaUWJnVkxNQUN5N0MxTGx2VGVIYjRyUytLTlNr?= =?utf-8?B?d0NuY1dlZzZON3VnajJvaTkwdytOM3A5am8wcnhleGpzaXVONlRNNHBjMEJ1?= =?utf-8?B?Y1d3THlhUGo1azFhZWRKdHU5QXNZRGFURW40N0hPcEtGWE9DRVEyODNycWp6?= =?utf-8?B?a3FnWEFhYjNkOGRBM2J5SVM3WVM5V2xvQTN1RzVpVDd2K0NSYVpUcFVwcnN1?= =?utf-8?B?Y0M0SzJhVXZSNVJSaWJ1enkrZkpPSmQ3dDNmRHYxL2FKVjJERWtKdzVHbTNF?= =?utf-8?B?OGM0TExtblRrS1VaSlMxS21wRzlhc3ErT2xLTlo2akNtZ1U3Q1R4amtKMlRD?= =?utf-8?B?RXlmUFNLZkNTdUlmVXpDRWxnd2JIazBldUlrMlhGTGVIWE5DV2tMU0M3UmxD?= =?utf-8?B?MjVOVk1xWXczTHpLd09LcHNEWFNkL2dBVEw0a2VUSGZkM25oQmJOYlg3d1pB?= =?utf-8?B?VFBheFdrSWNHMDlYY2NYdGNjekxYOHFaQW51bmcvWUxRdkl0Y1lpZEE3MVpl?= =?utf-8?B?amZ2cFdzZUtDTzBHSlVKV0dKbTFGMGpvWUJIdVFwNi9Ba2p2ZDU4bFV3Zlh6?= =?utf-8?B?SERac2owM24rVFhIWStPelNaaXZOV2YrRGhUSG1zcE4xU0lvUjVWamhpcFd3?= =?utf-8?B?T05EK1VIaVYrQ2k1T3kraGNZWXRLN2MzZHhzY2NoUjhxcytwN1d2b2tLRllx?= =?utf-8?B?cWVQbkpiREZCSVViMDYvMHQwdGQrMnRuUWlURUMzNzBQQ2pWaWY1ZlVqYnRY?= =?utf-8?B?WmgyOE04LzNDYXI2ZlMwVVJLL0doYnBCRExGWHB6ZHpBNU5pTWRtMk9HVjBE?= =?utf-8?B?T203ZklXK1VxVUoxVUtxWUpNNk5uZEpiVEpuZ3poeWc2SERDR0gxLzFpLzM2?= =?utf-8?Q?1oRM7gYyyhkbKR4cT1wTwSxNJJMrA6ENQXZUc=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:zh-tw;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS8PR06MB7541.apcprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(7416014)(376014)(921020)(38070700018);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cnpKbTlDZnpXTjAwMllDaHpIQnlMZVB2MDN3WDBIZlREeHJobTJlb3FCeXNX?= =?utf-8?B?Zml0aGM3QWliU3ZmcFh5eExDMUk4Uit0L3ZnSzBoYU9RT20zUDE1cENKeVpW?= =?utf-8?B?YS81NUhYMDRUSGFPRDJVMEtnNXVUVjk4cFJEYnNhTTMzQnFBaEQ5RTU4dnFs?= =?utf-8?B?WUNyUVpQdzFkb1dXdTBQM3EyTjYraTdIdzBpeEdQYmYxWGhMK282SDRza2c2?= =?utf-8?B?ajlCYnhydGVMZ1NURU5lNk1FNGRSNjVDQWlQbzFmRnEwZVFqdnZIcERBQ3Vt?= =?utf-8?B?NU1QZHVqTEg3eW1HMDJHaWNWNVF5YWxMcFhzbkVKRjAxWjlpaE9oMnY3ZHVF?= =?utf-8?B?a2Zwak8vOGp2cENGaVBVcnV0RDZRQW9RSHNHNjVIM2hRNnRKc0JnMjc5WFZt?= =?utf-8?B?WlpBQkRGMkJyNWNBLytQSUlNbHVXTHQyRFgxQzczbzJvU3JMNHM1UzZ1Zmxq?= =?utf-8?B?SmpwMWtMSWZxMzBEMnQybTl4dUlWQlhaUWZCREN6cGxGR1ZPVnJ6Z1laT3JZ?= =?utf-8?B?OGVEQ201ZkF6QXdFTVZlazZaOUVKL3RXODlOdmNBRXBXMlpqM2d0dnRpcStE?= =?utf-8?B?OEIrbWgvUEZldDIrUVBjOEwyaHNlL0ltSHQ3VHNTaitwREdlaVBld0JFZkZs?= =?utf-8?B?UHl0aTUwL05LdDJIS3JYc1RUdGVxUG1sSlY1VUJRV0E4STJjV2RtRU5TREpK?= =?utf-8?B?am5UaEJBaUdMU28xT0I2Tk42Rm45MlFRVEk1RkdBb1dvc1JuZHNOa3JiMHRN?= =?utf-8?B?NUdWQ2JJZnRjcyt5eDRQZ09lWTFnT3lndE9CdTB6Tzk5UVBRWVF3UW03QUxp?= =?utf-8?B?bnBTZGh1ZG1VankvS0JlZWxQZWxycDBnTzlMRUFLQlhFUHBrVjkrNDRMU0cv?= =?utf-8?B?eWkwbmVYbUpIQTUwamRBN0tNNlVqUmVtcE5xTkdwaGpvOVFKVU5JeTNUZjFW?= =?utf-8?B?RHlCbmJadE83UHZSS2wwd3dVVzlsekR6endyZUIxUW5jVU4xR05PREpxNWRa?= =?utf-8?B?UmNBRGRDdTJGaFBsSWZmaU5jMmpoRVRvSnBYZlZhSmVkTVphcXVxVExtb2lS?= =?utf-8?B?OWtPcXBYMmNwbnhORWsyMHFhUUEwVUxyRFFrWUpuM3IwdjltUXJ6ai9IM0xn?= =?utf-8?B?Vmd0UFBUT3VwRU9oejgvbERudlRXc0pyQUs0TkIxYVY3YStrOURuN2RFT3pk?= =?utf-8?B?RkdSY1dSVmh5SEpZdjd6UityQVhaMDRVNnZaQ1BJNVhwM3lOeFR1ekdnQlBW?= =?utf-8?B?UW1ra0xqaVJicWpGSXNaeXIzU2t5QXhpenlrM3d6ZWl3QTliQ3dML0VEUVFP?= =?utf-8?B?NTc3M042RS96KzBxcUhEOXpHR21kdWdsV0VFSHQzUE1yY0J2UGgrczhlanFh?= =?utf-8?B?eU5jbStNWWJqY25xRFU4eEJGUHVUT0JUV1YybU0wU3UxK2NRcjhkOFppNjNK?= =?utf-8?B?K0t6ZXFkTlQ1OHFvS1U2N0hXSXpkYmg1VEpqYThFeFBqNVZXS1A5Z3dkN2xN?= =?utf-8?B?Wmd4VEd6Y1ZBekZUekVYa2pybnVsRnA0ZmZHTkM5NHRIU05iV3dBc2R1T2ZX?= =?utf-8?B?MGhJanpzNWJSek5MazN5aWVYbVhpalhmN1d2VjRUSXFJUEZ0TlNQSU9YKzdO?= =?utf-8?B?c2xXVlRCbnNFZW4yTytFNVZxK3l6UVJCUHFwQW5PbGZ2bXZYNWRpeXdCNElR?= =?utf-8?B?L2JYYzc2OUdteG9UdHNBOUdpczVHZXBwZlI1bkF1cmoyTklaT2ZZRmhjUlNZ?= =?utf-8?B?NUw2Q2tBN09Sc093MlI3cGlMM1h1Tmc0WEVLQkZFa0hzNnBqQ2hRZm5lVTIy?= =?utf-8?B?M1haY01TeDV2ZDQ2cXgybEcrUGpseEs5NXdMK2pkVVVtSmlJYmg5K0NFdFcw?= =?utf-8?B?NjdIZHlSR1VBTmc5L1pkZDVIZWNwY01EZDNWeGZlVkVzUkZUUXV1UUhnSU5H?= =?utf-8?B?d1ZWN2JyMkNTa3FNSmhtajgwNFk3V3E5V3hsY3dTbXQ0TGlYQ09MaXhhVW1E?= =?utf-8?B?Wm5Bc3hmdUhReHhwQlNCdDNhZmtSUE13ZWxiQTVEV2ZhaHV5aGI1Y0poVFJI?= =?utf-8?B?TVA3anhWK0Y4dGlTS0I3dE5ndFB6VlVjTTRwbzdQOTJoK1pwMzZ0N3piaEQr?= =?utf-8?Q?OnMipVV/mSwjhSrLCGxr4ZDQk?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: OS8PR06MB7541.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f1a30d2a-4d68-4376-f7ba-08dcddd4ff0b X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Sep 2024 02:43:26.1496 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: CImPig4pxnZYgbB17t2UggmPaJLpnn16Tdwlj9MhHZbApRXBdGH+nopkllBKkBKvC/HJFgYjdEzGNHtKXxBik5bV7CR2gkH02gE+m08dF9U= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PUZPR06MB5517 PiBTdWJqZWN0OiBSZTogW1BBVENIIHY0IDIvM10gcmVzZXQ6IGFzcGVlZDogcmVnaXN0ZXIgQVNU MjcwMCByZXNldCBhdXhpbGlhcnkgYnVzDQo+IGRldmljZQ0KPiANCj4gSGksDQo+IA0KPiBPbiBN bywgMjAyNC0wOS0yMyBhdCAxNTo1MCArMDgwMCwgUnlhbiBDaGVuIHdyb3RlOg0KPiA+IFRoZSBB U1QyNzAwIHJlc2V0IGRyaXZlciBpcyByZWdpc3RlcmVkIGFzIGFuIGF1eGlsaWFyeSBkZXZpY2Ug ZHVlIHRvDQo+ID4gcmVzZXQgYW5kIGNsb2NrIGNvbnRyb2xsZXIgc2hhcmUgdGhlIHNhbWUgcmVn aXN0ZXIgcmVnaW9uLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogUnlhbiBDaGVuIDxyeWFuX2No ZW5AYXNwZWVkdGVjaC5jb20+DQo+ID4gLS0tDQo+ID4gIGRyaXZlcnMvcmVzZXQvS2NvbmZpZyAg ICAgICAgfCAgIDYgKw0KPiA+ICBkcml2ZXJzL3Jlc2V0L01ha2VmaWxlICAgICAgIHwgICAxICsN Cj4gPiAgZHJpdmVycy9yZXNldC9yZXNldC1hc3BlZWQuYyB8IDI1Nw0KPiA+ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrDQo+ID4gIDMgZmlsZXMgY2hhbmdlZCwgMjY0IGluc2Vy dGlvbnMoKykNCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvcmVzZXQvcmVzZXQtYXNw ZWVkLmMNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Jlc2V0L0tjb25maWcgYi9kcml2 ZXJzL3Jlc2V0L0tjb25maWcgaW5kZXgNCj4gPiA2N2JjZTM0MGE4N2UuLjYxMmYyMmUxMTgwZCAx MDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL3Jlc2V0L0tjb25maWcNCj4gPiArKysgYi9kcml2ZXJz L3Jlc2V0L0tjb25maWcNCj4gPiBAQCAtMjIsNiArMjIsMTIgQEAgY29uZmlnIFJFU0VUX0ExMFNS DQo+ID4gIAkgIFRoaXMgb3B0aW9uIGVuYWJsZXMgc3VwcG9ydCBmb3IgdGhlIGV4dGVybmFsIHJl c2V0IGZ1bmN0aW9ucyBmb3INCj4gPiAgCSAgcGVyaXBoZXJhbCBQSFlzIG9uIHRoZSBBbHRlcmEg QXJyaWExMCBTeXN0ZW0gUmVzb3VyY2UgQ2hpcC4NCj4gPg0KPiA+ICtjb25maWcgUkVTRVRfQVNQ RUVEDQo+ID4gKwl0cmlzdGF0ZSAiQVNQRUVEIFJlc2V0IERyaXZlciINCj4gPiArCWRlcGVuZHMg b24gQVJDSF9BU1BFRUQgfHwgQ09NUElMRV9URVNUDQo+IA0KPiBUaGlzIGlzIG1pc3Npbmc6DQo+ IA0KPiAJc2VsZWN0IEFVWElMSUFSWV9CVVMNCldpbGwgYWRkIGluIG5leHQgcGF0Y2guDQoNCj4g DQo+ID4gKwloZWxwDQo+ID4gKwkgIFRoaXMgZW5hYmxlcyB0aGUgcmVzZXQgY29udHJvbGxlciBk cml2ZXIgZm9yIEFTVDI3MDAuDQo+ID4gKw0KPiA+ICBjb25maWcgUkVTRVRfQVRINzkNCj4gPiAg CWJvb2wgIkFSNzF4eCBSZXNldCBEcml2ZXIiIGlmIENPTVBJTEVfVEVTVA0KPiA+ICAJZGVmYXVs dCBBVEg3OQ0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Jlc2V0L01ha2VmaWxlIGIvZHJpdmVy cy9yZXNldC9NYWtlZmlsZSBpbmRleA0KPiA+IDI3YjBiYmRmY2MwNC4uOTc0ODJiYjU2NDE2IDEw MDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvcmVzZXQvTWFrZWZpbGUNCj4gPiArKysgYi9kcml2ZXJz L3Jlc2V0L01ha2VmaWxlDQo+ID4gQEAgLTUsNiArNSw3IEBAIG9iai15ICs9IHN0YXJmaXZlLw0K PiA+ICBvYmoteSArPSBzdGkvDQo+ID4gIG9iai15ICs9IHRlZ3JhLw0KPiA+ICBvYmotJChDT05G SUdfUkVTRVRfQTEwU1IpICs9IHJlc2V0LWExMHNyLm8NCj4gPiArb2JqLSQoQ09ORklHX1JFU0VU X0FTUEVFRCkgKz0gcmVzZXQtYXNwZWVkLm8NCj4gPiAgb2JqLSQoQ09ORklHX1JFU0VUX0FUSDc5 KSArPSByZXNldC1hdGg3OS5vDQo+ID4gIG9iai0kKENPTkZJR19SRVNFVF9BWFMxMFgpICs9IHJl c2V0LWF4czEweC5vDQo+ID4gIG9iai0kKENPTkZJR19SRVNFVF9CQ002MzQ1KSArPSByZXNldC1i Y202MzQ1Lm8gZGlmZiAtLWdpdA0KPiA+IGEvZHJpdmVycy9yZXNldC9yZXNldC1hc3BlZWQuYyBi L2RyaXZlcnMvcmVzZXQvcmVzZXQtYXNwZWVkLmMgbmV3IGZpbGUNCj4gPiBtb2RlIDEwMDY0NCBp bmRleCAwMDAwMDAwMDAwMDAuLjQwY2M2ZTc2ZGY3MA0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiAr KysgYi9kcml2ZXJzL3Jlc2V0L3Jlc2V0LWFzcGVlZC5jDQo+ID4gQEAgLTAsMCArMSwyNTcgQEAN Cj4gPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXINCj4gPiAr LyoNCj4gPiArICogQ29weXJpZ2h0IChjKSAyMDI0IEFTUEVFRCBUZWNobm9sb2d5IEluYy4NCj4g PiArICovDQo+ID4gKw0KPiA+ICsjaW5jbHVkZSA8bGludXgvYXV4aWxpYXJ5X2J1cy5oPg0KPiA+ ICsjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51eC9pby5oPg0K PiA+ICsjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51eC9vZi5o Pg0KPiA+ICsjaW5jbHVkZSA8bGludXgvb2ZfYWRkcmVzcy5oPg0KPiA+ICsjaW5jbHVkZSA8bGlu dXgvcmVzZXQtY29udHJvbGxlci5oPg0KPiA+ICsNCj4gPiArI2luY2x1ZGUgPGR0LWJpbmRpbmdz L3Jlc2V0L2FzcGVlZCxhc3QyNzAwLXNjdS5oPg0KPiA+ICsNCj4gPiArI2RlZmluZSBTQ1UwX1JF U0VUX0NUUkwxIDB4MjAwDQo+ID4gKyNkZWZpbmUgU0NVMF9SRVNFVF9DVFJMMiAweDIyMA0KPiA+ ICsjZGVmaW5lIFNDVTFfUkVTRVRfQ1RSTDEgMHgyMDANCj4gPiArI2RlZmluZSBTQ1UxX1JFU0VU X0NUUkwyIDB4MjIwDQo+ID4gKyNkZWZpbmUgU0NVMV9QQ0lFM19DVFJMIDB4OTA4DQo+ID4gKw0K PiA+ICtzdHJ1Y3QgYXN0MjcwMF9yZXNldF9zaWduYWwgew0KPiA+ICsJYm9vbCBkZWRpY2F0ZWRf Y2xyOyAvKiBkZWRpY2F0ZWQgcmVzZXQgY2xyIG9mZnNldCAqLw0KPiA+ICsJdTMyIG9mZnNldCwg Yml0Ow0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArc3RydWN0IGFzcGVlZF9yZXNldF9pbmZvIHsNCj4g PiArCXVuc2lnbmVkIGludCBucl9yZXNldHM7DQo+ID4gKwljb25zdCBzdHJ1Y3QgYXN0MjcwMF9y ZXNldF9zaWduYWwgKnNpZ25hbDsgfTsNCj4gPiArDQo+ID4gK3N0cnVjdCBhc3BlZWRfcmVzZXQg ew0KPiA+ICsJc3RydWN0IHJlc2V0X2NvbnRyb2xsZXJfZGV2IHJjZGV2Ow0KPiA+ICsJc3RydWN0 IGFzcGVlZF9yZXNldF9pbmZvICppbmZvOw0KPiA+ICsJc3BpbmxvY2tfdCBsb2NrOyAvKiBQcm90 ZWN0IHJlYWQtbW9kaWZ5LXdyaXRlIGN5Y2xlICovDQo+ID4gKwl2b2lkIF9faW9tZW0gKmJhc2U7 DQo+ID4gK307DQo+ID4gKw0KPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGFzdDI3MDBfcmVzZXRf c2lnbmFsIGFzdDI3MDBfcmVzZXQwX3NpZ25hbHNbXSA9IHsNCj4gPiArCVtTQ1UwX1JFU0VUX1NE UkFNXSA9IHsgdHJ1ZSwgU0NVMF9SRVNFVF9DVFJMMSwgQklUKDApIH0sDQo+ID4gKwlbU0NVMF9S RVNFVF9ERFJQSFldID0geyB0cnVlLCBTQ1UwX1JFU0VUX0NUUkwxLCBCSVQoMSkgfSwNCj4gPiAr CVtTQ1UwX1JFU0VUX1JTQV0gPSB7IHRydWUsIFNDVTBfUkVTRVRfQ1RSTDEsIEJJVCgyKSB9LA0K PiA+ICsJW1NDVTBfUkVTRVRfU0hBM10gPSB7IHRydWUsIFNDVTBfUkVTRVRfQ1RSTDEsIEJJVCgz KSB9LA0KPiA+ICsJW1NDVTBfUkVTRVRfSEFDRV0gPSB7IHRydWUsIFNDVTBfUkVTRVRfQ1RSTDEs IEJJVCg0KSB9LA0KPiA+ICsJW1NDVTBfUkVTRVRfU09DXSA9IHsgdHJ1ZSwgU0NVMF9SRVNFVF9D VFJMMSwgQklUKDUpIH0sDQo+ID4gKwlbU0NVMF9SRVNFVF9WSURFT10gPSB7IHRydWUsIFNDVTBf UkVTRVRfQ1RSTDEsIEJJVCg2KSB9LA0KPiA+ICsJW1NDVTBfUkVTRVRfMkRdID0geyB0cnVlLCBT Q1UwX1JFU0VUX0NUUkwxLCBCSVQoNykgfSwNCj4gPiArCVtTQ1UwX1JFU0VUX1BDSVNdID0geyB0 cnVlLCBTQ1UwX1JFU0VUX0NUUkwxLCBCSVQoOCkgfSwNCj4gPiArCVtTQ1UwX1JFU0VUX1JWQVMw XSA9IHsgdHJ1ZSwgU0NVMF9SRVNFVF9DVFJMMSwgQklUKDkpIH0sDQo+ID4gKwlbU0NVMF9SRVNF VF9SVkFTMV0gPSB7IHRydWUsIFNDVTBfUkVTRVRfQ1RSTDEsIEJJVCgxMCkgfSwNCj4gPiArCVtT Q1UwX1JFU0VUX1NNM10gPSB7IHRydWUsIFNDVTBfUkVTRVRfQ1RSTDEsIEJJVCgxMSkgfSwNCj4g PiArCVtTQ1UwX1JFU0VUX1NNNF0gPSB7IHRydWUsIFNDVTBfUkVTRVRfQ1RSTDEsIEJJVCgxMikg fSwNCj4gPiArCVtTQ1UwX1JFU0VUX0NSVDBdID0geyB0cnVlLCBTQ1UwX1JFU0VUX0NUUkwxLCBC SVQoMTMpIH0sDQo+ID4gKwlbU0NVMF9SRVNFVF9FQ0NdID0geyB0cnVlLCBTQ1UwX1JFU0VUX0NU UkwxLCBCSVQoMTQpIH0sDQo+ID4gKwlbU0NVMF9SRVNFVF9EUF9QQ0ldID0geyB0cnVlLCBTQ1Uw X1JFU0VUX0NUUkwxLCBCSVQoMTUpIH0sDQo+ID4gKwlbU0NVMF9SRVNFVF9VRlNdID0geyB0cnVl LCBTQ1UwX1JFU0VUX0NUUkwxLCBCSVQoMTYpIH0sDQo+ID4gKwlbU0NVMF9SRVNFVF9FTU1DXSA9 IHsgdHJ1ZSwgU0NVMF9SRVNFVF9DVFJMMSwgQklUKDE3KSB9LA0KPiA+ICsJW1NDVTBfUkVTRVRf UENJRTFSU1RdID0geyB0cnVlLCBTQ1UwX1JFU0VUX0NUUkwxLCBCSVQoMTgpIH0sDQo+ID4gKwlb U0NVMF9SRVNFVF9QQ0lFMVJTVE9FXSA9IHsgdHJ1ZSwgU0NVMF9SRVNFVF9DVFJMMSwgQklUKDE5 KSB9LA0KPiA+ICsJW1NDVTBfUkVTRVRfUENJRTBSU1RdID0geyB0cnVlLCBTQ1UwX1JFU0VUX0NU UkwxLCBCSVQoMjApIH0sDQo+ID4gKwlbU0NVMF9SRVNFVF9QQ0lFMFJTVE9FXSA9IHsgdHJ1ZSwg U0NVMF9SRVNFVF9DVFJMMSwgQklUKDIxKSB9LA0KPiA+ICsJW1NDVTBfUkVTRVRfSlRBR10gPSB7 IHRydWUsIFNDVTBfUkVTRVRfQ1RSTDEsIEJJVCgyMikgfSwNCj4gPiArCVtTQ1UwX1JFU0VUX01D VFAwXSA9IHsgdHJ1ZSwgU0NVMF9SRVNFVF9DVFJMMSwgQklUKDIzKSB9LA0KPiA+ICsJW1NDVTBf UkVTRVRfTUNUUDFdID0geyB0cnVlLCBTQ1UwX1JFU0VUX0NUUkwxLCBCSVQoMjQpIH0sDQo+ID4g KwlbU0NVMF9SRVNFVF9YRE1BMF0gPSB7IHRydWUsIFNDVTBfUkVTRVRfQ1RSTDEsIEJJVCgyNSkg fSwNCj4gPiArCVtTQ1UwX1JFU0VUX1hETUExXSA9IHsgdHJ1ZSwgU0NVMF9SRVNFVF9DVFJMMSwg QklUKDI2KSB9LA0KPiA+ICsJW1NDVTBfUkVTRVRfSDJYMV0gPSB7IHRydWUsIFNDVTBfUkVTRVRf Q1RSTDEsIEJJVCgyNykgfSwNCj4gPiArCVtTQ1UwX1JFU0VUX0RQXSA9IHsgdHJ1ZSwgU0NVMF9S RVNFVF9DVFJMMSwgQklUKDI4KSB9LA0KPiA+ICsJW1NDVTBfUkVTRVRfRFBfTUNVXSA9IHsgdHJ1 ZSwgU0NVMF9SRVNFVF9DVFJMMSwgQklUKDI5KSB9LA0KPiA+ICsJW1NDVTBfUkVTRVRfU1NQXSA9 IHsgdHJ1ZSwgU0NVMF9SRVNFVF9DVFJMMSwgQklUKDMwKSB9LA0KPiA+ICsJW1NDVTBfUkVTRVRf SDJYMF0gPSB7IHRydWUsIFNDVTBfUkVTRVRfQ1RSTDEsIEJJVCgzMSkgfSwNCj4gPiArCVtTQ1Uw X1JFU0VUX1BPUlRBX1ZIVUJdID0geyB0cnVlLCBTQ1UwX1JFU0VUX0NUUkwyLCBCSVQoMCkgfSwN Cj4gPiArCVtTQ1UwX1JFU0VUX1BPUlRBX1BIWTNdID0geyB0cnVlLCBTQ1UwX1JFU0VUX0NUUkwy LCBCSVQoMSkgfSwNCj4gPiArCVtTQ1UwX1JFU0VUX1BPUlRBX1hIQ0ldID0geyB0cnVlLCBTQ1Uw X1JFU0VUX0NUUkwyLCBCSVQoMikgfSwNCj4gPiArCVtTQ1UwX1JFU0VUX1BPUlRCX1ZIVUJdID0g eyB0cnVlLCBTQ1UwX1JFU0VUX0NUUkwyLCBCSVQoMykgfSwNCj4gPiArCVtTQ1UwX1JFU0VUX1BP UlRCX1BIWTNdID0geyB0cnVlLCBTQ1UwX1JFU0VUX0NUUkwyLCBCSVQoNCkgfSwNCj4gPiArCVtT Q1UwX1JFU0VUX1BPUlRCX1hIQ0ldID0geyB0cnVlLCBTQ1UwX1JFU0VUX0NUUkwyLCBCSVQoNSkg fSwNCj4gPiArCVtTQ1UwX1JFU0VUX1BPUlRBX1ZIVUJfRUhDSV0gPSB7IHRydWUsIFNDVTBfUkVT RVRfQ1RSTDIsDQo+IEJJVCg2KSB9LA0KPiA+ICsJW1NDVTBfUkVTRVRfUE9SVEJfVkhVQl9FSENJ XSA9IHsgdHJ1ZSwgU0NVMF9SRVNFVF9DVFJMMiwNCj4gQklUKDcpIH0sDQo+ID4gKwlbU0NVMF9S RVNFVF9VSENJXSA9IHsgdHJ1ZSwgU0NVMF9SRVNFVF9DVFJMMiwgQklUKDgpIH0sDQo+ID4gKwlb U0NVMF9SRVNFVF9UU1BdID0geyB0cnVlLCBTQ1UwX1JFU0VUX0NUUkwyLCBCSVQoOSkgfSwNCj4g PiArCVtTQ1UwX1JFU0VUX0UyTTBdID0geyB0cnVlLCBTQ1UwX1JFU0VUX0NUUkwyLCBCSVQoMTAp IH0sDQo+ID4gKwlbU0NVMF9SRVNFVF9FMk0xXSA9IHsgdHJ1ZSwgU0NVMF9SRVNFVF9DVFJMMiwg QklUKDExKSB9LA0KPiA+ICsJW1NDVTBfUkVTRVRfVkxJTktdID0geyB0cnVlLCBTQ1UwX1JFU0VU X0NUUkwyLCBCSVQoMTIpIH0sIH07DQo+ID4gKw0KPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGFz dDI3MDBfcmVzZXRfc2lnbmFsIGFzdDI3MDBfcmVzZXQxX3NpZ25hbHNbXSA9IHsNCj4gPiArCVtT Q1UxX1JFU0VUX0xQQzBdID0geyB0cnVlLCBTQ1UxX1JFU0VUX0NUUkwxLCBCSVQoMCkgfSwNCj4g PiArCVtTQ1UxX1JFU0VUX0xQQzFdID0geyB0cnVlLCBTQ1UxX1JFU0VUX0NUUkwxLCBCSVQoMSkg fSwNCj4gPiArCVtTQ1UxX1JFU0VUX01JSV0gPSB7IHRydWUsIFNDVTFfUkVTRVRfQ1RSTDEsIEJJ VCgyKSB9LA0KPiA+ICsJW1NDVTFfUkVTRVRfUEVDSV0gPSB7IHRydWUsIFNDVTFfUkVTRVRfQ1RS TDEsIEJJVCgzKSB9LA0KPiA+ICsJW1NDVTFfUkVTRVRfUFdNXSA9IHsgdHJ1ZSwgU0NVMV9SRVNF VF9DVFJMMSwgQklUKDQpIH0sDQo+ID4gKwlbU0NVMV9SRVNFVF9NQUMwXSA9IHsgdHJ1ZSwgU0NV MV9SRVNFVF9DVFJMMSwgQklUKDUpIH0sDQo+ID4gKwlbU0NVMV9SRVNFVF9NQUMxXSA9IHsgdHJ1 ZSwgU0NVMV9SRVNFVF9DVFJMMSwgQklUKDYpIH0sDQo+ID4gKwlbU0NVMV9SRVNFVF9NQUMyXSA9 IHsgdHJ1ZSwgU0NVMV9SRVNFVF9DVFJMMSwgQklUKDcpIH0sDQo+ID4gKwlbU0NVMV9SRVNFVF9B RENdID0geyB0cnVlLCBTQ1UxX1JFU0VUX0NUUkwxLCBCSVQoOCkgfSwNCj4gPiArCVtTQ1UxX1JF U0VUX1NEXSA9IHsgdHJ1ZSwgU0NVMV9SRVNFVF9DVFJMMSwgQklUKDkpIH0sDQo+ID4gKwlbU0NV MV9SRVNFVF9FU1BJMF0gPSB7IHRydWUsIFNDVTFfUkVTRVRfQ1RSTDEsIEJJVCgxMCkgfSwNCj4g PiArCVtTQ1UxX1JFU0VUX0VTUEkxXSA9IHsgdHJ1ZSwgU0NVMV9SRVNFVF9DVFJMMSwgQklUKDEx KSB9LA0KPiA+ICsJW1NDVTFfUkVTRVRfSlRBRzFdID0geyB0cnVlLCBTQ1UxX1JFU0VUX0NUUkwx LCBCSVQoMTIpIH0sDQo+ID4gKwlbU0NVMV9SRVNFVF9TUEkwXSA9IHsgdHJ1ZSwgU0NVMV9SRVNF VF9DVFJMMSwgQklUKDEzKSB9LA0KPiA+ICsJW1NDVTFfUkVTRVRfU1BJMV0gPSB7IHRydWUsIFND VTFfUkVTRVRfQ1RSTDEsIEJJVCgxNCkgfSwNCj4gPiArCVtTQ1UxX1JFU0VUX1NQSTJdID0geyB0 cnVlLCBTQ1UxX1JFU0VUX0NUUkwxLCBCSVQoMTUpIH0sDQo+ID4gKwlbU0NVMV9SRVNFVF9JM0Mw XSA9IHsgdHJ1ZSwgU0NVMV9SRVNFVF9DVFJMMSwgQklUKDE2KSB9LA0KPiA+ICsJW1NDVTFfUkVT RVRfSTNDMV0gPSB7IHRydWUsIFNDVTFfUkVTRVRfQ1RSTDEsIEJJVCgxNykgfSwNCj4gPiArCVtT Q1UxX1JFU0VUX0kzQzJdID0geyB0cnVlLCBTQ1UxX1JFU0VUX0NUUkwxLCBCSVQoMTgpIH0sDQo+ ID4gKwlbU0NVMV9SRVNFVF9JM0MzXSA9IHsgdHJ1ZSwgU0NVMV9SRVNFVF9DVFJMMSwgQklUKDE5 KSB9LA0KPiA+ICsJW1NDVTFfUkVTRVRfSTNDNF0gPSB7IHRydWUsIFNDVTFfUkVTRVRfQ1RSTDEs IEJJVCgyMCkgfSwNCj4gPiArCVtTQ1UxX1JFU0VUX0kzQzVdID0geyB0cnVlLCBTQ1UxX1JFU0VU X0NUUkwxLCBCSVQoMjEpIH0sDQo+ID4gKwlbU0NVMV9SRVNFVF9JM0M2XSA9IHsgdHJ1ZSwgU0NV MV9SRVNFVF9DVFJMMSwgQklUKDIyKSB9LA0KPiA+ICsJW1NDVTFfUkVTRVRfSTNDN10gPSB7IHRy dWUsIFNDVTFfUkVTRVRfQ1RSTDEsIEJJVCgyMykgfSwNCj4gPiArCVtTQ1UxX1JFU0VUX0kzQzhd ID0geyB0cnVlLCBTQ1UxX1JFU0VUX0NUUkwxLCBCSVQoMjQpIH0sDQo+ID4gKwlbU0NVMV9SRVNF VF9JM0M5XSA9IHsgdHJ1ZSwgU0NVMV9SRVNFVF9DVFJMMSwgQklUKDI1KSB9LA0KPiA+ICsJW1ND VTFfUkVTRVRfSTNDMTBdID0geyB0cnVlLCBTQ1UxX1JFU0VUX0NUUkwxLCBCSVQoMjYpIH0sDQo+ ID4gKwlbU0NVMV9SRVNFVF9JM0MxMV0gPSB7IHRydWUsIFNDVTFfUkVTRVRfQ1RSTDEsIEJJVCgy NykgfSwNCj4gPiArCVtTQ1UxX1JFU0VUX0kzQzEyXSA9IHsgdHJ1ZSwgU0NVMV9SRVNFVF9DVFJM MSwgQklUKDI4KSB9LA0KPiA+ICsJW1NDVTFfUkVTRVRfSTNDMTNdID0geyB0cnVlLCBTQ1UxX1JF U0VUX0NUUkwxLCBCSVQoMjkpIH0sDQo+ID4gKwlbU0NVMV9SRVNFVF9JM0MxNF0gPSB7IHRydWUs IFNDVTFfUkVTRVRfQ1RSTDEsIEJJVCgzMCkgfSwNCj4gPiArCVtTQ1UxX1JFU0VUX0kzQzE1XSA9 IHsgdHJ1ZSwgU0NVMV9SRVNFVF9DVFJMMSwgQklUKDMxKSB9LA0KPiA+ICsJW1NDVTFfUkVTRVRf TUNVMF0gPSB7IHRydWUsIFNDVTFfUkVTRVRfQ1RSTDIsIEJJVCgwKSB9LA0KPiA+ICsJW1NDVTFf UkVTRVRfTUNVMV0gPSB7IHRydWUsIFNDVTFfUkVTRVRfQ1RSTDIsIEJJVCgxKSB9LA0KPiA+ICsJ W1NDVTFfUkVTRVRfSDJBX1NQSTFdID0geyB0cnVlLCBTQ1UxX1JFU0VUX0NUUkwyLCBCSVQoMikg fSwNCj4gPiArCVtTQ1UxX1JFU0VUX0gyQV9TUEkyXSA9IHsgdHJ1ZSwgU0NVMV9SRVNFVF9DVFJM MiwgQklUKDMpIH0sDQo+ID4gKwlbU0NVMV9SRVNFVF9VQVJUMF0gPSB7IHRydWUsIFNDVTFfUkVT RVRfQ1RSTDIsIEJJVCg0KSB9LA0KPiA+ICsJW1NDVTFfUkVTRVRfVUFSVDFdID0geyB0cnVlLCBT Q1UxX1JFU0VUX0NUUkwyLCBCSVQoNSkgfSwNCj4gPiArCVtTQ1UxX1JFU0VUX1VBUlQyXSA9IHsg dHJ1ZSwgU0NVMV9SRVNFVF9DVFJMMiwgQklUKDYpIH0sDQo+ID4gKwlbU0NVMV9SRVNFVF9VQVJU M10gPSB7IHRydWUsIFNDVTFfUkVTRVRfQ1RSTDIsIEJJVCg3KSB9LA0KPiA+ICsJW1NDVTFfUkVT RVRfSTJDX0ZJTFRFUl0gPSB7IHRydWUsIFNDVTFfUkVTRVRfQ1RSTDIsIEJJVCg4KSB9LA0KPiA+ ICsJW1NDVTFfUkVTRVRfQ0FMSVBUUkFdID0geyB0cnVlLCBTQ1UxX1JFU0VUX0NUUkwyLCBCSVQo OSkgfSwNCj4gPiArCVtTQ1UxX1JFU0VUX1hETUFdID0geyB0cnVlLCBTQ1UxX1JFU0VUX0NUUkwy LCBCSVQoMTApIH0sDQo+ID4gKwlbU0NVMV9SRVNFVF9GU0ldID0geyB0cnVlLCBTQ1UxX1JFU0VU X0NUUkwyLCBCSVQoMTIpIH0sDQo+ID4gKwlbU0NVMV9SRVNFVF9DQU5dID0geyB0cnVlLCBTQ1Ux X1JFU0VUX0NUUkwyLCBCSVQoMTMpIH0sDQo+ID4gKwlbU0NVMV9SRVNFVF9NQ1RQXSA9IHsgdHJ1 ZSwgU0NVMV9SRVNFVF9DVFJMMiwgQklUKDE0KSB9LA0KPiA+ICsJW1NDVTFfUkVTRVRfSTJDXSA9 IHsgdHJ1ZSwgU0NVMV9SRVNFVF9DVFJMMiwgQklUKDE1KSB9LA0KPiA+ICsJW1NDVTFfUkVTRVRf VUFSVDZdID0geyB0cnVlLCBTQ1UxX1JFU0VUX0NUUkwyLCBCSVQoMTYpIH0sDQo+ID4gKwlbU0NV MV9SRVNFVF9VQVJUN10gPSB7IHRydWUsIFNDVTFfUkVTRVRfQ1RSTDIsIEJJVCgxNykgfSwNCj4g PiArCVtTQ1UxX1JFU0VUX1VBUlQ4XSA9IHsgdHJ1ZSwgU0NVMV9SRVNFVF9DVFJMMiwgQklUKDE4 KSB9LA0KPiA+ICsJW1NDVTFfUkVTRVRfVUFSVDldID0geyB0cnVlLCBTQ1UxX1JFU0VUX0NUUkwy LCBCSVQoMTkpIH0sDQo+ID4gKwlbU0NVMV9SRVNFVF9MVFBJMF0gPSB7IHRydWUsIFNDVTFfUkVT RVRfQ1RSTDIsIEJJVCgyMCkgfSwNCj4gPiArCVtTQ1UxX1JFU0VUX1ZHQUxdID0geyB0cnVlLCBT Q1UxX1JFU0VUX0NUUkwyLCBCSVQoMjEpIH0sDQo+ID4gKwlbU0NVMV9SRVNFVF9MVFBJMV0gPSB7 IHRydWUsIFNDVTFfUkVTRVRfQ1RSTDIsIEJJVCgyMikgfSwNCj4gPiArCVtTQ1UxX1JFU0VUX0FD RV0gPSB7IHRydWUsIFNDVTFfUkVTRVRfQ1RSTDIsIEJJVCgyMykgfSwNCj4gPiArCVtTQ1UxX1JF U0VUX0UyTV0gPSB7IHRydWUsIFNDVTFfUkVTRVRfQ1RSTDIsIEJJVCgyNCkgfSwNCj4gPiArCVtT Q1UxX1JFU0VUX1VIQ0ldID0geyB0cnVlLCBTQ1UxX1JFU0VUX0NUUkwyLCBCSVQoMjUpIH0sDQo+ ID4gKwlbU0NVMV9SRVNFVF9QT1JUQ19VU0IyVUFSVF0gPSB7IHRydWUsIFNDVTFfUkVTRVRfQ1RS TDIsDQo+IEJJVCgyNikgfSwNCj4gPiArCVtTQ1UxX1JFU0VUX1BPUlRDX1ZIVUJfRUhDSV0gPSB7 IHRydWUsIFNDVTFfUkVTRVRfQ1RSTDIsDQo+IEJJVCgyNykgfSwNCj4gPiArCVtTQ1UxX1JFU0VU X1BPUlREX1VTQjJVQVJUXSA9IHsgdHJ1ZSwgU0NVMV9SRVNFVF9DVFJMMiwNCj4gQklUKDI4KSB9 LA0KPiA+ICsJW1NDVTFfUkVTRVRfUE9SVERfVkhVQl9FSENJXSA9IHsgdHJ1ZSwgU0NVMV9SRVNF VF9DVFJMMiwNCj4gQklUKDI5KSB9LA0KPiA+ICsJW1NDVTFfUkVTRVRfSDJYXSA9IHsgdHJ1ZSwg U0NVMV9SRVNFVF9DVFJMMiwgQklUKDMwKSB9LA0KPiA+ICsJW1NDVTFfUkVTRVRfSTNDRE1BXSA9 IHsgdHJ1ZSwgU0NVMV9SRVNFVF9DVFJMMiwgQklUKDMxKSB9LA0KPiA+ICsJW1NDVTFfUkVTRVRf UENJRTJSU1RdID0geyBmYWxzZSwgU0NVMV9QQ0lFM19DVFJMLCBCSVQoMCkgfSwgfTsNCj4gPiAr DQo+ID4gKyNkZWZpbmUgdG9fYXNwZWVkX3Jlc2V0KHApIGNvbnRhaW5lcl9vZihwLCBzdHJ1Y3Qg YXNwZWVkX3Jlc2V0LA0KPiA+ICtyY2RldikNCj4gDQo+IFBsZWFzZSB0dXJuIHRoaXMgaW50byBh IHN0YXRpYyBpbmxpbmUgZnVuY3Rpb24uDQoNCkRvIHlvdSBtZWFuIGJ5IGZvbGxvd2luZz8NCnN0 YXRpYyBpbmxpbmUgc3RydWN0IGFzcGVlZF9yZXNldCAqdG9fYXNwZWVkX3Jlc2V0KHN0cnVjdCBy ZXNldF9jb250cm9sbGVyX2RldiAqcmNkZXYpDQp7DQogICAgcmV0dXJuIGNvbnRhaW5lcl9vZihy Y2Rldiwgc3RydWN0IGFzcGVlZF9yZXNldCwgcmNkZXYpOw0KfQ0KPiANCj4gPiArc3RhdGljIGlu dCBhc3BlZWRfcmVzZXRfYXNzZXJ0KHN0cnVjdCByZXNldF9jb250cm9sbGVyX2RldiAqcmNkZXYs DQo+ID4gK3Vuc2lnbmVkIGxvbmcgaWQpIHsNCj4gPiArCXN0cnVjdCBhc3BlZWRfcmVzZXQgKnJj ID0gdG9fYXNwZWVkX3Jlc2V0KHJjZGV2KTsNCj4gPiArCXZvaWQgX19pb21lbSAqcmVnX29mZnNl dCA9IHJjLT5iYXNlICsgcmMtPmluZm8tPnNpZ25hbFtpZF0ub2Zmc2V0Ow0KPiA+ICsJdW5zaWdu ZWQgbG9uZyBmbGFnczsNCj4gPiArDQo+ID4gKwlpZiAocmMtPmluZm8tPnNpZ25hbFtpZF0uZGVk aWNhdGVkX2Nscikgew0KPiA+ICsJCXdyaXRlbChyYy0+aW5mby0+c2lnbmFsW2lkXS5iaXQsIHJl Z19vZmZzZXQpOw0KPiA+ICsJfSBlbHNlIHsNCj4gPiArCQlzcGluX2xvY2tfaXJxc2F2ZSgmcmMt PmxvY2ssIGZsYWdzKTsNCj4gDQo+IFlvdSBjb3VsZCB1c2UgZ3VhcmQoc3BpbmxvY2tfaXJxc2F2 ZSkoJnJjLT5sb2NrKSB0byBzYXZlIGEgZmV3IGxpbmVzLg0KPiANCkl0IHdpbGwgbW9kaWZ5IHRv IA0KCQllbHNlIHsNCgkJCXNwaW5fbG9ja19pcnFzYXZlKCZyYy0+bG9jaywgZmxhZ3MpOw0KCQkJ d3JpdGVsKHJlYWRsKHJlZ19vZmZzZXQpICYgfnJjLT5pbmZvLT5zaWduYWxbaWRdLmJpdCwgcmVn X29mZnNldCk7DQoJCX0NCg0KPiA+ICsJCXdyaXRlbChyZWFkbChyZWdfb2Zmc2V0KSAmIH5yYy0+ aW5mby0+c2lnbmFsW2lkXS5iaXQsIHJlZ19vZmZzZXQpOw0KPiA+ICsJCXNwaW5fdW5sb2NrX2ly cXJlc3RvcmUoJnJjLT5sb2NrLCBmbGFncyk7DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJcmV0dXJu IDA7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyBpbnQgYXNwZWVkX3Jlc2V0X2RlYXNzZXJ0 KHN0cnVjdCByZXNldF9jb250cm9sbGVyX2RldiAqcmNkZXYsDQo+ID4gK3Vuc2lnbmVkIGxvbmcg aWQpIHsNCj4gPiArCXN0cnVjdCBhc3BlZWRfcmVzZXQgKnJjID0gdG9fYXNwZWVkX3Jlc2V0KHJj ZGV2KTsNCj4gPiArCXZvaWQgX19pb21lbSAqcmVnX29mZnNldCA9IHJjLT5iYXNlICsgcmMtPmlu Zm8tPnNpZ25hbFtpZF0ub2Zmc2V0Ow0KPiA+ICsJdW5zaWduZWQgbG9uZyBmbGFnczsNCj4gPiAr DQo+ID4gKwlpZiAocmMtPmluZm8tPnNpZ25hbFtpZF0uZGVkaWNhdGVkX2Nscikgew0KPiA+ICsJ CXdyaXRlbChyYy0+aW5mby0+c2lnbmFsW2lkXS5iaXQsIHJlZ19vZmZzZXQgKyAweDA0KTsNCj4g PiArCX0gZWxzZSB7DQo+ID4gKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnJjLT5sb2NrLCBmbGFncyk7 DQo+ID4gKwkJd3JpdGVsKHJlYWRsKHJlZ19vZmZzZXQpIHwgcmMtPmluZm8tPnNpZ25hbFtpZF0u Yml0LCByZWdfb2Zmc2V0KTsNCj4gPiArCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyYy0+bG9j aywgZmxhZ3MpOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCXJldHVybiAwOw0KPiA+ICt9DQo+ID4g Kw0KPiA+ICtzdGF0aWMgaW50IGFzcGVlZF9yZXNldF9zdGF0dXMoc3RydWN0IHJlc2V0X2NvbnRy b2xsZXJfZGV2ICpyY2RldiwNCj4gPiArdW5zaWduZWQgbG9uZyBpZCkgew0KPiA+ICsJc3RydWN0 IGFzcGVlZF9yZXNldCAqcmMgPSB0b19hc3BlZWRfcmVzZXQocmNkZXYpOw0KPiA+ICsJdm9pZCBf X2lvbWVtICpyZWdfb2Zmc2V0ID0gcmMtPmJhc2UgKyByYy0+aW5mby0+c2lnbmFsW2lkXS5vZmZz ZXQ7DQo+ID4gKw0KPiA+ICsJcmV0dXJuIChyZWFkbChyZWdfb2Zmc2V0KSAmIHJjLT5pbmZvLT5z aWduYWxbaWRdLmJpdCkgPyAxIDogMDsgfQ0KPiA+ICsNCj4gPiArc3RhdGljIGNvbnN0IHN0cnVj dCByZXNldF9jb250cm9sX29wcyBhc3BlZWRfcmVzZXRfb3BzID0gew0KPiA+ICsJLmFzc2VydCA9 IGFzcGVlZF9yZXNldF9hc3NlcnQsDQo+ID4gKwkuZGVhc3NlcnQgPSBhc3BlZWRfcmVzZXRfZGVh c3NlcnQsDQo+ID4gKwkuc3RhdHVzID0gYXNwZWVkX3Jlc2V0X3N0YXR1cywNCj4gPiArfTsNCj4g PiArDQo+ID4gK3N0YXRpYyBpbnQgYXNwZWVkX3Jlc2V0X3Byb2JlKHN0cnVjdCBhdXhpbGlhcnlf ZGV2aWNlICphZGV2LA0KPiA+ICsJCQkgICAgICBjb25zdCBzdHJ1Y3QgYXV4aWxpYXJ5X2Rldmlj ZV9pZCAqaWQpIHsNCj4gPiArCXN0cnVjdCBhc3BlZWRfcmVzZXQgKnJlc2V0Ow0KPiA+ICsJc3Ry dWN0IGRldmljZSAqZGV2ID0gJmFkZXYtPmRldjsNCj4gPiArDQo+ID4gKwlyZXNldCA9IGRldm1f a3phbGxvYyhkZXYsIHNpemVvZigqcmVzZXQpLCBHRlBfS0VSTkVMKTsNCj4gPiArCWlmICghcmVz ZXQpDQo+ID4gKwkJcmV0dXJuIC1FTk9NRU07DQo+ID4gKw0KPiA+ICsJc3Bpbl9sb2NrX2luaXQo JnJlc2V0LT5sb2NrKTsNCj4gPiArDQo+ID4gKwlyZXNldC0+aW5mbyA9IChzdHJ1Y3QgYXNwZWVk X3Jlc2V0X2luZm8gKikoaWQtPmRyaXZlcl9kYXRhKTsNCj4gDQo+IFVubmVjZXNzYXJ5IHBhcmVu dGhlc2VzLg0KV2lsbCB1cGRhdGUgZm9sbG93aW5nLg0KcmVzZXQtPmluZm8gPSAoc3RydWN0IGFz cGVlZF9yZXNldF9pbmZvICopaWQtPmRyaXZlcl9kYXRhOw0KPiANCj4gPiArCXJlc2V0LT5yY2Rl di5vd25lciA9IFRISVNfTU9EVUxFOw0KPiA+ICsJcmVzZXQtPnJjZGV2Lm5yX3Jlc2V0cyA9IHJl c2V0LT5pbmZvLT5ucl9yZXNldHM7DQo+ID4gKwlyZXNldC0+cmNkZXYub3BzID0gJmFzcGVlZF9y ZXNldF9vcHM7DQo+ID4gKwlyZXNldC0+cmNkZXYub2Zfbm9kZSA9IGRldi0+cGFyZW50LT5vZl9u b2RlOw0KPiA+ICsJcmVzZXQtPnJjZGV2LmRldiA9IGRldjsNCj4gPiArCXJlc2V0LT5yY2Rldi5v Zl9yZXNldF9uX2NlbGxzID0gMTsNCj4gPiArCXJlc2V0LT5iYXNlID0gKHZvaWQgX19pb21lbSAq KWFkZXYtPmRldi5wbGF0Zm9ybV9kYXRhOw0KPiA+ICsNCj4gPiArCWlmICghcmVzZXQtPmJhc2Up DQo+ID4gKwkJcmV0dXJuIC1FTk9NRU07DQo+ID4gKw0KPiA+ICsJcmV0dXJuIGRldm1fcmVzZXRf Y29udHJvbGxlcl9yZWdpc3RlcihkZXYsICZyZXNldC0+cmNkZXYpOyB9DQo+ID4gKw0KPiA+ICtz dGF0aWMgY29uc3Qgc3RydWN0IGFzcGVlZF9yZXNldF9pbmZvIGFzdDI3MDBfcmVzZXQwX2luZm8g PSB7DQo+ID4gKwkubnJfcmVzZXRzID0gQVJSQVlfU0laRShhc3QyNzAwX3Jlc2V0MF9zaWduYWxz KSwNCj4gPiArCS5zaWduYWwgPSBhc3QyNzAwX3Jlc2V0MF9zaWduYWxzLA0KPiA+ICt9Ow0KPiA+ ICsNCj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBhc3BlZWRfcmVzZXRfaW5mbyBhc3QyNzAwX3Jl c2V0MV9pbmZvID0gew0KPiA+ICsJLm5yX3Jlc2V0cyA9IEFSUkFZX1NJWkUoYXN0MjcwMF9yZXNl dDFfc2lnbmFscyksDQo+ID4gKwkuc2lnbmFsID0gYXN0MjcwMF9yZXNldDFfc2lnbmFscywNCj4g PiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYXV4aWxpYXJ5X2RldmljZV9p ZCBhc3BlZWRfcmVzZXRfaWRzW10gPSB7DQo+ID4gKwl7IC5uYW1lID0gImNsa19hc3QyNzAwLnJl c2V0MCIsIC5kcml2ZXJfZGF0YSA9DQo+IChrZXJuZWxfdWxvbmdfdCkmYXN0MjcwMF9yZXNldDBf aW5mbyB9LA0KPiA+ICsJeyAubmFtZSA9ICJjbGtfYXN0MjcwMC5yZXNldDEiLCAuZHJpdmVyX2Rh dGEgPQ0KPiAoa2VybmVsX3Vsb25nX3QpJmFzdDI3MDBfcmVzZXQxX2luZm8gfSwNCj4gPiArCXsg fQ0KPiA+ICt9Ow0KPiA+ICtNT0RVTEVfREVWSUNFX1RBQkxFKGF1eGlsaWFyeSwgYXNwZWVkX3Jl c2V0X2lkcyk7DQo+ID4gKw0KPiA+ICtzdGF0aWMgc3RydWN0IGF1eGlsaWFyeV9kcml2ZXIgYXNw ZWVkX3Jlc2V0X2RyaXZlciA9IHsNCj4gPiArCS5wcm9iZQkJPSBhc3BlZWRfcmVzZXRfcHJvYmUs DQo+ID4gKwkuaWRfdGFibGUJPSBhc3BlZWRfcmVzZXRfaWRzLA0KPiA+ICt9Ow0KPiA+ICsNCj4g PiArbW9kdWxlX2F1eGlsaWFyeV9kcml2ZXIoYXNwZWVkX3Jlc2V0X2RyaXZlcik7DQo+ID4gKw0K PiA+ICtNT0RVTEVfQVVUSE9SKCJSeWFuIENoZW4gPHJ5YW5fY2hlbkBhc3BlZWR0ZWNoLmNvbT4i KTsNCj4gPiArTU9EVUxFX0RFU0NSSVBUSU9OKCJBU1BFRUQgU29DIFJlc2V0IENvbnRyb2xsZXIg RHJpdmVyIik7DQo+ID4gK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsNCj4gDQo+IHJlZ2FyZHMNCj4g UGhpbGlwcA0K