From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2D8F5192B86; Fri, 23 Aug 2024 19:02:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.135.223.130 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1724439744; cv=none; b=q9T9AV6W1mdXXU6qsggDpDQ0P/jo0wq/rJgjpLpvm/iZ+d4eFL78pZ+IwTV9W7ePaD+fEpzf/gGiBZWe81j7KWkNMux04zTeOTF2z/o7x4OUsQBZwq3p3wbOMMr/WoKfkGVka81OtZDaygdQhedl9QZVAPuTtjkHxzKbinYgbRs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1724439744; c=relaxed/simple; bh=X/Aux/Oxye9WarYf5QaQpbTtf/dohJK0nr1mA2PS2KQ=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=hdHw6unjBXLTYZafXlugUr3y+5P1kJGHQDqE/aLg1NxgjzjHER+d+o6teioQB/dICYdn0qUa6QgVhdXuDYwIBg6tXgXncmTTSfleVZSFx5hqEdIuPSnXlMcnTQDpgKM25vfZMn3O0K1KS/aQJVKezQvmoq5xTUeYTgFi1HMbBps= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz; spf=pass smtp.mailfrom=suse.cz; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b=y6Hos3+M; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=skRm8FGy; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b=y6Hos3+M; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b=skRm8FGy; arc=none smtp.client-ip=195.135.223.130 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=suse.cz Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.cz Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="y6Hos3+M"; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="skRm8FGy"; dkim=pass (1024-bit key) header.d=suse.cz header.i=@suse.cz header.b="y6Hos3+M"; dkim=permerror (0-bit key) header.d=suse.cz header.i=@suse.cz header.b="skRm8FGy" Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id A308522319; Fri, 23 Aug 2024 18:53:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1724439184; h=from:from:reply-to:reply-to:date:date:message-id:message-id:to:to: cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OG3GVJvSkSrZing4dFbZLwgqoUoF+8JjNz2qwIrHZF0=; b=y6Hos3+MKKCwRWqdGbalwjyN0yI1r3BArHAE2+WFm6lI1iM4Aoaa2LHiwKm3e5rBI7T4zf 8zyE/YOu+jT/ClG/iM5ucHm87XLCB9elPs058ly1RhChqF3nmx8je31lBAAbnUdawXGjb7 gSVsugwnfc2na5GoNRktCsvZMj3sA48= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1724439184; h=from:from:reply-to:reply-to:date:date:message-id:message-id:to:to: cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OG3GVJvSkSrZing4dFbZLwgqoUoF+8JjNz2qwIrHZF0=; b=skRm8FGyz3iCWprfZB+kYg+cSsywIeLFwMXLzs0BnteHym7JYC81cN8C0IP7iigmDe90xu OvQcUno0gBdS94Ag== Authentication-Results: smtp-out1.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1724439184; h=from:from:reply-to:reply-to:date:date:message-id:message-id:to:to: cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OG3GVJvSkSrZing4dFbZLwgqoUoF+8JjNz2qwIrHZF0=; b=y6Hos3+MKKCwRWqdGbalwjyN0yI1r3BArHAE2+WFm6lI1iM4Aoaa2LHiwKm3e5rBI7T4zf 8zyE/YOu+jT/ClG/iM5ucHm87XLCB9elPs058ly1RhChqF3nmx8je31lBAAbnUdawXGjb7 gSVsugwnfc2na5GoNRktCsvZMj3sA48= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1724439184; h=from:from:reply-to:reply-to:date:date:message-id:message-id:to:to: cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OG3GVJvSkSrZing4dFbZLwgqoUoF+8JjNz2qwIrHZF0=; b=skRm8FGyz3iCWprfZB+kYg+cSsywIeLFwMXLzs0BnteHym7JYC81cN8C0IP7iigmDe90xu OvQcUno0gBdS94Ag== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 184E41333E; Fri, 23 Aug 2024 18:53:04 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id 7H5dA5DayGZYRAAAD6G6ig (envelope-from ); Fri, 23 Aug 2024 18:53:04 +0000 Date: Fri, 23 Aug 2024 20:53:02 +0200 From: Petr Vorel To: Chuck Lever III Cc: "ltp@lists.linux.it" , Li Wang , Cyril Hrubis , Avinesh Kumar , Josef Bacik , Neil Brown , linux-stable , Linux NFS Mailing List Subject: Re: [PATCH v2 1/1] nfsstat01: Update client RPC calls for kernel 6.9 Message-ID: <20240823185302.GA1302254@pevik> Reply-To: Petr Vorel References: <20240814085721.518800-1-pvorel@suse.cz> <20240823064640.GA1217451@pevik> <0BDD1287-471E-47A8-A362-DF660806CED6@oracle.com> Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <0BDD1287-471E-47A8-A362-DF660806CED6@oracle.com> X-Spam-Score: -7.50 X-Spamd-Result: default: False [-7.50 / 50.00]; REPLY(-4.00)[]; BAYES_HAM(-3.00)[100.00%]; NEURAL_HAM_LONG(-1.00)[-1.000]; MID_RHS_NOT_FQDN(0.50)[]; HAS_REPLYTO(0.30)[pvorel@suse.cz]; NEURAL_HAM_SHORT(-0.20)[-0.999]; MIME_GOOD(-0.10)[text/plain]; TO_DN_EQ_ADDR_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; MIME_TRACE(0.00)[0:+]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; MISSING_XM_UA(0.00)[]; RCVD_TLS_ALL(0.00)[]; DKIM_SIGNED(0.00)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_SEVEN(0.00)[9]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.cz:replyto,suse.cz:email]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FUZZY_BLOCKED(0.00)[rspamd.com]; REPLYTO_EQ_FROM(0.00)[] X-Spam-Flag: NO X-Spam-Level: > > On Aug 23, 2024, at 2:46 AM, Petr Vorel wrote: > > Hi Chuck, Neil, all, > >> On Wed, Aug 14, 2024 at 10:57:21AM +0200, Petr Vorel wrote: > >>> 6.9 moved client RPC calls to namespace in "Make nfs stats visible in > >>> network NS" patchet. > >>> https://lore.kernel.org/linux-nfs/cover.1708026931.git.josef@toxicpanda.com/ > >>> Signed-off-by: Petr Vorel > >>> --- > >>> Changes v1->v2: > >>> * Point out whole patchset, not just single commit > >>> * Add a comment about the patchset > >>> Hi all, > >>> could you please ack this so that we have fixed mainline? > >>> FYI Some parts has been backported, e.g.: > >>> d47151b79e322 ("nfs: expose /proc/net/sunrpc/nfs in net namespaces") > >>> to all stable/LTS: 5.4.276, 5.10.217, 5.15.159, 6.1.91, 6.6.31. > >>> But most of that is not yet (but planned to be backported), e.g. > >>> 93483ac5fec62 ("nfsd: expose /proc/net/sunrpc/nfsd in net namespaces") > >>> see Chuck's patchset for 6.6 > >>> https://lore.kernel.org/linux-nfs/20240812223604.32592-1-cel@kernel.org/ > >>> Once all kernels up to 5.4 fixed we should update the version. > >>> Kind regards, > >>> Petr > >>> testcases/network/nfs/nfsstat01/nfsstat01.sh | 9 ++++++++- > >>> 1 file changed, 8 insertions(+), 1 deletion(-) > >>> diff --git a/testcases/network/nfs/nfsstat01/nfsstat01.sh b/testcases/network/nfs/nfsstat01/nfsstat01.sh > >>> index c2856eff1f..1beecbec43 100755 > >>> --- a/testcases/network/nfs/nfsstat01/nfsstat01.sh > >>> +++ b/testcases/network/nfs/nfsstat01/nfsstat01.sh > >>> @@ -15,7 +15,14 @@ get_calls() > >>> local calls opt > >>> [ "$name" = "rpc" ] && opt="r" || opt="n" > >>> - ! tst_net_use_netns && [ "$nfs_f" != "nfs" ] && type="rhost" > >>> + > >>> + if tst_net_use_netns; then > >>> + # "Make nfs stats visible in network NS" patchet > >>> + # https://lore.kernel.org/linux-nfs/cover.1708026931.git.josef@toxicpanda.com/ > >>> + tst_kvcmp -ge "6.9" && [ "$nfs_f" = "nfs" ] && type="rhost" > >> Hello Petr- > >> My concern with this fix is it targets v6.9 specifically, yet we > >> know these fixes will appear in LTS/stable kernels as well. > > Great! I see you already fixed up to 5.15. I suppose the code is really > > backportable to the other still active branches (5.10, 5.4, 4.19). > I plan to work on backporting to v5.10 next week. > I've been asked to look at v5.4, but I'm not sure how difficult > that will be because it's missing a lot of NFSD patches. I will > look into that in a couple of weeks. > I'm very likely to punt on v4.19, though Oracle's stable backport > team might try to tackle it at some point. (pun intended) Thanks a lot for info, we'll see what you / your Oracle backport team will manage in the end. > > We discussed in v1 how to fix tests. Neil suggested to fix the test the way so > > that it works on all kernels. As I note [1] > > 1) either we give up on checking the new functionality still works (if we > > fallback to old behavior) > > 2) or we need to specify from which kernel we expect new functionality > > (so far it's 5.15, I suppose it will be older). > > I would prefer 2) to have new functionality always tested. > > Or am I missing something obvious? > I don't quite understand the question. > The "old functionality" of reporting these statistics globally > is broken, but we're stuck with it in the older kernels. I guess > you might want to confirm that, for a given recent kernel > release, the stats are actually per-namespace -- that's what we > expect in fixed kernels. Is that what you mean? Yes. I'm just trying to say that Neil's proposal "work everywhere without checking kernel version" will not work. I would like next week, after you send 5.10 patches to expect anything >= 5.10 will have new functionality and update kernel version if more gets backported. Kind regards, Petr > > Kind regards, > > Petr > > [1] https://lore.kernel.org/linux-nfs/172367387549.6062.7078032983644586462@noble.neil.brown.name/ > >> Neil Brown suggested an alternative approach that might not depend > >> on knowing the specific kernel version: > >> https://lore.kernel.org/linux-nfs/172078283934.15471.13377048166707693692@noble.neil.brown.name/ > >> HTH > >>> + else > >>> + [ "$nfs_f" != "nfs" ] && type="rhost" > >>> + fi > >>> if [ "$type" = "lhost" ]; then > >>> calls="$(grep $name /proc/net/rpc/$nfs_f | cut -d' ' -f$field)" > >>> -- > >>> 2.45.2 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 Received: from picard.linux.it (picard.linux.it [213.254.12.146]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9CF2FC52D7C for ; Fri, 23 Aug 2024 18:53:25 +0000 (UTC) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id 9BEF33D2379 for ; Fri, 23 Aug 2024 20:53:23 +0200 (CEST) Received: from in-4.smtp.seeweb.it (in-4.smtp.seeweb.it [IPv6:2001:4b78:1:20::4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1)) (No client certificate requested) by picard.linux.it (Postfix) with ESMTPS id 926223D234B for ; Fri, 23 Aug 2024 20:53:07 +0200 (CEST) Authentication-Results: in-4.smtp.seeweb.it; spf=pass (sender SPF authorized) smtp.mailfrom=suse.cz (client-ip=2a07:de40:b251:101:10:150:64:1; helo=smtp-out1.suse.de; envelope-from=pvorel@suse.cz; receiver=lists.linux.it) Received: from smtp-out1.suse.de (smtp-out1.suse.de [IPv6:2a07:de40:b251:101:10:150:64:1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by in-4.smtp.seeweb.it (Postfix) with ESMTPS id 0E02B100093E for ; Fri, 23 Aug 2024 20:53:06 +0200 (CEST) Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id A308522319; Fri, 23 Aug 2024 18:53:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1724439184; h=from:from:reply-to:reply-to:date:date:message-id:message-id:to:to: cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OG3GVJvSkSrZing4dFbZLwgqoUoF+8JjNz2qwIrHZF0=; b=y6Hos3+MKKCwRWqdGbalwjyN0yI1r3BArHAE2+WFm6lI1iM4Aoaa2LHiwKm3e5rBI7T4zf 8zyE/YOu+jT/ClG/iM5ucHm87XLCB9elPs058ly1RhChqF3nmx8je31lBAAbnUdawXGjb7 gSVsugwnfc2na5GoNRktCsvZMj3sA48= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1724439184; h=from:from:reply-to:reply-to:date:date:message-id:message-id:to:to: cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OG3GVJvSkSrZing4dFbZLwgqoUoF+8JjNz2qwIrHZF0=; b=skRm8FGyz3iCWprfZB+kYg+cSsywIeLFwMXLzs0BnteHym7JYC81cN8C0IP7iigmDe90xu OvQcUno0gBdS94Ag== Authentication-Results: smtp-out1.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1724439184; h=from:from:reply-to:reply-to:date:date:message-id:message-id:to:to: cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OG3GVJvSkSrZing4dFbZLwgqoUoF+8JjNz2qwIrHZF0=; b=y6Hos3+MKKCwRWqdGbalwjyN0yI1r3BArHAE2+WFm6lI1iM4Aoaa2LHiwKm3e5rBI7T4zf 8zyE/YOu+jT/ClG/iM5ucHm87XLCB9elPs058ly1RhChqF3nmx8je31lBAAbnUdawXGjb7 gSVsugwnfc2na5GoNRktCsvZMj3sA48= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1724439184; h=from:from:reply-to:reply-to:date:date:message-id:message-id:to:to: cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OG3GVJvSkSrZing4dFbZLwgqoUoF+8JjNz2qwIrHZF0=; b=skRm8FGyz3iCWprfZB+kYg+cSsywIeLFwMXLzs0BnteHym7JYC81cN8C0IP7iigmDe90xu OvQcUno0gBdS94Ag== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 184E41333E; Fri, 23 Aug 2024 18:53:04 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id 7H5dA5DayGZYRAAAD6G6ig (envelope-from ); Fri, 23 Aug 2024 18:53:04 +0000 Date: Fri, 23 Aug 2024 20:53:02 +0200 From: Petr Vorel To: Chuck Lever III Message-ID: <20240823185302.GA1302254@pevik> References: <20240814085721.518800-1-pvorel@suse.cz> <20240823064640.GA1217451@pevik> <0BDD1287-471E-47A8-A362-DF660806CED6@oracle.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <0BDD1287-471E-47A8-A362-DF660806CED6@oracle.com> X-Spamd-Result: default: False [-7.50 / 50.00]; REPLY(-4.00)[]; BAYES_HAM(-3.00)[100.00%]; NEURAL_HAM_LONG(-1.00)[-1.000]; MID_RHS_NOT_FQDN(0.50)[]; HAS_REPLYTO(0.30)[pvorel@suse.cz]; NEURAL_HAM_SHORT(-0.20)[-0.999]; MIME_GOOD(-0.10)[text/plain]; TO_DN_EQ_ADDR_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; MIME_TRACE(0.00)[0:+]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; MISSING_XM_UA(0.00)[]; RCVD_TLS_ALL(0.00)[]; DKIM_SIGNED(0.00)[suse.cz:s=susede2_rsa,suse.cz:s=susede2_ed25519]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_SEVEN(0.00)[9]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.cz:replyto,suse.cz:email]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FUZZY_BLOCKED(0.00)[rspamd.com]; REPLYTO_EQ_FROM(0.00)[] X-Virus-Scanned: clamav-milter 1.0.3 at in-4.smtp.seeweb.it X-Virus-Status: Clean Subject: Re: [LTP] [PATCH v2 1/1] nfsstat01: Update client RPC calls for kernel 6.9 X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Petr Vorel Cc: Linux NFS Mailing List , Neil Brown , Josef Bacik , linux-stable , "ltp@lists.linux.it" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ltp-bounces+ltp=archiver.kernel.org@lists.linux.it Sender: "ltp" Cgo+ID4gT24gQXVnIDIzLCAyMDI0LCBhdCAyOjQ24oCvQU0sIFBldHIgVm9yZWwgPHB2b3JlbEBz dXNlLmN6PiB3cm90ZToKCj4gPiBIaSBDaHVjaywgTmVpbCwgYWxsLAoKPiA+PiBPbiBXZWQsIEF1 ZyAxNCwgMjAyNCBhdCAxMDo1NzoyMUFNICswMjAwLCBQZXRyIFZvcmVsIHdyb3RlOgo+ID4+PiA2 LjkgbW92ZWQgY2xpZW50IFJQQyBjYWxscyB0byBuYW1lc3BhY2UgaW4gIk1ha2UgbmZzIHN0YXRz IHZpc2libGUgaW4KPiA+Pj4gbmV0d29yayBOUyIgcGF0Y2hldC4KCj4gPj4+IGh0dHBzOi8vbG9y ZS5rZXJuZWwub3JnL2xpbnV4LW5mcy9jb3Zlci4xNzA4MDI2OTMxLmdpdC5qb3NlZkB0b3hpY3Bh bmRhLmNvbS8KCj4gPj4+IFNpZ25lZC1vZmYtYnk6IFBldHIgVm9yZWwgPHB2b3JlbEBzdXNlLmN6 Pgo+ID4+PiAtLS0KPiA+Pj4gQ2hhbmdlcyB2MS0+djI6Cj4gPj4+ICogUG9pbnQgb3V0IHdob2xl IHBhdGNoc2V0LCBub3QganVzdCBzaW5nbGUgY29tbWl0Cj4gPj4+ICogQWRkIGEgY29tbWVudCBh Ym91dCB0aGUgcGF0Y2hzZXQKCj4gPj4+IEhpIGFsbCwKCj4gPj4+IGNvdWxkIHlvdSBwbGVhc2Ug YWNrIHRoaXMgc28gdGhhdCB3ZSBoYXZlIGZpeGVkIG1haW5saW5lPwoKPiA+Pj4gRllJIFNvbWUg cGFydHMgaGFzIGJlZW4gYmFja3BvcnRlZCwgZS5nLjoKPiA+Pj4gZDQ3MTUxYjc5ZTMyMiAoIm5m czogZXhwb3NlIC9wcm9jL25ldC9zdW5ycGMvbmZzIGluIG5ldCBuYW1lc3BhY2VzIikKPiA+Pj4g dG8gYWxsIHN0YWJsZS9MVFM6IDUuNC4yNzYsIDUuMTAuMjE3LCA1LjE1LjE1OSwgNi4xLjkxLCA2 LjYuMzEuCgo+ID4+PiBCdXQgbW9zdCBvZiB0aGF0IGlzIG5vdCB5ZXQgKGJ1dCBwbGFubmVkIHRv IGJlIGJhY2twb3J0ZWQpLCBlLmcuCj4gPj4+IDkzNDgzYWM1ZmVjNjIgKCJuZnNkOiBleHBvc2Ug L3Byb2MvbmV0L3N1bnJwYy9uZnNkIGluIG5ldCBuYW1lc3BhY2VzIikKPiA+Pj4gc2VlIENodWNr J3MgcGF0Y2hzZXQgZm9yIDYuNgo+ID4+PiBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1u ZnMvMjAyNDA4MTIyMjM2MDQuMzI1OTItMS1jZWxAa2VybmVsLm9yZy8KCj4gPj4+IE9uY2UgYWxs IGtlcm5lbHMgdXAgdG8gNS40IGZpeGVkIHdlIHNob3VsZCB1cGRhdGUgdGhlIHZlcnNpb24uCgo+ ID4+PiBLaW5kIHJlZ2FyZHMsCj4gPj4+IFBldHIKCj4gPj4+IHRlc3RjYXNlcy9uZXR3b3JrL25m cy9uZnNzdGF0MDEvbmZzc3RhdDAxLnNoIHwgOSArKysrKysrKy0KPiA+Pj4gMSBmaWxlIGNoYW5n ZWQsIDggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKPiA+Pj4gZGlmZiAtLWdpdCBhL3Rl c3RjYXNlcy9uZXR3b3JrL25mcy9uZnNzdGF0MDEvbmZzc3RhdDAxLnNoIGIvdGVzdGNhc2VzL25l dHdvcmsvbmZzL25mc3N0YXQwMS9uZnNzdGF0MDEuc2gKPiA+Pj4gaW5kZXggYzI4NTZlZmYxZi4u MWJlZWNiZWM0MyAxMDA3NTUKPiA+Pj4gLS0tIGEvdGVzdGNhc2VzL25ldHdvcmsvbmZzL25mc3N0 YXQwMS9uZnNzdGF0MDEuc2gKPiA+Pj4gKysrIGIvdGVzdGNhc2VzL25ldHdvcmsvbmZzL25mc3N0 YXQwMS9uZnNzdGF0MDEuc2gKPiA+Pj4gQEAgLTE1LDcgKzE1LDE0IEBAIGdldF9jYWxscygpCj4g Pj4+IGxvY2FsIGNhbGxzIG9wdAoKPiA+Pj4gWyAiJG5hbWUiID0gInJwYyIgXSAmJiBvcHQ9InIi IHx8IG9wdD0ibiIKPiA+Pj4gLSAhIHRzdF9uZXRfdXNlX25ldG5zICYmIFsgIiRuZnNfZiIgIT0g Im5mcyIgXSAmJiB0eXBlPSJyaG9zdCIKPiA+Pj4gKwo+ID4+PiArIGlmIHRzdF9uZXRfdXNlX25l dG5zOyB0aGVuCj4gPj4+ICsgIyAiTWFrZSBuZnMgc3RhdHMgdmlzaWJsZSBpbiBuZXR3b3JrIE5T IiBwYXRjaGV0Cj4gPj4+ICsgIyBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1uZnMvY292 ZXIuMTcwODAyNjkzMS5naXQuam9zZWZAdG94aWNwYW5kYS5jb20vCj4gPj4+ICsgdHN0X2t2Y21w IC1nZSAiNi45IiAmJiBbICIkbmZzX2YiID0gIm5mcyIgXSAmJiB0eXBlPSJyaG9zdCIKCj4gPj4g SGVsbG8gUGV0ci0KCj4gPj4gTXkgY29uY2VybiB3aXRoIHRoaXMgZml4IGlzIGl0IHRhcmdldHMg djYuOSBzcGVjaWZpY2FsbHksIHlldCB3ZQo+ID4+IGtub3cgdGhlc2UgZml4ZXMgd2lsbCBhcHBl YXIgaW4gTFRTL3N0YWJsZSBrZXJuZWxzIGFzIHdlbGwuCgo+ID4gR3JlYXQhIEkgc2VlIHlvdSBh bHJlYWR5IGZpeGVkIHVwIHRvIDUuMTUuIEkgc3VwcG9zZSB0aGUgY29kZSBpcyByZWFsbHkKPiA+ IGJhY2twb3J0YWJsZSB0byB0aGUgb3RoZXIgc3RpbGwgYWN0aXZlIGJyYW5jaGVzICg1LjEwLCA1 LjQsIDQuMTkpLgoKPiBJIHBsYW4gdG8gd29yayBvbiBiYWNrcG9ydGluZyB0byB2NS4xMCBuZXh0 IHdlZWsuCgo+IEkndmUgYmVlbiBhc2tlZCB0byBsb29rIGF0IHY1LjQsIGJ1dCBJJ20gbm90IHN1 cmUgaG93IGRpZmZpY3VsdAo+IHRoYXQgd2lsbCBiZSBiZWNhdXNlIGl0J3MgbWlzc2luZyBhIGxv dCBvZiBORlNEIHBhdGNoZXMuIEkgd2lsbAo+IGxvb2sgaW50byB0aGF0IGluIGEgY291cGxlIG9m IHdlZWtzLgoKPiBJJ20gdmVyeSBsaWtlbHkgdG8gcHVudCBvbiB2NC4xOSwgdGhvdWdoIE9yYWNs ZSdzIHN0YWJsZSBiYWNrcG9ydAo+IHRlYW0gbWlnaHQgdHJ5IHRvIHRhY2tsZSBpdCBhdCBzb21l IHBvaW50LiAocHVuIGludGVuZGVkKQoKVGhhbmtzIGEgbG90IGZvciBpbmZvLCB3ZSdsbCBzZWUg d2hhdCB5b3UgLyB5b3VyIE9yYWNsZSBiYWNrcG9ydCB0ZWFtIHdpbGwKbWFuYWdlIGluIHRoZSBl bmQuCgo+ID4gV2UgZGlzY3Vzc2VkIGluIHYxIGhvdyB0byBmaXggdGVzdHMuICBOZWlsIHN1Z2dl c3RlZCB0byBmaXggdGhlIHRlc3QgdGhlIHdheSBzbwo+ID4gdGhhdCBpdCB3b3JrcyBvbiBhbGwg a2VybmVscy4gQXMgSSBub3RlIFsxXQoKPiA+IDEpIGVpdGhlciB3ZSBnaXZlIHVwIG9uIGNoZWNr aW5nIHRoZSBuZXcgZnVuY3Rpb25hbGl0eSBzdGlsbCB3b3JrcyAoaWYgd2UKPiA+IGZhbGxiYWNr IHRvIG9sZCBiZWhhdmlvcikKPiA+IDIpIG9yIHdlIG5lZWQgdG8gc3BlY2lmeSBmcm9tIHdoaWNo IGtlcm5lbCB3ZSBleHBlY3QgbmV3IGZ1bmN0aW9uYWxpdHkKPiA+IChzbyBmYXIgaXQncyA1LjE1 LCBJIHN1cHBvc2UgaXQgd2lsbCBiZSBvbGRlcikuCgo+ID4gSSB3b3VsZCBwcmVmZXIgMikgdG8g aGF2ZSBuZXcgZnVuY3Rpb25hbGl0eSBhbHdheXMgdGVzdGVkLgo+ID4gT3IgYW0gSSBtaXNzaW5n IHNvbWV0aGluZyBvYnZpb3VzPwoKPiBJIGRvbid0IHF1aXRlIHVuZGVyc3RhbmQgdGhlIHF1ZXN0 aW9uLgoKPiBUaGUgIm9sZCBmdW5jdGlvbmFsaXR5IiBvZiByZXBvcnRpbmcgdGhlc2Ugc3RhdGlz dGljcyBnbG9iYWxseQo+IGlzIGJyb2tlbiwgYnV0IHdlJ3JlIHN0dWNrIHdpdGggaXQgaW4gdGhl IG9sZGVyIGtlcm5lbHMuIEkgZ3Vlc3MKPiB5b3UgbWlnaHQgd2FudCB0byBjb25maXJtIHRoYXQs IGZvciBhIGdpdmVuIHJlY2VudCBrZXJuZWwKPiByZWxlYXNlLCB0aGUgc3RhdHMgYXJlIGFjdHVh bGx5IHBlci1uYW1lc3BhY2UgLS0gdGhhdCdzIHdoYXQgd2UKPiBleHBlY3QgaW4gZml4ZWQga2Vy bmVscy4gSXMgdGhhdCB3aGF0IHlvdSBtZWFuPwoKWWVzLiBJJ20ganVzdCB0cnlpbmcgdG8gc2F5 IHRoYXQgTmVpbCdzIHByb3Bvc2FsICJ3b3JrIGV2ZXJ5d2hlcmUgd2l0aG91dApjaGVja2luZyBr ZXJuZWwgdmVyc2lvbiIgd2lsbCBub3Qgd29yay4gSSB3b3VsZCBsaWtlIG5leHQgd2VlaywgYWZ0 ZXIgeW91IHNlbmQKNS4xMCBwYXRjaGVzIHRvIGV4cGVjdCBhbnl0aGluZyA+PSA1LjEwIHdpbGwg aGF2ZSBuZXcgZnVuY3Rpb25hbGl0eQphbmQgdXBkYXRlIGtlcm5lbCB2ZXJzaW9uIGlmIG1vcmUg Z2V0cyBiYWNrcG9ydGVkLgoKS2luZCByZWdhcmRzLApQZXRyCgo+ID4gS2luZCByZWdhcmRzLAo+ ID4gUGV0cgoKPiA+IFsxXSBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1uZnMvMTcyMzY3 Mzg3NTQ5LjYwNjIuNzA3ODAzMjk4MzY0NDU4NjQ2MkBub2JsZS5uZWlsLmJyb3duLm5hbWUvCgo+ ID4+IE5laWwgQnJvd24gc3VnZ2VzdGVkIGFuIGFsdGVybmF0aXZlIGFwcHJvYWNoIHRoYXQgbWln aHQgbm90IGRlcGVuZAo+ID4+IG9uIGtub3dpbmcgdGhlIHNwZWNpZmljIGtlcm5lbCB2ZXJzaW9u OgoKPiA+PiBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1uZnMvMTcyMDc4MjgzOTM0LjE1 NDcxLjEzMzc3MDQ4MTY2NzA3NjkzNjkyQG5vYmxlLm5laWwuYnJvd24ubmFtZS8KCj4gPj4gSFRI CgoKPiA+Pj4gKyBlbHNlCj4gPj4+ICsgWyAiJG5mc19mIiAhPSAibmZzIiBdICYmIHR5cGU9InJo b3N0Igo+ID4+PiArIGZpCgo+ID4+PiBpZiBbICIkdHlwZSIgPSAibGhvc3QiIF07IHRoZW4KPiA+ Pj4gY2FsbHM9IiQoZ3JlcCAkbmFtZSAvcHJvYy9uZXQvcnBjLyRuZnNfZiB8IGN1dCAtZCcgJyAt ZiRmaWVsZCkiCj4gPj4+IC0tIAo+ID4+PiAyLjQ1LjIKCi0tIApNYWlsaW5nIGxpc3QgaW5mbzog aHR0cHM6Ly9saXN0cy5saW51eC5pdC9saXN0aW5mby9sdHAK