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 A799B4611C; Fri, 24 Jan 2025 11:00:16 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 871BD41104; Fri, 24 Jan 2025 11:00:16 +0100 (CET) Received: from mx0a-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id B863540EF0 for ; Fri, 24 Jan 2025 11:00:14 +0100 (CET) Received: from pps.filterd (m0431384.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 50O9H2fg029370; Fri, 24 Jan 2025 02:00:14 -0800 Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2043.outbound.protection.outlook.com [104.47.58.43]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 44c83f81x2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 24 Jan 2025 02:00:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fgh8v8SsR2z+yZAhCPqD2iC6/6okTnLX3Wp9yugcZRIrq4WMjqxx410VPJz6/i1GCwPjUYg2I4qp8YLKygaWKpUsgJUzgE14U+6LKs6e6HW0GK63JluWYSP2KwTbnoRJ3r5quqkhL9EgHzwjkuU4XsPougHLuF9WK3+gzm3BrntxHmJqzOoI0pQFY73HxTGxc8kP8N75tGSosaz8DRnQGuoZ4BS9tuMViMfQuTCJnGBGHpzR3BSljhZDgGeGd68ajRGESWavlng1H5B+rmXYa/9D9uJOHV+Fco8M3rba6EgNpdXsqmlzVoh0om+01y4l6iRcfRGr8X03bObbscIbcw== 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=M1/+JYd8+u878g53PVkh9aCsWnSAf+ROjqnF27474A0=; b=fU8zLJZLsZxRgkfizQUwgdkb1vOYkWkFz2kjiUMp/0bhUXwy41auZ9JuZwyUVEbDaPKncUUdTdpm0Ak1spEFKC25pVfM2ifoiMd2UKWOedEL7iW2bMz5EP5cdyM9bS3cjolEX2HLSFs9Z1mc6HAa3dcEQ21vHw5pF5YxSzfI5MT+VFzw/RLb/1wLzJBJXasF3RmLnU8lv9FEtupOpOM+LL3ilSGwcflwNzwiGuk1PnjG5057CCGD+3+ddw6nyrBhfiOBuYQlgNQY6VPSsmsZq5CGhfLkIb8yFEsaYZRQakrzgtF4UQzqQkNi2tU4D8Mq8g0bPJGWr96zjeb/Ohqtmw== 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=M1/+JYd8+u878g53PVkh9aCsWnSAf+ROjqnF27474A0=; b=TkYd+WW+j3AqxKEDuRGpSBkGOAOSVNBVwPakU4GAoPK/wtX3wKdBKDoa9iKycYToh8srlimNypsDYnRowmomEz+0O2G4ohAw4nNcOgb70wbgal0ZNdXkrGPxK3XiFnVQlgWcIaVOUiJ8RfNBZu7xRG/Ka9900TJVLW4/sLBagL8= Received: from PH0PR18MB4425.namprd18.prod.outlook.com (2603:10b6:510:ef::13) by SA1PR18MB4678.namprd18.prod.outlook.com (2603:10b6:806:1d5::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8356.17; Fri, 24 Jan 2025 10:00:10 +0000 Received: from PH0PR18MB4425.namprd18.prod.outlook.com ([fe80::424f:7fcf:ce0d:45c4]) by PH0PR18MB4425.namprd18.prod.outlook.com ([fe80::424f:7fcf:ce0d:45c4%6]) with mapi id 15.20.8356.020; Fri, 24 Jan 2025 10:00:10 +0000 From: Shijith Thotton To: "Naga Harish K, S V" , "dev@dpdk.org" CC: Pavan Nikhilesh Bhagavatula , "Pathak, Pravin" , Hemant Agrawal , Sachin Saxena , Mattias R_nnblom , Jerin Jacob , Liang Ma , "Mccarthy, Peter" , "Van Haaren, Harry" , "Carrillo, Erik G" , "Gujjar, Abhinandan S" , Amit Prakash Shukla , "Burakov, Anatoly" Subject: RE: [RFC PATCH] eventdev: adapter API to configure multiple Rx queues Thread-Topic: [RFC PATCH] eventdev: adapter API to configure multiple Rx queues Thread-Index: AQHbUehzNWHnKZu1Yk2D0hKKurRU+bLyeVCAgBDQUpCAEXfmwIADdk2AgADih7CABoP2gIAAidtAgAJNyACAAIwacIACgOMAgABjtBA= Date: Fri, 24 Jan 2025 10:00:10 +0000 Message-ID: References: <20241219073405.1724200-1-sthotton@marvell.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR18MB4425:EE_|SA1PR18MB4678:EE_ x-ms-office365-filtering-correlation-id: b29e3fc2-9d12-4c4b-1545-08dd3c5de366 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|1800799024|366016|7416014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?Qkt5bmhtc01FYUJjaTN5aHFwZ2pzeFB3U2tsRXNJeTY3ZmovZStwRktpMkpK?= =?utf-8?B?V0d0ZzBwWXBTblVlZEhPcmFWc3g1eGREVGJod1BoY2hhTUloWm83ZDF6SHEz?= =?utf-8?B?REkvVW9MQzZMbURwM0NPUTVQTDVWUkh6SGVNUEJqaVlXWVFVbzdFMjJRbHdT?= =?utf-8?B?aFNTQTNteXV3UUV4OCtLSS80aEFIZm1KeWk0am5QY080emVpRGIvMFR6YnMx?= =?utf-8?B?cmFlNWp6Y0EvVlk4YUpRMHNPM01vZnpQa3hna2lVZGM0L2x0S25IYmhtcmFX?= =?utf-8?B?Y0MxaUttTWFJQy9VMDBlOWJkNDJtMkpSOEh0QUF3VTU4OEJEa1FnaS8xdnZ3?= =?utf-8?B?bHZYb01xZXpOeFhNWmFXanVFTmtLdlhWSCtNazRQbEM4RVBiVzZEREdyVktY?= =?utf-8?B?eHM0YXo0NXVDQmFKZFc4OEhvdnhhNWJYSDdZK1R5eEFLREtUVDM2Rk5tQjhC?= =?utf-8?B?eTF3NzJmT1VVcWl1MmNIUWdWWFB3U0JYYm9NdlpMVVlLaE92N0FmYnRYS01p?= =?utf-8?B?QWFQZnR0WFAvVFdKZkk4ZkU0UVVhYm5OQWg1TE5rQjcvdE1wNjlCUENGbEhX?= =?utf-8?B?NXcrZVZDdzdrWW9jTDhUSlBGbElFaUN2TkdhNlQ4WHp2MDkwa2txWWwrYWpn?= =?utf-8?B?cFdPQUtTbVY2M1Jvak5vdGxLVDh0MU5QZDNwSlUvSWErY2NnTGVXVnoySE9E?= =?utf-8?B?anM3enQ4RDNZa1NJY1BHeGEwR1hxVGF6M2I1TlpLejlkQmxBZXNjdkNkOGRH?= =?utf-8?B?R0FCTHhiV3loZUtCSmQ0WllVWGd5aHh0N21sM0dWZHI1WnlnWkFqaitQYkNl?= =?utf-8?B?bDQ0NktFcjkyYjBuRU1TYlRWZUxmeXFMMUl4b3Nnd3JCelQ2RXM2QjhUVkFM?= =?utf-8?B?cFZhUHhMMmZsSGJRUk95a0V4NkdXbnV5bW1ZT3ZTNnFGVFdkTTR1cUFIekpz?= =?utf-8?B?K0hoc3RoV1c5Uk9EMksxeDFiMnUwSWJkUVVVaDNSV2thQlNnRXcxNGtVV1k2?= =?utf-8?B?MEVUZk5hVytVM2hoUEFGOVFuVk9VZncxTFpIMWZaU1NoaFZkTmQ4LzRldXYw?= =?utf-8?B?a29yUlBpUWZxYWRMUmQwa3h1R0Q3Q3BvczVEL0RTbWZvTEVGSHlLSlhOWHhL?= =?utf-8?B?ZWl5d05YVVNLc0xJQ0tUWHE3NjNwOStlMS92RGovVWxvNGR4ZmF4SVNQWW45?= =?utf-8?B?R3VRNlRVaWROakJPb1FBVlBIT2tvRnQ5U291RS9PeVVvL09jMXVXVU5MKzdG?= =?utf-8?B?UkJIUTQ5aXlaZlk4VHhHaGZDb1Z4THRnck5UWHFwUjFaVllEd1JNc0tuYVhh?= =?utf-8?B?dmh5cDJvM2V5MG04bWpQYUR1ekx4TGJYUW1sRFc0LzV6amh1aUthdU9pNmg2?= =?utf-8?B?cDdXbGdJZFhCTzVYaFRxcElyOTJWUnBwU0pWSkl5Mm1VTmpHcEppTndVYzli?= =?utf-8?B?aklUaHliNkFDTFFzTXpXdVNBMnZCQ3BldEs5K0FadHlzaW5KN2JrUFBUemVS?= =?utf-8?B?NElDVjdTQ0hEY3ZTNmlySEVZMG4rZlQyWG84L1gvMGhNeW9ScG51QWcxcFpW?= =?utf-8?B?U0YzRmRHamg0Y1E2TUM0Zk8xYkhzNDk3NmN5NE5JOGVwS3BSTHBVS04wUmJJ?= =?utf-8?B?RXdnUjl4M3JqOFgvNjUwQlVwZlNTS3J4OEZYeUM3QnpEYk1tUWViZ1Q0Z2g3?= =?utf-8?B?Zjdwd0Z2S1grb1lUdy8rZzZ2NUhsRFVqTkNyb2FSdzRsZFl3WlhBM0g4REtk?= =?utf-8?B?ZXMySXh1L1BPTEQwbTJlMnlpN0FsdW9JV0dKbmZFSC9ZeHVtUm15blBERVJn?= =?utf-8?B?aCs4RGF2UldUVngrcnpJWUxnNUI4U2prWkJ5QTYycDhDK0swZ3lnQWtwanhQ?= =?utf-8?B?djRLcWY5eGJoY0NMUDZjM1F6REx1L1I2Ry82eHNkYjBqMEpocE5nUWZTVC9V?= =?utf-8?Q?kHpX5NtyaKgoTE46HnW6v4hZ0Ne2gXI4?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB4425.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016)(7416014)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cjlPMGh2dmNrUS9qMURoSWpJMVkrRXhjeUVBMXpnUmlrSlNBMHNtNWtETWU3?= =?utf-8?B?TmFXYkw2NHByajhuRGdOajJiWWY5Z0FHMFpMUDVWengxeDFOelpFNldFT2h6?= =?utf-8?B?TXV3ZEFyYllEKzZSQzlpVkN1Nld4NTlVU3Z4UFVUWkVJWTExYU9zZHpvdE96?= =?utf-8?B?Wjd0ZnNqTnhFUGp0ZkJmQzRDYndiam1oNGJHcVV1TVRUbEFpSkQ1bEdid0dX?= =?utf-8?B?ekkyYmFweW9XeVZyTFJNUkE2bFpUeXU2cjJFTzl3UXBPVndxQVdJUWszV2Jk?= =?utf-8?B?VWhmZnQxS1FuVnNQOWVNUFdyZmFmQ2J3c0V4R2FVSnlqbnFOeCtCT2Y4V3pX?= =?utf-8?B?OUs0UHJuekl4Y25FcXBqT09ibFh5OW1tNDhWY05ZRHZmOW5zK0l3OWwveUty?= =?utf-8?B?Szkzd2poTEZlTHFGakdnQ2ROTVowcXdXU2I0K0VCQ2dNMzMvdnVrZjVvcnVw?= =?utf-8?B?T0o2elJGMzR4MnhVbTd1VHh2UG9aMmV2cVhZRkdzRWZaM0FVR2QrUmRua0tS?= =?utf-8?B?SWZNRFVaQXZlOU1kTWpkR1JJVmI2VTNFWGtCQzhjMHJHVUhNbkQvQVJESlpK?= =?utf-8?B?eStHMkYvWFpZV1I1SVJUcFB0dEtzN0xDa2trZUdNRGNmZGZReHhEdzY0VDZ3?= =?utf-8?B?ZXFjdXdWMGNKK2RKT2hFbVJDNG1MSDNxZWRUb3JMbVZUdkg4S2FtM3NkNGZ0?= =?utf-8?B?NmVKaExkN2dJUVVPTHUrQ2pzNDExNUpKRnF1bDZxMzBYbEE2dm1LUTBWcEIv?= =?utf-8?B?Z1NTczJLQncwOTZhc0lHanJDSlFoSHloWnJSKzdESWpuT3kwUnZDM29Hcldq?= =?utf-8?B?M3FMR1RxaVppTnhPSlNoUmQ4Vkc5bU5TQjhsYnNkVDF4TzRPaEpWSEpEUEla?= =?utf-8?B?d1lvRU9EcFljeVJ0d2JSNExNSlVKZ2k5b3k2dUpCZEVzNG0vYkcvaDQrWEpK?= =?utf-8?B?cnVMSDN4OU1tSktvMVdBZVR3MnZMa0UvUkIrQWw3OGlJUVpKcFZxOENXYXU5?= =?utf-8?B?NEU5aFQ3RHJnL29nN1Y5aGlic0tOZEYwTk5FdjYxQXBhMytLVml3NVc4aEpy?= =?utf-8?B?U1NHeis1TE1SdWNFUVVhRFQvd0dFckt5dHhURDlwZ3Q3Wkp6VjNUSFM4elhy?= =?utf-8?B?dEt2OUVENnlqbk9sRi9yWXRTQXZtdExiaWNKcWsyTDE3WlNMVFBwaWkrdnJl?= =?utf-8?B?SU1GVFhMMlVRR1I5N2tUcEZFM3F4dVBXUE5EWm9WZnEzV29nVDA3anBPWFQz?= =?utf-8?B?T2hDZ25OaFZsQTZIRGRKM0RvSTZKTk0yazZUVy9rb2tDOE5rNitOTWFUUUJK?= =?utf-8?B?N09POVJRY28xczYwK09GM2tESDUzK1dUdzB2L2p5R1ZUekFnVCttcUJ2VERB?= =?utf-8?B?TWpPckFqWlFGcnVLcnYxUXNuV1JSY0YvVUtnbEVkY2hPMklDdjZLN0U1NjVF?= =?utf-8?B?cEdYa2RkQnNPd3B2M1U5ejJadkg3VTdzckkxMDJ1cEhRVmxTRmsvYld1S2Nj?= =?utf-8?B?TzVNQTkzL1Q0MjFVZW5iVlJ1c0pnYzdoQXNMT2JZbzRwSVlFMG5SV3IzSGFk?= =?utf-8?B?TnlRcTlvZFNud1VYTWswVWN4VnJJUjd6WTRxeGxic1gyVFZXVGtyMHppWDRh?= =?utf-8?B?WEU5ZHJPRTVFMm8ycmNTaUNOYTIwcjF4VXBwK3l4WG5WeVpReDJrWkdLY05U?= =?utf-8?B?enlMdTVNRXc1cG55Ulk5Q082b0ZpVFdoM1ZRb3htUjJqUmVMczg0QnJpZzMx?= =?utf-8?B?Y3paSTh0T1FqNkhyeUd1VjlQMnlWaERYUG4yK2NGb3V6UWx3US9uMjN5czNp?= =?utf-8?B?Zy9VSk4zYzVtajhYdkttR2tJd1lxUVNqTlFFbm5tM2kxbEwzYmxjTHBxQ1ZE?= =?utf-8?B?V2xMOG40YkdHZTNwL1RHS3RIaHZFVHhmaTJxYnRrd1prRzE3MHY3akFYVi9h?= =?utf-8?B?K3RMVmhVemtPejMvM3pMQXptcGI3Yy9qaEpLU1VybThvMVdsOC9nNjZqVWZW?= =?utf-8?B?L3BmNUdzcHRUMTE5YkpkKzFTdjVBKzJ1dzRmSDVzM3MxbTdvSHQ3K2VCRnZI?= =?utf-8?B?b0pab1VqeFRQQnhHZDRWQXpmQ1pLRWVQM1puMllXUFFqdUxVNkhKL0FSU0xw?= =?utf-8?Q?iWgDO/GyHQddzedfWb6wKX3dc?= 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: PH0PR18MB4425.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b29e3fc2-9d12-4c4b-1545-08dd3c5de366 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jan 2025 10:00:10.1203 (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: MXNhL5PVffx9PK3BG8155VOuTD4vnZhWQiTFF+BKqfgAl5tt2C/MvA2b1tXoN+QNk1ikhff9n441POrv/9eaKQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR18MB4678 X-Proofpoint-GUID: kf90p6vcoBVQLy-20w7kjDpeGtzZOTNI X-Proofpoint-ORIG-GUID: kf90p6vcoBVQLy-20w7kjDpeGtzZOTNI X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-01-24_04,2025-01-23_01,2024-11-22_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 Pj4gPj4gPj4gPj4gPj4+IFRoaXMgUkZDIGludHJvZHVjZXMgYSBuZXcgQVBJLA0KPj4gPj4gPj4g Pj4gPj4+IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9xdWV1ZXNfYWRkKCksDQo+PiA+PiA+PiA+ PiA+Pj4gZGVzaWduZWQgdG8gZW5oYW5jZSB0aGUgZmxleGliaWxpdHkgb2YgY29uZmlndXJpbmcg bXVsdGlwbGUNCj4+ID4+ID4+ID4+ID4+PiBSeCBxdWV1ZXMgaW4gZXZlbnRkZXYgUnggYWRhcHRl ci4NCj4+ID4+ID4+ID4+ID4+Pg0KPj4gPj4gPj4gPj4gPj4+IFRoZSBleGlzdGluZyBydGVfZXZl bnRfZXRoX3J4X2FkYXB0ZXJfcXVldWVfYWRkKCkgQVBJDQo+PiA+PiA+PiA+PiA+Pj4gc3VwcG9y dHMgYWRkaW5nIG11bHRpcGxlIHF1ZXVlcyBieSBzcGVjaWZ5aW5nIHJ4X3F1ZXVlX2lkID0NCj4+ ID4+ID4+ID4+ID4+PiAtMSwgYnV0IGl0IGxhY2tzIHRoZSBhYmlsaXR5IHRvDQo+PiA+PiA+PiA+ PiA+YXBwbHkNCj4+ID4+ID4+ID4+ID4+PiBzcGVjaWZpYyBjb25maWd1cmF0aW9ucyB0byBlYWNo IG9mIHRoZSBhZGRlZCBxdWV1ZXMuDQo+PiA+PiA+PiA+PiA+Pj4NCj4+ID4+ID4+ID4+ID4+DQo+ PiA+PiA+PiA+PiA+PlRoZSBhcHBsaWNhdGlvbiBjYW4gc3RpbGwgdXNlIHRoZSBleGlzdGluZw0K Pj4gPj4gPj4gPj4gPj5ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfcXVldWVfYWRkKCkgQVBJIGlu IGEgbG9vcCB3aXRoDQo+PiA+PiA+PiA+PiA+PmRpZmZlcmVudCBjb25maWd1cmF0aW9ucyBmb3Ig ZGlmZmVyZW50IHF1ZXVlcy4NCj4+ID4+ID4+ID4+ID4+DQo+PiA+PiA+PiA+PiA+PlRoZSBwcm9w b3NlZCBBUEkgaXMgbm90IGVuYWJsaW5nIG5ldyBmZWF0dXJlcyB0aGF0IGNhbm5vdCBiZQ0KPj4g Pj4gPj4gPj4gPj5hY2hpZXZlZCB3aXRoIHRoZSBleGlzdGluZyBBUEkuDQo+PiA+PiA+PiA+PiA+ PkFkZGluZyBuZXcgQVBJcyB3aXRob3V0IG11Y2ggdXNlZnVsbmVzcyBjYXVzZXMgdW5uZWNlc3Nh cnkNCj4+ID4+ID4+ID4+ID4+Y29tcGxleGl0eS9jb25mdXNpb24gZm9yIHVzZXJzLg0KPj4gPj4g Pj4gPj4gPj4NCj4+ID4+DQo+PiA+PiBUaGUgZXRoX3J4X2FkYXB0ZXJfcXVldWVfYWRkIGV2ZW50 ZGV2IFBNRCBvcGVyYXRpb24gY2FuIGJlIHVwZGF0ZWQNCj4+IHRvDQo+PiA+PiBzdXBwb3J0IGJ1 cnN0IG1vZGUuIEludGVybmFsbHksIGJvdGggdGhlIG5ldyBhbmQgZXhpc3RpbmcgQVBJcyBjYW4N Cj4+ID4+IHV0aWxpemUgdGhpcyB1cGRhdGVkIG9wZXJhdGlvbi4gVGhpcyBlbmFibGVzIGFwcGxp Y2F0aW9ucyB0byB1c2UNCj4+ID4+IGVpdGhlciBBUEkgYW5kIGFjaGlldmUNCj4+ID50aGUNCj4+ ID4+IHNhbWUgcmVzdWx0cyB3aGlsZSBhZGRpbmcgYSBzaW5nbGUgcXVldWUuIEZvciBhZGRpbmcg bXVsdGlwbGUgUlgNCj4+ID4+IHF1ZXVlcyB0bw0KPj4gPnRoZQ0KPj4gPj4gYWRhcHRlciwgdGhl IG5ldyBBUEkgY2FuIGJlIHVzZWQgYXMgaXQgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgb2xkIEFQ SS4NCj4+ID4+DQo+PiA+DQo+PiA+Tm90IGFsbCBwbGF0Zm9ybXMgaW1wbGVtZW50IHRoZSBldmVu dGRldiBQTUQgb3BlcmF0aW9uIGZvcg0KPj4gPmV0aF9yeF9hZGFwdGVyX3F1ZXVlX2FkZCwgc28g dGhpcyBkb2VzIG5vdCBhcHBseSB0byBhbGwgcGxhdGZvcm1zLg0KPj4gPg0KPj4NCj4+IFllcywg YnV0IHRoZXJlIGFyZSBoYXJkd2FyZSBQTURzIHRoYXQgaW1wbGVtZW50DQo+ZXRoX3J4X2FkYXB0 ZXJfcXVldWVfYWRkDQo+PiBvcCwgYW5kIEkgYW0gbG9va2luZyBmb3IgYSBzb2x1dGlvbiB0aGF0 IHdvcmtzIGZvciBib3RoIGNhc2VzLg0KPj4NCj4+IFRoZSBpZGVhIGlzIHRvIHVzZSB0aGUgbmV3 IGV2ZW50ZGV2IFBNRCBvcGVyYXRpb24NCj4+IChldGhfcnhfYWRhcHRlcl9xdWV1ZXNfYWRkKSB3 aXRoaW4gdGhlDQo+PiBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfcXVldWVfYWRkKCkgQVBJLiBU aGUgcGFyYW1ldGVycyBvZiB0aGlzIEFQSSBjYW4NCj4+IGJlIGVhc2lseSBtYXBwZWQgdG8gYW5k IHN1cHBvcnRlZCBieSB0aGUgbmV3IFBNRCBvcGVyYXRpb24uDQo+Pg0KPg0KPlRoaXMgcmVxdWly ZXMgYSBjaGFuZ2UgdG8gdGhlIHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9xdWV1ZV9hZGQoKSBz dGFibGUNCj5BUEkgcGFyYW1ldGVycy4NCj5UaGlzIGlzIGFuIEFCSSBicmVha2FnZSBhbmQgbWF5 IG5vdCBiZSBwb3NzaWJsZSBub3cuDQo+SXQgcmVxdWlyZXMgY2hhbmdlcyB0byBtYW55IGN1cnJl bnQgYXBwbGljYXRpb25zIHRoYXQgYXJlIHVzaW5nIHRoZQ0KPnJ0ZV9ldmVudF9ldGhfcnhfYWRh cHRlcl9xdWV1ZV9hZGQoKSBzdGFibGUgQVBJLg0KPg0KDQpXaGF0IEkgbWVhbnQgYnkgbWFwcGlu ZyB3YXMgdG8gcmV0YWluIHRoZSBzdGFibGUgQVBJIHBhcmFtZXRlcnMgYXMgdGhleSBhcmUuDQpJ bnRlcm5hbGx5LCB0aGUgQVBJIGNhbiB1c2UgdGhlIHByb3Bvc2VkIGV2ZW50ZGV2IFBNRCBvcGVy YXRpb24NCihldGhfcnhfYWRhcHRlcl9xdWV1ZXNfYWRkKSB3aXRob3V0IGNhdXNpbmcgYW4gQUJJ IGJyZWFrLCBhcyBzaG93biBiZWxvdy4NCg0KaW50IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9x dWV1ZV9hZGQodWludDhfdCBpZCwgdWludDE2X3QgZXRoX2Rldl9pZCwNCiAgICAgICAgICAgICAg ICBpbnQzMl90IHJ4X3F1ZXVlX2lkLA0KICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVf ZXZlbnRfZXRoX3J4X2FkYXB0ZXJfcXVldWVfY29uZiAqY29uZikgew0KICAgICAgICBpZiAocnhf cXVldWVfaWQgPT0gLTEpDQogICAgICAgICAgICAgICAgZGV2LT5kZXZfb3BzLT5ldGhfcnhfYWRh cHRlcl9xdWV1ZXNfYWRkKSgNCiAgICAgICAgICAgICAgICAgICAgICAgIGRldiwgJnJ0ZV9ldGhf ZGV2aWNlc1tldGhfZGV2X2lkXSwgMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmYsIDAp Ow0KICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgZGV2LT5kZXZfb3BzLT5ldGhfcnhfYWRh cHRlcl9xdWV1ZXNfYWRkKSgNCiAgICAgICAgICAgICAgICAgICAgICAgIGRldiwgJnJ0ZV9ldGhf ZGV2aWNlc1tldGhfZGV2X2lkXSwgJnJ4X3F1ZXVlX2lkLA0KICAgICAgICAgICAgICAgICAgICAg ICAgY29uZiwgMSk7DQp9DQoNCldpdGggYWJvdmUgY2hhbmdlLCBvbGQgb3AgKGV0aF9yeF9hZGFw dGVyX3F1ZXVlX2FkZCkgY2FuIGJlIHJlbW92ZWQgYXMNCmJvdGggQVBJIChzdGFibGUgYW5kIHBy b3Bvc2VkKSB3aWxsIGJlIHVzaW5nIGV0aF9yeF9hZGFwdGVyX3F1ZXVlc19hZGQuDQoNCj4+IHR5 cGVkZWYgaW50ICgqZXZlbnRkZXZfZXRoX3J4X2FkYXB0ZXJfcXVldWVzX2FkZF90KSgNCj4+ICAg ICBjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYsDQo+PiAgICAgY29uc3Qgc3RydWN0IHJ0 ZV9ldGhfZGV2ICpldGhfZGV2LA0KPj4gICAgIGludDMyX3QgcnhfcXVldWVfaWRbXSwNCj4+ICAg ICBjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX3F1ZXVlX2NvbmYgcXVldWVf Y29uZltdLA0KPj4gICAgIHVpbnQxNl90IG5iX3J4X3F1ZXVlcyk7DQo+Pg0KPj4gV2l0aCB0aGlz LCB0aGUgb2xkIFBNRCBvcCAoZXRoX3J4X2FkYXB0ZXJfcXVldWVfYWRkKSBjYW4gYmUgcmVtb3Zl ZC4NCj4+DQo+PiA+PiA+PiA+PiA+DQo+PiA+PiA+PiA+PiA+VGhlIG5ldyBBUEkgd2FzIGludHJv ZHVjZWQgYmVjYXVzZSB0aGUgZXhpc3RpbmcgQVBJIGRvZXMgbm90DQo+PiA+PiA+PiA+PiA+c3Vw cG9ydCBhZGRpbmcgbXVsdGlwbGUgcXVldWVzIHdpdGggc3BlY2lmaWMgY29uZmlndXJhdGlvbnMu DQo+PiA+PiA+PiA+PiA+SXQgc2VydmVzIGFzIGEgYnVyc3QgdmFyaWFudCBvZiB0aGUgZXhpc3Rp bmcgQVBJLCBsaWtlIG1hbnkNCj4+ID4+ID4+ID4+ID5vdGhlciBBUElzIGluDQo+PiA+PiBEUERL Lg0KPj4gPj4gPj4gPj4gPg0KPj4gPj4gPj4gPg0KPj4gPj4gPj4gPlRoZSBvdGhlciBidXJzdCBB UElzIG1heSBiZSB0aGVyZSBmb3IgZGF0YXBsYW5lIGZ1bmN0aW9uYWxpdGllcywNCj4+ID4+ID4+ ID5idXQgbWF5IG5vdCBiZSBmb3IgdGhlIGNvbnRyb2wgcGxhbmUgZnVuY3Rpb25hbGl0aWVzLg0K Pj4gPj4gPj4gPg0KPj4gPj4gPj4NCj4+ID4+ID4+IHJ0ZV9hY2xfYWRkX3J1bGVzKCkgaXMgYW4g ZXhhbXBsZSBvZiBidXJzdCBBUEkgaW4gY29udHJvbCBwYXRoLg0KPj4gPj4gPj4NCj4+ID4+ID4N Cj4+ID4+ID5JIG1lYW4sIEluIGdlbmVyYWwsIGJ1cnN0IEFQSXMgYXJlIGZvciBkYXRhLXBsYW5l IGZ1bmN0aW9ucy4NCj4+ID4+ID5UaGlzIG1heSBiZSBvbmUgb2YgdGhlIHJhcmUgY2FzZXMgd2hl cmUgYSBidXJzdCBBUEkgaXMgaW4gdGhlIGNvbnRyb2wgcGF0aC4NCj4+ID4+ID4NCj4+ID4+ID4+ ID4+ID5Gb3IgYmV0dGVyIGNsYXJpdHksIHRoZSBBUEkgY2FuIGJlIHJlbmFtZWQgdG8NCj4+ID4+ ID4+ID4+ID5ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfcXVldWVfYWRkX2J1cnN0KCkgaWYgbmVl ZGVkLg0KPj4gPj4gPj4gPj4gPg0KPj4gPj4gPj4gPj4gPkluIGhhcmR3YXJlLCBhZGRpbmcgZWFj aCBxdWV1ZSBpbmRpdmlkdWFsbHkgaW5jdXJzIHNpZ25pZmljYW50DQo+PiA+PiA+PiA+PiA+b3Zl cmhlYWRzLCBzdWNoIGFzIG1haWxib3ggb3BlcmF0aW9ucy4gQSBidXJzdCBBUEkgaGVscHMgdG8N Cj4+ID4+ID4+ID4+ID5hbW9ydGl6ZSB0aGlzIG92ZXJoZWFkLiBTaW5jZSByZWFsLSB3b3JsZCBh cHBsaWNhdGlvbnMgb2Z0ZW4NCj4+ID4+ID4+ID4+ID5jYWxsIHRoZSBBUEkgd2l0aCBzcGVjaWZp YyBxdWV1ZV9pZHMsIHRoZSBidXJzdCBBUEkgY2FuDQo+PiA+PiA+PiA+PiA+cHJvdmlkZSBjb25z aWRlcmFibGUNCj4+ID4+IGJlbmVmaXRzLg0KPj4gPj4gPj4gPj4gPlRlc3Rpbmcgc2hvd3MgYSA3 NSUgcmVkdWN0aW9uIGluIHRpbWUgd2hlbiBhZGRpbmcgbXVsdGlwbGUNCj4+ID4+ID4+ID4+ID5x dWV1ZXMgdG8gdGhlIFJYIGFkYXB0ZXIgdXNpbmcgdGhlIGJ1cnN0IEFQSSBvbiBvdXIgcGxhdGZv cm0uDQo+PiA+PiA+PiA+PiA+DQo+PiA+PiA+PiA+DQo+PiA+PiA+PiA+IEFzIGJhdGNoaW5nIGhl bHBzIGZvciBhIHBhcnRpY3VsYXIgaGFyZHdhcmUgZGV2aWNlLCB0aGlzIG1heSBub3QNCj4+ID4+ ID4+ID5iZSBhcHBsaWNhYmxlIGZvciBhbGwgcGxhdGZvcm1zL2Nhc2VzLg0KPj4gPj4gPj4gPglT aW5jZSBxdWV1ZV9hZGQgaXMgYSBjb250cm9sIHBsYW5lIG9wZXJhdGlvbiwgbGF0ZW5jeSBtYXkg bm90DQo+YmUNCj4+ID4+ID4+ID5hIGNvbmNlcm4uDQo+PiA+PiA+Pg0KPj4gPj4gPj4gSW4gY2Vy dGFpbiB1c2UgY2FzZXMsIHRoZXNlIEFQSXMgY2FuIGJlIGNvbnNpZGVyZWQgc2VtaS1mYXN0IHBh dGguDQo+PiA+PiA+PiBGb3INCj4+ID4+ID5pbnN0YW5jZSwNCj4+ID4+ID4+IGluIGFuIGFwcGxp Y2F0aW9uIHRoYXQgaG90cGx1Z3MgYSBwb3J0IG9uIGRlbWFuZCwgY29uZmlndXJpbmcgYWxsDQo+ PiA+PiA+PiBhdmFpbGFibGUgcXVldWVzIHNpbXVsdGFuZW91c2x5IGNhbiBzaWduaWZpY2FudGx5 IHJlZHVjZSBsYXRlbmN5Lg0KPj4gPj4gPj4NCj4+ID4+ID4NCj4+ID4+ID5BcyBzYWlkIGVhcmxp ZXIsIHRoaXMgbGF0ZW5jeSByZWR1Y3Rpb24gKHdoZW4gdHJ5aW5nIHRvIGFkZCBtdWx0aXBsZQ0K Pj4gPj4gPlJYIHF1ZXVlcyB0byB0aGUgRXZlbnQgRXRoZXJuZXQgUnggYWRhcHRlcikgbWF5IG5v dCBhcHBseSB0byBhbGwNCj4+ID4+IHBsYXRmb3Jtcy9jYXNlcy4NCj4+ID4+ID5UaGlzIEFQSSBp cyBub3QgZm9yIGNvbmZpZ3VyaW5nIHF1ZXVlcyBidXQgZm9yIGFkZGluZyB0aGUgcXVldWVzIHRv DQo+PiA+PiA+dGhlIFJYIGFkYXB0ZXIuDQo+PiA+PiA+DQo+PiA+PiA+PiA+SG93IHRvIHNwZWNp ZnkgYSBwYXJ0aWN1bGFyIHNldChzcGVjaWZpYyBxdWV1ZV9pZHMpIG9mIHJ4X3F1ZXVlcw0KPj4g Pj4gPj4gPnRoYXQgaGFzIGEgbm9uLSB6ZXJvIHN0YXJ0IGluZGV4IHdpdGggdGhlIG5ldyBwcm9w b3NlZCBBUEk/DQo+PiA+PiA+Pg0KPj4gPj4gPj4gSW4gdGhlIHByb3Bvc2VkIEFQSSwNCj4+ID4+ ID4+IGludCBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfcXVldWVzX2FkZCgNCj4+ID4+ID4+ICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgaWQsIHVpbnQxNl90IGV0aF9kZXZfaWQsIGlu dDMyX3QgcnhfcXVldWVfaWRbXSwNCj4+ID4+ID4+ICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnN0IHN0cnVjdCBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfcXVldWVfY29uZiBjb25mW10sDQo+ PiA+PiA+PiAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBuYl9yeF9xdWV1ZXMpOyBy eF9xdWV1ZXNfaWQgaXMgYW4NCj4+ID4+ID4+IGFycmF5IGNvbnRhaW5pbmcgdGhlIHJlY2VpdmUg cXVldWVzIGlkcywgd2hpY2ggY2FuIHN0YXJ0IGZyb20gYQ0KPj4gPj4gPj4gbm9uLXplcm8gdmFs dWUuIFRoZSBhcnJheSBpbmRleCBpcyB1c2VkIHNvbGVseSB0byBsb2NhdGUgdGhlDQo+PiA+PiA+ PiBjb3JyZXNwb25kaW5nIHF1ZXVlX2NvbmYuIEZvciBleGFtcGxlLCByeF9xdWV1ZXNfaWRbaV0g d2lsbCB1c2UNCj5jb25mW2ldLg0KPj4gPj4gPj4NCj4+ID4+ID4NCj4+ID4+ID5Paw0KPj4gPj4g Pg0KPj4gPj4gPj4gPglTaW5jZSB0aGlzIGlzIHN0aWxsIG5vdCBwb3NzaWJsZSB3aXRoIHRoZSBw cm9wb3NlZCBBUEksIHRoZQ0KPj4gPj4gPj4gPmV4aXN0aW5nIHF1ZXVlX2FkZCBBUEkgbmVlZHMg dG8gYmUgdXNlZCB3aXRoIHNwZWNpZmljIHF1ZXVlX2lkcw0KPj4gPj4gPj4gPmFuZCB0aGVpciBj b25maWd1cmF0aW9ucy4NCj4+ID4+ID4+ID4NCj4+ID4+ID4+ID4+ID5JIGNhbiBtb2RpZnkgdGhl IG9sZCBBUEkgaW1wbGVtZW50YXRpb24gdG8gYWN0IGFzIGEgd3JhcHBlcg0KPj4gPj4gPj4gPj4g PmFyb3VuZCB0aGUgYnVyc3QgQVBJLCB3aXRoIG51bWJlciBvZiBxdWV1ZXMgZXF1YWwgdG8gMS4g SWYNCj4+ID4+ID4+ID4+ID5jb25jZXJucyByZW1haW4sIHdlIGNhbiBleHBsb3JlIGRlcHJlY2F0 aW9uIGFzIGFuIGFsdGVybmF0aXZlLg0KPj4gPj4gPj4gPj4gPg0KPj4gPj4gPj4gPj4NCj4+ID4+ ID4+ID4+IFBsZWFzZSBsZXQgbWUga25vdyBpZiB5b3UgaGF2ZSBhbnkgc3VnZ2VzdGlvbnMvZmVl ZGJhY2sgb24gd2hhdA0KPj4gPj4gPj4gPj4gSSBzYWlkIGFib3ZlLg0KPj4gPj4gPj4gPg0KPj4g Pj4gPj4gPlN0aWxsIGZlZWwgdGhlIG5ldyBwcm9wb3NlZCBBUEkgY2FuIGJlIGF2b2lkZWQgYXMg aXQgbG9va3MgbGlrZSBhDQo+PiA+PiA+PiA+ZGlmZmVyZW50IGNvbWJpbmF0aW9uIG9mIGV4aXN0 aW5nIEFQSSBpbnN0ZWFkIG9mIGFkZGluZyBzb21lIG5ldw0KPj4gPmZlYXR1cmVzLg0KPj4gPj4g Pj4gPg0KPj4gPj4gPj4gPj4gSWYgbm90LCBJIGNhbiBnbyBhaGVhZCBhbmQgc2VuZCB2MS4NCj4+ ID4+ID4+ID4+DQo+PiA+PiA+PiA+PiA+Pj4gVGhlIHByb3Bvc2VkIEFQSSwgcnRlX2V2ZW50X2V0 aF9yeF9hZGFwdGVyX3F1ZXVlc19hZGQsDQo+PiA+PiA+PiA+PiA+Pj4gYWRkcmVzc2VzIHRoaXMg bGltaXRhdGlvbiBieToNCj4+ID4+ID4+ID4+ID4+Pg0KPj4gPj4gPj4gPj4gPj4+IC0gRW5hYmxp bmcgdXNlcnMgdG8gc3BlY2lmeSBhbiBhcnJheSBvZiByeF9xdWV1ZV9pZCB2YWx1ZXMNCj4+IGFs b25nc2lkZQ0KPj4gPj4gPj4gPj4gPj4+ICAgaW5kaXZpZHVhbCBjb25maWd1cmF0aW9ucyBmb3Ig ZWFjaCBxdWV1ZS4NCj4+ID4+ID4+ID4+ID4+Pg0KPj4gPj4gPj4gPj4gPj4+IC0gU3VwcG9ydGlu ZyBhIG5iX3J4X3F1ZXVlcyBhcmd1bWVudCB0byBkZWZpbmUgdGhlIG51bWJlcg0KPj4gPj4gPj4g Pj4gPj4+IG9mIHF1ZXVlcw0KPj4gPj4gPj4gPnRvDQo+PiA+PiA+PiA+PiA+Pj4gICBjb25maWd1 cmUuIFdoZW4gc2V0IHRvIDAsIHRoZSBBUEkgYXBwbGllcyBhIGNvbW1vbg0KPj4gPj4gPj4gPj4g Pj4+IGNvbmZpZ3VyYXRpb24NCj4+ID4+IHRvDQo+PiA+PiA+PiA+PiA+Pj4gICBhbGwgcXVldWVz LCBzaW1pbGFyIHRvIHRoZSBleGlzdGluZyByeF9xdWV1ZV9pZCA9IC0xIGJlaGF2aW9yLg0KPj4g Pj4gPj4gPj4gPj4+DQo+PiA+PiA+PiA+PiA+Pj4gVGhpcyBlbmhhbmNlbWVudCBhbGxvd3MgZm9y IG1vcmUgZ3JhbnVsYXIgY29udHJvbCB3aGVuDQo+PiA+PiA+PiA+PiA+Pj4gY29uZmlndXJpbmcN Cj4+ID4+ID4+ID4+ID5tdWx0aXBsZQ0KPj4gPj4gPj4gPj4gPj4+IFJ4IHF1ZXVlcy4gQWRkaXRp b25hbGx5LCB0aGUgQVBJIGNhbiBhY3QgYXMgYSByZXBsYWNlbWVudA0KPj4gPj4gPj4gPj4gPj4+ IGZvciB0aGUgb2xkZXIgQVBJLCBvZmZlcmluZyBib3RoIGZsZXhpYmlsaXR5IGFuZCBpbXByb3Zl ZA0KPj4gZnVuY3Rpb25hbGl0eS4NCj4+ID4+ID4+ID4+ID4+Pg0KPj4gPj4gPj4gPj4gPj4+IFNp Z25lZC1vZmYtYnk6IFNoaWppdGggVGhvdHRvbiA8c3Rob3R0b25AbWFydmVsbC5jb20+DQo+PiA+ PiA+PiA+PiA+Pj4gLS0tDQo+PiA+PiA+PiA+PiA+Pj4gIGxpYi9ldmVudGRldi9ldmVudGRldl9w bWQuaCAgICAgICAgICAgICB8IDM0DQo+PiA+PiA+PiA+PiArKysrKysrKysrKysrKysrKysrKysr KysrDQo+PiA+PiA+PiA+PiA+Pj4gIGxpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0 ZXIuaCB8IDM0DQo+PiA+PiA+PiA+PiA+Pj4gKysrKysrKysrKysrKysrKysrKysrKysrKw0KPj4g Pj4gPj4gPj4gPj4+ICAyIGZpbGVzIGNoYW5nZWQsIDY4IGluc2VydGlvbnMoKykNCj4+ID4+ID4+ ID4+ID4+Pg0KPj4gPj4gPj4gPj4gPj4+IGRpZmYgLS1naXQgYS9saWIvZXZlbnRkZXYvZXZlbnRk ZXZfcG1kLmgNCj4+ID4+ID4+ID4+ID4+PiBiL2xpYi9ldmVudGRldi9ldmVudGRldl9wbWQuaCBp bmRleA0KPj4gMzYxNDhmOGQ4Ni4uMmU0NThhOTc3OQ0KPj4gPj4gPj4gPj4gMTAwNjQ0DQo+PiA+ PiA+PiA+PiA+Pj4gLS0tIGEvbGliL2V2ZW50ZGV2L2V2ZW50ZGV2X3BtZC5oDQo+PiA+PiA+PiA+ PiA+Pj4gKysrIGIvbGliL2V2ZW50ZGV2L2V2ZW50ZGV2X3BtZC5oDQo+PiA+PiA+PiA+PiA+Pj4g QEAgLTI1LDYgKzI1LDcgQEANCj4+ID4+ID4+ID4+ID4+PiAgI2luY2x1ZGUgPHJ0ZV9tYnVmX2R5 bi5oPg0KPj4gPj4gPj4gPj4gPj4+DQo+PiA+PiA+PiA+PiA+Pj4gICNpbmNsdWRlICJldmVudF90 aW1lcl9hZGFwdGVyX3BtZC5oIg0KPj4gPj4gPj4gPj4gPj4+ICsjaW5jbHVkZSAicnRlX2V2ZW50 X2V0aF9yeF9hZGFwdGVyLmgiDQo+PiA+PiA+PiA+PiA+Pj4gICNpbmNsdWRlICJydGVfZXZlbnRk ZXYuaCINCj4+ID4+ID4+ID4+ID4+Pg0KPj4gPj4gPj4gPj4gPj4+ICAjaWZkZWYgX19jcGx1c3Bs dXMNCj4+ID4+ID4+ID4+ID4+PiBAQCAtNzA4LDYgKzcwOSwzNyBAQCB0eXBlZGVmIGludA0KPj4g Pj4gPj4gPj4gPj4+ICgqZXZlbnRkZXZfZXRoX3J4X2FkYXB0ZXJfcXVldWVfYWRkX3QpKA0KPj4g Pj4gPj4gPj4gPj4+ICAJCWludDMyX3QgcnhfcXVldWVfaWQsDQo+PiA+PiA+PiA+PiA+Pj4gIAkJ Y29uc3Qgc3RydWN0IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9xdWV1ZV9jb25mDQo+PiA+PiA+ PiA+PiA+Pj4gKnF1ZXVlX2NvbmYpOw0KPj4gPj4gPj4gPj4gPj4+DQo+PiA+PiA+PiA+PiA+Pj4g Ky8qKg0KPj4gPj4gPj4gPj4gPj4+ICsgKiBBZGQgZXRoZXJuZXQgUnggcXVldWVzIHRvIGV2ZW50 IGRldmljZS4gVGhpcyBjYWxsYmFjaw0KPj4gPj4gPj4gPj4gPj4+ICtpcyBpbnZva2VkIGlmDQo+ PiA+PiA+PiA+PiA+Pj4gKyAqIHRoZSBjYXBzIHJldHVybmVkIGZyb20NCj4+ID4+ID4+ID4+ID4+ PiArcnRlX2V2ZW50ZGV2X2V0aF9yeF9hZGFwdGVyX2NhcHNfZ2V0KCwNCj4+ID4+ID4+ID4+ID4+ PiArZXRoX3BvcnRfaWQpDQo+PiA+PiA+PiA+PiA+Pj4gKyAqIGhhcyBSVEVfRVZFTlRfRVRIX1JY X0FEQVBURVJfQ0FQX0lOVEVSTkFMX1BPUlQNCj5zZXQuDQo+PiA+PiA+PiA+PiA+Pj4gKyAqDQo+ PiA+PiA+PiA+PiA+Pj4gKyAqIEBwYXJhbSBkZXYNCj4+ID4+ID4+ID4+ID4+PiArICogICBFdmVu dCBkZXZpY2UgcG9pbnRlcg0KPj4gPj4gPj4gPj4gPj4+ICsgKg0KPj4gPj4gPj4gPj4gPj4+ICsg KiBAcGFyYW0gZXRoX2Rldg0KPj4gPj4gPj4gPj4gPj4+ICsgKiAgIEV0aGVybmV0IGRldmljZSBw b2ludGVyDQo+PiA+PiA+PiA+PiA+Pj4gKyAqDQo+PiA+PiA+PiA+PiA+Pj4gKyAqIEBwYXJhbSBy eF9xdWV1ZV9pZA0KPj4gPj4gPj4gPj4gPj4+ICsgKiAgIEV0aGVybmV0IGRldmljZSByZWNlaXZl IHF1ZXVlIGluZGV4IGFycmF5DQo+PiA+PiA+PiA+PiA+Pj4gKyAqDQo+PiA+PiA+PiA+PiA+Pj4g KyAqIEBwYXJhbSBxdWV1ZV9jb25mDQo+PiA+PiA+PiA+PiA+Pj4gKyAqICAgQWRkaXRpb25hbCBj b25maWd1cmF0aW9uIHN0cnVjdHVyZSBhcnJheQ0KPj4gPj4gPj4gPj4gPj4+ICsgKg0KPj4gPj4g Pj4gPj4gPj4+ICsgKiBAcGFyYW0gbmJfcnhfcXVldWVzDQo+PiA+PiA+PiA+PiA+Pj4gKyAqICAg TnVtYmVyIG9mIGV0aGVybmV0IGRldmljZSByZWNlaXZlIHF1ZXVlcw0KPj4gPj4gPj4gPj4gPj4+ ICsgKg0KPj4gPj4gPj4gPj4gPj4+ICsgKiBAcmV0dXJuDQo+PiA+PiA+PiA+PiA+Pj4gKyAqICAg LSAwOiBTdWNjZXNzLCBldGhlcm5ldCByZWNlaXZlIHF1ZXVlcyBhZGRlZCBzdWNjZXNzZnVsbHku DQo+PiA+PiA+PiA+PiA+Pj4gKyAqICAgLSA8MDogRXJyb3IgY29kZSByZXR1cm5lZCBieSB0aGUg ZHJpdmVyIGZ1bmN0aW9uLg0KPj4gPj4gPj4gPj4gPj4+ICsgKi8NCj4+ID4+ID4+ID4+ID4+PiAr dHlwZWRlZiBpbnQgKCpldmVudGRldl9ldGhfcnhfYWRhcHRlcl9xdWV1ZXNfYWRkX3QpKA0KPj4g Pj4gPj4gPj4gPj4+ICsJCWNvbnN0IHN0cnVjdCBydGVfZXZlbnRkZXYgKmRldiwNCj4+ID4+ID4+ ID4+ID4+PiArCQljb25zdCBzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYsDQo+PiA+PiA+PiA+ PiA+Pj4gKwkJaW50MzJfdCByeF9xdWV1ZV9pZFtdLA0KPj4gPj4gPj4gPj4gPj4+ICsJCWNvbnN0 IHN0cnVjdCBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfcXVldWVfY29uZg0KPj4gPj4gPj4gPj4g Pj4+IHF1ZXVlX2NvbmZbXSwNCj4+ID4+ID4+ID4+ID4+PiArCQl1aW50MTZfdCBuYl9yeF9xdWV1 ZXMpOw0KPj4gPj4gPj4gPj4gPj4+ICsNCj4+ID4+ID4+ID4+ID4+PiAgLyoqDQo+PiA+PiA+PiA+ PiA+Pj4gICAqIERlbGV0ZSBldGhlcm5ldCBSeCBxdWV1ZXMgZnJvbSBldmVudCBkZXZpY2UuIFRo aXMNCj4+ID4+ID4+ID4+ID4+PiBjYWxsYmFjayBpcw0KPj4gPj4gPmludm9rZWQNCj4+ID4+ID4+ IGlmDQo+PiA+PiA+PiA+PiA+Pj4gICAqIHRoZSBjYXBzIHJldHVybmVkIGZyb20NCj4+ID4+ID4+ ID4+ID4+PiBldmVudGRldl9ldGhfcnhfYWRhcHRlcl9jYXBzX2dldCgsDQo+PiA+PiA+PiA+PiA+ ZXRoX3BvcnRfaWQpDQo+PiA+PiA+PiA+PiA+Pj4gQEAgLTE1NzgsNiArMTYxMCw4IEBAIHN0cnVj dCBldmVudGRldl9vcHMgew0KPj4gPj4gPj4gPj4gPj4+ICAJLyoqPCBHZXQgZXRoZXJuZXQgUngg YWRhcHRlciBjYXBhYmlsaXRpZXMgKi8NCj4+ID4+ID4+ID4+ID4+PiAgCWV2ZW50ZGV2X2V0aF9y eF9hZGFwdGVyX3F1ZXVlX2FkZF90DQo+PiA+PiA+ZXRoX3J4X2FkYXB0ZXJfcXVldWVfYWRkOw0K Pj4gPj4gPj4gPj4gPj4+ICAJLyoqPCBBZGQgUnggcXVldWVzIHRvIGV0aGVybmV0IFJ4IGFkYXB0 ZXIgKi8NCj4+ID4+ID4+ID4+ID4+PiArCWV2ZW50ZGV2X2V0aF9yeF9hZGFwdGVyX3F1ZXVlc19h ZGRfdA0KPj4gPj4gPj4gPj4gPj4+IGV0aF9yeF9hZGFwdGVyX3F1ZXVlc19hZGQ7DQo+PiA+PiA+ PiA+PiA+Pj4gKwkvKio8IEFkZCBSeCBxdWV1ZXMgdG8gZXRoZXJuZXQgUnggYWRhcHRlciAqLw0K Pj4gPj4gPj4gPj4gPj4+ICAJZXZlbnRkZXZfZXRoX3J4X2FkYXB0ZXJfcXVldWVfZGVsX3QNCj4+ ID4+ID5ldGhfcnhfYWRhcHRlcl9xdWV1ZV9kZWw7DQo+PiA+PiA+PiA+PiA+Pj4gIAkvKio8IERl bGV0ZSBSeCBxdWV1ZXMgZnJvbSBldGhlcm5ldCBSeCBhZGFwdGVyICovDQo+PiA+PiA+PiA+PiA+ Pj4gIAlldmVudGRldl9ldGhfcnhfYWRhcHRlcl9xdWV1ZV9jb25mX2dldF90DQo+PiA+PiA+PiA+ PiA+Pj4gZXRoX3J4X2FkYXB0ZXJfcXVldWVfY29uZl9nZXQ7IGRpZmYgLS1naXQNCj4+ID4+ID4+ ID4+ID4+PiBhL2xpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuaA0KPj4gPj4g Pj4gPj4gPj4+IGIvbGliL2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRlci5oDQo+PiA+ PiA+PiA+PiA+Pj4gaW5kZXggOTIzN2UxOThhNy4uOWE1YzU2MGI2NyAxMDA2NDQNCj4+ID4+ID4+ ID4+ID4+PiAtLS0gYS9saWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmgNCj4+ ID4+ID4+ID4+ID4+PiArKysgYi9saWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVy LmgNCj4+ID4+ID4+ID4+ID4+PiBAQCAtNTUzLDYgKzU1Myw0MCBAQCBpbnQNCj4+ID4+ID4+ID4+ IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9xdWV1ZV9hZGQodWludDhfdA0KPj4gPj4gPj4gPj4g Pj4+IGlkLA0KPj4gPj4gPj4gPj4gPj4+ICAJCQlpbnQzMl90IHJ4X3F1ZXVlX2lkLA0KPj4gPj4g Pj4gPj4gPj4+ICAJCQljb25zdCBzdHJ1Y3QNCj4+ID4+ID5ydGVfZXZlbnRfZXRoX3J4X2FkYXB0 ZXJfcXVldWVfY29uZg0KPj4gPj4gPj4gPj4gPj4+ICpjb25mKTsNCj4+ID4+ID4+ID4+ID4+Pg0K Pj4gPj4gPj4gPj4gPj4+ICsvKioNCj4+ID4+ID4+ID4+ID4+PiArICogQWRkIG11bHRpcGxlIHJl Y2VpdmUgcXVldWVzIHRvIGFuIGV2ZW50IGFkYXB0ZXIuDQo+PiA+PiA+PiA+PiA+Pj4gKyAqDQo+ PiA+PiA+PiA+PiA+Pj4gKyAqIEBwYXJhbSBpZA0KPj4gPj4gPj4gPj4gPj4+ICsgKiAgQWRhcHRl ciBpZGVudGlmaWVyLg0KPj4gPj4gPj4gPj4gPj4+ICsgKg0KPj4gPj4gPj4gPj4gPj4+ICsgKiBA cGFyYW0gZXRoX2Rldl9pZA0KPj4gPj4gPj4gPj4gPj4+ICsgKiAgUG9ydCBpZGVudGlmaWVyIG9m IEV0aGVybmV0IGRldmljZS4NCj4+ID4+ID4+ID4+ID4+PiArICoNCj4+ID4+ID4+ID4+ID4+PiAr ICogQHBhcmFtIHJ4X3F1ZXVlX2lkDQo+PiA+PiA+PiA+PiA+Pj4gKyAqICBBcnJheSBvZiBFdGhl cm5ldCBkZXZpY2UgcmVjZWl2ZSBxdWV1ZSBpbmRpY2VzLg0KPj4gPj4gPj4gPj4gPj4+ICsgKiAg SWYgbmJfcnhfcXVldWVzIGlzIDAsIHRoZW4gcnhfcXVldWVfaWQgaXMgaWdub3JlZC4NCj4+ID4+ ID4+ID4+ID4+PiArICoNCj4+ID4+ID4+ID4+ID4+PiArICogQHBhcmFtIGNvbmYNCj4+ID4+ID4+ ID4+ID4+PiArICogIEFycmF5IG9mIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmVz IG9mIHR5cGUNCj4+ID4+ID4+ID4+ID4+PiArICogICpydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJf cXVldWVfY29uZiouIGNvbmZbaV0gaXMgdXNlZA0KPj4gPj4gPj4gPj4gPj4+ICtmb3INCj4+ID4+ ID4+ID4+ID4+PiByeF9xdWV1ZV9pZFtpXS4NCj4+ID4+ID4+ID4+ID4+PiArICogIElmIG5iX3J4 X3F1ZXVlcyBpcyAwLCB0aGVuIGNvbmZbMF0gaXMgdXNlZCBmb3IgYWxsIFJ4IHF1ZXVlcy4NCj4+ ID4+ID4+ID4+ID4+PiArICoNCj4+ID4+ID4+ID4+ID4+PiArICogQHBhcmFtIG5iX3J4X3F1ZXVl cw0KPj4gPj4gPj4gPj4gPj4+ICsgKiAgTnVtYmVyIG9mIHJlY2VpdmUgcXVldWVzIHRvIGFkZC4N Cj4+ID4+ID4+ID4+ID4+PiArICogIElmIG5iX3J4X3F1ZXVlcyBpcyAwLCB0aGVuIGFsbCBSeCBx dWV1ZXMgY29uZmlndXJlZA0KPj4gPj4gPj4gPj4gPj4+ICtmb3INCj4+ID4+ID4+ID4+ID4+PiAr ICogIHRoZSBkZXZpY2UgYXJlIGFkZGVkIHdpdGggdGhlIHNhbWUgY29uZmlndXJhdGlvbiBpbiBj b25mWzBdLg0KPj4gPj4gPj4gPj4gPj4+ICsgKiBAc2VlIFJURV9FVkVOVF9FVEhfUlhfQURBUFRF Ul9DQVBfTVVMVElfRVZFTlRRDQo+PiA+PiA+PiA+PiA+Pj4gKyAqDQo+PiA+PiA+PiA+PiA+Pj4g KyAqIEByZXR1cm4NCj4+ID4+ID4+ID4+ID4+PiArICogIC0gMDogU3VjY2VzcywgUmVjZWl2ZSBx dWV1ZXMgYWRkZWQgY29ycmVjdGx5Lg0KPj4gPj4gPj4gPj4gPj4+ICsgKiAgLSA8MDogRXJyb3Ig Y29kZSBvbiBmYWlsdXJlLg0KPj4gPj4gPj4gPj4gPj4+ICsgKi8NCj4+ID4+ID4+ID4+ID4+PiAr X19ydGVfZXhwZXJpbWVudGFsDQo+PiA+PiA+PiA+PiA+Pj4gK2ludCBydGVfZXZlbnRfZXRoX3J4 X2FkYXB0ZXJfcXVldWVzX2FkZCgNCj4+ID4+ID4+ID4+ID4+PiArCQkJdWludDhfdCBpZCwgdWlu dDE2X3QgZXRoX2Rldl9pZCwgaW50MzJfdA0KPj4gPj4gPj4gPj4gPj4+IHJ4X3F1ZXVlX2lkW10s DQo+PiA+PiA+PiA+PiA+Pj4gKwkJCWNvbnN0IHN0cnVjdA0KPj4gPj4gPj4gcnRlX2V2ZW50X2V0 aF9yeF9hZGFwdGVyX3F1ZXVlX2NvbmYNCj4+ID4+ID4+ID4+ID4+PiBjb25mW10sDQo+PiA+PiA+ PiA+PiA+Pj4gKwkJCXVpbnQxNl90IG5iX3J4X3F1ZXVlcyk7DQo+PiA+PiA+PiA+PiA+Pj4gKw0K Pj4gPj4gPj4gPj4gPj4+ICAvKioNCj4+ID4+ID4+ID4+ID4+PiAgICogRGVsZXRlIHJlY2VpdmUg cXVldWUgZnJvbSBhbiBldmVudCBhZGFwdGVyLg0KPj4gPj4gPj4gPj4gPj4+ICAgKg0KPj4gPj4g Pj4gPj4gPj4+IC0tDQo+PiA+PiA+PiA+PiA+Pj4gMi4yNS4xDQoNCg==