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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C6DBEC54E71 for ; Tue, 19 Mar 2024 23:27:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=rfbE2eFIPWNgWgteFQ54MmtJ/acItEBe6+qdrMDY3XE=; b=yriUY/qH9PW+Bw 60A1dHcUDn/9BxukTCp5OhQZfLdxVkIhRH0Jhpc5q/pPIEsrzg3pnPigwZ9sd7frRlUU3uURfBZW0 iUFwkatB8rtUrHkgQLTqsjmLHTtpl+iXzqFnI5k5Sb6orEW1Nlm2J/BWZjFVvtCHmbuV1/vWn/uk+ ybw3ikrvKQQSCO28cQbGHcBLUdL79h7K9r2DMpIVYYTmmjlv3iyeKLG+ejtg+3ExTwBeQua/+iWgF TGjbvhCI+cum6rjuRxeSdrp6tQP0oBuGE6oDH27EIVnJZZUsh9zncx7GDjkRBp7KhiLr2bfPYkSy/ w+mrOPG2KTrs/Qng4voQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rmirP-0000000Ecid-1FCJ; Tue, 19 Mar 2024 23:27:11 +0000 Received: from mail-dm6nam12on20601.outbound.protection.outlook.com ([2a01:111:f403:2417::601] helo=NAM12-DM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rmirM-0000000Ech2-0xxH for linux-arm-kernel@lists.infradead.org; Tue, 19 Mar 2024 23:27:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PIjdKyMOu1z3tNGqXyOxJaKs8fisBc970k+FuuwfOc8PlTjylUDiOpZ2LmxFw/h+35vGwdjN7364QM9xCAptT/njCctwf9YD6E7u+D7S8PS7vjrKUBaNVaKTTaITY3OI/iF02+f8OJ+KTZdm5o8KrH4NPutiE7ZG+6ezs8WSTfpALqXEybNaQ/9IO4ojuY6dRYMez99LswRe/rnh+jwtZPrl0qK/fxrWSkVlwsf5F5JD/NQGshPzCETCEszf56AdmQyxdLBcG06DIAiv0zWPRHqR900oNhbFj5UeRcgjE3V0jFM0OcaQqmZJ05dzoTjMvpft9Aw8h0KyffNl9dtx8Q== 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=kTBjnh4ouq7OW3t/XSXak8zzpI/M48KXChPCsfV+KII=; b=k8OshPRQCr3PWXIeSPzdZKcCQIHDPvALOTZtw+M5HeOwsIJFJ2EFYSEV+mkQEPHhzbB2saIdH8WE57jvb+niruMFItqi2CDv/7uMa1A7nlwQ6w5skr7mMuqexMT6FagBHvvlRSBJvaa7NzFh5PQc43QWJtx0ecJkSKotx8x3vGlTfDqUlX11Erc0HUpQXtESvdIq/VPOAtuR2aMufugACGhLPGOEIeWh4wmWBbtl/Eh5Bpg6jaxOkyi0h14vUvPw+U2v6vxKpJfZAVa6ysfrcxlXt+vmyyEr8TQ7U4jmDeR7JvrU4md7v5ZnLL5B1gzO3yOnSUIDkrwXGW1X5XlQow== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kTBjnh4ouq7OW3t/XSXak8zzpI/M48KXChPCsfV+KII=; b=iitv6AXA8afrm0lGV/NGosYbAqtC/Hp/96JzZmQnyey6gco2sOsxuCmWKwhxNRan5J2UXfhGE7Rmnqeaxj487jQ21rrhm3/eaN8Fn7VzIGlouqF6WB0ppvj0tGuxAITOimfFAkLCBebgTVhal7O4OwsJ4kJ78EwRHsqpxU7HQ6g6hBxBfFf7JIu8GIGxJ+bBtklL3hoYTZ/43j4EBvoKNR4XAWykKuEmpCEFiS858dXHWJgWTaQF/G9isIkM1rYRYWl5JOmw3rERCChgjrjhS/ceTUglOEAymNDyovHmkU7s1dZBfNZa5ewupCv0VI1hq6U8iV3g6z0iEwQSBTSLZg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from DM6PR12MB3849.namprd12.prod.outlook.com (2603:10b6:5:1c7::26) by MW3PR12MB4441.namprd12.prod.outlook.com (2603:10b6:303:59::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.30; Tue, 19 Mar 2024 23:26:58 +0000 Received: from DM6PR12MB3849.namprd12.prod.outlook.com ([fe80::6aec:dbca:a593:a222]) by DM6PR12MB3849.namprd12.prod.outlook.com ([fe80::6aec:dbca:a593:a222%5]) with mapi id 15.20.7386.025; Tue, 19 Mar 2024 23:26:57 +0000 Date: Tue, 19 Mar 2024 20:26:56 -0300 From: Jason Gunthorpe To: Christophe Leroy Cc: Peter Xu , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "linux-arm-kernel@lists.infradead.org" , Matthew Wilcox , "linuxppc-dev@lists.ozlabs.org" , Andrew Morton , "x86@kernel.org" , Mike Rapoport , Muchun Song , "sparclinux@vger.kernel.org" , Michael Ellerman , Nicholas Piggin , "Aneesh Kumar K.V" , "Naveen N. Rao" Subject: Re: [PATCH 09/13] mm/powerpc: Redefine pXd_huge() with pXd_leaf() Message-ID: <20240319232656.GC159172@nvidia.com> References: <20240313214719.253873-1-peterx@redhat.com> <20240313214719.253873-10-peterx@redhat.com> <7b7d6ce1-4a3f-4392-951d-a9bd146c954c@csgroup.eu> <1f6ad500-3ff7-44d4-8223-067bd2ed9ffe@csgroup.eu> <20240318161519.GA5825@nvidia.com> Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: DS7PR03CA0207.namprd03.prod.outlook.com (2603:10b6:5:3b6::32) To DM6PR12MB3849.namprd12.prod.outlook.com (2603:10b6:5:1c7::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6PR12MB3849:EE_|MW3PR12MB4441:EE_ X-MS-Office365-Filtering-Correlation-Id: 9d781e57-9494-4738-6727-08dc486c1222 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5JEuA4PkqkQAtolcVQFsfDFLwHNNDT9Qg5xxD7WXOntanr/Kf47e+hqm4RDKWOykygxe/NspKnkOcSLgyqVbrZaxW2pKH/KqgTG3gBO7EW27XT3UGi3VjPya2pjzJEKMJMHoH0wjdyst2fLOpvDxZ5n35XXv736jX/PYAxw1S9qAGQZfsWrBIUFfxQZUU0gwGwra3KNLO3UkWm6f+xP19rewfpIzxCPWfNcOXKDck9MjBoXLeh2N5oNLXe9K8bnYcRAhfpkn0aXNc6h2H7hQBapD84t6v4+Cd2McktvdyfLtICJmWr0VeO3SKI2XTZVE7ZWosXrrUJBfyrNZjPvxVXmh8DTkVFzPIZHI4aYareSGS9NRGEpMmnw+OOINgr7K5IH+bKdymhT+2kxCAg8Khk11NSNnGMmDVAXfWCd1svRcbFolqVR+EIsFoJ2V+Z6cYAWEyRvXMxX/RAAvhBxrazHj5fgnRiV1Vv9K3kRlfQ2nszsuJH9DZsDF4y43OO7pgnL6Y35YOB5jvJeuEXPnkzbD4NOnH/lpuA2BKyUogtUb6mp87dMvrR+ns+UC0tk/iG0GCmxy4GhcH+kGhIjHGmrL6bQwGZZEdzBMVrTj3WBMMN1GWisF4IEold3v/MjcSROUM6/trPfJvrbZMUI+p9/DJjeF6W70oKEXzcQ/pAY= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR12MB3849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(376005)(1800799015)(7416005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cllnU1lka25iTWtCZ1A0Y21OOFRwQnE3d2lTQ0VkMFF4TXA2VHhLR3ZoWFlB?= =?utf-8?B?TmNZM1Y1T01INGlQN0t1a1FSdUoybUQ4TTB2ZTJuTEJWT1M0WmJxbldCTjUz?= =?utf-8?B?aXVDYlBKcDdCTXN1S0dKSUx1MmQ2WjFuWFFIUy9FbUs5aWhUM0JOTFJXUjNF?= =?utf-8?B?KzBTWkZsOGs4ZGxPQ1dRdFpLMmszRDIwNGFLQ20zNTcvMmEwNC9MbEp5UnU3?= =?utf-8?B?WnJRV1lJWXRFTHhRSkpYSHYrL1hqWlNreEdpUlBlK3ZiY3YzNGhPRmxzSjJi?= =?utf-8?B?VWpuYlZ4emJuQTNzSmszUTNnWUlubmJFWkNLQURzdFZ2V09neXVSVVB1MVRQ?= =?utf-8?B?RWowQS8wTzZxc2xyd1llUDByRkNMZVZPUzd3b1V1bkZpeHRmcWl6d2d5WS9a?= =?utf-8?B?aVFaREhiQ3lEUXdNNWQxcEtFYVdlY3o5UUoxSy8wdXliMEY0K2VHY0YzSTZn?= =?utf-8?B?V0padmk5ZjNvT25FRElJeTlYR3V4amdCL0dnVXdxRGFycHBMeGRDZmNXeXMr?= =?utf-8?B?QXl1a1ZVeVVFVGpIcUxvaUw4TnBPRm1jWmQ1TGc2dlhyVVc4Z1Z6bHVyTUZR?= =?utf-8?B?M05Wc1pFcm1LaGRjNElZSStTdEdOMHBRQlVjampFNjROenNibnVweE1kRmlX?= =?utf-8?B?ZG9VYnYrSEVjc0FsOVRweHc1Y1RZaXJKNVl1d0tIRm9XaEliemtORTVJNk1u?= =?utf-8?B?VkU0YUJyajhQQSt1ZTEyRm9HdjIrSldRSHZtNUxtMmt3MXZoeTd2WnRrTURv?= =?utf-8?B?U1RGZURDTnFucWZHSHd0WnR1TUxyeEVJRXYrSWt2K0h2SlAxNjRlZ2hIbitD?= =?utf-8?B?UGIyL2EwOU1FcTRIRUNOV3Z0UExleW95MTlkcC9CSlZZcGhSeVdMY2ZZOWVn?= =?utf-8?B?bEl2WkVtazdhcDZxejkveW9ROXArbERtOWNNQ0ZERmt3bUN6VWJNaUNqZnlO?= =?utf-8?B?MFhvZzhrcElQaXozcXl3OFRkK2ZORFA2L1FRWmk4UGsrdjIwc1o0bzNqNzQz?= =?utf-8?B?dGFWUGI0dXIreUc5N0FaYTJ5ZWRNWXFuQjhScXZyb1hkSnpRMnp5dE10L1Zt?= =?utf-8?B?NlhMbnRKcFJWNzBibW4vTHdCNWx4M3BCSy9ranJLSU1aRHhCMG13UnhiSmhS?= =?utf-8?B?bytFTTRURjJuRzl4c0lrQ2lmOGRHUnNrYlhreHovYXhUWmpZOVd0VG9JMDRC?= =?utf-8?B?enZVamNBOUkrRjZWTDI4Q2pCSlovRmhJL0E1ZW5KL0lSd24wR0dsT3pHemE5?= =?utf-8?B?QThCMWprbnBxaUQ0UVRubkoveTYvOVV2ZmI1MHpjVUFYems2RWVRb1ZBNk9t?= =?utf-8?B?ODBCcEppY3RrTzJwek9ibTg3R29ZTkVnanJuOVVMdUxQZjVINzcyaWV2bEVa?= =?utf-8?B?c3QvdmMraVdFTkc1K1I5bS9zTWlSVnRSc29iZFN4WjVxUDhzanBNQjVvbE1i?= =?utf-8?B?RUxCVnRUcHB0NTdZWEs4RC9jbU1jU0V5MzR6dE41TTE3aDE1RGZiUDFSeGx2?= =?utf-8?B?Y3lBMnhqRlAwbmZJdnRjRU92QUtNdTM2d3E5TE9qR3pWZGhXc3J3QWx6d0gz?= =?utf-8?B?TlhHMnYwTnBDajB1bzB2MkRRY25MTENpRWNPSzdZZDhWTis4djZDckE2QTNm?= =?utf-8?B?ZDI0NmFSMHJQZ2dINlVFdGlSUnROZWt0aHI5ajNJL1pjYkZOWDMvNFl6OTZ2?= =?utf-8?B?eS8wRkdEODdDT2RoQTRtYkxXcWMrTCtVaEg0cytzalRkbVkvZVk2ajRHOUN6?= =?utf-8?B?eExtQjVtWXlmQ05mb013a2xXRXhoUDZ6Q3k2QTVKWHlPOEQxNWQxNlFaelBO?= =?utf-8?B?MlZGYnhWbnc1RGpGNkEyUVphWVA0alRIWWNEVVNaVzNtMnBxQ0lSNXltNUdx?= =?utf-8?B?NEs0WExTWFRaWHRKTmVaSmtabXRQdkVWRVUrR3lhQ3ZjVnFkanZLY1pSNEZx?= =?utf-8?B?eWpsSXJUMGQxbWVxRHRDZUJ6TG1EQXRDYy9VN1NpZTF6SEJRSk9pSC93aERn?= =?utf-8?B?b21nUjh0ZVNIcm5rMzE2RjltQ3E4TS9KdmJuc1FVcno0YjhQK0cwZEk5L1JG?= =?utf-8?B?QUhoVkJUWFhtNmhPcmkvVk1Oc1cyZ3dUb2NpRzM3dEhzZzN3bFlRR3VhamxL?= =?utf-8?Q?3ECo=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9d781e57-9494-4738-6727-08dc486c1222 X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB3849.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Mar 2024 23:26:57.8884 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +n/EnfnIvLi58xdu3h7/LAYm87u0S5VBKdx5O2f7tAqXwl1ydMNwBBlQg/2y5EuZ X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4441 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240319_162708_282171_9130CCCB X-CRM114-Status: GOOD ( 27.14 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVHVlLCBNYXIgMTksIDIwMjQgYXQgMTE6MDc6MDhQTSArMDAwMCwgQ2hyaXN0b3BoZSBMZXJv eSB3cm90ZToKPiAKPiAKPiBMZSAxOC8wMy8yMDI0IMOgIDE3OjE1LCBKYXNvbiBHdW50aG9ycGUg YSDDqWNyaXTCoDoKPiA+IE9uIFRodSwgTWFyIDE0LCAyMDI0IGF0IDAxOjExOjU5UE0gKzAwMDAs IENocmlzdG9waGUgTGVyb3kgd3JvdGU6Cj4gPj4KPiA+Pgo+ID4+IExlIDE0LzAzLzIwMjQgw6Ag MTM6NTMsIFBldGVyIFh1IGEgw6ljcml0wqA6Cj4gPj4+IE9uIFRodSwgTWFyIDE0LCAyMDI0IGF0 IDA4OjQ1OjM0QU0gKzAwMDAsIENocmlzdG9waGUgTGVyb3kgd3JvdGU6Cj4gPj4+Pgo+ID4+Pj4K PiA+Pj4+IExlIDEzLzAzLzIwMjQgw6AgMjI6NDcsIHBldGVyeEByZWRoYXQuY29tIGEgw6ljcml0 wqA6Cj4gPj4+Pj4gRnJvbTogUGV0ZXIgWHUgPHBldGVyeEByZWRoYXQuY29tPgo+ID4+Pj4+Cj4g Pj4+Pj4gUG93ZXJQQyBib29rM3MgNEsgbW9zdGx5IGhhcyB0aGUgc2FtZSBkZWZpbml0aW9uIG9u IGJvdGgsIGV4Y2VwdCBwWGRfaHVnZSgpCj4gPj4+Pj4gY29uc3RhbnRseSByZXR1cm5zIDAgZm9y IGhhc2ggTU1Vcy4gIEFzIE1pY2hhZWwgRWxsZXJtYW4gcG9pbnRlZCBvdXQgWzFdLAo+ID4+Pj4+ IGl0IGlzIHNhZmUgdG8gY2hlY2sgX1BBR0VfUFRFIG9uIGhhc2ggTU1VcywgYXMgdGhlIGJpdCB3 aWxsIG5ldmVyIGJlIHNldCBzbwo+ID4+Pj4+IGl0IHdpbGwga2VlcCByZXR1cm5pbmcgZmFsc2Uu Cj4gPj4+Pj4KPiA+Pj4+PiBBcyBhIHJlZmVyZW5jZSwgX19wW211XWRfbWtodWdlKCkgd2lsbCB0 cmlnZ2VyIGEgQlVHX09OIHRyeWluZyB0byBjcmVhdGUKPiA+Pj4+PiBzdWNoIGh1Z2UgbWFwcGlu Z3MgZm9yIDRLIGhhc2ggTU1Vcy4gIE1lYW53aGlsZSwgdGhlIG1ham9yIHBvd2VycGMgaHVnZXRs Ygo+ID4+Pj4+IHBndGFibGUgd2Fsa2VyIF9fZmluZF9saW51eF9wdGUoKSBhbHJlYWR5IHVzZWQg cFhkX2xlYWYoKSB0byBjaGVjayBodWdldGxiCj4gPj4+Pj4gbWFwcGluZ3MuCj4gPj4+Pj4KPiA+ Pj4+PiBUaGUgZ29hbCBzaG91bGQgYmUgdGhhdCB3ZSB3aWxsIGhhdmUgb25lIEFQSSBwWGRfbGVh ZigpIHRvIGRldGVjdCBhbGwga2luZHMKPiA+Pj4+PiBvZiBodWdlIG1hcHBpbmdzLiAgQUZBSUNU IHdlIG5lZWQgdG8gdXNlIHRoZSBwWGRfbGVhZigpIGltcGwgKHJhdGhlciB0aGFuCj4gPj4+Pj4g cFhkX2h1Z2UoKSBvbmVzKSB0byBtYWtlIHN1cmUgaWUuIFRIUHMgb24gaGFzaCBNTVUgd2lsbCBh bHNvIHJldHVybiB0cnVlLgo+ID4+Pj4KPiA+Pj4+IEFsbCBraW5kcyBvZiBodWdlIG1hcHBpbmdz ID8KPiA+Pj4+Cj4gPj4+PiBwWGRfbGVhZigpIHdpbGwgZGV0ZWN0IG9ubHkgbGVhZiBtYXBwaW5n cyAobGlrZSBwWGRfaHVnZSgpICkuIFRoZXJlIGFyZQo+ID4+Pj4gYWxzbyBodWdlIG1hcHBpbmdz IHRocm91Z2ggaHVnZXBkLiBPbiBwb3dlcnBjIDh4eCB3ZSBoYXZlIDhNIGh1Z2UgcGFnZXMKPiA+ Pj4+IGFuZCA1MTJrIGh1Z2UgcGFnZXMuIEEgUEdEIGVudHJ5IGNvdmVycyA0TSBzbyBwZ2RfbGVh ZigpIHdvbid0IHJlcG9ydAo+ID4+Pj4gdGhvc2UgaHVnZSBwYWdlcy4KPiA+Pj4KPiA+Pj4gQWgg eWVzLCBJIHNob3VsZCBhbHdheXMgbWVudGlvbiB0aGlzIGlzIGluIHRoZSBjb250ZXh0IG9mIGxl YWYgaHVnZSBwYWdlcwo+ID4+PiBvbmx5LiAgQXJlIHRoZSBleGFtcGxlcyB5b3UgcHJvdmlkZWQg YWxsIGZhbGwgaW50byBodWdlcGQgY2F0ZWdvcnk/ICBJZiBzbwo+ID4+PiBJIGNhbiByZXdvcmQg dGhlIGNvbW1pdCBtZXNzYWdlLCBhczoKPiA+Pgo+ID4+IE9uIHBvd2VycGMgOHh4LCBvbmx5IHRo ZSA4TSBodWdlIHBhZ2VzIGZhbGwgaW50byB0aGUgaHVnZXBkIGNhc2UuCj4gPj4KPiA+PiBUaGUg NTEyayBodWdlcGFnZXMgYXJlIGF0IFBURSBsZXZlbCwgdGhleSBhcmUgaGFuZGxlZCBtb3JlIG9y IGxlc3MgbGlrZQo+ID4+IENPTlRfUFRFIG9uIEFSTS4gc2VlIGZ1bmN0aW9uIHNldF9odWdlX3B0 ZV9hdCgpIGZvciBtb3JlIGNvbnRleHQuCj4gPj4KPiA+PiBZb3UgY2FuIGFsc28gbG9vayBhdCBw dGVfbGVhZl9zaXplKCkgYW5kIHBnZF9sZWFmX3NpemUoKS4KPiA+IAo+ID4gSU1ITyBsZWFmIHNo b3VsZCByZXR1cm4gZmFsc2UgaWYgdGhlIHRoaW5nIGlzIHBvaW50aW5nIHRvIGEgbmV4dCBsZXZl bAo+ID4gcGFnZSB0YWJsZSwgZXZlbiBpZiB0aGF0IG5leHQgbGV2ZWwgaXMgZnVsbHkgcG9wdWxh dGVkIHdpdGggY29udGlndW91cwo+ID4gcGFnZXMuCj4gPiAKPiA+IFRoaXMgc2VlbXMgbW9yZSBh bGlnbmVkIHdpdGggdGhlIGNvbnRpZyBwYWdlIGRpcmVjdGlvbiB0aGF0IGh1Z2VwZAo+ID4gc2hv dWxkIGJlIG1vdmVkIG92ZXIgdG8uLgo+IAo+IFNob3VsZCBodWdlcGQgYmUgbW92ZWQgdG8gdGhl IGNvbnRpZyBwYWdlIGRpcmVjdGlvbiwgcmVhbGx5ID8KClN1cmU/IElzIHRoZXJlIGFueSBkb3du c2lkZSBmb3IgdGhlIHJlYWRpbmcgc2lkZSB0byBkbyBzbz8KCj4gV291bGQgaXQgYmUgYWNjZXB0 YWJsZSB0aGF0IGEgOE0gaHVnZXBhZ2UgcmVxdWlyZXMgMjA0OCBjb250aWcgZW50cmllcwo+IGlu IDIgcGFnZSB0YWJsZXMsIHdoZW4gdGhlIGh1Z2VwZCBhbGxvd3MgYSBzaW5nbGUgZW50cnkgPyAK Cj8gSSB0aG91Z2h0IHdlIGFncmVlZCB0aGUgb25seSBkaWZmZXJlbmNlIHdvdWxkIGJlIHRoYXQg c29tZXRoaW5nIG5ldwppcyBuZWVkZWQgdG8gbWVyZ2UgdGhlIHR3byBpZGVudGljYWwgc2libGlu ZyBwYWdlIHRhYmxlcyBpbnRvIG9uZSwgaWUKeW91IHBheSAyeCB0aGUgcGFnZSB0YWJsZSBtZW1v cnkgaWYgdGhhdCBpc24ndCBmaXhlZC4gVGhhdCBpcyB3cml0ZQpzaWRlIG9ubHkgY2hhbmdlIGFu ZCBJIGltYWdpbmUgaXQgY291bGQgYmUgZG9uZSB3aXRoIGEgc2luZ2xlIFBQQwpzcGVjaWFsIEFQ SS4KCkhvbmVzdGx5IG5vdCB0b3RhbGx5IHN1cmUgdGhhdCBpcyBhIGJpZyBkZWFsLCBpdCBpcyBh bHJlYWR5IHJlYWxseQptZW1vcnkgaW5lZmZpY2llbnQgY29tcGFyZWQgdG8gZXZlcnkgb3RoZXIg YXJjaCdzIGh1Z2UgcGFnZSBieSBuZWVkaW5nCnRoZSBjaGlsZCBwYWdlIHRhYmxlIGluIHRoZSBm aXJzdCBwbGFjZS4KCj4gV291bGQgaXQgYmUgYWNjZXB0YWJsZSBwZXJmb3JtYW5jZXdpc2UgPwoK SXNuJ3QgdGhpcyBwYXJ0aWN1bGFyIFBQQyBzdWIgcGxhdGZvcm0gYW5jaWVudD8gQXJlIHRoZXJl IGN1cnJlbnQgcmVhbAp1c2VycyB0aGF0IGFyZSBnb2luZyB0byBoYXZlIGh1Z2V0bGJmcyBzcGVj aWFsIGNvZGUgYW5kIGNhcmUgYWJvdXQKdGhpcyBwZXJmb3JtYW5jZSBkZXRhaWwgb24gYSA2LjIw IGVyYSBrZXJuZWw/CgpJbiB0b2RheSdzIHdvcmxkIHdvdWxkbid0IGl0IGJlIHBlcmZvcm1hbmNl IGJldHRlciBpZiB0aGVzZSBwbGF0Zm9ybXMKY291bGQgc3VwcG9ydCBUSFAgYnkgYWxpZ25pbmcg dG8gdGhlIGNvbnRpZyBBUEkgaW5zdGVhZCBvZiBiZWluZwpzcGVjaWFsPwoKQW0gSSB3cm9uZyB0 byBxdWVzdGlvbiB3aHkgd2UgYXJlIHBvbGx1dGluZyB0aGUgY29yZSBjb2RlIGZvciB0aGlzCnNw ZWNpYWwgb3B0aW1pemF0aW9uPwoKSmFzb24KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFy bS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK