From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 9/9] drm/i915: Expand subslice mask Date: Mon, 2 Sep 2019 14:42:44 +0100 Message-ID: References: <20190723154934.26967-1-stuart.summers@intel.com> <20190723154934.26967-10-stuart.summers@intel.com> <92ddc444-d45e-1ecc-7fc2-2bda4fae13ed@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id C69EB8982D for ; Mon, 2 Sep 2019 13:42:47 +0000 (UTC) In-Reply-To: <92ddc444-d45e-1ecc-7fc2-2bda4fae13ed@linux.intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Stuart Summers , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDI0LzA3LzIwMTkgMTQ6MDUsIFR2cnRrbyBVcnN1bGluIHdyb3RlOgo+IAo+IE9uIDIzLzA3 LzIwMTkgMTY6NDksIFN0dWFydCBTdW1tZXJzIHdyb3RlOgo+PiBDdXJyZW50bHksIHRoZSBzdWJz bGljZV9tYXNrIHJ1bnRpbWUgcGFyYW1ldGVyIGlzIHN0b3JlZCBhcyBhbgo+PiBhcnJheSBvZiBz dWJzbGljZXMgcGVyIHNsaWNlLiBFeHBhbmQgdGhlIHN1YnNsaWNlIG1hc2sgYXJyYXkgdG8KPj4g YmV0dGVyIG1hdGNoIHdoYXQgaXMgcHJlc2VudGVkIHRvIHVzZXJzcGFjZSB0aHJvdWdoIHRoZQo+ PiBJOTE1X1FVRVJZX1RPUE9MT0dZX0lORk8gaW9jdGwuIFRoZSBpbmRleCBpbnRvIHRoaXMgYXJy YXkgaXMKPj4gdGhlbiBjYWxjdWxhdGVkOgo+PiDCoMKgIHNsaWNlICogc3Vic2xpY2Ugc3RyaWRl ICsgc3Vic2xpY2UgaW5kZXggLyA4Cj4+Cj4+IFNpZ25lZC1vZmYtYnk6IFN0dWFydCBTdW1tZXJz IDxzdHVhcnQuc3VtbWVyc0BpbnRlbC5jb20+Cj4+IC0tLQo+PiDCoCBkcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9pbnRlbF9zc2V1LmPCoMKgwqDCoMKgwqDCoCB8IDI2ICsrKysrKysrKysrKysrKysr KysrLQo+PiDCoCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9zc2V1LmjCoMKgwqDCoMKg wqDCoCB8wqAgNSArKystCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3dvcmth cm91bmRzLmMgfMKgIDMgKy0tCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdm cy5jwqDCoMKgwqDCoMKgwqDCoCB8wqAgNSArKystCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RldmljZV9pbmZvLmPCoMKgwqAgfMKgIDggKysrLS0tLQo+PiDCoCA1IGZpbGVzIGNo YW5nZWQsIDM4IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9zc2V1LmMgCj4+IGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3QvaW50ZWxfc3NldS5jCj4+IGluZGV4IDYwN2MxNDQ3Mjg3Yy4uN2FiYzI0ODdi OTk0IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9zc2V1LmMK Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfc3NldS5jCj4+IEBAIC0zMCw2 ICszMCwzMCBAQCBpbnRlbF9zc2V1X3N1YnNsaWNlX3RvdGFsKGNvbnN0IHN0cnVjdCAKPj4gc3Nl dV9kZXZfaW5mbyAqc3NldSkKPj4gwqDCoMKgwqDCoCByZXR1cm4gdG90YWw7Cj4+IMKgIH0KPj4g K3UzMiBpbnRlbF9zc2V1X2dldF9zdWJzbGljZXMoY29uc3Qgc3RydWN0IHNzZXVfZGV2X2luZm8g KnNzZXUsIHU4IHNsaWNlKQo+PiArewo+PiArwqDCoMKgIGludCBpLCBvZmZzZXQgPSBzbGljZSAq IHNzZXUtPnNzX3N0cmlkZTsKPj4gK8KgwqDCoCB1MzIgbWFzayA9IDA7Cj4+ICsKPj4gK8KgwqDC oCBpZiAoc2xpY2UgPj0gc3NldS0+bWF4X3NsaWNlcykgewo+PiArwqDCoMKgwqDCoMKgwqAgRFJN X0VSUk9SKCIlczogaW52YWxpZCBzbGljZSAlZCwgbWF4OiAlZFxuIiwKPj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIF9fZnVuY19fLCBzbGljZSwgc3NldS0+bWF4X3NsaWNlcyk7Cj4+ICvC oMKgwqDCoMKgwqDCoCByZXR1cm4gMDsKPj4gK8KgwqDCoCB9Cj4+ICsKPj4gK8KgwqDCoCBpZiAo c3NldS0+c3Nfc3RyaWRlID4gc2l6ZW9mKG1hc2spKSB7Cj4+ICvCoMKgwqDCoMKgwqDCoCBEUk1f RVJST1IoIiVzOiBpbnZhbGlkIHN1YnNsaWNlIHN0cmlkZSAlZCwgbWF4OiAlbHVcbiIsCj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2Z1bmNfXywgc3NldS0+c3Nfc3RyaWRlLCBzaXpl b2YobWFzaykpOwo+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIDA7Cj4+ICvCoMKgwqAgfQo+PiAr Cj4+ICvCoMKgwqAgZm9yIChpID0gMDsgaSA8IHNzZXUtPnNzX3N0cmlkZTsgaSsrKQo+PiArwqDC oMKgwqDCoMKgwqAgbWFzayB8PSAodTMyKXNzZXUtPnN1YnNsaWNlX21hc2tbb2Zmc2V0ICsgaV0g PDwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaSAqIEJJVFNfUEVSX0JZVEU7Cj4+ICsKPj4g K8KgwqDCoCByZXR1cm4gbWFzazsKPj4gK30KPiAKPiBXaHkgZG8geW91IGFjdHVhbGx5IG5lZWQg dGhlc2UgY29tcGxpY2F0aW9ucyB3aGVuIHRoZSBwbGFuIGZyb20gdGhlIAo+IHN0YXJ0IHdhcyB0 aGF0IHRoZSBkcml2ZXIgYW5kIHVzZXIgc3NldSByZXByZXNlbnRhdGlvbiBzdHJ1Y3R1cmVzIGNh biBiZSAKPiBkaWZmZXJlbnQ/Cj4gCj4gSSBvbmx5IGdhdmUgaXQgYSBxdWljayBsb29rIHNvIEkg bWlnaHQgYmUgd3JvbmcsIGJ1dCB3aHkgbm90IGp1c3QgZXhwYW5kIAo+IHRoZSBkcml2ZXIgcmVw cmVzZW50YXRpb25zIG9mIHN1YnNsaWNlIG1hc2sgdXAgZnJvbSB1OD8gVXNlcnNwYWNlIEFQSSAK PiBzaG91bGQgYmUgYWJsZSB0byBjb3BlIHdpdGggc3RyaWRlcyBhbHJlYWR5LgoKSSBuZXZlciBn b3QgYW4gYW5zd2VyIHRvIHRoaXMgYW5kIHRoZSBzZXJpZXMgd2FzIG1lcmdlZCBpbiB0aGUgbWVh bnRpbWUuCgpNYXliZSBub3QgbXVjaCBoYXJtIGJ1dCBJIHN0aWxsIGRvbid0IHVuZGVyc3RhbmQg d2h5IGFsbCB0aGUgCmNvbXBsaWNhdGlvbnMgc2VlbWluZ2x5IGp1c3QgdG8gYXZvaWQgYnVtcGlu ZyB0aGUgKmludGVybmFsKiBzcyBtYXNrIHVwIApmcm9tIHU4LiBBcyBsb25nIGFzIHRoZSBpbnRl cm5hbCBhbmQgYWJpIHNzZXUgaW5mbyBzdHJ1Y3QgYXJlIHdlbGwgCnNlcGFyYXRlZCBhbmQgYWNj ZXNzIHBvaW50IGZldyBhbmQgd2VsbCBjb250cm9sbGVkIChJIHRoaW5rIHRoZXkgYXJlKSAKdGhl biBJIGRvbid0IHNlZSB3aHkgdGhlIGludGVybmFsIHNpZGUgaGFkIHRvIGJlIGNvbnZlcnRlZCB0 byB1OCBhbmQgCnN0cmlkZXMuIEJ1dCBtYXliZSBJIGFtIG1pc3Npbmcgc29tZXRoaW5nLgoKUmVn YXJkcywKClR2cnRrbwoKPiAKPiBSZWdhcmRzLAo+IAo+IFR2cnRrbwo+IAo+PiArCj4+IMKgIHZv aWQgaW50ZWxfc3NldV9zZXRfc3Vic2xpY2VzKHN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1LCBp bnQgc2xpY2UsCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHUzMiBz c19tYXNrKQo+PiDCoCB7Cj4+IEBAIC00Myw3ICs2Nyw3IEBAIHZvaWQgaW50ZWxfc3NldV9zZXRf c3Vic2xpY2VzKHN0cnVjdCBzc2V1X2Rldl9pbmZvIAo+PiAqc3NldSwgaW50IHNsaWNlLAo+PiDC oCB1bnNpZ25lZCBpbnQKPj4gwqAgaW50ZWxfc3NldV9zdWJzbGljZXNfcGVyX3NsaWNlKGNvbnN0 IHN0cnVjdCBzc2V1X2Rldl9pbmZvICpzc2V1LCB1OCAKPj4gc2xpY2UpCj4+IMKgIHsKPj4gLcKg wqDCoCByZXR1cm4gaHdlaWdodDgoc3NldS0+c3Vic2xpY2VfbWFza1tzbGljZV0pOwo+PiArwqDC oMKgIHJldHVybiBod2VpZ2h0MzIoaW50ZWxfc3NldV9nZXRfc3Vic2xpY2VzKHNzZXUsIHNsaWNl KSk7Cj4+IMKgIH0KPj4gwqAgdTMyIGludGVsX3NzZXVfbWFrZV9ycGNzKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1LAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv aW50ZWxfc3NldS5oIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3NzZXUuaAo+ PiBpbmRleCAwZWNjMWMzNWE3YTEuLjIyOTE3NjRiN2RiNSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfc3NldS5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX3NzZXUuaAo+PiBAQCAtMTUsMTAgKzE1LDExIEBAIHN0cnVjdCBkcm1faTkx NV9wcml2YXRlOwo+PiDCoCAjZGVmaW5lIEdFTl9NQVhfU0xJQ0VTwqDCoMKgwqDCoMKgwqAgKDYp IC8qIENOTCB1cHBlciBib3VuZCAqLwo+PiDCoCAjZGVmaW5lIEdFTl9NQVhfU1VCU0xJQ0VTwqDC oMKgICg4KSAvKiBJQ0wgdXBwZXIgYm91bmQgKi8KPj4gwqAgI2RlZmluZSBHRU5fU1NFVV9TVFJJ REUobWF4X2VudHJpZXMpIERJVl9ST1VORF9VUChtYXhfZW50cmllcywgCj4+IEJJVFNfUEVSX0JZ VEUpCj4+ICsjZGVmaW5lIEdFTl9NQVhfU1VCU0xJQ0VfU1RSSURFIEdFTl9TU0VVX1NUUklERShH RU5fTUFYX1NVQlNMSUNFUykKPj4gwqAgc3RydWN0IHNzZXVfZGV2X2luZm8gewo+PiDCoMKgwqDC oMKgIHU4IHNsaWNlX21hc2s7Cj4+IC3CoMKgwqAgdTggc3Vic2xpY2VfbWFza1tHRU5fTUFYX1NM SUNFU107Cj4+ICvCoMKgwqAgdTggc3Vic2xpY2VfbWFza1tHRU5fTUFYX1NMSUNFUyAqIEdFTl9N QVhfU1VCU0xJQ0VfU1RSSURFXTsKPj4gwqDCoMKgwqDCoCB1MTYgZXVfdG90YWw7Cj4+IMKgwqDC oMKgwqAgdTggZXVfcGVyX3N1YnNsaWNlOwo+PiDCoMKgwqDCoMKgIHU4IG1pbl9ldV9pbl9wb29s Owo+PiBAQCAtODUsNiArODYsOCBAQCBpbnRlbF9zc2V1X3N1YnNsaWNlX3RvdGFsKGNvbnN0IHN0 cnVjdCBzc2V1X2Rldl9pbmZvIAo+PiAqc3NldSk7Cj4+IMKgIHVuc2lnbmVkIGludAo+PiDCoCBp bnRlbF9zc2V1X3N1YnNsaWNlc19wZXJfc2xpY2UoY29uc3Qgc3RydWN0IHNzZXVfZGV2X2luZm8g KnNzZXUsIHU4IAo+PiBzbGljZSk7Cj4+ICt1MzLCoCBpbnRlbF9zc2V1X2dldF9zdWJzbGljZXMo Y29uc3Qgc3RydWN0IHNzZXVfZGV2X2luZm8gKnNzZXUsIHU4IAo+PiBzbGljZSk7Cj4+ICsKPj4g wqAgdm9pZCBpbnRlbF9zc2V1X3NldF9zdWJzbGljZXMoc3RydWN0IHNzZXVfZGV2X2luZm8gKnNz ZXUsIGludCBzbGljZSwKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg dTMyIHNzX21hc2spOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfd29ya2Fyb3VuZHMuYyAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF93b3Jr YXJvdW5kcy5jCj4+IGluZGV4IDcwNGFjZTAxZTdmNS4uN2VjNjA0MzVkODcxIDEwMDY0NAo+PiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF93b3JrYXJvdW5kcy5jCj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3dvcmthcm91bmRzLmMKPj4gQEAgLTc5NCw4 ICs3OTQsNyBAQCB3YV9pbml0X21jcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgc3Ry dWN0IAo+PiBpOTE1X3dhX2xpc3QgKndhbCkKPj4gwqDCoMKgwqDCoCB9Cj4+IMKgwqDCoMKgwqAg c2xpY2UgPSBmbHMoc3NldS0+c2xpY2VfbWFzaykgLSAxOwo+PiAtwqDCoMKgIEdFTV9CVUdfT04o c2xpY2UgPj0gQVJSQVlfU0laRShzc2V1LT5zdWJzbGljZV9tYXNrKSk7Cj4+IC3CoMKgwqAgc3Vi c2xpY2UgPSBmbHMobDNfZW4gJiBzc2V1LT5zdWJzbGljZV9tYXNrW3NsaWNlXSk7Cj4+ICvCoMKg wqAgc3Vic2xpY2UgPSBmbHMobDNfZW4gJiBpbnRlbF9zc2V1X2dldF9zdWJzbGljZXMoc3NldSwg c2xpY2UpKTsKPj4gwqDCoMKgwqDCoCBpZiAoIXN1YnNsaWNlKSB7Cj4+IMKgwqDCoMKgwqDCoMKg wqDCoCBEUk1fV0FSTigiTm8gY29tbW9uIGluZGV4IGZvdW5kIGJldHdlZW4gc3Vic2xpY2UgbWFz ayAleCBhbmQgCj4+IEwzIGJhbmsgbWFzayAleCFcbiIsCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgc3NldS0+c3Vic2xpY2VfbWFza1tzbGljZV0sIGwzX2VuKTsKPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIAo+PiBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4+IGluZGV4IDdmODQyNTA2YjllYS4uOTZhMjVhNzcw YWRlIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+PiBAQCAtMzk0NCwx MyArMzk0NCwxNiBAQCBzdGF0aWMgdm9pZCBnZW45X3NzZXVfZGV2aWNlX3N0YXR1cyhzdHJ1Y3Qg Cj4+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZm9y IChzcyA9IDA7IHNzIDwgaW5mby0+c3NldS5tYXhfc3Vic2xpY2VzOyBzcysrKSB7Cj4+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGludCBldV9jbnQ7Cj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHU4IHNzX2lkeCA9IHMgKiBpbmZvLT5zc2V1LnNzX3N0cmlkZSArCj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzcyAvIEJJVFNfUEVSX0JZVEU7 Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChJU19HRU45X0xQKGRldl9wcml2KSkg ewo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmICghKHNfcmVnW3NdICYg KEdFTjlfUEdDVExfU1NfQUNLKHNzKSkpKQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgLyogc2tpcCBkaXNhYmxlZCBzdWJzbGljZSAqLwo+PiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29udGludWU7Cj4+IC3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgc3NldS0+c3Vic2xpY2VfbWFza1tzXSB8PSBCSVQoc3MpOwo+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNzZXUtPnN1YnNsaWNlX21hc2tbc3Nf aWR4XSB8PQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQklUKHNz ICUgQklUU19QRVJfQllURSk7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0KPj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZXVfY250ID0gMiAqIGh3ZWlnaHQzMihldV9yZWdbMipz ICsgc3MvMl0gJgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2 aWNlX2luZm8uYyAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5j Cj4+IGluZGV4IDcyM2IxZmRlNWZjNC4uMDRkZGU0ZjIwNGMzIDEwMDY0NAo+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMKPj4gQEAgLTkzLDkgKzkzLDkgQEAgc3RhdGlj IHZvaWQgc3NldV9kdW1wKGNvbnN0IHN0cnVjdCBzc2V1X2Rldl9pbmZvIAo+PiAqc3NldSwgc3Ry dWN0IGRybV9wcmludGVyICpwKQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaHdlaWdodDgo c3NldS0+c2xpY2VfbWFzayksIHNzZXUtPnNsaWNlX21hc2spOwo+PiDCoMKgwqDCoMKgIGRybV9w cmludGYocCwgInN1YnNsaWNlIHRvdGFsOiAldVxuIiwgCj4+IGludGVsX3NzZXVfc3Vic2xpY2Vf dG90YWwoc3NldSkpOwo+PiDCoMKgwqDCoMKgIGZvciAocyA9IDA7IHMgPCBzc2V1LT5tYXhfc2xp Y2VzOyBzKyspIHsKPj4gLcKgwqDCoMKgwqDCoMKgIGRybV9wcmludGYocCwgInNsaWNlJWQ6ICV1 IHN1YnNsaWNlcywgbWFzaz0lMDR4XG4iLAo+PiArwqDCoMKgwqDCoMKgwqAgZHJtX3ByaW50Zihw LCAic2xpY2UlZDogJXUgc3Vic2xpY2VzLCBtYXNrPSUwOHhcbiIsCj4+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHMsIGludGVsX3NzZXVfc3Vic2xpY2VzX3Blcl9zbGljZShzc2V1 LCBzKSwKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3NldS0+c3Vic2xpY2VfbWFz a1tzXSk7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGludGVsX3NzZXVfZ2V0X3N1 YnNsaWNlcyhzc2V1LCBzKSk7Cj4+IMKgwqDCoMKgwqAgfQo+PiDCoMKgwqDCoMKgIGRybV9wcmlu dGYocCwgIkVVIHRvdGFsOiAldVxuIiwgc3NldS0+ZXVfdG90YWwpOwo+PiDCoMKgwqDCoMKgIGRy bV9wcmludGYocCwgIkVVIHBlciBzdWJzbGljZTogJXVcbiIsIHNzZXUtPmV1X3Blcl9zdWJzbGlj ZSk7Cj4+IEBAIC0xNTksOSArMTU5LDkgQEAgdm9pZCBpbnRlbF9kZXZpY2VfaW5mb19kdW1wX3Rv cG9sb2d5KGNvbnN0IHN0cnVjdCAKPj4gc3NldV9kZXZfaW5mbyAqc3NldSwKPj4gwqDCoMKgwqDC oCB9Cj4+IMKgwqDCoMKgwqAgZm9yIChzID0gMDsgcyA8IHNzZXUtPm1heF9zbGljZXM7IHMrKykg ewo+PiAtwqDCoMKgwqDCoMKgwqAgZHJtX3ByaW50ZihwLCAic2xpY2UlZDogJXUgc3Vic2xpY2Uo cykgKDB4JWhoeCk6XG4iLAo+PiArwqDCoMKgwqDCoMKgwqAgZHJtX3ByaW50ZihwLCAic2xpY2Ul ZDogJXUgc3Vic2xpY2UocykgKDB4JTA4eCk6XG4iLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBzLCBpbnRlbF9zc2V1X3N1YnNsaWNlc19wZXJfc2xpY2Uoc3NldSwgcyksCj4+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNzZXUtPnN1YnNsaWNlX21hc2tbc10pOwo+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpbnRlbF9zc2V1X2dldF9zdWJzbGljZXMo c3NldSwgcykpOwo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZm9yIChzcyA9IDA7IHNzIDwgc3NldS0+ bWF4X3N1YnNsaWNlczsgc3MrKykgewo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1MTYg ZW5hYmxlZF9ldXMgPSBzc2V1X2dldF9ldXMoc3NldSwgcywgc3MpOwo+PgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=