X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=LFZFdwtBZocokdkuUuNPmkYvs0Le/MHcPQa4xOz3kgA=; b=NISqZ2Npz6wLpEWC/y4NW4mfnX1IsmyMPs7BtqAZrynLHjHyYpdEdewVxv54HuFFAN 2WoRjpqClQik4S7z52XWhs5ks/gQ8EHEXn5jtu+hBTY9kotN27duEO27v/kGRovvUyP4 eiTcatlzcK7HROyxwCeu1Ua8nQBrLW63vEzqAeHojAReondZdAEzL3pBcogNlj5qlaqo HBtVTme/H0ebwCDRPQC15IUx2kSmprBP22Au1hf1DfmLtptSgiSBR54pxcGbUyi9sR0v pQaN8m3b6S3kHa4Qi721e4Tmmbm5bhh+KlxHLHZ6kOzRmgcPRxPjlJLRIDcDe9RtSQW+ vCLA== MIME-Version: 1.0 X-Received: by 10.194.58.199 with SMTP id t7mr26659985wjq.45.1440268854110; Sat, 22 Aug 2015 11:40:54 -0700 (PDT) In-Reply-To: <55D78E7C.3050801@jump-ing.de> References: <55D78E7C DOT 3050801 AT jump-ing DOT de> Date: Sat, 22 Aug 2015 10:40:53 -0800 Message-ID: Subject: Re: [geda-user] FootprintTextForPCB v1.1 - A utility for inserting text into footprints From: "Britton Kerin (britton DOT kerin AT gmail DOT com) [via geda-user AT delorie DOT com]" To: geda-user AT delorie DOT com Content-Type: multipart/mixed; boundary=047d7bacc6646e49ed051deab969 Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk --047d7bacc6646e49ed051deab969 Content-Type: text/plain; charset=UTF-8 In case anyone else like to use Pcb_9.pm for making footprints, I made some extensions that do the same thing (text in footprints) using that module. It's in the attached file. Britton On Fri, Aug 21, 2015 at 12:47 PM, Markus Hitter (mah AT jump-ing DOT de) [via geda-user AT delorie DOT com] wrote: > Am 21.08.2015 um 15:57 schrieb Erich Heinzle (a1039181 AT gmail DOT com) [via geda-user AT delorie DOT com]: >> This is a command line utility for turning text strings into silkscreen >> line elements which can then be added to footprints. > > This would make a nice module for the official distribution. > > > Markus > > -- > - - - - - - - - - - - - - - - - - - - > Dipl. Ing. (FH) Markus Hitter > http://www.jump-ing.de/ --047d7bacc6646e49ed051deab969 Content-Type: application/x-perl; name="Pcb_9_Plus.pm" Content-Disposition: attachment; filename="Pcb_9_Plus.pm" Content-Transfer-Encoding: base64 X-Attachment-Id: f_idnevq640 cGFja2FnZSBQY2JfOV9QbHVzOwoKIyB2aW06Zm9sZG1ldGhvZD1tYXJrZXIKCiMgRG9jdW1lbnRh dGlvbiB7e3sxCgojIEZJWE1FOiBJIHRoaW5rIHRoaXMgbW9kdWxlIHNob3VsZCBzb21laG93IGFy cmFuZ2UgZm9yIFBJTl9TUVVBUkUgdG8gYmUKIyBhdXRvbWF0aWNhbGx5IGV4cG9ydGVkIChQY2Jf OSBkb2Vzbid0IGRvIHRoaXMgYnkgZGVmYXVsdCBpdHNlbGYgSSB0aGluaykuCgojIEV4dGVuZCB0 aGUgUGNiXzkgcGVybCBtb2R1bGUuICBTdGljayB0aGlzIHdoZXJldmVyIHlvdXIgUGNiXzkucG0g ZmlsZSBsaXZlcywKIyBhbmQgdXNlICd1c2UgUGNiXzlfUGx1czsnIGluc3RlYWQgb2YgJ3VzZSBQ Y2JfOTsnIGFuZCAnUGNiXzlfUGx1cy0+bmV3JwojIGluc3RlYWQgb2YgJ1BjYl85LT5uZXcnIGlu IGNsaWVudHMgdG8gZ2V0IHNvbWUgZXh0cmEgbWV0aG9kcy4KIwojIFRoZXJlIGFyZSBtZXRob2Rz IHRvIGFkZCBhcmJpdHJhcnkgc2lsayBzY3JlZW4gdGV4dCwgcm91bmQgcGFkcywgYW4KIyBvcmll bnRhdGlvbiBkb3QsIGEgcGx1cyBzaWduLCBtYXliZSBvdGhlciBiaXRzIGFuZCBwaWVjZXMgYXMg SSB0aGluawojIG9mIHRoZW0uICBFeGFtcGxlczoKIwojICAgICB1c2UgUGNiXzlfUGx1czsKIwoj ICAgICBteSAkcGNiID0gUGNiXzlfUGx1cy0+bmV3KGRlYnVnID0+IDEpOwojCiMgICAgICRwY2It PmVsZW1lbnRfYmVnaW4oCiMgICAgICAgICBkZXNjcmlwdGlvbiA9PiAic29tZV9mcCIsIG91dHB1 dF9maWxlID0+ICJzb21lX2ZwIiwgZGltID0+ICdtbScpOwojCiMgICAgICRwY2ItPmVsZW1lbnRf YWRkX25vdGUoCiMgICAgICAgICBjaGFycyA9PiAiSE9UIDEyMFYiLAojICAgICAgICAgeCAgICAg PT4gMTAsCiMgICAgICAgICB5ICAgICA9PiAwLAojICAgICAgICAgc2NhbGUgPT4gMi40MiwgICAg ICMgT3B0aW9uYWwsIGRlZmF1bHRzIHRvIDEuMCwgPDEuMCBub3QgYWxsb3dlZAojICAgICAgICAg ZGlyICAgPT4gJ3VwJyApOyAgICMgT3B0aW9uYWwgY2FuIGFsc28gYmUgJ2xlZnQnIGV0Yy4gb3Ig ZGVncmVlcyk7CiMKIyAgICAgJHBjYi0+ZWxlbWVudF9hZGRfbW91bnRpbmdfaG9sZSgKIyAgICAg ICAgIHggPT4gMTUsCiMgICAgICAgICB5ID0+IDEyLAojICAgICAgICAgZGlhbWV0ZXIgPT4gMSAp OwojCiMgICAgICRwY2ItPmVsZW1lbnRfYWRkX3JvdW5kX3BhZCgKIyAgICAgICAgIHggPT4gNiwK IyAgICAgICAgIHkgPT4gMywKIyAgICAgICAgIGRpYW1ldGVyID0+IDEsCiMgICAgICAgICBjbGVh cmFuY2UgPT4gMC4xLAojICAgICAgICAgbWFzayA9PiAwLjAsCiMgICAgICAgICBuYW1lID0+ICdG T08nLAojICAgICAgICAgcGluX251bWJlciA9PiAxICk7CiMKIyAgICAgJHBjYi0+ZWxlbWVudF9h ZGRfcGx1c19tYXJrKAojICAgICAgICAgeCA9PiAyMCwKIyAgICAgICAgIHkgPT4gMjUsCiMgICAg ICAgICBzaXplID0+IDIsCiMgICAgICAgICB0aGlja25lc3MgPT4gLjI1ICk7CiMKIyAgICAgJHBj Yi0+ZWxlbWVudF9hZGRfZG90KAojICAgICAgICAgeCA9PiAyNSwKIyAgICAgICAgIHkgPT4gMjAs CiMgICAgICAgICBkaWFtZXRlciA9PiAyKTsKIwojIH19fTEKCiMgUHJhZ21hcyBhbmQgbW9kdWxl cyB7e3sxCgp1c2UgcGFyZW50ICdQY2JfOSc7Cgp1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3MgRkFU QUwgPT4gJ2FsbCc7Cgp1c2UgQ2FycDsKdXNlIERhdGE6OkR1bXBlcjsKCiMgfX19MQoKIyBQYXJz ZSB0aGUgZm9udCBkYXRhIHt7ezEKCm15ICVzeW1ib2xzOwoKIyBVbnNjYWxlZCBGb250IEhlaWdo dC4gIEluIHRoZSBmaXhlZCBmb250IHdlJ3JlIGdvaW5nIHRvIHVzZSwgSSB0aGluawojIHRoZXJl J3MganVzdCBvbmUgY2hhcmFjdGVyIGluIHRoaXMgZm9udCB0aGF0J3MgdGFsbGVyLCB0aGUgJ0An IGNoYXJhY3RlciwKIyBidXQgaXRzIGFsc28gdGhlIG9ubHkgb25lIHdpdGggbmVnYXRpdmUgZXh0 ZW5kIHNvIHdlIGNhbiB1c2UgdGhpcyB0byBkbwojIGEgdHJhbnNsYXRpb24gc28gdGhlIHRleHQg cG9zaXRpb24gaXMgY29uc2lzdGVudCB3aXRoIHRoZSB3YXkgdGhlIHJlZmRlcwojIHRleHQgd29y a3MuCm15ICR1ZmggPSA0MDsKCiMgVGhlIHN0dWZmIGluIHRoZSBfX0RBVEFfXyBzZWN0aW9uIEkg Z3JhYmJlZCBmcm9tIGEgZmlsZSBjYWxsZWQKIyAnZGVmYXVsdF9mb250JyBpbiB0aGUgc3JjIGRp cmVjdG9yeSBvZiBhIDIwMTQgUENCIGRpc3RyaWJ1dGlvbi4KbXkgJGZkID0gam9pbignJywgPERB VEE+KTsgICAjIEZvbnQgRGF0YQokPyA9PSAwIG9yIGRpZSAiYmFja3RpY2sgY29tbWFuZCBmYWls ZWQiOwoKIyBOT1RFOiB0aGUgd2F5IHRoaXMgaXMgZG9uZSB3ZSBjYW4ndCB0b2xlcmF0ZSBibGFu ayBsaW5lcyBpbiBfX0RBVEFfXwp3aGlsZSAoICRmZCA9fiBzL15TeW1ib2xcKCcoLiknXHMoXGQr KVwpXHMqXG4KICAgICAgICAgICAgICAgICAgXChccypcbgogICAgICAgICAgICAgICAgICAoKD86 XHMrU3ltYm9sTGluZVwoWy1cZFxzXStcKVxzKlxuKSopCiAgICAgICAgICAgICAgICAgIFwpXHMq XG4/ICAgIyBOb3RlOiBtYXliZSBubyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCiAgICAgICAgICAg ICAgICAgLy94ICkgewogICAgIyBTeW1ib2wgTmFtZSwgU3BhY2UgQWZ0ZXIsIFN5bWJvbCBEZWZp bml0aW9uCiAgICAjIEZJWFhNRTogSSdtIG5vdCBhY3R1YWxseSBzdXJlIHdoYXQgdGhlIHZhbHVl IHdlJ3JlIGNhbGxpbmcgc3BhY2UgYWZ0ZXIgaXMKICAgICMgZm9yLiAgSXQgbWFrZXMgc29tZSBz ZW5zZSB3aGVuIHVzZWQgdGhhdCB3YXkgYnV0IEkgaGF2ZW4ndCBjaGVja2VkLgogICAgbXkgKCRz biwgJHNhLCAkc2QpID0gKCQxLCAkMiwgJDMpOwogICAgbXkgQGxpbmVzID0gKCk7CiAgICB3aGls ZSAoICRzZCA9fiBzL15ccypTeW1ib2xMaW5lXCgoWy1cZFxzXSspXClccypcbi8vICkgewogICAg ICAgIG15ICRsdCA9ICQxOyAgICMgTGluZSBkZWZpbml0aW9uIHRleHQKICAgICAgICAkbHQgPX4g bS9ccyooLT9cZCspXHMrKC0/XGQrKVxzKygtP1xkKylccysoLT9cZCspXHMrKC0/XGQrKVxzKi8K ICAgICAgICAgICAgb3IgZGllICJtYXRjaCBmYWlsdXJlIHByb2Nlc3NpbmcgbnVtYmVyIHN0cmlu ZyAnJGx0JyI7CiAgICAgICAgIyBOT1RFOiB0aGVzZSBjb29yZGluYXRlcyBhcmUgaW4gbWlscyAo YXMgdGhleSBjb21lIHRvIHVzZSBmcm9tIHRoZQogICAgICAgICMgZm9udCBkYXRhLiAgV2UgY2Fu J3QgY29udmVydCBhbnl0aGluZyB5ZXQgYmVjYXVzZSB3ZSBkb24ndCBrbm93CiAgICAgICAgIyB1 bnRpbCBydW4gdGltZSB3aGF0IHVuaXRzIHRoZSBjbGllbnQgd2FudHMuCiAgICAgICAgcHVzaCgK ICAgICAgICAgICAgQGxpbmVzLAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB4MSAgICAg ICAgPT4gJDEsCiAgICAgICAgICAgICAgICB5MSAgICAgICAgPT4gJDIgLSAkdWZoLAogICAgICAg ICAgICAgICAgeDIgICAgICAgID0+ICQzLAogICAgICAgICAgICAgICAgeTIgICAgICAgID0+ICQ0 IC0gJHVmaCwKICAgICAgICAgICAgICAgIHRoaWNrbmVzcyA9PiAkNSB9ICk7CiAgICB9CiAgICAk c3ltYm9sc3skc259ID0geyBzcGFjZV9hZnRlciA9PiAkc2EsIGxpbmVzID0+IFxAbGluZXMgfTsK fQpsZW5ndGgoJGZkKSA9PSAwIG9yIGRpZSAiZmFpbGVkIHRvIHBhcnNlIGVudGlyZSBfX0RBVEFf XyBzZWN0aW9uIjsKIyB9fX0xCgpzdWIgc3ltX3dpZHRoICgkJCkgIyB7e3sxCnsKICAgICMgUmV0 dXJuIHdpZHRoIG9mIHN5bWJvbCBhcmcxIGFzIGl0IGFwcGVhcnMgaW4gc3ltYm9sIGRpY3Rpb25h cnkKICAgICMgcmVmZXJlbmNlZCBieSBhcmcyLgoKICAgIG15ICgkc3ltYm9sLCAkZGljdCkgPSBA XzsKCgogICAgbXkgJGxpbmVzID0gJGRpY3QtPnskc3ltYm9sfXtsaW5lc307CgogICAgaWYgKCBA JGxpbmVzID09IDAgKSB7CiAgICAgICAgIyBTcGFjZSBpcyBzcGVjaWFsCiAgICAgICAgcmV0dXJu IDA7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBteSAoJHhtaW4sICR4bWF4KSA9ICgxMDAwNDIs IC0xMDAwNDIpOwogICAgICAgIGZvcmVhY2ggbXkgJGxpbmUgKCBAJGxpbmVzICkgewogICAgICAg ICAgICBpZiAoICRsaW5lLT57eDF9IDwgJHhtaW4gKSB7CiAgICAgICAgICAgICAgICAkeG1pbiA9 ICRsaW5lLT57eDF9OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICggJGxpbmUtPnt4Mn0g PCAkeG1pbiApIHsKICAgICAgICAgICAgICAgICR4bWluID0gJGxpbmUtPnt4Mn07CiAgICAgICAg ICAgIH0KICAgICAgICAgICAgaWYgKCAkbGluZS0+e3gxfSA+ICR4bWF4ICkgewogICAgICAgICAg ICAgICAgJHhtYXggPSAkbGluZS0+e3gxfTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAo ICRsaW5lLT57eDJ9ID4gJHhtYXggKSB7CiAgICAgICAgICAgICAgICAkeG1heCA9ICRsaW5lLT57 eDJ9OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHhtYXggLSAkeG1p bjsKICAgIH0KfSAjIH19fTEKCnN1YiByb3RhdGVfbGluZSAoJCQpICMge3t7MQp7CiAgICAjIEdp dmVuIGFuIGFuZ2xlIGluIGRlZ3JlZXMgYW5kIGEgbGluZSBzdHJ1Y3R1cmUgKGFzIHVzZWQgZWxz ZXdoZXJlIGluCiAgICAjIHRoaXMgZmlsZSksIHJvdGF0ZSBhbGwgdGhlIHBvaW50cyBvZiBsaW5l IGNsb2Nrd2lzZSBieSBkZWdyZWVzIGFib3V0CiAgICAjIHRoZSBvcmlnaW4uCgogICAgbXkgKCRh bmcsICRsaW5lKSA9IEBfOwoKICAgIG15ICgkeDEsICR5MSwgJHgyLCAkeTIpID0gKAogICAgICAg ICRsaW5lLT57eDF9LAogICAgICAgICRsaW5lLT57eTF9LAogICAgICAgICRsaW5lLT57eDJ9LAog ICAgICAgICRsaW5lLT57eTJ9ICk7CgogICAgbXkgJGFuZ3IgPSAkYW5nICogKDMuMTQxNTkgLyAx ODApOyAgICMgQW5nbGUgaW4gUmFkaWFucwoKICAgIG15ICR0eDEgPSAkeDEgKiBjb3MoJGFuZ3Ip IC0gKCR5MSAqIHNpbigkYW5ncikpOwogICAgbXkgJHR5MSA9ICR5MSAqIGNvcygkYW5ncikgKyAo JHgxICogc2luKCRhbmdyKSk7CgogICAgbXkgJHR4MiA9ICR4MiAqIGNvcygkYW5ncikgLSAoJHky ICogc2luKCRhbmdyKSk7CiAgICBteSAkdHkyID0gJHkyICogY29zKCRhbmdyKSArICgkeDIgKiBz aW4oJGFuZ3IpKTsKCiAgICAkbGluZS0+e3gxfSA9ICR0eDE7CiAgICAkbGluZS0+e3kxfSA9ICR0 eTE7CiAgICAkbGluZS0+e3gyfSA9ICR0eDI7CiAgICAkbGluZS0+e3kyfSA9ICR0eTI7Cn0gIyB9 fX0xCgpzdWIgdHJhbnNsYXRlX2xpbmUgKCQkJCkgIyB7e3sxCnsKICAgICMgR2l2ZW4geCwgeSwg YW5kIGEgbGluZSBzdHJ1Y3R1cmUgKGFzIHVzZWQgZWxzZXdoZXJlIGluIHRoaXMgZmlsZSksCiAg ICAjIHRyYW5zbGF0ZSBhbGwgdGhlIHBvaW50cyBvZiBsaW5lIGJ5ICh4LCB5KS4KCiAgICBteSAo JHh0LCAkeXQsICRsaW5lKSA9IEBfOwoKICAgICRsaW5lLT57eDF9ICs9ICR4dDsKICAgICRsaW5l LT57eTF9ICs9ICR5dDsKICAgICRsaW5lLT57eDJ9ICs9ICR4dDsKICAgICRsaW5lLT57eTJ9ICs9 ICR5dDsKfSAjIH19fTEKCnN1YiBzY2FsZV9saW5lICgkJCkgIyB7e3sxCnsKICAgICMgR2l2ZW4g YSBzY2FsZSBmYWN0b3IsIGFuZCBhIGxpbmUgc3RydWN0dXJlIChhcyB1c2VkIGVsc2V3aGVyZSBp bgogICAgIyB0aGlzIGZpbGUpLCBzY2FsZSBsaW5lIGJ5IHNjYWxlIChyZWxhdGl2ZSB0byB0aGUg b3JpZ2luLCBub3RlCiAgICAjIHRoYXQgdGhpcyBlZmZlY3RpdmVseSB0cmFuc2xhdGVzIGxpbmVz IG5vdCBjZW50ZXJlZCBvbiB0aGUgb3JpZ2luKS4KICAgICMgVGhlIHRoaWNrbmVzcyBvZiB0aGUg bGluZSBpcyBzY2FsZWQgYXMgd2VsbC4KCiAgICBteSAoJHNmLCAkbGluZSkgPSBAXzsKCiAgICAk bGluZS0+e3gxfSAqPSAkc2Y7CiAgICAkbGluZS0+e3kxfSAqPSAkc2Y7CiAgICAkbGluZS0+e3gy fSAqPSAkc2Y7CiAgICAkbGluZS0+e3kyfSAqPSAkc2Y7CgogICAgJGxpbmUtPnt0aGlja25lc3N9 ICo9ICRzZjsKfSAjIH19fTEKCnN1YiBlbGVtZW50X2FkZF9ub3RlICgkJSkgIyB7e3sxCnsKICAg ICMgQWRkIGEgbm90ZSB0byB0aGUgc2lsa3NjcmVlbi4gIE5hbWVkIGFyZ3VtZW50czogY2hhcnMg KHRoZSBjaGFyYWN0ZXJzCiAgICAjIHN0dWZmIHRvIGFkZCksIHgsIHksIGRpciAob3B0aW9uYWws IGNhbiBiZSBhIGJlYXJpbmcgb3IgJ3VwJywgJ2Rvd24nLAogICAgIyAnbGVmdCcsIG9yICdyaWdo dCcpLCBzY2FsZSAob3B0aW9uYWwsIG11c3QgYmUgPj0gMS4wKS4gIE5PVEU6IHRoaXMKICAgICMg ZG9lc24ndCB3b3JrIHRoZSBzYW1lIHdheSB0aGUgcmVmZGVzIGFkZGl0aW9uIHdvcmtzLiAgRm9y IHJlZmRlc2VzIHRoZQogICAgIyBlbGVtZW50X3NldF90ZXh0X3h5IGZyb20gUGNiXzkgc2hvdWxk IGJlIHVzZWQgKGFuZCB0aGUgcmVmZGVzIHRleHQKICAgICMgaXRzZWxmIGlzIHNldCBieSBQQ0Ig dXNpbmcgb3RoZXIgbWVhbnMpLiAgVGhpcyBtZXRob2QgaXMgZm9yIGFkZGluZwogICAgIyBhcmJp dHJhcnkgdGV4dCBub3RlcyB0byBnbyB3aXRoIGEgZm9vdHByaW50LgoKICAgIG15ICRzZWxmID0g c2hpZnQ7CiAgICAjIE5PVEU6IHdlIGRvbid0IGhhdmUgdG8gc2NhbGUgdGhlIHggYW5kIHkgYXJn cywgYXMgdGhlIGVsZW1lbnRfYWRkX2xpbmUKICAgICMgbWV0aG9kIHdpbGwgZW5kIHVwIGRvaW5n IGl0LgogICAgbXkgJXYgPSBAXzsKCiAgICAjIENoZWNrIGZvciB0aGUgcmVxdWlyZWQgYXJndW1l bnRzCiAgICBub3QgUGNiXzk6Ol9wcmludF9taXNzaW5nX2ZpZWxkcygnZWxlbWVudF9hZGRfbm90 ZScsIFwldiwgcXcoY2hhcnMgeCB5KSkKICAgICAgICBvciBjb25mZXNzICJyZXF1aXJlZCBhcmd1 bWVudCBmaWVsZChzKSBtaXNzaW5nIChzZWUgYWJvdmUpIjsKCiAgICAjIERlZmF1bHQgZm9yIG9w dGlvbiBkaXIgYXJndW1lbnQsIGludGVycHJldCBlbmdsaXNoIHdvcmQgZGlyIGluIGFkZGl0aW9u CiAgICAjIHRvIGJlYXJpbmdzIGluIGRlZ3JlZXMuCiAgICBpZiAoIG5vdCBleGlzdHMoJHZ7ZGly fSkgKSB7CiAgICAgICAgJHZ7ZGlyfSA9IDA7CiAgICB9CiAgICBlbHNpZiAoICR2e2Rpcn0gPX4g bS8oPzpyaWdodHxkb3dufGxlZnR8dXApLyApIHsKICAgICAgICAkdntkaXJ9ID0ge3JpZ2h0ID0+ IDAsIGRvd24gPT4gOTAsIGxlZnQgPT4gMTgwLCB1cCA9PiAyNzB9LT57JHZ7ZGlyfX07CiAgICB9 CiAgICBlbHNlIHsKICAgICAgICBjb25mZXNzICJpbnZhbGlkIGRpciBhcmd1bWVudCAnJHZ7ZGly fSciOwogICAgfQoKICAgICMgRGVmYXVsdCBmb3Igb3B0aW9uYWwgc2NhbGUgYXJndW1lbnQKICAg IGlmICggbm90IGRlZmluZWQoJHZ7c2NhbGV9KSApIHsKICAgICAgICAkdntzY2FsZX0gPSAxLjA7 CiAgICB9CgogICAgIyBXZSdyZSBub3QgZ29pbmcgdG8gc3VwcG9ydCBzY2FsZSBmYWN0b3JzIHNt YWxsZXIgdGhhbiAxLjAsIGFzIEkgdGhpbmsKICAgICMgdGhlIGZvbnQgYWxyZWFkeSB1c2VzIGxp bmVzIGFzIHNtYWxsIGFzIFBDQiBzdXBwb3J0czogSSd2ZSBoYWQgdGhpbm5lcgogICAgIyBsaW5l cyBub3Qgc2hvdyB1cCBhdCBhbGwgSSB0aGluay4KICAgICR2e3NjYWxlfSA+PSAxLjAKICAgICAg ICBvciBjb25mZXNzICJzY2FsZSBzZXR0aW5ncyBzbWFsbGVyIHRoYW4gMS4wIGFyZW4ndCBzdXBw b3J0ZWQiOwoKICAgICMgQWRkIGNoYXJhY3RlcnMgdG8gdGhlIHNpbGtzY3JlZW4ge3t7MgogICAg bXkgJGNvID0gMDsgICAjIENoYXJhY3RlciBPZmZzZXQgKGdyb3dzIGFzIHdlIHByb2dyZXNzIHRo cm91Z2ggc3RyaW5nKQogICAgZm9yICggbXkgJGlpID0gMCA7ICRpaSA8IGxlbmd0aCgkdntjaGFy c30pIDsgJGlpKysgKSB7CiAgICAgICAgbXkgJGNjID0gc3Vic3RyKCR2e2NoYXJzfSwgJGlpLCAx KTsgICAjIEN1cnJlbnQgQ2hhcgogICAgICAgIGV4aXN0cygkc3ltYm9sc3skY2N9KSBvciBkaWUg ImRvbid0IGtub3cgaG93IHRvIGRyYXcgY2hhcmFjdGVyICckY2MnIjsKICAgICAgICBteSAkc2Eg PSAkc3ltYm9sc3skY2N9e3NwYWNlX2FmdGVyfTsgICAjIFNwYWNlIEFmdGVyIChzeW1ib2wpCiAg ICAgICAgbXkgJHNsID0gJHN5bWJvbHN7JGNjfXtsaW5lc307ICAgICAgICAgIyBTeW1ib2wgTGlu ZXMKICAgICAgICBmb3JlYWNoIG15ICRsaW5lICggQCRzbCApIHsKICAgICAgICAgICAgbXkgJHRs YyA9IHsgJSRsaW5lIH07ICAgIyBUcmFuc2xhdGVkIExpbmUgQ29weQogICAgICAgICAgICAkdGxj LT57eDF9ICs9ICRjbzsKICAgICAgICAgICAgJHRsYy0+e3gyfSArPSAkY287CiAgICAgICAgICAg IGZvcmVhY2ggbXkgJHRsY19kaW1fa2V5ICgga2V5cyAlJHRsYyApIHsKICAgICAgICAgICAgICAg ICMgV2UgaGF2ZSB0byBjYWxsIHNjYWxlZF92YWx1ZSBoZXJlIGJlY2F1c2UgdGhlIGNvbnZlcnNp b24KICAgICAgICAgICAgICAgICMgZGlyZWN0aW9uIGFzc3VtcHRpb25zIHRoYXQgc2NhbGVfZGlt IGFuZCBfc2NhbGVfZGltIGZyb20KICAgICAgICAgICAgICAgICMgUGNiXzkgbWFrZSBhcmVuJ3Qg cmlnaHQgZm9yIHRoZXNlIHZhbHVlcyB0aGF0IG9yaWdpbmF0ZWQKICAgICAgICAgICAgICAgICMg aW4gdGhlIGZvbnQgZGF0YSAod2hpY2ggaXMgaW4gbWlscykuCiAgICAgICAgICAgICAgICAkdGxj LT57JHRsY19kaW1fa2V5fQogICAgICAgICAgICAgICAgICAgID0gUGNiXzk6OnNjYWxlZF92YWx1 ZSgKICAgICAgICAgICAgICAgICAgICAgICAgJHRsYy0+eyR0bGNfZGltX2tleX0sCiAgICAgICAg ICAgICAgICAgICAgICAgICdtaWxzJywKICAgICAgICAgICAgICAgICAgICAgICAgJHNlbGYtPmVs ZW1lbnRfZ2V0KCdkaW0nKSApOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHNjYWxlX2xpbmUo JHZ7c2NhbGV9LCAkdGxjKTsKICAgICAgICAgICAgcm90YXRlX2xpbmUoJHZ7ZGlyfSwgJHRsYyk7 CiAgICAgICAgICAgIHRyYW5zbGF0ZV9saW5lKCR2e3h9LCAkdnt5fSwgJHRsYyk7CiAgICAgICAg ICAgICRzZWxmLT5lbGVtZW50X2FkZF9saW5lKCUkdGxjKTsKICAgICAgICB9CiAgICAgICAgJGNv ICs9IHN5bV93aWR0aCgkY2MsIFwlc3ltYm9scykgKyAkc2E7CiAgICB9CiAgICAjIH19fTIKCn0g IyB9fX0xCgpzdWIgZWxlbWVudF9hZGRfcm91bmRfcGFkICgkJSkgIyB7e3sxCnsKICAgICMgQWRk IGEgcm91bmQgcGFkLiAgVGhlIGZvbGxvd2luZyBhcmd1bWVudHMgYXJlIHJlcXVpcmVkOgogICAg IwogICAgIyAgICAgeAogICAgIyAgICAgeQogICAgIyAgICAgZGlhbWV0ZXIKICAgICMgICAgIGNs ZWFyYW5jZQogICAgIyAgICAgbWFzawogICAgIyAgICAgbmFtZQogICAgIyAgICAgcGluX251bWJl cgogICAgIwogICAgIyBNb3N0IG9mIHRoZSBhcmd1bWVudHMgYXJlIHBhc3NlZCBvbiB0byB0aGUg ZWxlbWVudF9hZGRfcGFkKCkgbWV0aG9kCiAgICAjIGFzIGV4cGVjdGVkLgoKICAgIG15ICRzZWxm ID0gc2hpZnQ7CiAgICAjIE5PVEU6IHdlIGRvbid0IGhhdmUgdG8gc2NhbGUgdGhlIHggYW5kIHkg YXJncywgYXMgdGhlIGVsZW1lbnRfYWRkX2xpbmUKICAgICMgbWV0aG9kIHdpbGwgZW5kIHVwIGRv aW5nIGl0LgogICAgbXkgJXYgPSBAXzsKCiAgICAjIENoZWNrIGZvciB0aGUgcmVxdWlyZWQgYXJn dW1lbnRzCiAgICBub3QgUGNiXzk6Ol9wcmludF9taXNzaW5nX2ZpZWxkcygKICAgICAgICAgICAg J2VsZW1lbnRfYWRkX3JvdW5kX3BhZCcsCiAgICAgICAgICAgIFwldiwKICAgICAgICAgICAgcXco eCB5IGRpYW1ldGVyIGNsZWFyYW5jZSBtYXNrIG5hbWUgcGluX251bWJlcikgKQogICAgICAgIG9y IGNvbmZlc3MgInJlcXVpcmVkIGFyZ3VtZW50IGZpZWxkKHMpIG1pc3NpbmcgKHNlZSBhYm92ZSki OwoKICAgICMgSW4gdHJ1dGggSSdtIGdvaW5nIHRvIG1ha2UgdGhlIHBhZCBub3QgYWJzb2x1dGVs eSByb3VuZC4gIFRoaXMgaXMKICAgICMgYmVjYXVzZSBJIGZlYXIgemVyby1sZW5naCBwYWRzIGdl dHRpbmcgbnVrZWQgYnkgYWNjaWRlbnQgc29tZXdoZXJlLgogICAgbXkgJHJ0bCA9IDAuMDAxOyAg ICMgUmVhbGx5IFRpbnkgTGVuZ3RoCgogICAgJHNlbGYtPmVsZW1lbnRfYWRkX3BhZCgKICAgICAg ICB4MSA9PiAkdnt4fSAtICRydGwgLyAyLjAsCiAgICAgICAgeTEgPT4gJHZ7eX0sCiAgICAgICAg eDIgPT4gJHZ7eH0gKyAkcnRsIC8gMi4wLAogICAgICAgIHkyID0+ICR2e3l9LAogICAgICAgIHRo aWNrbmVzcyA9PiAkdntkaWFtZXRlcn0sCiAgICAgICAgY2xlYXJhbmNlID0+ICR2e2NsZWFyYW5j ZX0sCiAgICAgICAgbWFzayA9PiAkdnttYXNrfSwKICAgICAgICBuYW1lID0+ICR2e25hbWV9LAog ICAgICAgIHBpbl9udW1iZXIgPT4gJHZ7cGluX251bWJlcn0sCiAgICAgICAgZmxhZ3MgPT4gUGNi Xzk6OlBBRF9ST1VOREVEICk7Cgp9ICMgfX19MQoKIyBOZXh0IE1vdW50aW5nIEhvbGUgTnVtYmVy LiAgV2UgZ2l2ZSBtb3VudGluZyBob2xlcyBsYXJnZSBwaW4gbnVtYmVycyB0bwojIGtlZXAgdGhl bSBvdXQgb2YgdGhlIHdheSwgc2luY2Ugd2UgZG9uJ3QgcmVhbGx5IGNhcmUgd2hhdCB0aGV5IGFy ZS4KbXkgJG5taG4gPSAyMDQyOwoKc3ViIGVsZW1lbnRfYWRkX21vdW50aW5nX2hvbGUgKCQlKSAj IHt7ezEKewogICAgIyBBZGQgYSBtb3VudGluZyBob2xlICh3aXRoIG5vIGNvcHBlciBhbm51bHVz KS4gIFRoZSBwaW4gbnVtYmVyIHdpbGwgYmUKICAgICMgYXV0b21hdGljYWxseSBzZXQgdG8gYSBo aWdoIHZhbHVlLCBzbyBpdCBkb2Vzbid0IGludGVyZmVyZSB3aXRoIHBpbnMKICAgICMgeW91IGNh cmUgYWJvdXQuICBUaGUgcGluIHdpbGwgYmUgbmFtZWQgIk1PVU5USU5HX0hPTEUiLiAgVGhlIHJl cXVpcmVkCiAgICAjIG5hbWVzIGFyZ3VtZW50cyBhcmUgIngiLCAieSIsIGFuZCwgImRpYW1ldGVy Ii4KCiAgICBteSAkc2VsZiA9IHNoaWZ0OwogICAgIyBOT1RFOiB3ZSBkb24ndCBoYXZlIHRvIHNj YWxlIHRoZSB4IGFuZCB5IGFyZ3MsIGFzIHRoZSBlbGVtZW50X2FkZF9waW4KICAgICMgbWV0aG9k IHdpbGwgZW5kIHVwIGRvaW5nIGl0LgogICAgbXkgJXYgPSBAXzsKCiAgICBub3QgUGNiXzk6Ol9w cmludF9taXNzaW5nX2ZpZWxkcygKICAgICAgICAgICAgJ2VsZW1lbnRfYWRkX21vdW50aW5nX2hv bGUnLAogICAgICAgICAgICBcJXYsCiAgICAgICAgICAgIHF3KHggeSBkaWFtZXRlcikgKQogICAg ICAgIG9yIGNvbmZlc3MgInJlcXVpcmVkIGFyZ3VtZW50IGZpZWxkKHMpIG1pc3NpbmcgKHNlZSBh Ym92ZSkiOwoKICAgICRzZWxmLT5lbGVtZW50X2FkZF9waW4oCiAgICAgICAgeCA9PiAkdnt4fSwK ICAgICAgICB5ID0+ICR2e3l9LAogICAgICAgIHRoaWNrbmVzcyA9PiAwLjAsICAgIyAwLjAgYmVj YXVzZSBpdHMganVzdCBob2xlLCBubyBhbm51bGFyIHJpbmcKICAgICAgICBjbGVhcmFuY2UgPT4g MC4wLCAgICMgTGV0IHVzZXIgZW5zdXJlIHRyYWNlcyBkb24ndCBmYWxsIGluIGhvbGVzCiAgICAg ICAgbWFzayA9PiAwLjAsCiAgICAgICAgZHJpbGxfaG9sZSA9PiAkdntkaWFtZXRlcn0sCiAgICAg ICAgbmFtZSA9PiAiTU9VTlRJTkdfSE9MRSIsCiAgICAgICAgcGluX251bWJlciA9PiAkbm1obiwK ICAgICAgICBmbGFncyA9PiBQY2JfOTo6UElOX01PVU5USU5HX0hPTEUgKTsKCiAgICAkbm1obiAr PSAxMDA7ICAgIyBHbyBvbiB0byBhbm90aGVyIGJpZyBudW1iZXIgd2UgZG9uJ3QgY2FyZSBhYm91 dC4KfSAjIH19fTEKCnN1YiBlbGVtZW50X2FkZF9wbHVzX21hcmsgKCQlKSAjIHt7ezEKewogICAg IyBBZGQgYSBwbHVzIG1hcmsgYXQgeCwgeSBvZiBzaXplIHNpemUgd2l0aCBzdHJva2UgdGhpY2tu ZXNzIHRoaWNrbmVzcy4KCiAgICBteSAkc2VsZiA9IHNoaWZ0OwogICAgIyBOT1RFOiB3ZSBkb24n dCBoYXZlIHRvIHNjYWxlIHRoZSBhcmdzLCBhcyB0aGUgZWxlbWVudF9hZGRfcGluIG1ldGhvZAog ICAgIyB3aWxsIGVuZCB1cCBkb2luZyBpdC4KICAgIG15ICV2ID0gQF87CgogICAgbm90IFBjYl85 OjpfcHJpbnRfbWlzc2luZ19maWVsZHMoCiAgICAgICAgICAgICdlbGVtZW50X2FkZF9wbHVzX21h cmsnLCBcJXYsIHF3KHggeSBzaXplIHRoaWNrbmVzcykgKQogICAgICAgIG9yIGNvbmZlc3MgInJl cXVpcmVkIGFyZ3VtZW50IGZpZWxkKHMpIG1pc3NpbmcgKHNlZSBhYm92ZSkiOwoKICAgICRzZWxm LT5lbGVtZW50X2FkZF9saW5lKAogICAgICAgIHgxID0+ICR2e3h9IC0gJHZ7c2l6ZX0gLyAyLjAs CiAgICAgICAgeTEgPT4gJHZ7eX0sCiAgICAgICAgeDIgPT4gJHZ7eH0gKyAkdntzaXplfSAvIDIu MCwKICAgICAgICB5MiA9PiAkdnt5fSwKICAgICAgICB0aGlja25lc3MgPT4gJHZ7dGhpY2tuZXNz fSApOwoKICAgICRzZWxmLT5lbGVtZW50X2FkZF9saW5lKAogICAgICAgIHgxID0+ICR2e3h9LAog ICAgICAgIHkxID0+ICR2e3l9IC0gJHZ7c2l6ZX0gLyAyLjAsCiAgICAgICAgeDIgPT4gJHZ7eH0s CiAgICAgICAgeTIgPT4gJHZ7eX0gKyAkdntzaXplfSAvIDIuMCwKICAgICAgICB0aGlja25lc3Mg PT4gJHZ7dGhpY2tuZXNzfSApOwp9ICMgfX19MQoKc3ViIGVsZW1lbnRfYWRkX2RvdCAoJCUpICMg e3t7MQp7CiAgICAjIERyYXcgYSBkb3QgYXQgeCwgeSB3aXRoIGRpYW1hdGVyIGRpYW1ldGVyLgoK ICAgIG15ICRzZWxmID0gc2hpZnQ7CiAgICAjIE5PVEU6IHdlIGRvbid0IGhhdmUgdG8gc2NhbGUg dGhlIGFyZ3MsIGFzIHRoZSBlbGVtZW50X2FkZF9hcmMgbWV0aG9kCiAgICAjIHdpbGwgZW5kIHVw IGRvaW5nIGl0LgogICAgbXkgJXYgPSBAXzsKCiAgICBub3QgUGNiXzk6Ol9wcmludF9taXNzaW5n X2ZpZWxkcygKICAgICAgICAgICAgJ2VsZW1lbnRfYWRkX2RvdCcsIFwldiwgcXcoeCB5IGRpYW1l dGVyKSApCiAgICAgICAgb3IgY29uZmVzcyAicmVxdWlyZWQgYXJndW1lbnQgZmllbGQocykgbWlz c2luZyAoc2VlIGFib3ZlKSI7CgogICAgJHNlbGYtPmVsZW1lbnRfYWRkX2FyYygKICAgICAgICB4 ID0+ICR2e3h9LAogICAgICAgIHkgPT4gJHZ7eX0sCiAgICAgICAgd2lkdGggPT4gICR2e2RpYW1l dGVyfSAvIDQuMCwKICAgICAgICBoZWlnaHQgPT4gJHZ7ZGlhbWV0ZXJ9IC8gNC4wLAogICAgICAg IHN0YXJ0X2FuZ2xlID0+IDAuMCwKICAgICAgICBkZWx0YV9hbmdsZSA9PiAzNjAuMCwKICAgICAg ICB0aGlja25lc3MgPT4gJHZ7ZGlhbWV0ZXJ9IC8gMi4wICk7Cn0gIyB9fX0xCgpyZXR1cm4gIm1v ZHVsZSByZXR1cm4gdHJ1ZSI7CgpfX0RBVEFfXwpTeW1ib2woJyAnIDE4KQooCikKU3ltYm9sKCch JyAxMikKKAoJU3ltYm9sTGluZSgwIDM1IDAgNDAgOCkKCVN5bWJvbExpbmUoMCAwIDAgMjUgOCkK KQpTeW1ib2woJyInIDEyKQooCglTeW1ib2xMaW5lKDAgMCAwIDEwIDgpCglTeW1ib2xMaW5lKDEw IDAgMTAgMTAgOCkKKQpTeW1ib2woJyMnIDEyKQooCglTeW1ib2xMaW5lKDAgMjUgMjAgMjUgOCkK CVN5bWJvbExpbmUoMCAxNSAyMCAxNSA4KQoJU3ltYm9sTGluZSgxNSAxMCAxNSAzMCA4KQoJU3lt Ym9sTGluZSg1IDEwIDUgMzAgOCkKKQpTeW1ib2woJyQnIDEyKQooCglTeW1ib2xMaW5lKDE1IDUg MjAgMTAgOCkKCVN5bWJvbExpbmUoNSA1IDE1IDUgOCkKCVN5bWJvbExpbmUoMCAxMCA1IDUgOCkK CVN5bWJvbExpbmUoMCAxMCAwIDE1IDgpCglTeW1ib2xMaW5lKDAgMTUgNSAyMCA4KQoJU3ltYm9s TGluZSg1IDIwIDE1IDIwIDgpCglTeW1ib2xMaW5lKDE1IDIwIDIwIDI1IDgpCglTeW1ib2xMaW5l KDIwIDI1IDIwIDMwIDgpCglTeW1ib2xMaW5lKDE1IDM1IDIwIDMwIDgpCglTeW1ib2xMaW5lKDUg MzUgMTUgMzUgOCkKCVN5bWJvbExpbmUoMCAzMCA1IDM1IDgpCglTeW1ib2xMaW5lKDEwIDAgMTAg NDAgOCkKKQpTeW1ib2woJyUnIDEyKQooCglTeW1ib2xMaW5lKDAgNSAwIDEwIDgpCglTeW1ib2xM aW5lKDAgNSA1IDAgOCkKCVN5bWJvbExpbmUoNSAwIDEwIDAgOCkKCVN5bWJvbExpbmUoMTAgMCAx NSA1IDgpCglTeW1ib2xMaW5lKDE1IDUgMTUgMTAgOCkKCVN5bWJvbExpbmUoMTAgMTUgMTUgMTAg OCkKCVN5bWJvbExpbmUoNSAxNSAxMCAxNSA4KQoJU3ltYm9sTGluZSgwIDEwIDUgMTUgOCkKCVN5 bWJvbExpbmUoMCA0MCA0MCAwIDgpCglTeW1ib2xMaW5lKDM1IDQwIDQwIDM1IDgpCglTeW1ib2xM aW5lKDQwIDMwIDQwIDM1IDgpCglTeW1ib2xMaW5lKDM1IDI1IDQwIDMwIDgpCglTeW1ib2xMaW5l KDMwIDI1IDM1IDI1IDgpCglTeW1ib2xMaW5lKDI1IDMwIDMwIDI1IDgpCglTeW1ib2xMaW5lKDI1 IDMwIDI1IDM1IDgpCglTeW1ib2xMaW5lKDI1IDM1IDMwIDQwIDgpCglTeW1ib2xMaW5lKDMwIDQw IDM1IDQwIDgpCikKU3ltYm9sKCcmJyAxMikKKAoJU3ltYm9sTGluZSgwIDM1IDUgNDAgOCkKCVN5 bWJvbExpbmUoMCA1IDAgMTUgOCkKCVN5bWJvbExpbmUoMCA1IDUgMCA4KQoJU3ltYm9sTGluZSgw IDI1IDE1IDEwIDgpCglTeW1ib2xMaW5lKDUgNDAgMTAgNDAgOCkKCVN5bWJvbExpbmUoMTAgNDAg MjAgMzAgOCkKCVN5bWJvbExpbmUoMCAxNSAyNSA0MCA4KQoJU3ltYm9sTGluZSg1IDAgMTAgMCA4 KQoJU3ltYm9sTGluZSgxMCAwIDE1IDUgOCkKCVN5bWJvbExpbmUoMTUgNSAxNSAxMCA4KQoJU3lt Ym9sTGluZSgwIDI1IDAgMzUgOCkKKQpTeW1ib2woJycnIDEyKQooCglTeW1ib2xMaW5lKDAgMTAg MTAgMCA4KQopClN5bWJvbCgnKCcgMTIpCigKCVN5bWJvbExpbmUoMCAzNSA1IDQwIDgpCglTeW1i b2xMaW5lKDAgNSA1IDAgOCkKCVN5bWJvbExpbmUoMCA1IDAgMzUgOCkKKQpTeW1ib2woJyknIDEy KQooCglTeW1ib2xMaW5lKDAgMCA1IDUgOCkKCVN5bWJvbExpbmUoNSA1IDUgMzUgOCkKCVN5bWJv bExpbmUoMCA0MCA1IDM1IDgpCikKU3ltYm9sKCcqJyAxMikKKAoJU3ltYm9sTGluZSgwIDEwIDIw IDMwIDgpCglTeW1ib2xMaW5lKDAgMzAgMjAgMTAgOCkKCVN5bWJvbExpbmUoMCAyMCAyMCAyMCA4 KQoJU3ltYm9sTGluZSgxMCAxMCAxMCAzMCA4KQopClN5bWJvbCgnKycgMTIpCigKCVN5bWJvbExp bmUoMCAyMCAyMCAyMCA4KQoJU3ltYm9sTGluZSgxMCAxMCAxMCAzMCA4KQopClN5bWJvbCgnLCcg MTIpCigKCVN5bWJvbExpbmUoMCA1MCAxMCA0MCA4KQopClN5bWJvbCgnLScgMTIpCigKCVN5bWJv bExpbmUoMCAyMCAyMCAyMCA4KQopClN5bWJvbCgnLicgMTIpCigKCVN5bWJvbExpbmUoMCA0MCA1 IDQwIDgpCikKU3ltYm9sKCcvJyAxMikKKAoJU3ltYm9sTGluZSgwIDM1IDMwIDUgOCkKKQpTeW1i b2woJzAnIDEyKQooCglTeW1ib2xMaW5lKDAgMzUgNSA0MCA4KQoJU3ltYm9sTGluZSgwIDUgMCAz NSA4KQoJU3ltYm9sTGluZSgwIDUgNSAwIDgpCglTeW1ib2xMaW5lKDUgMCAxNSAwIDgpCglTeW1i b2xMaW5lKDE1IDAgMjAgNSA4KQoJU3ltYm9sTGluZSgyMCA1IDIwIDM1IDgpCglTeW1ib2xMaW5l KDE1IDQwIDIwIDM1IDgpCglTeW1ib2xMaW5lKDUgNDAgMTUgNDAgOCkKCVN5bWJvbExpbmUoMCAz MCAyMCAxMCA4KQopClN5bWJvbCgnMScgMTIpCigKCVN5bWJvbExpbmUoIDAgIDggIDggIDAgOCkK CVN5bWJvbExpbmUoIDggIDAgIDggNDAgOCkKCVN5bWJvbExpbmUoIDAgNDAgMTUgNDAgOCkKKQpT eW1ib2woJzInIDEyKQooCglTeW1ib2xMaW5lKDAgNSA1IDAgOCkKCVN5bWJvbExpbmUoNSAwIDIw IDAgOCkKCVN5bWJvbExpbmUoMjAgMCAyNSA1IDgpCglTeW1ib2xMaW5lKDI1IDUgMjUgMTUgOCkK CVN5bWJvbExpbmUoMCA0MCAyNSAxNSA4KQoJU3ltYm9sTGluZSgwIDQwIDI1IDQwIDgpCikKU3lt Ym9sKCczJyAxMikKKAoJU3ltYm9sTGluZSggMCAgNSAgNSAgMCA4KQoJU3ltYm9sTGluZSggNSAg MCAxNSAgMCA4KQoJU3ltYm9sTGluZSgxNSAgMCAyMCAgNSA4KQoJU3ltYm9sTGluZSgxNSA0MCAy MCAzNSA4KQoJU3ltYm9sTGluZSggNSA0MCAxNSA0MCA4KQoJU3ltYm9sTGluZSggMCAzNSAgNSA0 MCA4KQoKCVN5bWJvbExpbmUoIDUgMTggMTUgMTggOCkKCVN5bWJvbExpbmUoMjAgIDUgMjAgMTMg OCkKCVN5bWJvbExpbmUoMjAgMjMgMjAgMzUgOCkKCVN5bWJvbExpbmUoMjAgMjMgMTUgMTggOCkK CVN5bWJvbExpbmUoMjAgMTMgMTUgMTggOCkKKQpTeW1ib2woJzQnIDEyKQooCglTeW1ib2xMaW5l KDAgMjUgMjAgMCA4KQoJU3ltYm9sTGluZSgwIDI1IDI1IDI1IDgpCglTeW1ib2xMaW5lKDIwIDAg MjAgNDAgOCkKKQpTeW1ib2woJzUnIDEyKQooCglTeW1ib2xMaW5lKDAgMCAyMCAwIDgpCglTeW1i b2xMaW5lKDAgMCAwIDIwIDgpCglTeW1ib2xMaW5lKDAgMjAgNSAxNSA4KQoJU3ltYm9sTGluZSg1 IDE1IDE1IDE1IDgpCglTeW1ib2xMaW5lKDE1IDE1IDIwIDIwIDgpCglTeW1ib2xMaW5lKDIwIDIw IDIwIDM1IDgpCglTeW1ib2xMaW5lKDE1IDQwIDIwIDM1IDgpCglTeW1ib2xMaW5lKDUgNDAgMTUg NDAgOCkKCVN5bWJvbExpbmUoMCAzNSA1IDQwIDgpCikKU3ltYm9sKCc2JyAxMikKKAoJU3ltYm9s TGluZSgxNSAgMCAyMCAgNSA4KQoJU3ltYm9sTGluZSggNSAgMCAxNSAgMCA4KQoJU3ltYm9sTGlu ZSggMCAgNSAgNSAgMCA4KQoJU3ltYm9sTGluZSggMCAgNSAgMCAzNSA4KQoJU3ltYm9sTGluZSgg MCAzNSAgNSA0MCA4KQoJU3ltYm9sTGluZSgxNSAxOCAyMCAyMyA4KQoJU3ltYm9sTGluZSggMCAx OCAxNSAxOCA4KQoJU3ltYm9sTGluZSggNSA0MCAxNSA0MCA4KQoJU3ltYm9sTGluZSgxNSA0MCAy MCAzNSA4KQoJU3ltYm9sTGluZSgyMCAyMyAyMCAzNSA4KQopClN5bWJvbCgnNycgMTIpCigKCVN5 bWJvbExpbmUoIDUgNDAgMjUgIDAgOCkKCVN5bWJvbExpbmUoIDAgIDAgMjUgIDAgOCkKKQpTeW1i b2woJzgnIDEyKQooCglTeW1ib2xMaW5lKCAwIDM1ICA1IDQwIDgpCglTeW1ib2xMaW5lKCAwIDI3 ICAwIDM1IDgpCglTeW1ib2xMaW5lKCAwIDI3ICA3IDIwIDgpCglTeW1ib2xMaW5lKCA3IDIwIDEz IDIwIDgpCglTeW1ib2xMaW5lKDEzIDIwIDIwIDI3IDgpCglTeW1ib2xMaW5lKDIwIDI3IDIwIDM1 IDgpCglTeW1ib2xMaW5lKDE1IDQwIDIwIDM1IDgpCglTeW1ib2xMaW5lKCA1IDQwIDE1IDQwIDgp CglTeW1ib2xMaW5lKCAwIDEzICA3IDIwIDgpCglTeW1ib2xMaW5lKCAwICA1ICAwIDEzIDgpCglT eW1ib2xMaW5lKCAwICA1ICA1ICAwIDgpCglTeW1ib2xMaW5lKCA1ICAwIDE1ICAwIDgpCglTeW1i b2xMaW5lKDE1ICAwIDIwICA1IDgpCglTeW1ib2xMaW5lKDIwICA1IDIwIDEzIDgpCglTeW1ib2xM aW5lKDEzIDIwIDIwIDEzIDgpCikKU3ltYm9sKCc5JyAxMikKKAoJU3ltYm9sTGluZSg1IDQwIDIw IDIwIDgpCglTeW1ib2xMaW5lKDIwIDUgMjAgMjAgOCkKCVN5bWJvbExpbmUoMTUgMCAyMCA1IDgp CglTeW1ib2xMaW5lKDUgMCAxNSAwIDgpCglTeW1ib2xMaW5lKDAgNSA1IDAgOCkKCVN5bWJvbExp bmUoMCA1IDAgMTUgOCkKCVN5bWJvbExpbmUoMCAxNSA1IDIwIDgpCglTeW1ib2xMaW5lKDUgMjAg MjAgMjAgOCkKKQpTeW1ib2woJzonIDEyKQooCglTeW1ib2xMaW5lKDAgMTUgNSAxNSA4KQoJU3lt Ym9sTGluZSgwIDI1IDUgMjUgOCkKKQpTeW1ib2woJzsnIDEyKQooCglTeW1ib2xMaW5lKDAgNDAg MTAgMzAgOCkKCVN5bWJvbExpbmUoMTAgMTUgMTAgMjAgOCkKKQpTeW1ib2woJzwnIDEyKQooCglT eW1ib2xMaW5lKDAgMjAgMTAgMTAgOCkKCVN5bWJvbExpbmUoMCAyMCAxMCAzMCA4KQopClN5bWJv bCgnPScgMTIpCigKCVN5bWJvbExpbmUoMCAxNSAyMCAxNSA4KQoJU3ltYm9sTGluZSgwIDI1IDIw IDI1IDgpCikKU3ltYm9sKCc+JyAxMikKKAoJU3ltYm9sTGluZSgwIDEwIDEwIDIwIDgpCglTeW1i b2xMaW5lKDAgMzAgMTAgMjAgOCkKKQpTeW1ib2woJz8nIDEyKQooCglTeW1ib2xMaW5lKDEwIDIw IDEwIDI1IDgpCglTeW1ib2xMaW5lKDEwIDM1IDEwIDQwIDgpCglTeW1ib2xMaW5lKDAgNSAwIDEw IDgpCglTeW1ib2xMaW5lKDAgNSA1IDAgOCkKCVN5bWJvbExpbmUoNSAwIDE1IDAgOCkKCVN5bWJv bExpbmUoMTUgMCAyMCA1IDgpCglTeW1ib2xMaW5lKDIwIDUgMjAgMTAgOCkKCVN5bWJvbExpbmUo MTAgMjAgMjAgMTAgOCkKKQpTeW1ib2woJ0EnIDEyKQooCglTeW1ib2xMaW5lKCAwIDEwICAwIDQw IDgpCglTeW1ib2xMaW5lKCAwIDEwICA3ICAwIDgpCglTeW1ib2xMaW5lKCA3ICAwIDE4ICAwIDgp CglTeW1ib2xMaW5lKDE4ICAwIDI1IDEwIDgpCglTeW1ib2xMaW5lKDI1IDEwIDI1IDQwIDgpCglT eW1ib2xMaW5lKCAwIDIwIDI1IDIwIDgpCikKU3ltYm9sKCdCJyAxMikKKAoJU3ltYm9sTGluZSgg MCA0MCAyMCA0MCA4KQoJU3ltYm9sTGluZSgyMCA0MCAyNSAzNSA4KQoJU3ltYm9sTGluZSgyNSAy MyAyNSAzNSA4KQoJU3ltYm9sTGluZSgyMCAxOCAyNSAyMyA4KQoJU3ltYm9sTGluZSggNSAxOCAy MCAxOCA4KQoJU3ltYm9sTGluZSggNSAgMCAgNSA0MCA4KQoJU3ltYm9sTGluZSggMCAgMCAyMCAg MCA4KQoJU3ltYm9sTGluZSgyMCAgMCAyNSAgNSA4KQoJU3ltYm9sTGluZSgyNSAgNSAyNSAxMyA4 KQoJU3ltYm9sTGluZSgyMCAxOCAyNSAxMyA4KQopClN5bWJvbCgnQycgMTIpCigKCVN5bWJvbExp bmUoNyA0MCAyMCA0MCA4KQoJU3ltYm9sTGluZSgwIDMzICA3IDQwIDgpCglTeW1ib2xMaW5lKDAg IDcgIDAgMzMgOCkKCVN5bWJvbExpbmUoMCAgNyAgNyAgMCA4KQoJU3ltYm9sTGluZSg3ICAwIDIw ICAwIDgpCikKU3ltYm9sKCdEJyAxMikKKAoJU3ltYm9sTGluZSggNSAgMCAgNSA0MCA4KQoJU3lt Ym9sTGluZSgxOCAgMCAyNSAgNyA4KQoJU3ltYm9sTGluZSgyNSAgNyAyNSAzMyA4KQoJU3ltYm9s TGluZSgxOCA0MCAyNSAzMyA4KQoJU3ltYm9sTGluZSggMCA0MCAxOCA0MCA4KQoJU3ltYm9sTGlu ZSggMCAgMCAxOCAgMCA4KQopClN5bWJvbCgnRScgMTIpCigKCVN5bWJvbExpbmUoMCAxOCAxNSAx OCA4KQoJU3ltYm9sTGluZSgwIDQwIDIwIDQwIDgpCglTeW1ib2xMaW5lKDAgIDAgIDAgNDAgOCkK CVN5bWJvbExpbmUoMCAgMCAyMCAgMCA4KQopClN5bWJvbCgnRicgMTIpCigKCVN5bWJvbExpbmUo MCAgMCAgMCA0MCA4KQoJU3ltYm9sTGluZSgwICAwIDIwICAwIDgpCglTeW1ib2xMaW5lKDAgMTgg MTUgMTggOCkKKQpTeW1ib2woJ0cnIDEyKQooCglTeW1ib2xMaW5lKDIwIDAgMjUgNSA4KQoJU3lt Ym9sTGluZSg1IDAgMjAgMCA4KQoJU3ltYm9sTGluZSgwIDUgNSAwIDgpCglTeW1ib2xMaW5lKDAg NSAwIDM1IDgpCglTeW1ib2xMaW5lKDAgMzUgNSA0MCA4KQoJU3ltYm9sTGluZSg1IDQwIDIwIDQw IDgpCglTeW1ib2xMaW5lKDIwIDQwIDI1IDM1IDgpCglTeW1ib2xMaW5lKDI1IDI1IDI1IDM1IDgp CglTeW1ib2xMaW5lKDIwIDIwIDI1IDI1IDgpCglTeW1ib2xMaW5lKDEwIDIwIDIwIDIwIDgpCikK U3ltYm9sKCdIJyAxMikKKAoJU3ltYm9sTGluZSgwIDAgMCA0MCA4KQoJU3ltYm9sTGluZSgyNSAw IDI1IDQwIDgpCglTeW1ib2xMaW5lKDAgMjAgMjUgMjAgOCkKKQpTeW1ib2woJ0knIDEyKQooCglT eW1ib2xMaW5lKDAgMCAxMCAwIDgpCglTeW1ib2xMaW5lKDUgMCA1IDQwIDgpCglTeW1ib2xMaW5l KDAgNDAgMTAgNDAgOCkKKQpTeW1ib2woJ0onIDEyKQooCglTeW1ib2xMaW5lKCA3ICAwIDE1ICAw IDgpCglTeW1ib2xMaW5lKDE1ICAwIDE1IDM1IDgpCglTeW1ib2xMaW5lKDEwIDQwIDE1IDM1IDgp CglTeW1ib2xMaW5lKCA1IDQwIDEwIDQwIDgpCglTeW1ib2xMaW5lKCAwIDM1ICA1IDQwIDgpCglT eW1ib2xMaW5lKCAwIDM1ICAwIDMwIDgpCikKU3ltYm9sKCdLJyAxMikKKAoJU3ltYm9sTGluZSgw IDAgMCA0MCA4KQoJU3ltYm9sTGluZSgwIDIwIDIwIDAgOCkKCVN5bWJvbExpbmUoMCAyMCAyMCA0 MCA4KQopClN5bWJvbCgnTCcgMTIpCigKCVN5bWJvbExpbmUoMCAwIDAgNDAgOCkKCVN5bWJvbExp bmUoMCA0MCAyMCA0MCA4KQopClN5bWJvbCgnTScgMTIpCigKCVN5bWJvbExpbmUoMCAwIDAgNDAg OCkKCVN5bWJvbExpbmUoMCAwIDE1IDIwIDgpCglTeW1ib2xMaW5lKDE1IDIwIDMwIDAgOCkKCVN5 bWJvbExpbmUoMzAgMCAzMCA0MCA4KQopClN5bWJvbCgnTicgMTIpCigKCVN5bWJvbExpbmUoMCAw IDAgNDAgOCkKCVN5bWJvbExpbmUoMCAwIDI1IDQwIDgpCglTeW1ib2xMaW5lKDI1IDAgMjUgNDAg OCkKKQpTeW1ib2woJ08nIDEyKQooCglTeW1ib2xMaW5lKDAgNSAwIDM1IDgpCglTeW1ib2xMaW5l KDAgNSA1IDAgOCkKCVN5bWJvbExpbmUoNSAwIDE1IDAgOCkKCVN5bWJvbExpbmUoMTUgMCAyMCA1 IDgpCglTeW1ib2xMaW5lKDIwIDUgMjAgMzUgOCkKCVN5bWJvbExpbmUoMTUgNDAgMjAgMzUgOCkK CVN5bWJvbExpbmUoNSA0MCAxNSA0MCA4KQoJU3ltYm9sTGluZSgwIDM1IDUgNDAgOCkKKQpTeW1i b2woJ1AnIDEyKQooCglTeW1ib2xMaW5lKDUgMCA1IDQwIDgpCglTeW1ib2xMaW5lKDAgMCAyMCAw IDgpCglTeW1ib2xMaW5lKDIwIDAgMjUgNSA4KQoJU3ltYm9sTGluZSgyNSA1IDI1IDE1IDgpCglT eW1ib2xMaW5lKDIwIDIwIDI1IDE1IDgpCglTeW1ib2xMaW5lKDUgMjAgMjAgMjAgOCkKKQpTeW1i b2woJ1EnIDEyKQooCglTeW1ib2xMaW5lKCAwICA1ICAwIDM1IDgpCglTeW1ib2xMaW5lKCAwICA1 ICA1ICAwIDgpCglTeW1ib2xMaW5lKCA1ICAwIDE1ICAwIDgpCglTeW1ib2xMaW5lKDE1ICAwIDIw ICA1IDgpCglTeW1ib2xMaW5lKDIwICA1IDIwIDMwIDgpCglTeW1ib2xMaW5lKDEwIDQwIDIwIDMw IDgpCglTeW1ib2xMaW5lKCA1IDQwIDEwIDQwIDgpCglTeW1ib2xMaW5lKCAwIDM1ICA1IDQwIDgp CglTeW1ib2xMaW5lKDEwIDI1IDIwIDQwIDgpCikKU3ltYm9sKCdSJyAxMikKKAoJU3ltYm9sTGlu ZSggMCAgMCAyMCAgMCA4KQoJU3ltYm9sTGluZSgyMCAgMCAyNSAgNSA4KQoJU3ltYm9sTGluZSgy NSAgNSAyNSAxNSA4KQoJU3ltYm9sTGluZSgyMCAyMCAyNSAxNSA4KQoJU3ltYm9sTGluZSggNSAy MCAyMCAyMCA4KQoJU3ltYm9sTGluZSggNSAgMCAgNSA0MCA4KQoJU3ltYm9sTGluZSgxMyAyMCAy NSA0MCA4KQopClN5bWJvbCgnUycgMTIpCigKCVN5bWJvbExpbmUoMjAgMCAyNSA1IDgpCglTeW1i b2xMaW5lKDUgMCAyMCAwIDgpCglTeW1ib2xMaW5lKDAgNSA1IDAgOCkKCVN5bWJvbExpbmUoMCA1 IDAgMTUgOCkKCVN5bWJvbExpbmUoMCAxNSA1IDIwIDgpCglTeW1ib2xMaW5lKDUgMjAgMjAgMjAg OCkKCVN5bWJvbExpbmUoMjAgMjAgMjUgMjUgOCkKCVN5bWJvbExpbmUoMjUgMjUgMjUgMzUgOCkK CVN5bWJvbExpbmUoMjAgNDAgMjUgMzUgOCkKCVN5bWJvbExpbmUoNSA0MCAyMCA0MCA4KQoJU3lt Ym9sTGluZSgwIDM1IDUgNDAgOCkKKQpTeW1ib2woJ1QnIDEyKQooCglTeW1ib2xMaW5lKDAgMCAy MCAwIDgpCglTeW1ib2xMaW5lKDEwIDAgMTAgNDAgOCkKKQpTeW1ib2woJ1UnIDEyKQooCglTeW1i b2xMaW5lKDAgMCAwIDM1IDgpCglTeW1ib2xMaW5lKDAgMzUgNSA0MCA4KQoJU3ltYm9sTGluZSg1 IDQwIDE1IDQwIDgpCglTeW1ib2xMaW5lKDE1IDQwIDIwIDM1IDgpCglTeW1ib2xMaW5lKDIwIDAg MjAgMzUgOCkKKQpTeW1ib2woJ1YnIDEyKQooCglTeW1ib2xMaW5lKCAwICAwIDEwIDQwIDgpCglT eW1ib2xMaW5lKDEwIDQwIDIwICAwIDgpCikKU3ltYm9sKCdXJyAxMikKKAoJU3ltYm9sTGluZSgg MCAgMCAgMCAyMCA4KQoJU3ltYm9sTGluZSggMCAyMCAgNSA0MCA4KQoJU3ltYm9sTGluZSggNSA0 MCAxNSAyMCA4KQoJU3ltYm9sTGluZSgxNSAyMCAyNSA0MCA4KQoJU3ltYm9sTGluZSgyNSA0MCAz MCAyMCA4KQoJU3ltYm9sTGluZSgzMCAyMCAzMCAgMCA4KQopClN5bWJvbCgnWCcgMTIpCigKCVN5 bWJvbExpbmUoIDAgNDAgMjUgIDAgOCkKCVN5bWJvbExpbmUoIDAgIDAgMjUgNDAgOCkKKQpTeW1i b2woJ1knIDEyKQooCglTeW1ib2xMaW5lKCAwICAwIDEwIDIwIDgpCglTeW1ib2xMaW5lKDEwIDIw IDIwICAwIDgpCglTeW1ib2xMaW5lKDEwIDIwIDEwIDQwIDgpCikKU3ltYm9sKCdaJyAxMikKKAoJ U3ltYm9sTGluZSggMCAgMCAyNSAgMCA4KQoJU3ltYm9sTGluZSggMCA0MCAyNSAgMCA4KQoJU3lt Ym9sTGluZSggMCA0MCAyNSA0MCA4KQopClN5bWJvbCgnWycgMTIpCigKCVN5bWJvbExpbmUoMCAw IDUgMCA4KQoJU3ltYm9sTGluZSgwIDAgMCA0MCA4KQoJU3ltYm9sTGluZSgwIDQwIDUgNDAgOCkK KQpTeW1ib2woJ1wnIDEyKQooCglTeW1ib2xMaW5lKDAgNSAzMCAzNSA4KQopClN5bWJvbCgnXScg MTIpCigKCVN5bWJvbExpbmUoMCAwIDUgMCA4KQoJU3ltYm9sTGluZSg1IDAgNSA0MCA4KQoJU3lt Ym9sTGluZSgwIDQwIDUgNDAgOCkKKQpTeW1ib2woJ14nIDEyKQooCglTeW1ib2xMaW5lKDAgNSA1 IDAgOCkKCVN5bWJvbExpbmUoNSAwIDEwIDUgOCkKKQpTeW1ib2woJ18nIDEyKQooCglTeW1ib2xM aW5lKDAgNDAgMjAgNDAgOCkKKQpTeW1ib2woJ2EnIDEyKQooCglTeW1ib2xMaW5lKDE1IDIwIDIw IDI1IDgpCglTeW1ib2xMaW5lKDUgMjAgMTUgMjAgOCkKCVN5bWJvbExpbmUoMCAyNSA1IDIwIDgp CglTeW1ib2xMaW5lKDAgMjUgMCAzNSA4KQoJU3ltYm9sTGluZSgwIDM1IDUgNDAgOCkKCVN5bWJv bExpbmUoMjAgMjAgMjAgMzUgOCkKCVN5bWJvbExpbmUoMjAgMzUgMjUgNDAgOCkKCVN5bWJvbExp bmUoNSA0MCAxNSA0MCA4KQoJU3ltYm9sTGluZSgxNSA0MCAyMCAzNSA4KQopClN5bWJvbCgnYicg MTIpCigKCVN5bWJvbExpbmUoMCAwIDAgNDAgOCkKCVN5bWJvbExpbmUoMCAzNSA1IDQwIDgpCglT eW1ib2xMaW5lKDUgNDAgMTUgNDAgOCkKCVN5bWJvbExpbmUoMTUgNDAgMjAgMzUgOCkKCVN5bWJv bExpbmUoMjAgMjUgMjAgMzUgOCkKCVN5bWJvbExpbmUoMTUgMjAgMjAgMjUgOCkKCVN5bWJvbExp bmUoNSAyMCAxNSAyMCA4KQoJU3ltYm9sTGluZSgwIDI1IDUgMjAgOCkKKQpTeW1ib2woJ2MnIDEy KQooCglTeW1ib2xMaW5lKDUgMjAgMjAgMjAgOCkKCVN5bWJvbExpbmUoMCAyNSA1IDIwIDgpCglT eW1ib2xMaW5lKDAgMjUgMCAzNSA4KQoJU3ltYm9sTGluZSgwIDM1IDUgNDAgOCkKCVN5bWJvbExp bmUoNSA0MCAyMCA0MCA4KQopClN5bWJvbCgnZCcgMTIpCigKCVN5bWJvbExpbmUoMjAgMCAyMCA0 MCA4KQoJU3ltYm9sTGluZSgxNSA0MCAyMCAzNSA4KQoJU3ltYm9sTGluZSg1IDQwIDE1IDQwIDgp CglTeW1ib2xMaW5lKDAgMzUgNSA0MCA4KQoJU3ltYm9sTGluZSgwIDI1IDAgMzUgOCkKCVN5bWJv bExpbmUoMCAyNSA1IDIwIDgpCglTeW1ib2xMaW5lKDUgMjAgMTUgMjAgOCkKCVN5bWJvbExpbmUo MTUgMjAgMjAgMjUgOCkKKQpTeW1ib2woJ2UnIDEyKQooCglTeW1ib2xMaW5lKDUgNDAgMjAgNDAg OCkKCVN5bWJvbExpbmUoMCAzNSA1IDQwIDgpCglTeW1ib2xMaW5lKDAgMjUgMCAzNSA4KQoJU3lt Ym9sTGluZSgwIDI1IDUgMjAgOCkKCVN5bWJvbExpbmUoNSAyMCAxNSAyMCA4KQoJU3ltYm9sTGlu ZSgxNSAyMCAyMCAyNSA4KQoJU3ltYm9sTGluZSgwIDMwIDIwIDMwIDgpCglTeW1ib2xMaW5lKDIw IDMwIDIwIDI1IDgpCikKU3ltYm9sKCdmJyAxMCkKKAoJU3ltYm9sTGluZSg1IDUgNSA0MCA4KQoJ U3ltYm9sTGluZSg1IDUgMTAgMCA4KQoJU3ltYm9sTGluZSgxMCAwIDE1IDAgOCkKCVN5bWJvbExp bmUoMCAyMCAxMCAyMCA4KQopClN5bWJvbCgnZycgMTIpCigKCVN5bWJvbExpbmUoMTUgMjAgMjAg MjUgOCkKCVN5bWJvbExpbmUoNSAyMCAxNSAyMCA4KQoJU3ltYm9sTGluZSgwIDI1IDUgMjAgOCkK CVN5bWJvbExpbmUoMCAyNSAwIDM1IDgpCglTeW1ib2xMaW5lKDAgMzUgNSA0MCA4KQoJU3ltYm9s TGluZSg1IDQwIDE1IDQwIDgpCglTeW1ib2xMaW5lKDE1IDQwIDIwIDM1IDgpCglTeW1ib2xMaW5l KDAgNTAgNSA1NSA4KQoJU3ltYm9sTGluZSg1IDU1IDE1IDU1IDgpCglTeW1ib2xMaW5lKDE1IDU1 IDIwIDUwIDgpCglTeW1ib2xMaW5lKDIwIDIwIDIwIDUwIDgpCikKU3ltYm9sKCdoJyAxMikKKAoJ U3ltYm9sTGluZSgwIDAgMCA0MCA4KQoJU3ltYm9sTGluZSgwIDI1IDUgMjAgOCkKCVN5bWJvbExp bmUoNSAyMCAxNSAyMCA4KQoJU3ltYm9sTGluZSgxNSAyMCAyMCAyNSA4KQoJU3ltYm9sTGluZSgy MCAyNSAyMCA0MCA4KQopClN5bWJvbCgnaScgMTApCigKCVN5bWJvbExpbmUoMCAxMCAwIDExIDEw KQoJU3ltYm9sTGluZSgwIDI1IDAgNDAgOCkKKQpTeW1ib2woJ2onIDEwKQooCglTeW1ib2xMaW5l KDUgMTAgNSAxMSAxMCkKCVN5bWJvbExpbmUoNSAyNSA1IDUwIDgpCglTeW1ib2xMaW5lKDAgNTUg NSA1MCA4KQopClN5bWJvbCgnaycgMTIpCigKCVN5bWJvbExpbmUoMCAwIDAgNDAgOCkKCVN5bWJv bExpbmUoMCAyNSAxNSA0MCA4KQoJU3ltYm9sTGluZSgwIDI1IDEwIDE1IDgpCikKU3ltYm9sKCds JyAxMCkKKAoJU3ltYm9sTGluZSgwIDAgMCAzNSA4KQoJU3ltYm9sTGluZSgwIDM1IDUgNDAgOCkK KQpTeW1ib2woJ20nIDEyKQooCglTeW1ib2xMaW5lKDUgMjUgNSA0MCA4KQoJU3ltYm9sTGluZSg1 IDI1IDEwIDIwIDgpCglTeW1ib2xMaW5lKDEwIDIwIDE1IDIwIDgpCglTeW1ib2xMaW5lKDE1IDIw IDIwIDI1IDgpCglTeW1ib2xMaW5lKDIwIDI1IDIwIDQwIDgpCglTeW1ib2xMaW5lKDIwIDI1IDI1 IDIwIDgpCglTeW1ib2xMaW5lKDI1IDIwIDMwIDIwIDgpCglTeW1ib2xMaW5lKDMwIDIwIDM1IDI1 IDgpCglTeW1ib2xMaW5lKDM1IDI1IDM1IDQwIDgpCglTeW1ib2xMaW5lKDAgMjAgNSAyNSA4KQop ClN5bWJvbCgnbicgMTIpCigKCVN5bWJvbExpbmUoNSAyNSA1IDQwIDgpCglTeW1ib2xMaW5lKDUg MjUgMTAgMjAgOCkKCVN5bWJvbExpbmUoMTAgMjAgMTUgMjAgOCkKCVN5bWJvbExpbmUoMTUgMjAg MjAgMjUgOCkKCVN5bWJvbExpbmUoMjAgMjUgMjAgNDAgOCkKCVN5bWJvbExpbmUoMCAyMCA1IDI1 IDgpCikKU3ltYm9sKCdvJyAxMikKKAoJU3ltYm9sTGluZSgwIDI1IDAgMzUgOCkKCVN5bWJvbExp bmUoMCAyNSA1IDIwIDgpCglTeW1ib2xMaW5lKDUgMjAgMTUgMjAgOCkKCVN5bWJvbExpbmUoMTUg MjAgMjAgMjUgOCkKCVN5bWJvbExpbmUoMjAgMjUgMjAgMzUgOCkKCVN5bWJvbExpbmUoMTUgNDAg MjAgMzUgOCkKCVN5bWJvbExpbmUoNSA0MCAxNSA0MCA4KQoJU3ltYm9sTGluZSgwIDM1IDUgNDAg OCkKKQpTeW1ib2woJ3AnIDEyKQooCglTeW1ib2xMaW5lKDUgMjUgNSA1NSA4KQoJU3ltYm9sTGlu ZSgwIDIwIDUgMjUgOCkKCVN5bWJvbExpbmUoNSAyNSAxMCAyMCA4KQoJU3ltYm9sTGluZSgxMCAy MCAyMCAyMCA4KQoJU3ltYm9sTGluZSgyMCAyMCAyNSAyNSA4KQoJU3ltYm9sTGluZSgyNSAyNSAy NSAzNSA4KQoJU3ltYm9sTGluZSgyMCA0MCAyNSAzNSA4KQoJU3ltYm9sTGluZSgxMCA0MCAyMCA0 MCA4KQoJU3ltYm9sTGluZSg1IDM1IDEwIDQwIDgpCikKU3ltYm9sKCdxJyAxMikKKAoJU3ltYm9s TGluZSgyMCAyNSAyMCA1NSA4KQoJU3ltYm9sTGluZSgxNSAyMCAyMCAyNSA4KQoJU3ltYm9sTGlu ZSg1IDIwIDE1IDIwIDgpCglTeW1ib2xMaW5lKDAgMjUgNSAyMCA4KQoJU3ltYm9sTGluZSgwIDI1 IDAgMzUgOCkKCVN5bWJvbExpbmUoMCAzNSA1IDQwIDgpCglTeW1ib2xMaW5lKDUgNDAgMTUgNDAg OCkKCVN5bWJvbExpbmUoMTUgNDAgMjAgMzUgOCkKKQpTeW1ib2woJ3InIDEyKQooCglTeW1ib2xM aW5lKDUgMjUgNSA0MCA4KQoJU3ltYm9sTGluZSg1IDI1IDEwIDIwIDgpCglTeW1ib2xMaW5lKDEw IDIwIDIwIDIwIDgpCglTeW1ib2xMaW5lKDAgMjAgNSAyNSA4KQopClN5bWJvbCgncycgMTIpCigK CVN5bWJvbExpbmUoNSA0MCAyMCA0MCA4KQoJU3ltYm9sTGluZSgyMCA0MCAyNSAzNSA4KQoJU3lt Ym9sTGluZSgyMCAzMCAyNSAzNSA4KQoJU3ltYm9sTGluZSg1IDMwIDIwIDMwIDgpCglTeW1ib2xM aW5lKDAgMjUgNSAzMCA4KQoJU3ltYm9sTGluZSgwIDI1IDUgMjAgOCkKCVN5bWJvbExpbmUoNSAy MCAyMCAyMCA4KQoJU3ltYm9sTGluZSgyMCAyMCAyNSAyNSA4KQoJU3ltYm9sTGluZSgwIDM1IDUg NDAgOCkKKQpTeW1ib2woJ3QnIDEwKQooCglTeW1ib2xMaW5lKDUgMCA1IDM1IDgpCglTeW1ib2xM aW5lKDUgMzUgMTAgNDAgOCkKCVN5bWJvbExpbmUoMCAxNSAxMCAxNSA4KQopClN5bWJvbCgndScg MTIpCigKCVN5bWJvbExpbmUoMCAyMCAwIDM1IDgpCglTeW1ib2xMaW5lKDAgMzUgNSA0MCA4KQoJ U3ltYm9sTGluZSg1IDQwIDE1IDQwIDgpCglTeW1ib2xMaW5lKDE1IDQwIDIwIDM1IDgpCglTeW1i b2xMaW5lKDIwIDIwIDIwIDM1IDgpCikKU3ltYm9sKCd2JyAxMikKKAoJU3ltYm9sTGluZSggMCAy MCAxMCA0MCA4KQoJU3ltYm9sTGluZSgyMCAyMCAxMCA0MCA4KQopClN5bWJvbCgndycgMTIpCigK CVN5bWJvbExpbmUoMCAyMCAwIDM1IDgpCglTeW1ib2xMaW5lKDAgMzUgNSA0MCA4KQoJU3ltYm9s TGluZSg1IDQwIDEwIDQwIDgpCglTeW1ib2xMaW5lKDEwIDQwIDE1IDM1IDgpCglTeW1ib2xMaW5l KDE1IDIwIDE1IDM1IDgpCglTeW1ib2xMaW5lKDE1IDM1IDIwIDQwIDgpCglTeW1ib2xMaW5lKDIw IDQwIDI1IDQwIDgpCglTeW1ib2xMaW5lKDI1IDQwIDMwIDM1IDgpCglTeW1ib2xMaW5lKDMwIDIw IDMwIDM1IDgpCikKU3ltYm9sKCd4JyAxMikKKAoJU3ltYm9sTGluZSgwIDIwIDIwIDQwIDgpCglT eW1ib2xMaW5lKDAgNDAgMjAgMjAgOCkKKQpTeW1ib2woJ3knIDEyKQooCglTeW1ib2xMaW5lKDAg MjAgMCAzNSA4KQoJU3ltYm9sTGluZSgwIDM1IDUgNDAgOCkKCVN5bWJvbExpbmUoMjAgMjAgMjAg NTAgOCkKCVN5bWJvbExpbmUoMTUgNTUgMjAgNTAgOCkKCVN5bWJvbExpbmUoNSA1NSAxNSA1NSA4 KQoJU3ltYm9sTGluZSgwIDUwIDUgNTUgOCkKCVN5bWJvbExpbmUoNSA0MCAxNSA0MCA4KQoJU3lt Ym9sTGluZSgxNSA0MCAyMCAzNSA4KQopClN5bWJvbCgneicgMTIpCigKCVN5bWJvbExpbmUoMCAy MCAyMCAyMCA4KQoJU3ltYm9sTGluZSgwIDQwIDIwIDIwIDgpCglTeW1ib2xMaW5lKDAgNDAgMjAg NDAgOCkKKQpTeW1ib2woJ3snIDEyKQooCglTeW1ib2xMaW5lKDUgNSAxMCAwIDgpCglTeW1ib2xM aW5lKDUgNSA1IDE1IDgpCglTeW1ib2xMaW5lKDAgMjAgNSAxNSA4KQoJU3ltYm9sTGluZSgwIDIw IDUgMjUgOCkKCVN5bWJvbExpbmUoNSAyNSA1IDM1IDgpCglTeW1ib2xMaW5lKDUgMzUgMTAgNDAg OCkKKQpTeW1ib2woJ3wnIDEyKQooCglTeW1ib2xMaW5lKDAgMCAwIDQwIDgpCikKU3ltYm9sKCd9 JyAxMikKKAoJU3ltYm9sTGluZSgwIDAgNSA1IDgpCglTeW1ib2xMaW5lKDUgNSA1IDE1IDgpCglT eW1ib2xMaW5lKDUgMTUgMTAgMjAgOCkKCVN5bWJvbExpbmUoNSAyNSAxMCAyMCA4KQoJU3ltYm9s TGluZSg1IDI1IDUgMzUgOCkKCVN5bWJvbExpbmUoMCA0MCA1IDM1IDgpCikKU3ltYm9sKCd+JyAx MikKKAoJU3ltYm9sTGluZSgwIDI1IDUgMjAgOCkKCVN5bWJvbExpbmUoNSAyMCAxMCAyMCA4KQoJ U3ltYm9sTGluZSgxMCAyMCAxNSAyNSA4KQoJU3ltYm9sTGluZSgxNSAyNSAyMCAyNSA4KQoJU3lt Ym9sTGluZSgyMCAyNSAyNSAyMCA4KQopClN5bWJvbCgnQCcgMTIpCigKCVN5bWJvbExpbmUoMCAw IDAgMzAgOCkKCVN5bWJvbExpbmUoMCAzMCAxMCA0MCA4KQoJU3ltYm9sTGluZSgxMCA0MCA0MCA0 MCA4KQoJU3ltYm9sTGluZSg1MCAyNSA1MCAwIDgpCglTeW1ib2xMaW5lKDUwIDAgNDAgLTEwIDgp CglTeW1ib2xMaW5lKDQwIC0xMCAxMCAtMTAgOCkKCVN5bWJvbExpbmUoMTAgLTEwIDAgMCA4KQoJ U3ltYm9sTGluZSgxNSAxMCAxNSAyMCA4KQoJU3ltYm9sTGluZSgxNSAyMCAyMCAyNSA4KQoJU3lt Ym9sTGluZSgyMCAyNSAzMCAyNSA4KQoJU3ltYm9sTGluZSgzMCAyNSAzNSAyMCA4KQoJU3ltYm9s TGluZSgzNSAyMCA0MCAyNSA4KQoJU3ltYm9sTGluZSgzNSAyMCAzNSA1IDgpCglTeW1ib2xMaW5l KDM1IDEwIDMwIDUgOCkKCVN5bWJvbExpbmUoMjAgNSAzMCA1IDgpCglTeW1ib2xMaW5lKDIwIDUg MTUgMTAgOCkKCVN5bWJvbExpbmUoNDAgMjUgNTAgMjUgOCkKKQo= --047d7bacc6646e49ed051deab969--