From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web12.10724.1634654409501404033 for ; Tue, 19 Oct 2021 07:40:09 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=uONks/CR; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: jiewen.yao@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10142"; a="215458427" X-IronPort-AV: E=Sophos;i="5.87,164,1631602800"; d="scan'208";a="215458427" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Oct 2021 07:40:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,164,1631602800"; d="scan'208";a="661834660" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga005.jf.intel.com with ESMTP; 19 Oct 2021 07:40:05 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) 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.2242.12; Tue, 19 Oct 2021 07:40:03 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 19 Oct 2021 07:40:03 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Tue, 19 Oct 2021 07:40:02 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.175) 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.2242.12; Tue, 19 Oct 2021 07:40:02 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U1/kzOeQj2FNs+kNpX0tzaSgWQ3PrYBiGO+9N+jcGefFsJpgBO5cqWo7DiCp97UeRzNVrWbF9boE/D7JXW0SFKqmEweVK6nZvTaJOnkEGiAvefYDyxJexhmHTfWNWC9YYZqlLZQHYtTuCwKo/zwLSmdKPKmOjT0sW1P4QwRv9bl7pUkGSb10sM98ITd6JOM9yQ5N9PlwBrJPmjg74r2QF4nboDOxlwpp6g12uOlA2AxP0JA0v5yIIFAEfB33yJO0PvcKO6ov1OmO+Wp0nFJhDbKh1HBO61d80UVZFJtUcxGHHChy+c47/QAhVnjEZxNDRvb4tnCV0xI2Z31hAkRaYg== 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=XhkHd2a1mciVFt2/yo8JRuTiSkxMTDM/89CSfvj42k4=; b=Nviv/Aw8wvFb9y/Wb1lFwXUcU7Ynwty1OFzt9BakDXUiEvT59TeCdzpyUWBluLaIGAxNos6BJpCH4Kpg56/+cV8SLXDBOkNKn3QBKC0qUq2TogBlR3xzcJiQJRdYa6hy9ZSak7s6CExtYQunt8fy9LC+RKj+mJCr9SWwjg3VHaijxUwBNdlOv51CL/lXJxJ8FTdBWBDtpt8eQWDLVXP0rdEFcJGHYKm8gaEMyONkPL3ezcLvs9s/ZqJVBfCW/DBe2HvZhjaz6g4DWhQRYtZ0I5v15Oeie5gp5ewmt6b3l/vcgfnEoAXuH3eiKW6W7goo8TmvShLqItc6ZUbcyh/1Gg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XhkHd2a1mciVFt2/yo8JRuTiSkxMTDM/89CSfvj42k4=; b=uONks/CRJrsWuYBTSkX9P1V0KDuEMELjzL9zdgktlGOtzGlCoxvFTOSt3AlPxXLErxKEnwDKoSn3NbHu7cryBZop24pJQPl4M4xw6nMF5e5Y4Ivc8XHwzE91OY7E9NmJV7nKmv5pHp9gAS9kQJHo80qrdWVhKTYF+LohrNNnIYY= Received: from PH0PR11MB4885.namprd11.prod.outlook.com (2603:10b6:510:35::14) by PH0PR11MB5128.namprd11.prod.outlook.com (2603:10b6:510:39::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.15; Tue, 19 Oct 2021 14:40:01 +0000 Received: from PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::c5cb:e37a:9f3:8f80]) by PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::c5cb:e37a:9f3:8f80%6]) with mapi id 15.20.4608.018; Tue, 19 Oct 2021 14:40:01 +0000 From: "Yao, Jiewen" To: "devel@edk2.groups.io" , "sami.mujawar@arm.com" , "Xu, Min M" CC: "Kinney, Michael D" , Liming Gao , "Liu, Zhiguang" , "Wang, Jian J" , "Lu, Ken" , nd , Joey Gouly Subject: Re: [edk2-devel] [PATCH V2 1/3] MdePkg: Introduce TdProtocol for TD-Guest firmware Thread-Topic: [edk2-devel] [PATCH V2 1/3] MdePkg: Introduce TdProtocol for TD-Guest firmware Thread-Index: AQHXvARdYNnKkeNJ9UOXpJCcZBvkZKvaYFQAgAAL9/A= Date: Tue, 19 Oct 2021 14:40:00 +0000 Message-ID: References: <92fc7754-8ac4-40b5-14ee-1d2b12555ea7@arm.com> In-Reply-To: <92fc7754-8ac4-40b5-14ee-1d2b12555ea7@arm.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.200.16 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d995354a-92ab-4b05-4692-08d9930e54d0 x-ms-traffictypediagnostic: PH0PR11MB5128: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: TScMQJDgun6y7g6M2XPabRhPFbReCcSWBl9TGwUBZPRnnbWSA96ecmI2czjTThdgRl+1SN4BAuINDjmkuIMgXRUEERg8yJAmO8OFIb2f/WQOMBQSZTIKES3d2I5/2Sy+fTFzTWf+Bz/3l8JlieIyBsm4ZL8+iFG7rA/jwnSKKlDLQaSeJg9ckRAyivk/Sne1weCabNonSnwZ8SDZweOmF7q1HCe+n19xwUWUjOPwzl81aBC9ad8ILXT8WuTarvgyP3LOya3UN8jlWaDkP3DGLZHuPpfP2YJVl3hztNTm/AjW5JwdR4kexyYk0MWpAsfjutbs3UksokN6FqsfTjMho5o+b17T4I3wqHFQWmSL+TDfSPPNzYu6P2f/BHtgaNyEQSpqQ5S6Y1quXIiMlr5fJs4DoiIiCXcsVDRoNMOKDrfV4hyu+FYE/EMkdY7/BWHMsNR7infiJH0Y2WTZVwydEK7ZAjxFhmhIXKp5Qj+5P5YBEUaZgap/Ffin8sOze2FxArE0DGPEz3+6zUickZLx0FnUzo9lCwuLvZHGVXQNzN4Ln95MRDmR/ecHRCM8w9nY8pgLfzJH5b34EmAThjv1ObyjTgKShuPIe9qqQRMXPJhQNK1Mm6QBJ4XXeZ3ffYQRa6CIAMs8K785oxCpEwop1NEO3xBq3RN91Erz8ffJchmWghZ5Dq4v7EHEnLCBChv1mxDKQe7i4EYv+rncYSdYVS9/d/cfPkuRrLcUn54pL7I1h/Aa6GdRxy9/klw6M1nX+zI84/TK2ZoAAAeaDYrQvP3CuEcxDbToE8X0cCZosI6+ArbmHsV3kKMvfeA95TyFjxGvkiWb0bGh2l0YVdOGYQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB4885.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(6029001)(366004)(76116006)(66556008)(66946007)(64756008)(7696005)(4326008)(9686003)(186003)(66446008)(53546011)(508600001)(6506007)(66476007)(83380400001)(38070700005)(2906002)(82960400001)(316002)(30864003)(71200400001)(86362001)(6636002)(8936002)(52536014)(38100700002)(122000001)(110136005)(966005)(26005)(55016002)(33656002)(5660300002)(54906003)(8676002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?K1NxMmJwQVQ5dU1mZmFMYklnOWw0UGRORlQ1NE1RUEhnV0hYam5HV1lDTC9j?= =?utf-8?B?T1RIcEowRkZnZXcxTlMvdXh2THVjUmJ0VlRYa2YrcUIrMTdscW1aQ2UyLzBX?= =?utf-8?B?ZXV1Z2lBcUpXZmNSblE4aU5zQ0dsS0krSklKZTZxWWtIdFhETm1XY0RySndr?= =?utf-8?B?RG1HVjRxcDZtYWRPc2plMkdrbFU3dWpITEJSYXptRGE3UGwwYTBCM2cyWC8w?= =?utf-8?B?VVhsZUJacHk2SGNCWkkyQkpTeTJPdUZaWU8xd0hYNzVKSXBTRTlNdlY5UURi?= =?utf-8?B?NUhXWEgrWjVyb2xHYzYxa2hIYTBiS0NNZ1JtRTU4ZEt5QTd4aXNxZDFVZnFk?= =?utf-8?B?WXdYVG1GM2NhYlhCZVFaVnE4UTM4US9LcmlXK21icndyL2ErNloyOU9hRis5?= =?utf-8?B?Sy9RQWVabWtoK3NkRlV1bnZLV2k0ZXVKa005UTFmcHlYYnphbUU3dHdwNk1k?= =?utf-8?B?LzJWRjI3SUVtYVVUR3UvZm9JelJlSnM1OW1TRGpRMHVMSDI2dC9aZUF6aS9W?= =?utf-8?B?Z2Vycms4VkNoTW00SFpkVXJUMEU0VUsrbWxobURkSmdzaS9DZVNIQ1ZneTJW?= =?utf-8?B?eUJ0SHJiTEVWSGRIbStwc1N6TzNzbFAyMFFvSUdwaXB1ZE4vbWZETXFwWW9G?= =?utf-8?B?MDdmR2lEdmMvQnVuSkZGU2hwK3pLM21RYUo3OTEzN3ZDc1l6b3dWZ1Nyb0lY?= =?utf-8?B?cGUxbXBEVTArSWVkVlJVaWlGcklFNWVVZFJQMHBSK2ZMdDcvL3ZyRUhnUXFK?= =?utf-8?B?SENiNkRJelk2SUZHNnZDOXkrS0JnbmJubEE5cFRLMXJEQ2NIeEYwSkoxZ3R2?= =?utf-8?B?Z2oxRDdzalY2cG1YMnNjR09Ga0dEenJnSU83QVRhM21jY0ZkL3RFajN0NnhY?= =?utf-8?B?azk0YStLejhTd3lQSVRkc3VvYkNLczd2ckwrcVBTZGlYcVZKSHB6akJKVnJF?= =?utf-8?B?UVFTYUxmODJFUm1vd2JIZ2lzWGlYUWZoVkFiYmR1ekhOK2dvaUo5L1FtWERB?= =?utf-8?B?S3NQZkorTW1nN3JKa3h4ZkI5U3ZkZmRtUC9NYlNVRGZSNUlMeE1jOHF2VDda?= =?utf-8?B?ZVkvb1ltN0ZWNzNZdVVxcGZKUld4cWVSVVR1aFkzWjc0MUpaaHY3dDBCS1JG?= =?utf-8?B?eUJtNFBVK0hYN0d5TXp1cVFDUndDSDk3QVg3bXV5V2YyK2IzRUV1aFU5VGUz?= =?utf-8?B?ZVR1YkdXQmhNSE1MTUNNd3kvTkhMV2x3dmZTSkplRjRGcHF3WVR3ZFBGalNi?= =?utf-8?B?U3U3OG5ETTVqUkRXbk9zaVlQbjNoVHlLeENZNUdjbndmVXJkcEE2Rk93TXdq?= =?utf-8?B?d3ZWd1BaTlQ1OUVaRXArWXMrZU5TVW53ZEVhSWhmLzd1b0ppUFVHNDc5bFp0?= =?utf-8?B?NEkzcFJYRmZoMUJDTmhFL3hURW9TTlBrZDJoV3FQU0M1VnV3VGF5azZ1dURW?= =?utf-8?B?MmxEMXJIUVRTRnZ3ajBCQ3pXMjRTS2RTNHdha290WW5admlQZm5HdGl6ZDA3?= =?utf-8?B?QVhGL3lRQXZUWXZLMzMxRWdrbWxxQnpuOVErUk05bWtzdC9lV2g1a1RnM1Vo?= =?utf-8?B?U0JuQmgrNzI3dzNORXZlSWloR21oR0o3V2hIWHVPUzRDTHkvSkR2LzJBQ3Ex?= =?utf-8?B?VHg3ZjVmck9KUVZJei9kSDlYaGpOMXR1QWVTWExkbnhsMHRYSWZkb1VQa3hY?= =?utf-8?B?TVFMQ2diWkFOdTFwbnJmYTcwUlhnNUlnQkQ1OFBLQ1B1UXMzVlhtNHNMdVZh?= =?utf-8?B?dm1kWG9DRkMyQjlsTFZuc3VCZ2dxRHdlM1VEZXExTkEwN2ZEZXVVLzYwQkV4?= =?utf-8?B?ckt1RTRIeDF0MGsyK056a2Z4cFJEcm5FYUdyZVNQbDNnWlAvZTkzU2l2aHVx?= =?utf-8?B?SVRJam9UZHVkdFBscFpJZGRDRkpCMXBpR0JaMUFmd0hwVUIzY05kWUFBeW4x?= =?utf-8?B?MEZMRDlQSWRiS1A2S2sxUWFtZkpmSGpnclp3OTY3b0lvaVUwVTR1dlNkeTdU?= =?utf-8?B?SGdwa1VsamVFVlArVUdoVkNHM05mOEE5dFhJc2tPMHBrY285b1k0d0xJRFkr?= =?utf-8?B?RERENXcwVkpsVnorUjR6aGNPSkZPMkYrb21LWWo3VWF6UnJENTRmemhYZm5F?= =?utf-8?B?YklGUEgvYWtFL3FqaGNIdjc1R2RXRzBpU3dmZ0FLRVVHQjdmYWYyREV1c01Y?= =?utf-8?Q?l4s5FjkO1W+gvhVY/UwZEdY=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB4885.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d995354a-92ab-4b05-4692-08d9930e54d0 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Oct 2021 14:40:00.9883 (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: 9XYGNjzx7kfcF9O3QZBmmcFaW34Z/ZNIBbDchpvyzp7WcocFqmWPQ+GkWsank6QBsOYB+sQsaqEEhXplmyOcvA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5128 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 R29vZCBmZWVkYmFjay4gVGhhbmsgeW91IHZlcnkgbXVjaCwgU2FtaS4NCg0KUmVzcG9uc2UgaW5s aW5lLg0KDQpJIHByb3Bvc2VkIHNvbWUgbmFtaW5nIGNoYW5nZS4gUGxlYXNlIGxldCB1cyBrbm93 IGlmIHRoYXQgaXMgT0suDQoNClRoYW5rIHlvdQ0KWWFvLCBKaWV3ZW4NCg0KDQoNCj4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVs QGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgU2FtaQ0KPiBNdWphd2FyDQo+IFNlbnQ6IFR1 ZXNkYXksIE9jdG9iZXIgMTksIDIwMjEgOToyMSBQTQ0KPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMu aW87IFh1LCBNaW4gTSA8bWluLm0ueHVAaW50ZWwuY29tPg0KPiBDYzogS2lubmV5LCBNaWNoYWVs IEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgTGltaW5nIEdhbw0KPiA8Z2FvbGltaW5n QGJ5b3NvZnQuY29tLmNuPjsgTGl1LCBaaGlndWFuZyA8emhpZ3VhbmcubGl1QGludGVsLmNvbT47 IFlhbywNCj4gSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IFdhbmcsIEppYW4gSiA8amlh bi5qLndhbmdAaW50ZWwuY29tPjsgTHUsIEtlbg0KPiA8a2VuLmx1QGludGVsLmNvbT47IG5kIDxu ZEBhcm0uY29tPjsgSm9leSBHb3VseSA8Sm9leS5Hb3VseUBhcm0uY29tPg0KPiBTdWJqZWN0OiBS ZTogW2VkazItZGV2ZWxdIFtQQVRDSCBWMiAxLzNdIE1kZVBrZzogSW50cm9kdWNlIFRkUHJvdG9j b2wgZm9yIFRELQ0KPiBHdWVzdCBmaXJtd2FyZQ0KPiANCj4gSGkgTWluLCBKaWV3ZW4sDQo+IA0K PiBUaGFuayB5b3UgZm9yIHRoaXMgcGF0Y2guDQo+IA0KPiBJIHRoaW5rIHRoZSBwcm90b2NvbCBk ZWZpbml0aW9uIGNhbiBiZSBtYWRlIGFyY2hpdGVjdHVyYWxseSBuZXV0cmFsIHdpdGgNCj4gYSBm ZXcgbW9kaWZpY2F0aW9ucyBtYXJrZWQgaW5saW5lIGFzIFtTQU1JXS4NCj4gDQo+IEkgYW0gZmlu ZSB3aXRoIHJlbmFtaW5nIHRoZSBwcm90b2NvbCB0byBlaXRoZXINCj4gRUZJX1RFRV9NRUFTVVJF TUVOVF9QUk9UT0NPTCBvciBFRklfQ0NBTV9QUk9UT0NPTC4gU2ltaWxhcmx5LCBzb21lDQo+IG9m DQo+IHRoZSBkYXRhIHN0cnVjdHVyZXMsIHZhcmlhYmxlcywgZXRjLiB3b3VsZCBuZWVkIHJlbmFt aW5nIGFzIHdlbGwuDQo+IA0KPiBQbGVhc2UgbGV0IG1lIGtub3cgaWYgeW91IGhhdmUgYW55IHF1 ZXJpZXMuDQo+IA0KPiBSZWdhcmRzLA0KPiANCj4gU2FtaSBNdWphd2FyDQo+IA0KPiBPbiAwOC8x MC8yMDIxIDA2OjIxIEFNLCBNaW4gWHUgdmlhIGdyb3Vwcy5pbyB3cm90ZToNCj4gPiBCWjogaHR0 cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjI1DQo+ID4NCj4g PiBJZiBURC1HdWVzdCBmaXJtd2FyZSBzdXBwb3J0cyBtZWFzdXJlbWVudCBhbmQgYW4gZXZlbnQg aXMgY3JlYXRlZCwNCj4gPiBURC1HdWVzdCBmaXJtd2FyZSBpcyBkZXNpZ25lZCB0byByZXBvcnQg dGhlIGV2ZW50IGxvZyB3aXRoIHRoZSBzYW1lIGRhdGENCj4gPiBzdHJ1Y3R1cmUgaW4gVENHLVBs YXRmb3JtLUZpcm13YXJlLVByb2ZpbGUgc3BlY2lmaWNhdGlvbiB3aXRoDQo+ID4gRUZJX1RDRzJf RVZFTlRfTE9HX0ZPUk1BVF9UQ0dfMiBmb3JtYXQuDQo+ID4NCj4gPiBUaGUgVEQtR3Vlc3QgZmly bXdhcmUgc3VwcG9ydHMgbWVhc3VyZW1lbnQsIHRoZSBURCBHdWVzdCBGaXJtd2FyZSBpcw0KPiA+ IGRlc2lnbmVkIHRvIHByb2R1Y2UgRUZJX1REX1BST1RPQ09MIHdpdGggbmV3IEdVSUQNCj4gRUZJ X1REX1BST1RPQ09MX0dVSUQNCj4gPiB0byByZXBvcnQgZXZlbnQgbG9nIGFuZCBwcm92aWRlcyBo YXNoIGNhcGFiaWxpdHkuDQo+ID4NCj4gPiBodHRwczovL3NvZnR3YXJlLmludGVsLmNvbS9jb250 ZW50L2RhbS9kZXZlbG9wL2V4dGVybmFsL3VzL2VuL2RvY3VtZW50cy8NCj4gPiBpbnRlbC10ZHgt Z3Vlc3QtaHlwZXJ2aXNvci1jb21tdW5pY2F0aW9uLWludGVyZmFjZS0xLjAtMzQ0NDI2LTAwMi5w ZGYNCj4gPiBTZWN0aW9uIDQuMy4yIGluY2x1ZGVzIHRoZSBFRklfVERfUFJPVE9DT0wuDQo+ID4N Cj4gPiBDYzogTWljaGFlbCBEIEtpbm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ ID4gQ2M6IExpbWluZyBHYW8gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gPiBDYzogWmhp Z3VhbmcgTGl1IDx6aGlndWFuZy5saXVAaW50ZWwuY29tPg0KPiA+IENjOiBKaWV3ZW4gWWFvIDxq aWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gPiBDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5nQGlu dGVsLmNvbT4NCj4gPiBDYzogS2VuIEx1IDxrZW4ubHVAaW50ZWwuY29tPg0KPiA+IFJldmlld2Vk LWJ5OiBKaWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5 OiBNaW4gWHUgPG1pbi5tLnh1QGludGVsLmNvbT4NCj4gPiAtLS0NCj4gPiAgIE1kZVBrZy9JbmNs dWRlL1Byb3RvY29sL1RkUHJvdG9jb2wuaCB8IDMwNQ0KPiArKysrKysrKysrKysrKysrKysrKysr KysrKysNCj4gPiAgIE1kZVBrZy9NZGVQa2cuZGVjICAgICAgICAgICAgICAgICAgICB8ICAgMyAr DQo+ID4gICAyIGZpbGVzIGNoYW5nZWQsIDMwOCBpbnNlcnRpb25zKCspDQo+ID4gICBjcmVhdGUg bW9kZSAxMDA2NDQgTWRlUGtnL0luY2x1ZGUvUHJvdG9jb2wvVGRQcm90b2NvbC5oDQo+ID4NCj4g PiBkaWZmIC0tZ2l0IGEvTWRlUGtnL0luY2x1ZGUvUHJvdG9jb2wvVGRQcm90b2NvbC5oDQo+IGIv TWRlUGtnL0luY2x1ZGUvUHJvdG9jb2wvVGRQcm90b2NvbC5oDQo+ID4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLjg5YjA5OTI4ZDMzYQ0KPiA+IC0tLSAvZGV2 L251bGwNCj4gPiArKysgYi9NZGVQa2cvSW5jbHVkZS9Qcm90b2NvbC9UZFByb3RvY29sLmgNCj4g PiBAQCAtMCwwICsxLDMwNSBAQA0KPiA+ICsvKiogQGZpbGUNCj4gPiArICBJZiBURC1HdWVzdCBm aXJtd2FyZSBzdXBwb3J0cyBtZWFzdXJlbWVudCBhbmQgYW4gZXZlbnQgaXMgY3JlYXRlZCwgVEQt DQo+IEd1ZXN0DQo+ID4gKyAgZmlybXdhcmUgaXMgZGVzaWduZWQgdG8gcmVwb3J0IHRoZSBldmVu dCBsb2cgd2l0aCB0aGUgc2FtZSBkYXRhIHN0cnVjdHVyZQ0KPiA+ICsgIGluIFRDRy1QbGF0Zm9y bS1GaXJtd2FyZS1Qcm9maWxlIHNwZWNpZmljYXRpb24gd2l0aA0KPiA+ICsgIEVGSV9UQ0cyX0VW RU5UX0xPR19GT1JNQVRfVENHXzIgZm9ybWF0Lg0KPiA+ICsNCj4gPiArICBUaGUgVEQtR3Vlc3Qg ZmlybXdhcmUgc3VwcG9ydHMgbWVhc3VyZW1lbnQsIHRoZSBURCBHdWVzdCBGaXJtd2FyZSBpcw0K PiBkZXNpZ25lZA0KPiA+ICsgIHRvIHByb2R1Y2UgRUZJX1REX1BST1RPQ09MIHdpdGggbmV3IEdV SUQgRUZJX1REX1BST1RPQ09MX0dVSUQgdG8NCj4gcmVwb3J0DQo+ID4gKyAgZXZlbnQgbG9nIGFu ZCBwcm92aWRlcyBoYXNoIGNhcGFiaWxpdHkuDQo+ID4gKw0KPiA+ICtDb3B5cmlnaHQgKGMpIDIw MjAgLSAyMDIxLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ ID4gK1NQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4gKw0K PiA+ICsqKi8NCj4gPiArDQo+ID4gKw0KPiA+ICsjaWZuZGVmIFREX1BST1RPQ09MX0hfDQo+ID4g KyNkZWZpbmUgVERfUFJPVE9DT0xfSF8NCj4gPiArDQo+ID4gKyNpbmNsdWRlIDxVZWZpL1VlZmlC YXNlVHlwZS5oPg0KPiA+ICsjaW5jbHVkZSA8SW5kdXN0cnlTdGFuZGFyZC9VZWZpVGNnUGxhdGZv cm0uaD4NCj4gPiArI2luY2x1ZGUgPEluZHVzdHJ5U3RhbmRhcmQvVHBtMjAuaD4NCj4gW1NBTUld IE1heWJlIHRoZSBUcG0yMC5oIGluY2x1ZGUgaXMgbm90IHJlcXVpcmVkIGhlcmUuIENhbiB5b3Ug Y2hlY2ssDQo+IHBsZWFzZT8NCg0KW0ppZXdlbl0gUmlnaHQuIEkgZG9u4oCZdCB0aGluayB3ZSBk byBuZWVkIGl0IGluIHRoaXMgZGVmaW5pdGlvbi4NCkkgZmVlbCB3ZSBqdXN0IGNvcHkgaXQgZnJv bSBUY2cyUHJvdG9jb2wuaC4NCg0KPiA+ICsNCj4gPiArDQo+ID4gKyNkZWZpbmUgRUZJX1REX1BS T1RPQ09MX0dVSUQgIFwNCj4gPiArICB7IDB4OTY3NTFhM2QsIDB4NzJmNCwgMHg0MWE2LCB7IDB4 YTcsIDB4OTQsIDB4ZWQsIDB4NWQsIDB4MGUsIDB4NjcsIDB4YWUsDQo+IDB4NmIgfX0NCj4gPiAr ZXh0ZXJuIEVGSV9HVUlEIGdFZmlUZFByb3RvY29sR3VpZDsNCj4gPiArDQo+ID4gK3R5cGVkZWYg c3RydWN0IF9FRklfVERfUFJPVE9DT0wgRUZJX1REX1BST1RPQ09MOw0KPiBbU0FNSV0gSSB0aGlu ayB0aGlzIGNvdWxkIGJlIHJlbmFtZWQgdG8gZWl0aGVyDQo+IEVGSV9URUVfTUVBU1VSRU1FTlRf UFJPVE9DT0wgb3IgRUZJX0NDQU1fUFJPVE9DT0wuIFNpbWlsYXJseSwgdGhlDQo+IHVzYWdlDQo+ IG9mIF9URF8gd291bGQgbmVlZCB0byBiZSByZXBsYWNlZCBhY2NvcmRpbmdseS4NCg0KW0ppZXdl bl0gQWdyZWUuDQpJIHByb3Bvc2UgIkVGSV9URF9QUk9UT0NPTCItPiJFRklfVEVFX01FQVNVUkVN RU5UX1BST1RPQ09MIg0KQWxzbyAiVEQiLT4iVEVFIg0KDQo+ID4gKw0KPiA+ICt0eXBlZGVmIHN0 cnVjdCB7DQo+ID4gKyAgVUlOVDggTWFqb3I7DQo+ID4gKyAgVUlOVDggTWlub3I7DQo+ID4gK30g RUZJX1REX1ZFUlNJT047DQo+ID4gKw0KPiA+ICt0eXBlZGVmIFVJTlQzMiAgICAgICAgICAgICAg ICAgICAgICBFRklfVERfRVZFTlRfTE9HX0JJVE1BUDsNCj4gPiArdHlwZWRlZiBVSU5UMzIgICAg ICAgICAgICAgICAgICAgICAgRUZJX1REX0VWRU5UX0xPR19GT1JNQVQ7DQo+ID4gK3R5cGVkZWYg VUlOVDMyICAgICAgICAgICAgICAgICAgICAgIEVGSV9URF9FVkVOVF9BTEdPUklUSE1fQklUTUFQ Ow0KPiA+ICt0eXBlZGVmIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICBFRklfVERfTVJfSU5E RVg7DQo+ID4gKw0KPiA+ICsjZGVmaW5lIEVGSV9URF9FVkVOVF9MT0dfRk9STUFUX1RDR18yICAg MHgwMDAwMDAwMg0KPiA+ICsjZGVmaW5lIEVGSV9URF9CT09UX0hBU0hfQUxHX1NIQTM4NCAgICAg MHgwMDAwMDAwNA0KPiBbU0FNSV0gSXQgaXMgZ29vZCB0aGF0IHRoZSB2YWx1ZXMgZm9yIHRoZXNl IG1hY3JvcyBtYXRjaCB0aGF0IG9mIFRDRzIuIEkNCj4gYmVsaWV2ZSBpdCBzaG91bGQgYmUgcG9z c2libGUgdG8gZXh0ZW5kIHRoZXNlIHRvIGFkZCBtYWNyb3MgZm9yIG90aGVyDQo+IGFsZ29yaXRo bXMgaW4gdGhlIGZ1dHVyZS4NCg0KW0ppZXdlbl0gQWdyZWUuIElmIHdlIGNoYW5nZSAiVEQiLT4i VEVFIiwgd2UgY2FuIGFkZCBvdGhlciBhbGdvIGJhc2VkIHVwb24gcmVhbCB1c2UgY2FzZS4NCkUu Zy4gRUZJX1RFRV9FVkVOVF9MT0dfLi4uLCBFRklfVEVFX01SX0lOREVYLCBFRklfVEVFX0JPT1Rf SEFTSF8uLi4NCg0KPiA+ICsNCj4gPiArLy8NCj4gPiArLy8gVGhpcyBiaXQgaXMgc2hhbGwgYmUg c2V0IHdoZW4gYW4gZXZlbnQgc2hhbGwgYmUgZXh0ZW5kZWQgYnV0IG5vdCBsb2dnZWQuDQo+ID4g Ky8vDQo+ID4gKyNkZWZpbmUgRUZJX1REX0ZMQUdfRVhURU5EX09OTFkgICAgICAgMHgwMDAwMDAw MDAwMDAwMDAxDQo+ID4gKy8vDQo+ID4gKy8vIFRoaXMgYml0IHNoYWxsIGJlIHNldCB3aGVuIHRo ZSBpbnRlbnQgaXMgdG8gbWVhc3VyZSBhIFBFL0NPRkYgaW1hZ2UuDQo+ID4gKy8vDQo+ID4gKyNk ZWZpbmUgRUZJX1REX0ZMQUdfUEVfQ09GRl9JTUFHRSAgICAgMHgwMDAwMDAwMDAwMDAwMDEwDQo+ ID4gKw0KPiA+ICsjZGVmaW5lIE1SX0lOREVYX01SVEQgIDANCj4gPiArI2RlZmluZSBNUl9JTkRF WF9SVE1SMCAxDQo+ID4gKyNkZWZpbmUgTVJfSU5ERVhfUlRNUjEgMg0KPiA+ICsjZGVmaW5lIE1S X0lOREVYX1JUTVIyIDMNCj4gPiArI2RlZmluZSBNUl9JTkRFWF9SVE1SMyA0DQo+ID4gKw0KPiBb U0FNSV0gSSB0aGluayB0aGVzZSBpbmRleGVzIGNvdWxkIGdvIHRvIGEgVEQgc3BlY2lmaWMgaW5j bHVkZSBmaWxlIE9yDQo+IHRoZSBpbmRleGVzIGNvdWxkIGJlIGRlZmluZWQgZ2VuZXJpY2FsbHku IE1heSBiZSBpdCB3b3VsZCBiZSBnb29kIHRvDQo+IGludHJvZHVjZSBhIFBjZE1heE1ySW5kZXgg dGhhdCBpcyBjb25maWd1cmFibGUgZm9yIGRpZmZlcmVudA0KPiBhcmNoaXRlY3R1cmVzLiBUaGlz IG1heSBiZSB1c2VmdWwgc2hvdWxkIGFueSBhc3NlcnRzL2NoZWNrcyBhcmUgbmVlZGVkDQo+IGlu IHRoZSBjb2RlLg0KDQpbSmlld2VuXSBSaWdodC4gVGhpcyBpcyBURCBzcGVjaWZpYyBpbmRleC4N CldlIG5lZWQgcmVuYW1lIGl0IHRvIFREWF9NUl9JTkRFWF8qLg0KDQpJIHRoaW5rIHdlIG5lZWQg YWRkIG5ldyBmaWVsZHMgaW4gRUZJX1REX0JPT1RfU0VSVklDRV9DQVBBQklMSVRZLg0KDQp0eXBl ZGVmIFVJTlQ4ICBFRklfVEVFX1RZUEU7IC8vIG1hdGNoIGh0dHBzOi8vZ2l0aHViLmNvbS90aWFu b2NvcmUvZWRrMi9ibG9iL21hc3Rlci9Pdm1mUGtnL0luY2x1ZGUvV29ya0FyZWEuaCwgTk9ORSA9 IDAsIEFNRF9TRVYgPSAxLCBJTlRFTF9URFggPSAyLCB3ZSBjYW4gYWRkIG1vcmUgaGVyZS4NCnR5 cGVkZWYgVUlOVDggIEVGSV9URUVfU1VCVFlQRTsgLy8gVEVFLXR5cGUgc3BlY2lmaWMgc3VidHlw ZS4NCg0KQXMgc3VjaCwgdGhlIGNhbGxlciBjYW4ga25vdyB3aGF0IGV2ZW50IGxvZyAvIGluZGV4 IGl0IGlzIHVzaW5nLg0KDQpFLmcuIElmIFRlZVR5cGUgaXMgVERYLCB0aGVuIHRoZSBJTkRFWCBt YXRjaGVzIHRoZSBURFggUlRNUi4NCklmIFRlZVR5cGUgaXMgUmVhbG0sIHRoZW4gdGhlIElOREVY IG1hdGNoZXMgc29tZXRoaW5nIGVsc2UuDQoNCkkgYW0gbm90IHN1cmUgdGhlIHVzYWdlIG9mIFBj ZE1heE1ySW5kZXguIFdlIFNIQUxMIE5PVCBkZWZpbmUgUENEIGluIGEgcHJvdG9jb2wgaW4gZ2Vu ZXJhbC4NCldvdWxkIHlvdSBwbGVhc2Ugc2hhcmUgeW91ciBpZGVhIG9uIGhvdyB0byB1c2UgUGNk TWF4TXJJbmRleD8gVGhlbiB3ZSBjYW4gaGF2ZSBiZXR0ZXIgc29sdXRpb24uDQoNCg0KPiA+ICsv Lw0KPiA+ICsvLyBUaGlzIGJpdCBzaGFsbCBiZSBzZXQgd2hlbiB0aGUgaW50ZW50IGlzIHRvIG1l YXN1cmUgYSBQRS9DT0ZGIGltYWdlLg0KPiA+ICsvLw0KPiA+ICsjZGVmaW5lIFBFX0NPRkZfSU1B R0UgICAgIDB4MDAwMDAwMDAwMDAwMDAxMA0KPiA+ICsNCj4gW1NBTUldIEkgdGhpbmsgdGhpcyBt YWNybyBpcyBub3QgbmVlZGVkLg0KDQpbSmlld2VuXSBUaGlzIGlzIHRvIGFsaWduIHdpdGggVENH MiBwcm90b2NvbC4gSSB0aGluayB3ZSBuZWVkIHRvIG1lYXN1cmVtZW50IFVFRkkgaW1hZ2UuDQpJ cyB0aGVyZSBhbnkgY29uY2VybiB0byBrZWVwIGl0Pw0KDQoNCj4gPiArI3ByYWdtYSBwYWNrICgx KQ0KPiA+ICsNCj4gPiArI2RlZmluZSBFRklfVERfRVZFTlRfSEVBREVSX1ZFUlNJT04gICAxDQo+ ID4gKw0KPiA+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ID4gKyAgLy8NCj4gPiArICAvLyBTaXplIG9m IHRoZSBldmVudCBoZWFkZXIgaXRzZWxmIChzaXplb2YoRUZJX1REX0VWRU5UX0hFQURFUikpLg0K PiA+ICsgIC8vDQo+ID4gKyAgVUlOVDMyICAgICAgICAgICAgSGVhZGVyU2l6ZTsNCj4gPiArICAv Lw0KPiA+ICsgIC8vIEhlYWRlciB2ZXJzaW9uLiBGb3IgdGhpcyB2ZXJzaW9uIG9mIHRoaXMgc3Bl Y2lmaWNhdGlvbiwgdGhlIHZhbHVlIHNoYWxsIGJlIDEuDQo+ID4gKyAgLy8NCj4gPiArICBVSU5U MTYgICAgICAgICAgICBIZWFkZXJWZXJzaW9uOw0KPiA+ICsgIC8vDQo+ID4gKyAgLy8gSW5kZXgg b2YgdGhlIE1SIHRoYXQgc2hhbGwgYmUgZXh0ZW5kZWQuDQo+ID4gKyAgLy8NCj4gPiArICBFRklf VERfTVJfSU5ERVggICBNckluZGV4Ow0KPiA+ICsgIC8vDQo+ID4gKyAgLy8gVHlwZSBvZiB0aGUg ZXZlbnQgdGhhdCBzaGFsbCBiZSBleHRlbmRlZCAoYW5kIG9wdGlvbmFsbHkgbG9nZ2VkKS4NCj4g PiArICAvLw0KPiA+ICsgIFVJTlQzMiAgICAgICAgICAgIEV2ZW50VHlwZTsNCj4gPiArfSBFRklf VERfRVZFTlRfSEVBREVSOw0KPiA+ICsNCj4gPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiA+ICsgIC8v DQo+ID4gKyAgLy8gVG90YWwgc2l6ZSBvZiB0aGUgZXZlbnQgaW5jbHVkaW5nIHRoZSBTaXplIGNv bXBvbmVudCwgdGhlIGhlYWRlciBhbmQgdGhlDQo+IEV2ZW50IGRhdGEuDQo+ID4gKyAgLy8NCj4g PiArICBVSU5UMzIgICAgICAgICAgICAgICAgU2l6ZTsNCj4gPiArICBFRklfVERfRVZFTlRfSEVB REVSICAgSGVhZGVyOw0KPiA+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICBFdmVudFsxXTsNCj4g PiArfSBFRklfVERfRVZFTlQ7DQo+ID4gKw0KPiA+ICsjcHJhZ21hIHBhY2soKQ0KPiA+ICsNCj4g PiArDQo+ID4gK3R5cGVkZWYgc3RydWN0IHsNCj4gPiArICAvLw0KPiA+ICsgIC8vIEFsbG9jYXRl ZCBzaXplIG9mIHRoZSBzdHJ1Y3R1cmUNCj4gPiArICAvLw0KPiA+ICsgIFVJTlQ4ICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFNpemU7DQo+ID4gKyAgLy8NCj4gPiArICAvLyBWZXJzaW9uIG9m IHRoZSBFRklfVERfQk9PVF9TRVJWSUNFX0NBUEFCSUxJVFkgc3RydWN0dXJlIGl0c2VsZi4NCj4g PiArICAvLyBGb3IgdGhpcyB2ZXJzaW9uIG9mIHRoZSBwcm90b2NvbCwgdGhlIE1ham9yIHZlcnNp b24gc2hhbGwgYmUgc2V0IHRvIDENCj4gPiArICAvLyBhbmQgdGhlIE1pbm9yIHZlcnNpb24gc2hh bGwgYmUgc2V0IHRvIDEuDQo+ID4gKyAgLy8NCj4gPiArICBFRklfVERfVkVSU0lPTiAgICAgICAg ICAgICAgICAgICBTdHJ1Y3R1cmVWZXJzaW9uOw0KPiA+ICsgIC8vDQo+ID4gKyAgLy8gVmVyc2lv biBvZiB0aGUgRUZJIFREIHByb3RvY29sLg0KPiA+ICsgIC8vIEZvciB0aGlzIHZlcnNpb24gb2Yg dGhlIHByb3RvY29sLCB0aGUgTWFqb3IgdmVyc2lvbiBzaGFsbCBiZSBzZXQgdG8gMQ0KPiA+ICsg IC8vIGFuZCB0aGUgTWlub3IgdmVyc2lvbiBzaGFsbCBiZSBzZXQgdG8gMS4NCj4gPiArICAvLw0K PiA+ICsgIEVGSV9URF9WRVJTSU9OICAgICAgICAgICAgICAgICAgIFByb3RvY29sVmVyc2lvbjsN Cj4gW1NBTUldIFNob3VsZCB0aGUgcHJvdG9jb2wgdmVyc2lvbiBiZSAxLjAgKE1ham9yLk1pbm9y KSwgYXMgdGhpcyBpcyB0aGUNCj4gZmlyc3QgaW50cm9kdWN0aW9uLiBTYW1lIGZvciB0aGUgU3Ry dWN0dXJlVmVyc2lvbiBmaWVsZCBhYm92ZS4NCg0KW0ppZXdlbl0gQ29weS9QYXN0IGZyb20gVENH Mi4NClN1cmUuIFdlIGNhbiBzdGFydCBmcm9tIDEuMCAobm90IDEuMSkuDQoNCj4gPiArICAvLw0K PiA+ICsgIC8vIFN1cHBvcnRlZCBoYXNoIGFsZ29yaXRobXMNCj4gPiArICAvLw0KPiA+ICsgIEVG SV9URF9FVkVOVF9BTEdPUklUSE1fQklUTUFQICAgIEhhc2hBbGdvcml0aG1CaXRtYXA7DQo+ID4g KyAgLy8NCj4gPiArICAvLyBCaXRtYXAgb2Ygc3VwcG9ydGVkIGV2ZW50IGxvZyBmb3JtYXRzDQo+ ID4gKyAgLy8NCj4gPiArICBFRklfVERfRVZFTlRfTE9HX0JJVE1BUCAgICAgICAgICBTdXBwb3J0 ZWRFdmVudExvZ3M7DQo+ID4gKw0KPiA+ICsgIC8vDQo+ID4gKyAgLy8gRmFsc2UgPSBURCBub3Qg cHJlc2VudA0KPiA+ICsgIC8vDQo+ID4gKyAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAg ICAgVGRQcmVzZW50RmxhZzsNCj4gW1NBTUldIEkgYmVsaWV2ZSB0aGlzIHdvdWxkIG5lZWQgdG8g YmUgcmVuYW1lZCB0byBzb21ldGhpbmcgbGlrZQ0KPiBUZWVQcmVzZW50RmxhZyBvciBDY2FQcmVz ZW50RmxhZyBvciBhIHN1aXRhYmxlIGFsdGVybmF0aXZlLg0KDQpbSmlld2VuXSBBZ3JlZS4gSSBw cm9wb3NlIHRvIHJlbW92ZSBUZFByZXNlbnRGbGFnLg0KQWRkICJFRklfVEVFX1RZUEUgIFRlZVR5 cGU7IiAvLyAwIC0gTm9uZSwgMSAtIFNFViwgMiAtIFREWCwgLi4uDQoNCg0KPiA+ICt9IEVGSV9U RF9CT09UX1NFUlZJQ0VfQ0FQQUJJTElUWTsNCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgIFRoZSBF RklfVERfUFJPVE9DT0wgR2V0Q2FwYWJpbGl0eSBmdW5jdGlvbiBjYWxsIHByb3ZpZGVzIHByb3Rv Y29sDQo+ID4gKyAgY2FwYWJpbGl0eSBpbmZvcm1hdGlvbiBhbmQgc3RhdGUgaW5mb3JtYXRpb24u DQo+ID4gKw0KPiA+ICsgIEBwYXJhbVtpbl0gICAgICBUaGlzICAgICAgICAgICAgICAgSW5kaWNh dGVzIHRoZSBjYWxsaW5nIGNvbnRleHQNCj4gPiArICBAcGFyYW1baW4sIG91dF0gUHJvdG9jb2xD YXBhYmlsaXR5IFRoZSBjYWxsZXIgYWxsb2NhdGVzIG1lbW9yeSBmb3IgYQ0KPiBFRklfVERfQk9P VF9TRVJWSUNFX0NBUEFCSUxJVFkNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdHVyZSBhbmQgc2V0cyB0aGUgc2l6ZSBmaWVsZCB0byB0aGUgc2l6ZSBvZiB0 aGUNCj4gc3RydWN0dXJlIGFsbG9jYXRlZC4NCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFRoZSBjYWxsZWUgZmlsbHMgaW4gdGhlIGZpZWxkcyB3aXRoIHRoZSBFRkkg cHJvdG9jb2wNCj4gY2FwYWJpbGl0eSBpbmZvcm1hdGlvbg0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYW5kIHRoZSBjdXJyZW50IEVGSSBURCBzdGF0ZSBpbmZvcm1h dGlvbiB1cCB0byB0aGUNCj4gbnVtYmVyIG9mIGZpZWxkcyB3aGljaA0KPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZml0IHdpdGhpbiB0aGUgc2l6ZSBvZiB0aGUgc3Ry dWN0dXJlIHBhc3NlZCBpbi4NCj4gPiArDQo+ID4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAg ICAgICAgIE9wZXJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Lg0KPiA+ICsgIEByZXR2YWwg RUZJX0RFVklDRV9FUlJPUiAgICAgICBUaGUgY29tbWFuZCB3YXMgdW5zdWNjZXNzZnVsLg0KPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgUHJvdG9jb2xDYXBhYmlsaXR5 IHZhcmlhYmxlIHdpbGwgbm90IGJlIHBvcHVsYXRlZC4NCj4gPiArICBAcmV0dmFsIEVGSV9JTlZB TElEX1BBUkFNRVRFUiAgT25lIG9yIG1vcmUgb2YgdGhlIHBhcmFtZXRlcnMgYXJlDQo+IGluY29y cmVjdC4NCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIFByb3RvY29s Q2FwYWJpbGl0eSB2YXJpYWJsZSB3aWxsIG5vdCBiZSBwb3B1bGF0ZWQuDQo+ID4gKyAgQHJldHZh bCBFRklfQlVGRkVSX1RPT19TTUFMTCAgIFRoZSBQcm90b2NvbENhcGFiaWxpdHkgdmFyaWFibGUg aXMgdG9vDQo+IHNtYWxsIHRvIGhvbGQgdGhlIGZ1bGwgcmVzcG9uc2UuDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEl0IHdpbGwgYmUgcGFydGlhbGx5IHBvcHVsYXRlZCAo cmVxdWlyZWQgU2l6ZSBmaWVsZCB3aWxsIGJlIHNldCkuDQo+ID4gKyoqLw0KPiA+ICt0eXBlZGVm DQo+ID4gK0VGSV9TVEFUVVMNCj4gPiArKEVGSUFQSSAqRUZJX1REX0dFVF9DQVBBQklMSVRZKSAo DQo+ID4gKyAgSU4gICAgIEVGSV9URF9QUk9UT0NPTCAgICAgICAgICAgICAgICAqVGhpcywNCj4g PiArICBJTiBPVVQgRUZJX1REX0JPT1RfU0VSVklDRV9DQVBBQklMSVRZICpQcm90b2NvbENhcGFi aWxpdHkNCj4gPiArICApOw0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyAgVGhlIEVGSV9URF9QUk9U T0NPTCBHZXQgRXZlbnQgTG9nIGZ1bmN0aW9uIGNhbGwgYWxsb3dzIGEgY2FsbGVyIHRvDQo+ID4g KyAgcmV0cmlldmUgdGhlIGFkZHJlc3Mgb2YgYSBnaXZlbiBldmVudCBsb2cgYW5kIGl0cyBsYXN0 IGVudHJ5Lg0KPiA+ICsNCj4gPiArICBAcGFyYW1baW5dICBUaGlzICAgICAgICAgICAgICAgSW5k aWNhdGVzIHRoZSBjYWxsaW5nIGNvbnRleHQNCj4gPiArICBAcGFyYW1baW5dICBFdmVudExvZ0Zv cm1hdCAgICAgVGhlIHR5cGUgb2YgdGhlIGV2ZW50IGxvZyBmb3Igd2hpY2ggdGhlDQo+IGluZm9y bWF0aW9uIGlzIHJlcXVlc3RlZC4NCj4gPiArICBAcGFyYW1bb3V0XSBFdmVudExvZ0xvY2F0aW9u ICAgQSBwb2ludGVyIHRvIHRoZSBtZW1vcnkgYWRkcmVzcyBvZiB0aGUNCj4gZXZlbnQgbG9nLg0K PiA+ICsgIEBwYXJhbVtvdXRdIEV2ZW50TG9nTGFzdEVudHJ5ICBJZiB0aGUgRXZlbnQgTG9nIGNv bnRhaW5zIG1vcmUgdGhhbiBvbmUNCj4gZW50cnksIHRoaXMgaXMgYSBwb2ludGVyIHRvIHRoZQ0K PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzIG9mIHRoZSBzdGFy dCBvZiB0aGUgbGFzdCBlbnRyeSBpbiB0aGUgZXZlbnQgbG9nIGluDQo+IG1lbW9yeS4NCj4gPiAr ICBAcGFyYW1bb3V0XSBFdmVudExvZ1RydW5jYXRlZCAgSWYgdGhlIEV2ZW50IExvZyBpcyBtaXNz aW5nIGF0IGxlYXN0IG9uZQ0KPiBlbnRyeSBiZWNhdXNlIGFuIGV2ZW50IHdvdWxkDQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhdmUgZXhjZWVkZWQgdGhlIGFyZWEgYWxs b2NhdGVkIGZvciBldmVudHMsIHRoaXMgdmFsdWUgaXMNCj4gc2V0IHRvIFRSVUUuDQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE90aGVyd2lzZSwgdGhlIHZhbHVlIHdpbGwg YmUgRkFMU0UgYW5kIHRoZSBFdmVudCBMb2cgd2lsbA0KPiBiZSBjb21wbGV0ZS4NCj4gPiArDQo+ ID4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgIE9wZXJhdGlvbiBjb21wbGV0ZWQg c3VjY2Vzc2Z1bGx5Lg0KPiA+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICBPbmUg b3IgbW9yZSBvZiB0aGUgcGFyYW1ldGVycyBhcmUNCj4gaW5jb3JyZWN0DQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChlLmcuIGFza2luZyBmb3IgYW4gZXZlbnQgbG9nIHdo b3NlIGZvcm1hdCBpcyBub3QNCj4gc3VwcG9ydGVkKS4NCj4gPiArKiovDQo+ID4gK3R5cGVkZWYN Cj4gPiArRUZJX1NUQVRVUw0KPiA+ICsoRUZJQVBJICpFRklfVERfR0VUX0VWRU5UX0xPRykgKA0K PiA+ICsgIElOICBFRklfVERfUFJPVE9DT0wgICAgICAgICAgKlRoaXMsDQo+ID4gKyAgSU4gIEVG SV9URF9FVkVOVF9MT0dfRk9STUFUICBFdmVudExvZ0Zvcm1hdCwNCj4gPiArICBPVVQgRUZJX1BI WVNJQ0FMX0FERFJFU1MgICAgICpFdmVudExvZ0xvY2F0aW9uLA0KPiA+ICsgIE9VVCBFRklfUEhZ U0lDQUxfQUREUkVTUyAgICAgKkV2ZW50TG9nTGFzdEVudHJ5LA0KPiA+ICsgIE9VVCBCT09MRUFO ICAgICAgICAgICAgICAgICAgKkV2ZW50TG9nVHJ1bmNhdGVkDQo+ID4gKyAgKTsNCj4gPiArDQo+ ID4gKy8qKg0KPiA+ICsgIFRoZSBFRklfVERfUFJPVE9DT0wgSGFzaExvZ0V4dGVuZEV2ZW50IGZ1 bmN0aW9uIGNhbGwgcHJvdmlkZXMgY2FsbGVycw0KPiB3aXRoDQo+ID4gKyAgYW4gb3Bwb3J0dW5p dHkgdG8gZXh0ZW5kIGFuZCBvcHRpb25hbGx5IGxvZyBldmVudHMgd2l0aG91dCByZXF1aXJpbmcN Cj4gPiArICBrbm93bGVkZ2Ugb2YgYWN0dWFsIFREIGNvbW1hbmRzLg0KPiA+ICsgIFRoZSBleHRl bmQgb3BlcmF0aW9uIHdpbGwgb2NjdXIgZXZlbiBpZiB0aGlzIGZ1bmN0aW9uIGNhbm5vdCBjcmVh dGUgYW4gZXZlbnQNCj4gPiArICBsb2cgZW50cnkgKGUuZy4gZHVlIHRvIHRoZSBldmVudCBsb2cg YmVpbmcgZnVsbCkuDQo+ID4gKw0KPiA+ICsgIEBwYXJhbVtpbl0gIFRoaXMgICAgICAgICAgICAg ICBJbmRpY2F0ZXMgdGhlIGNhbGxpbmcgY29udGV4dA0KPiA+ICsgIEBwYXJhbVtpbl0gIEZsYWdz ICAgICAgICAgICAgICBCaXRtYXAgcHJvdmlkaW5nIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uDQo+ ID4gKyAgQHBhcmFtW2luXSAgRGF0YVRvSGFzaCAgICAgICAgIFBoeXNpY2FsIGFkZHJlc3Mgb2Yg dGhlIHN0YXJ0IG9mIHRoZSBkYXRhDQo+IGJ1ZmZlciB0byBiZSBoYXNoZWQuDQo+ID4gKyAgQHBh cmFtW2luXSAgRGF0YVRvSGFzaExlbiAgICAgIFRoZSBsZW5ndGggaW4gYnl0ZXMgb2YgdGhlIGJ1 ZmZlciByZWZlcmVuY2VkDQo+IGJ5IERhdGFUb0hhc2guDQo+ID4gKyAgQHBhcmFtW2luXSAgRWZp VGRFdmVudCAgICAgICAgIFBvaW50ZXIgdG8gZGF0YSBidWZmZXIgY29udGFpbmluZyBpbmZvcm1h dGlvbg0KPiBhYm91dCB0aGUgZXZlbnQuDQo+ID4gKw0KPiA+ICsgIEByZXR2YWwgRUZJX1NVQ0NF U1MgICAgICAgICAgICBPcGVyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4NCj4gPiArICBA cmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgICAgICAgVGhlIGNvbW1hbmQgd2FzIHVuc3VjY2Vzc2Z1 bC4NCj4gPiArICBAcmV0dmFsIEVGSV9WT0xVTUVfRlVMTCAgICAgICAgVGhlIGV4dGVuZCBvcGVy YXRpb24gb2NjdXJyZWQsIGJ1dCB0aGUNCj4gZXZlbnQgY291bGQgbm90IGJlIHdyaXR0ZW4gdG8g b25lIG9yIG1vcmUgZXZlbnQgbG9ncy4NCj4gPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFN RVRFUiAgT25lIG9yIG1vcmUgb2YgdGhlIHBhcmFtZXRlcnMgYXJlDQo+IGluY29ycmVjdC4NCj4g PiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAgICAgVGhlIFBFL0NPRkYgaW1hZ2UgdHlw ZSBpcyBub3Qgc3VwcG9ydGVkLg0KPiA+ICsqKi8NCj4gPiArdHlwZWRlZg0KPiA+ICtFRklfU1RB VFVTDQo+ID4gKyhFRklBUEkgKiBFRklfVERfSEFTSF9MT0dfRVhURU5EX0VWRU5UKSAoDQo+ID4g KyAgSU4gRUZJX1REX1BST1RPQ09MICAgICAgKlRoaXMsDQo+ID4gKyAgSU4gVUlOVDY0ICAgICAg ICAgICAgICAgRmxhZ3MsDQo+ID4gKyAgSU4gRUZJX1BIWVNJQ0FMX0FERFJFU1MgRGF0YVRvSGFz aCwNCj4gPiArICBJTiBVSU5UNjQgICAgICAgICAgICAgICBEYXRhVG9IYXNoTGVuLA0KPiA+ICsg IElOIEVGSV9URF9FVkVOVCAgICAgICAgICpFZmlUZEV2ZW50DQo+ID4gKyAgKTsNCj4gPiArDQo+ ID4gKy8qKg0KPiA+ICsgIFRoZSBFRklfVERfUFJPVE9DT0wgTWFwUGNyVG9NckluZGV4IGZ1bmN0 aW9uIGNhbGwgcHJvdmlkZXMgY2FsbGVycw0KPiA+ICsgIHRoZSBpbmZvIG9uIFRQTSBQQ1I8LT4g bWVhc3VyZW1lbnQgcmVnaXN0ZXIgbWFwcGluZyBpbmZvcm1hdGlvbi4NCj4gPiArDQo+ID4gKyAg SW4gY3VycmVudCB2ZXJzaW9uLCB3ZSB1c2UgYmVsb3cgbWFwcGluZzoNCj4gPiArICAgIFBDUjAg ICAgLT4gTVJURCAgKEluZGV4IDApDQo+ID4gKyAgICBQQ1IxICAgIC0+IFJUTVIwIChJbmRleCAx KQ0KPiA+ICsgICAgUENSMn42ICAtPiBSVE1SMSAoSW5kZXggMikNCj4gPiArICAgIFBDUjcgICAg LT4gUlRNUjAgKEluZGV4IDEpDQo+ID4gKyAgICBQQ1I4fjE1IC0+IFJUTVIyIChJbmRleCAzKQ0K PiA+ICsNCj4gW1NBTUldIEkgdGhpbmsgZGlmZmVyZW50IGFyY2hpdGVjdXJlcyBtYXkgbWFwIHRo ZSBQQ1JzIGRpZmZlcmVudGx5LiBJDQo+IHRoaW5rIHRoZSBjb21tZW50IGNvdWxkIGJlIHJld29y ZGVkIHRvIGEgbW9yZSBnZW5lcmljIHJlcHJlc2VudGF0aW9uIG9mDQo+IHRoZSBtYXBwaW5nLg0K PiBBbHNvLCBJIG5lZWQgdG8gY2hlY2sgdGhlIG1haWxpbmcgbGlzdCBpZiB0aGVyZSBpcyBhIHBh dGNoIHRoYXQgYWRkcyB0aGUNCj4gVEQgcHJvdG9jb2wgaW1wbGVtZW50YWl0b24sIGFuZCBpZiBp dCBjb3VsZCBiZSBtYWRlIGdlbmVyaWMgYXMgd2VsbC4NCj4gTWF5YmUgdGhlIHByb3RvY29sIGlt cGxlbWVudGF0aW9uIHdvdWxkIG5lZWQgdG8gdXNlIGFuIGFyY2hpdGVjdHVyZQ0KPiBzcGVjaWZp YyBsaWJyYXJ5IHRoYXQgcHJvdmlkZXMgdGhlIG1hcHBpbmcgZnVuY3Rpb24uDQo+IFsvU0FNSV0N Cg0KW0ppZXdlbl0gQWdyZWUuIFdlIHNob3VsZCBjbGVhciB1cCB0aGUgY29tbWVudC4NClRoZSBj YWxsZXIgc2hhbGwgYmUgZ2VuZXJpYyBlbm91Z2ggdG8gdXNlIHRoaXMgQVBJIHRvIGdldCB0aGUg bWFwcGluZy4NClRoZSBjYWxsZXIgc2hhbGwgTk9UIG1ha2UgYW55IGFzc3VtcHRpb24uDQoNCg0K PiA+ICsgIEBwYXJhbVtpbl0gIFRoaXMgICAgICAgICAgICAgICBJbmRpY2F0ZXMgdGhlIGNhbGxp bmcgY29udGV4dA0KPiA+ICsgIEBwYXJhbVtpbl0gIFBjckluZGV4ICAgICAgICAgICBUUE0gUENS IGluZGV4Lg0KPiA+ICsgIEBwYXJhbVtvdXRdIE1ySW5kZXggICAgICAgICAgICBNZWFzdXJlbWVu dCByZWdpc3RlciBpbmRleC4NCj4gPiArDQo+ID4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAg ICAgICAgIFRoZSBNUiBpbmRleCBpcyByZXR1cm5lZC4NCj4gPiArICBAcmV0dmFsIEVGSV9JTlZB TElEX1BBUkFNRVRFUiAgVGhlIE1ySW5kZXggaXMgTlVMTC4NCj4gPiArICBAcmV0dmFsIEVGSV9V TlNVUFBPUlRFRCAgICAgICAgVGhlIFBjckluZGV4IGlzIGludmFsaWQuDQo+ID4gKyoqLw0KPiA+ ICt0eXBlZGVmDQo+ID4gK0VGSV9TVEFUVVMNCj4gPiArKEVGSUFQSSAqIEVGSV9URF9NQVBfUENS X1RPX01SX0lOREVYKSAoDQo+ID4gKyAgSU4gIEVGSV9URF9QUk9UT0NPTCAgICpUaGlzLA0KPiA+ ICsgIElOICBUQ0dfUENSSU5ERVggICAgICBQY3JJbmRleCwNCj4gPiArICBPVVQgRUZJX1REX01S X0lOREVYICAgKk1ySW5kZXgNCj4gPiArICApOw0KPiA+ICsNCj4gPiArc3RydWN0IF9FRklfVERf UFJPVE9DT0wgew0KPiA+ICsgIEVGSV9URF9HRVRfQ0FQQUJJTElUWSAgICAgICAgICAgICAgICAg ICAgIEdldENhcGFiaWxpdHk7DQo+ID4gKyAgRUZJX1REX0dFVF9FVkVOVF9MT0cgICAgICAgICAg ICAgICAgICAgICAgR2V0RXZlbnRMb2c7DQo+ID4gKyAgRUZJX1REX0hBU0hfTE9HX0VYVEVORF9F VkVOVCAgICAgICAgICAgICAgSGFzaExvZ0V4dGVuZEV2ZW50Ow0KPiA+ICsgIEVGSV9URF9NQVBf UENSX1RPX01SX0lOREVYICAgICAgICAgICAgICAgIE1hcFBjclRvTXJJbmRleDsNCj4gPiArfTsN Cj4gPiArDQo+ID4gKw0KPiA+ICsvLw0KPiA+ICsvLyBURCBldmVudCBsb2cNCj4gPiArLy8NCj4g PiArDQo+ID4gKyNwcmFnbWEgcGFjaygxKQ0KPiA+ICsNCj4gPiArLy8NCj4gPiArLy8gQ3J5cHRv IEFnaWxlIExvZyBFbnRyeSBGb3JtYXQuDQo+ID4gKy8vIEl0IGlzIHNpbWlsYXIgd2l0aCBUQ0df UENSX0VWRU5UMiBleGNlcHQgdGhlIGZpZWxkIG9mIE1ySW5kZXggYW5kDQo+IFBDUkluZGV4Lg0K PiA+ICsvLw0KPiA+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ID4gKyAgRUZJX1REX01SX0lOREVYICAg ICBNckluZGV4Ow0KPiA+ICsgIFVJTlQzMiAgICAgICAgICAgICAgRXZlbnRUeXBlOw0KPiA+ICsg IFRQTUxfRElHRVNUX1ZBTFVFUyAgRGlnZXN0czsNCj4gPiArICBVSU5UMzIgICAgICAgICAgICAg IEV2ZW50U2l6ZTsNCj4gPiArICBVSU5UOCAgICAgICAgICAgICAgIEV2ZW50WzFdOw0KPiA+ICt9 IFREX0VWRU5UOw0KPiA+ICsNCj4gPiArLy8NCj4gPiArLy8gRUZJIFREIEV2ZW50IEhlYWRlcg0K PiA+ICsvLyBJdCBpcyBzaW1pbGFyIHdpdGggVENHX1BDUl9FVkVOVDJfSERSIGV4Y2VwdCB0aGUg ZmllbGQgb2YgTXJJbmRleCBhbmQNCj4gUENSSW5kZXgNCj4gPiArLy8NCj4gPiArdHlwZWRlZiBz dHJ1Y3Qgew0KPiA+ICsgIEVGSV9URF9NUl9JTkRFWCAgICAgTXJJbmRleDsNCj4gPiArICBVSU5U MzIgICAgICAgICAgICAgIEV2ZW50VHlwZTsNCj4gPiArICBUUE1MX0RJR0VTVF9WQUxVRVMgIERp Z2VzdHM7DQo+ID4gKyAgVUlOVDMyICAgICAgICAgICAgICBFdmVudFNpemU7DQo+ID4gK30gVERf RVZFTlRfSERSOw0KPiA+ICsNCj4gPiArI3ByYWdtYSBwYWNrKCkNCj4gPiArDQo+ID4gKy8vDQo+ ID4gKy8vIExvZyBlbnRyaWVzIGFmdGVyIEdldCBFdmVudCBMb2cgc2VydmljZQ0KPiA+ICsvLw0K PiA+ICsNCj4gPiArDQo+ID4gK3R5cGVkZWYgc3RydWN0IHsNCj4gPiArICAvLw0KPiA+ICsgIC8v IFRoZSB2ZXJzaW9uIG9mIHRoaXMgc3RydWN0dXJlLiBJdCBzaGFsbCBiZSBzZXQgb3QgMS4NCj4g W1NBTUldIEl0IG1heSBiZSBnb29kIHRvIGRlZmluZSBhIG1hY3JvIGZvciB0aGUgZXZlbnRzIHRh YmxlIHZlcnNpb24sDQo+IHNpbWlsYXIgdG8gRUZJX1RDRzJfRklOQUxfRVZFTlRTX1RBQkxFX1ZF UlNJT04uDQoNCltKaWV3ZW5dIEFncmVlLg0KDQo+ID4gKyAgLy8NCj4gPiArICBVSU5UNjQgICAg ICAgICAgICAgICAgICBWZXJzaW9uOw0KPiA+ICsgIC8vDQo+ID4gKyAgLy8gTnVtYmVyIG9mIGV2 ZW50cyByZWNvcmRlZCBhZnRlciBpbnZvY2F0aW9uIG9mIEdldEV2ZW50TG9nIEFQSQ0KPiA+ICsg IC8vDQo+ID4gKyAgVUlOVDY0ICAgICAgICAgICAgICAgICAgTnVtYmVyT2ZFdmVudHM7DQo+ID4g KyAgLy8NCj4gPiArICAvLyBMaXN0IG9mIGV2ZW50cyBvZiB0eXBlIFREX0VWRU5ULg0KPiA+ICsg IC8vDQo+ID4gKyAgLy9URF9FVkVOVCAgICAgICAgICAgICAgRXZlbnRbMV07DQo+ID4gK30gRUZJ X1REX0ZJTkFMX0VWRU5UU19UQUJMRTsNCj4gPiArDQo+ID4gKw0KPiA+ICsjZGVmaW5lIEVGSV9U RF9GSU5BTF9FVkVOVFNfVEFCTEVfR1VJRCBcDQo+ID4gKyAgezB4ZGQ0YTQ2NDgsIDB4MmRlNywg MHg0NjY1LCB7MHg5NiwgMHg0ZCwgMHgyMSwgMHhkOSwgMHhlZiwgMHg1ZiwgMHhiNCwNCj4gMHg0 Nn19DQo+ID4gKw0KPiA+ICtleHRlcm4gRUZJX0dVSUQgZ0VmaVRkRmluYWxFdmVudHNUYWJsZUd1 aWQ7DQo+ID4gKw0KPiA+ICsjZW5kaWYNCj4gPiBkaWZmIC0tZ2l0IGEvTWRlUGtnL01kZVBrZy5k ZWMgYi9NZGVQa2cvTWRlUGtnLmRlYw0KPiA+IGluZGV4IDljZGM5MTVlYmFlOS4uYTMxYzQ0ZDNh Njg5IDEwMDY0NA0KPiA+IC0tLSBhL01kZVBrZy9NZGVQa2cuZGVjDQo+ID4gKysrIGIvTWRlUGtn L01kZVBrZy5kZWMNCj4gPiBAQCAtMTAxMSw2ICsxMDExLDkgQEANCj4gPiAgICAgIyMgSW5jbHVk ZS9Qcm90b2NvbC9QY2RJbmZvLmgNCj4gPiAgICAgZ0dldFBjZEluZm9Qcm90b2NvbEd1aWQgICAg ICAgID0geyAweDViZTQwZjU3LCAweGZhNjgsIDB4NDYxMCwgeyAweGJiLCAweGJmLA0KPiAweGU5 LCAweGM1LCAweGZjLCAweGRhLCAweGQzLCAweDY1IH0gfQ0KPiA+DQo+ID4gKyAgIyMgSW5jbHVk ZS9Qcm90b2NvbC9UZFByb3RvY29sLmgNCj4gPiArICBnRWZpVGRQcm90b2NvbEd1aWQgICAgICAg ICAgICAgPSB7IDB4OTY3NTFhM2QsIDB4NzJmNCwgMHg0MWE2LCB7IDB4YTcsIDB4OTQsDQo+IDB4 ZWQsIDB4NWQsIDB4MGUsIDB4NjcsIDB4YWUsIDB4NmIgfX0NCj4gPiArDQo+ID4gICAgICMNCj4g PiAgICAgIyBQcm90b2NvbHMgZGVmaW5lZCBpbiBQSTEuMC4NCj4gPiAgICAgIw0KPiANCj4gDQo+ IA0KPiANCj4gDQoNCg==