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 786414609A; Thu, 16 Jan 2025 07:27:46 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2C5CF4025F; Thu, 16 Jan 2025 07:27:46 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 0061640156 for ; Thu, 16 Jan 2025 07:27:44 +0100 (CET) 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 50G6IpEn022486; Wed, 15 Jan 2025 22:27:44 -0800 Received: from nam12-mw2-obe.outbound.protection.outlook.com (mail-mw2nam12lp2048.outbound.protection.outlook.com [104.47.66.48]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 446vqv00gg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 15 Jan 2025 22:27:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xFD3mqCdR/aH8203KTyFEunwSDInYTHukleOQt1KJOBSqSYSH/kkOmriSN8MKoDQYBszmwg/xIdCNjcgUa3Hn/te10R/Glyml4bOKiwW+uCMJ7GGXN1vJaI+dfr8EUB3FXUlVKmYifXhbW22tAbDBLWDb53bjO2Mcbq7yv9JGL9hYNdGhC83i61Woqvre9ZVcXgueFuthluB8mr+otscyRR1+uT2sJmsRtFFkj6Xz/offcB1ZVzDHjOLK5IVtibg4Ai2lD+G4G8S+MIaWJ+PFNBPNj3qSEZBztjT4Aet8wiRijiWU7EifesNExwXak7NCn+Nt8VsAP5sBdE+zGJ7SQ== 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=nsoMpl/6WHxrh7VVDZc/Yi3jLuKL04eBJNnXSEjkPjk=; b=L4GsOQ4TMdMJbtl04IoidTWCrAn00ZO/UAcNKjCIEfkDFLw4UoGF50PQ/Awatxkk5stQQrPgRZrikLfzjNHOKgb7FNNsVwYmXRsT5nAluyCDT9VbnkEk8ednDruk1QRgZeMtQWf+lXPqI1UeSKl6u3e3FXQjU9pGGDXnDh1q0c4eAoiqoVRnKoovNEsBqaCP2AapYAwUdutzHQSSGNSYqcoykPOM9AaVJZ1D5cqc5GCOTtHVhOcP2YydmPy76UA3glxz+5xGqZQxB0DHsBYQvCGm55O0dqUHw60vea697rYaV0wrFZt1OrC1Yr966UvkZ58cyrLmSNNtAbhLVPqKHg== 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=nsoMpl/6WHxrh7VVDZc/Yi3jLuKL04eBJNnXSEjkPjk=; b=hGsb0uIvf7rkpRzsUFjOvsJzDz0cHqy7mbpuScMUpTS1jMVCqdNsDFbZQdvQpaTf/HmOjBuOUtjLvajIyKfvjnnbpn5GR4JYPgF4pvRcHFtkg7mvf4igenjE7HrENznyDhbsQdegeFhkHOOORdZGoS1l8Wvy97ACuEiM1Ej2kAs= Received: from PH0PR18MB4425.namprd18.prod.outlook.com (2603:10b6:510:ef::13) by CH4PR18MB6359.namprd18.prod.outlook.com (2603:10b6:610:22b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8356.13; Thu, 16 Jan 2025 06:27:41 +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.010; Thu, 16 Jan 2025 06:27:40 +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+bLyeVCAgBDQUpCAEXfmwIADdk2AgADih7A= Date: Thu, 16 Jan 2025 06:27:40 +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_|CH4PR18MB6359:EE_ x-ms-office365-filtering-correlation-id: 82cf173e-45c3-4a95-d630-08dd35f6e0df x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|7416014|1800799024|376014|366016|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?RlVKY3lQOUhJMENpak1MMnFGSmp2eXpzN2dpdCtUY1IwbDJ3V1hRcGkvbWpP?= =?utf-8?B?TExUU3dodFNhMmZmT2xXcWpqK2ZkSkdET2ZrSmVxOXZ2VGl4allpNStPa2Y1?= =?utf-8?B?SWpKTzRLeVlSbjBCVCtCb2dzbDZyenNqSFVUMWNwbGtnR2U3WkpVY1NKaWls?= =?utf-8?B?R2NCbGxuZm1ldWdpaDFueHpqTW9yTmdpWXJ3M21yZEVORkdOdEZ4Ym9YUUs4?= =?utf-8?B?YnpEOUdCNmliM1NXQ0dTU20zcVljakNqMDhhZkRDdmpxV0lFUUZzcURPaXB1?= =?utf-8?B?ZytIcStSUnhxbVhyTmtYSXVwcUcvbzVOLzcyQ3hwNkl4VGt4QUE3RFRaYlI1?= =?utf-8?B?dUxZRmRablhEWXZkU0Y4anhHSW9uN24xUEJKc1pRN0JkdzFnbXNER2dVbEow?= =?utf-8?B?dG9vMi85RGZpb2lTblVseFZndDZBYjVhdmJrbG1MMWdjZ3cvcEZCU3pWdWQx?= =?utf-8?B?ZnM2Z3JTTTExUVFNcEdPZVdEbWNpN0RsZnRnbHZhS3krRkRtcUlDUWRJODB3?= =?utf-8?B?Q0dmZmFKZGwyRG5maWxIK3NPcUpxZk0xaEdJcEd4dWI0ZVk5dnJ0WnZUVEp0?= =?utf-8?B?aXZvV0RTbXV2SWxtY0dJTjlYZHpLOFhZNE9udVlkbk11dW82Sm1CeU5Qa05E?= =?utf-8?B?Z0ZKR1hoT1ZSeFpILzVFMVIxa0FyaEVFRkVORjBFclU0b3FXZUMyQk9DakRG?= =?utf-8?B?MWZqelNRQ3dYMlJNbkdvTWN4UDVqeHcrck9YSXdxMElmMzZDNGh5dFhyZ1lV?= =?utf-8?B?MGJhVUs1RXJsQ1F3UHpkaDRNYTk0aHBvQ0pZRDh3QTVKYjBvM1VtUlNGb1p4?= =?utf-8?B?YlZSY2xVcVVPSkJJUFQzdzUrTWplUk5NK25rNUlNdGZSOFgxd3VzWlF3VHN2?= =?utf-8?B?MHFKRWJPK01kYVRFMWp3b0pEQUFoekpZN2pqUWhQWjhsTVpta05KYjZjaVBh?= =?utf-8?B?SVJrS0l4ckVXM0NQUERjYnZVVEVFcExEd0JXb2t6WlNhakdheTBrNlFGYitz?= =?utf-8?B?MmdTUzRrcXR6cHhlVmtDM2Fnd1hPMWRVb2gwYzZiZnNIU25yTmFsSHJDaG1Q?= =?utf-8?B?Z0FmeFZFb05JSWUzVTgvTmN6N2NUSVhlamhscVpPcXFxNWQ3VVFOWXAwSCtK?= =?utf-8?B?QzB5OVdNcVkwTi9Wdk1GYTNsN1FpdUZsd3N2Yld3ZkpPN2Z6eUUrb0ErSmdo?= =?utf-8?B?UEJPZmQvVUU4RktFK3VtT2VDd3VpbFFramM0WkhTTllidXdqUDB4eFhManJt?= =?utf-8?B?NXhFWGp5ZlN4QlJaY1MwSUU2akQ5NlMvZUl2MU9qV29SZWRUeXRYVXhZTzFK?= =?utf-8?B?THQyY1d1V1dCQUJIbTcwL2xvdjNnSTBDcGxDRGdFZmNyQytZODdxbkNLdUFp?= =?utf-8?B?T3M1bnQ1MHA0Q0p1VStxbGpWMW5HNzNncUR0c21ENFNydWRQRHdmR0YvaU5H?= =?utf-8?B?dGJhalBJY1ZyTXdvNi9zSkIyaDZIMXVTOXdhSFJ5enVEQk9lQ0VtRkVDM3Bq?= =?utf-8?B?Mi8rWW9BYXBQSzE2TWxvVFJrakZnVlNqR25mZEhyQVk1RDNJK0d2U21YdVRH?= =?utf-8?B?WUt4WnBoTC9BRkxvNnMrVHNRRHFHSjNwc2EwMk51VFNPSnhSSmQrZFdxblJi?= =?utf-8?B?RXpwZ3VBRVVGUFRHNlRRdDVocDVXVHlTaGJrZXE0ZWRNZ24yVjd2SmpnY0Ro?= =?utf-8?B?aFZLaWdqUFQ4elNuZWdIcnB4YXZMWHdTT2R5YVdkSE9RYm5IWlZrVFE0alBk?= =?utf-8?B?TjRLUm1xRWtJU3lsQmNNNUNLN3BEWDNOd0N0L0ptbTQ2SlBBK1p5V0tjSHZp?= =?utf-8?B?UC9Gd2pHMC9GS1ZCeStVSHRrTHV6U3Zhb2lkbjZPZDg1aUVFNWRKVDJ0MXEr?= =?utf-8?B?SlVjVU5OS1lETkNpRDZiRGVaS285cmRFaXJkNnJVRU5rcEpBbXV0YzZaRis4?= =?utf-8?Q?1FXgkATIK86Z9JNFQnnXL/Lh1eXjD7RZ?= 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)(7416014)(1800799024)(376014)(366016)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eUhlOXoyZkhIL1B6TVVLSmtESHpzT25zd1pIMUZFd2cyY2x3U0dzb21kNk5M?= =?utf-8?B?NzQyOGl0TVFmZFJQaFVYcm5UMmFZYkF2U05vL25CSzF5N3FFcXc2ano0TFVG?= =?utf-8?B?MU4rZEg3NUt4VVNCVndKb1QzQ1A1M1FtWGV3dFB1dEpJOFlRTkFrSDVlTWNi?= =?utf-8?B?R0FHREUvb2FucGovZFBkTkRxTEhBMUU0dWpSeTEzR3d0VncxaUZkTkszdXRD?= =?utf-8?B?UmhmUEVzTVhjZk5WdnZaMDA0MlhxdWhGSDRMMW1OYWE3blV4VnBzakYzWjVx?= =?utf-8?B?TXRWMFJpRFErTDRCTTc1MzI5cXd6ZE9pU1hMV1FmTStjR0lxdTUxc3dLRHJZ?= =?utf-8?B?bkFOcmdCWjBybXlGM0ZFUTBMbEg3d0h5Lzh3aHdkYUdMRzhNOU9FOFdyNTRX?= =?utf-8?B?cUxraU94aU1CMHhMeWNGb3hMa2d2K1o5cDN0RElaenBxRUo0RTVHMXlueHF5?= =?utf-8?B?dzFTS243aFkzSzA3ZzlPNmRzZUg3am42Y2hzaWJTOVpZdXA2U3puSW1LWDhu?= =?utf-8?B?RWVNL3VqWXN5U3hlZ0JmamdhVjIzeW1HbkpzNzFQZEhFQzJiQUg1QkxuczdP?= =?utf-8?B?YWQyTE1uZjkwcVVhQUl4SjFlcjZaTWJrbWt5a3VZS3BkSzRUKzd5UWtmbGpC?= =?utf-8?B?MGJPSTFyVE5KNGlHeS9qNENBdEYvaktNSklQZ2FnZ25odnd4TTFtZ0dNOGMr?= =?utf-8?B?OWFqUTVSNEhTd0FEeHByc2wzM2NTQnp4cjZRQU9CRlVyRjArQTM1S1FNUldp?= =?utf-8?B?ZDNkcWh2dVpxaVpxNnZpN1Q1UkRIZmpNU0taYXBJNzhTQktseUxocHpndTJy?= =?utf-8?B?dlJEa2JCNmdYRGw3MXBBTFdVN2xkeURUYS95dGE0anc0Vk1jb1BXVyt3dzJZ?= =?utf-8?B?YnVJZlNqUHJBVW5mVlZaSlNXUjJhVmJqbG9yU21lMmJheHpEVFpyTFM2UzQ3?= =?utf-8?B?eXBJeXo1ZWYzVzhaVys4eks2QlJxMzJqVmwzdU5EWEpyZ0h6MStJNGZ0Mzgy?= =?utf-8?B?SnpMR3RMU2YzaCt1aU5HdFdtNVduam91UXlVL093dmJaUEhqczdSMnZYWk82?= =?utf-8?B?WUhoMjlYZ2lmUlRMR2RaWW5OYktuT1lVZkFZTkk1QmtveVg5WS9WdHFUbGsr?= =?utf-8?B?SzF2eFhYZ2JaekZBRTZWSFNjRS93WjJyalMwckw4SVN4SjdNdW41TkthMXFa?= =?utf-8?B?V01hWmoxNHVxdlBGWERhYzdqMzRRd0lvR0xnYWcvWTBVcUFnaXh3clBOUVpN?= =?utf-8?B?QUxlVVU4ZUFCYkNXVXhtdkdpOG1nUUtuaFg4WC9kMHZMN2o4Rlkwa2E5eWpa?= =?utf-8?B?N2huSG83OGgrbDNCQm5aS2k1cEpYNER4eHFMQlBpeUFGclpZb0VWZWhVb0ha?= =?utf-8?B?eFVNbnpQdTBldzFJandpaDhPRTZYdE5MekxlendBSHVnM3VGbm1SZGxzU3Ju?= =?utf-8?B?RHAvM0o2V0pxMTkvN1hybkZsbXF0MktLTUhJcGlQOE9QUmw3aXRRKzhXU3Bu?= =?utf-8?B?VDJZMW56eUJJTzJMcGt4Z2VqZnoyZWFJaVBSWUo1RlB5a0NBWVJSaGEvc1dq?= =?utf-8?B?RkN6K0VRVlVEU0kwanZSZnNQZ1ZzSlM2WGU5SHQzM1FXZVlqcjBTdXZpcUtR?= =?utf-8?B?WWZmR3QzMEdPOG1BSHdwZTVGV2Q3TkVDYU91aENrS1RTZkEvTGpZK042SElX?= =?utf-8?B?cU0vQUxnMlI0YVJIRk9nOVVSd2MrK1dweFczTnlWYVBRV1RSc0VCd1gzQXlw?= =?utf-8?B?OEhlOHdyT3hwcjR5ZURMK1NZb1ZiKzJ1eTR0VFFSN3JUeVR5SHlNR3R4Tkg4?= =?utf-8?B?c01NazRjMXErdmdqaDJSNUQ5WWhRdkhpL1JNZURXb2dBdU41My9kVDNMSjNS?= =?utf-8?B?RmVob3RGbHYrSzYxUzlNTXhBL3hsb1ZobkduQ1plRzRwWlUrclR3WUNQMmxk?= =?utf-8?B?K1N5VlJTdVRmaFIwU1pQWlE2MnRTRGR0M2xQejFBKzY3MzR6UnA4cGEzM2pH?= =?utf-8?B?Mi9xdWxqOCtBYWpHQ3h5UXE3VEhCdU5jdWcxcWF5RmxUUm5KMGpxOEFRdVhC?= =?utf-8?B?b3NaTUdHYnJ6WXNndm1BMjQ1Ny8waERsdlBpSzB2bmtkN2QwQ3JKM0lVaFpI?= =?utf-8?Q?r0WKoQep0QtV1SrdxZ2OWDsMW?= 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: 82cf173e-45c3-4a95-d630-08dd35f6e0df X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jan 2025 06:27:40.7363 (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: 7MQYKaFfWAI8FzY3QjLuBxPCgC1HKKibB7rzorw7TR+v5xzWUfsb20GdTDD26ZOWD+NDofS/e6QHCf23yCSPjg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH4PR18MB6359 X-Proofpoint-GUID: ez1FEG7-l46kzl6pGe6kBTBfkA2ezbQ2 X-Proofpoint-ORIG-GUID: ez1FEG7-l46kzl6pGe6kBTBfkA2ezbQ2 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-16_02,2025-01-15_02,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 Pj4gPj4+IFRoaXMgUkZDIGludHJvZHVjZXMgYSBuZXcgQVBJLA0KPj4gPj4+IHJ0ZV9ldmVudF9l dGhfcnhfYWRhcHRlcl9xdWV1ZXNfYWRkKCksDQo+PiA+Pj4gZGVzaWduZWQgdG8gZW5oYW5jZSB0 aGUgZmxleGliaWxpdHkgb2YgY29uZmlndXJpbmcgbXVsdGlwbGUgUngNCj4+ID4+PiBxdWV1ZXMg aW4gZXZlbnRkZXYgUnggYWRhcHRlci4NCj4+ID4+Pg0KPj4gPj4+IFRoZSBleGlzdGluZyBydGVf ZXZlbnRfZXRoX3J4X2FkYXB0ZXJfcXVldWVfYWRkKCkgQVBJIHN1cHBvcnRzDQo+PiA+Pj4gYWRk aW5nIG11bHRpcGxlIHF1ZXVlcyBieSBzcGVjaWZ5aW5nIHJ4X3F1ZXVlX2lkID0gLTEsIGJ1dCBp dCBsYWNrcw0KPj4gPj4+IHRoZSBhYmlsaXR5IHRvDQo+PiA+YXBwbHkNCj4+ID4+PiBzcGVjaWZp YyBjb25maWd1cmF0aW9ucyB0byBlYWNoIG9mIHRoZSBhZGRlZCBxdWV1ZXMuDQo+PiA+Pj4NCj4+ ID4+DQo+PiA+PlRoZSBhcHBsaWNhdGlvbiBjYW4gc3RpbGwgdXNlIHRoZSBleGlzdGluZw0KPj4g Pj5ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfcXVldWVfYWRkKCkgQVBJIGluIGEgbG9vcCB3aXRo IGRpZmZlcmVudA0KPj4gPj5jb25maWd1cmF0aW9ucyBmb3IgZGlmZmVyZW50IHF1ZXVlcy4NCj4+ ID4+DQo+PiA+PlRoZSBwcm9wb3NlZCBBUEkgaXMgbm90IGVuYWJsaW5nIG5ldyBmZWF0dXJlcyB0 aGF0IGNhbm5vdCBiZSBhY2hpZXZlZA0KPj4gPj53aXRoIHRoZSBleGlzdGluZyBBUEkuDQo+PiA+ PkFkZGluZyBuZXcgQVBJcyB3aXRob3V0IG11Y2ggdXNlZnVsbmVzcyBjYXVzZXMgdW5uZWNlc3Nh cnkNCj4+ID4+Y29tcGxleGl0eS9jb25mdXNpb24gZm9yIHVzZXJzLg0KPj4gPj4NCj4+ID4NCj4+ ID5UaGUgbmV3IEFQSSB3YXMgaW50cm9kdWNlZCBiZWNhdXNlIHRoZSBleGlzdGluZyBBUEkgZG9l cyBub3Qgc3VwcG9ydA0KPj4gPmFkZGluZyBtdWx0aXBsZSBxdWV1ZXMgd2l0aCBzcGVjaWZpYyBj b25maWd1cmF0aW9ucy4gSXQgc2VydmVzIGFzIGENCj4+ID5idXJzdCB2YXJpYW50IG9mIHRoZSBl eGlzdGluZyBBUEksIGxpa2UgbWFueSBvdGhlciBBUElzIGluIERQREsuDQo+PiA+DQo+DQo+VGhl IG90aGVyIGJ1cnN0IEFQSXMgbWF5IGJlIHRoZXJlIGZvciBkYXRhcGxhbmUgZnVuY3Rpb25hbGl0 aWVzLCBidXQgbWF5IG5vdCBiZQ0KPmZvciB0aGUgY29udHJvbCBwbGFuZSBmdW5jdGlvbmFsaXRp ZXMuDQo+DQoNCnJ0ZV9hY2xfYWRkX3J1bGVzKCkgaXMgYW4gZXhhbXBsZSBvZiBidXJzdCBBUEkg aW4gY29udHJvbCBwYXRoLg0KDQo+PiA+Rm9yIGJldHRlciBjbGFyaXR5LCB0aGUgQVBJIGNhbiBi ZSByZW5hbWVkIHRvDQo+PiA+cnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX3F1ZXVlX2FkZF9idXJz dCgpIGlmIG5lZWRlZC4NCj4+ID4NCj4+ID5JbiBoYXJkd2FyZSwgYWRkaW5nIGVhY2ggcXVldWUg aW5kaXZpZHVhbGx5IGluY3VycyBzaWduaWZpY2FudA0KPj4gPm92ZXJoZWFkcywgc3VjaCBhcyBt YWlsYm94IG9wZXJhdGlvbnMuIEEgYnVyc3QgQVBJIGhlbHBzIHRvIGFtb3J0aXplDQo+PiA+dGhp cyBvdmVyaGVhZC4gU2luY2UgcmVhbC0gd29ybGQgYXBwbGljYXRpb25zIG9mdGVuIGNhbGwgdGhl IEFQSSB3aXRoDQo+PiA+c3BlY2lmaWMgcXVldWVfaWRzLCB0aGUgYnVyc3QgQVBJIGNhbiBwcm92 aWRlIGNvbnNpZGVyYWJsZSBiZW5lZml0cy4NCj4+ID5UZXN0aW5nIHNob3dzIGEgNzUlIHJlZHVj dGlvbiBpbiB0aW1lIHdoZW4gYWRkaW5nIG11bHRpcGxlIHF1ZXVlcyB0bw0KPj4gPnRoZSBSWCBh ZGFwdGVyIHVzaW5nIHRoZSBidXJzdCBBUEkgb24gb3VyIHBsYXRmb3JtLg0KPj4gPg0KPg0KPiBB cyBiYXRjaGluZyBoZWxwcyBmb3IgYSBwYXJ0aWN1bGFyIGhhcmR3YXJlIGRldmljZSwgdGhpcyBt YXkgbm90IGJlIGFwcGxpY2FibGUNCj5mb3IgYWxsIHBsYXRmb3Jtcy9jYXNlcy4NCj4JU2luY2Ug cXVldWVfYWRkIGlzIGEgY29udHJvbCBwbGFuZSBvcGVyYXRpb24sIGxhdGVuY3kgbWF5IG5vdCBi ZSBhDQo+Y29uY2Vybi4NCg0KSW4gY2VydGFpbiB1c2UgY2FzZXMsIHRoZXNlIEFQSXMgY2FuIGJl IGNvbnNpZGVyZWQgc2VtaS1mYXN0IHBhdGguIEZvciBpbnN0YW5jZSwNCmluIGFuIGFwcGxpY2F0 aW9uIHRoYXQgaG90cGx1Z3MgYSBwb3J0IG9uIGRlbWFuZCwgY29uZmlndXJpbmcgYWxsIGF2YWls YWJsZQ0KcXVldWVzIHNpbXVsdGFuZW91c2x5IGNhbiBzaWduaWZpY2FudGx5IHJlZHVjZSBsYXRl bmN5Lg0KDQo+SG93IHRvIHNwZWNpZnkgYSBwYXJ0aWN1bGFyIHNldChzcGVjaWZpYyBxdWV1ZV9p ZHMpIG9mIHJ4X3F1ZXVlcyB0aGF0IGhhcyBhIG5vbi0NCj56ZXJvIHN0YXJ0IGluZGV4IHdpdGgg dGhlIG5ldyBwcm9wb3NlZCBBUEk/DQoNCkluIHRoZSBwcm9wb3NlZCBBUEksDQppbnQgcnRlX2V2 ZW50X2V0aF9yeF9hZGFwdGVyX3F1ZXVlc19hZGQoDQogICAgICAgICAgICAgICAgICAgICAgICB1 aW50OF90IGlkLCB1aW50MTZfdCBldGhfZGV2X2lkLCBpbnQzMl90IHJ4X3F1ZXVlX2lkW10sDQog ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50X2V0aF9yeF9hZGFw dGVyX3F1ZXVlX2NvbmYgY29uZltdLA0KICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3Qg bmJfcnhfcXVldWVzKTsNCnJ4X3F1ZXVlc19pZCBpcyBhbiBhcnJheSBjb250YWluaW5nIHRoZSBy ZWNlaXZlIHF1ZXVlcyBpZHMsIHdoaWNoIGNhbiBzdGFydA0KZnJvbSBhIG5vbi16ZXJvIHZhbHVl LiBUaGUgYXJyYXkgaW5kZXggaXMgdXNlZCBzb2xlbHkgdG8gbG9jYXRlIHRoZQ0KY29ycmVzcG9u ZGluZyBxdWV1ZV9jb25mLiBGb3IgZXhhbXBsZSwgcnhfcXVldWVzX2lkW2ldIHdpbGwgdXNlIGNv bmZbaV0uDQoNCj4JU2luY2UgdGhpcyBpcyBzdGlsbCBub3QgcG9zc2libGUgd2l0aCB0aGUgcHJv cG9zZWQgQVBJLCB0aGUgZXhpc3RpbmcNCj5xdWV1ZV9hZGQgQVBJIG5lZWRzIHRvIGJlIHVzZWQg d2l0aCBzcGVjaWZpYyBxdWV1ZV9pZHMgYW5kIHRoZWlyDQo+Y29uZmlndXJhdGlvbnMuDQo+DQo+ PiA+SSBjYW4gbW9kaWZ5IHRoZSBvbGQgQVBJIGltcGxlbWVudGF0aW9uIHRvIGFjdCBhcyBhIHdy YXBwZXIgYXJvdW5kIHRoZQ0KPj4gPmJ1cnN0IEFQSSwgd2l0aCBudW1iZXIgb2YgcXVldWVzIGVx dWFsIHRvIDEuIElmIGNvbmNlcm5zIHJlbWFpbiwgd2UgY2FuDQo+PiA+ZXhwbG9yZSBkZXByZWNh dGlvbiBhcyBhbiBhbHRlcm5hdGl2ZS4NCj4+ID4NCj4+DQo+PiBQbGVhc2UgbGV0IG1lIGtub3cg aWYgeW91IGhhdmUgYW55IHN1Z2dlc3Rpb25zL2ZlZWRiYWNrIG9uIHdoYXQgSSBzYWlkDQo+PiBh Ym92ZS4NCj4NCj5TdGlsbCBmZWVsIHRoZSBuZXcgcHJvcG9zZWQgQVBJIGNhbiBiZSBhdm9pZGVk IGFzIGl0IGxvb2tzIGxpa2UgYSBkaWZmZXJlbnQNCj5jb21iaW5hdGlvbiBvZiBleGlzdGluZyBB UEkgaW5zdGVhZCBvZiBhZGRpbmcgc29tZSBuZXcgZmVhdHVyZXMuDQo+DQo+PiBJZiBub3QsIEkg Y2FuIGdvIGFoZWFkIGFuZCBzZW5kIHYxLg0KPj4NCj4+ID4+PiBUaGUgcHJvcG9zZWQgQVBJLCBy dGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfcXVldWVzX2FkZCwgYWRkcmVzc2VzDQo+PiA+Pj4gdGhp cyBsaW1pdGF0aW9uIGJ5Og0KPj4gPj4+DQo+PiA+Pj4gLSBFbmFibGluZyB1c2VycyB0byBzcGVj aWZ5IGFuIGFycmF5IG9mIHJ4X3F1ZXVlX2lkIHZhbHVlcyBhbG9uZ3NpZGUNCj4+ID4+PiAgIGlu ZGl2aWR1YWwgY29uZmlndXJhdGlvbnMgZm9yIGVhY2ggcXVldWUuDQo+PiA+Pj4NCj4+ID4+PiAt IFN1cHBvcnRpbmcgYSBuYl9yeF9xdWV1ZXMgYXJndW1lbnQgdG8gZGVmaW5lIHRoZSBudW1iZXIg b2YgcXVldWVzDQo+dG8NCj4+ID4+PiAgIGNvbmZpZ3VyZS4gV2hlbiBzZXQgdG8gMCwgdGhlIEFQ SSBhcHBsaWVzIGEgY29tbW9uIGNvbmZpZ3VyYXRpb24gdG8NCj4+ID4+PiAgIGFsbCBxdWV1ZXMs IHNpbWlsYXIgdG8gdGhlIGV4aXN0aW5nIHJ4X3F1ZXVlX2lkID0gLTEgYmVoYXZpb3IuDQo+PiA+ Pj4NCj4+ID4+PiBUaGlzIGVuaGFuY2VtZW50IGFsbG93cyBmb3IgbW9yZSBncmFudWxhciBjb250 cm9sIHdoZW4gY29uZmlndXJpbmcNCj4+ID5tdWx0aXBsZQ0KPj4gPj4+IFJ4IHF1ZXVlcy4gQWRk aXRpb25hbGx5LCB0aGUgQVBJIGNhbiBhY3QgYXMgYSByZXBsYWNlbWVudCBmb3IgdGhlDQo+PiA+ Pj4gb2xkZXIgQVBJLCBvZmZlcmluZyBib3RoIGZsZXhpYmlsaXR5IGFuZCBpbXByb3ZlZCBmdW5j dGlvbmFsaXR5Lg0KPj4gPj4+DQo+PiA+Pj4gU2lnbmVkLW9mZi1ieTogU2hpaml0aCBUaG90dG9u IDxzdGhvdHRvbkBtYXJ2ZWxsLmNvbT4NCj4+ID4+PiAtLS0NCj4+ID4+PiAgbGliL2V2ZW50ZGV2 L2V2ZW50ZGV2X3BtZC5oICAgICAgICAgICAgIHwgMzQNCj4+ICsrKysrKysrKysrKysrKysrKysr KysrKysNCj4+ID4+PiAgbGliL2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRlci5oIHwg MzQNCj4+ID4+PiArKysrKysrKysrKysrKysrKysrKysrKysrDQo+PiA+Pj4gIDIgZmlsZXMgY2hh bmdlZCwgNjggaW5zZXJ0aW9ucygrKQ0KPj4gPj4+DQo+PiA+Pj4gZGlmZiAtLWdpdCBhL2xpYi9l dmVudGRldi9ldmVudGRldl9wbWQuaA0KPj4gPj4+IGIvbGliL2V2ZW50ZGV2L2V2ZW50ZGV2X3Bt ZC5oIGluZGV4IDM2MTQ4ZjhkODYuLjJlNDU4YTk3NzkNCj4+IDEwMDY0NA0KPj4gPj4+IC0tLSBh L2xpYi9ldmVudGRldi9ldmVudGRldl9wbWQuaA0KPj4gPj4+ICsrKyBiL2xpYi9ldmVudGRldi9l dmVudGRldl9wbWQuaA0KPj4gPj4+IEBAIC0yNSw2ICsyNSw3IEBADQo+PiA+Pj4gICNpbmNsdWRl IDxydGVfbWJ1Zl9keW4uaD4NCj4+ID4+Pg0KPj4gPj4+ICAjaW5jbHVkZSAiZXZlbnRfdGltZXJf YWRhcHRlcl9wbWQuaCINCj4+ID4+PiArI2luY2x1ZGUgInJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRl ci5oIg0KPj4gPj4+ICAjaW5jbHVkZSAicnRlX2V2ZW50ZGV2LmgiDQo+PiA+Pj4NCj4+ID4+PiAg I2lmZGVmIF9fY3BsdXNwbHVzDQo+PiA+Pj4gQEAgLTcwOCw2ICs3MDksMzcgQEAgdHlwZWRlZiBp bnQNCj4+ID4+PiAoKmV2ZW50ZGV2X2V0aF9yeF9hZGFwdGVyX3F1ZXVlX2FkZF90KSgNCj4+ID4+ PiAgCQlpbnQzMl90IHJ4X3F1ZXVlX2lkLA0KPj4gPj4+ICAJCWNvbnN0IHN0cnVjdCBydGVfZXZl bnRfZXRoX3J4X2FkYXB0ZXJfcXVldWVfY29uZg0KPj4gPj4+ICpxdWV1ZV9jb25mKTsNCj4+ID4+ Pg0KPj4gPj4+ICsvKioNCj4+ID4+PiArICogQWRkIGV0aGVybmV0IFJ4IHF1ZXVlcyB0byBldmVu dCBkZXZpY2UuIFRoaXMgY2FsbGJhY2sgaXMgaW52b2tlZA0KPj4gPj4+ICtpZg0KPj4gPj4+ICsg KiB0aGUgY2FwcyByZXR1cm5lZCBmcm9tIHJ0ZV9ldmVudGRldl9ldGhfcnhfYWRhcHRlcl9jYXBz X2dldCgsDQo+PiA+Pj4gK2V0aF9wb3J0X2lkKQ0KPj4gPj4+ICsgKiBoYXMgUlRFX0VWRU5UX0VU SF9SWF9BREFQVEVSX0NBUF9JTlRFUk5BTF9QT1JUIHNldC4NCj4+ID4+PiArICoNCj4+ID4+PiAr ICogQHBhcmFtIGRldg0KPj4gPj4+ICsgKiAgIEV2ZW50IGRldmljZSBwb2ludGVyDQo+PiA+Pj4g KyAqDQo+PiA+Pj4gKyAqIEBwYXJhbSBldGhfZGV2DQo+PiA+Pj4gKyAqICAgRXRoZXJuZXQgZGV2 aWNlIHBvaW50ZXINCj4+ID4+PiArICoNCj4+ID4+PiArICogQHBhcmFtIHJ4X3F1ZXVlX2lkDQo+ PiA+Pj4gKyAqICAgRXRoZXJuZXQgZGV2aWNlIHJlY2VpdmUgcXVldWUgaW5kZXggYXJyYXkNCj4+ ID4+PiArICoNCj4+ID4+PiArICogQHBhcmFtIHF1ZXVlX2NvbmYNCj4+ID4+PiArICogICBBZGRp dGlvbmFsIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlIGFycmF5DQo+PiA+Pj4gKyAqDQo+PiA+Pj4g KyAqIEBwYXJhbSBuYl9yeF9xdWV1ZXMNCj4+ID4+PiArICogICBOdW1iZXIgb2YgZXRoZXJuZXQg ZGV2aWNlIHJlY2VpdmUgcXVldWVzDQo+PiA+Pj4gKyAqDQo+PiA+Pj4gKyAqIEByZXR1cm4NCj4+ ID4+PiArICogICAtIDA6IFN1Y2Nlc3MsIGV0aGVybmV0IHJlY2VpdmUgcXVldWVzIGFkZGVkIHN1 Y2Nlc3NmdWxseS4NCj4+ID4+PiArICogICAtIDwwOiBFcnJvciBjb2RlIHJldHVybmVkIGJ5IHRo ZSBkcml2ZXIgZnVuY3Rpb24uDQo+PiA+Pj4gKyAqLw0KPj4gPj4+ICt0eXBlZGVmIGludCAoKmV2 ZW50ZGV2X2V0aF9yeF9hZGFwdGVyX3F1ZXVlc19hZGRfdCkoDQo+PiA+Pj4gKwkJY29uc3Qgc3Ry dWN0IHJ0ZV9ldmVudGRldiAqZGV2LA0KPj4gPj4+ICsJCWNvbnN0IHN0cnVjdCBydGVfZXRoX2Rl diAqZXRoX2RldiwNCj4+ID4+PiArCQlpbnQzMl90IHJ4X3F1ZXVlX2lkW10sDQo+PiA+Pj4gKwkJ Y29uc3Qgc3RydWN0IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9xdWV1ZV9jb25mDQo+PiA+Pj4g cXVldWVfY29uZltdLA0KPj4gPj4+ICsJCXVpbnQxNl90IG5iX3J4X3F1ZXVlcyk7DQo+PiA+Pj4g Kw0KPj4gPj4+ICAvKioNCj4+ID4+PiAgICogRGVsZXRlIGV0aGVybmV0IFJ4IHF1ZXVlcyBmcm9t IGV2ZW50IGRldmljZS4gVGhpcyBjYWxsYmFjayBpcyBpbnZva2VkIGlmDQo+PiA+Pj4gICAqIHRo ZSBjYXBzIHJldHVybmVkIGZyb20gZXZlbnRkZXZfZXRoX3J4X2FkYXB0ZXJfY2Fwc19nZXQoLA0K Pj4gPmV0aF9wb3J0X2lkKQ0KPj4gPj4+IEBAIC0xNTc4LDYgKzE2MTAsOCBAQCBzdHJ1Y3QgZXZl bnRkZXZfb3BzIHsNCj4+ID4+PiAgCS8qKjwgR2V0IGV0aGVybmV0IFJ4IGFkYXB0ZXIgY2FwYWJp bGl0aWVzICovDQo+PiA+Pj4gIAlldmVudGRldl9ldGhfcnhfYWRhcHRlcl9xdWV1ZV9hZGRfdCBl dGhfcnhfYWRhcHRlcl9xdWV1ZV9hZGQ7DQo+PiA+Pj4gIAkvKio8IEFkZCBSeCBxdWV1ZXMgdG8g ZXRoZXJuZXQgUnggYWRhcHRlciAqLw0KPj4gPj4+ICsJZXZlbnRkZXZfZXRoX3J4X2FkYXB0ZXJf cXVldWVzX2FkZF90DQo+PiA+Pj4gZXRoX3J4X2FkYXB0ZXJfcXVldWVzX2FkZDsNCj4+ID4+PiAr CS8qKjwgQWRkIFJ4IHF1ZXVlcyB0byBldGhlcm5ldCBSeCBhZGFwdGVyICovDQo+PiA+Pj4gIAll dmVudGRldl9ldGhfcnhfYWRhcHRlcl9xdWV1ZV9kZWxfdCBldGhfcnhfYWRhcHRlcl9xdWV1ZV9k ZWw7DQo+PiA+Pj4gIAkvKio8IERlbGV0ZSBSeCBxdWV1ZXMgZnJvbSBldGhlcm5ldCBSeCBhZGFw dGVyICovDQo+PiA+Pj4gIAlldmVudGRldl9ldGhfcnhfYWRhcHRlcl9xdWV1ZV9jb25mX2dldF90 DQo+PiA+Pj4gZXRoX3J4X2FkYXB0ZXJfcXVldWVfY29uZl9nZXQ7IGRpZmYgLS1naXQNCj4+ID4+ PiBhL2xpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuaA0KPj4gPj4+IGIvbGli L2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRlci5oDQo+PiA+Pj4gaW5kZXggOTIzN2Ux OThhNy4uOWE1YzU2MGI2NyAxMDA2NDQNCj4+ID4+PiAtLS0gYS9saWIvZXZlbnRkZXYvcnRlX2V2 ZW50X2V0aF9yeF9hZGFwdGVyLmgNCj4+ID4+PiArKysgYi9saWIvZXZlbnRkZXYvcnRlX2V2ZW50 X2V0aF9yeF9hZGFwdGVyLmgNCj4+ID4+PiBAQCAtNTUzLDYgKzU1Myw0MCBAQCBpbnQNCj4+IHJ0 ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9xdWV1ZV9hZGQodWludDhfdA0KPj4gPj4+IGlkLA0KPj4g Pj4+ICAJCQlpbnQzMl90IHJ4X3F1ZXVlX2lkLA0KPj4gPj4+ICAJCQljb25zdCBzdHJ1Y3QgcnRl X2V2ZW50X2V0aF9yeF9hZGFwdGVyX3F1ZXVlX2NvbmYNCj4+ID4+PiAqY29uZik7DQo+PiA+Pj4N Cj4+ID4+PiArLyoqDQo+PiA+Pj4gKyAqIEFkZCBtdWx0aXBsZSByZWNlaXZlIHF1ZXVlcyB0byBh biBldmVudCBhZGFwdGVyLg0KPj4gPj4+ICsgKg0KPj4gPj4+ICsgKiBAcGFyYW0gaWQNCj4+ID4+ PiArICogIEFkYXB0ZXIgaWRlbnRpZmllci4NCj4+ID4+PiArICoNCj4+ID4+PiArICogQHBhcmFt IGV0aF9kZXZfaWQNCj4+ID4+PiArICogIFBvcnQgaWRlbnRpZmllciBvZiBFdGhlcm5ldCBkZXZp Y2UuDQo+PiA+Pj4gKyAqDQo+PiA+Pj4gKyAqIEBwYXJhbSByeF9xdWV1ZV9pZA0KPj4gPj4+ICsg KiAgQXJyYXkgb2YgRXRoZXJuZXQgZGV2aWNlIHJlY2VpdmUgcXVldWUgaW5kaWNlcy4NCj4+ID4+ PiArICogIElmIG5iX3J4X3F1ZXVlcyBpcyAwLCB0aGVuIHJ4X3F1ZXVlX2lkIGlzIGlnbm9yZWQu DQo+PiA+Pj4gKyAqDQo+PiA+Pj4gKyAqIEBwYXJhbSBjb25mDQo+PiA+Pj4gKyAqICBBcnJheSBv ZiBhZGRpdGlvbmFsIGNvbmZpZ3VyYXRpb24gc3RydWN0dXJlcyBvZiB0eXBlDQo+PiA+Pj4gKyAq ICAqcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX3F1ZXVlX2NvbmYqLiBjb25mW2ldIGlzIHVzZWQg Zm9yDQo+PiA+Pj4gcnhfcXVldWVfaWRbaV0uDQo+PiA+Pj4gKyAqICBJZiBuYl9yeF9xdWV1ZXMg aXMgMCwgdGhlbiBjb25mWzBdIGlzIHVzZWQgZm9yIGFsbCBSeCBxdWV1ZXMuDQo+PiA+Pj4gKyAq DQo+PiA+Pj4gKyAqIEBwYXJhbSBuYl9yeF9xdWV1ZXMNCj4+ID4+PiArICogIE51bWJlciBvZiBy ZWNlaXZlIHF1ZXVlcyB0byBhZGQuDQo+PiA+Pj4gKyAqICBJZiBuYl9yeF9xdWV1ZXMgaXMgMCwg dGhlbiBhbGwgUnggcXVldWVzIGNvbmZpZ3VyZWQgZm9yDQo+PiA+Pj4gKyAqICB0aGUgZGV2aWNl IGFyZSBhZGRlZCB3aXRoIHRoZSBzYW1lIGNvbmZpZ3VyYXRpb24gaW4gY29uZlswXS4NCj4+ID4+ PiArICogQHNlZSBSVEVfRVZFTlRfRVRIX1JYX0FEQVBURVJfQ0FQX01VTFRJX0VWRU5UUQ0KPj4g Pj4+ICsgKg0KPj4gPj4+ICsgKiBAcmV0dXJuDQo+PiA+Pj4gKyAqICAtIDA6IFN1Y2Nlc3MsIFJl Y2VpdmUgcXVldWVzIGFkZGVkIGNvcnJlY3RseS4NCj4+ID4+PiArICogIC0gPDA6IEVycm9yIGNv ZGUgb24gZmFpbHVyZS4NCj4+ID4+PiArICovDQo+PiA+Pj4gK19fcnRlX2V4cGVyaW1lbnRhbA0K Pj4gPj4+ICtpbnQgcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX3F1ZXVlc19hZGQoDQo+PiA+Pj4g KwkJCXVpbnQ4X3QgaWQsIHVpbnQxNl90IGV0aF9kZXZfaWQsIGludDMyX3QNCj4+ID4+PiByeF9x dWV1ZV9pZFtdLA0KPj4gPj4+ICsJCQljb25zdCBzdHJ1Y3QgcnRlX2V2ZW50X2V0aF9yeF9hZGFw dGVyX3F1ZXVlX2NvbmYNCj4+ID4+PiBjb25mW10sDQo+PiA+Pj4gKwkJCXVpbnQxNl90IG5iX3J4 X3F1ZXVlcyk7DQo+PiA+Pj4gKw0KPj4gPj4+ICAvKioNCj4+ID4+PiAgICogRGVsZXRlIHJlY2Vp dmUgcXVldWUgZnJvbSBhbiBldmVudCBhZGFwdGVyLg0KPj4gPj4+ICAgKg0KPj4gPj4+IC0tDQo+ PiA+Pj4gMi4yNS4xDQoNCg==