Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp1164773rwb; Sun, 6 Nov 2022 20:41:15 -0800 (PST) X-Google-Smtp-Source: AMsMyM6IlOT1wNfDZE1qf34HppLFN3TQHAhSAeqVWkVRTcRMk+0mI6XAFNnHfHM56rAUm0Jcy76t X-Received: by 2002:a65:5b47:0:b0:46b:1a7d:7106 with SMTP id y7-20020a655b47000000b0046b1a7d7106mr40995692pgr.513.1667796075742; Sun, 06 Nov 2022 20:41:15 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1667796075; cv=pass; d=google.com; s=arc-20160816; b=zlQhIGKcwsZ/QbzfSxkzq0Ku0cWUbrZF9ernzSKEnzQo16ybdPOFgvHWEJMSDQ6+VB rG81eKeYyAokX4lY5b/90D+Rxfla1Zluwk75yHmyT9gZbPwSzAzlq2LIl4AeG34eNJAe Os6qvkJaDRNbRHK5FHZiaFwAwl5W2R7FnHeoCi4PT+LyuUln4TiLfFv9x1yeJR2NrRGz J9o2KZ1hjaIW5yToMSI2tVIMSIElt8BZLLULwOFPZirA/dULDUgav5iSgItl54zcstOD pY8rsAHbdGjZEj/LZZV9CJatuytGzPG0rMRTYMSHiTk2ECO/z+Ncn8S4p41cP1Nyqyax brXw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature; bh=6ytzox544AzAMlnC8S/C6FCaBan90X1/sUcTmmeM1OQ=; b=f2DQdj2ScXUDGxCObulaWutjBtc2F17j012NjwPM4OXgzP8t+zZjOl2NRFt3OonlC+ jPjI+qkKvgS8cPMcODe2nZe5IZ8AdEY6HQ1iE0WL7rFW4NFZ6Km9AM5/T1QllAu3Kmdl 7jAVRbBBTtNji4rYm0UI+z5noZtDRrJd7xOqoYaR8PRyiHK4g3AGQyMiaxeeYR8d7w46 Cq48ifCq2KfnQ7PTuxMNpI60D+ZssJg4AlbpIqOScIDDkOQtpGx555+QPx0uFLoOTiLL gSRT/smcNAR2SEqG6V8ovvXN2DtpyBxa0Sy/8oQlpGHxBwrgRHuXfcpl0gYTreckV/nd h8bQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@nec.com header.s=selector1 header.b=VaG51skn; arc=pass (i=1 spf=pass spfdomain=nec.com dkim=pass dkdomain=nec.com dmarc=pass fromdomain=nec.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nec.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b14-20020a170902e94e00b001855797d813si8601075pll.397.2022.11.06.20.41.01; Sun, 06 Nov 2022 20:41:15 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@nec.com header.s=selector1 header.b=VaG51skn; arc=pass (i=1 spf=pass spfdomain=nec.com dkim=pass dkdomain=nec.com dmarc=pass fromdomain=nec.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nec.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230350AbiKGEZy (ORCPT + 97 others); Sun, 6 Nov 2022 23:25:54 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41360 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230333AbiKGEZu (ORCPT ); Sun, 6 Nov 2022 23:25:50 -0500 Received: from JPN01-OS0-obe.outbound.protection.outlook.com (mail-os0jpn01on2066.outbound.protection.outlook.com [40.107.113.66]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C2820DB8 for ; Sun, 6 Nov 2022 20:25:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jy0KvzaZ/+gBpaGw94NCKoglSZ7IUoCqzIaEXhoyjS4+nzMKexlvwbK6Mq63UFVZhezJhKtA/ypTAtHP2ethVn5ykzLy0HjSIDCvCQMcsnVlaQGPoMbl+lnv3IUDy1q3+nxR7cilfKHm7CgsNfKtd1F4Ei6WyHgugHfusXNgLEfK+2Bsk3FOBDPmCufEqRU60BbGAFQMK8FS9WYDImUC8pK4EVtupEvwDRJ4q4NYVKjbFRmNns1j6Trk1YvVFJ+Q0FfWD7BMtVG1QvIddvC/5yvgD3X7NPwSbpvZ94nSfBAwI4We+mmEnBO0hPRIqxlV8WgphvXoy7/hhofLm/I6UQ== 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=6ytzox544AzAMlnC8S/C6FCaBan90X1/sUcTmmeM1OQ=; b=BLBiQWrDVLlLttObP73bHHMUcC7VOpsl3KXG2wlrombfxalRLyTz3O2wrMm3ke0f+cs9QNrfVtETX0zolNqYBoShgDDLeOICTIJpKwZvAqwSub0d5LzKJiYwtOT9ZIWW2VWeKaWaqEyONlmNCQKjzwMnwhtj4VoeP5vqyGF9cCQO5O7ZSpvnr8qqvh7ZEoPp/8U2ZdfuwIcGmQElS0tYz2tBgipMP91JLpFLVChJ1blWXuUv60boTkZXpkkFlft2Nmd1wjx/WNxJNj7TlZw+QSCt6tS2xF49+xQlQkt6e0pMYtGQgFFWTtUcWZ2vomFjOb9y24Q0bkuWUY4nOvemCg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nec.com; dmarc=pass action=none header.from=nec.com; dkim=pass header.d=nec.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nec.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6ytzox544AzAMlnC8S/C6FCaBan90X1/sUcTmmeM1OQ=; b=VaG51sknOLzfl+RnnopF6JJ4fz25FFOp1mI5FupE3Eja/QtkiEYLasG8b4IOuF4B+IpJTyZFGQSIXH7++dRMB95oUJeSS8THpNC3ffmCti1cDD6H15022TznGbIHXWVRNJJUp2yhtqSeKXOE/eO+xoHLA3UMeH6eGf+E2XGL5tE= Received: from TYWPR01MB8591.jpnprd01.prod.outlook.com (2603:1096:400:13c::10) by OS3PR01MB10233.jpnprd01.prod.outlook.com (2603:1096:604:1e3::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.26; Mon, 7 Nov 2022 04:25:45 +0000 Received: from TYWPR01MB8591.jpnprd01.prod.outlook.com ([fe80::9f34:8082:cd2f:589c]) by TYWPR01MB8591.jpnprd01.prod.outlook.com ([fe80::9f34:8082:cd2f:589c%9]) with mapi id 15.20.5791.026; Mon, 7 Nov 2022 04:25:45 +0000 From: =?utf-8?B?SE9SSUdVQ0hJIE5BT1lBKOWggOWPo+OAgOebtOS5nyk=?= To: Mike Kravetz CC: James Houghton , Muchun Song , Miaohe Lin , Andrew Morton , Yang Shi , Axel Rasmussen , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH] hugetlbfs: don't delete error page from pagecache Thread-Topic: [PATCH] hugetlbfs: don't delete error page from pagecache Thread-Index: AQHY4yxyvuDt9sfNK0SSpohdeMPIJ64uHuaAgAC9MgCABB+PAA== Date: Mon, 7 Nov 2022 04:25:45 +0000 Message-ID: <20221107042544.GA436198@hori.linux.bs1.fc.nec.co.jp> References: <20221018200125.848471-1-jthoughton@google.com> <20221104021035.GA297167@hori.linux.bs1.fc.nec.co.jp> In-Reply-To: Accept-Language: ja-JP, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nec.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYWPR01MB8591:EE_|OS3PR01MB10233:EE_ x-ms-office365-filtering-correlation-id: 8935ca75-5f79-40ee-6880-08dac07823b8 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: F21UZ+d5ZQGjr7MhNJ6f8UccqFpJUgnqlYUA9or5JcZvN0AYK05ADSblnPP03jR8VzQPmBJfmVmN/krVub4jkQm6MKVE775Zfz3a1E+1y0nLwDrvpC21G4bmqcFMkTPzcwv/TrtZrmwzbcZWu1KSi7SZyy5nLBiwgMSa/uCEIDNE0H1hsuFu1qD7LSfEcTNGHkcVuv6ySMKTCGomKjAB1mFvMfo4N5SIbkpQ0H0BAiUhxW6pzXAqAvevpsUFt0E3spnnQ7mhgNPtiMNfBQoAoPle7Am33/ZFSdt3yy+djIgJedTetVvrQaTEh8ZntH+2JJBWmBwZgmduT6v4CGuUKPVJvxfbtFt+RBQs7li+9hmect3qAS4aUi97T+slRCItE62+14AEAZCnGTfgkz2XCcy0990t5hxmsn+GKt8vT+ssQR88Dk4K9ieSnBpxHbPhpthGKJbgDYfaTvnmgE8THQdyogNuAuf6OQobDCOuEWVvTlllMINsAk5x9fDjyX412kq6Z7SdaT2pdohYkfz1ALfr1k7u1lQXbKbrlrPuVVn5AD4DLGg+ENsC6pE3Cokd5EbGgcPsQSqILkTqSW2/OQEVvTyrImqYmMXXkduPeLaedCbJFkQDf4Sph7sloEBLtm4sYzOC4NkKL0t5LZeAmxAUuLgTrbBRTELf5nW2QxYXwUrtT6xzEIFBfzCIHs9FGHo1i+V1kU8UeWEo7u1wTxKK272hy9/WMcz3ZqTlhJdPKl5GcIstU9I/eVKXv2bYdzZ96UoWh4jHJADlbcEXQw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYWPR01MB8591.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(396003)(366004)(39860400002)(136003)(451199015)(478600001)(2906002)(6486002)(71200400001)(83380400001)(186003)(1076003)(122000001)(33656002)(53546011)(85182001)(6506007)(26005)(82960400001)(38100700002)(6512007)(9686003)(38070700005)(316002)(8676002)(4326008)(86362001)(66446008)(66476007)(64756008)(66556008)(66946007)(76116006)(54906003)(8936002)(41300700001)(6916009)(5660300002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?My9naU50QXltYlorT0ZuU0RKSHVDdTh6NjFoZVpONEk1L1R0a1VPRkl0LzFw?= =?utf-8?B?Z0JUeG5adVlEbGRydlVSYTN4RjJXRjM1OFZob0lwbDMzR1ozUjVTdUJUWk9v?= =?utf-8?B?SXNiemJneUh4c2ZxUS90TzR5dGxpb0FNLzdqUGkyVGFNU3I5MEFCRlZQRTNS?= =?utf-8?B?WkpUMTcwSXJMaTBUZzA5STJ4NnFOTHdYOFRFYU9nQlhHTkRiR2ZkeUUxRDF5?= =?utf-8?B?ODErUWwyZXdycU9UOFNhYUJETkYyQ0cxYWF6U3FzUFJWeFZVSytwNUVZdjFB?= =?utf-8?B?M0hKNCtNVm5rblpYd044SFd0ZlhGMHlIcHRLcGNScDRHTzJmeU9WZXVwSWxH?= =?utf-8?B?VklVbzB1ZjFlKzlGektGbzNtRitEZjJtYUhpbHhyL2xJL08vZlVlV21zS1pj?= =?utf-8?B?SEEyanVTc3lEZm5XS0lvNlMzZkp1S25LTUtpQkdyc2c3WU1WZlNZUXBpNUJE?= =?utf-8?B?d3YrVjlsTEtvRGlOREtTeDJENGJvd1JtclFiNGZYNk4rS0YzTUtOazVxS1o0?= =?utf-8?B?MjNmbW9ZQXQ0VzhOa1Y4Y2M4TDE1RFNWSFdERzk5Z000TE9EKzN1SnBrYklv?= =?utf-8?B?OGYyQlRaS0d6cnFhajJwOEZnZEwraTRLQmRnTW00U3VjQjl4Nm1sdDlrdzRL?= =?utf-8?B?TXZ5eFM3cVVRdDFVcWVPby84SVNZQjB4eS9mTDFLL092SlYxUVZpZ1lyb3JV?= =?utf-8?B?YmpYeHhXVmRLYXZVdTlKMXdtUXVXb2xtd1I3ekZvZVdjMEtFOTUvdlBqeWZp?= =?utf-8?B?NHpObkt6NmhNanVabStWU1RSN2x4N0ZvaHhpUFltVC9tbXdsNU42dms1N0d3?= =?utf-8?B?NTYxQUVvV0xsbXVCMzNmL1JLcmRkMEZwaVlqQmhsNEE4dWgvY1l6TDVrU0dS?= =?utf-8?B?Y05vMzJ0OXZVTjdheDN0M2xxZ244Z0ZkSE8xbHBZZkptUklQZEVlcDlIMDFB?= =?utf-8?B?RXNWSXlsU0lDYnVMTFdRVlZFaENUamRSbjFtZHBGRmIxV3U2K2Y2SU9ySGdY?= =?utf-8?B?MWR2QnFaemtIbDZZT3N6R0ZENU9xZnZTeVhubS9wUmdvcUlEYlB5RFhXTWpj?= =?utf-8?B?WU1LcXI4bmNWOXR5N29hR2ZsOExZRzB2Z2lVellEZUU1S0ZWOTdONjJ1V1Bm?= =?utf-8?B?K0ZUZDUyczFZZzV0QUlvcTdjSmZodTNBczNpM2wzQ3YwblMyTnBuS0JFSzc5?= =?utf-8?B?T1Y4bU5JWFNrMXNscWl2dDZzdklaZHpvM1RPc1ozUVZkR3p0N1kvK1BZbm1R?= =?utf-8?B?cmpYWExPczhoZk9mUHhNRk1JVXhtRzhGNTRUWVhISDM5bThFd3VpOElrb3N2?= =?utf-8?B?M25nK0hyTzJ1RjVnalJPclE2MzBEQWpUd0ZzNlN6OEZMTFNDSEhGVHBBTElE?= =?utf-8?B?ZS9MSDNmQ1pzTHFjOG1EZG5WaDlYRWpWQ2dVRm9jZzlqaGo2cFFLRjFEU1Rx?= =?utf-8?B?dTNvQ20wMVRRRUxkbHoyZDNJZUpTZXVhOFFHcjhwSnVBWmc3ZjJTWVZvUnF4?= =?utf-8?B?eXdhblcxai8wLzdHVHdHengyd3dLSEYyQWhYVzNwbnIzWGlkN211Q2U2ZUhZ?= =?utf-8?B?SHFtaC9jQ09tRGlpTDFwUDlsRHd3QU9MMDR2MDZqdHBsTWtyU3RWekxaZmpC?= =?utf-8?B?NzZwcy9ZNzdNSUZLZXplMERibjc2eFF1RDMzSlo5Y240eXhhLzQ0Zm1EY0Yr?= =?utf-8?B?ZWRiUUREREFQQUdzb2pWNVV2R0x5cVZ4aUk3WnBDREE0RUdQaXJyOUZoOVlq?= =?utf-8?B?ODJYYzh1azRIRmZoem90RTBZa0UveHRWbnREMi9SRzQxY1dTZ1VaNzg2cWxG?= =?utf-8?B?eGpTYTk2NTk4eDdSRXBaNE4zWVdhS1cvZTQzbkNyM20wQXhkM0RnNklMUFYv?= =?utf-8?B?SHF3NFl6djFlYWJxWkFpNkFyUlgrY2JnRDNkcDgzZVFJc2JrZmNzN0dpd2Ru?= =?utf-8?B?WmhGZkZ5VE16a01nSXBaNXJsc3k3ZVdGTzdMSWNYa0FyZkErMEhUamU0Y1BE?= =?utf-8?B?YmoxVDRlWHBQZzNINzNTUWVCVEdiSmdydmI4UWtabTJsVHF2SExWTzJVNjUr?= =?utf-8?B?UHR0TUcvZ0JuSUV1VTB2RFc2U2Z0Y2lKcS9jaENMRWZhWXlwajArQ1czRFVt?= =?utf-8?B?Y2NVYkN2MHp6cS9rTURyWjR3VHZZN3JzOG8xbzBzWmlhKzJ2OWxzcXRLN3Bk?= =?utf-8?B?YVE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: <81564AE901560741B84A1599ABDB48A4@jpnprd01.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nec.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYWPR01MB8591.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8935ca75-5f79-40ee-6880-08dac07823b8 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Nov 2022 04:25:45.3618 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: e67df547-9d0d-4f4d-9161-51c6ed1f7d11 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 5CXJ6mvynBes4sqsgkiVMB4BTsxGlCchnxU64CHY0KDZZ0QRplodM5jhRRugBdi89ZNApcW/K2GFDmMyzcOvMQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10233 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gRnJpLCBOb3YgMDQsIDIwMjIgYXQgMDY6Mjc6NDRBTSAtMDcwMCwgTWlrZSBLcmF2ZXR6IHdy b3RlOg0KPiBPbiAxMS8wNC8yMiAwMjoxMCwgSE9SSUdVQ0hJIE5BT1lBKOWggOWPoyDnm7TkuZ8p IHdyb3RlOg0KPiA+IE9uIFR1ZSwgT2N0IDE4LCAyMDIyIGF0IDA4OjAxOjI1UE0gKzAwMDAsIEph bWVzIEhvdWdodG9uIHdyb3RlOg0KPiA+ID4gVGhpcyBjaGFuZ2UgaXMgdmVyeSBzaW1pbGFyIHRv IHRoZSBjaGFuZ2UgdGhhdCB3YXMgbWFkZSBmb3Igc2htZW0gWzFdLA0KPiA+ID4gYW5kIGl0IHNv bHZlcyB0aGUgc2FtZSBwcm9ibGVtIGJ1dCBmb3IgSHVnZVRMQkZTIGluc3RlYWQuDQo+ID4gPiAN Cj4gPiA+IEN1cnJlbnRseSwgd2hlbiBwb2lzb24gaXMgZm91bmQgaW4gYSBIdWdlVExCIHBhZ2Us IHRoZSBwYWdlIGlzIHJlbW92ZWQNCj4gPiA+IGZyb20gdGhlIHBhZ2UgY2FjaGUuIFRoYXQgbWVh bnMgdGhhdCBhdHRlbXB0aW5nIHRvIG1hcCBvciByZWFkIHRoYXQNCj4gPiA+IGh1Z2VwYWdlIGlu IHRoZSBmdXR1cmUgd2lsbCByZXN1bHQgaW4gYSBuZXcgaHVnZXBhZ2UgYmVpbmcgYWxsb2NhdGVk DQo+ID4gPiBpbnN0ZWFkIG9mIG5vdGlmeWluZyB0aGUgdXNlciB0aGF0IHRoZSBwYWdlIHdhcyBw b2lzb25lZC4gQXMgWzFdIHN0YXRlcywNCj4gPiA+IHRoaXMgaXMgZWZmZWN0aXZlbHkgbWVtb3J5 IGNvcnJ1cHRpb24uDQo+ID4gPiANCj4gPiA+IFRoZSBmaXggaXMgdG8gbGVhdmUgdGhlIHBhZ2Ug aW4gdGhlIHBhZ2UgY2FjaGUuIElmIHRoZSB1c2VyIGF0dGVtcHRzIHRvDQo+ID4gPiB1c2UgYSBw b2lzb25lZCBIdWdlVExCIHBhZ2Ugd2l0aCBhIHN5c2NhbGwsIHRoZSBzeXNjYWxsIHdpbGwgZmFp bCB3aXRoDQo+ID4gPiBFSU8sIHRoZSBzYW1lIGVycm9yIGNvZGUgdGhhdCBzaG1lbSB1c2VzLiBG b3IgYXR0ZW1wdHMgdG8gbWFwIHRoZSBwYWdlLA0KPiA+ID4gdGhlIHRocmVhZCB3aWxsIGdldCBh IEJVU19NQ0VFUlJfQVIgU0lHQlVTLg0KPiA+ID4gDQo+ID4gPiBbMV06IGNvbW1pdCBhNzYwNTQy NjY2NjEgKCJtbTogc2htZW06IGRvbid0IHRydW5jYXRlIHBhZ2UgaWYgbWVtb3J5IGZhaWx1cmUg aGFwcGVucyIpDQo+ID4gPiANCj4gPiA+IFNpZ25lZC1vZmYtYnk6IEphbWVzIEhvdWdodG9uIDxq dGhvdWdodG9uQGdvb2dsZS5jb20+DQo+ID4gDQo+ID4gSSBkaWQgc29tZSB0ZXN0aW5nIGFuZCBm b3VuZCBubyBpc3N1ZS4gU28gSSBhZ3JlZSB3aXRoIHRoaXMgcGF0Y2guDQo+ID4gVGhhbmsgeW91 IHZlcnkgbXVjaC4NCj4gPiANCj4gPiBUZXN0ZWQtYnk6IE5hb3lhIEhvcmlndWNoaSA8bmFveWEu aG9yaWd1Y2hpQG5lYy5jb20+DQo+ID4gUmV2aWV3ZWQtYnk6IE5hb3lhIEhvcmlndWNoaSA8bmFv eWEuaG9yaWd1Y2hpQG5lYy5jb20+DQo+ID4gDQo+ID4gQXMgZm9yIHdoZXRoZXIgdG8gZ28gd2l0 aCBIR00gcGF0Y2hzZXQgb3Igbm90LCBJIGhhdmUgbm8gc3Ryb25nIG9waW5pb24uDQo+ID4gQXMg eW91IHN0YXRlZCBpbiBhbm90aGVyIGVtYWlsIHRoaXMgcGF0Y2ggaXMgY29ycmVjdCB3aXRob3V0 IEhHTSBwYXRjaCwNCj4gPiBzbyBpdCdzIE9LIHRvIG1lIHRvIG1ha2UgdGhpcyBtZXJnZWQgZmly c3QuDQo+IA0KPiBUaGFua3MgTmFveWEuDQo+IA0KPiBUaGlzIGlzIGEgbGF0ZSB0aG91Z2h0LCBi dXQgLi4uDQo+IFNob3VsZCB0aGlzIHBhdGNoIGFuZCBZYW5nIFNoaSdzIHNobWVtIHBhdGNoIGJl IGJhY2twb3J0ZWQgdG8gc3RhYmxlIHJlbGVhc2VzPw0KPiBCb3RoIGFkZHJlc3MgcG90ZW50aWFs IGRhdGEgY29ycnVwdGlvbi9sb3NzLCBzbyBpdCBjZXJ0YWlubHkgc2VlbXMgbGlrZQ0KPiBzdGFi bGUgbWF0ZXJpYWwuDQoNClllcywgSSBhZ3JlZSB0aGF0IGJhY2twb3J0aW5nIHRoZXNlIGNvdWxk IGJlIGhlbHBmdWwuDQoNClNvIEkgdGhpbmsgdGhhdCBJJ2xsIHRyeSB0byBiYWNrcG9ydCBjb21t aXQgYTc2MDU0MjY2NjYgYW5kIGl0cyBkZXBlbmRlbmNpZXMNCnRvIDUuMTUgKGFuZCBvbGRlciBM VFMgaWYgcG9zc2libGUpLiAgRm9yIHRoaXMgcGF0Y2gsIGp1c3QgYWRkaW5nICJDYzogc3RhYmxl Ig0Kc2hvdWxkIGJlIGVub3VnaCBmb3Igbm93Lg0KDQpUaGFua3MsDQpOYW95YSBIb3JpZ3VjaGk=