From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 36242C43334 for ; Tue, 28 Jun 2022 21:03:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9B4AD8E0002; Tue, 28 Jun 2022 17:03:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 93D3C8E0001; Tue, 28 Jun 2022 17:03:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 769978E0002; Tue, 28 Jun 2022 17:03:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 602478E0001 for ; Tue, 28 Jun 2022 17:03:05 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 35D7D22A38 for ; Tue, 28 Jun 2022 21:03:05 +0000 (UTC) X-FDA: 79628869530.13.B6C7703 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2045.outbound.protection.outlook.com [40.107.223.45]) by imf31.hostedemail.com (Postfix) with ESMTP id A683D2002B for ; Tue, 28 Jun 2022 21:03:04 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WsrHjyPKVOpYtVBGF0TsnZdEIT7SSuMhOEvjelJJgNuND/r7nYArlJVCbV+utcN1mbfIn9bUzswWT3NXiE6Kts9Bg9W0xEMtfGJCw0PBxV/ybRi0uuachSdIiFuAmnDnF3gcuGuuR4WNBs9Sh8PMHjKZXfjcTiWK9kvYAVi4oXejeyHGx45dNZc7NPxqccS+R3OkQqaCSSlTkb/3ofnSfEOSbQ8ByaY7t8YQkcC8KVg7En+dNyHLZX6zpIGkS2DkrEpwZ0M6lK6pnYT4HslU+cMz/DFjUIaUQcX+qoFn/xhrY7+ptOhlFFrBENnWEnHjGa725iOhdFjzY26pDMMMQg== 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=57fWbEAfKcMD1P5levJfhv7VGJhL+78qXcVrnumJ+iM=; b=VtJyNepdGYv+vZYqFLGJA6psmscqx09ZM1s2SOA3yXjQ4LorRvDLGLzhjKJt6WladWTDSzZJpp9EKKIJqioVLyeTp9+TEqyvALZekNCBa0QgH4uN2pz1YugzuJCh68uSi8KKpwmJviRI08maJtNa+AYrmuaG26HRclFVO5dKX2+rAQOTJRK4PuwB7jMe4TuJ5o2aWwne35OzajPIglmVjXr9/XfcPAj+/76z4gUl8CsvV4f+ZrHSnnGDltZuJkswMahgLbtiBEkD3M2eIZQAjo0RRPEpTUq7Asni8lzEum053oWyY/+IhcmH2rTdsILSqrmTbjLWzwp+t8ADpRomwQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vmware.com; dmarc=pass action=none header.from=vmware.com; dkim=pass header.d=vmware.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=57fWbEAfKcMD1P5levJfhv7VGJhL+78qXcVrnumJ+iM=; b=HJ9lJvFhPNZL6OC/nvc/V1eZPpfIinqWj2856FGObJarCw9mkUsbL/R/4X10l/pWMlmf9rWKvkADROuADSInqZc9yok1dS18jDKM7mniRMr3siz/K24cmRPxCN82Ia5IGyLmd8bs7hEJKlU62OjpEUcdYdDLsNIUynnWPhM5IrM= Received: from BY3PR05MB8531.namprd05.prod.outlook.com (2603:10b6:a03:3ce::6) by BN7PR05MB5889.namprd05.prod.outlook.com (2603:10b6:408:a::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.14; Tue, 28 Jun 2022 21:03:02 +0000 Received: from BY3PR05MB8531.namprd05.prod.outlook.com ([fe80::a4f8:718a:b2a0:977f]) by BY3PR05MB8531.namprd05.prod.outlook.com ([fe80::a4f8:718a:b2a0:977f%5]) with mapi id 15.20.5395.012; Tue, 28 Jun 2022 21:03:02 +0000 From: Nadav Amit To: Peter Xu CC: Linux MM , Mike Kravetz , Hugh Dickins , Andrew Morton , Axel Rasmussen , David Hildenbrand , Mike Rapoport , Dave Hansen Subject: Re: [PATCH v1 2/5] userfaultfd: introduce access-likely mode for common operations Thread-Topic: [PATCH v1 2/5] userfaultfd: introduce access-likely mode for common operations Thread-Index: AQHYhqiRUk3vhOHs90CD+bXeUTpwQa1do3aAgAAC7YCAAAQpgIAAA9gAgAAh8ACAAApnAIABQviAgAAFQACAAKAMAIADfsaAgACupwCAAUkNgIAAFRcAgAAHIYCAAAHkgA== Date: Tue, 28 Jun 2022 21:03:02 +0000 Message-ID: <0E95DBE9-8E0C-4869-A5EA-95C2C4840FD3@vmware.com> References: <18BCC23E-B344-41A8-926D-A49D768485AF@vmware.com> <6EF7D3B4-CF17-407B-A50F-B14D595E99A5@vmware.com> <07B65135-CA6D-4839-BAC0-6D63A94F50C2@vmware.com> <9B0B584B-DE1B-48E3-B448-9D6C02DBDD20@vmware.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3696.100.31) x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a1fd3cd4-16e7-4ef6-df02-08da594996ba x-ms-traffictypediagnostic: BN7PR05MB5889:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8tes8CJ1gLuwOeJOHPGvLmo4lI65JViluyp9fnHomWlUN8EQtOOMPi2LaSh/sQm935h3cm4kiNQJh2cAywlpRVt+3AvwYHbLZuge/ahRkOCfhtMt4RXnZce3SvMsYGiobHQ29j3LpbQsU4qsp/UsdXf3fUrlhOYQAL5SQsgPJgMRDdpurMWeK+TYPyxb/yTsc97m0YZafnWEmhvx3zNM5jZtpiLkMznIJ2HFSEBYxYuSy5Hnad7fA5pBVlN8lkTPKDi6FxtJ4+yTEJU64iaCAg1+U5QEmUCayd6LUcLKthNoVNBNPiIf5HRr8UUFkOXrler3LFqqZhugBCgkyEwMzU5wHObpKqWfjN2BHWslGkRMbp8UrclxV4c0mh6Z49Io7vG4m+7+TMi7q2d8Y3VW+MrHZ5UHZSZISuEpiNX/yTqUC22L4kRh7TQ8Umvv1H+YHh5hcvbI+0B2T0XogaC+GdjzK6Ee2ZuiVdsXCUv6fQU29bE+Y9qtOYQgkNiU4LuqU/R+G7WR9RtUd3X9fQlE8+Hu2MW3eAEdeTksYhtoeutknFXSKKSqeP2S7bkfaRsU3HYQa6NPtb7x5EFTvX2HHyl/wN5Gpz3fnzRDutGqXOWZ3PAkerhAwGpotSQTPrFcE7Cz5yXXgYrnNAPX6Trh43w4v9W+JZ96JNdTKpM9pCmAGQS3I8AOVEBvViWXnjx48aElW2t8dp1szHZqVYIKc6NlYDO/6GbQn13rQtFwWEe1dgf+BsRn/snbqDhxJwH9UBzya1nBZahM/LeFgzviHTFC4dOlbRADQUTI09omfqZNhQS9YLOClhey4s3YD6Mu9fFjVZjAapKZVcq2CaSi+Q== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY3PR05MB8531.namprd05.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(136003)(346002)(39860400002)(396003)(366004)(376002)(66556008)(66946007)(66476007)(4326008)(64756008)(83380400001)(8936002)(76116006)(66446008)(8676002)(2906002)(38070700005)(478600001)(6486002)(5660300002)(71200400001)(33656002)(6916009)(26005)(186003)(38100700002)(54906003)(316002)(36756003)(6512007)(2616005)(53546011)(41300700001)(122000001)(6506007)(86362001)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WEZoR3lTc0o3Sms5empUNmd5UE9lTzlxNUFkU1NoSkxUQ2NGbUR5RUlQWENU?= =?utf-8?B?UGNidnZnanZ1ZEFEWjhxNHRlM0RleGI1d0pZU21kNlJ4NUJvYVJpdUlIdG5k?= =?utf-8?B?ckNPTWxROUpmOFpPeEtyc0lReHF2NFkyUXhSOGNOam8rYzhuUG5QY0EzSm03?= =?utf-8?B?YmxTZnhhcFFiaGtrVVNtSFd3TFowTHB1ZlVjbVNFQVVLT0w4aDdkK3g2cjlH?= =?utf-8?B?QmRqM2N5YUdCZy8vWnJXUHJZSGY2UHB0YWtXbGcxL0JsZndQbHNjd1JyNXlG?= =?utf-8?B?bUt0QXVuZHhvMkduVDY1T0t4QklRdkFGak1QQWhuNytNVm80RmJxZDFaOFVW?= =?utf-8?B?SnRQT2hiNEl3TGlUd3NDYUExNkJPZFlNVTNGaVpuWDhDMTVYSGhJMU5ua0Zt?= =?utf-8?B?Zmo1cWdNZGRWNnVPbmZ5S0cyWFlIMGpqSUVYQU9lSHJqY21WM0k5ZWl5UUZ4?= =?utf-8?B?OFo0aldNN2V2NGpXVDZ4bFdLZzBkUUEwbmxzM3h0dzZTTTdERFNybUo2a1Zq?= =?utf-8?B?aEJ0ZFBhRXBzTFpjRUJVQ3BEQ2l1UG95LzZNRHFpVVNyb1ptQkVac2ZsWHNx?= =?utf-8?B?bGp4d1Z3dFI4NW9zNVA0bHFTdThacEVBQ2NVRFRQa0syUStnOExWdmNab212?= =?utf-8?B?Y1dhNGQ0MDN2NDR5c2VuT3dUTVRkS2R1cDN5RG52UG5xR2VwUnh1L2Q3KzVE?= =?utf-8?B?RHV3cVdNNUFOVVQxMzdJNDRXQUVpMCtSQVAzcDhXbDF5T3lZb05nM3o3dnpM?= =?utf-8?B?ZWQxL3BTOVNUOHlJeHZYL09vbW9COGQ5VVZQTTVvdjhBYy9jYmxpNFBLM2Yr?= =?utf-8?B?cnNtQm4xRWErVjBiZHJvSHQrNVJDMzcxQ1A5SURjeXR4bmo5bmZCZWowWDdC?= =?utf-8?B?Qm44UFh4eFRkbEsxWStWZ1BScHJ5ZVJtMThITjVwUUtkNGR0VlJNUFQ5VEhm?= =?utf-8?B?NnVSRXZ2TzRvU0J5YWdSWHRiRlhTZGl3K2dzSHE4Ylc3UWw3dm05TEdmOVk5?= =?utf-8?B?Sks3am85NE4wZm8xblFYRGFESjB0d3NwUm4rQitOb3RxVkNwRHYybDBwZ0Z4?= =?utf-8?B?VHlVUW9IMVRYWmNIWmxUWm1hazc2TG1iTTJ4dWpBbjNoRmVrcjJydDZEdlIv?= =?utf-8?B?NUJjOERzTmkyOThEWkN0M1JTSmVmQStaNTRzNVhyanErL2NMUzE0enlOVERu?= =?utf-8?B?S0N4bTJrNmdJM2ZHTi8vM1hramt4b01IUWdtMTd0djRxRFdJd25FZlYvSUt5?= =?utf-8?B?LzI0aHpyekxFSUo4OWJqaktrVm53OXRyNktUbzFSV3VEd3RXUExsODg1ME1u?= =?utf-8?B?b3hNaHVBTVRiY0grSHIyVXBpZk8vQnF4UFdkejUrejYvQnZ3OFcyRVRYZ29j?= =?utf-8?B?dTV2S2dNRmdOak9wLzBhbFVheXlMRW5ud2ljQ3Q1NmtCYVMxVi9XZHdVZXJ0?= =?utf-8?B?ZWV5STg5c01Ja3dxeFhweUZVWGZ3TFAxK3hXckd6NFk0NXd2N1NvZEg2bWY4?= =?utf-8?B?RUFJMzVJdk1KUXdqS1N2TWI4amJKSWZDd3hQNHh6Y2FsVm4vZDR6WnlHZ1h0?= =?utf-8?B?RmVZZm1MUmY2QlpkMVJaemphSUh1TjJjRHpaRGdVYWU3SisyUUN6OVdhRFA0?= =?utf-8?B?U1JoOUxFc1V0Q3YzNzk5Q1hOL1pDczFzS1A0MUVBOEhrc1ZvajZRb2hTSzZ2?= =?utf-8?B?QjY1bHJqY2h5VlR3Y0o1S3UvR1dMNGZWUExjVFJ4enpNTjM3M2p3d3JISkdt?= =?utf-8?B?dVA3RzJMdzRIVE15aWlLSmg5L1NzK3psbTBwVm11ckN6Vm9ZMFVFRDEyNm1k?= =?utf-8?B?WEVSTUh4dUdUSUhyT1h3emJqOEIwQ09EUHEvenQ3Tk5FK3YxRGFLS3Jtbi9W?= =?utf-8?B?Um5zeEtUbXZiY2pHN0VaenhkejRUcjFyQlU5RE50QTF0N2gyR1VJVHFxZkNO?= =?utf-8?B?aWFZT0ZHTTk2cHJSbUtOU2s1b09CY3NsQllPbkFvZ2lKL1FIN3U1L3JXZGlr?= =?utf-8?B?TmtmbkZQeDQySkpCTDhlZG5SdC9oYmdWMHVveVJkbElWbHgxS2NXVHVCUjBO?= =?utf-8?B?MGtXMmpWOFZrWDY4RGFpeDMzZUpFS2dQZnh1U3FuYzlFeGFlS01WNUJPbG9P?= =?utf-8?Q?en7j19YOMvdODFHrH8XJCBjMp?= Content-Type: text/plain; charset="utf-8" Content-ID: <843589698A64CF4884B4C5DB9F1CF8E5@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY3PR05MB8531.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a1fd3cd4-16e7-4ef6-df02-08da594996ba X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jun 2022 21:03:02.2191 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Vtv5KEcsRfJEvWIIqE6LlmwK9BjDSZDFZcADH3Bh4Rcst/K1lUHejcoEn9yvnsNrg1k3QTKE/wUYWNJD0sgtpg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR05MB5889 ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1656450184; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=57fWbEAfKcMD1P5levJfhv7VGJhL+78qXcVrnumJ+iM=; b=inSG54I009Zc65/aaZliKquH5b3tMhIk73gIjJPp5Kn8uZG43dviRAzky/3WTPk/NvOIxV Lm0xej5jkeJoNJ1RGxItWdy8MPsDcL6UoqFOw5o5D27Q4mdjlUeSsHcwwCZH5e+HCTsEi9 TtKiyJOnVjJdnb12TjrgoRVu2QrrRP4= ARC-Authentication-Results: i=2; imf31.hostedemail.com; dkim=pass header.d=vmware.com header.s=selector2 header.b=HJ9lJvFh; dmarc=pass (policy=quarantine) header.from=vmware.com; spf=none (imf31.hostedemail.com: domain of namit@vmware.com has no SPF policy when checking 40.107.223.45) smtp.mailfrom=namit@vmware.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1656450184; a=rsa-sha256; cv=pass; b=jVtByKii3SJdjqVAdv3qW9l53W6prUrpGbjUvIwGYDspZJJ8B6BhCXAHOhHFvESVfTpb/J Rfps6x4zR5qUIIPcDa3ICZWpGytXncj5i7dPwHkpL/F3unWHR2ond5epmLf52Y3Eaw8KaK 8sfdrLHS8L+4pGET6AL+n+u2NdwRHR4= X-Rspamd-Queue-Id: A683D2002B Authentication-Results: imf31.hostedemail.com; dkim=pass header.d=vmware.com header.s=selector2 header.b=HJ9lJvFh; dmarc=pass (policy=quarantine) header.from=vmware.com; spf=none (imf31.hostedemail.com: domain of namit@vmware.com has no SPF policy when checking 40.107.223.45) smtp.mailfrom=namit@vmware.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: kru19bjuxkec1d48bbfe8nfqqpcwgnhj X-HE-Tag: 1656450184-651413 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: T24gSnVuIDI4LCAyMDIyLCBhdCAxOjU2IFBNLCBQZXRlciBYdSA8cGV0ZXJ4QHJlZGhhdC5jb20+ IHdyb3RlOg0KDQo+IE9uIFR1ZSwgSnVuIDI4LCAyMDIyIGF0IDA4OjMwOjQ2UE0gKzAwMDAsIE5h ZGF2IEFtaXQgd3JvdGU6DQo+Pj4gT24gSnVuIDI4LCAyMDIyLCBhdCAxMjoxNSBQTSwgUGV0ZXIg WHUgPHBldGVyeEByZWRoYXQuY29tPiB3cm90ZToNCj4+PiANCj4+PiDimqAgRXh0ZXJuYWwgRW1h aWwNCj4+PiANCj4+PiBPbiBNb24sIEp1biAyNywgMjAyMiBhdCAxMTozNzozMlBNICswMDAwLCBO YWRhdiBBbWl0IHdyb3RlOg0KPj4+PiBCZXNpZGVzIHRoZSBiZW5lZml0IG9mIGF2b2lkaW5nIGEg VExCIGZsdXNoLCB0aGVyZSBpcyBhbHNvIHRoZSBiZW5lZml0DQo+Pj4+IG9mIGhhdmluZyBtb3Jl IHByZWNpc2UgZGlydHkgdHJhY2tpbmcuIFlvdSBhc3N1bWUgVUZGRElPX0NPTlRJTlVFIHdpbGwg YmUNCj4+Pj4gcHJlY2VkZWQgYnkgbWVtb3J5IHdyaXRlIHRvIHRoZSBzaGFyZWQgbWVtb3J5LCBi dXQgdGhhdCBkb2VzIG5vdCBoYXZlIHRvDQo+Pj4+IGJlIHRoZSBjYXNlLiBTaW1pbGFybHksIGlm IGluIHRoZSBmdXR1cmUgdXNlcmZhdWx0ZmQgd291bGQgYWxzbyBzdXBwb3J0DQo+Pj4+IG1lbW9y eS1iYWNrZWQgcHJpdmF0ZSBtYXBwaW5ncywgdGhhdCBkb2VzIG5vdCBoYXZlIHRvIGJlIHRoZSBj YXNlIGVpdGhlci4NCj4+PiANCj4+PiBDb3VsZCBJIGFzayB3aGF0J3MgdGhlIG5vdCBzdXBwb3J0 ZWQgcHJpdmF0ZSBtYXBwaW5nIHlvdSdyZSB0YWxraW5nIGFib3V0DQo+Pj4gKGFuZCBJIHRoaW5r IHlvdSBtZWFudCAiZmlsZS1iYWNrZWQiKT8gSSB0aG91Z2h0IGFsbCBraW5kcyBvZiBwcml2YXRl DQo+Pj4gbWFwcGluZ3MgYXJlIHN1cHBvcnRlZCBvbiBhbGwgbW9kZXMgYWxyZWFkeT8NCj4+IA0K Pj4gWWVzLCBJIG1lYW50IGZpbGUtYmFja2VkLiBTZWUgdm1hX2Nhbl91c2VyZmF1bHQoKSBmb3Ig dGhlIHN1cHBvcnRlZA0KPj4gdHlwZXMgb2YgbWVtb3J5Og0KPj4gDQo+PiBzdGF0aWMgaW5saW5l IGJvb2wgdm1hX2Nhbl91c2VyZmF1bHQoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsDQo+PiB1 bnNpZ25lZCBsb25nIHZtX2ZsYWdzKQ0KPj4geyANCj4+IGlmICh2bV9mbGFncyAmIFZNX1VGRkRf TUlOT1IpDQo+PiByZXR1cm4gaXNfdm1faHVnZXRsYl9wYWdlKHZtYSkgfHwgdm1hX2lzX3NobWVt KHZtYSk7DQo+PiANCj4+ICNpZm5kZWYgQ09ORklHX1BURV9NQVJLRVJfVUZGRF9XUA0KPj4gLyoN Cj4+ICogSWYgdXNlciByZXF1ZXN0ZWQgdWZmZC13cCBidXQgbm90IGVuYWJsZWQgcHRlIG1hcmtl cnMgZm9yDQo+PiAqIHVmZmQtd3AsIHRoZW4gc2htZW0gJiBodWdldGxiZnMgYXJlIG5vdCBzdXBw b3J0ZWQgYnV0IG9ubHkNCj4+ICogYW5vbnltb3VzLg0KPj4gKi8gDQo+PiBpZiAoKHZtX2ZsYWdz ICYgVk1fVUZGRF9XUCkgJiYgIXZtYV9pc19hbm9ueW1vdXModm1hKSkNCj4+IHJldHVybiBmYWxz ZTsNCj4+ICNlbmRpZg0KPj4gcmV0dXJuIHZtYV9pc19hbm9ueW1vdXModm1hKSB8fCBpc192bV9o dWdldGxiX3BhZ2Uodm1hKSB8fA0KPj4gdm1hX2lzX3NobWVtKHZtYSk7DQo+PiB9DQo+IA0KPiBJ J20gY29uZnVzZWQuIExldCBtZSBhc2sgaW4gYW5vdGhlciB3YXk6IGRvIHlvdSBtZWFuICFWTV9T SEFSRUQgd2hlbiB5b3UNCj4gc2F5ICJwcml2YXRlIj8NCj4gDQo+IEJvdGggc2htZW0gJiBodWdl dGxiIHN1cHBvcnQgcHJpdmF0ZSBtYXBwaW5ncyBmb3IgYWxsIHRocmVlIG1vZGVzLCBhZmFpY3Qu DQoNClNvcnJ5LCBsZXQgbWUgbW9yZSBjbGVhci4gSSBtZWFudCBwcml2YXRlICghVk1fU0hBUkVE KSBmaWxlLWJhY2tlZCBtZW1vcnkuDQoNCj4gDQo+Pj4gV2VsbCBJIG5ldmVyIHRob3VnaHQgYW55 b25lIHdvdWxkIGJlIHVzaW5nIHNvZnQtZGlydHkgd2l0aCB1ZmZkIGJlY2F1c2UNCj4+PiBsb2dp Y2FsbHkgdWZmZC13cCB3YXMgc29tZWhvdyB0cnlpbmcgdG8gcmVwbGFjZSBpdCB3aXRoIGEgYmV0 dGVyIGludGVyZmFjZSwNCj4+PiBob3BlZnVsbHkuDQo+PiANCj4+IEkgaGF2ZSBoZWFyZCBhYm91 dCBzb21lIHdobyBkb2VzIChub3QgbWUpLiBTbyBJIGRvIG5vdCBtYWtlIGl0IHVwLA0KPj4gdW5m b3J0dW5hdGVseS4NCj4gDQo+IElmIGluIGFueSBmb3JtIHlvdSBjYW4gZ2V0IHRoZSByZWFzb24g b2YgdXNpbmcgc29mdC1kaXJ0eSBpbiB0aGF0IHVzZSBjYXNlDQo+IHBsZWFzZSBraW5kbHkgc2hh cmUgbW9yZS4gSSB0aGluayBpdCBjb3VsZCBiZSB0aGF0IHVmZmQtd3AgaXMgbm90IHdvcmtpbmcN Cj4gYXMgZ29vZCBhcyBzb2Z0LWRpcnR5IGluIHNvbWUgd2F5IGJ1dCB3ZSBjYW4gdGhpbmsgYWJv dXQgaXQgd2hlbiB0aGVyZSdzIGENCj4gdmFsaWQgdXNlIGNhc2UsIHNvIHVsdGltYXRlbHkgaXQn cyBtb3JlIHBvc3NpYmxlIGZvciBhIGZ1bGwgcmVwbGFjZW1lbnQuDQo+IA0KPiBTeW5jIG1lc3Nh Z2VzIGNhbiBiZSBhIHByb2JsZW0gYW5kIHRoZXkncmUgaW5kZWVkIHNsb3csIHNvZnQtZGlydHkg aXMgYnkNCj4gbmF0dXJlIGFzeW5jLiBCdXQgc3RpbGwgSSdkIGxpa2UgdG8gY2hlY2sgaW4gY2Fz ZSB5b3Uga25vdy4NCg0KSXTigJlzIG5vdCBteSB0aGluZyAobm90IFZNd2FyZeKAmXMgZWl0aGVy KSwgc28gSSBkbyBub3QgZmVlbCBmcmVlIG9mIHNoYXJpbmcsDQpidXQgYW55aG93IEkga25vdyB2 ZXJ5IGxpdHRsZS4gSSB0aGluayB0aGF0IHByb2plY3Qgc3RhcnRlZCBiZWZvcmUgdWZmZC13cA0K d2FzIGltcGxlbWVudGVkIGFuZCB0aGF04oCZcyB0aGUgcmVhc29uIHRoZXkgdXNlIHRoaXMgc3Ry YW5nZSBjb21iaW5hdGlvbi4gSXQNCnNob3VsZCBub3QgYmUgb3VyIG1haW4gbW90aXZhdGlvbiAt IGp1c3QgdG8gc2F5IHRoYXQgdXNlcnMgYXJlIOKAnGNyZWF0aXZl4oCdLg0KDQpBZ2FpbiwgSSB3 aWxsIGdldCBiYWNrIHRvIHlvdSB3aXRoIHRoZSByZXN0Lg0KDQo=