From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (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 8DD6A2459BF; Wed, 15 Jan 2025 13:33:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736948004; cv=none; b=AsbB4ZxbFB30kT3TT/HGAV4m4Rc9k+LY2aTCyXSgSwJfZjB4C+Sm5fJZDEFfyB4j7Es7D/yj6xDBztGbCcfhCrjqUwun7YutUSMteLuyTQkdiGr17aVR6hueD48wmRPTdBgeZ93fcLkVbgzCiCSNtC9qXvjUwAmQAtj1HnCcrXI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736948004; c=relaxed/simple; bh=8JOGQGcW2ZWewo/KKlUGVpyO0dsZu2+5fVZtMSIarrA=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=bdoF82IyP/82geD0bkpKzEe35zQOL2YQuWeVfKSDfJfVG5ljMBiASu0Br+gvSwlX0LK0Oyhse+QHpOE4HjRd+vw+Ywt3tCcSS2ldeT/bjGL28/qNc65pzgsATMwI3BeuEjumfNq/C8wXw7Hi+OwIPtDWb0ugOdLrUgDvC/QHfP0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=fDhitdAE; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="fDhitdAE" Received: from [192.168.88.20] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 7F882526; Wed, 15 Jan 2025 14:32:21 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1736947942; bh=8JOGQGcW2ZWewo/KKlUGVpyO0dsZu2+5fVZtMSIarrA=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=fDhitdAEpi4x4vI7U/E5YZVaek0gB2u/TTS45eMq+neSseTaQ0kQaj+uu9f7l7jDp PzJ1EUx8yuUkcwotUbBDGDcB1oEBlwlwINzVJ8Eopn/oXZ75oGAykk4lrfsdw/sOXw Y9PORlJ7sPyTjNaCzaBAbXIft918iSL0pYK+YitM= Message-ID: Date: Wed, 15 Jan 2025 15:33:16 +0200 Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 25/25] drm/xlnx: Compute dumb-buffer sizes with drm_mode_size_dumb() To: Thomas Zimmermann , maarten.lankhorst@linux.intel.com, mripard@kernel.org, airlied@gmail.com, simona@ffwll.ch Cc: dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org, freedreno@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, imx@lists.linux.dev, linux-samsung-soc@vger.kernel.org, nouveau@lists.freedesktop.org, virtualization@lists.linux.dev, spice-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-tegra@vger.kernel.org, intel-xe@lists.freedesktop.org, xen-devel@lists.xenproject.org, Laurent Pinchart , Andy Yan References: <20250109150310.219442-1-tzimmermann@suse.de> <20250109150310.219442-26-tzimmermann@suse.de> <0ea6be58-0e04-4172-87cd-064a3e4a43bc@suse.de> Content-Language: en-US From: Tomi Valkeinen Autocrypt: addr=tomi.valkeinen@ideasonboard.com; keydata= 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 In-Reply-To: <0ea6be58-0e04-4172-87cd-064a3e4a43bc@suse.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi, On 15/01/2025 14:34, Thomas Zimmermann wrote: > Hi > > > Am 15.01.25 um 13:06 schrieb Tomi Valkeinen: >> Hi, >> >> On 15/01/2025 13:37, Thomas Zimmermann wrote: >>> Hi >>> >>> >>> Am 15.01.25 um 11:58 schrieb Tomi Valkeinen: >>> [...] >>>>> These are all good points. Did you read my discussion with Andy on >>>>> patch 2? I think it resolves all the points you have. The current >>>>> CREATE_DUMB >>>> >>>> I had missed the discussion, and, indeed, the patch you attached >>>> fixes the problem on Xilinx. >>> >>> Great. Thanks for testing. >>> >>>> >>>>> ioctl is unsuited for anything but the simple RGB formats. The bpp >>>> >>>> It's a bit difficult to use, but is it really unsuited? >>>> bitsperpixel, width and height do give an exact pitch and size, do >>>> they not? It does require the userspace to handle the subsampling >>>> and planes, though, so far from perfect. >>> >>> The bpp value sets the number of bits per pixel; except for bpp==15 >>> (XRGB1555), where it sets the color depth. OR bpp is the color depth; >>> except for bpp==32 (XRGB8888), where it is the number of bits per >>> pixel. It's therefore best to interpret it like a color-mode enum. >> >> Ah, right... That's horrible =). >> >> And I assume it's not really possible to define the bpp to mean bits >> per pixel, except for a few special cases like 15? >> >> Why do we even really care about color depth here? We're just >> allocating memory. Doesn't DIV_ROUND_UP(args->bpp, SZ_8) work fine for >> XRGB1555 too? > > Drivers always did that, but it does not work correctly for (bpp < 8). > As we already have helpers to deal with bpp, it makes sense to use > them.  This also aligns dumb buffers with the kernel's video= parameter, > which as the same odd semantics. The fallback that uses bpp directly > will hopefully be the exception. Hmm, well... If we had a 64-bit RGB format in the list of "legacy fb formats", I wouldn't have noticed anything. And if I would just use 32 as the bpp, and adjust width accordingly, it would also have worked. So, I expect the fallback to be an exception, And by working I mean that I can run my apps fine, but the internal operation would sure be odd: allocating any YUV buffer will cause drm_mode_size_dumb() to get an RGB format from drm_driver_color_mode_format(), and get a drm_format_info_min_pitch() for an RGB format. >>>> So, I'm all for a new ioctl, but I don't right away see why the >>>> current ioctl couldn't be used. Which makes me wonder about the >>>> drm_warn() in your patch, and the "userspace throws in arbitrary >>>> values for bpp and relies on the kernel to figure it out". Maybe I'm >>>> missing something here. >>> >>> I was unsure about the drm_warn() as well. It's not really wrong to >>> have odd bpp values, but handing in an unknown bpp value might point >>> to a user-space error. At least there should be a drm_dbg(). >>> >>>> >>>>> parameter is not very precise. The solution would be a new ioctl >>>>> call that receives the DRM format and returns a buffer for each >>>>> individual plane. >>>> >>>> Yes, I think that makes sense. That's a long road, though =). So my >>>> question is, is CREATE_DUMB really unsuitable for other than simple >>>> RGB formats, or can it be suitable if we just define how the >>>> userspace should use it for multiplanar, subsampled formats? >>> >>> That would duplicate format and hardware information in user-space. Some >> >> But we already have that, don't we? We have drivers and userspace that >> support, say, NV12 via dumb buffers. But (correct me if I'm wrong) we >> don't document how CREATE_DUMB has to be used to allocate multiplanar >> subsampled buffers, so the userspace devs have to "guess". > > Yeah, there are constrains in the scanline and buffer alignments and > orientation. And if we say that bpp==12 means NV12, it will be a problem > for all other cases where bpp==12 makes sense. I feel I still don't quite understand. Can't we define and document CREATE_DUMB like this: If (bpp < 8 || is_power_of_two(bpp)) bpp means bitsperpixel pitch is args->width * args->bpp / 8, aligned up to driver-specific-align else bpp is a legacy parameter, and we deal with it case by case. list the cases and what they mean And describe that when allocating subsampled buffers, the caller must adjust the width and height accordingly. And that the bpp and width can also refer to pixel groups. Or if the currently existing code prevents the above for 16 and 32 bpps, how about defining that any non-RGB or not-simple buffer has to be allocated with bpp=8, and the userspace has to align the pitch correctly according to the format and platform's hw restrictions? Tomi 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 2624EC02183 for ; Wed, 15 Jan 2025 13:33:30 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=PSAqTIeJuXxAuG5U4woCwj3oqUAawU2erkEYNOml6JE=; b=afCBPnmmFo9281 nQj7NGu3cIWY3dab8h3mhylF05w8Mws8HqggmyBy1yu6I0ib89XxeL1XL6rS98R0hQZXebST8rY7B bjq9MVGzaFq82s7IlVLCtcIi1Kf+bzwVGDg2R1ejvghf+/g9EmI2QDcRsWXL1v78134wqntf/IOn1 RibVbDAZkM8ClhOej9kAvITxkvh5/TfgwBNi/BmTCFQKPhy4bSBCdIOFxLtlSA/hhA/GNe9CzEyQQ 6qCkA3ocOulITCyQ1KtPCZsYXkE8TzCKqgIQYOTpsq4jUdif3RWkpScT5h2ubONzEoJj9p7wgmAl4 3lG8PbCdB2BG3V82BOsg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tY3WP-0000000BzGZ-2MTg; Wed, 15 Jan 2025 13:33:25 +0000 Received: from perceval.ideasonboard.com ([213.167.242.64]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tY3WM-0000000BzFP-0Kxv; Wed, 15 Jan 2025 13:33:23 +0000 Received: from [192.168.88.20] (91-158-153-178.elisa-laajakaista.fi [91.158.153.178]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 7F882526; Wed, 15 Jan 2025 14:32:21 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1736947942; bh=8JOGQGcW2ZWewo/KKlUGVpyO0dsZu2+5fVZtMSIarrA=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=fDhitdAEpi4x4vI7U/E5YZVaek0gB2u/TTS45eMq+neSseTaQ0kQaj+uu9f7l7jDp PzJ1EUx8yuUkcwotUbBDGDcB1oEBlwlwINzVJ8Eopn/oXZ75oGAykk4lrfsdw/sOXw Y9PORlJ7sPyTjNaCzaBAbXIft918iSL0pYK+YitM= Message-ID: Date: Wed, 15 Jan 2025 15:33:16 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 25/25] drm/xlnx: Compute dumb-buffer sizes with drm_mode_size_dumb() To: Thomas Zimmermann , maarten.lankhorst@linux.intel.com, mripard@kernel.org, airlied@gmail.com, simona@ffwll.ch Cc: dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org, freedreno@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, imx@lists.linux.dev, linux-samsung-soc@vger.kernel.org, nouveau@lists.freedesktop.org, virtualization@lists.linux.dev, spice-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-tegra@vger.kernel.org, intel-xe@lists.freedesktop.org, xen-devel@lists.xenproject.org, Laurent Pinchart , Andy Yan References: <20250109150310.219442-1-tzimmermann@suse.de> <20250109150310.219442-26-tzimmermann@suse.de> <0ea6be58-0e04-4172-87cd-064a3e4a43bc@suse.de> Content-Language: en-US From: Tomi Valkeinen Autocrypt: addr=tomi.valkeinen@ideasonboard.com; keydata= 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 In-Reply-To: <0ea6be58-0e04-4172-87cd-064a3e4a43bc@suse.de> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250115_053322_259001_9EA6B73B X-CRM114-Status: GOOD ( 28.69 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org SGksCgpPbiAxNS8wMS8yMDI1IDE0OjM0LCBUaG9tYXMgWmltbWVybWFubiB3cm90ZToKPiBIaQo+ IAo+IAo+IEFtIDE1LjAxLjI1IHVtIDEzOjA2IHNjaHJpZWIgVG9taSBWYWxrZWluZW46Cj4+IEhp LAo+Pgo+PiBPbiAxNS8wMS8yMDI1IDEzOjM3LCBUaG9tYXMgWmltbWVybWFubiB3cm90ZToKPj4+ IEhpCj4+Pgo+Pj4KPj4+IEFtIDE1LjAxLjI1IHVtIDExOjU4IHNjaHJpZWIgVG9taSBWYWxrZWlu ZW46Cj4+PiBbLi4uXQo+Pj4+PiBUaGVzZSBhcmUgYWxsIGdvb2QgcG9pbnRzLiBEaWQgeW91IHJl YWQgbXkgZGlzY3Vzc2lvbiB3aXRoIEFuZHkgb24gCj4+Pj4+IHBhdGNoIDI/IEkgdGhpbmsgaXQg cmVzb2x2ZXMgYWxsIHRoZSBwb2ludHMgeW91IGhhdmUuIFRoZSBjdXJyZW50IAo+Pj4+PiBDUkVB VEVfRFVNQiAKPj4+Pgo+Pj4+IEkgaGFkIG1pc3NlZCB0aGUgZGlzY3Vzc2lvbiwgYW5kLCBpbmRl ZWQsIHRoZSBwYXRjaCB5b3UgYXR0YWNoZWQgCj4+Pj4gZml4ZXMgdGhlIHByb2JsZW0gb24gWGls aW54Lgo+Pj4KPj4+IEdyZWF0LiBUaGFua3MgZm9yIHRlc3RpbmcuCj4+Pgo+Pj4+Cj4+Pj4+IGlv Y3RsIGlzIHVuc3VpdGVkIGZvciBhbnl0aGluZyBidXQgdGhlIHNpbXBsZSBSR0IgZm9ybWF0cy4g VGhlIGJwcCAKPj4+Pgo+Pj4+IEl0J3MgYSBiaXQgZGlmZmljdWx0IHRvIHVzZSwgYnV0IGlzIGl0 IHJlYWxseSB1bnN1aXRlZD8gCj4+Pj4gYml0c3BlcnBpeGVsLCB3aWR0aCBhbmQgaGVpZ2h0IGRv IGdpdmUgYW4gZXhhY3QgcGl0Y2ggYW5kIHNpemUsIGRvIAo+Pj4+IHRoZXkgbm90PyBJdCBkb2Vz IHJlcXVpcmUgdGhlIHVzZXJzcGFjZSB0byBoYW5kbGUgdGhlIHN1YnNhbXBsaW5nIAo+Pj4+IGFu ZCBwbGFuZXMsIHRob3VnaCwgc28gZmFyIGZyb20gcGVyZmVjdC4KPj4+Cj4+PiBUaGUgYnBwIHZh bHVlIHNldHMgdGhlIG51bWJlciBvZiBiaXRzIHBlciBwaXhlbDsgZXhjZXB0IGZvciBicHA9PTE1 IAo+Pj4gKFhSR0IxNTU1KSwgd2hlcmUgaXQgc2V0cyB0aGUgY29sb3IgZGVwdGguIE9SIGJwcCBp cyB0aGUgY29sb3IgZGVwdGg7IAo+Pj4gZXhjZXB0IGZvciBicHA9PTMyIChYUkdCODg4OCksIHdo ZXJlIGl0IGlzIHRoZSBudW1iZXIgb2YgYml0cyBwZXIgCj4+PiBwaXhlbC4gSXQncyB0aGVyZWZv cmUgYmVzdCB0byBpbnRlcnByZXQgaXQgbGlrZSBhIGNvbG9yLW1vZGUgZW51bS4KPj4KPj4gQWgs IHJpZ2h0Li4uIFRoYXQncyBob3JyaWJsZSA9KS4KPj4KPj4gQW5kIEkgYXNzdW1lIGl0J3Mgbm90 IHJlYWxseSBwb3NzaWJsZSB0byBkZWZpbmUgdGhlIGJwcCB0byBtZWFuIGJpdHMgCj4+IHBlciBw aXhlbCwgZXhjZXB0IGZvciBhIGZldyBzcGVjaWFsIGNhc2VzIGxpa2UgMTU/Cj4+Cj4+IFdoeSBk byB3ZSBldmVuIHJlYWxseSBjYXJlIGFib3V0IGNvbG9yIGRlcHRoIGhlcmU/IFdlJ3JlIGp1c3Qg Cj4+IGFsbG9jYXRpbmcgbWVtb3J5LiBEb2Vzbid0IERJVl9ST1VORF9VUChhcmdzLT5icHAsIFNa XzgpIHdvcmsgZmluZSBmb3IgCj4+IFhSR0IxNTU1IHRvbz8KPiAKPiBEcml2ZXJzIGFsd2F5cyBk aWQgdGhhdCwgYnV0IGl0IGRvZXMgbm90IHdvcmsgY29ycmVjdGx5IGZvciAoYnBwIDwgOCkuIAo+ IEFzIHdlIGFscmVhZHkgaGF2ZSBoZWxwZXJzIHRvIGRlYWwgd2l0aCBicHAsIGl0IG1ha2VzIHNl bnNlIHRvIHVzZSAKPiB0aGVtLsKgIFRoaXMgYWxzbyBhbGlnbnMgZHVtYiBidWZmZXJzIHdpdGgg dGhlIGtlcm5lbCdzIHZpZGVvPSBwYXJhbWV0ZXIsIAo+IHdoaWNoIGFzIHRoZSBzYW1lIG9kZCBz ZW1hbnRpY3MuIFRoZSBmYWxsYmFjayB0aGF0IHVzZXMgYnBwIGRpcmVjdGx5IAo+IHdpbGwgaG9w ZWZ1bGx5IGJlIHRoZSBleGNlcHRpb24uCgpIbW0sIHdlbGwuLi4gSWYgd2UgaGFkIGEgNjQtYml0 IFJHQiBmb3JtYXQgaW4gdGhlIGxpc3Qgb2YgImxlZ2FjeSBmYiAKZm9ybWF0cyIsIEkgd291bGRu J3QgaGF2ZSBub3RpY2VkIGFueXRoaW5nLiBBbmQgaWYgSSB3b3VsZCBqdXN0IHVzZSAzMiAKYXMg dGhlIGJwcCwgYW5kIGFkanVzdCB3aWR0aCBhY2NvcmRpbmdseSwgaXQgd291bGQgYWxzbyBoYXZl IHdvcmtlZC4gU28sIApJIGV4cGVjdCB0aGUgZmFsbGJhY2sgdG8gYmUgYW4gZXhjZXB0aW9uLAoK QW5kIGJ5IHdvcmtpbmcgSSBtZWFuIHRoYXQgSSBjYW4gcnVuIG15IGFwcHMgZmluZSwgYnV0IHRo ZSBpbnRlcm5hbCAKb3BlcmF0aW9uIHdvdWxkIHN1cmUgYmUgb2RkOiBhbGxvY2F0aW5nIGFueSBZ VVYgYnVmZmVyIHdpbGwgY2F1c2UgCmRybV9tb2RlX3NpemVfZHVtYigpIHRvIGdldCBhbiBSR0Ig Zm9ybWF0IGZyb20gCmRybV9kcml2ZXJfY29sb3JfbW9kZV9mb3JtYXQoKSwgYW5kIGdldCBhIGRy bV9mb3JtYXRfaW5mb19taW5fcGl0Y2goKSAKZm9yIGFuIFJHQiBmb3JtYXQuCgo+Pj4+IFNvLCBJ J20gYWxsIGZvciBhIG5ldyBpb2N0bCwgYnV0IEkgZG9uJ3QgcmlnaHQgYXdheSBzZWUgd2h5IHRo ZSAKPj4+PiBjdXJyZW50IGlvY3RsIGNvdWxkbid0IGJlIHVzZWQuIFdoaWNoIG1ha2VzIG1lIHdv bmRlciBhYm91dCB0aGUgCj4+Pj4gZHJtX3dhcm4oKSBpbiB5b3VyIHBhdGNoLCBhbmQgdGhlICJ1 c2Vyc3BhY2UgdGhyb3dzIGluIGFyYml0cmFyeSAKPj4+PiB2YWx1ZXMgZm9yIGJwcCBhbmQgcmVs aWVzIG9uIHRoZSBrZXJuZWwgdG8gZmlndXJlIGl0IG91dCIuIE1heWJlIEknbSAKPj4+PiBtaXNz aW5nIHNvbWV0aGluZyBoZXJlLgo+Pj4KPj4+IEkgd2FzIHVuc3VyZSBhYm91dCB0aGUgZHJtX3dh cm4oKSBhcyB3ZWxsLiBJdCdzIG5vdCByZWFsbHkgd3JvbmcgdG8gCj4+PiBoYXZlIG9kZCBicHAg dmFsdWVzLCBidXQgaGFuZGluZyBpbiBhbiB1bmtub3duIGJwcCB2YWx1ZSBtaWdodCBwb2ludCAK Pj4+IHRvIGEgdXNlci1zcGFjZSBlcnJvci4gQXQgbGVhc3QgdGhlcmUgc2hvdWxkIGJlIGEgZHJt X2RiZygpLgo+Pj4KPj4+Pgo+Pj4+PiBwYXJhbWV0ZXIgaXMgbm90IHZlcnkgcHJlY2lzZS4gVGhl IHNvbHV0aW9uIHdvdWxkIGJlIGEgbmV3IGlvY3RsIAo+Pj4+PiBjYWxsIHRoYXQgcmVjZWl2ZXMg dGhlIERSTSBmb3JtYXQgYW5kIHJldHVybnMgYSBidWZmZXIgZm9yIGVhY2ggCj4+Pj4+IGluZGl2 aWR1YWwgcGxhbmUuCj4+Pj4KPj4+PiBZZXMsIEkgdGhpbmsgdGhhdCBtYWtlcyBzZW5zZS4gVGhh dCdzIGEgbG9uZyByb2FkLCB0aG91Z2ggPSkuIFNvIG15IAo+Pj4+IHF1ZXN0aW9uIGlzLCBpcyBD UkVBVEVfRFVNQiByZWFsbHkgdW5zdWl0YWJsZSBmb3Igb3RoZXIgdGhhbiBzaW1wbGUgCj4+Pj4g UkdCIGZvcm1hdHMsIG9yIGNhbiBpdCBiZSBzdWl0YWJsZSBpZiB3ZSBqdXN0IGRlZmluZSBob3cg dGhlIAo+Pj4+IHVzZXJzcGFjZSBzaG91bGQgdXNlIGl0IGZvciBtdWx0aXBsYW5hciwgc3Vic2Ft cGxlZCBmb3JtYXRzPwo+Pj4KPj4+IFRoYXQgd291bGQgZHVwbGljYXRlIGZvcm1hdCBhbmQgaGFy ZHdhcmUgaW5mb3JtYXRpb24gaW4gdXNlci1zcGFjZS4gU29tZSAKPj4KPj4gQnV0IHdlIGFscmVh ZHkgaGF2ZSB0aGF0LCBkb24ndCB3ZT8gV2UgaGF2ZSBkcml2ZXJzIGFuZCB1c2Vyc3BhY2UgdGhh dCAKPj4gc3VwcG9ydCwgc2F5LCBOVjEyIHZpYSBkdW1iIGJ1ZmZlcnMuIEJ1dCAoY29ycmVjdCBt ZSBpZiBJJ20gd3JvbmcpIHdlIAo+PiBkb24ndCBkb2N1bWVudCBob3cgQ1JFQVRFX0RVTUIgaGFz IHRvIGJlIHVzZWQgdG8gYWxsb2NhdGUgbXVsdGlwbGFuYXIgCj4+IHN1YnNhbXBsZWQgYnVmZmVy cywgc28gdGhlIHVzZXJzcGFjZSBkZXZzIGhhdmUgdG8gImd1ZXNzIi4KPiAKPiBZZWFoLCB0aGVy ZSBhcmUgY29uc3RyYWlucyBpbiB0aGUgc2NhbmxpbmUgYW5kIGJ1ZmZlciBhbGlnbm1lbnRzIGFu ZCAKPiBvcmllbnRhdGlvbi4gQW5kIGlmIHdlIHNheSB0aGF0IGJwcD09MTIgbWVhbnMgTlYxMiwg aXQgd2lsbCBiZSBhIHByb2JsZW0gCj4gZm9yIGFsbCBvdGhlciBjYXNlcyB3aGVyZSBicHA9PTEy IG1ha2VzIHNlbnNlLgoKSSBmZWVsIEkgc3RpbGwgZG9uJ3QgcXVpdGUgdW5kZXJzdGFuZC4gQ2Fu J3Qgd2UgZGVmaW5lIGFuZCBkb2N1bWVudCAKQ1JFQVRFX0RVTUIgbGlrZSB0aGlzOgoKSWYgKGJw cCA8IDggfHwgaXNfcG93ZXJfb2ZfdHdvKGJwcCkpCglicHAgbWVhbnMgYml0c3BlcnBpeGVsCglw aXRjaCBpcyBhcmdzLT53aWR0aCAqIGFyZ3MtPmJwcCAvIDgsIGFsaWduZWQgdXAgdG8gZHJpdmVy LXNwZWNpZmljLWFsaWduCmVsc2UKCWJwcCBpcyBhIGxlZ2FjeSBwYXJhbWV0ZXIsIGFuZCB3ZSBk ZWFsIHdpdGggaXQgY2FzZSBieSBjYXNlLgoJbGlzdCB0aGUgY2FzZXMgYW5kIHdoYXQgdGhleSBt ZWFuCgpBbmQgZGVzY3JpYmUgdGhhdCB3aGVuIGFsbG9jYXRpbmcgc3Vic2FtcGxlZCBidWZmZXJz LCB0aGUgY2FsbGVyIG11c3QgCmFkanVzdCB0aGUgd2lkdGggYW5kIGhlaWdodCBhY2NvcmRpbmds eS4gQW5kIHRoYXQgdGhlIGJwcCBhbmQgd2lkdGggY2FuIAphbHNvIHJlZmVyIHRvIHBpeGVsIGdy b3Vwcy4KCk9yIGlmIHRoZSBjdXJyZW50bHkgZXhpc3RpbmcgY29kZSBwcmV2ZW50cyB0aGUgYWJv dmUgZm9yIDE2IGFuZCAzMiBicHBzLCAKaG93IGFib3V0IGRlZmluaW5nIHRoYXQgYW55IG5vbi1S R0Igb3Igbm90LXNpbXBsZSBidWZmZXIgaGFzIHRvIGJlIAphbGxvY2F0ZWQgd2l0aCBicHA9OCwg YW5kIHRoZSB1c2Vyc3BhY2UgaGFzIHRvIGFsaWduIHRoZSBwaXRjaCBjb3JyZWN0bHkgCmFjY29y ZGluZyB0byB0aGUgZm9ybWF0IGFuZCBwbGF0Zm9ybSdzIGh3IHJlc3RyaWN0aW9ucz8KCiAgVG9t aQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4 LXJvY2tjaGlwIG1haWxpbmcgbGlzdApMaW51eC1yb2NrY2hpcEBsaXN0cy5pbmZyYWRlYWQub3Jn Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcm9ja2No aXAK