From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2EE956E17C for ; Wed, 3 Jul 2019 17:18:24 +0000 (UTC) Date: Wed, 3 Jul 2019 20:18:21 +0300 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Message-ID: <20190703171821.GA5942@intel.com> References: <20190703120226.24693-1-simon.ser@intel.com> <20190703120226.24693-6-simon.ser@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190703120226.24693-6-simon.ser@intel.com> Subject: Re: [igt-dev] [PATCH i-g-t v2 6/6] lib/igt_kms: use igt_edid to generate a 4K EDID List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Simon Ser Cc: igt-dev@lists.freedesktop.org List-ID: T24gV2VkLCBKdWwgMDMsIDIwMTkgYXQgMDM6MDI6MjZQTSArMDMwMCwgU2ltb24gU2VyIHdyb3Rl Ogo+IFRoZSBuZXcgRURJRCBoYXMgYmVlbiBieXRlLWJ5LWJ5dGUgY2hlY2tlZCB0byBiZSBleGFj dGx5IHRoZSBzYW1lIGFzIGJlZm9yZS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBTZXIgPHNp bW9uLnNlckBpbnRlbC5jb20+CgpTZWVtcyBvawpSZXZpZXdlZC1ieTogVmlsbGUgU3lyasOkbMOk IDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCj4gLS0tCj4gIGxpYi9pZ3Rfa21zLmMg ICAgICAgICAgICAgICB8IDEwNyArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0K PiAgbGliL2lndF9rbXMuaCAgICAgICAgICAgICAgIHwgICAyICstCj4gIGxpYi90ZXN0cy9pZ3Rf ZWRpZC5jICAgICAgICB8ICAgMSArCj4gIGxpYi90ZXN0cy9pZ3RfaGRtaV9pbmplY3QuYyB8ICAg MSAtCj4gIHRlc3RzL2ttc19oZG1pX2luamVjdC5jICAgICB8ICAgOSArLS0KPiAgNSBmaWxlcyBj aGFuZ2VkLCA2NCBpbnNlcnRpb25zKCspLCA1NiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0 IGEvbGliL2lndF9rbXMuYyBiL2xpYi9pZ3Rfa21zLmMKPiBpbmRleCA0MjRjODMxNTljNzguLjE5 ZDhhY2FjOGQ3NyAxMDA2NDQKPiAtLS0gYS9saWIvaWd0X2ttcy5jCj4gKysrIGIvbGliL2lndF9r bXMuYwo+IEBAIC0yODQsNiArMjg0LDY2IEBAIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmlndF9rbXNf Z2V0X2RwX2F1ZGlvX2VkaWQodm9pZCkKPiAgCXJldHVybiByYXdfZWRpZDsKPiAgfQo+ICAKPiAr c3RhdGljIGNvbnN0IHVpbnQ4X3QgZWRpZF80a19zdmRzW10gPSB7Cj4gKwkzMiB8IENFQV9TVkRf TkFUSVZFLCAvKiAxMDgwcCBAIDI0SHogKG5hdGl2ZSkgKi8KPiArCTUsICAgICAgICAgICAgICAg ICAgIC8qIDEwODBpIEAgNjBIeiAqLwo+ICsJMjAsICAgICAgICAgICAgICAgICAgLyogMTA4MGkg QCA1MEh6ICovCj4gKwk0LCAgICAgICAgICAgICAgICAgICAvKiA3MjBwIEAgNjBIeiAqLwo+ICsJ MTksICAgICAgICAgICAgICAgICAgLyogNzIwcCBAIDUwSHogKi8KPiArfTsKPiArCj4gK2NvbnN0 IHVuc2lnbmVkIGNoYXIgKmlndF9rbXNfZ2V0XzRrX2VkaWQodm9pZCkKPiArewo+ICsJc3RhdGlj IHVuc2lnbmVkIGNoYXIgcmF3X2VkaWRbMjU2XTsKPiArCXN0cnVjdCBlZGlkICplZGlkOwo+ICsJ c3RydWN0IGVkaWRfZXh0ICplZGlkX2V4dDsKPiArCXN0cnVjdCBlZGlkX2NlYSAqZWRpZF9jZWE7 Cj4gKwljaGFyICpjZWFfZGF0YTsKPiArCXN0cnVjdCBlZGlkX2NlYV9kYXRhX2Jsb2NrICpibG9j azsKPiArCS8qIFdlJ2xsIGFkZCA2IGV4dGVuc2lvbiBmaWVsZHMgdG8gdGhlIEhETUkgVlNEQi4g Ki8KPiArCWNoYXIgcmF3X2hkbWlbSERNSV9WU0RCX01JTl9TSVpFICsgNl0gPSB7MH07Cj4gKwlz dHJ1Y3QgaGRtaV92c2RiICpoZG1pOwo+ICsJc2l6ZV90IGNlYV9kYXRhX3NpemUgPSAwOwo+ICsK PiArCS8qIENyZWF0ZSBhIG5ldyBFRElEIGZyb20gdGhlIGJhc2UgSUdUIEVESUQsIGFuZCBhZGQg YW4KPiArCSAqIGV4dGVuc2lvbiB0aGF0IGFkdmVydGlzZXMgNEsgc3VwcG9ydC4gKi8KPiArCWVk aWQgPSAoc3RydWN0IGVkaWQgKikgcmF3X2VkaWQ7Cj4gKwltZW1jcHkoZWRpZCwgaWd0X2ttc19n ZXRfYmFzZV9lZGlkKCksIHNpemVvZihzdHJ1Y3QgZWRpZCkpOwo+ICsJZWRpZC0+ZXh0ZW5zaW9u c19sZW4gPSAxOwo+ICsJZWRpZF9leHQgPSAmZWRpZC0+ZXh0ZW5zaW9uc1swXTsKPiArCWVkaWRf Y2VhID0gJmVkaWRfZXh0LT5kYXRhLmNlYTsKPiArCWNlYV9kYXRhID0gZWRpZF9jZWEtPmRhdGE7 Cj4gKwo+ICsJLyogU2hvcnQgVmlkZW8gRGVzY3JpcHRvciAqLwo+ICsJYmxvY2sgPSAoc3RydWN0 IGVkaWRfY2VhX2RhdGFfYmxvY2sgKikgJmNlYV9kYXRhW2NlYV9kYXRhX3NpemVdOwo+ICsJY2Vh X2RhdGFfc2l6ZSArPSBlZGlkX2NlYV9kYXRhX2Jsb2NrX3NldF9zdmQoYmxvY2ssIGVkaWRfNGtf c3ZkcywKPiArCQkJCQkJICAgICBzaXplb2YoZWRpZF80a19zdmRzKSk7Cj4gKwo+ICsJLyogVmVu ZG9yLVNwZWNpZmljIERhdGEgQmxvY2sgKi8KPiArCWhkbWkgPSAoc3RydWN0IGhkbWlfdnNkYiAq KSByYXdfaGRtaTsKPiArCWhkbWktPnNyY19waHlfYWRkclswXSA9IDB4MTA7Cj4gKwloZG1pLT5z cmNfcGh5X2FkZHJbMV0gPSAweDAwOwo+ICsJLyogNiBleHRlbnNpb24gZmllbGRzICovCj4gKwlo ZG1pLT5mbGFnczEgPSAwOwo+ICsJaGRtaS0+bWF4X3RkbXNfY2xvY2sgPSAwOwo+ICsJaGRtaS0+ ZmxhZ3MyID0gSERNSV9WU0RCX1ZJREVPX1BSRVNFTlQ7Cj4gKwloZG1pLT5kYXRhWzBdID0gMHgw MDsgLyogSERNSSB2aWRlbyBmbGFncyAqLwo+ICsJaGRtaS0+ZGF0YVsxXSA9IDEgPDwgNTsgLyog MSBWSUMgZW50cnksIDAgM0QgZW50cmllcyAqLwo+ICsJaGRtaS0+ZGF0YVsyXSA9IDB4MDE7IC8q IDIxNjBwLCBzcGVjaWZpZWQgYXMgc2hvcnQgZGVzY3JpcHRvciAqLwo+ICsKPiArCWJsb2NrID0g KHN0cnVjdCBlZGlkX2NlYV9kYXRhX2Jsb2NrICopICZjZWFfZGF0YVtjZWFfZGF0YV9zaXplXTsK PiArCWNlYV9kYXRhX3NpemUgKz0gZWRpZF9jZWFfZGF0YV9ibG9ja19zZXRfaGRtaV92c2RiKGJs b2NrLCBoZG1pLAo+ICsJCQkJCQkJICAgc2l6ZW9mKHJhd19oZG1pKSk7Cj4gKwo+ICsJYXNzZXJ0 KGNlYV9kYXRhX3NpemUgPD0gc2l6ZW9mKGVkaWRfY2VhLT5kYXRhKSk7Cj4gKwo+ICsJZWRpZF9l eHRfc2V0X2NlYShlZGlkX2V4dCwgY2VhX2RhdGFfc2l6ZSwgMCwgMCk7Cj4gKwo+ICsJZWRpZF91 cGRhdGVfY2hlY2tzdW0oZWRpZCk7Cj4gKwllZGlkX2V4dF91cGRhdGVfY2VhX2NoZWNrc3VtKGVk aWRfZXh0KTsKPiArCXJldHVybiByYXdfZWRpZDsKPiArfQo+ICsKPiAgY29uc3QgY2hhciAqIGNv bnN0IGlndF9wbGFuZV9wcm9wX25hbWVzW0lHVF9OVU1fUExBTkVfUFJPUFNdID0gewo+ICAJW0lH VF9QTEFORV9TUkNfWF0gPSAiU1JDX1giLAo+ICAJW0lHVF9QTEFORV9TUkNfWV0gPSAiU1JDX1ki LAo+IEBAIC0xMzQ2LDggKzE0MDYsNiBAQCBzdHJ1Y3QgZWRpZF9ibG9jayB7Cj4gICAgICB1bnNp Z25lZCBjaGFyICpkYXRhOwo+ICB9Owo+ICAKPiAtI2RlZmluZSBEVERfU1VQUE9SVFNfQVVESU8g MTw8Ngo+IC0KPiAgc3RhdGljIHN0cnVjdCBlZGlkX2Jsb2NrCj4gIGluaXRfY2VhX2Jsb2NrKGNv bnN0IHVuc2lnbmVkIGNoYXIgKmVkaWQsIHNpemVfdCBsZW5ndGgsCj4gIAkgICAgICAgdW5zaWdu ZWQgY2hhciAqbmV3X2VkaWRfcHRyW10sIHNpemVfdCAqbmV3X2xlbmd0aCwKPiBAQCAtMTQzNSw1 MSArMTQ5Myw2IEBAIHZvaWQga21zdGVzdF9lZGlkX2FkZF8zZChjb25zdCB1bnNpZ25lZCBjaGFy ICplZGlkLCBzaXplX3QgbGVuZ3RoLAo+ICAJdXBkYXRlX2VkaWRfY3N1bShuZXdfZWRpZC5kYXRh LCBsZW5ndGgpOwo+ICB9Cj4gIAo+IC0vKioKPiAtICoga21zdGVzdF9lZGlkX2FkZF80azoKPiAt ICogQGVkaWQ6IGFuIGV4aXN0aW5nIHZhbGlkIGVkaWQgYmxvY2sKPiAtICogQGxlbmd0aDogbGVu Z3RoIG9mIEBlZGlkCj4gLSAqIEBuZXdfZWRpZF9wdHI6IHBvaW50ZXIgdG8gd2hlcmUgdGhlIG5l dyBlZGlkIHdpbGwgYmUgcGxhY2VkCj4gLSAqIEBuZXdfbGVuZ3RoOiBwb2ludGVyIHRvIHRoZSBz aXplIG9mIHRoZSBuZXcgZWRpZAo+IC0gKgo+IC0gKiBNYWtlcyBhIGNvcHkgb2YgYW4gZXhpc3Rp bmcgZWRpZCBibG9jayBhbmQgYWRkcyBhbiBleHRlbnNpb24gaW5kaWNhdGluZwo+IC0gKiBhIEhE TUkgNEsgbW9kZSBpbiB2c2RiLgo+IC0gKi8KPiAtdm9pZCBrbXN0ZXN0X2VkaWRfYWRkXzRrKGNv bnN0IHVuc2lnbmVkIGNoYXIgKmVkaWQsIHNpemVfdCBsZW5ndGgsCj4gLQkJCSB1bnNpZ25lZCBj aGFyICpuZXdfZWRpZF9wdHJbXSwgc2l6ZV90ICpuZXdfbGVuZ3RoKQo+IC17Cj4gLQljaGFyIHZz ZGJfYmxvY2tfbGVuID0gMTI7Cj4gLQlzdHJ1Y3QgZWRpZF9ibG9jayBuZXdfZWRpZCA9IGluaXRf Y2VhX2Jsb2NrKGVkaWQsIGxlbmd0aCwgbmV3X2VkaWRfcHRyLAo+IC0JCQkJCQkgICAgbmV3X2xl bmd0aCwgdnNkYl9ibG9ja19sZW4sCj4gLQkJCQkJCSAgICAwKTsKPiAtCWludCBwb3MgPSBuZXdf ZWRpZC5wb3M7Cj4gLQo+IC0JLyogdnNkYiBibG9jayAoIGlkIHwgbGVuZ3RoICkgKi8KPiAtCW5l d19lZGlkLmRhdGFbcG9zKytdID0gMyA8PCA1IHwgKHZzZGJfYmxvY2tfbGVuIC0gMSk7Cj4gLQkv KiByZWdpc3RyYXRpb24gaWQgKi8KPiAtCW5ld19lZGlkLmRhdGFbcG9zKytdID0gMHgzOwo+IC0J bmV3X2VkaWQuZGF0YVtwb3MrK10gPSAweGM7Cj4gLQluZXdfZWRpZC5kYXRhW3BvcysrXSA9IDB4 MDsKPiAtCS8qIHNvdXJjZSBwaHlzaWNhbCBhZGRyZXNzICovCj4gLQluZXdfZWRpZC5kYXRhW3Bv cysrXSA9IDB4MTA7Cj4gLQluZXdfZWRpZC5kYXRhW3BvcysrXSA9IDB4MDA7Cj4gLQkvKiBTdXBw b3J0c19BSSAuLi4gZXRjICovCj4gLQluZXdfZWRpZC5kYXRhW3BvcysrXSA9IDB4MDA7Cj4gLQkv KiBNYXggVE1EUyBDbG9jayAqLwo+IC0JbmV3X2VkaWQuZGF0YVtwb3MrK10gPSAweDAwOwo+IC0J LyogTGF0ZW5jeSBwcmVzZW50LCBIRE1JIFZpZGVvIFByZXNlbnQgKi8KPiAtCW5ld19lZGlkLmRh dGFbcG9zKytdID0gMHgyMDsKPiAtCS8qIEhETUkgVmlkZW8gKi8KPiAtCW5ld19lZGlkLmRhdGFb cG9zKytdID0gMHgwMDsgLyogM0QgcHJlc2VudCAqLwo+IC0KPiAtCS8qIEhETUkgTU9ERSBMRU4g LS0gaG93IG1hbnkgZW50cmllcyAqLwo+IC0JbmV3X2VkaWQuZGF0YVtwb3MrK10gPSAweDIwOwo+ IC0JLyogMjE2MHAsIHNwZWNpZmllZCBhcyBzaG9ydCBkZXNjcmlwdG9yICovCj4gLQluZXdfZWRp ZC5kYXRhW3BvcysrXSA9IDB4MDE7Cj4gLQo+IC0JdXBkYXRlX2VkaWRfY3N1bShuZXdfZWRpZC5k YXRhLCBsZW5ndGgpOwo+IC19Cj4gLQo+ICAvKioKPiAgICoga21zdGVzdF91bnNldF9hbGxfY3J0 Y3M6Cj4gICAqIEBkcm1fZmQ6IHRoZSBEUk0gZmQKPiBkaWZmIC0tZ2l0IGEvbGliL2lndF9rbXMu aCBiL2xpYi9pZ3Rfa21zLmgKPiBpbmRleCBmNzI1MDg2NDA3MTIuLjIwMzcxOTg3OGQ4NiAxMDA2 NDQKPiAtLS0gYS9saWIvaWd0X2ttcy5oCj4gKysrIGIvbGliL2lndF9rbXMuaAo+IEBAIC0xOTUs NyArMTk1LDYgQEAgZW51bSBpbnRlbF9icm9hZGNhc3RfcmdiX21vZGUgewo+ICBib29sIGttc3Rl c3RfZm9yY2VfY29ubmVjdG9yKGludCBmZCwgZHJtTW9kZUNvbm5lY3RvciAqY29ubmVjdG9yLAo+ ICAJCQkgICAgIGVudW0ga21zdGVzdF9mb3JjZV9jb25uZWN0b3Jfc3RhdGUgc3RhdGUpOwo+ICB2 b2lkIGttc3Rlc3RfZWRpZF9hZGRfM2QoY29uc3QgdW5zaWduZWQgY2hhciAqZWRpZCwgc2l6ZV90 IGxlbmd0aCwgdW5zaWduZWQgY2hhciAqbmV3X2VkaWRfcHRyW10sIHNpemVfdCAqbmV3X2xlbmd0 aCk7Cj4gLXZvaWQga21zdGVzdF9lZGlkX2FkZF80ayhjb25zdCB1bnNpZ25lZCBjaGFyICplZGlk LCBzaXplX3QgbGVuZ3RoLCB1bnNpZ25lZCBjaGFyICpuZXdfZWRpZF9wdHJbXSwgc2l6ZV90ICpu ZXdfbGVuZ3RoKTsKPiAgdm9pZCBrbXN0ZXN0X2ZvcmNlX2VkaWQoaW50IGRybV9mZCwgZHJtTW9k ZUNvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAJCQljb25zdCB1bnNpZ25lZCBjaGFyICplZGlkKTsK PiAgCj4gQEAgLTc2Myw2ICs3NjIsNyBAQCBjb25zdCB1bnNpZ25lZCBjaGFyICppZ3Rfa21zX2dl dF9iYXNlX2VkaWQodm9pZCk7Cj4gIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmlndF9rbXNfZ2V0X2Fs dF9lZGlkKHZvaWQpOwo+ICBjb25zdCB1bnNpZ25lZCBjaGFyICppZ3Rfa21zX2dldF9oZG1pX2F1 ZGlvX2VkaWQodm9pZCk7Cj4gIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmlndF9rbXNfZ2V0X2RwX2F1 ZGlvX2VkaWQodm9pZCk7Cj4gK2NvbnN0IHVuc2lnbmVkIGNoYXIgKmlndF9rbXNfZ2V0XzRrX2Vk aWQodm9pZCk7Cj4gIAo+ICBzdHJ1Y3QgdWRldl9tb25pdG9yICppZ3Rfd2F0Y2hfaG90cGx1Zyh2 b2lkKTsKPiAgYm9vbCBpZ3RfaG90cGx1Z19kZXRlY3RlZChzdHJ1Y3QgdWRldl9tb25pdG9yICpt b24sCj4gZGlmZiAtLWdpdCBhL2xpYi90ZXN0cy9pZ3RfZWRpZC5jIGIvbGliL3Rlc3RzL2lndF9l ZGlkLmMKPiBpbmRleCBhODQ3ZGYyNzI1MjUuLjFhNzhiMzhhOTQ1YiAxMDA2NDQKPiAtLS0gYS9s aWIvdGVzdHMvaWd0X2VkaWQuYwo+ICsrKyBiL2xpYi90ZXN0cy9pZ3RfZWRpZC5jCj4gQEAgLTc2 LDYgKzc2LDcgQEAgaWd0X3NpbXBsZV9tYWluCj4gIAkJeyAiYmFzZSIsIGlndF9rbXNfZ2V0X2Jh c2VfZWRpZCwgMCB9LAo+ICAJCXsgImFsdCIsIGlndF9rbXNfZ2V0X2FsdF9lZGlkLCAwIH0sCj4g IAkJeyAiaGRtaV9hdWRpbyIsIGlndF9rbXNfZ2V0X2hkbWlfYXVkaW9fZWRpZCwgMSB9LAo+ICsJ CXsgIjRrIiwgaWd0X2ttc19nZXRfNGtfZWRpZCwgMSB9LAo+ICAJCXswfSwKPiAgCX0sICpmOwo+ ICAJY29uc3QgdW5zaWduZWQgY2hhciAqZWRpZDsKPiBkaWZmIC0tZ2l0IGEvbGliL3Rlc3RzL2ln dF9oZG1pX2luamVjdC5jIGIvbGliL3Rlc3RzL2lndF9oZG1pX2luamVjdC5jCj4gaW5kZXggMjUz NGIxYTIzYWNiLi5jNzBjMzE5NWNiMWQgMTAwNjQ0Cj4gLS0tIGEvbGliL3Rlc3RzL2lndF9oZG1p X2luamVjdC5jCj4gKysrIGIvbGliL3Rlc3RzL2lndF9oZG1pX2luamVjdC5jCj4gQEAgLTcyLDcg KzcyLDYgQEAgaWd0X3NpbXBsZV9tYWluCj4gIAkJaGRtaV9pbmplY3RfZnVuYyBpbmplY3Q7Cj4g IAl9IGZ1bmNzW10gPSB7Cj4gIAkJeyAiM0QiLCBrbXN0ZXN0X2VkaWRfYWRkXzNkIH0sCj4gLQkJ eyAiNGsiLCBrbXN0ZXN0X2VkaWRfYWRkXzRrIH0sCj4gIAkJeyBOVUxMLCBOVUxMIH0sCj4gIAl9 LCAqZjsKPiAgCj4gZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19oZG1pX2luamVjdC5jIGIvdGVzdHMv a21zX2hkbWlfaW5qZWN0LmMKPiBpbmRleCA5YTk2OGZhOWU1MGUuLjYwMTk4ZjUyOTgxNyAxMDA2 NDQKPiAtLS0gYS90ZXN0cy9rbXNfaGRtaV9pbmplY3QuYwo+ICsrKyBiL3Rlc3RzL2ttc19oZG1p X2luamVjdC5jCj4gQEAgLTc2LDggKzc2LDcgQEAgZ2V0X2Nvbm5lY3RvcihpbnQgZHJtX2ZkLCBk cm1Nb2RlUmVzICpyZXMpCj4gIHN0YXRpYyB2b2lkCj4gIGhkbWlfaW5qZWN0XzRrKGludCBkcm1f ZmQsIGRybU1vZGVDb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+IC0JdW5zaWduZWQgY2hhciAq ZWRpZDsKPiAtCXNpemVfdCBsZW5ndGg7Cj4gKwljb25zdCB1bnNpZ25lZCBjaGFyICplZGlkOwo+ ICAJc3RydWN0IGttc3Rlc3RfY29ubmVjdG9yX2NvbmZpZyBjb25maWc7Cj4gIAlpbnQgcmV0LCBj aWQsIGksIGNydGNfbWFzayA9IC0xOwo+ICAJaW50IGZiX2lkOwo+IEBAIC05MCw5ICs4OSw3IEBA IGhkbWlfaW5qZWN0XzRrKGludCBkcm1fZmQsIGRybU1vZGVDb25uZWN0b3IgKmNvbm5lY3RvcikK PiAgCS8qIDRLIHJlcXVpcmVzIGF0IGxlYXN0IEhTVyAqLwo+ICAJaWd0X3JlcXVpcmUoSVNfSEFT V0VMTChkZXZpZCkgfHwgaW50ZWxfZ2VuKGRldmlkKSA+PSA4KTsKPiAgCj4gLQlrbXN0ZXN0X2Vk aWRfYWRkXzRrKGlndF9rbXNfZ2V0X2Jhc2VfZWRpZCgpLCBFRElEX0xFTkdUSCwgJmVkaWQsCj4g LQkJCSAgICAmbGVuZ3RoKTsKPiAtCj4gKwllZGlkID0gaWd0X2ttc19nZXRfNGtfZWRpZCgpOwo+ ICAJa21zdGVzdF9mb3JjZV9lZGlkKGRybV9mZCwgY29ubmVjdG9yLCBlZGlkKTsKPiAgCj4gIAlp ZiAoIWttc3Rlc3RfZm9yY2VfY29ubmVjdG9yKGRybV9mZCwgY29ubmVjdG9yLCBGT1JDRV9DT05O RUNUT1JfT04pKQo+IEBAIC0xMzUsOCArMTMyLDYgQEAgaGRtaV9pbmplY3RfNGsoaW50IGRybV9m ZCwgZHJtTW9kZUNvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAKPiAgCWttc3Rlc3RfZm9yY2VfY29u bmVjdG9yKGRybV9mZCwgY29ubmVjdG9yLCBGT1JDRV9DT05ORUNUT1JfVU5TUEVDSUZJRUQpOwo+ ICAJa21zdGVzdF9mb3JjZV9lZGlkKGRybV9mZCwgY29ubmVjdG9yLCBOVUxMKTsKPiAtCj4gLQlm cmVlKGVkaWQpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZAo+IC0tIAo+IDIuMjIuMAoKLS0gClZp bGxlIFN5cmrDpGzDpApJbnRlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1k ZXY=