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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3A616C6FD1D for ; Wed, 15 Mar 2023 19:36:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=nwNklS5jwAfQTbWFxfuS3IP4nQQFfbO5STCpsDI0fYU=; b=ZUWY8swUkuSuS/ jWofHBV8zpBOE+mZSAxUf6WoVAr6bjjd+EeyHYRe1lye0rDse4Ldhakq3CUetL96mMVua6/6TCn+f P3EfCVGMbMMd6tWggp4Z2OH3HhqwMHd821RZ0/bF+J7vMUFsVnxAz/BSIm2J/KwBJ1KNuhCzwG6wk efHfI+Gb+HXeb8X55WK4raBOPvKYTCax5HG4+0Dtl0dg0FPPM685b7i318YyvkOMV8T8ZNiF6j+nw fXncpnRJNNVs1m52wBX3z+AmkemH8lZBnPNGV1PaTtdoaqYTeitQ30udtlMSzL6UkyF3VaJ8uxjrn txt7+UOIstaualEiPbAw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pcWu0-00EJoQ-0m; Wed, 15 Mar 2023 19:35:12 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pcWty-00EJoC-31 for linux-arm-kernel@bombadil.infradead.org; Wed, 15 Mar 2023 19:35:11 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Transfer-Encoding: Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date: Sender:Reply-To:Content-ID:Content-Description; bh=FkRcQOnaWonqDg/CCWK32vYfMcgFDC17fGPn6w45GU4=; b=YrvoEJc84w9mmxpKyzV1L38fKF AXJVMailFKS52KcDwF5TqpvgirL82d7Bi625k8dVwrYjPniK49IFZvVFHnowTzytXwDAUEea4JDob 8LgwUnLxd8ggM27Tbm3M7h/Zk7+OaFBV4rXdsC6ptmcRR2cQPsBilTNmAfuLyaPmBNLIhjztd5OVy tdvEokaixVdV/t3BDEdwZulKaelrlbyqVzGVtx7hsY0tYMJ74ZoaBsA8+EHh72HCIikWyP1hrJJWR 2VM30ZdS46tCc2b+bq9RZNfLtRrF1Xb2NtMvpU+LAyXOoqwh+rDEbqKR3edFK0f4YRx8U+BN+qJaX bT+Jy9wA==; Received: from [179.97.37.151] (helo=quaco.ghostprotocols.net) by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux)) id 1pcWtw-002Dyg-2v; Wed, 15 Mar 2023 19:35:09 +0000 Received: by quaco.ghostprotocols.net (Postfix, from userid 1000) id ED8F64049F; Wed, 15 Mar 2023 16:35:04 -0300 (-03) Date: Wed, 15 Mar 2023 16:35:04 -0300 From: Arnaldo Carvalho de Melo To: Leo Yan Cc: Jiri Olsa , Namhyung Kim , Ian Rogers , John Garry , James Clark , Adrian Hunter , Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v5 00/16] perf kvm: Support histograms and TUI mode Message-ID: References: <20230315145112.186603-1-leo.yan@linaro.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20230315145112.186603-1-leo.yan@linaro.org> X-Url: http://acmel.wordpress.com X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org RW0gV2VkLCBNYXIgMTUsIDIwMjMgYXQgMTA6NTA6NTZQTSArMDgwMCwgTGVvIFlhbiBlc2NyZXZl dToKPiBUaGlzIHBhdGNoIHNldCBpcyB0byBlbmFibGUgaGlzdG9ncmFtcyBhbmQgKHBhcnRpYWxs eSkgVFVJIG1vZGUgaW4gcGVyZgo+IGt2bSB0b29sOyBwYXRjaCBzZXQgdjEgWzFdIGdpdmVzIGJy aWVmIGludHJvZHVjdGlvbiBmb3IgdGhlIGNoYW5nZS4KPiAKPiBXZSBjYW4gdXNlIGJlbG93IGNv bW1hbmRzIGZvciB0ZXN0aW5nIHRoaXMgc2VyaWVzOgo+IAo+IEluIGEgdGVybWluYWwsIHlvdSBj b3VsZCBsYXVuY2ggYSB2aXJ0dWFsIG1hY2hpbmUgd2l0aCBxZW11IGNvbW1hbmQ7IGluCj4gYmVs b3cgY2FzZSwgSSBkb3dubG9hZGVkIGEgVWJ1bnR1IChvciBEZWJpYW4pIGlzbyBmaWxlIGFuZCB1 c2VkIGl0IGFzCj4gdGhlIGZpbGUgc3lzdGVtIGltYWdlOgo+IAo+ICAgJCBxZW11LXN5c3RlbS14 ODZfNjQgLU0gcGMgLWVuYWJsZS1rdm0gLWNwdSBob3N0IC1tIDQwOTYgLWhkYSB1YnVudHUtMjIu MDQtZGVza3RvcC1hbWQ2NC5pc28KPiAKPiBUaGVuIGluIGFub3RoZXIgdGVybWluYWwsIEkgY2Fu IHVzZSBiZWxvdyBjb21tYW5kIHRvIGNhcHR1cmUgS1ZNIHRyYWNlCj4gZGF0YSBhbmQgcmVwb3J0 IHRoZSByZXN1bHQ6Cj4gCj4gICAjIGNkIGxpbnV4L3Rvb2xzL3BlcmYKPiAgICMgLi9wZXJmIGt2 bSBzdGF0IHJlY29yZAo+ICAgIyAuL3BlcmYga3ZtIHN0YXQgcmVwb3J0ICAgICAgICAgID0+IE91 dHB1dCBpbiBUVUkgbW9kZQo+ICAgIyAuL3BlcmYga3ZtIHN0YXQgcmVwb3J0IC0tc3RkaW8gID0+ IE91dHB1dCBpbiBzdGRpbyBtb2RlCj4gCj4gQ2hhbmdlcyBmcm9tIHY0Ogo+ICogRml4ZWQgYnVp bGRpbmcgZmFpbHVyZSBpbiBwYXRjaCAwNDsgY29tcGlsZWQgc3VjY2Vzc2Z1bGx5IGZvciBldmVy eQo+ICAgcGF0Y2ggdG8gZW5zdXJlIGJpc2VjdGlvbi4KClRyeWluZyB0byBmaXggdGhpczoKCuKs olthY21lQHRvb2xib3ggcGVyZi10b29scy1uZXh0XSQgZ2l0IGxvZyAtLW9uZWxpbmUgLTEgOyB0 aW1lIG1ha2UgLUMgdG9vbHMvcGVyZiBidWlsZC10ZXN0CmNiZDEzN2Q3NzZmMDViNzAgKEhFQUQg LT4gcGVyZi10b29scy1uZXh0KSBwZXJmIGt2bTogVXBkYXRlIGRvY3VtZW50YXRpb24gdG8gcmVm bGVjdCBuZXcgY2hhbmdlcwptYWtlOiBFbnRlcmluZyBkaXJlY3RvcnkgJy92YXIvaG9tZS9hY21l L2dpdC9wZXJmLXRvb2xzLW5leHQvdG9vbHMvcGVyZicKLSB0YXJwa2c6IC4vdGVzdHMvcGVyZi10 YXJnei1zcmMtcGtnIC4KICAgICAgICAgICAgICAgICBtYWtlX3N0YXRpYzogY2QgLiAmJiBtYWtl IExERkxBR1M9LXN0YXRpYyBOT19QRVJGX1JFQURfVkRTTzMyPTEgTk9fUEVSRl9SRUFEX1ZEU09Y MzI9MSBOT19KVk1UST0xIE5PX0xJQlRSQUNFRVZFTlQ9MSBOT19MSUJFTEY9MSAtajMyICBERVNU RElSPS90bXAvdG1wLkFKaWRHTVNRbkYKY2QgLiAmJiBtYWtlIExERkxBR1M9LXN0YXRpYyBOT19Q RVJGX1JFQURfVkRTTzMyPTEgTk9fUEVSRl9SRUFEX1ZEU09YMzI9MSBOT19KVk1UST0xIE5PX0xJ QlRSQUNFRVZFTlQ9MSBOT19MSUJFTEY9MSAtajMyIERFU1RESVI9L3RtcC90bXAuQUppZEdNU1Fu RgogIEJVSUxEOiAgIERvaW5nICdtYWtlIC1qMzInIHBhcmFsbGVsIGJ1aWxkCiAgSE9TVENDICBm aXhkZXAubwogIEhPU1RMRCAgZml4ZGVwLWluLm8KICBMSU5LICAgIGZpeGRlcApNYWtlZmlsZS5j b25maWc6Njc4OiBEaXNhYmxpbmcgcG9zdCB1bndpbmQsIG5vIHN1cHBvcnQgZm91bmQuCk1ha2Vm aWxlLmNvbmZpZzo3NDY6IE5vIGxpYmNyeXB0by5oIGZvdW5kLCBkaXNhYmxlcyBqaXR0ZWQgY29k ZSBpbmplY3Rpb24sIHBsZWFzZSBpbnN0YWxsIG9wZW5zc2wtZGV2ZWwgb3IgbGlic3NsLWRldgpN YWtlZmlsZS5jb25maWc6NzU4OiBzbGFuZyBub3QgZm91bmQsIGRpc2FibGVzIFRVSSBzdXBwb3J0 LiBQbGVhc2UgaW5zdGFsbCBzbGFuZy1kZXZlbCwgbGlic2xhbmctZGV2IG9yIGxpYnNsYW5nMi1k ZXYKTWFrZWZpbGUuY29uZmlnOjgwNTogTWlzc2luZyBwZXJsIGRldmVsIGZpbGVzLiBEaXNhYmxp bmcgcGVybCBzY3JpcHRpbmcgc3VwcG9ydCwgcGxlYXNlIGluc3RhbGwgcGVybC1FeHRVdGlscy1F bWJlZC9saWJwZXJsLWRldgpNYWtlZmlsZS5jb25maWc6ODQ1OiBObyAnUHl0aG9uLmgnIHdhcyBm b3VuZDogZGlzYWJsZXMgUHl0aG9uIHN1cHBvcnQgLSBwbGVhc2UgaW5zdGFsbCBweXRob24tZGV2 ZWwvcHl0aG9uLWRldgpNYWtlZmlsZS5jb25maWc6OTUwOiBObyBsaWJsem1hIGZvdW5kLCBkaXNh YmxlcyB4eiBrZXJuZWwgbW9kdWxlIGRlY29tcHJlc3Npb24sIHBsZWFzZSBpbnN0YWxsIHh6LWRl dmVsL2xpYmx6bWEtZGV2Ck1ha2VmaWxlLmNvbmZpZzo5NjM6IE5vIGxpYnpzdGQgZm91bmQsIGRp c2FibGVzIHRyYWNlIGNvbXByZXNzaW9uLCBwbGVhc2UgaW5zdGFsbCBsaWJ6c3RkLWRldltlbF0g YW5kL29yIHNldCBMSUJaU1REX0RJUgpNYWtlZmlsZS5jb25maWc6OTc0OiBObyBsaWJjYXAgZm91 bmQsIGRpc2FibGVzIGNhcGFiaWxpdHkgc3VwcG9ydCwgcGxlYXNlIGluc3RhbGwgbGliY2FwLWRl dmVsL2xpYmNhcC1kZXYKTWFrZWZpbGUuY29uZmlnOjk4NzogTm8gbnVtYS5oIGZvdW5kLCBkaXNh YmxlcyAncGVyZiBiZW5jaCBudW1hIG1lbScgYmVuY2htYXJrLCBwbGVhc2UgaW5zdGFsbCBudW1h Y3RsLWRldmVsL2xpYm51bWEtZGV2ZWwvbGlibnVtYS1kZXYKTWFrZWZpbGUuY29uZmlnOjEwNDY6 IE5vIGxpYmJhYmVsdHJhY2UgZm91bmQsIGRpc2FibGVzICdwZXJmIGRhdGEnIENURiBmb3JtYXQg c3VwcG9ydCwgcGxlYXNlIGluc3RhbGwgbGliYmFiZWx0cmFjZS1kZXZbZWxdL2xpYmJhYmVsdHJh Y2UtY3RmLWRldgpNYWtlZmlsZS5jb25maWc6MTEzNzogbGlicGZtNCBub3QgZm91bmQsIGRpc2Fi bGVzIGxpYnBmbTQgc3VwcG9ydC4gUGxlYXNlIGluc3RhbGwgbGlicGZtNC1kZXYKCkF1dG8tZGV0 ZWN0aW5nIHN5c3RlbSBmZWF0dXJlczoKLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBkd2FyZjogWyBPRkYgXQouLi4gICAgICAgICAgICAgICAgICAgICAgZHdhcmZfZ2V0bG9j YXRpb25zOiBbIE9GRiBdCi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xp YmM6IFsgb24gIF0KLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmJmZDog WyBPRkYgXQouLi4gICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmJmZC1idWlsZGlkOiBbIE9G RiBdCi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJjYXA6IFsgT0ZGIF0K Li4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmVsZjogWyBPRkYgXQouLi4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJudW1hOiBbIE9GRiBdCi4uLiAgICAg ICAgICAgICAgICAgIG51bWFfbnVtX3Bvc3NpYmxlX2NwdXM6IFsgT0ZGIF0KLi4uICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGlicGVybDogWyBPRkYgXQouLi4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGlicHl0aG9uOiBbIE9GRiBdCi4uLiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBsaWJjcnlwdG86IFsgT0ZGIF0KLi4uICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxpYnVud2luZDogWyBPRkYgXQouLi4gICAgICAgICAgICAgICAgICAgICAgbGli ZHctZHdhcmYtdW53aW5kOiBbIE9GRiBdCi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHpsaWI6IFsgT0ZGIF0KLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbHptYTogWyBPRkYgXQouLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0X2Nw dWlkOiBbIG9uICBdCi4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicGY6 IFsgb24gIF0KLi4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmFpbzogWyBv biAgXQouLi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ6c3RkOiBbIE9GRiBd CgogIEdFTiAgICAgY29tbW9uLWNtZHMuaAogIENDICAgICAgZGxmaWx0ZXJzL2RsZmlsdGVyLXRl c3QtYXBpLXYwLm8KICBDQyAgICAgIGRsZmlsdGVycy9kbGZpbHRlci1zaG93LWN5Y2xlcy5vCiAg TElOSyAgICBkbGZpbHRlcnMvZGxmaWx0ZXItc2hvdy1jeWNsZXMuc28KICBMSU5LICAgIGRsZmls dGVycy9kbGZpbHRlci10ZXN0LWFwaS12MC5zbwogIElOU1RBTEwgL3Zhci9ob21lL2FjbWUvZ2l0 L3BlcmYtdG9vbHMtbmV4dC90b29scy9wZXJmL2xpYnN1YmNtZC9pbmNsdWRlL3N1YmNtZC9leGVj LWNtZC5oCiAgSU5TVEFMTCAvdmFyL2hvbWUvYWNtZS9naXQvcGVyZi10b29scy1uZXh0L3Rvb2xz L3BlcmYvbGlic3ViY21kL2luY2x1ZGUvc3ViY21kL2hlbHAuaAogIElOU1RBTEwgL3Zhci9ob21l L2FjbWUvZ2l0L3BlcmYtdG9vbHMtbmV4dC90b29scy9wZXJmL2xpYnN1YmNtZC9pbmNsdWRlL3N1 YmNtZC9wYWdlci5oCiAgSU5TVEFMTCAvdmFyL2hvbWUvYWNtZS9naXQvcGVyZi10b29scy1uZXh0 L3Rvb2xzL3BlcmYvbGlic3ViY21kL2luY2x1ZGUvc3ViY21kL3BhcnNlLW9wdGlvbnMuaAogIElO U1RBTEwgL3Zhci9ob21lL2FjbWUvZ2l0L3BlcmYtdG9vbHMtbmV4dC90b29scy9wZXJmL2xpYnN1 YmNtZC9pbmNsdWRlL3N1YmNtZC9ydW4tY29tbWFuZC5oCiAgQ0MgICAgICAvdmFyL2hvbWUvYWNt ZS9naXQvcGVyZi10b29scy1uZXh0L3Rvb2xzL3BlcmYvbGlic3ViY21kL2V4ZWMtY21kLm8KICBD QyAgICAgIC92YXIvaG9tZS9hY21lL2dpdC9wZXJmLXRvb2xzLW5leHQvdG9vbHMvcGVyZi9saWJz dWJjbWQvaGVscC5vCiAgQ0MgICAgICAvdmFyL2hvbWUvYWNtZS9naXQvcGVyZi10b29scy1uZXh0 L3Rvb2xzL3BlcmYvbGlic3ViY21kL3BhZ2VyLm8KICA8U05JUD4KICBDQyAgICAgIC92YXIvaG9t ZS9hY21lL2dpdC9wZXJmLXRvb2xzLW5leHQvdG9vbHMvcGVyZi9saWJzdWJjbWQvcGFyc2Utb3B0 aW9ucy5vCiAgQ0MgICAgICAvdmFyL2hvbWUvYWNtZS9naXQvcGVyZi10b29scy1uZXh0L3Rvb2xz L3BlcmYvbGlic3ViY21kL3J1bi1jb21tYW5kLm8KICBDQyAgICAgIHV0aWwvc2FtcGxlLXJhdy5v CiAgQ0MgICAgICB1dGlsL3MzOTAtc2FtcGxlLXJhdy5vCiAgQ0MgICAgICB1dGlsL2FtZC1zYW1w bGUtcmF3Lm8KICBDQyAgICAgIHV0aWwvb3JkZXJlZC1ldmVudHMubwpidWlsdGluLWt2bS5jOjUx MjoxMzogZXJyb3I6IOKAmHByaW50X3Jlc3VsdOKAmSB1c2VkIGJ1dCBuZXZlciBkZWZpbmVkIFst V2Vycm9yXQogIDUxMiB8IHN0YXRpYyB2b2lkIHByaW50X3Jlc3VsdChzdHJ1Y3QgcGVyZl9rdm1f c3RhdCAqa3ZtKTsKICAgICAgfCAgICAgICAgICAgICBefn5+fn5+fn5+fn4KYnVpbHRpbi1rdm0u Yzo1OTE6MTM6IGVycm9yOiDigJhrdm1fZGlzcGxheeKAmSBkZWZpbmVkIGJ1dCBub3QgdXNlZCBb LVdlcnJvcj11bnVzZWQtZnVuY3Rpb25dCiAgNTkxIHwgc3RhdGljIHZvaWQga3ZtX2Rpc3BsYXko c3RydWN0IHBlcmZfa3ZtX3N0YXQgKmt2bSkKICAgICAgfCAgICAgICAgICAgICBefn5+fn5+fn5+ fgpidWlsdGluLWt2bS5jOjUwNjoxMjogZXJyb3I6IOKAmGt2bV9oaXN0c19fcmVpbml04oCZIGRl ZmluZWQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1mdW5jdGlvbl0KICA1MDYgfCBzdGF0 aWMgaW50IGt2bV9oaXN0c19fcmVpbml0KGNvbnN0IGNoYXIgKm91dHB1dCwgY29uc3QgY2hhciAq c29ydCkKICAgICAgfCAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CmJ1aWx0aW4ta3ZtLmM6 NDk4OjEyOiBlcnJvcjog4oCYa3ZtX2hpc3RzX19pbml04oCZIGRlZmluZWQgYnV0IG5vdCB1c2Vk IFstV2Vycm9yPXVudXNlZC1mdW5jdGlvbl0KICA0OTggfCBzdGF0aWMgaW50IGt2bV9oaXN0c19f aW5pdCh2b2lkKQogICAgICB8ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+CmNjMTogYWxsIHdh cm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCm1ha2VbNV06ICoqKiBbL3Zhci9ob21lL2Fj bWUvZ2l0L3BlcmYtdG9vbHMtbmV4dC90b29scy9idWlsZC9NYWtlZmlsZS5idWlsZDo5NzogYnVp bHRpbi1rdm0ub10gRXJyb3IgMQptYWtlWzVdOiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBq b2JzLi4uLgogIENDICAgICAgdGVzdHMvcGVyZi10aW1lLXRvLXRzYy5vCiAgQ0MgICAgICB1dGls L25hbWVzcGFjZXMubwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlz dHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2xpbnV4LWFybS1rZXJuZWwK