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.1 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,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 45A69C433E1 for ; Wed, 15 Jul 2020 08:15:23 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 24CA2206F5 for ; Wed, 15 Jul 2020 08:15:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Eo5oREcF" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729648AbgGOIPW (ORCPT ); Wed, 15 Jul 2020 04:15:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50052 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726201AbgGOIPW (ORCPT ); Wed, 15 Jul 2020 04:15:22 -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 001CAC061755 for ; Wed, 15 Jul 2020 01:15:21 -0700 (PDT) Received: by mail-wr1-x444.google.com with SMTP id f18so1491834wrs.0 for ; Wed, 15 Jul 2020 01:15:21 -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=V6iOQn1Lci+q2i98jVN1XTnGz+Hdxpv3vM8VpJ0S+A4=; b=Eo5oREcFHhZXozrzcYRD2JWcOY62qWjJx/ikx+izFFRRQlFSm3LkxjcNRo7W4jftdw OT46EtdbcYELcxrrX4573eqhkuXexsQEidpGP0IqFGfV3QGzWWhlOv7B7xVTUXKYFEph ZbNl+aLguuorGcF2N2/Fk21KaYytnYjmzgOiKS6CkMtevjcWf/pdZq7CaHWvEcVFONFu GtSkZLE4zPAhj12kQBrIdXliiBDEWSoUCbUQuSgjdWJ/XjyCI2YoC0YMYUfLIPw7mZLv aR03zAHQgulnkuoYZCxoYXS/RqhyIRx8G6pkumIRMZeb9Ar5cf89hcp+Lv7zKTELW9Wz 9Oow== 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=V6iOQn1Lci+q2i98jVN1XTnGz+Hdxpv3vM8VpJ0S+A4=; b=agYHwuJ4I6Q8gk0IFMeu8kX6El8QfpljKK4HZs+5tnAKYpPBItwYTNIiZmRU4EU8VZ NjvN8YQvAGidmhrwtKLwL+nQi7+U7X+kMYiNDS39GBNXkns9op2ggm8yc3tS6ex8gYYy 1p3/Y6aUncitYUidebeSRzofFKs/W0J89S5lS5fSwudOEI+z2Z5X2sg1++AYI4fbeUGb gGyuWvfwnZfPjK8Yo21jfxz64Et+b7eFSX+Z0KULJMHT9TgCMm1J8AWZLUx34bgd2W4v BDD/OI4H8oAN3rez5jv509LPA+LqJW3gjwmDtat5w+lg4IeR8ysCD4P/Sb0CkzeEV73N aCCw== X-Gm-Message-State: AOAM531qPBPIJLg1BaLt6BK5dgU4fNdWjrElQv/xUe6wDVmuAHb8HsJ+ RVj6vsR7EqR6UuvTMhaQ9BemEDQXic8= X-Google-Smtp-Source: ABdhPJwd+NKXVIjT54d4zwOzR0bqm0ITLJ5fYWXqUhjjUznee1tbkVt+fBHedhAAyIzddgA6Opsg+Q== X-Received: by 2002:a5d:5441:: with SMTP id w1mr9526333wrv.381.1594800920670; Wed, 15 Jul 2020 01:15:20 -0700 (PDT) Received: from dell ([2.31.163.61]) by smtp.gmail.com with ESMTPSA id t2sm2186116wma.43.2020.07.15.01.15.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2020 01:15:20 -0700 (PDT) Date: Wed, 15 Jul 2020 09:15:18 +0100 From: Lee Jones To: Viresh Kumar Cc: rjw@rjwysocki.net, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, Venkatesh Pallipadi , Jun Nakajima , Alexander Clouter Subject: Re: [PATCH 03/13] cpufreq: cpufreq_governor: Demote store_sampling_rate() header to standard comment block Message-ID: <20200715081518.GA1398296@dell> References: <20200714145049.2496163-1-lee.jones@linaro.org> <20200714145049.2496163-4-lee.jones@linaro.org> <20200715025249.ukoqup4piqiz5lim@vireshk-i7> <20200715064539.GS1398296@dell> <20200715070836.l24lzkb6pgvqj26i@vireshk-i7> <20200715073150.GX1398296@dell> <20200715080236.n3gecwhidorn4rqq@vireshk-i7> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20200715080236.n3gecwhidorn4rqq@vireshk-i7> Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org On Wed, 15 Jul 2020, Viresh Kumar wrote: > On 15-07-20, 08:31, Lee Jones wrote: > > I'm not sure what you mean. Kerneldoc headers are designed to be > > extracted and converted into mediums which are easy to read/browse. > > For example, see the online documentation for 'debug_object_init': > > > > https://www.kernel.org/doc/html/latest/core-api/debug-objects.html?highlight=debug_object_init#c.debug_object_init > > > > They are generally meant to be referenced/consumed. There is even a > > script provided inside the kernel to find offending instances where > > kerneldoc headers are provided, but not *yet* referenced: > > > > `scripts/find-unused-docs.sh` > > > > HINT: There are many. > > > > There *could* be and argument to use kerneldoc *just* so you can use > > the kerneldoc checker `scripts/kernel-doc` (which is invoked by W=1 > > builds), in order to ensure the parameter descriptions are kept in > > check. > > > > However, in this case, there are no descriptions provided. So, in > > reference to my previous question, what are your reasons for wanting > > to keep kerneldoc here? > > I think the code did the right thing by keeping them as kernel doc > type comments. What we missed then is getting them used in the *.rst > documentation. > > A simple way of doing that could be just adding this to the cpu-freq > rst file, like: > > -------------------------8<------------------------- > Here are the bits from the in-source documentation: > > .. kernel-doc:: include/linux/cpufreq.h > .. kernel-doc:: drivers/cpufreq/cpufreq.c > .. kernel-doc:: drivers/cpufreq/freq_table.c > .. kernel-doc:: drivers/cpufreq/cpufreq_governor.c > -------------------------8<------------------------- > > This will make the script stop complaining about these. This will stop `scripts/find-unused-docs.sh` from mentioning these files as an offender, but `scripts/kernel-doc` and by extension W=1 builds (which is the point of this patch-set) will still complain. Before you add the lines above, you need to provide descriptions for each of the function parameters or else they will not reach the required standards expected of kerneldoc. My suggestion would be to take this (and the other) patch and subsequently provide your own set i) providing the required parameter descriptions ii) re-promoting the comment blocks to kerneldoc and iii) adding the aforementioned lines to the *.rst file(s). > But the layout of things wont' be very nice right now. -- 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=-4.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,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 D3F08C433EB for ; Wed, 15 Jul 2020 08:47:09 +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 A1FC92065D for ; Wed, 15 Jul 2020 08:47:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="jgjwhU1a"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Eo5oREcF" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A1FC92065D 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=Lqk/dguGegeOAdSfoKRlMdy1lmZIKWLDtAnj3CRYTmw=; b=jgjwhU1asuG7ikKmVkeyzVR9c 8oB2i9sq77P+REqSqZcbDzUNDf47iMB01TA2LJP5AM0lEokEarO7IkR3LylCZ/JCiorgNGJkFOE7t IjQh7SmHR3N+K4UCgY/HMkprW39qzUwqU8G4XANFl9fUCkloJ54LyMeDY0uRwlKQdZ6pv7kDsY7NS YQNxqG7y7d8XzJQNq55XyqvvqqP+a2u8mUOboHOy24CQDbHiEvJYkm4rA5yU2zTb1Vz/ZtQJTK7s9 cAsSB+xdy6Kjs+M3SDtTN+prjr85fvVQsJddRJx3i7Lt8WcCMzsVbqe5gkw86okZ5LINI1dcXsu65 ZUs4LjaVA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jvcZb-0001Au-39; Wed, 15 Jul 2020 08:15:27 +0000 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jvcZX-00019W-Mo for linux-arm-kernel@lists.infradead.org; Wed, 15 Jul 2020 08:15:24 +0000 Received: by mail-wr1-x441.google.com with SMTP id f2so1429681wrp.7 for ; Wed, 15 Jul 2020 01:15:21 -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=V6iOQn1Lci+q2i98jVN1XTnGz+Hdxpv3vM8VpJ0S+A4=; b=Eo5oREcFHhZXozrzcYRD2JWcOY62qWjJx/ikx+izFFRRQlFSm3LkxjcNRo7W4jftdw OT46EtdbcYELcxrrX4573eqhkuXexsQEidpGP0IqFGfV3QGzWWhlOv7B7xVTUXKYFEph ZbNl+aLguuorGcF2N2/Fk21KaYytnYjmzgOiKS6CkMtevjcWf/pdZq7CaHWvEcVFONFu GtSkZLE4zPAhj12kQBrIdXliiBDEWSoUCbUQuSgjdWJ/XjyCI2YoC0YMYUfLIPw7mZLv aR03zAHQgulnkuoYZCxoYXS/RqhyIRx8G6pkumIRMZeb9Ar5cf89hcp+Lv7zKTELW9Wz 9Oow== 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=V6iOQn1Lci+q2i98jVN1XTnGz+Hdxpv3vM8VpJ0S+A4=; b=BWrUqaj1nI6FE6/KGijQlCINagmfBkxO8Nf9/dCNqsivn6uPnmltrwlU6+ZoqlXruh HaC0ouXqgr7WQ+9HIem195za8TcvKpKtXKZ7V0C6huQl4V+9coBeIq6b0RtU5paPk2D4 vZ1uimqnf3eHA90ipJUj0bsz4mtuRqU5a+3qgDIQLzL5SAN77ljQkoxV4aMDaCA1VTZr rVUSxLoLehr+VH+JxVqdJU5WPEE05BMqHMaLwir1cohcBJwRY0abEa/qx1L/mShtYhS4 EpoIVE8EP3QA2lxYnsKojQbEu9ZKCfHfIGVG9XoAe86hC0sG7+7rOxDErp1KZvv/RL4X Lv4A== X-Gm-Message-State: AOAM533dCvlfcsfAFvzxjE10nrJqru/nCwwD5rLkDaRveovEd6ibB/01 YL+cDSmOyDo2zL5hsRhZPGu9PQ== X-Google-Smtp-Source: ABdhPJwd+NKXVIjT54d4zwOzR0bqm0ITLJ5fYWXqUhjjUznee1tbkVt+fBHedhAAyIzddgA6Opsg+Q== X-Received: by 2002:a5d:5441:: with SMTP id w1mr9526333wrv.381.1594800920670; Wed, 15 Jul 2020 01:15:20 -0700 (PDT) Received: from dell ([2.31.163.61]) by smtp.gmail.com with ESMTPSA id t2sm2186116wma.43.2020.07.15.01.15.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2020 01:15:20 -0700 (PDT) Date: Wed, 15 Jul 2020 09:15:18 +0100 From: Lee Jones To: Viresh Kumar Subject: Re: [PATCH 03/13] cpufreq: cpufreq_governor: Demote store_sampling_rate() header to standard comment block Message-ID: <20200715081518.GA1398296@dell> References: <20200714145049.2496163-1-lee.jones@linaro.org> <20200714145049.2496163-4-lee.jones@linaro.org> <20200715025249.ukoqup4piqiz5lim@vireshk-i7> <20200715064539.GS1398296@dell> <20200715070836.l24lzkb6pgvqj26i@vireshk-i7> <20200715073150.GX1398296@dell> <20200715080236.n3gecwhidorn4rqq@vireshk-i7> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200715080236.n3gecwhidorn4rqq@vireshk-i7> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200715_041523_769975_173612A3 X-CRM114-Status: GOOD ( 21.28 ) 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: Alexander Clouter , linux-pm@vger.kernel.org, rjw@rjwysocki.net, linux-kernel@vger.kernel.org, Jun Nakajima , Venkatesh Pallipadi , linux-arm-kernel@lists.infradead.org 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 T24gV2VkLCAxNSBKdWwgMjAyMCwgVmlyZXNoIEt1bWFyIHdyb3RlOgoKPiBPbiAxNS0wNy0yMCwg MDg6MzEsIExlZSBKb25lcyB3cm90ZToKPiA+IEknbSBub3Qgc3VyZSB3aGF0IHlvdSBtZWFuLiAg S2VybmVsZG9jIGhlYWRlcnMgYXJlIGRlc2lnbmVkIHRvIGJlCj4gPiBleHRyYWN0ZWQgYW5kIGNv bnZlcnRlZCBpbnRvIG1lZGl1bXMgd2hpY2ggYXJlIGVhc3kgdG8gcmVhZC9icm93c2UuCj4gPiBG b3IgZXhhbXBsZSwgc2VlIHRoZSBvbmxpbmUgZG9jdW1lbnRhdGlvbiBmb3IgJ2RlYnVnX29iamVj dF9pbml0JzoKPiA+IAo+ID4gIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvZG9jL2h0bWwvbGF0ZXN0 L2NvcmUtYXBpL2RlYnVnLW9iamVjdHMuaHRtbD9oaWdobGlnaHQ9ZGVidWdfb2JqZWN0X2luaXQj Yy5kZWJ1Z19vYmplY3RfaW5pdAo+ID4gCj4gPiBUaGV5IGFyZSBnZW5lcmFsbHkgbWVhbnQgdG8g YmUgcmVmZXJlbmNlZC9jb25zdW1lZC4gIFRoZXJlIGlzIGV2ZW4gYQo+ID4gc2NyaXB0IHByb3Zp ZGVkIGluc2lkZSB0aGUga2VybmVsIHRvIGZpbmQgb2ZmZW5kaW5nIGluc3RhbmNlcyB3aGVyZQo+ ID4ga2VybmVsZG9jIGhlYWRlcnMgYXJlIHByb3ZpZGVkLCBidXQgbm90ICp5ZXQqIHJlZmVyZW5j ZWQ6Cj4gPiAKPiA+ICBgc2NyaXB0cy9maW5kLXVudXNlZC1kb2NzLnNoYAo+ID4gCj4gPiBISU5U OiBUaGVyZSBhcmUgbWFueS4KPiA+IAo+ID4gVGhlcmUgKmNvdWxkKiBiZSBhbmQgYXJndW1lbnQg dG8gdXNlIGtlcm5lbGRvYyAqanVzdCogc28geW91IGNhbiB1c2UKPiA+IHRoZSBrZXJuZWxkb2Mg Y2hlY2tlciBgc2NyaXB0cy9rZXJuZWwtZG9jYCAod2hpY2ggaXMgaW52b2tlZCBieSBXPTEKPiA+ IGJ1aWxkcyksIGluIG9yZGVyIHRvIGVuc3VyZSB0aGUgcGFyYW1ldGVyIGRlc2NyaXB0aW9ucyBh cmUga2VwdCBpbgo+ID4gY2hlY2suCj4gPiAKPiA+IEhvd2V2ZXIsIGluIHRoaXMgY2FzZSwgdGhl cmUgYXJlIG5vIGRlc2NyaXB0aW9ucyBwcm92aWRlZC4gIFNvLCBpbgo+ID4gcmVmZXJlbmNlIHRv IG15IHByZXZpb3VzIHF1ZXN0aW9uLCB3aGF0IGFyZSB5b3VyIHJlYXNvbnMgZm9yIHdhbnRpbmcK PiA+IHRvIGtlZXAga2VybmVsZG9jIGhlcmU/Cj4gCj4gSSB0aGluayB0aGUgY29kZSBkaWQgdGhl IHJpZ2h0IHRoaW5nIGJ5IGtlZXBpbmcgdGhlbSBhcyBrZXJuZWwgZG9jCj4gdHlwZSBjb21tZW50 cy4gV2hhdCB3ZSBtaXNzZWQgdGhlbiBpcyBnZXR0aW5nIHRoZW0gdXNlZCBpbiB0aGUgKi5yc3QK PiBkb2N1bWVudGF0aW9uLgo+IAo+IEEgc2ltcGxlIHdheSBvZiBkb2luZyB0aGF0IGNvdWxkIGJl IGp1c3QgYWRkaW5nIHRoaXMgdG8gdGhlIGNwdS1mcmVxCj4gcnN0IGZpbGUsIGxpa2U6Cj4gCj4g LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTg8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IEhl cmUgYXJlIHRoZSBiaXRzIGZyb20gdGhlIGluLXNvdXJjZSBkb2N1bWVudGF0aW9uOgo+IAo+IC4u IGtlcm5lbC1kb2M6OiBpbmNsdWRlL2xpbnV4L2NwdWZyZXEuaAo+IC4uIGtlcm5lbC1kb2M6OiBk cml2ZXJzL2NwdWZyZXEvY3B1ZnJlcS5jCj4gLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvY3B1ZnJl cS9mcmVxX3RhYmxlLmMKPiAuLiBrZXJuZWwtZG9jOjogZHJpdmVycy9jcHVmcmVxL2NwdWZyZXFf Z292ZXJub3IuYwo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS04PC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KPiAKPiBUaGlzIHdpbGwgbWFrZSB0aGUgc2NyaXB0IHN0b3AgY29tcGxhaW5pbmcg YWJvdXQgdGhlc2UuCgpUaGlzIHdpbGwgc3RvcCBgc2NyaXB0cy9maW5kLXVudXNlZC1kb2NzLnNo YCBmcm9tIG1lbnRpb25pbmcgdGhlc2UKZmlsZXMgYXMgYW4gb2ZmZW5kZXIsIGJ1dCBgc2NyaXB0 cy9rZXJuZWwtZG9jYCBhbmQgYnkgZXh0ZW5zaW9uIFc9MQpidWlsZHMgKHdoaWNoIGlzIHRoZSBw b2ludCBvZiB0aGlzIHBhdGNoLXNldCkgd2lsbCBzdGlsbCBjb21wbGFpbi4KCkJlZm9yZSB5b3Ug YWRkIHRoZSBsaW5lcyBhYm92ZSwgeW91IG5lZWQgdG8gcHJvdmlkZSBkZXNjcmlwdGlvbnMgZm9y CmVhY2ggb2YgdGhlIGZ1bmN0aW9uIHBhcmFtZXRlcnMgb3IgZWxzZSB0aGV5IHdpbGwgbm90IHJl YWNoIHRoZQpyZXF1aXJlZCBzdGFuZGFyZHMgZXhwZWN0ZWQgb2Yga2VybmVsZG9jLgoKTXkgc3Vn Z2VzdGlvbiB3b3VsZCBiZSB0byB0YWtlIHRoaXMgKGFuZCB0aGUgb3RoZXIpIHBhdGNoIGFuZApz dWJzZXF1ZW50bHkgcHJvdmlkZSB5b3VyIG93biBzZXQgaSkgcHJvdmlkaW5nIHRoZSByZXF1aXJl ZCBwYXJhbWV0ZXIKZGVzY3JpcHRpb25zIGlpKSByZS1wcm9tb3RpbmcgdGhlIGNvbW1lbnQgYmxv Y2tzIHRvIGtlcm5lbGRvYyBhbmQgaWlpKQphZGRpbmcgdGhlIGFmb3JlbWVudGlvbmVkIGxpbmVz IHRvIHRoZSAqLnJzdCBmaWxlKHMpLgoKPiBCdXQgdGhlIGxheW91dCBvZiB0aGluZ3Mgd29udCcg YmUgdmVyeSBuaWNlIHJpZ2h0IG5vdy4KCi0tIApMZWUgSm9uZXMgW+adjueQvOaWr10KU2VuaW9y IFRlY2huaWNhbCBMZWFkIC0gRGV2ZWxvcGVyIFNlcnZpY2VzCkxpbmFyby5vcmcg4pSCIE9wZW4g c291cmNlIHNvZnR3YXJlIGZvciBBcm0gU29DcwpGb2xsb3cgTGluYXJvOiBGYWNlYm9vayB8IFR3 aXR0ZXIgfCBCbG9nCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3Rz LmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5m by9saW51eC1hcm0ta2VybmVsCg==