From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v2] drm/i915: add i915 specific connector debugfs file for DPCD Date: Wed, 01 Apr 2015 15:35:18 +0300 Message-ID: <87sickrpq1.fsf@intel.com> References: <1427876121-19797-1-git-send-email-jani.nikula@intel.com> <4D68720C2E767A4AA6A8796D42C8EB590912BB28@BGSMSX101.gar.corp.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 920D5891DD for ; Wed, 1 Apr 2015 05:37:32 -0700 (PDT) In-Reply-To: <4D68720C2E767A4AA6A8796D42C8EB590912BB28@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" , "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAwMSBBcHIgMjAxNSwgIlIsIER1cmdhZG9zcyIgPGR1cmdhZG9zcy5yQGludGVsLmNv bT4gd3JvdGU6Cj4gSGkgSmFuaSwKPgo+Pi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4+RnJv bTogSW50ZWwtZ2Z4IFttYWlsdG86aW50ZWwtZ2Z4LWJvdW5jZXNAbGlzdHMuZnJlZWRlc2t0b3Au b3JnXSBPbiBCZWhhbGYgT2YgSmFuaSBOaWt1bGEKPj5TZW50OiBXZWRuZXNkYXksIEFwcmlsIDEs IDIwMTUgMTo0NSBQTQo+PlRvOiBpbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+Q2M6 IE5pa3VsYSwgSmFuaQo+PlN1YmplY3Q6IFtJbnRlbC1nZnhdIFtQQVRDSCB2Ml0gZHJtL2k5MTU6 IGFkZCBpOTE1IHNwZWNpZmljIGNvbm5lY3RvciBkZWJ1Z2ZzIGZpbGUgZm9yIERQQ0QKPj4KPj5P Y2Nhc2lvbmFsbHkgaXQgd291bGQgYmUgaW50ZXJlc3RpbmcgdG8gcmVhZCBzb21lIG9mIHRoZSBE UENEIHJlZ2lzdGVycwo+PmZvciBkZWJ1ZyBwdXJwb3Nlcywgd2l0aG91dCBoYXZpbmcgdG8gcmVz b3J0IHRvIGxvZ2dpbmcuIEFkZCBhbiBpOTE1Cj4+c3BlY2lmaWMgaTkxNV9kcGNkIGRlYnVnZnMg ZmlsZSBmb3IgRFAgYW5kIGVEUCBjb25uZWN0b3JzIHRvIGR1bXAgcGFydHMKPj5vZiB0aGUgRFBD RC4gQ3VycmVudGx5IHRoZSBEUENEIGFkZHJlc3NlcyB0byBiZSBkdW1wZWQgYXJlIHN0YXRpY2Fs bHkKPgo+IFRoaXMgaXMgdmVyeSBtdWNoIG5lZWRlZC4gSSBwZXJzb25hbGx5IHVzZSBhIHN5c2Zz IHZhcmlhdGlvbiBvZiBzb21ldGhpbmcgbGlrZSB0aGlzLgo+IEJ1dCBJIHRoaW5rIHdlIHdpbGwg bmV2ZXIgaGF2ZSBhIGxpc3QgdGhhdCBpcyBzdWZmaWNpZW50IGZvciBhbGwgY2FzZXMgb2YgZGVi dWcuCj4KPiBTbywgd2h5IG5vdCBoYXZlIG9uZSBpbnRlcmZhY2Ugd2hpY2ggdGFrZXMgdGhlICdh ZGRyJyBhbmQgYW5vdGhlcgo+IG9uZSB3aGljaCByZXR1cm5zIHRoZSAndmFsdWUnIG9mIHRoZSBE UENEIHJlZ2lzdGVyICdhZGRyJy4KCk15IG1haW4gdXNlIGNhc2UgaXMgZm9yIGdhdGhlcmluZyBk ZWJ1Z2dpbmcgaW5mb3JtYXRpb24gZnJvbQplbmQtdXNlcnMuIEkgd291bGQgbGlrZSB0byBoYXZl IGEgc2ltcGxlIGFuZCBmYWlybHkgZm9vbCBwcm9vZiB3YXkgb2YKZ2F0aGVyaW5nIHRoZSBtb3N0 IHJlbGV2YW50IGluZm9ybWF0aW9uIGluIGEgZHVtcCBsaWtlIHRoaXMuIEFuZCB3ZSBjYW4KZXh0 ZW5kIG9uIGl0IGFzIG5lZWRlZC4KCkkgZG9uJ3QgdGhpbmsgd2hhdCB5b3UgcHJvcG9zZSBpcyB1 c2VyIGZyaWVuZGx5IChhbHRob3VnaCBpdCBpcyBwb3dlcmZ1bApmb3IgZGV2ZWxvcGVycyksIGFu ZCBwcmV0dHkgbXVjaCByZXF1aXJlcyBhIHNjcmlwdCB0byBlbnN1cmUgd2UgZG8gZ2V0CnRoZSBk YXRhIHdlIHdhbnQuCgpIb3dldmVyIHRoZXNlIHR3byBhcmUgbm90IG11dHVhbGx5IGV4Y2x1c2l2 ZS4uLiB0aGlzIGlzIHRoZSBwYXRjaCB0byBkbwp3aGF0IEkgd2FudCwgcGxlYXNlIHNlbmQgdXMg dGhlIHBhdGNoIGRvaW5nIHdoYXQgeW91IHdhbnQhIDopCgpCUiwKSmFuaS4KCgpQUy4gV291bGQg d2UgbmVlZCB0byB3aGl0ZWxpc3QvYmxhY2tsaXN0IHRoZSByZWdpc3RlcnMgZm9yIHlvdXIKYXBw cm9hY2g/CgoKPiBTb21ldGhpbmcgbGlrZSBiZWxvdzoKPgo+IGk5MTVfZHBjZF9hZGRyCj4gaTkx NV9kcGNkX3ZhbAo+Cj4gQW5kIHdlIGRvOgo+IGVjaG8gMHgxMDAgPiBpOTE1X2RwY2RfYWRkcgo+ Cj4gYW5kIHRoZW46Cj4gY2F0IGk5MTVfZHBjZF92YWwKPiBbVGhpcyBmZXRjaGVzIGFuZCBwcmlu dHMgdGhlIHZhbHVlIG9mIERQQ0QgMHgxMDBdCj4KPiBUaGFua3MsCj4gRHVyZ2EKPgo+IC4uCj4+ Y29uZmlndXJlZCwgYW5kIG1vcmUgY2FuIGJlIGFkZGVkIHRyaXZpYWxseS4KPj4KPj5UaGUgaW1w bGVtZW50YXRpb24gYWxzbyBtYWtlcyBpdCByZWxhdGl2ZWx5IGVhc3kgdG8gYWRkIG90aGVyIGk5 MTUgYW5kCj4+Y29ubmVjdG9yIHNwZWNpZmljIGRlYnVnZnMgZmlsZXMgaW4gdGhlIGZ1dHVyZSwg YXMgbmVjZXNzYXJ5Lgo+Pgo+PlRoaXMgaXMgY3VycmVudGx5IGk5MTUgc3BlY2lmaWMganVzdCBi ZWNhdXNlIHRoZXJlJ3Mgbm8gZ2VuZXJpYyB3YXkgdG8KPj5kbyBBVVggdHJhbnNhY3Rpb25zIGdp dmVuIGp1c3QgYSBkcm1fY29ubmVjdG9yLiBIb3dldmVyIGl0J3MgYWxsIHByZXR0eQo+PnN0cmFp Z2h0Zm9yd2FyZCB0byBwb3J0IHRvIG90aGVyIGRyaXZlcnMuCj4+Cj4+djI6IEFkZCBtb3JlIERQ Q0QgcmVnaXN0ZXJzIHRvIGR1bXAuCj4+Cj4+U2lnbmVkLW9mZi1ieTogSmFuaSBOaWt1bGEgPGph bmkubmlrdWxhQGludGVsLmNvbT4KPj4tLS0KPj4gZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k ZWJ1Z2ZzLmMgfCA5NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4+IGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgIHwgIDEgKwo+PiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcC5jICAgICB8ICAyICsKPj4gMyBmaWxlcyBjaGFuZ2VkLCA5OSBpbnNl cnRpb25zKCspCj4+Cj4+ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVi dWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPj5pbmRleCAwMDdj N2Q3ZDgyOTUuLjcxNjRhYTdkNWZkMyAxMDA2NDQKPj4tLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RlYnVnZnMuYwo+PisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdm cy5jCj4+QEAgLTQ3ODAsMyArNDc4MCw5OSBAQCB2b2lkIGk5MTVfZGVidWdmc19jbGVhbnVwKHN0 cnVjdCBkcm1fbWlub3IgKm1pbm9yKQo+PiAJCWRybV9kZWJ1Z2ZzX3JlbW92ZV9maWxlcyhpbmZv X2xpc3QsIDEsIG1pbm9yKTsKPj4gCX0KPj4gfQo+PisKPj4rc3RydWN0IGRwY2RfYmxvY2sgewo+ PisJLyogRFBDRCBkdW1wIHN0YXJ0IGFkZHJlc3MuICovCj4+Kwl1bnNpZ25lZCBpbnQgb2Zmc2V0 Owo+PisJLyogRFBDRCBkdW1wIGVuZCBhZGRyZXNzLCBpbmNsdXNpdmUuIElmIHVuc2V0LCAuc2l6 ZSB3aWxsIGJlIHVzZWQuICovCj4+Kwl1bnNpZ25lZCBpbnQgZW5kOwo+PisJLyogRFBDRCBkdW1w IHNpemUuIFVzZWQgaWYgLmVuZCBpcyB1bnNldC4gSWYgdW5zZXQsIGRlZmF1bHRzIHRvIDEuICov Cj4+KwlzaXplX3Qgc2l6ZTsKPj4rCS8qIE9ubHkgdmFsaWQgZm9yIGVEUC4gKi8KPj4rCWJvb2wg ZWRwOwo+Pit9Owo+PisKPj4rc3RhdGljIGNvbnN0IHN0cnVjdCBkcGNkX2Jsb2NrIGk5MTVfZHBj ZF9kZWJ1Z1tdID0gewo+PisJeyAub2Zmc2V0ID0gRFBfRFBDRF9SRVYsIC5zaXplID0gRFBfUkVD RUlWRVJfQ0FQX1NJWkUgfSwKPj4rCXsgLm9mZnNldCA9IERQX1BTUl9TVVBQT1JULCAuZW5kID0g RFBfUFNSX0NBUFMgfSwKPj4rCXsgLm9mZnNldCA9IERQX0RPV05TVFJFQU1fUE9SVF8wLCAuc2l6 ZSA9IDE2IH0sCj4+Kwl7IC5vZmZzZXQgPSBEUF9MSU5LX0JXX1NFVCwgLmVuZCA9IERQX0VEUF9D T05GSUdVUkFUSU9OX1NFVCB9LAo+PisJeyAub2Zmc2V0ID0gRFBfU0lOS19DT1VOVCwgLmVuZCA9 IERQX0FESlVTVF9SRVFVRVNUX0xBTkUyXzMgfSwKPj4rCXsgLm9mZnNldCA9IERQX1NFVF9QT1dF UiB9LAo+PisJeyAub2Zmc2V0ID0gRFBfRURQX0RQQ0RfUkVWIH0sCj4+Kwl7IC5vZmZzZXQgPSBE UF9FRFBfR0VORVJBTF9DQVBfMSwgLmVuZCA9IERQX0VEUF9HRU5FUkFMX0NBUF8zIH0sCj4+Kwl7 IC5vZmZzZXQgPSBEUF9FRFBfRElTUExBWV9DT05UUk9MX1JFR0lTVEVSLCAuZW5kID0KPj5EUF9F RFBfQkFDS0xJR0hUX0ZSRVFfQ0FQX01BWF9MU0IgfSwKPj4rCXsgLm9mZnNldCA9IERQX0VEUF9E QkNfTUlOSU1VTV9CUklHSFRORVNTX1NFVCwgLmVuZCA9Cj4+RFBfRURQX0RCQ19NQVhJTVVNX0JS SUdIVE5FU1NfU0VUIH0sCj4+K307Cj4+Kwo+PitzdGF0aWMgaW50IGk5MTVfZHBjZF9zaG93KHN0 cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKPj4rewo+PisJc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciA9IG0tPnByaXZhdGU7Cj4+KwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw ID0KPj4rCQllbmNfdG9faW50ZWxfZHAoJmludGVsX2F0dGFjaGVkX2VuY29kZXIoY29ubmVjdG9y KS0+YmFzZSk7Cj4+Kwl1aW50OF90IGJ1ZlsxNl07Cj4+Kwlzc2l6ZV90IGVycjsKPj4rCWludCBp Owo+PisKPj4rCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGk5MTVfZHBjZF9kZWJ1Zyk7IGkr Kykgewo+PisJCWNvbnN0IHN0cnVjdCBkcGNkX2Jsb2NrICpiID0gJmk5MTVfZHBjZF9kZWJ1Z1tp XTsKPj4rCQlzaXplX3Qgc2l6ZSA9IGItPmVuZCA/IGItPmVuZCAtIGItPm9mZnNldCArIDEgOiAo Yi0+c2l6ZSA/OiAxKTsKPj4rCj4+KwkJaWYgKGItPmVkcCAmJgo+PisJCSAgICBjb25uZWN0b3It PmNvbm5lY3Rvcl90eXBlICE9IERSTV9NT0RFX0NPTk5FQ1RPUl9lRFApCj4+KwkJCWNvbnRpbnVl Owo+PisKPj4rCQkvKiBsb3cgdGVjaCBmb3Igbm93ICovCj4+KwkJaWYgKFdBUk5fT04oc2l6ZSA+ IHNpemVvZihidWYpKSkKPj4rCQkJY29udGludWU7Cj4+Kwo+PisJCWVyciA9IGRybV9kcF9kcGNk X3JlYWQoJmludGVsX2RwLT5hdXgsIGItPm9mZnNldCwgYnVmLCBzaXplKTsKPj4rCQlpZiAoZXJy IDw9IDApIHsKPj4rCQkJRFJNX0VSUk9SKCJkcGNkIHJlYWQgKCV6dSBieXRlcyBhdCAldSkgZmFp bGVkICglemQpXG4iLAo+PisJCQkJICBzaXplLCBiLT5vZmZzZXQsIGVycik7Cj4+KwkJCWNvbnRp bnVlOwo+PisJCX0KPj4rCj4+KwkJc2VxX3ByaW50ZihtLCAiJTA0eDogJSpwaFxuIiwgYi0+b2Zm c2V0LCAoaW50KSBzaXplLCBidWYpOwo+PisJfTsKPj4rCj4+KwlyZXR1cm4gMDsKPj4rfQo+PisK Pj4rc3RhdGljIGludCBpOTE1X2RwY2Rfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3Qg ZmlsZSAqZmlsZSkKPj4rewo+PisJcmV0dXJuIHNpbmdsZV9vcGVuKGZpbGUsIGk5MTVfZHBjZF9z aG93LCBpbm9kZS0+aV9wcml2YXRlKTsKPj4rfQo+PisKPj4rc3RhdGljIGNvbnN0IHN0cnVjdCBm aWxlX29wZXJhdGlvbnMgaTkxNV9kcGNkX2ZvcHMgPSB7Cj4+Kwkub3duZXIgPSBUSElTX01PRFVM RSwKPj4rCS5vcGVuID0gaTkxNV9kcGNkX29wZW4sCj4+KwkucmVhZCA9IHNlcV9yZWFkLAo+PisJ Lmxsc2VlayA9IHNlcV9sc2VlaywKPj4rCS5yZWxlYXNlID0gc2luZ2xlX3JlbGVhc2UsCj4+K307 Cj4+Kwo+PisvKioKPj4rICogaTkxNV9kZWJ1Z2ZzX2Nvbm5lY3Rvcl9hZGQgLSBhZGQgaTkxNSBz cGVjaWZpYyBjb25uZWN0b3IgZGVidWdmcyBmaWxlcwo+PisgKiBAY29ubmVjdG9yOiBwb2ludGVy IHRvIGEgcmVnaXN0ZXJlZCBkcm1fY29ubmVjdG9yCj4+KyAqCj4+KyAqIENsZWFudXAgd2lsbCBi ZSBkb25lIGJ5IGRybV9jb25uZWN0b3JfdW5yZWdpc3RlcigpIHRocm91Z2ggYSBjYWxsIHRvCj4+ KyAqIGRybV9kZWJ1Z2ZzX2Nvbm5lY3Rvcl9yZW1vdmUoKS4KPj4rICoKPj4rICogUmV0dXJucyAw IG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm9yIGNvZGVzIG9uIGVycm9yLgo+PisgKi8KPj4raW50 IGk5MTVfZGVidWdmc19jb25uZWN0b3JfYWRkKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IpCj4+K3sKPj4rCXN0cnVjdCBkZW50cnkgKnJvb3QgPSBjb25uZWN0b3ItPmRlYnVnZnNfZW50 cnk7Cj4+Kwo+PisJLyogVGhlIGNvbm5lY3RvciBtdXN0IGhhdmUgYmVlbiByZWdpc3RlcmVkIGJl Zm9yZWhhbmRzLiAqLwo+PisJaWYgKCFyb290KQo+PisJCXJldHVybiAtRU5PREVWOwo+PisKPj4r CWlmIChjb25uZWN0b3ItPmNvbm5lY3Rvcl90eXBlID09IERSTV9NT0RFX0NPTk5FQ1RPUl9EaXNw bGF5UG9ydCB8fAo+PisJICAgIGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUgPT0gRFJNX01PREVf Q09OTkVDVE9SX2VEUCkKPj4rCQlkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJpOTE1X2RwY2QiLCBTX0lS VUdPLCByb290LCBjb25uZWN0b3IsCj4+KwkJCQkgICAgJmk5MTVfZHBjZF9mb3BzKTsKPj4rCj4+ KwlyZXR1cm4gMDsKPj4rfQo+PmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+PmluZGV4IGFhZGFkYTVh M2ZlOS4uODY4ZjI2NzgwMTE1IDEwMDY0NAo+Pi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPj4rKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4+QEAgLTMw MTEsNiArMzAxMSw3IEBAIGludCBpOTE1X3ZlcmlmeV9saXN0cyhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KTsKPj4gLyogaTkxNV9kZWJ1Z2ZzLmMgKi8KPj4gaW50IGk5MTVfZGVidWdmc19pbml0KHN0 cnVjdCBkcm1fbWlub3IgKm1pbm9yKTsKPj4gdm9pZCBpOTE1X2RlYnVnZnNfY2xlYW51cChzdHJ1 Y3QgZHJtX21pbm9yICptaW5vcik7Cj4+K2ludCBpOTE1X2RlYnVnZnNfY29ubmVjdG9yX2FkZChz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPj4gI2lmZGVmIENPTkZJR19ERUJVR19G Uwo+PiB2b2lkIGludGVsX2Rpc3BsYXlfY3JjX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7 Cj4+ICNlbHNlCj4+ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+aW5kZXggNzkzNjE1NWFjYmU4Li5m OTFjZTllOTRhYTYgMTAwNjQ0Cj4+LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAu Ywo+PisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPj5AQCAtNTU2OSw2ICs1 NTY5LDggQEAgaW50ZWxfZHBfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9y dCAqaW50ZWxfZGlnX3BvcnQsCj4+IAkJSTkxNV9XUklURShQRUdfQkFORF9HQVBfREFUQSwgKHRl bXAgJiB+MHhmKSB8IDB4ZCk7Cj4+IAl9Cj4+Cj4+KwlpOTE1X2RlYnVnZnNfY29ubmVjdG9yX2Fk ZChjb25uZWN0b3IpOwo+PisKPj4gCXJldHVybiB0cnVlOwo+PiB9Cj4+Cj4+LS0KPj4yLjEuNAo+ Pgo+Pl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+SW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+PkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj5o dHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1n ZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApK YW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5vbG9neSBDZW50ZXIKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK