From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/49494 Path: news.gmane.org!not-for-mail From: Drazen Baic Newsgroups: gmane.comp.tex.context Subject: Files for verbatim output of Python source, zc.buildout and Apache config files Date: Thu, 16 Apr 2009 22:35:32 +0200 Message-ID: <6607a2f30904161335r62c2942eh640f3fba761eb9c1@mail.gmail.com> Reply-To: mailing list for ConTeXt users NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001485f7d7fe6fbb8a0467b20184 X-Trace: ger.gmane.org 1239914201 16114 80.91.229.12 (16 Apr 2009 20:36:41 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 16 Apr 2009 20:36:41 +0000 (UTC) To: ntg-context@ntg.nl Original-X-From: ntg-context-bounces@ntg.nl Thu Apr 16 22:38:00 2009 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane.org Original-Received: from ronja.vet.uu.nl ([131.211.172.88] helo=ronja.ntg.nl) by lo.gmane.org with esmtp (Exim 4.50) id 1LuYLJ-0003v2-Jw for gctc-ntg-context-518@m.gmane.org; Thu, 16 Apr 2009 22:37:53 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id EEF091FBB8; Thu, 16 Apr 2009 22:36:25 +0200 (CEST) Original-Received: from ronja.ntg.nl ([127.0.0.1]) by localhost (smtp.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 05018-01-2; Thu, 16 Apr 2009 22:35:48 +0200 (CEST) Original-Received: from ronja.vet.uu.nl (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 35E0C1FB1D; Thu, 16 Apr 2009 22:35:48 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by ronja.ntg.nl (Postfix) with ESMTP id 578021FADC for ; Thu, 16 Apr 2009 22:35:45 +0200 (CEST) Original-Received: from ronja.ntg.nl ([127.0.0.1]) by localhost (smtp.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 06061-01-2 for ; Thu, 16 Apr 2009 22:35:34 +0200 (CEST) Original-Received: from filter3-til.mf.surf.net (filter3-til.mf.surf.net [194.171.167.219]) by ronja.ntg.nl (Postfix) with ESMTP id AB7F81FB7F for ; Thu, 16 Apr 2009 22:35:34 +0200 (CEST) Original-Received: from mail-fx0-f176.google.com (mail-fx0-f176.google.com [209.85.220.176]) by filter3-til.mf.surf.net (8.13.8/8.13.8/Debian-3) with ESMTP id n3GKZXC8026123 for ; Thu, 16 Apr 2009 22:35:33 +0200 Original-Received: by fxm24 with SMTP id 24so662329fxm.2 for ; Thu, 16 Apr 2009 13:35:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type; bh=9BzF/aOr6VtIIzHht/3BykNg0yafxjUrz6O1XAv5BY4=; b=CVv7IIUo3xizqUfwronKd0EsHQ2wmxhtskBRX+eTwxCRALS5B1HnssEl4D0Q9xhHpa Bs9t5mp4KHfeguWCtfRt9xyAdmzS3TtWB0XCbqZ4gObE2dF6/1xswhX1DiJRh5tGFuyH jyMAqQfqOZhH2fkX0nN1N6Fv4zm972XejfjSE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=DKyeBpAP0va51RhtLhQUi+4vipkb6X3hCQckRdTHi9aPDHUVNVFVj/pfDUzVrOm4p4 YBGUYaCE+h5gfrWRXf5VX/50GbD78ujT/ZBO/ASMyHANWyMNO8gTyr/UtM0c310i2+SO YUJBz7yizA5GwOnbqajroVgtjcaxsEwGK066Q= Original-Received: by 10.239.156.205 with SMTP id n13mr62409hbc.154.1239914132781; Thu, 16 Apr 2009 13:35:32 -0700 (PDT) X-Bayes-Prob: 0.0001 (Score 0, tokens from: @@RPTN) X-CanIt-Geo: ip=209.85.220.176; country=US; region=CA; city=Mountain View; postalcode=94043; latitude=37.4192; longitude=-122.0574; metrocode=807; areacode=650; http://maps.google.com/maps?q=37.4192,-122.0574&z=6 X-CanItPRO-Stream: uu:ntg-context@ntg.nl (inherits from uu:default, base:default) X-Canit-Stats-ID: 209784606 - ef0d65d21804 - 20090416 X-Scanned-By: CanIt (www . roaringpenguin . com) on 194.171.167.219 X-Virus-Scanned: amavisd-new at ntg.nl X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.11 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: ntg-context-bounces@ntg.nl Errors-To: ntg-context-bounces@ntg.nl X-Virus-Scanned: amavisd-new at ntg.nl Xref: news.gmane.org gmane.comp.tex.context:49494 Archived-At: --001485f7d7fe6fbb8a0467b20184 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hello, I'm using MKIV and needed syntax highlighting for a few source and config files. I read on the Wiki and on this list that it should be pretty easy to do this in Lua and although I never wrote anything in Lua I just tried it. Maybe the result will be of use for somebody so I'm posting them to this list. I read on the Wiki that the best place for putting custom formatter files would be the context distribution or http://modules.contextgarden.net but as I'm pretty sure that some stuff is missing and I'm sure there are some bugs included I'm just posting them here. Would it be OK to put the files in a section on the Wiki to start something like a repository for verb-*.lua files where it would be easy to extend and correct them? I have created verb-*.lua files for pretty printing Python source code Apache http.conf and zc.buildout config files. For the zc.buildout files I used a simple solution and just defined the keywords that appear in a standard Plone buildout.cfg file. I hope to finish two additional verbatim files for XML and Shell scripts in the next days. As I don't have any experience in writing Lua code I chose to use the tex/context/base/verb-*.lua and the verb-cpp.lua files posted by Shen Chen in http://archive.contextgarden.net/message/20081002.173802.460c46fe.en.html) for a start. Additionally I used the vim syntax files and the official Apache documentation. Here is an overview of what is covered: The verb-apa.lua file distinguishes between the following five states: - declarations - strings - sections (like and ) - comments - options The verb-py.lua file distinguishes between the following five states: - all statements, repeats, conditionals and operators - strings (multi line comment wit ''' or """ are supported) - preconditions (import, from, as) - comments - builtins The verb-py.cfg file distinguishes between the following four states: - sections - variables - keywords - comments I've attached a minimal test file to show how they work. Just put everything in one directory and execute texexec --lua test.tex Regards, Drazen --001485f7d7fe6fbb8a0467b20184 Content-Type: application/x-tex; name="test.tex" Content-Disposition: attachment; filename="test.tex" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ftlwni4b0 XHNldHVwY29sb3JzW3N0YXRlPXN0YXJ0XQpcZGVmaW5lY29sb3JbY29sb3JwcmV0dHlvbmVdICBb cj0uOSwgZz0uMCwgYj0uMF0gJSByZWQKXGRlZmluZWNvbG9yW2NvbG9ycHJldHR5dHdvXSAgW3I9 LjAsIGc9LjgsIGI9LjBdICUgZ3JlZW4KXGRlZmluZWNvbG9yW2NvbG9ycHJldHR5dGhyZWVdW3I9 LjAsIGc9LjAsIGI9LjldICUgYmx1ZQpcZGVmaW5lY29sb3JbY29sb3JwcmV0dHlmb3VyXSBbcz0w LjYwXSAgICAgICAgICAgJSBncmF5ClxkZWZpbmVjb2xvcltjb2xvcnByZXR0eWZpdmVdIFtvcmFu Z2VdClxkZWZpbmVwYWxldFtjb2xvcnByZXR0eV1bcHJldHR5b25lPWNvbG9ycHJldHR5b25lLCBw cmV0dHl0d289Y29sb3JwcmV0dHl0d28sIHByZXR0eXRocmVlPWNvbG9ycHJldHR5dGhyZWUsIHBy ZXR0eWZvdXI9Y29sb3JwcmV0dHlmb3VyLCBwcmV0dHlmaXZlPWNvbG9ycHJldHR5Zml2ZV0KJSBB cGFjaGUgaHR0cGQuY29uZiBsaXN0aW5ncwpcaW5zdGFsbHByZXR0eXR5cGVbQVBBXVtBUEFdClxk ZWZpbmV0eXBpbmcgICAgIFtBUEFdICAgICAgICAgICBbb3B0aW9uPUFQQV0KXGRlZmluZXBhbGV0 ICAgICAgW0FQQWNvbG9ycHJldHR5XVtjb2xvcnByZXR0eV0KXHNldHVwdHlwaW5nICAgICAgW0FQ QV0gICAgICAgICAgIFtib2R5Zm9udD0xMHB0XQolIFB5dGhvbiBsaXN0aW5ncwpcaW5zdGFsbHBy ZXR0eXR5cGVbUFldW1BZXQpcZGVmaW5ldHlwaW5nICAgICBbUFldICAgICAgICAgICAgW29wdGlv bj1QWV0KXGRlZmluZXBhbGV0ICAgICAgW1BZY29sb3JwcmV0dHldIFtjb2xvcnByZXR0eV0KXHNl dHVwdHlwaW5nICAgICAgW1BZXSAgICAgICAgICAgIFtib2R5Zm9udD0xMHB0XQolIGJ1aWxkb3V0 LmNmZyBsaXN0aW5ncwpcaW5zdGFsbHByZXR0eXR5cGVbQ0ZHXVtDRkddClxkZWZpbmV0eXBpbmcg ICAgIFtDRkddICAgICAgICAgICBbb3B0aW9uPUNGR10KXGRlZmluZXBhbGV0ICAgICAgW0NGR2Nv bG9ycHJldHR5XVtjb2xvcnByZXR0eV0KXHNldHVwdHlwaW5nICAgICAgW0NGR10gICAgICAgICAg IFtib2R5Zm9udD0xMHB0XQoKXHN0YXJ0dGV4dApcc2VjdGlvbntodHRwZC5jb25mIHNhbXBsZX0K XHN0YXJ0QVBBCjxWaXJ0dWFsSG9zdCAqPgogICAgU2VydmVyTmFtZSB3d3cuZXhhbXBsZS5jb20K ICAgIEVycm9yTG9nIC92YXIvbG9nL2FwYWNoZTIvZXJyb3IubG9nCiAgICBMb2dMZXZlbCBlcnJv cgogICAgQ3VzdG9tTG9nIC92YXIvbG9nL2FwYWNoZTIvYWNjZXNzLmxvZyBjb21iaW5lZGlvCgog ICAgUmV3cml0ZUVuZ2luZSBPbgogICAgUmV3cml0ZUxvZyAvdmFyL2xvZy9hcGFjaGUyL3Jld3Jp dGUubG9nCgogICAgIyBhbGxvdyBhY2Nlc3MgdG8gWk1JIG9ubHkgZnJvbSBsb2NhbCBuZXR3b3Jr CiAgICA8TG9jYXRpb25NYXRjaCAvbWFuYWdlPgogICAgICAgIE9yZGVyIERlbnksQWxsb3cKICAg ICAgICBEZW55IGZyb20gYWxsCiAgICAgICAgQWxsb3cgZnJvbSAxMC4KICAgIDwvTG9jYXRpb25N YXRjaD4KPC9WaXJ0dWFsSG9zdD4KXHN0b3BBUEEKClxzZWN0aW9ue1B5dGhvbiBzYW1wbGV9Clxz dGFydFBZCiMgIFRha2VuIGZyb20gWm9wZS0yLjEwLjctZmluYWwtcHkyLjQvdGVzdC5weQoKaW1w b3J0IG9zLnBhdGgsIHN5cwoKIyBSZW1vdmUgc2NyaXB0IGRpcmVjdG9yeSBmcm9tIHBhdGg6CnNj cmlwdGRpciA9IG9zLnBhdGgucmVhbHBhdGgob3MucGF0aC5kaXJuYW1lKHN5cy5hcmd2WzBdKSkK c3lzLnBhdGhbOl0gPSBbcCBmb3IgcCBpbiBzeXMucGF0aCBpZiBvcy5wYXRoLnJlYWxwYXRoKHAp ICE9IHNjcmlwdGRpcl0KCnNob21lID0gb3MuZW52aXJvbi5nZXQoJ1NPRlRXQVJFX0hPTUUnKQp6 aG9tZSA9IG9zLmVudmlyb24uZ2V0KCdaT1BFX0hPTUUnKQppaG9tZSA9IG9zLmVudmlyb24uZ2V0 KCdJTlNUQU5DRV9IT01FJykKCmlmIHpob21lOgogICAgemhvbWUgPSBvcy5wYXRoLnJlYWxwYXRo KHpob21lKQogICAgaWYgc2hvbWU6CiAgICAgICAgc2hvbWUgPSBvcy5wYXRoLnJlYWxwYXRoKHNo b21lKQogICAgZWxzZToKICAgICAgICBzaG9tZSA9IG9zLnBhdGguam9pbih6aG9tZSwgJ2xpYics ICdweXRob24nKQplbGlmIHNob21lOgogICAgc2hvbWUgPSBvcy5wYXRoLnJlYWxwYXRoKHNob21l KQogICAgemhvbWUgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKHNob21lKSkKZWxp ZiBpaG9tZToKICAgIHByaW50ID4+IHN5cy5zdGRlcnIsICcnJwogICAgSWYgSU5TVEFOQ0VfSE9N RSBpcyBzZXQsIHRoZW4gYXQgbGVhc3Qgb25lIG9mIFNPRlRXQVJFX0hPTUUgb3IgWk9QRV9IT01F CiAgICBtdXN0IGJlIHNldAogICAgJycnCmVsc2U6CiAgICAjIE5vIHpvcGUgaG9tZSwgZGVyaXZl IGl0IGZyb20gc2NyaXB0IGRpcmVjdG9yeToKICAgICMgKHRlc3QucHkgbGl2ZXMgaW4gZWl0aGVy IFpPUEVfSE9NRSBvciBaT1BFX0hPTUUvYmluKQogICAgIyBObyB6b3BlIGhvbWUsIGRlcml2ZSBp dCBmcm9tIHNjcmlwdCBkaXJlY3Rvcnk6CiAgICAjICh0ZXN0LnB5IGxpdmVzIGluIGVpdGhlciBa T1BFX0hPTUUgb3IgWk9QRV9IT01FL2JpbikKICAgIHBhcmVudGRpciwgbGFzdHBhcnQgPSBvcy5w YXRoLnNwbGl0KHNjcmlwdGRpcikKICAgIGlmIGxhc3RwYXJ0ID09ICdiaW4nOgogICAgICAgIHpo b21lID0gcGFyZW50ZGlyCiAgICBlbHNlOgogICAgICAgIHpob21lID0gc2NyaXB0ZGlyCiAgICBz aG9tZSA9IG9zLnBhdGguam9pbih6aG9tZSwgJ2xpYicsICdweXRob24nKQoKIyBhZGQgU09GVFdB UkVfSE9NRSB0byBzeXMucGF0aCwgYnV0IG9ubHkgaWYgWm9wZSBpc24ndCBhbHJlYWR5IGF2YWls YWJsZQp0cnk6CiAgICBpbXBvcnQgWm9wZTIKZXhjZXB0IEltcG9ydEVycm9yOgogICAgc3lzLnBh dGguaW5zZXJ0KDAsIHNob21lKQoKIyBUaGlzIGlzIGp1c3QgaGVyZSB0byBzaG93IGhpZ2hsaWdo dGluZyBvZiBidWlsdGlucwpkZWYgdGVzdF9yaWNoZG9jdW1lbnRfcmVuYW1lZF90b19wYWdlKHNl bGYpOiAKICAgIHJpY2hfZG9jdW1lbnRfZnRpID0gZ2V0YXR0cihzZWxmLnR5cGVzLCAnUmljaERv Y3VtZW50JykgCiAgICBzZWxmLmFzc2VydEVxdWFscygiV2ViIHBhZ2UiLCByaWNoX2RvY3VtZW50 X2Z0aS50aXRsZSkgClxzdG9wUFkKClxzZWN0aW9ue2J1aWxkb3V0LmNmZyBzYW1wbGV9ClxzdGFy dENGRwojIFVzZSB0aGlzIHNlY3Rpb24gdG8gaW5zdGFsbCBhbmQgY29uZmlndXJlIGEgWm9wZQoj IEVudGVycHJpc2UgT2JqZWN0cyBzZXJ2ZXIuCiMgRm9yIG9wdGlvbnMgc2VlIGh0dHA6Ly9weXBp LnB5dGhvbi5vcmcvcHlwaS9wbG9uZS5yZWNpcGUuem9wZTJ6ZW9zZXJ2ZXIKW3plb3NlcnZlcl0K cmVjaXBlID0gcGxvbmUucmVjaXBlLnpvcGUyemVvc2VydmVyCnpvcGUyLWxvY2F0aW9uID0gJHt6 b3BlMjpsb2NhdGlvbn0KemVvLWFkZHJlc3MgPSAke2J1aWxkb3V0Onplby1hZGRyZXNzfQplZmZl Y3RpdmUtdXNlciA9IHplbwojIFB1dCB0aGUgbG9nLCBwaWQgYW5kIHNvY2tldCBmaWxlcyBpbiB2 YXIvemVvc2VydmVyCnplby1sb2cgICAgID0gJHtidWlsZG91dDpkaXJlY3Rvcnl9L3Zhci96ZW9z ZXJ2ZXIvemVvc2VydmVyLmxvZwpwaWQtZmlsZSAgICA9ICR7YnVpbGRvdXQ6ZGlyZWN0b3J5fS92 YXIvemVvc2VydmVyL3plb3NlcnZlci5waWQKc29ja2V0LW5hbWUgPSAke2J1aWxkb3V0OmRpcmVj dG9yeX0vdmFyL3plb3NlcnZlci96ZW8uemRzb2NrClxzdG9wQ0ZHClxzdG9wdGV4dAo= --001485f7d7fe6fbb8a0467b20184 Content-Type: application/octet-stream; name="verb-apa.lua" Content-Disposition: attachment; filename="verb-apa.lua" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ftlwnofz1 LS0gZmlsZW5hbWUgOiB2ZXJiLWFwYS5sdWEKLS0gY29tbWVudCAgOiBTeW50YXggaGlnaGxpZ2h0 aW5nIGZvciBBcGFjaGUgY29uZmlnIGZpbGVzLgotLSAgICAgICAgICAgIFVzZWQgb3JpZ2luYWwg dGV4L2NvbnRleHQvYmFzZS92ZXJiLSoubHVhIGZpbGVzLAotLSAgICAgICAgICAgIHZlcmItY3Bw Lmx1YSBwb3N0ZWQgYnkgU2hlbiBDaGVuIHRvIHRoZSBOVEctY29udGV4dAotLSAgICAgICAgICAg IGxpc3QgKGh0dHA6Ly9hcmNoaXZlLmNvbnRleHRnYXJkZW4ubmV0L21lc3NhZ2UvMjAwODEwMDIu MTczODAyLjQ2MGM0NmZlLmVuLmh0bWwpCi0tICAgICAgICAgICAgYW5kIHZpbSBzeW50YXggZmls ZXMgYXMgc3RhcnRpbmcgcG9pbnRzLgotLSBhdXRob3IgICA6IERyYcW+ZW4gQmFpxIcKaWYgbm90 IGJ1ZmZlcnMgICAgICAgICAgICAgICAgICB0aGVuIGJ1ZmZlcnMgICAgICAgICAgICAgICAgICA9 IHsgfSBlbmQKaWYgbm90IGJ1ZmZlcnMudmlzdWFsaXplcnMgICAgICB0aGVuIGJ1ZmZlcnMudmlz dWFsaXplcnMgICAgICA9IHsgfSBlbmQKaWYgbm90IGJ1ZmZlcnMudmlzdWFsaXplcnMuYXBhICB0 aGVuIGJ1ZmZlcnMudmlzdWFsaXplcnMuYXBhICA9IHsgfSBlbmQKCmJ1ZmZlcnMudmlzdWFsaXpl cnMuYXBhLmNhdGVnb3JpZXMgPSB7fQoKYnVmZmVycy52aXN1YWxpemVycy5hcGEuZGVsaW1pdGVy cyA9IHsKICAgICciJywgJ1wnJywgJywnLCAnLicsICc/JywgJyAnLCAnIycsICcqJywgJz4nIAp9 CgpidWZmZXJzLnZpc3VhbGl6ZXJzLmFwYS5jb2xvcnMgPSB7CiAgICAicHJldHR5b25lIiwgICAt LSBkZWNsYXJhdGlvbnMKICAgICJwcmV0dHl0d28iLCAgIC0tIHN0cmluZ3MKICAgICJwcmV0dHl0 aHJlZSIsIC0tIHNlY3Rpb25zCiAgICAicHJldHR5Zm91ciIsICAtLSBjb21tZW50cwogICAgInBy ZXR0eWZpdmUiICAgLS0gb3B0aW9ucwp9CgpidWZmZXJzLnZpc3VhbGl6ZXJzLmFwYS5jYXRlZ29y aWVzLmRlY2xhcmF0aW9uc19jb3JlID0gewogICAgJ0FjY2VwdEZpbHRlcicsICdBY2NlcHRNdXRl eCcsICdBY2NlcHRQYXRoSW5mbycsICdBY2Nlc3NGaWxlTmFtZScsICdBZGREZWZhdWx0Q2hhcnNl dCcsICdBbGxvd0VuY29kZWRTbGFzaGVzJywgJ0FsbG93T3ZlcnJpZGUnLCAnQXNzaWduVXNlcklk JywgJ0F1dGhOYW1lJywgJ0F1dGhUeXBlJywgCiAgICAnQ0dJTWFwRXh0ZW5zaW9uJywgJ0NoaWxk UGVyVXNlcklkJywgJ0NvbnRlbnREaWdlc3QnLCAnQ29yZUR1bXBEaXJlY3RvcnknLCAKICAgICdE ZWZhdWx0VHlwZScsICdEb2N1bWVudFJvb3QnLCAKICAgICdFbmFibGVFeGNlcHRpb25Ib29rJywg J0VuYWJsZU1NQVAnLCAnRW5hYmxlU2VuZGZpbGUnLCAnRXJyb3JEb2N1bWVudCcsICdFcnJvckxv ZycsIAogICAgJ0ZpbGVFVGFnJywgJ0ZvcmNlVHlwZScsIAogICAgJ0dyYWNlZnVsU2h1dGRvd25U aW1lb3V0JywgJ0dyb3VwJywgCiAgICAnSG9zdE5hbWVMb29rdXBzJywgCiAgICAnSWRlbnRpdHlD aGVjaycsICdJbmNsdWRlJywgCiAgICAnS2VlcEFsaXZlJywgJ0tlZXBBbGl2ZVRpbWVvdXQnLCAK ICAgICdMaW1pdEludGVybmFsUmVjdXJzaW9uJywgJ0xpbWl0UmVxdWVzdEJvZHknLCAnTGltaXRS ZXF1ZXN0RmllbGRzJywgJ0xpbWl0UmVxdWVzdEZpZWxkc2l6ZScsICdMaW1pdFJlcXVlc3RMaW5l JywgJ0xpbWl0WE1MUmVxdWVzdEJvZHknLCAnTGlzdGVuJywgJ0xpc3RlbkJhY2tsb2cnLCAnTG9j a0ZpbGUnLCAnTG9nTGV2ZWwnLCAKICAgICdNYXhDbGllbnRzJywgJ01heEtlZXBBbGl2ZVJlcXVl c3RzJywgJ01heE1lbUZyZWUnLCAnTWF4UmVxdWVzdHNQZXJDaGlsZCcsICdNYXhTcGFyZVNlcnZl cnMnLCAnTWF4U3BhcmVUaHJlYWRzJywgJ01heFNwYXJlVGhyZWFkc1BlckNoaWxkJywgJ01heFRo cmVhZHMnLCAnTWluU3BhcmVTZXJ2ZXJzJywgJ01pblNwYXJlVGhyZWFkcycsIAogICAgJ05hbWVW aXJ0dWFsSG9zdCcsICdOdW1TZXJ2ZXJzJywgCiAgICAnT3B0aW9ucycsIAogICAgJ1BpZEZpbGUn LCAKICAgICdSZXF1aXJlJywgJ1JMaW1pdENQVScsICdSTGltaXRNRU0nLCAnUkxpbWl0TlBST0Mn LCAKICAgICdTYXRpc2Z5JywgJ1Njb3JlQm9hcmRGaWxlJywgJ1NjcmlwdEludGVycHJldGVyU291 cmNlJywgJ1NlbmRCdWZmZXJTaXplJywgJ1NlcnZlckFkbWluJywgJ1NlcnZlckFsaWFzJywgJ1Nl cnZlckxpbWl0JywgJ1NlcnZlck5hbWUnLCAnU2VydmVyUGF0aCcsICdTZXJ2ZXJSb290JywgJ1Nl cnZlclNpZ25hdHVyZScsICdTZXJ2ZXJUb2tlbnMnLCAnU2V0SGFuZGxlcicsICdTZXRJbnB1dEZp bHRlcicsICdTZXRPdXRwdXRGaWx0ZXInLCAnU3RhcnRTZXJ2ZXJzJywgJ1N0YXJ0VGhyZWFkcycs IAogICAgJ1RocmVhZExpbWl0JywgJ1RocmVhZHNQZXJDaGlsZCcsICdUaHJlYWRTdGFja1NpemUn LCAnVGltZU91dCcsICdUcmFjZUVuYWJsZScsIAogICAgJ1VzZUNhbm9uaWNhbE5hbWUnLCAnVXNl cicsIAogICAgJ1dpbjMyRGlzYWJsZUFjY2VwdEV4Jwp9CgpidWZmZXJzLnZpc3VhbGl6ZXJzLmFw YS5jYXRlZ29yaWVzLmRlY2xhcmF0aW9uc19tb2QgPSB7CiAgICAtLSBtb2RfYWN0aW9ucwogICAg J0FjdGlvbicsICdTY3JpcHQnLAogICAgLS0gbW9kX2FsaWFzCiAgICAnQWxpYXMnLCAnQWxpYXNN YXRjaCcsICdSZWRpcmVjdCcsICdSZWRpcmVjdE1hdGNoJywgJ1JlZGlyZWN0VGVtcCcsICdSZWRp cmVjdFBlcm1hbmVudCcsICdTY3JpcHRBbGlhcycsICdTY3JpcHRBbGlhc01hdGNoJywKICAgIC0t IG1vZF9hdXRoX2Jhc2ljCiAgICAnQXV0aEJhc2ljQXV0aG9yaXRhdGl2ZScsICdBdXRoQmFzaWNQ cm92aWRlcicsCiAgICAtLSBtb2RfYXV0aF9kaWdlc3QKICAgICdBdXRoRGlnZXN0QWxnb3JpdGht JywgJ0F1dGhEaWdlc3REb21haW4nLCAnQXV0aERpZ2VzdE5jQ2hlY2snLCAnQXV0aERpZ2VzdE5v bmNlRm9ybWF0JywgJ0F1dGhEaWdlc3ROb25jZUxpZmV0aW1lJywgJ0F1dGhEaWdlc3RQcm92aWRl cicsICdBdXRoRGlnZXN0UW9wJywgJ0F1dGhEaWdlc3RTaG1lbVNpemUnLAogICAgLS0gbW9kX2F1 dGhuX2Fub24KICAgICdBbm9ueW1vdXMnLCAnQW5vbnltb3VzX0F1dGhvcml0YXRpdmUnLCAnQW5v bnltb3VzX0xvZ0VtYWlsJywgJ0Fub255bW91c19NdXN0R2l2ZUVtYWlsJywgJ0Fub255bW91c19O b1VzZXJJRCcsICdBbm9ueW1vdXNfVmVyaWZ5RW1haWwnLAogICAgLS0gbW9kX2F1dGhuX2RiZAog ICAgJ0F1dGhEQkRVc2VyUFdRdWVyeScsICdBdXRoREJEVXNlclJlYWxtUXVlcnknLAogICAgLS0g bW9kX2F1dGhuX2RibQogICAgJ0F1dGhEQk1UeXBlJywgJ0F1dGhEQk1Vc2VyRmlsZScsCiAgICAt LSBtb2RfYXV0aG5fZGVmYXVsdAogICAgJ0F1dGhEZWZhdWx0QXV0aG9yaXRhdGl2ZScsCiAgICAt LSBtb2RfYXV0aG5fZmlsZQogICAgJ0F1dGhVc2VyRmlsZScsCiAgICAtLSBtb2RfYXV0aG56X2xk YXAKICAgICdBdXRoTERBUEJpbmRETicsICdBdXRoTERBUEJpbmRQYXNzd29yZCcsICdBdXRoTERB UENoYXJzZXRDb25maWcnLCAnQXV0aExEQVBDb21wYXJlRE5PblNlcnZlcicsICdBdXRoTERBUERl cmVmZXJlbmNlQWxpYXNlcycsICdBdXRoTERBUEdyb3VwQXR0cmlidXRlJywgJ0F1dGhMREFQR3Jv dXBBdHRyaWJ1dGVJc0ROJywgJ0F1dGhMREFQUmVtb3RlVXNlckF0dHJpYnV0ZScsICdBdXRoTERB UFJlbW90ZVVzZXJJc0ROJywgJ0F1dGhMREFQVXJsJywgJ0F1dGh6TERBUEF1dGhvcml0YXRpdmUn LAogICAgLS0gbW9kX2F1dGh6X2RibQogICAgJ0F1dGhEQk1Hcm91cEZpbGUnLCAnQXV0aHpEQk1B dXRob3JpdGF0aXZlJywgJ0F1dGh6REJNVHlwZScsCiAgICAtLSBtb2RfYXV0aHpfZGVmYXVsdAog ICAgJ0F1dGh6RGVmYXVsdEF1dGhvcml0YXRpdmUnLAogICAgLS0gbW9kX2F1dGh6X2dyb3VwZmls ZQogICAgJ0F1dGhHcm91cEZpbGUnLCAnQXV0aHpHcm91cEZpbGVBdXRob3JpdGF0aXZlJywKICAg IC0tIG1vZF9hdXRoel9ob3N0CiAgICAnQWxsb3cnLCAnRGVueScsICdPcmRlcicsCiAgICAtLSBt b2RfYXV0aHpfb3duZXIKICAgICdBdXRoek93bmVyQXV0aG9yaXRhdGl2ZScsCiAgICAtLSBtb2Rf YXV0aHpfdXNlcgogICAgJ0F1dGh6VXNlckF1dGhvcml0YXRpdmUnLAogICAgLS0gbW9kX2F1dG9p bmRleAogICAgJ0FkZEFsdCcsICdBZGRBbHRCeUVuY29kaW5nJywgJ0FkZEFsdEJ5VHlwZScsICdB ZGREZXNjcmlwdGlvbicsICdBZGRJY29uJywgJ0FkZEljb25CeUVuY29kaW5nJywgJ0FkZEljb25C eVR5cGUnLCAnRGVmYXVsdEljb24nLCAnSGVhZGVyTmFtZScsICdJbmRleEhlYWRJbnNlcnQnLCAn SW5kZXhJZ25vcmUnLCAnSW5kZXhPcHRpb25zJywgJ0luZGV4T3JkZXJEZWZhdWx0JywgJ0luZGV4 U3R5bGVTaGVldCcsICdSZWFkbWVOYW1lJywKICAgIC0tIG1vZF9jYWNoZQogICAgJ0NhY2hlRGVm YXVsdEV4cGlyZScsICdDYWNoZURpc2FibGUnLCAnQ2FjaGVFbmFibGUnLCAnQ2FjaGVJZ25vcmVD YWNoZUNvbnRyb2wnLCAnQ2FjaGVJZ25vcmVIZWFkZXJzJywgJ0NhY2hlSWdub3JlTm9MYXN0TW9k JywgJ0NhY2hlSWdub3JlUXVlcnlTdHJpbmcnLCAnQ2FjaGVMYXN0TW9kaWZpZWRGYWN0b3InLCAn Q2FjaGVNYXhFeHBpcmUnLCAnQ2FjaGVTdG9yZU5vU3RvcmUnLCAnQ2FjaGVTdG9yZVByaXZhdGUn LAogICAgLS0gbW9kX2Nlcm5fbWV0YQogICAgJ01ldGFEaXInLCAnTWV0YUZpbGVzJywgJ01ldGFT dWZmaXgnLAogICAgLS0gbW9kX2NnaSBhbmQgbW9kX2NnaWQKICAgICdTY3JpcHRMb2cnLCAnU2Ny aXB0TG9nQnVmZmVyJywgJ1NjcmlwdExvZ0xlbmd0aCcsICdTY3JpcHRTb2NrJywKICAgIC0tIG1v ZF9jaGFyc2V0X2xpdGUKICAgICdDaGFyc2V0RGVmYXVsdCcsICdDaGFyc2V0T3B0aW9ucycsICdD aGFyc2V0U291cmNlRW5jJywKICAgIC0tIG1vZF9kYXYKICAgICdEYXYnLCAnRGF2RGVwdGhJbmZp bml0eScsICdEYXZNaW5UaW1lb3V0JywKICAgIC0tIG1vZF9kYXZfZnMKICAgICdEYXZMb2NrREIn LAogICAgLS0gbW9kX2Rhdl9sb2NrCiAgICAnRGF2R2VuZXJpY0xvY2tEQicsCiAgICAtLSBtb2Rf ZGJkCiAgICAnREJERXhwdGltZScsICdEQkRLZWVwJywgJ0RCRE1heCcsICdEQkRNaW4nLCAnREJE UGFyYW1zJywgJ0RCRFBlcnNpc3QnLCAnREJEUHJlcGFyZVNRTCcsICdEQkRyaXZlcicsCiAgICAt LSBtb2RfZGVmbGF0ZQogICAgJ0RlZmxhdGVCdWZmZXJTaXplJywgJ0RlZmxhdGVDb21wcmVzc2lv bkxldmVsJywgJ0RlZmxhdGVGaWx0ZXJOb3RlJywgJ0RlZmxhdGVNZW1MZXZlbCcsICdEZWZsYXRl V2luZG93U2l6ZScsCiAgICAtLSBtb2RfZGlyCiAgICAnRGlyZWN0b3J5SW5kZXgnLCAnRGlyZWN0 b3J5U2xhc2gnLAogICAgLS0gbW9kX2Rpc2tfY2FjaGUKICAgICdDYWNoZURpckxlbmd0aCcsICdD YWNoZURpckxldmVscycsICdDYWNoZU1heEZpbGVTaXplJywgJ0NhY2hlTWluRmlsZVNpemUnLCAn Q2FjaGVSb290JywKICAgIC0tIG1vZF9kdW1waW8KICAgICdEdW1wSU9JbnB1dCcsICdEdW1wSU9M b2dMZXZlbCcsICdEdW1wSU9PdXRwdXQnLAogICAgLS0gbW9kX2VjaG8KICAgICdQcm90b2NvbEVj aG8nLAogICAgLS0gbW9kX2VudgogICAgJ1Bhc3NFbnYnLCAnU2V0RW52JywgJ1Vuc2V0RW52JywK ICAgIC0tIG1vZF9leGFtcGxlCiAgICAnRXhhbXBsZScsCiAgICAtLSBtb2RfZXhwaXJlcwogICAg J0V4cGlyZXNBY3RpdmUnLCAnRXhwaXJlc0J5VHlwZScsICdFeHBpcmVzRGVmYXVsdCcsCiAgICAt LSBtb2RfZXh0X2ZpbHRlcgogICAgJ0V4dEZpbHRlckRlZmluZScsICdFeHRGaWx0ZXJPcHRpb25z JywKICAgIC0tIG1vZF9maWxlX2NhY2hlCiAgICAnQ2FjaGVGaWxlJywgJ01NYXBGaWxlJywKICAg IC0tIG1vZF9maWx0ZXIKICAgICdGaWx0ZXJDaGFpbicsICdGaWx0ZXJEZWNsYXJlJywgJ0ZpbHRl clByb3RvY29sJywgJ0ZpbHRlclByb3ZpZGVyJywgJ0ZpbHRlclRyYWNlJywKICAgIC0tIG1vZF9o ZWFkZXJzCiAgICAnSGVhZGVyJywgJ1JlcXVlc3RIZWFkZXInLAogICAgLS0gbW9kX2lkZW50CiAg ICAnSWRlbnRpdHlDaGVjaycsICdJZGVudGl0eUNoZWNrVGltZW91dCcsCiAgICAtLSBtb2RfaW1h Z2VtYXAKICAgICdJbWFwTWVudScsICdJbWFwRGVmYXVsdCcsICdJbWFwQmFzZScsCiAgICAtLSBt b2RfaW5jbHVkZQogICAgJ1NTSUVuYWJsZUFjY2VzcycsICdTU0lFbmRUYWcnLCAnU1NJRXJyb3JN c2cnLCAnU1NJU3RhcnRUYWcnLCAnU1NJVGltZUZvcm1hdCcsICdTU0lVbmRlZmluZWRFY2hvJywg J1hCaXRIYWNrJywKICAgIC0tIG1vZF9pbmZvCiAgICAnQWRkTW9kdWxlSW5mbycsCiAgICAtLSBt b2RfaXNhcGkKICAgICdJU0FQSUFwcGVuZExvZ1RvRXJyb3JzJywgJ0lTQVBJQXBwZW5kTG9nVG9R dWVyeScsICdJU0FQSUNhY2hlRmlsZScsICdJU0FJUEZha2VBc3luYycsICdJU0FQSUxvZ05vdFN1 cHBvcnRlZCcsICdJU0FQSVJlYWRBaGVhZEJ1ZmZlcicsCiAgICAtLSBtb2RfbGRhcAogICAgJ0xE QVBDYWNoZUVudHJpZXMnLCAnTERBUENhY2hlVFRMJywgJ0xEQVBDb25uZWN0aW9uVGltZW91dCcs ICdMREFQT3BDYWNoZUVudHJpZXMnLCAnTERBUE9wQ2FjaGVUVEwnLCAnTERBUFNoYXJlZENhY2hl RmlsZScsICdMREFQU2hhcmVkQ2FjaGVTaXplJywgJ0xEQVBUcnVzdGVkQ2xpZW50Q2VydCcsICdM REFQVHJ1c3RlZEdsb2JhbENlcnQnLCAnTERBUFRydXN0ZWRNb2RlJywgJ0xEQVBWZXJpZnlTZXJ2 ZXJDZXJ0JywKICAgIC0tIG1vZF9sb2dfY29uZmlnCiAgICAnQnVmZmVyZWRMb2dzJywgJ0Nvb2tp ZUxvZycsICdDdXN0b21Mb2cnLCAnTG9nRm9ybWF0JywgJ1RyYW5zZmVyTG9nJywKICAgIC0tIG1v ZF9sb2dfZm9yZW5zaWMKICAgICdGb3JlbnNpY0xvZycsCiAgICAtLSBtb2RfbWVtX2NhY2hlCiAg ICAnTUNhY2hlTWF4T2JqZWN0Q291bnQnLCAnTUNhY2hlTWF4T2JqZWN0U2l6ZScsICdNQ2FjaGVN YXhTdHJlYW1pbmdCdWZmZXInLCAnTUNhY2hlTWluT2JqZWN0U2l6ZScsICdNQ2FjaGVSZW1vdmFs QWxnb3JpdGhtJywgJ01DYWNoZVNpemUnLAogICAgLS0gbW9kX21pbWUKICAgICdBZGRDaGFyc2V0 JywgJ0FkZEVuY29kaW5nJywgJ0FkZEhhbmRsZXInLCAnQWRkSW5wdXRGaWx0ZXInLCAnQWRkTGFu Z3VhZ2UnLCAnQWRkT3V0cHV0RmlsdGVyJywgJ0FkZFR5cGUnLCAnRGVmYXVsdExhbmd1YWdlJywg J01vZE1pbWVVc2VQYXRoSW5mbycsICdNdWx0aXZpZXdzTWF0Y2gnLCAnUmVtb3ZlQ2hhcnNldCcs ICdSZW1vdmVFbmNvZGluZycsICdSZW1vdmVIYW5kbGVyJywgJ1JlbW92ZUlucHV0RmlsdGVyJywg J1JlbW92ZUxhbmd1YWdlJywgJ1JlbW92ZU91dHB1dEZpbHRlcicsICdSZW1vdmVUeXBlJywgJ1R5 cGVzQ29uZmlnJywKICAgIC0tIG1vZF9taW1lX21hZ2ljCiAgICAnTWltZU1hZ2ljRmlsZScsCiAg ICAtLSBtb2RfbmVnb3RpYXRpb24KICAgICdDYWNoZU5lZ290aWF0ZWREb2NzJywgJ0ZvcmNlTGFu Z3VhZ2VQcmlvcml0eScsICdMYW5ndWFnZVByaW9yaXR5JywKICAgIC0tIG1vZF9ud19zc2wKICAg ICcnLCAnTldTU0xUcnVzdGVkQ2VydHMnLCAnTldTU0xVcGdyYWRlYWJsZScsICdTZWN1cmVMaXN0 ZW4nLAogICAgLS0gbW9kX3Byb3h5CiAgICAnQWxsb3dDT05ORUNUJywgJ0JhbGFuY2VyTWVtYmVy JywgJ05vUHJveHknLCAnUHJveHlCYWRIZWFkZXInLCAnUHJveHlCbG9jaycsICdQcm94eURvbWFp bicsICdQcm94eUVycm9yT3ZlcnJpZGUnLCAnUHJveHlGdHBEaXJDaGFyc2V0JywgJ1Byb3h5SU9C dWZmZXJTaXplJywgJ1Byb3h5TWF4Rm9yd2FyZHMnLCAnUHJveHlQYXNzJywgJ1Byb3h5UGFzc0lu dGVycG9sYXRlRW52JywgJ1Byb3h5UGFzc01hdGNoJywgJ1Byb3h5UGFzc1JldmVyc2UnLCAnUHJv eHlQYXNzUmV2ZXJzZUNvb2tpZURvbWFpbicsICdQcm94eVBhc3NSZXZlcnNlQ29va2llUGF0aCcs ICdQcm94eVByZXNlcnZlSG9zdCcsICdQcm94eVJlY2VpdmVCdWZmZXJTaXplJywgJ1Byb3h5UmVt b3RlJywgJ1Byb3h5UmVtb3RlTWF0Y2gnLCAnUHJveHlSZXF1ZXN0cycsICdQcm94eVNldCcsICdQ cm94eVN0YXR1cycsICdQcm94eVRpbWVvdXQnLCAnUHJveHlWaWEnLAogICAgLS0gbW9kX3Jld3Jp dGUKICAgICdSZXdyaXRlQmFzZScsICdSZXdyaXRlQ29uZCcsICdSZXdyaXRlRW5naW5lJywgJ1Jl d3JpdGVMb2NrJywgJ1Jld3JpdGVMb2cnLCAnUmV3cml0ZUxvZ0xldmVsJywgJ1Jld3JpdGVNYXAn LCAnUmV3cml0ZU9wdGlvbnMnLCAnUmV3cml0ZVJ1bGUnLAogICAgLS0gbW9kX3NldGVudmlmCiAg ICAnQnJvd3Nlck1hdGNoJywgJ0Jyb3dzZXJNYXRjaE5vQ2FzZScsICdTZXRFbnZJZicsICdTZXRF bnZJZk5vQ2FzZScsCiAgICAtLSBtb2Rfc28KICAgICdMb2FkRmlsZScsICdMb2FkTW9kdWxlJywK ICAgIC0tIG1vZF9zcGVsaW5nCiAgICAnQ2hlY2tDYXNlT25seScsICdDaGVja1NwZWxsaW5nJywK ICAgIC0tIG1vZF9zc2wKICAgICdTU0xDQUNlcnRpZmljYXRlRmlsZScsICdTU0xDQUNlcnRpZmlj YXRlUGF0aCcsICdTU0xDQUROUmVxdWVzdEZpbGUnLCAnU1NMQ0FETlJlcXVlc3RQYXRoJywgJ1NT TENBUmV2b2NhdGlvbkZpbGUnLCAnU1NMQ0FSZXZvY2F0aW9uUGF0aCcsICdTU0xDZXJ0aWZpY2F0 ZUNoYWluRmlsZScsICdTU0xDZXJ0aWZpY2F0ZUZpbGUnLCAnU1NMQ2VydGlmaWNhdGVLZXlGaWxl JywgJ1NTTENpcGhlclN1aXRlJywgJ1NTTENyeXB0b0RldmljZScsICdTU0xFbmdpbmUnLCAnU1NM SG9ub3JDaXBoZXJPcmRlcicsICdTU0xNdXRleCcsICdTU0xPcHRpb25zJywKICAgICdTU0xQYXNz UGhyYXNlRGlhbG9nJywgJ1NTTFByb3RvY29sJywgJ1NTTFByb3h5Q0FDZXJ0aWZpY2F0ZUZpbGUn LCAnU1NMUHJveHlDQUNlcnRpZmljYXRlUGF0aCcsICdTU0xQcm94eUNBUmV2b2NhdGlvbkZpbGUn LCAnU1NMUHJveHlDQVJldm9jYXRpb25QYXRoJywgJ1NTTFByb3h5Q2lwaGVyU3VpdGUnLCAnU1NM UHJveHlFbmdpbmUnLCAnU1NMUHJveHlNYWNoaW5lQ2VydGlmaWNhdGVGaWxlJywgJ1NTTFByb3h5 TWFjaGluZUNlcnRpZmljYXRlUGF0aCcsCiAgICAgJ1NTTFByb3h5UHJvdG9jb2wnLCAnU1NMUHJv eHlWZXJpZnknLCAnU1NMUHJveHlWZXJpZnlEZXB0aCcsICdTU0xSYW5kb21TZWVkJywgJ1NTTFJl bmVnQnVmZmVyU2l6ZScsICdTU0xSZXF1aXJlJywgJ1NTTFJlcXVpcmVTU0wnLCAnU1NMU2Vzc2lv bkNhY2hlJywgJ1NTTFNlc3Npb25DYWNoZVRpbWVvdXQnLCAnU1NMVXNlck5hbWUnLCAnU1NMVmVy aWZ5Q2xpZW50JywgJ1NTTFZlcmlmeURlcHRoJywKICAgIC0tIG1vZF9zdGF0dXMKICAgICdFeHRl bmRlZFN0YXR1cycsICdTZWVSZXF1ZXN0VGFpbCcsCiAgICAtLSBtb2Rfc3Vic3RpdHV0ZQogICAg J1N1YnN0aXR1dGUnLAogICAgLS0gbW9kX3N1ZXhlYwogICAgJ1N1ZXhlY1VzZXJHcm91cCcsCiAg ICAtLSBtb2RfdXNlcmRpcgogICAgJ1VzZXJEaXInLAogICAgLS0gbW9kX3VzZXJ0cmFjawogICAg J0Nvb2tpZURvbWFpbicsICdDb29raWVFeHBpcmVzJywgJ0Nvb2tpZU5hbWUnLCAnQ29va2llU3R5 bGUnLCAnQ29va2llVHJhY2tpbmcnLAogICAgLS0gbW9kX3Zob3N0X2FsaWFzCiAgICAnVmlydHVh bERvY3VtZW50Um9vdCcsICdWaXJ0dWFsRG9jdW1lbnRSb290SVAnLCAnVmlydHVhbFNjcmlwdEFs aWFzJywgJ1ZpcnR1YWxTY3JpcHRBbGlhc0lQJwp9CgpidWZmZXJzLnZpc3VhbGl6ZXJzLmFwYS5j YXRlZ29yaWVzLm9wdGlvbnMgPSB7CiAgICAtLSBjb3JlCiAgICAnSU5vZGUnLCAnTVRpbWUnLCAn U2l6ZScsCiAgICAnQW55JywgJ0FsbCcsICdPbicsICdPZmYnLCAnRG91YmxlJywgJ0VNYWlsJywg J0ROUycsICdNaW4nLCAnTWluaW1hbCcsICdPUycsICdQcm9kJywgJ1Byb2R1Y3RPbmx5JywgJ0Z1 bGwnLAogICAgJ2VtZXJnJywgJ2FsZXJ0JywgJ2NyaXQnLCAnZXJyb3InLCAnd2FybicsICdub3Rp Y2UnLCAnaW5mbycsICdkZWJ1ZycsCiAgICAncmVnaXN0cnknLCAnc2NyaXB0JywgJ2luZXRkJywg J3N0YW5kYWxvbmUnLAogICAgJ3VzZXInLCAnZ3JvdXAnLAogICAgJ2Zsb2NrJywgJ2ZjbnRsJywg J3N5c3ZzZW0nLCAncHRocmVhZCcsCiAgICAtLSBtb2RfYWxpYXMKICAgICdwZXJtYW5lbnQnLCAn dGVtcCcsICdzZWVvdGhlcicsICdnb25lJywKICAgIC0tIG1vZF9hdXRoX2RpZ2VzdAogICAgJ25v bmUnLCAnYXV0aCcsICdhdXRoLWludCcsICdNRDUtc2VzcycsCiAgICAtLSBtb2RfYXV0aF9kYm0K ICAgICdkZWZhdWx0JywgJ1NEQk0nLCAnR0RCTScsICdOREJNJywgJ0RCJywKICAgIC0tIG1vZF9h dXRoel9ob3N0CiAgICAnZnJvbScsCiAgICAtLSBtb2RfYXV0aG56X2xkYXAKICAgICdhbHdheXMn LCAnbmV2ZXInLCAnc2VhcmNoaW5nJywgJ2ZpbmRpbmcnLAogICAgJ2xkYXAtdXNlcicsICdsZGFw LWdyb3VwJywgJ2xkYXAtZG4nLCAnbGRhcC1hdHRyaWJ1dGUnLCAnbGRhcC1maWx0ZXInLAogICAg LS0gbW9kX2F1dG9pbmRleAogICAgJ0Rlc2NyaXB0aW9uV2lkdGgnLCAnRmFuY3lJbmRleGluZycs ICdGb2xkZXJzRmlyc3QnLCAnSWNvbkhlaWdodCcsICdJY29uc0FyZUxpbmtzJywgJ0ljb25XaWR0 aCcsICdOYW1lV2lkdGgnLCAnU2NhbkhUTUxUaXRsZXMnLCAnU3VwcHJlc3NDb2x1bW5Tb3J0aW5n JywgJ1N1cHByZXNzRGVzY3JpcHRpb24nLCAnU3VwcHJlc3NIVE1MUHJlYW1ibGUnLCAnU3VwcHJl c3NMYXN0TW9kaWZpZWQnLCAnU3VwcHJlc3NTaXplJywgJ1RyYWNrTW9kaWZpZWQnLAogICAgJ0Fz Y2VuZGluZycsICdEZXNjZW5kaW5nJywgJ05hbWUnLCAnRGF0ZScsICdEZXNjcmlwdGlvbicsCiAg ICAnSWdub3JlQ2xpZW50JywgJ0lnbm9yZUNhc2UnLCAnU2hvd0ZvcmJpZGRlbicsICdTdXBwcmVz UnVsZXMnLAogICAgLS0gbW9kX2NoYXJzZXRfbGl0ZQogICAgJ0RlYnVnTGV2ZWwnLCAnSW1wbGlj aXRBZGQnLCAnTm9JbXBsaWNpdEFkZCcsCiAgICAtLSBtb2RfZXh0X2ZpbHRlcgogICAgJ1ByZXNl cnZlc0NvbnRlbnRMZW5ndGgnLCAnTG9nU3RkZXJyJywgJ05vTG9nU3RkZXJyJywKICAgIC0tIG1v ZF9oZWFkZXJzCiAgICAnc2V0JywgJ3Vuc2V0JywgJ2FwcGVuZCcsICdhZGQnLAogICAgLS0gbW9k X2ltYWdlbWFwCiAgICAnZm9ybWF0dGVkJywgJ3NlbWlmb3JtYXR0ZWQnLCAndW5mb3JtYXR0ZWQn LAogICAgJ25vY29udGVudCcsICdyZWZlcmVyJywgJ21hcCcsCiAgICAtLSBtb2RfbGRhcAogICAg J0NBX0RFUicsICdDQV9CQVNFNjQnLCAnQ0FfQ0VSVDdfREInLCAnQ0FfU0VDTU9EJywgJ0NFUlRf REVSJywgJ0NFUlRfQkFTRTY0JywgJ0NFUlRfS0VZM19EQicsICdDRVJUX05JQ0tOQU1FJywgJ0NF UlRfUEZYJywgJ0tFWV9ERVInLCAnS0VZX0JBU0U2NCcsICdLRVlfUEZYJywKICAgIC0tIG1vZF9t aW1lCiAgICAnTmVnb3RpYXRlZE9ubHknLCAnRmlsdGVycycsICdIYW5kbGVycycsCiAgICAtLSBt b2RfcmV3cml0ZQogICAgJ2luaGVyaXQnLAogICAgLS0gbW9kX3NzbAogICAgJ2J1aWx0aW4nLCAn c2VtJywKICAgICdvcHRpb25hbCcsICdvcHRpb25hbF9ub19jYScsCiAgICAnZmlsZScsICdleGVj JywgJ2VnZCcsICdkYm0nLCAnc2htJywKICAgICdTU0x2MicsICdTU0x2MycsICdUTFN2MScsICdr UlNBJywgJ2tIRHInLCAna0RIZCcsICdrRURIJywgJ2FOVUxMJywgJ2FSU0EnLCAnYURTUycsICdh UkgnLCAnZU5VTEwnLCAnREVTJywgJzNERVMnLCAnUkMyJywgJ1JDNCcsICdJREVBJywgJ01ENScs ICdTSEExJywgJ1NIQScsICdFWFAnLCAnRVhQT1JUNDAnLCAnRVhQT1JUNTYnLCAnTE9XJywgJ01F RElVTScsICdISUdIJywgJ1JTQScsICdESCcsICdFREgnLCAnQURIJywgJ0RTUycsICdOVUxMJywK ICAgIC0tIG1vZF91c2VydHJhY2sKICAgICdOZXRzY2FwZScsICdDb29raWUnLCAnQ29va2llMics ICdSRkMyMTA5JywgJ1JGQzI5NjUnCn0KCgpidWZmZXJzLnZpc3VhbGl6ZXJzLmFwYS5jYXRlZ29y aWVzLnNlY3Rpb25zID0gewogICAgJzxEaXJlY3RvcnknLCAnPC9EaXJlY3RvcnknLCAnPERpcmVj dG9yeU1hdGNoJywgJzwvRGlyZWN0b3J5TWF0Y2gnLCAnPEZpbGVzJywgJzwvRmlsZXMnLCAnPEZp bGVzTWF0Y2gnLCAnPC9GaWxlc01hdGNoJywgJzxJZk1vZHVsZScsICc8L0lmTW9kdWxlJywgCiAg ICAnPElmRGVmaW5lJywgJzwvSWZEZWZpbmUnLCAnPExvY2F0aW9uJywgJzwvTG9jYXRpb24nLCAn PExvY2F0aW9uTWF0Y2gnLCAnPC9Mb2NhdGlvbk1hdGNoJywgJzxWaXJ0dWFsSG9zdCcsICc8L1Zp cnR1YWxIb3N0JywgJzxQcm94eU1hdGNoJywgJzwvUHJveHlNYXRjaCcKfQpidWZmZXJzLnZpc3Vh bGl6ZXJzLmFwYS53b3JkcyA9IHsgfQoKZm9yIGssdiBpbiBwYWlycyhidWZmZXJzLnZpc3VhbGl6 ZXJzLmFwYS5jYXRlZ29yaWVzKSBkbwogICAgZm9yIF8sdyBpbiBwYWlycyh2KSBkbwogICAgICAg IGJ1ZmZlcnMudmlzdWFsaXplcnMuYXBhLndvcmRzW3ddID0gawogICAgZW5kCmVuZAoKZnVuY3Rp b24gYnVmZmVycy5mbHVzaF9hcGFfd29yZChzdGF0ZSwgd29yZCwgcmVzdWx0KQogICAgaWYgI3dv cmQ+MCB0aGVuCiAgICAgICAgbG9jYWwgaWQgPSBidWZmZXJzLnZpc3VhbGl6ZXJzLmFwYS53b3Jk c1t3b3JkXQogICAgICAgIGlmIGlkID09ICdzZWN0aW9ucycgdGhlbgogICAgICAgICAgICBzdGF0 ZSA9IGJ1ZmZlcnMuY2hhbmdlX3N0YXRlKDEsc3RhdGUscmVzdWx0KQogICAgICAgICAgICByZXN1 bHRbI3Jlc3VsdCsxXSA9IGJ1ZmZlcnMuZXNjYXBlZCh3b3JkKQogICAgICAgICAgICBzdGF0ZSA9 IGJ1ZmZlcnMuZmluaXNoX3N0YXRlKHN0YXRlLHJlc3VsdCkKICAgICAgICAgICAgcmV0dXJuIHN0 YXRlCiAgICAgICAgZWxzZWlmIGlkID09ICdvcHRpb25zJyB0aGVuCiAgICAgICAgICAgIHN0YXRl ID0gYnVmZmVycy5jaGFuZ2Vfc3RhdGUoNSxzdGF0ZSxyZXN1bHQpCiAgICAgICAgICAgIHJlc3Vs dFsjcmVzdWx0KzFdID0gYnVmZmVycy5lc2NhcGVkKHdvcmQpCiAgICAgICAgICAgIHN0YXRlID0g YnVmZmVycy5maW5pc2hfc3RhdGUoc3RhdGUscmVzdWx0KQogICAgICAgICAgICByZXR1cm4gc3Rh dGUKICAgICAgICBlbHNlaWYgaWQgdGhlbgogICAgICAgICAgICBzdGF0ZSA9IGJ1ZmZlcnMuY2hh bmdlX3N0YXRlKDMsc3RhdGUscmVzdWx0KQogICAgICAgICAgICByZXN1bHRbI3Jlc3VsdCsxXSA9 IGJ1ZmZlcnMuZXNjYXBlZCh3b3JkKQogICAgICAgICAgICBzdGF0ZSA9IGJ1ZmZlcnMuZmluaXNo X3N0YXRlKHN0YXRlLHJlc3VsdCkKICAgICAgICAgICAgcmV0dXJuIHN0YXRlCiAgICAgICAgZWxz ZQogICAgICAgICAgICByZXN1bHRbI3Jlc3VsdCsxXSA9IGJ1ZmZlcnMuZXNjYXBlZCh3b3JkKQog ICAgICAgICAgICByZXR1cm4gc3RhdGUKICAgICAgICBlbmQKICAgIGVsc2UKICAgICAgICBzdGF0 ZSA9IGJ1ZmZlcnMuZmluaXNoX3N0YXRlKHN0YXRlLHJlc3VsdCkKICAgICAgICByZXR1cm4gc3Rh dGUKICAgIGVuZAplbmQKCgpmdW5jdGlvbiBidWZmZXJzLnZpc3VhbGl6ZXJzLmFwYS5mbHVzaF9s aW5lKHN0cixuZXN0ZWQpCiAgICBsb2NhbCBpLCByZXN1bHQgLCB3b3JkID0gMSwgeyB9LCAiIgog ICAgbG9jYWwgc3RhdGUgPSAwCiAgICBsb2NhbCBkZWxpbWl0ZXJzPWJ1ZmZlcnMudmlzdWFsaXpl cnMuYXBhLmRlbGltaXRlcnMKICAgIGxvY2FsIGlzX2RlbGltaXRlciA9IGZhbHNlCiAgICBsb2Nh bCBpbl9zdHJpbmcgPSBmYWxzZQogIAogICAgYnVmZmVycy5jdXJyZW50Y29sb3JzID0gYnVmZmVy cy52aXN1YWxpemVycy5hcGEuY29sb3JzCiAgCiAgICB3aGlsZSBpIDw9ICNzdHIgZG8KICAgICAg ICBjPXN0cmluZy5zdWIoc3RyLGksaSkKICAKICAgICAgICBpZiBpbl9zdHJpbmcgdGhlbgogICAg ICAgICAgICBpZiBjPT0iXFwiIHRoZW4KICAgICAgICAgICAgICAgIHJlc3VsdFsjcmVzdWx0KzFd ID0gYnVmZmVycy5lc2NhcGVkKHN0cmluZy5zdWIoc3RyLGksaSsxKSkKICAgICAgICAgICAgICAg IGk9aSsxCiAgICAgICAgICAgIGVsc2VpZiBjPT0iXCIiIHRoZW4KICAgICAgICAgICAgICAgIHJl c3VsdFsjcmVzdWx0KzFdID0gYnVmZmVycy5lc2NhcGVkX2NocihjKQogICAgICAgICAgICAgICAg aW5fc3RyaW5nPWZhbHNlCiAgICAgICAgICAgICAgICBzdGF0ZSA9IGJ1ZmZlcnMuZmluaXNoX3N0 YXRlKHN0YXRlLHJlc3VsdCkKICAgICAgICAgICAgZWxzZWlmIGM9PSJcJyIgdGhlbgogICAgICAg ICAgICAgICAgcmVzdWx0WyNyZXN1bHQrMV0gPSBidWZmZXJzLmVzY2FwZWRfY2hyKGMpCiAgICAg ICAgICAgICAgICBpbl9zdHJpbmc9ZmFsc2UKICAgICAgICAgICAgICAgIHN0YXRlID0gYnVmZmVy cy5maW5pc2hfc3RhdGUoc3RhdGUscmVzdWx0KQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAg ICAgICByZXN1bHRbI3Jlc3VsdCsxXSA9IGJ1ZmZlcnMuZXNjYXBlZF9jaHIoYykKICAgICAgICAg ICAgZW5kCiAgICAgICAgZWxzZQogICAgICAgICAgICBmb3IgXyx2IGluIGlwYWlycyhkZWxpbWl0 ZXJzKSBkbwogICAgICAgICAgICAgICAgaWYgIGM9PXYgdGhlbgogICAgICAgICAgICAgICAgICAg IGlzX2RlbGltaXRlciA9IHRydWUKICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAgICBlbmQK ICAgICAgICAgICAgaWYgaXNfZGVsaW1pdGVyIHRoZW4KICAgICAgICAgICAgICAgIGlmIGM9PSIg IiB0aGVuCiAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBidWZmZXJzLmZsdXNoX2FwYV93b3Jk KHN0YXRlLHdvcmQscmVzdWx0KQogICAgICAgICAgICAgICAgICAgIHJlc3VsdFsjcmVzdWx0KzFd ID0gIlxcb2JzICIKICAgICAgICAgICAgICAgIGVsc2VpZiAoYz09IiMiKSB0aGVuCiAgICAgICAg ICAgICAgICAgICAgc3RhdGUgPSBidWZmZXJzLmZsdXNoX2FwYV93b3JkKHN0YXRlLHdvcmQscmVz dWx0KQogICAgICAgICAgICAgICAgICAgIHN0YXRlID0gYnVmZmVycy5jaGFuZ2Vfc3RhdGUoNCxz dGF0ZSxyZXN1bHQpCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0WyNyZXN1bHQrMV0gPSBidWZm ZXJzLmVzY2FwZWQoc3RyaW5nLnN1YihzdHIsaSkpCiAgICAgICAgICAgICAgICAgICAgaT0jc3Ry CiAgICAgICAgICAgICAgICBlbHNlaWYgKGM9PSJcIiIpIGFuZCBub3QgaW5fc3RyaW5nIHRoZW4K ICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IGJ1ZmZlcnMuZmx1c2hfYXBhX3dvcmQoc3RhdGUs d29yZCxyZXN1bHQpCiAgICAgICAgICAgICAgICAgICAgaW5fc3RyaW5nID0gdHJ1ZQogICAgICAg ICAgICAgICAgICAgIHN0YXRlID0gYnVmZmVycy5jaGFuZ2Vfc3RhdGUoMixzdGF0ZSxyZXN1bHQp CiAgICAgICAgICAgICAgICAgICAgcmVzdWx0WyNyZXN1bHQrMV0gPSBidWZmZXJzLmVzY2FwZWRf Y2hyKGMpCiAgICAgICAgICAgICAgICBlbHNlaWYgKGM9PSJcJyIpIGFuZCBub3QgaW5fc3RyaW5n IHRoZW4KICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IGJ1ZmZlcnMuZmx1c2hfYXBhX3dvcmQo c3RhdGUsd29yZCxyZXN1bHQpCiAgICAgICAgICAgICAgICAgICAgaW5fc3RyaW5nID0gdHJ1ZQog ICAgICAgICAgICAgICAgICAgIHN0YXRlID0gYnVmZmVycy5jaGFuZ2Vfc3RhdGUoMixzdGF0ZSxy ZXN1bHQpCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0WyNyZXN1bHQrMV0gPSBidWZmZXJzLmVz Y2FwZWRfY2hyKGMpCiAgICAgICAgICAgICAgICBlbHNlaWYgKGM9PSI+IikgYW5kIG5vdCBpbl9z dHJpbmcgdGhlbgogICAgICAgICAgICAgICAgICAgIHN0YXRlID0gYnVmZmVycy5mbHVzaF9hcGFf d29yZChzdGF0ZSx3b3JkLHJlc3VsdCkKICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IGJ1ZmZl cnMuY2hhbmdlX3N0YXRlKDEsc3RhdGUscmVzdWx0KQogICAgICAgICAgICAgICAgICAgIHJlc3Vs dFsjcmVzdWx0KzFdID0gYnVmZmVycy5lc2NhcGVkX2NocihjKQogICAgICAgICAgICAgICAgZWxz ZWlmIChjPT0iLiIpIGFuZCAoI3dvcmQ9PTAgb3Igc3RyaW5nLmZpbmQoc3RyaW5nLnN1Yih3b3Jk LDEsMSksJyVkJykpIHRoZW4KICAgICAgICAgICAgICAgICAgICB3b3JkID0gd29yZCAuLiBjCiAg ICAgICAgICAgICAgICAgICAgaXNfZGVsaW1pdGVyPWZhbHNlCiAgICAgICAgICAgICAgICBlbHNl CiAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSBidWZmZXJzLmZsdXNoX2FwYV93b3JkKHN0YXRl LHdvcmQscmVzdWx0KQogICAgICAgICAgICAgICAgICAgIHJlc3VsdFsjcmVzdWx0KzFdID0gYnVm ZmVycy5lc2NhcGVkX2NocihjKQogICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgICBp ZiBpc19kZWxpbWl0ZXIgdGhlbgogICAgICAgICAgICAgICAgICAgIHdvcmQgPSAiIgogICAgICAg ICAgICAgICAgICAgIGlzX2RlbGltaXRlcj1mYWxzZQogICAgICAgICAgICAgICAgZW5kCiAgICAg ICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHdvcmQgPSB3b3JkIC4uIGMKICAgICAgICAgICAg ZW5kCiAgICAgICAgZW5kCiAgICAgICAgaT1pKzEKICAgIGVuZAogICAgc3RhdGUgPSBidWZmZXJz LmZsdXNoX2FwYV93b3JkKHN0YXRlLHdvcmQscmVzdWx0KQogICAgYnVmZmVycy5mbHVzaF9yZXN1 bHQocmVzdWx0LGZhbHNlKQplbmQK --001485f7d7fe6fbb8a0467b20184 Content-Type: application/octet-stream; name="verb-cfg.lua" Content-Disposition: attachment; filename="verb-cfg.lua" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ftlwnuoc2 LS0gZmlsZW5hbWUgOiB2ZXJiLWNmZy5sdWEKLS0gY29tbWVudCAgOiBTeW50YXggaGlnaGxpZ2h0 aW5nIGZvciB6Yy5idWlsZG91dCBjb25maWcgZmlsZXMuCi0tICAgICAgICAgICAgVXNlZCBvcmln aW5hbCB0ZXgvY29udGV4dC9iYXNlL3ZlcmItKi5sdWEgZmlsZXMsCi0tICAgICAgICAgICAgdmVy Yi1jcHAubHVhIHBvc3RlZCBieSBTaGVuIENoZW4gdG8gdGhlIE5URy1jb250ZXh0Ci0tICAgICAg ICAgICAgbGlzdCAoaHR0cDovL2FyY2hpdmUuY29udGV4dGdhcmRlbi5uZXQvbWVzc2FnZS8yMDA4 MTAwMi4xNzM4MDIuNDYwYzQ2ZmUuZW4uaHRtbCkKLS0gICAgICAgICAgICBhbmQgdmltIHN5bnRh eCBmaWxlcyBhcyBzdGFydGluZyBwb2ludHMuCi0tIGF1dGhvciAgIDogRHJhxb5lbiBCYWnEhwpp ZiBub3QgYnVmZmVycyAgICAgICAgICAgICAgICAgIHRoZW4gYnVmZmVycyAgICAgICAgICAgICAg ICAgID0geyB9IGVuZAppZiBub3QgYnVmZmVycy52aXN1YWxpemVycyAgICAgIHRoZW4gYnVmZmVy cy52aXN1YWxpemVycyAgICAgID0geyB9IGVuZAppZiBub3QgYnVmZmVycy52aXN1YWxpemVycy5j ZmcgIHRoZW4gYnVmZmVycy52aXN1YWxpemVycy5jZmcgID0geyB9IGVuZAoKYnVmZmVycy52aXN1 YWxpemVycy5jZmcuY2F0ZWdvcmllcyA9IHt9CgpidWZmZXJzLnZpc3VhbGl6ZXJzLmNmZy5kZWxp bWl0ZXJzID0gewogICAgJyInLCAnXCcnLCAnICcsICcjJywgJyonLCAnPicgLCc9JywgJ1snLCAn XScsICd7JywgJ30nLCAnJCcKfQoKYnVmZmVycy52aXN1YWxpemVycy5jZmcuY29sb3JzID0gewog ICAgInByZXR0eW9uZSIsICAgLS0gc2VjdGlvbnMKICAgICJwcmV0dHl0d28iLCAgIC0tIHZhcmlh YmxlcwogICAgInByZXR0eXRocmVlIiwgLS0ga2V5d29yZHMKICAgICJwcmV0dHlmb3VyIiAgIC0t IGNvbW1lbnRzCn0KCmJ1ZmZlcnMudmlzdWFsaXplcnMuY2ZnLmNhdGVnb3JpZXMua2V5d29yZHMg PSB7CiAgICAnYWRkaXRpb25hbC1mYWtlLWVnZ3MnLCAKICAgICdjbGllbnQxLWFkZHJlc3MnLCAn Y2xpZW50Mi1hZGRyZXNzJywgJ2NvbW1hbmQnLCAKICAgICdkZWJ1Zy1tb2RlJywgJ2RlcHJlY2F0 aW9uLXdhcm5pbmdzJywgJ2RldmVsb3AnLCAnZG93bmxvYWQtY2FjaGUnLAogICAgJ2VmZmVjdGl2 ZS11c2VyJywgJ2VnZ3MnLCAnZWdncy1kaXJlY3RvcnknLCAnZW52aXJvbm1lbnQtdmFycycsICdl dmVudC1sb2cnLCAnZXh0ZW5kcycsICdleHRyYS1wYXRocycsIAogICAgJ2Zha2Utem9wZS1lZ2dz JywgJ2ZpbmQtbGlua3MnLCAKICAgICdodHRwLWFkZHJlc3MnLCAKICAgICdpbnN0YW5jZS1jbG9u ZScsICdpbnRlcnByZXRlcicsIAogICAgJ2xvY2stZmlsZScsIAogICAgJ25lc3RlZC1wYWNrYWdl cycsICduZXdlc3QnLCAKICAgICdwYXJ0cycsICdwaWQtZmlsZScsICdwcmltYXJ5LXBvcnQnLCAn cHJvZHVjdHMnLCAKICAgICdyZWNpcGUnLCAKICAgICdzY3JpcHRzJywgJ3NvY2tldC1uYW1lJywg J3N1ZG8tY29tbWFuZCcsIAogICAgJ3VuemlwJywgJ3VwZGF0ZS1jb21tYW5kJywgJ3VybCcsICd1 cmxzJywgJ3VzZXInLCAKICAgICd2ZXJib3NlLXNlY3VyaXR5JywgJ3ZlcnNpb24tc3VmZml4LXBh Y2thZ2VzJywgJ3ZlcnNpb25zJywgCiAgICAnejItbG9nJywgJ3pjbWwnLCAnemVvLWFkZHJlc3Mn LCAnemVvLWNsaWVudCcsICd6ZW8tbG9nJywgJ3pvcGUtZGlyZWN0b3J5JywgJ3pvcGUyLWxvY2F0 aW9uJwp9CgpidWZmZXJzLnZpc3VhbGl6ZXJzLmNmZy53b3JkcyA9IHsgfQoKZm9yIGssdiBpbiBw YWlycyhidWZmZXJzLnZpc3VhbGl6ZXJzLmNmZy5jYXRlZ29yaWVzKSBkbwogICAgZm9yIF8sdyBp biBwYWlycyh2KSBkbwogICAgICAgIGJ1ZmZlcnMudmlzdWFsaXplcnMuY2ZnLndvcmRzW3ddID0g awogICAgZW5kCmVuZAoKZnVuY3Rpb24gYnVmZmVycy5mbHVzaF9jZmdfd29yZChzdGF0ZSwgd29y ZCwgcmVzdWx0KQogICAgaWYgI3dvcmQ+MCB0aGVuCiAgICAgICAgbG9jYWwgaWQgPSBidWZmZXJz LnZpc3VhbGl6ZXJzLmNmZy53b3Jkc1t3b3JkXQogICAgICAgIGlmIGlkID09ICdrZXl3b3Jkcycg dGhlbgogICAgICAgICAgICBzdGF0ZSA9IGJ1ZmZlcnMuY2hhbmdlX3N0YXRlKDMsc3RhdGUscmVz dWx0KQogICAgICAgICAgICByZXN1bHRbI3Jlc3VsdCsxXSA9IGJ1ZmZlcnMuZXNjYXBlZCh3b3Jk KQogICAgICAgICAgICBzdGF0ZSA9IGJ1ZmZlcnMuZmluaXNoX3N0YXRlKHN0YXRlLHJlc3VsdCkK ICAgICAgICAgICAgcmV0dXJuIHN0YXRlCiAgICAgICAgZWxzZWlmIGlkIHRoZW4KICAgICAgICAg ICAgc3RhdGUgPSBidWZmZXJzLmNoYW5nZV9zdGF0ZSgzLHN0YXRlLHJlc3VsdCkKICAgICAgICAg ICAgcmVzdWx0WyNyZXN1bHQrMV0gPSBidWZmZXJzLmVzY2FwZWQod29yZCkKICAgICAgICAgICAg c3RhdGUgPSBidWZmZXJzLmZpbmlzaF9zdGF0ZShzdGF0ZSxyZXN1bHQpCiAgICAgICAgICAgIHJl dHVybiBzdGF0ZQogICAgICAgIGVsc2UKICAgICAgICAgICAgcmVzdWx0WyNyZXN1bHQrMV0gPSBi dWZmZXJzLmVzY2FwZWQod29yZCkKICAgICAgICAgICAgcmV0dXJuIHN0YXRlCiAgICAgICAgZW5k CiAgICBlbHNlCiAgICAgICAgc3RhdGUgPSBidWZmZXJzLmZpbmlzaF9zdGF0ZShzdGF0ZSxyZXN1 bHQpCiAgICAgICAgcmV0dXJuIHN0YXRlCiAgICBlbmQKZW5kCgoKZnVuY3Rpb24gYnVmZmVycy52 aXN1YWxpemVycy5jZmcuZmx1c2hfbGluZShzdHIsbmVzdGVkKQogICAgbG9jYWwgaSwgcmVzdWx0 ICwgd29yZCA9IDEsIHsgfSwgIiIKICAgIGxvY2FsIHN0YXRlID0gMAogICAgbG9jYWwgZGVsaW1p dGVycz1idWZmZXJzLnZpc3VhbGl6ZXJzLmNmZy5kZWxpbWl0ZXJzCiAgICBsb2NhbCBpc19kZWxp bWl0ZXIgPSBmYWxzZQogICAgbG9jYWwgaW5fdmFyaWFibGUgPSBmYWxzZQogICAgbG9jYWwgaW5f c2VjdGlvbiA9IGZhbHNlCiAgICBidWZmZXJzLmN1cnJlbnRjb2xvcnMgPSBidWZmZXJzLnZpc3Vh bGl6ZXJzLmNmZy5jb2xvcnMKCiAgICB3aGlsZSBpIDw9ICNzdHIgZG8KICAgICAgICBjPXN0cmlu Zy5zdWIoc3RyLGksaSkKCiAgICAgICAgaWYgaW5fdmFyaWFibGUgdGhlbgogICAgICAgICAgICBp ZiBjPT0ifSIgdGhlbgogICAgICAgICAgICAgICAgcmVzdWx0WyNyZXN1bHQrMV0gPSBidWZmZXJz LmVzY2FwZWRfY2hyKGMpCiAgICAgICAgICAgICAgICBpbl92YXJpYWJsZT1mYWxzZQogICAgICAg ICAgICAgICAgc3RhdGUgPSBidWZmZXJzLmZpbmlzaF9zdGF0ZShzdGF0ZSxyZXN1bHQpCiAgICAg ICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHJlc3VsdFsjcmVzdWx0KzFdID0gYnVmZmVycy5l c2NhcGVkX2NocihjKQogICAgICAgICAgICBlbmQKICAgICAgICBlbHNlaWYgaW5fc2VjdGlvbiB0 aGVuCiAgICAgICAgICAgIGlmIGM9PSJdIiB0aGVuCiAgICAgICAgICAgICAgICByZXN1bHRbI3Jl c3VsdCsxXSA9IGJ1ZmZlcnMuZXNjYXBlZF9jaHIoYykKICAgICAgICAgICAgICAgIGluX3NlY3Rp b249ZmFsc2UKICAgICAgICAgICAgICAgIHN0YXRlID0gYnVmZmVycy5maW5pc2hfc3RhdGUoc3Rh dGUscmVzdWx0KQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICByZXN1bHRbI3Jlc3Vs dCsxXSA9IGJ1ZmZlcnMuZXNjYXBlZF9jaHIoYykKICAgICAgICAgICAgZW5kCiAgICAgICAgZWxz ZQogICAgICAgICAgICBmb3IgXyx2IGluIGlwYWlycyhkZWxpbWl0ZXJzKSBkbwogICAgICAgICAg ICAgICAgaWYgIGM9PXYgdGhlbgogICAgICAgICAgICAgICAgICAgIGlzX2RlbGltaXRlciA9IHRy dWUKICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAgICBlbmQKICAgICAgICAgICAgaWYgaXNf ZGVsaW1pdGVyIHRoZW4KICAgICAgICAgICAgICAgIGlmIGM9PSIgIiB0aGVuCiAgICAgICAgICAg ICAgICAgICAgc3RhdGUgPSBidWZmZXJzLmZsdXNoX2NmZ193b3JkKHN0YXRlLHdvcmQscmVzdWx0 KQogICAgICAgICAgICAgICAgICAgIHJlc3VsdFsjcmVzdWx0KzFdID0gIlxcb2JzICIKICAgICAg ICAgICAgICAgIGVsc2VpZiAoYz09IiMiKSB0aGVuCiAgICAgICAgICAgICAgICAgICAgc3RhdGUg PSBidWZmZXJzLmZsdXNoX2NmZ193b3JkKHN0YXRlLHdvcmQscmVzdWx0KQogICAgICAgICAgICAg ICAgICAgIHN0YXRlID0gYnVmZmVycy5jaGFuZ2Vfc3RhdGUoNCxzdGF0ZSxyZXN1bHQpCiAgICAg ICAgICAgICAgICAgICAgcmVzdWx0WyNyZXN1bHQrMV0gPSBidWZmZXJzLmVzY2FwZWQoc3RyaW5n LnN1YihzdHIsaSkpCiAgICAgICAgICAgICAgICAgICAgaT0jc3RyCiAgICAgICAgICAgICAgICBl bHNlaWYgKGM9PSIkIikgYW5kIHN0cmluZy5zdWIoc3RyLGksaSsxKT09IiR7IiB0aGVuCiAgICAg ICAgICAgICAgICAgICAgc3RhdGUgPSBidWZmZXJzLmZsdXNoX2NmZ193b3JkKHN0YXRlLHdvcmQs cmVzdWx0KQogICAgICAgICAgICAgICAgICAgIGluX3ZhcmlhYmxlID0gdHJ1ZQogICAgICAgICAg ICAgICAgICAgIHN0YXRlID0gYnVmZmVycy5jaGFuZ2Vfc3RhdGUoMixzdGF0ZSxyZXN1bHQpCiAg ICAgICAgICAgICAgICAgICAgcmVzdWx0WyNyZXN1bHQrMV0gPSBidWZmZXJzLmVzY2FwZWQoc3Ry aW5nLnN1YihzdHIsaSxpKzEpKQogICAgICAgICAgICAgICAgICAgIGk9aSsxCiAgICAgICAgICAg ICAgICBlbHNlaWYgKGM9PSJbIikgYW5kIG5vdCBpbl9zZWN0aW9uIHRoZW4KICAgICAgICAgICAg ICAgICAgICBzdGF0ZSA9IGJ1ZmZlcnMuZmx1c2hfY2ZnX3dvcmQoc3RhdGUsd29yZCxyZXN1bHQp CiAgICAgICAgICAgICAgICAgICAgaW5fc2VjdGlvbiA9IHRydWUKICAgICAgICAgICAgICAgICAg ICBzdGF0ZSA9IGJ1ZmZlcnMuY2hhbmdlX3N0YXRlKDEsc3RhdGUscmVzdWx0KQogICAgICAgICAg ICAgICAgICAgIHJlc3VsdFsjcmVzdWx0KzFdID0gYnVmZmVycy5lc2NhcGVkX2NocihjKQogICAg ICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIHN0YXRlID0gYnVmZmVycy5mbHVz aF9jZmdfd29yZChzdGF0ZSx3b3JkLHJlc3VsdCkKICAgICAgICAgICAgICAgICAgICByZXN1bHRb I3Jlc3VsdCsxXSA9IGJ1ZmZlcnMuZXNjYXBlZF9jaHIoYykKICAgICAgICAgICAgICAgIGVuZAog ICAgICAgICAgICAgICAgaWYgaXNfZGVsaW1pdGVyIHRoZW4KICAgICAgICAgICAgICAgICAgICB3 b3JkID0gIiIKICAgICAgICAgICAgICAgICAgICBpc19kZWxpbWl0ZXI9ZmFsc2UKICAgICAgICAg ICAgICAgIGVuZAogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICB3b3JkID0gd29yZCAu LiBjCiAgICAgICAgICAgIGVuZAogICAgICAgIGVuZAogICAgaT1pKzEKICAgIGVuZAogICAgc3Rh dGUgPSBidWZmZXJzLmZsdXNoX2NmZ193b3JkKHN0YXRlLHdvcmQscmVzdWx0KQogICAgYnVmZmVy cy5mbHVzaF9yZXN1bHQocmVzdWx0LGZhbHNlKQplbmQK --001485f7d7fe6fbb8a0467b20184 Content-Type: application/octet-stream; name="verb-py.lua" Content-Disposition: attachment; filename="verb-py.lua" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ftlwo0zw3 LS0gZmlsZW5hbWUgOiB2ZXJiLXB5Lmx1YQotLSBjb21tZW50ICA6IFN5bnRheCBoaWdobGlnaHRp bmcgZm9yIFB5dGhvbiBmaWxlcy4KLS0gICAgICAgICAgICBVc2VkIG9yaWdpbmFsIHRleC9jb250 ZXh0L2Jhc2UvdmVyYi0qLmx1YSBmaWxlcywKLS0gICAgICAgICAgICB2ZXJiLWNwcC5sdWEgcG9z dGVkIGJ5IFNoZW4gQ2hlbiB0byB0aGUgTlRHLWNvbnRleHQKLS0gICAgICAgICAgICBsaXN0ICho dHRwOi8vYXJjaGl2ZS5jb250ZXh0Z2FyZGVuLm5ldC9tZXNzYWdlLzIwMDgxMDAyLjE3MzgwMi40 NjBjNDZmZS5lbi5odG1sKQotLSAgICAgICAgICAgIGFuZCB2aW0gc3ludGF4IGZpbGVzIGFzIHN0 YXJ0aW5nIHBvaW50cy4KLS0gYXV0aG9yICAgOiBEcmHFvmVuIEJhacSHCmlmIG5vdCBidWZmZXJz ICAgICAgICAgICAgICAgICAgdGhlbiBidWZmZXJzICAgICAgICAgICAgICAgICAgPSB7IH0gZW5k CmlmIG5vdCBidWZmZXJzLnZpc3VhbGl6ZXJzICAgICAgdGhlbiBidWZmZXJzLnZpc3VhbGl6ZXJz ICAgICAgPSB7IH0gZW5kCmlmIG5vdCBidWZmZXJzLnZpc3VhbGl6ZXJzLnB5ICAgdGhlbiBidWZm ZXJzLnZpc3VhbGl6ZXJzLnB5ICAgPSB7IH0gZW5kCgpidWZmZXJzLnZpc3VhbGl6ZXJzLnB5Lmlu X3B5X3Jhd19zdHJpbmcgPSBmYWxzZQoKYnVmZmVycy52aXN1YWxpemVycy5weS5jYXRlZ29yaWVz ID0ge30KCmJ1ZmZlcnMudmlzdWFsaXplcnMucHkuZGVsaW1pdGVycyA9IHsKICAgICdAJywgJyUn LCAnXicsICcmJywgJyonLCAnKCcsICcpJywgJy0nLCAnKycsIAogICAgJz0nLCAnfCcsICdcXCcs ICcvJywgJ3snLCAnfScsICdbJywgJ10nLCAnOicsICc7JywgJyInLCAKICAgICdcJycsICc8Jywg Jz4nLCAnLCcsICcuJywgJz8nLCAnICcsICcjJyAKfQoKYnVmZmVycy52aXN1YWxpemVycy5weS5j b2xvcnMgPSB7CiAgICAicHJldHR5b25lIiwgICAtLSBzdGF0ZW1lbnRzLCByZXBlYXRzLCBjb25k aXRpb25hbHMgYW5kIG9wZXJhdG9ycwogICAgInByZXR0eXR3byIsICAgLS0gc3RyaW5ncwogICAg InByZXR0eXRocmVlIiwgLS0gcHJlY29uZGl0aW9ucwogICAgInByZXR0eWZvdXIiLCAgLS0gY29t bWVudHMKICAgICJwcmV0dHlmaXZlIiAgIC0tIGJ1aWx0aW5zCn0KCmJ1ZmZlcnMudmlzdWFsaXpl cnMucHkuY2F0ZWdvcmllcy5zdGF0ZW1lbnRzID0gewogICAgJ2Fzc2VydCcsCiAgICAnYnJlYWsn LAogICAgJ2NvbnRpbnVlJywKICAgICdkZWwnLAogICAgJ2V4Y2VwdCcsICdleGVjJywKICAgICdm aW5hbGx5JywKICAgICdnbG9iYWwnLAogICAgJ2xhbWJkYScsCiAgICAncGFzcycsICdwcmludCcs CiAgICAncmFpc2UnLCAncmV0dXJuJywKICAgICd0cnknLAogICAgJ3dpdGgnLAogICAgJ3lpZWxk JywKICAgICdkZWYnLCAnY2xhc3MnCn0KCmJ1ZmZlcnMudmlzdWFsaXplcnMucHkuY2F0ZWdvcmll cy5yZXBlYXRzID0gewogICAgJ2ZvcicsICd3aGlsZScKfQoKYnVmZmVycy52aXN1YWxpemVycy5w eS5jYXRlZ29yaWVzLmNvbmRpdGlvbmFscyA9IHsKICAgICdpZicsICdlbGlmJywgJ2Vsc2UnLAp9 CgpidWZmZXJzLnZpc3VhbGl6ZXJzLnB5LmNhdGVnb3JpZXMub3BlcmF0b3JzID0gewogICAgJ2Fu ZCcsICdpbicsICdpcycsICdub3QnLCAnb3InCn0KCmJ1ZmZlcnMudmlzdWFsaXplcnMucHkuY2F0 ZWdvcmllcy5wcmVjb25kaXRzID0gewogICAgJ2ltcG9ydCcsICdmcm9tJywgJ2FzJwp9CgpidWZm ZXJzLnZpc3VhbGl6ZXJzLnB5LmNhdGVnb3JpZXMuYnVpbHRpbnMgPSB7CiAgICAgJ19faW1wb3J0 X18nLCAKICAgICAnYWJzJywgJ2FwcGx5JywgCiAgICAgJ2Jvb2wnLCAnYnVmZmVyJywgCiAgICAg J2NhbGxhYmxlJywgJ2NocicsICdjbGFzc21ldGhvZCcsICdjbXAnLCAnY29lcmNlJywgJ2NvbXBp bGUnLCAnY29tcGxleCcsIAogICAgICdkZWxhdHRyJywgJ2RpY3QnLCAnZGlyJywgJ2Rpdm1vZCcs IAogICAgICdlbnVtZXJhdGUnLCAnRWxsaXBzaXMnLCAnZXZhbCcsICdleGVjZmlsZScsIAogICAg ICdGYWxzZScsICdmaWxlJywgJ2ZpbHRlcicsICdmbG9hdCcsICdmcm96ZW5zZXQnLCAKICAgICAn Z2V0YXR0cicsICdnbG9iYWxzJywgCiAgICAgJ2hhc2F0dHInLCAnaGFzaCcsICdoZWxwJywgJ2hl eCcsIAogICAgICdpZCcsICdpbnB1dCcsICdpbnQnLCAnaW50ZXJuJywgJ2lzaW5zdGFuY2UnLCAn aXNzdWJjbGFzcycsICdpdGVyJywgCiAgICAgJ2xlbicsICdsaXN0JywgJ2xvY2FscycsICdsb25n JywgCiAgICAgJ21hcCcsICdtYXgnLCAnbWluJywgCiAgICAgJ05vbmUnLCAnTm90SW1wbGVtZW50 ZWQnLCAKICAgICAnb2JqZWN0JywgJ29jdCcsICdvcGVuJywgJ29yZCcsIAogICAgICdwb3cnLCAn cHJvcGVydHknLCAKICAgICAncmFuZ2UnLCAncmF3X2lucHV0JywgJ3JlZHVjZScsICdyZWxvYWQn LCAncmVwcicsICdyZXZlcnNlZCcsICdyb3VuZCcsIAogICAgICdzZXQnLCAnc2V0YXR0cicsICdz bGljZScsICdzb3J0ZWQnLCAnc3RhdGljbWV0aG9kJywgJ3N0cicsICdzdW0nLCAnc3VwZXInLAog ICAgICdUcnVlJywgJ3R1cGxlJywgJ3R5cGUnLCAKICAgICAndW5pY2hyJywgJ3VuaWNvZGUnLCAK ICAgICAndmFycycsIAogICAgICd4cmFuZ2UnLCAKICAgICAnemlwJwp9CgpidWZmZXJzLnZpc3Vh bGl6ZXJzLnB5LndvcmRzID0geyB9Cgpmb3Igayx2IGluIHBhaXJzKGJ1ZmZlcnMudmlzdWFsaXpl cnMucHkuY2F0ZWdvcmllcykgZG8KICAgIGZvciBfLHcgaW4gcGFpcnModikgZG8KICAgICAgICBi dWZmZXJzLnZpc3VhbGl6ZXJzLnB5LndvcmRzW3ddID0gawogICAgZW5kCmVuZAoKYnVmZmVycy52 aXN1YWxpemVycy5weS5zdHlsZXMgPSB7IH0KLS0gVW5jb21tZW50IHRoZSBmb2xsb3dpbmcgbGlu ZXMgdG8gZW5hYmxlIGRpZmZlcmVudAotLSBzdHlsZXMgZm9yIGVhY2ggc3RhdGUKLS0gYnVmZmVy cy52aXN1YWxpemVycy5weS5zdHlsZXMuc3RhdGVtZW50cyA9ICJcXGJmICIKLS0gYnVmZmVycy52 aXN1YWxpemVycy5weS5zdHlsZXMucmVwZWF0cyA9ICJcXGJpICIKLS0gYnVmZmVycy52aXN1YWxp emVycy5weS5zdHlsZXMuY29uZGl0aW9uYWxzID0gIlxcYmkgIgotLSBidWZmZXJzLnZpc3VhbGl6 ZXJzLnB5LnN0eWxlcy5vcGVyYXRvcnMgPSAiXFxiaSAiCi0tIGJ1ZmZlcnMudmlzdWFsaXplcnMu cHkuc3R5bGVzLnByZWNvbmRpdHMgPSAiXFxiZiAiCi0tIGJ1ZmZlcnMudmlzdWFsaXplcnMucHku c3R5bGVzLmNvbW1lbnRzID0gIlxcaXQgIgotLSBidWZmZXJzLnZpc3VhbGl6ZXJzLnB5LnN0eWxl cy5zdHJpbmdzID0gIlxcYmkgIgoKZnVuY3Rpb24gYnVmZmVycy5mbHVzaF9weV93b3JkKHN0YXRl LCB3b3JkLCByZXN1bHQpCiAgICBpZiAjd29yZD4wIHRoZW4KICAgICAgICBsb2NhbCBpZCA9IGJ1 ZmZlcnMudmlzdWFsaXplcnMucHkud29yZHNbd29yZF0KICAgICAgICBpZiBpZCA9PSAncHJlY29u ZGl0cycgdGhlbgogICAgICAgICAgICBzdGF0ZSA9IGJ1ZmZlcnMuY2hhbmdlX3N0YXRlKDMsc3Rh dGUscmVzdWx0KQogICAgICAgICAgICBpZiBidWZmZXJzLnZpc3VhbGl6ZXJzLnB5LnN0eWxlc1tp ZF0gdGhlbgogICAgICAgICAgICAgICAgcmVzdWx0WyNyZXN1bHQrMV0gPSBidWZmZXJzLnZpc3Vh bGl6ZXJzLnB5LnN0eWxlc1tpZF0gLi4gYnVmZmVycy5lc2NhcGVkKHdvcmQpCiAgICAgICAgICAg IGVsc2UKICAgICAgICAgICAgICAgIHJlc3VsdFsjcmVzdWx0KzFdID0gYnVmZmVycy5lc2NhcGVk KHdvcmQpCiAgICAgICAgICAgIGVuZAogICAgICAgICAgICBzdGF0ZSA9IGJ1ZmZlcnMuZmluaXNo X3N0YXRlKHN0YXRlLHJlc3VsdCkKICAgICAgICAgICAgcmV0dXJuIHN0YXRlCiAgICAgICAgZWxz ZWlmIGlkID09ICdidWlsdGlucycgdGhlbgogICAgICAgICAgICBzdGF0ZSA9IGJ1ZmZlcnMuY2hh bmdlX3N0YXRlKDUsc3RhdGUscmVzdWx0KQogICAgICAgICAgICByZXN1bHRbI3Jlc3VsdCsxXSA9 IGJ1ZmZlcnMuZXNjYXBlZCh3b3JkKQogICAgICAgICAgICBzdGF0ZSA9IGJ1ZmZlcnMuZmluaXNo X3N0YXRlKHN0YXRlLHJlc3VsdCkKICAgICAgICAgICAgcmV0dXJuIHN0YXRlCiAgICAgICAgZWxz ZWlmIGlkIHRoZW4KICAgICAgICAgIHN0YXRlID0gYnVmZmVycy5jaGFuZ2Vfc3RhdGUoMSxzdGF0 ZSxyZXN1bHQpCiAgICAgICAgICBpZiBidWZmZXJzLnZpc3VhbGl6ZXJzLnB5LnN0eWxlc1tpZF0g dGhlbgogICAgICAgICAgICAgIHJlc3VsdFsjcmVzdWx0KzFdID0gYnVmZmVycy52aXN1YWxpemVy cy5weS5zdHlsZXNbaWRdIC4uIGJ1ZmZlcnMuZXNjYXBlZCh3b3JkKQogICAgICAgICAgZWxzZQog ICAgICAgICAgICAgIHJlc3VsdFsjcmVzdWx0KzFdID0gYnVmZmVycy5lc2NhcGVkKHdvcmQpCiAg ICAgICAgICBlbmQKICAgICAgICAgICAgc3RhdGUgPSBidWZmZXJzLmZpbmlzaF9zdGF0ZShzdGF0 ZSxyZXN1bHQpCiAgICAgICAgICAgIHJldHVybiBzdGF0ZQogICAgICAgIGVsc2UKICAgICAgICAg ICAgcmVzdWx0WyNyZXN1bHQrMV0gPSBidWZmZXJzLmVzY2FwZWQod29yZCkKICAgICAgICAgICAg cmV0dXJuIHN0YXRlCiAgICAgICAgZW5kCiAgICBlbHNlCiAgICAgICAgc3RhdGUgPSBidWZmZXJz LmZpbmlzaF9zdGF0ZShzdGF0ZSxyZXN1bHQpCiAgICAgICAgcmV0dXJuIHN0YXRlCiAgICBlbmQK ZW5kCgoKZnVuY3Rpb24gYnVmZmVycy52aXN1YWxpemVycy5weS5mbHVzaF9saW5lKHN0cixuZXN0 ZWQpCiAgICBsb2NhbCBpLCByZXN1bHQgLCB3b3JkID0gMSwgeyB9LCAiIgogICAgbG9jYWwgc3Rh dGUgPSAwCiAgICBsb2NhbCBkZWxpbWl0ZXJzPWJ1ZmZlcnMudmlzdWFsaXplcnMucHkuZGVsaW1p dGVycwogICAgbG9jYWwgaXNfZGVsaW1pdGVyID0gZmFsc2UKICAgIGxvY2FsIGluX3N0cmluZyA9 IGZhbHNlCiAgCiAgICBidWZmZXJzLmN1cnJlbnRjb2xvcnMgPSBidWZmZXJzLnZpc3VhbGl6ZXJz LnB5LmNvbG9ycwogIAogICAgd2hpbGUgaSA8PSAjc3RyIGRvCiAgICAgICAgYz1zdHJpbmcuc3Vi KHN0cixpLGkpCiAgICAgICAgaWYgYnVmZmVycy52aXN1YWxpemVycy5weS5pbl9weV9yYXdfc3Ry aW5nIHRoZW4KICAgICAgICAgICAgaWYgYz09IlwnIiBhbmQgc3RyaW5nLnN1YihzdHIsaSxpKzIp PT0iXCdcJ1wnIiB0aGVuCiAgICAgICAgICAgICAgICAtLSB3aXRob3V0IHRoZSBuZXh0IGxpbmUg dGhlIHRyaXBsZSBxdW90ZXMgd29uJ3QgYmUgY29sb3JlZAogICAgICAgICAgICAgICAgLS0gY29y cmVjdGx5IGlmIHRoZXkgYXBwZWFyIGluIHRoZSBiZWdpbm5pbmcgb2YgYSBsaW5lCiAgICAgICAg ICAgICAgICBzdGF0ZSA9IGJ1ZmZlcnMuY2hhbmdlX3N0YXRlKDIsc3RhdGUscmVzdWx0KQogICAg ICAgICAgICAgICAgcmVzdWx0WyNyZXN1bHQrMV0gPSBidWZmZXJzLmVzY2FwZWQoc3RyaW5nLnN1 YihzdHIsaSxpKzIpKQogICAgICAgICAgICAgICAgaT1pKzIKICAgICAgICAgICAgICAgIGJ1ZmZl cnMudmlzdWFsaXplcnMucHkuaW5fcHlfcmF3X3N0cmluZz1mYWxzZQogICAgICAgICAgICAgICAg c3RhdGUgPSBidWZmZXJzLmZpbmlzaF9zdGF0ZShzdGF0ZSxyZXN1bHQpCiAgICAgICAgICAgIGVs c2VpZiBjPT0iXCIiIGFuZCBzdHJpbmcuc3ViKHN0cixpLGkrMik9PSJcIlwiXCIiIHRoZW4KICAg ICAgICAgICAgICAgIC0tIHdpdGhvdXQgdGhlIG5leHQgbGluZSB0aGUgdHJpcGxlIHF1b3RlcyB3 b24ndCBiZSBjb2xvcmVkCiAgICAgICAgICAgICAgICAtLSBjb3JyZWN0bHkgaWYgdGhleSBhcHBl YXIgaW4gdGhlIGJlZ2lubmluZyBvZiBhIGxpbmUKICAgICAgICAgICAgICAgIHN0YXRlID0gYnVm ZmVycy5jaGFuZ2Vfc3RhdGUoMixzdGF0ZSxyZXN1bHQpCiAgICAgICAgICAgICAgICByZXN1bHRb I3Jlc3VsdCsxXSA9IGJ1ZmZlcnMuZXNjYXBlZChzdHJpbmcuc3ViKHN0cixpLGkrMikpCiAgICAg ICAgICAgICAgICBpPWkrMgogICAgICAgICAgICAgICAgYnVmZmVycy52aXN1YWxpemVycy5weS5p bl9weV9yYXdfc3RyaW5nPWZhbHNlCiAgICAgICAgICAgICAgICBzdGF0ZSA9IGJ1ZmZlcnMuZmlu aXNoX3N0YXRlKHN0YXRlLHJlc3VsdCkKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAg c3RhdGUgPSBidWZmZXJzLmNoYW5nZV9zdGF0ZSgyLHN0YXRlLHJlc3VsdCkKICAgICAgICAgICAg ICAgIHJlc3VsdFsjcmVzdWx0KzFdID0gYnVmZmVycy5lc2NhcGVkX2NocihjKQogICAgICAgICAg ICBlbmQKICAgICAgICBlbHNlaWYgaW5fc3RyaW5nIHRoZW4KICAgICAgICAgICAgaWYgYz09Ilxc IiB0aGVuCiAgICAgICAgICAgICAgICByZXN1bHRbI3Jlc3VsdCsxXSA9IGJ1ZmZlcnMuZXNjYXBl ZChzdHJpbmcuc3ViKHN0cixpLGkrMSkpCiAgICAgICAgICAgICAgICBpPWkrMQogICAgICAgICAg ICBlbHNlaWYgYz09IlwiIiB0aGVuCiAgICAgICAgICAgICAgICByZXN1bHRbI3Jlc3VsdCsxXSA9 IGJ1ZmZlcnMuZXNjYXBlZF9jaHIoYykKICAgICAgICAgICAgICAgIGluX3N0cmluZz1mYWxzZQog ICAgICAgICAgICAgICAgc3RhdGUgPSBidWZmZXJzLmZpbmlzaF9zdGF0ZShzdGF0ZSxyZXN1bHQp CiAgICAgICAgICAgIGVsc2VpZiBjPT0iXCciIHRoZW4KICAgICAgICAgICAgICAgIHJlc3VsdFsj cmVzdWx0KzFdID0gYnVmZmVycy5lc2NhcGVkX2NocihjKQogICAgICAgICAgICAgICAgaW5fc3Ry aW5nPWZhbHNlCiAgICAgICAgICAgICAgICBzdGF0ZSA9IGJ1ZmZlcnMuZmluaXNoX3N0YXRlKHN0 YXRlLHJlc3VsdCkKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgcmVzdWx0WyNyZXN1 bHQrMV0gPSBidWZmZXJzLmVzY2FwZWRfY2hyKGMpCiAgICAgICAgICAgIGVuZAogICAgICAgIGVs c2UKICAgICAgICAgICAgZm9yIF8sdiBpbiBpcGFpcnMoZGVsaW1pdGVycykgZG8KICAgICAgICAg ICAgICAgIGlmICBjPT12IHRoZW4KICAgICAgICAgICAgICAgICAgICBpc19kZWxpbWl0ZXIgPSB0 cnVlCiAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIGlmIGlz X2RlbGltaXRlciB0aGVuCiAgICAgICAgICAgICAgICBpZiBjPT0iICIgdGhlbgogICAgICAgICAg ICAgICAgICAgIHN0YXRlID0gYnVmZmVycy5mbHVzaF9weV93b3JkKHN0YXRlLHdvcmQscmVzdWx0 KQogICAgICAgICAgICAgICAgICAgIHJlc3VsdFsjcmVzdWx0KzFdID0gIlxcb2JzICIKICAgICAg ICAgICAgICAgIGVsc2VpZiAoYz09IlwnIikgYW5kIHN0cmluZy5zdWIoc3RyLGksaSsyKT09Ilwn XCdcJyIgdGhlbgogICAgICAgICAgICAgICAgICAgIHN0YXRlID0gYnVmZmVycy5mbHVzaF9weV93 b3JkKHN0YXRlLHdvcmQscmVzdWx0KQogICAgICAgICAgICAgICAgICAgIGJ1ZmZlcnMudmlzdWFs aXplcnMucHkuaW5fcHlfcmF3X3N0cmluZyA9IHRydWUKICAgICAgICAgICAgICAgICAgICBzdGF0 ZSA9IGJ1ZmZlcnMuY2hhbmdlX3N0YXRlKDIsc3RhdGUscmVzdWx0KQogICAgICAgICAgICAgICAg ICAgIHJlc3VsdFsjcmVzdWx0KzFdID0gYnVmZmVycy5lc2NhcGVkKHN0cmluZy5zdWIoc3RyLGks aSsxKSkKICAgICAgICAgICAgICAgICAgICBpPWkrMQogICAgICAgICAgICAgICAgZWxzZWlmIChj PT0iXCIiKSBhbmQgc3RyaW5nLnN1YihzdHIsaSxpKzIpPT0iXCJcIlwiIiB0aGVuCiAgICAgICAg ICAgICAgICAgICAgc3RhdGUgPSBidWZmZXJzLmZsdXNoX3B5X3dvcmQoc3RhdGUsd29yZCxyZXN1 bHQpCiAgICAgICAgICAgICAgICAgICAgYnVmZmVycy52aXN1YWxpemVycy5weS5pbl9weV9yYXdf c3RyaW5nID0gdHJ1ZQogICAgICAgICAgICAgICAgICAgIHN0YXRlID0gYnVmZmVycy5jaGFuZ2Vf c3RhdGUoMixzdGF0ZSxyZXN1bHQpCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0WyNyZXN1bHQr MV0gPSBidWZmZXJzLmVzY2FwZWQoc3RyaW5nLnN1YihzdHIsaSxpKzEpKQogICAgICAgICAgICAg ICAgICAgIGk9aSsxCiAgICAgICAgICAgICAgICBlbHNlaWYgKGM9PSIjIikgdGhlbgogICAgICAg ICAgICAgICAgICAgIHN0YXRlID0gYnVmZmVycy5mbHVzaF9weV93b3JkKHN0YXRlLHdvcmQscmVz dWx0KQogICAgICAgICAgICAgICAgICAgIHN0YXRlID0gYnVmZmVycy5jaGFuZ2Vfc3RhdGUoNCxz dGF0ZSxyZXN1bHQpCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0WyNyZXN1bHQrMV0gPSBidWZm ZXJzLmVzY2FwZWQoc3RyaW5nLnN1YihzdHIsaSkpCiAgICAgICAgICAgICAgICAgICAgaT0jc3Ry CiAgICAgICAgICAgICAgICBlbHNlaWYgKGM9PSJcIiIpIGFuZCBub3QgaW5fc3RyaW5nIHRoZW4K ICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9IGJ1ZmZlcnMuZmx1c2hfcHlfd29yZChzdGF0ZSx3 b3JkLHJlc3VsdCkKICAgICAgICAgICAgICAgICAgICBpbl9zdHJpbmcgPSB0cnVlCiAgICAgICAg ICAgICAgICAgICAgc3RhdGUgPSBidWZmZXJzLmNoYW5nZV9zdGF0ZSgyLHN0YXRlLHJlc3VsdCkK ICAgICAgICAgICAgICAgICAgICByZXN1bHRbI3Jlc3VsdCsxXSA9IGJ1ZmZlcnMuZXNjYXBlZF9j aHIoYykKICAgICAgICAgICAgICAgIGVsc2VpZiAoYz09IlwnIikgYW5kIG5vdCBpbl9zdHJpbmcg dGhlbgogICAgICAgICAgICAgICAgICAgIHN0YXRlID0gYnVmZmVycy5mbHVzaF9weV93b3JkKHN0 YXRlLHdvcmQscmVzdWx0KQogICAgICAgICAgICAgICAgICAgIGluX3N0cmluZyA9IHRydWUKICAg ICAgICAgICAgICAgICAgICBzdGF0ZSA9IGJ1ZmZlcnMuY2hhbmdlX3N0YXRlKDIsc3RhdGUscmVz dWx0KQogICAgICAgICAgICAgICAgICAgIHJlc3VsdFsjcmVzdWx0KzFdID0gYnVmZmVycy5lc2Nh cGVkX2NocihjKQogICAgICAgICAgICAgICAgZWxzZWlmIChjPT0iLiIpIGFuZCAoI3dvcmQ9PTAg b3Igc3RyaW5nLmZpbmQoc3RyaW5nLnN1Yih3b3JkLDEsMSksJyVkJykpIHRoZW4KICAgICAgICAg ICAgICAgICAgIHdvcmQgPSB3b3JkIC4uIGMKICAgICAgICAgICAgICAgICAgICBpc19kZWxpbWl0 ZXI9ZmFsc2UKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9 IGJ1ZmZlcnMuZmx1c2hfcHlfd29yZChzdGF0ZSx3b3JkLHJlc3VsdCkKICAgICAgICAgICAgICAg ICAgICByZXN1bHRbI3Jlc3VsdCsxXSA9IGJ1ZmZlcnMuZXNjYXBlZF9jaHIoYykKICAgICAgICAg ICAgICAgIGVuZAogICAgICAgICAgICAgICAgaWYgaXNfZGVsaW1pdGVyIHRoZW4KICAgICAgICAg ICAgICAgICAgICB3b3JkID0gIiIKICAgICAgICAgICAgICAgICAgICBpc19kZWxpbWl0ZXI9ZmFs c2UKICAgICAgICAgICAgICAgIGVuZAogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgd29y ZCA9IHdvcmQgLi4gYwogICAgICAgICAgICBlbmQKICAgICAgICBlbmQKICAgICAgICBpPWkrMQog ICAgZW5kCiAgICBzdGF0ZSA9IGJ1ZmZlcnMuZmx1c2hfcHlfd29yZChzdGF0ZSx3b3JkLHJlc3Vs dCkKICAgIGJ1ZmZlcnMuZmx1c2hfcmVzdWx0KHJlc3VsdCxmYWxzZSkKZW5kCg== --001485f7d7fe6fbb8a0467b20184 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ --001485f7d7fe6fbb8a0467b20184--