From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [DPU PATCH 1/2] drm/msm/dsi-staging: compile out partial update path Date: Mon, 26 Feb 2018 10:00:47 -0500 Message-ID: <20180226150047.GR223881@art_vandelay> References: <1519353125-32005-1-git-send-email-jsanka@codeaurora.org> <1519353125-32005-2-git-send-email-jsanka@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1519353125-32005-2-git-send-email-jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Jeykumar Sankaran Cc: jeykumar-jfJNa2p1gH1BDgjK7y7TUQ@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, nganji-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, hoegsberg-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org T24gVGh1LCBGZWIgMjIsIDIwMTggYXQgMDY6MzI6MDRQTSAtMDgwMCwgSmV5a3VtYXIgU2Fua2Fy YW4gd3JvdGU6Cj4gY29tcGlsZSBvdXQgcGFydGlhbCB1cGRhdGUgcmVsYXRlZCBjaGFuZ2VzIGZy b20gZHNpLXN0YWdpbmcKPiBzaW5jZSB0aGUgRFBVIGRlcGVuZGVuY2llcyBhcmUgZ2V0dGluZyBy ZW1vdmVkLgo+IAo+IENoYW5nZS1JZDogSTAyNDYyZjUyMGNkZjk5Yzg0NDViMThlNjAyMTJjYTQ2 MTU1Zjk3MTAKPiBTaWduZWQtb2ZmLWJ5OiBKZXlrdW1hciBTYW5rYXJhbiA8anNhbmthQGNvZGVh dXJvcmEub3JnPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS1zdGFnaW5nL2RzaV9k aXNwbGF5LmMgfCAgOSArKysrKysrLS0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kc2ktc3RhZ2lu Zy9kc2lfZGlzcGxheS5oIHwgIDUgKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kc2ktc3Rh Z2luZy9kc2lfZHJtLmMgICAgIHwgMTEgKysrKysrLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL21z bS9kc2ktc3RhZ2luZy9kc2lfZHJtLmggICAgIHwgIDQgKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v bXNtL2RzaS1zdGFnaW5nL2RzaV9wYW5lbC5jICAgfCAgNCArKysrCj4gIGRyaXZlcnMvZ3B1L2Ry bS9tc20vZHNpLXN0YWdpbmcvZHNpX3BhbmVsLmggICB8ICAyIC0tCj4gIDYgZmlsZXMgY2hhbmdl ZCwgMjAgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vZHNpLXN0YWdpbmcvZHNpX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vZHNpLXN0YWdpbmcvZHNpX2Rpc3BsYXkuYwo+IGluZGV4IDcyMDU1ZGMuLjNlMzI4 NzIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2ktc3RhZ2luZy9kc2lfZGlz cGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2ktc3RhZ2luZy9kc2lfZGlzcGxh eS5jCj4gQEAgLTM0MTQsOCArMzQxNCwxMCBAQCBpbnQgZHNpX2Rpc3BsYXlfZ2V0X2luZm8oc3Ry dWN0IG1zbV9kaXNwbGF5X2luZm8gKmluZm8sIHZvaWQgKmRpc3ApCj4gIAkJYnJlYWs7Cj4gIAl9 Cj4gIAo+ICsjaWZkZWYgRFNJX1BBUlRJQUxfVVBEQVRFCj4gIAltZW1jcHkoJmluZm8tPnJvaV9j YXBzLCAmZGlzcGxheS0+cGFuZWwtPnJvaV9jYXBzLAo+ICAJCQlzaXplb2YoaW5mby0+cm9pX2Nh cHMpKTsKPiArI2VuZGlmCj4gIAo+ICBlcnJvcjoKPiAgCW11dGV4X3VubG9jaygmZGlzcGxheS0+ ZGlzcGxheV9sb2NrKTsKPiBAQCAtMzk0MSw2ICszOTQzLDcgQEAgaW50IGRzaV9kaXNwbGF5X3By ZXBhcmUoc3RydWN0IGRzaV9kaXNwbGF5ICpkaXNwbGF5KQo+ICAJcmV0dXJuIHJjOwo+ICB9Cj4g IAo+ICsjaWZkZWYgRFNJX1BBUlRJQUxfVVBEQVRFCj4gIHN0YXRpYyBpbnQgZHNpX2Rpc3BsYXlf Y2FsY19jdHJsX3JvaShjb25zdCBzdHJ1Y3QgZHNpX2Rpc3BsYXkgKmRpc3BsYXksCj4gIAkJY29u c3Qgc3RydWN0IGRzaV9kaXNwbGF5X2N0cmwgKmN0cmwsCj4gIAkJY29uc3Qgc3RydWN0IG1zbV9y b2lfbGlzdCAqcmVxX3JvaXMsCj4gQEAgLTQwMzYsOSArNDAzOSw5IEBAIHN0YXRpYyBpbnQgZHNp X2Rpc3BsYXlfc2V0X3JvaShzdHJ1Y3QgZHNpX2Rpc3BsYXkgKmRpc3BsYXksCj4gIAo+ICAJcmV0 dXJuIHJjOwo+ICB9Cj4gKyNlbmRpZgo+ICAKPiAtaW50IGRzaV9kaXNwbGF5X3ByZV9raWNrb2Zm KHN0cnVjdCBkc2lfZGlzcGxheSAqZGlzcGxheSwKPiAtCQlzdHJ1Y3QgbXNtX2Rpc3BsYXlfa2lj a29mZl9wYXJhbXMgKnBhcmFtcykKPiAraW50IGRzaV9kaXNwbGF5X3ByZV9raWNrb2ZmKHN0cnVj dCBkc2lfZGlzcGxheSAqZGlzcGxheSkKPiAgewo+ICAJaW50IHJjID0gMDsKPiAgCj4gQEAgLTQw NDYsNyArNDA0OSw5IEBAIGludCBkc2lfZGlzcGxheV9wcmVfa2lja29mZihzdHJ1Y3QgZHNpX2Rp c3BsYXkgKmRpc3BsYXksCj4gIAlpZiAoZGlzcGxheS0+bWlzcl9lbmFibGUpCj4gIAkJX2RzaV9k aXNwbGF5X3NldHVwX21pc3IoZGlzcGxheSk7Cj4gIAo+ICsjaWZkZWYgRFNJX1BBUlRJQUxfVVBE QVRFCj4gIAlyYyA9IGRzaV9kaXNwbGF5X3NldF9yb2koZGlzcGxheSwgcGFyYW1zLT5yb2lzKTsK PiArI2VuZGlmCj4gIAo+ICAJcmV0dXJuIHJjOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9tc20vZHNpLXN0YWdpbmcvZHNpX2Rpc3BsYXkuaCBiL2RyaXZlcnMvZ3B1L2RybS9t c20vZHNpLXN0YWdpbmcvZHNpX2Rpc3BsYXkuaAo+IGluZGV4IGIyM2E4NGQuLmEwZjljY2YgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2ktc3RhZ2luZy9kc2lfZGlzcGxheS5o Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2ktc3RhZ2luZy9kc2lfZGlzcGxheS5oCj4g QEAgLTUyNCwxMSArNTI0LDEwIEBAIGludCBkc2lfZGlzcGxheV9zZXRfcG93ZXIoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgLyoKPiAgICogZHNpX2Rpc3BsYXlfcHJlX2tpY2tv ZmYgLSBwcm9ncmFtIGtpY2tvZmYtdGltZSBmZWF0dXJlcwo+ICAgKiBAZGlzcGxheTogUG9pbnRl ciB0byBwcml2YXRlIGRpc3BsYXkgc3RydWN0dXJlCj4gLSAqIEBwYXJhbXM6IFBhcmFtZXRlcnMg Zm9yIGtpY2tvZmYtdGltZSBwcm9ncmFtbWluZwo+ICAgKiBSZXR1cm5zOiBaZXJvIG9uIHN1Y2Nl c3MKPiAgICovCj4gLWludCBkc2lfZGlzcGxheV9wcmVfa2lja29mZihzdHJ1Y3QgZHNpX2Rpc3Bs YXkgKmRpc3BsYXksCj4gLQkJc3RydWN0IG1zbV9kaXNwbGF5X2tpY2tvZmZfcGFyYW1zICpwYXJh bXMpOwo+ICtpbnQgZHNpX2Rpc3BsYXlfcHJlX2tpY2tvZmYoc3RydWN0IGRzaV9kaXNwbGF5ICpk aXNwbGF5KTsKPiArCj4gIC8qKgo+ICAgKiBkc2lfZGlzcGxheV9nZXRfZHN0X2Zvcm1hdCgpIC0g Z2V0IGRzdF9mb3JtYXQgZnJvbSBEU0kgZGlzcGxheQo+ICAgKiBAZGlzcGxheTogICAgICAgICBI YW5kbGUgdG8gZGlzcGxheQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS1z dGFnaW5nL2RzaV9kcm0uYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpLXN0YWdpbmcvZHNpX2Ry bS5jCj4gaW5kZXggNjg0N2M1My4uMzJhNmU4ZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vbXNtL2RzaS1zdGFnaW5nL2RzaV9kcm0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20v ZHNpLXN0YWdpbmcvZHNpX2RybS5jCj4gQEAgLTQ0Myw2ICs0NDMsNyBAQCBpbnQgZHNpX2Nvbm5f cG9zdF9pbml0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAkJYnJlYWs7Cj4g IAl9Cj4gIAo+ICsjaWZkZWYgRFNJX1BBUlRJQUxfVVBEQVRFCj4gIAlpZiAocGFuZWwtPnJvaV9j YXBzLmVuYWJsZWQpIHsKPiAgCQlkcHVfa21zX2luZm9fYWRkX2tleWludChpbmZvLCAicGFydGlh bF91cGRhdGVfbnVtX3JvaSIsCj4gIAkJCQlwYW5lbC0+cm9pX2NhcHMubnVtX3JvaSk7Cj4gQEAg LTQ2MCw3ICs0NjEsOCBAQCBpbnQgZHNpX2Nvbm5fcG9zdF9pbml0KHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IsCj4gIAkJCQlwYW5lbC0+cm9pX2NhcHMuYWxpZ24ubWluX2hlaWdodCk7 Cj4gIAkJZHB1X2ttc19pbmZvX2FkZF9rZXlpbnQoaW5mbywgInBhcnRpYWxfdXBkYXRlX3JvaW1l cmdlIiwKPiAgCQkJCXBhbmVsLT5yb2lfY2Fwcy5tZXJnZV9yb2lzKTsKPiAtCX0KPiArCQl9Cj4g KyNlbmRpZgo+ICAKPiAgZW5kOgo+ICAJcmV0dXJuIDA7Cj4gQEAgLTU5OCwxNSArNjAwLDE0IEBA IGVudW0gZHJtX21vZGVfc3RhdHVzIGRzaV9jb25uX21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvciwKPiAgfQo+ICAKPiAgaW50IGRzaV9jb25uX3ByZV9raWNrb2ZmKHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gLQkJdm9pZCAqZGlzcGxheSwKPiAtCQlz dHJ1Y3QgbXNtX2Rpc3BsYXlfa2lja29mZl9wYXJhbXMgKnBhcmFtcykKPiArCQl2b2lkICpkaXNw bGF5KQo+ICB7Cj4gLQlpZiAoIWNvbm5lY3RvciB8fCAhZGlzcGxheSB8fCAhcGFyYW1zKSB7Cj4g KwlpZiAoIWNvbm5lY3RvciB8fCAhZGlzcGxheSkgewo+ICAJCXByX2VycigiSW52YWxpZCBwYXJh bXNcbiIpOwo+ICAJCXJldHVybiAtRUlOVkFMOwo+ICAJfQo+ICAKPiAtCXJldHVybiBkc2lfZGlz cGxheV9wcmVfa2lja29mZihkaXNwbGF5LCBwYXJhbXMpOwo+ICsJcmV0dXJuIGRzaV9kaXNwbGF5 X3ByZV9raWNrb2ZmKGRpc3BsYXkpOwo+ICB9Cj4gIAo+ICB2b2lkIGRzaV9jb25uX2VuYWJsZV9l dmVudChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL2RzaS1zdGFnaW5nL2RzaV9kcm0uaCBiL2RyaXZlcnMvZ3B1L2RybS9t c20vZHNpLXN0YWdpbmcvZHNpX2RybS5oCj4gaW5kZXggZjQyNzM0MC4uMzhkZTMzYyAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS1zdGFnaW5nL2RzaV9kcm0uaAo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpLXN0YWdpbmcvZHNpX2RybS5oCj4gQEAgLTExMiwxMiAr MTEyLDEwIEBAIHN0cnVjdCBkc2lfYnJpZGdlICpkc2lfZHJtX2JyaWRnZV9pbml0KHN0cnVjdCBk c2lfZGlzcGxheSAqZGlzcGxheSwKPiAgICogZHNpX2Rpc3BsYXlfcHJlX2tpY2tvZmYgLSBwcm9n cmFtIGtpY2tvZmYtdGltZSBmZWF0dXJlcwo+ICAgKiBAY29ubmVjdG9yOiBQb2ludGVyIHRvIGRy bSBjb25uZWN0b3Igc3RydWN0dXJlCj4gICAqIEBkaXNwbGF5OiBQb2ludGVyIHRvIHByaXZhdGUg ZGlzcGxheSBzdHJ1Y3R1cmUKPiAtICogQHBhcmFtczogUGFyYW1ldGVycyBmb3Iga2lja29mZi10 aW1lIHByb2dyYW1taW5nCj4gICAqIFJldHVybnM6IFplcm8gb24gc3VjY2Vzcwo+ICAgKi8KPiAg aW50IGRzaV9jb25uX3ByZV9raWNrb2ZmKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Is Cj4gLQkJdm9pZCAqZGlzcGxheSwKPiAtCQlzdHJ1Y3QgbXNtX2Rpc3BsYXlfa2lja29mZl9wYXJh bXMgKnBhcmFtcyk7Cj4gKwkJdm9pZCAqZGlzcGxheSk7Cj4gIAo+ICAvKioKPiAgICogZHNpX2Rp c3BsYXlfcG9zdF9raWNrb2ZmIC0gcHJvZ3JhbSBwb3N0IGtpY2tvZmYtdGltZSBmZWF0dXJlcwo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS1zdGFnaW5nL2RzaV9wYW5lbC5j IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2ktc3RhZ2luZy9kc2lfcGFuZWwuYwo+IGluZGV4IDJk OTRlNWYuLmVmNTk0MzMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2ktc3Rh Z2luZy9kc2lfcGFuZWwuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpLXN0YWdpbmcv ZHNpX3BhbmVsLmMKPiBAQCAtMjMzMSw2ICsyMzMxLDcgQEAgc3RhdGljIGludCBkc2lfcGFuZWxf cGFyc2VfdG9wb2xvZ3koCj4gIAlyZXR1cm4gcmM7Cj4gIH0KPiAgCj4gKyNpZmRlZiBEU0lfUEFS VElBTF9VUERBVEUKPiAgc3RhdGljIGludCBkc2lfcGFuZWxfcGFyc2Vfcm9pX2FsaWdubWVudChz dHJ1Y3QgZGV2aWNlX25vZGUgKm9mX25vZGUsCj4gIAkJCQkJIHN0cnVjdCBtc21fcm9pX2FsaWdu bWVudCAqYWxpZ24pCj4gIHsKPiBAQCAtMjQxMSw2ICsyNDEyLDcgQEAgc3RhdGljIGludCBkc2lf cGFuZWxfcGFyc2VfcGFydGlhbF91cGRhdGVfY2FwcyhzdHJ1Y3QgZHNpX3BhbmVsICpwYW5lbCwK PiAgCj4gIAlyZXR1cm4gcmM7Cj4gIH0KPiArI2VuZGlmCj4gIAo+ICBzdGF0aWMgaW50IGRzaV9w YW5lbF9wYXJzZV9kbXNfaW5mbyhzdHJ1Y3QgZHNpX3BhbmVsICpwYW5lbCwKPiAgCXN0cnVjdCBk ZXZpY2Vfbm9kZSAqb2Zfbm9kZSkKPiBAQCAtMjcwMyw5ICsyNzA1LDExIEBAIHN0cnVjdCBkc2lf cGFuZWwgKmRzaV9wYW5lbF9nZXQoc3RydWN0IGRldmljZSAqcGFyZW50LAo+ICAJaWYgKHJjKQo+ ICAJCXByX2VycigiZmFpbGVkIHRvIHBhcnNlIGhkciBjb25maWcsIHJjPSVkXG4iLCByYyk7Cj4g IAo+ICsjaWZkZWYgRFNJX1BBUlRJQUxfVVBEQVRFCj4gIAlyYyA9IGRzaV9wYW5lbF9wYXJzZV9w YXJ0aWFsX3VwZGF0ZV9jYXBzKHBhbmVsLCBvZl9ub2RlKTsKPiAgCWlmIChyYykKPiAgCQlwcl9k ZWJ1ZygiZmFpbGVkIHRvIHBhcnRpYWwgdXBkYXRlIGNhcHMsIHJjPSVkXG4iLCByYyk7Cj4gKyNl bmRpZgo+ICAKPiAgCXJjID0gZHNpX3BhbmVsX2dldF9tb2RlX2NvdW50KHBhbmVsLCBvZl9ub2Rl KTsKPiAgCWlmIChyYykgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS1z dGFnaW5nL2RzaV9wYW5lbC5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2ktc3RhZ2luZy9kc2lf cGFuZWwuaAo+IGluZGV4IGMyNmE1ZGIuLjNiMWI0N2MgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL21zbS9kc2ktc3RhZ2luZy9kc2lfcGFuZWwuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZHNpLXN0YWdpbmcvZHNpX3BhbmVsLmgKPiBAQCAtMTU1LDggKzE1NSw2IEBAIHN0cnVj dCBkc2lfcGFuZWwgewo+ICAJZW51bSBkc2lfb3BfbW9kZSBwYW5lbF9tb2RlOwo+ICAKPiAgCXN0 cnVjdCBkc2lfZGZwc19jYXBhYmlsaXRpZXMgZGZwc19jYXBzOwo+IC0Jc3RydWN0IG1zbV9yb2lf Y2FwcyByb2lfY2FwczsKPiAtCgpSZW1vdmluZyB0aGlzIGJyZWFrcyB0aGluZ3MgaWYgeW91IGRv IGRlZmluZSBEU0lfUEFSVElBTF9VUERBVEUuIExldHMganVzdApyZW1vdmUgZXZlcnl0aGluZyBu b3cgc2luY2UgaXQnbGwgcHJvYmFibHkgYmVjb21lIHN0YWxlLgoKVGhlcmUgYXJlIGxvdHMgbW9y ZSByZWZlcmVuY2VzIHRvIHJvaSBpbiBkc2ktc3RhZ2luZywgYnV0IEkgZ3Vlc3Mgc2luY2UKZHNp LXN0YWdpbmcgaXNuJ3QgZ29pbmcgdXBzdHJlYW0sIGl0J3MgbGVzcyBpbXBvcnRhbnQuIFBlcmhh cHMgeW91IGNhbiB0YWtlIG9uZQptb3JlIHBhc3MgYXQgcmVtb3ZpbmcgbW9yZSBjb2RlIGluIHYy PwoKU2VhbgoKPiAgCXN0cnVjdCBkc2lfcGFuZWxfcGh5X3Byb3BzIHBoeV9wcm9wczsKPiAgCj4g IAlzdHJ1Y3QgZHNpX2Rpc3BsYXlfbW9kZSAqY3VyX21vZGU7Cj4gLS0gCj4gVGhlIFF1YWxjb21t IElubm92YXRpb24gQ2VudGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIHRoZSBDb2RlIEF1cm9yYSBG b3J1bSwKPiBhIExpbnV4IEZvdW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0Cj4gCgotLSAK U2VhbiBQYXVsLCBTb2Z0d2FyZSBFbmdpbmVlciwgR29vZ2xlIC8gQ2hyb21pdW0gT1MKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRyZW5vIG1haWxp bmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==