From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Okam via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#49120: [PATCH] Add commands 'kill-lines' and 'copy-lines' Date: Sat, 19 Jun 2021 17:12:25 +0000 Message-ID: <337118f4-d1a2-ec51-fb29-a933a3cac785@protonmail.com> Reply-To: Okam Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_XEbzDBaTCC1kxoaxySgRt7ItdOmfew0Y8GNzARI6Oo" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="7146"; mail-complaints-to="usenet@ciao.gmane.io" To: 49120@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Jun 19 19:14:11 2021 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 1lueXr-0001dD-7m for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 19 Jun 2021 19:14:11 +0200 Original-Received: from localhost ([::1]:58942 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lueXq-00014J-9x for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 19 Jun 2021 13:14:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:54002) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lueXj-00013x-Qp for bug-gnu-emacs@gnu.org; Sat, 19 Jun 2021 13:14:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:49125) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lueXi-0003tf-MJ for bug-gnu-emacs@gnu.org; Sat, 19 Jun 2021 13:14:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lueXi-0002fF-At for bug-gnu-emacs@gnu.org; Sat, 19 Jun 2021 13:14:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Okam Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 19 Jun 2021 17:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 49120 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.162412279810176 (code B ref -1); Sat, 19 Jun 2021 17:14:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 19 Jun 2021 17:13:18 +0000 Original-Received: from localhost ([127.0.0.1]:60671 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lueWz-0002e3-MT for submit@debbugs.gnu.org; Sat, 19 Jun 2021 13:13:18 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:46444) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lueWx-0002dw-U8 for submit@debbugs.gnu.org; Sat, 19 Jun 2021 13:13:16 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53956) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lueWx-00012D-O9 for bug-gnu-emacs@gnu.org; Sat, 19 Jun 2021 13:13:15 -0400 Original-Received: from mail-0201.mail-europe.com ([51.77.79.158]:60348) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lueWu-0003UK-L7 for bug-gnu-emacs@gnu.org; Sat, 19 Jun 2021 13:13:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail; t=1624122754; bh=L+0nJJTg5gxtsEHnges0X1IGknqivwMDctn3fcYXtTc=; h=Date:To:From:Reply-To:Subject:From; b=YTJui9UAZ/2oXMIsoGZCneNvxXGlaK8t089jyr833TYHzWAQ/z+GIRUHNxoz2EW9b mRpuwDl7EaXCiODYz861UsM6DX1g6xg8kIRUzIlOp8aa7yex9RHeUKSkL4QWFBp/rC KZtllp/jB45jIYnQycdj4a5dyiNU0QFE3g4w/01A= Received-SPF: pass client-ip=51.77.79.158; envelope-from=okamsn@protonmail.com; helo=mail-0201.mail-europe.com 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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" X-ACL-Warn: , Okam Xref: news.gmane.io gmane.emacs.bugs:208757 Archived-At: This is a multi-part message in MIME format. --b1_XEbzDBaTCC1kxoaxySgRt7ItdOmfew0Y8GNzARI6Oo Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable These commands work similarly to the 'flush-lines' command, but add the lines to the kill ring as a single item. For example, when working with text lists, such as in - Documentation: Do thing 1 - Source: Add new function - Documentation: Do thing 2 if one wanted to copy only the lines containing "Documentation", while leaving the buffer untouched, the 'copy-lines' command could be used. --b1_XEbzDBaTCC1kxoaxySgRt7ItdOmfew0Y8GNzARI6Oo Content-Type: text/x-patch; name=0001-Add-commands-kill-lines-and-copy-lines.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Add-commands-kill-lines-and-copy-lines.patch PkZyb20gYjM1YzIxY2RiMmQzYzA1MWJkMzc0YmNkMmY5ZTNmZTE2ZmZiOTM4MCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDENCkZyb206IEVhcmwgSHlhdHQgPG9rYW1zbkBwcm90b25tYWlsLmNvbT4N CkRhdGU6IFNhdCwgMTkgSnVuIDIwMjEgMDg6MzA6MzEgLTA0MDANClN1YmplY3Q6IFtQQVRDSF0g QWRkIGNvbW1hbmRzICdraWxsLWxpbmVzJyBhbmQgJ2NvcHktbGluZXMnDQoNCiogZG9jL2VtYWNz L3NlYXJjaC50ZXhpOiBEb2N1bWVudCB0aGVzZSBhZGRpdGlvbnMuDQoqIGxpc3AvcmVwbGFjZS5l bDogQWRkIHRoZSBjb21tYW5kcyAna2lsbC1saW5lcycgYW5kICdjb3B5LWxpbmVzJy4NCidraWxs LWxpbmVzJyAoYWxpYXMgJ2tpbGwtbWF0Y2hpbmctbGluZXMnKSBpcyBsaWtlICdmbHVzaC1saW5l cycsDQogYnV0IGFkZHMgdGhlIGxpbmVzIHRvIHRoZSBraWxsIHJpbmcgYXMgYSBzaW5nbGUgaXRl bS4NCidjb3B5LWxpbmVzJyAoYWxpYXMgJ2NvcHktbWF0Y2hpbmctbGluZXMnKSBpcyBsaWtlICdr aWxsLWxpbmVzJywNCiBidXQgb25seSBjb3BpZXMgdGhvc2UgbGluZXMgaW5zdGVhZCBvZiBraWxs aW5nIHRoZW0uDQotLS0NCiBkb2MvZW1hY3Mvc2VhcmNoLnRleGkgfCAgMTAgKysrKw0KIGV0Yy9O RVdTICAgICAgICAgICAgICB8ICAgNCArKw0KIGxpc3AvcmVwbGFjZS5lbCAgICAgICB8IDEzMCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCiAzIGZpbGVzIGNoYW5n ZWQsIDE0NCBpbnNlcnRpb25zKCspDQoNCmRpZmYgLS1naXQgYS9kb2MvZW1hY3Mvc2VhcmNoLnRl eGkgYi9kb2MvZW1hY3Mvc2VhcmNoLnRleGkNCmluZGV4IGU2YjA2NmU5NzMuLjJkZGI0NGMzMTAg MTAwNjQ0DQotLS0gYS9kb2MvZW1hY3Mvc2VhcmNoLnRleGkNCisrKyBiL2RvYy9lbWFjcy9zZWFy Y2gudGV4aQ0KQEAgLTE5NzEsNiArMTk3MSwxNiBAQCBPdGhlciBSZXBlYXRpbmcgU2VhcmNoDQog KGEgbmV3bGluZSB0aGF0IGVuZHMgYSBsaW5lIGNvdW50cyBhcyBwYXJ0IG9mIHRoYXQgbGluZSku DQogDQogSWYgYSBtYXRjaCBpcyBzcGxpdCBhY3Jvc3MgbGluZXMsIHRoaXMgY29tbWFuZCBrZWVw cyBhbGwgdGhvc2UgbGluZXMuDQorDQorQGZpbmRleCBraWxsLWxpbmVzDQorQGl0ZW0gTS14IGtp bGwtbGluZXMNCitMaWtlIEBjb2Rle2ZsdXNoLWxpbmVzfSwgYnV0IGFsc28gYWRkIHRoZSBtYXRj aGluZyBsaW5lcyB0byB0aGUga2lsbA0KK3JpbmcgYXMgYSBzaW5nbGUgaXRlbS4NCisNCitAZmlu ZGV4IGNvcHktbGluZXMNCitAaXRlbSBNLXggY29weS1saW5lcw0KK0xpa2UgQGNvZGV7a2lsbC1s aW5lc30sIGJ1dCB0aGUgbWF0Y2hpbmcgbGluZXMgYXJlIG5vdCByZW1vdmVkIGZyb20NCit0aGUg YnVmZmVyLg0KIEBlbmQgdGFibGUNCiANCiBAbm9kZSBTZWFyY2ggQ3VzdG9taXphdGlvbnMNCmRp ZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTDQppbmRleCAxNjkzMzQyZjBhLi40MjIxMDMx NWI2IDEwMDY0NA0KLS0tIGEvZXRjL05FV1MNCisrKyBiL2V0Yy9ORVdTDQpAQCAtNDYxLDYgKzQ2 MSwxMCBAQCBoaWdobGlnaHRpbmcgb24gaGVhZGluZyBsaW5lcyB1c2luZyBzdGFuZGFyZCBvdXRs aW5lIGZhY2VzLiAgVGhpcw0KIHdvcmtzIHdlbGwgb25seSB3aGVuIHRoZXJlIGFyZSBubyBjb25m bGljdHMgd2l0aCBmYWNlcyB1c2VkIGJ5IHRoZQ0KIG1ham9yIG1vZGUuDQogDQorKiogTmV3IGNv bW1hbmRzICdjb3B5LWxpbmVzJyBhbmQgJ2tpbGwtbGluZXMnLg0KK1RoZXNlIGNvbW1hbmRzIGFy ZSBzaW1pbGFyIHRvIHRoZSBjb21tYW5kICdmbHVzaC1saW5lcycsDQorYnV0IGFkZCB0aGUgbWF0 Y2hpbmcgbGluZXMgdG8gdGhlIGtpbGwgcmluZyBhcyBhIHNpbmdsZSBpdGVtLg0KKw0KIAwNCiAq IENoYW5nZXMgaW4gU3BlY2lhbGl6ZWQgTW9kZXMgYW5kIFBhY2thZ2VzIGluIEVtYWNzIDI4LjEN CiANCmRpZmYgLS1naXQgYS9saXNwL3JlcGxhY2UuZWwgYi9saXNwL3JlcGxhY2UuZWwNCmluZGV4 IGZlMmNiYzQ0N2EuLmVkYmQ4NWYyYjMgMTAwNjQ0DQotLS0gYS9saXNwL3JlcGxhY2UuZWwNCisr KyBiL2xpc3AvcmVwbGFjZS5lbA0KQEAgLTkxMiw2ICs5MTIsOCBAQCByZWFkLXJlZ2V4cA0KIA0K IChkZWZhbGlhcyAnZGVsZXRlLW5vbi1tYXRjaGluZy1saW5lcyAna2VlcC1saW5lcykNCiAoZGVm YWxpYXMgJ2RlbGV0ZS1tYXRjaGluZy1saW5lcyAnZmx1c2gtbGluZXMpDQorKGRlZmFsaWFzICdr aWxsLW1hdGNoaW5nLWxpbmVzICdraWxsLWxpbmVzKQ0KKyhkZWZhbGlhcyAnY29weS1tYXRjaGlu Zy1saW5lcyAnY29weS1saW5lcykNCiAoZGVmYWxpYXMgJ2NvdW50LW1hdGNoZXMgJ2hvdy1tYW55 KQ0KIA0KIChkZWZ1biBrZWVwLWxpbmVzLXJlYWQtYXJncyAocHJvbXB0KQ0KQEAgLTEwNTQsNiAr MTA1NiwxMzQgQEAgZmx1c2gtbGluZXMNCiAJCQkgICAgICAgY291bnQpKQ0KICAgICBjb3VudCkp DQogDQorKGRlZnVuIGtpbGwtbGluZXMgKHJlZ2V4cCAmb3B0aW9uYWwgcnN0YXJ0IHJlbmQgaW50 ZXJhY3RpdmUpDQorICAiS2lsbCBsaW5lcyBjb250YWluaW5nIG1hdGNoZXMgZm9yIFJFR0VYUC4N CisNCitXaGVuIGNhbGxlZCBmcm9tIExpc3AgKGFuZCB1c3VhbGx5IHdoZW4gY2FsbGVkIGludGVy YWN0aXZlbHkgYXMNCit3ZWxsLCBzZWUgYmVsb3cpLCBhcHBsaWVzIHRvIHRoZSBwYXJ0IG9mIHRo ZSBidWZmZXIgYWZ0ZXIgcG9pbnQuDQorVGhlIGxpbmUgcG9pbnQgaXMgaW4gaXMga2lsbGVkIGlm IGFuZCBvbmx5IGlmIGl0IGNvbnRhaW5zIGEgbWF0Y2gNCitmb3IgcmVnZXhwIHN0YXJ0aW5nIGFm dGVyIHBvaW50Lg0KKw0KK0lmIFJFR0VYUCBjb250YWlucyB1cHBlciBjYXNlIGNoYXJhY3RlcnMg KGV4Y2x1ZGluZyB0aG9zZQ0KK3ByZWNlZGVkIGJ5IGBcXCcpIGFuZCBgc2VhcmNoLXVwcGVyLWNh c2UnIGlzIG5vbi1uaWwsIHRoZQ0KK21hdGNoaW5nIGlzIGNhc2Utc2Vuc2l0aXZlLg0KKw0KK1Nl Y29uZCBhbmQgdGhpcmQgYXJnIFJTVEFSVCBhbmQgUkVORCBzcGVjaWZ5IHRoZSByZWdpb24gdG8N CitvcGVyYXRlIG9uLiAgTGluZXMgcGFydGlhbGx5IGNvbnRhaW5lZCBpbiB0aGlzIHJlZ2lvbiBh cmUga2lsbGVkDQoraWYgYW5kIG9ubHkgaWYgdGhleSBjb250YWluIGEgbWF0Y2ggZW50aXJlbHkg Y29udGFpbmVkIGluIGl0Lg0KKw0KK0ludGVyYWN0aXZlbHksIGluIFRyYW5zaWVudCBNYXJrIG1v ZGUgd2hlbiB0aGUgbWFyayBpcyBhY3RpdmUsDQorb3BlcmF0ZSBvbiB0aGUgY29udGVudHMgb2Yg dGhlIHJlZ2lvbi4gIE90aGVyd2lzZSwgb3BlcmF0ZSBmcm9tDQorcG9pbnQgdG8gdGhlIGVuZCBv ZiAodGhlIGFjY2Vzc2libGUgcG9ydGlvbiBvZikgdGhlIGJ1ZmZlci4gIFdoZW4NCitjYWxsaW5n IHRoaXMgZnVuY3Rpb24gZnJvbSBMaXNwLCB5b3UgY2FuIHByZXRlbmQgdGhhdCBpdCB3YXMNCitj YWxsZWQgaW50ZXJhY3RpdmVseSBieSBwYXNzaW5nIGEgbm9uLW5pbCBJTlRFUkFDVElWRSBhcmd1 bWVudC4NCisNCitJZiBhIG1hdGNoIGlzIHNwbGl0IGFjcm9zcyBsaW5lcywgYWxsIHRoZSBsaW5l cyBpdCBsaWVzIGluIGFyZQ0KK2tpbGxlZC4gIFRoZXkgYXJlIGtpbGxlZCBfYmVmb3JlXyBsb29r aW5nIGZvciB0aGUgbmV4dCBtYXRjaC4NCitIZW5jZSwgYSBtYXRjaCBzdGFydGluZyBvbiB0aGUg c2FtZSBsaW5lIGF0IHdoaWNoIGFub3RoZXIgbWF0Y2gNCitlbmRlZCBpcyBpZ25vcmVkLg0KKw0K K1JldHVybiB0aGUgbnVtYmVyIG9mIGtpbGxlZCBtYXRjaGluZyBsaW5lcy4gIFdoZW4gY2FsbGVk DQoraW50ZXJhY3RpdmVseSwgYWxzbyBwcmludCB0aGUgbnVtYmVyLiINCisgIChpbnRlcmFjdGl2 ZQ0KKyAgIChwcm9nbg0KKyAgICAgKGJhcmYtaWYtYnVmZmVyLXJlYWQtb25seSkNCisgICAgIChr ZWVwLWxpbmVzLXJlYWQtYXJncyAiS2lsbCBsaW5lcyBjb250YWluaW5nIG1hdGNoIGZvciByZWdl eHAiKSkpDQorICAoaWYgcnN0YXJ0DQorICAgICAgKHByb2duDQorCShnb3RvLWNoYXIgKG1pbiBy c3RhcnQgcmVuZCkpDQorCShzZXRxIHJlbmQgKGNvcHktbWFya2VyIChtYXggcnN0YXJ0IHJlbmQp KSkpDQorICAgIChpZiAoYW5kIGludGVyYWN0aXZlICh1c2UtcmVnaW9uLXApKQ0KKwkoc2V0cSBy c3RhcnQgKHJlZ2lvbi1iZWdpbm5pbmcpDQorCSAgICAgIHJlbmQgKGNvcHktbWFya2VyIChyZWdp b24tZW5kKSkpDQorICAgICAgKHNldHEgcnN0YXJ0IChwb2ludCkNCisJICAgIHJlbmQgKHBvaW50 LW1heC1tYXJrZXIpKSkNCisgICAgKGdvdG8tY2hhciByc3RhcnQpKQ0KKyAgKGxldCAoKGNvdW50 IDApDQorICAgICAgICAoY2FzZS1mb2xkLXNlYXJjaA0KKwkgKGlmIChhbmQgY2FzZS1mb2xkLXNl YXJjaCBzZWFyY2gtdXBwZXItY2FzZSkNCisJICAgICAoaXNlYXJjaC1uby11cHBlci1jYXNlLXAg cmVnZXhwIHQpDQorCSAgIGNhc2UtZm9sZC1zZWFyY2gpKSkNCisgICAgKHNhdmUtZXhjdXJzaW9u DQorICAgICAgKHdoaWxlIChhbmQgKDwgKHBvaW50KSByZW5kKQ0KKwkJICAocmUtc2VhcmNoLWZv cndhcmQgcmVnZXhwIHJlbmQgdCkpDQorICAgICAgICAodW5sZXNzICh6ZXJvcCBjb3VudCkNCisg ICAgICAgICAgKHNldHEgbGFzdC1jb21tYW5kICdraWxsLXJlZ2lvbikpDQorCShraWxsLXJlZ2lv biAoc2F2ZS1leGN1cnNpb24gKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQ0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9yd2FyZC1saW5lIDApDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwb2ludCkpDQorICAgICAgICAgICAgICAg ICAgICAgKHByb2duIChmb3J3YXJkLWxpbmUgMSkgKHBvaW50KSkpDQorICAgICAgICAoc2V0cSBj b3VudCAoMSsgY291bnQpKSkpDQorICAgIChzZXQtbWFya2VyIHJlbmQgbmlsKQ0KKyAgICAod2hl biBpbnRlcmFjdGl2ZSAobWVzc2FnZSAobmdldHRleHQgIktpbGxlZCAlZCBtYXRjaGluZyBsaW5l Ig0KKwkJCQkJICJLaWxsZWQgJWQgbWF0Y2hpbmcgbGluZXMiDQorCQkJCQkgY291bnQpDQorCQkJ ICAgICAgIGNvdW50KSkNCisgICAgY291bnQpKQ0KKw0KKyhkZWZ1biBjb3B5LWxpbmVzIChyZWdl eHAgJm9wdGlvbmFsIHJzdGFydCByZW5kIGludGVyYWN0aXZlKQ0KKyAgIkNvcHkgbGluZXMgY29u dGFpbmluZyBtYXRjaGVzIGZvciBSRUdFWFAgdG8gdGhlIGtpbGwgcmluZy4NCisNCitXaGVuIGNh bGxlZCBmcm9tIExpc3AgKGFuZCB1c3VhbGx5IHdoZW4gY2FsbGVkIGludGVyYWN0aXZlbHkgYXMN Cit3ZWxsLCBzZWUgYmVsb3cpLCBhcHBsaWVzIHRvIHRoZSBwYXJ0IG9mIHRoZSBidWZmZXIgYWZ0 ZXIgcG9pbnQuDQorVGhlIGxpbmUgcG9pbnQgaXMgaW4gaXMgY29waWVkIGlmIGFuZCBvbmx5IGlm IGl0IGNvbnRhaW5zIGEgbWF0Y2gNCitmb3IgcmVnZXhwIHN0YXJ0aW5nIGFmdGVyIHBvaW50Lg0K Kw0KK0lmIFJFR0VYUCBjb250YWlucyB1cHBlciBjYXNlIGNoYXJhY3RlcnMgKGV4Y2x1ZGluZyB0 aG9zZQ0KK3ByZWNlZGVkIGJ5IGBcXCcpIGFuZCBgc2VhcmNoLXVwcGVyLWNhc2UnIGlzIG5vbi1u aWwsIHRoZQ0KK21hdGNoaW5nIGlzIGNhc2Utc2Vuc2l0aXZlLg0KKw0KK1NlY29uZCBhbmQgdGhp cmQgYXJnIFJTVEFSVCBhbmQgUkVORCBzcGVjaWZ5IHRoZSByZWdpb24gdG8NCitvcGVyYXRlIG9u LiAgTGluZXMgcGFydGlhbGx5IGNvbnRhaW5lZCBpbiB0aGlzIHJlZ2lvbiBhcmUgY29waWVkDQor aWYgYW5kIG9ubHkgaWYgdGhleSBjb250YWluIGEgbWF0Y2ggZW50aXJlbHkgY29udGFpbmVkIGlu IGl0Lg0KKw0KK0ludGVyYWN0aXZlbHksIGluIFRyYW5zaWVudCBNYXJrIG1vZGUgd2hlbiB0aGUg bWFyayBpcyBhY3RpdmUsDQorb3BlcmF0ZSBvbiB0aGUgY29udGVudHMgb2YgdGhlIHJlZ2lvbi4g IE90aGVyd2lzZSwgb3BlcmF0ZSBmcm9tDQorcG9pbnQgdG8gdGhlIGVuZCBvZiAodGhlIGFjY2Vz c2libGUgcG9ydGlvbiBvZikgdGhlIGJ1ZmZlci4gIFdoZW4NCitjYWxsaW5nIHRoaXMgZnVuY3Rp b24gZnJvbSBMaXNwLCB5b3UgY2FuIHByZXRlbmQgdGhhdCBpdCB3YXMNCitjYWxsZWQgaW50ZXJh Y3RpdmVseSBieSBwYXNzaW5nIGEgbm9uLW5pbCBJTlRFUkFDVElWRSBhcmd1bWVudC4NCisNCitJ ZiBhIG1hdGNoIGlzIHNwbGl0IGFjcm9zcyBsaW5lcywgYWxsIHRoZSBsaW5lcyBpdCBsaWVzIGlu IGFyZQ0KK2NvcGllZC4NCisNCitSZXR1cm4gdGhlIG51bWJlciBvZiBjb3BpZWQgbWF0Y2hpbmcg bGluZXMuICBXaGVuIGNhbGxlZA0KK2ludGVyYWN0aXZlbHksIGFsc28gcHJpbnQgdGhlIG51bWJl ci4iDQorICAoaW50ZXJhY3RpdmUNCisgICAocHJvZ24NCisgICAgIChiYXJmLWlmLWJ1ZmZlci1y ZWFkLW9ubHkpDQorICAgICAoa2VlcC1saW5lcy1yZWFkLWFyZ3MgIkNvcHkgbGluZXMgY29udGFp bmluZyBtYXRjaCBmb3IgcmVnZXhwIikpKQ0KKyAgKGlmIHJzdGFydA0KKyAgICAgIChwcm9nbg0K KwkoZ290by1jaGFyIChtaW4gcnN0YXJ0IHJlbmQpKQ0KKwkoc2V0cSByZW5kIChjb3B5LW1hcmtl ciAobWF4IHJzdGFydCByZW5kKSkpKQ0KKyAgICAoaWYgKGFuZCBpbnRlcmFjdGl2ZSAodXNlLXJl Z2lvbi1wKSkNCisJKHNldHEgcnN0YXJ0IChyZWdpb24tYmVnaW5uaW5nKQ0KKwkgICAgICByZW5k IChjb3B5LW1hcmtlciAocmVnaW9uLWVuZCkpKQ0KKyAgICAgIChzZXRxIHJzdGFydCAocG9pbnQp DQorCSAgICByZW5kIChwb2ludC1tYXgtbWFya2VyKSkpDQorICAgIChnb3RvLWNoYXIgcnN0YXJ0 KSkNCisgIChsZXQgKChjb3VudCAwKQ0KKyAgICAgICAgKGNhc2UtZm9sZC1zZWFyY2gNCisJIChp ZiAoYW5kIGNhc2UtZm9sZC1zZWFyY2ggc2VhcmNoLXVwcGVyLWNhc2UpDQorCSAgICAgKGlzZWFy Y2gtbm8tdXBwZXItY2FzZS1wIHJlZ2V4cCB0KQ0KKwkgICBjYXNlLWZvbGQtc2VhcmNoKSkpDQor ICAgIChzYXZlLWV4Y3Vyc2lvbg0KKyAgICAgICh3aGlsZSAoYW5kICg8IChwb2ludCkgcmVuZCkN CisJCSAgKHJlLXNlYXJjaC1mb3J3YXJkIHJlZ2V4cCByZW5kIHQpKQ0KKwkodW5sZXNzICh6ZXJv cCBjb3VudCkNCisgICAgICAgICAgKHNldHEgbGFzdC1jb21tYW5kICdraWxsLXJlZ2lvbikpDQor CShjb3B5LXJlZ2lvbi1hcy1raWxsIChzYXZlLWV4Y3Vyc2lvbiAoZ290by1jaGFyIChtYXRjaC1i ZWdpbm5pbmcgMCkpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGZvcndhcmQtbGluZSAwKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChwb2ludCkpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJvZ24g KGZvcndhcmQtbGluZSAxKSAocG9pbnQpKSkNCisgICAgICAgIChzZXRxIGNvdW50ICgxKyBjb3Vu dCkpKSkNCisgICAgKHNldC1tYXJrZXIgcmVuZCBuaWwpDQorICAgICh3aGVuIGludGVyYWN0aXZl IChtZXNzYWdlIChuZ2V0dGV4dCAiQ29waWVkICVkIG1hdGNoaW5nIGxpbmUiDQorCQkJCQkgIkNv cGllZCAlZCBtYXRjaGluZyBsaW5lcyINCisJCQkJCSBjb3VudCkNCisJCQkgICAgICAgY291bnQp KQ0KKyAgICBjb3VudCkpDQorDQogKGRlZnVuIGhvdy1tYW55IChyZWdleHAgJm9wdGlvbmFsIHJz dGFydCByZW5kIGludGVyYWN0aXZlKQ0KICAgIlByaW50IGFuZCByZXR1cm4gbnVtYmVyIG9mIG1h dGNoZXMgZm9yIFJFR0VYUCBmb2xsb3dpbmcgcG9pbnQuDQogV2hlbiBjYWxsZWQgZnJvbSBMaXNw IGFuZCBJTlRFUkFDVElWRSBpcyBvbWl0dGVkIG9yIG5pbCwganVzdCByZXR1cm4NCi0tIA0KMi4y NS4xDQoNCg0K --b1_XEbzDBaTCC1kxoaxySgRt7ItdOmfew0Y8GNzARI6Oo--