From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: A Soare Newsgroups: gmane.emacs.devel Subject: Re: An automaton for indenting the lisp code in linear time Date: Tue, 1 Jul 2008 02:49:29 +0200 (CEST) Message-ID: <27153496.3851311214873369561.JavaMail.www@wwinf4619> Reply-To: alinsoar@voila.fr NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_23153_9977905.1214873369561" X-Trace: ger.gmane.org 1214873388 25685 80.91.229.12 (1 Jul 2008 00:49:48 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 1 Jul 2008 00:49:48 +0000 (UTC) To: "Emacs Dev [emacs-devel]" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jul 01 02:50:33 2008 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1KDU4k-00084n-KA for ged-emacs-devel@m.gmane.org; Tue, 01 Jul 2008 02:50:31 +0200 Original-Received: from localhost ([127.0.0.1]:41866 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KDU3u-0004UT-6n for ged-emacs-devel@m.gmane.org; Mon, 30 Jun 2008 20:49:38 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KDU3o-0004UA-T1 for emacs-devel@gnu.org; Mon, 30 Jun 2008 20:49:32 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KDU3o-0004Tj-9q for emacs-devel@gnu.org; Mon, 30 Jun 2008 20:49:32 -0400 Original-Received: from [199.232.76.173] (port=49713 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KDU3o-0004Te-4Z for emacs-devel@gnu.org; Mon, 30 Jun 2008 20:49:32 -0400 Original-Received: from smtp2.voila.fr ([193.252.22.175]:8456 helo=smtp1.voila.fr) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KDU3n-0002Br-Cy for emacs-devel@gnu.org; Mon, 30 Jun 2008 20:49:31 -0400 Original-Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf4101.voila.fr (SMTP Server) with ESMTP id 9C60D1C0031D for ; Tue, 1 Jul 2008 02:49:29 +0200 (CEST) Original-Received: from wwinf4619 (wwinf4619 [10.232.13.63]) by mwinf4101.voila.fr (SMTP Server) with ESMTP id 8A86A1C002E8 for ; Tue, 1 Jul 2008 02:49:29 +0200 (CEST) X-ME-UUID: 20080701004929567.8A86A1C002E8@mwinf4101.voila.fr X-Originating-IP: [93.112.90.5] X-Wum-Nature: EMAIL-NATURE X-WUM-FROM: |~| X-WUM-TO: |~| X-WUM-REPLYTO: |~| X-me-spamlevel: not-spam X-me-spamrating: 40.000000 X-me-spamcause: OK, (-100)(0000)secvtfgvtghiphhivghnthhsucdlqddutddtmd X-detected-kernel: by monty-python.gnu.org: Linux 2.4-2.6 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:100248 Archived-At: ------=_Part_23153_9977905.1214873369561 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable What do you think about the code? Do I have any chance that the code be use= d? In this case, what functions should I write? (indent-region, etc)... I modified it a little and I send a new version. A Soare. ____________________________________________________ Sur le mail Voila, vous pouvez personnaliser l=E2=80=99anti-spam ! http://m= ail.voila.fr ------=_Part_23153_9977905.1214873369561 Content-Type: application/octet-stream; name=indent.el content-transfer-encoding: base64 Content-Disposition: attachment; filename=indent.el CihkZWZ1biBsaXNwLWluZGVudC12YWx1ZSAoKQogICIKICBWRVJTSU9OIDogTkVXCiAgIgogIChj b25kICgoZWx0IHN0YXRlIDMpCiAgICAgICAgIDs7IEluc2lkZSBhIHN0cmluZywgZG9uJ3QgY2hh bmdlIGluZGVudGF0aW9uLgogICAgICAgICBuaWwKICAgICAgICAgKQogICAgICAgICgobnVsbCAo Y2FkciBzdGF0ZSkpCiAgICAgICAgIDs7IG91dHNpZGUgYW4gZXhwcmVzc2lvbiBhbGlnbiB0byB0 aGUgbGVmdCBjb2x1bW4KICAgICAgICAgMAogICAgICAgICApCiAgICAgICAgKChudWxsIGluZGVu dCkKICAgICAgICAgOzsgYW4gZW1wdHkgcGFyZXRoZXNpcwogICAgICAgICAoMSsgc3RhcnQtY29s KSkKICAgICAgICAoKGFuZCAoaW50ZWdlcnAgbGlzcC1pbmRlbnQtb2Zmc2V0KQogICAgICAgICAg ICAgIChpbnRlZ2VycCAoY2FkciBpbmRlbnQpKSkKICAgICAgICAgOzsgaW5kZW50IGJ5IGNvbnN0 YW50IG9mZnNldAogICAgICAgICAoKyAoY2FkciBpbmRlbnQpIGxpc3AtaW5kZW50LW9mZnNldCkK ICAgICAgICAgKQogICAgICAgICgobG9va2luZy1hdCAiXFxzPFxcczxcXHM8IikKICAgICAgICAg OzsgQ29tbWVudHMgdGhhdCBzdGFydCB3aXRoIHRocmVlIHNlbWljb2xvbnMgb3IgbW9yZSwgc2hv dWxkCiAgICAgICAgIDs7IHN0YXJ0IGF0IHRoZSBsZWZ0IG1hcmdpbgogICAgICAgICAwCiAgICAg ICAgICkKICAgICAgICAoKGVxIChjYXIgaW5kZW50KSA6bCkKICAgICAgICAgOzsgaW5kZW50IGJl bmVhdGggYSBsaXN0CiAgICAgICAgIChjYWRkciBpbmRlbnQpCiAgICAgICAgICkKICAgICAgICAg KChhbmQgKGVxIChjYXIgaW5kZW50KSA6dykKICAgICAgICAgICAgICAoc3RyaW5ncCAoY2FkciBp bmRlbnQpKQogICAgICAgICAgICAgICg+PSAobGVuZ3RoIChjYWRyIGluZGVudCkpIDMpCiAgICAg ICAgICAgICAgKHN0cmluZy1lcXVhbCAiZGVmIiAoc3Vic3RyaW5nIChjYWRyIGluZGVudCkgMCAz KSkpCiAgICAgICAgIDs7IGluZGVudCBhIGRlZi1mb3JtCiAgICAgICAgICgrIGxpc3AtYm9keS1p bmRlbnQgc3RhcnQtY29sKQogICAgICAgICApCiAgICAgICAgKChhbmQgKGVxIChjYXIgaW5kZW50 KSA6dykKICAgICAgICAgICAgICAod2hvbGVudW1wIChnZXQgKGludGVybi1zb2Z0IChjYWRyIGlu ZGVudCkpICdsaXNwLWluZGVudC1mdW5jdGlvbikpKQogICAgICAgICA7OyBoZXJlIHRoZXJlIGlz IGEgc3BlY2lhbCBmb3JtCiAgICAgICAgIChzZXRxIG9vIChvciAoZ2V0IChpbnRlcm4tc29mdCAo Y2FkciBpbmRlbnQpKSAnbGlzcC1pbmRlbnQtZnVuY3Rpb24pCiAgICAgICAgICAgICAgICAgICAg ICAoZ2V0IChpbnRlcm4tc29mdCAoY2FkciBpbmRlbnQpKSAnbGlzcC1pbmRlbnQtaG9vaykpKQog ICAgICAgICAoaWYgKD4gKGxlbmd0aCBpbmRlbnQpICgqIDMgb28pKQogICAgICAgICAgICAgKCsg bGlzcC1ib2R5LWluZGVudCBzdGFydC1jb2wpCiAgICAgICAgICAgKCsgKCogMiBsaXNwLWJvZHkt aW5kZW50KSBzdGFydC1jb2wpKQogICAgICAgICApCiAgICAgICAgKChhbmQgKGVxIChjYXIgaW5k ZW50KSA6dykKICAgICAgICAgICAgICAoZ2V0IChpbnRlcm4tc29mdCAoY2FkciBpbmRlbnQpKSAn bGlzcC1pbmRlbnQtaG9vaykKICAgICAgICAgICAgICBuaWwpCiAgICAgICAgIDs7IGluZGVudCBk ZWZpbmVkIGJ5IGFub3RoZXIgZnVuY3Rpb24KICAgICAgICAgOzsgbm90IGRlZmluZWQgeWV0CiAg ICAgICAgIChmdW5jYWxsIChnZXQgKGludGVybi1zb2Z0IChjYWRyIGluZGVudCkpICdsaXNwLWlu ZGVudC1ob29rKSkKICAgICAgICAgKQogICAgICAgICgoYW5kIChlcXVhbCAoZm9sbG93aW5nLWNo YXIpID86KQogICAgICAgICAgICAgIG5pbCkKICAgICAgICAgOzsgaW5kZW50IG9mIGEgY29uc3Rh bnQgc3ltYm9sCiAgICAgICAgIDs7IG5vdCB5ZWQgZGVmaW5lZAogICAgICAgICAoY2FkZHIgaW5k ZW50KQogICAgICAgICApCiAgICAgICAgKChhbmQgKGVxIChjYXIgaW5kZW50KSA6dykKICAgICAg ICAgICAgICAoPiAobGVuZ3RoIGluZGVudCkgMykpCiAgICAgICAgIDs7IGluZGVudCBiZW5lYXRo IHRoZSBgaW5kZW50LXdoYXQtYXJndW1lbnQnIHBhcmFtZXRlcgogICAgICAgICAoZWx0IGluZGVu dCAoKyAzICgxLSAoKiAzIGluZGVudC13aGF0LWFyZ3VtZW50KSkpKQogICAgICAgICApCiAgICAg ICAgKHQKICAgICAgICAgOzsgIHRoZSBmaXJzdCBwYXJhbWV0ZXIgb2YgYSBmdW5jdGlvbiBjYWxs CiAgICAgICAgIChjYWRkciBpbmRlbnQpKQogICAgICAgICApKQoKKGRlZnVuIGxpc3AtaW5kZW50 LXdoYXQtYXJndW1lbnQgbmlsCiAgKGNvbmQgKChhbmQgKGVxIChjYXIgaW5kZW50KSA6dykKICAg ICAgICAgICAgICAoc3RyaW5ncCAoY2FkciBpbmRlbnQpKQogICAgICAgICAgICAgICg+PSAobGVu Z3RoIChjYWRyIGluZGVudCkpIDMpCiAgICAgICAgICAgICAgKHN0cmluZy1lcXVhbCAiZGVmIiAo c3Vic3RyaW5nIChjYWRyIGluZGVudCkgMCAzKSkKICAgICAgICAgICAgICAoPSAobGVuZ3RoIGlu ZGVudCkgOSkpCiAgICAgICAgIDs7IGlmIHRoZSBzZWNvbmQgcGFyYW1ldGVyIG9mIGRlZnVuIGlz IGEgbGlzdCwgdGhlbiB0aGlzIGxpc3QKICAgICAgICAgOzsgaXMgbm90IGEgZnVuY3Rpb24gY2Fs bAogICAgICAgICAwKQogICAgICAgICgob3IKICAgICAgICAgIChhbmQgKD49IChsZW5ndGggaW5k ZW50KSA2KQogICAgICAgICAgICAgICAoZXEgKGVsdCBpbmRlbnQgKC0gKGxlbmd0aCBpbmRlbnQg KSA2KSkgOnEpKQogICAgICAgICAgKGFuZCAoZXEgKGNhciBpbmRlbnQpIDp3KQogICAgICAgICAg ICAgICAoc3RyaW5ncCAoY2FkciBpbmRlbnQpKQogICAgICAgICAgICAgICAoc3RyaW5nLWVxdWFs ICJxdW90ZSIgKGNhZHIgaW5kZW50KSkpKQogICAgICAgICA7OyBhIHF1b3RlZCBsaXN0IGlzIG5v dCBhIGZ1bmN0aW9uIGNhbGwKICAgICAgICAgMAogICAgICAgICApCiAgICAgICAgKHQKICAgICAg ICAgOzsgZm9yIHRoZSByZXN0LCBhbHdheXMgaW5kZW50IGJlbmVhdGggdGhlIGZpcnN0IHBhcmFt ZXRlciBvZgogICAgICAgICA7OyB0aGUgZnVuY3Rpb24uLi4KICAgICAgICAgMSkpKQoKKGRlZnVu IGxpc3AtaW5kZW50LW5leHQtc3RhdGUgKCZvcHRpb25hbCBuKQogIChwYXJzZS1wYXJ0aWFsLXNl eHAgKHBvaW50KSAoKyAob3IgbiAxKSAocG9pbnQpKSAoKSAoKSBzdGF0ZSkpCgooZGVmdW4gbGlz cC1pbmRlbnQtYXV0b21hdG9uICgmb3B0aW9uYWwgZW5kIHN0YXRlIGluZGVudC13aGF0LWFyZ3Vt ZW50IHN0YXJ0LWNvbCkKICAiCiAgIGFuIGF1dG9tYXRvbiB0byBpbmRlbnQgdGhlIGxpc3AgY29k ZQogICBWRVJTSU9OOiBORVcKICAiCiAgKGxldCAoCiAgICAgICAgaW5kZW50CiAgICAgICAgaW5k ZW50LW5leHQtbGluZS10bwogICAgICAgICkKICAgIChvciBlbmQgKGJlZ2lubmluZy1vZi1saW5l KSAoc2V0cSBlbmQgKHBvaW50KSkpCiAgICAob3IgaW5kZW50LXdoYXQtYXJndW1lbnQKICAgICAg ICAoc2V0cSBpbmRlbnQtd2hhdC1hcmd1bWVudCAwKSkKICAgIChvciBzdGF0ZSAoYmVnaW5uaW5n LW9mLWRlZnVuKSkKICAgIChhbmQgKG51bGwgc3RhcnQtY29sKSAoc2V0cSBzdGFydC1jb2wgMCkp CiAgICAoY2F0Y2ggJ1NUT1AKICAgICAgKHdoaWxlICg8IChwb2ludCkgZW5kKQogICAgICAgIChj b25kICgoYW5kIChlbHQgc3RhdGUgOCkKICAgICAgICAgICAgICAgICAgICAobm90IChlbHQgc3Rh dGUgNCkpKQogICAgICAgICAgICAgICA7OyBpbnNpZGUgYSBzdHJpbmcKICAgICAgICAgICAgICAg KGFuZCAobG9va2luZy1hdCAiXFxzPiIpCiAgICAgICAgICAgICAgICAgICAgKHNldHEgaW5kZW50 LWxpbmVzIChjb25zIChsaXNwLWluZGVudC12YWx1ZSkgaW5kZW50LWxpbmVzKSkpCiAgICAgICAg ICAgICAgIChzZXRxIHN0YXRlIChsaXNwLWluZGVudC1uZXh0LXN0YXRlKSkKICAgICAgICAgICAg ICAgKQogICAgICAgICAgICAgICgobG9va2luZy1hdCAiXFxzXCIiKQogICAgICAgICAgICAgICA7 OyB0aGUgc3RhcnQgb2YgYSBzdHJpbmcKICAgICAgICAgICAgICAgKHNldHEgaW5kZW50IChhcHBl bmQgaW5kZW50IChsaXN0IDpzICgpIChjdXJyZW50LWNvbHVtbikpKQogICAgICAgICAgICAgICAg ICAgICBzdGF0ZSAobGlzcC1pbmRlbnQtbmV4dC1zdGF0ZSkpCiAgICAgICAgICAgICAgICkKICAg ICAgICAgICAgICAoKGxvb2tpbmctYXQgIlxcc1woIikKICAgICAgICAgICAgICAgOzsgb3BlbiBh IHBhcmVudGhlc2lzCiAgICAgICAgICAgICAgIChsZXQgKChjb2wgKGlmIGluZGVudC1saW5lcwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKyAoY3VycmVudC1jb2x1bW4pICgtIChjYWFy IGluZGVudC1saW5lcykgKGNkYXIgaW5kZW50LWxpbmVzKSkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoY3VycmVudC1jb2x1bW4pKSkpCiAgICAgICAgICAgICAgICAgKHNldHEgaW5kZW50 IChhcHBlbmQgaW5kZW50IChsaXN0IDpsICgpIGNvbCkpCiAgICAgICAgICAgICAgICAgICAgICAg c3RhdGUgKGxpc3AtaW5kZW50LWF1dG9tYXRvbiBlbmQgKGxpc3AtaW5kZW50LW5leHQtc3RhdGUp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlz cC1pbmRlbnQtd2hhdC1hcmd1bWVudCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbCkpKQogICAgICAgICAgICAgICApCiAgICAgICAgICAgICAg KChsb29raW5nLWF0ICJcXHNcKSIpCiAgICAgICAgICAgICAgIDs7IGNsb3NlIGEgcGFyZW50aGVz aXMKICAgICAgICAgICAgICAgKHRocm93ICdTVE9QIChsaXNwLWluZGVudC1uZXh0LXN0YXRlKSkK ICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICgobG9va2luZy1hdCAiXFxzICIpCiAgICAg ICAgICAgICAgIDs7IHNwYWNlcyBhcmUgaWdub3JlZAogICAgICAgICAgICAgICAod2hpbGUgKGxv b2tpbmctYXQgIltbOmJsYW5rOl1dIikKICAgICAgICAgICAgICAgICAoc2V0cSBzdGF0ZSAobGlz cC1pbmRlbnQtbmV4dC1zdGF0ZSkpKQogICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgKChs b29raW5nLWF0ICJcXHN3XFx8XFxzXyIpCiAgICAgICAgICAgICAgIDs7IGEgZnVuY3Rpb24gb3Ig YSBwYXJhbWV0ZXIKICAgICAgICAgICAgICAgKGxldCogKChjb2wgKGlmIGluZGVudC1saW5lcwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKyAoY3VycmVudC1jb2x1bW4pICgtIChjYWFy IGluZGVudC1saW5lcykgKGNkYXIgaW5kZW50LWxpbmVzKSkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoY3VycmVudC1jb2x1bW4pKSkKICAgICAgICAgICAgICAgICAgICAgIHIKICAgICAg ICAgICAgICAgICAgICAgICh3IChjYXRjaCAnV09SRAogICAgICAgICAgICAgICAgICAgICAgICAg ICAod2hpbGUgdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZXRxIHIgKGNvbmNhdCBy IChzdHJpbmcgKGZvbGxvd2luZy1jaGFyKSkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg IChzZXRxIHN0YXRlIChsaXNwLWluZGVudC1uZXh0LXN0YXRlKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoYW5kIChub3QgKGxvb2tpbmctYXQgIlxcd1xcfFxcc18iKSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICh0aHJvdyAnV09SRCByKSkpKSkpCiAgICAgICAgICAg ICAgICAgKHNldHEgaW5kZW50IChhcHBlbmQgaW5kZW50IChsaXN0IDp3IHcgY29sKSkpKQogICAg ICAgICAgICAgICApCiAgICAgICAgICAgICAgKChsb29raW5nLWF0ICJcXHM8IikKICAgICAgICAg ICAgICAgOzsgc3RhcnQgb2YgYSBjb21tZW50CiAgICAgICAgICAgICAgICh3aGlsZSAobm90IChs b29raW5nLWF0ICJcXHM+IikpCiAgICAgICAgICAgICAgICAgKHNldHEgc3RhdGUgKGxpc3AtaW5k ZW50LW5leHQtc3RhdGUpKSkKICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICgobG9va2lu Zy1hdCAiXFxzXCciKQogICAgICAgICAgICAgICA7OyBxdW90ZQogICAgICAgICAgICAgICAoc2V0 cSBpbmRlbnQgKGFwcGVuZCBpbmRlbnQgKGxpc3QgOnEgKCkgKGN1cnJlbnQtY29sdW1uKSkpKQog ICAgICAgICAgICAgICAoc2V0cSBzdGF0ZSAobGlzcC1pbmRlbnQtbmV4dC1zdGF0ZSkpCiAgICAg ICAgICAgICAgICkKICAgICAgICAgICAgICAoKGxvb2tpbmctYXQgIlxcc1xcIikKICAgICAgICAg ICAgICAgOzsgYSBzcGVjaWFsIGNoYXJhY3RlcgogICAgICAgICAgICAgICAoc2V0cSBzdGF0ZSAo bGlzcC1pbmRlbnQtbmV4dC1zdGF0ZSAyKSkKICAgICAgICAgICAgICAgKQogICAgICAgICAgICAg ICgobG9va2luZy1hdCAiXFxzPiIpCiAgICAgICAgICAgICAgIDs7IGVuZCBvZiBsaW5lCiAgICAg ICAgICAgICAgIChzZXRxIHN0YXRlIChsaXNwLWluZGVudC1uZXh0LXN0YXRlKSkKICAgICAgICAg ICAgICAgKHdoaWxlIChsb29raW5nLWF0ICJcXHMgIikKICAgICAgICAgICAgICAgICAoc2V0cSBz dGF0ZSAobGlzcC1pbmRlbnQtbmV4dC1zdGF0ZSkpKQogICAgICAgICAgICAgICAoc2V0cSBpbmRl bnQtbGluZXMgKGNvbnMgKGNvbnMgKGxpc3AtaW5kZW50LXZhbHVlKSAoY3VycmVudC1jb2x1bW4p KSBpbmRlbnQtbGluZXMpKQogICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgKHQKICAgICAg ICAgICAgICAgKGVycm9yICJvb3BzISB1bmtub3duIGNsYXNzIG9mIHN5bnRheCAhIChpbmRlbnQg ZmFpbGVkIGF0IHBvc2l0aW9uICVkKSIgKHBvaW50KSkpKSkpKSkKCihkZWZ1biBpbmRlbnQtZGVm dW4tZXhhbXBsZSBuaWwKICAiCiAgQW4gZXhhbXBsZSBob3cgdG8gdXNlIHRoZSBhdXRvbWF0b25p biBmb3IgaW5kZW50aWcgYSB3aG9sZSByZWdpb24KICBvZiBsaXNwIGNvZGUgaW4gbGluZWFyIHRp bWUgKGEgZnVuY3Rpb24gZnJvbSB0aGUgYmVnaW5uaW5nIHRvIHRoZSBwb2ludCkuCiAgIgogIChs ZXQqIChpbmRlbnQtbGluZXMKICAgICAgICAgc3RhdGUgCiAgICAgICAgIGwpCiAgICAoc2F2ZS1l eGN1cnNpb24KICAgICAgKGxpc3AtaW5kZW50LWF1dG9tYXRvbikKICAgICAgKGRvbGlzdCAoaSBp bmRlbnQtbGluZXMpCiAgICAgICAgKHdoZW4gKGNvbnNwIGkpCiAgICAgICAgICAoc2V0cSBsIChw cm9nMiAoYmVnaW5uaW5nLW9mLWxpbmUpIChwb2ludCkpKQogICAgICAgICAgKHNraXAtY2hhcnMt Zm9yd2FyZCAiW1s6Ymxhbms6XV0iKQogICAgICAgICAgKHdoZW4gKG5vdCAoemVyb3AgKC0gICgt IGwgKHBvaW50KSkgKC0gKGNkciBpKSAoY2FyIGkpKSkpKQogICAgICAgICAgICAoZGVsZXRlLXJl Z2lvbiBsIChwb2ludCkpCiAgICAgICAgICAgIChpbmRlbnQtdG8gKGNhciBpKSkpKQogICAgICAg IChwcmV2aW91cy1saW5lKSkpKSkKCihkZWZ1biBpbmRlbnQtbGluZS1leGFtcGxlIG5pbAogICIK ICBBbiBleGFtcGxlIGhvdyB0byBpbmRlbnQgYSBsaW5lIG9mIGNvZGUgdXNpbmcgdGhlIGF1dG9t YXRvbgogICIKICAobGV0KiAoaW5kZW50LWxpbmVzCiAgICAgICAgIHN0YXRlIAogICAgICAgICBk aWYKICAgICAgICAgKHBvcyAocG9pbnQtbWFya2VyKSkKICAgICAgICAgKGwgKHByb2cyIChiZWdp bm5pbmctb2YtbGluZSkgKHBvaW50KSkpKQogICAgKHNhdmUtZXhjdXJzaW9uIChsaXNwLWluZGVu dC1hdXRvbWF0b24pKQogICAgKGlmIChub3QgKGNvbnNwIChjYXIgaW5kZW50LWxpbmVzKSkpCiAg ICAgICAgbmlsCiAgICAgIChzZXRxIGRpZgogICAgICAgICAgICAoY2F0Y2ggJ0RJRgogICAgICAg ICAgICAgIChkb2xpc3QgKGkgKGNkciBpbmRlbnQtbGluZXMpKQogICAgICAgICAgICAgICAgKGFu ZCAoY29uc3AgaSkKICAgICAgICAgICAgICAgICAgICAgKHRocm93ICdESUYgKC0gKGNkciBpKSAo Y2FyIGkpKSkpKSkpCiAgICAgIChza2lwLWNoYXJzLWZvcndhcmQgIltbOmJsYW5rOl1dIikKICAg ICAgKHdoZW4gKG5vdCAoemVyb3AgKC0gKCsgKGNhYXIgaW5kZW50LWxpbmVzKSBkaWYpICgtIChw b2ludCkgbCkpKSkKICAgICAgICAoZGVsZXRlLXJlZ2lvbiBsIChwb2ludCkpCiAgICAgICAgKGlu ZGVudC10byAoKyAoY2FhciBpbmRlbnQtbGluZXMpIGRpZikpCiAgICAgICAgKGdvdG8tY2hhciAo bWF4IHBvcyAocG9pbnQpKSkpKSkpCgoKCg== ------=_Part_23153_9977905.1214873369561--