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 7BE1EA00BE; Sun, 22 May 2022 10:03:46 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 19F4F40156; Sun, 22 May 2022 10:03:46 +0200 (CEST) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2077.outbound.protection.outlook.com [40.107.92.77]) by mails.dpdk.org (Postfix) with ESMTP id 9A4A440040 for ; Sun, 22 May 2022 10:03:44 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dHLXwDIyP4/NsiSa/xeszdilUSrU8On1HyvDvH91ciaAQJxmJH+A/hNYh5OO4iM3kw9Un5Qg5Qnc0miD19wDFAE1fBHpKyprcunBT/0xZe4RXk5ErQ3JGGetfbgqGoLNjG+167e4qGC+PLnm6NzwRYcDsBgQEZt5CUn2VJyKIHTCkfl5lmWG+53CwxXxj29zmlnWpqNq9O213O5ss3SdmuP86OtAlDYVD+0qQ8gKApDmVbJg5pAfs4Z2rZzHVDlhdPmXxo21ZqUo6DYh1OwEzcV+LgqtfgI/3dNEuqVEm8W0TtMlCQvuZPkgk+ruHA3am+1U+JVa+zhuIiK69yzV3Q== 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=aQgWAodCS6fO4XrxCoT4D5OWDiI6Fxf9af1BVSQtfOg=; b=OC80yy1fVIzn4D2WCM56mUHl63F/JKQlMdoQozyw3v8U9mC6rq5KUaadW11YWgJKRHHbG6dKJXhs4TNvmlsIQjmz+dPh9yuX6QAIz8+zNeZPpdTMc6ZyVjS/pjB9fGc7neqHfM/mkOySjyloy5AiSb2kh1HN3h4sm+tDg6pf0Sj+eM6dhxKqx6ZO78BCPqtQjEG86+gKt04b27FuC26pOSz1bvtJUjJaB9t9DWhHgA5/y7Ol8kb/GmbrskbU9pSyKeUzcSYs3DhpQYCu2JLqh4FWKV8ZQZk+QPe2O3qz1C4dcv4tJ9FKlTH4Bu+OWvDFw9dsQWYgTRKBibP1OoIBNg== 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=aQgWAodCS6fO4XrxCoT4D5OWDiI6Fxf9af1BVSQtfOg=; b=TjrGpk0EGTQFXTjlGuZxPQIMdjy1IA15IzMKkBnGZHNOnlS7IKjhWlo6GRkcWq787c90lPqo9hsd7EpqvQ7HRhyNJYy36K3m/x3+NR4Tgb2Lfq+MTHVoXyMG5uhTpwXTI+blHndmwv1DTRL77tNmFuqvJhUJvGNENv6tloN+UfW+RQJddHftvQGDa4+iPx5GAg6VTtOkAXUPbwKQ4LPR/0cnskNay2Xd93dTquVlMZ8OLR2QJETIHnF8VklmwjTDNj9vQWiMqrHVcWNdYUsJ1cMwDrDzbqKNuX/rITgI+95H5/qmm2FwkxNerjwstLJ+Y9PwRyXZfINfju08zGBTiw== Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by DM8PR12MB5478.namprd12.prod.outlook.com (2603:10b6:8:29::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.14; Sun, 22 May 2022 08:03:39 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::b0:d7de:9b4:432a]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::b0:d7de:9b4:432a%5]) with mapi id 15.20.5273.014; Sun, 22 May 2022 08:03:39 +0000 From: Ori Kam To: Ajit Khaparde , Alexander Kozyrev CC: "Dumitrescu, Cristian" , Jerin Jacob , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , Andrew Rybchenko , "Vipin.Varghese@amd.com" , Ferruh Yigit , Ray Kinsella , Sunil Kumar Kori , Ivan Malov , "Awal, Mohammad Abdul" , "Zhang, Qi Z" , "Richardson, Bruce" , Konstantin Ananyev , "Singh, Jasvinder" , "dev@dpdk.org" Subject: RE: [RFC] ethdev: datapath-focused meter actions, continue Thread-Topic: [RFC] ethdev: datapath-focused meter actions, continue Thread-Index: AQHYaVDsRZG6pHheSAGvOP6NbrvKkQAADvXArSZwc/CAABOS8IAD2pqAgAAy0VA= Date: Sun, 22 May 2022 08:03:39 +0000 Message-ID: References: In-Reply-To: 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: 7c3f5457-65e1-4da5-099c-08da3bc994c8 x-ms-traffictypediagnostic: DM8PR12MB5478:EE_ x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,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: n5JkgtFNmC1aLCkIV7vmU53wTBOtB5g5zN6wMdWj5lL8OqksJxygOnZrV8zCbfx3JDjJlAY9+mtZ667EH5YXSfXbbGs21TeZ88xTHKy21vYB9KX+kYB7hV00LHWQwwbUrmxjVReeotrD6ic8a8Ty7bLYSsZCLM7NIYKkSa/pg1g5y/g3ZXO9yL3vjVsZVMc8mGqGIL6V7lJXd77/QHfOUf86uA2MpLOwuMMBdgpSF22xjzkCi3MmTO9zFuNr5MdcjwMZodeajpRYLdpR1MUrKvteRXxI/Mtym0HKuFd2TPfj0GftU9n/TZ2Qq1QoMT6lIGjlXL+QEXC085AGM9YN4qv8DcfdvEt5AFCoQBLP3pFXJd4mewv43umBwSbgPAga+kOuobVkPlL/4NUSmj5DbJbqSrZFdPZtfdTqI7ZcxdLkNL5JiwaDwC6COUf8kn5fUauG/wrZviUjH1i4nnF9Vu3F6W9v5897mfSYyK9uoqHu3pBnP+2+2blSt+iW/cW1XRNlGdJnAqOMJv2gc0tZV1TlqXTBmdWT8KXDBBFoY7UQCNx3gtkvV7fr3vkABfg7V0ahpHjZWnAGDj1J4EO9YEbExP5oVhU3TucAU3II0yxhET0CEJEo3QZE/NTxdxLOYdMGx7hieLFiaeaGb4kmvLfdFl+9bijypu34CYsmfz2hOHu8OlTETEhLGDZKWCQ0ZPGymz4tYNRRS4BHv2s3xA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW2PR12MB4666.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(86362001)(54906003)(52536014)(83380400001)(8936002)(66946007)(2906002)(76116006)(186003)(4326008)(110136005)(8676002)(5660300002)(66446008)(7416002)(316002)(66476007)(66556008)(64756008)(26005)(9686003)(38100700002)(122000001)(508600001)(38070700005)(33656002)(6636002)(6506007)(53546011)(7696005)(71200400001)(55016003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NHU3ZUZHSm40azVVVklIRktqTFRKaUh1elBNR2lNSG9kazFwcWJkY1lSSGwx?= =?utf-8?B?MzIxY2huUUkybHVFU3o4aGNTOGc2ZFQxd1kwZGNDL1gzWlR4bmZXRkJkZU9M?= =?utf-8?B?MnZwbnpzM1RkdzVFVTFGV3R0TFN5a0IxMTduWUlQZjRvNjdjSVg0U2JkMHlB?= =?utf-8?B?S3pqQS9qSXZlWWNSQit5L2pJd0luNDJsUnJwYnFWS1dZV3Q3MlZ6Z25zT1o3?= =?utf-8?B?Skd2RHBWTW13NWxPa1h1VlBjV3UxeENrY2VUZWZ0MGV2NVYzOVBqNEhZcE1E?= =?utf-8?B?S2R4dVBEbnFLWEkxdUcxQWxTdk9rbHlhdlFLNTJrT1JJc3VsSHhTLzFmakkx?= =?utf-8?B?cW5xRzlIYktPK0ZrVit4OGdFdVdORXk4dy9KNUxqRk1jRkUrMHlwMlRLYkF0?= =?utf-8?B?U3RKMWdydy9xWHpDWks2Tkl3RndXdDUvdHRBQzBxdW4yNFgrQWZYOENVWDlp?= =?utf-8?B?ZHQ2WElES3hneDlnSkJpTGdiM212Qm1Ra09GM2dsTlhmdzF6ZzY1MStiUXNs?= =?utf-8?B?RFgvaUMrRWU4bk9EVkZvc3V1UTluT2ZEalJBS0Ftdzg0ZFhYM3pVMml4SHJR?= =?utf-8?B?YWhNTzhTcUg0Mkc3WWNSQmgrTGdJSDYxRFArWThsUjd3OWpIYW5ZYXRtTk5V?= =?utf-8?B?Y01rRTA1YzBtclF5Vytmc1VkbXV4U25Gc2g0NTVaY056Qnp0REgxVDUzOUdr?= =?utf-8?B?VjdjcFg5bDVtWmNqVXBzQ0RBMS9aYVRuVWZ1MGdmSG9PaEhWV2cxbmZ2cks0?= =?utf-8?B?dTM3aUxNYVZVNE0wdUhkbURraHB1Z3RvNGR3UElscmZteVE1WGpjbloxQlB3?= =?utf-8?B?TzlCbzlVM3czQ0EybitTZE5LR0Q1NWE5TmRDTXdoRFNtUENYbWNTMldvd05v?= =?utf-8?B?aE82MStDWkwwTm1nVkdRMHhkd0NhZldRQWcrcEhwUGFUTDZhbU04aHVuQVY4?= =?utf-8?B?S2ZxWUR3cUhmdysvdHlZZUZSU2FrSGRBV2hsYmJ3U0xnTHIwRWl5RlQzTlZ4?= =?utf-8?B?TWYvNmwveFVMK2lCYWdEczJLcTFWcExaUkRkNkllSWU0bmdlaG9VMWd5eU8w?= =?utf-8?B?YTh2L3VueUdZU0RaNUoyZXp2b0dnSm4xNTdCSjhpNTJtZlgxRTFPZ3psREFB?= =?utf-8?B?Vmxva0ZKOUxwWXk1TTRtUUZxbXljYVNIMUtsRDhub0VEVkZURGRvVGZoSjRY?= =?utf-8?B?cVlwYmJLMm1UbnBUaC9VOG9MNncreUtkZzVZc2hXbnZMdkdzYUIxeXh4ZVA4?= =?utf-8?B?eEZESUViQjVEQUVNQjExcTlyYjJSNFQ4dmxaaEpzR3dZRWl6YlFKRE0zb0Ri?= =?utf-8?B?eVhQQ29hcDJCUzdKdHJxVXBvc0NGeUVhYksxOURTTjR3cW5YMmhGSDlzOXRC?= =?utf-8?B?V3drNXBsdGFZQnFidStjWitsOS9Da2NaL2hhV3lqZFZzR1ZUajlQeThKaVZB?= =?utf-8?B?QkNRcXBHVnZJV3hYcHgwc2R4b0c2dDczSVhwSnpqVXN3MGJ5VEFpOE5XSldX?= =?utf-8?B?WWo0MGYxZGxyWU9yYWNNTjJjR0NQUlZJMXNzTDZHeC9VNDJMUFR1b1NsNElq?= =?utf-8?B?cmppdlBIYzVMRUdlOUNmVzJjUTJzeXEybWxhWXEwYmwvZ25qTFNaRUlkKzVM?= =?utf-8?B?ZUdwWmh3SFFFcVA5U1d2REtGbS9TSzNRQUlDVTFRRnNLZ1VqMDZpb29iNGhk?= =?utf-8?B?SFV5NUM1MVRORWpIWmJ0cmRrTVo4OXR0ckFWQW1kNUF0QVVKSk03UFpDZkZu?= =?utf-8?B?d3h2cldxNVJvZjlCa3dHRHdZb2pUcFlQSWlldVhPU3FrdkZwVGdCUHpQMGJp?= =?utf-8?B?ejBZYTgveWZSMEMrT3FuZFVHdUM5WU80VGF3bk9PWHlYemszOEFCYkhRQklp?= =?utf-8?B?NTg1U3RDeFdQcWROL2M1cU13Z0hqK2RlUGV3b2o3OHVMRWVhMkpqcFl0UDF1?= =?utf-8?B?cGhORGM4R1YwaUs4VHdUZDlPdkwxNC9LUGxtdWl0cElIY1FkR1B4dnFKZStB?= =?utf-8?B?Vm9NZi9sd1RYVStjbk4wTzNncjROR1plZmswNVhPdmh3enlGVllPdDRVaVN3?= =?utf-8?B?QnloeEI4S3hMOXkwTTQ0N1JCMy9IVisrQXdhd3VwTXpydkt4SVFiaTRZUG1s?= =?utf-8?B?VWtDNTk0TGV2cVpHTUs5ZFZHS0MwWnBuTm1nZThYbWNyNVpmQjlVUXhCRjdy?= =?utf-8?B?T3VtSEk4cEFkNTc5QktIMzRvM0hYcUxrdHBOcU51NnFaTEhkRkpLZ0NvZ2k0?= =?utf-8?B?L1g5SVpHcWdiVXJ3bHdSc2lCT0lPa1NtakpRYUtBM0VjYkgybzR0ZXl0Y05k?= =?utf-8?Q?6U+TWZ0jAXrDz2K0Zf?= 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: 7c3f5457-65e1-4da5-099c-08da3bc994c8 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 May 2022 08:03:39.6480 (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: 0Ll2yDYTGnU02RagweQY8FhJZf8V8P/twy9Tq4xjzOV+CQMbKvuYBwTC0YdUdXn9k6xfh1wX0dPR+MR1dPN39g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR12MB5478 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQWppdCBLaGFwYXJkZSA8 YWppdC5raGFwYXJkZUBicm9hZGNvbS5jb20+DQo+IFNlbnQ6IFN1bmRheSwgTWF5IDIyLCAyMDIy IDg6MDEgQU0NCj4gU3ViamVjdDogUmU6IFtSRkNdIGV0aGRldjogZGF0YXBhdGgtZm9jdXNlZCBt ZXRlciBhY3Rpb25zLCBjb250aW51ZQ0KPiANCj4gT24gU2F0LCBNYXkgMjEsIDIwMjIgYXQgNzo0 OSBQTSBBbGV4YW5kZXIgS296eXJldiA8YWtvenlyZXZAbnZpZGlhLmNvbT4gd3JvdGU6DQo+ID4N Cj4gPiBPbiBUaHVyc2RheSwgTWF5IDE5LCAyMDIyIDEzOjM1IER1bWl0cmVzY3UsIENyaXN0aWFu IDxjcmlzdGlhbi5kdW1pdHJlc2N1QGludGVsLmNvbT46DQo+ID4gPiBIZXJlIGFyZSBhIGZldyB0 YWtlYXdheXMgb2YgbWluZSwgd2l0aCBhIGZldyBhY3Rpb25zIGZvciBBbGV4IGFuZCBPcmk6DQo+ ID4NCj4gPiBUaGFuayB5b3UsIENyaXN0aWFuLCBmb3IgY29tcGlsaW5nIHRoZXNlIHRha2Vhd2F5 cy4gR3JlYXQgc3VtbWFyeSBvZiB0aGUgZGlzY3Vzc2lvbi4NCj4gQWdyZWUuDQo+IA0KKzENCg0K PiA+DQo+ID4gPiA2LiBBbGV4YW5kZXIgS296eXJldiB0byBwcm92aWRlIHBzZXVkby1jb2RlIGZv ciB0aGUgbWV0ZXIgb3BlcmF0aW9uIHdpdGgNCj4gPiA+IHRoZSBuZXcgcHJvcG9zYWw6DQo+IA0K PiBJIHdhcyB3b25kZXJpbmcgaG93IHRoZSBQTUQgYW5kIGFwcGxpY2F0aW9uIGNhbiBuZWdvdGlh dGUgd2hldGhlcg0KPiB0byB1c2UgdGhlIG9sZCBtb2RlbCBvciB0aGUgbmV3IG1vZGVsLg0KPiBN YXliZSB0aGUgYXBwbGljYXRpb24gY2FuIGRldGVybWluZSBpZiB0aGUgUE1EIHN1cHBvcnRzIHRo ZSB0cmFkaXRpb25hbCBtb2RlbCBvcg0KPiB0aGUgbmV3IG1vZGVsIGJ5IGNoZWNraW5nIHJ0ZV9t dHJfbWV0ZXJfcHJvZmlsZV9nZXQgb3IgcnRlX210cl9tZXRlcl9wb2xpY3lfZ2V0Pw0KPiBPciB1 c2Ugc29tZXRoaW5nIGVsc2U/DQo+IA0KR29vZCBpZGVhLCBhbmQgaXQgY2FuIGtub3cgaWYgdGhl IG5ldyBBUEkgaXMgbm90IHN1cHBvcnRlZCwgbGlrZSBhbnkgb3RoZXIgcnRlX2Zsb3cgQVBJIHZh bGlkYXRlIGl0Lg0KDQo+IA0KPiA+ID4gICAgICAgKDEpIG1ldGVyIGNyZWF0aW9uOw0KPiA+ID4g ICAgICAgKDIpIG1ldGVyIHNoYXJpbmc7DQo+ID4gPiAgICAgICAoMykgbWV0ZXIgcmVjb25maWd1 cmF0aW9uOiBkbyB3ZSBuZWVkIHRvIHJlbW92ZSB0aGUgZmxvdy9mbG93cw0KPiA+ID4gdXNpbmcg dGhlIG1ldGVyIGFuZCByZS1hZGQgdGhlbSB3aXRoIGEgbmV3IG1ldGVyIG9iamVjdCB0aGF0IGhh cyB1cGRhdGVkDQo+ID4gPiBjb25maWd1cmF0aW9uLCBvciBjYW4gd2UgdXBkYXRlIHRoZSBtZXRl ciBvYmplY3QgaXRzZWxmICh3aGF0IEFQST8pOw0KPiA+ID4gICAgICAgKDQpIG1ldGVyIGZyZWUu DQo+ID4NCj4gPiBUcmFkaXRpb25hbCBNZXRlciBVc2FnZToNCj4gPg0KPiA+IHByb2ZpbGVfaWQg PSBydGVfbXRyX21ldGVyX3Byb2ZpbGVfYWRkKFJGQ19wYXJhbXMpOw0KPiA+IHBvbGljeV9pZCA9 IHJ0ZV9tdHJfbWV0ZXJfcG9saWN5X2FkZChhY3Rpb25zW1JFRC9ZRUxMT1cvR1JFRU5dKTsNCj4g PiBtZXRlcl9pZCA9IHJ0ZV9tdHJfY3JlYXRlKHByb2ZpbGVfaWQsIHBvbGljeV9pZCk7DQo+ID4g cnRlX2Zsb3dfY3JlYXRlKHBhdHRlcm49NS10dXBsZSxhY3Rpb25zPU1FVEVSKG1ldGVyX2lkKSk7 DQo+ID4NCj4gPiBUaGUgTUVURVIgYWN0aW9uIGVmZmVjdGl2ZWx5IHRyYW5zbGF0ZXMgdG8gdGhl IGZvbGxvd2luZzoNCj4gPiAxLiBNZXRlcmluZyBhIHBhY2tldCBzdHJlYW0uDQo+ID4gMi4gTWFy a2luZyBwYWNrZXRzIHdpdGggYW4gYXBwcm9wcmlhdGUgY29sb3IuDQo+ID4gMy4gSnVtcCB0byBh IHBvbGljeSBncm91cC4NCj4gPiA0LiBNYXRjaCBvbiBhIGNvbG9yLg0KPiA+IDUuIEV4ZWN1dGUg YXNzaWduZWQgcG9saWN5IGFjdGlvbnMgZm9yIHRoZSBjb2xvci4NCj4gPg0KPiA+IE5ldyBNZXRl ciBVc2FnZSBNb2RlbDoNCj4gPiBwcm9maWxlX2lkID0gcnRlX210cl9tZXRlcl9wcm9maWxlX2Fk ZChSRkNfcGFyYW1zKTsNCj4gPiAqcHJvZmlsZV9vYmpfcHRyID0gcnRlX210cl9tZXRlcl9wcm9m aWxlX2dldChwcm9maWxlX2lkKTsNCj4gPiBydGVfZmxvd19jcmVhdGUocGF0dGVybj01LXR1cGxl LA0KPiA+ICAgICAgICAgICAgICAgICBhY3Rpb25zPU1FVEVSX01BUksocHJvZmlsZV9vYmpfcHRy KSxKVU1QKTsNCj4gPiBydGVfZmxvd19jcmVhdGUocGF0dGVybj1DT0xPUiwgYWN0aW9ucz0uLi4p Ow0KPiA+DQo+ID4gVGhlIE1FVEVSX01BUksgYWN0aW9uIGVmZmVjdGl2ZWx5IHRyYW5zbGF0ZXMg dG8gdGhlIGZvbGxvd2luZzoNCj4gPiAxLiBNZXRlcmluZyBhIHBhY2tldCBzdHJlYW0uDQo+ID4g Mi4gTWFya2luZyBwYWNrZXRzIHdpdGggYW4gYXBwcm9wcmlhdGUgY29sb3IuDQo+ID4NCj4gPiBB IHVzZXIgaXMgYWJsZSB0byBtYXRjaCB0aGUgY29sb3IgbGF0ZXIgd2l0aCB0aGUgQ09MT1IgaXRl bS4NCj4gPiBJbiBvcmRlciB0byBkbyB0aGlzIHdlIGFkZCB0aGUgSlVNUCBhY3Rpb24gYWZ0ZXIg dGhlIE1FVEVSIGFjdGlvbi4NCj4gPg0KPiA+IDMuIEp1bXAgdG8gYSBwb2xpY3kgZ3JvdXAuDQo+ ID4gNC4gTWF0Y2ggb24gYSBjb2xvci4NCj4gPiA1LiBFeGVjdXRlIGFjdGlvbnMgZm9yIHRoZSBj b2xvci4NCj4gPg0KPiA+IEhlcmUgd2UgZGVjb3VwbGVkIHRoZSBtZXRlciBwcm9maWxlIHVzYWdl IGZyb20gdGhlIG1ldGVyIHBvbGljeSB1c2FnZQ0KPiA+IGZvciBncmVhdGVyIGZsZXhpYmlsaXR5 IGFuZCBnb3QgcmlkIG9mIGFueSBsb2NrcyByZWxhdGVkIHRvIG1ldGVyX2lkIGxvb2t1cC4NCj4g Pg0KPiA+IEFub3RoZXIgZXhhbXBsZSBvZiB0aGUgbWV0ZXIgY3JlYXRpb24gdG8gbWltaWMgdGhl IG9sZCBtb2RlbCBlbnRpcmVseToNCj4gPiBwcm9maWxlX2lkID0gcnRlX210cl9tZXRlcl9wcm9m aWxlX2FkZChSRkNfcGFyYW1zKTsNCj4gPiAqcHJvZmlsZV9vYmpfcHRyID0gcnRlX210cl9tZXRl cl9wcm9maWxlX2dldChwcm9maWxlX2lkKTsNCj4gPiBwb2xpY3lfaWQgPSBydGVfbXRyX21ldGVy X3BvbGljeV9hZGQoYWN0aW9uc1tSRUQvWUVMTE9XL0dSRUVOXSk7DQo+ID4gKnBvbGljeV9vYmpf cHRyID0gcnRlX210cl9tZXRlcl9wb2xpY3lfZ2V0KHBvbGljeV9pZCk7DQo+ID4gcnRlX2Zsb3df Y3JlYXRlKHBhdHRlcm49NS10dXBsZSwNCj4gPiAgICAgICAgICAgICAgICAgYWN0aW9ucz0gTUVU RVJfTUFSSyhwcm9maWxlX29ial9wdHIsIHBvbGljeV9vYmpfcHRyKSk7DQo+ID4NCj4gPg0KPiA+ IEluIHRoaXMgY2FzZSwgd2UgZGVmaW5lIHRoZSBwb2xpY3kgYWN0aW9ucyByaWdodCBhd2F5Lg0K PiA+IFRoZSBtYWluIGFkdmFudGFnZSBpcyBub3QgaGF2aW5nIHRvIGxvb2t1cCBmb3IgcHJvZmls ZV9pZC9wb2xpY3lfaWQuDQo+ID4NCj4gPiBUbyBmcmVlIHRoZSBtZXRlciBvYmVjdHMgd2UgbmVl ZCB0byBkbyB0aGUgZm9sbG93aW5nOg0KPiA+IHJ0ZV9mbG93X2Rlc3Ryb3koZmxvd19oYW5kbGUp Ow0KPiA+IHJ0ZV9tdHJfbWV0ZXJfcG9saWN5X2RlbGV0ZShwb2xpY3lfaWQpOw0KPiA+IHJ0ZV9t dHJfbWV0ZXJfcHJvZmlsZV9kZWxldGUocHJvZmlsZV9pZCk7Lg0KPiA+IHByb2ZpbGVfb2JqX3B0 ciBhbmQgcG9saWN5X29ial9wdHIgYXJlIG5vIGxvbmdlciB2YWxpZCBhZnRlciB0aGF0Lg0KPiA+ DQo+ID4gVGhlIG1ldGVyIHByb2ZpbGUgY29uZmlndXJhdGlvbiBjYW5ub3QgYmUgdXBkYXRlZCBk eW5hbWljYWxseQ0KPiA+IHdpdGggdGhlIGN1cnJlbnQgc2V0IG9mIHBhdGNoZXMsIGJ1dCBjYW4g YmUgc3VwcG9ydGVkIGxhdGVyIG9uLg0KPiA+IE5vdyB5b3UgaGF2ZSB0byBkZXN0cm95IGZsb3dz IGFuZCBwcm9maWxlcyBhbmQgcmVjcmVhdGUgdGhlbS4NCj4gPiBCdXQgcnRlX210cl9tZXRlcl9w cm9maWxlX3VwZGF0ZSgpL3J0ZV9tdHJfbWV0ZXJfcG9saWN5X3VwZGF0ZSgpDQo+ID4gY2FuIGhh dmUgdGhlIGNvcnJlc3BvbmRpbmcgc2libGluZ3Mgd2l0aG91dCBtdHJfaWQgcGFyYW1ldGVycy4N Cj4gPiBJbiB0aGlzIGNhc2UsIHdlIGNhbiB1cGRhdGUgdGhlIGNvbmZpZyBhbmQgYWxsIHRoZSBm bG93cyB1c2luZyB0aGVtLg0KPiA+DQo+ID4gVGhlIG1ldGVyIHNoYXJpbmcgaXMgZG9uZSB2aWEg dGhlIGluZGlyZWN0IGFjdGlvbiBGbG93IEFQSToNCj4gPiBwcm9maWxlX2lkID0gcnRlX210cl9t ZXRlcl9wcm9maWxlX2FkZChSRkNfcGFyYW1zKTsNCj4gPiAqcHJvZmlsZV9vYmpfcHRyID0gcnRl X210cl9tZXRlcl9wcm9maWxlX2dldChwcm9maWxlX2lkKTsNCj4gPiBoYW5kbGUgPSBydGVfZmxv d19hY3Rpb25faGFuZGxlX2NyZWF0ZShhY3Rpb249IE1FVEVSX01BUksocHJvZmlsZV9vYmpfcHRy LCBOVUxMKSk7DQo+ID4gZmxvdzEgPSBydGVfZmxvd19jcmVhdGUocGF0dGVybj01LXR1cGxlLTEs IGFjdGlvbnM9SU5ESVJFQ1QoaGFuZGxlKSk7DQo+ID4gZmxvdzIgPSBydGVfZmxvd19jcmVhdGUo cGF0dGVybj01LXR1cGxlLTIsIGFjdGlvbnM9SU5ESVJFQ1QoaGFuZGxlKSk7DQo+ID4NCj4gPiBP bmNlIHdlIGFyZSBkb25lIHdpdGggdGhlIGZsb3cgcnVsZXMgd2UgY2FuIGZyZWUgZXZlcnl0aGlu Zy4NCj4gPiBydGVfZmxvd19kZXN0cm95KGZsb3cxKTsNCj4gPiBydGVfZmxvd19kZXN0cm95KGZs b3cyKTsNCj4gPiBydGVfZmxvd19hY3Rpb25faGFuZGxlX2Rlc3Ryb3koaGFuZGxlKTsNCj4gPiBy dGVfbXRyX21ldGVyX3Byb2ZpbGVfZGVsZXRlKHByb2ZpbGVfaWQpOw0K