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=-6.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=ham 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 D09A2CA9EAF for ; Thu, 24 Oct 2019 18:19:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id B34CE21872 for ; Thu, 24 Oct 2019 18:19:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2504044AbfJXSTn (ORCPT ); Thu, 24 Oct 2019 14:19:43 -0400 Received: from ms.lwn.net ([45.79.88.28]:42668 "EHLO ms.lwn.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2504042AbfJXSTn (ORCPT ); Thu, 24 Oct 2019 14:19:43 -0400 Received: from lwn.net (localhost [127.0.0.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ms.lwn.net (Postfix) with ESMTPSA id B4C682F5; Thu, 24 Oct 2019 18:19:41 +0000 (UTC) Date: Thu, 24 Oct 2019 12:19:40 -0600 From: Jonathan Corbet To: Changbin Du Cc: linux-pci@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-crypto@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-wireless@vger.kernel.org, linux-fpga@vger.kernel.org, linux-usb@vger.kernel.org, dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, Matthew Wilcox , jani.nikula@linux.intel.com, Thomas Zimmermann Subject: Re: [PATCH v2] kernel-doc: rename the kernel-doc directive 'functions' to 'identifiers' Message-ID: <20191024121940.1d6a64df@lwn.net> In-Reply-To: <20191020131717.28990-1-changbin.du@gmail.com> References: <20191020131717.28990-1-changbin.du@gmail.com> Organization: LWN.net MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8bit Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org On Sun, 20 Oct 2019 21:17:17 +0800 Changbin Du wrote: > The 'functions' directive is not only for functions, but also works for > structs/unions. So the name is misleading. This patch renames it to > 'identifiers', which specific the functions/types to be included in > documentation. We keep the old name as an alias of the new one before > all documentation are updated. > > Signed-off-by: Changbin Du So I think this is basically OK, but I have one more request... [...] > diff --git a/Documentation/sphinx/kerneldoc.py b/Documentation/sphinx/kerneldoc.py > index 1159405cb920..0689f9c37f1e 100644 > --- a/Documentation/sphinx/kerneldoc.py > +++ b/Documentation/sphinx/kerneldoc.py > @@ -59,9 +59,10 @@ class KernelDocDirective(Directive): > optional_arguments = 4 > option_spec = { > 'doc': directives.unchanged_required, > - 'functions': directives.unchanged, > 'export': directives.unchanged, > 'internal': directives.unchanged, > + 'identifiers': directives.unchanged, > + 'functions': directives.unchanged, # alias of 'identifiers' > } > has_content = False > > @@ -71,6 +72,7 @@ class KernelDocDirective(Directive): > > filename = env.config.kerneldoc_srctree + '/' + self.arguments[0] > export_file_patterns = [] > + identifiers = None > > # Tell sphinx of the dependency > env.note_dependency(os.path.abspath(filename)) > @@ -86,19 +88,22 @@ class KernelDocDirective(Directive): > export_file_patterns = str(self.options.get('internal')).split() > elif 'doc' in self.options: > cmd += ['-function', str(self.options.get('doc'))] > + elif 'identifiers' in self.options: > + identifiers = self.options.get('identifiers').split() > elif 'functions' in self.options: > - functions = self.options.get('functions').split() > - if functions: > - for f in functions: > - cmd += ['-function', f] > - else: > - cmd += ['-no-doc-sections'] > + identifiers = self.options.get('functions').split() Rather than do this, can you just change the elif line to read: elif ('identifiers' in self.options) or ('functions' in self.options): ...then leave the rest of the code intact? It keeps the logic together, and avoids the confusing distinction between identifiers=='' and identifiers==None . Thanks, jon > for pattern in export_file_patterns: > for f in glob.glob(env.config.kerneldoc_srctree + '/' + pattern): > env.note_dependency(os.path.abspath(f)) > cmd += ['-export-file', f] > > + if identifiers: > + for i in identifiers: > + cmd += ['-function', i] > + elif identifiers is not None: > + cmd += ['-no-doc-sections'] > + > cmd += [filename] > > try: 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=-6.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=ham 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 E90C6CA9EBC for ; Thu, 24 Oct 2019 18:19:45 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 CAD7B21E6F for ; Thu, 24 Oct 2019 18:19:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CAD7B21E6F Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=lwn.net Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A9F016E5C8; Thu, 24 Oct 2019 18:19:44 +0000 (UTC) Received: from ms.lwn.net (ms.lwn.net [45.79.88.28]) by gabe.freedesktop.org (Postfix) with ESMTPS id 590F36E5C6; Thu, 24 Oct 2019 18:19:43 +0000 (UTC) Received: from lwn.net (localhost [127.0.0.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ms.lwn.net (Postfix) with ESMTPSA id B4C682F5; Thu, 24 Oct 2019 18:19:41 +0000 (UTC) Date: Thu, 24 Oct 2019 12:19:40 -0600 From: Jonathan Corbet To: Changbin Du Subject: Re: [PATCH v2] kernel-doc: rename the kernel-doc directive 'functions' to 'identifiers' Message-ID: <20191024121940.1d6a64df@lwn.net> In-Reply-To: <20191020131717.28990-1-changbin.du@gmail.com> References: <20191020131717.28990-1-changbin.du@gmail.com> Organization: LWN.net MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Matthew Wilcox , Thomas Zimmermann , linux-doc@vger.kernel.org, linux-pci@vger.kernel.org, linux-fpga@vger.kernel.org, linux-usb@vger.kernel.org, linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mm@kvack.org, linux-crypto@vger.kernel.org, linux-kselftest@vger.kernel.org, intel-gfx@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Message-ID: <20191024181940.4R0AkvDPKthDZMLogCGPBbSTA6QT_NwOzJt57ishLfw@z> T24gU3VuLCAyMCBPY3QgMjAxOSAyMToxNzoxNyArMDgwMApDaGFuZ2JpbiBEdSA8Y2hhbmdiaW4u ZHVAZ21haWwuY29tPiB3cm90ZToKCj4gVGhlICdmdW5jdGlvbnMnIGRpcmVjdGl2ZSBpcyBub3Qg b25seSBmb3IgZnVuY3Rpb25zLCBidXQgYWxzbyB3b3JrcyBmb3IKPiBzdHJ1Y3RzL3VuaW9ucy4g U28gdGhlIG5hbWUgaXMgbWlzbGVhZGluZy4gVGhpcyBwYXRjaCByZW5hbWVzIGl0IHRvCj4gJ2lk ZW50aWZpZXJzJywgd2hpY2ggc3BlY2lmaWMgdGhlIGZ1bmN0aW9ucy90eXBlcyB0byBiZSBpbmNs dWRlZCBpbgo+IGRvY3VtZW50YXRpb24uIFdlIGtlZXAgdGhlIG9sZCBuYW1lIGFzIGFuIGFsaWFz IG9mIHRoZSBuZXcgb25lIGJlZm9yZQo+IGFsbCBkb2N1bWVudGF0aW9uIGFyZSB1cGRhdGVkLgo+ IAo+IFNpZ25lZC1vZmYtYnk6IENoYW5nYmluIER1IDxjaGFuZ2Jpbi5kdUBnbWFpbC5jb20+CgpT byBJIHRoaW5rIHRoaXMgaXMgYmFzaWNhbGx5IE9LLCBidXQgSSBoYXZlIG9uZSBtb3JlIHJlcXVl c3QuLi4KClsuLi5dCgo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3NwaGlueC9rZXJuZWxk b2MucHkgYi9Eb2N1bWVudGF0aW9uL3NwaGlueC9rZXJuZWxkb2MucHkKPiBpbmRleCAxMTU5NDA1 Y2I5MjAuLjA2ODlmOWMzN2YxZSAxMDA2NDQKPiAtLS0gYS9Eb2N1bWVudGF0aW9uL3NwaGlueC9r ZXJuZWxkb2MucHkKPiArKysgYi9Eb2N1bWVudGF0aW9uL3NwaGlueC9rZXJuZWxkb2MucHkKPiBA QCAtNTksOSArNTksMTAgQEAgY2xhc3MgS2VybmVsRG9jRGlyZWN0aXZlKERpcmVjdGl2ZSk6Cj4g ICAgICBvcHRpb25hbF9hcmd1bWVudHMgPSA0Cj4gICAgICBvcHRpb25fc3BlYyA9IHsKPiAgICAg ICAgICAnZG9jJzogZGlyZWN0aXZlcy51bmNoYW5nZWRfcmVxdWlyZWQsCj4gLSAgICAgICAgJ2Z1 bmN0aW9ucyc6IGRpcmVjdGl2ZXMudW5jaGFuZ2VkLAo+ICAgICAgICAgICdleHBvcnQnOiBkaXJl Y3RpdmVzLnVuY2hhbmdlZCwKPiAgICAgICAgICAnaW50ZXJuYWwnOiBkaXJlY3RpdmVzLnVuY2hh bmdlZCwKPiArICAgICAgICAnaWRlbnRpZmllcnMnOiBkaXJlY3RpdmVzLnVuY2hhbmdlZCwKPiAr ICAgICAgICAnZnVuY3Rpb25zJzogZGlyZWN0aXZlcy51bmNoYW5nZWQsICAjIGFsaWFzIG9mICdp ZGVudGlmaWVycycKPiAgICAgIH0KPiAgICAgIGhhc19jb250ZW50ID0gRmFsc2UKPiAgCj4gQEAg LTcxLDYgKzcyLDcgQEAgY2xhc3MgS2VybmVsRG9jRGlyZWN0aXZlKERpcmVjdGl2ZSk6Cj4gIAo+ ICAgICAgICAgIGZpbGVuYW1lID0gZW52LmNvbmZpZy5rZXJuZWxkb2Nfc3JjdHJlZSArICcvJyAr IHNlbGYuYXJndW1lbnRzWzBdCj4gICAgICAgICAgZXhwb3J0X2ZpbGVfcGF0dGVybnMgPSBbXQo+ ICsgICAgICAgIGlkZW50aWZpZXJzID0gTm9uZQo+ICAKPiAgICAgICAgICAjIFRlbGwgc3BoaW54 IG9mIHRoZSBkZXBlbmRlbmN5Cj4gICAgICAgICAgZW52Lm5vdGVfZGVwZW5kZW5jeShvcy5wYXRo LmFic3BhdGgoZmlsZW5hbWUpKQo+IEBAIC04NiwxOSArODgsMjIgQEAgY2xhc3MgS2VybmVsRG9j RGlyZWN0aXZlKERpcmVjdGl2ZSk6Cj4gICAgICAgICAgICAgIGV4cG9ydF9maWxlX3BhdHRlcm5z ID0gc3RyKHNlbGYub3B0aW9ucy5nZXQoJ2ludGVybmFsJykpLnNwbGl0KCkKPiAgICAgICAgICBl bGlmICdkb2MnIGluIHNlbGYub3B0aW9uczoKPiAgICAgICAgICAgICAgY21kICs9IFsnLWZ1bmN0 aW9uJywgc3RyKHNlbGYub3B0aW9ucy5nZXQoJ2RvYycpKV0KPiArICAgICAgICBlbGlmICdpZGVu dGlmaWVycycgaW4gc2VsZi5vcHRpb25zOgo+ICsgICAgICAgICAgICBpZGVudGlmaWVycyA9IHNl bGYub3B0aW9ucy5nZXQoJ2lkZW50aWZpZXJzJykuc3BsaXQoKQo+ICAgICAgICAgIGVsaWYgJ2Z1 bmN0aW9ucycgaW4gc2VsZi5vcHRpb25zOgo+IC0gICAgICAgICAgICBmdW5jdGlvbnMgPSBzZWxm Lm9wdGlvbnMuZ2V0KCdmdW5jdGlvbnMnKS5zcGxpdCgpCj4gLSAgICAgICAgICAgIGlmIGZ1bmN0 aW9uczoKPiAtICAgICAgICAgICAgICAgIGZvciBmIGluIGZ1bmN0aW9uczoKPiAtICAgICAgICAg ICAgICAgICAgICBjbWQgKz0gWyctZnVuY3Rpb24nLCBmXQo+IC0gICAgICAgICAgICBlbHNlOgo+ IC0gICAgICAgICAgICAgICAgY21kICs9IFsnLW5vLWRvYy1zZWN0aW9ucyddCj4gKyAgICAgICAg ICAgIGlkZW50aWZpZXJzID0gc2VsZi5vcHRpb25zLmdldCgnZnVuY3Rpb25zJykuc3BsaXQoKQoK UmF0aGVyIHRoYW4gZG8gdGhpcywgY2FuIHlvdSBqdXN0IGNoYW5nZSB0aGUgZWxpZiBsaW5lIHRv IHJlYWQ6CgogICAgZWxpZiAoJ2lkZW50aWZpZXJzJyBpbiBzZWxmLm9wdGlvbnMpIG9yICgnZnVu Y3Rpb25zJyBpbiBzZWxmLm9wdGlvbnMpOgoKLi4udGhlbiBsZWF2ZSB0aGUgcmVzdCBvZiB0aGUg Y29kZSBpbnRhY3Q/ICBJdCBrZWVwcyB0aGUgbG9naWMgdG9nZXRoZXIsCmFuZCBhdm9pZHMgdGhl IGNvbmZ1c2luZyBkaXN0aW5jdGlvbiBiZXR3ZWVuIGlkZW50aWZpZXJzPT0nJyBhbmQKaWRlbnRp ZmllcnM9PU5vbmUgLgoKVGhhbmtzLAoKam9uCgo+ICAgICAgICAgIGZvciBwYXR0ZXJuIGluIGV4 cG9ydF9maWxlX3BhdHRlcm5zOgo+ICAgICAgICAgICAgICBmb3IgZiBpbiBnbG9iLmdsb2IoZW52 LmNvbmZpZy5rZXJuZWxkb2Nfc3JjdHJlZSArICcvJyArIHBhdHRlcm4pOgo+ICAgICAgICAgICAg ICAgICAgZW52Lm5vdGVfZGVwZW5kZW5jeShvcy5wYXRoLmFic3BhdGgoZikpCj4gICAgICAgICAg ICAgICAgICBjbWQgKz0gWyctZXhwb3J0LWZpbGUnLCBmXQo+ICAKPiArICAgICAgICBpZiBpZGVu dGlmaWVyczoKPiArICAgICAgICAgICAgZm9yIGkgaW4gaWRlbnRpZmllcnM6Cj4gKyAgICAgICAg ICAgICAgICBjbWQgKz0gWyctZnVuY3Rpb24nLCBpXQo+ICsgICAgICAgIGVsaWYgaWRlbnRpZmll cnMgaXMgbm90IE5vbmU6Cj4gKyAgICAgICAgICAgIGNtZCArPSBbJy1uby1kb2Mtc2VjdGlvbnMn XQo+ICsKPiAgICAgICAgICBjbWQgKz0gW2ZpbGVuYW1lXQo+ICAKPiAgICAgICAgICB0cnk6Cl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBt YWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA== 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=-6.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=unavailable 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 54E15CA9EAF for ; Thu, 24 Oct 2019 18:19:44 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 3075620684 for ; Thu, 24 Oct 2019 18:19:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3075620684 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=lwn.net Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A889C6E5C6; Thu, 24 Oct 2019 18:19:43 +0000 (UTC) Received: from ms.lwn.net (ms.lwn.net [45.79.88.28]) by gabe.freedesktop.org (Postfix) with ESMTPS id 590F36E5C6; Thu, 24 Oct 2019 18:19:43 +0000 (UTC) Received: from lwn.net (localhost [127.0.0.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ms.lwn.net (Postfix) with ESMTPSA id B4C682F5; Thu, 24 Oct 2019 18:19:41 +0000 (UTC) Date: Thu, 24 Oct 2019 12:19:40 -0600 From: Jonathan Corbet To: Changbin Du Message-ID: <20191024121940.1d6a64df@lwn.net> In-Reply-To: <20191020131717.28990-1-changbin.du@gmail.com> References: <20191020131717.28990-1-changbin.du@gmail.com> Organization: LWN.net MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH v2] kernel-doc: rename the kernel-doc directive 'functions' to 'identifiers' X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Matthew Wilcox , Thomas Zimmermann , linux-doc@vger.kernel.org, linux-pci@vger.kernel.org, linux-fpga@vger.kernel.org, linux-usb@vger.kernel.org, linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mm@kvack.org, linux-crypto@vger.kernel.org, linux-kselftest@vger.kernel.org, intel-gfx@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191024181940.z5xVFk5pPe9tcVBYXbM1Fn9JRvwDx8W_mQ4CHA55u9M@z> T24gU3VuLCAyMCBPY3QgMjAxOSAyMToxNzoxNyArMDgwMApDaGFuZ2JpbiBEdSA8Y2hhbmdiaW4u ZHVAZ21haWwuY29tPiB3cm90ZToKCj4gVGhlICdmdW5jdGlvbnMnIGRpcmVjdGl2ZSBpcyBub3Qg b25seSBmb3IgZnVuY3Rpb25zLCBidXQgYWxzbyB3b3JrcyBmb3IKPiBzdHJ1Y3RzL3VuaW9ucy4g U28gdGhlIG5hbWUgaXMgbWlzbGVhZGluZy4gVGhpcyBwYXRjaCByZW5hbWVzIGl0IHRvCj4gJ2lk ZW50aWZpZXJzJywgd2hpY2ggc3BlY2lmaWMgdGhlIGZ1bmN0aW9ucy90eXBlcyB0byBiZSBpbmNs dWRlZCBpbgo+IGRvY3VtZW50YXRpb24uIFdlIGtlZXAgdGhlIG9sZCBuYW1lIGFzIGFuIGFsaWFz IG9mIHRoZSBuZXcgb25lIGJlZm9yZQo+IGFsbCBkb2N1bWVudGF0aW9uIGFyZSB1cGRhdGVkLgo+ IAo+IFNpZ25lZC1vZmYtYnk6IENoYW5nYmluIER1IDxjaGFuZ2Jpbi5kdUBnbWFpbC5jb20+CgpT byBJIHRoaW5rIHRoaXMgaXMgYmFzaWNhbGx5IE9LLCBidXQgSSBoYXZlIG9uZSBtb3JlIHJlcXVl c3QuLi4KClsuLi5dCgo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3NwaGlueC9rZXJuZWxk b2MucHkgYi9Eb2N1bWVudGF0aW9uL3NwaGlueC9rZXJuZWxkb2MucHkKPiBpbmRleCAxMTU5NDA1 Y2I5MjAuLjA2ODlmOWMzN2YxZSAxMDA2NDQKPiAtLS0gYS9Eb2N1bWVudGF0aW9uL3NwaGlueC9r ZXJuZWxkb2MucHkKPiArKysgYi9Eb2N1bWVudGF0aW9uL3NwaGlueC9rZXJuZWxkb2MucHkKPiBA QCAtNTksOSArNTksMTAgQEAgY2xhc3MgS2VybmVsRG9jRGlyZWN0aXZlKERpcmVjdGl2ZSk6Cj4g ICAgICBvcHRpb25hbF9hcmd1bWVudHMgPSA0Cj4gICAgICBvcHRpb25fc3BlYyA9IHsKPiAgICAg ICAgICAnZG9jJzogZGlyZWN0aXZlcy51bmNoYW5nZWRfcmVxdWlyZWQsCj4gLSAgICAgICAgJ2Z1 bmN0aW9ucyc6IGRpcmVjdGl2ZXMudW5jaGFuZ2VkLAo+ICAgICAgICAgICdleHBvcnQnOiBkaXJl Y3RpdmVzLnVuY2hhbmdlZCwKPiAgICAgICAgICAnaW50ZXJuYWwnOiBkaXJlY3RpdmVzLnVuY2hh bmdlZCwKPiArICAgICAgICAnaWRlbnRpZmllcnMnOiBkaXJlY3RpdmVzLnVuY2hhbmdlZCwKPiAr ICAgICAgICAnZnVuY3Rpb25zJzogZGlyZWN0aXZlcy51bmNoYW5nZWQsICAjIGFsaWFzIG9mICdp ZGVudGlmaWVycycKPiAgICAgIH0KPiAgICAgIGhhc19jb250ZW50ID0gRmFsc2UKPiAgCj4gQEAg LTcxLDYgKzcyLDcgQEAgY2xhc3MgS2VybmVsRG9jRGlyZWN0aXZlKERpcmVjdGl2ZSk6Cj4gIAo+ ICAgICAgICAgIGZpbGVuYW1lID0gZW52LmNvbmZpZy5rZXJuZWxkb2Nfc3JjdHJlZSArICcvJyAr IHNlbGYuYXJndW1lbnRzWzBdCj4gICAgICAgICAgZXhwb3J0X2ZpbGVfcGF0dGVybnMgPSBbXQo+ ICsgICAgICAgIGlkZW50aWZpZXJzID0gTm9uZQo+ICAKPiAgICAgICAgICAjIFRlbGwgc3BoaW54 IG9mIHRoZSBkZXBlbmRlbmN5Cj4gICAgICAgICAgZW52Lm5vdGVfZGVwZW5kZW5jeShvcy5wYXRo LmFic3BhdGgoZmlsZW5hbWUpKQo+IEBAIC04NiwxOSArODgsMjIgQEAgY2xhc3MgS2VybmVsRG9j RGlyZWN0aXZlKERpcmVjdGl2ZSk6Cj4gICAgICAgICAgICAgIGV4cG9ydF9maWxlX3BhdHRlcm5z ID0gc3RyKHNlbGYub3B0aW9ucy5nZXQoJ2ludGVybmFsJykpLnNwbGl0KCkKPiAgICAgICAgICBl bGlmICdkb2MnIGluIHNlbGYub3B0aW9uczoKPiAgICAgICAgICAgICAgY21kICs9IFsnLWZ1bmN0 aW9uJywgc3RyKHNlbGYub3B0aW9ucy5nZXQoJ2RvYycpKV0KPiArICAgICAgICBlbGlmICdpZGVu dGlmaWVycycgaW4gc2VsZi5vcHRpb25zOgo+ICsgICAgICAgICAgICBpZGVudGlmaWVycyA9IHNl bGYub3B0aW9ucy5nZXQoJ2lkZW50aWZpZXJzJykuc3BsaXQoKQo+ICAgICAgICAgIGVsaWYgJ2Z1 bmN0aW9ucycgaW4gc2VsZi5vcHRpb25zOgo+IC0gICAgICAgICAgICBmdW5jdGlvbnMgPSBzZWxm Lm9wdGlvbnMuZ2V0KCdmdW5jdGlvbnMnKS5zcGxpdCgpCj4gLSAgICAgICAgICAgIGlmIGZ1bmN0 aW9uczoKPiAtICAgICAgICAgICAgICAgIGZvciBmIGluIGZ1bmN0aW9uczoKPiAtICAgICAgICAg ICAgICAgICAgICBjbWQgKz0gWyctZnVuY3Rpb24nLCBmXQo+IC0gICAgICAgICAgICBlbHNlOgo+ IC0gICAgICAgICAgICAgICAgY21kICs9IFsnLW5vLWRvYy1zZWN0aW9ucyddCj4gKyAgICAgICAg ICAgIGlkZW50aWZpZXJzID0gc2VsZi5vcHRpb25zLmdldCgnZnVuY3Rpb25zJykuc3BsaXQoKQoK UmF0aGVyIHRoYW4gZG8gdGhpcywgY2FuIHlvdSBqdXN0IGNoYW5nZSB0aGUgZWxpZiBsaW5lIHRv IHJlYWQ6CgogICAgZWxpZiAoJ2lkZW50aWZpZXJzJyBpbiBzZWxmLm9wdGlvbnMpIG9yICgnZnVu Y3Rpb25zJyBpbiBzZWxmLm9wdGlvbnMpOgoKLi4udGhlbiBsZWF2ZSB0aGUgcmVzdCBvZiB0aGUg Y29kZSBpbnRhY3Q/ICBJdCBrZWVwcyB0aGUgbG9naWMgdG9nZXRoZXIsCmFuZCBhdm9pZHMgdGhl IGNvbmZ1c2luZyBkaXN0aW5jdGlvbiBiZXR3ZWVuIGlkZW50aWZpZXJzPT0nJyBhbmQKaWRlbnRp ZmllcnM9PU5vbmUgLgoKVGhhbmtzLAoKam9uCgo+ICAgICAgICAgIGZvciBwYXR0ZXJuIGluIGV4 cG9ydF9maWxlX3BhdHRlcm5zOgo+ICAgICAgICAgICAgICBmb3IgZiBpbiBnbG9iLmdsb2IoZW52 LmNvbmZpZy5rZXJuZWxkb2Nfc3JjdHJlZSArICcvJyArIHBhdHRlcm4pOgo+ICAgICAgICAgICAg ICAgICAgZW52Lm5vdGVfZGVwZW5kZW5jeShvcy5wYXRoLmFic3BhdGgoZikpCj4gICAgICAgICAg ICAgICAgICBjbWQgKz0gWyctZXhwb3J0LWZpbGUnLCBmXQo+ICAKPiArICAgICAgICBpZiBpZGVu dGlmaWVyczoKPiArICAgICAgICAgICAgZm9yIGkgaW4gaWRlbnRpZmllcnM6Cj4gKyAgICAgICAg ICAgICAgICBjbWQgKz0gWyctZnVuY3Rpb24nLCBpXQo+ICsgICAgICAgIGVsaWYgaWRlbnRpZmll cnMgaXMgbm90IE5vbmU6Cj4gKyAgICAgICAgICAgIGNtZCArPSBbJy1uby1kb2Mtc2VjdGlvbnMn XQo+ICsKPiAgICAgICAgICBjbWQgKz0gW2ZpbGVuYW1lXQo+ICAKPiAgICAgICAgICB0cnk6Cl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==