From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [RFC v2 1/6] drm: Add top level Kconfig option for DRM fbdev emulation Date: Mon, 13 Jul 2015 12:12:06 +0530 Message-ID: <1436769731-4816-2-git-send-email-architt@codeaurora.org> References: <1436769731-4816-1-git-send-email-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1436769731-4816-1-git-send-email-architt@codeaurora.org> In-Reply-To: <1425980493-27533-1-git-send-email-architt@codeaurora.org> References: <1425980493-27533-1-git-send-email-architt@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, daniel@ffwll.ch Cc: linux-arm-msm@vger.kernel.org, benjamin.gaignard@linaro.org, treding@nvidia.com List-Id: linux-arm-msm@vger.kernel.org TGVnYWN5IGZiZGV2IGVtdWxhdGlvbiBzdXBwb3J0IHZpYSBEUk0gaXMgYWNoaWV2ZWQgdGhyb3Vn aCBLTVMgRkIgaGVscGVycy4KTW9zdCBtb2Rlc2V0dGluZyBkcml2ZXJzIGVuYWJsZSBwcm92aWRl IGZiZGV2IGVtdWxhdGlvbiBieSBkZWZhdWx0IGJ5CnNlbGVjdGluZyBLTVMgRkIgaGVscGVycy4g QSBmZXcgcHJvdmlkZSBhIHNlcGFyYXRlIEtjb25maWcgb3B0aW9uIGZvciB0aGUKdXNlciB0byBl bmFibGUgb3IgZGlzYmFsZSBmYmRldiBlbXVsYXRpb24uCgpFbmFibGluZyBmYmRldiBlbXVsYXRp b24gaXMgZmluYWxseSBhIGRpc3Ryby1sZXZlbCBkZWNpc2lvbi4gSGF2aW5nIGEgdG9wCmxldmVs IEtjb25maWcgb3B0aW9uIGZvciBmYmRldiBlbXVsYXRpb24gaGVscHMgYnkgcHJvdmlkaW5nIGEg dW5pZm9ybSB3YXkKdG8gZW5hYmxlL2Rpc2FibGUgZmJkZXYgZW11bGF0aW9uIGZvciBhbnkgbW9k ZXNldHRpbmcgZHJpdmVyLiBJdCBhbHNvIGxldHMKdXMgcmVtb3ZlIHVubmVjZXNzYXJ5IGRyaXZl ciBzcGVjaWZpYyBLY29uZmlnIG9wdGlvbnMgdGhhdCBjYXVzZXMgYmxvYXQuCgpXaXRoIGEgdG9w IGxldmVsIEtjb25maWcgaW4gcGxhY2UsIHdlIGNhbiBzdHViIG91dCB0aGUgZmIgaGVscGVyIGZ1 bmN0aW9ucwp3aGVuIG5vdCBuZWVkZWQgd2l0aG91dCBicmVha2luZyBmdW5jdGlvbmFsaXR5LiBI YXZpbmcgc3R1YiBmdW5jdGlvbnMgYWxzbwpwcmV2ZW50cyBkcml2ZXJzIHRvIHJlcXVpcmUgd3Jh cHBpbmcgZmIgaGVscGVyIGZ1bmN0aW9uIGNhbGxzIHdpdGggI2lmZGVmcy4KCkRSTV9GQkRFVl9F TVVMQVRJT04gZGVmYXVsdHMgdG8geSBzaW5jZSBtYW55IGRyaXZlcnMgZW5hYmxlIGZiZGV2CmVt dWxhdGlvbiBieSBkZWZhdWx0IGFuZCBtYWpvcml0eSBvZiBkaXN0cmlidXRpb25zIGV4cGVjdCB0 aGUgZmJkZXYKaW50ZXJmYWNlIGluIHRoZSBrZXJuZWwuCgpTaWduZWQtb2ZmLWJ5OiBBcmNoaXQg VGFuZWphIDxhcmNoaXR0QGNvZGVhdXJvcmEub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9LY29u ZmlnICAgICB8ICAxMiArKysKIGRyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZSAgICB8ICAgMiArLQog aW5jbHVkZS9kcm0vZHJtX2ZiX2hlbHBlci5oIHwgMTkyICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDIwNSBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL0tjb25maWcgYi9k cml2ZXJzL2dwdS9kcm0vS2NvbmZpZwppbmRleCBlMzczZjhhLi44ZmQ2NzBiIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vS2NvbmZpZworKysgYi9kcml2ZXJzL2dwdS9kcm0vS2NvbmZpZwpA QCAtNDcsNiArNDcsMTggQEAgY29uZmlnIERSTV9LTVNfRkJfSEVMUEVSCiAJaGVscAogCSAgRkJE RVYgaGVscGVycyBmb3IgS01TIGRyaXZlcnMuCiAKK2NvbmZpZyBEUk1fRkJERVZfRU1VTEFUSU9O CisJYm9vbCAiRW5hYmxlIGxlZ2FjeSBmYmRldiBzdXBwb3J0IGZvciB5b3VyIG1vZGVzZXR0aW5n IGRyaXZlciIKKwlkZXBlbmRzIG9uIERSTQorCXNlbGVjdCBEUk1fS01TX0hFTFBFUgorCXNlbGVj dCBEUk1fS01TX0ZCX0hFTFBFUgorCWRlZmF1bHQgeQorCWhlbHAKKwkgIENob29zZSB0aGlzIG9w dGlvbiBpZiB5b3UgaGF2ZSBhIG5lZWQgZm9yIHRoZSBsZWdhY3kgZmJkZXYKKwkgIHN1cHBvcnQu IE5vdGUgdGhhdCB0aGlzIHN1cHBvcnQgYWxzbyBwcm92aWRlIHRoZSBsaW51eCBjb25zb2xlCisJ ICBzdXBwb3J0IG9uIHRvcCBvZiB5b3VyIG1vZGVzZXR0aW5nIGRyaXZlci4gWW91J2QgbmVlZCB0 aGlzIGlmCisJICB5b3UncmUgbG9va2luZyBmb3IgY29uc29sZSBzdXBwb3J0IHRvby4KKwogY29u ZmlnIERSTV9MT0FEX0VESURfRklSTVdBUkUKIAlib29sICJBbGxvdyB0byBzcGVjaWZ5IGFuIEVE SUQgZGF0YSBzZXQgaW5zdGVhZCBvZiBwcm9iaW5nIGZvciBpdCIKIAlkZXBlbmRzIG9uIERSTV9L TVNfSEVMUEVSCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vTWFrZWZpbGUgYi9kcml2ZXJz L2dwdS9kcm0vTWFrZWZpbGUKaW5kZXggNTcxM2QwNS4uODg1ODUxMCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZQpAQCAt MjMsNyArMjMsNyBAQCBkcm0tJChDT05GSUdfT0YpICs9IGRybV9vZi5vCiBkcm1fa21zX2hlbHBl ci15IDo9IGRybV9jcnRjX2hlbHBlci5vIGRybV9kcF9oZWxwZXIubyBkcm1fcHJvYmVfaGVscGVy Lm8gXAogCQlkcm1fcGxhbmVfaGVscGVyLm8gZHJtX2RwX21zdF90b3BvbG9neS5vIGRybV9hdG9t aWNfaGVscGVyLm8KIGRybV9rbXNfaGVscGVyLSQoQ09ORklHX0RSTV9MT0FEX0VESURfRklSTVdB UkUpICs9IGRybV9lZGlkX2xvYWQubwotZHJtX2ttc19oZWxwZXItJChDT05GSUdfRFJNX0tNU19G Ql9IRUxQRVIpICs9IGRybV9mYl9oZWxwZXIubworZHJtX2ttc19oZWxwZXItJChDT05GSUdfRFJN X0ZCREVWX0VNVUxBVElPTikgKz0gZHJtX2ZiX2hlbHBlci5vCiBkcm1fa21zX2hlbHBlci0kKENP TkZJR19EUk1fS01TX0NNQV9IRUxQRVIpICs9IGRybV9mYl9jbWFfaGVscGVyLm8KIAogb2JqLSQo Q09ORklHX0RSTV9LTVNfSEVMUEVSKSArPSBkcm1fa21zX2hlbHBlci5vCmRpZmYgLS1naXQgYS9p bmNsdWRlL2RybS9kcm1fZmJfaGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fZmJfaGVscGVyLmgK aW5kZXggY2MxOWU4OC4uOGY5NzJkYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2ZiX2hl bHBlci5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9mYl9oZWxwZXIuaApAQCAtMTIyLDYgKzEyMiw3 IEBAIHN0cnVjdCBkcm1fZmJfaGVscGVyIHsKIAlib29sIGRlbGF5ZWRfaG90cGx1ZzsKIH07CiAK KyNpZmRlZiBDT05GSUdfRFJNX0ZCREVWX0VNVUxBVElPTgogdm9pZCBkcm1fZmJfaGVscGVyX3By ZXBhcmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9mYl9oZWxwZXIgKmhlbHBl ciwKIAkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fZmJfaGVscGVyX2Z1bmNzICpmdW5jcyk7CiBpbnQg ZHJtX2ZiX2hlbHBlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCkBAIC0xODgsNCArMTg5 LDE5NSBAQCBkcm1fcGlja19jbWRsaW5lX21vZGUoc3RydWN0IGRybV9mYl9oZWxwZXJfY29ubmVj dG9yICpmYl9oZWxwZXJfY29ubiwKIGludCBkcm1fZmJfaGVscGVyX2FkZF9vbmVfY29ubmVjdG9y KHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsIHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IpOwogaW50IGRybV9mYl9oZWxwZXJfcmVtb3ZlX29uZV9jb25uZWN0b3Ioc3RydWN0 IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwKIAkJCQkgICAgICAgc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3Rvcik7CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIGRybV9mYl9oZWxwZXJf cHJlcGFyZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJCQlzdHJ1Y3QgZHJtX2ZiX2hlbHBl ciAqaGVscGVyLAorCQkJCQljb25zdCBzdHJ1Y3QgZHJtX2ZiX2hlbHBlcl9mdW5jcyAqZnVuY3Mp Cit7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGRybV9mYl9oZWxwZXJfaW5pdChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAorCQkgICAgICAgc3RydWN0IGRybV9mYl9oZWxwZXIgKmhlbHBlciwgaW50 IGNydGNfY291bnQsCisJCSAgICAgICBpbnQgbWF4X2Nvbm4pCit7CisJcmV0dXJuIDA7Cit9CisK K3N0YXRpYyBpbmxpbmUgdm9pZCBkcm1fZmJfaGVscGVyX2Zpbmkoc3RydWN0IGRybV9mYl9oZWxw ZXIgKmhlbHBlcikKK3sKK30KKworc3RhdGljIGlubGluZSBpbnQgZHJtX2ZiX2hlbHBlcl9ibGFu ayhpbnQgYmxhbmssIHN0cnVjdCBmYl9pbmZvICppbmZvKQoreworCXJldHVybiAwOworfQorCitz dGF0aWMgaW5saW5lIGludCBkcm1fZmJfaGVscGVyX3Bhbl9kaXNwbGF5KHN0cnVjdCBmYl92YXJf c2NyZWVuaW5mbyAqdmFyLAorCQkJCQkgICAgc3RydWN0IGZiX2luZm8gKmluZm8pCit7CisJcmV0 dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGRybV9mYl9oZWxwZXJfc2V0X3BhcihzdHJ1 Y3QgZmJfaW5mbyAqaW5mbykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBpbnQg ZHJtX2ZiX2hlbHBlcl9jaGVja192YXIoc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsCisJ CQkJCSAgc3RydWN0IGZiX2luZm8gKmluZm8pCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBp bmxpbmUgYm9vbAorZHJtX2ZiX2hlbHBlcl9yZXN0b3JlX2ZiZGV2X21vZGVfdW5sb2NrZWQoc3Ry dWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlcikKK3sKKwlyZXR1cm4gdHJ1ZTsKK30KKworc3Rh dGljIGlubGluZSBzdHJ1Y3QgZmJfaW5mbyAqCitkcm1fZmJfaGVscGVyX2FsbG9jX2ZiaShzdHJ1 Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyKQoreworCXJldHVybiBOVUxMOworfQorCitzdGF0 aWMgaW5saW5lIHZvaWQgZHJtX2ZiX2hlbHBlcl91bnJlZ2lzdGVyX2ZiaShzdHJ1Y3QgZHJtX2Zi X2hlbHBlciAqZmJfaGVscGVyKQoreworfQorc3RhdGljIGlubGluZSB2b2lkIGRybV9mYl9oZWxw ZXJfcmVsZWFzZV9mYmkoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlcikKK3sKK30KKwor c3RhdGljIGlubGluZSB2b2lkIGRybV9mYl9oZWxwZXJfZmlsbF92YXIoc3RydWN0IGZiX2luZm8g KmluZm8sCisJCQkJCSAgc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwKKwkJCQkJICB1 aW50MzJfdCBmYl93aWR0aCwgdWludDMyX3QgZmJfaGVpZ2h0KQoreworfQorCitzdGF0aWMgaW5s aW5lIHZvaWQgZHJtX2ZiX2hlbHBlcl9maWxsX2ZpeChzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgdWlu dDMyX3QgcGl0Y2gsCisJCQkJCSAgdWludDMyX3QgZGVwdGgpCit7Cit9CisKK3N0YXRpYyBpbmxp bmUgaW50IGRybV9mYl9oZWxwZXJfc2V0Y21hcChzdHJ1Y3QgZmJfY21hcCAqY21hcCwKKwkJCQkJ c3RydWN0IGZiX2luZm8gKmluZm8pCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUg dm9pZCBkcm1fZmJfaGVscGVyX3VubGlua19mYmkoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hl bHBlcikKK3sKK30KKworc3RhdGljIGlubGluZSBzc2l6ZV90IGRybV9mYl9oZWxwZXJfc3lzX3Jl YWQoc3RydWN0IGZiX2luZm8gKmluZm8sCisJCQkJCWNoYXIgX191c2VyICpidWYsIHNpemVfdCBj b3VudCwKKwkJCQkJbG9mZl90ICpwcG9zKQoreworCXJldHVybiAtRU5PREVWOworfQorCitzdGF0 aWMgaW5saW5lIHNzaXplX3QgZHJtX2ZiX2hlbHBlcl9zeXNfd3JpdGUoc3RydWN0IGZiX2luZm8g KmluZm8sCisJCQkJCWNvbnN0IGNoYXIgX191c2VyICpidWYsIHNpemVfdCBjb3VudCwKKwkJCQkJ bG9mZl90ICpwcG9zKQoreworCXJldHVybiAtRU5PREVWOworfQorCitzdGF0aWMgaW5saW5lIHZv aWQgZHJtX2ZiX2hlbHBlcl9zeXNfZmlsbHJlY3Qoc3RydWN0IGZiX2luZm8gKmluZm8sCisJCWNv bnN0IHN0cnVjdCBmYl9maWxscmVjdCAqcmVjdCkKK3sKK30KKworc3RhdGljIGlubGluZSB2b2lk IGRybV9mYl9oZWxwZXJfc3lzX2NvcHlhcmVhKHN0cnVjdCBmYl9pbmZvICppbmZvLAorCQljb25z dCBzdHJ1Y3QgZmJfY29weWFyZWEgKmFyZWEpCit7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBk cm1fZmJfaGVscGVyX3N5c19pbWFnZWJsaXQoc3RydWN0IGZiX2luZm8gKmluZm8sCisJCWNvbnN0 IHN0cnVjdCBmYl9pbWFnZSAqaW1hZ2UpCit7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBkcm1f ZmJfaGVscGVyX2NmYl9maWxscmVjdChzdHJ1Y3QgZmJfaW5mbyAqaW5mbywKKwkJY29uc3Qgc3Ry dWN0IGZiX2ZpbGxyZWN0ICpyZWN0KQoreworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgZHJtX2Zi X2hlbHBlcl9jZmJfY29weWFyZWEoc3RydWN0IGZiX2luZm8gKmluZm8sCisJCWNvbnN0IHN0cnVj dCBmYl9jb3B5YXJlYSAqYXJlYSkKK3sKK30KKworc3RhdGljIGlubGluZSB2b2lkIGRybV9mYl9o ZWxwZXJfY2ZiX2ltYWdlYmxpdChzdHJ1Y3QgZmJfaW5mbyAqaW5mbywKKwkJY29uc3Qgc3RydWN0 IGZiX2ltYWdlICppbWFnZSkKK3sKK30KKworc3RhdGljIGlubGluZSB2b2lkIGRybV9mYl9oZWxw ZXJfc2V0X3N1c3BlbmQoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwKKwkJCQkJCWlu dCBzdGF0ZSkKK3sKK30KKworc3RhdGljIGlubGluZSBpbnQKK2RybV9mYl9oZWxwZXJfcmVtb3Zl X2NvbmZsaWN0aW5nX2ZyYW1lYnVmZmVycyhzdHJ1Y3QgYXBlcnR1cmVzX3N0cnVjdCAqYSwKKwkJ CQkJCWNvbnN0IGNoYXIgKm5hbWUsIGJvb2wgcHJpbWFyeSkKK3sKKwlyZXR1cm4gMDsKK30KKwor c3RhdGljIGlubGluZSBpbnQgZHJtX2ZiX2hlbHBlcl9ob3RwbHVnX2V2ZW50KHN0cnVjdCBkcm1f ZmJfaGVscGVyICpmYl9oZWxwZXIpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUg aW50IGRybV9mYl9oZWxwZXJfaW5pdGlhbF9jb25maWcoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZi X2hlbHBlciwKKwkJCQkJICAgICAgIGludCBicHBfc2VsKQoreworCXJldHVybiAwOworfQorCitz dGF0aWMgaW5saW5lIGludAorZHJtX2ZiX2hlbHBlcl9zaW5nbGVfYWRkX2FsbF9jb25uZWN0b3Jz KHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0 YXRpYyBpbmxpbmUgaW50IGRybV9mYl9oZWxwZXJfZGVidWdfZW50ZXIoc3RydWN0IGZiX2luZm8g KmluZm8pCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGRybV9mYl9oZWxw ZXJfZGVidWdfbGVhdmUoc3RydWN0IGZiX2luZm8gKmluZm8pCit7CisJcmV0dXJuIDA7Cit9CisK K3N0YXRpYyBpbmxpbmUgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKgorZHJtX2hhc19wcmVmZXJy ZWRfbW9kZShzdHJ1Y3QgZHJtX2ZiX2hlbHBlcl9jb25uZWN0b3IgKmZiX2Nvbm5lY3RvciwKKwkJ ICAgICAgIGludCB3aWR0aCwgaW50IGhlaWdodCkKK3sKKwlyZXR1cm4gTlVMTDsKK30KKworc3Rh dGljIGlubGluZSBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqCitkcm1fcGlja19jbWRsaW5lX21v ZGUoc3RydWN0IGRybV9mYl9oZWxwZXJfY29ubmVjdG9yICpmYl9oZWxwZXJfY29ubiwKKwkJICAg ICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQoreworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMg aW5saW5lIGludAorZHJtX2ZiX2hlbHBlcl9hZGRfb25lX2Nvbm5lY3RvcihzdHJ1Y3QgZHJtX2Zi X2hlbHBlciAqZmJfaGVscGVyLAorCQkJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Ip Cit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50Citkcm1fZmJfaGVscGVyX3Jl bW92ZV9vbmVfY29ubmVjdG9yKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsCisJCQkJ ICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3sKKwlyZXR1cm4gMDsKK30KKyNl bmRpZgogI2VuZGlmCi0tIApUaGUgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMg YSBtZW1iZXIgb2YgdGhlIENvZGUgQXVyb3JhIEZvcnVtLApob3N0ZWQgYnkgVGhlIExpbnV4IEZv dW5kYXRpb24KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==