From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: MIME-Version: 1.0 References: <20200212164033.7362-1-a.fatoum@pengutronix.de> In-Reply-To: <20200212164033.7362-1-a.fatoum@pengutronix.de> From: Guillermo Rodriguez Garcia Date: Thu, 13 Feb 2020 13:59:20 +0100 Message-ID: Subject: Re: [ptxdist] [PATCH v2] 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 SGkgQWhtYWQsCgpFbCBtacOpLiwgMTIgZmViLiAyMDIwIGEgbGFzIDE3OjQwLCBBaG1hZCBGYXRv dW0KKDxhLmZhdG91bUBwZW5ndXRyb25peC5kZT4pIGVzY3JpYmnDszoKPgo+IFRydXN0ZWQgRmly bXdhcmUtQSAoVEYtQSkgaXMgYSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gb2Ygc2VjdXJlIHdv cmxkCj4gc29mdHdhcmUgZm9yIEFybSBBLVByb2ZpbGUgYXJjaGl0ZWN0dXJlcyAoQXJtdjgtQSBh bmQgQXJtdjctQSkuCj4KPiBDYzogQWxlamFuZHJvIFZhenF1ZXogPGF2YXpxdWV6LmRldkBnbWFp bC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogUm91dmVuIEN6ZXJ3aW5za2kgPHJvdXZlbkBjemVyd2lu c2tpcy5kZT4KPiBTaWduZWQtb2ZmLWJ5OiBBaG1hZCBGYXRvdW0gPGEuZmF0b3VtQHBlbmd1dHJv bml4LmRlPgo+IC0tLQo+IHYxIC0+IHYyOgo+ICAtIE1hZGUgVEZfQV9BUkNIX01BSk9SIGNvbmZp Z3VyYWJsZSB0byBzdXBwb3J0IDMyIGJpdCBBUk12OCAoR3VpbGxlcm1vKQo+ICAtIFJlcGxhY2Vz IHN0bTMybXAtc3BlY2lmaWMgVEZfQV9EVEIgd2l0aCBURl9BX0VYVFJBX0FSR1MgdG8gY29udGFp bgo+ICAgIGFsbCBib2FyZC92ZW5kb3Igc3BlY2lmaWMgb3B0aW9ucwo+ICAtIHJlbW92ZWQgcmVm ZXJlbmNlIHRvIG5vIGxvbmdlciBleGlzdGluZyBDUkVESVRTIGZpbGUKPiAgLSByZW1vdmVkIFRG X0FfTUFLRV9PUFQgY29udGVudHMgdGhhdCBhcmUgc2V0IGVsc2V3aGVyZQo+ICAtIHJlZHVjZWQg dXNlcyBvZiArPSBpbiBmYXZvciBvZiBkaXJlY3RseSBhcHBlbmRpbmcgdG8gdGhlIHN0cmluZwo+ ICAtIGRlbGV0ZSBvbGQgYnVpbGQgZGlyZWN0b3J5IGluIHByZXBhcmUgaW5zdGVhZCBvZiBjb21w aWxlCj4gIC0gdXNlIGRlZmF1bHQgY29tcGlsZSBzdGFnZSAoR3VpbGxlcm1vKQo+ICAtIGluc3Rh bGwgYXJ0aWZhY3RzIHRvIHN5c3Jvb3QgL3Vzci9saWIvZmlybXdhcmUgaW4gaW5zdGFsbCBzdGFn ZQo+ICAtIGluc3RhbGwgYXJ0aWZhY3RzIHRvIElNQUdFRElSIGluIHRhcmdldGluc3RhbGwKPiAg LSBmaXggY2xlYW4gc3RhZ2UgdG8gZGVsZXRlIHByb3BlciBhcnRpZmFjdHMKPiAtLS0KPiAgcGxh dGZvcm1zL3RmLWEuaW4gfCAxMzggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwo+ICBydWxlcy90Zi1hLm1ha2UgICB8IDExNCArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwo+ICAyIGZpbGVzIGNoYW5nZWQsIDI1MiBpbnNlcnRpb25zKCsp Cj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBwbGF0Zm9ybXMvdGYtYS5pbgo+ICBjcmVhdGUgbW9kZSAx MDA2NDQgcnVsZXMvdGYtYS5tYWtlCj4KPiBkaWZmIC0tZ2l0IGEvcGxhdGZvcm1zL3RmLWEuaW4g Yi9wbGF0Zm9ybXMvdGYtYS5pbgo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAw MDAwMDAwLi5mMzk3MWM0YzJhM2EKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvcGxhdGZvcm1zL3Rm LWEuaW4KPiBAQCAtMCwwICsxLDEzOCBAQAo+ICsjIyBTRUNUSU9OPWJvb3Rsb2FkZXIKPiArCj4g K21lbnVjb25maWcgVEZfQQo+ICsgICAgICAgc2VsZWN0IEJPT1RMT0FERVIKPiArICAgICAgIHBy b21wdCAiQVJNIFRydXN0ZWQgRmlybXdhcmUtQSIKPiArICAgICAgIGRlcGVuZHMgb24gQVJDSF9B Uk0gfHwgQVJDSF9BUk02NAo+ICsgICAgICAgYm9vbAo+ICsKPiAraWYgVEZfQQo+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+ICtjb25maWcgVEZfQV9WRVJTSU9OCj4gKyAgICAgICBzdHJpbmcKPiAr ICAgICAgIGRlZmF1bHQgInYyLjIiCj4gKyAgICAgICBwcm9tcHQgIlRGLUEgdmVyc2lvbiIKPiAr ICAgICAgIGhlbHAKPiArICAgICAgICAgRW50ZXIgdGhlIFRGLUEgdmVyc2lvbiB5b3Ugd2FudCB0 byBidWlsZC4gVXNhbGx5IHNvbWV0aGluZyBsaWtlICJ2Mi4yIgo+ICsKPiArY29uZmlnIFRGX0Ff TUQ1Cj4gKyAgICAgICBzdHJpbmcKPiArICAgICAgIGRlZmF1bHQgImJiMzAwZTVhNjJjOTExZTE4 OWM4MGQ5MzVkNDk3YTRiIgo+ICsgICAgICAgcHJvbXB0ICJURi1BIHNvdXJjZSBtZDUiCj4gKwo+ ICtjb25maWcgVEZfQV9QTEFURk9STQo+ICsgICAgICAgc3RyaW5nCj4gKyAgICAgICBwcm9tcHQg IlRGLUEgdGFyZ2V0IHBsYXRmb3JtIgo+ICsgICAgICAgaGVscAo+ICsgICAgICAgICBUaGUgVEYt QSB0YXJnZXQgcGxhdGZvcm0uCj4gKwo+ICtjb25maWcgVEZfQV9BUk1fQVJDSF9NSU5PUgo+ICsg ICAgICAgZGVwZW5kcyBvbiBURl9BX0FSTV9BUkNIX01BSk9SXzggfHwgVEZfQV9BUk1fQVJDSF9N QUpPUl84XzMyX0JJVAo+ICsgICAgICAgaW50Cj4gKyAgICAgICBkZWZhdWx0IDAKPiArICAgICAg IHByb21wdCAiVEYtQSB0YXJnZXQgQVJNdjguTUlOT1IgdmVyc2lvbiIKPiArICAgICAgIGhlbHAK PiArICAgICAgICAgVGhlIG1pbm9yIHZlcnNpb24gb2YgdGhlIEFSTXY4IGFyY2hpdGVjdHVyZSB0 YXJnZXRlZC4gRGVmYXVsdHMgdG8gMC4KPiArCj4gK2NvbmZpZyBURl9BX0VYVFJBX0FSR1MKPiAr ICAgICAgIHN0cmluZwo+ICsgICAgICAgcHJvbXB0ICJURi1BIGV4dHJhIGJ1aWxkIGFyZ3VtZW50 cyIKPiArICAgICAgIGhlbHAKPiArICAgICAgICAgRXh0cmEgcGxhdGZvcm0tc3BlY2lmaWMgYnVp bGQgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIFRGLUEgYnVpbGQKPiArICAgICAgICAgcHJvY2Vz cywgZS5nLiBEVEJfRklMRV9OQU1FPSBmb3IgdGhlIHN0bTMybXAxCj4gKwo+ICtjb25maWcgVEZf QV9BUlRJRkFDVFMKPiArICAgICAgIHN0cmluZwo+ICsgICAgICAgcHJvbXB0ICJURi1BIGFydGlm YWN0IGZpbGUgbmFtZXMiCj4gKyAgICAgICBkZWZhdWx0ICJibDIuYmluIgo+ICsgICAgICAgaGVs cAo+ICsgICAgICAgICBBIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIGFydGlmYWN0cyB0byBjb3B5 IHRvIHRoZSBpbWFnZSBkaXJlY3RvcnkuCj4gKyAgICAgICAgIEFsbCBmaWxlIG5hbWVzIGFyZSBy ZWxhdGl2ZSB0byB0aGUgYXBwcm9wcmlhdGUgVEYtQSBwbGF0Zm9ybSBidWlsZAo+ICsgICAgICAg ICBkaXJlY3RvcnkuCj4gKwo+ICtjb21tZW50ICJQYXlsb2FkcyIKPiArCj4gK2Nob2ljZQo+ICsg ICAgICAgcHJvbXB0ICJCTDMyIFBheWxvYWQiCj4gKyAgICAgICBkZWZhdWx0IFRGX0FfQkwzMl9O T05FCj4gKyAgICAgICBoZWxwCj4gKyAgICAgICAgIHBheWxvYWQgZm9yIEJMMzIgKFNlY3VyZSBX b3JsZCBPUykKPiArCj4gKyAgICAgICBjb25maWcgVEZfQV9CTDMyX05PTkUKPiArICAgICAgICAg ICAgICAgcHJvbXB0ICJOb25lIgo+ICsgICAgICAgICAgICAgICBib29sCj4gKwo+ICsgICAgICAg Y29uZmlnIFRGX0FfQkwzMl9TUF9NSU4KPiArICAgICAgICAgICAgICAgZGVwZW5kcyBvbiBBUkNI X0FSTQo+ICsgICAgICAgICAgICAgICBwcm9tcHQgInNwX21pbiIKPiArICAgICAgICAgICAgICAg Ym9vbAo+ICsKPiArICAgICAgIGNvbmZpZyBURl9BX0JMMzJfVFNQCj4gKyAgICAgICAgICAgICAg IGRlcGVuZHMgb24gQVJDSF9BUk02NAo+ICsgICAgICAgICAgICAgICBwcm9tcHQgIlRlc3QgU2Vj dXJlIFBheWxvYWQiCj4gKyAgICAgICAgICAgICAgIGJvb2wKPiArCj4gK2VuZGNob2ljZQo+ICsK PiAraWYgVEZfQV9CTDMyX1RTUAo+ICtjaG9pY2UgVEZfQV9CTDMyX1RTUF9SQU1fTE9DQVRJT04K PiArICAgICAgIHByb21wdCAiVFNQIGxvY2F0aW9uIgo+ICsgICAgICAgZGVmYXVsdCBURl9BX0JM MzJfVFNQX1JBTV9MT0NBVElPTl9UU1JBTQo+ICsKPiArICAgICAgIGNvbmZpZyBURl9BX0JMMzJf VFNQX1JBTV9MT0NBVElPTl9UU1JBTQo+ICsgICAgICAgICAgICAgICBwcm9tcHQgIlRydXN0ZWQg U1JBTSIKPiArICAgICAgICAgICAgICAgYm9vbAo+ICsKPiArICAgICAgIGNvbmZpZyBURl9BX0JM MzJfVFNQX1JBTV9MT0NBVElPTl9URFJBTQo+ICsgICAgICAgICAgICAgICBwcm9tcHQgIlRydXN0 ZWQgRFJBTSAoaWYgYXZhaWxhYmxlKSIKPiArICAgICAgICAgICAgICAgYm9vbAo+ICsKPiArICAg ICAgIGNvbmZpZyBURl9BX0JMMzJfVFNQX1JBTV9MT0NBVElPTl9EUkFNCj4gKyAgICAgICAgICAg ICAgIHByb21wdCAiU2VjdXJlIERSQU0gcmVnaW9uIChjb25maWd1cmVkIGJ5IFRydXN0Wm9uZSBj b250cm9sbGVyKSIKPiArICAgICAgICAgICAgICAgYm9vbAo+ICtlbmRjaG9pY2UKPiArCj4gK2Nv bmZpZyBURl9BX0JMMzJfVFNQX1JBTV9MT0NBVElPTl9TVFJJTkcKPiArICAgICAgICBzdHJpbmcK PiArICAgICAgICBkZWZhdWx0ICJ0c3JhbSIgaWYgVEZfQV9CTDMyX1RTUF9SQU1fTE9DQVRJT05f VFNSQU0KPiArICAgICAgICBkZWZhdWx0ICJ0ZHJhbSIgaWYgVEZfQV9CTDMyX1RTUF9SQU1fTE9D QVRJT05fVERSQU0KPiArICAgICAgICBkZWZhdWx0ICJkcmFtIiAgaWYgVEZfQV9CTDMyX1RTUF9S QU1fTE9DQVRJT05fRFJBTQo+ICsKPiArZW5kaWYKPiArCj4gK2VuZGlmCj4gZGlmZiAtLWdpdCBh L3J1bGVzL3RmLWEubWFrZSBiL3J1bGVzL3RmLWEubWFrZQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 Cj4gaW5kZXggMDAwMDAwMDAwMDAwLi45Zjg5NWQzMjUxOGQKPiAtLS0gL2Rldi9udWxsCj4gKysr IGIvcnVsZXMvdGYtYS5tYWtlCj4gQEAgLTAsMCArMSwxMTQgQEAKPiArIyAtKi1tYWtlZmlsZS0q LQo+ICsjCj4gKyMgQ29weXJpZ2h0IChDKSAyMDE4IGJ5IFJvdXZlbiBDemVyd2luc2tpIDxyLmN6 ZXJ3aW5za2lAcGVuZ3V0cm9uaXguZGU+Cj4gKyMgICAgICAgICAgICAgICAyMDE5IGJ5IEFobWFk IEZhdG91bSA8YS5mYXRvdW1AcGVuZ3V0cm9uaXguZGU+Cj4gKyMKPiArIyBGb3IgZnVydGhlciBp bmZvcm1hdGlvbiBhYm91dCB0aGUgUFRYZGlzdCBwcm9qZWN0IGFuZCBsaWNlbnNlIGNvbmRpdGlv bnMKPiArIyBzZWUgdGhlIFJFQURNRSBmaWxlLgo+ICsjCj4gKwo+ICsjCj4gKyMgV2UgcHJvdmlk ZSB0aGlzIHBhY2thZ2UKPiArIwo+ICtQQUNLQUdFUy0kKFBUWENPTkZfVEZfQSkgKz0gdGYtYQo+ ICsKPiArIwo+ICsjIFBhdGhzIGFuZCBuYW1lcwo+ICsjCj4gK1RGX0FfVkVSU0lPTiAgIDo9ICQo Y2FsbCByZW1vdmVfcXVvdGVzLCQoUFRYQ09ORl9URl9BX1ZFUlNJT04pKQo+ICtURl9BX01ENSAg ICAgICA6PSAkKGNhbGwgcmVtb3ZlX3F1b3RlcywkKFBUWENPTkZfVEZfQV9NRDUpKQo+ICtURl9B ICAgICAgICAgICA6PSB0Zi1hLSQoVEZfQV9WRVJTSU9OKQo+ICtURl9BX1NVRkZJWCAgICA6PSB0 YXIuZ3oKPiArVEZfQV9VUkwgICAgICAgOj0gaHR0cHM6Ly9naXQudHJ1c3RlZGZpcm13YXJlLm9y Zy9URi1BL3RydXN0ZWQtZmlybXdhcmUtYS5naXQvc25hcHNob3QvJChURl9BX1ZFUlNJT04pLiQo VEZfQV9TVUZGSVgpCj4gK1RGX0FfU09VUkNFICAgIDo9ICQoU1JDRElSKS8kKFRGX0EpLiQoVEZf QV9TVUZGSVgpCj4gK1RGX0FfRElSICAgICAgIDo9ICQoQlVJTERESVIpLyQoVEZfQSkKPiArVEZf QV9MSUNFTlNFICAgIDo9IEJTRC0zLUNsYXVzZQo+ICsKPiArIyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Cj4gKyMgUHJlcGFyZQo+ICsjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiArCj4gK1RGX0FfV1JBUFBF Ul9CTEFDS0xJU1QgOj0gXAo+ICsgICAgICAgVEFSR0VUX0hBUkRFTl9SRUxSTyBcCj4gKyAgICAg ICBUQVJHRVRfSEFSREVOX0JJTkROT1cgXAo+ICsgICAgICAgVEFSR0VUX0hBUkRFTl9QSUUgXAo+ ICsgICAgICAgVEFSR0VUX0RFQlVHIFwKPiArICAgICAgIFRBUkdFVF9CVUlMRF9JRAo+ICsKPiAr VEZfQV9QQVRIICAgICAgOj0gUEFUSD0kKENST1NTX1BBVEgpCj4gK1RGX0FfTUFLRV9PUFQgIDo9 IFwKPiArICAgICAgIENST1NTX0NPTVBJTEU9JChCT09UTE9BREVSX0NST1NTX0NPTVBJTEUpIFwK PiArICAgICAgIEhPU1RDQz0kKEhPU1RDQykgXAo+ICsgICAgICAgUExBVD0kKFBUWENPTkZfVEZf QV9QTEFURk9STSkgXAo+ICsgICAgICAgREVCVUc9JChjYWxsIHB0eC9pZmRlZixURl9BX0RFQlVH LDEsMCkgXAo+ICsgICAgICAgQVJDSD0kKFBUWENPTkZfVEZfQV9BUkNIX1NUUklORykgXAo+ICsg ICAgICAgQVJNX0FSQ0hfTUFKT1I9JChQVFhDT05GX1RGX0FfQVJNX0FSQ0hfTUFKT1IpIFwKPiAr ICAgICAgICQoY2FsbCByZW1vdmVfcXVvdGVzLCQoUFRYQ09ORl9URl9BX0VYVFJBX0FSR1MpKSBc Cj4gKyAgICAgICBhbGwKPiArCj4gK2lmZGVmIFBUWENPTkZfVEZfQV9CTDMyX1RTUAo+ICtURl9B X01BS0VfT1BUICs9IEFSTV9UU1BfUkFNX0xPQ0FUSU9OPSQoUFRYQ09ORl9URl9BX0JMMzJfVFNQ X1JBTV9MT0NBVElPTl9TVFJJTkcpCj4gK2VuZGlmCj4gK2lmZGVmIFBUWENPTkZfVEZfQV9BUk1f QVJDSF9NSU5PUgo+ICtURl9BX01BS0VfT1BUICs9IEFSTV9BUkNIX01JTk9SPSQoUFRYQ09ORl9U Rl9BX0FSTV9BUkNIX01JTk9SKQo+ICtlbmRpZgo+ICtpZmRlZiBQVFhDT05GX1RGX0FfQkwzMl9T UF9NSU4KPiArVEZfQV9NQUtFX09QVCArPSBBQVJDSDMyX1NQPXNwX21pbgo+ICtlbmRpZgo+ICsK PiArVEZfQV9CVUlMRF9PVVRQVVRfRElSIDo9ICQoY2FsbCBwdHgvaWZkZWYsVEZfQV9ERUJVRyxk ZWJ1ZyxyZWxlYXNlKQo+ICtURl9BX0FSVElGQUNUU19ERVNUIDo9ICQoY2FsbCByZW1vdmVfcXVv dGVzLCQoUFRYQ09ORl9URl9BX0FSVElGQUNUUykpCj4gK1RGX0FfQVJUSUZBQ1RTX1NSQyA6PSAk KGFkZHByZWZpeCAkKFRGX0FfRElSKS9idWlsZC8kKFBUWENPTkZfVEZfQV9QTEFURk9STSkvJChU Rl9BX0JVSUxEX09VVFBVVF9ESVIpLywgXAo+ICsgICAgICAgICAgICAgICAkKFRGX0FfQVJUSUZB Q1RTX0RFU1QpKQo+ICtURl9BX0NPTkZfVE9PTCA6PSBOTwo+ICtURl9BX01BS0VfRU5WICA6PSAk KENST1NTX0VOVikKPiArIyBURl9BX0RFQlVHPXllcwo+ICsKPiArIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCj4gKyMgUHJlcGFyZQo+ICsjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiArJChTVEFURURJUikv dGYtYS5wcmVwYXJlOgo+ICsgICAgICAgQCQoY2FsbCB0YXJnZXRpbmZvKQo+ICsgICAgICAgQHJt IC1yZiAkKFRGX0FfRElSKS9idWlsZC8KPiArICAgICAgIEAkKGNhbGwgdG91Y2gpCj4gKwo+ICsj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KPiArIyBJbnN0YWxsCj4gKyMgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQo+ICsKPiArJChTVEFURURJUikvdGYtYS5pbnN0YWxsOgo+ICsgICAgICAgQCQoY2FsbCB0YXJn ZXRpbmZvKQo+ICtpZmVxICgkKFRGX0FfQVJUSUZBQ1RTX1NSQyksKQo+ICsgICAgICAgJCh3YXJu aW5nIFRGX0FfQVJUSUZBQ1RTIGlzIGVtcHR5LiBub3RoaW5nIHRvIGluc3RhbGwuKQo+ICtlbHNl Cj4gKyAgICAgICBAaW5zdGFsbCAtbTY0NCAtRCBcCj4gKyAgICAgICAgICAgICAgIC0tdGFyZ2V0 LWRpcmVjdG9yeT0kKFBUWENPTkZfU1lTUk9PVF9UQVJHRVQpL3Vzci9saWIvZmlybXdhcmUgXAoK VGhpcyBkb2Vzbid0IGxvb2sgcmlnaHQuClNob3VsZG4ndCB0aGUgaW5zdGFsbCBzdGFnZSBpbnN0 YWxsIHRoaW5ncyB0byB0aGUgcGFja2FnZSBpbnN0YWxsCmRpcmVjdG9yeSBvbmx5PwpBbmQsIGlu IGNhc2UgeW91IHdhbnQgdG8gaW5zdGFsbCBzb21ldGhpbmcgc29tZXdoZXJlIGVsc2UsIHNob3Vs ZG4ndAp0aGUgYWN0dWFsIHRhcmdldCBkaXJlY3RvcnkgYXQgbGVhc3QgYmUgY29uZmlndXJhYmxl PwpGb3IgZXhhbXBsZSB0aGVyZSBpcyBubyAvdXNyL2xpYi9maXJtd2FyZSBpbiBteSBwbGF0Zm9y bS4KCkd1aWxsZXJtbwoKPiArICAgICAgICAgICAgICAgJChURl9BX0FSVElGQUNUU19TUkMpCj4g K2VuZGlmCj4gKyAgICAgICBAJChjYWxsIHRvdWNoKQo+ICsKPiArIyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCj4gKyMgVGFyZ2V0LUluc3RhbGwKPiArIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gKwo+ICsk KFNUQVRFRElSKS90Zi1hLnRhcmdldGluc3RhbGw6Cj4gKyAgICAgICBAJChjYWxsIHRhcmdldGlu Zm8pCj4gK2lmZXEgKCQoVEZfQV9BUlRJRkFDVFNfU1JDKSwpCj4gKyAgICAgICAkKHdhcm5pbmcg VEZfQV9BUlRJRkFDVFMgaXMgZW1wdHkuIG5vdGhpbmcgdG8gaW5zdGFsbC4pCj4gK2Vsc2UKPiAr ICAgICAgIEBpbnN0YWxsIC1EIC1tNjQ0ICQoVEZfQV9BUlRJRkFDVFNfU1JDKSAkKElNQUdFRElS KQo+ICtlbmRpZgo+ICsgICAgICAgQCQoY2FsbCB0b3VjaCkKPiArCj4gKyMgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQo+ICsjIENsZWFuCj4gKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICsKPiArJChTVEFU RURJUikvdGYtYS5jbGVhbjoKPiArICAgICAgIEAkKGNhbGwgdGFyZ2V0aW5mbykKPiArICAgICAg IEAkKGNhbGwgY2xlYW5fcGtnLCBURl9BKQo+ICsgICAgICAgQHJtIC1mICQoYWRkcHJlZml4ICQo UFRYQ09ORl9TWVNST09UX1RBUkdFVCkvdXNyL2xpYi9maXJtd2FyZS8sIFwKPiArICAgICAgICAg ICAgICAgVEZfQV9BUlRJRkFDVFNfREVTVCkKPiArICAgICAgIEBybSAtZiAkKGFkZHByZWZpeCAk KElNQUdFRElSKSwgVEZfQV9BUlRJRkFDVFNfREVTVCkKPiArCj4gKyMgdmltOiBzeW50YXg9bWFr ZQo+IC0tCj4gMi4yNS4wCj4KPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCj4gcHR4ZGlzdCBtYWlsaW5nIGxpc3QKPiBwdHhkaXN0QHBlbmd1dHJvbml4 LmRlCgoKCi0tIApHdWlsbGVybW8gUm9kcmlndWV6IEdhcmNpYQpndWlsbGUucm9kcmlndWV6QGdt YWlsLmNvbQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K cHR4ZGlzdCBtYWlsaW5nIGxpc3QKcHR4ZGlzdEBwZW5ndXRyb25peC5kZQo=