From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web09.2841.1668570656017711152 for ; Tue, 15 Nov 2022 19:50:56 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=PNkS0k/u; spf=pass (domain: intel.com, ip: 192.55.52.136, 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=1668570656; x=1700106656; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=GzHibzFXlIpLErWt4+ZZzLU64ooZr1tKprxeIFZSSC8=; b=PNkS0k/u6CUO9dzxHhN1M4XwfjD1OyQ+Gohg8p+VGDEpghTtQTFlmT1Y ljvb/3GgxBg5pKMEZ+of/xB9RRJGfnEM9uEB/GUfWd/eZFRALWo2k4Ovh lyH9f7K3tfeGfC3RefFfvmLvvnNU8fv+gQcO42x3CzqDXa5xZCfjDe4/u 7xMyMRbiCo6e9mN0jLjZDugaSdDBMAON0nFFPfFcwI7UCx5D24ftGp+qa L7COtg14XgbdaTu/JwvMgjG2B7GDg7ntTJJWoHmLy09qqDIr/q9k2wR7p +Oh6XayFPzsCsvD0uuT3s+Hf8c2hYCU9hAh68+ByQ9UsTl4Ley4+1HP9V Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10532"; a="292148136" X-IronPort-AV: E=Sophos;i="5.96,167,1665471600"; d="scan'208";a="292148136" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Nov 2022 19:50:55 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10532"; a="672242527" X-IronPort-AV: E=Sophos;i="5.96,167,1665471600"; d="scan'208";a="672242527" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga001.jf.intel.com with ESMTP; 15 Nov 2022 19:50:55 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 15 Nov 2022 19:50:54 -0800 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.2375.31; Tue, 15 Nov 2022 19:50:54 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) 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.2375.31 via Frontend Transport; Tue, 15 Nov 2022 19:50:54 -0800 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.43) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Tue, 15 Nov 2022 19:50:53 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iupTZB/kS7yTvq4McTVlznfjFauKHgWaTkIsQva9p25mwMzRRapvDLmWDvcqEmKBvMiliEIkleW1rR1hDTmFv75s+1KaSokjjGX+QlR+WCpVsvHd/ZwiRiTJdbIxggFmkHimZ/ELiEhs6M1qofo3ucU1kgbp/lO1aY8bzD1MOAOjC17r4l4OlcWQzqu8yS8h2pZHfg2bNFLAeUQHZaLeYeoGhYrm98mqiTu0XOqk0XB5ksJ7NP4b9mbnCkN9D/Na7D9bR2L4R0rbp9EZ0Mbnqk8o5xHLwBvylLhH13ic1vM8keTwBq4gcQqsW82ZCsKHfMiUr7juqut1FReJwYNMwA== 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=GzHibzFXlIpLErWt4+ZZzLU64ooZr1tKprxeIFZSSC8=; b=bn/fo/z/FYXhVixTisxr5V/mHQwPA+YdH/i1pBRKQM0b21wBShsMRHaiK7PuA4+cI9aKs/jgyTHVFMBar+gSKpEDbVgRQeGIGzHKd29jVlK8YOS34a7jSRzQdc6hJNrp16v0eO2BReaEo1YwqazsjS4NlU0EionfgMJbqyvsFYgiFGwS38/7vUkW2YSz7Z3cJnz3Gkb4RFUA3F310rmX0vTccWG/w62xwUrdk5ynH2WU02iiMFWKJC5fv+c56qNTbB0UF+D7wHrjCGDMyvbU8eANalq4F5gDUgOQ3uRDSZpWbj3in3M1Egep+qj78V59xiIDiqKoortitgALTJAjrw== 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 DS0PR11MB7336.namprd11.prod.outlook.com (2603:10b6:8:11f::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.17; Wed, 16 Nov 2022 03:50:51 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::d936:6054:442a:9dde]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::d936:6054:442a:9dde%5]) with mapi id 15.20.5813.016; Wed, 16 Nov 2022 03:50:51 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "Lin, JackX" , "Kinney, Michael D" CC: "Chiu, Chasel" , "Desimone, Nathaniel L" , "Oram, Isaac W" , "Gao, Liming" , "Dong, Eric" , "Kuo, Donald" , "Kumar, Chandana C" Subject: Re: [edk2-devel] [edk2-platforms: PATCH] BIOS needs to present cores in order of relative performance in MADT Thread-Topic: [edk2-devel] [edk2-platforms: PATCH] BIOS needs to present cores in order of relative performance in MADT Thread-Index: AQHY+WanpPH1rVtnI0CWwbSlfvr8ua5A6aJg Date: Wed, 16 Nov 2022 03:50:51 +0000 Message-ID: References: <20221116025246.2075-1-jackx.lin@intel.com> In-Reply-To: <20221116025246.2075-1-jackx.lin@intel.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_|DS0PR11MB7336:EE_ x-ms-office365-filtering-correlation-id: e69c5daa-7eab-4252-abee-08dac785c132 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: 7IaHa4VewwRvM4k32HKup3V8jo+McXihbn8/w6MBnHE4LnAfum3xcd6p6CT3zvUxkuCKbiLeb7kkCdHzYzEtWVhymeEgcMUiv103ZnAevAFBqgld4tKQQwreraosP9l6zFLHxFKmzain5paHwdV9gS/Uo2dACgR4HQjYt9s+u/tYM8qTInf3EUFUPLuzwSJCTWDr+miYKFYniQG8xcB7iLtmYdr2XTA3am6JvQGMZVRvkh67Ar095x0YWLy6v4hsXgh9bNbO4v5H6xrkc0JvTlGDu4z+SNaYF+wr6SDsxZCq/T66/blOZDU09YLPn+ZziozbGzmCW5kGU8P+YxwCX9D+6JQbIgfR4Qx/VDL0vV1Kl8qCn9vYVRbxitB00t2nwcGyX/HVXzgyfA0mn3a5jkQaxHIO4AXRHxTisgzEmxcEVIbhIjNu7d92Se3KQyZpkAO5H6zAlx4CVVsxouc36M7pdOqNHT76Z3obF5QTy2ElBonqn1w5IdG+6orBr2h1rj380+q62VE+hf6CdexD95DxpvSYuko+CZQUV+txSasfgFiK/nZzZDgnSJ9TeRCGDMLG/ipTrOlyYu4StwvdP8nfqigYmkC7TRsfzonu9m1UZ9fDMrcdWqyt/SDELvkjkHHCnx2+RwzIwqwBZ5ys7+o5D5amTBLj3nGPT93PMM9YV+48+bRHb3/zYzuiR1NJ3zDb2Ne5ibGk3oXrhFh0ekAIrJmIJTVpI00YhoxeaLJYxMg/mFnd7wugJ5OyAWKWN2aOchetggyIEujjvKsG/3RHXzwLAi5cVwkIT/XkgIUG+DVMWPwyWy7fpsGOaDhDXxrjc1k9TSPg3aCPEQIvQg== 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:(13230022)(346002)(376002)(39860400002)(396003)(366004)(136003)(451199015)(6506007)(71200400001)(54906003)(316002)(478600001)(38100700002)(186003)(26005)(966005)(9686003)(7696005)(122000001)(110136005)(82960400001)(38070700005)(66946007)(55016003)(86362001)(83380400001)(33656002)(107886003)(52536014)(5660300002)(8936002)(66446008)(4326008)(8676002)(76116006)(53546011)(2906002)(66476007)(41300700001)(66556008)(64756008)(66899015);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?c2tNaHNTSGh1dHF1c3hBWXRoMHlIa1N6K1o3MVArQVFmNG95bWhhaDk3TFBB?= =?utf-8?B?Z01VZTByWmk5MTdXZGprenYyMFU3S01CTWhHRHVCdGJkUFZRNjlVTEsrWkN2?= =?utf-8?B?UFN2M3dpR1ladUg1aEtIV2s0VUs4bXU4MHNjaWZOUytLck91ejRHa2ZhbHhW?= =?utf-8?B?SmhMWnpFNDhMcG5aQWpGL3RXT0huQUVJbGRFMndMRGJFZVNHR2NjOEVRZHo3?= =?utf-8?B?NHQyTVpwVkJBV3dCNHhMY3JPajc5U0R4T2JpOURGcm9DbjVtRDMvSXM2L2gy?= =?utf-8?B?RHNiUGVUQUo0SGZrc1dsSytoeERzREM4UzRXQUdRK3YraTJadnJiVDg0bmpu?= =?utf-8?B?cUd4MEZ6SFJSaVV0UGdVeU1EazQ2WnFTMFVoVWZSMVpBcEtvY3M1V3V4WWVx?= =?utf-8?B?WktsUzV6YTRVSVBmT0ptcGUzbDZhN2FBZFIvTWkwMlVjbzBZT1NvR1dMeExO?= =?utf-8?B?WEhlSlZWLzIzdW9hZmxweW5hWU16Q0wrQ0hicDdIL2o5eldYbkczUlJ3dWdi?= =?utf-8?B?N1BrenoxMDhiMEpCSUdyOWlCS3BhZTJ2eW40MFRucm1aNU5mOElsT2docU1u?= =?utf-8?B?N0pYUzZSVmcxNDVCb29RampWWGhRS21QbkcvY0VOVUJMSXN0elA1dWRWTjNB?= =?utf-8?B?dDA3c3FBQUpRUmRwT2VHNHUyS1hLVUFTS3Z2dWY0WWd0L0d2T0RxRHV0cVZi?= =?utf-8?B?T0lZaG9MczBoalJ5eDlKa3h2SUhCNWdmNU5zWHBXeEM4U1BBVHI0VGR1eEV1?= =?utf-8?B?b2hPaHJpYWhvcUhsMk9mK00xSEQ0TlFEZW5JbUFJSVVxbU91NTE4R0Q1MlRm?= =?utf-8?B?YmU2QkNyVkgxMERoSVhtMjJxZklEMWxrRUkzZ2JmVjRpc0NqRXY4bHUzeVhz?= =?utf-8?B?c2VGT0xiUWNLczQ0RnNvalFyTEdFZTdVUDlVOFMremEyZ2g4bGg0NkE0UzND?= =?utf-8?B?VitLNWtMSHFoRTZFMjlMRW9wbHk1UUJYbThOZ3lKNU92ZFNYc1NEZnRrWUhY?= =?utf-8?B?TmY5MnBsM2tKUnZIaDVNS0trblVOSy9IVTEwK2g4SzhYa0UzOW82UkJ2VW1s?= =?utf-8?B?Y2JCbVpYNGl2ZzUzME5wNUg3MFdNYXd4Z2NwMTFjdW9OTk0yd2EwWUJjWG95?= =?utf-8?B?TFgwdUlUanlHZGFMMUNCenRvVnFFUjJ2ckV0cTFoOHZKODBhYWxzbTVEK1RS?= =?utf-8?B?dnVKQ0NjMjNqSnpTYVJEQm4rYUZJMVJHR0krdXRnbDNsUmNXcFZibUlWb244?= =?utf-8?B?cllCTm9KR21aZzliQlkzblh1aHU4bVhGSHo2Vml0U29sb00wdmNUekFuNGhV?= =?utf-8?B?ZjJZd2NucE1XZk03Qmx0a0NwWHJwV2owcjZmbEpyLzFPNDArWER2dUlTcG9Z?= =?utf-8?B?TE1uZzVGWWRLVjA0eXp2OFJVbzY2ekNqenZHNTVEMTA5ODdOSGdmQnhGd2Nl?= =?utf-8?B?Sk40cVljdVZMNnNBYzB5Ni9HSUFZWEgrSTU3ekt6RDI3NEJDY05SdFNnck5j?= =?utf-8?B?OU9iVVI5NTV6UDhnLzlJUG5IT2tSYjFmRDAwVlhUdXNPNVBlY2E0NVlCZ2N0?= =?utf-8?B?ZGoybGx0RC8wN3hyMHpBaW0wR0hSUDlEU0M3N2k0Qi9CQndyQjNyOWQ4S0F4?= =?utf-8?B?WTRIWVdxSlI0T0VuT0kwaXpXQnZLTTBkK0JCb3l1ZU9HbVZvbW1ob0RVNzVp?= =?utf-8?B?R1I2Z3VVcFZ6QmNVVTFuSkZpQy9uWFQxcW1mV2RJRGJBOG5McDBsajcrVEtr?= =?utf-8?B?TkQ4dGRwZU1Vb2hHenM2NGhHcE05bG9yRnlzMDNqcmF4Y0VscmovQ2NFRTJQ?= =?utf-8?B?STJBdG5JcWhSZnF5NldIVGJURnpJZlBxYUxIdGduWUdnb1BJWmozVGtDS3pZ?= =?utf-8?B?UGhLUW9mcTBkMEZBSTM1N1Ryc1VtZ2hlcG1iNms3R1V5SklRelExVVB0VWVx?= =?utf-8?B?c1VXcXExQUJTVjI3enZZV3FJREdwRERjc2FZaEN0VzhJUUsxYTA0OVRkb0NN?= =?utf-8?B?aDRDNlBLVWUwSmVyOWlHcThoTGJLeVEvNjVWd1FTVWs5NkVYL3NxaHZUWXl6?= =?utf-8?B?UDJTN2RKZ2JOcGVOa010bDJrZnJNT1Q3a2tZZHdsS01RaTR4MXA3TVM1eW15?= =?utf-8?B?Y1pYQkg0WDhsNFpzMWJmaUlGcGlOMkJ5UXlPd04xMStPU1o0eXBRdmRLWG9y?= =?utf-8?B?Znc9PQ==?= 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: e69c5daa-7eab-4252-abee-08dac785c132 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Nov 2022 03:50:51.2091 (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: yPmfFordnCXvyvAg4SAcqHEYOuDyMb5u0zDwWJBixJ8Yep08IsPvn/p6tLSp1ndl2vcOgA7AE/fKOSYI8SPy2k5n0SuS5NqE0a6Hos7Wwrs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR11MB7336 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 SSBzZWUgdGhlIENvcmVUeXBlIGlzIGFuIDgtYml0IGZpZWxkLCBidXQgdGhpcyBnZXRzIGZpbHRl cmVkIGRvd24gdG8gSXNCaWdDb3JlIEJPT0xFQU4uDQoNCklmIHRoZXJlIG1heSBiZSBkaWZmZXJl bnQgY29yZSB0eXBlIHZhbHVlcywgd291bGQgaXQgYmUgbW9yZSBmbGV4aWJsZSB0byBjb2xsZWN0 DQp0aGUgOC1iaXQgY29yZSB0eXBlIHZhbHVlIGZyb20gZWFjaCBDUFUgYW5kIGhhdmUgYSBjb25m aWd1cmFibGUgcG9saWN5IG9uIGhvdyB0bw0Kc29ydCB0aGUgQ1BVcyBpbiB0aGUgTUFEVCBiYXNl ZCBvbiB0aGUgY29yZSB0eXBlIHZhbHVlcz8NCg0KTWlrZQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vw cy5pbz4gT24gQmVoYWxmIE9mIEphY2tYIExpbg0KPiBTZW50OiBUdWVzZGF5LCBOb3ZlbWJlciAx NSwgMjAyMiA2OjUzIFBNDQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBDYzogTGluLCBK YWNrWCA8amFja3gubGluQGludGVsLmNvbT47IExpbiwgSmFja1ggPGphY2t4LmxpbkBpbnRlbC5j b20+OyBDaGl1LCBDaGFzZWwgPGNoYXNlbC5jaGl1QGludGVsLmNvbT47IERlc2ltb25lLA0KPiBO YXRoYW5pZWwgTCA8bmF0aGFuaWVsLmwuZGVzaW1vbmVAaW50ZWwuY29tPjsgT3JhbSwgSXNhYWMg VyA8aXNhYWMudy5vcmFtQGludGVsLmNvbT47IEdhbywgTGltaW5nIDxnYW9saW1pbmdAYnlvc29m dC5jb20uY24+Ow0KPiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgS3VvLCBEb25h bGQgPGRvbmFsZC5rdW9AaW50ZWwuY29tPjsgS3VtYXIsIENoYW5kYW5hIEMgPGNoYW5kYW5hLmMu a3VtYXJAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBbZWRrMi1kZXZlbF0gW2VkazItcGxhdGZvcm1z OiBQQVRDSF0gQklPUyBuZWVkcyB0byBwcmVzZW50IGNvcmVzIGluIG9yZGVyIG9mIHJlbGF0aXZl IHBlcmZvcm1hbmNlIGluIE1BRFQNCj4gDQo+IEJJT1Mgc2hvdWxkIGtlZXAgTUFEVCBvcmRlcmlu ZyBieSBiaWcgY29yZSBmaXJzdCB0aGVuIHNtYWxsIGNvcmUNCj4gDQo+IFNpZ25lZC1vZmYtYnk6 IEphY2tYIExpbiA8SmFja1guTGluQGludGVsLmNvbT4NCj4gQ2M6IENoYXNlbCBDaGl1IDxjaGFz ZWwuY2hpdUBpbnRlbC5jb20+DQo+IENjOiBOYXRlIERlU2ltb25lIDxuYXRoYW5pZWwubC5kZXNp bW9uZUBpbnRlbC5jb20+DQo+IENjOiBJc2FhYyBPcmFtIDxpc2FhYy53Lm9yYW1AaW50ZWwuY29t Pg0KPiBDYzogTGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPiBDYzogRXJp YyBEb25nIDxlcmljLmRvbmdAaW50ZWwuY29tPg0KPiBDYzogRG9uYWxkIEt1byA8RG9uYWxkLkt1 b0BpbnRlbC5jb20+DQo+IENjOiBDaGFuZGFuYSBDIEt1bWFyIDxjaGFuZGFuYS5jLmt1bWFyQGlu dGVsLmNvbT4NCj4gQ2M6IEphY2tYIExpbiA8SmFja1guTGluQGludGVsLmNvbT4NCj4gLS0tDQo+ ICBQbGF0Zm9ybS9JbnRlbC9NaW5QbGF0Zm9ybVBrZy9BY3BpL0FjcGlUYWJsZXMvQWNwaVBsYXRm b3JtLmMgfCAxNDkNCj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gKysrKysrKysrKysrKystLS0tLS0tDQo+ ICAxIGZpbGUgY2hhbmdlZCwgMTQyIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pDQo+IA0K PiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvQWNwaS9BY3BpVGFi bGVzL0FjcGlQbGF0Zm9ybS5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvQWNw aS9BY3BpVGFibGVzL0FjcGlQbGF0Zm9ybS5jDQo+IGluZGV4IDZlNTdiNjM4ZTAuLjAyYzFkZDNh OTEgMTAwNjQ0DQo+IC0tLSBhL1BsYXRmb3JtL0ludGVsL01pblBsYXRmb3JtUGtnL0FjcGkvQWNw aVRhYmxlcy9BY3BpUGxhdGZvcm0uYw0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9NaW5QbGF0Zm9y bVBrZy9BY3BpL0FjcGlUYWJsZXMvQWNwaVBsYXRmb3JtLmMNCj4gQEAgLTE4LDYgKzE4LDcgQEAg dHlwZWRlZiBzdHJ1Y3Qgew0KPiAgICBVSU5UMzIgICBGbGFnczsNCj4gICAgVUlOVDMyICAgU29j a2V0TnVtOw0KPiAgICBVSU5UMzIgICBUaHJlYWQ7DQo+ICsgIEJPT0xFQU4gIElzQmlnQ29yZTsN Cj4gIH0gRUZJX0NQVV9JRF9PUkRFUl9NQVA7DQo+IA0KPiAgLy8NCj4gQEAgLTEzMSw2ICsxMzIs MTA0IEBAIEFwcGVuZENwdU1hcFRhYmxlRW50cnkgKA0KPiANCj4gIH0NCj4gDQo+ICsvKioNCj4g KyAgRGV0ZWN0IGlmIEhldGVybyBDb3JlIGlzIHN1cHBvcnRlZC4NCj4gKw0KPiArICBAcmV0dmFs IFRSVUUgLSBQcm9jZXNzb3Igc3VwcG9ydCBIZXRlcm9Db3JlDQo+ICsgIEByZXR2YWwgRkFMU0Ug LSBQcm9jZXNzb3IgZG9lc250IHN1cHBvcnQgSGV0ZXJvQ29yZQ0KPiArKiovDQo+ICtCT09MRUFO DQo+ICtFRklBUEkNCj4gK0lzSGV0ZXJvQ29yZVN1cHBvcnRlZCAoDQo+ICsgIFZPSUQNCj4gKyAg KQ0KPiArew0KPiArICBDUFVJRF9TVFJVQ1RVUkVEX0VYVEVOREVEX0ZFQVRVUkVfRkxBR1NfRURY IEVkeDsNCj4gKw0KPiArICAvLy8NCj4gKyAgLy8vIENoZWNrIEhldGVybyBmZWF0dXJlIGlzIHN1 cHBvcnRlZA0KPiArICAvLy8gd2l0aCBDUFVJRC4oRUFYPTcsRUNYPTApOkVEWFsxNV09MQ0KPiAr ICAvLy8NCj4gKyAgQXNtQ3B1aWRFeCAoQ1BVSURfU1RSVUNUVVJFRF9FWFRFTkRFRF9GRUFUVVJF X0ZMQUdTLCAwLCBOVUxMLCBOVUxMLCBOVUxMLCAmRWR4LlVpbnQzMik7DQo+ICsgIGlmIChFZHgu Qml0cy5IeWJyaWQgPT0gMSkgew0KPiArICAgIHJldHVybiBUUlVFOw0KPiArICB9DQo+ICsgIHJl dHVybiBGQUxTRTsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIERldGVjdCB0aGUgdHlwZSBvZiBj b3JlLCB3aGV0aGVyIGl0IGlzIEJpZy9TbWFsbCBDb3JlLg0KPiArDQo+ICsgIEBwYXJhbVtvdXRd ICAgIENvcmVUeXBlICAgICAgT3V0cHV0IHBvaW50ZXIgdGhhdCBnZXQgQ1BVSURfTkFUSVZFX01P REVMX0lEX0lORk8gZGF0YQ0KPiArICAgICAgICAgICAgICAgICAxMGggLSBRdWFyaw0KPiArICAg ICAgICAgICAgICAgICAyMGggLSBBdG9tDQo+ICsgICAgICAgICAgICAgICAgIDMwSCAtIEtuaWdo dHMNCj4gKyAgICAgICAgICAgICAgICAgNDBIIC0gQ29yZQ0KPiArKiovDQo+ICtWT0lEDQo+ICtF RklBUEkNCj4gK0dldENvcmVUeXBlICgNCj4gKyAgT1VUICBVSU5UOCAgICpDb3JlVHlwZQ0KPiAr ICApDQo+ICt7DQo+ICsgIFVJTlQzMiAgIEVheDsNCj4gKw0KPiArICBpZiAoSXNIZXRlcm9Db3Jl U3VwcG9ydGVkICgpKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBDaGVjayB3aGljaCBpcyB0aGUg cnVubmluZyBjb3JlIGJ5IHJlYWRpbmcgQ1BVSUQuKEVBWD0xQUgsIEVDWD0wMEgpOkVBWA0KPiAr ICAgIC8vDQo+ICsgICAgQXNtQ3B1aWQgKENQVUlEX0hZQlJJRF9JTkZPUk1BVElPTiwgJkVheCwg TlVMTCwgTlVMTCwgTlVMTCk7DQo+ICsgICAgKkNvcmVUeXBlID0gKFVJTlQ4KSgoRWF4ICYgMHhG RjAwMDAwMCkgPj4gMjQpOw0KPiArICB9IGVsc2Ugew0KPiArICAgICpDb3JlVHlwZSA9IENQVUlE X0NPUkVfVFlQRV9JTlRFTF9DT1JFOw0KPiArICB9DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBG dW5jdGlvbiB3aWxsIGdvIHRocm91Z2ggYWxsIHByb2Nlc3NvcnMgdG8gaWRlbnRpZnkgQ29yZSBv ciBBdG9tDQo+ICsgIGJ5IGNoZWNraW5nIENvcmUgVHlwZSBhbmQgdXBkYXRlIGluIElzQmlnQ29y ZS4NCj4gKw0KPiArICBAcGFyYW1baW5dIENwdUFwaWNJZE9yZGVyVGFibGUgICAgICAgICBQb2lu dCB0byBhIGJ1ZmZlciB3aGljaCB3aWxsIGJlIGZpbGxlZCBpbiBDb3JlIHR5cGUgaW5mb3JtYXRp b24uDQo+ICsqKi8NCj4gK1ZPSUQNCj4gK1NUQVRJQw0KPiArRUZJQVBJDQo+ICtDb2xsZWN0Q3B1 Q29yZVR5cGUgKA0KPiArICBJTiBFRklfQ1BVX0lEX09SREVSX01BUCAgICAgICAgKkNwdUFwaWNJ ZE9yZGVyVGFibGUNCj4gKyAgKQ0KPiArew0KPiArICBDUFVJRF9TVFJVQ1RVUkVEX0VYVEVOREVE X0ZFQVRVUkVfRkxBR1NfRURYICAgICBFZHg7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEVheDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBOdW1iZXI7DQo+ICsgIEVGSV9TVEFUVVMgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgVUlOVDggICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29yZVR5cGU7DQo+ICsNCj4g KyAgU3RhdHVzID0gbU1wU2VydmljZS0+V2hvQW1JICgNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICBtTXBTZXJ2aWNlLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICZBcE51bWJlcg0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0 YXR1cyk7DQo+ICsNCj4gKyAgLy8vDQo+ICsgIC8vLyBDaGVjayBIZXRlcm8gZmVhdHVyZSBpcyBz dXBwb3J0ZWQNCj4gKyAgLy8vIHdpdGggQ1BVSUQuKEVBWD03LEVDWD0wKTpFRFhbMTVdPTENCj4g KyAgLy8vDQo+ICsgIEFzbUNwdWlkRXggKENQVUlEX1NUUlVDVFVSRURfRVhURU5ERURfRkVBVFVS RV9GTEFHUywgMCwgTlVMTCwgTlVMTCwgTlVMTCwgJkVkeC5VaW50MzIpOw0KPiArICBpZiAoRWR4 LkJpdHMuSHlicmlkID09IDEpIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIENoZWNrIHdoaWNoIGlz IHRoZSBydW5uaW5nIGNvcmUgYnkgcmVhZGluZyBDUFVJRC4oRUFYPTFBSCwgRUNYPTAwSCk6RUFY DQo+ICsgICAgLy8NCj4gKyAgICBBc21DcHVpZCAoQ1BVSURfSFlCUklEX0lORk9STUFUSU9OLCAm RWF4LCBOVUxMLCBOVUxMLCBOVUxMKTsNCj4gKyAgICBDb3JlVHlwZSA9IChVSU5UOCkgKChFYXgg JiAweEZGMDAwMDAwKSA+PiAyNCk7DQo+ICsgIH0gZWxzZSB7DQo+ICsgICAgQ29yZVR5cGUgPSBD UFVJRF9DT1JFX1RZUEVfSU5URUxfQ09SRTsNCj4gKyAgfQ0KPiArDQo+ICsgIGlmIChDb3JlVHlw ZSA9PSBDUFVJRF9DT1JFX1RZUEVfSU5URUxfQ09SRSkgew0KPiArICAgIENwdUFwaWNJZE9yZGVy VGFibGVbQXBOdW1iZXJdLklzQmlnQ29yZSA9IFRSVUU7DQo+ICsgIH0NCj4gK30NCj4gKw0KPiAg LyoqDQo+ICAgIENvbGxlY3QgYWxsIHByb2Nlc3NvcnMgaW5mb3JtYXRpb24gYW5kIGNyZWF0ZSBh IENwdSBBcGljIElkIHRhYmxlLg0KPiANCj4gQEAgLTEzOCw3ICsyMzcsNyBAQCBBcHBlbmRDcHVN YXBUYWJsZUVudHJ5ICgNCj4gICoqLw0KPiAgRUZJX1NUQVRVUw0KPiAgQ3JlYXRlQ3B1TG9jYWxB cGljSW5UYWJsZSAoDQo+IC0gIElOIEVGSV9DUFVfSURfT1JERVJfTUFQICpDcHVBcGljSWRPcmRl clRhYmxlDQo+ICsgIElOIEVGSV9DUFVfSURfT1JERVJfTUFQICAgICAgICAgICAgICAgICAgICpD cHVBcGljSWRPcmRlclRhYmxlDQo+ICAgICkNCj4gIHsNCj4gICAgRUZJX1NUQVRVUyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiBAQCAtMTQ2LDkgKzI0NSwyNCBAQCBD cmVhdGVDcHVMb2NhbEFwaWNJblRhYmxlICgNCj4gICAgVUlOVDMyICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgSW5kZXg7DQo+ICAgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEN1cnJQcm9jZXNzb3I7DQo+ICAgIEVGSV9DUFVfSURfT1JERVJfTUFQ ICAgICAgICAgICAgICAgICAgICAgICpDcHVJZE1hcFB0cjsNCj4gKyAgRUZJX0NQVV9JRF9PUkRF Ul9NQVAgICAgICAgICAgICAgICAgICAgICAgKlRlbXBDcHVBcGljSWRPcmRlclRhYmxlOw0KPiAg ICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb2NrZXQ7DQo+IA0K PiAtICBTdGF0dXMgICAgID0gRUZJX1NVQ0NFU1M7DQo+ICsgIFRlbXBDcHVBcGljSWRPcmRlclRh YmxlID0gQWxsb2NhdGVaZXJvUG9vbCAobU51bWJlck9mQ3B1cyAqIHNpemVvZiAoRUZJX0NQVV9J RF9PUkRFUl9NQVApKTsNCj4gKyAgaWYgKFRlbXBDcHVBcGljSWRPcmRlclRhYmxlID09IE5VTEwp IHsNCj4gKyAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiArICB9DQo+ICsNCj4gKyAgQ29s bGVjdENwdUNvcmVUeXBlIChUZW1wQ3B1QXBpY0lkT3JkZXJUYWJsZSk7DQo+ICsgIG1NcFNlcnZp Y2UtPlN0YXJ0dXBBbGxBUHMgKA0KPiArICAgICAgICAgICAgICAgIG1NcFNlcnZpY2UsICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMNCj4gKyAgICAgICAgICAgICAgICAoRUZJ X0FQX1BST0NFRFVSRSkgQ29sbGVjdENwdUNvcmVUeXBlLCAgICAvLyBQcm9jZWR1cmUNCj4gKyAg ICAgICAgICAgICAgICBUUlVFLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv LyBTaW5nbGVUaHJlYWQNCj4gKyAgICAgICAgICAgICAgICBOVUxMLCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAvLyBXYWl0RXZlbnQNCj4gKyAgICAgICAgICAgICAgICAwLCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaW1lb3V0SW5NaWNyb3Nl Y3NvbmQNCj4gKyAgICAgICAgICAgICAgICBUZW1wQ3B1QXBpY0lkT3JkZXJUYWJsZSwgICAgICAg ICAgICAgICAgICAvLyBQcm9jZWR1cmVBcmd1bWVudA0KPiArICAgICAgICAgICAgICAgIE5VTEwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZhaWxlZENwdUxpc3QNCj4g KyAgICAgICAgICAgICAgICApOw0KPiANCj4gICAgZm9yIChDdXJyUHJvY2Vzc29yID0gMCwgSW5k ZXggPSAwOyBDdXJyUHJvY2Vzc29yIDwgbU51bWJlck9mQ3B1czsgQ3VyclByb2Nlc3NvcisrLCBJ bmRleCsrKSB7DQo+ICAgICAgU3RhdHVzID0gbU1wU2VydmljZS0+R2V0UHJvY2Vzc29ySW5mbyAo DQo+IEBAIC0xNTcsOSArMjcxLDkgQEAgQ3JlYXRlQ3B1TG9jYWxBcGljSW5UYWJsZSAoDQo+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmUHJvY2Vzc29ySW5mb0J1ZmZlcg0KPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKTsNCj4gDQo+IC0gICAgQ3B1SWRNYXBQdHIgPSAoRUZJX0NQ VV9JRF9PUkRFUl9NQVAgKikgJkNwdUFwaWNJZE9yZGVyVGFibGVbSW5kZXhdOw0KPiArICAgIENw dUlkTWFwUHRyID0gKEVGSV9DUFVfSURfT1JERVJfTUFQICopICZUZW1wQ3B1QXBpY0lkT3JkZXJU YWJsZVtJbmRleF07DQo+ICAgICAgaWYgKChQcm9jZXNzb3JJbmZvQnVmZmVyLlN0YXR1c0ZsYWcg JiBQUk9DRVNTT1JfRU5BQkxFRF9CSVQpICE9IDApIHsNCj4gLSAgICAgIENwdUlkTWFwUHRyLT5B cGljSWQgID0gKFVJTlQzMilQcm9jZXNzb3JJbmZvQnVmZmVyLlByb2Nlc3NvcklkOw0KPiArICAg ICAgQ3B1SWRNYXBQdHItPkFwaWNJZCAgPSAoVUlOVDMyKSBQcm9jZXNzb3JJbmZvQnVmZmVyLlBy b2Nlc3NvcklkOw0KPiAgICAgICAgQ3B1SWRNYXBQdHItPlRocmVhZCAgPSBQcm9jZXNzb3JJbmZv QnVmZmVyLkxvY2F0aW9uLlRocmVhZDsNCj4gICAgICAgIENwdUlkTWFwUHRyLT5GbGFncyAgID0g KChQcm9jZXNzb3JJbmZvQnVmZmVyLlN0YXR1c0ZsYWcgJiBQUk9DRVNTT1JfRU5BQkxFRF9CSVQp ICE9IDApOw0KPiAgICAgICAgQ3B1SWRNYXBQdHItPlNvY2tldE51bSA9IFByb2Nlc3NvckluZm9C dWZmZXIuTG9jYXRpb24uUGFja2FnZTsNCj4gQEAgLTE4NCwyMiArMjk4LDQzIEBAIENyZWF0ZUNw dUxvY2FsQXBpY0luVGFibGUgKA0KPiAgICAvLw0KPiAgICBERUJVRyAoKERFQlVHX0lORk8sICJC c3BBcGljSWQgLSAweCV4XG4iLCBHZXRBcGljSWQgKCkpKTsNCj4gDQo+IC0NCj4gICAgLy8NCj4g ICAgLy8gRmlsbCBpbiBBY3BpUHJvY2Vzc29yVWlkLg0KPiAgICAvLw0KPiAgICBmb3IgKFNvY2tl dCA9IDA7IFNvY2tldCA8IEZpeGVkUGNkR2V0MzIgKFBjZE1heENwdVNvY2tldENvdW50KTsgU29j a2V0KyspIHsNCj4gICAgICBmb3IgKEN1cnJQcm9jZXNzb3IgPSAwLCBJbmRleCA9IDA7IEN1cnJQ cm9jZXNzb3IgPCBtTnVtYmVyT2ZDcHVzOyBDdXJyUHJvY2Vzc29yKyspIHsNCj4gLSAgICAgIGlm IChDcHVBcGljSWRPcmRlclRhYmxlW0N1cnJQcm9jZXNzb3JdLkZsYWdzICYmIChDcHVBcGljSWRP cmRlclRhYmxlW0N1cnJQcm9jZXNzb3JdLlNvY2tldE51bSA9PSBTb2NrZXQpKSB7DQo+IC0gICAg ICAgIENwdUFwaWNJZE9yZGVyVGFibGVbQ3VyclByb2Nlc3Nvcl0uQWNwaVByb2Nlc3NvclVpZCA9 IChDcHVBcGljSWRPcmRlclRhYmxlW0N1cnJQcm9jZXNzb3JdLlNvY2tldE51bSA8PCBtTnVtT2ZC aXRTaGlmdCkNCj4gKyBJbmRleDsNCj4gKyAgICAgIGlmIChUZW1wQ3B1QXBpY0lkT3JkZXJUYWJs ZVtDdXJyUHJvY2Vzc29yXS5GbGFncyAmJiAoVGVtcENwdUFwaWNJZE9yZGVyVGFibGVbQ3VyclBy b2Nlc3Nvcl0uU29ja2V0TnVtID09IFNvY2tldCkpIHsNCj4gKyAgICAgICAgVGVtcENwdUFwaWNJ ZE9yZGVyVGFibGVbQ3VyclByb2Nlc3Nvcl0uQWNwaVByb2Nlc3NvclVpZCA9IChUZW1wQ3B1QXBp Y0lkT3JkZXJUYWJsZVtDdXJyUHJvY2Vzc29yXS5Tb2NrZXROdW0gPDwNCj4gbU51bU9mQml0U2hp ZnQpICsgSW5kZXg7DQo+ICAgICAgICAgIEluZGV4Kys7DQo+ICAgICAgICB9DQo+ICAgICAgfQ0K PiAgICB9DQo+IA0KPiArICAvLw0KPiArICAvLyBSZS1vcmRlcmluZyBDcHUgY29yZXMgaW5mb3Jt YXRpb24gdG8gQ3B1QXBpY0lkT3JkZXJUYWJsZQ0KPiArICAvLyBieSBiaWcgY29yZSBmaXJzdCwg dGhlbiBzbWFsbCBjb3JlLg0KPiArICAvLw0KPiArICBmb3IgKEluZGV4ID0gMCwgQ3VyclByb2Nl c3NvciA9IDA7IEluZGV4IDwgbU51bWJlck9mQ3B1czsgSW5kZXgrKykgew0KPiArICAgIGlmIChU ZW1wQ3B1QXBpY0lkT3JkZXJUYWJsZVtJbmRleF0uSXNCaWdDb3JlKSB7DQo+ICsgICAgICBDb3B5 TWVtICgmQ3B1QXBpY0lkT3JkZXJUYWJsZVtDdXJyUHJvY2Vzc29yXSwgJlRlbXBDcHVBcGljSWRP cmRlclRhYmxlW0luZGV4XSwgc2l6ZW9mIChFRklfQ1BVX0lEX09SREVSX01BUCkpOw0KPiArICAg ICAgQ3VyclByb2Nlc3NvcisrOw0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIGZvciAoSW5k ZXggPSAwOyBJbmRleCA8IG1OdW1iZXJPZkNwdXM7IEluZGV4KyspIHsNCj4gKyAgICBpZiAoIShU ZW1wQ3B1QXBpY0lkT3JkZXJUYWJsZVtJbmRleF0uSXNCaWdDb3JlKSkgew0KPiArICAgICAgQ29w eU1lbSAoJkNwdUFwaWNJZE9yZGVyVGFibGVbQ3VyclByb2Nlc3Nvcl0sICZUZW1wQ3B1QXBpY0lk T3JkZXJUYWJsZVtJbmRleF0sIHNpemVvZiAoRUZJX0NQVV9JRF9PUkRFUl9NQVApKTsNCj4gKyAg ICAgIEN1cnJQcm9jZXNzb3IrKzsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiAgICBERUJVRyAo KERFQlVHX0lORk8sICI6OkFDUEk6OiAgQVBJQyBJRCBPcmRlciBUYWJsZSBJbml0LiAgIG1OdW1P ZkJpdFNoaWZ0ID0gJXhcbiIsIG1OdW1PZkJpdFNoaWZ0KSk7DQo+ICAgIERlYnVnRGlzcGxheVJl T3JkZXJUYWJsZSAoQ3B1QXBpY0lkT3JkZXJUYWJsZSk7DQo+IA0KPiArICBpZiAoVGVtcENwdUFw aWNJZE9yZGVyVGFibGUgIT0gTlVMTCkgew0KPiArICAgIEZyZWVQb29sIChUZW1wQ3B1QXBpY0lk T3JkZXJUYWJsZSk7DQo+ICsgIH0NCj4gKw0KPiAgICByZXR1cm4gU3RhdHVzOw0KPiAgfQ0KPiAN Cj4gLS0NCj4gMi4zMi4wLndpbmRvd3MuMg0KPiANCj4gDQo+IA0KPiANCj4gDQoNCg==