- #!/usr/bin/perl 
- use strict; 
- use-  warnings ; no-  warnings  'uninitialized';
 
- use v5.10; 
- use Getopt::Long; 
-   
- sub help { 
- <<__HELP__ 
- Usage: $0 [options] [files] 
-   
- Interprets dogless programs passed as command line arguments , or-  from stdin  if no-  files are specified .
-   
- Options: 
-   
-   -d --debug        Enters debug mode, the source code is  
-                     printed  for each-  transformation .
-   -h --help         This help text 
-   
-   -i --interval     specifies a decimal interval in seconds to 
- __HELP__ 
- } 
-   
- #command line options 
- my ($help, $debug_mode, $interval); 
-   
- my $any_command; 
- $any_command = qr/(?:<|>)(??{$any_command})|\$..|\\?.|$/s; 
-   
- sub run_cmd { 
-     my ($_, $pre, $post, $s) = @_; 
-     my ($x, $y, $c); 
-     if(($c) = /^<(.*)$/p) { 
-         $pre =~ /\||$/p; 
-         $pre = run_cmd($c, ${^PREMATCH}, ${^POSTMATCH}, ${^MATCH}); 
-     } 
-     elsif (($c) = /^>(.*)$/p) { 
-         $post =~ /\||$/p; 
-         $post = run_cmd($c, ${^PREMATCH}, ${^POSTMATCH}, ${^MATCH}); 
-     } 
-     elsif(($x, $y) = /^\$(.)(.)$/s) { 
-         $_ = "$pre$s$post"; 
-         s/\Q$x\E/$y/; 
-     } 
-     elsif (/^"$/) { 
-         $post =~ /^[^"]*("|$)/p; 
-     } 
-     elsif (/^\?$/) { 
-     } 
-     elsif (/^\^$/) { 
-     } 
-     elsif (/^~$/) { 
-         return "$pre$s$post$pre$s~$post"; 
-     } 
-     elsif (/^!$/) { 
-     } 
-     elsif (/^\|$/) { 
-     } 
-     elsif (($c) = /^\\?(.)$/sp){ 
-     } 
-     else { 
-     } 
- } 
-   
- sub interpret { 
-     my ($_) = @_; 
-     while (/\|($any_command)/p) { 
-         say if $debug_mode; 
-         $_ = run_cmd($1, ${^PREMATCH}, ${^POSTMATCH}, '|'); 
-     } 
- } 
-   
-   
-     GetOptions ("help|h" => \$help, 
-                 "debug|d" => \$debug_mode, 
-                 "interval|i=f" => \$interval, 
-                ) or die "Invalid options."; 
-     say help () and exit if $help;
- } 
				IyEvdXNyL2Jpbi9wZXJsCnBhY2thZ2UgRG9nbGVzczsKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOyBubyB3YXJuaW5ncyAndW5pbml0aWFsaXplZCc7CnVzZSB2NS4xMDsKdXNlIEdldG9wdDo6TG9uZzsKCnN1YiBoZWxwIHsKPDxfX0hFTFBfXwpVc2FnZTogJDAgW29wdGlvbnNdIFtmaWxlc10KCkludGVycHJldHMgZG9nbGVzcyBwcm9ncmFtcyBwYXNzZWQgYXMgY29tbWFuZCBsaW5lIGFyZ3VtZW50cywgb3IgZnJvbSBzdGRpbiBpZiBubyBmaWxlcyBhcmUgc3BlY2lmaWVkLgoKT3B0aW9uczoKCiAgLWQgLS1kZWJ1ZyAgICAgICAgRW50ZXJzIGRlYnVnIG1vZGUsIHRoZSBzb3VyY2UgY29kZSBpcyAKICAgICAgICAgICAgICAgICAgICBwcmludGVkIGZvciBlYWNoIHRyYW5zZm9ybWF0aW9uLgogIC1oIC0taGVscCAgICAgICAgIFRoaXMgaGVscCB0ZXh0CgogIC1pIC0taW50ZXJ2YWwgICAgIHNwZWNpZmllcyBhIGRlY2ltYWwgaW50ZXJ2YWwgaW4gc2Vjb25kcyB0bwogICAgICAgICAgICAgICAgICAgIHdhaXQgYmV0d2VlbiBjb21tYW5kcwpfX0hFTFBfXwp9CgojY29tbWFuZCBsaW5lIG9wdGlvbnMKbXkgKCRoZWxwLCAkZGVidWdfbW9kZSwgJGludGVydmFsKTsKCm15ICRhbnlfY29tbWFuZDsKJGFueV9jb21tYW5kID0gcXIvKD86PHw+KSg/P3skYW55X2NvbW1hbmR9KXxcJC4ufFxcPy58JC9zOwoKc3ViIHJ1bl9jbWQgewogICAgbXkgKCRfLCAkcHJlLCAkcG9zdCwgJHMpID0gQF87CiAgICBteSAoJHgsICR5LCAkYyk7CiAgICBpZigoJGMpID0gL148KC4qKSQvcCkgewogICAgICAgICRwcmUgPX4gL1x8fCQvcDsKICAgICAgICAkcHJlID0gcnVuX2NtZCgkYywgJHteUFJFTUFUQ0h9LCAke15QT1NUTUFUQ0h9LCAke15NQVRDSH0pOwogICAgICAgIHJldHVybiAiJHByZSRzJHBvc3QiOwogICAgfQogICAgZWxzaWYgKCgkYykgPSAvXj4oLiopJC9wKSB7CiAgICAgICAgJHBvc3QgPX4gL1x8fCQvcDsKICAgICAgICAkcG9zdCA9IHJ1bl9jbWQoJGMsICR7XlBSRU1BVENIfSwgJHteUE9TVE1BVENIfSwgJHteTUFUQ0h9KTsKICAgICAgICByZXR1cm4gIiRwcmUkcyRwb3N0IjsKICAgIH0KICAgIGVsc2lmKCgkeCwgJHkpID0gL15cJCguKSguKSQvcykgewogICAgICAgICRfID0gIiRwcmUkcyRwb3N0IjsKICAgICAgICBzL1xRJHhcRS8keS87CiAgICAgICAgcmV0dXJuICRfOwogICAgfQogICAgZWxzaWYgKC9eIiQvKSB7CiAgICAgICAgJHBvc3QgPX4gL15bXiJdKigifCQpL3A7CiAgICAgICAgcmV0dXJuICIkcHJlJHMke15QT1NUTUFUQ0h9IjsKICAgIH0KICAgIGVsc2lmICgvXlw/JC8pIHsKICAgICAgICByZXR1cm4gcmV2ZXJzZSAiJHByZSRzJHBvc3QiOwogICAgfQogICAgZWxzaWYgKC9eXF4kLykgewogICAgICAgIHJldHVybiAiJHBvc3QkcyRwcmUiOwogICAgfQogICAgZWxzaWYgKC9efiQvKSB7CiAgICAgICAgcmV0dXJuICIkcHJlJHMkcG9zdCRwcmUkc34kcG9zdCI7CiAgICB9CiAgICBlbHNpZiAoL14hJC8pIHsKICAgICAgICByZXR1cm4gJyc7CiAgICB9CiAgICBlbHNpZiAoL15cfCQvKSB7CiAgICAgICAgcmV0dXJuICIkcHJlJHMkcG9zdCI7CiAgICB9CiAgICBlbHNpZiAoKCRjKSA9IC9eXFw/KC4pJC9zcCl7CiAgICAgICAgcmV0dXJuICIkcHJlJGMkcyRwb3N0IjsKICAgIH0KICAgIGVsc2UgewogICAgICAgIHJldHVybiAiJHByZSRwb3N0IjsKICAgIH0KfQoKc3ViIGludGVycHJldCB7CiAgICBteSAoJF8pID0gQF87CiAgICB3aGlsZSAoL1x8KCRhbnlfY29tbWFuZCkvcCkgewogICAgICAgIHNheSBpZiAkZGVidWdfbW9kZTsKICAgICAgICBzbGVlcCAkaW50ZXJ2YWwgaWYgZGVmaW5lZCAkaW50ZXJ2YWw7CiAgICAgICAgJF8gPSBydW5fY21kKCQxLCAke15QUkVNQVRDSH0sICR7XlBPU1RNQVRDSH0sICd8Jyk7CiAgICB9CiAgICByZXR1cm4gJF87Cn0KCgp1bmxlc3MgKGNhbGxlcikgewogICAgR2V0T3B0aW9ucyAoImhlbHB8aCIgPT4gXCRoZWxwLAogICAgICAgICAgICAgICAgImRlYnVnfGQiID0+IFwkZGVidWdfbW9kZSwKICAgICAgICAgICAgICAgICJpbnRlcnZhbHxpPWYiID0+IFwkaW50ZXJ2YWwsCiAgICAgICAgICAgICAgICkgb3IgZGllICJJbnZhbGlkIG9wdGlvbnMuIjsKICAgIHNheSBoZWxwKCkgYW5kIGV4aXQgaWYgJGhlbHA7CiAgICBwcmludCBpbnRlcnByZXQgKGpvaW4gJycsIDw+KTsKfQ==
				
				
				
				
				
			 
			
				
			
			
				
YWJjZGVmfGdoaWprbHxtbiZxdW90O29wJnF1b3Q7fCZsdDskZ0EkbWUmZ3Q7fCZsdDska2wkZGwmZ3Q7fCZsdDskbkgkam8mZ3Q7fCZsdDskZXImZ3Q7fCZsdDskY2QkQVcmZ3Q7fCZsdDskaHgkZm8mZ3Q7fCRhISRpLCR4ICRiXD8=
abcdef|ghijkl|mn"op"|<$gA$me>|<$kl$dl>|<$nH$jo>|<$er>|<$cd$AW>|<$hx$fo>|$a!$i,$x $b\?