From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9E83AC2D0A3 for ; Fri, 30 Oct 2020 01:12:41 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 250C12072C for ; Fri, 30 Oct 2020 01:12:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mg.codeaurora.org header.i=@mg.codeaurora.org header.b="POeiCGsn" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 250C12072C Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1EF2D6E944; Fri, 30 Oct 2020 01:12:40 +0000 (UTC) Received: from z5.mailgun.us (z5.mailgun.us [104.130.96.5]) by gabe.freedesktop.org (Postfix) with ESMTPS id 948F86E943 for ; Fri, 30 Oct 2020 01:12:38 +0000 (UTC) DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1604020358; h=Message-ID: References: In-Reply-To: Subject: Cc: To: From: Date: Content-Transfer-Encoding: Content-Type: MIME-Version: Sender; bh=rLqH04x7OKfH7f79UZd2BGTmUAb1ZvVeFCX4tIl5CAU=; b=POeiCGsnlyBv/e3vE+GKPxbcymEKn7lQYeQA+byOfMnLNcZSmdUnkBmx6b/sFHob46bVl+iB xyh6uvjBx8gsim6syA+gb0hfGaTX8DSheg2ZZK38jk3fRSYN6Da4kJ1b3EKKK+JDx/IC62+9 9/f6t6bTdrjL3jmBcTxV/mKFQxY= X-Mailgun-Sending-Ip: 104.130.96.5 X-Mailgun-Sid: WyJkOTU5ZSIsICJkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n04.prod.us-west-2.postgun.com with SMTP id 5f9b6885aa9367276b743077 (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Fri, 30 Oct 2020 01:12:37 GMT Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 82AE7C433CB; Fri, 30 Oct 2020 01:12:37 +0000 (UTC) Received: from mail.codeaurora.org (localhost.localdomain [127.0.0.1]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: abhinavk) by smtp.codeaurora.org (Postfix) with ESMTPSA id D526BC433C6; Fri, 30 Oct 2020 01:12:36 +0000 (UTC) MIME-Version: 1.0 Date: Thu, 29 Oct 2020 18:12:36 -0700 From: abhinavk@codeaurora.org To: Daniel Vetter Subject: Re: [PATCH 1/4] drm: allow drm_atomic_print_state() to accept any drm_printer In-Reply-To: <20201022103843.GW401619@phenom.ffwll.local> References: <20201022050148.27105-1-abhinavk@codeaurora.org> <20201022050148.27105-2-abhinavk@codeaurora.org> <20201022103843.GW401619@phenom.ffwll.local> Message-ID: X-Sender: abhinavk@codeaurora.org User-Agent: Roundcube Webmail/1.3.9 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-arm-msm@vger.kernel.org, tanmay@codeaurora.org, swboyd@chromium.org, khsieh@codeaurora.org, seanpaul@chromium.org, dri-devel@lists.freedesktop.org, aravindh@codeaurora.org, freedreno@lists.freedesktop.org Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SGkgRGFuaWVsCgpPbiAyMDIwLTEwLTIyIDAzOjM4LCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+IE9u IFdlZCwgT2N0IDIxLCAyMDIwIGF0IDEwOjAxOjQ1UE0gLTA3MDAsIEFiaGluYXYgS3VtYXIgd3Jv dGU6Cj4+IEN1cnJlbnRseSBkcm1fYXRvbWljX3ByaW50X3N0YXRlKCkgaW50ZXJuYWxseSBhbGxv Y2F0ZXMgYW5kIHVzZXMgYQo+PiBkcm1faW5mbyBwcmludGVyLiBBbGxvdyBpdCB0byBhY2NlcHQg YW55IGRybV9wcmludGVyIHR5cGUgc28gdGhhdAo+PiB0aGUgQVBJIGNhbiBiZSBsZXZlcmFnZWQg ZXZlbiBmb3IgdGFraW5nIGRybSBzbmFwc2hvdC4KPj4gCj4+IFNpZ25lZC1vZmYtYnk6IEFiaGlu YXYgS3VtYXIgPGFiaGluYXZrQGNvZGVhdXJvcmEub3JnPgo+PiAtLS0KPj4gIGRyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljLmMgICAgICAgIHwgMTcgKysrKysrKysrKysrLS0tLS0KPj4gIGRyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYyAgIHwgIDQgKysrLQo+PiAgZHJpdmVycy9ncHUv ZHJtL2RybV9jcnRjX2ludGVybmFsLmggfCAgNCArKystCj4+ICAzIGZpbGVzIGNoYW5nZWQsIDE4 IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCj4+IAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2RybV9hdG9taWMuYyAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5j Cj4+IGluZGV4IDU4NTI3ZjE1MTk4NC4uZTcwNzlhNWY0MzljIDEwMDY0NAo+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljLmMKPj4gQEAgLTEsNiArMSw3IEBACj4+ICAvKgo+PiAgICogQ29weXJpZ2h0IChDKSAyMDE0 IFJlZCBIYXQKPj4gICAqIENvcHlyaWdodCAoQykgMjAxNCBJbnRlbCBDb3JwLgo+PiArICogQ29w eXJpZ2h0IChjKSAyMDIwLCBUaGUgTGludXggRm91bmRhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZl ZC4KPj4gICAqCj4+ICAgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNo YXJnZSwgdG8gYW55IHBlcnNvbiAKPj4gb2J0YWluaW5nIGEKPj4gICAqIGNvcHkgb2YgdGhpcyBz b2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgCj4+ICJTb2Z0 d2FyZSIpLAo+PiBAQCAtMTU0Myw5ICsxNTQ0LDkgQEAgaW50IF9fZHJtX2F0b21pY19oZWxwZXJf c2V0X2NvbmZpZyhzdHJ1Y3QgCj4+IGRybV9tb2RlX3NldCAqc2V0LAo+PiAgfQo+PiAgRVhQT1JU X1NZTUJPTChfX2RybV9hdG9taWNfaGVscGVyX3NldF9jb25maWcpOwo+PiAKPj4gLXZvaWQgZHJt X2F0b21pY19wcmludF9zdGF0ZShjb25zdCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUp Cj4+ICt2b2lkIGRybV9hdG9taWNfcHJpbnRfc3RhdGUoY29uc3Qgc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnN0YXRlLAo+PiArCQlzdHJ1Y3QgZHJtX3ByaW50ZXIgKnApCj4gCj4gUGxlYXNlIGFk ZCBhIG5pY2Uga2VybmVsZG9jIGZvciB0aGlzIG5ld2x5IGV4cG9ydGVkIGZ1bmN0aW9uLiAKPiBT cGVjaWZpY2FsbHkKPiB0aGlzIGtlcm5lbGRvYyBuZWVkcyB0byBpbmNsdWRlIGEgd2FybmluZyB0 aGF0IHN0YXRlIHVwZGF0ZXMgYWZ0ZXIgY2FsbAo+IGRybV9hdG9taWNfc3RhdGVfaGVscGVyX2Nv bW1pdF9od19kb25lKCkgaXMgdW5zYWZlIHRvIHByaW50IHVzaW5nIHRoaXMKPiBmdW5jdGlvbiwg YmVjYXVzZSBpdCBsb29rcyBhdCB0aGUgbmV3IHN0YXRlIG9iamVjdHMuIE9ubHkgdGhlIG9sZCBz dGF0ZQo+IHN0cnVjdHVyZXMgd2lsbCBzdGF5IGxpa2UgdGhpcy4KPiAKPiBTbyBtYXliZSByZW5h bWUgdGhlIGZ1bmN0aW9uIHRvIHNheSBwcmludF9uZXdfc3RhdGUoKSB0byBtYWtlIHRoaXMKPiBj b21wbGV0ZWx5IGNsZWFyLiBUaGF0IHdheSB3ZSBjYW4gZXZlbnR1YWxseSBhZGQgYSBwcmludF9v bGRfc3RhdGUoKSAKPiB3aGVuCj4gbmVlZGVkLgo+IAo+IE90aGVyd2lzZSBJIHRoaW5rIHRoaXMg bWFrZXMgc2Vuc2UsIGFuZCBuaWNlbHkgYXZvaWRzIHRoZSBsb2NraW5nIGlzc3VlIAo+IG9mCj4g bG9va2luZyBhdCAtPnN0YXRlIHBvaW50ZXJzIHdpdGhvdXQgdGhlIHJpZ2h0IGxvY2tpbmcuCj4g LURhbmllbAo+IAoKVGhhbmtzIGZvciB0aGUgcmV2aWV3LCBJIGhhdmUgYWRkcmVzc2VkIHRoZXNl IGNvbW1lbnRzIGFuZCBwb3N0ZWQgYSBWMi4KLUFiaGluYXYKCj4+ICB7Cj4+IC0Jc3RydWN0IGRy bV9wcmludGVyIHAgPSBkcm1faW5mb19wcmludGVyKHN0YXRlLT5kZXYtPmRldik7Cj4+ICAJc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmU7Cj4+ICAJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVf c3RhdGU7Cj4+ICAJc3RydWN0IGRybV9jcnRjICpjcnRjOwo+PiBAQCAtMTU1NCwxNyArMTU1NSwy MyBAQCB2b2lkIGRybV9hdG9taWNfcHJpbnRfc3RhdGUoY29uc3Qgc3RydWN0IAo+PiBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZSkKPj4gIAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubmVj dG9yX3N0YXRlOwo+PiAgCWludCBpOwo+PiAKPj4gKwlpZiAoIXApIHsKPj4gKwkJRFJNX0VSUk9S KCJpbnZhbGlkIGRybSBwcmludGVyXG4iKTsKPj4gKwkJcmV0dXJuOwo+PiArCX0KPj4gKwo+PiAg CURSTV9ERUJVR19BVE9NSUMoImNoZWNraW5nICVwXG4iLCBzdGF0ZSk7Cj4+IAo+PiAgCWZvcl9l YWNoX25ld19wbGFuZV9pbl9zdGF0ZShzdGF0ZSwgcGxhbmUsIHBsYW5lX3N0YXRlLCBpKQo+PiAt CQlkcm1fYXRvbWljX3BsYW5lX3ByaW50X3N0YXRlKCZwLCBwbGFuZV9zdGF0ZSk7Cj4+ICsJCWRy bV9hdG9taWNfcGxhbmVfcHJpbnRfc3RhdGUocCwgcGxhbmVfc3RhdGUpOwo+PiAKPj4gIAlmb3Jf ZWFjaF9uZXdfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwgaSkKPj4gLQkJ ZHJtX2F0b21pY19jcnRjX3ByaW50X3N0YXRlKCZwLCBjcnRjX3N0YXRlKTsKPj4gKwkJZHJtX2F0 b21pY19jcnRjX3ByaW50X3N0YXRlKHAsIGNydGNfc3RhdGUpOwo+PiAKPj4gIAlmb3JfZWFjaF9u ZXdfY29ubmVjdG9yX2luX3N0YXRlKHN0YXRlLCBjb25uZWN0b3IsIGNvbm5lY3Rvcl9zdGF0ZSwg Cj4+IGkpCj4+IC0JCWRybV9hdG9taWNfY29ubmVjdG9yX3ByaW50X3N0YXRlKCZwLCBjb25uZWN0 b3Jfc3RhdGUpOwo+PiArCQlkcm1fYXRvbWljX2Nvbm5lY3Rvcl9wcmludF9zdGF0ZShwLCBjb25u ZWN0b3Jfc3RhdGUpOwo+PiAgfQo+PiArRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX3ByaW50X3N0 YXRlKTsKPj4gCj4+ICBzdGF0aWMgdm9pZCBfX2RybV9zdGF0ZV9kdW1wKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHN0cnVjdCAKPj4gZHJtX3ByaW50ZXIgKnAsCj4+ICAJCQkgICAgIGJvb2wgdGFr ZV9sb2NrcykKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGku YyAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMKPj4gaW5kZXggMjVjMjY5 YmM0NjgxLi5kOWFlODZjOTI2MDggMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX3VhcGkuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMK Pj4gQEAgLTIsNiArMiw3IEBACj4+ICAgKiBDb3B5cmlnaHQgKEMpIDIwMTQgUmVkIEhhdAo+PiAg ICogQ29weXJpZ2h0IChDKSAyMDE0IEludGVsIENvcnAuCj4+ICAgKiBDb3B5cmlnaHQgKEMpIDIw MTggSW50ZWwgQ29ycC4KPj4gKyAqIENvcHlyaWdodCAoYykgMjAyMCwgVGhlIExpbnV4IEZvdW5k YXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCj4+ICAgKgo+PiAgICogUGVybWlzc2lvbiBpcyBo ZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gCj4+IG9idGFpbmlu ZyBhCj4+ICAgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRh dGlvbiBmaWxlcyAodGhlIAo+PiAiU29mdHdhcmUiKSwKPj4gQEAgLTEyOTQsNiArMTI5NSw3IEBA IGludCBkcm1fbW9kZV9hdG9taWNfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgCj4+ICpkZXYsCj4+ ICAJc3RydWN0IGRybV9vdXRfZmVuY2Vfc3RhdGUgKmZlbmNlX3N0YXRlOwo+PiAgCWludCByZXQg PSAwOwo+PiAgCXVuc2lnbmVkIGludCBpLCBqLCBudW1fZmVuY2VzOwo+PiArCXN0cnVjdCBkcm1f cHJpbnRlciBwID0gZHJtX2luZm9fcHJpbnRlcihkZXYtPmRldik7Cj4+IAo+PiAgCS8qIGRpc2Fs bG93IGZvciBkcml2ZXJzIG5vdCBzdXBwb3J0aW5nIGF0b21pYzogKi8KPj4gIAlpZiAoIWRybV9j b3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfQVRPTUlDKSkKPj4gQEAgLTE0MTMsNyArMTQx NSw3IEBAIGludCBkcm1fbW9kZV9hdG9taWNfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgCj4+ICpk ZXYsCj4+ICAJCXJldCA9IGRybV9hdG9taWNfbm9uYmxvY2tpbmdfY29tbWl0KHN0YXRlKTsKPj4g IAl9IGVsc2Ugewo+PiAgCQlpZiAoZHJtX2RlYnVnX2VuYWJsZWQoRFJNX1VUX1NUQVRFKSkKPj4g LQkJCWRybV9hdG9taWNfcHJpbnRfc3RhdGUoc3RhdGUpOwo+PiArCQkJZHJtX2F0b21pY19wcmlu dF9zdGF0ZShzdGF0ZSwgJnApOwo+PiAKPj4gIAkJcmV0ID0gZHJtX2F0b21pY19jb21taXQoc3Rh dGUpOwo+PiAgCX0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19pbnRl cm5hbC5oIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19pbnRlcm5hbC5oCj4+IGluZGV4 IGRhOTZiMmY2NGQ3ZS4uZDM0MjE1MzY2OTM2IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2NydGNfaW50ZXJuYWwuaAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNf aW50ZXJuYWwuaAo+PiBAQCAtNSw2ICs1LDcgQEAKPj4gICAqICAgSmVzc2UgQmFybmVzIDxqZXNz ZS5iYXJuZXNAaW50ZWwuY29tPgo+PiAgICogQ29weXJpZ2h0IMKpIDIwMTQgSW50ZWwgQ29ycG9y YXRpb24KPj4gICAqICAgRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPj4g KyAqIENvcHlyaWdodCAoYykgMjAyMCwgVGhlIExpbnV4IEZvdW5kYXRpb24uIEFsbCByaWdodHMg cmVzZXJ2ZWQuCj4+ICAgKgo+PiAgICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJl ZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gCj4+IG9idGFpbmluZyBhCj4+ICAgKiBjb3B5IG9m IHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIAo+ PiAiU29mdHdhcmUiKSwKPj4gQEAgLTIzMyw3ICsyMzQsOCBAQCBpbnQgX19kcm1fYXRvbWljX2hl bHBlcl9kaXNhYmxlX3BsYW5lKHN0cnVjdCAKPj4gZHJtX3BsYW5lICpwbGFuZSwKPj4gIGludCBf X2RybV9hdG9taWNfaGVscGVyX3NldF9jb25maWcoc3RydWN0IGRybV9tb2RlX3NldCAqc2V0LAo+ PiAgCQkJCSAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7Cj4+IAo+PiAtdm9pZCBk cm1fYXRvbWljX3ByaW50X3N0YXRlKGNvbnN0IHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0 ZSk7Cj4+ICt2b2lkIGRybV9hdG9taWNfcHJpbnRfc3RhdGUoY29uc3Qgc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKnN0YXRlLAo+PiArCQlzdHJ1Y3QgZHJtX3ByaW50ZXIgKnApOwo+PiAKPj4gIC8q IGRybV9hdG9taWNfdWFwaS5jICovCj4+ICBpbnQgZHJtX2F0b21pY19jb25uZWN0b3JfY29tbWl0 X2RwbXMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+PiAtLQo+PiBUaGUgUXVhbGNv bW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2YgdGhlIENvZGUgQXVyb3Jh IAo+PiBGb3J1bSwKPj4gYSBMaW51eCBGb3VuZGF0aW9uIENvbGxhYm9yYXRpdmUgUHJvamVjdAo+ PiAKPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4g ZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+PiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1k ZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=