From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ryan Crum Newsgroups: gmane.emacs.bugs Subject: bug#12634: Patch for pretty-printing in json.el Date: Thu, 25 Oct 2012 10:55:39 -0400 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=f46d0418271489e9ee04cce36581 X-Trace: ger.gmane.org 1351180033 17119 80.91.229.3 (25 Oct 2012 15:47:13 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 25 Oct 2012 15:47:13 +0000 (UTC) To: 12634@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Oct 25 17:47:21 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1TRPeN-0005ek-O5 for geb-bug-gnu-emacs@m.gmane.org; Thu, 25 Oct 2012 17:47:16 +0200 Original-Received: from localhost ([::1]:43974 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TRPeG-0003wa-0v for geb-bug-gnu-emacs@m.gmane.org; Thu, 25 Oct 2012 11:47:08 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:50150) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TRPe9-0003sd-DZ for bug-gnu-emacs@gnu.org; Thu, 25 Oct 2012 11:47:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TRPe7-0007SX-GL for bug-gnu-emacs@gnu.org; Thu, 25 Oct 2012 11:47:01 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:51388) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TRPe7-0007SS-DW for bug-gnu-emacs@gnu.org; Thu, 25 Oct 2012 11:46:59 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1TRPg6-0007gK-TL for bug-gnu-emacs@gnu.org; Thu, 25 Oct 2012 11:49:02 -0400 X-Loop: help-debbugs@gnu.org In-Reply-To: Resent-From: Ryan Crum Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 25 Oct 2012 15:49:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 12634 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 12634-submit@debbugs.gnu.org id=B12634.135118012629495 (code B ref 12634); Thu, 25 Oct 2012 15:49:02 +0000 Original-Received: (at 12634) by debbugs.gnu.org; 25 Oct 2012 15:48:46 +0000 Original-Received: from localhost ([127.0.0.1]:33404 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TRPfq-0007fg-Ds for submit@debbugs.gnu.org; Thu, 25 Oct 2012 11:48:46 -0400 Original-Received: from mail-wg0-f46.google.com ([74.125.82.46]:33217) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TROsS-0006T0-VU for 12634@debbugs.gnu.org; Thu, 25 Oct 2012 10:57:45 -0400 Original-Received: by mail-wg0-f46.google.com with SMTP id dt12so1229424wgb.15 for <12634@debbugs.gnu.org>; Thu, 25 Oct 2012 07:55:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=xyjSPuFEmQPLw0pQ1HwqHtqKekqs2XmDo573R6s6OCs=; b=U9JwM7prqIPVSUERMzYXcveYVA3UdXLKoeNra340tAkUXrvNAd3O7C6/N+AKTAD6Et hBLRs3CUAnpJ3M6lajeQNlMVQ517VXTRW7EDN9KSYL9pV/6mYj17zhAtngmUUy/iBiV1 ieHIq5qzGf9DE8vwgU7C1Fk5KkHhASEgVQR8qeQcoaQqUcWL8dyOPDZiD+q0cwxFfgHH WHORbDv6szqZIQtxQMKUG0ydGzEFuzu8AubidK6Ofrjg4EfX0ep/dV4L+mS3G671FUab ALKdxvXORRlpZh904NRj6TJGTyMSMkJRrMeIou4oL9MAvaBtUmorYH1fvmFv+0p0De8n 4s8w== Original-Received: by 10.180.105.168 with SMTP id gn8mr14418446wib.10.1351176940022; Thu, 25 Oct 2012 07:55:40 -0700 (PDT) Original-Received: by 10.194.44.40 with HTTP; Thu, 25 Oct 2012 07:55:39 -0700 (PDT) X-Mailman-Approved-At: Thu, 25 Oct 2012 11:48:44 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 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.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:66036 Archived-At: --f46d0418271489e9ee04cce36581 Content-Type: multipart/alternative; boundary=f46d0418271489e9e204cce3657f --f46d0418271489e9e204cce3657f Content-Type: text/plain; charset=UTF-8 Hi, I've consolidated my changes into json.el. I have not yet received the form for copyright assignment in the mail, but I have requested it. Please advise me if you'd like me to make any changes here, and I'll be happy to accomodate. Patch attached. Thanks, -Ryan --f46d0418271489e9e204cce3657f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi,

