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.3 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 1E8FCC433DB for ; Thu, 18 Feb 2021 22:01:04 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id B361164E77 for ; Thu, 18 Feb 2021 22:01:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229812AbhBRWA6 (ORCPT ); Thu, 18 Feb 2021 17:00:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58260 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229652AbhBRWAv (ORCPT ); Thu, 18 Feb 2021 17:00:51 -0500 Received: from mail-pf1-x42a.google.com (mail-pf1-x42a.google.com [IPv6:2607:f8b0:4864:20::42a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7BC3AC061574 for ; Thu, 18 Feb 2021 14:00:11 -0800 (PST) Received: by mail-pf1-x42a.google.com with SMTP id m6so2303202pfk.1 for ; Thu, 18 Feb 2021 14:00:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=64rDDh4SwE3XHexhzXLBkyrNAIk1OIDiGQXhmKbervM=; b=nR90bQsbPs93+ZJdKKlcfq/gk5/Zx7n4RHCBUrBw1LWZoKFpKiO5vBV75uKnalgnkH z4+XrzaoeM4VpR+c7hx5HHK6LZpPdH1D0XIpnHM9sPXWXNTvWWRSQuYvd+HXwP2toDwm 4fXmRiGL6ISzEATxgd/r/5H77cZdtS/pmy1JAcMIUNrbcU+HoYFXqNC9cV11uYu6k+P4 RROAoWISukdcFfJM6Wd6RlBCHk8gcLVjTSydBHOn7ZNs4lQ5Vyin0p/L51W5PX+PlIdc d3LC1X3twujFy13/6KaJSm+ApsGdgrcQmEXesMdkHtdIx9mDjaCfNJ5TP8K3ghq1fWQl G5DA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; 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=64rDDh4SwE3XHexhzXLBkyrNAIk1OIDiGQXhmKbervM=; b=TXXotm1x1seb14suEYKBwkRISjA+VAlTUve/TOfcc3zOZ5YIv+wJ3hBbEJflV6rHox XWyL7hRXUP/LakUbAVHMWPhgQnPjTkr+YG3/VDjOB6vbybtG9lSUO1wEgBNtFMX6pOoQ YOfSBngjQyOpQpkY0BLx0wyT5cSthLJ6MRTEpJo6fxW7FVCbBv5eP1bZmeP/76g+p+L4 ehGpAIb7P52tbNXVEV8HTSlfO26hbx1MGM+MKBBFZEq8xdO7oKdCVhYAPQ2Z5UsUvItP +ZkbtQ4EPH/+V7FxIg516BePuim2MSRX/QfuzPaw2dip0Xj4d3oK7yfEU1M5tQIUwz+U q/mg== X-Gm-Message-State: AOAM533s+GkXG/pBgUR3d+gqQ5QQxw8QQvg8dBrYSGB5+ODRPXOdORQE rq6YKDRflIvZVJZZmdABrfo= X-Google-Smtp-Source: ABdhPJy7wshfiVW3Tab6/S+m2wfgyaX4Dv17AXeR8rbgRIVgHDvdAWKYQ8T9xBoFCQZTCGdilGCc0g== X-Received: by 2002:a62:6106:0:b029:1ec:c566:5a5b with SMTP id v6-20020a6261060000b02901ecc5665a5bmr6443823pfb.32.1613685610771; Thu, 18 Feb 2021 14:00:10 -0800 (PST) Received: from [10.230.29.30] ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id p11sm11467434pjb.3.2021.02.18.14.00.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 18 Feb 2021 14:00:10 -0800 (PST) Subject: Re: 5.10 LTS Kernel: 2 or 6 years? To: Sasha Levin , Scott Branden Cc: Greg Kroah-Hartman , Willy Tarreau , Florian Fainelli , BCM Kernel Feedback , LKML , Linux ARM References: <8cf503db-ac4c-a546-13c0-aac6da5c073b@broadcom.com> <20210218165104.GC2013@sasha-vm> <00b9e2fb-d818-58d6-edae-4dbd6aa814f7@gmail.com> <20210218182050.GB15217@1wt.eu> <20210218213925.GD2013@sasha-vm> From: Florian Fainelli Message-ID: Date: Thu, 18 Feb 2021 14:00:06 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 Thunderbird/78.7.1 MIME-Version: 1.0 In-Reply-To: <20210218213925.GD2013@sasha-vm> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2/18/2021 1:39 PM, Sasha Levin wrote: > On Thu, Feb 18, 2021 at 12:16:50PM -0800, Scott Branden wrote: >> On 2021-02-18 10:36 a.m., Greg Kroah-Hartman wrote: >>> On Thu, Feb 18, 2021 at 07:20:50PM +0100, Willy Tarreau wrote: >>>> On Thu, Feb 18, 2021 at 06:53:56PM +0100, Greg Kroah-Hartman wrote: >>>>> On Thu, Feb 18, 2021 at 09:21:13AM -0800, Florian Fainelli wrote: >>>>>> As a company, we are most likely shooting ourselves in the foot by >>>>>> not >>>>>> having a point of coordination with the Linux Foundation and key >>>>>> people >>>>>> like you, Greg and other participants in the stable kernel. >>>>> >>>>> What does the LF have to do with this? >>>>> >>>>> We are here, on the mailing lists, working with everyone.  Just >>>>> test the >>>>> -rc releases we make and let us know if they work or not for you, it's >>>>> not a lot of "coordination" needed at all. >>>>> >>>>> Otherwise, if no one is saying that they are going to need these for 6 >>>>> years and are willing to use it in their project (i.e. and test it), >>>>> there's no need for us to maintain it for that long, right? >>>> >>>> Greg, please remember I expressed I really need them for slightly >>>> more than >>>> 3 years (say 3.5-4) :-) I'm fine with helping a bit more as time >>>> permits if >>>> this saves me from having to take over these kernels after you, like >>>> in the >>>> past, but I cannot engage on the regularity of my availability. >>> >>> Ok, great! >>> >>> That's one person/company saying they can help out (along with what CIP >>> has been stating.) >>> >>> What about others?  Broadcom started this conversation, odd that they >>> don't seem to want to help out :) >> Greg, I'm sorry but I'm not in a position to provide such a commitment. >> >> My original question arose because the 5.10 kernel is declared as 2 >> years LTS while older LTS kernels are now 6 years. >> One problem this has created is requests to provide silicon support in >> an older kernel version (for a new project) rather than starting from >> a newer kernel version that more properly supports the (silicon and >> non-silicon) features. > > So this sounds like you have boatloads of out-of-tree code and need a > stable kernel to avoid having to rebase that code. This is not why the > LTS trees are around. > > For new projects, the easiest route is to upstream your stuff and ship > the latest kernel. Agreed, however no matter how good you are at upstreaming your changes, there is always a delta that you keep accumulating, it is just the reality of things be it because a specific piece of code was just harder to upstream you missed multiple kernel versions, or it was not suitable, or it changed, or anything. Not everything goes upstream even if that gets closer and closer to zero if you do a good job at it. > >> If all LTS kernels were declared as 3.5-4 years as Willy commented >> this would solve a few issues. >> 6 year LTS kernels would only have a maximum 1 year lifespan over the >> latest declared LTS kernel. >> Also, many products take a year or more to develop, there isn't any >> life left in an LTS kernel if it is only 2 years. > > Products are supposed to upgrade their kernel. If you released something > with, for example, a 5.4 kernel, doesn't mean you're forever stuck on a > 5.4 kernel for that product. The are lots of Android devices manufacturers that launch using of the 3 kernel versions supported by the given Android release they targeted and they do not update the kernel version ever after that. > >> After 1-3 years of kernel age the relevant parties that want to invest >> and care about supporting specific kernel versions longer should >> become apparent and could commit to longer support.  Perhaps you move >> the burden of 6 years LTS elsewhere to longer term projects.  But, I'm >> sure many are happy because you continue doing such a great job in a >> central location, especially those whose product lifespan is around 6 >> years. > > But this is exactly what's happening now: we support LTS kernels for two > years, and after that interested parties can figure it out on their own > if it's worth it for them to keep going. > -- Florian 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=-2.2 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,URIBL_BLOCKED,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 30DCBC433DB for ; Thu, 18 Feb 2021 22:02:30 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 BE0DA64E77 for ; Thu, 18 Feb 2021 22:02:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BE0DA64E77 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=GOlvz6YAqSSqnG5k75y2LGQRDAc6F0GkeawvOCAH3C8=; b=rfwWKQ8CJHkBHowww5dhKnkw1 aGALbIQOXZIeVgUWY39bx9EQ3GIB1yGz6xhNqXGjU+3bmQhRzJgYwYg8LqWtQNhm5bTQ1mMeR7cge nt1O37s1YjmgNFjtkkcz9zy/8N7yMWJ88OqdqVagPMQkk+1ScdYKZ+ZwwqDkZKo0DqsMrKTMlJrRe xz0V1DYomq9dyv8znYrpTFqhQeTdx0qIzyEuSqk2L/4iIAAd1BnWaPw9oshGiEHJn7k1L+rrKG0+I 702SYm/udVqliRsCkYju5H7IzXzKSs+Q58HQrskn8VOKmhzTPtGuX61DGle6kkaNSkQypsMgpbQMF Y/WQFcgkA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lCrLN-0001Ks-19; Thu, 18 Feb 2021 22:00:17 +0000 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lCrLK-0001KQ-N8 for linux-arm-kernel@lists.infradead.org; Thu, 18 Feb 2021 22:00:15 +0000 Received: by mail-pf1-x42c.google.com with SMTP id j12so2267766pfj.12 for ; Thu, 18 Feb 2021 14:00:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=64rDDh4SwE3XHexhzXLBkyrNAIk1OIDiGQXhmKbervM=; b=nR90bQsbPs93+ZJdKKlcfq/gk5/Zx7n4RHCBUrBw1LWZoKFpKiO5vBV75uKnalgnkH z4+XrzaoeM4VpR+c7hx5HHK6LZpPdH1D0XIpnHM9sPXWXNTvWWRSQuYvd+HXwP2toDwm 4fXmRiGL6ISzEATxgd/r/5H77cZdtS/pmy1JAcMIUNrbcU+HoYFXqNC9cV11uYu6k+P4 RROAoWISukdcFfJM6Wd6RlBCHk8gcLVjTSydBHOn7ZNs4lQ5Vyin0p/L51W5PX+PlIdc d3LC1X3twujFy13/6KaJSm+ApsGdgrcQmEXesMdkHtdIx9mDjaCfNJ5TP8K3ghq1fWQl G5DA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; 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=64rDDh4SwE3XHexhzXLBkyrNAIk1OIDiGQXhmKbervM=; b=DkWT8TU8i7J8rRqrbwjLTXHhe5d++smn3QEv/cn5x6v2ZrqpMQgkj3gjigYrUIpaZW 55ueciQ2aRvAzO6Rj5s/ia1S/Bde7J7wipYjixgO2cnoXXYVHeUSE4cIklYJg9VkuGIS 8LuVHR4iaGCTvu3MMRybSw2tAR8HcS9DzVM7sOjTT3nq7MAaVqxokkJUBTsp1h2QU+0G VzxCy/s8fWE3biXYVW2vBuc8JyPn7KfdeVauSw5s+slsY9X6zepGb/xayelTeKSjitF/ ORYsdbXz8S2no8qyPkKl8CaSslFNjaZp93Qg6/EQ1UiwC+Adet3zbhzoSK7PDM8Zn9/b TQHQ== X-Gm-Message-State: AOAM530t+OSIiCmcwJZSrLtFSgPR9Pe3R9DxSoMTbUuXwl5lsn4ORLo8 r7ar4gPlNCwJ1eoyo5ePobpyXyPDfCg= X-Google-Smtp-Source: ABdhPJy7wshfiVW3Tab6/S+m2wfgyaX4Dv17AXeR8rbgRIVgHDvdAWKYQ8T9xBoFCQZTCGdilGCc0g== X-Received: by 2002:a62:6106:0:b029:1ec:c566:5a5b with SMTP id v6-20020a6261060000b02901ecc5665a5bmr6443823pfb.32.1613685610771; Thu, 18 Feb 2021 14:00:10 -0800 (PST) Received: from [10.230.29.30] ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id p11sm11467434pjb.3.2021.02.18.14.00.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 18 Feb 2021 14:00:10 -0800 (PST) Subject: Re: 5.10 LTS Kernel: 2 or 6 years? To: Sasha Levin , Scott Branden References: <8cf503db-ac4c-a546-13c0-aac6da5c073b@broadcom.com> <20210218165104.GC2013@sasha-vm> <00b9e2fb-d818-58d6-edae-4dbd6aa814f7@gmail.com> <20210218182050.GB15217@1wt.eu> <20210218213925.GD2013@sasha-vm> From: Florian Fainelli Message-ID: Date: Thu, 18 Feb 2021 14:00:06 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 Thunderbird/78.7.1 MIME-Version: 1.0 In-Reply-To: <20210218213925.GD2013@sasha-vm> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210218_170014_812948_C4D05BB0 X-CRM114-Status: GOOD ( 29.10 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Florian Fainelli , Greg Kroah-Hartman , LKML , BCM Kernel Feedback , Willy Tarreau , Linux ARM 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 CgpPbiAyLzE4LzIwMjEgMTozOSBQTSwgU2FzaGEgTGV2aW4gd3JvdGU6Cj4gT24gVGh1LCBGZWIg MTgsIDIwMjEgYXQgMTI6MTY6NTBQTSAtMDgwMCwgU2NvdHQgQnJhbmRlbiB3cm90ZToKPj4gT24g MjAyMS0wMi0xOCAxMDozNiBhLm0uLCBHcmVnIEtyb2FoLUhhcnRtYW4gd3JvdGU6Cj4+PiBPbiBU aHUsIEZlYiAxOCwgMjAyMSBhdCAwNzoyMDo1MFBNICswMTAwLCBXaWxseSBUYXJyZWF1IHdyb3Rl Ogo+Pj4+IE9uIFRodSwgRmViIDE4LCAyMDIxIGF0IDA2OjUzOjU2UE0gKzAxMDAsIEdyZWcgS3Jv YWgtSGFydG1hbiB3cm90ZToKPj4+Pj4gT24gVGh1LCBGZWIgMTgsIDIwMjEgYXQgMDk6MjE6MTNB TSAtMDgwMCwgRmxvcmlhbiBGYWluZWxsaSB3cm90ZToKPj4+Pj4+IEFzIGEgY29tcGFueSwgd2Ug YXJlIG1vc3QgbGlrZWx5IHNob290aW5nIG91cnNlbHZlcyBpbiB0aGUgZm9vdCBieQo+Pj4+Pj4g bm90Cj4+Pj4+PiBoYXZpbmcgYSBwb2ludCBvZiBjb29yZGluYXRpb24gd2l0aCB0aGUgTGludXgg Rm91bmRhdGlvbiBhbmQga2V5Cj4+Pj4+PiBwZW9wbGUKPj4+Pj4+IGxpa2UgeW91LCBHcmVnIGFu ZCBvdGhlciBwYXJ0aWNpcGFudHMgaW4gdGhlIHN0YWJsZSBrZXJuZWwuCj4+Pj4+Cj4+Pj4+IFdo YXQgZG9lcyB0aGUgTEYgaGF2ZSB0byBkbyB3aXRoIHRoaXM/Cj4+Pj4+Cj4+Pj4+IFdlIGFyZSBo ZXJlLCBvbiB0aGUgbWFpbGluZyBsaXN0cywgd29ya2luZyB3aXRoIGV2ZXJ5b25lLsKgIEp1c3QK Pj4+Pj4gdGVzdCB0aGUKPj4+Pj4gLXJjIHJlbGVhc2VzIHdlIG1ha2UgYW5kIGxldCB1cyBrbm93 IGlmIHRoZXkgd29yayBvciBub3QgZm9yIHlvdSwgaXQncwo+Pj4+PiBub3QgYSBsb3Qgb2YgImNv b3JkaW5hdGlvbiIgbmVlZGVkIGF0IGFsbC4KPj4+Pj4KPj4+Pj4gT3RoZXJ3aXNlLCBpZiBubyBv bmUgaXMgc2F5aW5nIHRoYXQgdGhleSBhcmUgZ29pbmcgdG8gbmVlZCB0aGVzZSBmb3IgNgo+Pj4+ PiB5ZWFycyBhbmQgYXJlIHdpbGxpbmcgdG8gdXNlIGl0IGluIHRoZWlyIHByb2plY3QgKGkuZS4g YW5kIHRlc3QgaXQpLAo+Pj4+PiB0aGVyZSdzIG5vIG5lZWQgZm9yIHVzIHRvIG1haW50YWluIGl0 IGZvciB0aGF0IGxvbmcsIHJpZ2h0Pwo+Pj4+Cj4+Pj4gR3JlZywgcGxlYXNlIHJlbWVtYmVyIEkg ZXhwcmVzc2VkIEkgcmVhbGx5IG5lZWQgdGhlbSBmb3Igc2xpZ2h0bHkKPj4+PiBtb3JlIHRoYW4K Pj4+PiAzIHllYXJzIChzYXkgMy41LTQpIDotKSBJJ20gZmluZSB3aXRoIGhlbHBpbmcgYSBiaXQg bW9yZSBhcyB0aW1lCj4+Pj4gcGVybWl0cyBpZgo+Pj4+IHRoaXMgc2F2ZXMgbWUgZnJvbSBoYXZp bmcgdG8gdGFrZSBvdmVyIHRoZXNlIGtlcm5lbHMgYWZ0ZXIgeW91LCBsaWtlCj4+Pj4gaW4gdGhl Cj4+Pj4gcGFzdCwgYnV0IEkgY2Fubm90IGVuZ2FnZSBvbiB0aGUgcmVndWxhcml0eSBvZiBteSBh dmFpbGFiaWxpdHkuCj4+Pgo+Pj4gT2ssIGdyZWF0IQo+Pj4KPj4+IFRoYXQncyBvbmUgcGVyc29u L2NvbXBhbnkgc2F5aW5nIHRoZXkgY2FuIGhlbHAgb3V0IChhbG9uZyB3aXRoIHdoYXQgQ0lQCj4+ PiBoYXMgYmVlbiBzdGF0aW5nLikKPj4+Cj4+PiBXaGF0IGFib3V0IG90aGVycz/CoCBCcm9hZGNv bSBzdGFydGVkIHRoaXMgY29udmVyc2F0aW9uLCBvZGQgdGhhdCB0aGV5Cj4+PiBkb24ndCBzZWVt IHRvIHdhbnQgdG8gaGVscCBvdXQgOikKPj4gR3JlZywgSSdtIHNvcnJ5IGJ1dCBJJ20gbm90IGlu IGEgcG9zaXRpb24gdG8gcHJvdmlkZSBzdWNoIGEgY29tbWl0bWVudC4KPj4KPj4gTXkgb3JpZ2lu YWwgcXVlc3Rpb24gYXJvc2UgYmVjYXVzZSB0aGUgNS4xMCBrZXJuZWwgaXMgZGVjbGFyZWQgYXMg Mgo+PiB5ZWFycyBMVFMgd2hpbGUgb2xkZXIgTFRTIGtlcm5lbHMgYXJlIG5vdyA2IHllYXJzLgo+ PiBPbmUgcHJvYmxlbSB0aGlzIGhhcyBjcmVhdGVkIGlzIHJlcXVlc3RzIHRvIHByb3ZpZGUgc2ls aWNvbiBzdXBwb3J0IGluCj4+IGFuIG9sZGVyIGtlcm5lbCB2ZXJzaW9uIChmb3IgYSBuZXcgcHJv amVjdCkgcmF0aGVyIHRoYW4gc3RhcnRpbmcgZnJvbQo+PiBhIG5ld2VyIGtlcm5lbCB2ZXJzaW9u IHRoYXQgbW9yZSBwcm9wZXJseSBzdXBwb3J0cyB0aGUgKHNpbGljb24gYW5kCj4+IG5vbi1zaWxp Y29uKSBmZWF0dXJlcy4KPiAKPiBTbyB0aGlzIHNvdW5kcyBsaWtlIHlvdSBoYXZlIGJvYXRsb2Fk cyBvZiBvdXQtb2YtdHJlZSBjb2RlIGFuZCBuZWVkIGEKPiBzdGFibGUga2VybmVsIHRvIGF2b2lk IGhhdmluZyB0byByZWJhc2UgdGhhdCBjb2RlLiBUaGlzIGlzIG5vdCB3aHkgdGhlCj4gTFRTIHRy ZWVzIGFyZSBhcm91bmQuCj4gCj4gRm9yIG5ldyBwcm9qZWN0cywgdGhlIGVhc2llc3Qgcm91dGUg aXMgdG8gdXBzdHJlYW0geW91ciBzdHVmZiBhbmQgc2hpcAo+IHRoZSBsYXRlc3Qga2VybmVsLgoK QWdyZWVkLCBob3dldmVyIG5vIG1hdHRlciBob3cgZ29vZCB5b3UgYXJlIGF0IHVwc3RyZWFtaW5n IHlvdXIgY2hhbmdlcywKdGhlcmUgaXMgYWx3YXlzIGEgZGVsdGEgdGhhdCB5b3Uga2VlcCBhY2N1 bXVsYXRpbmcsIGl0IGlzIGp1c3QgdGhlCnJlYWxpdHkgb2YgdGhpbmdzIGJlIGl0IGJlY2F1c2Ug YSBzcGVjaWZpYyBwaWVjZSBvZiBjb2RlIHdhcyBqdXN0IGhhcmRlcgp0byB1cHN0cmVhbSB5b3Ug bWlzc2VkIG11bHRpcGxlIGtlcm5lbCB2ZXJzaW9ucywgb3IgaXQgd2FzIG5vdCBzdWl0YWJsZSwK b3IgaXQgY2hhbmdlZCwgb3IgYW55dGhpbmcuIE5vdCBldmVyeXRoaW5nIGdvZXMgdXBzdHJlYW0g ZXZlbiBpZiB0aGF0CmdldHMgY2xvc2VyIGFuZCBjbG9zZXIgdG8gemVybyBpZiB5b3UgZG8gYSBn b29kIGpvYiBhdCBpdC4KCj4gCj4+IElmIGFsbCBMVFMga2VybmVscyB3ZXJlIGRlY2xhcmVkIGFz IDMuNS00IHllYXJzIGFzIFdpbGx5IGNvbW1lbnRlZAo+PiB0aGlzIHdvdWxkIHNvbHZlIGEgZmV3 IGlzc3Vlcy4KPj4gNiB5ZWFyIExUUyBrZXJuZWxzIHdvdWxkIG9ubHkgaGF2ZSBhIG1heGltdW0g MSB5ZWFyIGxpZmVzcGFuIG92ZXIgdGhlCj4+IGxhdGVzdCBkZWNsYXJlZCBMVFMga2VybmVsLgo+ PiBBbHNvLCBtYW55IHByb2R1Y3RzIHRha2UgYSB5ZWFyIG9yIG1vcmUgdG8gZGV2ZWxvcCwgdGhl cmUgaXNuJ3QgYW55Cj4+IGxpZmUgbGVmdCBpbiBhbiBMVFMga2VybmVsIGlmIGl0IGlzIG9ubHkg MiB5ZWFycy4KPiAKPiBQcm9kdWN0cyBhcmUgc3VwcG9zZWQgdG8gdXBncmFkZSB0aGVpciBrZXJu ZWwuIElmIHlvdSByZWxlYXNlZCBzb21ldGhpbmcKPiB3aXRoLCBmb3IgZXhhbXBsZSwgYSA1LjQg a2VybmVsLCBkb2Vzbid0IG1lYW4geW91J3JlIGZvcmV2ZXIgc3R1Y2sgb24gYQo+IDUuNCBrZXJu ZWwgZm9yIHRoYXQgcHJvZHVjdC4KClRoZSBhcmUgbG90cyBvZiBBbmRyb2lkIGRldmljZXMgbWFu dWZhY3R1cmVycyB0aGF0IGxhdW5jaCB1c2luZyBvZiB0aGUgMwprZXJuZWwgdmVyc2lvbnMgc3Vw cG9ydGVkIGJ5IHRoZSBnaXZlbiBBbmRyb2lkIHJlbGVhc2UgdGhleSB0YXJnZXRlZCBhbmQKdGhl eSBkbyBub3QgdXBkYXRlIHRoZSBrZXJuZWwgdmVyc2lvbiBldmVyIGFmdGVyIHRoYXQuCgo+IAo+ PiBBZnRlciAxLTMgeWVhcnMgb2Yga2VybmVsIGFnZSB0aGUgcmVsZXZhbnQgcGFydGllcyB0aGF0 IHdhbnQgdG8gaW52ZXN0Cj4+IGFuZCBjYXJlIGFib3V0IHN1cHBvcnRpbmcgc3BlY2lmaWMga2Vy bmVsIHZlcnNpb25zIGxvbmdlciBzaG91bGQKPj4gYmVjb21lIGFwcGFyZW50IGFuZCBjb3VsZCBj b21taXQgdG8gbG9uZ2VyIHN1cHBvcnQuwqAgUGVyaGFwcyB5b3UgbW92ZQo+PiB0aGUgYnVyZGVu IG9mIDYgeWVhcnMgTFRTIGVsc2V3aGVyZSB0byBsb25nZXIgdGVybSBwcm9qZWN0cy7CoCBCdXQs IEknbQo+PiBzdXJlIG1hbnkgYXJlIGhhcHB5IGJlY2F1c2UgeW91IGNvbnRpbnVlIGRvaW5nIHN1 Y2ggYSBncmVhdCBqb2IgaW4gYQo+PiBjZW50cmFsIGxvY2F0aW9uLCBlc3BlY2lhbGx5IHRob3Nl IHdob3NlIHByb2R1Y3QgbGlmZXNwYW4gaXMgYXJvdW5kIDYKPj4geWVhcnMuCj4gCj4gQnV0IHRo aXMgaXMgZXhhY3RseSB3aGF0J3MgaGFwcGVuaW5nIG5vdzogd2Ugc3VwcG9ydCBMVFMga2VybmVs cyBmb3IgdHdvCj4geWVhcnMsIGFuZCBhZnRlciB0aGF0IGludGVyZXN0ZWQgcGFydGllcyBjYW4g ZmlndXJlIGl0IG91dCBvbiB0aGVpciBvd24KPiBpZiBpdCdzIHdvcnRoIGl0IGZvciB0aGVtIHRv IGtlZXAgZ29pbmcuCj4gCgotLSAKRmxvcmlhbgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgt YXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=