From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH v3] drm/i915: Rename engines to match their user interface Date: Wed, 07 Aug 2019 14:53:41 +0300 Message-ID: <871rxx9ooq.fsf@gaia.fi.intel.com> References: <874l2t9si5.fsf@gaia.fi.intel.com> <20190807110431.8130-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3D10D6E6B6 for ; Wed, 7 Aug 2019 11:54:18 +0000 (UTC) In-Reply-To: <20190807110431.8130-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+IHdyaXRlczoKCj4gRHVyaW5n IGVuZ2luZSBzZXR1cCwgd2UgbWF5IGZpbmQgdGhhdCBzb21lIGVuZ2luZXMgYXJlIGZ1c2VkIG9m ZiBjYXVzaW5nCj4gYSBtaXNhbGlnbm1lbnQgYmV0d2VlbiBpbnRlcm5hbCBuYW1lcyBhbmQgdGhl IGluc3RhbmNlcyBzZWVuIGJ5IHVzZXJzLAo+IGUuZy4gKEk5MTVfRU5HSU5FX0NMQVNTX1ZJREVP X0RFQ09ERSwgMSkgbWF5IGJlIHZjczIgaW4gaGFyZHdhcmUuCj4gTm9ybWFsbHkgdGhpcyBpcyBp bnZpc2libGUgdG8gdGhlIHVzZXIsIGJ1dCBhIGZldyBkZWJ1ZyBpbnRlcmZhY2VzIChhbmQKPiBv dXIgb3duIGludGVybmFsIHRyYWNpbmcpIHVzZSB0aGUgb3JpZ2luYWwgSFcgbmFtZSBub3QgdGhl IG5hbWUgdGhlIHVzZXIKPiB3b3VsZCBleHBlY3QgYXMgZm9ybWVkIGZyb20gdGhlaXIgY2xhc3M6 aW5zdGFuY2UgdHVwbGUuIFJlcGxhY2Ugb3VyCj4gaW50ZXJuYWwgbmFtZSB3aXRoIHRoZSB1YWJp IG5hbWUgZm9yIGNvbnNpc3RlbmN5IHdpdGgsIGZvciBleGFtcGxlLCBlcnJvcgo+IHN0YXRlcy4K Pgo+IHYyOiBLZWVwIHRoZSBwcmV0dHkgcHJpbnRpbmcgb2YgY2xhc3MgbmFtZSBpbiB0aGUgc2Vs ZnRlc3QKPgo+IEJ1Z3ppbGxhOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVn LmNnaT9pZD0xMTEzMTEKPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlz LXdpbHNvbi5jby51az4KClJldmlld2VkLWJ5OiBNaWthIEt1b3BwYWxhIDxtaWthLmt1b3BwYWxh QGxpbnV4LmludGVsLmNvbT4KCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVs X2VuZ2luZV9jcy5jICAgIHwgNDIgKysrKystLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3VzZXIuYyAgfCAyMyArKysrKysrKysrKwo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfdXNlci5oICB8ICAyICsKPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RfZW5naW5lX2NzLmMgfCAyNiArKysrKysrLS0tLS0K PiAgNCBmaWxlcyBjaGFuZ2VkLCA1MSBpbnNlcnRpb25zKCspLCA0MiBkZWxldGlvbnMoLSkKPgo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jCj4gaW5kZXggZDBiZWZk NmMwMjNhLi4xNmE0MDVjYWJjMjEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvaW50ZWxfZW5naW5lX2NzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRl bF9lbmdpbmVfY3MuYwo+IEBAIC01NSwzMCArNTUsNiBAQAo+ICAKPiAgI2RlZmluZSBHRU44X0xS X0NPTlRFWFRfT1RIRVJfU0laRQkoIDIgKiBQQUdFX1NJWkUpCj4gIAo+IC1zdHJ1Y3QgZW5naW5l X2NsYXNzX2luZm8gewo+IC0JY29uc3QgY2hhciAqbmFtZTsKPiAtCXU4IHVhYmlfY2xhc3M7Cj4g LX07Cj4gLQo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGVuZ2luZV9jbGFzc19pbmZvIGludGVsX2Vu Z2luZV9jbGFzc2VzW10gPSB7Cj4gLQlbUkVOREVSX0NMQVNTXSA9IHsKPiAtCQkubmFtZSA9ICJy Y3MiLAo+IC0JCS51YWJpX2NsYXNzID0gSTkxNV9FTkdJTkVfQ0xBU1NfUkVOREVSLAo+IC0JfSwK PiAtCVtDT1BZX0VOR0lORV9DTEFTU10gPSB7Cj4gLQkJLm5hbWUgPSAiYmNzIiwKPiAtCQkudWFi aV9jbGFzcyA9IEk5MTVfRU5HSU5FX0NMQVNTX0NPUFksCj4gLQl9LAo+IC0JW1ZJREVPX0RFQ09E RV9DTEFTU10gPSB7Cj4gLQkJLm5hbWUgPSAidmNzIiwKPiAtCQkudWFiaV9jbGFzcyA9IEk5MTVf RU5HSU5FX0NMQVNTX1ZJREVPLAo+IC0JfSwKPiAtCVtWSURFT19FTkhBTkNFTUVOVF9DTEFTU10g PSB7Cj4gLQkJLm5hbWUgPSAidmVjcyIsCj4gLQkJLnVhYmlfY2xhc3MgPSBJOTE1X0VOR0lORV9D TEFTU19WSURFT19FTkhBTkNFLAo+IC0JfSwKPiAtfTsKPiAtCj4gICNkZWZpbmUgTUFYX01NSU9f QkFTRVMgMwo+ICBzdHJ1Y3QgZW5naW5lX2luZm8gewo+ICAJdW5zaWduZWQgaW50IGh3X2lkOwo+ IEBAIC0yNTksMTEgKzIzNSwxNiBAQCBzdGF0aWMgdTMyIF9fZW5naW5lX21taW9fYmFzZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKPiAgCXJldHVybiBiYXNlc1tpXS5iYXNlOwo+ICB9 Cj4gIAo+IC1zdGF0aWMgdm9pZCBfX3NwcmludF9lbmdpbmVfbmFtZShjaGFyICpuYW1lLCBjb25z dCBzdHJ1Y3QgZW5naW5lX2luZm8gKmluZm8pCj4gK3N0YXRpYyB2b2lkIF9fc3ByaW50X2VuZ2lu ZV9uYW1lKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgewo+IC0JV0FSTl9PTihz bnByaW50ZihuYW1lLCBJTlRFTF9FTkdJTkVfQ1NfTUFYX05BTUUsICIlcyV1IiwKPiAtCQkJIGlu dGVsX2VuZ2luZV9jbGFzc2VzW2luZm8tPmNsYXNzXS5uYW1lLAo+IC0JCQkgaW5mby0+aW5zdGFu Y2UpID49IElOVEVMX0VOR0lORV9DU19NQVhfTkFNRSk7Cj4gKwkvKgo+ICsJICogQmVmb3JlIHdl IGtub3cgd2hhdCB0aGUgdUFCSSBuYW1lIGZvciB0aGlzIGVuZ2luZSB3aWxsIGJlLAo+ICsJICog d2Ugc3RpbGwgd291bGQgbGlrZSB0byBrZWVwIHRyYWNrIG9mIHRoaXMgZW5naW5lIGluIHRoZSBk ZWJ1ZyBsb2dzLgo+ICsJICogV2UgdGhyb3cgaW4gYSAnIGhlcmUgYXMgYSByZW1pbmRlciB0aGF0 IHRoaXMgaXNuJ3QgaXQncyBmaW5hbCBuYW1lLgo+ICsJICovCj4gKwlHRU1fV0FSTl9PTihzbnBy aW50ZihlbmdpbmUtPm5hbWUsIHNpemVvZihlbmdpbmUtPm5hbWUpLCAiJXMnJXUiLAo+ICsJCQkg ICAgIGludGVsX2VuZ2luZV9jbGFzc19yZXByKGVuZ2luZS0+Y2xhc3MpLAo+ICsJCQkgICAgIGVu Z2luZS0+aW5zdGFuY2UpID49IHNpemVvZihlbmdpbmUtPm5hbWUpKTsKPiAgfQo+ICAKPiAgdm9p ZCBpbnRlbF9lbmdpbmVfc2V0X2h3c3Bfd3JpdGVtYXNrKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSwgdTMyIG1hc2spCj4gQEAgLTI5Miw4ICsyNzMsNiBAQCBzdGF0aWMgaW50IGludGVs X2VuZ2luZV9zZXR1cChzdHJ1Y3QgaW50ZWxfZ3QgKmd0LCBlbnVtIGludGVsX2VuZ2luZV9pZCBp ZCkKPiAgCWNvbnN0IHN0cnVjdCBlbmdpbmVfaW5mbyAqaW5mbyA9ICZpbnRlbF9lbmdpbmVzW2lk XTsKPiAgCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKPiAgCj4gLQlHRU1fQlVHX09O KGluZm8tPmNsYXNzID49IEFSUkFZX1NJWkUoaW50ZWxfZW5naW5lX2NsYXNzZXMpKTsKPiAtCj4g IAlCVUlMRF9CVUdfT04oTUFYX0VOR0lORV9DTEFTUyA+PSBCSVQoR0VOMTFfRU5HSU5FX0NMQVNT X1dJRFRIKSk7Cj4gIAlCVUlMRF9CVUdfT04oTUFYX0VOR0lORV9JTlNUQU5DRSA+PSBCSVQoR0VO MTFfRU5HSU5FX0lOU1RBTkNFX1dJRFRIKSk7Cj4gIAo+IEBAIC0zMTcsMTEgKzI5NiwxMiBAQCBz dGF0aWMgaW50IGludGVsX2VuZ2luZV9zZXR1cChzdHJ1Y3QgaW50ZWxfZ3QgKmd0LCBlbnVtIGlu dGVsX2VuZ2luZV9pZCBpZCkKPiAgCWVuZ2luZS0+aTkxNSA9IGd0LT5pOTE1Owo+ICAJZW5naW5l LT5ndCA9IGd0Owo+ICAJZW5naW5lLT51bmNvcmUgPSBndC0+dW5jb3JlOwo+IC0JX19zcHJpbnRf ZW5naW5lX25hbWUoZW5naW5lLT5uYW1lLCBpbmZvKTsKPiAgCWVuZ2luZS0+aHdfaWQgPSBlbmdp bmUtPmd1Y19pZCA9IGluZm8tPmh3X2lkOwo+ICAJZW5naW5lLT5tbWlvX2Jhc2UgPSBfX2VuZ2lu ZV9tbWlvX2Jhc2UoZ3QtPmk5MTUsIGluZm8tPm1taW9fYmFzZXMpOwo+ICsKPiAgCWVuZ2luZS0+ Y2xhc3MgPSBpbmZvLT5jbGFzczsKPiAgCWVuZ2luZS0+aW5zdGFuY2UgPSBpbmZvLT5pbnN0YW5j ZTsKPiArCV9fc3ByaW50X2VuZ2luZV9uYW1lKGVuZ2luZSk7Cj4gIAo+ICAJLyoKPiAgCSAqIFRv IGJlIG92ZXJyaWRkZW4gYnkgdGhlIGJhY2tlbmQgb24gc2V0dXAuIEhvd2V2ZXIgdG8gZmFjaWxp dGF0ZQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVf dXNlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3VzZXIuYwo+IGlu ZGV4IDY4ZmRhMWFjM2M2MC4uYzQxYWUwNTk4OGE1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV91c2VyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9pbnRlbF9lbmdpbmVfdXNlci5jCj4gQEAgLTEyNyw2ICsxMjcsMjEgQEAgc3RhdGlj IHZvaWQgc2V0X3NjaGVkdWxlcl9jYXBzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQo+ ICAJCWk5MTUtPmNhcHMuc2NoZWR1bGVyID0gMDsKPiAgfQo+ICAKPiArY29uc3QgY2hhciAqaW50 ZWxfZW5naW5lX2NsYXNzX3JlcHIodTggY2xhc3MpCj4gK3sKPiArCXN0YXRpYyBjb25zdCBjaGFy ICogY29uc3QgdWFiaV9uYW1lc1tdID0gewo+ICsJCVtSRU5ERVJfQ0xBU1NdID0gInJjcyIsCj4g KwkJW0NPUFlfRU5HSU5FX0NMQVNTXSA9ICJiY3MiLAo+ICsJCVtWSURFT19ERUNPREVfQ0xBU1Nd ID0gInZjcyIsCj4gKwkJW1ZJREVPX0VOSEFOQ0VNRU5UX0NMQVNTXSA9ICJ2ZWNzIiwKPiArCX07 Cj4gKwo+ICsJaWYgKGNsYXNzID49IEFSUkFZX1NJWkUodWFiaV9uYW1lcykgfHwgIXVhYmlfbmFt ZXNbY2xhc3NdKQo+ICsJCXJldHVybiAieHh4IjsKPiArCj4gKwlyZXR1cm4gdWFiaV9uYW1lc1tj bGFzc107Cj4gK30KPiArCj4gIHZvaWQgaW50ZWxfZW5naW5lc19kcml2ZXJfcmVnaXN0ZXIoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCj4gIHsKPiAgCXU4IHVhYmlfaW5zdGFuY2VzWzRd ID0ge307Cj4gQEAgLTE0Miw2ICsxNTcsNyBAQCB2b2lkIGludGVsX2VuZ2luZXNfZHJpdmVyX3Jl Z2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQo+ICAJCXN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSA9Cj4gIAkJCWNvbnRhaW5lcl9vZigoc3RydWN0IHJiX25vZGUgKilp dCwgdHlwZW9mKCplbmdpbmUpLAo+ICAJCQkJICAgICB1YWJpX25vZGUpOwo+ICsJCWNoYXIgb2xk W3NpemVvZihlbmdpbmUtPm5hbWUpXTsKPiAgCj4gIAkJR0VNX0JVR19PTihlbmdpbmUtPmNsYXNz ID49IEFSUkFZX1NJWkUodWFiaV9jbGFzc2VzKSk7Cj4gIAkJZW5naW5lLT51YWJpX2NsYXNzID0g dWFiaV9jbGFzc2VzW2VuZ2luZS0+Y2xhc3NdOwo+IEBAIC0xNDksNiArMTY1LDEzIEBAIHZvaWQg aW50ZWxfZW5naW5lc19kcml2ZXJfcmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUpCj4gIAkJR0VNX0JVR19PTihlbmdpbmUtPnVhYmlfY2xhc3MgPj0gQVJSQVlfU0laRSh1YWJp X2luc3RhbmNlcykpOwo+ICAJCWVuZ2luZS0+dWFiaV9pbnN0YW5jZSA9IHVhYmlfaW5zdGFuY2Vz W2VuZ2luZS0+dWFiaV9jbGFzc10rKzsKPiAgCj4gKwkJLyogUmVwbGFjZSB0aGUgaW50ZXJuYWwg bmFtZSB3aXRoIHRoZSBmaW5hbCB1c2VyIGZhY2luZyBuYW1lICovCj4gKwkJbWVtY3B5KG9sZCwg ZW5naW5lLT5uYW1lLCBzaXplb2YoZW5naW5lLT5uYW1lKSk7Cj4gKwkJc2NucHJpbnRmKGVuZ2lu ZS0+bmFtZSwgc2l6ZW9mKGVuZ2luZS0+bmFtZSksICIlcyV1IiwKPiArCQkJICBpbnRlbF9lbmdp bmVfY2xhc3NfcmVwcihlbmdpbmUtPmNsYXNzKSwKPiArCQkJICBlbmdpbmUtPnVhYmlfaW5zdGFu Y2UpOwo+ICsJCURSTV9ERUJVR19EUklWRVIoInJlbmFtZWQgJXMgdG8gJXNcbiIsIG9sZCwgZW5n aW5lLT5uYW1lKTsKPiArCj4gIAkJcmJfbGlua19ub2RlKCZlbmdpbmUtPnVhYmlfbm9kZSwgcHJl diwgcCk7Cj4gIAkJcmJfaW5zZXJ0X2NvbG9yKCZlbmdpbmUtPnVhYmlfbm9kZSwgJmk5MTUtPnVh YmlfZW5naW5lcyk7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9p bnRlbF9lbmdpbmVfdXNlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5l X3VzZXIuaAo+IGluZGV4IDllNWYxMTNlNTAyNy4uZjg0NWVhMWNiZmFhIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV91c2VyLmgKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfdXNlci5oCj4gQEAgLTIwLDQgKzIwLDYg QEAgdW5zaWduZWQgaW50IGludGVsX2VuZ2luZXNfaGFzX2NvbnRleHRfaXNvbGF0aW9uKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsKPiAgdm9pZCBpbnRlbF9lbmdpbmVfYWRkX3VzZXIo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKPiAgdm9pZCBpbnRlbF9lbmdpbmVzX2Ry aXZlcl9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7Cj4gIAo+ICtjb25z dCBjaGFyICppbnRlbF9lbmdpbmVfY2xhc3NfcmVwcih1OCBjbGFzcyk7Cj4gKwo+ICAjZW5kaWYg LyogSU5URUxfRU5HSU5FX1VTRVJfSCAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9zZWxmdGVzdF9lbmdpbmVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3Nl bGZ0ZXN0X2VuZ2luZV9jcy5jCj4gaW5kZXggY2ZhYTZiMjk2ODM1Li4zODgwZjA3YzI5YjggMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RfZW5naW5lX2NzLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF9lbmdpbmVfY3MuYwo+IEBA IC0xMiwxOSArMTIsMTggQEAgc3RhdGljIGludCBpbnRlbF9tbWlvX2Jhc2VzX2NoZWNrKHZvaWQg KmFyZykKPiAgCj4gIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbnRlbF9lbmdpbmVzKTsg aSsrKSB7Cj4gIAkJY29uc3Qgc3RydWN0IGVuZ2luZV9pbmZvICppbmZvID0gJmludGVsX2VuZ2lu ZXNbaV07Cj4gLQkJY2hhciBuYW1lW0lOVEVMX0VOR0lORV9DU19NQVhfTkFNRV07Cj4gIAkJdTgg cHJldiA9IFU4X01BWDsKPiAgCj4gLQkJX19zcHJpbnRfZW5naW5lX25hbWUobmFtZSwgaW5mbyk7 Cj4gLQo+ICAJCWZvciAoaiA9IDA7IGogPCBNQVhfTU1JT19CQVNFUzsgaisrKSB7Cj4gIAkJCXU4 IGdlbiA9IGluZm8tPm1taW9fYmFzZXNbal0uZ2VuOwo+ICAJCQl1MzIgYmFzZSA9IGluZm8tPm1t aW9fYmFzZXNbal0uYmFzZTsKPiAgCj4gIAkJCWlmIChnZW4gPj0gcHJldikgewo+IC0JCQkJcHJf ZXJyKCIlczogJXM6IG1taW8gYmFzZSBmb3IgZ2VuICV4ICIKPiAtCQkJCQkiaXMgYmVmb3JlIHRo ZSBvbmUgZm9yIGdlbiAleFxuIiwKPiAtCQkJCSAgICAgICBfX2Z1bmNfXywgbmFtZSwgcHJldiwg Z2VuKTsKPiArCQkJCXByX2VycigiJXMoJXMsIGNsYXNzOiVkLCBpbnN0YW5jZTolZCk6IG1taW8g YmFzZSBmb3IgZ2VuICV4IGlzIGJlZm9yZSB0aGUgb25lIGZvciBnZW4gJXhcbiIsCj4gKwkJCQkg ICAgICAgX19mdW5jX18sCj4gKwkJCQkgICAgICAgaW50ZWxfZW5naW5lX2NsYXNzX3JlcHIoaW5m by0+Y2xhc3MpLAo+ICsJCQkJICAgICAgIGluZm8tPmNsYXNzLCBpbmZvLT5pbnN0YW5jZSwKPiAr CQkJCSAgICAgICBwcmV2LCBnZW4pOwo+ICAJCQkJcmV0dXJuIC1FSU5WQUw7Cj4gIAkJCX0KPiAg Cj4gQEAgLTMyLDE3ICszMSwyMiBAQCBzdGF0aWMgaW50IGludGVsX21taW9fYmFzZXNfY2hlY2so dm9pZCAqYXJnKQo+ICAJCQkJYnJlYWs7Cj4gIAo+ICAJCQlpZiAoIWJhc2UpIHsKPiAtCQkJCXBy X2VycigiJXM6ICVzOiBpbnZhbGlkIG1taW8gYmFzZSAoJXgpICIKPiAtCQkJCQkiZm9yIGdlbiAl eCBhdCBlbnRyeSAldVxuIiwKPiAtCQkJCSAgICAgICBfX2Z1bmNfXywgbmFtZSwgYmFzZSwgZ2Vu LCBqKTsKPiArCQkJCXByX2VycigiJXMoJXMsIGNsYXNzOiVkLCBpbnN0YW5jZTolZCk6IGludmFs aWQgbW1pbyBiYXNlICgleCkgZm9yIGdlbiAleCBhdCBlbnRyeSAldVxuIiwKPiArCQkJCSAgICAg ICBfX2Z1bmNfXywKPiArCQkJCSAgICAgICBpbnRlbF9lbmdpbmVfY2xhc3NfcmVwcihpbmZvLT5j bGFzcyksCj4gKwkJCQkgICAgICAgaW5mby0+Y2xhc3MsIGluZm8tPmluc3RhbmNlLAo+ICsJCQkJ ICAgICAgIGJhc2UsIGdlbiwgaik7Cj4gIAkJCQlyZXR1cm4gLUVJTlZBTDsKPiAgCQkJfQo+ICAK PiAgCQkJcHJldiA9IGdlbjsKPiAgCQl9Cj4gIAo+IC0JCXByX2luZm8oIiVzOiBtaW4gZ2VuIHN1 cHBvcnRlZCBmb3IgJXMgPSAlZFxuIiwKPiAtCQkJX19mdW5jX18sIG5hbWUsIHByZXYpOwo+ICsJ CXByX2RlYnVnKCIlczogbWluIGdlbiBzdXBwb3J0ZWQgZm9yICVzJWQgaXMgJWRcbiIsCj4gKwkJ CSBfX2Z1bmNfXywKPiArCQkJIGludGVsX2VuZ2luZV9jbGFzc19yZXByKGluZm8tPmNsYXNzKSwK PiArCQkJIGluZm8tPmluc3RhbmNlLAo+ICsJCQkgcHJldik7Cj4gIAl9Cj4gIAo+ICAJcmV0dXJu IDA7Cj4gLS0gCj4gMi4yMy4wLnJjMQo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeA==