From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [v5][PATCH 11/11] drm/i915: Add intel_color_lut_equal() to compare hw and sw gamma/degamma lut values Date: Tue, 7 May 2019 13:53:08 +0300 Message-ID: <20190507105308.GJ24299@intel.com> References: <1556989900-21972-1-git-send-email-swati2.sharma@intel.com> <1556989900-21972-12-git-send-email-swati2.sharma@intel.com> <20190506183308.GC24299@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8616A6E792 for ; Tue, 7 May 2019 10:53:13 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Sharma, Swati2" Cc: jani.nikula@intel.com, daniel.vetter@ffwll.ch, intel-gfx@lists.freedesktop.org, ankit.k.nautiyal@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBNYXkgMDcsIDIwMTkgYXQgMTI6Mjc6MDdBTSArMDUzMCwgU2hhcm1hLCBTd2F0aTIg d3JvdGU6Cj4gT24gMDctTWF5LTE5IDEyOjAzIEFNLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4g Cj4gPiBPbiBTYXQsIE1heSAwNCwgMjAxOSBhdCAxMDo0MTo0MFBNICswNTMwLCBTd2F0aSBTaGFy bWEgd3JvdGU6Cj4gPj4gdjM6IFJlYmFzZQo+ID4+IHY0OiAtUmVuYW1lZCBpbnRlbF9jb21wYXJl X2NvbG9yX2x1dCgpIHRvIGludGVsX2NvbG9yX2x1dF9lcXVhbCgpIFtKYW5pXQo+ID4+ICAgICAg LUFkZGVkIHRoZSBkZWZhdWx0IGxhYmVsIGFib3ZlIHRoZSBjb3JyZWN0IGxhYmVsIFtKYW5pXQo+ ID4+ICAgICAgLUNvcnJlY3RlZCBzbWF0Y2ggd2FybiAidmFyaWFibGUgZGVyZWZlcmVuY2VkIGJl Zm9yZSBjaGVjayIgW0RhbiBDYXJwZW50ZXJdCj4gPj4gdjU6IC1BZGRlZCBjb25kaXRpb24gKCFi bG9iMSAmJiAhYmxvYjIpIHJldHVybiB0cnVlIFtKYW5pXQo+ID4+ICAgICAgLUNhbGxlZCBQSVBF X0NPTkZfQ0hFQ0tfQ09MT1JfTFVUIGluc2lkZSBpZiAoIWFkanVzdCkgW0phbmldCj4gPj4gICAg ICAtQWRkZWQgI3VuZGVmIFBJUEVfQ09ORl9DSEVDS19DT0xPUl9MVVQgW0phbmldCj4gPj4KPiA+ PiBUaGVyZSBhcmUgZmV3IHRoaW5ncyB3cm9uZyBpbiB0aGlzIHBhdGNoOgo+ID4+IFsxXSBGb3Ig Y2h2IGJpdCBwcmVjaXNpb24gaXMgMTQsIG9uIHdoYXQgYmFzaXMgaXQgc2hvdWxkIGJlIGFzc2ln bmVkPwo+ID4gTGlrZSBldmVyeXRoaW5nIGVsc2UgaXQgd2lsbCBtb3JlIG9yIGxlc3MgYmUgYSBy ZXZlcnNlIG9mIHRoZQo+ID4gY29tcHV0ZSBzaWRlLiBGb3IgQ0hWIHdlIG5lZWQgdG8gbG9vayBh dCBjZ21fbW9kZSwgZ2FtbWFfZW5hYmxlLAo+ID4gZ2FtbWFfbW9kZSwgYW5kIGM4X3BsYW5lcy4g SG1tLiBXZSBhY3R1YWxseSBkb24ndCBoYXZlIHJlYWRvdXQgZm9yCj4gPiBjOF9wbGFuZXMgc28g SSBndWVzcyB3ZSdsbCBoYXZlIHRvIG1ha2Ugc29tZSBraW5kIG9mIGV4Y2VwdGlvbiBmb3IKPiA+ IHRoYXQgb25lLgo+IAo+IEJ5IHRoaXMgSSBtZWFudCB3YXMsIHNpbmNlIEkgYW0gYXNzaWduaW5n IGJpdF9wcmVjaXNpb24gb24gdGhlIGJhc2lzCj4gb2YgZ2FtbWFfbW9kZSBpbiB0aGUgY29tcGFy ZSBmdW5jdGlvbiBsaWtlCj4gKwljYXNlIEdBTU1BX01PREVfTU9ERV84QklUOgo+ICsJCWJpdF9w cmVjaXNpb24gPSA4Owo+IGV0Yy4gV2UgaGF2ZSA4QklULCAxMEJJVCBhbmQgMTJCSVQgR0FNTUFf TU9ERVMgb25seS5Ib3cgd2lsbCBJCj4gYXNzaWduIDE0QklUIG9uIHRoZSBiYXNpcyBvZiBHQU1N QV9NT0RFUyAob3IpIGlzIHRoZXJlIHNvbWUgb3RoZXIKPiBvcHRpb24gdG8gYXNzaWduIHByZWNp c2lvbi4gUGxlYXNlIHNlZSB0aGUgY29tcGFyaXNvbiBjb2RlIGJlbG93LgoKWWVhaCwgZ2FtbWFf bW9kZSBieSBpdHNlbGYgaXMgbm90IHN1ZmZpY2llbnQgaW4gc29tZSBvZiB0aGUgY2FzZXMuCkl0 J3MgaGlnaGx5IHBsYXRmb3JtIGRlcGVuZGVudCBob3cgeW91IGZpZ3VyZSBvdXQgdGhlIHByZWNp c2lvbi4KCj4gCj4gPgo+ID4+IFsyXSBGb3IgZ2xrIGFuZCBpY2wsIGRlZ2FtbWEgTFVUIHZhbHVl cyBhcmUgbm90IHJvdW5kZWQgb2ZmLCB0aGVyZQo+ID4+IHNob3VsZCBlcnI9MCBpZiB1c2luZyBz YW1lIGZ1bmN0aW9uLCBob3cgdG8gbWFrZSB0aGF0IGV4Y2VwdGlvbj8KPiA+IFlvdSBtZWFuIHRo ZSBkZWdhbW1hPyBKdXN0IHNldCBwcmVjaXNpb249PTE2PyBNYXliZSBJJ20gbm90Cj4gPiB1bmRl cnN0YW5kaW5nIHRoZSBxdWVzdGlvbi4KPiAKPiBBZ2FpbiBzYW1lIHF1ZXJ5IGFzIGFib3ZlLCBp ZiBJIHNldCBwcmVjaXNpb24gYXMgMTYuLm9uIHdoYXQgYmFzaXM/Cj4gV2hpY2ggR0FNTUFfTU9E RT8gKG9yKSBkZWZhdWx0IGkgc2hvdWxkIHNldCBhcyAxNj8KClRoZSBnbGsrIGRlZ2FtbWEgaXMg YWx3YXlzIDE2YnBjLCBzbyB5b3UganVzdCBoYXJkY29kZSBpdC4KCj4gCj4gPgo+ID4+IFszXSBG b3IgZ2xrLCBiaXQgcHJlY2lzaW9uIGlzIDEwIGJ1dCBnYW1tYSBtb2RlIGlzIDhCSVQ/Cj4gPiBO b3Qgc3VyZSB3aGF0IHlvdSBtZWFuLiBnbGsgZ2FtbWFfbW9kZSB3b3JrcyBqdXN0IGxpa2Ugd2l0 aAo+ID4gb3RoZXIgaWxrKyBwbGF0Zm9ybXMgKGFwYXJ0IGZyb20gbm90IGhhdmluZyB0aGUgY3Nj X21vZGUKPiA+IGdhbW1hIHZzLiBkZWdhbW1hIGNvbnRyb2wpLgo+IAo+IFNvcnJ5Li5teSBiYWQh Cj4gCj4gPgo+ID4gSSBzdXNwZWN0IHRoZSBtb3N0IGFubm95aW5nIGNhc2UgaXMgaXZiLWJkdyAx MGJpdCBnYW1tYSBtb2RlCj4gPiBzaW5jZSB3ZSBwcm9iYWJseSBkb24ndCBoYXZlIHRoZSBmdWxs IHJlYWRvdXQgdG8gZG8gdGhlIHJldmVyc2UKPiA+IG1hcHBpbmcgb2Ygd2hldGhlciB0aGUgTFVU IGlzIHVzZWQgYXMgZ2FtbWEgb3IgZGVnYW1tYS4gQnV0IEkKPiA+IGd1ZXNzIHdlJ2xsIGp1c3Qg aGF2ZSB0byBjb21wYXJlIGl0IGFnYWluc3Qgd2hpY2hldmVyIG9uZSB0aGUKPiA+IHNvZnR3YXJl IHN0YXRlIGhhcy4KPiAKPiBPbmUgbGFzdCBxdWVyeSwgYXMgdGhlcmUgaXMgZGlmZmVyZW5jZSBp biBwcmVjaXNpb24gb2YgZ2FtbWEgYW5kCj4gZGVnYW1tYS4ud2UgaGF2ZSBvbmUgY29tcGFyaXNv biBmdW5jdGlvbi4uaG93IHdpbGwgd2UgZ2V0IHRvIGtub3cgd2hldGhlcgo+IGJsb2IgcmVjZWl2 ZWQgaXMgZGVnYW1tYSBvciBnYW1tYT8gRG8gd2UgbmVlZCB0byBwYXNzIHNvbWUga2luZCBvZiBl bnVtIHZhbHVlCj4gdG8ga25vdyBjb21wYXJpc29uIG5lZWRzIHRvIGJlIGRvbmUgZm9yIGdhbW1h IG9yIGRlZ2FtbWE/CgpJIHRoaW5rIHRoZSBjb21wYXJpc29uIHNob3VsZCBqdXN0IGNvbXBhcmUg dHdvIGJsb2JzLiBEb2Vzbid0IG1hdHRlcgp3aGF0IHRoZXkgYXJlIHJlYWxseS4KCj4gCj4gPgo+ ID4+IFNpZ25lZC1vZmYtYnk6IFN3YXRpIFNoYXJtYSA8c3dhdGkyLnNoYXJtYUBpbnRlbC5jb20+ Cj4gPj4gLS0tCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jICAgfCA1 NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiA+PiAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2NvbG9yLmggICB8ICA2ICsrKysKPiA+PiAgIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDEyICsrKysrKysrCj4gPj4gICAzIGZpbGVzIGNoYW5n ZWQsIDcyIGluc2VydGlvbnMoKykKPiA+Pgo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9jb2xvci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3Iu Ywo+ID4+IGluZGV4IDY5NWI3NmQuLjczY2I5MDEgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2NvbG9yLmMKPiA+PiBAQCAtMTYzMCw2ICsxNjMwLDYwIEBAIHN0YXRpYyB2b2lkIGls a19yZWFkX2x1dHMoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPj4gICAJ CWNydGNfc3RhdGUtPmJhc2UuZ2FtbWFfbHV0ID0gaWxrX3JlYWRfZ2FtbWFfbHV0KGNydGNfc3Rh dGUpOwo+ID4+ICAgfQo+ID4+ICAgCj4gPj4gK3N0YXRpYyBpbmxpbmUgYm9vbCBlcnJfY2hlY2so c3RydWN0IGRybV9jb2xvcl9sdXQgKnN3X2x1dCwgc3RydWN0IGRybV9jb2xvcl9sdXQgKmh3X2x1 dCwgdTMyIGVycikKPiA+PiArewo+ID4+ICsJIHJldHVybiAoKGFicygobG9uZylod19sdXQtPnJl ZCAtIHN3X2x1dC0+cmVkKSkgPD0gZXJyKSAmJgo+ID4+ICsJICAgICAgICAoKGFicygobG9uZylo d19sdXQtPmJsdWUgLSBzd19sdXQtPmJsdWUpKSA8PSBlcnIpICYmCj4gPj4gKwkgICAgICAgICgo YWJzKChsb25nKWh3X2x1dC0+Z3JlZW4gLSBzd19sdXQtPmdyZWVuKSkgPD0gZXJyKTsKPiA+PiAr fQo+ID4+ICsKPiA+PiArYm9vbCBpbnRlbF9jb2xvcl9sdXRfZXF1YWwoc3RydWN0IGRybV9wcm9w ZXJ0eV9ibG9iICpibG9iMSwKPiA+PiArCQkJICAgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpi bG9iMiwKPiA+PiArCQkJICAgdTMyIGdhbW1hX21vZGUpCj4gPj4gK3sKPiA+PiArCXN0cnVjdCBk cm1fY29sb3JfbHV0ICpzd19sdXQsICpod19sdXQ7Cj4gPj4gKwlpbnQgc3dfbHV0X3NpemUsIGh3 X2x1dF9zaXplLCBpOwo+ID4+ICsJdTMyIGJpdF9wcmVjaXNpb24sIGVycjsKPiA+PiArCj4gPj4g KwlpZiAoIWJsb2IxICYmICFibG9iMikKPiA+PiArCQlyZXR1cm4gdHJ1ZTsKPiA+PiArCj4gPj4g KwlpZiAoIWJsb2IxIHx8ICFibG9iMikKPiA+PiArCQlyZXR1cm4gZmFsc2U7Cj4gPj4gKwo+ID4+ ICsJc3dfbHV0X3NpemUgPSBkcm1fY29sb3JfbHV0X3NpemUoYmxvYjEpOwo+ID4+ICsJaHdfbHV0 X3NpemUgPSBkcm1fY29sb3JfbHV0X3NpemUoYmxvYjIpOwo+ID4+ICsKPiA+PiArCWlmIChzd19s dXRfc2l6ZSAhPSBod19sdXRfc2l6ZSkKPiA+PiArCQlyZXR1cm4gZmFsc2U7Cj4gPj4gKwo+ID4+ ICsJc3dpdGNoKGdhbW1hX21vZGUpIHsKPiA+PiArCWRlZmF1bHQ6Cj4gPj4gKwljYXNlIEdBTU1B X01PREVfTU9ERV84QklUOgo+ID4+ICsJCWJpdF9wcmVjaXNpb24gPSA4Owo+ID4+ICsJCWJyZWFr Owo+ID4+ICsJY2FzZSBHQU1NQV9NT0RFX01PREVfMTBCSVQ6Cj4gPj4gKwljYXNlIEdBTU1BX01P REVfTU9ERV9TUExJVDoKPiA+PiArCQliaXRfcHJlY2lzaW9uID0gMTA7Cj4gPj4gKwkJYnJlYWs7 Cj4gPj4gKwljYXNlIEdBTU1BX01PREVfTU9ERV8xMkJJVDoKPiA+PiArCQliaXRfcHJlY2lzaW9u ID0gMTI7Cj4gPj4gKwkJYnJlYWs7Cj4gPj4gKwl9Cj4gPj4gKwo+ID4+ICsJc3dfbHV0ID0gYmxv YjEtPmRhdGE7Cj4gPj4gKwlod19sdXQgPSBibG9iMi0+ZGF0YTsKPiA+PiArCj4gPj4gKwllcnIg PSAweGZmZmYgPj4gYml0X3ByZWNpc2lvbjsKPiA+PiArCj4gPj4gKwlmb3IgKGkgPSAwOyBpIDwg c3dfbHV0X3NpemU7IGkrKykgewo+ID4+ICsJCSBpZiAoIWVycl9jaGVjaygmaHdfbHV0W2ldLCAm c3dfbHV0W2ldLCBlcnIpKQo+ID4+ICsJCQlyZXR1cm4gZmFsc2U7Cj4gPj4gKwl9Cj4gPj4gKwo+ ID4+ICsJcmV0dXJuIHRydWU7Cj4gPj4gK30KPiA+PiArCj4gPj4gICB2b2lkIGludGVsX2NvbG9y X2luaXQoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gPj4gICB7Cj4gPj4gICAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7Cj4gPj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5oCj4gPj4gaW5kZXggZmM1M2RlOS4uYjUyNWM4MCAx MDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5oCj4gPj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuaAo+ID4+IEBAIC02LDEzICs2 LDE5IEBACj4gPj4gICAjaWZuZGVmIF9fSU5URUxfQ09MT1JfSF9fCj4gPj4gICAjZGVmaW5lIF9f SU5URUxfQ09MT1JfSF9fCj4gPj4gICAKPiA+PiArI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Cj4g Pj4gKwo+ID4+ICAgc3RydWN0IGludGVsX2NydGNfc3RhdGU7Cj4gPj4gICBzdHJ1Y3QgaW50ZWxf Y3J0YzsKPiA+PiArc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iOwo+ID4+ICAgCj4gPj4gICB2b2lk IGludGVsX2NvbG9yX2luaXQoc3RydWN0IGludGVsX2NydGMgKmNydGMpOwo+ID4+ICAgaW50IGlu dGVsX2NvbG9yX2NoZWNrKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiA+ PiAgIHZvaWQgaW50ZWxfY29sb3JfY29tbWl0KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKTsKPiA+PiAgIHZvaWQgaW50ZWxfY29sb3JfbG9hZF9sdXRzKGNvbnN0IHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiA+PiAgIHZvaWQgaW50ZWxfY29s b3JfcmVhZF9sdXRzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiA+PiAr Ym9vbCBpbnRlbF9jb2xvcl9sdXRfZXF1YWwoc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpibG9i MSwKPiA+PiArCQkJCSBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2IyLAo+ID4+ICsJCQkJ IHUzMiBnYW1tYV9tb2RlKTsKPiA+PiAgIAo+ID4+ICAgI2VuZGlmIC8qIF9fSU5URUxfQ09MT1Jf SF9fICovCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4+IGluZGV4IDc5 MTk3NGIuLmE3MTMxNzEgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jCj4gPj4gQEAgLTEyMjg3LDYgKzEyMjg3LDE0IEBAIHN0YXRpYyBib29sIGZhc3Rib290X2Vu YWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4+ICAgCX0gXAo+ID4+ ICAgfSB3aGlsZSAoMCkKPiA+PiAgIAo+ID4+ICsjZGVmaW5lIFBJUEVfQ09ORl9DSEVDS19DT0xP Ul9MVVQobmFtZSwgZ2FtbWFfbW9kZSkgZG8geyBcCj4gPj4gKwlpZiAoIWludGVsX2NvbG9yX2x1 dF9lcXVhbChjdXJyZW50X2NvbmZpZy0+bmFtZSwgcGlwZV9jb25maWctPm5hbWUsIGdhbW1hX21v ZGUpKSB7IFwKPiA+PiArCQlwaXBlX2NvbmZpZ19lcnIoYWRqdXN0LCBfX3N0cmluZ2lmeShuYW1l KSwgXAo+ID4+ICsJCQkJImh3X3N0YXRlIGRvZXNuJ3QgbWF0Y2ggc3dfc3RhdGVcbiIpOyBcCj4g Pj4gKwkJcmV0ID0gZmFsc2U7IFwKPiA+PiArCX0gXAo+ID4+ICt9IHdoaWxlICgwKQo+ID4+ICsK PiA+PiAgICNkZWZpbmUgUElQRV9DT05GX1FVSVJLKHF1aXJrKSBcCj4gPj4gICAJKChjdXJyZW50 X2NvbmZpZy0+cXVpcmtzIHwgcGlwZV9jb25maWctPnF1aXJrcykgJiAocXVpcmspKQo+ID4+ICAg Cj4gPj4gQEAgLTEyMzc2LDYgKzEyMzg0LDkgQEAgc3RhdGljIGJvb2wgZmFzdGJvb3RfZW5hYmxl ZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPj4gICAJCQlQSVBFX0NPTkZf Q0hFQ0tfWChjc2NfbW9kZSk7Cj4gPj4gICAJCVBJUEVfQ09ORl9DSEVDS19CT09MKGdhbW1hX2Vu YWJsZSk7Cj4gPj4gICAJCVBJUEVfQ09ORl9DSEVDS19CT09MKGNzY19lbmFibGUpOwo+ID4+ICsK PiA+PiArCQlQSVBFX0NPTkZfQ0hFQ0tfQ09MT1JfTFVUKGJhc2UuZ2FtbWFfbHV0LCBwaXBlX2Nv bmZpZy0+Z2FtbWFfbW9kZSk7Cj4gPj4gKwkJUElQRV9DT05GX0NIRUNLX0NPTE9SX0xVVChiYXNl LmRlZ2FtbWFfbHV0LCBwaXBlX2NvbmZpZy0+Z2FtbWFfbW9kZSk7Cj4gPj4gICAJfQo+ID4+ICAg Cj4gPj4gICAJUElQRV9DT05GX0NIRUNLX0JPT0woZG91YmxlX3dpZGUpOwo+ID4+IEBAIC0xMjQz OCw2ICsxMjQ0OSw3IEBAIHN0YXRpYyBib29sIGZhc3Rib290X2VuYWJsZWQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4+ICAgI3VuZGVmIFBJUEVfQ09ORl9DSEVDS19GTEFH Uwo+ID4+ICAgI3VuZGVmIFBJUEVfQ09ORl9DSEVDS19DTE9DS19GVVpaWQo+ID4+ICAgI3VuZGVm IFBJUEVfQ09ORl9RVUlSSwo+ID4+ICsjdW5kZWYgUElQRV9DT05GX0NIRUNLX0NPTE9SX0xVVAo+ ID4+ICAgCj4gPj4gICAJcmV0dXJuIHJldDsKPiA+PiAgIH0KPiA+PiAtLSAKPiA+PiAxLjkuMQo+ IAo+IC0tIAo+IH5Td2F0aSBTaGFybWEKPiAKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4