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.web11.4180.1659681794871191271 for ; Thu, 04 Aug 2022 23:43:15 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=Z8VHnBqT; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: ray.ni@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1659681794; x=1691217794; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=PWJtKkwcF0AWNwbohcjoP32FDFFTWBwU7xO/yCn0WAM=; b=Z8VHnBqT5FExPQJa434vKYBw46CVA7kxP3CO/A+B0b404rkn1U0XEU3x YHM/pCW9o18+gLTjXElA0gPYdj3l/GMvv8MetihhDcnwUxOAJfyS/34i+ k1OrrS3VfT9ziyir6xYz7C1wOd9MYHNV0jO1FumHDbylK0G/V/OtRxFux hi7mVg7WxS+8XhHtrwRDlfU5QkWGSg//f/y8NvZ8AgeSWe+ZROSA5lOKI lPuUaBTbv2db4Fmpv5MsK2uB7AHRcuV5NvNFr4sB01Vn8QeJAG9Neb73C lLS1OOZ0qRAXKFeJblBCWhWFMORUGqEzAUASgiNYTyWIbmQzYZ7VM4a+F Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10429"; a="269907581" X-IronPort-AV: E=Sophos;i="5.93,216,1654585200"; d="scan'208";a="269907581" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Aug 2022 23:43:14 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,216,1654585200"; d="scan'208";a="603503301" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by orsmga002.jf.intel.com with ESMTP; 04 Aug 2022 23:43:13 -0700 Received: from orsmsx605.amr.corp.intel.com (10.22.229.18) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Thu, 4 Aug 2022 23:43:13 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28 via Frontend Transport; Thu, 4 Aug 2022 23:43:13 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.171) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.28; Thu, 4 Aug 2022 23:43:12 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IHkjN4Ao/NINBgPmIXUD4iMuVpHxGPqa7JlbSMu33VJUn680Nq29anPpyZIcwemt4VybxIn86aLxFceXMEMS8xE6UwPFWaEZLQJbZD8NNwnlhazj9A/TkOIjVil1rqfEk89Wn10of6wjui5i3Q7usz4Sg4CxDnvcYEH6zIFVb1/SgMoBI1/T19Oybd8osujZPUy9ri+VUT46BfmUuzmPn+rzGnHah0qsBp//lt4hMAVPqEUXb6+x97dC5XJXxEN/GPH2exAoiUnnN7iDNj6laX+0/inyzDFJA1L4qSnxD71xjExpWq48gQ2Wk4qUbohqJtNEwmPnVlguNtF+YH3apg== 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=PWJtKkwcF0AWNwbohcjoP32FDFFTWBwU7xO/yCn0WAM=; b=MumLV97GbNLHrDgFoNqTBQS/uTEOisvB909407/cUmwwjY2+8HgN2eqjFOTt8aAknYiLvmv63jgJTD6E2xk/Uonfizm0+jbCToqx90FEPxeHA+od86p1fLf1rzufk3oLkKZMGdGmAAkSz/4qknorNtkXswgp2wBGcWDPLzlGgO9CREwsH1RPGiyEsPa2+7LduNTcnLeWz2XgQeBaN5jGGSVQ13L30AWd2Ot2fe/uoYDzJ9M8moHkl/G9FxAj8wROvwdtQw0jqupcJFB9A9ru4A8dKNTdsnsGbb56otw2mEB8nqgGj0z2JAEdbs/ehK8mAMbALkWDI5XEesJWpM4O9g== 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 MWHPR11MB1631.namprd11.prod.outlook.com (2603:10b6:301:10::10) by BYAPR11MB3158.namprd11.prod.outlook.com (2603:10b6:a03:1c::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Fri, 5 Aug 2022 06:42:52 +0000 Received: from MWHPR11MB1631.namprd11.prod.outlook.com ([fe80::991b:97a0:7836:5174]) by MWHPR11MB1631.namprd11.prod.outlook.com ([fe80::991b:97a0:7836:5174%10]) with mapi id 15.20.5482.013; Fri, 5 Aug 2022 06:42:51 +0000 From: "Ni, Ray" To: "Lin, JackX" , "devel@edk2.groups.io" CC: "Chiu, Chasel" , "Dong, Eric" , "Yao, Jiewen" , "Chaganty, Rangasai V" , "Kuo, Donald" , "Kumar, Chandana C" , "Palakshareddy, Lavanya C" , "Palakshareddy, Lavanya C" Subject: Re: [edk2-platforms:PATCH] Modify processor _UID ordering by CPU default fused in MADT Thread-Topic: [edk2-platforms:PATCH] Modify processor _UID ordering by CPU default fused in MADT Thread-Index: AQHYolM1oJG8KYA8C0W2wnKcxp/Lua2f5NoA Date: Fri, 5 Aug 2022 06:42:51 +0000 Message-ID: References: <20220728072442.1439-1-jackx.lin@intel.com> In-Reply-To: <20220728072442.1439-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-office365-filtering-correlation-id: 08e52bfa-7af6-4a61-c014-08da76adb813 x-ms-traffictypediagnostic: BYAPR11MB3158:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: kC491324WPcT2LppU3TBraxCH7Byggr353cBzT3FKOHGjEfjBygThlA/4Xx2wigoWVLfkABKeEoQFIS4cilffrKAoWFXJVmfItq88btIbZlSSKVKKbntBuFxlEexLgcrkxR+jPadI9fGZUu7nOB/a4Tm4CnakNiurOkJ2hRr5Gzi+y3T+Z4XI05d96H6kq+XHbev6voamR0FyuYNXnUZzJ14x0A0OHkw4Ypm49a0d0XiJFMKxFpvOL9xQ866+IgkYzDyMkF2OtLX73SGwPNH7gEXGhQtQvR1iQD9OFfX+7vN6qLWARXcnnfeJMHy52MBCnpIGuHvnU3jAU07RTeMphCUqtnQgpNEOXpp5P53c7rAer3j6BPFGbtdI6hY/Z5+vQrxgdN4pRVsp7fjz0i/7Zy17Yd373SsMASVyvfMo+Icdthi8TcN12nLnAQNJ0udd9nJWk2w50pM/ZnEFPH00GCxGXPHcSd6Le25YuTqx1NXKXFQ1VLAlPjqm9yQJCsBOWyRuUwaKcWahFZQSfiIsdD2TUf/ko1821OqFceJHVDUYSs9THpRTIW+1mj4uxUVmOPNVypOEqL7ibo/sSiMRi4Oiaa92Nro5pg8KaRKezSfN6ZwmcFJLJmKXVEyOW8PwlLXEmURhHmDEUMf37/6F87vgL+dahW0Pvq6uCHQVVaJqXN9TEORZuRnOevSdMctQkTP3qXBZXIUOLoo0A5Bv6bAFyV9mRFvIu/0mE99BLwXWe2hZW0n7t1iXYvZgxFHytAGbmwORMEtYcn0Arz5rF8/RHjBgzCylIfNAeJCj5M= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR11MB1631.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(396003)(366004)(136003)(376002)(346002)(39860400002)(107886003)(9686003)(26005)(66476007)(2906002)(33656002)(478600001)(71200400001)(64756008)(66946007)(54906003)(316002)(66556008)(86362001)(52536014)(66446008)(55016003)(38100700002)(8676002)(76116006)(5660300002)(110136005)(122000001)(83380400001)(4326008)(82960400001)(6506007)(38070700005)(186003)(8936002)(53546011)(41300700001)(7696005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TUFXTlM2alpaSk8xWndENTVzUmVaSzdXVEc4N0czMUtSckUwNmpiWVZIcy8x?= =?utf-8?B?c3pacHB4cHhXNG9UWFMzdWtSbVlqUmxscGlUUXlFZU1CZFBiTllaL1lvMmxV?= =?utf-8?B?ZHZWMGpkaGdoS3NTbEVRb1ZmQW1lME4rS3dUdTArZWtVQ3ZlQ1Z6S3Avc3NK?= =?utf-8?B?UG0vSFVxOE1GU25NM1ppQ2tMZEkrZDVTbHQ2NWpscXdxRkt5UDhscUxrT1Yx?= =?utf-8?B?MUVpSjcvWUJUSWE1MkdXcm9YazlXY1RBNGkwU1JraDJvcWU5VUZXVk9RSXdI?= =?utf-8?B?TDdFUE0vWHhsOWN1VVJ1VDVFNGVaSUJoM3daWlFsLzA5b3pna2dvZWVMcWlW?= =?utf-8?B?NnZSL1N2VkE0bU4xY1dyYU9nY2VmT3F6L292eGcwTjlhQVphc0tYaUdvNmRI?= =?utf-8?B?UFp5M2VvenhycWlZcGRmVjR0MXVKb0xNK3hub2NCSGlYWDk1RVp5Qm9GR0Jv?= =?utf-8?B?UGdTZUFLRHFKbHRiem5MSGNYWjdRdnFvV0I4czROSk9qY3IvRmdhWHR1dW1z?= =?utf-8?B?WDNIVktmbXBheTdtOGRaZkx0ZzhxeWp5UXVEOUdCa2FvbzR4U2VSTkl4RWtR?= =?utf-8?B?M3kyOUpMWVprY0JlWkhpdkZSMVBIRWpPN0xIQUJDeW4ydjJnR2p3NjJtU3pK?= =?utf-8?B?QktteVVZNk1Da2lwL3R0ZmhpNC85QzhoSmhFK3ZrYzZoR2JJbU9tc2NPa2pT?= =?utf-8?B?OE40OWU0VEVkT1F4ZmJhY3hzODhadDMrVXB0R2ZnK0JhalZSQlduQllEVElh?= =?utf-8?B?TU85OVBmTnBuUm53SThHWFllbHNQQkg0eHJ6SFlNUWYwSGcrWUlRdmhPYnBw?= =?utf-8?B?SGtwSWZBWDU5TDVYTTc5VjVKSEs4SHlvL1RkMk5CdktsL0xmSVRZU0dvRjJh?= =?utf-8?B?dHVPUkYvUE9DUWNDTUcrQkUyaThqdVpXLzdLOGo2OGlIUG8rYVRoRzk1eC9t?= =?utf-8?B?cUpjbUFrUkNrZDFCYWtUQVF2ZXpBZCtEbHFtMjZUTWM4QUlOeWtNMVZna2Ri?= =?utf-8?B?OTRXeTdCWkxualRWU01ZSXBFNyttSTlsbWprK0ZuTy9FWnk1V1U1STBMbFFy?= =?utf-8?B?SHlqakNsVDIxL09iSUFzTFdQd3FrWFViVDJBR0tRSitRcEd1amx1S0svMitt?= =?utf-8?B?aGJwR1ROOXRqRWc5L0lKM3N2cjNESjMvU3B1cml3eXlOYktBQXNZUzdYWTNB?= =?utf-8?B?d2JOOC9lN1dieXBUc0JxMTUxVmQ0QzlmTkNqOFNOcTFKZ2JMSjUydS9WdzdB?= =?utf-8?B?NHZYRGN4NEUyZDVpSlhCU1VVY1hBT3g0bHBMZlM1MnU1TGFJdDJiVXAyaWVN?= =?utf-8?B?bW9QN3JEM1c5YnVYaUM4UjJCMnRQN0xYZmVBczZvd1lMbHl5ZnZLbzA0dTZv?= =?utf-8?B?cjBoallKcDdmSFlMY2VFa2NDTmFRRDBidUxiMWFvSkxZeWpZOVJyTG9qZmFL?= =?utf-8?B?OFlRYkZHWUkvREtmQzJkTkdMWGxpSzlENktodS8xczcrdVJIMFcrVzNvb0k4?= =?utf-8?B?U0Y5R0VNNWVodjBRcjZvRk9laXVCdnRQaFU2bGhOYWZmT295amxKSnd6NHlx?= =?utf-8?B?U3cvWFhqNlhZOWVVa2ZiTXRqV1BZWmpUczRYVHA5cEhOZG5Zc0Y2SlljcDM4?= =?utf-8?B?SmpTM2FxVTMwOW5rdGlwY3hlMGdQUmN5eklsWUducFdUOVpTaTZlVTRvenZw?= =?utf-8?B?dEYvL01OVEtVT2p3SjA4cS9XTDAxWVcwbE56eVcvRTFRcDhIWGhWOTVDcktW?= =?utf-8?B?VDNndCtGd3RGUER3SzRETzljVTg0VFdDL0ZqelFpUEhubWNJWUxwRjBSTExl?= =?utf-8?B?SzRjSkQ5ZlR3UWpWVGhHSnM0Ky9tWFRuZ1hJa0lnMU0wQUNjZ2FwZkZjNS9u?= =?utf-8?B?V2NpMjdiZncwaXBadXR1TVNsYXZkVDd6enV5YTByUFNRUGN6ZEU4NGV5d3lJ?= =?utf-8?B?OU5Ebk4wb2xvVm9ZekFzdHEycEJzaEtTelIxeFdQc29Ybzc0dnJmckRpQm91?= =?utf-8?B?RVR6eGxZczdENDVlUnlEVncxbksyc3I4U20vdFJSSWVaMlNXYXd1MWxwNTFj?= =?utf-8?B?M2tGYmNQUkR4R2c4L042QU1NbnFmWCtEK2RHL2p4TFk0RDRmWWhYRyt0V0Iz?= =?utf-8?Q?Tol0=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR11MB1631.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 08e52bfa-7af6-4a61-c014-08da76adb813 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Aug 2022 06:42:51.5755 (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: CgznVR1uWaNgg5q53JI2jIUday8Myz2LqTaKLWDCNcavpCoGGcYQTZlNezvPnJNdQYnYadDCCqxz1gNdyIHOiw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3158 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SmFjaywNClRoZSBwYXRjaCByZW1vdmVzIGFsbCB0aGUgc29ydGluZyBsb2dpYy4gSXQgc2ltcGxp ZmllcyB0aGUgbG9naWMgYSBsb3QuIFRoYW5rcyBmb3IgdGhhdCENCg0KQUNQSSBzcGVjICIgNS4y LjEyLjEgTUFEVCBQcm9jZXNzb3IgTG9jYWwgQVBJQyAvIFNBUElDIFN0cnVjdHVyZSBFbnRyeSBP cmRlciINCnRhbGtlZCBhYm91dCB3aHkgdGhlIEJTUCBuZWVkcyB0byBiZSBpbiB0aGUgZmlyc3Qg ZW50cnkgb2YgTUFEVCBhbmQgd2h5IGZpcnN0IGxvZ2ljYWwNCnByb2Nlc3NvciBvZiBlYWNoIGNv cmUgbmVlZHMgdG8gYmUgYmVmb3JlIHNlY29uZCBsb2dpY2FsIHByb2Nlc3Nvci4NCldpdGggdGhl IHJlYXNvbnMsIEkgdG90YWxseSBhZ3JlZSB0aGF0IHdlIGRvbid0IG5lZWQgdG8gc29ydCB0aGUg TUFEVCBhbnkgbW9yZQ0KYWZ0ZXIgdGhlIGh5cGVyLXRocmVhZGluZyBhbmQgbWFueS1jb3JlIHN1 cHBvcnQgaGF2ZSBiZWVuIGVuYWJsZWQgZm9yIHF1aXRlDQphIGxvbmcgdGltZSBpbiBPUy4NCg0K U29tZSBtaW5vciBjb21tZW50czoNCjEuIENhbiB5b3UgY2hlY2sgaWYgIkNvcmVUaHJlYWRNYXNr IiBjYW4gYmUgcmVtb3ZlZD8NCjIuIENhbiB5b3UgcGxlYXNlIHJlbmFtZSB0aGUgU29ydENwdUxv Y2FsQXBpY0luVGFibGU/IE1heWJlIGp1c3QgdXNlICJDcmVhdGVDcHVMb2NhbEFwaWNJblRhYmxl Ij8gVGhlcmUgaXMgbm8gc29ydGluZyBhbnkgbW9yZfCfmIoNCjMuIENhbiB5b3UgcGxlYXNlIGNo ZWNrIGlmICIgbUNwdU9yZGVyU29ydGVkIiBpcyBuZWVkZWQ/IEl0J3MgbmVlZGVkIHdoZW4gdGhl IGZ1bmN0aW9uIGlzIGNhbGxlZCBtdWx0aXBsZSB0aW1lcy4NCjQuIElmIGl0J3MgbmVlZGVkLCBj YW4geW91IHBsZWFzZSByZW5hbWUgaXQgdG8gIm1DcHVMb2NhbEFwaWNJblRhYmxlQ3JlYXRlZCI/ DQo1LiBJZiBpdCdzIG5vdCBuZWVkZWQsIGNhbiB5b3UgcGxlYXNlIHRoaW5rIGFib3V0IGlmICIg bUNwdUFwaWNJZE9yZGVyVGFibGUiIGNhbiBiZSBjaGFuZ2VkIHRvIGEgbG9jYWwgdmFyaWFibGU/ DQoNClRoYW5rcywNClJheQ0KDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJv bTogTGluLCBKYWNrWCA8amFja3gubGluQGludGVsLmNvbT4NCj4gU2VudDogVGh1cnNkYXksIEp1 bHkgMjgsIDIwMjIgMzoyNSBQTQ0KPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gQ2M6IExp biwgSmFja1ggPGphY2t4LmxpbkBpbnRlbC5jb20+OyBMaW4sIEphY2tYIDxqYWNreC5saW5AaW50 ZWwuY29tPjsgQ2hpdSwNCj4gQ2hhc2VsIDxjaGFzZWwuY2hpdUBpbnRlbC5jb20+OyBEb25nLCBF cmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgWWFvLA0KPiBKaWV3ZW4gPGppZXdlbi55YW9AaW50 ZWwuY29tPjsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47IENoYWdhbnR5LA0KPiBSYW5nYXNh aSBWIDxyYW5nYXNhaS52LmNoYWdhbnR5QGludGVsLmNvbT47IEt1bywgRG9uYWxkDQo+IDxkb25h bGQua3VvQGludGVsLmNvbT47IEt1bWFyLCBDaGFuZGFuYSBDDQo+IDxjaGFuZGFuYS5jLmt1bWFy QGludGVsLmNvbT47IFBhbGFrc2hhcmVkZHk7IFBhbGFrc2hhcmVkZHksIExhdmFueWEgQw0KPiA8 bGF2YW55YS5jLnBhbGFrc2hhcmVkZHlAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBbZWRrMi1wbGF0 Zm9ybXM6UEFUQ0hdIE1vZGlmeSBwcm9jZXNzb3IgX1VJRCBvcmRlcmluZyBieSBDUFUNCj4gZGVm YXVsdCBmdXNlZCBpbiBNQURUDQo+IA0KPiBCSU9TIHNob3VsZCBub3QgcmVvcmRlcmluZyBjcHUg cHJvY2Vzc29yX3VpZA0KPiANCj4gU2lnbmVkLW9mZi1ieTogSmFja1ggTGluIDxKYWNrWC5MaW5A aW50ZWwuY29tPg0KPiBDYzogQ2hhc2VsIENoaXUgPGNoYXNlbC5jaGl1QGludGVsLmNvbT4NCj4g Q2M6IERvbmcgRXJpYyA8ZXJpYy5kb25nQGludGVsLmNvbT4NCj4gQ2M6IEppZXdlbiBZYW8gPGpp ZXdlbi55YW9AaW50ZWwuY29tPg0KPiBDYzogUmF5IE5pIDxyYXkubmlAaW50ZWwuY29tPg0KPiBD YzogUmFuZ2FzYWkgViBDaGFnYW50eSA8cmFuZ2FzYWkudi5jaGFnYW50eUBpbnRlbC5jb20+DQo+ IENjOiBEb25hbGQgS3VvIDxEb25hbGQuS3VvQGludGVsLmNvbT4NCj4gQ2M6IENoYW5kYW5hIEMg S3VtYXIgPGNoYW5kYW5hLmMua3VtYXJAaW50ZWwuY29tPg0KPiBDYzogUGFsYWtzaGFyZWRkeSwg TGF2YW55YSBDIDxsYXZhbnlhLmMucGFsYWtzaGFyZWRkeUBpbnRlbC5jb20+DQo+IENjOiBKYWNr WCBMaW4gPEphY2tYLkxpbkBpbnRlbC5jb20+DQo+IC0tLQ0KPiAgUGxhdGZvcm0vSW50ZWwvTWlu UGxhdGZvcm1Qa2cvQWNwaS9BY3BpVGFibGVzL0FjcGlQbGF0Zm9ybS5jIHwgOTkgKysrKy0tLQ0K PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAgMSBmaWxlIGNoYW5nZWQs IDQgaW5zZXJ0aW9ucygrKSwgOTUgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvUGxh dGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvQWNwaS9BY3BpVGFibGVzL0FjcGlQbGF0Zm9ybS5j DQo+IGIvUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvQWNwaS9BY3BpVGFibGVzL0FjcGlQ bGF0Zm9ybS5jDQo+IGluZGV4IGM3ZTg3Y2JkN2QuLmQwZTg4OTE5MTggMTAwNjQ0DQo+IC0tLSBh L1BsYXRmb3JtL0ludGVsL01pblBsYXRmb3JtUGtnL0FjcGkvQWNwaVRhYmxlcy9BY3BpUGxhdGZv cm0uYw0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9NaW5QbGF0Zm9ybVBrZy9BY3BpL0FjcGlUYWJs ZXMvQWNwaVBsYXRmb3JtLmMNCj4gQEAgLTYyLDMzICs2Miw2IEBAIEVGSV9DUFVfSURfT1JERVJf TUFQICAgICAgICAqbUNwdUFwaWNJZE9yZGVyVGFibGUNCj4gPSBOVUxMOw0KPiAgVUlOVE4gICAg ICAgICAgICAgICAgICAgICAgIG1OdW1iZXJPZkNwdXMgPSAwOw0KPiAgVUlOVE4gICAgICAgICAg ICAgICAgICAgICAgIG1OdW1iZXJPZkVuYWJsZWRDUFVzID0gMDsNCj4gDQo+IC0NCj4gLS8qKg0K PiAtICBUaGUgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IFBlcmZvcm1RdWlja1NvcnQgdG8gY29tcGFy ZSBpbnQgdmFsdWVzLg0KPiAtDQo+IC0gIEBwYXJhbVtpbl0gTGVmdCAgICAgICAgICAgIFRoZSBw b2ludGVyIHRvIGZpcnN0IGJ1ZmZlci4NCj4gLSAgQHBhcmFtW2luXSBSaWdodCAgICAgICAgICAg VGhlIHBvaW50ZXIgdG8gc2Vjb25kIGJ1ZmZlci4NCj4gLQ0KPiAtICBAcmV0dXJuIC0xICAgICAg ICAgICAgICAgICBCdWZmZXIxIGlzIGxlc3MgdGhhbiBCdWZmZXIyLg0KPiAtICBAcmV0dXJuICAx ICAgICAgICAgICAgICAgICBCdWZmZXIxIGlzIGdyZWF0ZXIgdGhhbiBCdWZmZXIyLg0KPiAtDQo+ IC0qKi8NCj4gLUlOVE4NCj4gLUVGSUFQSQ0KPiAtQXBpY0lkQ29tcGFyZUZ1bmN0aW9uICgNCj4g LSAgSU4gQ09OU1QgVk9JRCAgICAgICAgICAgICAgICAgICAgICAgICAqTGVmdCwNCj4gLSAgSU4g Q09OU1QgVk9JRCAgICAgICAgICAgICAgICAgICAgICAgICAqUmlnaHQNCj4gLSAgKQ0KPiAtew0K PiAtICBVSU5UMzIgIExlZnRBcGljSWQ7DQo+IC0gIFVJTlQzMiAgUmlnaHRBcGljSWQ7DQo+IC0N Cj4gLSAgTGVmdEFwaWNJZCA9ICgoRUZJX0NQVV9JRF9PUkRFUl9NQVAgKikgTGVmdCktPkFwaWNJ ZDsNCj4gLSAgUmlnaHRBcGljSWQgPSAoKEVGSV9DUFVfSURfT1JERVJfTUFQICopIFJpZ2h0KS0+ QXBpY0lkOw0KPiAtDQo+IC0gIHJldHVybiAoTGVmdEFwaWNJZCA+IFJpZ2h0QXBpY0lkKT8gMSA6 ICgtMSk7DQo+IC19DQo+IC0NCj4gIC8qKg0KPiAgICBQcmludCBDcHUgQXBpYyBJRCBUYWJsZQ0K PiANCj4gQEAgLTE2OCwyMSArMTQxLDE2IEBAIFNvcnRDcHVMb2NhbEFwaWNJblRhYmxlICgNCj4g ICAgRUZJX1BST0NFU1NPUl9JTkZPUk1BVElPTiAgICAgICAgICAgICAgICAgUHJvY2Vzc29ySW5m b0J1ZmZlcjsNCj4gICAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg SW5kZXg7DQo+ICAgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1 cnJQcm9jZXNzb3I7DQo+IC0gIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEJzcEFwaWNJZDsNCj4gLSAgRUZJX0NQVV9JRF9PUkRFUl9NQVAgICAgICAgICAgICAgICAg ICAgICAgVGVtcFZhbDsNCj4gICAgRUZJX0NQVV9JRF9PUkRFUl9NQVAgICAgICAgICAgICAgICAg ICAgICAgKkNwdUlkTWFwUHRyOw0KPiAgICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBDb3JlVGhyZWFkTWFzazsNCj4gLSAgRUZJX0NQVV9JRF9PUkRFUl9NQVAgICAg ICAgICAgICAgICAgICAgICAgKlRlbXBDcHVBcGljSWRPcmRlclRhYmxlOw0KPiAgICBVSU5UMzIg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb2NrZXQ7DQo+IA0KPiAtICBJbmRl eCAgICAgID0gMDsNCj4gICAgU3RhdHVzICAgICA9IEVGSV9TVUNDRVNTOw0KPiANCj4gICAgaWYg KG1DcHVPcmRlclNvcnRlZCkgew0KPiAgICAgIHJldHVybiBTdGF0dXM7DQo+ICAgIH0NCj4gDQo+ IC0gIFRlbXBDcHVBcGljSWRPcmRlclRhYmxlID0gQWxsb2NhdGVaZXJvUG9vbCAobU51bWJlck9m Q3B1cyAqIHNpemVvZg0KPiAoRUZJX0NQVV9JRF9PUkRFUl9NQVApKTsNCj4gICAgQ29yZVRocmVh ZE1hc2sgPSAoVUlOVDMyKSAoKDEgPDwgbU51bU9mQml0U2hpZnQpIC0gMSk7DQo+IA0KPiAgICBm b3IgKEN1cnJQcm9jZXNzb3IgPSAwLCBJbmRleCA9IDA7IEN1cnJQcm9jZXNzb3IgPCBtTnVtYmVy T2ZDcHVzOw0KPiBDdXJyUHJvY2Vzc29yKyssIEluZGV4KyspIHsNCj4gQEAgLTE5Miw3ICsxNjAs NyBAQCBTb3J0Q3B1TG9jYWxBcGljSW5UYWJsZSAoDQo+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmUHJvY2Vzc29ySW5mb0J1ZmZlcg0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KTsNCj4gDQo+IC0gICAgQ3B1SWRNYXBQdHIgPSAoRUZJX0NQVV9JRF9PUkRFUl9NQVAgKikNCj4g JlRlbXBDcHVBcGljSWRPcmRlclRhYmxlW0luZGV4XTsNCj4gKyAgICBDcHVJZE1hcFB0ciA9IChF RklfQ1BVX0lEX09SREVSX01BUCAqKQ0KPiAmbUNwdUFwaWNJZE9yZGVyVGFibGVbSW5kZXhdOw0K PiAgICAgIGlmICgoUHJvY2Vzc29ySW5mb0J1ZmZlci5TdGF0dXNGbGFnICYgUFJPQ0VTU09SX0VO QUJMRURfQklUKSAhPSAwKSB7DQo+ICAgICAgICBDcHVJZE1hcFB0ci0+QXBpY0lkICA9IChVSU5U MzIpUHJvY2Vzc29ySW5mb0J1ZmZlci5Qcm9jZXNzb3JJZDsNCj4gICAgICAgIENwdUlkTWFwUHRy LT5UaHJlYWQgID0gUHJvY2Vzc29ySW5mb0J1ZmZlci5Mb2NhdGlvbi5UaHJlYWQ7DQo+IEBAIC0y MTQsNzQgKzE4MiwxNiBAQCBTb3J0Q3B1TG9jYWxBcGljSW5UYWJsZSAoDQo+ICAgICAgfSAvL2Vu ZCBpZiBQUk9DIEVOQUJMRQ0KPiAgICB9IC8vZW5kIGZvciBDdXJyZW50UHJvY2Vzc29yDQo+IA0K PiAtICAvL2tlZXAgZm9yIGRlYnVnIHB1cnBvc2UNCj4gICAgREVCVUcgKChERUJVR19JTkZPLCAi OjpBQ1BJOjogIEFQSUMgSUQgT3JkZXIgVGFibGUgSW5pdC4NCj4gQ29yZVRocmVhZE1hc2sgPSAl eCwgIG1OdW1PZkJpdFNoaWZ0ID0gJXhcbiIsIENvcmVUaHJlYWRNYXNrLA0KPiBtTnVtT2ZCaXRT aGlmdCkpOw0KPiAtICBEZWJ1Z0Rpc3BsYXlSZU9yZGVyVGFibGUgKFRlbXBDcHVBcGljSWRPcmRl clRhYmxlKTsNCj4gDQo+ICAgIC8vDQo+ICAgIC8vIEdldCBCc3AgQXBpYyBJZA0KPiAgICAvLw0K PiAtICBCc3BBcGljSWQgPSBHZXRBcGljSWQgKCk7DQo+IC0gIERFQlVHICgoREVCVUdfSU5GTywg IkJzcEFwaWNJZCAtIDB4JXhcbiIsIEJzcEFwaWNJZCkpOw0KPiAtDQo+IC0gIC8vDQo+IC0gIC8v Y2hlY2sgdG8gc2VlIGlmIDFzdCBlbnRyeSBpcyBCU1AsIGlmIG5vdCBzd2FwIGl0DQo+IC0gIC8v DQo+IC0gIGlmIChUZW1wQ3B1QXBpY0lkT3JkZXJUYWJsZVswXS5BcGljSWQgIT0gQnNwQXBpY0lk KSB7DQo+IC0gICAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgbU51bWJlck9mQ3B1czsgSW5kZXgr Kykgew0KPiAtICAgICAgaWYgKChUZW1wQ3B1QXBpY0lkT3JkZXJUYWJsZVtJbmRleF0uRmxhZ3Mg PT0gMSkgJiYNCj4gKFRlbXBDcHVBcGljSWRPcmRlclRhYmxlW0luZGV4XS5BcGljSWQgPT0gQnNw QXBpY0lkKSkgew0KPiAtICAgICAgICBDb3B5TWVtICgmVGVtcFZhbCwgJlRlbXBDcHVBcGljSWRP cmRlclRhYmxlW0luZGV4XSwgc2l6ZW9mDQo+IChFRklfQ1BVX0lEX09SREVSX01BUCkpOw0KPiAt ICAgICAgICBDb3B5TWVtICgmVGVtcENwdUFwaWNJZE9yZGVyVGFibGVbSW5kZXhdLA0KPiAmVGVt cENwdUFwaWNJZE9yZGVyVGFibGVbMF0sIHNpemVvZiAoRUZJX0NQVV9JRF9PUkRFUl9NQVApKTsN Cj4gLSAgICAgICAgQ29weU1lbSAoJlRlbXBDcHVBcGljSWRPcmRlclRhYmxlWzBdLCAmVGVtcFZh bCwgc2l6ZW9mDQo+IChFRklfQ1BVX0lEX09SREVSX01BUCkpOw0KPiAtICAgICAgICBicmVhazsN Cj4gLSAgICAgIH0NCj4gLSAgICB9DQo+IC0NCj4gLSAgICBpZiAobU51bWJlck9mQ3B1cyA8PSBJ bmRleCkgew0KPiAtICAgICAgREVCVUcgKChERUJVR19FUlJPUiwgIkFzc2VydGluZyB0aGUgU29y dENwdUxvY2FsQXBpY0luVGFibGUgSW5kZXgNCj4gQnVmZmVyZmxvd1xuIikpOw0KPiAtICAgICAg cmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4gLSAgICB9DQo+IC0gIH0NCj4gLQ0KPiAt ICAvLw0KPiAtICAvLyAxLiBTb3J0IFRlbXBDcHVBcGljSWRPcmRlclRhYmxlLA0KPiAtICAvLyAg ICBzb3J0IGl0IGJ5IHVzaW5nIEFwaWNJZCBmcm9tIG1pbmltdW0gdG8gbWF4aW11bSAoU29ja2V0 MCB0byBTb2NrZXROKSwNCj4gYW5kIHRoZSBCU1AgbXVzdCBpbiB0aGUgZmlzdCBsb2NhdGlvbiBv ZiB0aGUgdGFibGUuDQo+IC0gIC8vICAgIFNvLCBzdGFydCBzb3J0aW5nIHRoZSB0YWJsZSBmcm9t IHRoZSBzZWNvbmQgZWxlbWVudCBhbmQgdG90YWwgZWxlbWVudHMNCj4gYXJlIG1OdW1iZXJPZkNw dXMtMS4NCj4gLSAgLy8NCj4gLSAgUGVyZm9ybVF1aWNrU29ydCAoKFRlbXBDcHVBcGljSWRPcmRl clRhYmxlICsgMSksIChtTnVtYmVyT2ZDcHVzIC0gMSksDQo+IHNpemVvZiAoRUZJX0NQVV9JRF9P UkRFUl9NQVApLCAoU09SVF9DT01QQVJFKQ0KPiBBcGljSWRDb21wYXJlRnVuY3Rpb24pOw0KPiAr ICBERUJVRyAoKERFQlVHX0lORk8sICJCc3BBcGljSWQgLSAweCV4XG4iLCBHZXRBcGljSWQgKCkp KTsNCj4gDQo+IC0gIC8vDQo+IC0gIC8vIDIuIFNvcnQgYW5kIG1hcCB0aGUgcHJpbWFyeSB0aHJl YWRzIHRvIHRoZSBmcm9udCBvZiB0aGUNCj4gQ3B1QXBpY0lkT3JkZXJUYWJsZQ0KPiAtICAvLw0K PiAtICBmb3IgKEN1cnJQcm9jZXNzb3IgPSAwLCBJbmRleCA9IDA7IEluZGV4IDwgbU51bWJlck9m Q3B1czsgSW5kZXgrKykgew0KPiAtICAgIGlmICgoVGVtcENwdUFwaWNJZE9yZGVyVGFibGVbSW5k ZXhdLlRocmVhZCkgPT0gMCkgeyAvLyBwcmltYXJ5IHRocmVhZA0KPiAtICAgICAgQ29weU1lbSAo Jm1DcHVBcGljSWRPcmRlclRhYmxlW0N1cnJQcm9jZXNzb3JdLA0KPiAmVGVtcENwdUFwaWNJZE9y ZGVyVGFibGVbSW5kZXhdLCBzaXplb2YgKEVGSV9DUFVfSURfT1JERVJfTUFQKSk7DQo+IC0gICAg ICBDdXJyUHJvY2Vzc29yKys7DQo+IC0gICAgfQ0KPiAtICB9DQo+IA0KPiAgICAvLw0KPiAtICAv LyAzLiBTb3J0IGFuZCBtYXAgdGhlIHNlY29uZCB0aHJlYWRzIHRvIHRoZSBtaWRkbGUgb2YgdGhl DQo+IENwdUFwaWNJZE9yZGVyVGFibGUNCj4gLSAgLy8NCj4gLSAgZm9yIChJbmRleCA9IDA7IElu ZGV4IDwgbU51bWJlck9mQ3B1czsgSW5kZXgrKykgew0KPiAtICAgIGlmICgoVGVtcENwdUFwaWNJ ZE9yZGVyVGFibGVbSW5kZXhdLlRocmVhZCkgPT0gMSkgeyAvL3NlY29uZCB0aHJlYWQNCj4gLSAg ICAgIENvcHlNZW0gKCZtQ3B1QXBpY0lkT3JkZXJUYWJsZVtDdXJyUHJvY2Vzc29yXSwNCj4gJlRl bXBDcHVBcGljSWRPcmRlclRhYmxlW0luZGV4XSwgc2l6ZW9mIChFRklfQ1BVX0lEX09SREVSX01B UCkpOw0KPiAtICAgICAgQ3VyclByb2Nlc3NvcisrOw0KPiAtICAgIH0NCj4gLSAgfQ0KPiAtDQo+ IC0gIC8vDQo+IC0gIC8vIDQuIFNvcnQgYW5kIG1hcCB0aGUgbm90IGVuYWJsZWQgdGhyZWFkcyB0 byB0aGUgYm90dG9tIG9mIHRoZQ0KPiBDcHVBcGljSWRPcmRlclRhYmxlDQo+IC0gIC8vDQo+IC0g IGZvciAoSW5kZXggPSAwOyBJbmRleCA8IG1OdW1iZXJPZkNwdXM7IEluZGV4KyspIHsNCj4gLSAg ICBpZiAoVGVtcENwdUFwaWNJZE9yZGVyVGFibGVbSW5kZXhdLkZsYWdzID09IDApIHsgLy8gbm90 IGVuYWJsZWQNCj4gLSAgICAgIENvcHlNZW0gKCZtQ3B1QXBpY0lkT3JkZXJUYWJsZVtDdXJyUHJv Y2Vzc29yXSwNCj4gJlRlbXBDcHVBcGljSWRPcmRlclRhYmxlW0luZGV4XSwgc2l6ZW9mIChFRklf Q1BVX0lEX09SREVSX01BUCkpOw0KPiAtICAgICAgQ3VyclByb2Nlc3NvcisrOw0KPiAtICAgIH0N Cj4gLSAgfQ0KPiAtDQo+IC0gIC8vDQo+IC0gIC8vIDUuIFJlLWFzc2lnbiBBY3BpUHJvY2Vzc29y SWQgZm9yIEFjcGlQcm9jZXNzb3JVaWQgdXNlcyBwdXJwb3NlLg0KPiArICAvLyBGaWxsIGluIEFj cGlQcm9jZXNzb3JVaWQuDQo+ICAgIC8vDQo+ICAgIGZvciAoU29ja2V0ID0gMDsgU29ja2V0IDwg Rml4ZWRQY2RHZXQzMiAoUGNkTWF4Q3B1U29ja2V0Q291bnQpOw0KPiBTb2NrZXQrKykgew0KPiAg ICAgIGZvciAoQ3VyclByb2Nlc3NvciA9IDAsIEluZGV4ID0gMDsgQ3VyclByb2Nlc3NvciA8IG1O dW1iZXJPZkNwdXM7DQo+IEN1cnJQcm9jZXNzb3IrKykgew0KPiBAQCAtMjkyLDggKzIwMiw3IEBA IFNvcnRDcHVMb2NhbEFwaWNJblRhYmxlICgNCj4gICAgICB9DQo+ICAgIH0NCj4gDQo+IC0gIC8v a2VlcCBmb3IgZGVidWcgcHVycG9zZQ0KPiAtICBERUJVRyAoKERFQlVHX0lORk8sICJBUElDIElE IE9yZGVyIFRhYmxlIFJlT3JkZXJlZFxuIikpOw0KPiArICBERUJVRyAoKERFQlVHX0lORk8sICI6 OkFDUEk6OiAgQVBJQyBJRCBPcmRlciBUYWJsZSBJbml0Lg0KPiBDb3JlVGhyZWFkTWFzayA9ICV4 LCAgbU51bU9mQml0U2hpZnQgPSAleFxuIiwgQ29yZVRocmVhZE1hc2ssDQo+IG1OdW1PZkJpdFNo aWZ0KSk7DQo+ICAgIERlYnVnRGlzcGxheVJlT3JkZXJUYWJsZSAobUNwdUFwaWNJZE9yZGVyVGFi bGUpOw0KPiANCj4gICAgbUNwdU9yZGVyU29ydGVkID0gVFJVRTsNCj4gLS0NCj4gMi4zMi4wLndp bmRvd3MuMg0KDQo=