From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Zhou, David(ChunMing)" Subject: RE: [PATCH 1/2] drm/amdgpu: switch firmware path for CIK parts Date: Tue, 3 Jul 2018 01:39:11 +0000 Message-ID: References: <20180702193629.2604-1-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Alex Deucher , Dave Airlie Cc: "Deucher, Alexander" , amd-gfx mailing list WWVzLCBhZ3JlZSwgcmFkZW9uIGRyaXZlciB1c2VzIHJhZGVvbiBwYXRoLCBhbWRncHUgdXNlcyBh bWRncHUgcGF0aCwgd2hpY2ggbWFrZXMgc2Vuc2UgdG8gbWUuDQoNClRoZSBzZXJpZXMgaXMgUmV2 aWV3ZWQtYnk6IENodW5taW5nIFpob3UgPGRhdmlkMS56aG91QGFtZC5jb20+DQoNClJlZ2FyZHMs DQpEYXZpZCBaaG91DQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBhbWQtZ2Z4 IFttYWlsdG86YW1kLWdmeC1ib3VuY2VzQGxpc3RzLmZyZWVkZXNrdG9wLm9yZ10gT24gQmVoYWxm IE9mIEFsZXggRGV1Y2hlcg0KU2VudDogVHVlc2RheSwgSnVseSAwMywgMjAxOCA0OjMyIEFNDQpU bzogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAZ21haWwuY29tPg0KQ2M6IERldWNoZXIsIEFsZXhhbmRl ciA8QWxleGFuZGVyLkRldWNoZXJAYW1kLmNvbT47IGFtZC1nZnggbWFpbGluZyBsaXN0IDxhbWQt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZz4NClN1YmplY3Q6IFJlOiBbUEFUQ0ggMS8yXSBkcm0v YW1kZ3B1OiBzd2l0Y2ggZmlybXdhcmUgcGF0aCBmb3IgQ0lLIHBhcnRzDQoNCk9uIE1vbiwgSnVs IDIsIDIwMTggYXQgNDoxMiBQTSwgRGF2ZSBBaXJsaWUgPGFpcmxpZWRAZ21haWwuY29tPiB3cm90 ZToNCj4gT24gMyBKdWx5IDIwMTggYXQgMDU6MzYsIEFsZXggRGV1Y2hlciA8YWxleGRldWNoZXJA Z21haWwuY29tPiB3cm90ZToNCj4+IFVzZSBzZXBhcmF0ZSBmaXJtd2FyZSBwYXRoIGZvciBhbWRn cHUgdG8gYXZvaWQgY29uZmxpY3RzIHdpdGggcmFkZW9uIA0KPj4gb24gQ0lLIHBhcnRzLg0KPj4N Cj4NCj4gV29uJ3QgdGhhdCBjYXVzZSBhIGNoaWNrZW4gYW5kIGVnZyBwcm9ibGVtLCBuZXcga2Vy bmVsIHdpdGggb2xkIA0KPiBmaXJtd2FyZSBwYWNrYWdlIHdpbGwgc3VkZGVubHkgc3RhcnQgZmFp bGluZywgb3IgZG8gd2Ugbm90IHJlYWxseSBjYXJlIA0KPiBzaW5jZSBpbiB0aGVvcnkgd2UgZG9u J3Qgc3VwcG9zZSBhbWRncHUgb24gdGhvc2UgcGFydHMgeWV0Pw0KPg0KPiBTZWVtcyBsaWtlIHdl J2Qgd2FudCB0byBmYWxsYmFjayB0byB0aGUgb2xkIHBhdGhzIGlmIHBvc3NpYmxlLg0KDQpJIGd1 ZXNzIHdlIGNvdWxkIGZhbGwgYmFjaywgYnV0IGluIG1vc3QgY2FzZXMgdGhlIGZpcm13YXJlIGxv YWRlciB3aWxsIGhhdmUgdG8gdGltZW91dCBmaXJzdCBhbmQgdGhlbiBtb3N0IHVzZXJzIHdpbGwg YXNzdW1lIGl0J3MgYnJva2VuIGFueXdheS4gIHJhZGVvbiBpcyBzdGlsbCB0aGUgZGVmYXVsdCB3 aXRoIG1vc3QgZGlzdHJvcywgc28gSSBkb24ndCB0aGluayBpdCdzIHN1cGVyIGNyaXRpY2FsLg0K DQpBbGV4DQoNCj4NCj4gRGF2ZS4NCj4NCj4+IFNpZ25lZC1vZmYtYnk6IEFsZXggRGV1Y2hlciA8 YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4NCj4+IC0tLQ0KPj4gIGRyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9jZ3MuYyB8ICA4ICsrLS0gIA0KPj4gZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X3V2ZC5jIHwgMTAgKystLS0gIA0KPj4gZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X3ZjZS5jIHwgMTAgKystLS0NCj4+ICBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9jaV9kcG0uYyAgICAgfCAxMCArKy0tLQ0KPj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2Npa19zZG1hLmMgICB8IDI0ICsrKysrLS0tLS0tDQo+PiAgZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvZ2Z4X3Y3XzAuYyAgIHwgNzIgKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tDQo+PiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y3XzAuYyAgIHwgIDYg Ky0tDQo+PiAgNyBmaWxlcyBjaGFuZ2VkLCA3MCBpbnNlcnRpb25zKCspLCA3MCBkZWxldGlvbnMo LSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2Nncy5jIA0KPj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY2dzLmMNCj4+ IGluZGV4IGU5NTA3MzBmMTkzMy4uNjkzZWM1ZWE0OTUwIDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Nncy5jDQo+PiArKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfY2dzLmMNCj4+IEBAIC0zMTQsMTcgKzMxNCwxNyBAQCBzdGF0 aWMgaW50IGFtZGdwdV9jZ3NfZ2V0X2Zpcm13YXJlX2luZm8oc3RydWN0IGNnc19kZXZpY2UgKmNn c19kZXZpY2UsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFk ZXYtPnBkZXYtPnJldmlzaW9uID09IDB4ODEpIHx8DQo+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGFkZXYtPnBkZXYtPmRldmljZSA9PSAweDY2NWYpKSB7DQo+PiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mby0+aXNfa2lja2VyID0g dHJ1ZTsNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJjcHko ZndfbmFtZSwgInJhZGVvbi9ib25haXJlX2tfc21jLmJpbiIpOw0KPj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmNweShmd19uYW1lLCANCj4+ICsgImFtZGdwdS9i b25haXJlX2tfc21jLmJpbiIpOw0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 IGVsc2Ugew0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmNw eShmd19uYW1lLCAicmFkZW9uL2JvbmFpcmVfc21jLmJpbiIpOw0KPj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmNweShmd19uYW1lLCANCj4+ICsgImFtZGdwdS9i b25haXJlX3NtYy5iaW4iKTsNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0K Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4+ICAgICAgICAgICAg ICAgICAgICAgICAgIGNhc2UgQ0hJUF9IQVdBSUk6DQo+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGlmIChhZGV2LT5wZGV2LT5yZXZpc2lvbiA9PSAweDgwKSB7DQo+PiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mby0+aXNfa2lja2VyID0gdHJ1ZTsN Cj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJjcHkoZndfbmFt ZSwgInJhZGVvbi9oYXdhaWlfa19zbWMuYmluIik7DQo+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RyY3B5KGZ3X25hbWUsIA0KPj4gKyAiYW1kZ3B1L2hhd2FpaV9r X3NtYy5iaW4iKTsNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsN Cj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJjcHkoZndfbmFt ZSwgInJhZGVvbi9oYXdhaWlfc21jLmJpbiIpOw0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cmNweShmd19uYW1lLCANCj4+ICsgImFtZGdwdS9oYXdhaWlfc21j LmJpbiIpOw0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQo+PiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KPj4gICAgICAgICAgICAgICAgICAgICAg ICAgY2FzZSBDSElQX1RPUEFaOg0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV91dmQuYyANCj4+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X3V2ZC5jDQo+PiBpbmRleCAwYjQ2ZWExYzYyOTAuLjNlNzBlYjYxYTk2MCAxMDA2NDQNCj4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91dmQuYw0KPj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3V2ZC5jDQo+PiBAQCAtNTMsMTEgKzUz LDExIEBADQo+Pg0KPj4gIC8qIEZpcm13YXJlIE5hbWVzICovDQo+PiAgI2lmZGVmIENPTkZJR19E Uk1fQU1ER1BVX0NJSw0KPj4gLSNkZWZpbmUgRklSTVdBUkVfQk9OQUlSRSAgICAgICAicmFkZW9u L2JvbmFpcmVfdXZkLmJpbiINCj4+IC0jZGVmaW5lIEZJUk1XQVJFX0tBQklOSSAgICAgICAgInJh ZGVvbi9rYWJpbmlfdXZkLmJpbiINCj4+IC0jZGVmaW5lIEZJUk1XQVJFX0tBVkVSSSAgICAgICAg InJhZGVvbi9rYXZlcmlfdXZkLmJpbiINCj4+IC0jZGVmaW5lIEZJUk1XQVJFX0hBV0FJSSAgICAg ICAgInJhZGVvbi9oYXdhaWlfdXZkLmJpbiINCj4+IC0jZGVmaW5lIEZJUk1XQVJFX01VTExJTlMg ICAgICAgInJhZGVvbi9tdWxsaW5zX3V2ZC5iaW4iDQo+PiArI2RlZmluZSBGSVJNV0FSRV9CT05B SVJFICAgICAgICJhbWRncHUvYm9uYWlyZV91dmQuYmluIg0KPj4gKyNkZWZpbmUgRklSTVdBUkVf S0FCSU5JICAgICAgICAiYW1kZ3B1L2thYmluaV91dmQuYmluIg0KPj4gKyNkZWZpbmUgRklSTVdB UkVfS0FWRVJJICAgICAgICAiYW1kZ3B1L2thdmVyaV91dmQuYmluIg0KPj4gKyNkZWZpbmUgRklS TVdBUkVfSEFXQUlJICAgICAgICAiYW1kZ3B1L2hhd2FpaV91dmQuYmluIg0KPj4gKyNkZWZpbmUg RklSTVdBUkVfTVVMTElOUyAgICAgICAiYW1kZ3B1L211bGxpbnNfdXZkLmJpbiINCj4+ICAjZW5k aWYNCj4+ICAjZGVmaW5lIEZJUk1XQVJFX1RPTkdBICAgICAgICAgImFtZGdwdS90b25nYV91dmQu YmluIg0KPj4gICNkZWZpbmUgRklSTVdBUkVfQ0FSUklaTyAgICAgICAiYW1kZ3B1L2NhcnJpem9f dXZkLmJpbiINCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfdmNlLmMgDQo+PiBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92Y2UuYw0K Pj4gaW5kZXggYjBkY2RmZDg1ZjViLi42YWUxYWQ3ZTgzYjMgMTAwNjQ0DQo+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmNlLmMNCj4+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92Y2UuYw0KPj4gQEAgLTQwLDExICs0MCwxMSBAQA0KPj4N Cj4+ICAvKiBGaXJtd2FyZSBOYW1lcyAqLw0KPj4gICNpZmRlZiBDT05GSUdfRFJNX0FNREdQVV9D SUsNCj4+IC0jZGVmaW5lIEZJUk1XQVJFX0JPTkFJUkUgICAgICAgInJhZGVvbi9ib25haXJlX3Zj ZS5iaW4iDQo+PiAtI2RlZmluZSBGSVJNV0FSRV9LQUJJTkkgICAgICAgICJyYWRlb24va2FiaW5p X3ZjZS5iaW4iDQo+PiAtI2RlZmluZSBGSVJNV0FSRV9LQVZFUkkgICAgICAgICJyYWRlb24va2F2 ZXJpX3ZjZS5iaW4iDQo+PiAtI2RlZmluZSBGSVJNV0FSRV9IQVdBSUkgICAgICAgICJyYWRlb24v aGF3YWlpX3ZjZS5iaW4iDQo+PiAtI2RlZmluZSBGSVJNV0FSRV9NVUxMSU5TICAgICAgICJyYWRl b24vbXVsbGluc192Y2UuYmluIg0KPj4gKyNkZWZpbmUgRklSTVdBUkVfQk9OQUlSRSAgICAgICAi YW1kZ3B1L2JvbmFpcmVfdmNlLmJpbiINCj4+ICsjZGVmaW5lIEZJUk1XQVJFX0tBQklOSSAgICAg ICAgImFtZGdwdS9rYWJpbmlfdmNlLmJpbiINCj4+ICsjZGVmaW5lIEZJUk1XQVJFX0tBVkVSSSAg ICAgICAgImFtZGdwdS9rYXZlcmlfdmNlLmJpbiINCj4+ICsjZGVmaW5lIEZJUk1XQVJFX0hBV0FJ SSAgICAgICAgImFtZGdwdS9oYXdhaWlfdmNlLmJpbiINCj4+ICsjZGVmaW5lIEZJUk1XQVJFX01V TExJTlMgICAgICAgImFtZGdwdS9tdWxsaW5zX3ZjZS5iaW4iDQo+PiAgI2VuZGlmDQo+PiAgI2Rl ZmluZSBGSVJNV0FSRV9UT05HQSAgICAgICAgICJhbWRncHUvdG9uZ2FfdmNlLmJpbiINCj4+ICAj ZGVmaW5lIEZJUk1XQVJFX0NBUlJJWk8gICAgICAgImFtZGdwdS9jYXJyaXpvX3ZjZS5iaW4iDQo+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lfZHBtLmMgDQo+PiBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2NpX2RwbS5jDQo+PiBpbmRleCAwNzlhNWZjOWI1 OTMuLmQyNDY5NDUzZGNhMiAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2NpX2RwbS5jDQo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jaV9kcG0u Yw0KPj4gQEAgLTQ5LDEwICs0OSwxMCBAQA0KPj4gICNpbmNsdWRlICJnbWMvZ21jXzdfMV9kLmgi DQo+PiAgI2luY2x1ZGUgImdtYy9nbWNfN18xX3NoX21hc2suaCINCj4+DQo+PiAtTU9EVUxFX0ZJ Uk1XQVJFKCJyYWRlb24vYm9uYWlyZV9zbWMuYmluIik7DQo+PiAtTU9EVUxFX0ZJUk1XQVJFKCJy YWRlb24vYm9uYWlyZV9rX3NtYy5iaW4iKTsNCj4+IC1NT0RVTEVfRklSTVdBUkUoInJhZGVvbi9o YXdhaWlfc21jLmJpbiIpOw0KPj4gLU1PRFVMRV9GSVJNV0FSRSgicmFkZW9uL2hhd2FpaV9rX3Nt Yy5iaW4iKTsNCj4+ICtNT0RVTEVfRklSTVdBUkUoImFtZGdwdS9ib25haXJlX3NtYy5iaW4iKTsN Cj4+ICtNT0RVTEVfRklSTVdBUkUoImFtZGdwdS9ib25haXJlX2tfc21jLmJpbiIpOw0KPj4gK01P RFVMRV9GSVJNV0FSRSgiYW1kZ3B1L2hhd2FpaV9zbWMuYmluIik7DQo+PiArTU9EVUxFX0ZJUk1X QVJFKCJhbWRncHUvaGF3YWlpX2tfc21jLmJpbiIpOw0KPj4NCj4+ICAjZGVmaW5lIE1DX0NHX0FS Ql9GUkVRX0YwICAgICAgICAgICAweDBhDQo+PiAgI2RlZmluZSBNQ19DR19BUkJfRlJFUV9GMSAg ICAgICAgICAgMHgwYg0KPj4gQEAgLTU4MTUsNyArNTgxNSw3IEBAIHN0YXRpYyBpbnQgY2lfZHBt X2luaXRfbWljcm9jb2RlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQ0KPj4gICAgICAgICBk ZWZhdWx0OiBCVUcoKTsNCj4+ICAgICAgICAgfQ0KPj4NCj4+IC0gICAgICAgc25wcmludGYoZndf bmFtZSwgc2l6ZW9mKGZ3X25hbWUpLCAicmFkZW9uLyVzX3NtYy5iaW4iLCBjaGlwX25hbWUpOw0K Pj4gKyAgICAgICBzbnByaW50Zihmd19uYW1lLCBzaXplb2YoZndfbmFtZSksICJhbWRncHUvJXNf c21jLmJpbiIsIA0KPj4gKyBjaGlwX25hbWUpOw0KPj4gICAgICAgICBlcnIgPSByZXF1ZXN0X2Zp cm13YXJlKCZhZGV2LT5wbS5mdywgZndfbmFtZSwgYWRldi0+ZGV2KTsNCj4+ICAgICAgICAgaWYg KGVycikNCj4+ICAgICAgICAgICAgICAgICBnb3RvIG91dDsNCj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jaWtfc2RtYS5jIA0KPj4gYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9jaWtfc2RtYS5jDQo+PiBpbmRleCBkYmQ1NTNhOGQ1ODQuLmQwZmEyYWFjMjM4 OCAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npa19zZG1hLmMN Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npa19zZG1hLmMNCj4+IEBAIC01 NCwxNiArNTQsMTYgQEAgc3RhdGljIHZvaWQgY2lrX3NkbWFfc2V0X2J1ZmZlcl9mdW5jcyhzdHJ1 Y3QgDQo+PiBhbWRncHVfZGV2aWNlICphZGV2KTsgIHN0YXRpYyB2b2lkIGNpa19zZG1hX3NldF92 bV9wdGVfZnVuY3Moc3RydWN0IA0KPj4gYW1kZ3B1X2RldmljZSAqYWRldik7ICBzdGF0aWMgaW50 IGNpa19zZG1hX3NvZnRfcmVzZXQodm9pZCAqaGFuZGxlKTsNCj4+DQo+PiAtTU9EVUxFX0ZJUk1X QVJFKCJyYWRlb24vYm9uYWlyZV9zZG1hLmJpbiIpOw0KPj4gLU1PRFVMRV9GSVJNV0FSRSgicmFk ZW9uL2JvbmFpcmVfc2RtYTEuYmluIik7DQo+PiAtTU9EVUxFX0ZJUk1XQVJFKCJyYWRlb24vaGF3 YWlpX3NkbWEuYmluIik7DQo+PiAtTU9EVUxFX0ZJUk1XQVJFKCJyYWRlb24vaGF3YWlpX3NkbWEx LmJpbiIpOw0KPj4gLU1PRFVMRV9GSVJNV0FSRSgicmFkZW9uL2thdmVyaV9zZG1hLmJpbiIpOw0K Pj4gLU1PRFVMRV9GSVJNV0FSRSgicmFkZW9uL2thdmVyaV9zZG1hMS5iaW4iKTsNCj4+IC1NT0RV TEVfRklSTVdBUkUoInJhZGVvbi9rYWJpbmlfc2RtYS5iaW4iKTsNCj4+IC1NT0RVTEVfRklSTVdB UkUoInJhZGVvbi9rYWJpbmlfc2RtYTEuYmluIik7DQo+PiAtTU9EVUxFX0ZJUk1XQVJFKCJyYWRl b24vbXVsbGluc19zZG1hLmJpbiIpOw0KPj4gLU1PRFVMRV9GSVJNV0FSRSgicmFkZW9uL211bGxp bnNfc2RtYTEuYmluIik7DQo+PiArTU9EVUxFX0ZJUk1XQVJFKCJhbWRncHUvYm9uYWlyZV9zZG1h LmJpbiIpOw0KPj4gK01PRFVMRV9GSVJNV0FSRSgiYW1kZ3B1L2JvbmFpcmVfc2RtYTEuYmluIik7 DQo+PiArTU9EVUxFX0ZJUk1XQVJFKCJhbWRncHUvaGF3YWlpX3NkbWEuYmluIik7DQo+PiArTU9E VUxFX0ZJUk1XQVJFKCJhbWRncHUvaGF3YWlpX3NkbWExLmJpbiIpOw0KPj4gK01PRFVMRV9GSVJN V0FSRSgiYW1kZ3B1L2thdmVyaV9zZG1hLmJpbiIpOw0KPj4gK01PRFVMRV9GSVJNV0FSRSgiYW1k Z3B1L2thdmVyaV9zZG1hMS5iaW4iKTsNCj4+ICtNT0RVTEVfRklSTVdBUkUoImFtZGdwdS9rYWJp bmlfc2RtYS5iaW4iKTsNCj4+ICtNT0RVTEVfRklSTVdBUkUoImFtZGdwdS9rYWJpbmlfc2RtYTEu YmluIik7DQo+PiArTU9EVUxFX0ZJUk1XQVJFKCJhbWRncHUvbXVsbGluc19zZG1hLmJpbiIpOw0K Pj4gK01PRFVMRV9GSVJNV0FSRSgiYW1kZ3B1L211bGxpbnNfc2RtYTEuYmluIik7DQo+Pg0KPj4g IHUzMiBhbWRncHVfY2lrX2dwdV9jaGVja19zb2Z0X3Jlc2V0KHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2KTsNCj4+DQo+PiBAQCAtMTMyLDkgKzEzMiw5IEBAIHN0YXRpYyBpbnQgY2lrX3NkbWFf aW5pdF9taWNyb2NvZGUoc3RydWN0IA0KPj4gYW1kZ3B1X2RldmljZSAqYWRldikNCj4+DQo+PiAg ICAgICAgIGZvciAoaSA9IDA7IGkgPCBhZGV2LT5zZG1hLm51bV9pbnN0YW5jZXM7IGkrKykgew0K Pj4gICAgICAgICAgICAgICAgIGlmIChpID09IDApDQo+PiAtICAgICAgICAgICAgICAgICAgICAg ICBzbnByaW50Zihmd19uYW1lLCBzaXplb2YoZndfbmFtZSksICJyYWRlb24vJXNfc2RtYS5iaW4i LCBjaGlwX25hbWUpOw0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgc25wcmludGYoZndfbmFt ZSwgc2l6ZW9mKGZ3X25hbWUpLCANCj4+ICsgImFtZGdwdS8lc19zZG1hLmJpbiIsIGNoaXBfbmFt ZSk7DQo+PiAgICAgICAgICAgICAgICAgZWxzZQ0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAg c25wcmludGYoZndfbmFtZSwgc2l6ZW9mKGZ3X25hbWUpLCAicmFkZW9uLyVzX3NkbWExLmJpbiIs IGNoaXBfbmFtZSk7DQo+PiArICAgICAgICAgICAgICAgICAgICAgICBzbnByaW50Zihmd19uYW1l LCBzaXplb2YoZndfbmFtZSksIA0KPj4gKyAiYW1kZ3B1LyVzX3NkbWExLmJpbiIsIGNoaXBfbmFt ZSk7DQo+PiAgICAgICAgICAgICAgICAgZXJyID0gcmVxdWVzdF9maXJtd2FyZSgmYWRldi0+c2Rt YS5pbnN0YW5jZVtpXS5mdywgZndfbmFtZSwgYWRldi0+ZGV2KTsNCj4+ICAgICAgICAgICAgICAg ICBpZiAoZXJyKQ0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvdXQ7DQo+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y3XzAuYyANCj4+IGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y3XzAuYw0KPj4gaW5kZXggNDJiNjE0NGMxZmQ1 Li45NTQ1MmM1YTlkZjYgMTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9nZnhfdjdfMC5jDQo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjdf MC5jDQo+PiBAQCAtNTcsMzYgKzU3LDM2IEBAIHN0YXRpYyB2b2lkIGdmeF92N18wX3NldF9yaW5n X2Z1bmNzKHN0cnVjdCANCj4+IGFtZGdwdV9kZXZpY2UgKmFkZXYpOyAgc3RhdGljIHZvaWQgZ2Z4 X3Y3XzBfc2V0X2lycV9mdW5jcyhzdHJ1Y3QgDQo+PiBhbWRncHVfZGV2aWNlICphZGV2KTsgIHN0 YXRpYyB2b2lkIGdmeF92N18wX3NldF9nZHNfaW5pdChzdHJ1Y3QgDQo+PiBhbWRncHVfZGV2aWNl ICphZGV2KTsNCj4+DQo+PiAtTU9EVUxFX0ZJUk1XQVJFKCJyYWRlb24vYm9uYWlyZV9wZnAuYmlu Iik7DQo+PiAtTU9EVUxFX0ZJUk1XQVJFKCJyYWRlb24vYm9uYWlyZV9tZS5iaW4iKTsNCj4+IC1N T0RVTEVfRklSTVdBUkUoInJhZGVvbi9ib25haXJlX2NlLmJpbiIpOw0KPj4gLU1PRFVMRV9GSVJN V0FSRSgicmFkZW9uL2JvbmFpcmVfcmxjLmJpbiIpOw0KPj4gLU1PRFVMRV9GSVJNV0FSRSgicmFk ZW9uL2JvbmFpcmVfbWVjLmJpbiIpOw0KPj4gLQ0KPj4gLU1PRFVMRV9GSVJNV0FSRSgicmFkZW9u L2hhd2FpaV9wZnAuYmluIik7DQo+PiAtTU9EVUxFX0ZJUk1XQVJFKCJyYWRlb24vaGF3YWlpX21l LmJpbiIpOw0KPj4gLU1PRFVMRV9GSVJNV0FSRSgicmFkZW9uL2hhd2FpaV9jZS5iaW4iKTsNCj4+ IC1NT0RVTEVfRklSTVdBUkUoInJhZGVvbi9oYXdhaWlfcmxjLmJpbiIpOw0KPj4gLU1PRFVMRV9G SVJNV0FSRSgicmFkZW9uL2hhd2FpaV9tZWMuYmluIik7DQo+PiAtDQo+PiAtTU9EVUxFX0ZJUk1X QVJFKCJyYWRlb24va2F2ZXJpX3BmcC5iaW4iKTsNCj4+IC1NT0RVTEVfRklSTVdBUkUoInJhZGVv bi9rYXZlcmlfbWUuYmluIik7DQo+PiAtTU9EVUxFX0ZJUk1XQVJFKCJyYWRlb24va2F2ZXJpX2Nl LmJpbiIpOw0KPj4gLU1PRFVMRV9GSVJNV0FSRSgicmFkZW9uL2thdmVyaV9ybGMuYmluIik7DQo+ PiAtTU9EVUxFX0ZJUk1XQVJFKCJyYWRlb24va2F2ZXJpX21lYy5iaW4iKTsNCj4+IC1NT0RVTEVf RklSTVdBUkUoInJhZGVvbi9rYXZlcmlfbWVjMi5iaW4iKTsNCj4+IC0NCj4+IC1NT0RVTEVfRklS TVdBUkUoInJhZGVvbi9rYWJpbmlfcGZwLmJpbiIpOw0KPj4gLU1PRFVMRV9GSVJNV0FSRSgicmFk ZW9uL2thYmluaV9tZS5iaW4iKTsNCj4+IC1NT0RVTEVfRklSTVdBUkUoInJhZGVvbi9rYWJpbmlf Y2UuYmluIik7DQo+PiAtTU9EVUxFX0ZJUk1XQVJFKCJyYWRlb24va2FiaW5pX3JsYy5iaW4iKTsN Cj4+IC1NT0RVTEVfRklSTVdBUkUoInJhZGVvbi9rYWJpbmlfbWVjLmJpbiIpOw0KPj4gLQ0KPj4g LU1PRFVMRV9GSVJNV0FSRSgicmFkZW9uL211bGxpbnNfcGZwLmJpbiIpOw0KPj4gLU1PRFVMRV9G SVJNV0FSRSgicmFkZW9uL211bGxpbnNfbWUuYmluIik7DQo+PiAtTU9EVUxFX0ZJUk1XQVJFKCJy YWRlb24vbXVsbGluc19jZS5iaW4iKTsNCj4+IC1NT0RVTEVfRklSTVdBUkUoInJhZGVvbi9tdWxs aW5zX3JsYy5iaW4iKTsNCj4+IC1NT0RVTEVfRklSTVdBUkUoInJhZGVvbi9tdWxsaW5zX21lYy5i aW4iKTsNCj4+ICtNT0RVTEVfRklSTVdBUkUoImFtZGdwdS9ib25haXJlX3BmcC5iaW4iKTsNCj4+ ICtNT0RVTEVfRklSTVdBUkUoImFtZGdwdS9ib25haXJlX21lLmJpbiIpOw0KPj4gK01PRFVMRV9G SVJNV0FSRSgiYW1kZ3B1L2JvbmFpcmVfY2UuYmluIik7DQo+PiArTU9EVUxFX0ZJUk1XQVJFKCJh bWRncHUvYm9uYWlyZV9ybGMuYmluIik7DQo+PiArTU9EVUxFX0ZJUk1XQVJFKCJhbWRncHUvYm9u YWlyZV9tZWMuYmluIik7DQo+PiArDQo+PiArTU9EVUxFX0ZJUk1XQVJFKCJhbWRncHUvaGF3YWlp X3BmcC5iaW4iKTsNCj4+ICtNT0RVTEVfRklSTVdBUkUoImFtZGdwdS9oYXdhaWlfbWUuYmluIik7 DQo+PiArTU9EVUxFX0ZJUk1XQVJFKCJhbWRncHUvaGF3YWlpX2NlLmJpbiIpOw0KPj4gK01PRFVM RV9GSVJNV0FSRSgiYW1kZ3B1L2hhd2FpaV9ybGMuYmluIik7DQo+PiArTU9EVUxFX0ZJUk1XQVJF KCJhbWRncHUvaGF3YWlpX21lYy5iaW4iKTsNCj4+ICsNCj4+ICtNT0RVTEVfRklSTVdBUkUoImFt ZGdwdS9rYXZlcmlfcGZwLmJpbiIpOw0KPj4gK01PRFVMRV9GSVJNV0FSRSgiYW1kZ3B1L2thdmVy aV9tZS5iaW4iKTsNCj4+ICtNT0RVTEVfRklSTVdBUkUoImFtZGdwdS9rYXZlcmlfY2UuYmluIik7 DQo+PiArTU9EVUxFX0ZJUk1XQVJFKCJhbWRncHUva2F2ZXJpX3JsYy5iaW4iKTsNCj4+ICtNT0RV TEVfRklSTVdBUkUoImFtZGdwdS9rYXZlcmlfbWVjLmJpbiIpOw0KPj4gK01PRFVMRV9GSVJNV0FS RSgiYW1kZ3B1L2thdmVyaV9tZWMyLmJpbiIpOw0KPj4gKw0KPj4gK01PRFVMRV9GSVJNV0FSRSgi YW1kZ3B1L2thYmluaV9wZnAuYmluIik7DQo+PiArTU9EVUxFX0ZJUk1XQVJFKCJhbWRncHUva2Fi aW5pX21lLmJpbiIpOw0KPj4gK01PRFVMRV9GSVJNV0FSRSgiYW1kZ3B1L2thYmluaV9jZS5iaW4i KTsNCj4+ICtNT0RVTEVfRklSTVdBUkUoImFtZGdwdS9rYWJpbmlfcmxjLmJpbiIpOw0KPj4gK01P RFVMRV9GSVJNV0FSRSgiYW1kZ3B1L2thYmluaV9tZWMuYmluIik7DQo+PiArDQo+PiArTU9EVUxF X0ZJUk1XQVJFKCJhbWRncHUvbXVsbGluc19wZnAuYmluIik7DQo+PiArTU9EVUxFX0ZJUk1XQVJF KCJhbWRncHUvbXVsbGluc19tZS5iaW4iKTsNCj4+ICtNT0RVTEVfRklSTVdBUkUoImFtZGdwdS9t dWxsaW5zX2NlLmJpbiIpOw0KPj4gK01PRFVMRV9GSVJNV0FSRSgiYW1kZ3B1L211bGxpbnNfcmxj LmJpbiIpOw0KPj4gK01PRFVMRV9GSVJNV0FSRSgiYW1kZ3B1L211bGxpbnNfbWVjLmJpbiIpOw0K Pj4NCj4+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGFtZGdwdV9nZHNfcmVnX29mZnNldCBhbWRncHVf Z2RzX3JlZ19vZmZzZXRbXSA9ICANCj4+IHsgQEAgLTkyNSw3ICs5MjUsNyBAQCBzdGF0aWMgaW50 IGdmeF92N18wX2luaXRfbWljcm9jb2RlKHN0cnVjdCANCj4+IGFtZGdwdV9kZXZpY2UgKmFkZXYp DQo+PiAgICAgICAgIGRlZmF1bHQ6IEJVRygpOw0KPj4gICAgICAgICB9DQo+Pg0KPj4gLSAgICAg ICBzbnByaW50Zihmd19uYW1lLCBzaXplb2YoZndfbmFtZSksICJyYWRlb24vJXNfcGZwLmJpbiIs IGNoaXBfbmFtZSk7DQo+PiArICAgICAgIHNucHJpbnRmKGZ3X25hbWUsIHNpemVvZihmd19uYW1l KSwgImFtZGdwdS8lc19wZnAuYmluIiwgDQo+PiArIGNoaXBfbmFtZSk7DQo+PiAgICAgICAgIGVy ciA9IHJlcXVlc3RfZmlybXdhcmUoJmFkZXYtPmdmeC5wZnBfZncsIGZ3X25hbWUsIGFkZXYtPmRl dik7DQo+PiAgICAgICAgIGlmIChlcnIpDQo+PiAgICAgICAgICAgICAgICAgZ290byBvdXQ7DQo+ PiBAQCAtOTMzLDcgKzkzMyw3IEBAIHN0YXRpYyBpbnQgZ2Z4X3Y3XzBfaW5pdF9taWNyb2NvZGUo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpDQo+PiAgICAgICAgIGlmIChlcnIpDQo+PiAgICAg ICAgICAgICAgICAgZ290byBvdXQ7DQo+Pg0KPj4gLSAgICAgICBzbnByaW50Zihmd19uYW1lLCBz aXplb2YoZndfbmFtZSksICJyYWRlb24vJXNfbWUuYmluIiwgY2hpcF9uYW1lKTsNCj4+ICsgICAg ICAgc25wcmludGYoZndfbmFtZSwgc2l6ZW9mKGZ3X25hbWUpLCAiYW1kZ3B1LyVzX21lLmJpbiIs IA0KPj4gKyBjaGlwX25hbWUpOw0KPj4gICAgICAgICBlcnIgPSByZXF1ZXN0X2Zpcm13YXJlKCZh ZGV2LT5nZngubWVfZncsIGZ3X25hbWUsIGFkZXYtPmRldik7DQo+PiAgICAgICAgIGlmIChlcnIp DQo+PiAgICAgICAgICAgICAgICAgZ290byBvdXQ7DQo+PiBAQCAtOTQxLDcgKzk0MSw3IEBAIHN0 YXRpYyBpbnQgZ2Z4X3Y3XzBfaW5pdF9taWNyb2NvZGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYpDQo+PiAgICAgICAgIGlmIChlcnIpDQo+PiAgICAgICAgICAgICAgICAgZ290byBvdXQ7DQo+ Pg0KPj4gLSAgICAgICBzbnByaW50Zihmd19uYW1lLCBzaXplb2YoZndfbmFtZSksICJyYWRlb24v JXNfY2UuYmluIiwgY2hpcF9uYW1lKTsNCj4+ICsgICAgICAgc25wcmludGYoZndfbmFtZSwgc2l6 ZW9mKGZ3X25hbWUpLCAiYW1kZ3B1LyVzX2NlLmJpbiIsIA0KPj4gKyBjaGlwX25hbWUpOw0KPj4g ICAgICAgICBlcnIgPSByZXF1ZXN0X2Zpcm13YXJlKCZhZGV2LT5nZnguY2VfZncsIGZ3X25hbWUs IGFkZXYtPmRldik7DQo+PiAgICAgICAgIGlmIChlcnIpDQo+PiAgICAgICAgICAgICAgICAgZ290 byBvdXQ7DQo+PiBAQCAtOTQ5LDcgKzk0OSw3IEBAIHN0YXRpYyBpbnQgZ2Z4X3Y3XzBfaW5pdF9t aWNyb2NvZGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpDQo+PiAgICAgICAgIGlmIChlcnIp DQo+PiAgICAgICAgICAgICAgICAgZ290byBvdXQ7DQo+Pg0KPj4gLSAgICAgICBzbnByaW50Zihm d19uYW1lLCBzaXplb2YoZndfbmFtZSksICJyYWRlb24vJXNfbWVjLmJpbiIsIGNoaXBfbmFtZSk7 DQo+PiArICAgICAgIHNucHJpbnRmKGZ3X25hbWUsIHNpemVvZihmd19uYW1lKSwgImFtZGdwdS8l c19tZWMuYmluIiwgDQo+PiArIGNoaXBfbmFtZSk7DQo+PiAgICAgICAgIGVyciA9IHJlcXVlc3Rf ZmlybXdhcmUoJmFkZXYtPmdmeC5tZWNfZncsIGZ3X25hbWUsIGFkZXYtPmRldik7DQo+PiAgICAg ICAgIGlmIChlcnIpDQo+PiAgICAgICAgICAgICAgICAgZ290byBvdXQ7DQo+PiBAQCAtOTU4LDcg Kzk1OCw3IEBAIHN0YXRpYyBpbnQgZ2Z4X3Y3XzBfaW5pdF9taWNyb2NvZGUoc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYpDQo+PiAgICAgICAgICAgICAgICAgZ290byBvdXQ7DQo+Pg0KPj4gICAg ICAgICBpZiAoYWRldi0+YXNpY190eXBlID09IENISVBfS0FWRVJJKSB7DQo+PiAtICAgICAgICAg ICAgICAgc25wcmludGYoZndfbmFtZSwgc2l6ZW9mKGZ3X25hbWUpLCAicmFkZW9uLyVzX21lYzIu YmluIiwgY2hpcF9uYW1lKTsNCj4+ICsgICAgICAgICAgICAgICBzbnByaW50Zihmd19uYW1lLCBz aXplb2YoZndfbmFtZSksIA0KPj4gKyAiYW1kZ3B1LyVzX21lYzIuYmluIiwgY2hpcF9uYW1lKTsN Cj4+ICAgICAgICAgICAgICAgICBlcnIgPSByZXF1ZXN0X2Zpcm13YXJlKCZhZGV2LT5nZngubWVj Ml9mdywgZndfbmFtZSwgYWRldi0+ZGV2KTsNCj4+ICAgICAgICAgICAgICAgICBpZiAoZXJyKQ0K Pj4gICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvdXQ7DQo+PiBAQCAtOTY3LDcgKzk2Nyw3 IEBAIHN0YXRpYyBpbnQgZ2Z4X3Y3XzBfaW5pdF9taWNyb2NvZGUoc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYpDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIG91dDsNCj4+ICAgICAg ICAgfQ0KPj4NCj4+IC0gICAgICAgc25wcmludGYoZndfbmFtZSwgc2l6ZW9mKGZ3X25hbWUpLCAi cmFkZW9uLyVzX3JsYy5iaW4iLCBjaGlwX25hbWUpOw0KPj4gKyAgICAgICBzbnByaW50Zihmd19u YW1lLCBzaXplb2YoZndfbmFtZSksICJhbWRncHUvJXNfcmxjLmJpbiIsIA0KPj4gKyBjaGlwX25h bWUpOw0KPj4gICAgICAgICBlcnIgPSByZXF1ZXN0X2Zpcm13YXJlKCZhZGV2LT5nZngucmxjX2Z3 LCBmd19uYW1lLCBhZGV2LT5kZXYpOw0KPj4gICAgICAgICBpZiAoZXJyKQ0KPj4gICAgICAgICAg ICAgICAgIGdvdG8gb3V0Ow0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2dtY192N18wLmMgDQo+PiBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192N18w LmMNCj4+IGluZGV4IDcxNDdiZmUyNWEyMy4uMmMyYjkzZDRkNjNiIDEwMDY0NA0KPj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y3XzAuYw0KPj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y3XzAuYw0KPj4gQEAgLTQ3LDggKzQ3LDggQEAgc3RhdGlj IHZvaWQgZ21jX3Y3XzBfc2V0X2dtY19mdW5jcyhzdHJ1Y3QgDQo+PiBhbWRncHVfZGV2aWNlICph ZGV2KTsgIHN0YXRpYyB2b2lkIGdtY192N18wX3NldF9pcnFfZnVuY3Moc3RydWN0IA0KPj4gYW1k Z3B1X2RldmljZSAqYWRldik7ICBzdGF0aWMgaW50IGdtY192N18wX3dhaXRfZm9yX2lkbGUodm9p ZCANCj4+ICpoYW5kbGUpOw0KPj4NCj4+IC1NT0RVTEVfRklSTVdBUkUoInJhZGVvbi9ib25haXJl X21jLmJpbiIpOw0KPj4gLU1PRFVMRV9GSVJNV0FSRSgicmFkZW9uL2hhd2FpaV9tYy5iaW4iKTsN Cj4+ICtNT0RVTEVfRklSTVdBUkUoImFtZGdwdS9ib25haXJlX21jLmJpbiIpOw0KPj4gK01PRFVM RV9GSVJNV0FSRSgiYW1kZ3B1L2hhd2FpaV9tYy5iaW4iKTsNCj4+ICBNT0RVTEVfRklSTVdBUkUo ImFtZGdwdS90b3Bhel9tYy5iaW4iKTsNCj4+DQo+PiAgc3RhdGljIGNvbnN0IHUzMiBnb2xkZW5f c2V0dGluZ3NfaWNlbGFuZF9hMTFbXSA9IEBAIC0xNTAsNyArMTUwLDcgQEAgDQo+PiBzdGF0aWMg aW50IGdtY192N18wX2luaXRfbWljcm9jb2RlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQ0K Pj4gICAgICAgICBpZiAoYWRldi0+YXNpY190eXBlID09IENISVBfVE9QQVopDQo+PiAgICAgICAg ICAgICAgICAgc25wcmludGYoZndfbmFtZSwgc2l6ZW9mKGZ3X25hbWUpLCAiYW1kZ3B1LyVzX21j LmJpbiIsIGNoaXBfbmFtZSk7DQo+PiAgICAgICAgIGVsc2UNCj4+IC0gICAgICAgICAgICAgICBz bnByaW50Zihmd19uYW1lLCBzaXplb2YoZndfbmFtZSksICJyYWRlb24vJXNfbWMuYmluIiwgY2hp cF9uYW1lKTsNCj4+ICsgICAgICAgICAgICAgICBzbnByaW50Zihmd19uYW1lLCBzaXplb2YoZndf bmFtZSksIA0KPj4gKyAiYW1kZ3B1LyVzX21jLmJpbiIsIGNoaXBfbmFtZSk7DQo+Pg0KPj4gICAg ICAgICBlcnIgPSByZXF1ZXN0X2Zpcm13YXJlKCZhZGV2LT5nbWMuZncsIGZ3X25hbWUsIGFkZXYt PmRldik7DQo+PiAgICAgICAgIGlmIChlcnIpDQo+PiAtLQ0KPj4gMi4xMy42DQo+Pg0KPj4gX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4+IGFtZC1nZngg bWFpbGluZyBsaXN0DQo+PiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZw0KPj4gaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4DQpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KYW1kLWdmeCBtYWlsaW5n IGxpc3QNCmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngNCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vYW1kLWdmeAo=