Received: by 2002:a05:6a10:413:0:0:0:0 with SMTP id 19csp2872981pxp; Tue, 8 Mar 2022 03:43:28 -0800 (PST) X-Google-Smtp-Source: ABdhPJxvw2rGUe4XQCpcc2tcmorMJRKGcQKRZIwIXTe2KfMIGil+v4uE1pUmkKMr393c1HuDMW9K X-Received: by 2002:a17:902:ce86:b0:151:a78b:44fe with SMTP id f6-20020a170902ce8600b00151a78b44femr16553070plg.159.1646739808177; Tue, 08 Mar 2022 03:43:28 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1646739808; cv=pass; d=google.com; s=arc-20160816; b=VHv3UYE2FzebAthF2WgiK2wOmrgZysgY4Riq+Yy5cjwVM/uX+SCbEOVU3wseYNQe72 fxTatfl9QKfKTNT5A4iXuYAbTHLGrWLEaDD/Q8O2gAfZ4BGA5Iagnm9E+OQ4Kssj2npr ZNnfjwDbGsOGKmBYbRi6FSpN2DFZVUA3Oixadwfz3ZllLQt9cAIRFpZu0oMYvt8AhZzd 4ffph7o3AGf3SuSbLxfllesWkS3ytvciklNJQNM+v7Z/QNFy88Ok/u8EuHeJWNM3weVK sVWrU7dfYwssCYNxmnjzLOVqX046HViXY8MfzmDabq+QcnDIfw8exlxk25bGEJJri53V ADOw== 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=bD6Ip81et0eCrBZXPZ1aK3Kp/oL7H90bM0zPWMwE5PU=; b=kKyun4OmgcgGeu93MiA5GBIL5Hf69fQFdXHE3V1eSCQMBY0dY815Yc88wpFBDHdrxX goGYcKz4m8rb+iy8PbD4ryl6lqECYYNj6WWSNBFOWM7um7fGS0AUsSDMDKLDYXa/dcmh CRL1QQClyzyaevHUhOr+JR3oe38peRZ03Do9UPy38oMHxQC7JHX7uSUzc4C87P3XVWwm nfokWrOtlLsgBbFF/N3bf2M33vZ4MVccI19a4Yi53CYTpJb7I0nh5iq/OlsYo6kfuXdA IRuS4mwY3o9+nCjkJlyYYarpKT+FKWkvDwic1cjWGXcJPVCy9mqqxP9eyq4jJna6pHO9 0Ihw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@nec.com header.s=selector1 header.b="DPMhBU/F"; 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 s8-20020a170902988800b0014cdd866571si13769589plp.475.2022.03.08.03.42.48; Tue, 08 Mar 2022 03:43:28 -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="DPMhBU/F"; 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 S1344235AbiCHG6A (ORCPT + 99 others); Tue, 8 Mar 2022 01:58:00 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49466 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344228AbiCHG57 (ORCPT ); Tue, 8 Mar 2022 01:57:59 -0500 Received: from JPN01-TYC-obe.outbound.protection.outlook.com (mail-tycjpn01on2076.outbound.protection.outlook.com [40.107.114.76]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0935D3D1DF for ; Mon, 7 Mar 2022 22:57:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RbV8P9OkUY0Bc5B8EGWTHhiplqqRox1EeQGFIM68Ykk6BRppLb5t24QY2HRfRwvGalQ1RhjdFdFm7cG5nK3mKq/N/QN8ndjreQH1MMk1cNjLoEBzgnAHd+Ca2bBEz/c2xJzewP+IYS0H6F7c4Cc2mkSc5c4eaqKeQx+wmTmhBR3+lliiWn7ksrsaQu/0VdPqwzzP88h3mIaeDE+5coblVIZpfac7C4EAPrniHK5SfNNGX3XbRLu1gCfxdBk7lmT2Yjq8TtwE8WHgfTtxSwnPQ6f1SkZNzmxIG3O0b9W3k+QZAdAhCucSct2TMbmcOTokcASyJvx6+vnkP7KwdNwaJg== 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=bD6Ip81et0eCrBZXPZ1aK3Kp/oL7H90bM0zPWMwE5PU=; b=SIvJbobyGLdd3zNnyTJZ3u+0jv/vAeKfDrNNmj7iPTXAYRONQJwRY17kee0HDAGGef4O8+M5VBDEZ6Amm1ANzW6Vx1iWHF1qJNrql0Ge70CPydpelXI7FFCZfpiqOzPrJfKCfPHzi7ufeZZj3APLXMAvbpNnDnEPIHtiKat7cAkohZS/yYvDETt9ofOUm4wse1iDh4SywLxKT5A1R8/tjYLPHIT8u2TMoGK/plVfuP8gXrZQCB6npaQ+7puyQSwJj3BTD5Xlq5UrctvHvXNxjhbkAlAjQ1JG24bMyzW9iZEIGo2ltZdAwMyS/BSaoXrffwlxkcRE9vh7kbOE4sJ50Q== 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=bD6Ip81et0eCrBZXPZ1aK3Kp/oL7H90bM0zPWMwE5PU=; b=DPMhBU/FYNA2P1AtcQFMRcboYOLzenxD6t1VfDOl3cQyYy9ieqCfaXhBx7kw62wukQWWGX2AdKXpmzEwKJeXZsiPcoz3KgnIxHOc2TUg7RtALLVzxKrV3JRnc6n5Sz2wqGzZAHJXGBPaGlmRbndrl7tMZXaykLv7cialVN/eHXk= Received: from TYWPR01MB8591.jpnprd01.prod.outlook.com (2603:1096:400:13c::10) by TYAPR01MB5279.jpnprd01.prod.outlook.com (2603:1096:404:c8::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5038.14; Tue, 8 Mar 2022 06:56:59 +0000 Received: from TYWPR01MB8591.jpnprd01.prod.outlook.com ([fe80::6565:8408:9726:83e]) by TYWPR01MB8591.jpnprd01.prod.outlook.com ([fe80::6565:8408:9726:83e%8]) with mapi id 15.20.5038.027; Tue, 8 Mar 2022 06:56:59 +0000 From: =?utf-8?B?SE9SSUdVQ0hJIE5BT1lBKOWggOWPo+OAgOebtOS5nyk=?= To: Mike Kravetz CC: Miaohe Lin , "akpm@linux-foundation.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH 1/4] mm/memory-failure.c: fix race with changing page compound again Thread-Topic: [PATCH 1/4] mm/memory-failure.c: fix race with changing page compound again Thread-Index: AQHYLKv/m9lQFb/m9ESDNV8aDBIe4ayu6bkAgAC5+gCAA642AIAANzSAgADKvACAAMY3AA== Date: Tue, 8 Mar 2022 06:56:59 +0000 Message-ID: <20220308065658.GA610534@hori.linux.bs1.fc.nec.co.jp> References: <20220228140245.24552-1-linmiaohe@huawei.com> <20220228140245.24552-2-linmiaohe@huawei.com> <20220304082624.GA3778609@hori.linux.bs1.fc.nec.co.jp> <79f79813-bb9a-bfff-0837-a24d14da0b19@oracle.com> <999a0f88-9465-0c93-e922-8aa80fa64f81@huawei.com> <20220307070155.GA591088@hori.linux.bs1.fc.nec.co.jp> <89af9b3f-1ab9-15db-d476-574271ce8292@oracle.com> In-Reply-To: <89af9b3f-1ab9-15db-d476-574271ce8292@oracle.com> 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-office365-filtering-correlation-id: c709c11e-9f02-4b1f-fa24-08da00d0d766 x-ms-traffictypediagnostic: TYAPR01MB5279:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: waq2AR0aXLafdP5UrbdZlATGQBM+vRmC2HzrtT349SDF7jqxiPzn266//uXJeYfQqp+Bv97PyrxgpRgAah/K1abSoO7fqD5st5gyvSAeOWLDbvd+F5qXcwUBVJApbdDslcog/YwYwaL/pWLlCKYvJD+K8R+fT2FTR7O1gIdNGrhDAQNsNMywv7tC8J/+oxdaOoxUg5S8A2+gnIqgOwnyqgnqwNkWNeMJ1TJnLtUZfSKAS+kYqvsszk4ti3TVsWsdIBYok0HSw+f6QVCqOsQE9ADne4bn45ujciGP2XbT+Xk3khNw8nKO0ZD9LLn/vKl1rwb7I10YRRdBk/ImXeS8qk/xfeTi1kvRfYJn/ygIWpFEqye0Nvaiu5hGf2XXM3inMurhWrCHmfTXDpdixDje1q5HnjYyqt3P+DQ6eQYdR2J2g8YaJyIn4E2UUpzSU/P6T8dYKYZtqGFeooOOuo+xMuLW4cuuThKGJVpSNIrC0ESyJ2bsi2rbdXz9KlIsSYijPoKQlRPjw25upcTb8qFP3V7w3quhVRLDjRr8sN+q+iOT6iRlII087qQIr7fkKw/qQPK7413KvvwKnCxaarkPl+4zh5unXmjcpcSlN3rBsh+x1tNwhtMNSgDczMrwLnlMOH0DYVoRhtoSBur3knJ3DjuqO7fuT0ZAbhWY58rHA+sdi+QYC1o9e3INKvubqopdqLr0kLjS9tfLhaaY4rJ78Q== 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:(13230001)(4636009)(366004)(508600001)(1076003)(26005)(186003)(55236004)(33656002)(6486002)(76116006)(6506007)(9686003)(6512007)(71200400001)(38100700002)(122000001)(2906002)(83380400001)(86362001)(38070700005)(82960400001)(4326008)(8936002)(5660300002)(6916009)(316002)(54906003)(8676002)(66556008)(66946007)(66446008)(64756008)(85182001)(66476007);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eGdZU2NZOW56cXFmaitCL0NaWllOQno2azh1SnhlTjZ5enhMOFBLbDEzQldJ?= =?utf-8?B?bk1SMVBRcjJEOTRJYVN5R0tWeUx3eDBXRTlmZG1rMTN3WTJNZk9LQTlsSFUr?= =?utf-8?B?VUF6Y1VsV1dKc0hBbGhwVHZkTnJBSnJRKzcwWTl1azkzK3RYRG1RV0xXRTV3?= =?utf-8?B?K0FiQ3R4RHpUaG82elZPZmttcEpURTBkL3FNRDl1K3gvRjdLc21FSG9KRExO?= =?utf-8?B?OXY1VjY3MDNjbW9obkxYWmtjVE1mM2Q3NzRndnVnREZhcWlTbmxHcUozR1V3?= =?utf-8?B?aHlGeGd1OU5ONGwvd0RQUEJ5ZTdIQ29XTCtaV2FxTjh2SGlxSHIyejF0eFRr?= =?utf-8?B?bEIvMlZJelZ2cUIxbDhJRy9tcGFjWUM3MFRNdjFFMTY4eXpPbWQ2TUNiQm5X?= =?utf-8?B?c0hOeFB3S0V1eWF1bWpKVXJzYkVtL1lKSG0wYmpZNDlTOTJ1bG1ZSHE4ZnBJ?= =?utf-8?B?S3hKNzJUWkF5aUdYbFhQbHVGUDNReUpOVEQrL2hIU243TGhId0U3QlVMWEFx?= =?utf-8?B?ZmVKSGlmZG8zcHdPTXI5ZjZzUEtjOTQyMFRoY1dWOE9TN2ZJa1R3RkFGa1Uy?= =?utf-8?B?UlcyTUg2UGVrck4zL2ZRUURSOGVMSVVQNFJzQllSOStQZmp0dEhMejFHNFlZ?= =?utf-8?B?YVBzTDRUSnVxSlNpbXpuTDE5emJSTHVzdGQ0M3RsWVB4a3JGT1Jub2R3OUpG?= =?utf-8?B?YUpRUlEwSWQwenFiVWw4allFT1ZERC95T2lvd1JoNTZUQjVVZncyazhJT29Q?= =?utf-8?B?Rnk3SHBFNGFWZGtHNkJUZWlxWmdkUExyaWw2Vzk0VDl0dVIyT1hrUURoZENO?= =?utf-8?B?SDkxRHdEOFE5ZDVBK2M1Q2o2a05HME1jMVNSMzZPa1MreW15QkhJWWllRURa?= =?utf-8?B?bTdVMDBISnMrUGhhcWxValNiaWk0WFc1b1VVNmptYXE1WjlYbVk1ZWNTTmxn?= =?utf-8?B?OW13Ly85ekxoNkZUbVQ1eFphb3piSUlyaUxLWklMYTl2L2ZYd25OSHd6WHpI?= =?utf-8?B?NWN5dVlUTnpQY3ZBQzNoVklRdjZtcU9Pa3lseXRDc2I0Yjh5dzNEODRxa3Iw?= =?utf-8?B?dWZqT2lpQmdUaHVyY00yTEN4MjZSMTlRQ0tDeGhVRHpvR3lYVkxnbmRYNXJo?= =?utf-8?B?RFNlM0RHOHBaZllVZ1dQT05naDYxem1aUTdwT2NZMlByc3hRRkEwZmpjM2Zy?= =?utf-8?B?NTdvOTV0SVVtb3JUR0VCQnliTzFiN3htYVZCUkhOUnAvWWhKY1Y2UU0wUmJa?= =?utf-8?B?Zk0xRFRzMmhTR0txRlFOczhEVkNYeUIvN01lM0dHZjZrSk8raGpsZVljZlk5?= =?utf-8?B?R3lETm10cFFiMGpRZWhYNktHNUpzVnpwYU5JQlZ5M2xsakI4TUhiYVJDRFZB?= =?utf-8?B?dkt3VGhDbUMvSVBuZEV0RGp4VjBSTjRmdWVvSHNnSHQ3cW1LMWF2TDN0Q3Iw?= =?utf-8?B?OFFmMkk0c1ZlNkJ5WFdzRWhmZUlxMU9pNngwTm5qUEd5L2lMcmFRYklTVkUz?= =?utf-8?B?SU5LVHovQzFQOGVaVUw3WTE3Q005ejNrWFNGdUEvQUhFUVByT0cxV2x6dzJB?= =?utf-8?B?bW52ai9WVStON3FFOUlwU29abkNvMGxFTEhkUGNiSXhXM3hZTXVGOUNEdEpG?= =?utf-8?B?dncwNW92MWJXU0F2SngzaHF6UjJMRDF5UUI2QlNPQ0RFN1h4TGlzdndXcGMw?= =?utf-8?B?V1JuZDJROUdNZFJNajMwY05sUEdSUkxjeGNSdkxvZUtFS3UvQVVGbXZMZ3lY?= =?utf-8?B?aFRhNnpQWGNHK2x3S3I5alh5dEUzbmJXV01JOUZTeTBLRFFudXdWQXAzaWlD?= =?utf-8?B?KzJIeUtDZm5GbFA4ZUVHbWk3Ynk3RXVEeElHd0pYT0UxREc2clhVcTlhUnpx?= =?utf-8?B?ZnRDSytkMklMQXpkajRJSFg4dWFiREV5bkRBL1lQVmNraEJrVFpIQlJFVmJE?= =?utf-8?B?Mi9ZZjVvaGhkRXJIejJmOHR0ZjM4VWhtd2xSc08zazMzOElSWElQY2w1alZ3?= =?utf-8?B?eDVldGlMY2poVUNaK3BOOEswYTA5eWJZT1ROL2ZkcWxBcGJCakY4ODM5VHFL?= =?utf-8?B?YkhGM25BMlE3T1A1ZGRxT2NZUUxPM2hpSk16bVppYk5VWnlqbHR3eWNQbEZK?= =?utf-8?B?TnZNOWw0UHNTUEdueEU5QnJkcGFiQ3cyYS9zbjRWaVhqOXJyMzZ6N1ZlYWoy?= =?utf-8?Q?m/blCvt+pzjkvAfLfrfBqNM=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: 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: c709c11e-9f02-4b1f-fa24-08da00d0d766 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Mar 2022 06:56:59.2769 (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: ZBqkVMfAjarA5hyoDxcsNHYy+OBolU/gxiAJnLUN/X5C9rKtK+a9wbuCrUk5C38Ch3jTkY2OEjJNw5rypoLiAQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB5279 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,T_SCC_BODY_TEXT_LINE 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 T24gTW9uLCBNYXIgMDcsIDIwMjIgYXQgMTE6MDc6MzJBTSAtMDgwMCwgTWlrZSBLcmF2ZXR6IHdy b3RlOg0KLi4uDQo+ID4gDQo+ID4+ICsNCj4gPj4gKyAgICAgICAvKioNCj4gPj4gKyAgICAgICAg KiBUaGUgcGFnZSBjb3VsZCBoYXZlIGNoYW5nZWQgY29tcG91bmQgcGFnZXMgZHVlIHRvIHJhY2Ug d2luZG93Lg0KPiA+PiArICAgICAgICAqIElmIHRoaXMgaGFwcGVucyBqdXN0IGJhaWwgb3V0Lg0K PiA+PiArICAgICAgICAqLw0KPiA+PiArICAgICAgIGlmICghUGFnZUh1Z2UocCkgfHwgY29tcG91 bmRfaGVhZChwKSAhPSBoZWFkKSB7DQo+ID4+ICsgICAgICAgICAgICAgICBhY3Rpb25fcmVzdWx0 KHBmbiwgTUZfTVNHX0RJRkZFUkVOVF9DT01QT1VORCwgTUZfSUdOT1JFRCk7DQo+ID4+ICsgICAg ICAgICAgICAgICByZXMgPSAtRUJVU1k7DQo+ID4+ICsgICAgICAgICAgICAgICBnb3RvIG91dDsN Cj4gPj4gKyAgICAgICB9DQo+ID4gDQo+ID4gTGV0IG1lIGhhdmUgb25lIGNvbW1lbnQgb24gdGhl IGRpZmYuIFRoZSByZXN1bHQgY29kZSBNRl9NU0dfRElGRkVSRU5UX0NPTVBPVU5EDQo+ID4gbWln aHQgbm90IGZpdCB3aGVuIFBhZ2VIdWdlIGlzIGZhbHNlIGluIHRoZSBjaGVjayAoYmVjYXVzZSBp dCdzIG5vIGxvbmdlciBhDQo+ID4gY29tcG91bmQgcGFnZSkuICBNYXliZSB5b3UgbWF5IGludmVu dCBhbm90aGVyIHJlc3VsdCBjb2RlLCBvciBjaGFuZ2VzDQo+ID4gTUZfTVNHX0RJRkZFUkVOVF9D T01QT1VORCAoZm9yIGV4YW1wbGUpIHRvIE1GX01TR19ESUZGRVJFTlRfUEFHRV9TSVpFPw0KPiA+ IA0KPiANCj4gU3VwcG9zZSB3ZSBkbyBlbmNvdW50ZXIgdGhpcyByYWNlLiAgQWxzbywgc3VwcG9z ZSBwICE9IGhlYWQuDQo+IEF0IHRoZSBiZWdpbm5pbmcgb2YgbWVtb3J5X2ZhaWx1cmVfaHVnZXRs Yiwgd2UgZG86DQo+IA0KPiBzdHJ1Y3QgcGFnZSAqaGVhZCA9IGNvbXBvdW5kX2hlYWQocCk7DQo+ IC4uLg0KPiBpZiAoVGVzdFNldFBhZ2VIV1BvaXNvbihoZWFkKSkNCj4gDQo+IFNvLCBpdCBjb3Vs ZCBiZSB0aGF0IHdlIHNldCBQb2lzb24gaW4gdGhlICdoZWFkJyBwYWdlIGJ1dCB0aGUgZXJyb3Ig d2FzIHJlYWxseQ0KPiBpbiBhbm90aGVyIHBhZ2UuICBJcyB0aGF0IGNvcnJlY3Q/DQo+IA0KPiBO b3cgd2l0aCB0aGUgcmFjZSwgaGVhZCBpcyBub3QgYSBodWdlIHBhZ2UgYW5kIHRoZSBwYWdlcyBj b3VsZCBldmVuIGJlIG9uDQo+IGJ1ZGR5LiAgRG9lcyB0aGlzIG1lYW4gd2UgY291bGQgaGF2ZSBw b2lzb24gc2V0IG9uIHRoZSB3cm9uZyBwYWdlIGluIGJ1ZGR5Pw0KDQpDb3JyZWN0LCB0aGUgcmFj ZSBtaWdodCBiZSByYXJlLCBidXQgdGhpcyBuZWVkcyBhIGZpeC4NCkkgdGhpbmsgdGhhdCBzZXR0 aW5nIFBhZ2VIV1BvaXNvbiBmaXJzdCAoYmVmb3JlIHRha2luZyByZWZjb3VudCBhbmQgcGFnZSBs b2NrKQ0KaXMgdGhlIHJvb3Qgb2YgYWxsIHJlbGF0ZWQgcHJvYmxlbXMuICBUaGlzIGJlaGF2aW9y IGNhbWUgZnJvbSB0aGUgb3JpZ2luYWwNCmNvbmNlcHQgaW4gaHdwb2lzb24gdGhhdCBwcmV2ZW50 aW5nIGNvbnN1bXB0aW9uIG9mIGNvcnJ1cHRlZCBkYXRhIGlzIHRoZSBmaXJzdA0KcHJpb3JpdHku ICBCdXQgbm93IEkgdGhpbmsgdGhhdCB0aGlzIG1ha2VzIG5vIHNlbnNlIGlmIHdlIGhhdmUgdGhp cyBraW5kIG9mIGJ1Z3MuDQoNCkknbGwgdHJ5IHRvIHdyaXRlIGEgcGF0Y2ggZm9yIHRoaXMgKEkg b25seSBmaXggbWVtb3J5X2ZhaWx1cmVfaHVnZXRsYigpIGZpcnN0LA0KYnV0IGdlbmVyaWMgcGF0 aCBzaG91bGQgYmUgZml4ZWQgbGF0ZXIpLg0KVGhhbmsgeW91IGZvciBwb2ludGluZyBvdXQuDQoN Ci0gTmFveWEgSG9yaWd1Y2hp