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 DD0ADCD128A for ; Wed, 10 Apr 2024 16:30:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 282C36B008A; Wed, 10 Apr 2024 12:30:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 20B116B008C; Wed, 10 Apr 2024 12:30:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0362A6B0092; Wed, 10 Apr 2024 12:30:47 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id CDAFA6B008A for ; Wed, 10 Apr 2024 12:30:47 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 638C7140829 for ; Wed, 10 Apr 2024 16:30:47 +0000 (UTC) X-FDA: 81994160934.07.0AE6372 Received: from PAUP264CU001.outbound.protection.outlook.com (mail-francecentralazon11021010.outbound.protection.outlook.com [52.101.167.10]) by imf26.hostedemail.com (Postfix) with ESMTP id 18F2214002F for ; Wed, 10 Apr 2024 16:30:43 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=csgroup.eu header.s=selector2 header.b=IELgmKBT; dmarc=pass (policy=quarantine) header.from=csgroup.eu; spf=pass (imf26.hostedemail.com: domain of christophe.leroy@csgroup.eu designates 52.101.167.10 as permitted sender) smtp.mailfrom=christophe.leroy@csgroup.eu; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712766644; 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=JxDAO74PjQ+yHY9yjiJjayDERNLI4Ke4SU7AqOus+2g=; b=GXCJckSchI4Lt3bW+9QoUsxqRBjYnykeE8qoq14YlP+GmnkpfGp0MSqg9heYSRZW5QKgWP o6EivR/sdasdHsImPKlO0NgHgUB5kOXWvManlKvV7K0fIHURp66j1vM1wzabt3wjFfSoNr bQxY4QTbnpj4mBqhkuG5xzu4+CjIcBA= ARC-Authentication-Results: i=2; imf26.hostedemail.com; dkim=pass header.d=csgroup.eu header.s=selector2 header.b=IELgmKBT; dmarc=pass (policy=quarantine) header.from=csgroup.eu; spf=pass (imf26.hostedemail.com: domain of christophe.leroy@csgroup.eu designates 52.101.167.10 as permitted sender) smtp.mailfrom=christophe.leroy@csgroup.eu; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1712766644; a=rsa-sha256; cv=pass; b=XTz26ZZOSejEn2/AMnkF1v033gVFFuKGffQxSBJ0bktYhnHtc5d/2GRe0SdYzc8f5J/Of3 O3vPbJ6eqB+SzPBnf6pXlRyuAZfN+DaBjUyiJRcJ1fExmn/SBLknmv+5TVus1jfJgl2xu5 K2Ga7Zx/yaaToGRyDqVB528SqeKWfOM= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=loqFKaX4nQWVO5uAp+1utO5F4YX0dFVsTW4QESR8o08ufWjtOzcGmqriI1VExibJH48Pq6IKR8e2/IrdAW63bzO+l8oF4UwjtJKlvA2WQxUpB8n+o5on+1rY9h75WWHm6iyqb3rCxq36yvxhm5ereIpoKDFhLAFHRjLmfQVgprSKnpZKYc5pvLHmzg/SP4LVfAuGQeV4JPqDPqnNe2HQmfdxJ4E0QasKsjjewOHZE8tekENd/INCabI2GldzXcdecyQmAbv/yMbQstv9C7UPM4SkYozPT1GdPaEMzOJlBiEHYZcB7wVFCOasunC2NSmWgV12T//yZcbCiRBKqTC2/A== 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=JxDAO74PjQ+yHY9yjiJjayDERNLI4Ke4SU7AqOus+2g=; b=FLKYyPm9KZtl9N5O1NAlTpLhEbQFoOEy0Ix1lq6Vr7u72qwfHosfXAdjB8Q1STtU0qnQBZnGJE5W2GE/sVGZFJWykuV77iIHxu1O8/PUF3WcKAhHVK4zIvJz47eVtyNDiW4LX8GdJ8OydjAiJCAnPapLDdFbrwgSwmF4drBKw6r0XzZx8unwutwqmBl9MiyqfyFjky9xwFcs/wpSa7SCeyyXoszhH9Lc8UYhRwa+53ZpP59WdNh5tdOBTap0MgVPcua+rm2vIHS8gEHAjIoQFJ/7m7a1/sE9BMsRAWt9YOZw5ubUcImi2dDlbFSYvq19wC6xVXg93W9ryD0o7iuMmQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu; dkim=pass header.d=csgroup.eu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=csgroup.eu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JxDAO74PjQ+yHY9yjiJjayDERNLI4Ke4SU7AqOus+2g=; b=IELgmKBTS0e74UsfUmq08VvhSRG+BkenVWIVtOHS2ELFUShVdQAfWhPccTbtkK3bvqXLqXWcTHIOMVw3rJXRj9j/nYuZ75sKpVHFFIBioUm5t7etYCJbpK4F3DG5YuryD2dJ92iqhM//2aMWO9o9xoDcAA/0WLfVWUiMdOJkN+4Fy11t63Jz+KFi0WaPCWKRopuEsu9WMfUE6LCqU/aoDxC+QvoEGtrpHrjpqW+VnhyGh4QdJwZPnY8qObqwNkORjr1s5UdjO/l2V7jAPUCek+8dpyyYkYLbPVtrTCiBz7n0vnFjLqgvjXDC5v4wctfGYvNbMCr5/bOPJdS0hyKwhA== Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15) by MR1P264MB1747.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:2::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.55; Wed, 10 Apr 2024 16:30:41 +0000 Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::1f75:cb9f:416:4dbb]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM ([fe80::1f75:cb9f:416:4dbb%7]) with mapi id 15.20.7409.053; Wed, 10 Apr 2024 16:30:41 +0000 From: Christophe Leroy To: Peter Xu , Jason Gunthorpe CC: "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , "linuxppc-dev@lists.ozlabs.org" , Michael Ellerman , Matthew Wilcox , Rik van Riel , Lorenzo Stoakes , Axel Rasmussen , Yang Shi , John Hubbard , "linux-arm-kernel@lists.infradead.org" , "Kirill A . Shutemov" , Andrew Jones , Vlastimil Babka , Mike Rapoport , Andrew Morton , Muchun Song , Christoph Hellwig , "linux-riscv@lists.infradead.org" , James Houghton , David Hildenbrand , Andrea Arcangeli , "Aneesh Kumar K . V" , Mike Kravetz Subject: Re: [PATCH v3 00/12] mm/gup: Unify hugetlb, part 2 Thread-Topic: [PATCH v3 00/12] mm/gup: Unify hugetlb, part 2 Thread-Index: AQHae9xDtU7RU0MVOUS5yg8mgl66VrFD7w8AgATmKACAAT+mAIAOpvSAgAFXPYCAADmbAIAGay+AgAEH9YCAABFUAA== Date: Wed, 10 Apr 2024 16:30:41 +0000 Message-ID: <7b75c4db-9dbe-4ff1-b649-06a9218ae0aa@csgroup.eu> References: <20240321220802.679544-1-peterx@redhat.com> <20240322161000.GJ159172@nvidia.com> <20240326140252.GH6245@nvidia.com> <20240405181633.GH5383@nvidia.com> <20240409234355.GJ5383@nvidia.com> In-Reply-To: Accept-Language: fr-FR, en-US Content-Language: fr-FR X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla Thunderbird x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MRZP264MB2988:EE_|MR1P264MB1747:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ctYKsiq3FSRjLf6uBSnXSdJfPnEqkeDCsaFBrY8U4UlCi5CEVV8ATqqIGCRHLzXvp2BLT/PXbsSuiPxYlyntMb1sUTjhNQKGzdvFsmyVJswYC/+b5cUPn3dR/dvMBKlN0dd4GKEz5GDkduXZbmKxxHyG53J+ypm0ZbTnw3JRZzToPZFSdo2DfjVnN2LV1wqbLP2oG4hLqdMu8ecMY+2KqWQtXYKrzPodpcxcFNhMDyQmQn1rT40NLfLAasIZY0QSze0h9K49GGGQYHw9nWI5Drq+BcJw1ZxetEc8tJL43vXso5m7RACH+2CXqSwQmkC8tmG4nBZq7fYV7rpKEtm0cwv9qb5if7HYOZE84UuajuVqyIKDT98uqDZAjs2jJmhInG05hO3OYSS/S59bYLy27De8Bp1U4R8G1eSiCwNh56UzdNo/HHfjUYCUSX9qJdMbTlTH25l8ujEaa1fb/lfdSl+yfn0P9lrqjGLiaMfUV4kXsd1pEkZ19DERIv/gOj4UmO1pXRbM+b3b1HyIlRD4mr27mPI8oWbivr5D7LI/1byA8O2Nr/KAKmDIO1f01S+HrJB32Igk4QsvADBbYRC524Uc+sDHQsuBj5kmq0jAsmw= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230031)(7416005)(376005)(1800799015)(366007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QkZDTGdXamR5cTUwaGJqSDBLTGlHd080UXNBLzJpMnhtQWl2dmJrRHd1Mlpo?= =?utf-8?B?ckZ3aGM1aHJzVGNYNW56TFdKL0NueTF3emdrU0JtaXBhd1dtalpQVG1HTjFY?= =?utf-8?B?ZEFJdlBNQlhJZmpsOFh2eGFQU0ljVGsxQ2lNdjBva2RKZ0N2R2FwcFJzTVNR?= =?utf-8?B?QmRGWnc3QUplZktjTTc1elZZUlpSWVlpQng1VGtLRnJDcnpOaUtneFRmUGZE?= =?utf-8?B?aVVzZkh2RUo0blIzdlRqc3RmaG9UdEN2NFoyWG1GVFlPUGRzUWpNcktoMkdR?= =?utf-8?B?UUx6bHFwMDRONWZIRVJtbkNUZFAvZzZVdmhxTm9ueUtnY0l1VndBcWlvdjE5?= =?utf-8?B?T3hnTlNjTjhWVFVYMXcrejcwMFc4M29uUnBnTWJwVnVaTU9PL1FSeHNrUDRv?= =?utf-8?B?WE1yUVhVaHZrNTNsY3VqalhScjhCWHBlYXdJWHY3OUt3T3Q5bWRKKy9SNUVt?= =?utf-8?B?SWJUUTYzS2V1OWYzODFHcklOQ0dDcFJGb3REMktDN1hxVll2RzJIMytkbWFX?= =?utf-8?B?N3FGRklYaUZsN2R4ZW9CUFpJYURuYXdMRGpsMXk3UXAxd2N4Tks5dDgraE5F?= =?utf-8?B?V2xsRWUyNmhyK2xWOVhDcVNzZnZQTUJobElvRklPRlFZNmh3NUM1cHE0VzZH?= =?utf-8?B?bVJiNHp2SEZray9PVHp3VzJQL0hSQURxYk92bWVzUUo3MnVZSjdOcFdmY2ZH?= =?utf-8?B?L0R5d1B1OXdKMUF3R0c2OTFLdEdNanJ5NHRnYkt6MVlCbXNSRElIM09zNjl1?= =?utf-8?B?V0JZa2w2K0hZNElYelJFTW1DMWVVejd4ajNoblhVTFZsRTR3SS9YaHNXV1RJ?= =?utf-8?B?K28vS0VIVDdGUGo4TDZxNUZFaTRPWVJQdkxYWHY3NDZNcmhGZFh1SDBYbVlL?= =?utf-8?B?TDZubzl1aHhMMXB5a2R4N254alZxaUpVa1lVNkVZdVdyWVZuUHJtUlBxNEw2?= =?utf-8?B?K0hBY3hnaGZZdUlyL1lqRTU0YjhWZ2I4K1Z4VXk2ckpoSFJ3TzJPMFlxRm5u?= =?utf-8?B?djBTQVEzeTdWY1FPN25sVlZUQ0R4NFY3M3hGa2k2bTFMR05PSkJpdjdRSHd5?= =?utf-8?B?R2c4Rk9HZEFNUkNrWHVJdS9jYkcyMVVXU29pTkVWTlFDdTdKOHFrMkVRazNI?= =?utf-8?B?YnQ4cXFLeEUzeTNpT0dTakxTZ3AwWUZiQU83YjNqRDA3R2FUc3BKZmYwL2tu?= =?utf-8?B?dE0xZE9aMnFXS0RLSnB0bmNYVU1nc0drYjVJUWt1RGZCVHJkQ21RRnJtYjBF?= =?utf-8?B?MzZrcEhoSldyaFJ2RnZVWUExVE1PalpQK2ZzNmt4VkExemlHUGNxYkdkbjd2?= =?utf-8?B?c3Zndjd2NEFxampDSEtqNFl3bDVYNnRuN1dvRmQ4dFJBenV3YzFOcXl5Uk1m?= =?utf-8?B?dzFBMVQ0UG8vaWhBd0llUzhZLzF0R1k3SCtSTy9RN0kyUHhlekFnT090dENw?= =?utf-8?B?N2dTaFFKL3RVM05UOTFXdTBlc0I0SGRhQXNHeHI0SjNjRFZua21mQUJMbnBv?= =?utf-8?B?SEs0Ykc1OXF5ZDV0VE8vZDJnQXhlaFBscTV2eUU2aEN2TXljOVd2emFkR1Jo?= =?utf-8?B?bER1OFl3aGVMMjRvUU5Beno5bVlxZXZ4M0luRzNaVGZKUUxWN29TVStqcmdm?= =?utf-8?B?dkdHSEc0Tm4zVVoxelovOFZLcEFVK0FqY0UrMVlnZ0hHMExiNGZsaHphdGRn?= =?utf-8?B?NDMrTjcxbXVKK29naStmVkF6RmV3WVdCbVNFeFd1MXQrRHE3elFzNlpTNzVw?= =?utf-8?B?NTlrTWRLUDBsTDlUQjlZUVhLUW85YmUrN05hK2lGVzR2a3ptV1dldHpRaW9Y?= =?utf-8?B?akVOMlNHVXdGOXJaS1pTM3Q0K3JQNmwvYkFMNTRzckx1SERqZnhNQk5KTkxF?= =?utf-8?B?ZUl4ZkdNamUrb2lpczI4NTd0MUFUSVNXZlpvbDhPcVhiaWF0YkhVWTBnZVYz?= =?utf-8?B?NGdJRm5GeHJlSWhnTlY2aThPbzVlZ0hKcis0a0J1bTVzV2hsc3VxZkRPOXkx?= =?utf-8?B?ZFo2WWRZblZscnFwS0FvdHdNUXBleTJURzVDMWtRTUM1RkZZMDFuYVY1UkEz?= =?utf-8?B?aTBPWUlHNGxFRFE5VlNLV29jQlVNOTl2K1g0aHBPRzN1TUFnc1N3a2t2aENv?= =?utf-8?B?Q0l5SGdVYkE3NWNyZFB3WDk5YnFTY1RONGJnVURkT1NEZU0rQmppSlVoazcx?= =?utf-8?B?dUUrVU9IdzNoNE0yTEltNkVNUHd2T2tlSEk1bHRmcVBBZTFVSXU5NTI4MVJV?= =?utf-8?B?dkxnZUw4cytLRW4yaktWRGxVV3FBPT0=?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: csgroup.eu X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 5eb90e77-2e3c-49a3-af78-08dc597b9017 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Apr 2024 16:30:41.2494 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ZhgUCgNueqQ4DX0GM9ktbiFdhH6JRIcGKhIhbeNPbHwVSGAc5LlHfG/3ihkvitUlsmsF5g9vhe6/xAW2kDF0BMqcHHctC1AHmu2RB5atTow= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MR1P264MB1747 X-Rspamd-Queue-Id: 18F2214002F X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: 1bkqmfa89dwqzto4nc5xfr1rx4ny3imo X-HE-Tag: 1712766643-23190 X-HE-Meta: U2FsdGVkX18ZGMrv7J/NdIVtGfobfFUSCnRR0N1+Bb3X3D9Lhhn3G9mh3P3OzSiXEnxknsoSv8tICcTtebtUWA9QGVPzwZH9Ftop5RZ3VWxI/ZXy4XzIZ5F1BpVkFfIFXmv8Et5EUcyuiq7OOQVTlsfQpVIWusnCUBuXrOL86mpYKeN3Wjlja//d7SbEM0TJGIbmhuyAc8WPXvio/k8vQf0lLqoBOTX98VAshWZrUWn8j3zNO+xK8busA2HKItLCBAWrkXv8sqeoW6fmdGCgE1rz4iD6QME374YhR+z+0FHuEPu1wBSAYtZLhBxW2V9MiHjON8foQ1r8yaCHAlq1frJM8jm89LKhJKAoP6v6NAzqTW5VY7z50sOInx6kxYWOGh3vFz9HwvA6W8twPHLeip6nx9+rNThYhQ6jLv+sVIzQB280kfFSsAK3Q5OQplVZKZICohDBHO2FS6vXsBmVL21E6/PZ/raBzfD2g29HPruAiQl95I1wzs4/Vx0ZLqIAeM+ztS47LMn9NRnhQVhlmx+WOQ0qTfaaoCn9Ju8PLPP6hg98oRQ/DPsiuLiADUTZAEtDIXn7SdsWVkh4Usa0HKm+IbNUFmlNcQ4oNV7hC8mng/P9hi+9dkNFQddCKtwuO9R3zq8v5jZGNGpS1YnHtWWfxgxCMw5JcTBrYUY7qdkbNI9bTcPQdCDjGl6mK9gIt8whMGpZnHmQ0ExjWOejkyNKqN3StCPVKJD5J05AVl6+IxvSnJTKWQek0+VViOkS5W+kxgt71o/kzi7Wa1tBQUFsiD+lCkRFqCaYP5n96J5m+R0y9wx0hdHGBGKb+pXSR642m4JqNTOVmZV5AxWbBm6DHj85HPxoRyktf7jLG9vcr5/5fPFNwa8sqvndDkwk+Vof8ZYrK9jf1lVZF1rRoC8pyc3fb7Isphs42sJTzMpKA+phJfwWaE/tCMkZmzrvu78P8GTd1Jdyb3/jMFU h/UDEJwH hzvXB8XlKMlvpSO3Y6tYVzRbEHC9jwSY5pIkgk99haSg8VDZUr8oWmhXRfAU6lKd5munn/9xP2/Sa+8ySRiqfD8jRjpF0T+3Nzpkcj4zequ3BZyyK+BVnzvyseG3RY9FdUNxOppl7IChAuBPdp8xzhZU8q3AlQh/yZhL31b6blNhfX6ac6qZ/OY10Kz8fZQsWlvkd/Tt7w3RIwQex9e3Up67Mk1+ig5nPJLzfgTVAN02OXFWo7rdNuWSNr8qRa+BHWtBbavOSXZxCwOGqTUXVvGcjkFC9O7s77KaFRgM42Ci668R73+JItkqZjKxhP3lPRw6u9I0FR+5n7fxTTMVrllPX8xg7WTWKzltLLxXceGr2zc4QM6jDJ54KwNN77QtZNHMtJ2kThC8MkQvn6/0rCdvt6veeDjJbuDAgc3ztuSHFEYFxvgcLMgbrlPEtwATcDOKLwp5ayZA3Kze6TIdEM6o+9BoFyv96vLOP 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: List-Subscribe: List-Unsubscribe: DQoNCkxlIDEwLzA0LzIwMjQgw6AgMTc6MjgsIFBldGVyIFh1IGEgw6ljcml0wqA6DQo+IE9uIFR1 ZSwgQXByIDA5LCAyMDI0IGF0IDA4OjQzOjU1UE0gLTAzMDAsIEphc29uIEd1bnRob3JwZSB3cm90 ZToNCj4+IE9uIEZyaSwgQXByIDA1LCAyMDI0IGF0IDA1OjQyOjQ0UE0gLTA0MDAsIFBldGVyIFh1 IHdyb3RlOg0KPj4+IEluIHNob3J0LCBodWdldGxiIG1hcHBpbmdzIHNob3VsZG4ndCBiZSBzcGVj aWFsIGNvbXBhcmluZyB0byBvdGhlciBodWdlIHBYZA0KPj4+IGFuZCBsYXJnZSBmb2xpbyAoY29u dC1wWGQpIG1hcHBpbmdzIGZvciBtb3N0IG9mIHRoZSB3YWxrZXJzIGluIG15IG1pbmQsIGlmDQo+ Pj4gbm90IGFsbC4gIEkgbmVlZCB0byBsb29rIGF0IGFsbCB0aGUgd2Fsa2VycyBhbmQgdGhlcmUg Y2FuIGJlIHNvbWUgdHJpY2t5DQo+Pj4gb25lcywgYnV0IEkgYmVsaWV2ZSB0aGF0IGFwcGxpZXMg aW4gZ2VuZXJhbC4gIEl0J3MgYWN0dWFsbHkgc2ltaWxhciB0byB3aGF0DQo+Pj4gSSBkaWQgd2l0 aCBzbG93IGd1cCBoZXJlLg0KPj4NCj4+IEkgdGhpbmsgdGhhdCBpcyB0aGUgYmlnIHF1ZXN0aW9u LCBJIGFsc28gaGF2ZW4ndCBkb25lIHRoZSByZXNlYXJjaCB0bw0KPj4ga25vdyB0aGUgYW5zd2Vy Lg0KPj4NCj4+IEF0IHRoaXMgcG9pbnQgZm9jdXNpbmcgb24gbW92aW5nIHdoYXQgaXMgcmVhc29u YWJsZSB0byB0aGUgcFhYXyogQVBJDQo+PiBtYWtlcyBzZW5zZSB0byBtZS4gVGhlbiByZXZpZXdp bmcgd2hhdCByZW1haW5zIGFuZCBtYWtpbmcgc29tZQ0KPj4gZGVjaXNpb24uDQo+Pg0KPj4+IExp a2UgdGhpcyBzZXJpZXMsIGZvciBjb250LXBYZCB3ZSdsbCBuZWVkIG11bHRpcGxlIHdhbGtzIGNv bXBhcmluZyB0bw0KPj4+IGJlZm9yZSAod2hlbiB3aXRoIGh1Z2V0bGJfZW50cnkoKSksIGJ1dCBm b3IgdGhhdCBwYXJ0IEknbGwgcHJvdmlkZSBzb21lDQo+Pj4gcGVyZm9ybWFuY2UgdGVzdHMgdG9v LCBhbmQgd2UgYWxzbyBoYXZlIGEgZmFsbGJhY2sgcGxhbiwgd2hpY2ggaXMgdG8gZGV0ZWN0DQo+ Pj4gY29udC1wWGQgZXhpc3RhbmNlLCB3aGljaCB3aWxsIGFsc28gd29yayBmb3IgbGFyZ2UgZm9s aW9zLg0KPj4NCj4+IEkgdGhpbmsgd2UgY2FuIG9wdGltaXplIHRoaXMgcHJldHR5IGVhc3kuDQo+ PiAgIA0KPj4+PiBJIHRoaW5rIGlmIHlvdSBkbyB0aGUgZWFzeSBwbGFjZXMgZm9yIHBYWCBjb252 ZXJzaW9uIHlvdSB3aWxsIGhhdmUgYQ0KPj4+PiBnb29kIGlkZWEgYWJvdXQgd2hhdCBpcyBuZWVk ZWQgZm9yIHRoZSBoYXJkIHBsYWNlcy4NCj4+Pg0KPj4+IEhlcmUgSU1ITyB3ZSBkb24ndCBuZWVk IHRvIHVuZGVyc3RhbmQgIndoYXQgaXMgdGhlIHNpemUgb2YgdGhpcyBodWdldGxiDQo+Pj4gdm1h Ig0KPj4NCj4+IFllaCwgSSBuZXZlciByZWFsbHkgdW5kZXJzdG9vZCB3aHkgaHVnZXRsYiB3YXMg bGlua2VkIHRvIHRoZSBWTUEuLiBUaGUNCj4+IHBhZ2UgdGFibGUgaXMgc2VsZiBkZXNjcmliaW5n LCBvYnZpb3VzbHkuDQo+IA0KPiBBdHRhY2hpbmcgdG8gdm1hIHN0aWxsIG1ha2VzIHNlbnNlIHRv IG1lLCB3aGVyZSB3ZSBzaG91bGQgZGVmaW5pdGVseSBhdm9pZA0KPiBhIG1peHR1cmUgb2YgaHVn ZXRsYiBhbmQgIWh1Z2V0bGIgcGFnZXMgaW4gYSBzaW5nbGUgdm1hIC0gaHVnZXRsYiBwYWdlcyBh cmUNCj4gYWxsb2NhdGVkLCBtYW5hZ2VkLCAuLi4gIHRvdGFsbHkgZGlmZmVyZW50bHkuDQo+IA0K PiBBbmQgc2luY2UgaHVnZXRsYiBpcyBkZXNpZ25lZCBhcyBmaWxlLWJhc2VkICh3aGljaCBhbHNv IG1ha2VzIHNlbnNlIHRvIG1lLA0KPiBhdCBsZWFzdCBmb3Igbm93KSwgaXQncyBhbHNvIG5hdHVy YWwgdGhhdCBpdCdzIHZtYS1hdHRhY2hlZC4NCj4gDQo+Pg0KPj4+IG9yICJ3aGljaCBsZXZlbCBv ZiBwZ3RhYmxlIGRvZXMgdGhpcyBodWdldGxiIHZtYSBwYWdlcyBsb2NhdGUiLA0KPj4NCj4+IERp dHRvDQo+Pg0KPj4+IGJlY2F1c2Ugd2UgbWF5IG5vdCBuZWVkIHRoYXQsIGUuZy4sIHdoZW4gd2Ug b25seSB3YW50IHRvIGNvbGxlY3Qgc29tZSBzbWFwcw0KPj4+IHN0YXRpc3RpY3MuICAid2hldGhl ciBpdCdzIGh1Z2V0bGIiIG1heSBtYXR0ZXIsIHRob3VnaC4gRS5nLiBpbiB0aGUgbW0NCj4+PiB3 YWxrZXIgd2Ugc2VlIGEgaHVnZSBwbWQsIGl0IGNhbiBiZSBhIHRocCwgaXQgY2FuIGJlIGEgaHVn ZXRsYiAod2hlbg0KPj4+IGh1Z2V0bGJfZW50cnkgcmVtb3ZlZCksIHdlIG1heSBuZWVkIGV4dHJh IGNoZWNrIGxhdGVyIHRvIHB1dCB0aGluZ3MgaW50bw0KPj4+IHRoZSByaWdodCBidWNrZXQsIGJ1 dCBmb3IgdGhlIHdhbGtlciBpdHNlbGYgaXQgZG9lc24ndCBuZWNlc3NhcmlseSBuZWVkDQo+Pj4g aHVnZXRsYl9lbnRyeSgpLg0KPj4NCj4+IFJpZ2h0LCBwbGFjZXMgbWF5IHN0aWxsIG5lZWQgdG8g a25vdyBpdCBpcyBwYXJ0IG9mIGEgaHVnZSBWTUEgYmVjYXVzZSB3ZQ0KPj4gaGF2ZSBzcGVjaWFs IHN0dWZmIGxpbmtlZCB0byB0aGF0Lg0KPj4NCj4+Pj4gQnV0IHRoZW4gYWdhaW4gd2UgY29tZSBi YWNrIHRvIHBvd2VyIGFuZCBpdHMgYmlnIGxpc3Qgb2YgcGFnZSBzaXplcw0KPj4+PiBhbmQgdmFy aWV0eSA6KCBMb29rcyBsaWtlIHNvbWUgdGhlcmUgaGF2ZSBodWdlIHNpemVzIGF0IHRoZSBwZ2Qg bGV2ZWwNCj4+Pj4gYXQgbGVhc3QuDQo+Pj4NCj4+PiBZZWFoIHRoaXMgaXMgc29tZXRoaW5nIEkg d2FudCB0byBiZSBzdXBlciBjbGVhciwgYmVjYXVzZSBJIG1heSBtaXNzDQo+Pj4gc29tZXRoaW5n OiB3ZSBkb24ndCBoYXZlIHJlYWwgcGdkIHBhZ2VzLCByaWdodD8gIFBvd2VycGMgZG9lc24ndCBl dmVuDQo+Pj4gZGVmaW5lIHA0ZF9sZWFmKCksIEFGQUlDVC4NCj4+DQo+PiBBRkFJQ1QgaXQgaXMg YmVjYXVzZSBpdCBoaWRlcyBpdCBhbGwgaW4gaHVnZXBkLg0KPiANCj4gSU1ITyBvbmUgdGhpbmcg d2UgY2FuIGJlbmVmaXQgZnJvbSBzdWNoIGh1Z2VwZCByZXdvcmsgaXMsIGlmIHdlIGNhbiBzcXVh c2gNCj4gYWxsIHRoZSBodWdlcGRzIGxpa2Ugd2hhdCBDaHJpc3RvcGhlIGRvZXMsIHRoZW4gd2Ug cHVzaCBpdCBvbmUgbW9yZSBsYXllcg0KPiBkb3duLCBhbmQgd2UgaGF2ZSBhIGdvb2QgY2hhbmNl IGFsbCB0aGluZ3Mgc2hvdWxkIGp1c3Qgd29yay4NCj4gDQo+IFNvIGFnYWluIG15IFBvd2VyIGJy YWluIGlzIGNsb3NlIHRvIHplcm8sIGJ1dCBub3cgSSdtIHJlZmVycmluZyB0byB3aGF0DQo+IENo cmlzdG9waGUgc2hhcmVkIGluIHRoZSBvdGhlciB0aHJlYWQ6DQo+IA0KPiBodHRwczovL2dpdGh1 Yi5jb20vbGludXhwcGMvd2lraS93aWtpL0h1Z2UtcGFnZXMNCj4gDQo+IFRvZ2V0aGVyIHdpdGg6 DQo+IA0KPiBodHRwczovL2xvcmUua2VybmVsLm9yZy9yLzI4OGYyNmY0ODc2NDhkMjFmZDk1OTBl NDBiMzkwOTM0ZWFhNWQyNGEuMTcxMTM3NzIzMC5naXQuY2hyaXN0b3BoZS5sZXJveUBjc2dyb3Vw LmV1DQo+IA0KPiBXaGVyZSBpdCBoYXM6DQo+IA0KPiAtLS0gYS9hcmNoL3Bvd2VycGMvcGxhdGZv cm1zL0tjb25maWcuY3B1dHlwZQ0KPiArKysgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL0tjb25m aWcuY3B1dHlwZQ0KPiBAQCAtOTgsNiArOTgsNyBAQCBjb25maWcgUFBDX0JPT0szU182NA0KPiAg ICAgICAgICBzZWxlY3QgQVJDSF9FTkFCTEVfSFVHRVBBR0VfTUlHUkFUSU9OIGlmIEhVR0VUTEJf UEFHRSAmJiBNSUdSQVRJT04NCj4gICAgICAgICAgc2VsZWN0IEFSQ0hfRU5BQkxFX1NQTElUX1BN RF9QVExPQ0sNCj4gICAgICAgICAgc2VsZWN0IEFSQ0hfRU5BQkxFX1RIUF9NSUdSQVRJT04gaWYg VFJBTlNQQVJFTlRfSFVHRVBBR0UNCj4gKyAgICAgICBzZWxlY3QgQVJDSF9IQVNfSFVHRVBEIGlm IEhVR0VUTEJfUEFHRQ0KPiAgICAgICAgICBzZWxlY3QgQVJDSF9TVVBQT1JUU19IVUdFVExCRlMN Cj4gICAgICAgICAgc2VsZWN0IEFSQ0hfU1VQUE9SVFNfTlVNQV9CQUxBTkNJTkcNCj4gICAgICAg ICAgc2VsZWN0IEhBVkVfTU9WRV9QTUQNCj4gQEAgLTI5MCw2ICsyOTEsNyBAQCBjb25maWcgUFBD X0JPT0szUw0KPiAgIGNvbmZpZyBQUENfRTUwMA0KPiAgICAgICAgICBzZWxlY3QgRlNMX0VNQl9Q RVJGTU9ODQo+ICAgICAgICAgIGJvb2wNCj4gKyAgICAgICBzZWxlY3QgQVJDSF9IQVNfSFVHRVBE IGlmIEhVR0VUTEJfUEFHRQ0KPiAgICAgICAgICBzZWxlY3QgQVJDSF9TVVBQT1JUU19IVUdFVExC RlMgaWYgUEhZU182NEJJVCB8fCBQUEM2NA0KPiAgICAgICAgICBzZWxlY3QgUFBDX1NNUF9NVVhF RF9JUEkNCj4gICAgICAgICAgc2VsZWN0IFBQQ19ET09SQkVMTA0KPiANCj4gU28gSSB0aGluayBp dCBtZWFucyB3ZSBoYXZlIHRocmVlIFBvd2VyUEMgc3lzdGVtcyB0aGF0IHN1cHBvcnRzIGh1Z2Vw ZA0KPiByaWdodCBub3cgKGJlc2lkZXMgdGhlIDh4eCB3aGljaCBDaHJpc3RvcGhlIGlzIHRyeWlu ZyB0byBkcm9wIHN1cHBvcnQNCj4gdGhlcmUpLCBiZXNpZGVzIDh4eCB3ZSBzdGlsbCBoYXZlIGJv b2szc182NCBhbmQgRTUwMC4NCj4gDQo+IExldCdzIGNoZWNrIG9uZSBieSBvbmU6DQo+IA0KPiAg ICAtIGJvb2szc182NA0KPiANCj4gICAgICAtIGhhc2gNCj4gDQo+ICAgICAgICAtIDY0SzogcDRk IGlzIG5vdCB1c2VkLCBsYXJnZXN0IHBnc2l6ZSBwZ2QgMTZHIEBwdWQgbGV2ZWwuICBJdA0KPiAg ICAgICAgICBtZWFucyBhZnRlciBzcXVhc2hpbmcgaXQnbGwgYmUgYSBidW5jaCBvZiBjb250LXBt ZCwgYWxsIGdvb2QuDQo+IA0KPiAgICAgICAgLSA0SzogcDRkIGFsc28gbm90IHVzZWQsIGxhcmdl c3QgcGdzaXplIHBnZCAxMjhHLCBhZnRlciBzcXVhc2hlZA0KPiAgICAgICAgICBpdCdsbCBiZSBj b250LXB1ZC4gYWxsIGdvb2QuDQo+IA0KPiAgICAgIC0gcmFkaXgNCj4gDQo+ICAgICAgICAtIDY0 SzogbGFyZ2VzdCAxRyBAcHVkLCB0aGVuIGNvbnQtcG1kIGFmdGVyIHNxdWFzaGVkLiBhbGwgZ29v ZC4NCj4gDQo+ICAgICAgICAtIDRLOiBsYXJnZXN0IDFHIEBwdWQsIHRoZW4gY29udC1wbWQsIGFs bCBnb29kLg0KPiANCj4gICAgLSBlNTAwICYgOHh4DQo+IA0KPiAgICAgIC0gYm90aCBvZiB0aGVt IHVzZSAyLWxldmVsIHBndGFibGVzIChwZ2QgKyBwdGUpLCBhZnRlciBzcXVhc2hlZCBodWdlcGQN Cj4gICAgICAgIEBwZ2QgbGV2ZWwgdGhleSBiZWNvbWUgY29udC1wdGUuIGFsbCBnb29kLg0KDQpl NTAwIGhhcyB0d28gbW9kZXM6IDMyIGJpdHMgYW5kIDY0IGJpdHMuDQoNCkZvciAzMiBiaXRzOg0K DQo4eHggaXMgdGhlIG9ubHkgb25lIGhhbmRsaW5nIGl0IHRocm91Z2ggSFctYXNzaXN0ZWQgcGFn ZXRhYmxlIHdhbGsgaGVuY2UgDQpyZXF1aXJpbmcgYSAyLWxldmVsIHdoYXRldmVyIHRoZSBwYWdl c2l6ZSBpcy4NCg0KT24gZTUwMCBpdCBpcyBhbGwgc29mdHdhcmUgc28gcGFnZXMgMk0gYW5kIGxh cmdlciBzaG91bGQgYmUgY29udC1QR0QgKGJ5IA0KdGhlIHdheSBJJ20gYSBiaXQgcHV6emxlZCB0 aGF0IG9uIGFyY2hlcyB0aGF0IGhhdmUgb25seSAyIGxldmVscywgaWUgUEdEIA0KYW5kIFBURSwg dGhlIFBHRCBlbnRyaWVzIGFyZSBwb3B1bGF0ZWQgYnkgYSBmdW5jdGlvbiBjYWxsZWQgUE1EX3Bv cHVsYXRlKCkpLg0KDQpDdXJyZW50IHNpdHVhdGlvbiBmb3IgOHh4IGlzIGlsbHVzdHJhdGVkIGhl cmU6IA0KaHR0cHM6Ly9naXRodWIuY29tL2xpbnV4cHBjL3dpa2kvd2lraS9IdWdlLXBhZ2VzIzh4 eA0KDQpJIGFsc28gdHJpZWQgdG8gYmV0dGVyIGlsbHVzdHJhdGUgZTUwMC8zMiBoZXJlOiANCmh0 dHBzOi8vZ2l0aHViLmNvbS9saW51eHBwYy93aWtpL3dpa2kvSHVnZS1wYWdlcyNlNTAwDQoNCkZv ciA2NCBiaXRzOg0KV2UgaGF2ZSBQVEUvUE1EL1BVRC9QR0QsIG5vIFA0RA0KDQpTZWUgYXJjaC9w b3dlcnBjL2luY2x1ZGUvYXNtL25vaGFzaC82NC9wZ3RhYmxlLTRrLmgNCg0KDQo+IA0KPiBJIHRo aW5rIHRoZSB0cmljayBoZXJlIGlzIHRoZXJlJ2xsIGJlIG5vIHBnZCBsZWF2ZXMgYWZ0ZXIgaHVn ZXBkIHNxdWFzaGluZw0KPiB0byBsb3dlciBsZXZlbHMsIHRoZW4gc2luY2UgUG93ZXJQQyBzZWVt cyB0byBuZXZlciBoYXZlIHA0ZCwgdGhlbiBhbGwNCj4gdGhpbmdzIGZhbGwgaW50byBwdWQgb3Ig bG93ZXIuICBXZSBzZWVtIHRvIGJlIGFsbCBnb29kIHRoZXJlPw0KPiANCj4+DQo+PiBJZiB0aGUg Z29hbCBpcyB0byBwdXJnZSBodWdlcGQgdGhlbiBzb21lIG9mIHRoZSBvcHRpb25zIG1pZ2h0IHR1 cm4gb3V0DQo+PiB0byBjb252ZXJ0IGh1Z2VwZCBpbnRvIGh1Z2UgcDRkL3BnZCwgYXMgSSB1bmRl cnN0YW5kIGl0LiBJdCB3b3VsZCBiZQ0KPj4gbmljZSB0byBoYXZlIGNlcnRhaW50eSBvbiB0aGlz IGF0IGxlYXN0Lg0KPiANCj4gUmlnaHQuICBJIGhvcGUgdGhlIHBtZC9wdWQgcGxhbiBJIHByb3Bv c2VkIGFib3ZlIGNhbiBhbHJlYWR5IHdvcmsgdG9vIHdpdGgNCj4gc3VjaCBhbWJpY2lvdXMgZ29h bCB0b28uICBCdXQgcmV2aWV3IHZlcnkgd2VsY29tZWQgZnJvbSBlaXRoZXIgeW91IG9yDQo+IENo cmlzdG9waGUuDQo+IA0KPiBQUzogSSB0aGluayBJJ2xsIGFsc28gaGF2ZSBhIGNsb3NlciBsb29r IGF0IENocmlzdG9waGUncyBzZXJpZXMgdGhpcyB3ZWVrDQo+IG9yIG5leHQuDQo+IA0KPj4NCj4+ IFdlIGhhdmUgZWZmZWN0aXZlbHkgdGhyZWUgQVBJcyB0byBwYXJzZSBhIHNpbmdsZSBwYWdlIHRh YmxlIGFuZA0KPj4gY3VycmVudGx5IG5vbmUgb2YgdGhlIEFQSXMgY2FuIHJldHVybiAxMDAlIG9m IHRoZSBkYXRhIGZvciBwb3dlci4NCj4gDQo+IFRoYW5rcywNCj4gDQo=