From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v3 1/2] drm: drm/i915: Add connector property to limit max bpc Date: Mon, 27 Aug 2018 16:31:49 +0300 Message-ID: <20180827133149.GT5565@intel.com> References: <20180825010217.7612-1-radhakrishna.sripada@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 B5EC26E061 for ; Mon, 27 Aug 2018 13:31:54 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180825010217.7612-1-radhakrishna.sripada@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Radhakrishna Sripada Cc: dri-devel@lists.freedestop.org, intel-gfx@lists.freedesktop.org, Kishore Kadiyala , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBBdWcgMjQsIDIwMTggYXQgMDY6MDI6MTZQTSAtMDcwMCwgUmFkaGFrcmlzaG5hIFNy aXBhZGEgd3JvdGU6Cj4gQXQgdGltZXMgMTJicGMgSERNSSBjYW5ub3QgYmUgZHJpdmVuIGR1ZSB0 byBmYXVsdHkgY2FibGVzLCBkb25nbGVzCj4gbGV2ZWwgc2hpZnRlcnMgZXRjLiBUbyB3b3JrYXJv dW5kIHRoZW0gd2UgbWF5IG5lZWQgdG8gZHJpdmUgdGhlIG91dHB1dAo+IGF0IGEgbG93ZXIgYnBj LiBDdXJyZW50bHkgdGhlIHVzZXIgc3BhY2UgZG9lcyBub3QgaGF2ZSBhIHdheSB0byBsaW1pdAo+ IHRoZSBicGMuIFRoZSBkZWZhdWx0IGJwYyB0byBiZSBwcm9ncmFtbWVkIGlzIGRlY2lkZWQgYnkg dGhlIGRyaXZlciBhbmQKPiBpcyBydW4gYWdhaW5zdCBjb25uZWN0b3IgbGltaXRhdGlvbnMuCj4g Cj4gQ3JlYXRpbmcgYSBuZXcgY29ubmVjdG9yIHByb3BlcnR5ICJtYXggYnBjIiBpbiBvcmRlciB0 byBsaW1pdCB0aGUgYnBjCj4gd2l0aCB3aGljaCB0aGUgcGl4ZWxzIGFyZSBzY2FubmVkIG91dC4g eHJhbmRyIGNhbiBtYWtlIHVzZSBvZiB0aGlzCj4gY29ubmVjdG9yIHByb3BlcnR5IHRvIG1ha2Ug c3VyZSB0aGF0IGJwYyBkb2VzIG5vdCBleGNlZWQgdGhlIGNvbmZpZ3VyZWQgdmFsdWUuCj4gVGhp cyBwcm9wZXJ0eSBjYW4gYmUgdXNlZCBieSB1c2Vyc3BhY2UgdG8gc2V0IHRoZSBicGMuCj4gCj4g VjI6IEluaXRpYWxpemUgbWF4X2JwYyB0byBzYXRpc2Z5IGttc19wcm9wZXJ0aWVzCj4gVjM6IE1v dmUgdGhlIHByb3BlcnR5IHRvIGRybV9jb25uZWN0b3IKPiAKPiBDYzogVmlsbGUgU3lyasOkbMOk IDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiBDYzogS2lzaG9yZSBLYWRpeWFsYSA8 a2lzaG9yZS5rYWRpeWFsYUBpbnRlbC5jb20+Cj4gQ2M6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52 aXZpQGludGVsLmNvbT4KPiBDYzogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVs LmNvbT4KPiBDYzogU3RhbmlzbGF2IExpc292c2tpeSA8c3RhbmlzbGF2Lmxpc292c2tpeUBpbnRl bC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogUmFkaGFrcmlzaG5hIFNyaXBhZGEgPHJhZGhha3Jpc2hu YS5zcmlwYWRhQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMu YyAgICAgICAgfCAgNCArKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5j IHwgIDQgKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICB8ICAyICsr Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyAgIHwgMTEgKysrKysrKysrKysK PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbW9kZXMuYyAgfCAyMCArKysrKysrKysrKysr KysrKysrKwoKUGxzIG1vdmUgYWxsIHRoZSBpOTE1IHN0dWZmIHRvIHRoZSBzZWNvbmQgcGF0Y2gu Cgo+ICBpbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggICAgICAgICB8ICA2ICsrKysrKwo+ICBp bmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCAgICAgICB8ICA1ICsrKysrCj4gIDcgZmlsZXMg Y2hhbmdlZCwgNTIgaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+IGluZGV4IDNl YjA2MWUxMWUyZS4uNDYxZGRlMGMyYzEwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gQEAgLTE0 MTYsNiArMTQxNiw4IEBAIHN0YXRpYyBpbnQgZHJtX2F0b21pY19jb25uZWN0b3Jfc2V0X3Byb3Bl cnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAo+ICAJCXJldHVybiBzZXRf b3V0X2ZlbmNlX2Zvcl9jb25uZWN0b3Ioc3RhdGUtPnN0YXRlLCBjb25uZWN0b3IsCj4gIAkJCQkJ CSAgIGZlbmNlX3B0cik7Cj4gKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+bWF4X2Jw Y19wcm9wZXJ0eSkgewo+ICsJCXN0YXRlLT5tYXhfYnBjID0gdmFsOwo+ICAJfSBlbHNlIGlmIChj b25uZWN0b3ItPmZ1bmNzLT5hdG9taWNfc2V0X3Byb3BlcnR5KSB7Cj4gIAkJcmV0dXJuIGNvbm5l Y3Rvci0+ZnVuY3MtPmF0b21pY19zZXRfcHJvcGVydHkoY29ubmVjdG9yLAo+ICAJCQkJc3RhdGUs IHByb3BlcnR5LCB2YWwpOwo+IEBAIC0xNTExLDYgKzE1MTMsOCBAQCBkcm1fYXRvbWljX2Nvbm5l Y3Rvcl9nZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCQkq dmFsID0gMDsKPiAgCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT53cml0ZWJhY2tfb3V0 X2ZlbmNlX3B0cl9wcm9wZXJ0eSkgewo+ICAJCSp2YWwgPSAwOwo+ICsJfSBlbHNlIGlmIChwcm9w ZXJ0eSA9PSBjb25maWctPm1heF9icGNfcHJvcGVydHkpIHsKPiArCQkqdmFsID0gc3RhdGUtPm1h eF9icGM7Cj4gIAl9IGVsc2UgaWYgKGNvbm5lY3Rvci0+ZnVuY3MtPmF0b21pY19nZXRfcHJvcGVy dHkpIHsKPiAgCQlyZXR1cm4gY29ubmVjdG9yLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eShj b25uZWN0b3IsCj4gIAkJCQlzdGF0ZSwgcHJvcGVydHksIHZhbCk7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWNfaGVscGVyLmMKPiBpbmRleCAzOGNlOWEzNzVmZmIuLjgyY2FhYzhkMTQzMiAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gQEAgLTYzOCw2ICs2MzgsMTAgQEAgZHJt X2F0b21pY19oZWxwZXJfY2hlY2tfbW9kZXNldChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJ CQlpZiAob2xkX2Nvbm5lY3Rvcl9zdGF0ZS0+bGlua19zdGF0dXMgIT0KPiAgCQkJICAgIG5ld19j b25uZWN0b3Jfc3RhdGUtPmxpbmtfc3RhdHVzKQo+ICAJCQkJbmV3X2NydGNfc3RhdGUtPmNvbm5l Y3RvcnNfY2hhbmdlZCA9IHRydWU7Cj4gKwo+ICsJCQlpZiAob2xkX2Nvbm5lY3Rvcl9zdGF0ZS0+ bWF4X2JwYyAhPQo+ICsJCQkgICAgbmV3X2Nvbm5lY3Rvcl9zdGF0ZS0+bWF4X2JwYykKPiArCQkJ CW5ld19jcnRjX3N0YXRlLT5jb25uZWN0b3JzX2NoYW5nZWQgPSB0cnVlOwo+ICAJCX0KPiAgCj4g IAkJaWYgKGZ1bmNzLT5hdG9taWNfY2hlY2spCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBp bmRleCAxYjc4ZGU4MzhjMTguLjIwOWViMTc5ODIzOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oCj4gQEAgLTE4NjIsNiArMTg2Miw4IEBAIGludCBpbnRlbF9kZGNfZ2V0X21vZGVzKHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjLCBzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIpOwo+ICB2 b2lkIGludGVsX2F0dGFjaF9mb3JjZV9hdWRpb19wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yKTsKPiAgdm9pZCBpbnRlbF9hdHRhY2hfYnJvYWRjYXN0X3JnYl9wcm9wZXJ0 eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiAgdm9pZCBpbnRlbF9hdHRhY2hf YXNwZWN0X3JhdGlvX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwo+ ICt2b2lkIGludGVsX2F0dGFjaF9tYXhfYnBjX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IsIGludCBtaW4sIGludAo+ICsJCQkJICAgbWF4KTsKPiAgCj4gIAo+ICAvKiBp bnRlbF9vdmVybGF5LmMgKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gaW5kZXggYTE3 OTliNWMxMmJiLi44MjczOWYzNDIyNDYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfaGRtaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5j Cj4gQEAgLTIwOTcsMTEgKzIwOTcsMjIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZW5jb2Rl cl9mdW5jcyBpbnRlbF9oZG1pX2VuY19mdW5jcyA9IHsKPiAgc3RhdGljIHZvaWQKPiAgaW50ZWxf aGRtaV9hZGRfcHJvcGVydGllcyhzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSwgc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmRldik7Cj4gKwo+ICAJaW50ZWxfYXR0 YWNoX2ZvcmNlX2F1ZGlvX3Byb3BlcnR5KGNvbm5lY3Rvcik7Cj4gIAlpbnRlbF9hdHRhY2hfYnJv YWRjYXN0X3JnYl9wcm9wZXJ0eShjb25uZWN0b3IpOwo+ICAJaW50ZWxfYXR0YWNoX2FzcGVjdF9y YXRpb19wcm9wZXJ0eShjb25uZWN0b3IpOwo+ICAJZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfY29udGVu dF90eXBlX3Byb3BlcnR5KGNvbm5lY3Rvcik7Cj4gIAljb25uZWN0b3ItPnN0YXRlLT5waWN0dXJl X2FzcGVjdF9yYXRpbyA9IEhETUlfUElDVFVSRV9BU1BFQ1RfTk9ORTsKPiArCj4gKwlpZiAoSVNf RzRYKGRldl9wcml2KSB8fCBJU19WQUxMRVlWSUVXKGRldl9wcml2KSB8fAo+ICsJICAgIElTX0NI RVJSWVZJRVcoZGV2X3ByaXYpKSB7Cj4gKwkJaW50ZWxfYXR0YWNoX21heF9icGNfcHJvcGVydHko Y29ubmVjdG9yLCA4LCAxMCk7Cj4gKwkJY29ubmVjdG9yLT5zdGF0ZS0+bWF4X2JwYyA9IDEwOwoK VGhlc2UgcGxhdGZvcm1zIGRvbid0IHN1cHBvcnQgSERNSSBkZWVwIGNvbG9yLiBUaGUgMTBicGMg c3R1ZmYgaW4KUElQRUNPTkYgaXMgZm9yIERQLiBJbmNpZGVudGFsbHkgRFAgc3VwcG9ydCBzZWVt cyB0byBiZSBtaXNzaW5nIGZyb20KdGhpcyBzZXJpZXMuCgo+ICsJfSBlbHNlIGlmIChJTlRFTF9H RU4oZGV2X3ByaXYpID49IDUpIHsKPiArCQlpbnRlbF9hdHRhY2hfbWF4X2JwY19wcm9wZXJ0eShj b25uZWN0b3IsIDgsIDEyKTsKPiArCQljb25uZWN0b3ItPnN0YXRlLT5tYXhfYnBjID0gMTI7Cj4g Kwl9Cj4gIH0KPiAgCj4gIC8qCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX21vZGVzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tb2Rlcy5jCj4gaW5kZXgg Y2E0NGJmMzY4ZTI0Li43OGYyY2U5MmYxOTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbW9kZXMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21v ZGVzLmMKPiBAQCAtMTMzLDMgKzEzMywyMyBAQCBpbnRlbF9hdHRhY2hfYXNwZWN0X3JhdGlvX3By b3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAkJCWNvbm5lY3Rvci0+ ZGV2LT5tb2RlX2NvbmZpZy5hc3BlY3RfcmF0aW9fcHJvcGVydHksCj4gIAkJCURSTV9NT0RFX1BJ Q1RVUkVfQVNQRUNUX05PTkUpOwo+ICB9Cj4gKwo+ICt2b2lkCj4gK2ludGVsX2F0dGFjaF9tYXhf YnBjX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGludCBtaW4sIGlu dAo+ICsJCQkgICAgICAgbWF4KQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29u bmVjdG9yLT5kZXY7Cj4gKwlzdHJ1Y3QgZHJtX21vZGVfY29uZmlnICpjb25maWcgPSAmZGV2LT5t b2RlX2NvbmZpZzsKPiArCXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3A7Cj4gKwo+ICsJcHJvcCA9 IGNvbmZpZy0+bWF4X2JwY19wcm9wZXJ0eTsKPiArCWlmIChwcm9wID09IE5VTEwpIHsKPiArCQlw cm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9yYW5nZShkZXYsIDAsICJtYXggYnBjIiwgbWluLCBt YXgpOwo+ICsJCWlmIChwcm9wID09IE5VTEwpCj4gKwkJCXJldHVybjsKPiArCj4gKwkJY29uZmln LT5tYXhfYnBjX3Byb3BlcnR5ID0gcHJvcDsKPiArCX0KPiArCj4gKwlkcm1fb2JqZWN0X2F0dGFj aF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLCBwcm9wLCBtYXgpOwoKTWlnaHQgbWFrZSBzZW5z ZSB0byBkbyAnY29ubmVjdG9yLT5zdGF0ZS0+bWF4X2JwYyA9IG1heCcgaGVyZS4KQXZvaWRzIGhh dmluZyB0byBzcHJpbmtsZSBpdCBpbiBldmVyeSBkcml2ZXIuCgo+ICt9Cj4gZGlmZiAtLWdpdCBh L2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3Iu aAo+IGluZGV4IDk3ZWE0MWRjNjc4Zi4uZDU5YjllMzRhZTgwIDEwMDY0NAo+IC0tLSBhL2luY2x1 ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3Iu aAo+IEBAIC00NjAsNiArNDYwLDEyIEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlIHsKPiAg CSAqIGRybV93cml0ZWJhY2tfc2lnbmFsX2NvbXBsZXRpb24oKQo+ICAJICovCj4gIAlzdHJ1Y3Qg ZHJtX3dyaXRlYmFja19qb2IgKndyaXRlYmFja19qb2I7Cj4gKwo+ICsJLyoqCj4gKwkgKiBAbWF4 X2JwYzogQ29ubmVjdG9yIHByb3BlcnR5IHRvIGxpbWl0IHRoZSBtYXhpbXVtIGJpdCBkZXB0aCBv Zgo+ICsJICogdGhlIHBpeGVscyBiZWluZyBzY2FubmVkIG91dC4KClRoZSBjb21tZW50IGlzIG1p c2xlYWRpbmcuIEl0IG1ha2VzIG1lIHRoaW5rIHRoaXMgaGFzIHNvbWV0aGluZyB0byBkbwp3aXRo IHRoZSBwaXhlbHMgd2Ugc2NhbiBvdXQgZnJvbSBhIGZyYW1lYnVmZmVyLgoKPiArCSAqLwo+ICsJ dW5zaWduZWQgaW50IG1heF9icGM7Cj4gIH07Cj4gIAo+ICAvKioKPiBkaWZmIC0tZ2l0IGEvaW5j bHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmggYi9pbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcu aAo+IGluZGV4IGEwYjIwMmUxZDY5YS4uYjljZDdhNzNiMjQ0IDEwMDY0NAo+IC0tLSBhL2luY2x1 ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29u ZmlnLmgKPiBAQCAtNTYyLDYgKzU2MiwxMSBAQCBzdHJ1Y3QgZHJtX21vZGVfY29uZmlnIHsKPiAg CSAqLwo+ICAJc3RydWN0IGRybV9wcm9wZXJ0eSAqbGlua19zdGF0dXNfcHJvcGVydHk7Cj4gIAkv KioKPiArCSAqIEBtYXhfYnBjX3Byb3BlcnR5OiBEZWZhdWx0IGNvbm5lY3RvciBwcm9wZXJ0eSBm b3IgdGhlIG1heCBicGMgdG8gYmUKPiArCSAqIGRyaXZlbiBvdXQgb2YgdGhlIGNvbm5lY3Rvci4K PiArCSAqLwo+ICsJc3RydWN0IGRybV9wcm9wZXJ0eSAqbWF4X2JwY19wcm9wZXJ0eTsKPiArCS8q Kgo+ICAJICogQHBsYW5lX3R5cGVfcHJvcGVydHk6IERlZmF1bHQgcGxhbmUgcHJvcGVydHkgdG8g ZGlmZmVyZW50aWF0ZQo+ICAJICogQ1VSU09SLCBQUklNQVJZIGFuZCBPVkVSTEFZIGxlZ2FjeSB1 c2VzIG9mIHBsYW5lcy4KPiAgCSAqLwo+IC0tIAo+IDIuOS4zCgotLSAKVmlsbGUgU3lyasOkbMOk CkludGVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=