From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) (using TLSv1 with cipher CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 7F2311A1E2A for ; Wed, 19 Oct 2016 23:16:12 -0700 (PDT) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga103.fm.intel.com with ESMTP; 19 Oct 2016 23:16:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,517,1473145200"; d="scan'208,217";a="1047315238" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga001.jf.intel.com with ESMTP; 19 Oct 2016 23:16:11 -0700 Received: from fmsmsx112.amr.corp.intel.com (10.18.116.6) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 19 Oct 2016 23:16:11 -0700 Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by FMSMSX112.amr.corp.intel.com (10.18.116.6) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 19 Oct 2016 23:16:10 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.139]) by shsmsx102.ccr.corp.intel.com ([169.254.2.206]) with mapi id 14.03.0248.002; Thu, 20 Oct 2016 14:16:06 +0800 From: "Wu, Jiaxin" To: Santhapur Naveen , "Palmer, Thomas" , Samer El Haj Mahmoud , "edk2-devel@lists.01.org" CC: "Fu, Siyuan" , "Ye, Ting" , "Li, Ruth" Thread-Topic: Issues with HTTPS Boot Thread-Index: AdITMrB9dQ9WWubnSXaJO1RcrMRFRgAJIYwAACb2LMAAEohmMAAmfOIwAAMjFEAABJQ6AAAZXFlgAAL9nSAAipjtsADOQRPAAAQrLuADyL9MAAAjVCCQ Date: Thu, 20 Oct 2016 06:16:06 +0000 Message-ID: <895558F6EA4E3B41AC93A00D163B72741389C12C@SHSMSX103.ccr.corp.intel.com> References: <625A2455CC232F40B0F38F05ACED6D978C2C2225@VENUS1.in.megatrends.com> <625A2455CC232F40B0F38F05ACED6D978C2C29FD@VENUS1.in.megatrends.com> <625A2455CC232F40B0F38F05ACED6D978C2C2C5E@VENUS1.in.megatrends.com> <54EF1A77C479D840AF005ED34A3DC6597041C6@USMAILMBX02> <895558F6EA4E3B41AC93A00D163B727413889028@SHSMSX103.ccr.corp.intel.com> <625A2455CC232F40B0F38F05ACED6D978C2C2DE7@VENUS1.in.megatrends.com> <895558F6EA4E3B41AC93A00D163B72741388BB24@SHSMSX103.ccr.corp.intel.com> <625A2455CC232F40B0F38F05ACED6D978C2F865D@VENUS1.in.megatrends.com> In-Reply-To: <625A2455CC232F40B0F38F05ACED6D978C2F865D@VENUS1.in.megatrends.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNzFlMzJlNWItN2U5Ny00ZWJlLWIxOTctZDg1ZjEzYWY2N2NmIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX1BVQkxJQyJ9XX1dfSwiU3ViamVjdExhYmVscyI6W10sIlRNQ1ZlcnNpb24iOiIxNS45LjYuNiIsIlRydXN0ZWRMYWJlbEhhc2giOiJBdDNueW81bFFyUjNIdGJQWEowVGN5Mk42alBXbFdwSlVDNzBqZWVWamdjPSJ9 x-ctpclassification: CTP_PUBLIC x-originating-ip: [10.239.127.40] MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 Subject: Re: Issues with HTTPS Boot X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Oct 2016 06:16:12 -0000 Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SGVsbG8gTmF2ZWVuLA0KDQpEb2VzIHlvdXIgY29kZSByZWFsbHkgY292ZXIgdGhlIHBhdGNoIHRv IHN1cHBvcnQgdGhlIFRMUyB2ZXJzaW9uIG5lZ290aWF0aW9uIChHaXQgU0hBLTE6IDc1NWQxZTYw YzU4ZTFlNjcxMzBkODAyY2E3MTVkMmQ0ZmJmZTkwZTkgKyBTSEEtMTogZGZmYTY2NDIwODFkOGIw YmQ2NWMzMzllN2E3NmU5OWQwMzJlOWE3Yyk/DQoNCkkgbm90aWNlZCB0aGUgVExTIHZlcnNpb24g aW4gY2xpZW50IGhlbGxvIG1lc3NhZ2UgaXMgVExTMS4wLiBUaGF0oa9zIG5vdCB0aGUgbGF0ZXN0 IGNvZGUgYmVoYXZpb3IuIFlvdSBjYW4gc2VlIHRoZSBiZWxvdyBwaWVjZSBjb2RlIGluIFRsc0N0 eE5ldygpIGZ1Y3Rpb246DQoNClRsc0N0eCA9IFNTTF9DVFhfbmV3IChTU0x2MjNfY2xpZW50X21l dGhvZCAoKSk7DQoNClNTTHYyM19jbGllbnRfbWV0aG9kICgpIG1lYW5zIHRvIG5lZ290aWF0ZSBo aWdoZXN0IGF2YWlsYWJsZSBTU0wvVExTIHZlcnNpb24uIFNvLCB0aGUgVExTIHZlcnNpb24gaW4g Y2xpZW50IGhlbGxvIG1lc3NhZ2Ugc2hvdWxkIGJlIFRMUzEuMiBpZiB5b3Uga2VlcCB0aGUgZGVm YXVsdCBvcGVuc3NsIG9wdGlvbnMuIFNvLCBJIGhhdmUgdG8gZG91YnQgdGhhdCBpcyB0aGVyZSBh bnkgcGF0Y2ggeW91IGxvc3Q/DQoNCklmIHlvdSB1c2UgdGhlIGVkazItc3RhZ2luZyBjb2RlIGJh c2UgYW5kIHN0aWxsIGZhY2UgdGhlIGZhaWx1cmUsIGRvIHlvdSBtaW5kIHNoYXJlIHlvdXIgZ2Vu ZXJhdGVkIGNlcnRpZmljYXRlcyBmb3IgdmVyaWZpY2F0aW9uIChyb290Y2VydC5wZW0vc2VydmVy LnBmeCk/DQoNClRoYW5rcywNCkppYXhpbg0KDQpGcm9tOiBTYW50aGFwdXIgTmF2ZWVuIFttYWls dG86bmF2ZWVuc0BhbWlpbmRpYS5jby5pbl0NClNlbnQ6IFdlZG5lc2RheSwgT2N0b2JlciAxOSwg MjAxNiA5OjU1IFBNDQpUbzogV3UsIEppYXhpbiA8amlheGluLnd1QGludGVsLmNvbT47IFBhbG1l ciwgVGhvbWFzIDx0aG9tYXMucGFsbWVyQGhwZS5jb20+OyBTYW1lciBFbCBIYWogTWFobW91ZCA8 c21haG1vdWRAbGVub3ZvLmNvbT47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnDQpDYzogRnUsIFNp eXVhbiA8c2l5dWFuLmZ1QGludGVsLmNvbT47IFllLCBUaW5nIDx0aW5nLnllQGludGVsLmNvbT47 IExpLCBSdXRoIDxydXRoLmxpQGludGVsLmNvbT4NClN1YmplY3Q6IFJFOiBJc3N1ZXMgd2l0aCBI VFRQUyBCb290DQoNCg0KSGVsbG8gSmlheGluLA0KDQoNCg0KICAgICAgICAgIEkndmUgdXNlZCB0 aGUgbGF0ZXN0IGNvZGUgYXMgeW91IGhhdmUgc3VnZ2VzdGVkIGluIHlvdXIgcHJldmlvdXMgbWFp bCBhbmQgc3RpbGwgZmFjZSB0aGUgc2FtZSBmYWlsdXJlLiBJdCBoYXMgYmVlbiBmYWlsaW5nIG9u Y2UgYWZ0ZXIgcmVjZWl2aW5nICJTZXJ2ZXIgSGVsbG8iIGxpa2UgSSBzYWlkIGluIG15IHByZXZp b3VzIG1haWwuDQoNCg0KDQpUaGUgZm9sbG93aW5nIHRoaW5ncyBhcmUgZG9uZSB0byBjb25maXJt IHRoZSBIVFRQUyBzZXJ2ZXIgY29uZmlndXJlZCBpcyB3b3JraW5nIGZpbmUuDQoNCjEuICAgIFdl IGFyZSBhYmxlIHRvIGRvd25sb2FkIHRoZSBTaGVsbC5lZmkgdXNpbmcgSUUgd2l0aGluIHRoZSBz ZXJ2ZXIuDQoNCjIuICAgIFdlIGFyZSBhYmxlIHRvIGRvd25sb2FkIHRoZSBTaGVsbC5lZmkgdXNp bmcgSUUgZnJvbSBhbm90aGVyIHN5c3RlbSBjb25uZWN0ZWQgdG8gdGhlIEhUVFBTIHNlcnZlci4N Cg0KDQoNCkhvd2V2ZXIsIHdlIGZvdW5kIHRoYXQgYWNjZXNzaW5nIHRoZSBTaGVsbC5lZmkgZnJv bSB0aGUgR29vZ2xlIENocm9tZSBhbmQgTW96aWxsYSBhcmUgZmFpbGluZyB3aXRoaW4gdGhlIEhU VFBTIHNlcnZlciBhbmQgd2l0aCB0aGUgb3RoZXIgc3lzdGVtIGFzIHdlbGwuIEluIHlvdXIgcHJl dmlvdXMgbWFpbCwgeW91IGhhdmUgbWVudGlvbmVkIHRvIGdvIHRocm91Z2ggUkVBRE1FIG5vdGVz IGlmIEmhr20gdXNpbmcgSUlTOC4gSaGvdmUgZ29uZSB0aHJvdWdoIHRoZSBSRUFETUUgbm90ZXMg YW5kIGRpZG6hr3QgZmluZCBhbnl0aGluZyB0aGF0IGhhcyB0byBiZSBub3RlZC4NCg0KDQoNCk9u Y2UgdGhlIGNsaWVudCByZWNlaXZlcyBTZXJ2ZXIgSGVsbG8sIHRoZSBjb2RlIGZsb3cgaXMgYmVs b3cgYXMgZGVidWdnZWQ6DQoNCg0KDQpUbHNDb25uZWN0U2Vzc2lvbigpIKH6IFRsc0J1aWxkUmVz cG9uc2VQYWNrZXQoKSCh+iBUbHNEb0hhbmRzaGFrZSgpIKH6IFNTTF9kb19oYW5kc2hha2UoKQ0K DQpUaGUgZnVuY3Rpb24gU1NMX2RvX2hhbmRzaGFrZSgpIGlzIHJldHVybmluZyAtMSBjYXVzaW5n IHRoZSBmYWlsdXJlLg0KDQoNCg0KRnJvbSBIdHRwRHhlXEh0dHBzU3VwcG9ydC5jLCBpbiBUbHND b25uZWN0U2Vzc2lvbigpDQoNCg0KDQppKSAgICAgICAgICAgICAgICAgICAgSW5pdGlhbGl6ZSBU TFMgc3RhdGUgICAtPiBTdWNjZXNzDQoNCmlpKSAgICAgICAgICAgICAgICAgIENyZWF0ZSBDbGll bnRIZWxsbyAgICAgLT4gU3VjY2Vzcw0KDQppaWkpICAgICAgICAgICAgICAgIFRyYW5zbWl0IENs aWVudEhlbGxvICAtPiBTdWNjZXNzDQoNCml2KSAgICAgICAgICAgICAgICBJbnNpZGUgdGhlIHdo aWxlIGxvb3ANCg0KDQogICB3aGlsZShIdHRwSW5zdGFuY2UtPlRsc1Nlc3Npb25TdGF0ZSAhPSBF ZmlUbHNTZXNzaW9uRGF0YVRyYW5zZmVycmluZyAmJiBcDQogICAgICAgICAgICgoVGltZW91dCA9 PSBOVUxMKSB8fCBFRklfRVJST1IgKGdCUy0+Q2hlY2tFdmVudCAoVGltZW91dCkpKSkgew0KDQoN Cg0KaSkgICAgICAgICAgICAgICAgICAgIFJlY2VpdmUgb25lIFRMUyByZWNvcmQgLT4gU3VjY2Vz cw0KDQppaSkgICAgICAgICAgICAgICAgICBIdHRwSW5zdGFuY2UtPlRscy0+QnVpbGRSZXNwb25z ZVBhY2tldCgpIC0+IFByb3RvY29sIEVycm9yDQoNCg0KICAgICAgICAgICAgICAgICAgICAgU3Rh dHVzID0gSHR0cEluc3RhbmNlLT5UbHMtPkJ1aWxkUmVzcG9uc2VQYWNrZXQgKA0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEh0dHBJbnN0YW5jZS0+VGxzLA0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlckluLA0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEJ1ZmZlckluU2l6ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBCdWZmZXJPdXQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkJ1ZmZlck91 dFNpemUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KICAgICAgICAgICAg ICAgICAgICAgREVCVUcoKC0xLCJIdHRwSW5zdGFuY2UtPlRscy0+QnVpbGRSZXNwb25zZVBhY2tl dCB3aGlsZSBTdGF0dXM9ICVyXG4iLCBTdGF0dXMpKTsgLy8gUHJvdG9jb2wgRXJyb3INCg0KDQog ICAgICAgaWlpKSAgSWYgd2UgREVCVUcgVGxzQnVpbGRSZXNwb25zZVBhY2tldCgpIG1vcmUgaW4g VGxzRHhlXFRsc1Byb3RvY29sLmMNCiAgICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAg IC8vDQogICAgICAgICAgICAgIC8vIDEuIFJlY2VpdmVkIHBhY2tldCBtYXkgaGF2ZSBtdWx0aXBs eSBUTFMgcmVjb3JkIG1lc3NhZ2VzLg0KICAgICAgICAgICAgICAvLyAyLiBPbmUgVExTIHJlY29y ZCBtZXNzYWdlIG1heSBoYXZlIG11bHRpcGx5IGhhbmRzaGFrZSBwcm90b2NvbC4NCiAgICAgICAg ICAgICAgLy8gMy4gU29tZSBlcnJvcnMgbWF5IGJlIGhhcHBlbmVkIGluIGhhbmRzaGFrZS4NCiAg ICAgICAgICAgICAgLy8gVGxzRG9IYW5kc2hha2UoKSBjYW4gaGFuZGxlIGFsbCBvZiB0aG9zZSBj YXNlcy4NCiAgICAgICAgICAgICAgLy8NCiAgICAgICAgICAgICAgIGlmIChUbHNJbkhhbmRzaGFr ZSAoSW5zdGFuY2UtPlRsc0Nvbm4pKSB7DQogICAgICAgICAgICAgICAgICAgICBTdGF0dXMgPSBU bHNEb0hhbmRzaGFrZSAoDQogICAgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YW5jZS0+VGxz Q29ubiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVlc3RCdWZmZXIsDQogICAgICAg ICAgICAgICAgICAgICAgICAgICBSZXF1ZXN0U2l6ZSwNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgIEJ1ZmZlciwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlclNpemUpOw0KICAg ICAgICAgICAgICBERUJVRygoLTEsIlRsc0J1aWxkUmVzcG9uc2VQYWNrZXQ6IGVsc2UgU3RhdHVz ID0gVGxzRG9IYW5kc2hha2U9JXJcbiIsIFN0YXR1cykpOyAgICAgICAgICAgICAvLyBQcm90b2Nv bCBFcnJvcg0KDQoNCiAgICAgICBpdikgSWYgd2UgREVCVUcgVGxzRG9IYW5kc2hha2UoKSBtb3Jl IGluIENyeXB0b1BrZ1xMaWJyYXJ5XFRsc0xpYlxUbHNMaWIuYw0KDQppZiAoUmV0IDwgMSkgew0K ICAgICAgICAgICAgICAgICAgICAgUmV0ID0gU1NMX2dldF9lcnJvciAoVGxzQ29ubi0+U3NsLCAo aW50KSBSZXQpOw0KICAgICAgICAgICAgICAgICAgICAgaWYgKFJldCA9PSBTU0xfRVJST1JfU1NM IHx8DQogICAgICAgICAgICAgICAgICAgICBSZXQgPT0gU1NMX0VSUk9SX1NZU0NBTEwgfHwNCiAg ICAgICAgICAgICAgICAgICAgIFJldCA9PSBTU0xfRVJST1JfWkVST19SRVRVUk4pIHsNCg0KICAg ICAgICAgICAgICAgICAgICAgREVCVUdfQ09ERV9CRUdJTiAoKTsNCiAgICAgICAgICAgICAgICAg ICAgIHdoaWxlIChUUlVFKSB7DQogICAgICAgICAgICAgICAgICAgICBFcnJvckNvZGUgPSBFUlJf Z2V0X2Vycm9yICgpOw0KICAgICAgICAgICAgICAgICAgICAgaWYgKEVycm9yQ29kZSA9PSAwKSB7 DQogICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgIH0NCiAg ICAgICAgICAgICAgREVCVUcgKCgNCiAgICAgICAgICAgIERFQlVHX0VSUk9SLA0KICAgICAgICAg ICAgIiVhIEVSUk9SIDB4JXg9TCV4OkYleDpSJXhcbiIsICAgICAgICAgICAgICAgICAgICAgIC8v ICAgICAgICBUbHNEb0hhbmRzaGFrZSBFUlJPUiAweDE0MTcxMTA1PUwxNDpGMTcxOlIxMDUNCiAg ICAgICAgICAgIF9fRlVOQ1RJT05fXywNCiAgICAgICAgICAgIEVycm9yQ29kZSwNCiAgICAgICAg ICAgIEVSUl9HRVRfTElCIChFcnJvckNvZGUpLA0KICAgICAgICAgICAgRVJSX0dFVF9GVU5DIChF cnJvckNvZGUpLA0KICAgICAgICAgICAgRVJSX0dFVF9SRUFTT04gKEVycm9yQ29kZSkpKTsNCiAg ICAgICAgICAgIH0NCiAgICAgICAgICAgREVCVUdfQ09ERV9FTkQgKCk7DQogICAgICAgICAgICAv Ly8vLyBSZXR1cm5zIGZyb20gaGVyZQ0KICAgICAgcmV0dXJuIEVGSV9QUk9UT0NPTF9FUlJPUjsN CiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICB9DQoNCg0KDQogICAgICAgICAgUGxlYXNl IGNoZWNrIHRoZSBhdHRhY2htZW50IHRoYXQgbWF5IGhlbHAgeW91IHRvIGdldCB0byBrbm93IHRo ZSBwcm9ibGVtLg0KDQoxLiAgICAgICAgICAgIEhUVFBTX0ZhaWx1cmVfTG9nIKhDIExvZyBjYXB0 dXJlZCB3aGVuIFNVVCBpcyBwZXJmb3JtaW5nIGFuIEhUVFBTIGJvb3QuDQoNCjIuICAgICAgICAg ICAgSFRUUFNfU2VydmVyQ29uZmlnU3VjY2VzcyCoQyBMb2cgY2FwdHVyZWQgd2hlbiB0aGUgU2hl bGwuZWZpIHdhcyBkb3dubG9hZGVkIGZyb20gYW5vdGhlciBzeXN0ZW0gdXNpbmcgSUUuDQoNCg0K DQogICAgICAgICAgSXQgd291bGQgYmUgdmVyeSBoZWxwZnVsIGlmIHlvdSBjb3VsZCBwcm92aWRl IG1lIGFueSBzdWdnZXN0aW9ucyB3aGVyZSBhbSBJIGdvaW5nIHdyb25nLiBBbHNvIHBsZWFzZSBm ZWVsIGZyZWUgdG8gYXNrIGlmIHlvdSBtYXkgbmVlZCBhbnkgb3RoZXIgZGV0YWlscyBmcm9tIHVz Lg0KDQoNCg0KVGhhbmsgeW91LA0KDQpOYXZlZW4NCg0KDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQpGcm9tOiBTYW50aGFwdXIgTmF2ZWVuDQpTZW50OiBGcmlkYXksIFNlcHRlbWJlciAz MCwgMjAxNiAxMTowMCBBTQ0KVG86ICdXdSwgSmlheGluJzsgUGFsbWVyLCBUaG9tYXM7IFNhbWVy IEVsIEhhaiBNYWhtb3VkOyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzxtYWlsdG86ZWRrMi1kZXZl bEBsaXN0cy4wMS5vcmc+DQpDYzogRnUsIFNpeXVhbjsgWWUsIFRpbmc7IExpLCBSdXRoDQpTdWJq ZWN0OiBSRTogSXNzdWVzIHdpdGggSFRUUFMgQm9vdA0KDQoNCg0KSGkgSmlheGluLA0KDQoNCg0K ICAgICAgICAgIFRoYW5rIHlvdSB2ZXJ5IG11Y2ggZm9yIHRoZSBpbmZvcm1hdGlvbiB5b3UgaGF2 ZSBwcm92aWRlZC4gSSBzaGFsbCB0cnkgYW5kIHVwZGF0ZSB5b3UuIFRoYW5rIHlvdSBvbmNlIGFn YWluLg0KDQoNCg0KQmVzdCBSZWdhcmRzLA0KDQpOYXZlZW4NCg0KDQoNCi0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQoNCkZyb206IFd1LCBKaWF4aW4gW21haWx0bzpqaWF4aW4ud3VAaW50ZWwu Y29tXQ0KDQpTZW50OiBGcmlkYXksIFNlcHRlbWJlciAzMCwgMjAxNiAxMDo1NiBBTQ0KDQpUbzog U2FudGhhcHVyIE5hdmVlbjsgUGFsbWVyLCBUaG9tYXM7IFNhbWVyIEVsIEhhaiBNYWhtb3VkOyBl ZGsyLWRldmVsQGxpc3RzLjAxLm9yZzxtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+DQoN CkNjOiBGdSwgU2l5dWFuOyBZZSwgVGluZzsgTGksIFJ1dGgNCg0KU3ViamVjdDogUkU6IElzc3Vl cyB3aXRoIEhUVFBTIEJvb3QNCg0KDQoNCkhpIE5hdmVlbiwNCg0KDQoNCkkgaGF2ZSB0cmllZCB0 aGUgb3BlbnNzbC0xLjAuMmggYW5kIG9wZW5zc2wtMS4wLjJqICh0aGUgbGF0ZXN0IGVkazItbWFz dGVyIHZlcnNpb24pLCBib3RoIG9mIHRoZW0gd29yayB3ZWxsIHdpdGggdGhlIFVFRkkgSFRUUFMg aW4gc3RhZ2luZyBicmFuY2guIEkgaGF2ZW4ndCBtZXQgeW91IGlzc3VlOiguIE5vdywgSSBoYXZl IHN5bmNlZCB0aGUgcGF0Y2hlcyBmcm9tIEVESzIgbWFzdGVyKGh0dHBzOi8vZ2l0aHViLmNvbS90 aWFub2NvcmUvZWRrMiApIHRvIEhUVFBTLVRMUyBicmFuY2ggKGh0dHBzOi8vZ2l0aHViLmNvbS90 aWFub2NvcmUvZWRrMi1zdGFnaW5nL3RyZWUvSFRUUFMtVExTICkuIFRoYXQgbWVhbnMgY3VycmVu dCBIVFRQUyBpbiBicmFuY2ggaXMgZGV2ZWxvcGVkIGJhc2VkIG9uIG9wZW5zc2wtMS4wLjJqLg0K DQoNCg0KSSBub3RpY2VkIHlvdSdyZSBub3QgdXNpbmcgdGhlIGxhdGVzdCBjb2RlIGZyb20gdGhl IGVkazItc3RhZ2luZyBicmFuY2ggYmVjYXVzZSB5b3VyIGNvZGUgYmFzZSBzZWVtcyBub3Qgc3Vw cG9ydCBUTFMgdmVyc2lvbiBuZWdvdGlhdGlvbiBmZWF0dXJlLiBDYW4geW91IHJldHJ5IHRoZSBs YXRlc3QgY29kZSBpbiBjdXJyZW50IEhUVFBTLVRMUyBicmFuY2g/DQoNCg0KDQpJbiBvcmRlciB0 byBlbGltaW5hdGUgdGhlIEhUVFBTIHNlcnZlciBjb25maWd1cmF0aW9uIGlzc3VlLCB5b3UgY2Fu IHVzaW5nIElFIG9yIENocm9tZSBvciBhbnkgb3RoZXIgSFRUUFMgY2xpZW50IChOb3RlOiBkb24n dCBmb3JnZXQgdG8gZW5yb2xsIHRoZSBzZXJ2ZXIgQ0EgY2VydCkgdG8gdmVyaWZ5IHRoZSBIVFRQ UyBzZXJ2ZXIncyBmdW5jdGlvbmFsaXR5IGZpcnN0LiBUaGF0IGFsc28gY2FuIGhlbHAgeW91IHRv IHZlcmlmeSB5b3VyIHNlbGYtc2lnbmVkIGNlcnRpZmljYXRlczopLiBJZiB5b3UgYXJlIHVzaW5n IElJUzggSFRUUFMgc2VydmVyLCBwbGVhc2UgYWxzbyBhd2FyZSB0aGUgUkVBRE1FIG5vdGVzLg0K DQoNCg0KVGhhbmtzLA0KDQpKaWF4aW4NCg0KDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCg0KPiBGcm9tOiBXdSwgSmlheGluDQoNCj4gU2VudDogTW9uZGF5LCBTZXB0ZW1iZXIgMjYs IDIwMTYgOTo0NiBBTQ0KDQo+IFRvOiBTYW50aGFwdXIgTmF2ZWVuIDxuYXZlZW5zQGFtaWluZGlh LmNvLmluPG1haWx0bzpuYXZlZW5zQGFtaWluZGlhLmNvLmluPj47IFBhbG1lciwgVGhvbWFzDQoN Cj4gPHRob21hcy5wYWxtZXJAaHBlLmNvbTxtYWlsdG86dGhvbWFzLnBhbG1lckBocGUuY29tPj47 IFNhbWVyIEVsIEhhaiBNYWhtb3VkIDxzbWFobW91ZEBsZW5vdm8uY29tPG1haWx0bzpzbWFobW91 ZEBsZW5vdm8uY29tPj47DQoNCj4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazIt ZGV2ZWxAbGlzdHMuMDEub3JnPg0KDQo+IFN1YmplY3Q6IFJFOiBJc3N1ZXMgd2l0aCBIVFRQUyBC b290DQoNCj4NCg0KPiBOYXZlZW4sDQoNCj4NCg0KPiBUaGUgdmVyc2lvbiBpbiBlZGsyLXN0YWdp bmcgaXMgb3BlbnNzbC0xLjAuMmcsIEkgY2FuJ3QgcmVwcm9kdWNlIHRoZQ0KDQo+IGZhaWx1cmUg Y2FzZSBpbiB0aGUgbGF0ZXN0IGJyYW5jaC4gRnJvbSB0aGUgbGltaXRlZCBkZWJ1ZyBpbmZvcm1h dGlvbiwNCg0KPiBJJ20gbm90IHN1cmUgd2hldGhlciBpdCdzIHRoZSBjb21wYXRpYmlsaXR5IGlz c3VlIHdpdGggb3BlbnNzbC0xLjAuMmguDQoNCj4gSXQgaXMgYWxzbyBwb3NzaWJsZSB0aGF0IHlv dXIgc2VydmVyIGNvbmZpZ3VyYXRpb24gaXMgaW5jb3JyZWN0Lg0KDQo+IEFueXdheSwgSSB3aWxs IHRyeSBvcGVuc3NsLTEuMC4yaC4gQnV0IGJlZm9yZSB0aGF0LCBwbGVhc2UgbWFrZSBzdXJlDQoN Cj4gYWxsIHRoZSBIVFRQUyByZWxhdGVkIHBhdGNoZXMgaGFzIGJlZW4gc3luY2VkIHRvIHlvdXIg cGxhdGZvcm0gKEZyb20gZWRrMi1zdGFnaW5nIHZlcnNpb246DQoNCj4gODkxZGRlN2RhOTViZGM1 ZGViMTFmOTI2MmIzYmM2ZmRlNGU2NzhlZikuDQoNCj4NCg0KPiBUaGFua3MsDQoNCj4gSmlheGlu DQoNCj4NCg0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQoNCj4gPiBGcm9tOiBTYW50 aGFwdXIgTmF2ZWVuIFttYWlsdG86bmF2ZWVuc0BhbWlpbmRpYS5jby5pbl0NCg0KPiA+IFNlbnQ6 IEZyaWRheSwgU2VwdGVtYmVyIDIzLCAyMDE2IDM6MDEgUE0NCg0KPiA+IFRvOiBXdSwgSmlheGlu IDxqaWF4aW4ud3VAaW50ZWwuY29tPG1haWx0bzpqaWF4aW4ud3VAaW50ZWwuY29tPj47IFBhbG1l ciwgVGhvbWFzDQoNCj4gPiA8dGhvbWFzLnBhbG1lckBocGUuY29tPG1haWx0bzp0aG9tYXMucGFs bWVyQGhwZS5jb20+PjsgU2FtZXIgRWwgSGFqIE1haG1vdWQNCg0KPiA8c21haG1vdWRAbGVub3Zv LmNvbTxtYWlsdG86c21haG1vdWRAbGVub3ZvLmNvbT4+Ow0KDQo+ID4gZWRrMi1kZXZlbEBsaXN0 cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbGlzdHMuMDEub3JnPg0KDQo+ID4gU3ViamVjdDog UkU6IElzc3VlcyB3aXRoIEhUVFBTIEJvb3QNCg0KPiA+DQoNCj4gPiBIaSBKaWF4aW4sDQoNCj4g Pg0KDQo+ID4gICAgIFRoZSBvcGVuc3NsIHZlcnNpb24gSSBoYXZlIGJlZW4gdXNpbmcgaXMgMS4w LjJoIGFuZCB0aGUgY2lwaGVyDQoNCj4gPiByZXR1cm5lZCBieSB0aGUgU2V2ZXIgSGVsbG8gaXMg IlRMU19SU0FfV0lUSF9BRVNfMTI4X0NCQ19TSEEgKDB4MDAyZikiLg0KDQo+ID4NCg0KPiA+IFRo YW5rcywNCg0KPiA+IE5hdmVlbg0KDQo+ID4NCg0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQoNCj4gPiBGcm9tOiBXdSwgSmlheGluIFttYWlsdG86amlheGluLnd1QGludGVsLmNvbV0N Cg0KPiA+IFNlbnQ6IEZyaWRheSwgU2VwdGVtYmVyIDIzLCAyMDE2IDEyOjI1IFBNDQoNCj4gPiBU bzogUGFsbWVyLCBUaG9tYXM7IFNhbWVyIEVsIEhhaiBNYWhtb3VkOyBTYW50aGFwdXIgTmF2ZWVu OyBlZGsyLQ0KDQo+ID4gZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzpkZXZlbEBsaXN0cy4wMS5v cmc+DQoNCj4gPiBTdWJqZWN0OiBSRTogSXNzdWVzIHdpdGggSFRUUFMgQm9vdA0KDQo+ID4NCg0K PiA+IE5hdmVlbiwNCg0KPiA+DQoNCj4gPiBGb3IgZXJyb3IgY29kZSBMMTQ6RjE3MTpSMTA1LCBp dCBzZWVtcyBub3QgZmFpbGVkIGluIHRoZQ0KDQo+IHNzbDNfZ2V0X3NlcnZlcl9oZWxsbygpLg0K DQo+ID4gTDE0IG1lYW5zIFNMTCBsaWIgZXJyb3IsIFIxMDUgbWVhbnMgU1NMX1JfV1JPTkdfQ0lQ SEVSX1JFVFVSTkVELA0KDQo+IGJ1dA0KDQo+ID4gZm9yIEYxNzEsIEkgY2FuJ3QgZmluZCB0aGUg Y29ycmVzcG9uZGluZyBlcnJvciBmdW5jdGlvbiByZXByZXNlbnRlZC4NCg0KPiA+IENhbiB5b3Ug dGVsbCB1cyB0aGUgb3BlbnNzbCB2ZXJzaW9uIHlvdXIgcGxhdGZvcm0gdXNlZD8gYW5kIHdoYXQn cw0KDQo+ID4gdGhlIGNpcGhlciByZXR1cm5lZCBmcm9tIHNlcnZlciBoZWxsbz8NCg0KPiA+DQoN Cj4gPg0KDQo+ID4gVGhhbmtzLA0KDQo+ID4gSmlheGluDQoNCj4gPg0KDQo+ID4gPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KDQo+ID4gPiBGcm9tOiBlZGsyLWRldmVsIFttYWlsdG86ZWRr Mi1kZXZlbC1ib3VuY2VzQGxpc3RzLjAxLm9yZ10gT24NCg0KPiA+ID4gQmVoYWxmIE9mIFBhbG1l ciwgVGhvbWFzDQoNCj4gPiA+IFNlbnQ6IEZyaWRheSwgU2VwdGVtYmVyIDIzLCAyMDE2IDI6MTAg QU0NCg0KPiA+ID4gVG86IFNhbWVyIEVsIEhhaiBNYWhtb3VkIDxzbWFobW91ZEBsZW5vdm8uY29t PG1haWx0bzpzbWFobW91ZEBsZW5vdm8uY29tPj47IFNhbnRoYXB1ciBOYXZlZW4NCg0KPiA+ID4g PG5hdmVlbnNAYW1paW5kaWEuY28uaW48bWFpbHRvOm5hdmVlbnNAYW1paW5kaWEuY28uaW4+Pjsg ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbGlzdHMuMDEub3JnPg0K DQo+ID4gPiBTdWJqZWN0OiBSZTogW2VkazJdIElzc3VlcyB3aXRoIEhUVFBTIEJvb3QNCg0KPiA+ ID4NCg0KPiA+ID4NCg0KPiA+ID4gTmF2ZWVuLA0KDQo+ID4gPg0KDQo+ID4gPiBJIG1heSBiZSBp bnRlcnByZXRpbmcgdGhpcyBPcGVuU1NMIGVycm9yIGNvZGUgaW5jb3JyZWN0bHksIHNvIGlmDQoN Cj4gPiA+IGFueW9uZSBoYXMgZXhwZXJpZW5jZSB3aXRoIHRoaXMgcGxlYXNlIGNoaW1lIGluIC4u Lg0KDQo+ID4gPg0KDQo+ID4gPiBMb29raW5nIGF0IDEuMDIuaCwgIHRoZSAweDEwNSByZWFzb24g Y29ycmVzcG9uZHMgd2l0aA0KDQo+ID4gPiBTU0xfUl9XUk9OR19DSVBIRVJfUkVUVVJORUQuICBU aGlzIGhhcHBlbnMgaW4gdHdvIHBsYWNlcyBpbg0KDQo+IHMzX2NsbnQuYy4NCg0KPiA+ID4gVGhp cyB3b3VsZCBpbmRpY2F0ZSB0aGF0IHRoZSBUTFMgc2VydmVyIGlzIHdhbnRpbmcgdG8gdXNlIGEg Y2lwaGVyDQoNCj4gPiA+IHRoYXQgdGhlIFRMUyBjbGllbnQgZG9lcyBub3Qgd2FudCB0byB1c2Uu DQoNCj4gPiA+DQoNCj4gPiA+IDB4MTA1IGNhbiBhbHNvIGNvcnJlc3BvbmQgdG8gU1NMX0ZfRFRM UzFfU0VORF9DTElFTlRfQ0VSVElGSUNBVEUgLi4uDQoNCj4gPiA+IGJ1dCB3ZSBkb24ndCBzdXBw b3J0IGNsaWVudCBjZXJ0aWZpY2F0ZXMgb3IgRFRMUyBhdCB0aGlzIHBvaW50IHNvDQoNCj4gPiA+ IEkgd291bGQgbm90IGV4cGVjdCB0aGlzIHRvIGJlIGluIHBsYXkuICAodW5sZXNzIHlvdXIgc2Vy dmVyIGlzDQoNCj4gPiA+IGNvbmZpZ3VyZWQgZm9yIHRoYXQgLi4uKQ0KDQo+ID4gPg0KDQo+ID4g PiBXZSBzaG91bGQgY29uZmlybSB0aGlzIGVycm9yIGNvZGUgaW50ZXJwcmV0YXRpb24uICBJZiB5 b3UgaGF2ZSBhDQoNCj4gPiA+IGRlYnVnZ2VyLCBzZXQgYSBicmVhayBwb2ludCBmb3IgZWFjaCBp bnN0YW5jZSBvZg0KDQo+ID4gPiBTU0xfUl9XUk9OR19DSVBIRVJfUkVUVVJORUQsIG9yIGFkZCBh IHByaW50IHN0YXRlbWVudC4gIFdoaWNoDQoNCj4gPiBvcGVuc3NsIHZlcnNpb24gYXJlIHlvdSB1 c2luZz8NCg0KPiA+ID4NCg0KPiA+ID4NCg0KPiA+ID4gUmVnYXJkcywNCg0KPiA+ID4NCg0KPiA+ ID4gVGhvbWFzIFBhbG1lcg0KDQo+ID4gPg0KDQo+ID4gPiAiSSBoYXZlIG9ubHkgbWFkZSB0aGlz IGxldHRlciBsb25nZXIgYmVjYXVzZSBJIGhhdmUgbm90IGhhZCB0aGUNCg0KPiA+ID4gdGltZSB0 byBtYWtlIGl0IHNob3J0ZXIiIC0gQmxhaXNlIFBhc2NhbA0KDQo+ID4gPg0KDQo+ID4gPg0KDQo+ ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KDQo+ID4gPiBGcm9tOiBTYW1lciBFbCBI YWogTWFobW91ZCBbbWFpbHRvOnNtYWhtb3VkQGxlbm92by5jb21dDQoNCj4gPiA+IFNlbnQ6IFRo dXJzZGF5LCBTZXB0ZW1iZXIgMjIsIDIwMTYgMTA6MTIgQU0NCg0KPiA+ID4gVG86IFNhbnRoYXB1 ciBOYXZlZW4gPG5hdmVlbnNAYW1paW5kaWEuY28uaW48bWFpbHRvOm5hdmVlbnNAYW1paW5kaWEu Y28uaW4+PjsgUGFsbWVyLCBUaG9tYXMNCg0KPiA+ID4gPHRob21hcy5wYWxtZXJAaHBlLmNvbTxt YWlsdG86dGhvbWFzLnBhbG1lckBocGUuY29tPj47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1h aWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCg0KPiA+ID4gU3ViamVjdDogUkU6IElzc3Vl cyB3aXRoIEhUVFBTIEJvb3QNCg0KPiA+ID4NCg0KPiA+ID4gTmF2ZWVuLA0KDQo+ID4gPg0KDQo+ ID4gPiBBcmUgeW91IHVzaW5nIHRoZSBsYXRlc3QgY29kZSBmb3JtIHRoZSBlZGsyLXN0YWdpbmcg YnJhbmNoPw0KDQo+ID4gPg0KDQo+ID4gPg0KDQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KDQo+ID4gPiBGcm9tOiBlZGsyLWRldmVsIFttYWlsdG86ZWRrMi1kZXZlbC1ib3VuY2Vz QGxpc3RzLjAxLm9yZ10gT24NCg0KPiA+ID4gQmVoYWxmIE9mIFNhbnRoYXB1ciBOYXZlZW4NCg0K PiA+ID4gU2VudDogVGh1cnNkYXksIFNlcHRlbWJlciAyMiwgMjAxNiA3OjA3IEFNDQoNCj4gPiA+ IFRvOiBQYWxtZXIsIFRob21hcyA8dGhvbWFzLnBhbG1lckBocGUuY29tPG1haWx0bzp0aG9tYXMu cGFsbWVyQGhwZS5jb20+PjsNCg0KPiA+ID4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRv OmVkazItZGV2ZWxAbGlzdHMuMDEub3JnPg0KDQo+ID4gPiBTdWJqZWN0OiBSZTogW2VkazJdIElz c3VlcyB3aXRoIEhUVFBTIEJvb3QNCg0KPiA+ID4NCg0KPiA+ID4gSGkgVGhvbWFzLA0KDQo+ID4g Pg0KDQo+ID4gPiAgIFJlZ2FyZGluZyB5b3VyIHByZXZpb3VzIHF1ZXN0aW9uIGFib3V0IHRoZSBz ZXJ2ZXIgY2VydGlmaWNhdGVzLA0KDQo+ID4gPiBwbGVhc2UgZmluZCBteSByZXNwb25zZSBhcyBi ZWxvdzoNCg0KPiA+ID4NCg0KPiA+ID4gRG8geW91IGhhdmUgdGhlIGFwcHJvcHJpYXRlIGNlcnRp ZmljYXRlIGluc3RhbGxlZCBpbiBVRUZJIGZvciB0aGUNCg0KPiA+ID4gdGFyZ2V0IFRMUyBzZXJ2 ZXI/DQoNCj4gPiA+ICAgWWVzLCBJIGRvIGhhdmUgdGhlIGFwcHJvcHJpYXRlIGNlcnRpZmljYXRl IGluc3RhbGxlZCBvbiBteSBzZXJ2ZXIuDQoNCj4gPiA+IEkgaGF2ZSBmb2xsb3dlZCB0aGUgc2Vj dGlvbiAyLjIgdGl0bGVzICIgU2VsZi1HZW5lcmF0ZWQgQ2VydGlmaWNhdGUiDQoNCj4gPiA+IGlu IHRoZSB3aGl0ZSBwYXBlciB0byBnZW5lcmF0ZSB0aGUgY2VydGlmaWNhdGVzLg0KDQo+ID4gPg0K DQo+ID4gPiAgIEkgaGF2ZSBkZWJ1Z2dlZCBhIGJpdCAgZnVydGhlciBhbmQgd2VudCBpbnNpZGUN Cg0KPiA+ID4gVGxzQ29ubmVjdFNlc3Npb24oKSB0byBzZWUgd2hlcmUgZXhhY3RseSBpdCBpcyBm YWlsaW5nIGFuZCBJIGZvdW5kDQoNCj4gPiA+IG91dCBsaWtlIGl0IGZhaWxzIGluDQoNCj4gPiA+ IFRsc0RvSGFuZHNoYWtlKCkgYW5kIGdpdmVzIFBST1RPQ09MIEVSUk9SLiBUbyBiZSBwcmVjaXNl LCBpdCBnaXZlcw0KDQo+ID4gPiBlcnJvciBhcyAiVGxzRG9IYW5kc2hha2UgRVJST1IgMHgxNDE3 MTEwNT1MMTQ6RjE3MTpSMTA1Ii4NCg0KPiA+ID4NCg0KPiA+ID4gICBJZiBJJ20gbWlzc2luZyBh bnl0aGluZyBhbnl3aGVyZSwgd291bGQgeW91IHBsZWFzZSBwcm92aWRlIHlvdXINCg0KPiA+ID4g Y29tbWVudHMuDQoNCj4gPiA+DQoNCj4gPiA+IFRoYW5rIHlvdSwNCg0KPiA+ID4gTmF2ZWVuDQoN Cj4gPiA+DQoNCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQoNCj4gPiA+IEZyb206 IFBhbG1lciwgVGhvbWFzIFttYWlsdG86dGhvbWFzLnBhbG1lckBocGUuY29tXQ0KDQo+ID4gPiBT ZW50OiBUaHVyc2RheSwgU2VwdGVtYmVyIDIyLCAyMDE2IDEyOjU2IEFNDQoNCj4gPiA+IFRvOiBT YW50aGFwdXIgTmF2ZWVuOyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzxtYWlsdG86ZWRrMi1kZXZl bEBsaXN0cy4wMS5vcmc+DQoNCj4gPiA+IFN1YmplY3Q6IFJFOiBJc3N1ZXMgd2l0aCBIVFRQUyBC b290DQoNCj4gPiA+DQoNCj4gPiA+DQoNCj4gPiA+IEZyb20gd2hhdCB5b3UgZGVzY3JpYmUsIGl0 IHNvdW5kcyBsaWtlIHRoZXkgc2hvdWxkIG5vdCBoYXZlIGFuDQoNCj4gPiA+IGlzc3VlIG5lZ290 aWF0aW5nIFRMUyB2ZXJzaW9uIGFuZCBjaXBoZXIuDQoNCj4gPiA+DQoNCj4gPiA+DQoNCj4gPiA+ IERvIHlvdSBoYXZlIHRoZSBhcHByb3ByaWF0ZSBjZXJ0aWZpY2F0ZSBpbnN0YWxsZWQgaW4gVUVG SSBmb3IgdGhlIHRhcmdldCBUTFMNCg0KPiA+ID4gc2VydmVyPyAgIEVpdGhlciB3ZSBuZWVkIHRo ZSAzcmQgcGFydCBDQSB0aGF0IHNpZ25lZCB0aGUgd2ViIHNlcnZlcg0KDQo+ID4gY2VydGlmaWNh dGUsDQoNCj4gPiA+IG9yIHlvdSBjb3VsZCBpbnN0YWxsIHRoZSBzZWxmLXNpZ25lZCBjZXJ0aWZp Y2F0ZSBvZiB0aGUgd2ViIHNlcnZlci4NCg0KPiA+ID4NCg0KPiA+ID4gQWxzbywgYXJlIHlvdSBh YmxlIHRvIHNlZSB0aGUgYW55IERFQlVHIHN0YXRlbWVudHMgZnJvbSBUbHNMaWIuYz8NCg0KPiA+ ID4NCg0KPiA+ID4NCg0KPiA+ID4gUmVnYXJkcywNCg0KPiA+ID4NCg0KPiA+ID4gVGhvbWFzIFBh bG1lcg0KDQo+ID4gPg0KDQo+ID4gPiAiSSBoYXZlIG9ubHkgbWFkZSB0aGlzIGxldHRlciBsb25n ZXIgYmVjYXVzZSBJIGhhdmUgbm90IGhhZCB0aGUNCg0KPiA+ID4gdGltZSB0byBtYWtlIGl0IHNo b3J0ZXIiIC0gQmxhaXNlIFBhc2NhbA0KDQo+ID4gPg0KDQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KDQo+ID4gPiBGcm9tOiBTYW50aGFwdXIgTmF2ZWVuIFttYWlsdG86bmF2ZWVu c0BhbWlpbmRpYS5jby5pbl0NCg0KPiA+ID4gU2VudDogV2VkbmVzZGF5LCBTZXB0ZW1iZXIgMjEs IDIwMTYgODowOSBBTQ0KDQo+ID4gPiBUbzogUGFsbWVyLCBUaG9tYXMgPHRob21hcy5wYWxtZXJA aHBlLmNvbTxtYWlsdG86dGhvbWFzLnBhbG1lckBocGUuY29tPj47DQoNCj4gPiA+IGVkazItZGV2 ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCg0KPiA+ID4g U3ViamVjdDogUkU6IElzc3VlcyB3aXRoIEhUVFBTIEJvb3QNCg0KPiA+ID4NCg0KPiA+ID4gSGkg VGhvbWFzLA0KDQo+ID4gPg0KDQo+ID4gPiAgIFJlZ2FyZGluZyBteSBwcmV2aW91cyBtYWlsLCBh ZnRlciBUQ1AgaGFuZHNoYWtlLCBDbGllbnQgU2F5cw0KDQo+ID4gPiBIZWxsbyB0byBzZXZlciBh bmQgdGhlIFNlcnZlciByZXBsaWVzIGl0cyBIZWxsbyB0byB0aGUgY2xpZW50IHdpdGggVExTdjEu DQoNCj4gPiA+DQoNCj4gPiA+IENsaWVudCBzYXlzIGhlbGxvIHdpdGggdGhlIGZvbGxvd2luZyBD aXBoZXIgU3VpdGVzOg0KDQo+ID4gPg0KDQo+ID4gPiAxLiBUTFNfREhFX1JTQV9XSVRIX0FFU18y NTZfQ0JDX1NIQSAoMHgwMDM5KSAyLg0KDQo+ID4gPiBUTFNfREhFX1JTQV9XSVRIX0FFU18xMjhf Q0JDX1NIQSAoMHgwMDMzKSAzLg0KDQo+ID4gPiBUTFNfUlNBX1dJVEhfQUVTXzI1Nl9DQkNfU0hB ICgweDAwMzUpIDQuDQoNCj4gPiA+IFRMU19SU0FfV0lUSF9BRVNfMTI4X0NCQ19TSEEgKDB4MDAy ZikgNS4NCg0KPiA+ID4gVExTX0VNUFRZX1JFTkVHT1RJQVRJT05fSU5GT19TQ1NWICgweDAwZmYp DQoNCj4gPiA+DQoNCj4gPiA+ICAgRm9yIHRoZSBDbGllbnQgSGVsbG8sIFNlcnZlciByZXNwb25k cyB3aXRoIGl0cyBIZWxsbyBhbmQgY2hvb3Nlcw0KDQo+ID4gPiBUTFNfUlNBX1dJVEhfQUVTXzEy OF9DQkNfU0hBICgweDAwMmYpIHVzaW5nIFRMU3YxLiBUaGUgY2xpZW50DQoNCj4gPiA+IHNlbmRz IGFuIGFja25vd2xlZGdlbWVudCB0byB0aGUgc2VydmVyIGFuZCB0aGVuIGltbWVkaWF0ZWx5IHNl bmRzIFJTVC4NCg0KPiA+ID4NCg0KPiA+ID4gICBBZnRlciBzb21lIGRlYnVnZ2luZywgaXQgd2Fz IGZvdW5kIHRoYXQgaXQgZmFpbHMgaW4gVGxzQ29ubmVjdFNlc3Npb24oKS4NCg0KPiA+ID4gV291 bGQgeW91IHBsZWFzZSBwcm92aWRlIHlvdXIgY29tbWVudHMgb24gdGhpcz8NCg0KPiA+ID4NCg0K PiA+ID4NCg0KPiA+ID4gVGhhbmtzLA0KDQo+ID4gPiBOYXZlZW4NCg0KPiA+ID4NCg0KPiA+ID4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCg0KPiA+ID4gRnJvbTogUGFsbWVyLCBUaG9tYXMg W21haWx0bzp0aG9tYXMucGFsbWVyQGhwZS5jb21dDQoNCj4gPiA+IFNlbnQ6IFR1ZXNkYXksIFNl cHRlbWJlciAyMCwgMjAxNiA5OjMwIFBNDQoNCj4gPiA+IFRvOiBTYW50aGFwdXIgTmF2ZWVuOyBl ZGsyLWRldmVsQGxpc3RzLjAxLm9yZzxtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+DQoN Cj4gPiA+IFN1YmplY3Q6IFJFOiBJc3N1ZXMgd2l0aCBIVFRQUyBCb290DQoNCj4gPiA+DQoNCj4g PiA+IE5hdmVlbiwNCg0KPiA+ID4NCg0KPiA+ID4gICBJIGNhbm5vdCBzZWUgYXR0YWNobWVudHMg b24gdGhpcyBlbWFpbC4NCg0KPiA+ID4NCg0KPiA+ID4gICBXaGF0IFRMUyB2ZXJzaW9ucyBhbmQg Y2lwaGVycyBkb2VzIHlvdXIgd2ViIHNlcnZlciBzdXBwb3J0Pw0KDQo+ID4gPiBEZXBlbmRpbmcg b24gd2hlbiB5b3UgYnVpbHQgdGhlIFVFRkkgaW1hZ2UsIHlvdXIgc2VydmVyIG1heSBuZWVkDQoN Cj4gPiA+IHRvIGhhdmUgVExTIHYxLjAgZW5hYmxlZCBhbmQgc3VwcG9ydCBvbmUgb2YgdGhlIG5v bi1TSEEyNTYgY2lwaGVycw0KDQo+ID4gPiBsaXN0ZWQgYXQgdGhlIHRvcCBvZiBUbHNMaWIuYy4N Cg0KPiA+ID4NCg0KPiA+ID4NCg0KPiA+ID4gUmVnYXJkcywNCg0KPiA+ID4NCg0KPiA+ID4gVGhv bWFzIFBhbG1lcg0KDQo+ID4gPg0KDQo+ID4gPiAiSSBoYXZlIG9ubHkgbWFkZSB0aGlzIGxldHRl ciBsb25nZXIgYmVjYXVzZSBJIGhhdmUgbm90IGhhZCB0aGUNCg0KPiA+ID4gdGltZSB0byBtYWtl IGl0IHNob3J0ZXIiIC0gQmxhaXNlIFBhc2NhbA0KDQo+ID4gPg0KDQo+ID4gPiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KDQo+ID4gPiBGcm9tOiBlZGsyLWRldmVsIFttYWlsdG86ZWRrMi1k ZXZlbC1ib3VuY2VzQGxpc3RzLjAxLm9yZ10gT24NCg0KPiA+ID4gQmVoYWxmIE9mIFNhbnRoYXB1 ciBOYXZlZW4NCg0KPiA+ID4gU2VudDogVHVlc2RheSwgU2VwdGVtYmVyIDIwLCAyMDE2IDY6NDIg QU0NCg0KPiA+ID4gVG86IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVs QGxpc3RzLjAxLm9yZz4NCg0KPiA+ID4gU3ViamVjdDogW2VkazJdIElzc3VlcyB3aXRoIEhUVFBT IEJvb3QNCg0KPiA+ID4NCg0KPiA+ID4gSGVsbG8gQWxsLA0KDQo+ID4gPg0KDQo+ID4gPiAgICAg ICAgICAgU2luY2UgdGhlIEhUVFBTIEJvb3QgY2FtZSBpbnRvIHBpY3R1cmUsIEkgd2FzIHZlcnkN Cg0KPiA+ID4gZW50aHVzaWFzdGljIHRvIHRyeSBpdC4gSSBjb25maWd1cmVkIHRoZSBzZXJ2ZXIg YXMtaXMgZXhwbGFpbmVkIGluDQoNCj4gPiA+IHRoZSB3aGl0ZSBwYXBlcg0KDQo+ID4gPiBodHRw czovL2dpdGh1Yi5jb20vdGlhbm9jb3JlL3RpYW5vY29yZS5naXRodWIuaW8vd2lraS9FREslMjBJ SSUyMFcNCg0KPiA+ID4gaGkNCg0KPiA+ID4gdGUNCg0KPiA+ID4gJTIwcA0KDQo+ID4gPiBhcGVy cw0KDQo+ID4gPg0KDQo+ID4gPiAgICAgICAgICAgQnV0IHdoZW4gSSB0cnkgdG8gZ28gZm9yIGFu IEhUVFBTIGJvb3QsIGl0IHN0b3BzIGFmdGVyDQoNCj4gPiA+IHRoZSBUQ1ANCg0KPiBoYW5kc2hh a2UuDQoNCj4gPiA+IEF0dGFjaGVkIGlzIHRoZSBXaXJlc2hhcmsgbG9nLiBQbGVhc2UgaGVscCBt ZSBvdXQgYW5kIGFsc28gbGV0IG1lDQoNCj4gPiA+IGtub3cgaWYgYW55IG90aGVyIGRldGFpbHMg YXJlIG5lZWRlZC4NCg0KPiA+ID4NCg0KPiA+ID4gVGhhbmsgeW91LA0KDQo+ID4gPiBOYXZlZW4N Cg0KPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18N Cg0KPiA+ID4gZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCg0KPiA+ID4gZWRrMi1kZXZlbEBsaXN0 cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbGlzdHMuMDEub3JnPg0KDQo+ID4gPiBodHRwczov L2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2VkazItZGV2ZWwNCg0KPiA+ID4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCg0KPiA+ID4gZWRrMi1k ZXZlbCBtYWlsaW5nIGxpc3QNCg0KPiA+ID4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRv OmVkazItZGV2ZWxAbGlzdHMuMDEub3JnPg0KDQo+ID4gPiBodHRwczovL2xpc3RzLjAxLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2VkazItZGV2ZWwNCg0KPiA+ID4gX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18NCg0KPiA+ID4gZWRrMi1kZXZlbCBtYWlsaW5nIGxp c3QNCg0KPiA+ID4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbGlz dHMuMDEub3JnPg0KDQo+ID4gPiBodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2VkazItZGV2ZWwNCg==