From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2] drm/i915: Add debugfs to read any DPCD register Date: Fri, 17 Apr 2015 13:00:28 +0300 Message-ID: <20150417100028.GT1237@intel.com> References: <1428493301-20293-1-git-send-email-durgadoss.r@intel.com> <87egnkp3p7.fsf@intel.com> <20150416143239.GQ1237@intel.com> <4D68720C2E767A4AA6A8796D42C8EB5909148431@BGSMSX101.gar.corp.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 ESMTP id CBC066E04B for ; Fri, 17 Apr 2015 03:00:34 -0700 (PDT) Content-Disposition: inline In-Reply-To: <4D68720C2E767A4AA6A8796D42C8EB5909148431@BGSMSX101.gar.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "R, Durgadoss" Cc: "intel-gfx@lists.freedesktop.org" , "Syrjala, Ville" , "Zanoni, Paulo R" List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBBcHIgMTcsIDIwMTUgYXQgMDY6MzM6NTdBTSArMDAwMCwgUiwgRHVyZ2Fkb3NzIHdy b3RlOgo+ID4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID5Gcm9tOiBWaWxsZSBTeXJqw6Rs w6QgW21haWx0bzp2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbV0KPiA+U2VudDogVGh1cnNk YXksIEFwcmlsIDE2LCAyMDE1IDg6MDMgUE0KPiA+VG86IEphbmkgTmlrdWxhCj4gPkNjOiBSLCBE dXJnYWRvc3M7IGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmc7IFN5cmphbGEsIFZpbGxl OyBaYW5vbmksIFBhdWxvIFIKPiA+U3ViamVjdDogUmU6IFtJbnRlbC1nZnhdIFtQQVRDSCB2Ml0g ZHJtL2k5MTU6IEFkZCBkZWJ1Z2ZzIHRvIHJlYWQgYW55IERQQ0QgcmVnaXN0ZXIKPiA+Cj4gPk9u IFRodSwgQXByIDE2LCAyMDE1IGF0IDA1OjA3OjAwUE0gKzAzMDAsIEphbmkgTmlrdWxhIHdyb3Rl Ogo+ID4+IE9uIFdlZCwgMDggQXByIDIwMTUsIER1cmdhZG9zcyBSIDxkdXJnYWRvc3MuckBpbnRl bC5jb20+IHdyb3RlOgo+ID4+ID4gVGhpcyBwYXRjaCBjcmVhdGVzIGEgY29ubmVjdG9yIHNwZWNp ZmljIGRlYnVnZnMKPiA+PiA+IGludGVyZmFjZSB0byByZWFkIGFueSBwYXJ0aWN1bGFyIERQQ0Qg cmVnaXN0ZXIuCj4gPj4gPiBUaGUgRFBDRCByZWdpc3RlciBhZGRyZXNzIChoZXggZm9ybWF0KSBp cyB3cml0dGVuCj4gPj4gPiB0byAnaTkxNV9kcGNkX2FkZHInIGludGVyZmFjZSBhbmQgdGhlIGNv cnJlc3BvbmRpbmcKPiA+PiA+IHZhbHVlIGNhbiBiZSByZWFkIGZyb20gJ2k5MTVfZHBjZF92YWwn IGludGVyZmFjZS4KPiA+PiA+Cj4gPj4gPiBFeGFtcGxlIHVzYWdlOgo+ID4+ID4gZWNobyAweDcw ID4gaTkxNV9kcGNkX2FkZHIKPiA+PiA+IGNhdCBpOTE1X2RwY2RfdmFsCj4gPj4gPiAweDEKPiA+ PiA+Cj4gPj4gPiB2MjogQWRkcmVzcyBKYW5pJ3MgY29tbWVudHMuCj4gPj4KPiA+PiBTbywgY29k ZS13aXNlIHRoaXMgbG9va3MgZ29vZCB0byBtZS4KPiA+Pgo+ID4+IEJ1dCBsaWtlIEkgc2FpZCBp biBteSByZXZpZXcgb2YgdjEsIEkgYW0gdW5kZWNpZGVkIG9uIHdoZXRoZXIgd2Ugd2FudCB0bwo+ ID4+IGhhdmUgdGhpcyBpbnRlcmZhY2Ugb3Igbm90LiBJIGNvdWxkIHJlYWxseSBiZSBwZXJzdWFk ZWQgZWl0aGVyIHdheS4KPiA+Pgo+ID4+IFBlcmhhcHMgVmlsbGUgb3IgUGF1bG8gaGF2ZSBhbiBv cGluaW9uPwo+ID4KPiA+SSB0aGluayBoYXZpbmcgdGhlIGFiaWxpdHkgdG8gcmVhZCAoYW5kIGFs c28gd3JpdGUgYWN0dWFsbHkpIERQQ0Qgd291bGQKPiA+YmUgbmljZS4KPiA+Cj4gPlNvIEkgbGlr ZSB0aGUgaWRlYSwgYnV0IGl0IGRvZXMgc2VlbSBhIGJpdCBsaW1pdGVkIHNpbmNlIGl0IGRvZXNu J3QKPiA+YWxsb3cgd3JpdGVzLiBTbyBwZXJoYXBzIHdlIHNob3VsZCBqdXN0IGV4cG9zZSB0aGUg ZW50aXJlIERQQ0QgYXMgYQo+ID5iaW5hcnkgZmlsZSBhbmQgaW5jbHVkZSBhIHRvb2wgaW4gaS1n LXQgdG8gcmVhZC93cml0ZSBpbmRpdmlkdWFsCj4gPnBpZWNlcz8KPiA+Cj4gPldlIGNvdWxkIGFs c28gaGF2ZSBhIHRvb2wgdG8gcGFyc2UgdGhlIGVudGlyZSB0aGluZyBsaWtlIHdlIGhhdmUKPiA+ Zm9yIHRoZSB2YnQgc3R1ZmYuCj4gCj4gWWVzLCBUaGlzIHNlZW1zIHRvIGJlIGEgZ29vZCBpZGVh LiBJIHdpbGwgc3RhcnQgd29ya2luZyBvbiB0aGlzLgo+IEFsdGhvdWdoIEkgYW0gbm90IHN1cmUg b24gdGhlICd3cml0ZScgcGFydC4uIEkgZ3Vlc3Mgd2UgY2FuIGRpc2N1c3MKPiBhcyB3ZSBnbyBh bG9uZy4uCj4gCj4gQnV0IEkgc3RpbGwgdGhpbmssIGEgcG9pbnRlZCByZWFkL3dyaXRlIHdvdWxk IGFsc28gYmUgdXNlZnVsCj4gYXQgdGltZXMgZm9yIGRlYnVnLiBTbywgSWYgeW91IGFncmVlLCBJ IGNhbiBleHRlbmQgdGhpcyBpbnRlcmZhY2UKPiB0byB0YWtlIHZhbHVlcyBmb3Igd3JpdGUgYXMg d2VsbCBhbmQgc3VibWl0IGEgdjMuCgpGb3IgbWUgYXQgbGVhc3QgaS1nLXQgaXMgYWx3YXlzIGFy b3VuZCBzbyBpZiBhIHNtYWxsIHRvb2wgaXMgbmVlZGVkCnRvIG1ha2UgdGhlIHJlYWQvd3JpdGUg YSBzaW5nbGUgcmVnaXN0ZXIgY2FzZSBlYXN5LCBJJ20gZmluZSB3aXRoCnRoYXQuIFdlIGFueXdh eSBuZWVkIHRvb2xzIHRvIHJlYWQvd3JpdGUgZXZlcnl0aGluZyBlbHNlLCBzbyBJIGRvbid0CnNl ZSBhIGJpZyBkaWZmZXJlbmNlIGhlcmUuIEJ1dCBpZiBvdGhlciBwZW9wbGUgd291bGQgcHJlZmVy IHNvbWV0aGluZwp0aGF0IGRvZXNuJ3QgbmVlZCBhIHNwZWNpZmljIHRvb2wgSSB3b24ndCBvYmpl Y3QgdG8gaXQgZWl0aGVyLgoKPiAKPiBUaGFua3MsCj4gRHVyZ2EKPiAKPiA+Cj4gPj4KPiA+PiBC UiwKPiA+PiBKYW5pLgo+ID4+Cj4gPj4KPiA+PiA+Cj4gPj4gPiBTaWduZWQtb2ZmLWJ5OiBEdXJn YWRvc3MgUiA8ZHVyZ2Fkb3NzLnJAaW50ZWwuY29tPgo+ID4+ID4gLS0tCj4gPj4gPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgfCA4OCArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystCj4gPj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2Lmgg ICAgfCAgMSArCj4gPj4gPiAgMiBmaWxlcyBjaGFuZ2VkLCA4OCBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pCj4gPj4gPgo+ID4+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiA+ PiA+IGluZGV4IDEwY2E1MTEuLmYxZjM2NWUgMTAwNjQ0Cj4gPj4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+ID4+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kZWJ1Z2ZzLmMKPiA+PiA+IEBAIC00ODY1LDYgKzQ4NjUsODcgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgaTkxNV9kcGNkX2ZvcHMgPSB7Cj4gPj4gPiAgCS5y ZWxlYXNlID0gc2luZ2xlX3JlbGVhc2UsCj4gPj4gPiAgfTsKPiA+PiA+Cj4gPj4gPiArc3RhdGlj IHNzaXplX3QgaTkxNV9kcGNkX2FkZHJfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0IGNo YXIgX191c2VyICp1YnVmLAo+ID4+ID4gKwkJCQkgICAgIHNpemVfdCBsZW4sIGxvZmZfdCAqb2Zm cCkKPiA+PiA+ICt7Cj4gPj4gPiArCXN0cnVjdCBzZXFfZmlsZSAqbSA9IGZpbGUtPnByaXZhdGVf ZGF0YTsKPiA+PiA+ICsJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciA9IG0tPnByaXZh dGU7Cj4gPj4gPiArCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPQo+ID4+ID4gKwkJZW5jX3Rv X2ludGVsX2RwKCZpbnRlbF9hdHRhY2hlZF9lbmNvZGVyKGNvbm5lY3RvciktPmJhc2UpOwo+ID4+ ID4gKwl1bnNpZ25lZCBpbnQgcmVnX2FkZHI7Cj4gPj4gPiArCWNoYXIgdG1wWzE2XTsKPiA+PiA+ ICsKPiA+PiA+ICsJaWYgKGxlbiA+PSBzaXplb2YodG1wKSkKPiA+PiA+ICsJCXJldHVybiAtRUlO VkFMOwo+ID4+ID4gKwo+ID4+ID4gKwlpZiAoY29weV9mcm9tX3VzZXIodG1wLCB1YnVmLCBsZW4p KQo+ID4+ID4gKwkJcmV0dXJuIC1FRkFVTFQ7Cj4gPj4gPiArCj4gPj4gPiArCXRtcFtsZW5dID0g J1wwJzsKPiA+PiA+ICsKPiA+PiA+ICsJaWYgKGtzdHJ0b3VpbnQodG1wLCAxNiwgJnJlZ19hZGRy KSkKPiA+PiA+ICsJCXJldHVybiAtRUlOVkFMOwo+ID4+ID4gKwo+ID4+ID4gKwlpbnRlbF9kcC0+ ZGVidWdmc19kcGNkX2FkZHIgPSByZWdfYWRkcjsKPiA+PiA+ICsKPiA+PiA+ICsJcmV0dXJuIGxl bjsKPiA+PiA+ICt9Cj4gPj4gPiArCj4gPj4gPiArc3RhdGljIGludCBpOTE1X2RwY2RfYWRkcl9z aG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKPiA+PiA+ICt7Cj4gPj4gPiArCXN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBtLT5wcml2YXRlOwo+ID4+ID4gKwlzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwID0KPiA+PiA+ICsJCWVuY190b19pbnRlbF9kcCgmaW50ZWxf YXR0YWNoZWRfZW5jb2Rlcihjb25uZWN0b3IpLT5iYXNlKTsKPiA+PiA+ICsKPiA+PiA+ICsJc2Vx X3ByaW50ZihtLCAiMHgleFxuIiwgaW50ZWxfZHAtPmRlYnVnZnNfZHBjZF9hZGRyKTsKPiA+PiA+ ICsKPiA+PiA+ICsJcmV0dXJuIDA7Cj4gPj4gPiArfQo+ID4+ID4gKwo+ID4+ID4gK3N0YXRpYyBp bnQgaTkxNV9kcGNkX2FkZHJfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAq ZmlsZSkKPiA+PiA+ICt7Cj4gPj4gPiArCXJldHVybiBzaW5nbGVfb3BlbihmaWxlLCBpOTE1X2Rw Y2RfYWRkcl9zaG93LCBpbm9kZS0+aV9wcml2YXRlKTsKPiA+PiA+ICt9Cj4gPj4gPiArCj4gPj4g PiArc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgaTkxNV9kcGNkX2FkZHJfZm9w cyA9IHsKPiA+PiA+ICsJLm93bmVyID0gVEhJU19NT0RVTEUsCj4gPj4gPiArCS5vcGVuID0gaTkx NV9kcGNkX2FkZHJfb3BlbiwKPiA+PiA+ICsJLnJlYWQgPSBzZXFfcmVhZCwKPiA+PiA+ICsJLndy aXRlID0gaTkxNV9kcGNkX2FkZHJfd3JpdGUsCj4gPj4gPiArCS5sbHNlZWsgPSBzZXFfbHNlZWss Cj4gPj4gPiArCS5yZWxlYXNlID0gc2luZ2xlX3JlbGVhc2UsCj4gPj4gPiArfTsKPiA+PiA+ICsK PiA+PiA+ICtzdGF0aWMgaW50IGk5MTVfZHBjZF92YWxfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0s IHZvaWQgKmRhdGEpCj4gPj4gPiArewo+ID4+ID4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yID0gbS0+cHJpdmF0ZTsKPiA+PiA+ICsJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9 Cj4gPj4gPiArCQllbmNfdG9faW50ZWxfZHAoJmludGVsX2F0dGFjaGVkX2VuY29kZXIoY29ubmVj dG9yKS0+YmFzZSk7Cj4gPj4gPiArCXU4IHZhbDsKPiA+PiA+ICsJaW50IHJldDsKPiA+PiA+ICsK PiA+PiA+ICsJcmV0ID0gZHJtX2RwX2RwY2RfcmVhZGIoJmludGVsX2RwLT5hdXgsCj4gPj4gPiAr CQkJCWludGVsX2RwLT5kZWJ1Z2ZzX2RwY2RfYWRkciwgJnZhbCk7Cj4gPj4gPiArCWlmIChyZXQg PCAwKQo+ID4+ID4gKwkJcmV0dXJuIHJldDsKPiA+PiA+ICsKPiA+PiA+ICsJc2VxX3ByaW50Ziht LCAiMHgleFxuIiwgdmFsKTsKPiA+PiA+ICsJcmV0dXJuIDA7Cj4gPj4gPiArfQo+ID4+ID4gKwo+ ID4+ID4gK3N0YXRpYyBpbnQgaTkxNV9kcGNkX3ZhbF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUs IHN0cnVjdCBmaWxlICpmaWxlKQo+ID4+ID4gK3sKPiA+PiA+ICsJcmV0dXJuIHNpbmdsZV9vcGVu KGZpbGUsIGk5MTVfZHBjZF92YWxfc2hvdywgaW5vZGUtPmlfcHJpdmF0ZSk7Cj4gPj4gPiArfQo+ ID4+ID4gKwo+ID4+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGk5MTVf ZHBjZF92YWxfZm9wcyA9IHsKPiA+PiA+ICsJLm93bmVyID0gVEhJU19NT0RVTEUsCj4gPj4gPiAr CS5vcGVuID0gaTkxNV9kcGNkX3ZhbF9vcGVuLAo+ID4+ID4gKwkucmVhZCA9IHNlcV9yZWFkLAo+ ID4+ID4gKwkubGxzZWVrID0gc2VxX2xzZWVrLAo+ID4+ID4gKwkucmVsZWFzZSA9IHNpbmdsZV9y ZWxlYXNlLAo+ID4+ID4gK307Cj4gPj4gPiArCj4gPj4gPiAgLyoqCj4gPj4gPiAgICogaTkxNV9k ZWJ1Z2ZzX2Nvbm5lY3Rvcl9hZGQgLSBhZGQgaTkxNSBzcGVjaWZpYyBjb25uZWN0b3IgZGVidWdm cyBmaWxlcwo+ID4+ID4gICAqIEBjb25uZWN0b3I6IHBvaW50ZXIgdG8gYSByZWdpc3RlcmVkIGRy bV9jb25uZWN0b3IKPiA+PiA+IEBAIC00ODgzLDkgKzQ5NjQsMTQgQEAgaW50IGk5MTVfZGVidWdm c19jb25uZWN0b3JfYWRkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gPj4gPiAg CQlyZXR1cm4gLUVOT0RFVjsKPiA+PiA+Cj4gPj4gPiAgCWlmIChjb25uZWN0b3ItPmNvbm5lY3Rv cl90eXBlID09IERSTV9NT0RFX0NPTk5FQ1RPUl9EaXNwbGF5UG9ydCB8fAo+ID4+ID4gLQkgICAg Y29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZSA9PSBEUk1fTU9ERV9DT05ORUNUT1JfZURQKQo+ID4+ ID4gKwkgICAgY29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZSA9PSBEUk1fTU9ERV9DT05ORUNUT1Jf ZURQKSB7Cj4gPj4gPiAgCQlkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJpOTE1X2RwY2QiLCBTX0lSVUdP LCByb290LCBjb25uZWN0b3IsCj4gPj4gPiAgCQkJCSAgICAmaTkxNV9kcGNkX2ZvcHMpOwo+ID4+ ID4gKwkJZGVidWdmc19jcmVhdGVfZmlsZSgiaTkxNV9kcGNkX2FkZHIiLCBTX0lSVUdPIHwgU19J V1VTUiwKPiA+PiA+ICsJCQkJcm9vdCwgY29ubmVjdG9yLCAmaTkxNV9kcGNkX2FkZHJfZm9wcyk7 Cj4gPj4gPiArCQlkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJpOTE1X2RwY2RfdmFsIiwgU19JUlVHTywg cm9vdCwKPiA+PiA+ICsJCQkJY29ubmVjdG9yLCAmaTkxNV9kcGNkX3ZhbF9mb3BzKTsKPiA+PiA+ ICsJfQo+ID4+ID4KPiA+PiA+ICAJcmV0dXJuIDA7Cj4gPj4gPiAgfQo+ID4+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmgKPiA+PiA+IGluZGV4IDQ3OTliMTEuLjA1OTRiYWEgMTAwNjQ0Cj4gPj4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4+ID4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+PiA+IEBAIC02NDIsNiArNjQyLDcgQEAg c3RydWN0IGludGVsX2RwIHsKPiA+PiA+ICAJdW5zaWduZWQgbG9uZyBsYXN0X3Bvd2VyX2N5Y2xl Owo+ID4+ID4gIAl1bnNpZ25lZCBsb25nIGxhc3RfcG93ZXJfb247Cj4gPj4gPiAgCXVuc2lnbmVk IGxvbmcgbGFzdF9iYWNrbGlnaHRfb2ZmOwo+ID4+ID4gKwl1bnNpZ25lZCBpbnQgZGVidWdmc19k cGNkX2FkZHI7Cj4gPj4gPgo+ID4+ID4gIAlzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgZWRwX25vdGlm aWVyOwo+ID4+ID4KPiA+PiA+IC0tCj4gPj4gPiAxLjkuMQo+ID4+ID4KPiA+Pgo+ID4+IC0tCj4g Pj4gSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCj4gPj4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+PiBJbnRl bC1nZnggbWFpbGluZyBsaXN0Cj4gPj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ ID4+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngKPiA+Cj4gPi0tCj4gPlZpbGxlIFN5cmrDpGzDpAo+ID5JbnRlbCBPVEMKCi0tIApWaWxsZSBT eXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==