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.81132.1673596544981475469 for ; Thu, 12 Jan 2023 23:55:45 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=msRZhZhQ; 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=1673596544; x=1705132544; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=aFRqg/GAAK2gDXA89BhzCfohU2IEABDbnrCDMMxYhW8=; b=msRZhZhQyOOxs1NYbKslViTlASKcfjSpJwux7Wn8lVed75ozbyQkSiGA yMuSKnVqsLYVJN+rrfpwg4qsz/HrpSpUjCEIiunM7QLV3+eu4egarPDcc craJ0PR9C6aJ5NjCspRWAYUiyZBuAZkEMBKI3zv094RUgGOOEhpQMrIAA zlHdn6qzp2LewNd/OpN0g2nufutTEx7tmPVdnSwxqku9pOKOJS2P631x9 KTBFLWEZrurh0mMcVoOsxjVJ6itWuiMFpv2az7nphUJ7x2ffgPKhwfZuo jbAXEXQr4qWzwWYImrldHpE7qMSVWh3d4ttNs+dNm1tHaOs+nPw7+OBbu g==; X-IronPort-AV: E=McAfee;i="6500,9779,10588"; a="303636628" X-IronPort-AV: E=Sophos;i="5.97,213,1669104000"; d="scan'208";a="303636628" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2023 23:55:44 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10588"; a="986906186" X-IronPort-AV: E=Sophos;i="5.97,213,1669104000"; d="scan'208";a="986906186" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga005.fm.intel.com with ESMTP; 12 Jan 2023 23:55:44 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Thu, 12 Jan 2023 23:55:43 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Thu, 12 Jan 2023 23:55:43 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.101) 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.2507.16; Thu, 12 Jan 2023 23:55:43 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ULwPHwTIUft3GsrTnYVloAwEWSv9jWveQ9URNdoEwTO4C5IzBYy7ht78HMY9T1uCzgP9DyNqj46UXHpDpdYE4Ogq2Rd1w4qE57rB8fosNQj+aoCOy+FcxwgIiK46teLPOsglYQSbOkV4dIx3+pkea+NWOuafa4MbSVaYfEdqdc1Tp09TcTbLVjdGW9ruUyABdNvAj7fXAS8OUUhbjRagdwcKnO2cjKLd5r91gwHBroaHuLXv8CHCbRESfA6tbfpXzZxAwWY2OVUuuEsbZ3Djcqi8Xe+8EYz0Rl1+8+LsnMXJ595SKcP5bN5gQpASPrb2FVUTDwQjTQxzJEdLwqww7A== 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=aFRqg/GAAK2gDXA89BhzCfohU2IEABDbnrCDMMxYhW8=; b=lYMqDUyG0HWcajguWqgfueW6XIBS1fmQfk54i4NIP2TD2TYGuPw5t/ws9h7LQKS2Fr1s42ljnWV1KljYjSFuykYnfa0fBWVEFAL1Dec+AyIg/CP0W0lKAcvsF7J+OSozViyQT99zWy2t3aeEZiRz2xBKsBz8M7ZvyKQlnNIaiG8zVZ7ld2pMkxqKbSE1lWnIhUIfL3IeraZJVi+mqG4vvPBhyoSYTyfmGQk/8In14juN5Qtdjc7O7qJwoW9E//O/OfsHyQMOs8rbJsSJO6RPPOuQqnQQCb83/m2udtx7pW2PLsoZBdBB5Ej8aq/PKISMGGy28Zy/Qm5GKULZ1kNGyQ== 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 MN6PR11MB8244.namprd11.prod.outlook.com (2603:10b6:208:470::14) by CH3PR11MB7371.namprd11.prod.outlook.com (2603:10b6:610:151::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.19; Fri, 13 Jan 2023 07:55:41 +0000 Received: from MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::f890:e4ec:e2d8:5831]) by MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::f890:e4ec:e2d8:5831%3]) with mapi id 15.20.5986.018; Fri, 13 Jan 2023 07:55:41 +0000 From: "Ni, Ray" To: "Wang, William2" , "devel@edk2.groups.io" CC: "Kinney, Michael D" , "Gao, Liming" , "Kuo, Donald" , "Kumar, Chandana C" Subject: Re: [PATCH v1] Update Arch. MSR and CPUID to follow latest SDM. Thread-Topic: [PATCH v1] Update Arch. MSR and CPUID to follow latest SDM. Thread-Index: AQHZJx1qyEXew3mRaEKcVqXFiD3yzK6b+obA Date: Fri, 13 Jan 2023 07:55:41 +0000 Message-ID: References: <20230113070304.2047-1-william2.wang@intel.com> In-Reply-To: <20230113070304.2047-1-william2.wang@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: MN6PR11MB8244:EE_|CH3PR11MB7371:EE_ x-ms-office365-filtering-correlation-id: 83fa085d-3ded-43ef-85ae-08daf53b911f 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: kwIdcT8oEhcpC727TOxpFB3jFRAUQKLuJ7fDEpyC5JdwKNHA1nO27WPYbwTQ4Qhgnb7fPjmflKIevgCkxDvg8Aun9NduQlDuKgtK3jWB+jq97ypxHUflrgUrZqe8K2P+bIcfXBF+LcsLpKyyQ/d6pDPXE0+Y33oP2uxwb7HcGpQ+p0ibQa8Eyo2uOhfk2hnY435LE9t9NAAaRfYw2yaFRfO4yP2NkddhYNJztZhzP98KWsT6zeyqM/tXQ8bXLMkhsSoMqIVAm2mySDS1a790IeNdfo0fYiKPN3OzOLEXhBZJmhkxB82aclVFKr9J0prVhVIKtudEGsVt9hqz4orpiE2K1U9Ix1bGX0HGl6q9hMmwo4TTS2YZPdnPOJwgww9MJ34DyR42jV5uqdIf16FX/QGd1o3AZuFmT4EznK5j/Ug6xQo/1AqJgeyCX2r+pDkat28X+Hu/MjCpGbDIjvuog9/qONxCb8nvjcxEP3CPbeFYdXfzbuWSRQzKTFcYuruCRysZHH9G3RCFrKmEqdea4U/xomIVD8kWnGRFZlDq8gLCXrIbR8C1KsbKIDipTfQN8j4GbMQIKbYbHX0sb9QXLtkLyN6zG8Cg/IiaZuYXU+eFFWa0evHcvB/2bjS6AFBSTtgOkTZFB4/PnUOWABLuUZ2pZzP0tbp8gM1Lkn86BOs3F9JzhPW3BgRcmyqXac5sxbkLbNGWM+4DGZh3b1MXrhhJGWbkKW0gjARLZJqgB4sIxrGdL3i0VlwNd5fvd5Kl+r+DzeQMhHUX58UGPO51nQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN6PR11MB8244.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(366004)(346002)(136003)(376002)(39860400002)(451199015)(15650500001)(52536014)(8936002)(5660300002)(54906003)(41300700001)(76116006)(316002)(4326008)(2906002)(66946007)(66556008)(110136005)(66476007)(64756008)(66446008)(8676002)(71200400001)(7696005)(478600001)(966005)(82960400001)(122000001)(38100700002)(186003)(53546011)(9686003)(26005)(6506007)(107886003)(33656002)(30864003)(55016003)(38070700005)(86362001)(83380400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?b1dHNEpHQkZFNlNienJac0RmdGcrWVdIVHpEMEhUVDNJWEtxVmhsZkI3MGpq?= =?utf-8?B?TU5vckxCNldjK2k4UlRxNXp2K3h1Y3lUUGZhQ0EwdUdSR3dBZFdvVVMvcGxv?= =?utf-8?B?OWpRMHhqU2V4TFJNUHloZ2Uzejk5V3dkVlB5L3FPRjFmUWE4bGgwM2xLcFFT?= =?utf-8?B?OUhFWTdaU1U2djFld2ZrTlFzei9iM3crT004SXQwdmZHYkV4T29vbzR0VzU2?= =?utf-8?B?NWNOZW1Vbm05cTV1T1hQc1lGeUgyVHJ0SEdZUEhHcmxrSHpSVWRxVm9iNWRT?= =?utf-8?B?aFdlVlpvck52UXF6MzZPNmU1YjN6LzRBNHlhUjdoY1UwVVJDVXg2M0N0YnF0?= =?utf-8?B?b3N0ZWI5bEIxSjBuTzVzMmhwTmRFRWgwSHBnSlhxUFArQzV6ZTN6Rk1rZnBa?= =?utf-8?B?d1U3THM0RWd0Tk1yNEVaYld5cU1jRlVuVG9iU2VwekpmTVdHL1dncjlDYjlX?= =?utf-8?B?R0Z5Myt3Sk5JVXRORjliNG1FYjhLUVRmN1VRN3k4cVM2WHNzM3VDWElXQ2Nv?= =?utf-8?B?R0svM2NTbHlMM0ROMTdCNDlEb1FXczYyays3QkZZNmxUYnArT01VeHowNURs?= =?utf-8?B?Z2ZUbWJ4N0dnbGo1aXZORDZSd1hWYzRyQkVQTHpjblJVdFp3UThnd2FBcnV2?= =?utf-8?B?N2J2b2gxMXhvSkxFZ0VxSmZlMy8vVDVRRVNEZlhHeSs4NjNEYXJmMjBOdFlQ?= =?utf-8?B?QmM5a2krZjlmMVN5QkVuSzRYU0hnZno3T0tpQ1hJSHVwaHBjbHB2UHFpd3ZH?= =?utf-8?B?QjBMVndNYXZUZ0dBSVB3V2s5UlRPa29BMHMycmg2NkRGQUVKMWRaNzZOY241?= =?utf-8?B?NlZwdWxHV0FCbnFLbzJFZUtxNUNyWDg1cFlyZzROVXoxcUZoN0ltSFMvNG05?= =?utf-8?B?ZnBOODdSNkI3NDdJMy9UVXhKRnpWOWhHdCs3UjBvcDFZbFZQVEJTSXROT2dX?= =?utf-8?B?ZVdTQUc4ZnFDYk1hZUdmbjNFM2ozRVJSdGJsYldiemlHWnYvV3dVNmZNdTky?= =?utf-8?B?anI4ZmNtMDhiU1U0NjFoQVgwaHhTZ1RuUFJlZGtZYVlBdjMxSExXNzVnR1ND?= =?utf-8?B?dnZQL3NUK2xXdXB3QUZvSU1KRDJ6Um9UdXVuOTRta3NMSWFtU1cvZnlRWmI3?= =?utf-8?B?ZTJsaTRuSVlNMktIek0zenVLemYzQ3NTdjlXendpSld1bm5FSXpkdUVYUEVC?= =?utf-8?B?ZklJTE9VSTZKQnNNallwZmZ6Zm1lZWRXblMzb3pEbVp6WDdjRVJMNWoxekdF?= =?utf-8?B?RWRRMXVMczYzQSt2SjNIS2dXTGxLVFhxMENrbG04enZESUorSmREUm1kYlls?= =?utf-8?B?Rzd4Z1Z4OENvTlA3ZFQ2eUJmQWg2WnZCS2JZajdScmoyNmtPWElLeS9oV1Ur?= =?utf-8?B?VnhwdDRMUHY3MTdKNXZSWERhdkJuLzRVdVVUNFhrS3lRTFJZTlZwVHFKMjZV?= =?utf-8?B?ZUFLbVdzNGQzMWlRa1VnbDJRUHRFTnplNW1qSktNOEVJdXFBVUdaSXBFZTZB?= =?utf-8?B?SmtjQmJPVFJRV2ovTlgweUx3U1AvYUwzMFFidmFTWmRoeFNsMUphNEpoNWpV?= =?utf-8?B?Qk5RQ1QrWWV2ZS9lUFdOSitnMVNRSnNSS3JFWTMwUnl2UFdLT25oelVqSW4w?= =?utf-8?B?alF1Y2VuZzlBMW4vK1FmT0VlNVFaTENOVU9peGlMOG43T21nN1hhYUNLSW0y?= =?utf-8?B?TTBaeXlNN2MwVVU0R0w2c1lyY0tkSWVSbVQraCtJTG40Lys4QjhtQ0JDR2dH?= =?utf-8?B?VWk5alNmYVh2NWsrQjEwdW9rNWNQM0N3LzdIbFM0cUJNTGZlVHBia1lWRnhM?= =?utf-8?B?Q1piVE1URm9sdFkvZDQrYk55bnY3K2R6bnlWOUM3a1F6dFlEYzMrK2d4UGJk?= =?utf-8?B?UnhweDN1RHhkZG15T0twU05BS0wrYktjb2dvV0l6bVNyWm9yYXFRTVJDTG4y?= =?utf-8?B?R3N0SlF2b3B6VDRFcW5taGRLM2ZaOTh0aXNvZXlYcGVNcGVQNHFlYWZJelBm?= =?utf-8?B?ZERjdndEeG5OTWFTOVNOQ3dyNVB5SHp1QldqRFFtOW5NY05wclJCVmdWM2tC?= =?utf-8?B?UEU5MC9ad20wRTY5ZTlkVkg5M09ZY3JrRHBhalI4K3IwRlE1N3VRa0dpc2J3?= =?utf-8?Q?ST2M=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN6PR11MB8244.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 83fa085d-3ded-43ef-85ae-08daf53b911f X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jan 2023 07:55:41.2827 (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: UUjkMDUKpzpvqs3MXaD6J7OdbyqXOmznCFzSN2kql/icFeczngGUZF85s0v1o0W2DuDLl+az6LY+1a1xk+LxQg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR11MB7371 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 Q2FuIHlvdSBzZXBhcmF0ZSB0byAyIHBhdGNoZXM/DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gRnJvbTogV2FuZywgV2lsbGlhbTIgPHdpbGxpYW0yLndhbmdAaW50ZWwuY29tPg0K PiBTZW50OiBGcmlkYXksIEphbnVhcnkgMTMsIDIwMjMgMzowMyBQTQ0KPiBUbzogZGV2ZWxAZWRr Mi5ncm91cHMuaW8NCj4gQ2M6IFdhbmcsIFdpbGxpYW0yIDx3aWxsaWFtMi53YW5nQGludGVsLmNv bT47IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IEdhbywg TGltaW5nDQo+IDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBOaSwgUmF5IDxyYXkubmlAaW50 ZWwuY29tPjsgS3VvLCBEb25hbGQgPGRvbmFsZC5rdW9AaW50ZWwuY29tPjsgS3VtYXIsIENoYW5k YW5hIEMNCj4gPGNoYW5kYW5hLmMua3VtYXJAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0gg djFdIFVwZGF0ZSBBcmNoLiBNU1IgYW5kIENQVUlEIHRvIGZvbGxvdyBsYXRlc3QgU0RNLg0KPiAN Cj4gRnJvbTogV2lsbGlhbTIgV2FuZyA8d2lsbGlhbTIud2FuZ0BpbnRlbC5jb20+DQo+IA0KPiBS RUY6IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDI2Mg0K PiAgICAgICAgIGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9 NDI2Mw0KPiANCj4gVXBkYXRlIENQVUlEIExlYWYgMDZIIHRvIGZvbGxvdyBsYXRlc3QgU0RNLg0K PiBVcGRhdGUgQXJjaGl0ZWN0dXJlIE1TUiBjb250YWlucyB0aGUgTVNSMTBBLkJJVDIzIGFuZA0K PiBNU1IxOTUuQklUMi0wIGZvciBvdmVyY2xvY2tpbmcgdW5kZXJ2b2x0IHByb3RlY3Rpb24uDQo+ IA0KPiBDYzogTWljaGFlbCBEIEtpbm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ IENjOiBMaW1pbmcgR2FvIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+DQo+IENjOiBSYXkgTmkg PHJheS5uaUBpbnRlbC5jb20+DQo+IENjOiBEb25hbGQgS3VvIDxEb25hbGQuS3VvQGludGVsLmNv bT4NCj4gQ2M6IENoYW5kYW5hIEMgS3VtYXIgPGNoYW5kYW5hLmMua3VtYXJAaW50ZWwuY29tPg0K PiAtLS0NCj4gIE1kZVBrZy9JbmNsdWRlL1JlZ2lzdGVyL0ludGVsL0FyY2hpdGVjdHVyYWxNc3Iu aCB8IDE5OCArKysrKysrKysrKysrKysrKysrKw0KPiAgTWRlUGtnL0luY2x1ZGUvUmVnaXN0ZXIv SW50ZWwvQ3B1aWQuaCAgICAgICAgICAgIHwgIDU2ICsrKysrLQ0KPiAgMiBmaWxlcyBjaGFuZ2Vk LCAyNTEgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9N ZGVQa2cvSW5jbHVkZS9SZWdpc3Rlci9JbnRlbC9BcmNoaXRlY3R1cmFsTXNyLmggYi9NZGVQa2cv SW5jbHVkZS9SZWdpc3Rlci9JbnRlbC9BcmNoaXRlY3R1cmFsTXNyLmgNCj4gaW5kZXggMDcxYThj Njg5Yy4uZjU0OGI1NjY3MiAxMDA2NDQNCj4gLS0tIGEvTWRlUGtnL0luY2x1ZGUvUmVnaXN0ZXIv SW50ZWwvQXJjaGl0ZWN0dXJhbE1zci5oDQo+ICsrKyBiL01kZVBrZy9JbmNsdWRlL1JlZ2lzdGVy L0ludGVsL0FyY2hpdGVjdHVyYWxNc3IuaA0KPiBAQCAtNjgyLDYgKzY4MiwxNDkgQEAgdHlwZWRl ZiB1bmlvbiB7DQo+ICAgIFVJTlQ2NCAgICBVaW50NjQ7DQo+ICB9IE1TUl9JQTMyX01UUlJDQVBf UkVHSVNURVI7DQo+IA0KPiArLyoqDQo+ICsgIEVudW1lcmF0aW9uIG9mIEFyY2hpdGVjdHVyYWwg RmVhdHVyZXMgKFIvTykuIElmIENQVUlELihFQVg9MDdILCBFQ1g9MCk6RURYWzI5XT0xLg0KPiAr DQo+ICsgIEBwYXJhbSAgRUNYICBJQTMyX0FSQ0hfQ0FQQUJJTElUSUVTICgweDAwMDAwMTBBKQ0K PiArICBAcGFyYW0gIEVBWCAgTG93ZXIgMzItYml0cyBvZiBNU1IgdmFsdWUuDQo+ICsgICAgICAg ICAgICAgICBEZXNjcmliZWQgYnkgdGhlIHR5cGUgSUEzMl9BUkNIX0NBUEFCSUxJVElFU19SRUdJ U1RFUi4NCj4gKyAgQHBhcmFtICBFRFggIFVwcGVyIDMyLWJpdHMgb2YgTVNSIHZhbHVlLg0KPiAr ICAgICAgICAgICAgICAgRGVzY3JpYmVkIGJ5IHRoZSB0eXBlIElBMzJfQVJDSF9DQVBBQklMSVRJ RVNfUkVHSVNURVIuDQo+ICsNCj4gKyAgPGI+RXhhbXBsZSB1c2FnZTwvYj4NCj4gKyAgQGNvZGUN Cj4gKyAgSUEzMl9BUkNIX0NBUEFCSUxJVElFU19SRUdJU1RFUiAgTXNyOw0KPiArDQo+ICsgIE1z ci5VaW50NjQgPSBBc21SZWFkTXNyNjQgKElBMzJfQVJDSF9DQVBBQklMSVRJRVMpOw0KPiArICBA ZW5kY29kZQ0KPiArICBAbm90ZSBJQTMyX0FSQ0hfQ0FQQUJJTElUSUVTIGlzIGRlZmluZWQgYXMg SUEzMl9BUkNIX0NBUEFCSUxJVElFUyBpbiBTRE0uDQo+ICsqKi8NCj4gKyNkZWZpbmUgSUEzMl9B UkNIX0NBUEFCSUxJVElFUyAgMHgwMDAwMDEwQQ0KPiArDQo+ICsvKioNCj4gKyAgTVNSIGluZm9y bWF0aW9uIHJldHVybmVkIGZvciBNU1IgaW5kZXggI0lBMzJfQVJDSF9DQVBBQklMSVRJRVMNCj4g KyoqLw0KPiArdHlwZWRlZiB1bmlvbiB7DQo+ICsgIC8vLw0KPiArICAvLy8gSW5kaXZpZHVhbCBi aXQgZmllbGRzDQo+ICsgIC8vLw0KPiArICBzdHJ1Y3Qgew0KPiArICAgIC8vLw0KPiArICAgIC8v LyBbQml0cyAwXSAgUkRDTF9OTzogVGhlIHByb2Nlc3NvciBpcyBub3Qgc3VzY2VwdGlibGUgdG8g Um9ndWUgRGF0YSBDYWNoZSBMb2FkIChSRENMKS4NCj4gKyAgICAvLy8NCj4gKyAgICBVSU5UMzIg ICAgUkRDTF9OTyAgICAgICAgICAgICAgOiAxOw0KPiArICAgIC8vLw0KPiArICAgIC8vLyBbQml0 IDFdIElCUlNfQUxMOiBUaGUgcHJvY2Vzc29yIHN1cHBvcnRzIGVuaGFuY2VkIElCUlMuDQo+ICsg ICAgLy8vDQo+ICsgICAgVUlOVDMyICAgIElCUlNfQUxMICAgICAgICAgICAgIDogMTsNCj4gKyAg ICAvLy8NCj4gKyAgICAvLy8gW0JpdCAyXSBSU0JBOiBUaGUgcHJvY2Vzc29yIHN1cHBvcnRzIFJT QiBBbHRlcm5hdGUuIEFsdGVybmF0aXZlIGJyYW5jaCBwcmVkaWN0b3JzDQo+ICsgICAgLy8vIG1h eSBiZSB1c2VkIGJ5IFJFVCBpbnN0cnVjdGlvbnMgd2hlbiB0aGUgUlNCIGlzIGVtcHR5LiBTVyB1 c2luZyByZXRwb2xpbmUgbWF5IGJlDQo+ICsgICAgLy8vIGFmZmVjdGVkIGJ5IHRoaXMgYmVoYXZp b3IuDQo+ICsgICAgLy8vDQo+ICsgICAgVUlOVDMyICAgIFJTQkEgICAgICAgICAgICAgICAgIDog MTsNCj4gKyAgICAvLy8NCj4gKyAgICAvLy8gW0JpdCAzXSBTS0lQX0wxREZMX1ZNRU5UUlk6IEEg dmFsdWUgb2YgMSBpbmRpY2F0ZXMgdGhlIGh5cGVydmlzb3IgbmVlZCBub3QgZmx1c2ggdGhlDQo+ ICsgICAgLy8vIEwxRCBvbiBWTSBlbnRyeS4NCj4gKyAgICAvLy8NCj4gKyAgICBVSU5UMzIgICAg U0tJUF9MMURGTF9WTUVOVFJZICAgOiAxOw0KPiArICAgIC8vLw0KPiArICAgIC8vLyBbQml0IDRd IFNTQl9OTzogUHJvY2Vzc29yIGlzIG5vdCBzdXNjZXB0aWJsZSB0byBTcGVjdWxhdGl2ZSBTdG9y ZSBCeXBhc3MuDQo+ICsgICAgLy8vDQo+ICsgICAgVUlOVDMyICAgIFNTQl9OTyAgICAgICAgICAg ICAgIDogMTsNCj4gKyAgICAvLy8NCj4gKyAgICAvLy8gW0JpdCA1XSBNRFNfTk86IFByb2Nlc3Nv ciBpcyBub3Qgc3VzY2VwdGlibGUgdG8gTWljcm9hcmNoaXRlY3R1cmFsIERhdGEgU2FtcGxpbmcg KE1EUykuDQo+ICsgICAgLy8vDQo+ICsgICAgVUlOVDMyICAgIE1EU19OTyAgICAgICAgICAgICAg IDogMTsNCj4gKyAgICAvLy8NCj4gKyAgICAvLy8gW0JpdCA2XSBJRl9QU0NIQU5HRV9NQ19OTzog VGhlIHByb2Nlc3NvciBpcyBub3Qgc3VzY2VwdGlibGUgdG8gYSBtYWNoaW5lIGNoZWNrIGVycm9y IGR1ZSB0bw0KPiArICAgIC8vLyBtb2RpZnlpbmcgdGhlIHNpemUgb2YgYSBjb2RlIHBhZ2Ugd2l0 aG91dCBUTEIgaW52YWxpZGF0aW9uLg0KPiArICAgIC8vLw0KPiArICAgIFVJTlQzMiAgICBJRl9Q U0NIQU5HRV9NQ19OTyAgICA6IDE7DQo+ICsgICAgLy8vDQo+ICsgICAgLy8vIFtCaXQgN10gVFNY X0NUUkw6IElmIDEsIGluZGljYXRlcyBwcmVzZW5jZSBvZiBJQTMyX1RTWF9DVFJMIE1TUi4NCj4g KyAgICAvLy8NCj4gKyAgICBVSU5UMzIgICAgVFNYX0NUUkwgICAgICAgICAgICAgOiAxOw0KPiAr ICAgIC8vLw0KPiArICAgIC8vLyBbQml0IDhdIFRBQV9OTzogSWYgMSwgcHJvY2Vzc29yIGlzIG5v dCBhZmZlY3RlZCBieSBUQUEuDQo+ICsgICAgLy8vDQo+ICsgICAgVUlOVDMyICAgIFRBQV9OTyAg ICAgICAgICAgICAgIDogMTsNCj4gKyAgICBVSU5UMzIgICAgUmVzZXJ2ZWQxICAgICAgICAgICAg OiAxOw0KPiArICAgIC8vLw0KPiArICAgIC8vLyBbQml0IDEwXSBNSVNDX1BBQ0tBR0VfQ1RMUzog VGhlIHByb2Nlc3NvciBzdXBwb3J0cyBJQTMyX01JU0NfUEFDS0FHRV9DVExTIE1TUi4NCj4gKyAg ICAvLy8NCj4gKyAgICBVSU5UMzIgICAgTUlTQ19QQUNLQUdFX0NUTFMgICAgOiAxOw0KPiArICAg IC8vLw0KPiArICAgIC8vLyBbQml0IDExXSBFTkVSR1lfRklMVEVSSU5HX0NUTDogVGhlIHByb2Nl c3NvciBzdXBwb3J0cyBzZXR0aW5nIGFuZCByZWFkaW5nIHRoZQ0KPiArICAgIC8vLyBJQTMyX01J U0NfUEFDS0FHRV9DVExTWzBdIChFTkVSR1lfRklMVEVSSU5HX0VOQUJMRSkgYml0Lg0KPiArICAg IC8vLw0KPiArICAgIFVJTlQzMiAgICBFTkVSR1lfRklMVEVSSU5HX0NUTCA6IDE7DQo+ICsgICAg Ly8vDQo+ICsgICAgLy8vIFtCaXQgMTJdIERPSVRNOiBJZiAxLCB0aGUgcHJvY2Vzc29yIHN1cHBv cnRzIERhdGEgT3BlcmFuZCBJbmRlcGVuZGVudCBUaW1pbmcgTW9kZS4NCj4gKyAgICAvLy8NCj4g KyAgICBVSU5UMzIgICAgRE9JVE0gICAgICAgICAgICAgICAgOiAxOw0KPiArICAgIC8vLw0KPiAr ICAgIC8vLyBbQml0IDEzXSBTQkRSX1NTRFBfTk86IFRoZSBwcm9jZXNzb3IgaXMgbm90IGFmZmVj dGVkIGJ5IGVpdGhlciB0aGUgU2hhcmVkIEJ1ZmZlcnMgRGF0YQ0KPiArICAgIC8vLyBSZWFkIChT QkRSKSB2dWxuZXJhYmlsaXR5IG9yIHRoZSBTaWRlYmFuZCBTdGFsZSBEYXRhIFByb3BhZ2F0b3Ig KFNTRFApLg0KPiArICAgIC8vLw0KPiArICAgIFVJTlQzMiAgICBTQkRSX1NTRFBfTk8gICAgICAg ICA6IDE7DQo+ICsgICAgLy8vDQo+ICsgICAgLy8vIFtCaXQgMTRdIEZCU0RQX05POiBUaGUgcHJv Y2Vzc29yIGlzIG5vdCBhZmZlY3RlZCBieSB0aGUgRmlsbCBCdWZmZXIgU3RhbGUgRGF0YSBQcm9w YWdhdG9yIChGQlNEUCkuDQo+ICsgICAgLy8vDQo+ICsgICAgVUlOVDMyICAgIEZCU0RQX05PICAg ICAgICAgICAgIDogMTsNCj4gKyAgICAvLy8NCj4gKyAgICAvLy8gW0JpdCAxNV0gUFNEUF9OTzog VGhlIHByb2Nlc3NvciBpcyBub3QgYWZmZWN0ZWQgYnkgdnVsbmVyYWJpbGl0aWVzIGludm9sdmlu ZyB0aGUgUHJpbWFyeSBTdGFsZSBEYXRhIFByb3BhZ2F0b3IgKFBTRFApLg0KPiArICAgIC8vLw0K PiArICAgIFVJTlQzMiAgICBQU0RQX05PICAgICAgICAgICAgICA6IDE7DQo+ICsgICAgVUlOVDMy ICAgIFJlc2VydmVkMiAgICAgICAgICAgIDogMTsNCj4gKyAgICAvLy8NCj4gKyAgICAvLy8gW0Jp dCAxN10gRkJfQ0xFQVI6IElmIDEsIHRoZSBwcm9jZXNzb3Igc3VwcG9ydHMgb3ZlcndyaXRlIG9m IGZpbGwgYnVmZmVyIHZhbHVlcyBhcyBwYXJ0IG9mIE1EX0NMRUFSIG9wZXJhdGlvbnMNCj4gKyAg ICAvLy8gd2l0aCB0aGUgVkVSVyBpbnN0cnVjdGlvbi4NCj4gKyAgICAvLy8NCj4gKyAgICBVSU5U MzIgICAgRkJfQ0xFQVIgICAgICAgICAgICAgOiAxOw0KPiArICAgIC8vLw0KPiArICAgIC8vLyBb Qml0IDE4XSBGQl9DTEVBUl9DVFJMOiBJZiAxLCB0aGUgcHJvY2Vzc29yIHN1cHBvcnRzIHRoZSBJ QTMyX01DVV9PUFRfQ1RSTCBNU1INCj4gKyAgICAvLy8gYW5kIGFsbG93cyBzb2Z0d2FyZSB0byBz ZXQgYml0IDMgb2YgdGhhdCBNU1IgKEZCX0NMRUFSX0RJUykuDQo+ICsgICAgLy8vDQo+ICsgICAg VUlOVDMyICAgIEZCX0NMRUFSX0NUUkwgICAgICAgIDogMTsNCj4gKyAgICAvLy8NCj4gKyAgICAv Ly8gW0JpdCAxOV0gUlJTQkE6IEEgdmFsdWUgb2YgMSBpbmRpY2F0ZXMgdGhlIHByb2Nlc3NvciBt YXkgaGF2ZSB0aGUgUlJTQkEgYWx0ZXJuYXRlIHByZWRpY3Rpb24NCj4gKyAgICAvLy8gYmVoYXZp b3IsIGlmIG5vdCBkaXNhYmxlZCBieSBSUlNCQV9ESVNfVSBvciBSUlNCQV9ESVNfUy4NCj4gKyAg ICAvLy8NCj4gKyAgICBVSU5UMzIgICAgUlJTQkEgICAgICAgICAgICAgICAgOiAxOw0KPiArICAg IC8vLw0KPiArICAgIC8vLyBbQml0IDIwXSBCSElfTk86IEEgdmFsdWUgb2YgMSBpbmRpY2F0ZXMg QkhJX05PIGJyYW5jaCBwcmVkaWN0aW9uIGJlaGF2aW9yLCByZWdhcmRsZXNzIG9mDQo+ICsgICAg Ly8vIHRoZSB2YWx1ZSBvZiBJQTMyX1NQRUNfQ1RSTFtCSElfRElTX1NdIE1TUiBiaXQuDQo+ICsg ICAgLy8vDQo+ICsgICAgVUlOVDMyICAgIEJISV9OTyAgICAgICAgICAgICAgIDogMTsNCj4gKyAg ICAvLw0KPiArICAgIC8vLyBbQml0IDIxXSBYQVBJQ19ESVNBQkxFX1NUQVRVUzogRW51bWVyYXRl cyB0aGF0IHRoZSBJQTMyX1hBUElDX0RJU0FCTEVfU1RBVFVTIE1TUiBleGlzdHMsDQo+ICsgICAg Ly8vIGFuZCB0aGF0IGJpdCAwIHNwZWNpZmllcyB3aGV0aGVyIHRoZSBsZWdhY3kgeEFQSUMgaXMg ZGlzYWJsZWQgYW5kIEFQSUMgc3RhdGUgaXMgbG9ja2VkIHRvIHgyQVBJQy4NCj4gKyAgICAvLy8N Cj4gKyAgICBVSU5UMzIgICAgWEFQSUNfRElTQUJMRV9TVEFUVVMgOiAxOw0KPiArICAgIFVJTlQz MiAgICBSZXNlcnZlZDMgICAgICAgICAgICA6IDE7DQo+ICsgICAgLy8vDQo+ICsgICAgLy8vIFtC aXQgMjNdIE9WRVJDTE9DS0lOR19TVEFUVVM6IElmIHNldCwgdGhlIElBMzJfT1ZFUkNMT0NLSU5H X1NUQVRVUyBNU1IgZXhpc3RzLg0KPiArICAgIC8vLw0KPiArICAgIFVJTlQzMiAgICBPVkVSQ0xP Q0tJTkdfU1RBVFVTICA6IDE7DQo+ICsgICAgLy8vDQo+ICsgICAgLy8vIFtCaXQgMjRdIFBCUlNC X05POiBJZiAxLCB0aGUgcHJvY2Vzc29yIGlzIG5vdCBhZmZlY3RlZCBieSBpc3N1ZXMgcmVsYXRl ZCB0byBQb3N0LUJhcnJpZXINCj4gKyAgICAvLy8gUmV0dXJuIFN0YWNrIEJ1ZmZlciBQcmVkaWN0 aW9ucy4NCj4gKyAgICAvLy8NCj4gKyAgICBVSU5UMzIgICAgUEJSU0JfTk8gICAgICAgICAgICAg OiAxOw0KPiArICAgIFVJTlQzMiAgICBSZXNlcnZlZDQgICAgICAgICAgICA6IDc7DQo+ICsgICAg VUlOVDMyICAgIFJlc2VydmVkNSAgICAgICAgICAgIDogMzI7DQo+ICsgIH0gQml0czsNCj4gKyAg Ly8vDQo+ICsgIC8vLyBBbGwgYml0IGZpZWxkcyBhcyBhIDMyLWJpdCB2YWx1ZQ0KPiArICAvLy8N Cj4gKyAgVUlOVDMyICAgIFVpbnQzMjsNCj4gKyAgLy8vDQo+ICsgIC8vLyBBbGwgYml0IGZpZWxk cyBhcyBhIDY0LWJpdCB2YWx1ZQ0KPiArICAvLy8NCj4gKyAgVUlOVDY0ICAgIFVpbnQ2NDsNCj4g K30gSUEzMl9BUkNIX0NBUEFCSUxJVElFU19SRUdJU1RFUjsNCj4gKw0KPiAgLyoqDQo+ICAgIFNZ U0VOVEVSX0NTX01TUiAoUi9XKS4gSW50cm9kdWNlZCBhdCBEaXNwbGF5IEZhbWlseSAvIERpc3Bs YXkgTW9kZWwgMDZfMDFILg0KPiANCj4gQEAgLTEwMzUsNiArMTE3OCw2MSBAQCB0eXBlZGVmIHVu aW9uIHsNCj4gICAgVUlOVDY0ICAgIFVpbnQ2NDsNCj4gIH0gTVNSX0lBMzJfUEVSRkVWVFNFTF9S RUdJU1RFUjsNCj4gDQo+ICsvKioNCj4gKyAgT3ZlcmNsb2NraW5nIFN0YXR1cyAoUi9PKSBJQTMy X0FSQ0hfQ0FQQUJJTElUSUVTW2JpdCAyM10gZW51bWVyYXRlcyBzdXBwb3J0IGZvciB0aGlzIE1T Ui4NCj4gKw0KPiArICBAcGFyYW0gIEVDWCAgSUEzMl9PVkVSQ0xPQ0tJTkdfU1RBVFVTICgweDAw MDAwMTk1KQ0KPiArICBAcGFyYW0gIEVBWCAgTG93ZXIgMzItYml0cyBvZiBNU1IgdmFsdWUuDQo+ ICsgICAgICAgICAgICAgICBEZXNjcmliZWQgYnkgdGhlIHR5cGUgSUEzMl9PVkVSQ0xPQ0tJTkdf U1RBVFVTX1JFR0lTVEVSLg0KPiArICBAcGFyYW0gIEVEWCAgVXBwZXIgMzItYml0cyBvZiBNU1Ig dmFsdWUuDQo+ICsgICAgICAgICAgICAgICBEZXNjcmliZWQgYnkgdGhlIHR5cGUgSUEzMl9PVkVS Q0xPQ0tJTkdfU1RBVFVTX1JFR0lTVEVSLg0KPiArDQo+ICsgIDxiPkV4YW1wbGUgdXNhZ2U8L2I+ DQo+ICsgIEBjb2RlDQo+ICsgIElBMzJfT1ZFUkNMT0NLSU5HX1NUQVRVU19SRUdJU1RFUiAgTXNy Ow0KPiArDQo+ICsgIE1zci5VaW50NjQgPSBBc21SZWFkTXNyNjQgKElBMzJfT1ZFUkNMT0NLSU5H X1NUQVRVUyk7DQo+ICsgIEBlbmRjb2RlDQo+ICsgIEBub3RlIElBMzJfT1ZFUkNMT0NLSU5HX1NU QVRVUyBpcyBkZWZpbmVkIGFzIElBMzJfT1ZFUkNMT0NLSU5HX1NUQVRVUyBpbiBTRE0uDQo+ICsq Ki8NCj4gKyNkZWZpbmUgSUEzMl9PVkVSQ0xPQ0tJTkdfU1RBVFVTICAweDAwMDAwMTk1DQo+ICsN Cj4gKy8qKg0KPiArICBNU1IgaW5mb3JtYXRpb24gcmV0dXJuZWQgZm9yIE1TUiBpbmRleCAjSUEz Ml9BUkNIX0NBUEFCSUxJVElFUw0KPiArKiovDQo+ICt0eXBlZGVmIHVuaW9uIHsNCj4gKyAgLy8v DQo+ICsgIC8vLyBJbmRpdmlkdWFsIGJpdCBmaWVsZHMNCj4gKyAgLy8vDQo+ICsgIHN0cnVjdCB7 DQo+ICsgICAgLy8vDQo+ICsgICAgLy8vIFtCaXRzIDBdICBJbmRpY2F0ZXMgaWYgc3BlY2lmaWMg Zm9ybXMgb2Ygb3ZlcmNsb2NraW5nIGhhdmUgYmVlbiBlbmFibGVkIG9uIHRoaXMgYm9vdCBvciBy ZXNldA0KPiArICAgIC8vLyBjeWNsZTogMCBpbmRpY2F0ZXMgbm8sIDEgaW5kaWNhdGVzIHllcy4N Cj4gKyAgICAvLy8NCj4gKyAgICBVSU5UMzIgICAgT3ZlcmNsb2NraW5nVXRpbGl6ZWQgICAgIDog MTsNCj4gKyAgICAvLy8NCj4gKyAgICAvLy8gW0JpdHMgMV0gIEluZGljYXRlcyBpZiB0aGUg4oCc RHluYW1pYyBPQyBVbmRlcnZvbHQgUHJvdGVjdGlvbuKAnSBzZWN1cml0eSBmZWF0dXJlIGlzIGFj dGl2ZToNCj4gKyAgICAvLy8gMCBpbmRpY2F0ZXMgZGlzYWJsZWQsIDEgaW5kaWNhdGVzIGVuYWJs ZWQuDQo+ICsgICAgLy8vDQo+ICsgICAgVUlOVDMyICAgIFVuZGVydm9sdFByb3RlY3Rpb24gICAg ICA6IDE7DQo+ICsgICAgLy8vDQo+ICsgICAgLy8vIFtCaXRzIDJdICBJbmRpY2F0ZXMgdGhhdCBv dmVyY2xvY2tpbmcgY2FwYWJpbGl0aWVzIGhhdmUgYmVlbiB1bmxvY2tlZCBieSBCSU9TLA0KPiAr ICAgIC8vLyB3aXRoIG9yIHdpdGhvdXQgb3ZlcmNsb2NraW5nOiAwIGluZGljYXRlcyBOb3QgU2Vj dXJlZCwgMSBpbmRpY2F0ZXMgU2VjdXJlLg0KPiArICAgIC8vLw0KPiArICAgIFVJTlQzMiAgICBP dmVyY2xvY2tpbmdTZWN1cmVTdGF0dXMgOiAxOw0KPiArICAgIFVJTlQzMiAgICBSZXNlcnZlZDEg ICAgICAgICAgICAgICAgOiAyOTsNCj4gKyAgICBVSU5UMzIgICAgUmVzZXJ2ZWQyICAgICAgICAg ICAgICAgIDogMzI7DQo+ICsgIH0gQml0czsNCj4gKyAgLy8vDQo+ICsgIC8vLyBBbGwgYml0IGZp ZWxkcyBhcyBhIDMyLWJpdCB2YWx1ZQ0KPiArICAvLy8NCj4gKyAgVUlOVDMyICAgIFVpbnQzMjsN Cj4gKyAgLy8vDQo+ICsgIC8vLyBBbGwgYml0IGZpZWxkcyBhcyBhIDY0LWJpdCB2YWx1ZQ0KPiAr ICAvLy8NCj4gKyAgVUlOVDY0ICAgIFVpbnQ2NDsNCj4gK30gSUEzMl9PVkVSQ0xPQ0tJTkdfU1RB VFVTX1JFR0lTVEVSOw0KPiArDQo+ICAvKioNCj4gICAgQ3VycmVudCBwZXJmb3JtYW5jZSBzdGF0 ZShQLVN0YXRlKSBvcGVyYXRpbmcgcG9pbnQgKFJPKS4gSW50cm9kdWNlZCBhdA0KPiAgICBEaXNw bGF5IEZhbWlseSAvIERpc3BsYXkgTW9kZWwgMEZfMDNILg0KPiBkaWZmIC0tZ2l0IGEvTWRlUGtn L0luY2x1ZGUvUmVnaXN0ZXIvSW50ZWwvQ3B1aWQuaCBiL01kZVBrZy9JbmNsdWRlL1JlZ2lzdGVy L0ludGVsL0NwdWlkLmgNCj4gaW5kZXggMzUwYmY2MDI1Mi4uNDZjZGI4MjdlMiAxMDA2NDQNCj4g LS0tIGEvTWRlUGtnL0luY2x1ZGUvUmVnaXN0ZXIvSW50ZWwvQ3B1aWQuaA0KPiArKysgYi9NZGVQ a2cvSW5jbHVkZS9SZWdpc3Rlci9JbnRlbC9DcHVpZC5oDQo+IEBAIC0xMTk1LDEyICsxMTk1LDI0 IEBAIHR5cGVkZWYgdW5pb24gew0KPiAgICAgIC8vLyBbQml0IDE4XSBGYXN0IGFjY2VzcyBtb2Rl IGZvciB0aGUgSUEzMl9IV1BfUkVRVUVTVCBNU1IgaXMgc3VwcG9ydGVkIGlmIHNldC4NCj4gICAg ICAvLy8NCj4gICAgICBVSU5UMzIgICAgRmFzdEFjY2Vzc01vZGUgICAgICAgICAgICAgICAgICAg ICAgICAgOiAxOw0KPiAtICAgIFVJTlQzMiAgICBSZXNlcnZlZDQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA6IDE7DQo+ICsgICAgLy8vDQo+ICsgICAgLy8vIFtCaXQgMTldIElBMzJfSFdf RkVFREJBQ0tfUFRSIE1TUiwgSUEzMl9IV19GRUVEQkFDS19DT05GSUcgTVNSLA0KPiArICAgIC8v LyBJQTMyX1BBQ0tBR0VfVEhFUk1fU1RBVFVTIE1TUiBiaXQgMjYsIGFuZCBJQTMyX1BBQ0tBR0Vf VEhFUk1fSU5URVJSVVBUIE1TUiBiaXQgMjUgYXJlIHN1cHBvcnRlZCBpZg0KPiBzZXQuDQo+ICsg ICAgVUlOVDMyICAgIEhXX0ZFRURCQUNLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogMTsN Cj4gICAgICAvLy8NCj4gICAgICAvLy8gW0JpdCAyMF0gSWdub3JpbmcgSWRsZSBMb2dpY2FsIFBy b2Nlc3NvciBIV1AgcmVxdWVzdCBpcyBzdXBwb3J0ZWQgaWYgc2V0Lg0KPiAgICAgIC8vLw0KPiAg ICAgIFVJTlQzMiAgICBJZ25vcmluZ0lkbGVMb2dpY2FsUHJvY2Vzc29ySFdQUmVxdWVzdCA6IDE7 DQo+IC0gICAgVUlOVDMyICAgIFJlc2VydmVkNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDogMTE7DQo+ICsgICAgVUlOVDMyICAgIFJlc2VydmVkNCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDogMjsNCj4gKyAgICAvLy8NCj4gKyAgICAvLy8gW0JpdCAyM10gSW50ZWwgVGhyZWFk IERpcmVjdG9yIHN1cHBvcnRlZCBpZiBzZXQuIElBMzJfSFdfRkVFREJBQ0tfQ0hBUiBhbmQNCj4g KyAgICAvLy8gSUEzMl9IV19GRUVEQkFDS19USFJFQURfQ09ORklHIE1TUnMgYXJlIHN1cHBvcnRl ZCBpZiBzZXQuDQo+ICsgICAgVUlOVDMyICAgIFRocmVhZERpcmVjdG9yICAgICAgICAgICAgICAg ICAgICAgICAgIDogMTsNCj4gKyAgICAvLy8NCj4gKyAgICAvLy8gW0JpdCAyNF0gSUEzMl9USEVS TV9JTlRFUlJVUFQgTVNSIGJpdCAyNSBpcyBzdXBwb3J0ZWQgaWYgc2V0Lg0KPiArICAgIC8vLw0K PiArICAgIFVJTlQzMiAgICBJQTMyX1RIRVJNX0lOVEVSUlVQVCAgICAgICAgICAgICAgICAgICA6 IDE7DQo+ICsgICAgVUlOVDMyICAgIFJlc2VydmVkNSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDogNzsNCj4gICAgfSBCaXRzOw0KPiAgICAvLy8NCj4gICAgLy8vIEFsbCBiaXQgZmllbGRz IGFzIGEgMzItYml0IHZhbHVlDQo+IEBAIC0xMjUyLDcgKzEyNjQsMTMgQEAgdHlwZWRlZiB1bmlv biB7DQo+ICAgICAgLy8vICgxQjBIKS4NCj4gICAgICAvLy8NCj4gICAgICBVSU5UMzIgICAgUGVy Zm9ybWFuY2VFbmVyZ3lCaWFzICAgICAgICA6IDE7DQo+IC0gICAgVUlOVDMyICAgIFJlc2VydmVk MiAgICAgICAgICAgICAgICAgICAgOiAyODsNCj4gKyAgICBVSU5UMzIgICAgUmVzZXJ2ZWQyICAg ICAgICAgICAgICAgICAgICA6IDQ7DQo+ICsgICAgLy8vDQo+ICsgICAgLy8vIHtCaXQgMTU6OF0g TnVtYmVyIG9mIEludGVsIFRocmVhZCBEaXJlY3RvciBjbGFzc2VzIHN1cHBvcnRlZCBieSB0aGUg cHJvY2Vzc29yLiBJbmZvcm1hdGlvbiBmb3IgdGhhdA0KPiArICAgIC8vLyBtYW55IGNsYXNzZXMg aXMgd3JpdHRlbiBpbnRvIHRoZSBJbnRlbCBUaHJlYWQgRGlyZWN0b3IgVGFibGUgYnkgdGhlIGhh cmR3YXJlLg0KPiArICAgIC8vLw0KPiArICAgIFVJTlQzMiAgICBUaHJlYWREaXJlY3RvckNsYXNz ZXMgICAgICAgIDogODsNCj4gKyAgICBVSU5UMzIgICAgUmVzZXJ2ZWQzICAgICAgICAgICAgICAg ICAgICA6IDE2Ow0KPiAgICB9IEJpdHM7DQo+ICAgIC8vLw0KPiAgICAvLy8gQWxsIGJpdCBmaWVs ZHMgYXMgYSAzMi1iaXQgdmFsdWUNCj4gQEAgLTEyNjAsNiArMTI3OCwzOCBAQCB0eXBlZGVmIHVu aW9uIHsNCj4gICAgVUlOVDMyICAgIFVpbnQzMjsNCj4gIH0gQ1BVSURfVEhFUk1BTF9QT1dFUl9N QU5BR0VNRU5UX0VDWDsNCj4gDQo+ICsvKioNCj4gKyAgQ1BVSUQgVGhlcm1hbCBhbmQgUG93ZXIg TWFuYWdlbWVudCBJbmZvcm1hdGlvbiByZXR1cm5lZCBpbiBFRFggZm9yIENQVUlEIGxlYWYNCj4g KyAgI0NQVUlEX1RIRVJNQUxfUE9XRVJfTUFOQUdFTUVOVC4NCj4gKyoqLw0KPiArdHlwZWRlZiB1 bmlvbiB7DQo+ICsgIC8vLw0KPiArICAvLy8gSW5kaXZpZHVhbCBiaXQgZmllbGRzDQo+ICsgIC8v Lw0KPiArICBzdHJ1Y3Qgew0KPiArICAgIC8vLw0KPiArICAgIC8vLyB7Qml0cyA3OjBdIEJpdG1h cCBvZiBzdXBwb3J0ZWQgaGFyZHdhcmUgZmVlZGJhY2sgaW50ZXJmYWNlIGNhcGFiaWxpdGllcy4N Cj4gKyAgICAvLy8NCj4gKyAgICBVSU5UMzIgICAgSW50ZXJmYWNlQ2FwYWJpbGl0eSAgICAgIDog ODsNCj4gKyAgICAvLy8NCj4gKyAgICAvLy8ge0JpdHMgMTE6OF0gRW51bWVyYXRlcyB0aGUgc2l6 ZSBvZiB0aGUgaGFyZHdhcmUgZmVlZGJhY2sgaW50ZXJmYWNlIHN0cnVjdHVyZSBpbiBudW1iZXIg b2YgNCBLQiBwYWdlczsNCj4gKyAgICAvLy8gYWRkIG9uZSB0byB0aGUgcmV0dXJuIHZhbHVlIHRv IGdldCB0aGUgcmVzdWx0Lg0KPiArICAgIC8vLw0KPiArICAgIFVJTlQzMiAgICBJbnRlcmZhY2VT dHJ1Y3R1cmVTaXplICAgOiA0Ow0KPiArICAgIFVJTlQzMiAgICBSZXNlcnZlZCAgICAgICAgICAg ICAgICAgOiA0Ow0KPiArICAgIC8vLw0KPiArICAgIC8vLyB7Qml0cyAzMToxNl0gOiBJbmRleCAo c3RhcnRpbmcgYXQgMCkgb2YgdGhpcyBsb2dpY2FsIHByb2Nlc3NvcidzIHJvdyBpbiB0aGUgaGFy ZHdhcmUgZmVlZGJhY2sgaW50ZXJmYWNlIHN0cnVjdHVyZS4NCj4gKyAgICAvLy8gTm90ZSB0aGF0 IG9uIHNvbWUgcGFydHMgdGhlIGluZGV4IG1heSBiZSBzYW1lIGZvciBtdWx0aXBsZSBsb2dpY2Fs IHByb2Nlc3NvcnMuIE9uIHNvbWUgcGFydHMgdGhlDQo+ICsgICAgLy8vIGluZGljZXMgbWF5IG5v dCBiZSBjb250aWd1b3VzLCBpLmUuLCB0aGVyZSBtYXkgYmUgdW51c2VkIHJvd3MgaW4gdGhlIGhh cmR3YXJlIGZlZWRiYWNrIGludGVyZmFjZSBzdHJ1Y3R1cmUuDQo+ICsgICAgLy8vDQo+ICsgICAg VUlOVDMyICAgIExvZ2ljYWxQcm9jZXNzb3JSb3dJbmRleCA6IDE2Ow0KPiArICB9IEJpdHM7DQo+ ICsgIC8vLw0KPiArICAvLy8gQWxsIGJpdCBmaWVsZHMgYXMgYSAzMi1iaXQgdmFsdWUNCj4gKyAg Ly8vDQo+ICsgIFVJTlQzMiAgICBVaW50MzI7DQo+ICt9IENQVUlEX1RIRVJNQUxfUE9XRVJfTUFO QUdFTUVOVF9FRFg7DQo+ICsNCj4gIC8qKg0KPiAgICBDUFVJRCBTdHJ1Y3R1cmVkIEV4dGVuZGVk IEZlYXR1cmUgRmxhZ3MgRW51bWVyYXRpb24NCj4gDQo+IC0tDQo+IDIuMzQuMS53aW5kb3dzLjEN Cg0K