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 8EC2FA0350; Mon, 21 Feb 2022 16:43:14 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7EEE6410F7; Mon, 21 Feb 2022 16:43:14 +0100 (CET) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2083.outbound.protection.outlook.com [40.107.92.83]) by mails.dpdk.org (Postfix) with ESMTP id 9DB594013F for ; Mon, 21 Feb 2022 16:43:12 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I+q13Wt81lO/+rycg/pMfaDGvo+1mWRc9QgKv2Z0d8NbueLKufTGJEcIN8I+TBTlQDzfU2pPnmJJc3iQ7fnOK4vdsR+1qTv2oGF3/2glbeoskxmIJvPCZDxljLJFALfXDiOEzO4qk8RKhZBvXKoTXtdGuIlHfR12qARLOmP1nTz+VSl3YoEwV7XdocqYkuhUhSieL6BXCKPPI03bE1bPESkpTcMKj6MZqOddM0tGPP8lIi/+F3lENZeZBHwhQ7uxayXjDw8501zzj7yE3KetrnLRG67s3sNAFVP6ALf1FaH0G7Xfs3MsgbXJK96muLM2JWQXBEvaNdFGZnnnCxjx4w== 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=FA62maB2rjbUc19zEABieGcRsymGawMLUCPHP0bA5PY=; b=W6cTPaHcTKXsHn9yynrJGzaw6rSOBb9aVsS8QRLsN9fZYTmEG6RtNd7tT/o+k6v2fNdWLy9cF0TcaaVGlzo4t3VCtHJA9r0Ukvp3/WxpDyJYQM5ZHD6aNA67DqNd2tetC9IXuJAh0ptN8UcVE8ebDuO9AjTBX5PPdCjWRCnpz5OEPbbwTHIk/Lxjh7R5aGRUX3r1Gm/zhcCoEJL7x/B9EKVP0ZnQNA6M5se04zcrEHKxzOpbnuzKAp2yCA5/4qPe/pcP6k7qvvA3dwp7ThSGKsip0GPo+T0ZkxHAfU/j1b++8CbVRUYuJ/mbSmFkXDdTYHMvs6S+9Ox8i0A0mGKS1Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FA62maB2rjbUc19zEABieGcRsymGawMLUCPHP0bA5PY=; b=lA1cfQGeBmqfcvX2SE8gmMhgLDxC+02YHxV30CnVY0Nzv7wiAXgXqDnUc1prjS4b1bRKxcACxNaqyU9kVSDLyEQwphewvzM/GVasZxmUK1yZNhoK9S49LCkKJ88UsrFaGhFySpMoxnfiyhjhCJAFozmEo8/kdhxflr/3BVhwriDyQOIAskm89/sKj7qjJtiI3nFnZ8WXN+Pf9Fv6UML9fZ/jvYNExxVlG1GCMPbhP9GuNE98cX2OdlMuXWPHK+l3CQZBpVBXUpwJZ+/IAuqh+w43XQ/fySn4ydCrXSWGzGYSmBjd0eCiej+s1g0SA6g5YOIo/U2SJwxxr5OtW1JrpQ== Received: from MN2PR12MB3133.namprd12.prod.outlook.com (2603:10b6:208:c7::16) by MWHPR12MB1182.namprd12.prod.outlook.com (2603:10b6:300:b::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.16; Mon, 21 Feb 2022 15:43:10 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by MN2PR12MB3133.namprd12.prod.outlook.com (2603:10b6:208:c7::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.16; Mon, 21 Feb 2022 15:43:05 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::9d4e:649c:c6b8:b353]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::9d4e:649c:c6b8:b353%5]) with mapi id 15.20.4995.027; Mon, 21 Feb 2022 15:43:05 +0000 From: Ori Kam To: Andrew Rybchenko , Alexander Kozyrev , "dev@dpdk.org" CC: "NBU-Contact-Thomas Monjalon (EXTERNAL)" , "ivan.malov@oktetlabs.ru" , "ferruh.yigit@intel.com" , "mohammad.abdul.awal@intel.com" , "qi.z.zhang@intel.com" , "jerinj@marvell.com" , "ajit.khaparde@broadcom.com" , "bruce.richardson@intel.com" Subject: RE: [PATCH v8 02/11] ethdev: add flow item/action templates Thread-Topic: [PATCH v8 02/11] ethdev: add flow item/action templates Thread-Index: AQHYJgw2P+yKKMdPpkeFbyTvnWEoB6yd14kAgAAgifCAACTTgIAABxeg Date: Mon, 21 Feb 2022 15:43:05 +0000 Message-ID: References: <20220219041144.2145380-1-akozyrev@nvidia.com> <20220220034409.2226860-1-akozyrev@nvidia.com> <20220220034409.2226860-3-akozyrev@nvidia.com> <5d8e0b32-f674-a43f-20ee-a689ab7c2012@oktetlabs.ru> In-Reply-To: <5d8e0b32-f674-a43f-20ee-a689ab7c2012@oktetlabs.ru> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: cd00eb29-937d-45c8-5755-08d9f550da2b x-ms-traffictypediagnostic: MN2PR12MB3133:EE_|MWHPR12MB1182:EE_ x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: wlJvWKSEzjInYrdXC+6dOG5nyNrs3wl0EKWnDAbLd9B5d5paoLjzNEVdFYybnpek4wmnl/JOmntn/NchOoaSTqRIsmfzc2CEZ9uhlM2ShI6awl6KgzJ3CWdAhTO0u8QqW/44uZfbiyV55JsfopsSM9cz2l4I1tuTiBLol2dwa4XWeY/2NGWbTPHk+TsSI0C4y/NIio57dYZaOeKVufRLyxY2UpTDZFqNEL2U5I5DlIh10oPVm1VqnTJZkY8eo/EOFMNKeViYcnu+1c9w9k+fHZO1t3KtK7lCdJAS3tnmXLsjDmldr9qZfQs1WEI24jT+Ly0PPr/01GzfKe5BjIUPMpL4Gv0/Bw2izd7sjDnqUQBkPlvhGXtGTVUkBiwVf51NL51vjPJ9DQIT6kjg+PQzo7I1C0txoigX/xzABiYPqpmbCS4hhIDjEEnG9Ni7uELK9RtPOicRbeEJFlH8SomFnmtU1YMb9/uWEjVqn0DuR2Occyx1N+CnjyT6p9gJ1beXG8omnAhomy+QKWLrSpYXSWynwfaRZ8e41Cddi25vehDrqNTLwuBvQPbsV0VH81A5Jz/+QyBG+ylj8uzaHoYOlJMRDknt+ol50LJ+Ln4spf1eZwn7eCxiQwNPJXyAEVN3PpNcaX7zsuiZh2rquBmmTDYEUAddq+YxMEl7j7fnAflyX6nHYdTSS2gwRYhttq6KLQe7iOWgPYEa4F2VGraIDfExbev0ahGPxDodP0jAKPY= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR12MB3133.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(64756008)(66946007)(66476007)(66446008)(66556008)(76116006)(38100700002)(4326008)(8676002)(2906002)(83380400001)(33656002)(7416002)(52536014)(53546011)(6506007)(7696005)(8936002)(186003)(5660300002)(71200400001)(122000001)(26005)(86362001)(9686003)(110136005)(55016003)(54906003)(508600001)(316002)(38070700005)(21314003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MmNHRHBwZDBSQ0lLTndlemNVeW56VEdyZDFsb0J2NjY0MjZNMUNxT3BJTUNK?= =?utf-8?B?ODVGaklBLzlPZW5TRnhscHBWUmFDNENmT2h5bzJTdDlOSjFyeklBYVpjcUh6?= =?utf-8?B?M3JlNktaNklSUzBpRGdWTEppNFhMckZSdUJWYmVORUJJY1FlZUpiUFVJZEZG?= =?utf-8?B?WEp5TThaeVhXVGVDNVRFdEtVMmFDeXhaRlVqMHpENjlyWmp4ZWMvajdYVTJC?= =?utf-8?B?c25uZG9qU0ZYT1IyV2tBc0xidXlqQUtGcWlVRTdHVlBiSnlRckY0eStJdlFK?= =?utf-8?B?SUwzZkJKd01TbnpaY3pUSStaU1hrSFpRS0ZrQXp1Q0xIZjVhS0VNQjFPNVZN?= =?utf-8?B?dEVyYzQyRjdmV2hHbGo0OWF5TlpRV3Nqa2FZckNCY2xmb3hIT3RpR0E4TzhS?= =?utf-8?B?Mmp6QVB1OUg4eGJ4Mmt2Qkc1WUZLUlhFVHdzQ2E0NWlLUVBoTUtGMitGT1RM?= =?utf-8?B?STVTZVdRZTRKSXBSOUxtejAxc1pkelNPMnpWSDRvYzZjZ1hOdy9EcmZYTnM0?= =?utf-8?B?QjM4RFZ3bVdoVVV6djNIMHd5cU50RzlXbnE3L0xkeFIzYWplT04vRkFKS3NY?= =?utf-8?B?V294WUdQcG5yelptWTNnYlYwWCswcmRsYzNtYzRFMEVqd01vUjdvQm9obmlt?= =?utf-8?B?dFVWeVdDVXBIdGVyeWhZcytndW0zUGh3UzA1OXpKZ1dUZlhhaGtCSVVDcXVB?= =?utf-8?B?eVE5Z1NYUXp2SnRFbXRGWVppRXFKUTM0bDk1YVFwMFFqcVNLdGFncVl4c2kw?= =?utf-8?B?MG9oZUUySHNEQUxwd0lIQ0x5ZHY1R2t3R3FGd0FnTkU2WXAwSytCOHY4RG1J?= =?utf-8?B?bDU2VXZGOUhuNVBvVnpiVlFJQXg4VVREaWhBNHZ4NGZCSm1Tb0xFQjFQSTRS?= =?utf-8?B?RnBIRHBEanJadmZXekQ5T1NWYWhQZDBpOXlMQVJxblNqMWdtdFROUytuSUpH?= =?utf-8?B?a0gzZVBHUC9PSFQ3RTBLZDQzREVZcFBSSG9YNmFiUFN5RXZvdmdsNTlHT2x3?= =?utf-8?B?YmlvK25BcHd1blNaSjFaVUo4QzZzWFVkeXplMldOdTcxSXFkeHNET3J3aEo1?= =?utf-8?B?ZzdBK1JNbkRTcmY4MXhzME8rTno4MFkzcXEwUXlDNllyZUwyUWRoaVBaVUY4?= =?utf-8?B?R0VFaDBYMVV5VFM4N2hZS0RkMlFGVDZlOThzdmIwOW5JYWU2RERkMWdwOEJu?= =?utf-8?B?amJ5MkxMNjRtalFITmo4ZVVzUjRRYWIyWWhJaVZsUmFGdEdpZitiZTdzeUlX?= =?utf-8?B?RTRtR1FNRHkxRnNrNXZGbzdSQmQvdDNFV0dPWFlGekZORmVKQitscVBkOXVj?= =?utf-8?B?aTM0OXMxeCt3TmRiTnNWSlpiNm1aS1pEczJRQmFRaTltb1ZENldOUlZRZ3NJ?= =?utf-8?B?TlpaaytrTUh3SVV0VDFqcFZTcUxZY0tNNVVwa3ptYVRKUkR6WDBuWHJTeEdH?= =?utf-8?B?VHFncWJ1djJGYnhveThlYTBoMXYzWWZnZW1HdVBSZnIzcmFmUjNyakY0RmtK?= =?utf-8?B?YjQ0cHhZQzJWeklCTzJGbEdpckRGZkxhbzV1VlozRC9CeVNmTFd3RndtVzNj?= =?utf-8?B?VkZQbHdla1h4ajNwaVRoQ0wxUVRTSjcvK29ubEZyTTQ0bko4QUdlQTF3N05u?= =?utf-8?B?MHNzWEdQdXBXYWFUN2JTVVpHd01QampFWWt4MjdKMm5WaERGbS9YRUE5ZGVn?= =?utf-8?B?ZXIxMW82NmJEdWpoVG1ORkFRNjliNkV1Y0lUanJ6Q0MxWm5ZTVdmaXhPVHYr?= =?utf-8?B?aGFwSUJNT2I3aUhxUzc1cGJETGFiTFFSdkhQbDNiNUVRY0F2NlZ4aVREOEda?= =?utf-8?B?ZVFvdlQ5K3lNOFpBYWw0TFpLcVA3L0ZEb1hhbzloQmdnWmpyb2haR2M3MG8r?= =?utf-8?B?Qmd0R2IrOFVFRXVNRE14MkhRZnBMYyswWm03V2dnZFhPOUNIOUU5dTZFTlor?= =?utf-8?B?UlZIbnkvcnNlY25CZ2VkQXZSTUowL1RRYW9seEJFN1BWQ2J2K2FMOXVhRnNm?= =?utf-8?B?MTF2MS9wNmJTdkVpSnplSXpoSVRHN3czTU95R0ZnZUVYcU1JbjdaNXJ2S3BN?= =?utf-8?B?cEVBMUNtbUM1Z2dwdFI1NnZ2b0pKeUF4RDNmQS91dHNmRmMzV2dQWS8vQ0ZW?= =?utf-8?B?KzdxL2xhWm1hMVpINldJNHU0a1h2YVNIQ2ZlQms1SjhqcVR4RkllVUZUT3BX?= =?utf-8?B?U1E9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW2PR12MB4666.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cd00eb29-937d-45c8-5755-08d9f550da2b X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Feb 2022 15:43:05.4848 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: yrOvTeEcgPdHsSY0RYhi+Y0h7sTeDzlSvA6a4JVVt26EvYsGzJoJz9TG+OfWgxYppvpaIYHf2+YSKtFj6NEVjg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1182 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 SGkgQW5kcmV3LA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFuZHJl dyBSeWJjaGVua28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiBTZW50OiBNb25k YXksIEZlYnJ1YXJ5IDIxLCAyMDIyIDU6MDYgUE0NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2OCAw Mi8xMV0gZXRoZGV2OiBhZGQgZmxvdyBpdGVtL2FjdGlvbiB0ZW1wbGF0ZXMNCj4gDQo+IE9uIDIv MjEvMjIgMTY6MTIsIE9yaSBLYW0gd3JvdGU6DQo+ID4gSGkgQW5kcmV3LA0KPiA+DQo+ID4+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IEFuZHJldyBSeWJjaGVua28gPGFu ZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiA+PiBTZW50OiBNb25kYXksIEZlYnJ1YXJ5 IDIxLCAyMDIyIDEyOjU3IFBNDQo+ID4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjggMDIvMTFdIGV0 aGRldjogYWRkIGZsb3cgaXRlbS9hY3Rpb24gdGVtcGxhdGVzDQo+ID4+DQo+ID4+IE9uIDIvMjAv MjIgMDY6NDQsIEFsZXhhbmRlciBLb3p5cmV2IHdyb3RlOg0KPiA+Pj4gVHJlYXRpbmcgZXZlcnkg c2luZ2xlIGZsb3cgcnVsZSBhcyBhIGNvbXBsZXRlbHkgaW5kZXBlbmRlbnQgYW5kIHNlcGFyYXRl DQo+ID4+PiBlbnRpdHkgbmVnYXRpdmVseSBpbXBhY3RzIHRoZSBmbG93IHJ1bGVzIGluc2VydGlv biByYXRlLiBPZnRlbnRpbWVzIGluIGFuDQoNCltTbmlwXQ0KDQo+ID4+IEFueXdheSwgdGhlIGZl YXR1cmUgbG9va3MgaGlkZGVuIGluIHRoZSBwYXRjaC4NCj4gPj4NCj4gPiBObyB0aGlzIGlzIG5v dCBoaWRkZW4gZmVhdHVyZS4NCj4gPiBJbiBjdXJyZW50IEFQSSBhcHBsaWNhdGlvbiBtdXN0IHNw ZWNpZnkgYWxsIHRoZSBwcmVjaWRpbmcgaXRlbXMsDQo+ID4gRm9yIGV4YW1wbGUgYXBwbGljYXRp b24gd2FudHMgdG8gbWF0Y2ggb24gdWRwIHNvdXJjZSBwb3J0Lg0KPiA+IFRoZSBydGUgZmxvdyB3 aWxsIGxvb2sgc29tZXRoaW5nIGxpa2UgZXRoIC8gaXB2NC8gdWRwIHNwb3J0ID0geHh4IC4uDQo+ ID4gV2hlbiBQTUQgZ2V0cyB0aGlzIHBhdHRlcm4gaXQgbXVzdCBlbmZvcmNlIHRoZSBhZnRlciB0 aGUgZXRoDQo+ID4gdGhlcmUgd2lsbCBiZSBJUHY0IGFuZCB0aGVuIFVEUCBhbmQgdGhlbiBhZGQg dGhlIG1hdGNoIGZvciB0aGUNCj4gPiBzcG9ydC4NCj4gPiBUaGlzIG1lYW5zIHRoYXQgdGhlIFBN RCBhZGRlcyBleHRyYSBtYXRjaGluZy4NCj4gPiBJZiB0aGUgYXBwbGljYXRpb24gYWxyZWFkeSB2 YWxpZGF0ZWQgdGhhdCB0aGVyZSBpcyB1ZHAgaW4gdGhlIHBhY2tldA0KPiA+IGluIGdyb3VwIDAg YW5kIHRoZW4ganVtcCB0byBncm91cCAxICBpdCBjYW4gc2F2ZSB0aGUgSFcgdGhvc2UgZXh0cmEg bWF0Y2hpbmcNCj4gPiBieSBlbmFibGluZyB0aGlzIGJpdCB3aGljaCBtZWFucyB0aGF0IHRoZSBI VyBzaG91bGQgb25seSBtYXRjaCBvbiBpbXBsaWNpdA0KPiA+IG1hc2tlZCBmaWVsZHMuDQo+IA0K PiBPbGQgQVBJIGFsbG93cyB0byBpbnNlcnQgcnVsZSB0byBub24tMCB0YWJsZSBhcyB3ZWxsLg0K PiBTbywgc2ltaWxhciBsb2dpYyBjb3VsZCBiZSBhcHBsaWNhYmxlLiBEbyB3ZSB3YW50IHRvDQo+ IGhhdmUgdGhlIHNhbWUgZmVhdHVyZSBpbiBvbGQgQVBJPw0KPiANCk1heWJlIGJ1dCBpbiBhbnkg Y2FzZSB0aGlzIHNob3VsZCBiZSBkb25lIHdoZW4gd2UgY2FuIGJyZWFrIEFQSS4NCkluIGdlbmVy YWwgSSdtIG5vdCBzdXJlIHRoYXQgYW55IG5ldyBjYXBhYmlsaXRpZXMgdGhhdCB3aWxsIGJlIGFk ZGVkIHRvIHRoaXMNCkFQSSB3aWxsIGJlIGltcGxlbWVudGVkIGluIHRoZSBjdXJyZW50IG9uZS4N Cg0KPiA+DQo+ID4+PiArCS8qKiBQYXR0ZXJuIHZhbGlkIGZvciBydWxlcyBhcHBsaWVkIHRvIGlu Z3Jlc3MgdHJhZmZpYy4gKi8NCj4gPj4+ICsJdWludDMyX3QgaW5ncmVzczoxOw0KPiA+Pj4gKwkv KiogUGF0dGVybiB2YWxpZCBmb3IgcnVsZXMgYXBwbGllZCB0byBlZ3Jlc3MgdHJhZmZpYy4gKi8N Cj4gPj4+ICsJdWludDMyX3QgZWdyZXNzOjE7DQo+ID4+PiArCS8qKiBQYXR0ZXJuIHZhbGlkIGZv ciBydWxlcyBhcHBsaWVkIHRvIHRyYW5zZmVyIHRyYWZmaWMuICovDQo+ID4+PiArCXVpbnQzMl90 IHRyYW5zZmVyOjE7DQo+ID4+PiArfTsNCj4gPj4+ICsNCg0KW1NuaXBdDQoNCj4gPj4+ICsvKioN Cj4gPj4+ICsgKiBAd2FybmluZw0KPiA+Pj4gKyAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBBUEkg bWF5IGNoYW5nZSB3aXRob3V0IHByaW9yIG5vdGljZS4NCj4gPj4+ICsgKg0KPiA+Pj4gKyAqIENy ZWF0ZSBmbG93IGFjdGlvbnMgdGVtcGxhdGUuDQo+ID4+PiArICoNCj4gPj4+ICsgKiBUaGUgYWN0 aW9ucyB0ZW1wbGF0ZSBob2xkcyBhIGxpc3Qgb2YgYWN0aW9uIHR5cGVzIHdpdGhvdXQgdmFsdWVz Lg0KPiA+Pj4gKyAqIEZvciBleGFtcGxlLCB0aGUgdGVtcGxhdGUgdG8gY2hhbmdlIFRDUCBwb3J0 cyBpcyBUQ1Aoc19wb3J0ICsgZF9wb3J0KSwNCj4gPj4+ICsgKiB3aGlsZSB2YWx1ZXMgZm9yIGVh Y2ggcnVsZSB3aWxsIGJlIHNldCBkdXJpbmcgdGhlIGZsb3cgcnVsZSBjcmVhdGlvbi4NCj4gPj4+ ICsgKiBUaGUgbnVtYmVyIGFuZCBvcmRlciBvZiBhY3Rpb25zIGluIHRoZSB0ZW1wbGF0ZSBtdXN0 IGJlIHRoZSBzYW1lDQo+ID4+PiArICogYXQgdGhlIHJ1bGUgY3JlYXRpb24uDQo+ID4+PiArICoN Cj4gPj4+ICsgKiBAcGFyYW0gcG9ydF9pZA0KPiA+Pj4gKyAqICAgUG9ydCBpZGVudGlmaWVyIG9m IEV0aGVybmV0IGRldmljZS4NCj4gPj4+ICsgKiBAcGFyYW1baW5dIHRlbXBsYXRlX2F0dHINCj4g Pj4+ICsgKiAgIFRlbXBsYXRlIGF0dHJpYnV0ZXMuDQo+ID4+PiArICogQHBhcmFtW2luXSBhY3Rp b25zDQo+ID4+PiArICogICBBc3NvY2lhdGVkIGFjdGlvbnMgKGxpc3QgdGVybWluYXRlZCBieSB0 aGUgRU5EIGFjdGlvbikuDQo+ID4+PiArICogICBUaGUgc3BlYyBtZW1iZXIgaXMgb25seSB1c2Vk IGlmIEBwIG1hc2tzIHNwZWMgaXMgbm9uLXplcm8uDQo+ID4+PiArICogQHBhcmFtW2luXSBtYXNr cw0KPiA+Pj4gKyAqICAgTGlzdCBvZiBhY3Rpb25zIHRoYXQgbWFya3Mgd2hpY2ggb2YgdGhlIGFj dGlvbidzIG1lbWJlciBpcyBjb25zdGFudC4NCj4gPj4+ICsgKiAgIEEgbWFzayBoYXMgdGhlIHNh bWUgZm9ybWF0IGFzIHRoZSBjb3JyZXNwb25kaW5nIGFjdGlvbi4NCj4gPj4+ICsgKiAgIElmIHRo ZSBhY3Rpb24gZmllbGQgaW4gQHAgbWFza3MgaXMgbm90IDAsDQo+ID4+DQo+ID4+IENvbXBhcmlz b24gd2l0aCB6ZXJvIG1ha2VzIHNlbnNlIGZvciBpbnRlZ2VycyBvbmx5Lg0KPiA+Pg0KPiA+DQo+ ID4gV2h5PyBJdCBjYW4gYWxzbyBiZSB3aXRoIHBvaW50ZXJzIGVudW1zLg0KPiANCj4gSXQgc2hv dWxkIGJlIE5VTEwgZm9yIHBvaW50ZXJzIGFuZCBlbnVtLXNwZWNpZmljIG1lbWJlciBvZg0KPiBl bnVtLg0KPiANCg0KU2luY2UgTlVMTCBpcyB6ZXJvLCBJIHRoaW5rIGl0IGlzIG11Y2ggYmV0dGVy IHRvIGhhdmUgdGhlIHNhbWUgbG9naWMNCmFuZCBjb21wYXJlIHRvIDAgaW4gYWxsIGNhc2VzLg0K QWRkaW5nIGRlZGljYXRlZCBlbnVtIG1lbWJlciB3aWxsIGJyZWFrIGN1cnJlbnQgQVBJLCBpbiBh ZGRpdGlvbg0KaWYgd2Ugd2lsbCBoYXZlIG1vcmUgY29tcGxleCBzdHJ1Y3R1cmVzIGxpa2UgYXJy YXlzIGl0IGlzIG11Y2ggZWFzaWVyDQp0byBjb21wYXJlIHRoZSBmaXJzdCBlbGVtZW50IHdpdGgg MC4NCllvdSBjYW4gbG9vayBhdCBpdCBhcyB0cnVlL2ZhbHNlIGZvciBlYWNoIGZpZWxkLg0KDQo+ ID4NCj4gPj4+ICsgKiAgIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlIGluIGFuIGFjdGlvbiBmcm9t IEBwIGFjdGlvbnMgd2lsbCBiZSB0aGUgcGFydA0KPiA+Pj4gKyAqICAgb2YgdGhlIHRlbXBsYXRl IGFuZCB1c2VkIGluIGFsbCBmbG93IHJ1bGVzLg0KPiA+Pj4gKyAqICAgVGhlIG9yZGVyIG9mIGFj dGlvbnMgaW4gQHAgbWFza3MgaXMgdGhlIHNhbWUgYXMgaW4gQHAgYWN0aW9ucy4NCj4gPj4+ICsg KiAgIEluIGNhc2Ugb2YgaW5kaXJlY3QgYWN0aW9ucyBwcmVzZW50IGluIEBwIGFjdGlvbnMsDQo+ ID4+PiArICogICB0aGUgYWN0dWFsIGFjdGlvbiB0eXBlIHNob3VsZCBiZSBwcmVzZW50IGluIEBw IG1hc2suDQo+ID4+PiArICogQHBhcmFtW291dF0gZXJyb3INCj4gPj4+ICsgKiAgIFBlcmZvcm0g dmVyYm9zZSBlcnJvciByZXBvcnRpbmcgaWYgbm90IE5VTEwuDQo+ID4+PiArICogICBQTURzIGlu aXRpYWxpemUgdGhpcyBzdHJ1Y3R1cmUgaW4gY2FzZSBvZiBlcnJvciBvbmx5Lg0KPiA+Pj4gKyAq DQo+ID4+PiArICogQHJldHVybg0KPiA+Pj4gKyAqICAgSGFuZGxlIG9uIHN1Y2Nlc3MsIE5VTEwg b3RoZXJ3aXNlIGFuZCBydGVfZXJybm8gaXMgc2V0Lg0KPiA+Pj4gKyAqLw0KPiA+Pj4gK19fcnRl X2V4cGVyaW1lbnRhbA0KPiA+Pj4gK3N0cnVjdCBydGVfZmxvd19hY3Rpb25zX3RlbXBsYXRlICoN Cj4gPj4+ICtydGVfZmxvd19hY3Rpb25zX3RlbXBsYXRlX2NyZWF0ZSh1aW50MTZfdCBwb3J0X2lk LA0KPiA+Pj4gKwkJY29uc3Qgc3RydWN0IHJ0ZV9mbG93X2FjdGlvbnNfdGVtcGxhdGVfYXR0ciAq dGVtcGxhdGVfYXR0ciwNCj4gPj4+ICsJCWNvbnN0IHN0cnVjdCBydGVfZmxvd19hY3Rpb24gYWN0 aW9uc1tdLA0KPiA+Pj4gKwkJY29uc3Qgc3RydWN0IHJ0ZV9mbG93X2FjdGlvbiBtYXNrc1tdLA0K PiA+Pj4gKwkJc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcik7DQo+ID4+DQo+ID4+IFtzbmlw XQ0KPiA+DQo+ID4gQmVzdCwNCj4gPiBPcmkNCj4gPg0KDQpCZXN0LA0KT3JpDQo=