From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id 0C9236CC1 for ; Mon, 14 Jan 2019 08:39:23 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x0E7ZcOF018488; Sun, 13 Jan 2019 23:39:20 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=pfpt0818; bh=FqksRlvdWlG4b8oOIGZWXpWgkVbMhXv4NBi1gLZxiz4=; b=iIOV3n1iKBkZWgoSckny1aLNMCNVeBIGjuye5KRd2dDH1G0R7gkjmKog+/b8f/5XYbRR isZv4QmTfug6SIJ0hneZMTgbAii1XMxjTtEXBs1fxTqFolnpYUpIqp/3dZNS6Psq7w5P 2lQguhvzPX0JQ2/+S+wkjj7txZ+HXoiShOfj/G8np9acnyN84RteZwfyH42I9Y2nD7tY o6i0RhphTZM3HKBHDao6Ou447kxrJ3O3J4nEA3KUfhDCR0Om7RNjZcCqjG6PdZdlfpYE Ijr7fZjqYjrwh8DI+ydI3hNdEX7KGqlyrPEVlbpWzOP5w2/gtYEs6QOVAmhkWGXIODyp lg== Received: from sc-exch01.marvell.com ([199.233.58.181]) by mx0a-0016f401.pphosted.com with ESMTP id 2pyefpw03h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sun, 13 Jan 2019 23:39:20 -0800 Received: from SC-EXCH02.marvell.com (10.93.176.82) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Sun, 13 Jan 2019 23:39:18 -0800 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.36.52) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Sun, 13 Jan 2019 23:39:18 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FqksRlvdWlG4b8oOIGZWXpWgkVbMhXv4NBi1gLZxiz4=; b=Z6s+LTSBv6Iw04Anu4+nCk9Txp0msVxh1glFNVyVV15AGWCQZVtKJKriRCkFksRnfB/3N7EDUbtv0swRVu+gn6hI2TiAIJ0T/ORYLuj1Og+0pzYBJiK03RIWJDU44dNf3KE+P/DnOktCuf6ourbgLIcc3HFK7b6E48Dz98GqvO4= Received: from BYAPR18MB2424.namprd18.prod.outlook.com (20.179.91.149) by BYAPR18MB2424.namprd18.prod.outlook.com (20.179.91.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1516.15; Mon, 14 Jan 2019 07:39:16 +0000 Received: from BYAPR18MB2424.namprd18.prod.outlook.com ([fe80::6deb:2bc0:4c72:7688]) by BYAPR18MB2424.namprd18.prod.outlook.com ([fe80::6deb:2bc0:4c72:7688%4]) with mapi id 15.20.1516.019; Mon, 14 Jan 2019 07:39:16 +0000 From: Jerin Jacob Kollanukkaran To: "Honnappa.Nagarahalli@arm.com" , "Gavin.Hu@arm.com" , "dev@dpdk.org" CC: "david.marchand@redhat.com" , "chaozhu@linux.vnet.ibm.com" , "nd@arm.com" , "bruce.richardson@intel.com" , "thomas@monjalon.net" , "Joyce.Kong@arm.com" , "hemant.agrawal@nxp.com" , "stephen@networkplumber.org" Thread-Topic: [EXT] [PATCH v3 5/6] spinlock: reimplement with atomic one-way barrier builtins Thread-Index: AQHUnZqud7oVI0KliEao/CrJe85DLKWSNC6AgBf6T4CABDGgAIAAHSyA Date: Mon, 14 Jan 2019 07:39:16 +0000 Message-ID: <151223caad2754b36e4887bb2b1d1dfec2094e3e.camel@marvell.com> References: <20181227041349.3058-1-gavin.hu@arm.com> <20181227041349.3058-6-gavin.hu@arm.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [122.167.124.188] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; BYAPR18MB2424; 20:KvwC4JZ85vK/tnVODYv0cWoXK5ZN5BGHE0SeMLXmKw1aVmFULnFz5ykDGkWRYmcsL0vcdKtSO3RfIcC6U5uI/n/LM0QA2qWNO7WzZYycEyWoROIWLN4hfHuPW3UIUm9s24Je6Gj2SPHgCTTEaN0MeWUPh9pJye/UfiV50azQ3Ow= x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: ad13869d-f912-4713-1395-08d679f36342 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600109)(711020)(2017052603328)(7153060)(7193020); SRVR:BYAPR18MB2424; x-ms-traffictypediagnostic: BYAPR18MB2424: x-microsoft-antispam-prvs: x-forefront-prvs: 0917DFAC67 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(376002)(39850400004)(136003)(366004)(396003)(199004)(189003)(99286004)(97736004)(2906002)(14454004)(78486014)(71200400001)(3846002)(6116002)(71190400001)(966005)(2201001)(36756003)(14444005)(54906003)(316002)(68736007)(256004)(110136005)(4001150100001)(86362001)(2501003)(76176011)(446003)(26005)(6246003)(106356001)(81166006)(6436002)(8676002)(105586002)(93886005)(118296001)(81156014)(6506007)(102836004)(5660300001)(8936002)(7736002)(229853002)(305945005)(53936002)(186003)(486006)(25786009)(6306002)(11346002)(476003)(478600001)(7416002)(2616005)(66066001)(4326008)(6512007)(6486002); DIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR18MB2424; H:BYAPR18MB2424.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: 5vsblfQPbHmrnqRuSxiWMpSU4wBuJDnyq91wliJdsWSkWpYe0qiv21Z+SIETfmILizO4OHDC8J5cx8B/rmDTME12NtugUA2W/eCwDsYAXg1O8+RCiivWpMiFycYpSvVEiwRgrx14I5wywClvqqvfofkfjyV09TSSA9EbbqQUjdgnm3DdSv37dKyNWrdtY1gcAoMx2twlYm+AQkcwcXSbgfIJASVdlYKDH8pHEjTEC9y8fnHbtJ09dEg4PTzAUxPCP+lsskl4ZbwG9ka8fr1dtBG1GAGrpi4eytcnYdzXA+OQdk+OeXpzcz2qoOcn9gMgkujT3mXRzhH4EzDNwoBvtCq82h9OlRa7BVJb4TQl/qqOqmszoqxnojMW5+Ukhwr2lWBlmbDtUXJ35RFyqciJx8yk9sXIPHvuw/3a6fia8Lc= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: <544712DB8712324A9777B7E5A193504C@namprd18.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: ad13869d-f912-4713-1395-08d679f36342 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jan 2019 07:39:16.7854 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR18MB2424 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-01-14_04:, , signatures=0 X-Proofpoint-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1901140066 Subject: Re: [dpdk-dev] [EXT] [PATCH v3 5/6] spinlock: reimplement with atomic one-way barrier builtins 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, 14 Jan 2019 07:39:24 -0000 T24gTW9uLCAyMDE5LTAxLTE0IGF0IDA1OjU0ICswMDAwLCBIb25uYXBwYSBOYWdhcmFoYWxsaSB3 cm90ZToNCj4gPiA+IE9uIFRodSwgMjAxOC0xMi0yNyBhdCAxMjoxMyArMDgwMCwgR2F2aW4gSHUg d3JvdGU6DQo+ID4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiA+IC0tLS0NCj4gPiA+ID4gLS0tDQo+ID4gPiA+IFRo ZSBfX3N5bmMgYnVpbHRpbiBiYXNlZCBpbXBsZW1lbnRhdGlvbiBnZW5lcmF0ZXMgZnVsbCBtZW1v cnkNCj4gPiA+ID4gYmFycmllcnMgKCdkbWIgaXNoJykgb24gQXJtIHBsYXRmb3Jtcy4gVXNpbmcg QzExIGF0b21pYw0KPiA+ID4gPiBidWlsdGlucyB0bw0KPiA+ID4gPiBnZW5lcmF0ZSBvbmUgd2F5 IGJhcnJpZXJzLg0KPiA+ID4gPiANCj4gPiA+ID4gSGVyZSBpcyB0aGUgYXNzZW1ibHkgY29kZSBv ZiBfX3N5bmNfY29tcGFyZV9hbmRfc3dhcCBidWlsdGluLg0KPiA+ID4gPiBfX3N5bmNfYm9vbF9j b21wYXJlX2FuZF9zd2FwKGRzdCwgZXhwLCBzcmMpOw0KPiA+ID4gPiAgICAweDAwMDAwMDAwMDA5 MGYxYjAgPCsxNj46ICAgIGUwIDA3IDQwIGY5IGxkciB4MCwgW3NwLCAjOF0NCj4gPiA+ID4gICAg MHgwMDAwMDAwMDAwOTBmMWI0IDwrMjA+OiAgICBlMSAwZiA0MCA3OSBsZHJoICAgIHcxLCBbc3As DQo+ID4gPiA+ICM2XQ0KPiA+ID4gPiAgICAweDAwMDAwMDAwMDA5MGYxYjggPCsyND46ICAgIGUy IDBiIDQwIDc5IGxkcmggICAgdzIsIFtzcCwNCj4gPiA+ID4gIzRdDQo+ID4gPiA+ICAgIDB4MDAw MDAwMDAwMDkwZjFiYyA8KzI4PjogICAgMjEgM2MgMDAgMTIgYW5kIHcxLCB3MSwgIzB4ZmZmZg0K PiA+ID4gPiAgICAweDAwMDAwMDAwMDA5MGYxYzAgPCszMj46ICAgIDAzIDdjIDVmIDQ4IGxkeHJo ICAgdzMsIFt4MF0NCj4gPiA+ID4gICAgMHgwMDAwMDAwMDAwOTBmMWM0IDwrMzY+OiAgICA3ZiAw MCAwMSA2YiBjbXAgdzMsIHcxDQo+ID4gPiA+ICAgIDB4MDAwMDAwMDAwMDkwZjFjOCA8KzQwPjog ICAgNjEgMDAgMDAgNTQgYi5uZSAgICAweDkwZjFkNA0KPiA+ID4gPiA8cnRlX2F0b21pYzE2X2Nt cHNldCs1Mj4gIC8vIGIuYW55DQo+ID4gPiA+ICAgIDB4MDAwMDAwMDAwMDkwZjFjYyA8KzQ0Pjog ICAgMDIgZmMgMDQgNDggc3RseHJoICB3NCwgdzIsDQo+ID4gPiA+IFt4MF0NCj4gPiA+ID4gICAg MHgwMDAwMDAwMDAwOTBmMWQwIDwrNDg+OiAgICA4NCBmZiBmZiAzNSBjYm56ICAgIHc0LA0KPiA+ ID4gPiAweDkwZjFjMA0KPiA+ID4gPiA8cnRlX2F0b21pYzE2X2NtcHNldCszMj4NCj4gPiA+ID4g ICAgMHgwMDAwMDAwMDAwOTBmMWQ0IDwrNTI+OiAgICBiZiAzYiAwMyBkNSBkbWIgaXNoDQo+ID4g PiA+ICAgIDB4MDAwMDAwMDAwMDkwZjFkOCA8KzU2PjogICAgZTAgMTcgOWYgMWEgY3NldCAgICB3 MCwgZXEgIC8vDQo+ID4gPiA+IGVxID0NCj4gPiA+ID4gbm9uZQ0KPiA+ID4gPiANCj4gPiA+ID4g VGhlIGJlbmNobWFya2luZyByZXN1bHRzIHNob3dlZCAzWCBwZXJmb3JtYW5jZSBnYWluIG9uIENh dml1bQ0KPiA+ID4gPiBUaHVuZGVyWDIgYW5kDQo+ID4gPiA+IDEzJSBvbiBRdWFsY29tbSBGYWxt b24gYW5kIDMuNyUgb24gNC1BNzIgTWFydmVsbCBtYWNjaGlhdG9iaW4uDQo+ID4gPiA+IEhlcmUg aXMgdGhlIGV4YW1wbGUgdGVzdCByZXN1bHQgb24gVFgyOg0KPiA+ID4gPiANCj4gPiA+ID4gKioq IHNwaW5sb2NrX2F1dG90ZXN0IHdpdGhvdXQgdGhpcyBwYXRjaCAqKiogQ29yZSBbMTIzXSBDb3N0 DQo+ID4gPiA+IFRpbWUgPQ0KPiA+ID4gPiA2Mzk4MjIgdXMgQ29yZSBbMTI0XSBDb3N0IFRpbWUg PSA2MzMyNTMgdXMgQ29yZSBbMTI1XSBDb3N0IFRpbWUNCj4gPiA+ID4gPQ0KPiA+ID4gPiA2NDYw MzAgdXMgQ29yZSBbMTI2XSBDb3N0IFRpbWUgPSA2NDMxODkgdXMgQ29yZSBbMTI3XSBDb3N0IFRp bWUNCj4gPiA+ID4gPQ0KPiA+ID4gPiA2NDcwMzkgdXMgVG90YWwgQ29zdCBUaW1lID0gOTU0MzMy OTggdXMNCj4gPiA+ID4gDQo+ID4gPiA+ICoqKiBzcGlubG9ja19hdXRvdGVzdCB3aXRoIHRoaXMg cGF0Y2ggKioqIENvcmUgWzEyM10gQ29zdCBUaW1lDQo+ID4gPiA+ID0NCj4gPiA+ID4gMTYzNjE1 IHVzIENvcmUgWzEyNF0gQ29zdCBUaW1lID0gMTY2NDcxIHVzIENvcmUgWzEyNV0gQ29zdCBUaW1l DQo+ID4gPiA+ID0NCj4gPiA+ID4gMTg5MDQ0IHVzIENvcmUgWzEyNl0gQ29zdCBUaW1lID0gMTk1 NzQ1IHVzIENvcmUgWzEyN10gQ29zdCBUaW1lDQo+ID4gPiA+ID0NCj4gPiA+ID4gNzg0MjMgdXMg VG90YWwgQ29zdCBUaW1lID0gMjczMzk2NTYgdXMNCj4gPiA+ID4gDQo+ID4gPiA+IFNpZ25lZC1v ZmYtYnk6IEdhdmluIEh1IDxnYXZpbi5odUBhcm0uY29tPg0KPiA+ID4gPiBSZXZpZXdlZC1ieTog UGhpbCBZYW5nIDxwaGlsLnlhbmdAYXJtLmNvbT4NCj4gPiA+ID4gUmV2aWV3ZWQtYnk6IEhvbm5h cHBhIE5hZ2FyYWhhbGxpIDxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tDQo+ID4gPiA+ID4N Cj4gPiA+ID4gUmV2aWV3ZWQtYnk6IE9sYSBMaWxqZWRhaGwgPE9sYS5MaWxqZWRhaGxAYXJtLmNv bT4NCj4gPiA+ID4gUmV2aWV3ZWQtYnk6IFN0ZXZlIENhcHBlciA8U3RldmUuQ2FwcGVyQGFybS5j b20+DQo+ID4gPiA+IC0tLQ0KPiA+ID4gPiAgbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUv Z2VuZXJpYy9ydGVfc3BpbmxvY2suaCB8IDE4DQo+ID4gPiA+ICsrKysrKysrKysrKystLS0tLQ0K PiA+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0p DQo+ID4gPiA+IA0KPiA+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPiA+IGEvbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2luY2x1ZGUvZ2VuZXJpYy9ydGVfc3BpbmxvY2suaA0KPiA+ID4gPiBiL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9pbmNsdWRlL2dlbmVyaWMvcnRlX3NwaW5sb2NrLmgNCj4gPiA+ID4gaW5k ZXggYzRjM2ZjMzFlLi44N2FlN2E0ZjEgMTAwNjQ0DQo+ID4gPiA+IC0tLSBhL2xpYi9saWJydGVf ZWFsL2NvbW1vbi9pbmNsdWRlL2dlbmVyaWMvcnRlX3NwaW5sb2NrLmgNCj4gPiA+ID4gKysrIGIv bGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvZ2VuZXJpYy9ydGVfc3BpbmxvY2suaA0KPiA+ ID4gPiBAQCAtNjEsOSArNjEsMTQgQEAgcnRlX3NwaW5sb2NrX2xvY2socnRlX3NwaW5sb2NrX3QN Cj4gPiA+ID4gKnNsKTsgIHN0YXRpYw0KPiA+ID4gPiBpbmxpbmUgdm9pZCAgcnRlX3NwaW5sb2Nr X2xvY2socnRlX3NwaW5sb2NrX3QgKnNsKSAgew0KPiA+ID4gPiAtCXdoaWxlIChfX3N5bmNfbG9j a190ZXN0X2FuZF9zZXQoJnNsLT5sb2NrZWQsIDEpKQ0KPiA+ID4gPiAtCQl3aGlsZShzbC0+bG9j a2VkKQ0KPiA+ID4gPiArCWludCBleHAgPSAwOw0KPiA+ID4gPiArDQo+ID4gPiA+ICsJd2hpbGUg KCFfX2F0b21pY19jb21wYXJlX2V4Y2hhbmdlX24oJnNsLT5sb2NrZWQsICZleHAsDQo+ID4gPiA+ IDEsIDAsDQo+ID4gPiA+ICsJCQkJX19BVE9NSUNfQUNRVUlSRSwNCj4gPiA+ID4gX19BVE9NSUNf UkVMQVhFRCkpDQo+ID4gPiB7DQo+ID4gPiANCj4gPiA+IEhvdyBhYm91dCByZW1vdmUgZXhwbGlj dCBleHAgPSAwIGFuZCBjaGFuZ2UgdG8NCj4gPiA+IF9fYXRvbWljX3Rlc3RfYW5kX3NldChmbGFn LCBfX0FUT01JQ19BQ1FVSVJFKTsNCj4gPiANCj4gPiBZZXMsIF9fYXRvbWljX3Rlc3RfYW5kX3Nl dCBtZWFucyBzaW1wbGVyIGNvZGUgYW5kIGJldHRlciwgYnV0DQo+ID4gX19hdG9taWNfdGVzdF9h bmRfc2V0IHRha2VzIHRoZSBmaXJzdCBhcmd1bWVudCBhcyBhIHBvaW50ZXIgdG8gdHlwZQ0KPiA+ IGJvb2wgb3INCj4gPiBjaGFyLCBpbiBvdXIgY2FzZSwgc2wtPmxvY2tlZCBpcyBvZiB0eXBlIHVp bnQzMi4NCj4gPiBXZSBjYW4gZm9yY2UgaXQgdG8gdWludDgsIG9yIGp1c3QgcGFzcyBpbiB0aGUg MzJiaXQgcG9pbnRlciwgb25seQ0KPiA+IG9uZSBieXRlL2JpdCBpcw0KPiA+IHJlYWxseSB1c2Vk IGluIHRoaXMgY2FzZSwgaXMgdGhhdCBvaz8NCj4gPiANCj4gPiAiSXQgc2hvdWxkIGJlIG9ubHkg dXNlZCBmb3Igb3BlcmFuZHMgb2YgdHlwZSBib29sIG9yIGNoYXIuIEZvcg0KPiA+IG90aGVyIHR5 cGVzIG9ubHkNCj4gPiBwYXJ0IG9mIHRoZSB2YWx1ZSBtYXkgYmUgc2V0LiINCj4gPiBodHRwczov L2djYy5nbnUub3JnL29ubGluZWRvY3MvZ2NjLTYuMS4wL2djYy9fMDA1Zl8wMDVmYXRvbWljLQ0K PiA+IEJ1aWx0aW5zLmh0bWwNCj4gPiANCj4gPiBGcm9tIHBlcmZvcm1hbmNlIHBlcnNwZWN0aXZl LCBpbiBvdXIgdGVzdGluZywgdGhlIHBlcmZvcm1hbmNlIHdhcw0KPiA+IHZlcnkgY2xvc2UsDQo+ ID4gY29tcGFyZWQgdG8gX19hdG9taWMuDQo+IElmIHBlcmZvcm1hbmNlIGlzIGNsb3NlLCBJIHN1 Z2dlc3Qgd2UgZ28gd2l0aCB0aGUgZXhpc3RpbmcgcGF0Y2guDQo+IENoYW5naW5nIHNsLT5sb2Nr ZWQgdG8gYm9vbC9jaGFyIHdvdWxkIGJlIGFuIEFCSSBjaGFuZ2UgYW5kIHdpbGwNCj4gYWZmZWN0 IHg4NiBUTSBiYXNlZCBpbXBsZW1lbnRhdGlvbiBhcyB3ZWxsLg0KPiBKZXJpbiwgd2hhdCBkbyB5 b3UgdGhpbms/DQoNCkxvb2tzIGdvb2QgdG8gbWUuDQoNCg0K