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 X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C8D15C49ED7 for ; Fri, 20 Sep 2019 01:14:39 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 74788217D6 for ; Fri, 20 Sep 2019 01:14:39 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="49gy/304"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="KGPQVJaq" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 74788217D6 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 1E8B88E000A; Thu, 19 Sep 2019 21:14:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 19A708E0003; Thu, 19 Sep 2019 21:14:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 060EC8E000A; Thu, 19 Sep 2019 21:14:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0161.hostedemail.com [216.40.44.161]) by kanga.kvack.org (Postfix) with ESMTP id D10F38E0003 for ; Thu, 19 Sep 2019 21:14:38 -0400 (EDT) Received: from smtpin14.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with SMTP id 641F3181AC9C6 for ; Fri, 20 Sep 2019 01:14:38 +0000 (UTC) X-FDA: 75953529036.14.books11_b174ac00762f X-HE-Tag: books11_b174ac00762f X-Filterd-Recvd-Size: 14754 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-eopbgr140083.outbound.protection.outlook.com [40.107.14.83]) by imf24.hostedemail.com (Postfix) with ESMTP for ; Fri, 20 Sep 2019 01:14:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hASZ5lnA2fMYdbqtg2sSaBgIx1wRhRqbQ65d08lGlcM=; b=49gy/304BmQk4EIYIQRyUo3Lp1+QTNoU+A4OQKNfFhfyt73SY8ioqWyxHW8RgSZMFcBp/tKmcfidICIYoLHEIrWSNba7Tc7t1NYn49vZNA3Byu4voS6spMHh2TTN7q8C1bAHvy34a5o1ryW7rnzjK1/hMFqNsyKaLTme9uO4HIA= Received: from HE1PR08CA0068.eurprd08.prod.outlook.com (2603:10a6:7:2a::39) by AM6PR08MB5158.eurprd08.prod.outlook.com (2603:10a6:20b:ec::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2284.20; Fri, 20 Sep 2019 01:14:31 +0000 Received: from DB5EUR03FT036.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e0a::204) by HE1PR08CA0068.outlook.office365.com (2603:10a6:7:2a::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2284.18 via Frontend Transport; Fri, 20 Sep 2019 01:14:31 +0000 Authentication-Results: spf=temperror (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; kvack.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;kvack.org; dmarc=none action=none header.from=arm.com; Received-SPF: TempError (protection.outlook.com: error in processing during lookup of arm.com: DNS Timeout) Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT036.mail.protection.outlook.com (10.152.20.185) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2284.20 via Frontend Transport; Fri, 20 Sep 2019 01:14:30 +0000 Received: ("Tessian outbound 5061e1b5386c:v31"); Fri, 20 Sep 2019 01:14:23 +0000 X-CR-MTA-TID: 64aa7808 Received: from 5e7f0a330a35.3 (ip-172-16-0-2.eu-west-1.compute.internal [104.47.1.56]) by 64aa7808-outbound-1.mta.getcheckrecipient.com id 3818456F-3F5B-41C3-9122-10F9A371D00A.1; Fri, 20 Sep 2019 01:14:18 +0000 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01lp2056.outbound.protection.outlook.com [104.47.1.56]) by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 5e7f0a330a35.3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 20 Sep 2019 01:14:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=J/8T7usVNZIh/RwbBmw3A3Z/zWRpFUSXS0/xvPDmd3PcS5zH4OjpSrkWPoOKoGhGI42qgjQyqvFf+4kRstSiUrOvx9OwCxnirbFZRA5OuIFPBf893TqKJUQxbU07JoupYl3io9KZ6cF79gOx8FGZ3kqE5SqyVjZN/h3MwoAewFAFMlWrJ+82xfPz6ksFumJq+lsFWmWh10FwQpIo+zL49hyUqwfqI3PWcSme3BzgBDWefYhEHpLRvKhwQ1lDrxF8diCgT2bbxXmOznhWorggCjLfUNxwizc7F0zC3csUG4axGOQ6rjfqm4obJlUDF6Cc8hp8oWBp61e4/UMO0a7ReQ== 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-SenderADCheck; bh=HdwA5JR3lk+jkz/qW0qE0D9SduBsjQjieMfu1RVWDaI=; b=Kw0eCL98D55OOyyq0EIdCGOfOa4fMUFZOd9dk9grHUWC9++/xPxBCZjII55nhsu0QAuvI9lMWJsVqTBjLtxlkOmMLQMe/3C7Big2SntvqOq9KW4usYJN/Gp6mQD9TNQGZGFh/Lcv2MSN1FWaSnTgtQ+7lMNft+lNiBs9+BerpzXSbfoHJuB+58sMs8m1BuG2AM3pZbSu7W5MHLo2Z5AUCIumr9Y8wYjV56D2GG75/zoKTANvc/SceLTp0GiHNQBUQRc6cFsCxlkbUG3p8yOW7pKdmJP+H75ZeMUwL372VRDRVOeG/d0WIvVG/FTPl+StAaqKqMbpUt6GuhF/UCQelw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HdwA5JR3lk+jkz/qW0qE0D9SduBsjQjieMfu1RVWDaI=; b=KGPQVJaqzHl1rYlf0iKCCawCq2dl5AYta2m7Z0i8ueUa6VbFuPIxaChp+izgQLDc+g3kleKBRK05vhKMGN21dwgRw+Fu60Qz97WcyXyKnAoEQu81jMaJ+kwIzuPm6N7Zfv961pUXJA92cjX6h06r9Zv3iy/992tI8WSI7VqDs4Q= Received: from DB7PR08MB3082.eurprd08.prod.outlook.com (52.134.110.24) by DB7PR08MB3738.eurprd08.prod.outlook.com (20.178.46.159) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2284.20; Fri, 20 Sep 2019 01:14:16 +0000 Received: from DB7PR08MB3082.eurprd08.prod.outlook.com ([fe80::3dcd:d5e4:c17:489d]) by DB7PR08MB3082.eurprd08.prod.outlook.com ([fe80::3dcd:d5e4:c17:489d%5]) with mapi id 15.20.2284.023; Fri, 20 Sep 2019 01:14:16 +0000 From: "Justin He (Arm Technology China)" To: Catalin Marinas CC: Will Deacon , Mark Rutland , James Morse , Marc Zyngier , Matthew Wilcox , "Kirill A. Shutemov" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , Suzuki Poulose , Punit Agrawal , Anshuman Khandual , Alex Van Brunt , Robin Murphy , Thomas Gleixner , Andrew Morton , =?utf-8?B?SsOpcsO0bWUgR2xpc3Nl?= , Ralph Campbell , "hejianet@gmail.com" , "Kaly Xin (Arm Technology China)" Subject: RE: [PATCH v5 1/3] arm64: cpufeature: introduce helper cpu_has_hw_af() Thread-Topic: [PATCH v5 1/3] arm64: cpufeature: introduce helper cpu_has_hw_af() Thread-Index: AQHVbwUNnLlX77/LA0SD3jlpnLQKQKczMs0AgACQdBA= Date: Fri, 20 Sep 2019 01:14:15 +0000 Message-ID: References: <20190919161204.142796-1-justin.he@arm.com> <20190919161204.142796-2-justin.he@arm.com> <20190919163644.GD6472@arrakis.emea.arm.com> In-Reply-To: <20190919163644.GD6472@arrakis.emea.arm.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 5986a0ef-d7e0-49a5-ba7a-06443398ca8a.1 x-checkrecipientchecked: true Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Justin.He@arm.com; x-originating-ip: [113.29.88.7] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: b929fb43-ab7b-42e9-f6ba-08d73d67e371 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam-Untrusted: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600167)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020);SRVR:DB7PR08MB3738; X-MS-TrafficTypeDiagnostic: DB7PR08MB3738:|DB7PR08MB3738:|AM6PR08MB5158: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true x-ms-oob-tlc-oobclassifiers: OLM:605;OLM:605; x-forefront-prvs: 0166B75B74 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(4636009)(136003)(366004)(346002)(396003)(376002)(39860400002)(13464003)(189003)(199004)(229853002)(2906002)(86362001)(54906003)(76116006)(7696005)(76176011)(71200400001)(81156014)(71190400001)(14454004)(66476007)(66946007)(8676002)(6116002)(81166006)(3846002)(25786009)(8936002)(6636002)(99286004)(478600001)(316002)(33656002)(446003)(53546011)(476003)(5660300002)(7736002)(11346002)(6506007)(305945005)(7416002)(55016002)(6246003)(256004)(66066001)(26005)(6862004)(6436002)(52536014)(102836004)(55236004)(186003)(486006)(74316002)(66556008)(64756008)(66446008)(4326008)(9686003);DIR:OUT;SFP:1101;SCL:1;SRVR:DB7PR08MB3738;H:DB7PR08MB3082.eurprd08.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info-Original: PTkOyixXLXkIZpgXfQ1NdN7ALmXczU8NgNT8TvwQIDKqwfabzJWT30nZV0Od3CpVbudI7NfAqtNdgJ5iW6mpMywtmw20iadYd2kn16rlgwL22WT/fmfWNSg6KuNWETuZ0RKCEX0JbMflB4n9nggRhnZii4i9IwBvVzeu5w8N3LVktCoUxy7uiRI+eN7I2RsOpbj3O2k/HlBnclnsc5rRcKHae1t2/ESiGYPGGeZaF+8HyCxYKEW8OSqyycXHnuKuM7IbIRBZjdnKWfROPCk/RZ9GpLuMcN2s/rCPrZjFqIu20gIqeJCaP7e77TeZjHOVn3YjzeTKRQ+Q6aK44NJtTEDp93jCKx59HlknRJEAWvNkIZ8qv/osEPl3QLbsSpgOJXIQUf7AEIAwYpVv501Ig7VaEXE2uOGtNntboZvCRL0= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3738 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Justin.He@arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT036.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123;IPV:CAL;SCL:-1;CTRY:IE;EFV:NLI;SFV:NSPM;SFS:(10009020)(4636009)(346002)(396003)(376002)(136003)(39860400002)(189003)(199004)(40434004)(13464003)(476003)(81166006)(316002)(70586007)(76130400001)(26826003)(229853002)(70206006)(356004)(102836004)(446003)(11346002)(186003)(25786009)(6506007)(53546011)(26005)(2906002)(6862004)(336012)(63350400001)(99286004)(126002)(486006)(47776003)(14444005)(76176011)(5024004)(6246003)(86362001)(3846002)(33656002)(6116002)(8936002)(23676004)(2486003)(478600001)(8676002)(66574012)(22756006)(5660300002)(7736002)(4326008)(436003)(81156014)(66066001)(7696005)(55016002)(74316002)(305945005)(6636002)(14454004)(9686003)(52536014)(54906003)(50466002);DIR:OUT;SFP:1101;SCL:1;SRVR:AM6PR08MB5158;H:64aa7808-outbound-1.mta.getcheckrecipient.com;FPR:;SPF:TempError;LANG:en;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;MX:1;A:1; X-MS-Office365-Filtering-Correlation-Id-Prvs: 35da8c21-1d57-4787-a947-08d73d67daef X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600167)(710020)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020);SRVR:AM6PR08MB5158; X-Forefront-PRVS: 0166B75B74 X-Microsoft-Antispam-Message-Info: KAybzorHQh+vGGGT7iOqPj7aZkoA9que3wFgEAh5YWRG2GJO8+0Jyi1ejUvBoKW6eZPaXy39s9lSVNfQ1Og+sNljPhg6czkvax42x7HLq2+LvZb5hc52NicivPveOK9I1FyUH44Ws5hKlOUGhPTVfNbFmyRoSYttmWv0OG5JD4opbSvsZ2STaZcxzCuPKO6Eu8QbR/90zOTF4UJCjOLtpUDolVhVJl2p74qX0Da03F6/TZ32OjqAvYjhD8QdFz9k/WscCQCs41dx/vMEh7NSzD3ggKDgbZPtn0DkrCsd86GRyKSaFY55zRcDO9Hn6LhX0enDGAJFF9GNxT8YLgMu0yC9NH/T2hkv7Zh+L5PmeZNcIiN46HVDMDd9lr9jqcq8ywE3kXl5gPSCjjj7ZsmJHciU3DnZKeBs62zNqsiKOkI= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Sep 2019 01:14:30.2546 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b929fb43-ab7b-42e9-f6ba-08d73d67e371 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB5158 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: DQpIaSBDYXRhbGluDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IENhdGFs aW4gTWFyaW5hcyA8Y2F0YWxpbi5tYXJpbmFzQGFybS5jb20+DQo+IFNlbnQ6IDIwMTnlubQ55pyI MjDml6UgMDozNw0KPiBUbzogSnVzdGluIEhlIChBcm0gVGVjaG5vbG9neSBDaGluYSkgPEp1c3Rp bi5IZUBhcm0uY29tPg0KPiBDYzogV2lsbCBEZWFjb24gPHdpbGxAa2VybmVsLm9yZz47IE1hcmsg UnV0bGFuZA0KPiA8TWFyay5SdXRsYW5kQGFybS5jb20+OyBKYW1lcyBNb3JzZSA8SmFtZXMuTW9y c2VAYXJtLmNvbT47IE1hcmMNCj4gWnluZ2llciA8bWF6QGtlcm5lbC5vcmc+OyBNYXR0aGV3IFdp bGNveCA8d2lsbHlAaW5mcmFkZWFkLm9yZz47IEtpcmlsbCBBLg0KPiBTaHV0ZW1vdiA8a2lyaWxs LnNodXRlbW92QGxpbnV4LmludGVsLmNvbT47IGxpbnV4LWFybS0NCj4ga2VybmVsQGxpc3RzLmlu ZnJhZGVhZC5vcmc7IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LQ0KPiBtbUBr dmFjay5vcmc7IFN1enVraSBQb3Vsb3NlIDxTdXp1a2kuUG91bG9zZUBhcm0uY29tPjsgUHVuaXQN Cj4gQWdyYXdhbCA8cHVuaXRhZ3Jhd2FsQGdtYWlsLmNvbT47IEFuc2h1bWFuIEtoYW5kdWFsDQo+ IDxBbnNodW1hbi5LaGFuZHVhbEBhcm0uY29tPjsgQWxleCBWYW4gQnJ1bnQNCj4gPGF2YW5icnVu dEBudmlkaWEuY29tPjsgUm9iaW4gTXVycGh5IDxSb2Jpbi5NdXJwaHlAYXJtLmNvbT47DQo+IFRo b21hcyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRlPjsgQW5kcmV3IE1vcnRvbiA8YWtwbUBs aW51eC0NCj4gZm91bmRhdGlvbi5vcmc+OyBKw6lyw7RtZSBHbGlzc2UgPGpnbGlzc2VAcmVkaGF0 LmNvbT47IFJhbHBoIENhbXBiZWxsDQo+IDxyY2FtcGJlbGxAbnZpZGlhLmNvbT47IGhlamlhbmV0 QGdtYWlsLmNvbTsgS2FseSBYaW4gKEFybSBUZWNobm9sb2d5DQo+IENoaW5hKSA8S2FseS5YaW5A YXJtLmNvbT4NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2NSAxLzNdIGFybTY0OiBjcHVmZWF0dXJl OiBpbnRyb2R1Y2UgaGVscGVyDQo+IGNwdV9oYXNfaHdfYWYoKQ0KPg0KPiBPbiBGcmksIFNlcCAy MCwgMjAxOSBhdCAxMjoxMjowMkFNICswODAwLCBKaWEgSGUgd3JvdGU6DQo+ID4gZGlmZiAtLWdp dCBhL2FyY2gvYXJtNjQva2VybmVsL2NwdWZlYXR1cmUuYw0KPiBiL2FyY2gvYXJtNjQva2VybmVs L2NwdWZlYXR1cmUuYw0KPiA+IGluZGV4IGIxZmRjNDg2YWVkOC4uZmIwZTk0MjVkMjg2IDEwMDY0 NA0KPiA+IC0tLSBhL2FyY2gvYXJtNjQva2VybmVsL2NwdWZlYXR1cmUuYw0KPiA+ICsrKyBiL2Fy Y2gvYXJtNjQva2VybmVsL2NwdWZlYXR1cmUuYw0KPiA+IEBAIC0xMTQxLDYgKzExNDEsMTYgQEAg c3RhdGljIGJvb2wgaGFzX2h3X2RibShjb25zdCBzdHJ1Y3QNCj4gYXJtNjRfY3B1X2NhcGFiaWxp dGllcyAqY2FwLA0KPiA+ICAgICByZXR1cm4gdHJ1ZTsNCj4gPiAgfQ0KPiA+DQo+ID4gKy8qIERl Y291cGxlIEFGIGZyb20gQUZEQk0uICovDQo+ID4gK2Jvb2wgY3B1X2hhc19od19hZih2b2lkKQ0K PiA+ICt7DQo+ID4gKyAgIHJldHVybiAocmVhZF9jcHVpZChJRF9BQTY0TU1GUjFfRUwxKSAmIDB4 Zik7DQo+ID4gK30NCj4gPiArI2Vsc2UgLyogQ09ORklHX0FSTTY0X0hXX0FGREJNICovDQo+ID4g K2Jvb2wgY3B1X2hhc19od19hZih2b2lkKQ0KPiA+ICt7DQo+ID4gKyAgIHJldHVybiBmYWxzZTsN Cj4gPiArfQ0KPiA+ICAjZW5kaWYNCj4NCj4gUGxlYXNlIHBsYWNlIHRoaXMgZnVuY3Rpb24gaW4g Y3B1ZmVhdHVyZS5oIGRpcmVjdGx5LCBubyBuZWVkIGZvciBhbg0KPiBhZGRpdGlvbmFsIGZ1bmN0 aW9uIGNhbGwuIFNvbWV0aGluZyBsaWtlOg0KPg0KPiBzdGF0aWMgaW5saW5lIGJvb2wgY3B1X2hh c19od19hZih2b2lkKQ0KPiB7DQo+ICAgICAgIGlmIChJU19FTkFCTEVEKENPTkZJR19BUk02NF9I V19BRkRCTSkpDQo+ICAgICAgICAgICAgICAgcmV0dXJuIHJlYWRfY3B1aWQoSURfQUE2NE1NRlIx X0VMMSkgJiAweGY7DQo+ICAgICAgIHJldHVybiBmYWxzZTsNCj4gfQ0KPg0KT2ssIHRoYW5rcw0K DQotLQ0KQ2hlZXJzLA0KSnVzdGluIChKaWEgSGUpDQoNCg0KPiAtLQ0KPiBDYXRhbGluDQpJTVBP UlRBTlQgTk9USUNFOiBUaGUgY29udGVudHMgb2YgdGhpcyBlbWFpbCBhbmQgYW55IGF0dGFjaG1l bnRzIGFyZSBjb25maWRlbnRpYWwgYW5kIG1heSBhbHNvIGJlIHByaXZpbGVnZWQuIElmIHlvdSBh cmUgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBp bW1lZGlhdGVseSBhbmQgZG8gbm90IGRpc2Nsb3NlIHRoZSBjb250ZW50cyB0byBhbnkgb3RoZXIg cGVyc29uLCB1c2UgaXQgZm9yIGFueSBwdXJwb3NlLCBvciBzdG9yZSBvciBjb3B5IHRoZSBpbmZv cm1hdGlvbiBpbiBhbnkgbWVkaXVtLiBUaGFuayB5b3UuDQo=