I've consolidated my changes into json.el. I have not yet re= ceived the form for copyright assignment in the mail, but I have requested = it. Please advise me if you'd like me to make any changes here, and I&#= 39;ll be happy to accomodate. Patch attached.

Thanks,

-Ryan
--f46d0418271489e9e204cce3657f-- --f46d0418271489e9ee04cce36581 Content-Type: application/octet-stream; name=pretty-printing-patch Content-Disposition: attachment; filename=pretty-printing-patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_h8pztcyo0 KioqIGEvanNvbi5lbAotLS0gYi9qc29uLmVsCioqKioqKioqKioqKioqKgoqKiogMyw5ICoqKioK ICA7OyBDb3B5cmlnaHQgKEMpIDIwMDYtMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KICAKICA7OyBBdXRob3I6IEVkd2FyZCBPJ0Nvbm5vciA8dGVkQG9jb25ub3IuY3g+CiEgOzsg VmVyc2lvbjogMS4zCiAgOzsgS2V5d29yZHM6IGNvbnZlbmllbmNlCiAgCiAgOzsgVGhpcyBmaWxl IGlzIHBhcnQgb2YgR05VIEVtYWNzLgotLS0gMyw5IC0tLS0KICA7OyBDb3B5cmlnaHQgKEMpIDIw MDYtMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICAKICA7OyBBdXRob3I6IEVk d2FyZCBPJ0Nvbm5vciA8dGVkQG9jb25ub3IuY3g+CiEgOzsgVmVyc2lvbjogMS40CiAgOzsgS2V5 d29yZHM6IGNvbnZlbmllbmNlCiAgCiAgOzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNz LgoqKioqKioqKioqKioqKioKKioqIDQ4LDUzICoqKioKLS0tIDQ4LDU0IC0tLS0KICA7OyAyMDA2 LTEyLTI5IC0gWEVtYWNzIHN1cHBvcnQsIGZyb20gQWlkYW4gS2Vob2UgPGtlaG9lYUBwYXJoYXNh cmQubmV0Pi4KICA7OyAyMDA4LTAyLTIxIC0gSW5zdGFsbGVkIGluIEdOVSBFbWFjcy4KICA7OyAy MDExLTEwLTE3IC0gUGF0Y2ggYGpzb24tYWxpc3QtcCcgYW5kIGBqc29uLXBsaXN0LXAnIHRvIGF2 b2lkIHJlY3Vyc2lvbiAtdHp6CisgOzsgMjAxMi0xMC0yNSAtIEFkZGVkIHByZXR0eS1wcmludGVk IHJlZm9ybWF0dGluZyAtUnlhbiBDcnVtIChyeWFuQHJ5YW5jcnVtLm9yZykKICAKICA7OzsgQ29k ZToKICAKKioqKioqKioqKioqKioqCioqKiA5OSwxMDQgKioqKiBJZiB0aGlzIGhhcyB0aGUgc2Ft ZSB2YWx1ZSBhcyBganNvbi1mYWxzZScsIHlvdSBtaWdodCBub3QgYmUgYWJsZSB0bwotLS0gMTAw LDEyMyAtLS0tCiAgdGVsbCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGBmYWxzZScgYW5kIGBudWxs Jy4gIENvbnNpZGVyIGxldC1iaW5kaW5nCiAgdGhpcyBhcm91bmQgeW91ciBjYWxsIHRvIGBqc29u LXJlYWQnIGluc3RlYWQgb2YgYHNldHEnaW5nIGl0LiIpCiAgCisgKGRlZnZhciBqc29uLWVuY29k aW5nLWRlZmF1bHQtc2VwYXJhdG9yICIsICIKKyAgICJWYWx1ZSB0byB1c2UgYXMgYW4gZWxlbWVu dCBzZXBlcmF0b3Igd2hlbiBlbmNvZGluZy4iKQorIAorIChkZWZ2YXIganNvbi1lbmNvZGluZy1j dXJyZW50LXNlcGFyYXRvciBqc29uLWVuY29kaW5nLWRlZmF1bHQtc2VwYXJhdG9yCisgICAiVmFs dWUgdG8gdXNlIGFzIGFuIGVsZW1lbnQgc2VwZXJhdG9yIHdoZW4gZW5jb2RpbmcuIikKKyAKKyAo ZGVmdmFyIGpzb24tZW5jb2RpbmctZGVmYXVsdC1pbmRlbnRhdGlvbiAiICAiCisgICAiVGhlIGRl ZmF1bHQgaW5kZW50YXRpb24gbGV2ZWwgZm9yIGVuY29kaW5nLiBVc2VkIG9ubHkgd2hlbgorIGBq c29uLWVuY29kaW5nLXByZXR0eS1wcmludCcgaXMgbm9uLW5pbC4iKQorIAorIChkZWZ2YXIganNv bi1lbmNvZGluZy1jdXJyZW50LWluZGVudGF0aW9uICIiCisgICAiSW50ZXJuYWxseSB1c2VkIHRv IGtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnQgaW5kZW50YXRpb24gbGV2ZWwgb2YKKyBlbmNvZGlu Zy4gVXNlZCBvbmx5IHdoZW4gYGpzb24tZW5jb2RpbmctcHJldHR5LXByaW50JyBpcyBub24tbmls LiIpCisgCisgKGRlZnZhciBqc29uLWVuY29kaW5nLXByZXR0eS1wcmludCBuaWwKKyAgICJTZXR0 aW5nIHRoaXMgdG8gbm9uLW5pbCB3aWxsIHJlc3VsdCBpbiB0aGUgb3V0cHV0IG9mIGBqc29uLWVu Y29kZScKKyB0byBiZSBwcmV0dHktcHJpbnRlZC4iKQorIAogIAwKICAKICA7OzsgVXRpbGl0aWVz CioqKioqKioqKioqKioqKgoqKiogMzg5LDQyOSAqKioqIFBsZWFzZSBzZWUgdGhlIGRvY3VtZW50 YXRpb24gb2YgYGpzb24tb2JqZWN0LXR5cGUnIGFuZCBganNvbi1rZXktdHlwZScuIgogIAogIChk ZWZ1biBqc29uLWVuY29kZS1oYXNoLXRhYmxlIChoYXNoLXRhYmxlKQogICAgIlJldHVybiBhIEpT T04gcmVwcmVzZW50YXRpb24gb2YgSEFTSC1UQUJMRS4iCiEgICAoZm9ybWF0ICJ7JXN9IgogICAg ICAgICAgICAoanNvbi1qb2luCiAgICAgICAgICAgICAobGV0IChyKQohICAgICAgICAgICAgICAo bWFwaGFzaAohICAgICAgICAgICAgICAgKGxhbWJkYSAoayB2KQohICAgICAgICAgICAgICAgICAo cHVzaCAoZm9ybWF0ICIlczolcyIKISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoanNv bi1lbmNvZGUgaykKISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoanNvbi1lbmNvZGUg dikpCiEgICAgICAgICAgICAgICAgICAgICAgIHIpKQohICAgICAgICAgICAgICAgaGFzaC10YWJs ZSkKICAgICAgICAgICAgICAgcikKISAgICAgICAgICAgICIsICIpKSkKICAKICA7OyBMaXN0IGVu Y29kaW5nIChpbmNsdWRpbmcgYWxpc3RzIGFuZCBwbGlzdHMpCiAgCiAgKGRlZnVuIGpzb24tZW5j b2RlLWFsaXN0IChhbGlzdCkKICAgICJSZXR1cm4gYSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIEFM SVNULiIKISAgIChmb3JtYXQgInslc30iCiEgICAgICAgICAgIChqc29uLWpvaW4gKG1hcGNhciAo bGFtYmRhIChjb25zKQohICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9ybWF0ICIl czolcyIKISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoanNvbi1lbmNv ZGUgKGNhciBjb25zKSkKISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo anNvbi1lbmNvZGUgKGNkciBjb25zKSkpKQohICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg YWxpc3QpCiEgICAgICAgICAgICAgICAgICAgICAgIiwgIikpKQogIAogIChkZWZ1biBqc29uLWVu Y29kZS1wbGlzdCAocGxpc3QpCiAgICAiUmV0dXJuIGEgSlNPTiByZXByZXNlbnRhdGlvbiBvZiBQ TElTVC4iCiAgICAobGV0IChyZXN1bHQpCiAgICAgICh3aGlsZSBwbGlzdAohICAgICAgIChwdXNo IChjb25jYXQgKGpzb24tZW5jb2RlIChjYXIgcGxpc3QpKQohICAgICAgICAgICAgICAgICAgICAg IjoiCiEgICAgICAgICAgICAgICAgICAgICAoanNvbi1lbmNvZGUgKGNhZHIgcGxpc3QpKSkKISAg ICAgICAgICAgICByZXN1bHQpCiAgICAgICAgKHNldHEgcGxpc3QgKGNkZHIgcGxpc3QpKSkKISAg ICAgKGNvbmNhdCAieyIgKGpzb24tam9pbiAobnJldmVyc2UgcmVzdWx0KSAiLCAiKSAifSIpKSkK ICAKICAoZGVmdW4ganNvbi1lbmNvZGUtbGlzdCAobGlzdCkKICAgICJSZXR1cm4gYSBKU09OIHJl cHJlc2VudGF0aW9uIG9mIExJU1QuCi0tLSA0MDgsNDc5IC0tLS0KICAKICAoZGVmdW4ganNvbi1l bmNvZGUtaGFzaC10YWJsZSAoaGFzaC10YWJsZSkKICAgICJSZXR1cm4gYSBKU09OIHJlcHJlc2Vu dGF0aW9uIG9mIEhBU0gtVEFCTEUuIgohICAgKGZvcm1hdCAoaWYganNvbi1lbmNvZGluZy1wcmV0 dHktcHJpbnQgIntcbiVzXG4lc30iICJ7JXN9IikKICAgICAgICAgICAgKGpzb24tam9pbgogICAg ICAgICAgICAgKGxldCAocikKISAgICAgICAgICAgICAgKGxldCAoKGpzb24tZW5jb2RpbmctY3Vy cmVudC1pbmRlbnRhdGlvbgohICAgICAgICAgICAgICAgICAgICAgKGlmIGpzb24tZW5jb2Rpbmct cHJldHR5LXByaW50CiEgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbmNhdCBqc29uLWVuY29k aW5nLWN1cnJlbnQtaW5kZW50YXRpb24KISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGpzb24tZW5jb2RpbmctZGVmYXVsdC1pbmRlbnRhdGlvbikKISAgICAgICAgICAgICAgICAgICAg ICAgIiIpKSkKISAgICAgICAgICAgICAgICAobWFwaGFzaAohICAgICAgICAgICAgICAgICAobGFt YmRhIChrIHYpCiEgICAgICAgICAgICAgICAgICAgKHB1c2ggKGZvcm1hdCAoaWYganNvbi1lbmNv ZGluZy1wcmV0dHktcHJpbnQgIiVzJXM6ICVzIiAiJXMlczolcyIpCiEgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBqc29uLWVuY29kaW5nLWN1cnJlbnQtaW5kZW50YXRpb24KISAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChqc29uLWVuY29kZSBrKQohICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGpzb24tZW5jb2RlIHYpKQohICAgICAgICAgICAgICAgICAg ICAgICAgIHIpKQohICAgICAgICAgICAgICAgICBoYXNoLXRhYmxlKSkKICAgICAgICAgICAgICAg cikKISAgICAgICAgICAgIGpzb24tZW5jb2RpbmctY3VycmVudC1zZXBhcmF0b3IpCiEgICAgICAg ICAgIGpzb24tZW5jb2RpbmctY3VycmVudC1pbmRlbnRhdGlvbikpCiAgCiAgOzsgTGlzdCBlbmNv ZGluZyAoaW5jbHVkaW5nIGFsaXN0cyBhbmQgcGxpc3RzKQogIAogIChkZWZ1biBqc29uLWVuY29k ZS1hbGlzdCAoYWxpc3QpCiAgICAiUmV0dXJuIGEgSlNPTiByZXByZXNlbnRhdGlvbiBvZiBBTElT VC4iCiEgICAoZm9ybWF0IChpZiBqc29uLWVuY29kaW5nLXByZXR0eS1wcmludCAie1xuJXNcbiVz fSIgInslc30iKQohICAgICAgICAgICAoanNvbi1qb2luCiEgICAgICAgICAgICAobGV0ICgoanNv bi1lbmNvZGluZy1jdXJyZW50LWluZGVudGF0aW9uCiEgICAgICAgICAgICAgICAgICAgKGlmIGpz b24tZW5jb2RpbmctcHJldHR5LXByaW50CiEgICAgICAgICAgICAgICAgICAgICAgIChjb25jYXQg anNvbi1lbmNvZGluZy1jdXJyZW50LWluZGVudGF0aW9uCiEgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAganNvbi1lbmNvZGluZy1kZWZhdWx0LWluZGVudGF0aW9uKQohICAgICAgICAgICAg ICAgICAgICAgIiIpKSkKISAgICAgICAgICAgICAgKG1hcGNhciAobGFtYmRhIChjb25zKQohICAg ICAgICAgICAgICAgICAgICAgICAgKGZvcm1hdCAoaWYganNvbi1lbmNvZGluZy1wcmV0dHktcHJp bnQKISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlcyVzOiAlcyIKISAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMlczolcyIpCiEgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGpzb24tZW5jb2RpbmctY3VycmVudC1pbmRlbnRhdGlvbgohICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoanNvbi1lbmNvZGUgKGNhciBjb25zKSkKISAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGpzb24tZW5jb2RlIChjZHIgY29ucykpKSkKISAg ICAgICAgICAgICAgICAgICAgICBhbGlzdCkpCiEgICAgICAgICAgICAgICAgICAgICAganNvbi1l bmNvZGluZy1jdXJyZW50LXNlcGFyYXRvcikKISAgICAgICAgICAganNvbi1lbmNvZGluZy1jdXJy ZW50LWluZGVudGF0aW9uKSkKICAKICAoZGVmdW4ganNvbi1lbmNvZGUtcGxpc3QgKHBsaXN0KQog ICAgIlJldHVybiBhIEpTT04gcmVwcmVzZW50YXRpb24gb2YgUExJU1QuIgogICAgKGxldCAocmVz dWx0KQogICAgICAod2hpbGUgcGxpc3QKISAgICAgICAobGV0ICgoanNvbi1lbmNvZGluZy1jdXJy ZW50LWluZGVudGF0aW9uCiEgICAgICAgICAgICAgIChpZiBqc29uLWVuY29kaW5nLXByZXR0eS1w cmludAohICAgICAgICAgICAgICAgICAgKGNvbmNhdCBqc29uLWVuY29kaW5nLWN1cnJlbnQtaW5k ZW50YXRpb24KISAgICAgICAgICAgICAgICAgICAgICAgICAganNvbi1lbmNvZGluZy1kZWZhdWx0 LWluZGVudGF0aW9uKQohICAgICAgICAgICAgICAgICIiKSkpCiEgICAgICAgICAocHVzaCAoY29u Y2F0CiEgICAgICAgICAgICAgICAganNvbi1lbmNvZGluZy1jdXJyZW50LWluZGVudGF0aW9uCiEg ICAgICAgICAgICAgICAgKGpzb24tZW5jb2RlIChjYXIgcGxpc3QpKQohICAgICAgICAgICAgICAg IChpZiBqc29uLWVuY29kaW5nLWN1cnJlbnQtaW5kZW50YXRpb24KISAgICAgICAgICAgICAgICAg ICAgIjogIgohICAgICAgICAgICAgICAgICAgIjoiKQohICAgICAgICAgICAgICAgIChqc29uLWVu Y29kZSAoY2FkciBwbGlzdCkpKQohICAgICAgICAgICAgICAgcmVzdWx0KSkKICAgICAgICAoc2V0 cSBwbGlzdCAoY2RkciBwbGlzdCkpKQohICAgICAoY29uY2F0IChpZiBqc29uLWVuY29kaW5nLXBy ZXR0eS1wcmludCAie1xuIiAieyIpCiEgICAgICAgICAgICAgKGpzb24tam9pbiAobnJldmVyc2Ug cmVzdWx0KSBqc29uLWVuY29kaW5nLWN1cnJlbnQtc2VwYXJhdG9yKQohICAgICAgICAgICAgIChp ZiBqc29uLWVuY29kaW5nLXByZXR0eS1wcmludAohICAgICAgICAgICAgICAgICAoZm9ybWF0ICJc biVzIiBqc29uLWVuY29kaW5nLWN1cnJlbnQtaW5kZW50YXRpb24pCiEgICAgICAgICAgICAgICAi IikKISAgICAgICAgICAgICAifSIpKSkKICAKICAoZGVmdW4ganNvbi1lbmNvZGUtbGlzdCAobGlz dCkKICAgICJSZXR1cm4gYSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIExJU1QuCioqKioqKioqKioq KioqKgoqKiogNDYyLDQ2OCAqKioqIGJlY29tZSBKU09OIG9iamVjdHMuIgogIAogIChkZWZ1biBq c29uLWVuY29kZS1hcnJheSAoYXJyYXkpCiAgICAiUmV0dXJuIGEgSlNPTiByZXByZXNlbnRhdGlv biBvZiBBUlJBWS4iCiEgICAoY29uY2F0ICJbIiAobWFwY29uY2F0ICdqc29uLWVuY29kZSBhcnJh eSAiLCAiKSAiXSIpKQogIAogIAwKICAKLS0tIDUxMiw1MzAgLS0tLQogIAogIChkZWZ1biBqc29u LWVuY29kZS1hcnJheSAoYXJyYXkpCiAgICAiUmV0dXJuIGEgSlNPTiByZXByZXNlbnRhdGlvbiBv ZiBBUlJBWS4iCiEgICAoaWYgKGFuZCBqc29uLWVuY29kaW5nLXByZXR0eS1wcmludAohICAgICAg ICAgICAgKD4gKGxlbmd0aCBhcnJheSkgMCkpCiEgICAgICAgKGNvbmNhdAohICAgICAgICAobGV0 ICgoanNvbi1lbmNvZGluZy1jdXJyZW50LWluZGVudGF0aW9uCiEgICAgICAgICAgICAgICAoY29u Y2F0IGpzb24tZW5jb2RpbmctY3VycmVudC1pbmRlbnRhdGlvbgohICAgICAgICAgICAgICAgICAg ICAgICBqc29uLWVuY29kaW5nLWRlZmF1bHQtaW5kZW50YXRpb24pKSkKISAgICAgICAgICAoY29u Y2F0IChmb3JtYXQgIltcbiVzIiBqc29uLWVuY29kaW5nLWN1cnJlbnQtaW5kZW50YXRpb24pCiEg ICAgICAgICAgICAgICAgICAoanNvbi1qb2luIChtYXBjYXIgJ2pzb24tZW5jb2RlIGFycmF5KQoh ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9ybWF0ICIlcyVzIgohICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGpzb24tZW5jb2RpbmctY3VycmVudC1zZXBhcmF0b3IK ISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqc29uLWVuY29kaW5nLWN1cnJl bnQtaW5kZW50YXRpb24pKSkpCiEgICAgICAgIChmb3JtYXQgIlxuJXNdIiBqc29uLWVuY29kaW5n LWN1cnJlbnQtaW5kZW50YXRpb24pKQohICAgICAoY29uY2F0ICJbIiAobWFwY29uY2F0ICdqc29u LWVuY29kZSBhcnJheSBqc29uLWVuY29kaW5nLWN1cnJlbnQtc2VwYXJhdG9yKSAiXSIpKSkKICAK ICAMCiAgCioqKioqKioqKioqKioqKgoqKiogNTE2LDUzMyAqKioqIEFkdmFuY2VzIHBvaW50IGp1 c3QgcGFzdCBKU09OIG9iamVjdC4iCiAgCiAgKGRlZnVuIGpzb24tZW5jb2RlIChvYmplY3QpCiAg ICAiUmV0dXJuIGEgSlNPTiByZXByZXNlbnRhdGlvbiBvZiBPQkpFQ1QgYXMgYSBzdHJpbmcuIgoh ICAgKGNvbmQgKChtZW1xIG9iamVjdCAobGlzdCB0IGpzb24tbnVsbCBqc29uLWZhbHNlKSkKISAg ICAgICAgICAoanNvbi1lbmNvZGUta2V5d29yZCBvYmplY3QpKQohICAgICAgICAgKChzdHJpbmdw IG9iamVjdCkgICAgICAoanNvbi1lbmNvZGUtc3RyaW5nIG9iamVjdCkpCiEgICAgICAgICAoKGtl eXdvcmRwIG9iamVjdCkgICAgIChqc29uLWVuY29kZS1zdHJpbmcKISAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChzdWJzdHJpbmcgKHN5bWJvbC1uYW1lIG9iamVjdCkgMSkpKQohICAg ICAgICAgKChzeW1ib2xwIG9iamVjdCkgICAgICAoanNvbi1lbmNvZGUtc3RyaW5nCiEgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoc3ltYm9sLW5hbWUgb2JqZWN0KSkpCiEgICAgICAg ICAoKG51bWJlcnAgb2JqZWN0KSAgICAgIChqc29uLWVuY29kZS1udW1iZXIgb2JqZWN0KSkKISAg ICAgICAgICgoYXJyYXlwIG9iamVjdCkgICAgICAgKGpzb24tZW5jb2RlLWFycmF5IG9iamVjdCkp CiEgICAgICAgICAoKGhhc2gtdGFibGUtcCBvYmplY3QpIChqc29uLWVuY29kZS1oYXNoLXRhYmxl IG9iamVjdCkpCiEgICAgICAgICAoKGxpc3RwIG9iamVjdCkgICAgICAgIChqc29uLWVuY29kZS1s aXN0IG9iamVjdCkpCiEgICAgICAgICAodCAgICAgICAgICAgICAgICAgICAgIChzaWduYWwgJ2pz b24tZXJyb3IgKGxpc3Qgb2JqZWN0KSkpKSkKICAKICAocHJvdmlkZSAnanNvbikKICAKLS0tIDU3 OCw2MjIgLS0tLQogIAogIChkZWZ1biBqc29uLWVuY29kZSAob2JqZWN0KQogICAgIlJldHVybiBh IEpTT04gcmVwcmVzZW50YXRpb24gb2YgT0JKRUNUIGFzIGEgc3RyaW5nLiIKISAgIChsZXQgKChq c29uLWVuY29kaW5nLWN1cnJlbnQtc2VwYXJhdG9yCiEgICAgICAgICAgKGlmIGpzb24tZW5jb2Rp bmctcHJldHR5LXByaW50CiEgICAgICAgICAgICAgIChjb25jYXQganNvbi1lbmNvZGluZy1kZWZh dWx0LXNlcGFyYXRvciAiXG4iKQohICAgICAgICAgICAganNvbi1lbmNvZGluZy1kZWZhdWx0LXNl cGFyYXRvcikpKQohICAgICAoY29uZCAoKG1lbXEgb2JqZWN0IChsaXN0IHQganNvbi1udWxsIGpz b24tZmFsc2UpKQohICAgICAgICAgICAgKGpzb24tZW5jb2RlLWtleXdvcmQgb2JqZWN0KSkKISAg ICAgICAgICAgKChzdHJpbmdwIG9iamVjdCkgICAgICAoanNvbi1lbmNvZGUtc3RyaW5nIG9iamVj dCkpCiEgICAgICAgICAgICgoa2V5d29yZHAgb2JqZWN0KSAgICAgKGpzb24tZW5jb2RlLXN0cmlu ZwohICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3Vic3RyaW5nIChzeW1ib2wt bmFtZSBvYmplY3QpIDEpKSkKISAgICAgICAgICAgKChzeW1ib2xwIG9iamVjdCkgICAgICAoanNv bi1lbmNvZGUtc3RyaW5nCiEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzeW1i b2wtbmFtZSBvYmplY3QpKSkKISAgICAgICAgICAgKChudW1iZXJwIG9iamVjdCkgICAgICAoanNv bi1lbmNvZGUtbnVtYmVyIG9iamVjdCkpCiEgICAgICAgICAgICgoYXJyYXlwIG9iamVjdCkgICAg ICAgKGpzb24tZW5jb2RlLWFycmF5IG9iamVjdCkpCiEgICAgICAgICAgICgoaGFzaC10YWJsZS1w IG9iamVjdCkgKGpzb24tZW5jb2RlLWhhc2gtdGFibGUgb2JqZWN0KSkKISAgICAgICAgICAgKChs aXN0cCBvYmplY3QpICAgICAgICAoanNvbi1lbmNvZGUtbGlzdCBvYmplY3QpKQohICAgICAgICAg ICAodCAgICAgICAgICAgICAgICAgICAgIChzaWduYWwgJ2pzb24tZXJyb3IgKGxpc3Qgb2JqZWN0 KSkpKSkpCiEgCiEgOzsgUHJldHR5IHByaW50aW5nCiEgCiEgKGRlZnVuIGpzb24tcHJldHR5LXBy aW50LWJ1ZmZlciAoKQohICAgIlByZXR0eS1wcmludCBjdXJyZW50IGJ1ZmZlci4iCiEgICAoaW50 ZXJhY3RpdmUpCiEgICAobGV0KiAoKGpzb24tZW5jb2RpbmctcHJldHR5LXByaW50IHQpCiEgICAg ICAgICAgKGpzb24tc3RyaW5nIChqc29uLWVuY29kZSAoanNvbi1yZWFkLWZyb20tc3RyaW5nIChi dWZmZXItc3RyaW5nKSkpKQohICAgICAgICAgIChidWYgKGN1cnJlbnQtYnVmZmVyKSkpCiEgICAg ICh3aXRoLWN1cnJlbnQtYnVmZmVyIGJ1ZgohICAgICAgIChlcmFzZS1idWZmZXIpCiEgICAgICAg KGluc2VydCBqc29uLXN0cmluZykpKSkKISAKISAoZGVmdW4ganNvbi1wcmV0dHktcHJpbnQgKCkK ISAgICJQcmV0dHktcHJpbnQgc2VsZWN0ZWQgcmVnaW9uLiIKISAgIChpbnRlcmFjdGl2ZSkKISAg ICh1bmxlc3MgbWFyay1hY3RpdmUKISAgICAgKGVycm9yICJObyByZWdpb24gc2VsZWN0ZWQuIikp CiEgICAobGV0ICgoYmVnaW4gKHJlZ2lvbi1iZWdpbm5pbmcpKQohICAgICAgICAgKGVuZCAocmVn aW9uLWVuZCkpCiEgICAgICAgICAoanNvbi1lbmNvZGluZy1wcmV0dHktcHJpbnQgdCkpCiEgICAg IChraWxsLXJlZ2lvbiBiZWdpbiBlbmQpCiEgICAgIChpbnNlcnQgKGpzb24tZW5jb2RlIChqc29u LXJlYWQtZnJvbS1zdHJpbmcgKGN1cnJlbnQta2lsbCAwKSkpKSkpCiAgCiAgKHByb3ZpZGUgJ2pz b24pCiAgCg== --f46d0418271489e9ee04cce36581--