From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 5/5] drm/i915: Enable HPD interrupts with master ctl interrupt Date: Mon, 28 Nov 2016 18:02:41 +0200 Message-ID: <20161128160241.GF31595@intel.com> References: <1479917907-2468-1-git-send-email-animesh.manna@intel.com> <1479917907-2468-6-git-send-email-animesh.manna@intel.com> <20161123171044.GK31595@intel.com> <8163e036-d7db-d7da-969b-d229f52670f7@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4D0BE6E409 for ; Mon, 28 Nov 2016 16:02:45 +0000 (UTC) Content-Disposition: inline In-Reply-To: <8163e036-d7db-d7da-969b-d229f52670f7@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Animesh Manna Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBOb3YgMjgsIDIwMTYgYXQgMDk6MTk6MzZQTSArMDUzMCwgQW5pbWVzaCBNYW5uYSB3 cm90ZToKPiAKPiAKPiBPbiAxMS8yMy8yMDE2IDEwOjQwIFBNLCBWaWxsZSBTeXJqw6Rsw6Qgd3Jv dGU6Cj4gPiBPbiBXZWQsIE5vdiAyMywgMjAxNiBhdCAwOTo0ODoyN1BNICswNTMwLCBBbmltZXNo IE1hbm5hIHdyb3RlOgo+ID4+IFdoaWxlIHN1c3BlbmRpbmcgdGhlIGRldmljZSBocGQgcmVsYXRl ZCBpbnRlcnJ1cHRzIGFyZSBlbmFibGVkCj4gPj4gdG8gZ2V0IHRoZSBpbnRlcnJ1cHQgd2hlbiBk ZXZpY2UgaXMgaW4gc3VzcGVuZCBzdGF0ZS4KPiA+Pgo+ID4+IFRob3VnaCBkaXNwbGF5IGlzIGlu IERDOSBidXQgc3lzdGVtIGNhbiBiZSBpbiBTMCBvciBTMGkzIHN0YXRlLgo+ID4+IEhvdCBwbHVn IGR1cmluZyBTMCBzdGF0ZSB3aWxsIGdlbmVyYXRlIGRlX3BvcnRfaW50ZXJydXB0IGJ1dCBpZgo+ ID4+IHN5c3RlbSBpcyBpbiBTMGkzIHN0YXRlIHRoZW4gZGlzcGxheSBkcml2ZXIgd2lsbCBnZXQg aG90cGx1Zwo+ID4+IGludGVycnVwdCBhcyBwY3VfaHBkX2ludGVycnVwdCB3aGljaCB3aWxsIGNv bWUgdmlhIHBtYy4gU28KPiA+PiBhZGRlZCB0aGUgaW50ZXJydXB0IGhhbmRsaW5nIGZvciBwY3Ug aHBkIGludGVycnVwdC4KPiA+Pgo+ID4+IFNpZ25lZC1vZmYtYnk6IEFuaW1lc2ggTWFubmEgPGFu aW1lc2gubWFubmFAaW50ZWwuY29tPgo+ID4+IFNpZ25lZC1vZmYtYnk6IEEuU3VuaWwgS2FtYXRo IDxzdW5pbC5rYW1hdGhAaW50ZWwuY29tPgo+ID4+IC0tLQo+ID4+ICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9pcnEuYyB8IDU2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tCj4gPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIHwgMTIgKysrKysr KysrCj4gPj4gICAyIGZpbGVzIGNoYW5nZWQsIDY1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25z KC0pCj4gPj4gICBtb2RlIGNoYW5nZSAxMDA2NDQgPT4gMTAwNzU1IGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfaXJxLmMKPiA+Pgo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ID4+IG9sZCBt b2RlIDEwMDY0NAo+ID4+IG5ldyBtb2RlIDEwMDc1NQo+ID4+IGluZGV4IGNiOGE3NWYuLjJmOWI2 MDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCj4gPj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ID4+IEBAIC0xMTAsOSArMTEwLDkgQEAK PiA+PiAgIAo+ID4+ICAgLyogQlhUIGhwZCBsaXN0ICovCj4gPj4gICBzdGF0aWMgY29uc3QgdTMy IGhwZF9ieHRbSFBEX05VTV9QSU5TXSA9IHsKPiA+PiAtCVtIUERfUE9SVF9BXSA9IEJYVF9ERV9Q T1JUX0hQX0RESUEsCj4gPj4gLQlbSFBEX1BPUlRfQl0gPSBCWFRfREVfUE9SVF9IUF9ERElCLAo+ ID4+IC0JW0hQRF9QT1JUX0NdID0gQlhUX0RFX1BPUlRfSFBfRERJQwo+ID4+ICsJW0hQRF9QT1JU X0FdID0gKEJYVF9ERV9QT1JUX0hQX0RESUEgfCBCWFRfUENVX0RDOV9IUF9ERElBKSwKPiA+PiAr CVtIUERfUE9SVF9CXSA9IChCWFRfREVfUE9SVF9IUF9ERElCIHwgQlhUX1BDVV9EQzlfSFBfRERJ QiksCj4gPj4gKwlbSFBEX1BPUlRfQ10gPSAoQlhUX0RFX1BPUlRfSFBfRERJQyB8IEJYVF9QQ1Vf REM5X0hQX0RESUMpCj4gPiBocGRfYnh0X3BjdVtdCj4gVGhhbmtzIFZpbGxlIGZvciByZXZpZXcu Cj4geWVzLCB3aWxsIGFkZCBhIHNlcGFyYXRlIHN0cnVjdCBmb3IgcGN1Lgo+ID4KPiA+PiAgIH07 Cj4gPj4gICAKPiA+PiAgIC8qIElJUiBjYW4gdGhlb3JldGljYWxseSBxdWV1ZSB1cCB0d28gZXZl bnRzLiBCZSBwYXJhbm9pZC4gKi8KPiA+PiBAQCAtMjQ2Myw2ICsyNDYzLDI0IEBAIHN0YXRpYyB2 b2lkIGJ4dF9ocGRfaXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAo+ID4+ICAgCQkJRFJNX0VSUk9SKCJUaGUgbWFzdGVyIGNvbnRyb2wgaW50ZXJydXB0IGxpZWQg KERFIFBPUlQpIVxuIik7Cj4gPj4gICAJfQo+ID4+ICAgCj4gPj4gKwlpZiAobWFzdGVyX2N0bCAm IEdFTjhfUENVX0lSUSkgewo+ID4+ICsJCWlpciA9IEk5MTVfUkVBRChHRU44X1BDVV9JSVIpOwo+ ID4+ICsJCWlmIChpaXIpIHsKPiA+PiArCQkJdTMyIHRtcF9tYXNrOwo+ID4+ICsKPiA+IFBsZWFz ZSBhZGQgYSBwcm9wZXIgcGN1IGlycSBhY2svaGFuZGxlciBwYWlyLiBJIGFjdHVhbGx5IGhhdmUg c3VjaCBhCj4gPiB0aGluZyBzaXR0aW5nIG9uIGEgYnJhbmNoOgo+ID4KPiA+IGdpdDovL2dpdGh1 Yi5jb20vdnN5cmphbGEvbGludXguZ2l0IHBjb2RlX2lycQo+IERvd25sb2FkZWQgdGhlIGNvZGUs IGNhbiB5b3UgcGxlYXNlIGhlbHAgd2l0aCB0aGUgY29tbWl0IHlvdSBhcmUgcmVmZXJyaW5nLgo+ IEkgY2FuIHNlZSBzb21lIG9sZCBjb21taXQgYXMgbGFzdCBjb21taXQgKHdpbGwgdHJ5IHRvIHN5 bmMgd2l0aCB5b3Ugb3ZlciAKPiBpcmMpOgo+IGFtYW5uYUBEaXNwRGV2On4vUFJPSkVDVF9DT0RF QkFTRS9kcm0taW50ZWwtdmlsbGUvcGNvZGVfaXJxJCBnaXQgbG9nCj4gY29tbWl0IDIwNjI0ZDE3 OTYzYzczN2JiZDlmMjQyNDAyYmYzMTM2Y2I2NjRkMTAKPiBNZXJnZTogOWEwOGRhMSBmNDI3NGUy Cj4gQXV0aG9yOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRhdGlvbi5vcmc+ Cj4gRGF0ZTogICBXZWQgQXByIDggMTU6MTI6MjUgMjAxNSAtMDcwMAo+IAo+ICAgICAgTWVyZ2Ug YnJhbmNoICdkcm0tZml4ZXMnIG9mIGdpdDovL3Blb3BsZS5mcmVlZGVza3RvcC5vcmcvfmFpcmxp ZWQvbGludXgKCmdpdCBjaGVja291dCBwY29kZV9pcnEKCj4gCj4gCj4gPgo+ID4+ICsJCQlJOTE1 X1dSSVRFKEdFTjhfUENVX0lJUiwgaWlyKTsKPiA+PiArCQkJcmV0ID0gSVJRX0hBTkRMRUQ7Cj4g Pj4gKwkJCWlmIChJU19CUk9YVE9OKGRldl9wcml2KSkgewo+ID4+ICsJCQkJdG1wX21hc2sgPSBp aXIgJiBCWFRfUENVX0RDOV9IT1RQTFVHX01BU0s7Cj4gPj4gKwkJCQlpZiAodG1wX21hc2spCj4g Pj4gKwkJCQkJYnh0X2hwZF9pcnFfaGFuZGxlcihkZXZfcHJpdiwgdG1wX21hc2ssCj4gPj4gKwkJ CQkJCQlocGRfYnh0KTsKPiA+IFVtbS4gRG9lcyB0aGUgUENIX0hPVFBMVUcgcmVnIGFjdHVhbGx5 IHdvcmsgaW4gdGhpcyAiaHBkIHJlZGlyZWN0ZWQgdG8KPiA+IHBjdSIgc3RhdGU/IEFzIGluIGFy ZSB3ZSBnb2luZyB0byBkZXRlY3QgbG9uZyB2cy4gc2hvcnQgcHVsc2VzIGNvcnJlY3RseQo+ID4g aWYgeW91IGp1c3QgdXNlIGJ4dF9ocGRfaXJxX2hhbmRsZXIoKT8KPiBBZnRlciBwcm9ncmFtbWlu ZyB0aGUgUE1DX0hQRF9DVEwgcmVnaXN0ZXIgd2UgY2FuIGdldCBQQ1UgaW50ZXJydXB0IG9ubHkg Cj4gZHVyaW5nIFMwaXggZm9yIEhQRC4KPiBBRkFJSyBmb3IgYm90aCBEUCBhbmQgSERNSSB3ZSB3 aWxsIGJlIGdldHRpbmcgbG9uZyBwdWxzZSBmb3IgaG90cGx1Zy4KPiBBbmQgSW4gbm9uLVMwaXgg c2NlbmFyaW8gSFBEIGludGVycnVwdCB3aWxsIGFsd2F5cyBjb21lIGZyb20gREVfUE9SVC4gU28g Cj4gZG8gd2UgbmVlZCB0byBoYW5kbGUgc2hvcnQgcHVsc2UgaW50ZXJydXB0PwoKU2hvcnQgcHVs c2UgcHJvYmFibHkgaXNuJ3QgbmVlZGVkIGR1cmluZyBzMGl4IHNpbmNlIEkgcHJlc3VtZSB3ZSBj YW4ndApoYXZlIGFueSBhY3RpdmUgZGlzcGxheXMgYW55d2F5LiBUaGUgb25seSBzbGlnaHQgY29u Y2VybiBtaWdodCBiZSBEUApicmFuY2ggZGV2aWNlcyB3aGljaCB3b3VsZCBzaWduYWwgZG93bnN0 cmVhbSBwb3J0IEhQRHMgdmlhIGEgc2hvcnQKcHVsc2UuIEkgaGF2ZSBhIHZhZ3VlIHJlY29sbGVj dGlvbiB0aGF0IHRoZXJlIG1pZ2h0IGJlIGEgd2F5IHRvIGFza2UKdGhlbSBmb3IgYSBsb25nIEhQ RCBpbnN0ZWFkIHZpYSBzb21lIERQQ0QgcmVnaXN0ZXIuCgo+ID4KPiA+PiArCQkJfSBlbHNlCj4g Pj4gKwkJCQlEUk1fRVJST1IoIlVuZXhwZWN0ZWQgUENVIGludGVycnVwdFxuIik7Cj4gPj4gKwkJ fSBlbHNlCj4gPj4gKwkJCURSTV9FUlJPUigiVGhlIG1hc3RlciBjb250cm9sIGludGVycnVwdCBs aWVkIChQQ1UpIVxuIik7Cj4gPj4gKwl9Cj4gPj4gKwo+ID4+ICAgCWZvcl9lYWNoX3BpcGUoZGV2 X3ByaXYsIHBpcGUpIHsKPiA+PiAgIAkJdTMyIGZsaXBfZG9uZSwgZmF1bHRfZXJyb3JzOwo+ID4+ ICAgCj4gPj4gQEAgLTQyOTQsNiArNDMxMiwxOSBAQCB2b2lkIGludGVsX2lycV91bmluc3RhbGwo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4+ICAgCWRldl9wcml2LT5wbS5p cnFzX2VuYWJsZWQgPSBmYWxzZTsKPiA+PiAgIH0KPiA+PiAgIAo+ID4+ICtzdGF0aWMgdm9pZCBi eHRfZW5hYmxlX3BjdV9pbnRlcnJ1cHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQo+ID4+ICt7Cj4gPj4gKwl1MzIgZGVfcGN1X2hwZF9lbmFibGVfbWFzaywgZGVfcGN1X2ltciwg ZGVfcGN1X2llcjsKPiA+PiArCj4gPj4gKwlkZV9wY3VfaHBkX2VuYWJsZV9tYXNrID0gR0VOOV9E RV9QQ1VfUE9SVEFfSE9UUExVRyB8Cj4gPj4gKwkJCQlHRU45X0RFX1BDVV9QT1JUQl9IT1RQTFVH IHwKPiA+PiArCQkJCUdFTjlfREVfUENVX1BPUlRDX0hPVFBMVUc7Cj4gPj4gKwo+ID4+ICsJZGVf cGN1X2ltciA9IChJOTE1X1JFQUQoR0VOOF9QQ1VfSU1SKSAmIDB4MCk7Cj4gPj4gKwlkZV9wY3Vf aWVyID0gKEk5MTVfUkVBRChHRU44X1BDVV9JRVIpIHwgZGVfcGN1X2hwZF9lbmFibGVfbWFzayk7 Cj4gPiBZb3UnbGwgd2FudCBhIGJkd191cGRhdGVfcGN1X2lycSgpIG9yIHNvbWUgc3VjaCB0aGlu Zy4KPiBZZXMsIGJldHRlciB0byB1c2UgYmR3IHRhZywgd2lsbCB1cGRhdGUgaW4gbmV4dCBwYXRj aHNldC4KPiA+Cj4gPj4gKwlHRU41X0lSUV9JTklUKEdFTjhfUENVXywgZGVfcGN1X2ltciwgZGVf cGN1X2llcik7Cj4gPj4gK30KPiA+PiArCj4gPj4gICAvKioKPiA+PiAgICAqIGludGVsX3J1bnRp bWVfcG1fZGlzYWJsZV9pbnRlcnJ1cHRzIC0gcnVudGltZSBpbnRlcnJ1cHQgZGlzYWJsaW5nCj4g Pj4gICAgKiBAZGV2X3ByaXY6IGk5MTUgZGV2aWNlIGluc3RhbmNlCj4gPj4gQEAgLTQzMDMsOCAr NDMzNCwyNyBAQCB2b2lkIGludGVsX2lycV91bmluc3RhbGwoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ID4+ICAgICovCj4gPj4gICB2b2lkIGludGVsX3J1bnRpbWVfcG1fZGlz YWJsZV9pbnRlcnJ1cHRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+PiAg IHsKPiA+PiArCXVuc2lnbmVkIGxvbmcgZmxhZ3MgPSAwOwo+ID4+ICsKPiA+PiAgIAlkZXZfcHJp di0+ZHJtLmRyaXZlci0+aXJxX3VuaW5zdGFsbCgmZGV2X3ByaXYtPmRybSk7Cj4gPj4gICAJZGV2 X3ByaXYtPnBtLmlycXNfZW5hYmxlZCA9IGZhbHNlOwo+ID4+ICsKPiA+PiArCWlmIChJU19CUk9Y VE9OKGRldl9wcml2KSAmJiBkZXZfcHJpdi0+dmJ0LmhwZF93YWtldXBfZW5hYmxlZCkgewo+ID4+ ICsKPiA+PiArCQkvKiBFbmFibGUgSFBEIHJlbGF0ZWQgaW50ZXJydXB0cyBkdXJpbmcgREM5IGZv ciBIUEQgd2FrZXVwICovCj4gPj4gKwo+ID4+ICsJCUk5MTVfV1JJVEUoR0VOOF9NQVNURVJfSVJR LCBHRU44X01BU1RFUl9JUlFfQ09OVFJPTCk7Cj4gPj4gKwkJUE9TVElOR19SRUFEKEdFTjhfTUFT VEVSX0lSUSk7Cj4gPj4gKwo+ID4+ICsJCXNwaW5fbG9ja19pcnFzYXZlKCZkZXZfcHJpdi0+aXJx X2xvY2ssIGZsYWdzKTsKPiA+PiArCQlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuaHBkX2lycV9zZXR1 cCkKPiA+PiArCQkJZGV2X3ByaXYtPmRpc3BsYXkuaHBkX2lycV9zZXR1cChkZXZfcHJpdik7Cj4g Pj4gKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2X3ByaXYtPmlycV9sb2NrLCBmbGFncyk7 Cj4gPj4gKwo+ID4+ICsJCWJ4dF9lbmFibGVfcGN1X2ludGVycnVwdChkZXZfcHJpdik7Cj4gPj4g Kwo+ID4+ICsJCWRldl9wcml2LT5wbS5pcnFzX2VuYWJsZWQgPSB0cnVlOwo+ID4+ICsJfQo+ID4+ ICAgCXN5bmNocm9uaXplX2lycShkZXZfcHJpdi0+ZHJtLmlycSk7Cj4gPj4gICB9Cj4gPj4gICAK PiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+PiBpbmRleCAzMzYxZDdmLi5kZjg5MDI1IDEw MDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPj4gQEAgLTYwMzAsNiArNjAzMCwx OCBAQCBlbnVtIHsKPiA+PiAgICNkZWZpbmUgR0VOOF9QQ1VfSUlSIF9NTUlPKDB4NDQ0ZTgpCj4g Pj4gICAjZGVmaW5lIEdFTjhfUENVX0lFUiBfTU1JTygweDQ0NGVjKQo+ID4+ICAgCj4gPj4gKy8q IEJYVCBQQ1UgREM5IGhvdHBsdWcgY29udHJvbCAqLwo+ID4+ICsjZGVmaW5lIEJYVF9QQ1VfREM5 X0hQX0RESUEJCSgxPDwzMSkKPiA+PiArI2RlZmluZSBCWFRfUENVX0RDOV9IUF9ERElCCQkoMTw8 MzApCj4gPj4gKyNkZWZpbmUgQlhUX1BDVV9EQzlfSFBfRERJQwkJKDE8PDI5KQo+ID4+ICsjZGVm aW5lIEJYVF9QQ1VfREM5X0hPVFBMVUdfTUFTSwkoQlhUX1BDVV9EQzlfSFBfRERJQSB8IFwKPiA+ PiArCQkJCQkgQlhUX1BDVV9EQzlfSFBfRERJQiB8IFwKPiA+PiArCQkJCQkgQlhUX1BDVV9EQzlf SFBfRERJQykKPiA+PiArCj4gPj4gKyNkZWZpbmUgR0VOOV9ERV9QQ1VfUE9SVEFfSE9UUExVRyAg ICAgICgxIDw8IDMxKQo+ID4+ICsjZGVmaW5lIEdFTjlfREVfUENVX1BPUlRCX0hPVFBMVUcgICAg ICAoMSA8PCAzMCkKPiA+PiArI2RlZmluZSBHRU45X0RFX1BDVV9QT1JUQ19IT1RQTFVHICAgICAg KDEgPDwgMjkpCj4gPiBUd28gbmFtZXMgZm9yIHRoZSBzYW1lIGJpdHM/Cj4gd2lsbCBjb3JyZWN0 IGl0Lgo+IAo+IC0gQW5pbWVzaAo+ID4KPiA+PiArCj4gPj4gICAjZGVmaW5lIElMS19ESVNQTEFZ X0NISUNLRU4yCV9NTUlPKDB4NDIwMDQpCj4gPj4gICAvKiBSZXF1aXJlZCBvbiBhbGwgSXJvbmxh a2UgYW5kIFNhbmR5YnJpZGdlIGFjY29yZGluZyB0byB0aGUgQi1TcGVjLiAqLwo+ID4+ICAgI2Rl ZmluZSAgSUxLX0VMUElOXzQwOV9TRUxFQ1QJKDEgPDwgMjUpCj4gPj4gLS0gCj4gPj4gMS45LjEK PiA+Pgo+ID4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Cj4gPj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKPiA+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==