From mboxrd@z Thu Jan 1 00:00:00 1970 From: zhoucm1 Subject: Re: [PATCH] drm/amdgpu: Move IH clientid defs to separate file Date: Mon, 12 Mar 2018 10:55:49 +0800 Message-ID: References: <1520637814-13988-1-git-send-email-Oak.Zeng@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1520637814-13988-1-git-send-email-Oak.Zeng-5C7GfCeVMHo@public.gmane.org> 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: Oak Zeng , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Oak Zeng CgpPbiAyMDE45bm0MDPmnIgxMOaXpSAwNzoyMywgT2FrIFplbmcgd3JvdGU6Cj4gVGhpcyBpcyBw cmVwYXJhdGlvbiBmb3Igc2hhcmluZyBjbGllbnQgSUQgZGVmaW5pdGlvbnMKPiBiZXR3ZWVuIGFt ZGdwdSBhbmQgYW1ka2ZkCj4KPiBDaGFuZ2UtSWQ6IEllMGI3YjE0YzljMjM2NmZkODk2NzQ1YTUx Yjc0YTliYTk3ZWUzMjI0Cj4gU2lnbmVkLW9mZi1ieTogT2FrIFplbmcgPE9hay5aZW5nQGFtZC5j b20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfaWguaCAgICAg ICAgICAgICB8IDQzICstLS0tLS0tLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2dmeF92OV8wLmMgICAgICAgICAgICAgIHwgIDggKy0tCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9nbWNfdjlfMC5jICAgICAgICAgICAgICB8ICA0ICstCj4gICBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9teGdwdV9haS5jICAgICAgICAgICAgICB8ICA0ICstCj4gICBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3Y0XzAuYyAgICAgICAgICAgICB8ICA4ICstLQo+ICAg ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdXZkX3Y3XzAuYyAgICAgICAgICAgICAgfCAgNCAr LQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmNlX3Y0XzAuYyAgICAgICAgICAgICAg fCAgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmNuX3YxXzAuYyAgICAgICAg ICAgICAgfCAgNCArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmVnYTEwX2loLmMg ICAgICAgICAgICAgfCAgNCArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdw dV9kbS9hbWRncHVfZG0uYyAgfCAgOCArLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvaW5jbHVk ZS9zb2MxNV9paF9jbGllbnRpZC5oICAgIHwgNzAgKysrKysrKysrKysrKysrKysrKysrKwo+ICAg ZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvdmVnYTEwX2h3bWdyLmMgfCAgNiAr LQo+ICAgMTIgZmlsZXMgY2hhbmdlZCwgOTggaW5zZXJ0aW9ucygrKSwgNjcgZGVsZXRpb25zKC0p Cj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2FtZC9pbmNsdWRlL3NvYzE1 X2loX2NsaWVudGlkLmgKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfaWguaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9paC5oCj4g aW5kZXggYjhhN2RiYS4uMGUwMWYxMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfaWguaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9paC5oCj4gQEAgLTI1LDUxICsyNSwxMiBAQAo+ICAgI2RlZmluZSBfX0FNREdQVV9JSF9I X18KPiAgIAo+ICAgI2luY2x1ZGUgPGxpbnV4L2NoYXNoLmg+Cj4gKyNpbmNsdWRlICJzb2MxNV9p aF9jbGllbnRpZC5oIgo+ICAgCj4gICBzdHJ1Y3QgYW1kZ3B1X2RldmljZTsKPiAtIC8qCj4gLSAg KiB2ZWdhMTArIElIIGNsaWVudHMKPiAtICovCj4gLWVudW0gYW1kZ3B1X2loX2NsaWVudGlkCj4g LXsKPiAtICAgIEFNREdQVV9JSF9DTElFTlRJRF9JSAkgICAgPSAweDAwLAo+IC0gICAgQU1ER1BV X0lIX0NMSUVOVElEX0FDUAkgICAgPSAweDAxLAo+IC0gICAgQU1ER1BVX0lIX0NMSUVOVElEX0FU SFVCCSAgICA9IDB4MDIsCj4gLSAgICBBTURHUFVfSUhfQ0xJRU5USURfQklGCSAgICA9IDB4MDMs Cj4gLSAgICBBTURHUFVfSUhfQ0xJRU5USURfRENFCSAgICA9IDB4MDQsCj4gLSAgICBBTURHUFVf SUhfQ0xJRU5USURfSVNQCSAgICA9IDB4MDUsCj4gLSAgICBBTURHUFVfSUhfQ0xJRU5USURfUENJ RTAJICAgID0gMHgwNiwKPiAtICAgIEFNREdQVV9JSF9DTElFTlRJRF9STEMJICAgID0gMHgwNywK PiAtICAgIEFNREdQVV9JSF9DTElFTlRJRF9TRE1BMAkgICAgPSAweDA4LAo+IC0gICAgQU1ER1BV X0lIX0NMSUVOVElEX1NETUExCSAgICA9IDB4MDksCj4gLSAgICBBTURHUFVfSUhfQ0xJRU5USURf U0UwU0gJICAgID0gMHgwYSwKPiAtICAgIEFNREdQVV9JSF9DTElFTlRJRF9TRTFTSAkgICAgPSAw eDBiLAo+IC0gICAgQU1ER1BVX0lIX0NMSUVOVElEX1NFMlNICSAgICA9IDB4MGMsCj4gLSAgICBB TURHUFVfSUhfQ0xJRU5USURfU0UzU0gJICAgID0gMHgwZCwKPiAtICAgIEFNREdQVV9JSF9DTElF TlRJRF9TWVNIVUIJICAgID0gMHgwZSwKPiAtICAgIEFNREdQVV9JSF9DTElFTlRJRF9USE0JICAg ID0gMHgwZiwKPiAtICAgIEFNREdQVV9JSF9DTElFTlRJRF9VVkQJICAgID0gMHgxMCwKPiAtICAg IEFNREdQVV9JSF9DTElFTlRJRF9WQ0UwCSAgICA9IDB4MTEsCj4gLSAgICBBTURHUFVfSUhfQ0xJ RU5USURfVk1DCSAgICA9IDB4MTIsCj4gLSAgICBBTURHUFVfSUhfQ0xJRU5USURfWERNQQkgICAg PSAweDEzLAo+IC0gICAgQU1ER1BVX0lIX0NMSUVOVElEX0dSQk1fQ1AJICAgID0gMHgxNCwKPiAt ICAgIEFNREdQVV9JSF9DTElFTlRJRF9BVFMJICAgID0gMHgxNSwKPiAtICAgIEFNREdQVV9JSF9D TElFTlRJRF9ST01fU01VSU8gICAgPSAweDE2LAo+IC0gICAgQU1ER1BVX0lIX0NMSUVOVElEX0RG CSAgICA9IDB4MTcsCj4gLSAgICBBTURHUFVfSUhfQ0xJRU5USURfVkNFMQkgICAgPSAweDE4LAo+ IC0gICAgQU1ER1BVX0lIX0NMSUVOVElEX1BXUgkgICAgPSAweDE5LAo+IC0gICAgQU1ER1BVX0lI X0NMSUVOVElEX1VUQ0wyCSAgICA9IDB4MWIsCj4gLSAgICBBTURHUFVfSUhfQ0xJRU5USURfRUEJ ICAgID0gMHgxYywKPiAtICAgIEFNREdQVV9JSF9DTElFTlRJRF9VVENMMkxPRwkgICAgPSAweDFk LAo+IC0gICAgQU1ER1BVX0lIX0NMSUVOVElEX01QMAkgICAgPSAweDFlLAo+IC0gICAgQU1ER1BV X0lIX0NMSUVOVElEX01QMQkgICAgPSAweDFmLAo+IC0KPiAtICAgIEFNREdQVV9JSF9DTElFTlRJ RF9NQVgsCj4gLQo+IC0gICAgQU1ER1BVX0lIX0NMSUVOVElEX1ZDTgkgICAgPSBBTURHUFVfSUhf Q0xJRU5USURfVVZECj4gLX07Cj4gICAKPiAgICNkZWZpbmUgQU1ER1BVX0lIX0NMSUVOVElEX0xF R0FDWSAwCj4gKyNkZWZpbmUgQU1ER1BVX0lIX0NMSUVOVElEX01BWCBTT0MxNV9JSF9DTElFTlRJ RF9NQVgKPiAgIAo+ICAgI2RlZmluZSBBTURHUFVfUEFHRUZBVUxUX0hBU0hfQklUUyA4Cj4gICBz dHJ1Y3QgYW1kZ3B1X3JldHJ5ZmF1bHRfaGFzaHRhYmxlIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y5XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2dmeF92OV8wLmMKPiBpbmRleCBkNzNiYmIwLi5kMWQyYzI3IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OV8wLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9nZnhfdjlfMC5jCj4gQEAgLTEyNjEsMjMgKzEyNjEsMjMgQEAgc3RhdGlj IGludCBnZnhfdjlfMF9zd19pbml0KHZvaWQgKmhhbmRsZSkKPiAgIAlhZGV2LT5nZngubWVjLm51 bV9xdWV1ZV9wZXJfcGlwZSA9IDg7Cj4gICAKPiAgIAkvKiBLSVEgZXZlbnQgKi8KPiAtCXIgPSBh bWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSUhfQ0xJRU5USURfR1JCTV9DUCwgMTc4LCAm YWRldi0+Z2Z4LmtpcS5pcnEpOwo+ICsJciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIFNPQzE1 X0lIX0NMSUVOVElEX0dSQk1fQ1AsIDE3OCwgJmFkZXYtPmdmeC5raXEuaXJxKTsKPiAgIAlpZiAo cikKPiAgIAkJcmV0dXJuIHI7Cj4gICAKPiAgIAkvKiBFT1AgRXZlbnQgKi8KPiAtCXIgPSBhbWRn cHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSUhfQ0xJRU5USURfR1JCTV9DUCwgMTgxLCAmYWRl di0+Z2Z4LmVvcF9pcnEpOwo+ICsJciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIFNPQzE1X0lI X0NMSUVOVElEX0dSQk1fQ1AsIDE4MSwgJmFkZXYtPmdmeC5lb3BfaXJxKTsKPiAgIAlpZiAocikK PiAgIAkJcmV0dXJuIHI7Cj4gICAKPiAgIAkvKiBQcml2aWxlZ2VkIHJlZyAqLwo+IC0JciA9IGFt ZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JSF9DTElFTlRJRF9HUkJNX0NQLCAxODQsCj4g KwlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgU09DMTVfSUhfQ0xJRU5USURfR1JCTV9DUCwg MTg0LAo+ICAgCQkJICAgICAgJmFkZXYtPmdmeC5wcml2X3JlZ19pcnEpOwo+ICAgCWlmIChyKQo+ ICAgCQlyZXR1cm4gcjsKPiAgIAo+ICAgCS8qIFByaXZpbGVnZWQgaW5zdCAqLwo+IC0JciA9IGFt ZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JSF9DTElFTlRJRF9HUkJNX0NQLCAxODUsCj4g KwlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgU09DMTVfSUhfQ0xJRU5USURfR1JCTV9DUCwg MTg1LAo+ICAgCQkJICAgICAgJmFkZXYtPmdmeC5wcml2X2luc3RfaXJxKTsKPiAgIAlpZiAocikK PiAgIAkJcmV0dXJuIHI7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2dtY192OV8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjlfMC5jCj4gaW5k ZXggNjdjZDFmZS4uZWJhYWNjNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9nbWNfdjlfMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y5 XzAuYwo+IEBAIC04NjMsOSArODYzLDkgQEAgc3RhdGljIGludCBnbWNfdjlfMF9zd19pbml0KHZv aWQgKmhhbmRsZSkKPiAgIAl9Cj4gICAKPiAgIAkvKiBUaGlzIGludGVycnVwdCBpcyBWTUMgcGFn ZSBmYXVsdC4qLwo+IC0JciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JSF9DTElF TlRJRF9WTUMsIDAsCj4gKwlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgU09DMTVfSUhfQ0xJ RU5USURfVk1DLCAwLAo+ICAgCQkJCSZhZGV2LT5nbWMudm1fZmF1bHQpOwo+IC0JciA9IGFtZGdw dV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JSF9DTElFTlRJRF9VVENMMiwgMCwKPiArCXIgPSBh bWRncHVfaXJxX2FkZF9pZChhZGV2LCBTT0MxNV9JSF9DTElFTlRJRF9VVENMMiwgMCwKPiAgIAkJ CQkmYWRldi0+Z21jLnZtX2ZhdWx0KTsKPiAgIAo+ICAgCWlmIChyKQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9teGdwdV9haS5jIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvbXhncHVfYWkuYwo+IGluZGV4IDI3MTQ1MmQuLmQxYjE1MzMgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvbXhncHVfYWkuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L214Z3B1X2FpLmMKPiBAQCAtMzE5LDExICszMTksMTEgQEAgaW50 IHhncHVfYWlfbWFpbGJveF9hZGRfaXJxX2lkKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ ICAgewo+ICAgCWludCByOwo+ICAgCj4gLQlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1E R1BVX0lIX0NMSUVOVElEX0JJRiwgMTM1LCAmYWRldi0+dmlydC5yY3ZfaXJxKTsKPiArCXIgPSBh bWRncHVfaXJxX2FkZF9pZChhZGV2LCBTT0MxNV9JSF9DTElFTlRJRF9CSUYsIDEzNSwgJmFkZXYt PnZpcnQucmN2X2lycSk7Cj4gICAJaWYgKHIpCj4gICAJCXJldHVybiByOwo+ICAgCj4gLQlyID0g YW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lIX0NMSUVOVElEX0JJRiwgMTM4LCAmYWRl di0+dmlydC5hY2tfaXJxKTsKPiArCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBTT0MxNV9J SF9DTElFTlRJRF9CSUYsIDEzOCwgJmFkZXYtPnZpcnQuYWNrX2lycSk7Cj4gICAJaWYgKHIpIHsK PiAgIAkJYW1kZ3B1X2lycV9wdXQoYWRldiwgJmFkZXYtPnZpcnQucmN2X2lycSwgMCk7Cj4gICAJ CXJldHVybiByOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1h X3Y0XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjRfMC5jCj4gaW5kZXgg MjE1NzQzZC4uOTM5ZjkyYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9zZG1hX3Y0XzAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjRf MC5jCj4gQEAgLTExNzIsMTMgKzExNzIsMTMgQEAgc3RhdGljIGludCBzZG1hX3Y0XzBfc3dfaW5p dCh2b2lkICpoYW5kbGUpCj4gICAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKiloYW5kbGU7Cj4gICAKPiAgIAkvKiBTRE1BIHRyYXAgZXZlbnQgKi8K PiAtCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSUhfQ0xJRU5USURfU0RNQTAs IDIyNCwKPiArCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBTT0MxNV9JSF9DTElFTlRJRF9T RE1BMCwgMjI0LAo+ICAgCQkJICAgICAgJmFkZXYtPnNkbWEudHJhcF9pcnEpOwo+ICAgCWlmIChy KQo+ICAgCQlyZXR1cm4gcjsKPiAgIAo+ICAgCS8qIFNETUEgdHJhcCBldmVudCAqLwo+IC0JciA9 IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JSF9DTElFTlRJRF9TRE1BMSwgMjI0LAo+ ICsJciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIFNPQzE1X0lIX0NMSUVOVElEX1NETUExLCAy MjQsCj4gICAJCQkgICAgICAmYWRldi0+c2RtYS50cmFwX2lycSk7Cj4gICAJaWYgKHIpCj4gICAJ CXJldHVybiByOwo+IEBAIC0xMzMzLDcgKzEzMzMsNyBAQCBzdGF0aWMgaW50IHNkbWFfdjRfMF9w cm9jZXNzX3RyYXBfaXJxKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICAgewo+ICAgCURS TV9ERUJVRygiSUg6IFNETUEgdHJhcFxuIik7Cj4gICAJc3dpdGNoIChlbnRyeS0+Y2xpZW50X2lk KSB7Cj4gLQljYXNlIEFNREdQVV9JSF9DTElFTlRJRF9TRE1BMDoKPiArCWNhc2UgU09DMTVfSUhf Q0xJRU5USURfU0RNQTA6Cj4gICAJCXN3aXRjaCAoZW50cnktPnJpbmdfaWQpIHsKPiAgIAkJY2Fz ZSAwOgo+ICAgCQkJYW1kZ3B1X2ZlbmNlX3Byb2Nlc3MoJmFkZXYtPnNkbWEuaW5zdGFuY2VbMF0u cmluZyk7Cj4gQEAgLTEzNDksNyArMTM0OSw3IEBAIHN0YXRpYyBpbnQgc2RtYV92NF8wX3Byb2Nl c3NfdHJhcF9pcnEoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gICAJCQlicmVhazsKPiAg IAkJfQo+ICAgCQlicmVhazsKPiAtCWNhc2UgQU1ER1BVX0lIX0NMSUVOVElEX1NETUExOgo+ICsJ Y2FzZSBTT0MxNV9JSF9DTElFTlRJRF9TRE1BMToKPiAgIAkJc3dpdGNoIChlbnRyeS0+cmluZ19p ZCkgewo+ICAgCQljYXNlIDA6Cj4gICAJCQlhbWRncHVfZmVuY2VfcHJvY2VzcygmYWRldi0+c2Rt YS5pbnN0YW5jZVsxXS5yaW5nKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvdXZkX3Y3XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2ZF92N18wLmMK PiBpbmRleCBlNTRjYzNjLi5lZGRjNTdmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L3V2ZF92N18wLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91 dmRfdjdfMC5jCj4gQEAgLTM5MCwxMyArMzkwLDEzIEBAIHN0YXRpYyBpbnQgdXZkX3Y3XzBfc3df aW5pdCh2b2lkICpoYW5kbGUpCj4gICAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSAoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKiloYW5kbGU7Cj4gICAKPiAgIAkvKiBVVkQgVFJBUCAqLwo+IC0J ciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9JSF9DTElFTlRJRF9VVkQsIDEyNCwg JmFkZXYtPnV2ZC5pcnEpOwo+ICsJciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIFNPQzE1X0lI X0NMSUVOVElEX1VWRCwgMTI0LCAmYWRldi0+dXZkLmlycSk7Cj4gICAJaWYgKHIpCj4gICAJCXJl dHVybiByOwo+ICAgCj4gICAJLyogVVZEIEVOQyBUUkFQICovCj4gICAJZm9yIChpID0gMDsgaSA8 IGFkZXYtPnV2ZC5udW1fZW5jX3JpbmdzOyArK2kpIHsKPiAtCQlyID0gYW1kZ3B1X2lycV9hZGRf aWQoYWRldiwgQU1ER1BVX0lIX0NMSUVOVElEX1VWRCwgaSArIDExOSwgJmFkZXYtPnV2ZC5pcnEp Owo+ICsJCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBTT0MxNV9JSF9DTElFTlRJRF9VVkQs IGkgKyAxMTksICZhZGV2LT51dmQuaXJxKTsKPiAgIAkJaWYgKHIpCj4gICAJCQlyZXR1cm4gcjsK PiAgIAl9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZjZV92NF8w LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92Y2VfdjRfMC5jCj4gaW5kZXggMjMyOWIz MS4uNzNmZDQ4ZCAxMDA3NTUKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92Y2Vf djRfMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmNlX3Y0XzAuYwo+IEBA IC00MjAsNyArNDIwLDcgQEAgc3RhdGljIGludCB2Y2VfdjRfMF9zd19pbml0KHZvaWQgKmhhbmRs ZSkKPiAgIAl1bnNpZ25lZCBzaXplOwo+ICAgCWludCByLCBpOwo+ICAgCj4gLQlyID0gYW1kZ3B1 X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lIX0NMSUVOVElEX1ZDRTAsIDE2NywgJmFkZXYtPnZj ZS5pcnEpOwo+ICsJciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIFNPQzE1X0lIX0NMSUVOVElE X1ZDRTAsIDE2NywgJmFkZXYtPnZjZS5pcnEpOwo+ICAgCWlmIChyKQo+ICAgCQlyZXR1cm4gcjsK PiAgIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92Y25fdjFfMC5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmNuX3YxXzAuYwo+IGluZGV4IGZkZjRhYzku LjhjMTMyNjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmNuX3Yx XzAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3Zjbl92MV8wLmMKPiBAQCAt NzUsMTMgKzc1LDEzIEBAIHN0YXRpYyBpbnQgdmNuX3YxXzBfc3dfaW5pdCh2b2lkICpoYW5kbGUp Cj4gICAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2Ug KiloYW5kbGU7Cj4gICAKPiAgIAkvKiBWQ04gREVDIFRSQVAgKi8KPiAtCXIgPSBhbWRncHVfaXJx X2FkZF9pZChhZGV2LCBBTURHUFVfSUhfQ0xJRU5USURfVkNOLCAxMjQsICZhZGV2LT52Y24uaXJx KTsKPiArCXIgPSBhbWRncHVfaXJxX2FkZF9pZChhZGV2LCBTT0MxNV9JSF9DTElFTlRJRF9WQ04s IDEyNCwgJmFkZXYtPnZjbi5pcnEpOwo+ICAgCWlmIChyKQo+ICAgCQlyZXR1cm4gcjsKPiAgIAo+ ICAgCS8qIFZDTiBFTkMgVFJBUCAqLwo+ICAgCWZvciAoaSA9IDA7IGkgPCBhZGV2LT52Y24ubnVt X2VuY19yaW5nczsgKytpKSB7Cj4gLQkJciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQ VV9JSF9DTElFTlRJRF9WQ04sIGkgKyAxMTksCj4gKwkJciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFk ZXYsIFNPQzE1X0lIX0NMSUVOVElEX1ZDTiwgaSArIDExOSwKPiAgIAkJCQkJJmFkZXYtPnZjbi5p cnEpOwo+ICAgCQlpZiAocikKPiAgIAkJCXJldHVybiByOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS92ZWdhMTBfaWguYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L3ZlZ2ExMF9paC5jCj4gaW5kZXggY2M4Y2U3ZS4uNWFlNWVkMiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92ZWdhMTBfaWguYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L3ZlZ2ExMF9paC5jCj4gQEAgLTI0NSw4ICsyNDUsOCBAQCBzdGF0aWMg Ym9vbCB2ZWdhMTBfaWhfcHJlc2NyZWVuX2l2KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQo+ ICAgCSAqIHNvbWUgZmF1bHRzIGdldCBjbGVhcmVkLgo+ICAgCSAqLwo+ICAgCXN3aXRjaCAoZHcw ICYgMHhmZikgewo+IC0JY2FzZSBBTURHUFVfSUhfQ0xJRU5USURfVk1DOgo+IC0JY2FzZSBBTURH UFVfSUhfQ0xJRU5USURfVVRDTDI6Cj4gKwljYXNlIFNPQzE1X0lIX0NMSUVOVElEX1ZNQzoKPiAr CWNhc2UgU09DMTVfSUhfQ0xJRU5USURfVVRDTDI6Cj4gICAJCWJyZWFrOwo+ICAgCWRlZmF1bHQ6 Cj4gICAJCS8qIE5vdCBhIFZNIGZhdWx0ICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCj4gaW5kZXggZDc3NGVmMy4uNTEwZWVkNCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdw dV9kbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRn cHVfZG0uYwo+IEBAIC0xMTMxLDcgKzExMzEsNyBAQCBzdGF0aWMgaW50IGRjZTExMF9yZWdpc3Rl cl9pcnFfaGFuZGxlcnMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gICAKPiAgIAlpZiAo YWRldi0+YXNpY190eXBlID09IENISVBfVkVHQTEwIHx8Cj4gICAJICAgIGFkZXYtPmFzaWNfdHlw ZSA9PSBDSElQX1JBVkVOKQo+IC0JCWNsaWVudF9pZCA9IEFNREdQVV9JSF9DTElFTlRJRF9EQ0U7 Cj4gKwkJY2xpZW50X2lkID0gU09DMTVfSUhfQ0xJRU5USURfRENFOwo+ICAgCj4gICAJaW50X3Bh cmFtcy5yZXF1ZXN0ZWRfcG9sYXJpdHkgPSBJTlRFUlJVUFRfUE9MQVJJVFlfREVGQVVMVDsKPiAg IAlpbnRfcGFyYW1zLmN1cnJlbnRfcG9sYXJpdHkgPSBJTlRFUlJVUFRfUE9MQVJJVFlfREVGQVVM VDsKPiBAQCAtMTIzMSw3ICsxMjMxLDcgQEAgc3RhdGljIGludCBkY24xMF9yZWdpc3Rlcl9pcnFf aGFuZGxlcnMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gICAJZm9yIChpID0gRENOXzFf MF9fU1JDSURfX0RDX0QxX09UR19WU1RBUlRVUDsKPiAgIAkJCWkgPD0gRENOXzFfMF9fU1JDSURf X0RDX0QxX09UR19WU1RBUlRVUCArIGFkZXYtPm1vZGVfaW5mby5udW1fY3J0YyAtIDE7Cj4gICAJ CQlpKyspIHsKPiAtCQlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgQU1ER1BVX0lIX0NMSUVO VElEX0RDRSwgaSwgJmFkZXYtPmNydGNfaXJxKTsKPiArCQlyID0gYW1kZ3B1X2lycV9hZGRfaWQo YWRldiwgU09DMTVfSUhfQ0xJRU5USURfRENFLCBpLCAmYWRldi0+Y3J0Y19pcnEpOwo+ICAgCj4g ICAJCWlmIChyKSB7Cj4gICAJCQlEUk1fRVJST1IoIkZhaWxlZCB0byBhZGQgY3J0YyBpcnEgaWQh XG4iKTsKPiBAQCAtMTI1NSw3ICsxMjU1LDcgQEAgc3RhdGljIGludCBkY24xMF9yZWdpc3Rlcl9p cnFfaGFuZGxlcnMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCj4gICAJZm9yIChpID0gRENO XzFfMF9fU1JDSURfX0hVQlAwX0ZMSVBfSU5URVJSVVBUOwo+ICAgCQkJaSA8PSBEQ05fMV8wX19T UkNJRF9fSFVCUDBfRkxJUF9JTlRFUlJVUFQgKyBhZGV2LT5tb2RlX2luZm8ubnVtX2NydGMgLSAx Owo+ICAgCQkJaSsrKSB7Cj4gLQkJciA9IGFtZGdwdV9pcnFfYWRkX2lkKGFkZXYsIEFNREdQVV9J SF9DTElFTlRJRF9EQ0UsIGksICZhZGV2LT5wYWdlZmxpcF9pcnEpOwo+ICsJCXIgPSBhbWRncHVf aXJxX2FkZF9pZChhZGV2LCBTT0MxNV9JSF9DTElFTlRJRF9EQ0UsIGksICZhZGV2LT5wYWdlZmxp cF9pcnEpOwo+ICAgCQlpZiAocikgewo+ICAgCQkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gYWRkIHBh Z2UgZmxpcCBpcnEgaWQhXG4iKTsKPiAgIAkJCXJldHVybiByOwo+IEBAIC0xMjc2LDcgKzEyNzYs NyBAQCBzdGF0aWMgaW50IGRjbjEwX3JlZ2lzdGVyX2lycV9oYW5kbGVycyhzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldikKPiAgIAl9Cj4gICAKPiAgIAkvKiBIUEQgKi8KPiAtCXIgPSBhbWRncHVf aXJxX2FkZF9pZChhZGV2LCBBTURHUFVfSUhfQ0xJRU5USURfRENFLCBEQ05fMV8wX19TUkNJRF9f RENfSFBEMV9JTlQsCj4gKwlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgU09DMTVfSUhfQ0xJ RU5USURfRENFLCBEQ05fMV8wX19TUkNJRF9fRENfSFBEMV9JTlQsCj4gICAJCQkmYWRldi0+aHBk X2lycSk7Cj4gICAJaWYgKHIpIHsKPiAgIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gYWRkIGhwZCBp cnEgaWQhXG4iKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9pbmNsdWRlL3Nv YzE1X2loX2NsaWVudGlkLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2luY2x1ZGUvc29jMTVfaWhf Y2xpZW50aWQuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uNDgwZmM2 NQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2luY2x1ZGUvc29j MTVfaWhfY2xpZW50aWQuaAo+IEBAIC0wLDAgKzEsNzAgQEAKPiArLyoKPiArICogQ29weXJpZ2h0 IDIwMTggQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLgo+ICsgKgo+ICsgKiBQZXJtaXNzaW9u IGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5p bmcgYQo+ICsgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRh dGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAo+ICsgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2Fy ZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCj4gKyAq IHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmli dXRlLCBzdWJsaWNlbnNlLAo+ICsgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJl LCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKPiArICogU29mdHdhcmUgaXMgZnVy bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKPiAr ICoKPiArICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KPiArICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlh bCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCj4gKyAqCj4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQ Uk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9S Cj4gKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJ RVMgT0YgTUVSQ0hBTlRBQklMSVRZLAo+ICsgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKPiArICogVEhFIENP UFlSSUdIVCBIT0xERVIoUykgT1IgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBE QU1BR0VTIE9SCj4gKyAqIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg Q09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLAo+ICsgKiBBUklTSU5HIEZST00sIE9VVCBPRiBP UiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IKPiArICogT1RI RVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgo+ICsgKgo+ICsgKi8KPiArCj4gKyNpZm5kZWYg X19TT0MxNV9JSF9DTElFTlRJRF9IX18KPiArI2RlZmluZSBfX1NPQzE1X0lIX0NMSUVOVElEX0hf Xwo+ICsKPiArIC8qCj4gKyAgKiB2ZWdhMTArIElIIGNsaWVudHMKPiArICovCj4gK2VudW0gYW1k Z3B1X2loX2NsaWVudGlkIHsKcmVuYW1lIHRvIHNvYzE1X2loX2NpZW50aWQgYXMgd2VsbD8KZGVw ZW5kIG9uIHlvdXIgcHJlZmVyZW5jZSwgaXQncyBub3QgbWFuZGF0b3J5LgoKUmV2aWV3ZWQtYnk6 IENodW5taW5nIFpob3UgPGRhdmlkMS56aG91QGFtZC5jb20+Cj4gKwlTT0MxNV9JSF9DTElFTlRJ RF9JSAkJPSAweDAwLAo+ICsJU09DMTVfSUhfQ0xJRU5USURfQUNQCQk9IDB4MDEsCj4gKwlTT0Mx NV9JSF9DTElFTlRJRF9BVEhVQgkJPSAweDAyLAo+ICsJU09DMTVfSUhfQ0xJRU5USURfQklGCQk9 IDB4MDMsCj4gKwlTT0MxNV9JSF9DTElFTlRJRF9EQ0UJCT0gMHgwNCwKPiArCVNPQzE1X0lIX0NM SUVOVElEX0lTUAkJPSAweDA1LAo+ICsJU09DMTVfSUhfQ0xJRU5USURfUENJRTAJCT0gMHgwNiwK PiArCVNPQzE1X0lIX0NMSUVOVElEX1JMQwkJPSAweDA3LAo+ICsJU09DMTVfSUhfQ0xJRU5USURf U0RNQTAJCT0gMHgwOCwKPiArCVNPQzE1X0lIX0NMSUVOVElEX1NETUExCQk9IDB4MDksCj4gKwlT T0MxNV9JSF9DTElFTlRJRF9TRTBTSAkJPSAweDBhLAo+ICsJU09DMTVfSUhfQ0xJRU5USURfU0Ux U0gJCT0gMHgwYiwKPiArCVNPQzE1X0lIX0NMSUVOVElEX1NFMlNICQk9IDB4MGMsCj4gKwlTT0Mx NV9JSF9DTElFTlRJRF9TRTNTSAkJPSAweDBkLAo+ICsJU09DMTVfSUhfQ0xJRU5USURfU1lTSFVC CT0gMHgwZSwKPiArCVNPQzE1X0lIX0NMSUVOVElEX1RITQkJPSAweDBmLAo+ICsJU09DMTVfSUhf Q0xJRU5USURfVVZECQk9IDB4MTAsCj4gKwlTT0MxNV9JSF9DTElFTlRJRF9WQ0UwCQk9IDB4MTEs Cj4gKwlTT0MxNV9JSF9DTElFTlRJRF9WTUMJCT0gMHgxMiwKPiArCVNPQzE1X0lIX0NMSUVOVElE X1hETUEJCT0gMHgxMywKPiArCVNPQzE1X0lIX0NMSUVOVElEX0dSQk1fQ1AJPSAweDE0LAo+ICsJ U09DMTVfSUhfQ0xJRU5USURfQVRTCQk9IDB4MTUsCj4gKwlTT0MxNV9JSF9DTElFTlRJRF9ST01f U01VSU8JPSAweDE2LAo+ICsJU09DMTVfSUhfQ0xJRU5USURfREYJCT0gMHgxNywKPiArCVNPQzE1 X0lIX0NMSUVOVElEX1ZDRTEJCT0gMHgxOCwKPiArCVNPQzE1X0lIX0NMSUVOVElEX1BXUgkJPSAw eDE5LAo+ICsJU09DMTVfSUhfQ0xJRU5USURfVVRDTDIJCT0gMHgxYiwKPiArCVNPQzE1X0lIX0NM SUVOVElEX0VBCQk9IDB4MWMsCj4gKwlTT0MxNV9JSF9DTElFTlRJRF9VVENMMkxPRwk9IDB4MWQs Cj4gKwlTT0MxNV9JSF9DTElFTlRJRF9NUDAJCT0gMHgxZSwKPiArCVNPQzE1X0lIX0NMSUVOVElE X01QMQkJPSAweDFmLAo+ICsKPiArCVNPQzE1X0lIX0NMSUVOVElEX01BWCwKPiArCj4gKwlTT0Mx NV9JSF9DTElFTlRJRF9WQ04JCT0gU09DMTVfSUhfQ0xJRU5USURfVVZECj4gK307Cj4gKwo+ICsj ZW5kaWYKPiArCj4gKwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxh eS9od21nci92ZWdhMTBfaHdtZ3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3 bWdyL3ZlZ2ExMF9od21nci5jCj4gaW5kZXggZjIzODYxZi4uMmZjYmIxNyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci92ZWdhMTBfaHdtZ3IuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3ZlZ2ExMF9od21nci5jCj4g QEAgLTQ4NzQsMTIgKzQ4NzQsMTIgQEAgc3RhdGljIGludCB2ZWdhMTBfcmVnaXN0ZXJfdGhlcm1h bF9pbnRlcnJ1cHQoc3RydWN0IHBwX2h3bWdyICpod21nciwKPiAgIAkJaHdtZ3ItPnRoZXJtYWxf Y29udHJvbGxlci51Y1R5cGUgPT0KPiAgIAkJCUFUT01fVkVHQTEwX1BQX1RIRVJNQUxDT05UUk9M TEVSX0VNQzIxMDNfV0lUSF9JTlRFUk5BTCkgewo+ICAgCQlQUF9BU1NFUlRfV0lUSF9DT0RFKCFj Z3NfYWRkX2lycV9zb3VyY2UoaHdtZ3ItPmRldmljZSwKPiAtCQkJCTB4ZiwgLyogQU1ER1BVX0lI X0NMSUVOVElEX1RITSAqLwo+ICsJCQkJU09DMTVfSUhfQ0xJRU5USURfVEhNLAo+ICAgCQkJCTAs IDAsIGlycV9zcmNbMF0uc2V0LCBpcnFfc3JjWzBdLmhhbmRsZXIsIGh3bWdyKSwKPiAgIAkJCQki RmFpbGVkIHRvIHJlZ2lzdGVyIGhpZ2ggdGhlcm1hbCBpbnRlcnJ1cHQhIiwKPiAgIAkJCQlyZXR1 cm4gLUVJTlZBTCk7Cj4gICAJCVBQX0FTU0VSVF9XSVRIX0NPREUoIWNnc19hZGRfaXJxX3NvdXJj ZShod21nci0+ZGV2aWNlLAo+IC0JCQkJMHhmLCAvKiBBTURHUFVfSUhfQ0xJRU5USURfVEhNICov Cj4gKwkJCQlTT0MxNV9JSF9DTElFTlRJRF9USE0sCj4gICAJCQkJMSwgMCwgaXJxX3NyY1sxXS5z ZXQsIGlycV9zcmNbMV0uaGFuZGxlciwgaHdtZ3IpLAo+ICAgCQkJCSJGYWlsZWQgdG8gcmVnaXN0 ZXIgbG93IHRoZXJtYWwgaW50ZXJydXB0ISIsCj4gICAJCQkJcmV0dXJuIC1FSU5WQUwpOwo+IEBA IC00ODg3LDcgKzQ4ODcsNyBAQCBzdGF0aWMgaW50IHZlZ2ExMF9yZWdpc3Rlcl90aGVybWFsX2lu dGVycnVwdChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAo+ICAgCj4gICAJLyogUmVnaXN0ZXIgQ1RG KEdQSU9fMTkpIGludGVycnVwdCAqLwo+ICAgCVBQX0FTU0VSVF9XSVRIX0NPREUoIWNnc19hZGRf aXJxX3NvdXJjZShod21nci0+ZGV2aWNlLAo+IC0JCQkweDE2LCAvKiBBTURHUFVfSUhfQ0xJRU5U SURfUk9NX1NNVUlPLCAqLwo+ICsJCQlTT0MxNV9JSF9DTElFTlRJRF9ST01fU01VSU8sCj4gICAJ CQk4MywgMCwgaXJxX3NyY1syXS5zZXQsIGlycV9zcmNbMl0uaGFuZGxlciwgaHdtZ3IpLAo+ICAg CQkJIkZhaWxlZCB0byByZWdpc3RlciBDVEYgdGhlcm1hbCBpbnRlcnJ1cHQhIiwKPiAgIAkJCXJl dHVybiAtRUlOVkFMKTsKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=