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=-6.6 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_1 autolearn=no 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 9A39DC433F5 for ; Fri, 10 Sep 2021 11:24:43 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 781D661100 for ; Fri, 10 Sep 2021 11:24:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232684AbhIJLZx (ORCPT ); Fri, 10 Sep 2021 07:25:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43914 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232537AbhIJLZw (ORCPT ); Fri, 10 Sep 2021 07:25:52 -0400 Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com [IPv6:2a00:1450:4864:20::131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B8D8EC061574; Fri, 10 Sep 2021 04:24:41 -0700 (PDT) Received: by mail-lf1-x131.google.com with SMTP id n2so3421958lfk.0; Fri, 10 Sep 2021 04:24:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=7Q2C3VPEZNnO5xnYJzISvTVm01xLr2rXMLDDfHFsoAs=; b=Iou5pGOOMVLhVgjWS7/IpCpzDkr9QY2Yk0tpPueY5hCuhzBzyPnLaUCufTXPgvrEq+ I43N7uqiuLQkCZK8eAGO4gLEpsQNM8AtRGC+7DmHnhIgqq9yeqDvaF7eDj0hiQHxgiNV R19q3xg0+Qv8ONSYNgrSUJdxrYghOLbb8fibJGpnSsC9IGQhCc1g7VtXiq1QycZP950Z xnLSeR5wNAS2TozoL9lpGZX43aDuKM93ZUvYVCbjnK0QdCqqLZTmYGVzZ2B7wpVPrTjU 2CCtxBvXQb4/l9QMs56JrPN6YJUj1YTNPh14AZ2MALnC6rpc63ZsWaNdAHOve3fGyEpw Ujjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=7Q2C3VPEZNnO5xnYJzISvTVm01xLr2rXMLDDfHFsoAs=; b=2U2ihEI6zuB8VkrNNeKjq5LUAQNdOJ9Eys4xvjIa608zsaAIIYALOYqY9n4B/WUTat MaP8OzYoJ+ZZKERQ6LOH8XirmB1FZ+LpC+y3rnrdLzm5y8nJD3F4QVWR1ZBGbbsbx4MK bnoJsNEhkn80MQiQ0TqSReKuEeIXo4ZnZvwgA5gtM0guFEK3v2MAymwC5OLgAD8B8wkW k+AgOqZJaHqz8kJ9LkRH1yZVvFSA2iHKoGNb7/H/TcfMRUsefvfCxQgCV7Ce2LTR8dBv Pcd2TVj+6Mnw8ZBzEaFef66JnmIcLnatPh3b4rF4+wTXtd8kuKVf4VEa7n+PUSdCHVk3 ltqw== X-Gm-Message-State: AOAM530e1w6SoJEizyafciVyvGaI/5dQCL+NPPcuKydRqxRttP6psULK UL8qSBYUZ8DQa3Qd25zAS7KfG3t1dYE= X-Google-Smtp-Source: ABdhPJxuSiSvkTN++pGSVMXBYNqvPAMcBOjHOJ69aDa4xEmqRjWTkrIQtYLFDPKSKObVK+FDDcTkYw== X-Received: by 2002:ac2:4318:: with SMTP id l24mr3612756lfh.145.1631273079832; Fri, 10 Sep 2021 04:24:39 -0700 (PDT) Received: from [192.168.2.145] (46-138-3-129.dynamic.spd-mgts.ru. [46.138.3.129]) by smtp.googlemail.com with ESMTPSA id j21sm549514ljh.87.2021.09.10.04.24.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 10 Sep 2021 04:24:39 -0700 (PDT) Subject: Re: [PATCH 3/3] PM: domains: Add a ->dev_get_performance_state() callback to genpd To: Ulf Hansson Cc: Viresh Kumar , "Rafael J . Wysocki" , Linux PM , Dmitry Baryshkov , Jonathan Hunter , Thierry Reding , Rajendra Nayak , Stephan Gerhold , Bjorn Andersson , Linux ARM , Linux Kernel Mailing List References: <20210902101634.827187-1-ulf.hansson@linaro.org> <20210902101634.827187-4-ulf.hansson@linaro.org> <4e36e732-6ca3-1d00-e6dd-38bb8877577b@gmail.com> <1124dae5-478f-f0ca-ea91-b6945f7c9254@gmail.com> <3d92711f-ce30-2c19-c6a4-bb77d32df2dd@gmail.com> <1ca9a2d5-e89a-5bbd-2ecc-01f1c4a820ae@gmail.com> From: Dmitry Osipenko Message-ID: <8dadc395-e7f4-9dcc-b484-60c119063007@gmail.com> Date: Fri, 10 Sep 2021 14:24:38 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org 09.09.2021 17:39, Ulf Hansson пишет: > On Thu, 9 Sept 2021 at 15:48, Dmitry Osipenko wrote: >> >> 07.09.2021 12:57, Ulf Hansson пишет: >>> I don't mind extending the genpd API, but it needs to serve a good purpose. >>> >>> As I said earlier, genpd doesn't know nor can control how the consumer >>> driver deploys runtime PM. Unfortunately, that also includes genpd >>> providers, as the behavior isn't a platform or PM domain specific >>> thing. This means genpd needs to be generic enough so it works for all >>> cases. >>> >>> In the $subject patch, we rely on the pm_runtime_suspended() check in >>> dev_pm_genpd_set_performance_state(), which should work for all cases, >>> even if it may be sub-optimal for some scenarios. >>> >>> Note that, in the approach your suggested [1], >>> pm_runtime_status_suspended() is used instead. This doesn't work when >>> a consumer driver doesn't enable runtime PM - or calls >>> pm_runtime_set_active() during ->probe(), because >>> genpd_runtime_resume() won't be invoked to restore the gpd->rpm_state. >>> >>> That said, I wouldn't mind to simply skip adding the >>> ->dev_get_performance_state() all together, if that is what you >>> prefer? In this way, it becomes the responsibility for the consumer >>> driver to do right thing, with the cost of some boilerplate code added >>> in its ->probe() routine. >> >> Until a day ago, it wasn't clear to me that consumer drivers now can set >> up rpm_pstate during probe(), which is a cleaner solution that works >> well. So let's skip adding the questionable ->dev_get_performance_state(). >> >> The boilerplate code in the probe() is minimal in comparison to a >> previous variant with the state-syncing done by rpm-resume callbacks of >> consumer drivers, it's good enough. > > Alright, that sounds good to me as well. > > I am happy to help with review of the consumer driver changes, just > keep me posted. Thank you and Viresh for the help, very appreciate it! 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=-4.6 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_1 autolearn=no 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 391B7C433F5 for ; Fri, 10 Sep 2021 11:26:52 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id EFC2C60EE3 for ; Fri, 10 Sep 2021 11:26:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org EFC2C60EE3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org 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:Date: Message-ID:From:References:Cc:To:Subject:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=tP2X1Kb4TaWp8kX7W3G+6+jE7WhEWT6IeFZaAGf8lSA=; b=n1FH9SC1pJQ9N/3rMPqvNyphkE pjhda5a3IDq3fv63U5qTkyYcQGB0Z/+kn9SMUUj4K3vo7OszzD6AHHFrEaV6MbHELhcC8fVc2h8k0 dledywecNirJWrOBqaPBHPsbUklbjMqoFIl/xziB0+Y4FbeTmd3AwSmi0VpbgIhlPL+ZGGUP26ks7 P6fihEmx6ozSSsLM7+sFloZsNqngk4gBjkP2J2MmOpVlAK9Gk+mKItN2Lw25ntkPGJZ5HhyKXjQPw b+l+5bjBk12AmC22KZmUBRVktl7lfEX2CaJ1tynvcAu2kYWDQWHmWg9GbGgnUp0CLMZ1U3119f+Ns /zjNLZ0g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mOeeD-00Cbso-HT; Fri, 10 Sep 2021 11:24:45 +0000 Received: from mail-lf1-x135.google.com ([2a00:1450:4864:20::135]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mOee9-00Cbrw-W6 for linux-arm-kernel@lists.infradead.org; Fri, 10 Sep 2021 11:24:43 +0000 Received: by mail-lf1-x135.google.com with SMTP id l10so3335602lfg.4 for ; Fri, 10 Sep 2021 04:24:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=7Q2C3VPEZNnO5xnYJzISvTVm01xLr2rXMLDDfHFsoAs=; b=Iou5pGOOMVLhVgjWS7/IpCpzDkr9QY2Yk0tpPueY5hCuhzBzyPnLaUCufTXPgvrEq+ I43N7uqiuLQkCZK8eAGO4gLEpsQNM8AtRGC+7DmHnhIgqq9yeqDvaF7eDj0hiQHxgiNV R19q3xg0+Qv8ONSYNgrSUJdxrYghOLbb8fibJGpnSsC9IGQhCc1g7VtXiq1QycZP950Z xnLSeR5wNAS2TozoL9lpGZX43aDuKM93ZUvYVCbjnK0QdCqqLZTmYGVzZ2B7wpVPrTjU 2CCtxBvXQb4/l9QMs56JrPN6YJUj1YTNPh14AZ2MALnC6rpc63ZsWaNdAHOve3fGyEpw Ujjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=7Q2C3VPEZNnO5xnYJzISvTVm01xLr2rXMLDDfHFsoAs=; b=ptLdcHkFs0OBGd+vbHU16cWyHAosigIa9IETIhncZcstMcJKIE78coOFlpuQrp2uAx vP9TsYT6IKbV4ABMTgWV+tUeafRRmIh/NtcsnRfCc7YGrt7rSNsFXMAgb3I9MJPvXin2 ub5sspmEDRr4SFTHUpL6BSk317q79DRH3zwTQuc7qEL/Hd/F+qxAyEUKZ7bICNRNUimr Xg3gVq8hnzJ9vdWPfjhpxZssiheCYSMXCaZuALiG1qdq+EW25tCCX9Is8rYse9C8aZlN GDhbjhyvhCvRedXwFQoK3Vw7ZqPGScVTkD+5tegwkK8akEbcYLm0O19Vnlmb7e+SII4h q0IQ== X-Gm-Message-State: AOAM5305A6zaMXh0NWBhPdyPt1U801fqOmkOysNYFGK5HjGiRl5H7Fm4 oyoog59OQx5YJrKuc4QZCq4= X-Google-Smtp-Source: ABdhPJxuSiSvkTN++pGSVMXBYNqvPAMcBOjHOJ69aDa4xEmqRjWTkrIQtYLFDPKSKObVK+FDDcTkYw== X-Received: by 2002:ac2:4318:: with SMTP id l24mr3612756lfh.145.1631273079832; Fri, 10 Sep 2021 04:24:39 -0700 (PDT) Received: from [192.168.2.145] (46-138-3-129.dynamic.spd-mgts.ru. [46.138.3.129]) by smtp.googlemail.com with ESMTPSA id j21sm549514ljh.87.2021.09.10.04.24.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 10 Sep 2021 04:24:39 -0700 (PDT) Subject: Re: [PATCH 3/3] PM: domains: Add a ->dev_get_performance_state() callback to genpd To: Ulf Hansson Cc: Viresh Kumar , "Rafael J . Wysocki" , Linux PM , Dmitry Baryshkov , Jonathan Hunter , Thierry Reding , Rajendra Nayak , Stephan Gerhold , Bjorn Andersson , Linux ARM , Linux Kernel Mailing List References: <20210902101634.827187-1-ulf.hansson@linaro.org> <20210902101634.827187-4-ulf.hansson@linaro.org> <4e36e732-6ca3-1d00-e6dd-38bb8877577b@gmail.com> <1124dae5-478f-f0ca-ea91-b6945f7c9254@gmail.com> <3d92711f-ce30-2c19-c6a4-bb77d32df2dd@gmail.com> <1ca9a2d5-e89a-5bbd-2ecc-01f1c4a820ae@gmail.com> From: Dmitry Osipenko Message-ID: <8dadc395-e7f4-9dcc-b484-60c119063007@gmail.com> Date: Fri, 10 Sep 2021 14:24:38 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210910_042442_121971_469E0B8F X-CRM114-Status: GOOD ( 19.97 ) 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 MDkuMDkuMjAyMSAxNzozOSwgVWxmIEhhbnNzb24g0L/QuNGI0LXRgjoKPiBPbiBUaHUsIDkgU2Vw dCAyMDIxIGF0IDE1OjQ4LCBEbWl0cnkgT3NpcGVua28gPGRpZ2V0eEBnbWFpbC5jb20+IHdyb3Rl Ogo+Pgo+PiAwNy4wOS4yMDIxIDEyOjU3LCBVbGYgSGFuc3NvbiDQv9C40YjQtdGCOgo+Pj4gSSBk b24ndCBtaW5kIGV4dGVuZGluZyB0aGUgZ2VucGQgQVBJLCBidXQgaXQgbmVlZHMgdG8gc2VydmUg YSBnb29kIHB1cnBvc2UuCj4+Pgo+Pj4gQXMgSSBzYWlkIGVhcmxpZXIsIGdlbnBkIGRvZXNuJ3Qg a25vdyBub3IgY2FuIGNvbnRyb2wgaG93IHRoZSBjb25zdW1lcgo+Pj4gZHJpdmVyIGRlcGxveXMg cnVudGltZSBQTS4gVW5mb3J0dW5hdGVseSwgdGhhdCBhbHNvIGluY2x1ZGVzIGdlbnBkCj4+PiBw cm92aWRlcnMsIGFzIHRoZSBiZWhhdmlvciBpc24ndCBhIHBsYXRmb3JtIG9yIFBNIGRvbWFpbiBz cGVjaWZpYwo+Pj4gdGhpbmcuIFRoaXMgbWVhbnMgZ2VucGQgbmVlZHMgdG8gYmUgZ2VuZXJpYyBl bm91Z2ggc28gaXQgd29ya3MgZm9yIGFsbAo+Pj4gY2FzZXMuCj4+Pgo+Pj4gSW4gdGhlICRzdWJq ZWN0IHBhdGNoLCB3ZSByZWx5IG9uIHRoZSBwbV9ydW50aW1lX3N1c3BlbmRlZCgpIGNoZWNrIGlu Cj4+PiBkZXZfcG1fZ2VucGRfc2V0X3BlcmZvcm1hbmNlX3N0YXRlKCksIHdoaWNoIHNob3VsZCB3 b3JrIGZvciBhbGwgY2FzZXMsCj4+PiBldmVuIGlmIGl0IG1heSBiZSBzdWItb3B0aW1hbCBmb3Ig c29tZSBzY2VuYXJpb3MuCj4+Pgo+Pj4gTm90ZSB0aGF0LCBpbiB0aGUgYXBwcm9hY2ggeW91ciBz dWdnZXN0ZWQgWzFdLAo+Pj4gcG1fcnVudGltZV9zdGF0dXNfc3VzcGVuZGVkKCkgaXMgdXNlZCBp bnN0ZWFkLiBUaGlzIGRvZXNuJ3Qgd29yayB3aGVuCj4+PiBhIGNvbnN1bWVyIGRyaXZlciBkb2Vz bid0IGVuYWJsZSBydW50aW1lIFBNIC0gb3IgY2FsbHMKPj4+IHBtX3J1bnRpbWVfc2V0X2FjdGl2 ZSgpIGR1cmluZyAtPnByb2JlKCksIGJlY2F1c2UKPj4+IGdlbnBkX3J1bnRpbWVfcmVzdW1lKCkg d29uJ3QgYmUgaW52b2tlZCB0byByZXN0b3JlIHRoZSBncGQtPnJwbV9zdGF0ZS4KPj4+Cj4+PiBU aGF0IHNhaWQsIEkgd291bGRuJ3QgbWluZCB0byBzaW1wbHkgc2tpcCBhZGRpbmcgdGhlCj4+PiAt PmRldl9nZXRfcGVyZm9ybWFuY2Vfc3RhdGUoKSBhbGwgdG9nZXRoZXIsIGlmIHRoYXQgaXMgd2hh dCB5b3UKPj4+IHByZWZlcj8gSW4gdGhpcyB3YXksIGl0IGJlY29tZXMgdGhlIHJlc3BvbnNpYmls aXR5IGZvciB0aGUgY29uc3VtZXIKPj4+IGRyaXZlciB0byBkbyByaWdodCB0aGluZywgd2l0aCB0 aGUgY29zdCBvZiBzb21lIGJvaWxlcnBsYXRlIGNvZGUgYWRkZWQKPj4+IGluIGl0cyAtPnByb2Jl KCkgcm91dGluZS4KPj4KPj4gVW50aWwgYSBkYXkgYWdvLCBpdCB3YXNuJ3QgY2xlYXIgdG8gbWUg dGhhdCBjb25zdW1lciBkcml2ZXJzIG5vdyBjYW4gc2V0Cj4+IHVwIHJwbV9wc3RhdGUgZHVyaW5n IHByb2JlKCksIHdoaWNoIGlzIGEgY2xlYW5lciBzb2x1dGlvbiB0aGF0IHdvcmtzCj4+IHdlbGwu IFNvIGxldCdzIHNraXAgYWRkaW5nIHRoZSBxdWVzdGlvbmFibGUgLT5kZXZfZ2V0X3BlcmZvcm1h bmNlX3N0YXRlKCkuCj4+Cj4+IFRoZSBib2lsZXJwbGF0ZSBjb2RlIGluIHRoZSBwcm9iZSgpIGlz IG1pbmltYWwgaW4gY29tcGFyaXNvbiB0byBhCj4+IHByZXZpb3VzIHZhcmlhbnQgd2l0aCB0aGUg c3RhdGUtc3luY2luZyBkb25lIGJ5IHJwbS1yZXN1bWUgY2FsbGJhY2tzIG9mCj4+IGNvbnN1bWVy IGRyaXZlcnMsIGl0J3MgZ29vZCBlbm91Z2guCj4gCj4gQWxyaWdodCwgdGhhdCBzb3VuZHMgZ29v ZCB0byBtZSBhcyB3ZWxsLgo+IAo+IEkgYW0gaGFwcHkgdG8gaGVscCB3aXRoIHJldmlldyBvZiB0 aGUgY29uc3VtZXIgZHJpdmVyIGNoYW5nZXMsIGp1c3QKPiBrZWVwIG1lIHBvc3RlZC4KClRoYW5r IHlvdSBhbmQgVmlyZXNoIGZvciB0aGUgaGVscCwgdmVyeSBhcHByZWNpYXRlIGl0IQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5l bCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6 Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=