From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 9C8E3AC1325 for ; Wed, 30 Aug 2023 08:05:22 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=TEeGywDbLKrGH4VTVnAbuw9U4s3F+J0byEc8TZsgbkM=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type; s=20140610; t=1693382721; v=1; b=PAUajhYih3PFbNMB6eOaxgy5USUEqPEm553VOCsaCwA+vI6KwT9VM4MMpmLbL0NE3M8zLYcF yiQMPZbufMnUJs8IzNBaOV/l+qnp8gu7Gnv/UNUuww+vaqjPTydFWp4C3bBz8KUvExT5DYgI+Km 7mwqtbFfXoFQCCN45V7IZOsU= X-Received: by 127.0.0.2 with SMTP id 9Mt4YY7687511x1kPPdiW1nM; Wed, 30 Aug 2023 01:05:21 -0700 X-Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web10.9288.1693382720147489618 for ; Wed, 30 Aug 2023 01:05:20 -0700 X-IronPort-AV: E=McAfee;i="6600,9927,10817"; a="441939511" X-IronPort-AV: E=Sophos;i="6.02,213,1688454000"; d="scan'208,223";a="441939511" X-Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2023 01:02:29 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10817"; a="804422524" X-IronPort-AV: E=Sophos;i="6.02,213,1688454000"; d="scan'208,223";a="804422524" X-Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga008.fm.intel.com with ESMTP; 30 Aug 2023 01:02:25 -0700 X-Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 30 Aug 2023 01:02:24 -0700 X-Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Wed, 30 Aug 2023 01:02:24 -0700 X-Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.42) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Wed, 30 Aug 2023 01:02:24 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hD4mtg/q9+dLO1zAVyjr3iqiwB6v5b+KGKbd5V6Flf4K47UkiUl5XXQpQB6wyrRDXfva+GDs1Z29+Gp1+JdIwdieQwf612K1rF2SIWmclT8iPkjaA2gTq85QMRgW3AVZYduDuA/+I57McZR8EJbSpDAuioYUn1cSB/dAoR8uOHUmzVHP/yHKNRJu/eYsrHMXR5VJur92ZtMPYQlZSlDgL5FIEV/ASr1O2PbjZZeEor8yAGVVBJNuWq64+Ay0+uKnjBldtgDypfxQvGTaNZYBcccyd5gZk+IlmxYT4cC8X7Uawr1+fkh+GHp0dGztIF8Nmm40my8xINNLKb8e2ACdzw== 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=8c2B+ovEnazk9g3A9i9o/OkBXYQJiuuhl52JBh47030=; b=d9qoeoCtiM7im86NIOxlCnQmm86okDlF96vBbAadHMTDhGEfUREwD0Mi0sdJ+JUwMyG1myIvpe9vJyNPWi87Ms+Jauux/n4mBhktkbsUJqQcUxzXaoqYyy4NQXzm9UIj0bdvXV/VaEtAo//QiZRbJQsw0SFOdEHuOnasIMQxsoTJoIf+piyXn/4Hc2GRLHmGiq7I+PblvGruE8ikB9gvMqA+jzqvI9eI7oURanH/YoQJ2AdOkWEdz4OzUoB42Rkkvskw2npA+97CIQkQBEPyfBgmAkV5CLG1NgdGuiZKHK9dXR6b5Ojywa9zC+B+Xv8c3V7vTy//pvF1vAvyKJGlKw== 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 X-Received: from PH0PR11MB4870.namprd11.prod.outlook.com (2603:10b6:510:34::16) by CY8PR11MB7057.namprd11.prod.outlook.com (2603:10b6:930:53::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.20; Wed, 30 Aug 2023 08:02:21 +0000 X-Received: from PH0PR11MB4870.namprd11.prod.outlook.com ([fe80::9c2:b8cf:67ee:32e0]) by PH0PR11MB4870.namprd11.prod.outlook.com ([fe80::9c2:b8cf:67ee:32e0%5]) with mapi id 15.20.6745.020; Wed, 30 Aug 2023 08:02:21 +0000 From: "Sheng Wei" To: "devel@edk2.groups.io" , "Yao, Jiewen" CC: "Wang, Jian J" , "Xu, Min M" , "Chen, Zeyi" , "Wang, Fiona" , "Lu, Xiaoyu1" , "Jiang, Guomin" , "Kinney, Michael D" , "Yu, Ling" Subject: Re: [edk2-devel] [PATCH V7 0/2] Support RSA4096 and RSA3072 Thread-Topic: [edk2-devel] [PATCH V7 0/2] Support RSA4096 and RSA3072 Thread-Index: AQHZy0CxRi9+mBtrj0G49W0wUVJp4q/15FsQgAy0SiA= Date: Wed, 30 Aug 2023 08:02:21 +0000 Message-ID: References: <1779E466B0A8FFE7.8497@groups.io> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR11MB4870:EE_|CY8PR11MB7057:EE_ x-ms-office365-filtering-correlation-id: 9fc68546-632a-4324-da8e-08dba92f7069 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: M6kW1GPlYm+9a9hUyspeHf1FzdEHWxAZjJCNcIwmR6+6GV/1wmNkLrRybO4ET2ST6CCx+MaX4pZ69IgGH6VO/98vvcYbqbnv8FLkpIW83q5BzoC/UOOILHlE70nQx5Ynvk5hOi/InDQENumivn+fjJOiNKzfVACwdhZk6CIP41Zez0JWf5sk6No0Y/Q0mYxOgrJ07wQlmV0ptSIU8YMwCRQ/hqVRurvMPQua02fwA6MYPy2PA00zMZ7gMwRoiPXPHfyCsVP4YfY54BpEl5hgJ1a+wpcB4Z0JnCZBXpBzqTKcT99VIvH4TR6Zv+u2Ery9p3nEORwa82cC8h9n+0ushOFOONx5QFDsBHpdLcaLqKPKTMICVHUJvkPPGFdH7sCV5vL4m47XUUeWb7H9EonSWMOdDE7x0iVRtHjA3vPQjEGbhpkgck0VhW3ReXqpinEmlVHsj2aVgPnPVK/9Pwgw7Va63k4OeTY5InlvNGr2LrxCeswZAJGvhAU7yPvVC6I4WTl5Iz1u6lkUeq8FBKRzj+oHr4WxDJgdaL7P8yuyRsyoo25Yxx7lsadypJo4mjlrP7nrx8JMNtXQIOy+AhBO647lCkB8PwUZCCv0Pj3XH0F49/ZPWwlhnjEd6ef23ocZv/JuTkfvaUN0OA4dIjAUeg== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?gb2312?B?NEhEeEp0cUw5cVdxaUhTeCs3KzZseGMrUUZTQXdHcGRJS2hxYWYyZDJSMW5x?= =?gb2312?B?M01DUVo0anZTVGVyTEd5aXN6WGFtdlVyM0xVdmFDZG56Y2dPeWdwdUk1MVNw?= =?gb2312?B?YWxSWWFiMllrWkRJYVRydlEwcFBGR0NOTk1Gck14cXRQKy9EZHRvTHpCdlYv?= =?gb2312?B?T1pYZlRrWW8xbFoyZTltK3A2Z0s1dWQ0TGpaaEtHQW9IQVFhTkNrR2dlWTFB?= =?gb2312?B?TVlGVWVpM2Z1NVJIN25DVWozWk44amtmNHR3VTc3Q2hvejhZZEdraXNJOUlz?= =?gb2312?B?WHZoek5Hd2lHdStLbE1mUjhObEMyNEEzMWczcEcrNUJYMEUvU0huTld0TVcw?= =?gb2312?B?bGNlVE1QZ2I3cjFmUHRUWVV6eGVtQk15VU9nb25NOWFLQ0cvbFVpRzB1TDdk?= =?gb2312?B?OG8vYUdDelRZbmhQVmJsUFc5OVNJeGErWURRQyt2bXpYWXBuYXhPVVM2L1ZC?= =?gb2312?B?RUx1YVB2TXBhK0VyQlNrMzJUbEtyMVJTSUNEKzYrSjhuNHBOZ3B6ZnJyK2Ey?= =?gb2312?B?S2FjUmdZUUpwL0xaVHpFQnVrWThmaEE5N1ZlbmwwamNuZTVNcGJ2MUVzcTBW?= =?gb2312?B?eitkR1VocWNRZjBLRDJpY0U2ZjBCcmlMOU5VVHYwRzB3S2RrYzFLVWNhU1gr?= =?gb2312?B?Ym1QZ3hpV1J5Y0YvYzNsanpnSXN3R2VSTi9uTk16MkpCL0dSbTljTk1xbFAy?= =?gb2312?B?aXN1bkgwOFQ2b3EyTWlhZ3ZGU1FFRWNGUlVmWXU4Q1Q3SGk2ejhSek5TcElU?= =?gb2312?B?dnRDZWxqMG0rbFFub0FKTW5SZGs4NmdDUVkzMnBBTWlpZEovRmtxZ0Frdysz?= =?gb2312?B?eWtQOEw2dnlhUEs2cXhqWDMzYmpGdmZzc2ptSk93QXJDOWtnS0ltLzFZUHJs?= =?gb2312?B?K2d2OWp1QTlQTmJIVTQ0ckgySmVKTVVvUVBUR09kczdwMTdtbENkVFJmNjAr?= =?gb2312?B?bTVPYkVaMU9sbUszWnJaSjV4U2JZOGs2ZXgxSDd1NGdxYnhXWEZXUkQwbDdm?= =?gb2312?B?OXpDQ2FZNU14bW5qM2ZRalJBQ2hmcWcwMlpVcEU2Q3ZOUlpoOUZLRGJoQmt5?= =?gb2312?B?MlR2b0E3SWl2SGo4cy9NM0c5cVFZZVk3dFRwNGJCdjYza2g2Rkl4bkNhK056?= =?gb2312?B?TWRxbXpCVnR0UlVsRmcxYmpJanh5a3NkajBNMXVNMXNZR21BaG9OSE95emFw?= =?gb2312?B?QTAyNnRpS0grMXd6QXFLMU16ZlNmdmdTbExTZUhvd1RMbjlWTmRwTjdYbEJl?= =?gb2312?B?S2dMYkVmMU9TOVlCZDAwNnpOK1R4M0JBSXhBR0VqVVY4WlJWYmpWNDZSMCtw?= =?gb2312?B?NkxqZUp2YUdZQ0ZIUDJZcEdKUzd3ZXRMSVNLN1dUN2RydkExNXVlc2JMVUh2?= =?gb2312?B?aGRhN0trWHJzSmN1cytUTTZnc2lEd0x6WXZlTUNwM0FmemlGZXJnSG1Sb0VL?= =?gb2312?B?UGJKd2JVUllhVjJPSmZkbWt3UndlSWF2di96a3YzWXJuek1FenYycnRFV3dw?= =?gb2312?B?U1FIbTZFbEltNGNEOEV4aTRhTm9zTUFINVVya2ExUi9qc1NMTUVGdm05UGY0?= =?gb2312?B?WFlKL0xXTExyVUwwQWN3bHI0NExDUXNzempMSi9ISEU4dVlHK0x6ZEJvdFRQ?= =?gb2312?B?Ym0yV1RZQTNXQmJYK29NbGVCeE9ua2drTVlnZ0dpcGYzdkplTjYzaFE1UC9m?= =?gb2312?B?OE84Tm1ka0VlN2g3NjJOSzB5MXpXVVVTTWdUckJsd3BROG9CbEc3RkRzZFlV?= =?gb2312?B?dVhvVUxKWmR1RXROeDlGaUV3eDFPc0krSGxSMXVEZWZlUkJYd0p1MDIrc1hR?= =?gb2312?B?UU44UWtjYkNXdjhwZkZqbTVlTkZVT0ljRUNxOEdxMWR5MGtLRkNnR2szYUpl?= =?gb2312?B?VmpremlYUnJ5dyszQWd4UHYzZ2NXRE1UQ0NjbmxDYVIxRHFOdTVkS1RPKzJy?= =?gb2312?B?d1hLZGJRamoxbWV5cVg2RWZVSEFaUXErdHFxc3pRZmJRYXhxUUJGQWp6UVlS?= =?gb2312?B?OGNxTHpDMXcrdWY0cE1mcnF2MkRMR0I3UmRYbDU4cDNROGxTMVRNZmRld3Qv?= =?gb2312?B?dGYzeE5Rd1Q2eVh4WFVWaVlja08zckNvU0xRRndXT3ErdDVJWWc5RGJleTJv?= =?gb2312?Q?idsw=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB4870.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9fc68546-632a-4324-da8e-08dba92f7069 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Aug 2023 08:02:21.7078 (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: 96ZzGGKRzJK3W4RpZBLSOtoCEuGPe/vAip2gDHGSOuxXDRutTqno510pQBWkN5HIKA3bI82LdruTyRyRydto8g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB7057 X-OriginatorOrg: intel.com Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,w.sheng@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: IDvGBEqIM53twc4I5PiI5n3vx7686176AA= Content-Language: en-US Content-Type: multipart/mixed; boundary="_004_PH0PR11MB4870A8BA471236EC668E7B93E1E6APH0PR11MB4870namp_" X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=PAUajhYi; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io --_004_PH0PR11MB4870A8BA471236EC668E7B93E1E6APH0PR11MB4870namp_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SGkgSmlld2VuLA0KRG8geW91IGhhdmUgYW55IGNvbW1lbnRzIG9uIHRoZSBwYXRjaCBWNz8NClRo ZSAyIHBhdGNoZXMgYXJlIGZvciBDcnlwdG9Qa2cgYW5kIFNlY3VyaXR5UGt5Lg0KQ291bGQgeW91 IGhlbHAgdG8gcmV2aWV3L21lcmdlIHRoZSBwYXRjaGVzPw0KVGhhbmsgeW91Lg0KQlINClNoZW5n IFdlaQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFNoZW5nLCBXDQo+ IFNlbnQ6IFR1ZXNkYXksIEF1Z3VzdCAyMiwgMjAyMyAxOjU5IFBNDQo+IFRvOiBkZXZlbEBlZGsy Lmdyb3Vwcy5pbzsgWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiBDYzogV2Fu ZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBYdSwgTWluIE0gPG1pbi5tLnh1QGlu dGVsLmNvbT47DQo+IENoZW4sIFpleWkgPFpleWkuQ2hlbkBpbnRlbC5jb20+OyBXYW5nLCBGaW9u YSA8ZmlvbmEud2FuZ0BpbnRlbC5jb20+OyBMdSwNCj4gWGlhb3l1MSA8eGlhb3l1MS5sdUBpbnRl bC5jb20+OyBKaWFuZywgR3VvbWluIDxHdW9taW4uSmlhbmdAaW50ZWwuY29tPjsNCj4gS2lubmV5 LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgU2hlbmcsIFcNCj4gPHcu c2hlbmdAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSCBWNyAw LzJdIFN1cHBvcnQgUlNBNDA5NiBhbmQgUlNBMzA3Mg0KPiANCj4gSGkgSmlld2VuLA0KPiBJIHVw ZGF0ZSB0aGUgcGF0Y2ggVjYgdG8gVjcsIGRyb3AgcmF3IFJTQTNLIGFuZCBSU0E0Sy4gVGhlIGNo YW5nZSBpcyBpbg0KPiBTZWN1cml0eVBrZy4NCj4gQW5kIEkgZGlkIGFsbCB0aGUgdGVzdHMgd2hp Y2ggYXJlIGxpc3RlZCBpbiB0aGUgY292ZXIgbGV0dGVyLiBJIGdvdCB0aGUgZXhwZWN0ZWQNCj4g cmVzdWx0cy4NCj4gQ291bGQgeW91IGhlbHAgdG8gcmV2aWV3L21lcmdlIHRoaXMgVjcgcGF0Y2gg Zm9yIHNlY3VyZSBib290IGZlYXR1cmUgPw0KPiBUaGFuayB5b3UuDQo+IEJSDQo+IFNoZW5nIFdl aQ0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IGRldmVsQGVk azIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIFNoZW5nDQo+ ID4gV2VpDQo+ID4gU2VudDogMjAyM8TqONTCMTDI1SAxMDoyNA0KPiA+IFRvOiBkZXZlbEBlZGsy Lmdyb3Vwcy5pbw0KPiA+IENjOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBX YW5nLCBKaWFuIEoNCj4gPiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgWHUsIE1pbiBNIDxtaW4u bS54dUBpbnRlbC5jb20+OyBDaGVuLCBaZXlpDQo+ID4gPHpleWkuY2hlbkBpbnRlbC5jb20+OyBX YW5nLCBGaW9uYSA8ZmlvbmEud2FuZ0BpbnRlbC5jb20+OyBMdSwgWGlhb3l1MQ0KPiA+IDx4aWFv eXUxLmx1QGludGVsLmNvbT47IEppYW5nLCBHdW9taW4gPGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+ Ow0KPiA+IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4g PiBTdWJqZWN0OiBbZWRrMi1kZXZlbF0gW1BBVENIIFY3IDAvMl0gU3VwcG9ydCBSU0E0MDk2IGFu ZCBSU0EzMDcyDQo+ID4NCj4gPiBQYXRjaCBWNzoNCj4gPiBEcm9wIHJhdyBSU0EzMDcyIGFuZCBS U0E0MDk2LiBPbmx5IHVzZSBnRWZpQ2VydFg1MDlHdWlkIGZvciBSU0EzMDcyDQo+ID4gYW5kDQo+ ID4gUlNBNDA5NiBEbyB0aGUgcG9zaXRpdmUgdGVzdHMgYW5kIHRoZSBuZWdhdGl2ZSB0ZXN0cyBi ZWxvdy4gQW5kIGdvdA0KPiA+IGFsbCB0aGUgZXhwZWN0ZWQgcmVzdWx0cy4NCj4gPg0KPiA+IFBh dGNoIFY2Og0KPiA+IFJlbW92ZSB0aGUgY2hhbmdlcyBpbiBNZGVQa2cuDQo+ID4gVGhlIGNoYW5n ZXMgb2YgcGF0Y2ggdjYgYXJlIGluIENyeXB0b1BrZyBhbmQgU2VjdXJpdHlQa2cuDQo+ID4gU2V0 IHNpZ25hdHVyZSB0eXBlIHRvIGdFZmlDZXJ0WDUwOUd1aWQgd2hlbiBlbnJvbGwgUlNBMzA3Mi9S U0E0MDk2IEtFSy4NCj4gPiBUaGlzIHNpZ25hdHVyZSB0eXBlIGlzIHVzZWQgdG8gY2hlY2sgdGhl IHN1cHBvcnRlZCBzaWduYXR1cmUgYW5kIHNob3cNCj4gPiB0aGUgc3RyaW5ncy4NCj4gPg0KPiA+ IFBhdGNoIFY1Og0KPiA+IFVzaW5nIGRlZmluZSBLRVlfVFlQRV9SU0FTU0EgdG8gcmVwbGFjZSB0 aGUgbWFnaWMgbnVtYmVyLg0KPiA+DQo+ID4gUGF0Y2ggVjQ6DQo+ID4gRGV0ZXJtaW5lIHRoZSBS U0EgYWxnb3JpdGhtIGJ5IGEgc3VwcG9ydGVkIGFsZ29yaXRobSBsaXN0Lg0KPiA+DQo+ID4gUGF0 Y2ggVjM6DQo+ID4gU2VsZWN0IFNIQSBhbGdvcml0aG0gYXV0b21hdGljbHkgZm9yIGEgdW5zaWdu ZWQgZWZpIGltYWdlLg0KPiA+DQo+ID4gUGF0Y2ggVjI6DQo+ID4gRGV0ZXJtaW5lIHRoZSBTSEEg YWxnb3JpdGhtIGJ5IGEgc3VwcG9ydGVkIGFsZ29yaXRobSBsaXN0Lg0KPiA+IENyZWF0ZSBTSEEg Y29udGV4dCBmb3IgZWFjaCBhbGdvcml0aG0uDQo+ID4NCj4gPiBUZXN0IENhc2U6DQo+ID4gMS4g RW5yb2xsIGEgUlNBNDA5NiBDZXJ0LCBhbmQgZXhlY3V0ZSBhbiBSU0E0MDk2IHNpZ25lZCBlZmkg aW1hZ2UNCj4gPiB1bmRlciBVRUZJIHNoZWxsLg0KPiA+IDIuIEVucm9sbCBhIFJTQTMwNzIgQ2Vy dCwgYW5kIGV4ZWN1dGUgYW4gUlNBMzA3MiBzaWduZWQgZWZpIGltYWdlDQo+ID4gdW5kZXIgVUVG SSBzaGVsbC4NCj4gPiAzLiBFbnJvbGwgYSBSU0EyMDQ4IENlcnQsIGFuZCBleGVjdXRlIGFuIFJT QTIwNDggc2lnbmVkIGVmaSBpbWFnZQ0KPiA+IHVuZGVyIFVFRkkgc2hlbGwuDQo+ID4gNC4gRW5y b2xsIGFuIHVuc2lnbmVkIGVmaSBpbWFnZSwgZXhlY3V0ZSB0aGUgdW5zaWduZWQgZWZpIGltYWdl IHVuZGVyDQo+ID4gVUVGSSBzaGVsbA0KPiA+DQo+ID4gVGVzdCBSZXN1bHQ6DQo+ID4gUGFzcw0K PiA+DQo+ID4gTmVnYXRpdmUgVGVzdCBDYXNlOg0KPiA+IDEpIEVucm9sbCBhIFJTQTIwNDggQ2Vy dCwgZXhlY3V0ZSBhbiB1bnNpZ25lZCBlZmkgaW1hZ2UuDQo+ID4gMikgRW5yb2xsIGEgUlNBMjA0 OCBDZXJ0LCBleGVjdXRlIGEgUlNBNDA5NiBzaWduZWQgZWZpIGltYWdlLg0KPiA+IDMpIEVucm9s bCBhIFJTQTQwOTYgQ2VydCwgZXhlY3V0ZSBhIFJTQTMwNzIgc2lnbmVkIGVmaSBpbWFnZS4NCj4g PiA0KSBFbnJvbGwgYSBSU0E0MDk2IENlcnQgdG8gYm90aCBEQiBhbmQgREJYLCBleGVjdXRlIHRo ZSBSU0E0MDk2DQo+ID4gc2lnbmVkIGVmaSBpbWFnZS4NCj4gPg0KPiA+IFRlc3QgUmVzdWx0Og0K PiA+IEdldCAiQWNjZXNzIERlbmllZCIgd2hlbiB0cnkgdG8gZXhlY3V0ZSB0aGUgZWZpIGltYWdl Lg0KPiA+DQo+ID4gQ2M6IEppZXdlbiBZYW8gPGppZXdlbi55YW9AaW50ZWwuY29tPg0KPiA+IENj OiBKaWFuIEogV2FuZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPiA+IENjOiBNaW4gWHUgPG1p bi5tLnh1QGludGVsLmNvbT4NCj4gPiBDYzogWmV5aSBDaGVuIDx6ZXlpLmNoZW5AaW50ZWwuY29t Pg0KPiA+IENjOiBGaW9uYSBXYW5nIDxmaW9uYS53YW5nQGludGVsLmNvbT4NCj4gPiBDYzogWGlh b3l1IEx1IDx4aWFveXUxLmx1QGludGVsLmNvbT4NCj4gPiBDYzogR3VvbWluIEppYW5nIDxndW9t aW4uamlhbmdAaW50ZWwuY29tPg0KPiA+IENjOiBNaWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQu a2lubmV5QGludGVsLmNvbT4NCj4gPg0KPiA+IFNoZW5nIFdlaSAoMik6DQo+ID4gICBDcnlwdG9Q a2cvTGlicmFyeS9CYXNlQ3J5cHRMaWI6IGFkZCBzaGEzODQgYW5kIHNoYTUxMiB0bw0KPiA+ICAg ICBJbWFnZVRpbWVzdGFtcFZlcmlmeQ0KPiA+ICAgU2VjdXJpdHlQa2cvU2VjdXJlQm9vdDogU3Vw cG9ydCBSU0EgNTEyIGFuZCBSU0EgMzg0DQo+ID4NCj4gPiAgQ3J5cHRvUGtnL0xpYnJhcnkvQmFz ZUNyeXB0TGliL1BrL0NyeXB0VHMuYyAgIHwgICAzICstDQo+ID4gIC4uLi9MaWJyYXJ5L0F1dGhW YXJpYWJsZUxpYi9BdXRoU2VydmljZS5jICAgICB8IDIxOCArKysrKysrKysrKysrKystLS0NCj4g PiAgLi4uL0F1dGhWYXJpYWJsZUxpYi9BdXRoU2VydmljZUludGVybmFsLmggICAgIHwgICA0ICst DQo+ID4gIC4uLi9MaWJyYXJ5L0F1dGhWYXJpYWJsZUxpYi9BdXRoVmFyaWFibGVMaWIuYyB8ICA0 MiArKy0tDQo+ID4gIC4uLi9EeGVJbWFnZVZlcmlmaWNhdGlvbkxpYi5jICAgICAgICAgICAgICAg ICB8ICA3MyArKystLS0NCj4gPiAgLi4uL1NlY3VyZUJvb3RDb25maWdEeGUuaW5mICAgICAgICAg ICAgICAgICAgIHwgICA4ICsNCj4gPiAgLi4uL1NlY3VyZUJvb3RDb25maWdJbXBsLmMgICAgICAg ICAgICAgICAgICAgIHwgIDUwICsrKy0NCj4gPiAgLi4uL1NlY3VyZUJvb3RDb25maWdJbXBsLmgg ICAgICAgICAgICAgICAgICAgIHwgICA3ICsNCj4gPiAgLi4uL1NlY3VyZUJvb3RDb25maWdTdHJp bmdzLnVuaSAgICAgICAgICAgICAgIHwgICAyICsNCj4gPiAgOSBmaWxlcyBjaGFuZ2VkLCAzMjQg aW5zZXJ0aW9ucygrKSwgODMgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiAtLQ0KPiA+IDIuMjYuMi53 aW5kb3dzLjENCj4gPg0KPiA+DQo+ID4NCj4gPiANCj4gPg0KDQoNCgotPS09LT0tPS09LT0tPS09 LT0tPS09LQpHcm91cHMuaW8gTGlua3M6IFlvdSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50IHRv IHRoaXMgZ3JvdXAuClZpZXcvUmVwbHkgT25saW5lICgjMTA4MTI5KTogaHR0cHM6Ly9lZGsyLmdy b3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvMTA4MTI5Ck11dGUgVGhpcyBUb3BpYzogaHR0cHM6Ly9n cm91cHMuaW8vbXQvMTAwNjU2OTE4Lzc2ODYxNzYKR3JvdXAgT3duZXI6IGRldmVsK293bmVyQGVk azIuZ3JvdXBzLmlvClVuc3Vic2NyaWJlOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwv dW5zdWIgW3JlYmVjY2FAb3BlbmZ3LmlvXQotPS09LT0tPS09LT0tPS09LT0tPS09LQoKDQo= --_004_PH0PR11MB4870A8BA471236EC668E7B93E1E6APH0PR11MB4870namp_ Content-Type: application/octet-stream; name="0000-cover-letter.patch" Content-Description: 0000-cover-letter.patch Content-Disposition: attachment; filename="0000-cover-letter.patch"; size=2736; creation-date="Wed, 30 Aug 2023 07:58:19 GMT"; modification-date="Wed, 30 Aug 2023 08:02:17 GMT" Content-Transfer-Encoding: base64 RnJvbSBkYTUwNDc1NjIwNTVhMTI0OGMwYWYxNjU1MDk4MTQ0YjA5YzQ0MTRlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTaGVuZyBXZWkgPHcuc2hlbmdAaW50ZWwuY29tPgpEYXRlOiBX ZWQsIDkgQXVnIDIwMjMgMTY6Mjg6MzIgKzA4MDAKU3ViamVjdDogW1BBVENIIFY3IDAvMl0gU3Vw cG9ydCBSU0E0MDk2IGFuZCBSU0EzMDcyCgpQYXRjaCBWNzoKRHJvcCByYXcgUlNBMzA3MiBhbmQg UlNBNDA5Ni4gT25seSB1c2UgZ0VmaUNlcnRYNTA5R3VpZCBmb3IgUlNBMzA3MiBhbmQgUlNBNDA5 NgpEbyB0aGUgcG9zaXRpdmUgdGVzdHMgYW5kIHRoZSBuZWdhdGl2ZSB0ZXN0cyBiZWxvdy4gQW5k IGdvdCBhbGwgdGhlIGV4cGVjdGVkIHJlc3VsdHMuCgpQYXRjaCBWNjoKUmVtb3ZlIHRoZSBjaGFu Z2VzIGluIE1kZVBrZy4KVGhlIGNoYW5nZXMgb2YgcGF0Y2ggdjYgYXJlIGluIENyeXB0b1BrZyBh bmQgU2VjdXJpdHlQa2cuClNldCBzaWduYXR1cmUgdHlwZSB0byBnRWZpQ2VydFg1MDlHdWlkIHdo ZW4gZW5yb2xsIFJTQTMwNzIvUlNBNDA5NiBLRUsuClRoaXMgc2lnbmF0dXJlIHR5cGUgaXMgdXNl ZCB0byBjaGVjayB0aGUgc3VwcG9ydGVkIHNpZ25hdHVyZSBhbmQgc2hvdyB0aGUgc3RyaW5ncy4K ClBhdGNoIFY1OgpVc2luZyBkZWZpbmUgS0VZX1RZUEVfUlNBU1NBIHRvIHJlcGxhY2UgdGhlIG1h Z2ljIG51bWJlci4KClBhdGNoIFY0OgpEZXRlcm1pbmUgdGhlIFJTQSBhbGdvcml0aG0gYnkgYSBz dXBwb3J0ZWQgYWxnb3JpdGhtIGxpc3QuCgpQYXRjaCBWMzoKU2VsZWN0IFNIQSBhbGdvcml0aG0g YXV0b21hdGljbHkgZm9yIGEgdW5zaWduZWQgZWZpIGltYWdlLgoKUGF0Y2ggVjI6CkRldGVybWlu ZSB0aGUgU0hBIGFsZ29yaXRobSBieSBhIHN1cHBvcnRlZCBhbGdvcml0aG0gbGlzdC4KQ3JlYXRl IFNIQSBjb250ZXh0IGZvciBlYWNoIGFsZ29yaXRobS4KClRlc3QgQ2FzZToKMS4gRW5yb2xsIGEg UlNBNDA5NiBDZXJ0LCBhbmQgZXhlY3V0ZSBhbiBSU0E0MDk2IHNpZ25lZCBlZmkgaW1hZ2UgdW5k ZXIgVUVGSSBzaGVsbC4gCjIuIEVucm9sbCBhIFJTQTMwNzIgQ2VydCwgYW5kIGV4ZWN1dGUgYW4g UlNBMzA3MiBzaWduZWQgZWZpIGltYWdlIHVuZGVyIFVFRkkgc2hlbGwuIAozLiBFbnJvbGwgYSBS U0EyMDQ4IENlcnQsIGFuZCBleGVjdXRlIGFuIFJTQTIwNDggc2lnbmVkIGVmaSBpbWFnZSB1bmRl ciBVRUZJIHNoZWxsLiAKNC4gRW5yb2xsIGFuIHVuc2lnbmVkIGVmaSBpbWFnZSwgZXhlY3V0ZSB0 aGUgdW5zaWduZWQgZWZpIGltYWdlIHVuZGVyIFVFRkkgc2hlbGwKClRlc3QgUmVzdWx0OgpQYXNz CgpOZWdhdGl2ZSBUZXN0IENhc2U6CjEpIEVucm9sbCBhIFJTQTIwNDggQ2VydCwgZXhlY3V0ZSBh biB1bnNpZ25lZCBlZmkgaW1hZ2UuCjIpIEVucm9sbCBhIFJTQTIwNDggQ2VydCwgZXhlY3V0ZSBh IFJTQTQwOTYgc2lnbmVkIGVmaSBpbWFnZS4KMykgRW5yb2xsIGEgUlNBNDA5NiBDZXJ0LCBleGVj dXRlIGEgUlNBMzA3MiBzaWduZWQgZWZpIGltYWdlLgo0KSBFbnJvbGwgYSBSU0E0MDk2IENlcnQg dG8gYm90aCBEQiBhbmQgREJYLCBleGVjdXRlIHRoZSBSU0E0MDk2IHNpZ25lZCBlZmkgaW1hZ2Uu CgpUZXN0IFJlc3VsdDoKR2V0ICJBY2Nlc3MgRGVuaWVkIiB3aGVuIHRyeSB0byBleGVjdXRlIHRo ZSBlZmkgaW1hZ2UuCgpDYzogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb20+CkNjOiBK aWFuIEogV2FuZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPgpDYzogTWluIFh1IDxtaW4ubS54dUBp bnRlbC5jb20+CkNjOiBaZXlpIENoZW4gPHpleWkuY2hlbkBpbnRlbC5jb20+CkNjOiBGaW9uYSBX YW5nIDxmaW9uYS53YW5nQGludGVsLmNvbT4KQ2M6IFhpYW95dSBMdSA8eGlhb3l1MS5sdUBpbnRl bC5jb20+CkNjOiBHdW9taW4gSmlhbmcgPGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+CkNjOiBNaWNo YWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4KClNoZW5nIFdlaSAoMik6 CiAgQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliOiBhZGQgc2hhMzg0IGFuZCBzaGE1MTIg dG8KICAgIEltYWdlVGltZXN0YW1wVmVyaWZ5CiAgU2VjdXJpdHlQa2cvU2VjdXJlQm9vdDogU3Vw cG9ydCBSU0EgNTEyIGFuZCBSU0EgMzg0CgogQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGli L1BrL0NyeXB0VHMuYyAgIHwgICAzICstCiAuLi4vTGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0 aFNlcnZpY2UuYyAgICAgfCAyMTggKysrKysrKysrKysrKysrLS0tCiAuLi4vQXV0aFZhcmlhYmxl TGliL0F1dGhTZXJ2aWNlSW50ZXJuYWwuaCAgICAgfCAgIDQgKy0KIC4uLi9MaWJyYXJ5L0F1dGhW YXJpYWJsZUxpYi9BdXRoVmFyaWFibGVMaWIuYyB8ICA0MiArKy0tCiAuLi4vRHhlSW1hZ2VWZXJp ZmljYXRpb25MaWIuYyAgICAgICAgICAgICAgICAgfCAgNzMgKysrLS0tCiAuLi4vU2VjdXJlQm9v dENvbmZpZ0R4ZS5pbmYgICAgICAgICAgICAgICAgICAgfCAgIDggKwogLi4uL1NlY3VyZUJvb3RD b25maWdJbXBsLmMgICAgICAgICAgICAgICAgICAgIHwgIDUwICsrKy0KIC4uLi9TZWN1cmVCb290 Q29uZmlnSW1wbC5oICAgICAgICAgICAgICAgICAgICB8ICAgNyArCiAuLi4vU2VjdXJlQm9vdENv bmZpZ1N0cmluZ3MudW5pICAgICAgICAgICAgICAgfCAgIDIgKwogOSBmaWxlcyBjaGFuZ2VkLCAz MjQgaW5zZXJ0aW9ucygrKSwgODMgZGVsZXRpb25zKC0pCgotLSAKMi4yNi4yLndpbmRvd3MuMQoK --_004_PH0PR11MB4870A8BA471236EC668E7B93E1E6APH0PR11MB4870namp_ Content-Type: application/octet-stream; name="0001-CryptoPkg-Library-BaseCryptLib-add-sha384-and-sha512.patch" Content-Description: 0001-CryptoPkg-Library-BaseCryptLib-add-sha384-and-sha512.patch Content-Disposition: attachment; filename="0001-CryptoPkg-Library-BaseCryptLib-add-sha384-and-sha512.patch"; size=1745; creation-date="Wed, 30 Aug 2023 07:58:00 GMT"; modification-date="Wed, 30 Aug 2023 08:02:18 GMT" Content-Transfer-Encoding: base64 RnJvbSA2Y2FkZWI0MzM1NzUxMzc3NDVkMjY1YjE1MTNkNDJiYzhmOGYwNjlkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTaGVuZyBXZWkgPHcuc2hlbmdAaW50ZWwuY29tPgpEYXRlOiBU dWUsIDI1IEp1bCAyMDIzIDE2OjQ2OjA3ICswODAwClN1YmplY3Q6IFtQQVRDSCBWNyAxLzJdIENy eXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYjogYWRkIHNoYTM4NCBhbmQgc2hhNTEyCiB0byBJ bWFnZVRpbWVzdGFtcFZlcmlmeQoKUmVnaXN0ZXIgYW5kIGluaXRpYWxpemUgc2hhMzg0L3NoYTUx MiBkaWdlc3QgYWxnb3JpdGhtcyBmb3IgUEtDUyM3IEhhbmRsaW5nLgoKUkVGOiBodHRwczovL2J1 Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTM0MTMKCkNjOiBKaWV3ZW4gWWFv IDxqaWV3ZW4ueWFvQGludGVsLmNvbT4KQ2M6IEppYW4gSiBXYW5nIDxqaWFuLmoud2FuZ0BpbnRl bC5jb20+CkNjOiBNaW4gWHUgPG1pbi5tLnh1QGludGVsLmNvbT4KQ2M6IFpleWkgQ2hlbiA8emV5 aS5jaGVuQGludGVsLmNvbT4KQ2M6IEZpb25hIFdhbmcgPGZpb25hLndhbmdAaW50ZWwuY29tPgpD YzogWGlhb3l1IEx1IDx4aWFveXUxLmx1QGludGVsLmNvbT4KQ2M6IEd1b21pbiBKaWFuZyA8Z3Vv bWluLmppYW5nQGludGVsLmNvbT4KQ2M6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5u ZXlAaW50ZWwuY29tPgoKQ2hhbmdlLUlkOiBJMjA4YTYxOGUzZjZlYjEyNzA0ZTUyOGFiODQyNDk0 MDgyZGUxNDY0ZApTaWduZWQtb2ZmLWJ5OiBTaGVuZyBXZWkgPHcuc2hlbmdAaW50ZWwuY29tPgot LS0KIENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9Qay9DcnlwdFRzLmMgfCAzICsrLQog MSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdp dCBhL0NyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9Qay9DcnlwdFRzLmMgYi9DcnlwdG9Q a2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvUGsvQ3J5cHRUcy5jCmluZGV4IDAyN2RiYjY4NDIuLjk0 NGJjZjhkMzggMTAwNjQ0Ci0tLSBhL0NyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9Qay9D cnlwdFRzLmMKKysrIGIvQ3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL1BrL0NyeXB0VHMu YwpAQCAtNTkxLDcgKzU5MSw4IEBAIEltYWdlVGltZXN0YW1wVmVyaWZ5ICgKICAgLy8gUmVnaXN0 ZXIgJiBJbml0aWFsaXplIG5lY2Vzc2FyeSBkaWdlc3QgYWxnb3JpdGhtcyBmb3IgUEtDUyM3IEhh bmRsaW5nLg0KICAgLy8NCiAgIGlmICgoRVZQX2FkZF9kaWdlc3QgKEVWUF9tZDUgKCkpID09IDAp IHx8IChFVlBfYWRkX2RpZ2VzdCAoRVZQX3NoYTEgKCkpID09IDApIHx8DQotICAgICAgKEVWUF9h ZGRfZGlnZXN0IChFVlBfc2hhMjU2ICgpKSA9PSAwKSB8fCAoKEVWUF9hZGRfZGlnZXN0X2FsaWFz IChTTl9zaGExV2l0aFJTQUVuY3J5cHRpb24sIFNOX3NoYTFXaXRoUlNBKSkgPT0gMCkpDQorICAg ICAgKEVWUF9hZGRfZGlnZXN0IChFVlBfc2hhMjU2ICgpKSA9PSAwKSB8fCAoRVZQX2FkZF9kaWdl c3QgKEVWUF9zaGEzODQgKCkpID09IDApIHx8DQorICAgICAgKEVWUF9hZGRfZGlnZXN0IChFVlBf c2hhNTEyICgpKSA9PSAwKSB8fCAoKEVWUF9hZGRfZGlnZXN0X2FsaWFzIChTTl9zaGExV2l0aFJT QUVuY3J5cHRpb24sIFNOX3NoYTFXaXRoUlNBKSkgPT0gMCkpDQogICB7DQogICAgIHJldHVybiBG QUxTRTsNCiAgIH0NCi0tIAoyLjI2LjIud2luZG93cy4xCgo= --_004_PH0PR11MB4870A8BA471236EC668E7B93E1E6APH0PR11MB4870namp_ Content-Type: application/octet-stream; name="0002-SecurityPkg-SecureBoot-Support-RSA4096-and-RSA3072.patch" Content-Description: 0002-SecurityPkg-SecureBoot-Support-RSA4096-and-RSA3072.patch Content-Disposition: attachment; filename="0002-SecurityPkg-SecureBoot-Support-RSA4096-and-RSA3072.patch"; size=32095; creation-date="Wed, 30 Aug 2023 07:58:23 GMT"; modification-date="Wed, 30 Aug 2023 08:02:20 GMT" Content-Transfer-Encoding: base64 RnJvbSBkYTUwNDc1NjIwNTVhMTI0OGMwYWYxNjU1MDk4MTQ0YjA5YzQ0MTRlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTaGVuZyBXZWkgPHcuc2hlbmdAaW50ZWwuY29tPgpEYXRlOiBX ZWQsIDI2IEp1bCAyMDIzIDE2OjAxOjEwICswODAwClN1YmplY3Q6IFtQQVRDSCBWNyAyLzJdIFNl Y3VyaXR5UGtnL1NlY3VyZUJvb3Q6IFN1cHBvcnQgUlNBNDA5NiBhbmQgUlNBMzA3MgoKUkVGOiBo dHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTM0MTMKCkNoYW5n ZS1JZDogSWMxMzU5NWZmYjA1ODFhMTc4ZGI3MWQyMzFiYTM0ZjE3ODYyZmE1ZDgKQ2M6IEppZXdl biBZYW8gPGppZXdlbi55YW9AaW50ZWwuY29tPgpDYzogSmlhbiBKIFdhbmcgPGppYW4uai53YW5n QGludGVsLmNvbT4KQ2M6IE1pbiBYdSA8bWluLm0ueHVAaW50ZWwuY29tPgpDYzogWmV5aSBDaGVu IDx6ZXlpLmNoZW5AaW50ZWwuY29tPgpDYzogRmlvbmEgV2FuZyA8ZmlvbmEud2FuZ0BpbnRlbC5j b20+ClNpZ25lZC1vZmYtYnk6IFNoZW5nIFdlaSA8dy5zaGVuZ0BpbnRlbC5jb20+Ci0tLQogLi4u L0xpYnJhcnkvQXV0aFZhcmlhYmxlTGliL0F1dGhTZXJ2aWNlLmMgICAgIHwgMjE4ICsrKysrKysr KysrKysrKy0tLQogLi4uL0F1dGhWYXJpYWJsZUxpYi9BdXRoU2VydmljZUludGVybmFsLmggICAg IHwgICA0ICstCiAuLi4vTGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0aFZhcmlhYmxlTGliLmMg fCAgNDIgKystLQogLi4uL0R4ZUltYWdlVmVyaWZpY2F0aW9uTGliLmMgICAgICAgICAgICAgICAg IHwgIDczICsrKy0tLQogLi4uL1NlY3VyZUJvb3RDb25maWdEeGUuaW5mICAgICAgICAgICAgICAg ICAgIHwgICA4ICsKIC4uLi9TZWN1cmVCb290Q29uZmlnSW1wbC5jICAgICAgICAgICAgICAgICAg ICB8ICA1MCArKystCiAuLi4vU2VjdXJlQm9vdENvbmZpZ0ltcGwuaCAgICAgICAgICAgICAgICAg ICAgfCAgIDcgKwogLi4uL1NlY3VyZUJvb3RDb25maWdTdHJpbmdzLnVuaSAgICAgICAgICAgICAg IHwgICAyICsKIDggZmlsZXMgY2hhbmdlZCwgMzIyIGluc2VydGlvbnMoKyksIDgyIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvQXV0aFZhcmlhYmxlTGliL0F1 dGhTZXJ2aWNlLmMgYi9TZWN1cml0eVBrZy9MaWJyYXJ5L0F1dGhWYXJpYWJsZUxpYi9BdXRoU2Vy dmljZS5jCmluZGV4IGQ4MWM1ODFkNzguLjMzOTAyMWI3OWMgMTAwNjQ0Ci0tLSBhL1NlY3VyaXR5 UGtnL0xpYnJhcnkvQXV0aFZhcmlhYmxlTGliL0F1dGhTZXJ2aWNlLmMKKysrIGIvU2VjdXJpdHlQ a2cvTGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0aFNlcnZpY2UuYwpAQCAtMjksMTIgKzI5LDEy NSBAQCBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudAogI2luY2x1 ZGUgPFByb3RvY29sL1ZhcmlhYmxlUG9saWN5Lmg+DQogI2luY2x1ZGUgPExpYnJhcnkvVmFyaWFi bGVQb2xpY3lMaWIuaD4NCiANCisjZGVmaW5lIFNIQV9ESUdFU1RfU0laRV9NQVggU0hBNTEyX0RJ R0VTVF9TSVpFDQorDQorLyoqDQorICBSZXRyaWV2ZXMgdGhlIHNpemUsIGluIGJ5dGVzLCBvZiB0 aGUgY29udGV4dCBidWZmZXIgcmVxdWlyZWQgZm9yIGhhc2ggb3BlcmF0aW9ucy4NCisNCisgIElm IHRoaXMgaW50ZXJmYWNlIGlzIG5vdCBzdXBwb3J0ZWQsIHRoZW4gcmV0dXJuIHplcm8uDQorDQor ICBAcmV0dXJuICBUaGUgc2l6ZSwgaW4gYnl0ZXMsIG9mIHRoZSBjb250ZXh0IGJ1ZmZlciByZXF1 aXJlZCBmb3IgaGFzaCBvcGVyYXRpb25zLg0KKyAgQHJldHZhbCAgMCAgIFRoaXMgaW50ZXJmYWNl IGlzIG5vdCBzdXBwb3J0ZWQuDQorDQorKiovDQordHlwZWRlZg0KK1VJTlRODQorKEVGSUFQSSAq RUZJX0hBU0hfR0VUX0NPTlRFWFRfU0laRSkoDQorICBWT0lEDQorICApOw0KKw0KKy8qKg0KKyAg SW5pdGlhbGl6ZXMgdXNlci1zdXBwbGllZCBtZW1vcnkgcG9pbnRlZCBieSBTaGExQ29udGV4dCBh cyBoYXNoIGNvbnRleHQgZm9yDQorICBzdWJzZXF1ZW50IHVzZS4NCisNCisgIElmIEhhc2hDb250 ZXh0IGlzIE5VTEwsIHRoZW4gcmV0dXJuIEZBTFNFLg0KKyAgSWYgdGhpcyBpbnRlcmZhY2UgaXMg bm90IHN1cHBvcnRlZCwgdGhlbiByZXR1cm4gRkFMU0UuDQorDQorICBAcGFyYW1bb3V0XSAgSGFz aENvbnRleHQgIFBvaW50ZXIgdG8gSGFzaGNvbnRleHQgYmVpbmcgaW5pdGlhbGl6ZWQuDQorDQor ICBAcmV0dmFsIFRSVUUgICBIYXNoIGNvbnRleHQgaW5pdGlhbGl6YXRpb24gc3VjY2VlZGVkLg0K KyAgQHJldHZhbCBGQUxTRSAgSGFzaCBjb250ZXh0IGluaXRpYWxpemF0aW9uIGZhaWxlZC4NCisg IEByZXR2YWwgRkFMU0UgIFRoaXMgaW50ZXJmYWNlIGlzIG5vdCBzdXBwb3J0ZWQuDQorDQorKiov DQordHlwZWRlZg0KK0JPT0xFQU4NCisoRUZJQVBJICpFRklfSEFTSF9JTklUKSgNCisgIE9VVCAg Vk9JRCAgKkhhc2hDb250ZXh0DQorICApOw0KKw0KKy8qKg0KKyAgRGlnZXN0cyB0aGUgaW5wdXQg ZGF0YSBhbmQgdXBkYXRlcyBIYXNoIGNvbnRleHQuDQorDQorICBUaGlzIGZ1bmN0aW9uIHBlcmZv cm1zIEhhc2ggZGlnZXN0IG9uIGEgZGF0YSBidWZmZXIgb2YgdGhlIHNwZWNpZmllZCBzaXplLg0K KyAgSXQgY2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcyB0byBjb21wdXRlIHRoZSBkaWdlc3Qg b2YgbG9uZyBvciBkaXNjb250aW51b3VzIGRhdGEgc3RyZWFtcy4NCisgIEhhc2ggY29udGV4dCBz aG91bGQgYmUgYWxyZWFkeSBjb3JyZWN0bHkgaW5pdGlhbGl6ZWQgYnkgSGFzaEluaXQoKSwgYW5k IHNob3VsZCBub3QgYmUgZmluYWxpemVkDQorICBieSBIYXNoRmluYWwoKS4gQmVoYXZpb3Igd2l0 aCBpbnZhbGlkIGNvbnRleHQgaXMgdW5kZWZpbmVkLg0KKw0KKyAgSWYgSGFzaENvbnRleHQgaXMg TlVMTCwgdGhlbiByZXR1cm4gRkFMU0UuDQorICBJZiB0aGlzIGludGVyZmFjZSBpcyBub3Qgc3Vw cG9ydGVkLCB0aGVuIHJldHVybiBGQUxTRS4NCisNCisgIEBwYXJhbVtpbiwgb3V0XSAgSGFzaENv bnRleHQgIFBvaW50ZXIgdG8gdGhlIEhhc2ggY29udGV4dC4NCisgIEBwYXJhbVtpbl0gICAgICAg RGF0YSAgICAgICAgIFBvaW50ZXIgdG8gdGhlIGJ1ZmZlciBjb250YWluaW5nIHRoZSBkYXRhIHRv IGJlIGhhc2hlZC4NCisgIEBwYXJhbVtpbl0gICAgICAgRGF0YVNpemUgICAgIFNpemUgb2YgRGF0 YSBidWZmZXIgaW4gYnl0ZXMuDQorDQorICBAcmV0dmFsIFRSVUUgICBTSEEtMSBkYXRhIGRpZ2Vz dCBzdWNjZWVkZWQuDQorICBAcmV0dmFsIEZBTFNFICBTSEEtMSBkYXRhIGRpZ2VzdCBmYWlsZWQu DQorICBAcmV0dmFsIEZBTFNFICBUaGlzIGludGVyZmFjZSBpcyBub3Qgc3VwcG9ydGVkLg0KKw0K KyoqLw0KK3R5cGVkZWYNCitCT09MRUFODQorKEVGSUFQSSAqRUZJX0hBU0hfVVBEQVRFKSgNCisg IElOIE9VVCAgVk9JRCAgICAgICAgKkhhc2hDb250ZXh0LA0KKyAgSU4gICAgICBDT05TVCBWT0lE ICAqRGF0YSwNCisgIElOICAgICAgVUlOVE4gICAgICAgRGF0YVNpemUNCisgICk7DQorDQorLyoq DQorICBDb21wbGV0ZXMgY29tcHV0YXRpb24gb2YgdGhlIEhhc2ggZGlnZXN0IHZhbHVlLg0KKw0K KyAgVGhpcyBmdW5jdGlvbiBjb21wbGV0ZXMgaGFzaCBjb21wdXRhdGlvbiBhbmQgcmV0cmlldmVz IHRoZSBkaWdlc3QgdmFsdWUgaW50bw0KKyAgdGhlIHNwZWNpZmllZCBtZW1vcnkuIEFmdGVyIHRo aXMgZnVuY3Rpb24gaGFzIGJlZW4gY2FsbGVkLCB0aGUgSGFzaCBjb250ZXh0IGNhbm5vdA0KKyAg YmUgdXNlZCBhZ2Fpbi4NCisgIEhhc2ggY29udGV4dCBzaG91bGQgYmUgYWxyZWFkeSBjb3JyZWN0 bHkgaW5pdGlhbGl6ZWQgYnkgSGFzaEluaXQoKSwgYW5kIHNob3VsZCBub3QgYmUNCisgIGZpbmFs aXplZCBieSBIYXNoRmluYWwoKS4gQmVoYXZpb3Igd2l0aCBpbnZhbGlkIEhhc2ggY29udGV4dCBp cyB1bmRlZmluZWQuDQorDQorICBJZiBIYXNoQ29udGV4dCBpcyBOVUxMLCB0aGVuIHJldHVybiBG QUxTRS4NCisgIElmIEhhc2hWYWx1ZSBpcyBOVUxMLCB0aGVuIHJldHVybiBGQUxTRS4NCisgIElm IHRoaXMgaW50ZXJmYWNlIGlzIG5vdCBzdXBwb3J0ZWQsIHRoZW4gcmV0dXJuIEZBTFNFLg0KKw0K KyAgQHBhcmFtW2luLCBvdXRdICBIYXNoQ29udGV4dCAgUG9pbnRlciB0byB0aGUgSGFzaCBjb250 ZXh0Lg0KKyAgQHBhcmFtW291dF0gICAgICBIYXNoVmFsdWUgICAgUG9pbnRlciB0byBhIGJ1ZmZl ciB0aGF0IHJlY2VpdmVzIHRoZSBIYXNoIGRpZ2VzdA0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdmFsdWUuDQorDQorICBAcmV0dmFsIFRSVUUgICBIYXNoIGRpZ2VzdCBjb21wdXRh dGlvbiBzdWNjZWVkZWQuDQorICBAcmV0dmFsIEZBTFNFICBIYXNoIGRpZ2VzdCBjb21wdXRhdGlv biBmYWlsZWQuDQorICBAcmV0dmFsIEZBTFNFICBUaGlzIGludGVyZmFjZSBpcyBub3Qgc3VwcG9y dGVkLg0KKw0KKyoqLw0KK3R5cGVkZWYNCitCT09MRUFODQorKEVGSUFQSSAqRUZJX0hBU0hfRklO QUwpKA0KKyAgSU4gT1VUICBWT0lEICAgKkhhc2hDb250ZXh0LA0KKyAgT1VUICAgICBVSU5UOCAg Kkhhc2hWYWx1ZQ0KKyAgKTsNCisNCit0eXBlZGVmIHN0cnVjdCB7DQorICBVSU5UMzIgICAgICAg ICAgICAgICAgICAgICAgIEhhc2hTaXplOw0KKyAgRUZJX0hBU0hfR0VUX0NPTlRFWFRfU0laRSAg ICBHZXRDb250ZXh0U2l6ZTsNCisgIEVGSV9IQVNIX0lOSVQgICAgICAgICAgICAgICAgSW5pdDsN CisgIEVGSV9IQVNIX1VQREFURSAgICAgICAgICAgICAgVXBkYXRlOw0KKyAgRUZJX0hBU0hfRklO QUwgICAgICAgICAgICAgICBGaW5hbDsNCisgIFZPSUQgICAgICAgICAgICAgICAgICAgICAgICAg KipIYXNoU2hhQ3R4Ow0KKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAqT2lkVmFsdWU7 DQorICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgIE9pZExlbmd0aDsNCit9IEVGSV9IQVNI X0lORk87DQorDQogLy8NCiAvLyBQdWJsaWMgRXhwb25lbnQgb2YgUlNBIEtleS4NCiAvLw0KIENP TlNUIFVJTlQ4ICBtUnNhRVtdID0geyAweDAxLCAweDAwLCAweDAxIH07DQogDQotQ09OU1QgVUlO VDggIG1TaGEyNTZPaWRWYWx1ZVtdID0geyAweDYwLCAweDg2LCAweDQ4LCAweDAxLCAweDY1LCAw eDAzLCAweDA0LCAweDAyLCAweDAxIH07DQorVUlOVDggIG1TaGEyNTZPaWRWYWx1ZVtdID0geyAw eDYwLCAweDg2LCAweDQ4LCAweDAxLCAweDY1LCAweDAzLCAweDA0LCAweDAyLCAweDAxIH07DQor VUlOVDggIG1TaGEzODRPaWRWYWx1ZVtdID0geyAweDYwLCAweDg2LCAweDQ4LCAweDAxLCAweDY1 LCAweDAzLCAweDA0LCAweDAyLCAweDAyIH07DQorVUlOVDggIG1TaGE1MTJPaWRWYWx1ZVtdID0g eyAweDYwLCAweDg2LCAweDQ4LCAweDAxLCAweDY1LCAweDAzLCAweDA0LCAweDAyLCAweDAzIH07 DQorDQorRUZJX0hBU0hfSU5GTyAgbUhhc2hJbmZvW10gPSB7DQorICB7U0hBMjU2X0RJR0VTVF9T SVpFLCBTaGEyNTZHZXRDb250ZXh0U2l6ZSwgU2hhMjU2SW5pdCwgU2hhMjU2VXBkYXRlLCBTaGEy NTZGaW5hbCwgJm1IYXNoU2hhMjU2Q3R4LCBtU2hhMjU2T2lkVmFsdWUsIDl9LA0KKyAge1NIQTM4 NF9ESUdFU1RfU0laRSwgU2hhMzg0R2V0Q29udGV4dFNpemUsIFNoYTM4NEluaXQsIFNoYTM4NFVw ZGF0ZSwgU2hhMzg0RmluYWwsICZtSGFzaFNoYTM4NEN0eCwgbVNoYTM4NE9pZFZhbHVlLCA5fSwN CisgIHtTSEE1MTJfRElHRVNUX1NJWkUsIFNoYTUxMkdldENvbnRleHRTaXplLCBTaGE1MTJJbml0 LCBTaGE1MTJVcGRhdGUsIFNoYTUxMkZpbmFsLCAmbUhhc2hTaGE1MTJDdHgsIG1TaGE1MTJPaWRW YWx1ZSwgOX0sDQorfTsNCiANCiAvLw0KIC8vIFJlcXVpcmVtZW50IGZvciBkaWZmZXJlbnQgc2ln bmF0dXJlIHR5cGUgd2hpY2ggaGF2ZSBiZWVuIGRlZmluZWQgaW4gVUVGSSBzcGVjLg0KQEAgLTEw OTAsMjYgKzEyMDMsMjggQEAgQXV0aFNlcnZpY2VJbnRlcm5hbENvbXBhcmVUaW1lU3RhbXAgKAog fQ0KIA0KIC8qKg0KLSAgQ2FsY3VsYXRlIFNIQTI1NiBkaWdlc3Qgb2YgU2lnbmVyQ2VydCBDb21t b25OYW1lICsgVG9wbGV2ZWxDZXJ0IHRic0NlcnRpZmljYXRlDQorICBDYWxjdWxhdGUgU0hBIGRp Z2VzdCBvZiBTaWduZXJDZXJ0IENvbW1vbk5hbWUgKyBUb3BsZXZlbENlcnQgdGJzQ2VydGlmaWNh dGUNCiAgIFNpZ25lckNlcnQgYW5kIFRvcGxldmVsQ2VydCBhcmUgaW5zaWRlIHRoZSBzaWduZXIg Y2VydGlmaWNhdGUgY2hhaW4uDQogDQorICBAcGFyYW1baW5dICBIYXNoQWxnSWQgICAgICAgICAg IEhhc2ggYWxnb3JpdGhtIGluZGV4DQogICBAcGFyYW1baW5dICBTaWduZXJDZXJ0ICAgICAgICAg IEEgcG9pbnRlciB0byBTaWduZXJDZXJ0IGRhdGEuDQogICBAcGFyYW1baW5dICBTaWduZXJDZXJ0 U2l6ZSAgICAgIExlbmd0aCBvZiBTaWduZXJDZXJ0IGRhdGEuDQogICBAcGFyYW1baW5dICBUb3BM ZXZlbENlcnQgICAgICAgIEEgcG9pbnRlciB0byBUb3BMZXZlbENlcnQgZGF0YS4NCiAgIEBwYXJh bVtpbl0gIFRvcExldmVsQ2VydFNpemUgICAgTGVuZ3RoIG9mIFRvcExldmVsQ2VydCBkYXRhLg0K LSAgQHBhcmFtW291dF0gU2hhMjU2RGlnZXN0ICAgICAgIFNoYTI1NiBkaWdlc3QgY2FsY3VsYXRl ZC4NCisgIEBwYXJhbVtvdXRdIFNoYURpZ2VzdCAgICAgICAgICAgU2hhIGRpZ2VzdCBjYWxjdWxh dGVkLg0KIA0KICAgQHJldHVybiBFRklfQUJPUlRFRCAgICAgICAgICBEaWdlc3QgcHJvY2VzcyBm YWlsZWQuDQotICBAcmV0dXJuIEVGSV9TVUNDRVNTICAgICAgICAgIFNIQTI1NiBEaWdlc3QgaXMg c3VjY2Vzc2Z1bGx5IGNhbGN1bGF0ZWQuDQorICBAcmV0dXJuIEVGSV9TVUNDRVNTICAgICAgICAg IFNIQSBEaWdlc3QgaXMgc3VjY2Vzc2Z1bGx5IGNhbGN1bGF0ZWQuDQogDQogKiovDQogRUZJX1NU QVRVUw0KLUNhbGN1bGF0ZVByaXZBdXRoVmFyU2lnbkNoYWluU0hBMjU2RGlnZXN0ICgNCitDYWxj dWxhdGVQcml2QXV0aFZhclNpZ25DaGFpblNIQURpZ2VzdCAoDQorICBJTiAgICAgVUlOVDggIEhh c2hBbGdJZCwNCiAgIElOICAgICBVSU5UOCAgKlNpZ25lckNlcnQsDQogICBJTiAgICAgVUlOVE4g IFNpZ25lckNlcnRTaXplLA0KICAgSU4gICAgIFVJTlQ4ICAqVG9wTGV2ZWxDZXJ0LA0KICAgSU4g ICAgIFVJTlROICBUb3BMZXZlbENlcnRTaXplLA0KLSAgT1VUICAgIFVJTlQ4ICAqU2hhMjU2RGln ZXN0DQorICBPVVQgICAgVUlOVDggICpTaGFEaWdlc3QNCiAgICkNCiB7DQogICBVSU5UOCAgICAg ICAqVGJzQ2VydDsNCkBAIC0xMTE5LDYgKzEyMzQsMTEgQEAgQ2FsY3VsYXRlUHJpdkF1dGhWYXJT aWduQ2hhaW5TSEEyNTZEaWdlc3QgKAogICBCT09MRUFOICAgICBDcnlwdG9TdGF0dXM7DQogICBF RklfU1RBVFVTICBTdGF0dXM7DQogDQorICBpZiAoSGFzaEFsZ0lkID49IChzaXplb2YgKG1IYXNo SW5mbykgLyBzaXplb2YgKEVGSV9IQVNIX0lORk8pKSkgew0KKyAgICBERUJVRyAoKERFQlVHX0lO Rk8sICIlYSBVbnN1cHBvcnRlZCBIYXNoIEFsZ29yaXRobSAlZFxuIiwgX19mdW5jX18sIEhhc2hB bGdJZCkpOw0KKyAgICByZXR1cm4gRUZJX0FCT1JURUQ7DQorICB9DQorDQogICBDZXJ0Q29tbW9u TmFtZVNpemUgPSBzaXplb2YgKENlcnRDb21tb25OYW1lKTsNCiANCiAgIC8vDQpAQCAtMTE0MSw4 ICsxMjYxLDggQEAgQ2FsY3VsYXRlUHJpdkF1dGhWYXJTaWduQ2hhaW5TSEEyNTZEaWdlc3QgKAog ICAvLw0KICAgLy8gRGlnZXN0IFNpZ25lckNlcnQgQ04gKyBUb3BMZXZlbENlcnQgdGJzQ2VydGlm aWNhdGUNCiAgIC8vDQotICBaZXJvTWVtIChTaGEyNTZEaWdlc3QsIFNIQTI1Nl9ESUdFU1RfU0la RSk7DQotICBDcnlwdG9TdGF0dXMgPSBTaGEyNTZJbml0IChtSGFzaEN0eCk7DQorICBaZXJvTWVt IChTaGFEaWdlc3QsIG1IYXNoSW5mb1tIYXNoQWxnSWRdLkhhc2hTaXplKTsNCisgIENyeXB0b1N0 YXR1cyA9IG1IYXNoSW5mb1tIYXNoQWxnSWRdLkluaXQgKCoobUhhc2hJbmZvW0hhc2hBbGdJZF0u SGFzaFNoYUN0eCkpOw0KICAgaWYgKCFDcnlwdG9TdGF0dXMpIHsNCiAgICAgcmV0dXJuIEVGSV9B Qk9SVEVEOw0KICAgfQ0KQEAgLTExNTAsOCArMTI3MCw4IEBAIENhbGN1bGF0ZVByaXZBdXRoVmFy U2lnbkNoYWluU0hBMjU2RGlnZXN0ICgKICAgLy8NCiAgIC8vICdcMCcgaXMgZm9yY2VkIGluIENl cnRDb21tb25OYW1lLiBObyBvdmVyZmxvdyBpc3N1ZQ0KICAgLy8NCi0gIENyeXB0b1N0YXR1cyA9 IFNoYTI1NlVwZGF0ZSAoDQotICAgICAgICAgICAgICAgICAgIG1IYXNoQ3R4LA0KKyAgQ3J5cHRv U3RhdHVzID0gbUhhc2hJbmZvW0hhc2hBbGdJZF0uVXBkYXRlICgNCisgICAgICAgICAgICAgICAg ICAgKihtSGFzaEluZm9bSGFzaEFsZ0lkXS5IYXNoU2hhQ3R4KSwNCiAgICAgICAgICAgICAgICAg ICAgQ2VydENvbW1vbk5hbWUsDQogICAgICAgICAgICAgICAgICAgIEFzY2lpU3RyTGVuIChDZXJ0 Q29tbW9uTmFtZSkNCiAgICAgICAgICAgICAgICAgICAgKTsNCkBAIC0xMTU5LDEyICsxMjc5LDEy IEBAIENhbGN1bGF0ZVByaXZBdXRoVmFyU2lnbkNoYWluU0hBMjU2RGlnZXN0ICgKICAgICByZXR1 cm4gRUZJX0FCT1JURUQ7DQogICB9DQogDQotICBDcnlwdG9TdGF0dXMgPSBTaGEyNTZVcGRhdGUg KG1IYXNoQ3R4LCBUYnNDZXJ0LCBUYnNDZXJ0U2l6ZSk7DQorICBDcnlwdG9TdGF0dXMgPSBtSGFz aEluZm9bSGFzaEFsZ0lkXS5VcGRhdGUgKCoobUhhc2hJbmZvW0hhc2hBbGdJZF0uSGFzaFNoYUN0 eCksIFRic0NlcnQsIFRic0NlcnRTaXplKTsNCiAgIGlmICghQ3J5cHRvU3RhdHVzKSB7DQogICAg IHJldHVybiBFRklfQUJPUlRFRDsNCiAgIH0NCiANCi0gIENyeXB0b1N0YXR1cyA9IFNoYTI1NkZp bmFsIChtSGFzaEN0eCwgU2hhMjU2RGlnZXN0KTsNCisgIENyeXB0b1N0YXR1cyA9IG1IYXNoSW5m b1tIYXNoQWxnSWRdLkZpbmFsICgqKG1IYXNoSW5mb1tIYXNoQWxnSWRdLkhhc2hTaGFDdHgpLCBT aGFEaWdlc3QpOw0KICAgaWYgKCFDcnlwdG9TdGF0dXMpIHsNCiAgICAgcmV0dXJuIEVGSV9BQk9S VEVEOw0KICAgfQ0KQEAgLTE1MTYsOSArMTYzNiwxMCBAQCBEZWxldGVDZXJ0c0Zyb21EYiAoCiAv KioNCiAgIEluc2VydCBzaWduZXIncyBjZXJ0aWZpY2F0ZXMgZm9yIGNvbW1vbiBhdXRoZW50aWNh dGVkIHZhcmlhYmxlIHdpdGggVmFyaWFibGVOYW1lDQogICBhbmQgVmVuZG9yR3VpZCBpbiBBVVRI X0NFUlRfREJfREFUQSB0byAiY2VydGRiIiBvciAiY2VydGRidiIgYWNjb3JkaW5nIHRvDQotICB0 aW1lIGJhc2VkIGF1dGhlbnRpY2F0ZWQgdmFyaWFibGUgYXR0cmlidXRlcy4gQ2VydERhdGEgaXMg dGhlIFNIQTI1NiBkaWdlc3Qgb2YNCisgIHRpbWUgYmFzZWQgYXV0aGVudGljYXRlZCB2YXJpYWJs ZSBhdHRyaWJ1dGVzLiBDZXJ0RGF0YSBpcyB0aGUgU0hBIGRpZ2VzdCBvZg0KICAgU2lnbmVyQ2Vy dCBDb21tb25OYW1lICsgVG9wTGV2ZWxDZXJ0IHRic0NlcnRpZmljYXRlLg0KIA0KKyAgQHBhcmFt W2luXSAgSGFzaEFsZ0lkICAgICAgICAgSGFzaCBhbGdvcml0aG0gaW5kZXguDQogICBAcGFyYW1b aW5dICBWYXJpYWJsZU5hbWUgICAgICBOYW1lIG9mIGF1dGhlbnRpY2F0ZWQgVmFyaWFibGUuDQog ICBAcGFyYW1baW5dICBWZW5kb3JHdWlkICAgICAgICBWZW5kb3IgR1VJRCBvZiBhdXRoZW50aWNh dGVkIFZhcmlhYmxlLg0KICAgQHBhcmFtW2luXSAgQXR0cmlidXRlcyAgICAgICAgQXR0cmlidXRl cyBvZiBhdXRoZW50aWNhdGVkIHZhcmlhYmxlLg0KQEAgLTE1MzYsNiArMTY1Nyw3IEBAIERlbGV0 ZUNlcnRzRnJvbURiICgKICoqLw0KIEVGSV9TVEFUVVMNCiBJbnNlcnRDZXJ0c1RvRGIgKA0KKyAg SU4gICAgIFVJTlQ4ICAgICBIYXNoQWxnSWQsDQogICBJTiAgICAgQ0hBUjE2ICAgICpWYXJpYWJs ZU5hbWUsDQogICBJTiAgICAgRUZJX0dVSUQgICpWZW5kb3JHdWlkLA0KICAgSU4gICAgIFVJTlQz MiAgICBBdHRyaWJ1dGVzLA0KQEAgLTE1NTYsMTIgKzE2NzgsMTYgQEAgSW5zZXJ0Q2VydHNUb0Ri ICgKICAgVUlOVDMyICAgICAgICAgICAgIENlcnREYXRhU2l6ZTsNCiAgIEFVVEhfQ0VSVF9EQl9E QVRBICAqUHRyOw0KICAgQ0hBUjE2ICAgICAgICAgICAgICpEYk5hbWU7DQotICBVSU5UOCAgICAg ICAgICAgICAgU2hhMjU2RGlnZXN0W1NIQTI1Nl9ESUdFU1RfU0laRV07DQorICBVSU5UOCAgICAg ICAgICAgICAgU2hhRGlnZXN0W1NIQV9ESUdFU1RfU0laRV9NQVhdOw0KIA0KICAgaWYgKChWYXJp YWJsZU5hbWUgPT0gTlVMTCkgfHwgKFZlbmRvckd1aWQgPT0gTlVMTCkgfHwgKFNpZ25lckNlcnQg PT0gTlVMTCkgfHwgKFRvcExldmVsQ2VydCA9PSBOVUxMKSkgew0KICAgICByZXR1cm4gRUZJX0lO VkFMSURfUEFSQU1FVEVSOw0KICAgfQ0KIA0KKyAgaWYgKEhhc2hBbGdJZCA+PSAoc2l6ZW9mICht SGFzaEluZm8pIC8gc2l6ZW9mIChFRklfSEFTSF9JTkZPKSkpIHsNCisgICAgcmV0dXJuIEVGSV9J TlZBTElEX1BBUkFNRVRFUjsNCisgIH0NCisNCiAgIGlmICgoQXR0cmlidXRlcyAmIEVGSV9WQVJJ QUJMRV9OT05fVk9MQVRJTEUpICE9IDApIHsNCiAgICAgLy8NCiAgICAgLy8gR2V0IHZhcmlhYmxl ICJjZXJ0ZGIiLg0KQEAgLTE2MTgsMjAgKzE3NDQsMjIgQEAgSW5zZXJ0Q2VydHNUb0RiICgKICAg Ly8gQ29uc3RydWN0IG5ldyBkYXRhIGNvbnRlbnQgb2YgdmFyaWFibGUgImNlcnRkYiIgb3IgImNl cnRkYnYiLg0KICAgLy8NCiAgIE5hbWVTaXplICAgICAgPSAoVUlOVDMyKVN0ckxlbiAoVmFyaWFi bGVOYW1lKTsNCi0gIENlcnREYXRhU2l6ZSAgPSBzaXplb2YgKFNoYTI1NkRpZ2VzdCk7DQorICBD ZXJ0RGF0YVNpemUgID0gbUhhc2hJbmZvW0hhc2hBbGdJZF0uSGFzaFNpemU7DQogICBDZXJ0Tm9k ZVNpemUgID0gc2l6ZW9mIChBVVRIX0NFUlRfREJfREFUQSkgKyAoVUlOVDMyKUNlcnREYXRhU2l6 ZSArIE5hbWVTaXplICogc2l6ZW9mIChDSEFSMTYpOw0KICAgTmV3Q2VydERiU2l6ZSA9IChVSU5U MzIpRGF0YVNpemUgKyBDZXJ0Tm9kZVNpemU7DQogICBpZiAoTmV3Q2VydERiU2l6ZSA+IG1NYXhD ZXJ0RGJTaXplKSB7DQogICAgIHJldHVybiBFRklfT1VUX09GX1JFU09VUkNFUzsNCiAgIH0NCiAN Ci0gIFN0YXR1cyA9IENhbGN1bGF0ZVByaXZBdXRoVmFyU2lnbkNoYWluU0hBMjU2RGlnZXN0ICgN CisgIFN0YXR1cyA9IENhbGN1bGF0ZVByaXZBdXRoVmFyU2lnbkNoYWluU0hBRGlnZXN0ICgNCisg ICAgICAgICAgICAgSGFzaEFsZ0lkLA0KICAgICAgICAgICAgICBTaWduZXJDZXJ0LA0KICAgICAg ICAgICAgICBTaWduZXJDZXJ0U2l6ZSwNCiAgICAgICAgICAgICAgVG9wTGV2ZWxDZXJ0LA0KICAg ICAgICAgICAgICBUb3BMZXZlbENlcnRTaXplLA0KLSAgICAgICAgICAgICBTaGEyNTZEaWdlc3QN CisgICAgICAgICAgICAgU2hhRGlnZXN0DQogICAgICAgICAgICAgICk7DQorDQogICBpZiAoRUZJ X0VSUk9SIChTdGF0dXMpKSB7DQogICAgIHJldHVybiBTdGF0dXM7DQogICB9DQpAQCAtMTY2Myw3 ICsxNzkxLDcgQEAgSW5zZXJ0Q2VydHNUb0RiICgKIA0KICAgQ29weU1lbSAoDQogICAgIChVSU5U OCAqKVB0ciArICBzaXplb2YgKEFVVEhfQ0VSVF9EQl9EQVRBKSArIE5hbWVTaXplICogc2l6ZW9m IChDSEFSMTYpLA0KLSAgICBTaGEyNTZEaWdlc3QsDQorICAgIFNoYURpZ2VzdCwNCiAgICAgQ2Vy dERhdGFTaXplDQogICAgICk7DQogDQpAQCAtMTc5MCw2ICsxOTE4LDM2IEBAIENsZWFuQ2VydHNG cm9tRGIgKAogICByZXR1cm4gU3RhdHVzOw0KIH0NCiANCisvKioNCisgIEZpbmQgaGFzaCBhbGdv cml0aG0gaW5kZXgNCisNCisgIEBwYXJhbVtpbl0gIFNpZ0RhdGEgICAgICBQb2ludGVyIHRvIHRo ZSBQS0NTIzcgbWVzc2FnZQ0KKyAgQHBhcmFtW2luXSAgU2lnRGF0YVNpemUgIExlbmd0aCBvZiB0 aGUgUEtDUyM3IG1lc3NhZ2UNCisNCisgIEByZXR2YWwgVUlOVDggICAgICAgIEhhc2ggQWxnb3Jp dGhtIEluZGV4DQorKiovDQorVUlOVDgNCitGaW5kSGFzaEFsZ29yaXRobUluZGV4ICgNCisgIElO ICAgICBVSU5UOCAgICAgICAgICpTaWdEYXRhLA0KKyAgSU4gICAgIFVJTlQzMiAgICAgICAgU2ln RGF0YVNpemUNCispDQorew0KKyAgVUlOVDggaTsNCisNCisgIGZvciAoaSA9IDA7IGkgPCAoc2l6 ZW9mIChtSGFzaEluZm8pIC8gc2l6ZW9mIChFRklfSEFTSF9JTkZPKSk7IGkrKykgew0KKyAgICBp ZiAoICAoICAoU2lnRGF0YVNpemUgPj0gKDEzICsgbUhhc2hJbmZvW2ldLk9pZExlbmd0aCkpDQor ICAgICAgICAgICYmICggICgoKihTaWdEYXRhICsgMSkgJiBUV09fQllURV9FTkNPREUpID09IFRX T19CWVRFX0VOQ09ERSkNCisgICAgICAgICAgICAmJiAoQ29tcGFyZU1lbSAoU2lnRGF0YSArIDEz LCBtSGFzaEluZm9baV0uT2lkVmFsdWUsIG1IYXNoSW5mb1tpXS5PaWRMZW5ndGgpID09IDApKSkN CisgICAgICB8fCAoKCAgKFNpZ0RhdGFTaXplID49ICgzMiArICBtSGFzaEluZm9baV0uT2lkTGVu Z3RoKSkpDQorICAgICAgICAmJiAoICAoKCooU2lnRGF0YSArIDIwKSAmIFRXT19CWVRFX0VOQ09E RSkgPT0gVFdPX0JZVEVfRU5DT0RFKQ0KKyAgICAgICAgICAmJiAoQ29tcGFyZU1lbSAoU2lnRGF0 YSArIDMyLCBtSGFzaEluZm9baV0uT2lkVmFsdWUsIG1IYXNoSW5mb1tpXS5PaWRMZW5ndGgpID09 IDApKSkpDQorICAgIHsNCisgICAgICBicmVhazsNCisgICAgfQ0KKyAgfQ0KKyAgcmV0dXJuIGk7 DQorfQ0KKw0KIC8qKg0KICAgUHJvY2VzcyB2YXJpYWJsZSB3aXRoIEVGSV9WQVJJQUJMRV9USU1F X0JBU0VEX0FVVEhFTlRJQ0FURURfV1JJVEVfQUNDRVNTIHNldA0KIA0KQEAgLTE4NTcsOCArMjAx NSw5IEBAIFZlcmlmeVRpbWVCYXNlZFBheWxvYWQgKAogICBVSU5UTiAgICAgICAgICAgICAgICAg ICAgICAgICAgQ2VydFN0YWNrU2l6ZTsNCiAgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAg ICAqQ2VydHNJbkNlcnREYjsNCiAgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICBDZXJ0 c1NpemVpbkRiOw0KLSAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgIFNoYTI1NkRpZ2Vz dFtTSEEyNTZfRElHRVNUX1NJWkVdOw0KKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAg IFNoYURpZ2VzdFtTSEFfRElHRVNUX1NJWkVfTUFYXTsNCiAgIEVGSV9DRVJUX0RBVEEgICAgICAg ICAgICAgICAgICAqQ2VydERhdGFQdHI7DQorICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAg ICAgSGFzaEFsZ0lkOw0KIA0KICAgLy8NCiAgIC8vIDEuIFRvcExldmVsQ2VydCBpcyB0aGUgdG9w LWxldmVsIGlzc3VlciBjZXJ0aWZpY2F0ZSBpbiBzaWduYXR1cmUgU2lnbmVyIENlcnQgQ2hhaW4N CkBAIC0xOTI4LDcgKzIwODcsNyBAQCBWZXJpZnlUaW1lQmFzZWRQYXlsb2FkICgKIA0KICAgLy8N CiAgIC8vIFNpZ25lZERhdGEuZGlnZXN0QWxnb3JpdGhtcyBzaGFsbCBjb250YWluIHRoZSBkaWdl c3QgYWxnb3JpdGhtIHVzZWQgd2hlbiBwcmVwYXJpbmcgdGhlDQotICAvLyBzaWduYXR1cmUuIE9u bHkgYSBkaWdlc3QgYWxnb3JpdGhtIG9mIFNIQS0yNTYgaXMgYWNjZXB0ZWQuDQorICAvLyBzaWdu YXR1cmUuIE9ubHkgYSBkaWdlc3QgYWxnb3JpdGhtIG9mIFNIQS0yNTYsIFNIQS0zODQgb3IgU0hB LTUxMiBpcyBhY2NlcHRlZC4NCiAgIC8vDQogICAvLyAgICBBY2NvcmRpbmcgdG8gUEtDUyM3IERl ZmluaXRpb24gKGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmMyMzE1KToNCiAgIC8v ICAgICAgICBTaWduZWREYXRhIDo6PSBTRVFVRU5DRSB7DQpAQCAtMTk3MiwxNCArMjEzMSw5IEBA IFZlcmlmeVRpbWVCYXNlZFBheWxvYWQgKAogICAvLw0KICAgLy8gRXhhbXBsZSBnZW5lcmF0ZWQg d2l0aDogaHR0cHM6Ly93aWtpLmFyY2hsaW51eC5vcmcvdGl0bGUvVW5pZmllZF9FeHRlbnNpYmxl X0Zpcm13YXJlX0ludGVyZmFjZS9TZWN1cmVfQm9vdCNNYW51YWxfcHJvY2Vzcw0KICAgLy8NCisg IEhhc2hBbGdJZCA9IEZpbmRIYXNoQWxnb3JpdGhtSW5kZXggKFNpZ0RhdGEsIFNpZ0RhdGFTaXpl KTsNCiAgIGlmICgoQXR0cmlidXRlcyAmIEVGSV9WQVJJQUJMRV9USU1FX0JBU0VEX0FVVEhFTlRJ Q0FURURfV1JJVEVfQUNDRVNTKSAhPSAwKSB7DQotICAgIGlmICggICggIChTaWdEYXRhU2l6ZSA+ PSAoMTMgKyBzaXplb2YgKG1TaGEyNTZPaWRWYWx1ZSkpKQ0KLSAgICAgICAgICAmJiAoICAoKCoo U2lnRGF0YSArIDEpICYgVFdPX0JZVEVfRU5DT0RFKSAhPSBUV09fQllURV9FTkNPREUpDQotICAg ICAgICAgICAgIHx8IChDb21wYXJlTWVtIChTaWdEYXRhICsgMTMsICZtU2hhMjU2T2lkVmFsdWUs IHNpemVvZiAobVNoYTI1Nk9pZFZhbHVlKSkgIT0gMCkpKQ0KLSAgICAgICAmJiAoICAoU2lnRGF0 YVNpemUgPj0gKDMyICsgc2l6ZW9mIChtU2hhMjU2T2lkVmFsdWUpKSkNCi0gICAgICAgICAgJiYg KCAgKCgqKFNpZ0RhdGEgKyAyMCkgJiBUV09fQllURV9FTkNPREUpICE9IFRXT19CWVRFX0VOQ09E RSkNCi0gICAgICAgICAgICAgfHwgKENvbXBhcmVNZW0gKFNpZ0RhdGEgKyAzMiwgJm1TaGEyNTZP aWRWYWx1ZSwgc2l6ZW9mIChtU2hhMjU2T2lkVmFsdWUpKSAhPSAwKSkpKQ0KLSAgICB7DQorICAg IGlmIChIYXNoQWxnSWQgPj0gKHNpemVvZiAobUhhc2hJbmZvKSAvIHNpemVvZiAoRUZJX0hBU0hf SU5GTykpKSB7DQogICAgICAgcmV0dXJuIEVGSV9TRUNVUklUWV9WSU9MQVRJT047DQogICAgIH0N CiAgIH0NCkBAIC0yMTcwLDE5ICsyMzI0LDIwIEBAIFZlcmlmeVRpbWVCYXNlZFBheWxvYWQgKAog ICAgICAgICBnb3RvIEV4aXQ7DQogICAgICAgfQ0KIA0KLSAgICAgIGlmIChDZXJ0c1NpemVpbkRi ID09IFNIQTI1Nl9ESUdFU1RfU0laRSkgew0KKyAgICAgIGlmICgoSGFzaEFsZ0lkIDwgKHNpemVv ZiAobUhhc2hJbmZvKSAvIHNpemVvZiAoRUZJX0hBU0hfSU5GTykpKSAmJiAoQ2VydHNTaXplaW5E YiA9PSBtSGFzaEluZm9bSGFzaEFsZ0lkXS5IYXNoU2l6ZSkpIHsNCiAgICAgICAgIC8vDQogICAg ICAgICAvLyBDaGVjayBoYXNoIG9mIHNpZ25lciBjZXJ0IENvbW1vbk5hbWUgKyBUb3AtbGV2ZWwg aXNzdWVyIHRic0NlcnRpZmljYXRlIGFnYWluc3QgZGF0YSBpbiBDZXJ0RGINCiAgICAgICAgIC8v DQogICAgICAgICBDZXJ0RGF0YVB0ciA9IChFRklfQ0VSVF9EQVRBICopKFNpZ25lckNlcnRzICsg MSk7DQotICAgICAgICBTdGF0dXMgICAgICA9IENhbGN1bGF0ZVByaXZBdXRoVmFyU2lnbkNoYWlu U0hBMjU2RGlnZXN0ICgNCisgICAgICAgIFN0YXR1cyAgICAgID0gQ2FsY3VsYXRlUHJpdkF1dGhW YXJTaWduQ2hhaW5TSEFEaWdlc3QgKA0KKyAgICAgICAgICAgICAgICAgICAgICAgIEhhc2hBbGdJ ZCwNCiAgICAgICAgICAgICAgICAgICAgICAgICBDZXJ0RGF0YVB0ci0+Q2VydERhdGFCdWZmZXIs DQogICAgICAgICAgICAgICAgICAgICAgICAgUmVhZFVuYWxpZ25lZDMyICgoVUlOVDMyICopJihD ZXJ0RGF0YVB0ci0+Q2VydERhdGFMZW5ndGgpKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICBU b3BMZXZlbENlcnQsDQogICAgICAgICAgICAgICAgICAgICAgICAgVG9wTGV2ZWxDZXJ0U2l6ZSwN Ci0gICAgICAgICAgICAgICAgICAgICAgICBTaGEyNTZEaWdlc3QNCisgICAgICAgICAgICAgICAg ICAgICAgICBTaGFEaWdlc3QNCiAgICAgICAgICAgICAgICAgICAgICAgICApOw0KLSAgICAgICAg aWYgKEVGSV9FUlJPUiAoU3RhdHVzKSB8fCAoQ29tcGFyZU1lbSAoU2hhMjU2RGlnZXN0LCBDZXJ0 c0luQ2VydERiLCBDZXJ0c1NpemVpbkRiKSAhPSAwKSkgew0KKyAgICAgICAgaWYgKEVGSV9FUlJP UiAoU3RhdHVzKSB8fCAoQ29tcGFyZU1lbSAoU2hhRGlnZXN0LCBDZXJ0c0luQ2VydERiLCBDZXJ0 c1NpemVpbkRiKSAhPSAwKSkgew0KICAgICAgICAgICBnb3RvIEV4aXQ7DQogICAgICAgICB9DQog ICAgICAgfSBlbHNlIHsNCkBAIC0yMjE1LDYgKzIzNzAsNyBAQCBWZXJpZnlUaW1lQmFzZWRQYXls b2FkICgKICAgICAgIC8vDQogICAgICAgQ2VydERhdGFQdHIgPSAoRUZJX0NFUlRfREFUQSAqKShT aWduZXJDZXJ0cyArIDEpOw0KICAgICAgIFN0YXR1cyAgICAgID0gSW5zZXJ0Q2VydHNUb0RiICgN CisgICAgICAgICAgICAgICAgICAgICAgSGFzaEFsZ0lkLA0KICAgICAgICAgICAgICAgICAgICAg ICBWYXJpYWJsZU5hbWUsDQogICAgICAgICAgICAgICAgICAgICAgIFZlbmRvckd1aWQsDQogICAg ICAgICAgICAgICAgICAgICAgIEF0dHJpYnV0ZXMsDQpkaWZmIC0tZ2l0IGEvU2VjdXJpdHlQa2cv TGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0aFNlcnZpY2VJbnRlcm5hbC5oIGIvU2VjdXJpdHlQ a2cvTGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0aFNlcnZpY2VJbnRlcm5hbC5oCmluZGV4IGIy MDJlNjEzYmMuLmY3YmY3NzFkNTUgMTAwNjQ0Ci0tLSBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvQXV0 aFZhcmlhYmxlTGliL0F1dGhTZXJ2aWNlSW50ZXJuYWwuaAorKysgYi9TZWN1cml0eVBrZy9MaWJy YXJ5L0F1dGhWYXJpYWJsZUxpYi9BdXRoU2VydmljZUludGVybmFsLmgKQEAgLTkyLDcgKzkyLDkg QEAgZXh0ZXJuIFVJTlQzMiAgbU1heENlcnREYlNpemU7CiBleHRlcm4gVUlOVDMyICBtUGxhdGZv cm1Nb2RlOw0KIGV4dGVybiBVSU5UOCAgIG1WZW5kb3JLZXlTdGF0ZTsNCiANCi1leHRlcm4gVk9J RCAgKm1IYXNoQ3R4Ow0KK2V4dGVybiBWT0lEICAqbUhhc2hTaGEyNTZDdHg7DQorZXh0ZXJuIFZP SUQgICptSGFzaFNoYTM4NEN0eDsNCitleHRlcm4gVk9JRCAgKm1IYXNoU2hhNTEyQ3R4Ow0KIA0K IGV4dGVybiBBVVRIX1ZBUl9MSUJfQ09OVEVYVF9JTiAgKm1BdXRoVmFyTGliQ29udGV4dEluOw0K IA0KZGlmZiAtLWdpdCBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvQXV0aFZhcmlhYmxlTGliL0F1dGhW YXJpYWJsZUxpYi5jIGIvU2VjdXJpdHlQa2cvTGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0aFZh cmlhYmxlTGliLmMKaW5kZXggZGM2MWFlODQwYy4uMGU3MTY5M2Y1ZCAxMDA2NDQKLS0tIGEvU2Vj dXJpdHlQa2cvTGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0aFZhcmlhYmxlTGliLmMKKysrIGIv U2VjdXJpdHlQa2cvTGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0aFZhcmlhYmxlTGliLmMKQEAg LTI2LDEyICsyNiwxNCBAQCBVSU5UMzIgIG1NYXhDZXJ0RGJTaXplOwogVUlOVDMyICBtUGxhdGZv cm1Nb2RlOw0KIFVJTlQ4ICAgbVZlbmRvcktleVN0YXRlOw0KIA0KLUVGSV9HVUlEICBtU2lnbmF0 dXJlU3VwcG9ydFtdID0geyBFRklfQ0VSVF9TSEExX0dVSUQsIEVGSV9DRVJUX1NIQTI1Nl9HVUlE LCBFRklfQ0VSVF9SU0EyMDQ4X0dVSUQsIEVGSV9DRVJUX1g1MDlfR1VJRCB9Ow0KK0VGSV9HVUlE ICBtU2lnbmF0dXJlU3VwcG9ydFtdID0geyBFRklfQ0VSVF9TSEExX0dVSUQsIEVGSV9DRVJUX1NI QTI1Nl9HVUlELCBFRklfQ0VSVF9TSEEzODRfR1VJRCwgRUZJX0NFUlRfU0hBNTEyX0dVSUQsIEVG SV9DRVJUX1JTQTIwNDhfR1VJRCwgRUZJX0NFUlRfWDUwOV9HVUlEIH07DQogDQogLy8NCiAvLyBI YXNoIGNvbnRleHQgcG9pbnRlcg0KIC8vDQotVk9JRCAgKm1IYXNoQ3R4ID0gTlVMTDsNCitWT0lE ICAqbUhhc2hTaGEyNTZDdHggPSBOVUxMOw0KK1ZPSUQgICptSGFzaFNoYTM4NEN0eCA9IE5VTEw7 DQorVk9JRCAgKm1IYXNoU2hhNTEyQ3R4ID0gTlVMTDsNCiANCiBWQVJJQUJMRV9FTlRSWV9QUk9Q RVJUWSAgbUF1dGhWYXJFbnRyeVtdID0gew0KICAgew0KQEAgLTkxLDcgKzkzLDcgQEAgVkFSSUFC TEVfRU5UUllfUFJPUEVSVFkgIG1BdXRoVmFyRW50cnlbXSA9IHsKICAgfSwNCiB9Ow0KIA0KLVZP SUQgICoqbUF1dGhWYXJBZGRyZXNzUG9pbnRlcls5XTsNCitWT0lEICAqKm1BdXRoVmFyQWRkcmVz c1BvaW50ZXJbMTFdOw0KIA0KIEFVVEhfVkFSX0xJQl9DT05URVhUX0lOICAqbUF1dGhWYXJMaWJD b250ZXh0SW4gPSBOVUxMOw0KIA0KQEAgLTEyMCw3ICsxMjIsNiBAQCBBdXRoVmFyaWFibGVMaWJJ bml0aWFsaXplICgKICAgVUlOVDMyICAgICAgVmFyQXR0cjsNCiAgIFVJTlQ4ICAgICAgICpEYXRh Ow0KICAgVUlOVE4gICAgICAgRGF0YVNpemU7DQotICBVSU5UTiAgICAgICBDdHhTaXplOw0KICAg VUlOVDggICAgICAgU2VjdXJlQm9vdE1vZGU7DQogICBVSU5UOCAgICAgICBTZWN1cmVCb290RW5h YmxlOw0KICAgVUlOVDggICAgICAgQ3VzdG9tTW9kZTsNCkBAIC0xMzUsOSArMTM2LDE4IEBAIEF1 dGhWYXJpYWJsZUxpYkluaXRpYWxpemUgKAogICAvLw0KICAgLy8gSW5pdGlhbGl6ZSBoYXNoIGNv bnRleHQuDQogICAvLw0KLSAgQ3R4U2l6ZSAgPSBTaGEyNTZHZXRDb250ZXh0U2l6ZSAoKTsNCi0g IG1IYXNoQ3R4ID0gQWxsb2NhdGVSdW50aW1lUG9vbCAoQ3R4U2l6ZSk7DQotICBpZiAobUhhc2hD dHggPT0gTlVMTCkgew0KKyAgbUhhc2hTaGEyNTZDdHggPSBBbGxvY2F0ZVJ1bnRpbWVQb29sIChT aGEyNTZHZXRDb250ZXh0U2l6ZSAoKSk7DQorICBpZiAobUhhc2hTaGEyNTZDdHggPT0gTlVMTCkg ew0KKyAgICByZXR1cm4gRUZJX09VVF9PRl9SRVNPVVJDRVM7DQorICB9DQorDQorICBtSGFzaFNo YTM4NEN0eCA9IEFsbG9jYXRlUnVudGltZVBvb2wgKFNoYTM4NEdldENvbnRleHRTaXplICgpKTsN CisgIGlmIChtSGFzaFNoYTM4NEN0eCA9PSBOVUxMKSB7DQorICAgIHJldHVybiBFRklfT1VUX09G X1JFU09VUkNFUzsNCisgIH0NCisNCisgIG1IYXNoU2hhNTEyQ3R4ID0gQWxsb2NhdGVSdW50aW1l UG9vbCAoU2hhNTEyR2V0Q29udGV4dFNpemUgKCkpOw0KKyAgaWYgKG1IYXNoU2hhNTEyQ3R4ID09 IE5VTEwpIHsNCiAgICAgcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KICAgfQ0KIA0KQEAg LTM1NiwxNCArMzY2LDE2IEBAIEF1dGhWYXJpYWJsZUxpYkluaXRpYWxpemUgKAogICBBdXRoVmFy TGliQ29udGV4dE91dC0+QXV0aFZhckVudHJ5ICAgICAgICA9IG1BdXRoVmFyRW50cnk7DQogICBB dXRoVmFyTGliQ29udGV4dE91dC0+QXV0aFZhckVudHJ5Q291bnQgICA9IEFSUkFZX1NJWkUgKG1B dXRoVmFyRW50cnkpOw0KICAgbUF1dGhWYXJBZGRyZXNzUG9pbnRlclswXSAgICAgICAgICAgICAg ICAgPSAoVk9JRCAqKikmbUNlcnREYlN0b3JlOw0KLSAgbUF1dGhWYXJBZGRyZXNzUG9pbnRlclsx XSAgICAgICAgICAgICAgICAgPSAoVk9JRCAqKikmbUhhc2hDdHg7DQotICBtQXV0aFZhckFkZHJl c3NQb2ludGVyWzJdICAgICAgICAgICAgICAgICA9IChWT0lEICoqKSZtQXV0aFZhckxpYkNvbnRl eHRJbjsNCi0gIG1BdXRoVmFyQWRkcmVzc1BvaW50ZXJbM10gICAgICAgICAgICAgICAgID0gKFZP SUQgKiopJihtQXV0aFZhckxpYkNvbnRleHRJbi0+RmluZFZhcmlhYmxlKSwNCi0gIG1BdXRoVmFy QWRkcmVzc1BvaW50ZXJbNF0gICAgICAgICAgICAgICAgID0gKFZPSUQgKiopJihtQXV0aFZhckxp YkNvbnRleHRJbi0+RmluZE5leHRWYXJpYWJsZSksDQotICBtQXV0aFZhckFkZHJlc3NQb2ludGVy WzVdICAgICAgICAgICAgICAgICA9IChWT0lEICoqKSYobUF1dGhWYXJMaWJDb250ZXh0SW4tPlVw ZGF0ZVZhcmlhYmxlKSwNCi0gIG1BdXRoVmFyQWRkcmVzc1BvaW50ZXJbNl0gICAgICAgICAgICAg ICAgID0gKFZPSUQgKiopJihtQXV0aFZhckxpYkNvbnRleHRJbi0+R2V0U2NyYXRjaEJ1ZmZlciks DQotICBtQXV0aFZhckFkZHJlc3NQb2ludGVyWzddICAgICAgICAgICAgICAgICA9IChWT0lEICoq KSYobUF1dGhWYXJMaWJDb250ZXh0SW4tPkNoZWNrUmVtYWluaW5nU3BhY2VGb3JDb25zaXN0ZW5j eSksDQotICBtQXV0aFZhckFkZHJlc3NQb2ludGVyWzhdICAgICAgICAgICAgICAgICA9IChWT0lE ICoqKSYobUF1dGhWYXJMaWJDb250ZXh0SW4tPkF0UnVudGltZSksDQorICBtQXV0aFZhckFkZHJl c3NQb2ludGVyWzFdICAgICAgICAgICAgICAgICA9IChWT0lEICoqKSZtSGFzaFNoYTI1NkN0eDsN CisgIG1BdXRoVmFyQWRkcmVzc1BvaW50ZXJbMl0gICAgICAgICAgICAgICAgID0gKFZPSUQgKiop Jm1IYXNoU2hhMzg0Q3R4Ow0KKyAgbUF1dGhWYXJBZGRyZXNzUG9pbnRlclszXSAgICAgICAgICAg ICAgICAgPSAoVk9JRCAqKikmbUhhc2hTaGE1MTJDdHg7DQorICBtQXV0aFZhckFkZHJlc3NQb2lu dGVyWzRdICAgICAgICAgICAgICAgICA9IChWT0lEICoqKSZtQXV0aFZhckxpYkNvbnRleHRJbjsN CisgIG1BdXRoVmFyQWRkcmVzc1BvaW50ZXJbNV0gICAgICAgICAgICAgICAgID0gKFZPSUQgKiop JihtQXV0aFZhckxpYkNvbnRleHRJbi0+RmluZFZhcmlhYmxlKSwNCisgIG1BdXRoVmFyQWRkcmVz c1BvaW50ZXJbNl0gICAgICAgICAgICAgICAgID0gKFZPSUQgKiopJihtQXV0aFZhckxpYkNvbnRl eHRJbi0+RmluZE5leHRWYXJpYWJsZSksDQorICBtQXV0aFZhckFkZHJlc3NQb2ludGVyWzddICAg ICAgICAgICAgICAgICA9IChWT0lEICoqKSYobUF1dGhWYXJMaWJDb250ZXh0SW4tPlVwZGF0ZVZh cmlhYmxlKSwNCisgIG1BdXRoVmFyQWRkcmVzc1BvaW50ZXJbOF0gICAgICAgICAgICAgICAgID0g KFZPSUQgKiopJihtQXV0aFZhckxpYkNvbnRleHRJbi0+R2V0U2NyYXRjaEJ1ZmZlciksDQorICBt QXV0aFZhckFkZHJlc3NQb2ludGVyWzldICAgICAgICAgICAgICAgICA9IChWT0lEICoqKSYobUF1 dGhWYXJMaWJDb250ZXh0SW4tPkNoZWNrUmVtYWluaW5nU3BhY2VGb3JDb25zaXN0ZW5jeSksDQor ICBtQXV0aFZhckFkZHJlc3NQb2ludGVyWzEwXSAgICAgICAgICAgICAgICAgPSAoVk9JRCAqKikm KG1BdXRoVmFyTGliQ29udGV4dEluLT5BdFJ1bnRpbWUpLA0KICAgQXV0aFZhckxpYkNvbnRleHRP dXQtPkFkZHJlc3NQb2ludGVyICAgICAgPSBtQXV0aFZhckFkZHJlc3NQb2ludGVyOw0KICAgQXV0 aFZhckxpYkNvbnRleHRPdXQtPkFkZHJlc3NQb2ludGVyQ291bnQgPSBBUlJBWV9TSVpFIChtQXV0 aFZhckFkZHJlc3NQb2ludGVyKTsNCiANCmRpZmYgLS1naXQgYS9TZWN1cml0eVBrZy9MaWJyYXJ5 L0R4ZUltYWdlVmVyaWZpY2F0aW9uTGliL0R4ZUltYWdlVmVyaWZpY2F0aW9uTGliLmMgYi9TZWN1 cml0eVBrZy9MaWJyYXJ5L0R4ZUltYWdlVmVyaWZpY2F0aW9uTGliL0R4ZUltYWdlVmVyaWZpY2F0 aW9uTGliLmMKaW5kZXggNWQ4ZGJkNTQ2OC4uODhiMmQzYzZjMSAxMDA2NDQKLS0tIGEvU2VjdXJp dHlQa2cvTGlicmFyeS9EeGVJbWFnZVZlcmlmaWNhdGlvbkxpYi9EeGVJbWFnZVZlcmlmaWNhdGlv bkxpYi5jCisrKyBiL1NlY3VyaXR5UGtnL0xpYnJhcnkvRHhlSW1hZ2VWZXJpZmljYXRpb25MaWIv RHhlSW1hZ2VWZXJpZmljYXRpb25MaWIuYwpAQCAtMTYyMCw3ICsxNjIwLDcgQEAgRG9uZToKICAg ICAgIGluIHRoZSBzZWN1cml0eSBkYXRhYmFzZSAiZGIiLCBhbmQgbm8gdmFsaWQgc2lnbmF0dXJl IG5vciBhbnkgaGFzaCB2YWx1ZSBvZiB0aGUgaW1hZ2UgbWF5DQogICAgICAgYmUgcmVmbGVjdGVk IGluIHRoZSBzZWN1cml0eSBkYXRhYmFzZSAiZGJ4Ii4NCiAgICAgT3RoZXJ3aXNlLCB0aGUgaW1h Z2UgaXMgbm90IHNpZ25lZCwNCi0gICAgICBUaGUgU0hBMjU2IGhhc2ggdmFsdWUgb2YgdGhlIGlt YWdlIG11c3QgbWF0Y2ggYSByZWNvcmQgaW4gdGhlIHNlY3VyaXR5IGRhdGFiYXNlICJkYiIsIGFu ZA0KKyAgICAgIFRoZSBoYXNoIHZhbHVlIG9mIHRoZSBpbWFnZSBtdXN0IG1hdGNoIGEgcmVjb3Jk IGluIHRoZSBzZWN1cml0eSBkYXRhYmFzZSAiZGIiLCBhbmQNCiAgICAgICBub3QgYmUgcmVmbGVj dGVkIGluIHRoZSBzZWN1cml0eSBkYXRhIGJhc2UgImRieCIuDQogDQogICBDYXV0aW9uOiBUaGlz IGZ1bmN0aW9uIG1heSByZWNlaXZlIHVudHJ1c3RlZCBpbnB1dC4NCkBAIC0xNjkwLDYgKzE2OTAs OCBAQCBEeGVJbWFnZVZlcmlmaWNhdGlvbkhhbmRsZXIgKAogICBFRklfU1RBVFVTICAgICAgICAg ICAgICAgICAgICBWYXJTdGF0dXM7DQogICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICBW YXJBdHRyOw0KICAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgSXNGb3VuZDsNCisgIFVJ TlQ4ICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2hBbGc7DQorICBCT09MRUFOICAgICAgICAg ICAgICAgICAgICAgICBJc0ZvdW5kSW5EYXRhYmFzZTsNCiANCiAgIFNpZ25hdHVyZUxpc3QgICAg ID0gTlVMTDsNCiAgIFNpZ25hdHVyZUxpc3RTaXplID0gMDsNCkBAIC0xNjk5LDYgKzE3MDEsNyBA QCBEeGVJbWFnZVZlcmlmaWNhdGlvbkhhbmRsZXIgKAogICBBY3Rpb24gICAgICAgICAgICA9IEVG SV9JTUFHRV9FWEVDVVRJT05fQVVUSF9VTlRFU1RFRDsNCiAgIElzVmVyaWZpZWQgICAgICAgID0g RkFMU0U7DQogICBJc0ZvdW5kICAgICAgICAgICA9IEZBTFNFOw0KKyAgSXNGb3VuZEluRGF0YWJh c2UgPSBGQUxTRTsNCiANCiAgIC8vDQogICAvLyBDaGVjayB0aGUgaW1hZ2UgdHlwZSBhbmQgZ2V0 IHBvbGljeSBzZXR0aW5nLg0KQEAgLTE4MzcsNDAgKzE4NDAsNTAgQEAgRHhlSW1hZ2VWZXJpZmlj YXRpb25IYW5kbGVyICgKICAgLy8NCiAgIGlmICgoU2VjRGF0YURpciA9PSBOVUxMKSB8fCAoU2Vj RGF0YURpci0+U2l6ZSA9PSAwKSkgew0KICAgICAvLw0KLSAgICAvLyBUaGlzIGltYWdlIGlzIG5v dCBzaWduZWQuIFRoZSBTSEEyNTYgaGFzaCB2YWx1ZSBvZiB0aGUgaW1hZ2UgbXVzdCBtYXRjaCBh IHJlY29yZCBpbiB0aGUgc2VjdXJpdHkgZGF0YWJhc2UgImRiIiwNCisgICAgLy8gVGhpcyBpbWFn ZSBpcyBub3Qgc2lnbmVkLiBUaGUgaGFzaCB2YWx1ZSBvZiB0aGUgaW1hZ2UgbXVzdCBtYXRjaCBh IHJlY29yZCBpbiB0aGUgc2VjdXJpdHkgZGF0YWJhc2UgImRiIiwNCiAgICAgLy8gYW5kIG5vdCBi ZSByZWZsZWN0ZWQgaW4gdGhlIHNlY3VyaXR5IGRhdGEgYmFzZSAiZGJ4Ii4NCiAgICAgLy8NCi0g ICAgaWYgKCFIYXNoUGVJbWFnZSAoSEFTSEFMR19TSEEyNTYpKSB7DQotICAgICAgREVCVUcgKChE RUJVR19JTkZPLCAiRHhlSW1hZ2VWZXJpZmljYXRpb25MaWI6IEZhaWxlZCB0byBoYXNoIHRoaXMg aW1hZ2UgdXNpbmcgJXMuXG4iLCBtSGFzaFR5cGVTdHIpKTsNCi0gICAgICBnb3RvIEZhaWxlZDsN Ci0gICAgfQ0KKyAgICBIYXNoQWxnID0gc2l6ZW9mIChtSGFzaCkgLyBzaXplb2YgKEhBU0hfVEFC TEUpOw0KKyAgICB3aGlsZSAoSGFzaEFsZyA+IDApIHsNCisgICAgICBIYXNoQWxnLS07DQorICAg ICAgaWYgKChtSGFzaFtIYXNoQWxnXS5HZXRDb250ZXh0U2l6ZSA9PSBOVUxMKSB8fCAobUhhc2hb SGFzaEFsZ10uSGFzaEluaXQgPT0gTlVMTCkgfHwgKG1IYXNoW0hhc2hBbGddLkhhc2hVcGRhdGUg PT0gTlVMTCkgfHwgKG1IYXNoW0hhc2hBbGddLkhhc2hGaW5hbCA9PSBOVUxMKSkgew0KKyAgICAg ICAgY29udGludWU7DQorICAgICAgfQ0KKyAgICAgIGlmICghSGFzaFBlSW1hZ2UgKEhhc2hBbGcp KSB7DQorICAgICAgICBjb250aW51ZTsNCisgICAgICB9DQogDQotICAgIERiU3RhdHVzID0gSXNT aWduYXR1cmVGb3VuZEluRGF0YWJhc2UgKA0KLSAgICAgICAgICAgICAgICAgRUZJX0lNQUdFX1NF Q1VSSVRZX0RBVEFCQVNFMSwNCi0gICAgICAgICAgICAgICAgIG1JbWFnZURpZ2VzdCwNCi0gICAg ICAgICAgICAgICAgICZtQ2VydFR5cGUsDQotICAgICAgICAgICAgICAgICBtSW1hZ2VEaWdlc3RT aXplLA0KLSAgICAgICAgICAgICAgICAgJklzRm91bmQNCi0gICAgICAgICAgICAgICAgICk7DQot ICAgIGlmIChFRklfRVJST1IgKERiU3RhdHVzKSB8fCBJc0ZvdW5kKSB7DQotICAgICAgLy8NCi0g ICAgICAvLyBJbWFnZSBIYXNoIGlzIGluIGZvcmJpZGRlbiBkYXRhYmFzZSAoREJYKS4NCi0gICAg ICAvLw0KLSAgICAgIERFQlVHICgoREVCVUdfSU5GTywgIkR4ZUltYWdlVmVyaWZpY2F0aW9uTGli OiBJbWFnZSBpcyBub3Qgc2lnbmVkIGFuZCAlcyBoYXNoIG9mIGltYWdlIGlzIGZvcmJpZGRlbiBi eSBEQlguXG4iLCBtSGFzaFR5cGVTdHIpKTsNCi0gICAgICBnb3RvIEZhaWxlZDsNCisgICAgICBE YlN0YXR1cyA9IElzU2lnbmF0dXJlRm91bmRJbkRhdGFiYXNlICgNCisgICAgICAgICAgICAgICAg ICAgRUZJX0lNQUdFX1NFQ1VSSVRZX0RBVEFCQVNFMSwNCisgICAgICAgICAgICAgICAgICAgbUlt YWdlRGlnZXN0LA0KKyAgICAgICAgICAgICAgICAgICAmbUNlcnRUeXBlLA0KKyAgICAgICAgICAg ICAgICAgICBtSW1hZ2VEaWdlc3RTaXplLA0KKyAgICAgICAgICAgICAgICAgICAmSXNGb3VuZA0K KyAgICAgICAgICAgICAgICAgICApOw0KKyAgICAgIGlmIChFRklfRVJST1IgKERiU3RhdHVzKSB8 fCBJc0ZvdW5kKSB7DQorICAgICAgICAvLw0KKyAgICAgICAgLy8gSW1hZ2UgSGFzaCBpcyBpbiBm b3JiaWRkZW4gZGF0YWJhc2UgKERCWCkuDQorICAgICAgICAvLw0KKyAgICAgICAgREVCVUcgKChE RUJVR19JTkZPLCAiRHhlSW1hZ2VWZXJpZmljYXRpb25MaWI6IEltYWdlIGlzIG5vdCBzaWduZWQg YW5kICVzIGhhc2ggb2YgaW1hZ2UgaXMgZm9yYmlkZGVuIGJ5IERCWC5cbiIsIG1IYXNoVHlwZVN0 cikpOw0KKyAgICAgICAgZ290byBGYWlsZWQ7DQorICAgICAgfQ0KKw0KKyAgICAgIERiU3RhdHVz ID0gSXNTaWduYXR1cmVGb3VuZEluRGF0YWJhc2UgKA0KKyAgICAgICAgICAgICAgICAgICBFRklf SU1BR0VfU0VDVVJJVFlfREFUQUJBU0UsDQorICAgICAgICAgICAgICAgICAgIG1JbWFnZURpZ2Vz dCwNCisgICAgICAgICAgICAgICAgICAgJm1DZXJ0VHlwZSwNCisgICAgICAgICAgICAgICAgICAg bUltYWdlRGlnZXN0U2l6ZSwNCisgICAgICAgICAgICAgICAgICAgJklzRm91bmQNCisgICAgICAg ICAgICAgICAgICAgKTsNCisgICAgICBpZiAoIUVGSV9FUlJPUiAoRGJTdGF0dXMpICYmIElzRm91 bmQpIHsNCisgICAgICAgIC8vDQorICAgICAgICAvLyBJbWFnZSBIYXNoIGlzIGluIGFsbG93ZWQg ZGF0YWJhc2UgKERCKS4NCisgICAgICAgIC8vDQorICAgICAgICBJc0ZvdW5kSW5EYXRhYmFzZSA9 IFRSVUU7DQorICAgICAgfQ0KICAgICB9DQogDQotICAgIERiU3RhdHVzID0gSXNTaWduYXR1cmVG b3VuZEluRGF0YWJhc2UgKA0KLSAgICAgICAgICAgICAgICAgRUZJX0lNQUdFX1NFQ1VSSVRZX0RB VEFCQVNFLA0KLSAgICAgICAgICAgICAgICAgbUltYWdlRGlnZXN0LA0KLSAgICAgICAgICAgICAg ICAgJm1DZXJ0VHlwZSwNCi0gICAgICAgICAgICAgICAgIG1JbWFnZURpZ2VzdFNpemUsDQotICAg ICAgICAgICAgICAgICAmSXNGb3VuZA0KLSAgICAgICAgICAgICAgICAgKTsNCi0gICAgaWYgKCFF RklfRVJST1IgKERiU3RhdHVzKSAmJiBJc0ZvdW5kKSB7DQotICAgICAgLy8NCi0gICAgICAvLyBJ bWFnZSBIYXNoIGlzIGluIGFsbG93ZWQgZGF0YWJhc2UgKERCKS4NCi0gICAgICAvLw0KKyAgICBp ZiAoSXNGb3VuZEluRGF0YWJhc2UpIHsNCiAgICAgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQogICAg IH0NCiANCmRpZmYgLS1naXQgYS9TZWN1cml0eVBrZy9WYXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2Vj dXJlQm9vdENvbmZpZ0R4ZS9TZWN1cmVCb290Q29uZmlnRHhlLmluZiBiL1NlY3VyaXR5UGtnL1Zh cmlhYmxlQXV0aGVudGljYXRlZC9TZWN1cmVCb290Q29uZmlnRHhlL1NlY3VyZUJvb3RDb25maWdE eGUuaW5mCmluZGV4IDE2NzFkNWJlN2MuLjA2MDJhY2Y3MDIgMTAwNjQ0Ci0tLSBhL1NlY3VyaXR5 UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRlZC9TZWN1cmVCb290Q29uZmlnRHhlL1NlY3VyZUJvb3RD b25maWdEeGUuaW5mCisrKyBiL1NlY3VyaXR5UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRlZC9TZWN1 cmVCb290Q29uZmlnRHhlL1NlY3VyZUJvb3RDb25maWdEeGUuaW5mCkBAIC04Miw2ICs4MiwxNCBA QAogICAjIyBTT01FVElNRVNfUFJPRFVDRVMgICAgICAjIyBHVUlEICAgICAgICAgICAgIyBVbmlx dWUgSUQgZm9yIHRoZSB0eXBlIG9mIHRoZSBzaWduYXR1cmUuDQogICBnRWZpQ2VydFNoYTI1Nkd1 aWQNCiANCisgICMjIFNPTUVUSU1FU19DT05TVU1FUyAgICAgICMjIEdVSUQgICAgICAgICAgICAj IFVuaXF1ZSBJRCBmb3IgdGhlIHR5cGUgb2YgdGhlIHNpZ25hdHVyZS4NCisgICMjIFNPTUVUSU1F U19QUk9EVUNFUyAgICAgICMjIEdVSUQgICAgICAgICAgICAjIFVuaXF1ZSBJRCBmb3IgdGhlIHR5 cGUgb2YgdGhlIHNpZ25hdHVyZS4NCisgIGdFZmlDZXJ0U2hhMzg0R3VpZA0KKw0KKyAgIyMgU09N RVRJTUVTX0NPTlNVTUVTICAgICAgIyMgR1VJRCAgICAgICAgICAgICMgVW5pcXVlIElEIGZvciB0 aGUgdHlwZSBvZiB0aGUgc2lnbmF0dXJlLg0KKyAgIyMgU09NRVRJTUVTX1BST0RVQ0VTICAgICAg IyMgR1VJRCAgICAgICAgICAgICMgVW5pcXVlIElEIGZvciB0aGUgdHlwZSBvZiB0aGUgc2lnbmF0 dXJlLg0KKyAgZ0VmaUNlcnRTaGE1MTJHdWlkDQorDQogICAjIyBTT01FVElNRVNfQ09OU1VNRVMg ICAgICAjIyBWYXJpYWJsZTpMImRiIg0KICAgIyMgU09NRVRJTUVTX1BST0RVQ0VTICAgICAgIyMg VmFyaWFibGU6TCJkYiINCiAgICMjIFNPTUVUSU1FU19DT05TVU1FUyAgICAgICMjIFZhcmlhYmxl OkwiZGJ4Ig0KZGlmZiAtLWdpdCBhL1NlY3VyaXR5UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRlZC9T ZWN1cmVCb290Q29uZmlnRHhlL1NlY3VyZUJvb3RDb25maWdJbXBsLmMgYi9TZWN1cml0eVBrZy9W YXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2VjdXJlQm9vdENvbmZpZ0R4ZS9TZWN1cmVCb290Q29uZmln SW1wbC5jCmluZGV4IDBlMzE1MDJiMWIuLjU5MTI3ZTBjOGQgMTAwNjQ0Ci0tLSBhL1NlY3VyaXR5 UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRlZC9TZWN1cmVCb290Q29uZmlnRHhlL1NlY3VyZUJvb3RD b25maWdJbXBsLmMKKysrIGIvU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50aWNhdGVkL1NlY3Vy ZUJvb3RDb25maWdEeGUvU2VjdXJlQm9vdENvbmZpZ0ltcGwuYwpAQCAtMTg0Nyw3ICsxODQ3LDcg QEAgSGFzaFBlSW1hZ2UgKAogICBTZWN0aW9uSGVhZGVyID0gTlVMTDsNCiAgIFN0YXR1cyAgICAg ICAgPSBGQUxTRTsNCiANCi0gIGlmIChIYXNoQWxnICE9IEhBU0hBTEdfU0hBMjU2KSB7DQorICBp ZiAoKEhhc2hBbGcgPj0gSEFTSEFMR19NQVgpKSB7DQogICAgIHJldHVybiBGQUxTRTsNCiAgIH0N CiANCkBAIC0xODU2LDggKzE4NTYsMjUgQEAgSGFzaFBlSW1hZ2UgKAogICAvLw0KICAgWmVyb01l bSAobUltYWdlRGlnZXN0LCBNQVhfRElHRVNUX1NJWkUpOw0KIA0KLSAgbUltYWdlRGlnZXN0U2l6 ZSA9IFNIQTI1Nl9ESUdFU1RfU0laRTsNCi0gIG1DZXJ0VHlwZSAgICAgICAgPSBnRWZpQ2VydFNo YTI1Nkd1aWQ7DQorICAgc3dpdGNoIChIYXNoQWxnKSB7DQorICAgIGNhc2UgSEFTSEFMR19TSEEy NTY6DQorICAgICAgbUltYWdlRGlnZXN0U2l6ZSA9IFNIQTI1Nl9ESUdFU1RfU0laRTsNCisgICAg ICBtQ2VydFR5cGUgICAgICAgID0gZ0VmaUNlcnRTaGEyNTZHdWlkOw0KKyAgICAgIGJyZWFrOw0K Kw0KKyAgICBjYXNlIEhBU0hBTEdfU0hBMzg0Og0KKyAgICAgIG1JbWFnZURpZ2VzdFNpemUgPSBT SEEzODRfRElHRVNUX1NJWkU7DQorICAgICAgbUNlcnRUeXBlICAgICAgICA9IGdFZmlDZXJ0U2hh Mzg0R3VpZDsNCisgICAgICBicmVhazsNCisNCisgICAgY2FzZSBIQVNIQUxHX1NIQTUxMjoNCisg ICAgICBtSW1hZ2VEaWdlc3RTaXplID0gU0hBNTEyX0RJR0VTVF9TSVpFOw0KKyAgICAgIG1DZXJ0 VHlwZSAgICAgICAgPSBnRWZpQ2VydFNoYTUxMkd1aWQ7DQorICAgICAgYnJlYWs7DQorDQorICAg IGRlZmF1bHQ6DQorICAgICAgcmV0dXJuIEZBTFNFOw0KKyAgfQ0KIA0KICAgQ3R4U2l6ZSA9IG1I YXNoW0hhc2hBbGddLkdldENvbnRleHRTaXplICgpOw0KIA0KQEAgLTIyNTEsNiArMjI2OCw3IEBA IEVucm9sbEltYWdlU2lnbmF0dXJlVG9TaWdEQiAoCiAgIFVJTlQzMiAgICAgICAgICAgICAgICAg ICAgIEF0dHI7DQogICBXSU5fQ0VSVElGSUNBVEVfVUVGSV9HVUlEICAqR3VpZENlcnREYXRhOw0K ICAgRUZJX1RJTUUgICAgICAgICAgICAgICAgICAgVGltZTsNCisgIFVJTlQzMiAgICAgICAgICAg ICAgICAgICAgIEhhc2hBbGc7DQogDQogICBEYXRhICAgICAgICAgPSBOVUxMOw0KICAgR3VpZENl cnREYXRhID0gTlVMTDsNCkBAIC0yMjg5LDggKzIzMDcsMjAgQEAgRW5yb2xsSW1hZ2VTaWduYXR1 cmVUb1NpZ0RCICgKICAgfQ0KIA0KICAgaWYgKG1TZWNEYXRhRGlyLT5TaXplT2ZDZXJ0ID09IDAp IHsNCi0gICAgaWYgKCFIYXNoUGVJbWFnZSAoSEFTSEFMR19TSEEyNTYpKSB7DQotICAgICAgU3Rh dHVzID0gIEVGSV9TRUNVUklUWV9WSU9MQVRJT047DQorICAgIFN0YXR1cyA9IEVGSV9TRUNVUklU WV9WSU9MQVRJT047DQorICAgIEhhc2hBbGcgPSBzaXplb2YgKG1IYXNoKSAvIHNpemVvZiAoSEFT SF9UQUJMRSk7DQorICAgIHdoaWxlIChIYXNoQWxnID4gMCkgew0KKyAgICAgIEhhc2hBbGctLTsN CisgICAgICBpZiAoKG1IYXNoW0hhc2hBbGddLkdldENvbnRleHRTaXplID09IE5VTEwpIHx8ICht SGFzaFtIYXNoQWxnXS5IYXNoSW5pdCA9PSBOVUxMKSB8fCAobUhhc2hbSGFzaEFsZ10uSGFzaFVw ZGF0ZSA9PSBOVUxMKSB8fCAobUhhc2hbSGFzaEFsZ10uSGFzaEZpbmFsID09IE5VTEwpKSB7DQor ICAgICAgICBjb250aW51ZTsNCisgICAgICB9DQorICAgICAgaWYgKEhhc2hQZUltYWdlIChIYXNo QWxnKSkgew0KKyAgICAgICAgU3RhdHVzID0gRUZJX1NVQ0NFU1M7DQorICAgICAgICBicmVhazsN CisgICAgICB9DQorICAgIH0NCisgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KKyAgICAg IERFQlVHICgoREVCVUdfRVJST1IsICJGYWlsIHRvIGdldCBoYXNoIGRpZ2VzdDogJXIiLCBTdGF0 dXMpKTsNCiAgICAgICBnb3RvIE9OX0VYSVQ7DQogICAgIH0NCiAgIH0gZWxzZSB7DQpAQCAtMzc2 NCw2ICszNzk0LDEwIEBAIExvYWRTaWduYXR1cmVMaXN0ICgKICAgICAgIExpc3RUeXBlID0gU1RS SU5HX1RPS0VOIChTVFJfTElTVF9UWVBFX1NIQTEpOw0KICAgICB9IGVsc2UgaWYgKENvbXBhcmVH dWlkICgmTGlzdFdhbGtlci0+U2lnbmF0dXJlVHlwZSwgJmdFZmlDZXJ0U2hhMjU2R3VpZCkpIHsN CiAgICAgICBMaXN0VHlwZSA9IFNUUklOR19UT0tFTiAoU1RSX0xJU1RfVFlQRV9TSEEyNTYpOw0K KyAgICB9IGVsc2UgaWYgKENvbXBhcmVHdWlkICgmTGlzdFdhbGtlci0+U2lnbmF0dXJlVHlwZSwg JmdFZmlDZXJ0U2hhMzg0R3VpZCkpIHsNCisgICAgICBMaXN0VHlwZSA9IFNUUklOR19UT0tFTiAo U1RSX0xJU1RfVFlQRV9TSEEzODQpOw0KKyAgICB9IGVsc2UgaWYgKENvbXBhcmVHdWlkICgmTGlz dFdhbGtlci0+U2lnbmF0dXJlVHlwZSwgJmdFZmlDZXJ0U2hhNTEyR3VpZCkpIHsNCisgICAgICBM aXN0VHlwZSA9IFNUUklOR19UT0tFTiAoU1RSX0xJU1RfVFlQRV9TSEE1MTIpOw0KICAgICB9IGVs c2UgaWYgKENvbXBhcmVHdWlkICgmTGlzdFdhbGtlci0+U2lnbmF0dXJlVHlwZSwgJmdFZmlDZXJ0 WDUwOVNoYTI1Nkd1aWQpKSB7DQogICAgICAgTGlzdFR5cGUgPSBTVFJJTkdfVE9LRU4gKFNUUl9M SVNUX1RZUEVfWDUwOV9TSEEyNTYpOw0KICAgICB9IGVsc2UgaWYgKENvbXBhcmVHdWlkICgmTGlz dFdhbGtlci0+U2lnbmF0dXJlVHlwZSwgJmdFZmlDZXJ0WDUwOVNoYTM4NEd1aWQpKSB7DQpAQCAt NDAxMSw2ICs0MDQ1LDEyIEBAIEZvcm1hdEhlbHBJbmZvICgKICAgfSBlbHNlIGlmIChDb21wYXJl R3VpZCAoJkxpc3RFbnRyeS0+U2lnbmF0dXJlVHlwZSwgJmdFZmlDZXJ0U2hhMjU2R3VpZCkpIHsN CiAgICAgTGlzdFR5cGVJZCA9IFNUUklOR19UT0tFTiAoU1RSX0xJU1RfVFlQRV9TSEEyNTYpOw0K ICAgICBEYXRhU2l6ZSAgID0gMzI7DQorICB9IGVsc2UgaWYgKENvbXBhcmVHdWlkICgmTGlzdEVu dHJ5LT5TaWduYXR1cmVUeXBlLCAmZ0VmaUNlcnRTaGEzODRHdWlkKSkgew0KKyAgICBMaXN0VHlw ZUlkID0gU1RSSU5HX1RPS0VOIChTVFJfTElTVF9UWVBFX1NIQTM4NCk7DQorICAgIERhdGFTaXpl ICAgPSA0ODsNCisgIH0gZWxzZSBpZiAoQ29tcGFyZUd1aWQgKCZMaXN0RW50cnktPlNpZ25hdHVy ZVR5cGUsICZnRWZpQ2VydFNoYTUxMkd1aWQpKSB7DQorICAgIExpc3RUeXBlSWQgPSBTVFJJTkdf VE9LRU4gKFNUUl9MSVNUX1RZUEVfU0hBNTEyKTsNCisgICAgRGF0YVNpemUgICA9IDY0Ow0KICAg fSBlbHNlIGlmIChDb21wYXJlR3VpZCAoJkxpc3RFbnRyeS0+U2lnbmF0dXJlVHlwZSwgJmdFZmlD ZXJ0WDUwOVNoYTI1Nkd1aWQpKSB7DQogICAgIExpc3RUeXBlSWQgPSBTVFJJTkdfVE9LRU4gKFNU Ul9MSVNUX1RZUEVfWDUwOV9TSEEyNTYpOw0KICAgICBEYXRhU2l6ZSAgID0gMzI7DQpkaWZmIC0t Z2l0IGEvU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50aWNhdGVkL1NlY3VyZUJvb3RDb25maWdE eGUvU2VjdXJlQm9vdENvbmZpZ0ltcGwuaCBiL1NlY3VyaXR5UGtnL1ZhcmlhYmxlQXV0aGVudGlj YXRlZC9TZWN1cmVCb290Q29uZmlnRHhlL1NlY3VyZUJvb3RDb25maWdJbXBsLmgKaW5kZXggMzdj NjZmMWI5NS4uZmY2ZTczMDFhZiAxMDA2NDQKLS0tIGEvU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRo ZW50aWNhdGVkL1NlY3VyZUJvb3RDb25maWdEeGUvU2VjdXJlQm9vdENvbmZpZ0ltcGwuaAorKysg Yi9TZWN1cml0eVBrZy9WYXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2VjdXJlQm9vdENvbmZpZ0R4ZS9T ZWN1cmVCb290Q29uZmlnSW1wbC5oCkBAIC04Miw2ICs4Miw4IEBAIGV4dGVybiAgRUZJX0lGUl9H VUlEX0xBQkVMICAqbUVuZExhYmVsOwogI2RlZmluZSBNQVhfRElHRVNUX1NJWkUgIFNIQTUxMl9E SUdFU1RfU0laRQ0KIA0KICNkZWZpbmUgV0lOX0NFUlRfVUVGSV9SU0EyMDQ4X1NJWkUgIDI1Ng0K KyNkZWZpbmUgV0lOX0NFUlRfVUVGSV9SU0EzMDcyX1NJWkUgIDM4NA0KKyNkZWZpbmUgV0lOX0NF UlRfVUVGSV9SU0E0MDk2X1NJWkUgIDUxMg0KIA0KIC8vDQogLy8gU3VwcG9ydCBoYXNoIHR5cGVz DQpAQCAtOTgsNiArMTAwLDExIEBAIGV4dGVybiAgRUZJX0lGUl9HVUlEX0xBQkVMICAqbUVuZExh YmVsOwogLy8NCiAjZGVmaW5lIENFUl9QVUJLRVlfTUlOX1NJWkUgIDI1Ng0KIA0KKy8vDQorLy8g RGVmaW5lIEtleVR5cGUgZm9yIHB1YmxpYyBrZXkgc3RvcmluZyBmaWxlDQorLy8NCisjZGVmaW5l IEtFWV9UWVBFX1JTQVNTQSAgMA0KKw0KIC8vDQogLy8gVHlwZXMgb2YgZXJyb3JzIG1heSBvY2N1 ciBkdXJpbmcgY2VydGlmaWNhdGUgZW5yb2xsbWVudC4NCiAvLw0KZGlmZiAtLWdpdCBhL1NlY3Vy aXR5UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRlZC9TZWN1cmVCb290Q29uZmlnRHhlL1NlY3VyZUJv b3RDb25maWdTdHJpbmdzLnVuaSBiL1NlY3VyaXR5UGtnL1ZhcmlhYmxlQXV0aGVudGljYXRlZC9T ZWN1cmVCb290Q29uZmlnRHhlL1NlY3VyZUJvb3RDb25maWdTdHJpbmdzLnVuaQppbmRleCAwZDAx NzAxZGU3Li4xNzdjNTg1ODM3IDEwMDY0NAotLS0gYS9TZWN1cml0eVBrZy9WYXJpYWJsZUF1dGhl bnRpY2F0ZWQvU2VjdXJlQm9vdENvbmZpZ0R4ZS9TZWN1cmVCb290Q29uZmlnU3RyaW5ncy51bmkK KysrIGIvU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50aWNhdGVkL1NlY3VyZUJvb3RDb25maWdE eGUvU2VjdXJlQm9vdENvbmZpZ1N0cmluZ3MudW5pCkBAIC0xMjQsNiArMTI0LDggQEAgU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQKICNzdHJpbmcgU1RSX0xJU1Rf VFlQRV9YNTA5ICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJYNTA5Ig0K ICNzdHJpbmcgU1RSX0xJU1RfVFlQRV9TSEExICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIGVuLVVTICJTSEExIg0KICNzdHJpbmcgU1RSX0xJU1RfVFlQRV9TSEEyNTYgICAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJTSEEyNTYiDQorI3N0cmluZyBTVFJfTElTVF9U WVBFX1NIQTM4NCAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlNIQTM4NCIN Cisjc3RyaW5nIFNUUl9MSVNUX1RZUEVfU0hBNTEyICAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUyAiU0hBNTEyIg0KICNzdHJpbmcgU1RSX0xJU1RfVFlQRV9YNTA5X1NIQTI1NiAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJYNTA5X1NIQTI1NiINCiAjc3RyaW5nIFNU Ul9MSVNUX1RZUEVfWDUwOV9TSEEzODQgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAi WDUwOV9TSEEzODQiDQogI3N0cmluZyBTVFJfTElTVF9UWVBFX1g1MDlfU0hBNTEyICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlg1MDlfU0hBNTEyIg0KLS0gCjIuMjYuMi53aW5kb3dz LjEKCg== --_004_PH0PR11MB4870A8BA471236EC668E7B93E1E6APH0PR11MB4870namp_--