From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30045.outbound.protection.outlook.com [40.107.3.45]) by dpdk.org (Postfix) with ESMTP id 7B126160; Mon, 8 Oct 2018 11:22:08 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oiKYFr/fWTvrfCJfgp258RYzJKRAb4pa2v+v7aioGkA=; b=ZkUFd+RqseI3cCq4KTBbQl2gFD/GrrEw41BokrKiZr4INg8PJV9NghD/yWEt2l3p2tmVL0cugk6MKp/OPu8Wq8dGkrxko4ZKL7srnr1zcV11UbdGMNiey20n7ftAB13KOlSvjMih2TUrxQ32JbnuPe0Zh2/eNNNco74pVGo72M8= Received: from HE1PR0801MB2076.eurprd08.prod.outlook.com (10.168.95.140) by HE1PR0801MB1913.eurprd08.prod.outlook.com (10.168.94.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1207.26; Mon, 8 Oct 2018 09:22:05 +0000 Received: from HE1PR0801MB2076.eurprd08.prod.outlook.com ([fe80::c84:eee7:43bf:9f20]) by HE1PR0801MB2076.eurprd08.prod.outlook.com ([fe80::c84:eee7:43bf:9f20%11]) with mapi id 15.20.1207.024; Mon, 8 Oct 2018 09:22:05 +0000 From: Ola Liljedahl To: Jerin Jacob CC: "dev@dpdk.org" , Honnappa Nagarahalli , "Ananyev, Konstantin" , "Gavin Hu (Arm Technology China)" , Steve Capper , nd , "stable@dpdk.org" Thread-Topic: [PATCH v3 1/3] ring: read tail using atomic load Thread-Index: AQHUTl7o9KT3/H6K10G5NrmKOHANTqUHJ0+AgAjF7gCAAH79gIAAUg2AgAAF3wCAAAI9gIAAGFMAgAAgVICAADHKgIAAAE+AgAAkl4D//+HIgIAAIteAgACY7ICAAOuGgIAAaawAgAE5hICAAHtkgIAAWCoA Date: Mon, 8 Oct 2018 09:22:05 +0000 Message-ID: <063A95EC-CFC1-42F7-B864-DFB9C6718AC8@arm.com> References: <20181005170725.GA18671@jerin> <1555626C-F2B8-44EB-98A3-79B1F7002587@arm.com> <60055965-A7C8-4E9F-8668-0AE1DCE57515@arm.com> <20181006074126.GA16715@jerin> <20181007040243.GA1850@jerin> <7A156041-23EC-4CCB-B129-3607AF34A992@arm.com> <20181008060629.GA5228@jerin> In-Reply-To: <20181008060629.GA5228@jerin> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/10.11.0.180909 authentication-results: spf=none (sender IP is ) smtp.mailfrom=Ola.Liljedahl@arm.com; x-originating-ip: [217.140.96.140] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; HE1PR0801MB1913; 6:T41XU9BknvCWGNmd2LJWXVEZP6+NkZjtHfYKXdPhOASCln/p9M3Qb5gDfQoSiYw1SOQz+Z8y9g54lsngBB7W5t5amtfZaFpM8eJwyyq0ZUB7vkQ5RJ88GfMrsC1qMIaHb2FYIrah9hA9rZsyYx4MSvVOiyCRWKO7I1DO/j0rWA7jXGcW4Bzvm9x4mtn0kkLAXjBVIdl6XlpK2KtgdiUcwhq9UHomSTTu8O+tyofRLK3akk2q6u9rVRT1gzR3O98hPQEPXEVO/xX5py8TMyGz8jFpvJi6LqhDwb5okwaFEGLQPOZnK2xSZ8XYc8KybHqkKjrMxNjJKQzwSWjBD8iS+I3sB9DQEJDwuY+nAbbBhjDrOV08HuODsfgnC5OxETEPiIddo8YpuQdq7kHFrkTEjDF9fgke6PpT4BZDJapgY5GJ9jTft8xA07VgOfPStdT1WEK9T60dqJFfkG1Ie+fz4Q==; 5:PEQaqSqT3xgM1kwN04HRPXLzLDlk9iDUT8PZsOM6WttbBNKnqw/G6RWWQP3YAUh4WwGYbqTwFO5Bpj+4RSG8NbzWAX1mCX8c67UZDN5k2aZClVr1XLI51nivdR99eZHHEt4g6hV8B3EOQUGoVcBtW9MoX2Kjl3hfes0kqIRERrc=; 7:RnfX8uvBCcF24aqYZ2BWOITCF4lMQllMY0Bb0iXO3lhs8CpPpsDsH6sIQmMgu+2glE8MqNMeO5FxixMFOOH/6hjCSSDWqGICjB85U3T2FrSkKXJ9a2ZXOz6+bOfbUFlU2alBnrZyyu5Xpeeehsvy02CBOhhCfzyFMrS/Va1vO2GSXn6bUK+PS/EOFdp7mRBrz7PXzcKpQ3+mLlFIXpTMCEV2qXs5nNIDSd8RF8vuJCQbCnnd/0QlRkq/PX3/lhtk x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR; x-ms-office365-filtering-correlation-id: dbb89494-6e0b-4c31-a7dc-08d62cff83a3 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:HE1PR0801MB1913; x-ms-traffictypediagnostic: HE1PR0801MB1913: nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(166708455590820)(180628864354917)(228905959029699); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(3231355)(944501410)(52105095)(10201501046)(93006095)(93001095)(6055026)(149066)(150057)(6041310)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123564045)(201708071742011)(7699051); SRVR:HE1PR0801MB1913; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0801MB1913; x-forefront-prvs: 081904387B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(366004)(396003)(346002)(39860400002)(136003)(13464003)(199004)(189003)(58126008)(6306002)(2906002)(446003)(54906003)(53936002)(305945005)(93886005)(5250100002)(102836004)(7736002)(6512007)(486006)(6436002)(2616005)(6486002)(97736004)(2900100001)(8676002)(316002)(81156014)(81166006)(83716004)(186003)(11346002)(71200400001)(19627235002)(71190400001)(229853002)(6116002)(476003)(3846002)(5660300001)(86362001)(8936002)(26005)(68736007)(14454004)(966005)(33656002)(45080400002)(36756003)(72206003)(6916009)(478600001)(6506007)(53546011)(4326008)(6246003)(82746002)(25786009)(66066001)(106356001)(105586002)(99286004)(76176011)(14444005)(256004); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0801MB1913; H:HE1PR0801MB2076.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-microsoft-antispam-message-info: DLqo7q/OP3QdoetLPe9yjJsu8TK992EbgBZ7BMQVNvzhPJNrXOMsiRXTm5opkGm6a5DwJELn28OcMrDEBIuPRdZJLBLgvOTtUxvyfUonagaI9yWsNU6y3pdfi8xkyjJeFLgWAkj2XUVzSQbLneWOtbj0uvOqGGXX+x+YR5J+0pUkYxFJi/fwI/XmzWIOVeHQoqbmrboM6MMJHP/u2kAyK7bdVWAbl9mx8CE6aNz7/xAhdN1ms38Ua1AgMrF39dLm2kcLfFbw3DAzThXU9lTuj4VTPro3fqEEKdLxyXFaIJSRDD0B5W6QAzv9sKGDw8Po9DThYsZSilHXgyjpojoqH/JkgudHQzYQ5Fnhtywy7c0= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: <4C36FF6D7E39E2448BDB92DA5EF8EB66@eurprd08.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: dbb89494-6e0b-4c31-a7dc-08d62cff83a3 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Oct 2018 09:22:05.3945 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1913 Subject: Re: [dpdk-dev] [PATCH v3 1/3] ring: read tail using atomic load 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: , X-List-Received-Date: Mon, 08 Oct 2018 09:22:08 -0000 T24gMDgvMTAvMjAxOCwgMDg6MDYsICJKZXJpbiBKYWNvYiIgPGplcmluLmphY29iQGNhdml1bW5l dHdvcmtzLmNvbT4gd3JvdGU6DQoNCiAgICAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KICAg ID4gRGF0ZTogU3VuLCA3IE9jdCAyMDE4IDIwOjQ0OjU0ICswMDAwDQogICAgPiBGcm9tOiBPbGEg TGlsamVkYWhsIDxPbGEuTGlsamVkYWhsQGFybS5jb20+DQogICAgPiBUbzogSmVyaW4gSmFjb2Ig PGplcmluLmphY29iQGNhdml1bW5ldHdvcmtzLmNvbT4NCiAgICA+IENDOiAiZGV2QGRwZGsub3Jn IiA8ZGV2QGRwZGsub3JnPiwgSG9ubmFwcGEgTmFnYXJhaGFsbGkNCiAgICA+ICA8SG9ubmFwcGEu TmFnYXJhaGFsbGlAYXJtLmNvbT4sICJBbmFueWV2LCBLb25zdGFudGluIg0KICAgID4gIDxrb25z dGFudGluLmFuYW55ZXZAaW50ZWwuY29tPiwgIkdhdmluIEh1IChBcm0gVGVjaG5vbG9neSBDaGlu YSkiDQogICAgPiAgPEdhdmluLkh1QGFybS5jb20+LCBTdGV2ZSBDYXBwZXIgPFN0ZXZlLkNhcHBl ckBhcm0uY29tPiwgbmQgPG5kQGFybS5jb20+LA0KICAgID4gICJzdGFibGVAZHBkay5vcmciIDxz dGFibGVAZHBkay5vcmc+DQogICAgPiBTdWJqZWN0OiBSZTogW1BBVENIIHYzIDEvM10gcmluZzog cmVhZCB0YWlsIHVzaW5nIGF0b21pYyBsb2FkDQogICAgPiB1c2VyLWFnZW50OiBNaWNyb3NvZnQt TWFjT3V0bG9vay8xMC4xMS4wLjE4MDkwOQ0KICAgID4gDQogICAgDQogICAgDQogICAgQ291bGQg eW91IHBsZWFzZSBmaXggdGhlIGVtYWlsIGNsaWVudCBmb3IgaW5saW5lIHJlcGx5Lg0KU29ycnkg dGhhdCBkb2Vzbid0IHNlZW0gdG8gYmUgcG9zc2libGUgd2l0aCBPdXRsb29rIGZvciBNYWMgMTYg b3IgT2ZmaWNlMzY1LiBUaGUgb2ZmaWNpYWwgT2ZmaWNlMzY1L091dGxvb2sNCmRvY3VtZW50YXRp b24gZG9lc24ndCBtYXRjaCB0aGUgYWN0dWFsIHVzZXIgaW50ZXJmYWNlLi4uDQoNCg0KICAgIA0K ICAgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvZG9jL2h0bWwvdjQuMTktcmM3L3Byb2Nlc3MvZW1h aWwtY2xpZW50cy5odG1sDQogICAgDQogICAgDQogICAgPiANCiAgICA+IE9uIDA3LzEwLzIwMTgs IDA2OjAzLCAiSmVyaW4gSmFjb2IiIDxqZXJpbi5qYWNvYkBjYXZpdW1uZXR3b3Jrcy5jb20+IHdy b3RlOg0KICAgID4gDQogICAgPiAgICAgSW4gYXJtNjQgY2FzZSwgaXQgd2lsbCBoYXZlIEFUT01J Q19SRUxBWEVEIGZvbGxvd2VkIGJ5IGFzbSB2b2xhdGlsZSAoIiI6OjoibWVtb3J5Iikgb2YgcnRl X3BhdXNlKCkuDQogICAgPiAgICAgSSB3b3VsZCBuJ3QgaGF2ZSBhbnkgaXNzdWUsIGlmIHRoZSBn ZW5lcmF0ZWQgY29kZSBjb2RlIGlzIHNhbWUgb3IgYmV0dGVyIHRoYW4gdGhlIGV4aXRpbmcgY2Fz ZS4gYnV0IGl0IG5vdCB0aGUgY2FzZSwgUmlnaHQ/DQogICAgPiBUaGUgZXhpc3RpbmcgY2FzZSBp cyBhY3R1YWxseSBub3QgaW50ZXJlc3RpbmcgKElNTykgYXMgaXQgZXhwb3NlcyB1bmRlZmluZWQg YmVoYXZpb3VyIHdoaWNoIGFsbG93cyB0aGUgY29tcGlsZXIgdG8gZG8gYW55dGhpbmcuIEJ1dCB5 b3Ugc2VlbSB0byBiZSBzYXRpc2ZpZWQgd2l0aCAid29ya3MgZm9yIG1lLCByaWdodCBoZXJlIHJp Z2h0IG5vdyIuIEkgdGhpbmsgdGhlIGNvc3Qgb2YgYXZvaWRpbmcgdW5kZWZpbmVkIGJlaGF2aW91 ciBpcyBhY2NlcHRhYmxlIChhY3R1YWxseSBJIGRvbid0IHRoaW5rIGl0IGV2ZW4gd2lsbCBiZSBu b3RpY2VhYmxlKS4NCiAgICANCiAgICBJIGFtIG5vdCBjb252aW5jZWQgYmVjYXVzZSBvZiB1c2Ug b2Ygdm9sYXRpbGUgaW4gaGVhZCBhbmQgdGFpbCBpbmRleGVzLg0KICAgIEZvciBtZSB0aGF0IGJy aW5ncyB0aGUgZGVmaW5lZCBiZWhhdmlvci4NCkFzIGxvbmcgYXMgeW91IGRvbid0IG1peCBpbiBD MTEgYXRvbWljIGFjY2Vzc2VzIChqdXN0IHVzZSAicGxhaW4iIGFjY2Vzc2VzIHRvIHZvbGF0aWxl IG9iamVjdHMpLA0KaXQgaXMgQUZBSUsgZGVmaW5lZCBiZWhhdmlvdXIgKGJ1dCBub3QgbmVjZXNz YXJpbHkgdXNpbmcgYXRvbWljIGxvYWRzIGFuZCBzdG9yZXMpLiBCdXQgSSBxdW90ZWQNCnRoZSBD MTEgc3BlYyB3aGVyZSBpdCBleHBsaWNpdGx5IG1lbnRpb25zIHRoYXQgbWl4aW5nIGF0b21pYyBh bmQgbm9uLWF0b21pYyBhY2Nlc3NlcyB0byB0aGUgc2FtZQ0Kb2JqZWN0IGlzIHVuZGVmaW5lZCBi ZWhhdmlvdXIuIERvbid0IGFyZ3VlIHdpdGggbWUsIGFyZ3VlIHdpdGggdGhlIEMxMSBzcGVjLg0K SWYgeW91IHdhbnQgdG8gZGlzb2JleSB0aGUgc3BlYywgdGhpcyBzaG91bGQgYXQgbGVhc3QgYmUg Y2FsbGVkIG91dCBmb3IgaW4gdGhlIGNvZGUgd2l0aCBhIGNvbW1lbnQuDQoNCg0KICAgIFRoYXQg dGhlIHJlYXNvbiB3aHkgSSBzaGFyZWQNCiAgICB0aGUgZ2VuZXJhdGVkIGFzc2VtYmx5IGNvZGUu IElmIHlvdSB0aGluayBvdGhlciB3YXksIFBpY2sgYW55IGNvbXBpbGVyDQogICAgYW5kIHNlZSBn ZW5lcmF0ZWQgb3V0cHV0Lg0KVGhpcyBpcyB3aGF0IG9uZSBjb21waWxlciBmb3Igb25lIGFyY2hp dGVjdHVyZSBnZW5lcmF0ZXMgdG9kYXkuIFRoZXNlIHRoaW5ncyBjaGFuZ2UuIE90aGVyIHRoaW5n cw0KdGhhdCB1c2VkIHRvIHdvcmsgb3Igd29ya2VkIGZvciBzb21lIHNwZWNpZmljIGFyY2hpdGVj dHVyZSBoYXMgc3RvcHBlZCB3b3JraW5nIGluIG5ld2VyIHZlcnNpb25zIG9mDQp0aGUgY29tcGls ZXIuDQoNCiAgICANCiAgICBBbmQNCiAgICANCiAgICBGcmVlYnNkIGltcGxlbWVudGF0aW9uIG9m IHJpbmcgYnVmZmVyKFdoaWNoIERQREsgZGVyaXZlZCBmcm9tKSwgRG9uJ3QgaGF2ZQ0KICAgIHN1 Y2ggbG9naWMsIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZnJlZWJzZC9mcmVlYnNkL2Jsb2IvbWFz dGVyL3N5cy9zeXMvYnVmX3JpbmcuaCNMMTA4DQpJdCBsb29rcyBsaWtlIEZyZWVCU0QgdXNlcyBz b21lIGtpbmQgb2YgQzExIGF0b21pYyBtZW1vcnkgbW9kZWwtaW5zcGlyZWQgQVBJIGFsdGhvdWdo IEkgZG9uJ3Qgc2VlDQpleGFjdGx5IGhvdyBlLmcuIGF0b21pY19zdG9yZV9yZWxfaW50KCkgaXMg aW1wbGVtZW50ZWQuIFRoZSBjb2RlIGFsc28gbWl4ZXMgaW4gZXhwbGljaXQgYmFycmllcnMNCnNv IGRlZmluaXRpdmVseSBub3QgcHVyZSBDMTEgbWVtb3J5IG1vZGVsIHVzYWdlLiBBbmQgZmluYWxs eSwgaXQgZG9lc24ndCBlc3RhYmxpc2ggdGhlIHByb3Blcg0KbG9hZC1hY3F1aXJlL3N0b3JlLXJl bGVhc2UgcmVsYXRpb25zaGlwcyAoZS5nLiBzdG9yZS1yZWxlYXNlIGNvbnNfdGFpbCByZXF1aXJl cyBhIGxvYWQtYWNxdWlyZSBjb25zX3RhaWwsDQpzYW1lIGZvciBwcm9kX3RhaWwpLg0KDQoiKiBt dWx0aS1wcm9kdWNlciBzYWZlIGxvY2stZnJlZSByaW5nIGJ1ZmZlciBlbnF1ZXVlIg0KVGhlIGNv bW1lbnQgaXMgYWxzbyB3cm9uZy4gVGhpcyBkZXNpZ24gaXMgbm90IGxvY2stZnJlZSwgaG93IGNv dWxkIGl0IGJlIHdoZW4gdGhlcmUgaXMgc3Bpbm5pbmcNCih3YWl0aW5nKSBmb3Igb3RoZXIgdGhy ZWFkcyBpbiB0aGUgY29kZT8gSWYgYSB0aHJlYWQgbXVzdCB3YWl0IGZvciBvdGhlciB0aHJlYWRz LCB0aGVuIGJ5IGRlZmluaXRpb24NCnRoZSBkZXNpZ24gaXMgYmxvY2tpbmcuDQoNClNvIHlvdSBh cmUgc2F5aW5nIHRoYXQgYmVjYXVzZSBGcmVlQlNEIGlzIGRvaW5nIGl0IHdyb25nLCBEUERLIGNh biBhbHNvIGRvIGl0IHdyb25nPw0KDQogICAgDQogICAgU2VlIGJlbG93IHRvby4NCiAgICANCiAg ICA+IA0KICAgID4gU2tpcHBpbmcgdGhlIGNvbXBpbGVyIG1lbW9yeSBiYXJyaWVyIGluIHJ0ZV9w YXVzZSgpIHBvdGVudGlhbGx5IGFsbG93cyBmb3Igb3B0aW1pc2F0aW9ucyB0aGF0IHByb3ZpZGUg bXVjaCBtb3JlIGJlbmVmaXQsIGUuZy4gaGlkaW5nIHNvbWUgY2FjaGUgbWlzcyBsYXRlbmN5IGZv ciBsYXRlciBsb2Fkcy4gVGhlIERQREsgcmluZyBidWZmZXIgaW1wbGVtZW50YXRpb24gaXMgZGVm aW5lZCBzbyB0byBlbmFibGUgaW5saW5pbmcgb2YgZW5xdWV1ZS9kZXF1ZXVlIGZ1bmN0aW9ucyBp bnRvIHRoZSBjYWxsZXIsIGFueSBjb2RlIGNvdWxkIGltbWVkaWF0ZWx5IGZvbGxvdyB0aGVzZSBj YWxscy4NCiAgICA+IA0KICAgID4gRnJvbSBJTlRFUk5BVElPTkFMIFNUQU5EQVJEIMKpSVNPL0lF QyBJU08vSUVDIDk4OTk6MjAxeA0KICAgID4gUHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzIOKAlCBDDQog ICAgPiANCiAgICA+IDUuMS4yLjQNCiAgICA+IDQgVHdvIGV4cHJlc3Npb24gZXZhbHVhdGlvbnMg Y29uZmxpY3QgaWYgb25lIG9mIHRoZW0gbW9kaWZpZXMgYSBtZW1vcnkgbG9jYXRpb24gYW5kIHRo ZSBvdGhlciBvbmUgcmVhZHMgb3IgbW9kaWZpZXMgdGhlIHNhbWUgbWVtb3J5IGxvY2F0aW9uLg0K ICAgID4gDQogICAgPiAyNSBUaGUgZXhlY3V0aW9uIG9mIGEgcHJvZ3JhbSBjb250YWlucyBhIGRh dGEgcmFjZSBpZiBpdCBjb250YWlucyB0d28gY29uZmxpY3RpbmcgYWN0aW9ucyBpbiBkaWZmZXJl bnQgdGhyZWFkcywgYXQgbGVhc3Qgb25lIG9mIHdoaWNoIGlzIG5vdCBhdG9taWMsIGFuZCBuZWl0 aGVyIGhhcHBlbnMgYmVmb3JlIHRoZSBvdGhlci4gQW55IHN1Y2ggZGF0YSByYWNlIHJlc3VsdHMg aW4gdW5kZWZpbmVkIGJlaGF2aW9yLg0KICAgIA0KICAgIElNTywgQm90aCBjb25kaXRpb24gd2ls bCBzYXRpc2Z5IGlmIHRoZSB2YXJpYWJsZSBpcyB2b2xhdGlsZSBhbmQgMzJiaXQgcmVhZCB3aWxs IGF0b21pYw0KICAgIGZvciAzMmIgYW5kIDY0YiBtYWNoaW5lcy4gSWYgbm90LCB0aGUgcHJvYmxl bSBwZXJzaXN0IGZvciBnZW5lcmljIGNhc2UNCiAgICBhcyB3ZWxsKGxpYi9saWJydGVfcmluZy9y dGVfcmluZ19nZW5lcmljLmgpDQpUaGUgcmVhZCBmcm9tIGEgdm9sYXRpbGUgb2JqZWN0IGlzIG5v dCBhbiBhdG9taWMgYWNjZXNzIHBlciB0aGUgQzExIHNwZWMuIEl0IGp1c3QgaGFwcGVucyB0bw0K YmUgdHJhbnNsYXRlZCB0byBhbiBpbnN0cnVjdGlvbiAob24geDg2LTY0IGFuZCBBQXJjaDY0L0E2 NCkgdGhhdCBpbXBsZW1lbnRzIGFuIGF0b21pYyBsb2FkLg0KSSBkb24ndCB0aGluayBhbnkgY29t cGlsZXIgd291bGQgY2hhbmdlIHRoaXMgY29kZSBnZW5lcmF0aW9uIGFuZCBzdWRkZW5seSBnZW5l cmF0ZSBzb21lDQpub24tYXRvbWljIGxvYWQgaW5zdHJ1Y3Rpb24gZm9yIGEgcHJvZ3JhbSB0aGF0 ICpvbmx5KiB1c2VzIHZvbGF0aWxlIHRvIGRvICJhdG9taWMiIGFjY2Vzc2VzLg0KQnV0IGEgZnV0 dXJlIGNvbXBpbGVyIGNvdWxkIGRldGVjdCB0aGUgbWl4IG9mIGF0b21pYyBhbmQgbm9uLWF0b21p YyBhY2Nlc3NlcyBhbmQgbWFyayB0aGlzDQpleHByZXNzaW9uIGFzIGNhdXNpbmcgdW5kZWZpbmVk IGJlaGF2aW91ciBhbmQgdGhhdCB3b3VsZCBoYXZlIGNvbnNlcXVlbmNlcyBmb3IgY29kZSBnZW5l cmF0aW9uLg0KICAgIA0KICAgIA0KICAgIEkgYWdyZWUgd2l0aCB5b3Ugb24gQzExIG1lbW9yeSBt b2RlbCBzZW1hbnRpY3MgdXNhZ2UuIFRoZSByZWFzb24gd2h5IEkNCiAgICBwcm9wb3NlIG5hbWUg Zm9yIHRoZSBmaWxlIGFzIHJ0ZV9yaW5nX2MxMV9tZW0uaCBhcyBEUERLIGl0IHNlbGYgZGlkIG5v dA0KICAgIGhhZCBkZWZpbml0aW9ucyBmb3IgbG9hZCBhY3F1aXJlIGFuZCBzdG9yZSByZWxlYXNl IHNlbWFudGljcy4NCiAgICBJIHdhcyBsb29raW5nIGZvciB0YWtpbmcgbG9hZCBhY3F1aXJlIGFu ZCBzdG9yZSByZWxlYXNlIHNlbWFudGljcw0KICAgIGZyb20gQzExIGluc3RlYWQgb2YgY3JlYXRp bmcgbmV3IEFQSSBsaWtlIExpbnV4IGtlcm5lbCBmb3IgRnJlZUJTRChBUElzDQogICAgbGlrZSAg YXRvbWljX2xvYWRfYWNxXzMyKCksIGF0b21pY19zdG9yZV9yZWxfMzIoKSkuIElmIHRoZSBmaWxl IG5hbWUgaXMgeW91cg0KICAgIGNvbmNlcm4gdGhlbiB3ZSBjb3VsZCBjcmVhdGUgbmV3IGFic3Ry YWN0aW9ucyBhcyB3ZWxsLiBUaGF0IHdvdWxkIGhlbHANCiAgICBleGl0aW5nIEtOSSBwcm9ibGVt IGFzIHdlbGwuDQpJIGFwcHJlY2lhdGUgeW91ciBlbWJyYWNlIG9mIHRoZSBDMTEgbWVtb3J5IG1v ZGVsLiBJIHRoaW5rIGl0IGlzIGJldHRlciBmb3IgZGVzY3JpYmluZw0KKGJvdGggdG8gdGhlIGNv bXBpbGVyIGFuZCB0byBodW1hbnMpIHdoaWNoIGFuZCBob3cgb2JqZWN0cyBhcmUgdXNlZCBmb3Ig c3luY2hyb25pc2F0aW9uLg0KDQpIb3dldmVyLCBJIGRvbid0IHRoaW5rIGFuIEFQSSBhcyB5b3Ug c3VnZ2VzdCAoYW5kIG90aGVycyBoYXZlIHN1Z2dlc3RlZCBiZWZvcmUsIGUuZy4gYXMNCmRvbmUg aW4gT0RQKSBpcyBhIGdvb2QgaWRlYS4gVGhlcmUgaXMgYW4gaW5maW5pdGUgYW1vdW50IG9mIHBv c3NpYmxlIGJhc2UgdHlwZXMsIGFuDQppbmNyZWFzaW5nIG51bWJlciBvZiBvcGVyYXRpb25zIGFu ZCBhIGJ1bmNoIG9mIGRpZmZlcmVudCBtZW1vcnkgb3JkZXJpbmdzLCBhICJjb21wbGV0ZSINCkFQ SSB3b3VsZCBiZSB2ZXJ5IGxhcmdlIGFuZCBkaWZmaWN1bHQgdG8gdGVzdCwgYW5kIG1vc3QgbWVt YmVycyBvZiB0aGUgQVBJIHdvdWxkIG5ldmVyIGJlIHVzZWQuDQoNCkdDQyBhbmQgQ2xhbmcgYm90 aCBzdXBwb3J0IHRoZSBfX2F0b21pYyBpbnRyaW5zaWNzLiBUaGlzIEFQSSBhdm9pZHMgdGhlIHBy b2JsZW1zIEkNCmRlc2NyaWJlZCBhYm92ZS4gT3Igd2UgY291bGQgdXNlIHRoZSBvZmZpY2lhbCBD MTEgc3ludGF4IChzdGRhdG9taWMuaCkuIEJ1dCB0aGVuIHdlDQpoYXZlIHRoZSBwcm9ibGVtIHdp dGggdXNpbmcgcHJlLUMxMSBjb21waWxlcnMuLi4NCg0KDQoNCiAgICANCiAgICBJIHRoaW5rLCBj dXJyZW50bHkgaXQgbWl4ZWQgdXNhZ2UgYmVjYXVzZSwgdGhlIHNhbWUgdmFyaWFibGUgZGVjbGFy YXRpb24NCiAgICB1c2VkIGZvciBDMTEgdnMgbm9uIEMxMSB1c2FnZS5JZGVhbGx5IHdlIHdvbnQg bmVlZCAidm9sYXRpbGUiIGZvciBDMTENCiAgICBjYXNlLiBFaXRoZXIgd2UgbmVlZCB0byBjaGFu Z2Ugb25seSB0byBDMTEgbW9kZSBPUiBoYXZlIEFQSXMgZm9yIA0KICAgIGF0b21pY19sb2FkX2Fj cV8oKSBhbmQgYXRvbWljX3N0b3JlX3JlbF8oKSB0byBhbGxvdyBib3RoIG1vZGVscyBsaWtlDQog ICAgTGludXgga2VybmVsIGFuZCBGcmVlQlNELg0KICAgIA0KICAgID4gDQogICAgPiAtLSBPbGEN CiAgICA+IA0KICAgID4gDQogICAgPiANCiAgICANCg0K