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=-8.0 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 55DB9C8300C for ; Thu, 30 Apr 2020 09:20:06 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 34D042137B for ; Thu, 30 Apr 2020 09:20:06 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=tronnes.org header.i=@tronnes.org header.b="O4V/Pgrc" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726395AbgD3JUF (ORCPT ); Thu, 30 Apr 2020 05:20:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40576 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726127AbgD3JUF (ORCPT ); Thu, 30 Apr 2020 05:20:05 -0400 X-Greylist: delayed 52772 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Thu, 30 Apr 2020 02:20:05 PDT Received: from smtp.domeneshop.no (smtp.domeneshop.no [IPv6:2a01:5b40:0:3005::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 437B6C035494 for ; Thu, 30 Apr 2020 02:20:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tronnes.org ; s=ds201912; h=Content-Transfer-Encoding:Content-Type:In-Reply-To: MIME-Version:Date:Message-ID:From:References:Cc:To:Subject:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=JGLc3a8ABGQstMR37awCEhI2dEUBYckj05oUPEzH5zM=; b=O4V/PgrcyNboVQMuC2pLT8XbA1 oazmcsBDo3SqYAigfLRfcShWTqbVV+zQmLLQdIvnWneZYCjJ0syXrKnxBbIN2Tp0GNfSHwSDmt8nU 7YvsfqrON1QdxVz12P8t17OwX73BerxvhHyE7EEiby7enzme4FvfnyfaZgC9NUmFksSOeMkaF9Zzf LU9jvsb0GGUIstsvUiQpgSa/tlC7zXm/2EbwiNI2F2FxGPbiQ3RY2WY3WIls513fuWRdVz5aZBzB8 mhd1ukAowutdTTBkrXpzcVMSS7AgtDWr1Qs7kDIZ/a2zGzrXsckczG1T6GtQSxVd/XPQVbzC4JIpE yXxDftEw==; Received: from 211.81-166-168.customer.lyse.net ([81.166.168.211]:61049 helo=[192.168.10.61]) by smtp.domeneshop.no with esmtpsa (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1jU5MQ-0002XZ-G5; Thu, 30 Apr 2020 11:20:02 +0200 Subject: Re: [PATCH 01/10] backlight: Add backlight_device_get_by_name() To: Lee Jones Cc: dri-devel@lists.freedesktop.org, linux-usb@vger.kernel.org, Daniel Thompson , Jingoo Han References: <20200429124830.27475-1-noralf@tronnes.org> <20200429124830.27475-2-noralf@tronnes.org> <20200430083219.GC3118@dell> From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= Message-ID: <0fbc4eb5-cb39-5974-85bb-9f13278ecab4@tronnes.org> Date: Thu, 30 Apr 2020 11:20:01 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <20200430083219.GC3118@dell> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org Den 30.04.2020 10.32, skrev Lee Jones: > On Wed, 29 Apr 2020, Noralf Trønnes wrote: > >> Add a way to lookup a backlight device based on its name. >> Will be used by a USB display gadget getting the name from configfs. >> >> Cc: Lee Jones >> Cc: Daniel Thompson >> Cc: Jingoo Han >> Signed-off-by: Noralf Trønnes >> --- >> drivers/video/backlight/backlight.c | 21 +++++++++++++++++++++ >> include/linux/backlight.h | 1 + >> 2 files changed, 22 insertions(+) > > Once reviewed, can this patch be applied on its own? > If you can apply it for 5.8, then we're good. DRM has cutoff at -rc5 and the driver won't be ready for that. This patch has this dependency chain: usb -> drm -> backlight. So if you can apply it for 5.8, things gets easier. > My guess is that it can't, as the other patches in this set depend on > it, right? If this assumption is true, you need to send me the rest > of the set. > > FYI: It's normally better to send the whole set to everyone, as it > provides visibility on current review (or lack there of) status of the > other patches and allows each of the maintainers to discuss possible > merge strategies. dri-devel is the ML for backlight so I assumed you got the full set. I have had trouble in the past with my email provider dropping parts of a series when I had to many recipients. Noralf. > >> diff --git a/drivers/video/backlight/backlight.c b/drivers/video/backlight/backlight.c >> index cac3e35d7630..92d80aa0c0ef 100644 >> --- a/drivers/video/backlight/backlight.c >> +++ b/drivers/video/backlight/backlight.c >> @@ -432,6 +432,27 @@ struct backlight_device *backlight_device_get_by_type(enum backlight_type type) >> } >> EXPORT_SYMBOL(backlight_device_get_by_type); >> >> +/** >> + * backlight_device_get_by_name - Get backlight device by name >> + * @name: Device name >> + * >> + * This function looks up a backlight device by its name. It obtains a reference >> + * on the backlight device and it is the caller's responsibility to drop the >> + * reference by calling backlight_put(). >> + * >> + * Returns: >> + * A pointer to the backlight device if found, otherwise NULL. >> + */ >> +struct backlight_device *backlight_device_get_by_name(const char *name) >> +{ >> + struct device *dev; >> + >> + dev = class_find_device_by_name(backlight_class, name); >> + >> + return dev ? to_backlight_device(dev) : NULL; >> +} >> +EXPORT_SYMBOL(backlight_device_get_by_name); >> + >> /** >> * backlight_device_unregister - unregisters a backlight device object. >> * @bd: the backlight device object to be unregistered and freed. >> diff --git a/include/linux/backlight.h b/include/linux/backlight.h >> index c7d6b2e8c3b5..56e4580d4f55 100644 >> --- a/include/linux/backlight.h >> +++ b/include/linux/backlight.h >> @@ -190,6 +190,7 @@ extern void backlight_force_update(struct backlight_device *bd, >> extern int backlight_register_notifier(struct notifier_block *nb); >> extern int backlight_unregister_notifier(struct notifier_block *nb); >> extern struct backlight_device *backlight_device_get_by_type(enum backlight_type type); >> +struct backlight_device *backlight_device_get_by_name(const char *name); >> extern int backlight_device_set_brightness(struct backlight_device *bd, unsigned long brightness); >> >> #define to_backlight_device(obj) container_of(obj, struct backlight_device, dev) > 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=-8.0 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 2A46FC8300A for ; Thu, 30 Apr 2020 09:20:06 +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 C4B822137B for ; Thu, 30 Apr 2020 09:20:05 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=tronnes.org header.i=@tronnes.org header.b="O4V/Pgrc" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C4B822137B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=tronnes.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 18E346E198; Thu, 30 Apr 2020 09:20:05 +0000 (UTC) Received: from smtp.domeneshop.no (smtp.domeneshop.no [IPv6:2a01:5b40:0:3005::1]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6E9B76E198 for ; Thu, 30 Apr 2020 09:20:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tronnes.org ; s=ds201912; h=Content-Transfer-Encoding:Content-Type:In-Reply-To: MIME-Version:Date:Message-ID:From:References:Cc:To:Subject:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=JGLc3a8ABGQstMR37awCEhI2dEUBYckj05oUPEzH5zM=; b=O4V/PgrcyNboVQMuC2pLT8XbA1 oazmcsBDo3SqYAigfLRfcShWTqbVV+zQmLLQdIvnWneZYCjJ0syXrKnxBbIN2Tp0GNfSHwSDmt8nU 7YvsfqrON1QdxVz12P8t17OwX73BerxvhHyE7EEiby7enzme4FvfnyfaZgC9NUmFksSOeMkaF9Zzf LU9jvsb0GGUIstsvUiQpgSa/tlC7zXm/2EbwiNI2F2FxGPbiQ3RY2WY3WIls513fuWRdVz5aZBzB8 mhd1ukAowutdTTBkrXpzcVMSS7AgtDWr1Qs7kDIZ/a2zGzrXsckczG1T6GtQSxVd/XPQVbzC4JIpE yXxDftEw==; Received: from 211.81-166-168.customer.lyse.net ([81.166.168.211]:61049 helo=[192.168.10.61]) by smtp.domeneshop.no with esmtpsa (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1jU5MQ-0002XZ-G5; Thu, 30 Apr 2020 11:20:02 +0200 Subject: Re: [PATCH 01/10] backlight: Add backlight_device_get_by_name() To: Lee Jones References: <20200429124830.27475-1-noralf@tronnes.org> <20200429124830.27475-2-noralf@tronnes.org> <20200430083219.GC3118@dell> From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= Message-ID: <0fbc4eb5-cb39-5974-85bb-9f13278ecab4@tronnes.org> Date: Thu, 30 Apr 2020 11:20:01 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <20200430083219.GC3118@dell> 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: Jingoo Han , Daniel Thompson , linux-usb@vger.kernel.org, dri-devel@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" CgpEZW4gMzAuMDQuMjAyMCAxMC4zMiwgc2tyZXYgTGVlIEpvbmVzOgo+IE9uIFdlZCwgMjkgQXBy IDIwMjAsIE5vcmFsZiBUcsO4bm5lcyB3cm90ZToKPiAKPj4gQWRkIGEgd2F5IHRvIGxvb2t1cCBh IGJhY2tsaWdodCBkZXZpY2UgYmFzZWQgb24gaXRzIG5hbWUuCj4+IFdpbGwgYmUgdXNlZCBieSBh IFVTQiBkaXNwbGF5IGdhZGdldCBnZXR0aW5nIHRoZSBuYW1lIGZyb20gY29uZmlnZnMuCj4+Cj4+ IENjOiBMZWUgSm9uZXMgPGxlZS5qb25lc0BsaW5hcm8ub3JnPgo+PiBDYzogRGFuaWVsIFRob21w c29uIDxkYW5pZWwudGhvbXBzb25AbGluYXJvLm9yZz4KPj4gQ2M6IEppbmdvbyBIYW4gPGppbmdv b2hhbjFAZ21haWwuY29tPgo+PiBTaWduZWQtb2ZmLWJ5OiBOb3JhbGYgVHLDuG5uZXMgPG5vcmFs ZkB0cm9ubmVzLm9yZz4KPj4gLS0tCj4+ICBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9iYWNrbGln aHQuYyB8IDIxICsrKysrKysrKysrKysrKysrKysrKwo+PiAgaW5jbHVkZS9saW51eC9iYWNrbGln aHQuaCAgICAgICAgICAgfCAgMSArCj4+ICAyIGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMo KykKPiAKPiBPbmNlIHJldmlld2VkLCBjYW4gdGhpcyBwYXRjaCBiZSBhcHBsaWVkIG9uIGl0cyBv d24/Cj4gCgpJZiB5b3UgY2FuIGFwcGx5IGl0IGZvciA1LjgsIHRoZW4gd2UncmUgZ29vZC4gRFJN IGhhcyBjdXRvZmYgYXQgLXJjNSBhbmQKdGhlIGRyaXZlciB3b24ndCBiZSByZWFkeSBmb3IgdGhh dC4gVGhpcyBwYXRjaCBoYXMgdGhpcyBkZXBlbmRlbmN5CmNoYWluOiB1c2IgLT4gZHJtIC0+IGJh Y2tsaWdodC4gU28gaWYgeW91IGNhbiBhcHBseSBpdCBmb3IgNS44LCB0aGluZ3MKZ2V0cyBlYXNp ZXIuCgo+IE15IGd1ZXNzIGlzIHRoYXQgaXQgY2FuJ3QsIGFzIHRoZSBvdGhlciBwYXRjaGVzIGlu IHRoaXMgc2V0IGRlcGVuZCBvbgo+IGl0LCByaWdodD8gIElmIHRoaXMgYXNzdW1wdGlvbiBpcyB0 cnVlLCB5b3UgbmVlZCB0byBzZW5kIG1lIHRoZSByZXN0Cj4gb2YgdGhlIHNldC4KPiAKPiBGWUk6 IEl0J3Mgbm9ybWFsbHkgYmV0dGVyIHRvIHNlbmQgdGhlIHdob2xlIHNldCB0byBldmVyeW9uZSwg YXMgaXQKPiBwcm92aWRlcyB2aXNpYmlsaXR5IG9uIGN1cnJlbnQgcmV2aWV3IChvciBsYWNrIHRo ZXJlIG9mKSBzdGF0dXMgb2YgdGhlCj4gb3RoZXIgcGF0Y2hlcyBhbmQgYWxsb3dzIGVhY2ggb2Yg dGhlIG1haW50YWluZXJzIHRvIGRpc2N1c3MgcG9zc2libGUKPiBtZXJnZSBzdHJhdGVnaWVzLgoK ZHJpLWRldmVsIGlzIHRoZSBNTCBmb3IgYmFja2xpZ2h0IHNvIEkgYXNzdW1lZCB5b3UgZ290IHRo ZSBmdWxsIHNldC4KSSBoYXZlIGhhZCB0cm91YmxlIGluIHRoZSBwYXN0IHdpdGggbXkgZW1haWwg cHJvdmlkZXIgZHJvcHBpbmcgcGFydHMgb2YKYSBzZXJpZXMgd2hlbiBJIGhhZCB0byBtYW55IHJl Y2lwaWVudHMuCgpOb3JhbGYuCgo+IAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNr bGlnaHQvYmFja2xpZ2h0LmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9iYWNrbGlnaHQuYwo+ PiBpbmRleCBjYWMzZTM1ZDc2MzAuLjkyZDgwYWEwYzBlZiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVy cy92aWRlby9iYWNrbGlnaHQvYmFja2xpZ2h0LmMKPj4gKysrIGIvZHJpdmVycy92aWRlby9iYWNr bGlnaHQvYmFja2xpZ2h0LmMKPj4gQEAgLTQzMiw2ICs0MzIsMjcgQEAgc3RydWN0IGJhY2tsaWdo dF9kZXZpY2UgKmJhY2tsaWdodF9kZXZpY2VfZ2V0X2J5X3R5cGUoZW51bSBiYWNrbGlnaHRfdHlw ZSB0eXBlKQo+PiAgfQo+PiAgRVhQT1JUX1NZTUJPTChiYWNrbGlnaHRfZGV2aWNlX2dldF9ieV90 eXBlKTsKPj4gIAo+PiArLyoqCj4+ICsgKiBiYWNrbGlnaHRfZGV2aWNlX2dldF9ieV9uYW1lIC0g R2V0IGJhY2tsaWdodCBkZXZpY2UgYnkgbmFtZQo+PiArICogQG5hbWU6IERldmljZSBuYW1lCj4+ ICsgKgo+PiArICogVGhpcyBmdW5jdGlvbiBsb29rcyB1cCBhIGJhY2tsaWdodCBkZXZpY2UgYnkg aXRzIG5hbWUuIEl0IG9idGFpbnMgYSByZWZlcmVuY2UKPj4gKyAqIG9uIHRoZSBiYWNrbGlnaHQg ZGV2aWNlIGFuZCBpdCBpcyB0aGUgY2FsbGVyJ3MgcmVzcG9uc2liaWxpdHkgdG8gZHJvcCB0aGUK Pj4gKyAqIHJlZmVyZW5jZSBieSBjYWxsaW5nIGJhY2tsaWdodF9wdXQoKS4KPj4gKyAqCj4+ICsg KiBSZXR1cm5zOgo+PiArICogQSBwb2ludGVyIHRvIHRoZSBiYWNrbGlnaHQgZGV2aWNlIGlmIGZv dW5kLCBvdGhlcndpc2UgTlVMTC4KPj4gKyAqLwo+PiArc3RydWN0IGJhY2tsaWdodF9kZXZpY2Ug KmJhY2tsaWdodF9kZXZpY2VfZ2V0X2J5X25hbWUoY29uc3QgY2hhciAqbmFtZSkKPj4gK3sKPj4g KwlzdHJ1Y3QgZGV2aWNlICpkZXY7Cj4+ICsKPj4gKwlkZXYgPSBjbGFzc19maW5kX2RldmljZV9i eV9uYW1lKGJhY2tsaWdodF9jbGFzcywgbmFtZSk7Cj4+ICsKPj4gKwlyZXR1cm4gZGV2ID8gdG9f YmFja2xpZ2h0X2RldmljZShkZXYpIDogTlVMTDsKPj4gK30KPj4gK0VYUE9SVF9TWU1CT0woYmFj a2xpZ2h0X2RldmljZV9nZXRfYnlfbmFtZSk7Cj4+ICsKPj4gIC8qKgo+PiAgICogYmFja2xpZ2h0 X2RldmljZV91bnJlZ2lzdGVyIC0gdW5yZWdpc3RlcnMgYSBiYWNrbGlnaHQgZGV2aWNlIG9iamVj dC4KPj4gICAqIEBiZDogdGhlIGJhY2tsaWdodCBkZXZpY2Ugb2JqZWN0IHRvIGJlIHVucmVnaXN0 ZXJlZCBhbmQgZnJlZWQuCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2JhY2tsaWdodC5o IGIvaW5jbHVkZS9saW51eC9iYWNrbGlnaHQuaAo+PiBpbmRleCBjN2Q2YjJlOGMzYjUuLjU2ZTQ1 ODBkNGY1NSAxMDA2NDQKPj4gLS0tIGEvaW5jbHVkZS9saW51eC9iYWNrbGlnaHQuaAo+PiArKysg Yi9pbmNsdWRlL2xpbnV4L2JhY2tsaWdodC5oCj4+IEBAIC0xOTAsNiArMTkwLDcgQEAgZXh0ZXJu IHZvaWQgYmFja2xpZ2h0X2ZvcmNlX3VwZGF0ZShzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmQs Cj4+ICBleHRlcm4gaW50IGJhY2tsaWdodF9yZWdpc3Rlcl9ub3RpZmllcihzdHJ1Y3Qgbm90aWZp ZXJfYmxvY2sgKm5iKTsKPj4gIGV4dGVybiBpbnQgYmFja2xpZ2h0X3VucmVnaXN0ZXJfbm90aWZp ZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYik7Cj4+ICBleHRlcm4gc3RydWN0IGJhY2tsaWdo dF9kZXZpY2UgKmJhY2tsaWdodF9kZXZpY2VfZ2V0X2J5X3R5cGUoZW51bSBiYWNrbGlnaHRfdHlw ZSB0eXBlKTsKPj4gK3N0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpiYWNrbGlnaHRfZGV2aWNlX2dl dF9ieV9uYW1lKGNvbnN0IGNoYXIgKm5hbWUpOwo+PiAgZXh0ZXJuIGludCBiYWNrbGlnaHRfZGV2 aWNlX3NldF9icmlnaHRuZXNzKHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpiZCwgdW5zaWduZWQg bG9uZyBicmlnaHRuZXNzKTsKPj4gIAo+PiAgI2RlZmluZSB0b19iYWNrbGlnaHRfZGV2aWNlKG9i aikgY29udGFpbmVyX29mKG9iaiwgc3RydWN0IGJhY2tsaWdodF9kZXZpY2UsIGRldikKPiAKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==