From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH 01/10] drm/i915: Extract check_luts() Date: Wed, 20 Mar 2019 15:48:46 -0700 Message-ID: <20190320224846.GY4773@mdroper-desk.amr.corp.intel.com> References: <20190318161317.30918-1-ville.syrjala@linux.intel.com> <20190318161317.30918-2-ville.syrjala@linux.intel.com> <20190319215938.GT4773@mdroper-desk.amr.corp.intel.com> <20190320144131.GL3888@intel.com> <20190320151455.GX4773@mdroper-desk.amr.corp.intel.com> <20190320153107.GQ3888@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id F0A4889D64 for ; Wed, 20 Mar 2019 22:48:46 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190320153107.GQ3888@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBNYXIgMjAsIDIwMTkgYXQgMDU6MzE6MDdQTSArMDIwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIFdlZCwgTWFyIDIwLCAyMDE5IGF0IDA4OjE0OjU2QU0gLTA3MDAsIE1hdHQg Um9wZXIgd3JvdGU6Cj4gPiBPbiBXZWQsIE1hciAyMCwgMjAxOSBhdCAwNDo0MTozMVBNICswMjAw LCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4gPiA+IE9uIFR1ZSwgTWFyIDE5LCAyMDE5IGF0IDAy OjU5OjM4UE0gLTA3MDAsIE1hdHQgUm9wZXIgd3JvdGU6Cj4gPiA+ID4gT24gTW9uLCBNYXIgMTgs IDIwMTkgYXQgMDY6MTM6MDhQTSArMDIwMCwgVmlsbGUgU3lyamFsYSB3cm90ZToKPiA+ID4gPiA+ IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4g PiA+ID4gPiAKPiA+ID4gPiA+IEluIHByZXBhcnRpb24gZm9yIHBlci1wbGF0Zm9ybSBjb2xvcl9j aGVjaygpIGZ1bmN0aW9ucyBleHRyYWN0IHRoZQo+ID4gPiA+ID4gY29tbW9uIGNvZGUgaW50byBh IHNlcGFyYXRlIGZ1bmN0aW9uLgo+ID4gPiA+ID4gCj4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBW aWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gPiA+ID4g LS0tCj4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYyB8IDY4ICsr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQo+ID4gPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCA0 MCBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKPiA+ID4gPiA+IAo+ID4gPiA+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCj4gPiA+ID4gPiBpbmRleCA0NjdmZDFhMTYzMGMuLmI2 YTk5MmE1YjE0ZiAxMDA2NDQKPiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2NvbG9yLmMKPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Nv bG9yLmMKPiA+ID4gPiA+IEBAIC03NzEsNiArNzcxLDM4IEBAIHN0YXRpYyBpbnQgY2hlY2tfbHV0 X3NpemUoY29uc3Qgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpsdXQsIGludCBleHBlY3RlZCkK PiA+ID4gPiA+ICAJcmV0dXJuIDA7Cj4gPiA+ID4gPiAgfQo+ID4gPiA+ID4gIAo+ID4gPiA+ID4g K3N0YXRpYyBpbnQgY2hlY2tfbHV0cyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSkKPiA+ID4gPiA+ICt7Cj4gPiA+ID4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOwo+ID4gPiA+ ID4gKwljb25zdCBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmdhbW1hX2x1dCA9IGNydGNfc3Rh dGUtPmJhc2UuZ2FtbWFfbHV0Owo+ID4gPiA+ID4gKwljb25zdCBzdHJ1Y3QgZHJtX3Byb3BlcnR5 X2Jsb2IgKmRlZ2FtbWFfbHV0ID0gY3J0Y19zdGF0ZS0+YmFzZS5kZWdhbW1hX2x1dDsKPiA+ID4g PiA+ICsJaW50IGdhbW1hX2xlbmd0aCwgZGVnYW1tYV9sZW5ndGg7Cj4gPiA+ID4gPiArCXUzMiBn YW1tYV90ZXN0cywgZGVnYW1tYV90ZXN0czsKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICsJLyogQWx3 YXlzIGFsbG93IGxlZ2FjeSBnYW1tYSBMVVQgd2l0aCBubyBmdXJ0aGVyIGNoZWNraW5nLiAqLwo+ ID4gPiA+ID4gKwlpZiAoY3J0Y19zdGF0ZV9pc19sZWdhY3lfZ2FtbWEoY3J0Y19zdGF0ZSkpCj4g PiA+ID4gPiArCQlyZXR1cm4gMDsKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICsJLyogQzggbmVlZHMg dGhlIGxlZ2FjeSBMVVQgYWxsIHRvIGl0c2VsZiAqLwo+ID4gPiA+ID4gKwlpZiAoY3J0Y19zdGF0 ZS0+YzhfcGxhbmVzKQo+ID4gPiA+ID4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gPiA+ID4gCj4gPiA+ ID4gRG8gd2UgbmVlZCB0byB0ZXN0IGZvciBub24tTlVMTCBnYW1tYV9sdXQgaGVyZT8KPiA+ID4g Cj4gPiA+IEZvciBjOD8gV2UgYWxyZWFkeSBjaGVja2VkIGNydGNfc3RhdGVfaXNfbGVnYWN5X2dh bW1hKCkgYWJvdmUuCj4gPiA+IAo+ID4gCj4gPiBJZiBnYW1tYV9sdXQgPT0gTlVMTCwgY3J0Y19z dGF0ZV9pc19sZWdhY3lfZ2FtbWEoKSB3aWxsIHJldHVybiBmYWxzZSwgc28KPiA+IHdlJ2xsIHdp bmQgdXAgcmVqZWN0aW5nIGFueSBzZXR1cCBpbnZvbHZpbmcgYzggcGxhbmVzIHdpdGggLUVJTlZB TCwKPiA+IHdoaWNoIEkgZG9uJ3QgdGhpbmsgaXMgd2hhdCB3ZSB3YW50ZWQuCj4gCj4gSSB0aGlu ayBpdCBpcy4gYzggc2Nhbm91dCBhbHdheXMgdXNlcyB0aGUgbGVnYWN5IExVVCwgc28gaXQgaGFk IAo+IGJldHRlciBiZSBwb3B1bGF0ZWQgd2l0aCB0aGUgY29ycmVjdCBkYXRhIG9yIGVsc2Ugd2Un bGwgcmlzawo+IHByb2R1Y2luZyBnYXJiYWdlIG9uIHRoZSBkaXNwbGF5LgoKQWgsIG1ha2VzIHNl bnNlIG5vdy4gIEkgdGhpbmsgSSBtaXNpbnRlcnByZXRlZCB0aGUgImFsbCB0byBpdHNlbGYiIHBh cnQKb2YgdGhlIGNvbW1lbnQuICBNYXliZSBtYWtpbmcgdGhpcyBjb25kaXRpb24gYW4gJ2Vsc2Ug aWYnIGFuZCByZXdvcmRpbmcKdGhlIGNvbW1lbnQgdG8gc29tZXRoaW5nIGxpa2UgIkM4IHJlbGll cyBvbiBpdHMgcGFsZXR0ZSBiZWluZyBzdG9yZWQgaW4KdGhlIGxlZ2FjeSBMVVQiIHdvdWxkIG1h a2UgaXQgbW9yZSBvYnZpb3VzLgoKRWl0aGVyIHdheSwKClJldmlld2VkLWJ5OiBNYXR0IFJvcGVy IDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgoKPiAKPiA+IAo+ID4gCj4gPiBNYXR0Cj4gPiAK PiA+IAo+ID4gPiA+IAo+ID4gPiA+IFRoZSBsb2dpYyBpcyB0aGUgc2FtZSBhcyBiZWZvcmUgeW91 ciBwYXRjaCwgc28gZWl0aGVyIHdlIGFscmVhZHkgaGFkIGEKPiA+ID4gPiBwcmUtZXhpc3Rpbmcg YnVnIG9yLCBtb3JlIGxpa2VseSwgSSdtIG92ZXJsb29raW5nIHNvbWV0aGluZyBvYnZpb3VzLgo+ ID4gPiA+IAo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKwlkZWdhbW1hX2xlbmd0aCA9IElOVEVMX0lO Rk8oZGV2X3ByaXYpLT5jb2xvci5kZWdhbW1hX2x1dF9zaXplOwo+ID4gPiA+ID4gKwlnYW1tYV9s ZW5ndGggPSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Y29sb3IuZ2FtbWFfbHV0X3NpemU7Cj4gPiA+ ID4gPiArCWRlZ2FtbWFfdGVzdHMgPSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Y29sb3IuZGVnYW1t YV9sdXRfdGVzdHM7Cj4gPiA+ID4gPiArCWdhbW1hX3Rlc3RzID0gSU5URUxfSU5GTyhkZXZfcHJp diktPmNvbG9yLmdhbW1hX2x1dF90ZXN0czsKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICsJaWYgKGNo ZWNrX2x1dF9zaXplKGRlZ2FtbWFfbHV0LCBkZWdhbW1hX2xlbmd0aCkgfHwKPiA+ID4gPiA+ICsJ ICAgIGNoZWNrX2x1dF9zaXplKGdhbW1hX2x1dCwgZ2FtbWFfbGVuZ3RoKSkKPiA+ID4gPiA+ICsJ CXJldHVybiAtRUlOVkFMOwo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKwlpZiAoZHJtX2NvbG9yX2x1 dF9jaGVjayhkZWdhbW1hX2x1dCwgZGVnYW1tYV90ZXN0cykgfHwKPiA+ID4gPiA+ICsJICAgIGRy bV9jb2xvcl9sdXRfY2hlY2soZ2FtbWFfbHV0LCBnYW1tYV90ZXN0cykpCj4gPiA+ID4gPiArCQly ZXR1cm4gLUVJTlZBTDsKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICsJcmV0dXJuIDA7Cj4gPiA+ID4g PiArfQo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gIHN0YXRpYyB1MzIgY2h2X2NnbV9tb2RlKGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4gPiA+ID4gIHsKPiA+ID4g PiA+ICAJdTMyIGNnbV9tb2RlID0gMDsKPiA+ID4gPiA+IEBAIC03OTQsMTkgKzgyNiwxMSBAQCBp bnQgaW50ZWxfY29sb3JfY2hlY2soc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUp Cj4gPiA+ID4gPiAgCWNvbnN0IHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqZ2FtbWFfbHV0ID0g Y3J0Y19zdGF0ZS0+YmFzZS5nYW1tYV9sdXQ7Cj4gPiA+ID4gPiAgCWNvbnN0IHN0cnVjdCBkcm1f cHJvcGVydHlfYmxvYiAqZGVnYW1tYV9sdXQgPSBjcnRjX3N0YXRlLT5iYXNlLmRlZ2FtbWFfbHV0 Owo+ID4gPiA+ID4gIAlib29sIGxpbWl0ZWRfY29sb3JfcmFuZ2UgPSBmYWxzZTsKPiA+ID4gPiA+ IC0JaW50IGdhbW1hX2xlbmd0aCwgZGVnYW1tYV9sZW5ndGg7Cj4gPiA+ID4gPiAtCXUzMiBnYW1t YV90ZXN0cywgZGVnYW1tYV90ZXN0czsKPiA+ID4gPiA+ICAJaW50IHJldDsKPiA+ID4gPiA+ICAK PiA+ID4gPiA+IC0JZGVnYW1tYV9sZW5ndGggPSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Y29sb3Iu ZGVnYW1tYV9sdXRfc2l6ZTsKPiA+ID4gPiA+IC0JZ2FtbWFfbGVuZ3RoID0gSU5URUxfSU5GTyhk ZXZfcHJpdiktPmNvbG9yLmdhbW1hX2x1dF9zaXplOwo+ID4gPiA+ID4gLQlkZWdhbW1hX3Rlc3Rz ID0gSU5URUxfSU5GTyhkZXZfcHJpdiktPmNvbG9yLmRlZ2FtbWFfbHV0X3Rlc3RzOwo+ID4gPiA+ ID4gLQlnYW1tYV90ZXN0cyA9IElOVEVMX0lORk8oZGV2X3ByaXYpLT5jb2xvci5nYW1tYV9sdXRf dGVzdHM7Cj4gPiA+ID4gPiAtCj4gPiA+ID4gPiAtCS8qIEM4IG5lZWRzIHRoZSBsZWdhY3kgTFVU IGFsbCB0byBpdHNlbGYgKi8KPiA+ID4gPiA+IC0JaWYgKGNydGNfc3RhdGUtPmM4X3BsYW5lcyAm Jgo+ID4gPiA+ID4gLQkgICAgIWNydGNfc3RhdGVfaXNfbGVnYWN5X2dhbW1hKGNydGNfc3RhdGUp KQo+ID4gPiA+ID4gLQkJcmV0dXJuIC1FSU5WQUw7Cj4gPiA+ID4gPiArCXJldCA9IGNoZWNrX2x1 dHMoY3J0Y19zdGF0ZSk7Cj4gPiA+ID4gPiArCWlmIChyZXQpCj4gPiA+ID4gPiArCQlyZXR1cm4g cmV0Owo+ID4gPiA+ID4gIAo+ID4gPiA+ID4gIAljcnRjX3N0YXRlLT5nYW1tYV9lbmFibGUgPSAo Z2FtbWFfbHV0IHx8IGRlZ2FtbWFfbHV0KSAmJgo+ID4gPiA+ID4gIAkJIWNydGNfc3RhdGUtPmM4 X3BsYW5lczsKPiA+ID4gPiA+IEBAIC04MjgsMjUgKzg1MiwxMCBAQCBpbnQgaW50ZWxfY29sb3Jf Y2hlY2soc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPiA+ID4gPiAgCWlm IChJU19DSEVSUllWSUVXKGRldl9wcml2KSkKPiA+ID4gPiA+ICAJCWNydGNfc3RhdGUtPmNnbV9t b2RlID0gY2h2X2NnbV9tb2RlKGNydGNfc3RhdGUpOwo+ID4gPiA+ID4gIAo+ID4gPiA+ID4gLQkv KiBBbHdheXMgYWxsb3cgbGVnYWN5IGdhbW1hIExVVCB3aXRoIG5vIGZ1cnRoZXIgY2hlY2tpbmcu ICovCj4gPiA+ID4gPiAgCWlmICghY3J0Y19zdGF0ZS0+Z2FtbWFfZW5hYmxlIHx8Cj4gPiA+ID4g PiAtCSAgICBjcnRjX3N0YXRlX2lzX2xlZ2FjeV9nYW1tYShjcnRjX3N0YXRlKSkgewo+ID4gPiA+ ID4gKwkgICAgY3J0Y19zdGF0ZV9pc19sZWdhY3lfZ2FtbWEoY3J0Y19zdGF0ZSkpCj4gPiA+ID4g PiAgCQljcnRjX3N0YXRlLT5nYW1tYV9tb2RlID0gR0FNTUFfTU9ERV9NT0RFXzhCSVQ7Cj4gPiA+ ID4gPiAtCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSAmJgo+ID4gPiA+ID4gLQkJICAg IGNydGNfc3RhdGUtPmdhbW1hX2VuYWJsZSkKPiA+ID4gPiA+IC0JCQljcnRjX3N0YXRlLT5nYW1t YV9tb2RlIHw9IFBPU1RfQ1NDX0dBTU1BX0VOQUJMRTsKPiA+ID4gPiA+IC0JCXJldHVybiAwOwo+ ID4gPiA+ID4gLQl9Cj4gPiA+ID4gPiAtCj4gPiA+ID4gPiAtCWlmIChjaGVja19sdXRfc2l6ZShk ZWdhbW1hX2x1dCwgZGVnYW1tYV9sZW5ndGgpIHx8Cj4gPiA+ID4gPiAtCSAgICBjaGVja19sdXRf c2l6ZShnYW1tYV9sdXQsIGdhbW1hX2xlbmd0aCkpCj4gPiA+ID4gPiAtCQlyZXR1cm4gLUVJTlZB TDsKPiA+ID4gPiA+IC0KPiA+ID4gPiA+IC0JaWYgKGRybV9jb2xvcl9sdXRfY2hlY2soZGVnYW1t YV9sdXQsIGRlZ2FtbWFfdGVzdHMpIHx8Cj4gPiA+ID4gPiAtCSAgICBkcm1fY29sb3JfbHV0X2No ZWNrKGdhbW1hX2x1dCwgZ2FtbWFfdGVzdHMpKQo+ID4gPiA+ID4gLQkJcmV0dXJuIC1FSU5WQUw7 Cj4gPiA+ID4gPiAtCj4gPiA+ID4gPiAtCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExKQo+ ID4gPiA+ID4gKwllbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExKQo+ID4gPiA+ID4g IAkJY3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSA9IEdBTU1BX01PREVfTU9ERV8xMEJJVCB8Cj4gPiA+ ID4gPiAgCQkJCQkgUFJFX0NTQ19HQU1NQV9FTkFCTEUgfAo+ID4gPiA+ID4gIAkJCQkJIFBPU1Rf Q1NDX0dBTU1BX0VOQUJMRTsKPiA+ID4gPiAKPiA+ID4gPiBTaG91bGQgd2UgZHJvcCB0aGUgR0FN TUFfRU5BQkxFIGhlcmUgYW5kIGp1c3QgcmVseSBvbiB0aGUgbmV3IGNoZWNrCj4gPiA+ID4geW91 J3JlIGFkZGluZyBiZWxvdyB0byBoYW5kbGUgaXQ/Cj4gPiA+IAo+ID4gPiBUaGlzIHdpbGwgZ2V0 IHJld3JpdHRlbiBlbnRpcmVseSBpbiBmb2xsb3dpbmcgcGF0Y2hlcywgc28gSSBmaWd1cmVkIEkn ZAo+ID4gPiBqdXN0IGtlZXAgdGhpcyBwYXRjaCBtaW5pbWFsLgo+ID4gPiAKPiA+ID4gPiAKPiA+ ID4gPiAKPiA+ID4gPiBNYXR0Cj4gPiA+ID4gCj4gPiA+ID4gPiBAQCAtODU4LDYgKzg2Nyw5IEBA IGludCBpbnRlbF9jb2xvcl9jaGVjayhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKPiA+ID4gPiA+ICAJCWNydGNfc3RhdGUtPmdhbW1hX21vZGUgPSBHQU1NQV9NT0RFX01PREVf OEJJVDsKPiA+ID4gPiA+ICAKPiA+ID4gPiA+ICAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0g MTEpIHsKPiA+ID4gPiA+ICsJCWlmIChjcnRjX3N0YXRlLT5nYW1tYV9lbmFibGUpCj4gPiA+ID4g PiArCQkJY3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSB8PSBQT1NUX0NTQ19HQU1NQV9FTkFCTEU7Cj4g PiA+ID4gPiArCj4gPiA+ID4gPiAgCQlpZiAoY3J0Y19zdGF0ZS0+b3V0cHV0X2Zvcm1hdCAhPSBJ TlRFTF9PVVRQVVRfRk9STUFUX1JHQiB8fAo+ID4gPiA+ID4gIAkJICAgIGNydGNfc3RhdGUtPmxp bWl0ZWRfY29sb3JfcmFuZ2UpCj4gPiA+ID4gPiAgCQkJY3J0Y19zdGF0ZS0+Y3NjX21vZGUgfD0g SUNMX09VVFBVVF9DU0NfRU5BQkxFOwo+ID4gPiA+ID4gLS0gCj4gPiA+ID4gPiAyLjE5LjIKPiA+ ID4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+IC0tIAo+ID4gPiA+IE1hdHQgUm9wZXIKPiA+ID4gPiBH cmFwaGljcyBTb2Z0d2FyZSBFbmdpbmVlcgo+ID4gPiA+IElvVEcgUGxhdGZvcm0gRW5hYmxpbmcg JiBEZXZlbG9wbWVudAo+ID4gPiA+IEludGVsIENvcnBvcmF0aW9uCj4gPiA+ID4gKDkxNikgMzU2 LTI3OTUKPiA+ID4gCj4gPiA+IC0tIAo+ID4gPiBWaWxsZSBTeXJqw6Rsw6QKPiA+ID4gSW50ZWwK PiA+IAo+ID4gLS0gCj4gPiBNYXR0IFJvcGVyCj4gPiBHcmFwaGljcyBTb2Z0d2FyZSBFbmdpbmVl cgo+ID4gSW9URyBQbGF0Zm9ybSBFbmFibGluZyAmIERldmVsb3BtZW50Cj4gPiBJbnRlbCBDb3Jw b3JhdGlvbgo+ID4gKDkxNikgMzU2LTI3OTUKPiAKPiAtLSAKPiBWaWxsZSBTeXJqw6Rsw6QKPiBJ bnRlbAoKLS0gCk1hdHQgUm9wZXIKR3JhcGhpY3MgU29mdHdhcmUgRW5naW5lZXIKSW9URyBQbGF0 Zm9ybSBFbmFibGluZyAmIERldmVsb3BtZW50CkludGVsIENvcnBvcmF0aW9uCig5MTYpIDM1Ni0y Nzk1Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==