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 720C0A0C4D; Tue, 12 Oct 2021 23:09:35 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0A9D7410DA; Tue, 12 Oct 2021 23:09:35 +0200 (CEST) Received: from AZHDRRW-EX02.NVIDIA.COM (azhdrrw-ex02.nvidia.com [20.64.145.131]) by mails.dpdk.org (Postfix) with ESMTP id B2AF340E50 for ; Tue, 12 Oct 2021 23:09:33 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.107) by mxs.oss.nvidia.com (10.13.234.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.858.15; Tue, 12 Oct 2021 14:09:32 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RlkabrRYJXzFqFGn8Yj/X/oCR7vOz8CtYzjz9OHxs//1VhJgBK7PqdsJZ3dGmX4ab8Lgj0xeCeAQJEyoeQS1FDxPfJB5mn+LXZk4TGrm1y5Dht3MuZg6KhVPkDLyIpEdHDFRtGELB9DZijVYk5ybdDW7i/mnSmIJfDNpzcdklTCi3TAHYVGjn5wkt3T2+d8S4+AUGieDjk7NIUH6Yfv8AWAhjR9Oby1SpmbhTN9rUvRq989yuv3GkIEcRG/usO1SzuhL8jcpJhlRj3ggahQgGButzQj6u4qO5Z3njW9oZIZYDA2CTfOg86Sm7Q9v6O86y+c8CyE+cjnvNWfUgUMs/w== 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=7+BNpDPd1kogFNcE8z06JD0o2/w7Je0HxvtPoEW/zcA=; b=kYqObcgFuqHHd/gFgXCIybv6iLtPsVkCVwoD+GNYtZBskcFh7Mcm/Ash3MnsWRCq1r/WuTy1mhDZaviaQrk3QXBw2+eXVKuTW7dvb/ZzHdBIoka+x7elX69BCMO7M4bsMk8ywEKJbrz/eWfPNQQZC8exubtAQrfCRB32CpSaHpLlgiJMUoE/g34JHksUA+UeZ8BTM/191ljmH+7utKmfqMkS4yjUdfxm7hd1Y0HQbMy+Y0L56WpLfk2/bHG+JKj++RM9kCkDNV5HAYZd8uJxzCzW2JLWPkDsEut+rmDA0V9VbsrdFLIDrL37mTPYbspY2zaqlRfPFCbzcmZQfLmiZQ== 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=7+BNpDPd1kogFNcE8z06JD0o2/w7Je0HxvtPoEW/zcA=; b=B6HUzHEt4CRc5OwN4Uol/YtzEiVmEIr/JjOwnjkTpNpMPSCZ2+ilQkilgqV3Qcq0tQ3ealjo9o+zPe4qZ5qUOruhtRXJObZ2h9CXhlizjQrFRBCJLhSH2CZ0yww4ZnAZG6re0nlN1gHnqXml+2YcvUEDQeOq58t112SEvkpUxcIFLJndoQftwh3RqPOEc5KOGKU/q4DVxJJ7p67+TGVVtfDsuXiCkROBTKi5W2ki6qT/ZRJxJRT388kwuGaHgv8Nod1rCZr6vk/045/XUPA9CdStFsYFDkbMKLAocyp7RufGJi/FZKd5JH/Nc62LCpLaH64xjQgpCxD7pRFDMthiZw== Received: from CH0PR12MB5091.namprd12.prod.outlook.com (2603:10b6:610:be::10) by CH0PR12MB5370.namprd12.prod.outlook.com (2603:10b6:610:d5::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.20; Tue, 12 Oct 2021 21:09:31 +0000 Received: from CH0PR12MB5091.namprd12.prod.outlook.com ([fe80::59bf:640f:7140:ab97]) by CH0PR12MB5091.namprd12.prod.outlook.com ([fe80::59bf:640f:7140:ab97%9]) with mapi id 15.20.4587.026; Tue, 12 Oct 2021 21:09:31 +0000 From: Dmitry Kozlyuk To: David Marchand CC: dev , Slava Ovsiienko , "Anatoly Burakov" , NBU-Contact-Thomas Monjalon Thread-Topic: [dpdk-dev] [PATCH v6 2/3] eal: add memory pre-allocation from existing files Thread-Index: AQHXvn4C6UFWsdLwt0umagFmcR1nPqvPgQOAgAAAR/CAACAUgIAAMm8Q Date: Tue, 12 Oct 2021 21:09:31 +0000 Message-ID: References: <20210921081632.858873-1-dkozlyuk@nvidia.com> <20211011085644.2716490-1-dkozlyuk@nvidia.com> <20211011085644.2716490-3-dkozlyuk@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 70802ac1-7edc-4725-87b3-08d98dc49598 x-ms-traffictypediagnostic: CH0PR12MB5370: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 1WMcroZJkgR1TM6PsVplgxxaCLxn+Nb1RgCETMpcdCdqVYAVJ+YiwAB8JnXyjLhxSRonTPwfmQLTVynNQeqr6II2uW9tgYlp8Rtj93lI8vzDzbSKygfYBwqmr7+ev2Kzd1vaYGlVesvsrk83VoftBn+7S5DFhAEDiEMi7VbqF5Z+G1T3cyvarhh6gYgecFKMyPiotdJ1p1TKwBKVxUzDX2eB/yVfzD4tsUrvbjYeBlLGZITkLL6L4SL/JhszjS2g2NB0BM34ZGXdOcyjlX5c72MirMTysqScKLaKGwrNdUHZJAquhzffwajJopBJaDovSeoHzNW3YZRa5FOJmWXcich/bZ8h4+RuCKYCV8w82rjVKH3qoea3GKoo5Kgbub1Cy/rhyzIA9N7CPx9DZOLbscnMzB633jpvzp4mGAS3Z4VJpeCDQGU10qeQp6QIDxh8QLyYMM1O+Qn/Suo5PvLA+XONZGEh54Mphb1fJpiboOG59nwE5V/391BqYw6jWMxr+POsWg3tQjS9w1F71NO0XaE48Pm0rza+xdnuKd5kHp1LiATgUpmYDnvKvG3bLa5qIgEe9bsKbSWH/Bj9wrhWdO7V/zbMNHf8Rh7TykTQLeJUg096P9SbIKx10/GPRQ3muIzFmcxwSHJ7qVGlBSDEZ/jHVpdVzqrKX9/sriWwtMOCzwdXR8OecO+tPp+LFT9t0Dt4e4QPej5BUQwt4XFd/Q== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH0PR12MB5091.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(86362001)(8936002)(33656002)(66556008)(26005)(7696005)(71200400001)(508600001)(107886003)(83380400001)(6506007)(55016002)(76116006)(9686003)(66946007)(53546011)(186003)(6862004)(8676002)(66476007)(4326008)(316002)(66446008)(64756008)(5660300002)(2906002)(38070700005)(52536014)(54906003)(122000001)(38100700002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Yi9XSXRWSVpNTGdXc3B0TmNOSFFkNXNjNUtaNkdsRytTb1AyVGRuUTErakJ1?= =?utf-8?B?dWM4TVV6bWp5L3RhQzNZOUhRSWMxOFlNbHQ5NFlhOUFwV0ZjU1dkTXhTWFpn?= =?utf-8?B?M3drcXRrWWtvbXo0NTR6OFNuODdjcE51OWRjWlBtMDNkcDZiS1JjajNWMW91?= =?utf-8?B?RWZCZVRPUitUL1lZYjBWZFkyUFBOUWlkU1NlRzkzaCtSZDJaVHRPQ1d6a29T?= =?utf-8?B?UVRzU2R5d1liSncyR1Y2NzZqRy9iZmo4UUdsczBrcWJsOVpkZW1tb0pjODMv?= =?utf-8?B?V0V5NHprVlhuT1RMTVpYa0lZaGs0ZGVxSjhLKzE5MU9Jck52eUozZEk5YytW?= =?utf-8?B?QTl3bWR0ZWlGbWhFRUFzZ0l3M0RMRGdXajV4Um9OU2FPU2JyZGtGdGhIK2JL?= =?utf-8?B?TjRPYzZrcXMzZ0RzTytKRHFTMytjZUV1OENoRUZicjFGQ3VlREZISENkZEl2?= =?utf-8?B?U3pBYTAxb2pGaFE3bGppVWs2UmFmaWdmdEpVMitVWVkrTEJhODZ5TXlxRGpn?= =?utf-8?B?dXNkMlhRV09NSUE4OFBLQitkYmp4cU5IMzlmY1Fjc3czYU80N0pSNkZpckdS?= =?utf-8?B?dFhXdlJ6MTlJTUx4aFRKQnF1eW01SVR4TG1UYzRiK0kwMURCU0pacXpsVTJi?= =?utf-8?B?SjhtM1FpWFBqd09FSEJSS1FYaFBIdlN0aUNUTzgrN25QVHpSeFYvSEtacDk0?= =?utf-8?B?NCtlQjFWdnd6UVJIQXM2R1p4SXgyTjZYL096cTU0L096QjlDcFNDcSt5cE53?= =?utf-8?B?LzZLR2R4OHc3T29rZDNZSnc2b2Nwdmk5Uks3S1hLU01yLzBrZkJNZ2lPelMr?= =?utf-8?B?bzZBZ3Z4RU80OU9telZJZ3ViWXZ0bENRSTRQTnVML1RkeXpqcGpMdDlZdGUv?= =?utf-8?B?TlJHcXVzK0UyNXE0SFMxTEx5OWZESEVGdlNzNGx5VHNKalBmNmxOQktUd0Jv?= =?utf-8?B?a0k3NEFLYWczWElkbThqVy9qcHkzY2FpVDZkbnEvNUhzREhtWUdqUkZVVG1P?= =?utf-8?B?dkVsdEZZNVFVRHBHV3NZdFRNV2svSzgydG5LeHR6ZU85RDA2ZVRXSk1RbHgv?= =?utf-8?B?amwyTS80U21lOFdwVTljQy9Oa2tmUlc1TnVCNlQzNk14U21WSjZhTU1tRzJk?= =?utf-8?B?RGd5SFJEQzg3UjhHZTRNSmNxaVpNNDg5TzhubWJlQy9Heks5aWxKN3hFbkdp?= =?utf-8?B?TmJOb1RoYTYzWU9vS0NGdTduT0JCQkt0QTh0ejJlQmlGbGdJQlpEenA1a29R?= =?utf-8?B?NHdRRENYVHJ5Z3N2WmZUUDIwQVoySkladGxvQ0tyQmYxQ1JyVEsvZ1l4TXRv?= =?utf-8?B?UDRIT2pIUUJCaitwR3NYME0vcDJvRytLM2ZOdXpIOUdhZkdpUXFyT0Z2RSt0?= =?utf-8?B?WGd0QkRUZ0pDaCtqRDkxaXVVOFNCQzV6NFZ0WjVlKytYV2xQd1B2UGkvaUlh?= =?utf-8?B?dG85b21maUtIbmFnOUp2a2ErNDVIZEEvZUlheEJwZkZ0NXk2OE8wWVFpZWF3?= =?utf-8?B?WHJya0lXWHY3TFpkMGcxV05lQi9ZaGtUNm1oeDdZYWEvUUYxbjY4Z3VlTUtv?= =?utf-8?B?Qy85WFUzeWUyeFl1c2RnQzlHUSt2WEpORE9CNTEwZmNoQ0tlTldEdjdGb2dr?= =?utf-8?B?dlE5TThXaHZJd2ZGZEZvYVVhL25GbnNsd1duQ0JFdmVBSWVlT2VVM3ZYcWYz?= =?utf-8?B?ZUhZOEFIWERkdVpuN3UySkd1b2g4ZW9ja0ZoSDJqdWlETUNyM0NNbzV5eHI0?= =?utf-8?Q?XeiFzYb5IVmeApvcK8=3D?= 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: CH0PR12MB5091.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 70802ac1-7edc-4725-87b3-08d98dc49598 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2021 21:09:31.0761 (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: VArb0cdc7KeAOHjs8Vcy7J90cnzKDbCEGAt09NtQ4U0LXmeTd/8fx42Z+zTqc/ZSvgl8VS6Xt5G0CdsCJUFzIw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5370 Subject: Re: [dpdk-dev] [PATCH v6 2/3] eal: add memory pre-allocation from existing files 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 Sender: "dev" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBEYXZpZCBNYXJjaGFuZCA8ZGF2 aWQubWFyY2hhbmRAcmVkaGF0LmNvbT4NCj4gU2VudDogMTIg0L7QutGC0Y/QsdGA0Y8gMjAyMSDQ sy4gMjA6MzMNCj4gVG86IERtaXRyeSBLb3pseXVrIDxka296bHl1a0BudmlkaWEuY29tPg0KPiBD YzogZGV2IDxkZXZAZHBkay5vcmc+OyBTbGF2YSBPdnNpaWVua28gPHZpYWNoZXNsYXZvQG52aWRp YS5jb20+OyBBbmF0b2x5DQo+IEJ1cmFrb3YgPGFuYXRvbHkuYnVyYWtvdkBpbnRlbC5jb20+OyBO QlUtQ29udGFjdC1UaG9tYXMgTW9uamFsb24NCj4gPHRob21hc0Btb25qYWxvbi5uZXQ+DQo+IFN1 YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCB2NiAyLzNdIGVhbDogYWRkIG1lbW9yeSBwcmUt YWxsb2NhdGlvbiBmcm9tDQo+IGV4aXN0aW5nIGZpbGVzDQo+IA0KPiBFeHRlcm5hbCBlbWFpbDog VXNlIGNhdXRpb24gb3BlbmluZyBsaW5rcyBvciBhdHRhY2htZW50cw0KPiANCj4gDQo+IE9uIFR1 ZSwgT2N0IDEyLCAyMDIxIGF0IDU6NTUgUE0gRG1pdHJ5IEtvemx5dWsgPGRrb3pseXVrQG52aWRp YS5jb20+DQo+IHdyb3RlOg0KPiA+ID4gSSBoYXZlIHNvbWUgdHJvdWJsZSBmaWd1cmluZyB0aGUg bmVlZCBmb3IgdGhlIGxpc3Qgb2YgZmlsZXMuDQo+ID4gPiBXaHkgbm90IHVzZSBhIGdsb2JhbCBr bm9iIC0tbWVtLWNsZWFyLW9uLWFsbG9jIGZvciB0aGlzIGJlaGF2aW9yDQo+IGNoYW5nZT8NCj4g Pg0KPiA+IE1vdmluZyBtZW1zZXQoKSBkb2Vzbid0IHNwZWVkIGFueXRoaW5nIHVwLCBpdCdzIGEg Zm9yY2VkIHN0ZXAgZm9yIHRoZQ0KPiByZWFzb25zIGJlbG93Lg0KPiA+IEN1cnJlbnRseSwgbWVt b3J5IGlzIGNsZWFyZWQgYnkgdGhlIGtlcm5lbCB3aGVuIGEgcGFnZSBpcyBtYXBwZWQgZHVyaW5n DQo+IGFuIGFsbG9jYXRpb24uDQo+ID4gVGhpcyBjYW5ub3QgYmUgdHVybmVkIG9mZiBpbiBzdG9j ayBrZXJuZWxzLiBUaGUgaXNzdWUgaXMgdGhhdCBpbml0aWFsDQo+ID4gYWxsb2NhdGlvbnMgYXJl IGxvbmdlciBieSB0aGUgdGltZSBuZWVkZWQgdG8gY2xlYXIgdGhlIHBhZ2VzLCB3aGljaCBpcw0K PiA+OTAlLiBGb3IgdGhlIG1lbW9yeSBpbnRlbmRlZCBmb3IgRE1BIHRoaXMgdGltZSBpcyBqdXN0 IHdhc3RlZC4gSWYNCj4gYWxsb2NhdGlvbnMgYXJlIGxhcmdlLCBhcHBsaWNhdGlvbiBzdGFydHVw IGFuZCByZXN0YXJ0IHRha2UgbG9uZy4gVGhlIG9ubHkNCj4gd2F5IHRvIGdldCBodWdlcGFnZXMg bWFwcGVkIHdpdGhvdXQgdGhlIGtlcm5lbCBjbGVhcmluZyB0aGVtIGlzIHRvIG1hcA0KPiBleGlz dGluZyBmaWxlcyBpbiBodWdldGxiZnMuIEhvd2V2ZXIsIHJ0ZV96bWFsbG9jKCkgbmVlZHMgdG8g cmV0dXJuIGNsZWFuDQo+IG1lbW9yeSwgdGhhdCdzIHdoeSB3ZSBtb3ZlIG1lbXNldCgpIHRoZXJl LiBNZW1vcnkgaW50ZW5kZWQgZm9yIERNQSBpcyBqdXN0DQo+IG5ldmVyIGNsZWFyZWQgdGhpcyB3 YXkuIEJ1dCBtZW1vcnkgZnJlZWQgYW5kIGFsbG9jYXRlZCBhZ2FpbiB3aWxsIGJlDQo+IGNsZWFy ZWQgYWdhaW4sIHVuZm9ydHVuYXRlbHkuDQo+IA0KPiBXcml0aW5nIG15IGxpbWl0ZWQgdW5kZXJz dGFuZGluZywgcGxlYXNlIGNvcnJlY3QgbWUuDQo+IA0KPiBUaGUgLS1tZW0tZmlsZSB0aGF0IGlz IHByb3Bvc2VkIGRvZXM6DQo+IC0gcHJlYWxsb2NhdGUgZmlsZXMgd2hpY2ggaXMgc29tZXRoaW5n IGNsb3NlIHRvIC0tc29ja2V0LW1lbSB3aXRoIHRoZQ0KPiBmb2xsb3dpbmcgZGlmZmVyZW5jZXMN Cj4gICAtIC0tbWVtLWZpbGUgbGV0cyB1c2VyIGRlY2lkZSBvbiBkcGRrIGh1Z2VwYWdlIGZpbGVz IG5hbWVzLCB3aGljaCBJDQo+IHRoaW5rIGNvbmZsaWN0cyB3aXRoIC0taHVnZS1kaXIgYW5kIC0t ZmlsZS1wcmVmaXgsDQo+ICAgLSAtLW1lbS1maWxlIGxldHMgdXNlciBkZXZpY2Ugb24gaHVnZXBh Z2Ugc2l6ZSB3aGljaCBJIHRoaW5rIGNvdWxkIGJlDQo+IGFjaGlldmVkIHdpdGggc29tZSAtLWh1 Z2UtZGlyIG9wdGlvbiwNCg0KVGhlIGNvbXBhcmlzb24gdG8gLS1zb2NrZXQtbWVtIGlzIHZhbGlk LCBiZWNhdXNlIHByZWFsbG9jYXRlZCBmaWxlcyBmb3JtIHRoZSBpbml0aWFsIGFtb3VudCBvZiBt ZW1vcnkgYWxsb2NhdGVkIGZyb20gdGhlIHN5c3RlbS4gSG93ZXZlciwgdXNpbmcgLS1tZW0tZmls ZSBkb2VzIG5vdCBwcmVjbHVkZSBEUERLIGZyb20gYWxsb2NhdGluZyBtb3JlIG1lbW9yeSBhY2Nv cmRpbmcgdG8gLS1odWdlLWRpciBhbmQgLS1maWxlLXByZWZpeCB3aGVuIHRoZSBhcHBsaWNhdGlv biBydW5zIG91dCBvZiBwcmVhbGxvY2F0ZWQgYmxvY2tzLg0KDQo+IC0gYnlwYXNzZXMgdW5saW5r KCkgb2YgZXhpc3RpbmcgaHVnZXBhZ2UgZmlsZXMgd2hpY2ggSSBoYWQgb3Zlcmxvb2tlZCBidXQN Cj4gaXMgdGhlIG1haW4gcGFpbnBvaW50LA0KPiAtIGVuZm9yY2VzICJjbGVhciBvbiBhbGxvYyIg aW4gcnRlX21hbGxvYy9ydGVfZnJlZS4NCj4gDQo+IA0KPiBGcm9tIHRoaXMsIEkgc2VlIHR3byBw YXJ0cyBpbiB0aGlzIHBhdGNoOg0KPiAtIGZhc3RlciByZXN0YXJ0LCByZXVzaW5nIGh1Z2VwYWdl IGZpbGVzIGFzIGlzIChjb21iaW5hdGlvbiBvZiBub3QgY2FsbGluZw0KPiB1bmxpbmsoKSBhbmQg ZG9pbmcgImNsZWFyIG9uIGFsbG9jIiksDQo+ICAgVGhpcyBwYXJ0IGlzIGludGVyZXN0aW5nLCBh bmQgSSB0aGluayBhIHNpbmdsZSBrbm9iIGZvciB0aGlzIHdvdWxkIGJlDQo+IGVub3VnaC4NCg0K SW4gY29tYmluYXRpb24gd2l0aCBydGVfZXh0bWVtKiBBUEkgdGhpcyBrbm93IHdvdWxkIGluZGVl ZCBhbGxvdyB0byBpbXBsZW1lbnQgdGhlIGZlYXR1cmUgaW4gdGhlIGFwcC4gSG93ZXZlciwgdGhl IGRyYXdiYWNrIGlzIHRoYXQgYWxsIHRoZSBsb2dpYyB0byBzZWxlY3QgaHVnZXBhZ2Ugc2l6ZSwg TlVNQSwgYW5kIG5hbWVzIHdvdWxkIG5lZWQgdG8gYmUgZG9uZSBmcm9tIHRoZSBhcHAsIHByb2Jh Ymx5IHdpdGggaXRzIG93biBvcHRpb25zLiBPVE9ILCB0aGVyZSBpcyBhbHJlYWR5IGh1Z2V0bGJm cyBhbmQgbnVtYWN0bCB0byBhdm9pZCBhcHBzIGR1cGxpY2F0aW5nIHRoaXMgbG9naWMuIEFsc28s IGl0J3Mgbm90IG9ubHkgdGhlIGZhc3QgcmVzdGFydCwgYnV0IGFsc28gdGhlIGZhc3QgaW5pdGlh bCBzdGFydCBvbiBhIHByZXBhcmVkIHN5c3RlbS4NCg0KPiAtIGZpbmVncmFpbmVkIGNvbnRyb2wg b2YgaHVnZXBhZ2UgZmlsZXMsIGJ1dCBpdCBoYXMgdGhlIGRyYXdiYWNrIG9mDQo+IGltcG9zaW5n IHByaW1hcnkvc2Vjb25kYXJ5IHJ1biB3aXRoIHRoZSBzYW1lIG9wdGlvbnMuDQo+ICAgVGhlIHNl Y29uZCBwYXJ0IHNlZW1zIGNvbXBsZXggdG8gY29uZmlndXJlLiBJIHNlZSBjb25mbGljdHMgd2l0 aA0KPiBleGlzdGluZyBvcHRpb25zLCBzbyBpdCBzZWVtcyBhIGdvb2Qgd2F5IHRvIGdldCBjYXVn aHQgdXAgaW4gdGhlIGNhcnBldA0KPiAoc29ycnkgaWYgaXQgdHJhbnNsYXRlcyBiYWRseSBmcm9t IEZyZW5jaCA6cCkuDQoNCkkgZG9uJ3Qgc2VlIHdoeSBzeW5jaHJvbml6aW5nIG1lbW9yeSBvcHRp b25zIGlzIGEgYmlnIGlzc3VlLg0KUHJpbWFyeSBhbmQgc2Vjb25kYXJ5IHByb2Nlc3NlcyBhcmUg aW5oZXJlbnRseSBpbnRlcmRlcGVuZGVudC4NCg==