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 E728143082; Wed, 16 Aug 2023 19:20:55 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6A41B40693; Wed, 16 Aug 2023 19:20:55 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id AEB6F4003C; Wed, 16 Aug 2023 19:20:53 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1692206454; x=1723742454; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=GPDKyv0vhyg7wPElfgFLwvbeFrQ1LrFJWtA2PWwtPhE=; b=EbdcwAoW1hE3DDRuf4Pu2LbQgDYvd9PMx5HjvlM5OTiT/zHHFWbICVkQ 4b57HkRvOPuVg6GjzAP0xC7GlHo5UU1LGKmDCKkGKOzBAZ0/ZgTECTDRB /Li/7/t8AHPojc3rBuCB4+ZxOUy8Z5Y9MZJtf6Z3KM0Sv7UXAzpfNH1hm Ije3qG9UZh59CVVoPrtEfFgVTxlm9JQMB0CdhBLFvfPxLJbHE8WGWZC+D aVvqoVpKR8t9vjaWuRvlg7uucVoZABvwsFs9/g5LMMsATopFK2DkULu6T W32k9Azyu/RP1Cf2AEa7l1WKleLw5aEZHtneeGKG87fomgTJE9+EZUfbT g==; X-IronPort-AV: E=McAfee;i="6600,9927,10803"; a="370061855" X-IronPort-AV: E=Sophos;i="6.01,177,1684825200"; d="scan'208";a="370061855" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Aug 2023 10:18:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10803"; a="727818899" X-IronPort-AV: E=Sophos;i="6.01,177,1684825200"; d="scan'208";a="727818899" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga007.jf.intel.com with ESMTP; 16 Aug 2023 10:18:47 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 16 Aug 2023 10:18:47 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Wed, 16 Aug 2023 10:18:47 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.103) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Wed, 16 Aug 2023 10:18:46 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Q2phB36FJ+Axc4nIP3A4G6k+uyUokWfAMiP7Y8AW0w/qHxeMmk9pPVuwseF2GuzL8yWnOHbwXYSICHQwL5SCHNUD2Sg9oksIjOBR76rWsEkR7pGedypT7Vmw+EGC8F4emNi1O8OSNzrXeuod157YAKDlrzdRWICekc0+UetpmDfxcDkoXbQjGfe6C7xLvtN3W87WkuZNdkLf2nXG7Onz1Jn3/VwGm173bzGdPXiNPQr8WGX/aUoXS+K9bVQzgGcMYrr2u2RX5uyUB3T+a4QNMKcbyWHl9fpL+XoF5fWjhmO0PgfW2Uk7X0wdBkeYqIZwmAyP5WW+IzI3r3MA5m7CUQ== 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=GPDKyv0vhyg7wPElfgFLwvbeFrQ1LrFJWtA2PWwtPhE=; b=EDrTdFQOF/pG8aFQ6E4xb+Jz7nrZQ2E3kk9C8aTMKo1gOlSVUhCWd/n+v+73FXImWNdHOl3mk2wuaxavEJVQx5ihCjCS4zjE6GMlME4bRMcNWaWEjgv2FEH65hSjHOk5ckNe6AK+Kgs66IRmCGMq+Pn6bUiHIuVmjk03YUA6AznGov0Mhz9z8bEEMKO4mq269FU2z3rdj6QX9A5oAh43WYcssXvmC+V+4OoBhvymfKnPKfXXqM/PQLDAneYwOGgamWu3GW5U6QC4mBCEE2t+06X9X6JZ77J5Q2e6nPP7TxdIzF7QCUnvNZOysIoWpWORVJU3rluDON846uZvUnJ4sA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DS0PR11MB7442.namprd11.prod.outlook.com (2603:10b6:8:14d::22) by CY5PR11MB6488.namprd11.prod.outlook.com (2603:10b6:930:30::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.30; Wed, 16 Aug 2023 17:18:44 +0000 Received: from DS0PR11MB7442.namprd11.prod.outlook.com ([fe80::d480:4435:2089:dd78]) by DS0PR11MB7442.namprd11.prod.outlook.com ([fe80::d480:4435:2089:dd78%4]) with mapi id 15.20.6678.025; Wed, 16 Aug 2023 17:18:44 +0000 From: "Dumitrescu, Cristian" To: Ferruh Yigit , =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , "Zhang, Qi Z" , Ori Kam , Jerin Jacob CC: "NBU-Contact-Thomas Monjalon (EXTERNAL)" , "david.marchand@redhat.com" , "Richardson, Bruce" , "jerinj@marvell.com" , "techboard@dpdk.org" , "Mcnamara, John" , "Zhang, Helin" , "dev@dpdk.org" Subject: RE: [PATCH] ethdev: introduce generic flow item and action Thread-Topic: [PATCH] ethdev: introduce generic flow item and action Thread-Index: AQHZxSHaq6JEAAy13km0+kJQgl6M8q/WzPOAgAAKDYCAAAW8gIAAKMlQgAASn4CAAA7fAIAABToAgAAOQRCAAAtjUIAAfPiAgADXrACAFGKN4IAAC57QgAA1kICAAAHdkA== Date: Wed, 16 Aug 2023 17:18:44 +0000 Message-ID: References: <20230802173451.3151646-1-qi.z.zhang@intel.com> <98CBD80474FA8B44BF855DF32C47DC35D87AB9@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35D87ABF@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35D87AC2@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35D87AC4@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35D87B0B@smartserver.smartshare.dk> <2bb39705-9d3d-cc00-213f-2aeea81cdf2b@amd.com> In-Reply-To: <2bb39705-9d3d-cc00-213f-2aeea81cdf2b@amd.com> 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=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DS0PR11MB7442:EE_|CY5PR11MB6488:EE_ x-ms-office365-filtering-correlation-id: 5f08f6be-a3d8-41ec-a9eb-08db9e7cd835 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: vZ86Pw81Jm7q/yVbODdZRCeZ/qlDd1xOCh+ZiNQbC5hWc9h7gF460NHAsw3uzTd2v9oQfHQd/fUGZcyqiQvwW/7vOo+jxFAiyFJ4doe6N5uSNgtQz+cpPqyBbrPZgb8BmViZpxlim4XogdwFGJPtt3QZS8YAbnjruWxyATAGRUy1mLAxBfdIfR5tKGGmPvJv+GaIJNQH94YJuEP7vpEGHhlb3n1ykNdKaM9iKYqBCVV4CpWB5Q2sgCxM8hQonwLR+g4MnjP29cliFdWh3V6wdcV9Ws68eMZNc9zuSn7vY0IgR8YtousYIeY9KaLOjxCHuqdBFZ0mBykXfntz5Nju2kzUHoyRPlumkjE13QThqd8aVi+W3YQTxKTe2we9EIuDcleqm4HJOOgkpqcow15sVsWWWsn5fx2qK+c2XUc9qUTgBQyfcWGAeYVMTGk5G6xlv0iE0y3aDW+UUM+lkGN8A6Mp5k5rwxaURPVglhkz3IWVZLQiBdAQ7Sn1S0i4+j7gn0paeDecIKS4/bIjhsvniuGGH9663vseBUD7ohqEDF0xMsWCpTUQ5T+wKA/8ihqLaOeQs1K2KN3wGlV9kDW9C0n58mKrvM2nXBE7GvOYBn2//jntl7AjPdjB77njg6IyMIfugDmzPDdjd0r3C0iqOw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS0PR11MB7442.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(136003)(376002)(366004)(346002)(39860400002)(1800799009)(186009)(451199024)(2906002)(33656002)(26005)(86362001)(53546011)(9686003)(71200400001)(7696005)(6506007)(122000001)(66574015)(38070700005)(82960400001)(38100700002)(83380400001)(478600001)(55016003)(66476007)(66446008)(64756008)(54906003)(66946007)(66556008)(76116006)(110136005)(316002)(8936002)(4326008)(8676002)(52536014)(41300700001)(5660300002)(41533002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SzlZd1phOEJLNGpDKytaZHFaVFFlSUxoaEZQYUlqTGxDWUZDdllPaDNCSlZP?= =?utf-8?B?QXNSV1Z5bVBmZXFDZUt6TTZNc3VuRlgwNHZXNDdBNWhoZVhETEtkWWFDd1pi?= =?utf-8?B?QTdqQkIvT0MvMXdxa2R4c1JKSDdwZ2FJV2lqeGwvcHBSMEtnSEh4RVFRRWVt?= =?utf-8?B?eGo0VVFyeitrSTZyUmp2NGxGR2FXQzlaZnJoZlk0TmUvZDdVVkFiVzkwUjEy?= =?utf-8?B?MWFtRm1YdWVwMlkrbFNLeWY3cDdiWm9scjhxaHVQWEUyWGhTME5mTWJJdURG?= =?utf-8?B?WkJDbmNGTnhlaEtMcklZa0NPNC8rSXJITnY1U2ZIbVlZT0hJQzk0K3FxdDE5?= =?utf-8?B?UDNNQU5Na3d4RDhoSWViSFdVMlAzUkM5NTNZU1h5aXAvWG8xdDVjM3duSWZD?= =?utf-8?B?MEVoRmtZR0hkVTVSSGl5NThxUHN1T2dWWnRwazdHRzd5bVVRRUJYckZ2TmRN?= =?utf-8?B?c3RoRU1YSEJnVkNueThack0wWk1reEV2L2tmVllzQU5LTEptQ0hGWGgzYlFr?= =?utf-8?B?M0twVlc4NUZpWHkrRjVGZk81MjZtN0ZTU1RLb3BweCtCNU5uQU1hUHhIR3JK?= =?utf-8?B?WlVrL1ZGTE1zdGcvQUgycDVhMWRSY0dtby81N3F0VXR4MGFZbDR1QU1JdzlP?= =?utf-8?B?TXNkZmNCZHVIUlY1NXZWc0t3R3hvbldiSVJIUGtSS0NUV0tWaTY3dEdOOGs4?= =?utf-8?B?YlQ4V3hRMnF1M2VrTWNtSFlIYVJQVlNQUkJzLzBPM1c3NWxTYXB1RXlGdEtl?= =?utf-8?B?U2YyeHpqMXloc2hXUGZXMGpFT2haUHNNaS91MkEwYU1EdXhubklDam80UU9R?= =?utf-8?B?Y3RjeDRjNXlyaVJ0TjBJUjQzZmJHS2xpVmtrMG1INEZFd1RGd2ZDYnNCL2xS?= =?utf-8?B?NW9Ick8zcmpUTGRSQXJxOG8xeUhHeHpDVFAvREhDWXJ5TU95R0pxVWRqRTZY?= =?utf-8?B?UkJCbVphSUl3WTJHbjRyQVFxemZEbnRSS0ZSQnlPN3ZTbEhnQlhxKzd1NlVw?= =?utf-8?B?M3MwdGFHTCtZQUJOWU1rVnVxTUZOQ3NVNTd5SCt6L1NuTHZTTHlKZERYUEFD?= =?utf-8?B?aU05cld4Wmc1U1ozSkRjTm1EK2FWVzlvd3I5SVJkMmI3ODJwSFh5dndpN2ZM?= =?utf-8?B?SHhMWEJMbms1aXVMSDZJWFNTek5sem5RdWVBSXAwdStMQkxiMmN4SXRPME5l?= =?utf-8?B?TnpXNmdPK3F5aUlIT1hsSDVoQ1pZVkY1aW5RNStvZVVjdEtRRk5sREFWTTV4?= =?utf-8?B?UXJjYVJmVkRJMStPNkd1ZmhDY1hKSjc5bTkvaFlXWWphbVYyVGp0bXRTTnBB?= =?utf-8?B?NWdBZzJYa3haMG9uOUJjNVFoSG9FOXR0dDMwaDdHYjFyOUJIRFJqdk9XY1Nl?= =?utf-8?B?T041QXJPdlJtYUdVbldLWHExSkFXeG1tMFVtUDNuWUszRTZaVy84NHdiZHlY?= =?utf-8?B?eitKRTRTR2kramV5S1RyNEs4WU5ZdGtNN0M2VXk2aG5KZklhNTZ1bXo0M1hT?= =?utf-8?B?Q3JwenBKN1lOaGV2Qlp4QTR0eW5hTnplc0RRNGdlVWIzeHRXSnJFdENPNlJr?= =?utf-8?B?b0xReFdNS3VLUXhrS3JxR1pBNERNakU1RjUwU1lsNjhXRnhrelBTZ3NCTURy?= =?utf-8?B?Qy9MUVl0NHRIdWliQ2RMUTY3bmFWT0dEbDNmUFpadGRzUUIxa2Y2VGhWN1Vv?= =?utf-8?B?ODBqRVVpSE0zNzlvL2g3OWV5RTBhRkR4RW1raGpYa09oejhzcXp1bjNiVE5s?= =?utf-8?B?SVBsRVRBMWJCd3djYlo2ZGJDV3pCV08wc1NFRzF2SGlVbStCVmpYRGhiM1o0?= =?utf-8?B?TVozV0laYWlJTkkrZEtEdmV2Q3ArY0QwZW1qbUxhN1lzdVVNNnpzc1JKcDZN?= =?utf-8?B?eHdWNDY1bHptaEdyNEREUFBvVTFFOE9lQVRyREZtWTY5Ly92akN0OHhMKzlB?= =?utf-8?B?NVRPMlZFU1NBOHR1bmF0VmpqUjlsbFNPT1Q5dU1yWUpFQjUwdHVaNGhvZTYy?= =?utf-8?B?bVdxT2ZMOWMyZXpLSVR2ZC9HNStOUWJBeklXaUNSQzhndTBnN3ZtNkswcGh4?= =?utf-8?B?ZDRkZ3RYc3k0OVlsbXU1eGppNWo1WGRJYzQ0RTQ3ZWczSlZuSFIwWG5zZnJu?= =?utf-8?B?VUl5MjlWekhOMTcxblFYczhyMlAwVTQ1eHdTRnJPSVhLQ0g3R3NjTjI1cnJH?= =?utf-8?B?YVE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7442.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5f08f6be-a3d8-41ec-a9eb-08db9e7cd835 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Aug 2023 17:18:44.3346 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 3a0K11URfVjTONh0QKkf59uzWLYMrqI0O40yDKkG/gc+59/L5HDHiBNqE1TxQoKWSDskY0+wtPyP1Tj601j8XQ7uw6yHv6GTH/lu7YBPsK8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR11MB6488 X-OriginatorOrg: intel.com 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm ZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gU2VudDogV2VkbmVzZGF5LCBBdWd1c3QgMTYsIDIwMjMg NjowOCBQTQ0KPiBUbzogTW9ydGVuIEJyw7hydXAgPG1iQHNtYXJ0c2hhcmVzeXN0ZW1zLmNvbT47 IER1bWl0cmVzY3UsIENyaXN0aWFuDQo+IDxjcmlzdGlhbi5kdW1pdHJlc2N1QGludGVsLmNvbT47 IFpoYW5nLCBRaSBaIDxxaS56LnpoYW5nQGludGVsLmNvbT47IE9yaQ0KPiBLYW0gPG9yaWthQG52 aWRpYS5jb20+OyBKZXJpbiBKYWNvYiA8amVyaW5qYWNvYmtAZ21haWwuY29tPg0KPiBDYzogTkJV LUNvbnRhY3QtVGhvbWFzIE1vbmphbG9uIChFWFRFUk5BTCkgPHRob21hc0Btb25qYWxvbi5uZXQ+ Ow0KPiBkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tOyBSaWNoYXJkc29uLCBCcnVjZQ0KPiA8YnJ1 Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+OyBqZXJpbmpAbWFydmVsbC5jb207IHRlY2hib2FyZEBk cGRrLm9yZzsNCj4gTWNuYW1hcmEsIEpvaG4gPGpvaG4ubWNuYW1hcmFAaW50ZWwuY29tPjsgWmhh bmcsIEhlbGluDQo+IDxoZWxpbi56aGFuZ0BpbnRlbC5jb20+OyBkZXZAZHBkay5vcmcNCj4gU3Vi amVjdDogUmU6IFtQQVRDSF0gZXRoZGV2OiBpbnRyb2R1Y2UgZ2VuZXJpYyBmbG93IGl0ZW0gYW5k IGFjdGlvbg0KPiANCj4gT24gOC8xNi8yMDIzIDM6MjAgUE0sIE1vcnRlbiBCcsO4cnVwIHdyb3Rl Og0KPiA+PiBGcm9tOiBEdW1pdHJlc2N1LCBDcmlzdGlhbiBbbWFpbHRvOmNyaXN0aWFuLmR1bWl0 cmVzY3VAaW50ZWwuY29tXQ0KPiA+PiBTZW50OiBXZWRuZXNkYXksIDE2IEF1Z3VzdCAyMDIzIDE1 LjIzDQo+ID4+DQo+ID4+IEhpIE1vcnRlbiwNCj4gPj4NCj4gPj4gPHNuaXA+DQo+ID4+DQo+ID4+ Pj4+DQo+ID4+Pj4+IEluIG9yZGVyIHRvIGF2b2lkIGNvbmZsaWN0cyBiZXR3ZWVuIFA0IGFuZCBu b24tUDQgZ2VuZXJpYyBmbG93DQo+ID4+Pj4gaXRlbXMvYWN0aW9ucywNCj4gPj4+Pj4gdGhlIGdl bmVyaWMgdHlwZSBzaG91bGQgaW5jbHVkZSBpbmZvcm1hdGlvbiBhYm91dCBob3cgdG8gaW50ZXJw cmV0IHRoZQ0KPiA+Pj4+PiBpbmZvcm1hdGlvbiwgd2hpY2ggaXMgd2h5IEkgc3VnZ2VzdCBtYWtp bmcgaXQgYSBWZW5kb3ItU3BlY2lmaWMgdHlwZSwNCj4gPj4gd2l0aA0KPiA+Pj4+PiB2ZW5kb3It c3BlY2lmaWMgVExWJ3MgKG1hbmFnZWQgYnkgdGhlIHZlbmRvciksIGxpa2UgdGhlIFJBRElVUw0K PiBWZW5kb3ItDQo+ID4+Pj4+IFNwZWNpZmljIGF0dHJpYnV0ZXMgSSBjb21wYXJlZCB0bywgaW5z dGVhZCBvZiBqdXN0IGFuIG9wYXF1ZSBibG9iLg0KPiA+Pj4+DQo+ID4+Pj4gSSBsaWtlIHRoaXMg aWRlYSwgYnV0IGl0IGlzIG5vdCBuZWNlc3NhcnkgdG8gaW50cm9kdWNlIGEgdmVuZG9yLXNwZWNp ZmljDQo+ID4+IHR5cGUsDQo+ID4+Pj4gaXQgY291bGQgYmUgY29uc2lkZXJlZCBhIGRldmljZS1z cGVjaWZpYyB0eXBlIChvciBwb3J0LXNwZWNpZmljIGluIHRoZQ0KPiA+PiBjb250ZXh0DQo+ID4+ Pj4gb2YgRFBESykuDQo+ID4+Pj4NCj4gPj4+PiBIb3dldmVyLCB0aGUgUE1EIGNhbiBtYW5hZ2Ug YSBkaWN0aW9uYXJ5LCBlbmFibGluZyB1c2VycyB0byBxdWVyeQ0KPiBhYm91dA0KPiA+Pj4gdGhl DQo+ID4+Pj4gZm9ybWF0IG9mIGVhY2ggZ2VuZXJpYyBpdGVtIG9yIGFjdGlvbiBpZiB3ZSBjYW4g ZXhwb3NlIGEgc2V0IG9mIHF1ZXJ5DQo+ID4+IEFQSXMuDQo+ID4+Pj4NCj4gPj4+PiBCdXQgSSBn dWVzcyB3ZSBkb24ndCBuZWVkIHZlbmRvci1pZCAvIHZlbmRvci10eXBlIGFzIFJBRElVUyBkb2Vz LCBhcw0KPiB3ZQ0KPiA+Pj4gaGF2ZQ0KPiA+Pj4+IHBvcnRfaWQgaGVyZS4NCj4gPj4+DQo+ID4+ PiBJZiB0aGUgZmxvdyBpdGVtIGl0c2VsZiBkb2Vzbid0IGhhdmUgYSAidHlwZSIgZmllbGQgKGlk ZW50aWZ5aW5nIGhvdyB0bw0KPiA+PiBpbnRlcnByZXQNCj4gPj4+IHRoZSBibG9iKSwgeW91IG1p Z2h0IGhhdmUgdHdvIGRpZmZlcmVudCBOSUNzIHVzaW5nIGVhY2ggdGhlaXIgb3duIGJsb2INCj4g Pj4+IGZvcm1hdC4gVGhlIE5JQyBtdXN0IGJlIGFibGUgdG8gZGV0ZXJtaW5lIGlmIGEgZ2l2ZW4g ZmxvdyBpdGVtIGlzIG9mIGENCj4gdHlwZQ0KPiA+PiBpdA0KPiA+Pj4gY2FuIHVuZGVyc3RhbmQs IGJlZm9yZSBpdCB0cmllcyB0byBwYXJzZSB0aGUgYmxvYiBpbiBpdC4NCj4gPj4+DQo+ID4+PiBU aGlzIGlzIHdoeSB0aGUgInN0cnVjdCBydGVfZmxvd19pdGVtIiBoYXMgYSAidHlwZSIgZmllbGQu IEl0IHRlbGxzIHRoZSBIVw0KPiA+PiBob3cNCj4gPj4+IHRvIGludGVycHJldCB0aGUgdmFsdWVz IGluIGEgZmxvdyBpdGVtLg0KPiA+Pj4NCj4gPj4+IElmIHdlIGludHJvZHVjZSBhICJnZW5lcmlj IiBmbG93IGl0ZW0gdHlwZSwgaXQgY2FuIG9ubHkgYmUgdXNlZCBmb3INCj4gbXVsdGlwbGUNCj4g Pj4+IHB1cnBvc2VzIChpLmUuIGJvdGggUDQsIGJ1dCBhbHNvIG90aGVyIHB1cnBvc2VzIHRoYW4g UDQpIGlmIGl0IGhhcyBhICJzdWItDQo+ID4+IHR5cGUiDQo+ID4+PiBmaWVsZC4gT3RoZXJ3aXNl LCBzb21lb25lIHdpbGwgY3JlYXRlIGEgImdlbmVyaWMiIGZsb3cgaXRlbSBjb250YWluaW5nIGEN Cj4gUDQNCj4gPj4+IHByb2dyYW0gYW5kIHNlbmQgaXQgdG8gYSBOSUMsIHdoaWNoIHVzZXMgdGhl ICJnZW5lcmljIiBmbG93IGl0ZW0gdHlwZSBmb3INCj4gPj4+IG90aGVyIHByb2dyYW0gdHlwZXMs IGUuZy4gYSBjQlBGIHByb2dyYW0uIEFuZCB0aGlzIGNCUEYgY2FwYWJsZSBOSUMgaGFzDQo+IG5v DQo+ID4+PiB3YXkgdG8gZGV0ZWN0IHRoYXQgdGhlIGJsb2IgaW4gdGhlIGZsb3cgaXRlbSBpcyBu b3QgYSBjQlBGIHByb2dyYW0sIGJ1dCBhDQo+IFA0DQo+ID4+PiBwcm9ncmFtLiBUaGUgUDQgY2Fw YWJsZSBOSUMgd2lsbCBhY2NlcHQgdGhlIFA0IHByb2dyYW0sIGJ1dCB3aWxsIGJlDQo+IGNvbmZ1 c2VkDQo+ID4+PiB3aGVuIHNlbnQgdGhlIGNCUEYgcHJvZ3JhbSB1bmRlcnN0b29kIGJ5IHRoZSBm aXJzdCBOSUMuDQo+ID4+Pg0KPiA+Pj4gU28gSSBhbSBzdWdnZXN0aW5nIHRoYXQgdGhlICJnZW5l cmljIiBmbG93IGl0ZW1zIGFuZCBhY3Rpb25zIGZvbGxvdyBhbg0KPiA+PiBleGlzdGluZw0KPiA+ Pj4gYW5kIHdlbGwga25vd24gZGVzaWduIHBhdHRlcm5zIGZvciBob3cgdG8gaWRlbnRpZnkgdGhl IG1lYW5pbmcgb2YgYmxvYnM6DQo+ID4+PiBJbmNsdWRlIGEgVmVuZG9yLUlEIGZvbGxvd2VkIGJ5 IHZlbmRvci1zcGVjaWZpYyBUTFYgZm9ybWF0dGVkIGRhdGEuDQo+ID4+Pg0KPiA+Pj4gQXMgSSB3 cm90ZSBpbml0aWFsbHksIEkgYW0gb3Bwb3NlZCB0byBpbnRyb2R1Y2luZyB1bmludGVycHJldGFi bGUgYmxvYnMgaW50bw0KPiA+Pj4gRFBESy4gRmxvdyBpdGVtcy9hY3Rpb25zIG5lZWQgdG8gYmUg d2VsbCBkZWZpbmVkLiBBbGxvd2luZyAiVmVuZG9yLQ0KPiBTcGVjaWZpYyINCj4gPj4+IGZsb3cg aXRlbXMvYWN0aW9ucyBpcyBhIHdvcmthcm91bmQgdGhhdCBhbGxvd3MgeW91IHRvIGJ5cGFzcyB0 aGUgbm9ybWFsDQo+ID4+PiBzdGFuZGFyZGl6YXRpb24gcHJvY2Vzcy4NCj4gPj4+DQo+ID4+DQo+ ID4+IEkgd291bGQgYmUgaGFwcHkgdG8gYWRkIG1lY2hhbmlzbXMgdG8gZGVzY3JpYmUgdGhlIHVz ZXItZGVmaW5lZCBmbG93DQo+IGl0ZW1zDQo+ID4+IGFuZCBhY3Rpb25zIGluIGdyZWF0ZXIgZGV0 YWlsLiBXb3VsZCB5b3UgYmUgYWJsZSB0byBwcm92aWRlIHNvbWUgZXhhbXBsZXMNCj4gZm9yDQo+ ID4+IHlvdXIgcHJvcG9zYWwgZm9yIGEgZmxvdyBpdGVtIGFuZCBhIGZsb3cgYWN0aW9uIG9mIHlv dXIgY2hvaWNlLCBwbGVhc2U/DQo+ID4+IFRoYW5rcyENCj4gPj4NCj4gPj4gT25lIHRoaW5nIEkg d291bGQgd2FudCB0byBzdHJlc3MgaGVyZTogdGhlIGZsb3cgaXRlbXMgYW5kIGZsb3cgYWN0aW9u cyBhcmUNCj4gPj4gZGVmaW5lZCBleGNsdXNpdmVseSBieSB0aGUgdXNlciAodGhyb3VnaCB0aGVp ciBQNCBwcm9ncmFtKSB3aXRob3V0IGFueQ0KPiA+PiBrbm93bGVkZ2Ugb3IgaW50ZXJ2ZW50aW9u IGZyb20gdGhlIEhXIHZlbmRvciwgc28gYW55IFRMVnMgLyBoZWxwZXIgZmllbGRzDQo+ID4+IG11 c3QgYmUgcG9wdWxhdGVkIGJ5IHRoZSB1c2VyIGFzIG9wcG9zZWQgdG8gdGhlIEhXIHZlbmRvci4N Cj4gPg0KPiA+IFBlcmhhcHMgSSBoYXZlIGNvbXBsZXRlbHkgbWlzdW5kZXJzdG9vZCB0aGlzIHBh dGNoLi4uDQo+ID4NCj4gPiBJIHRob3VnaHQgdGhlIHB1cnBvc2UgaXMgZm9yIHRoZSB1c2VyIHRv IGRlZmluZSBzb21lIGdlbmVyaWMgZmxvdyBpdGVtcyBhbmQNCj4gYWN0aW9ucywgd2hpY2ggYXJl IG5vdCBpbiB0aGUgbGlzdCBvZiBEUERLIHN0YW5kYXJkaXplZCAoYW5kIGZ1bGx5IGRvY3VtZW50 ZWQpDQo+IFJURV9GTE9XIGl0ZW1zL2FjdGlvbnMsIGJ1dCBhcmUgdW5kZXJzdG9vZCBieSBhIHZh cmlldHkgb2YgcHJvZ3JhbW1hYmxlDQo+IE5JQ3MgZnJvbSB2YXJpb3VzIEhXIHZlbmRvcnMuIElu IHRoaXMgY2FzZSwgZWFjaCBibG9iIG5lZWRzIHRvIGJlIHByZWZpeGVkDQo+IHdpdGggYSAidHlw ZSIgZmllbGQsIHNvIHRoZSBIVyBjYW4gZGV0ZXJtaW5lIHdoaWNoIG9mIGl0cyBwcm9jZXNzaW5n IGVuZ2luZXMNCj4gbmVlZHMgdG8gcGFyc2UgdGhlIGJsb2IuIEUuZy4gYSBOSUMgY291bGQgaGF2 ZSBib3RoIGEgUDQgcHJvY2Vzc2luZyBlbmdpbmUNCj4gYW5kIGEgQlBGIHByb2Nlc3NpbmcgZW5n aW5lLCBzbyB0aGUgYmxvYiBuZWVkcyB0byBpbmRpY2F0ZSB3aGljaCBvZiB0aGUgdHdvDQo+IGVu Z2luZXMgdG8gdXNlIGZvciB0aGUgcHJvdmlkZWQgZmxvdyBpdGVtL2FjdGlvbi4NCj4gPg0KPiA+ IEJ1dCBtYXliZSB0aGUgcHVycG9zZSBpcyBjb21wbGV0ZWx5IGRpZmZlcmVudC4gSXMgdGhlIHB1 cnBvc2Ugb2YgdGhpcyBwYXRjaA0KPiB0byBpbnRyb2R1Y2UgZmxvdyBpdGVtcyBhbmQgZmxvdyBh Y3Rpb25zLCB3aGljaCBlYWNoIG1ha2UgdGhlIEhXIHBlcmZvcm0gYQ0KPiAiY2FsbGJhY2siIHRv IHRoZSB1c2VyIGFwcGxpY2F0aW9uPyBJbiB0aGlzIGNhc2UsIG9ubHkgdGhlIHVzZXIgYXBwbGlj YXRpb24NCj4gKGhhbmRsaW5nIHRoZSAiY2FsbGJhY2tzIikgY2FuIHVuZGVyc3RhbmQgdGhlbSwg YW5kIHRodXMgdGhleSBhcmUgY29tcGxldGVseQ0KPiBvcGFxdWUgdG8gZXZlcnl0aGluZyBlbHNl Lg0KPiA+DQo+IA0KPiBATW9ydGVuLCBJIGFncmVlIHRoYXQgdGhpcyBpcyBtb3JlICJvcGFxdWUi IHRoYW4gImdlbmVyaWMiIGFuZCBpdCBpcw0KPiBvcGVuIHRvIGFidXNlLg0KPiANCj4gQXMgZmFy IGFzIEkgdW5kZXJzdGFuZCwgcHVycG9zZSBpcyBOT1QgdG8gaW1wbGVtZW50IHVuc3VwcG9ydGVk IFJURV9GTE9XDQo+IGl0ZW1zL2FjdGlvbnMsIGlmIHRoYXQgaXMgdGhlIGNhc2UgSSBhZ3JlZSB3 aXRoIEBPcmkgdG8gZmlndXJlIG91dCBnYXBzDQo+IGFuZCBpbXBsZW1lbnQgdGhlbS4NCj4gDQoN CkV4YWN0bHkuDQoNCj4gDQo+IFB1cnBvc2Ugc2VlbXMgdG8gcHJvdmlkZSBjb250cm9sIHBhdGgg Zm9yIFA0IHBpcGVsaW5lcy4NCj4gDQoNCisxDQoNCj4gRWFjaCBQNCBwaXBlbGluZSBpbXBsZW1l bnRhdGlvbiBjYW4gaGF2ZSBzZXQgb2YgdGFibGVzLCB1c2VkIGZvciBtYXRjaA0KPiBhY3Rpb24g Zm9yIHRoZSBwaXBlbGluZSwgYW5kIHRoZXNlIHRhYmxlcyBjYW4gYmUgZm9yIGFueXRoaW5nLCBk b2Vzbid0DQo+IGhhdmUgdG8gYmUgc3RhbmRhcmQgbmV0IGZ1bmN0aW9ucyBvciBwcm90b2NvbHMg ZXRjLi4NCj4gDQo+IFRvIGJlIGFibGUgdG8gZHluYW1pY2FsbHkgcHJvZ3JhbSB0aGUgcGlwZWxp bmUsIHNvbWVvbmUgbmVlZHMgdGhlDQo+IGFiaWxpdHkgdG8gcHJvZ3JhbSB0aGUgdGFibGVzLCBz aW5jZSB0aGVzZSB0YWJsZXMgbm90IGxpbWl0ZWQgdG8gbmV0DQo+IGZ1bmN0aW9ucyBpdCBpcyBu b3QgcG9zc2libGUgdG8gYWRkcmVzcyB0aGVzZSB0YWJsZXMgYnkgcnRlX2Zsb3cgcGF0dGVybnMu DQo+IEhlbmNlIHRoaXMgb3BhcXVlIHJ0ZV9mbG93IHBhdHRlcm4vYWN0aW9uIHNlZW1zIGRlc2ln bmVkIHRvIGR5bmFtaWNhbGx5DQo+IHVwZGF0ZS9jb250cm9sIHRoZSBwaXBlbGluZS4NCj4gDQoN Clllcy4NCg0KPiANCj4gSWYgYWJvdmUgdW5kZXJzdGFuZGluZyBpcyBjb3JyZWN0LCBJIHN1Z2dl c3QgdXNpbmcgYSBtaWRkbGUgZ3JvdW5kLA0KPiBpbnN0ZWFkIG9mIGhhdmluZyB3aWRlIG9wZW4g a2V5L3ZhbHVlIGJhc2VkIHJ0ZV9mbG93IGl0ZW0sIHJlbmFtZSBpdCB0bw0KPiBSVEVfRkxPV19J VEVNX1RZUEVfUDRbU09NRVRISU5HXSwNCj4gDQo+IGFuZCBoYXZlICJzdHJ1Y3QgcnRlX2Zsb3df aXRlbV9wNFtzb21ldGhpbmddIiB0byBpbmNsdWRlIGFsbCByZWxldmFudA0KPiBmaWVsZHMgdG8g cHJvZ3JhbSBhIFA0IHBpcGVsaW5lLCBsaWtlIHRhYmxlX2lkL3RhYmxlX25hbWUsIHZhbHVlIGV0 Yy4uDQo+IA0KPiBUaGlzIHdheSBuZXcgcnRlX2Zsb3cgaXRlbS9hY3Rpb24gcmVtYWlucyBzY29w ZWQgYW5kIGZvY3VzZWQsIGJ1dCBzdGlsbA0KPiBmbGV4aWJsZSBlbm91Z2ggdG8gcHJvZ3JhbSBh bnkgdHlwZSBvZiBQNCBwaXBlbGluZS4NCj4gDQoNCklmIHRoaXMgYXBwcm9hY2ggd291bGQgYmUg YWNjZXB0YWJsZSwgd2UnZCBiZSBnbGFkIHRvIGdvIGZvciBpdC4NCg0KPiANCj4gQWxzbyB3ZSBk b24ndCBuZWVkIHRvIG1haW50YWluIGEgdW5pcXVlIHZlbmRvciBJRCBldGMsIGFsdGhvdWdoIHdo YXQgaXMNCj4gdGhlIHRhYmxlIG5hbWUvaWQsIHdoYXQgaXQgaXMgZm9yIGFuZCB3aGF0IGlzIHRo ZSByZWxldmFudCBhY3Rpb24gaXMgSFcNCj4gKGV2ZW4gcGlwZWxpbmUpIHNwZWNpZmljLCB0aGVy ZSBpcyBub3RoaW5nIHRvIGNvbGxpZGUgcGVyIHZlbmRvciB0byBtYW5hZ2UuDQo+IFdpdGggdGhp cyBhcHByb2FjaCBjb2RlIGNhbiBiZSBwb3J0YWJsZSwgc2FtZSBhcHBsaWNhdGlvbiBjYW4gYmUg dXNlZCBvbg0KPiB0b3Agb2YgZGlmZmVyZW50IEhXIHRoYXQgaW1wbGVtZW50cyBleGFjdCBzYW1l IFA0IHBpcGVsaW5lcyAoYXNzdW1pbmcNCj4gZHJpdmVyIGltcGxlbWVudGF0aW9ucyBhcmUgY29t cGxldGUuKQ0KPiANCg0KWWVzLCBmbG93IGl0ZW1zIGFuZCBhY3Rpb25zIGFyZSBkZWZpbmVkIGJ5 IHRoZSB1c2VyLCB0aGUgdmVuZG9yIGlzIGhhcHBpbHkNCnVuYXdhcmUgYWJvdXQgd2hhdCB0aGUg dXNlcnMgYXJlIGRvaW5nIGluIHRoZWlyIFA0IHByb2dyYW1zLg0KPiANCj4gDQo+IA0KPiANCj4g DQo+IA0KPiANCj4gDQo+IA0KDQo=