Received: (at 67611) by debbugs.gnu.org; 17 Jan 2024 09:12:29 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jan 17 04:12:29 2024 Received: from localhost ([127.0.0.1]:50728 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rQ1yG-0002eB-Kv for submit <at> debbugs.gnu.org; Wed, 17 Jan 2024 04:12:28 -0500 Received: from mail-lj1-x22f.google.com ([2a00:1450:4864:20::22f]:54335) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <joaotavora@HIDDEN>) id 1rQ1yE-0002dx-Bq for 67611 <at> debbugs.gnu.org; Wed, 17 Jan 2024 04:12:27 -0500 Received: by mail-lj1-x22f.google.com with SMTP id 38308e7fff4ca-2cd1232a2c7so134451631fa.0 for <67611 <at> debbugs.gnu.org>; Wed, 17 Jan 2024 01:12:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705482739; x=1706087539; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=JDbEsj5GDUeiuE0Q5bz0veKc/d0wuHIbThkqpkkKm7w=; b=Iovfe/ZIGF7aB082fefn2Ahy8doA7142zg/zR0o/nexdt61Uj+Hj4YNza38ydx2UV1 ETRbKXgefGG6u+iQnZwwEJmMQKdgKivUvhay31pfxJsI8Sn0K9MGE6J5anPSvlqmgFiy 5AWV/9Ouf7LB6DswgumPHDnFuC37/zlb9IbEyzcKYPanr0UOesgfr31tuC/w3UGRL2UQ 2MHcxkDhozRUqdrrwHskKbgQAb6Q/pJ8NNyyT6azbyeTME9mt4XsTyPB/huRjJeqWrZl BEwXZvvg1tA1JKCCnyqPLU7GnCgpA+XkhCeGcpP0smDwURIrayrJOYzH1e7m6Eg3DvrK 2HAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705482739; x=1706087539; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JDbEsj5GDUeiuE0Q5bz0veKc/d0wuHIbThkqpkkKm7w=; b=WI1VL8whZXmy8tl5rEpaRPVCDSm316FkHBJunkD9Eo8QIPoiWS5RtYJjtQ+/+RrPYQ XFUtu2JyXL/zr3FcPcYw/c5daDObJdulDWg3eLQd+PdKUQAxdKRocqNYY+vvgs3bxDmY vsrmH2zZwteIdhYxE1W8OB6A/c3ggp3HKsgdTE3mDZRKRr0YAZH4myRdlH5V6d7e26pm J/HbqoxfA8xdfL8R76s6tw2KgHcQbzg8Kb6mM4ZFh25SeNxA1f0pW7b3fR5wmO2MeG2w BKTBbVQf3+44zrRTtpsp1CumDtto6YGeYB0FNhPoXhLLDf+jqtc2FpHhC1OA3gYl8rpY CUVw== X-Gm-Message-State: AOJu0Yw4ZSXSvxlo1DPZr3SlSD/Rr56Ci+dmEBWF16REMFMamSNBkl91 rNRUlmIwrCrnOikoCarXqr9tJEbZKlIQd07UHoE= X-Google-Smtp-Source: AGHT+IHucw+c02qTnRNC425CqT7rRT835Y+LfQs9VY3r4owEKHZ6YiTvkz129XzfaEB5hCbWHjFHWSmzx9rl6tF6zYY= X-Received: by 2002:a2e:8e8c:0:b0:2cd:4c67:d3f1 with SMTP id z12-20020a2e8e8c000000b002cd4c67d3f1mr3821133ljk.102.1705482739230; Wed, 17 Jan 2024 01:12:19 -0800 (PST) MIME-Version: 1.0 References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN> <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN> <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN> <jwvwmsfntmc.fsf-monnier+emacs@HIDDEN> <CALDnm52=voD5PrnsU58wQR1omwymYdUALEAueqsQTZujU6i0rQ@HIDDEN> <jwvle8uefqj.fsf-monnier+emacs@HIDDEN> <E1rOqrI-0007yP-Kg@HIDDEN> <875xzw4ngq.fsf@HIDDEN> <E1rPwcn-0004ln-Ml@HIDDEN> In-Reply-To: <E1rPwcn-0004ln-Ml@HIDDEN> From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN> Date: Wed, 17 Jan 2024 09:12:07 +0000 Message-ID: <CALDnm51LhM6WTFN22tw0NrEo7koRPk8Bf0Vu-2=8g+idGQj69Q@HIDDEN> Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind` To: rms@HIDDEN Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67611 Cc: 67611 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On Wed, Jan 17, 2024 at 3:29=E2=80=AFAM Richard Stallman <rms@HIDDEN> wrot= e: > Could you tell me more concretely what this proposed feature would > look like in use? Perhaps with an example including context? Many examples in the patch, have you looked? > pcase does not use lambda lists, and neither does cond*. Pcase it extensible for any object structure the user may think of you can think of. This proposal is an extension. Here's an example (pcase some-mistery-object ((cl-arglist (42 &key a b c)) ; this proposal (message "Oh, it starts it 42 and has c=3D%s" c)) (`(,_ ,x ,_) (message "Boring three-element list with middle %s" x)) (`[,_ ,x ,_] (message "Fancy vector with middle %s" x)) ((franklinboing (nixneez)) ; my data-structure (message "This franklinboing has some nice nixneez %s=3D" nizneez))) Jo=C3=A3o
bug-gnu-emacs@HIDDEN
:bug#67611
; Package emacs
.
Full text available.Received: (at 67611) by debbugs.gnu.org; 17 Jan 2024 03:30:06 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jan 16 22:30:06 2024 Received: from localhost ([127.0.0.1]:50301 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rPwcw-0006xE-BI for submit <at> debbugs.gnu.org; Tue, 16 Jan 2024 22:30:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:57024) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <rms@HIDDEN>) id 1rPwcu-0006lg-MN for 67611 <at> debbugs.gnu.org; Tue, 16 Jan 2024 22:30:05 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <rms@HIDDEN>) id 1rPwco-0000wK-KO; Tue, 16 Jan 2024 22:29:58 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=Date:References:Subject:In-Reply-To:To:From: mime-version; bh=S9GqPm8eW4qwdYSXhLsmgngZjubJyFRc8cvn9lAs3Gw=; b=flYZXogeD2P0 Fb0eUqKj1MSiCTZZyhZKUgLNDm1tCwNTRRRu8PeLhAx2rmlvLc2wjnP/M5fgkh98wBm4YFYKy+Iyu jgQ16byOVjaV2wy2BmMaveKntbRU9zKcCh4BJ0K62T98NWuAxvGRvXFLusbrgPlBJVT64vZE9FH0a bBtKzRpXDnyADSsHHsC/gjZY53MOgbT+7xWiI+KNLH7I/WtrrkmTgh1uUr8FB0UueXNNNL9jSJoiV BQhb1yJoR7yp3eNnsji8j40yRBDFeZr43yPLvT73SS6BhwjXekmydKxQ5pl3kmGMg2jZ7kXEyJdB5 XkvNhXg2wF5tSNAWxNEg2g==; Received: from rms by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from <rms@HIDDEN>) id 1rPwcn-0004ln-Ml; Tue, 16 Jan 2024 22:29:57 -0500 Content-Type: text/plain; charset=Utf-8 From: Richard Stallman <rms@HIDDEN> To: =?iso-8859-1?Q?Jo=C3=A3o_T=C3=A1vora?= <joaotavora@HIDDEN> In-Reply-To: <875xzw4ngq.fsf@HIDDEN> (message from =?iso-8859-1?Q?Jo=C3?= =?iso-8859-1?Q?=A3o_T=C3=A1vora?= on Sun, 14 Jan 2024 03:12:53 +0000) Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind` References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN> <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN> <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN> <jwvwmsfntmc.fsf-monnier+emacs@HIDDEN> <CALDnm52=voD5PrnsU58wQR1omwymYdUALEAueqsQTZujU6i0rQ@HIDDEN> <jwvle8uefqj.fsf-monnier+emacs@HIDDEN> <E1rOqrI-0007yP-Kg@HIDDEN> <875xzw4ngq.fsf@HIDDEN> Message-Id: <E1rPwcn-0004ln-Ml@HIDDEN> Date: Tue, 16 Jan 2024 22:29:57 -0500 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67611 Cc: 67611 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Reply-To: rms@HIDDEN Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > Would someone please tell me what syntax is being proposed here, > > and show me an example, saying what it would mean? > Common-lisp style lambda lists. The ones containing the &key and > &optional with more features. Thanks for answering, but its meaning is not concretely clear to me. Could you tell me more concretely what this proposed feature would look like in use? Perhaps with an example including context? pcase does not use lambda lists, and neither does cond*. They are based on the backquote construct, which does not use &-keywords. I see a danger of conceptual incoherence here. If we want to extend the kinds of constructs for destructuring lists, we should extend the features of backquote. That would give a more coherent interface. We could define ,? to specify an element that might br missing, and ,& to specify a keyword argument. These could work in backquote for constructing lists as well as in destructiring. (let ((x 9) (y 10) (z nil) (u 11) (v nil) (w '(12 13))) `(a ,x ,?y ,?z ,&(foo u) ,&(bar v) . ,w)) => (a 9 10 foo 11 12 13) That is my first stab at the design. I think it is better, for this purpose, than using parmlist keywords. But maybe with more thinking we can find improvements. -- Dr Richard Stallman (https://stallman.org) Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org)
bug-gnu-emacs@HIDDEN
:bug#67611
; Package emacs
.
Full text available.Received: (at 67611) by debbugs.gnu.org; 14 Jan 2024 03:13:01 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 13 22:13:01 2024 Received: from localhost ([127.0.0.1]:41445 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rOqvl-0006QY-9M for submit <at> debbugs.gnu.org; Sat, 13 Jan 2024 22:13:01 -0500 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]:52661) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <joaotavora@HIDDEN>) id 1rOqvi-0006QH-Vu for 67611 <at> debbugs.gnu.org; Sat, 13 Jan 2024 22:12:59 -0500 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-336c8ab0b20so6692746f8f.1 for <67611 <at> debbugs.gnu.org>; Sat, 13 Jan 2024 19:12:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705201974; x=1705806774; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=00eIJKw7dwF8lAp6/hIt/lmF+Bkt3GTLWFylCNQNS/w=; b=hwZqCDGu/mFjRdVOJNkkCtnctMhEP7HA2S7rAahSQJ+EUgcZqHMPnI61M+UIyLGBdj 73iEjyXd8fhc8c5oTY1G5T6iL/55okyEszOAvIvDMnxf7x9UZskn9bTbEKfAmGzjEaxp MFk+se1dI5QIkyrFNIOwauOw/RfTLheE5PhHA3DFtnCSxuFG98WgQnsZOT3qSzzla+sU D9nc1ridOpPJWIwEd+dtL1twdPHbvWr0o2LIyKup11JpdyrLtlEwngUf0otQlZnZ49NK RoOy51b92vkoxnaq62CayIZaq8xM8ra7JfN4v79PgZT7egvI7sa3cHSZBEmbrzFoHNDT +Zzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705201974; x=1705806774; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=00eIJKw7dwF8lAp6/hIt/lmF+Bkt3GTLWFylCNQNS/w=; b=tskYBVzD0CIuKOy7DJ94klUSqrcLdCTLgw5UP8MBbxLtgFuPuH/xD4wonHgkP0zeIN oI6V4s61WADlGDjhGcYZAJJ21RN06uW4+JVRX+9pUXzmdBrOlLwDKvpfP9JixVWzABR+ WHP4SrTjivxCUqvoUlY5qn+x/m2bCbTIZIkNke3P8sQaCkxeiuIhIxMUh5awJWbj4nQF WVx+c935VQAyJHCCjMRf8VfoOSivB+jXsgWXpQgk+k0MW/k8zmlIDHL4Qd4VKgaTMOmb byiHFtI6vTQoTJSszec0qHJujcki23bNuKR+0klBk/ak3mHNR3dv4l27fGbh+qglxUP0 pq5g== X-Gm-Message-State: AOJu0YxQgnrKTLkniRhJVnp13LF3auSOfO8/3fYXkbL9wzl0TzTaOulB oCK9WQpKG7dcCd7L2ScRi+g= X-Google-Smtp-Source: AGHT+IFuhGjdKxDi3Lz5GksEtsIm2o+22UgS/hVyDsRAPkwDRtS2JediR8gSZFUBd8eEl3KvZ3bR/w== X-Received: by 2002:a05:6000:10ca:b0:336:7a51:5fac with SMTP id b10-20020a05600010ca00b003367a515facmr1929132wrx.71.1705201974098; Sat, 13 Jan 2024 19:12:54 -0800 (PST) Received: from krug (87-196-72-99.net.novis.pt. [87.196.72.99]) by smtp.gmail.com with ESMTPSA id l8-20020adfe588000000b0033662c2820bsm8041814wrm.117.2024.01.13.19.12.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 13 Jan 2024 19:12:53 -0800 (PST) From: =?utf-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN> To: Richard Stallman <rms@HIDDEN> Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind` In-Reply-To: <E1rOqrI-0007yP-Kg@HIDDEN> (Richard Stallman's message of "Sat, 13 Jan 2024 22:08:24 -0500") References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN> <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN> <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN> <jwvwmsfntmc.fsf-monnier+emacs@HIDDEN> <CALDnm52=voD5PrnsU58wQR1omwymYdUALEAueqsQTZujU6i0rQ@HIDDEN> <jwvle8uefqj.fsf-monnier+emacs@HIDDEN> <E1rOqrI-0007yP-Kg@HIDDEN> Date: Sun, 14 Jan 2024 03:12:53 +0000 Message-ID: <875xzw4ngq.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67611 Cc: okamsn@HIDDEN, 67611 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN>, stefankangas@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Richard Stallman <rms@HIDDEN> writes: > Would someone please tell me what syntax is being proposed here, > and show me an example, saying what it would mean? Common-lisp style lambda lists. The ones containing the &key and &optional with more features. It'd make it possible to use pcase for things similar to cl-destructuring-bind, which I suppose you know.
bug-gnu-emacs@HIDDEN
:bug#67611
; Package emacs
.
Full text available.Received: (at 67611) by debbugs.gnu.org; 14 Jan 2024 03:08:36 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 13 22:08:36 2024 Received: from localhost ([127.0.0.1]:41432 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rOqrT-0006IA-SI for submit <at> debbugs.gnu.org; Sat, 13 Jan 2024 22:08:36 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55438) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <rms@HIDDEN>) id 1rOqrR-0006Hv-JZ for 67611 <at> debbugs.gnu.org; Sat, 13 Jan 2024 22:08:34 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <rms@HIDDEN>) id 1rOqrN-0004kW-5t; Sat, 13 Jan 2024 22:08:29 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=Date:References:Subject:In-Reply-To:To:From: mime-version; bh=JTSFIjBkgLdQExTo0RPGc70g+1TwreVt0FdKpR9lg/A=; b=nb762Hd+SD7m 0k0CIVXn3j/wwa8wrkpuWubEhAOfY+zszwaKQ4NBhlUAicJHUNhqRiadfQ3BTqzMU58VJNP5BMc7P Zcgf0+AGB0wphn44hjqTxwxq7ZyVmlnPtxt9LoGtI1UKdj4Is9k/yHqFUE3UNTRpl8I5aw8yL+Zqi bFDxy9O0s2WWAzAV7fngpWLM7MR4SVwaeEYoqEs4uaD7JkZyR71d/9rs9oOGWaikDzcS1SNa7UB/w JYElPnGJSYarwOVxtR1lgo0faSVKf7braTRrJhbX3sTrmNULjaDbV8qlJvYxv7DBWFHxgLT2d7dnI nhpF7hca0cQWZ8uFDQhiYA==; Received: from rms by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from <rms@HIDDEN>) id 1rOqrI-0007yP-Kg; Sat, 13 Jan 2024 22:08:25 -0500 Content-Type: text/plain; charset=Utf-8 From: Richard Stallman <rms@HIDDEN> To: Stefan Monnier <monnier@HIDDEN> In-Reply-To: <jwvle8uefqj.fsf-monnier+emacs@HIDDEN> (bug-gnu-emacs@HIDDEN) Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind` References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN> <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN> <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN> <jwvwmsfntmc.fsf-monnier+emacs@HIDDEN> <CALDnm52=voD5PrnsU58wQR1omwymYdUALEAueqsQTZujU6i0rQ@HIDDEN> <jwvle8uefqj.fsf-monnier+emacs@HIDDEN> Message-Id: <E1rOqrI-0007yP-Kg@HIDDEN> Date: Sat, 13 Jan 2024 22:08:24 -0500 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67611 Cc: okamsn@HIDDEN, 67611 <at> debbugs.gnu.org, joaotavora@HIDDEN, stefankangas@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Reply-To: rms@HIDDEN Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] Would someone please tell me what syntax is being proposed here, and show me an example, saying what it would mean? I would like to try to adapt it it to cond*. Maybe I could make it simple enough for people to like it. -- Dr Richard Stallman (https://stallman.org) Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org)
bug-gnu-emacs@HIDDEN
:bug#67611
; Package emacs
.
Full text available.Stefan Kangas <stefankangas@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Received: (at 67611) by debbugs.gnu.org; 13 Jan 2024 06:59:01 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 13 01:59:01 2024 Received: from localhost ([127.0.0.1]:38231 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rOXyu-0008ES-N6 for submit <at> debbugs.gnu.org; Sat, 13 Jan 2024 01:59:00 -0500 Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]:57850) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <stefankangas@HIDDEN>) id 1rOXyo-0008EB-SW for 67611 <at> debbugs.gnu.org; Sat, 13 Jan 2024 01:58:58 -0500 Received: by mail-ed1-x535.google.com with SMTP id 4fb4d7f45d1cf-5574feb7958so8350411a12.3 for <67611 <at> debbugs.gnu.org>; Fri, 12 Jan 2024 22:58:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705129130; x=1705733930; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date :mime-version:references:in-reply-to:from:from:to:cc:subject:date :message-id:reply-to; bh=B7UCoj0NthDkQ+1BloMup+U6UHzQSS94/D0othxCGxY=; b=hVWWSrjAmjxrwHd29PxBFzyN3+f3lfrREsuDaAheLiDg4xIl0aHnztFIxjNPuPOd2I 2VjVDH65W3AH2jd6nkiA41dHacqtSqU8Ev89ifuqaCaaz20i3TDkMU6yb/kt0IbFYwj8 az6ZwJM9hM9OlynxyGtM9kfCMAuArYvuABWhC6IW8nMIg3OgllKbK8xyDzSKBhkd2YmQ 9ETcE7DrGgYtF7BcOGbpygpSg+Z7lOf8ypVvvP5oRFibme7hqszHE0hf8Uh9JVBwQkgI cRXhojCeMM20hDCT4Ax7Slp3yuv0v08naCcip+2lQdLFarsVDVBjF6h8byWaOAk8/W77 QbQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705129130; x=1705733930; h=content-transfer-encoding:cc:to:subject:message-id:date :mime-version:references:in-reply-to:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=B7UCoj0NthDkQ+1BloMup+U6UHzQSS94/D0othxCGxY=; b=DrzPcUyCNeij78JdMy+HR8A8DRVqg7CeVj+sOhx0xqyVzksQIxly+wlWAM7iWIC9Hs vXj8HQNEdy3oruhqoKsdRG6ngjs/7lJ1V4hdiDg/jzLBzmUX2ef6aeU9Weyo/0gZxEMk WSBb/xWzshL6ORy4o54C7XafO55+cwtMx3jjyq09cuRVtZLzg8hXbh96TY6YgFim4IwT rPl/T76W+euDdl9GtdipaY2p0C45EuSFOBUvize/bVK79e4JSb0AaYWtHvRnnvjNd3Be 6cV233m4M+KkZUwQLLbFRnr6dOxRiiQPhMSMY4qdbyk3p/q+KrKYcK9cK6pqEftXHCbq 1ihw== X-Gm-Message-State: AOJu0Yyy/iHeA6Gx07oTVlGwAtghmRQMg7BD8Zsnb2eLaWY/l94QBif8 0872SD7eJ907aLz9ERNIrGwOq2pzSCJiRS0T9OA= X-Google-Smtp-Source: AGHT+IGSYo5LC9Axsm6ek/I69q5IxxI90ebh4iQOZD4Zgnn+TUa1urlIVL5w/A1CgRQcGuhIsQKQKSpi/7pHc1rnZiU= X-Received: by 2002:a05:6402:28a5:b0:558:a602:ae13 with SMTP id eg37-20020a05640228a500b00558a602ae13mr1240722edb.57.1705129130532; Fri, 12 Jan 2024 22:58:50 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sat, 13 Jan 2024 00:58:49 -0600 From: Stefan Kangas <stefankangas@HIDDEN> In-Reply-To: <CALDnm51S-AXtJB9BZrn2V4MH_OvPZ8pPP3jE94_6SVw6TyZZQQ@HIDDEN> References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN> <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN> <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN> <jwvwmsfntmc.fsf-monnier+emacs@HIDDEN> <CALDnm52=voD5PrnsU58wQR1omwymYdUALEAueqsQTZujU6i0rQ@HIDDEN> <jwvle8uefqj.fsf-monnier+emacs@HIDDEN> <CALDnm51S-AXtJB9BZrn2V4MH_OvPZ8pPP3jE94_6SVw6TyZZQQ@HIDDEN> MIME-Version: 1.0 Date: Sat, 13 Jan 2024 00:58:49 -0600 Message-ID: <CADwFkm=GAv9ffzY+UE6Qsew8a5zTXx=iQ6sOcNs1+GpjgYG_jw@HIDDEN> Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind` To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN>, Stefan Monnier <monnier@HIDDEN> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67611 Cc: Okamsn <okamsn@HIDDEN>, 67611 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes: > Pcase is complicated and hard-to-follow yes. Becasue complex pattern > matching is a complicated thing to express, just as regular expressions > are such a thing Pretty much, yes. We could improve its documentation though. We could add a tutorial to the ELisp manual, for example (probably not included in the printed version). > If you ask me, we'd be better off designing an "explain pcase" > utility or designing font-lock rules that helps explain it. > > The byte-compiler is already traversing that anyway and flagging > unused variables and stuff. Can't we use this to mark what is a > lexical variable and what is a literal symbol, for example? Can't > we have a very clear highlighting of the pcase extension being > used, like highlighting the '`' or the 'cl-arglist' or the 'seq'. That would be very useful to explore, I think.
bug-gnu-emacs@HIDDEN
:bug#67611
; Package emacs
.
Full text available.Debbugs Internal Request <help-debbugs@HIDDEN>
to internal_control <at> debbugs.gnu.org
.
Full text available.Received: (at 67611) by debbugs.gnu.org; 13 Jan 2024 06:39:01 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jan 13 01:39:01 2024 Received: from localhost ([127.0.0.1]:38194 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rOXfZ-0004yk-6U for submit <at> debbugs.gnu.org; Sat, 13 Jan 2024 01:39:01 -0500 Received: from mail-ed1-x534.google.com ([2a00:1450:4864:20::534]:42394) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <stefankangas@HIDDEN>) id 1rOXfV-0004yO-Bo for 67611 <at> debbugs.gnu.org; Sat, 13 Jan 2024 01:38:59 -0500 Received: by mail-ed1-x534.google.com with SMTP id 4fb4d7f45d1cf-557c188f313so10602921a12.1 for <67611 <at> debbugs.gnu.org>; Fri, 12 Jan 2024 22:38:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705127933; x=1705732733; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date :mime-version:references:in-reply-to:from:from:to:cc:subject:date :message-id:reply-to; bh=avsVikGOEeXA/RUKrW9kdDabi8ZJXA+O7SNdcS2uO5g=; b=Cc8IK4DEGz3IzXiNhZK57L8b9vVOkxOh3kZRWuLpgxD1/kVH9hE4cm0H6F81qXNFq3 8ULCksL5wNsrG/ALzOqCNq1FKcDsK5VL9HtR73OK/UL7Wh/CWNcxjePEJRcWaT3TOgte r9hVVQtT/l2wdYD2G4/gSQ6FkeWwj1U9E1skMXlTw+qwYBZguT0QzX/axhU8IKL6v6ib rsKYJtpVVIRebjqvLD1kCKrUFMnUQVCCzLHsn/n2c62ZRMQkOhWZ5kC5JgQtcMBAHSP8 TCPzA/eRNh9YIE38oKxJJRzht+0OwEAyPkYbqVfbXWqusL1oom7EjLnzhprn3PVFxawH QPxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705127933; x=1705732733; h=content-transfer-encoding:cc:to:subject:message-id:date :mime-version:references:in-reply-to:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=avsVikGOEeXA/RUKrW9kdDabi8ZJXA+O7SNdcS2uO5g=; b=CW7Fey2/EWYD/0lSYIwodzhG/A1dJNfQY5zz/zteKcYDnnDj9L+n70Nk8dBv4iGgJI udJePdB2d7eBDg4Q0cN1VRZAraVJ2mDLzwm4fh2LvS7/pOow2oHnAvwKcVNYNF9+2XtA WRyYtHEC2DaeKOSERpEYfkQWFOZA61KYSUxHi/FD7/380F4V+IXLGi4SQB7gas+M1YSD rrvNJJyWv7vp2aJPqhKy9GlnKEyi/g/rI/BSfObAKadS8W+i06GyTYEr9vuzlenmFwc/ w6sjwC1U7hEWC0BIcHvZRFTXBi+mXj8cxPP1RzUk54XxaZOZnt0HoKrfm4kFvgQi5+o6 4Ggg== X-Gm-Message-State: AOJu0YznVTGynPnCAyWfEPJUvcCx5UNgwEHwJc96BVxM+RiMm87Pj+lH vjPS5YBlfXFVT+x7nSY6NzAfQdvTz6tfejqAuNo= X-Google-Smtp-Source: AGHT+IFSfu2wwnTNf77hcxy8czzECRVGDvxhd49B0e6ZfzfoNeAE9JPuWx+FdSofV5+sjXqD9wMtxOrNcUR88gf7f7M= X-Received: by 2002:a05:6402:1c88:b0:558:fb9d:14f4 with SMTP id cy8-20020a0564021c8800b00558fb9d14f4mr394218edb.11.1705127932894; Fri, 12 Jan 2024 22:38:52 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sat, 13 Jan 2024 00:38:52 -0600 From: Stefan Kangas <stefankangas@HIDDEN> In-Reply-To: <CALDnm528OQYfensjv41CqOBV5c7FjJih7t9X2gXb5Q2zz6amwg@HIDDEN> References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN> <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN> <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN> <CADwFkmnKonoweYJYjeWsrGnFjCvWUs7DoFdrDqAti=SMk8m44Q@HIDDEN> <CALDnm528OQYfensjv41CqOBV5c7FjJih7t9X2gXb5Q2zz6amwg@HIDDEN> MIME-Version: 1.0 Date: Sat, 13 Jan 2024 00:38:52 -0600 Message-ID: <CADwFkmnqnVq-Y2FZWwcZqCKzG3DO01RNGeK+1bwx=0+EzCFFLA@HIDDEN> Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind` To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67611 Cc: Okamsn <okamsn@HIDDEN>, 67611 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes: > I think it makes sense, but I don't know how to do that. Just write > reopen 67611/thanks to this tracker? Yes, on two separate lines to the control@ address.
bug-gnu-emacs@HIDDEN
:bug#67611
; Package emacs
.
Full text available.Received: (at 67611) by debbugs.gnu.org; 12 Jan 2024 16:56:43 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 12 11:56:43 2024 Received: from localhost ([127.0.0.1]:37508 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rOKpn-0004IZ-Ec for submit <at> debbugs.gnu.org; Fri, 12 Jan 2024 11:56:43 -0500 Received: from mail-lj1-x229.google.com ([2a00:1450:4864:20::229]:58478) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <joaotavora@HIDDEN>) id 1rOKpl-0004IE-3N for 67611 <at> debbugs.gnu.org; Fri, 12 Jan 2024 11:56:42 -0500 Received: by mail-lj1-x229.google.com with SMTP id 38308e7fff4ca-2cd17a979bcso76174171fa.0 for <67611 <at> debbugs.gnu.org>; Fri, 12 Jan 2024 08:56:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705078597; x=1705683397; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=FoNKWG4Izd8aIedLLTrGBfdw+1jtA9M/SV+NoPvH9cw=; b=a6JXxFyKR2NL06WJzCwQjLd0BgXObd+CSbGQ+qI1pt3O2YVnZss1y9TvW7o02o/79d NluC/2UZwRVTpEkNJLsMym87usVql8oSpfTOAVE1qTlDa6fb3DpPROqfSIhAC0/0U4f7 QqIeZoCGesyJNn2Z2igtAGdBmEye5+kd3palL6+wDl0ZOSBufHHZD80WkNqgS4gvoPxS 4Mdt9ApHX+cvAQupKvZz70Qx0EbkY027fJ790v/XJYPCYTezvfXv5PCV1D53kxWY4Sd4 N/qGxN701V5fMpjzHdQCYwQduYhSuktEx5EeFMludt+aiUfXHo79tK9yeqQgL3IKySKa cFTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705078597; x=1705683397; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FoNKWG4Izd8aIedLLTrGBfdw+1jtA9M/SV+NoPvH9cw=; b=MZ1uTAjJIYGD3azvPKyMx9E4zwmY6ZwyMrCe3mALjocCLQIngILlrW+G8w+9kzr334 7jPhKfQG5iPr/pCZIBghC4flinaTzEbAKB03Ok5WNVFgLFdYDBPVpryYwowO2UkcwFtk XPFL2pfL5M+13/0p/cVKDqRGp+hSMqMTB1+KbLq6AvmgaPOMc1m9dViuUaNJ3QKgHfFZ f0J1Pa6B6JbPpq/rFSKO3DPP8I455pMlXfuGMmS2Qvq+cc+S8kX3iWNGjZGtibP1a63U ouH3Fqmit2Fb1S7TxLnXb8IGNB41tcva9mo4P6Gu5H0UAPR1MjYLCwrxLFPDpxNBxqEo 2kQg== X-Gm-Message-State: AOJu0YwDC59LWYFi1wOSw86mDHdqlHLLlH2mfwlQQz2Dk0IredCpgb09 S0Wl35cI/hRYRmKL9zD7foQ3FMUjJuOnGrxd/qc= X-Google-Smtp-Source: AGHT+IGE2Qd/raTw6Xw6SKhQRccHgOOV0aHbOOEzF9Hwr32WEGx53fAPNNc6sI7MNYR0XXZ3nyJohv7XERCX0Gii8Rw= X-Received: by 2002:a05:651c:1038:b0:2cc:94f6:bfc7 with SMTP id w24-20020a05651c103800b002cc94f6bfc7mr458418ljm.170.1705078596595; Fri, 12 Jan 2024 08:56:36 -0800 (PST) MIME-Version: 1.0 References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN> <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN> <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN> <jwvwmsfntmc.fsf-monnier+emacs@HIDDEN> <CALDnm52=voD5PrnsU58wQR1omwymYdUALEAueqsQTZujU6i0rQ@HIDDEN> <jwvle8uefqj.fsf-monnier+emacs@HIDDEN> In-Reply-To: <jwvle8uefqj.fsf-monnier+emacs@HIDDEN> From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN> Date: Fri, 12 Jan 2024 16:56:25 +0000 Message-ID: <CALDnm51S-AXtJB9BZrn2V4MH_OvPZ8pPP3jE94_6SVw6TyZZQQ@HIDDEN> Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind` To: Stefan Monnier <monnier@HIDDEN> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67611 Cc: Okamsn <okamsn@HIDDEN>, 67611 <at> debbugs.gnu.org, Stefan Kangas <stefankangas@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) reopen 67611 thanks On Fri, Jan 12, 2024 at 3:38=E2=80=AFPM Stefan Monnier <monnier@HIDDEN= al.ca> wrote: > > >> I don't think there's a clear enough need for it right now in Emacs co= re > >> to motivate its integration in Emacs proper. Also, because several > >> people have expressed an opinion that leans towards recommending that > >> Emacs's own code should probably better avoid using this functionality= . > > Those people are trying to come up with alternative pattern-matching > > libraries which we start to see are not simpler or as powerful > > as pcase. > > Only some of them are. Others are perfectly happy with using `pcase` > but still aren't super happy about combining the complexity of `pcase` > with that of CL destructuring syntax. > > Personally I'm rather put off by the difficulty of figuring out which > part is using CL syntax and which part is using Pcase: the transition > from Pcase to CL is fairly clear (marked by `cl-arglist` or somesuch), > but the other is much less so. > I'd be happier with a `cl-arglist` which cannot contain nested Pcase > patterns (i.e. a one-way street from Pcase to CL) with > `cl-destructuring-bind` reimplemented on top of it. Can a pcase extension even be a one-way street? And if so, isn't that contrary to the whole purpose of pcase itself? Why have this ban specifically on a CL pattern (should really be called "lambda-list" by the way) when we have a cl library in core and so many uses of CL things that use CL-style lambda lists, with or without cl-*.el. We have so many other less commonly used extensions, some of them subtle performance problems, like seq extensions that rely on generic functions. Pcase is complicated and hard-to-follow yes. Becasue complex pattern matching is a complicated thing to express, just as regular expressions are such a thing (I for one do not think 'rx' makes things particularly simpler). If you ask me, we'd be better off designing an "explain pcase" utility or designing font-lock rules that helps explain it. The byte-compiler is already traversing that anyway and flagging unused variables and stuff. Can't we use this to mark what is a lexical variable and what is a literal symbol, for example? Can't we have a very clear highlighting of the pcase extension being used, like highlighting the '`' or the 'cl-arglist' or the 'seq'. > I'd also be interested in a new Pcase pattern that provides the part of > `cl-arglist` functionality that's missing from current Pcase patterns > (like "optional" elements in a list), but with a syntax that blends > better in Pcase patterns. I'd rather not reinvent half-baked CL things, as it's all too common to discover later we should have gone full-baked and we have digressed for no good reason. > > IOW there is no general purpose-util like Alexandria's > > 'parse-ordinary-lambda-list', and this could be it. It could > > not only be used to simplify and add coherence to many of these > > existing compile-time structures, for example helping simplify > > things and address FIXMEs in cl-lib.el. > > That's a different question: improving up cl-lib's implementation would > be welcome, yes. That's not what the current patch does, tho. It provides a tool to help do that, of course. Anyway if there's some common ground here, let's not throw the entire baby out with the bathwater. Maybe Okamsn can repurpose the helper function he created to parse lambda lists to be akin to Alexandria's parse-simple-lambda-list. It seems it already is fairly close (the alist retun type in Elisp is natural as we don't have multiple values). Also the function's implementaion should be changed to rely on as little as possible of existing cl-macs (cl-copy-list and cl-flet can maybe be skipped -- and maybe added back again later). Shoulnd't be a very hard job (I might be wrong). Then we can consider merging that including figuring out where to merge it. And then we can continue discussing about the usefulness the pcase patterns that can be built with it, sure. I've reopened the bug. Jo=C3=A3o
bug-gnu-emacs@HIDDEN
:bug#67611
; Package emacs
.
Full text available.Received: (at 67611) by debbugs.gnu.org; 12 Jan 2024 15:39:00 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 12 10:39:00 2024 Received: from localhost ([127.0.0.1]:37257 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rOJca-0004ve-20 for submit <at> debbugs.gnu.org; Fri, 12 Jan 2024 10:39:00 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:42135) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1rOJcX-0004vO-Ss for 67611 <at> debbugs.gnu.org; Fri, 12 Jan 2024 10:38:58 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 2E096812A8; Fri, 12 Jan 2024 10:38:53 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1705073931; bh=+Z9JrBLYb1WjUQoqDN034Hcz/BiH6oQCofQ7kwuuq4s=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=cleuaBkCoMGdO/nIeGA3dBOKjQ/IV8DS4LBHOy6JiOCtHm9O321/jTAPWbfAw97ME PiOAXmyy2Z60t3MqvoNHiHilnncX7vjwJ/I+GUzUSei0m4b7H1vMVJf3Q9Tca0cj4Q kB+Za001210LpqaRK7bRM8vJr95VXD4Za5/GRJnx8TttiwU40onwqy9mVf6A0ljLLw tMN5ibC+ppMn3SN6DV/Ahw4E0mfV+vbGlJTCsrXUzI+OIO5gVpLY0M+xkcWmYOyMQT YTQdFG745j00Wcsx70uD6dWpCAvOcAc+UjFmFA3OQ5CLXTaF27nVkcosl3oMvaYjQV eI5b0K9J1w1qw== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id C2F83800D0; Fri, 12 Jan 2024 10:38:51 -0500 (EST) Received: from alfajor (unknown [23.233.149.155]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 92FE2120BA0; Fri, 12 Jan 2024 10:38:51 -0500 (EST) From: Stefan Monnier <monnier@HIDDEN> To: =?windows-1252?B?Sm/jbyBU4XZvcmE=?= <joaotavora@HIDDEN> Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind` In-Reply-To: <CALDnm52=voD5PrnsU58wQR1omwymYdUALEAueqsQTZujU6i0rQ@HIDDEN> (=?windows-1252?Q?=22Jo=E3o_T=E1vora=22's?= message of "Fri, 12 Jan 2024 10:46:43 +0000") Message-ID: <jwvle8uefqj.fsf-monnier+emacs@HIDDEN> References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN> <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN> <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN> <jwvwmsfntmc.fsf-monnier+emacs@HIDDEN> <CALDnm52=voD5PrnsU58wQR1omwymYdUALEAueqsQTZujU6i0rQ@HIDDEN> Date: Fri, 12 Jan 2024 10:38:50 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.050 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67611 Cc: Okamsn <okamsn@HIDDEN>, 67611 <at> debbugs.gnu.org, Stefan Kangas <stefankangas@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) >> I don't think there's a clear enough need for it right now in Emacs core >> to motivate its integration in Emacs proper. Also, because several >> people have expressed an opinion that leans towards recommending that >> Emacs's own code should probably better avoid using this functionality. > Those people are trying to come up with alternative pattern-matching > libraries which we start to see are not simpler or as powerful > as pcase. Only some of them are. Others are perfectly happy with using `pcase` but still aren't super happy about combining the complexity of `pcase` with that of CL destructuring syntax. Personally I'm rather put off by the difficulty of figuring out which part is using CL syntax and which part is using Pcase: the transition from Pcase to CL is fairly clear (marked by `cl-arglist` or somesuch), but the other is much less so. I'd be happier with a `cl-arglist` which cannot contain nested Pcase patterns (i.e. a one-way street from Pcase to CL) with `cl-destructuring-bind` reimplemented on top of it. I'd also be interested in a new Pcase pattern that provides the part of `cl-arglist` functionality that's missing from current Pcase patterns (like "optional" elements in a list), but with a syntax that blends better in Pcase patterns. > IOW there is no general purpose-util like Alexandria's > 'parse-ordinary-lambda-list', and this could be it. It could > not only be used to simplify and add coherence to many of these > existing compile-time structures, for example helping simplify > things and address FIXMEs in cl-lib.el. That's a different question: improving up cl-lib's implementation would be welcome, yes. That's not what the current patch does, tho. Stefan
bug-gnu-emacs@HIDDEN
:bug#67611
; Package emacs
.
Full text available.Received: (at 67611) by debbugs.gnu.org; 12 Jan 2024 10:47:03 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 12 05:47:02 2024 Received: from localhost ([127.0.0.1]:35019 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rOF42-0003c0-Ak for submit <at> debbugs.gnu.org; Fri, 12 Jan 2024 05:47:02 -0500 Received: from mail-lj1-x22b.google.com ([2a00:1450:4864:20::22b]:57741) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <joaotavora@HIDDEN>) id 1rOF40-0003bF-KV for 67611 <at> debbugs.gnu.org; Fri, 12 Jan 2024 05:47:01 -0500 Received: by mail-lj1-x22b.google.com with SMTP id 38308e7fff4ca-2cd1ca52f31so72880821fa.3 for <67611 <at> debbugs.gnu.org>; Fri, 12 Jan 2024 02:47:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705056416; x=1705661216; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=b1Q4CSdpZMvC0iQ91RGAlHqAakJy4dp/wmBoyUHlFmM=; b=PSJZwEn0cKyq39Hx55GfBVlEFc+2+Y4iPm0fkSDt3io/IvR14MFMXFKIW68IhXzh9l kfbSq8aRdCpWankL8tHqYeLSa3Pp5vLWytZAZEFroqEp7G23E50arLcmq9Sb9KzWMZbR G91ZRA+W0xVK3kuoLPFqjaYDtFbe5gs2oGMam7UqEPwS/U1K3E0Ro8dAx/7ZBCe6iVfl 1jPp/N8ywJhrfwz1zmlAD0kvY2O+pO5TKk92boFEb7FjkuT9KfwdPRiXImsK8MhtpS5h RtCw/ReX/iP0tdvojXmelIF5zooaFPKBc46iPO0s1iSgn5oOCQU1Vk53QGXcj+haA8vj o2eQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705056416; x=1705661216; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=b1Q4CSdpZMvC0iQ91RGAlHqAakJy4dp/wmBoyUHlFmM=; b=rKDyyPEoRIWChq2Ll/grg+YS545VW64Y5o9QKVrNjLD74z50n6bxn9nQ19gfWWXOAS 4flvJy4+XjoK5D09RMhQnsLIzwWU2DDXq5pdKQ8bQBlplHRArJ69XjsSqNBA46Lb2DVN Xwr8v740vvcTKzQuwuGysVgIahlG7P34B4MAKF2ZxkjRSXWoe9yG8bmMFnldYTltFEwR D7bZ2x+UOh3jB59BftuSZBu+WAJe0MWjnHxhgE8L6OBt53k360rBQouc1q2ujEtF1Phw 3MfyHGXirfMZ3N2PIlZrAwHjQnwDFbtZX5FxwsTxq4fMWpqkDBv16qhBfppa5Tbtx/rM jHAw== X-Gm-Message-State: AOJu0YwPhD4MsiQzwI3MmRw2mdIHjAUJ3p8swcAPfdpPMzmYMvvBorY8 AyjsD/u+mxOmbuGdeZkxqvITC4oFlMMkcny41M4= X-Google-Smtp-Source: AGHT+IFvED/vFzKiTgEDupCXvdBOPFHRBRaqfGiPYLMcE0YlWa/aUMdCPPAQIU02i1wKP6pso/HdUCMQD6hEeBBwZ8w= X-Received: by 2002:a2e:c51:0:b0:2cd:9959:53a0 with SMTP id o17-20020a2e0c51000000b002cd995953a0mr417315ljd.1.1705056416317; Fri, 12 Jan 2024 02:46:56 -0800 (PST) MIME-Version: 1.0 References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN> <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN> <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN> <jwvwmsfntmc.fsf-monnier+emacs@HIDDEN> In-Reply-To: <jwvwmsfntmc.fsf-monnier+emacs@HIDDEN> From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN> Date: Fri, 12 Jan 2024 10:46:43 +0000 Message-ID: <CALDnm52=voD5PrnsU58wQR1omwymYdUALEAueqsQTZujU6i0rQ@HIDDEN> Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind` To: Stefan Monnier <monnier@HIDDEN> Content-Type: multipart/alternative; boundary="0000000000000446ff060ebd62e3" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67611 Cc: Okamsn <okamsn@HIDDEN>, 67611 <at> debbugs.gnu.org, Stefan Kangas <stefankangas@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --0000000000000446ff060ebd62e3 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Jan 12, 2024 at 3:05=E2=80=AFAM Stefan Monnier <monnier@HIDDEN= al.ca> wrote: > I don't think there's a clear enough need for it right now in Emacs core > to motivate its integration in Emacs proper. Also, because several > people have expressed an opinion that leans towards recommending that > Emacs's own code should probably better avoid using this functionality. Those people are trying to come up with alternative pattern-matching libraries which we start to see are not simpler or as powerful as pcase. But sure, other pattern-matching libraries exist out there. See CL's optima/trivia [1/2] for some very good ones. Emacs just happens to have pcase readily available. > I'd be quite happy to include such a think in GNU ELPA, OTOH. Could be, but why really? Why are CL things which rest on such high-quality well-known designs, older than many things Emacs, relegated to a place where they're less discoverable? Here, I think at least the new fresh implementation of lambda-list parsing (which is the meat-and-bones of this patch) is worth taking a look at. It's the function 'cl--pcase-cl-lambda-var-groups'. I would definitely consider grooming this function, renaming it, and keeping it in core, exposing to general Elisp usage in cl-macs.el (or cl-lambdalist.el, cl-ll.el), even if a new pcase pattern that uses it goes to ELPA (but why, really?) That util could help us write other lambda-list destructuring alternatives that understand &optional, &rest. Because with or without it, we already use a lot of the &optional, &rest explicitly in Emacs. And we also use &key and &allow-other-keys in many other places, though sometimes in ad-hoc lets-not-call-this-bull-by-its-name fashion. IOW there is no general purpose-util like Alexandria's 'parse-ordinary-lambda-list', and this could be it. It could not only be used to simplify and add coherence to many of these existing compile-time structures, for example helping simplify things and address FIXMEs in cl-lib.el. Jo=C3=A3o [1] https://github.com/m2ym/optima [2] https://github.com/guicho271828/trivia --0000000000000446ff060ebd62e3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"auto">On Fri, Jan 12, 2024 at 3:05=E2=80=AFAM Stefan Monnier &l= t;<a href=3D"mailto:monnier@HIDDEN" target=3D"_blank" rel=3D"nore= ferrer">monnier@HIDDEN</a>> wrote:<br> <br> > I don't think there's a clear enough need for it right now in = Emacs core<br> > to motivate its integration in Emacs proper.=C2=A0 Also, because sever= al<br> > people have expressed an opinion that leans towards recommending that<= br> > Emacs's own code should probably better avoid using this functiona= lity.<br> <br> Those people are trying to come up with alternative pattern-matching<br> libraries which we start to see are not simpler or as powerful<br> as pcase.<br> <br> But sure, other pattern-matching libraries exist out there.=C2=A0 See<br> CL's optima/trivia [1/2] for some very good ones.=C2=A0 Emacs just happ= ens <br> to have pcase readily available.<br> <br> > I'd be quite happy to include such a think in GNU ELPA, OTOH.<br> <br> Could be, but why really?=C2=A0 Why are CL things which rest on such<br> high-quality well-known designs, older than many things Emacs,<br> relegated to a place where they're less discoverable?<br> <br> Here, I think at least the new fresh implementation of<br> lambda-list parsing (which is the meat-and-bones of this patch)<br> is worth taking a look at.<br> <br> It's the function 'cl--pcase-cl-lambda-var-groups'.<br> <br> I would definitely consider grooming this function, renaming<br> it, and keeping it in core, exposing to general Elisp usage<br> in cl-macs.el (or cl-lambdalist.el, cl-ll.el), even if a new<br> pcase pattern that uses it goes to ELPA (but why, really?)<br> <br> That util could help us write other lambda-list destructuring<br> alternatives that understand &optional, &rest.=C2=A0 Because with o= r<br> without it, we already use a lot of the &optional, &rest explicitly= <br> in Emacs.=C2=A0 And we also use &key and &allow-other-keys in many = other<br> places, though sometimes in ad-hoc lets-not-call-this-bull-by-its-name<br> fashion.<br> <br> IOW there is no general purpose-util like Alexandria's<br> 'parse-ordinary-lambda-list', and this could be it.=C2=A0 It could<= br> not only be used to simplify and add coherence to many of these<br> existing compile-time structures, for example helping simplify<br> things and address FIXMEs in cl-lib.el.<br> <br> Jo=C3=A3o<br> <br> [1] <a href=3D"https://github.com/m2ym/optima" rel=3D"noreferrer noreferrer= " target=3D"_blank">https://github.com/m2ym/optima</a><br> [2] <a href=3D"https://github.com/guicho271828/trivia" rel=3D"noreferrer no= referrer" target=3D"_blank">https://github.com/guicho271828/trivia</a><br><= /div> --0000000000000446ff060ebd62e3--
bug-gnu-emacs@HIDDEN
:bug#67611
; Package emacs
.
Full text available.Received: (at 67611) by debbugs.gnu.org; 12 Jan 2024 03:05:08 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 11 22:05:08 2024 Received: from localhost ([127.0.0.1]:34489 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rO7r2-0007In-Ag for submit <at> debbugs.gnu.org; Thu, 11 Jan 2024 22:05:08 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:48366) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1rO7qz-0007IB-48 for 67611 <at> debbugs.gnu.org; Thu, 11 Jan 2024 22:05:07 -0500 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 94A4F100068; Thu, 11 Jan 2024 22:05:00 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1705028699; bh=G0BkGn9qgm0KjlaPdMvGAORGIMzng7MMGNC+QHoIqMA=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=ZfsJ6jSsp/0M/XIzyIBXWQr5HMrgcPBD+45Eg131HbNSgq0BxSwM/UzBWfUyH/y/9 l7z5mjXS4sxQZDwjqCXNIxlHh9GZRjFVTV4qJsk4KbP+7PUjfWapQ5fblJzMl/emsN AEl3TXxd+iOANuJLB7oKBlLWNmCZL1xneu21AapXLMEZfkFUm3p0sG/+fNzUUyYo0t uc3zzz2AjpZO36jNGHLQF6vMdU7lqq6NnYNoen/pan3af/Ms0NxpcMy41QIPrWXx4x nDNdQXu8iH6XQWYl3I2q7fdnsbG2D6Fr3wMbkT8zA/HHuIxqzJzwQnaOP0MKHnghmE 0qsvbCSbdoZMg== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 9834E10004C; Thu, 11 Jan 2024 22:04:59 -0500 (EST) Received: from pastel (65-110-221-238.cpe.pppoe.ca [65.110.221.238]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 202FF1202CB; Thu, 11 Jan 2024 22:04:59 -0500 (EST) From: Stefan Monnier <monnier@HIDDEN> To: =?windows-1252?B?Sm/jbyBU4XZvcmE=?= <joaotavora@HIDDEN> Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind` In-Reply-To: <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN> (=?windows-1252?Q?=22Jo=E3o_T=E1vora=22's?= message of "Thu, 11 Jan 2024 21:56:06 +0000") Message-ID: <jwvwmsfntmc.fsf-monnier+emacs@HIDDEN> References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN> <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN> <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN> Date: Thu, 11 Jan 2024 22:04:51 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.234 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67611 Cc: Okamsn <okamsn@HIDDEN>, 67611 <at> debbugs.gnu.org, Stefan Kangas <stefankangas@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) >> Thanks for the patch. I can only echo the sentiment already given here, >> that making `pcase' more complex won't do much for its popularity. > This sentiment is not unanimous. If pcase is naturally extensible, > using that ability is not making it more complex. That'd be akin > to saying "defun" is made more complex because too many functions > are popping up. Agreed. > Just wanted register this position. Though I don't know for sure if > the patch is simply adding a new extension to pcase or changing > its core structure. It's a pure extension. The question is not whether the patch is good or bad or whether it makes the existing infrastructure too complex. It's rather where should such a thing live. I don't think there's a clear enough need for it right now in Emacs core to motivate its integration in Emacs proper. Also, because several people have expressed an opinion that leans towards recommending that Emacs's own code should probably better avoid using this functionality. I'd be quite happy to include such a think in GNU ELPA, OTOH. Stefan
bug-gnu-emacs@HIDDEN
:bug#67611
; Package emacs
.
Full text available.Received: (at 67611) by debbugs.gnu.org; 12 Jan 2024 00:56:05 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 11 19:56:05 2024 Received: from localhost ([127.0.0.1]:34403 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rO5q9-0004kC-7Y for submit <at> debbugs.gnu.org; Thu, 11 Jan 2024 19:56:05 -0500 Received: from mail-40133.protonmail.ch ([185.70.40.133]:36765) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <okamsn@HIDDEN>) id 1rO5q3-0004jY-6N for 67611 <at> debbugs.gnu.org; Thu, 11 Jan 2024 19:56:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1705020954; x=1705280154; bh=I0rHUjNaHz8X3kgvFvmvQcpsWssCScHfVZXJxKI0tJk=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=o5iTb9IHKc1CVUMbxOIKCmrW8DX72XazxVSvX2QKu7j/07+YLf6irmln5/Nvymm4p AvsRQqFy51EKdgBZXOIhk8um2ppof2xgcy9IyGqvWzwK6sCLrKZRZelf6Q/Up4DWKR pirNkjALOvqh0RU8IS4WhFQvauiN8P8BmU7JpMl8LOe2aGzGAKT3uRdcauTo2NTItt Ap/yaKIi5sGgIEODou82G9EbRYIWlvJXRcfNR0Xi5E8jA7IHu+2vbw3ebCzxEFiWxt W8q5guJBBhBL7MbNkC5GXOCRuJYS0KgwmCZv44QsQK1nVt6dF0Z22196Rirg8ELPC1 uRRThXGnOn4RQ== Date: Fri, 12 Jan 2024 00:55:47 +0000 To: =?utf-8?Q?Jo=C3=A3o_T=C3=A1vora?= <joaotavora@HIDDEN>, Stefan Kangas <stefankangas@HIDDEN> From: Okamsn <okamsn@HIDDEN> Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind` Message-ID: <5a26a4ee-ba12-448b-9606-a09f9396d9ea@HIDDEN> In-Reply-To: <CALDnm528OQYfensjv41CqOBV5c7FjJih7t9X2gXb5Q2zz6amwg@HIDDEN> References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN> <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN> <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN> <CADwFkmnKonoweYJYjeWsrGnFjCvWUs7DoFdrDqAti=SMk8m44Q@HIDDEN> <CALDnm528OQYfensjv41CqOBV5c7FjJih7t9X2gXb5Q2zz6amwg@HIDDEN> Feedback-ID: 25935600:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67611 Cc: 67611 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Jo=C3=A3o T=C3=A1vora wrote: > 4. Pcase integration is a "nice to have". In the provided tests, the > new extension is only tested as a destructuring aid, so I cannot tell > very well how it fares int the matching aspect of pcase. For example > I did this experiment: >=20 > (pcase (list 42 41 :c 42) > ((cl-arglist (42 42 &key c)) > (list c)) > ((cl-arglist (42 b &rest more)) > (list b more))) > ;; =3D> (42 2) > This matches the second case, which is good and returns (41 (:c 42)) >=20 > But how do I construct a case that matches only if the provided > value to c is 42, if this is at all possible? It is possible. You can give a pattern instead of a symbol for the=20 variable, but you have to use a version of `&key` variables in which the=20 pattern can't be confused for the normal `((KEY VAR) DEFAULT SUPPLIED)`=20 form. Please try the following: ;; =3D> (42 2) (pcase (list :c 42) ((cl-arglist (&key ((:c (and 43 c))))) (list c 1)) ((cl-arglist (&key ((:c (and 42 c))))) (list c 2))) ;; =3D> (42 2) (pcase (list :c 42) ((cl-arglist (&key ((:c (and 43 c))))) (list c 1)) ((cl-arglist (&key ((:c (and (pred (equal 42)) c))))) (list c 2)) ((cl-arglist (&key ((:c (and 44 c))))) (list c 3)))
bug-gnu-emacs@HIDDEN
:bug#67611
; Package emacs
.
Full text available.Received: (at 67611) by debbugs.gnu.org; 11 Jan 2024 22:46:20 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 11 17:46:19 2024 Received: from localhost ([127.0.0.1]:34255 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rO3oZ-0004lJ-54 for submit <at> debbugs.gnu.org; Thu, 11 Jan 2024 17:46:19 -0500 Received: from mail-lj1-x236.google.com ([2a00:1450:4864:20::236]:53551) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <joaotavora@HIDDEN>) id 1rO3oW-0004br-Qj for 67611 <at> debbugs.gnu.org; Thu, 11 Jan 2024 17:46:17 -0500 Received: by mail-lj1-x236.google.com with SMTP id 38308e7fff4ca-2cd64022164so54496771fa.3 for <67611 <at> debbugs.gnu.org>; Thu, 11 Jan 2024 14:46:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705013173; x=1705617973; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=kys6Pu89u53MwLrmp4OUxman5yBnSVGT1Pdhf7vzco0=; b=b9zCvdIZjjvtR9pJ85tNY2+r4wGUg/zT8Pwe1betugLODK8uKKa/V3Ja/sWGYS3Yce 8XVNjGfQ+qpdTyT0FrG4Z6nccQnnqBgwrjlmDq1JwNtonzlMCAlcLrsGs21lSBqx3pMy VFjWDMAEbRXt9OfDDkqWEElFjb+7tjYG932xgJKWNbMQhNx06gHRYkGBOm7X04UQyksM GhuMtpMm75B/FAYshyQpFVl+wwLJoNAJWIA6AcZRTrANaocGsRu4CXn4x+zg9O0Giwhd X4yWGAcpGz0vqtZCOrQn1Dhe9hP2jZIWNGXmjBJturnFG5htC7CtC7ppUaj651y4vNH/ 1QLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705013173; x=1705617973; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kys6Pu89u53MwLrmp4OUxman5yBnSVGT1Pdhf7vzco0=; b=K5sViKjTqKVeuUXbLm7sKqeZeryrCge5VsglFz6ymPaSykjwuVgnNUWrpl7asph+zJ PyaDmTWlStciL4ZlvSM5SPeZLVAtnFJAvYvuRqcD7f5G8NTmUSBqr+wDMF/1DMKAVZjn z8+S8aX1v/3Yc7F35CqTlaSY+RJpGskeRfP3kUs5NcM/a1CR29SYvjM4rSZZdul2dbHb 8kqSYWrG1Rcf7DmAUDOO4GkqHtuvOTFvcZdUn0JQu9KEPAldFwQVx1eoxOCZeBTU59fR W885Oj46fTPedgsKXNjQqkQO54P+0IFDe/V6oQJdn9ISwqGm7WdI6LC2EtRydDoLE62C wM0Q== X-Gm-Message-State: AOJu0YwDXvFae3k6EdsG+aaJT+DQKinTUDw2J29OSnR9upZ3sk/vt5fk QX3tpqEPfinBZneepgeHEJwGTthYV3l0hOUJQx0= X-Google-Smtp-Source: AGHT+IF4Tiwr2mXOcxrj2ktKVC0TZEVJkiT7FQERI1B+rQmfrmpHLargqRa146//FqLNg7lOhnUBuxpEk/iBbwSrWsU= X-Received: by 2002:a2e:9083:0:b0:2cc:695b:a12b with SMTP id l3-20020a2e9083000000b002cc695ba12bmr213032ljg.85.1705013172901; Thu, 11 Jan 2024 14:46:12 -0800 (PST) MIME-Version: 1.0 References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN> <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN> <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN> <CADwFkmnKonoweYJYjeWsrGnFjCvWUs7DoFdrDqAti=SMk8m44Q@HIDDEN> In-Reply-To: <CADwFkmnKonoweYJYjeWsrGnFjCvWUs7DoFdrDqAti=SMk8m44Q@HIDDEN> From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN> Date: Thu, 11 Jan 2024 22:46:01 +0000 Message-ID: <CALDnm528OQYfensjv41CqOBV5c7FjJih7t9X2gXb5Q2zz6amwg@HIDDEN> Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind` To: Stefan Kangas <stefankangas@HIDDEN> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67611 Cc: Okamsn <okamsn@HIDDEN>, 67611 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On Thu, Jan 11, 2024 at 10:13=E2=80=AFPM Stefan Kangas <stefankangas@gmail.= com> wrote: > > Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes: > > > On Thu, Jan 11, 2024 at 9:12=E2=80=AFPM Stefan Kangas <stefankangas@gma= il.com> wrote: > > > >> Thanks for the patch. I can only echo the sentiment already given her= e, > >> that making `pcase' more complex won't do much for its popularity. > > > > This sentiment is not unanimous. If pcase is naturally extensible, > > using that ability is not making it more complex. That'd be akin > > to saying "defun" is made more complex because too many functions > > are popping up. > > > > Just wanted register this position. Though I don't know for sure if > > the patch is simply adding a new extension to pcase or changing > > its core structure. > > > > I wish Okamsn would show one or two simple examples usage > > of something you can't do with pcase today, but you would be > > able to with the patch. In the meantime, I've had a look at the patch file to learn about this pcase extension. 1. It is a pure extension. The extension code happens in cl-macs.el 2. It is an alternative to cl-destructuring-bind, also defined in that file, with more typing involved. 3. It _seems_ it has the advantage that it relies on very little of cl-macs.el, like maybe just cl-copy-list. Ie it could easily be changed to live in another file. It could even be a (better?) base to write cl-destructuring-bind and other cl-macs things on top of. And to write other utils like Alexandria's cl-parse-ordinary-lambda-list or destructuring-case [1]. A good lambda-list destructuring tool is valuable by itself, even without pcase integration. 4. Pcase integration is a "nice to have". In the provided tests, the new extension is only tested as a destructuring aid, so I cannot tell very well how it fares int the matching aspect of pcase. For example I did this experiment: (pcase (list 42 41 :c 42) ((cl-arglist (42 42 &key c)) (list c)) ((cl-arglist (42 b &rest more)) (list b more))) This matches the second case, which is good and returns (41 (:c 42)) But how do I construct a case that matches only if the provided value to c is 42, if this is at all possible? > feel free to reopen the bug report if you think it makes sense. I think it makes sense, but I don't know how to do that. Just write reopen 67611/thanks to this tracker? Jo=C3=A3o [1]: https://gitlab.common-lisp.net/alexandria/alexandria
bug-gnu-emacs@HIDDEN
:bug#67611
; Package emacs
.
Full text available.Received: (at 67611) by debbugs.gnu.org; 11 Jan 2024 22:13:32 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 11 17:13:32 2024 Received: from localhost ([127.0.0.1]:34215 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rO3Iq-0004ii-Fv for submit <at> debbugs.gnu.org; Thu, 11 Jan 2024 17:13:32 -0500 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]:58652) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <stefankangas@HIDDEN>) id 1rO3In-0004iJ-9C for 67611 <at> debbugs.gnu.org; Thu, 11 Jan 2024 17:13:30 -0500 Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-553ba2f0c8fso6607659a12.1 for <67611 <at> debbugs.gnu.org>; Thu, 11 Jan 2024 14:13:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705011205; x=1705616005; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date :mime-version:references:in-reply-to:from:from:to:cc:subject:date :message-id:reply-to; bh=GuqdNOgXopUeJlz5O+Wvjvt1ZV4U8eMe1GZtKHpxTlk=; b=DDi5ne92hRwzhoVG6tvlPSMnYBVfNpeq9xG+OEpweUakG5dmC8uVPoZ5FUIO91oCKF HP6K9/YM2kFGxz0FyTs9j7al5ABdF2TKOshFbW1/1jF0Z23yucQPkDMokugQ+p9IO5E5 ZyCKPaSyfD9tn4MRFouVNRDotsrQExiYWZ6iZAMD9PNTpAyp3sB7hWJBVZgD+2Vc9gA9 i9ln15K7+eP/f28kNFWTmXQkA71uXfE3U64qw9hKD5ZyTCXNLmN2FjQGiBjvr5ZHsR9r YgrT11Y+M/M3PY6R93Vjw0SJSWEZZNkQkbApVpcAZinGaiMrmY3En4nIdDSzCrWNcTvv Sa2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705011205; x=1705616005; h=content-transfer-encoding:cc:to:subject:message-id:date :mime-version:references:in-reply-to:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=GuqdNOgXopUeJlz5O+Wvjvt1ZV4U8eMe1GZtKHpxTlk=; b=IhN3cMSNgX0rcOOdkkkvfVeXAP5S5YLML6CzUqKeWk4Xbfyr6kUl0/1q3pe7uaU5xs AkTJ9r+Wslp6xh6H29zFm5Q0ccRyNjmkSRva0NgMmOyMDDSAdZKUPfW0zPahV/LWAAVi 1LDGqDE9Nd/Uug4oQy4JHc888xmJMxu7m9ayOAGiWjGoZnC3NwCuu/2pH6LGpYdE7zPE oRr71KoKjXjS1ihn2VnBDtfeEjugliqVVkX1OH3Vr4psFz/+zFv5JcQnBKQb+0+v6gak br/ZtSP6QRRlFEp6lJscmdj2+ri1Sz8VGgpGPNEYR3kUhcDyxiEOMJUcIOf9H7vH/WyE N6Zw== X-Gm-Message-State: AOJu0YzX/DDP3OTyK37swuns7MzYnKOSy43ImQ/INsA+QMPTxIiGqzbW SWI5w4EjcYbyNlNZ4pp5gGzCTP5awCr4hmlGpneqqDID0Xc= X-Google-Smtp-Source: AGHT+IHUx/5KVU8C/E3Ew1ycTvOPpzfImMyK4oocSfMIcSeDWBNebq56J20UGeAgOhkITJC849jS6skrp96v0R07sPI= X-Received: by 2002:aa7:c602:0:b0:557:8037:dccd with SMTP id h2-20020aa7c602000000b005578037dccdmr83569edq.152.1705011205250; Thu, 11 Jan 2024 14:13:25 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Thu, 11 Jan 2024 14:13:24 -0800 From: Stefan Kangas <stefankangas@HIDDEN> In-Reply-To: <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN> References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN> <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN> <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN> MIME-Version: 1.0 Date: Thu, 11 Jan 2024 14:13:24 -0800 Message-ID: <CADwFkmnKonoweYJYjeWsrGnFjCvWUs7DoFdrDqAti=SMk8m44Q@HIDDEN> Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind` To: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67611 Cc: Okamsn <okamsn@HIDDEN>, 67611 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Jo=C3=A3o T=C3=A1vora <joaotavora@HIDDEN> writes: > On Thu, Jan 11, 2024 at 9:12=E2=80=AFPM Stefan Kangas <stefankangas@gmail= .com> wrote: > >> Thanks for the patch. I can only echo the sentiment already given here, >> that making `pcase' more complex won't do much for its popularity. > > This sentiment is not unanimous. If pcase is naturally extensible, > using that ability is not making it more complex. That'd be akin > to saying "defun" is made more complex because too many functions > are popping up. > > Just wanted register this position. Though I don't know for sure if > the patch is simply adding a new extension to pcase or changing > its core structure. > > I wish Okamsn would show one or two simple examples usage > of something you can't do with pcase today, but you would be > able to with the patch. feel free to reopen the bug report if you think it makes sense.
bug-gnu-emacs@HIDDEN
:bug#67611
; Package emacs
.
Full text available.Received: (at 67611) by debbugs.gnu.org; 11 Jan 2024 21:56:23 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 11 16:56:23 2024 Received: from localhost ([127.0.0.1]:34206 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rO32F-0001Ug-IT for submit <at> debbugs.gnu.org; Thu, 11 Jan 2024 16:56:23 -0500 Received: from mail-lj1-x22b.google.com ([2a00:1450:4864:20::22b]:61681) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <joaotavora@HIDDEN>) id 1rO32E-0001UL-1y for 67611 <at> debbugs.gnu.org; Thu, 11 Jan 2024 16:56:22 -0500 Received: by mail-lj1-x22b.google.com with SMTP id 38308e7fff4ca-2cd853c159eso14619811fa.2 for <67611 <at> debbugs.gnu.org>; Thu, 11 Jan 2024 13:56:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705010178; x=1705614978; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=XWVNGl6wtaemsnU5mX0yfVRZHKDk+m0U205aEiMEvz4=; b=UKVtr+XGvnlpfpNtq6uovJ85bbBkWelMjk/cq/X/A4QF+VyWJUu3KzktPqUO85UL2G zfm68jABjwV2fGsTvF9uJ3MFLTUfzKIu7TIm4ta8EgHHUIxoFPh+AjWNA30wSesPVaiU 4A5QQFzUumruWYcRilZos+YtpJShpK/8N+MacYtxLRr00HmPdtP3JMYEFcV3zpmZP1Lj TWh/Oe289NBLo0ocqA95ygf9fxAekzvRxWDrnJS1IZaFfUnbzMqKbfZxJEL/o65icRUV WRyBYYXv1KJ5pasaoUglpk8HF0bOf9yqbAXRfb6kgDzKmIEhgEhBELrBx7zzQED+KJEy KOSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705010178; x=1705614978; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XWVNGl6wtaemsnU5mX0yfVRZHKDk+m0U205aEiMEvz4=; b=hWI0xFeAHwE4KSdG0M+IAZiVDm25WOYny0BRg/RN3GlhV3NJ/keyuk+5qhgoKaUF+G jxufHRo3bfs0jNFlmLG2wzknhGxKu1LrvKxZU6f0D86UlJMjUgunHNGVS4X3Y4/EVSLe s7V8m5Ms4F9tzrJPDFrhSO/CqbghUaPP3ltqfknnetoXB965CmjNvjOeZA34M9OSVfk8 f6lv6dlLKt3UK4KqlkarQCxuwRJBTJ1dFQ4fjqcKA0TLOdRI03iQjtvsJO8gSQs+rCjc q6fJhhxLk4M1+5zexVW76C7q0h9QtHRcb8HfDreQae8llGx0CAMlmyuVHVfUcmUK3aZo g39A== X-Gm-Message-State: AOJu0YyDDTjAgYPf21cJfHmwujgAkgUO/l3tt9yPKK7Q7Q94qkocYJ9p EjQLN74i0aA+5gLsp+E2M1SSQwhxgKiC+u9yE94= X-Google-Smtp-Source: AGHT+IGLOH4gbmhgkYDLAyYwdzkHCOZzkJb0PhyRU51PgUwp6iSZktfAc8W+CDncIdzwLWIincRBLUs5bsGjyo0Epow= X-Received: by 2002:a2e:a413:0:b0:2cd:1c94:82c4 with SMTP id p19-20020a2ea413000000b002cd1c9482c4mr188822ljn.99.1705010178226; Thu, 11 Jan 2024 13:56:18 -0800 (PST) MIME-Version: 1.0 References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN> <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN> In-Reply-To: <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN> From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN> Date: Thu, 11 Jan 2024 21:56:06 +0000 Message-ID: <CALDnm51VjpjCp4xLPfQ-qR1iwxdDc5XX0i3=8M1vW6vUDizMTw@HIDDEN> Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind` To: Stefan Kangas <stefankangas@HIDDEN> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67611 Cc: Okamsn <okamsn@HIDDEN>, 67611 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On Thu, Jan 11, 2024 at 9:12=E2=80=AFPM Stefan Kangas <stefankangas@HIDDEN= om> wrote: > Thanks for the patch. I can only echo the sentiment already given here, > that making `pcase' more complex won't do much for its popularity. This sentiment is not unanimous. If pcase is naturally extensible, using that ability is not making it more complex. That'd be akin to saying "defun" is made more complex because too many functions are popping up. Just wanted register this position. Though I don't know for sure if the patch is simply adding a new extension to pcase or changing its core structure. I wish Okamsn would show one or two simple examples usage of something you can't do with pcase today, but you would be able to with the patch. Jo=C3=A3o
bug-gnu-emacs@HIDDEN
:bug#67611
; Package emacs
.
Full text available.Stefan Kangas <stefankangas@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Stefan Kangas <stefankangas@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Received: (at 67611) by debbugs.gnu.org; 11 Jan 2024 21:12:51 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jan 11 16:12:51 2024 Received: from localhost ([127.0.0.1]:34141 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rO2M7-0000ZL-Fu for submit <at> debbugs.gnu.org; Thu, 11 Jan 2024 16:12:51 -0500 Received: from mail-lj1-x22d.google.com ([2a00:1450:4864:20::22d]:57734) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <stefankangas@HIDDEN>) id 1rO2M4-0000Z3-9C for 67611 <at> debbugs.gnu.org; Thu, 11 Jan 2024 16:12:50 -0500 Received: by mail-lj1-x22d.google.com with SMTP id 38308e7fff4ca-2cd1ca52f31so67330481fa.3 for <67611 <at> debbugs.gnu.org>; Thu, 11 Jan 2024 13:12:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705007564; x=1705612364; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:from:to:cc:subject:date:message-id:reply-to; bh=iLl7AGuRvjcaeVzmh3uGVp6vpj1E/SujS0TMWc5nZ9M=; b=A8wv2VDv62FxGc5Egs+6U4f7oy67npN5RGS8eY8WInIPOv4UNcvxKrH0IT6553CIpX fatZKmzi0jNbxEpGNl1Teowby6SJ3gS6YYZCzOIbR/kbajlD8pQ6yV6IkT8FSMJayI+g XAQbuwOj0mRFTupU6TPXCEbWy1R9Qprzt6bEehltQGJN3xdl+iClNG79Xs6JCaH6Az9c Apk1jCyLpFZs9Nn40b2DH7pUhVaxsctlfcEyoc3Y+U7oDL+u9BELcs5DT0Mm7vtIaZG3 XIHGBVI1p3UdAn/8DVOe5GLYOigpT6TJRUT4oMQh9M7eC6IXluypqMvV/Wj0a412G4s2 PXpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705007564; x=1705612364; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=iLl7AGuRvjcaeVzmh3uGVp6vpj1E/SujS0TMWc5nZ9M=; b=XNKuphfODu1UjwBaBnjyYv4NO2rcH+ZY0UC6tlflFE1WwfSSqUR7h/5vJcrm9pCfhH aR5trBMxX2VlWFWqp7Z+ISwf73+BObpCuf8gs4Asqx77HClTuKm1fIlyVx3o/3OaLt2+ oH1Os/OVBu8Rtcf2tUyrN8r1z5UsMzxg78C8gfmOl1xV0qf4BEQqJeVM3nOBgIFbZPTZ eWaUmk6CCSu5WiaYYYP94wpP+oOEABsdJOrU0z0WVq9l8EYW+oOYHDHc8AnI3KTv3oa9 h2NAc4YDzuP6znRaDHzZgOGcrxjtFoLEaKHtkWdqHVtKMO2YKJQ1yjRQ+KDxw/xFZNyc ZmqA== X-Gm-Message-State: AOJu0YyUpTkeFSzGjBI3GoycqkdaAFWIwunFNgN3k3ehpBq1uwsvpkEj Pg80k3CVstfFhCkTlmz9FyzEIVY8J9K3XnaH63rvHD2Rmgw= X-Google-Smtp-Source: AGHT+IFNYfseqrm49xjmjCcwx/bdLp60Z6enes4sGqotSkiO5421JUP3DDXL5m0eTWEVXsQaHjFLPJb3GAmG0VMu56A= X-Received: by 2002:a2e:950e:0:b0:2cc:e919:eb8f with SMTP id f14-20020a2e950e000000b002cce919eb8fmr182351ljh.101.1705007564170; Thu, 11 Jan 2024 13:12:44 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Thu, 11 Jan 2024 13:12:43 -0800 From: Stefan Kangas <stefankangas@HIDDEN> In-Reply-To: <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN> (okamsn@HIDDEN's message of "Mon, 25 Dec 2023 21:30:07 +0000") References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN> MIME-Version: 1.0 Date: Thu, 11 Jan 2024 13:12:43 -0800 Message-ID: <CADwFkm=7bc5__WNzZftWt01cnQt4NpnFez+LmqJo9qnieN2nCQ@HIDDEN> Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind` To: Okamsn <okamsn@HIDDEN> Content-Type: text/plain; charset="UTF-8" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67611 Cc: 67611 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN>, joaotavora@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) severity 67611 wishlist tags 67611 + notabug wontfix close 67611 thanks Okamsn <okamsn@HIDDEN> writes: > Hello, > > Because I wrote this patch with the thought that others might want it, I > don't have any nontrivial examples to share right now. The best example > I have for the use of the optional arguments is for the implementing of > the optional arguments, which isn't very convincing. > > I've updated the patch to rename the pattern to `cl-arglist` and to > avoid creating intermediate variables using the `let` pattern, but I'm > fine with resting the discussion here until a stronger argument can be > made in favor of the patch. > > Thank you. Thanks for the patch. I can only echo the sentiment already given here, that making `pcase' more complex won't do much for its popularity. It sounds like we mostly agree that no change should be made here, at least not for the moment, so I'm inclined to close this one as wontfix. It's always awkward to have to say no to a well-reasoned patch, but sometimes a decision has to be made. I hope you can understand, and apologies for not accepting your patch. I'm closing the bug with this message. Thank you again for contributing.
bug-gnu-emacs@HIDDEN
:bug#67611
; Package emacs
.
Full text available.Stefan Kangas <stefankangas@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Received: (at submit) by debbugs.gnu.org; 25 Dec 2023 21:31:25 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Dec 25 16:31:25 2023 Received: from localhost ([127.0.0.1]:55465 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rHsXi-0002rS-Nj for submit <at> debbugs.gnu.org; Mon, 25 Dec 2023 16:31:25 -0500 Received: from lists.gnu.org ([2001:470:142::17]:50148) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <okamsn@HIDDEN>) id 1rHsXd-0002gg-HI for submit <at> debbugs.gnu.org; Mon, 25 Dec 2023 16:31:21 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <okamsn@HIDDEN>) id 1rHsXQ-0002e9-Fc for bug-gnu-emacs@HIDDEN; Mon, 25 Dec 2023 16:31:04 -0500 Received: from mail-4322.protonmail.ch ([185.70.43.22]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <okamsn@HIDDEN>) id 1rHsXL-0005YV-A4 for bug-gnu-emacs@HIDDEN; Mon, 25 Dec 2023 16:31:04 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1703539842; x=1703799042; bh=du/Rnv1ZEkIGuWOXmBT6l5oOzz65zmNgeKUILGazc4s=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=H4YoG/z+UbwpHfB4kKJAxBnn6c4z9jMRW/BG8LYmvoHA+0m20mHRrchkBk838hxgq zusqvXHLjFlStsSawOjHPUbkZtcO4CwsNqXlDohUZFMqJFgW9tl2lclg+AKSijFpIA lg+k+OQBqGN9cAb8uaAZlQzc4oUfPSaVmqX5ZVG6QHf9yBlLuA1r20Pi8vCJNQ1w+K /6Nz3yRlTzsulg9+UNgjPZ0/cT3KMjFTKG1dK9huav+GaK+94kvGd2pVI7ruEXZo2R RivGJLwc7xLIeF3CKI3I9KHQ9Ac9o9QaFLI9qbFQ632Fajtt43b9KgSYeVO/OSpWN5 iDTz/7cJcFk4w== Date: Mon, 25 Dec 2023 21:30:07 +0000 To: Stefan Monnier <monnier@HIDDEN> From: Okamsn <okamsn@HIDDEN> Subject: Re: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind` Message-ID: <30f1bf76-1cf1-493e-be4f-38e405d0ecf6@HIDDEN> In-Reply-To: <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> Feedback-ID: 25935600:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_zK7jswiu7zFIyB0mc7Of1fDganPK9zM5sPGTRMaSZA" Received-SPF: pass client-ip=185.70.43.22; envelope-from=okamsn@HIDDEN; helo=mail-4322.protonmail.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit Cc: bug-gnu-emacs@HIDDEN, =?utf-8?Q?Jo=C3=A3o_T=C3=A1vora?= <joaotavora@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.0 (/) This is a multi-part message in MIME format. --b1_zK7jswiu7zFIyB0mc7Of1fDganPK9zM5sPGTRMaSZA Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Stefan Monnier wrote: >> The attached patch adds the pattern `cl-lambda` for Pcase, which works >> like `cl-destructuring-bind`. There are two differences with the lambda >> lists: >=20 > Hmm... I'm not sure mixing the CL destructuring patterns with the Pcase > patterns (both of which are rather featureful and complex) will help > their popularity. >=20 > Beside that problem (which means I'm not very favorable to the > addition), the name should be changed because "lambda" is misleading. > It suggests this has to do with a function (I had to read the code to > understand what this is doing). >=20 >> The pattern is useful when one wants to combine the features of `pcase` >> and `cl-destructuring-bind`, such combining the optional values with the >> `pred` or `guard` patterns. >=20 > Do you have examples uses? >=20 > Maybe we could introduce a different Pcase pattern which covers those > needs but stays closer to the Pcase pattern syntax? >=20 >=20 > Stefan >=20 Hello, Because I wrote this patch with the thought that others might want it, I=20 don't have any nontrivial examples to share right now. The best example=20 I have for the use of the optional arguments is for the implementing of=20 the optional arguments, which isn't very convincing. I've updated the patch to rename the pattern to `cl-arglist` and to=20 avoid creating intermediate variables using the `let` pattern, but I'm=20 fine with resting the discussion here until a stronger argument can be=20 made in favor of the patch. Thank you. --b1_zK7jswiu7zFIyB0mc7Of1fDganPK9zM5sPGTRMaSZA Content-Type: text/x-patch; charset=UTF-8; name=v2-0001-Add-the-Pcase-pattern-cl-arglist-for-matching-a-C.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v2-0001-Add-the-Pcase-pattern-cl-arglist-for-matching-a-C.patch RnJvbSBlMTc1MmRhODYzYjQ0YzkzZDEzOWNhODhiZjhjN2Y2NTQ5MjI5ZDE4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFNhdCwgMjUgTm92IDIwMjMgMTM6MDA6MDMgLTA1MDAKU3ViamVjdDogW1BBVENIIHYyXSBB ZGQgdGhlIFBjYXNlIHBhdHRlcm4gYGNsLWFyZ2xpc3QnIGZvciBtYXRjaGluZyBhIENMCiBhcmd1 bWVudCBsaXN0LgoKVGhpcyBwYXR0ZXJuIG1hdGNoZXMgZnVuY3Rpb24gYXJndW1lbnQgbGlzdHMg YXMgZGVzY3JpYmVkIGluIHRoZSBJbmZvCm5vZGUgYChjbClBcmd1bWVudCBMaXN0cycuCgoqIGxp c3AvZW1hY3MtbGlzcC9jbC1tYWNzLmVsIChjbC1hcmdsaXN0LS1wY2FzZS1tYWNyb2V4cGFuZGVy KQooY2wtYXJnbGlzdCwgY2wtLXBjYXNlLWFyZ2xpc3QtbGlzdC1nZXQtdmFyLWdyb3VwcykKKGNs LS1wY2FzZS1jbC1hcmdsaXN0LXBvc2l0aW9uYWwtcGF0dGVybikKKGNsLS1wY2FzZS1jbC1hcmds aXN0LXBsaXN0LWtleXMpCihjbC0tcGNhc2UtY2wtYXJnbGlzdC0ma2V5LXBhdHRlcm4pCihjbC0t cGNhc2UtY2wtYXJnbGlzdC0mYXV4LXBhdHRlcm4pOgpBZGQgcGF0dGVybiBhbmQgc3VwcG9ydGlu ZyBmdW5jdGlvbnMuCgoqIHRlc3QvbGlzcC9lbWFjcy1saXNwL3BjYXNlLXRlc3RzLmVsOgoocGNh c2UtdGVzdHMtY2wtYXJnbGlzdC0md2hvbGUtc2hvdWxkLWVycm9yKQoocGNhc2UtdGVzdHMtY2wt YXJnbGlzdC0md2hvbGUpCihwY2FzZS10ZXN0cy1jbC1hcmdsaXN0LXBvcywgcGNhc2UtdGVzdHMt Y2wtYXJnbGlzdC1wb3Mtc3ViLXBhdHRlcm5zKQoocGNhc2UtdGVzdHMtY2wtYXJnbGlzdC0mb3B0 aW9uYWwtc2hvdWxkLWVycm9yKQoocGNhc2UtdGVzdHMtY2wtYXJnbGlzdC0mb3B0aW9uYWwpCihw Y2FzZS10ZXN0cy1jbC1hcmdsaXN0LSZvcHRpb25hbC1zdWItcGF0dGVybnMpCihwY2FzZS10ZXN0 cy1jbC1hcmdsaXN0LSZyZXN0LXNob3VsZC1lcnJvcikKKHBjYXNlLXRlc3RzLWNsLWFyZ2xpc3Qt JnJlc3Qtbm9ubGlzdC1jZHIpCihwY2FzZS10ZXN0cy1jbC1hcmdsaXN0LSZyZXN0LXdpdGgtJndo b2xlKQoocGNhc2UtdGVzdHMtY2wtYXJnbGlzdC0mcmVzdC1vbmx5KQoocGNhc2UtdGVzdHMtY2wt YXJnbGlzdC0mcmVzdC1hZnRlci0mb3B0aW9uYWwpCihwY2FzZS10ZXN0cy1jbC1hcmdsaXN0LSZy ZXN0LXN1Yi1wYXR0ZXJucykKKHBjYXNlLXRlc3RzLWNsLWFyZ2xpc3QtJmtleS1zaG91bGQtZXJy b3IpCihwY2FzZS10ZXN0cy1jbC1hcmdsaXN0LSZrZXktZXhhY3QpCihwY2FzZS10ZXN0cy1jbC1h cmdsaXN0LSZrZXktcGVybWlzc2l2ZSkKKHBjYXNlLXRlc3RzLWNsLWFyZ2xpc3QtJmtleS1ub3Qt Zmlyc3QpCihwY2FzZS10ZXN0cy1jbC1hcmdsaXN0LSZrZXktZnVsbC1mb3JtKQoocGNhc2UtdGVz dHMtY2wtYXJnbGlzdC0ma2V5LXN1Yi1wYXR0ZXJucykKKHBjYXNlLXRlc3RzLWNsLWFyZ2xpc3Qt JmF1eC1zaG91bGQtZXJyb3IpCihwY2FzZS10ZXN0cy1jbC1hcmdsaXN0LSZhdXgpCihwY2FzZS10 ZXN0cy1jbC1hcmdsaXN0LSZhdXgtc3ViLXBhdHRlcm5zKQoocGNhc2UtdGVzdHMtY2wtYXJnbGlz dC1hbGwpOgpBZGQgdGVzdHMuCi0tLQogbGlzcC9lbWFjcy1saXNwL2NsLW1hY3MuZWwgICAgICAg ICAgfCAzNDMgKysrKysrKysrKysrKysrKysrCiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9wY2FzZS10 ZXN0cy5lbCB8IDUxNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5n ZWQsIDg1OCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGlzcC9lbWFjcy1saXNwL2NsLW1h Y3MuZWwgYi9saXNwL2VtYWNzLWxpc3AvY2wtbWFjcy5lbAppbmRleCA3YzIwN2QzNzJmYy4uMGUx MDAxMWE1MDYgMTAwNjQ0Ci0tLSBhL2xpc3AvZW1hY3MtbGlzcC9jbC1tYWNzLmVsCisrKyBiL2xp c3AvZW1hY3MtbGlzcC9jbC1tYWNzLmVsCkBAIC0zODI1LDYgKzM4MjUsMzQ5IEBAIGNsLXR5cGUK IFRZUEUgaXMgYSB0eXBlIGRlc2NyaXB0b3IgYXMgYWNjZXB0ZWQgYnkgYGNsLXR5cGVwJywgd2hp Y2ggc2VlLiIKICAgYChwcmVkIChwY2FzZS0tZmxpcCBjbC10eXBlcCAnLHR5cGUpKSkKIAorOzs7 IFBjYXNlIGxhbWJkYS1saXN0IHBhdHRlcm4KKworOzsgVGhpcyBwYXR0ZXJuIGlzIGxpa2UgYGNs LWRlc3RydWN0dXJpbmctYmluZCcsIGJ1dCB3aXRoIGBwY2FzZScuICBXZQorOzsgY2FuJ3QgdXNl IGBjbC0tZG8tYXJnbGlzdCcgZm9yIHRoaXMsIGJlY2F1c2UgYGNsLS1kby1hcmdsaXN0JyB1c2Vz Cis7OyBgcG9wJyB0byBtb2RpZnkgZWFybGllciB2YXJpYWJsZXMgd2hpbGUgc2V0dGluZyBsYXRl ciBvbmVzLCB3aGljaAorOzsgZG9lc24ndCBzZWVtIHRvIHdvcmsgd2l0aCBgcGNhc2UnLgorCiso ZGVmaW5lLWVycm9yICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0CisgICAg ICAgICAgICAgICJJbnZhbGlkIGFyZ3VtZW50IGxpc3QgdXNlZCBpbiBgY2wtYXJnbGlzdCcgcGF0 dGVybi4iKQorCisoZGVmdW4gY2wtLXBjYXNlLWNsLWFyZ2xpc3QtdmFyLWdyb3VwcyAobGFtYmRh LWxpc3QpCisgICJSZXR1cm4gdGhlIGFsaXN0IG9mIHZhcmlhYmxlIGdyb3VwcyBpbiBMQU1CREEt TElTVC4KKworTGlzdHMgYXJlIG9mIHRoZSBmb3JtCitgKFsmd2hvbGUgV0hPTEUtVkFSXSBbUE9T LVZBUlNdIFsmb3B0aW9uYWwgT1BULVZBUlNdIFsmcmVzdCBSRVNULVZBUl0KK1sma2V5IEtFWS1W QVJTXSBbJmF1eCBBVVgtVkFSU10pJy4iCisgIChsZXQgKCh3aG9sZS12YXIpIChwcm9jZXNzaW5n LXdob2xlKQorICAgICAgICAocG9zLXZhcikKKyAgICAgICAgKG9wdC12YXIpIChwcm9jZXNzaW5n LW9wdHMpCisgICAgICAgIChyZXN0LXZhcikgKHByb2Nlc3NpbmctcmVzdCkgKGRvdHRlZC1yZXN0 LXZhcikKKyAgICAgICAgKGtleS12YXIpIChwcm9jZXNzaW5nLWtleXMpIChhbGxvdy1vdGhlci1r ZXlzKQorICAgICAgICAoYXV4LXZhcikgKHByb2Nlc3NpbmctYXV4cykKKyAgICAgICAgKHJlbWFp bmluZy1saXN0IChjbC1jb3B5LWxpc3QgbGFtYmRhLWxpc3QpKSkKKworICAgICh3aGVuIChub3Qg KHByb3Blci1saXN0LXAgcmVtYWluaW5nLWxpc3QpKQorICAgICAgKGNsLXNoaWZ0ZiBkb3R0ZWQt cmVzdC12YXIKKyAgICAgICAgICAgICAgICAgKGNkciAobGFzdCByZW1haW5pbmctbGlzdCkpCisg ICAgICAgICAgICAgICAgIG5pbCkpCisKKyAgICAoY2wtZmxldCAoKG1pc3NpbmctYWZ0ZXIgKGNk cikgKG9yIChudWxsIGNkcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChtZW1xIChjYXIgY2RyKSBjbC0tbGFtYmRhLWxpc3Qta2V5d29yZHMpKSkKKyAgICAgICAgICAg ICAgKHN0b3AtcHJvY2Vzc2luZyAoKSAoc2V0cSBwcm9jZXNzaW5nLXdob2xlIG5pbAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3Npbmctb3B0cyBuaWwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzaW5nLXJlc3Qgbmls CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc2luZy1rZXlz IG5pbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3Npbmct YXV4cyBuaWwpKSkKKworICAgICAgKGNsLWxvb3AKKyAgICAgICBmb3IgKGZpcnN0IC4gcmVzdCkg b24gcmVtYWluaW5nLWxpc3QKKyAgICAgICBkbworICAgICAgIChwY2FzZSBmaXJzdAorICAgICAg ICAgKCcmd2hvbGUKKyAgICAgICAgICAoaWYgKG9yIChtaXNzaW5nLWFmdGVyIHJlc3QpCisgICAg ICAgICAgICAgICAgICB3aG9sZS12YXIgcG9zLXZhciBvcHQtdmFyCisgICAgICAgICAgICAgICAg ICByZXN0LXZhciBrZXktdmFyIGFsbG93LW90aGVyLWtleXMgYXV4LXZhcikKKyAgICAgICAgICAg ICAgKHNpZ25hbCAnY2wtLXBjYXNlLWNsLWFyZ2xpc3QtaW52YWxpZC1hcmctbGlzdCAobGlzdCBs YW1iZGEtbGlzdCkpCisgICAgICAgICAgICAoc3RvcC1wcm9jZXNzaW5nKQorICAgICAgICAgICAg KHNldHEgcHJvY2Vzc2luZy13aG9sZSB0KSkpCisKKyAgICAgICAgICgnJm9wdGlvbmFsCisgICAg ICAgICAgKGlmIChvciAobWlzc2luZy1hZnRlciByZXN0KQorICAgICAgICAgICAgICAgICAgb3B0 LXZhciByZXN0LXZhciBrZXktdmFyIGFsbG93LW90aGVyLWtleXMgYXV4LXZhcikKKyAgICAgICAg ICAgICAgKHNpZ25hbCAnY2wtLXBjYXNlLWNsLWFyZ2xpc3QtaW52YWxpZC1hcmctbGlzdAorICAg ICAgICAgICAgICAgICAgICAgIChsaXN0IGxhbWJkYS1saXN0KSkKKyAgICAgICAgICAgIChzdG9w LXByb2Nlc3NpbmcpCisgICAgICAgICAgICAoc2V0cSBwcm9jZXNzaW5nLW9wdHMgdCkpKQorCisg ICAgICAgICAoKG9yICcmcmVzdCAnJmJvZHkpCisgICAgICAgICAgKGlmIChvciAobWlzc2luZy1h ZnRlciByZXN0KQorICAgICAgICAgICAgICAgICAgcmVzdC12YXIga2V5LXZhciBhbGxvdy1vdGhl ci1rZXlzIGF1eC12YXIKKyAgICAgICAgICAgICAgICAgIGRvdHRlZC1yZXN0LXZhcikKKyAgICAg ICAgICAgICAgKHNpZ25hbCAnY2wtLXBjYXNlLWNsLWFyZ2xpc3QtaW52YWxpZC1hcmctbGlzdAor ICAgICAgICAgICAgICAgICAgICAgIChsaXN0IGxhbWJkYS1saXN0KSkKKyAgICAgICAgICAgIChz dG9wLXByb2Nlc3NpbmcpCisgICAgICAgICAgICAoc2V0cSBwcm9jZXNzaW5nLXJlc3QgdCkpKQor CisgICAgICAgICAoJyZrZXkKKyAgICAgICAgICAoaWYgKG9yIChtaXNzaW5nLWFmdGVyIHJlc3Qp CisgICAgICAgICAgICAgICAgICBrZXktdmFyIGFsbG93LW90aGVyLWtleXMgYXV4LXZhcgorICAg ICAgICAgICAgICAgICAgZG90dGVkLXJlc3QtdmFyKQorICAgICAgICAgICAgICAoc2lnbmFsICdj bC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0CisgICAgICAgICAgICAgICAgICAg ICAgKGxpc3QgbGFtYmRhLWxpc3QpKQorICAgICAgICAgICAgKHN0b3AtcHJvY2Vzc2luZykKKyAg ICAgICAgICAgIChzZXRxIHByb2Nlc3Npbmcta2V5cyB0KSkpCisKKyAgICAgICAgICgnJmFsbG93 LW90aGVyLWtleXMKKyAgICAgICAgICAoaWYgKG9yIChub3QgcHJvY2Vzc2luZy1rZXlzKQorICAg ICAgICAgICAgICAgICAgYWxsb3ctb3RoZXIta2V5cworICAgICAgICAgICAgICAgICAgZG90dGVk LXJlc3QtdmFyKQorICAgICAgICAgICAgICAoc2lnbmFsICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1p bnZhbGlkLWFyZy1saXN0CisgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgbGFtYmRhLWxpc3Qp KQorICAgICAgICAgICAgKHN0b3AtcHJvY2Vzc2luZykKKyAgICAgICAgICAgIChzZXRxIGFsbG93 LW90aGVyLWtleXMgdCkpKQorCisgICAgICAgICAoJyZhdXgKKyAgICAgICAgICAoaWYgKG9yICht aXNzaW5nLWFmdGVyIHJlc3QpCisgICAgICAgICAgICAgICAgICBhdXgtdmFyCisgICAgICAgICAg ICAgICAgICBkb3R0ZWQtcmVzdC12YXIpCisgICAgICAgICAgICAgIChzaWduYWwgJ2NsLS1wY2Fz ZS1jbC1hcmdsaXN0LWludmFsaWQtYXJnLWxpc3QKKyAgICAgICAgICAgICAgICAgICAgICAobGlz dCBsYW1iZGEtbGlzdCkpCisgICAgICAgICAgICAoc3RvcC1wcm9jZXNzaW5nKQorICAgICAgICAg ICAgKHNldHEgcHJvY2Vzc2luZy1hdXhzIHQpKSkKKworICAgICAgICAgKChndWFyZCBwcm9jZXNz aW5nLXdob2xlKQorICAgICAgICAgIChzZXRxIHdob2xlLXZhciBmaXJzdAorICAgICAgICAgICAg ICAgIHByb2Nlc3Npbmctd2hvbGUgbmlsKSkKKworICAgICAgICAgKChndWFyZCBwcm9jZXNzaW5n LXJlc3QpCisgICAgICAgICAgKHNldHEgcmVzdC12YXIgZmlyc3QKKyAgICAgICAgICAgICAgICBw cm9jZXNzaW5nLXJlc3QgbmlsKSkKKworICAgICAgICAgKChndWFyZCBwcm9jZXNzaW5nLW9wdHMp CisgICAgICAgICAgKHB1c2ggZmlyc3Qgb3B0LXZhcikpCisKKyAgICAgICAgICgoZ3VhcmQgcHJv Y2Vzc2luZy1rZXlzKQorICAgICAgICAgIChwdXNoIGZpcnN0IGtleS12YXIpKQorCisgICAgICAg ICAoKGd1YXJkIHByb2Nlc3NpbmctYXV4cykKKyAgICAgICAgICAocHVzaCBmaXJzdCBhdXgtdmFy KSkKKworICAgICAgICAgKCcmZW52aXJvbm1lbnQKKyAgICAgICAgICAoc2lnbmFsICdjbC0tcGNh c2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0CisgICAgICAgICAgICAgICAgICAobGlzdCBs YW1iZGEtbGlzdCkpKQorCisgICAgICAgICAoXworICAgICAgICAgIChpZiAob3Igb3B0LXZhciBy ZXN0LXZhciBrZXktdmFyIGF1eC12YXIKKyAgICAgICAgICAgICAgICAgIGFsbG93LW90aGVyLWtl eXMpCisgICAgICAgICAgICAgIChzaWduYWwgJ2NsLS1wY2FzZS1jbC1hcmdsaXN0LWludmFsaWQt YXJnLWxpc3QKKyAgICAgICAgICAgICAgICAgICAgICAobGlzdCBsYW1iZGEtbGlzdCkpCisgICAg ICAgICAgICAocHVzaCBmaXJzdCBwb3MtdmFyKSkpKSkpCisKKyAgICBgKCh3aG9sZSAuICx3aG9s ZS12YXIpCisgICAgICAocG9zIC4gLChucmV2ZXJzZSBwb3MtdmFyKSkKKyAgICAgIChvcHQgLiAs KG5yZXZlcnNlIG9wdC12YXIpKQorICAgICAgKHJlc3QgLiAsKG9yIGRvdHRlZC1yZXN0LXZhciBy ZXN0LXZhcikpCisgICAgICAoa2V5IC4gLChucmV2ZXJzZSBrZXktdmFyKSkKKyAgICAgIChhbGxv dy1vdGhlci1rZXlzIC4gLGFsbG93LW90aGVyLWtleXMpCisgICAgICAoYXV4IC4gLChucmV2ZXJz ZSBhdXgtdmFyKSkpKSkKKworKGRlZnVuIGNsLS1wY2FzZS1jbC1hcmdsaXN0LXBvc2l0aW9uYWwt cGF0dGVybiAocG9zLXZhcnMgb3B0LXZhcnMgcmVzdC12YXIga2V5LXZhcnMpCisgICJCdWlsZCBh IHBhdHRlcm4gZm9yIHRoZSBwb3NpdGlvbmFsLCBgJm9wdGlvbmFsJywgYW5kIGAmcmVzdCcgdmFy aWFibGVzLgorCitQT1MtVkFSUyBpcyB0aGUgbGlzdCBvZiB0aGUgcG9zaXRpb25hbCB2YXJpYWJs ZXMuICBPUFQtVkFSUyBpcyB0aGUgbGlzdCBvZgordGhlIG9wdGlvbmFsIHZhcmlhYmxlcy4gIFJF U1QtVkFSIGlzIHRoZSBgJnJlc3QnIHZhcmlhYmxlLiIKKyAgOzsgQSBtb2RpZmllZCB2ZXJzaW9u IG9mIHRoZSBiYWNrLXF1b3RlIHBhdHRlcm4gdG8gYmV0dGVyIHdvcmsgd2l0aAorICA7OyBvcHRp b25hbCB2YWx1ZXMuCisgIChjb25kCisgICAocG9zLXZhcnMgYChhbmQgKHByZWQgY29uc3ApCisg ICAgICAgICAgICAgICAgICAgKGFwcCBjYXItc2FmZSAsKGNhciBwb3MtdmFycykpCisgICAgICAg ICAgICAgICAgICAgKGFwcCBjZHItc2FmZSAsKGNsLS1wY2FzZS1jbC1hcmdsaXN0LXBvc2l0aW9u YWwtcGF0dGVybgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2RyIHBvcy12 YXJzKSBvcHQtdmFycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN0LXZh ciBrZXktdmFycykpKSkKKyAgIChvcHQtdmFycyAocGNhc2UtbGV0ICgoKG9yIGAoLHZhciAsZGVm YXVsdCAsc3VwcGxpZWQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKCx2YXIgLGRl ZmF1bHQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKCx2YXIpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB2YXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgIChjYXIg b3B0LXZhcnMpKSkKKyAgICAgICAgICAgICAgIGAoYW5kIChwcmVkIGxpc3RwKQorICAgICAgICAg ICAgICAgICAgICAgKGFwcCBjYXItc2FmZSAob3IgKGFuZCAocHJlZCBudWxsKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQCh3aGVuIHN1cHBsaWVkIGAoKGxl dCAsc3VwcGxpZWQgbmlsKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKHdoZW4gZGVmYXVsdCBgKChsZXQgLHZhciAsZGVmYXVsdCkpKSkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwoaWYgc3VwcGxpZWQKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYChhbmQgKGxldCAsc3VwcGxpZWQgdCkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLHZhcikK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcikpKQorICAgICAg ICAgICAgICAgICAgICAgKGFwcCBjZHItc2FmZSAsKGNsLS1wY2FzZS1jbC1hcmdsaXN0LXBvc2l0 aW9uYWwtcGF0dGVybgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbCAo Y2RyIG9wdC12YXJzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3Qt dmFyIGtleS12YXJzKSkpKSkKKyAgIChyZXN0LXZhciByZXN0LXZhcikKKyAgIDs7IGBwY2FzZScg YWxsb3dzIGAoLGEgLGIpIHRvIG1hdGNoICgxIDIgMyksIHNvIHdlIG5lZWQgdG8gbWFrZQorICAg Ozsgc3VyZSB0aGVyZSBhcmVuJ3QgbW9yZSB2YWx1ZXMgbGVmdC4gIEhvd2V2ZXIsIGlmIHdlIGFy ZSB1c2luZworICAgOzsgYCZrZXknLCB0aGVuIHdlIGFsbG93IG1vcmUgdmFsdWVzLgorICAgKGtl eS12YXJzICdfKQorICAgKHQgJyhwcmVkIG51bGwpKSkpCisKKyhkZWZ1biBjbC0tcGNhc2UtY2wt YXJnbGlzdC0ma2V5LXBhdHRlcm4gKGtleS12YXJzIGFsbG93LW90aGVyLWtleXMpCisgICJCdWls ZCBhIGBwY2FzZScgcGF0dGVybiBmb3IgdGhlIGAma2V5JyB2YXJpYWJsZXMuCisKK0tFWS1WQVJT IGFyZSB0aGUgZm9ybXMgb2YgdGhlIGtleSB2YXJpYWJsZXMuICBBTExPVy1PVEhFUi1LRVlTIGlz Cit3aGV0aGVyIGAmYWxsb3ctb3RoZXIta2V5cycgd2FzIHVzZWQuICBQTElTVC1WQVIgaXMgdGhl IHZhcmlhYmxlCitob2xkaW5nIHRoZSBwcm9wZXJ0eSBsaXN0LiIKKyAgOzsgSWYgd2UgYXJlbid0 IGNoZWNraW5nIHdoZXRoZXIgYWxsIGtleXMgaW4gRVhQVkFMIHdlcmUgZ2l2ZW4sCisgIDs7IHRo ZW4gd2UgY2FuIHVzZSBzaW1wbGVyIHBhdHRlcm5zIHNpbmNlIHdlIGRvbid0IG5lZWQgdG8gc3Rv cmUgdGhlCisgIDs7IHZhbHVlIG9mIHRoZSBrZXkuCisgIChjbC1mbGV0ICgoZ2V0LXZhci1kYXRh ICh2YXItZm9ybSkKKyAgICAgICAgICAgICAgKHBjYXNlLWxldCAoKChvciAob3IgYCgoLGtleSAs dmFyKSAsZGVmYXVsdCAsc3VwcGxpZWQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGAoKCxrZXkgLHZhcikgLGRlZmF1bHQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGAoKCxrZXkgLHZhcikpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChh bmQgKG9yIGAoLHZhciAsZGVmYXVsdCAsc3VwcGxpZWQpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYCgsdmFyICxkZWZhdWx0KQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGAoLHZhcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoYW5kIChwcmVkIHN5bWJvbHApCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB2YXIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOzsgU3RyaXAgYSBsZWFkaW5nIHVuZGVyc2NvcmUsIHNpbmNlIGl0CisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBvbmx5IG1lYW5zIHRoYXQgdGhpcyBhcmd1bWVu dCBpcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgdW51c2VkLCBidXQg c2hvdWxkbid0IGFmZmVjdCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDs7IGtleSdzIG5hbWUgKGJ1ZyMxMjM2NykuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAobGV0IGtleSAoaW50ZXJuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKGZvcm1hdCAiOiVzIgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKG5hbWUgKHN5bWJvbC1uYW1lIHZhcikp KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoaWYgKGVxID9fIChhcmVmIG5hbWUgMCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3Vic3RyaW5nIG5hbWUgMSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1l KSkpKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyLWZvcm0pKQorICAgICAgICAg ICAgICAgIChsaXN0IGtleSB2YXIgZGVmYXVsdCBzdXBwbGllZCkpKSkKKyAgICAoaWYgYWxsb3ct b3RoZXIta2V5cworICAgICAgICBgKGFuZCAsQChtYXBjYXIgKGxhbWJkYSAodmFyLWZvcm0pCisg ICAgICAgICAgICAgICAgICAgICAgICAgIChwY2FzZS1sZXQgKChgKCxrZXkgLHZhciAsZGVmYXVs dCAsc3VwcGxpZWQpIChnZXQtdmFyLWRhdGEgdmFyLWZvcm0pKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoa2V5LWZvdW5kIChnZW5zeW0gImtleS1mb3VuZCIpKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGxpc3QgKGdlbnN5bSAicGxpc3Qi KSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbmQgKHN1cHBsaWVkCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAoYXBwIChsYW1iZGEgKCxwbGlzdCkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGV0ICgoLGtleS1mb3VuZCAo cGxpc3QtbWVtYmVyICxwbGlzdCAsa2V5KSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoaWYgLGtleS1mb3VuZAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zIHQgKGNhZHIgLHBsaXN0KSkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnMgbmlsICxkZWZhdWx0 KSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoLCdcYCAoKCwn XCwgLHN1cHBsaWVkKSAuICgsJ1wsICx2YXIpKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChkZWZhdWx0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAo YXBwIChsYW1iZGEgKCxwbGlzdCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAobGV0ICgoLGtleS1mb3VuZCAocGxpc3QtbWVtYmVyICxwbGlzdCAsa2V5KSkpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgLGtleS1mb3Vu ZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjYWRy ICxwbGlzdCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LGRlZmF1bHQpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLHZh cikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHQKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYChhcHAgKHBjYXNlLS1mbGlwIHBsaXN0LWdldCAsa2V5KQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsdmFyKSkpKSkKKyAgICAg ICAgICAgICAgICAgICAgICAgIGtleS12YXJzKSkKKyAgICAgIDs7IElmIHdlIGFyZSBjaGVja2lu ZyB3aGV0aGVyIHRoZXJlIGFyZSBubyBvdGhlciBrZXlzIGluIEVYUFZBTCwKKyAgICAgIDs7IHRo ZW4gd2UgdXNlIGEgc2luZ2xlIGZ1bmN0aW9uIGZvciBleHRyYWN0aW5nIHRoZSBhc3NvY2lhdGVk CisgICAgICA7OyB2YWx1ZXMgYW5kIHBlcmZvcm1pbmcgdGhlIGNoZWNrLCB3aG9zZSBvdXRwdXQg d2UgbWF0Y2ggYWdhaW5zdAorICAgICAgOzsgYSBsaXN0IG9mIHBhdHRlcm5zLgorICAgICAgKGxl dCAoKHJlcyAoZ2Vuc3ltICJyZXMiKSkKKyAgICAgICAgICAgIChrZXlzIChnZW5zeW0gImtleXMi KSkKKyAgICAgICAgICAgIChwbGlzdCAoZ2Vuc3ltICJwbGlzdCIpKQorICAgICAgICAgICAgKHBh dHMgbmlsKSkKKyAgICAgICAgYChhcHAgKGxhbWJkYSAoLHBsaXN0KQorICAgICAgICAgICAgICAg IChsZXQgKCgscmVzIG5pbCkKKyAgICAgICAgICAgICAgICAgICAgICAoLGtleXMgbmlsKSkKKyAg ICAgICAgICAgICAgICAgICxAKGNsLWxvb3AKKyAgICAgICAgICAgICAgICAgICAgIGZvciAoa2V5 IHZhciBkZWZhdWx0IHN1cHBsaWVkKSBpbiAobWFwY2FyICMnZ2V0LXZhci1kYXRhIGtleS12YXJz KQorICAgICAgICAgICAgICAgICAgICAgY29sbGVjdCAobWFjcm9leHAtbGV0MiogKChrZXl2YWwg a2V5KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGAocHJvZ24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAocHVzaCAsa2V5dmFsICxrZXlzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICwoY29uZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN1cHBsaWVk CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHB1c2ggc3VwcGxpZWQgcGF0 cykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHVzaCB2YXIgcGF0cykK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2wtb25jZS1vbmx5ICgoa2V5 LWZvdW5kIGAocGxpc3QtbWVtYmVyICxwbGlzdCAsa2V5dmFsKSkpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBgKGlmICxrZXktZm91bmQKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2duCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKHB1c2ggdCAscmVzKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwdXNoIChjYWRyICxrZXktZm91bmQpICxyZXMp KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHB1c2ggbmlsICxy ZXMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHVzaCAsZGVm YXVsdCAscmVzKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlZmF1 bHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHVzaCB2YXIgcGF0cykK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2wtb25jZS1vbmx5ICgoa2V5 LWZvdW5kIGAocGxpc3QtbWVtYmVyICxwbGlzdCAsa2V5dmFsKSkpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBgKGlmICxrZXktZm91bmQKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHB1c2ggKGNhZHIgLGtleS1mb3VuZCkgLHJlcykK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwdXNoICxkZWZhdWx0 ICxyZXMpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwdXNoIHZhciBwYXRzKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAocHVzaCAocGxpc3QtZ2V0ICxwbGlzdCAsa2V5 dmFsKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAscmVzKSkp KSkpCisgICAgICAgICAgICAgICAgICAocHVzaCAob3IgKHBsaXN0LWdldCAscGxpc3QgOmFsbG93 LW90aGVyLWtleXMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsLWxvb3AgZm9yIChr ZXkgX3ZhbCkgb24gLHBsaXN0IGJ5ICMnY2RkcgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGFsd2F5cyAobWVtcSBrZXkgLGtleXMpKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICxyZXMpCisgICAgICAgICAgICAgICAgICA7OyBSZXZlcnNlIGluIGNhc2UgYSBsYXR0ZXIg cGF0dGVybiB1c2UgYSB2YXJpYWJsZQorICAgICAgICAgICAgICAgICAgOzsgZnJvbSBhbiBlYXJs aWVyIHBhdHRlcm4uCisgICAgICAgICAgICAgICAgICAobnJldmVyc2UgLHJlcykpKQorICAgICAg ICAgICAgICAoLCdcYCAsKGNsLWxvb3AgZm9yIHBhdCBpbiAocmV2ZXJzZSAoY29ucyAnKHByZWQg KG5vdCBudWxsKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcGF0cykpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xsZWN0 IGAoLCdcLCAscGF0KSkpKSkpKSkKKworKGRlZnVuIGNsLS1wY2FzZS1jbC1hcmdsaXN0LSZhdXgt cGF0dGVybiAoYXV4LXZhcnMpCisgICJCdWlsZCBgcGNhc2UnIHBhdHRlcm4gZm9yIGAmYXV4JyB2 YXJpYWJsZXMuCisKK0FVWC1WQVJTIGlzIHRoZSBsaXN0IG9mIGJpbmRpbmdzLiIKKyAgYChhbmQg LEAoY2wtbG9vcCBmb3IgYmluZCBpbiBhdXgtdmFycworICAgICAgICAgICAgICAgICAgIGNvbGxl Y3QgKHBjYXNlLWxldCAoKChvciBgKCx2YXIgLHZhbCkKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYCgsdmFyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB2YXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYmluZCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAobGV0ICx2YXIgLHZh bCkpKSkpCisKKzs7OyMjI2F1dG9sb2FkCisocGNhc2UtZGVmbWFjcm8gY2wtYXJnbGlzdCAoYXJn bGlzdCkKKyAgIk1hdGNoIGEgQ0wgYXJndW1lbnQgbGlzdCwgYXMgaW4gYGNsLWRlZnVuJyBhbmQg YGNsLWRlZm1hY3JvJy4KKworU2VlIHRoZSBJbmZvIG5vZGUgYChjbClBcmd1bWVudCBMaXN0cycu CisKK1RoaXMgcGF0dGVybiBkb2VzIG5vdCBzdXBwb3J0IGAmZW52aXJvbm1lbnQnLgorCitgJmtl eScgd2lsbCBmYWlsIHRvIG1hdGNoIGlmIHRoZXJlIGFyZSBtb3JlIGtleXMgaW4gdGhlIHBsaXN0 Cit0aGVuIHNwZWNpZmllZCwgdW5sZXNzIGAmYWxsb3ctb3RoZXIta2V5cycgaXMgZ2l2ZW4gb3Ig dW5sZXNzIHRoZQorcGxpc3QgYXNzb2NpYXRlcyB0aGUga2V5IGA6YWxsb3ctb3RoZXIta2V5cycg d2l0aCBhIG5vbi1uaWwKK3ZhbHVlLiAgVW5saWtlIGBjbC1kZXN0cnVjdHVyaW5nLWJpbmQnLCB0 aGlzIHBhdHRlcm4gZG9lcyBub3QKK3NpZ25hbCBhbiBlcnJvciBpZiB0aGVyZSBhcmUgdW5tYXRj aGVkIGtleXMgaW4gdGhlIHBsaXN0LgorCitVbmxpa2UgdGhlIGJhY2stcXVvdGUgcGF0dGVybiwg dGhlIHBhdHRlcm4gd2lsbCBmYWlsIHRvIG1hdGNoIGlmIHRoZQorbm9uLW9wdGlvbmFsIHBhcnQg b2YgQVJHTElTVCBpcyBzaG9ydGVyIHRoYW4gRVhQVkFMLgorCitGb3IgdGhpcyBgcGNhc2UnIHBh dHRlcm4sIHRoZSB2YXJpYWJsZXMgaW4gQVJHTElTVCBjYW4KK3RoZW1zZWx2ZXMgYmUgYHBjYXNl JyBwYXR0ZXJucywgaW5zdGVhZCBvZiBqdXN0IHN5bWJvbHMgYXMgaW4gYQorbm9ybWFsIENMIGxh bWJkYSBsaXN0LiAgSG93ZXZlciwgYXJndW1lbnQtbGlzdCBjb25zdHJ1Y3RzIGxpa2UKK2Amb3B0 aW9uYWwnLCBgJmtleScsIGFuZCBgJmF1eCcgdXNlIHN1Yi1saXN0cyB0byBzcGVjaWZ5IGRlZmF1 bHQKK3ZhbHVlcyBhbmQgb3RoZXIgZmVhdHVyZXMuICBGb3IgZXhhbXBsZSwKKworICAgIChjbC1h cmdsaXN0ICgmb3B0aW9uYWwgKG9wdDEgZGVmYXVsdDEgb3B0MS1zdXBwbGllZCkpKQorCitUaGVy ZWZvcmUsIHRvIGF2b2lkIGFtYmlndWl0eSwgdGhlIHVzZSBvZiBzdWItcGF0dGVybnMgY2FuIG9u bHkKK2JlIGRvbmUgd2l0aGluIHRoZSBzdWItbGlzdCBmb3IgdGhvc2UgY29uc3RydWN0cy4gIEZv ciBleGFtcGxlLAorCisgICAgKGNsLWFyZ2xpc3QgKCZvcHRpb25hbCAoKGFuZCBvcHQxIChndWFy ZCAobGlzdHAgb3B0MSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsKSkpCisKK0Zv ciBzaW1pbGFyIHJlYXNvbnMsIHRoZSBjZHIgb2YgYSBkb3R0ZWQgbGlzdCAoYXMgb3Bwb3NlZCB0 byB0aGUKK2VsZW1lbnQgZm9sbG93aW5nIGAmcmVzdCcpIGZvciB0aGUgcmVtYWluZGVyIG9mIGEg bGlzdCBjYW5ub3QgYmUKK2Egc3ViLXBhdHRlcm4uIgorICAobGV0KiAoKGdyb3VwcyAoY2wtLXBj YXNlLWNsLWFyZ2xpc3QtdmFyLWdyb3VwcyBhcmdsaXN0KSkKKyAgICAgICAgICh3aG9sZS12YXIg KGFsaXN0LWdldCAnd2hvbGUgZ3JvdXBzKSkKKyAgICAgICAgIChwb3MtdmFycyAoYWxpc3QtZ2V0 ICdwb3MgZ3JvdXBzKSkKKyAgICAgICAgIChvcHQtdmFycyAoYWxpc3QtZ2V0ICdvcHQgZ3JvdXBz KSkKKyAgICAgICAgIChyZXN0LXZhciAoYWxpc3QtZ2V0ICdyZXN0IGdyb3VwcykpCisgICAgICAg ICAoa2V5LXZhcnMgKGFsaXN0LWdldCAna2V5IGdyb3VwcykpCisgICAgICAgICAoYWxsb3ctb3Ro ZXIta2V5cyAoYWxpc3QtZ2V0ICdhbGxvdy1vdGhlci1rZXlzIGdyb3VwcykpCisgICAgICAgICAo YXV4LXZhcnMgKGFsaXN0LWdldCAnYXV4IGdyb3VwcykpKQorICAgIChyZW1xIG5pbAorICAgICAg ICAgIGAoYW5kIChwcmVkIGxpc3RwKQorICAgICAgICAgICAgICAgICwod2hlbiB3aG9sZS12YXIK KyAgICAgICAgICAgICAgICAgICB3aG9sZS12YXIpCisgICAgICAgICAgICAgICAgLCh3aGVuIChv ciBwb3MtdmFycyBvcHQtdmFycyByZXN0LXZhcikKKyAgICAgICAgICAgICAgICAgICAoY2wtLXBj YXNlLWNsLWFyZ2xpc3QtcG9zaXRpb25hbC1wYXR0ZXJuCisgICAgICAgICAgICAgICAgICAgIHBv cy12YXJzIG9wdC12YXJzCisgICAgICAgICAgICAgICAgICAgIHJlc3QtdmFyIGtleS12YXJzKSkK KyAgICAgICAgICAgICAgICAsKHdoZW4ga2V5LXZhcnMKKyAgICAgICAgICAgICAgICAgICAoY29u ZAorICAgICAgICAgICAgICAgICAgICAocmVzdC12YXIgYChhcHAgKGxhbWJkYSAoXykgLHJlc3Qt dmFyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLChjbC0tcGNhc2UtY2wt YXJnbGlzdC0ma2V5LXBhdHRlcm4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAga2V5LXZhcnMgYWxsb3ctb3RoZXIta2V5cykpKQorICAgICAgICAgICAgICAgICAgICAoKG9y IHBvcy12YXJzIG9wdC12YXJzKQorICAgICAgICAgICAgICAgICAgICAgYChhcHAgKG50aGNkciAs KCsgKGxlbmd0aCBwb3MtdmFycykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChsZW5ndGggb3B0LXZhcnMpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICwoY2wt LXBjYXNlLWNsLWFyZ2xpc3QtJmtleS1wYXR0ZXJuCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGtleS12YXJzIGFsbG93LW90aGVyLWtleXMpKSkKKyAgICAgICAgICAgICAgICAgICAgKHQg KGNsLS1wY2FzZS1jbC1hcmdsaXN0LSZrZXktcGF0dGVybgorICAgICAgICAgICAgICAgICAgICAg ICAga2V5LXZhcnMgYWxsb3ctb3RoZXIta2V5cykpKSkKKyAgICAgICAgICAgICAgICAsKHdoZW4g YXV4LXZhcnMKKyAgICAgICAgICAgICAgICAgICAoY2wtLXBjYXNlLWNsLWFyZ2xpc3QtJmF1eC1w YXR0ZXJuIGF1eC12YXJzKSkpKSkpCisKIDs7IExvY2FsIHZhcmlhYmxlczoKIDs7IGdlbmVyYXRl ZC1hdXRvbG9hZC1maWxlOiAiY2wtbG9hZGRlZnMuZWwiCiA7OyBFbmQ6CmRpZmYgLS1naXQgYS90 ZXN0L2xpc3AvZW1hY3MtbGlzcC9wY2FzZS10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9lbWFjcy1saXNw L3BjYXNlLXRlc3RzLmVsCmluZGV4IDc5OWU4ZDM2NjQ3Li4xMDhlNGI5NmQwNCAxMDA2NDQKLS0t IGEvdGVzdC9saXNwL2VtYWNzLWxpc3AvcGNhc2UtdGVzdHMuZWwKKysrIGIvdGVzdC9saXNwL2Vt YWNzLWxpc3AvcGNhc2UtdGVzdHMuZWwKQEAgLTE2MCw0ICsxNjAsNTE5IEBAIHBjYXNlLXRlc3Rz LXNldHEKICAgKHNob3VsZC1lcnJvciAocGNhc2Utc2V0cSBhKQogICAgICAgICAgICAgICAgIDp0 eXBlICcod3JvbmctbnVtYmVyLW9mLWFyZ3VtZW50cykpKQogCis7Ozs7IFRlc3RzIGZvciB0aGUg YGNsLWFyZ2xpc3QnIGBwY2FzZScgcGF0dGVybi4KKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3Rz LWNsLWFyZ2xpc3QtJndob2xlLXNob3VsZC1lcnJvciAoKQorICAiYCZ3aG9sZScgbXVzdCBjb21l IGZpcnN0IGlmIGdpdmVuLCBhbmQgbXVzdCBiZSBmb2xsb3dlZCBieSBhIHBhdHRlci4iCisgIChz aG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1h cmdsaXN0ICgmd2hvbGUpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAg ICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1jbC1hcmdsaXN0LWludmFsaWQtYXJnLWxpc3Qp CisKKyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAg ICAoKGNsLWFyZ2xpc3QgKGEgYiAmd2hvbGUgYykpCisgICAgICAgICAgICAgICAgICAgKGxpc3Qg YSBiIGMpKSkKKyAgICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBjYXNlLWNsLWFyZ2xpc3QtaW52 YWxpZC1hcmctbGlzdCkKKworICAoc2hvdWxkLWVycm9yIChwY2FzZSAobGlzdCAxIDIgMykKKyAg ICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoJnJlc3QgYSAmd2hvbGUgYykpCisgICAgICAg ICAgICAgICAgICAgKGxpc3QgYSBiIGMpKSkKKyAgICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBj YXNlLWNsLWFyZ2xpc3QtaW52YWxpZC1hcmctbGlzdCkKKworICAoc2hvdWxkLWVycm9yIChwY2Fz ZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoJmtleSBhICZ3 aG9sZSBjKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykpKQorICAgICAgICAgICAg ICAgIDp0eXBlICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0KQorCisgIChz aG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1h cmdsaXN0ICgmYXV4IChhIDEpICZ3aG9sZSBjKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBh IGIgYykpKQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZh bGlkLWFyZy1saXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAg ICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0ICgmb3B0aW9uYWwgKGEgMSkgJndob2xlIGMpKQor ICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAgICAgICAgICAgICAgOnR5cGUg J2NsLS1wY2FzZS1jbC1hcmdsaXN0LWludmFsaWQtYXJnLWxpc3QpCisKKyAgKHNob3VsZC1lcnJv ciAocGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZ3 aG9sZSB3aG9sZTEgJndob2xlIHdob2xlMikpCisgICAgICAgICAgICAgICAgICAgKGxpc3Qgd2hv bGUxIHdob2xlMikpKQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtY2wtYXJnbGlz dC1pbnZhbGlkLWFyZy1saXN0KSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWFyZ2xp c3QtJndob2xlICgpCisgICJgJndob2xlJyBjYW4gYmUgYSBgcGNhc2UnIHBhdHRlcm4uIgorICAo c2hvdWxkIChlcXVhbCAobGlzdCAobGlzdCAxIDIgMykgMSAyIDMpCisgICAgICAgICAgICAgICAg IChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZ3 aG9sZSB3aG9sZSBhIGIgYykpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IHdob2xlIGEgYiBj KSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDIgMyAxIDIgMykKKyAgICAgICAgICAg ICAgICAgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlz dCAoJndob2xlIGAoLGEwICxiMCAsYzApIGEgYiBjKSkKKyAgICAgICAgICAgICAgICAgICAgKGxp c3QgYTAgYjAgYzAgYSBiIGMpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWFy Z2xpc3QtcG9zICgpCisgICJQb3NpdGlvbmFsIHZhcmlhYmxlcyBtdXN0IG1hdGNoIHRoZSBsZW5n dGggb2YgRVhQVkFMLiIKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIDMpCisgICAgICAgICAg ICAgICAgIChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xp c3QgKGEgYiBjKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMpKSkpKQorCisgIChz aG91bGQgKGVxdWFsIG5pbAorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgKGxpc3QgMSkp CisgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0IChhIGIpKQorICAgICAgICAgICAgICAg ICAgICAobGlzdCBhIGIpKSkpKQorCisgIChzaG91bGQgKGVxdWFsIG5pbAorICAgICAgICAgICAg ICAgICAocGNhc2UgKGxpc3QgKGxpc3QgMSAyIDMpKQorICAgICAgICAgICAgICAgICAgICgoY2wt YXJnbGlzdCAoYSBiKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiKSkpKSkpCisKKyhl cnQtZGVmdGVzdCBwY2FzZS10ZXN0cy1jbC1hcmdsaXN0LXBvcy1zdWItcGF0dGVybnMgKCkKKyAg KHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIDMgNCkKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChs aXN0IDEgMiAobGlzdCAzIDQpKQorICAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoYSBi IChjbC1hcmdsaXN0IChjIGQpKSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjIGQp KSkpKQorCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEgMikKKyAgICAgICAgICAgICAgICAgKHBj YXNlIChsaXN0IChsaXN0IDEgMikpCisgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0IChg KCxhICxiKSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYikpKSkpKQorCisoZXJ0LWRl ZnRlc3QgcGNhc2UtdGVzdHMtY2wtYXJnbGlzdC0mb3B0aW9uYWwtc2hvdWxkLWVycm9yICgpCisg ICJgJm9wdGlvbmFsJyBjYW5ub3QgYmUgdXNlZCBhZnRlciBgJm9wdGlvbmFsJywgYCZyZXN0Jywg YCZrZXknLCBhbmQgYCZhdXgnLiIKKyAgKHNob3VsZC1lcnJvciAoZXF1YWwgKGxpc3QgMSAyIDMp CisgICAgICAgICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAg ICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZyZXN0IGEgJm9wdGlvbmFsIGIgYykpCisgICAg ICAgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpKQorICAgICAgICAgICAgICAgIDp0 eXBlICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0KQorCisgIChzaG91bGQt ZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0 ICgmYm9keSBhICZvcHRpb25hbCBiIGMpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBj KSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1jbC1hcmdsaXN0LWludmFsaWQt YXJnLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAg ICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZrZXkgYSAmb3B0aW9uYWwgYiBjKSkKKyAgICAgICAg ICAgICAgICAgICAobGlzdCBhIGIgYykpKQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNh c2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNl IChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0ICgmYWxsb3ctb3Ro ZXIta2V5cyAmb3B0aW9uYWwgYiBjKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykp KQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFy Zy1saXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAg ICAgICAgICAgKChjbC1hcmdsaXN0ICgmYXV4IChhIDEpICZvcHRpb25hbCBiIGMpKQorICAgICAg ICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1w Y2FzZS1jbC1hcmdsaXN0LWludmFsaWQtYXJnLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAocGNh c2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZvcHRpb25h bCBhICZvcHRpb25hbCBiIGMpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisg ICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1jbC1hcmdsaXN0LWludmFsaWQtYXJnLWxp c3QpKQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtYXJnbGlzdC0mb3B0aW9uYWwgKCkK KyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgIChwY2FzZSAo bGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKGEgYiAmb3B0aW9u YWwgYykpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpKSkKKworICAoc2hvdWxk IChlcXVhbCAobGlzdCAxIDIgbmlsKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgMSAy KQorICAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoYSBiICZvcHRpb25hbCBjKSkKKyAg ICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMpKSkpKQorCisgIChzaG91bGQgKGVxdWFsIChs aXN0IDEgMiAxMykKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEgMikKKyAgICAgICAg ICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKGEgYiAmb3B0aW9uYWwgKGMgMTMpKSkKKyAgICAgICAg ICAgICAgICAgICAgKGxpc3QgYSBiIGMpKSkpKQorCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEg MiAxMyBuaWwpCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCAxIDIpCisgICAgICAgICAg ICAgICAgICAgKChjbC1hcmdsaXN0IChhIGIgJm9wdGlvbmFsIChjIDEzIGMtc3VwcGxpZWQpKSkK KyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMgYy1zdXBwbGllZCkpKSkpCisKKyAgKHNo b3VsZCAoZXF1YWwgKGxpc3QgMSAyIDMgdCkKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0 IDEgMiAzKQorICAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoYSBiICZvcHRpb25hbCAo YyAxMyBjLXN1cHBsaWVkKSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjIGMtc3Vw cGxpZWQpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWFyZ2xpc3QtJm9wdGlv bmFsLXN1Yi1wYXR0ZXJucyAoKQorICAiVGVzdCB1c2luZyBzdWItcGF0dGVybnMgaW4gYGNsLWFy Z2xpc3QnIHBhdHRlcm4uCitTdWItcGF0dGVybnMgbXVzdCBiZSBjb250YWluZWQgd2l0aGluIGEg c3ViLWxpc3QsIHNpbmNlIGEgc3ViLWxpc3QKK2Fsc28gcHJvdmlkZXMgYSBkZWZhdWx0IHZhbHVl LiIKKyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIChsaXN0IDMgNCkpCisgICAgICAg ICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKGEgYiAmb3B0aW9uYWwgYCgsYyAsZCkpKQorICAgICAg ICAgICAgICAgICAgIChsaXN0IGEgYiBjIGQpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3Qg MSAyIDMzKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgMSAyKQorICAgICAgICAgICAg ICAgICAgICgoY2wtYXJnbGlzdCAoYSBiICZvcHRpb25hbCAoKGFuZCBvcHQxCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGd1YXJkIChudW1iZXJw IG9wdDEpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MzMpKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIG9wdDEpKSkpKQorCisgIChzaG91 bGQgKGVxdWFsIG5pbAorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgMSAyICdub3QtbnVt KQorICAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoYSBiICZvcHRpb25hbCAoKGFuZCBv cHQxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KGd1YXJkIChudW1iZXJwIG9wdDEpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMzMpKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIG9wdDEp KSkpKQorCisgIChzaG91bGQgKGVxdWFsIG5pbAorICAgICAgICAgICAgICAgICAocGNhc2UgKGxp c3QgMSAyIG5pbCkKKyAgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKGEgYiAmb3B0aW9u YWwgKChhbmQgb3B0MQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChndWFyZCAobnVtYmVycCBvcHQxKSkpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdub3QtbnVtKSkpCisgICAgICAgICAgICAgICAgICAg IChsaXN0IGEgYiBvcHQxKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDIgMyA0KQor ICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgMSAyIChsaXN0IDMgNCkpCisgICAgICAgICAg ICAgICAgICAgKChjbC1hcmdsaXN0IChhIGIgJm9wdGlvbmFsIChgKCxjICxkKSkpKQorICAgICAg ICAgICAgICAgICAgICAobGlzdCBhIGIgYyBkKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlz dCAxIDIgbmlsIG5pbCkKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEgMikKKyAgICAg ICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKGEgYiAmb3B0aW9uYWwgKGAoLGMgLGQpKSkpCisg ICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjIGQpKSkpKQorCisgIChzaG91bGQgKGVxdWFs IChsaXN0IDEgMiAxMyAxNCkKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEgMikKKyAg ICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKGEgYiAmb3B0aW9uYWwgKGAoLGMgLGQpIChs aXN0IDEzIDE0KSkpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYyBkKSkpKSkKKwor ICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDIgMTMgMTQpCisgICAgICAgICAgICAgICAgIChwY2Fz ZSAobGlzdCAxIDIpCisgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0ICggYSBiCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmb3B0aW9uYWwgKChjbC1hcmdsaXN0IChjICZv cHRpb25hbCAoZCAxNCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAobGlzdCAxMykpKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMgZCkpKSkp CisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIDEzIDE0IG5pbCkKKyAgICAgICAgICAgICAg ICAgKHBjYXNlIChsaXN0IDEgMikKKyAgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKGEg YiAmb3B0aW9uYWwgKGAoLGMgLGQpIChsaXN0IDEzIDE0KSBjZC1zdXBwbGllZCkpKQorICAgICAg ICAgICAgICAgICAgICAobGlzdCBhIGIgYyBkIGNkLXN1cHBsaWVkKSkpKSkKKworICAoc2hvdWxk IChlcXVhbCAobGlzdCAxIDIgMTMgMTQgbmlsIHQgbmlsKQorICAgICAgICAgICAgICAgICAocGNh c2UgKGxpc3QgMSAyKQorICAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoIGEgYgorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm9wdGlvbmFsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZvcHRpb25hbCAoYyAyNyBjLXN1Yi1zdXAp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChkIDE0IGQtc3ViLXN1cCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChs aXN0IDEzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNkLXN1cHBsaWVkKSkp CisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjIGQgY2Qtc3VwcGxpZWQgYy1zdWItc3Vw IGQtc3ViLXN1cCkpKSkpKQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtYXJnbGlzdC0m cmVzdC1zaG91bGQtZXJyb3IgKCkKKyAgImAmcmVzdCcgKGAmYm9keScsIGAuJykgY2Fubm90IGJl IHVzZWQgYWZ0ZXIgYCZyZXN0JywgYCZib2R5JywgYCZrZXknLGFuZCBgJmF1eCcuIgorICAoc2hv dWxkLWVycm9yIChlcXVhbCAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAgICAgKHBj YXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAo JnJlc3QgYSAmcmVzdCBiKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMp KSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1jbC1hcmdsaXN0LWludmFsaWQt YXJnLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAoZXF1YWwgKGxpc3QgMSAyIDMpCisgICAgICAg ICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAg ICAgICAoKGNsLWFyZ2xpc3QgKCZib2R5IGEgJmJvZHkgYikpCisgICAgICAgICAgICAgICAgICAg ICAgICAgIChsaXN0IGEgYiBjKSkpKQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2Ut Y2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0KQorCisgIChzaG91bGQtZXJyb3IgKGVxdWFsIChs aXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgMSAyIDMpCisg ICAgICAgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0ICgmYm9keSBhIC4gYikpCisgICAg ICAgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpKQorICAgICAgICAgICAgICAgIDp0 eXBlICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0KQorCisgIChzaG91bGQt ZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0 ICgmYm9keSBhICZyZXN0IGIpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisg ICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1jbC1hcmdsaXN0LWludmFsaWQtYXJnLWxp c3QpCisKKyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAg ICAgICAoKGNsLWFyZ2xpc3QgKCZyZXN0IGEgJmJvZHkgYikpCisgICAgICAgICAgICAgICAgICAg KGxpc3QgYSBiIGMpKSkKKyAgICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBjYXNlLWNsLWFyZ2xp c3QtaW52YWxpZC1hcmctbGlzdCkKKworICAoc2hvdWxkLWVycm9yIChwY2FzZSAobGlzdCAxIDIg MykKKyAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoJmtleSBhICZyZXN0IGIpKQorICAg ICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2Ns LS1wY2FzZS1jbC1hcmdsaXN0LWludmFsaWQtYXJnLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAo cGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZrZXkg YSAmYm9keSBiKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykpKQorICAgICAgICAg ICAgICAgIDp0eXBlICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0KQorCisg IChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChj bC1hcmdsaXN0ICgma2V5IGEgLiBiKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykp KQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFy Zy1saXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAg ICAgICAgICAgKChjbC1hcmdsaXN0ICgmYWxsb3ctb3RoZXIta2V5cyAmcmVzdCBiKSkKKyAgICAg ICAgICAgICAgICAgICAobGlzdCBhIGIgYykpKQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0t cGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBj YXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0ICgmYWxsb3ct b3RoZXIta2V5cyAmYm9keSBiKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykpKQor ICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1s aXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAg ICAgICAgKChjbC1hcmdsaXN0ICgmYWxsb3ctb3RoZXIta2V5cyAuIGIpKQorICAgICAgICAgICAg ICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1j bC1hcmdsaXN0LWludmFsaWQtYXJnLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxp c3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZhdXggKGEgMSkgJnJl c3QgYikpCisgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMpKSkKKyAgICAgICAgICAgICAg ICA6dHlwZSAnY2wtLXBjYXNlLWNsLWFyZ2xpc3QtaW52YWxpZC1hcmctbGlzdCkKKworICAoc2hv dWxkLWVycm9yIChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICgoY2wtYXJn bGlzdCAoJmF1eCAoYSAxKSAmYm9keSBiKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIg YykpKQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlk LWFyZy1saXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAg ICAgICAgICAgICAgKChjbC1hcmdsaXN0ICgmYXV4IChhIDEpIC4gYikpCisgICAgICAgICAgICAg ICAgICAgKGxpc3QgYSBiIGMpKSkKKyAgICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBjYXNlLWNs LWFyZ2xpc3QtaW52YWxpZC1hcmctbGlzdCkpCisKKyhlcnQtZGVmdGVzdCBwY2FzZS10ZXN0cy1j bC1hcmdsaXN0LSZyZXN0LW5vbmxpc3QtY2RyICgpCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEg MikKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChjb25zIDEgMikKKyAgICAgICAgICAgICAgICAg ICAoKGNsLWFyZ2xpc3QgKGEgJnJlc3QgYikpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEg YikpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyKQorICAgICAgICAgICAgICAgICAo cGNhc2UgKGNvbnMgMSAyKQorICAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoYSAmYm9k eSBiKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiKSkpKSkKKworICAoc2hvdWxkIChl cXVhbCAobGlzdCAxIDIpCisgICAgICAgICAgICAgICAgIChwY2FzZSAoY29ucyAxIDIpCisgICAg ICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0IChhIC4gYikpCisgICAgICAgICAgICAgICAgICAg IChsaXN0IGEgYikpKSkpKQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtYXJnbGlzdC0m cmVzdC13aXRoLSZ3aG9sZSAoKQorICAoc2hvdWxkIChlcXVhbCAobGlzdCAoY29ucyAxIDIpIDEg MikKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChjb25zIDEgMikKKyAgICAgICAgICAgICAgICAg ICAoKGNsLWFyZ2xpc3QgKCZ3aG9sZSB3aG9sZSBhICZyZXN0IGIpKQorICAgICAgICAgICAgICAg ICAgICAobGlzdCB3aG9sZSBhIGIpKSkpKQorCisgIChzaG91bGQgKGVxdWFsIChsaXN0IChjb25z IDEgMikgMSAyKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGNvbnMgMSAyKQorICAgICAgICAg ICAgICAgICAgICgoY2wtYXJnbGlzdCAoJndob2xlIHdob2xlIGEgJmJvZHkgYikpCisgICAgICAg ICAgICAgICAgICAgIChsaXN0IHdob2xlIGEgYikpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxp c3QgKGNvbnMgMSAyKSAxIDIpCisgICAgICAgICAgICAgICAgIChwY2FzZSAoY29ucyAxIDIpCisg ICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0ICgmd2hvbGUgd2hvbGUgYSAuIGIpKQorICAg ICAgICAgICAgICAgICAgICAobGlzdCB3aG9sZSBhIGIpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBj YXNlLXRlc3RzLWNsLWFyZ2xpc3QtJnJlc3Qtb25seSAoKQorICAiVXNpbmcgb25seSBgJnJlc3Qn IHNob3VsZCB3b3JrIGxpa2UgYCZ3aG9sZScuIgorICAoc2hvdWxkIChlcXVhbCAobGlzdCAobGlz dCAxIDIpKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgMSAyKQorICAgICAgICAgICAg ICAgICAgICgoY2wtYXJnbGlzdCAoJnJlc3QgYSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0 IGEpKSkpKQorCisgIChzaG91bGQgKGVxdWFsIChsaXN0IChjb25zIDEgMikpCisgICAgICAgICAg ICAgICAgIChwY2FzZSAoY29ucyAxIDIpCisgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0 ICgmYm9keSBhKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSkpKSkpKQorCisoZXJ0LWRl ZnRlc3QgcGNhc2UtdGVzdHMtY2wtYXJnbGlzdC0mcmVzdC1hZnRlci0mb3B0aW9uYWwgKCkKKyAg KHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIDMgKGxpc3QgNCA1KSkKKyAgICAgICAgICAgICAgICAg KHBjYXNlIChsaXN0IDEgMiAzIDQgNSkKKyAgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3Qg KCZvcHRpb25hbCBhIGIgYyAmcmVzdCBkKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBi IGMgZCkpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIDMgKGxpc3QgNCA1KSkKKyAg ICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEgMiAzIDQgNSkKKyAgICAgICAgICAgICAgICAg ICAoKGNsLWFyZ2xpc3QgKCZvcHRpb25hbCBhIGIgYyAmYm9keSBkKSkKKyAgICAgICAgICAgICAg ICAgICAgKGxpc3QgYSBiIGMgZCkpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIDMg KGxpc3QgNCA1KSkKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEgMiAzIDQgNSkKKyAg ICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZvcHRpb25hbCBhIGIgYyAuIGQpKQorICAg ICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYyBkKSkpKSkpCisKKyhlcnQtZGVmdGVzdCBwY2Fz ZS10ZXN0cy1jbC1hcmdsaXN0LSZyZXN0LXN1Yi1wYXR0ZXJucyAoKQorICA7OyBXZSBjYW4ndCBk byAoYSAuIGAoLGIgLiAsYykpLCBzbyB3ZSBkb24ndCB0ZXN0IHRoYXQuCisgIChzaG91bGQgKGVx dWFsIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgMSAyIDMpCisg ICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0IChhICZyZXN0IChjbC1hcmdsaXN0IChiIGMp KSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpKSkKKworICAoc2hvdWxkIChl cXVhbCAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEgMiAzKQor ICAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoYSAmYm9keSBgKCxiICxjKSkpCisgICAg ICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpKSkpCisKKyhlcnQtZGVmdGVzdCBwY2FzZS10 ZXN0cy1jbC1hcmdsaXN0LSZrZXktc2hvdWxkLWVycm9yICgpCisgICJgJmtleScgY2Fubm90IGJl IHVzZWQgYWZ0ZXIgYCZrZXknLCBgJmFsbG93LW90aGVyLWtleXMnLCBhbmQgYCZhdXgnLiIKKyAg KHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgOmEgMSA6YiAyKQorICAgICAgICAgICAgICAgICAg KChjbC1hcmdsaXN0ICgma2V5IGEgJmtleSBiKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBh IGIpKSkKKyAgICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBjYXNlLWNsLWFyZ2xpc3QtaW52YWxp ZC1hcmctbGlzdCkKKworICAoc2hvdWxkLWVycm9yIChwY2FzZSAobGlzdCA6YSAxIDpiIDIpCisg ICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZhdXggKGEgMSkgJmtleSBiKSkKKyAgICAg ICAgICAgICAgICAgICAobGlzdCBhIGIpKSkKKyAgICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBj YXNlLWNsLWFyZ2xpc3QtaW52YWxpZC1hcmctbGlzdCkKKworICAoc2hvdWxkLWVycm9yIChwY2Fz ZSAobGlzdCA6YSAxIDpiIDIpCisgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZhbGxv dy1vdGhlci1rZXlzICZrZXkgYikpCisgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiKSkpCisg ICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1jbC1hcmdsaXN0LWludmFsaWQtYXJnLWxp c3QpKQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtYXJnbGlzdC0ma2V5LWV4YWN0ICgp CisgICJgJmtleScgZG9lc24ndCBtYXRjaCB1bnNwZWNpZmllZCBrZXlzIHVubGVzcyBgJmFsbG93 LW90aGVyLWtleXMnIG9yIGA6YWxsb3ctb3RoZXIta2V5cycgaXMgZ2l2ZW4uIgorICAoc2hvdWxk IChlcXVhbCAobGlzdCAxIDIpCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCA6YSAxIDpi IDIpCisgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0ICgma2V5IGEgYikpCisgICAgICAg ICAgICAgICAgICAgIChsaXN0IGEgYikpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgbmlsCisgICAg ICAgICAgICAgICAgIChwY2FzZSAobGlzdCA6YSAxIDpiIDIgOmMgMykKKyAgICAgICAgICAgICAg ICAgICAoKGNsLWFyZ2xpc3QgKCZrZXkgYSBiKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3Qg YSBiKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDIgbmlsKQorICAgICAgICAgICAg ICAgICAocGNhc2UgKGxpc3QgOmEgMSA6YiAyKQorICAgICAgICAgICAgICAgICAgICgoY2wtYXJn bGlzdCAoJmtleSBhIGIgYykpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpKSkp CisKKyhlcnQtZGVmdGVzdCBwY2FzZS10ZXN0cy1jbC1hcmdsaXN0LSZrZXktcGVybWlzc2l2ZSAo KQorICAiYCZrZXknIGRvZXNuJ3QgbWF0Y2ggdW5zcGVjaWZpZWQga2V5cyB1bmxlc3MgYCZhbGxv dy1vdGhlci1rZXlzJyBvciBgOmFsbG93LW90aGVyLWtleXMnIGlzIGdpdmVuLiIKKyAgKHNob3Vs ZCAoZXF1YWwgKGxpc3QgMSAyKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgOmEgMSA6 YiAyIDpjIDMpCisgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0ICgma2V5IGEgYiAmYWxs b3ctb3RoZXIta2V5cykpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYikpKSkpCisKKyAg KHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3Qg OmEgMSA6YiAyIDpjIDMgOmFsbG93LW90aGVyLWtleXMgdCkKKyAgICAgICAgICAgICAgICAgICAo KGNsLWFyZ2xpc3QgKCZrZXkgYSBiKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiKSkp KSkpCisKKyhlcnQtZGVmdGVzdCBwY2FzZS10ZXN0cy1jbC1hcmdsaXN0LSZrZXktbm90LWZpcnN0 ICgpCisgICJUaGUgcGxpc3Qgc2hvdWxkIGJlIGFmdGVyIHBvc2l0aW9uYWwgdmFsdWVzIGFuZCBl cXVhbCB0byBgJnJlc3QnLiIKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIDMgMTEgMjIpCisg ICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCAxIDIgMyA6azEgMTEgOmsyIDIyKQorICAgICAg ICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoYSBiIGMgJmtleSBrMSBrMikpCisgICAgICAgICAg ICAgICAgICAgIChsaXN0IGEgYiBjIGsxIGsyKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlz dCAxIDIgMyAobGlzdCA6azEgMTEgOmsyIDIyKSAxMSAyMikKKyAgICAgICAgICAgICAgICAgKHBj YXNlIChsaXN0IDEgMiAzIDprMSAxMSA6azIgMjIpCisgICAgICAgICAgICAgICAgICAgKChjbC1h cmdsaXN0IChhIGIgYyAmcmVzdCByMSAma2V5IGsxIGsyKSkKKyAgICAgICAgICAgICAgICAgICAg KGxpc3QgYSBiIGMgcjEgazEgazIpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNs LWFyZ2xpc3QtJmtleS1mdWxsLWZvcm0gKCkKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyKQor ICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgOmEgMSA6YiAyKQorICAgICAgICAgICAgICAg ICAgICgoY2wtYXJnbGlzdCAoJmtleSBhIChiIDEzKSkpCisgICAgICAgICAgICAgICAgICAgIChs aXN0IGEgYikpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAxMykKKyAgICAgICAgICAg ICAgICAgKHBjYXNlIChsaXN0IDphIDEpCisgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0 ICgma2V5IGEgKGIgMTMpKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiKSkpKSkKKwor ICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDEzIG5pbCkKKyAgICAgICAgICAgICAgICAgKHBjYXNl IChsaXN0IDphIDEpCisgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0ICgma2V5IGEgKGIg MTMgYi1zdXBwbGllZCkpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYi1zdXBwbGll ZCkpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIHQpCisgICAgICAgICAgICAgICAg IChwY2FzZSAobGlzdCA6YSAxIDpiIDIpCisgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0 ICgma2V5IGEgKGIgMTMgYi1zdXBwbGllZCkpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBh IGIgYi1zdXBwbGllZCkpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIHQpCisgICAg ICAgICAgICAgICAgIChwY2FzZSAobGlzdCA6YSAxIDpiYXQgMikKKyAgICAgICAgICAgICAgICAg ICAoKGNsLWFyZ2xpc3QgKCZrZXkgYSAoKDpiYXQgYikgMTMgYi1zdXBwbGllZCkpKQorICAgICAg ICAgICAgICAgICAgICAobGlzdCBhIGIgYi1zdXBwbGllZCkpKSkpCisKKyAgKHNob3VsZCAoZXF1 YWwgKGxpc3QgMSAyIHQpCisgICAgICAgICAgICAgICAgIChsZXQgKChrZXkgOmJhdCkpCisgICAg ICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDphIDEgOmJhdCAyKQorICAgICAgICAgICAgICAg ICAgICAgKChjbC1hcmdsaXN0ICgma2V5IGEgKChrZXkgYikgMTMgYi1zdXBwbGllZCkpKQorICAg ICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBiLXN1cHBsaWVkKSkpKSkpKQorCisoZXJ0LWRl ZnRlc3QgcGNhc2UtdGVzdHMtY2wtYXJnbGlzdC0ma2V5LXN1Yi1wYXR0ZXJucyAoKQorICAoc2hv dWxkIChlcXVhbCAnKDEgMiAoOmMgNzcgOmUgc2hvdWxkLWlnbm9yZSkgbmlsIDc3IHQgOTkgbmls KQorICAgICAgICAgICAgICAgICAocGNhc2UgJyg6YWIgKDEgMikpCisgICAgICAgICAgICAgICAg ICAgKChjbC1hcmdsaXN0ICgma2V5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo KDphYiBgKCxhICxiKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKDpjZCAo Y2wtYXJnbGlzdCAoICZ3aG9sZSBjZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAma2V5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChjIDg4IGMtc3VwcCkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCg6ZCBkKSA5OSBkLXN1cHApCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZhbGxvdy1v dGhlci1rZXlzKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgOmMg NzcgOmUgJ3Nob3VsZC1pZ25vcmUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y2Qtc3VwcCkpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgY2QgY2Qtc3VwcCBjIGMt c3VwcCBkIGQtc3VwcCkpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgJyggMSAyICg6YyA3NyA6ZSBz aG91bGQtaWdub3JlIDphbGxvdy1vdGhlci1rZXlzIHQpIG5pbAorICAgICAgICAgICAgICAgICAg ICA3NyB0IDk5IG5pbCkKKyAgICAgICAgICAgICAgICAgKHBjYXNlICcoOmFiICgxIDIpKQorICAg ICAgICAgICAgICAgICAgICgoY2wtYXJnbGlzdCAoJmtleQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKCg6YWIgYCgsYSAsYikpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKCg6Y2QgKGNsLWFyZ2xpc3QgKCAmd2hvbGUgY2QKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmtleQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYyA4OCBjLXN1cHApCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoOmQgZCkgOTkg ZC1zdXBwKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0IDpjIDc3 IDplICdzaG91bGQtaWdub3JlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOmFsbG93LW90aGVyLWtleXMgdCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjZC1zdXBwKSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjZCBjZC1zdXBwIGMg Yy1zdXBwIGQgZC1zdXBwKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCBuaWwKKyAgICAgICAgICAg ICAgICAgKHBjYXNlICcoOmFiICgxIDIpKQorICAgICAgICAgICAgICAgICAgICgoY2wtYXJnbGlz dCAoJmtleQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCg6YWIgYCgsYSAsYikp KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCg6Y2QgKGNsLWFyZ2xpc3QgKCAm d2hvbGUgY2QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJmtleQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoYyA4OCBjLXN1cHApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICgoOmQgZCkgOTkgZC1zdXBwKSkpKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChsaXN0IDpjIDc3IDplICdzaG91bGQtZmFpbCkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjZC1zdXBwKSkpCisgICAgICAgICAgICAgICAgICAg IChsaXN0IGEgYiBjZCBjZC1zdXBwIGMgYy1zdXBwIGQgZC1zdXBwKSkpKSkpCisKKyhlcnQtZGVm dGVzdCBwY2FzZS10ZXN0cy1jbC1hcmdsaXN0LSZhdXgtc2hvdWxkLWVycm9yICgpCisgICJgJmF1 eCcgY2Fubm90IGJlIHVzZWQgYWZ0ZXIgYCZhdXgnLiIKKyAgKHNob3VsZC1lcnJvciAocGNhc2Ug bmlsCisgICAgICAgICAgICAgICAgICAoKGNsLWFyZ2xpc3QgKCZhdXggYSAmYXV4IGIpKQorICAg ICAgICAgICAgICAgICAgIChsaXN0IGEgYikpKQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0t cGNhc2UtY2wtYXJnbGlzdC1pbnZhbGlkLWFyZy1saXN0KSkKKworKGVydC1kZWZ0ZXN0IHBjYXNl LXRlc3RzLWNsLWFyZ2xpc3QtJmF1eCAoKQorICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDIgbmls IG5pbCkKKyAgICAgICAgICAgICAgICAgKHBjYXNlIG5pbAorICAgICAgICAgICAgICAgICAgICgo Y2wtYXJnbGlzdCAoJmF1eCAoYSAxKSAoYiAyKSAoYykgZCkpCisgICAgICAgICAgICAgICAgICAg IChsaXN0IGEgYiBjIGQpKSkpKQorCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDAgMSAyIG5pbCBu aWwpCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCAwKQorICAgICAgICAgICAgICAgICAg ICgoY2wtYXJnbGlzdCAoejAgJmF1eCAoYSAxKSAoYiAyKSAoYykgZCkpCisgICAgICAgICAgICAg ICAgICAgIChsaXN0IHowIGEgYiBjIGQpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3Rz LWNsLWFyZ2xpc3QtJmF1eC1zdWItcGF0dGVybnMgKCkKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3Qg MSAyKQorICAgICAgICAgICAgICAgICAocGNhc2UgbmlsCisgICAgICAgICAgICAgICAgICAgKChj bC1hcmdsaXN0ICgmYXV4IChgKCxhICxiKSAobGlzdCAxIDIpKSkpCisgICAgICAgICAgICAgICAg ICAgIChsaXN0IGEgYiApKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWFyZ2xp c3QtYWxsICgpCisgIChzaG91bGQgKGVxdWFsICcoMSAyIDMgNCA1ICg6azEgMTExIDprMiAyMjIp IDExMSAyMjIgMzMzIDQ0NCkKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEgMiAzIDQg NSA6azEgMTExIDprMiAyMjIpCisgICAgICAgICAgICAgICAgICAgKChjbC1hcmdsaXN0ICggYSBi IGMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmb3B0aW9uYWwgZCBlCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJlc3QgcgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZrZXkgazEgazIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmYXV4ICh4MSAzMzMpICh4MiA0NDQpKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3Qg YSBiIGMgZCBlIHIgazEgazIgeDEgeDIpKSkpKSkKKwogOzs7IHBjYXNlLXRlc3RzLmVsIGVuZHMg aGVyZS4KLS0gCjIuMzQuMQoK --b1_zK7jswiu7zFIyB0mc7Of1fDganPK9zM5sPGTRMaSZA--
bug-gnu-emacs@HIDDEN
:bug#67611
; Package emacs
.
Full text available.Received: (at 67611) by debbugs.gnu.org; 5 Dec 2023 09:27:29 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 05 04:27:29 2023 Received: from localhost ([127.0.0.1]:36637 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rARiD-0002rM-92 for submit <at> debbugs.gnu.org; Tue, 05 Dec 2023 04:27:29 -0500 Received: from mail-lf1-x12a.google.com ([2a00:1450:4864:20::12a]:50661) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <joaotavora@HIDDEN>) id 1rARiA-0002r8-OJ for 67611 <at> debbugs.gnu.org; Tue, 05 Dec 2023 04:27:27 -0500 Received: by mail-lf1-x12a.google.com with SMTP id 2adb3069b0e04-50bfe99b6edso1523487e87.1 for <67611 <at> debbugs.gnu.org>; Tue, 05 Dec 2023 01:27:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701768430; x=1702373230; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=s7tV9wJSs6AZ49KWyX7b6XWERlciLouG8uV+BYndsfM=; b=cR7LJ0/mUWF7U+wDCK1nRHj2bxvz84fldidMg00w8vGZQ3kZKOAIfDMHJIrCoarkMe 1hObqCp3qm6wUqPbshkbKEdTqJHxcnAgODEITO1eJKRA4Gh1Vo7+Lz71F/q0Bq56BdGN jzWQqz2X7tSUrvcZXfj6icHJ6Q75i/vx5IGWvMp0UGb5ayJKdz5F6UWv5t2ezTZV3pQG W8qppU/dNrp/zqKXMjd5C3AajzAPNC5hTo6BvLvtZDEdAwG+fTRaLHaMwBp4B4vw5q6K Lzucz/MNCWuLn9R1dfth2+1v1PxVXfLPUPIIe/qld2ZYWvPIa6YcW1aiwslocFrUOpSc J3Dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701768430; x=1702373230; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=s7tV9wJSs6AZ49KWyX7b6XWERlciLouG8uV+BYndsfM=; b=mtqG8RhxF40roBdGJwAE/xCsyOQ3NvTFcaP2n9g8kYzfbBdLsxDgmPOmAd7bpLGnwa 2DvNIhcBK/zpyzzQioCjRHfTagiJJLBzgkT79aR+RRavMFXO6crwX/UNggkJlsbVh87X 0w8+wKddAgi+ZrsIO4YiIHZSkp4KYJmqu7nSi0mPkqbPxQqR/NXjqKzkLJDYFDPpCuaz pp7XytJhdek6i4oyE80r/3TKVUKocZWsHtrz9L5WPajlDqqZs84AFEd6raUvDf0NS2xu CrCRA2/MXc2zWzjiVdc4ssZ/NuUC6oZZsSg/y6HS9o/MGqCGH4549r923s73X3diuKTz ebuQ== X-Gm-Message-State: AOJu0YzDU2ZXS3VpMYeeNk9TmGrcwdYiT4K4QKNGjGIdCUBH9VlOF02S e8h+nY8Tslk+aAgYVZYMKi5hknjfMppX9f6AjLB+MqJY2Y4= X-Google-Smtp-Source: AGHT+IELW38zTzyTbYXUzERwnCEHw3INUBaxZtBl/yzvXauMKz0UPjhRrzjCHd3PIoBi6AH8r85gi7AIE+WluBVFHg4= X-Received: by 2002:ac2:4e51:0:b0:50b:fa93:35c9 with SMTP id f17-20020ac24e51000000b0050bfa9335c9mr957733lfr.113.1701768429612; Tue, 05 Dec 2023 01:27:09 -0800 (PST) MIME-Version: 1.0 References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> <56ebae03-a94d-4379-bd08-66bde2311bb7@HIDDEN> In-Reply-To: <56ebae03-a94d-4379-bd08-66bde2311bb7@HIDDEN> From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN> Date: Tue, 5 Dec 2023 09:26:58 +0000 Message-ID: <CALDnm513hT_txSau0+mjqRp4T++K=C7YbF2oWUF9t=wurx171Q@HIDDEN> Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind` To: Okamsn <okamsn@HIDDEN> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67611 Cc: 67611 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On Tue, Dec 5, 2023 at 2:43=E2=80=AFAM Okamsn via Bug reports for GNU Emacs= , the Swiss army knife of text editors <bug-gnu-emacs@HIDDEN> wrote: > For me, I am interested in using such a destructuring pattern with > `pcase-let` and `pcase-setq`, but not so much with `pcase` itself. > > > Maybe we could introduce a different Pcase pattern which covers those > > needs but stays closer to the Pcase pattern syntax? > > As far as I understand Pcase, one thing that I think cl-lib does better > is specifying default values for multiple optional variables. For > example, for `(a &optional (b 2) (c 3))` in Pcase, I would write Yes. cl-lib has a couple of neat tricks up its sleeve, still. And what about keyword arguments in plists? Can pcase destructure them? If so, does it bind the "supplied-p" variable? And can it rename the variable being destructured to something else non-clashing? All these things are useful in CL's destructuring-bind, but it is missing other stuff like "casing" logic. So at least on a first glimpse, this reunion would be welcome by me. With the caveat that I haven't seen any examples or the patch yet, and it matters. Jo=C3=A3o
bug-gnu-emacs@HIDDEN
:bug#67611
; Package emacs
.
Full text available.Received: (at 67611) by debbugs.gnu.org; 5 Dec 2023 09:22:17 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 05 04:22:17 2023 Received: from localhost ([127.0.0.1]:36609 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rARdB-0002hb-Ew for submit <at> debbugs.gnu.org; Tue, 05 Dec 2023 04:22:17 -0500 Received: from mail-lf1-x134.google.com ([2a00:1450:4864:20::134]:61892) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <joaotavora@HIDDEN>) id 1rARd9-0002hK-U9 for 67611 <at> debbugs.gnu.org; Tue, 05 Dec 2023 04:22:16 -0500 Received: by mail-lf1-x134.google.com with SMTP id 2adb3069b0e04-50bf69afa99so2520560e87.3 for <67611 <at> debbugs.gnu.org>; Tue, 05 Dec 2023 01:22:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701768119; x=1702372919; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=2wafyPcDSyZDbuNJIQQ8zQ8BOfUh17+C5XwVZ8oluO8=; b=kBAgPbYKCSkoWhooP6HEmK1LgTv0Xt/ubniik1AVgmjM5EwWQ/k10L5gCrKqhM/qXz mnbyc5V6xaVzAf+YYJewpq8aiEjJfOnkYm1Gp3c+NhrZ216GbVpe4kXG7lf+AGIs/WbG Ikjr5415QFas6U91PfHlEX/5fsBw9dk3+Nscwab/jtj9IqI6sq9EzQL+0ngerSZrTRK4 elJHCdngFrlJBXsTqqNTu2WzswbvGqDDPw6F4oWb/YAlDrE/x7JMTZdVwh4ylCvjfjXT qI+iv5KryBnR/9VpHt4nMpQXJrklmMrXbIHD4jjscGAXIUGczl2Lkr31ciuXI6Q6byJA Loxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701768119; x=1702372919; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2wafyPcDSyZDbuNJIQQ8zQ8BOfUh17+C5XwVZ8oluO8=; b=dinzqU87kZM8hbBVYi/D5JRD0+Zi7wmnPp086439XslIaYEATEGyQsLIC+ZaJiBTeJ N2Trr+78kNkyzaZDq2bTx59Pc9zv8DfvnE6tYPK8UkXE/eaKR1Lhx5O8Hv+HfWr1iJ3Z 1ckFG+lC131SkGRqDfH/7V+CfUF4EPIX2AdeS7lqh1ksvSEWxvaep5jqgsgRfI3KvbvT mT/GxCwAhscH2d/s24s7fAmZ7et893Z3s3t+ekmYtAIAH1xwhNHqlK4I7CgqUDusrWGH Tl+X60ztIyDACmZJp3WeuHGEu/cRda28g5/FJ7ICGK/o6XoWb5Nw8HrWVr7yIvvsjIUq hQbw== X-Gm-Message-State: AOJu0YxpVCwPUjeo7m4ZujBq1XjzWwpH0ltq2A79SmuboCRnGIIqZ8EI JGcEB0fsdBi68r15KiansYTrQ8iv0KiarASwHds= X-Google-Smtp-Source: AGHT+IEH8DA2WbcOzpd2W1ZEgQ/v/6x4xsZrCUe8mN21hCwnCGVCaGelKhEyqNSVqXo9PQx1IxdQkNsvG0qyJDyVH+U= X-Received: by 2002:ac2:4c8b:0:b0:50b:e3c6:60b with SMTP id d11-20020ac24c8b000000b0050be3c6060bmr2553064lfl.92.1701768118671; Tue, 05 Dec 2023 01:21:58 -0800 (PST) MIME-Version: 1.0 References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> In-Reply-To: <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= <joaotavora@HIDDEN> Date: Tue, 5 Dec 2023 09:21:47 +0000 Message-ID: <CALDnm52imqDaends1AEiZH9WYh6YN8tFosyYCzexH6F5=GWKwA@HIDDEN> Subject: Re: bug#67611: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind` To: Stefan Monnier <monnier@HIDDEN> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 67611 Cc: Okamsn <okamsn@HIDDEN>, 67611 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On Mon, Dec 4, 2023 at 7:09=E2=80=AFPM Stefan Monnier via Bug reports for G= NU Emacs, the Swiss army knife of text editors <bug-gnu-emacs@HIDDEN> wrote: > > > The attached patch adds the pattern `cl-lambda` for Pcase, which works > > like `cl-destructuring-bind`. There are two differences with the lambda > > lists: > > Hmm... I'm not sure mixing the CL destructuring patterns with the Pcase > patterns (both of which are rather featureful and complex) will help > their popularity. > > Beside that problem (which means I'm not very favorable to the > addition), the name should be changed because "lambda" is misleading. > It suggests this has to do with a function (I had to read the code to > understand what this is doing). > > > The pattern is useful when one wants to combine the features of `pcase` > > and `cl-destructuring-bind`, such combining the optional values with th= e > > `pred` or `guard` patterns. > > Do you have examples uses? I for one would like to see some examples too. Okamsn's description of this pcase extension sounds interesting. In fact, it sounds very much like the slime-dcase and sly-dcase macros in SLIME and SLY respectively. Jo=C3=A3o
bug-gnu-emacs@HIDDEN
:bug#67611
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 5 Dec 2023 02:43:01 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Dec 04 21:43:01 2023 Received: from localhost ([127.0.0.1]:36213 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rALOm-0006F0-Ns for submit <at> debbugs.gnu.org; Mon, 04 Dec 2023 21:43:01 -0500 Received: from lists.gnu.org ([2001:470:142::17]:40110) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <okamsn@HIDDEN>) id 1rALOj-0006Em-Uf for submit <at> debbugs.gnu.org; Mon, 04 Dec 2023 21:42:58 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <okamsn@HIDDEN>) id 1rALOT-0008EH-6Z for bug-gnu-emacs@HIDDEN; Mon, 04 Dec 2023 21:42:41 -0500 Received: from mail-4316.protonmail.ch ([185.70.43.16]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <okamsn@HIDDEN>) id 1rALOM-0006gD-Uo for bug-gnu-emacs@HIDDEN; Mon, 04 Dec 2023 21:42:40 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1701744149; x=1702003349; bh=gs/ATLQ8tv1eVHz4HuKRd34Z2G3cyVIyttqHM5wYIV4=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=FWdkNq960pHEyQf5Rv0yPyTUCTANHQ2heAWJJbiyS6OGnbBbSxt7kRxcnqkDNDJfV zUpGCpasRfoOsT5iWYBY6VrxN4EAhBar0q9haZN+0SOmQCnDXSDK9Czg9My7GyqD7W +VvWBlJG3hiFXdPF+7oARws9fmAxfLFBauP2M4PHVfTH6IxSl2kMzD7kbmRhPfXrYr DGjDHMJGTXceo7X+kHetuXoyLUVidfpFIxZwC91NMQe16fp3Y9TOWObKaJS9rccSXE 1aWCBVJHFrFFAIAnOC+O/+Z3wMXmrjD9HKIJ60TgsOUn3gRMqdUfNawhS6RxpCnnSz mYEn9nAhv85+g== Date: Tue, 05 Dec 2023 02:42:12 +0000 To: Stefan Monnier <monnier@HIDDEN> From: Okamsn <okamsn@HIDDEN> Subject: Re: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind` Message-ID: <56ebae03-a94d-4379-bd08-66bde2311bb7@HIDDEN> In-Reply-To: <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> Feedback-ID: 25935600:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.70.43.16; envelope-from=okamsn@HIDDEN; helo=mail-4316.protonmail.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit Cc: bug-gnu-emacs@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.0 (/) Stefan Monnier wrote: >> The attached patch adds the pattern `cl-lambda` for Pcase, which works >> like `cl-destructuring-bind`. There are two differences with the lambda >> lists: >=20 > Hmm... I'm not sure mixing the CL destructuring patterns with the Pcase > patterns (both of which are rather featureful and complex) will help > their popularity. >=20 > Beside that problem (which means I'm not very favorable to the > addition), the name should be changed because "lambda" is misleading. > It suggests this has to do with a function (I had to read the code to > understand what this is doing). I agree that the name is not ideal. When I searched for what the=20 destructuring pattern was called, the website Common Lisp HyperSpec=20 called it a "destructuring lambda list"=20 (https://www.lispworks.com/documentation/HyperSpec/Body/03_de.htm). I=20 would have suggested "cl", as it is the kind of destructuring used by=20 the macros of cl-lib, but I thought that would not work well with the=20 existence of the "cl-type" pattern. I also thought about something like=20 "cl-arglist", if that is better. >> The pattern is useful when one wants to combine the features of `pcase` >> and `cl-destructuring-bind`, such combining the optional values with the >> `pred` or `guard` patterns. >=20 > Do you have examples uses? Not of that idea, no. I maintain a library that implements a=20 destructuring pattern like cl-lib=20 (https://github.com/okamsn/loopy/blob/master/doc/loopy-doc.org#basic-destru= cturing)=20 and I have been thinking about how I could use Pcase to simplify the=20 implementation of the destructuring and to stop using a re-invented=20 wheel. While doing that, it occurred to me that cl-lib itself might be a=20 better place for such a Pcase pattern. To be clear, the patch only=20 implements the cl-lib destructuring, not the other destructuring ideas=20 from my library. For me, I am interested in using such a destructuring pattern with=20 `pcase-let` and `pcase-setq`, but not so much with `pcase` itself. > Maybe we could introduce a different Pcase pattern which covers those > needs but stays closer to the Pcase pattern syntax? As far as I understand Pcase, one thing that I think cl-lib does better=20 is specifying default values for multiple optional variables. For=20 example, for `(a &optional (b 2) (c 3))` in Pcase, I would write (or `(,a ,b ,c) (and `(,a ,b) (let c 3)) (and `(,a) (let c 3) (let b 2))) or `(,a . ,(or `(,b . ,(or `(,c) (let c 3))) (and (let b 2) (let c 3)))) in which there is repetition in the default values. Is there a better=20 way to specify default values for optional elements? Thank you.
bug-gnu-emacs@HIDDEN
:bug#67611
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 4 Dec 2023 19:08:57 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Dec 04 14:08:57 2023 Received: from localhost ([127.0.0.1]:35704 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rAEJN-0007lw-4a for submit <at> debbugs.gnu.org; Mon, 04 Dec 2023 14:08:57 -0500 Received: from lists.gnu.org ([2001:470:142::17]:54538) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1rAEJL-0007lg-CI for submit <at> debbugs.gnu.org; Mon, 04 Dec 2023 14:08:55 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <monnier@HIDDEN>) id 1rAEJ4-0005TG-Lr for bug-gnu-emacs@HIDDEN; Mon, 04 Dec 2023 14:08:38 -0500 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <monnier@HIDDEN>) id 1rAEJ2-0003rZ-M8 for bug-gnu-emacs@HIDDEN; Mon, 04 Dec 2023 14:08:38 -0500 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 3444D80663; Mon, 4 Dec 2023 14:08:34 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1701716913; bh=tKLG98ieavJe194H1P4n8IRoIpQKDc69IUD8Q3db34o=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=Tk9NPd02Flpa25pa66gO7B/r9wLTI/gLxaslytE6eV+tnUG/UoD5Gq+3ak1no2klU D4k92H5OwF4hTIGEf5d5qURTjYO8vp0fOiqtYN2BRErUq6JfH8kZEMGzRwAwhjtS6Z NqMgGkZThoESHe7tFr7vTz7B7YBPBGpFgao26Md1qcb9tPKG5IHEiF26jlUgSwWBPA DhpwIfVWL1PmGrrHTwrFCCFJ77vXoomVha2qbjchciOdsxTU9xUQVgTEl9fhIJWWCG w4+SJRBfuZ/1GkReXWiMR6YQoliqSRs9Io0EeTmcV/P2xF6Qz9wKQxSLg5byXJMZiA XAyMqz2Ayfx0Q== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 76BC480091; Mon, 4 Dec 2023 14:08:33 -0500 (EST) Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 688FC120210; Mon, 4 Dec 2023 14:08:33 -0500 (EST) From: Stefan Monnier <monnier@HIDDEN> To: Okamsn <okamsn@HIDDEN> Subject: Re: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind` In-Reply-To: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> (okamsn@HIDDEN's message of "Sun, 03 Dec 2023 20:33:35 +0000") Message-ID: <jwvplzllrrm.fsf-monnier+emacs@HIDDEN> References: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> Date: Mon, 04 Dec 2023 14:08:14 -0500 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.110 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain T_SCC_BODY_TEXT_LINE -0.01 - X-SPAM-LEVEL: Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@HIDDEN; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: submit Cc: bug-gnu-emacs@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) > The attached patch adds the pattern `cl-lambda` for Pcase, which works > like `cl-destructuring-bind`. There are two differences with the lambda > lists: Hmm... I'm not sure mixing the CL destructuring patterns with the Pcase patterns (both of which are rather featureful and complex) will help their popularity. Beside that problem (which means I'm not very favorable to the addition), the name should be changed because "lambda" is misleading. It suggests this has to do with a function (I had to read the code to understand what this is doing). > The pattern is useful when one wants to combine the features of `pcase` > and `cl-destructuring-bind`, such combining the optional values with the > `pred` or `guard` patterns. Do you have examples uses? Maybe we could introduce a different Pcase pattern which covers those needs but stays closer to the Pcase pattern syntax? Stefan
bug-gnu-emacs@HIDDEN
:bug#67611
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 3 Dec 2023 20:34:27 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Dec 03 15:34:27 2023 Received: from localhost ([127.0.0.1]:32832 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1r9tAX-0006cm-Um for submit <at> debbugs.gnu.org; Sun, 03 Dec 2023 15:34:27 -0500 Received: from lists.gnu.org ([2001:470:142::17]:48282) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <okamsn@HIDDEN>) id 1r9tAR-0006cU-Mg for submit <at> debbugs.gnu.org; Sun, 03 Dec 2023 15:34:24 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <okamsn@HIDDEN>) id 1r9tAB-0002Im-U4 for bug-gnu-emacs@HIDDEN; Sun, 03 Dec 2023 15:34:03 -0500 Received: from mail-4316.protonmail.ch ([185.70.43.16]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <okamsn@HIDDEN>) id 1r9tA7-0002Br-Ie for bug-gnu-emacs@HIDDEN; Sun, 03 Dec 2023 15:34:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1701635634; x=1701894834; bh=X2WCsbkau0mgG/FEVaIEzsg5CvdsVYkrsXlJq/+EPe8=; h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=OoV+beY8BBviqD5GPi+mS4l3ylwSkcFkJzuTC8Io7kk33DxSuzeamd4NVwMXL3jIM y03zRBmg6i+6Am+5vDnZaxdlgk7dMEVw+O/iarH+/LQzAJEIFWoTnOYef4mblKm5FJ 9U6RWs5qkV8+gt6QO5LrcAG6mdeq7gE9rzkZKFq9GXOgKUagWnhY26EIUVzH5u3fko NwME0ySiq4weGNMhs2KVzLgyM8uoZC2qLXdwOPqdxvdIN9hPs+W+wuH2IU3wD7hnGz jt/WvOz/RSLoJ/dG5ZZhx8k9/HTQX8RWwwODzTekpJVRkO+HXRMAQPdsP48yw1HclD RhOyPfXOpjuZg== Date: Sun, 03 Dec 2023 20:33:35 +0000 To: bug-gnu-emacs@HIDDEN From: Okamsn <okamsn@HIDDEN> Subject: [PATCH] Add a Pcase pattern `cl-lambda` equivalent to `cl-destructuring-bind` Message-ID: <277dd49a-e96d-4faf-a22e-aca952354a37@HIDDEN> Feedback-ID: 25935600:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_TJ92SD8NGM37oLvDrnzOJ5ksQWEvU5jEnoHfJPwkcjE" Received-SPF: pass client-ip=185.70.43.16; envelope-from=okamsn@HIDDEN; helo=mail-4316.protonmail.ch X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H5=-1, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit Cc: Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.0 (/) This is a multi-part message in MIME format. --b1_TJ92SD8NGM37oLvDrnzOJ5ksQWEvU5jEnoHfJPwkcjE Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello, The attached patch adds the pattern `cl-lambda` for Pcase, which works=20 like `cl-destructuring-bind`. There are two differences with the lambda=20 lists: 1. It does not support `&environment` 2. Without `&allow-other-keys` or `:allow-other-keys t`, the pattern=20 will fail to match if their are unmatched keys in EXPVAL, but it does=20 not throw an error. The variable that would be bound in the lambda list can be Pcase=20 patterns themselves, with two exceptions: 1. Using a sub-pattern as the cdr of a dotted list, like "(cl-lambda (a=20 . `(,b . ,c))" doesn't work, since the pattern won't always look like a=20 dotted list. 2. For constructs that use a sub-list to provide additional values, such=20 as `&optional`, `&key`, and `&aux`, the sub-pattern only works inside=20 the sub-list. For example, one could do "(cl-lambda (&optional (`(,a=20 ,b))" but not "(cl-lambda (&optional `(,a ,b)))". The pattern is useful when one wants to combine the features of `pcase`=20 and `cl-destructuring-bind`, such combining the optional values with the=20 `pred` or `guard` patterns. Thank you. --b1_TJ92SD8NGM37oLvDrnzOJ5ksQWEvU5jEnoHfJPwkcjE Content-Type: text/x-patch; charset=UTF-8; name=0001-Add-the-Pcase-pattern-cl-lambda-for-matching-lambda-.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Add-the-Pcase-pattern-cl-lambda-for-matching-lambda-.patch RnJvbSBhMTZiZjFkZWQ1ODdiN2NjOTc0ZGFmYTVmNzI0MjdmM2ExZjZjNWZmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFNhdCwgMjUgTm92IDIwMjMgMTM6MDA6MDMgLTA1MDAKU3ViamVjdDogW1BBVENIXSBBZGQg dGhlIFBjYXNlIHBhdHRlcm4gYGNsLWxhbWJkYScgZm9yIG1hdGNoaW5nIGxhbWJkYSBsaXN0LgoK VGhpcyBwYXR0ZXJuIG1hdGNoZXMgZnVuY3Rpb24gYXJndW1lbnQgbGlzdHMgYXMgZGVzY3JpYmVk IGluIHRoZSBJbmZvCm5vZGUgYChjbClBcmd1bWVudCBMaXN0cycuCgoqIGxpc3AvZW1hY3MtbGlz cC9jbC1tYWNzLmVsIChjbC1sYW1iZGEtLXBjYXNlLW1hY3JvZXhwYW5kZXIpCihjbC1sYW1iZGEs IGNsLS1wY2FzZS1sYW1iZGEtbGlzdC1nZXQtdmFyLWdyb3VwcykKKGNsLS1wY2FzZS1jbC1sYW1i ZGEtcG9zaXRpb25hbC1wYXR0ZXJuKQooY2wtLXBjYXNlLWNsLWxhbWJkYS1wbGlzdC1rZXlzKQoo Y2wtLXBjYXNlLWNsLWxhbWJkYS0ma2V5LXBhdHRlcm4pCihjbC0tcGNhc2UtY2wtbGFtYmRhLSZh dXgtcGF0dGVybik6CkFkZCBwYXR0ZXJuIGFuZCBzdXBwb3J0aW5nIGZ1bmN0aW9ucy4KCiogdGVz dC9saXNwL2VtYWNzLWxpc3AvcGNhc2UtdGVzdHMuZWw6CihwY2FzZS10ZXN0cy1jbC1sYW1iZGEt Jndob2xlLXNob3VsZC1lcnJvcikKKHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0md2hvbGUpCihwY2Fz ZS10ZXN0cy1jbC1sYW1iZGEtcG9zLCBwY2FzZS10ZXN0cy1jbC1sYW1iZGEtcG9zLXN1Yi1wYXR0 ZXJucykKKHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0mb3B0aW9uYWwtc2hvdWxkLWVycm9yKQoocGNh c2UtdGVzdHMtY2wtbGFtYmRhLSZvcHRpb25hbCkKKHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0mb3B0 aW9uYWwtc3ViLXBhdHRlcm5zKQoocGNhc2UtdGVzdHMtY2wtbGFtYmRhLSZyZXN0LXNob3VsZC1l cnJvcikKKHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0mcmVzdC1ub25saXN0LWNkcikKKHBjYXNlLXRl c3RzLWNsLWxhbWJkYS0mcmVzdC13aXRoLSZ3aG9sZSkKKHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0m cmVzdC1vbmx5KQoocGNhc2UtdGVzdHMtY2wtbGFtYmRhLSZyZXN0LWFmdGVyLSZvcHRpb25hbCkK KHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0mcmVzdC1zdWItcGF0dGVybnMpCihwY2FzZS10ZXN0cy1j bC1sYW1iZGEtJmtleS1zaG91bGQtZXJyb3IpCihwY2FzZS10ZXN0cy1jbC1sYW1iZGEtJmtleS1l eGFjdCkKKHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0ma2V5LXBlcm1pc3NpdmUpCihwY2FzZS10ZXN0 cy1jbC1sYW1iZGEtJmtleS1ub3QtZmlyc3QpCihwY2FzZS10ZXN0cy1jbC1sYW1iZGEtJmtleS1m dWxsLWZvcm0pCihwY2FzZS10ZXN0cy1jbC1sYW1iZGEtJmtleS1zdWItcGF0dGVybnMpCihwY2Fz ZS10ZXN0cy1jbC1sYW1iZGEtJmF1eC1zaG91bGQtZXJyb3IpCihwY2FzZS10ZXN0cy1jbC1sYW1i ZGEtJmF1eCkKKHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0mYXV4LXN1Yi1wYXR0ZXJucykKKHBjYXNl LXRlc3RzLWNsLWxhbWJkYS1hbGwpOgpBZGQgdGVzdHMuCi0tLQogbGlzcC9lbWFjcy1saXNwL2Ns LW1hY3MuZWwgICAgICAgICAgfCAzMjUgKysrKysrKysrKysrKysrKysrCiB0ZXN0L2xpc3AvZW1h Y3MtbGlzcC9wY2FzZS10ZXN0cy5lbCB8IDUxNSArKysrKysrKysrKysrKysrKysrKysrKysrKysr CiAyIGZpbGVzIGNoYW5nZWQsIDg0MCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGlzcC9l bWFjcy1saXNwL2NsLW1hY3MuZWwgYi9saXNwL2VtYWNzLWxpc3AvY2wtbWFjcy5lbAppbmRleCA3 YzIwN2QzNzJmYy4uMDBjMTBmNjQ1OGYgMTAwNjQ0Ci0tLSBhL2xpc3AvZW1hY3MtbGlzcC9jbC1t YWNzLmVsCisrKyBiL2xpc3AvZW1hY3MtbGlzcC9jbC1tYWNzLmVsCkBAIC0zODI1LDYgKzM4MjUs MzMxIEBAIGNsLXR5cGUKIFRZUEUgaXMgYSB0eXBlIGRlc2NyaXB0b3IgYXMgYWNjZXB0ZWQgYnkg YGNsLXR5cGVwJywgd2hpY2ggc2VlLiIKICAgYChwcmVkIChwY2FzZS0tZmxpcCBjbC10eXBlcCAn LHR5cGUpKSkKIAorOzs7IFBjYXNlIGxhbWJkYS1saXN0IHBhdHRlcm4KKworOzsgVGhpcyBwYXR0 ZXJuIGlzIGxpa2UgYGNsLWRlc3RydWN0dXJpbmctYmluZCcsIGJ1dCB3aXRoIGBwY2FzZScuICBX ZQorOzsgY2FuJ3QgdXNlIGBjbC0tZG8tYXJnbGlzdCcgZm9yIHRoaXMsIGJlY2F1c2UgYGNsLS1k by1hcmdsaXN0JyB1c2VzCis7OyBgcG9wJyB0byBtb2RpZnkgZWFybGllciB2YXJpYWJsZXMgd2hp bGUgc2V0dGluZyBsYXRlciBvbmVzLCB3aGljaAorOzsgZG9lc24ndCBzZWVtIHRvIHdvcmsgd2l0 aCBgcGNhc2UnLgorCisoZGVmY29uc3QgY2wtLXBjYXNlLWxhbWJkYS1saXN0LWNvbnN0cnVjdHMK KyAgJygmd2hvbGUgJm9wdGlvbmFsICZyZXN0ICZrZXkgJmFsbG93LW90aGVyLWtleXMgJmF1eCkK KyAgIlN5bWJvbHMgdGhhdCBjaGFuZ2UgaG93IHRoZSBmb2xsb3dpbmcgZWxlbWVudHMgYXJlIHVu ZGVyc3Rvb2QuIikKKworKGRlZmluZS1lcnJvciAnY2wtLXBjYXNlLWxhbWJkYS1saXN0LWJhZC1s YW1iZGEtbGlzdAorICAgICAgICAgICAgICAiRXJyb3IgaW4gYGNsLWxhbWJkYScgcGF0dGVybi4i KQorCisoZGVmdW4gY2wtLXBjYXNlLWNsLWxhbWJkYS12YXItZ3JvdXBzIChsYW1iZGEtbGlzdCkK KyAgIlJldHVybiB0aGUgYWxpc3Qgb2YgdmFyaWFibGUgZ3JvdXBzIGluIExBTUJEQS1MSVNULgor CitMaXN0cyBhcmUgb2YgdGhlIGZvcm0KK2AoWyZ3aG9sZSBXSE9MRS1WQVJdIFtQT1MtVkFSU10g WyZvcHRpb25hbCBPUFQtVkFSU10gWyZyZXN0IFJFU1QtVkFSXQorWyZrZXkgS0VZLVZBUlNdIFsm YXV4IEFVWC1WQVJTXSknLiIKKyAgKGxldCAoKHdob2xlLXZhcikgKHByb2Nlc3Npbmctd2hvbGUp CisgICAgICAgIChwb3MtdmFyKQorICAgICAgICAob3B0LXZhcikgKHByb2Nlc3Npbmctb3B0cykK KyAgICAgICAgKHJlc3QtdmFyKSAocHJvY2Vzc2luZy1yZXN0KSAoZG90dGVkLXJlc3QtdmFyKQor ICAgICAgICAoa2V5LXZhcikgKHByb2Nlc3Npbmcta2V5cykgKGFsbG93LW90aGVyLWtleXMpCisg ICAgICAgIChhdXgtdmFyKSAocHJvY2Vzc2luZy1hdXhzKQorICAgICAgICAocmVtYWluaW5nLWxp c3QgKGNsLWNvcHktbGlzdCBsYW1iZGEtbGlzdCkpKQorCisgICAgKHdoZW4gKG5vdCAocHJvcGVy LWxpc3QtcCByZW1haW5pbmctbGlzdCkpCisgICAgICAoY2wtc2hpZnRmIGRvdHRlZC1yZXN0LXZh cgorICAgICAgICAgICAgICAgICAoY2RyIChsYXN0IHJlbWFpbmluZy1saXN0KSkKKyAgICAgICAg ICAgICAgICAgbmlsKSkKKworICAgIChjbC1mbGV0ICgobWlzc2luZy1hZnRlciAoY2RyKSAob3Ig KG51bGwgY2RyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1lbXEg KGNhciBjZHIpIGNsLS1wY2FzZS1sYW1iZGEtbGlzdC1jb25zdHJ1Y3RzKSkpCisgICAgICAgICAg ICAgIChzdG9wLXByb2Nlc3NpbmcgKCkgKHNldHEgcHJvY2Vzc2luZy13aG9sZSBuaWwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzaW5nLW9wdHMgbmlsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc2luZy1yZXN0IG5p bAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3Npbmcta2V5 cyBuaWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzaW5n LWF1eHMgbmlsKSkpCisgICAgICAoY2wtbG9vcAorICAgICAgIGZvciAoZmlyc3QgLiByZXN0KSBv biBsYW1iZGEtbGlzdAorICAgICAgIGRvCisgICAgICAgKHBjYXNlIGZpcnN0CisgICAgICAgICAo JyZ3aG9sZQorICAgICAgICAgIChpZiAob3IgKG1pc3NpbmctYWZ0ZXIgcmVzdCkKKyAgICAgICAg ICAgICAgICAgIHdob2xlLXZhciBwb3MtdmFyIG9wdC12YXIKKyAgICAgICAgICAgICAgICAgIHJl c3QtdmFyIGtleS12YXIgYWxsb3ctb3RoZXIta2V5cyBhdXgtdmFyKQorICAgICAgICAgICAgICAo c2lnbmFsICdjbC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0IChsaXN0IGxhbWJk YS1saXN0KSkKKyAgICAgICAgICAgIChzdG9wLXByb2Nlc3NpbmcpCisgICAgICAgICAgICAoc2V0 cSBwcm9jZXNzaW5nLXdob2xlIHQpKSkKKworICAgICAgICAgKCcmb3B0aW9uYWwKKyAgICAgICAg ICAoaWYgKG9yIChtaXNzaW5nLWFmdGVyIHJlc3QpCisgICAgICAgICAgICAgICAgICBvcHQtdmFy IHJlc3QtdmFyIGtleS12YXIgYWxsb3ctb3RoZXIta2V5cyBhdXgtdmFyKQorICAgICAgICAgICAg ICAoc2lnbmFsICdjbC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0CisgICAgICAg ICAgICAgICAgICAgICAgKGxpc3QgbGFtYmRhLWxpc3QpKQorICAgICAgICAgICAgKHN0b3AtcHJv Y2Vzc2luZykKKyAgICAgICAgICAgIChzZXRxIHByb2Nlc3Npbmctb3B0cyB0KSkpCisKKyAgICAg ICAgICgob3IgJyZyZXN0ICcmYm9keSkKKyAgICAgICAgICAoaWYgKG9yIChtaXNzaW5nLWFmdGVy IHJlc3QpCisgICAgICAgICAgICAgICAgICByZXN0LXZhciBrZXktdmFyIGFsbG93LW90aGVyLWtl eXMgYXV4LXZhcgorICAgICAgICAgICAgICAgICAgZG90dGVkLXJlc3QtdmFyKQorICAgICAgICAg ICAgICAoc2lnbmFsICdjbC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0CisgICAg ICAgICAgICAgICAgICAgICAgKGxpc3QgbGFtYmRhLWxpc3QpKQorICAgICAgICAgICAgKHN0b3At cHJvY2Vzc2luZykKKyAgICAgICAgICAgIChzZXRxIHByb2Nlc3NpbmctcmVzdCB0KSkpCisKKyAg ICAgICAgICgnJmtleQorICAgICAgICAgIChpZiAob3IgKG1pc3NpbmctYWZ0ZXIgcmVzdCkKKyAg ICAgICAgICAgICAgICAgIGtleS12YXIgYWxsb3ctb3RoZXIta2V5cyBhdXgtdmFyCisgICAgICAg ICAgICAgICAgICBkb3R0ZWQtcmVzdC12YXIpCisgICAgICAgICAgICAgIChzaWduYWwgJ2NsLS1w Y2FzZS1sYW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3QKKyAgICAgICAgICAgICAgICAgICAgICAo bGlzdCBsYW1iZGEtbGlzdCkpCisgICAgICAgICAgICAoc3RvcC1wcm9jZXNzaW5nKQorICAgICAg ICAgICAgKHNldHEgcHJvY2Vzc2luZy1rZXlzIHQpKSkKKworICAgICAgICAgKCcmYWxsb3ctb3Ro ZXIta2V5cworICAgICAgICAgIChpZiAob3IgKG5vdCBwcm9jZXNzaW5nLWtleXMpCisgICAgICAg ICAgICAgICAgICBhbGxvdy1vdGhlci1rZXlzCisgICAgICAgICAgICAgICAgICBkb3R0ZWQtcmVz dC12YXIpCisgICAgICAgICAgICAgIChzaWduYWwgJ2NsLS1wY2FzZS1sYW1iZGEtbGlzdC1iYWQt bGFtYmRhLWxpc3QKKyAgICAgICAgICAgICAgICAgICAgICAobGlzdCBsYW1iZGEtbGlzdCkpCisg ICAgICAgICAgICAoc3RvcC1wcm9jZXNzaW5nKQorICAgICAgICAgICAgKHNldHEgYWxsb3ctb3Ro ZXIta2V5cyB0KSkpCisKKyAgICAgICAgICgnJmF1eAorICAgICAgICAgIChpZiAob3IgKG1pc3Np bmctYWZ0ZXIgcmVzdCkKKyAgICAgICAgICAgICAgICAgIGF1eC12YXIKKyAgICAgICAgICAgICAg ICAgIGRvdHRlZC1yZXN0LXZhcikKKyAgICAgICAgICAgICAgKHNpZ25hbCAnY2wtLXBjYXNlLWxh bWJkYS1saXN0LWJhZC1sYW1iZGEtbGlzdAorICAgICAgICAgICAgICAgICAgICAgIChsaXN0IGxh bWJkYS1saXN0KSkKKyAgICAgICAgICAgIChzdG9wLXByb2Nlc3NpbmcpCisgICAgICAgICAgICAo c2V0cSBwcm9jZXNzaW5nLWF1eHMgdCkpKQorCisgICAgICAgICAoKGd1YXJkIHByb2Nlc3Npbmct d2hvbGUpCisgICAgICAgICAgKHNldHEgd2hvbGUtdmFyIGZpcnN0CisgICAgICAgICAgICAgICAg cHJvY2Vzc2luZy13aG9sZSBuaWwpKQorCisgICAgICAgICAoKGd1YXJkIHByb2Nlc3NpbmctcmVz dCkKKyAgICAgICAgICAoc2V0cSByZXN0LXZhciBmaXJzdAorICAgICAgICAgICAgICAgIHByb2Nl c3NpbmctcmVzdCBuaWwpKQorCisgICAgICAgICAoKGd1YXJkIHByb2Nlc3Npbmctb3B0cykKKyAg ICAgICAgICAocHVzaCBmaXJzdCBvcHQtdmFyKSkKKworICAgICAgICAgKChndWFyZCBwcm9jZXNz aW5nLWtleXMpCisgICAgICAgICAgKHB1c2ggZmlyc3Qga2V5LXZhcikpCisKKyAgICAgICAgICgo Z3VhcmQgcHJvY2Vzc2luZy1hdXhzKQorICAgICAgICAgIChwdXNoIGZpcnN0IGF1eC12YXIpKQor CisgICAgICAgICAoJyZlbnZpcm9ubWVudAorICAgICAgICAgIChzaWduYWwgJ2NsLS1wY2FzZS1s YW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3QKKyAgICAgICAgICAgICAgICAgIChsaXN0IGxhbWJk YS1saXN0KSkpCisKKyAgICAgICAgIChfCisgICAgICAgICAgKGlmIChvciBvcHQtdmFyIHJlc3Qt dmFyIGtleS12YXIgYXV4LXZhcgorICAgICAgICAgICAgICAgICAgYWxsb3ctb3RoZXIta2V5cykK KyAgICAgICAgICAgICAgKHNpZ25hbCAnY2wtLXBjYXNlLWxhbWJkYS1saXN0LWJhZC1sYW1iZGEt bGlzdAorICAgICAgICAgICAgICAgICAgICAgIChsaXN0IGxhbWJkYS1saXN0KSkKKyAgICAgICAg ICAgIChwdXNoIGZpcnN0IHBvcy12YXIpKSkpKSkKKworICAgIGAoKHdob2xlIC4gLHdob2xlLXZh cikKKyAgICAgIChwb3MgLiAsKG5yZXZlcnNlIHBvcy12YXIpKQorICAgICAgKG9wdCAuICwobnJl dmVyc2Ugb3B0LXZhcikpCisgICAgICAocmVzdCAuICwob3IgZG90dGVkLXJlc3QtdmFyIHJlc3Qt dmFyKSkKKyAgICAgIChrZXkgLiAsKG5yZXZlcnNlIGtleS12YXIpKQorICAgICAgKGFsbG93LW90 aGVyLWtleXMgLiAsYWxsb3ctb3RoZXIta2V5cykKKyAgICAgIChhdXggLiAsKG5yZXZlcnNlIGF1 eC12YXIpKSkpKQorCisoZGVmdW4gY2wtLXBjYXNlLWNsLWxhbWJkYS1wb3NpdGlvbmFsLXBhdHRl cm4gKHBvcy12YXJzIG9wdC12YXJzIHJlc3QtdmFyIGtleS12YXJzKQorICAiQnVpbGQgYSBwYXR0 ZXJuIGZvciB0aGUgcG9zaXRpb25hbCwgYCZvcHRpb25hbCcsIGFuZCBgJnJlc3QnIHZhcmlhYmxl cy4KKworUE9TLVZBUlMgaXMgdGhlIGxpc3Qgb2YgdGhlIHBvc2l0aW9uYWwgdmFyaWFibGVzLiAg T1BULVZBUlMgaXMgdGhlIGxpc3Qgb2YKK3RoZSBvcHRpb25hbCB2YXJpYWJsZXMuICBSRVNULVZB UiBpcyB0aGUgYCZyZXN0JyB2YXJpYWJsZS4iCisgIDs7IEEgbW9kaWZpZWQgdmVyc2lvbiBvZiB0 aGUgYmFjay1xdW90ZSBwYXR0ZXJuIHRvIGJldHRlciB3b3JrIHdpdGgKKyAgOzsgb3B0aW9uYWwg dmFsdWVzLgorICAoY29uZAorICAgKHBvcy12YXJzIGAoYW5kIChwcmVkIGNvbnNwKQorICAgICAg ICAgICAgICAgICAgIChhcHAgY2FyLXNhZmUgLChjYXIgcG9zLXZhcnMpKQorICAgICAgICAgICAg ICAgICAgIChhcHAgY2RyLXNhZmUgLChjbC0tcGNhc2UtY2wtbGFtYmRhLXBvc2l0aW9uYWwtcGF0 dGVybgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2RyIHBvcy12YXJzKSBv cHQtdmFycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN0LXZhciBrZXkt dmFycykpKSkKKyAgIChvcHQtdmFycyAocGNhc2UtbGV0ICgoKG9yIGAoLHZhciAsZGVmYXVsdCAs c3VwcGxpZWQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKCx2YXIgLGRlZmF1bHQp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKCx2YXIpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB2YXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgIChjYXIgb3B0LXZh cnMpKSkKKyAgICAgICAgICAgICAgIGAoYW5kIChwcmVkIGxpc3RwKQorICAgICAgICAgICAgICAg ICAgICAgKGFwcCBjYXItc2FmZSAob3IgKGFuZCAocHJlZCBudWxsKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQCh3aGVuIHN1cHBsaWVkIGAoKGxldCAsc3Vw cGxpZWQgbmlsKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKHdoZW4gZGVmYXVsdCBgKChsZXQgLHZhciAsZGVmYXVsdCkpKSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICwoaWYgc3VwcGxpZWQKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYChhbmQgKGxldCAsc3VwcGxpZWQgdCkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLHZhcikKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcikpKQorICAgICAgICAgICAg ICAgICAgICAgKGFwcCBjZHItc2FmZSAsKGNsLS1wY2FzZS1jbC1sYW1iZGEtcG9zaXRpb25hbC1w YXR0ZXJuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsIChjZHIgb3B0 LXZhcnMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdC12YXIga2V5 LXZhcnMpKSkpKQorICAgKHJlc3QtdmFyIHJlc3QtdmFyKQorICAgOzsgYHBjYXNlJyBhbGxvd3Mg YCgsYSAsYikgdG8gbWF0Y2ggKDEgMiAzKSwgc28gd2UgbmVlZCB0byBtYWtlCisgICA7OyBzdXJl IHRoZXJlIGFyZW4ndCBtb3JlIHZhbHVlcyBsZWZ0LiAgSG93ZXZlciwgaWYgd2UgYXJlIHVzaW5n CisgICA7OyBgJmtleScsIHRoZW4gd2UgYWxsb3cgbW9yZSB2YWx1ZXMuCisgICAoa2V5LXZhcnMg J18pCisgICAodCAnKHByZWQgbnVsbCkpKSkKKworOzs7IyMjYXV0b2xvYWQKKyhkZWZ1biBjbC0t cGNhc2UtY2wtbGFtYmRhLXBsaXN0LWtleXMgKGxpc3QpCisgICJHZXQgZXZlcnkgb3RoZXIgZWxl bWVudCBpbiBMSVNULCB0byBnZXQgdGhlIGtleXMgaW4gYSBwcm9wZXJ0eSBsaXN0LiIKKyAgKGNs LWxvb3AgZm9yIGtleSBpbiBsaXN0IGJ5ICMnY2RkciBjb2xsZWN0IGtleSkpCisKKyhkZWZ1biBj bC0tcGNhc2UtY2wtbGFtYmRhLSZrZXktcGF0dGVybiAoa2V5LXZhcnMgYWxsb3ctb3RoZXIta2V5 cyBwbGlzdC12YXIpCisgICJCdWlsZCBhIGBwY2FzZScgcGF0dGVybiBmb3IgdGhlIGAma2V5JyB2 YXJpYWJsZXMuCisKK0tFWS1WQVJTIGFyZSB0aGUgZm9ybXMgb2YgdGhlIGtleSB2YXJpYWJsZXMu ICBBTExPVy1PVEhFUi1LRVlTIGlzCit3aGV0aGVyIGAmYWxsb3ctb3RoZXIta2V5cycgd2FzIHVz ZWQuICBQTElTVC1WQVIgaXMgdGhlIHZhcmlhYmxlCitob2xkaW5nIHRoZSBwcm9wZXJ0eSBsaXN0 LiIKKyAgKGxldCogKChzcGVjaWZpZWQta2V5cyBuaWwpCisgICAgICAgICAocGF0LWxpc3QKKyAg ICAgICAgICAoY2wtbG9vcAorICAgICAgICAgICBmb3IgYmluZCBpbiBrZXktdmFycworICAgICAg ICAgICBhcHBlbmQgKHBjYXNlLWxldCogKCgob3IgKG9yIGAoKCxrZXkgLHZhcikgLGRlZmF1bHQg LHN1cHBsaWVkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAoKCxr ZXkgLHZhcikgLGRlZmF1bHQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYCgoLGtleSAsdmFyKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo YW5kIChvciBgKCx2YXIgLGRlZmF1bHQgLHN1cHBsaWVkKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYCgsdmFyICxkZWZhdWx0KQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCgsdmFyKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFuZCAocHJlZCBzeW1ib2xwKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIpKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBTdHJpcCBhIGxlYWRpbmcgdW5kZXJz Y29yZSwgc2luY2UgaXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ozsgb25seSBtZWFucyB0aGF0IHRoaXMgYXJndW1lbnQgaXMKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOzsgdW51c2VkLCBidXQgc2hvdWxkbid0IGFmZmVjdCB0aGUK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsga2V5J3MgbmFtZSAo YnVnIzEyMzY3KS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxl dCBrZXkgKGludGVybgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGZvcm1hdCAiOiVzIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAobGV0ICgobmFtZSAoc3ltYm9sLW5hbWUgdmFyKSkp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGlmIChlcSA/XyAoYXJlZiBuYW1lIDApKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3Vic3RyaW5nIG5hbWUg MSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG5hbWUpKSkpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJp bmQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0LWtleSAobWFjcm9leHAt Y29uc3QtcCBrZXkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1c2VkLWtleSAo aWYgY29uc3Qta2V5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBrZXkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ2Vuc3lt IChmb3JtYXQgInBsaXN0LWtleS0lcyIgdmFyKSkpKSkKKyAgICAgICAgICAgICAgICAgICAgKHVu bGVzcyBhbGxvdy1vdGhlci1rZXlzCisgICAgICAgICAgICAgICAgICAgICAgKHB1c2gga2V5IHNw ZWNpZmllZC1rZXlzKSkKKyAgICAgICAgICAgICAgICAgICAgYCgsQCh1bmxlc3MgKGVxdWFsIHVz ZWQta2V5IGtleSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYCgobGV0ICx1c2VkLWtleSAs a2V5KSkpCisgICAgICAgICAgICAgICAgICAgICAgLEAoY29uZAorICAgICAgICAgICAgICAgICAg ICAgICAgIChzdXBwbGllZAorICAgICAgICAgICAgICAgICAgICAgICAgICAobGV0ICgoa2V5LWZv dW5kIChnZW5zeW0gImtleS1mb3VuZCIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBg KChsZXQgLGtleS1mb3VuZCAocGxpc3QtbWVtYmVyICxwbGlzdC12YXIgLHVzZWQta2V5CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj J2VxdWFsKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvciAoYW5kIChndWFyZCAs a2V5LWZvdW5kKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAs dmFyIChjYWRyICxrZXktZm91bmQpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGxldCAsc3VwcGxpZWQgdCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGFuZCAobGV0ICx2YXIgLGRlZmF1bHQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAobGV0ICxzdXBwbGllZCBuaWwpKSkpKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAoZGVmYXVsdAorICAgICAgICAgICAgICAgICAgICAgICAgICAobGV0ICgoa2V5LWZvdW5k IChnZW5zeW0gImtleS1mb3VuZCIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKChs ZXQgLHZhcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYtbGV0ICgoLGtleS1m b3VuZCAocGxpc3QtbWVtYmVyICxwbGlzdC12YXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsdXNlZC1rZXkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAjJ2VxdWFsKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2wt c2Vjb25kICxrZXktZm91bmQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLGRl ZmF1bHQpKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICh0CisgICAgICAgICAgICAgICAg ICAgICAgICAgIGAoKGxldCAsdmFyICAocGxpc3QtZ2V0ICxwbGlzdC12YXIgLHVzZWQta2V5ICMn ZXF1YWwpKSkpKSkpKSkpCisgICAgYChhbmQgLEAodW5sZXNzIGFsbG93LW90aGVyLWtleXMKKyAg ICAgICAgICAgICAgYCgoZ3VhcmQgKG9yIChudWxsIChjbC1zZXQtZGlmZmVyZW5jZSAoY2wtLXBj YXNlLWNsLWxhbWJkYS1wbGlzdC1rZXlzICxwbGlzdC12YXIpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgLEBzcGVjaWZpZWQta2V5cykK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6dGVz dCAjJ2VxdWFsKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChwbGlzdC1nZXQgLHBsaXN0 LXZhciA6YWxsb3ctb3RoZXIta2V5cykpKSkpCisgICAgICAgICAgLEBwYXQtbGlzdCkpKQorCiso ZGVmdW4gY2wtLXBjYXNlLWNsLWxhbWJkYS0mYXV4LXBhdHRlcm4gKGF1eC12YXJzKQorICAiQnVp bGQgYHBjYXNlJyBwYXR0ZXJuIGZvciBgJmF1eCcgdmFyaWFibGVzLgorCitBVVgtVkFSUyBpcyB0 aGUgbGlzdCBvZiBiaW5kaW5ncy4iCisgIGAoYW5kICxAKGNsLWxvb3AgZm9yIGJpbmQgaW4gYXV4 LXZhcnMKKyAgICAgICAgICAgICAgICAgICBjb2xsZWN0IChwY2FzZS1sZXQgKCgob3IgYCgsdmFy ICx2YWwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAoLHZh cikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmQpKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBgKGxldCAsdmFyICx2YWwpKSkpKQorCis7OzsjIyNhdXRvbG9hZAor KHBjYXNlLWRlZm1hY3JvIGNsLWxhbWJkYSAobGFtYmRhLWxpc3QpCisgICJNYXRjaCBhIENMIGxh bWJkYSBsaXN0LiAgU2VlIHRoZSBJbmZvIG5vZGUgYChjbClBcmd1bWVudCBMaXN0cycuCisKK1Ro aXMgcGF0dGVybiBkb2VzIG5vdCBzdXBwb3J0IGAmZW52aXJvbm1lbnQnLgorCitgJmtleScgd2ls bCBmYWlsIHRvIG1hdGNoIGlmIHRoZXJlIGFyZSBtb3JlIGtleXMgaW4gdGhlIHBsaXN0Cit0aGVu IHNwZWNpZmllZCwgdW5sZXNzIGAmYWxsb3ctb3RoZXIta2V5cycgaXMgZ2l2ZW4gb3IgdW5sZXNz IHRoZQorcGxpc3QgYXNzb2NpYXRlcyB0aGUga2V5IGA6YWxsb3ctb3RoZXIta2V5cycgd2l0aCBh IG5vbi1uaWwKK3ZhbHVlLiAgVW5saWtlIGBjbC1kZXN0cnVjdHVyaW5nLWJpbmQnLCB0aGlzIHBh dHRlcm4gZG9lcyBub3QKK3NpZ25hbCBhbiBlcnJvciBpZiB0aGVyZSBhcmUgdW5tYXRjaGVkIGtl eXMgaW4gdGhlIHBsaXN0LgorCitVbmxpa2UgdGhlIGJhY2stcXVvdGUgcGF0dGVybiwgdGhlIHBh dHRlcm4gd2lsbCBmYWlsIHRvIG1hdGNoIGlmIHRoZQorbm9uLW9wdGlvbmFsIHBhcnQgb2YgTEFN QkRBLUxJU1QgaXMgc2hvcnRlciB0aGFuIEVYUFZBTC4KKworRm9yIHRoaXMgYHBjYXNlJyBwYXR0 ZXJuLCB0aGUgdmFyaWFibGVzIGluIExBTUJEQS1MSVNUIGNhbgordGhlbXNlbHZlcyBiZSBgcGNh c2UnIHBhdHRlcm5zLCBpbnN0ZWFkIG9mIGp1c3Qgc3ltYm9scyBhcyBpbiBhCitub3JtYWwgQ0wg bGFtYmRhIGxpc3QuICBIb3dldmVyLCBsYW1iZGEtbGlzdCBjb25zdHJ1Y3RzIGxpa2UKK2Amb3B0 aW9uYWwnLCBgJmtleScsIGFuZCBgJmF1eCcgdXNlIHN1Yi1saXN0cyB0byBzcGVjaWZ5IGRlZmF1 bHQKK3ZhbHVlcyBhbmQgb3RoZXIgZmVhdHVyZXMuICBGb3IgZXhhbXBsZSwKKworICAgIChjbC1s YW1iZGEgKCZvcHRpb25hbCAob3B0MSBkZWZhdWx0MSBvcHQxLXN1cHBsaWVkKSkpCisKK1RoZXJl Zm9yZSwgdG8gYXZvaWQgYW1iaWd1aXR5LCB0aGUgdXNlIG9mIHN1Yi1wYXR0ZXJucyBjYW4gb25s eQorYmUgZG9uZSB3aXRoaW4gdGhlIHN1Yi1saXN0IGZvciB0aG9zZSBjb25zdHJ1Y3RzLiAgRm9y IGV4YW1wbGUsCisKKyAgICAoY2wtbGFtYmRhICgmb3B0aW9uYWwgKChhbmQgb3B0MSAoZ3VhcmQg KGxpc3RwIG9wdDEpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbCkpKQorCitGb3Ig c2ltaWxhciByZWFzb25zLCB0aGUgY2RyIG9mIGEgZG90dGVkIGxpc3QgKGFzIG9wcG9zZWQgdG8g dGhlCitlbGVtZW50IGZvbGxvd2luZyBgJnJlc3QnKSBmb3IgdGhlIHJlbWFpbmRlciBvZiBhIGxp c3QgY2Fubm90IGJlCithIHN1Yi1wYXR0ZXJuLiIKKyAgKGxldCogKChncm91cHMgKGNsLS1wY2Fz ZS1jbC1sYW1iZGEtdmFyLWdyb3VwcyBsYW1iZGEtbGlzdCkpCisgICAgICAgICAod2hvbGUtdmFy IChhbGlzdC1nZXQgJ3dob2xlIGdyb3VwcykpCisgICAgICAgICAocG9zLXZhcnMgKGFsaXN0LWdl dCAncG9zIGdyb3VwcykpCisgICAgICAgICAob3B0LXZhcnMgKGFsaXN0LWdldCAnb3B0IGdyb3Vw cykpCisgICAgICAgICAocmVzdC12YXIgKGFsaXN0LWdldCAncmVzdCBncm91cHMpKQorICAgICAg ICAgKGtleS12YXJzIChhbGlzdC1nZXQgJ2tleSBncm91cHMpKQorICAgICAgICAgKGFsbG93LW90 aGVyLWtleXMgKGFsaXN0LWdldCAnYWxsb3ctb3RoZXIta2V5cyBncm91cHMpKQorICAgICAgICAg KGF1eC12YXJzIChhbGlzdC1nZXQgJ2F1eCBncm91cHMpKSkKKyAgICAocmVtcSBuaWwKKyAgICAg ICAgICBgKGFuZCAocHJlZCBsaXN0cCkKKyAgICAgICAgICAgICAgICAsKHdoZW4gd2hvbGUtdmFy CisgICAgICAgICAgICAgICAgICAgd2hvbGUtdmFyKQorICAgICAgICAgICAgICAgICwod2hlbiAo b3IgcG9zLXZhcnMgb3B0LXZhcnMgcmVzdC12YXIpCisgICAgICAgICAgICAgICAgICAgKGNsLS1w Y2FzZS1jbC1sYW1iZGEtcG9zaXRpb25hbC1wYXR0ZXJuCisgICAgICAgICAgICAgICAgICAgIHBv cy12YXJzIG9wdC12YXJzCisgICAgICAgICAgICAgICAgICAgIHJlc3QtdmFyIGtleS12YXJzKSkK KyAgICAgICAgICAgICAgICAsQCh3aGVuIGtleS12YXJzCisgICAgICAgICAgICAgICAgICAgIChs ZXQgKChwbGlzdC12YXIgKGdlbnN5bSAibWF5YmUtcGxpc3QiKSkpCisgICAgICAgICAgICAgICAg ICAgICAgKGNvbmQKKyAgICAgICAgICAgICAgICAgICAgICAgKHJlc3QtdmFyCisgICAgICAgICAg ICAgICAgICAgICAgICAobGlzdCAoY2wtLXBjYXNlLWNsLWxhbWJkYS0ma2V5LXBhdHRlcm4KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXktdmFycyBhbGxvdy1vdGhlci1rZXlzCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdC12YXIpKSkKKyAgICAgICAgICAgICAg ICAgICAgICAgKChvciBwb3MtdmFycyBvcHQtdmFycykKKyAgICAgICAgICAgICAgICAgICAgICAg IChpZiB3aG9sZS12YXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKChsZXQgLHBsaXN0 LXZhciAobnRoY2RyICwoKyAobGVuZ3RoIHBvcy12YXJzKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsZW5ndGggb3B0LXZhcnMpKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLHdo b2xlLXZhcikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsKGNsLS1wY2FzZS1jbC1s YW1iZGEtJmtleS1wYXR0ZXJuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleS12 YXJzIGFsbG93LW90aGVyLWtleXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxp c3QtdmFyKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYCgoYXBwIChudGhjZHIgLCgrIChs ZW5ndGggcG9zLXZhcnMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAobGVuZ3RoIG9wdC12YXJzKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAscGxpc3QtdmFyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICwoY2wtLXBjYXNlLWNs LWxhbWJkYS0ma2V5LXBhdHRlcm4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleS12 YXJzIGFsbG93LW90aGVyLWtleXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsaXN0 LXZhcikpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgKHQKKyAgICAgICAgICAgICAgICAgICAg ICAgIGAoKGFuZCAscGxpc3QtdmFyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLChj bC0tcGNhc2UtY2wtbGFtYmRhLSZrZXktcGF0dGVybgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAga2V5LXZhcnMgYWxsb3ctb3RoZXIta2V5cworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcGxpc3QtdmFyKSkpKSkpKQorICAgICAgICAgICAgICAgICwod2hlbiBhdXgt dmFycworICAgICAgICAgICAgICAgICAgIChjbC0tcGNhc2UtY2wtbGFtYmRhLSZhdXgtcGF0dGVy biBhdXgtdmFycykpKSkpKQorCiA7OyBMb2NhbCB2YXJpYWJsZXM6CiA7OyBnZW5lcmF0ZWQtYXV0 b2xvYWQtZmlsZTogImNsLWxvYWRkZWZzLmVsIgogOzsgRW5kOgpkaWZmIC0tZ2l0IGEvdGVzdC9s aXNwL2VtYWNzLWxpc3AvcGNhc2UtdGVzdHMuZWwgYi90ZXN0L2xpc3AvZW1hY3MtbGlzcC9wY2Fz ZS10ZXN0cy5lbAppbmRleCA3OTllOGQzNjY0Ny4uOWMzMjI1OWU5NTMgMTAwNjQ0Ci0tLSBhL3Rl c3QvbGlzcC9lbWFjcy1saXNwL3BjYXNlLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9lbWFjcy1s aXNwL3BjYXNlLXRlc3RzLmVsCkBAIC0xNjAsNCArMTYwLDUxOSBAQCBwY2FzZS10ZXN0cy1zZXRx CiAgIChzaG91bGQtZXJyb3IgKHBjYXNlLXNldHEgYSkKICAgICAgICAgICAgICAgICA6dHlwZSAn KHdyb25nLW51bWJlci1vZi1hcmd1bWVudHMpKSkKIAorOzs7IFRlc3RzIGZvciB0aGUgYGNsLWxh bWJkYScgYHBjYXNlJyBwYXR0ZXJuLgorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtbGFt YmRhLSZ3aG9sZS1zaG91bGQtZXJyb3IgKCkKKyAgImAmd2hvbGUnIG11c3QgY29tZSBmaXJzdCBp ZiBnaXZlbiwgYW5kIG11c3QgYmUgZm9sbG93ZWQgYnkgYSBwYXR0ZXIuIgorICAoc2hvdWxkLWVy cm9yIChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhICgm d2hvbGUpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAgICAgICAgICAg ICAgOnR5cGUgJ2NsLS1wY2FzZS1sYW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3QpCisKKyAgKHNo b3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAoKGNsLWxh bWJkYSAoYSBiICZ3aG9sZSBjKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykpKQor ICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1s aXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAg ICAgICAgKChjbC1sYW1iZGEgKCZyZXN0IGEgJndob2xlIGMpKQorICAgICAgICAgICAgICAgICAg IChsaXN0IGEgYiBjKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1sYW1iZGEt bGlzdC1iYWQtbGFtYmRhLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAy IDMpCisgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoJmtleSBhICZ3aG9sZSBjKSkKKyAg ICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykpKQorICAgICAgICAgICAgICAgIDp0eXBlICdj bC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0KQorCisgIChzaG91bGQtZXJyb3Ig KHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZhdXgg KGEgMSkgJndob2xlIGMpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAg ICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1sYW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3Qp CisKKyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAg ICAoKGNsLWxhbWJkYSAoJm9wdGlvbmFsIChhIDEpICZ3aG9sZSBjKSkKKyAgICAgICAgICAgICAg ICAgICAobGlzdCBhIGIgYykpKQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtbGFt YmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0 IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZ3aG9sZSB3aG9sZTEgJndo b2xlIHdob2xlMikpCisgICAgICAgICAgICAgICAgICAgKGxpc3Qgd2hvbGUxIHdob2xlMikpKQor ICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1s aXN0KSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0md2hvbGUgKCkKKyAg ImAmd2hvbGUnIGNhbiBiZSBhIGBwY2FzZScgcGF0dGVybi4iCisgIChzaG91bGQgKGVxdWFsIChs aXN0IChsaXN0IDEgMiAzKSAxIDIgMykKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEg MiAzKQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhICgmd2hvbGUgd2hvbGUgYSBiIGMp KQorICAgICAgICAgICAgICAgICAgICAobGlzdCB3aG9sZSBhIGIgYykpKSkpCisKKyAgKHNob3Vs ZCAoZXF1YWwgKGxpc3QgMSAyIDMgMSAyIDMpCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlz dCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoJndob2xlIGAoLGEwICxi MCAsYzApIGEgYiBjKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYTAgYjAgYzAgYSBiIGMp KSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWxhbWJkYS1wb3MgKCkKKyAgIlBv c2l0aW9uYWwgdmFyaWFibGVzIG11c3QgbWF0Y2ggdGhlIGxlbmd0aCBvZiBFWFBWQUwuIgorICAo c2hvdWxkIChlcXVhbCAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0 IDEgMiAzKQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhIChhIGIgYykpCisgICAgICAg ICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCBuaWwKKyAg ICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IChsaXN0IDEpKQorICAgICAgICAgICAgICAgICAg ICgoY2wtbGFtYmRhIChhIGIpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIpKSkpKQor CisgIChzaG91bGQgKGVxdWFsIG5pbAorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgKGxp c3QgMSAyIDMpKQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhIChhIGIpKQorICAgICAg ICAgICAgICAgICAgICAobGlzdCBhIGIpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3Rz LWNsLWxhbWJkYS1wb3Mtc3ViLXBhdHRlcm5zICgpCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEg MiAzIDQpCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCAxIDIgKGxpc3QgMyA0KSkKKyAg ICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoYSBiIChjbC1sYW1iZGEgKGMgZCkpKSkKKyAg ICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMgZCkpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwg KGxpc3QgMSAyKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgKGxpc3QgMSAyKSkKKyAg ICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoYCgsYSAsYikpKQorICAgICAgICAgICAgICAg ICAgICAobGlzdCBhIGIpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWxhbWJk YS0mb3B0aW9uYWwtc2hvdWxkLWVycm9yICgpCisgICJgJm9wdGlvbmFsJyBjYW5ub3QgYmUgdXNl ZCBhZnRlciBgJm9wdGlvbmFsJywgYCZyZXN0JywgYCZrZXknLCBhbmQgYCZhdXgnLiIKKyAgKHNo b3VsZC1lcnJvciAoZXF1YWwgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAgICAgIChw Y2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAo JnJlc3QgYSAmb3B0aW9uYWwgYiBjKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3Qg YSBiIGMpKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1sYW1iZGEtbGlzdC1i YWQtbGFtYmRhLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIDMpCisg ICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoJmJvZHkgYSAmb3B0aW9uYWwgYiBjKSkKKyAg ICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykpKQorICAgICAgICAgICAgICAgIDp0eXBlICdj bC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0KQorCisgIChzaG91bGQtZXJyb3Ig KHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZrZXkg YSAmb3B0aW9uYWwgYiBjKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykpKQorICAg ICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0 KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAg ICAgKChjbC1sYW1iZGEgKCZhbGxvdy1vdGhlci1rZXlzICZvcHRpb25hbCBiIGMpKQorICAgICAg ICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1w Y2FzZS1sYW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAocGNh c2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoJmF1eCAoYSAx KSAmb3B0aW9uYWwgYiBjKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykpKQorICAg ICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0 KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAg ICAgKChjbC1sYW1iZGEgKCZvcHRpb25hbCBhICZvcHRpb25hbCBiIGMpKQorICAgICAgICAgICAg ICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1s YW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3QpKQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMt Y2wtbGFtYmRhLSZvcHRpb25hbCAoKQorICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDIgMykKKyAg ICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgICgo Y2wtbGFtYmRhIChhIGIgJm9wdGlvbmFsIGMpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBh IGIgYykpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIG5pbCkKKyAgICAgICAgICAg ICAgICAgKHBjYXNlIChsaXN0IDEgMikKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAo YSBiICZvcHRpb25hbCBjKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMpKSkpKQor CisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEgMiAxMykKKyAgICAgICAgICAgICAgICAgKHBjYXNl IChsaXN0IDEgMikKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoYSBiICZvcHRpb25h bCAoYyAxMykpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYykpKSkpCisKKyAgKHNo b3VsZCAoZXF1YWwgKGxpc3QgMSAyIDEzIG5pbCkKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChs aXN0IDEgMikKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoYSBiICZvcHRpb25hbCAo YyAxMyBjLXN1cHBsaWVkKSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjIGMtc3Vw cGxpZWQpKSkpKQorCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEgMiAzIHQpCisgICAgICAgICAg ICAgICAgIChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJk YSAoYSBiICZvcHRpb25hbCAoYyAxMyBjLXN1cHBsaWVkKSkpCisgICAgICAgICAgICAgICAgICAg IChsaXN0IGEgYiBjIGMtc3VwcGxpZWQpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3Rz LWNsLWxhbWJkYS0mb3B0aW9uYWwtc3ViLXBhdHRlcm5zICgpCisgICJUZXN0IHVzaW5nIHN1Yi1w YXR0ZXJucyBpbiBgY2wtbGFtYmRhJyBwYXR0ZXJuLgorU3ViLXBhdHRlcm5zIG11c3QgYmUgY29u dGFpbmVkIHdpdGhpbiBhIHN1Yi1saXN0LCBzaW5jZSBhIHN1Yi1saXN0CithbHNvIHByb3ZpZGVz IGEgZGVmYXVsdCB2YWx1ZS4iCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAobGlz dCAzIDQpKQorICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKGEgYiAmb3B0aW9uYWwgYCgs YyAsZCkpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjIGQpKSkpCisKKyAgKHNob3Vs ZCAoZXF1YWwgKGxpc3QgMSAyIDMzKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgMSAy KQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhIChhIGIgJm9wdGlvbmFsICgoYW5kIG9w dDEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo Z3VhcmQgKG51bWJlcnAgb3B0MSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAzMykpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgb3B0MSkp KSkpCisKKyAgKHNob3VsZCAoZXF1YWwgbmlsCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlz dCAxIDIgJ25vdC1udW0pCisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKGEgYiAmb3B0 aW9uYWwgKChhbmQgb3B0MQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChndWFyZCAobnVtYmVycCBvcHQxKSkpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMzKSkpCisgICAgICAgICAgICAgICAgICAgIChs aXN0IGEgYiBvcHQxKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCBuaWwKKyAgICAgICAgICAgICAg ICAgKHBjYXNlIChsaXN0IDEgMiBuaWwpCisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEg KGEgYiAmb3B0aW9uYWwgKChhbmQgb3B0MQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChndWFyZCAobnVtYmVycCBvcHQxKSkpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdub3QtbnVtKSkpCisgICAgICAg ICAgICAgICAgICAgIChsaXN0IGEgYiBvcHQxKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlz dCAxIDIgMyA0KQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgMSAyIChsaXN0IDMgNCkp CisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKGEgYiAmb3B0aW9uYWwgKGAoLGMgLGQp KSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjIGQpKSkpKQorCisgIChzaG91bGQg KGVxdWFsIChsaXN0IDEgMiBuaWwgbmlsKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3Qg MSAyKQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhIChhIGIgJm9wdGlvbmFsIChgKCxj ICxkKSkpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYyBkKSkpKSkKKworICAoc2hv dWxkIChlcXVhbCAobGlzdCAxIDIgMTMgMTQpCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlz dCAxIDIpCisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKGEgYiAmb3B0aW9uYWwgKGAo LGMgLGQpIChsaXN0IDEzIDE0KSkpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYyBk KSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDIgMTMgMTQpCisgICAgICAgICAgICAg ICAgIChwY2FzZSAobGlzdCAxIDIpCisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCBh IGIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZvcHRpb25hbCAoKGNsLWxhbWJk YSAoYyAmb3B0aW9uYWwgKGQgMTQpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGxpc3QgMTMpKSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBj IGQpKSkpKQorCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEgMiAxMyAxNCBuaWwpCisgICAgICAg ICAgICAgICAgIChwY2FzZSAobGlzdCAxIDIpCisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1i ZGEgKGEgYiAmb3B0aW9uYWwgKGAoLGMgLGQpIChsaXN0IDEzIDE0KSBjZC1zdXBwbGllZCkpKQor ICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYyBkIGNkLXN1cHBsaWVkKSkpKSkKKworICAo c2hvdWxkIChlcXVhbCAobGlzdCAxIDIgMTMgMTQgbmlsIHQgbmlsKQorICAgICAgICAgICAgICAg ICAocGNhc2UgKGxpc3QgMSAyKQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhICggYSBi CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmb3B0aW9uYWwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhICgmb3B0aW9uYWwgKGMgMjcgYy1zdWIt c3VwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoZCAxNCBkLXN1Yi1zdXApKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAobGlzdCAxMykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZC1zdXBwbGll ZCkpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYyBkIGNkLXN1cHBsaWVkIGMtc3Vi LXN1cCBkLXN1Yi1zdXApKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWxhbWJk YS0mcmVzdC1zaG91bGQtZXJyb3IgKCkKKyAgImAmcmVzdCcgKGAmYm9keScsIGAuJykgY2Fubm90 IGJlIHVzZWQgYWZ0ZXIgYCZyZXN0JywgYCZib2R5JywgYCZrZXknLGFuZCBgJmF1eCcuIgorICAo c2hvdWxkLWVycm9yIChlcXVhbCAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAgICAg KHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRh ICgmcmVzdCBhICZyZXN0IGIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIg YykpKSkKKyAgICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBjYXNlLWxhbWJkYS1saXN0LWJhZC1s YW1iZGEtbGlzdCkKKworICAoc2hvdWxkLWVycm9yIChlcXVhbCAobGlzdCAxIDIgMykKKyAgICAg ICAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAg ICAgICAgICgoY2wtbGFtYmRhICgmYm9keSBhICZib2R5IGIpKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAobGlzdCBhIGIgYykpKSkKKyAgICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBjYXNl LWxhbWJkYS1saXN0LWJhZC1sYW1iZGEtbGlzdCkKKworICAoc2hvdWxkLWVycm9yIChlcXVhbCAo bGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDEgMiAzKQor ICAgICAgICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhICgmYm9keSBhIC4gYikpCisgICAg ICAgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpKQorICAgICAgICAgICAgICAgIDp0 eXBlICdjbC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0KQorCisgIChzaG91bGQt ZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEg KCZib2R5IGEgJnJlc3QgYikpCisgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMpKSkKKyAg ICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBjYXNlLWxhbWJkYS1saXN0LWJhZC1sYW1iZGEtbGlz dCkKKworICAoc2hvdWxkLWVycm9yIChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAg ICAgICgoY2wtbGFtYmRhICgmcmVzdCBhICZib2R5IGIpKQorICAgICAgICAgICAgICAgICAgIChs aXN0IGEgYiBjKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1sYW1iZGEtbGlz dC1iYWQtbGFtYmRhLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIDMp CisgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoJmtleSBhICZyZXN0IGIpKQorICAgICAg ICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1w Y2FzZS1sYW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAocGNh c2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoJmtleSBhICZi b2R5IGIpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAgICAgICAgICAg ICAgOnR5cGUgJ2NsLS1wY2FzZS1sYW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3QpCisKKyAgKHNo b3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAoKGNsLWxh bWJkYSAoJmtleSBhIC4gYikpCisgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMpKSkKKyAg ICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBjYXNlLWxhbWJkYS1saXN0LWJhZC1sYW1iZGEtbGlz dCkKKworICAoc2hvdWxkLWVycm9yIChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAg ICAgICgoY2wtbGFtYmRhICgmYWxsb3ctb3RoZXIta2V5cyAmcmVzdCBiKSkKKyAgICAgICAgICAg ICAgICAgICAobGlzdCBhIGIgYykpKQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2Ut bGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChs aXN0IDEgMiAzKQorICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZhbGxvdy1vdGhlci1r ZXlzICZib2R5IGIpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAgICAg ICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1sYW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3QpCisK KyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAo KGNsLWxhbWJkYSAoJmFsbG93LW90aGVyLWtleXMgLiBiKSkKKyAgICAgICAgICAgICAgICAgICAo bGlzdCBhIGIgYykpKQorICAgICAgICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtbGFtYmRhLWxp c3QtYmFkLWxhbWJkYS1saXN0KQorCisgIChzaG91bGQtZXJyb3IgKHBjYXNlIChsaXN0IDEgMiAz KQorICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZhdXggKGEgMSkgJnJlc3QgYikpCisg ICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMpKSkKKyAgICAgICAgICAgICAgICA6dHlwZSAn Y2wtLXBjYXNlLWxhbWJkYS1saXN0LWJhZC1sYW1iZGEtbGlzdCkKKworICAoc2hvdWxkLWVycm9y IChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhICgmYXV4 IChhIDEpICZib2R5IGIpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkpCisgICAg ICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1sYW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3Qp CisKKyAgKHNob3VsZC1lcnJvciAocGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAg ICAoKGNsLWxhbWJkYSAoJmF1eCAoYSAxKSAuIGIpKQorICAgICAgICAgICAgICAgICAgIChsaXN0 IGEgYiBjKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2NsLS1wY2FzZS1sYW1iZGEtbGlzdC1i YWQtbGFtYmRhLWxpc3QpKQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtbGFtYmRhLSZy ZXN0LW5vbmxpc3QtY2RyICgpCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEgMikKKyAgICAgICAg ICAgICAgICAgKHBjYXNlIChjb25zIDEgMikKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJk YSAoYSAmcmVzdCBiKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiKSkpKSkKKworICAo c2hvdWxkIChlcXVhbCAobGlzdCAxIDIpCisgICAgICAgICAgICAgICAgIChwY2FzZSAoY29ucyAx IDIpCisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKGEgJmJvZHkgYikpCisgICAgICAg ICAgICAgICAgICAgIChsaXN0IGEgYikpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAy KQorICAgICAgICAgICAgICAgICAocGNhc2UgKGNvbnMgMSAyKQorICAgICAgICAgICAgICAgICAg ICgoY2wtbGFtYmRhIChhIC4gYikpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYikpKSkp KQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtbGFtYmRhLSZyZXN0LXdpdGgtJndob2xl ICgpCisgIChzaG91bGQgKGVxdWFsIChsaXN0IChjb25zIDEgMikgMSAyKQorICAgICAgICAgICAg ICAgICAocGNhc2UgKGNvbnMgMSAyKQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhICgm d2hvbGUgd2hvbGUgYSAmcmVzdCBiKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3Qgd2hvbGUg YSBiKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlzdCAoY29ucyAxIDIpIDEgMikKKyAgICAg ICAgICAgICAgICAgKHBjYXNlIChjb25zIDEgMikKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxh bWJkYSAoJndob2xlIHdob2xlIGEgJmJvZHkgYikpCisgICAgICAgICAgICAgICAgICAgIChsaXN0 IHdob2xlIGEgYikpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgKGNvbnMgMSAyKSAxIDIp CisgICAgICAgICAgICAgICAgIChwY2FzZSAoY29ucyAxIDIpCisgICAgICAgICAgICAgICAgICAg KChjbC1sYW1iZGEgKCZ3aG9sZSB3aG9sZSBhIC4gYikpCisgICAgICAgICAgICAgICAgICAgIChs aXN0IHdob2xlIGEgYikpKSkpKQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtbGFtYmRh LSZyZXN0LW9ubHkgKCkKKyAgIlVzaW5nIG9ubHkgYCZyZXN0JyBzaG91bGQgd29yayBsaWtlIGAm d2hvbGUnLiIKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgKGxpc3QgMSAyKSkKKyAgICAgICAgICAg ICAgICAgKHBjYXNlIChsaXN0IDEgMikKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAo JnJlc3QgYSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEpKSkpKQorCisgIChzaG91bGQg KGVxdWFsIChsaXN0IChjb25zIDEgMikpCisgICAgICAgICAgICAgICAgIChwY2FzZSAoY29ucyAx IDIpCisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZib2R5IGEpKQorICAgICAgICAg ICAgICAgICAgICAobGlzdCBhKSkpKSkpCisKKyhlcnQtZGVmdGVzdCBwY2FzZS10ZXN0cy1jbC1s YW1iZGEtJnJlc3QtYWZ0ZXItJm9wdGlvbmFsICgpCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEg MiAzIChsaXN0IDQgNSkpCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCAxIDIgMyA0IDUp CisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZvcHRpb25hbCBhIGIgYyAmcmVzdCBk KSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMgZCkpKSkpCisKKyAgKHNob3VsZCAo ZXF1YWwgKGxpc3QgMSAyIDMgKGxpc3QgNCA1KSkKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChs aXN0IDEgMiAzIDQgNSkKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoJm9wdGlvbmFs IGEgYiBjICZib2R5IGQpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYyBkKSkpKSkK KworICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDIgMyAobGlzdCA0IDUpKQorICAgICAgICAgICAg ICAgICAocGNhc2UgKGxpc3QgMSAyIDMgNCA1KQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFt YmRhICgmb3B0aW9uYWwgYSBiIGMgLiBkKSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBi IGMgZCkpKSkpKQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtbGFtYmRhLSZyZXN0LXN1 Yi1wYXR0ZXJucyAoKQorICA7OyBXZSBjYW4ndCBkbyAoYSAuIGAoLGIgLiAsYykpLCBzbyB3ZSBk b24ndCB0ZXN0IHRoYXQuCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEgMiAzKQorICAgICAgICAg ICAgICAgICAocGNhc2UgKGxpc3QgMSAyIDMpCisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1i ZGEgKGEgJnJlc3QgKGNsLWxhbWJkYSAoYiBjKSkpKQorICAgICAgICAgICAgICAgICAgICAobGlz dCBhIGIgYykpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIDMpCisgICAgICAgICAg ICAgICAgIChwY2FzZSAobGlzdCAxIDIgMykKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJk YSAoYSAmYm9keSBgKCxiICxjKSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBjKSkp KSkpCisKKyhlcnQtZGVmdGVzdCBwY2FzZS10ZXN0cy1jbC1sYW1iZGEtJmtleS1zaG91bGQtZXJy b3IgKCkKKyAgImAma2V5JyBjYW5ub3QgYmUgdXNlZCBhZnRlciBgJmtleScsIGAmYWxsb3ctb3Ro ZXIta2V5cycsIGFuZCBgJmF1eCcuIgorICAoc2hvdWxkLWVycm9yIChwY2FzZSAobGlzdCA6YSAx IDpiIDIpCisgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoJmtleSBhICZrZXkgYikpCisg ICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiKSkpCisgICAgICAgICAgICAgICAgOnR5cGUgJ2Ns LS1wY2FzZS1sYW1iZGEtbGlzdC1iYWQtbGFtYmRhLWxpc3QpCisKKyAgKHNob3VsZC1lcnJvciAo cGNhc2UgKGxpc3QgOmEgMSA6YiAyKQorICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZh dXggKGEgMSkgJmtleSBiKSkKKyAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIpKSkKKyAgICAg ICAgICAgICAgICA6dHlwZSAnY2wtLXBjYXNlLWxhbWJkYS1saXN0LWJhZC1sYW1iZGEtbGlzdCkK KworICAoc2hvdWxkLWVycm9yIChwY2FzZSAobGlzdCA6YSAxIDpiIDIpCisgICAgICAgICAgICAg ICAgICAoKGNsLWxhbWJkYSAoJmFsbG93LW90aGVyLWtleXMgJmtleSBiKSkKKyAgICAgICAgICAg ICAgICAgICAobGlzdCBhIGIpKSkKKyAgICAgICAgICAgICAgICA6dHlwZSAnY2wtLXBjYXNlLWxh bWJkYS1saXN0LWJhZC1sYW1iZGEtbGlzdCkpCisKKyhlcnQtZGVmdGVzdCBwY2FzZS10ZXN0cy1j bC1sYW1iZGEtJmtleS1leGFjdCAoKQorICAiYCZrZXknIGRvZXNuJ3QgbWF0Y2ggdW5zcGVjaWZp ZWQga2V5cyB1bmxlc3MgYCZhbGxvdy1vdGhlci1rZXlzJyBvciBgOmFsbG93LW90aGVyLWtleXMn IGlzIGdpdmVuLiIKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyKQorICAgICAgICAgICAgICAg ICAocGNhc2UgKGxpc3QgOmEgMSA6YiAyKQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRh ICgma2V5IGEgYikpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYikpKSkpCisKKyAgKHNo b3VsZCAoZXF1YWwgbmlsCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCA6YSAxIDpiIDIg OmMgMykKKyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoJmtleSBhIGIpKQorICAgICAg ICAgICAgICAgICAgICAobGlzdCBhIGIpKSkpKQorCisgIChzaG91bGQgKGVxdWFsIChsaXN0IDEg MiBuaWwpCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCA6YSAxIDpiIDIpCisgICAgICAg ICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZrZXkgYSBiIGMpKQorICAgICAgICAgICAgICAgICAg ICAobGlzdCBhIGIgYykpKSkpKQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtbGFtYmRh LSZrZXktcGVybWlzc2l2ZSAoKQorICAiYCZrZXknIGRvZXNuJ3QgbWF0Y2ggdW5zcGVjaWZpZWQg a2V5cyB1bmxlc3MgYCZhbGxvdy1vdGhlci1rZXlzJyBvciBgOmFsbG93LW90aGVyLWtleXMnIGlz IGdpdmVuLiIKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyKQorICAgICAgICAgICAgICAgICAo cGNhc2UgKGxpc3QgOmEgMSA6YiAyIDpjIDMpCisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1i ZGEgKCZrZXkgYSBiICZhbGxvdy1vdGhlci1rZXlzKSkKKyAgICAgICAgICAgICAgICAgICAgKGxp c3QgYSBiKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDIpCisgICAgICAgICAgICAg ICAgIChwY2FzZSAobGlzdCA6YSAxIDpiIDIgOmMgMyA6YWxsb3ctb3RoZXIta2V5cyB0KQorICAg ICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhICgma2V5IGEgYikpCisgICAgICAgICAgICAgICAg ICAgIChsaXN0IGEgYikpKSkpKQorCisoZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtbGFtYmRh LSZrZXktbm90LWZpcnN0ICgpCisgICJUaGUgcGxpc3Qgc2hvdWxkIGJlIGFmdGVyIHBvc2l0aW9u YWwgdmFsdWVzIGFuZCBlcXVhbCB0byBgJnJlc3QnLiIKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3Qg MSAyIDMgMTEgMjIpCisgICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCAxIDIgMyA6azEgMTEg OmsyIDIyKQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhIChhIGIgYyAma2V5IGsxIGsy KSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGMgazEgazIpKSkpKQorCisgIChzaG91 bGQgKGVxdWFsIChsaXN0IDEgMiAzIChsaXN0IDprMSAxMSA6azIgMjIpIDExIDIyKQorICAgICAg ICAgICAgICAgICAocGNhc2UgKGxpc3QgMSAyIDMgOmsxIDExIDprMiAyMikKKyAgICAgICAgICAg ICAgICAgICAoKGNsLWxhbWJkYSAoYSBiIGMgJnJlc3QgcjEgJmtleSBrMSBrMikpCisgICAgICAg ICAgICAgICAgICAgIChsaXN0IGEgYiBjIHIxIGsxIGsyKSkpKSkpCisKKyhlcnQtZGVmdGVzdCBw Y2FzZS10ZXN0cy1jbC1sYW1iZGEtJmtleS1mdWxsLWZvcm0gKCkKKyAgKHNob3VsZCAoZXF1YWwg KGxpc3QgMSAyKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgOmEgMSA6YiAyKQorICAg ICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhICgma2V5IGEgKGIgMTMpKSkKKyAgICAgICAgICAg ICAgICAgICAgKGxpc3QgYSBiKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDEzKQor ICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgOmEgMSkKKyAgICAgICAgICAgICAgICAgICAo KGNsLWxhbWJkYSAoJmtleSBhIChiIDEzKSkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IGEg YikpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAxMyBuaWwpCisgICAgICAgICAgICAg ICAgIChwY2FzZSAobGlzdCA6YSAxKQorICAgICAgICAgICAgICAgICAgICgoY2wtbGFtYmRhICgm a2V5IGEgKGIgMTMgYi1zdXBwbGllZCkpKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIg Yi1zdXBwbGllZCkpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgKGxpc3QgMSAyIHQpCisgICAgICAg ICAgICAgICAgIChwY2FzZSAobGlzdCA6YSAxIDpiIDIpCisgICAgICAgICAgICAgICAgICAgKChj bC1sYW1iZGEgKCZrZXkgYSAoYiAxMyBiLXN1cHBsaWVkKSkpCisgICAgICAgICAgICAgICAgICAg IChsaXN0IGEgYiBiLXN1cHBsaWVkKSkpKSkKKworICAoc2hvdWxkIChlcXVhbCAobGlzdCAxIDIg dCkKKyAgICAgICAgICAgICAgICAgKHBjYXNlIChsaXN0IDphIDEgOmJhdCAyKQorICAgICAgICAg ICAgICAgICAgICgoY2wtbGFtYmRhICgma2V5IGEgKCg6YmF0IGIpIDEzIGItc3VwcGxpZWQpKSkK KyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGItc3VwcGxpZWQpKSkpKQorCisgIChzaG91 bGQgKGVxdWFsIChsaXN0IDEgMiB0KQorICAgICAgICAgICAgICAgICAobGV0ICgoa2V5IDpiYXQp KQorICAgICAgICAgICAgICAgICAgIChwY2FzZSAobGlzdCA6YSAxIDpiYXQgMikKKyAgICAgICAg ICAgICAgICAgICAgICgoY2wtbGFtYmRhICgma2V5IGEgKChrZXkgYikgMTMgYi1zdXBwbGllZCkp KQorICAgICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYiBiLXN1cHBsaWVkKSkpKSkpKQorCiso ZXJ0LWRlZnRlc3QgcGNhc2UtdGVzdHMtY2wtbGFtYmRhLSZrZXktc3ViLXBhdHRlcm5zICgpCisg IChzaG91bGQgKGVxdWFsICcoMSAyICg6YyA3NyA6ZSBzaG91bGQtaWdub3JlKSBuaWwgNzcgdCA5 OSBuaWwpCisgICAgICAgICAgICAgICAgIChwY2FzZSAnKDphYiAoMSAyKSkKKyAgICAgICAgICAg ICAgICAgICAoKGNsLWxhbWJkYSAoJmtleQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoKDphYiBgKCxhICxiKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoOmNk IChjbC1sYW1iZGEgKCAmd2hvbGUgY2QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZrZXkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChjIDg4IGMtc3VwcCkKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoOmQgZCkgOTkgZC1zdXBwKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFsbG93LW90aGVyLWtl eXMpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0IDpjIDc3IDplICdz aG91bGQtaWdub3JlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2Qtc3VwcCkp KQorICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgY2QgY2Qtc3VwcCBjIGMtc3VwcCBkIGQt c3VwcCkpKSkpCisKKyAgKHNob3VsZCAoZXF1YWwgJyggMSAyICg6YyA3NyA6ZSBzaG91bGQtaWdu b3JlIDphbGxvdy1vdGhlci1rZXlzIHQpIG5pbAorICAgICAgICAgICAgICAgICAgICA3NyB0IDk5 IG5pbCkKKyAgICAgICAgICAgICAgICAgKHBjYXNlICcoOmFiICgxIDIpKQorICAgICAgICAgICAg ICAgICAgICgoY2wtbGFtYmRhICgma2V5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICgoOmFiIGAoLGEgLGIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCg6Y2Qg KGNsLWxhbWJkYSAoICZ3aG9sZSBjZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJmtleQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGMgODggYy1zdXBwKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCg6ZCBkKSA5OSBkLXN1cHApKSkpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAobGlzdCA6YyA3NyA6ZSAnc2hvdWxkLWlnbm9yZQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmFsbG93LW90aGVyLWtleXMg dCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNkLXN1cHApKSkKKyAgICAgICAg ICAgICAgICAgICAgKGxpc3QgYSBiIGNkIGNkLXN1cHAgYyBjLXN1cHAgZCBkLXN1cHApKSkpKQor CisgIChzaG91bGQgKGVxdWFsIG5pbAorICAgICAgICAgICAgICAgICAocGNhc2UgJyg6YWIgKDEg MikpCisgICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZrZXkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKCg6YWIgYCgsYSAsYikpKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoKDpjZCAoY2wtbGFtYmRhICggJndob2xlIGNkCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAma2V5CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYyA4OCBjLXN1cHApCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKDpkIGQpIDk5IGQt c3VwcCkpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0IDpjIDc3IDpl ICdzaG91bGQtZmFpbCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNkLXN1cHAp KSkKKyAgICAgICAgICAgICAgICAgICAgKGxpc3QgYSBiIGNkIGNkLXN1cHAgYyBjLXN1cHAgZCBk LXN1cHApKSkpKSkKKworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0mYXV4LXNo b3VsZC1lcnJvciAoKQorICAiYCZhdXgnIGNhbm5vdCBiZSB1c2VkIGFmdGVyIGAmYXV4Jy4iCisg IChzaG91bGQtZXJyb3IgKHBjYXNlIG5pbAorICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEg KCZhdXggYSAmYXV4IGIpKQorICAgICAgICAgICAgICAgICAgIChsaXN0IGEgYikpKQorICAgICAg ICAgICAgICAgIDp0eXBlICdjbC0tcGNhc2UtbGFtYmRhLWxpc3QtYmFkLWxhbWJkYS1saXN0KSkK KworKGVydC1kZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0mYXV4ICgpCisgIChzaG91bGQg KGVxdWFsIChsaXN0IDEgMiBuaWwgbmlsKQorICAgICAgICAgICAgICAgICAocGNhc2UgbmlsCisg ICAgICAgICAgICAgICAgICAgKChjbC1sYW1iZGEgKCZhdXggKGEgMSkgKGIgMikgKGMpIGQpKQor ICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgYyBkKSkpKSkKKworICAoc2hvdWxkIChlcXVh bCAobGlzdCAwIDEgMiBuaWwgbmlsKQorICAgICAgICAgICAgICAgICAocGNhc2UgKGxpc3QgMCkK KyAgICAgICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoejAgJmF1eCAoYSAxKSAoYiAyKSAoYykg ZCkpCisgICAgICAgICAgICAgICAgICAgIChsaXN0IHowIGEgYiBjIGQpKSkpKSkKKworKGVydC1k ZWZ0ZXN0IHBjYXNlLXRlc3RzLWNsLWxhbWJkYS0mYXV4LXN1Yi1wYXR0ZXJucyAoKQorICAoc2hv dWxkIChlcXVhbCAobGlzdCAxIDIpCisgICAgICAgICAgICAgICAgIChwY2FzZSBuaWwKKyAgICAg ICAgICAgICAgICAgICAoKGNsLWxhbWJkYSAoJmF1eCAoYCgsYSAsYikgKGxpc3QgMSAyKSkpKQor ICAgICAgICAgICAgICAgICAgICAobGlzdCBhIGIgKSkpKSkpCisKKyhlcnQtZGVmdGVzdCBwY2Fz ZS10ZXN0cy1jbC1sYW1iZGEtYWxsICgpCisgIChzaG91bGQgKGVxdWFsICcoMSAyIDMgNCA1ICg6 azEgMTExIDprMiAyMjIpIDExMSAyMjIgMzMzIDQ0NCkKKyAgICAgICAgICAgICAgICAgKHBjYXNl IChsaXN0IDEgMiAzIDQgNSA6azEgMTExIDprMiAyMjIpCisgICAgICAgICAgICAgICAgICAgKChj bC1sYW1iZGEgKCBhIGIgYworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm9wdGlv bmFsIGQgZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJlc3QgcgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmtleSBrMSBrMgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJmF1eCAoeDEgMzMzKSAoeDIgNDQ0KSkpCisgICAgICAgICAgICAgICAg ICAgIChsaXN0IGEgYiBjIGQgZSByIGsxIGsyIHgxIHgyKSkpKSkpCisKIDs7OyBwY2FzZS10ZXN0 cy5lbCBlbmRzIGhlcmUuCi0tIAoyLjM0LjEKCg== --b1_TJ92SD8NGM37oLvDrnzOJ5ksQWEvU5jEnoHfJPwkcjE--
Okamsn <okamsn@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#67611
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.