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 A121FA056A; Fri, 6 Mar 2020 08:27:40 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E9E6B1BFCD; Fri, 6 Mar 2020 08:27:39 +0100 (CET) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80043.outbound.protection.outlook.com [40.107.8.43]) by dpdk.org (Postfix) with ESMTP id EDFC21BFBB for ; Fri, 6 Mar 2020 08:27:37 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=b9Qz+U2L1kMbh4l5OLLBen67fH5ogSpHsF5tBw+uqeakWmCdU9Rmd38y3m3ZdI80vmiN2PqWrluabF/uWB5YzTwIJfcr3U5fZZk2y82lCxV4oUFTp3qUaNaPuqPBqGLYzlOcEH9pGAqtNjvwWOU11zChDrwOchQXHWDSZh0wr8PIf5TLWK7FmX/zuleNX+1e4aoIilb4Xq89XfIY+OccwYOQbdoyN4NUWOCofplou60RknNMdNjsST6m9LJP5GSQ8yxvUWXQDu2Jf/RQiB03YrhhUAj2BHETrTMNEpq+Cx0KS+N7o/TMZgaxzPUPIKB1GRcFIXcR0UGIjYM1uL4ZRA== 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=MR2XARObgYYAJSCvv4xffpQc+ehoNhT+VFaCl0W9EIo=; b=Vw+vkO+ENrYcSBPabdkVqfx8J39euo1M1bWOzH+x7nhDnB2413UQSNn6d/OHkFwshvJwUArG4qJYHcvmJ1F4P03ljfWMqYE46ntuZ/rQcb7/YDOvr48uIj3cNsbzLXWkLvqBWo4FRoaaVad0ETXxenBzBtjO1a30Rwl6WoOaBgYv9rRLFfnaWpRmEGwIXpzUiJasP2tOjowQfmnmZCt7POROLz2ROEq5V8jS5fpBCO9utoAT+Q22u8uZ1WgcHVlW2FGzTRF1vQDm7mb12PoxcHoF2Lg9qWNbxgw0WvfpUIlLnqsabbLebNcfPhESXNQ1MBsruf1JP6zUmumDsqNZpQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MR2XARObgYYAJSCvv4xffpQc+ehoNhT+VFaCl0W9EIo=; b=hDFI/uR1clQ/qKcut8hQEbZ8WwLiMfKOJetErmi7CPtGezPYxjOf6DhiVSZX/9V7QpZwS7nXUmqIKgZwKdnFaXfuN6sNtPTwknC6momcZ2lDztXfQ2g3a4pYsPtIX0pnopA/trRCrXfer5AOzoyvPVxJtMPyMGpv84DIC6JJdjI= Received: from HE1PR05MB3484.eurprd05.prod.outlook.com (10.170.246.12) by HE1PR05MB3449.eurprd05.prod.outlook.com (10.170.248.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2772.18; Fri, 6 Mar 2020 07:27:34 +0000 Received: from HE1PR05MB3484.eurprd05.prod.outlook.com ([fe80::540c:c9ae:282d:eaa7]) by HE1PR05MB3484.eurprd05.prod.outlook.com ([fe80::540c:c9ae:282d:eaa7%4]) with mapi id 15.20.2772.019; Fri, 6 Mar 2020 07:27:34 +0000 From: Suanming Mou To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , Olivier Matz , "Xueming(Steven) Li" CC: Andrew Rybchenko , "dev@dpdk.org" , Asaf Penso , Ori Kam Thread-Topic: [dpdk-dev] [RFC] mempool: introduce indexed memory pool Thread-Index: AQHV8tO/4bpjqjl3aEaVZLVWaOioBag7IKmg Date: Fri, 6 Mar 2020 07:27:34 +0000 Message-ID: References: <1571295301-25911-1-git-send-email-xuemingl@mellanox.com> <20191226110556.GD22738@platinum> <0e111b44-cccf-43c7-438f-e3e461e7c49d@mellanox.com> <98CBD80474FA8B44BF855DF32C47DC35C60E80@smartserver.smartshare.dk> In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35C60E80@smartserver.smartshare.dk> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=suanmingm@mellanox.com; x-originating-ip: [218.74.52.87] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 2784b752-025f-4dd8-50a3-08d7c19fd6e4 x-ms-traffictypediagnostic: HE1PR05MB3449:|HE1PR05MB3449: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-forefront-prvs: 0334223192 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(396003)(39860400002)(366004)(136003)(346002)(376002)(199004)(189003)(76116006)(55016002)(107886003)(316002)(9686003)(7696005)(478600001)(6636002)(4326008)(54906003)(8936002)(26005)(81156014)(33656002)(110136005)(81166006)(6506007)(8676002)(186003)(53546011)(2906002)(5660300002)(86362001)(66574012)(52536014)(66476007)(71200400001)(66446008)(64756008)(66556008)(66946007)(21314003); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR05MB3449; H:HE1PR05MB3484.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: dncPihoJWtolRKCGVLnQeduWXftPrtrTv2DvQRBAn17/qLOO917g9JMRBU7JSXPMVbxDFbuD/WK5QLECoVriGS40E1DQmnwjDFZzuJTogI4bFdr5ylIS+kw4nBupf90N1lq7WLSWOupjrmA+7bxV23t4kj0Fb/q9uMNkK3/P+DfB5kyYNi+q0Wxv6CXPhpucwejxMqCo70l1r4DGeJEDPWjAhI2E1VKFkYvaeGRO6M5wQq23VsE51bRtPAnZ4te0yza5NAV3+qk1hhXWQke2zWbjudc7aCL5/5QRMAn/o4jw5UsIJTwLT6NmErnoZ1RkKgEB7Owc4dSv7Jn4QY6gECcuxnIaiwVrRks5hJavT7f8n1Obaj+U1YRN0EutzEtrdW4awH++yRYggHTJ4RbowY30Dk0OzJiSvf/HfOCE6twwxXUXTjfhakdK9rGzqW37PP8zAvUFZ2sEFhsDv2D1ZUP8BiBh8IJzNprwvZRZVGAVHMvMkT9ASpDGEOc6I+iZ x-ms-exchange-antispam-messagedata: bBc2pc6SvEB7hyIs2UZwx+xTiNdcdhxRWD3ObCMvTkAkmjswLwCi8kSGiOrH5bK9VEezXd3Y2BEnuQ+sNWJEnkc60dqoNi0a4+vG1Fgl5Z6MnlRvrPeNCVBtUBNbNeacLzhtffCajtPbZKwIlMxVpw== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2784b752-025f-4dd8-50a3-08d7c19fd6e4 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Mar 2020 07:27:34.5012 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 5EHrxjhEjgEgmDdqmmdDm5HcYxV9v1gvjtCXG2pguOgEnCYd4co6l8YD/j5ASOSxO6knOpIv8IssCNCIJezR8g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR05MB3449 Subject: Re: [dpdk-dev] [RFC] mempool: introduce indexed memory pool 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" SGkgTW9ydGVuLA0KDQpUaGFua3MgZm9yIHRoZSBjb21tZW50cy4NCg0KPiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNb3J0ZW4gQnLDuHJ1cCA8bWJAc21hcnRzaGFyZXN5c3Rl bXMuY29tPg0KPiBTZW50OiBUaHVyc2RheSwgTWFyY2ggNSwgMjAyMCA1OjUyIFBNDQo+IFRvOiBT dWFubWluZyBNb3UgPHN1YW5taW5nbUBtZWxsYW5veC5jb20+OyBPbGl2aWVyIE1hdHoNCj4gPG9s aXZpZXIubWF0ekA2d2luZC5jb20+OyBYdWVtaW5nKFN0ZXZlbikgTGkgPHh1ZW1pbmdsQG1lbGxh bm94LmNvbT4NCj4gQ2M6IEFuZHJldyBSeWJjaGVua28gPGFyeWJjaGVua29Ac29sYXJmbGFyZS5j b20+OyBkZXZAZHBkay5vcmc7IEFzYWYNCj4gUGVuc28gPGFzYWZwQG1lbGxhbm94LmNvbT47IE9y aSBLYW0gPG9yaWthQG1lbGxhbm94LmNvbT4NCj4gU3ViamVjdDogUkU6IFtkcGRrLWRldl0gW1JG Q10gbWVtcG9vbDogaW50cm9kdWNlIGluZGV4ZWQgbWVtb3J5IHBvb2wNCj4gDQo+ID4gRnJvbTog ZGV2IFttYWlsdG86ZGV2LWJvdW5jZXNAZHBkay5vcmddIE9uIEJlaGFsZiBPZiBTdWFubWluZyBN b3UgT24NCj4gPiAxMi8yNi8yMDE5IDc6MDUgUE0sIE9saXZpZXIgTWF0eiB3cm90ZToNCj4gPiA+ IE9uIFRodSwgT2N0IDE3LCAyMDE5IGF0IDA2OjU1OjAxQU0gKzAwMDAsIFh1ZW1pbmcgTGkgd3Jv dGU6DQo+ID4gPj4gSW5kZXhlZCBtZW1vcnkgcG9vbCBtYW5hZ2VzIG1lbW9yeSBlbnRyaWVzIGJ5 IGluZGV4LCBhbGxvY2F0aW9uDQo+ID4gPj4gZnJvbSBwb29sIHJldHVybnMgYm90aCBtZW1vcnkg cG9pbnRlciBhbmQgaW5kZXgoSUQpLiB1c2VycyBzYXZlIElEDQo+ID4gPj4gYXMgdTMyIG9yIGxl c3ModTE2KSBpbnN0ZWFkIG9mIHRyYWRpdGlvbmFsIDggYnl0ZXMgcG9pbnRlci4gTWVtb3J5DQo+ ID4gPj4gY291bGQgYmUgcmV0cmlldmVkIGZyb20gcG9vbCBvciByZXR1cm5lZCB0byBwb29sIGxh dGVyIGJ5IGluZGV4Lg0KPiA+ID4+DQo+ID4gPj4gUG9vbCBhbGxvY2F0ZXMgYmFja2VuZCBtZW1v cnkgaW4gY2h1bmsgb24gZGVtYW5kLCBwb29sIHNpemUgZ3Jvd3MNCj4gPiA+PiBkeW5hbWljYWxs eS4gQml0bWFwIGlzIHVzZWQgdG8gdHJhY2sgZW50cnkgdXNhZ2UgaW4gY2h1bmssIHRodXMNCj4g PiA+PiBtYW5hZ2VtZW50IG92ZXJoZWFkIGlzIG9uZSBiaXQgcGVyIGVudHJ5Lg0KPiA+ID4+DQo+ ID4gPj4gU3RhbmRhcmQgcnRlX21hbGxvYyBkZW1hbmRzIG1hbGxvYyBvdmVyaGVhZCg2NEIpIGFu ZCBtaW5pbWFsIGRhdGENCj4gPiA+PiBzaXplKDY0QikuIFRoaXMgcG9vbCBhaW1zIHRvIHN1Y2gg Y29zdCBzYXZpbmcgYWxzbyBwb2ludGVyIHNpemUuDQo+ID4gPj4gRm9yIHNjZW5hcmlvIGxpa2Ug Y3JlYXRpbmcgbWlsbGlvbnMgb2YgcnRlX2Zsb3dzIGVhY2ggY29uc2lzdHMgb2YNCj4gPiA+PiBz bWFsbCBwaWVjZXMgb2YgbWVtb3JpZXMsIHRoZSBkaWZmZXJlbmNlIGlzIGh1Z2UuDQo+ID4gPj4N Cj4gPiA+PiBMaWtlIHN0YW5kYXJkIG1lbW9yeSBwb29sLCB0aGlzIGxpZ2h0d2VpZ2h0IHBvb2wg b25seSBzdXBwb3J0IGZpeGVkDQo+ID4gPj4gc2l6ZSBtZW1vcnkgYWxsb2NhdGlvbi4gUG9vbHMg c2hvdWxkIGJlIGNyZWF0ZWQgZm9yIGVhY2ggZGlmZmVyZW50DQo+ID4gPj4gc2l6ZS4NCj4gPiA+ Pg0KPiA+ID4+IFRvIGZhY2lsaXRhdGUgbWVtb3J5IGFsbG9jYXRlZCBieSBpbmRleCwgYSBzZXQg b2YgSUxJU1RfWFhYIG1hY3JvDQo+ID4gPj4gZGVmaW5lZCB0byBvcGVyYXRlIGVudHJpZXMgYXMg cmVndWxhciBMSVNULg0KPiA+ID4+DQo+ID4gPj4gQnkgc2V0dGluZyBlbnRyeSBzaXplIHRvIHpl cm8sIHBvb2wgY2FuIGJlIHVzZWQgYXMgSUQgZ2VuZXJhdG9yLg0KPiA+ID4+DQo+ID4gPj4gU2ln bmVkLW9mZi1ieTogWHVlbWluZyBMaSA8eHVlbWluZ2xAbWVsbGFub3guY29tPg0KPiANCj4gU28s IHlvdSBoYXZlIGEgdXNlIGNhc2Ugd2hlcmUgNjQgYml0IHBvaW50ZXJzIHVzZSB0b28gbXVjaCBt ZW1vcnksIGFuZCB5b3UNCj4gd2FudCB0byBvcHRpbWl6ZSBmb3IgbWVtb3J5IGF0IHRoZSBjb3N0 IG9mIHBlcmZvcm1hbmNlIGJ5IHVzaW5nIDE2LCAyNCBvciAzMg0KPiBiaXQgcmVmZXJlbmNlcyBp bnN0ZWFkLiBBIGxvdCBvZiBjb21waWxlcnMgaGF2ZSBhbiBvcHRpb24gdG8gZG8gdGhpcywgc28g dGhpcyBpcw0KPiBnZW5lcmFsbHkgYSB2YWxpZCBvcHRpbWl6YXRpb24gZnJvbSBhIGhpZ2ggbGV2 ZWwgcG9pbnQgb2Ygdmlldy4NCj4gDQo+IEkgbGlrZSB0aGUgZ2VuZXJhbCBjb25jZXB0LCBzbyBJ IGhhdmUgYSBmZXcgaGlnaCBsZXZlbCBjb21tZW50cyB0byB0aGUgUkZDOg0KPiANCj4gWW91ciBB UEkgc2hvdWxkIHNlcGFyYXRlIHBvb2wgY3JlYXRpb24gZnJvbSBlbGVtZW50IGFsbG9jYXRpb24s IGkuZS4gZGVmaW5lIG9uZQ0KPiBmdW5jdGlvbiB0byBjcmVhdGUgYSBwb29sIGFuZCBzZXQgdGhl IGVsZW1lbnQgc2l6ZSBvZiB0aGF0IHBvb2wsIGFuZCBkZWZpbmUgb3RoZXINCj4gZnVuY3Rpb25z IHRvIGFsbG9jYXRlIChnZXQpIGFuZCBmcmVlIChwdXQpIGVsZW1lbnRzIGluIGEgcG9vbC4NCj4g DQo+IEZ1cnRoZXJtb3JlLCB5b3VyIGltcGxlbWVudGF0aW9uIHRha2VzIGEgbG9jayB3aGVuIHJl ZmVyZW5jaW5nIGFuIGVsZW1lbnQuDQo+IERlcmVmZXJlbmNpbmcgYW4gZWxlbWVudCBieSBpdHMg aW5kZXggc2hvdWxkIGJlIG9wdGltaXplZCBmb3Igc3BlZWQsIGFuZCBzaG91bGQNCj4gYmUgbG9j a2xlc3MuIFJlbWVtYmVyOiBEUERLIGlzIGEgZGF0YSBwbGFuZSBkZXZlbG9wbWVudCBraXQsIG5v dCBhIGNvbnRyb2wNCj4gcGxhbmUgZGV2ZWxvcG1lbnQga2l0Lg0KDQpBZ3JlZSB3aXRoIHRoYXQs IGhvd2V2ZXIsIHRoaXMgaXMgdXNlZCBmb3IgY29udHJvbCBwbGFuZS4gQW5kIHRoZXJlIGlzIGFs cmVhZHkgYSBsb2NrIG5lZWQgb3B0aW9uIGZvciB1c2VyIHRvIGNvbmZpZ3VyZS4NCkl0IHNlZW1z IHRoZSB2MSBSRkMgbWlzc2VzIHNvbWUgY29kZSB3aGljaCB3aWxsIGZyZWUgdGhlIHBvb2wgdHJ1 bmsgbWVtb3J5IG9uY2UgdGhlIHRydW5rIGlzIHRvdGFsbHkgbm90IHVzZWQgYW55bW9yZS4NCklu IHRoaXMgY2FzZSwgbG9jayBpcyByZXF1aXJlZCB3aXRoIG11bHRpcGxlIHRocmVhZHMgYXMgdHJ1 bmsgbWVtb3J5IG1heWJlIGZyZWVkLg0KIA0KPiANCj4gQWxzbyBjb25zaWRlciBwcm92aWRpbmcg ZnVuY3Rpb25zIHRvIGFsbG9jYXRlL2ZyZWUgY29uc2VjdXRpdmUgYXJyYXlzIG9mDQo+IGVsZW1l bnRzLCBzbyB0aGV5IGNhbiBiZSBkZXJlZmVyZW5jZWQgZXZlbiBmYXN0ZXIgYmVjYXVzZSBvbmx5 IHRoZSBhZGRyZXNzIG9mDQo+IHRoZSBmaXJzdCBlbGVtZW50IGluIHRoZSBhcnJheSBuZWVkcyB0 byBiZSBsb29rZWQgdXAgdGhyb3VnaCB5b3VyIGxpYnJhcnkuDQo+IEFsdGVybmF0aXZlbHksIHBy b3ZpZGUgYSBmdW5jdGlvbiBmb3IgYnVsayBkZXJlZmVyZW5jaW5nLiBJIGRvbid0IGtub3cgaWYg dGhlcmUgaXMgYQ0KPiB1c2UgY2FzZSBmb3IgdGhpcy4uLiBqdXN0IG1lbnRpb25pbmcgaXQuIEFu ZCBpZiB0aGUgbGlicmFyeSdzIGRlcmVmZXJlbmNpbmcgZnVuY3Rpb24NCj4gaXMgZmFzdCBlbm91 Z2gsIHRoaXMgYmVjb21lcyBsZXNzIHJlbGV2YW50Lg0KDQpDdXJyZW50bHksIGl0IGlzIG5vdCBu ZWVkZWQuIEJ1dCBvbmNlIGltcGxlbWVudGVkIGFzIE1lbXBvb2wgZGV2aWNlIGRyaXZlciwgaXQg d2lsbCBiZSBzdXBwb3J0ZWQuDQoNCj4gDQo+IFRoaXMgbGlicmFyeSB3aWxsIGJlIHVzZWQgZm9y IHdlbGwgZGVmaW5lZCBzdHJ1Y3R1cmVzLCBzbyB0aGUgbGlicmFyeSBzaG91bGQNCj4gcmVzZW1i bGUgdGhlIE1lbXBvb2wgbGlicmFyeSAoZm9yIGZpeGVkIHNpemUgZWxlbWVudCBhbGxvY2F0aW9u cykgbW9yZSB0aGFuIHRoZQ0KPiBNYWxsb2MgbGlicmFyeSAoZm9yIHZhcmlhYmxlIHNpemUgYWxs b2NhdGlvbnMpLg0KPiANCj4gWW91IGNhbiBjb25zaWRlciBjb3B5aW5nIHRoZSBNZW1wb29sIEFQ SSwgYnV0IHJldHVybmluZyBpbmRleGVzIGluc3RlYWQgb2YNCj4gcG9pbnRlcnMuDQo+IA0KPiBZ b3Ugc2hvdWxkIGFsc28gY29uc2lkZXIgYnVpbGRpbmcgeW91ciBpbXBsZW1lbnRhdGlvbiBvbiB0 b3Agb2YgdGhlIE1lbXBvb2wNCj4gbGlicmFyeSwgbGlrZSB0aGUgTWJ1ZiBsaWJyYXJ5IGRvZXMu IFRoaXMgd2lsbCBnaXZlIHlvdSBwZXItbGNvcmUgY2FjaGluZyBhbmQgb3RoZXINCj4gYmVuZWZp dHMgYWxyZWFkeSBwcm92aWRlZCBieSB0aGUgTWVtcG9vbCBsaWJyYXJ5Lg0KDQpTdGVwIGJ5IHN0 ZXAsIHRoZSBvbiB0b3Agb2YgTWVtcG9vbCBpbXBsZW1lbnRhdGlvbiB3aWxsIGRlcGVuZCBvbiB0 aGUgIHJlcXVpcmVtZW50Lg0KDQo+IA0KPiANCj4gRmluYWxseSwgYSBzbWFsbCBkZXRhaWw6IFRo ZSBtYWNyb3MgZm9yIHVzaW5nIHlvdXIgaW5kZXhlZCBtZW1wb29sIGVsZW1lbnRzIGluIGENCj4g bGlua2VkIGxpc3Qgc2hvdWxkIG5vdCBiZSBwYXJ0IG9mIHRoZSBsaWJyYXJ5IGl0c2VsZi4gVGhl eSBzaG91bGQgYmUgcGxhY2VkIGluIGENCj4gc2VwYXJhdGUgbGlicmFyeSwgc28gc2ltaWxhciBt YWNyb3MvZnVuY3Rpb25zIGZvciB1c2luZyBpbmRleGVkIG1lbXBvb2wNCj4gZWxlbWVudHMgaW4g b3RoZXIgc3RydWN0dXJlcyAoaGFzaGVzLCBxdWV1ZXMsIGV0Yy4pIGNhbiBhbHNvIGJlIGFkZGVk IGFzDQo+IHNlcGFyYXRlIGxpYnJhcmllcyBhdCBhIGxhdGVyIHRpbWUuDQoNCkdvb2Qgc3VnZ2Vz dGlvbi4NCg0KPiANCj4gDQo+IE1lZCB2ZW5saWcgaGlsc2VuIC8ga2luZCByZWdhcmRzDQo+IC0g TW9ydGVuIEJyw7hydXANCg==