From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web09.3756.1631685858027643902 for ; Tue, 14 Sep 2021 23:04:19 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=cTa5pA6p; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: min.m.xu@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10107"; a="222284255" X-IronPort-AV: E=Sophos;i="5.85,294,1624345200"; d="scan'208";a="222284255" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Sep 2021 23:04:16 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,294,1624345200"; d="scan'208";a="516254830" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by orsmga001.jf.intel.com with ESMTP; 14 Sep 2021 23:04:16 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) 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.2242.12; Tue, 14 Sep 2021 23:04:16 -0700 Received: from orsmsx604.amr.corp.intel.com (10.22.229.17) by ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 14 Sep 2021 23:04:15 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx604.amr.corp.intel.com (10.22.229.17) 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, 14 Sep 2021 23:04:15 -0700 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.46) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Tue, 14 Sep 2021 23:04:15 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G7ggYo/IsRYHocdN7MCh9IIcS3Ae3p3U32Qw/cePKY0/9SoIrj3FGUZr+/wrbmKGFk2sPdSrbgLbub3vnqZ/6ZpjWmddu3cQocwUbc2X11SkXbFENAtdDOQgc53jz++rlI1GNxX0Y1jwRayw+W8NkWSLvIqh/KgzvEpMwt4ylvqwsPW5ut5ZCgXAtPua5VzSAxOnjIDGLsVOMnJvbwPICHO4tgIlAhXAyu11zBtdeK2aFi7dnrTMgoCSYMMZT8wRSev75QPsJzGyAiUiZoBtS9ZHn3GMCeCyz80TIPNWc1SrarRVs2pRqkvOdZYpJqNs2J1nGk7JZcfg/UDKiZO2JA== 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; bh=N9Ccl8Vl+hnp30Vd3/48WNNOWLxn9KersUFcv3rI6Kw=; b=lEw5sRm2RK7w2yVWK5zXfS1yjgXzOJa6u3ejnR/q7d/EHhpnzrR7fB5MVjGOXL0/dXSWKUL0RdudI1YVCaYbbJoVJQUs3vJSD1mx7muPqvxL9ii3nH3hfIjQHcPs7L2NhjX8iorB4oHhfl8G39G504d3a4SRsblSiGTfWMD4aZYm4np+nH6X2LYRN7uQ5tO2Dh+SMQTu+onAL52JXRzhdcu5FaNfNgKpt5B+9sRQafgkFNDGIumpu/mMzHQfR2JGUcH86ippxpj/8dcfxWda/Gi579Go48MHnY2A3dfwaxt70J5XCHTKTf6HfcwgPs+CjSuZTUiI5jrp+siWNm8qSw== 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=N9Ccl8Vl+hnp30Vd3/48WNNOWLxn9KersUFcv3rI6Kw=; b=cTa5pA6pD7/NBjn1CilIQITOZPa+0PwWzQPInHK5bqSSJoXzpf52GwkrtwjYw+HwYfsBNDQ+5SPPamuOAkIlgBlzOq0LJIbre5r4RowoSqMLhLsp0c9ZXg4clXLa5M7sQPDo/312bK0VE74fEAaQP67jAVOEIkpvsEtwkgcH06c= Received: from PH0PR11MB5064.namprd11.prod.outlook.com (2603:10b6:510:3b::15) by PH0PR11MB5158.namprd11.prod.outlook.com (2603:10b6:510:3b::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.14; Wed, 15 Sep 2021 06:04:14 +0000 Received: from PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::c93:200e:5aeb:e11b]) by PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::c93:200e:5aeb:e11b%3]) with mapi id 15.20.4415.029; Wed, 15 Sep 2021 06:04:14 +0000 From: "Min Xu" To: "devel@edk2.groups.io" , "gaoliming@byosoft.com.cn" CC: "Kinney, Michael D" , "Liu, Zhiguang" , "Yao, Jiewen" , "Wang, Jian J" , "Lu, Ken" Subject: Re: [edk2-devel] [PATCH 1/2] MdePkg: Introduce TdProtocol for TD-Guest firmware Thread-Topic: [edk2-devel] [PATCH 1/2] MdePkg: Introduce TdProtocol for TD-Guest firmware Thread-Index: AQHXqQvqDBnScLZAnUyumq/yHG4Rh6ukmNsAgAAA0yA= Date: Wed, 15 Sep 2021 06:04:13 +0000 Message-ID: References: <29ffecfbc2a4076d9cb9fc40238548ab637c5f19.1631583583.git.min.m.xu@intel.com> <002201d7a9f5$79acd310$6d067930$@byosoft.com.cn> In-Reply-To: <002201d7a9f5$79acd310$6d067930$@byosoft.com.cn> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.200.16 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: b67543e7-aaff-49aa-4c66-08d9780ea4e2 x-ms-traffictypediagnostic: PH0PR11MB5158: x-ms-exchange-transport-forked: True 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: iC3EvOy/RRpMT2osE3+NiGiNY3aGRPUv+62vl9ugUgb19E8IdJdQzN5cnH7liqFuURdf2ZBfDB4YnVVhj8FneWxeTepe/tL34kTeFoyr+zk+YtXBInbpoUvlQngzZp1L1ce1ROEqjxA69YV2knD++naGdJikusSojyKZjBUr/JSmVo1AwYIzw8FF2EjuOXPb9BOpFOcyvFuN8DwyRKrVP86SArl+vm3KYxgQ8NTzNQXYbMBBROz6Z/WlBVXYDoDk0rTeFEwcifoQEkDeoQ6kAhjiC+y4DGYR+FyyF6lXgczAs6X5Oprnsm5wHVdTm6VZsDz+5P96MPK5BbVXNJHfPVUouGYYbg8gu8As88aMk0r/t6UpT7fhE8E5znQGYU7pppAp+8Ze5u0mqtYJci9ckwvk39wBqJH1/ks7ctTsszQfvf6nTYuwQII9276ez4rwiaEx3aNvK3i/Fbk0TCzWcbVsFpnsFj1oZWfeLVmObcYQQJ7j6Lw33oCzjFDP26TAtwN6AJPU9owavpA8o8gjTnlA12HTjEts/3k5fIqbH3TxrUV5mhemG2k0eGGOqnLl6+Pqtb4c/TCjDp4P6COg4BMTiEK3WExIgQzIW86eRv+RHMPPzZ3RaiKbeYiJy9TA31g9/BcogvoidQWdUUFKIDXget8VufuSffspxdDJvxwS8hh4YUWaW67mTRvl3lHsKinDsE2tmQaqSx1zdN7YfDxkwK1mhxvuFSTCn0EUc/QK9za1mMCCVS3Y15zqJ3cGcbZ+KBljOaDzwW6z+4M7VeYa6TCaKJ2MKkusWdwg5HgZAIyOCdROzx5Tld66g36hWoyf4lXqaVsVU4nS7ueCRw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB5064.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(6029001)(4636009)(346002)(376002)(39860400002)(396003)(366004)(136003)(186003)(86362001)(107886003)(52536014)(8936002)(966005)(122000001)(478600001)(5660300002)(33656002)(7696005)(4326008)(83380400001)(53546011)(26005)(9686003)(66946007)(110136005)(30864003)(66446008)(66556008)(64756008)(2906002)(54906003)(316002)(71200400001)(76116006)(55016002)(8676002)(6506007)(38070700005)(38100700002)(66476007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?U0k5bzZGclc1Q3IzREV1dUF3aFhTNWRWSzBoVEY3RUtuRGtrNkthOElvTUpj?= =?utf-8?B?UVcwUksyVVcxamZydDlUNjB3dDNyV0hWL251elR4ejhCNFg3SHJjMDF6dHEw?= =?utf-8?B?WFhtWnpzNXhONzIvOHgzelNBSmUvcjgzeDI1NUw3VXpUR1dURmNJamhrUEZO?= =?utf-8?B?a2ZZM2pkbDhQem1WOVg0V0xCcjNYN1NWOTdseXlEeVRla0FmM2VQcUd4MU5n?= =?utf-8?B?cCtuTFpBVmF4d2xDU29aYm1zQWlRVXVHclllNTdMUm9jVmNONVdKbnZwbkVR?= =?utf-8?B?VE1KbEtyZm5rNVRJNGp4WXE4TGZLbmtpTTlUb05kLzJvRExxMWRYRW45SGt0?= =?utf-8?B?TDF1Nk5ISUhPY3FuTU80TXZmVzQwdGRkbmgwSGdEVFhWT0VzaXR6bC91THhz?= =?utf-8?B?YmFqRWJkVTR0bzNaWldaTHdjeTJsTmdvZjMveEZLZXZlalJEdjFTbHI2MEhD?= =?utf-8?B?RW91TUxLdjVJS1Y3a3dhLzUxSGxKOUlFWVFUUTU2QXdNcUl0blZjUmh1b2NI?= =?utf-8?B?S09rMjVXT2cxR0E2L3p2OHRielZ2dmF4d1F4L0NsN000OHI3NU9CL3FJcGN6?= =?utf-8?B?eUNHV21hNG9YNlIvWjBieWpyRTNWUmN2WVpvOVZnTkxsNUpYb2N6UWFCMmdW?= =?utf-8?B?TWFuNlluVnhRRDdWY21CcjM0QUxHRStPKzIrc1NadkVjaWQyOVNrM2RUZld2?= =?utf-8?B?SlU2NVBJWnE0Y1Nvc1R3SzMxdmlhcTFReFprbVhqV2ZNcVFEdWZINUpISDI4?= =?utf-8?B?VHVIQktIY0VkbkZxb1QyK0gzK3BuMmcvY2N6YzdiRXdtd25BMDlhdjJNWnJE?= =?utf-8?B?cUcyUkIvWGJoRHVnOGg5d0dKeTdTRnFtRGw3T1ViYWx6enRpTENFSmZESmJE?= =?utf-8?B?MGlBZGtaRExFcElHamkzQ1g5THNMRGRvakIreTRGYnJOakRqNnZDSGYza1ZP?= =?utf-8?B?N2hVTmNkeWgzSjFqUzY4clcrTXBnU2s2ZVhxZnVnZ3d0V2xnSCtscjRMNXVh?= =?utf-8?B?b1A2SWljSTJYY0hnUi96YkFQWjBmMlpwaVFYaXdIQVRic2JMbmpERS80OWdp?= =?utf-8?B?WmxuK1FvazNFdW12aVFiMWZFMXRnVEgwejR6MkJ4YUhod3BUeXhCOG5zMnk3?= =?utf-8?B?TFAxdlpjYjN0cTY4bWtPRGN4Z1plNStwcE94Y1ZLTm5tZFdBMElTSjljcmdN?= =?utf-8?B?R1NHUHdIRlVwV0xUb3A1aFRwcHB0Y3ppZmpLZjlxbmRjQURKUElwczB5R1NG?= =?utf-8?B?Z0cwV1oxdC9pSVFPUitma0FlYWVnVHhQamlXL3hSUkp6eWNHb1JJc0RPcXNY?= =?utf-8?B?bk91SzlTd3RrbG9pUm45NjQrTG5ldC9LejIzYSt1QUp5VEFkMVhENHlZanhq?= =?utf-8?B?cU55SStuMVFxOXd0OGFJekV2dEJJdE1ybjhYbmRSRUtrY2dIMkNqblF1UUtP?= =?utf-8?B?RVZJUXRnMVpnb2NTNWZmcmZ6bklZSC8vc3BJdUhmaGVJUTdvcDU0VmZqMVBZ?= =?utf-8?B?c2JNZGlzQTlTZll1b0lnd25KZWxRb0dRZ2U3dE8zTkdjZzhwYm9Ib2NXVGRP?= =?utf-8?B?OWZ3cUFneUxzNHdSTTVlS0JWWWNPWk91YzdGWTdDVEhGc1NMUHBSRFpMeS96?= =?utf-8?B?bStlV2FXem5ic0lVYTI4SFZEMEs0dEVoaW1BMW5yRmxkTnFZZ1R2VjVPQ2dm?= =?utf-8?B?ZkNvQmJBdXNieW1jamFiRi93V3YyODc4VERobklJTk5CaHJKTHdDcXJIUW9T?= =?utf-8?Q?4JyD6+gSeJbHK/xfykNOjaAGZlE6+gJjG5aSl87?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5064.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b67543e7-aaff-49aa-4c66-08d9780ea4e2 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Sep 2021 06:04:13.8913 (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: jcjZBDE8pULTYh3nsJwIWAAfUCSAEf7fQvHCHiz6a13DSwvLtOz8n8oGWiLiQBn8qywc3c2xGO4h7o4Iz78y6A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5158 Return-Path: min.m.xu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksIExpbWluZw0KVEQgUHJvdG9jb2wgaXMgZGVmaW5lZCBpbiBiZWxvdyBzcGVjIChTZWN0aW9u IDQuMy4yKQ0KaHR0cHM6Ly9zb2Z0d2FyZS5pbnRlbC5jb20vY29udGVudC9kYW0vZGV2ZWxvcC9l eHRlcm5hbC91cy9lbi9kb2N1bWVudHMvaW50ZWwtdGR4LWd1ZXN0LWh5cGVydmlzb3ItY29tbXVu aWNhdGlvbi1pbnRlcmZhY2UucGRmDQoNClRoaXMgcGF0Y2gtc2V0IGlzIHRoZSBkZXRhaWxlZCBp bXBsZW1lbnRhdGlvbiBvZiBURCBQcm90b2NvbC4gVGhlIHNwZWMgaXMgYmVpbmcgdXBkYXRlZC4g QmVjYXVzZSB0aGVyZSBhcmUgb3RoZXIgdXBkYXRlcyBiZXNpZGVzIHRoZSBURCBQcm90b2NvbCwg aXQgbmVlZCBtb3JlIHRpbWUgdG8gY29tcGxldGUgdGhlIHVwZGF0aW5nLg0KDQpUaGFua3MgZm9y IHlvdXIgdW5kZXJzdGFuZGluZy4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBG cm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFs ZiBPZiBnYW9saW1pbmcNCj4gU2VudDogV2VkbmVzZGF5LCBTZXB0ZW1iZXIgMTUsIDIwMjEgMTo1 MCBQTQ0KPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IFh1LCBNaW4gTSA8bWluLm0ueHVAaW50 ZWwuY29tPg0KPiBDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwu Y29tPjsgTGl1LCBaaGlndWFuZw0KPiA8emhpZ3VhbmcubGl1QGludGVsLmNvbT47IFlhbywgSmll d2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IFdhbmcsIEppYW4gSg0KPiA8amlhbi5qLndhbmdA aW50ZWwuY29tPjsgTHUsIEtlbiA8a2VuLmx1QGludGVsLmNvbT4NCj4gU3ViamVjdDog5Zue5aSN OiBbZWRrMi1kZXZlbF0gW1BBVENIIDEvMl0gTWRlUGtnOiBJbnRyb2R1Y2UgVGRQcm90b2NvbCBm b3IgVEQtDQo+IEd1ZXN0IGZpcm13YXJlDQo+IA0KPiBNaW46DQo+ICAgV2hpY2ggcHVibGljIHNw ZWMgZGVmaW5lcyB0aGlzIG5ldyBwcm90b2NvbD8NCj4gDQo+IFRoYW5rcw0KPiBMaW1pbmcNCj4g PiAtLS0tLemCruS7tuWOn+S7ti0tLS0tDQo+ID4g5Y+R5Lu25Lq6OiBkZXZlbEBlZGsyLmdyb3Vw cy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IOS7o+ihqCBNaW4gWHUNCj4gPiDlj5HpgIHml7bp l7Q6IDIwMjHlubQ55pyIMTTml6UgOTo1Nw0KPiA+IOaUtuS7tuS6ujogZGV2ZWxAZWRrMi5ncm91 cHMuaW8NCj4gPiDmioTpgIE6IE1pbiBYdSA8bWluLm0ueHVAaW50ZWwuY29tPjsgTWljaGFlbCBE IEtpbm5leQ0KPiA+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IExpbWluZyBHYW8gPGdh b2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47DQo+ID4gWmhpZ3VhbmcgTGl1IDx6aGlndWFuZy5saXVA aW50ZWwuY29tPjsgSmlld2VuIFlhbw0KPiA+IDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IEppYW4g SiBXYW5nIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBLZW4gTHUNCj4gPiA8a2VuLmx1QGludGVs LmNvbT4NCj4gPiDkuLvpopg6IFtlZGsyLWRldmVsXSBbUEFUQ0ggMS8yXSBNZGVQa2c6IEludHJv ZHVjZSBUZFByb3RvY29sIGZvciBURC1HdWVzdA0KPiA+IGZpcm13YXJlDQo+ID4NCj4gPiBCWjog aHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjI1DQo+ID4N Cj4gPiBJZiBURC1HdWVzdCBmaXJtd2FyZSBzdXBwb3J0cyBtZWFzdXJlbWVudCBhbmQgYW4gZXZl bnQgaXMgY3JlYXRlZCwNCj4gPiBURC1HdWVzdCBmaXJtd2FyZSBpcyBkZXNpZ25lZCB0byByZXBv cnQgdGhlIGV2ZW50IGxvZyB3aXRoIHRoZSBzYW1lDQo+ID4gZGF0YSBzdHJ1Y3R1cmUgaW4gVENH LVBsYXRmb3JtLUZpcm13YXJlLVByb2ZpbGUgc3BlY2lmaWNhdGlvbiB3aXRoDQo+ID4gRUZJX1RD RzJfRVZFTlRfTE9HX0ZPUk1BVF9UQ0dfMiBmb3JtYXQuDQo+ID4NCj4gPiBUaGUgVEQtR3Vlc3Qg ZmlybXdhcmUgc3VwcG9ydHMgbWVhc3VyZW1lbnQsIHRoZSBURCBHdWVzdCBGaXJtd2FyZSBpcw0K PiA+IGRlc2lnbmVkIHRvIHByb2R1Y2UgRUZJX1REX1BST1RPQ09MIHdpdGggbmV3IEdVSUQNCj4g RUZJX1REX1BST1RPQ09MX0dVSUQNCj4gPiB0byByZXBvcnQgZXZlbnQgbG9nIGFuZCBwcm92aWRl cyBoYXNoIGNhcGFiaWxpdHkuDQo+ID4NCj4gPiBDYzogTWljaGFlbCBEIEtpbm5leSA8bWljaGFl bC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4gQ2M6IExpbWluZyBHYW8gPGdhb2xpbWluZ0BieW9z b2Z0LmNvbS5jbj4NCj4gPiBDYzogWmhpZ3VhbmcgTGl1IDx6aGlndWFuZy5saXVAaW50ZWwuY29t Pg0KPiA+IENjOiBKaWV3ZW4gWWFvIDxqaWV3ZW4ueWFvQGludGVsLmNvbT4NCj4gPiBDYzogSmlh biBKIFdhbmcgPGppYW4uai53YW5nQGludGVsLmNvbT4NCj4gPiBDYzogS2VuIEx1IDxrZW4ubHVA aW50ZWwuY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IE1pbiBYdSA8bWluLm0ueHVAaW50ZWwuY29t Pg0KPiA+IC0tLQ0KPiA+ICBNZGVQa2cvSW5jbHVkZS9Qcm90b2NvbC9UZFByb3RvY29sLmggfCAz MDUNCj4gPiArKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiAgTWRlUGtnL01kZVBrZy5k ZWMgICAgICAgICAgICAgICAgICAgIHwgICAzICsNCj4gPiAgMiBmaWxlcyBjaGFuZ2VkLCAzMDgg aW5zZXJ0aW9ucygrKQ0KPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgTWRlUGtnL0luY2x1ZGUvUHJv dG9jb2wvVGRQcm90b2NvbC5oDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvTWRlUGtnL0luY2x1ZGUv UHJvdG9jb2wvVGRQcm90b2NvbC5oDQo+ID4gYi9NZGVQa2cvSW5jbHVkZS9Qcm90b2NvbC9UZFBy b3RvY29sLmgNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAwMDAw MC4uNWEwMTVmY2EwMDc5DQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL01kZVBrZy9JbmNs dWRlL1Byb3RvY29sL1RkUHJvdG9jb2wuaA0KPiA+IEBAIC0wLDAgKzEsMzA1IEBADQo+ID4gKy8q KiBAZmlsZQ0KPiA+ICsgIElmIFRELUd1ZXN0IGZpcm13YXJlIHN1cHBvcnRzIG1lYXN1cmVtZW50 IGFuZCBhbiBldmVudCBpcyBjcmVhdGVkLA0KPiA+IFRELUd1ZXN0DQo+ID4gKyAgZmlybXdhcmUg aXMgZGVzaWduZWQgdG8gcmVwb3J0IHRoZSBldmVudCBsb2cgd2l0aCB0aGUgc2FtZSBkYXRhDQo+ IHN0cnVjdHVyZQ0KPiA+ICsgIGluIFRDRy1QbGF0Zm9ybS1GaXJtd2FyZS1Qcm9maWxlIHNwZWNp ZmljYXRpb24gd2l0aA0KPiA+ICsgIEVGSV9UQ0cyX0VWRU5UX0xPR19GT1JNQVRfVENHXzIgZm9y bWF0Lg0KPiA+ICsNCj4gPiArICBUaGUgVEQtR3Vlc3QgZmlybXdhcmUgc3VwcG9ydHMgbWVhc3Vy ZW1lbnQsIHRoZSBURCBHdWVzdCBGaXJtd2FyZQ0KPiA+ICsgaXMNCj4gPiBkZXNpZ25lZA0KPiA+ ICsgIHRvIHByb2R1Y2UgRUZJX1REX1BST1RPQ09MIHdpdGggbmV3IEdVSUQgRUZJX1REX1BST1RP Q09MX0dVSUQNCj4gPiB0byByZXBvcnQNCj4gPiArICBldmVudCBsb2cgYW5kIHByb3ZpZGVzIGhh c2ggY2FwYWJpbGl0eS4NCj4gPiArDQo+ID4gK0NvcHlyaWdodCAoYykgMjAyMCAtIDIwMjEsIElu dGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzDQo+ID4gK3Jlc2VydmVkLjxCUj4NCj4gPiArU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gPiArDQo+ID4gKyoq Lw0KPiA+ICsNCj4gPiArDQo+ID4gKyNpZm5kZWYgVERfUFJPVE9DT0xfSF8NCj4gPiArI2RlZmlu ZSBURF9QUk9UT0NPTF9IXw0KPiA+ICsNCj4gPiArI2luY2x1ZGUgPFVlZmkvVWVmaUJhc2VUeXBl Lmg+DQo+ID4gKyNpbmNsdWRlIDxJbmR1c3RyeVN0YW5kYXJkL1VlZmlUY2dQbGF0Zm9ybS5oPg0K PiA+ICsjaW5jbHVkZSA8SW5kdXN0cnlTdGFuZGFyZC9UcG0yMC5oPg0KPiA+ICsNCj4gPiArDQo+ ID4gKyNkZWZpbmUgRUZJX1REX1BST1RPQ09MX0dVSUQgIFwNCj4gPiArICB7IDB4OTY3NTFhM2Qs IDB4NzJmNCwgMHg0MWE2LCB7IDB4YTcsIDB4OTQsIDB4ZWQsIDB4NWQsIDB4MGUsIDB4NjcsDQo+ IDB4YWUsDQo+ID4gMHg2YiB9fQ0KPiA+ICtleHRlcm4gRUZJX0dVSUQgZ0VmaVRkUHJvdG9jb2xH dWlkOw0KPiA+ICsNCj4gPiArdHlwZWRlZiBzdHJ1Y3QgX0VGSV9URF9QUk9UT0NPTCBFRklfVERf UFJPVE9DT0w7DQo+ID4gKw0KPiA+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ID4gKyAgVUlOVDggTWFq b3I7DQo+ID4gKyAgVUlOVDggTWlub3I7DQo+ID4gK30gRUZJX1REX1ZFUlNJT047DQo+ID4gKw0K PiA+ICt0eXBlZGVmIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICBFRklfVERfRVZFTlRfTE9H X0JJVE1BUDsNCj4gPiArdHlwZWRlZiBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgRUZJX1RE X0VWRU5UX0xPR19GT1JNQVQ7DQo+ID4gK3R5cGVkZWYgVUlOVDMyDQo+ID4gRUZJX1REX0VWRU5U X0FMR09SSVRITV9CSVRNQVA7DQo+ID4gK3R5cGVkZWYgVUlOVDMyICAgICAgICAgICAgICAgICAg ICAgIEVGSV9URF9NUl9JTkRFWDsNCj4gPiArDQo+ID4gKyNkZWZpbmUgRUZJX1REX0VWRU5UX0xP R19GT1JNQVRfVENHXzIgICAweDAwMDAwMDAyDQo+ID4gKyNkZWZpbmUgRUZJX1REX0JPT1RfSEFT SF9BTEdfU0hBMzg0ICAgICAweDAwMDAwMDA0DQo+ID4gKw0KPiA+ICsvLw0KPiA+ICsvLyBUaGlz IGJpdCBpcyBzaGFsbCBiZSBzZXQgd2hlbiBhbiBldmVudCBzaGFsbCBiZSBleHRlbmRlZCBidXQg bm90DQo+IGxvZ2dlZC4NCj4gPiArLy8NCj4gPiArI2RlZmluZSBFRklfVERfRkxBR19FWFRFTkRf T05MWSAgICAgICAweDAwMDAwMDAwMDAwMDAwMDENCj4gPiArLy8NCj4gPiArLy8gVGhpcyBiaXQg c2hhbGwgYmUgc2V0IHdoZW4gdGhlIGludGVudCBpcyB0byBtZWFzdXJlIGEgUEUvQ09GRiBpbWFn ZS4NCj4gPiArLy8NCj4gPiArI2RlZmluZSBFRklfVERfRkxBR19QRV9DT0ZGX0lNQUdFICAgICAw eDAwMDAwMDAwMDAwMDAwMTANCj4gPiArDQo+ID4gKyNkZWZpbmUgTVJfSU5ERVhfTVJURCAgMA0K PiA+ICsjZGVmaW5lIE1SX0lOREVYX1JUTVIwIDENCj4gPiArI2RlZmluZSBNUl9JTkRFWF9SVE1S MSAyDQo+ID4gKyNkZWZpbmUgTVJfSU5ERVhfUlRNUjIgMw0KPiA+ICsjZGVmaW5lIE1SX0lOREVY X1JUTVIzIDQNCj4gPiArDQo+ID4gKy8vDQo+ID4gKy8vIFRoaXMgYml0IHNoYWxsIGJlIHNldCB3 aGVuIHRoZSBpbnRlbnQgaXMgdG8gbWVhc3VyZSBhIFBFL0NPRkYgaW1hZ2UuDQo+ID4gKy8vDQo+ ID4gKyNkZWZpbmUgUEVfQ09GRl9JTUFHRSAgICAgMHgwMDAwMDAwMDAwMDAwMDEwDQo+ID4gKw0K PiA+ICsjcHJhZ21hIHBhY2sgKDEpDQo+ID4gKw0KPiA+ICsjZGVmaW5lIEVGSV9URF9FVkVOVF9I RUFERVJfVkVSU0lPTiAgIDENCj4gPiArDQo+ID4gK3R5cGVkZWYgc3RydWN0IHsNCj4gPiArICAv Lw0KPiA+ICsgIC8vIFNpemUgb2YgdGhlIGV2ZW50IGhlYWRlciBpdHNlbGYgKHNpemVvZihFRklf VERfRVZFTlRfSEVBREVSKSkuDQo+ID4gKyAgLy8NCj4gPiArICBVSU5UMzIgICAgICAgICAgICBI ZWFkZXJTaXplOw0KPiA+ICsgIC8vDQo+ID4gKyAgLy8gSGVhZGVyIHZlcnNpb24uIEZvciB0aGlz IHZlcnNpb24gb2YgdGhpcyBzcGVjaWZpY2F0aW9uLCB0aGUNCj4gPiArdmFsdWUNCj4gc2hhbGwg YmUNCj4gPiAxLg0KPiA+ICsgIC8vDQo+ID4gKyAgVUlOVDE2ICAgICAgICAgICAgSGVhZGVyVmVy c2lvbjsNCj4gPiArICAvLw0KPiA+ICsgIC8vIEluZGV4IG9mIHRoZSBNUiB0aGF0IHNoYWxsIGJl IGV4dGVuZGVkLg0KPiA+ICsgIC8vDQo+ID4gKyAgRUZJX1REX01SX0lOREVYICAgTXJJbmRleDsN Cj4gPiArICAvLw0KPiA+ICsgIC8vIFR5cGUgb2YgdGhlIGV2ZW50IHRoYXQgc2hhbGwgYmUgZXh0 ZW5kZWQgKGFuZCBvcHRpb25hbGx5IGxvZ2dlZCkuDQo+ID4gKyAgLy8NCj4gPiArICBVSU5UMzIg ICAgICAgICAgICBFdmVudFR5cGU7DQo+ID4gK30gRUZJX1REX0VWRU5UX0hFQURFUjsNCj4gPiAr DQo+ID4gK3R5cGVkZWYgc3RydWN0IHsNCj4gPiArICAvLw0KPiA+ICsgIC8vIFRvdGFsIHNpemUg b2YgdGhlIGV2ZW50IGluY2x1ZGluZyB0aGUgU2l6ZSBjb21wb25lbnQsIHRoZSBoZWFkZXINCj4g PiArYW5kDQo+IHRoZQ0KPiA+IEV2ZW50IGRhdGEuDQo+ID4gKyAgLy8NCj4gPiArICBVSU5UMzIg ICAgICAgICAgICAgICAgU2l6ZTsNCj4gPiArICBFRklfVERfRVZFTlRfSEVBREVSICAgSGVhZGVy Ow0KPiA+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICBFdmVudFsxXTsNCj4gPiArfSBFRklfVERf RVZFTlQ7DQo+ID4gKw0KPiA+ICsjcHJhZ21hIHBhY2soKQ0KPiA+ICsNCj4gPiArDQo+ID4gK3R5 cGVkZWYgc3RydWN0IHsNCj4gPiArICAvLw0KPiA+ICsgIC8vIEFsbG9jYXRlZCBzaXplIG9mIHRo ZSBzdHJ1Y3R1cmUNCj4gPiArICAvLw0KPiA+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFNpemU7DQo+ID4gKyAgLy8NCj4gPiArICAvLyBWZXJzaW9uIG9mIHRoZSBFRklfVERf Qk9PVF9TRVJWSUNFX0NBUEFCSUxJVFkgc3RydWN0dXJlIGl0c2VsZi4NCj4gPiArICAvLyBGb3Ig dGhpcyB2ZXJzaW9uIG9mIHRoZSBwcm90b2NvbCwgdGhlIE1ham9yIHZlcnNpb24gc2hhbGwgYmUg c2V0DQo+ID4gK3RvDQo+IDENCj4gPiArICAvLyBhbmQgdGhlIE1pbm9yIHZlcnNpb24gc2hhbGwg YmUgc2V0IHRvIDEuDQo+ID4gKyAgLy8NCj4gPiArICBFRklfVERfVkVSU0lPTiAgICAgICAgICAg ICAgICAgICBTdHJ1Y3R1cmVWZXJzaW9uOw0KPiA+ICsgIC8vDQo+ID4gKyAgLy8gVmVyc2lvbiBv ZiB0aGUgRUZJIFREIHByb3RvY29sLg0KPiA+ICsgIC8vIEZvciB0aGlzIHZlcnNpb24gb2YgdGhl IHByb3RvY29sLCB0aGUgTWFqb3IgdmVyc2lvbiBzaGFsbCBiZSBzZXQNCj4gPiArIHRvDQo+IDEN Cj4gPiArICAvLyBhbmQgdGhlIE1pbm9yIHZlcnNpb24gc2hhbGwgYmUgc2V0IHRvIDEuDQo+ID4g KyAgLy8NCj4gPiArICBFRklfVERfVkVSU0lPTiAgICAgICAgICAgICAgICAgICBQcm90b2NvbFZl cnNpb247DQo+ID4gKyAgLy8NCj4gPiArICAvLyBTdXBwb3J0ZWQgaGFzaCBhbGdvcml0aG1zDQo+ ID4gKyAgLy8NCj4gPiArICBFRklfVERfRVZFTlRfQUxHT1JJVEhNX0JJVE1BUCAgICBIYXNoQWxn b3JpdGhtQml0bWFwOw0KPiA+ICsgIC8vDQo+ID4gKyAgLy8gQml0bWFwIG9mIHN1cHBvcnRlZCBl dmVudCBsb2cgZm9ybWF0cyAgLy8NCj4gPiArICBFRklfVERfRVZFTlRfTE9HX0JJVE1BUCAgICAg ICAgICBTdXBwb3J0ZWRFdmVudExvZ3M7DQo+ID4gKw0KPiA+ICsgIC8vDQo+ID4gKyAgLy8gRmFs c2UgPSBURCBub3QgcHJlc2VudA0KPiA+ICsgIC8vDQo+ID4gKyAgQk9PTEVBTiAgICAgICAgICAg ICAgICAgICAgICAgICAgVGRQcmVzZW50RmxhZzsNCj4gPiArfSBFRklfVERfQk9PVF9TRVJWSUNF X0NBUEFCSUxJVFk7DQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICBUaGUgRUZJX1REX1BST1RPQ09M IEdldENhcGFiaWxpdHkgZnVuY3Rpb24gY2FsbCBwcm92aWRlcyBwcm90b2NvbA0KPiA+ICsgIGNh cGFiaWxpdHkgaW5mb3JtYXRpb24gYW5kIHN0YXRlIGluZm9ybWF0aW9uLg0KPiA+ICsNCj4gPiAr ICBAcGFyYW1baW5dICAgICAgVGhpcyAgICAgICAgICAgICAgIEluZGljYXRlcyB0aGUgY2FsbGlu ZyBjb250ZXh0DQo+ID4gKyAgQHBhcmFtW2luLCBvdXRdIFByb3RvY29sQ2FwYWJpbGl0eSBUaGUg Y2FsbGVyIGFsbG9jYXRlcyBtZW1vcnkgZm9yDQo+ID4gKyBhDQo+ID4gRUZJX1REX0JPT1RfU0VS VklDRV9DQVBBQklMSVRZDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3R1cmUgYW5kIHNldHMgdGhlIHNpemUNCj4gPiBmaWVsZCB0byB0aGUgc2l6ZSBvZiB0 aGUgc3RydWN0dXJlIGFsbG9jYXRlZC4NCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFRoZSBjYWxsZWUgZmlsbHMgaW4gdGhlIGZpZWxkcw0KPiA+IHdpdGggdGhlIEVG SSBwcm90b2NvbCBjYXBhYmlsaXR5IGluZm9ybWF0aW9uDQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBhbmQgdGhlIGN1cnJlbnQgRUZJIFREIHN0YXRlDQo+ID4gaW5m b3JtYXRpb24gdXAgdG8gdGhlIG51bWJlciBvZiBmaWVsZHMgd2hpY2gNCj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpdCB3aXRoaW4gdGhlIHNpemUgb2YgdGhlDQo+ ID4gc3RydWN0dXJlIHBhc3NlZCBpbi4NCj4gPiArDQo+ID4gKyAgQHJldHZhbCBFRklfU1VDQ0VT UyAgICAgICAgICAgIE9wZXJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Lg0KPiA+ICsgIEBy ZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgICBUaGUgY29tbWFuZCB3YXMgdW5zdWNjZXNzZnVs Lg0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgUHJvdG9jb2xDYXBh YmlsaXR5IHZhcmlhYmxlIHdpbGwNCj4gPiBub3QgYmUgcG9wdWxhdGVkLg0KPiA+ICsgIEByZXR2 YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICBPbmUgb3IgbW9yZSBvZiB0aGUgcGFyYW1ldGVycyBh cmUNCj4gPiBpbmNvcnJlY3QuDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFRoZSBQcm90b2NvbENhcGFiaWxpdHkgdmFyaWFibGUgd2lsbA0KPiA+IG5vdCBiZSBwb3B1bGF0 ZWQuDQo+ID4gKyAgQHJldHZhbCBFRklfQlVGRkVSX1RPT19TTUFMTCAgIFRoZSBQcm90b2NvbENh cGFiaWxpdHkgdmFyaWFibGUgaXMNCj4gPiB0b28gc21hbGwgdG8gaG9sZCB0aGUgZnVsbCByZXNw b25zZS4NCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSXQgd2lsbCBiZSBw YXJ0aWFsbHkgcG9wdWxhdGVkDQo+ID4gKHJlcXVpcmVkIFNpemUgZmllbGQgd2lsbCBiZSBzZXQp Lg0KPiA+ICsqKi8NCj4gPiArdHlwZWRlZg0KPiA+ICtFRklfU1RBVFVTDQo+ID4gKyhFRklBUEkg KkVGSV9URF9HRVRfQ0FQQUJJTElUWSkgKA0KPiA+ICsgIElOICAgICBFRklfVERfUFJPVE9DT0wg ICAgICAgICAgICAgICAgKlRoaXMsDQo+ID4gKyAgSU4gT1VUIEVGSV9URF9CT09UX1NFUlZJQ0Vf Q0FQQUJJTElUWSAqUHJvdG9jb2xDYXBhYmlsaXR5DQo+ID4gKyAgKTsNCj4gPiArDQo+ID4gKy8q Kg0KPiA+ICsgIFRoZSBFRklfVERfUFJPVE9DT0wgR2V0IEV2ZW50IExvZyBmdW5jdGlvbiBjYWxs IGFsbG93cyBhIGNhbGxlciB0bw0KPiA+ICsgIHJldHJpZXZlIHRoZSBhZGRyZXNzIG9mIGEgZ2l2 ZW4gZXZlbnQgbG9nIGFuZCBpdHMgbGFzdCBlbnRyeS4NCj4gPiArDQo+ID4gKyAgQHBhcmFtW2lu XSAgVGhpcyAgICAgICAgICAgICAgIEluZGljYXRlcyB0aGUgY2FsbGluZyBjb250ZXh0DQo+ID4g KyAgQHBhcmFtW2luXSAgRXZlbnRMb2dGb3JtYXQgICAgIFRoZSB0eXBlIG9mIHRoZSBldmVudCBs b2cgZm9yIHdoaWNoDQo+ID4gdGhlIGluZm9ybWF0aW9uIGlzIHJlcXVlc3RlZC4NCj4gPiArICBA cGFyYW1bb3V0XSBFdmVudExvZ0xvY2F0aW9uICAgQSBwb2ludGVyIHRvIHRoZSBtZW1vcnkgYWRk cmVzcyBvZg0KPiA+IHRoZSBldmVudCBsb2cuDQo+ID4gKyAgQHBhcmFtW291dF0gRXZlbnRMb2dM YXN0RW50cnkgIElmIHRoZSBFdmVudCBMb2cgY29udGFpbnMgbW9yZSB0aGFuDQo+ID4gb25lIGVu dHJ5LCB0aGlzIGlzIGEgcG9pbnRlciB0byB0aGUNCj4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYWRkcmVzcyBvZiB0aGUgc3RhcnQgb2YgdGhlIGxhc3QNCj4gPiBlbnRyeSBp biB0aGUgZXZlbnQgbG9nIGluIG1lbW9yeS4NCj4gPiArICBAcGFyYW1bb3V0XSBFdmVudExvZ1Ry dW5jYXRlZCAgSWYgdGhlIEV2ZW50IExvZyBpcyBtaXNzaW5nIGF0IGxlYXN0DQo+ID4gKyBvbmUN Cj4gPiBlbnRyeSBiZWNhdXNlIGFuIGV2ZW50IHdvdWxkDQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGhhdmUgZXhjZWVkZWQgdGhlIGFyZWEgYWxsb2NhdGVkDQo+ID4gZm9y IGV2ZW50cywgdGhpcyB2YWx1ZSBpcyBzZXQgdG8gVFJVRS4NCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgT3RoZXJ3aXNlLCB0aGUgdmFsdWUgd2lsbCBiZSBGQUxTRQ0KPiA+ IGFuZCB0aGUgRXZlbnQgTG9nIHdpbGwgYmUgY29tcGxldGUuDQo+ID4gKw0KPiA+ICsgIEByZXR2 YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICBPcGVyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxs eS4NCj4gPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgT25lIG9yIG1vcmUgb2Yg dGhlIHBhcmFtZXRlcnMgYXJlDQo+ID4gaW5jb3JyZWN0DQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChlLmcuIGFza2luZyBmb3IgYW4gZXZlbnQgbG9nIHdob3NlDQo+ID4g Zm9ybWF0IGlzIG5vdCBzdXBwb3J0ZWQpLg0KPiA+ICsqKi8NCj4gPiArdHlwZWRlZg0KPiA+ICtF RklfU1RBVFVTDQo+ID4gKyhFRklBUEkgKkVGSV9URF9HRVRfRVZFTlRfTE9HKSAoDQo+ID4gKyAg SU4gIEVGSV9URF9QUk9UT0NPTCAgICAgICAgICAqVGhpcywNCj4gPiArICBJTiAgRUZJX1REX0VW RU5UX0xPR19GT1JNQVQgIEV2ZW50TG9nRm9ybWF0LA0KPiA+ICsgIE9VVCBFRklfUEhZU0lDQUxf QUREUkVTUyAgICAgKkV2ZW50TG9nTG9jYXRpb24sDQo+ID4gKyAgT1VUIEVGSV9QSFlTSUNBTF9B RERSRVNTICAgICAqRXZlbnRMb2dMYXN0RW50cnksDQo+ID4gKyAgT1VUIEJPT0xFQU4gICAgICAg ICAgICAgICAgICAqRXZlbnRMb2dUcnVuY2F0ZWQNCj4gPiArICApOw0KPiA+ICsNCj4gPiArLyoq DQo+ID4gKyAgVGhlIEVGSV9URF9QUk9UT0NPTCBIYXNoTG9nRXh0ZW5kRXZlbnQgZnVuY3Rpb24g Y2FsbCBwcm92aWRlcw0KPiA+ICtjYWxsZXJzDQo+ID4gd2l0aA0KPiA+ICsgIGFuIG9wcG9ydHVu aXR5IHRvIGV4dGVuZCBhbmQgb3B0aW9uYWxseSBsb2cgZXZlbnRzIHdpdGhvdXQNCj4gPiArIHJl cXVpcmluZyAga25vd2xlZGdlIG9mIGFjdHVhbCBURCBjb21tYW5kcy4NCj4gPiArICBUaGUgZXh0 ZW5kIG9wZXJhdGlvbiB3aWxsIG9jY3VyIGV2ZW4gaWYgdGhpcyBmdW5jdGlvbiBjYW5ub3QgY3Jl YXRlDQo+ID4gKyBhbg0KPiA+IGV2ZW50DQo+ID4gKyAgbG9nIGVudHJ5IChlLmcuIGR1ZSB0byB0 aGUgZXZlbnQgbG9nIGJlaW5nIGZ1bGwpLg0KPiA+ICsNCj4gPiArICBAcGFyYW1baW5dICBUaGlz ICAgICAgICAgICAgICAgSW5kaWNhdGVzIHRoZSBjYWxsaW5nIGNvbnRleHQNCj4gPiArICBAcGFy YW1baW5dICBGbGFncyAgICAgICAgICAgICAgQml0bWFwIHByb3ZpZGluZyBhZGRpdGlvbmFsDQo+ ID4gaW5mb3JtYXRpb24uDQo+ID4gKyAgQHBhcmFtW2luXSAgRGF0YVRvSGFzaCAgICAgICAgIFBo eXNpY2FsIGFkZHJlc3Mgb2YgdGhlIHN0YXJ0IG9mIHRoZQ0KPiA+IGRhdGEgYnVmZmVyIHRvIGJl IGhhc2hlZC4NCj4gPiArICBAcGFyYW1baW5dICBEYXRhVG9IYXNoTGVuICAgICAgVGhlIGxlbmd0 aCBpbiBieXRlcyBvZiB0aGUgYnVmZmVyDQo+ID4gcmVmZXJlbmNlZCBieSBEYXRhVG9IYXNoLg0K PiA+ICsgIEBwYXJhbVtpbl0gIEVmaVRkRXZlbnQgICAgICAgICBQb2ludGVyIHRvIGRhdGEgYnVm ZmVyIGNvbnRhaW5pbmcNCj4gPiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZXZlbnQuDQo+ID4gKw0K PiA+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICBPcGVyYXRpb24gY29tcGxldGVk IHN1Y2Nlc3NmdWxseS4NCj4gPiArICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgICAgICAgVGhl IGNvbW1hbmQgd2FzIHVuc3VjY2Vzc2Z1bC4NCj4gPiArICBAcmV0dmFsIEVGSV9WT0xVTUVfRlVM TCAgICAgICAgVGhlIGV4dGVuZCBvcGVyYXRpb24gb2NjdXJyZWQsIGJ1dA0KPiA+IHRoZSBldmVu dCBjb3VsZCBub3QgYmUgd3JpdHRlbiB0byBvbmUgb3IgbW9yZSBldmVudCBsb2dzLg0KPiA+ICsg IEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICBPbmUgb3IgbW9yZSBvZiB0aGUgcGFyYW1l dGVycyBhcmUNCj4gPiBpbmNvcnJlY3QuDQo+ID4gKyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQg ICAgICAgIFRoZSBQRS9DT0ZGIGltYWdlIHR5cGUgaXMgbm90DQo+ID4gc3VwcG9ydGVkLg0KPiA+ ICsqKi8NCj4gPiArdHlwZWRlZg0KPiA+ICtFRklfU1RBVFVTDQo+ID4gKyhFRklBUEkgKiBFRklf VERfSEFTSF9MT0dfRVhURU5EX0VWRU5UKSAoDQo+ID4gKyAgSU4gRUZJX1REX1BST1RPQ09MICAg ICAgKlRoaXMsDQo+ID4gKyAgSU4gVUlOVDY0ICAgICAgICAgICAgICAgRmxhZ3MsDQo+ID4gKyAg SU4gRUZJX1BIWVNJQ0FMX0FERFJFU1MgRGF0YVRvSGFzaCwNCj4gPiArICBJTiBVSU5UNjQgICAg ICAgICAgICAgICBEYXRhVG9IYXNoTGVuLA0KPiA+ICsgIElOIEVGSV9URF9FVkVOVCAgICAgICAg ICpFZmlUZEV2ZW50DQo+ID4gKyAgKTsNCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgIFRoZSBFRklf VERfUFJPVE9DT0wgTWFwUGNyVG9NckluZGV4IGZ1bmN0aW9uIGNhbGwgcHJvdmlkZXMgY2FsbGVy cw0KPiA+ICsgIHRoZSBpbmZvIG9uIFRQTSBQQ1I8LT4gbWVhc3VyZW1lbnQgcmVnaXN0ZXIgbWFw cGluZyBpbmZvcm1hdGlvbi4NCj4gPiArDQo+ID4gKyAgSW4gY3VycmVudCB2ZXJzaW9uLCB3ZSB1 c2UgYmVsb3cgbWFwcGluZzoNCj4gPiArICAgIFBDUjAgICAgLT4gTVJURCAgKEluZGV4IDApDQo+ ID4gKyAgICBQQ1IxICAgIC0+IFJUTVIwIChJbmRleCAxKQ0KPiA+ICsgICAgUENSMn42ICAtPiBS VE1SMSAoSW5kZXggMikNCj4gPiArICAgIFBDUjcgICAgLT4gUlRNUjAgKEluZGV4IDEpDQo+ID4g KyAgICBQQ1I4fjE1IC0+IFJUTVIyIChJbmRleCAzKQ0KPiA+ICsNCj4gPiArICBAcGFyYW1baW5d ICBUaGlzICAgICAgICAgICAgICAgSW5kaWNhdGVzIHRoZSBjYWxsaW5nIGNvbnRleHQNCj4gPiAr ICBAcGFyYW1baW5dICBQY3JJbmRleCAgICAgICAgICAgVFBNIFBDUiBpbmRleC4NCj4gPiArICBA cGFyYW1bb3V0XSBNckluZGV4ICAgICAgICAgICAgTWVhc3VyZW1lbnQgcmVnaXN0ZXIgaW5kZXgu DQo+ID4gKw0KPiA+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICBUaGUgTVIgaW5k ZXggaXMgcmV0dXJuZWQuDQo+ID4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgIFRo ZSBNckluZGV4IGlzIE5VTEwuDQo+ID4gKyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAg IFRoZSBQY3JJbmRleCBpcyBpbnZhbGlkLg0KPiA+ICsqKi8NCj4gPiArdHlwZWRlZg0KPiA+ICtF RklfU1RBVFVTDQo+ID4gKyhFRklBUEkgKiBFRklfVERfTUFQX1BDUl9UT19NUl9JTkRFWCkgKA0K PiA+ICsgIElOICBFRklfVERfUFJPVE9DT0wgICAqVGhpcywNCj4gPiArICBJTiAgVENHX1BDUklO REVYICAgICAgUGNySW5kZXgsDQo+ID4gKyAgT1VUIEVGSV9URF9NUl9JTkRFWCAgICpNckluZGV4 DQo+ID4gKyAgKTsNCj4gPiArDQo+ID4gK3N0cnVjdCBfRUZJX1REX1BST1RPQ09MIHsNCj4gPiAr ICBFRklfVERfR0VUX0NBUEFCSUxJVFkgICAgICAgICAgICAgICAgICAgICBHZXRDYXBhYmlsaXR5 Ow0KPiA+ICsgIEVGSV9URF9HRVRfRVZFTlRfTE9HICAgICAgICAgICAgICAgICAgICAgIEdldEV2 ZW50TG9nOw0KPiA+ICsgIEVGSV9URF9IQVNIX0xPR19FWFRFTkRfRVZFTlQNCj4gPiBIYXNoTG9n RXh0ZW5kRXZlbnQ7DQo+ID4gKyAgRUZJX1REX01BUF9QQ1JfVE9fTVJfSU5ERVggICAgICAgICAg ICAgICAgTWFwUGNyVG9NckluZGV4Ow0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArDQo+ID4gKy8vDQo+ ID4gKy8vIFREIGV2ZW50IGxvZw0KPiA+ICsvLw0KPiA+ICsNCj4gPiArI3ByYWdtYSBwYWNrKDEp DQo+ID4gKw0KPiA+ICsvLw0KPiA+ICsvLyBDcnlwdG8gQWdpbGUgTG9nIEVudHJ5IEZvcm1hdC4N Cj4gPiArLy8gSXQgaXMgc2ltaWxhciB3aXRoIFRDR19QQ1JfRVZFTlQyIGV4Y2VwdCB0aGUgZmll bGQgb2YgTXJJbmRleCBhbmQNCj4gPiBQQ1JJbmRleC4NCj4gPiArLy8NCj4gPiArdHlwZWRlZiBz dHJ1Y3Qgew0KPiA+ICsgIEVGSV9URF9NUl9JTkRFWCAgICAgTXJJbmRleDsNCj4gPiArICBVSU5U MzIgICAgICAgICAgICAgIEV2ZW50VHlwZTsNCj4gPiArICBUUE1MX0RJR0VTVF9WQUxVRVMgIERp Z2VzdHM7DQo+ID4gKyAgVUlOVDMyICAgICAgICAgICAgICBFdmVudFNpemU7DQo+ID4gKyAgVUlO VDggICAgICAgICAgICAgICBFdmVudFsxXTsNCj4gPiArfSBURF9FVkVOVDsNCj4gPiArDQo+ID4g Ky8vDQo+ID4gKy8vIEVGSSBURCBFdmVudCBIZWFkZXINCj4gPiArLy8gSXQgaXMgc2ltaWxhciB3 aXRoIFRDR19QQ1JfRVZFTlQyX0hEUiBleGNlcHQgdGhlIGZpZWxkIG9mIE1ySW5kZXgNCj4gPiAr YW5kDQo+ID4gUENSSW5kZXgNCj4gPiArLy8NCj4gPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiA+ICsg IEVGSV9URF9NUl9JTkRFWCAgICAgTXJJbmRleDsNCj4gPiArICBVSU5UMzIgICAgICAgICAgICAg IEV2ZW50VHlwZTsNCj4gPiArICBUUE1MX0RJR0VTVF9WQUxVRVMgIERpZ2VzdHM7DQo+ID4gKyAg VUlOVDMyICAgICAgICAgICAgICBFdmVudFNpemU7DQo+ID4gK30gVERfRVZFTlRfSERSOw0KPiA+ ICsNCj4gPiArI3ByYWdtYSBwYWNrKCkNCj4gPiArDQo+ID4gKy8vDQo+ID4gKy8vIExvZyBlbnRy aWVzIGFmdGVyIEdldCBFdmVudCBMb2cgc2VydmljZSAvLw0KPiA+ICsNCj4gPiArDQo+ID4gK3R5 cGVkZWYgc3RydWN0IHsNCj4gPiArICAvLw0KPiA+ICsgIC8vIFRoZSB2ZXJzaW9uIG9mIHRoaXMg c3RydWN0dXJlLiBJdCBzaGFsbCBiZSBzZXQgb3QgMS4NCj4gPiArICAvLw0KPiA+ICsgIFVJTlQ2 NCAgICAgICAgICAgICAgICAgIFZlcnNpb247DQo+ID4gKyAgLy8NCj4gPiArICAvLyBOdW1iZXIg b2YgZXZlbnRzIHJlY29yZGVkIGFmdGVyIGludm9jYXRpb24gb2YgR2V0RXZlbnRMb2cgQVBJDQo+ ID4gKyAgLy8NCj4gPiArICBVSU5UNjQgICAgICAgICAgICAgICAgICBOdW1iZXJPZkV2ZW50czsN Cj4gPiArICAvLw0KPiA+ICsgIC8vIExpc3Qgb2YgZXZlbnRzIG9mIHR5cGUgVENHX1REX0VWRU5U Lg0KPiA+ICsgIC8vDQo+ID4gKyAgLy9URF9FVkVOVCAgICAgICAgICAgICAgRXZlbnRbMV07DQo+ ID4gK30gRUZJX1REX0ZJTkFMX0VWRU5UU19UQUJMRTsNCj4gPiArDQo+ID4gKw0KPiA+ICsjZGVm aW5lIEVGSV9URF9GSU5BTF9FVkVOVFNfVEFCTEVfR1VJRCBcDQo+ID4gKyAgezB4ZGQ0YTQ2NDgs IDB4MmRlNywgMHg0NjY1LCB7MHg5NiwgMHg0ZCwgMHgyMSwgMHhkOSwgMHhlZiwgMHg1ZiwNCj4g PiArMHhiNCwNCj4gPiAweDQ2fX0NCj4gPiArDQo+ID4gK2V4dGVybiBFRklfR1VJRCBnRWZpVGRG aW5hbEV2ZW50c1RhYmxlR3VpZDsNCj4gPiArDQo+ID4gKyNlbmRpZg0KPiA+IGRpZmYgLS1naXQg YS9NZGVQa2cvTWRlUGtnLmRlYyBiL01kZVBrZy9NZGVQa2cuZGVjIGluZGV4DQo+ID4gYTI4YTJk YWFmZmE4Li4yZjQ4ZjZjNDBjMWUgMTAwNjQ0DQo+ID4gLS0tIGEvTWRlUGtnL01kZVBrZy5kZWMN Cj4gPiArKysgYi9NZGVQa2cvTWRlUGtnLmRlYw0KPiA+IEBAIC0xMDA4LDYgKzEwMDgsOSBAQA0K PiA+ICAgICMjIEluY2x1ZGUvUHJvdG9jb2wvUGNkSW5mby5oDQo+ID4gICAgZ0dldFBjZEluZm9Q cm90b2NvbEd1aWQgICAgICAgID0geyAweDViZTQwZjU3LCAweGZhNjgsIDB4NDYxMCwgeyAweGJi LA0KPiA+IDB4YmYsIDB4ZTksIDB4YzUsIDB4ZmMsIDB4ZGEsIDB4ZDMsIDB4NjUgfSB9DQo+ID4N Cj4gPiArICAjIyBJbmNsdWRlL1Byb3RvY29sL1RkUHJvdG9jb2wuaA0KPiA+ICsgIGdFZmlUZFBy b3RvY29sR3VpZCAgICAgICAgICAgICA9IHsgMHg5Njc1MWEzZCwgMHg3MmY0LCAweDQxYTYsIHsg MHhhNywNCj4gPiAweDk0LCAweGVkLCAweDVkLCAweDBlLCAweDY3LCAweGFlLCAweDZiIH19DQo+ ID4gKw0KPiA+ICAgICMNCj4gPiAgICAjIFByb3RvY29scyBkZWZpbmVkIGluIFBJMS4wLg0KPiA+ ICAgICMNCj4gPiAtLQ0KPiA+IDIuMjkuMi53aW5kb3dzLjINCj4gPg0KPiA+DQo+ID4NCj4gPg0K PiA+DQo+IA0KPiANCj4gDQo+IA0KPiANCj4gDQo+IA0KDQo=