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.3 required=3.0 tests=BAYES_00, BODY_QUOTE_MALF_MSGID,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED 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 8E493C43446 for ; Tue, 28 Jul 2020 09:20:25 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 684FF20809 for ; Tue, 28 Jul 2020 09:20:25 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="AUZBUOCz" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728481AbgG1JUV (ORCPT ); Tue, 28 Jul 2020 05:20:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44336 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728403AbgG1JUU (ORCPT ); Tue, 28 Jul 2020 05:20:20 -0400 Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com [IPv6:2a00:1450:4864:20::444]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 74396C0619D5 for ; Tue, 28 Jul 2020 02:20:20 -0700 (PDT) Received: by mail-wr1-x444.google.com with SMTP id r4so14588108wrx.9 for ; Tue, 28 Jul 2020 02:20:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=beBH51PBvrNiVY21fyB1FDMkBD4/1CfVqZsExUAdGms=; b=AUZBUOCz+C3rUbC09PBQb07wRcuG+Z5atNFGMx6frCJ20iuSZPlI4T6fknCpq3V/8J ojiJjQXoLXIm3nkm0LEBfBv4OXrf6lLG5QUbLRzA1+ixupmRCG4MzcvFiTqizHNPbH0/ XzZPxU1YUQ+SgMlRBsA9NL/4k859nPxCoBO9wQkfPvgYBC6dcegsVSQ0fwQnFb4QzrYu 42VuVYpxQicy5tc5KWqBaCx7kbfyxq98OarVugo1rGHxL3+GnsB9B7O188y2FlBsK/iu vL/PJFJmQe8WxNKsi7xYRRKw4KqAxMCJXsa9lwAaHXh2uJACBdEFn16gde0U6hWIzf4p 1RCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=beBH51PBvrNiVY21fyB1FDMkBD4/1CfVqZsExUAdGms=; b=B1K4DMVJQPyjfap0np5xfmrT/r3v1LmBde8V6PdZamxt2prlPAL0da4zTFmIPW7IVc lIXzNNHDsUmJgeq7UmcOFcd63QFiFR5QXi+fc2HkeaU74cA2vkKZq2/KbjOru6EOlnUa ZOku9j3EIKEEj6toIViwYfvDKTfBI05sUvU6DnhQrXiiHtPO00gLtNw75Ru9HriiZ62Q bclU1tBsbo841JHmM8FlZMVcItmah/UU8xVndK8/4KF5z9zyTdh88RiAhHhsftYasxez mk5yVRcsxsqppv5KD1CBBZP4Vex0N6Q1GtNwl/fbwUaMuSea/g+5x99d2VvUl59fD0nu eIjA== X-Gm-Message-State: AOAM530MgahX1ov2ZwxRAzjpdHGappkCk3qR4BvTZbYclJSerREcwgNr qXSeTbFzBTPbGCGG6GPtJcHfWg== X-Google-Smtp-Source: ABdhPJwnXEtbFH1jcD4yCv++hVxdGTxMKRMWQHHEoQcyflVcKHgUz+6JPotbQr2eHetriRLig3jKsA== X-Received: by 2002:adf:e94a:: with SMTP id m10mr12079678wrn.249.1595928019115; Tue, 28 Jul 2020 02:20:19 -0700 (PDT) Received: from dell ([2.27.167.73]) by smtp.gmail.com with ESMTPSA id t141sm3376553wmt.26.2020.07.28.02.20.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jul 2020 02:20:18 -0700 (PDT) Date: Tue, 28 Jul 2020 10:20:16 +0100 From: Lee Jones To: Michael Walle Cc: linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-pwm@vger.kernel.org, linux-watchdog@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Linus Walleij , Bartosz Golaszewski , Rob Herring , Jean Delvare , Guenter Roeck , Thierry Reding , Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= , Wim Van Sebroeck , Shawn Guo , Li Yang , Thomas Gleixner , Jason Cooper , Marc Zyngier , Mark Brown , Greg Kroah-Hartman , Andy Shevchenko , Catalin Marinas , Will Deacon , Pavel Machek , Rob Herring Subject: Re: [PATCH v6 02/13] dt-bindings: mfd: Add bindings for sl28cpld Message-ID: <20200728092016.GE2419169@dell> References: <20200725231834.25642-1-michael@walle.cc> <20200725231834.25642-3-michael@walle.cc> <20200728072422.GF1850026@dell> <1065b0107ce6fd88b2bdd704bf45346b@walle.cc> <20200728082707.GB2419169@dell> <20200728085616.GD2419169@dell> <2fd3b880e36aa65e880b801092b51945@walle.cc> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <2fd3b880e36aa65e880b801092b51945@walle.cc> Sender: linux-gpio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-gpio@vger.kernel.org On Tue, 28 Jul 2020, Michael Walle wrote: > Am 2020-07-28 10:56, schrieb Lee Jones: > > > > > > > +$id: http://devicetree.org/schemas/mfd/kontron,sl28cpld.yaml# > > > > > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > > > > > + > > > > > > > +title: Kontron's sl28cpld board management controller > > > > > > > > > > > > "S128CPLD" ? > > > > > > > > > > still not, its sl28cpld, think of a project/code name, not the product > > > > > appended with CPLD. > > > > > > > > > > > "Board Management Controller (BMC)" ? > > > > > > > > > > sounds like IPMI, which I wanted to avoid. > > > > > > > > Is there a datasheet? > > > > > > No there isn't. > > > > Then what are you working from? > > Ok, there is no public datasheet. If that wasn't clear before, I'm working > for that company that also implemented that CPLD. No, that wasn't clear. You said there was no datasheet. > > > > > > > +maintainers: > > > > > > > + - Michael Walle > > > > > > > + > > > > > > > +description: | > > > > > > > + The board management controller may contain different IP blocks > > > > > > > like > > > > > > > + watchdog, fan monitoring, PWM controller, interrupt controller > > > > > > > and a > > > > > > > + GPIO controller. > > > > > > > + > > > > > > > +properties: > > > > > > > + compatible: > > > > > > > + const: kontron,sl28cpld-r1 > > > > > > > > > > > > We don't usually code revision numbers in compatible strings. > > > > > > > > > > > > Is there any way to pull this from the H/W? > > > > > > > > > > No, unfortunately you can't. And I really want to keep that, in case > > > > > in the future there are some backwards incompatible changes. > > > > > > > > Rob, > > > > > > > > I know you reviewed this already, but you can give your opinion on > > > > this specifically please? I know that we have pushed back on this in > > > > the past. > > > > > > Oh, come one. That is an arbitrary string. "sl28cpld-r1" is the first > > > implementation of this. A future "sl28cpld-r2" might look completely > > > different and might not suite the simple MFD at all. "sl28cpld" is > > > a made up name - as "sl28cpld-r1" is, too. > > > > Well that sounds bogus for a start. I guess that's one of the > > problems with trying to support programmable H/W in S/W. > > What sounds bogus? That we name the implementation sl28cpld? > How is that different to like adt7411? Its just a name made up by > the vendor. So if there is a new version of the adt7411 the vendor > might name it adt7412. Using an arbitrary string as a compatible would be bogus. So here 'sl28cpld' is the device name, so it's not actually arbitrary. That's a good start. > We name it sl28cpld-r2. So what is the problem here? Do you though? So 'sl28cpld-r1' is the name of the device? The name that is quoted from the (private) datasheet? Because looking at the implementation and going by the conversation, it sounds as though you-re only adding the '-r1' piece to the compatible string for revision identification. Which if true, is not usually allowed and warrants intervention by Rob. -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog 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, BODY_QUOTE_MALF_MSGID,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS 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 341DEC433DF for ; Tue, 28 Jul 2020 09:22:01 +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 EB43B206F5 for ; Tue, 28 Jul 2020 09:22:00 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="gMnwMKk2"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="AUZBUOCz" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EB43B206F5 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org 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:References:Message-ID: Subject: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=Ejv1Cp/L9T9nt1s3kgl4covtVXcs4rW9WUTRGo56rcA=; b=gMnwMKk2obTTbfVDktj9na4v8 y7Afm8mV/QSqBOrFK7CGG6iSVFPw6BS8ymJZmAwOSGITKA+/I4vNpS5tLl0M7TZkhYV4jLpsT6uFl Yb41lFSTbY76GKH5EbQP9RFwc8pIaHZK+wP+nYOBTRVYWh9SqpVgY1ZDrbYIze52VN1ru1Qo3j9u6 JrhfX/Po9KAYcsDIN4FOSYEzjrdlqpl60Vb7jyVgfr9bmZJyD7RJJgUMal5ar58jlxzSGyJTlx4JH Cuz0CBHC+E7VmKmwP2AYrjIfzEVyR2zxqsGDMiybeTev6WQMKWkaUSTI8cIwUDrpN6rG9EYk55EEz c5f/pdvIQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k0Lmj-00060z-8a; Tue, 28 Jul 2020 09:20:33 +0000 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k0LmW-0005wv-44 for linux-arm-kernel@lists.infradead.org; Tue, 28 Jul 2020 09:20:21 +0000 Received: by mail-wr1-x444.google.com with SMTP id r2so12466336wrs.8 for ; Tue, 28 Jul 2020 02:20:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=beBH51PBvrNiVY21fyB1FDMkBD4/1CfVqZsExUAdGms=; b=AUZBUOCz+C3rUbC09PBQb07wRcuG+Z5atNFGMx6frCJ20iuSZPlI4T6fknCpq3V/8J ojiJjQXoLXIm3nkm0LEBfBv4OXrf6lLG5QUbLRzA1+ixupmRCG4MzcvFiTqizHNPbH0/ XzZPxU1YUQ+SgMlRBsA9NL/4k859nPxCoBO9wQkfPvgYBC6dcegsVSQ0fwQnFb4QzrYu 42VuVYpxQicy5tc5KWqBaCx7kbfyxq98OarVugo1rGHxL3+GnsB9B7O188y2FlBsK/iu vL/PJFJmQe8WxNKsi7xYRRKw4KqAxMCJXsa9lwAaHXh2uJACBdEFn16gde0U6hWIzf4p 1RCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=beBH51PBvrNiVY21fyB1FDMkBD4/1CfVqZsExUAdGms=; b=hASr+6uttGnh8eLcIxr12+aoXQMCL6aSU2ji4/Pqu2s3Y+0AcbSD9QNQiuahjYUliE PlGfvvknnNtLi+3U5ovgLRVxhxLAY9+QRCkWWRjEzOuAlYP4gPwPY6imyGuj/UEwAH0n IHOv2HmH1vOcNXvOeMSXQojh2tpyDq4gwlMkI+sxr13Q17I5Hj4Ml0rp6LXNCAt7PcwN LhX+Za7lyaUCb/TrlWVDnwZEMn1f+O39xgVVTSv5uOlNmRlqEqAsVk8cD2+hcwJlfecV M/rAXHCH/Wj8y4V4hSRkqKwE6E3xoNGWrVaUzVPUGZ4dcZosjAl7UtjVv2/1kCVffkoY wINA== X-Gm-Message-State: AOAM5311gfzAG/YXAMua5sF5B7XNqzFOJH4YYBzybNY94hz3eZDedyqg dEMbtvYwbD5HPUQtbov7R1JxSw== X-Google-Smtp-Source: ABdhPJwnXEtbFH1jcD4yCv++hVxdGTxMKRMWQHHEoQcyflVcKHgUz+6JPotbQr2eHetriRLig3jKsA== X-Received: by 2002:adf:e94a:: with SMTP id m10mr12079678wrn.249.1595928019115; Tue, 28 Jul 2020 02:20:19 -0700 (PDT) Received: from dell ([2.27.167.73]) by smtp.gmail.com with ESMTPSA id t141sm3376553wmt.26.2020.07.28.02.20.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jul 2020 02:20:18 -0700 (PDT) Date: Tue, 28 Jul 2020 10:20:16 +0100 From: Lee Jones To: Michael Walle Subject: Re: [PATCH v6 02/13] dt-bindings: mfd: Add bindings for sl28cpld Message-ID: <20200728092016.GE2419169@dell> References: <20200725231834.25642-1-michael@walle.cc> <20200725231834.25642-3-michael@walle.cc> <20200728072422.GF1850026@dell> <1065b0107ce6fd88b2bdd704bf45346b@walle.cc> <20200728082707.GB2419169@dell> <20200728085616.GD2419169@dell> <2fd3b880e36aa65e880b801092b51945@walle.cc> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <2fd3b880e36aa65e880b801092b51945@walle.cc> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200728_052020_365301_222549A0 X-CRM114-Status: GOOD ( 32.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: devicetree@vger.kernel.org, Catalin Marinas , Linus Walleij , Thierry Reding , Pavel Machek , Will Deacon , Jason Cooper , Rob Herring , Andy Shevchenko , Marc Zyngier , Bartosz Golaszewski , Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= , Guenter Roeck , linux-pwm@vger.kernel.org, Jean Delvare , linux-watchdog@vger.kernel.org, linux-gpio@vger.kernel.org, Mark Brown , Thomas Gleixner , Wim Van Sebroeck , linux-arm-kernel@lists.infradead.org, linux-hwmon@vger.kernel.org, Greg Kroah-Hartman , linux-kernel@vger.kernel.org, Li Yang , Rob Herring , Shawn Guo 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 T24gVHVlLCAyOCBKdWwgMjAyMCwgTWljaGFlbCBXYWxsZSB3cm90ZToKCj4gQW0gMjAyMC0wNy0y OCAxMDo1Niwgc2NocmllYiBMZWUgSm9uZXM6Cj4gPiA+ID4gPiA+ID4gKyRpZDogaHR0cDovL2Rl dmljZXRyZWUub3JnL3NjaGVtYXMvbWZkL2tvbnRyb24sc2wyOGNwbGQueWFtbCMKPiA+ID4gPiA+ ID4gPiArJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3JlLnlh bWwjCj4gPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiA+ICt0aXRsZTogS29udHJvbidzIHNsMjhj cGxkIGJvYXJkIG1hbmFnZW1lbnQgY29udHJvbGxlcgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiAi UzEyOENQTEQiID8KPiA+ID4gPiA+Cj4gPiA+ID4gPiBzdGlsbCBub3QsIGl0cyBzbDI4Y3BsZCwg dGhpbmsgb2YgYSBwcm9qZWN0L2NvZGUgbmFtZSwgbm90IHRoZSBwcm9kdWN0Cj4gPiA+ID4gPiBh cHBlbmRlZCB3aXRoIENQTEQuCj4gPiA+ID4gPgo+ID4gPiA+ID4gPiAiQm9hcmQgTWFuYWdlbWVu dCBDb250cm9sbGVyIChCTUMpIiA/Cj4gPiA+ID4gPgo+ID4gPiA+ID4gc291bmRzIGxpa2UgSVBN SSwgd2hpY2ggSSB3YW50ZWQgdG8gYXZvaWQuCj4gPiA+ID4KPiA+ID4gPiBJcyB0aGVyZSBhIGRh dGFzaGVldD8KPiA+ID4gCj4gPiA+IE5vIHRoZXJlIGlzbid0Lgo+ID4gCj4gPiBUaGVuIHdoYXQg YXJlIHlvdSB3b3JraW5nIGZyb20/Cj4gCj4gT2ssIHRoZXJlIGlzIG5vIHB1YmxpYyBkYXRhc2hl ZXQuIElmIHRoYXQgd2Fzbid0IGNsZWFyIGJlZm9yZSwgSSdtIHdvcmtpbmcKPiBmb3IgdGhhdCBj b21wYW55IHRoYXQgYWxzbyBpbXBsZW1lbnRlZCB0aGF0IENQTEQuCgpObywgdGhhdCB3YXNuJ3Qg Y2xlYXIuICBZb3Ugc2FpZCB0aGVyZSB3YXMgbm8gZGF0YXNoZWV0LgoKPiA+ID4gPiA+ID4gPiAr bWFpbnRhaW5lcnM6Cj4gPiA+ID4gPiA+ID4gKyAgLSBNaWNoYWVsIFdhbGxlIDxtaWNoYWVsQHdh bGxlLmNjPgo+ID4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gPiArZGVzY3JpcHRpb246IHwKPiA+ ID4gPiA+ID4gPiArICBUaGUgYm9hcmQgbWFuYWdlbWVudCBjb250cm9sbGVyIG1heSBjb250YWlu IGRpZmZlcmVudCBJUCBibG9ja3MKPiA+ID4gPiA+ID4gPiBsaWtlCj4gPiA+ID4gPiA+ID4gKyAg d2F0Y2hkb2csIGZhbiBtb25pdG9yaW5nLCBQV00gY29udHJvbGxlciwgaW50ZXJydXB0IGNvbnRy b2xsZXIKPiA+ID4gPiA+ID4gPiBhbmQgYQo+ID4gPiA+ID4gPiA+ICsgIEdQSU8gY29udHJvbGxl ci4KPiA+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ID4gK3Byb3BlcnRpZXM6Cj4gPiA+ID4gPiA+ ID4gKyAgY29tcGF0aWJsZToKPiA+ID4gPiA+ID4gPiArICAgIGNvbnN0OiBrb250cm9uLHNsMjhj cGxkLXIxCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IFdlIGRvbid0IHVzdWFsbHkgY29kZSByZXZp c2lvbiBudW1iZXJzIGluIGNvbXBhdGlibGUgc3RyaW5ncy4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ ID4gSXMgdGhlcmUgYW55IHdheSB0byBwdWxsIHRoaXMgZnJvbSB0aGUgSC9XPwo+ID4gPiA+ID4K PiA+ID4gPiA+IE5vLCB1bmZvcnR1bmF0ZWx5IHlvdSBjYW4ndC4gQW5kIEkgcmVhbGx5IHdhbnQg dG8ga2VlcCB0aGF0LCBpbiBjYXNlCj4gPiA+ID4gPiBpbiB0aGUgZnV0dXJlIHRoZXJlIGFyZSBz b21lIGJhY2t3YXJkcyBpbmNvbXBhdGlibGUgY2hhbmdlcy4KPiA+ID4gPgo+ID4gPiA+IFJvYiwK PiA+ID4gPgo+ID4gPiA+IEkga25vdyB5b3UgcmV2aWV3ZWQgdGhpcyBhbHJlYWR5LCBidXQgeW91 IGNhbiBnaXZlIHlvdXIgb3BpbmlvbiBvbgo+ID4gPiA+IHRoaXMgc3BlY2lmaWNhbGx5IHBsZWFz ZT8gIEkga25vdyB0aGF0IHdlIGhhdmUgcHVzaGVkIGJhY2sgb24gdGhpcyBpbgo+ID4gPiA+IHRo ZSBwYXN0Lgo+ID4gPiAKPiA+ID4gT2gsIGNvbWUgb25lLiBUaGF0IGlzIGFuIGFyYml0cmFyeSBz dHJpbmcuICJzbDI4Y3BsZC1yMSIgaXMgdGhlIGZpcnN0Cj4gPiA+IGltcGxlbWVudGF0aW9uIG9m IHRoaXMuIEEgZnV0dXJlICJzbDI4Y3BsZC1yMiIgbWlnaHQgbG9vayBjb21wbGV0ZWx5Cj4gPiA+ IGRpZmZlcmVudCBhbmQgbWlnaHQgbm90IHN1aXRlIHRoZSBzaW1wbGUgTUZEIGF0IGFsbC4gInNs MjhjcGxkIiBpcwo+ID4gPiBhIG1hZGUgdXAgbmFtZSAtIGFzICJzbDI4Y3BsZC1yMSIgaXMsIHRv by4KPiA+IAo+ID4gV2VsbCB0aGF0IHNvdW5kcyBib2d1cyBmb3IgYSBzdGFydC4gIEkgZ3Vlc3Mg dGhhdCdzIG9uZSBvZiB0aGUKPiA+IHByb2JsZW1zIHdpdGggdHJ5aW5nIHRvIHN1cHBvcnQgcHJv Z3JhbW1hYmxlIEgvVyBpbiBTL1cuCj4gCj4gV2hhdCBzb3VuZHMgYm9ndXM/IFRoYXQgd2UgbmFt ZSB0aGUgaW1wbGVtZW50YXRpb24gc2wyOGNwbGQ/Cj4gSG93IGlzIHRoYXQgZGlmZmVyZW50IHRv IGxpa2UgYWR0NzQxMT8gSXRzIGp1c3QgYSBuYW1lIG1hZGUgdXAgYnkKPiB0aGUgdmVuZG9yLiBT byBpZiB0aGVyZSBpcyBhIG5ldyB2ZXJzaW9uIG9mIHRoZSBhZHQ3NDExIHRoZSB2ZW5kb3IgCj4g bWlnaHQgbmFtZSBpdCBhZHQ3NDEyLgoKVXNpbmcgYW4gYXJiaXRyYXJ5IHN0cmluZyBhcyBhIGNv bXBhdGlibGUgd291bGQgYmUgYm9ndXMuCgpTbyBoZXJlICdzbDI4Y3BsZCcgaXMgdGhlIGRldmlj ZSBuYW1lLCBzbyBpdCdzIG5vdCBhY3R1YWxseQphcmJpdHJhcnkuICBUaGF0J3MgYSBnb29kIHN0 YXJ0LgoKPiBXZSBuYW1lIGl0IHNsMjhjcGxkLXIyLiBTbyB3aGF0IGlzIHRoZSBwcm9ibGVtIGhl cmU/CgpEbyB5b3UgdGhvdWdoPyAgU28gJ3NsMjhjcGxkLXIxJyBpcyB0aGUgbmFtZSBvZiB0aGUg ZGV2aWNlPyAgVGhlIG5hbWUKdGhhdCBpcyBxdW90ZWQgZnJvbSB0aGUgKHByaXZhdGUpIGRhdGFz aGVldD8gIEJlY2F1c2UgbG9va2luZyBhdCB0aGUKaW1wbGVtZW50YXRpb24gYW5kIGdvaW5nIGJ5 IHRoZSBjb252ZXJzYXRpb24sIGl0IHNvdW5kcyBhcyB0aG91Z2gKeW91LXJlIG9ubHkgYWRkaW5n IHRoZSAnLXIxJyBwaWVjZSB0byB0aGUgY29tcGF0aWJsZSBzdHJpbmcgZm9yCnJldmlzaW9uIGlk ZW50aWZpY2F0aW9uLiAgV2hpY2ggaWYgdHJ1ZSwgaXMgbm90IHVzdWFsbHkgYWxsb3dlZCBhbmQK d2FycmFudHMgaW50ZXJ2ZW50aW9uIGJ5IFJvYi4KCi0tIApMZWUgSm9uZXMgW+adjueQvOaWr10K U2VuaW9yIFRlY2huaWNhbCBMZWFkIC0gRGV2ZWxvcGVyIFNlcnZpY2VzCkxpbmFyby5vcmcg4pSC IE9wZW4gc291cmNlIHNvZnR3YXJlIGZvciBBcm0gU29DcwpGb2xsb3cgTGluYXJvOiBGYWNlYm9v ayB8IFR3aXR0ZXIgfCBCbG9nCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVs QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9s aXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==