From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#41572: 28.0.50; [PATCH] Support plain project marked with file .emacs-project Date: Sun, 27 Nov 2022 18:09:32 +0200 Message-ID: References: <5f584d83-ef45-9912-bfbc-d2f00b24b9fd@yandex.ru> <87pnahjgdr.fsf@linkov.net> <87ftb92u8q.fsf@thornhill.no> <0ab90cf2-eab2-6fea-6698-4164d7753cd7@yandex.ru> <87d06ck2b0.fsf@thornhill.no> <2fbe5d5d-03a1-212b-9dd7-4723e168ad06@yandex.ru> <5EpzudgjedeKADsX4_Tq-2WtNm3XKXmZjnEI7Y1lmw-Pcn_KrzKPD1o31Ele0JOIrZ1ITDdeQrOsJTHfGVPJlzyLhmqjxP3rmVVzou8KEBo=@thornhill.no> <2a70c748-e250-2f96-5d74-712b6d71e8be@yandex.ru> <871riitzch.fsf@gnus.org> <9781acc2-e4c0-b53c-6422-ef2e0a96f400@yandex.ru> <877czirqj6.fsf@gmail.com> <8a588083-3a00-a9e9-2d80-6885b64efbab@yandex.ru> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------Lx2UeKX7OAodeSP1sCR8uITe" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22904"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Cc: "Philip K." , Rudi Schlatte , Augusto Stoffel , Zhu Zihao , Theodor Thornhill , Daniel =?UTF-8?Q?Mart=C3=ADn?= , Eric Abrahamsen , Manuel Uberti , Juri Linkov , Rudolf =?UTF-8?Q?Adamkovi=C4=8D?= , 41572@debbugs.gnu.org To: =?UTF-8?Q?Jo=C3=A3o_?= =?UTF-8?Q?T=C3=A1vora?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Nov 27 17:10:25 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ozKEZ-0005n9-O8 for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 27 Nov 2022 17:10:23 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ozKEG-0008MO-8M; Sun, 27 Nov 2022 11:10:04 -0500 Original-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 ) id 1ozKEE-0008Kx-CE for bug-gnu-emacs@gnu.org; Sun, 27 Nov 2022 11:10:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ozKEE-0006Hw-2V for bug-gnu-emacs@gnu.org; Sun, 27 Nov 2022 11:10:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ozKED-0006Hs-UM for bug-gnu-emacs@gnu.org; Sun, 27 Nov 2022 11:10:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 27 Nov 2022 16:10:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41572 X-GNU-PR-Package: emacs Original-Received: via spool by 41572-submit@debbugs.gnu.org id=B41572.166956538424157 (code B ref 41572); Sun, 27 Nov 2022 16:10:01 +0000 Original-Received: (at 41572) by debbugs.gnu.org; 27 Nov 2022 16:09:44 +0000 Original-Received: from localhost ([127.0.0.1]:42873 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ozKDw-0006HZ-6C for submit@debbugs.gnu.org; Sun, 27 Nov 2022 11:09:44 -0500 Original-Received: from mail-wr1-f43.google.com ([209.85.221.43]:44926) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ozKDt-0006HT-9o for 41572@debbugs.gnu.org; Sun, 27 Nov 2022 11:09:42 -0500 Original-Received: by mail-wr1-f43.google.com with SMTP id v1so13309300wrt.11 for <41572@debbugs.gnu.org>; Sun, 27 Nov 2022 08:09:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:sender:from:to:cc:subject :date:message-id:reply-to; bh=YhRTxqaJWmqRtGVjdrM5s0MVzwlZ7yVsOw0fKuVQyJI=; b=LQkgzoGIDYfsqPpxjX9Ab2/fgReyiEiR78gWcg4D8mnLlCOofSfSl+bz5C4q8tsKmp 5NMJwkpgudpsS7RbFDwCKdekYhawXNF5QtS8fJ2fMawVaiPKlMSTHo140v/jRkkcdudu KcjHTIIr9qc7GsiHNmxbG8LeJw2wkrbF+Vqgd6YAoSMYRSmixZ6iuzCnSJowpJOSahQ5 +0f1ONYheZ44eKzWkgecRrbqaas9G/wEcwpEdlAHT/UTxqszbEc7INvw+i39YL4XAUWE /RpsVX2SGulqo6RvVS6S5qSWVXGPbfKX0GOyXg+oxwmEmz1u2sjkH2D5fj8eZh/d/UGO 9vvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:sender:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=YhRTxqaJWmqRtGVjdrM5s0MVzwlZ7yVsOw0fKuVQyJI=; b=fsdl8AJisXvDkhG5hdyf7qhZ6GWP3Nh32m4UXfXUCI14QDGznTM18buL1EWURGKGmO YIs/1XAiLUMt06clttEo9spFzyxJhBEeQ+eHuE6GzVjYY4bfu/EHpJiu+fuoHGIK/qE9 kbQM9R5ZWpXdFv7Im83vcxOEx87dnOqahSmCwO5PpK/gUqJBkLfZ7n5vSyocvh6Mk9sd gxYVeLDY/c8pONCO1Pe62/jkScPug2Fs6zLR51IJ40OZTAa9XMzIRF5OXVUb5Fxisien ra3Fjd4AnHIS19BBUt5PEZLx/2LZNNXE07Ro2LH1wsRLujc6BqHu+5nie5q3lDw+FNev hi5A== X-Gm-Message-State: ANoB5pmscKIdUc9Krwgirz8BRPSAqo4JnWjd+iFF2CmJOkit+cSPmoKq iKlGX1O3IkQ8a0VyAZkYYJE= X-Google-Smtp-Source: AA0mqf7jP5vvUIMHBwYjUWzQl/hEZLVsUnSAojmVw+CCtKSZwyCHtPS9IO5RRT0oHyS6NtYWe/p9lQ== X-Received: by 2002:a05:6000:60c:b0:242:10ac:6ab2 with SMTP id bn12-20020a056000060c00b0024210ac6ab2mr2947680wrb.552.1669565375357; Sun, 27 Nov 2022 08:09:35 -0800 (PST) Original-Received: from [192.168.0.6] ([46.251.119.176]) by smtp.googlemail.com with ESMTPSA id y7-20020a1c4b07000000b003b4c979e6bcsm15429859wma.10.2022.11.27.08.09.33 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 27 Nov 2022 08:09:34 -0800 (PST) Content-Language: en-US In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:249231 Archived-At: This is a multi-part message in MIME format. --------------Lx2UeKX7OAodeSP1sCR8uITe Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 26/11/22 21:23, João Távora wrote: > On Sat, Nov 26, 2022, 12:30 Dmitry Gutov > wrote: > > > > My use case is the following: I'm interested in being able to > designate > > projects (through various means, not only marker files) that may only > > exist inside other projects. > > You previously described your super-project and how you handled it > using > project-find-functions hook with a new element that looked for file > markers. Does this patch make that easier to do? Without writing custom > functions? > > > The example i gave did _not_ use file markers. Personally, I can't use > them. I need some elisp way. Please elaborate. Does it mean that those subprojects are chosen manually and don't have "packages.jon" or etc exactly (or that too many subprojects in that same project would, undesirably, contain the same files)? Would being able to set to absolute file names (directories) help? Or is that too awkward? Worst case, we could also add the new option from https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41572#85, the result see attached. > > I then want the C-x p family of commands > > to allow a choice of inner project or any of the associated > > super-projects. > > Please avoid mixing feature requests. I already said that "choice of > inner or outer" is out of scope for this, but it's easily > implemented on > top. > > > What good are sub and super projects without a way to take advantage of > them? If anything we should focus on the operations first. As I have demonstrated, the features are orthogonal. Let's do it piece by piece, otherwise this bug might stay open another couple of years. > I have not seen your other patch. I take it it must have had some > drawback since you superseded it with something else. But post the link, > this thread is too long. I'll look at it on Monday if I have time. That would be https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41572#85 The downsides we have already discussed: having to customize every "super" project individually is a pain, people more often seem to prefer to use "markers", the set of which is customized once. So we have to support "markers" anyway, hence it makes sense to try to make do with them only. But here's how it would look if we try to support both approaches. --------------Lx2UeKX7OAodeSP1sCR8uITe Content-Type: text/x-patch; charset=UTF-8; name="project-vc-extra-root-markers-and-subprojects.diff" Content-Disposition: attachment; filename="project-vc-extra-root-markers-and-subprojects.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvcHJvZ21vZGVzL3Byb2plY3QuZWwgYi9saXNwL3Byb2dtb2Rl cy9wcm9qZWN0LmVsCmluZGV4IDViODY0ODAzMWZiLi4wNWJhNjMxZTUyZiAxMDA2NDQKLS0t IGEvbGlzcC9wcm9nbW9kZXMvcHJvamVjdC5lbAorKysgYi9saXNwL3Byb2dtb2Rlcy9wcm9q ZWN0LmVsCkBAIC02Niw2ICs2Niw5IEBACiA7OyBmaWxlcywgYnV0IHN1cHBvcnRzIGFkZGl0 aW9ucyB0byB0aGUgbGlzdCB1c2luZyB0aGUgdXNlciBvcHRpb24KIDs7IGBwcm9qZWN0LXZj LWlnbm9yZXMnICh1c3VhbGx5IHRocm91Z2ggLmRpci1sb2NhbHMuZWwpLgogOzsKKzs7IEF0 IHRoaXMgcG9pbnQgdGhlIG5hbWUgbWlnaHQgYXMgd2VsbCBiZSBhbiBhYmJyZXZpYXRpb24g Zm9yICJWQyBhbmQKKzs7IEV0YyIsIHNlZSB0aGUgdmFyaWFibGUgYHByb2plY3QtdmMtZXh0 cmEtcm9vdC1tYXJrZXJzJy4KKzs7CiA7OyBVdGlsczoKIDs7CiA7OyBgcHJvamVjdC1jb21i aW5lLWRpcmVjdG9yaWVzJyBhbmQgYHByb2plY3Qtc3VidHJhY3QtZGlyZWN0b3JpZXMnLApA QCAtNDExLDYgKzQxNCw1MSBAQCBwcm9qZWN0LXZjLW5hbWUKICAgOnZlcnNpb24gIjI5LjEi CiAgIDpzYWZlICMnc3RyaW5ncCkKIAorOzsgTm90IHVzaW5nIHJlZ2V4cHMgYmVjYXVzZSB0 aGVzZSB3b3VsZG4ndCB3b3JrIGluIEdpdCBwYXRoc3BlY3MsIGluCis7OyBjYXNlIHdlIGRl Y2lkZSB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gbGlzdCBzdWJwcm9qZWN0cy4KKyhkZWZjdXN0 b20gcHJvamVjdC12Yy1leHRyYS1yb290LW1hcmtlcnMgbmlsCisgICJMaXN0IG9mIGFkZGl0 aW9uYWwgbWFya2VycyB0byBzaWduYWwgcHJvamVjdCByb290cy4KKworQSBtYXJrZXIgaXMg ZWl0aGVyIGEgYmFzZSBmaWxlIG5hbWUgb3IgYSBnbG9iIHBhdHRlcm4gZm9yIHN1Y2guCisK K0EgZGlyZWN0b3J5IGNvbnRhaW5pbmcgc3VjaCBhIG1hcmtlciBmaWxlIG9yIGEgZmlsZSBt YXRjaGluZyBhCittYXJrZXIgcGF0dGVybiB3aWxsIGJlIHJlY29nbml6ZWQgYXMgdGhlIHJv b3Qgb2YgYSBWQyBwcm9qZWN0LgorCitFeGFtcGxlIHZhbHVlczogXCIuZGlyLWxvY2Fscy5l bFwiLCBcInBhY2thZ2UuanNvblwiLCBcInBvbS54bWxcIiwKK1wicmVxdWlyZW1lbnRzLnR4 dFwiLCBcIkdlbWZpbGVcIiwgXCIqLmdlbXNwZWNcIiwgXCJhdXRvZ2VuLnNoXCIuCisKK1Ro ZXNlIHdpbGwgYmUgdXNlZCBpbiBhZGRpdGlvbiB0byByZWd1bGFyIGRpcmVjdG9yeSBtYXJr ZXJzIHN1Y2gKK2FzIFwiLmdpdFwiLCBcIi5oZ1wiLCBhbmQgc28gb24sIGRlcGVuZGluZyBv biB0aGUgdmFsdWUgb2YKK2B2Yy1oYW5kbGVkLWJhY2tlbmRzJy4gIEl0IGlzIG1vc3QgdXNl ZnVsIHdoZW4gYSBWQyBwcm9qZWN0IGhhcworc3ViZGlyZWN0b3JpZXMgaW5zaWRlIGl0IHRo YXQgbmVlZCB0byBiZSBjb25zaWRlcmVkIGFzIHNlcGFyYXRlCitwcm9qZWN0cy4gIEl0IGNh biBhbHNvIGJlIHVzZWQgZm9yIHByb2plY3RzIG91dHNpZGUgb2YgVkMKK3JlcG9zaXRvcmll cy4KKworSW4gZWl0aGVyIGNhc2UsIHRoZWlyIGJlaGF2aW9yIHdpbGwgc3RpbGwgb2JleSB0 aGUgcmVsZXZhbnQKK3ZhcmlhYmxlcywgc3VjaCBhcyBgcHJvamVjdC12Yy1pZ25vcmVzJyBv ciBgcHJvamVjdC12Yy1uYW1lJy4iCisgIDp0eXBlICdsaXN0CisgIDp2ZXJzaW9uICIyOS4x IgorICA6c2FmZSAobGFtYmRhICh2YWwpIChhbmQgKGxpc3RwIHZhbCkgKGNsLWV2ZXJ5ICMn c3RyaW5ncCB2YWwpKSkpCisKKyhkZWZjdXN0b20gcHJvamVjdC12Yy1zdWJwcm9qZWN0cyBu aWwKKyAgIkxpc3Qgb2YgcmVsYXRpdmUgZGlyZWN0b3J5IG5hbWVzIHRvIGNvbnNpZGVyIHNl cGFyYXRlIHByb2plY3RzLgorRWFjaCBlbnRyeSBzaG91bGQgYSBzdHJpbmcsIG5hbWUgb2Yg YSBzdWJwcm9qZWN0IHJvb3QgZGlyZWN0b3J5CityZWxhdGl2ZSB0byB0aGUgVkMgcHJvamVj dCByb290LgorCitXaGVuZXZlciBhIFZDIHByb2plY3Qgcm9vdCBkZXRlY3RlZCBhY2NvcmRp bmcgdG8gdGhlIHVzdWFsCitjb25kaXRpb25zIGNvbnRhaW5zIGEgc3ViZGlyZWN0b3J5IGZy b20gdGhhdCBsaXN0LCB0aGF0CitzdWJkaXJlY3Rvcnkgd2lsbCBiZSByZWNvZ25pemVkIGFz IHRoZSByb290IG9mIGEgc2VwYXJhdGUgVkMKK3Byb2plY3QgYXMgd2VsbC4KKworT25lIHdv dWxkIHVzdWFsbHkgc2V0IHRoaXMgdmFyaWFibGUgdGhyb3VnaCB0aGUgZGlyLWxvY2Fscwor bWVjaGFuaXNtLgorCitJZiBzdWJwcm9qZWN0cyBhcmUgR2l0IHN1Ym1vZHVsZXMsIHlvdSBj YW4gdXNlIHRoZSB2YXJpYWJsZQorYHByb2plY3QtdmMtbWVyZ2Utc3VibW9kdWxlcycgaW5z dGVhZC4iCisgIDp0eXBlICdsaXN0CisgIDp2ZXJzaW9uICIyOS4xIgorICA6c2FmZSAobGFt YmRhICh2YWwpIChhbmQgKGxpc3RwIHZhbCkgKHNlcS1ldmVyeS1wICMnc3RyaW5ncCB2YWwp KSkpCisKIDs7IEZJWE1FOiBVc2luZyB0aGUgY3VycmVudCBhcHByb2FjaCwgbWFqb3IgbW9k ZXMgYXJlIHN1cHBvc2VkIHRvIHNldAogOzsgdGhpcyB2YXJpYWJsZSB0byBhIGJ1ZmZlci1s b2NhbCB2YWx1ZS4gIFNvIHdlIGRvbid0IGhhdmUgYWNjZXNzIHRvCiA7OyB0aGUgImV4dGVy bmFsIHJvb3RzIiBvZiBsYW5ndWFnZSBBIGZyb20gYnVmZmVycyBvZiBsYW5ndWFnZSBCLCB3 aGljaApAQCAtNDQ3LDI5ICs0OTUsNTkgQEAgcHJvamVjdC12Yy1leHRlcm5hbC1yb290cy1m dW5jdGlvbgogYmFja2VuZCBpbXBsZW1lbnRhdGlvbiBvZiBgcHJvamVjdC1leHRlcm5hbC1y b290cycuIikKIAogKGRlZnVuIHByb2plY3QtdHJ5LXZjIChkaXIpCisgIChkZWZ2YXIgdmMt c3ZuLWFkbWluLWRpcmVjdG9yeSkKKyAgKHJlcXVpcmUgJ3ZjLXN2bikKKyAgOzsgRklYTUU6 IExlYXJuIHRvIGludmFsaWRhdGUgd2hlbiB0aGUgdmFsdWUgb2YKKyAgOzsgYHByb2plY3Qt dmMtbWVyZ2Utc3VibW9kdWxlcycgb3IgYHByb2plY3QtdmMtZXh0cmEtcm9vdC1tYXJrZXJz JworICA7OyBjaGFuZ2VzLgogICAob3IgKHZjLWZpbGUtZ2V0cHJvcCBkaXIgJ3Byb2plY3Qt dmMpCi0gICAgICAobGV0KiAoKGJhY2tlbmQgKGlnbm9yZS1lcnJvcnMgKHZjLXJlc3BvbnNp YmxlLWJhY2tlbmQgZGlyKSkpCisgICAgICAobGV0KiAoKGJhY2tlbmQtbWFya2Vycy1hbGlz dCBgKChHaXQgLiAiLmdpdCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChIZyAuICIuaGciKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoQnpyIC4gIi5ienIiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoU1ZOIC4gLHZjLXN2bi1hZG1pbi1kaXJlY3RvcnkpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChEQVJDUyAuICJfZGFyY3MiKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoRm9zc2lsIC4gIi5mc2xja291dCIpKSkKKyAgICAg ICAgICAgICAoYmFja2VuZC1tYXJrZXJzCisgICAgICAgICAgICAgIChkZWxldGUKKyAgICAg ICAgICAgICAgIG5pbAorICAgICAgICAgICAgICAgKG1hcGNhcgorICAgICAgICAgICAgICAg IChsYW1iZGEgKGIpIChhc3NvYy1kZWZhdWx0IGIgYmFja2VuZC1tYXJrZXJzLWFsaXN0KSkK KyAgICAgICAgICAgICAgICB2Yy1oYW5kbGVkLWJhY2tlbmRzKSkpCisgICAgICAgICAgICAg KG1hcmtlci1yZQorICAgICAgICAgICAgICAobWFwY29uY2F0CisgICAgICAgICAgICAgICAo bGFtYmRhIChtKSAoZm9ybWF0ICJcXCglc1xcKSIgKHdpbGRjYXJkLXRvLXJlZ2V4cCBtKSkp CisgICAgICAgICAgICAgICAoYXBwZW5kIGJhY2tlbmQtbWFya2VycyBwcm9qZWN0LXZjLWV4 dHJhLXJvb3QtbWFya2VycykKKyAgICAgICAgICAgICAgICJcXHwiKSkKKyAgICAgICAgICAg ICAobG9jYXRlLWRvbWluYXRpbmctc3RvcC1kaXItcmVnZXhwCisgICAgICAgICAgICAgIChv ciB2Yy1pZ25vcmUtZGlyLXJlZ2V4cCBsb2NhdGUtZG9taW5hdGluZy1zdG9wLWRpci1yZWdl eHApKQorICAgICAgICAgICAgIGxhc3QtbWF0Y2hlcwogICAgICAgICAgICAgIChyb290Ci0g ICAgICAgICAgICAgIChwY2FzZSBiYWNrZW5kCi0gICAgICAgICAgICAgICAgKCdHaXQKLSAg ICAgICAgICAgICAgICAgOzsgRG9uJ3Qgc3RvcCBhdCBzdWJtb2R1bGUgYm91bmRhcnkuCi0g ICAgICAgICAgICAgICAgIChvciAodmMtZmlsZS1nZXRwcm9wIGRpciAncHJvamVjdC1naXQt cm9vdCkKLSAgICAgICAgICAgICAgICAgICAgIChsZXQgKChyb290ICh2Yy1jYWxsLWJhY2tl bmQgYmFja2VuZCAncm9vdCBkaXIpKSkKLSAgICAgICAgICAgICAgICAgICAgICAgKHZjLWZp bGUtc2V0cHJvcAotICAgICAgICAgICAgICAgICAgICAgICAgZGlyICdwcm9qZWN0LWdpdC1y b290Ci0gICAgICAgICAgICAgICAgICAgICAgICAoaWYgKGFuZAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA7OyBGSVhNRTogSW52YWxpZGF0ZSB0aGUgY2FjaGUgd2hlbiB0aGUg dmFsdWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgb2YgdGhpcyB2YXJpYWJs ZSBjaGFuZ2VzLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0LXZjLW1l cmdlLXN1Ym1vZHVsZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb2plY3Qt LXN1Ym1vZHVsZS1wIHJvb3QpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsZXQq ICgocGFyZW50IChmaWxlLW5hbWUtZGlyZWN0b3J5Ci0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChkaXJlY3RvcnktZmlsZS1uYW1lIHJvb3QpKSkpCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmMtY2FsbC1iYWNrZW5kIGJhY2tlbmQg J3Jvb3QgcGFyZW50KSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcm9vdCkpKSkpCi0g ICAgICAgICAgICAgICAgKCduaWwgbmlsKQotICAgICAgICAgICAgICAgIChfIChpZ25vcmUt ZXJyb3JzICh2Yy1jYWxsLWJhY2tlbmQgYmFja2VuZCAncm9vdCBkaXIpKSkpKQorICAgICAg ICAgICAgICAobG9jYXRlLWRvbWluYXRpbmctZmlsZQorICAgICAgICAgICAgICAgZGlyCisg ICAgICAgICAgICAgICAobGFtYmRhIChkKQorICAgICAgICAgICAgICAgICAoc2V0cSBsYXN0 LW1hdGNoZXMgKGRpcmVjdG9yeS1maWxlcyBkIG5pbCBtYXJrZXItcmUgdCAxMDApKSkpKQor ICAgICAgICAgICAgIChiYWNrZW5kCisgICAgICAgICAgICAgIChjbC1maW5kLWlmCisgICAg ICAgICAgICAgICAobGFtYmRhIChiKQorICAgICAgICAgICAgICAgICAobWVtYmVyIChhc3Nv Yy1kZWZhdWx0IGIgYmFja2VuZC1tYXJrZXJzLWFsaXN0KQorICAgICAgICAgICAgICAgICAg ICAgICAgIGxhc3QtbWF0Y2hlcykpCisgICAgICAgICAgICAgICB2Yy1oYW5kbGVkLWJhY2tl bmRzKSkKICAgICAgICAgICAgICBwcm9qZWN0KQorICAgICAgICAod2hlbiAoYW5kCisgICAg ICAgICAgICAgICAoZXEgYmFja2VuZCAnR2l0KQorICAgICAgICAgICAgICAgcHJvamVjdC12 Yy1tZXJnZS1zdWJtb2R1bGVzCisgICAgICAgICAgICAgICAocHJvamVjdC0tc3VibW9kdWxl LXAgcm9vdCkpCisgICAgICAgICAgKGxldCogKChwYXJlbnQgKGZpbGUtbmFtZS1kaXJlY3Rv cnkgKGRpcmVjdG9yeS1maWxlLW5hbWUgcm9vdCkpKSkKKyAgICAgICAgICAgIChzZXRxIHJv b3QgKHZjLWNhbGwtYmFja2VuZCAnR2l0ICdyb290IHBhcmVudCkpKSkKICAgICAgICAgKHdo ZW4gcm9vdAorICAgICAgICAgIChsZXQqICgocmVsYXRpdmUtZGlyIChmaWxlLXJlbGF0aXZl LW5hbWUgZGlyIHJvb3QpKQorICAgICAgICAgICAgICAgICAoc3VicHJvamVjdCAoc2VxLWZp bmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEgKHN1Yi1kaXIpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctcHJlZml4LXAgKGZpbGUt bmFtZS1hcy1kaXJlY3Rvcnkgc3ViLWRpcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZS1kaXIpKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcHJvamVjdC12Yy1zdWJwcm9qZWN0cykpKQorICAgICAgICAgICAg KGFuZCBzdWJwcm9qZWN0CisgICAgICAgICAgICAgICAgIChzZXRxIHJvb3QgKGNvbmNhdCBy b290IHN1YnByb2plY3QpKSkpCiAgICAgICAgICAgKHNldHEgcHJvamVjdCAobGlzdCAndmMg YmFja2VuZCByb290KSkKICAgICAgICAgICA7OyBGSVhNRTogQ2FjaGUgZm9yIGEgc2hvcnRl ciB0aW1lLgogICAgICAgICAgICh2Yy1maWxlLXNldHByb3AgZGlyICdwcm9qZWN0LXZjIHBy b2plY3QpCkBAIC02MjYsNyArNzA0LDggQEAgcHJvamVjdC1pZ25vcmVzCiAgIChsZXQqICgo cm9vdCAobnRoIDIgcHJvamVjdCkpCiAgICAgICAgICBiYWNrZW5kKQogICAgIChhcHBlbmQK LSAgICAgKHdoZW4gKGZpbGUtZXF1YWwtcCBkaXIgcm9vdCkKKyAgICAgKHdoZW4gKGFuZCBi YWNrZW5kCisgICAgICAgICAgICAgICAgKGZpbGUtZXF1YWwtcCBkaXIgcm9vdCkpCiAgICAg ICAgKHNldHEgYmFja2VuZCAoY2FkciBwcm9qZWN0KSkKICAgICAgICAoZGVscQogICAgICAg ICBuaWwK --------------Lx2UeKX7OAodeSP1sCR8uITe--