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 9FCDAA0350; Wed, 24 Jun 2020 04:58:41 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A46BA1D6FA; Wed, 24 Jun 2020 04:58:40 +0200 (CEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70055.outbound.protection.outlook.com [40.107.7.55]) by dpdk.org (Postfix) with ESMTP id 24D7C1D6F7 for ; Wed, 24 Jun 2020 04:58:39 +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=O7GOv4LFg2F5x2+C5NKzfqpVgJzFTdR9KEQVMUSwPmk=; b=gbk0GajyIbN/FY1KK9s3ZQt5+/+dmQjJWUL6bdFk0zg7x0AU5ICkLXeAOCcpYOPMvX6ILEctZkmPj3yeoI1ijF/QBBRzP67DUR5rztX/e+QdQj1iVSxcxQ/KIBN4wW1wFahD5HUd/Ys0710Utnd+teyf3LqJswDBw52/u026ReY= Received: from AM0PR10CA0030.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:17c::40) by AM6PR08MB3095.eurprd08.prod.outlook.com (2603:10a6:209:45::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.22; Wed, 24 Jun 2020 02:58:37 +0000 Received: from AM5EUR03FT037.eop-EUR03.prod.protection.outlook.com (2603:10a6:208:17c:cafe::91) by AM0PR10CA0030.outlook.office365.com (2603:10a6:208:17c::40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.22 via Frontend Transport; Wed, 24 Jun 2020 02:58:37 +0000 X-MS-Exchange-Authentication-Results: spf=pass (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=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT037.mail.protection.outlook.com (10.152.17.241) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.20 via Frontend Transport; Wed, 24 Jun 2020 02:58:37 +0000 Received: ("Tessian outbound 217a52b9caed:v59"); Wed, 24 Jun 2020 02:58:36 +0000 X-CR-MTA-TID: 64aa7808 Received: from 41808745212f.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 71E862CE-A9F4-4BAD-835F-1B49DCE5D771.1; Wed, 24 Jun 2020 02:58:31 +0000 Received: from EUR01-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 41808745212f.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 24 Jun 2020 02:58:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aJNVZg8rNYZKXaKpM5iJHzFmTigScEshhQNYn3If2MqKb95AnlLV5gukOtyBLtK/EQaJuQysmqMGCjRcOQi3dYTChyS26tc9SG7vKRTd+hQUt4RhbaZvD/dHR5cG1bm4IgpBaQlW5dC1Q3UaxQsg9DqzzciEu7oFB70k0lI5nfzswbFREf66D/dUr3tNdLEJSjvOilVs/vetRBWJTCfjbLTaZO8QWjTwj+ftTL+dp1IyFx8v4v5Pq2VM2iQXuLbfQUHZAm5yt35zCwQXMAURHFnw1Ngvi5noVNcc4ER31IXWkSMPBzExdYWn2b/uJAynjLoDsRepeehIbH64DXR/Xw== 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=O7GOv4LFg2F5x2+C5NKzfqpVgJzFTdR9KEQVMUSwPmk=; b=DmxL6vvQZwpSnPxxy8Lf3vpUCb8jmQc8ls4MoDWaAsUYZnOIFpUOiKO6OzbdVznMbKTas/MmAiWwDB1aMu0BBU8wHSPCGaT+wok2JkBRqJapYUKTi5LZKp5LnuShEK6RuSCV+mzpwKbpfaqzjWv5Jq2YshRTkCbTrdwWO/lWXhFaDlCX+lAuKZgK0DqKn+2Ue9p3DFaWkNjYL80JYMF4+fZtJrjQXoz1Cg/IlULhy+nrrITt9A93Ur4YkfbwD16PmNPgiJLJy4Yw6HU38yhzNiH9Xmgu20zIQpzY0FMh/nqRwqoChFMvld/gGNMyuIRNrIdV9g98uDZPTOCFd0VRfQ== 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=O7GOv4LFg2F5x2+C5NKzfqpVgJzFTdR9KEQVMUSwPmk=; b=gbk0GajyIbN/FY1KK9s3ZQt5+/+dmQjJWUL6bdFk0zg7x0AU5ICkLXeAOCcpYOPMvX6ILEctZkmPj3yeoI1ijF/QBBRzP67DUR5rztX/e+QdQj1iVSxcxQ/KIBN4wW1wFahD5HUd/Ys0710Utnd+teyf3LqJswDBw52/u026ReY= Received: from DB7PR08MB3307.eurprd08.prod.outlook.com (2603:10a6:5:1b::32) by DB7PR08MB2956.eurprd08.prod.outlook.com (2603:10a6:5:20::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.23; Wed, 24 Jun 2020 02:58:28 +0000 Received: from DB7PR08MB3307.eurprd08.prod.outlook.com ([fe80::e587:39e4:beb7:764f]) by DB7PR08MB3307.eurprd08.prod.outlook.com ([fe80::e587:39e4:beb7:764f%4]) with mapi id 15.20.3109.027; Wed, 24 Jun 2020 02:58:28 +0000 From: Joyce Kong To: Phil Yang , Maxime Coquelin , "jerinj@marvell.com" , "zhihong.wang@intel.com" , "xiaolong.ye@intel.com" , Honnappa Nagarahalli , Ruifeng Wang CC: "dev@dpdk.org" Thread-Topic: [PATCH v1 1/2] net/virtio: restrict pointer aliasing for NEON vpmd Thread-Index: AQHWSTsN4PwXIxzC/kahSHdDJS9pNKjl6HQAgAEqqsA= Date: Wed, 24 Jun 2020 02:58:28 +0000 Message-ID: References: <20200611033248.39049-1-joyce.kong@arm.com> <20200611033248.39049-2-joyce.kong@arm.com> <6c7ed072-da6d-6eb1-4157-5498320a1c4d@redhat.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 100125ee-ea78-4bd7-81ed-7a97001a0982.0 x-checkrecipientchecked: true Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [203.126.0.111] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 95cb0438-2235-4062-d7a6-08d817ea7db2 x-ms-traffictypediagnostic: DB7PR08MB2956:|AM6PR08MB3095: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:6108;OLM:8882; x-forefront-prvs: 0444EB1997 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 4Nh2UVZNjjH/xwDU3MnWCt9FaupCseXTYrgTWBifZ/OQvkSiexYffiKKtHMIXGZaXyhjHpeFQuf1fgXXZjKC4/Vj9aSRS0IpBz3t+k6rLPOTCaXRcHkJtt9Zon7RlL4hRHpjOLvqGfcNNl+yz5WXjgDm6GV6HMCsKMwsrjmNObyzkHlDFTD1qTpDz5o7EyeRNB5FcHDRJxkbfULfRdmdkT+GnTy1O8X6l8jaR1zcKxwsEtMevIV/NIxvDa/6IkBbLK9BlGq2Q37o2Zf6lZvqJHTsXQaKu/fmr3bHADEbgAZd6QU9nO0xJHr+oOKReJeEM4DrutXELbx0DoolwR+SCA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR08MB3307.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(376002)(366004)(346002)(136003)(39860400002)(396003)(86362001)(66946007)(316002)(66476007)(186003)(66556008)(6506007)(7696005)(110136005)(76116006)(26005)(53546011)(64756008)(9686003)(4326008)(33656002)(8936002)(55016002)(66446008)(2906002)(83380400001)(6636002)(8676002)(52536014)(71200400001)(478600001)(5660300002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: 7JQEErRN8qCrpz/DzWnlna+ED+qST2lPm3OXPlnXM6f6+uJ2Kf2UWlqo9IYNjfyCExcC7sDQJA9jvsEiWN1scEI4eHKFlxjNxz+cXEV44YdtX0X8JFzamM6qwUt97VX1WlzhhqLFnveJ3/Q56FbfKePmAjOvsapkqs1SG6CsHygeFSFSR+1eSG+eosvBMgFMHR1lLYuKxIj9v8pmo5SdMQhjWaD3kcqTsafEdZZL/A/XseMrqDlW1C4oFgLw2T/7UxW6rGVFhGPFUMc3c6E74oAZs/PdmRuTB8zN1vgzPmtvbSoXBKjizP8/FqTFiu6zOHWguUpkBefy8Gj0c4u+4lKIQXG6kL1JQk3sZ1NEWSsf0THpRwC6Y0MqLX6gxePoS5xSzMihJN8GwkBVPLD9f+ytF2gqCVSHXPSvEtAGqehKpq9xN1wdO89PDvqvO8zwRvNCpCQa5/L34nmZl9GWXdk8u2XBYwQl7V9roX4xgXY= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB2956 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT037.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFTY:; SFS:(4636009)(346002)(39860400002)(376002)(136003)(396003)(46966005)(6506007)(53546011)(4326008)(47076004)(336012)(316002)(110136005)(83380400001)(7696005)(478600001)(36906005)(33656002)(82740400003)(8936002)(55016002)(5660300002)(52536014)(9686003)(26005)(356005)(186003)(81166007)(70586007)(6636002)(2906002)(8676002)(70206006)(82310400002)(86362001); DIR:OUT; SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: d540fea7-8712-4b6e-0da3-08d817ea78a2 X-Forefront-PRVS: 0444EB1997 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: f13l6kSstOFgeHB1PfkZ4qOC9FM3SOoDiqVlGkBy1ru9U1xpdSuu0ugX0wbjbIFNezUYhhOEhIcQl8kr0gftXpI/Xi9sDpBFt2iXkkIMiVRv0FktEzFFW35/diSqOsfuHjsGpQS7F3J2zjct9BrkMpGp+VpQTCl7SbeLTf6GxAvyHEYQstkVOkynauJVO6r9PYTtZrEkyu2fgDuvsfcKKUW7HWvXDiYhwxB+45NoKHb5PGTHRLt/H1Fq1Zi4P2sFU+4N2H9osX7nduxphJdjdwK7vu1D5LNZ8z2OKxLZZGJLctkTZedCKJJBNp8VGN3RwYIn6c/3HHHlvoLnmSorEqVqRn8mosRcURIxmBW5saOURCltrSnHyVM3SE6p4ZB+nfXtPkyBEVeAJrLsrt1g1A== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jun 2020 02:58:37.1024 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 95cb0438-2235-4062-d7a6-08d817ea7db2 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: AM6PR08MB3095 Subject: Re: [dpdk-dev] [PATCH v1 1/2] net/virtio: restrict pointer aliasing for NEON vpmd 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBQaGlsIFlhbmcgPFBoaWwuWWFu Z0Bhcm0uY29tPg0KPiBTZW50OiBUdWVzZGF5LCBKdW5lIDIzLCAyMDIwIDU6MDYgUE0NCj4gVG86 IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+OyBKb3ljZSBLb25n DQo+IDxKb3ljZS5Lb25nQGFybS5jb20+OyBqZXJpbmpAbWFydmVsbC5jb207IHpoaWhvbmcud2Fu Z0BpbnRlbC5jb207DQo+IHhpYW9sb25nLnllQGludGVsLmNvbTsgSG9ubmFwcGEgTmFnYXJhaGFs bGkNCj4gPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb20+OyBSdWlmZW5nIFdhbmcNCj4gPFJ1 aWZlbmcuV2FuZ0Bhcm0uY29tPg0KPiBDYzogZGV2QGRwZGsub3JnDQo+IFN1YmplY3Q6IFJFOiBb UEFUQ0ggdjEgMS8yXSBuZXQvdmlydGlvOiByZXN0cmljdCBwb2ludGVyIGFsaWFzaW5nIGZvciBO RU9ODQo+IHZwbWQNCj4NCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206 IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+ID4gU2VudDog VHVlc2RheSwgSnVuZSAyMywgMjAyMCA0OjQ4IFBNDQo+ID4gVG86IEpveWNlIEtvbmcgPEpveWNl LktvbmdAYXJtLmNvbT47IGplcmluakBtYXJ2ZWxsLmNvbTsNCj4gPiB6aGlob25nLndhbmdAaW50 ZWwuY29tOyB4aWFvbG9uZy55ZUBpbnRlbC5jb207IEhvbm5hcHBhIE5hZ2FyYWhhbGxpDQo+ID4g PEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb20+OyBQaGlsIFlhbmcgPFBoaWwuWWFuZ0Bhcm0u Y29tPjsNCj4gUnVpZmVuZw0KPiA+IFdhbmcgPFJ1aWZlbmcuV2FuZ0Bhcm0uY29tPg0KPiA+IENj OiBkZXZAZHBkay5vcmcNCj4gPiBTdWJqZWN0OiBSZTogW1BBVENIIHYxIDEvMl0gbmV0L3ZpcnRp bzogcmVzdHJpY3QgcG9pbnRlciBhbGlhc2luZyBmb3INCj4gPiBORU9OIHZwbWQNCj4gPg0KPiA+ DQo+ID4NCj4gPiBPbiA2LzExLzIwIDU6MzIgQU0sIEpveWNlIEtvbmcgd3JvdGU6DQo+ID4gPiBS ZXN0cmljdCBwb2ludGVyIGFsaWFzaW5nIHRvIGFsbG93IHRoZSBjb21waWxlciB0byB2ZWN0b3Jp emUgbG9vcHMNCj4gPiA+IG1vcmUgYWdncmVzc2l2ZWx5Lg0KPiA+ID4NCj4gPiA+IFdpdGggdGhp cyBwYXRjaCwgYSA5LjYlIGltcHJvdmVtZW50IGlzIG9ic2VydmVkIGluIHRocm91Z2hwdXQgZm9y DQo+ID4gPiB0aGUgdmlydGlvLW5ldCBQVlAgY2FzZSwgYW5kIGEgMi40JSBwZXJmIGltcHJvdmVt ZW50IGluIHRocm91Z2hwdXQNCj4gPiA+IGZvciB0aGUgdmlydGlvLXVzZXIgUFZQIGNhc2UuIEFs bCBwZXJmb3JtYW5jZSBkYXRhIGFyZSBtZWFzdXJlZA0KPiA+ID4gdW5kZXIgdGhlIDAuMDAxJSBh Y2NlcHRhYmxlIHBhY2tldCBsb3NzIHdpdGggMiBjb3JlcyBvbiB0aGUgdmhvc3QNCj4gPiA+IHNp ZGUuDQo+ID4gPg0KPiA+ID4gU2lnbmVkLW9mZi1ieTogSm95Y2UgS29uZyA8am95Y2Uua29uZ0Bh cm0uY29tPg0KPiA+ID4gUmV2aWV3ZWQtYnk6IFBoaWwgWWFuZyA8cGhpbC55YW5nQGFybS5jb20+ DQo+ID4gPiAtLS0NCj4gPiA+ICBkcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3J4dHhfc2ltcGxl X25lb24uYyB8IDQgKystLQ0KPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyks IDIgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBWZXJ5IG5pY2UsIHdlIHNob3VsZCBjb25zaWRlciBk b2luZyB0aGUgc2FtZSBvbiBvdGhlciBwbGF0Zm9ybXMuDQo+ID4NCj4gPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3J4dHhfc2ltcGxlX25lb24uYw0KPiA+IGIvZHJp dmVycy9uZXQvdmlydGlvL3ZpcnRpb19yeHR4X3NpbXBsZV9uZW9uLmMNCj4gPiA+IGluZGV4IDM2 M2UyYjMzMC4uYzA4ZGQ1MWZiIDEwMDY0NA0KPiA+ID4gLS0tIGEvZHJpdmVycy9uZXQvdmlydGlv L3ZpcnRpb19yeHR4X3NpbXBsZV9uZW9uLmMNCj4gPiA+ICsrKyBiL2RyaXZlcnMvbmV0L3ZpcnRp by92aXJ0aW9fcnh0eF9zaW1wbGVfbmVvbi5jDQo+ID4gPiBAQCAtMzYsOCArMzYsOCBAQA0KPiA+ ID4gICAqIC0gbmJfcGt0cyA8IFJURV9WSVJUSU9fREVTQ19QRVJfTE9PUCwganVzdCByZXR1cm4g bm8gcGFja2V0DQo+ID4gPiAgICovDQo+ID4gPiAgdWludDE2X3QNCj4gPiA+IC12aXJ0aW9fcmVj dl9wa3RzX3ZlYyh2b2lkICpyeF9xdWV1ZSwgc3RydWN0IHJ0ZV9tYnVmICoqcnhfcGt0cywNCj4g PiA+IC11aW50MTZfdCBuYl9wa3RzKQ0KPiA+ID4gK3ZpcnRpb19yZWN2X3BrdHNfdmVjKHZvaWQg KnJ4X3F1ZXVlLCBzdHJ1Y3QgcnRlX21idWYgKipfX3Jlc3RyaWN0DQo+ID4gPiArcnhfcGt0cywg dWludDE2X3QgbmJfcGt0cykNCj4gPg0KPiA+IElzIF9fcmVzdHJpY3Qgc3VwcG9ydGVkIGJ5IGFs bCB0aGUgY29tcGlsZXJzPw0KPiA+IFdvdWxkbid0IGl0IGJlIGJldHRlciB0byBpbnRyb2R1Y2Ug YSB3cmFwcGVyPw0KPg0KPiArMSBmb3IgdGhpcy4NCj4gSW4gbXkgdW5kZXJzdGFuZGluZywgdGhl IF9fcmVzdHJpY3Qga2V5d29yZCBpcyByZWNvZ25pemVkIGluIEMgYXQgYWxsIGxhbmd1YWdlDQo+ IGxldmVscy4NCj4gSG93ZXZlciwgdGhlIHJlc3RyaWN0IGtleXdvcmQgaXMgcmVjb2duaXplZCBp biBDIHVuZGVyIGNvbXBpbGF0aW9uIHdpdGggYzk5Lg0KPiBEUERLIHVzZXMgdGhlIHJlc3RyaWN0 IHF1YWxpZmllciBhIGxvdCwgd2hpY2ggbWlnaHQgaGF2ZSBzb21lIGlzc3VlcyB3aXRoDQo+IHNv bWUgb2xkIGNvbXBpbGVycy4NCj4gU28gdGhlIHdyYXBwZXIgd2lsbCBiZSB1c2VmdWwuDQo+DQo+ IFRoYW5rcywNCj4gUGhpbA0KPg0KDQpUaGFua3MgZm9yIHRoZSBzdWdnZXN0aW9uLCBJIHNoYWxs IGludHJvZHVjZSBhIHdyYXBwZXIgdG8gc3VwcG9ydCBhbGwgdGhlIGNvbXBpbGVycw0KaW4gbmV4 dCB2ZXJzaW9uLg0KDQo+ID4NCj4gPiA+ICB7DQo+ID4gPiAgc3RydWN0IHZpcnRuZXRfcnggKnJ4 dnEgPSByeF9xdWV1ZTsgIHN0cnVjdCB2aXJ0cXVldWUgKnZxID0NCj4gPiA+IHJ4dnEtPnZxOw0K PiA+ID4NCj4NCg0KSU1QT1JUQU5UIE5PVElDRTogVGhlIGNvbnRlbnRzIG9mIHRoaXMgZW1haWwg YW5kIGFueSBhdHRhY2htZW50cyBhcmUgY29uZmlkZW50aWFsIGFuZCBtYXkgYWxzbyBiZSBwcml2 aWxlZ2VkLiBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCBwbGVhc2Ugbm90 aWZ5IHRoZSBzZW5kZXIgaW1tZWRpYXRlbHkgYW5kIGRvIG5vdCBkaXNjbG9zZSB0aGUgY29udGVu dHMgdG8gYW55IG90aGVyIHBlcnNvbiwgdXNlIGl0IGZvciBhbnkgcHVycG9zZSwgb3Igc3RvcmUg b3IgY29weSB0aGUgaW5mb3JtYXRpb24gaW4gYW55IG1lZGl1bS4gVGhhbmsgeW91Lg0K