<?php
$zero = '!![]';
$nums = ['![]','${![]}','${!![]}','$${[]}','$${![]}','$${!![]}','$$${[]}','${[].[]}'];
$initChr = "\${[]}=([].[])[![]+![]+![]];\${[]}++;\${[]}++;\${+![]}=\${[]};" .
"\${[]}++;\${[]}++;\${[]}++;\${[]}++;\${[]}++;\${+![]}.=\${[]};" .
"\${[]}=\${+![]}.([].[])[![]];";
$chr = '${[]}';
function initNumbers() {
global $nums;
$n = $nums[0];
$code = '';
foreach ($nums as $v => $num) {
if (!$v) continue;
$code .= "$num=$v;";
$n = $num;
}
return $code;
}
function number($n) {
global $nums, $zero;
if ($n < 0 || $n > 255) die("Invalid number: $n."); if (!$n) return $zero[0];
$i = 0;
while($n) {
$d = $n % 2;
$n /= 2;
$i++;
}
}
function char($c) {
global $chr;
return "$chr($c)";
}
function str($s) {
}
function prettify($fucked) {
$line = '';
$ops = preg_split('/([;.])/', $fucked, -1, PREG_SPLIT_DELIM_CAPTURE
); foreach($ops as $op) {
$lines[] = $line;
$line = '';
}
$line .= $op;
}
$lines[] = $line;
return join("\n", $lines); }
function fuckify($code) {
global $chr, $initChr;
$nums = initNumbers();
$php = '$$$${[]}';
$initPHP = $php . '=(' . str('popen') . ')(' . str('php') . ',' . char('w') . ');';
$fputs = str('fputs');
$pclose = str('pclose');
$code = str($code);
return prettify("<?php\n$initChr$nums$initPHP($fputs)($php,$code);($pclose)($php);");
}
$code = '';
while ($line = fgets(STDIN
)) $code .= $line; print(fuckify($code));
PD9waHAKCiR6ZXJvID0gJyEhW10nOwokbnVtcyA9IFsnIVtdJywnJHshW119JywnJHshIVtdfScsJyQke1tdfScsJyQkeyFbXX0nLCckJHshIVtdfScsJyQkJHtbXX0nLCcke1tdLltdfSddOwokaW5pdENociA9ICJcJHtbXX09KFtdLltdKVshW10rIVtdKyFbXV07XCR7W119Kys7XCR7W119Kys7XCR7KyFbXX09XCR7W119OyIgLgoiXCR7W119Kys7XCR7W119Kys7XCR7W119Kys7XCR7W119Kys7XCR7W119Kys7XCR7KyFbXX0uPVwke1tdfTsiIC4KIlwke1tdfT1cJHsrIVtdfS4oW10uW10pWyFbXV07IjsKJGNociA9ICcke1tdfSc7CgpmdW5jdGlvbiBpbml0TnVtYmVycygpIHsKICAgIGdsb2JhbCAkbnVtczsKICAgICRuID0gJG51bXNbMF07CiAgICAkY29kZSAgPSAnJzsKICAgIGZvcmVhY2ggKCRudW1zIGFzICR2ID0+ICRudW0pIHsKICAgICAgICBpZiAoISR2KSBjb250aW51ZTsKICAgICAgICAkdiA9IGpvaW4oJysnLCBhcnJheV9maWxsKDAsIDIsICRuKSk7CiAgICAgICAgJGNvZGUgLj0gIiRudW09JHY7IjsKICAgICAgICAkbiA9ICRudW07CiAgICB9CiAgICByZXR1cm4gJGNvZGU7Cn0KCmZ1bmN0aW9uIG51bWJlcigkbikgewogICAgZ2xvYmFsICRudW1zLCAkemVybzsKICAgIGlmICgkbiA8IDAgfHwgJG4gPiAyNTUpIGRpZSgiSW52YWxpZCBudW1iZXI6ICRuLiIpOwogICAgaWYgKCEkbikgcmV0dXJuICR6ZXJvWzBdOwogICAgJGkgPSAwOwogICAgd2hpbGUoJG4pIHsKICAgICAgICAkZCA9ICRuICUgMjsKICAgICAgICBpZigkZCkgJGNvZGVbXSA9IGpvaW4oJysnLCBhcnJheV9maWxsKDAsICRkLCAkbnVtc1skaV0pKTsKICAgICAgICAkbiAvPSAyOwogICAgICAgICRpKys7CiAgICB9CiAgICByZXR1cm4gam9pbignKycsICRjb2RlKTsKfQoKZnVuY3Rpb24gY2hhcigkYykgewogICAgZ2xvYmFsICRjaHI7CiAgICAkYyA9IG51bWJlcihvcmQoJGMpKTsKICAgIHJldHVybiAiJGNocigkYykiOwp9CgpmdW5jdGlvbiBzdHIoJHMpIHsKICAgIHJldHVybiBqb2luKCcuJywgYXJyYXlfbWFwKCdjaGFyJywgc3RyX3NwbGl0KCRzKSkpOwp9CgpmdW5jdGlvbiBwcmV0dGlmeSgkZnVja2VkKSB7CiAgICAkbGluZSA9ICcnOwogICAgJG9wcyA9IHByZWdfc3BsaXQoJy8oWzsuXSkvJywgJGZ1Y2tlZCwgLTEsIFBSRUdfU1BMSVRfREVMSU1fQ0FQVFVSRSk7CiAgICBmb3JlYWNoKCRvcHMgYXMgJG9wKSB7CiAgICAgICAgaWYoc3RybGVuKCRsaW5lKSArIHN0cmxlbigkb3ApICsgMSA+IDgwKSB7CiAgICAgICAgICAgICRsaW5lc1tdID0gJGxpbmU7CiAgICAgICAgICAgICRsaW5lID0gJyc7CiAgICAgICAgfQogICAgICAgICRsaW5lIC49ICRvcDsKICAgIH0KICAgICRsaW5lc1tdID0gJGxpbmU7CiAgICByZXR1cm4gam9pbigiXG4iLCAkbGluZXMpOwp9CgpmdW5jdGlvbiBmdWNraWZ5KCRjb2RlKSB7CiAgICBnbG9iYWwgJGNociwgJGluaXRDaHI7CiAgICAkbnVtcyA9IGluaXROdW1iZXJzKCk7CiAgICAkcGhwID0gJyQkJCR7W119JzsKICAgICRpbml0UEhQID0gJHBocCAuICc9KCcgLiBzdHIoJ3BvcGVuJykgLiAnKSgnIC4gc3RyKCdwaHAnKSAuICcsJyAuIGNoYXIoJ3cnKSAuICcpOyc7CiAgICAkZnB1dHMgPSBzdHIoJ2ZwdXRzJyk7CiAgICAkcGNsb3NlID0gc3RyKCdwY2xvc2UnKTsKICAgICRjb2RlID0gc3RyKCRjb2RlKTsKICAgIHJldHVybiBwcmV0dGlmeSgiPD9waHBcbiRpbml0Q2hyJG51bXMkaW5pdFBIUCgkZnB1dHMpKCRwaHAsJGNvZGUpOygkcGNsb3NlKSgkcGhwKTsiKTsKfQoKJGNvZGUgPSAnJzsKd2hpbGUgKCRsaW5lID0gZmdldHMoU1RESU4pKSAkY29kZSAuPSAkbGluZTsKcHJpbnQoZnVja2lmeSgkY29kZSkpOw==