From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x341.google.com (mail-wm1-x341.google.com [IPv6:2a00:1450:4864:20::341]) by gabe.freedesktop.org (Postfix) with ESMTPS id 25E686E897 for ; Wed, 3 Apr 2019 10:50:39 +0000 (UTC) Received: by mail-wm1-x341.google.com with SMTP id w15so7594605wmc.3 for ; Wed, 03 Apr 2019 03:50:39 -0700 (PDT) Date: Wed, 3 Apr 2019 12:50:34 +0200 From: Daniel Vetter Message-ID: <20190403105034.GZ2665@phenom.ffwll.local> References: <20190402163348.4680-1-ville.syrjala@linux.intel.com> <20190402163348.4680-2-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190402163348.4680-2-ville.syrjala@linux.intel.com> Subject: Re: [igt-dev] [PATCH i-g-t 2/6] tests/kms_color: Wrap LUTs in a gamma_lut_t struct 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: Ville Syrjala Cc: igt-dev@lists.freedesktop.org List-ID: T24gVHVlLCBBcHIgMDIsIDIwMTkgYXQgMDc6MzM6NDRQTSArMDMwMCwgVmlsbGUgU3lyamFsYSB3 cm90ZToKPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+IAo+IFRvIG1ha2UgbGlmZSBlYXNpZXIgbGV0J3Mgd3JhcCB0aGUgTFVUcyBpbiBhIHNt YWxsIHN0cnVjdC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5 cmphbGFAbGludXguaW50ZWwuY29tPgo+IC0tLQo+ICB0ZXN0cy9rbXNfY29sb3IuYyB8IDExOSAr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBj aGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspLCA1MyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0 IGEvdGVzdHMva21zX2NvbG9yLmMgYi90ZXN0cy9rbXNfY29sb3IuYwo+IGluZGV4IDFlNWE1ZDMy OWJlYS4uNDNlNTlkZDQyYjBiIDEwMDY0NAo+IC0tLSBhL3Rlc3RzL2ttc19jb2xvci5jCj4gKysr IGIvdGVzdHMva21zX2NvbG9yLmMKPiBAQCAtNDcsNiArNDcsMTAgQEAgdHlwZWRlZiBzdHJ1Y3Qg ewo+ICAJdWludDY0X3QgZ2FtbWFfbHV0X3NpemU7Cj4gIH0gZGF0YV90Owo+ICAKPiArdHlwZWRl ZiBzdHJ1Y3Qgewo+ICsJaW50IHNpemU7Cj4gKwlkb3VibGUgY29lZmZzW107Cj4gK30gZ2FtbWFf bHV0X3Q7Cj4gIAo+ICBzdGF0aWMgdm9pZCBwYWludF9ncmFkaWVudF9yZWN0YW5nbGVzKGRhdGFf dCAqZGF0YSwKPiAgCQkJCSAgICAgIGRybU1vZGVNb2RlSW5mbyAqbW9kZSwKPiBAQCAtMTA2LDU1 ICsxMTAsNjggQEAgc3RhdGljIHZvaWQgcGFpbnRfcmVjdGFuZ2xlcyhkYXRhX3QgKmRhdGEsCj4g IAlpZ3RfcHV0X2NhaXJvX2N0eChkYXRhLT5kcm1fZmQsIGZiLCBjcik7Cj4gIH0KPiAgCj4gLXN0 YXRpYyBkb3VibGUgKmdlbmVyYXRlX3RhYmxlKHVpbnQzMl90IGx1dF9zaXplLCBkb3VibGUgZXhw KQo+ICtzdGF0aWMgZ2FtbWFfbHV0X3QgKmFsbG9jX2x1dChpbnQgbHV0X3NpemUpCj4gIHsKPiAt CWRvdWJsZSAqY29lZmZzOwo+IC0JdWludDMyX3QgaTsKPiArCWdhbW1hX2x1dF90ICpnYW1tYTsK PiAgCj4gIAlpZ3RfYXNzZXJ0X2x0KDAsIGx1dF9zaXplKTsKPiAgCj4gLQljb2VmZnMgPSBtYWxs b2Moc2l6ZW9mKGRvdWJsZSkgKiBsdXRfc2l6ZSk7Cj4gKwlnYW1tYSA9IG1hbGxvYyhzaXplb2Yo KmdhbW1hKSArIGx1dF9zaXplICogc2l6ZW9mKGdhbW1hLT5jb2VmZnNbMF0pKTsKCmlndF9hc3Nl cnQoZ2FtbWEpOyBpcyBtaXNzaW5nIGhlcmUgSSB0aGluay4KCj4gKwlnYW1tYS0+c2l6ZSA9IGx1 dF9zaXplOwo+ICAKPiAtCWZvciAoaSA9IDA7IGkgPCBsdXRfc2l6ZTsgaSsrKQo+IC0JCWNvZWZm c1tpXSA9IHBvd2YoKGRvdWJsZSkgaSAqIDEuMCAvIChkb3VibGUpIChsdXRfc2l6ZSAtIDEpLCBl eHApOwo+ICsJcmV0dXJuIGdhbW1hOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBmcmVlX2x1dChn YW1tYV9sdXRfdCAqZ2FtbWEpCj4gK3sKPiArCWlmICghZ2FtbWEpCj4gKwkJcmV0dXJuOwo+ICAK PiAtCXJldHVybiBjb2VmZnM7Cj4gKwlmcmVlKGdhbW1hKTsKPiAgfQo+ICAKPiAtc3RhdGljIGRv dWJsZSAqZ2VuZXJhdGVfdGFibGVfbWF4KHVpbnQzMl90IGx1dF9zaXplKQo+ICtzdGF0aWMgZ2Ft bWFfbHV0X3QgKmdlbmVyYXRlX3RhYmxlKGludCBsdXRfc2l6ZSwgZG91YmxlIGV4cCkKPiAgewo+ IC0JZG91YmxlICpjb2VmZnM7Cj4gLQl1aW50MzJfdCBpOwo+ICsJZ2FtbWFfbHV0X3QgKmdhbW1h ID0gYWxsb2NfbHV0KGx1dF9zaXplKTsKPiArCWludCBpOwo+ICAKPiAtCWlndF9hc3NlcnRfbHQo MCwgbHV0X3NpemUpOwo+ICsJZ2FtbWEtPmNvZWZmc1swXSA9IDAuMDsKPiArCWZvciAoaSA9IDE7 IGkgPCBsdXRfc2l6ZTsgaSsrKQo+ICsJCWdhbW1hLT5jb2VmZnNbaV0gPSBwb3coaSAqIDEuMCAv IChsdXRfc2l6ZSAtIDEpLCBleHApOwo+ICsKPiArCXJldHVybiBnYW1tYTsKPiArfQo+ICAKPiAt CWNvZWZmcyA9IG1hbGxvYyhzaXplb2YoZG91YmxlKSAqIGx1dF9zaXplKTsKPiAtCWNvZWZmc1sw XSA9IDAuMDsKPiArc3RhdGljIGdhbW1hX2x1dF90ICpnZW5lcmF0ZV90YWJsZV9tYXgoaW50IGx1 dF9zaXplKQo+ICt7Cj4gKwlnYW1tYV9sdXRfdCAqZ2FtbWEgPSBhbGxvY19sdXQobHV0X3NpemUp Owo+ICsJaW50IGk7Cj4gKwo+ICsJZ2FtbWEtPmNvZWZmc1swXSA9IDAuMDsKPiAgCWZvciAoaSA9 IDE7IGkgPCBsdXRfc2l6ZTsgaSsrKQo+IC0JCWNvZWZmc1tpXSA9IDEuMDsKPiArCQlnYW1tYS0+ Y29lZmZzW2ldID0gMS4wOwo+ICAKPiAtCXJldHVybiBjb2VmZnM7Cj4gKwlyZXR1cm4gZ2FtbWE7 Cj4gIH0KPiAgCj4gLXN0YXRpYyBkb3VibGUgKmdlbmVyYXRlX3RhYmxlX3plcm8odWludDMyX3Qg bHV0X3NpemUpCj4gK3N0YXRpYyBnYW1tYV9sdXRfdCAqZ2VuZXJhdGVfdGFibGVfemVybyhpbnQg bHV0X3NpemUpCj4gIHsKPiAtCWRvdWJsZSAqY29lZmZzID0gbWFsbG9jKHNpemVvZihkb3VibGUp ICogbHV0X3NpemUpOwo+IC0JdWludDMyX3QgaTsKPiArCWdhbW1hX2x1dF90ICpnYW1tYSA9IGFs bG9jX2x1dChsdXRfc2l6ZSk7Cj4gKwlpbnQgaTsKPiAgCj4gIAlmb3IgKGkgPSAwOyBpIDwgbHV0 X3NpemU7IGkrKykKPiAtCQljb2VmZnNbaV0gPSAwLjA7Cj4gKwkJZ2FtbWEtPmNvZWZmc1tpXSA9 IDAuMDsKPiAgCj4gLQlyZXR1cm4gY29lZmZzOwo+ICsJcmV0dXJuIGdhbW1hOwo+ICB9Cj4gIAo+ ICBzdGF0aWMgc3RydWN0IGRybV9jb2xvcl9sdXQgKmNvZWZmc190b19sdXQoZGF0YV90ICpkYXRh LAo+IC0JCQkJCSAgIGNvbnN0IGRvdWJsZSAqY29lZmZpY2llbnRzLAo+IC0JCQkJCSAgIHVpbnQz Ml90IGx1dF9zaXplLAo+ICsJCQkJCSAgIGNvbnN0IGdhbW1hX2x1dF90ICpnYW1tYSwKPiAgCQkJ CQkgICB1aW50MzJfdCBjb2xvcl9kZXB0aCwKPiAgCQkJCQkgICBpbnQgb2ZmKQo+ICB7Cj4gIAlz dHJ1Y3QgZHJtX2NvbG9yX2x1dCAqbHV0Owo+IC0JdWludDMyX3QgaTsKPiArCWludCBpLCBsdXRf c2l6ZSA9IGdhbW1hLT5zaXplOwo+ICAJdWludDMyX3QgbWF4X3ZhbHVlID0gKDEgPDwgMTYpIC0g MTsKPiAgCXVpbnQzMl90IG1hc2s7Cj4gIAo+IEBAIC0xNjgsNyArMTg1LDcgQEAgc3RhdGljIHN0 cnVjdCBkcm1fY29sb3JfbHV0ICpjb2VmZnNfdG9fbHV0KGRhdGFfdCAqZGF0YSwKPiAgCWlmIChJ U19DSEVSUllWSUVXKGRhdGEtPmRldmlkKSkKPiAgCQlsdXRfc2l6ZSAtPSAxOwo+ICAJZm9yIChp ID0gMDsgaSA8IGx1dF9zaXplOyBpKyspIHsKPiAtCQl1aW50MzJfdCB2ID0gKGNvZWZmaWNpZW50 c1tpXSAqIG1heF92YWx1ZSk7Cj4gKwkJdWludDMyX3QgdiA9IChnYW1tYS0+Y29lZmZzW2ldICog bWF4X3ZhbHVlKTsKPiAgCj4gIAkJLyoKPiAgCQkgKiBIYXJkd2FyZSBtaWdodCBlbmNvZGUgY29s b3JzIG9uIGEgZGlmZmVyZW50IG51bWJlciBvZiBiaXRzCj4gQEAgLTE5MywxMyArMjEwLDExIEBA IHN0YXRpYyBzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqY29lZmZzX3RvX2x1dChkYXRhX3QgKmRhdGEs Cj4gIAo+ICBzdGF0aWMgdm9pZCBzZXRfZGVnYW1tYShkYXRhX3QgKmRhdGEsCj4gIAkJCWlndF9w aXBlX3QgKnBpcGUsCj4gLQkJCWNvbnN0IGRvdWJsZSAqY29lZmZpY2llbnRzKQo+ICsJCQljb25z dCBnYW1tYV9sdXRfdCAqZ2FtbWEpCj4gIHsKPiAtCXNpemVfdCBzaXplID0gc2l6ZW9mKHN0cnVj dCBkcm1fY29sb3JfbHV0KSAqIGRhdGEtPmRlZ2FtbWFfbHV0X3NpemU7Cj4gLQlzdHJ1Y3QgZHJt X2NvbG9yX2x1dCAqbHV0ID0gY29lZmZzX3RvX2x1dChkYXRhLAo+IC0JCQkJCQkgICBjb2VmZmlj aWVudHMsCj4gLQkJCQkJCSAgIGRhdGEtPmRlZ2FtbWFfbHV0X3NpemUsCj4gLQkJCQkJCSAgIGRh dGEtPmNvbG9yX2RlcHRoLCAwKTsKPiArCXNpemVfdCBzaXplID0gc2l6ZW9mKHN0cnVjdCBkcm1f Y29sb3JfbHV0KSAqIGdhbW1hLT5zaXplOwo+ICsJc3RydWN0IGRybV9jb2xvcl9sdXQgKmx1dCA9 IGNvZWZmc190b19sdXQoZGF0YSwgZ2FtbWEsCj4gKwkJCQkJCSAgZGF0YS0+Y29sb3JfZGVwdGgs IDApOwo+ICAKPiAgCWlndF9waXBlX29ial9yZXBsYWNlX3Byb3BfYmxvYihwaXBlLCBJR1RfQ1JU Q19ERUdBTU1BX0xVVCwgbHV0LCBzaXplKTsKPiAgCj4gQEAgLTIwOCwxNSArMjIzLDEzIEBAIHN0 YXRpYyB2b2lkIHNldF9kZWdhbW1hKGRhdGFfdCAqZGF0YSwKPiAgCj4gIHN0YXRpYyB2b2lkIHNl dF9nYW1tYShkYXRhX3QgKmRhdGEsCj4gIAkJICAgICAgaWd0X3BpcGVfdCAqcGlwZSwKPiAtCQkg ICAgICBjb25zdCBkb3VibGUgKmNvZWZmaWNpZW50cykKPiArCQkgICAgICBjb25zdCBnYW1tYV9s dXRfdCAqZ2FtbWEpCj4gIHsKPiAtCXNpemVfdCBzaXplID0gc2l6ZW9mKHN0cnVjdCBkcm1fY29s b3JfbHV0KSAqIGRhdGEtPmdhbW1hX2x1dF9zaXplOwo+IC0Jc3RydWN0IGRybV9jb2xvcl9sdXQg Kmx1dCA9IGNvZWZmc190b19sdXQoZGF0YSwKPiAtCQkJCQkJICAgY29lZmZpY2llbnRzLAo+IC0J CQkJCQkgICBkYXRhLT5nYW1tYV9sdXRfc2l6ZSwKPiAtCQkJCQkJICAgZGF0YS0+Y29sb3JfZGVw dGgsIDApOwo+ICsJc2l6ZV90IHNpemUgPSBzaXplb2Yoc3RydWN0IGRybV9jb2xvcl9sdXQpICog Z2FtbWEtPnNpemU7Cj4gKwlzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqbHV0ID0gY29lZmZzX3RvX2x1 dChkYXRhLCBnYW1tYSwKPiArCQkJCQkJICBkYXRhLT5jb2xvcl9kZXB0aCwgMCk7Cj4gIAo+IC0J CWlndF9waXBlX29ial9yZXBsYWNlX3Byb3BfYmxvYihwaXBlLCBJR1RfQ1JUQ19HQU1NQV9MVVQs IGx1dCwgc2l6ZSk7Cj4gKwlpZ3RfcGlwZV9vYmpfcmVwbGFjZV9wcm9wX2Jsb2IocGlwZSwgSUdU X0NSVENfR0FNTUFfTFVULCBsdXQsIHNpemUpOwo+ICAKPiAgCWZyZWUobHV0KTsKPiAgfQo+IEBA IC0yNTIsOCArMjY1LDggQEAgc3RhdGljIHZvaWQgdGVzdF9waXBlX2RlZ2FtbWEoZGF0YV90ICpk YXRhLAo+ICAJCQkgICAgICBpZ3RfcGxhbmVfdCAqcHJpbWFyeSkKPiAgewo+ICAJaWd0X291dHB1 dF90ICpvdXRwdXQ7Cj4gLQlkb3VibGUgKmRlZ2FtbWFfbGluZWFyLCAqZGVnYW1tYV9mdWxsOwo+ IC0JZG91YmxlICpnYW1tYV9saW5lYXI7Cj4gKwlnYW1tYV9sdXRfdCAqZGVnYW1tYV9saW5lYXIs ICpkZWdhbW1hX2Z1bGw7Cj4gKwlnYW1tYV9sdXRfdCAqZ2FtbWFfbGluZWFyOwo+ICAJY29sb3Jf dCByZWRfZ3JlZW5fYmx1ZVtdID0gewo+ICAJCXsgMS4wLCAwLjAsIDAuMCB9LAo+ICAJCXsgMC4w LCAxLjAsIDAuMCB9LAo+IEBAIC0zMjMsOSArMzM2LDkgQEAgc3RhdGljIHZvaWQgdGVzdF9waXBl X2RlZ2FtbWEoZGF0YV90ICpkYXRhLAo+ICAJCWlndF9vdXRwdXRfc2V0X3BpcGUob3V0cHV0LCBQ SVBFX05PTkUpOwo+ICAJfQo+ICAKPiAtCWZyZWUoZGVnYW1tYV9saW5lYXIpOwo+IC0JZnJlZShk ZWdhbW1hX2Z1bGwpOwo+IC0JZnJlZShnYW1tYV9saW5lYXIpOwo+ICsJZnJlZV9sdXQoZGVnYW1t YV9saW5lYXIpOwo+ICsJZnJlZV9sdXQoZGVnYW1tYV9mdWxsKTsKPiArCWZyZWVfbHV0KGdhbW1h X2xpbmVhcik7Cj4gIH0KPiAgCj4gIC8qCj4gQEAgLTMzNiw3ICszNDksNyBAQCBzdGF0aWMgdm9p ZCB0ZXN0X3BpcGVfZ2FtbWEoZGF0YV90ICpkYXRhLAo+ICAJCQkgICAgaWd0X3BsYW5lX3QgKnBy aW1hcnkpCj4gIHsKPiAgCWlndF9vdXRwdXRfdCAqb3V0cHV0Owo+IC0JZG91YmxlICpnYW1tYV9m dWxsOwo+ICsJZ2FtbWFfbHV0X3QgKmdhbW1hX2Z1bGw7Cj4gIAljb2xvcl90IHJlZF9ncmVlbl9i bHVlW10gPSB7Cj4gIAkJeyAxLjAsIDAuMCwgMC4wIH0sCj4gIAkJeyAwLjAsIDEuMCwgMC4wIH0s Cj4gQEAgLTQwMiw3ICs0MTUsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X3BpcGVfZ2FtbWEoZGF0YV90 ICpkYXRhLAo+ICAJCWlndF9vdXRwdXRfc2V0X3BpcGUob3V0cHV0LCBQSVBFX05PTkUpOwo+ICAJ fQo+ICAKPiAtCWZyZWUoZ2FtbWFfZnVsbCk7Cj4gKwlmcmVlX2x1dChnYW1tYV9mdWxsKTsKPiAg fQo+ICAKPiAgLyoKPiBAQCAtNTMzLDcgKzU0Niw3IEBAIHN0YXRpYyB2b2lkIHRlc3RfcGlwZV9s ZWdhY3lfZ2FtbWFfcmVzZXQoZGF0YV90ICpkYXRhLAo+ICAJCTAuMCwgMC4wLCAxLjAKPiAgCX07 Cj4gIAlkcm1Nb2RlQ3J0YyAqa21zX2NydGM7Cj4gLQlkb3VibGUgKmRlZ2FtbWFfbGluZWFyLCAq Z2FtbWFfemVybzsKPiArCWdhbW1hX2x1dF90ICpkZWdhbW1hX2xpbmVhciwgKmdhbW1hX3plcm87 Cj4gIAl1aW50MzJfdCBpLCBsZWdhY3lfbHV0X3NpemU7Cj4gIAl1aW50MTZfdCAqcmVkX2x1dCwg KmdyZWVuX2x1dCwgKmJsdWVfbHV0Owo+ICAJc3RydWN0IGRybV9jb2xvcl9sdXQgKmx1dDsKPiBA QCAtNjIyLDggKzYzNSw4IEBAIHN0YXRpYyB2b2lkIHRlc3RfcGlwZV9sZWdhY3lfZ2FtbWFfcmVz ZXQoZGF0YV90ICpkYXRhLAo+ICAJCWlndF9vdXRwdXRfc2V0X3BpcGUob3V0cHV0LCBQSVBFX05P TkUpOwo+ICAJfQo+ICAKPiAtCWZyZWUoZGVnYW1tYV9saW5lYXIpOwo+IC0JZnJlZShnYW1tYV96 ZXJvKTsKPiArCWZyZWVfbHV0KGRlZ2FtbWFfbGluZWFyKTsKPiArCWZyZWVfbHV0KGdhbW1hX3pl cm8pOwo+ICB9Cj4gIAo+ICBzdGF0aWMgYm9vbCBjcmNfZXF1YWwoaWd0X2NyY190ICphLCBpZ3Rf Y3JjX3QgKmIpCj4gQEAgLTY0Niw3ICs2NTksNyBAQCBzdGF0aWMgYm9vbCB0ZXN0X3BpcGVfY3Rt KGRhdGFfdCAqZGF0YSwKPiAgCQkwLjAsIDEuMCwgMC4wLAo+ICAJCTAuMCwgMC4wLCAxLjAKPiAg CX07Cj4gLQlkb3VibGUgKmRlZ2FtbWFfbGluZWFyLCAqZ2FtbWFfbGluZWFyOwo+ICsJZ2FtbWFf bHV0X3QgKmRlZ2FtbWFfbGluZWFyLCAqZ2FtbWFfbGluZWFyOwo+ICAJaWd0X291dHB1dF90ICpv dXRwdXQ7Cj4gIAlib29sIHJldCA9IHRydWU7Cj4gIAo+IEBAIC03MDksOCArNzIyLDggQEAgc3Rh dGljIGJvb2wgdGVzdF9waXBlX2N0bShkYXRhX3QgKmRhdGEsCj4gIAkJaWd0X291dHB1dF9zZXRf cGlwZShvdXRwdXQsIFBJUEVfTk9ORSk7Cj4gIAl9Cj4gIAo+IC0JZnJlZShkZWdhbW1hX2xpbmVh cik7Cj4gLQlmcmVlKGdhbW1hX2xpbmVhcik7Cj4gKwlmcmVlX2x1dChkZWdhbW1hX2xpbmVhcik7 Cj4gKwlmcmVlX2x1dChnYW1tYV9saW5lYXIpOwo+ICAKPiAgCXJldHVybiByZXQ7Cj4gIH0KPiBA QCAtNzQ1LDcgKzc1OCw3IEBAIHN0YXRpYyB2b2lkIHRlc3RfcGlwZV9saW1pdGVkX3JhbmdlX2N0 bShkYXRhX3QgKmRhdGEsCj4gIAlkb3VibGUgY3RtW10gPSB7IDEuMCwgMC4wLCAwLjAsCj4gIAkJ CTAuMCwgMS4wLCAwLjAsCj4gIAkJCTAuMCwgMC4wLCAxLjAgfTsKPiAtCWRvdWJsZSAqZGVnYW1t YV9saW5lYXIsICpnYW1tYV9saW5lYXI7Cj4gKwlnYW1tYV9sdXRfdCAqZGVnYW1tYV9saW5lYXIs ICpnYW1tYV9saW5lYXI7Cj4gIAlpZ3Rfb3V0cHV0X3QgKm91dHB1dDsKPiAgCWJvb2wgaGFzX2Jy b2FkY2FzdF9yZ2Jfb3V0cHV0ID0gZmFsc2U7Cj4gIAo+IEBAIC04MTQsOCArODI3LDggQEAgc3Rh dGljIHZvaWQgdGVzdF9waXBlX2xpbWl0ZWRfcmFuZ2VfY3RtKGRhdGFfdCAqZGF0YSwKPiAgCQlp Z3RfYXNzZXJ0X2NyY19lcXVhbCgmY3JjX2Z1bGwsICZjcmNfbGltaXRlZCk7Cj4gIAl9Cj4gIAo+ IC0JZnJlZShnYW1tYV9saW5lYXIpOwo+IC0JZnJlZShkZWdhbW1hX2xpbmVhcik7Cj4gKwlmcmVl X2x1dChnYW1tYV9saW5lYXIpOwo+ICsJZnJlZV9sdXQoZGVnYW1tYV9saW5lYXIpOwo+ICAKPiAg CWlndF9yZXF1aXJlKGhhc19icm9hZGNhc3RfcmdiX291dHB1dCk7Cj4gIH0KCldpdGggdGhlIG5p dCBhZGRyZXNzZWQ6CgpSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBm ZndsbC5jaD4KCj4gLS0gCj4gMi4xOS4yCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPiBpZ3QtZGV2IG1haWxpbmcgbGlzdAo+IGlndC1kZXZAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pZ3QtZGV2CgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwg SW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRl dkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pZ3QtZGV2