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=-7.1 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, 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 75C00C433E0 for ; Wed, 15 Jul 2020 07:31:58 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 553ED206E9 for ; Wed, 15 Jul 2020 07:31:58 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="ilKbh84s" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729360AbgGOHb5 (ORCPT ); Wed, 15 Jul 2020 03:31:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43348 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728888AbgGOHb4 (ORCPT ); Wed, 15 Jul 2020 03:31:56 -0400 Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EC80FC061755 for ; Wed, 15 Jul 2020 00:31:54 -0700 (PDT) Received: by mail-wr1-x442.google.com with SMTP id j4so1268835wrp.10 for ; Wed, 15 Jul 2020 00:31:54 -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=07I/S8ewhyB0gez/czwEXo+nNeITutjOWFFjAQJcuNA=; b=ilKbh84sIQXFNzAGRoY7pmq+/Ys3cMNDHi8iktz1qc8NhXvwAJCsI5UrY/1w6+yzPo 0hkoHlRSgoC0BRbR9/FKYxjdyxPJ+ZSm3C6RvR8/N09iLis38dCLQ63BK0LtsaPANPuA Jopes3d2OG7VTW7DVi2DZUsPIbR4pPv05XA80YnOTirUXaEjLaFUkPYvo93nsT1X8TMP zfpWa0q+oZyM0U/uh4Hl9i/R34YEU0fnCams/vH26ZGq8qWCLJbPZqoTDdD4+CdTMynW L4eT7p1EEJ7fhiiH46nGgcpjveELUlGwE4FsrxqVjuyV+mimSTtka08BJ5Cy58JIKn4E rFkA== 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=07I/S8ewhyB0gez/czwEXo+nNeITutjOWFFjAQJcuNA=; b=W0hjVroj+aAJoF4ta1wtzpU8/+9Yy49aJOUQWIj1tD64oj632LV99x7Hncy93JDbPH DsKZCSCCOPUqf9sQM8jY4uCbctiYP236Al0rC3ZrL7yU9Ir9GgTzxR64MLnA40bUGEuR arPw7lzGx/ruzViBzvsWru5kqkdkuLLGbjLHEo+/bK1w9xqhfQ59Nj1f3Wth8qu+j2fc Jjknm6NTOytbAWIZFlHOQa3kjm6GoKAviYrxg3vi6XHjF/XWl5452XryU+L6uQBWJVib 4DvS8iVsPaG6Befhm81GCbFIP6Kx6kJvFlMVDD+MsKT9XdWfTItR5BjOyG0a9++DvEfa LpUA== X-Gm-Message-State: AOAM531SPE+3G6bbCpus3JxacShn9taUa2i86vRD2amM/nQ8QYkWxEYZ nMvEDpBqG/x4PDT+HM/AwMKbvQ== X-Google-Smtp-Source: ABdhPJxS3oJRkHhG2F62a81eE4UlM3maxq/ryzQ1R68ZuwDmyQUVKo6vYdt46PoRJZzpK56mm/HWMg== X-Received: by 2002:a5d:6088:: with SMTP id w8mr9594304wrt.49.1594798313511; Wed, 15 Jul 2020 00:31:53 -0700 (PDT) Received: from dell ([2.31.163.61]) by smtp.gmail.com with ESMTPSA id j24sm2272832wrd.43.2020.07.15.00.31.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2020 00:31:52 -0700 (PDT) Date: Wed, 15 Jul 2020 08:31:50 +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: <20200715073150.GX1398296@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> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20200715070836.l24lzkb6pgvqj26i@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, 07:45, Lee Jones wrote: > > On Wed, 15 Jul 2020, Viresh Kumar wrote: > > > On 14-07-20, 15:50, Lee Jones wrote: > > > > diff --git a/drivers/cpufreq/cpufreq_governor.c b/drivers/cpufreq/cpufreq_governor.c > > > > index f99ae45efaea7..63f7c219062b9 100644 > > > > --- a/drivers/cpufreq/cpufreq_governor.c > > > > +++ b/drivers/cpufreq/cpufreq_governor.c > > > > @@ -26,7 +26,7 @@ static DEFINE_PER_CPU(struct cpu_dbs_info, cpu_dbs); > > > > static DEFINE_MUTEX(gov_dbs_data_mutex); > > > > > > > > /* Common sysfs tunables */ > > > > -/** > > > > +/* > > > > > > This is an important routine with good documentation details already > > > there, though internal to governors and so I would rather keep it. > > > > It maybe documented, but it isn't kerneldoc, for 2 reasons; a) it > > doesn't meet the standards required qualify as kerneldoc i.e. it's > > missing descriptions for each of the function parameters, which is why > > the kerneldoc checker is complaining about it > > Right, so this is a mistake and not intentional probably. > > > and b) it is not > > referenced by any *.rst file: > > > > git grep kernel-doc::.*cpufreq_governor.c > > /* no results */ > > I believed (and it may be wrong) that there are two categories of > routines/structures which can be put in kernel documentation, the > exported ones and the internal ones which are important and are very > useful in understanding the algorithms/logic in the drivers. > > I did try to go and look into Documentation/doc-guide/ but couldn't > find any details on this. > > You said that it needs to be referenced from some *.rst file, but why > is that necessary ? What if people don't add any documentation in > Documentation/ for their framework or driver but still want stuff to > appear in kernel-doc as they can keep the documentation in comments > more up to date. 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? -- 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=-7.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, 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 25EEBC433E2 for ; Wed, 15 Jul 2020 07:45:56 +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 E8D34206F4 for ; Wed, 15 Jul 2020 07:45:55 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="vmTQ8rTk"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="ilKbh84s" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E8D34206F4 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=18yt4eDhPFjIPulqDh0LJC5o4tZmbEGTOa6EZLDlZxY=; b=vmTQ8rTkkWuvpQ7byK/7BUtAb 1egqiLs24YhqGqG3FeD66lOoL1IGs/T88BwzAWUNaJ8DFu57A6Offvjq8rWXhPpIMRVdn2xbFWbnu 1H1Y74t/uxVQXdDQGJxvM1LKATG8zmtBlKg0fU9xsPlPIWR74DHrLAlmocmQrTj66a+MuJmOA0cPa SD6AxiVnnBdCc0OEemmeAF+/Je9RQo4fLOdV+qVBvW3qPsE4X6G7HzqM+A8kQ595qXX7KwZKRe0zD xbMANz5XpWr3sJNh4cXBU5EaThSCyQGVP3x4m9mNIRabqNCJgx2esm4f39n5YK+zy2rpkde24mEQ0 UP0fSq68A==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jvbtW-0003yd-Nr; Wed, 15 Jul 2020 07:31:58 +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 1jvbtS-0003y5-Su for linux-arm-kernel@lists.infradead.org; Wed, 15 Jul 2020 07:31:57 +0000 Received: by mail-wr1-x441.google.com with SMTP id z2so1339459wrp.2 for ; Wed, 15 Jul 2020 00:31:54 -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=07I/S8ewhyB0gez/czwEXo+nNeITutjOWFFjAQJcuNA=; b=ilKbh84sIQXFNzAGRoY7pmq+/Ys3cMNDHi8iktz1qc8NhXvwAJCsI5UrY/1w6+yzPo 0hkoHlRSgoC0BRbR9/FKYxjdyxPJ+ZSm3C6RvR8/N09iLis38dCLQ63BK0LtsaPANPuA Jopes3d2OG7VTW7DVi2DZUsPIbR4pPv05XA80YnOTirUXaEjLaFUkPYvo93nsT1X8TMP zfpWa0q+oZyM0U/uh4Hl9i/R34YEU0fnCams/vH26ZGq8qWCLJbPZqoTDdD4+CdTMynW L4eT7p1EEJ7fhiiH46nGgcpjveELUlGwE4FsrxqVjuyV+mimSTtka08BJ5Cy58JIKn4E rFkA== 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=07I/S8ewhyB0gez/czwEXo+nNeITutjOWFFjAQJcuNA=; b=BqhQvaZaahfMP7wAOYLllPHOHO0O/5muGPX4LM+TBkkBfHrDhrvuUz6pqcl9DV1hVo qpU2FLlS/hgCR/4ukdZ9RYK1azG1AepMla8Op/ISG9S6ikFzZGqIhxA/vw4Vp9bAdJEd BhakWTluChxDNIkcmjT302YHU4KHl6/KAXjSyIgHM8tNykXVOuGlzo54e8i3hxinIJ+r eUFA/xXPNZKx7PZgpwGwGI7OXcwjDghFNmI6QvPDV1yzE81EtYHws3oRdlmQfwkUjRPA FumlsbjU0GsDrr79WCh4pnpna7+TGoAGKYeR9g016taTHzWZFkjkdCMfZHo83KJdKiPr 4bow== X-Gm-Message-State: AOAM532Y0DB7jRHsKP+dsDe8ZFvu1tNzFpraudAY2Yt3r3aB8sssq1lJ 8XUX8ehcVE1iY1vn4XBD/HAqbQ== X-Google-Smtp-Source: ABdhPJxS3oJRkHhG2F62a81eE4UlM3maxq/ryzQ1R68ZuwDmyQUVKo6vYdt46PoRJZzpK56mm/HWMg== X-Received: by 2002:a5d:6088:: with SMTP id w8mr9594304wrt.49.1594798313511; Wed, 15 Jul 2020 00:31:53 -0700 (PDT) Received: from dell ([2.31.163.61]) by smtp.gmail.com with ESMTPSA id j24sm2272832wrd.43.2020.07.15.00.31.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Jul 2020 00:31:52 -0700 (PDT) Date: Wed, 15 Jul 2020 08:31:50 +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: <20200715073150.GX1398296@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> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200715070836.l24lzkb6pgvqj26i@vireshk-i7> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200715_033155_644595_5A110C52 X-CRM114-Status: GOOD ( 25.82 ) 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 MDc6NDUsIExlZSBKb25lcyB3cm90ZToKPiA+IE9uIFdlZCwgMTUgSnVsIDIwMjAsIFZpcmVzaCBL dW1hciB3cm90ZToKPiA+ID4gT24gMTQtMDctMjAsIDE1OjUwLCBMZWUgSm9uZXMgd3JvdGU6Cj4g PiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3B1ZnJlcS9jcHVmcmVxX2dvdmVybm9yLmMgYi9k cml2ZXJzL2NwdWZyZXEvY3B1ZnJlcV9nb3Zlcm5vci5jCj4gPiA+ID4gaW5kZXggZjk5YWU0NWVm YWVhNy4uNjNmN2MyMTkwNjJiOSAxMDA2NDQKPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2NwdWZyZXEv Y3B1ZnJlcV9nb3Zlcm5vci5jCj4gPiA+ID4gKysrIGIvZHJpdmVycy9jcHVmcmVxL2NwdWZyZXFf Z292ZXJub3IuYwo+ID4gPiA+IEBAIC0yNiw3ICsyNiw3IEBAIHN0YXRpYyBERUZJTkVfUEVSX0NQ VShzdHJ1Y3QgY3B1X2Ric19pbmZvLCBjcHVfZGJzKTsKPiA+ID4gPiAgc3RhdGljIERFRklORV9N VVRFWChnb3ZfZGJzX2RhdGFfbXV0ZXgpOwo+ID4gPiA+ICAKPiA+ID4gPiAgLyogQ29tbW9uIHN5 c2ZzIHR1bmFibGVzICovCj4gPiA+ID4gLS8qKgo+ID4gPiA+ICsvKgo+ID4gPiAKPiA+ID4gVGhp cyBpcyBhbiBpbXBvcnRhbnQgcm91dGluZSB3aXRoIGdvb2QgZG9jdW1lbnRhdGlvbiBkZXRhaWxz IGFscmVhZHkKPiA+ID4gdGhlcmUsIHRob3VnaCBpbnRlcm5hbCB0byBnb3Zlcm5vcnMgYW5kIHNv IEkgd291bGQgcmF0aGVyIGtlZXAgaXQuCj4gPiAKPiA+IEl0IG1heWJlIGRvY3VtZW50ZWQsIGJ1 dCBpdCBpc24ndCBrZXJuZWxkb2MsIGZvciAyIHJlYXNvbnM7IGEpIGl0Cj4gPiBkb2Vzbid0IG1l ZXQgdGhlIHN0YW5kYXJkcyByZXF1aXJlZCBxdWFsaWZ5IGFzIGtlcm5lbGRvYyBpLmUuIGl0J3MK PiA+IG1pc3NpbmcgZGVzY3JpcHRpb25zIGZvciBlYWNoIG9mIHRoZSBmdW5jdGlvbiBwYXJhbWV0 ZXJzLCB3aGljaCBpcyB3aHkKPiA+IHRoZSBrZXJuZWxkb2MgY2hlY2tlciBpcyBjb21wbGFpbmlu ZyBhYm91dCBpdAo+IAo+IFJpZ2h0LCBzbyB0aGlzIGlzIGEgbWlzdGFrZSBhbmQgbm90IGludGVu dGlvbmFsIHByb2JhYmx5Lgo+IAo+ID4gYW5kIGIpIGl0IGlzIG5vdAo+ID4gcmVmZXJlbmNlZCBi eSBhbnkgKi5yc3QgZmlsZToKPiA+IAo+ID4gIGdpdCBncmVwIGtlcm5lbC1kb2M6Oi4qY3B1ZnJl cV9nb3Zlcm5vci5jCj4gPiAgLyogbm8gcmVzdWx0cyAqLwo+IAo+IEkgYmVsaWV2ZWQgKGFuZCBp dCBtYXkgYmUgd3JvbmcpIHRoYXQgdGhlcmUgYXJlIHR3byBjYXRlZ29yaWVzIG9mCj4gcm91dGlu ZXMvc3RydWN0dXJlcyB3aGljaCBjYW4gYmUgcHV0IGluIGtlcm5lbCBkb2N1bWVudGF0aW9uLCB0 aGUKPiBleHBvcnRlZCBvbmVzIGFuZCB0aGUgaW50ZXJuYWwgb25lcyB3aGljaCBhcmUgaW1wb3J0 YW50IGFuZCBhcmUgdmVyeQo+IHVzZWZ1bCBpbiB1bmRlcnN0YW5kaW5nIHRoZSBhbGdvcml0aG1z L2xvZ2ljIGluIHRoZSBkcml2ZXJzLgo+IAo+IEkgZGlkIHRyeSB0byBnbyBhbmQgbG9vayBpbnRv IERvY3VtZW50YXRpb24vZG9jLWd1aWRlLyBidXQgY291bGRuJ3QKPiBmaW5kIGFueSBkZXRhaWxz IG9uIHRoaXMuCj4gCj4gWW91IHNhaWQgdGhhdCBpdCBuZWVkcyB0byBiZSByZWZlcmVuY2VkIGZy b20gc29tZSAqLnJzdCBmaWxlLCBidXQgd2h5Cj4gaXMgdGhhdCBuZWNlc3NhcnkgPyBXaGF0IGlm IHBlb3BsZSBkb24ndCBhZGQgYW55IGRvY3VtZW50YXRpb24gaW4KPiBEb2N1bWVudGF0aW9uLyBm b3IgdGhlaXIgZnJhbWV3b3JrIG9yIGRyaXZlciBidXQgc3RpbGwgd2FudCBzdHVmZiB0bwo+IGFw cGVhciBpbiBrZXJuZWwtZG9jIGFzIHRoZXkgY2FuIGtlZXAgdGhlIGRvY3VtZW50YXRpb24gaW4g Y29tbWVudHMKPiBtb3JlIHVwIHRvIGRhdGUuCgpJJ20gbm90IHN1cmUgd2hhdCB5b3UgbWVhbi4g IEtlcm5lbGRvYyBoZWFkZXJzIGFyZSBkZXNpZ25lZCB0byBiZQpleHRyYWN0ZWQgYW5kIGNvbnZl cnRlZCBpbnRvIG1lZGl1bXMgd2hpY2ggYXJlIGVhc3kgdG8gcmVhZC9icm93c2UuCkZvciBleGFt cGxlLCBzZWUgdGhlIG9ubGluZSBkb2N1bWVudGF0aW9uIGZvciAnZGVidWdfb2JqZWN0X2luaXQn OgoKIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvZG9jL2h0bWwvbGF0ZXN0L2NvcmUtYXBpL2RlYnVn LW9iamVjdHMuaHRtbD9oaWdobGlnaHQ9ZGVidWdfb2JqZWN0X2luaXQjYy5kZWJ1Z19vYmplY3Rf aW5pdAoKVGhleSBhcmUgZ2VuZXJhbGx5IG1lYW50IHRvIGJlIHJlZmVyZW5jZWQvY29uc3VtZWQu ICBUaGVyZSBpcyBldmVuIGEKc2NyaXB0IHByb3ZpZGVkIGluc2lkZSB0aGUga2VybmVsIHRvIGZp bmQgb2ZmZW5kaW5nIGluc3RhbmNlcyB3aGVyZQprZXJuZWxkb2MgaGVhZGVycyBhcmUgcHJvdmlk ZWQsIGJ1dCBub3QgKnlldCogcmVmZXJlbmNlZDoKCiBgc2NyaXB0cy9maW5kLXVudXNlZC1kb2Nz LnNoYAoKSElOVDogVGhlcmUgYXJlIG1hbnkuCgpUaGVyZSAqY291bGQqIGJlIGFuZCBhcmd1bWVu dCB0byB1c2Uga2VybmVsZG9jICpqdXN0KiBzbyB5b3UgY2FuIHVzZQp0aGUga2VybmVsZG9jIGNo ZWNrZXIgYHNjcmlwdHMva2VybmVsLWRvY2AgKHdoaWNoIGlzIGludm9rZWQgYnkgVz0xCmJ1aWxk cyksIGluIG9yZGVyIHRvIGVuc3VyZSB0aGUgcGFyYW1ldGVyIGRlc2NyaXB0aW9ucyBhcmUga2Vw dCBpbgpjaGVjay4KCkhvd2V2ZXIsIGluIHRoaXMgY2FzZSwgdGhlcmUgYXJlIG5vIGRlc2NyaXB0 aW9ucyBwcm92aWRlZC4gIFNvLCBpbgpyZWZlcmVuY2UgdG8gbXkgcHJldmlvdXMgcXVlc3Rpb24s IHdoYXQgYXJlIHlvdXIgcmVhc29ucyBmb3Igd2FudGluZwp0byBrZWVwIGtlcm5lbGRvYyBoZXJl PwoKLS0gCkxlZSBKb25lcyBb5p2O55C85pavXQpTZW5pb3IgVGVjaG5pY2FsIExlYWQgLSBEZXZl bG9wZXIgU2VydmljZXMKTGluYXJvLm9yZyDilIIgT3BlbiBzb3VyY2Ugc29mdHdhcmUgZm9yIEFy bSBTb0NzCkZvbGxvdyBMaW5hcm86IEZhY2Vib29rIHwgVHdpdHRlciB8IEJsb2cKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwg bWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK