From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: MIME-Version: 1.0 References: <20200227120206.8592-1-a.fatoum@pengutronix.de> In-Reply-To: <20200227120206.8592-1-a.fatoum@pengutronix.de> From: Guillermo Rodriguez Garcia Date: Thu, 19 Mar 2020 17:16:56 +0100 Message-ID: Subject: Re: [ptxdist] [PATCH v4] tf-a: new package for ARM trusted firmware A List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ptxdist-bounces@pengutronix.de Sender: "ptxdist" To: ptxdist@pengutronix.de Cc: Alejandro Vazquez , Ahmad Fatoum , Michael Tretter SGkgYWxsLAoKVGhpcyBzZWVtcyB0byBiZSBpbiBwcmV0dHkgZ29vZCBzaGFwZSBub3c7IHdpbGwg dGhpcyBiZSBtZXJnZWQgPwoKR3VpbGxlcm1vCgpFbCBqdWUuLCAyNyBmZWIuIDIwMjAgYSBsYXMg MTM6MDIsIEFobWFkIEZhdG91bQooPGEuZmF0b3VtQHBlbmd1dHJvbml4LmRlPikgZXNjcmliacOz Ogo+Cj4gVHJ1c3RlZCBGaXJtd2FyZS1BIChURi1BKSBpcyBhIHJlZmVyZW5jZSBpbXBsZW1lbnRh dGlvbiBvZiBzZWN1cmUgd29ybGQKPiBzb2Z0d2FyZSBmb3IgQXJtIEEtUHJvZmlsZSBhcmNoaXRl Y3R1cmVzIChBcm12OC1BIGFuZCBBcm12Ny1BKS4KPgo+IENjOiBBbGVqYW5kcm8gVmF6cXVleiA8 YXZhenF1ZXouZGV2QGdtYWlsLmNvbT4KPiBUZXN0ZWQtYnk6IE1pY2hhZWwgVHJldHRlciA8bS50 cmV0dGVyQHBlbmd1dHJvbml4LmRlPgo+IFNpZ25lZC1vZmYtYnk6IFJvdXZlbiBDemVyd2luc2tp IDxyb3V2ZW5AY3plcndpbnNraXMuZGU+Cj4gU2lnbmVkLW9mZi1ieTogQWhtYWQgRmF0b3VtIDxh LmZhdG91bUBwZW5ndXRyb25peC5kZT4KPiAtLS0KPiB2MyAtPiB2NDoKPiAgIC0gRml4ZWQgbGlj ZW5zZSBzdGF0ZW1lbnQgKFJvbGFuZCwgUGhpbGlwcCkKPiAgIC0gRml4ZWQgdHlwbyBpbiBLY29u ZmlnIGRlc2NyaXB0aW9uIHN0cmluZyAoUGhpbGlwcCkKPiAgIC0gUmVtb3ZlIGNvbW1lbnRlZCBv dXQgVEZfQV9ERUJVRyAoUGhpbGlwcCwgbW9sKQo+ICAgLSBBZGRlZCBub24tY29tbWVudGVkIG91 dCBURl9BX1JFTEFTRSAobXlzZWxmKQo+ICAgLSBBZGRlZCBNaWNoYWVsIFRyZXR0ZXIncyBUZXN0 ZWQtYnkKPiB2MiAtPiB2MzoKPiAgIC0gc29ydGVkIHZlcnNpb24gYW5kIG1kNSBLY29uZmlnIG9w dGlvbnMgdG8gdG9wIChtb2wpCj4gICAtIEFkZGVkIHRyYWlsaW5nIHNwYWNlcyB0byBhbGlnbiBh cnJvdyBhZnRlciBtYWluIHByb21wdCAobW9sKQo+ICAgLSBDaGFuZ2VkIFRGX0FfVkVSU0lPTiBo ZWxwIHRleHQgdG8gaW5kaWNhdGUgdGhhdCB0aGUgdmVyc2lvbiBjYW4gYmUgYW55Cj4gICAgIGdp dCBjb21taXRzaAo+ICAgLSBSZW1vdmVkIGRlZmF1bHQgdmFsdWUgZm9yIFRGX0FfQVJUSUZBQ1RT IChtb2wpCj4gICAtIGludGVncmF0ZWQgVEZfQV9WRVJTSU9OIGludG8gQlVJTERfU1RSSU5HIG9m IHJlc3VsdGluZyBhcnRpZmFjdHMKPiAgICAgKEd1aWxsZXJtbywgbXRyKQo+ICAgLSB1bmNvbmRp dGlvbmFsIGVycm9yIGlmIFRGX0FfQVJUSUZBQ1RTIGlzIGVtcHR5IGluc3RlYWQgb2Ygd2Fybmlu ZyBsYXRlciBvbgo+ICAgICAobW9sKQo+ICAgLSByZW1vdmVkIGRpcGxpY2F0ZSBQcmVwYXJlIGhl YWRlciAobW9sKQo+ICAgLSByZXNvcnRlZCBtYWtlIHZhcmlhYmxlIGRlZmluaXRpb25zCj4gICAt IGF2b2lkIHVucG9ydGFibGUgaW5zdGFsbCAtLXRhcmdldC1kaXJlY3RvcnkgKEd1aWxsZXJtbykK PiAgIC0gZG9jdW1lbnRlZCBzdXBwb3J0IGZvciBnbG9iYmluZyBpbiBURl9BX0FSVElGQUNUUwo+ ICAgLSBkb24ndCBnbG9iIGRlbGV0ZSBpbiBJTUFHRURJUiwgaW5zdGVhZCBleHBhbmQgdGhlIGds b2IgaW4gdGhlIGJ1aWxkCj4gICAgIGRpcmVjdG9yeSBmaXJzdAo+IHYxIC0+IHYyOgo+ICAgLSBN YWRlIFRGX0FfQVJDSF9NQUpPUiBjb25maWd1cmFibGUgdG8gc3VwcG9ydCAzMiBiaXQgQVJNdjgg KEd1aWxsZXJtbykKPiAgIC0gUmVwbGFjZXMgc3RtMzJtcC1zcGVjaWZpYyBURl9BX0RUQiB3aXRo IFRGX0FfRVhUUkFfQVJHUyB0byBjb250YWluCj4gICAgIGFsbCBib2FyZC92ZW5kb3Igc3BlY2lm aWMgb3B0aW9ucwo+ICAgLSByZW1vdmVkIHJlZmVyZW5jZSB0byBubyBsb25nZXIgZXhpc3Rpbmcg Q1JFRElUUyBmaWxlCj4gICAtIHJlbW92ZWQgVEZfQV9NQUtFX09QVCBjb250ZW50cyB0aGF0IGFy ZSBzZXQgZWxzZXdoZXJlCj4gICAtIHJlZHVjZWQgdXNlcyBvZiArPSBpbiBmYXZvciBvZiBkaXJl Y3RseSBhcHBlbmRpbmcgdG8gdGhlIHN0cmluZwo+ICAgLSBkZWxldGUgb2xkIGJ1aWxkIGRpcmVj dG9yeSBpbiBwcmVwYXJlIGluc3RlYWQgb2YgY29tcGlsZQo+ICAgLSB1c2UgZGVmYXVsdCBjb21w aWxlIHN0YWdlIChHdWlsbGVybW8pCj4gICAtIGluc3RhbGwgYXJ0aWZhY3RzIHRvIHN5c3Jvb3Qg L3Vzci9saWIvZmlybXdhcmUgaW4gaW5zdGFsbCBzdGFnZQo+ICAgLSBpbnN0YWxsIGFydGlmYWN0 cyB0byBJTUFHRURJUiBpbiB0YXJnZXRpbnN0YWxsCj4gICAtIGZpeCBjbGVhbiBzdGFnZSB0byBk ZWxldGUgcHJvcGVyIGFydGlmYWN0cwo+IC0tLQo+ICBwbGF0Zm9ybXMvdGYtYS5pbiB8IDE0MCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIHJ1bGVzL3Rm LWEubWFrZSAgIHwgMTIyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK PiAgMiBmaWxlcyBjaGFuZ2VkLCAyNjIgaW5zZXJ0aW9ucygrKQo+ICBjcmVhdGUgbW9kZSAxMDA2 NDQgcGxhdGZvcm1zL3RmLWEuaW4KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHJ1bGVzL3RmLWEubWFr ZQo+Cj4gZGlmZiAtLWdpdCBhL3BsYXRmb3Jtcy90Zi1hLmluIGIvcGxhdGZvcm1zL3RmLWEuaW4K PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4uM2NkZGY3OTA3OTYw Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3BsYXRmb3Jtcy90Zi1hLmluCj4gQEAgLTAsMCArMSwx NDAgQEAKPiArIyMgU0VDVElPTj1ib290bG9hZGVyCj4gKwo+ICttZW51Y29uZmlnIFRGX0EKPiAr ICAgICAgIHNlbGVjdCBCT09UTE9BREVSCj4gKyAgICAgICBwcm9tcHQgIkFSTSBUcnVzdGVkIEZp cm13YXJlLUEgICAgICAgICIKPiArICAgICAgIGRlcGVuZHMgb24gQVJDSF9BUk0gfHwgQVJDSF9B Uk02NAo+ICsgICAgICAgYm9vbAo+ICsKPiAraWYgVEZfQQo+ICsKPiArY29uZmlnIFRGX0FfVkVS U0lPTgo+ICsgICAgICAgc3RyaW5nCj4gKyAgICAgICBkZWZhdWx0ICJ2Mi4yIgo+ICsgICAgICAg cHJvbXB0ICJURi1BIHZlcnNpb24iCj4gKyAgICAgICBoZWxwCj4gKyAgICAgICAgIEVudGVyIHRo ZSBURi1BIGdpdCBjb21taXQtaXNoIHlvdSB3YW50IHRvIGJ1aWxkLiBVc3VhbGx5IGEgdGFnZ2Vk Cj4gKyAgICAgICAgIHJlbGVhc2UgbGlrZSAidjIuMiIKPiArCj4gK2NvbmZpZyBURl9BX01ENQo+ ICsgICAgICAgc3RyaW5nCj4gKyAgICAgICBkZWZhdWx0ICJiYjMwMGU1YTYyYzkxMWUxODljODBk OTM1ZDQ5N2E0YiIKPiArICAgICAgIHByb21wdCAiVEYtQSBzb3VyY2UgbWQ1Igo+ICsKPiArY29u ZmlnIFRGX0FfQVJDSF9TVFJJTkcKPiArICAgICAgICBzdHJpbmcKPiArICAgICAgICBkZWZhdWx0 ICJhYXJjaDMyIiBpZiBBUkNIX0FSTQo+ICsgICAgICAgIGRlZmF1bHQgImFhcmNoNjQiIGlmIEFS Q0hfQVJNNjQKPiArCj4gK2Nob2ljZQo+ICsgICAgICAgcHJvbXB0ICJURi1BIEFyY2hpdGVjdHVy ZSIKPiArICAgICAgIGRlZmF1bHQgVEZfQV9BUk1fQVJDSF9NQUpPUl83IGlmIEFSQ0hfQVJNCj4g KyAgICAgICBkZWZhdWx0IFRGX0FfQVJNX0FSQ0hfTUFKT1JfOCBpZiBBUkNIX0FSTTY0Cj4gKyAg ICAgICBoZWxwCj4gKyAgICAgICAgIEFyY2hpdGVjdHVyZSB2ZXJzaW9uIG1ham9yIG51bWJlcgo+ ICsKPiArICAgICAgIGNvbmZpZyBURl9BX0FSTV9BUkNIX01BSk9SXzcKPiArICAgICAgICAgICAg ICAgZGVwZW5kcyBvbiBBUkNIX0FSTQo+ICsgICAgICAgICAgICAgICBwcm9tcHQgIkFSTXY3Igo+ ICsgICAgICAgICAgICAgICBib29sCj4gKwo+ICsgICAgICAgY29uZmlnIFRGX0FfQVJNX0FSQ0hf TUFKT1JfOF8zMl9CSVQKPiArICAgICAgICAgICAgICAgZGVwZW5kcyBvbiBBUkNIX0FSTQo+ICsg ICAgICAgICAgICAgICBwcm9tcHQgIkFSTXY4IDMyLWJpdCIKPiArICAgICAgICAgICAgICAgYm9v bAo+ICsKPiArICAgICAgIGNvbmZpZyBURl9BX0FSTV9BUkNIX01BSk9SXzgKPiArICAgICAgICAg ICAgICAgZGVwZW5kcyBvbiBBUkNIX0FSTTY0Cj4gKyAgICAgICAgICAgICAgIHByb21wdCAiQVJN djgiCj4gKyAgICAgICAgICAgICAgIGJvb2wKPiArCj4gK2VuZGNob2ljZQo+ICsKPiArY29uZmln IFRGX0FfQVJNX0FSQ0hfTUFKT1IKPiArICAgICAgICBpbnQKPiArICAgICAgICBkZWZhdWx0IDcg aWYgVEZfQV9BUk1fQVJDSF9NQUpPUl83Cj4gKyAgICAgICAgZGVmYXVsdCA4IGlmIFRGX0FfQVJN X0FSQ0hfTUFKT1JfOF8zMl9CSVQKPiArICAgICAgICBkZWZhdWx0IDggaWYgVEZfQV9BUk1fQVJD SF9NQUpPUl84Cj4gKwo+ICsKPiArY29uZmlnIFRGX0FfUExBVEZPUk0KPiArICAgICAgIHN0cmlu Zwo+ICsgICAgICAgcHJvbXB0ICJURi1BIHRhcmdldCBwbGF0Zm9ybSIKPiArICAgICAgIGhlbHAK PiArICAgICAgICAgVGhlIFRGLUEgdGFyZ2V0IHBsYXRmb3JtLgo+ICsKPiArY29uZmlnIFRGX0Ff QVJNX0FSQ0hfTUlOT1IKPiArICAgICAgIGRlcGVuZHMgb24gVEZfQV9BUk1fQVJDSF9NQUpPUl84 IHx8IFRGX0FfQVJNX0FSQ0hfTUFKT1JfOF8zMl9CSVQKPiArICAgICAgIGludAo+ICsgICAgICAg ZGVmYXVsdCAwCj4gKyAgICAgICBwcm9tcHQgIlRGLUEgdGFyZ2V0IEFSTXY4Lk1JTk9SIHZlcnNp b24iCj4gKyAgICAgICBoZWxwCj4gKyAgICAgICAgIFRoZSBtaW5vciB2ZXJzaW9uIG9mIHRoZSBB Uk12OCBhcmNoaXRlY3R1cmUgdGFyZ2V0ZWQuIERlZmF1bHRzIHRvIDAuCj4gKwo+ICtjb25maWcg VEZfQV9FWFRSQV9BUkdTCj4gKyAgICAgICBzdHJpbmcKPiArICAgICAgIHByb21wdCAiVEYtQSBl eHRyYSBidWlsZCBhcmd1bWVudHMiCj4gKyAgICAgICBoZWxwCj4gKyAgICAgICAgIEV4dHJhIHBs YXRmb3JtLXNwZWNpZmljIGJ1aWxkIGFyZ3VtZW50cyB0byBwYXNzIHRvIHRoZSBURi1BIGJ1aWxk Cj4gKyAgICAgICAgIHByb2Nlc3MsIGUuZy4gRFRCX0ZJTEVfTkFNRT0gZm9yIHRoZSBzdG0zMm1w MQo+ICsKPiArY29uZmlnIFRGX0FfQVJUSUZBQ1RTCj4gKyAgICAgICBzdHJpbmcKPiArICAgICAg IHByb21wdCAiVEYtQSBhcnRpZmFjdCBmaWxlIG5hbWVzIgo+ICsgICAgICAgaGVscAo+ICsgICAg ICAgICBBIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIGdsb2IgcGF0dGVybnMgb2YgYXJ0aWZhY3Rz IHRvIGNvcHkgZnJvbSB0aGUKPiArICAgICAgICAgYnVpbGQgZGlyZWN0b3J5Lgo+ICsgICAgICAg ICBBbGwgZmlsZSBuYW1lcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGFwcHJvcHJpYXRlIFRGLUEgcGxh dGZvcm0gYnVpbGQKPiArICAgICAgICAgZGlyZWN0b3J5Lgo+ICsKPiArY29tbWVudCAiUGF5bG9h ZHMiCj4gKwo+ICtjaG9pY2UKPiArICAgICAgIHByb21wdCAiQkwzMiBQYXlsb2FkIgo+ICsgICAg ICAgZGVmYXVsdCBURl9BX0JMMzJfTk9ORQo+ICsgICAgICAgaGVscAo+ICsgICAgICAgICBwYXls b2FkIGZvciBCTDMyIChTZWN1cmUgV29ybGQgT1MpCj4gKwo+ICsgICAgICAgY29uZmlnIFRGX0Ff QkwzMl9OT05FCj4gKyAgICAgICAgICAgICAgIHByb21wdCAiTm9uZSIKPiArICAgICAgICAgICAg ICAgYm9vbAo+ICsKPiArICAgICAgIGNvbmZpZyBURl9BX0JMMzJfU1BfTUlOCj4gKyAgICAgICAg ICAgICAgIGRlcGVuZHMgb24gQVJDSF9BUk0KPiArICAgICAgICAgICAgICAgcHJvbXB0ICJzcF9t aW4iCj4gKyAgICAgICAgICAgICAgIGJvb2wKPiArCj4gKyAgICAgICBjb25maWcgVEZfQV9CTDMy X1RTUAo+ICsgICAgICAgICAgICAgICBkZXBlbmRzIG9uIEFSQ0hfQVJNNjQKPiArICAgICAgICAg ICAgICAgcHJvbXB0ICJUZXN0IFNlY3VyZSBQYXlsb2FkIgo+ICsgICAgICAgICAgICAgICBib29s Cj4gKwo+ICtlbmRjaG9pY2UKPiArCj4gK2lmIFRGX0FfQkwzMl9UU1AKPiArY2hvaWNlIFRGX0Ff QkwzMl9UU1BfUkFNX0xPQ0FUSU9OCj4gKyAgICAgICBwcm9tcHQgIlRTUCBsb2NhdGlvbiIKPiAr ICAgICAgIGRlZmF1bHQgVEZfQV9CTDMyX1RTUF9SQU1fTE9DQVRJT05fVFNSQU0KPiArCj4gKyAg ICAgICBjb25maWcgVEZfQV9CTDMyX1RTUF9SQU1fTE9DQVRJT05fVFNSQU0KPiArICAgICAgICAg ICAgICAgcHJvbXB0ICJUcnVzdGVkIFNSQU0iCj4gKyAgICAgICAgICAgICAgIGJvb2wKPiArCj4g KyAgICAgICBjb25maWcgVEZfQV9CTDMyX1RTUF9SQU1fTE9DQVRJT05fVERSQU0KPiArICAgICAg ICAgICAgICAgcHJvbXB0ICJUcnVzdGVkIERSQU0gKGlmIGF2YWlsYWJsZSkiCj4gKyAgICAgICAg ICAgICAgIGJvb2wKPiArCj4gKyAgICAgICBjb25maWcgVEZfQV9CTDMyX1RTUF9SQU1fTE9DQVRJ T05fRFJBTQo+ICsgICAgICAgICAgICAgICBwcm9tcHQgIlNlY3VyZSBEUkFNIHJlZ2lvbiAoY29u ZmlndXJlZCBieSBUcnVzdFpvbmUgY29udHJvbGxlcikiCj4gKyAgICAgICAgICAgICAgIGJvb2wK PiArZW5kY2hvaWNlCj4gKwo+ICtjb25maWcgVEZfQV9CTDMyX1RTUF9SQU1fTE9DQVRJT05fU1RS SU5HCj4gKyAgICAgICAgc3RyaW5nCj4gKyAgICAgICAgZGVmYXVsdCAidHNyYW0iIGlmIFRGX0Ff QkwzMl9UU1BfUkFNX0xPQ0FUSU9OX1RTUkFNCj4gKyAgICAgICAgZGVmYXVsdCAidGRyYW0iIGlm IFRGX0FfQkwzMl9UU1BfUkFNX0xPQ0FUSU9OX1REUkFNCj4gKyAgICAgICAgZGVmYXVsdCAiZHJh bSIgIGlmIFRGX0FfQkwzMl9UU1BfUkFNX0xPQ0FUSU9OX0RSQU0KPiArCj4gK2VuZGlmCj4gKwo+ ICtlbmRpZgo+IGRpZmYgLS1naXQgYS9ydWxlcy90Zi1hLm1ha2UgYi9ydWxlcy90Zi1hLm1ha2UK PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4uM2JhNWNhMjc1MDUw Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3J1bGVzL3RmLWEubWFrZQo+IEBAIC0wLDAgKzEsMTIy IEBACj4gKyMgLSotbWFrZWZpbGUtKi0KPiArIwo+ICsjIENvcHlyaWdodCAoQykgMjAxOCBieSBS b3V2ZW4gQ3plcndpbnNraSA8ci5jemVyd2luc2tpQHBlbmd1dHJvbml4LmRlPgo+ICsjICAgICAg ICAgICAgICAgMjAxOSBieSBBaG1hZCBGYXRvdW0gPGEuZmF0b3VtQHBlbmd1dHJvbml4LmRlPgo+ ICsjCj4gKyMgRm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24gYWJvdXQgdGhlIFBUWGRpc3QgcHJvamVj dCBhbmQgbGljZW5zZSBjb25kaXRpb25zCj4gKyMgc2VlIHRoZSBSRUFETUUgZmlsZS4KPiArIwo+ ICsKPiArIwo+ICsjIFdlIHByb3ZpZGUgdGhpcyBwYWNrYWdlCj4gKyMKPiArUEFDS0FHRVMtJChQ VFhDT05GX1RGX0EpICs9IHRmLWEKPiArCj4gKyMKPiArIyBQYXRocyBhbmQgbmFtZXMKPiArIwo+ ICtURl9BX1ZFUlNJT04gICA6PSAkKGNhbGwgcmVtb3ZlX3F1b3RlcywkKFBUWENPTkZfVEZfQV9W RVJTSU9OKSkKPiArVEZfQV9NRDUgICAgICAgOj0gJChjYWxsIHJlbW92ZV9xdW90ZXMsJChQVFhD T05GX1RGX0FfTUQ1KSkKPiArVEZfQSAgICAgICAgICAgOj0gdGYtYS0kKFRGX0FfVkVSU0lPTikK PiArVEZfQV9TVUZGSVggICAgOj0gdGFyLmd6Cj4gK1RGX0FfVVJMICAgICAgIDo9IGh0dHBzOi8v Z2l0LnRydXN0ZWRmaXJtd2FyZS5vcmcvVEYtQS90cnVzdGVkLWZpcm13YXJlLWEuZ2l0L3NuYXBz aG90LyQoVEZfQV9WRVJTSU9OKS4kKFRGX0FfU1VGRklYKQo+ICtURl9BX1NPVVJDRSAgICA6PSAk KFNSQ0RJUikvJChURl9BKS4kKFRGX0FfU1VGRklYKQo+ICtURl9BX0RJUiAgICAgICA6PSAkKEJV SUxERElSKS8kKFRGX0EpCj4gK1RGX0FfTElDRU5TRSAgICA6PSBCU0QtMy1DbGF1c2UgQU5EIEJT RC0yLUNsYXVzZSBcCj4gKyAgICAgICAgICAgICAgICAgIEFORCAoR1BMLTIuMC1vci1sYXRlciBP UiBCU0QtMi1DbGF1c2UpIFwKPiArICAgICAgICAgICAgICAgICAgQU5EIChOQ1NBIE9SIE1JVCkg XAo+ICsgICAgICAgICAgICAgICAgICBBTkQgWmxpYiBcCj4gKyAgICAgICAgICAgICAgICAgIEFO RCAoR1BMLTIuMC1vci1sYXRlciBPUiBCU0QtMy1DbGF1c2UpCj4gKwo+ICsjIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KPiArIyBQcmVwYXJlCj4gKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICsKPiArVEZf QV9XUkFQUEVSX0JMQUNLTElTVCA6PSBcCj4gKyAgICAgICBUQVJHRVRfSEFSREVOX1JFTFJPIFwK PiArICAgICAgIFRBUkdFVF9IQVJERU5fQklORE5PVyBcCj4gKyAgICAgICBUQVJHRVRfSEFSREVO X1BJRSBcCj4gKyAgICAgICBUQVJHRVRfREVCVUcgXAo+ICsgICAgICAgVEFSR0VUX0JVSUxEX0lE Cj4gKwo+ICtURl9BX1JFTEVBU0UgOj0gMQo+ICsKPiArVEZfQV9QQVRIICAgICAgOj0gUEFUSD0k KENST1NTX1BBVEgpCj4gK1RGX0FfTUFLRV9PUFQgIDo9IFwKPiArICAgICAgIENST1NTX0NPTVBJ TEU9JChCT09UTE9BREVSX0NST1NTX0NPTVBJTEUpIFwKPiArICAgICAgIEhPU1RDQz0kKEhPU1RD QykgXAo+ICsgICAgICAgUExBVD0kKFBUWENPTkZfVEZfQV9QTEFURk9STSkgXAo+ICsgICAgICAg REVCVUc9JChpZiAkKGZpbHRlciAxLCQoVEZfQV9SRUxFQVNFKSksMCwxKSBcCj4gKyAgICAgICBB UkNIPSQoUFRYQ09ORl9URl9BX0FSQ0hfU1RSSU5HKSBcCj4gKyAgICAgICBBUk1fQVJDSF9NQUpP Uj0kKFBUWENPTkZfVEZfQV9BUk1fQVJDSF9NQUpPUikgXAo+ICsgICAgICAgQlVJTERfU1RSSU5H PSQoUFRYQ09ORl9URl9BX1ZFUlNJT04pIFwKPiArICAgICAgICQoY2FsbCByZW1vdmVfcXVvdGVz LCQoUFRYQ09ORl9URl9BX0VYVFJBX0FSR1MpKSBcCj4gKyAgICAgICBhbGwKPiArCj4gK2lmZGVm IFBUWENPTkZfVEZfQV9CTDMyX1RTUAo+ICtURl9BX01BS0VfT1BUICs9IEFSTV9UU1BfUkFNX0xP Q0FUSU9OPSQoUFRYQ09ORl9URl9BX0JMMzJfVFNQX1JBTV9MT0NBVElPTl9TVFJJTkcpCj4gK2Vu ZGlmCj4gK2lmZGVmIFBUWENPTkZfVEZfQV9BUk1fQVJDSF9NSU5PUgo+ICtURl9BX01BS0VfT1BU ICs9IEFSTV9BUkNIX01JTk9SPSQoUFRYQ09ORl9URl9BX0FSTV9BUkNIX01JTk9SKQo+ICtlbmRp Zgo+ICtpZmRlZiBQVFhDT05GX1RGX0FfQkwzMl9TUF9NSU4KPiArVEZfQV9NQUtFX09QVCArPSBB QVJDSDMyX1NQPXNwX21pbgo+ICtlbmRpZgo+ICsKPiAraWZkZWYgUFRYQ09ORl9URl9BCj4gK2lm ZXEgKCQoUFRYQ09ORl9URl9BX0FSVElGQUNUUyksKQo+ICskKGVycm9yIFRGX0FfQVJUSUZBQ1RT IGlzIGVtcHR5LiBub3RoaW5nIHRvIGluc3RhbGwuKQo+ICtlbmRpZgo+ICtlbmRpZgo+ICsKPiAr VEZfQV9DT05GX1RPT0wgOj0gTk8KPiArCj4gKyQoU1RBVEVESVIpL3RmLWEucHJlcGFyZToKPiAr ICAgICAgIEAkKGNhbGwgdGFyZ2V0aW5mbykKPiArICAgICAgIEBybSAtcmYgJChURl9BX0RJUikv YnVpbGQvCj4gKyAgICAgICBAJChjYWxsIHRvdWNoKQo+ICsKPiArIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCj4gKyMgQ29tcGlsZQo+ICsjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiArCj4gK1RGX0FfTUFL RV9FTlYgIDo9ICQoQ1JPU1NfRU5WKQo+ICsKPiArIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gKyMg SW5zdGFsbAo+ICsjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiArCj4gK1RGX0FfQlVJTERfT1VUUFVU X0RJUiA6PSAkKFRGX0FfRElSKS9idWlsZC8kKGNhbGwgcmVtb3ZlX3F1b3RlcywgXAo+ICsgICAg ICAgJChQVFhDT05GX1RGX0FfUExBVEZPUk0pKS8kKGlmICQoZmlsdGVyIDEsJChURl9BX1JFTEVB U0UpKSxyZWxlYXNlLGRlYnVnKQo+ICtURl9BX0FSVElGQUNUU19TUkMgPSAkKHdpbGRjYXJkICQo YWRkcHJlZml4ICQoVEZfQV9CVUlMRF9PVVRQVVRfRElSKS8sIFwKPiArICAgICAgICQoY2FsbCBy ZW1vdmVfcXVvdGVzLCQoUFRYQ09ORl9URl9BX0FSVElGQUNUUykpKSkKPiArVEZfQV9BUlRJRkFD VFNfREVTVCA9ICQoc3Vic3QgJChURl9BX0JVSUxEX09VVFBVVF9ESVIpLywsJChURl9BX0FSVElG QUNUU19TUkMpKQo+ICsKPiArJChTVEFURURJUikvdGYtYS5pbnN0YWxsOgo+ICsgICAgICAgQCQo Y2FsbCB0YXJnZXRpbmZvKQo+ICsgICAgICAgQCQoZm9yZWFjaCBhcnRpZmFjdCwgJChURl9BX0FS VElGQUNUU19TUkMpLCBcCj4gKyAgICAgICAgICAgICAgIGluc3RhbGwgLXYgLUQgLW0gNjQ0ICQo YXJ0aWZhY3QpIFwKPiArICAgICAgICAgICAgICAgJChURl9BX1BLR0RJUikvdXNyL2xpYi9maXJt d2FyZS8kKG5vdGRpciAkKGFydGlmYWN0KSkkKHB0eC9ubCkpCj4gKyAgICAgICBAJChjYWxsIHRv dWNoKQo+ICsKPiArIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gKyMgVGFyZ2V0LUluc3RhbGwKPiAr IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gKwo+ICskKFNUQVRFRElSKS90Zi1hLnRhcmdldGluc3Rh bGw6Cj4gKyAgICAgICBAJChjYWxsIHRhcmdldGluZm8pCj4gKyAgICAgICBAJChmb3JlYWNoIGFy dGlmYWN0LCAkKFRGX0FfQVJUSUZBQ1RTX1NSQyksIFwKPiArICAgICAgICAgICAgICAgaW5zdGFs bCAtdiAtRCAtbSA2NDQgJChhcnRpZmFjdCkgXAo+ICsgICAgICAgICAgICAgICAkKElNQUdFRElS KS8kKG5vdGRpciAkKGFydGlmYWN0KSkkKHB0eC9ubCkpCj4gKyAgICAgICBAJChjYWxsIHRvdWNo KQo+ICsKPiArIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gKyMgQ2xlYW4KPiArIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCj4gKwo+ICskKFNUQVRFRElSKS90Zi1hLmNsZWFuOgo+ICsgICAgICAgQCQoY2Fs bCB0YXJnZXRpbmZvKQo+ICsgICAgICAgQHJtIC1mICQoYWRkcHJlZml4ICQoSU1BR0VESVIpLywg JChURl9BX0FSVElGQUNUU19ERVNUKSkKPiArICAgICAgIEAkKGNhbGwgY2xlYW5fcGtnLCBURl9B KQo+ICsKPiArIyB2aW06IHN5bnRheD1tYWtlCj4gLS0KPiAyLjI1LjAKPgo+Cj4gX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBwdHhkaXN0IG1haWxpbmcg bGlzdAo+IHB0eGRpc3RAcGVuZ3V0cm9uaXguZGUKCgoKLS0gCkd1aWxsZXJtbyBSb2RyaWd1ZXog R2FyY2lhCmd1aWxsZS5yb2RyaWd1ZXpAZ21haWwuY29tCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpwdHhkaXN0IG1haWxpbmcgbGlzdApwdHhkaXN0QHBl bmd1dHJvbml4LmRlCg==