From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [BXT MIPI PATCH v2 02/13] drm/i915/bxt: Enable BXT DSI PLL Date: Mon, 17 Aug 2015 13:29:27 +0300 Message-ID: <871tf2p5rs.fsf@intel.com> References: <1437899840-32153-1-git-send-email-uma.shankar@intel.com> <1437899840-32153-3-git-send-email-uma.shankar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 1EA8A6E0AF for ; Mon, 17 Aug 2015 03:26:29 -0700 (PDT) In-Reply-To: <1437899840-32153-3-git-send-email-uma.shankar@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Uma Shankar , intel-gfx@lists.freedesktop.org Cc: shobhit.kumar@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gU3VuLCAyNiBKdWwgMjAxNSwgVW1hIFNoYW5rYXIgPHVtYS5zaGFua2FyQGludGVsLmNvbT4g d3JvdGU6Cj4gRnJvbTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29t Pgo+Cj4gVGhpcyBwYXRjaCBhZGRzIG5ldyBmdW5jdGlvbnMgZm9yIEJYVCBjbG9jayBhbmQgUExM IHByb2dyYW1taW5nLgo+IFRoZXkgYXJlOgo+IDEuIGNvbmZpZ3VyZV9kc2lfcGxsIGZvciBCWFQu Cj4gICAgVGhpcyBmdW5jdGlvbiBkb2VzIHRoZSBiYXNpYyBtYXRoIGFuZCBnZW5lcmF0ZXMgdGhl IGRpdmlkZXIgcmF0aW8KPiAgICBiYXNlZCBvbiByZXF1ZXN0ZWQgcGl4Y2xvY2ssIGFuZCBwcm9n cmFtIGNsb2NrIHJlZ2lzdGVycy4KPiAyLiBlbmFibGVfZHNpX3BsbCBmdW5jdGlvbi4KPiAgICBU aGlzIGZ1bmN0aW9uIHByb2dyYW1zIHRoZSBjYWxjdWxhdGVkIGNsb2NrIHZhbHVlcyBvbiB0aGUg UExMLgo+IDMuIGludGVsX2VuYWJsZV9kc2lfcGxsCj4gICAgV3JhcHBlciBmdW5jdGlvbiB0byB1 c2Ugc2FtZSBjb2RlIGZvciBtdWx0aXBsZSBwbGF0Zm9ybXMuIEl0IGNoZWNrcyB0aGUKPiAgICBw bGF0Zm9ybSBhbmQgY2FsbHMgYXBwcm9wcmlhdGUgY29yZSBwbGwgZW5hYmxlIGZ1bmN0aW9uLgo+ Cj4gdjI6IEZpeGVkIEphbmkncyByZXZpZXcgY29tbWVudHMuIE1hY3JvcyBhcmUgYWRqdXN0ZWQg YXMgcGVyIGNvbnZlbnRpb24uCj4KPiBTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNo YXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogVW1hIFNoYW5rYXIgPHVt YS5zaGFua2FyQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaCAgICAgIHwgICAyNSArKysrKysrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHNpLmMgICAgIHwgICAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuaCAg ICAgfCAgICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9wbGwuYyB8ICAg OTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ICA0IGZpbGVzIGNoYW5nZWQs IDExOSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5oCj4gaW5kZXggZGUxZWVhNC4uMDg2MjAxOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aAo+IEBAIC03NDQzLDEwICs3NDQzLDMxIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ ICAjZGVmaW5lIFBJUEVfQ1NDX1BPU1RPRkZfTUUocGlwZSkgX1BJUEUocGlwZSwgX1BJUEVfQV9D U0NfUE9TVE9GRl9NRSwgX1BJUEVfQl9DU0NfUE9TVE9GRl9NRSkKPiAgI2RlZmluZSBQSVBFX0NT Q19QT1NUT0ZGX0xPKHBpcGUpIF9QSVBFKHBpcGUsIF9QSVBFX0FfQ1NDX1BPU1RPRkZfTE8sIF9Q SVBFX0JfQ1NDX1BPU1RPRkZfTE8pCj4gIAo+IC0vKiBNSVBJIERTSSByZWdpc3RlcnMgKi8KPiAt Cj4gICNkZWZpbmUgX01JUElfUE9SVChwb3J0LCBhLCBjKQlfUE9SVDMocG9ydCwgYSwgMCwgYykJ LyogcG9ydHMgQSBhbmQgQyBvbmx5ICovCj4gIAo+ICsvKiBNSVBJIERTSSByZWdpc3RlcnMgKi8K CldoeSBhcmUgeW91IG1vdmluZyB0aGlzIGNvbW1lbnQ/CgpCUiwKSmFuaS4KCj4gKyNkZWZpbmUg QlhUX0RTSV9QTExfQ1RMCQkJMHgxNjEwMDAKPiArI2RlZmluZSAgQlhUX0RTSV9QTExfUFZEX1JB VElPX1NISUZUCTE2Cj4gKyNkZWZpbmUgIEJYVF9EU0lfUExMX1BWRF9SQVRJT19NQVNLCSgzIDw8 IEJYVF9EU0lfUExMX1BWRF9SQVRJT19TSElGVCkKPiArI2RlZmluZSAgQlhUX0RTSV9QTExfUFZE X1JBVElPXzEJKDEgPDwgQlhUX0RTSV9QTExfUFZEX1JBVElPX1NISUZUKQo+ICsjZGVmaW5lICBC WFRfRFNJQ18xNlhfQlkyCQkoMSA8PCAxMCkKPiArI2RlZmluZSAgQlhUX0RTSUNfMTZYX0JZMwkJ KDIgPDwgMTApCj4gKyNkZWZpbmUgIEJYVF9EU0lDXzE2WF9CWTQJCSgzIDw8IDEwKQo+ICsjZGVm aW5lICBCWFRfRFNJQV8xNlhfQlkyCQkoMSA8PCA4KQo+ICsjZGVmaW5lICBCWFRfRFNJQV8xNlhf QlkzCQkoMiA8PCA4KQo+ICsjZGVmaW5lICBCWFRfRFNJQV8xNlhfQlk0CQkoMyA8PCA4KQo+ICsj ZGVmaW5lICBCWFRfRFNJX0ZSRVFfU0VMX1NISUZUCQk4Cj4gKyNkZWZpbmUgIEJYVF9EU0lfRlJF UV9TRUxfTUFTSwkJKDB4RiA8PCBCWFRfRFNJX0ZSRVFfU0VMX1NISUZUKQo+ICsKPiArI2RlZmlu ZSBCWFRfRFNJX1BMTF9SQVRJT19NQVgJCTB4N0QKPiArI2RlZmluZSBCWFRfRFNJX1BMTF9SQVRJ T19NSU4JCTB4MjIKPiArI2RlZmluZSBCWFRfRFNJX1BMTF9SQVRJT19NQVNLCQkweEZGCj4gKyNk ZWZpbmUgQlhUX1JFRl9DTE9DS19LSFoJCTE5NTAwCj4gKwo+ICsjZGVmaW5lIEJYVF9EU0lfUExM X0VOQUJMRQkJMHg0NjA4MAo+ICsjZGVmaW5lICBCWFRfRFNJX1BMTF9ET19FTkFCTEUJCSgxIDw8 IDMxKQo+ICsjZGVmaW5lICBCWFRfRFNJX1BMTF9MT0NLRUQJCSgxIDw8IDMwKQo+ICsKPiAgI2Rl ZmluZSBfTUlQSUFfUE9SVF9DVFJMCQkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMTkwKQo+ICAj ZGVmaW5lIF9NSVBJQ19QT1JUX0NUUkwJCQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjE3MDApCj4g ICNkZWZpbmUgTUlQSV9QT1JUX0NUUkwocG9ydCkJX01JUElfUE9SVChwb3J0LCBfTUlQSUFfUE9S VF9DVFJMLCBfTUlQSUNfUE9SVF9DVFJMKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCj4gaW5k ZXggZDcwOWRhMy4uZTIwMWMwZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kc2kuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCj4gQEAg LTg5OCw4ICs4OTgsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kc2lfcHJlX3BsbF9lbmFibGUoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gIAlEUk1fREVCVUdfS01TKCJcbiIpOwo+ICAK PiAgCWludGVsX2RzaV9wcmVwYXJlKGVuY29kZXIpOwo+ICsJaW50ZWxfZW5hYmxlX2RzaV9wbGwo ZW5jb2Rlcik7Cj4gIAo+IC0Jdmx2X2VuYWJsZV9kc2lfcGxsKGVuY29kZXIpOwo+ICB9Cj4gIAo+ ICBzdGF0aWMgZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rz aS5oCj4gaW5kZXggMjc4NGFjNC4uMjBjZmNmMDcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHNpLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k c2kuaAo+IEBAIC0xMjEsNyArMTIxLDcgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgaW50ZWxfZHNp ICplbmNfdG9faW50ZWxfZHNpKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKPiAgCXJldHVy biBjb250YWluZXJfb2YoZW5jb2Rlciwgc3RydWN0IGludGVsX2RzaSwgYmFzZS5iYXNlKTsKPiAg fQo+ICAKPiAtZXh0ZXJuIHZvaWQgdmx2X2VuYWJsZV9kc2lfcGxsKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyKTsKPiArZXh0ZXJuIHZvaWQgaW50ZWxfZW5hYmxlX2RzaV9wbGwoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIpOwo+ICBleHRlcm4gdm9pZCB2bHZfZGlzYWJsZV9kc2lf cGxsKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKTsKPiAgZXh0ZXJuIHUzMiB2bHZfZ2V0 X2RzaV9wY2xrKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBpbnQgcGlwZV9icHApOwo+ ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BsbC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BsbC5jCj4gaW5kZXggYzZhODk3NS4uYjA3 NDgzYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfcGxsLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfcGxsLmMKPiBAQCAtMjQ2LDcg KzI0Niw3IEBAIHN0YXRpYyB2b2lkIHZsdl9jb25maWd1cmVfZHNpX3BsbChzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlcikKPiAgCXZsdl9jY2tfd3JpdGUoZGV2X3ByaXYsIENDS19SRUdfRFNJ X1BMTF9DT05UUk9MLCBkc2lfbW5wLmRzaV9wbGxfY3RybCk7Cj4gIH0KPiAgCj4gLXZvaWQgdmx2 X2VuYWJsZV9kc2lfcGxsKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICtzdGF0aWMg dm9pZCB2bHZfZW5hYmxlX2RzaV9wbGwoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4g IHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGVuY29kZXItPmJhc2Uu ZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXUzMiB0bXA7Cj4gQEAgLTM2MywzICszNjMsOTYgQEAgdTMy IHZsdl9nZXRfZHNpX3BjbGsoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGludCBwaXBl X2JwcCkKPiAgCj4gIAlyZXR1cm4gcGNsazsKPiAgfQo+ICsKPiArc3RhdGljIGJvb2wgYnh0X2Nv bmZpZ3VyZV9kc2lfcGxsKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICt7Cj4gKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBlbmNvZGVyLT5iYXNlLmRldi0+ZGV2 X3ByaXZhdGU7Cj4gKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxf ZHNpKCZlbmNvZGVyLT5iYXNlKTsKPiArCXU4IGRzaV9yYXRpbzsKPiArCXUzMiBkc2lfY2xrOwo+ ICsJdTMyIHZhbDsKPiArCj4gKwlkc2lfY2xrID0gZHNpX2Nsa19mcm9tX3BjbGsoaW50ZWxfZHNp LT5wY2xrLCBpbnRlbF9kc2ktPnBpeGVsX2Zvcm1hdCwKPiArCQkJaW50ZWxfZHNpLT5sYW5lX2Nv dW50KTsKPiArCj4gKwkvKgo+ICsJICogRnJvbSBjbG9jayBkaWFncmFtLCB0byBnZXQgUExMIHJh dGlvIGRpdmlkZXIsIGRpdmlkZSBkb3VibGUgb2YgRFNJCj4gKwkgKiBsaW5rIHJhdGUgKGkuZS4s IDIqOHg9MTZ4IGZyZXF1ZW5jeSB2YWx1ZSkgYnkgcmVmIGNsb2NrLiBNYWtlIHN1cmUgdG8KPiAr CSAqIHJvdW5kICd1cCcgdGhlIHJlc3VsdAo+ICsJICovCj4gKwlkc2lfcmF0aW8gPSBESVZfUk9V TkRfVVAoZHNpX2NsayAqIDIsIEJYVF9SRUZfQ0xPQ0tfS0haKTsKPiArCWlmIChkc2lfcmF0aW8g PCBCWFRfRFNJX1BMTF9SQVRJT19NSU4gfHwKPiArCQkJZHNpX3JhdGlvID4gQlhUX0RTSV9QTExf UkFUSU9fTUFYKSB7Cj4gKwkJRFJNX0VSUk9SKCJDYW50IGdldCBhIHN1aXRhYmxlIHJhdGlvIGZy b20gRFNJIFBMTCByYXRpb3NcbiIpOwo+ICsJCXJldHVybiBmYWxzZTsKPiArCX0KPiArCj4gKwkv Kgo+ICsJICogUHJvZ3JhbSBEU0kgcmF0aW8gYW5kIFNlbGVjdCBNSVBJQyBhbmQgTUlQSUEgUExM IG91dHB1dCBhcyA4eAo+ICsJICogU3BlYyBzYXlzIGJvdGggaGF2ZSB0byBiZSBwcm9ncmFtbWVk LCBldmVuIGlmIG9uZSBpcyBub3QgZ2V0dGluZwo+ICsJICogdXNlZC4gQ29uZmlndXJlIE1JUElf Q0xPQ0tfQ1RMIGRpdmlkZXJzIGluIG1vZGVzZXQKPiArCSAqLwo+ICsJdmFsID0gSTkxNV9SRUFE KEJYVF9EU0lfUExMX0NUTCk7Cj4gKwl2YWwgJj0gfkJYVF9EU0lfUExMX1BWRF9SQVRJT19NQVNL Owo+ICsJdmFsICY9IH5CWFRfRFNJX0ZSRVFfU0VMX01BU0s7Cj4gKwl2YWwgJj0gfkJYVF9EU0lf UExMX1JBVElPX01BU0s7Cj4gKwl2YWwgfD0gKGRzaV9yYXRpbyB8IEJYVF9EU0lBXzE2WF9CWTIg fCBCWFRfRFNJQ18xNlhfQlkyKTsKPiArCj4gKwkvKiBBcyBwZXIgcmVjb21tZW5kYXRpb24gZnJv bSBoYXJkd2FyZSB0ZWFtLAo+ICsJICogUHJvZyBQVkQgcmF0aW8gPTEgaWYgZHNpIHJhdGlvIDw9 IDUwCj4gKwkgKi8KPiArCWlmIChkc2lfcmF0aW8gPD0gNTApIHsKPiArCQl2YWwgJj0gfkJYVF9E U0lfUExMX1BWRF9SQVRJT19NQVNLOwo+ICsJCXZhbCB8PSBCWFRfRFNJX1BMTF9QVkRfUkFUSU9f MTsKPiArCX0KPiArCj4gKwlJOTE1X1dSSVRFKEJYVF9EU0lfUExMX0NUTCwgdmFsKTsKPiArCVBP U1RJTkdfUkVBRChCWFRfRFNJX1BMTF9DVEwpOwo+ICsKPiArCXJldHVybiB0cnVlOwo+ICt9Cj4g Kwo+ICtzdGF0aWMgdm9pZCBieHRfZW5hYmxlX2RzaV9wbGwoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIpCj4gK3sKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGVu Y29kZXItPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKPiArCXUzMiB2YWw7Cj4gKwo+ICsJRFJNX0RF QlVHX0tNUygiXG4iKTsKPiArCj4gKwl2YWwgPSBJOTE1X1JFQUQoQlhUX0RTSV9QTExfRU5BQkxF KTsKPiArCj4gKwlpZiAodmFsICYgQlhUX0RTSV9QTExfRE9fRU5BQkxFKSB7Cj4gKwkJV0FSTigx LCAiRFNJIFBMTCBhbHJlYWR5IGVuYWJsZWQuIERpc2FibGluZyBpdC5cbiIpOwo+ICsJCXZhbCAm PSB+QlhUX0RTSV9QTExfRE9fRU5BQkxFOwo+ICsJCUk5MTVfV1JJVEUoQlhUX0RTSV9QTExfRU5B QkxFLCB2YWwpOwo+ICsJfQo+ICsKPiArCS8qIENvbmZpZ3VyZSBQTEwgdmFsZXMgKi8KPiArCWlm ICghYnh0X2NvbmZpZ3VyZV9kc2lfcGxsKGVuY29kZXIpKSB7Cj4gKwkJRFJNX0VSUk9SKCJDb25m aWd1cmUgRFNJIFBMTCBmYWlsZWQsIGFib3J0IFBMTCBlbmFibGVcbiIpOwo+ICsJCXJldHVybjsK PiArCX0KPiArCj4gKwkvKiBFbmFibGUgRFNJIFBMTCAqLwo+ICsJdmFsID0gSTkxNV9SRUFEKEJY VF9EU0lfUExMX0VOQUJMRSk7Cj4gKwl2YWwgfD0gQlhUX0RTSV9QTExfRE9fRU5BQkxFOwo+ICsJ STkxNV9XUklURShCWFRfRFNJX1BMTF9FTkFCTEUsIHZhbCk7Cj4gKwo+ICsJLyogVGltZW91dCBh bmQgZmFpbCBpZiBQTEwgbm90IGxvY2tlZCAqLwo+ICsJaWYgKHdhaXRfZm9yKEk5MTVfUkVBRChC WFRfRFNJX1BMTF9FTkFCTEUpICYgQlhUX0RTSV9QTExfTE9DS0VELCAxKSkgewo+ICsJCURSTV9F UlJPUigiVGltZWQgb3V0IHdhaXRpbmcgZm9yIERTSSBQTEwgdG8gbG9ja1xuIik7Cj4gKwkJcmV0 dXJuOwo+ICsJfQo+ICsKPiArCURSTV9ERUJVR19LTVMoIkRTSSBQTEwgbG9ja2VkXG4iKTsKPiAr fQo+ICsKPiArdm9pZCBpbnRlbF9lbmFibGVfZHNpX3BsbChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlcikKPiArewo+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2Uu ZGV2Owo+ICsKPiArCWlmIChJU19WQUxMRVlWSUVXKGRldikpCj4gKwkJdmx2X2VuYWJsZV9kc2lf cGxsKGVuY29kZXIpOwo+ICsJZWxzZSBpZiAoSVNfQlJPWFRPTihkZXYpKQo+ICsJCWJ4dF9lbmFi bGVfZHNpX3BsbChlbmNvZGVyKTsKPiArfQo+IC0tIAo+IDEuNy45LjUKPgoKLS0gCkphbmkgTmlr dWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENlbnRlcgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=