From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gregory Heytings Newsgroups: gmane.emacs.devel Subject: Re: Simple isearch concerns Date: Thu, 08 Apr 2021 22:40:42 +0000 Message-ID: <9ff81b52fa72c1233122@heytings.org> References: <20210403001539.x4rb55dvh46rmhb3.ref@Ergus> <20210403001539.x4rb55dvh46rmhb3@Ergus> <878s5wmsjp.fsf@mail.linkov.net> <87mtubz4ls.fsf@mail.linkov.net> <8735w22s9b.fsf@mail.linkov.net> <3ec7e2e58a3733a48ae9@heytings.org> <878s5tc0rn.fsf@mail.linkov.net> <3ec7e2e58a49d4f0ec99@heytings.org> <878s5t9p1i.fsf@mail.linkov.net> <9ff81b52fad2911cc740@heytings.org> <87im4w1tgw.fsf@mail.linkov.net> <9ff81b52fa878cb35a86@heytings.org> <87pmz4zgn5.fsf@mail.linkov.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="FbFjN3UGR1" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26716"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Ergus , emacs-devel@gnu.org To: Juri Linkov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Apr 09 00:41:40 2021 Return-path: Envelope-to: ged-emacs-devel@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 1lUdLH-0006rw-8O for ged-emacs-devel@m.gmane-mx.org; Fri, 09 Apr 2021 00:41:39 +0200 Original-Received: from localhost ([::1]:41946 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lUdLG-0001Wr-AG for ged-emacs-devel@m.gmane-mx.org; Thu, 08 Apr 2021 18:41:38 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55786) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lUdKS-00015m-Ue for emacs-devel@gnu.org; Thu, 08 Apr 2021 18:40:49 -0400 Original-Received: from heytings.org ([95.142.160.155]:34590) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lUdKP-0005F0-T3 for emacs-devel@gnu.org; Thu, 08 Apr 2021 18:40:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1617921643; bh=REEpw5bOi36BXgyASXWbTF1i9LcZk2yyaqA2c6hB+Fg=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=SqPXIwq5lBkH7qGVWoDzhkwkjdcMOxHFxI1zs8vvlIXh02Zui+8JSxLc6qwqVPIe0 EVN9yMI7yijXlhjSDtYQ6A9qRsECk0Ta6qq1QNU9UgFz54cz4K1YGuvd16+SoWbaa9 9wUYokeJ0HPZo8grXi3R+HVcIhi1B9ilkyxdw81am9JvVOnYXfg6frxT0PLQuFrIrF Bje9D+kLna8YAzdGGZ49f2DKNoupPMHG0Bg1Wvd6uhAuZEQ67cTh2EzOk2JMps1OC4 nDSFPNQEoWTxl2ckB8loN7XmYAXUKZIeuZ+xsS0sfYyuS+o2WwwcfHxuIX6PQAoSs8 iisLxc2mrUT3g== In-Reply-To: <87pmz4zgn5.fsf@mail.linkov.net> Received-SPF: pass client-ip=95.142.160.155; envelope-from=gregory@heytings.org; helo=heytings.org 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, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:267671 Archived-At: --FbFjN3UGR1 Content-Type: text/plain; charset=us-ascii; format=flowed Thanks again for your detailed comments! Here is the new patch. As you will see, it is possible to put nil in the cdr of the symbol property, in which case the search direction does not change, but I would not recommend to do that: I tried it, and the resulting behavior is not what one would expect, very often the match doesn't change at all. Therefore I did not mention that possibility in the manual. Also, there's a condition-case around the funcall, to catch beginning of buffer / end of buffer errors. --FbFjN3UGR1 Content-Type: text/x-diff; name=0001-New-user-option-to-scroll-isearch-matches.patch Content-Transfer-Encoding: base64 Content-ID: <9ff81b52faa78a0e1235@heytings.org> Content-Description: Content-Disposition: attachment; filename=0001-New-user-option-to-scroll-isearch-matches.patch RnJvbSBjNTg1NTU2OWVmZGNkNWFmMjBlYTM3NjA5ZWNlM2YwZWVmOWM0ZjNk IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogR3JlZ29yeSBIZXl0 aW5ncyA8Z3JlZ29yeUBoZXl0aW5ncy5vcmc+DQpEYXRlOiBGcmksIDggQXBy IDIwMjEgMjI6MzA6MDcgKzAwMDANClN1YmplY3Q6IFtQQVRDSF0gTmV3IHVz ZXIgb3B0aW9uIHRvIHNjcm9sbCBpc2VhcmNoIG1hdGNoZXMNCg0KKiBsaXNw L2lzZWFyY2guZWwgKGlzZWFyY2gtYWxsb3ctbWF0Y2gtc2Nyb2xsKTogTmV3 IHVzZXIgb3B0aW9uLg0KKGlzZWFyY2gtcHJlLWNvbW1hbmQtaG9vayk6IEhh bmRsZSB0aGUgbmV3IG9wdGlvbi4NCg0KKiBldGMvTkVXUzogTWVudGlvbiB0 aGUgbmV3IHVzZXIgb3B0aW9uLg0KDQoqIGRvYy9lbWFjcy9zZWFyY2gudGV4 aTogRG9jdW1lbnQgdGhlIG5ldyB1c2VyIG9wdGlvbi4NCi0tLQ0KIGRvYy9l bWFjcy9zZWFyY2gudGV4aSB8IDIyICsrKysrKysrKysrKysrKysrKysrKysN CiBldGMvTkVXUyAgICAgICAgICAgICAgfCAxMCArKysrKysrKysrDQogbGlz cC9pc2VhcmNoLmVsICAgICAgIHwgNDEgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0NCiAzIGZpbGVzIGNoYW5nZWQsIDcyIGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCg0KZGlmZiAtLWdpdCBhL2Rv Yy9lbWFjcy9zZWFyY2gudGV4aSBiL2RvYy9lbWFjcy9zZWFyY2gudGV4aQ0K aW5kZXggZjNjNDJiY2VhNy4uNTllMjg0MTYxMSAxMDA2NDQNCi0tLSBhL2Rv Yy9lbWFjcy9zZWFyY2gudGV4aQ0KKysrIGIvZG9jL2VtYWNzL3NlYXJjaC50 ZXhpDQpAQCAtNTg3LDYgKzU4NywxNCBAQCBOb3QgRXhpdGluZyBJc2VhcmNo DQogYW4gaW5jcmVtZW50YWwgc2VhcmNoLiAgVGhpcyBmZWF0dXJlIGlzIGRp c2FibGVkIGlmDQogQGNvZGV7aXNlYXJjaC1hbGxvdy1zY3JvbGx9IGlzIEBj b2Rle25pbH0gKHdoaWNoIGl0IGlzIGJ5IGRlZmF1bHQpLg0KIA0KK0B2aW5k ZXggaXNlYXJjaC1hbGxvdy1tYXRjaC1zY3JvbGwNCisgIExpa2V3aXNlLCBp ZiB5b3UgY2hhbmdlIHRoZSB2YXJpYWJsZSBAY29kZXtpc2VhcmNoLWFsbG93 LW1hdGNoLXNjcm9sbH0NCit0byBhIG5vbi1AY29kZXtuaWx9IHZhbHVlLCB0 aGlzIGVuYWJsZXMgdGhlIHVzZSBvZiB0aGUga2V5Ym9hcmQgc2Nyb2xsaW5n DQorY29tbWFuZHMgQGtiZHtNLTx9LCBAa2Jke00tPn0sIEBrYmR7Qy12fSBh bmQgQGtiZHtNLXZ9LCB0byBtb3ZlDQorcmVzcGVjdGl2ZWx5IHRvIHRoZSBm aXJzdCBvY2N1cnJlbmNlIG9mIHRoZSBjdXJyZW50IHNlYXJjaCBzdHJpbmcg aW4NCit0aGUgYnVmZmVyLCB0aGUgbGFzdCBvbmUsIHRoZSBmaXJzdCBvbmUg YWZ0ZXIgdGhlIGN1cnJlbnQgd2luZG93LA0KK2FuZCB0aGUgbGFzdCBvbmUg YmVmb3JlIHRoZSBjdXJyZW50IHdpbmRvdy4NCisNCiBAaXRlbSBNb3Rpb24g Q29tbWFuZHMNCiBAY2luZGV4IG1vdGlvbiBjb21tYW5kcywgZHVyaW5nIGlu Y3JlbWVudGFsIHNlYXJjaA0KIFdoZW4gQGNvZGV7aXNlYXJjaC15YW5rLW9u LW1vdmV9IGlzIGN1c3RvbWl6ZWQgdG8gQGNvZGV7c2hpZnR9LA0KQEAgLTU5 OCw2ICs2MDYsMjAgQEAgTm90IEV4aXRpbmcgSXNlYXJjaA0KIHNlYXJjaCBz dHJpbmcgd2l0aG91dCB1c2luZyB0aGUgc2hpZnQga2V5IGZvciBjdXJzb3Ig bW90aW9uIGNvbW1hbmRzLA0KIGJ1dCBpdCBhcHBsaWVzIG9ubHkgZm9yIGNl cnRhaW4gbW90aW9uIGNvbW1hbmQgdGhhdCBoYXZlIHRoZQ0KIEBjb2Rle2lz ZWFyY2gtbW92ZX0gcHJvcGVydHkgb24gdGhlaXIgc3ltYm9scy4NCisNCitA Y2luZGV4IG1vdGlvbiBjb21tYW5kcywgZHVyaW5nIGluY3JlbWVudGFsIHNl YXJjaCwgY2hhbmdlDQorICBXaGVuIEBjb2Rle2lzZWFyY2gtYWxsb3ctbWF0 Y2gtc2Nyb2xsfSBpcyBub24tQGNvZGV7bmlsfSwgaXQNCitpcyBhbHNvIHBv c3NpYmxlIHRvIGNoYW5nZSB0aGUgZWZmZWN0IG9mIG1vdGlvbiBjb21tYW5k cyBkdXJpbmcNCitpbmNyZW1lbnRhbCBzZWFyY2gsIGJ5IG1vZGlmeWluZyB0 aGUgQGNvZGV7aXNlYXJjaC1tYXRjaC1zY3JvbGx9DQorcHJvcGVydHkgb2Yg dGhlaXIgc3ltYm9scy4gIEZvciBleGFtcGxlLCB0byBtYWtlIEBrYmR7Qy1w fSBhbmQNCitAa2Jke0Mtbn0gbW92ZSB0byB0aGUgcHJldmlvdXMgYW5kIG5l eHQgbGluZSBhbmQgcmVzdGFydCBJc2VhcmNoDQorZm9yd2FyZCBhbmQgYmFj a3dhcmQgcmVzcGVjdGl2ZWx5LCB5b3UgY2FuIHB1dCB0aGUgZm9sbG93aW5n DQorbGluZXMgaW4geW91ciBpbml0IGZpbGUgKEBweHJlZntJbml0IEZpbGV9 KToNCisNCitAZXhhbXBsZQ0KKyhwdXQgJ25leHQtbGluZSAnaXNlYXJjaC1t YXRjaC1zY3JvbGwgJyhuZXh0LWxpbmUgLiBmb3J3YXJkKSkNCisocHV0ICdw cmV2aW91cy1saW5lICdpc2VhcmNoLW1hdGNoLXNjcm9sbCAnKHByZXZpb3Vz LWxpbmUgLiBiYWNrd2FyZCkpDQorQGVuZCBleGFtcGxlDQogQGVuZCB0YWJs ZQ0KIA0KIEBub2RlIElzZWFyY2ggTWluaWJ1ZmZlcg0KZGlmZiAtLWdpdCBh L2V0Yy9ORVdTIGIvZXRjL05FV1MNCmluZGV4IGQzYTg3NDhkZWQuLjRkNGIy ZjQ4ZTEgMTAwNjQ0DQotLS0gYS9ldGMvTkVXUw0KKysrIGIvZXRjL05FV1MN CkBAIC0zNjcsNiArMzY3LDE2IEBAIHRyeWluZyB0byBiZSBub24tZGVzdHJ1 Y3RpdmUuDQogVGhpcyBjb21tYW5kIG9wZW5zIGEgbmV3IGJ1ZmZlciBjYWxs ZWQgIipNZW1vcnkgUmVwb3J0KiIgYW5kIGdpdmVzIGENCiBzdW1tYXJ5IG9m IHdoZXJlIEVtYWNzIGlzIHVzaW5nIG1lbW9yeSBjdXJyZW50bHkuDQogDQor KysrDQorKiogTmV3IHVzZXIgb3B0aW9uICdpc2VhcmNoLWFsbG93LW1hdGNo LXNjcm9sbCcuDQorV2hlbiB0aGlzIG9wdGlvbiBpcyBzZXQsIHRoZSBjb21t YW5kcyAnYmVnaW5uaW5nLW9mLWJ1ZmZlcicsDQorJ2VuZC1vZi1idWZmZXIn LCAnc2Nyb2xsLXVwLWNvbW1hbmQnIGFuZCAnc2Nyb2xsLWRvd24tY29tbWFu ZCcgbW92ZQ0KK3Jlc3BlY3RpdmVseSB0byB0aGUgZmlyc3Qgb2NjdXJyZW5j ZSBvZiB0aGUgY3VycmVudCBzZWFyY2ggc3RyaW5nDQoraW4gdGhlIGJ1ZmZl ciwgdGhlIGxhc3Qgb25lLCB0aGUgZmlyc3Qgb25lIGFmdGVyIHRoZSBjdXJy ZW50IHdpbmRvdywNCithbmQgdGhlIGxhc3Qgb25lIGJlZm9yZSB0aGUgY3Vy cmVudCB3aW5kb3cuICBBZGRpdGlvbmFsbHksIHVzZXJzIGNhbg0KK2NoYW5n ZSB0aGUgbWVhbmluZyBvZiBvdGhlciBtb3Rpb24gY29tbWFuZHMgZHVyaW5n IElzZWFyY2ggYnkgdXNpbmcNCit0aGVpciAnaXNlYXJjaC1tYXRjaC1zY3Jv bGwnIHByb3BlcnR5Lg0KKw0KICoqIE91dGxpbmUNCiANCiArKysNCmRpZmYg LS1naXQgYS9saXNwL2lzZWFyY2guZWwgYi9saXNwL2lzZWFyY2guZWwNCmlu ZGV4IDRiNGY0NGJkZmYuLmNhM2JhZjVlZWUgMTAwNjQ0DQotLS0gYS9saXNw L2lzZWFyY2guZWwNCisrKyBiL2xpc3AvaXNlYXJjaC5lbA0KQEAgLTI4NjYs MTIgKzI4NjYsMzcgQEAgaXNlYXJjaC1hbGxvdy1zY3JvbGwNCiBIb3dldmVy LCB5b3UgY2Fubm90IHNjcm9sbCBmYXIgZW5vdWdoIHRoYXQgdGhlIGN1cnJl bnQgbWF0Y2ggaXMNCiBubyBsb25nZXIgdmlzaWJsZSAoaXMgb2ZmIHNjcmVl bikuICBCdXQgaWYgdGhlIHZhbHVlIGlzIGB1bmxpbWl0ZWQnDQogdGhhdCBs aW1pdGF0aW9uIGlzIHJlbW92ZWQgYW5kIHlvdSBjYW4gc2Nyb2xsIGFueSBk aXN0YW5jZSBvZmYgc2NyZWVuLg0KLUlmIG5pbCwgc2Nyb2xsaW5nIGNvbW1h bmRzIGV4aXQgSXNlYXJjaCBtb2RlLiINCitJZiBuaWwsIHNjcm9sbGluZyBj b21tYW5kcyBleGl0IElzZWFyY2ggbW9kZS4NCitTZWUgYWxzbyB0aGUgcmVs YXRlZCBvcHRpb24gYGlzZWFyY2gtYWxsb3ctbWF0Y2gtc2Nyb2xsJy4iDQog ICA6dHlwZSAnKGNob2ljZSAoY29uc3QgOnRhZyAiU2Nyb2xsaW5nIGV4aXRz IElzZWFyY2giIG5pbCkNCiAgICAgICAgICAgICAgICAgIChjb25zdCA6dGFn ICJTY3JvbGxpbmcgd2l0aCBjdXJyZW50IG1hdGNoIG9uIHNjcmVlbiIgdCkN CiAgICAgICAgICAgICAgICAgIChjb25zdCA6dGFnICJTY3JvbGxpbmcgd2l0 aCBjdXJyZW50IG1hdGNoIG9mZiBzY3JlZW4iIHVubGltaXRlZCkpDQogICA6 Z3JvdXAgJ2lzZWFyY2gpDQogDQorKHB1dCAnYmVnaW5uaW5nLW9mLWJ1ZmZl ciAnaXNlYXJjaC1tYXRjaC1zY3JvbGwNCisgICAgICcoKGxhbWJkYSAoKSAo Z290by1jaGFyIChwb2ludC1taW4pKSkgLiBmb3J3YXJkKSkNCisocHV0ICdl bmQtb2YtYnVmZmVyICdpc2VhcmNoLW1hdGNoLXNjcm9sbA0KKyAgICAgJygo bGFtYmRhICgpIChnb3RvLWNoYXIgKHBvaW50LW1heCkpKSAuIGJhY2t3YXJk KSkNCisocHV0ICdzY3JvbGwtdXAtY29tbWFuZCAnaXNlYXJjaC1tYXRjaC1z Y3JvbGwNCisgICAgICcoKGxhbWJkYSAoKSAoZ290by1jaGFyICh3aW5kb3ct ZW5kKSkpIC4gZm9yd2FyZCkpDQorKHB1dCAnc2Nyb2xsLWRvd24tY29tbWFu ZCAnaXNlYXJjaC1tYXRjaC1zY3JvbGwNCisgICAgICcoKGxhbWJkYSAoKSAo Z290by1jaGFyICh3aW5kb3ctc3RhcnQpKSAocmVjZW50ZXIgbmlsIHQpKSAu IGJhY2t3YXJkKSkNCisNCisocHV0ICduZXh0LWxpbmUgJ2lzZWFyY2gtbWF0 Y2gtc2Nyb2xsICcobmV4dC1saW5lIC4gZm9yd2FyZCkpDQorKHB1dCAncHJl dmlvdXMtbGluZSAnaXNlYXJjaC1tYXRjaC1zY3JvbGwgJyhwcmV2aW91cy1s aW5lIC4gYmFja3dhcmQpKQ0KKw0KKyhkZWZjdXN0b20gaXNlYXJjaC1hbGxv dy1tYXRjaC1zY3JvbGwgbmlsDQorICAiV2hldGhlciBzY3JvbGxpbmcgdG8g YW5vdGhlciBtYXRjaCBpcyBhbGxvd2VkIGR1cmluZyBpbmNyZW1lbnRhbCBz ZWFyY2guDQorSWYgbm9uLW5pbCwgdGhlIGZvdXIgc2Nyb2xsaW5nIGNvbW1h bmRzIGBiZWdpbm5pbmctb2YtYnVmZmVyJywNCitgZW5kLW9mLWJ1ZmZlcics IGBzY3JvbGwtdXAtY29tbWFuZCcgYW5kIGBzY3JvbGwtZG93bi1jb21tYW5k JyBtb3ZlDQorcmVzcGVjdGl2ZWx5IHRvIHRoZSBmaXJzdCBmaXJzdCBvY2N1 cnJlbmNlIG9mIHRoZSBjdXJyZW50IHNlYXJjaCBzdHJpbmcgaW4NCit0aGUg YnVmZmVyLCB0aGUgbGFzdCBvbmUsIHRoZSBmaXJzdCBvbmUgYWZ0ZXIgdGhl IGN1cnJlbnQgd2luZG93LCBhbmQgdGhlDQorbGFzdCBvbmUgYmVmb3JlIHRo ZSBjdXJyZW50IHdpbmRvdy4NCitTZWUgYWxzbyB0aGUgcmVsYXRlZCBvcHRp b24gYGlzZWFyY2gtYWxsb3ctc2Nyb2xsJy4iDQorICA6dHlwZSAnKGNob2lj ZSAoY29uc3QgOnRhZyAiT2ZmIiBuaWwpDQorICAgICAgICAgICAgICAgICAo Y29uc3QgOnRhZyAiT24iIHQpKQ0KKyAgOmdyb3VwICdpc2VhcmNoKQ0KKw0K IChkZWZjdXN0b20gaXNlYXJjaC1hbGxvdy1wcmVmaXggdA0KICAgIldoZXRo ZXIgcHJlZml4IGFyZ3VtZW50cyBhcmUgYWxsb3dlZCBkdXJpbmcgaW5jcmVt ZW50YWwgc2VhcmNoLg0KIElmIG5vbi1uaWwsIGVudGVyaW5nIGEgcHJlZml4 IGFyZ3VtZW50IHdpbGwgbm90IHRlcm1pbmF0ZSB0aGUNCkBAIC0yOTczLDYg KzI5OTgsMjAgQEAgaXNlYXJjaC1wcmUtY29tbWFuZC1ob29rDQogICAgICA7 OyBPcHRpb25hbGx5IGVkaXQgdGhlIHNlYXJjaCBzdHJpbmcgaW5zdGVhZCBv ZiBleGl0aW5nLg0KICAgICAgKChlcSBzZWFyY2gtZXhpdC1vcHRpb24gJ2Vk aXQpDQogICAgICAgKHNldHEgdGhpcy1jb21tYW5kICdpc2VhcmNoLWVkaXQt c3RyaW5nKSkNCisgICAgIDs7IEhhbmRsZSBtYXRjaCBzY3JvbGxpbmcgZnVu Y3Rpb25zLg0KKyAgICAgKChhbmQgaXNlYXJjaC1hbGxvdy1tYXRjaC1zY3Jv bGwNCisgICAgICAgICAgIChzeW1ib2xwIHRoaXMtY29tbWFuZCkNCisgICAg ICAgICAgIChnZXQgdGhpcy1jb21tYW5kICdpc2VhcmNoLW1hdGNoLXNjcm9s bCkpDQorICAgICAgKGxldCogKChwcm9wZXJ0eSAoZ2V0IHRoaXMtY29tbWFu ZCAnaXNlYXJjaC1tYXRjaC1zY3JvbGwpKQ0KKyAgICAgICAgICAgICAoZnVu Y3Rpb24gKGNhciBwcm9wZXJ0eSkpDQorICAgICAgICAgICAgIChkaXJlY3Rp b24gKG9yIChjZHIgcHJvcGVydHkpDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChpZiBpc2VhcmNoLWZvcndhcmQgJ2ZvcndhcmQgJ2JhY2t3YXJk KSkpKQ0KKyAgICAgICAgKHNldHEgaXNlYXJjaC1qdXN0LXN0YXJ0ZWQgdCkN CisgICAgICAgIChjb25kaXRpb24tY2FzZSBuaWwNCisgICAgICAgICAgICAo ZnVuY2FsbCBmdW5jdGlvbikNCisgICAgICAgICAgKGVycm9yIG5pbCkpDQor ICAgICAgICAoaXNlYXJjaC1yZXBlYXQgZGlyZWN0aW9uKQ0KKyAgICAgICAg KHNldHEgdGhpcy1jb21tYW5kICdpZ25vcmUpKSkNCiAgICAgIDs7IEhhbmRs ZSBhIHNjcm9sbGluZyBmdW5jdGlvbiBvciBwcmVmaXggYXJndW1lbnQuDQog ICAgICAoKG9yIChhbmQgaXNlYXJjaC1hbGxvdy1wcmVmaXgNCiAgICAgICAg ICAgICAgICAobWVtcSB0aGlzLWNvbW1hbmQgJyh1bml2ZXJzYWwtYXJndW1l bnQgdW5pdmVyc2FsLWFyZ3VtZW50LW1vcmUNCi0tIA0KMi4zMC4yDQoNCg== --FbFjN3UGR1--