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 EB74945A8C; Wed, 9 Oct 2024 13:21:38 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B7A5C4065D; Wed, 9 Oct 2024 13:21:38 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 03DA34064C for ; Wed, 9 Oct 2024 13:21:36 +0200 (CEST) Received: from pps.filterd (m0431383.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 499B9jjo014168; Wed, 9 Oct 2024 04:21:27 -0700 Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2168.outbound.protection.outlook.com [104.47.59.168]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 425rnyr0np-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 09 Oct 2024 04:21:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=asfvfHmN7qf5903hssmCBQp2vbyuAy/fw290wnZFRkFzdKPsQ7jeITcufCCFNCbWgvn0AeIDQLHdkdj4DC3ilaAmdHskA8p9fPAM1hYDCFHVsKtUxcruluDMWCoNlVM9tt68UF1EciZ+oeRp7S8XxxvJu9pDGWsd4TxKCIDvEqWvXHWVytSaSI3JnuV1BdqxE4hcljyDrD5SZS8cwLTrAf2e6msf/O0SNzTugkEyBFuCEUIIFUHEkWo1fHSSNotya2SMoppqlWM31bQapTEm2nnyNbS6QpvzLWihNZAODfLM1pFexazYd0R/zU9kBl0O4nhcLMjJ0z6DnArnqh1SBA== 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=fLhqQf+PjgiqzBBD3cU/tzR1fFQwnW22uxzq2atVIpI=; b=TuZ40IArHO1N0Ab+BlSBEGv5PxT6ZyAkxEst0Rx3EoOCwB6PyW1KpYPD3hFEuLCmzibqC6446WB62PrXiYc41iUputYk3AYnaqEmUMVr8DTEw3WUls1QLmmqiHBIa3dbjT70slKBDX5fkjmZ3iqaO/Lu6trSqyEUfXKnvkUvui6AqjWI5pcYwu4JMCf800GbkAufFL1JIaj1Wl01tvPSWWO36bs+fEYUZe4MeSEmAFBAxj6CvXDmmLFe7IjGnjV8i3JZWo5zbeNRLrKzcs1E9ZpAiDhlLoJ4zraRrAioGwPQ+PaT+rhSFLCKshEST0qS+zJH8ZfVOkZ88vKCZSRqQg== 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=fLhqQf+PjgiqzBBD3cU/tzR1fFQwnW22uxzq2atVIpI=; b=mAcpBzqfb6Yzkkc5DG2gt8ZMZAz7BM1cvQBcaXN0wZMh+tciHOBF0c5nTjB9U5bKMvXfT8l9lxbRYBm5kI9Kzz0G/Mv2B7IV7xab/M9r5YvB0uC4VvTW44GKiUGlaork7GP3ZMdA3Qhqga0pWsIhHxuIXTsjAiau2szvkKwkuOQ= Received: from CO6PR18MB4484.namprd18.prod.outlook.com (2603:10b6:5:359::9) by BY1PR18MB5326.namprd18.prod.outlook.com (2603:10b6:a03:529::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8048.18; Wed, 9 Oct 2024 11:21:24 +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.8048.013; Wed, 9 Oct 2024 11:21:23 +0000 From: Akhil Goyal To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , fengchengwen , "dev@dpdk.org" CC: "thomas@monjalon.net" , "david.marchand@redhat.com" , "hemant.agrawal@nxp.com" , Anoob Joseph , "pablo.de.lara.guarch@intel.com" , "fiona.trahe@intel.com" , "declan.doherty@intel.com" , "matan@nvidia.com" , "g.singh@nxp.com" , "fanzhang.oss@gmail.com" , "jianjay.zhou@huawei.com" , "asomalap@amd.com" , "ruifeng.wang@arm.com" , "konstantin.v.ananyev@yandex.ru" , "radu.nicolau@intel.com" , "ajit.khaparde@broadcom.com" , Nagadheeraj Rottela , "mdr@ashroe.eu" Subject: RE: [PATCH] [RFC] cryptodev: replace LIST_END enumerators with APIs Thread-Topic: [PATCH] [RFC] cryptodev: replace LIST_END enumerators with APIs Thread-Index: AQHbADIFGxkE+6/rWUeeaxd5J63rhrJl6xjAgA7YAiCABPs7MIAEuDYA Date: Wed, 9 Oct 2024 11:21:23 +0000 Message-ID: References: <20240905101438.3888274-1-gakhil@marvell.com> <98CBD80474FA8B44BF855DF32C47DC35E9F6A8@smartserver.smartshare.dk> <1d17f91a-fbfe-229b-9772-c149ed9d335a@huawei.com> <98CBD80474FA8B44BF855DF32C47DC35E9F6AD@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35E9F77E@smartserver.smartshare.dk> In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35E9F77E@smartserver.smartshare.dk> 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_|BY1PR18MB5326:EE_ x-ms-office365-filtering-correlation-id: dbc591f3-dd45-40cd-f4cf-08dce85481e4 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|376014|7416014|1800799024|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?b2lWZzdmU1NraEZ6TUR6VUsvWnE2Sng4NlRJVzNoZU16UzF4eU1JR1g1VWw0?= =?utf-8?B?Yis0cDVPMFlmbVlJMzlXb0NiZUNYa0pENkszcWFTanY0M3p5cTNjSGV6L0hO?= =?utf-8?B?aGJzSk94dEY5dkFGNlRiM0l1QnVuUDkvNjFBaXhNKzVPNlBGRUE1WmpZNUdN?= =?utf-8?B?cFZiWk82TWFyRHpTZHBBZkhaQ0JoZGh5b0pGTUtZWElTQnlxeCsyck1oZkpN?= =?utf-8?B?WGN3VHdudk5NTXNhdEsvakpiM1RnNDFsTDdlQUVFQWxHMEpyUU9xUVZ0THFP?= =?utf-8?B?TndEeDFhMTl6cnV1TjBjMFVrZExmRTFQYWI0Q3J3RG9IMmNBSk9aTUFXTGJV?= =?utf-8?B?SGZpZnpOc1liZ21aWFZMUHNHbHpZR0pmZjIvRXJobm9vN1ZZcHlyR3Foelg2?= =?utf-8?B?M3pES2dIWlY0aDhqQURWUVFmdW1CeGErRmlPRTBTMXE4b1V3UlNSQkRQeFJa?= =?utf-8?B?YUJPdFNNeG5KZXIwOFRpaVR5S2tNdVpQTjliK0QzbnNac0lqRG9tbzZ5dU5O?= =?utf-8?B?VER1K3ZJNjlUN3JrY1F5ZWdqZmVTSXYwejl6aHJoaCtGd2xQdFRLaytpMnpJ?= =?utf-8?B?dVJrRlJ6SUFMeVlZQXA4SENlWkNBU3lCb0R4bVU0OHg2MXQwelN3eVNIcHpV?= =?utf-8?B?NlZydUplVVh4TVNEVHdLMHhHTXBhTFhZMXB0U25iU2JEODJ3UXpCUFZDVFdT?= =?utf-8?B?MVNNM0xBQXhmMTAwblVGT0o0M1l3QlpvYWVUd1ErZHNoMEdScCthbitJckJS?= =?utf-8?B?WXlCbEdBNy9SWWpWOFUvSHdtek04ZzAza3NKN1JaTjhWN1lpK2t3UE8vYnJl?= =?utf-8?B?OEU4Z3M5UDBzb29JMGJ4Q2lQQ3lmbytHMHJaOHlINGVtNFRTUWJVZGZYdGZv?= =?utf-8?B?eFZXQVAvTDU3UU15cGFieGxFSGEvRU1mRGF3dHpOY2U0a0N4bmlLTXhNUWJQ?= =?utf-8?B?QlhmR0ZKQ2QvRmx6RTdzUUN6Zm9JbXdhMXNINnBiRWlKbnJBdjFIL3JHMGNY?= =?utf-8?B?K3lzc2hhOVNwRWV4aFdyTXU1ZU5lR3lQYm0rWTdEQjhPVlpsNDBCbVVTRUFP?= =?utf-8?B?RzNRQXR3NThUTVBMMWVERUJaNUxHYVRDZE5IRmtybkNPdzFzcDFqN2NvS2xo?= =?utf-8?B?cnAvNTJjT3BVYi80TUZKL2xkU0YyQ3lhb1planZoSnJWRy81czFoTEJMR1hJ?= =?utf-8?B?VVdUdk4xUHg4Tkp2L0tucVhhL09kWm9aUmtsZ0V4aGNRaVVWV3Uxd2VpYXFr?= =?utf-8?B?UVhsdW81cDVXYnlaVzBwQWR0RG1FMDMzUFdvUXMxR1hLeWNJclJ5Nzd5REVU?= =?utf-8?B?K0lVUitZTm90N3BMcjA1NXpLekJOZktwelI2RzVMVGltRkZDL1BXU3hua3I4?= =?utf-8?B?NW1ISnVQdHNVQmxmb01mUVBvV2Z6ZkhOaXdudjZqS1ZHMDFWWm1uOEJGaHhC?= =?utf-8?B?RFloM1ArMHg1NTVneTF0VUxpendEbGZkOTRWcTdqTlRqcVJXdjZQWFdVNmFW?= =?utf-8?B?VTI0ckhaMzdmd3lrUlNhOFc4QXVFL0x2Vi9ualoyZ2NOU0Y4bnNCVDBWcis3?= =?utf-8?B?NkUxVk5lQUdFSlJiWXQwRG9Sd2VGeGVPQlgwMktKNjdkNlVkMlkyM2N2Tit5?= =?utf-8?B?STBmQ1QrU29JcTFFVnhyK0hveDNFNXQ5NmlMZndsdlhZM1FVVXgrZDdpYTBh?= =?utf-8?B?TmlTS3NaUWxHMDJKdEdHQ3F4dVcrSU4yOWtBMng1N1FtMjNtemE0aURYKzdl?= =?utf-8?B?aHBXVXQ5M1IxL0M3K1M5TDVJcXg4U01pbC9xVWpTYWlVd3FxeDV5T3Z0cVpD?= =?utf-8?B?K250dHF0R2VmWUVoNWU1Zz09?= 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)(366016)(376014)(7416014)(1800799024)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Tnk0Mm1uMVhhU0doZGRxeDkzbExYY3J0QVdQVUdZNHBQdHhGcWFweW5oYlM5?= =?utf-8?B?ZUgyUEJJTmYvZFZSWjZ0TDMzYUxIZlJEQThkeEVQMXRoYkhsK2ZaR05WM3hq?= =?utf-8?B?dnBwWm5nZ1NHbktWY1Bmb3N6WGdNWnlMMS8vMEVleFN3NkV4d1I4cTByb3Fu?= =?utf-8?B?UmFxeDVhMThPYmcxcWFYNUZIM0FvZkx6M3YrR1R3L0pEaXA3aDAzb1A3Z3lZ?= =?utf-8?B?a3pjRVFRVWhJRTFHYjBNaHdiQ05mTDVOWm00WlB0dkxDVEF4bDBZekhRK2FZ?= =?utf-8?B?NUN6YTMrbWV0TFFCRkFVeS9RbGJUOHN2SmN4c3VYUFpYUzBKNEdUbC9kZEFn?= =?utf-8?B?Nlo0MjFhTVFWamNOaVYyODE3bUpKRnJLS09JaVA0dmpIVU9XZUFLWElBV1U1?= =?utf-8?B?UTc2UFJEQWFIN1BOUUNxa1ZYaTFvT2pCMVlieE5YTjQxSWpqd1pIbUw2c1pj?= =?utf-8?B?MktDazBicDFCRjJLT0dUS1l4ODlJcXBod296clVHaVJsd1ltYzMzZkdYZmVN?= =?utf-8?B?OFBlMHZmTUEveEFFQmtpdVA3bm1IVTlqQ0VBMWFLSE4vQkhMUFloY29pd1dI?= =?utf-8?B?RG5NUW4ybUlRQU5Mek5CSzh3d1NvRmtGNk81cG91Y1MwL25OVEdNQis1V3lK?= =?utf-8?B?TGtSMkhtTFFwK1FJY1lCTE1YcS9HdFh5Y2ZoMGIyaGorYzRPL3NhV0FmczNu?= =?utf-8?B?K2JIYXZyWGM4ZUMvK3hZZFdvOEZCcXRHbzA0YUN5NDN5dnkxTjNBN2lPVXZH?= =?utf-8?B?SVNrL1NRTEpWQ0ZrUlNPcFcrZEVJY0ZlR0kzdTFUVkUvRjAvbG1jMWQ2N3Nh?= =?utf-8?B?TWRnWDlha1QxMTFEZVRnSHdFK1N3V1l4dm9OR3EycUNCRnN4c3NndWF2Vkw3?= =?utf-8?B?SzltcWc3QTJPWmJ0NlZhVk4wZkduVTEzSFFQU3IvTU1SNWJwOWxkYmRHNGZn?= =?utf-8?B?V0VJdmVoVGlGYmNoam5JdExDTUYvS0ovM1B5S3gvaUgxSDNtZWhYVnpwamo4?= =?utf-8?B?MjBqSFZFTjRGNXpCSTBoMEhCVUVEczFuRVhRVWJzaG5KZStSU25FbE9pSTR0?= =?utf-8?B?b3U5NWc0czd5ZnpOOW9jOVcrWDA2ZGllK2NFclY4eWhnVzFLQkZkZ29xbXBw?= =?utf-8?B?U3FRS210azVhMmVGQ1kxSmxaUkRKQS9YeTdrYlVuQUdXWVFYdldka0JGR2p0?= =?utf-8?B?YThndUpQVHR5WitiN01ES3g0bkRTSmtQSzhsNHFEdkhXYzYrMllwbkdCQzhH?= =?utf-8?B?RldGbDNjWmNKeVVpaVluMUpDVUc4cllVdlBHQWlqTzJySW8wM0tDdW01WGxw?= =?utf-8?B?bGtsR2w4RlhXeHYwMjNVYnNnZnF6dUFPRGhpTVdBWG5IQUExZnk0MXhvUFd1?= =?utf-8?B?NjdlT3J2MWZ2cllPL0dKRjcyNkRwbFFOWmE2RmxSZFJhcUQzSHdYQVcrN1Na?= =?utf-8?B?VGI4aVdUbkdHb1A1bWdzcXVCeDlkemhsZ1ZETkllMUt6ci9xZFJRcHNCNlli?= =?utf-8?B?c05SQmR2WkNoMVdBOXdVRXd1ajJTVWkxRFBkT084UWZlOTYwTU4xUUwzRTRa?= =?utf-8?B?MDB6ajNBYVNpOTZXcEhBc3ZXY3Fid2tsSS9uVm5TUHk1M01lZWxnM1BjeDFL?= =?utf-8?B?VFJHaDdDWFh0bVU2OHRoZzFTNFoxZ3ZjVjkyd1FOZzJuSWNzTFVjL0tJYTJR?= =?utf-8?B?UlM5VHk0NDdyMmdvQVVVYWRlSmtWNGdiMlFSZGo1QzE1SjJsWDFIMDBmSDBG?= =?utf-8?B?ZGlaN2l1cGw0L2dIc3pHSlFsMVIxU29iZWhIQWx0OHNLQkZrZ2dObi9neFpD?= =?utf-8?B?eFp5MVV0QUpqbWlGSkZxOEdRQ0QyTmE3U1lKT0srY2FGQVJZSnQ3NEFTbExH?= =?utf-8?B?WGRienZqWFVlZGV2SGVpTEZFNk9Gb0RXTE5IRWZzNWdpNjNvSHY4SVdQWmtz?= =?utf-8?B?SXE5ejE5UlA1OWl5SzhCYUVCQnN6dzRBdE1CSXR3NEtjQzJNY0NXTEpDb3By?= =?utf-8?B?OUFPRGcwcFczZlFZbWxqNjBwUTJLUnN6VTNseEpFWEp2b21lL1lMZUFxWVgw?= =?utf-8?B?RkNUbVhYY2dka1JvVVllWm0wT3UwT2VvSkNoOW5mUnVyay94UFpKMHcvYjZu?= =?utf-8?Q?zYCc=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: dbc591f3-dd45-40cd-f4cf-08dce85481e4 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Oct 2024 11:21:23.3708 (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: cx9gfK6jz3zDFzFppyYtzUJOXquL/GDxKmZ6LeN+GVDGzL19a1y+fkCgtKVmHOEI+kWUVCYRw84ajVKoKEH5rA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR18MB5326 X-Proofpoint-ORIG-GUID: qmRnnty19lbq8CpnNJ1n3V31b-KIpuc9 X-Proofpoint-GUID: qmRnnty19lbq8CpnNJ1n3V31b-KIpuc9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.687,Hydra:6.0.235,FMLib:17.0.607.475 definitions=2020-10-13_15,2020-10-13_02,2020-04-07_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 PiA+IEZyb206IEFraGlsIEdveWFsIFttYWlsdG86Z2FraGlsQG1hcnZlbGwuY29tXQ0KPiA+IFNl bnQ6IFRodXJzZGF5LCAzIE9jdG9iZXIgMjAyNCAwOS4wMQ0KPiA+DQo+ID4gIEhpIE1vcnRlbiwN Cj4gPiA+DQo+ID4gPiBBcG9sb2dpZXMgZm9yIGRlbGF5ZWQgcmVzcG9uc2UuDQo+ID4gPiA+IE1h eWJlIGEgY29tYmluYXRpb24sIHJldHVybmluZyB0aGUgbG93ZXN0IGVuZCBvZiB0aGUgdHdvIHZl cnNpb25zDQo+ID4gb2YgdGhlIGxpc3QsDQo+ID4gPiA+IHdvdWxkIHdvcmsuLi4NCj4gPiA+ID4N Cj4gPiA+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gPiBDb21t b24gaGVhZGVyIGZpbGUgKHJ0ZV9jb21tb24uaCk6DQo+ID4gPiA+IC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCj4gPiA+ID4NCj4gPiA+ID4gLyogQWRkIGF0IGVuZCBvZiBlbnVt IGxpc3QgaW4gdGhlIGhlYWRlciBmaWxlLiAqLw0KPiA+ID4gPiAjZGVmaW5lIFJURV9FTlVNX0xJ U1RfRU5EKG5hbWUpIFwNCj4gPiA+ID4gXyAjIG5hbWUgIyBfRU5VTV9MSVNUX0VORCAvKio8IEBp bnRlcm5hbCAqLw0KPiA+ID4gPg0KPiA+ID4gPiAvKiBBZGQgc29tZXdoZXJlIGluIGhlYWRlciBm aWxlLCBwcmVmZXJhYmx5IGFmdGVyIHRoZSBlbnVtIGxpc3QuICovDQo+ID4gPiA+ICNkZWZpbmUg cnRlX2RlY2xhcmVfZW51bV9saXN0X2VuZChuYW1lKSBcDQo+ID4gPiA+IC8qKiBAaW50ZXJuYWwg Ki8gXA0KPiA+ID4gPiBpbnQgXyMgbmFtZSAjIF9lbnVtX2xpc3RfZW5kKHZvaWQpOyBcDQo+ID4g PiA+IFwNCj4gPiA+ID4gc3RhdGljIGludCBuYW1lICMgX2VudW1fbGlzdF9lbmQodm9pZCkgXA0K PiA+ID4gPiB7IFwNCj4gPiA+ID4gCXN0YXRpYyBpbnQgY2FjaGVkID0gMDsgXA0KPiA+ID4gPiBc DQo+ID4gPiA+IAlpZiAobGlrZWx5KGNhY2hlZCAhPSAwKSkgXA0KPiA+ID4gPiAJCXJldHVybiBj YWNoZWQ7IFwNCj4gPiA+ID4gXA0KPiA+ID4gPiAJcmV0dXJuIGNhY2hlZCA9IFJURV9NSU4oIFwN Cj4gPiA+ID4gCQkJUlRFX0VOVU1fTElTVF9FTkQobmFtZSksIFwNCj4gPiA+ID4gCQkJXyAjIG5h bWUgIyBfZW51bV9saXN0X2VuZCgpKTsgXA0KPiA+ID4gPiB9IFwNCj4gPiA+ID4gXA0KPiA+ID4g PiBpbnQgXyMgbmFtZSAjIF9lbnVtX2xpc3RfZW5kKHZvaWQpDQo+ID4gPiA+DQo+ID4gPiA+IC8q IEFkZCBpbiB0aGUgbGlicmFyeS9kcml2ZXIgaW1wbGVtZW50YXRpb24uICovDQo+ID4gPiA+ICNk ZWZpbmUgcnRlX2RlZmluZV9lbnVtX2xpc3RfZW5kKG5hbWUpIFwNCj4gPiA+ID4gaW50IF8jIG5h bWUgIyBfZW51bV9saXN0X2VuZCh2b2lkKSBcDQo+ID4gPiA+IHsgXA0KPiA+ID4gPiAJcmV0dXJu IFJURV9FTlVNX0xJU1RfRU5EKG5hbWUpOyBcDQo+ID4gPiA+IH0gXA0KPiA+ID4gPiBcDQo+ID4g PiA+IGludCBfIyBuYW1lICMgX2VudW1fbGlzdF9lbmQodm9pZCkNCj4gPiA+ID4NCj4gPiA+ID4g LS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiA+ID4gTGlicmFyeSBoZWFkZXIgZmlsZToNCj4gPiA+ ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiA+ID4NCj4gPiA+ID4gZW51bSBydGVfY3J5cHRv X2FzeW1fb3BfdHlwZSB7DQo+ID4gPiA+IAlSVEVfQ1JZUFRPX0FTWU1fT1BfVkVSSUZZLA0KPiA+ ID4gPiAJLyoqPCBTaWduYXR1cmUgVmVyaWZpY2F0aW9uIG9wZXJhdGlvbiAqLw0KPiA+ID4gPiAJ UlRFX0VOVU1fTElTVF9FTkQocnRlX2NyeXB0b19hc3ltX29wKQ0KPiA+ID4NCj4gPiA+IFdpbGwg dGhlIEFCSSBjaGVjayBiZSBvayBmb3IgYWRkaW5nIGFueXRoaW5nIGluIGJldHdlZW4NCj4gPiA+ IFJURV9DUllQVE9fQVNZTV9PUF9WRVJJRlkgYW5kDQo+ID4gPiBSVEVfRU5VTV9MSVNUX0VORChy dGVfY3J5cHRvX2FzeW1fb3ApPw0KPiA+ID4gRG9u4oCZdCB3ZSBuZWVkIHRvIGFkZCBleGNlcHRp b24gZm9yIHRoYXQgaWYgd2Ugc29tZWhvdyBtYWtlIGl0DQo+ID4gaW50ZXJuYWwgYnkNCj4gPiA+ IGFkZGluZyBhIGNvbW1lbnQgb25seT8NCj4gPiA+IExpYnJhcnkgaXMgYWN0dWFsbHkgbm90IHJl c3RyaWN0aW5nIHRoZSBhcHBsaWNhdGlvbiB0byBub3QgdXNlDQo+ID4gPiBSVEVfRU5VTV9MSVNU X0VORChydGVfY3J5cHRvX2FzeW1fb3ApIGRpcmVjdGx5Lg0KPiA+ID4NCj4gPiA+IEFsc28gd2Ug bWF5IG5lZWQgdG8gZXhwb3NlIHRoZSAuYyBmaWxlIGludGVybmFsIGZ1bmN0aW9uIGFzDQo+ID4g ZXhwZXJpbWVudGFsIGluDQo+ID4gPiB2ZXJzaW9uLm1hcA0KPiA+ID4NCj4gPiA+ID4gfQ0KPiA+ ID4gPg0KPiA+ID4gPiBydGVfZGVjbGFyZV9lbnVtX2xpc3RfZW5kKHJ0ZV9jcnlwdG9fYXN5bV9v cCk7DQo+ID4gPiA+DQo+ID4gPiA+IC0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gPiBMaWJyYXJ5IEMg ZmlsZToNCj4gPiA+ID4gLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiA+DQo+ID4gPiA+IHJ0ZV9kZWZp bmVfZW51bV9saXN0X2VuZChydGVfY3J5cHRvX2FzeW1fb3ApOw0KPiA+ID4NCj4gPiA+IElmIHdl IHdhbnQgdG8gbWFrZSBpdCBhIGdlbmVyaWMgdGhpbmcgaW4gcnRlX2NvbW1vbi5oDQo+ID4gPiBX aWxsIHRoZSBiZWxvdyBjaGFuZ2UgYmUgb2s/DQo+ID4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQo+ID4gPiBDb21tb24gaGVhZGVyIGZpbGUgKHJ0ZV9jb21tb24uaCk6DQo+ ID4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiAjZGVmaW5lIHJ0 ZV9kZWZpbmVfZW51bV9saXN0X2VuZChuYW1lLCBsYXN0X3ZhbHVlKSBcDQo+ID4gPiBzdGF0aWMg aW5saW5lIGludCBuYW1lICMjIF9lbnVtX2xpc3RfZW5kKHZvaWQpIFwNCj4gPiA+IHsgXA0KPiA+ ID4gICAgICAgIHJldHVybiBsYXN0X3ZhbHVlICsgMTsgXA0KPiA+ID4gfQ0KPiA+ID4NCj4gPiA+ IC0tLS0tLS0tLS0tLS0tLS0NCj4gPiA+IExpYiBoZWFkZXIgZmlsZQ0KPiA+ID4gLS0tLS0tLS0t LS0tLS0tLQ0KPiA+ID4gLy9BZnRlciB0aGUgZW51bSBkZWZpbml0aW9uIGRlZmluZSB0aGUgbGlz dCBlbmQgYXMgYmVsb3cNCj4gPiA+IHJ0ZV9kZWZpbmVfZW51bV9saXN0X2VuZChydGVfY3J5cHRv X2FzeW1fb3AsDQo+ID4gPiBSVEVfQ1JZUFRPX0FTWU1fT1BfVkVSSUZZKTsNCj4gPiA+DQo+ID4g Pg0KPiA+ID4gQW5kIHdoZXJldmVyIGxpc3QgZW5kIGlzIG5lZWRlZCB1c2UNCj4gPiBydGVfY3J5 cHRvX2FzeW1fb3BfZW51bV9saXN0X2VuZCgpPw0KPiA+ID4NCj4gPiA+IFdpdGggdGhpcyBjaGFu Z2UsIGFiaSBjaGVjayB3aWxsIG5vdCBjb21wbGFpbiBmb3IgYW55IG5ldyBhZGRpdGlvbiBhdA0K PiA+IHRoZSBlbmQgb2YNCj4gPiA+IGVudW0uDQo+ID4gPiBBbmQgd2UgZG8gbm90IG5lZWQgdG8g ZXhwb3NlIGFueSBpbnRlcm5hbCBBUEkgaW4gdmVyc2lvbi5tYXAuDQo+ID4gPg0KPiA+IENhbiB3 ZSBtb3ZlIGZvcndhcmQgd2l0aCBhYm92ZSBzdWdnZXN0aW9uPw0KPiANCj4gU29ycnkgYWJvdXQg dGhlIGxhdGUgcmVwbHksIEFraGlsLg0KPiANCj4gSXQgc2VlbXMgRmVycnVoIGFuZCBEYXZpZCBo YXZlIHBpY2tlZCB1cCB0aGlzIGRpc2N1c3Npb24gd2l0aCBnb29kIGFyZ3VtZW50cy4NCj4gDQo+ IEkgaGF2ZSBubyBwcmVmZXJlbmNlcyBmb3IgYSBnZW5lcmljIHNvbHV0aW9uLCBlc3BlY2lhbGx5 IGlmIHRoaXMgaXMgYW4gaXNvbGF0ZWQgY2FzZS4gQQ0KPiBnZW5lcmljIHNvbHV0aW9uIGNhbiBi ZSBhZGRlZCBhdCBhbnkgdGltZSBsYXRlci4NCg0KT2ssIHNpbmNlIHdlIGFyZSBub3QgdGFsa2lu ZyBhYm91dCBhIGdlbmVyaWMgc29sdXRpb24uDQpXZSBjYW4gcmVtb3ZlIFJURV9DUllQVE9fQVNZ TV9YRk9STV9UWVBFX0xJU1RfRU5EDQpBbmQgUlRFX0NSWVBUT19SU0FfUEFERElOR19UWVBFX0xJ U1RfRU5ELg0KDQpUaGVzZSBlbnVtcyBhcmUgbm90IHVzZWQgYW55d2hlcmUgYW5kIGFyZSBub3Qg cmVxdWlyZWQgYXQgYWxsLg0KDQpBbmQgZm9yIFJURV9DUllQVE9fQVNZTV9PUF9MSVNUX0VORCwg d2UgY2FuIGtlZXAgaXQgYXMgaXMuDQpUaGUgcnRlX2NyeXB0b19hc3ltX29wX3R5cGUgaXMgbm90 IGV4cGVjdGVkIHRvIGdyb3cgaW4gZnV0dXJlIGFuZA0KV2UgbmVlZCB0aGUgbGlzdCBlbmQgZm9y IGxvb3BzIGFzIHdlbGwgYXMgYXJyYXlzLg0KDQpIZW5jZSBzZW5kaW5nIGEgcGF0Y2ggdG8gcmVt b3ZlIFJURV9DUllQVE9fQVNZTV9YRk9STV9UWVBFX0xJU1RfRU5EDQpBbmQgUlRFX0NSWVBUT19S U0FfUEFERElOR19UWVBFX0xJU1RfRU5ELg0KDQpUaGlzIGlzIGlubGluZSB3aXRoIHN5bW1ldHJp YyBjcnlwdG8geGZvcm0gdHlwZSBsaXN0Lg0KDQo=