From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from enterprise02.smtp.diehl.com ([193.201.238.220]) by metis.ext.pengutronix.de with esmtps (TLS1.2:DHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1iZ9yq-0003Tm-9m for ptxdist@pengutronix.de; Mon, 25 Nov 2019 09:44:24 +0100 From: Denis OSTERLAND Date: Mon, 25 Nov 2019 08:44:19 +0000 Message-ID: References: <20191122154232.4980-1-bruno.thomsen@gmail.com> In-Reply-To: <20191122154232.4980-1-bruno.thomsen@gmail.com> Content-Language: en-US Content-ID: MIME-Version: 1.0 Subject: Re: [ptxdist] [PATCH v4] u-boot: generate environment image 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" , "bruno.thomsen@gmail.com" Cc: "ada@thorsis.com" , "bth@kamstrup.com" SGksDQoNCkFtIEZyZWl0YWcsIGRlbiAyMi4xMS4yMDE5LCAxNjo0MiArMDEwMCBzY2hyaWViIEJy dW5vIFRob21zZW46DQo+IEFkZCBwb3NzaWJsaXR5IHRvIGdlbmVyYXRlIGEgZGVmYXVsdCBvciBh IGN1c3RvbSBlbnZpcm9ubWVudA0KPiBpbWFnZS4gSW1hZ2UgY2FuIGJlIHVzZWQgZHVyaW5nIG1h bnVmYWN0dXJpbmcgdG8gYXZvaWQgYm9vdGxvYWRlcg0KPiBjb25zb2xlIHVzYWdlIGFuZCBzcGVl ZCB1cCBmaXJzdCBib290LiBPdGhlciBpbWFnZSB1c2UtY2FzZXMNCj4gaW5jbHVkZSBkZXZpY2Ug ZGV2ZWxvcG1lbnQgZWRpdGlvbiwgZGV2aWNlIGRlbW9uc3RyYXRpb24NCj4gbW9kZSwgZXRjLg0K PiANCj4gQ3VzdG9tIGVudmlyb25tZW50IGltYWdlIGlzIGdlbmVyYXRlZCBmcm9tIGFuIHVzZXIg cHJvdmlkZWQNCj4gY29uZmlnIGZpbGUgd2l0aCBvbmUgJ3Zhcj12YWx1ZScgcGVyIGxpbmUgZm9y bWF0LiBJbnB1dCBjb25maWcNCj4gZmlsZSBuYW1lIGlzIGNvbmZpZ3VyYWJsZS4NCj4gDQo+IENj OiBEZW5pcyBPU1RFUkxBTkQgPGRlbmlzLm9zdGVybGFuZEBkaWVobC5jb20+DQo+IENjOiBBbGV4 YW5kZXIgRGFobCA8YWRhQHRob3JzaXMuY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBCcnVubyBUaG9t c2VuIDxicnVuby50aG9tc2VuQGdtYWlsLmNvbT4NCj4gLS0tDQo+IHY0Og0KPiAtIHUtYm9vdCB2 ZXJzaW9uIGxpbWl0YXRpb24gaGVscC4NCj4gLSBlbnYgaW1hZ2Ugc2l6ZSBpcyBub3cgS2NvbmZp ZyBoZXggaW5wdXQNCj4gLSBjdXN0b20gZW52IHNvdXJjZSBmaWxlIGlzIG5vdyBzdG9yZWQgaW4g cGxhdGZvcm1jb25maWdkaXINCj4gLSBjaGFuZ2VzIGluIGN1c3RvbSBlbnYgc291cmNlIGZpbGUg dHJpZ2dlciByZWJ1aWxkDQo+IC0gdXNlIGRlZmF1bHQgbWtlbnZpbWFnZSBwYWQNCj4gLSBjbGVh bnVwIG9mIGVudiBpbWFnZXMNCj4gLSBmaXggbWlzc2luZyBjbGVhbnVwIG9mIGlteCBkdGIgaW1h Z2UNCj4gdjM6DQo+IC0gcmVtb3ZlIG11bHRpcGxlIGVudiBpbWFnZXMgc3VwcG9ydA0KPiAtIHVz ZSBzdGF0aWMgaW1hZ2UgbmFtZXMNCj4gLSByZWJhc2UgcGF0Y2hlcyBvbiB0b3Agb2Y6IHUtYm9v dDogQnVpbGQgb3V0LW9mLXRyZWUNCj4gdjI6DQo+IC0gcmVtb3ZlIEhPU1RfVV9CT09UX1RPT0xT IGRlcGVuZGVuY3kNCj4gLSBjb25maWd1cmFibGUgZGVmYXVsdCBlbnYgaW1hZ2UgbmFtZQ0KPiAt IGFkZCBjdXN0b20gZW52IGltYWdlIGdlbmVyYXRpb24gb3B0aW9uDQo+IC0gbW92ZSBhbGwgb3B0 aW9ucyB0byBzdWIgbWVudQ0KPiANCj4gIHBsYXRmb3Jtcy91LWJvb3QuaW4gfCA2MSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gIHJ1bGVzL3UtYm9vdC5t YWtlICAgfCAzMSArKysrKysrKysrKysrKysrKysrKysrLQ0KPiAgMiBmaWxlcyBjaGFuZ2VkLCA5 MSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvcGxhdGZv cm1zL3UtYm9vdC5pbiBiL3BsYXRmb3Jtcy91LWJvb3QuaW4NCj4gaW5kZXggOWJhYzRhNzU4Li5l NjU4NWI1MDggMTAwNjQ0DQo+IC0tLSBhL3BsYXRmb3Jtcy91LWJvb3QuaW4NCj4gKysrIGIvcGxh dGZvcm1zL3UtYm9vdC5pbg0KPiBAQCAtNzEsNiArNzEsNjcgQEAgY29uZmlnIFVfQk9PVF9DT05G SUcNCj4gIA0KPiAgZW5kaWYNCj4gIA0KPiArY2hvaWNlDQo+ICsJcHJvbXB0ICJHZW5lcmF0ZSBl bnZpcm9ubWVudCBpbWFnZSINCj4gKwlkZWZhdWx0IFVfQk9PVF9OT05FX0VOVl9JTUFHRQ0KPiAr CWhlbHANCj4gKwkgIFUtQm9vdCBmcm9tIHZlcnNpb24gMjAxOC4wMyBzdXBwb3J0IG91dC1vZi10 cmVlIGVudmlyb25tZW50DQo+ICsJICBpbWFnZSBnZW5lcmF0aW9uLg0KPiArDQo+ICtjb25maWcg VV9CT09UX05PTkVfRU5WX0lNQUdFDQpsb29rcyBhIGxpdHRsZSBiaXQgb2RkLg0KSSB3b3VsZCBl eHBlY3QgYSBjb21tb24gcHJlZml4LCB3aXRoIHRoZSBjaG9pY2UgYXQgdGhlIGVuZC4NClVfQk9P VF9FTlZfSU1BR0VfTk9ORQ0KVV9CT09UX0VOVl9JTUFHRV9ERUZBVUxUDQpVX0JPT1RfRU5WX0lN QUdFX0NVU1RPTQ0KDQpCdXQgdGhhdMK0cyBub3QgYSBzaG93IHN0b3BwZXIsIEkgdGhpbmsuDQoN Cj4gKwlwcm9tcHQgIm5vbmUiDQo+ICsJYm9vbA0KPiArCWhlbHANCj4gKwkgIERvbid0IGdlbmVy YXRlIGFuIFUtQm9vdCBlbnZpcm9ubWVudCBpbWFnZS4NCj4gKw0KPiArY29uZmlnIFVfQk9PVF9E RUZBVUxUX0VOVl9JTUFHRQ0KPiArCXByb21wdCAiZGVmYXVsdCINCj4gKwlib29sDQo+ICsJaGVs cA0KPiArCSAgVXNlIFUtQm9vdCdzIG1rZW52aW1hZ2UgdG8gY29tcGlsZSBhIGRlZmF1bHQgVS1C b290IGVudmlyb25tZW50DQo+ICsJICBpbWFnZSBmb3IgdXNlIGluIGUuZy4gZGV2aWNlIG1hbnVm YWN0dXJpbmcgb3IgZGV2ZWxvcG1lbnQuDQo+ICsNCj4gK2NvbmZpZyBVX0JPT1RfQ1VTVE9NX0VO Vl9JTUFHRQ0KPiArCXByb21wdCAiY3VzdG9tIg0KPiArCWJvb2wNCj4gKwloZWxwDQo+ICsJICBV c2UgVS1Cb290J3MgbWtlbnZpbWFnZSB0byBjb21waWxlIGEgY3VzdG9tIFUtQm9vdCBlbnZpcm9u bWVudA0KPiArCSAgaW1hZ2UgYmFzZWQgb24gdGhlIHRleHQgZmlsZSBpbiBVX0JPT1RfQ1VTVE9N X0VOVl9JTUFHRV9TT1VSQ0UNCj4gKwkgIGZvciB1c2UgaW4gZS5nLiBkZXZpY2UgbWFudWZhY3R1 cmluZyBvciBkZXZlbG9wbWVudC4NCj4gKw0KPiArZW5kY2hvaWNlDQo+ICsNCj4gK2NvbmZpZyBV X0JPT1RfQ1VTVE9NX0VOVl9JTUFHRV9TT1VSQ0UNCj4gKwlwcm9tcHQgIkN1c3RvbSBlbnZpcm9u bWVudCBzb3VyY2UiDQo+ICsJc3RyaW5nDQo+ICsJZGVmYXVsdCAiY3VzdG9tX2Vudi5jb25maWci DQo+ICsJZGVwZW5kcyBvbiBVX0JPT1RfQ1VTVE9NX0VOVl9JTUFHRQ0KPiArCWhlbHANCj4gKwkg IFRleHQgZmlsZSBpbiBwbGF0Zm9ybSBjb25maWcgZGlyZWN0b3J5IGRlc2NyaWJpbmcgdGhlIGN1 c3RvbQ0KPiArCSAgZW52aXJvbm1lbnQuDQo+ICsJICBUaGUgZmlsZSBzaG91bGQgaGF2ZSBsaW5l cyBpbiB0aGUgZm9ybSB2YXI9dmFsdWUsIG9uZSBwZXIgbGluZS4NCj4gKwkgIEJsYW5rIGxpbmVz IGFuZCBsaW5lcyBzdGFydGluZyB3aXRoIGEgIyBhcmUgaWdub3JlZC4NCj4gKw0KPiAraWYgIVVf Qk9PVF9OT05FX0VOVl9JTUFHRQ0KPiArDQo+ICtjb25maWcgVV9CT09UX0VOVl9JTUFHRV9TSVpF DQo+ICsJcHJvbXB0ICJFbnZpcm9ubWVudCBpbWFnZSBzaXplIg0KPiArCWhleA0KPiArCWRlZmF1 bHQgMHgyMDAwDQo+ICsJaGVscA0KPiArCSAgRW50ZXIgdGhlIFUtQm9vdCBlbnZpcm9ubWVudCBz aXplIGluIGhleGFkZWNpbWFsIGZvciBnZW5lcmF0aW9uDQo+ICsJICBvZiBpbWFnZS4gQSB3cm9u ZyBzaXplIHdpbGwgdHlwaWNhbGx5IGNhdXNlIGNyYyBlcnJvciB3aGVuIHVzZWQuDQo+ICsJICBN dXN0IG1hdGNoIHNpemUgZGVmaW5lZCBpbiB0YXJnZXQgY29uZmlnIGFuZCAiL2V0Yy9md19lbnYu Y29uZmlnIi4NCj4gKw0KPiArY29uZmlnIFVfQk9PVF9FTlZfSU1BR0VfUkVEVU5EQU5UDQo+ICsJ cHJvbXB0ICJFbnZpcm9ubWVudCBpbWFnZSB3aXRoIHJlZHVuZGFudCBjb3B5Ig0KPiArCWJvb2wN Cj4gKwloZWxwDQo+ICsJICBVc2UgdG8gZ2VuZXJhdGUgYSByZWR1bmRhbnQgZW52aXJvbm1lbnQg aW4gdGhlIGltYWdlLg0KPiArCSAgTXVzdCBtYXRjaCB0YXJnZXQgY29uZmlnIGFuZCAiL2V0Yy9m d19lbnYuY29uZmlnIi4NCj4gKw0KPiArZW5kaWYNCj4gKw0KPiAgY29uZmlnIFVfQk9PVF9CT09U X1NDUklQVA0KPiAgCXByb21wdCAiQ29tcGlsZSBVLUJvb3QgYm9vdCBzY3JpcHQiDQo+ICAJYm9v bA0KPiBkaWZmIC0tZ2l0IGEvcnVsZXMvdS1ib290Lm1ha2UgYi9ydWxlcy91LWJvb3QubWFrZQ0K PiBpbmRleCBlM2MyYzIzODkuLjNkOTgzMzc4ZSAxMDA2NDQNCj4gLS0tIGEvcnVsZXMvdS1ib290 Lm1ha2UNCj4gKysrIGIvcnVsZXMvdS1ib290Lm1ha2UNCj4gQEAgLTQzLDYgKzQzLDEyIEBAIFVf Qk9PVF9CT09UX1NDUklQVF9CSU4gOj0gJChjYWxsIHJlbW92ZV9xdW90ZXMsIFwNCj4gICQoU1RB VEVESVIpL3UtYm9vdC5jb21waWxlOiAkKFVfQk9PVF9CT09UX1NDUklQVF9UWFQpDQo+ICBlbmRp Zg0KPiAgDQo+ICtpZmRlZiBQVFhDT05GX1VfQk9PVF9DVVNUT01fRU5WX0lNQUdFDQo+ICtVX0JP T1RfQ1VTVE9NX0VOVl9TUkMgOj0gJChjYWxsIHB0eC9pbi1wbGF0Zm9ybWNvbmZpZ2RpciwgXA0K PiArCSQoUFRYQ09ORl9VX0JPT1RfQ1VTVE9NX0VOVl9JTUFHRV9TT1VSQ0UpKQ0KPiArJChTVEFU RURJUikvdS1ib290LmNvbXBpbGU6ICQoY2FsbCByZW1vdmVfcXVvdGVzLCAkKFVfQk9PVF9DVVNU T01fRU5WX1NSQykpDQo+ICtlbmRpZg0KPiArDQo+ICBVX0JPT1RfV1JBUFBFUl9CTEFDS0xJU1Qg Oj0gXA0KPiAgCSQoUFRYRElTVF9MT1dMRVZFTF9XUkFQUEVSX0JMQUNLTElTVCkNCj4gIA0KPiBA QCAtMTAwLDYgKzEwNiwyMCBAQCBpZmRlZiBQVFhDT05GX1VfQk9PVF9CT09UX1NDUklQVA0KPiAg CUAkKFVfQk9PVF9CVUlMRF9ESVIpL3Rvb2xzL21raW1hZ2UgLVQgc2NyaXB0IC1DIG5vbmUgXA0K PiAgCQktZCAkKFVfQk9PVF9CT09UX1NDUklQVF9UWFQpIFwNCj4gIAkJJChVX0JPT1RfQlVJTERf RElSKS9ib290LnNjci51aW1nDQo+ICtlbmRpZg0KPiAraWZkZWYgUFRYQ09ORl9VX0JPT1RfREVG QVVMVF9FTlZfSU1BR0UNCj4gKwkkKFVfQk9PVF9NQUtFX0VOVikgJChVX0JPT1RfRElSKS9zY3Jp cHRzL2dldF9kZWZhdWx0X2VudnMuc2ggJChVX0JPT1RfQlVJTERfRElSKSB8IFwNCj4gKwkJJChV X0JPT1RfQlVJTERfRElSKS90b29scy9ta2VudmltYWdlIFwNCj4gKwkJJChjYWxsIHB0eC9pZmRl ZixQVFhDT05GX1VfQk9PVF9FTlZfSU1BR0VfUkVEVU5EQU5ULC1yLCkgXA0KPiArCQktcyAkKFBU WENPTkZfVV9CT09UX0VOVl9JTUFHRV9TSVpFKSBcDQo+ICsJCS1vICQoVV9CT09UX0JVSUxEX0RJ UikvdS1ib290LWVudi5pbWcgLQ0KPiArZW5kaWYNCj4gK2lmZGVmIFBUWENPTkZfVV9CT09UX0NV U1RPTV9FTlZfSU1BR0UNCj4gKwkkKFVfQk9PVF9CVUlMRF9ESVIpL3Rvb2xzL21rZW52aW1hZ2Ug XA0KPiArCQkkKGNhbGwgcHR4L2lmZGVmLFBUWENPTkZfVV9CT09UX0VOVl9JTUFHRV9SRURVTkRB TlQsLXIsKSBcDQo+ICsJCS1zICQoUFRYQ09ORl9VX0JPT1RfRU5WX0lNQUdFX1NJWkUpIFwNCj4g KwkJLW8gJChVX0JPT1RfQlVJTERfRElSKS91LWJvb3QtY3VzdG9tLWVudi5pbWcgXA0KSSBzZWUg bm8gbmVlZCBmb3IgYSBkaWZmZXJlbnQgZW52IGltYWdlIG5hbWUgaGVyZS4NCkN1c3RvbSBvciBk ZWZhdWx0IGlzIHRoZSBjaG9pY2UgaG93IHRvIGdlbmVyYXRlIHRoZSBpbWFnZS4NCkl0IGlzIGVh c2llciB0byBwYXNzIHRoZSBpbWFnZXMgdG8geW91ciBmYWN0b3J5IGlmIHRoZSBoYXZlIGFsd2F5 cyB0aGUgc2FtZSBuYW1lLg0KVGhpcyBnaXZlcyB5b3UgdGhlIGNoYW5jZSB0byBjaGFuZ2UgaW1h Z2UgdHlwZSwgd2l0aG91dCBhIG5lZWQgdG8gY2hhbmdlIHByb2R1Y3Rpb24gZmxvdy4NCg0KPiAr CQkkKFVfQk9PVF9DVVNUT01fRU5WX1NSQykNCj4gIGVuZGlmDQo+ICAJQCQoY2FsbCB0b3VjaCkN Cj4gIA0KPiBAQCAtMTQ3LDYgKzE2NywxNCBAQCBpZmRlZiBQVFhDT05GX1VfQk9PVF9JTlNUQUxM X1VfQk9PVF9XSVRIX1NQTF9QQkwNCj4gIAlAaW5zdGFsbCAtdiAtRCAtbTY0NCAkKFVfQk9PVF9C VUlMRF9ESVIpL3UtYm9vdC13aXRoLXNwbC1wYmwuYmluIFwNCj4gIAkJJChJTUFHRURJUikvdS1i b290LXdpdGgtc3BsLXBibC5iaW4NCj4gIGVuZGlmDQo+ICtpZmRlZiBQVFhDT05GX1VfQk9PVF9E RUZBVUxUX0VOVl9JTUFHRQ0KPiArCUBpbnN0YWxsIC12IC1EIC1tNjQ0ICQoVV9CT09UX0JVSUxE X0RJUikvdS1ib290LWVudi5pbWcgXA0KPiArCQkkKElNQUdFRElSKS91LWJvb3QtZW52LmltZw0K PiArZW5kaWYNCj4gK2lmZGVmIFBUWENPTkZfVV9CT09UX0NVU1RPTV9FTlZfSU1BR0UNCj4gKwlA aW5zdGFsbCAtdiAtRCAtbTY0NCAkKFVfQk9PVF9CVUlMRF9ESVIpL3UtYm9vdC1jdXN0b20tZW52 LmltZyBcDQo+ICsJCSQoSU1BR0VESVIpL3UtYm9vdC1jdXN0b20tZW52LmltZw0KPiArZW5kaWYN ClRoaXMgd2lsbCBiZWNvbWU6DQoraWZuZGVmIFBUWENPTkZfVV9CT09UX0VOVl9JTUFHRV9OT05F DQorCUBpbnN0YWxsIC12IC1EIC1tNjQ0ICQoVV9CT09UX0JVSUxEX0RJUikvdS1ib290LWVudi5p bWcgXA0KKwkJJChJTUFHRURJUikvdS1ib290LWVudi5pbWcNCitlbmRpZg0KDQo+ICANCj4gIGlm ZGVmIFBUWENPTkZfVV9CT09UX0JPT1RfU0NSSVBUDQo+ICAJQCQoY2FsbCBpbnN0YWxsX2luaXQs IHUtYm9vdCkNCj4gQEAgLTE3MSw3ICsxOTksOCBAQCAkKFNUQVRFRElSKS91LWJvb3QuY2xlYW46 DQo+ICAJQCQoY2FsbCBjbGVhbl9wa2csIFVfQk9PVCkNCj4gIAlAcm0gLXZmICQoSU1BR0VESVIp L3UtYm9vdC5iaW4gJChJTUFHRURJUikvdS1ib290LnNyZWMgJChJTUFHRURJUikvdS1ib290LmVs Zg0KPiAgCUBybSAtdmYgJChJTUFHRURJUikvdS1ib290LmltZyAkKElNQUdFRElSKS9TUEwgJChJ TUFHRURJUikvTUxPDQo+IC0JQHJtIC12ZiAkKElNQUdFRElSKS91LWJvb3QuaW14DQo+ICsJQHJt IC12ZiAkKElNQUdFRElSKS91LWJvb3QuaW14ICQoSU1BR0VESVIpL3UtYm9vdC1kdGIuaW14DQpX aHkgdS1ib290LWR0Yi5pbXggc25lYWtzIGluIGhlcmU/IEhhdmUgaSBtaXNzZWQgc29tZXRoaW5n Pw0KDQo+ICsJQHJtIC12ZiAkKElNQUdFRElSKS91LWJvb3QtZW52LmltZyAkKElNQUdFRElSKS91 LWJvb3QtY3VzdG9tLWVudi5pbWcNCkFuZCB0aGlzIG9mIGNvdXJzZSBvbmx5IHUtYm9vdC1lbnYu aW1nLg0KDQpSZWdhcmRzIERlbmlzDQo+ICAJQHJtIC12ZgkkKElNQUdFRElSKS91LWJvb3QtZHRi LmJpbiAkKElNQUdFRElSKS91LWJvb3Qtd2l0aC1zcGwtcGJsLmJpbg0KPiAgDQo+ICAjIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCg0KDQpEaWVobCBDb25uZWN0aXZpdHkgU29sdXRpb25zIEdtYkgNCkdl c2Now6RmdHNmw7xocnVuZzogSG9yc3QgTGVvbmJlcmdlcg0KU2l0eiBkZXIgR2VzZWxsc2NoYWZ0 OiBOw7xybmJlcmcgLSBSZWdpc3RlcmdlcmljaHQ6IEFtdHNnZXJpY2h0DQpOw7xybmJlcmc6IEhS QiAzMjMxNQ0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQoNCkRl ciBJbmhhbHQgZGVyIHZvcnN0ZWhlbmRlbiBFLU1haWwgaXN0IG5pY2h0IHJlY2h0bGljaCBiaW5k ZW5kLiBEaWVzZSBFLU1haWwgZW50aGFlbHQgdmVydHJhdWxpY2hlIHVuZC9vZGVyIHJlY2h0bGlj aCBnZXNjaHVldHp0ZSBJbmZvcm1hdGlvbmVuLg0KSW5mb3JtaWVyZW4gU2llIHVucyBiaXR0ZSwg d2VubiBTaWUgZGllc2UgRS1NYWlsIGZhZWxzY2hsaWNoZXJ3ZWlzZSBlcmhhbHRlbiBoYWJlbi4g Qml0dGUgbG9lc2NoZW4gU2llIGluIGRpZXNlbSBGYWxsIGRpZSBOYWNocmljaHQuDQpKZWRlIHVu ZXJsYXVidGUgRm9ybSBkZXIgUmVwcm9kdWt0aW9uLCBCZWthbm50Z2FiZSwgQWVuZGVydW5nLCBW ZXJ0ZWlsdW5nIHVuZC9vZGVyIFB1Ymxpa2F0aW9uIGRpZXNlciBFLU1haWwgaXN0IHN0cmVuZ3N0 ZW5zIHVudGVyc2FndC4NCi0gSW5mb3JtYXRpb25lbiB6dW0gRGF0ZW5zY2h1dHosIGluc2Jlc29u ZGVyZSB6dSBJaHJlbiBSZWNodGVuLCBlcmhhbHRlbiBTaWUgdW50ZXIgaHR0cHM6Ly93d3cuZGll aGwuY29tL2dyb3VwL2RlL3RyYW5zcGFyZW56LXVuZC1pbmZvcm1hdGlvbnNwZmxpY2h0ZW4vDQoN ClRoZSBjb250ZW50cyBvZiB0aGUgYWJvdmUgbWVudGlvbmVkIGUtbWFpbCBpcyBub3QgbGVnYWxs eSBiaW5kaW5nLiBUaGlzIGUtbWFpbCBjb250YWlucyBjb25maWRlbnRpYWwgYW5kL29yIGxlZ2Fs bHkgcHJvdGVjdGVkIGluZm9ybWF0aW9uLiBQbGVhc2UgaW5mb3JtIHVzIGlmIHlvdSBoYXZlIHJl Y2VpdmVkIHRoaXMgZS1tYWlsIGJ5DQptaXN0YWtlIGFuZCBkZWxldGUgaXQgaW4gc3VjaCBhIGNh c2UuIEVhY2ggdW5hdXRob3JpemVkIHJlcHJvZHVjdGlvbiwgZGlzY2xvc3VyZSwgYWx0ZXJhdGlv biwgZGlzdHJpYnV0aW9uIGFuZC9vciBwdWJsaWNhdGlvbiBvZiB0aGlzIGUtbWFpbCBpcyBzdHJp Y3RseSBwcm9oaWJpdGVkLiANCi0gRm9yIGdlbmVyYWwgaW5mb3JtYXRpb24gb24gZGF0YSBwcm90 ZWN0aW9uIGFuZCB5b3VyIHJlc3BlY3RpdmUgcmlnaHRzIHBsZWFzZSB2aXNpdCBodHRwczovL3d3 dy5kaWVobC5jb20vZ3JvdXAvZW4vdHJhbnNwYXJlbmN5LWFuZC1pbmZvcm1hdGlvbi1vYmxpZ2F0 aW9ucy8NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCnB0 eGRpc3QgbWFpbGluZyBsaXN0CnB0eGRpc3RAcGVuZ3V0cm9uaXguZGUK