From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web11.58045.1679523317711358368 for ; Wed, 22 Mar 2023 15:15:18 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=bjbqbP9M; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: michael.d.kinney@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1679523317; x=1711059317; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=ItpWuonY6SCjdcOSeIsU8PUSYU0sGzhxMqjIoTcMI/E=; b=bjbqbP9M8rXsRWFFCjfdFitMGkNOLTBHu6tFJtg6bZrC9S8nMUaQLWM3 YU68mTmNnlw0EaYJ5VTukzUQUCk8VBSLpo7ud7RkfriqRaZObxtwZky3U cZWelbnTVMSyzTifWmdrEtDjaL0nceA6JS1l5sor+PdhVtPCDIvGAAnJO 3SqFys7n2Vqysg7aU3O/3rvHWpI2a/XGuXBGa7nnJJL5zQZxw250BkD8V 1LlZTRrQk8bY5ueGWwzcT8QZovooFdz3Hc7qI6PNuuWSxBRGjwciX70vg sIao5NDGoATuoVFqs4SxWDt/cDc+ePA4WSQexIhuEb2qqXnefvFyI79Ul g==; X-IronPort-AV: E=McAfee;i="6600,9927,10657"; a="327722133" X-IronPort-AV: E=Sophos;i="5.98,282,1673942400"; d="scan'208";a="327722133" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Mar 2023 15:15:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10657"; a="746489020" X-IronPort-AV: E=Sophos;i="5.98,282,1673942400"; d="scan'208";a="746489020" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga008.fm.intel.com with ESMTP; 22 Mar 2023 15:15:16 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Wed, 22 Mar 2023 15:15:16 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21; Wed, 22 Mar 2023 15:15:16 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.21 via Frontend Transport; Wed, 22 Mar 2023 15:15:16 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.174) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.21; Wed, 22 Mar 2023 15:15:15 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Yn1LQRQcC3rEMVn5qz/l87aAs4p8Hmy8INg7EL8f5JMGFIpFooU1GZbR2/qjfhNGyuC91BoWk3TgGRjJBTx0Pno0P37WS7R/n7rwBYejAMkW3KLZvOt29vmLVdVAbFj9qqc57jaqW5+dvhgATJ3134NhfY/XaJO/wnZYrWPGQBZAc9KA4I/+B2YuF18yXtnWcbHccaWVTizyJcs+gnKB81gEhyBoQncROvfNPKKlDU3X0U4Ujqhm8uFxpPSpnbXXHv6I6z36oIy+DZW3OVc5S9lcZcVxZ3P6uqX3dxvofBKDv4OQFqdaBUkExTyqX5qbwfBnAayzeRKAyGOKTx4tuw== 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=ItpWuonY6SCjdcOSeIsU8PUSYU0sGzhxMqjIoTcMI/E=; b=CQBtc5RkjgtsJE0Mg8d1nKVZNi815eNkNQnvX3W7NpjIn7FkVgQTiUt6mXyXandBs/15U/2WfJG6WOo0SLsALgNNDAaYaYfuObm62GRaEp1ddt80i/cS2BwPlL42o+P/wVid2KDjtSZTiyD9pVuO9lrMAIFRzDndawWhQ4EabY4VpwVnn2FZHdCEKd/YnToiiMjUfhEjrdm5Vb2MV57TUStxOcHXYP9iMMAkkYlqT87x/MKWdQa6LnRJfHrBXffQ1kDW/xJ3zn8ycJp/8jO9vUnglFrEeiMmtsu3ZKSYoQ1Y+uW/e7m0aJ/kyjEk7HvvJSTAu7llqa7hfPCL0flqRA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by MW6PR11MB8338.namprd11.prod.outlook.com (2603:10b6:303:247::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar 2023 22:15:13 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::76be:1164:2c1f:90a5]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::76be:1164:2c1f:90a5%8]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023 22:15:13 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "kraxel@redhat.com" CC: "Aktas, Erdem" , James Bottomley , "Gao, Liming" , =?utf-8?B?TWFydmluIEjDpHVzZXI=?= , Pawel Polawski , Michael Roth , Tom Lendacky , "Yao, Jiewen" , "Wang, Jian J" , Ard Biesheuvel , "Justen, Jordan L" , "Wu, Hao A" , "Liu, Zhiguang" , "Ni, Ray" , "Xu, Min M" , Oliver Steffen , "Kinney, Michael D" Subject: Re: [edk2-devel] [PATCH v2 6/6] UefiCpuPkg/MtrrLib: use new IS_POW2() macro. Thread-Topic: [edk2-devel] [PATCH v2 6/6] UefiCpuPkg/MtrrLib: use new IS_POW2() macro. Thread-Index: AQHZXIxqSGnvK/OhI0yg7T+UdpiLYq8HXlLg Date: Wed, 22 Mar 2023 22:15:13 +0000 Message-ID: References: <20230322070243.410903-1-kraxel@redhat.com> <20230322070243.410903-7-kraxel@redhat.com> In-Reply-To: <20230322070243.410903-7-kraxel@redhat.com> Accept-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=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO1PR11MB4929:EE_|MW6PR11MB8338:EE_ x-ms-office365-filtering-correlation-id: c5398b41-600d-4d56-8515-08db2b22e8b9 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: iVK0xRCyml/YNvPa+tgjiXwpnOeXgGLJcCOp81hQPQ3dQ3jyhs0a02CLDANRvzcw9HPfUUvedv0I6xrIgUsxbuvJppgNVRrCJqvmEAFrZd6Lt/g8aA8C/PWDGACiGK/NQ8Cukzi03Pw+JcCtrAjQn7pG0h0sG9xeOb13zgulJLvENHYKKs+pF/NVKqNR+p9wY1z9qRx2uRQEcUjr9bBfrAfiaUJptdO1ZRH6PFNNE1Wjbb/Lg6hrly5pQtzD80p8MetH7O1PEZGYpJQCM4d3K56wfK13r8KGkQllW2zkZh3owXHZDijFfx/YzlcAlCiFZPLsoOKyLKSZEqbMyLMKo9RUn+qrqq6oLRqkGW3ghgiQ4VYdAn8r5rdAhXvDwqxCZVxofhJC7cqzkRt16gFmkNFV1ALLcrQO+62nE7Va3ObUtlrPfON3hvofoQ9SewocR2TZmWn9iFx+qg/vutZWzqcDhXOEwcQBR1VGWbzRlxty4BUj8aB7MglIUUhKCNQOeTm138qOOQ7uV5RGUQb6846RkfwY+izX5eqkBF8PpBqWvubaAqCOf4yb+adYsruNbRhf0mx6bxX74n9fWGtknH8VdE9eJKJUEKgItqmvVUwHPztbXC+M+++2jBj8kZjKGNEDgk2JtsDyPYNPzpdiLOFIUiOjaCkGe/eLjNFhH4DmZc0vNrXfiwdr/8coGA7g6/5JUVlUGNAtcAMXkcPCPNOP1Yku5aYjEymb4I6ZCQ8= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(136003)(396003)(366004)(39860400002)(376002)(451199018)(2906002)(7416002)(8936002)(52536014)(66899018)(82960400001)(38100700002)(41300700001)(110136005)(83380400001)(316002)(122000001)(54906003)(478600001)(33656002)(4326008)(86362001)(7696005)(9686003)(38070700005)(66556008)(76116006)(71200400001)(966005)(66946007)(55016003)(8676002)(6506007)(66446008)(66476007)(107886003)(53546011)(26005)(64756008)(5660300002)(186003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aEJSTUVwbEJJTVg2MkFpOXU2L09mbXZxOG90cXV0WEJERVZjQTd6dzErRG9D?= =?utf-8?B?d09qaFlocFMySEJRSkJEZWdkeEtqcnAyZzFIRFprMkl2WUJvbkFTZ2JBdkJm?= =?utf-8?B?T0RqZnZBZm5pQlhOVUxZcFRsNWNLZWZlMWQ3a0h0aTRIbEVOcCtwYzJYOUFB?= =?utf-8?B?U3NyWXNDNks4SElqWWp6MzdBTnlCdmVNUDEwR0h6clAwN1QrTlMzc0dFa0hx?= =?utf-8?B?NzR1bzB4MjVYZVRHcVIreTdBNUkvelRZOTVUSUtMeFU1Y3BJZTdMM29uUmt1?= =?utf-8?B?V3AzZVR1OUc5TXg1NEVpUDByeDhXYTRVWmR2NXFDTHJydUdXMkdjcC93OUN1?= =?utf-8?B?MWEzZXNhWDBUa2dtODJqL21TOWRlanU5UG0vSXdOYkdCV3hUL1M0SUdWQzdJ?= =?utf-8?B?YzhqRFVTeFJMV2VTV0Zma1NwQjM1MzV0VGZLZ1JSSy9FdzRaQldtNVN3WGVC?= =?utf-8?B?ZjgvYjQrYWxtejJvRk5QN1lJd1VkRlFJay9aYzdZcWlaaUVQVFgyMEluSXR1?= =?utf-8?B?WnlLUkM4eTgwSzhmTmNTcE1xenFVSTNSckZVSWk5MlRmSkhPVFdDY3M3U01K?= =?utf-8?B?YWYwOFNOTmc3Q3U0cFZFZUlxdzh3SWx0bFNseS9ydFRwTVRPTEdTMDFVQUpt?= =?utf-8?B?YUpZMTBsMGIwc1FZRnJwM0Y5L3NKZTd1N2wxTWpMYitrWWxWa0s3Z25WYURO?= =?utf-8?B?Y2tpNzdQVERuN1E0VzFxMHNYUkRhaDM4VDVzYThmSHgyV1haaFdoR2hyZGNS?= =?utf-8?B?YTFEbm1nMlV2bkhkQkt6ZGdtQXNxbGxPNU9XT1Z2YmRqa2RXTnRnRUcrdTBG?= =?utf-8?B?MnVDTU8zV1dvRjJRNkd0ZWljZUpTMGdRakdBQWc4ZHFkSnRHbVErUk9YQnRU?= =?utf-8?B?SFpBMnVpVXVVNmVmREpuVkUyazVpT0lwUXFGTy8rRDQ2alJPMXJJNjNUcGtX?= =?utf-8?B?MjdJVjhQT1JsMjJKLzNjcE9xZGxGcEpGNzhDVzRaNEE4K0lXM2FzOHFIeGE3?= =?utf-8?B?YThiVFV2MTBEL0xFSTNDZFVOdUxjYi8yN3RVSTBxRmFueEhJVElaa3M2M2lz?= =?utf-8?B?UGk4UXRlVW1vZEQvaXI0UjVpbktvLzBxYk5yYjVvanVnS3lvdkpXMG53TG44?= =?utf-8?B?SHNWWGZQNUNrM3J0aEd4U1JWNmF4VWJIZGlvQ1QyYTNnbnBZaFZ2RTRTeVRz?= =?utf-8?B?d24zZS9SQWhKQkFpRFh1MjA1TFRGRFVQeHlVU0pEV05VWkhQaUliYTV6d1gr?= =?utf-8?B?b21YRmdNYmhSdVRMaTgxc0ZoWnRacG9ZdHpMY2ZUdEloSWY0VUJKKzhJbTU1?= =?utf-8?B?cFJBMWVmeU55ZHAvdFp5QWhwSDhtdDBSNmtaRk1zK1ZCTDhJTU5pREk4d0lh?= =?utf-8?B?cXN5SjF2bmczWHZPMXZPZFp2UEt2RlBuR1JxWjQwTVhxZzZ4UEJrNWhOOVlW?= =?utf-8?B?dm1QTW52Ry9kSWNra0kwYnFKSncvUGlEclpLM2E4cDBqT2hzbHd2dHBtaDh4?= =?utf-8?B?ZDgrVWFJTVo2TTVRRFY2LzVZV29uaGRXdVhFUHlXVXBnOVNiK0JadmhWdHZN?= =?utf-8?B?cHZiU3k2NkNHMzRCeVJYUDRNMkw1NTA3bEZIbUtSTHo3dy9EeXRVazlkbWhy?= =?utf-8?B?dDZNckIwSjdwN2VYQ01qS0lRUXV0UVUwWDZJQlB0bWFHbFp6aExpejZFYVZy?= =?utf-8?B?aGZnSHhrMUd6TWNDZi9ON1h5TENmV1JuY2tvUThzQXdtVGdTWHNiaWo3d042?= =?utf-8?B?T3A1U1o5OHZad05nREhMUlphUlZRWHNONUh0OXJWSmhTY3VPUUVnK3RyTkZG?= =?utf-8?B?Ull3VnN2WHBGZmZtb2lJMTMxMTV1WDJZR013OHRQZ2RwOFAwdFhSTmRjbXlh?= =?utf-8?B?Tmo4K2EzMU9wbTBLdWRrV3BlY3RkVkVjdUtzYnhlWnkzSFlwSUtuYnF6WndC?= =?utf-8?B?RmhlZExsSHBzLzNta1Z1UXVKc1FFTlE3Q25pL3UrY3kxa3NkNkxaWjhrZmQ4?= =?utf-8?B?TldTZkxsK3U0RkM3bjlSOXBSZWtRTE1MTVdweENYMzFoM25pR2RCSG9wUk5v?= =?utf-8?B?WTJxWmpCdDZCOW5LTkVzTGhCZGNhUk1ZaDNxWko2aC9ScnlRK3BJY3o1Sjhn?= =?utf-8?B?U0lyMUo5TVZkWEtLMGFDbld0eUNQVm95ZWoxeE5sdEhabzcveThzak1MaDF0?= =?utf-8?B?eVE9PQ==?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c5398b41-600d-4d56-8515-08db2b22e8b9 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Mar 2023 22:15:13.6098 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: uhGJ1aL7RlKiH7Mnuwfu19nPUnsQevjF2QzG9ctMPa+QDUjFpL7clMVwwo4lRl7xHjAr9MeSkApxqvgGBskfbY6Fy/9B2lbadvwiVvupH9E= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR11MB8338 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UmV2aWV3ZWQtYnk6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t Pg0KDQpNaWtlDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxA ZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgR2VyZCBI b2ZmbWFubg0KPiBTZW50OiBXZWRuZXNkYXksIE1hcmNoIDIyLCAyMDIzIDEyOjAzIEFNDQo+IFRv OiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwu ZC5raW5uZXlAaW50ZWwuY29tPjsgQWt0YXMsIEVyZGVtIDxlcmRlbWFrdGFzQGdvb2dsZS5jb20+ OyBKYW1lcyBCb3R0b21sZXkgPGplamJAbGludXguaWJtLmNvbT47DQo+IEdhbywgTGltaW5nIDxn YW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBNYXJ2aW4gSMOkdXNlciA8bWhhZXVzZXJAcG9zdGVv LmRlPjsgUGF3ZWwgUG9sYXdza2kgPHBwb2xhd3NrQHJlZGhhdC5jb20+OyBNaWNoYWVsIFJvdGgN Cj4gPG1pY2hhZWwucm90aEBhbWQuY29tPjsgVG9tIExlbmRhY2t5IDx0aG9tYXMubGVuZGFja3lA YW1kLmNvbT47IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPjsgWWFvLCBKaWV3ZW4N Cj4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRl bC5jb20+OyBBcmQgQmllc2hldXZlbCA8YXJkYit0aWFub2NvcmVAa2VybmVsLm9yZz47IEp1c3Rl biwgSm9yZGFuIEwNCj4gPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+OyBXdSwgSGFvIEEgPGhh by5hLnd1QGludGVsLmNvbT47IExpdSwgWmhpZ3VhbmcgPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+ OyBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsNCj4gWHUsIE1pbiBNIDxtaW4ubS54dUBpbnRl bC5jb20+OyBPbGl2ZXIgU3RlZmZlbiA8b3N0ZWZmZW5AcmVkaGF0LmNvbT4NCj4gU3ViamVjdDog W2VkazItZGV2ZWxdIFtQQVRDSCB2MiA2LzZdIFVlZmlDcHVQa2cvTXRyckxpYjogdXNlIG5ldyBJ U19QT1cyKCkgbWFjcm8uDQo+IA0KPiBEcm9wIE10cnJMaWJJc1Bvd2VyT2ZUd28gZnVuY3Rpb24s IHVzZSB0aGUgbmV3IElTX1BPVzIoKSBtYWNybyBpbnN0ZWFkLg0KPiANCj4gVGhlIEFTU0VSVCgp IHJlbW92ZWQgKGluc2lkZSBNdHJyTGliSXNQb3dlck9mVHdvKSBpcyBzdXBlcmZsdW91cywNCj4g YW5vdGhlciBBU1NFUlQoKSBhIGZldyBsaW5lcyB1cCBpbiBNdHJyTGliQ2FsY3VsYXRlTXRycnMo KSBhbHJlYWR5DQo+IGd1YXJhbnRlZXMgdGhhdCBMZW5ndGggY2FuIG5vdCBiZSB6ZXJvIGF0IHRo aXMgcG9pbnQuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBHZXJkIEhvZmZtYW5uIDxrcmF4ZWxAcmVk aGF0LmNvbT4NCj4gLS0tDQo+ICBVZWZpQ3B1UGtnL0xpYnJhcnkvTXRyckxpYi9NdHJyTGliLmMg fCAxNyArLS0tLS0tLS0tLS0tLS0tLQ0KPiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCsp LCAxNiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL0xpYnJhcnkv TXRyckxpYi9NdHJyTGliLmMgYi9VZWZpQ3B1UGtnL0xpYnJhcnkvTXRyckxpYi9NdHJyTGliLmMN Cj4gaW5kZXggZTVjODYyYzgzZDYxLi5kZDBiNjY4ZDc3ODIgMTAwNjQ0DQo+IC0tLSBhL1VlZmlD cHVQa2cvTGlicmFyeS9NdHJyTGliL010cnJMaWIuYw0KPiArKysgYi9VZWZpQ3B1UGtnL0xpYnJh cnkvTXRyckxpYi9NdHJyTGliLmMNCj4gQEAgLTEyNTMsMjEgKzEyNTMsNiBAQCBNdHJyTGliTG93 ZXN0VHlwZSAoDQo+ICAgIHJldHVybiAoTVRSUl9NRU1PUllfQ0FDSEVfVFlQRSlUeXBlOw0KPiAg fQ0KPiANCj4gLS8qKg0KPiAtICBSZXR1cm4gVFJVRSB3aGVuIHRoZSBPcGVyYW5kIGlzIGV4YWN0 bHkgcG93ZXIgb2YgMi4NCj4gLQ0KPiAtICBAcmV0dmFsIFRSVUUgIE9wZXJhbmQgaXMgZXhhY3Rs eSBwb3dlciBvZiAyLg0KPiAtICBAcmV0dmFsIEZBTFNFIE9wZXJhbmQgaXMgbm90IHBvd2VyIG9m IDIuDQo+IC0qKi8NCj4gLUJPT0xFQU4NCj4gLU10cnJMaWJJc1Bvd2VyT2ZUd28gKA0KPiAtICBJ TiAgICAgVUlOVDY0ICBPcGVyYW5kDQo+IC0gICkNCj4gLXsNCj4gLSAgQVNTRVJUIChPcGVyYW5k ICE9IDApOw0KPiAtICByZXR1cm4gKEJPT0xFQU4pKChPcGVyYW5kICYgKE9wZXJhbmQgLSAxKSkg PT0gMCk7DQo+IC19DQo+IC0NCj4gIC8qKg0KPiAgICBDYWxjdWxhdGUgdGhlIHN1YnRyYWN0aXZl IHBhdGggZnJvbSB2ZXJ0ZXggU3RhcnQgdG8gU3RvcC4NCj4gDQo+IEBAIC0xNjM4LDcgKzE2MjMs NyBAQCBNdHJyTGliQ2FsY3VsYXRlTXRycnMgKA0KPiAgICAgICAgICAgIGJyZWFrOw0KPiAgICAg ICAgICB9DQo+IA0KPiAtICAgICAgICBpZiAoKFdlaWdodFtNIChTdGFydCwgU3RvcCldID09IE1B WF9XRUlHSFQpICYmIE10cnJMaWJJc1Bvd2VyT2ZUd28gKExlbmd0aCkpIHsNCj4gKyAgICAgICAg aWYgKChXZWlnaHRbTSAoU3RhcnQsIFN0b3ApXSA9PSBNQVhfV0VJR0hUKSAmJiBJU19QT1cyIChM ZW5ndGgpKSB7DQo+ICAgICAgICAgICAgaWYgKE10cnJMaWJHZXROdW1iZXJPZlR5cGVzICgNCj4g ICAgICAgICAgICAgICAgICBSYW5nZXMsDQo+ICAgICAgICAgICAgICAgICAgUmFuZ2VDb3VudCwN Cj4gLS0NCj4gMi4zOS4yDQo+IA0KPiANCj4gDQo+IA0KPiANCg0K