From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm/i915: Clear PIPE.STAT before IIR on VLV/CHV Date: Tue, 13 Oct 2015 16:04:12 +0300 Message-ID: <87wpuq538z.fsf@intel.com> References: <1439573072-8927-1-git-send-email-chris@chris-wilson.co.uk> <1441106375.6078.21.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 422CD6EB33 for ; Tue, 13 Oct 2015 06:00:48 -0700 (PDT) In-Reply-To: <1441106375.6078.21.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: imre.deak@intel.com, Chris Wilson Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAwMSBTZXAgMjAxNSwgSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPiB3cm90 ZToKPiBPbiBwZSwgMjAxNS0wOC0xNCBhdCAxODoyNCArMDEwMCwgQ2hyaXMgV2lsc29uIHdyb3Rl Ogo+PiBUaGUgUElQRS5TVEFUIHJlZ2lzdGVyIGNvbnRhaW5zIHNvbWUgaW50ZXJydXB0IHN0YXR1 cyBiaXRzIHBlciBwaXBlLCBhbmQKPj4gaWYgYXNzZXJ0IGNhdXNlIHRoZSBjb3JyZXNwb25kaW5n IGJpdCBpbiB0aGUgSUlSIHRvIGJlIGFzc2VydGVkICh0aHVzCj4+IHJhaXNpbmcgYW4gaW50ZXJy dXB0KS4gV2hlbiBoYW5kbGluZyBhbiBpbnRlcnJ1cHQsIHdlIHNob3VsZCBjbGVhciB0aGUKPj4g UElQRS5TVEFUIGdlbmVyYXRvciBmaXJzdCBiZWZvcmUgY2xlYXJpbmcgdGhlIElJUiBzbyB0aGF0 IHdlIGRvIG5vdCBtaXNzCj4+IGV2ZW50cyBvciBjYXVzZSBzcHVyaW91cyB3b3JrLgo+PiAKPj4g VGhpcyBvcmRlcmluZyB3YXMgYnJva2VuIGJ5Cj4+IAo+PiBjb21taXQgMjdiNmMxMjI1MTJjYTMw Mzk5YmIxYjM5Y2M0MmVkYTgzOTAxZjMwNAo+PiBBdXRob3I6IE9zY2FyIE1hdGVvIDxvc2Nhci5t YXRlb0BpbnRlbC5jb20+Cj4+IERhdGU6ICAgTW9uIEp1biAxNiAxNjoxMTowMCAyMDE0ICswMTAw Cj4+IAo+PiAgICAgZHJtL2k5MTUvY2h2OiBBY2sgaW50ZXJydXB0cyBiZWZvcmUgaGFuZGxpbmcg dGhlbSAoQ0hWKQo+PiAKPj4gY29tbWl0IDNmZjYwZjg5YmM0ODM2NTgzZjViZDE5NTA2MmYxNmM1 NjNiZDk3YWEKPj4gQXV0aG9yOiBPc2NhciBNYXRlbyA8b3NjYXIubWF0ZW9AaW50ZWwuY29tPgo+ PiBEYXRlOiAgIE1vbiBKdW4gMTYgMTY6MTA6NTggMjAxNCArMDEwMAo+PiAKPj4gICAgIGRybS9p OTE1L3ZsdjogQWNrIGludGVycnVwdHMgYmVmb3JlIGhhbmRsaW5nIHRoZW0gKFZMVikKPj4gCj4+ IGluIGF0dGVtcHRpbmcgdG8gcmVkdWNlIHRoZSBhbW91bnQgb2Ygd29yayBkb25lIGJldHdlZW4g cmVjZWl2aW5nIGFuCj4+IGludGVycnVwdCBhbmQgYWNrbm93bGVkZ2luZyBpdC4gSW4gbGlnaHQg b2YgdGhpcyBtb3RpdmF0aW9uLCBzcGxpdCB0aGUKPj4gcGlwZXN0YXQgaW50ZXJydXB0IGhhbmRs ZXIgaW50byB0d28sIG9uZSB0byBhY2tub3dsZWRnZSBhbmQgY2xlYXIgdGhlCj4+IGludGVycnVw dCBhbmQgYSBsYXRlciBwYXNzIHRvIHByb2Nlc3MgaXQuCj4KPiBZZXMsIGFmdGVyIHRoaW5raW5n IGFib3V0IGhpZXJhcmNoaWNhbCBpbnRlcnJ1cHQgY2xlYXJpbmcvaGFuZGxpbmcgdGhpcwo+IG1h a2VzIGNvbXBsZXRlIHNlbnNlLiBJdCB3YXMgZXZlbiBoaW50ZWQgYXQgYnkgVmlsbGUgaW4gdGhl IGRpc2N1c3Npb24KPiBvZiB0aGUgYWJvdmUgcGF0Y2hlcywgYnV0IEkgbWlzc2VkIGhpcyBwb2lu dCBiYWNrIHRoZW4uCj4KPj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJp cy13aWxzb24uY28udWs+Cj4+IENjOiBPc2NhciBNYXRlbyA8b3NjYXIubWF0ZW9AaW50ZWwuY29t Pgo+PiBDYzogQm9iIEJlY2tldHQgPHJvYmVydC5iZWNrZXR0QGludGVsLmNvbT4KPj4gQ2M6IElt cmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KPj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmll bC52ZXR0ZXJAZmZ3bGwuY2g+Cj4+IC0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9p cnEuYyB8IDU1ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4+ICAx IGZpbGUgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCj4+IAo+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfaXJxLmMKPj4gaW5kZXggNjYwNjQ1MTFjZmZiLi45MmJkZmU2ZjkxZDgg MTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+PiBAQCAtMTQ1NywyNCArMTQ1NywyMSBA QCBzdGF0aWMgdm9pZCBnZW42X3Jwc19pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsIHUzMiBwbV9paXIpCj4+ICAJfQo+PiAgfQo+PiAgCj4+IC1zdGF0aWMgYm9v bCBpbnRlbF9waXBlX2hhbmRsZV92Ymxhbmsoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgZW51bSBw aXBlIHBpcGUpCj4+ICtzdGF0aWMgaW5saW5lIGJvb2wKPj4gK2ludGVsX3BpcGVfaGFuZGxlX3Zi bGFuayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVtIHBpcGUgcGlwZSkKPj4gIHsKPj4gLQlp ZiAoIWRybV9oYW5kbGVfdmJsYW5rKGRldiwgcGlwZSkpCj4+IC0JCXJldHVybiBmYWxzZTsKPj4g LQo+PiAtCXJldHVybiB0cnVlOwo+PiArCXJldHVybiBkcm1faGFuZGxlX3ZibGFuayhkZXYsIHBp cGUpOwo+PiAgfQo+PiAgCj4+IC1zdGF0aWMgdm9pZCB2YWxsZXl2aWV3X3BpcGVzdGF0X2lycV9o YW5kbGVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHUzMiBpaXIpCj4+ICtzdGF0aWMgdm9pZCB2 YWxsZXl2aWV3X3BpcGVzdGF0X2lycV9nZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAo+PiArCQkJCQl1MzIgaWlyLCB1MzIgKnBpcGVfc3RhdHMpCj4+ICB7Cj4+IC0Jc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gLQl1MzIg cGlwZV9zdGF0c1tJOTE1X01BWF9QSVBFU10gPSB7IH07Cj4+ICAJaW50IHBpcGU7Cj4+ICAKPj4g IAlzcGluX2xvY2soJmRldl9wcml2LT5pcnFfbG9jayk7Cj4+ICAJZm9yX2VhY2hfcGlwZShkZXZf cHJpdiwgcGlwZSkgewo+PiArCQl1MzIgbWFzaywgdmFsLCBpaXJfYml0ID0gMDsKPj4gIAkJaW50 IHJlZzsKPj4gLQkJdTMyIG1hc2ssIGlpcl9iaXQgPSAwOwo+PiAgCj4+ICAJCS8qCj4+ICAJCSAq IFBJUEVTVEFUIGJpdHMgZ2V0IHNpZ25hbGxlZCBldmVuIHdoZW4gdGhlIGludGVycnVwdCBpcwo+ PiBAQCAtMTQ4Niw2ICsxNDgzLDcgQEAgc3RhdGljIHZvaWQgdmFsbGV5dmlld19waXBlc3RhdF9p cnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1MzIgaWlyKQo+PiAgCj4+ICAJCS8q IGZpZm8gdW5kZXJydW5zIGFyZSBmaWx0ZXJlcmVkIGluIHRoZSB1bmRlcnJ1biBoYW5kbGVyLiAq Lwo+PiAgCQltYXNrID0gUElQRV9GSUZPX1VOREVSUlVOX1NUQVRVUzsKPj4gKwkJbWFzayB8PSBQ SVBFU1RBVF9JTlRfRU5BQkxFX01BU0s7Cj4+ICAKPj4gIAkJc3dpdGNoIChwaXBlKSB7Cj4+ICAJ CWNhc2UgUElQRV9BOgo+PiBAQCAtMTUwMSwyMSArMTQ5OSwyNSBAQCBzdGF0aWMgdm9pZCB2YWxs ZXl2aWV3X3BpcGVzdGF0X2lycV9oYW5kbGVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHUzMiBp aXIpCj4+ICAJCWlmIChpaXIgJiBpaXJfYml0KQo+PiAgCQkJbWFzayB8PSBkZXZfcHJpdi0+cGlw ZXN0YXRfaXJxX21hc2tbcGlwZV07Cj4+ICAKPj4gLQkJaWYgKCFtYXNrKQo+PiAtCQkJY29udGlu dWU7Cj4+IC0KPj4gIAkJcmVnID0gUElQRVNUQVQocGlwZSk7Cj4+IC0JCW1hc2sgfD0gUElQRVNU QVRfSU5UX0VOQUJMRV9NQVNLOwo+PiAtCQlwaXBlX3N0YXRzW3BpcGVdID0gSTkxNV9SRUFEKHJl ZykgJiBtYXNrOwo+PiArCQl2YWwgPSBJOTE1X1JFQUQocmVnKTsKPj4gKwkJcGlwZV9zdGF0c1tw aXBlXSB8PSB2YWwgJiBtYXNrOwo+PiAgCj4+ICAJCS8qCj4+ICAJCSAqIENsZWFyIHRoZSBQSVBF KlNUQVQgcmVncyBiZWZvcmUgdGhlIElJUgo+PiAgCQkgKi8KPj4gLQkJaWYgKHBpcGVfc3RhdHNb cGlwZV0gJiAoUElQRV9GSUZPX1VOREVSUlVOX1NUQVRVUyB8Cj4+IC0JCQkJCVBJUEVTVEFUX0lO VF9TVEFUVVNfTUFTSykpCj4+IC0JCQlJOTE1X1dSSVRFKHJlZywgcGlwZV9zdGF0c1twaXBlXSk7 Cj4+ICsJCWlmICh2YWwgJiAoUElQRV9GSUZPX1VOREVSUlVOX1NUQVRVUyB8Cj4+ICsJCQkgICBQ SVBFU1RBVF9JTlRfU1RBVFVTX01BU0spKQo+PiArCQkJSTkxNV9XUklURShyZWcsIHZhbCk7Cj4+ ICAJfQo+PiAgCXNwaW5fdW5sb2NrKCZkZXZfcHJpdi0+aXJxX2xvY2spOwo+PiArfQo+PiArCj4+ ICtzdGF0aWMgdm9pZCB2YWxsZXl2aWV3X3BpcGVzdGF0X2lycV9oYW5kbGVyKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPj4gKwkJCQkJICAgIHUzMiAqcGlwZV9zdGF0cykKPj4g K3sKPj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZGV2X3ByaXYtPmRldjsKPj4gKwlpbnQg cGlwZTsKPj4gIAo+PiAgCWZvcl9lYWNoX3BpcGUoZGV2X3ByaXYsIHBpcGUpIHsKPj4gIAkJaWYg KHBpcGVfc3RhdHNbcGlwZV0gJiBQSVBFX1NUQVJUX1ZCTEFOS19JTlRFUlJVUFRfU1RBVFVTICYm Cj4+IEBAIC0xNTc4LDYgKzE1ODAsNyBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgdmFsbGV5dmlld19p cnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkICphcmcpCj4+ICB7Cj4+ICAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGFyZzsKPj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk ZXYtPmRldl9wcml2YXRlOwo+PiArCXUzMiBwaXBlX3N0YXRzW0k5MTVfTUFYX1BJUEVTXSA9IHt9 Owo+PiAgCXUzMiBpaXIsIGd0X2lpciwgcG1faWlyOwo+PiAgCWlycXJldHVybl90IHJldCA9IElS UV9OT05FOwo+PiAgCj4+IEBAIC0xNjAwLDYgKzE2MDMsNyBAQCBzdGF0aWMgaXJxcmV0dXJuX3Qg dmFsbGV5dmlld19pcnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkICphcmcpCj4+ICAJCQkvKiBDb25z dW1lIHBvcnQgYmVmb3JlIGNsZWFyaW5nIElJUiBvciB3ZSdsbCBtaXNzIGV2ZW50cyAqLwo+PiAg CQkJaWYgKGlpciAmIEk5MTVfRElTUExBWV9QT1JUX0lOVEVSUlVQVCkKPj4gIAkJCQlpOXh4X2hw ZF9pcnFfaGFuZGxlcihkZXYpOwo+PiArCQkJdmFsbGV5dmlld19waXBlc3RhdF9pcnFfZ2V0KGRl dl9wcml2LCBpaXIsIHBpcGVfc3RhdHMpOwo+Cj4gVGhpcyBzaG91bGQgYmUgY2FsbGVkIGV2ZW4g d2l0aCBpaXI9PTAgdG8gZ2V0IGEgcG9zc2libGUgdW5kZXJmbG93IGZsYWcuCj4gQWx0aG91Z2gg SSByZWFsaXplIG5vdyB0aGlzIHdhc24ndCBoYW5kbGVkIHByb3Blcmx5IGV2ZW4gYmVmb3JlIHRo aXMKPiBwYXRjaCwgeW91IG5lZWRlZCBhdCBsZWFzdCBvbmUgb2YgdGhlIGd0X2lpci9wbV9paXIv aWlyIGJpdHMgdG8gYmUgc2V0Lgo+Cj4+ICAJCQlJOTE1X1dSSVRFKFZMVl9JSVIsIGlpcik7Cj4+ ICAJCX0KPj4gIAo+PiBAQCAtMTYxMiwxMiArMTYxNiwxMyBAQCBzdGF0aWMgaXJxcmV0dXJuX3Qg dmFsbGV5dmlld19pcnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkICphcmcpCj4+ICAJCQlzbmJfZ3Rf aXJxX2hhbmRsZXIoZGV2LCBkZXZfcHJpdiwgZ3RfaWlyKTsKPj4gIAkJaWYgKHBtX2lpcikKPj4g IAkJCWdlbjZfcnBzX2lycV9oYW5kbGVyKGRldl9wcml2LCBwbV9paXIpOwo+PiAtCQkvKiBDYWxs IHJlZ2FyZGxlc3MsIGFzIHNvbWUgc3RhdHVzIGJpdHMgbWlnaHQgbm90IGJlCj4+IC0JCSAqIHNp Z25hbGxlZCBpbiBpaXIgKi8KPj4gLQkJdmFsbGV5dmlld19waXBlc3RhdF9pcnFfaGFuZGxlcihk ZXYsIGlpcik7Cj4+ICAJfQo+PiAgCj4+ICBvdXQ6Cj4+ICsKPj4gKwkvKiBDYWxsIHJlZ2FyZGxl c3MsIGFzIHNvbWUgc3RhdHVzIGJpdHMgbWlnaHQgbm90IGJlCj4+ICsJICogc2lnbmFsbGVkIGlu IGlpciAqLwo+PiArCXZhbGxleXZpZXdfcGlwZXN0YXRfaXJxX2hhbmRsZXIoZGV2X3ByaXYsIHBp cGVfc3RhdHMpOwo+PiAgCXJldHVybiByZXQ7Cj4+ICB9Cj4+ICAKPj4gQEAgLTE2MjUsNiArMTYz MCw3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBjaGVycnl2aWV3X2lycV9oYW5kbGVyKGludCBpcnEs IHZvaWQgKmFyZykKPj4gIHsKPj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gYXJnOwo+PiAg CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4+ ICsJdTMyIHBpcGVfc3RhdHNbSTkxNV9NQVhfUElQRVNdID0ge307Cj4+ICAJdTMyIG1hc3Rlcl9j dGwsIGlpcjsKPj4gIAlpcnFyZXR1cm5fdCByZXQgPSBJUlFfTk9ORTsKPj4gIAo+PiBAQCAtMTY0 OCwxOCArMTY1NCwxOSBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgY2hlcnJ5dmlld19pcnFfaGFuZGxl cihpbnQgaXJxLCB2b2lkICphcmcpCj4+ICAJCQkvKiBDb25zdW1lIHBvcnQgYmVmb3JlIGNsZWFy aW5nIElJUiBvciB3ZSdsbCBtaXNzIGV2ZW50cyAqLwo+PiAgCQkJaWYgKGlpciAmIEk5MTVfRElT UExBWV9QT1JUX0lOVEVSUlVQVCkKPj4gIAkJCQlpOXh4X2hwZF9pcnFfaGFuZGxlcihkZXYpOwo+ PiArCQkJdmFsbGV5dmlld19waXBlc3RhdF9pcnFfZ2V0KGRldl9wcml2LCBpaXIsIHBpcGVfc3Rh dHMpOwo+PiAgCQkJSTkxNV9XUklURShWTFZfSUlSLCBpaXIpOwo+PiAgCQl9Cj4+ICAKPj4gIAkJ Z2VuOF9ndF9pcnFfaGFuZGxlcihkZXZfcHJpdiwgbWFzdGVyX2N0bCk7Cj4KPiBJIGd1ZXNzIHlv dSdsbCB3YW50IHRvIGNsZWFyL2hhbmRsZSB0aGVzZSBJSVJzIGluIHRoZSBzYW1lIHdheSwgYnV0 IHRoYXQKPiB3b3VsZCBiZSBhIGZvbGxvdy11cCBjaGFuZ2UuCj4KPj4gIAo+PiAtCQkvKiBDYWxs IHJlZ2FyZGxlc3MsIGFzIHNvbWUgc3RhdHVzIGJpdHMgbWlnaHQgbm90IGJlCj4+IC0JCSAqIHNp Z25hbGxlZCBpbiBpaXIgKi8KPj4gLQkJdmFsbGV5dmlld19waXBlc3RhdF9pcnFfaGFuZGxlcihk ZXYsIGlpcik7Cj4+IC0KPj4gIAkJSTkxNV9XUklURV9GVyhHRU44X01BU1RFUl9JUlEsIERFX01B U1RFUl9JUlFfQ09OVFJPTCk7Cj4KPiBUaGUgYWJvdmUgaXMgc3RpbGwgYSByZWd1bGFyIEk5MTVf V1JJVEUvUE9TVElOR19SRUFEIGluIC1uaWdodGx5LCBzbwo+IG5lZWRzIGEgcmViYXNlLgoKQ2hy aXMsIGlmIHRoZSBwYXRjaCBpcyBzdGlsbCB2YWxpZCwgcGxlYXNlIHJlYmFzZSBhbmQgcmVwb3N0 LgoKVGhhbmtzLApKYW5pLgoKCj4KPiBXaXRoIG9yIHdpdGhvdXQgZml4aW5nIHRoZSB1bmRlcnJ1 biBmbGFnIHJlYWRvdXQ6Cj4gUmV2aWV3ZWQtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVs LmNvbT4KPgo+PiAgCX0KPj4gIAo+PiArCS8qIENhbGwgcmVnYXJkbGVzcywgYXMgc29tZSBzdGF0 dXMgYml0cyBtaWdodCBub3QgYmUKPj4gKwkgKiBzaWduYWxsZWQgaW4gaWlyICovCj4+ICsJdmFs bGV5dmlld19waXBlc3RhdF9pcnFfaGFuZGxlcihkZXZfcHJpdiwgcGlwZV9zdGF0cyk7Cj4+ICsK Pj4gIAlyZXR1cm4gcmV0Owo+PiAgfQo+PiAgCj4KPgo+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4g U291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==