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 78B3C459B6; Tue, 17 Sep 2024 20:13:45 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 425E840280; Tue, 17 Sep 2024 20:13:45 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id D60EE40261 for ; Tue, 17 Sep 2024 20:13:43 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 48HF1lLR008683 for ; Tue, 17 Sep 2024 11:13:42 -0700 Received: from pps.reinject (localhost [127.0.0.1]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 41na0g5vf9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 17 Sep 2024 11:13:42 -0700 (PDT) Received: from m0045851.ppops.net (m0045851.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 48HHua2b023554 for ; Tue, 17 Sep 2024 11:13:42 -0700 Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2170.outbound.protection.outlook.com [104.47.57.170]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 41na0g5vf6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 17 Sep 2024 11:13:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lar2I+oOUMludhmN39UfjH8c0xpkej2xIIzHTXEsCrzDejGnlZDScacMg3S1CU2XCU8bPHtjhwd5hKIn1n5nc/PPca4I3f/DUjT+pBY6RnYsnt0u5JHytvxuQzZWJ+CU2c08me0PbSxni1gaJ5LON3jgdKVpO1lLT/r066SwO6v2sGKSpUH9+8FfNJzixflKV/5PIDFCcrMjms5lFIiKBy5B29h0ROuKZW5HiW+xj6WgkeOvft86zS1qtbJxCN4430hoA6tOAy4SXRG2H36XnmP/ZXyeetd96k5iBc1QuNsTqioDV3SiDPJ2fGQ6eCe+HfmlvDxqZbXV5nn/fVywtA== 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=A56MLYbRCp6UsP+auoZJChRwT6H1uWLT3UfzqhIEbF4=; b=UzM4ZoocNN8+Hv7YCSQfOps8nUy+F9xKcWUPh60n8AJlcWdsQzeiBEAjlnw4PGrBmbtH/YEJ3QW5RGhMNnsAgjvUtPKQn9+ATKmUQmAWNdkglUi9n3d+Oq9T55Ry1o5Fva4MmkmnGhKIh+i+nYbD4u/8CJ/hVvJC9g/rUhAalCCwwlUBhGk5YLFWq3G5hoKH/B/oodnXDUbd3Wuoy0f1lL4c+RzMwWhhnwkKjNj6PrJXK/1TttEyiqLo7dcNXG9+j6wofhMspbCpZZR/72SwTBdJhNmazhFLloVM49Lf+sN4O4uVrhKCmiA/hPb27xVWd5pJ9JZkb8aROS8Of8L+Qg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=A56MLYbRCp6UsP+auoZJChRwT6H1uWLT3UfzqhIEbF4=; b=QC1B6ajXQkPcWdF/jp0BGjsBVjmkhFcRJQO1Bw9siTrk+6kwX9JViKyqK7JHEf1MvaWV7hYYH2PeQPzuDw5v6FiRM6f0NASYTjujX1ZFSaIE5sshkFWr9Up0kBg/oM0xYsFLHIQK9aXj40xlz8oNub6iU2SFv7FAYFM91Dr7iS0= Received: from CO6PR18MB4484.namprd18.prod.outlook.com (2603:10b6:5:359::9) by BY1PR18MB6089.namprd18.prod.outlook.com (2603:10b6:a03:4a7::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.24; Tue, 17 Sep 2024 18:13:38 +0000 Received: from CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::3c98:dd36:4897:a51d]) by CO6PR18MB4484.namprd18.prod.outlook.com ([fe80::3c98:dd36:4897:a51d%5]) with mapi id 15.20.7962.022; Tue, 17 Sep 2024 18:13:38 +0000 From: Akhil Goyal To: Hanxiao Li , "dev@dpdk.org" CC: "wang.yong19@zte.com.cn" Subject: RE: [EXTERNAL] [PATCH v6 1/8] zsda: Introduce zsda device drivers Thread-Topic: [EXTERNAL] [PATCH v6 1/8] zsda: Introduce zsda device drivers Thread-Index: AQHbBCAImPJckXpe/kafYsMVXzLc9rJcJFXg Date: Tue, 17 Sep 2024 18:13:38 +0000 Message-ID: References: <20240910091543.3854422-1-li.hanxiao@zte.com.cn> <20240911075200.4074366-1-li.hanxiao@zte.com.cn> In-Reply-To: <20240911075200.4074366-1-li.hanxiao@zte.com.cn> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO6PR18MB4484:EE_|BY1PR18MB6089:EE_ x-ms-office365-filtering-correlation-id: 2efd9440-ceca-43f4-ec52-08dcd74473e5 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|1800799024|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?VWNVdUZVd21CY082MUVrU1Q3enU3blRwbkpBUWJpZ1M4azBhajllWGI1eFNQ?= =?utf-8?B?Qi9CN1lsR21OczhHOXpnS2NaTzhoVE15SCtaQ2ZrQ2k3ZTUrd3NiOUJCckh2?= =?utf-8?B?WXNEOWdDekx6YXBVN0RHeVhHZnQvbm9oNmh5azkycE0wTDMzZzQ1amVnOWNR?= =?utf-8?B?TzBpTVVPdVV1NEd6UlUyVHdUelF5UWtIZG1wdEhyNkdWSDkwblBhcDd1QXQ5?= =?utf-8?B?cjVZbGJrOE96aU5ZNW1KNDFmblZOV2dFYTFORW5JZ0t6a0M5MEZxa1RHTkpv?= =?utf-8?B?SUdtdmdGRHY2TE9OenVpQ3BHcU9VL1IzNXZpZS84b2lGUUlSYVFvSVR6RDBS?= =?utf-8?B?QytUTWk3SmpTbEdrN3VjbU9SUHlSY1BGbktwMVFUc2JKNjRVdTF0bTVCOWhZ?= =?utf-8?B?ajJGNUMzYXM0L0FaZ3BnVERGYnJYSlczdEIrV1VkSDFsa0NVUlE1QzhiK205?= =?utf-8?B?SHU0MFhrN1NxdDNDeTlQTWhET21nR0tmRTNoZFBtUWJjZFFuMk8xSDZVSEgx?= =?utf-8?B?N3o1c2dkV3hSVENxdVoxc3FGeGJ3ejNJNGZPVjRIU21odDZMcXlaWXhSUXQ1?= =?utf-8?B?RysySXM2TVNoUVBIT280VmJ6V0p1UjY3ZjIyWGhNS2FmSjRmZTB5ekRrTTB3?= =?utf-8?B?VUVWRWV6K1FLTzF4WFlsdnFMTkpweU1rM2tvcXdKZXhQZ3l0SjhJR1FCVEQv?= =?utf-8?B?WkVMTy8wakY0VS9HaytGdTdyejhhdWtkMmo0M0N2NU1IUkFMc2NNNnZ1d2tU?= =?utf-8?B?eUxpeitoMjhiemVBL0gxWFJWSFhNVGpZNGFabkNBR2JHcFE5Mzk1NmtzUXRw?= =?utf-8?B?bVBEbVZEYU5wNUU3dFc1U1JoL0ZRM0tBT3RrTHgySnB2Mjg4V01oQjNYVTdr?= =?utf-8?B?NGZ4bkdteVVObSswZUY4R2hXWUt4bzNMdTRhVXg4THAzTk0zSW9PN1ZLWHE2?= =?utf-8?B?cElmM0pkMWJBYnJOQlBjeW82Q1dYNC9QekppMldqQWtQWjd5bnBvT0RYMFBL?= =?utf-8?B?RS9tQjkzbFF4R09zWjFMS0tJaFhkd3JhSGY5bEpOOWVKbU9lNmhPSVFwN3Vz?= =?utf-8?B?bXVsZHZVbEZYRW9rZUhQcVRyWm56dlF3WTVWWkZ4WGY5QlFlSU51UGRCdENq?= =?utf-8?B?R2VUS2NjbFJXMVJXdHlRUGxrWHhaRnYzcUxFT0hNTDRudFMyQmc4TG1xNlNp?= =?utf-8?B?WDkxOTFnc2hxWndQcDJVblFDRHlsTEdvcG9scU1MRllRRzM1WDhPeXZtb3VN?= =?utf-8?B?NXpudkp0S0tyVUpZc0R4eDhHelFrcHlZM2ZOR3lxcFJTMDRTcEYzVy9lb21O?= =?utf-8?B?VjNKeFYvOXdQdHdOa0IrWEZrNEFEQTIxTVA2VERDWDNmZWN3VVNNN0k5eEp2?= =?utf-8?B?ZGE2MGFIZFFsYloxaXFNTDBBTGlPMWVpNHh4bHU0L1dsNGtHYzVndHJ2R2dT?= =?utf-8?B?TEYxa2ZaMXdDSFFVbE5tL3QrRkJ5ZWNyK1hXVGhwVUJTZ3J3ZjJsTWRTMFNK?= =?utf-8?B?Y3ZFdU82SkdCMXExQXZYOXYyUWJuQWtlMUNlYmlMWlBSUnN4TDJCZUhxWnJD?= =?utf-8?B?eUNrYURPR2hGMm1DK3B1Ky8wVFVCWDVMTjNqQWplRDhBVld0bFZoQjFscmdj?= =?utf-8?B?djU0dUx6d2JuZzlBbTZnWXZtOGhQdWxYclBVeFEwQU5sTFBwSkdOUFZKN1oz?= =?utf-8?B?cGFFSU5ZZE1hRmV4QmViQ2dsMHhKQzJnQ0Yya0lwdVd3aitVQmdpUUV3RXNt?= =?utf-8?B?eWFMdUE4dmRqL3U4VldSdHpnZFI2RFhmVE9GVXhyWmVIdTFPaEVxZDNndTU4?= =?utf-8?B?TWdxTU5JcU1DejdrdmdpZ0RoZXJvY3kwWnN4Z1pkWjBIRGFUSmpaN0RjZ3pw?= =?utf-8?B?UTBMaTQzNTd2dGQrM2lGWVMvOUF2QjNMazIreFJtbEVJK3c9PQ==?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO6PR18MB4484.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VEtEU0FnblN6S1diYkJxcVFldGd6UWdNYUdjVVo0L0JPdzBkcTFYVklvNytC?= =?utf-8?B?Y3dWY1Z6ZkVOcDc1M0lOeTFpazU0Z0tSUzEyakdielBrZVR5S20zejlKWktB?= =?utf-8?B?L2JTOHQ0TXVuWkt6akFERXkraFNxSXV2Uk1KNU5jK3N0YXg2NWx3ZzBqb2lj?= =?utf-8?B?Y1dYOWNWUWdYVjR4NzNxVWY3Sk1md0Vib0RwTjV0SGU3aGJlQ0gzVUpqTytt?= =?utf-8?B?Mm91VVBUbVZpU2ZqL0VNMEZxNFZ5V3hENW9vNFNZODJZci9hNC9kb0ZhUVNM?= =?utf-8?B?dms3NGwzcHlvWUpaKytyN2VnT0kwOHYxbW93RGMxZ1NkUWp1Q0xEbi8rZXFT?= =?utf-8?B?eHRSWGxRSkRxL0huVmpicTA4SnlYWFhOZll6RVVMdzNMSis0VDcyVUpEQStk?= =?utf-8?B?T1BHODg5WE12WTdhVHNxTlZqOXhpTzB4YzBQV3h0RkdpcUIrbXdTN0JnR3Jj?= =?utf-8?B?R1NMbC9TcjFPQXVVTDQyZzdTb3RGNVRZM3dYakhuMmVLcjQvdWlnRVBFYjZX?= =?utf-8?B?U0hBeVIya05ablhraEd0enJHMXhKZ3R3YVZKWGVKR1hsNm1FWHRpb0ZseGRC?= =?utf-8?B?REU0YUhyVFBJZytNRFhyQm1KbS9VTTIwME9JTkZrK2FSeFdMUWVrV05lWHBL?= =?utf-8?B?WmtmRGhKdWNpNThBdS9nY25WQzVSZ1pSTUhmVVBqYVNwZnpqZ1lXMjVOWTdz?= =?utf-8?B?Z2tuQ3U0K0x3aDNhc3d6ekM2Q0hveUFCeGdZaDE0THNqdFNGcS9OSWozRnJ0?= =?utf-8?B?d2dnWTE5SVpwbnBVb3pKTDZFMGVya0Judyt3ZWNaYWJURnhwckF3ckhnQk1M?= =?utf-8?B?S29ieCtvOXNJZEpNdnVWbnVyeVdoUVNHdkVzWTJXNWNyYlZOTjRVQklBY0NG?= =?utf-8?B?UzZyQ0J3WUdodXNkS2tIeVV1VGVFYUZOd3pBaEFlWFRtSlVGL1hYL3A0OTJZ?= =?utf-8?B?SkNaSGgwZkZ6NjhGcUtuSFhodkdPVTFvY2xFTEY4MDRuWlFFNU4zTDZlVmhG?= =?utf-8?B?TmtDdkVSM3NXbjRGUTJyakJseUpaWjBCRGFXMVlEM1VLcEdGWWJSTEsvcEJ3?= =?utf-8?B?Wmxrc1pvOExYdUpKVk4vcDJmeUlTVXpqUHpXbDk0MHoyZitySHVCcW5iVlZD?= =?utf-8?B?aUVZRjFzdDhaNVBjTVdHQnU4N01sVzRlejVxY3BxQzBpbVlvUWw0T0pXSElQ?= =?utf-8?B?MkFyS3JlTkpwSitaQW50d3k1ck1sVVFoeEVKM3BIcUFod2NwVkdEWjBOTzM2?= =?utf-8?B?WkNjd1gxdHU0SmRjRHM0enRPTkxNSFdTM3lpRUlKTUliQXJVZ2dzSHVFZVlD?= =?utf-8?B?Sk1ZSjVKbEZ5L0RjcEtWbTZvei9GZ1EwclkzWHZaKzl2OVVsNEd6SUREaWs3?= =?utf-8?B?cHhsdEo1UFNpeVgrRkxub3dwQm9ReldmSCtNMDF2bTloSmkxbTd1WDFzbHZJ?= =?utf-8?B?eHRvNlllTll0THMxSEVReWtVVWNzOU1ISVFtZkNaYzNqT0tNTm1TNERkMW5j?= =?utf-8?B?alg5NStHVzJBU0dlaUhITVh5V0lBNHk2QmdJeGo4dGtYcWFMUjFMcGh0UzNj?= =?utf-8?B?OEc3N3NEbG84RW1hK2kyQUdyTTdORmh5WUtUZnNJL0MxVGVvNTB1cmtvS0Fw?= =?utf-8?B?aVdxL0ZTVE9UMmJWQzN4S05oVzJBWXNnZjRiYnN4RXlmYWtNMzlxV2ZBSjJQ?= =?utf-8?B?aWxhVjJXSFhmSVlPd0ptWGxaL3VtWnlPamhtWkgvUENrTWRSNkxPN3Z3dTVk?= =?utf-8?B?WU9raGF1SDE3dnd5VkVYUk1NQS82QWxwODg5elpvc1RhVXFFN3JtMDdvRFNs?= =?utf-8?B?UGcvZFArQjBlTFJUZkF2WGNCZnFGbXcvZGJJVHZJdzZrdHV1N0EyWEJraXhC?= =?utf-8?B?NmlGdHA5d25seVVmOWlobGZ2NkY2cng5eEFTZFA0a1RzQU9kNFBzUFMxODNU?= =?utf-8?B?QzF3anA3WllSZW5PTDNQc1hRK3U4eWZoSDdHRmFnczR4a0kyKzdOY2xtOGRW?= =?utf-8?B?bjNQUG9TMFlWR2FpRVZRNFcyMTlnY3B6SWZkYThlMmQwWWt1YitoSVpIWVl5?= =?utf-8?B?VVVwNUpOb1ZEdU1Gd1lNc1VrTnVUeERlcWdzWm1KaWJSblNYRTRlQk1LeDVJ?= =?utf-8?Q?0cn0=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO6PR18MB4484.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2efd9440-ceca-43f4-ec52-08dcd74473e5 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Sep 2024 18:13:38.1833 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: wCFzLVIxCZwI3YR87VIwWatza61Mcj9QElENQ4Ql3GoNl6/SOoX6eRH7yBqGnqq4gnk/j2BFCGBiPdHe1JyZLA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR18MB6089 X-Proofpoint-ORIG-GUID: vgia5IvC4ZMO2dYy5W55BiXEgC-ClzJ4 X-Proofpoint-GUID: xJyQ8kS_OMCAYVfTR_AuTVNPcV88zWQk X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.60.29 definitions=2024-09-06_09,2024-09-06_01,2024-09-02_01 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 DQoNCj4gSW50cm9kdWNlIGRyaXZlciBzdXBwb3J0IGZvciBaU0RBIHdoaWNoIGNhbg0KPiBoZWxw IHRvIGFjY2VsZXJhdGUgc3RvcmFnZSBkYXRhIHByb2Nlc3MuDQo+IA0KPiB2NjogbW9kaWZ5IGNv ZGUgZm9yIGNpIGNvbXBpbGUNCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEhhbnhpYW8gTGkgPGxpLmhh bnhpYW9AenRlLmNvbS5jbj4NCj4gLS0tDQo+ICBNQUlOVEFJTkVSUyAgICAgICAgICAgICAgICAg ICAgICAgfCAgIDQgKw0KPiAgY29uZmlnL3J0ZV9jb25maWcuaCAgICAgICAgICAgICAgIHwgICA0 ICsNCj4gIGRyaXZlcnMvY29tbW9uL3pzZGEvbWVzb24uYnVpbGQgICB8ICAyNSArKysNCj4gIGRy aXZlcnMvY29tbW9uL3pzZGEvenNkYV9jb21tb24uYyB8IDE2OCArKysrKysrKysrKysrKysNCj4g IGRyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9jb21tb24uaCB8IDMyOA0KPiArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysNCj4gIGRyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9sb2dzLmMgICB8 ICAyMSArKw0KPiAgZHJpdmVycy9jb21tb24venNkYS96c2RhX2xvZ3MuaCAgIHwgIDMyICsrKw0K PiAgdXNlcnRvb2xzL2RwZGstZGV2YmluZC5weSAgICAgICAgIHwgICA1ICstDQoNCkRvY3VtZW50 YXRpb24gbWlzc2luZyBmb3IgaW50cm9kdWNpbmcgdGhlIGRyaXZlci4NClBsZWFzZSBmb2xsb3cg Zm9sbG93aW5nIGd1aWRlbGluZXMgd2hpbGUgc3VibWl0dGluZyBuZXcgZHJpdmVyLg0KaHR0cHM6 Ly9wYXRjaGVzLmRwZGsub3JnL3Byb2plY3QvZHBkay9wYXRjaC8yMDI0MDkxNjE2Mjg1Ni4xMTU2 Ni0xLXN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnLw0KDQo+ICA4IGZpbGVzIGNoYW5nZWQsIDU4 NiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJp dmVycy9jb21tb24venNkYS9tZXNvbi5idWlsZA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvY29tbW9uL3pzZGEvenNkYV9jb21tb24uYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvY29tbW9uL3pzZGEvenNkYV9jb21tb24uaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvY29tbW9uL3pzZGEvenNkYV9sb2dzLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJz L2NvbW1vbi96c2RhL3pzZGFfbG9ncy5oDQo+IA0KPiBkaWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMg Yi9NQUlOVEFJTkVSUw0KPiBpbmRleCBjNWE3MDNiNWMwLi5lYTI0NWZjNjFiIDEwMDY0NA0KPiAt LS0gYS9NQUlOVEFJTkVSUw0KPiArKysgYi9NQUlOVEFJTkVSUw0KPiBAQCAtMTI2OCw2ICsxMjY4 LDEwIEBAIEY6IGRyaXZlcnMvY29tcHJlc3MvemxpYi8NCj4gIEY6IGRvYy9ndWlkZXMvY29tcHJl c3NkZXZzL3psaWIucnN0DQo+ICBGOiBkb2MvZ3VpZGVzL2NvbXByZXNzZGV2cy9mZWF0dXJlcy96 bGliLmluaQ0KPiANCj4gK1pURSBTdG9yYWdlIERhdGEgQWNjZWxlcmF0b3INCj4gK006IEhhbnhp YW8gTGkgPGxpLmhhbnhpYW9AenRlLmNvbS5jbj4NCj4gK0Y6IGRyaXZlcnMvY29tcHJlc3MvenNk YS8NCkNvbXByZXNzL3pzZGEgaXMgbm90IHBhcnQgb2YgdGhpcyBwYXRjaC4NClBsZWFzZSBhZGQg aW4gdGhlIHNhbWUgcGF0Y2ggd2hlcmUgdGhlIGZpbGUvZm9sZGVyIGlzIGFkZGVkLg0KDQo+ICtG OiBkcml2ZXJzL2NvbW1vbi96c2RhLw0KPiANCj4gIERNQWRldiBEcml2ZXJzDQo+ICAtLS0tLS0t LS0tLS0tLQ0KPiBkaWZmIC0tZ2l0IGEvY29uZmlnL3J0ZV9jb25maWcuaCBiL2NvbmZpZy9ydGVf Y29uZmlnLmgNCj4gaW5kZXggZGQ3YmIwZDM1Yi4uYWNmYmU1YjBmNyAxMDA2NDQNCj4gLS0tIGEv Y29uZmlnL3J0ZV9jb25maWcuaA0KPiArKysgYi9jb25maWcvcnRlX2NvbmZpZy5oDQo+IEBAIC0x MDgsNiArMTA4LDEwIEBADQo+IA0KPiAgLyoqKioqKiBkcml2ZXIgZGVmaW5lcyAqKioqKioqKi8N Cj4gDQo+ICsvKiBaU0RBIGRldmljZSAqLw0KPiArLyogTWF4LiBudW1iZXIgb2YgWlNEQSBkZXZp Y2VzIHdoaWNoIGNhbiBiZSBhdHRhY2hlZCAqLw0KPiArI2RlZmluZSBSVEVfUE1EX1pTREFfTUFY X1BDSV9ERVZJQ0VTIDI1Ng0KDQpUaGlzIGlzIG5vdCB1c2VkIGluIHRoaXMgcGF0Y2guDQoNCj4g Kw0KPiAgLyogUGFja2V0IHByZWZldGNoaW5nIGluIFBNRHMgKi8NCj4gICNkZWZpbmUgUlRFX1BN RF9QQUNLRVRfUFJFRkVUQ0ggMQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY29tbW9uL3pz ZGEvbWVzb24uYnVpbGQNCj4gYi9kcml2ZXJzL2NvbW1vbi96c2RhL21lc29uLmJ1aWxkDQo+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmIxMmVmMTc0NzYNCj4gLS0t IC9kZXYvbnVsbA0KPiArKysgYi9kcml2ZXJzL2NvbW1vbi96c2RhL21lc29uLmJ1aWxkDQo+IEBA IC0wLDAgKzEsMjUgQEANCj4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVz ZQ0KPiArIyBDb3B5cmlnaHQoYykgMjAyNCBaVEUgQ29ycG9yYXRpb24NCj4gKw0KRG9lcyB0aGlz IGRyaXZlciBzdXBwb3J0IHdpbmRvd3MgYnVpbGQ/DQpZb3Ugc2hvdWxkIGFkZCBhIGNoZWNrIGlm IGl0IGlzIG5vdCBzdXBwb3J0ZWQgb24gV2luZG93cw0KDQo+ICtjb25maWdfZmxhZ19mbXQgPSAn UlRFX0xJQlJURV9AMEBfQ09NTU9OJw0KV2h5IGlzIHRoaXMgbmVlZGVkPw0KDQo+ICsNCj4gK2Rl cHMgKz0gWydidXNfcGNpJywgJ2NvbXByZXNzZGV2J10NCj4gK3NvdXJjZXMgKz0gZmlsZXMoDQo+ ICsgICAgICAgICd6c2RhX2NvbW1vbi5jJywNCj4gKyAgICAgICAgJ3pzZGFfbG9ncy5jJywNCj4g KyAgICAgICAgJ3pzZGFfZGV2aWNlLmMnLA0KPiArICAgICAgICAnenNkYV9xcC5jJywNCj4gKyAg ICAgICAgKQ0KQWRkIGZpbGVzIHdoaWNoIGFyZSBpbmNsdWRlZCBpbiB0aGlzIHBhdGNoIG9ubHku DQoNCj4gKw0KPiArenNkYV9jb21wcmVzcyA9IHRydWUNCj4gK3pzZGFfY29tcHJlc3NfcGF0aCA9 ICdjb21wcmVzcy96c2RhJw0KPiArenNkYV9jb21wcmVzc19yZWxwYXRoID0gJy4uLy4uLycgKyB6 c2RhX2NvbXByZXNzX3BhdGgNCj4gK2luY2x1ZGVzICs9IGluY2x1ZGVfZGlyZWN0b3JpZXMoenNk YV9jb21wcmVzc19yZWxwYXRoKQ0KPiArDQo+ICtpZiB6c2RhX2NvbXByZXNzDQo+ICt6bGliID0g ZGVwZW5kZW5jeSgnemxpYicsIHJlcXVpcmVkOiBmYWxzZSwgbWV0aG9kOiAncGtnLWNvbmZpZycp DQo+ICsgICAgZm9yZWFjaCBmOiBbJ3pzZGFfY29tcF9wbWQuYycsICd6c2RhX2NvbXAuYyddDQo+ ICsgICAgICAgIHNvdXJjZXMgKz0gZmlsZXMoam9pbl9wYXRocyh6c2RhX2NvbXByZXNzX3JlbHBh dGgsIGYpKQ0KPiArICAgIGVuZGZvcmVhY2gNCj4gKyAgICBleHRfZGVwcyArPSB6bGliDQo+ICtl bmRpZg0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jb21tb24venNkYS96c2RhX2NvbW1vbi5jDQo+ IGIvZHJpdmVycy9jb21tb24venNkYS96c2RhX2NvbW1vbi5jDQo+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjMzZWE4YTQyZmUNCj4gLS0tIC9kZXYvbnVsbA0KPiAr KysgYi9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfY29tbW9uLmMNCj4gQEAgLTAsMCArMSwxNjgg QEANCj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UNCj4gKyAqIENv cHlyaWdodChjKSAyMDI0IFpURSBDb3Jwb3JhdGlvbg0KPiArICovDQo+ICsNCj4gKyNpbmNsdWRl ICJ6c2RhX2NvbW1vbi5oIg0KPiArDQo+ICsjaW5jbHVkZSAiYnVzX3BjaV9kcml2ZXIuaCINCj4g Kw0KPiArI2RlZmluZSBNQUdJQ19TRU5EIDB4YWINCj4gKyNkZWZpbmUgTUFHSUNfUkVDViAweGNk DQo+ICsjZGVmaW5lIEFETUlOX1ZFUiAxDQo+ICsNCj4gK3N0YXRpYyBjb25zdCB1aW50OF90IGNy YzhfdGFibGVbMjU2XSA9IHsNCj4gKyAgICAweDAwLCAweDQxLCAweDEzLCAweDUyLCAweDI2LCAw eDY3LCAweDM1LCAweDc0LCAweDRjLCAweDBkLCAweDVmLCAweDFlLA0KPiArICAgIDB4NmEsIDB4 MmIsIDB4NzksIDB4MzgsIDB4MDksIDB4NDgsIDB4MWEsIDB4NWIsIDB4MmYsIDB4NmUsIDB4M2Ms IDB4N2QsDQo+ICsgICAgMHg0NSwgMHgwNCwgMHg1NiwgMHgxNywgMHg2MywgMHgyMiwgMHg3MCwg MHgzMSwgMHgxMiwgMHg1MywgMHgwMSwgMHg0MCwNCj4gKyAgICAweDM0LCAweDc1LCAweDI3LCAw eDY2LCAweDVlLCAweDFmLCAweDRkLCAweDBjLCAweDc4LCAweDM5LCAweDZiLCAweDJhLA0KPiAr ICAgIDB4MWIsIDB4NWEsIDB4MDgsIDB4NDksIDB4M2QsIDB4N2MsIDB4MmUsIDB4NmYsIDB4NTcs IDB4MTYsIDB4NDQsIDB4MDUsDQo+ICsgICAgMHg3MSwgMHgzMCwgMHg2MiwgMHgyMywgMHgyNCwg MHg2NSwgMHgzNywgMHg3NiwgMHgwMiwgMHg0MywgMHgxMSwgMHg1MCwNCj4gKyAgICAweDY4LCAw eDI5LCAweDdiLCAweDNhLCAweDRlLCAweDBmLCAweDVkLCAweDFjLCAweDJkLCAweDZjLCAweDNl LCAweDdmLA0KPiArICAgIDB4MGIsIDB4NGEsIDB4MTgsIDB4NTksIDB4NjEsIDB4MjAsIDB4NzIs IDB4MzMsIDB4NDcsIDB4MDYsIDB4NTQsIDB4MTUsDQo+ICsgICAgMHgzNiwgMHg3NywgMHgyNSwg MHg2NCwgMHgxMCwgMHg1MSwgMHgwMywgMHg0MiwgMHg3YSwgMHgzYiwgMHg2OSwgMHgyOCwNCj4g KyAgICAweDVjLCAweDFkLCAweDRmLCAweDBlLCAweDNmLCAweDdlLCAweDJjLCAweDZkLCAweDE5 LCAweDU4LCAweDBhLCAweDRiLA0KPiArICAgIDB4NzMsIDB4MzIsIDB4NjAsIDB4MjEsIDB4NTUs IDB4MTQsIDB4NDYsIDB4MDcsIDB4NDgsIDB4MDksIDB4NWIsIDB4MWEsDQo+ICsgICAgMHg2ZSwg MHgyZiwgMHg3ZCwgMHgzYywgMHgwNCwgMHg0NSwgMHgxNywgMHg1NiwgMHgyMiwgMHg2MywgMHgz MSwgMHg3MCwNCj4gKyAgICAweDQxLCAweDAwLCAweDUyLCAweDEzLCAweDY3LCAweDI2LCAweDc0 LCAweDM1LCAweDBkLCAweDRjLCAweDFlLCAweDVmLA0KPiArICAgIDB4MmIsIDB4NmEsIDB4Mzgs IDB4NzksIDB4NWEsIDB4MWIsIDB4NDksIDB4MDgsIDB4N2MsIDB4M2QsIDB4NmYsIDB4MmUsDQo+ ICsgICAgMHgxNiwgMHg1NywgMHgwNSwgMHg0NCwgMHgzMCwgMHg3MSwgMHgyMywgMHg2MiwgMHg1 MywgMHgxMiwgMHg0MCwgMHgwMSwNCj4gKyAgICAweDc1LCAweDM0LCAweDY2LCAweDI3LCAweDFm LCAweDVlLCAweDBjLCAweDRkLCAweDM5LCAweDc4LCAweDJhLCAweDZiLA0KPiArICAgIDB4NmMs IDB4MmQsIDB4N2YsIDB4M2UsIDB4NGEsIDB4MGIsIDB4NTksIDB4MTgsIDB4MjAsIDB4NjEsIDB4 MzMsIDB4NzIsDQo+ICsgICAgMHgwNiwgMHg0NywgMHgxNSwgMHg1NCwgMHg2NSwgMHgyNCwgMHg3 NiwgMHgzNywgMHg0MywgMHgwMiwgMHg1MCwgMHgxMSwNCj4gKyAgICAweDI5LCAweDY4LCAweDNh LCAweDdiLCAweDBmLCAweDRlLCAweDFjLCAweDVkLCAweDdlLCAweDNmLCAweDZkLCAweDJjLA0K PiArICAgIDB4NTgsIDB4MTksIDB4NGIsIDB4MGEsIDB4MzIsIDB4NzMsIDB4MjEsIDB4NjAsIDB4 MTQsIDB4NTUsIDB4MDcsIDB4NDYsDQo+ICsgICAgMHg3NywgMHgzNiwgMHg2NCwgMHgyNSwgMHg1 MSwgMHgxMCwgMHg0MiwgMHgwMywgMHgzYiwgMHg3YSwgMHgyOCwgMHg2OSwNCj4gKyAgICAweDFk LCAweDVjLCAweDBlLCAweDRmfTsNCj4gKw0KPiArc3RhdGljIHVpbnQ4X3QNCj4gK3pzZGFfY3Jj OChjb25zdCB1aW50OF90ICptZXNzYWdlLCBjb25zdCBpbnQgbGVuZ3RoKQ0KPiArew0KPiArICAg IHVpbnQ4X3QgY3JjID0gMDsNCj4gKyAgICBpbnQgaTsNCj4gKw0KPiArICAgIGZvciAoaSA9IDA7 IGkgPCBsZW5ndGg7IGkrKykNCj4gKyAgICAgICAgY3JjID0gY3JjOF90YWJsZVtjcmMgXiBtZXNz YWdlW2ldXTsNCj4gKyAgICByZXR1cm4gY3JjOw0KPiArfQ0KPiArDQo+ICt1aW50MzJfdA0KPiAr enNkYV9zZXRfcmVnXzgodm9pZCAqYWRkciwgY29uc3QgdWludDhfdCB2YWwwLCBjb25zdCB1aW50 OF90IHZhbDEsDQo+ICsgICAgICBjb25zdCB1aW50OF90IHZhbDIsIGNvbnN0IHVpbnQ4X3QgdmFs MykNCj4gK3sNCj4gKyAgICB1aW50OF90IHZhbFs0XTsNCj4gKyAgICB2YWxbMF0gPSB2YWwwOw0K PiArICAgIHZhbFsxXSA9IHZhbDE7DQo+ICsgICAgdmFsWzJdID0gdmFsMjsNCj4gKyAgICB2YWxb M10gPSB2YWwzOw0KPiArICAgIFpTREFfQ1NSX1dSSVRFMzIoYWRkciwgKih1aW50MzJfdCAqKXZh bCk7DQo+ICsgICAgcmV0dXJuICoodWludDMyX3QgKil2YWw7DQo+ICt9DQo+ICsNCj4gK3VpbnQ4 X3QNCj4gK3pzZGFfZ2V0X3JlZ184KHZvaWQgKmFkZHIsIGNvbnN0IGludCBvZmZzZXQpDQo+ICt7 DQo+ICsgICAgdWludDMyX3QgdmFsID0gWlNEQV9DU1JfUkVBRDMyKGFkZHIpOw0KPiArDQo+ICsg ICAgcmV0dXJuICooKCh1aW50OF90ICopJnZhbCkgKyBvZmZzZXQpOw0KPiArfQ0KPiArDQo+ICtp bnQNCj4gK3pzZGFfYWRtaW5fbXNnX2luaXQoY29uc3Qgc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpw Y2lfZGV2KQ0KPiArew0KPiArICAgIHVpbnQ4X3QgKm1taW9fYmFzZSA9IHBjaV9kZXYtPm1lbV9y ZXNvdXJjZVswXS5hZGRyOw0KPiArDQo+ICsgICAgenNkYV9zZXRfcmVnXzgobW1pb19iYXNlICsg WlNEQV9BRE1JTl9XUV9CQVNFNywgMCwgMCwgTUFHSUNfUkVDViwNCj4gMCk7DQo+ICsgICAgenNk YV9zZXRfcmVnXzgobW1pb19iYXNlICsgWlNEQV9BRE1JTl9DUV9CQVNFNywgMCwgMCwgTUFHSUNf UkVDViwNCj4gMCk7DQo+ICsgICAgcmV0dXJuIDA7DQo+ICt9DQo+ICsNCj4gK2ludA0KPiArenNk YV9zZW5kX2FkbWluX21zZyhjb25zdCBzdHJ1Y3QgcnRlX3BjaV9kZXZpY2UgKnBjaV9kZXYsIHZv aWQgKnJlcSwNCj4gKyAgICAgICAgICAgIGNvbnN0IHVpbnQzMl90IGxlbikNCj4gK3sNCj4gKyAg ICB1aW50OF90ICptbWlvX2Jhc2UgPSBwY2lfZGV2LT5tZW1fcmVzb3VyY2VbMF0uYWRkcjsNCj4g KyAgICB1aW50OF90IHdxX2ZsYWc7DQo+ICsgICAgdWludDhfdCBjcmM7DQo+ICsgICAgdWludDE2 X3QgYWRtaW5fZGI7DQo+ICsgICAgdWludDMyX3QgcmV0cnkgPSBaU0RBX1RJTUVfTlVNOw0KPiAr ICAgIGludCBpOw0KPiArICAgIHVpbnQxNl90IGRiOw0KPiArICAgIGludCByZXBlYXQgPSBzaXpl b2Yoc3RydWN0IHpzZGFfYWRtaW5fcmVxKSAvIHNpemVvZih1aW50MzJfdCk7DQo+ICsNCj4gKyAg ICBpZiAobGVuID4gQURNSU5fQlVGX0RBVEFfTEVOKQ0KPiArICAgICAgICByZXR1cm4gLUVJTlZB TDsNCj4gKw0KPiArICAgIGZvciAoaSA9IDA7IGkgPCByZXBlYXQ7IGkrKykgew0KPiArICAgICAg ICBaU0RBX0NTUl9XUklURTMyKCgodWludDMyX3QgKikobW1pb19iYXNlICsgWlNEQV9BRE1JTl9X USkgKyBpKSwNCj4gKyAgICAgICAgICAgICAgICAgKigodWludDMyX3QgKilyZXEgKyBpKSk7DQo+ ICsgICAgfQ0KPiArDQo+ICsgICAgY3JjID0genNkYV9jcmM4KCh1aW50OF90ICopcmVxLCBBRE1J Tl9CVUZfREFUQV9MRU4pOw0KPiArICAgIHpzZGFfc2V0X3JlZ184KG1taW9fYmFzZSArIFpTREFf QURNSU5fV1FfQkFTRTcsIGNyYywgQURNSU5fVkVSLA0KPiBNQUdJQ19TRU5ELCAwKTsNCj4gKyAg ICBydGVfZGVsYXlfdXNfc2xlZXAoWlNEQV9USU1FX1NMRUVQX1VTKTsNCj4gKyAgICBydGVfd21i KCk7DQo+ICsNCj4gKyAgICBhZG1pbl9kYiA9IFpTREFfQ1NSX1JFQUQzMihtbWlvX2Jhc2UgKyBa U0RBX0FETUlOX1dRX1RBSUwpOw0KPiArICAgIGRiID0genNkYV9tb2R1bG9fMzIoYWRtaW5fZGIs IDB4MWZmKTsNCj4gKyAgICBaU0RBX0NTUl9XUklURTMyKG1taW9fYmFzZSArIFpTREFfQURNSU5f V1FfVEFJTCwgZGIpOw0KPiArDQo+ICsgICAgZG8gew0KPiArICAgICAgICBydGVfZGVsYXlfdXNf c2xlZXAoWlNEQV9USU1FX1NMRUVQX1VTKTsNCj4gKyAgICAgICAgd3FfZmxhZyA9IHpzZGFfZ2V0 X3JlZ184KG1taW9fYmFzZSArIFpTREFfQURNSU5fV1FfQkFTRTcsIDIpOw0KPiArICAgICAgICBp ZiAod3FfZmxhZyA9PSBNQUdJQ19SRUNWKQ0KPiArICAgICAgICAgICAgYnJlYWs7DQo+ICsNCj4g KyAgICAgICAgcmV0cnktLTsNCj4gKyAgICAgICAgaWYgKCFyZXRyeSkgew0KPiArICAgICAgICAg ICAgWlNEQV9MT0coRVJSLCAid3FfZmxhZyAweCVYXG4iLCB3cV9mbGFnKTsNCj4gKyAgICAgICAg ICAgIHpzZGFfc2V0X3JlZ184KG1taW9fYmFzZSArIFpTREFfQURNSU5fV1FfQkFTRTcsIDAsIGNy YywNCj4gKyAgICAgICAgICAgICAgICAgIEFETUlOX1ZFUiwgMCk7DQo+ICsgICAgICAgICAgICBy ZXR1cm4gLUVJTzsNCj4gKyAgICAgICAgfQ0KPiArICAgIH0gd2hpbGUgKDEpOw0KPiArDQo+ICsg ICAgcmV0dXJuIFpTREFfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiAraW50DQo+ICt6c2RhX3JlY3Zf YWRtaW5fbXNnKGNvbnN0IHN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2Rldiwgdm9pZCAqcmVz cCwNCj4gKyAgICAgICAgICAgIGNvbnN0IHVpbnQzMl90IGxlbikNCj4gK3sNCj4gKyAgICB1aW50 OF90ICptbWlvX2Jhc2UgPSBwY2lfZGV2LT5tZW1fcmVzb3VyY2VbMF0uYWRkcjsNCj4gKyAgICB1 aW50OF90IGNxX2ZsYWc7DQo+ICsgICAgdWludDMyX3QgcmV0cnkgPSBaU0RBX1RJTUVfTlVNOw0K PiArICAgIHVpbnQ4X3QgY3JjOw0KPiArICAgIHVpbnQ4X3QgYnVmW0FETUlOX0JVRl9UT1RBTF9M RU5dID0gezB9Ow0KPiArICAgIHVpbnQzMl90IGk7DQo+ICsNCj4gKyAgICBpZiAobGVuID4gQURN SU5fQlVGX0RBVEFfTEVOKQ0KPiArICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gKw0KPiArICAg IGRvIHsNCj4gKyAgICAgICAgcnRlX2RlbGF5X3VzX3NsZWVwKFpTREFfVElNRV9TTEVFUF9VUyk7 DQo+ICsNCj4gKyAgICAgICAgY3FfZmxhZyA9IHpzZGFfZ2V0X3JlZ184KG1taW9fYmFzZSArIFpT REFfQURNSU5fQ1FfQkFTRTcsIDIpOw0KPiArICAgICAgICBpZiAoY3FfZmxhZyA9PSBNQUdJQ19T RU5EKQ0KPiArICAgICAgICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICAgICAgcmV0cnktLTsNCj4g KyAgICAgICAgaWYgKCFyZXRyeSkNCj4gKyAgICAgICAgICAgIHJldHVybiAtRUlPOw0KPiArICAg IH0gd2hpbGUgKDEpOw0KPiArDQo+ICsgICAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKQ0KPiAr ICAgICAgICBidWZbaV0gPSBaU0RBX0NTUl9SRUFEOCgNCj4gKyAgICAgICAgICAgICh1aW50OF90 ICopKG1taW9fYmFzZSArIFpTREFfQURNSU5fQ1EgKyBpKSk7DQo+ICsNCj4gKyAgICBjcmMgPSBa U0RBX0NTUl9SRUFEOChtbWlvX2Jhc2UgKyBaU0RBX0FETUlOX0NRX0NSQyk7DQo+ICsgICAgcnRl X3JtYigpOw0KPiArICAgIFpTREFfQ1NSX1dSSVRFOChtbWlvX2Jhc2UgKyBaU0RBX0FETUlOX0NR X0ZMQUcsIE1BR0lDX1JFQ1YpOw0KPiArICAgIGlmIChjcmMgIT0genNkYV9jcmM4KGJ1ZiwgQURN SU5fQlVGX0RBVEFfTEVOKSkgew0KPiArICAgICAgICBaU0RBX0xPRyhFUlIsICJbJWRdIEZhaWxl ZCEgY3JjIGVycm9yISIsIF9fTElORV9fKTsNCj4gKyAgICAgICAgcmV0dXJuIC1FSU87DQo+ICsg ICAgfQ0KPiArDQo+ICsgICAgbWVtY3B5KHJlc3AsIGJ1ZiwgbGVuKTsNCj4gKw0KPiArICAgIHJl dHVybiBaU0RBX1NVQ0NFU1M7DQo+ICt9DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2NvbW1vbi96 c2RhL3pzZGFfY29tbW9uLmgNCj4gYi9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfY29tbW9uLmgN Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMGRiYzliN2QzYw0K PiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9jb21tb24u aA0KPiBAQCAtMCwwICsxLDMyOCBAQA0KPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT RC0zLUNsYXVzZQ0KPiArICogQ29weXJpZ2h0KGMpIDIwMjQgWlRFIENvcnBvcmF0aW9uDQo+ICsg Ki8NCj4gKw0KPiArI2lmbmRlZiBfWlNEQV9DT01NT05fSF8NCj4gKyNkZWZpbmUgX1pTREFfQ09N TU9OX0hfDQo+ICsNCj4gKyNpbmNsdWRlIDxzdGRpbnQuaD4NCj4gKw0KPiArI2luY2x1ZGUgPHJ0 ZV9idXNfcGNpLmg+DQo+ICsjaW5jbHVkZSA8cnRlX21idWYuaD4NCj4gKyNpbmNsdWRlIDxydGVf aW8uaD4NCj4gKw0KPiArI2luY2x1ZGUgInpzZGFfbG9ncy5oIg0KPiArDQo+ICsjZGVmaW5lIFpT REFfREVWX05BTUVfTUFYX0xFTiA2NA0KPiArI2RlZmluZSBNQVhfUVBTX09OX0ZVTkNUSU9OICAg MTI4DQo+ICsNCj4gKyNkZWZpbmUgQURNSU5fV1FfQkFTRV9BRERSXzAgMHg0MA0KPiArI2RlZmlu ZSBBRE1JTl9XUV9CQVNFX0FERFJfMSAweDQ0DQo+ICsjZGVmaW5lIEFETUlOX1dRX0JBU0VfQURE Ul8yIDB4NDgNCj4gKyNkZWZpbmUgQURNSU5fV1FfQkFTRV9BRERSXzMgMHg0Qw0KPiArI2RlZmlu ZSBBRE1JTl9XUV9CQVNFX0FERFJfNCAweDUwDQo+ICsjZGVmaW5lIEFETUlOX1dRX0JBU0VfQURE Ul81IDB4NTQNCj4gKyNkZWZpbmUgQURNSU5fV1FfQkFTRV9BRERSXzYgMHg1OA0KPiArI2RlZmlu ZSBBRE1JTl9XUV9CQVNFX0FERFJfNyAweDVDDQo+ICsNCj4gKyNkZWZpbmUgQURNSU5fQ1FfQkFT RV9BRERSXzAgMHg2MA0KPiArI2RlZmluZSBBRE1JTl9DUV9CQVNFX0FERFJfMSAweDY0DQo+ICsj ZGVmaW5lIEFETUlOX0NRX0JBU0VfQUREUl8yIDB4NjgNCj4gKyNkZWZpbmUgQURNSU5fQ1FfQkFT RV9BRERSXzMgMHg2Qw0KPiArI2RlZmluZSBBRE1JTl9DUV9CQVNFX0FERFJfNCAweDcwDQo+ICsj ZGVmaW5lIEFETUlOX0NRX0JBU0VfQUREUl81IDB4NzQNCj4gKyNkZWZpbmUgQURNSU5fQ1FfQkFT RV9BRERSXzYgMHg3OA0KPiArI2RlZmluZSBBRE1JTl9DUV9CQVNFX0FERFJfNyAweDdDDQo+ICsN Cj4gKyNkZWZpbmUgSU9fREJfSU5JVElBTF9DT05GSUcgMHgxQzAwDQo+ICsNCj4gKyNkZWZpbmUg QURNSU5fQlVGX0RBVEFfTEVOICAweDFDDQo+ICsjZGVmaW5lIEFETUlOX0JVRl9UT1RBTF9MRU4g MHgyMA0KPiArDQo+ICsjZGVmaW5lIFpTREFfQ1NSX1ZFUlNJT04gICAgICAweDANCj4gKyNkZWZp bmUgWlNEQV9BRE1JTl9XUSAgICAgICAgICAweDQwDQo+ICsjZGVmaW5lIFpTREFfQURNSU5fV1Ff QkFTRTcgICAweDVDDQo+ICsjZGVmaW5lIFpTREFfQURNSU5fV1FfQ1JDICAgICAweDVDDQo+ICsj ZGVmaW5lIFpTREFfQURNSU5fV1FfVkVSU0lPTiAweDVEDQo+ICsjZGVmaW5lIFpTREFfQURNSU5f V1FfRkxBRyAgICAweDVFDQo+ICsjZGVmaW5lIFpTREFfQURNSU5fQ1EgICAgICAgICAgMHg2MA0K PiArI2RlZmluZSBaU0RBX0FETUlOX0NRX0JBU0U3ICAgMHg3Qw0KPiArI2RlZmluZSBaU0RBX0FE TUlOX0NRX0NSQyAgICAgMHg3Qw0KPiArI2RlZmluZSBaU0RBX0FETUlOX0NRX1ZFUlNJT04gMHg3 RA0KPiArI2RlZmluZSBaU0RBX0FETUlOX0NRX0ZMQUcgICAgMHg3RQ0KPiArDQo+ICsjZGVmaW5l IFpTREFfQURNSU5fV1FfVEFJTCAweDgwDQo+ICsjZGVmaW5lIFpTREFfQURNSU5fQ1FfSEVBRCAw eDg0DQo+ICsNCj4gKyNkZWZpbmUgWlNEQV9BRE1JTl9RX1NUQVJUICAgICAweDEwMA0KPiArI2Rl ZmluZSBaU0RBX0FETUlOX1FfU1RPUCAgICAgIDB4MTAwDQo+ICsjZGVmaW5lIFpTREFfQURNSU5f UV9TVE9QX1JFU1AgMHgxMDQNCj4gKyNkZWZpbmUgWlNEQV9BRE1JTl9RX0NMUiAgICAgICAweDEw OA0KPiArI2RlZmluZSBaU0RBX0FETUlOX1FfQ0xSX1JFU1AgIDB4MTBDDQo+ICsNCj4gKyNkZWZp bmUgWlNEQV9JT19RX1NUQVJUICAgICAgICAweDIwMA0KPiArI2RlZmluZSBaU0RBX0lPX1FfU1RP UCAgICAgICAgMHgyMDANCj4gKyNkZWZpbmUgWlNEQV9JT19RX1NUT1BfUkVTUCAweDQwMA0KPiAr I2RlZmluZSBaU0RBX0lPX1FfQ0xSICAgICAgICAweDYwMA0KPiArI2RlZmluZSBaU0RBX0lPX1Ff Q0xSX1JFU1AgIDB4ODAwDQo+ICsNCj4gKyNkZWZpbmUgWlNEQV9DU1JfUkVBRDMyKGFkZHIpICAg ICAgICAgIHJ0ZV9yZWFkMzIoKGFkZHIpKQ0KPiArI2RlZmluZSBaU0RBX0NTUl9XUklURTMyKGFk ZHIsIHZhbHVlKSBydGVfd3JpdGUzMigodmFsdWUpLCAoYWRkcikpDQo+ICsjZGVmaW5lIFpTREFf Q1NSX1JFQUQxNihhZGRyKSAgICAgICAgICBydGVfcmVhZDE2KChhZGRyKSkNCj4gKyNkZWZpbmUg WlNEQV9DU1JfV1JJVEUxNihhZGRyLCB2YWx1ZSkgcnRlX3dyaXRlMTYoKHZhbHVlKSwgKGFkZHIp KQ0KPiArI2RlZmluZSBaU0RBX0NTUl9SRUFEOChhZGRyKSAgICAgICAgICBydGVfcmVhZDgoKGFk ZHIpKQ0KPiArI2RlZmluZSBaU0RBX0NTUl9XUklURTgoYWRkciwgdmFsdWUpICBydGVfd3JpdGU4 X3JlbGF4ZWQoKHZhbHVlKSwgKGFkZHIpKQ0KPiArDQo+ICsjZGVmaW5lIFpTREFfUENJX05BTUUg ICAgICAgICAgICB6c2RhDQo+ICsjZGVmaW5lIFpTREFfU0dMX01BWF9OVU1CRVIgICAgIDUxMg0K PiArI2RlZmluZSBaU0RBX1NHTF9GUkFHTUVOVF9TSVpFICAzMg0KPiArI2RlZmluZSBOQl9ERVMg ICAgICAgICAgICAgICA1MTINCj4gKw0KPiArI2RlZmluZSBaU0RBX1NVQ0NFU1MgRVhJVF9TVUND RVNTDQo+ICsjZGVmaW5lIFpTREFfRkFJTEVEICAoLTEpDQo+ICsNCj4gKyNkZWZpbmUgRV9OVUxM ICAgICAgIkZhaWxlZCEgQWRkciBpcyBOVUxMIg0KPiArI2RlZmluZSBFX0NSRUFURSAgIkZhaWxl ZCEgQ3JlYXRlIg0KPiArI2RlZmluZSBFX0ZVTkMgICAgICAiRmFpbGVkISBGdW5jdGlvbiINCj4g KyNkZWZpbmUgRV9TVEFSVF9RICJGYWlsZWQhIFNUQVJUIHEiDQo+ICsjZGVmaW5lIEVfTUFMTE9D ICAiRmFpbGVkISBtYWxsb2MiDQo+ICsjZGVmaW5lIEVfRlJFRSAgICAgICJGYWlsZWQhIGZyZWUi DQo+ICsNCj4gKyNkZWZpbmUgRV9DT01QQVJFICJGYWlsZWQhIGNvbXBhcmUiDQo+ICsjZGVmaW5l IEVfU1RBUlQgICAgICAiRmFpbGVkISBzdGFydC9zZXR1cCINCj4gKyNkZWZpbmUgRV9DTE9TRSAg ICAgICJGYWlsZWQhIHN0b3AvY2xvc2UiDQo+ICsjZGVmaW5lIEVfQ09ORklHICAiRmFpbGVkISBj b25maWciDQo+ICsjZGVmaW5lIEVfUkVTVUxUICAiRmFpbGVkISByZXN1bHQgd3JvbmciDQo+ICsN Cj4gK2VudW0genNkYV9zZXJ2aWNlX3R5cGUgew0KPiArICAgIFpTREFfU0VSVklDRV9DT01QUkVT U0lPTiA9IDAsDQo+ICsgICAgWlNEQV9TRVJWSUNFX0RFQ09NUFJFU1NJT04sDQo+ICsgICAgWlNE QV9TRVJWSUNFX0lOVkFMSUQsDQo+ICt9Ow0KPiArDQo+ICsjZGVmaW5lIFpTREFfTUFYX1NFUlZJ Q0VTIChaU0RBX1NFUlZJQ0VfSU5WQUxJRCkNCj4gKw0KPiArI2RlZmluZSBaU0RBX09QQ19DT01Q X0daSVAgICAgMHgxMCAvKiBFbmNvbXAgZGVmbGF0ZS1HemlwICovDQo+ICsjZGVmaW5lIFpTREFf T1BDX0NPTVBfWkxJQiAgICAweDExIC8qIEVuY29tcCBkZWZsYXRlLVpsaWIgKi8NCj4gKyNkZWZp bmUgWlNEQV9PUENfREVDT01QX0daSVAgICAgMHgxOCAvKiBEZWNvbXBpbmZhbHRlLUd6aXAgKi8N Cj4gKyNkZWZpbmUgWlNEQV9PUENfREVDT01QX1pMSUIgICAgMHgxOSAvKiBEZWNvbXBpbmZhbHRl LVpsaWIgKi8NCj4gKyNkZWZpbmUgWlNEQV9PUENfSU5WQUxJRCAgICAweGZmDQo+ICsNCj4gKyNk ZWZpbmUgU0VUX0NZQ0xFICAgICAgMHhmZg0KPiArI2RlZmluZSBTRVRfSEVBRF9JTlRJICAgICAg MHgwDQo+ICsNCj4gKyNkZWZpbmUgWlNEQV9RX1NUQVJUICAgICAgIDB4MQ0KPiArI2RlZmluZSBa U0RBX1FfU1RPUCAgICAgICAweDANCj4gKyNkZWZpbmUgWlNEQV9DTEVBUl9WQUxJRCAgIDB4MQ0K PiArI2RlZmluZSBaU0RBX0NMRUFSX0lOVkFMSUQgMHgwDQo+ICsjZGVmaW5lIFpTREFfUkVTUF9W QUxJRCAgICAgICAweDENCj4gKyNkZWZpbmUgWlNEQV9SRVNQX0lOVkFMSUQgIDB4MA0KPiArDQo+ ICsjZGVmaW5lIFpTREFfVElNRV9TTEVFUF9VUyAxMDANCj4gKyNkZWZpbmUgWlNEQV9USU1FX05V TSA1MDANCj4gKw0KPiArI2RlZmluZSBaU0RBX01BWF9ERVNDIDUxMg0KPiArI2RlZmluZSBaU0RB X01BWF9DWUNMRSAyNTYNCj4gKyNkZWZpbmUgWlNEQV9NQVhfREVWIDI1Ng0KPiArI2RlZmluZSBN QVhfTlVNX09QUyAgIDB4MUZGDQo+ICsNCj4gK3N0cnVjdCB6c2RhX3BjaV9kZXZpY2U7DQo+ICsN Cj4gK2VudW0gc2dsX2VsZW1lbnRfdHlwZV93cWUgew0KPiArICAgIFNHTF9FTE1fVFlQRV9QSFlT X0FERFIgPSAxLA0KPiArICAgIFNHTF9FTE1fVFlQRV9MSVNULA0KPiArICAgIFNHTF9FTE1fVFlQ RV9MSVNUX0FERFIsDQo+ICsgICAgU0dMX0VMTV9UWVBFX0xJU1RfU0dMMzIsDQo+ICt9Ow0KPiAr DQo+ICtlbnVtIHNnbF9lbGVtZW50X3R5cGUgew0KPiArICAgIFNHTF9UWVBFX1BIWVNfQUREUiA9 IDAsDQo+ICsgICAgU0dMX1RZUEVfTEFTVF9QSFlTX0FERFIsDQo+ICsgICAgU0dMX1RZUEVfTkVY VF9MSVNULA0KPiArICAgIFNHTF9UWVBFX0VDX0xFVkVMMV9TR0wzMiwNCj4gK307DQo+ICsNCj4g K2VudW0genNkYV9hZG1pbl9tc2dfaWQgew0KPiArICAgIC8qIFZlcnNpb24gaW5mb3JtYXRpb24g Ki8NCj4gKyAgICBaU0RBX0FETUlOX1ZFUlNJT05fUkVRID0gMCwNCj4gKyAgICBaU0RBX0FETUlO X1ZFUlNJT05fUkVTUCwNCj4gKyAgICAvKiBhbGdvIHR5cGUgKi8NCj4gKyAgICBaU0RBX0FETUlO X1FVRVVFX0NGR19SRVEsDQo+ICsgICAgWlNEQV9BRE1JTl9RVUVVRV9DRkdfUkVTUCwNCj4gKyAg ICAvKiBnZXQgY3ljbGUgKi8NCj4gKyAgICBaU0RBX0FETUlOX1FVRVVFX0NZQ0xFX1JFUSwNCj4g KyAgICBaU0RBX0FETUlOX1FVRVVFX0NZQ0xFX1JFU1AsDQo+ICsgICAgLyogc2V0IGN5Y2xyICov DQp0eXBvDQoNCj4gKyAgICBaU0RBX0FETUlOX1NFVF9DWUNMRV9SRVEsDQo+ICsgICAgWlNEQV9B RE1JTl9TRVRfQ1lDTEVfUkVTUCwNCj4gKw0KPiArICAgIFpTREFfTUlHX1NUQVRFX1dBUk5JTkcs DQo+ICsgICAgWlNEQV9BRE1JTl9SRVNFUlZFLA0KPiArICAgIC8qIHNldCBjbG9zZSBmbHIgcmVn aXN0ZXIgKi8NCj4gKyAgICBaU0RBX0ZMUl9TRVRfRlVOQ1RJT04sDQo+ICsgICAgWlNEQV9BRE1J Tl9NU0dfVkFMSUQsDQo+ICsgICAgWlNEQV9BRE1JTl9JTlRfVEVTVA0KPiArfTsNCj4gKw0KPiAr c3RydWN0IHpzZGFfYWRtaW5fcmVxIHsNCj4gKyAgICB1aW50MTZfdCBtc2dfdHlwZTsNCj4gKyAg ICB1aW50OF90IGRhdGFbMjZdOw0KPiArfTsNCj4gKw0KPiArc3RydWN0IHpzZGFfYWRtaW5fcmVz cCB7DQo+ICsgICAgdWludDE2X3QgbXNnX3R5cGU7DQo+ICsgICAgdWludDhfdCBkYXRhWzI2XTsN Cj4gK307DQo+ICsNCj4gK3N0cnVjdCB6c2RhX3Rlc3RfbXNnIHsNCj4gKyAgICB1aW50MzJfdCBt c2dfdHlwZTsNCj4gKyAgICB1aW50MzJfdCBkYXRhX2luOw0KPiArICAgIHVpbnQ4X3QgZGF0YVsy MF07DQo+ICt9Ow0KPiArDQo+ICtzdHJ1Y3QgenNkYV9hZG1pbl9yZXFfcWNmZyB7DQo+ICsgICAg dWludDE2X3QgbXNnX3R5cGU7DQo+ICsgICAgdWludDhfdCBxaWQ7DQo+ICsgICAgdWludDhfdCBk YXRhWzI1XTsNCj4gK307DQo+ICsNCj4gKyNwcmFnbWEgcGFjaygxKQ0KPiArc3RydWN0IHFpbmZv IHsNCj4gKyAgICB1aW50MTZfdCBxX3R5cGU7DQo+ICsgICAgdWludDE2X3Qgd3FfdGFpbDsNCj4g KyAgICB1aW50MTZfdCB3cV9oZWFkOw0KPiArICAgIHVpbnQxNl90IGNxX3RhaWw7DQo+ICsgICAg dWludDE2X3QgY3FfaGVhZDsNCj4gKyAgICB1aW50MTZfdCBjeWNsZTsNCj4gK307DQo+ICsNCj4g K3N0cnVjdCB6c2RhX2FkbWluX3Jlc3BfcWNmZyB7DQo+ICsgICAgdWludDE2X3QgbXNnX3R5cGU7 DQo+ICsgICAgc3RydWN0IHFpbmZvIHFjZmc7DQo+ICsgICAgdWludDhfdCBkYXRhWzE0XTsNCj4g K307DQo+ICsjcHJhZ21hIHBhY2soKQ0KPiArDQo+ICtlbnVtIGZscl9jbHJfbWFzayB7DQo+ICsg ICAgdW5tYXNrID0gMCwNCj4gKyAgICBtYXNrLA0KPiArfTsNCj4gKw0KPiArLyoqPCBDb21tb24g c3RydWN0IGZvciBzY2F0dGVyLWdhdGhlciBsaXN0IG9wZXJhdGlvbnMgKi8NCj4gK3N0cnVjdCB6 c2RhX2J1ZiB7DQo+ICsgICAgdWludDY0X3QgYWRkcjsNCj4gKyAgICB1aW50MzJfdCBsZW47DQo+ ICsgICAgdWludDhfdCByZXNydmRbM107DQo+ICsgICAgdWludDhfdCB0eXBlOw0KPiArfSBfX3J0 ZV9wYWNrZWQ7DQo+ICsNCj4gK3N0cnVjdCBfX3J0ZV9jYWNoZV9hbGlnbmVkIHpzZGFfc2dsIHsN Cj4gKyAgICBzdHJ1Y3QgenNkYV9idWYgYnVmZmVyc1taU0RBX1NHTF9NQVhfTlVNQkVSXTsNCj4g K307DQo+ICsNCj4gKy8qIFRoZSBzcGFjZSBsZW5ndGguIFRoZSBzcGFjZSBpcyB1c2VkIGZvciBj b21wcmVzc2lvbiBoZWFkZXIgYW5kIHRhaWwgKi8NCj4gKyNkZWZpbmUgQ09NUF9SRU1PVkVfU1BB Q0VfTEVOIDE2DQo+ICsNCj4gK3N0cnVjdCB6c2RhX29wX2Nvb2tpZSB7DQo+ICsgICAgYm9vbCB1 c2VkOw0KPiArICAgIGJvb2wgZGVjb21wX25vX3RhaWw7DQo+ICsgICAgdm9pZCAqb3A7DQo+ICsg ICAgdWludDE2X3Qgc2lkOw0KPiArICAgIHN0cnVjdCB6c2RhX3NnbCBzZ2xfc3JjOw0KPiArICAg IHN0cnVjdCB6c2RhX3NnbCBzZ2xfZHN0Ow0KPiArICAgIHBoeXNfYWRkcl90IHNnbF9zcmNfcGh5 c19hZGRyOw0KPiArICAgIHBoeXNfYWRkcl90IHNnbF9kc3RfcGh5c19hZGRyOw0KPiArICAgIHBo eXNfYWRkcl90IGNvbXBfaGVhZF9waHlzX2FkZHI7DQo+ICsNCj4gKyAgICB1aW50OF90IGNvbXBf aGVhZFtDT01QX1JFTU9WRV9TUEFDRV9MRU5dOw0KPiArfSBfX3J0ZV9wYWNrZWQ7DQo+ICsNCj4g K3N0cnVjdCBjb21wcmVzc19jZmcgew0KPiArfSBfX3J0ZV9wYWNrZWQ7DQo+ICsNCj4gK3N0cnVj dCB6c2RhX3dxZV9jb21wIHsNCj4gKyAgICB1aW50OF90IHZhbGlkOw0KPiArICAgIHVpbnQ4X3Qg b3BfY29kZTsNCj4gKyAgICB1aW50MTZfdCBzaWQ7DQo+ICsgICAgdWludDhfdCByZXN2WzNdOw0K PiArICAgIHVpbnQ4X3Qgcnhfc2dsX3R5cGUgOiA0Ow0KPiArICAgIHVpbnQ4X3QgdHhfc2dsX3R5 cGUgOiA0Ow0KPiArICAgIHVpbnQ2NF90IHJ4X2FkZHI7DQo+ICsgICAgdWludDMyX3QgcnhfbGVu Z3RoOw0KPiArICAgIHVpbnQ2NF90IHR4X2FkZHI7DQo+ICsgICAgdWludDMyX3QgdHhfbGVuZ3Ro Ow0KPiArICAgIHN0cnVjdCBjb21wcmVzc19jZmcgY2ZnOw0KPiArfSBfX3J0ZV9wYWNrZWQ7DQo+ ICsNCj4gK3N0cnVjdCB6c2RhX2NxZSB7DQo+ICsgICAgdWludDhfdCB2YWxpZDsgLyogY3FlX2N5 Y2xlICovDQo+ICsgICAgdWludDhfdCBvcF9jb2RlOw0KPiArICAgIHVpbnQxNl90IHNpZDsNCj4g KyAgICB1aW50OF90IHN0YXRlOw0KPiArICAgIHVpbnQ4X3QgcmVzdWx0Ow0KPiArICAgIHVpbnQx Nl90IHpzZGFfd3FfaWQ7DQo+ICsgICAgdWludDMyX3QgdHhfcmVhbF9sZW5ndGg7DQo+ICsgICAg dWludDE2X3QgZXJyMDsNCj4gKyAgICB1aW50MTZfdCBlcnIxOw0KPiArfSBfX3J0ZV9wYWNrZWQ7 DQo+ICsNCj4gK3N0cnVjdCB6c2RhX2NvbW1vbl9zdGF0IHsNCj4gKyAgICAvKio8IENvdW50IG9m IGFsbCBvcGVyYXRpb25zIGVucXVldWVkICovDQo+ICsgICAgdWludDY0X3QgZW5xdWV1ZWRfY291 bnQ7DQo+ICsgICAgLyoqPCBDb3VudCBvZiBhbGwgb3BlcmF0aW9ucyBkZXF1ZXVlZCAqLw0KPiAr ICAgIHVpbnQ2NF90IGRlcXVldWVkX2NvdW50Ow0KPiArDQo+ICsgICAgLyoqPCBUb3RhbCBlcnJv ciBjb3VudCBvbiBvcGVyYXRpb25zIGVucXVldWVkICovDQo+ICsgICAgdWludDY0X3QgZW5xdWV1 ZV9lcnJfY291bnQ7DQo+ICsgICAgLyoqPCBUb3RhbCBlcnJvciBjb3VudCBvbiBvcGVyYXRpb25z IGRlcXVldWVkICovDQo+ICsgICAgdWludDY0X3QgZGVxdWV1ZV9lcnJfY291bnQ7DQo+ICt9Ow0K PiArDQo+ICtlbnVtIHpzZGFfYWxnb19jb3JlIHsNCj4gKyAgICBaU0RBX0NPUkVfQ09NUCwNCj4g KyAgICBaU0RBX0NPUkVfREVDT01QLA0KPiArICAgIFpTREFfQ09SRV9JTlZBTElELA0KPiArfTsN Cj4gKw0KPiArc3RhdGljIGlubGluZSB1aW50MzJfdA0KPiArenNkYV9tb2R1bG9fMzIodWludDMy X3QgZGF0YSwgdWludDMyX3QgbW9kdWxvX21hc2spDQo+ICt7DQo+ICsgICAgcmV0dXJuIChkYXRh KSAmIChtb2R1bG9fbWFzayk7DQo+ICt9DQo+ICtzdGF0aWMgaW5saW5lIHVpbnQxNl90DQo+ICt6 c2RhX21vZHVsb18xNih1aW50MTZfdCBkYXRhLCB1aW50MTZfdCBtb2R1bG9fbWFzaykNCj4gK3sN Cj4gKyAgICByZXR1cm4gKGRhdGEpICYgKG1vZHVsb19tYXNrKTsNCj4gK30NCj4gK3N0YXRpYyBp bmxpbmUgdWludDhfdA0KPiArenNkYV9tb2R1bG9fOCh1aW50OF90IGRhdGEsIHVpbnQ4X3QgbW9k dWxvX21hc2spDQo+ICt7DQo+ICsgICAgcmV0dXJuIChkYXRhKSAmIChtb2R1bG9fbWFzayk7DQo+ ICt9DQo+ICsNCj4gKyNkZWZpbmUgQ1FFX1ZBTElEKHZhbHVlKSAodmFsdWUgJiAweDgwMDApDQo+ ICsjZGVmaW5lIENRRV9FUlIwKHZhbHVlKSAodmFsdWUgJiAweGZmZmYpDQo+ICsjZGVmaW5lIENR RV9FUlIxKHZhbHVlKSAodmFsdWUgJiAweDdmZmYpDQo+ICsNCj4gKy8qIEZvciBzaXR1YXRpb25z IHdoZXJlIGVycjAgYXJlIHJlcG9ydGVkIGJ1dCB0aGUgcmVzdWx0cyBhcmUgY29ycmVjdCAqLw0K PiArI2RlZmluZSBERUNPTVBfUklHSFRfRVJSMF8wIDB4YzcxMA0KPiArI2RlZmluZSBERUNPTVBf UklHSFRfRVJSMF8xIDB4YzcyNw0KPiArI2RlZmluZSBERUNPTVBfUklHSFRfRVJSMF8yIDB4Yzcy OQ0KPiArI2RlZmluZSBDUUVfRVJSMF9SSUdIVCh2YWx1ZSkgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgICAodmFsdWUgPT0gREVDT01QX1JJ R0hUX0VSUjBfMCB8fCB2YWx1ZSA9PSBERUNPTVBfUklHSFRfRVJSMF8xIHx8DQo+IFwNCj4gKyAg ICAgdmFsdWUgPT0gREVDT01QX1JJR0hUX0VSUjBfMikNCj4gKw0KDQpTb21lIG9mIHRoZSBtYWNy b3MgYXJlIHNwZWNpZmljIHRvIGNvbXByZXNzaW9uLg0KU2hvdWxkbid0IHRoaXMgYmUgbW92ZWQg dG8gZHJpdmVycy9jb21wcmVzcy96c2RhPw0KDQo+ICsjZGVmaW5lIEFSUkFZX1NJWkUoYXJyKSAo c2l6ZW9mKGFycikgLyBzaXplb2YoKGFycilbMF0pKQ0KDQpZb3UgY2FuIHVzZSBSVEVfRElNIGlu c3RlYWQgb2YgZGVmaW5pbmcgeW91ciBvd24gbWFjcm8uDQoNCj4gKw0KPiArdWludDMyX3QgenNk YV9zZXRfcmVnXzgodm9pZCAqYWRkciwgY29uc3QgdWludDhfdCB2YWwwLCBjb25zdCB1aW50OF90 IHZhbDEsDQo+ICsgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgdmFsMiwgY29uc3QgdWludDhfdCB2 YWwzKTsNCj4gK3VpbnQ4X3QgenNkYV9nZXRfcmVnXzgodm9pZCAqYWRkciwgY29uc3QgaW50IG9m ZnNldCk7DQo+ICsNCj4gK2ludCB6c2RhX2FkbWluX21zZ19pbml0KGNvbnN0IHN0cnVjdCBydGVf cGNpX2RldmljZSAqcGNpX2Rldik7DQo+ICtpbnQgenNkYV9zZW5kX2FkbWluX21zZyhjb25zdCBz dHJ1Y3QgcnRlX3BjaV9kZXZpY2UgKnBjaV9kZXYsIHZvaWQgKnJlcSwNCj4gKyAgICAgICAgICAg IGNvbnN0IHVpbnQzMl90IGxlbik7DQo+ICsNCj4gK2ludCB6c2RhX3JlY3ZfYWRtaW5fbXNnKGNv bnN0IHN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2Rldiwgdm9pZCAqcmVzcCwNCj4gKyAgICAg ICAgICAgIGNvbnN0IHVpbnQzMl90IGxlbik7DQo+ICsNCj4gKyNlbmRpZiAvKiBfWlNEQV9DT01N T05fSF8gKi8NCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9sb2dzLmMN Cj4gYi9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfbG9ncy5jDQo+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmI4ZDUwMmE3ZjANCj4gLS0tIC9kZXYvbnVsbA0KPiAr KysgYi9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfbG9ncy5jDQo+IEBAIC0wLDAgKzEsMjEgQEAN Cj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UNCj4gKyAqIENvcHly aWdodChjKSAyMDI0IFpURSBDb3Jwb3JhdGlvbg0KPiArICovDQo+ICsNCj4gKyNpbmNsdWRlIDxy dGVfbG9nLmg+DQo+ICsjaW5jbHVkZSA8cnRlX2hleGR1bXAuaD4NCj4gKw0KPiArI2luY2x1ZGUg InpzZGFfbG9ncy5oIg0KPiArDQo+ICtpbnQNCj4gK3pzZGFfaGV4ZHVtcF9sb2codWludDMyX3Qg bGV2ZWwsIHVpbnQzMl90IGxvZ3R5cGUsIGNvbnN0IGNoYXIgKnRpdGxlLA0KPiArICAgICAgICBj b25zdCB2b2lkICpidWYsIHVuc2lnbmVkIGludCBsZW4pDQo+ICt7DQo+ICsgICAgaWYgKHJ0ZV9s b2dfY2FuX2xvZyhsb2d0eXBlLCBsZXZlbCkpDQo+ICsgICAgICAgIHJ0ZV9oZXhkdW1wKHJ0ZV9s b2dfZ2V0X3N0cmVhbSgpLCB0aXRsZSwgYnVmLCBsZW4pOw0KPiArDQo+ICsgICAgcmV0dXJuIDA7 DQo+ICt9DQo+ICsNCj4gK1JURV9MT0dfUkVHSVNURVJfREVGQVVMVCh6c2RhX2dlbl9sb2d0eXBl LCBOT1RJQ0UpOw0KPiArUlRFX0xPR19SRUdJU1RFUl9ERUZBVUxUKHpzZGFfZHBfbG9ndHlwZSwg Tk9USUNFKTsNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9sb2dzLmgN Cj4gYi9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfbG9ncy5oDQo+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmY2YjI3ZTJmMmQNCj4gLS0tIC9kZXYvbnVsbA0KPiAr KysgYi9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfbG9ncy5oDQo+IEBAIC0wLDAgKzEsMzIgQEAN Cj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UNCj4gKyAqIENvcHly aWdodChjKSAyMDI0IFpURSBDb3Jwb3JhdGlvbg0KPiArICovDQo+ICsNCj4gKyNpZm5kZWYgX1pT REFfTE9HU19IXw0KPiArI2RlZmluZSBfWlNEQV9MT0dTX0hfDQo+ICsNCj4gK2V4dGVybiBpbnQg enNkYV9nZW5fbG9ndHlwZTsNCj4gK2V4dGVybiBpbnQgenNkYV9kcF9sb2d0eXBlOw0KPiArDQo+ ICsjZGVmaW5lIFpTREFfTE9HKGxldmVsLCBmbXQsIGFyZ3MuLi4pICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICAgIHJ0ZV9sb2coUlRFX0xPR18jI2xldmVs LCAoenNkYV9nZW5fbG9ndHlwZSAmIDB4ZmYpLCAgICAgICAgICAgICAgICAgICAgXA0KPiArICAg ICAgICAiJXMoKTogWyVkXSAiIGZtdCAiXG4iLCBfX2Z1bmNfXywgX19MSU5FX18sICMjYXJncykN Cj4gKw0KPiArI2RlZmluZSBaU0RBX0RQX0xPRyhsZXZlbCwgZm10LCBhcmdzLi4uKSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgICBydGVfbG9nKFJURV9MT0df IyNsZXZlbCwgenNkYV9kcF9sb2d0eXBlLCAiJXMoKTogIiBmbXQgIlxuIiwgX19mdW5jX18sIFwN Cj4gKyAgICAgICAgIyNhcmdzKQ0KPiArDQo+ICsjZGVmaW5lIFpTREFfRFBfSEVYRFVNUF9MT0co bGV2ZWwsIHRpdGxlLCBidWYsIGxlbikgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiAr ICAgIHpzZGFfaGV4ZHVtcF9sb2coUlRFX0xPR18jI2xldmVsLCB6c2RhX2RwX2xvZ3R5cGUsIHRp dGxlLCBidWYsIGxlbikNCj4gKw0KPiArLyoqDQo+ICsgKiB6c2RhX2hleGR1bXBfbG9nIC0gRHVt cCBvdXQgbWVtb3J5IGluIGEgc3BlY2lhbCBoZXggZHVtcCBmb3JtYXQuDQo+ICsgKg0KPiArICog RHVtcCBvdXQgdGhlIG1lc3NhZ2UgYnVmZmVyIGluIGEgc3BlY2lhbCBoZXggZHVtcCBvdXRwdXQg Zm9ybWF0IHdpdGgNCj4gKyAqIGNoYXJhY3RlcnMgcHJpbnRlZCBmb3IgZWFjaCBsaW5lIG9mIDE2 IGhleCB2YWx1ZXMuIFRoZSBtZXNzYWdlIHdpbGwgYmUgc2VudA0KPiArICogdG8gdGhlIHN0cmVh bSB1c2VkIGJ5IHRoZSBydGVfbG9nIGluZnJhc3RydWN0dXJlLg0KPiArICovDQo+ICtpbnQgenNk YV9oZXhkdW1wX2xvZyh1aW50MzJfdCBsZXZlbCwgdWludDMyX3QgbG9ndHlwZSwgY29uc3QgY2hh ciAqdGl0bGUsDQo+ICsgICAgICAgICAgICAgY29uc3Qgdm9pZCAqYnVmLCB1bnNpZ25lZCBpbnQg bGVuKTsNCj4gKw0KPiArI2VuZGlmIC8qIF9aU0RBX0xPR1NfSF8gKi8NCj4gZGlmZiAtLWdpdCBh L3VzZXJ0b29scy9kcGRrLWRldmJpbmQucHkgYi91c2VydG9vbHMvZHBkay1kZXZiaW5kLnB5DQo+ IGluZGV4IGIyNzZlOGVmYzguLjliOGIwMTVmYmIgMTAwNzU1DQo+IC0tLSBhL3VzZXJ0b29scy9k cGRrLWRldmJpbmQucHkNCj4gKysrIGIvdXNlcnRvb2xzL2RwZGstZGV2YmluZC5weQ0KDQpZb3Ug c2hvdWxkIGFkZCBhIHNlcGFyYXRlIHBhdGNoIGZvciBiZWxvdyBjaGFuZ2UuDQoNCj4gQEAgLTgw LDYgKzgwLDkgQEANCj4gIGNueGtfbWwgPSB7J0NsYXNzJzogJzA4JywgJ1ZlbmRvcic6ICcxNzdk JywgJ0RldmljZSc6ICdhMDkyJywNCj4gICAgICAgICAgICAgJ1NWZW5kb3InOiBOb25lLCAnU0Rl dmljZSc6IE5vbmV9DQo+IA0KPiArenRlX3pzZGEgPSB7J0NsYXNzJzogJzEyJywgJ1ZlbmRvcic6 ICcxY2YyJywgJ0RldmljZSc6ICc4MDUwLDgwNTEnLA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICdTVmVuZG9yJzogTm9uZSwgJ1NEZXZpY2UnOiBOb25lfQ0KPiArDQo+ICBuZXR3b3JrX2Rl dmljZXMgPSBbbmV0d29ya19jbGFzcywgY2F2aXVtX3BreCwgYXZwX3ZuaWMsIGlmcGdhX2NsYXNz XQ0KPiAgYmFzZWJhbmRfZGV2aWNlcyA9IFthY2NlbGVyYXRpb25fY2xhc3NdDQo+ICBjcnlwdG9f ZGV2aWNlcyA9IFtlbmNyeXB0aW9uX2NsYXNzLCBpbnRlbF9wcm9jZXNzb3JfY2xhc3NdDQo+IEBA IC05Myw3ICs5Niw3IEBADQo+ICBtbF9kZXZpY2VzID0gW2NueGtfbWxdDQo+ICBtaXNjX2Rldmlj ZXMgPSBbY254a19icGh5LCBjbnhrX2JwaHlfY2d4LCBjbnhrX2lubF9kZXYsDQo+ICAgICAgICAg ICAgICAgICAgaW50ZWxfbnRiX3NreCwgaW50ZWxfbnRiX2ljeCwNCj4gLSAgICAgICAgICAgICAg ICB2aXJ0aW9fYmxrXQ0KPiArICAgICAgICAgICAgICAgIHZpcnRpb19ibGssIHp0ZV96c2RhXQ0K PiANCj4gICMgZ2xvYmFsIGRpY3QgZXRoZXJuZXQgZGV2aWNlcyBwcmVzZW50LiBEaWN0aW9uYXJ5 IGluZGV4ZWQgYnkgUENJIGFkZHJlc3MuDQo+ICAjIEVhY2ggZGV2aWNlIHdpdGhpbiB0aGlzIGlz IGl0c2VsZiBhIGRpY3Rpb25hcnkgb2YgZGV2aWNlIHByb3BlcnRpZXMNCj4gLS0NCj4gMi4yNy4w DQoNCg==