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 5C3C143716; Sun, 17 Dec 2023 11:07:35 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C1CC54026C; Sun, 17 Dec 2023 11:07:34 +0100 (CET) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2073.outbound.protection.outlook.com [40.107.93.73]) by mails.dpdk.org (Postfix) with ESMTP id E8FD240042 for ; Sun, 17 Dec 2023 11:07:33 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DzbKed2usEVpItd3dcngpqJzW08usX6SqlFu7psqWlWiagZizJ6wNq8C7aNYMnyPPK58TaBTmuhQFfOwST3DpXlcv+2rB2+4F4/cSojakc9SCU6KVbv7LIl0tlAWUOtIKg1giBAsnV39MWwYPjLFPLO0uFDijgxRqzk4jTJxVHhcv0iiafjgW57uTRp45czLz6e38/zoXuh8Cf9vZehDxzDXB2y9lK4jON/QEAsUOdw/hplCa9nDadT0ZpIsnBaFlNl7Pwf6AZb7Cl7+zwqT6KshbCLJp1G/2Wm2FPX8GACmeqDkqdiNl36EL81n2giiewxvQQGyTkNitnl6Wja7Qw== 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=wsv68MX0HVE9Etu7MJkOnYmaw/v+vjoEeAac2rDYRGk=; b=jh3M7HA5MrAbf0fOGLayzfcVodttcDg45vr9bUzK/oBhNoTcY6dW0L0MCg/tWgQD6rmzmHwK46JToFmA85NvDCHD+1UmDB9uaQXB5+HOa7XMPWkccsI3XqeBwh1R/I3eH9zxntmDGZYD5NIrxf0sjSrQMu4bewKWaL4eVyRsPwsBlKlQC1NvCgYEKAxw9UbMCtxkEqjFliD64229LleO04CAndj++VatfepL5VS5qWan2UCEKYlTXUM9Jlrb/RHhdrB0zzH+wNrlMkdc16q1GNoY5aliLKs+Lv0Yvxn6SUT8ZuGp1wwxwhZu6YBFYdIJUDjEufOdeGWiDpSrPwgg9A== 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=wsv68MX0HVE9Etu7MJkOnYmaw/v+vjoEeAac2rDYRGk=; b=BIQS1I45k+Is25sgLgTe4lM+g2Cu9Ej+XndWFxvJb3bXg382gSpFhQofSK/dsP2y1/T9RujwjOBTPF7hYYMvSpDaPSrGmAVEDQfghSYcVIdKhsDiIS1srqIfddmSSK+BLBibo81HEBXhnL0whHfmc9HgKYcwT7QTsSICFmWkYq5qQPJweUiLWh7vwDXeaD45Cgfmw1CY+E4rU6haMZr8LXP8UbygsWgvI1sqRupv2g0iB1lYl81QHmh5P5ZE3mK+jZsEiYAdUraSfmpWajDlhR7zlTLsdRI5w5Wphk0sWHVKvwyMIgUs2+lETfzIGWjXhmYdjMRIBR4S+hB18avb5w== Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by MW6PR12MB8736.namprd12.prod.outlook.com (2603:10b6:303:244::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7091.36; Sun, 17 Dec 2023 10:07:30 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::51e0:745c:8c3:d168]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::51e0:745c:8c3:d168%4]) with mapi id 15.20.7091.034; Sun, 17 Dec 2023 10:07:30 +0000 From: Ori Kam To: Andrew Rybchenko , Dariusz Sosnowski , "ferruh.yigit@amd.com" , "cristian.dumitrescu@intel.com" , "NBU-Contact-Thomas Monjalon (EXTERNAL)" CC: "dev@dpdk.org" , Raslan Darawsheh Subject: RE: [RFC] ethdev: introduce entropy calculation Thread-Topic: [RFC] ethdev: introduce entropy calculation Thread-Index: AQHaK0NZdeihLGfV/EOfSNHR8xriGrCrq2YAgAF9N9A= Date: Sun, 17 Dec 2023 10:07:30 +0000 Message-ID: References: <20231210083100.7893-1-orika@nvidia.com> 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-traffictypediagnostic: MW2PR12MB4666:EE_|MW6PR12MB8736:EE_ x-ms-office365-filtering-correlation-id: 4a19f62b-ed4c-4092-82e5-08dbfee7fabb x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: eSUji4vAC3xz+Ar3Lt38s/Oxc/Oa2lbjfwv9sauww+2Wv7yi57ourEue4i4NLRqzXLoy85YoTpAlzB4gevRi5Ji2Sj9PIcS3n0Z1QLtkYj0hbZfZwldR/dKvs/Z0+TR1qFEL0/LMiXQLy7YzrjYCmeLAahE31DHaDIha+5BTUlpTEeeYLSM28XGDOZfGM6zOdIJZSrNbumaeKmSSuAobHFcnCIz+W9XhlWgen8pcG/u232WoUMXnVQbT2v1wJKk/tH7jRbC4VGz8tTmcOq6/4uf6zb8CO4+9rXi2mk0Y3u2eUEWdNdScfRXdB4fnJLQYgHpVPaM3PD91dsPKaTJ/cezGMybMtE9MgiXl6V11GtmT1BMzF2Q+VSzeBGOdQmCi8m3mYwRODejZiI36QQcWcELhjGvwWMPQhw7AuElvdLuiSnRmZzLzRPNgQ77bQUuKJRvm3/zZ0r+rExHMLs6lgi6F3rA6lfDBP8TU2PyR7sv83oXJ85us9JMRzTMuT1xQQP/gO+Reu+PAgBgC+lGIvw4pfCe/L7/79RTUxWZYVSMX7wGjzRnhmG+hvryFjjqZtVclLy7PrXrjrfwSeo70qf4NGqMUezIhHQaztE0EUmWEtETsSqohIBxYL663AI9JVUITvyOMFHiiMLL3JDQ5wGabI1Y2iQylP7ghcaps9fk= 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:(13230031)(136003)(366004)(376002)(39860400002)(396003)(346002)(230173577357003)(230273577357003)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(2906002)(38100700002)(122000001)(41300700001)(33656002)(38070700009)(86362001)(54906003)(64756008)(66446008)(66476007)(66556008)(66946007)(76116006)(316002)(110136005)(83380400001)(9686003)(107886003)(478600001)(71200400001)(55016003)(26005)(6506007)(52536014)(5660300002)(53546011)(4326008)(8676002)(8936002)(7696005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SzUrMnpIRENvb1lZMXUvUXpFelFtUURSb1VINVR1V3lsR2VjMUpXdkxSSzBT?= =?utf-8?B?b1J3WmNvVHZFeWRXK2kvMUdYckU3ZVl3cEpWTHluMFZDc0NpWTluczdscm9j?= =?utf-8?B?WHJmTmFhQk5qTGNGMzlVRVVyaHd0clpacHJ4OVErYW00RGhoNDVFd1ZDNTRa?= =?utf-8?B?Q1hieWdNc2xUc0QvWXRhQzBKakRFV3lBZ3JtcVp1bnpDdHliOGM2cXprOHc2?= =?utf-8?B?TmZiTGh2dC9Fb0RKRTExMkRNTjRXRk1xRTBUVXE3MHB3SDNKZCtjNzlpaFEy?= =?utf-8?B?RWp4NithcHgzRkZ5V1c0SkpCeHp2aW9RS2tUSThybjErQzVldlhBaC9kcTlw?= =?utf-8?B?T09LVFFuWGx6OGZPN0phS3lRaTYyS2FmcU5rYkFRZUJ4b3dWOWxGckkxcGxF?= =?utf-8?B?K25KUHh0cVBlQUVOdnFybkVEOG40dlhBaXRqR29CcDlIdTdZT1U1dkIvUUhG?= =?utf-8?B?MkhHYWM2eWNJS3VMckY3bUVSbUJLQmhTb2NMRjByb2VvSEdFTE1QeE5SL3d3?= =?utf-8?B?TS9jbnI0dUJiYUMyWE85bi9OYUhlVlIrRGJPS0w4cnJaTW1BYkxRbm5NdlM3?= =?utf-8?B?TmNWbmdPMzl0d3R0SHV4WUpMN2xTTURhditIWGI4QVNTNXd1RVdlTTdWeStZ?= =?utf-8?B?bjBFUnBEZGdxUXlnWEZ3Q3dzSm5UNW0vNnVrM2RaWC8wdDN3NWhHTlZ2Zk0z?= =?utf-8?B?bjYzSnV1K1lmNk9ITU5RNnRaQWNzazNzeVBaUi84dTZqczJWSmhKTEpNVzB6?= =?utf-8?B?TVpVTTNHUm9SWk4yZG9wSGdOODduOU1jL2dGOG5HOTg1TkY2bU5rMU0xVDhv?= =?utf-8?B?SXBFQmdac011QXhSNXZPRUxpRVMxVXFLMHZCVEJCSmY0YzQ5bGFiRkgzclk3?= =?utf-8?B?ekNudU1DMXdQRDJTTVkzYTluaE5MMkltY1dwMG9sRTZWSG9LL0lEZ2tsTjd1?= =?utf-8?B?M2taNUJvRDVBYjl6dXk3R3Z4T01LaWdyd2hoVU5vT01TT3R3VjhsaWxwakJR?= =?utf-8?B?UDdyb09MUVJ6d1h2Sy9tSHkyNzcvQnFiMTR3Q0N6TnB4OFJsUHVNWjRWNk5w?= =?utf-8?B?cm5hOGowbVM1OHRRTHVCSnZ2NHh3T0Y2ejRYWGdCY1dKQXlvQjA1cHo5WmJ0?= =?utf-8?B?bmpZTjlTQXRlRDVsRTkwcWRMS0JzeWNabUU3eVI2S2Qzc1J5Qkt0Z1pSWE1o?= =?utf-8?B?YUlLTU9JRGlEd0FHa3g2ZUp2Q2dCb3FrYTF4amJURlRNQitLQXZ4WCtUcGlW?= =?utf-8?B?L3ZiNlN6WjNjT1dXZ3VhbHVXR0huTWZBUy9ZVTlGN01vL0VoL1NFamZJaUdp?= =?utf-8?B?Rk5hWDlpMHV4cU1STnZlMmtOV2RuWkNGSVpLR1l1Qy9vb0VJTy93b2ZYSkwz?= =?utf-8?B?QnhiQXRiVTA1Uy9BL0MvMXlLRXFsUUF0MmpySE8yVlhXSEFJbGhjWlhoaGJt?= =?utf-8?B?REk1emVqWVVZaE9CYkdMb3RUaGVndytuMGFnelJFcy9jcDl6bFVJZDJpZnhP?= =?utf-8?B?U1VDK0Y5MkVnWlRpMk5BV2lTcFdPcXdXQUEzQjVwRlRwRjdRelcyei9nN3lO?= =?utf-8?B?U004T200RXlhZmUxdnF3SE1uYS8xaTdmajNldDcyaWNzalRJeDNCVS9YMnZQ?= =?utf-8?B?WTlUUCtoRkpiQ3c1dEZ6M2N4SElqRzJUanQ3ck5Bb2RnYThEd0d4cVorbTZ3?= =?utf-8?B?emMvWDFoVWZ3TkR6dTYwSE1OSXBJL0lDbm9sNVE5MHV5R2o5WTNvMUVXK3lF?= =?utf-8?B?czRUcWFabkVheWJMYVd3MTBxMCt0dXFwNHVlQTU5TVRmcVlSajBGQm9DblV2?= =?utf-8?B?dEFidmtBTWZxbnlEQzFvOFRIN0NINGt4OVROMStBS25pTGZPS3c2Y1JSSGIx?= =?utf-8?B?WUZDcVd0Ulp6RW9YVGR0N29XYkJRazNxSzFKUlA0YytyTit1SkNScXNjVzVY?= =?utf-8?B?MGt3cm5YT3d1V0VQR0hjb1ZvR1FQYitFMWlvS2xaYzZmM2NEU2V6dFl2ZWZz?= =?utf-8?B?ajRqNDZRbCtCYkU5OHJBcStLY2tsNkFoYUt1NkFjcnl5ZkwzRkxLOTVSd2hp?= =?utf-8?B?ank3WGVoNW9zVmZjSEo3V0VQNzBKYVd2Mk83bDMrbHA0U3FFNzQwOXBqNFJm?= =?utf-8?Q?kFOA=3D?= 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: 4a19f62b-ed4c-4092-82e5-08dbfee7fabb X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Dec 2023 10:07:30.0390 (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: 1fTs2NBbDQNI2fIkuMV0g242fF1nbfGFMM1zNyDWsf4XvfNzn/jt+QQzFElWBNX8LjKkLcjTFLakSDHG1y2rYw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8736 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 dyBSeWJjaGVua28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiBTZW50OiBTYXR1 cmRheSwgRGVjZW1iZXIgMTYsIDIwMjMgMTE6MTkgQU0NCj4gDQo+IE9uIDEyLzEwLzIzIDExOjMw LCBPcmkgS2FtIHdyb3RlOg0KPiA+IFdoZW4gb2ZmbG9hZGluZyBydWxlcyB3aXRoIHRoZSBlbmNh cCBhY3Rpb24sIHRoZSBIVyBtYXkgY2FsY3VsYXRlIGVudHJvcHkNCj4gYmFzZWQgb24gdGhlIGVu Y2FwIHByb3RvY29sLg0KPiA+IEVhY2ggSFcgY2FuIGltcGxlbWVudCBhIGRpZmZlcmVudCBhbGdv cml0aG0uDQo+ID4NCj4gPiBXaGVuIHRoZSBhcHBsaWNhdGlvbiByZWNlaXZlcyBwYWNrZXRzIHRo YXQgc2hvdWxkIGhhdmUgYmVlbg0KPiA+IGVuY2FwZWQgYnkgdGhlIEhXLCBidXQgZGlkbid0IHJl YWNoIHRoaXMgc3RhZ2UgeWV0IChmb3IgZXhhbXBsZSBUQ1AgU1lODQo+IHBhY2tldHMpLA0KPiA+ IHRoZW4gd2hlbiBlbmNhcCBpcyBkb25lIGluIFNXLCBhcHBsaWNhdGlvbiBtdXN0IGFwcGx5DQo+ ID4gdGhlIHNhbWUgZW50cm9weSBjYWxjdWxhdGlvbiBhbGdvcml0aG0uDQo+ID4NCj4gPiBVc2lu ZyB0aGUgbmV3IEFQSSBhcHBsaWNhdGlvbiBjYW4gcmVxdWVzdCB0aGUgUE1EIHRvIGNhbGN1bGF0 ZSB0aGUNCj4gPiB2YWx1ZSBhcyBpZiB0aGUgcGFja2V0IHBhc3NlZCBpbiB0aGUgSFcuDQo+IA0K PiBJJ20gc3RpbGwgd29uZGVyaW5nIHdoeSB0aGUgQVBJIGlzIHJlcXVpcmVkLiBEb2VzIGFwcCBp bnN0YWxsIGVuY2FwDQo+IHJ1bGUgd2hlbiB0aGUgZmlyc3QgcGFja2V0IGlzIHByb2Nlc3NlZD8g VGhlIHJ1bGUgY2FuIGNvbnRhaW4gYWxsDQo+IG91dGVyIGhlYWRlcnMgKGFzIGl0IGlzIGNhbGN1 bGF0ZWQgaW4gU1cgYW55d2F5KSBhbmQgSFcgZG9lcyBub3QgbmVlZA0KPiB0byBjYWxjdWxhdGUg YW55dGhpbmcuDQoNClllcywgdGhlIGFwcGxpY2F0aW9uIGluc3RhbGxzIGEgcnVsZSBiYXNlZCBv biB0aGUgZmlyc3QgcGFja2V0Lg0KYXMgYSByZXN1bHQsIGFsbCB0aGUgcmVzdCBvZiB0aGUgcGFj a2V0cyBhcmUgZW5jYXBlZCBieSB0aGUgSFcuDQpUaGlzIEFQSSBhbGxvd3MgdGhlIGFwcGxpY2F0 aW9uIHRvIHVzZSB0aGUgc2FtZSB2YWx1ZSBhcyB0aGUgSFcgd2lsbCB1c2Ugd2hlbiBlbmNhcHN1 bGF0aW5nIHRoZSBwYWNrZXQuDQpJbiBvdGhlciB3b3Jkcywgd2UgaGF2ZSAyIHBhdGhzOg0KUGF0 aCAxIFNXLCBmb3IgdGhlIGZpcnN0IHBhY2tldA0KUGF0aCAyIEhXLCBhbGwgdGhlIHJlc3Qgb2Yg dGhlIHBhY2tlc3QNCg0KPiANCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IE9yaSBLYW0gPG9yaWth QG52aWRpYS5jb20+DQo+ID4gLS0tDQo+ID4gICBsaWIvZXRoZGV2L3J0ZV9mbG93LmggfCA0OQ0K PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ID4gICAxIGZp bGUgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2xpYi9l dGhkZXYvcnRlX2Zsb3cuaCBiL2xpYi9ldGhkZXYvcnRlX2Zsb3cuaA0KPiA+IGluZGV4IGFmZmRj ODEyMWIuLjM5ODliMDg5ZGQgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2V0aGRldi9ydGVfZmxvdy5o DQo+ID4gKysrIGIvbGliL2V0aGRldi9ydGVfZmxvdy5oDQo+ID4gQEAgLTY3NTMsNiArNjc1Myw1 NSBAQCBydGVfZmxvd19jYWxjX3RhYmxlX2hhc2godWludDE2X3QgcG9ydF9pZCwgY29uc3QNCj4g c3RydWN0IHJ0ZV9mbG93X3RlbXBsYXRlX3RhYmxlDQo+ID4gICAJCQkgY29uc3Qgc3RydWN0IHJ0 ZV9mbG93X2l0ZW0gcGF0dGVybltdLCB1aW50OF90DQo+IHBhdHRlcm5fdGVtcGxhdGVfaW5kZXgs DQo+ID4gICAJCQkgdWludDMyX3QgKmhhc2gsIHN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJyb3Ip Ow0KPiA+DQo+ID4gKy8qKg0KPiA+ICsgKiBAd2FybmluZw0KPiA+ICsgKiBAYiBFWFBFUklNRU5U QUw6IHRoaXMgQVBJIG1heSBjaGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2UuDQo+ID4gKyAqDQo+ ID4gKyAqIERlc3RpbmF0aW9uIGZpZWxkIHR5cGUgZm9yIHRoZSBlbnRyb3B5IGNhbGN1bGF0aW9u Lg0KPiA+ICsgKg0KPiA+ICsgKiBAc2VlIGZ1bmN0aW9uIHJ0ZV9mbG93X2NhbGNfZW5jYXBfZW50 cm9weQ0KPiA+ICsgKi8NCj4gPiArZW51bSBydGVfZmxvd19lbnRyb3B5X2Rlc3Qgew0KPiA+ICsJ LyogQ2FsY3VsYXRlIGVudHJvcHkgcGxhY2VkIGluIFVEUCBzb3VyY2UgcG9ydCBmaWVsZC4gKi8N Cj4gPiArCVJURV9GTE9XX0VOVFJPUFlfREVTVF9VRFBfU1JDX1BPUlQsDQo+IA0KPiBBbmQgc291 cmNlIGFuZCBkZXN0aW5hdGlvbiBhcmUgdXNlZCB0b2dldGhlciBidXQgZm9yIGRpZmZlcmVudA0K PiBwdXJwb3NlcyBpdCBpcyB2ZXJ5IGhhcmQgdG8gZm9sbG93IHdoaWNoIGlzIHVzZWQgZm9yIHdo aWNoIHB1cnBvc2UuDQo+IEknZCBhdm9pZCB0ZXJtICJkZXN0IiBpbiB0aGUgZW51bSBuYW1pbmcu IE1heSBiZSBwcmVzZW50ICJmbG93IiBpcw0KPiBhbHJlYWR5IGdvb2QgZW5vdWdoIHRvIGhpZ2hs aWdodCB0aGF0IGl0IGlzIHBlci1mbG93Pw0KPiBydGVfZmxvd19lbmNhcF9oYXNoPyBydGVfZmxv d19lbmNhcF9maWVsZF9oYXNoPw0KDQpJJ20gb3BlbiB0byBhbnkgc3VnZ2VzdGlvbnMsIHRoaXMg ZW51bSBpcyBzdXBwb3NlZCB0byBzaG93IHRvIHdoaWNoDQpmaWVsZCB0aGUgSFcgaW5zZXJ0IHRo ZSBjYWxjdWxhdGVkIHZhbHVlLiBUaGlzIGZpZWxkIGlzIGRlZmluZWQgYnkgdGhlIGVuY2Fwc3Vs YXRpb24NCnByb3RvY29sLiBGb3IgZXhhbXBsZSwgVlhMQU4gdGhlIGhhc2ggaXMgc3RvcmVkIGlu IHNvdXJjZSBwb3J0LCB3aGlsZSBpbiBOVkdSRSBpdCBpcyBzdG9yZWQgaW4NCmZsb3dfaWQgZmll bGQuIFRoZSBkZXN0aW5hdGlvbiBmaWVsZCBhbHNvIGltcGFjdCB0aGUgc2l6ZS4NCg0KV2hhdCBk byB5b3UgdGhpbmsgYWJvdXQ6DQpSVEVfRkxPV19FTkNBUF9IQVNIX1NSQ19QT1JUPw0KDQoNCldo YXQgYWJvdXQgaWYgd2UgY2hhbmdlIHRoZSBkZXN0aW5hdGlvbiB0byBlbnVtIHRoYXQgd2lsbCBo b2xkIHRoZSBkZXN0aW5hdGlvbiB0dW5uZWwgdHlwZQ0KUlRFX0ZMT1dfVFVOTkVMX1RZUEVfVlhM QU4sDQpSVEVfRkxPV19UVU5ORUxfVFlQRV9OVkdSRQ0KDQoNCg0KPiANCj4gPiArCS8qIENhbGN1 bGF0ZSBlbnRyb3B5IHBsYWNlZCBpbiBOVkdSRSBmbG93IElEIGZpZWxkLiAqLw0KPiA+ICsJUlRF X0ZMT1dfRU5UUk9QWV9ERVNUX05WR1JFX0ZMT1dfSUQsDQo+ID4gK307DQo+ID4gKw0KPiA+ICsv KioNCj4gPiArICogQHdhcm5pbmcNCj4gPiArICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBt YXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90aWNlLg0KPiA+ICsgKg0KPiA+ICsgKiBDYWxjdWxh dGUgdGhlIGVudHJvcHkgZ2VuZXJhdGVkIGJ5IHRoZSBIVyBmb3IgYSBnaXZlbiBwYXR0ZXJuLA0K PiA+ICsgKiB3aGVuIGVuY2Fwc3VsYXRpb24gZmxvdyBhY3Rpb24gaXMgZXhlY3V0ZWQuDQo+ID4g KyAqDQo+ID4gKyAqIEBwYXJhbVtpbl0gcG9ydF9pZA0KPiA+ICsgKiAgIFBvcnQgaWRlbnRpZmll ciBvZiBFdGhlcm5ldCBkZXZpY2UuDQo+ID4gKyAqIEBwYXJhbVtpbl0gcGF0dGVybg0KPiA+ICsg KiAgIFRoZSB2YWx1ZXMgdG8gYmUgdXNlZCBpbiB0aGUgZW50cm9weSBjYWxjdWxhdGlvbi4NCj4g DQo+IElzIGl0IGlubmVyIHBhY2tldCBmaWVsZHM/IFNob3VsZCBhbGwgZmllbGRzIGJlIHVzZWQg Zm9yIGhhc2gNCj4gY2FsY3VsYXRpb24/IE1heSBiZSBpdCBpcyBiZXR0ZXIgdG8gZGVzY3JpYmUg YXMgaW5uZXIgcGFja2V0DQo+IGhlYWRlcnM/IEhvdyBkb2VzIGFwcCBrbm93IHdoaWNoIGhlYWRl cnMgdG8gZXh0cmFjdCBhbmQgcHJvdmlkZT8NCg0KVGhlIGZpZWxkcyBhcmUgdGhlIG91dGVyIGZp ZWxkcyB0aGF0IHdpbGwgYmVjb21lIGlubmVyIGZpZWxkcywgYWZ0ZXIgdGhlIGVuY2Fwc3VsYXRp b24uDQpUaGUgZmllbGRzIGFyZSBkZXBlbmRlbnQgb24gdGhlIEhXIChpbiBzdGFuZGFyZCBjYXNl IDUgdHVwbGUpLiBidXQgYXBwbGljYXRpb25zIGNhbiAvc2hvdWxkIHNldA0KYWxsIHRoZSBmaWVs ZHMgaGUgZ290IGZyb20gdGhlIHBhY2tldCwgYXQgdGhlIGVuZCB0aG9zZSBhcmUgdGhlIGZpZWxk cyB0aGF0IHRoZSBIVyB3aWxsIHNlZS4NCg0KPiANCj4gPiArICogQHBhcmFtW2luXSBkZXN0X2Zp ZWxkDQo+ID4gKyAqICAgVHlwZSBvZiBkZXN0aW5hdGlvbiBmaWVsZCBmb3IgZW50cm9weSBjYWxj dWxhdGlvbi4NCj4gPiArICogQHBhcmFtW291dF0gZW50cm9weQ0KPiA+ICsgKiAgIFVzZWQgdG8g cmV0dXJuIHRoZSBjYWxjdWxhdGVkIGVudHJvcHkuIEl0IHdpbGwgYmUgd3JpdHRlbiBpbiBuZXR3 b3JrIG9yZGVyLA0KPiA+ICsgKiAgIHNvIGVudHJvcHlbMF0gaXMgdGhlIE1TQi4NCj4gPiArICog ICBUaGUgbnVtYmVyIG9mIGJ5dGVzIGlzIGJhc2VkIG9uIHRoZSBkZXN0aW5hdGlvbiBmaWVsZCB0 eXBlLmYNCj4gDQo+IEFQSSBjb250cmFjdCBpcyBhIGJpdCB1bmNsZWFyIGhlcmUuIE1heSBiZSBp dCBpcyBzYWZlciB0byBwcm92aWRlDQo+IGJ1ZmZlciBzaXplIGV4cGxpY2l0bHk/DQoNClRoZSBz aXplIG9mIHRoZSBmaWVsZCBpcyBkZWZpbmVkIGJ5IHRoZSBkZXN0aW5hdGlvbiBmaWVsZCwgd2hp Y2ggaW4gdHVybiBpcyBkZWZpbmVkIGJ5IHRoZQ0KcHJvdG9jb2wuDQoNCkkgZG9uJ3QgdGhpbmsg YWRkaW5nIHNpemUgaGFzIGFueSBtZWFuaW5nIHdoZW4geW91IGtub3cgdGhhdCB0aGUgdmFsdWUg aXMgZ29pbmcgdG8gYmUgc2V0DQppbiBzb3VyY2UgcG9ydCB3aGljaCBoYXMgdGhlIHNpemUgb2Yg MTYgYml0ZXMuDQpCYXNlZCBvbiBlbnVtIHN1Z2dlc3Rpb24gb2YgdHVubmVsIHR5cGUuIEkgdGhp bmsgaXQgd2lsbCBhbHNvIGV4cGxhaW4gdGhlIGRlc3QgYW5kIHNpemUuIFdoYXQgZG8geW91IHRo aW5rPw0KDQo+IA0KPiA+ICsgKiBAcGFyYW1bb3V0XSBlcnJvcg0KPiA+ICsgKiAgIFBlcmZvcm0g dmVyYm9zZSBlcnJvciByZXBvcnRpbmcgaWYgbm90IE5VTEwuDQo+ID4gKyAqICAgUE1EcyBpbml0 aWFsaXplIHRoaXMgc3RydWN0dXJlIGluIGNhc2Ugb2YgZXJyb3Igb25seS4NCj4gPiArICoNCj4g PiArICogQHJldHVybg0KPiA+ICsgKiAgIC0gKDApIGlmIHN1Y2Nlc3MuDQo+ID4gKyAqICAgLSAo LUVOT0RFVikgaWYgKnBvcnRfaWQqIGludmFsaWQuDQo+ID4gKyAqICAgLSAoLUVOT1RTVVApIGlm IHVuZGVybHlpbmcgZGV2aWNlIGRvZXMgbm90IHN1cHBvcnQgdGhpcyBmdW5jdGlvbmFsaXR5Lg0K PiA+ICsgKiAgIC0gKC1FSU5WQUwpIGlmICpwYXR0ZXJuKiBkb2Vzbid0IGhvbGQgZW5vdWdoIGlu Zm9ybWF0aW9uIHRvIGNhbGN1bGF0ZSB0aGUNCj4gZW50cm9weQ0KPiA+ICsgKiAgICAgICAgICAg ICAgIG9yIHRoZSBkZXN0IGlzIG5vdCBzdXBwb3J0ZWQuDQo+ID4gKyAqLw0KPiA+ICtfX3J0ZV9l eHBlcmltZW50YWwNCj4gPiAraW50DQo+ID4gK3J0ZV9mbG93X2NhbGNfZW5jYXBfZW50cm9weSh1 aW50MTZfdCBwb3J0X2lkLCBjb25zdCBzdHJ1Y3QgcnRlX2Zsb3dfaXRlbQ0KPiBwYXR0ZXJuW10s DQo+ID4gKwkJCSAgICBlbnVtIHJ0ZV9mbG93X2VudHJvcHlfZGVzdCBkZXN0X2ZpZWxkLCB1aW50 OF90DQo+ICplbnRyb3B5LA0KPiA+ICsJCQkgICAgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJv cik7DQo+ID4gKw0KPiA+ICAgI2lmZGVmIF9fY3BsdXNwbHVzDQo+ID4gICB9DQo+ID4gICAjZW5k aWYNCg0K