From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8FAB3A2F63 for ; Fri, 4 Oct 2019 00:49:25 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 5F6611C1A1; Fri, 4 Oct 2019 00:49:24 +0200 (CEST) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50075.outbound.protection.outlook.com [40.107.5.75]) by dpdk.org (Postfix) with ESMTP id 561614CA6 for ; Fri, 4 Oct 2019 00:49:23 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pF9C/0ilzoNiH2MwytiFX4YI7MymTcL1Wf58UC84cBE=; b=8DGCFijkISx/yS7zLvNxiWkyxVEF5GsIHSmEGgjkHIKxmfqgj/4K41NoXqS9ev2BcZNdYjfwJY0sOx+V7oUUiyOtuZHAi22tupUz6YkqY8RNXPvgjC5hXSsx/AQL/dD26dnvBdzh0jVZAzlSgXaDUmGW9Psf142LNbFNo0nN5Dk= Received: from DB6PR0801CA0050.eurprd08.prod.outlook.com (2603:10a6:4:2b::18) by AM6PR08MB3032.eurprd08.prod.outlook.com (2603:10a6:209:43::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.20; Thu, 3 Oct 2019 22:49:21 +0000 Received: from AM5EUR03FT058.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e08::201) by DB6PR0801CA0050.outlook.office365.com (2603:10a6:4:2b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.17 via Frontend Transport; Thu, 3 Oct 2019 22:49:21 +0000 Authentication-Results: spf=temperror (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=none action=none header.from=arm.com; Received-SPF: TempError (protection.outlook.com: error in processing during lookup of arm.com: DNS Timeout) Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT058.mail.protection.outlook.com (10.152.17.48) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.15 via Frontend Transport; Thu, 3 Oct 2019 22:49:20 +0000 Received: ("Tessian outbound 927f2cdd66cc:v33"); Thu, 03 Oct 2019 22:49:17 +0000 X-CR-MTA-TID: 64aa7808 Received: from e5392ec8f627.2 (ip-172-16-0-2.eu-west-1.compute.internal [104.47.0.58]) by 64aa7808-outbound-1.mta.getcheckrecipient.com id C2A1A42E-297A-460F-85FE-8254FDD26129.1; Thu, 03 Oct 2019 22:49:12 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01lp2058.outbound.protection.outlook.com [104.47.0.58]) by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e5392ec8f627.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 03 Oct 2019 22:49:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FH/P5p/v5eIIF2G/sIRLI0impn8NtuILXKpm1/alAAcfsrS7wLbIUFuJOpyXNJmglbOuTx7+Ukv77TW2Hfb5tFu08BES9cWiht3RBJCd+h9B93BcLJErGq4+W5C7j9na2neUOMb36JV0rTUkMK1bH+8n0cYyT4i87y9Fdj+tP7k+f+Ffhb9jTHwNWJhQMPDwOv78vP4o3CD7bFJYHdya0zP6GD5SQ/wJNk/uoDl9XVCrLqO0nfR6TS1oUp0H/b5SjiT+lhXtNCHX3pu3vwFgitLpB/h2YLJRCvPpxMBTBdaJRv28iWNeEYtmYCFkKqFrWHmhf8+dP9UNfmWl6ZNzIw== 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-SenderADCheck; bh=pF9C/0ilzoNiH2MwytiFX4YI7MymTcL1Wf58UC84cBE=; b=HyoE7JRb0BZOoPKeT7laB/2NX9WwMV8YI1w0L3uzkjJK+sIRHhffN/f8Ydv3V3Rpe7vHNwbkTJRLyp9wldcVBxd9yIEhoSJMOQpIg6Pr3LHysQm/CRBedvhUzJoYfaQjzgzTe+HS4CkKxHkLWRJF+O8HkX2S+9fzh4nsPCcfUEui/1N3VHV5+l+4Knem210nSVaEAW5yeNEQeJnvoT7z5zt2MefQsM8tofwiTK3K1/7N5HUWA4L92OkRk9N8e2bi3AHF4eZfTtsyLDF6GnKES+CbMzAxJS7tNXoEuuIwEmnk+ugzsFMvokQxDD+EzZrpIh3azyMSwonLlyminsUzKw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pF9C/0ilzoNiH2MwytiFX4YI7MymTcL1Wf58UC84cBE=; b=8DGCFijkISx/yS7zLvNxiWkyxVEF5GsIHSmEGgjkHIKxmfqgj/4K41NoXqS9ev2BcZNdYjfwJY0sOx+V7oUUiyOtuZHAi22tupUz6YkqY8RNXPvgjC5hXSsx/AQL/dD26dnvBdzh0jVZAzlSgXaDUmGW9Psf142LNbFNo0nN5Dk= Received: from VE1PR08MB5149.eurprd08.prod.outlook.com (20.179.30.27) by VE1PR08MB5216.eurprd08.prod.outlook.com (10.255.159.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.17; Thu, 3 Oct 2019 22:49:09 +0000 Received: from VE1PR08MB5149.eurprd08.prod.outlook.com ([fe80::8c82:8d9c:c78d:22a6]) by VE1PR08MB5149.eurprd08.prod.outlook.com ([fe80::8c82:8d9c:c78d:22a6%7]) with mapi id 15.20.2305.023; Thu, 3 Oct 2019 22:49:09 +0000 From: Honnappa Nagarahalli To: "Ananyev, Konstantin" , "olivier.matz@6wind.com" , "Wang, Yipeng1" , "Gobriel, Sameh" , "Richardson, Bruce" , "De Lara Guarch, Pablo" CC: "dev@dpdk.org" , Dharmik Thakkar , "Gavin Hu (Arm Technology China)" , "Ruifeng Wang (Arm Technology China)" , Honnappa Nagarahalli , nd , nd Thread-Topic: [dpdk-dev] [PATCH 2/5] lib/ring: add template to support different element sizes Thread-Index: AQHVeNjpHH4E8KSmr0+S7oLedx6nO6dF3rfwgAEG+ICAAFeBkIABLVyAgACbGgCAAArJkIAAdgWA Date: Thu, 3 Oct 2019 22:49:09 +0000 Message-ID: References: <20190828144614.25284-1-honnappa.nagarahalli@arm.com> <20190828144614.25284-3-honnappa.nagarahalli@arm.com> <2601191342CEEE43887BDE71AB977258019196E21E@irsmsx105.ger.corp.intel.com> <2601191342CEEE43887BDE71AB977258019196FAC9@irsmsx105.ger.corp.intel.com> <2601191342CEEE43887BDE71AB9772580191970803@irsmsx105.ger.corp.intel.com> <2601191342CEEE43887BDE71AB9772580191970852@irsmsx105.ger.corp.intel.com> In-Reply-To: <2601191342CEEE43887BDE71AB9772580191970852@irsmsx105.ger.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 8b395562-fe8a-4a06-abf7-4f9e576346c4.0 x-checkrecipientchecked: true Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Honnappa.Nagarahalli@arm.com; x-originating-ip: [217.140.111.135] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 83f23e30-2d47-4854-7911-08d74853ed90 X-MS-Office365-Filtering-HT: Tenant X-MS-TrafficTypeDiagnostic: VE1PR08MB5216:|VE1PR08MB5216:|AM6PR08MB3032: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true x-ms-oob-tlc-oobclassifiers: OLM:1728;OLM:1728; x-forefront-prvs: 01792087B6 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM; SFS:(10009020)(4636009)(396003)(346002)(366004)(136003)(39860400002)(376002)(199004)(189003)(51914003)(6116002)(9686003)(66446008)(7696005)(64756008)(66556008)(66476007)(6436002)(81166006)(478600001)(2501003)(229853002)(6246003)(52536014)(256004)(3846002)(54906003)(110136005)(316002)(55016002)(25786009)(99286004)(4326008)(14454004)(66946007)(102836004)(33656002)(74316002)(14444005)(26005)(476003)(486006)(11346002)(186003)(446003)(305945005)(6506007)(71200400001)(71190400001)(81156014)(76176011)(66066001)(76116006)(2906002)(5660300002)(86362001)(8936002)(7736002)(921003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:VE1PR08MB5216; H:VE1PR08MB5149.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: oA94qgLeAOkaJI6rwk4rd5db6eS7gIJbAeLSEba9zRgwEcuKExr/m+pDq8wDU8c3bf4cqMPMIzJpLKcKrsYNf3KaKVQavYz7ikNCYGYJEN85+ISU41DGgyTJVWHmuAqktryOS6zMgNFx2lS27AkOkU9DCeeU40z8NysvWR0ZtfhLKMseWNl4cPIbtetiEZwaQcf0m1tlQaxSNV8xXozy0ShVsdzTjbITNl8K5VMMCv6iwvM3W8ItQELl/ti9D6ZzLX0EWztinlTjPwAUmnLT2LiV2Ac8TKUUjhNAHwogir7weB1hO+w/8+axS6EDuhHXxpcOtb8N/0jeQUB+WWVX2ZpVl570Pqc/ggkaXj9VADGvMfLIlD/UwVSbkpUd8FIkAFmAlUZogP/paVon24t/DLxpVBBAt4OdTkwa0uKP0SM= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5216 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Honnappa.Nagarahalli@arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT058.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123; IPV:CAL; SCL:-1; CTRY:IE; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(396003)(136003)(39860400002)(346002)(376002)(51914003)(199004)(189003)(25786009)(70586007)(70206006)(9686003)(14454004)(74316002)(7736002)(2501003)(6246003)(4326008)(47776003)(55016002)(26826003)(478600001)(14444005)(66066001)(50466002)(76130400001)(229853002)(305945005)(316002)(54906003)(336012)(102836004)(110136005)(26005)(186003)(126002)(486006)(6506007)(11346002)(36906005)(436003)(2486003)(76176011)(446003)(23676004)(7696005)(63350400001)(52536014)(8936002)(356004)(22756006)(99286004)(33656002)(3846002)(2906002)(5660300002)(81166006)(81156014)(6116002)(86362001)(476003)(921003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR08MB3032; H:64aa7808-outbound-1.mta.getcheckrecipient.com; FPR:; SPF:TempError; LANG:en; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; A:1; MX:1; X-MS-Office365-Filtering-Correlation-Id-Prvs: cb5a245c-a804-4e44-926b-08d74853e763 NoDisclaimer: True X-Forefront-PRVS: 01792087B6 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zbQtUFyjvcKHBFQMLCXGyMo7u8MakSEERqK07OW3a2ASnNH9uTEzgQlRMW91z/qepqu6WM5KEaQfTwS/Kpoxws9UFURMfOKlnbhL945beNX7WvdoK8JbFPvZrM5U5is18rWCBuPoME8RSVx5KXpHxRwmC+9rviE1baNwUIaSVBti84gorFtG/v02Ytsi/2HIi7gV7SLQtLchCFo7tFl4K3VuHYOjzVjTciW5Ap95DboFUwcpL0AnRTjgazuAu0v5LAzufNyqsnVA5Qe6kCTgbbUNAW5aiqz7J/G/u9gyDLbDFB2R4dPU3klWgf/UVkypOegtvs7BAgGsh8j69xALoX2DKSYxWz+ZOjwneipVlVkEsXChzikpKwv+hizmWoQm4/C/PhzUyR7Kc/FoLnV5uKcmgG4xiQj/23bb3VUpcHs= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Oct 2019 22:49:20.0517 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 83f23e30-2d47-4854-7911-08d74853ed90 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3032 Subject: Re: [dpdk-dev] [PATCH 2/5] lib/ring: add template to support different element sizes X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" PHNuaXA+DQoNCj4gPiA+ID4gPiA+ID4gKysrIGIvbGliL2xpYnJ0ZV9yaW5nL3J0ZV9yaW5nX3Rl bXBsYXRlLmgNCj4gPiA+ID4gPiA+ID4gQEAgLTAsMCArMSwzMzAgQEANCj4gPiA+ID4gPiA+ID4g Ky8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UNCj4gPiA+ID4gPiA+ID4g KyAqIENvcHlyaWdodCAoYykgMjAxOSBBcm0gTGltaXRlZCAgKi8NCj4gPiA+ID4gPiA+ID4gKw0K PiA+ID4gPiA+ID4gPiArI2lmbmRlZiBfUlRFX1JJTkdfVEVNUExBVEVfSF8gI2RlZmluZQ0KPiBf UlRFX1JJTkdfVEVNUExBVEVfSF8NCj4gPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gPiArI2lm ZGVmIF9fY3BsdXNwbHVzDQo+ID4gPiA+ID4gPiA+ICtleHRlcm4gIkMiIHsNCj4gPiA+ID4gPiA+ ID4gKyNlbmRpZg0KPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+ICsjaW5jbHVkZSA8c3Rk aW8uaD4NCj4gPiA+ID4gPiA+ID4gKyNpbmNsdWRlIDxzdGRpbnQuaD4NCj4gPiA+ID4gPiA+ID4g KyNpbmNsdWRlIDxzeXMvcXVldWUuaD4NCj4gPiA+ID4gPiA+ID4gKyNpbmNsdWRlIDxlcnJuby5o Pg0KPiA+ID4gPiA+ID4gPiArI2luY2x1ZGUgPHJ0ZV9jb21tb24uaD4NCj4gPiA+ID4gPiA+ID4g KyNpbmNsdWRlIDxydGVfY29uZmlnLmg+DQo+ID4gPiA+ID4gPiA+ICsjaW5jbHVkZSA8cnRlX21l bW9yeS5oPg0KPiA+ID4gPiA+ID4gPiArI2luY2x1ZGUgPHJ0ZV9sY29yZS5oPg0KPiA+ID4gPiA+ ID4gPiArI2luY2x1ZGUgPHJ0ZV9hdG9taWMuaD4NCj4gPiA+ID4gPiA+ID4gKyNpbmNsdWRlIDxy dGVfYnJhbmNoX3ByZWRpY3Rpb24uaD4gI2luY2x1ZGUgPHJ0ZV9tZW16b25lLmg+DQo+ID4gPiA+ ID4gPiA+ICsjaW5jbHVkZSA8cnRlX3BhdXNlLmg+ICNpbmNsdWRlIDxydGVfcmluZy5oPg0KPiA+ ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+ICsvKiBSaW5nIEFQSSBzdWZmaXggbmFtZSAtIHVz ZWQgdG8gYXBwZW5kIHRvIEFQSSBuYW1lcyAqLw0KPiA+ID4gPiA+ID4gPiArI2lmbmRlZiBSVEVf UklOR19UTVBMVF9BUElfU1VGRklYICNlcnJvcg0KPiA+ID4gPiA+ID4gPiArUlRFX1JJTkdfVE1Q TFRfQVBJX1NVRkZJWA0KPiA+ID4gPiBub3QNCj4gPiA+ID4gPiA+ID4gK2RlZmluZWQgI2VuZGlm DQo+ID4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ID4gKy8qIFJpbmcncyBlbGVtZW50IHNpemUg aW4gYml0cywgc2hvdWxkIGJlIGEgcG93ZXIgb2YgMiAqLw0KPiA+ID4gPiA+ID4gPiArI2lmbmRl ZiBSVEVfUklOR19UTVBMVF9FTEVNX1NJWkUgI2Vycm9yDQo+ID4gPiA+ID4gPiA+ICtSVEVfUklO R19UTVBMVF9FTEVNX1NJWkUNCj4gPiA+ID4gbm90DQo+ID4gPiA+ID4gPiBkZWZpbmVkDQo+ID4g PiA+ID4gPiA+ICsjZW5kaWYNCj4gPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gPiArLyogVHlw ZSBvZiByaW5nIGVsZW1lbnRzICovICNpZm5kZWYNCj4gPiA+ID4gPiA+ID4gK1JURV9SSU5HX1RN UExUX0VMRU1fVFlQRSAjZXJyb3INCj4gUlRFX1JJTkdfVE1QTFRfRUxFTV9UWVBFDQo+ID4gPiA+ ID4gPiA+ICtub3QgZGVmaW5lZCAjZW5kaWYNCj4gPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4g PiArI2RlZmluZSBfcnRlX2Z1c2UoYSwgYikgYSMjXyMjYiAjZGVmaW5lIF9fcnRlX2Z1c2UoYSwg YikNCj4gPiA+ID4gPiA+ID4gK19ydGVfZnVzZShhLCBiKSAjZGVmaW5lDQo+ID4gPiA+ID4gPiA+ ICtfX1JURV9SSU5HX0NPTkNBVChhKSBfX3J0ZV9mdXNlKGEsDQo+ID4gPiA+ID4gPiA+ICtSVEVf UklOR19UTVBMVF9BUElfU1VGRklYKQ0KPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+ICsv KiBDYWxjdWxhdGUgdGhlIG1lbW9yeSBzaXplIG5lZWRlZCBmb3IgYSByaW5nICovDQo+ID4gPiA+ ID4gPiA+ICtSVEVfUklOR19UTVBMVF9FWFBFUklNRU5UQUwgc3NpemVfdA0KPiA+ID4gPiA+ID4g PiArX19SVEVfUklOR19DT05DQVQocnRlX3JpbmdfZ2V0X21lbXNpemUpKHVuc2lnbmVkIGNvdW50 KTsNCj4gPiA+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ID4gPiArLyogQ3JlYXRlIGEgbmV3IHJpbmcg bmFtZWQgKm5hbWUqIGluIG1lbW9yeS4gKi8NCj4gPiA+ID4gPiA+ID4gK1JURV9SSU5HX1RNUExU X0VYUEVSSU1FTlRBTCBzdHJ1Y3QgcnRlX3JpbmcgKg0KPiA+ID4gPiA+ID4gPiArX19SVEVfUklO R19DT05DQVQocnRlX3JpbmdfY3JlYXRlKShjb25zdCBjaGFyICpuYW1lLA0KPiA+ID4gPiA+ID4g PiArdW5zaWduZWQNCj4gPiA+ID4gY291bnQsDQo+ID4gPiA+ID4gPiA+ICsJCQkJCWludCBzb2Nr ZXRfaWQsIHVuc2lnbmVkIGZsYWdzKTsNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gSnVzdCBhbiBpZGVhIC0gcHJvYmFibHkgc2FtZSB0aGluZyBjYW4gYmUgYWNoaWV2ZWQg aW4gYSBkaWZmZXJlbnQNCj4gd2F5Lg0KPiA+ID4gPiA+ID4gSW5zdGVhZCBvZiBhbGwgdGhlc2Ug ZGVmaW5lcyAtIHJlcGxhY2UNCj4gPiA+ID4gPiA+IEVOUVVFVUVfUFRSUy9ERVFVRVVFX1BUUlMg bWFjcm9zIHdpdGggc3RhdGljIGlubGluZSBmdW5jdGlvbnMNCj4gPiA+ID4gPiA+IGFuZCB0aGVu IG1ha2UgYWxsIGludGVybmFsIGZ1bmN0aW9ucywNCj4gPiA+ID4gaS5lLg0KPiA+ID4gPiA+ID4g X19ydGVfcmluZ19kb19kZXF1ZXVlKCkNCj4gPiA+ID4gPiA+IHRvIGFjY2VwdCBlbnF1ZXVlL2Rl cXVldWUgZnVuY3Rpb24gcG9pbnRlciBhcyBhIHBhcmFtZXRlci4NCj4gPiA+ID4gPiA+IFRoZW4g bGV0IHNheSBkZWZhdWx0IHJ0ZV9yaW5nX21jX2RlcXVldWVfYnVsayB3aWxsIGRvOg0KPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+IHJ0ZV9yaW5nX21jX2RlcXVldWVfYnVsayhzdHJ1Y3QgcnRlX3Jp bmcgKnIsIHZvaWQgKipvYmpfdGFibGUsDQo+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgdW5z aWduZWQgaW50IG4sIHVuc2lnbmVkIGludCAqYXZhaWxhYmxlKSB7DQo+ID4gPiA+ID4gPiAgICAg ICAgIHJldHVybiBfX3J0ZV9yaW5nX2RvX2RlcXVldWUociwgb2JqX3RhYmxlLCBuLA0KPiA+ID4g PiBSVEVfUklOR19RVUVVRV9GSVhFRCwNCj4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAg ICAgIF9fSVNfTUMsIGF2YWlsYWJsZSwNCj4gPiA+ID4gPiA+IGRlcXVldWVfcHRyX2RlZmF1bHQp OyB9DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gVGhlbiBpZiBzb21lb25lIHdpbGwgbGlrZSB0 byBkZWZpbmUgcmluZyBmdW5jdGlvbnMNCj4gPiA+ID4gPiA+IGZvcmVsdF9zaXplPT1YLCBhbGwg aGUgd291bGQgbmVlZCB0byBkbzoNCj4gPiA+ID4gPiA+IDEuIGRlZmluZSBoaXMgb3duIGVucXVl dWUvZGVxdWV1ZXIgZnVuY3Rpb25zLg0KPiA+ID4gPiA+ID4gMi4gZG8gc29tZXRoaW5nIGxpa2U6 DQo+ID4gPiA+ID4gPiBydGVfcmluZ19tY19kZXF1ZXVlX2J1bGsoc3RydWN0IHJ0ZV9yaW5nICpy LCB2b2lkICoqb2JqX3RhYmxlLA0KPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgIHVuc2lnbmVk IGludCBuLCB1bnNpZ25lZCBpbnQgKmF2YWlsYWJsZSkgew0KPiA+ID4gPiA+ID4gICAgICAgICBy ZXR1cm4gX19ydGVfcmluZ19kb19kZXF1ZXVlKHIsIG9ial90YWJsZSwgbiwNCj4gPiA+ID4gUlRF X1JJTkdfUVVFVUVfRklYRUQsDQo+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICBf X0lTX01DLCBhdmFpbGFibGUsIGRlcXVldWVfWCk7IH0NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiBLb25zdGFudGluDQo+ID4gPiA+ID4gVGhhbmtzIGZvciB0aGUgZmVlZGJhY2svaWRlYS4gVGhl IGdvYWwgb2YgdGhpcyBwYXRjaCB3YXMgdG8gbWFrZQ0KPiA+ID4gPiA+IGl0IHNpbXBsZSBlbm91 Z2ggdG8gZGVmaW5lIEFQSXMgdG8gc3RvcmUgYW55IGVsZW1lbnQgc2l6ZQ0KPiA+ID4gPiA+IHdp dGhvdXQgY29kZQ0KPiA+ID4gPiBkdXBsaWNhdGlvbi4NCj4gPiA+ID4NCj4gPiA+ID4gV2VsbCwg dGhlbiBpZiB3ZSBzdG9yZSBlbHRfc2l6ZSBpbnNpZGUgdGhlIHJpbmcsIGl0IHNob3VsZCBiZSBl YXN5DQo+ID4gPiA+IGVub3VnaCB0byBhZGQgdG8gdGhlIEFQSSBnZW5lcmljIGZ1bmN0aW9ucyB0 aGF0IHdvdWxkIHVzZQ0KPiA+ID4gPiBtZW1jcHkob3IgcnRlX21lbWNweSkgZm9yIGVucXVldWUv ZGVxdWV1ZS4NCj4gPiA+ID4gWWVzLCBpdCBtaWdodCBiZSBzbG93ZXIgdGhhbiBleGlzdGluZyAo OEIgcGVyIGVsZW0pLCBidXQgbWlnaHQgYmUNCj4gPiA+ID4gc3RpbGwgYWNjZXB0YWJsZS4NCj4g PiA+IFRoZSBlbGVtZW50IHNpemUgd2lsbCBiZSBhIGNvbnN0YW50IGluIG1vc3QgdXNlIGNhc2Vz LiBJZiB3ZSBrZWVwDQo+ID4gPiB0aGUgZWxlbWVudCBzaXplIGFzIGEgcGFyYW1ldGVyLCBpdCBh bGxvd3MgdGhlIGNvbXBpbGVyIHRvIGRvIGFueSBsb29wDQo+IHVucm9sbGluZyBhbmQgYXV0by12 ZWN0b3JpemF0aW9uIG9wdGltaXphdGlvbnMgb24gY29weWluZy4NCj4gPiA+IFN0b3JpbmcgdGhl IGVsZW1lbnQgc2l6ZSB3aWxsIHJlc3VsdCBpbiBhZGRpdGlvbmFsIG1lbW9yeSBhY2Nlc3MuDQo+ ID4NCj4gPiBJIHVuZGVyc3RhbmQgdGhhdCwgYnV0IGZvciB5b3UgY2FzZSAocmN1IGRlZmVyIHF1 ZXVlKSB5b3UgcHJvYmFibHkgbmVlZA0KPiBoaWdoZXN0IHBvc3NpYmxlIHBlcmZvcm1hbmNlLCBy aWdodD8NCj4gDQo+IE1lYW50ICdkb24ndCBuZWVkJyBvZiBjb3Vyc2UgOikNCvCfmIogdW5kZXJz dG9vZC4gdGhhdCBpcyBqdXN0IG9uZSB1c2UgY2FzZS4gSXQgYWN0dWFsbHkgc3RhcnRlZCBhcyBh biBvcHRpb24gdG8gcmVkdWNlIG1lbW9yeSB1c2FnZSBpbiBkaWZmZXJlbnQgcGxhY2VzLiBZb3Ug Y2FuIGxvb2sgYXQgdGhlIHJ0ZV9oYXNoIGNoYW5nZXMgaW4gdGhpcyBwYXRjaC4gSSBhbHNvIGhh dmUgcGxhbnMgZm9yIGZ1cnRoZXIgY2hhbmdlcy4NCg0KPiANCj4gPiBJIGFtIHN1cmUgdGhlcmUg d2lsbCBiZSBvdGhlciBjYXNlcyB3aGVyZSBzdWNoIHNsaWdodCBwZXJmIGRlZ3JhZGF0aW9uIGlz DQo+IGFjY2VwdGF0YmxlLg0KPiA+DQo+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiA+V2l0aCB0aGlz IHBhdGNoLCB0aGUgdXNlciBoYXMgdG8gd3JpdGUgfjQgbGluZXMgb2YgY29kZSB0byBnZXQNCj4g PiA+ID4gPkFQSXMgZm9yIGFueSBlbGVtZW50IHNpemUuIEkgd291bGQgbGlrZSB0byBrZWVwIHRo ZSBnb2FsIHN0aWxsIHRoZSAgc2FtZS4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IElmIHdlIGhhdmUg dG8gYXZvaWQgdGhlIG1hY3JvLWZlc3QsIHRoZSBtYWluIHByb2JsZW0gdGhhdCBuZWVkcw0KPiA+ ID4gPiA+IHRvIGJlIGFkZHJlc3NlZCBpcyAtIGhvdyB0byByZXByZXNlbnQgZGlmZmVyZW50IHNp emVzIG9mIGVsZW1lbnQNCj4gPiA+ID4gPiB0eXBlcyBpbiBhIGdlbmVyaWMNCj4gPiA+ID4gd2F5 PyBJTU8sIHdlIGNhbiBkbyB0aGlzIGJ5IGRlZmluaW5nIHRoZSBlbGVtZW50IHR5cGUgdG8gYmUg YQ0KPiA+ID4gPiBtdWx0aXBsZSBvZiB1aW50MzJfdCAoSSBkbyBub3QgdGhpbmsgd2UgbmVlZCB0 byBnbyB0byB1aW50MTZfdCkuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBGb3IgZXg6DQo+ID4gPiA+ ID4gcnRlX3JpbmdfbXBfZW5xdWV1ZV9idWxrX29ianMoc3RydWN0IHJ0ZV9yaW5nICpyLA0KPiA+ ID4gPiA+ICAgICAgICAgICAgICAgICB1aW50MzJfdCAqb2JqX3RhYmxlLCB1bnNpZ25lZCBpbnQg bnVtX29ianMsDQo+ID4gPiA+ID4gICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBuLA0KPiA+ ID4gPiA+ICAgICAgICAgICAgICAgICBlbnVtIHJ0ZV9yaW5nX3F1ZXVlX2JlaGF2aW9yIGJlaGF2 aW9yLCB1bnNpZ25lZCBpbnQgaXNfc3AsDQo+ID4gPiA+ID4gICAgICAgICAgICAgICAgIHVuc2ln bmVkIGludCAqZnJlZV9zcGFjZSkgeyB9DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBUaGlzIGFwcHJv YWNoIHdvdWxkIGVuc3VyZSB0aGF0IHdlIGhhdmUgZ2VuZXJpYyBlbm91Z2ggQVBJcyBhbmQNCj4g PiA+ID4gPiB0aGV5IGNhbiBiZSB1c2VkIGZvciBlbGVtZW50cyBvZiBhbnkgc2l6ZS4gQnV0IHRo ZSBlbGVtZW50DQo+ID4gPiA+ID4gaXRzZWxmIG5lZWRzIHRvIGJlIGENCj4gPiA+ID4gbXVsdGlw bGUgb2YgMzJiIC0gSSB0aGluayB0aGlzIHNob3VsZCBub3QgYmUgYSBjb25jZXJuLg0KPiA+ID4g PiA+DQo+ID4gPiA+ID4gVGhlIEFQSSBzdWZmaXggZGVmaW5pdGVseSBuZWVkcyB0byBiZSBiZXR0 ZXIsIGFueSBzdWdnZXN0aW9ucz8NCj4gPiA+ID4NCg==