From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] backlight: Avoid double fbcon backlight handling Date: Thu, 04 Aug 2016 12:02:23 +0300 Message-ID: <87a8gsq540.fsf@intel.com> References: <1467286256-8870-1-git-send-email-chris@chris-wilson.co.uk> <20160712122119.GR23520@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20160712122119.GR23520@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter , Chris Wilson Cc: Milo Kim , Krzysztof Kozlowski , David Airlie , nouveau@lists.freedesktop.org, Jon Nettleton , Nicolas Ferre , linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org, Thierry Reding , Paul Mackerras , Laurent Pinchart , Daniel Vetter , Lee Jones , Daniel Drake , Jens Frederich , linux-acpi@vger.kernel.org, Bruno =?utf-8?Q?Pr=C3=A9mont?= , Tomi Valkeinen , Ben Skeggs , Zhang Rui , Jean-Christophe Plagniol-Villard , Michael Hennerich , intel-gfx@lists.fre List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAxMiBKdWwgMjAxNiwgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPiB3cm90 ZToKPiBPbiBUaHUsIEp1biAzMCwgMjAxNiBhdCAxMjozMDo1NlBNICswMTAwLCBDaHJpcyBXaWxz b24gd3JvdGU6Cj4+IEJhY2tsaWdodHMgY29udHJvbGxlZCBieSBpOTE1LmtvIGFuZCBvbmx5IGFz c29jaWF0ZWQgd2l0aCBpdHMgY29ubmVjdG9ycwo+PiBhbmQgYWxzbyBvbmx5IGFzc29jaWF0ZWQg d2l0aCB0aGUgaW50ZWxfZHJtZmIgZmJjb24sIGNvbnRyb2xsZWQgYnkKPj4gaTkxNS5rby4gSW4g dGhpcyBzaXR1YXRpb24sIHdlIGFscmVhZHkgaGFuZGxlIGFkanVzdGluZyB0aGUgYmFja2xpZ2h0 Cj4+IHdoZW4gdGhlIGZiY29uIGlzIGJsYW5rZWQvdW5ibGFua2VkIGFuZCBkbyBub3QgcmVxdWly ZSBiYWNrbGlnaHQgdHJ5aW5nCj4+IHRvIGRvIHRoZSBzYW1lLgo+PiAKPj4gQXR0ZW1wdGluZyB0 byByZWdpc3RlciB3aXRoIHRoZSBmYmRldiBhcyBhIGNsaWVudCBjYXVzZXMgbG9ja2RlcCB0byB3 YXJuCj4+IGFib3V0IGEgZGVwZW5kZW5jeSBjeWNsZToKPgo+IFRoZSBmYmRldiBub3RpZmllciBz dHJpa2VzIGFnYWluIQo+Cj4gTGFzdCB0aW1lIEkgbG9va2VkIGludG8gdGhpcyBJIHRoaW5rIHRo ZSBwcm9wZXIgc29sdXRpb24gd291bGQgYmUgdG8gc3BsaXQKPiB0aGUgYmFja2xpZ2h0IHBhcnQg ZnJvbSB0aGUgb3RoZXIgZmJkZXYgbm90aWZpZXIgKHdoaWNoIGlzIHVzZWQgYnkgZmJjb24KPiBm b3IgcmVhY3RpbmcgdG8gZmJkZXYgZGV2aWNlIHJlZy91bnJlZyBldmVudHMpLgo+Cj4gSSB0aGlu ayB0aGF0IHdvdWxkIGZpeCB0aGlzIHRvbywgd2l0aCB0aGUgYWRkZWQgYm9udXMgb2Ygc2xpZ2h0 bHkKPiB1bnRhbmdsaW5nIHRoZSBmYmNvbiBsb2NraW5nIG1lc3MuIEFuZCBpdCdzIGFsc28gdGhl IG9uZSBwYXJ0IG9mCj4gdW50YW5nbGluZyB0aGlzIG1lc3Mgd2hpY2ggc2hvdWxkIGJlIHBvc3Np YmxlIHdpdGhvdXQgYW55IHRyb3VibGUgLSBJJ3ZlCj4gc2ltcGx5IG5ldmVyIGRvbmUgaXQgc2lu Y2UgZW50aXJlbHkgZ2V0dGluZyByaWQgb2YgdGhlIGZiZGV2IG5vdGlmaWVyIGZvcgo+IGZiY29u IGlzIGEgbG90IG1vcmUgd29yay4KClNvIHdoYXQgZG8gd2UgZG8gd2l0aCB0aGlzPyBJdCBmaXhl cyBhIHByb2JsZW0gdXBzdHJlYW0uIFRoZXJlJ3Mgbm8KRml4ZXM6IHRvIGlkZW50aWZ5IHRoZSBi YWQgY29tbWl0LiBBbnkgaWRlYSBvbiB0aGF0PyBJdCdzIGVpdGhlciB0aGlzIG9yCndlIGRpZyBv dXQgdGhlIGJhZCBjb21taXQgKENocmlzIHByb2JhYmx5IGtub3dzIHdoaWNoIG9uZT8pIGFuZCBy ZXZlcnQuCgpCUiwKSmFuaS4KCgo+IC1EYW5pZWwKPgo+PiAKPj4gWyAgIDE4Ljk4Mzc2M10gPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4+IFsg ICAxOC45ODM3NjNdIFsgSU5GTzogcG9zc2libGUgY2lyY3VsYXIgbG9ja2luZyBkZXBlbmRlbmN5 IGRldGVjdGVkIF0KPj4gWyAgIDE4Ljk4Mzc2Nl0gNC43LjAtcmM1KyAjNTI0IFRhaW50ZWQ6IEcg ICAgICAgICAgIE8KPj4gWyAgIDE4Ljk4Mzc2N10gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiBbICAgMTguOTgzNzY3XSBrd29ya2VyL3U4 OjAvNiBpcyB0cnlpbmcgdG8gYWNxdWlyZSBsb2NrOgo+PiBbICAgMTguOTgzNzc3XSAgKCZkZXYt Pm1vZGVfY29uZmlnLm11dGV4KXsrLisuKy59LCBhdDogWzxmZmZmZmZmZjgxNWFmZGUwPl0gZHJt X21vZGVzZXRfbG9ja19hbGwrMHg0MC8weDEyMAo+PiBbICAgMTguOTgzNzc3XQo+PiAgICAgICAg ICAgICAgICBidXQgdGFzayBpcyBhbHJlYWR5IGhvbGRpbmcgbG9jazoKPj4gWyAgIDE4Ljk4Mzc4 Ml0gICgoZmJfbm90aWZpZXJfbGlzdCkucndzZW0peysrKysuK30sIGF0OiBbPGZmZmZmZmZmODEw YWMxOTU+XSBfX2Jsb2NraW5nX25vdGlmaWVyX2NhbGxfY2hhaW4rMHgzNS8weDcwCj4+IFsgICAx OC45ODM3ODNdCj4+ICAgICAgICAgICAgICAgIHdoaWNoIGxvY2sgYWxyZWFkeSBkZXBlbmRzIG9u IHRoZSBuZXcgbG9jay4KPj4gCj4+IFsgICAxOC45ODM3ODNdCj4+ICAgICAgICAgICAgICAgIHRo ZSBleGlzdGluZyBkZXBlbmRlbmN5IGNoYWluIChpbiByZXZlcnNlIG9yZGVyKSBpczoKPj4gWyAg IDE4Ljk4Mzc4NV0KPj4gICAgICAgICAgICAgICAgLT4gIzEgKChmYl9ub3RpZmllcl9saXN0KS5y d3NlbSl7KysrKy4rfToKPj4gWyAgIDE4Ljk4Mzc4OV0gICAgICAgIFs8ZmZmZmZmZmY4MTBkZjYx MT5dIGxvY2tfYWNxdWlyZSsweGIxLzB4MjAwCj4+IFsgICAxOC45ODM3OTJdICAgICAgICBbPGZm ZmZmZmZmODE5YTU1YjQ+XSBkb3duX3dyaXRlKzB4NDQvMHg4MAo+PiBbICAgMTguOTgzNzk1XSAg ICAgICAgWzxmZmZmZmZmZjgxMGFiZjkxPl0gYmxvY2tpbmdfbm90aWZpZXJfY2hhaW5fcmVnaXN0 ZXIrMHgyMS8weGIwCj4+IFsgICAxOC45ODM3OThdICAgICAgICBbPGZmZmZmZmZmODE0Yzc0NDg+ XSBmYl9yZWdpc3Rlcl9jbGllbnQrMHgxOC8weDIwCj4+IFsgICAxOC45ODM4MDBdICAgICAgICBb PGZmZmZmZmZmODE0YzZjODY+XSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKzB4MTM2LzB4MjYw Cj4+IFsgICAxOC45ODM4NTJdICAgICAgICBbPGZmZmZmZmZmYTAxMjdlYjI+XSBpbnRlbF9iYWNr bGlnaHRfZGV2aWNlX3JlZ2lzdGVyKzB4YTIvMHgxNjAgW2k5MTVdCj4+IFsgICAxOC45ODM4OTJd ICAgICAgICBbPGZmZmZmZmZmYTAwZjQ2YmU+XSBpbnRlbF9jb25uZWN0b3JfcmVnaXN0ZXIrMHhl LzB4MTAgW2k5MTVdCj4+IFsgICAxOC45ODM5MzJdICAgICAgICBbPGZmZmZmZmZmYTAxMTJiZmI+ XSBpbnRlbF9kcF9jb25uZWN0b3JfcmVnaXN0ZXIrMHgxYi8weDgwIFtpOTE1XQo+PiBbICAgMTgu OTgzOTM2XSAgICAgICAgWzxmZmZmZmZmZjgxNTlkZmVhPl0gZHJtX2Nvbm5lY3Rvcl9yZWdpc3Rl cisweDRhLzB4ODAKPj4gWyAgIDE4Ljk4MzkzOF0gICAgICAgIFs8ZmZmZmZmZmY4MTU5ZmU0ND5d IGRybV9jb25uZWN0b3JfcmVnaXN0ZXJfYWxsKzB4NjQvMHhmMAo+PiBbICAgMTguOTgzOTQwXSAg ICAgICAgWzxmZmZmZmZmZjgxNWEyYTY0Pl0gZHJtX21vZGVzZXRfcmVnaXN0ZXJfYWxsKzB4MTc0 LzB4MWMwCj4+IFsgICAxOC45ODM5NDJdICAgICAgICBbPGZmZmZmZmZmODE1OTliNzI+XSBkcm1f ZGV2X3JlZ2lzdGVyKzB4YzIvMHhkMAo+PiBbICAgMTguOTgzOTc2XSAgICAgICAgWzxmZmZmZmZm ZmEwMDYyMWQ3Pl0gaTkxNV9kcml2ZXJfbG9hZCsweDE1NDcvMHgyMjAwIFtpOTE1XQo+PiBbICAg MTguOTg0MDEwXSAgICAgICAgWzxmZmZmZmZmZmEwMDZkODBmPl0gaTkxNV9wY2lfcHJvYmUrMHg0 Zi8weDcwIFtpOTE1XQo+PiBbICAgMTguOTg0MDE0XSAgICAgICAgWzxmZmZmZmZmZjgxNGEyMTM1 Pl0gbG9jYWxfcGNpX3Byb2JlKzB4NDUvMHhhMAo+PiBbICAgMTguOTg0MDE1XSAgICAgICAgWzxm ZmZmZmZmZjgxNGEzNDliPl0gcGNpX2RldmljZV9wcm9iZSsweGRiLzB4MTMwCj4+IFsgICAxOC45 ODQwMThdICAgICAgICBbPGZmZmZmZmZmODE1YzA3ZTM+XSBkcml2ZXJfcHJvYmVfZGV2aWNlKzB4 MjIzLzB4NDQwCj4+IFsgICAxOC45ODQwMjBdICAgICAgICBbPGZmZmZmZmZmODE1YzBhZDU+XSBf X2RyaXZlcl9hdHRhY2grMHhkNS8weDEwMAo+PiBbICAgMTguOTg0MDIyXSAgICAgICAgWzxmZmZm ZmZmZjgxNWJlMzg2Pl0gYnVzX2Zvcl9lYWNoX2RldisweDY2LzB4YTAKPj4gWyAgIDE4Ljk4NDAy M10gICAgICAgIFs8ZmZmZmZmZmY4MTVjMDAyZT5dIGRyaXZlcl9hdHRhY2grMHgxZS8weDIwCj4+ IFsgICAxOC45ODQwMjVdICAgICAgICBbPGZmZmZmZmZmODE1YmY5YmU+XSBidXNfYWRkX2RyaXZl cisweDFlZS8weDI4MAo+PiBbICAgMTguOTg0MDI4XSAgICAgICAgWzxmZmZmZmZmZjgxNWMxODEw Pl0gZHJpdmVyX3JlZ2lzdGVyKzB4NjAvMHhlMAo+PiBbICAgMTguOTg0MDMwXSAgICAgICAgWzxm ZmZmZmZmZjgxNGExYTEwPl0gX19wY2lfcmVnaXN0ZXJfZHJpdmVyKzB4NjAvMHg3MAo+PiBbICAg MTguOTg0MDYzXSAgICAgICAgWzxmZmZmZmZmZmEwMWE5MDViPl0gaTkxNV9pbml0KzB4NWIvMHg2 MiBbaTkxNV0KPj4gWyAgIDE4Ljk4NDA2N10gICAgICAgIFs8ZmZmZmZmZmY4MTAwMDQyZD5dIGRv X29uZV9pbml0Y2FsbCsweDNkLzB4MTUwCj4+IFsgICAxOC45ODQwNzBdICAgICAgICBbPGZmZmZm ZmZmODExYTkzNWI+XSBkb19pbml0X21vZHVsZSsweDVmLzB4MWQ5Cj4+IFsgICAxOC45ODQwNzNd ICAgICAgICBbPGZmZmZmZmZmODExMjQ0MTY+XSBsb2FkX21vZHVsZSsweDIwZTYvMHgyN2UwCj4+ IFsgICAxOC45ODQwNzVdICAgICAgICBbPGZmZmZmZmZmODExMjRkNjM+XSBTWVNDX2Zpbml0X21v ZHVsZSsweGMzLzB4ZjAKPj4gWyAgIDE4Ljk4NDA3Nl0gICAgICAgIFs8ZmZmZmZmZmY4MTEyNGRh ZT5dIFN5U19maW5pdF9tb2R1bGUrMHhlLzB4MTAKPj4gWyAgIDE4Ljk4NDA3OV0gICAgICAgIFs8 ZmZmZmZmZmY4MTlhODNhOT5dIGVudHJ5X1NZU0NBTExfNjRfZmFzdHBhdGgrMHgxYy8weGFjCj4+ IFsgICAxOC45ODQwODFdCj4+ICAgICAgICAgICAgICAgIC0+ICMwICgmZGV2LT5tb2RlX2NvbmZp Zy5tdXRleCl7Ky4rLisufToKPj4gWyAgIDE4Ljk4NDA4M10gICAgICAgIFs8ZmZmZmZmZmY4MTBk ZjBhYz5dIF9fbG9ja19hY3F1aXJlKzB4MTBmYy8weDEyNjAKPj4gWyAgIDE4Ljk4NDA4NV0gICAg ICAgIFs8ZmZmZmZmZmY4MTBkZjYxMT5dIGxvY2tfYWNxdWlyZSsweGIxLzB4MjAwCj4+IFsgICAx OC45ODQwODhdICAgICAgICBbPGZmZmZmZmZmODE5YTMwOTc+XSBtdXRleF9sb2NrX25lc3RlZCsw eDY3LzB4M2MwCj4+IFsgICAxOC45ODQwOTBdICAgICAgICBbPGZmZmZmZmZmODE1YWZkZTA+XSBk cm1fbW9kZXNldF9sb2NrX2FsbCsweDQwLzB4MTIwCj4+IFsgICAxOC45ODQwOTNdICAgICAgICBb PGZmZmZmZmZmODE1OGY3OWI+XSBkcm1fZmJfaGVscGVyX3Jlc3RvcmVfZmJkZXZfbW9kZV91bmxv Y2tlZCsweDJiLzB4ODAKPj4gWyAgIDE4Ljk4NDA5NV0gICAgICAgIFs8ZmZmZmZmZmY4MTU4Zjgx ZD5dIGRybV9mYl9oZWxwZXJfc2V0X3BhcisweDJkLzB4NTAKPj4gWyAgIDE4Ljk4NDEzNF0gICAg ICAgIFs8ZmZmZmZmZmZhMDEwNWY3YT5dIGludGVsX2ZiZGV2X3NldF9wYXIrMHgxYS8weDYwIFtp OTE1XQo+PiBbICAgMTguOTg0MTM2XSAgICAgICAgWzxmZmZmZmZmZjgxNGMxM2M2Pl0gZmJjb25f aW5pdCsweDU4Ni8weDYxMAo+PiBbICAgMTguOTg0MTM5XSAgICAgICAgWzxmZmZmZmZmZjgxNTRk MTZhPl0gdmlzdWFsX2luaXQrMHhjYS8weDEzMAo+PiBbICAgMTguOTg0MTQxXSAgICAgICAgWzxm ZmZmZmZmZjgxNTRlNjExPl0gZG9fYmluZF9jb25fZHJpdmVyKzB4MWMxLzB4M2EwCj4+IFsgICAx OC45ODQxNDNdICAgICAgICBbPGZmZmZmZmZmODE1NGVhZjY+XSBkb190YWtlX292ZXJfY29uc29s ZSsweDExNi8weDE4MAo+PiBbICAgMTguOTg0MTQ1XSAgICAgICAgWzxmZmZmZmZmZjgxNGJkM2E3 Pl0gZG9fZmJjb25fdGFrZW92ZXIrMHg1Ny8weGIwCj4+IFsgICAxOC45ODQxNDddICAgICAgICBb PGZmZmZmZmZmODE0YzFlNDg+XSBmYmNvbl9ldmVudF9ub3RpZnkrMHg2NTgvMHg3NTAKPj4gWyAg IDE4Ljk4NDE1MF0gICAgICAgIFs8ZmZmZmZmZmY4MTBhYmNhZT5dIG5vdGlmaWVyX2NhbGxfY2hh aW4rMHgzZS8weGIwCj4+IFsgICAxOC45ODQxNTJdICAgICAgICBbPGZmZmZmZmZmODEwYWMxYWQ+ XSBfX2Jsb2NraW5nX25vdGlmaWVyX2NhbGxfY2hhaW4rMHg0ZC8weDcwCj4+IFsgICAxOC45ODQx NTRdICAgICAgICBbPGZmZmZmZmZmODEwYWMxZTY+XSBibG9ja2luZ19ub3RpZmllcl9jYWxsX2No YWluKzB4MTYvMHgyMAo+PiBbICAgMTguOTg0MTU2XSAgICAgICAgWzxmZmZmZmZmZjgxNGM3NDhi Pl0gZmJfbm90aWZpZXJfY2FsbF9jaGFpbisweDFiLzB4MjAKPj4gWyAgIDE4Ljk4NDE1OF0gICAg ICAgIFs8ZmZmZmZmZmY4MTRjODZiMT5dIHJlZ2lzdGVyX2ZyYW1lYnVmZmVyKzB4MjUxLzB4MzMw Cj4+IFsgICAxOC45ODQxNjBdICAgICAgICBbPGZmZmZmZmZmODE1OGZhOWY+XSBkcm1fZmJfaGVs cGVyX2luaXRpYWxfY29uZmlnKzB4MjVmLzB4M2YwCj4+IFsgICAxOC45ODQxOTldICAgICAgICBb PGZmZmZmZmZmYTAxMDZiNDg+XSBpbnRlbF9mYmRldl9pbml0aWFsX2NvbmZpZysweDE4LzB4MzAg W2k5MTVdCj4+IFsgICAxOC45ODQyMDFdICAgICAgICBbPGZmZmZmZmZmODEwYWRmZDg+XSBhc3lu Y19ydW5fZW50cnlfZm4rMHg0OC8weDE1MAo+PiBbICAgMTguOTg0MjAzXSAgICAgICAgWzxmZmZm ZmZmZjgxMGEzOTQ3Pl0gcHJvY2Vzc19vbmVfd29yaysweDFlNy8weDc1MAo+PiBbICAgMTguOTg0 MjA1XSAgICAgICAgWzxmZmZmZmZmZjgxMGEzZWZiPl0gd29ya2VyX3RocmVhZCsweDRiLzB4NGYw Cj4+IFsgICAxOC45ODQyMDddICAgICAgICBbPGZmZmZmZmZmODEwYWFkNGY+XSBrdGhyZWFkKzB4 ZWYvMHgxMTAKPj4gWyAgIDE4Ljk4NDIwOF0gICAgICAgIFs8ZmZmZmZmZmY4MTlhODVlZj5dIHJl dF9mcm9tX2ZvcmsrMHgxZi8weDQwCj4+IFsgICAxOC45ODQyMDldCj4+ICAgICAgICAgICAgICAg IG90aGVyIGluZm8gdGhhdCBtaWdodCBoZWxwIHVzIGRlYnVnIHRoaXM6Cj4+IAo+PiBbICAgMTgu OTg0MjEwXSAgUG9zc2libGUgdW5zYWZlIGxvY2tpbmcgc2NlbmFyaW86Cj4+IAo+PiBbICAgMTgu OTg0MjEwXSAgICAgICAgQ1BVMCAgICAgICAgICAgICAgICAgICAgQ1BVMQo+PiBbICAgMTguOTg0 MjExXSAgICAgICAgLS0tLSAgICAgICAgICAgICAgICAgICAgLS0tLQo+PiBbICAgMTguOTg0MjEy XSAgIGxvY2soKGZiX25vdGlmaWVyX2xpc3QpLnJ3c2VtKTsKPj4gWyAgIDE4Ljk4NDIxM10gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2soJmRldi0+bW9kZV9jb25maWcubXV0ZXgp Owo+PiBbICAgMTguOTg0MjE1XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jaygo ZmJfbm90aWZpZXJfbGlzdCkucndzZW0pOwo+PiBbICAgMTguOTg0MjE2XSAgIGxvY2soJmRldi0+ bW9kZV9jb25maWcubXV0ZXgpOwo+PiBbICAgMTguOTg0MjE2XQo+PiAgICAgICAgICAgICAgICAg KioqIERFQURMT0NLICoqKgo+PiAKPj4gWyAgIDE4Ljk4NDIxN10gNiBsb2NrcyBoZWxkIGJ5IGt3 b3JrZXIvdTg6MC82Ogo+PiBbICAgMTguOTg0MjIwXSAgIzA6ICAoImV2ZW50c191bmJvdW5kIil7 LisuKy4rfSwgYXQ6IFs8ZmZmZmZmZmY4MTBhMzhjOT5dIHByb2Nlc3Nfb25lX3dvcmsrMHgxNjkv MHg3NTAKPj4gWyAgIDE4Ljk4NDIyM10gICMxOiAgKCgmZW50cnktPndvcmspKXsrLisuKy59LCBh dDogWzxmZmZmZmZmZjgxMGEzOGM5Pl0gcHJvY2Vzc19vbmVfd29yaysweDE2OS8weDc1MAo+PiBb ICAgMTguOTg0MjI3XSAgIzI6ICAocmVnaXN0cmF0aW9uX2xvY2speysuKy4rLn0sIGF0OiBbPGZm ZmZmZmZmODE0Yzg0ODc+XSByZWdpc3Rlcl9mcmFtZWJ1ZmZlcisweDI3LzB4MzMwCj4+IFsgICAx OC45ODQyMzFdICAjMzogIChjb25zb2xlX2xvY2speysuKy4rLn0sIGF0OiBbPGZmZmZmZmZmODE0 Yzg2Y2U+XSByZWdpc3Rlcl9mcmFtZWJ1ZmZlcisweDI2ZS8weDMzMAo+PiBbICAgMTguOTg0MjM0 XSAgIzQ6ICAoJmZiX2luZm8tPmxvY2speysuKy4rLn0sIGF0OiBbPGZmZmZmZmZmODE0Yzc4ZGQ+ XSBsb2NrX2ZiX2luZm8rMHgxZC8weDQwCj4+IFsgICAxOC45ODQyMzhdICAjNTogICgoZmJfbm90 aWZpZXJfbGlzdCkucndzZW0peysrKysuK30sIGF0OiBbPGZmZmZmZmZmODEwYWMxOTU+XSBfX2Js b2NraW5nX25vdGlmaWVyX2NhbGxfY2hhaW4rMHgzNS8weDcwCj4+IFsgICAxOC45ODQyMzhdCj4+ ICAgICAgICAgICAgICAgIHN0YWNrIGJhY2t0cmFjZToKPj4gWyAgIDE4Ljk4NDI0MV0gQ1BVOiAy IFBJRDogNiBDb21tOiBrd29ya2VyL3U4OjAgVGFpbnRlZDogRyAgICAgICAgICAgTyAgICA0Ljcu MC1yYzUrICM1MjQKPj4gWyAgIDE4Ljk4NDI0Ml0gSGFyZHdhcmUgbmFtZTogSW50ZWwgQ29ycC4g QnJveHRvbiBQL05PVEVCT09LLCBCSU9TIEFQTEtSVlBBLlg2NC4wMTM4LkIzMy4xNjA2MjUwODQy IDA2LzI1LzIwMTYKPj4gWyAgIDE4Ljk4NDI0NF0gV29ya3F1ZXVlOiBldmVudHNfdW5ib3VuZCBh c3luY19ydW5fZW50cnlfZm4KPj4gWyAgIDE4Ljk4NDI0OF0gIDAwMDAwMDAwMDAwMDAwMDAgZmZm Zjg4MDA3NTg1NzdmMCBmZmZmZmZmZjgxNDUwN2E1IGZmZmZmZmZmODI4Yjk5MDAKPj4gWyAgIDE4 Ljk4NDI1MF0gIGZmZmZmZmZmODI4Yjk5MDAgZmZmZjg4MDA3NTg1NzgzMCBmZmZmZmZmZjgxMGRj NmZhIGZmZmY4ODAwNzU4NTc4ODAKPj4gWyAgIDE4Ljk4NDI1Ml0gIGZmZmY4ODAwNzU4NGQ2ODgg MDAwMDAwMDAwMDAwMDAwNSAwMDAwMDAwMDAwMDAwMDA2IGZmZmY4ODAwNzU4NGQ2YjAKPj4gWyAg IDE4Ljk4NDI1M10gQ2FsbCBUcmFjZToKPj4gWyAgIDE4Ljk4NDI1N10gIFs8ZmZmZmZmZmY4MTQ1 MDdhNT5dIGR1bXBfc3RhY2srMHg2Ny8weDkyCj4+IFsgICAxOC45ODQyNTldICBbPGZmZmZmZmZm ODEwZGM2ZmE+XSBwcmludF9jaXJjdWxhcl9idWcrMHgxYWEvMHgyMDAKPj4gWyAgIDE4Ljk4NDI2 MV0gIFs8ZmZmZmZmZmY4MTBkZjBhYz5dIF9fbG9ja19hY3F1aXJlKzB4MTBmYy8weDEyNjAKPj4g WyAgIDE4Ljk4NDI2NF0gIFs8ZmZmZmZmZmY4MTBkZjYxMT5dIGxvY2tfYWNxdWlyZSsweGIxLzB4 MjAwCj4+IFsgICAxOC45ODQyNjZdICBbPGZmZmZmZmZmODE1YWZkZTA+XSA/IGRybV9tb2Rlc2V0 X2xvY2tfYWxsKzB4NDAvMHgxMjAKPj4gWyAgIDE4Ljk4NDI2N10gIFs8ZmZmZmZmZmY4MTVhZmRl MD5dID8gZHJtX21vZGVzZXRfbG9ja19hbGwrMHg0MC8weDEyMAo+PiBbICAgMTguOTg0MjY5XSAg WzxmZmZmZmZmZjgxOWEzMDk3Pl0gbXV0ZXhfbG9ja19uZXN0ZWQrMHg2Ny8weDNjMAo+PiBbICAg MTguOTg0MjcxXSAgWzxmZmZmZmZmZjgxNWFmZGUwPl0gPyBkcm1fbW9kZXNldF9sb2NrX2FsbCsw eDQwLzB4MTIwCj4+IFsgICAxOC45ODQyNzNdICBbPGZmZmZmZmZmODEwZmE4NWY+XSA/IHJjdV9y ZWFkX2xvY2tfc2NoZWRfaGVsZCsweDdmLzB4OTAKPj4gWyAgIDE4Ljk4NDI3Nl0gIFs8ZmZmZmZm ZmY4MTIwODIxOD5dID8ga21lbV9jYWNoZV9hbGxvY190cmFjZSsweDI0OC8weDJiMAo+PiBbICAg MTguOTg0Mjc3XSAgWzxmZmZmZmZmZjgxNWFmZGM1Pl0gPyBkcm1fbW9kZXNldF9sb2NrX2FsbCsw eDI1LzB4MTIwCj4+IFsgICAxOC45ODQyNzldICBbPGZmZmZmZmZmODE1YWZkZTA+XSBkcm1fbW9k ZXNldF9sb2NrX2FsbCsweDQwLzB4MTIwCj4+IFsgICAxOC45ODQyODFdICBbPGZmZmZmZmZmODE1 OGY3OWI+XSBkcm1fZmJfaGVscGVyX3Jlc3RvcmVfZmJkZXZfbW9kZV91bmxvY2tlZCsweDJiLzB4 ODAKPj4gWyAgIDE4Ljk4NDI4M10gIFs8ZmZmZmZmZmY4MTU4ZjgxZD5dIGRybV9mYl9oZWxwZXJf c2V0X3BhcisweDJkLzB4NTAKPj4gWyAgIDE4Ljk4NDMyMl0gIFs8ZmZmZmZmZmZhMDEwNWY3YT5d IGludGVsX2ZiZGV2X3NldF9wYXIrMHgxYS8weDYwIFtpOTE1XQo+PiBbICAgMTguOTg0MzI0XSAg WzxmZmZmZmZmZjgxNGMxM2M2Pl0gZmJjb25faW5pdCsweDU4Ni8weDYxMAo+PiBbICAgMTguOTg0 MzI2XSAgWzxmZmZmZmZmZjgxNTRkMTZhPl0gdmlzdWFsX2luaXQrMHhjYS8weDEzMAo+PiBbICAg MTguOTg0MzI4XSAgWzxmZmZmZmZmZjgxNTRlNjExPl0gZG9fYmluZF9jb25fZHJpdmVyKzB4MWMx LzB4M2EwCj4+IFsgICAxOC45ODQzMzBdICBbPGZmZmZmZmZmODE1NGVhZjY+XSBkb190YWtlX292 ZXJfY29uc29sZSsweDExNi8weDE4MAo+PiBbICAgMTguOTg0MzMyXSAgWzxmZmZmZmZmZjgxNGJk M2E3Pl0gZG9fZmJjb25fdGFrZW92ZXIrMHg1Ny8weGIwCj4+IFsgICAxOC45ODQzMzRdICBbPGZm ZmZmZmZmODE0YzFlNDg+XSBmYmNvbl9ldmVudF9ub3RpZnkrMHg2NTgvMHg3NTAKPj4gWyAgIDE4 Ljk4NDMzNl0gIFs8ZmZmZmZmZmY4MTBhYmNhZT5dIG5vdGlmaWVyX2NhbGxfY2hhaW4rMHgzZS8w eGIwCj4+IFsgICAxOC45ODQzMzhdICBbPGZmZmZmZmZmODEwYWMxYWQ+XSBfX2Jsb2NraW5nX25v dGlmaWVyX2NhbGxfY2hhaW4rMHg0ZC8weDcwCj4+IFsgICAxOC45ODQzNDBdICBbPGZmZmZmZmZm ODEwYWMxZTY+XSBibG9ja2luZ19ub3RpZmllcl9jYWxsX2NoYWluKzB4MTYvMHgyMAo+PiBbICAg MTguOTg0MzQyXSAgWzxmZmZmZmZmZjgxNGM3NDhiPl0gZmJfbm90aWZpZXJfY2FsbF9jaGFpbisw eDFiLzB4MjAKPj4gWyAgIDE4Ljk4NDM0NF0gIFs8ZmZmZmZmZmY4MTRjODZiMT5dIHJlZ2lzdGVy X2ZyYW1lYnVmZmVyKzB4MjUxLzB4MzMwCj4+IFsgICAxOC45ODQzNDddICBbPGZmZmZmZmZmODE1 YjdlOGQ+XSA/IHZnYV9zd2l0Y2hlcm9vX2NsaWVudF9mYl9zZXQrMHg1ZC8weDcwCj4+IFsgICAx OC45ODQzNDldICBbPGZmZmZmZmZmODE1OGZhOWY+XSBkcm1fZmJfaGVscGVyX2luaXRpYWxfY29u ZmlnKzB4MjVmLzB4M2YwCj4+IFsgICAxOC45ODQzODhdICBbPGZmZmZmZmZmYTAxMDZiNDg+XSBp bnRlbF9mYmRldl9pbml0aWFsX2NvbmZpZysweDE4LzB4MzAgW2k5MTVdCj4+IFsgICAxOC45ODQz ODldICBbPGZmZmZmZmZmODEwYWRmZDg+XSBhc3luY19ydW5fZW50cnlfZm4rMHg0OC8weDE1MAo+ PiBbICAgMTguOTg0MzkxXSAgWzxmZmZmZmZmZjgxMGEzOTQ3Pl0gcHJvY2Vzc19vbmVfd29yaysw eDFlNy8weDc1MAo+PiBbICAgMTguOTg0MzkyXSAgWzxmZmZmZmZmZjgxMGEzOGM5Pl0gPyBwcm9j ZXNzX29uZV93b3JrKzB4MTY5LzB4NzUwCj4+IFsgICAxOC45ODQzOTRdICBbPGZmZmZmZmZmODEw YTNlZmI+XSB3b3JrZXJfdGhyZWFkKzB4NGIvMHg0ZjAKPj4gWyAgIDE4Ljk4NDM5Nl0gIFs8ZmZm ZmZmZmY4MTBhM2ViMD5dID8gcHJvY2Vzc19vbmVfd29yaysweDc1MC8weDc1MAo+PiBbICAgMTgu OTg0Mzk4XSAgWzxmZmZmZmZmZjgxMGFhZDRmPl0ga3RocmVhZCsweGVmLzB4MTEwCj4+IFsgICAx OC45ODQ0MDFdICBbPGZmZmZmZmZmODE5YTg1ZWY+XSByZXRfZnJvbV9mb3JrKzB4MWYvMHg0MAo+ PiBbICAgMTguOTg0NDAyXSAgWzxmZmZmZmZmZjgxMGFhYzYwPl0gPyBrdGhyZWFkX3N0b3ArMHgy ZTAvMHgyZTAKPj4gCj4+IFJlcG9ydGVkLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5j b20+Cj4+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNv LnVrPgo+PiBDYzogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgo+PiBDYzogWmhhbmcg UnVpIDxydWkuemhhbmdAaW50ZWwuY29tPgo+PiBDYzogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIu ZGV1Y2hlckBhbWQuY29tPgo+PiBDYzogIkNocmlzdGlhbiBLw7ZuaWciIDxjaHJpc3RpYW4ua29l bmlnQGFtZC5jb20+Cj4+IENjOiBEYXZpZCBBaXJsaWUgPGFpcmxpZWRAbGludXguaWU+Cj4+IENj OiBQYXRyaWsgSmFrb2Jzc29uIDxwYXRyaWsuci5qYWtvYnNzb25AZ21haWwuY29tPgo+PiBDYzog RGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Cj4+IENjOiBKYW5pIE5pa3Vs YSA8amFuaS5uaWt1bGFAbGludXguaW50ZWwuY29tPgo+PiBDYzogQmVuIFNrZWdncyA8YnNrZWdn c0ByZWRoYXQuY29tPgo+PiBDYzogVG9taSBWYWxrZWluZW4gPHRvbWkudmFsa2VpbmVuQHRpLmNv bT4KPj4gQ2M6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJk LmNvbT4KPj4gQ2M6ICJCcnVubyBQcsOpbW9udCIgPGJvbmJvbnNAbGludXgtdnNlcnZlci5vcmc+ Cj4+IENjOiBKaXJpIEtvc2luYSA8amlrb3NAa2VybmVsLm9yZz4KPj4gQ2M6IFRob21hcyBQZXRh enpvbmkgPHRob21hcy5wZXRhenpvbmlAZnJlZS1lbGVjdHJvbnMuY29tPgo+PiBDYzogIk5vcmFs ZiBUcsO4bm5lcyIgPG5vcmFsZkB0cm9ubmVzLm9yZz4KPj4gQ2M6IEplbnMgRnJlZGVyaWNoIDxq ZnJlZGVyaWNoQGdtYWlsLmNvbT4KPj4gQ2M6IERhbmllbCBEcmFrZSA8ZHNkQGxhcHRvcC5vcmc+ Cj4+IENjOiBKb24gTmV0dGxldG9uIDxqb24ubmV0dGxldG9uQGdtYWlsLmNvbT4KPj4gQ2M6IEpp bmdvbyBIYW4gPGppbmdvb2hhbjFAZ21haWwuY29tPgo+PiBDYzogTGVlIEpvbmVzIDxsZWUuam9u ZXNAbGluYXJvLm9yZz4KPj4gQ2M6IEplYW4tQ2hyaXN0b3BoZSBQbGFnbmlvbC1WaWxsYXJkIDxw bGFnbmlvakBqY3Jvc29mdC5jb20+Cj4+IENjOiBNaWNoYWVsIEhlbm5lcmljaCA8bWljaGFlbC5o ZW5uZXJpY2hAYW5hbG9nLmNvbT4KPj4gQ2M6IE1pbG8gS2ltIDxtaWxvLmtpbUB0aS5jb20+Cj4+ IENjOiBUaGllcnJ5IFJlZGluZyA8dGhpZXJyeS5yZWRpbmdAZ21haWwuY29tPgo+PiBDYzogTmlj b2xhcyBGZXJyZSA8bmljb2xhcy5mZXJyZUBhdG1lbC5jb20+Cj4+IENjOiBQYXVsIE1hY2tlcnJh cyA8cGF1bHVzQHNhbWJhLm9yZz4KPj4gQ2M6IEt1a2ppbiBLaW0gPGtnZW5lQGtlcm5lbC5vcmc+ Cj4+IENjOiBLcnp5c3p0b2YgS296bG93c2tpIDxrLmtvemxvd3NraUBzYW1zdW5nLmNvbT4KPj4g Q2M6IEFudG9uaW5vIERhcGxhcyA8YWRhcGxhc0BnbWFpbC5jb20+Cj4+IENjOiBsaW51eC1hY3Bp QHZnZXIua2VybmVsLm9yZwo+PiBDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ PiBDYzogaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiBDYzogbm91dmVhdUBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKPj4gQ2M6IGxpbnV4LXJlbmVzYXMtc29jQHZnZXIua2VybmVsLm9y Zwo+PiBDYzogbGludXgtZmJkZXZAdmdlci5rZXJuZWwub3JnCj4+IENjOiBsaW51eC1vbWFwQHZn ZXIua2VybmVsLm9yZwo+PiAtLS0KPj4gIGRyaXZlcnMvYWNwaS9hY3BpX3ZpZGVvLmMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2F0b21iaW9zX2VuY29kZXJzLmMgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvZ3B1L2Ry bS9icmlkZ2UvcGFyYWRlLXBzODYyMi5jICAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZl cnMvZ3B1L2RybS9nbWE1MDAvY2R2X2RldmljZS5jICAgICAgICAgICAgICAgICAgfCAgMyArKy0K Pj4gIGRyaXZlcnMvZ3B1L2RybS9nbWE1MDAvbWRmbGRfZGV2aWNlLmMgICAgICAgICAgICAgICAg fCAgMyArKy0KPj4gIGRyaXZlcnMvZ3B1L2RybS9nbWE1MDAvb2FrdHJhaWxfZGV2aWNlLmMgICAg ICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNiX2RldmljZS5j ICAgICAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BhbmVsLmMgICAgICAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvZ3B1L2RybS9u b3V2ZWF1L25vdXZlYXVfYmFja2xpZ2h0LmMgICAgICAgICAgfCAgNiArKysrLS0KPj4gIGRyaXZl cnMvZ3B1L2RybS9vbWFwZHJtL2Rpc3BsYXlzL3BhbmVsLWRzaS1jbS5jICAgICAgfCAgMyArKy0K Pj4gIC4uLi9ncHUvZHJtL29tYXBkcm0vZGlzcGxheXMvcGFuZWwtc29ueS1hY3g1NjVha20uYyAg fCAgMyArKy0KPj4gIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vYXRvbWJpb3NfZW5jb2RlcnMuYyAg ICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2xlZ2Fj eV9lbmNvZGVycy5jICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvZ3B1L2RybS9zaG1vYmlsZS9z aG1vYl9kcm1fYmFja2xpZ2h0LmMgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvaGlkL2hpZC1w aWNvbGNkX2JhY2tsaWdodC5jICAgICAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMv bWFjaW50b3NoL3ZpYS1wbXUtYmFja2xpZ2h0LmMgICAgICAgICAgICAgICAgfCAgMyArKy0KPj4g IGRyaXZlcnMvcGxhdGZvcm0veDg2L2FjZXItd21pLmMgICAgICAgICAgICAgICAgICAgICAgfCAg MyArKy0KPj4gIGRyaXZlcnMvcGxhdGZvcm0veDg2L2FwcGxlLWdtdXguYyAgICAgICAgICAgICAg ICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvcGxhdGZvcm0veDg2L2FzdXMtbGFwdG9wLmMgICAg ICAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvcGxhdGZvcm0veDg2L2FzdXMtd21p LmMgICAgICAgICAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvcGxhdGZvcm0veDg2 L2NsYXNzbWF0ZS1sYXB0b3AuYyAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvcGxh dGZvcm0veDg2L2NvbXBhbC1sYXB0b3AuYyAgICAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRy aXZlcnMvcGxhdGZvcm0veDg2L2RlbGwtbGFwdG9wLmMgICAgICAgICAgICAgICAgICAgfCAgMyAr Ky0KPj4gIGRyaXZlcnMvcGxhdGZvcm0veDg2L2VlZXBjLWxhcHRvcC5jICAgICAgICAgICAgICAg ICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvcGxhdGZvcm0veDg2L2Z1aml0c3UtbGFwdG9wLmMgICAg ICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvcGxhdGZvcm0veDg2L2lkZWFwYWQtbGFw dG9wLmMgICAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvcGxhdGZvcm0veDg2L2lu dGVsX29ha3RyYWlsLmMgICAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvcGxhdGZv cm0veDg2L21zaS1sYXB0b3AuYyAgICAgICAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZl cnMvcGxhdGZvcm0veDg2L21zaS13bWkuYyAgICAgICAgICAgICAgICAgICAgICAgfCAgMyArKy0K Pj4gIGRyaXZlcnMvcGxhdGZvcm0veDg2L3BhbmFzb25pYy1sYXB0b3AuYyAgICAgICAgICAgICAg fCAgMyArKy0KPj4gIGRyaXZlcnMvcGxhdGZvcm0veDg2L3NhbXN1bmctbGFwdG9wLmMgICAgICAg ICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvcGxhdGZvcm0veDg2L3NhbXN1bmctcTEwLmMg ICAgICAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvcGxhdGZvcm0veDg2L3Nvbnkt bGFwdG9wLmMgICAgICAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvcGxhdGZvcm0v eDg2L3RoaW5rcGFkX2FjcGkuYyAgICAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMv cGxhdGZvcm0veDg2L3Rvc2hpYmFfYWNwaS5jICAgICAgICAgICAgICAgICAgfCAgMyArKy0KPj4g IGRyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYl9zc2QxMzUxLmMgICAgICAgICAgICAgICAgICAgfCAg MyArKy0KPj4gIGRyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYl93YXR0ZXJvdHQuYyAgICAgICAgICAg ICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYnRmdC1jb3JlLmMgICAg ICAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvc3RhZ2luZy9vbHBjX2Rjb24vb2xw Y19kY29uLmMgICAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvdXNiL21pc2MvYXBw bGVkaXNwbGF5LmMgICAgICAgICAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvdmlk ZW8vYmFja2xpZ2h0Lzg4cG04NjB4X2JsLmMgICAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRy aXZlcnMvdmlkZW8vYmFja2xpZ2h0L2FhdDI4NzBfYmwuYyAgICAgICAgICAgICAgICAgfCAgMyAr Ky0KPj4gIGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2FkcDU1MjBfYmwuYyAgICAgICAgICAgICAg ICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2FkcDg4NjBfYmwuYyAgICAg ICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2FkcDg4NzBf YmwuYyAgICAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0 L2FtczM2OWZnMDYuYyAgICAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZlcnMvdmlkZW8v YmFja2xpZ2h0L2FwcGxlX2JsLmMgICAgICAgICAgICAgICAgICAgfCAgMyArKy0KPj4gIGRyaXZl cnMvdmlkZW8vYmFja2xpZ2h0L2FzMzcxMV9ibC5jICAgICAgICAgICAgICAgICAgfCAgMyArKy0K Pj4gIGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2JhY2tsaWdodC5jICAgICAgICAgICAgICAgICAg fCAyMCArKysrKysrKysrKysrLS0tLS0tLQo+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYmQ2 MTA3LmMgICAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9iYWNr bGlnaHQvY29yZ2lfbGNkLmMgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92 aWRlby9iYWNrbGlnaHQvY3JfYmxsY2QuYyAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAg ZHJpdmVycy92aWRlby9iYWNrbGlnaHQvZGE5MDN4X2JsLmMgICAgICAgICAgICAgICAgICB8ICAz ICsrLQo+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvZGE5MDUyX2JsLmMgICAgICAgICAgICAg ICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvZXA5M3h4X2JsLmMgICAg ICAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvZ2VuZXJp Y19ibC5jICAgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9iYWNrbGln aHQvZ3Bpb19iYWNrbGlnaHQuYyAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRl by9iYWNrbGlnaHQvaHA2ODBfYmwuYyAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJp dmVycy92aWRlby9iYWNrbGlnaHQvaXBhcV9taWNyb19ibC5jICAgICAgICAgICAgICB8ICAzICsr LQo+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvam9ybmFkYTcyMF9ibC5jICAgICAgICAgICAg ICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQva2IzODg2X2JsLmMgICAgICAg ICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbGQ5MDQwLmMg ICAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQv bG0zNTMzX2JsLmMgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9i YWNrbGlnaHQvbG0zNjMwYV9ibC5jICAgICAgICAgICAgICAgICB8ICA2ICsrKystLQo+PiAgZHJp dmVycy92aWRlby9iYWNrbGlnaHQvbG0zNjM5X2JsLmMgICAgICAgICAgICAgICAgICB8ICAzICsr LQo+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbG9jb21vbGNkLmMgICAgICAgICAgICAgICAg ICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbHA4NTV4X2JsLmMgICAgICAg ICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbHA4Nzg4X2Js LmMgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQv bHY1MjA3bHAuYyAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9i YWNrbGlnaHQvbWF4ODkyNV9ibC5jICAgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVy cy92aWRlby9iYWNrbGlnaHQvb21hcDFfYmwuYyAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+ PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvb3QyMDBfYmwuYyAgICAgICAgICAgICAgICAgICB8 ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvcGFuZG9yYV9ibC5jICAgICAgICAg ICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvcGNmNTA2MzMtYmFj a2xpZ2h0LmMgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvcG04 OTQxLXdsZWQuYyAgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9iYWNr bGlnaHQvcHdtX2JsLmMgICAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92 aWRlby9iYWNrbGlnaHQvczZlNjNtMC5jICAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAg ZHJpdmVycy92aWRlby9iYWNrbGlnaHQvc2t5ODE0NTItYmFja2xpZ2h0LmMgICAgICAgICB8ICAz ICsrLQo+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvdG9zYV9ibC5jICAgICAgICAgICAgICAg ICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvdHBzNjUyMTdfYmwuYyAg ICAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvd204MzF4 X2JsLmMgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9mYmRldi9h dG1lbF9sY2RmYi5jICAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRl by9mYmRldi9hdHkvYXR5MTI4ZmIuYyAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJp dmVycy92aWRlby9mYmRldi9hdHkvYXR5ZmJfYmFzZS5jICAgICAgICAgICAgICAgICB8ICAzICsr LQo+PiAgZHJpdmVycy92aWRlby9mYmRldi9hdHkvcmFkZW9uX2JhY2tsaWdodC5jICAgICAgICAg ICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9mYmRldi9iZjUzNy1scTAzNS5jICAgICAgICAg ICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9mYmRldi9iZjU0eC1scTA0M2Zi LmMgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9mYmRldi9iZmlu LXQzNTBtY3FiLWZiLmMgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9m YmRldi9leHlub3MvczZlOGF4MC5jICAgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVy cy92aWRlby9mYmRldi9teDNmYi5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+ PiAgZHJpdmVycy92aWRlby9mYmRldi9udmlkaWEvbnZfYmFja2xpZ2h0LmMgICAgICAgICAgICB8 ICAzICsrLQo+PiAgLi4uL3ZpZGVvL2ZiZGV2L29tYXAyL29tYXBmYi9kaXNwbGF5cy9wYW5lbC1k c2ktY20uYyB8ICAzICsrLQo+PiAgLi4uL29tYXAyL29tYXBmYi9kaXNwbGF5cy9wYW5lbC1zb255 LWFjeDU2NWFrbS5jICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9mYmRldi9yaXZhL2Zi ZGV2LmMgICAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92aWRlby9mYmRl di9zaF9tb2JpbGVfbGNkY2ZiLmMgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAgZHJpdmVycy92 aWRlby9mYmRldi9zc2QxMzA3ZmIuYyAgICAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+PiAg aW5jbHVkZS9saW51eC9iYWNrbGlnaHQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA3 ICsrKysrLS0KPj4gIDk3IGZpbGVzIGNoYW5nZWQsIDIxMiBpbnNlcnRpb25zKCspLCAxMDYgZGVs ZXRpb25zKC0pCj4+IAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY3BpL2FjcGlfdmlkZW8uYyBi L2RyaXZlcnMvYWNwaS9hY3BpX3ZpZGVvLmMKPj4gaW5kZXggYzFkMTM4ZTEyOGNiLi40OWUwYWNi NzBjMTcgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvYWNwaS9hY3BpX3ZpZGVvLmMKPj4gKysrIGIv ZHJpdmVycy9hY3BpL2FjcGlfdmlkZW8uYwo+PiBAQCAtMTY5Myw3ICsxNjkzLDggQEAgc3RhdGlj IHZvaWQgYWNwaV92aWRlb19kZXZfcmVnaXN0ZXJfYmFja2xpZ2h0KHN0cnVjdCBhY3BpX3ZpZGVv X2RldmljZSAqZGV2aWNlKQo+PiAgCQkJCQkJICAgICAgcGFyZW50LAo+PiAgCQkJCQkJICAgICAg ZGV2aWNlLAo+PiAgCQkJCQkJICAgICAgJmFjcGlfYmFja2xpZ2h0X29wcywKPj4gLQkJCQkJCSAg ICAgICZwcm9wcyk7Cj4+ICsJCQkJCQkgICAgICAmcHJvcHMsCj4+ICsJCQkJCQkgICAgICBCQUNL TElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPj4gIAlrZnJlZShuYW1lKTsKPj4gIAlpZiAoSVNf RVJSKGRldmljZS0+YmFja2xpZ2h0KSkgewo+PiAgCQlkZXZpY2UtPmJhY2tsaWdodCA9IE5VTEw7 Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hdG9tYmlvc19lbmNv ZGVycy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYXRvbWJpb3NfZW5jb2RlcnMuYwo+ PiBpbmRleCA0OGI2YmQ2NzFjZGEuLmI2YWU2N2E3NWEyNSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYXRvbWJpb3NfZW5jb2RlcnMuYwo+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hdG9tYmlvc19lbmNvZGVycy5jCj4+IEBAIC0xOTgsNyArMTk4 LDggQEAgdm9pZCBhbWRncHVfYXRvbWJpb3NfZW5jb2Rlcl9pbml0X2JhY2tsaWdodChzdHJ1Y3Qg YW1kZ3B1X2VuY29kZXIgKmFtZGdwdV9lbmNvZGUKPj4gIAlzbnByaW50ZihibF9uYW1lLCBzaXpl b2YoYmxfbmFtZSksCj4+ICAJCSAiYW1kZ3B1X2JsJWQiLCBkZXYtPnByaW1hcnktPmluZGV4KTsK Pj4gIAliZCA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoYmxfbmFtZSwgZHJtX2Nvbm5lY3Rv ci0+a2RldiwKPj4gLQkJCQkgICAgICAgcGRhdGEsICZhbWRncHVfYXRvbWJpb3NfZW5jb2Rlcl9i YWNrbGlnaHRfb3BzLCAmcHJvcHMpOwo+PiArCQkJCSAgICAgICBwZGF0YSwgJmFtZGdwdV9hdG9t Ymlvc19lbmNvZGVyX2JhY2tsaWdodF9vcHMsICZwcm9wcywKPj4gKwkJCQkgICAgICAgQkFDS0xJ R0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4+ICAJaWYgKElTX0VSUihiZCkpIHsKPj4gIAkJRFJN X0VSUk9SKCJCYWNrbGlnaHQgcmVnaXN0cmF0aW9uIGZhaWxlZFxuIik7Cj4+ICAJCWdvdG8gZXJy b3I7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3BhcmFkZS1wczg2MjIu YyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFyYWRlLXBzODYyMi5jCj4+IGluZGV4IDVjZDhk ZDdlNTkwNC4uMTRkZWE3MTFiNDc0IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJp ZGdlL3BhcmFkZS1wczg2MjIuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3BhcmFk ZS1wczg2MjIuYwo+PiBAQCAtNjA4LDcgKzYwOCw4IEBAIHN0YXRpYyBpbnQgcHM4NjIyX3Byb2Jl KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsCj4+ICAJaWYgKCFvZl9maW5kX3Byb3BlcnR5KGRl di0+b2Zfbm9kZSwgInVzZS1leHRlcm5hbC1wd20iLCBOVUxMKSkgewo+PiAgCQlwczg2MjItPmJs ID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigicHM4NjIyLWJhY2tsaWdodCIsCj4+ICAJCQkJ ZGV2LCBwczg2MjIsICZwczg2MjJfYmFja2xpZ2h0X29wcywKPj4gLQkJCQlOVUxMKTsKPj4gKwkJ CQlOVUxMLAo+PiArCQkJCUJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+PiAgCQlpZiAo SVNfRVJSKHBzODYyMi0+YmwpKSB7Cj4+ICAJCQlEUk1fRVJST1IoImZhaWxlZCB0byByZWdpc3Rl ciBiYWNrbGlnaHRcbiIpOwo+PiAgCQkJcmV0ID0gUFRSX0VSUihwczg2MjItPmJsKTsKPj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvY2R2X2RldmljZS5jIGIvZHJpdmVycy9n cHUvZHJtL2dtYTUwMC9jZHZfZGV2aWNlLmMKPj4gaW5kZXggODc0NTk3MWE3NjgwLi5kMmI0ZDY0 NWI0ZGIgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvY2R2X2RldmljZS5j Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvY2R2X2RldmljZS5jCj4+IEBAIC0xNjMs NyArMTYzLDggQEAgc3RhdGljIGludCBjZHZfYmFja2xpZ2h0X2luaXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldikKPj4gIAlwcm9wcy50eXBlID0gQkFDS0xJR0hUX1BMQVRGT1JNOwo+PiAgCj4+ICAJ Y2R2X2JhY2tsaWdodF9kZXZpY2UgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCJwc2ItYmwi LAo+PiAtCQkJCQlOVUxMLCAodm9pZCAqKWRldiwgJmNkdl9vcHMsICZwcm9wcyk7Cj4+ICsJCQkJ CU5VTEwsICh2b2lkICopZGV2LCAmY2R2X29wcywgJnByb3BzLAo+PiArCQkJCQlCQUNLTElHSFRf UkVHSVNURVJfRkJfQ0xJRU5UKTsKPj4gIAlpZiAoSVNfRVJSKGNkdl9iYWNrbGlnaHRfZGV2aWNl KSkKPj4gIAkJcmV0dXJuIFBUUl9FUlIoY2R2X2JhY2tsaWdodF9kZXZpY2UpOwo+PiAgCj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL21kZmxkX2RldmljZS5jIGIvZHJpdmVy cy9ncHUvZHJtL2dtYTUwMC9tZGZsZF9kZXZpY2UuYwo+PiBpbmRleCBlMmFiODU4MTIyZjkuLjJl MjRlY2NjZmQzOSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9tZGZsZF9k ZXZpY2UuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL21kZmxkX2RldmljZS5jCj4+ IEBAIC0xMzAsNyArMTMwLDggQEAgc3RhdGljIGludCBtZGZsZF9iYWNrbGlnaHRfaW5pdChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+PiAgCXByb3BzLm1heF9icmlnaHRuZXNzID0gQlJJR0hUTkVT U19NQVhfTEVWRUw7Cj4+ICAJcHJvcHMudHlwZSA9IEJBQ0tMSUdIVF9QTEFURk9STTsKPj4gIAlt ZGZsZF9iYWNrbGlnaHRfZGV2aWNlID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigibWRmbGQt YmwiLAo+PiAtCQkJCU5VTEwsICh2b2lkICopZGV2LCAmbWRmbGRfb3BzLCAmcHJvcHMpOwo+PiAr CQkJCU5VTEwsICh2b2lkICopZGV2LCAmbWRmbGRfb3BzLCAmcHJvcHMsCj4+ICsJCQkJQkFDS0xJ R0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4+ICAKPj4gIAlpZiAoSVNfRVJSKG1kZmxkX2JhY2ts aWdodF9kZXZpY2UpKQo+PiAgCQlyZXR1cm4gUFRSX0VSUihtZGZsZF9iYWNrbGlnaHRfZGV2aWNl KTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvb2FrdHJhaWxfZGV2aWNl LmMgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL29ha3RyYWlsX2RldmljZS5jCj4+IGluZGV4IGJh MzBiNDNhMzQxMi4uMDM0NTUzYTUyNGFjIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v Z21hNTAwL29ha3RyYWlsX2RldmljZS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAv b2FrdHJhaWxfZGV2aWNlLmMKPj4gQEAgLTE1NSw3ICsxNTUsOCBAQCBzdGF0aWMgaW50IG9ha3Ry YWlsX2JhY2tsaWdodF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4+ICAJcHJvcHMudHlw ZSA9IEJBQ0tMSUdIVF9QTEFURk9STTsKPj4gIAo+PiAgCW9ha3RyYWlsX2JhY2tsaWdodF9kZXZp Y2UgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCJvYWt0cmFpbC1ibCIsCj4+IC0JCQkJTlVM TCwgKHZvaWQgKilkZXYsICZvYWt0cmFpbF9vcHMsICZwcm9wcyk7Cj4+ICsJCQkJTlVMTCwgKHZv aWQgKilkZXYsICZvYWt0cmFpbF9vcHMsICZwcm9wcywKPj4gKwkJCQlCQUNLTElHSFRfUkVHSVNU RVJfRkJfQ0xJRU5UKTsKPj4gIAo+PiAgCWlmIChJU19FUlIob2FrdHJhaWxfYmFja2xpZ2h0X2Rl dmljZSkpCj4+ICAJCXJldHVybiBQVFJfRVJSKG9ha3RyYWlsX2JhY2tsaWdodF9kZXZpY2UpOwo+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9wc2JfZGV2aWNlLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZ21hNTAwL3BzYl9kZXZpY2UuYwo+PiBpbmRleCBkYzBmODUyNzU3MGMuLjBj MTM4NWQ2NDgzOSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9wc2JfZGV2 aWNlLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9wc2JfZGV2aWNlLmMKPj4gQEAg LTEzMSw3ICsxMzEsOCBAQCBzdGF0aWMgaW50IHBzYl9iYWNrbGlnaHRfaW5pdChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KQo+PiAgCXByb3BzLnR5cGUgPSBCQUNLTElHSFRfUExBVEZPUk07Cj4+ICAK Pj4gIAlwc2JfYmFja2xpZ2h0X2RldmljZSA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoInBz Yi1ibCIsCj4+IC0JCQkJCU5VTEwsICh2b2lkICopZGV2LCAmcHNiX29wcywgJnByb3BzKTsKPj4g KwkJCQkJTlVMTCwgKHZvaWQgKilkZXYsICZwc2Jfb3BzLCAmcHJvcHMsCj4+ICsJCQkJCUJBQ0tM SUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+PiAgCWlmIChJU19FUlIocHNiX2JhY2tsaWdodF9k ZXZpY2UpKQo+PiAgCQlyZXR1cm4gUFRSX0VSUihwc2JfYmFja2xpZ2h0X2RldmljZSk7Cj4+ICAK Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCj4+IGluZGV4IDNjMGI5N2YwYmZhZS4uYWNm NjM5NWI5ZjMzIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5l bC5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKPj4gQEAgLTEy MDEsNyArMTIwMSw4IEBAIGludCBpbnRlbF9iYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKHN0cnVj dCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPj4gIAkJYmFja2xpZ2h0X2RldmljZV9yZWdp c3RlcigiaW50ZWxfYmFja2xpZ2h0IiwKPj4gIAkJCQkJICBjb25uZWN0b3ItPmJhc2Uua2RldiwK Pj4gIAkJCQkJICBjb25uZWN0b3IsCj4+IC0JCQkJCSAgJmludGVsX2JhY2tsaWdodF9kZXZpY2Vf b3BzLCAmcHJvcHMpOwo+PiArCQkJCQkgICZpbnRlbF9iYWNrbGlnaHRfZGV2aWNlX29wcywgJnBy b3BzLAo+PiArCQkJCQkgIDApOwo+PiAgCj4+ICAJaWYgKElTX0VSUihwYW5lbC0+YmFja2xpZ2h0 LmRldmljZSkpIHsKPj4gIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gcmVnaXN0ZXIgYmFja2xpZ2h0 OiAlbGRcbiIsCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1 X2JhY2tsaWdodC5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9iYWNrbGlnaHQu Ywo+PiBpbmRleCBmNTEwMWJlODA2Y2IuLjVmZDdlNzQ5OGYxMyAxMDA2NDQKPj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9iYWNrbGlnaHQuYwo+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2JhY2tsaWdodC5jCj4+IEBAIC04Miw3ICs4Miw4IEBA IG52NDBfYmFja2xpZ2h0X2luaXQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPj4g IAlwcm9wcy50eXBlID0gQkFDS0xJR0hUX1JBVzsKPj4gIAlwcm9wcy5tYXhfYnJpZ2h0bmVzcyA9 IDMxOwo+PiAgCWJkID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigibnZfYmFja2xpZ2h0Iiwg Y29ubmVjdG9yLT5rZGV2LCBkcm0sCj4+IC0JCQkJICAgICAgICZudjQwX2JsX29wcywgJnByb3Bz KTsKPj4gKwkJCQkgICAgICAgJm52NDBfYmxfb3BzLCAmcHJvcHMsCj4+ICsJCQkJICAgICAgIEJB Q0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+PiAgCWlmIChJU19FUlIoYmQpKQo+PiAgCQly ZXR1cm4gUFRSX0VSUihiZCk7Cj4+ICAJZHJtLT5iYWNrbGlnaHQgPSBiZDsKPj4gQEAgLTIwNCw3 ICsyMDUsOCBAQCBudjUwX2JhY2tsaWdodF9pbml0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IpCj4+ICAJcHJvcHMudHlwZSA9IEJBQ0tMSUdIVF9SQVc7Cj4+ICAJcHJvcHMubWF4X2Jy aWdodG5lc3MgPSAxMDA7Cj4+ICAJYmQgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCJudl9i YWNrbGlnaHQiLCBjb25uZWN0b3ItPmtkZXYsCj4+IC0JCQkJICAgICAgIG52X2VuY29kZXIsIG9w cywgJnByb3BzKTsKPj4gKwkJCQkgICAgICAgbnZfZW5jb2Rlciwgb3BzLCAmcHJvcHMsCj4+ICsJ CQkJICAgICAgIEJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+PiAgCWlmIChJU19FUlIo YmQpKQo+PiAgCQlyZXR1cm4gUFRSX0VSUihiZCk7Cj4+ICAKPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9vbWFwZHJtL2Rpc3BsYXlzL3BhbmVsLWRzaS1jbS5jIGIvZHJpdmVycy9ncHUv ZHJtL29tYXBkcm0vZGlzcGxheXMvcGFuZWwtZHNpLWNtLmMKPj4gaW5kZXggMWIwY2YyZDgyMjRi Li4xMDUxMWJkZDk5MzYgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rp c3BsYXlzL3BhbmVsLWRzaS1jbS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rp c3BsYXlzL3BhbmVsLWRzaS1jbS5jCj4+IEBAIC0xMjYwLDcgKzEyNjAsOCBAQCBzdGF0aWMgaW50 IGRzaWNtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4+ICAKPj4gIAkJcHJv cHMudHlwZSA9IEJBQ0tMSUdIVF9SQVc7Cj4+ICAJCWJsZGV2ID0gYmFja2xpZ2h0X2RldmljZV9y ZWdpc3RlcihkZXZfbmFtZShkZXYpLAo+PiAtCQkJCWRldiwgZGRhdGEsICZkc2ljbV9ibF9vcHMs ICZwcm9wcyk7Cj4+ICsJCQkJZGV2LCBkZGF0YSwgJmRzaWNtX2JsX29wcywgJnByb3BzLAo+PiAr CQkJCUJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+PiAgCQlpZiAoSVNfRVJSKGJsZGV2 KSkgewo+PiAgCQkJciA9IFBUUl9FUlIoYmxkZXYpOwo+PiAgCQkJZ290byBlcnJfYmw7Cj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kaXNwbGF5cy9wYW5lbC1zb255LWFj eDU2NWFrbS5jIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZGlzcGxheXMvcGFuZWwtc29ueS1h Y3g1NjVha20uYwo+PiBpbmRleCAxNTdjNTEyMjA1ZDEuLjlmMzYyMjkxMDUxMSAxMDA2NDQKPj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZGlzcGxheXMvcGFuZWwtc29ueS1hY3g1NjVh a20uYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kaXNwbGF5cy9wYW5lbC1zb255 LWFjeDU2NWFrbS5jCj4+IEBAIC04MTcsNyArODE3LDggQEAgc3RhdGljIGludCBhY3g1NjVha21f cHJvYmUoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSkKPj4gIAlwcm9wcy50eXBlID0gQkFDS0xJR0hU X1JBVzsKPj4gIAo+PiAgCWJsZGV2ID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigiYWN4NTY1 YWttIiwgJmRkYXRhLT5zcGktPmRldiwKPj4gLQkJCWRkYXRhLCAmYWN4NTY1YWttX2JsX29wcywg JnByb3BzKTsKPj4gKwkJCWRkYXRhLCAmYWN4NTY1YWttX2JsX29wcywgJnByb3BzLAo+PiArCQkJ QkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4+ICAJaWYgKElTX0VSUihibGRldikpIHsK Pj4gIAkJciA9IFBUUl9FUlIoYmxkZXYpOwo+PiAgCQlnb3RvIGVycl9yZWdfYmw7Cj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2F0b21iaW9zX2VuY29kZXJzLmMgYi9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL2F0b21iaW9zX2VuY29kZXJzLmMKPj4gaW5kZXggNTg3Y2FlNGU3 M2M5Li4zNjc2YmE2ZTE2ZWUgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v YXRvbWJpb3NfZW5jb2RlcnMuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2F0b21i aW9zX2VuY29kZXJzLmMKPj4gQEAgLTIxNCw3ICsyMTQsOCBAQCB2b2lkIHJhZGVvbl9hdG9tX2Jh Y2tsaWdodF9pbml0KHN0cnVjdCByYWRlb25fZW5jb2RlciAqcmFkZW9uX2VuY29kZXIsCj4+ICAJ c25wcmludGYoYmxfbmFtZSwgc2l6ZW9mKGJsX25hbWUpLAo+PiAgCQkgInJhZGVvbl9ibCVkIiwg ZGV2LT5wcmltYXJ5LT5pbmRleCk7Cj4+ICAJYmQgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVy KGJsX25hbWUsIGRybV9jb25uZWN0b3ItPmtkZXYsCj4+IC0JCQkJICAgICAgIHBkYXRhLCAmcmFk ZW9uX2F0b21fYmFja2xpZ2h0X29wcywgJnByb3BzKTsKPj4gKwkJCQkgICAgICAgcGRhdGEsICZy YWRlb25fYXRvbV9iYWNrbGlnaHRfb3BzLCAmcHJvcHMsCj4+ICsJCQkJICAgICAgIEJBQ0tMSUdI VF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+PiAgCWlmIChJU19FUlIoYmQpKSB7Cj4+ICAJCURSTV9F UlJPUigiQmFja2xpZ2h0IHJlZ2lzdHJhdGlvbiBmYWlsZWRcbiIpOwo+PiAgCQlnb3RvIGVycm9y Owo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbGVnYWN5X2Vu Y29kZXJzLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9sZWdhY3lfZW5jb2RlcnMu Ywo+PiBpbmRleCA4NjhjM2JhMmVmYWEuLjI3OTA4NjI0YzgxOCAxMDA2NDQKPj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbGVnYWN5X2VuY29kZXJzLmMKPj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbGVnYWN5X2VuY29kZXJzLmMKPj4gQEAgLTM5Myw3 ICszOTMsOCBAQCB2b2lkIHJhZGVvbl9sZWdhY3lfYmFja2xpZ2h0X2luaXQoc3RydWN0IHJhZGVv bl9lbmNvZGVyICpyYWRlb25fZW5jb2RlciwKPj4gIAlzbnByaW50ZihibF9uYW1lLCBzaXplb2Yo YmxfbmFtZSksCj4+ICAJCSAicmFkZW9uX2JsJWQiLCBkZXYtPnByaW1hcnktPmluZGV4KTsKPj4g IAliZCA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoYmxfbmFtZSwgZHJtX2Nvbm5lY3Rvci0+ a2RldiwKPj4gLQkJCQkgICAgICAgcGRhdGEsICZyYWRlb25fYmFja2xpZ2h0X29wcywgJnByb3Bz KTsKPj4gKwkJCQkgICAgICAgcGRhdGEsICZyYWRlb25fYmFja2xpZ2h0X29wcywgJnByb3BzLAo+ PiArCQkJCSAgICAgICBCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPj4gIAlpZiAoSVNf RVJSKGJkKSkgewo+PiAgCQlEUk1fRVJST1IoIkJhY2tsaWdodCByZWdpc3RyYXRpb24gZmFpbGVk XG4iKTsKPj4gIAkJZ290byBlcnJvcjsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9z aG1vYmlsZS9zaG1vYl9kcm1fYmFja2xpZ2h0LmMgYi9kcml2ZXJzL2dwdS9kcm0vc2htb2JpbGUv c2htb2JfZHJtX2JhY2tsaWdodC5jCj4+IGluZGV4IDMzZGQ0MWFmZWEwZS4uMWZmMTBmYWVkM2E3 IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vc2htb2JpbGUvc2htb2JfZHJtX2JhY2ts aWdodC5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9zaG1vYmlsZS9zaG1vYl9kcm1fYmFja2xp Z2h0LmMKPj4gQEAgLTY4LDcgKzY4LDggQEAgaW50IHNobW9iX2RybV9iYWNrbGlnaHRfaW5pdChz dHJ1Y3Qgc2htb2JfZHJtX2Nvbm5lY3RvciAqc2NvbikKPj4gIAkJcmV0dXJuIDA7Cj4+ICAKPj4g IAliYWNrbGlnaHQgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKGJkYXRhLT5uYW1lLCBkZXYt PmRldiwgc2NvbiwKPj4gLQkJCQkJICAgICAgJnNobW9iX2RybV9iYWNrbGlnaHRfb3BzLCBOVUxM KTsKPj4gKwkJCQkJICAgICAgJnNobW9iX2RybV9iYWNrbGlnaHRfb3BzLCBOVUxMLAo+PiArCQkJ CQkgICAgICBCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPj4gIAlpZiAoSVNfRVJSKGJh Y2tsaWdodCkpIHsKPj4gIAkJZGV2X2VycihkZXYtPmRldiwgInVuYWJsZSB0byByZWdpc3RlciBi YWNrbGlnaHQgZGV2aWNlOiAlbGRcbiIsCj4+ICAJCQlQVFJfRVJSKGJhY2tsaWdodCkpOwo+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9oaWQvaGlkLXBpY29sY2RfYmFja2xpZ2h0LmMgYi9kcml2ZXJz L2hpZC9oaWQtcGljb2xjZF9iYWNrbGlnaHQuYwo+PiBpbmRleCA4MDg4MDdhZDM4OGYuLjA2NTk3 ZjUwYzMyYiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9oaWQvaGlkLXBpY29sY2RfYmFja2xpZ2h0 LmMKPj4gKysrIGIvZHJpdmVycy9oaWQvaGlkLXBpY29sY2RfYmFja2xpZ2h0LmMKPj4gQEAgLTc3 LDcgKzc3LDggQEAgaW50IHBpY29sY2RfaW5pdF9iYWNrbGlnaHQoc3RydWN0IHBpY29sY2RfZGF0 YSAqZGF0YSwgc3RydWN0IGhpZF9yZXBvcnQgKnJlcG9ydCkKPj4gIAlwcm9wcy50eXBlID0gQkFD S0xJR0hUX1JBVzsKPj4gIAlwcm9wcy5tYXhfYnJpZ2h0bmVzcyA9IDB4ZmY7Cj4+ICAJYmRldiA9 IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoZGV2X25hbWUoZGV2KSwgZGV2LCBkYXRhLAo+PiAt CQkJJnBpY29sY2RfYmxvcHMsICZwcm9wcyk7Cj4+ICsJCQkmcGljb2xjZF9ibG9wcywgJnByb3Bz LAo+PiArCQkJQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4+ICAJaWYgKElTX0VSUihi ZGV2KSkgewo+PiAgCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byByZWdpc3RlciBiYWNrbGlnaHRc biIpOwo+PiAgCQlyZXR1cm4gUFRSX0VSUihiZGV2KTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv bWFjaW50b3NoL3ZpYS1wbXUtYmFja2xpZ2h0LmMgYi9kcml2ZXJzL21hY2ludG9zaC92aWEtcG11 LWJhY2tsaWdodC5jCj4+IGluZGV4IDZmNjg1MzdjOTNjZS4uZGEwZmIyZTg3Zjc1IDEwMDY0NAo+ PiAtLS0gYS9kcml2ZXJzL21hY2ludG9zaC92aWEtcG11LWJhY2tsaWdodC5jCj4+ICsrKyBiL2Ry aXZlcnMvbWFjaW50b3NoL3ZpYS1wbXUtYmFja2xpZ2h0LmMKPj4gQEAgLTE2MCw3ICsxNjAsOCBA QCB2b2lkIF9faW5pdCBwbXVfYmFja2xpZ2h0X2luaXQoKQo+PiAgCXByb3BzLnR5cGUgPSBCQUNL TElHSFRfUExBVEZPUk07Cj4+ICAJcHJvcHMubWF4X2JyaWdodG5lc3MgPSBGQl9CQUNLTElHSFRf TEVWRUxTIC0gMTsKPj4gIAliZCA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIobmFtZSwgTlVM TCwgTlVMTCwgJnBtdV9iYWNrbGlnaHRfZGF0YSwKPj4gLQkJCQkgICAgICAgJnByb3BzKTsKPj4g KwkJCQkgICAgICAgJnByb3BzLAo+PiArCQkJCSAgICAgICBCQUNLTElHSFRfUkVHSVNURVJfRkJf Q0xJRU5UKTsKPj4gIAlpZiAoSVNfRVJSKGJkKSkgewo+PiAgCQlwcmludGsoS0VSTl9FUlIgIlBN VSBCYWNrbGlnaHQgcmVnaXN0cmF0aW9uIGZhaWxlZFxuIik7Cj4+ICAJCXJldHVybjsKPj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L2FjZXItd21pLmMgYi9kcml2ZXJzL3BsYXRm b3JtL3g4Ni9hY2VyLXdtaS5jCj4+IGluZGV4IDc5ZDY0ZWEwMGJmYi4uMGIxN2M1MTQ2MTc1IDEw MDY0NAo+PiAtLS0gYS9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9hY2VyLXdtaS5jCj4+ICsrKyBiL2Ry aXZlcnMvcGxhdGZvcm0veDg2L2FjZXItd21pLmMKPj4gQEAgLTE0MTksNyArMTQxOSw4IEBAIHN0 YXRpYyBpbnQgYWNlcl9iYWNrbGlnaHRfaW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4+ICAJcHJv cHMudHlwZSA9IEJBQ0tMSUdIVF9QTEFURk9STTsKPj4gIAlwcm9wcy5tYXhfYnJpZ2h0bmVzcyA9 IG1heF9icmlnaHRuZXNzOwo+PiAgCWJkID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigiYWNl ci13bWkiLCBkZXYsIE5VTEwsICZhY2VyX2JsX29wcywKPj4gLQkJCQkgICAgICAgJnByb3BzKTsK Pj4gKwkJCQkgICAgICAgJnByb3BzLAo+PiArCQkJCSAgICAgICBCQUNLTElHSFRfUkVHSVNURVJf RkJfQ0xJRU5UKTsKPj4gIAlpZiAoSVNfRVJSKGJkKSkgewo+PiAgCQlwcl9lcnIoIkNvdWxkIG5v dCByZWdpc3RlciBBY2VyIGJhY2tsaWdodCBkZXZpY2VcbiIpOwo+PiAgCQlhY2VyX2JhY2tsaWdo dF9kZXZpY2UgPSBOVUxMOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvYXBw bGUtZ211eC5jIGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvYXBwbGUtZ211eC5jCj4+IGluZGV4IDQw MzRkMmQ0YzUwNy4uZTA0MWJiZTE0ZGY1IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3BsYXRmb3Jt L3g4Ni9hcHBsZS1nbXV4LmMKPj4gKysrIGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvYXBwbGUtZ211 eC5jCj4+IEBAIC02OTgsNyArNjk4LDggQEAgc3RhdGljIGludCBnbXV4X3Byb2JlKHN0cnVjdCBw bnBfZGV2ICpwbnAsIGNvbnN0IHN0cnVjdCBwbnBfZGV2aWNlX2lkICppZCkKPj4gIAkJcHJvcHMu bWF4X2JyaWdodG5lc3MgPSBHTVVYX01BWF9CUklHSFRORVNTOwo+PiAgCj4+ICAJYmRldiA9IGJh Y2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoImdtdXhfYmFja2xpZ2h0IiwgJnBucC0+ZGV2LAo+PiAt CQkJCQkgZ211eF9kYXRhLCAmZ211eF9ibF9vcHMsICZwcm9wcyk7Cj4+ICsJCQkJCSBnbXV4X2Rh dGEsICZnbXV4X2JsX29wcywgJnByb3BzLAo+PiArCQkJCQkgQkFDS0xJR0hUX1JFR0lTVEVSX0ZC X0NMSUVOVCk7Cj4+ICAJaWYgKElTX0VSUihiZGV2KSkgewo+PiAgCQlyZXQgPSBQVFJfRVJSKGJk ZXYpOwo+PiAgCQlnb3RvIGVycl9yZWxlYXNlOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wbGF0 Zm9ybS94ODYvYXN1cy1sYXB0b3AuYyBiL2RyaXZlcnMvcGxhdGZvcm0veDg2L2FzdXMtbGFwdG9w LmMKPj4gaW5kZXggMTVmMTMxMTQ2NTAxLi45OGYyNmNmZjljOTYgMTAwNjQ0Cj4+IC0tLSBhL2Ry aXZlcnMvcGxhdGZvcm0veDg2L2FzdXMtbGFwdG9wLmMKPj4gKysrIGIvZHJpdmVycy9wbGF0Zm9y bS94ODYvYXN1cy1sYXB0b3AuYwo+PiBAQCAtODMxLDcgKzgzMSw4IEBAIHN0YXRpYyBpbnQgYXN1 c19iYWNrbGlnaHRfaW5pdChzdHJ1Y3QgYXN1c19sYXB0b3AgKmFzdXMpCj4+ICAKPj4gIAliZCA9 IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoQVNVU19MQVBUT1BfRklMRSwKPj4gIAkJCQkgICAg ICAgJmFzdXMtPnBsYXRmb3JtX2RldmljZS0+ZGV2LCBhc3VzLAo+PiAtCQkJCSAgICAgICAmYXN1 c2JsX29wcywgJnByb3BzKTsKPj4gKwkJCQkgICAgICAgJmFzdXNibF9vcHMsICZwcm9wcywKPj4g KwkJCQkgICAgICAgQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4+ICAJaWYgKElTX0VS UihiZCkpIHsKPj4gIAkJcHJfZXJyKCJDb3VsZCBub3QgcmVnaXN0ZXIgYXN1cyBiYWNrbGlnaHQg ZGV2aWNlXG4iKTsKPj4gIAkJYXN1cy0+YmFja2xpZ2h0X2RldmljZSA9IE5VTEw7Cj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9hc3VzLXdtaS5jIGIvZHJpdmVycy9wbGF0Zm9y bS94ODYvYXN1cy13bWkuYwo+PiBpbmRleCBhMjZkY2EzNjQwZWEuLmNhODk3YmM5NDYyNiAxMDA2 NDQKPj4gLS0tIGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvYXN1cy13bWkuYwo+PiArKysgYi9kcml2 ZXJzL3BsYXRmb3JtL3g4Ni9hc3VzLXdtaS5jCj4+IEBAIC0xNTY1LDcgKzE1NjUsOCBAQCBzdGF0 aWMgaW50IGFzdXNfd21pX2JhY2tsaWdodF9pbml0KHN0cnVjdCBhc3VzX3dtaSAqYXN1cykKPj4g IAlwcm9wcy5tYXhfYnJpZ2h0bmVzcyA9IG1heDsKPj4gIAliZCA9IGJhY2tsaWdodF9kZXZpY2Vf cmVnaXN0ZXIoYXN1cy0+ZHJpdmVyLT5uYW1lLAo+PiAgCQkJCSAgICAgICAmYXN1cy0+cGxhdGZv cm1fZGV2aWNlLT5kZXYsIGFzdXMsCj4+IC0JCQkJICAgICAgICZhc3VzX3dtaV9ibF9vcHMsICZw cm9wcyk7Cj4+ICsJCQkJICAgICAgICZhc3VzX3dtaV9ibF9vcHMsICZwcm9wcywKPj4gKwkJCQkg ICAgICAgQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4+ICAJaWYgKElTX0VSUihiZCkp IHsKPj4gIAkJcHJfZXJyKCJDb3VsZCBub3QgcmVnaXN0ZXIgYmFja2xpZ2h0IGRldmljZVxuIik7 Cj4+ICAJCXJldHVybiBQVFJfRVJSKGJkKTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGxhdGZv cm0veDg2L2NsYXNzbWF0ZS1sYXB0b3AuYyBiL2RyaXZlcnMvcGxhdGZvcm0veDg2L2NsYXNzbWF0 ZS1sYXB0b3AuYwo+PiBpbmRleCA1NWNmMTBiYzc4MTcuLjYwY2Y3YTBjNzE3MCAxMDA2NDQKPj4g LS0tIGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvY2xhc3NtYXRlLWxhcHRvcC5jCj4+ICsrKyBiL2Ry aXZlcnMvcGxhdGZvcm0veDg2L2NsYXNzbWF0ZS1sYXB0b3AuYwo+PiBAQCAtOTcwLDcgKzk3MCw4 IEBAIHN0YXRpYyBpbnQgY21wY19pcG1sX2FkZChzdHJ1Y3QgYWNwaV9kZXZpY2UgKmFjcGkpCj4+ ICAJcHJvcHMubWF4X2JyaWdodG5lc3MgPSA3Owo+PiAgCWlwbWwtPmJkID0gYmFja2xpZ2h0X2Rl dmljZV9yZWdpc3RlcigiY21wY19ibCIsICZhY3BpLT5kZXYsCj4+ICAJCQkJCSAgICAgYWNwaS0+ aGFuZGxlLCAmY21wY19ibF9vcHMsCj4+IC0JCQkJCSAgICAgJnByb3BzKTsKPj4gKwkJCQkJICAg ICAmcHJvcHMsCj4+ICsJCQkJCSAgICAgQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4+ ICAJaWYgKElTX0VSUihpcG1sLT5iZCkpIHsKPj4gIAkJcmV0dmFsID0gUFRSX0VSUihpcG1sLT5i ZCk7Cj4+ICAJCWdvdG8gb3V0X2JkOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wbGF0Zm9ybS94 ODYvY29tcGFsLWxhcHRvcC5jIGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvY29tcGFsLWxhcHRvcC5j Cj4+IGluZGV4IGUxYzJiNmQ0YjI0YS4uOWE2NzVkM2I2ZmU1IDEwMDY0NAo+PiAtLS0gYS9kcml2 ZXJzL3BsYXRmb3JtL3g4Ni9jb21wYWwtbGFwdG9wLmMKPj4gKysrIGIvZHJpdmVycy9wbGF0Zm9y bS94ODYvY29tcGFsLWxhcHRvcC5jCj4+IEBAIC0xMDA4LDcgKzEwMDgsOCBAQCBzdGF0aWMgaW50 IF9faW5pdCBjb21wYWxfaW5pdCh2b2lkKQo+PiAgCQljb21wYWxibF9kZXZpY2UgPSBiYWNrbGln aHRfZGV2aWNlX3JlZ2lzdGVyKERSSVZFUl9OQU1FLAo+PiAgCQkJCQkJCSAgICBOVUxMLCBOVUxM LAo+PiAgCQkJCQkJCSAgICAmY29tcGFsYmxfb3BzLAo+PiAtCQkJCQkJCSAgICAmcHJvcHMpOwo+ PiArCQkJCQkJCSAgICAmcHJvcHMsCj4+ICsJCQkJCQkJICAgIEJBQ0tMSUdIVF9SRUdJU1RFUl9G Ql9DTElFTlQpOwo+PiAgCQlpZiAoSVNfRVJSKGNvbXBhbGJsX2RldmljZSkpCj4+ICAJCQlyZXR1 cm4gUFRSX0VSUihjb21wYWxibF9kZXZpY2UpOwo+PiAgCX0KPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvcGxhdGZvcm0veDg2L2RlbGwtbGFwdG9wLmMgYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9kZWxs LWxhcHRvcC5jCj4+IGluZGV4IDJjMmYwMmIyZTA4YS4uNTc3MTJhOTcwZjhkIDEwMDY0NAo+PiAt LS0gYS9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9kZWxsLWxhcHRvcC5jCj4+ICsrKyBiL2RyaXZlcnMv cGxhdGZvcm0veDg2L2RlbGwtbGFwdG9wLmMKPj4gQEAgLTIwMzUsNyArMjAzNSw4IEBAIHN0YXRp YyBpbnQgX19pbml0IGRlbGxfaW5pdCh2b2lkKQo+PiAgCQkJCQkJCQkgICZwbGF0Zm9ybV9kZXZp Y2UtPmRldiwKPj4gIAkJCQkJCQkJICBOVUxMLAo+PiAgCQkJCQkJCQkgICZkZWxsX29wcywKPj4g LQkJCQkJCQkJICAmcHJvcHMpOwo+PiArCQkJCQkJCQkgICZwcm9wcywKPj4gKwkJCQkJCQkJICBC QUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPj4gIAo+PiAgCQlpZiAoSVNfRVJSKGRlbGxf YmFja2xpZ2h0X2RldmljZSkpIHsKPj4gIAkJCXJldCA9IFBUUl9FUlIoZGVsbF9iYWNrbGlnaHRf ZGV2aWNlKTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L2VlZXBjLWxhcHRv cC5jIGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvZWVlcGMtbGFwdG9wLmMKPj4gaW5kZXggOGNkZjMx NWY5NzMwLi5kYThhZGEyYmE0MjkgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvcGxhdGZvcm0veDg2 L2VlZXBjLWxhcHRvcC5jCj4+ICsrKyBiL2RyaXZlcnMvcGxhdGZvcm0veDg2L2VlZXBjLWxhcHRv cC5jCj4+IEBAIC0xMTU5LDcgKzExNTksOCBAQCBzdGF0aWMgaW50IGVlZXBjX2JhY2tsaWdodF9p bml0KHN0cnVjdCBlZWVwY19sYXB0b3AgKmVlZXBjKQo+PiAgCXByb3BzLm1heF9icmlnaHRuZXNz ID0gMTU7Cj4+ICAJYmQgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKEVFRVBDX0xBUFRPUF9G SUxFLAo+PiAgCQkJCSAgICAgICAmZWVlcGMtPnBsYXRmb3JtX2RldmljZS0+ZGV2LCBlZWVwYywK Pj4gLQkJCQkgICAgICAgJmVlZXBjYmxfb3BzLCAmcHJvcHMpOwo+PiArCQkJCSAgICAgICAmZWVl cGNibF9vcHMsICZwcm9wcywKPj4gKwkJCQkgICAgICAgQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NM SUVOVCk7Cj4+ICAJaWYgKElTX0VSUihiZCkpIHsKPj4gIAkJcHJfZXJyKCJDb3VsZCBub3QgcmVn aXN0ZXIgZWVlcGMgYmFja2xpZ2h0IGRldmljZVxuIik7Cj4+ICAJCWVlZXBjLT5iYWNrbGlnaHRf ZGV2aWNlID0gTlVMTDsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L2Z1aml0 c3UtbGFwdG9wLmMgYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9mdWppdHN1LWxhcHRvcC5jCj4+IGlu ZGV4IGNlNDFiYzM0Mjg4ZC4uYjU0ZTdlYTJlOTY4IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3Bs YXRmb3JtL3g4Ni9mdWppdHN1LWxhcHRvcC5jCj4+ICsrKyBiL2RyaXZlcnMvcGxhdGZvcm0veDg2 L2Z1aml0c3UtbGFwdG9wLmMKPj4gQEAgLTExNjcsNyArMTE2Nyw4IEBAIHN0YXRpYyBpbnQgX19p bml0IGZ1aml0c3VfaW5pdCh2b2lkKQo+PiAgCQlmdWppdHN1LT5ibF9kZXZpY2UgPSBiYWNrbGln aHRfZGV2aWNlX3JlZ2lzdGVyKCJmdWppdHN1LWxhcHRvcCIsCj4+ICAJCQkJCQkJICAgICAgIE5V TEwsIE5VTEwsCj4+ICAJCQkJCQkJICAgICAgICZmdWppdHN1Ymxfb3BzLAo+PiAtCQkJCQkJCSAg ICAgICAmcHJvcHMpOwo+PiArCQkJCQkJCSAgICAgICAmcHJvcHMsCj4+ICsJCQkJCQkJICAgICAg IEJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+PiAgCQlpZiAoSVNfRVJSKGZ1aml0c3Ut PmJsX2RldmljZSkpIHsKPj4gIAkJCXJldCA9IFBUUl9FUlIoZnVqaXRzdS0+YmxfZGV2aWNlKTsK Pj4gIAkJCWZ1aml0c3UtPmJsX2RldmljZSA9IE5VTEw7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L3BsYXRmb3JtL3g4Ni9pZGVhcGFkLWxhcHRvcC5jIGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvaWRl YXBhZC1sYXB0b3AuYwo+PiBpbmRleCBkMWEwOTFiOTMxOTIuLjk5ZGUwMmVmZDk3MSAxMDA2NDQK Pj4gLS0tIGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvaWRlYXBhZC1sYXB0b3AuYwo+PiArKysgYi9k cml2ZXJzL3BsYXRmb3JtL3g4Ni9pZGVhcGFkLWxhcHRvcC5jCj4+IEBAIC03MjYsNyArNzI2LDgg QEAgc3RhdGljIGludCBpZGVhcGFkX2JhY2tsaWdodF9pbml0KHN0cnVjdCBpZGVhcGFkX3ByaXZh dGUgKnByaXYpCj4+ICAJCQkJCSAgICAgICZwcml2LT5wbGF0Zm9ybV9kZXZpY2UtPmRldiwKPj4g IAkJCQkJICAgICAgcHJpdiwKPj4gIAkJCQkJICAgICAgJmlkZWFwYWRfYmFja2xpZ2h0X29wcywK Pj4gLQkJCQkJICAgICAgJnByb3BzKTsKPj4gKwkJCQkJICAgICAgJnByb3BzLAo+PiArCQkJCQkg ICAgICBCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPj4gIAlpZiAoSVNfRVJSKGJsaWdo dGRldikpIHsKPj4gIAkJcHJfZXJyKCJDb3VsZCBub3QgcmVnaXN0ZXIgYmFja2xpZ2h0IGRldmlj ZVxuIik7Cj4+ICAJCXJldHVybiBQVFJfRVJSKGJsaWdodGRldik7Cj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL3BsYXRmb3JtL3g4Ni9pbnRlbF9vYWt0cmFpbC5jIGIvZHJpdmVycy9wbGF0Zm9ybS94 ODYvaW50ZWxfb2FrdHJhaWwuYwo+PiBpbmRleCA2YWEzM2M0YTgwOWYuLjMwM2U4ZTI3YTBiOSAx MDA2NDQKPj4gLS0tIGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvaW50ZWxfb2FrdHJhaWwuYwo+PiAr KysgYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9pbnRlbF9vYWt0cmFpbC5jCj4+IEBAIC0yNTMsNyAr MjUzLDggQEAgc3RhdGljIGludCBvYWt0cmFpbF9iYWNrbGlnaHRfaW5pdCh2b2lkKQo+PiAgCWJk ID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcihEUklWRVJfTkFNRSwKPj4gIAkJCQkgICAgICAg Jm9ha3RyYWlsX2RldmljZS0+ZGV2LCBOVUxMLAo+PiAgCQkJCSAgICAgICAmb2FrdHJhaWxfYmxf b3BzLAo+PiAtCQkJCSAgICAgICAmcHJvcHMpOwo+PiArCQkJCSAgICAgICAmcHJvcHMsCj4+ICsJ CQkJICAgICAgIEJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+PiAgCj4+ICAJaWYgKElT X0VSUihiZCkpIHsKPj4gIAkJb2FrdHJhaWxfYmxfZGV2aWNlID0gTlVMTDsKPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L21zaS1sYXB0b3AuYyBiL2RyaXZlcnMvcGxhdGZvcm0v eDg2L21zaS1sYXB0b3AuYwo+PiBpbmRleCA0MjMxNzcwNDYyOWQuLjgxOTkwYmRhYjIyOSAxMDA2 NDQKPj4gLS0tIGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvbXNpLWxhcHRvcC5jCj4+ICsrKyBiL2Ry aXZlcnMvcGxhdGZvcm0veDg2L21zaS1sYXB0b3AuYwo+PiBAQCAtMTA3OCw3ICsxMDc4LDggQEAg c3RhdGljIGludCBfX2luaXQgbXNpX2luaXQodm9pZCkKPj4gIAkJcHJvcHMubWF4X2JyaWdodG5l c3MgPSBNU0lfTENEX0xFVkVMX01BWCAtIDE7Cj4+ICAJCW1zaWJsX2RldmljZSA9IGJhY2tsaWdo dF9kZXZpY2VfcmVnaXN0ZXIoIm1zaS1sYXB0b3AtYmwiLCBOVUxMLAo+PiAgCQkJCQkJCSBOVUxM LCAmbXNpYmxfb3BzLAo+PiAtCQkJCQkJCSAmcHJvcHMpOwo+PiArCQkJCQkJCSAmcHJvcHMsCj4+ ICsJCQkJCQkJIEJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+PiAgCQlpZiAoSVNfRVJS KG1zaWJsX2RldmljZSkpCj4+ICAJCQlyZXR1cm4gUFRSX0VSUihtc2libF9kZXZpY2UpOwo+PiAg CX0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L21zaS13bWkuYyBiL2RyaXZl cnMvcGxhdGZvcm0veDg2L21zaS13bWkuYwo+PiBpbmRleCA5NzhlNmQ2NDA1NzIuLjUxNzQ1NzJh Nzg1OSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvbXNpLXdtaS5jCj4+ICsr KyBiL2RyaXZlcnMvcGxhdGZvcm0veDg2L21zaS13bWkuYwo+PiBAQCAtMjQ3LDcgKzI0Nyw4IEBA IHN0YXRpYyBpbnQgX19pbml0IG1zaV93bWlfYmFja2xpZ2h0X3NldHVwKHZvaWQpCj4+ICAJcHJv cHMubWF4X2JyaWdodG5lc3MgPSBBUlJBWV9TSVpFKGJhY2tsaWdodF9tYXApIC0gMTsKPj4gIAli YWNrbGlnaHQgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKERSVl9OQU1FLCBOVUxMLCBOVUxM LAo+PiAgCQkJCQkgICAgICAmbXNpX2JhY2tsaWdodF9vcHMsCj4+IC0JCQkJCSAgICAgICZwcm9w cyk7Cj4+ICsJCQkJCSAgICAgICZwcm9wcywKPj4gKwkJCQkJICAgICAgQkFDS0xJR0hUX1JFR0lT VEVSX0ZCX0NMSUVOVCk7Cj4+ICAJaWYgKElTX0VSUihiYWNrbGlnaHQpKQo+PiAgCQlyZXR1cm4g UFRSX0VSUihiYWNrbGlnaHQpOwo+PiAgCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BsYXRmb3Jt L3g4Ni9wYW5hc29uaWMtbGFwdG9wLmMgYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9wYW5hc29uaWMt bGFwdG9wLmMKPj4gaW5kZXggM2Y4NzA5NzIyNDdjLi4wMDY3OTgxNGQ4YzMgMTAwNjQ0Cj4+IC0t LSBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L3BhbmFzb25pYy1sYXB0b3AuYwo+PiArKysgYi9kcml2 ZXJzL3BsYXRmb3JtL3g4Ni9wYW5hc29uaWMtbGFwdG9wLmMKPj4gQEAgLTYxOCw3ICs2MTgsOCBA QCBzdGF0aWMgaW50IGFjcGlfcGNjX2hvdGtleV9hZGQoc3RydWN0IGFjcGlfZGV2aWNlICpkZXZp Y2UpCj4+ICAJcHJvcHMudHlwZSA9IEJBQ0tMSUdIVF9QTEFURk9STTsKPj4gIAlwcm9wcy5tYXhf YnJpZ2h0bmVzcyA9IHBjYy0+c2luZltTSU5GX0FDX01BWF9CUklHSFRdOwo+PiAgCXBjYy0+YmFj a2xpZ2h0ID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigicGFuYXNvbmljIiwgTlVMTCwgcGNj LAo+PiAtCQkJCQkJICAgJnBjY19iYWNrbGlnaHRfb3BzLCAmcHJvcHMpOwo+PiArCQkJCQkJICAg JnBjY19iYWNrbGlnaHRfb3BzLCAmcHJvcHMsCj4+ICsJCQkJCQkgICBCQUNLTElHSFRfUkVHSVNU RVJfRkJfQ0xJRU5UKTsKPj4gIAlpZiAoSVNfRVJSKHBjYy0+YmFja2xpZ2h0KSkgewo+PiAgCQly ZXN1bHQgPSBQVFJfRVJSKHBjYy0+YmFja2xpZ2h0KTsKPj4gIAkJZ290byBvdXRfaW5wdXQ7Cj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9zYW1zdW5nLWxhcHRvcC5jIGIvZHJp dmVycy9wbGF0Zm9ybS94ODYvc2Ftc3VuZy1sYXB0b3AuYwo+PiBpbmRleCA4YzE0NmUyYjY3Mjcu LjA5ODY4NzA2ZGZkNiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvc2Ftc3Vu Zy1sYXB0b3AuYwo+PiArKysgYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9zYW1zdW5nLWxhcHRvcC5j Cj4+IEBAIC0xMjAwLDcgKzEyMDAsOCBAQCBzdGF0aWMgaW50IF9faW5pdCBzYW1zdW5nX2JhY2ts aWdodF9pbml0KHN0cnVjdCBzYW1zdW5nX2xhcHRvcCAqc2Ftc3VuZykKPj4gIAliZCA9IGJhY2ts aWdodF9kZXZpY2VfcmVnaXN0ZXIoInNhbXN1bmciLAo+PiAgCQkJCSAgICAgICAmc2Ftc3VuZy0+ cGxhdGZvcm1fZGV2aWNlLT5kZXYsCj4+ICAJCQkJICAgICAgIHNhbXN1bmcsICZiYWNrbGlnaHRf b3BzLAo+PiAtCQkJCSAgICAgICAmcHJvcHMpOwo+PiArCQkJCSAgICAgICAmcHJvcHMsCj4+ICsJ CQkJICAgICAgIEJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+PiAgCWlmIChJU19FUlIo YmQpKQo+PiAgCQlyZXR1cm4gUFRSX0VSUihiZCk7Cj4+ICAKPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvcGxhdGZvcm0veDg2L3NhbXN1bmctcTEwLmMgYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9zYW1z dW5nLXExMC5jCj4+IGluZGV4IGU2YWFjNzI1YTBhZi4uY2MyNWQwNDE2MjM2IDEwMDY0NAo+PiAt LS0gYS9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9zYW1zdW5nLXExMC5jCj4+ICsrKyBiL2RyaXZlcnMv cGxhdGZvcm0veDg2L3NhbXN1bmctcTEwLmMKPj4gQEAgLTYwLDcgKzYwLDggQEAgc3RhdGljIGlu dCBzYW1zdW5ncTEwX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4+ICAJcHJv cHMudHlwZSA9IEJBQ0tMSUdIVF9QTEFURk9STTsKPj4gIAlwcm9wcy5tYXhfYnJpZ2h0bmVzcyA9 IFNBTVNVTkdRMTBfQkxfTUFYX0lOVEVOU0lUWTsKPj4gIAliZCA9IGJhY2tsaWdodF9kZXZpY2Vf cmVnaXN0ZXIoInNhbXN1bmciLCAmcGRldi0+ZGV2LCBOVUxMLAo+PiAtCQkJCSAgICAgICAmc2Ft c3VuZ3ExMF9ibF9vcHMsICZwcm9wcyk7Cj4+ICsJCQkJICAgICAgICZzYW1zdW5ncTEwX2JsX29w cywgJnByb3BzLAo+PiArCQkJCSAgICAgICBCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsK Pj4gIAlpZiAoSVNfRVJSKGJkKSkKPj4gIAkJcmV0dXJuIFBUUl9FUlIoYmQpOwo+PiAgCj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9zb255LWxhcHRvcC5jIGIvZHJpdmVycy9w bGF0Zm9ybS94ODYvc29ueS1sYXB0b3AuYwo+PiBpbmRleCAxZGJhMzU5OGNmY2IuLmEyMGYzMDYy MWU1ZiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvc29ueS1sYXB0b3AuYwo+ PiArKysgYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9zb255LWxhcHRvcC5jCj4+IEBAIC0zMTU4LDcg KzMxNTgsOCBAQCBzdGF0aWMgdm9pZCBzb255X25jX2JhY2tsaWdodF9zZXR1cCh2b2lkKQo+PiAg CXByb3BzLm1heF9icmlnaHRuZXNzID0gbWF4X2JyaWdodG5lc3M7Cj4+ICAJc29ueV9ibF9wcm9w cy5kZXYgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCJzb255IiwgTlVMTCwKPj4gIAkJCQkJ CSAgICAgICZzb255X2JsX3Byb3BzLAo+PiAtCQkJCQkJICAgICAgb3BzLCAmcHJvcHMpOwo+PiAr CQkJCQkJICAgICAgb3BzLCAmcHJvcHMsCj4+ICsJCQkJCQkgICAgICBCQUNLTElHSFRfUkVHSVNU RVJfRkJfQ0xJRU5UKTsKPj4gIAo+PiAgCWlmIChJU19FUlIoc29ueV9ibF9wcm9wcy5kZXYpKSB7 Cj4+ICAJCXByX3dhcm4oInVuYWJsZSB0byByZWdpc3RlciBiYWNrbGlnaHQgZGV2aWNlXG4iKTsK Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L3RoaW5rcGFkX2FjcGkuYyBiL2Ry aXZlcnMvcGxhdGZvcm0veDg2L3RoaW5rcGFkX2FjcGkuYwo+PiBpbmRleCBiNjVjZTc1MTk0MTEu Ljk4N2VmODliMTFkYSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvdGhpbmtw YWRfYWNwaS5jCj4+ICsrKyBiL2RyaXZlcnMvcGxhdGZvcm0veDg2L3RoaW5rcGFkX2FjcGkuYwo+ PiBAQCAtNjgyMSw3ICs2ODIxLDggQEAgc3RhdGljIGludCBfX2luaXQgYnJpZ2h0bmVzc19pbml0 KHN0cnVjdCBpYm1faW5pdF9zdHJ1Y3QgKmlpYm0pCj4+ICAJaWJtX2JhY2tsaWdodF9kZXZpY2Ug PSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKFRQQUNQSV9CQUNLTElHSFRfREVWX05BTUUsCj4+ ICAJCQkJCQkJIE5VTEwsIE5VTEwsCj4+ICAJCQkJCQkJICZpYm1fYmFja2xpZ2h0X2RhdGEsCj4+ IC0JCQkJCQkJICZwcm9wcyk7Cj4+ICsJCQkJCQkJICZwcm9wcywKPj4gKwkJCQkJCQkgQkFDS0xJ R0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4+ICAJaWYgKElTX0VSUihpYm1fYmFja2xpZ2h0X2Rl dmljZSkpIHsKPj4gIAkJaW50IHJjID0gUFRSX0VSUihpYm1fYmFja2xpZ2h0X2RldmljZSk7Cj4+ ICAJCWlibV9iYWNrbGlnaHRfZGV2aWNlID0gTlVMTDsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv cGxhdGZvcm0veDg2L3Rvc2hpYmFfYWNwaS5jIGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvdG9zaGli YV9hY3BpLmMKPj4gaW5kZXggMDFlMTJkMjIxYThiLi42YjBmMjMzNjAwOTQgMTAwNjQ0Cj4+IC0t LSBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L3Rvc2hpYmFfYWNwaS5jCj4+ICsrKyBiL2RyaXZlcnMv cGxhdGZvcm0veDg2L3Rvc2hpYmFfYWNwaS5jCj4+IEBAIC0yODQwLDcgKzI4NDAsOCBAQCBzdGF0 aWMgaW50IHRvc2hpYmFfYWNwaV9zZXR1cF9iYWNrbGlnaHQoc3RydWN0IHRvc2hpYmFfYWNwaV9k ZXYgKmRldikKPj4gIAkJCQkJCSAgICAgICAmZGV2LT5hY3BpX2Rldi0+ZGV2LAo+PiAgCQkJCQkJ ICAgICAgIGRldiwKPj4gIAkJCQkJCSAgICAgICAmdG9zaGliYV9iYWNrbGlnaHRfZGF0YSwKPj4g LQkJCQkJCSAgICAgICAmcHJvcHMpOwo+PiArCQkJCQkJICAgICAgICZwcm9wcywKPj4gKwkJCQkJ CSAgICAgICBCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPj4gIAlpZiAoSVNfRVJSKGRl di0+YmFja2xpZ2h0X2RldikpIHsKPj4gIAkJcmV0ID0gUFRSX0VSUihkZXYtPmJhY2tsaWdodF9k ZXYpOwo+PiAgCQlwcl9lcnIoIkNvdWxkIG5vdCByZWdpc3RlciB0b3NoaWJhIGJhY2tsaWdodCBk ZXZpY2VcbiIpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZiX3NzZDEz NTEuYyBiL2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYl9zc2QxMzUxLmMKPj4gaW5kZXggY2VmMzNl NDM5ZjQ2Li42YTE5NGZhZjY0NDggMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9mYnRm dC9mYl9zc2QxMzUxLmMKPj4gKysrIGIvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZiX3NzZDEzNTEu Ywo+PiBAQCAtMjEwLDcgKzIxMCw4IEBAIHN0YXRpYyB2b2lkIHJlZ2lzdGVyX29uYm9hcmRfYmFj a2xpZ2h0KHN0cnVjdCBmYnRmdF9wYXIgKnBhcikKPj4gIAlibF9wcm9wcy5wb3dlciA9IEZCX0JM QU5LX1BPV0VSRE9XTjsKPj4gIAo+PiAgCWJkID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3Rlcihk ZXZfZHJpdmVyX3N0cmluZyhwYXItPmluZm8tPmRldmljZSksCj4+IC0JCQkJcGFyLT5pbmZvLT5k ZXZpY2UsIHBhciwgJmJsX29wcywgJmJsX3Byb3BzKTsKPj4gKwkJCQlwYXItPmluZm8tPmRldmlj ZSwgcGFyLCAmYmxfb3BzLCAmYmxfcHJvcHMsCj4+ICsJCQkJQkFDS0xJR0hUX1JFR0lTVEVSX0ZC X0NMSUVOVCk7Cj4+ICAJaWYgKElTX0VSUihiZCkpIHsKPj4gIAkJZGV2X2VycihwYXItPmluZm8t PmRldmljZSwKPj4gIAkJCSJjYW5ub3QgcmVnaXN0ZXIgYmFja2xpZ2h0IGRldmljZSAoJWxkKVxu IiwKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYl93YXR0ZXJvdHQuYyBi L2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYl93YXR0ZXJvdHQuYwo+PiBpbmRleCBmOGNiNjEwYTdi NjkuLmIyNDkxMzY4ODAxNCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2Zi X3dhdHRlcm90dC5jCj4+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYl93YXR0ZXJvdHQu Ywo+PiBAQCAtMjU5LDcgKzI1OSw4IEBAIHN0YXRpYyB2b2lkIHJlZ2lzdGVyX2NoaXBfYmFja2xp Z2h0KHN0cnVjdCBmYnRmdF9wYXIgKnBhcikKPj4gIAlibF9wcm9wcy5icmlnaHRuZXNzID0gREVG QVVMVF9CUklHSFRORVNTOwo+PiAgCj4+ICAJYmQgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVy KGRldl9kcml2ZXJfc3RyaW5nKHBhci0+aW5mby0+ZGV2aWNlKSwKPj4gLQkJCQlwYXItPmluZm8t PmRldmljZSwgcGFyLCAmYmxfb3BzLCAmYmxfcHJvcHMpOwo+PiArCQkJCXBhci0+aW5mby0+ZGV2 aWNlLCBwYXIsICZibF9vcHMsICZibF9wcm9wcywKPj4gKwkJCQlCQUNLTElHSFRfUkVHSVNURVJf RkJfQ0xJRU5UKTsKPj4gIAlpZiAoSVNfRVJSKGJkKSkgewo+PiAgCQlkZXZfZXJyKHBhci0+aW5m by0+ZGV2aWNlLAo+PiAgCQkJImNhbm5vdCByZWdpc3RlciBiYWNrbGlnaHQgZGV2aWNlICglbGQp XG4iLAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZidGZ0LWNvcmUuYyBi L2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYnRmdC1jb3JlLmMKPj4gaW5kZXggMGMxYTc3Y2FmZTE0 Li42MWM2N2IwNzliOTAgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYnRm dC1jb3JlLmMKPj4gKysrIGIvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZidGZ0LWNvcmUuYwo+PiBA QCAtMjk5LDcgKzI5OSw4IEBAIHZvaWQgZmJ0ZnRfcmVnaXN0ZXJfYmFja2xpZ2h0KHN0cnVjdCBm YnRmdF9wYXIgKnBhcikKPj4gIAkJYmxfcHJvcHMuc3RhdGUgfD0gQkxfQ09SRV9EUklWRVIxOwo+ PiAgCj4+ICAJYmQgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKGRldl9kcml2ZXJfc3RyaW5n KHBhci0+aW5mby0+ZGV2aWNlKSwKPj4gLQkJCQlwYXItPmluZm8tPmRldmljZSwgcGFyLCAmZmJ0 ZnRfYmxfb3BzLCAmYmxfcHJvcHMpOwo+PiArCQkJCXBhci0+aW5mby0+ZGV2aWNlLCBwYXIsICZm YnRmdF9ibF9vcHMsICZibF9wcm9wcywKPj4gKwkJCQlCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJ RU5UKTsKPj4gIAlpZiAoSVNfRVJSKGJkKSkgewo+PiAgCQlkZXZfZXJyKHBhci0+aW5mby0+ZGV2 aWNlLAo+PiAgCQkJImNhbm5vdCByZWdpc3RlciBiYWNrbGlnaHQgZGV2aWNlICglbGQpXG4iLAo+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL29scGNfZGNvbi9vbHBjX2Rjb24uYyBiL2Ry aXZlcnMvc3RhZ2luZy9vbHBjX2Rjb24vb2xwY19kY29uLmMKPj4gaW5kZXggZjQ1YjJlZjA1ZjQ4 Li4zODVjN2FkZWFhMjYgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9vbHBjX2Rjb24v b2xwY19kY29uLmMKPj4gKysrIGIvZHJpdmVycy9zdGFnaW5nL29scGNfZGNvbi9vbHBjX2Rjb24u Ywo+PiBAQCAtNjQzLDcgKzY0Myw4IEBAIHN0YXRpYyBpbnQgZGNvbl9wcm9iZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50LCBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCAqaWQpCj4+ICAJLyog QWRkIHRoZSBiYWNrbGlnaHQgZGV2aWNlIGZvciB0aGUgRENPTiAqLwo+PiAgCWRjb25fYmxfcHJv cHMuYnJpZ2h0bmVzcyA9IGRjb24tPmJsX3ZhbDsKPj4gIAlkY29uLT5ibF9kZXYgPSBiYWNrbGln aHRfZGV2aWNlX3JlZ2lzdGVyKCJkY29uLWJsIiwgJmRjb25fZGV2aWNlLT5kZXYsCj4+IC0JCWRj b24sICZkY29uX2JsX29wcywgJmRjb25fYmxfcHJvcHMpOwo+PiArCQlkY29uLCAmZGNvbl9ibF9v cHMsICZkY29uX2JsX3Byb3BzLAo+PiArCQlCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsK Pj4gIAlpZiAoSVNfRVJSKGRjb24tPmJsX2RldikpIHsKPj4gIAkJZGV2X2VycigmY2xpZW50LT5k ZXYsICJjYW5ub3QgcmVnaXN0ZXIgYmFja2xpZ2h0IGRldiAoJWxkKVxuIiwKPj4gIAkJCQlQVFJf RVJSKGRjb24tPmJsX2RldikpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbWlzYy9hcHBs ZWRpc3BsYXkuYyBiL2RyaXZlcnMvdXNiL21pc2MvYXBwbGVkaXNwbGF5LmMKPj4gaW5kZXggYTBh MzgyN2I0YWZmLi45N2MwODI5NzExYTggMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvdXNiL21pc2Mv YXBwbGVkaXNwbGF5LmMKPj4gKysrIGIvZHJpdmVycy91c2IvbWlzYy9hcHBsZWRpc3BsYXkuYwo+ PiBAQCAtMjkzLDcgKzI5Myw4IEBAIHN0YXRpYyBpbnQgYXBwbGVkaXNwbGF5X3Byb2JlKHN0cnVj dCB1c2JfaW50ZXJmYWNlICppZmFjZSwKPj4gIAlwcm9wcy50eXBlID0gQkFDS0xJR0hUX1JBVzsK Pj4gIAlwcm9wcy5tYXhfYnJpZ2h0bmVzcyA9IDB4ZmY7Cj4+ICAJcGRhdGEtPmJkID0gYmFja2xp Z2h0X2RldmljZV9yZWdpc3RlcihibF9uYW1lLCBOVUxMLCBwZGF0YSwKPj4gLQkJCQkJICAgICAg JmFwcGxlZGlzcGxheV9ibF9kYXRhLCAmcHJvcHMpOwo+PiArCQkJCQkgICAgICAmYXBwbGVkaXNw bGF5X2JsX2RhdGEsICZwcm9wcywKPj4gKwkJCQkJICAgICAgQkFDS0xJR0hUX1JFR0lTVEVSX0ZC X0NMSUVOVCk7Cj4+ICAJaWYgKElTX0VSUihwZGF0YS0+YmQpKSB7Cj4+ICAJCWRldl9lcnIoJmlm YWNlLT5kZXYsICJCYWNrbGlnaHQgcmVnaXN0cmF0aW9uIGZhaWxlZFxuIik7Cj4+ICAJCXJldHZh bCA9IFBUUl9FUlIocGRhdGEtPmJkKTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFj a2xpZ2h0Lzg4cG04NjB4X2JsLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC84OHBtODYweF9i bC5jCj4+IGluZGV4IDZkOGRjMmM3NzUyMC4uZTBkODIxMmFlYmMwIDEwMDY0NAo+PiAtLS0gYS9k cml2ZXJzL3ZpZGVvL2JhY2tsaWdodC84OHBtODYweF9ibC5jCj4+ICsrKyBiL2RyaXZlcnMvdmlk ZW8vYmFja2xpZ2h0Lzg4cG04NjB4X2JsLmMKPj4gQEAgLTI0Miw3ICsyNDIsOCBAQCBzdGF0aWMg aW50IHBtODYweF9iYWNrbGlnaHRfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikK Pj4gIAlwcm9wcy50eXBlID0gQkFDS0xJR0hUX1JBVzsKPj4gIAlwcm9wcy5tYXhfYnJpZ2h0bmVz cyA9IE1BWF9CUklHSFRORVNTOwo+PiAgCWJsID0gZGV2bV9iYWNrbGlnaHRfZGV2aWNlX3JlZ2lz dGVyKCZwZGV2LT5kZXYsIG5hbWUsICZwZGV2LT5kZXYsIGRhdGEsCj4+IC0JCQkJCSZwbTg2MHhf YmFja2xpZ2h0X29wcywgJnByb3BzKTsKPj4gKwkJCQkJJnBtODYweF9iYWNrbGlnaHRfb3BzLCAm cHJvcHMsCj4+ICsJCQkJCUJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+PiAgCWlmIChJ U19FUlIoYmwpKSB7Cj4+ICAJCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byByZWdpc3Rl ciBiYWNrbGlnaHRcbiIpOwo+PiAgCQlyZXR1cm4gUFRSX0VSUihibCk7Cj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9hYXQyODcwX2JsLmMgYi9kcml2ZXJzL3ZpZGVvL2Jh Y2tsaWdodC9hYXQyODcwX2JsLmMKPj4gaW5kZXggNTA3NzRlNjU3NzAwLi5hNGNiYzMzYmQ2YzIg MTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2FhdDI4NzBfYmwuYwo+PiAr KysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9hYXQyODcwX2JsLmMKPj4gQEAgLTE1Miw3ICsx NTIsOCBAQCBzdGF0aWMgaW50IGFhdDI4NzBfYmxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikKPj4gIAlwcm9wcy50eXBlID0gQkFDS0xJR0hUX1JBVzsKPj4gIAliZCA9IGRldm1f YmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigmcGRldi0+ZGV2LCAiYWF0Mjg3MC1iYWNrbGlnaHQi LAo+PiAgCQkJCQkmcGRldi0+ZGV2LCBhYXQyODcwX2JsLCAmYWF0Mjg3MF9ibF9vcHMsCj4+IC0J CQkJCSZwcm9wcyk7Cj4+ICsJCQkJCSZwcm9wcywKPj4gKwkJCQkJQkFDS0xJR0hUX1JFR0lTVEVS X0ZCX0NMSUVOVCk7Cj4+ICAJaWYgKElTX0VSUihiZCkpIHsKPj4gIAkJZGV2X2VycigmcGRldi0+ ZGV2LAo+PiAgCQkJIkZhaWxlZCBhbGxvY2F0ZSBtZW1vcnkgZm9yIGJhY2tsaWdodCBkZXZpY2Vc biIpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYWRwNTUyMF9ibC5j IGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYWRwNTUyMF9ibC5jCj4+IGluZGV4IGRkODhiYTFk NzFjZS4uMDMwOTNmYmVlNDE0IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdo dC9hZHA1NTIwX2JsLmMKPj4gKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYWRwNTUyMF9i bC5jCj4+IEBAIC0zMTUsNyArMzE1LDggQEAgc3RhdGljIGludCBhZHA1NTIwX2JsX3Byb2JlKHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4+ICAJcHJvcHMubWF4X2JyaWdodG5lc3MgPSBB RFA1MDIwX01BWF9CUklHSFRORVNTOwo+PiAgCWJsID0gZGV2bV9iYWNrbGlnaHRfZGV2aWNlX3Jl Z2lzdGVyKCZwZGV2LT5kZXYsIHBkZXYtPm5hbWUsCj4+ICAJCQkJCWRhdGEtPm1hc3RlciwgZGF0 YSwgJmFkcDU1MjBfYmxfb3BzLAo+PiAtCQkJCQkmcHJvcHMpOwo+PiArCQkJCQkmcHJvcHMsCj4+ ICsJCQkJCUJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+PiAgCWlmIChJU19FUlIoYmwp KSB7Cj4+ICAJCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byByZWdpc3RlciBiYWNrbGln aHRcbiIpOwo+PiAgCQlyZXR1cm4gUFRSX0VSUihibCk7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L3ZpZGVvL2JhY2tsaWdodC9hZHA4ODYwX2JsLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9h ZHA4ODYwX2JsLmMKPj4gaW5kZXggNTEwZTU1OWMwNjBlLi44ODk4MmVkMjU3ZDkgMTAwNjQ0Cj4+ IC0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2FkcDg4NjBfYmwuYwo+PiArKysgYi9kcml2 ZXJzL3ZpZGVvL2JhY2tsaWdodC9hZHA4ODYwX2JsLmMKPj4gQEAgLTcxOCw3ICs3MTgsOCBAQCBz dGF0aWMgaW50IGFkcDg4NjBfcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwKPj4gIAo+ PiAgCWJsID0gZGV2bV9iYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCZjbGllbnQtPmRldiwKPj4g IAkJCQlkZXZfZHJpdmVyX3N0cmluZygmY2xpZW50LT5kZXYpLAo+PiAtCQkJCSZjbGllbnQtPmRl diwgZGF0YSwgJmFkcDg4NjBfYmxfb3BzLCAmcHJvcHMpOwo+PiArCQkJCSZjbGllbnQtPmRldiwg ZGF0YSwgJmFkcDg4NjBfYmxfb3BzLCAmcHJvcHMsCj4+ICsJCQkJQkFDS0xJR0hUX1JFR0lTVEVS X0ZCX0NMSUVOVCk7Cj4+ICAJaWYgKElTX0VSUihibCkpIHsKPj4gIAkJZGV2X2VycigmY2xpZW50 LT5kZXYsICJmYWlsZWQgdG8gcmVnaXN0ZXIgYmFja2xpZ2h0XG4iKTsKPj4gIAkJcmV0dXJuIFBU Ul9FUlIoYmwpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYWRwODg3 MF9ibC5jIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYWRwODg3MF9ibC5jCj4+IGluZGV4IDIx YWNhYzkwZmQ3Ny4uNTI4NGY3ZjNjZGQzIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2Jh Y2tsaWdodC9hZHA4ODcwX2JsLmMKPj4gKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYWRw ODg3MF9ibC5jCj4+IEBAIC04OTQsNyArODk0LDggQEAgc3RhdGljIGludCBhZHA4ODcwX3Byb2Jl KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsCj4+ICAJcHJvcHMubWF4X2JyaWdodG5lc3MgPSBw cm9wcy5icmlnaHRuZXNzID0gQURQODg3MF9NQVhfQlJJR0hUTkVTUzsKPj4gIAlibCA9IGRldm1f YmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigmY2xpZW50LT5kZXYsCj4+ICAJCQkJZGV2X2RyaXZl cl9zdHJpbmcoJmNsaWVudC0+ZGV2KSwKPj4gLQkJCQkmY2xpZW50LT5kZXYsIGRhdGEsICZhZHA4 ODcwX2JsX29wcywgJnByb3BzKTsKPj4gKwkJCQkmY2xpZW50LT5kZXYsIGRhdGEsICZhZHA4ODcw X2JsX29wcywgJnByb3BzLAo+PiArCQkJCUJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+ PiAgCWlmIChJU19FUlIoYmwpKSB7Cj4+ICAJCWRldl9lcnIoJmNsaWVudC0+ZGV2LCAiZmFpbGVk IHRvIHJlZ2lzdGVyIGJhY2tsaWdodFxuIik7Cj4+ICAJCXJldHVybiBQVFJfRVJSKGJsKTsKPj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2FtczM2OWZnMDYuYyBiL2RyaXZl cnMvdmlkZW8vYmFja2xpZ2h0L2FtczM2OWZnMDYuYwo+PiBpbmRleCA1Y2NhOGNlNDVkNGQuLjFi ZDY1NjE0MWMxZSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYW1zMzY5 ZmcwNi5jCj4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2FtczM2OWZnMDYuYwo+PiBA QCAtNDg0LDcgKzQ4NCw4IEBAIHN0YXRpYyBpbnQgYW1zMzY5ZmcwNl9wcm9iZShzdHJ1Y3Qgc3Bp X2RldmljZSAqc3BpKQo+PiAgCj4+ICAJYmQgPSBkZXZtX2JhY2tsaWdodF9kZXZpY2VfcmVnaXN0 ZXIoJnNwaS0+ZGV2LCAiYW1zMzY5ZmcwNi1ibCIsCj4+ICAJCQkJCSZzcGktPmRldiwgbGNkLAo+ PiAtCQkJCQkmYW1zMzY5ZmcwNl9iYWNrbGlnaHRfb3BzLCAmcHJvcHMpOwo+PiArCQkJCQkmYW1z MzY5ZmcwNl9iYWNrbGlnaHRfb3BzLCAmcHJvcHMsCj4+ICsJCQkJCUJBQ0tMSUdIVF9SRUdJU1RF Ul9GQl9DTElFTlQpOwo+PiAgCWlmIChJU19FUlIoYmQpKQo+PiAgCQlyZXR1cm4gUFRSX0VSUihi ZCk7Cj4+ICAKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2FwcGxlX2Js LmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9hcHBsZV9ibC5jCj4+IGluZGV4IGQ4NDMyOTY3 NjY4OS4uZWUyZTkyZDU4NTEyIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdo dC9hcHBsZV9ibC5jCj4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2FwcGxlX2JsLmMK Pj4gQEAgLTE4Miw3ICsxODIsOCBAQCBzdGF0aWMgaW50IGFwcGxlX2JsX2FkZChzdHJ1Y3QgYWNw aV9kZXZpY2UgKmRldikKPj4gIAlwcm9wcy50eXBlID0gQkFDS0xJR0hUX1BMQVRGT1JNOwo+PiAg CXByb3BzLm1heF9icmlnaHRuZXNzID0gMTU7Cj4+ICAJYXBwbGVfYmFja2xpZ2h0X2RldmljZSA9 IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoImFwcGxlX2JhY2tsaWdodCIsCj4+IC0JCQkJICBO VUxMLCBOVUxMLCAmaHdfZGF0YS0+YmFja2xpZ2h0X29wcywgJnByb3BzKTsKPj4gKwkJCQkgIE5V TEwsIE5VTEwsICZod19kYXRhLT5iYWNrbGlnaHRfb3BzLCAmcHJvcHMsCj4+ICsJCQkJICBCQUNL TElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPj4gIAo+PiAgCWlmIChJU19FUlIoYXBwbGVfYmFj a2xpZ2h0X2RldmljZSkpIHsKPj4gIAkJcmVsZWFzZV9yZWdpb24oaHdfZGF0YS0+aW9zdGFydCwg aHdfZGF0YS0+aW9sZW4pOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQv YXMzNzExX2JsLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9hczM3MTFfYmwuYwo+PiBpbmRl eCA3MzRhOTE1ODk0NmIuLjVmM2E0MGJjOGE4NSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy92aWRl by9iYWNrbGlnaHQvYXMzNzExX2JsLmMKPj4gKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQv YXMzNzExX2JsLmMKPj4gQEAgLTI0NCw3ICsyNDQsOCBAQCBzdGF0aWMgaW50IGFzMzcxMV9ibF9y ZWdpc3RlcihzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAo+PiAgCQkJCSAgICAgICBzdS0+ dHlwZSA9PSBBUzM3MTFfQkxfU1UxID8KPj4gIAkJCQkgICAgICAgImFzMzcxMS1zdTEiIDogImFz MzcxMS1zdTIiLAo+PiAgCQkJCSAgICAgICAmcGRldi0+ZGV2LCBzdSwKPj4gLQkJCQkgICAgICAg JmFzMzcxMV9ibF9vcHMsICZwcm9wcyk7Cj4+ICsJCQkJICAgICAgICZhczM3MTFfYmxfb3BzLCAm cHJvcHMsCj4+ICsJCQkJICAgICAgIEJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+PiAg CWlmIChJU19FUlIoYmwpKSB7Cj4+ICAJCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byBy ZWdpc3RlciBiYWNrbGlnaHRcbiIpOwo+PiAgCQlyZXR1cm4gUFRSX0VSUihibCk7Cj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9iYWNrbGlnaHQuYyBiL2RyaXZlcnMvdmlk ZW8vYmFja2xpZ2h0L2JhY2tsaWdodC5jCj4+IGluZGV4IDI4ODMxOGFkMjFkZC4uMWEyNTI3MzU3 NmU4IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9iYWNrbGlnaHQuYwo+ PiArKysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9iYWNrbGlnaHQuYwo+PiBAQCAtMzE5LDEz ICszMTksMTUgQEAgRVhQT1JUX1NZTUJPTChiYWNrbGlnaHRfZm9yY2VfdXBkYXRlKTsKPj4gICAq IEBkZXZkYXRhOiBhbiBvcHRpb25hbCBwb2ludGVyIHRvIGJlIHN0b3JlZCBmb3IgcHJpdmF0ZSBk cml2ZXIgdXNlLiBUaGUKPj4gICAqICAgbWV0aG9kcyBtYXkgcmV0cmlldmUgaXQgYnkgdXNpbmcg YmxfZ2V0X2RhdGEoYmQpLgo+PiAgICogQG9wczogdGhlIGJhY2tsaWdodCBvcGVyYXRpb25zIHN0 cnVjdHVyZS4KPj4gKyAqIEBmbGFnczogYml0bWFzayB0byBjb250cm9sIGJhY2tsaWdodCByZWdp c3RyYXRpb24KPj4gICAqCj4+ICAgKiBDcmVhdGVzIGFuZCByZWdpc3RlcnMgbmV3IGJhY2tsaWdo dCBkZXZpY2UuIFJldHVybnMgZWl0aGVyIGFuCj4+ICAgKiBFUlJfUFRSKCkgb3IgYSBwb2ludGVy IHRvIHRoZSBuZXdseSBhbGxvY2F0ZWQgZGV2aWNlLgo+PiAgICovCj4+ICBzdHJ1Y3QgYmFja2xp Z2h0X2RldmljZSAqYmFja2xpZ2h0X2RldmljZV9yZWdpc3Rlcihjb25zdCBjaGFyICpuYW1lLAo+ PiAgCXN0cnVjdCBkZXZpY2UgKnBhcmVudCwgdm9pZCAqZGV2ZGF0YSwgY29uc3Qgc3RydWN0IGJh Y2tsaWdodF9vcHMgKm9wcywKPj4gLQljb25zdCBzdHJ1Y3QgYmFja2xpZ2h0X3Byb3BlcnRpZXMg KnByb3BzKQo+PiArCWNvbnN0IHN0cnVjdCBiYWNrbGlnaHRfcHJvcGVydGllcyAqcHJvcHMsCj4+ ICsJdW5zaWduZWQgbG9uZyBmbGFncykKPj4gIHsKPj4gIAlzdHJ1Y3QgYmFja2xpZ2h0X2Rldmlj ZSAqbmV3X2JkOwo+PiAgCWludCByYzsKPj4gQEAgLTM2MywxMCArMzY1LDEyIEBAIHN0cnVjdCBi YWNrbGlnaHRfZGV2aWNlICpiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKGNvbnN0IGNoYXIgKm5h bWUsCj4+ICAJCXJldHVybiBFUlJfUFRSKHJjKTsKPj4gIAl9Cj4+ICAKPj4gLQlyYyA9IGJhY2ts aWdodF9yZWdpc3Rlcl9mYihuZXdfYmQpOwo+PiAtCWlmIChyYykgewo+PiAtCQlkZXZpY2VfdW5y ZWdpc3RlcigmbmV3X2JkLT5kZXYpOwo+PiAtCQlyZXR1cm4gRVJSX1BUUihyYyk7Cj4+ICsJaWYg KGZsYWdzICYgQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCkgewo+PiArCQlyYyA9IGJhY2ts aWdodF9yZWdpc3Rlcl9mYihuZXdfYmQpOwo+PiArCQlpZiAocmMpIHsKPj4gKwkJCWRldmljZV91 bnJlZ2lzdGVyKCZuZXdfYmQtPmRldik7Cj4+ICsJCQlyZXR1cm4gRVJSX1BUUihyYyk7Cj4+ICsJ CX0KPj4gIAl9Cj4+ICAKPj4gIAluZXdfYmQtPm9wcyA9IG9wczsKPj4gQEAgLTQ5NCw2ICs0OTgs NyBAQCBFWFBPUlRfU1lNQk9MKGJhY2tsaWdodF91bnJlZ2lzdGVyX25vdGlmaWVyKTsKPj4gICAq IEBkZXZkYXRhOiBhbiBvcHRpb25hbCBwb2ludGVyIHRvIGJlIHN0b3JlZCBmb3IgcHJpdmF0ZSBk cml2ZXIgdXNlCj4+ICAgKiBAb3BzOiB0aGUgYmFja2xpZ2h0IG9wZXJhdGlvbnMgc3RydWN0dXJl Cj4+ICAgKiBAcHJvcHM6IHRoZSBiYWNrbGlnaHQgcHJvcGVydGllcwo+PiArICogQGZsYWdzOiBi aXRtYXNrIHRvIGNvbnRyb2wgYmFja2xpZ2h0IHJlZ2lzdHJhdGlvbgo+PiAgICoKPj4gICAqIEBy ZXR1cm4gYSBzdHJ1Y3QgYmFja2xpZ2h0IG9uIHN1Y2Nlc3MsIG9yIGFuIEVSUl9QVFIgb24gZXJy b3IKPj4gICAqCj4+IEBAIC01MDQsNyArNTA5LDggQEAgRVhQT1JUX1NZTUJPTChiYWNrbGlnaHRf dW5yZWdpc3Rlcl9ub3RpZmllcik7Cj4+ICBzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqZGV2bV9i YWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKHN0cnVjdCBkZXZpY2UgKmRldiwKPj4gIAljb25zdCBj aGFyICpuYW1lLCBzdHJ1Y3QgZGV2aWNlICpwYXJlbnQsIHZvaWQgKmRldmRhdGEsCj4+ICAJY29u c3Qgc3RydWN0IGJhY2tsaWdodF9vcHMgKm9wcywKPj4gLQljb25zdCBzdHJ1Y3QgYmFja2xpZ2h0 X3Byb3BlcnRpZXMgKnByb3BzKQo+PiArCWNvbnN0IHN0cnVjdCBiYWNrbGlnaHRfcHJvcGVydGll cyAqcHJvcHMsCj4+ICsJdW5zaWduZWQgbG9uZyBmbGFncykKPj4gIHsKPj4gIAlzdHJ1Y3QgYmFj a2xpZ2h0X2RldmljZSAqKnB0ciwgKmJhY2tsaWdodDsKPj4gIAo+PiBAQCAtNTE0LDcgKzUyMCw3 IEBAIHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpkZXZtX2JhY2tsaWdodF9kZXZpY2VfcmVnaXN0 ZXIoc3RydWN0IGRldmljZSAqZGV2LAo+PiAgCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKPj4g IAo+PiAgCWJhY2tsaWdodCA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIobmFtZSwgcGFyZW50 LCBkZXZkYXRhLCBvcHMsCj4+IC0JCQkJCQlwcm9wcyk7Cj4+ICsJCQkJCQlwcm9wcywgZmxhZ3Mp Owo+PiAgCWlmICghSVNfRVJSKGJhY2tsaWdodCkpIHsKPj4gIAkJKnB0ciA9IGJhY2tsaWdodDsK Pj4gIAkJZGV2cmVzX2FkZChkZXYsIHB0cik7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVv L2JhY2tsaWdodC9iZDYxMDcuYyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2JkNjEwNy5jCj4+ IGluZGV4IGZkYjJmN2UyYzZiNS4uYThlY2Q3YTJmMmE0IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJz L3ZpZGVvL2JhY2tsaWdodC9iZDYxMDcuYwo+PiArKysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdo dC9iZDYxMDcuYwo+PiBAQCAtMTYzLDcgKzE2Myw4IEBAIHN0YXRpYyBpbnQgYmQ2MTA3X3Byb2Jl KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsCj4+ICAJYmFja2xpZ2h0ID0gZGV2bV9iYWNrbGln aHRfZGV2aWNlX3JlZ2lzdGVyKCZjbGllbnQtPmRldiwKPj4gIAkJCQkJICAgICAgZGV2X25hbWUo JmNsaWVudC0+ZGV2KSwKPj4gIAkJCQkJICAgICAgJmJkLT5jbGllbnQtPmRldiwgYmQsCj4+IC0J CQkJCSAgICAgICZiZDYxMDdfYmFja2xpZ2h0X29wcywgJnByb3BzKTsKPj4gKwkJCQkJICAgICAg JmJkNjEwN19iYWNrbGlnaHRfb3BzLCAmcHJvcHMsCj4+ICsJCQkJCSAgICAgIEJBQ0tMSUdIVF9S RUdJU1RFUl9GQl9DTElFTlQpOwo+PiAgCWlmIChJU19FUlIoYmFja2xpZ2h0KSkgewo+PiAgCQlk ZXZfZXJyKCZjbGllbnQtPmRldiwgImZhaWxlZCB0byByZWdpc3RlciBiYWNrbGlnaHRcbiIpOwo+ PiAgCQlyZXR1cm4gUFRSX0VSUihiYWNrbGlnaHQpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92 aWRlby9iYWNrbGlnaHQvY29yZ2lfbGNkLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9jb3Jn aV9sY2QuYwo+PiBpbmRleCBkN2MyMzllYTNkMDkuLjAwNmUxNzEyNTZhMCAxMDA2NDQKPj4gLS0t IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvY29yZ2lfbGNkLmMKPj4gKysrIGIvZHJpdmVycy92 aWRlby9iYWNrbGlnaHQvY29yZ2lfbGNkLmMKPj4gQEAgLTU2Miw3ICs1NjIsOCBAQCBzdGF0aWMg aW50IGNvcmdpX2xjZF9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQo+PiAgCXByb3BzLm1h eF9icmlnaHRuZXNzID0gcGRhdGEtPm1heF9pbnRlbnNpdHk7Cj4+ICAJbGNkLT5ibF9kZXYgPSBk ZXZtX2JhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoJnNwaS0+ZGV2LCAiY29yZ2lfYmwiLAo+PiAg CQkJCQkJJnNwaS0+ZGV2LCBsY2QsICZjb3JnaV9ibF9vcHMsCj4+IC0JCQkJCQkmcHJvcHMpOwo+ PiArCQkJCQkJJnByb3BzLAo+PiArCQkJCQkJQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7 Cj4+ICAJaWYgKElTX0VSUihsY2QtPmJsX2RldikpCj4+ICAJCXJldHVybiBQVFJfRVJSKGxjZC0+ YmxfZGV2KTsKPj4gIAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvY3Jf YmxsY2QuYyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2NyX2JsbGNkLmMKPj4gaW5kZXggM2Uz ODgwZmM4YzhlLi5jZjdjNWQzNWRkNjMgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvdmlkZW8vYmFj a2xpZ2h0L2NyX2JsbGNkLmMKPj4gKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvY3JfYmxs Y2QuYwo+PiBAQCAtMTk3LDcgKzE5Nyw4IEBAIHN0YXRpYyBpbnQgY3JfYmFja2xpZ2h0X3Byb2Jl KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4+ICAJcHJvcHMudHlwZSA9IEJBQ0tMSUdI VF9SQVc7Cj4+ICAJYmRwID0gZGV2bV9iYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCZwZGV2LT5k ZXYsICJjci1iYWNrbGlnaHQiLAo+PiAgCQkJCQkmcGRldi0+ZGV2LCBOVUxMLCAmY3JfYmFja2xp Z2h0X29wcywKPj4gLQkJCQkJJnByb3BzKTsKPj4gKwkJCQkJJnByb3BzLAo+PiArCQkJCQlCQUNL TElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPj4gIAlpZiAoSVNfRVJSKGJkcCkpIHsKPj4gIAkJ cGNpX2Rldl9wdXQobHBjX2Rldik7Cj4+ICAJCXJldHVybiBQVFJfRVJSKGJkcCk7Cj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9kYTkwM3hfYmwuYyBiL2RyaXZlcnMvdmlk ZW8vYmFja2xpZ2h0L2RhOTAzeF9ibC5jCj4+IGluZGV4IGY3OTM3MzhmMDZmYi4uZDYwMTlhZWJm YTQyIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9kYTkwM3hfYmwuYwo+ PiArKysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9kYTkwM3hfYmwuYwo+PiBAQCAtMTQ2LDcg KzE0Niw4IEBAIHN0YXRpYyBpbnQgZGE5MDN4X2JhY2tsaWdodF9wcm9iZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQo+PiAgCXByb3BzLm1heF9icmlnaHRuZXNzID0gbWF4X2JyaWdodG5l c3M7Cj4+ICAJYmwgPSBkZXZtX2JhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoJnBkZXYtPmRldiwg cGRldi0+bmFtZSwKPj4gIAkJCQkJZGF0YS0+ZGE5MDN4X2RldiwgZGF0YSwKPj4gLQkJCQkJJmRh OTAzeF9iYWNrbGlnaHRfb3BzLCAmcHJvcHMpOwo+PiArCQkJCQkmZGE5MDN4X2JhY2tsaWdodF9v cHMsICZwcm9wcywKPj4gKwkJCQkJQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4+ICAJ aWYgKElTX0VSUihibCkpIHsKPj4gIAkJZGV2X2VycigmcGRldi0+ZGV2LCAiZmFpbGVkIHRvIHJl Z2lzdGVyIGJhY2tsaWdodFxuIik7Cj4+ICAJCXJldHVybiBQVFJfRVJSKGJsKTsKPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2RhOTA1Ml9ibC5jIGIvZHJpdmVycy92aWRl by9iYWNrbGlnaHQvZGE5MDUyX2JsLmMKPj4gaW5kZXggZmQyYmU0MTdhYTY0Li45NjczOGMyZThh MDkgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2RhOTA1Ml9ibC5jCj4+ ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2RhOTA1Ml9ibC5jCj4+IEBAIC0xMjcsNyAr MTI3LDggQEAgc3RhdGljIGludCBkYTkwNTJfYmFja2xpZ2h0X3Byb2JlKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpCj4+ICAKPj4gIAlibCA9IGRldm1fYmFja2xpZ2h0X2RldmljZV9yZWdp c3RlcigmcGRldi0+ZGV2LCBwZGV2LT5uYW1lLAo+PiAgCQkJCQl3bGVkcy0+ZGE5MDUyLT5kZXYs IHdsZWRzLAo+PiAtCQkJCQkmZGE5MDUyX2JhY2tsaWdodF9vcHMsICZwcm9wcyk7Cj4+ICsJCQkJ CSZkYTkwNTJfYmFja2xpZ2h0X29wcywgJnByb3BzLAo+PiArCQkJCQlCQUNLTElHSFRfUkVHSVNU RVJfRkJfQ0xJRU5UKTsKPj4gIAlpZiAoSVNfRVJSKGJsKSkgewo+PiAgCQlkZXZfZXJyKCZwZGV2 LT5kZXYsICJGYWlsZWQgdG8gcmVnaXN0ZXIgYmFja2xpZ2h0XG4iKTsKPj4gIAkJcmV0dXJuIFBU Ul9FUlIoYmwpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvZXA5M3h4 X2JsLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9lcDkzeHhfYmwuYwo+PiBpbmRleCAwMDY3 OTMxODIxYzYuLjdmZTI1NDk5NjlhMSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy92aWRlby9iYWNr bGlnaHQvZXA5M3h4X2JsLmMKPj4gKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvZXA5M3h4 X2JsLmMKPj4gQEAgLTkzLDcgKzkzLDggQEAgc3RhdGljIGludCBlcDkzeHhibF9wcm9iZShzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCj4+ICAJcHJvcHMudHlwZSA9IEJBQ0tMSUdIVF9SQVc7 Cj4+ICAJcHJvcHMubWF4X2JyaWdodG5lc3MgPSBFUDkzWFhfTUFYX0JSSUdIVDsKPj4gIAlibCA9 IGRldm1fYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigmZGV2LT5kZXYsIGRldi0+bmFtZSwgJmRl di0+ZGV2LAo+PiAtCQkJCQllcDkzeHhibCwgJmVwOTN4eGJsX29wcywgJnByb3BzKTsKPj4gKwkJ CQkJZXA5M3h4YmwsICZlcDkzeHhibF9vcHMsICZwcm9wcywKPj4gKwkJCQkJQkFDS0xJR0hUX1JF R0lTVEVSX0ZCX0NMSUVOVCk7Cj4+ICAJaWYgKElTX0VSUihibCkpCj4+ICAJCXJldHVybiBQVFJf RVJSKGJsKTsKPj4gIAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvZ2Vu ZXJpY19ibC5jIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvZ2VuZXJpY19ibC5jCj4+IGluZGV4 IDY3ZGZiOTM5YTUxNC4uNzE3MzE4ZTEyZjg3IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3ZpZGVv L2JhY2tsaWdodC9nZW5lcmljX2JsLmMKPj4gKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQv Z2VuZXJpY19ibC5jCj4+IEBAIC03Niw3ICs3Niw4IEBAIHN0YXRpYyBpbnQgZ2VuZXJpY2JsX3By b2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4+ICAJcHJvcHMudHlwZSA9IEJBQ0tM SUdIVF9SQVc7Cj4+ICAJcHJvcHMubWF4X2JyaWdodG5lc3MgPSBtYWNoaW5mby0+bWF4X2ludGVu c2l0eTsKPj4gIAliZCA9IGRldm1fYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigmcGRldi0+ZGV2 LCBuYW1lLCAmcGRldi0+ZGV2LAo+PiAtCQkJCQlOVUxMLCAmZ2VuZXJpY2JsX29wcywgJnByb3Bz KTsKPj4gKwkJCQkJTlVMTCwgJmdlbmVyaWNibF9vcHMsICZwcm9wcywKPj4gKwkJCQkJQkFDS0xJ R0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4+ICAJaWYgKElTX0VSUihiZCkpCj4+ICAJCXJldHVy biBQVFJfRVJSKGJkKTsKPj4gIAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGln aHQvZ3Bpb19iYWNrbGlnaHQuYyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2dwaW9fYmFja2xp Z2h0LmMKPj4gaW5kZXggMTgxMzQ0MTZiMTU0Li5kMGI2ZjUxNTVmODYgMTAwNjQ0Cj4+IC0tLSBh L2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2dwaW9fYmFja2xpZ2h0LmMKPj4gKysrIGIvZHJpdmVy cy92aWRlby9iYWNrbGlnaHQvZ3Bpb19iYWNrbGlnaHQuYwo+PiBAQCAtMTMyLDcgKzEzMiw4IEBA IHN0YXRpYyBpbnQgZ3Bpb19iYWNrbGlnaHRfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldikKPj4gIAlwcm9wcy5tYXhfYnJpZ2h0bmVzcyA9IDE7Cj4+ICAJYmwgPSBkZXZtX2JhY2ts aWdodF9kZXZpY2VfcmVnaXN0ZXIoJnBkZXYtPmRldiwgZGV2X25hbWUoJnBkZXYtPmRldiksCj4+ ICAJCQkJCSZwZGV2LT5kZXYsIGdibCwgJmdwaW9fYmFja2xpZ2h0X29wcywKPj4gLQkJCQkJJnBy b3BzKTsKPj4gKwkJCQkJJnByb3BzLAo+PiArCQkJCQlCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJ RU5UKTsKPj4gIAlpZiAoSVNfRVJSKGJsKSkgewo+PiAgCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJm YWlsZWQgdG8gcmVnaXN0ZXIgYmFja2xpZ2h0XG4iKTsKPj4gIAkJcmV0dXJuIFBUUl9FUlIoYmwp Owo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvaHA2ODBfYmwuYyBiL2Ry aXZlcnMvdmlkZW8vYmFja2xpZ2h0L2hwNjgwX2JsLmMKPj4gaW5kZXggOGVhNDJiOGQ5YmM4Li5h NzViMmQwZDQ4OWEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2hwNjgw X2JsLmMKPj4gKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvaHA2ODBfYmwuYwo+PiBAQCAt MTExLDcgKzExMSw4IEBAIHN0YXRpYyBpbnQgaHA2ODBibF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQo+PiAgCXByb3BzLnR5cGUgPSBCQUNLTElHSFRfUkFXOwo+PiAgCXByb3Bz Lm1heF9icmlnaHRuZXNzID0gSFA2ODBfTUFYX0lOVEVOU0lUWTsKPj4gIAliZCA9IGRldm1fYmFj a2xpZ2h0X2RldmljZV9yZWdpc3RlcigmcGRldi0+ZGV2LCAiaHA2ODAtYmwiLCAmcGRldi0+ZGV2 LAo+PiAtCQkJCQlOVUxMLCAmaHA2ODBibF9vcHMsICZwcm9wcyk7Cj4+ICsJCQkJCU5VTEwsICZo cDY4MGJsX29wcywgJnByb3BzLAo+PiArCQkJCQlCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5U KTsKPj4gIAlpZiAoSVNfRVJSKGJkKSkKPj4gIAkJcmV0dXJuIFBUUl9FUlIoYmQpOwo+PiAgCj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9pcGFxX21pY3JvX2JsLmMgYi9k cml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9pcGFxX21pY3JvX2JsLmMKPj4gaW5kZXggMzQ3ZGMxMWQ0 Y2ViLi44MzRjY2M4YTcyOTEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0 L2lwYXFfbWljcm9fYmwuYwo+PiArKysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9pcGFxX21p Y3JvX2JsLmMKPj4gQEAgLTYwLDcgKzYwLDggQEAgc3RhdGljIGludCBtaWNyb19iYWNrbGlnaHRf cHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPj4gIAo+PiAgCWJkID0gZGV2bV9i YWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCZwZGV2LT5kZXYsICJpcGFxLW1pY3JvLWJhY2tsaWdo dCIsCj4+ICAJCQkJCSAgICAmcGRldi0+ZGV2LCBtaWNybywgJm1pY3JvX2JsX29wcywKPj4gLQkJ CQkJICAgICZtaWNyb19ibF9wcm9wcyk7Cj4+ICsJCQkJCSAgICAmbWljcm9fYmxfcHJvcHMsCj4+ ICsJCQkJCSAgICBCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPj4gIAlpZiAoSVNfRVJS KGJkKSkKPj4gIAkJcmV0dXJuIFBUUl9FUlIoYmQpOwo+PiAgCj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL3ZpZGVvL2JhY2tsaWdodC9qb3JuYWRhNzIwX2JsLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2ts aWdodC9qb3JuYWRhNzIwX2JsLmMKPj4gaW5kZXggN2U2ZmY1MzQ2ODkyLi5lMTczYzViNjBlOWUg MTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2pvcm5hZGE3MjBfYmwuYwo+ PiArKysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9qb3JuYWRhNzIwX2JsLmMKPj4gQEAgLTEx OCw3ICsxMTgsOCBAQCBzdGF0aWMgaW50IGpvcm5hZGFfYmxfcHJvYmUoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikKPj4gIAo+PiAgCWJkID0gZGV2bV9iYWNrbGlnaHRfZGV2aWNlX3JlZ2lz dGVyKCZwZGV2LT5kZXYsIFMxRF9ERVZJQ0VOQU1FLAo+PiAgCQkJCQkmcGRldi0+ZGV2LCBOVUxM LCAmam9ybmFkYV9ibF9vcHMsCj4+IC0JCQkJCSZwcm9wcyk7Cj4+ICsJCQkJCSZwcm9wcywKPj4g KwkJCQkJQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4+ICAJaWYgKElTX0VSUihiZCkp IHsKPj4gIAkJcmV0ID0gUFRSX0VSUihiZCk7Cj4+ICAJCWRldl9lcnIoJnBkZXYtPmRldiwgImZh aWxlZCB0byByZWdpc3RlciBkZXZpY2UsIGVycj0leFxuIiwgcmV0KTsKPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2tiMzg4Nl9ibC5jIGIvZHJpdmVycy92aWRlby9iYWNr bGlnaHQva2IzODg2X2JsLmMKPj4gaW5kZXggODRhMTEwYTcxOWNiLi5lYjYxOWM0YTdhMzkgMTAw NjQ0Cj4+IC0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2tiMzg4Nl9ibC5jCj4+ICsrKyBi L2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2tiMzg4Nl9ibC5jCj4+IEBAIC0xNTMsNyArMTUzLDgg QEAgc3RhdGljIGludCBrYjM4ODZibF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQo+PiAgCWtiMzg4Nl9iYWNrbGlnaHRfZGV2aWNlID0gZGV2bV9iYWNrbGlnaHRfZGV2aWNlX3Jl Z2lzdGVyKCZwZGV2LT5kZXYsCj4+ICAJCQkJCQkJImtiMzg4Ni1ibCIsICZwZGV2LT5kZXYsCj4+ ICAJCQkJCQkJTlVMTCwgJmtiMzg4NmJsX29wcywKPj4gLQkJCQkJCQkmcHJvcHMpOwo+PiArCQkJ CQkJCSZwcm9wcywKPj4gKwkJCQkJCQlCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPj4g IAlpZiAoSVNfRVJSKGtiMzg4Nl9iYWNrbGlnaHRfZGV2aWNlKSkKPj4gIAkJcmV0dXJuIFBUUl9F UlIoa2IzODg2X2JhY2tsaWdodF9kZXZpY2UpOwo+PiAgCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L3ZpZGVvL2JhY2tsaWdodC9sZDkwNDAuYyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2xkOTA0 MC5jCj4+IGluZGV4IDY3N2Y4YWJiYTI3Yy4uYzI4ZTkxZmVjNTRmIDEwMDY0NAo+PiAtLS0gYS9k cml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9sZDkwNDAuYwo+PiArKysgYi9kcml2ZXJzL3ZpZGVvL2Jh Y2tsaWdodC9sZDkwNDAuYwo+PiBAQCAtNzIyLDcgKzcyMiw4IEBAIHN0YXRpYyBpbnQgbGQ5MDQw X3Byb2JlKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCj4+ICAJcHJvcHMubWF4X2JyaWdodG5lc3Mg PSBNQVhfQlJJR0hUTkVTUzsKPj4gIAo+PiAgCWJkID0gZGV2bV9iYWNrbGlnaHRfZGV2aWNlX3Jl Z2lzdGVyKCZzcGktPmRldiwgImxkOTA0MC1ibCIsICZzcGktPmRldiwKPj4gLQkJCQkJbGNkLCAm bGQ5MDQwX2JhY2tsaWdodF9vcHMsICZwcm9wcyk7Cj4+ICsJCQkJCWxjZCwgJmxkOTA0MF9iYWNr bGlnaHRfb3BzLCAmcHJvcHMsCj4+ICsJCQkJCUJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQp Owo+PiAgCWlmIChJU19FUlIoYmQpKQo+PiAgCQlyZXR1cm4gUFRSX0VSUihiZCk7Cj4+ICAKPj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2xtMzUzM19ibC5jIGIvZHJpdmVy cy92aWRlby9iYWNrbGlnaHQvbG0zNTMzX2JsLmMKPj4gaW5kZXggMGUyMzM3ZjM2N2I2Li5mNjM0 NWEyY2QwNzYgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2xtMzUzM19i bC5jCj4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2xtMzUzM19ibC5jCj4+IEBAIC0z MTIsNyArMzEyLDggQEAgc3RhdGljIGludCBsbTM1MzNfYmxfcHJvYmUoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikKPj4gIAlwcm9wcy5icmlnaHRuZXNzID0gcGRhdGEtPmRlZmF1bHRfYnJp Z2h0bmVzczsKPj4gIAliZCA9IGRldm1fYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigmcGRldi0+ ZGV2LCBwZGF0YS0+bmFtZSwKPj4gIAkJCQkJcGRldi0+ZGV2LnBhcmVudCwgYmwsICZsbTM1MzNf Ymxfb3BzLAo+PiAtCQkJCQkmcHJvcHMpOwo+PiArCQkJCQkmcHJvcHMsCj4+ICsJCQkJCUJBQ0tM SUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+PiAgCWlmIChJU19FUlIoYmQpKSB7Cj4+ICAJCWRl dl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byByZWdpc3RlciBiYWNrbGlnaHQgZGV2aWNlXG4i KTsKPj4gIAkJcmV0dXJuIFBUUl9FUlIoYmQpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRl by9iYWNrbGlnaHQvbG0zNjMwYV9ibC5jIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbG0zNjMw YV9ibC5jCj4+IGluZGV4IDYwZDZjMmFjODdhYS4uYTYyYTA5NTEwZmUzIDEwMDY0NAo+PiAtLS0g YS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9sbTM2MzBhX2JsLmMKPj4gKysrIGIvZHJpdmVycy92 aWRlby9iYWNrbGlnaHQvbG0zNjMwYV9ibC5jCj4+IEBAIC0zMzgsNyArMzM4LDggQEAgc3RhdGlj IGludCBsbTM2MzBhX2JhY2tsaWdodF9yZWdpc3RlcihzdHJ1Y3QgbG0zNjMwYV9jaGlwICpwY2hp cCkKPj4gIAkJcGNoaXAtPmJsZWRhID0KPj4gIAkJICAgIGRldm1fYmFja2xpZ2h0X2RldmljZV9y ZWdpc3RlcihwY2hpcC0+ZGV2LCAibG0zNjMwYV9sZWRhIiwKPj4gIAkJCQkJCSAgIHBjaGlwLT5k ZXYsIHBjaGlwLAo+PiAtCQkJCQkJICAgJmxtMzYzMGFfYmFua19hX29wcywgJnByb3BzKTsKPj4g KwkJCQkJCSAgICZsbTM2MzBhX2JhbmtfYV9vcHMsICZwcm9wcywKPj4gKwkJCQkJCSAgIEJBQ0tM SUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+PiAgCQlpZiAoSVNfRVJSKHBjaGlwLT5ibGVkYSkp Cj4+ICAJCQlyZXR1cm4gUFRSX0VSUihwY2hpcC0+YmxlZGEpOwo+PiAgCX0KPj4gQEAgLTM1MCw3 ICszNTEsOCBAQCBzdGF0aWMgaW50IGxtMzYzMGFfYmFja2xpZ2h0X3JlZ2lzdGVyKHN0cnVjdCBs bTM2MzBhX2NoaXAgKnBjaGlwKQo+PiAgCQlwY2hpcC0+YmxlZGIgPQo+PiAgCQkgICAgZGV2bV9i YWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKHBjaGlwLT5kZXYsICJsbTM2MzBhX2xlZGIiLAo+PiAg CQkJCQkJICAgcGNoaXAtPmRldiwgcGNoaXAsCj4+IC0JCQkJCQkgICAmbG0zNjMwYV9iYW5rX2Jf b3BzLCAmcHJvcHMpOwo+PiArCQkJCQkJICAgJmxtMzYzMGFfYmFua19iX29wcywgJnByb3BzLAo+ PiArCQkJCQkJICAgQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4+ICAJCWlmIChJU19F UlIocGNoaXAtPmJsZWRiKSkKPj4gIAkJCXJldHVybiBQVFJfRVJSKHBjaGlwLT5ibGVkYik7Cj4+ ICAJfQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbG0zNjM5X2JsLmMg Yi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9sbTM2MzlfYmwuYwo+PiBpbmRleCBjZDUwZGY1ODA3 ZWEuLjRhYWYwYzNmOWVlZSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQv bG0zNjM5X2JsLmMKPj4gKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbG0zNjM5X2JsLmMK Pj4gQEAgLTM0OSw3ICszNDksOCBAQCBzdGF0aWMgaW50IGxtMzYzOV9wcm9iZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50LAo+PiAgCXBjaGlwLT5ibGVkID0KPj4gIAkgICAgZGV2bV9iYWNrbGln aHRfZGV2aWNlX3JlZ2lzdGVyKHBjaGlwLT5kZXYsICJsbTM2MzlfYmxlZCIsCj4+ICAJCQkJCSAg IHBjaGlwLT5kZXYsIHBjaGlwLCAmbG0zNjM5X2JsZWRfb3BzLAo+PiAtCQkJCQkgICAmcHJvcHMp Owo+PiArCQkJCQkgICAmcHJvcHMsCj4+ICsJCQkJCSAgIEJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9D TElFTlQpOwo+PiAgCWlmIChJU19FUlIocGNoaXAtPmJsZWQpKSB7Cj4+ICAJCWRldl9lcnIoJmNs aWVudC0+ZGV2LCAiZmFpbCA6IGJhY2tsaWdodCByZWdpc3RlclxuIik7Cj4+ICAJCXJldCA9IFBU Ul9FUlIocGNoaXAtPmJsZWQpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGln aHQvbG9jb21vbGNkLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9sb2NvbW9sY2QuYwo+PiBp bmRleCA2YzNlYzQyNTlhNjAuLjEyNmE0ZGY1ZmQxMiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy92 aWRlby9iYWNrbGlnaHQvbG9jb21vbGNkLmMKPj4gKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGln aHQvbG9jb21vbGNkLmMKPj4gQEAgLTIwMCw3ICsyMDAsOCBAQCBzdGF0aWMgaW50IGxvY29tb2xj ZF9wcm9iZShzdHJ1Y3QgbG9jb21vX2RldiAqbGRldikKPj4gIAlwcm9wcy5tYXhfYnJpZ2h0bmVz cyA9IDQ7Cj4+ICAJbG9jb21vbGNkX2JsX2RldmljZSA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0 ZXIoImxvY29tby1ibCIsCj4+ICAJCQkJCQkJJmxkZXYtPmRldiwgTlVMTCwKPj4gLQkJCQkJCQkm bG9jb21vYmxfZGF0YSwgJnByb3BzKTsKPj4gKwkJCQkJCQkmbG9jb21vYmxfZGF0YSwgJnByb3Bz LAo+PiArCQkJCQkJCUJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+PiAgCj4+ICAJaWYg KElTX0VSUihsb2NvbW9sY2RfYmxfZGV2aWNlKSkKPj4gIAkJcmV0dXJuIFBUUl9FUlIobG9jb21v bGNkX2JsX2RldmljZSk7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9s cDg1NXhfYmwuYyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2xwODU1eF9ibC5jCj4+IGluZGV4 IGU1YjE0ZjUyNjI4Zi4uNmVmNTFjNjU0MGE2IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3ZpZGVv L2JhY2tsaWdodC9scDg1NXhfYmwuYwo+PiArKysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9s cDg1NXhfYmwuYwo+PiBAQCAtMjk5LDcgKzI5OSw4IEBAIHN0YXRpYyBpbnQgbHA4NTV4X2JhY2ts aWdodF9yZWdpc3RlcihzdHJ1Y3QgbHA4NTV4ICpscCkKPj4gIAlwcm9wcy5icmlnaHRuZXNzID0g cGRhdGEtPmluaXRpYWxfYnJpZ2h0bmVzczsKPj4gIAo+PiAgCWJsID0gZGV2bV9iYWNrbGlnaHRf ZGV2aWNlX3JlZ2lzdGVyKGxwLT5kZXYsIG5hbWUsIGxwLT5kZXYsIGxwLAo+PiAtCQkJCSAgICAg ICAmbHA4NTV4X2JsX29wcywgJnByb3BzKTsKPj4gKwkJCQkgICAgICAgJmxwODU1eF9ibF9vcHMs ICZwcm9wcywKPj4gKwkJCQkgICAgICAgQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4+ ICAJaWYgKElTX0VSUihibCkpCj4+ICAJCXJldHVybiBQVFJfRVJSKGJsKTsKPj4gIAo+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbHA4Nzg4X2JsLmMgYi9kcml2ZXJzL3Zp ZGVvL2JhY2tsaWdodC9scDg3ODhfYmwuYwo+PiBpbmRleCBjZjg2OWVjOTBjY2UuLjczNDY3N2Jl ZjczOSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbHA4Nzg4X2JsLmMK Pj4gKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbHA4Nzg4X2JsLmMKPj4gQEAgLTIxNCw3 ICsyMTQsOCBAQCBzdGF0aWMgaW50IGxwODc4OF9iYWNrbGlnaHRfcmVnaXN0ZXIoc3RydWN0IGxw ODc4OF9ibCAqYmwpCj4+ICAJCW5hbWUgPSBwZGF0YS0+bmFtZTsKPj4gIAo+PiAgCWJsX2RldiA9 IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIobmFtZSwgYmwtPmxwLT5kZXYsIGJsLAo+PiAtCQkJ CSAgICAgICAmbHA4Nzg4X2JsX29wcywgJnByb3BzKTsKPj4gKwkJCQkgICAgICAgJmxwODc4OF9i bF9vcHMsICZwcm9wcywKPj4gKwkJCQkgICAgICAgQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVO VCk7Cj4+ICAJaWYgKElTX0VSUihibF9kZXYpKQo+PiAgCQlyZXR1cm4gUFRSX0VSUihibF9kZXYp Owo+PiAgCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9sdjUyMDdscC5j IGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbHY1MjA3bHAuYwo+PiBpbmRleCA4YWI3Mjk3YjEx OGEuLmViZDQxZWRjZDkzNiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQv bHY1MjA3bHAuYwo+PiArKysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9sdjUyMDdscC5jCj4+ IEBAIC0xMjAsNyArMTIwLDggQEAgc3RhdGljIGludCBsdjUyMDdscF9wcm9iZShzdHJ1Y3QgaTJj X2NsaWVudCAqY2xpZW50LAo+PiAgCj4+ICAJYmFja2xpZ2h0ID0gZGV2bV9iYWNrbGlnaHRfZGV2 aWNlX3JlZ2lzdGVyKCZjbGllbnQtPmRldiwKPj4gIAkJCQlkZXZfbmFtZSgmY2xpZW50LT5kZXYp LCAmbHYtPmNsaWVudC0+ZGV2LAo+PiAtCQkJCWx2LCAmbHY1MjA3bHBfYmFja2xpZ2h0X29wcywg JnByb3BzKTsKPj4gKwkJCQlsdiwgJmx2NTIwN2xwX2JhY2tsaWdodF9vcHMsICZwcm9wcywKPj4g KwkJCQlCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPj4gIAlpZiAoSVNfRVJSKGJhY2ts aWdodCkpIHsKPj4gIAkJZGV2X2VycigmY2xpZW50LT5kZXYsICJmYWlsZWQgdG8gcmVnaXN0ZXIg YmFja2xpZ2h0XG4iKTsKPj4gIAkJcmV0dXJuIFBUUl9FUlIoYmFja2xpZ2h0KTsKPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L21heDg5MjVfYmwuYyBiL2RyaXZlcnMvdmlk ZW8vYmFja2xpZ2h0L21heDg5MjVfYmwuYwo+PiBpbmRleCA3YjczOGQ2MGVjYzIuLmFhMWQzOWFi OTk3NyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbWF4ODkyNV9ibC5j Cj4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L21heDg5MjVfYmwuYwo+PiBAQCAtMTY1 LDcgKzE2NSw4IEBAIHN0YXRpYyBpbnQgbWF4ODkyNV9iYWNrbGlnaHRfcHJvYmUoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldikKPj4gIAlwcm9wcy5tYXhfYnJpZ2h0bmVzcyA9IE1BWF9CUklH SFRORVNTOwo+PiAgCWJsID0gZGV2bV9iYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCZwZGV2LT5k ZXYsICJtYXg4OTI1LWJhY2tsaWdodCIsCj4+ICAJCQkJCSZwZGV2LT5kZXYsIGRhdGEsCj4+IC0J CQkJCSZtYXg4OTI1X2JhY2tsaWdodF9vcHMsICZwcm9wcyk7Cj4+ICsJCQkJCSZtYXg4OTI1X2Jh Y2tsaWdodF9vcHMsICZwcm9wcywKPj4gKwkJCQkJQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVO VCk7Cj4+ICAJaWYgKElTX0VSUihibCkpIHsKPj4gIAkJZGV2X2VycigmcGRldi0+ZGV2LCAiZmFp bGVkIHRvIHJlZ2lzdGVyIGJhY2tsaWdodFxuIik7Cj4+ICAJCXJldHVybiBQVFJfRVJSKGJsKTsK Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L29tYXAxX2JsLmMgYi9kcml2 ZXJzL3ZpZGVvL2JhY2tsaWdodC9vbWFwMV9ibC5jCj4+IGluZGV4IDU0NmQ5NGRmMjFkNS4uYzU4 N2E0ZWM4OWEyIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9vbWFwMV9i bC5jCj4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L29tYXAxX2JsLmMKPj4gQEAgLTE0 OCw3ICsxNDgsOCBAQCBzdGF0aWMgaW50IG9tYXBibF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2KQo+PiAgCXByb3BzLnR5cGUgPSBCQUNLTElHSFRfUkFXOwo+PiAgCXByb3BzLm1h eF9icmlnaHRuZXNzID0gT01BUEJMX01BWF9JTlRFTlNJVFk7Cj4+ICAJZGV2ID0gZGV2bV9iYWNr bGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCZwZGV2LT5kZXYsICJvbWFwLWJsIiwgJnBkZXYtPmRldiwK Pj4gLQkJCQkJYmwsICZvbWFwYmxfb3BzLCAmcHJvcHMpOwo+PiArCQkJCQlibCwgJm9tYXBibF9v cHMsICZwcm9wcywKPj4gKwkJCQkJQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4+ICAJ aWYgKElTX0VSUihkZXYpKQo+PiAgCQlyZXR1cm4gUFRSX0VSUihkZXYpOwo+PiAgCj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9vdDIwMF9ibC5jIGIvZHJpdmVycy92aWRl by9iYWNrbGlnaHQvb3QyMDBfYmwuYwo+PiBpbmRleCAzYWNkYjlmNjQ2ZWQuLjM2ZDcxYjMyYjlj ZCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvb3QyMDBfYmwuYwo+PiAr KysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9vdDIwMF9ibC5jCj4+IEBAIC0xMjAsNyArMTIw LDggQEAgc3RhdGljIGludCBvdDIwMF9iYWNrbGlnaHRfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqcGRldikKPj4gIAo+PiAgCWJsID0gZGV2bV9iYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVy KCZwZGV2LT5kZXYsIGRldl9uYW1lKCZwZGV2LT5kZXYpLAo+PiAgCQkJCQkmcGRldi0+ZGV2LCBk YXRhLCAmb3QyMDBfYmFja2xpZ2h0X29wcywKPj4gLQkJCQkJJnByb3BzKTsKPj4gKwkJCQkJJnBy b3BzLAo+PiArCQkJCQlCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPj4gIAlpZiAoSVNf RVJSKGJsKSkgewo+PiAgCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJmYWlsZWQgdG8gcmVnaXN0ZXIg YmFja2xpZ2h0XG4iKTsKPj4gIAkJcmV0dmFsID0gUFRSX0VSUihibCk7Cj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wYW5kb3JhX2JsLmMgYi9kcml2ZXJzL3ZpZGVvL2Jh Y2tsaWdodC9wYW5kb3JhX2JsLmMKPj4gaW5kZXggNWQ4YmI4YjIwMTgzLi5iNjU0NTQzZWE4OTUg MTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3BhbmRvcmFfYmwuYwo+PiAr KysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wYW5kb3JhX2JsLmMKPj4gQEAgLTExNSw3ICsx MTUsOCBAQCBzdGF0aWMgaW50IHBhbmRvcmFfYmFja2xpZ2h0X3Byb2JlKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpCj4+ICAJcHJvcHMubWF4X2JyaWdodG5lc3MgPSBNQVhfVVNFUl9WQUxV RTsKPj4gIAlwcm9wcy50eXBlID0gQkFDS0xJR0hUX1JBVzsKPj4gIAlibCA9IGRldm1fYmFja2xp Z2h0X2RldmljZV9yZWdpc3RlcigmcGRldi0+ZGV2LCBwZGV2LT5uYW1lLCAmcGRldi0+ZGV2LAo+ PiAtCQkJCQlOVUxMLCAmcGFuZG9yYV9iYWNrbGlnaHRfb3BzLCAmcHJvcHMpOwo+PiArCQkJCQlO VUxMLCAmcGFuZG9yYV9iYWNrbGlnaHRfb3BzLCAmcHJvcHMsCj4+ICsJCQkJCUJBQ0tMSUdIVF9S RUdJU1RFUl9GQl9DTElFTlQpOwo+PiAgCWlmIChJU19FUlIoYmwpKSB7Cj4+ICAJCWRldl9lcnIo JnBkZXYtPmRldiwgImZhaWxlZCB0byByZWdpc3RlciBiYWNrbGlnaHRcbiIpOwo+PiAgCQlyZXR1 cm4gUFRSX0VSUihibCk7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9w Y2Y1MDYzMy1iYWNrbGlnaHQuYyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3BjZjUwNjMzLWJh Y2tsaWdodC5jCj4+IGluZGV4IDg1YmQ1NzNiNmQxNS4uOGYzZGQ2YjIyMDg4IDEwMDY0NAo+PiAt LS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wY2Y1MDYzMy1iYWNrbGlnaHQuYwo+PiArKysg Yi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wY2Y1MDYzMy1iYWNrbGlnaHQuYwo+PiBAQCAtMTI5 LDcgKzEyOSw4IEBAIHN0YXRpYyBpbnQgcGNmNTA2MzNfYmxfcHJvYmUoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikKPj4gIAo+PiAgCXBjZl9ibC0+YmwgPSBkZXZtX2JhY2tsaWdodF9kZXZp Y2VfcmVnaXN0ZXIoJnBkZXYtPmRldiwgcGRldi0+bmFtZSwKPj4gIAkJCQkJCSZwZGV2LT5kZXYs IHBjZl9ibCwKPj4gLQkJCQkJCSZwY2Y1MDYzM19ibF9vcHMsICZibF9wcm9wcyk7Cj4+ICsJCQkJ CQkmcGNmNTA2MzNfYmxfb3BzLCAmYmxfcHJvcHMsCj4+ICsJCQkJCQlCQUNLTElHSFRfUkVHSVNU RVJfRkJfQ0xJRU5UKTsKPj4gIAo+PiAgCWlmIChJU19FUlIocGNmX2JsLT5ibCkpCj4+ICAJCXJl dHVybiBQVFJfRVJSKHBjZl9ibC0+YmwpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9i YWNrbGlnaHQvcG04OTQxLXdsZWQuYyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3BtODk0MS13 bGVkLmMKPj4gaW5kZXggMGI2ZDIxOTU1ZDkxLi44NTAzNWYyZjc4NGYgMTAwNjQ0Cj4+IC0tLSBh L2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3BtODk0MS13bGVkLmMKPj4gKysrIGIvZHJpdmVycy92 aWRlby9iYWNrbGlnaHQvcG04OTQxLXdsZWQuYwo+PiBAQCAtNDA4LDcgKzQwOCw4IEBAIHN0YXRp YyBpbnQgcG04OTQxX3dsZWRfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPj4g IAlwcm9wcy5tYXhfYnJpZ2h0bmVzcyA9IFBNODk0MV9XTEVEX1JFR19WQUxfTUFYOwo+PiAgCWJs ID0gZGV2bV9iYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCZwZGV2LT5kZXYsIHdsZWQtPm5hbWUs Cj4+ICAJCQkJCSAgICAmcGRldi0+ZGV2LCB3bGVkLAo+PiAtCQkJCQkgICAgJnBtODk0MV93bGVk X29wcywgJnByb3BzKTsKPj4gKwkJCQkJICAgICZwbTg5NDFfd2xlZF9vcHMsICZwcm9wcywKPj4g KwkJCQkJICAgIEJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+PiAgCXJldHVybiBQVFJf RVJSX09SX1pFUk8oYmwpOwo+PiAgfTsKPj4gIAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRl by9iYWNrbGlnaHQvcHdtX2JsLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wd21fYmwuYwo+ PiBpbmRleCBiMmIzNjZiYjBmOTcuLjk4NjU1ZmNlNDYyYyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVy cy92aWRlby9iYWNrbGlnaHQvcHdtX2JsLmMKPj4gKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGln aHQvcHdtX2JsLmMKPj4gQEAgLTMzMCw3ICszMzAsOCBAQCBzdGF0aWMgaW50IHB3bV9iYWNrbGln aHRfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPj4gIAlwcm9wcy50eXBlID0g QkFDS0xJR0hUX1JBVzsKPj4gIAlwcm9wcy5tYXhfYnJpZ2h0bmVzcyA9IGRhdGEtPm1heF9icmln aHRuZXNzOwo+PiAgCWJsID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcihkZXZfbmFtZSgmcGRl di0+ZGV2KSwgJnBkZXYtPmRldiwgcGIsCj4+IC0JCQkJICAgICAgICZwd21fYmFja2xpZ2h0X29w cywgJnByb3BzKTsKPj4gKwkJCQkgICAgICAgJnB3bV9iYWNrbGlnaHRfb3BzLCAmcHJvcHMsCj4+ ICsJCQkJICAgICAgIEJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+PiAgCWlmIChJU19F UlIoYmwpKSB7Cj4+ICAJCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byByZWdpc3RlciBi YWNrbGlnaHRcbiIpOwo+PiAgCQlyZXQgPSBQVFJfRVJSKGJsKTsKPj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdmlkZW8vYmFja2xpZ2h0L3M2ZTYzbTAuYyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0 L3M2ZTYzbTAuYwo+PiBpbmRleCAzYzRhMjJhMzA2M2EuLjYwYmM4ODA3NWU2OCAxMDA2NDQKPj4g LS0tIGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvczZlNjNtMC5jCj4+ICsrKyBiL2RyaXZlcnMv dmlkZW8vYmFja2xpZ2h0L3M2ZTYzbTAuYwo+PiBAQCAtNzQ4LDcgKzc0OCw4IEBAIHN0YXRpYyBp bnQgczZlNjNtMF9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQo+PiAgCj4+ICAJYmQgPSBk ZXZtX2JhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoJnNwaS0+ZGV2LCAiczZlNjNtMGJsLWJsIiwK Pj4gIAkJCQkJJnNwaS0+ZGV2LCBsY2QsICZzNmU2M20wX2JhY2tsaWdodF9vcHMsCj4+IC0JCQkJ CSZwcm9wcyk7Cj4+ICsJCQkJCSZwcm9wcywKPj4gKwkJCQkJQkFDS0xJR0hUX1JFR0lTVEVSX0ZC X0NMSUVOVCk7Cj4+ICAJaWYgKElTX0VSUihiZCkpCj4+ICAJCXJldHVybiBQVFJfRVJSKGJkKTsK Pj4gIAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvc2t5ODE0NTItYmFj a2xpZ2h0LmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9za3k4MTQ1Mi1iYWNrbGlnaHQuYwo+ PiBpbmRleCBkNDE0YzdhM2FjZjUuLjlhYmRiY2Y3MWZlZiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVy cy92aWRlby9iYWNrbGlnaHQvc2t5ODE0NTItYmFja2xpZ2h0LmMKPj4gKysrIGIvZHJpdmVycy92 aWRlby9iYWNrbGlnaHQvc2t5ODE0NTItYmFja2xpZ2h0LmMKPj4gQEAgLTI5NCw3ICsyOTQsOCBA QCBzdGF0aWMgaW50IHNreTgxNDUyX2JsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBk ZXYpCj4+ICAJcHJvcHMubWF4X2JyaWdodG5lc3MgPSBTS1k4MTQ1Ml9NQVhfQlJJR0hUTkVTUywK Pj4gIAluYW1lID0gcGRhdGEtPm5hbWUgPyBwZGF0YS0+bmFtZSA6IFNLWTgxNDUyX0RFRkFVTFRf TkFNRTsKPj4gIAliZCA9IGRldm1fYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcihkZXYsIG5hbWUs IGRldiwgcmVnbWFwLAo+PiAtCQkJCQkJJnNreTgxNDUyX2JsX29wcywgJnByb3BzKTsKPj4gKwkJ CQkJCSZza3k4MTQ1Ml9ibF9vcHMsICZwcm9wcywKPj4gKwkJCQkJCUJBQ0tMSUdIVF9SRUdJU1RF Ul9GQl9DTElFTlQpOwo+PiAgCWlmIChJU19FUlIoYmQpKSB7Cj4+ICAJCWRldl9lcnIoZGV2LCAi ZmFpbGVkIHRvIHJlZ2lzdGVyLiBlcnI9JWxkXG4iLCBQVFJfRVJSKGJkKSk7Cj4+ICAJCXJldHVy biBQVFJfRVJSKGJkKTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3Rv c2FfYmwuYyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3Rvc2FfYmwuYwo+PiBpbmRleCA4Mzc0 MmQ4MDYzOTEuLjc1NWE2MTcyN2NhMSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy92aWRlby9iYWNr bGlnaHQvdG9zYV9ibC5jCj4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3Rvc2FfYmwu Ywo+PiBAQCAtMTA3LDcgKzEwNyw4IEBAIHN0YXRpYyBpbnQgdG9zYV9ibF9wcm9iZShzdHJ1Y3Qg aTJjX2NsaWVudCAqY2xpZW50LAo+PiAgCXByb3BzLm1heF9icmlnaHRuZXNzID0gNTEyIC0gMTsK Pj4gIAlkYXRhLT5ibCA9IGRldm1fYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigmY2xpZW50LT5k ZXYsICJ0b3NhLWJsIiwKPj4gIAkJCQkJCSZjbGllbnQtPmRldiwgZGF0YSwgJmJsX29wcywKPj4g LQkJCQkJCSZwcm9wcyk7Cj4+ICsJCQkJCQkmcHJvcHMsCj4+ICsJCQkJCQlCQUNLTElHSFRfUkVH SVNURVJfRkJfQ0xJRU5UKTsKPj4gIAlpZiAoSVNfRVJSKGRhdGEtPmJsKSkgewo+PiAgCQlyZXQg PSBQVFJfRVJSKGRhdGEtPmJsKTsKPj4gIAkJZ290byBlcnJfcmVnOwo+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy92aWRlby9iYWNrbGlnaHQvdHBzNjUyMTdfYmwuYyBiL2RyaXZlcnMvdmlkZW8vYmFj a2xpZ2h0L3RwczY1MjE3X2JsLmMKPj4gaW5kZXggZmQ1MjRhZDg2MGE1Li4wYWM1NWI5YTc3M2Mg MTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3RwczY1MjE3X2JsLmMKPj4g KysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvdHBzNjUyMTdfYmwuYwo+PiBAQCAtMzA2LDcg KzMwNiw4IEBAIHN0YXRpYyBpbnQgdHBzNjUyMTdfYmxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqcGRldikKPj4gIAo+PiAgCXRwczY1MjE3X2JsLT5ibCA9IGRldm1fYmFja2xpZ2h0X2Rl dmljZV9yZWdpc3RlcigmcGRldi0+ZGV2LCBwZGV2LT5uYW1lLAo+PiAgCQkJCQkJdHBzNjUyMTdf YmwtPmRldiwgdHBzNjUyMTdfYmwsCj4+IC0JCQkJCQkmdHBzNjUyMTdfYmxfb3BzLCAmYmxfcHJv cHMpOwo+PiArCQkJCQkJJnRwczY1MjE3X2JsX29wcywgJmJsX3Byb3BzLAo+PiArCQkJCQkJQkFD S0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4+ICAJaWYgKElTX0VSUih0cHM2NTIxN19ibC0+ YmwpKSB7Cj4+ICAJCWRldl9lcnIodHBzNjUyMTdfYmwtPmRldiwKPj4gIAkJCSJyZWdpc3RyYXRp b24gb2YgYmFja2xpZ2h0IGRldmljZSBmYWlsZWQ6ICVkXG4iLCByYyk7Cj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC93bTgzMXhfYmwuYyBiL2RyaXZlcnMvdmlkZW8vYmFj a2xpZ2h0L3dtODMxeF9ibC5jCj4+IGluZGV4IDZlYWIwZDZjMjYyYS4uOGI5MmEyNzdmODNiIDEw MDY0NAo+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC93bTgzMXhfYmwuYwo+PiArKysg Yi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC93bTgzMXhfYmwuYwo+PiBAQCAtMTk3LDcgKzE5Nyw4 IEBAIHN0YXRpYyBpbnQgd204MzF4X2JhY2tsaWdodF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2KQo+PiAgCXByb3BzLnR5cGUgPSBCQUNLTElHSFRfUkFXOwo+PiAgCXByb3BzLm1h eF9icmlnaHRuZXNzID0gbWF4X2lzZWw7Cj4+ICAJYmwgPSBkZXZtX2JhY2tsaWdodF9kZXZpY2Vf cmVnaXN0ZXIoJnBkZXYtPmRldiwgIndtODMxeCIsICZwZGV2LT5kZXYsCj4+IC0JCQkJCWRhdGEs ICZ3bTgzMXhfYmFja2xpZ2h0X29wcywgJnByb3BzKTsKPj4gKwkJCQkJZGF0YSwgJndtODMxeF9i YWNrbGlnaHRfb3BzLCAmcHJvcHMsCj4+ICsJCQkJCUJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElF TlQpOwo+PiAgCWlmIChJU19FUlIoYmwpKSB7Cj4+ICAJCWRldl9lcnIoJnBkZXYtPmRldiwgImZh aWxlZCB0byByZWdpc3RlciBiYWNrbGlnaHRcbiIpOwo+PiAgCQlyZXR1cm4gUFRSX0VSUihibCk7 Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F0bWVsX2xjZGZiLmMgYi9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L2F0bWVsX2xjZGZiLmMKPj4gaW5kZXggNjY5ZWNjNzU1ZmE5Li5kNmM0 NmQ2NzA2MjIgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXRtZWxfbGNkZmIu Ywo+PiArKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F0bWVsX2xjZGZiLmMKPj4gQEAgLTI0NCw3 ICsyNDQsOCBAQCBzdGF0aWMgdm9pZCBpbml0X2JhY2tsaWdodChzdHJ1Y3QgYXRtZWxfbGNkZmJf aW5mbyAqc2luZm8pCj4+ICAJcHJvcHMudHlwZSA9IEJBQ0tMSUdIVF9SQVc7Cj4+ICAJcHJvcHMu bWF4X2JyaWdodG5lc3MgPSAweGZmOwo+PiAgCWJsID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3Rl cigiYmFja2xpZ2h0IiwgJnNpbmZvLT5wZGV2LT5kZXYsIHNpbmZvLAo+PiAtCQkJCSAgICAgICAm YXRtZWxfbGNkY19ibF9vcHMsICZwcm9wcyk7Cj4+ICsJCQkJICAgICAgICZhdG1lbF9sY2RjX2Js X29wcywgJnByb3BzLAo+PiArCQkJCSAgICAgICBCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5U KTsKPj4gIAlpZiAoSVNfRVJSKGJsKSkgewo+PiAgCQlkZXZfZXJyKCZzaW5mby0+cGRldi0+ZGV2 LCAiZXJyb3IgJWxkIG9uIGJhY2tsaWdodCByZWdpc3RlclxuIiwKPj4gIAkJCQlQVFJfRVJSKGJs KSk7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F0eS9hdHkxMjhmYi5jIGIv ZHJpdmVycy92aWRlby9mYmRldi9hdHkvYXR5MTI4ZmIuYwo+PiBpbmRleCAwYTQ2MjY4ODZiMDAu LmRhZTg3MzQ4NzBjOSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9hdHkvYXR5 MTI4ZmIuYwo+PiArKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F0eS9hdHkxMjhmYi5jCj4+IEBA IC0xODcxLDcgKzE4NzEsOCBAQCBzdGF0aWMgdm9pZCBhdHkxMjhfYmxfaW5pdChzdHJ1Y3QgYXR5 MTI4ZmJfcGFyICpwYXIpCj4+ICAJcHJvcHMudHlwZSA9IEJBQ0tMSUdIVF9SQVc7Cj4+ICAJcHJv cHMubWF4X2JyaWdodG5lc3MgPSBGQl9CQUNLTElHSFRfTEVWRUxTIC0gMTsKPj4gIAliZCA9IGJh Y2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIobmFtZSwgaW5mby0+ZGV2LCBwYXIsICZhdHkxMjhfYmxf ZGF0YSwKPj4gLQkJCQkgICAgICAgJnByb3BzKTsKPj4gKwkJCQkgICAgICAgJnByb3BzLAo+PiAr CQkJCSAgICAgICBCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPj4gIAlpZiAoSVNfRVJS KGJkKSkgewo+PiAgCQlpbmZvLT5ibF9kZXYgPSBOVUxMOwo+PiAgCQlwcmludGsoS0VSTl9XQVJO SU5HICJhdHkxMjg6IEJhY2tsaWdodCByZWdpc3RyYXRpb24gZmFpbGVkXG4iKTsKPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXR5L2F0eWZiX2Jhc2UuYyBiL2RyaXZlcnMvdmlk ZW8vZmJkZXYvYXR5L2F0eWZiX2Jhc2UuYwo+PiBpbmRleCBmMzRlZDQ3ZmNhZjguLjkxOGVjOGY5 NDZhYSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9hdHkvYXR5ZmJfYmFzZS5j Cj4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXR5L2F0eWZiX2Jhc2UuYwo+PiBAQCAtMjI0 Miw3ICsyMjQyLDggQEAgc3RhdGljIHZvaWQgYXR5X2JsX2luaXQoc3RydWN0IGF0eWZiX3BhciAq cGFyKQo+PiAgCXByb3BzLnR5cGUgPSBCQUNLTElHSFRfUkFXOwo+PiAgCXByb3BzLm1heF9icmln aHRuZXNzID0gRkJfQkFDS0xJR0hUX0xFVkVMUyAtIDE7Cj4+ICAJYmQgPSBiYWNrbGlnaHRfZGV2 aWNlX3JlZ2lzdGVyKG5hbWUsIGluZm8tPmRldiwgcGFyLCAmYXR5X2JsX2RhdGEsCj4+IC0JCQkJ ICAgICAgICZwcm9wcyk7Cj4+ICsJCQkJICAgICAgICZwcm9wcywKPj4gKwkJCQkgICAgICAgQkFD S0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4+ICAJaWYgKElTX0VSUihiZCkpIHsKPj4gIAkJ aW5mby0+YmxfZGV2ID0gTlVMTDsKPj4gIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiYXR5OiBCYWNr bGlnaHQgcmVnaXN0cmF0aW9uIGZhaWxlZFxuIik7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L2F0eS9yYWRlb25fYmFja2xpZ2h0LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F0 eS9yYWRlb25fYmFja2xpZ2h0LmMKPj4gaW5kZXggMzAxZDZkNmFlZWFkLi5hOGM5ZWY2MThlNDIg MTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXR5L3JhZGVvbl9iYWNrbGlnaHQu Ywo+PiArKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F0eS9yYWRlb25fYmFja2xpZ2h0LmMKPj4g QEAgLTE1NSw3ICsxNTUsOCBAQCB2b2lkIHJhZGVvbmZiX2JsX2luaXQoc3RydWN0IHJhZGVvbmZi X2luZm8gKnJpbmZvKQo+PiAgCXByb3BzLnR5cGUgPSBCQUNLTElHSFRfUkFXOwo+PiAgCXByb3Bz Lm1heF9icmlnaHRuZXNzID0gRkJfQkFDS0xJR0hUX0xFVkVMUyAtIDE7Cj4+ICAJYmQgPSBiYWNr bGlnaHRfZGV2aWNlX3JlZ2lzdGVyKG5hbWUsIHJpbmZvLT5pbmZvLT5kZXYsIHBkYXRhLAo+PiAt CQkJCSAgICAgICAmcmFkZW9uX2JsX2RhdGEsICZwcm9wcyk7Cj4+ICsJCQkJICAgICAgICZyYWRl b25fYmxfZGF0YSwgJnByb3BzLAo+PiArCQkJCSAgICAgICBCQUNLTElHSFRfUkVHSVNURVJfRkJf Q0xJRU5UKTsKPj4gIAlpZiAoSVNfRVJSKGJkKSkgewo+PiAgCQlyaW5mby0+aW5mby0+YmxfZGV2 ID0gTlVMTDsKPj4gIAkJcHJpbnRrKCJyYWRlb25mYjogQmFja2xpZ2h0IHJlZ2lzdHJhdGlvbiBm YWlsZWRcbiIpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9iZjUzNy1scTAz NS5jIGIvZHJpdmVycy92aWRlby9mYmRldi9iZjUzNy1scTAzNS5jCj4+IGluZGV4IGVmMjlmYjQy NTEyMi4uNzdiNmY5OGQyMTgyIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2Jm NTM3LWxxMDM1LmMKPj4gKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9iZjUzNy1scTAzNS5jCj4+ IEBAIC03NjUsNyArNzY1LDggQEAgc3RhdGljIGludCBiZmluX2xxMDM1X3Byb2JlKHN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4+ICAJcHJvcHMudHlwZSA9IEJBQ0tMSUdIVF9SQVc7Cj4+ ICAJcHJvcHMubWF4X2JyaWdodG5lc3MgPSBNQVhfQlJJR0hFTkVTUzsKPj4gIAlibF9kZXYgPSBi YWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCJiZjUzNy1ibCIsIE5VTEwsIE5VTEwsCj4+IC0JCQkJ CSAgICZiZmluX2xxMDM1ZmJfYmxfb3BzLCAmcHJvcHMpOwo+PiArCQkJCQkgICAmYmZpbl9scTAz NWZiX2JsX29wcywgJnByb3BzLAo+PiArCQkJCQkgICBCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJ RU5UKTsKPj4gIAo+PiAgCWxjZF9kZXYgPSBsY2RfZGV2aWNlX3JlZ2lzdGVyKEtCVUlMRF9NT0RO QU1FLCAmcGRldi0+ZGV2LCBOVUxMLAo+PiAgCQkJCSAgICAgICZiZmluX2xjZF9vcHMpOwo+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9iZjU0eC1scTA0M2ZiLmMgYi9kcml2ZXJz L3ZpZGVvL2ZiZGV2L2JmNTR4LWxxMDQzZmIuYwo+PiBpbmRleCA4ZjFmOTdjNzU2MTkuLjQwMDFm M2M5YzQwYyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9iZjU0eC1scTA0M2Zi LmMKPj4gKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9iZjU0eC1scTA0M2ZiLmMKPj4gQEAgLTY1 Miw3ICs2NTIsOCBAQCBzdGF0aWMgaW50IGJmaW5fYmY1NHhfcHJvYmUoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikKPj4gIAlwcm9wcy50eXBlID0gQkFDS0xJR0hUX1JBVzsKPj4gIAlwcm9w cy5tYXhfYnJpZ2h0bmVzcyA9IDI1NTsKPj4gIAlibF9kZXYgPSBiYWNrbGlnaHRfZGV2aWNlX3Jl Z2lzdGVyKCJiZjU0eC1ibCIsIE5VTEwsIE5VTEwsCj4+IC0JCQkJCSAgICZiZmluX2xxMDQzZmJf Ymxfb3BzLCAmcHJvcHMpOwo+PiArCQkJCQkgICAmYmZpbl9scTA0M2ZiX2JsX29wcywgJnByb3Bz LAo+PiArCQkJCQkgICBCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPj4gIAlpZiAoSVNf RVJSKGJsX2RldikpIHsKPj4gIAkJcHJpbnRrKEtFUk5fRVJSIERSSVZFUl9OQU1FCj4+ICAJCQki OiB1bmFibGUgdG8gcmVnaXN0ZXIgYmFja2xpZ2h0LlxuIik7Cj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L2JmaW4tdDM1MG1jcWItZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv YmZpbi10MzUwbWNxYi1mYi5jCj4+IGluZGV4IGU1ZWU0ZDk2NzdmNy4uNmMxYzY0ZjQ4NDMyIDEw MDY0NAo+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2JmaW4tdDM1MG1jcWItZmIuYwo+PiAr KysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2JmaW4tdDM1MG1jcWItZmIuYwo+PiBAQCAtNTQ5LDcg KzU0OSw4IEBAIHN0YXRpYyBpbnQgYmZpbl90MzUwbWNxYl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQo+PiAgCXByb3BzLnR5cGUgPSBCQUNLTElHSFRfUkFXOwo+PiAgCXByb3Bz Lm1heF9icmlnaHRuZXNzID0gMjU1Owo+PiAgCWJsX2RldiA9IGJhY2tsaWdodF9kZXZpY2VfcmVn aXN0ZXIoImJmNTJ4LWJsIiwgTlVMTCwgTlVMTCwKPj4gLQkJCQkJICAgJmJmaW5fbHEwNDNmYl9i bF9vcHMsICZwcm9wcyk7Cj4+ICsJCQkJCSAgICZiZmluX2xxMDQzZmJfYmxfb3BzLCAmcHJvcHMs Cj4+ICsJCQkJCSAgIEJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+PiAgCWlmIChJU19F UlIoYmxfZGV2KSkgewo+PiAgCQlwcmludGsoS0VSTl9FUlIgRFJJVkVSX05BTUUKPj4gIAkJCSI6 IHVuYWJsZSB0byByZWdpc3RlciBiYWNrbGlnaHQuXG4iKTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvZXh5bm9zL3M2ZThheDAuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvZXh5 bm9zL3M2ZThheDAuYwo+PiBpbmRleCBkZTJmM2U3OTM3ODYuLmE3OGM2ZWZmYWI5NyAxMDA2NDQK Pj4gLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9leHlub3MvczZlOGF4MC5jCj4+ICsrKyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvZXh5bm9zL3M2ZThheDAuYwo+PiBAQCAtNzk2LDcgKzc5Niw4IEBA IHN0YXRpYyBpbnQgczZlOGF4MF9wcm9iZShzdHJ1Y3QgbWlwaV9kc2ltX2xjZF9kZXZpY2UgKmRz aW1fZGV2KQo+PiAgCX0KPj4gIAo+PiAgCWxjZC0+YmQgPSBkZXZtX2JhY2tsaWdodF9kZXZpY2Vf cmVnaXN0ZXIobGNkLT5kZXYsICJzNmU4YXgwLWJsIiwKPj4gLQkJCQlsY2QtPmRldiwgbGNkLCAm czZlOGF4MF9iYWNrbGlnaHRfb3BzLCBOVUxMKTsKPj4gKwkJCQlsY2QtPmRldiwgbGNkLCAmczZl OGF4MF9iYWNrbGlnaHRfb3BzLCBOVUxMLAo+PiArCQkJCUJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9D TElFTlQpOwo+PiAgCWlmIChJU19FUlIobGNkLT5iZCkpIHsKPj4gIAkJZGV2X2VycihsY2QtPmRl diwgImZhaWxlZCB0byByZWdpc3RlciBiYWNrbGlnaHQgb3BzLlxuIik7Cj4+ICAJCXJldHVybiBQ VFJfRVJSKGxjZC0+YmQpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9teDNm Yi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9teDNmYi5jCj4+IGluZGV4IGY5MWIxZGIyNjJiMC4u YzEzYzM2NWU2NjIyIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L214M2ZiLmMK Pj4gKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9teDNmYi5jCj4+IEBAIC0zMTksNyArMzE5LDgg QEAgc3RhdGljIHZvaWQgbXgzZmJfaW5pdF9iYWNrbGlnaHQoc3RydWN0IG14M2ZiX2RhdGEgKmZi ZCkKPj4gIAlzZGNfc2V0X2JyaWdodG5lc3MoZmJkLCBmYmQtPmJhY2tsaWdodF9sZXZlbCk7Cj4+ ICAKPj4gIAlibCA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoIm14M2ZiLWJsIiwgZmJkLT5k ZXYsIGZiZCwKPj4gLQkJCQkgICAgICAgJm14M2ZiX2xjZGNfYmxfb3BzLCAmcHJvcHMpOwo+PiAr CQkJCSAgICAgICAmbXgzZmJfbGNkY19ibF9vcHMsICZwcm9wcywKPj4gKwkJCQkgICAgICAgQkFD S0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4+ICAJaWYgKElTX0VSUihibCkpIHsKPj4gIAkJ ZGV2X2VycihmYmQtPmRldiwgImVycm9yICVsZCBvbiBiYWNrbGlnaHQgcmVnaXN0ZXJcbiIsCj4+ ICAJCQkJUFRSX0VSUihibCkpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9u dmlkaWEvbnZfYmFja2xpZ2h0LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L252aWRpYS9udl9iYWNr bGlnaHQuYwo+PiBpbmRleCA1YzE1MWIyZWE2ODMuLmZkYjkxNTQ3YjAyZiAxMDA2NDQKPj4gLS0t IGEvZHJpdmVycy92aWRlby9mYmRldi9udmlkaWEvbnZfYmFja2xpZ2h0LmMKPj4gKysrIGIvZHJp dmVycy92aWRlby9mYmRldi9udmlkaWEvbnZfYmFja2xpZ2h0LmMKPj4gQEAgLTEwOCw3ICsxMDgs OCBAQCB2b2lkIG52aWRpYV9ibF9pbml0KHN0cnVjdCBudmlkaWFfcGFyICpwYXIpCj4+ICAJcHJv cHMudHlwZSA9IEJBQ0tMSUdIVF9SQVc7Cj4+ICAJcHJvcHMubWF4X2JyaWdodG5lc3MgPSBGQl9C QUNLTElHSFRfTEVWRUxTIC0gMTsKPj4gIAliZCA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIo bmFtZSwgaW5mby0+ZGV2LCBwYXIsICZudmlkaWFfYmxfb3BzLAo+PiAtCQkJCSAgICAgICAmcHJv cHMpOwo+PiArCQkJCSAgICAgICAmcHJvcHMsCj4+ICsJCQkJICAgICAgIEJBQ0tMSUdIVF9SRUdJ U1RFUl9GQl9DTElFTlQpOwo+PiAgCWlmIChJU19FUlIoYmQpKSB7Cj4+ICAJCWluZm8tPmJsX2Rl diA9IE5VTEw7Cj4+ICAJCXByaW50ayhLRVJOX1dBUk5JTkcgIm52aWRpYTogQmFja2xpZ2h0IHJl Z2lzdHJhdGlvbiBmYWlsZWRcbiIpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRl di9vbWFwMi9vbWFwZmIvZGlzcGxheXMvcGFuZWwtZHNpLWNtLmMgYi9kcml2ZXJzL3ZpZGVvL2Zi ZGV2L29tYXAyL29tYXBmYi9kaXNwbGF5cy9wYW5lbC1kc2ktY20uYwo+PiBpbmRleCBiNTgwMTJi ODJiNmYuLjJjNWZjY2Y4MTM5MSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9v bWFwMi9vbWFwZmIvZGlzcGxheXMvcGFuZWwtZHNpLWNtLmMKPj4gKysrIGIvZHJpdmVycy92aWRl by9mYmRldi9vbWFwMi9vbWFwZmIvZGlzcGxheXMvcGFuZWwtZHNpLWNtLmMKPj4gQEAgLTEyNTks NyArMTI1OSw4IEBAIHN0YXRpYyBpbnQgZHNpY21fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikKPj4gIAo+PiAgCQlwcm9wcy50eXBlID0gQkFDS0xJR0hUX1JBVzsKPj4gIAkJYmxk ZXYgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKGRldl9uYW1lKGRldiksCj4+IC0JCQkJZGV2 LCBkZGF0YSwgJmRzaWNtX2JsX29wcywgJnByb3BzKTsKPj4gKwkJCQlkZXYsIGRkYXRhLCAmZHNp Y21fYmxfb3BzLCAmcHJvcHMsCj4+ICsJCQkJQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7 Cj4+ICAJCWlmIChJU19FUlIoYmxkZXYpKSB7Cj4+ICAJCQlyID0gUFRSX0VSUihibGRldik7Cj4+ ICAJCQlnb3RvIGVycl9ibDsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvb21h cDIvb21hcGZiL2Rpc3BsYXlzL3BhbmVsLXNvbnktYWN4NTY1YWttLmMgYi9kcml2ZXJzL3ZpZGVv L2ZiZGV2L29tYXAyL29tYXBmYi9kaXNwbGF5cy9wYW5lbC1zb255LWFjeDU2NWFrbS5jCj4+IGlu ZGV4IDQ2ODU2MGE2ZGFhZS4uOGQ3ODIxZThiYjBhIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L29tYXAyL29tYXBmYi9kaXNwbGF5cy9wYW5lbC1zb255LWFjeDU2NWFrbS5jCj4+ ICsrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvb21hcDIvb21hcGZiL2Rpc3BsYXlzL3BhbmVsLXNv bnktYWN4NTY1YWttLmMKPj4gQEAgLTgxNiw3ICs4MTYsOCBAQCBzdGF0aWMgaW50IGFjeDU2NWFr bV9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQo+PiAgCXByb3BzLnR5cGUgPSBCQUNLTElH SFRfUkFXOwo+PiAgCj4+ICAJYmxkZXYgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCJhY3g1 NjVha20iLCAmZGRhdGEtPnNwaS0+ZGV2LAo+PiAtCQkJZGRhdGEsICZhY3g1NjVha21fYmxfb3Bz LCAmcHJvcHMpOwo+PiArCQkJZGRhdGEsICZhY3g1NjVha21fYmxfb3BzLCAmcHJvcHMsCj4+ICsJ CQlCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPj4gIAlpZiAoSVNfRVJSKGJsZGV2KSkg ewo+PiAgCQlyID0gUFRSX0VSUihibGRldik7Cj4+ICAJCWdvdG8gZXJyX3JlZ19ibDsKPj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvcml2YS9mYmRldi5jIGIvZHJpdmVycy92aWRl by9mYmRldi9yaXZhL2ZiZGV2LmMKPj4gaW5kZXggMmVmMjZhZDk5MzQxLi42ZGMwNWRhNTA2MDkg MTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvcml2YS9mYmRldi5jCj4+ICsrKyBi L2RyaXZlcnMvdmlkZW8vZmJkZXYvcml2YS9mYmRldi5jCj4+IEBAIC0zNDMsNyArMzQzLDggQEAg c3RhdGljIHZvaWQgcml2YV9ibF9pbml0KHN0cnVjdCByaXZhX3BhciAqcGFyKQo+PiAgCXByb3Bz LnR5cGUgPSBCQUNLTElHSFRfUkFXOwo+PiAgCXByb3BzLm1heF9icmlnaHRuZXNzID0gRkJfQkFD S0xJR0hUX0xFVkVMUyAtIDE7Cj4+ICAJYmQgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKG5h bWUsIGluZm8tPmRldiwgcGFyLCAmcml2YV9ibF9vcHMsCj4+IC0JCQkJICAgICAgICZwcm9wcyk7 Cj4+ICsJCQkJICAgICAgICZwcm9wcywKPj4gKwkJCQkgICAgICAgQkFDS0xJR0hUX1JFR0lTVEVS X0ZCX0NMSUVOVCk7Cj4+ICAJaWYgKElTX0VSUihiZCkpIHsKPj4gIAkJaW5mby0+YmxfZGV2ID0g TlVMTDsKPj4gIAkJcHJpbnRrKEtFUk5fV0FSTklORyAicml2YTogQmFja2xpZ2h0IHJlZ2lzdHJh dGlvbiBmYWlsZWRcbiIpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9zaF9t b2JpbGVfbGNkY2ZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3NoX21vYmlsZV9sY2RjZmIuYwo+ PiBpbmRleCA4MmMwYThjYWE5YjguLjIwMDBlZDk4YjM4MCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVy cy92aWRlby9mYmRldi9zaF9tb2JpbGVfbGNkY2ZiLmMKPj4gKysrIGIvZHJpdmVycy92aWRlby9m YmRldi9zaF9tb2JpbGVfbGNkY2ZiLmMKPj4gQEAgLTIzMTQsNyArMjMxNCw4IEBAIHN0YXRpYyBz dHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqc2hfbW9iaWxlX2xjZGNfYmxfcHJvYmUoc3RydWN0IGRl dmljZSAqcGFyZW50LAo+PiAgCXN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibDsKPj4gIAo+PiAg CWJsID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcihjaC0+Y2ZnLT5ibF9pbmZvLm5hbWUsIHBh cmVudCwgY2gsCj4+IC0JCQkJICAgICAgICZzaF9tb2JpbGVfbGNkY19ibF9vcHMsIE5VTEwpOwo+ PiArCQkJCSAgICAgICAmc2hfbW9iaWxlX2xjZGNfYmxfb3BzLCBOVUxMLAo+PiArCQkJCSAgICAg ICBCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPj4gIAlpZiAoSVNfRVJSKGJsKSkgewo+ PiAgCQlkZXZfZXJyKHBhcmVudCwgInVuYWJsZSB0byByZWdpc3RlciBiYWNrbGlnaHQgZGV2aWNl OiAlbGRcbiIsCj4+ICAJCQlQVFJfRVJSKGJsKSk7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L3NzZDEzMDdmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9zc2QxMzA3ZmIuYwo+ PiBpbmRleCBhOWM0NWM4OWIxNWUuLmE4YTdiYTRhY2RlNiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVy cy92aWRlby9mYmRldi9zc2QxMzA3ZmIuYwo+PiArKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3Nz ZDEzMDdmYi5jCj4+IEBAIC02NzMsNyArNjczLDggQEAgc3RhdGljIGludCBzc2QxMzA3ZmJfcHJv YmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwKPj4gIAo+PiAgCXNucHJpbnRmKGJsX25hbWUs IHNpemVvZihibF9uYW1lKSwgInNzZDEzMDdmYiVkIiwgaW5mby0+bm9kZSk7Cj4+ICAJYmwgPSBi YWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKGJsX25hbWUsICZjbGllbnQtPmRldiwgcGFyLAo+PiAt CQkJCSAgICAgICAmc3NkMTMwN2ZiX2JsX29wcywgTlVMTCk7Cj4+ICsJCQkJICAgICAgICZzc2Qx MzA3ZmJfYmxfb3BzLCBOVUxMLAo+PiArCQkJCSAgICAgICBCQUNLTElHSFRfUkVHSVNURVJfRkJf Q0xJRU5UKTsKPj4gIAlpZiAoSVNfRVJSKGJsKSkgewo+PiAgCQlyZXQgPSBQVFJfRVJSKGJsKTsK Pj4gIAkJZGV2X2VycigmY2xpZW50LT5kZXYsICJ1bmFibGUgdG8gcmVnaXN0ZXIgYmFja2xpZ2h0 IGRldmljZTogJWRcbiIsCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2JhY2tsaWdodC5o IGIvaW5jbHVkZS9saW51eC9iYWNrbGlnaHQuaAo+PiBpbmRleCA1ZjJmZDYxZWY0ZmIuLjc5YWYz Y2NhYmVjYSAxMDA2NDQKPj4gLS0tIGEvaW5jbHVkZS9saW51eC9iYWNrbGlnaHQuaAo+PiArKysg Yi9pbmNsdWRlL2xpbnV4L2JhY2tsaWdodC5oCj4+IEBAIC0xMjksMTMgKzEyOSwxNiBAQCBzdGF0 aWMgaW5saW5lIGludCBiYWNrbGlnaHRfdXBkYXRlX3N0YXR1cyhzdHJ1Y3QgYmFja2xpZ2h0X2Rl dmljZSAqYmQpCj4+ICAJcmV0dXJuIHJldDsKPj4gIH0KPj4gIAo+PiArI2RlZmluZSBCQUNLTElH SFRfUkVHSVNURVJfRkJfQ0xJRU5UIDB4MQo+PiAgZXh0ZXJuIHN0cnVjdCBiYWNrbGlnaHRfZGV2 aWNlICpiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKGNvbnN0IGNoYXIgKm5hbWUsCj4+ICAJc3Ry dWN0IGRldmljZSAqZGV2LCB2b2lkICpkZXZkYXRhLCBjb25zdCBzdHJ1Y3QgYmFja2xpZ2h0X29w cyAqb3BzLAo+PiAtCWNvbnN0IHN0cnVjdCBiYWNrbGlnaHRfcHJvcGVydGllcyAqcHJvcHMpOwo+ PiArCWNvbnN0IHN0cnVjdCBiYWNrbGlnaHRfcHJvcGVydGllcyAqcHJvcHMsCj4+ICsJdW5zaWdu ZWQgbG9uZyBmbGFncyk7Cj4+ICBleHRlcm4gc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmRldm1f YmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigKPj4gIAlzdHJ1Y3QgZGV2aWNlICpkZXYsIGNvbnN0 IGNoYXIgKm5hbWUsIHN0cnVjdCBkZXZpY2UgKnBhcmVudCwKPj4gIAl2b2lkICpkZXZkYXRhLCBj b25zdCBzdHJ1Y3QgYmFja2xpZ2h0X29wcyAqb3BzLAo+PiAtCWNvbnN0IHN0cnVjdCBiYWNrbGln aHRfcHJvcGVydGllcyAqcHJvcHMpOwo+PiArCWNvbnN0IHN0cnVjdCBiYWNrbGlnaHRfcHJvcGVy dGllcyAqcHJvcHMsCj4+ICsJdW5zaWduZWQgbG9uZyBmbGFncyk7Cj4+ICBleHRlcm4gdm9pZCBi YWNrbGlnaHRfZGV2aWNlX3VucmVnaXN0ZXIoc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJkKTsK Pj4gIGV4dGVybiB2b2lkIGRldm1fYmFja2xpZ2h0X2RldmljZV91bnJlZ2lzdGVyKHN0cnVjdCBk ZXZpY2UgKmRldiwKPj4gIAkJCQkJc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJkKTsKPj4gLS0g Cj4+IDIuOC4xCj4+IAo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwo+PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4+IEludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKPj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5v bG9neSBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==