From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com [64.147.123.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7C86B7B for ; Fri, 29 Apr 2022 14:24:51 +0000 (UTC) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id 35C48320095B; Fri, 29 Apr 2022 10:24:49 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Fri, 29 Apr 2022 10:24:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1651242288; x= 1651328688; bh=9gHDquF0620vXHuRAV44zNwRhlnBP4+qdCr0yPXAJ9I=; b=n LC6L+MU4X/bYEQWo4BVTRJ6/ZbEcaEztOHaTGyaxWec0KCbu+a9pjwHMfy1H2ZlR 5X1yCgpvFcOkvp1nMsfMurAKFqJLVGCE16uB8igyuXKdR7Vb9indKY7DFy63n1zb iS4kS5AF19lauLTxRcA9+Ba7DH6GHI0sMZHuoUz53+NG/h3AouGUiQODd452ghBy URtgJ4UVVunROTok3XPBwf4c34573DqU6qKDjcPTlpfyZ7cBdJUubgn1Pp0u1qtz 9z/9PN2wq7jqqEZ0hHnfs/NQhG4foQGhZer4eccUaW7IvFfUc2yQSorXwGp3zeTK 1+62XMHr5+tV4c48Dgrmg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; t=1651242288; x=1651328688; bh=9gHDquF0620vX HuRAV44zNwRhlnBP4+qdCr0yPXAJ9I=; b=Wz45439R4Skb7JbyeAKK10ppTC98L 1JIHd1MP+Wg3YYww1M5ZrHa7IqpLA9gegNq9bzde2GJRumt4LvdsEdwxgfL635GR fzHk3eiyAyYq85UINAV060EFAV+hGXd43lh4h6noL2Ug8PPMoAdO7LXukJyxHVSn VpiYc8dUFJjx12QdV4gN/ZLqqdvm/z9keDXFMka7al7hyzmhChhS/EHU8b/GZuw4 tNWXJsvfFTiGNvm22cyOR5rx+jqPk4p82/nBSJFvpgRhpdiQuUkC9k4UOLdN9zOm NBR73EhdtWwy4KgAM/I75ty1JOjzEqWwDED/OFVPygtRTDGgdhptzKPZw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrudelgdejgecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpeffhffvvefukfhfgggtugfgjgesthhqredttddtjeenucfhrhhomhepofgrgihi mhgvucftihhprghrugcuoehmrgigihhmvgestggvrhhnohdrthgvtghhqeenucggtffrrg htthgvrhhnpefftddtueefgfffgedtjeffveduvdduhfdugeejgeekteeugfefhfehkedu hfdvhfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hmrgigihhmvgestggvrhhnohdrthgvtghh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 29 Apr 2022 10:24:47 -0400 (EDT) Date: Fri, 29 Apr 2022 16:24:46 +0200 From: Maxime Ripard To: Paul Kocialkowski Cc: Jernej =?utf-8?Q?=C5=A0krabec?= , linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, Yong Deng , Mauro Carvalho Chehab , Chen-Yu Tsai , Samuel Holland , Laurent Pinchart , Thomas Petazzoni Subject: Re: [PATCH v4 43/45] media: sun6i-csi: Detect the availability of the ISP Message-ID: <20220429142446.vzhmbay6hq7p4tpi@houat> References: <20220415152811.636419-1-paul.kocialkowski@bootlin.com> <20220415152811.636419-44-paul.kocialkowski@bootlin.com> <2029179.KlZ2vcFHjT@jernej-laptop> <20220428081130.6deusqgnrsgqdp3e@houat> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: On Thu, Apr 28, 2022 at 01:43:44PM +0200, Paul Kocialkowski wrote: > Hi Maxime, >=20 > On Thu 28 Apr 22, 10:11, Maxime Ripard wrote: > > On Thu, Apr 28, 2022 at 09:55:56AM +0200, Paul Kocialkowski wrote: > > > Hi Jernej, > > >=20 > > > Thanks a lot for all your reviews! > > >=20 > > > On Wed 27 Apr 22, 22:07, Jernej =C5=A0krabec wrote: > > > > Dne petek, 15. april 2022 ob 17:28:09 CEST je Paul Kocialkowski nap= isal(a): > > > > > Add a helper to detect whether the ISP is available and connected > > > > > and store the indication in a driver-wide variable. > > > > >=20 > > > > > Signed-off-by: Paul Kocialkowski > > > > > --- > > > > > .../platform/sunxi/sun6i-csi/sun6i_csi.c | 33 +++++++++++++= ++++++ > > > > > .../platform/sunxi/sun6i-csi/sun6i_csi.h | 3 ++ > > > > > 2 files changed, 36 insertions(+) > > > > >=20 > > > > > diff --git a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c > > > > > b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c index > > > > > a88deb8ba1e7..f185cbd113c7 100644 > > > > > --- a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c > > > > > +++ b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi.c > > > > > @@ -25,6 +25,35 @@ > > > > > #include "sun6i_csi_capture.h" > > > > > #include "sun6i_csi_reg.h" > > > > >=20 > > > > > +/* ISP */ > > > > > + > > > > > +static bool sun6i_csi_isp_detect(struct sun6i_csi_device *csi_de= v) > > > > > +{ > > > > > + struct device *dev =3D csi_dev->dev; > > > > > + struct fwnode_handle *handle =3D NULL; > > > > > + > > > > > + /* ISP is not available if disabled in kernel config. */ > > > > > + if (!IS_ENABLED(CONFIG_VIDEO_SUN6I_ISP)) > > > >=20 > > > > Where is this symbol defined? > > >=20 > > > That is defined through Kconfig's auto-generated header, from the ass= ociated > > > option for the ISP driver. It is defined in the ISP support series so= this > > > will effectively always be false for now. > >=20 > > Can the ISP be compiled as a module, but the CSI driver built-in? >=20 > I think so yes, I don't see any reason why not. >=20 > > If so, > > that would create a dependency from the kernel image to a module, which > > won't compile. >=20 > I think this would introduce a run-time dependency (sun6i-csi needing sun= 6i-isp > in order to register) but I don't understand why it wouldn't compile thou= gh. > Could you ellaborate a bit? Never mind, that was a brainfart, I was somehow thinking you wer calling a function there. Maxime 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 72E12C433EF for ; Fri, 29 Apr 2022 14:26:32 +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=A2/lgPZ2JfFKLy6Gpb6vTz8hc8HD1UIN6tg3/TOa0jY=; b=jQPV/eJYuH1qKK zAWMxM3TWj6+0h1WDp1BLVi03iPlplH55zjOiXDnoXNct9go8xYY58PBeAlv0CR3NzmE0zC7E6OJB azH2o9VuqTaXI+SKzk93OIDpphWBiFJoWsDO0wygI7MUhlXen3AFkNDDEtXwuRnu4o+FJlqNYvoi2 WFiuU8LWL79Hw6BZtm2LiWnX3QPSs/nd3BTWuWtiF9By7Gs5YYUzdn9a3mMLpuoV33Ab0wLNxMVQa Q639tiVXIGG8swS21d2b1YEldYUU6oCzZRc3FiJpwTwoEBJ+kStMH6FKd95e2+wU+0Os12+dCSFtX WTwX0raqif4gVi0vg0yw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nkRYH-00BZKY-Qi; Fri, 29 Apr 2022 14:24:57 +0000 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nkRYE-00BZIZ-2a for linux-arm-kernel@lists.infradead.org; Fri, 29 Apr 2022 14:24:56 +0000 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id 35C48320095B; Fri, 29 Apr 2022 10:24:49 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Fri, 29 Apr 2022 10:24:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1651242288; x= 1651328688; bh=9gHDquF0620vXHuRAV44zNwRhlnBP4+qdCr0yPXAJ9I=; b=n LC6L+MU4X/bYEQWo4BVTRJ6/ZbEcaEztOHaTGyaxWec0KCbu+a9pjwHMfy1H2ZlR 5X1yCgpvFcOkvp1nMsfMurAKFqJLVGCE16uB8igyuXKdR7Vb9indKY7DFy63n1zb iS4kS5AF19lauLTxRcA9+Ba7DH6GHI0sMZHuoUz53+NG/h3AouGUiQODd452ghBy URtgJ4UVVunROTok3XPBwf4c34573DqU6qKDjcPTlpfyZ7cBdJUubgn1Pp0u1qtz 9z/9PN2wq7jqqEZ0hHnfs/NQhG4foQGhZer4eccUaW7IvFfUc2yQSorXwGp3zeTK 1+62XMHr5+tV4c48Dgrmg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; t=1651242288; x=1651328688; bh=9gHDquF0620vX HuRAV44zNwRhlnBP4+qdCr0yPXAJ9I=; b=Wz45439R4Skb7JbyeAKK10ppTC98L 1JIHd1MP+Wg3YYww1M5ZrHa7IqpLA9gegNq9bzde2GJRumt4LvdsEdwxgfL635GR fzHk3eiyAyYq85UINAV060EFAV+hGXd43lh4h6noL2Ug8PPMoAdO7LXukJyxHVSn VpiYc8dUFJjx12QdV4gN/ZLqqdvm/z9keDXFMka7al7hyzmhChhS/EHU8b/GZuw4 tNWXJsvfFTiGNvm22cyOR5rx+jqPk4p82/nBSJFvpgRhpdiQuUkC9k4UOLdN9zOm NBR73EhdtWwy4KgAM/I75ty1JOjzEqWwDED/OFVPygtRTDGgdhptzKPZw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrudelgdejgecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpeffhffvvefukfhfgggtugfgjgesthhqredttddtjeenucfhrhhomhepofgrgihi mhgvucftihhprghrugcuoehmrgigihhmvgestggvrhhnohdrthgvtghhqeenucggtffrrg htthgvrhhnpefftddtueefgfffgedtjeffveduvdduhfdugeejgeekteeugfefhfehkedu hfdvhfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hmrgigihhmvgestggvrhhnohdrthgvtghh X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 29 Apr 2022 10:24:47 -0400 (EDT) Date: Fri, 29 Apr 2022 16:24:46 +0200 From: Maxime Ripard To: Paul Kocialkowski Cc: Jernej =?utf-8?Q?=C5=A0krabec?= , linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, Yong Deng , Mauro Carvalho Chehab , Chen-Yu Tsai , Samuel Holland , Laurent Pinchart , Thomas Petazzoni Subject: Re: [PATCH v4 43/45] media: sun6i-csi: Detect the availability of the ISP Message-ID: <20220429142446.vzhmbay6hq7p4tpi@houat> References: <20220415152811.636419-1-paul.kocialkowski@bootlin.com> <20220415152811.636419-44-paul.kocialkowski@bootlin.com> <2029179.KlZ2vcFHjT@jernej-laptop> <20220428081130.6deusqgnrsgqdp3e@houat> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220429_072454_950606_733F5A33 X-CRM114-Status: GOOD ( 29.94 ) 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 T24gVGh1LCBBcHIgMjgsIDIwMjIgYXQgMDE6NDM6NDRQTSArMDIwMCwgUGF1bCBLb2NpYWxrb3dz a2kgd3JvdGU6Cj4gSGkgTWF4aW1lLAo+IAo+IE9uIFRodSAyOCBBcHIgMjIsIDEwOjExLCBNYXhp bWUgUmlwYXJkIHdyb3RlOgo+ID4gT24gVGh1LCBBcHIgMjgsIDIwMjIgYXQgMDk6NTU6NTZBTSAr MDIwMCwgUGF1bCBLb2NpYWxrb3dza2kgd3JvdGU6Cj4gPiA+IEhpIEplcm5laiwKPiA+ID4gCj4g PiA+IFRoYW5rcyBhIGxvdCBmb3IgYWxsIHlvdXIgcmV2aWV3cyEKPiA+ID4gCj4gPiA+IE9uIFdl ZCAyNyBBcHIgMjIsIDIyOjA3LCBKZXJuZWogxaBrcmFiZWMgd3JvdGU6Cj4gPiA+ID4gRG5lIHBl dGVrLCAxNS4gYXByaWwgMjAyMiBvYiAxNzoyODowOSBDRVNUIGplIFBhdWwgS29jaWFsa293c2tp IG5hcGlzYWwoYSk6Cj4gPiA+ID4gPiBBZGQgYSBoZWxwZXIgdG8gZGV0ZWN0IHdoZXRoZXIgdGhl IElTUCBpcyBhdmFpbGFibGUgYW5kIGNvbm5lY3RlZAo+ID4gPiA+ID4gYW5kIHN0b3JlIHRoZSBp bmRpY2F0aW9uIGluIGEgZHJpdmVyLXdpZGUgdmFyaWFibGUuCj4gPiA+ID4gPiAKPiA+ID4gPiA+ IFNpZ25lZC1vZmYtYnk6IFBhdWwgS29jaWFsa293c2tpIDxwYXVsLmtvY2lhbGtvd3NraUBib290 bGluLmNvbT4KPiA+ID4gPiA+IC0tLQo+ID4gPiA+ID4gIC4uLi9wbGF0Zm9ybS9zdW54aS9zdW42 aS1jc2kvc3VuNmlfY3NpLmMgICAgICB8IDMzICsrKysrKysrKysrKysrKysrKysKPiA+ID4gPiA+ ICAuLi4vcGxhdGZvcm0vc3VueGkvc3VuNmktY3NpL3N1bjZpX2NzaS5oICAgICAgfCAgMyArKwo+ ID4gPiA+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKQo+ID4gPiA+ID4gCj4g PiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zdW54aS9zdW42aS1j c2kvc3VuNmlfY3NpLmMKPiA+ID4gPiA+IGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zdW54aS9z dW42aS1jc2kvc3VuNmlfY3NpLmMgaW5kZXgKPiA+ID4gPiA+IGE4OGRlYjhiYTFlNy4uZjE4NWNi ZDExM2M3IDEwMDY0NAo+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9zdW54 aS9zdW42aS1jc2kvc3VuNmlfY3NpLmMKPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxh dGZvcm0vc3VueGkvc3VuNmktY3NpL3N1bjZpX2NzaS5jCj4gPiA+ID4gPiBAQCAtMjUsNiArMjUs MzUgQEAKPiA+ID4gPiA+ICAjaW5jbHVkZSAic3VuNmlfY3NpX2NhcHR1cmUuaCIKPiA+ID4gPiA+ ICAjaW5jbHVkZSAic3VuNmlfY3NpX3JlZy5oIgo+ID4gPiA+ID4gCj4gPiA+ID4gPiArLyogSVNQ ICovCj4gPiA+ID4gPiArCj4gPiA+ID4gPiArc3RhdGljIGJvb2wgc3VuNmlfY3NpX2lzcF9kZXRl Y3Qoc3RydWN0IHN1bjZpX2NzaV9kZXZpY2UgKmNzaV9kZXYpCj4gPiA+ID4gPiArewo+ID4gPiA+ ID4gKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSBjc2lfZGV2LT5kZXY7Cj4gPiA+ID4gPiArCXN0cnVj dCBmd25vZGVfaGFuZGxlICpoYW5kbGUgPSBOVUxMOwo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKwkv KiBJU1AgaXMgbm90IGF2YWlsYWJsZSBpZiBkaXNhYmxlZCBpbiBrZXJuZWwgY29uZmlnLiAqLwo+ ID4gPiA+ID4gKwlpZiAoIUlTX0VOQUJMRUQoQ09ORklHX1ZJREVPX1NVTjZJX0lTUCkpCj4gPiA+ ID4gCj4gPiA+ID4gV2hlcmUgaXMgdGhpcyBzeW1ib2wgZGVmaW5lZD8KPiA+ID4gCj4gPiA+IFRo YXQgaXMgZGVmaW5lZCB0aHJvdWdoIEtjb25maWcncyBhdXRvLWdlbmVyYXRlZCBoZWFkZXIsIGZy b20gdGhlIGFzc29jaWF0ZWQKPiA+ID4gb3B0aW9uIGZvciB0aGUgSVNQIGRyaXZlci4gSXQgaXMg ZGVmaW5lZCBpbiB0aGUgSVNQIHN1cHBvcnQgc2VyaWVzIHNvIHRoaXMKPiA+ID4gd2lsbCBlZmZl Y3RpdmVseSBhbHdheXMgYmUgZmFsc2UgZm9yIG5vdy4KPiA+IAo+ID4gQ2FuIHRoZSBJU1AgYmUg Y29tcGlsZWQgYXMgYSBtb2R1bGUsIGJ1dCB0aGUgQ1NJIGRyaXZlciBidWlsdC1pbj8KPiAKPiBJ IHRoaW5rIHNvIHllcywgSSBkb24ndCBzZWUgYW55IHJlYXNvbiB3aHkgbm90Lgo+IAo+ID4gSWYg c28sCj4gPiB0aGF0IHdvdWxkIGNyZWF0ZSBhIGRlcGVuZGVuY3kgZnJvbSB0aGUga2VybmVsIGlt YWdlIHRvIGEgbW9kdWxlLCB3aGljaAo+ID4gd29uJ3QgY29tcGlsZS4KPiAKPiBJIHRoaW5rIHRo aXMgd291bGQgaW50cm9kdWNlIGEgcnVuLXRpbWUgZGVwZW5kZW5jeSAoc3VuNmktY3NpIG5lZWRp bmcgc3VuNmktaXNwCj4gaW4gb3JkZXIgdG8gcmVnaXN0ZXIpIGJ1dCBJIGRvbid0IHVuZGVyc3Rh bmQgd2h5IGl0IHdvdWxkbid0IGNvbXBpbGUgdGhvdWdoLgo+IENvdWxkIHlvdSBlbGxhYm9yYXRl IGEgYml0PwoKTmV2ZXIgbWluZCwgdGhhdCB3YXMgYSBicmFpbmZhcnQsIEkgd2FzIHNvbWVob3cg dGhpbmtpbmcgeW91IHdlciBjYWxsaW5nCmEgZnVuY3Rpb24gdGhlcmUuCgpNYXhpbWUKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJu ZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK