From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915/glk: limit pixel clock to 99% of cdclk workaround Date: Tue, 4 Apr 2017 15:55:55 +0300 Message-ID: <20170404125555.GO30290@intel.com> References: <1491293753-12325-1-git-send-email-jani.nikula@intel.com> <1491294079.3274.3.camel@gmail.com> <87zifwo9au.fsf@intel.com> <1491300368.3274.5.camel@gmail.com> <87wpb01nop.fsf@intel.com> <20170404113914.GN30290@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 142296E5A8 for ; Tue, 4 Apr 2017 12:56:00 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Chauhan, Madhav" Cc: "Nikula, Jani" , "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBBcHIgMDQsIDIwMTcgYXQgMTE6NTM6NDJBTSArMDAwMCwgQ2hhdWhhbiwgTWFkaGF2 IHdyb3RlOgo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+IEZyb206IFZpbGxlIFN5 cmrDpGzDpCBbbWFpbHRvOnZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tXQo+ID4gU2VudDog VHVlc2RheSwgQXByaWwgNCwgMjAxNyA1OjA5IFBNCj4gPiBUbzogQ2hhdWhhbiwgTWFkaGF2IDxt YWRoYXYuY2hhdWhhbkBpbnRlbC5jb20+Cj4gPiBDYzogTmlrdWxhLCBKYW5pIDxqYW5pLm5pa3Vs YUBpbnRlbC5jb20+OyBBbmRlciBDb25zZWx2YW4gRGUgT2xpdmVpcmEKPiA+IDxjb25zZWx2YW4y QGdtYWlsLmNvbT47IGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+IFN1YmplY3Q6 IFJlOiBbUEFUQ0hdIGRybS9pOTE1L2dsazogbGltaXQgcGl4ZWwgY2xvY2sgdG8gOTklIG9mIGNk Y2xrCj4gPiB3b3JrYXJvdW5kCj4gPiAKPiA+IE9uIFR1ZSwgQXByIDA0LCAyMDE3IGF0IDEwOjI3 OjU3QU0gKzAwMDAsIENoYXVoYW4sIE1hZGhhdiB3cm90ZToKPiA+ID4gPiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQo+ID4gPiA+IEZyb206IE5pa3VsYSwgSmFuaQo+ID4gPiA+IFNlbnQ6IFR1 ZXNkYXksIEFwcmlsIDQsIDIwMTcgMzo0OCBQTQo+ID4gPiA+IFRvOiBBbmRlciBDb25zZWx2YW4g RGUgT2xpdmVpcmEgPGNvbnNlbHZhbjJAZ21haWwuY29tPjsgaW50ZWwtCj4gPiA+ID4gZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gPiA+IENjOiBDaGF1aGFuLCBNYWRoYXYgPG1hZGhhdi5j aGF1aGFuQGludGVsLmNvbT47IFZpbGxlIFN5cmrDpGzDpAo+ID4gPiA+IDx2aWxsZS5zeXJqYWxh QGxpbnV4LmludGVsLmNvbT4KPiA+ID4gPiBTdWJqZWN0OiBSZTogW1BBVENIXSBkcm0vaTkxNS9n bGs6IGxpbWl0IHBpeGVsIGNsb2NrIHRvIDk5JSBvZiBjZGNsawo+ID4gPiA+IHdvcmthcm91bmQK PiA+ID4gPgo+ID4gPiA+IE9uIFR1ZSwgMDQgQXByIDIwMTcsIEFuZGVyIENvbnNlbHZhbiBEZSBP bGl2ZWlyYQo+ID4gPiA+IDxjb25zZWx2YW4yQGdtYWlsLmNvbT4KPiA+ID4gPiB3cm90ZToKPiA+ ID4gPiA+IE9uIFR1ZSwgMjAxNy0wNC0wNCBhdCAxMTo0MCArMDMwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gPiA+ID4gPj4gT24gVHVlLCAwNCBBcHIgMjAxNywgQW5kZXIgQ29uc2VsdmFuIERlIE9s aXZlaXJhCj4gPiA+ID4gPGNvbnNlbHZhbjJAZ21haWwuY29tPiB3cm90ZToKPiA+ID4gPiA+PiA+ IE9uIFR1ZSwgMjAxNy0wNC0wNCBhdCAxMToxNSArMDMwMCwgSmFuaSBOaWt1bGEgd3JvdGU6Cj4g PiA+ID4gPj4gPiA+IEZyb206IE1hZGhhdiBDaGF1aGFuIDxtYWRoYXYuY2hhdWhhbkBpbnRlbC5j b20+Cj4gPiA+ID4gPj4gPiA+Cj4gPiA+ID4gPj4gPiA+IEFzIHBlciBCU1BFQywgdmFsaWQgY2Rj bGsgdmFsdWVzIGZvciBnbGsgYXJlIDc5LjIsIDE1OC40LCAzMTYuOCBNaHouCj4gPiA+ID4gPj4g PiA+IFByYWN0aWNhbGx5IHdlIGNhbiBhY2hpdmUgb25seSA5OSUgb2YgdGhlc2UgY2RjbGsgdmFs dWVzIChIVwo+ID4gPiA+ID4+ID4gPiB0ZWFtIGNoZWNraW5nIG9uIHRoaXMpLiBTbyBjZGNsayBz aG91bGQgYmUgY2FsY3VsYXRlZCBmb3IgdGhlCj4gPiA+ID4gPj4gPiA+IGdpdmVuIHBpeGNsayBh cyBwZXIgdGhhdCBvdGhlcndpc2UgaXQgbWF5IGxlYWQgdG8gc2NyZWVuCj4gPiA+ID4gPj4gPiA+ IGNvcnJ1cHRpb24gZm9yIHNvbWUKPiA+ID4gPiBzY2VuYXJpb3MuCj4gPiA+ID4gPj4gPiA+Cj4g PiA+ID4gPj4gPiA+IHYyOiBSZWJhc2VkIHRvIG5ldyBDRExDSyBjb2RlIGZyYW1ld29yawo+ID4g PiA+ID4+ID4gPiB2MzogQWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBmcm9tIEFuZGVyL0phbmkK PiA+ID4gPiA+PiA+ID4gICAgIC0gQWRkIGNvbW1lbnQgaW4gY29kZSBhYm91dCA5OSUgdXNhZ2Ug b2YgQ0RDTEsKPiA+ID4gPiA+PiA+ID4gICAgIC0gQ2FsY3VsYXRlIG1heCBkb3QgY2xvY2sgYXMg d2VsbCB3aXRoIDk5JSBsaW1pdAo+ID4gPiA+ID4+ID4gPiB2NCBieSBKYW5pOgo+ID4gPiA+ID4+ ID4gPiAgICAgLSBkcm9wIHN1cGVyZmx1b3VzIHdoaXRlc3BhY2UgY2hhbmdlCj4gPiA+ID4gPj4g PiA+ICAgICAtIHJld3JpdGUgY29kZSBjb21tZW50cyB0byBjbGFyaWZ5Cj4gPiA+ID4gPj4gPiA+ Cj4gPiA+ID4gPj4gPiA+IENjOiBBbmRlciBDb25zZWx2YW4gZGUgT2xpdmVpcmEKPiA+ID4gPiA+ PiA+ID4gPGFuZGVyLmNvbnNlbHZhbi5kZS5vbGl2ZWlyYUBpbnRlbC5jb20+Cj4gPiA+ID4gPj4g PiA+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ ID4gPiA+ID4+ID4gPiBTaWduZWQtb2ZmLWJ5OiBNYWRoYXYgQ2hhdWhhbiA8bWFkaGF2LmNoYXVo YW5AaW50ZWwuY29tPgo+ID4gPiA+ID4+ID4gPiBTaWduZWQtb2ZmLWJ5OiBKYW5pIE5pa3VsYSA8 amFuaS5uaWt1bGFAaW50ZWwuY29tPgo+ID4gPiA+ID4+ID4gPiAtLS0KPiA+ID4gPiA+PiA+ID4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMgfCAxNiArKysrKysrKysrKysrLS0t Cj4gPiA+ID4gPj4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMyBkZWxl dGlvbnMoLSkKPiA+ID4gPiA+PiA+ID4KPiA+ID4gPiA+PiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMKPiA+ID4gPiA+PiA+ID4gYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jCj4gPiA+ID4gPj4gPiA+IGluZGV4IGRkM2FkNTJiN2Rm ZS4uNzYzMDEwZjhhZDg5IDEwMDY0NAo+ID4gPiA+ID4+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9jZGNsay5jCj4gPiA+ID4gPj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2NkY2xrLmMKPiA+ID4gPiA+PiA+ID4gQEAgLTEwNzEsOSArMTA3MSwxNSBA QCBzdGF0aWMgaW50IGJ4dF9jYWxjX2NkY2xrKGludAo+ID4gPiA+ID4+ID4gPiBtYXhfcGl4Y2xr KQo+ID4gPiA+ID4+ID4gPgo+ID4gPiA+ID4+ID4gPiAgc3RhdGljIGludCBnbGtfY2FsY19jZGNs ayhpbnQgbWF4X3BpeGNsaykgIHsKPiA+ID4gPiA+PiA+ID4gLQlpZiAobWF4X3BpeGNsayA+IDIg KiAxNTg0MDApCj4gPiA+ID4gPj4gPiA+ICsJLyoKPiA+ID4gPiA+PiA+ID4gKwkgKiBGSVhNRTog QXZvaWQgdXNpbmcgYSBwaXhlbCBjbG9jayB0aGF0IGlzIG1vcmUgdGhhbiA5OSUgb2YKPiA+IHRo ZSBjZGNsawo+ID4gPiA+ID4+ID4gPiArCSAqIGFzIGEgdGVtcG9yYXJ5IHdvcmthcm91bmQuIFVz ZSBhIGhpZ2hlciBjZGNsayBpbnN0ZWFkLgo+ID4gPiA+ID4+ID4gPiArKE5vdGUgdGhhdAo+ID4g PiA+ID4+ID4KPiA+ID4gPiA+PiA+IFRlbXBvcmFyeSB3b3JrYXJvdW5kIGZvciB3aGF0PyBOZWl0 aGVyIHRoZSBjb21tZW50IG5vciB0aGUKPiA+ID4gPiA+PiA+IGNvbW1pdCBtZXNzYWdlIGV4cGxp Y2l0bHkgbGlzdHMgdGhlIHNjZW5hcmlvIHRoYXQgdHJpZ2dlcnMgdGhpcyBpc3N1ZS4KPiA+ID4g PiA+Pgo+ID4gPiA+ID4+IEZyYW5rbHkgSSBkaWQgbm90IGtub3cgd2hhdCB0byB3cml0ZS4KPiA+ ID4gPiA+Cj4gPiA+ID4gPgo+ID4gPiA+ID4+IFRoZXJlIGFyZSBpc3N1ZXMgd2l0aCBwaXhlbCBj bG9ja3MgbmVhciBjZGNsayB0aGF0IHNob3VsZG4ndAo+ID4gPiA+ID4+IGhhcHBlbi4gUGVvcGxl IGFyZSBsb29raW5nIGludG8gdGhpcywgYnV0IGluIHRoZSBtZWFuIHRpbWUgZG9kZ2UKPiA+ID4g PiA+PiB0aGUgaXNzdWVzIGJ5IHVzaW5nIGhpZ2hlciBjZGNsay4gVGhlIGlzc3VlIHNob3VsZCBu b3QgYmUgZW5jb2Rlcgo+ID4gPiA+ID4+IHNwZWNpZmljLCBidXQgaW4gcHJhY3RpY2UgdGhpcyBo YXMgb25seSBiZWVuIHNlZW4gd2l0aCBEU0kKPiA+ID4gPiA+PiBiZWNhdXNlIHRoZXJlIHdlcmUg c29tZSBtb2RlcyB3aXRoIHBpeGVsIGNsb2NrcyB0aGF0IGFyZSBuZWFyIHRoZQo+ID4gPiA+ID4+ IGNkY2xrLgo+ID4gPiA+ID4KPiA+ID4gPiA+IFRoZSBhYm92ZSBwbHVzIHRoZSBtb2RlbCBudW1i ZXIgb2YgdGhlIERTSSBwYW5lbCB3aXRoIHdoaWNoIHRoZQo+ID4gPiA+ID4gaXNzdWUgaGFzIGJl ZW4gc2VlbiB3b3VsZCBiZSBnb29kIGVub3VnaCBJTU8uCj4gPiA+ID4KPiA+ID4gPiBNYWRoYXY/ Cj4gPiA+Cj4gPiA+IElzc3VlIGlzIGdlbmVyaWMgKHZhbGlkIGZvciBEUC9IRE1JKSBub3QganVz dCBNSVBJIERTSSBzcGVjaWZpYy4KPiA+ID4gUGFydGljdWxhciBEU0kgcGFuZWwgZXhwb3Npbmcg dGhpcyBpc3N1ZSBhcyBkZXNjcmliZWQgYmVsb3c6Cj4gPiA+IDEuIEZvciBYWFhYIHBhbmVsICgx OVgxMikgcmVxdWlyZWQgcGl4Y2xrIGlzIDE1NzEwMCBLSFoKPiA+IAo+ID4gQW5kIHdoYXQgaXMg dGhlIGFjdHVhbCBwaXhlbCBjbG9jayB3ZSBlbmQgdXAgdXNpbmc/IEFzIEkndmUgbWVudGlvbmVk IGJlZm9yZQo+ID4gb3VyIGNvZGUgaXMgYnVnZ3kgYmVjYXVzZSBpdCBhc3N1bWVzIHdlIGNhbiBn ZXQgYW55IGFyYml0cmFyeSBjbG9jawo+ID4gZnJlcXVlbmN5IGZyb20gdGhlIFBMTC4gVGhhdCBp cyBub3QgZ2VuZXJhbGx5IHRydWUuCj4gPiAKPiA+IFNvIEknZCBsaWtlIHRvIGtub3cgaWYgdGhl IHByb2JsZW0gcmVhbGx5IGlzIHRoYXQgd2UgY2FuJ3QgcmVhY2ggMTAwJSBvZiBjZGNsaywKPiA+ IG9yIGlmIHdlIGp1c3QgZW5kIHVwIHdpdGggYSBwaXhlbCBjbG9jayB0aGF0IHNsaWdodGx5IGhp Z2hlciB0aGFuIHdoYXQgd2UgYXNrZWQKPiA+IGZvciBhbmQgdGh1cyBleGNlZWRzIDEwMCUgb2Yg Y2RjbGsuCj4gCj4gQUZBSUsgKGZyb20gdGVzdGluZywgR09QIHRlYW0gaW5wdXRzKSwgcHJvYmxl bSBpcyB0aGF0IHdlIGNhbid0IHJlYWNoIDEwMCVDRENMSyBvbiBHTEsuIAo+IEluIHRoaXMgc2Nl bmFyaW8gY2FsY3VsYXRlZC9yZXF1aXJlZCBwaXhlbCBjbG9jayBpcyAxNTcxMDAgS0haICAobWln aHQgYmUgaGlnaGVyIGR1ZSB0byBidWdneSBjb2RlIGFzIHlvdSBtZW50aW9uZWQpCgpXZWxsLCB3 aGF0IGlzIHRoZSBjbG9jayB3ZSBnZXQgZnJvbSB0aGUgUExMIGV4YWN0bHk/Cgo+IHdoaWNoIHNo b3VsZCBiZSBoYW5kbGVkIHZlcnkgd2VsbCBpZiB3ZSBzZXQgQ0RDTEsgNzkyMDAgS0haIGJ1dCBj YXVzZXMgcGFuZWwgY29ycnVwdGlvbi4KPiAKPiA+IAo+ID4gQW5kIGlmIHRoZSBwcm9ibGVtIGlz IHJlYWxseSB0aGF0IHdlIGNhbid0IHJlYWNoIDEwMCUgb2YgY2RjbGssIHRoZW4gd2h5IGFyZQo+ ID4gd2UgbGltaXRpbmcgdGhpcyB0byBHTEsgb25seT8gCj4gCj4gRnJvbSBkaXNjdXNzaW9uLCBs b29rcyBsaWtlIGlzc3VlIGlzIHNwZWNpZmljIHRvIEdMSyBwbGF0Zm9ybS4gCj4gSFcgdGVhbSBp cyBkZWJ1Z2dpbmcgdGhpcyBpc3N1ZS4KPiAKPiA+IAo+ID4gPiAyLiBnbGtfY2FsY19jZGNsayBy ZXR1cm5zIDc5MjAwIEtIWiBmb3IgdGhpcyBwaXhjbGsuIEZvciAyUFBDIGl0IHdpbGwKPiA+ID4g YmUgMTU4NDAwIEtIWiAzLiBQcmFjdGljYWxseSAxMDAlIG9mIHRoZSBjZGNsayBjYW7igJl0IGJl IGFjaGlldmVkLCBzbyA5OSUgb2YKPiA+IDE1ODQwMCBLSFogID0gMTU2ODE2IHdoaWNoIGlzIGxl c3MgdGhhbiB0aGUgZGVzaXJlZCBwaXhsY2xrLgo+ID4gPiAgICAgIFRoaXMgY2F1c2VzIHRoZSBj b3JydXB0aW9uLgo+ID4gPgo+ID4gPiBTbyB3aHkgZG8gd2UgbmVlZCB0byBtZW50aW9uIGEgcGFy dGljdWxhciBwYW5lbD8/Cj4gPiA+Cj4gPiA+ID4KPiA+ID4gPgo+ID4gPiA+ID4KPiA+ID4gPiA+ IEFuZGVyCj4gPiA+ID4gPgo+ID4gPiA+ID4KPiA+ID4gPiA+PiA+IFdpdGggdGhhdCBmaXhlZCwK PiA+ID4gPiA+PiA+Cj4gPiA+ID4gPj4gPiBSZXZpZXdlZC1ieTogQW5kZXIgQ29uc2VsdmFuIGRl IE9saXZlaXJhIDxjb25zZWx2YW4yQGdtYWlsLmNvbT4KPiA+ID4gPiA+PiA+Cj4gPiA+ID4gPj4g PiA+ICsJICogaW50ZWxfY29tcHV0ZV9tYXhfZG90Y2xrKCkgbGltaXRzIHRoZSBtYXggcGl4ZWwg Y2xvY2sgdG8KPiA+ID4gPiA+PiA+ID4gKzk5JSBvZgo+ID4gPiA+IG1heAo+ID4gPiA+ID4+ID4g PiArCSAqIGNkY2xrLikKPiA+ID4gPiA+PiA+ID4gKwkgKi8KPiA+ID4gPiA+PiA+ID4gKwlpZiAo bWF4X3BpeGNsayA+IERJVl9ST1VORF9VUCgyICogMTU4NDAwICogOTksIDEwMCkpCj4gPiA+ID4g Pj4gPiA+ICAJCXJldHVybiAzMTY4MDA7Cj4gPiA+ID4gPj4gPiA+IC0JZWxzZSBpZiAobWF4X3Bp eGNsayA+IDIgKiA3OTIwMCkKPiA+ID4gPiA+PiA+ID4gKwllbHNlIGlmIChtYXhfcGl4Y2xrID4g RElWX1JPVU5EX1VQKDIgKiA3OTIwMCAqIDk5LCAxMDApKQo+ID4gPiA+ID4+ID4gPiAgCQlyZXR1 cm4gMTU4NDAwOwo+ID4gPiA+ID4+ID4gPiAgCWVsc2UKPiA+ID4gPiA+PiA+ID4gIAkJcmV0dXJu IDc5MjAwOwo+ID4gPiA+ID4+ID4gPiBAQCAtMTY2NCw3ICsxNjcwLDExIEBAIHN0YXRpYyBpbnQK PiA+ID4gPiA+PiA+ID4gaW50ZWxfY29tcHV0ZV9tYXhfZG90Y2xrKHN0cnVjdAo+ID4gPiA+IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gPiA+ID4+ID4gPiAgCWludCBtYXhfY2RjbGtf ZnJlcSA9IGRldl9wcml2LT5tYXhfY2RjbGtfZnJlcTsKPiA+ID4gPiA+PiA+ID4KPiA+ID4gPiA+ PiA+ID4gIAlpZiAoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpCj4gPiA+ID4gPj4gPiA+IC0JCXJl dHVybiAyICogbWF4X2NkY2xrX2ZyZXE7Cj4gPiA+ID4gPj4gPiA+ICsJCS8qCj4gPiA+ID4gPj4g PiA+ICsJCSAqIEZJWE1FOiBMaW1pdGluZyB0byA5OSUgYXMgYSB0ZW1wb3JhcnkKPiA+IHdvcmth cm91bmQuIFNlZQo+ID4gPiA+ID4+ID4gPiArCQkgKiBnbGtfY2FsY19jZGNsaygpIGZvciBkZXRh aWxzLgo+ID4gPiA+ID4+ID4gPiArCQkgKi8KPiA+ID4gPiA+PiA+ID4gKwkJcmV0dXJuIDIgKiBt YXhfY2RjbGtfZnJlcSAqIDk5IC8gMTAwOwo+ID4gPiA+ID4+ID4gPiAgCWVsc2UgaWYgKElOVEVM X0lORk8oZGV2X3ByaXYpLT5nZW4gPj0gOSB8fAo+ID4gPiA+ID4+ID4gPiAgCQkgSVNfSEFTV0VM TChkZXZfcHJpdikgfHwgSVNfQlJPQURXRUxMKGRldl9wcml2KSkKPiA+ID4gPiA+PiA+ID4gIAkJ cmV0dXJuIG1heF9jZGNsa19mcmVxOwo+ID4gPiA+ID4+Cj4gPiA+ID4gPj4KPiA+ID4gPgo+ID4g PiA+IC0tCj4gPiA+ID4gSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kg Q2VudGVyCj4gPiAKPiA+IC0tCj4gPiBWaWxsZSBTeXJqw6Rsw6QKPiA+IEludGVsIE9UQwoKLS0g ClZpbGxlIFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==