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 0704F41B82; Mon, 30 Jan 2023 17:04:45 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8930040DF6; Mon, 30 Jan 2023 17:04:45 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 3054540C35 for ; Mon, 30 Jan 2023 17:04:43 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 30U8WX5w001917; Mon, 30 Jan 2023 08:02:13 -0800 Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2107.outbound.protection.outlook.com [104.47.58.107]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3nd442jd0j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 30 Jan 2023 08:02:10 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kBMcfPI8e1SWVjeYmzsKq6q3J03dXQgyHta+V+SfW+PIcxNNyvS7k9QgBFCjx2jRFyZPCHc4gmr4Ak0oBN35N7q99nKR0Mt7BCSRO5SfcmZwKGmXo4vWQmcNM2CIOEe6CGzY+epf05GJ0uVDsMmFHdXJVUkSAwVXpjRFTvLO6tkUkCIY3F2zuPZqYnjty49cP482YiXYsI/75DJAVUkUuvSmzEessFLO6DbTmq+9+9aDPJf1nXzdvszabIUq3AjxpdGQwbirN3CWVarpv3WCj0IGkjkWnQ3MImt6vHEFAjqw5/u2yHjUVdDi0QZoNf1On166YRYL7ubIwraI/BvqHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=BstmSPWJpwoOQSELmh0qza5PyHlUyZ2icQC7CbLXh+E=; b=jkAIuzsSJ2eLpg0rGjRWymY3iPlJcbvh7rX2JX9hxd7aqvguiMXCpzHLcrOmM/3C3FeLDz6yQBiuDfRaWEfovA0dg74AJktRvKeqyKg0LKGWWsxadP1/QA2v9fQA73DnYPMFLU55e6K64a0FKkC7WYOogVkiR6bzT/SVvKSYDrhcGj7FEFV82ZkHBogBaDAgNTqbjN45nISI0+cyme853QpES1M9l6NtxPwg9VqSB/jsTPQ3LtoOsMnoHiS9OJhuc5SgGaYDr5MOarky/6c+799iBp8nHP+ug5a1Tuwkm9cUn/Fmstp16sqZCOf6uWNFe1uXINqtM27kZ8vctP7+aw== 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.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BstmSPWJpwoOQSELmh0qza5PyHlUyZ2icQC7CbLXh+E=; b=Z0c1Ur+XAis2X0jpPa+qhS6ZaBS/wMNaD7i9WngQjKGGLkec38p76oOxEBeubSQq7U8LLKwgAnln9QG0gw7LHj9yhiY2WynMpIFrLEPey6RSSYtZNQS3VqJoAu4BNRfjVUA1vgfr5sVbkfGIVgY7c5iQEBqOcjnCCkCaskmGKic= Received: from CO3PR18MB5005.namprd18.prod.outlook.com (2603:10b6:303:17e::22) by DM4PR18MB5406.namprd18.prod.outlook.com (2603:10b6:8:188::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.30; Mon, 30 Jan 2023 16:01:21 +0000 Received: from CO3PR18MB5005.namprd18.prod.outlook.com ([fe80::305c:f1fa:266a:4058]) by CO3PR18MB5005.namprd18.prod.outlook.com ([fe80::305c:f1fa:266a:4058%5]) with mapi id 15.20.6043.022; Mon, 30 Jan 2023 16:01:21 +0000 From: Ankur Dwivedi To: Ferruh Yigit , "dev@dpdk.org" , David Marchand CC: "thomas@monjalon.net" , "david.marchand@redhat.com" , "mdr@ashroe.eu" , "orika@nvidia.com" , "chas3@att.com" , "humin29@huawei.com" , "linville@tuxdriver.com" , "ciara.loftus@intel.com" , "qi.z.zhang@intel.com" , "mw@semihalf.com" , "mk@semihalf.com" , "shaibran@amazon.com" , "evgenys@amazon.com" , "igorch@amazon.com" , "chandu@amd.com" , Igor Russkikh , "shepard.siegel@atomicrules.com" , "ed.czeck@atomicrules.com" , "john.miller@atomicrules.com" , "ajit.khaparde@broadcom.com" , "somnath.kotur@broadcom.com" , Jerin Jacob Kollanukkaran , "Maciej Czekaj [C]" , Shijith Thotton , Srisivasubramanian Srinivasan , Harman Kalra , "rahul.lakkireddy@chelsio.com" , "johndale@cisco.com" , "hyonkim@cisco.com" , "liudongdong3@huawei.com" , "yisen.zhuang@huawei.com" , "xuanziyang2@huawei.com" , "cloud.wangxiaoyun@huawei.com" , "zhouguoyang@huawei.com" , "simei.su@intel.com" , "wenjun1.wu@intel.com" , "qiming.yang@intel.com" , "Yuying.Zhang@intel.com" , "beilei.xing@intel.com" , "xiao.w.wang@intel.com" , "jingjing.wu@intel.com" , "junfeng.guo@intel.com" , "rosen.xu@intel.com" , Nithin Kumar Dabilpuram , Kiran Kumar Kokkilagadda , Sunil Kumar Kori , Satha Koteswara Rao Kottidi , Liron Himi , "zr@semihalf.com" , Radha Chintakuntla , Veerasenareddy Burru , Sathesh B Edara , "matan@nvidia.com" , "viacheslavo@nvidia.com" , "longli@microsoft.com" , "spinler@cesnet.cz" , "chaoyong.he@corigine.com" , "niklas.soderlund@corigine.com" , "hemant.agrawal@nxp.com" , "sachin.saxena@oss.nxp.com" , "g.singh@nxp.com" , "apeksha.gupta@nxp.com" , "sachin.saxena@nxp.com" , "aboyer@pensando.io" , Rasesh Mody , Shahed Shaikh , Devendra Singh Rawat , "andrew.rybchenko@oktetlabs.ru" , "jiawenwu@trustnetic.com" , "jianwang@trustnetic.com" , "jbehrens@vmware.com" , "maxime.coquelin@redhat.com" , "chenbo.xia@intel.com" , "steven.webster@windriver.com" , "matt.peters@windriver.com" , "bruce.richardson@intel.com" , "mtetsuyah@gmail.com" , "grive@u256.net" , "jasvinder.singh@intel.com" , "cristian.dumitrescu@intel.com" , "jgrajcia@cisco.com" , "mb@smartsharesystems.com" Subject: RE: [EXT] Re: [PATCH v6 2/6] ethdev: add trace points for ethdev (part one) Thread-Topic: [EXT] Re: [PATCH v6 2/6] ethdev: add trace points for ethdev (part one) Thread-Index: AQHZLKsm5ZCRHFbCqkiIMnTJHCXUnK6sRvUAgArbxTA= Date: Mon, 30 Jan 2023 16:01:20 +0000 Message-ID: References: <20230112112140.807233-1-adwivedi@marvell.com> <20230120084059.2926575-1-adwivedi@marvell.com> <20230120084059.2926575-3-adwivedi@marvell.com> <614e22c6-8485-0e8d-742e-b3d100f96468@amd.com> In-Reply-To: <614e22c6-8485-0e8d-742e-b3d100f96468@amd.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-rorf: true x-dg-ref: =?utf-8?B?UEcxbGRHRStQR0YwSUc1dFBTSmliMlI1TG5SNGRDSWdjRDBpWXpwY2RYTmxj?= =?utf-8?B?bk5jWVdSM2FYWmxaR2xjWVhCd1pHRjBZVnh5YjJGdGFXNW5YREE1WkRnME9X?= =?utf-8?B?STJMVE15WkRNdE5HRTBNQzA0TldWbExUWmlPRFJpWVRJNVpUTTFZbHh0YzJk?= =?utf-8?B?elhHMXpaeTAwWXpBek9HTXpaQzFoTUdJM0xURXhaV1F0T1RVeE55MWxPRFpo?= =?utf-8?B?TmpReU5XWXdPVEpjWVcxbExYUmxjM1JjTkdNd016aGpNMll0WVRCaU55MHhN?= =?utf-8?B?V1ZrTFRrMU1UY3RaVGcyWVRZME1qVm1NRGt5WW05a2VTNTBlSFFpSUhONlBT?= =?utf-8?B?SXlNemszTlNJZ2REMGlNVE16TVRrMU5qZ3dOamczTXpBME1qRTVJaUJvUFNK?= =?utf-8?B?cVdXUkpjMk5PY0dOMWFFUXZhVWRRVDIxeE1GTmtNMFJvWmxFOUlpQnBaRDBp?= =?utf-8?B?SWlCaWJEMGlNQ0lnWW04OUlqRWlJR05wUFNKalFVRkJRVVZTU0ZVeFVsTlNW?= =?utf-8?B?VVpPUTJkVlFVRk9aMGhCUVVGaWNuWnpVWGhFVkZwQlpYUTVNRUp2UVZFelZt?= =?utf-8?B?dzJNek5SUjJkQ1JHUlhWVTFCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJTRUZCUVVGQ2IwSjNRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlJVRkJVVUZDUVVGQlFUTlVla1pCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VW8wUVVGQlFtaEJSMUZCV2tGQ2VVRkhWVUZqZDBKNlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGRlFVRkJRVUZCUVVG?= =?utf-8?B?QlFXZEJRVUZCUVVGdVowRkJRVWROUVdSUlFucEJTRkZCWW5kQ2RFRkdPRUZq?= =?utf-8?B?UVVKc1FVaEpRV04zUW5aQlJ6UkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJV?= =?utf-8?B?VUZCUVVGQlFVRkJRVU5CUVVGQlFVRkRaVUZCUVVGWmQwSXhRVWhOUVdSQlFu?= =?utf-8?B?WkJSekJCV0hkQ2QwRkhaMEZpZDBKMVFVZFZRV0puUWpGQlJ6QkJXV2RDYkVG?= =?utf-8?B?SVNVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUWtGQlFVRkJRVUZCUVVGSlFVRkJRVUZCU2pSQlFVRkNha0ZJ?= =?utf-8?B?VlVGamQwSXdRVWM0UVdKUlFtWkJTRTFCWTNkQ2RVRkdPRUZhUVVKb1FVaE5R?= =?utf-8?B?V0ZCUW1aQlNGbEJUVUZCZVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?Q?FBQUFB?= x-dg-refone: =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVVkJRVUZCUVVGQlFVRkJaMEZCUVVGQlFXNW5RVUZC?= =?utf-8?B?UjAxQlpGRkNla0ZJVVVGaWQwSjBRVVk0UVdOM1FucEJSelJCV0hkQ2NrRkhW?= =?utf-8?B?VUZsVVVJelFVYzRRV05uUW10QlNFMUJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZSUVVGQlFVRkJRVUZCUTBGQlFV?= =?utf-8?B?RkJRVU5sUVVGQlFWbDNRakZCU0UxQlpFRkNka0ZITUVGWWQwSjZRVWhOUVdK?= =?utf-8?B?blFtWkJSelJCWW5kQ2EwRkhWVUZpUVVKd1FVY3dRV0ZSUWpCQlIxVkJZMmRD?= =?utf-8?B?WmtGSVdVRk5RVUY1UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQ1FVRkJRVUZC?= =?utf-8?B?UVVGQlFVbEJRVUZCUVVGS05FRkJRVUpxUVVoVlFXTjNRakJCUnpoQllsRkNa?= =?utf-8?B?a0ZJVFVGamQwSjFRVVk0UVdOM1FuZEJSMFZCV1hkQ2JFRkdPRUZrWjBGM1FV?= =?utf-8?B?UkpRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJSVUZCUVVGQlFVRkJRVUZuUVVGQlFVRkJibWRCUVVGSFVVRmlRVUozUVVZ?= =?utf-8?B?NFFXTjNRbkpCU0d0QlkwRkNiRUZHT0VGWmQwSnZRVWRGUVdSQlFtWkJSekJC?= =?utf-8?B?V2xGQ2VrRklUVUZaVVVKdVFVZFZRVmgzUWpKQlJFRkJUV2RCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?B?RkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVZGQlFVRkJRVUZCUVVGRFFVRkJRVUZCUTJWQlFVRkJX?= =?utf-8?B?a0ZDYzBGSVFVRllkMEo2UVVkM1FWbFJRbXBCUjNOQldIZENha0ZIWjBGWlVV?= =?utf-8?B?SXdRVVk0UVdKUlFteEJTRTFCWTNkQ2FFRkhZMEZhVVVGQlFVRkJRVUZCUVVG?= =?utf-8?B?QlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZC?= =?utf-8?B?UVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJR?= =?utf-8?B?VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFV?= =?utf-8?Q?FBQUFB?= x-dg-reftwo: QUFBQUFBQUFBQUFBQUJBQUFBQUFBQUFBSUFBQUFBQUo0QUFBQmtBR3dBY0FCZkFIUUFaUUJoQUcwQWN3QmZBRzhBYmdCbEFHUUFjZ0JwQUhZQVpRQmZBR1lBYVFCc0FHVUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUFBQUFBQWdBQUFBQUFuZ0FBQUdVQWJRQmhBR2tBYkFCZkFHRUFaQUJrQUhJQVpRQnpBSE1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVZnQUFBQUFBQUFBQUFBQUFBUUFBQUFBQUFBQUNBQUFBQUFDZUFBQUFiUUJoQUhJQWRnQmxBR3dBYkFCZkFIUUFaUUJ5QUcwQWFRQnVBSFVBY3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUFBQUFBQUFJQUFBQUFBQT09Ii8+PC9tZXRhPg== x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO3PR18MB5005:EE_|DM4PR18MB5406:EE_ x-ms-office365-filtering-correlation-id: d1380510-9060-40e9-45d6-08db02db3a8a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 7C1w1lZCO6++rIanTYgwPKFMkvfG5cGHOmVh4hfEbdAmjzVciIrdQahLCm7sOWwq5zxzfczdpunokzSUcQE3IXf22YuIiKJlkgSfatAuy/faUvEpNu2NeiCZZajk2qScmU+Nz0J4DtpxDGMFPsTTyrpVO4cZmoBlevha38a8aT4V/vbd+6xuHib6fAPkHwXmoQXiWcA3P+DtXg9tMwqI1wKLcCffFpqXY+qA7UV39gDNS1YMhTtmj+czqZDItBJNdafOBBnorB7T+EGDgkTO/FDu6ZvZehsiTBeqmI22zE4woDFQ8Xe+0kV6LJv9WnGwu713ShGo79gi2vegoy9aj8krPMz0joHdae2Yv5me924gjaIbia9hv3R2Y4Hk81uCpq1BfxaBG8V8OBns5P4FAlceXyh/v4ng32cZ2u2LeEonQrDkAlwNdHINjMCF6NywChFK+5asyq8jZTWNqwZkXSQEQ4ilwqoLfZCzZZVufmoqus/bFf7NhIMLqqc5qRw0HkJswhbpJTdtLODklVB3yiZux+55kW3CNT/A5twyfAyOOwKuk7G4KwWr/i8G2ldPn1/iNNCyLDStbJtmARh0xutB3uyIkYP3pCFsTnJ0MV/ut13OyfAVtCl7RxIr6XOST4R7jWQ9hKMDecpnl6dNid4evhWJMF6BLtfb/Mlc863j4iWDVm/p32NWdXOCqicePMsNbtLSWsIwExCyXuXAH4urPapplgFge7Mzk3F7o7o= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO3PR18MB5005.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(4636009)(136003)(39860400002)(376002)(346002)(366004)(396003)(451199018)(122000001)(41300700001)(7696005)(33656002)(2906002)(478600001)(7416002)(7406005)(45080400002)(110136005)(54906003)(38100700002)(86362001)(38070700005)(6506007)(71200400001)(30864003)(76116006)(66946007)(4326008)(64756008)(52536014)(55016003)(66476007)(66556008)(7366002)(316002)(8936002)(5660300002)(66446008)(8676002)(186003)(26005)(9686003)(83380400001)(21314003)(559001)(579004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dlVJeUI3SHdvQjhuSkRwdHdnTlpwYmk5Zjl2SEcrV0pFaVJNMFZ2Y0tlRFo5?= =?utf-8?B?a1FaWGl2ck41eXFKei9UcS9GUEV2dDZvYjlBdE9jWnhmQS9lNGFOT0ZjUWhS?= =?utf-8?B?NFZkTjRydXlwY1RQcVZlei9pRGY5c2lKaStkano4OGVhYjlZeUx6UnRGb2l6?= =?utf-8?B?NzB0K3hrUmFJaFZnNmVLRGg5KzErTXAyazd0U1RPRVU2WTA3d2FlNkZES1pq?= =?utf-8?B?ZHl2LzhrbE5udU04d21jMlZnOHpDNnRUMG84c00zbWxHamEreVhyd0Vkb1hZ?= =?utf-8?B?dDFLVFRhR1hpWmxreXNsZlAxTmhtdDhHcmFNNEtQbWdxSVc5THV2Uzd1SkhU?= =?utf-8?B?SnV2WDFkTEVOeU1IRkJxcVYxV21wbGtJRnpPNFZRTDY2UTZEMnZJRzRmUWo0?= =?utf-8?B?L2N3VjVTN08wZGdSelQweE5ydXZtcmhMOEJsMnVkVEEwaC84R0pJU0lpSHVv?= =?utf-8?B?VExJY0FVOWdEa0JxK0luRS9ia3c0WldpMm5maFU3SHNoV2pRTHFmYUdoazAr?= =?utf-8?B?TmJFNzlUaXJSb01CWFBOVUZmZXpjQ1d6ZUNuWE5oSFpRejdrVHdDSmJxVUwv?= =?utf-8?B?L01nVzFYV01DQnArZ0kwVjJMUFVGQkpmbFhUM0tBalBtZ3BNMEcrWGQ1UmtZ?= =?utf-8?B?clNZZU9wRHpPdXUvWjk0dlpiSXo1bjl3enNFSVU2dWVSb2E5QVd3THFlOENK?= =?utf-8?B?QkxUWWsrODlvMUpnelFMc2Rka1R4MUkwbkp2MlA0a01zYWpuRzQ2N21IUklm?= =?utf-8?B?am9MOFpadE81Q1ZWSjFQdzlyQjJtVEhPeTJzdGlIZlhDbWxqakp2K1J5SGpt?= =?utf-8?B?Yy82Ty9EREpyRDNBQmxzSFlCbGxWOE9jTGtPV0p5c1hXZ054OFdVclVwTXdE?= =?utf-8?B?OUNSSmZJQVBBSVVtN1VJZ3NRazNHbkhaOGdOY3ZiclMzblBRMVJnWUprWGUz?= =?utf-8?B?ejE4Y09vSXpwV2tGc1R3NGxoY0RhZ0Zja1FaQ0hTWm8wemFEREVVbFl4a0NJ?= =?utf-8?B?VHBubTRRdlFmdnJSaENYUEJCelhSYmsvdnJHek01bGV3QW9tL3VrY3A2Q1Jw?= =?utf-8?B?em9jckI5MUU1U08vaGFqTTdPNjJsdlRuSFpBeDJZejBsSExmVkgrUCtxcGl5?= =?utf-8?B?S2ZMUHcza2lNMmJZb3JiYVdzcklmTDU2Zk5YZXRwTUNYRWZEV2FEVHUwUjVL?= =?utf-8?B?QW1hT2dNZk1YdS8wV2FOWGpJUnpLa0JtK1JpaUp0UTgxNU5uWlJpY25QMktS?= =?utf-8?B?MWE3S2hrb2xMZUFyZzFsMjNpQ1NwZG9UUWhtbkdEbXhDM2c5YUhKNDZMVU1y?= =?utf-8?B?eU5NeWs2ZUlzbWhkMUM2RE8zaCsyazdzMFEydHBkazBZMlczek1ZZUZkYkZo?= =?utf-8?B?MGRyRTJGcEhqQmVOR3ZsZ0NRYitUbURzUi93VmY4Z01JSzg3L211dXZPdUNx?= =?utf-8?B?ZVhla1p5OVNIT3hrSWpCQjVxRHJNS05Hbi9uWWpYTThVa3ovOUR5cXlrVXlD?= =?utf-8?B?Njc4WlpUZzJpTllBNnFVOGtsYWdROW4yOGE0MzVDM2NPYkhDRlZkdGFYZUFR?= =?utf-8?B?SHBSQk53dGtTdjJkSjg1aCtjWXVXdDZIYVdGWDhGbUZaMUozTlVVWllLMEow?= =?utf-8?B?UkJwdWN2ckhaeE1iUHZTRGMvVG1NSjdxYTFPMUNYVSsvdkhlOGx3QklIWjlG?= =?utf-8?B?RzBBUUxjWGdKVkNzMWxCYnhHU3N6WXRJZHhDSDk1UUFqVDZ1NmJ1TGYwU3hG?= =?utf-8?B?QzJDY2JJaENudS9qR2pyc3ZCbjRzaUFBNW9CYzhEMHRJbEpqT0lCL1JFMnc1?= =?utf-8?B?V2g0ZXppc0ZSbWlGSzRjYUlmOElTL1l1aEkvNThHdm10bDEvd08wMktxaWxI?= =?utf-8?B?enVOdUdkakx2bXpEeU4rSFlsVTNQY3NqaCs5SlYxdWozVnluK0ZlbEtvU3NE?= =?utf-8?B?TTJBalJJYjV6QlBiRmlkQUZtanhsd2daQk5NRVhOZzhjTmZGS3g0NXFXMERk?= =?utf-8?B?aU9Yd09PSUYvTWFPb3hBOW03eHhuM0x1YmJDYXFBU0ZRUk1kZEFaUTdwTlAz?= =?utf-8?B?MUNEWFRUN3NuS2lqVURwalo1NFBRbzlvUDZwN1ZHdFVTckdvWWY5MzNac2xi?= =?utf-8?Q?a2BhMlyj+KKHzoCXwgcaBje51?= 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: CO3PR18MB5005.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d1380510-9060-40e9-45d6-08db02db3a8a X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jan 2023 16:01:20.5978 (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: OyLiTh5vTMDaKF31gQP8XADVDJoAwcyml1UB6P1ct1+xPsBwWFBoOztSilbfCiClu4cc91CeAYeDsdj69prTaA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR18MB5406 X-Proofpoint-GUID: ydqeLuzsrbjOKmHERvAnJyhNqLhK7YNr X-Proofpoint-ORIG-GUID: ydqeLuzsrbjOKmHERvAnJyhNqLhK7YNr X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-01-30_15,2023-01-30_01,2022-06-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 DQo+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj5Gcm9tOiBGZXJydWggWWlnaXQgPGZlcnJ1 aC55aWdpdEBhbWQuY29tPg0KPlNlbnQ6IE1vbmRheSwgSmFudWFyeSAyMywgMjAyMyAxMDo1OSBQ TQ0KPlRvOiBBbmt1ciBEd2l2ZWRpIDxhZHdpdmVkaUBtYXJ2ZWxsLmNvbT47IGRldkBkcGRrLm9y ZzsgRGF2aWQNCj5NYXJjaGFuZCA8ZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbT4NCj5DYzogdGhv bWFzQG1vbmphbG9uLm5ldDsgZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbTsgbWRyQGFzaHJvZS5l dTsNCj5vcmlrYUBudmlkaWEuY29tOyBjaGFzM0BhdHQuY29tOyBodW1pbjI5QGh1YXdlaS5jb207 DQo+bGludmlsbGVAdHV4ZHJpdmVyLmNvbTsgY2lhcmEubG9mdHVzQGludGVsLmNvbTsgcWkuei56 aGFuZ0BpbnRlbC5jb207DQo+bXdAc2VtaWhhbGYuY29tOyBta0BzZW1paGFsZi5jb207IHNoYWli cmFuQGFtYXpvbi5jb207DQo+ZXZnZW55c0BhbWF6b24uY29tOyBpZ29yY2hAYW1hem9uLmNvbTsg Y2hhbmR1QGFtZC5jb207IElnb3INCj5SdXNza2lraCA8aXJ1c3NraWtoQG1hcnZlbGwuY29tPjsg c2hlcGFyZC5zaWVnZWxAYXRvbWljcnVsZXMuY29tOw0KPmVkLmN6ZWNrQGF0b21pY3J1bGVzLmNv bTsgam9obi5taWxsZXJAYXRvbWljcnVsZXMuY29tOw0KPmFqaXQua2hhcGFyZGVAYnJvYWRjb20u Y29tOyBzb21uYXRoLmtvdHVyQGJyb2FkY29tLmNvbTsgSmVyaW4gSmFjb2INCj5Lb2xsYW51a2th cmFuIDxqZXJpbmpAbWFydmVsbC5jb20+OyBNYWNpZWogQ3pla2FqIFtDXQ0KPjxtY3pla2FqQG1h cnZlbGwuY29tPjsgU2hpaml0aCBUaG90dG9uIDxzdGhvdHRvbkBtYXJ2ZWxsLmNvbT47DQo+U3Jp c2l2YXN1YnJhbWFuaWFuIFNyaW5pdmFzYW4gPHNyaW5pdmFzYW5AbWFydmVsbC5jb20+OyBIYXJt YW4gS2FscmENCj48aGthbHJhQG1hcnZlbGwuY29tPjsgcmFodWwubGFra2lyZWRkeUBjaGVsc2lv LmNvbTsgam9obmRhbGVAY2lzY28uY29tOw0KPmh5b25raW1AY2lzY28uY29tOyBsaXVkb25nZG9u ZzNAaHVhd2VpLmNvbTsNCj55aXNlbi56aHVhbmdAaHVhd2VpLmNvbTsgeHVhbnppeWFuZzJAaHVh d2VpLmNvbTsNCj5jbG91ZC53YW5neGlhb3l1bkBodWF3ZWkuY29tOyB6aG91Z3VveWFuZ0BodWF3 ZWkuY29tOw0KPnNpbWVpLnN1QGludGVsLmNvbTsgd2VuanVuMS53dUBpbnRlbC5jb207IHFpbWlu Zy55YW5nQGludGVsLmNvbTsNCj5ZdXlpbmcuWmhhbmdAaW50ZWwuY29tOyBiZWlsZWkueGluZ0Bp bnRlbC5jb207IHhpYW8udy53YW5nQGludGVsLmNvbTsNCj5qaW5namluZy53dUBpbnRlbC5jb207 IGp1bmZlbmcuZ3VvQGludGVsLmNvbTsgcm9zZW4ueHVAaW50ZWwuY29tOyBOaXRoaW4NCj5LdW1h ciBEYWJpbHB1cmFtIDxuZGFiaWxwdXJhbUBtYXJ2ZWxsLmNvbT47IEtpcmFuIEt1bWFyIEtva2tp bGFnYWRkYQ0KPjxraXJhbmt1bWFya0BtYXJ2ZWxsLmNvbT47IFN1bmlsIEt1bWFyIEtvcmkgPHNr b3JpQG1hcnZlbGwuY29tPjsgU2F0aGENCj5Lb3Rlc3dhcmEgUmFvIEtvdHRpZGkgPHNrb3Rlc2h3 YXJAbWFydmVsbC5jb20+OyBMaXJvbiBIaW1pDQo+PGxpcm9uaEBtYXJ2ZWxsLmNvbT47IHpyQHNl bWloYWxmLmNvbTsgUmFkaGEgQ2hpbnRha3VudGxhDQo+PHJhZGhhY0BtYXJ2ZWxsLmNvbT47IFZl ZXJhc2VuYXJlZGR5IEJ1cnJ1IDx2YnVycnVAbWFydmVsbC5jb20+Ow0KPlNhdGhlc2ggQiBFZGFy YSA8c2VkYXJhQG1hcnZlbGwuY29tPjsgbWF0YW5AbnZpZGlhLmNvbTsNCj52aWFjaGVzbGF2b0Bu dmlkaWEuY29tOyBsb25nbGlAbWljcm9zb2Z0LmNvbTsgc3BpbmxlckBjZXNuZXQuY3o7DQo+Y2hh b3lvbmcuaGVAY29yaWdpbmUuY29tOyBuaWtsYXMuc29kZXJsdW5kQGNvcmlnaW5lLmNvbTsNCj5o ZW1hbnQuYWdyYXdhbEBueHAuY29tOyBzYWNoaW4uc2F4ZW5hQG9zcy5ueHAuY29tOyBnLnNpbmdo QG54cC5jb207DQo+YXBla3NoYS5ndXB0YUBueHAuY29tOyBzYWNoaW4uc2F4ZW5hQG54cC5jb207 IGFib3llckBwZW5zYW5kby5pbzsNCj5SYXNlc2ggTW9keSA8cm1vZHlAbWFydmVsbC5jb20+OyBT aGFoZWQgU2hhaWtoDQo+PHNoc2hhaWtoQG1hcnZlbGwuY29tPjsgRGV2ZW5kcmEgU2luZ2ggUmF3 YXQNCj48ZHNpbmdocmF3YXRAbWFydmVsbC5jb20+OyBhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFi cy5ydTsNCj5qaWF3ZW53dUB0cnVzdG5ldGljLmNvbTsgamlhbndhbmdAdHJ1c3RuZXRpYy5jb207 DQo+amJlaHJlbnNAdm13YXJlLmNvbTsgbWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb207DQo+Y2hl bmJvLnhpYUBpbnRlbC5jb207IHN0ZXZlbi53ZWJzdGVyQHdpbmRyaXZlci5jb207DQo+bWF0dC5w ZXRlcnNAd2luZHJpdmVyLmNvbTsgYnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb207DQo+bXRldHN1 eWFoQGdtYWlsLmNvbTsgZ3JpdmVAdTI1Ni5uZXQ7IGphc3ZpbmRlci5zaW5naEBpbnRlbC5jb207 DQo+Y3Jpc3RpYW4uZHVtaXRyZXNjdUBpbnRlbC5jb207IGpncmFqY2lhQGNpc2NvLmNvbTsNCj5t YkBzbWFydHNoYXJlc3lzdGVtcy5jb20NCj5TdWJqZWN0OiBbRVhUXSBSZTogW1BBVENIIHY2IDIv Nl0gZXRoZGV2OiBhZGQgdHJhY2UgcG9pbnRzIGZvciBldGhkZXYgKHBhcnQNCj5vbmUpDQo+DQo+ RXh0ZXJuYWwgRW1haWwNCj4NCj4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+T24gMS8yMC8yMDIzIDg6NDAgQU0s IEFua3VyIER3aXZlZGkgd3JvdGU6DQo+PiBBZGRzIHRyYWNlIHBvaW50cyBmb3IgZXRoZGV2IGZ1 bmN0aW9ucy4NCj4+IE1vdmVkIHRoZSBydGVfZXRoZGV2X3RyYWNlX3J4X2J1cnN0IGFuZCBydGVf ZXRoZGV2X3RyYWNlX3R4X2J1cnN0IHRvIGENCj4+IG5ldyBmaWxlIHJ0ZV9ldGhkZXZfdHJhY2Vf ZnBfYnVyc3QuaC4gVGhpcyBpcyBuZWVkZWQgdG8gcmVzb2x2ZSBjeWNsaWMNCj4+IGRlcGVuZGVu Y3kgYmV0d2VlbiBydGVfZXRoZGV2LmggYW5kIHJ0ZV9ldGhkZXZfdHJhY2VfZnAuaC4NCj4+DQo+ PiBTaWduZWQtb2ZmLWJ5OiBBbmt1ciBEd2l2ZWRpIDxhZHdpdmVkaUBtYXJ2ZWxsLmNvbT4NCj4N Cj48Li4uPg0KPg0KPj4gK1JURV9UUkFDRV9QT0lOVF9SRUdJU1RFUihydGVfZXRoX3RyYWNlX3J4 X2hhaXJwaW5fcXVldWVfc2V0dXAsDQo+PiArCWxpYi5ldGhkZXYucnguaGFpcnBpbl9xdWV1ZV9z ZXR1cCkNCj4+ICsNCj4NCj5zL3J4LmhhaXJwaW5fcXVldWVfc2V0dXAvcnhfaGFpcnBpbl9xdWV1 ZV9zZXR1cC8gPw0KPg0KPj4gK1JURV9UUkFDRV9QT0lOVF9SRUdJU1RFUihydGVfZXRoX3RyYWNl X3R4X2hhaXJwaW5fcXVldWVfc2V0dXAsDQo+PiArCWxpYi5ldGhkZXYudHguaGFpcnBpbl9xdWV1 ZV9zZXR1cCkNCj4+ICsNCj4NCj5zL3R4LmhhaXJwaW5fcXVldWVfc2V0dXAvdHhfaGFpcnBpbl9x dWV1ZV9zZXR1cC8gPw0KDQpPay4NCj4NCj48Li4uPg0KPg0KPj4gZGlmZiAtLWdpdCBhL2xpYi9l dGhkZXYvbWVzb24uYnVpbGQgYi9saWIvZXRoZGV2L21lc29uLmJ1aWxkIGluZGV4DQo+PiAzOTI1 MGI1ZGExLi5mNWMwODY1MDIzIDEwMDY0NA0KPj4gLS0tIGEvbGliL2V0aGRldi9tZXNvbi5idWls ZA0KPj4gKysrIGIvbGliL2V0aGRldi9tZXNvbi5idWlsZA0KPj4gQEAgLTI0LDYgKzI0LDcgQEAg aGVhZGVycyA9IGZpbGVzKA0KPj4gICAgICAgICAgJ3J0ZV9ldGhkZXYuaCcsDQo+PiAgICAgICAg ICAncnRlX2V0aGRldl90cmFjZS5oJywNCj4+ICAgICAgICAgICdydGVfZXRoZGV2X3RyYWNlX2Zw LmgnLA0KPj4gKyAgICAgICAgJ3J0ZV9ldGhkZXZfdHJhY2VfZnBfYnVyc3QuaCcsDQo+DQo+V2h5 IHRoZXNlIHRyYWNlIGhlYWRlcnMgYXJlIHB1YmxpYz8NCj5BcmVuJ3QgdHJhY2UgcG9pbnRzIG9u bHkgdXNlZCBieSB0aGUgQVBJcywgc28gSSBleHBlY3QgdGhlbSB0byBiZSBpbnRlcm5hbCwgc28N Cj5hcHBsaWNhdGlvbnMgc2hvdWxkbid0IG5lZWQgdGhlbS4gV2h5IHRoZXkgYXJlIGV4cHNlZCB0 byB1c2VyLg0KJ3J0ZV9ldGhkZXZfdHJhY2UuaCcgY2FuIGJlIG1hZGUgYXMgaW50ZXJuYWwuIE5v dCBzdXJlIGFib3V0ICdydGVfZXRoZGV2X3RyYWNlX2ZwLmgnIGFuZCAncnRlX2V0aGRldl90cmFj ZV9mcF9idXJzdC5oJyBhcyB0aGUgdHJhY2Vwb2ludHMgaW4gZmFzdCBwYXRoIG1heSBiZSBjYWxs ZWQgZnJvbSBwdWJsaWMgaW5saW5lIGZ1bmN0aW9ucy4NCj4NCj5ARGF2aWQsIHdoYXQgZG8geW91 IHRoaW5rPw0KPg0KPjwuLi4+DQo+DQo+PiBAQCAtMjU4LDYgKzI1OSw3IEBAIHJ0ZV9ldGhfaXRl cmF0b3JfaW5pdChzdHJ1Y3QgcnRlX2Rldl9pdGVyYXRvcg0KPj4gKml0ZXIsIGNvbnN0IGNoYXIg KmRldmFyZ3Nfc3RyKQ0KPj4NCj4+ICBlbmQ6DQo+PiAgCWl0ZXItPmNscyA9IHJ0ZV9jbGFzc19m aW5kX2J5X25hbWUoImV0aCIpOw0KPj4gKwlydGVfZXRoX3RyYWNlX2l0ZXJhdG9yX2luaXQoZGV2 YXJnc19zdHIpOw0KPj4gIAlydGVfZGV2YXJnc19yZXNldCgmZGV2YXJncyk7DQo+PiAgCXJldHVy biAwOw0KPg0KPldoeSBub3QgYWRkIHRyYWNlIGNhbGwganVzdCBiZWZvcmUgcmV0dXJuLCBhcyBh IHNlcGFyYXRlIGJsb2NrLCBsaWtlOg0KDQpPay4NCj5gYA0KPiAgZW5kOg0KPiAgCWl0ZXItPmNs cyA9IHJ0ZV9jbGFzc19maW5kX2J5X25hbWUoImV0aCIpOw0KPiAgCXJ0ZV9kZXZhcmdzX3Jlc2V0 KCZkZXZhcmdzKTsNCj4NCj4gCXJ0ZV9ldGhfdHJhY2VfaXRlcmF0b3JfaW5pdChkZXZhcmdzX3N0 cik7DQo+DQo+ICAJcmV0dXJuIDA7DQo+YGANCj4NCj4+DQo+PiBAQCAtMjc0LDYgKzI3Niw4IEBA IHJ0ZV9ldGhfaXRlcmF0b3JfaW5pdChzdHJ1Y3QgcnRlX2Rldl9pdGVyYXRvcg0KPj4gKml0ZXIs IGNvbnN0IGNoYXIgKmRldmFyZ3Nfc3RyKSAgdWludDE2X3QNCj4+IHJ0ZV9ldGhfaXRlcmF0b3Jf bmV4dChzdHJ1Y3QgcnRlX2Rldl9pdGVyYXRvciAqaXRlcikgIHsNCj4+ICsJdWludDE2X3QgaWQ7 DQo+PiArDQo+PiAgCWlmIChpdGVyID09IE5VTEwpIHsNCj4+ICAJCVJURV9FVEhERVZfTE9HKEVS UiwNCj4+ICAJCQkiQ2Fubm90IGdldCBuZXh0IGRldmljZSBmcm9tIE5VTEwgaXRlcmF0b3JcbiIp OyBAQCAtDQo+Mjk3LDggKzMwMSwxMQ0KPj4gQEAgcnRlX2V0aF9pdGVyYXRvcl9uZXh0KHN0cnVj dCBydGVfZGV2X2l0ZXJhdG9yICppdGVyKQ0KPj4gIAkJLyogQSBkZXZpY2UgaXMgbWF0Y2hpbmcg YnVzIHBhcnQsIG5lZWQgdG8gY2hlY2sgZXRoZGV2IHBhcnQuICovDQo+PiAgCQlpdGVyLT5jbGFz c19kZXZpY2UgPSBpdGVyLT5jbHMtPmRldl9pdGVyYXRlKA0KPj4gIAkJCQlpdGVyLT5jbGFzc19k ZXZpY2UsIGl0ZXItPmNsc19zdHIsIGl0ZXIpOw0KPj4gLQkJaWYgKGl0ZXItPmNsYXNzX2Rldmlj ZSAhPSBOVUxMKQ0KPj4gLQkJCXJldHVybiBldGhfZGV2X3RvX2lkKGl0ZXItPmNsYXNzX2Rldmlj ZSk7IC8qIG1hdGNoICovDQo+PiArCQlpZiAoaXRlci0+Y2xhc3NfZGV2aWNlICE9IE5VTEwpIHsN Cj4+ICsJCQlpZCA9IGV0aF9kZXZfdG9faWQoaXRlci0+Y2xhc3NfZGV2aWNlKTsNCj4+ICsJCQly dGVfZXRoX3RyYWNlX2l0ZXJhdG9yX25leHQoaXRlciwgaWQpOw0KPj4gKwkJCXJldHVybiBpZDsg LyogbWF0Y2ggKi8NCj4NCj5wbGVhc2UgbW92ZSAnaWQnIGRlY2xhcmF0aW9uIHdpdGhpbiB0aGUg aWYgYmxvY2ssIGFuZCBhZ2FpbiBwdXQgdHJhY2UgY2FsbCBpbnRvDQo+c2VwYXJhdGUgYmxvY2sg dG8gaGlnaGxpZ2h0IGl0LCBvdGhlcndpc2UgZWFzeSB0byBtaXNzLCBsaWtlOg0KDQpPay4NCj4N Cj5gYA0KPmlmIChpdGVyLT5jbGFzc19kZXZpY2UgIT0gTlVMTCkgew0KPgl1aW50MTZfdCBpZCA9 IGV0aF9kZXZfdG9faWQoaXRlci0+Y2xhc3NfZGV2aWNlKTsNCj4NCj4JcnRlX2V0aF90cmFjZV9p dGVyYXRvcl9uZXh0KGl0ZXIsIGlkKTsNCj4NCj4JcmV0dXJuIGlkOyAvKiBtYXRjaCAqLw0KPn0N Cj4NCj4NCj4+ICsJCX0NCj4+ICAJfSB3aGlsZSAoaXRlci0+YnVzICE9IE5VTEwpOyAvKiBuZWVk IHRvIHRyeSBuZXh0IHJ0ZV9kZXZpY2UgKi8NCj4+DQo+PiAgCS8qIE5vIG1vcmUgZXRoZGV2IHBv cnQgdG8gaXRlcmF0ZS4gKi8gQEAgLTMxNiw2ICszMjMsNyBAQA0KPj4gcnRlX2V0aF9pdGVyYXRv cl9jbGVhbnVwKHN0cnVjdCBydGVfZGV2X2l0ZXJhdG9yICppdGVyKQ0KPj4NCj4+ICAJaWYgKGl0 ZXItPmJ1c19zdHIgPT0gTlVMTCkNCj4+ICAJCXJldHVybjsgLyogbm90aGluZyB0byBmcmVlIGlu IHB1cmUgY2xhc3MgZmlsdGVyICovDQo+PiArCXJ0ZV9ldGhfdHJhY2VfaXRlcmF0b3JfY2xlYW51 cChpdGVyKTsNCj4NCj5DYW4geW91IHBsZWFzZSBtYWtlIHRyYWNlIGNhbGwgYSBzZXBhcmF0ZSBi bG9jaywgSSB3b24ndCBjb21tZW50IHNhbWUgZm9yDQo+YmVsbG93LCBjYW4geW91IHBsZWFzZSBh cHBseSB0aGlzIHRvIGFsbC4NCg0KSGF2ZSBtaXNzZWQgdG8gbWFrZSBmZXcgZnVuY3Rpb25zIGFz IHNlcGFyYXRlIGJsb2NrLiBNYWpvcml0eSBvZiB0aGUgZnVuY3Rpb25zIGFyZSBtYWRlIGFzIHNl cGFyYXRlIGJsb2NrLiBXaWxsIG1ha2UgdGhlc2UgYXMgc2VwYXJhdGUgYmxvY2suDQo+DQo+PiAg CWZyZWUoUlRFX0NBU1RfRklFTEQoaXRlciwgYnVzX3N0ciwgY2hhciAqKSk7IC8qIHdvcmthcm91 bmQgY29uc3QgKi8NCj4+ICAJZnJlZShSVEVfQ0FTVF9GSUVMRChpdGVyLCBjbHNfc3RyLCBjaGFy ICopKTsgLyogd29ya2Fyb3VuZCBjb25zdCAqLw0KPj4gIAltZW1zZXQoaXRlciwgMCwgc2l6ZW9m KCppdGVyKSk7DQo+PiBAQCAtMzI0LDEyICszMzIsMTggQEAgcnRlX2V0aF9pdGVyYXRvcl9jbGVh bnVwKHN0cnVjdCBydGVfZGV2X2l0ZXJhdG9yDQo+PiAqaXRlcikgIHVpbnQxNl90ICBydGVfZXRo X2ZpbmRfbmV4dCh1aW50MTZfdCBwb3J0X2lkKSAgew0KPj4gKwlydGVfZXRoX3RyYWNlX2ZpbmRf bmV4dChwb3J0X2lkKTsNCj4+ICsNCj4NCj5XaHkgdHJhY2luZyBwcmV2aW91cyBwb3J0X2lkLCBh bmQgb3RoZXIgb25lIGJlbG93IHJlY29yZHMgbmV4dCBwb3J0X2lkLA0KPndvbid0IGl0IGJlIGNv bmZ1c2luZyB0byBoYXZlIGJvdGggd2l0aCBzYW1lIG5hbWUuDQo+DQo+SSBzdWdnZXN0IGp1c3Qg a2VlcCBsYXN0IG9uZSwgKG5leHQgcG9ydF9pZCkuDQpPSy4NCj4NCj4+ICAJd2hpbGUgKHBvcnRf aWQgPCBSVEVfTUFYX0VUSFBPUlRTICYmDQo+PiAgCQkJcnRlX2V0aF9kZXZpY2VzW3BvcnRfaWRd LnN0YXRlID09DQo+UlRFX0VUSF9ERVZfVU5VU0VEKQ0KPj4gIAkJcG9ydF9pZCsrOw0KPj4NCj4+ IC0JaWYgKHBvcnRfaWQgPj0gUlRFX01BWF9FVEhQT1JUUykNCj4+ICsJaWYgKHBvcnRfaWQgPj0g UlRFX01BWF9FVEhQT1JUUykgew0KPj4gKwkJcnRlX2V0aF90cmFjZV9maW5kX25leHQoUlRFX01B WF9FVEhQT1JUUyk7DQo+DQo+SXMgdGhlcmUgYSBzcGVjaWZpYyByZWFzb24gdG8gdHJhY2UgYWxs IHBhdGhzLCB3aHkgbm90IGp1c3Qga2VlcCB0aGUgbGFzdCBvbmU/DQpUaGlzIGNhbiBiZSBrZXB0 IGFzIHRoZSBmdW5jdGlvbiByZXR1cm5zIHdpdGggUlRFX01BWF9FVEhQT1JUUyBoZXJlLg0KPg0K Pj4gIAkJcmV0dXJuIFJURV9NQVhfRVRIUE9SVFM7DQo+PiArCX0NCj4+ICsNCj4+ICsJcnRlX2V0 aF90cmFjZV9maW5kX25leHQocG9ydF9pZCk7DQpUaGlzIGNhbiBiZSBhbHNvIGtlcHQuDQo+Pg0K Pj4gIAlyZXR1cm4gcG9ydF9pZDsNCj4+ICB9DQo+PiBAQCAtMzQ3LDEwICszNjEsMTUgQEAgdWlu dDE2X3QNCj4+ICBydGVfZXRoX2ZpbmRfbmV4dF9vZih1aW50MTZfdCBwb3J0X2lkLCBjb25zdCBz dHJ1Y3QgcnRlX2RldmljZQ0KPj4gKnBhcmVudCkgIHsNCj4+ICAJcG9ydF9pZCA9IHJ0ZV9ldGhf ZmluZF9uZXh0KHBvcnRfaWQpOw0KPj4gKw0KPj4gKwlydGVfZXRoX3RyYWNlX2ZpbmRfbmV4dF9v Zihwb3J0X2lkKTsNCj4+ICsNCj4+ICAJd2hpbGUgKHBvcnRfaWQgPCBSVEVfTUFYX0VUSFBPUlRT ICYmDQo+PiAgCQkJcnRlX2V0aF9kZXZpY2VzW3BvcnRfaWRdLmRldmljZSAhPSBwYXJlbnQpDQo+ PiAgCQlwb3J0X2lkID0gcnRlX2V0aF9maW5kX25leHQocG9ydF9pZCArIDEpOw0KPj4NCj4+ICsJ cnRlX2V0aF90cmFjZV9maW5kX25leHRfb2YocG9ydF9pZCk7DQo+PiArDQo+DQo+U2FtZSBoZXJl LCBsZXRzIGtlZXAgb25seSB0aGUgbGFzdCBvbmUuDQpPay4NCj4NCj4+ICAJcmV0dXJuIHBvcnRf aWQ7DQo+PiAgfQ0KPj4NCj4+IEBAIC0zNTgsNiArMzc3LDkgQEAgdWludDE2X3QNCj4+ICBydGVf ZXRoX2ZpbmRfbmV4dF9zaWJsaW5nKHVpbnQxNl90IHBvcnRfaWQsIHVpbnQxNl90IHJlZl9wb3J0 X2lkKSAgew0KPj4gIAlSVEVfRVRIX1ZBTElEX1BPUlRJRF9PUl9FUlJfUkVUKHJlZl9wb3J0X2lk LA0KPlJURV9NQVhfRVRIUE9SVFMpOw0KPj4gKw0KPj4gKwlydGVfZXRoX3RyYWNlX2ZpbmRfbmV4 dF9zaWJsaW5nKHBvcnRfaWQsIHJlZl9wb3J0X2lkKTsNCj4+ICsNCj4NCj5UaGlzIGRvZXNuJ3Qg cmVjb3JkIHRoZSByZXR1cm4gdmFsdWVzLCBmdW5jdGlvbiBzaG91bGQgYmUgdXBkYXRlZCB0byBr ZWVwIHRoZQ0KPmludGVyaW0gcmV0dXJuIHZhbHVlIG9mICdydGVfZXRoX2ZpbmRfbmV4dF9vZigp JyBhbmQgdHJhY2UgZnVuY3Rpb25zIHNob3VsZA0KPnJlY29yZCBpdC4NCldpbGwgbWFrZSB0aGlz IGNoYW5nZS4NCj4NCj4+ICAJcmV0dXJuIHJ0ZV9ldGhfZmluZF9uZXh0X29mKHBvcnRfaWQsDQo+ PiAgCQkJcnRlX2V0aF9kZXZpY2VzW3JlZl9wb3J0X2lkXS5kZXZpY2UpOw0KPj4gIH0NCj4+IEBA IC0zNzIsMTAgKzM5NCwxMyBAQCBpbnQNCj4+ICBydGVfZXRoX2Rldl9pc192YWxpZF9wb3J0KHVp bnQxNl90IHBvcnRfaWQpICB7DQo+PiAgCWlmIChwb3J0X2lkID49IFJURV9NQVhfRVRIUE9SVFMg fHwNCj4+IC0JICAgIChydGVfZXRoX2RldmljZXNbcG9ydF9pZF0uc3RhdGUgPT0gUlRFX0VUSF9E RVZfVU5VU0VEKSkNCj4+ICsJICAgIChydGVfZXRoX2RldmljZXNbcG9ydF9pZF0uc3RhdGUgPT0g UlRFX0VUSF9ERVZfVU5VU0VEKSkgew0KPj4gKwkJcnRlX2V0aGRldl90cmFjZV9pc192YWxpZF9w b3J0KHBvcnRfaWQsIDApOw0KPj4gIAkJcmV0dXJuIDA7DQo+PiAtCWVsc2UNCj4+ICsJfSBlbHNl IHsNCj4+ICsJCXJ0ZV9ldGhkZXZfdHJhY2VfaXNfdmFsaWRfcG9ydChwb3J0X2lkLCAxKTsNCj4+ ICAJCXJldHVybiAxOw0KPj4gKwl9DQo+DQo+V2hhdCBhYm91dCB0byBjcmVhdGUgYW4gaW50ZXJp bSAnaXNfdmFsaWQnIHZhcmlhYmxlIGFuZCByZWNvcmQgaXQgd2l0aCBzaW5nbGUNCj50cmFjZSBj YWxsPw0KT2suDQo+DQo+PC4uLj4NCj4NCj4+ICB1aW50MzJfdA0KPj4gIHJ0ZV9ldGhfc3BlZWRf Yml0ZmxhZyh1aW50MzJfdCBzcGVlZCwgaW50IGR1cGxleCkgIHsNCj4+ICsJcnRlX2V0aF90cmFj ZV9zcGVlZF9iaXRmbGFnKHNwZWVkLCBkdXBsZXgpOw0KPg0KPkxldCdzIGNyZWF0ZSBhbiBpbnRl cmltIHJldHVybiB2YWx1ZSBhbmQgcmVjb3JkIGl0IGZvciB0aGUgdHJhY2UgZnVuY3Rpb24sIGFu ZA0KPnBsZWFzZSBtb3ZlIHRyYWNlIGZ1bmN0aW9uIHRvIHRoZSBib3R0b20gb2YgdGhlIGZ1bmN0 aW9uLg0KT2suDQo+DQo+PC4uLj4NCj4NCj4+IEBAIC0yNDMzLDYgKzI1MjksNyBAQCB2b2lkDQo+ PiAgcnRlX2V0aF90eF9idWZmZXJfZHJvcF9jYWxsYmFjayhzdHJ1Y3QgcnRlX21idWYgKipwa3Rz LCB1aW50MTZfdCB1bnNlbnQsDQo+PiAgCQl2b2lkICp1c2VyZGF0YSBfX3J0ZV91bnVzZWQpDQo+ PiAgew0KPj4gKwlydGVfZXRoX3RyYWNlX3R4X2J1ZmZlcl9kcm9wX2NhbGxiYWNrKHBrdHMsIHVu c2VudCk7DQo+DQo+U2luY2Ugb25seSBwb2ludGVyIHZhbHVlIGlzIHJlY29yZGVkLCBmdW5jdGlv biBjYW4gYmUgbW92ZWQgZG93biwgcGxlYXNlIHB1dA0KPmVtdHB5IGxpbmUgaW4gYmV0d2Vlbi4N Ck9rLg0KPg0KPjwuLi4+DQo+DQo+PiBAQCAtMjQ5NSw3ICsyNTk4LDEyIEBAIHJ0ZV9ldGhfdHhf ZG9uZV9jbGVhbnVwKHVpbnQxNl90IHBvcnRfaWQsDQo+dWludDE2X3QgcXVldWVfaWQsIHVpbnQz Ml90IGZyZWVfY250KQ0KPj4gIAkvKiBDYWxsIGRyaXZlciB0byBmcmVlIHBlbmRpbmcgbWJ1ZnMu ICovDQo+PiAgCXJldCA9ICgqZGV2LT5kZXZfb3BzLT50eF9kb25lX2NsZWFudXApKGRldi0+ZGF0 YS0NCj4+dHhfcXVldWVzW3F1ZXVlX2lkXSwNCj4+ICAJCQkJCSAgICAgICBmcmVlX2NudCk7DQo+ PiAtCXJldHVybiBldGhfZXJyKHBvcnRfaWQsIHJldCk7DQo+PiArDQo+PiArCXJldCA9IGV0aF9l cnIocG9ydF9pZCwgcmV0KTsNCj4NCj5QbGVhc2UgZG9uJ3QgYWRkIG5ldyBlbXB0eSBsaW5lIF9i ZWZvcmVfIHRoaXMgZnVuY3Rpb25zLg0KT2suDQo+DQo+PC4uLj4NCj4NCj4+IEBAIC0yNzAwLDYg KzI4MzQsOCBAQCBydGVfZXRoX2xpbmtfdG9fc3RyKGNoYXIgKnN0ciwgc2l6ZV90IGxlbiwgY29u c3QNCj5zdHJ1Y3QgcnRlX2V0aF9saW5rICpldGhfbGluaykNCj4+ICAJCXJldHVybiAtRUlOVkFM Ow0KPj4gIAl9DQo+Pg0KPj4gKwlydGVfZXRoX3RyYWNlX2xpbmtfdG9fc3RyKGxlbiwgZXRoX2xp bmspOw0KPj4gKw0KPg0KPldoeSBub3QgcmVjb3JkIHJldHVybiB2YWx1ZSBhbmQgbW92ZSB0cmFj ZSBmdW5jdGlvbiB0byB0aGUgZW5kIG9mIHRoZQ0KPmZ1bmN0aW9uIGFuZCByZWNvcmQgJ3N0cicg dG9vLg0KT2suDQo+DQo+PiAgCWlmIChldGhfbGluay0+bGlua19zdGF0dXMgPT0gUlRFX0VUSF9M SU5LX0RPV04pDQo+PiAgCQlyZXR1cm4gc25wcmludGYoc3RyLCBsZW4sICJMaW5rIGRvd24iKTsN Cj4+ICAJZWxzZQ0KPj4gQEAgLTI3MTUsNiArMjg1MSw3IEBAIGludA0KPj4gIHJ0ZV9ldGhfc3Rh dHNfZ2V0KHVpbnQxNl90IHBvcnRfaWQsIHN0cnVjdCBydGVfZXRoX3N0YXRzICpzdGF0cykgIHsN Cj4+ICAJc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXY7DQo+PiArCWludCByZXQ7DQo+Pg0KPj4gIAlS VEVfRVRIX1ZBTElEX1BPUlRJRF9PUl9FUlJfUkVUKHBvcnRfaWQsIC1FTk9ERVYpOw0KPj4gIAlk ZXYgPSAmcnRlX2V0aF9kZXZpY2VzW3BvcnRfaWRdOw0KPj4gQEAgLTI3MzAsNyArMjg2NywxMiBA QCBydGVfZXRoX3N0YXRzX2dldCh1aW50MTZfdCBwb3J0X2lkLCBzdHJ1Y3QNCj5ydGVfZXRoX3N0 YXRzICpzdGF0cykNCj4+ICAJaWYgKCpkZXYtPmRldl9vcHMtPnN0YXRzX2dldCA9PSBOVUxMKQ0K Pj4gIAkJcmV0dXJuIC1FTk9UU1VQOw0KPj4gIAlzdGF0cy0+cnhfbm9tYnVmID0gZGV2LT5kYXRh LT5yeF9tYnVmX2FsbG9jX2ZhaWxlZDsNCj4+IC0JcmV0dXJuIGV0aF9lcnIocG9ydF9pZCwgKCpk ZXYtPmRldl9vcHMtPnN0YXRzX2dldCkoZGV2LCBzdGF0cykpOw0KPj4gKw0KPj4gKwlyZXQgPSBl dGhfZXJyKHBvcnRfaWQsICgqZGV2LT5kZXZfb3BzLT5zdGF0c19nZXQpKGRldiwgc3RhdHMpKTsN Cj4NCj5QbGVhZXMgZG9uJ3QgYWRkIGVtcHl0IGxpbmUgYWJvdmUuDQpPay4NCj4NCj48Li4uPg0K Pg0KPj4gQEAgLTMyMjksMTMgKzMzODQsMTkgQEAgaW50DQo+PiAgcnRlX2V0aF94c3RhdHNfcmVz ZXQodWludDE2X3QgcG9ydF9pZCkgIHsNCj4+ICAJc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXY7DQo+ PiArCWludCByZXQ7DQo+Pg0KPj4gIAlSVEVfRVRIX1ZBTElEX1BPUlRJRF9PUl9FUlJfUkVUKHBv cnRfaWQsIC1FTk9ERVYpOw0KPj4gIAlkZXYgPSAmcnRlX2V0aF9kZXZpY2VzW3BvcnRfaWRdOw0K Pj4NCj4+ICAJLyogaW1wbGVtZW50ZWQgYnkgdGhlIGRyaXZlciAqLw0KPj4gLQlpZiAoZGV2LT5k ZXZfb3BzLT54c3RhdHNfcmVzZXQgIT0gTlVMTCkNCj4+IC0JCXJldHVybiBldGhfZXJyKHBvcnRf aWQsICgqZGV2LT5kZXZfb3BzLT54c3RhdHNfcmVzZXQpKGRldikpOw0KPj4gKwlpZiAoZGV2LT5k ZXZfb3BzLT54c3RhdHNfcmVzZXQgIT0gTlVMTCkgew0KPj4gKwkJcmV0ID0gZXRoX2Vycihwb3J0 X2lkLCAoKmRldi0+ZGV2X29wcy0+eHN0YXRzX3Jlc2V0KShkZXYpKTsNCj4NCj5DYW4geW91IHBs ZWFzZSBtb3ZlICdyZXQnIGRlY2xlcmF0aW9uIGluIGlmIGJsb2NrLg0KT2suDQo+DQo+YGANCj5p bnQgcmV0ID0gZXRoX2Vycihwb3J0X2lkLCAoKmRldi0+ZGV2X29wcy0+eHN0YXRzX3Jlc2V0KShk ZXYpKTsNCj5gYA0KPg0KPj4gKw0KPj4gKwkJcnRlX2V0aF90cmFjZV94c3RhdHNfcmVzZXQocG9y dF9pZCwgcmV0KTsNCj4+ICsNCj4+ICsJCXJldHVybiByZXQ7DQo+PiArCX0NCj4+DQo+PiAgCS8q IGZhbGxiYWNrIHRvIGRlZmF1bHQgKi8NCj4+ICAJcmV0dXJuIHJ0ZV9ldGhfc3RhdHNfcmVzZXQo cG9ydF9pZCk7IEBAIC0zMjY4LDI0ICszNDI5LDM3IEBAIGludA0KPj4gcnRlX2V0aF9kZXZfc2V0 X3R4X3F1ZXVlX3N0YXRzX21hcHBpbmcodWludDE2X3QgcG9ydF9pZCwgdWludDE2X3QNCj50eF9x dWV1ZV9pZCwNCj4+ICAJCXVpbnQ4X3Qgc3RhdF9pZHgpDQo+PiAgew0KPj4gLQlyZXR1cm4gZXRo X2Vycihwb3J0X2lkLCBldGhfZGV2X3NldF9xdWV1ZV9zdGF0c19tYXBwaW5nKHBvcnRfaWQsDQo+ PiArCWludCByZXQ7DQo+PiArDQo+PiArCXJldCA9IGV0aF9lcnIocG9ydF9pZCwgZXRoX2Rldl9z ZXRfcXVldWVfc3RhdHNfbWFwcGluZyhwb3J0X2lkLA0KPj4gIAkJCQkJCXR4X3F1ZXVlX2lkLA0K Pj4gIAkJCQkJCXN0YXRfaWR4LCBTVEFUX1FNQVBfVFgpKTsNCj4+ICsNCj4+ICsJcnRlX2V0aGRl dl90cmFjZV9zZXRfdHhfcXVldWVfc3RhdHNfbWFwcGluZyhwb3J0X2lkLCB0eF9xdWV1ZV9pZCwN Cj4+ICtzdGF0X2lkeCwgcmV0KTsNCj4+ICsNCj4NCj5JbiBiZWxvdyBmdW5jdGlvbiAncnRlX2V0 aGRldl90cmFjZV9zZXRfcnhfcXVldWVfc3RhdHNfbWFwcGluZygpJyBjYWxsDQo+d3JhcHBlZCB0 byBmaXQgODAgbGluZXMsIGJ1dCB0aGlzIG9uZSBub3QsIHBsZWFzZSBiZSBjb25zaXN0ZW50IGFu ZCBpZiBwb3NzaWJsZQ0KPmJyZWFrIGJvdGggdG8gZml0IGFzIGRvbmUgYmVsb3cuDQpPay4NCj4N Cj48Li4uPg0KPg0KPj4gK1JURV9UUkFDRV9QT0lOVCgNCj4+ICsJcnRlX2V0aF90cmFjZV9pdGVy YXRvcl9uZXh0LA0KPj4gKwlSVEVfVFJBQ0VfUE9JTlRfQVJHUyhzdHJ1Y3QgcnRlX2Rldl9pdGVy YXRvciAqaXRlciwgdWludDE2X3QgaWQpLA0KPj4gKwlydGVfdHJhY2VfcG9pbnRfZW1pdF9wdHIo aXRlcik7DQo+PiArCXJ0ZV90cmFjZV9wb2ludF9lbWl0X3N0cmluZyhpdGVyLT5idXNfc3RyKTsN Cj4+ICsJcnRlX3RyYWNlX3BvaW50X2VtaXRfc3RyaW5nKGl0ZXItPmNsc19zdHIpOw0KPj4gKwly dGVfdHJhY2VfcG9pbnRfZW1pdF91MTYoaWQpOw0KPj4gKykNCj4+ICsNCj4NCj5UcmFjZSBmdW5j dGlvbnMgZG9uJ3QgY2hhZ2UgcGFyYW1ldGVycywgd2hhdCBkbyB5b3UgdGhpbmsgdG8gdXBkYXRl IGFsbA0KPnBhcmFtZXRlcnMgd2l0aCAnY29uc3QnIGtleXdvcmRzIGZvciB0aGlzOg0KWWVzIHdp bGwgbWFrZSBpdCBhcyBjb25zdC4NCj5gYA0KPlJURV9UUkFDRV9QT0lOVCgNCj4JcnRlX2V0aF90 cmFjZV9pdGVyYXRvcl9uZXh0LA0KPglSVEVfVFJBQ0VfUE9JTlRfQVJHUyhjb25zdCBzdHJ1Y3Qg cnRlX2Rldl9pdGVyYXRvciAqaXRlciwgdWludDE2X3QNCj5pZCksDQo+CXJ0ZV90cmFjZV9wb2lu dF9lbWl0X3B0cihpdGVyKTsNCj4JcnRlX3RyYWNlX3BvaW50X2VtaXRfc3RyaW5nKGl0ZXItPmJ1 c19zdHIpOw0KPglydGVfdHJhY2VfcG9pbnRfZW1pdF9zdHJpbmcoaXRlci0+Y2xzX3N0cik7DQo+ CXJ0ZV90cmFjZV9wb2ludF9lbWl0X3UxNihpZCk7DQo+KQ0KPmBgDQo+DQo+VGhpcyBjb21tZW50 IGlzIG5vdCBqdXN0IGZvciB0aGlzIHRyYWNlIHBvaW50LCBidXQgZm9yICphbGwqIHRyYWNlIHBv aW50cy4NCj4NCj48Li4uPg0KPg0KPj4gK1JURV9UUkFDRV9QT0lOVCgNCj4+ICsJcnRlX2V0aF90 cmFjZV9yeF9oYWlycGluX3F1ZXVlX3NldHVwLA0KPj4gKwlSVEVfVFJBQ0VfUE9JTlRfQVJHUyh1 aW50MTZfdCBwb3J0X2lkLCB1aW50MTZfdCByeF9xdWV1ZV9pZCwNCj4+ICsJCXVpbnQxNl90IG5i X3J4X2Rlc2MsIGNvbnN0IHN0cnVjdCBydGVfZXRoX2hhaXJwaW5fY29uZiAqY29uZiwNCj4+ICsJ CWludCByZXQpLA0KPj4gKwl1aW50MzJfdCBwZWVyX2NvdW50ID0gY29uZi0+cGVlcl9jb3VudDsN Cj4+ICsJdWludDMyX3QgdHhfZXhwbGljaXQgPSBjb25mLT50eF9leHBsaWNpdDsNCj4+ICsJdWlu dDMyX3QgbWFudWFsX2JpbmQgPSBjb25mLT5tYW51YWxfYmluZDsNCj4+ICsJdWludDMyX3QgdXNl X2xvY2tlZF9kZXZpY2VfbWVtb3J5ID0gY29uZi0NCj4+dXNlX2xvY2tlZF9kZXZpY2VfbWVtb3J5 Ow0KPj4gKwl1aW50MzJfdCB1c2VfcnRlX21lbW9yeSA9IGNvbmYtPnVzZV9ydGVfbWVtb3J5Ow0K Pj4gKwl1aW50MzJfdCBmb3JjZV9tZW1vcnkgPSBjb25mLT5mb3JjZV9tZW1vcnk7DQo+PiArDQo+ PiArCXJ0ZV90cmFjZV9wb2ludF9lbWl0X3UxNihwb3J0X2lkKTsNCj4+ICsJcnRlX3RyYWNlX3Bv aW50X2VtaXRfdTE2KHJ4X3F1ZXVlX2lkKTsNCj4+ICsJcnRlX3RyYWNlX3BvaW50X2VtaXRfdTE2 KG5iX3J4X2Rlc2MpOw0KPj4gKwlydGVfdHJhY2VfcG9pbnRfZW1pdF9wdHIoY29uZik7DQo+PiAr CXJ0ZV90cmFjZV9wb2ludF9lbWl0X3UzMihwZWVyX2NvdW50KTsNCj4+ICsJcnRlX3RyYWNlX3Bv aW50X2VtaXRfdTMyKHR4X2V4cGxpY2l0KTsNCj4+ICsJcnRlX3RyYWNlX3BvaW50X2VtaXRfdTMy KG1hbnVhbF9iaW5kKTsNCj4+ICsJcnRlX3RyYWNlX3BvaW50X2VtaXRfdTMyKHVzZV9sb2NrZWRf ZGV2aWNlX21lbW9yeSk7DQo+PiArCXJ0ZV90cmFjZV9wb2ludF9lbWl0X3UzMih1c2VfcnRlX21l bW9yeSk7DQo+PiArCXJ0ZV90cmFjZV9wb2ludF9lbWl0X3UzMihmb3JjZV9tZW1vcnkpOw0KPj4g KwlydGVfdHJhY2VfcG9pbnRfZW1pdF9pbnQocmV0KTsNCj4NCj5EbyB3ZSBuZWVkIHRlbXBvcmFy eSB2YXJpYWJsZXMgbGlrZSAncGVlcl9jb3VudCcsIHdoeSBub3QgZGlyZWN0bHkgdXNlIHRoZW06 DQpUZW1wb3JhcnkgdmFyaWFibGVzIGFyZSBuZWVkZWQgd2hlcmUgdGhlIGFjdHVhbCB2YXJpYWJs ZSBpcyBhIGJpdGZpZWxkLg0KRm9yIGV4YW1wbGUgaW4gc3RydWN0IHJ0ZV9ldGhfaGFpcnBpbl9j b25mOg0Kc3RydWN0IHJ0ZV9ldGhfaGFpcnBpbl9jb25mIHsNCnVpbnQzMl90IHBlZXJfY291bnQ6 MTY7DQouLi4uDQp1aW50MzJfdCB0eF9leHBsaWNpdDoxDQouLi4uDQp9Ow0KDQpPdGhlcndpc2Ug dGhlcmUgaXMgYSBjb21waWxhdGlvbiBlcnJvci4NCi4uL2xpYi9ldGhkZXYvcnRlX2V0aGRldl90 cmFjZS5oOjI1Mzo5OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYcnRlX3RyYWNlX3Bv aW50X2VtaXRfdTE24oCZDQogIDI1MyB8ICAgICAgICAgcnRlX3RyYWNlX3BvaW50X2VtaXRfdTE2 KGNvbmYtPnBlZXJfY291bnQpOw0KICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fg0KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV90cmFjZV9wb2ludC5oOjM2OTozODogZXJyb3I6 IOKAmHNpemVvZuKAmSBhcHBsaWVkIHRvIGEgYml0LWZpZWxkDQogIDM2OSB8ICAgICAgICAgbWVt ID0gUlRFX1BUUl9BREQobWVtLCBzaXplb2YoaW4pKTsgXA0KDQo+YGANCj5ydGVfdHJhY2VfcG9p bnRfZW1pdF91MzIoY29uZi0+cGVlcl9jb3VudCk7DQo+YGANCj4NCj4+ICspDQo+PiArDQo+PiAr UlRFX1RSQUNFX1BPSU5UKA0KPj4gKwlydGVfZXRoX3RyYWNlX3R4X2hhaXJwaW5fcXVldWVfc2V0 dXAsDQo+PiArCVJURV9UUkFDRV9QT0lOVF9BUkdTKHVpbnQxNl90IHBvcnRfaWQsIHVpbnQxNl90 IHR4X3F1ZXVlX2lkLA0KPj4gKwkJdWludDE2X3QgbmJfdHhfZGVzYywgY29uc3Qgc3RydWN0IHJ0 ZV9ldGhfaGFpcnBpbl9jb25mICpjb25mLA0KPj4gKwkJaW50IHJldCksDQo+PiArCXVpbnQzMl90 IHBlZXJfY291bnQgPSBjb25mLT5wZWVyX2NvdW50Ow0KPj4gKwl1aW50MzJfdCB0eF9leHBsaWNp dCA9IGNvbmYtPnR4X2V4cGxpY2l0Ow0KPj4gKwl1aW50MzJfdCBtYW51YWxfYmluZCA9IGNvbmYt Pm1hbnVhbF9iaW5kOw0KPj4gKwl1aW50MzJfdCB1c2VfbG9ja2VkX2RldmljZV9tZW1vcnkgPSBj b25mLQ0KPj51c2VfbG9ja2VkX2RldmljZV9tZW1vcnk7DQo+PiArCXVpbnQzMl90IHVzZV9ydGVf bWVtb3J5ID0gY29uZi0+dXNlX3J0ZV9tZW1vcnk7DQo+PiArCXVpbnQzMl90IGZvcmNlX21lbW9y eSA9IGNvbmYtPmZvcmNlX21lbW9yeTsNCj4+ICsNCj4+ICsJcnRlX3RyYWNlX3BvaW50X2VtaXRf dTE2KHBvcnRfaWQpOw0KPj4gKwlydGVfdHJhY2VfcG9pbnRfZW1pdF91MTYodHhfcXVldWVfaWQp Ow0KPj4gKwlydGVfdHJhY2VfcG9pbnRfZW1pdF91MTYobmJfdHhfZGVzYyk7DQo+PiArCXJ0ZV90 cmFjZV9wb2ludF9lbWl0X3B0cihjb25mKTsNCj4+ICsJcnRlX3RyYWNlX3BvaW50X2VtaXRfdTMy KHBlZXJfY291bnQpOw0KPj4gKwlydGVfdHJhY2VfcG9pbnRfZW1pdF91MzIodHhfZXhwbGljaXQp Ow0KPj4gKwlydGVfdHJhY2VfcG9pbnRfZW1pdF91MzIobWFudWFsX2JpbmQpOw0KPj4gKwlydGVf dHJhY2VfcG9pbnRfZW1pdF91MzIodXNlX2xvY2tlZF9kZXZpY2VfbWVtb3J5KTsNCj4+ICsJcnRl X3RyYWNlX3BvaW50X2VtaXRfdTMyKHVzZV9ydGVfbWVtb3J5KTsNCj4+ICsJcnRlX3RyYWNlX3Bv aW50X2VtaXRfdTMyKGZvcmNlX21lbW9yeSk7DQo+PiArCXJ0ZV90cmFjZV9wb2ludF9lbWl0X2lu dChyZXQpOw0KPj4gKykNCj4NCj5TYW1lIGFzIGFib3ZlLg0KPg0KPjwuLi4+DQo+DQo+PiArUlRF X1RSQUNFX1BPSU5UKA0KPj4gKwlydGVfZXRoX3RyYWNlX2FsbG11bHRpY2FzdF9kaXNhYmxlLA0K Pj4gKwlSVEVfVFJBQ0VfUE9JTlRfQVJHUyh1aW50MTZfdCBwb3J0X2lkLCBpbnQgYWxsX211bHRp Y2FzdCwgaW50IGRpYWcpLA0KPj4gKwlydGVfdHJhY2VfcG9pbnRfZW1pdF91MTYocG9ydF9pZCk7 DQo+PiArCXJ0ZV90cmFjZV9wb2ludF9lbWl0X2ludChhbGxfbXVsdGljYXN0KTsNCj4+ICsJcnRl X3RyYWNlX3BvaW50X2VtaXRfaW50KGRpYWcpOw0KPj4gKykNCj4+ICsNCj4NCj5DYW4geW91IHJl cGxhY2UgJ2RpYWcnIHdpdGggJ3JldCcgZm9yIGNvbnNpc3RlbmN5LCBzYW1lIGZvcg0KPicqcHJv bWlzY3VvdXMvYWxsbXVsdGljYXN0X2VuYWJsZS9kaXNhYmxlJy4NCk9rLg0KPg0KPjwuLi4+DQo+ DQo+PiArUlRFX1RSQUNFX1BPSU5UX0ZQKA0KPj4gKwlydGVfZXRoX3RyYWNlX2ZpbmRfbmV4dCwN Cj4+ICsJUlRFX1RSQUNFX1BPSU5UX0FSR1ModWludDE2X3QgcG9ydF9pZCksDQo+PiArCXJ0ZV90 cmFjZV9wb2ludF9lbWl0X3UxNihwb3J0X2lkKTsNCj4+ICspDQo+PiArDQo+DQo+V2h5ICdydGVf ZXRoX3RyYWNlX2ZpbmRfbmV4dCcgYWRkZWQgYXMgZmFzdCBwYXRoPw0KPkNhbiB5b3UgcGxlYXNl IGFkZCBjb21tZW50IGZvciBhbGwgd2h5IGl0IGlzIGFkZGVkIGFzIGZhc3QgcGF0aCwgdGhpcyBo ZWxwIHRvDQo+ZXZhbHVhdGUvcmV2aWV3IHRoaXMgbGF0ZXIuDQoNClRoZXJlIHdlcmUgbWFueSBm dW5jdGlvbnMgZm9yIHdoaWNoIEkgd2FzIG5vdCBzdXJlIGFib3V0IHdoZXRoZXIgdGhleSBzaG91 bGQgYmUgc2xvdyBwYXRoIG9yIGZhc3QgcGF0aC4gSSBtYWRlIHRoZSBmb2xsb3dpbmcgYXNzdW1w dGlvbjoNCg0KRm9yIHNsb3cgcGF0aCBJIGhhdmUgY2hvc2VuIHRoZSBmdW5jdGlvbiB3aGljaCBk byBzb21lIHNldHVwLCBjb25maWd1cmUgb3Igd3JpdGUgc29tZSBjb25maWd1cmF0aW9uLiBGb3Ig YW4gZXhhbXBsZSBydGVfZXRoX3RyYWNlX3R4X2hhaXJwaW5fcXVldWVfc2V0dXAsIHJ0ZV9ldGhf dHJhY2VfdHhfYnVmZmVyX3NldF9lcnJfY2FsbGJhY2ssIHJ0ZV9ldGhfdHJhY2VfcHJvbWlzY3Vv dXNfZW5hYmxlIGFyZSBzbG93IHBhdGggZnVuY3Rpb25zLiANCg0KVGhlIGZ1bmN0aW9ucyB3aGlj aCByZWFkIGRhdGEgYXJlIG1hZGUgYXMgZmFzdHBhdGggZnVuY3Rpb25zLiBBbHNvIGZvciBmdW5j dGlvbnMgZm9yIHdoaWNoIEkgd2FzIG5vdCBzdXJlIEkgbWFkZSBpdCBhcyBmYXN0cGF0aC4NCg0K Rm9yIGFuIGV4YW1wbGUgcnRlX2V0aGRldl90cmFjZV9vd25lcl9nZXQsIHJ0ZV9ldGhfdHJhY2Vf aGFpcnBpbl9nZXRfcGVlcl9wb3J0LCBydGVfZXRoX3RyYWNlX21hY2FkZHJfZ2V0IGFyZSBtYWRl IGFzIGZhc3RwYXRoLg0KDQpCdXQgdGhlcmUgYXJlIGZldyBleGNlcHRpb25zLiBGdW5jdGlvbiBs aWtlICpfZ2V0X2NhcGFiaWxpdHkgYXJlIG1hZGUgYXMgc2xvd3BhdGguIEFsc28gcnRlX2V0aGRl dl90cmFjZV9pbmZvX2dldCBpcyBzbG93cGF0aC4gDQoNClRoZSBzbG93cGF0aCBhbmQgZmFzdHBh dGggZnVuY3Rpb25zIGFyZSBpbiBzZXBhcmF0ZSBmaWxlcy4gcnRlX2V0aGRldl90cmFjZS5oIChz bG93cGF0aCkgYW5kIHJ0ZV9ldGhkZXZfdHJhY2VfZnAuaCAoZmFzdHBhdGgpLiANCg0KUGxlYXNl IGxldCBtZSAga25vdyBpZiBhbnkgZnVuY3Rpb24gbmVlZHMgdG8gYmUgc3dhcHBlZC4gSSB3aWxs IG1ha2UgdGhhdCBjaGFuZ2UuDQoNCj4NCj4+ICtSVEVfVFJBQ0VfUE9JTlRfRlAoDQo+PiArCXJ0 ZV9ldGhfdHJhY2VfZmluZF9uZXh0X29mLA0KPj4gKwlSVEVfVFJBQ0VfUE9JTlRfQVJHUyh1aW50 MTZfdCBwb3J0X2lkKSwNCj4+ICsJcnRlX3RyYWNlX3BvaW50X2VtaXRfdTE2KHBvcnRfaWQpOw0K Pj4gKykNCj4+ICsNCj4NCj5XaHkgbm90IHJlY29yZCBzZWNvbmQgcGFyYW1ldGVyIG9mIHRoZSBB UEksICJzdHJ1Y3QgcnRlX2RldmljZSAqcGFyZW50IiB0b28/DQpPay4NCj4NCj48Li4uPg0KPg0K Pj4gK1JURV9UUkFDRV9QT0lOVF9GUCgNCj4+ICsJcnRlX2V0aF90cmFjZV9oYWlycGluX2dldF9w ZWVyX3BvcnRzLA0KPj4gKwlSVEVfVFJBQ0VfUE9JTlRfQVJHUyh1aW50MTZfdCBwb3J0X2lkLCB1 aW50MTZfdCAqcGVlcl9wb3J0cywNCj4+ICsJCXNpemVfdCBsZW4sIHVpbnQzMl90IGRpcmVjdGlv biwgaW50IHJldCksDQo+PiArCXJ0ZV90cmFjZV9wb2ludF9lbWl0X3UxNihwb3J0X2lkKTsNCj4+ ICsJcnRlX3RyYWNlX3BvaW50X2VtaXRfcHRyKHBlZXJfcG9ydHMpOw0KPj4gKwlydGVfdHJhY2Vf cG9pbnRfZW1pdF9zaXplX3QobGVuKTsNCj4+ICsJcnRlX3RyYWNlX3BvaW50X2VtaXRfdTMyKGRp cmVjdGlvbik7DQo+PiArCXJ0ZV90cmFjZV9wb2ludF9lbWl0X2ludChyZXQpOw0KPj4gKykNCj4+ ICsNCj4NCj5Tb21lIG9mIHRoZXNlIGZ1bmN0aW9ucyBJIGFtIG5vdCBjbGVhciB3aHkgZmFzdCBw YXRoIHRyYWNlIHBvaW50IGlzIHVzZWQsDQo+J3J0ZV9ldGhfdHJhY2VfaGFpcnBpbl9nZXRfcGVl cl9wb3J0cycgaXMgb25lIG9mIHRoZW0sIGNhbiB5b3UgcGxlYXNlDQo+Y29tbWVudCB0aGUganVz dGlmaWNhdGlvbiB0byB0aGUgY29kZSBhcyBzdWdnZXN0ZWQgYWJvdmUuDQo+DQo+PC4uLj4NCj4N Cj4+ICtSVEVfVFJBQ0VfUE9JTlRfRlAoDQo+PiArCXJ0ZV9ldGhfdHJhY2VfbGlua19nZXQsDQo+ PiArCVJURV9UUkFDRV9QT0lOVF9BUkdTKHVpbnQxNl90IHBvcnRfaWQsIHN0cnVjdCBydGVfZXRo X2xpbmsgKmxpbmspLA0KPj4gKwl1aW50MTZfdCBsaW5rX2R1cGxleCA9IGxpbmstPmxpbmtfZHVw bGV4Ow0KPj4gKwl1aW50MTZfdCBsaW5rX2F1dG9uZWcgPSBsaW5rLT5saW5rX2F1dG9uZWc7DQo+ PiArCXVpbnQxNl90IGxpbmtfc3RhdHVzID0gbGluay0+bGlua19zdGF0dXM7DQo+PiArDQo+PiAr CXJ0ZV90cmFjZV9wb2ludF9lbWl0X3UxNihwb3J0X2lkKTsNCj4+ICsJcnRlX3RyYWNlX3BvaW50 X2VtaXRfdTMyKGxpbmstPmxpbmtfc3BlZWQpOw0KPj4gKwlydGVfdHJhY2VfcG9pbnRfZW1pdF91 MTYobGlua19kdXBsZXgpOw0KPj4gKwlydGVfdHJhY2VfcG9pbnRfZW1pdF91MTYobGlua19hdXRv bmVnKTsNCj4+ICsJcnRlX3RyYWNlX3BvaW50X2VtaXRfdTE2KGxpbmtfc3RhdHVzKTsNCj4+ICsp DQo+DQo+V2h5IGNyZWF0aW5nIHZhcmlibGUgZm9yICdsaW5rX2R1cGxleCcgZm9yICdsaW5rLT5s aW5rX2R1cGxleCcgYnV0IHVzaW5nICdsaW5rLQ0KPj5saW5rX3NwZWVkJywgd2h5IG5vdCB1c2Ug YWxsIGFzICdsaW5rLT54eHgnPw0KDQpuaW5rX2R1cGxleCwgbGlua19hdXRvbmVnIGFuZCBsaW5r X3N0YXR1cyBhcmUgYml0IGZpZWxkcy4gU2FtZSByZWFzb24gYXMgbWVudGlvbmVkIGluIGVhcmxp ZXIgY29tbWVudC4NCj4NCj4NCj48Li4uPg0KPg0KPj4gK1JURV9UUkFDRV9QT0lOVF9GUCgNCj4+ ICsJcnRlX2V0aF90cmFjZV94c3RhdHNfZ2V0X25hbWVzLA0KPj4gKwlSVEVfVFJBQ0VfUE9JTlRf QVJHUyh1aW50MTZfdCBwb3J0X2lkLA0KPj4gKwkJc3RydWN0IHJ0ZV9ldGhfeHN0YXRfbmFtZSAq eHN0YXRzX25hbWVzLA0KPj4gKwkJdW5zaWduZWQgaW50IHNpemUsIGludCBjbnRfdXNlZF9lbnRy aWVzKSwNCj4+ICsJcnRlX3RyYWNlX3BvaW50X2VtaXRfdTE2KHBvcnRfaWQpOw0KPj4gKwlydGVf dHJhY2VfcG9pbnRfZW1pdF9zdHJpbmcoeHN0YXRzX25hbWVzLT5uYW1lKTsNCj4+ICsJcnRlX3Ry YWNlX3BvaW50X2VtaXRfdTMyKHNpemUpOw0KPj4gKwlydGVfdHJhY2VfcG9pbnRfZW1pdF9pbnQo Y250X3VzZWRfZW50cmllcyk7DQo+PiArKQ0KPj4gKw0KPg0KPid4c3RhdHNfbmFtZXMnIGlzIGFu IGFycmF5LCB3aG9zZSBzaXplIGlzICdjbnRfdXNlZF9lbnRyaWVzJywganVzdCBwcmludGluZw0K Pid4c3RhdHNfbmFtZXMtPm5hbWUnIGZvciBmaXJzdCBlbGVtZW50IGNhbiBiZSBtaXNsZWFkaW5n LCBjYW4gcHJpbnQgYWxsIHZhbHVlcw0KPmFzIGRvbmUgaW4gJ3J0ZV9ldGhfeHN0YXRzX2dldCgp Jw0KT2suDQo+DQo+PC4uLj4NCj4NCj4+ICtSVEVfVFJBQ0VfUE9JTlRfRlAoDQo+PiArCXJ0ZV9l dGhfdHJhY2VfeHN0YXRzX2dldCwNCj4+ICsJUlRFX1RSQUNFX1BPSU5UX0FSR1ModWludDE2X3Qg cG9ydF9pZCwgc3RydWN0IHJ0ZV9ldGhfeHN0YXQgeHN0YXRzLA0KPj4gKwkJaW50IGkpLA0KPj4g KwlydGVfdHJhY2VfcG9pbnRfZW1pdF91MTYocG9ydF9pZCk7DQo+PiArCXJ0ZV90cmFjZV9wb2lu dF9lbWl0X3U2NCh4c3RhdHMuaWQpOw0KPj4gKwlydGVfdHJhY2VfcG9pbnRfZW1pdF91NjQoeHN0 YXRzLnZhbHVlKTsNCj4+ICsJcnRlX3RyYWNlX3BvaW50X2VtaXRfdTMyKGkpOw0KPj4gKykNCj4+ ICsNCj4NCj5hcyBmYXIgYXMgSSBjYW4gc2VlICJpZCA9PSBpIiwgc28gbWF5YmUgJ2knIGNhbiBi ZSBkcm9wcGVkLg0KT2suDQo+DQo+PC4uLj4NCj4NCj4+IEBAIC0yOTgsNiArMjk4LDcyIEBAIEVY UEVSSU1FTlRBTCB7DQo+PiAgCXJ0ZV9mbG93X2dldF9xX2FnZWRfZmxvd3M7DQo+PiAgCXJ0ZV9t dHJfbWV0ZXJfcG9saWN5X2dldDsNCj4+ICAJcnRlX210cl9tZXRlcl9wcm9maWxlX2dldDsNCj4+ ICsNCj4+ICsJIyBhZGRlZCBpbiAyMy4wMw0KPj4gKwlfX3J0ZV9ldGhfdHJhY2VfYWxsbXVsdGlj YXN0X2Rpc2FibGU7DQo+PiArCV9fcnRlX2V0aF90cmFjZV9hbGxtdWx0aWNhc3RfZW5hYmxlOw0K Pj4gKwlfX3J0ZV9ldGhfdHJhY2VfYWxsbXVsdGljYXN0X2dldDsNCj4+ICsJX19ydGVfZXRoX3Ry YWNlX2NhbGxfcnhfY2FsbGJhY2tzOw0KPj4gKwlfX3J0ZV9ldGhfdHJhY2VfY2FsbF90eF9jYWxs YmFja3M7DQo+PiArCV9fcnRlX2V0aF90cmFjZV9maW5kX25leHQ7DQo+PiArCV9fcnRlX2V0aF90 cmFjZV9maW5kX25leHRfb2Y7DQo+PiArCV9fcnRlX2V0aF90cmFjZV9maW5kX25leHRfb3duZWRf Ynk7DQo+PiArCV9fcnRlX2V0aF90cmFjZV9maW5kX25leHRfc2libGluZzsNCj4+ICsJX19ydGVf ZXRoX3RyYWNlX2hhaXJwaW5fYmluZDsNCj4+ICsJX19ydGVfZXRoX3RyYWNlX2hhaXJwaW5fZ2V0 X3BlZXJfcG9ydHM7DQo+PiArCV9fcnRlX2V0aF90cmFjZV9oYWlycGluX3VuYmluZDsNCj4+ICsJ X19ydGVfZXRoX3RyYWNlX2l0ZXJhdG9yX2NsZWFudXA7DQo+PiArCV9fcnRlX2V0aF90cmFjZV9p dGVyYXRvcl9pbml0Ow0KPj4gKwlfX3J0ZV9ldGhfdHJhY2VfaXRlcmF0b3JfbmV4dDsNCj4+ICsJ X19ydGVfZXRoX3RyYWNlX2xpbmtfZ2V0Ow0KPj4gKwlfX3J0ZV9ldGhfdHJhY2VfbGlua19nZXRf bm93YWl0Ow0KPj4gKwlfX3J0ZV9ldGhfdHJhY2VfbGlua19zcGVlZF90b19zdHI7DQo+PiArCV9f cnRlX2V0aF90cmFjZV9saW5rX3RvX3N0cjsNCj4+ICsJX19ydGVfZXRoX3RyYWNlX3Byb21pc2N1 b3VzX2Rpc2FibGU7DQo+PiArCV9fcnRlX2V0aF90cmFjZV9wcm9taXNjdW91c19lbmFibGU7DQo+ PiArCV9fcnRlX2V0aF90cmFjZV9wcm9taXNjdW91c19nZXQ7DQo+PiArCV9fcnRlX2V0aF90cmFj ZV9yeF9oYWlycGluX3F1ZXVlX3NldHVwOw0KPj4gKwlfX3J0ZV9ldGhfdHJhY2Vfc3BlZWRfYml0 ZmxhZzsNCj4+ICsJX19ydGVfZXRoX3RyYWNlX3N0YXRzX2dldDsNCj4+ICsJX19ydGVfZXRoX3Ry YWNlX3N0YXRzX3Jlc2V0Ow0KPj4gKwlfX3J0ZV9ldGhfdHJhY2VfdHhfYnVmZmVyX2NvdW50X2Nh bGxiYWNrOw0KPj4gKwlfX3J0ZV9ldGhfdHJhY2VfdHhfYnVmZmVyX2Ryb3BfY2FsbGJhY2s7DQo+ PiArCV9fcnRlX2V0aF90cmFjZV90eF9idWZmZXJfaW5pdDsNCj4+ICsJX19ydGVfZXRoX3RyYWNl X3R4X2J1ZmZlcl9zZXRfZXJyX2NhbGxiYWNrOw0KPj4gKwlfX3J0ZV9ldGhfdHJhY2VfdHhfZG9u ZV9jbGVhbnVwOw0KPj4gKwlfX3J0ZV9ldGhfdHJhY2VfdHhfaGFpcnBpbl9xdWV1ZV9zZXR1cDsN Cj4+ICsJX19ydGVfZXRoX3RyYWNlX3hzdGF0c19nZXQ7DQo+PiArCV9fcnRlX2V0aF90cmFjZV94 c3RhdHNfZ2V0X2J5X2lkOw0KPj4gKwlfX3J0ZV9ldGhfdHJhY2VfeHN0YXRzX2dldF9pZF9ieV9u YW1lOw0KPj4gKwlfX3J0ZV9ldGhfdHJhY2VfeHN0YXRzX2dldF9uYW1lczsNCj4+ICsJX19ydGVf ZXRoX3RyYWNlX3hzdGF0c19nZXRfbmFtZXNfYnlfaWQ7DQo+PiArCV9fcnRlX2V0aF90cmFjZV94 c3RhdHNfcmVzZXQ7DQo+PiArCV9fcnRlX2V0aGRldl90cmFjZV9jYXBhYmlsaXR5X25hbWU7DQo+ PiArCV9fcnRlX2V0aGRldl90cmFjZV9jb3VudF9hdmFpbDsNCj4+ICsJX19ydGVfZXRoZGV2X3Ry YWNlX2NvdW50X3RvdGFsOw0KPj4gKwlfX3J0ZV9ldGhkZXZfdHJhY2VfZndfdmVyc2lvbl9nZXQ7 DQo+PiArCV9fcnRlX2V0aGRldl90cmFjZV9nZXRfbmFtZV9ieV9wb3J0Ow0KPj4gKwlfX3J0ZV9l dGhkZXZfdHJhY2VfZ2V0X3BvcnRfYnlfbmFtZTsNCj4+ICsJX19ydGVfZXRoZGV2X3RyYWNlX2dl dF9zZWNfY3R4Ow0KPj4gKwlfX3J0ZV9ldGhkZXZfdHJhY2VfaXNfcmVtb3ZlZDsNCj4+ICsJX19y dGVfZXRoZGV2X3RyYWNlX2lzX3ZhbGlkX3BvcnQ7DQo+PiArCV9fcnRlX2V0aGRldl90cmFjZV9v d25lcl9kZWxldGU7DQo+PiArCV9fcnRlX2V0aGRldl90cmFjZV9vd25lcl9nZXQ7DQo+PiArCV9f cnRlX2V0aGRldl90cmFjZV9vd25lcl9uZXc7DQo+PiArCV9fcnRlX2V0aGRldl90cmFjZV9vd25l cl9zZXQ7DQo+PiArCV9fcnRlX2V0aGRldl90cmFjZV9vd25lcl91bnNldDsNCj4+ICsJX19ydGVf ZXRoZGV2X3RyYWNlX3Jlc2V0Ow0KPj4gKwlfX3J0ZV9ldGhkZXZfdHJhY2Vfcnhfb2ZmbG9hZF9u YW1lOw0KPj4gKwlfX3J0ZV9ldGhkZXZfdHJhY2VfcnhfcXVldWVfc3RhcnQ7DQo+PiArCV9fcnRl X2V0aGRldl90cmFjZV9yeF9xdWV1ZV9zdG9wOw0KPj4gKwlfX3J0ZV9ldGhkZXZfdHJhY2Vfc2V0 X2xpbmtfZG93bjsNCj4+ICsJX19ydGVfZXRoZGV2X3RyYWNlX3NldF9saW5rX3VwOw0KPj4gKwlf X3J0ZV9ldGhkZXZfdHJhY2Vfc2V0X3J4X3F1ZXVlX3N0YXRzX21hcHBpbmc7DQo+PiArCV9fcnRl X2V0aGRldl90cmFjZV9zZXRfdHhfcXVldWVfc3RhdHNfbWFwcGluZzsNCj4+ICsJX19ydGVfZXRo ZGV2X3RyYWNlX3NvY2tldF9pZDsNCj4+ICsJX19ydGVfZXRoZGV2X3RyYWNlX3R4X29mZmxvYWRf bmFtZTsNCj4+ICsJX19ydGVfZXRoZGV2X3RyYWNlX3R4X3F1ZXVlX3N0YXJ0Ow0KPj4gKwlfX3J0 ZV9ldGhkZXZfdHJhY2VfdHhfcXVldWVfc3RvcDsNCj4NCj5DYW4geW91IHBsZWFzZSBkcm9wIHRo ZXNlIHRyYWNlIG9iamVjdHM/DQpZZXMgdGhlc2UgY2FuIGJlIGRyb3BwZWQuDQo+DQoNCg==