From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from dedi548.your-server.de ([85.10.215.148]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k0Q6a-00053X-22 for barebox@lists.infradead.org; Tue, 28 Jul 2020 13:57:21 +0000 From: Christian Mauderer References: <20200715092656.27253-1-christian.mauderer@embedded-brains.de> Message-ID: <09d1bc99-aaa0-0b5b-5e98-e0bfbde8fb7b@embedded-brains.de> Date: Tue, 28 Jul 2020 15:57:14 +0200 MIME-Version: 1.0 In-Reply-To: <20200715092656.27253-1-christian.mauderer@embedded-brains.de> Content-Language: en-US List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "barebox" Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: Re: [PATCH v5] FIT: Parse `load` and `entry` addresses. To: barebox@lists.infradead.org Cc: a.fatoum@pengutronix.de SGVsbG8sCgphcmUgdGhlcmUgYW55IG90aGVyIGNoYW5nZXMgdG8gbWFrZSB0aGF0IHBhdGNoIGFj Y2VwdGFibGU/CgpCZXN0IHJlZ2FyZHMKCkNocmlzdGlhbiBNYXVkZXJlcgoKT24gMTUvMDcvMjAy MCAxMToyNiwgQ2hyaXN0aWFuIE1hdWRlcmVyIHdyb3RlOgo+IEFjY29yZGluZyB0byB0aGUgVS1C b290IGRvY3VtZW50YXRpb24gZm9yIHRoZSBGSVQgZmlsZSBmb3JtYXQsIHRoZSBsb2FkCj4gYW5k IGVudHJ5IGhhdmUgdG8gYmUgYWxsd2F5cyBkZWZpbmVkIGZvciBhICJrZXJuZWwiIG9yICJzdGFu ZGFsb25lIi4KPiBCdXQgQmFyZWJveCBpZ25vcmVkIHRoZSBwYXJhbWV0ZXJzLiBUaGF0IGNoYW5n ZXMgd2l0aCB0aGlzIHBhdGNoLgo+IAo+IEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHRoZSBk ZWZhdWx0IGFkZHJlc3MgaXMgc3RpbGwgdXNlZCBmb3IgaW1hZ2VzCj4gd2l0aG91dCBgbG9hZGAg b3IgYGVudHJ5YC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gTWF1ZGVyZXIgPGNocmlz dGlhbi5tYXVkZXJlckBlbWJlZGRlZC1icmFpbnMuZGU+Cj4gLS0tCj4gIGNvbW1vbi9ibHNwZWMu YyAgICAgfCAgMSArCj4gIGNvbW1vbi9ib290LmMgICAgICAgfCAgMSArCj4gIGNvbW1vbi9ib290 bS5jICAgICAgfCAyNCArKysrKysrKysrLQo+ICBjb21tb24vaW1hZ2UtZml0LmMgIHwgOTcgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCj4gIGluY2x1ZGUvaW1h Z2UtZml0LmggfCAgMyArKwo+ICA1IGZpbGVzIGNoYW5nZWQsIDExMCBpbnNlcnRpb25zKCspLCAx NiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvY29tbW9uL2Jsc3BlYy5jIGIvY29tbW9u L2Jsc3BlYy5jCj4gaW5kZXggN2ZiNjJkMzEwLi4wNTBhZWQyNmEgMTAwNjQ0Cj4gLS0tIGEvY29t bW9uL2Jsc3BlYy5jCj4gKysrIGIvY29tbW9uL2Jsc3BlYy5jCj4gQEAgLTE0Miw2ICsxNDIsNyBA QCBzdGF0aWMgaW50IGJsc3BlY19ib290KHN0cnVjdCBib290ZW50cnkgKmJlLCBpbnQgdmVyYm9z ZSwgaW50IGRyeXJ1bikKPiAgCWdsb2JhbHZhcl9zZXRfbWF0Y2goImJvb3RtLmluaXRyZCIsICIi KTsKPiAgCj4gIAlib290bV9kYXRhX2luaXRfZGVmYXVsdHMoJmRhdGEpOwo+ICsJZGF0YS5vc19l bnRyeSA9IDA7Cj4gIAo+ICAJZGV2aWNldHJlZSA9IGJsc3BlY19lbnRyeV92YXJfZ2V0KGVudHJ5 LCAiZGV2aWNldHJlZSIpOwo+ICAJaW5pdHJkID0gYmxzcGVjX2VudHJ5X3Zhcl9nZXQoZW50cnks ICJpbml0cmQiKTsKPiBkaWZmIC0tZ2l0IGEvY29tbW9uL2Jvb3QuYyBiL2NvbW1vbi9ib290LmMK PiBpbmRleCBkY2JlNWNjMmUuLjkzYWMxNjEyZCAxMDA2NDQKPiAtLS0gYS9jb21tb24vYm9vdC5j Cj4gKysrIGIvY29tbW9uL2Jvb3QuYwo+IEBAIC0xMDQsNiArMTA0LDcgQEAgc3RhdGljIGludCBi b290c2NyaXB0X2Jvb3Qoc3RydWN0IGJvb3RlbnRyeSAqZW50cnksIGludCB2ZXJib3NlLCBpbnQg ZHJ5cnVuKQo+ICAKPiAgCWJvb3RtX2RhdGFfaW5pdF9kZWZhdWx0cygmZGF0YSk7Cj4gIAo+ICsJ ZGF0YS5vc19lbnRyeSA9IDA7Cj4gIAlpZiAodmVyYm9zZSkKPiAgCQlkYXRhLnZlcmJvc2UgPSB2 ZXJib3NlOwo+ICAJaWYgKGRyeXJ1bikKPiBkaWZmIC0tZ2l0IGEvY29tbW9uL2Jvb3RtLmMgYi9j b21tb24vYm9vdG0uYwo+IGluZGV4IDM2NmYzMTQ1NS4uOGY4ZGJlNmNiIDEwMDY0NAo+IC0tLSBh L2NvbW1vbi9ib290bS5jCj4gKysrIGIvY29tbW9uL2Jvb3RtLmMKPiBAQCAtNTgsNiArNTgsNyBA QCB2b2lkIGJvb3RtX2RhdGFfaW5pdF9kZWZhdWx0cyhzdHJ1Y3QgYm9vdG1fZGF0YSAqZGF0YSkK PiAgewo+ICAJZGF0YS0+aW5pdHJkX2FkZHJlc3MgPSBVSU1BR0VfSU5WQUxJRF9BRERSRVNTOwo+ ICAJZGF0YS0+b3NfYWRkcmVzcyA9IFVJTUFHRV9TT01FX0FERFJFU1M7Cj4gKwlkYXRhLT5vc19l bnRyeSA9IFVJTUFHRV9TT01FX0FERFJFU1M7Cj4gIAlkYXRhLT5vZnRyZWVfZmlsZSA9IGdldGVu dl9ub25lbXB0eSgiZ2xvYmFsLmJvb3RtLm9mdHJlZSIpOwo+ICAJZGF0YS0+dGVlX2ZpbGUgPSBn ZXRlbnZfbm9uZW1wdHkoImdsb2JhbC5ib290bS50ZWUiKTsKPiAgCWRhdGEtPm9zX2ZpbGUgPSBn ZXRlbnZfbm9uZW1wdHkoImdsb2JhbC5ib290bS5pbWFnZSIpOwo+IEBAIC02MDEsNiArNjAyLDcg QEAgaW50IGJvb3RtX2Jvb3Qoc3RydWN0IGJvb3RtX2RhdGEgKmJvb3RtX2RhdGEpCj4gIAo+ICAJ aWYgKElTX0VOQUJMRUQoQ09ORklHX0ZJVElNQUdFKSAmJiBvc190eXBlID09IGZpbGV0eXBlX29m dHJlZSkgewo+ICAJCXN0cnVjdCBmaXRfaGFuZGxlICpmaXQ7Cj4gKwkJc3RhdGljIGNvbnN0IGNo YXIgKmtlcm5lbF9pbWcgPSAia2VybmVsIjsKPiAgCj4gIAkJZml0ID0gZml0X29wZW4oZGF0YS0+ b3NfZmlsZSwgZGF0YS0+dmVyYm9zZSwgZGF0YS0+dmVyaWZ5KTsKPiAgCQlpZiAoSVNfRVJSKGZp dCkpIHsKPiBAQCAtNjIxLDEwICs2MjMsMjggQEAgaW50IGJvb3RtX2Jvb3Qoc3RydWN0IGJvb3Rt X2RhdGEgKmJvb3RtX2RhdGEpCj4gIAkJCWdvdG8gZXJyX291dDsKPiAgCQl9Cj4gIAo+IC0JCXJl dCA9IGZpdF9vcGVuX2ltYWdlKGRhdGEtPm9zX2ZpdCwgZGF0YS0+Zml0X2NvbmZpZywgImtlcm5l bCIsCj4gKwkJcmV0ID0gZml0X29wZW5faW1hZ2UoZGF0YS0+b3NfZml0LCBkYXRhLT5maXRfY29u ZmlnLCBrZXJuZWxfaW1nLAo+ICAJCQkJICAgICAmZGF0YS0+Zml0X2tlcm5lbCwgJmRhdGEtPmZp dF9rZXJuZWxfc2l6ZSk7Cj4gIAkJaWYgKHJldCkKPiAgCQkJZ290byBlcnJfb3V0Owo+ICsJCWlm IChkYXRhLT5vc19hZGRyZXNzID09IFVJTUFHRV9TT01FX0FERFJFU1MpIHsKPiArCQkJcmV0ID0g Zml0X2dldF9pbWFnZV9hZGRyZXNzKGRhdGEtPm9zX2ZpdCwKPiArCQkJCQkJICAgIGRhdGEtPmZp dF9jb25maWcsCj4gKwkJCQkJCSAgICBrZXJuZWxfaW1nLAo+ICsJCQkJCQkgICAgImxvYWQiLCAm ZGF0YS0+b3NfYWRkcmVzcyk7Cj4gKwkJCWlmIChyZXQpCj4gKwkJCQlnb3RvIGVycl9vdXQ7Cj4g KwkJfQo+ICsJCWlmIChkYXRhLT5vc19lbnRyeSA9PSBVSU1BR0VfU09NRV9BRERSRVNTKSB7Cj4g KwkJCXVuc2lnbmVkIGxvbmcgZW50cnk7Cj4gKwkJCXJldCA9IGZpdF9nZXRfaW1hZ2VfYWRkcmVz cyhkYXRhLT5vc19maXQsCj4gKwkJCQkJCSAgICBkYXRhLT5maXRfY29uZmlnLAo+ICsJCQkJCQkg ICAga2VybmVsX2ltZywKPiArCQkJCQkJICAgICJlbnRyeSIsICZlbnRyeSk7Cj4gKwkJCWlmICgh cmV0KQo+ICsJCQkJZGF0YS0+b3NfZW50cnkgPSBlbnRyeSAtIGRhdGEtPm9zX2FkZHJlc3M7Cj4g KwkJCQkvKiBOb3RlOiBFcnJvciBjYXNlIHVzZWQgZGVmYXVsdCB2YWx1ZS4gKi8KPiArCQl9Cj4g IAl9Cj4gIAo+ICAJaWYgKG9zX3R5cGUgPT0gZmlsZXR5cGVfdWltYWdlKSB7Cj4gQEAgLTY3Miw2 ICs2OTIsOCBAQCBpbnQgYm9vdG1fYm9vdChzdHJ1Y3QgYm9vdG1fZGF0YSAqYm9vdG1fZGF0YSkK PiAgCj4gIAlpZiAoZGF0YS0+b3NfYWRkcmVzcyA9PSBVSU1BR0VfU09NRV9BRERSRVNTKQo+ICAJ CWRhdGEtPm9zX2FkZHJlc3MgPSBVSU1BR0VfSU5WQUxJRF9BRERSRVNTOwo+ICsJaWYgKGRhdGEt Pm9zX2VudHJ5ID09IFVJTUFHRV9TT01FX0FERFJFU1MpCj4gKwkJZGF0YS0+b3NfZW50cnkgPSAw Owo+ICAKPiAgCWhhbmRsZXIgPSBib290bV9maW5kX2hhbmRsZXIob3NfdHlwZSwgZGF0YSk7Cj4g IAlpZiAoIWhhbmRsZXIpIHsKPiBkaWZmIC0tZ2l0IGEvY29tbW9uL2ltYWdlLWZpdC5jIGIvY29t bW9uL2ltYWdlLWZpdC5jCj4gaW5kZXggMjY4MWQ2MmE5Li42MWFhMjk5YjEgMTAwNjQ0Cj4gLS0t IGEvY29tbW9uL2ltYWdlLWZpdC5jCj4gKysrIGIvY29tbW9uL2ltYWdlLWZpdC5jCj4gQEAgLTUx Nyw2ICs1MTcsODMgQEAgaW50IGZpdF9oYXNfaW1hZ2Uoc3RydWN0IGZpdF9oYW5kbGUgKmhhbmRs ZSwgdm9pZCAqY29uZmlndXJhdGlvbiwKPiAgCXJldHVybiAxOwo+ICB9Cj4gIAo+ICtzdGF0aWMg aW50IGZpdF9nZXRfYWRkcmVzcyhzdHJ1Y3QgZGV2aWNlX25vZGUgKmltYWdlLCBjb25zdCBjaGFy ICpwcm9wZXJ0eSwKPiArCQkJICAgdW5zaWduZWQgbG9uZyAqYWRkcikKPiArewo+ICsJY29uc3Qg X19iZTMyICpjZWxsOwo+ICsJaW50IGxlbiA9IDA7Cj4gKwo+ICsJY2VsbCA9IG9mX2dldF9wcm9w ZXJ0eShpbWFnZSwgcHJvcGVydHksICZsZW4pOwo+ICsJaWYgKCFjZWxsKQo+ICsJCXJldHVybiAt RUlOVkFMOwo+ICsJaWYgKGxlbiA+IHNpemVvZigqYWRkcikpCj4gKwkJcmV0dXJuIC1FTk9UU1VQ UDsKPiArCj4gKwkqYWRkciA9ICh1bnNpZ25lZCBsb25nKW9mX3JlYWRfbnVtYmVyKGNlbGwsIGxl biAvIHNpemVvZigqY2VsbCkpOwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQK PiArZml0X2dldF9pbWFnZShzdHJ1Y3QgZml0X2hhbmRsZSAqaGFuZGxlLCB2b2lkICpjb25maWd1 cmF0aW9uLAo+ICsJICAgICAgY29uc3QgY2hhciAqKnVuaXQsIHN0cnVjdCBkZXZpY2Vfbm9kZSAq KmltYWdlKQo+ICt7Cj4gKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKmNvbmZfbm9kZSA9IGNvbmZpZ3Vy YXRpb247Cj4gKwo+ICsJaWYgKGNvbmZfbm9kZSkgewo+ICsJCWlmIChvZl9wcm9wZXJ0eV9yZWFk X3N0cmluZyhjb25mX25vZGUsICp1bml0LCB1bml0KSkgewo+ICsJCQlwcl9lcnIoIk5vIGltYWdl IG5hbWVkICclcydcbiIsICp1bml0KTsKPiArCQkJcmV0dXJuIC1FTk9FTlQ7Cj4gKwkJfQo+ICsJ fQo+ICsKPiArCSppbWFnZSA9IG9mX2dldF9jaGlsZF9ieV9uYW1lKGhhbmRsZS0+aW1hZ2VzLCAq dW5pdCk7Cj4gKwlpZiAoISppbWFnZSkKPiArCQlyZXR1cm4gLUVOT0VOVDsKPiArCj4gKwlyZXR1 cm4gMDsKPiArfQo+ICsKPiArLyoqCj4gKyAqIGZpdF9nZXRfaW1hZ2VfYWRkcmVzcyAtIEdldCBh biBhZGRyZXNzIGZyb20gYW4gaW1hZ2UgaW4gYSBGSVQgaW1hZ2UKPiArICogQGhhbmRsZTogVGhl IEZJVCBpbWFnZSBoYW5kbGUKPiArICogQG5hbWU6IFRoZSBuYW1lIG9mIHRoZSBpbWFnZSB0byBv cGVuCj4gKyAqIEBwcm9wZXJ0eTogVGhlIG5hbWUgb2YgdGhlIGFkZHJlc3MgdG8gZ2V0IChmb3Ig ZXhhbXBsZSAibG9hZCIgb3IgImVudHJ5IikKPiArICogQGFkZHJlc3M6IFRoZSBhZGRyZXNzIGdp dmVuIGJ5IHRoZSBpbWFnZQo+ICsgKgo+ICsgKiBUcnkgdG8gcGFyc2UgdGhlIEBwcm9wZXJ0eSBp biB0aGUgaW1hZ2UgQG5hbWUgYXMgYW4gYWRkcmVzcy4gQGNvbmZpZ3VyYXRpb24KPiArICogaG9s ZHMgdGhlIGNvb2tpZSByZXR1cm5lZCBmcm9tIGZpdF9vcGVuX2NvbmZpZ3VyYXRpb24oKSBpZiB0 aGUgaW1hZ2UgaXMKPiArICogb3BlbmVkIGFzIHBhcnQgb2YgYSBjb25maWd1cmF0aW9uLCBvciBO VUxMIGlmIHRoZSBpbWFnZSBpcyBvcGVuZWQgd2l0aG91dCBhCj4gKyAqIGNvbmZpZ3VyYXRpb24u IElmIGl0IGV4aXN0cyB0aGUgdmFsdWUgd2lsbCBiZSByZXR1cm5lZCBpbiBAYWRkcmVzcy4gT3Ro ZXJ3aXNlCj4gKyAqIEBhZGRyZXNzIHdvbid0IGJlIGNoYW5nZWQuCj4gKyAqCj4gKyAqIFJldHVy bjogMCBmb3Igc3VjY2VzcywgbmVnYXRpdmUgZXJyb3IgY29kZSBvdGhlcndpc2UKPiArICovCj4g K2ludCBmaXRfZ2V0X2ltYWdlX2FkZHJlc3Moc3RydWN0IGZpdF9oYW5kbGUgKmhhbmRsZSwgdm9p ZCAqY29uZmlndXJhdGlvbiwKPiArCQkJICBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpw cm9wZXJ0eSwKPiArCQkJICB1bnNpZ25lZCBsb25nICphZGRyZXNzKQo+ICt7Cj4gKwlzdHJ1Y3Qg ZGV2aWNlX25vZGUgKmltYWdlOwo+ICsJY29uc3QgY2hhciAqdW5pdCA9IG5hbWU7Cj4gKwlpbnQg cmV0Owo+ICsKPiArCWlmICghYWRkcmVzcyB8fCAhcHJvcGVydHkgfHwgIW5hbWUpCj4gKwkJcmV0 dXJuIC1FSU5WQUw7Cj4gKwo+ICsJcmV0ID0gZml0X2dldF9pbWFnZShoYW5kbGUsIGNvbmZpZ3Vy YXRpb24sICZ1bml0LCAmaW1hZ2UpOwo+ICsJaWYgKHJldCkKPiArCQlyZXR1cm4gcmV0Owo+ICsK PiArCXByX2luZm8oIiVzLyVzOiAiLCBpbWFnZS0+ZnVsbF9uYW1lLCBwcm9wZXJ0eSk7Cj4gKwo+ ICsJcmV0ID0gZml0X2dldF9hZGRyZXNzKGltYWdlLCBwcm9wZXJ0eSwgYWRkcmVzcyk7Cj4gKwlp ZiAocmV0IDwgMCkKPiArCQlwcl9jb250KCI8bm90IGZvdW5kPlxuIik7Cj4gKwllbHNlCj4gKwkJ cHJfY29udCgiMHglbHhcbiIsICphZGRyZXNzKTsKPiArCj4gKwlyZXR1cm4gcmV0Owo+ICt9Cj4g Kwo+ICAvKioKPiAgICogZml0X29wZW5faW1hZ2UgLSBPcGVuIGFuIGltYWdlIGluIGEgRklUIGlt YWdlCj4gICAqIEBoYW5kbGU6IFRoZSBGSVQgaW1hZ2UgaGFuZGxlCj4gQEAgLTUzOSwyNCArNjE2 LDE0IEBAIGludCBmaXRfb3Blbl9pbWFnZShzdHJ1Y3QgZml0X2hhbmRsZSAqaGFuZGxlLCB2b2lk ICpjb25maWd1cmF0aW9uLAo+ICAJCSAgIHVuc2lnbmVkIGxvbmcgKm91dHNpemUpCj4gIHsKPiAg CXN0cnVjdCBkZXZpY2Vfbm9kZSAqaW1hZ2U7Cj4gLQljb25zdCBjaGFyICp1bml0LCAqdHlwZSA9 IE5VTEwsICpkZXNjPSAiKG5vIGRlc2NyaXB0aW9uKSI7Cj4gKwljb25zdCBjaGFyICp1bml0ID0g bmFtZSwgKnR5cGUgPSBOVUxMLCAqZGVzYz0gIihubyBkZXNjcmlwdGlvbikiOwo+ICAJY29uc3Qg dm9pZCAqZGF0YTsKPiAgCWludCBkYXRhX2xlbjsKPiAgCWludCByZXQgPSAwOwo+IC0Jc3RydWN0 IGRldmljZV9ub2RlICpjb25mX25vZGUgPSBjb25maWd1cmF0aW9uOwo+ICAKPiAtCWlmIChjb25m X25vZGUpIHsKPiAtCQlpZiAob2ZfcHJvcGVydHlfcmVhZF9zdHJpbmcoY29uZl9ub2RlLCBuYW1l LCAmdW5pdCkpIHsKPiAtCQkJcHJfZXJyKCJObyBpbWFnZSBuYW1lZCAnJXMnXG4iLCBuYW1lKTsK PiAtCQkJcmV0dXJuIC1FTk9FTlQ7Cj4gLQkJfQo+IC0JfSBlbHNlIHsKPiAtCQl1bml0ID0gbmFt ZTsKPiAtCX0KPiAtCj4gLQlpbWFnZSA9IG9mX2dldF9jaGlsZF9ieV9uYW1lKGhhbmRsZS0+aW1h Z2VzLCB1bml0KTsKPiAtCWlmICghaW1hZ2UpCj4gLQkJcmV0dXJuIC1FTk9FTlQ7Cj4gKwlyZXQg PSBmaXRfZ2V0X2ltYWdlKGhhbmRsZSwgY29uZmlndXJhdGlvbiwgJnVuaXQsICZpbWFnZSk7Cj4g KwlpZiAocmV0KQo+ICsJCXJldHVybiByZXQ7Cj4gIAo+ICAJb2ZfcHJvcGVydHlfcmVhZF9zdHJp bmcoaW1hZ2UsICJkZXNjcmlwdGlvbiIsICZkZXNjKTsKPiAgCXByX2luZm8oImltYWdlICclcyc6 ICclcydcbiIsIHVuaXQsIGRlc2MpOwo+IEBAIC01NzMsNyArNjQwLDcgQEAgaW50IGZpdF9vcGVu X2ltYWdlKHN0cnVjdCBmaXRfaGFuZGxlICpoYW5kbGUsIHZvaWQgKmNvbmZpZ3VyYXRpb24sCj4g IAkJcmV0dXJuIC1FSU5WQUw7Cj4gIAl9Cj4gIAo+IC0JaWYgKGNvbmZfbm9kZSkKPiArCWlmIChj b25maWd1cmF0aW9uKQo+ICAJCXJldCA9IGZpdF92ZXJpZnlfaGFzaChoYW5kbGUsIGltYWdlLCBk YXRhLCBkYXRhX2xlbik7Cj4gIAllbHNlCj4gIAkJcmV0ID0gZml0X2ltYWdlX3ZlcmlmeV9zaWdu YXR1cmUoaGFuZGxlLCBpbWFnZSwgZGF0YSwgZGF0YV9sZW4pOwo+IGRpZmYgLS1naXQgYS9pbmNs dWRlL2ltYWdlLWZpdC5oIGIvaW5jbHVkZS9pbWFnZS1maXQuaAo+IGluZGV4IDI3YzllODM1MS4u ZjIxNTQ1OTg4IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvaW1hZ2UtZml0LmgKPiArKysgYi9pbmNs dWRlL2ltYWdlLWZpdC5oCj4gQEAgLTMyLDYgKzMyLDkgQEAgaW50IGZpdF9oYXNfaW1hZ2Uoc3Ry dWN0IGZpdF9oYW5kbGUgKmhhbmRsZSwgdm9pZCAqY29uZmlndXJhdGlvbiwKPiAgaW50IGZpdF9v cGVuX2ltYWdlKHN0cnVjdCBmaXRfaGFuZGxlICpoYW5kbGUsIHZvaWQgKmNvbmZpZ3VyYXRpb24s Cj4gIAkJICAgY29uc3QgY2hhciAqbmFtZSwgY29uc3Qgdm9pZCAqKm91dGRhdGEsCj4gIAkJICAg dW5zaWduZWQgbG9uZyAqb3V0c2l6ZSk7Cj4gK2ludCBmaXRfZ2V0X2ltYWdlX2FkZHJlc3Moc3Ry dWN0IGZpdF9oYW5kbGUgKmhhbmRsZSwgdm9pZCAqY29uZmlndXJhdGlvbiwKPiArCQkJICBjb25z dCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpwcm9wZXJ0eSwKPiArCQkJICB1bnNpZ25lZCBsb25n ICphZGRyZXNzKTsKPiAgCj4gIHZvaWQgZml0X2Nsb3NlKHN0cnVjdCBmaXRfaGFuZGxlICpoYW5k bGUpOwo+ICAKPiAKCi0tIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQplbWJlZGRlZCBicmFpbnMgR21iSApIZXJyIENocmlzdGlhbiBNYXVkZXJlcgpEb3JuaWVy c3RyLiA0CkQtODIxNzggUHVjaGhlaW0KR2VybWFueQplbWFpbDogY2hyaXN0aWFuLm1hdWRlcmVy QGVtYmVkZGVkLWJyYWlucy5kZQpQaG9uZTogKzQ5LTg5LTE4IDk0IDc0MSAtIDE4CkZheDogICAr NDktODktMTggOTQgNzQxIC0gMDgKUEdQOiBQdWJsaWMga2V5IGF2YWlsYWJsZSBvbiByZXF1ZXN0 LgoKRGllc2UgTmFjaHJpY2h0IGlzdCBrZWluZSBnZXNjaMOkZnRsaWNoZSBNaXR0ZWlsdW5nIGlt IFNpbm5lIGRlcyBFSFVHLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KYmFyZWJveCBtYWlsaW5nIGxpc3QKYmFyZWJveEBsaXN0cy5pbmZyYWRlYWQub3Jn Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vYmFyZWJveAo=