From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web11.436.1587614685119072380 for ; Wed, 22 Apr 2020 21:04:45 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=LpBQG0qS; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: guomin.jiang@intel.com) IronPort-SDR: yL+ydw/tH2NJHUSPha7AZIMCvqjhAhzPSP4At4wZGm3jsf2V0UT6oJpeSGh6bNHW+Zxa/jifjy BNVfDwXlGI4A== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Apr 2020 21:04:44 -0700 IronPort-SDR: AOqf8/dFCejOUJ2xMogXCXtaoU3JJm8ZoyVD0Oy78h+u5XOKIq2NG1+c0KsD7cCfS0B3bagOB+ 1F9IOji7FhFw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,305,1583222400"; d="scan'208";a="274105728" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by orsmga002.jf.intel.com with ESMTP; 22 Apr 2020 21:04:43 -0700 Received: from fmsmsx115.amr.corp.intel.com (10.18.116.19) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 22 Apr 2020 21:04:30 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx115.amr.corp.intel.com (10.18.116.19) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 22 Apr 2020 21:04:30 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.36.54) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 22 Apr 2020 21:04:30 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jpftuy6QODOGYmNgCKzz0jcborKCyYqpoCxTpTG7vnrWK6uAaXymXK9Zhn7K7Sq6AN9Q1/Q/togZlGEIsvY7SIGv9GRrX+yNU8aZDrzi71T8c1uKtXYqIoLq52udPCH8ORu4SdgRChYHazNLx/aLnIOy57gYsMiaa8QzjVD6I4kstqI8Yk2j5WZQWznRjAVxEhlY1uEijp865rDhv2KoBgUOcqVVojZPMhQXigChlv1xOsicnYRHJRZlljZ+DpJt1R+A0U+EWUGk3fq+S8SFffYjQPEoTMiTgNmAvvO9knLtuOZzaWZ9G68rUVpIyfA5TV/duWIqtMEW4XXZoPZTYA== 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-SenderADCheck; bh=rmutWf2FAL6SjsiuyLzbpmm+4jlHNmkefR6D/JH1rlE=; b=RvPJ3WWG+5A/5qCDzQw/KUzOrSuAgSF+tIW5iltHanhzaXuRggos71ilVJaBlYCdalZz7R9cjwcC8Hirv4gFnXI5PhmT0orppXuVpg972fsVybLnYsLB7cJUtmtI/6x4WVdglhQrXzAwMTyJFaszJMd+tCNzPChtGSJfyFLHmQ8O7dB95SB7/RemUIC97cCVsWu4AXNf8XCX1LEKSn0vRou/ssnSavakXnILIymw7PzqFPa/EtSEOfM1hAlRjo1K5sly+Y6jXOYcfN7339IMScq1LyUKsSg1qPkg6zK/UW+RdGFlGg/qdiboiY/yEcjunWRdFiz98PegYvQaUporRg== 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=rmutWf2FAL6SjsiuyLzbpmm+4jlHNmkefR6D/JH1rlE=; b=LpBQG0qS23/x+iKEzurbbmCv1oH6p5E2NXL6OHcLFTZL6sM2OXE+5vXlLFY8zYo73SnJmES8hT9wfZjFw1aC3Iz9pLjdSZwO7xxUhG9SEoghIdKwPfb+NETzDCO4Bd0gZHdnDYv1baU7sfCmTMQ3s3F4X0IkrCVTkyXjCg1W5Rs= Received: from DM6PR11MB2955.namprd11.prod.outlook.com (2603:10b6:5:65::31) by DM6PR11MB2636.namprd11.prod.outlook.com (2603:10b6:5:c8::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.29; Thu, 23 Apr 2020 04:04:28 +0000 Received: from DM6PR11MB2955.namprd11.prod.outlook.com ([fe80::ccd4:4b0d:535a:58be]) by DM6PR11MB2955.namprd11.prod.outlook.com ([fe80::ccd4:4b0d:535a:58be%7]) with mapi id 15.20.2921.030; Thu, 23 Apr 2020 04:04:28 +0000 From: "Guomin Jiang" To: "Ni, Ray" , "devel@edk2.groups.io" , "Kinney, Michael D" , "ard.biesheuvel@linaro.org" CC: "lersek@redhat.com" , "macarl@microsoft.com" Subject: Re: [edk2-devel] [PATCH] CryptoPkg/FltUsedLib: Add FltUsedLib for float. Thread-Topic: [edk2-devel] [PATCH] CryptoPkg/FltUsedLib: Add FltUsedLib for float. Thread-Index: AQHWBnIBaSdKR2Z4c0ubFoK9cqOLU6hg+RYAgAAoAACAAAPHgIAA+7QAgAAgDACAAQ3WgIAApm0AgBQyHQCAABynoIANyA8wgAAmzQCAAAdWEA== Date: Thu, 23 Apr 2020 04:04:28 +0000 Message-ID: References: <03f18a49-6bd6-e753-e1bf-7e061d13f200@redhat.com> <14537.1585603662366515487@groups.io> <276d435b-4d94-0899-9710-1584d7baeb3c@redhat.com> <734D49CCEBEEF84792F5B80ED585239D5C4FC746@SHSMSX104.ccr.corp.intel.com> <16059D94172527B2.17445@groups.io> <734D49CCEBEEF84792F5B80ED585239D5C5099F3@SHSMSX104.ccr.corp.intel.com> In-Reply-To: <734D49CCEBEEF84792F5B80ED585239D5C5099F3@SHSMSX104.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.2.0.6 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: spf=none (sender IP is ) smtp.mailfrom=guomin.jiang@intel.com; x-originating-ip: [134.134.136.205] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c9564dc3-dafe-4633-a831-08d7e73b6b11 x-ms-traffictypediagnostic: DM6PR11MB2636: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6790; x-forefront-prvs: 03827AF76E x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB2955.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(10019020)(396003)(39860400002)(376002)(136003)(366004)(346002)(186003)(2906002)(52536014)(316002)(110136005)(26005)(53546011)(7696005)(8936002)(81156014)(19627235002)(71200400001)(6506007)(86362001)(76116006)(54906003)(30864003)(8676002)(66946007)(66446008)(55016002)(9686003)(966005)(478600001)(45080400002)(66476007)(5660300002)(64756008)(4326008)(66556008)(33656002);DIR:OUT;SFP:1102; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 5ZoCWYET1TlLkKpWEwOu446FRx5q/uFUsrQdW4o/40mjweP55l0/BMVcsU1a65kl8voe9JNrbdOFgIIIcfZPgGK07OWe4s4LZuI3+i99DJwthxc8uHWy37ihZ22pc7pK8AFMyQvv8ZY3Nxi6aPZwY6OqIYkJcQ4HFi7eh8vYAOEnXoo2kIGnwPD4e+ERD3JqKAtd5ON/U4iy0mE84gFKDCf2pxm1iwG+QOF5WlNPKb9uvEPh8upQBga24GnhqM5kqLeEijd4R9hBowwNfDk8O2f7rZrLK4P+zhkEw0qC2z5xWxL2eoxNCzuPcxZShbhAdMkggEsqZatt+tzztBGwWEq/yL5bewoT3YyI6gnar23cTRvY+V8iL12nxF/OdJeaasbZNoaRxztlAZdfHZ4TbugWn9pqeCUN7ks0TG/wiCpZBsYl44u6A3P7t+NTrsdFen+2RNkzy7zmNDvbuUL6eRWGNSCUb8C8kMj8gdJyVxOumEXB0Yy1pRAGwZ+QA005h1mh1zmsFX8CdVfHqE7cPQ== x-ms-exchange-antispam-messagedata: EYHe6aeLqLLBA3awHBOJFA3oGcIL+MxSYEuowLYpAaoWBMV7HNiZatL8aLey9qRAn+T7edaQjwhI7tx7aS1qabvSr3XWchNopW43/T/zqaYIVbX4fKdjyMAxSHgfbBH7d0swswyW58JDF3eU4Pxa0A== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: c9564dc3-dafe-4633-a831-08d7e73b6b11 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Apr 2020 04:04:28.0900 (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: XCpksBDTh1fz+Gg5ME+NNjo78vlhUwJyN1OCoeDbl0e6Bt3zvorn0oPClL8D2wgo1xz3cjIol9zBOdAI35mEeA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB2636 Return-Path: guomin.jiang@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SSBndWVzcyB0aGUga2V5IHBvaW50IGlzIC9HTCBvcHRpb24uIEludHJpbnNpY0xpYiBvbWl0IHRo ZSAvR0wgb3B0aW9uIHRvIGF2b2lkIHRoZSBidWlsZCBlcnJvciwgYnV0IGl0IGFiYW5kb24gdGhl IG9wdGltaXphdGlvbiBtZWFud2hpbGUuDQpJIHdpbGwgZG8gYSB0ZXN0OiBjcmVhdGUgYSBzaW1w bGVzdCBhcHBsaWNhdGlvbiBhbmQganVzdCBkZXBlbmQgSW50cmluc2ljTGliIGFuZCBhZGQgL0dM IG9wdGlvbiB0byBjb21wYXJlIHRoZSBkaWZmZXJlbnQgd2l0aCBhbmQgd2l0aG91dCAvR0wuDQoN Cj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTmksIFJheSA8cmF5Lm5pQGlu dGVsLmNvbT4NCj4gU2VudDogVGh1cnNkYXksIEFwcmlsIDIzLCAyMDIwIDExOjMyIEFNDQo+IFRv OiBKaWFuZywgR3VvbWluIDxndW9taW4uamlhbmdAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91 cHMuaW87IEtpbm5leSwNCj4gTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47 IGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmcNCj4gQ2M6IGxlcnNla0ByZWRoYXQuY29tOyBtYWNh cmxAbWljcm9zb2Z0LmNvbQ0KPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSF0gQ3J5 cHRvUGtnL0ZsdFVzZWRMaWI6IEFkZCBGbHRVc2VkTGliIGZvcg0KPiBmbG9hdC4NCj4gDQo+IEd1 b21pbiwNCj4gQ2FuIHlvdSBpbnZlc3RpZ2F0ZSB3aHkgbW92aW5nIF9mbHR1c2VkIGZyb20gQ3J5 cHRvUGtnL0ludHJpbnNpY0xpYiB0bw0KPiBNZGVQa2cvQmFzZUxpYiBzYXZlcyBzaXplPw0KPiAN Cj4gVGhhbmtzLA0KPiBSYXkNCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g PiBGcm9tOiBKaWFuZywgR3VvbWluIDxndW9taW4uamlhbmdAaW50ZWwuY29tPg0KPiA+IFNlbnQ6 IFRodXJzZGF5LCBBcHJpbCAyMywgMjAyMCA5OjM0IEFNDQo+ID4gVG86IGRldmVsQGVkazIuZ3Jv dXBzLmlvOyBKaWFuZywgR3VvbWluIDxndW9taW4uamlhbmdAaW50ZWwuY29tPjsgTmksDQo+ID4g UmF5IDxyYXkubmlAaW50ZWwuY29tPjsgS2lubmV5LCBNaWNoYWVsIEQNCj4gPiA8bWljaGFlbC5k Lmtpbm5leUBpbnRlbC5jb20+OyBhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnDQo+ID4gQ2M6IGxl cnNla0ByZWRoYXQuY29tOyBtYWNhcmxAbWljcm9zb2Z0LmNvbQ0KPiA+IFN1YmplY3Q6IFJFOiBb ZWRrMi1kZXZlbF0gW1BBVENIXSBDcnlwdG9Qa2cvRmx0VXNlZExpYjogQWRkIEZsdFVzZWRMaWIN Cj4gZm9yIGZsb2F0Lg0KPiA+DQo+ID4gVGhlIHNpemUgY29tcGFyYXRpb24gYmV0d2VlbiB3aXRo IF9mbHR1c2VkIGFuZCB3aXRob3V0IF9mbHR1c2VkLCB1c2UNCj4gT3ZtZlBrZ1g2NCBhcyBidWls ZCB0YXJnZXQNCj4gPiBPdm1mWDY0ICBFRklfRlZfVEFLRU5fU0laRSAgfCAgIFdpdGhvdXQgX2Zs dHVzZWQgICAgICAgfCBXaXRoIF9mbHR1c2VkDQo+ID4gRFhFRlYgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAweDQ2YmJlMCAgICAgICAgICAgICAgICAgICAg IHwgMHg0NmJiYzANCj4gPiBGVk1BSU5fQ09NUEFDVCAgICAgICAgICAgICAgICAgICAgIHwgIDB4 MTJjOGEwICAgICAgICAgICAgICAgICAgICAgIHwgMHgxMmM3ZjANCj4gPiBQRUlGViAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAweDRjYWU4ICAgICAgICAg ICAgICAgICAgICAgICAgIHwgMHg0Y2E2OA0KPiA+IEZyb20gdGhlIHJlc3VsdCwgaXQgd2lsbCBv Y2N1cHkgbGVzcyBzaXplIHJhdGhlciB0aGFuIG1vcmUgc2l6ZS4NCj4gPg0KPiA+IENvZGUgQ2hh bmdlIGFzIGJlbG93IGFuZCBidWlsZCBjb21tYW5kIGlzIGBgYGJ1aWxkIC1wDQo+ID4gT3ZtZlBr Zy9Pdm1mUGtnWDY0IC1iIERFQlVHIC10IFZTMjAxOSAtYSBYNjQgLSBEVFBNX0VOQUJMRT1UUlVF YGBgDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvQ3J5cHRvUGtnL0xpYnJhcnkvSW50cmluc2ljTGli L01lbW9yeUludHJpbnNpY3MuYw0KPiA+IGIvQ3J5cHRvUGtnL0xpYnJhcnkvSW50cmluc2ljTGli L01lbW9yeUludHJpbnNpY3MuYw0KPiA+IGluZGV4IDk0ZmUzNDFiZWMuLmM0MTM2OTE2ZDAgMTAw NjQ0DQo+ID4gLS0tIGEvQ3J5cHRvUGtnL0xpYnJhcnkvSW50cmluc2ljTGliL01lbW9yeUludHJp bnNpY3MuYw0KPiA+ICsrKyBiL0NyeXB0b1BrZy9MaWJyYXJ5L0ludHJpbnNpY0xpYi9NZW1vcnlJ bnRyaW5zaWNzLmMNCj4gPiBAQCAtMiw3ICsyLDcgQEANCj4gPiAgICBJbnRyaW5zaWMgTWVtb3J5 IFJvdXRpbmVzIFdyYXBwZXIgSW1wbGVtZW50YXRpb24gZm9yIE9wZW5TU0wtYmFzZWQNCj4gPiAg ICBDcnlwdG9ncmFwaGljIExpYnJhcnkuDQo+ID4NCj4gPiAtQ29weXJpZ2h0IChjKSAyMDEwIC0g MjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4gPiByZXNlcnZlZC48QlI+DQo+ ID4gK0NvcHlyaWdodCAoYykgMjAxMCAtIDIwMjAsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmln aHRzDQo+ID4gK3Jlc2VydmVkLjxCUj4NCj4gPiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT RC0yLUNsYXVzZS1QYXRlbnQNCj4gPg0KPiA+ICAqKi8NCj4gPiBAQCAtMTMsMTYgKzEzLDYgQEAg U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gPg0KPiA+ICB0 eXBlZGVmIFVJTlROICBzaXplX3Q7DQo+ID4NCj4gPiAtI2lmIGRlZmluZWQoX19HTlVDX18pIHx8 IGRlZmluZWQoX19jbGFuZ19fKQ0KPiA+IC0gICNkZWZpbmUgR0xPQkFMX1VTRUQgX19hdHRyaWJ1 dGVfXygodXNlZCkpIC0jZWxzZQ0KPiA+IC0gICNkZWZpbmUgR0xPQkFMX1VTRUQNCj4gPiAtI2Vu ZGlmDQo+ID4gLQ0KPiA+IC0vKiBPcGVuU1NMIHdpbGwgdXNlIGZsb2F0aW5nIHBvaW50IHN1cHBv cnQsIGFuZCBDIGNvbXBpbGVyIHByb2R1Y2VzIHRoZQ0KPiBfZmx0dXNlZA0KPiA+IC0gICBzeW1i b2wgYnkgZGVmYXVsdC4gU2ltcGx5IGRlZmluZSB0aGlzIHN5bWJvbCBoZXJlIHRvIHNhdGlzZnkg dGhlIGxpbmtlci4gKi8NCj4gPiAtaW50ICBHTE9CQUxfVVNFRCBfZmx0dXNlZCA9IDE7DQo+ID4g LQ0KPiA+ICAvKiBTZXRzIGJ1ZmZlcnMgdG8gYSBzcGVjaWZpZWQgY2hhcmFjdGVyICovICB2b2lk ICogbWVtc2V0ICh2b2lkDQo+ID4gKmRlc3QsIGludCBjaCwgc2l6ZV90IGNvdW50KSAgeyBkaWZm IC0tZ2l0DQo+ID4gYS9NZGVQa2cvTGlicmFyeS9CYXNlTGliL0Jhc2VMaWIuaW5mDQo+ID4gYi9N ZGVQa2cvTGlicmFyeS9CYXNlTGliL0Jhc2VMaWIuaW5mDQo+ID4gaW5kZXggMzU4NmJlYjBhYi4u YmFiMzFjMDdjNyAxMDA2NDQNCj4gPiAtLS0gYS9NZGVQa2cvTGlicmFyeS9CYXNlTGliL0Jhc2VM aWIuaW5mDQo+ID4gKysrIGIvTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9CYXNlTGliLmluZg0KPiA+ IEBAIC0xLDcgKzEsNyBAQA0KPiA+ICAjIyBAZmlsZQ0KPiA+ICAjICBCYXNlIExpYnJhcnkgaW1w bGVtZW50YXRpb24uDQo+ID4gICMNCj4gPiAtIyAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxOSwg SW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4gPiByZXNlcnZlZC48QlI+DQo+ID4gKyMg IENvcHlyaWdodCAoYykgMjAwNyAtIDIwMjAsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz DQo+ID4gK3Jlc2VydmVkLjxCUj4NCj4gPiAgIyAgUG9ydGlvbnMgY29weXJpZ2h0IChjKSAyMDA4 IC0gMjAwOSwgQXBwbGUgSW5jLiBBbGwgcmlnaHRzDQo+ID4gcmVzZXJ2ZWQuPEJSPiAgIyAgUG9y dGlvbnMgY29weXJpZ2h0IChjKSAyMDExIC0gMjAxMywgQVJNIEx0ZC4gQWxsDQo+ID4gcmlnaHRz IHJlc2VydmVkLjxCUj4gICMgQEAgLTYwLDYgKzYwLDcgQEANCj4gPiAgICBTdHJpbmcuYw0KPiA+ ICAgIEZpbGVQYXRocy5jDQo+ID4gICAgQmFzZUxpYkludGVybmFscy5oDQo+ID4gKyAgRmx0VXNl ZC5jICAgICAgICAgICAgICAgfCBNU0ZUDQo+ID4NCj4gPiAgW1NvdXJjZXMuSWEzMl0NCj4gPiAg ICBJYTMyL1dyaXRlVHIubmFzbQ0KPiA+IGRpZmYgLS1naXQgYS9NZGVQa2cvTGlicmFyeS9CYXNl TGliL0ZsdFVzZWQuYw0KPiA+IGIvTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9GbHRVc2VkLmMNCj4g PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAwMDAuLmMwNjU1OTQyNjYN Cj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9GbHRV c2VkLmMNCj4gPiBAQCAtMCwwICsxLDE0IEBADQo+ID4gKy8qKiBAZmlsZQ0KPiA+ICsgIERlY2xh cmUgX2ZsdHVzZWQgc3ltYm9sIGZvciBNU1ZDDQo+ID4gKw0KPiA+ICsgIE1TVkMgbmVlZCB0aGlz IHN5bWJvbCBmb3IgZmxvYXQsIGFuZGQgaXQgaGVyZSB0byBmZWVkIE1TVkMuIGl0IG1heQ0KPiA+ ICsgcmVtb3ZlICBpZiBNU1ZDIG5vdCBuZWVkIGl0IGFueSBtb3JlLg0KPiA+ICsNCj4gPiArICBD b3B5cmlnaHQgKGMpIDIwMjAgLSAyMDIwLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cw0K PiA+ICtyZXNlcnZlZC48QlI+DQo+ID4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQgKiovDQo+ID4gKw0KPiA+ICsvLw0KPiA+ICsvLyBKdXN0IGZvciBNU1ZD IGZsb2F0DQo+ID4gKy8vDQo+ID4gK2ludCBfZmx0dXNlZCA9IDB4MTsNCj4gPg0KPiA+ID4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlv IDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mDQo+ID4gPiBHdW9taW4gSmlhbmcN Cj4gPiA+IFNlbnQ6IFR1ZXNkYXksIEFwcmlsIDE0LCAyMDIwIDM6MDEgUE0NCj4gPiA+IFRvOiBk ZXZlbEBlZGsyLmdyb3Vwcy5pbzsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47IEtpbm5leSwN Cj4gPiA+IE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBhcmQuYmllc2hl dXZlbEBsaW5hcm8ub3JnDQo+ID4gPiBDYzogbGVyc2VrQHJlZGhhdC5jb207IG1hY2FybEBtaWNy b3NvZnQuY29tDQo+ID4gPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSF0gQ3J5cHRv UGtnL0ZsdFVzZWRMaWI6IEFkZA0KPiA+ID4gRmx0VXNlZExpYiBmb3IgZmxvYXQuDQo+ID4gPg0K PiA+ID4gU3VtbWFyaXplIGN1cnJlbnQgc3RhdHVzOg0KPiA+ID4NCj4gPiA+IFByb2JsZW0gU3Rh dGVtZW50Og0KPiA+ID4gT3BlbnNzbCByZXF1aXJlIF9mbHR1c2VkIHRvIGJlIGRlZmluZWQgYXMg YSBjb25zdGFudCBhbnl3aGVyZQ0KPiA+ID4gZmxvYXRpbmcgcG9pbnQgaXMgdXNlZC4NCj4gPiA+ IEl0IG1heSB1c2UgZmxvYXQgb3V0IG9mIGVkazIgdHJlZSBhbmQgbmVlZCBfZmx0dXNlZCwgZm9y IGV4YW1wbGUsDQo+ID4gPiBNaWNyb3NvZnTigJlzIE9uU2NyZWVuS2V5Ym9hcmQgYW5kIFVpVG9v bEtpdC4NCj4gPiA+DQo+ID4gPiBDdXJyZW50IFByb3Bvc2FsIGFzIGJlbG93Og0KPiA+ID4NCj4g PiA+IFByb3Bvc2FsIDE6IEFkZCBGbHRVc2VkLmMgaW50byBleGlzdCBsaWJyYXJ5DQo+ID4gPiBE ZXRhaWw6IEFkZCBGbHRVc2VkLmMgaW50byBFbnRyeVBvaW50TGliKFBFSU0sIERYRSkuDQo+ID4g PiBSZWNvbW1lbmQ6IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPg0K PiA+ID4gQXBwcm92ZTogTGFzemxvIEVyc2VrIGxlcnNla0ByZWRoYXQuY29tDQo+ID4gPiBOZXR1 YWw6IE1pY2hhZWwgRCBLaW5uZXkgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4g QmVuZWZpdDogRG9lc27igJl0IG5lZWQgbW9kaWZ5IGV2ZXJ5IC5kc2MgZGVzY3JpcHRpb24gZmls ZS4NCj4gPiA+IERlZmVjdGlvbjogSSB0ZXN0IHRoYXQgaXQgd2lsbCBmYWlsIGJlY2F1c2Ugb2Yg L0dMIG9wdGlvbiwgdGhlIGVycm9yDQo+ID4gPiBzaG93IGZhdGFsIGVycm9yIExOSzEyMzc6IGR1 cmluZyBjb2RlIGdlbmVyYXRpb24sIGNvbXBpbGVyDQo+ID4gPiBpbnRyb2R1Y2VkIHJlZmVyZW5j ZSB0byBzeW1ib2wgJ19mbHR1c2VkJyBkZWZpbmVkIGluIG1vZHVsZQ0KPiA+ID4gJ1VlZmlBcHBs aWNhdGlvbkVudHJ5UG9pbnQubGliKEZsdFVzZWQub2JqKScgY29tcGlsZWQgd2l0aCAvR0wNCj4g PiA+DQo+ID4gPiBQcm9wb3NhbCAyOiBEZWZpbmUgTlVMTCBsaWJyYXJ5DQo+ID4gPiBSZWNvbW1l bmQ6IE1pY2hhZWwgRCBLaW5uZXkgbWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20NCj4gPiA+IE9w cG9zZTogU2VhbiBzZWFuLmJyb2dhbj1taWNyb3NvZnQuY29tQGdyb3Vwcy5pbyAsIEFyZCBCaWVz aGV1dmVsDQo+ID4gPiA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4NCj4gPiA+IEJlbmVmaXQ6 IEkgdGVzdCBpdCBhbmQgcHJvdmUgdGhhdCBpdCBpcyBleGVjdXRhYmxlLg0KPiA+ID4gRGVmZWN0 aW9uOiBJdCBpcyByZXF1aXJlZCB0aGF0IG1vZGlmeSBldmVyeSBkZXNjcmlwdGlvbiBmaWxlLg0K PiA+ID4gRGVmZWN0aW9uOiBJdCBuZWVkIGJlIHZlcnkgY2FyZWZ1bCB0aGF0IGl0IHNob3VsZCBv bmx5IGFwcGx5IHNvbWUNCj4gPiA+IG1vZHVsZSB0eXBlKFBFSU0sIERYRV9EUklWRVIsIFVFRklf QVBQTElDQVRJT04pIHJhdGhlciB0aGFuIGFsbC4NCj4gPiA+IERlZmVjdGlvbjogQnVpbGQgYnJl YWsgdXAuDQo+ID4gPiBBY3Rpb24gUmVxdWlyZWQ6IE5lZWQgZXZhbHVhdGUgdGhlIGFmZmVjdGlv biBvbiBzaXplLg0KPiA+ID4gQ29uc2lkZXJhdGlvbjogQWRkIFBDRCB0byBjb250cm9sIHRoZSBm ZWF0dXJlDQo+ID4gPg0KPiA+ID4gUHJvcG9zYWwgMzogRGVmaW5lIEZsdFVzZWRMaWINCj4gPiA+ IERldGFpbDogRGVmaW5lIEZsdFVzZWRMaWIgYW5kIGFkZCBkZXBlbmRlbmNlDQo+ID4gPiBPcHBv c2U6IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPg0KPiA+ID4gQmVu ZWZpdDogRG9lc27igJl0IG5lZWQgY2FyZSB0aGF0IHdoaWNoIG1vZHVsZSB3aWxsIHVzZSBpdCwg d2Ugd2lsbA0KPiA+ID4gZXhwbGljaXRseSBwb2ludCBpdCBpbiBjb21wb25lbnQgZmlsZS4NCj4g PiA+IERlZmVjdGlvbjogTW9yZSBjb21wbGV4LCBJdCBpcyByZXF1aXJlZCB0aGF0IG1vZGlmeSBl dmVyeQ0KPiA+ID4gZGVzY3JpcHRpb24gZmlsZSBhbmQgbW9kaWZ5IGNvbXBvbmVudCBtZWFud2hp bGUuDQo+ID4gPiBEZWZlY3Rpb246IEJ1aWxkIGJyZWFrdXANCj4gPiA+DQo+ID4gPiBUaGFua3MN Cj4gPiA+IGd1b21pbg0KPiA+ID4NCj4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gPiA+ID4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlv PiBPbiBCZWhhbGYgT2YgTmksDQo+ID4gPiBSYXkNCj4gPiA+ID4gU2VudDogVHVlc2RheSwgQXBy aWwgMTQsIDIwMjAgMTowMyBQTQ0KPiA+ID4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IEtp bm5leSwgTWljaGFlbCBEDQo+ID4gPiA+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IGFy ZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc7IEtpbm5leSwNCj4gPiA+ID4gTWljaGFlbCBEIDxtaWNo YWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+ID4gQ2M6IGxlcnNla0ByZWRoYXQuY29tOyBt YWNhcmxAbWljcm9zb2Z0LmNvbQ0KPiA+ID4gPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQ QVRDSF0gQ3J5cHRvUGtnL0ZsdFVzZWRMaWI6IEFkZA0KPiA+ID4gPiBGbHRVc2VkTGliIGZvciBm bG9hdC4NCj4gPiA+ID4NCj4gPiA+ID4gVUVGSSBzcGVjIGFsbG93cyB1c2luZyBmbG9hdCBvcGVy YXRpb24gc28gYXNraW5nIG1vZHVsZSBkZXZlbG9wZXJzDQo+ID4gPiA+IGF2b2lkIHVzaW5nIGZs b2F0IG1heSBub3QgbWFrZSBzZW5zZS4gRXZlbg0KPiA+ID4gPiBVZWZpQ3B1UGtnXExpYnJhcnlc QmFzZVVlZmlDcHVMaWJcDQo+ID4gPiA+IHByb3ZpZGVzIHJvdXRpbmUgdG8gaW5pdGlhbGl6ZSBm bG9hdCBzdXBwb3J0IGZvciBYODYuDQo+ID4gPiA+DQo+ID4gPiA+IEdpdmVuIEFSTSBhbHJlYWR5 IHVzZXMgTlVMTCBsaWJyYXJ5IGNsYXNzIG1lY2hhbmlzbSB0byBzdXBwbHkgdGhlDQo+ID4gPiA+ IGNvbXBpbGVyIHN0dWIsIEkgcHJlZmVyIFg4NiBhbGlnbnMgdG8gdGhlIEFSTSBzdHlsZS4NCj4g PiA+ID4NCj4gPiA+ID4gVGhlIG9ubHkgdW5zdXJlIHRoaW5nIGlzIHRoZSBzaXplIGltcGFjdCB3 aGVuIGEgbW9kdWxlIGlzIG5vdA0KPiA+ID4gPiB1c2luZyBmbG9hdC4gV2UgZXhwZWN0IHRoZXJl IGlzIG5vIHNpemUgaW1wYWN0IHdoZW4gYSBtb2R1bGUgaXMgbm90DQo+IHVzaW5nIGZsb2F0Lg0K PiA+ID4gPg0KPiA+ID4gPiBUaGFua3MsDQo+ID4gPiA+IFJheQ0KPiA+ID4gPg0KPiA+ID4gPiA+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gRnJvbTogZGV2ZWxAZWRrMi5n cm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YNCj4gPiA+ID4gTWlj aGFlbA0KPiA+ID4gPiA+IEQgS2lubmV5DQo+ID4gPiA+ID4gU2VudDogVGh1cnNkYXksIEFwcmls IDIsIDIwMjAgMTI6MzggQU0NCj4gPiA+ID4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IGFy ZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc7IEtpbm5leSwNCj4gPiA+ID4gPiBNaWNoYWVsIEQgPG1p Y2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4gPiA+IENjOiBsZXJzZWtAcmVkaGF0LmNv bTsgbWFjYXJsQG1pY3Jvc29mdC5jb20NCj4gPiA+ID4gPiBTdWJqZWN0OiBSZTogW2VkazItZGV2 ZWxdIFtQQVRDSF0gQ3J5cHRvUGtnL0ZsdFVzZWRMaWI6IEFkZA0KPiA+ID4gPiA+IEZsdFVzZWRM aWIgZm9yIGZsb2F0Lg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSGkgQXJkLA0KPiA+ID4gPiA+DQo+ ID4gPiA+ID4gSSB0aGluayBhZGRpbmcgYSBkZXBlbmRlbmN5IGluIHRoZSBtb2R1bGUgZW50cnkg cG9pbnQgbGlicyBpcw0KPiA+ID4gPiA+IGFsc28gZ29vZCB3YXkgdG8gZ3VhcmFudGVlIGFuIGlu dHJpbnNpYyBsaWIgaXMgYXZhaWxhYmxlLiAgSQ0KPiA+ID4gPiA+IGFncmVlIHRoYXQgaXQgY2Fu IHByb3ZpZGUgbW9kdWxlIHR5cGUgYW5kIGFyY2ggc3BlY2lmaWMNCj4gPiA+ID4gPiBtYXBwaW5n cy4gIFRoZSBOVUxMIGxpYiBpbnN0YW5jZSBjYW4gZG8gdGhlIHNhbWUgaWYgdGhlIE5VTEwNCj4g PiA+ID4gPiBpbnN0YW5jZSBpcyBsaXN0ZWQgaW4gdGhlIG1vZHVsZS9hcmNoIHNwZWNpZmljIGxp YnJhcnkgY2xhc3Nlcw0KPiA+ID4gPiA+IHNlY3Rpb25zLiBhIGZldyBleGFtcGxlIHNlY3Rpb24g bmFtZXMuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBbTGlicmFyeUNsYXNzZXMuQVJNLlBFSU0sIExp YnJhcnlDbGFzc2VzLkFBUkNINjQuUEVJTV0NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFtMaWJyYXJ5 Q2xhc3Nlcy5JQTMyLlVFRklfRFJJVkVSXQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gW0xpYnJhcnlD bGFzc2VzLlg2NC5EWEVfRFJJVkVSXQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gU28gZWl0aGVyIHdh eSwgdGhlIERTQyBmaWxlcyBuZWVkIHRvIHByb3ZpZGUgdGhlIGxpYnJhcnkgbWFwcGluZy4NCj4g PiA+ID4gPiBUaGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlc2UNCj4gPiA+ID4gPiAyIGFw cHJvYWNoZXMgaXMgdGhhdCBhZGRpbmcgYSBkZXBlbmRlbmN5IHRvIHRoZSBtb2R1bGUgZW50cnkN Cj4gPiA+ID4gPiBwb2ludCBsaWJzIHVzZXMgYSBmb3JtYWxseSBkZWZpbmVkIGxpYnJhcnkgY2xh c3MgbmFtZSBmb3IgdGhlDQo+ID4gPiA+ID4gaW50cmluc2ljIGZ1bmN0aW9ucyB2cy4NCj4gPiA+ ID4gPiB0aGUgdW4tbmFtZWQgTlVMTCBsaWJyYXJ5IGluc3RhbmNlLiAgQSBmb3JtYWxseSBkZWZp bmVkIGxpYnJhcnkNCj4gPiA+ID4gPiBjbGFzcyBuYW1lIGlzIGJldHRlciBzdXBwb3J0ZWQgZm9y IHRoaW5ncyBsaWtlIHVuaXQgdGVzdHMgZnJvbQ0KPiA+ID4gPiA+IHRoZSBVbml0VGVzdEZyYW1l d29ya1BrZy4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFRoZSBmbHR1c2VkIGlzc3VlIHdvdWxkIG5v dCBnbyBhd2F5IG9mIHdlIHJlbW92ZWQgdGhlIGZsb2F0DQo+ID4gPiA+ID4gdXNhZ2UgZm9yIE9w ZW5TU0wuICBPbmUgb3IgbW9yZSBvdGhlciBsaWJzIG9yIHRoZSBtb2R1bGUgY291bGQNCj4gPiA+ ID4gPiB1c2UgZmxvYXQvZG91YmxlIHR5cGVzIGFuZCB0aGlzIGlzc3VlIHdvdWxkIHBvcCB1cCBh Z2Fpbi4gIEkgZG8NCj4gPiA+ID4gPiBhZ3JlZSBpdCB3b3VsZCBiZSBjbGVhbmVyIGlmIHdlIGNv dWxkIHVzZSBPcGVuU1NMIHdpdGhvdXQgZmxvYXRpbmcNCj4gcG9pbnQuDQo+ID4gPiA+ID4NCj4g PiA+ID4gPiBJIHRoaW5rIGFkZGluZyBhbiBpbnRyaW5zaWMgbGliIGZvciBJQTMyL1g2NCBmb3Ig VlMyMHh4DQo+ID4gPiA+ID4gZ2VuZXJhdGlvbiBvZiBpbnRyaW5zaWMgZnVuY3Rpb25zIHdvdWxk IGFkZHJlc3MgZmx0dXNlZCBhbmQNCj4gPiA+ID4gPiBvdGhlciBjb21tb24gQyBpbXBsZW1lbnRh dGlvbiBzdHlsZXMgdGhhdCBnZW5lcmF0ZSBpbnRyaW5zaWMNCj4gPiA+ID4gPiBmdW5jdGlvbnMg KGUuZy4gNjQtYml0IGludCBtYXRoIG9uIDMyLWJpdCwgc3RydWN0dXJlIHZhcmlhYmxlDQo+ID4g PiA+ID4gYXNzaWdubWVudHMsIGFuZCBsb29wcyB0aGF0IGZpbGwgYSBidWZmZXIgd2l0aCBhIGNv bnN0IHZhbHVlKSBieQ0KPiA+ID4gPiA+IFZTMjB4eCBjb21waWxlcnMuICBBbiBpbnRyaW5zaWMg bGliIGZvciBHQ0Mgd291bGQgYWxzbyBoZWxwIHdpdGgNCj4gPiA+ID4gPiB0aGVzZSBzYW1lIGNv bW1vbiBDIGltcGxlbWVudGF0aW9uIHN0eWxlcyB0aGF0IGdlbmVyYXRlIGludHJpbnNpYw0KPiBm dW5jdGlvbnMuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBNaWtlDQo+ID4gPiA+ID4NCj4gPiA+ID4g PiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gPiBGcm9tOiBkZXZlbEBl ZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZiBPZg0KPiA+ID4g QXJkDQo+ID4gPiA+ID4gPiBCaWVzaGV1dmVsDQo+ID4gPiA+ID4gPiBTZW50OiBUdWVzZGF5LCBN YXJjaCAzMSwgMjAyMCAxMTo0MyBQTQ0KPiA+ID4gPiA+ID4gVG86IEtpbm5leSwgTWljaGFlbCBE IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+ID4gPiA+IENjOiBkZXZlbEBlZGsy Lmdyb3Vwcy5pbzsgbGVyc2VrQHJlZGhhdC5jb207DQo+ID4gPiA+ID4gPiBtYWNhcmxAbWljcm9z b2Z0LmNvbQ0KPiA+ID4gPiA+ID4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIENy eXB0b1BrZy9GbHRVc2VkTGliOg0KPiA+ID4gPiA+ID4gQWRkIEZsdFVzZWRMaWIgZm9yIGZsb2F0 Lg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IE9uIFR1ZSwgMzEgTWFyIDIwMjAgYXQgMTY6MzYs IEtpbm5leSwgTWljaGFlbCBEDQo+ID4gPiA+ID4gPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5j b20+IHdyb3RlOg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBBUk0gYW5kIEFBUkNINjQg aGF2ZSBhIGNvbXBpbGVyIGludHJpbnNpYyBsaWIgdGhhdCBpcw0KPiA+ID4gPiA+ID4gbGlua2Vk IGFnYWluc3QgYWxsIG1vZHVsZXMuDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IFtMaWJy YXJ5Q2xhc3Nlcy5BUk0sIExpYnJhcnlDbGFzc2VzLkFBUkNINjRdDQo+ID4gPiA+ID4gPiA+ICAg Iw0KPiA+ID4gPiA+ID4gPiAgICMgSXQgaXMgbm90IHBvc3NpYmxlIHRvIHByZXZlbnQgQVJNIGNv bXBpbGVyIGNhbGxzIHRvDQo+ID4gPiA+ID4gPiBnZW5lcmljIGludHJpbnNpYyBmdW5jdGlvbnMu DQo+ID4gPiA+ID4gPiA+ICAgIyBUaGlzIGxpYnJhcnkgcHJvdmlkZXMgdGhlIGluc3RyaW5zaWMg ZnVuY3Rpb25zDQo+ID4gPiA+ID4gPiBnZW5lcmF0ZWQgYnkgYSBnaXZlbiBjb21waWxlci4NCj4g PiA+ID4gPiA+ID4gICAjIFtMaWJyYXJ5Q2xhc3Nlcy5BUk1dIGFuZCBOVUxMIG1lYW4gbGluayB0 aGlzDQo+ID4gPiA+ID4gPiBsaWJyYXJ5IGludG8gYWxsIEFSTSBpbWFnZXMuDQo+ID4gPiA+ID4g PiA+ICAgIw0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gTlVMTHxBcm1Qa2cvTGlicmFyeS9D b21waWxlckludHJpbnNpY3NMaWIvQ29tcGlsZXJJbnRyaW5zDQo+ID4gPiA+ID4gPiBpY3NMaWIu aW5mDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IENhbiB3ZSB1c2UgdGhpcyBzYW1lIHRl Y2huaXF1ZSBmb3IgSUEzMi9YNjQgVlMgYnVpbGRzPw0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+IEluIG15IG9waW5pb24sIGhhdmluZyB0aGVzZSBpbnRyaW5zaWNzIGxp YnJhcmllcyBhZGRlZCB2aWENCj4gPiA+ID4gPiA+IE5VTEwgbGlicmFyeSBjbGFzcyByZXNvbHV0 aW9uIHdhcyBhIG1pc3Rha2UgdG8gYmVnaW4gd2l0aC4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiBFdmVyeSBjb21wb25lbnQgdGhhdCB3ZSBidWlsZCBpbmNvcnBvcmF0ZXMgc29tZSBraW5kIG9m DQo+ID4gPiA+ID4gPiBzdGFydHVwIGNvZGUgbGlicmFyeSB0aGF0IGRlZmluZXMgdGhlIF9Nb2R1 bGVFbnRyeVBvaW50DQo+ID4gPiA+ID4gPiBzeW1ib2wsIGFuZCBpdCB3b3VsZCBiZSBtdWNoIGJl dHRlciB0byBtYWtlIHRob3NlIGxpYnJhcmllcw0KPiA+ID4gPiA+ID4gaW5jbHVkZSBhbiBJbnRy aW5zaWNzTGlicmFyeSBkZXBlbmRlbmN5IHRoYXQgY2FuIGJlIHNhdGlzZmllZA0KPiA+ID4gPiA+ ID4gYnkgYXJjaCBzcGVjaWZpYyB2ZXJzaW9ucyB0aGF0IGFsc28gZW5jYXBzdWxhdGUgdGhlIHRv b2xjaGFpbg0KPiA+ID4gPiA+ID4gZGVwZW5kZW5jaWVzIChzdWNoIGFzIHRoaXMgX2ZsdHVzZWQg c3ltYm9sLCBvciBtZW1jcHkvbWVtc2V0DQo+IG9uIEFSTS9HQ0MpLg0KPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+IE9uIGFub3RoZXIgbm90ZSwgaXQgaXMgc3RpbGwgZGVlcGx5IGRpc2FwcG9pbnRp bmcgdGhhdCB3ZSBuZWVkDQo+ID4gPiA+ID4gPiB0byBqdW1wIHRocm91Z2ggYWxsIG9mIHRoZXNl IGhvb3BzIGJlY2F1c2UgdGhlICpvbmx5KiBzaW5nbGUNCj4gPiA+ID4gPiA+IHVzZSBvZiBmbG9h dGluZyBwb2ludCBpbiBPcGVuU1NMIGlzIHRoZSBlbnRyb3B5IGVzdGltYXRlIG9mIGFuDQo+ID4g PiA+ID4gPiBSTkcsIHdoaWNoIGlzIGluIHRoZSByYW5nZSBvZiAwLi4xMDIzIHRvIGJlZ2luIHdp dGggW0lJUkMpLg0KPiA+ID4gPiA+ID4gUmVtZW1iZXIgdGhhdCB3ZSBhbHNvIGhhdmUgYSBzb2Z0 ZmxvYXQgc3VibW9kdWxlIGZvciAzMi1iaXQNCj4gPiA+ID4gPiA+IEFSTSwgZm9yIHRoZSBzYW1l IHN0dXBpZCByZWFzb24uIElmIHdlIGNvdWxkIHN0b3AgcHVsbGluZyBpbg0KPiA+ID4gPiA+ID4g dGhhdCBwYXJ0IG9mIHRoZSBjb2RlIChvciByZXBsYWNlIGl0IHdpdGggYW4NCj4gPiA+ID4gPiA+ IFVJTlQxNiB3aGVuIGJ1aWxkaW5nIGZvciB0aGUgVUVGSSB0YXJnZXQpLCB0aGUgd2hvbGUgZmxv YXRpbmcNCj4gPiA+ID4gPiA+IHBvaW50IGlzc3VlIHdvdWxkIG1vc3RseSBnbyBhd2F5IEFGQUlD VC4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ ID4gPg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiANCj4g Pg0KPiANCg0K