From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH v1] Added max_bpp property to limit maximum bpp even if HDMI TV advertises higher limit. Date: Wed, 8 Aug 2018 16:41:00 -0700 Message-ID: <20180808234100.GN2264@intel.com> References: <20180726130253.2566-1-stanislav.lisovskiy@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 F18B06E61C for ; Wed, 8 Aug 2018 23:41:06 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180726130253.2566-1-stanislav.lisovskiy@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: StanLis Cc: intel-gfx@lists.freedesktop.org, ville.syrjala@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBKdWwgMjYsIDIwMTggYXQgMDQ6MDI6NTNQTSArMDMwMCwgU3RhbkxpcyB3cm90ZToK PiBGcm9tOiBTdGFuaXNsYXYgTGlzb3Zza2l5IDxzdGFuaXNsYXYubGlzb3Zza2l5QGludGVsLmNv bT4KPiAKPiBUaGlzIHdhcyBpbnNwaXJlZCwgYnkgYSBidWdzIGxpa2UgdGhpczoKPiAKPiBCdWd6 aWxsYTogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy85MzM2MQo+IAo+IEluIHNob3J0LCB3 aGVuIFRWIGFkdmVydGlzZXMgMTJicGMsIHRoZSByZWZyZXNoCj4gcmF0ZSBtaWdodCBnZXQgaW5h Y2N1cmF0ZSBjYXVzaW5nIHNvbWUgcGxheWJhY2sKPiBpc3N1ZXMuCj4gCj4gVGhlIHRlbXBvcmFy eSBzb2x1dGlvbiB3YXMgdG8gaGFjayB0aGUgRURJRCwKPiBzbyB0aGF0IGl0IGRvZXNuJ3QgYWR2 ZXJ0aXNlIGRlZXAgY29sb3IsIHNvIHRoaXMKPiBuZXcgcHJvcGVydHkgbWFrZXMgaXQgdW5uZWNl c3NhcnkuCj4gCj4gTG9uZyB0ZXJtIHNvbHV0aW9uIHdvdWxkIGJlIHRvIGNoYW5nZSBjbG9jayBm cmVxdWVuY3ksCj4gaG93ZXZlciB0aGlzIGFmZmVjdHMgYWxsIHRoZSBjbG9jayB0cmVlIGFuZCBt aWdodCBub3QKPiBiZSBkb2FibGUsIHNvIHRoaXMgaXMgdGhlIGN1cnJlbnRseSBwcm9wb3NlZCBm aXguCgpJdCBzZWVtcyB0aGF0IHRoZSBmaXggZm9yIHRoaXMgc2hvdWxkIGJlIG9uIHRoZSByZWZy ZXNoIHJhdGUgc2lkZSwKbm90IHByb3ZpZGluZyBhbiBvcHRpb24gdG8gdGhlIHVzZXIgdG8gd29y a2Fyb3VuZCBhbmQgaGlkZSB0aGUgaXNzdWUuCgo+IAo+IFNpZ25lZC1vZmYtYnk6IFN0YW5pc2xh diBMaXNvdnNraXkgPHN0YW5pc2xhdi5saXNvdnNraXlAaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICB8ICAxICsKPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfYXRvbWljLmMgfCAgOCArKysrKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaCAgICB8ICA0ICsrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf aGRtaS5jICAgfCAxMyArKysrKysrKy0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X21vZGVzLmMgIHwgMjAgKysrKysrKysrKysrKysrKysrKysKPiAgNSBmaWxlcyBjaGFuZ2VkLCA0 MSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAo+IGluZGV4IGVlYjAwMmE0NzAzMi4uODIzZWNjZDI5ZjcwIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCj4gQEAgLTE4MTcsNiArMTgxNyw3IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRl IHsKPiAgCXN0cnVjdCBpbnRlbF9mYmRldiAqZmJkZXY7Cj4gIAlzdHJ1Y3Qgd29ya19zdHJ1Y3Qg ZmJkZXZfc3VzcGVuZF93b3JrOwo+ICAKPiArCXN0cnVjdCBkcm1fcHJvcGVydHkgKm1heF9icHBf cHJvcGVydHk7Cj4gIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpicm9hZGNhc3RfcmdiX3Byb3BlcnR5 Owo+ICAJc3RydWN0IGRybV9wcm9wZXJ0eSAqZm9yY2VfYXVkaW9fcHJvcGVydHk7Cj4gIAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jCj4gaW5kZXggYjA0OTUyYmFjZjc3Li5hYzg5MGZk YTgwMjkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYwo+IEBAIC01OCw2ICs1 OCw4IEBAIGludCBpbnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9hdG9taWNfZ2V0X3Byb3BlcnR5KHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAkJKnZhbCA9IGludGVsX2Nvbm5fc3Rh dGUtPmZvcmNlX2F1ZGlvOwo+ICAJZWxzZSBpZiAocHJvcGVydHkgPT0gZGV2X3ByaXYtPmJyb2Fk Y2FzdF9yZ2JfcHJvcGVydHkpCj4gIAkJKnZhbCA9IGludGVsX2Nvbm5fc3RhdGUtPmJyb2FkY2Fz dF9yZ2I7Cj4gKwllbHNlIGlmIChwcm9wZXJ0eSA9PSBkZXZfcHJpdi0+bWF4X2JwcF9wcm9wZXJ0 eSkKPiArCQkqdmFsID0gaW50ZWxfY29ubl9zdGF0ZS0+bWF4X2JwcDsKPiAgCWVsc2Ugewo+ICAJ CURSTV9ERUJVR19BVE9NSUMoIlVua25vd24gcHJvcGVydHkgW1BST1A6JWQ6JXNdXG4iLAo+ICAJ CQkJIHByb3BlcnR5LT5iYXNlLmlkLCBwcm9wZXJ0eS0+bmFtZSk7Cj4gQEAgLTk2LDYgKzk4LDEx IEBAIGludCBpbnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9hdG9taWNfc2V0X3Byb3BlcnR5KHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAkJcmV0dXJuIDA7Cj4gIAl9Cj4gIAo+ICsJ aWYgKHByb3BlcnR5ID09IGRldl9wcml2LT5tYXhfYnBwX3Byb3BlcnR5KSB7Cj4gKwkJaW50ZWxf Y29ubl9zdGF0ZS0+bWF4X2JwcCA9IHZhbDsKPiArCQlyZXR1cm4gMDsKPiArCX0KPiArCj4gIAlE Uk1fREVCVUdfQVRPTUlDKCJVbmtub3duIHByb3BlcnR5IFtQUk9QOiVkOiVzXVxuIiwKPiAgCQkJ IHByb3BlcnR5LT5iYXNlLmlkLCBwcm9wZXJ0eS0+bmFtZSk7Cj4gIAlyZXR1cm4gLUVJTlZBTDsK PiBAQCAtMTI2LDYgKzEzMyw3IEBAIGludCBpbnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9hdG9taWNf Y2hlY2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm4sCj4gIAlpZiAobmV3X2Nvbm5fc3RhdGUt PmZvcmNlX2F1ZGlvICE9IG9sZF9jb25uX3N0YXRlLT5mb3JjZV9hdWRpbyB8fAo+ICAJICAgIG5l d19jb25uX3N0YXRlLT5icm9hZGNhc3RfcmdiICE9IG9sZF9jb25uX3N0YXRlLT5icm9hZGNhc3Rf cmdiIHx8Cj4gIAkgICAgbmV3X2Nvbm5fc3RhdGUtPmJhc2UucGljdHVyZV9hc3BlY3RfcmF0aW8g IT0gb2xkX2Nvbm5fc3RhdGUtPmJhc2UucGljdHVyZV9hc3BlY3RfcmF0aW8gfHwKPiArCSAgICBu ZXdfY29ubl9zdGF0ZS0+bWF4X2JwcCAhPSBvbGRfY29ubl9zdGF0ZS0+bWF4X2JwcCB8fAo+ICAJ ICAgIG5ld19jb25uX3N0YXRlLT5iYXNlLmNvbnRlbnRfdHlwZSAhPSBvbGRfY29ubl9zdGF0ZS0+ YmFzZS5jb250ZW50X3R5cGUgfHwKPiAgCSAgICBuZXdfY29ubl9zdGF0ZS0+YmFzZS5zY2FsaW5n X21vZGUgIT0gb2xkX2Nvbm5fc3RhdGUtPmJhc2Uuc2NhbGluZ19tb2RlKQo+ICAJCWNydGNfc3Rh dGUtPm1vZGVfY2hhbmdlZCA9IHRydWU7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBpbmRl eCA2MWU3MTVkZGQwZDUuLjM4ZDFmNDMwYjQ0ZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oCj4gQEAgLTQyMiw2ICs0MjIsNyBAQCBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9jb25uZWN0b3Jf c3RhdGUgewo+ICAKPiAgCWVudW0gaGRtaV9mb3JjZV9hdWRpbyBmb3JjZV9hdWRpbzsKPiAgCWlu dCBicm9hZGNhc3RfcmdiOwo+ICsJaW50IG1heF9icHA7Cj4gIH07Cj4gIAo+ICAjZGVmaW5lIHRv X2ludGVsX2RpZ2l0YWxfY29ubmVjdG9yX3N0YXRlKHgpIGNvbnRhaW5lcl9vZih4LCBzdHJ1Y3Qg aW50ZWxfZGlnaXRhbF9jb25uZWN0b3Jfc3RhdGUsIGJhc2UpCj4gQEAgLTE4MzcsOSArMTgzOCwx MiBAQCBib29sIGludGVsX2lzX2R1YWxfbGlua19sdmRzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Owo+ICBpbnQgaW50ZWxfY29ubmVjdG9yX3VwZGF0ZV9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLAo+ICAJCQkJIHN0cnVjdCBlZGlkICplZGlkKTsKPiAgaW50IGludGVsX2Rk Y19nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmMsIHN0cnVjdCBpMmNfYWRhcHRlciAq YWRhcHRlcik7Cj4gKwo+ICB2b2lkIGludGVsX2F0dGFjaF9mb3JjZV9hdWRpb19wcm9wZXJ0eShz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiAgdm9pZCBpbnRlbF9hdHRhY2hfYnJv YWRjYXN0X3JnYl9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiAg dm9pZCBpbnRlbF9hdHRhY2hfYXNwZWN0X3JhdGlvX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IpOwo+ICt2b2lkIGludGVsX2F0dGFjaF9mb3JjZV9tYXhfYnBwX3Byb3Bl cnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwo+ICsKPiAgCj4gIAo+ICAvKiBp bnRlbF9vdmVybGF5LmMgKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gaW5kZXggODM2 M2ZiZDE4ZWU4Li4zMjNiOTZmNWVhYzcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfaGRtaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5j Cj4gQEAgLTE3NDgsMTUgKzE3NDgsMTYgQEAgYm9vbCBpbnRlbF9oZG1pX2NvbXB1dGVfY29uZmln KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJICovCj4gIAlpZiAoaGRtaV9kZWVw X2NvbG9yX3Bvc3NpYmxlKHBpcGVfY29uZmlnLCAxMikgJiYKPiAgCSAgICBoZG1pX3BvcnRfY2xv Y2tfdmFsaWQoaW50ZWxfaGRtaSwgY2xvY2tfMTJicGMsCj4gLQkJCQkgIHRydWUsIGZvcmNlX2R2 aSkgPT0gTU9ERV9PSykgewo+ICsJCQkJICB0cnVlLCBmb3JjZV9kdmkpID09IE1PREVfT0sgJiYK PiArCQlpbnRlbF9jb25uX3N0YXRlLT5tYXhfYnBwID49IDEyICogMykgewo+ICAJCURSTV9ERUJV R19LTVMoInBpY2tpbmcgYnBjIHRvIDEyIGZvciBIRE1JIG91dHB1dFxuIik7Cj4gLQkJZGVzaXJl ZF9icHAgPSAxMiozOwo+IC0KPiArCQlkZXNpcmVkX2JwcCA9IDEyICogMzsKPiAgCQkvKiBOZWVk IHRvIGFkanVzdCB0aGUgcG9ydCBsaW5rIGJ5IDEuNXggZm9yIDEyYnBjLiAqLwo+ICAJCXBpcGVf Y29uZmlnLT5wb3J0X2Nsb2NrID0gY2xvY2tfMTJicGM7Cj4gIAl9IGVsc2UgaWYgKGhkbWlfZGVl cF9jb2xvcl9wb3NzaWJsZShwaXBlX2NvbmZpZywgMTApICYmCj4gIAkJICAgaGRtaV9wb3J0X2Ns b2NrX3ZhbGlkKGludGVsX2hkbWksIGNsb2NrXzEwYnBjLAo+IC0JCQkJCSB0cnVlLCBmb3JjZV9k dmkpID09IE1PREVfT0spIHsKPiArCQkJCQkgdHJ1ZSwgZm9yY2VfZHZpKSA9PSBNT0RFX09LICYm Cj4gKwkJICAgaW50ZWxfY29ubl9zdGF0ZS0+bWF4X2JwcCA+PSAxMCAqIDMpIHsKPiAgCQlEUk1f REVCVUdfS01TKCJwaWNraW5nIGJwYyB0byAxMCBmb3IgSERNSSBvdXRwdXRcbiIpOwo+ICAJCWRl c2lyZWRfYnBwID0gMTAgKiAzOwo+ICAKPiBAQCAtMTc2NCw3ICsxNzY1LDcgQEAgYm9vbCBpbnRl bF9oZG1pX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJ CXBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrID0gY2xvY2tfMTBicGM7Cj4gIAl9IGVsc2Ugewo+ICAJ CURSTV9ERUJVR19LTVMoInBpY2tpbmcgYnBjIHRvIDggZm9yIEhETUkgb3V0cHV0XG4iKTsKPiAt CQlkZXNpcmVkX2JwcCA9IDgqMzsKPiArCQlkZXNpcmVkX2JwcCA9IDggKiAzOwo+ICAKPiAgCQlw aXBlX2NvbmZpZy0+cG9ydF9jbG9jayA9IGNsb2NrXzhicGM7Cj4gIAl9Cj4gQEAgLTIwOTYsOCAr MjA5NywxMCBAQCBpbnRlbF9oZG1pX2FkZF9wcm9wZXJ0aWVzKHN0cnVjdCBpbnRlbF9oZG1pICpp bnRlbF9oZG1pLCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqYwo+ICAJaW50ZWxfYXR0YWNoX2ZvcmNl X2F1ZGlvX3Byb3BlcnR5KGNvbm5lY3Rvcik7Cj4gIAlpbnRlbF9hdHRhY2hfYnJvYWRjYXN0X3Jn Yl9wcm9wZXJ0eShjb25uZWN0b3IpOwo+ICAJaW50ZWxfYXR0YWNoX2FzcGVjdF9yYXRpb19wcm9w ZXJ0eShjb25uZWN0b3IpOwo+ICsJaW50ZWxfYXR0YWNoX2ZvcmNlX21heF9icHBfcHJvcGVydHko Y29ubmVjdG9yKTsKPiAgCWRybV9jb25uZWN0b3JfYXR0YWNoX2NvbnRlbnRfdHlwZV9wcm9wZXJ0 eShjb25uZWN0b3IpOwo+ICAJY29ubmVjdG9yLT5zdGF0ZS0+cGljdHVyZV9hc3BlY3RfcmF0aW8g PSBIRE1JX1BJQ1RVUkVfQVNQRUNUX05PTkU7Cj4gKwl0b19pbnRlbF9kaWdpdGFsX2Nvbm5lY3Rv cl9zdGF0ZShjb25uZWN0b3ItPnN0YXRlKS0+bWF4X2JwcCA9IDgqMzsKPiAgfQo+ICAKPiAgLyoK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbW9kZXMuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX21vZGVzLmMKPiBpbmRleCBiMzk4NDY2MTNlM2MuLjZmMmZm MjcxNGM2OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tb2Rlcy5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbW9kZXMuYwo+IEBAIC05Nyw2ICs5 NywyNiBAQCBpbnRlbF9hdHRhY2hfZm9yY2VfYXVkaW9fcHJvcGVydHkoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvcikKPiAgCWRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KCZjb25uZWN0 b3ItPmJhc2UsIHByb3AsIDApOwo+ICB9Cj4gIAo+ICt2b2lkCj4gK2ludGVsX2F0dGFjaF9mb3Jj ZV9tYXhfYnBwX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gK3sK PiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKPiArCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiArCXN0cnVjdCBkcm1f cHJvcGVydHkgKnByb3A7Cj4gKwo+ICsJcHJvcCA9IGRldl9wcml2LT5tYXhfYnBwX3Byb3BlcnR5 Owo+ICsJaWYgKHByb3AgPT0gTlVMTCkgewo+ICsJCXByb3AgPSBkcm1fcHJvcGVydHlfY3JlYXRl X3JhbmdlKGRldiwgMCwKPiArCQkJIk1heCBicHAiLCAwLCAxMiozKTsKPiArCQlpZiAocHJvcCA9 PSBOVUxMKQo+ICsJCQlyZXR1cm47Cj4gKwo+ICsJCWRldl9wcml2LT5tYXhfYnBwX3Byb3BlcnR5 ID0gcHJvcDsKPiArCX0KPiArCj4gKwlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVj dG9yLT5iYXNlLCBwcm9wLCA4KjMpOwo+ICt9Cj4gKwo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRy bV9wcm9wX2VudW1fbGlzdCBicm9hZGNhc3RfcmdiX25hbWVzW10gPSB7Cj4gIAl7IElOVEVMX0JS T0FEQ0FTVF9SR0JfQVVUTywgIkF1dG9tYXRpYyIgfSwKPiAgCXsgSU5URUxfQlJPQURDQVNUX1JH Ql9GVUxMLCAiRnVsbCIgfSwKPiAtLSAKPiAyLjE3LjAKPiAKPiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==