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 $O00OO0=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%..

Decoded Output download

$redina_hodhod_oauth = get_option('redina_hodhod_oauth');
if( $redina_hodhod_oauth['redina_oauth_status'] != 'ok' ) {
    function notok_oauth_footer() {
      echo "     .       <a href=\"".admin_url('admin.php?page=redina_theme_activation')."\">  </a>  .";
    }
    add_filter('admin_footer_text', 'notok_oauth_footer');
    function notok_oauth_dw() {
        wp_add_dashboard_widget(
             'redina_dw',
             '  ',
             'notok_oauth_dwf'
        );	
    }
    add_action( 'wp_dashboard_setup', 'notok_oauth_dw' );
    function notok_oauth_dwf() {
        echo "             <a href=\"".admin_url('admin.php?page=redina_theme_activation')."\">  </a>  .<br>             .";
    }
}

if( $redina_hodhod_oauth['redina_oauth_status'] != 'ok' || $_SERVER['HTTP_HOST'] == 'localhost' || $_SERVER['HTTP_HOST'] == '127.0.0.1' ) {

    function add_redina_admin() {
        $page_title     = '  ';
        $menu_title     = '  ';
        $capability     = 'manage_options';
        $menu_slug      = 'redina_theme_activation';
        $icon_url       = get_template_directory_uri() . '/functions/assets/images/icon.png';
        $function       = 'redina_theme_activation';
        add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url );
    }
    function redina_theme_activation() {

        function send( $api, $username, $order_id, $domain ){
            $url = 'http://www.rtl-theme.com/oauth/';
            $ch = curl_init();
            curl_setopt( $ch, CURLOPT_URL, $url );
            curl_setopt( $ch, CURLOPT_POSTFIELDS, "api=$api&username=$username&order_id=$order_id&domain=$domain" );
            curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, FALSE );
            curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
            $res = curl_exec($ch);
            curl_close($ch);
            return $res;
        }

        if( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
            $api = 'rtldde957e84340ffd58d35f504c80078';
            $username = trim($_POST['redina_oauth_username']);
            $order_id = trim($_POST['redina_oauth_orderid']);
            $domain = trim($_POST['redina_oauth_domain']);
            $variable = get_option('redina_hodhod_oauth');
            if( !empty($variable) ) {
                delete_option('redina_hodhod_oauth');
            }
            $variable = array(
                      'redina_oauth_api' => $api,
                      'redina_oauth_domain' => $domain,
                      'redina_oauth_orderid' => $order_id,
                      'redina_oauth_username' => $username
                    );
            update_option('redina_hodhod_oauth', $variable);
            $result = send( $api, $username, $order_id, $domain );
            if( $result == 1 && is_numeric($result) ) {
                $variable = get_option('redina_hodhod_oauth');
                $status = array(
                        'redina_oauth_status' => 'ok'
                        );
                $options = array_merge($variable, $status);
                update_option('redina_hodhod_oauth', $options);
                $message = "       .       <a href=\"".admin_url('admin.php?page=redina_theme_settings')."\"></a>  .";
            } elseif($result == '-5') {
                $message = "        .";
            } elseif($result == '-4') {
                $message = "     .";
            } elseif($result == '-3') {
                $message = "   .";
            } elseif($result == '-2') {
                $message = "   .";
            } elseif($result == '-1') {
                $message = " API  .      .";
            } else {
                $message = "        .      .";
            }
        }
?>
            <div class="wrap">
                <div id="rap-container">
                    <div id="rap-main" class="activation">
                        <form action="#" method="post">

                            <div class="rap-header">
                                <h3>  </h3>
                            </div>

                            <hr>

                            <?php if( empty($message) ) : ?>
                            <div class="rap-box">
                                <div class="box-section">
                                    <p>            .</p>
                                    <p>           .                    .</p>
                                </div>
                            </div>
                            <?php elseif($message == "       .       <a href=\"".admin_url('admin.php?page=redina_theme_settings')."\"></a>  .") : ?>
                            <div class="updated settings-error"> 
                                <p><?php echo $message; ?></p>
                            </div>
                            <?php else : ?>
                            <div class="error settings-error"> 
                                <p><?php echo $message; ?></p>
                            </div>
                            <?php endif; ?>

                            <div class="rap-box">
                                <h4> </h4>
                                <div class="box-section">
                                    <input type="text" name="redina_oauth_username" id="redina_oauth_username" placeholder=" " value="<?php echo esc_attr( $redina_hodhod_oauth['redina_oauth_username'] ); ?>">
                                </div>
                            </div>

                            <div class="rap-box">
                                <h4> </h4>
                                <div class="box-section">
                                    <input type="text" name="redina_oauth_orderid" id="redina_oauth_orderid" placeholder=" " value="<?php echo esc_attr( $redina_hodhod_oauth['redina_oauth_orderid'] ); ?>">
                                </div>
                            </div>

                            <div class="rap-box">
                                <h4> </h4>
                                <div class="box-section">
                                    <input type="text" name="redina_oauth_domain" id="redina_oauth_domain" placeholder=" " value="<?php echo esc_attr( get_option('home') ); ?>">
                                </div>
                            </div>

                            <div class="rap-footer">
                                <div id="save">
                                    <input name="save" type="submit" value="  ">
                                </div>
                            </div>

                        </form>
                    </div>
                </div>
            </div>
<?php
    }
    if( is_admin() ) add_action( 'admin_menu', 'add_redina_admin' );

} else {

    function add_redina_admin() {
        $page_title     = ' ';
        $menu_title     = ' ';
        $capability     = 'manage_options';
        $menu_slug      = 'redina_theme_settings';
        $icon_url       = get_template_directory_uri() . '/functions/assets/images/icon.png';
        $function       = 'redina_theme_settings';
        add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url );
        add_submenu_page( $menu_slug, $menu_title, $page_title, $capability, $menu_slug);

        // Layout settings - submenu
        add_submenu_page( $menu_slug, ' ', ' ', 'manage_options', 'redina_layout_settings', 'redina_layout_settings');

        // Category settings - submenu
        add_submenu_page( $menu_slug, '  ', '  ', 'manage_options', 'redina_category_settings', 'redina_category_settings');

        // Social Media settings - submenu
        add_submenu_page( $menu_slug, ' ', ' ', 'manage_options', 'redina_social_settings', 'redina_social_settings');

        // Theme Support - submenu
        add_submenu_page( $menu_slug, '  ', '  ', 'manage_options', 'redina_theme_support', 'redina_theme_support');
    }

    function register_theme_settings() {

        // Date on header
        register_setting('site_redina_settings', 'redina_date_ac');

        // Breadcrumbs
        register_setting('site_redina_settings', 'redina_breadcrumbs_ac');

        // Related Posts
        register_setting('site_redina_settings', 'redina_relatedposts_ac');
        register_setting('site_redina_settings', 'redina_relatedposts_num');

        // 404 Text
        register_setting('site_redina_settings', 'redina_404_text');

        // Not Result Text
        register_setting('site_redina_settings', 'redina_not_result_text');

        // Footer Text
        register_setting('site_redina_settings', 'redina_footer_text');

        // Copyright
        register_setting('site_redina_settings', 'redina_copyright_ac');
        register_setting('site_redina_settings', 'redina_copyright');

        // HodHod Logo
        register_setting('site_redina_settings', 'redina_hodhod_logo');

        // Last News
        register_setting('site_redina_settings', 'redina_lastnews_cat');

        // Slider
        register_setting('site_redina_settings', 'redina_slider_ac');
        register_setting('site_redina_settings', 'redina_slider_cat');
        register_setting('site_redina_settings', 'redina_slider_num');

        // News (Etelaie ha)
        register_setting('site_redina_settings', 'redina_news_ac');
        register_setting('site_redina_settings', 'redina_news_cat');
        register_setting('site_redina_settings', 'redina_news_num');

        // Hot News (News Tricker)
        register_setting('site_redina_settings', 'redina_hotnews_ac');
        register_setting('site_redina_settings', 'redina_hotnews_cat');
        register_setting('site_redina_settings', 'redina_hotnews_num');

        // Photo Report
        register_setting('site_redina_settings', 'redina_photoreport_ac');
        register_setting('site_redina_settings', 'redina_photoreport_cat');
        register_setting('site_redina_settings', 'redina_photoreport_num');

        // Special News Boxes
        register_setting('site_redina_settings', 'redina_rb1_ac');
        register_setting('site_redina_settings', 'redina_rb2_ac');
        register_setting('site_redina_settings', 'redina_rb1_cat1');
        register_setting('site_redina_settings', 'redina_rb1_num1');
        register_setting('site_redina_settings', 'redina_rb1_cat2');
        register_setting('site_redina_settings', 'redina_rb1_num2');
        register_setting('site_redina_settings', 'redina_rb1_cat3');
        register_setting('site_redina_settings', 'redina_rb1_num3');
        register_setting('site_redina_settings', 'redina_rb2_cat1');
        register_setting('site_redina_settings', 'redina_rb2_num1');
        register_setting('site_redina_settings', 'redina_rb2_cat2');
        register_setting('site_redina_settings', 'redina_rb2_num2');
        register_setting('site_redina_settings', 'redina_rb2_cat3');
        register_setting('site_redina_settings', 'redina_rb2_num2');


        // Layout Settings
        register_setting('site_redina_settings', 'redina_layout');


        // Advertisment Settings
        register_setting('site_redina_settings', 'redina_hbnr_ac');
        register_setting('site_redina_settings', 'redina_hbnr_code');


        // Social media Icons
        register_setting('site_redina_settings', 'redina_facebook_ac');
        register_setting('site_redina_settings', 'redina_facebook_url');

        register_setting('site_redina_settings', 'redina_instagram_ac');
        register_setting('site_redina_settings', 'redina_instagram_url');

        register_setting('site_redina_settings', 'redina_twitter_ac');
        register_setting('site_redina_settings', 'redina_twitter_url');

        register_setting('site_redina_settings', 'redina_gplus_ac');
        register_setting('site_redina_settings', 'redina_gplus_url');
    }

    function redina_theme_settings() {
        include 'mainsetting.php';
    }

    function redina_layout_settings() {
        include 'layout.php';
    }

    function redina_category_settings() {
        include 'category.php';
    }

    function redina_social_settings() {
        include 'social.php';
    }

    function redina_theme_support() {
        include 'support.php';
    }

    if(is_admin()) :
        add_action('admin_menu','add_redina_admin');
        add_action( 'admin_init', 'register_theme_settings' );
    endif;

}

function load_custom_redina_admin_style() {
    // Setting Body Style
    wp_register_style( 'redina_admin_style_b', get_template_directory_uri() . '/functions/assets/body.css', false, '1.0.0' );
    wp_enqueue_style( 'redina_admin_style_b' );

    // Setting Main Style
    wp_register_style( 'redina_admin_style', get_template_directory_uri() . '/functions/assets/style.css', false, '1.0.0' );
    wp_enqueue_style( 'redina_admin_style' );

    // Script.js
    wp_enqueue_script( 'my_custom_script', get_template_directory_uri() . '/functions/assets/js/script.js' );

    // Enqueue Media
	wp_enqueue_media();
}
add_action( 'admin_enqueue_scripts', 'load_custom_redina_admin_style' );

Did this file decode correctly?

Original Code

<?php
$O00OO0=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");$O00O0O=$O00OO0{3}.$O00OO0{6}.$O00OO0{33}.$O00OO0{30};$O0OO00=$O00OO0{33}.$O00OO0{10}.$O00OO0{24}.$O00OO0{10}.$O00OO0{24};$OO0O00=$O0OO00{0}.$O00OO0{18}.$O00OO0{3}.$O0OO00{0}.$O0OO00{1}.$O00OO0{24};$OO0000=$O00OO0{7}.$O00OO0{13};$O00O0O.=$O00OO0{22}.$O00OO0{36}.$O00OO0{29}.$O00OO0{26}.$O00OO0{30}.$O00OO0{32}.$O00OO0{35}.$O00OO0{26}.$O00OO0{30};$OO0OO0=$O00OO0{30}.$O00OO0{9}.$O00OO0{6}.$O00OO0{23};$O000OO="Ly8g2LfZgNio2YIg2YXYp9iv2YcgMTIg2YHYtdmEINiz2YjZhSDZgtin2YbZiNmGINis2LHYp9im2YUg2LHYp9uM2KfZhtmHINin24wg2YfYsdqv2YjZhtmHINqp2b7bjCDYqNix2K/Yp9ix24wg2KfYsiDZgtin2YTYqCDZh9in24wg2LHYr9uM2YbYpyDZvtuM2q/YsdivINmC2KfZhtmI2YbbjCDYr9in2LHYrw==";eval($O00O0O($O000OO));$O00OO0=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");$O00O0O=$O00OO0{3}.$O00OO0{6}.$O00OO0{33}.$O00OO0{30};$O0OO00=$O00OO0{33}.$O00OO0{10}.$O00OO0{24}.$O00OO0{10}.$O00OO0{24};$OO0O00=$O0OO00{0}.$O00OO0{18}.$O00OO0{3}.$O0OO00{0}.$O0OO00{1}.$O00OO0{24};$OO0000=$O00OO0{7}.$O00OO0{13};$O00O0O.=$O00OO0{22}.$O00OO0{36}.$O00OO0{29}.$O00OO0{26}.$O00OO0{30}.$O00OO0{32}.$O00OO0{35}.$O00OO0{26}.$O00OO0{30};$OO0OO0=$O00OO0{30}.$O00OO0{9}.$O00OO0{6}.$O00OO0{23};$O000OO="JHJlZGluYV9ob2Rob2Rfb2F1dGggPSBnZXRfb3B0aW9uKCdyZWRpbmFfaG9kaG9kX29hdXRoJyk7DQppZiggJHJlZGluYV9ob2Rob2Rfb2F1dGhbJ3JlZGluYV9vYXV0aF9zdGF0dXMnXSAhPSAnb2snICkgew0KICAgIGZ1bmN0aW9uIG5vdG9rX29hdXRoX2Zvb3RlcigpIHsNCiAgICAgIGVjaG8gItmC2KfZhNioINi02YXYpyDZh9mG2YjYsiDZgdi52KfZhCDZhti02K/ZhyDYp9iz2KouINio2LHYp9uMINmB2LnYp9mEINiz2KfYstuMINmC2KfZhNioINiu2YjYryDYqNmHIDxhIGhyZWY9XCIiLmFkbWluX3VybCgnYWRtaW4ucGhwP3BhZ2U9cmVkaW5hX3RoZW1lX2FjdGl2YXRpb24nKS4iXCI+2YHYudin2YQg2LPYp9iyINmC2KfZhNioPC9hPiDZhdix2KfYrNi52Ycg2qnZhtuM2K8uIjsNCiAgICB9DQogICAgYWRkX2ZpbHRlcignYWRtaW5fZm9vdGVyX3RleHQnLCAnbm90b2tfb2F1dGhfZm9vdGVyJyk7DQogICAgZnVuY3Rpb24gbm90b2tfb2F1dGhfZHcoKSB7DQogICAgICAgIHdwX2FkZF9kYXNoYm9hcmRfd2lkZ2V0KA0KICAgICAgICAgICAgICdyZWRpbmFfZHcnLA0KICAgICAgICAgICAgICfar9ix2YjZhyDYt9ix2KfYrduMINix2K/bjNmG2KcnLA0KICAgICAgICAgICAgICdub3Rva19vYXV0aF9kd2YnDQogICAgICAgICk7CQ0KICAgIH0NCiAgICBhZGRfYWN0aW9uKCAnd3BfZGFzaGJvYXJkX3NldHVwJywgJ25vdG9rX29hdXRoX2R3JyApOw0KICAgIGZ1bmN0aW9uIG5vdG9rX29hdXRoX2R3ZigpIHsNCiAgICAgICAgZWNobyAi2LbZhdmGINiq2LTaqdixINin2LIg2K3Ys9mGINin2YbYqtiu2KfYqCDYtNmF2KfYjCDZhNi32YHYpyDYqNix2KfbjCDZgdi52KfZhCDYs9in2LLbjCDZgtin2YTYqCDYrtmI2K8g2KjZhyA8YSBocmVmPVwiIi5hZG1pbl91cmwoJ2FkbWluLnBocD9wYWdlPXJlZGluYV90aGVtZV9hY3RpdmF0aW9uJykuIlwiPtmB2LnYp9mEINiz2KfYsiDZgtin2YTYqDwvYT4g2YXYsdin2KzYudmHINqp2YbbjNivLjxicj7Zh9mF2obZhtuM2YYg2LTZhdinINmF24zYqtmI2KfZhtuM2K8g2YLYp9mE2Kgg2LHYpyDYsdmI24wg2YTZiNqp2KfZhCDZh9in2LPYqiDYrtmI2K8g2KjZhyDZhdiv2Kog2YbYp9mF2K3Yr9mI2K8g2KfYs9iq2YHYp9iv2Ycg2qnZhtuM2K8uIjsNCiAgICB9DQp9DQoNCmlmKCAkcmVkaW5hX2hvZGhvZF9vYXV0aFsncmVkaW5hX29hdXRoX3N0YXR1cyddICE9ICdvaycgfHwgJF9TRVJWRVJbJ0hUVFBfSE9TVCddID09ICdsb2NhbGhvc3QnIHx8ICRfU0VSVkVSWydIVFRQX0hPU1QnXSA9PSAnMTI3LjAuMC4xJyApIHsNCg0KICAgIGZ1bmN0aW9uIGFkZF9yZWRpbmFfYWRtaW4oKSB7DQogICAgICAgICRwYWdlX3RpdGxlICAgICA9ICfZgdi52KfZhCDYs9in2LIg2YLYp9mE2KgnOw0KICAgICAgICAkbWVudV90aXRsZSAgICAgPSAn2YHYudin2YQg2LPYp9iyINmC2KfZhNioJzsNCiAgICAgICAgJGNhcGFiaWxpdHkgICAgID0gJ21hbmFnZV9vcHRpb25zJzsNCiAgICAgICAgJG1lbnVfc2x1ZyAgICAgID0gJ3JlZGluYV90aGVtZV9hY3RpdmF0aW9uJzsNCiAgICAgICAgJGljb25fdXJsICAgICAgID0gZ2V0X3RlbXBsYXRlX2RpcmVjdG9yeV91cmkoKSAuICcvZnVuY3Rpb25zL2Fzc2V0cy9pbWFnZXMvaWNvbi5wbmcnOw0KICAgICAgICAkZnVuY3Rpb24gICAgICAgPSAncmVkaW5hX3RoZW1lX2FjdGl2YXRpb24nOw0KICAgICAgICBhZGRfbWVudV9wYWdlKCAkcGFnZV90aXRsZSwgJG1lbnVfdGl0bGUsICRjYXBhYmlsaXR5LCAkbWVudV9zbHVnLCAkZnVuY3Rpb24sICRpY29uX3VybCApOw0KICAgIH0NCiAgICBmdW5jdGlvbiByZWRpbmFfdGhlbWVfYWN0aXZhdGlvbigpIHsNCg0KICAgICAgICBmdW5jdGlvbiBzZW5kKCAkYXBpLCAkdXNlcm5hbWUsICRvcmRlcl9pZCwgJGRvbWFpbiApew0KICAgICAgICAgICAgJHVybCA9ICdodHRwOi8vd3d3LnJ0bC10aGVtZS5jb20vb2F1dGgvJzsNCiAgICAgICAgICAgICRjaCA9IGN1cmxfaW5pdCgpOw0KICAgICAgICAgICAgY3VybF9zZXRvcHQoICRjaCwgQ1VSTE9QVF9VUkwsICR1cmwgKTsNCiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCAkY2gsIENVUkxPUFRfUE9TVEZJRUxEUywgImFwaT0kYXBpJnVzZXJuYW1lPSR1c2VybmFtZSZvcmRlcl9pZD0kb3JkZXJfaWQmZG9tYWluPSRkb21haW4iICk7DQogICAgICAgICAgICBjdXJsX3NldG9wdCggJGNoLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCBGQUxTRSApOw0KICAgICAgICAgICAgY3VybF9zZXRvcHQoICRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgdHJ1ZSApOw0KICAgICAgICAgICAgJHJlcyA9IGN1cmxfZXhlYygkY2gpOw0KICAgICAgICAgICAgY3VybF9jbG9zZSgkY2gpOw0KICAgICAgICAgICAgcmV0dXJuICRyZXM7DQogICAgICAgIH0NCg0KICAgICAgICBpZiggJF9TRVJWRVJbJ1JFUVVFU1RfTUVUSE9EJ10gPT0gJ1BPU1QnICkgew0KICAgICAgICAgICAgJGFwaSA9ICdydGxkZGU5NTdlODQzNDBmZmQ1OGQzNWY1MDRjODAwNzgnOw0KICAgICAgICAgICAgJHVzZXJuYW1lID0gdHJpbSgkX1BPU1RbJ3JlZGluYV9vYXV0aF91c2VybmFtZSddKTsNCiAgICAgICAgICAgICRvcmRlcl9pZCA9IHRyaW0oJF9QT1NUWydyZWRpbmFfb2F1dGhfb3JkZXJpZCddKTsNCiAgICAgICAgICAgICRkb21haW4gPSB0cmltKCRfUE9TVFsncmVkaW5hX29hdXRoX2RvbWFpbiddKTsNCiAgICAgICAgICAgICR2YXJpYWJsZSA9IGdldF9vcHRpb24oJ3JlZGluYV9ob2Rob2Rfb2F1dGgnKTsNCiAgICAgICAgICAgIGlmKCAhZW1wdHkoJHZhcmlhYmxlKSApIHsNCiAgICAgICAgICAgICAgICBkZWxldGVfb3B0aW9uKCdyZWRpbmFfaG9kaG9kX29hdXRoJyk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICAkdmFyaWFibGUgPSBhcnJheSgNCiAgICAgICAgICAgICAgICAgICAgICAncmVkaW5hX29hdXRoX2FwaScgPT4gJGFwaSwNCiAgICAgICAgICAgICAgICAgICAgICAncmVkaW5hX29hdXRoX2RvbWFpbicgPT4gJGRvbWFpbiwNCiAgICAgICAgICAgICAgICAgICAgICAncmVkaW5hX29hdXRoX29yZGVyaWQnID0+ICRvcmRlcl9pZCwNCiAgICAgICAgICAgICAgICAgICAgICAncmVkaW5hX29hdXRoX3VzZXJuYW1lJyA9PiAkdXNlcm5hbWUNCiAgICAgICAgICAgICAgICAgICAgKTsNCiAgICAgICAgICAgIHVwZGF0ZV9vcHRpb24oJ3JlZGluYV9ob2Rob2Rfb2F1dGgnLCAkdmFyaWFibGUpOw0KICAgICAgICAgICAgJHJlc3VsdCA9IHNlbmQoICRhcGksICR1c2VybmFtZSwgJG9yZGVyX2lkLCAkZG9tYWluICk7DQogICAgICAgICAgICBpZiggJHJlc3VsdCA9PSAxICYmIGlzX251bWVyaWMoJHJlc3VsdCkgKSB7DQogICAgICAgICAgICAgICAgJHZhcmlhYmxlID0gZ2V0X29wdGlvbigncmVkaW5hX2hvZGhvZF9vYXV0aCcpOw0KICAgICAgICAgICAgICAgICRzdGF0dXMgPSBhcnJheSgNCiAgICAgICAgICAgICAgICAgICAgICAgICdyZWRpbmFfb2F1dGhfc3RhdHVzJyA9PiAnb2snDQogICAgICAgICAgICAgICAgICAgICAgICApOw0KICAgICAgICAgICAgICAgICRvcHRpb25zID0gYXJyYXlfbWVyZ2UoJHZhcmlhYmxlLCAkc3RhdHVzKTsNCiAgICAgICAgICAgICAgICB1cGRhdGVfb3B0aW9uKCdyZWRpbmFfaG9kaG9kX29hdXRoJywgJG9wdGlvbnMpOw0KICAgICAgICAgICAgICAgICRtZXNzYWdlID0gIti52YXZhNuM2KfYqiDZgdi52KfZhCDYs9in2LLbjCDZgtin2YTYqCDYqNinINmF2YjZgdmC24zYqiDYp9mG2KzYp9mFINi02K8uINmE2LfZgdinINio2LHYp9uMINmI2LHZiNivINio2Ycg2KrZhti424zZhdin2Kog2YLYp9mE2KggPGEgaHJlZj1cIiIuYWRtaW5fdXJsKCdhZG1pbi5waHA/cGFnZT1yZWRpbmFfdGhlbWVfc2V0dGluZ3MnKS4iXCI+2KfbjNmG2KzYpzwvYT4g2qnZhNuM2qkg2qnZhtuM2K8uIjsNCiAgICAgICAgICAgIH0gZWxzZWlmKCRyZXN1bHQgPT0gJy01Jykgew0KICAgICAgICAgICAgICAgICRtZXNzYWdlID0gItqp2K8g2LPZgdin2LHYtCDZhdix2KjZiNi3INio2Ycg2KfbjNmGINmG2KfZhSDaqdin2LHYqNix24wg2YbZhduMINio2KfYtNivLiI7DQogICAgICAgICAgICB9IGVsc2VpZigkcmVzdWx0ID09ICctNCcpIHsNCiAgICAgICAgICAgICAgICAkbWVzc2FnZSA9ICLaqdivINiz2YHYp9ix2LQg2YLYqNmE2KfZiyDYq9io2Kog2LTYr9mHINin2LPYqi4iOw0KICAgICAgICAgICAgfSBlbHNlaWYoJHJlc3VsdCA9PSAnLTMnKSB7DQogICAgICAgICAgICAgICAgJG1lc3NhZ2UgPSAi2qnYryDYs9mB2KfYsdi0INin2LTYqtio2KfZhyDYp9iz2KouIjsNCiAgICAgICAgICAgIH0gZWxzZWlmKCRyZXN1bHQgPT0gJy0yJykgew0KICAgICAgICAgICAgICAgICRtZXNzYWdlID0gItmG2KfZhSDaqdin2LHYqNix24wg2KfYtNiq2KjYp9mHINin2LPYqi4iOw0KICAgICAgICAgICAgfSBlbHNlaWYoJHJlc3VsdCA9PSAnLTEnKSB7DQogICAgICAgICAgICAgICAgJG1lc3NhZ2UgPSAi2qnYryBBUEkg2KfYtNiq2KjYp9mHINin2LPYqi4g2YTYt9mB2Kcg2KjYpyDZvti02KrbjNio2KfZhtuMINix2K/bjNmG2Kcg2KrZhdin2LMg2Kjar9uM2LHbjNivLiI7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICRtZXNzYWdlID0gItmF2LTaqdmE24wg2K/YsSDYudmF2YTbjNin2Kog2YHYudin2YQg2LPYp9iy24wg2YLYp9mE2Kgg2KjZiNis2YjYryDYotmF2K/ZhyDYp9iz2KouINmE2LfZgdinINio2Kcg2b7YtNiq24zYqNin2YbbjCDYsdiv24zZhtinINiq2YXYp9izINio2q/bjNix24zYry4iOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQo/Pg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0id3JhcCI+DQogICAgICAgICAgICAgICAgPGRpdiBpZD0icmFwLWNvbnRhaW5lciI+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InJhcC1tYWluIiBjbGFzcz0iYWN0aXZhdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBhY3Rpb249IiMiIG1ldGhvZD0icG9zdCI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyYXAtaGVhZGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzPtmB2LnYp9mEINiz2KfYstuMINmC2KfZhNioPC9oMz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxocj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/cGhwIGlmKCBlbXB0eSgkbWVzc2FnZSkgKSA6ID8+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmFwLWJveCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveC1zZWN0aW9uIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPti22YXZhiDYqti02qnYsSDYp9iyINit2LPZhiDYp9mG2KrYrtin2Kgg2LTZhdin2Iwg2YTYt9mB2Kcg2KfYt9mE2KfYudin2Kog2K7YsduM2K8g2K7ZiNivINix2Kcg2YjYp9ix2K8g2qnZhtuM2K8uPC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+2KrZiNis2Ycg2K/Yp9i02KrZhyDYqNin2LTbjNiv2Iwg2LTZhdinINiq2YbZh9inINuM2qkg2KjYp9ixINmF24zYqtmI2KfZhtuM2K8g2YXYrdi12YjZhCDYsdinINmB2LnYp9mEINmG2YXYp9uM24zYry4g2b7YsyDYqNixINix2YjbjCDYr9in2YXZhtmHINiq2LPYqiDYp9uM2YYg2qnYp9ixINix2Kcg2KfZhtis2KfZhSDZhtiv2YfbjNivINmIINmB2YLYtyDYsdmI24wg2K/Yp9mF2YbZhyDYp9i12YTbjCDYrtmI2K8g2YXYrdi12YjZhCDYsdinINmB2LnYp9mEINqp2YbbjNivLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPD9waHAgZWxzZWlmKCRtZXNzYWdlID09ICLYudmF2YTbjNin2Kog2YHYudin2YQg2LPYp9iy24wg2YLYp9mE2Kgg2KjYpyDZhdmI2YHZgtuM2Kog2KfZhtis2KfZhSDYtNivLiDZhNi32YHYpyDYqNix2KfbjCDZiNix2YjYryDYqNmHINiq2YbYuNuM2YXYp9iqINmC2KfZhNioIDxhIGhyZWY9XCIiLmFkbWluX3VybCgnYWRtaW4ucGhwP3BhZ2U9cmVkaW5hX3RoZW1lX3NldHRpbmdzJykuIlwiPtin24zZhtis2Kc8L2E+INqp2YTbjNqpINqp2YbbjNivLiIpIDogPz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ1cGRhdGVkIHNldHRpbmdzLWVycm9yIj4gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjw/cGhwIGVjaG8gJG1lc3NhZ2U7ID8+PC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/cGhwIGVsc2UgOiA/Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVycm9yIHNldHRpbmdzLWVycm9yIj4gDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjw/cGhwIGVjaG8gJG1lc3NhZ2U7ID8+PC9wPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/cGhwIGVuZGlmOyA/Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmFwLWJveCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND7Zhtin2YUg2qnYp9ix2KjYsduMPC9oND4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94LXNlY3Rpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InJlZGluYV9vYXV0aF91c2VybmFtZSIgaWQ9InJlZGluYV9vYXV0aF91c2VybmFtZSIgcGxhY2Vob2xkZXI9ItmG2KfZhSDaqdin2LHYqNix24wiIHZhbHVlPSI8P3BocCBlY2hvIGVzY19hdHRyKCAkcmVkaW5hX2hvZGhvZF9vYXV0aFsncmVkaW5hX29hdXRoX3VzZXJuYW1lJ10gKTsgPz4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJhcC1ib3giPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQ+2qnYryDYs9mB2KfYsdi0PC9oND4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94LXNlY3Rpb24iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InJlZGluYV9vYXV0aF9vcmRlcmlkIiBpZD0icmVkaW5hX29hdXRoX29yZGVyaWQiIHBsYWNlaG9sZGVyPSLaqdivINiz2YHYp9ix2LQiIHZhbHVlPSI8P3BocCBlY2hvIGVzY19hdHRyKCAkcmVkaW5hX2hvZGhvZF9vYXV0aFsncmVkaW5hX29hdXRoX29yZGVyaWQnXSApOyA/PiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmFwLWJveCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoND7Yotiv2LHYsyDZiNio2LPYp9uM2Ko8L2g0Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3gtc2VjdGlvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0icmVkaW5hX29hdXRoX2RvbWFpbiIgaWQ9InJlZGluYV9vYXV0aF9kb21haW4iIHBsYWNlaG9sZGVyPSLYotiv2LHYsyDZiNio2LPYp9uM2KoiIHZhbHVlPSI8P3BocCBlY2hvIGVzY19hdHRyKCBnZXRfb3B0aW9uKCdob21lJykgKTsgPz4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJhcC1mb290ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzYXZlIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJzYXZlIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSLZgdi52KfZhCDYs9in2LLbjCDZgtin2YTYqCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQo8P3BocA0KICAgIH0NCiAgICBpZiggaXNfYWRtaW4oKSApIGFkZF9hY3Rpb24oICdhZG1pbl9tZW51JywgJ2FkZF9yZWRpbmFfYWRtaW4nICk7DQoNCn0gZWxzZSB7DQoNCiAgICBmdW5jdGlvbiBhZGRfcmVkaW5hX2FkbWluKCkgew0KICAgICAgICAkcGFnZV90aXRsZSAgICAgPSAn2KrZhti424zZhdin2Kog2LnZhdmI2YXbjCc7DQogICAgICAgICRtZW51X3RpdGxlICAgICA9ICfYqtmG2LjbjNmF2KfYqiDZgtin2YTYqCc7DQogICAgICAgICRjYXBhYmlsaXR5ICAgICA9ICdtYW5hZ2Vfb3B0aW9ucyc7DQogICAgICAgICRtZW51X3NsdWcgICAgICA9ICdyZWRpbmFfdGhlbWVfc2V0dGluZ3MnOw0KICAgICAgICAkaWNvbl91cmwgICAgICAgPSBnZXRfdGVtcGxhdGVfZGlyZWN0b3J5X3VyaSgpIC4gJy9mdW5jdGlvbnMvYXNzZXRzL2ltYWdlcy9pY29uLnBuZyc7DQogICAgICAgICRmdW5jdGlvbiAgICAgICA9ICdyZWRpbmFfdGhlbWVfc2V0dGluZ3MnOw0KICAgICAgICBhZGRfbWVudV9wYWdlKCAkcGFnZV90aXRsZSwgJG1lbnVfdGl0bGUsICRjYXBhYmlsaXR5LCAkbWVudV9zbHVnLCAkZnVuY3Rpb24sICRpY29uX3VybCApOw0KICAgICAgICBhZGRfc3VibWVudV9wYWdlKCAkbWVudV9zbHVnLCAkbWVudV90aXRsZSwgJHBhZ2VfdGl0bGUsICRjYXBhYmlsaXR5LCAkbWVudV9zbHVnKTsNCg0KICAgICAgICAvLyBMYXlvdXQgc2V0dGluZ3MgLSBzdWJtZW51DQogICAgICAgIGFkZF9zdWJtZW51X3BhZ2UoICRtZW51X3NsdWcsICfYqtmG2LjbjNmF2KfYqiDYuNin2YfYsduMJywgJ9iq2YbYuNuM2YXYp9iqINi42KfZh9ix24wnLCAnbWFuYWdlX29wdGlvbnMnLCAncmVkaW5hX2xheW91dF9zZXR0aW5ncycsICdyZWRpbmFfbGF5b3V0X3NldHRpbmdzJyk7DQoNCiAgICAgICAgLy8gQ2F0ZWdvcnkgc2V0dGluZ3MgLSBzdWJtZW51DQogICAgICAgIGFkZF9zdWJtZW51X3BhZ2UoICRtZW51X3NsdWcsICfYqtmG2LjbjNmF2KfYqiDYr9iz2KrZhyDYqNmG2K/bjOKAjNmH2KcnLCAn2KrZhti424zZhdin2Kog2K/Ys9iq2Ycg2KjZhtiv24zigIzZh9inJywgJ21hbmFnZV9vcHRpb25zJywgJ3JlZGluYV9jYXRlZ29yeV9zZXR0aW5ncycsICdyZWRpbmFfY2F0ZWdvcnlfc2V0dGluZ3MnKTsNCg0KICAgICAgICAvLyBTb2NpYWwgTWVkaWEgc2V0dGluZ3MgLSBzdWJtZW51DQogICAgICAgIGFkZF9zdWJtZW51X3BhZ2UoICRtZW51X3NsdWcsICfYtNio2qnZh+KAjNmH2KfbjCDYp9is2KrZhdin2LnbjCcsICfYtNio2qnZh+KAjNmH2KfbjCDYp9is2KrZhdin2LnbjCcsICdtYW5hZ2Vfb3B0aW9ucycsICdyZWRpbmFfc29jaWFsX3NldHRpbmdzJywgJ3JlZGluYV9zb2NpYWxfc2V0dGluZ3MnKTsNCg0KICAgICAgICAvLyBUaGVtZSBTdXBwb3J0IC0gc3VibWVudQ0KICAgICAgICBhZGRfc3VibWVudV9wYWdlKCAkbWVudV9zbHVnLCAn2KfYsdiq2KjYp9i3INio2Kcg2b7YtNiq24zYqNin2YbbjCcsICfYp9ix2KrYqNin2Lcg2KjYpyDZvti02KrbjNio2KfZhtuMJywgJ21hbmFnZV9vcHRpb25zJywgJ3JlZGluYV90aGVtZV9zdXBwb3J0JywgJ3JlZGluYV90aGVtZV9zdXBwb3J0Jyk7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gcmVnaXN0ZXJfdGhlbWVfc2V0dGluZ3MoKSB7DQoNCiAgICAgICAgLy8gRGF0ZSBvbiBoZWFkZXINCiAgICAgICAgcmVnaXN0ZXJfc2V0dGluZygnc2l0ZV9yZWRpbmFfc2V0dGluZ3MnLCAncmVkaW5hX2RhdGVfYWMnKTsNCg0KICAgICAgICAvLyBCcmVhZGNydW1icw0KICAgICAgICByZWdpc3Rlcl9zZXR0aW5nKCdzaXRlX3JlZGluYV9zZXR0aW5ncycsICdyZWRpbmFfYnJlYWRjcnVtYnNfYWMnKTsNCg0KICAgICAgICAvLyBSZWxhdGVkIFBvc3RzDQogICAgICAgIHJlZ2lzdGVyX3NldHRpbmcoJ3NpdGVfcmVkaW5hX3NldHRpbmdzJywgJ3JlZGluYV9yZWxhdGVkcG9zdHNfYWMnKTsNCiAgICAgICAgcmVnaXN0ZXJfc2V0dGluZygnc2l0ZV9yZWRpbmFfc2V0dGluZ3MnLCAncmVkaW5hX3JlbGF0ZWRwb3N0c19udW0nKTsNCg0KICAgICAgICAvLyA0MDQgVGV4dA0KICAgICAgICByZWdpc3Rlcl9zZXR0aW5nKCdzaXRlX3JlZGluYV9zZXR0aW5ncycsICdyZWRpbmFfNDA0X3RleHQnKTsNCg0KICAgICAgICAvLyBOb3QgUmVzdWx0IFRleHQNCiAgICAgICAgcmVnaXN0ZXJfc2V0dGluZygnc2l0ZV9yZWRpbmFfc2V0dGluZ3MnLCAncmVkaW5hX25vdF9yZXN1bHRfdGV4dCcpOw0KDQogICAgICAgIC8vIEZvb3RlciBUZXh0DQogICAgICAgIHJlZ2lzdGVyX3NldHRpbmcoJ3NpdGVfcmVkaW5hX3NldHRpbmdzJywgJ3JlZGluYV9mb290ZXJfdGV4dCcpOw0KDQogICAgICAgIC8vIENvcHlyaWdodA0KICAgICAgICByZWdpc3Rlcl9zZXR0aW5nKCdzaXRlX3JlZGluYV9zZXR0aW5ncycsICdyZWRpbmFfY29weXJpZ2h0X2FjJyk7DQogICAgICAgIHJlZ2lzdGVyX3NldHRpbmcoJ3NpdGVfcmVkaW5hX3NldHRpbmdzJywgJ3JlZGluYV9jb3B5cmlnaHQnKTsNCg0KICAgICAgICAvLyBIb2RIb2QgTG9nbw0KICAgICAgICByZWdpc3Rlcl9zZXR0aW5nKCdzaXRlX3JlZGluYV9zZXR0aW5ncycsICdyZWRpbmFfaG9kaG9kX2xvZ28nKTsNCg0KICAgICAgICAvLyBMYXN0IE5ld3MNCiAgICAgICAgcmVnaXN0ZXJfc2V0dGluZygnc2l0ZV9yZWRpbmFfc2V0dGluZ3MnLCAncmVkaW5hX2xhc3RuZXdzX2NhdCcpOw0KDQogICAgICAgIC8vIFNsaWRlcg0KICAgICAgICByZWdpc3Rlcl9zZXR0aW5nKCdzaXRlX3JlZGluYV9zZXR0aW5ncycsICdyZWRpbmFfc2xpZGVyX2FjJyk7DQogICAgICAgIHJlZ2lzdGVyX3NldHRpbmcoJ3NpdGVfcmVkaW5hX3NldHRpbmdzJywgJ3JlZGluYV9zbGlkZXJfY2F0Jyk7DQogICAgICAgIHJlZ2lzdGVyX3NldHRpbmcoJ3NpdGVfcmVkaW5hX3NldHRpbmdzJywgJ3JlZGluYV9zbGlkZXJfbnVtJyk7DQoNCiAgICAgICAgLy8gTmV3cyAoRXRlbGFpZSBoYSkNCiAgICAgICAgcmVnaXN0ZXJfc2V0dGluZygnc2l0ZV9yZWRpbmFfc2V0dGluZ3MnLCAncmVkaW5hX25ld3NfYWMnKTsNCiAgICAgICAgcmVnaXN0ZXJfc2V0dGluZygnc2l0ZV9yZWRpbmFfc2V0dGluZ3MnLCAncmVkaW5hX25ld3NfY2F0Jyk7DQogICAgICAgIHJlZ2lzdGVyX3NldHRpbmcoJ3NpdGVfcmVkaW5hX3NldHRpbmdzJywgJ3JlZGluYV9uZXdzX251bScpOw0KDQogICAgICAgIC8vIEhvdCBOZXdzIChOZXdzIFRyaWNrZXIpDQogICAgICAgIHJlZ2lzdGVyX3NldHRpbmcoJ3NpdGVfcmVkaW5hX3NldHRpbmdzJywgJ3JlZGluYV9ob3RuZXdzX2FjJyk7DQogICAgICAgIHJlZ2lzdGVyX3NldHRpbmcoJ3NpdGVfcmVkaW5hX3NldHRpbmdzJywgJ3JlZGluYV9ob3RuZXdzX2NhdCcpOw0KICAgICAgICByZWdpc3Rlcl9zZXR0aW5nKCdzaXRlX3JlZGluYV9zZXR0aW5ncycsICdyZWRpbmFfaG90bmV3c19udW0nKTsNCg0KICAgICAgICAvLyBQaG90byBSZXBvcnQNCiAgICAgICAgcmVnaXN0ZXJfc2V0dGluZygnc2l0ZV9yZWRpbmFfc2V0dGluZ3MnLCAncmVkaW5hX3Bob3RvcmVwb3J0X2FjJyk7DQogICAgICAgIHJlZ2lzdGVyX3NldHRpbmcoJ3NpdGVfcmVkaW5hX3NldHRpbmdzJywgJ3JlZGluYV9waG90b3JlcG9ydF9jYXQnKTsNCiAgICAgICAgcmVnaXN0ZXJfc2V0dGluZygnc2l0ZV9yZWRpbmFfc2V0dGluZ3MnLCAncmVkaW5hX3Bob3RvcmVwb3J0X251bScpOw0KDQogICAgICAgIC8vIFNwZWNpYWwgTmV3cyBCb3hlcw0KICAgICAgICByZWdpc3Rlcl9zZXR0aW5nKCdzaXRlX3JlZGluYV9zZXR0aW5ncycsICdyZWRpbmFfcmIxX2FjJyk7DQogICAgICAgIHJlZ2lzdGVyX3NldHRpbmcoJ3NpdGVfcmVkaW5hX3NldHRpbmdzJywgJ3JlZGluYV9yYjJfYWMnKTsNCiAgICAgICAgcmVnaXN0ZXJfc2V0dGluZygnc2l0ZV9yZWRpbmFfc2V0dGluZ3MnLCAncmVkaW5hX3JiMV9jYXQxJyk7DQogICAgICAgIHJlZ2lzdGVyX3NldHRpbmcoJ3NpdGVfcmVkaW5hX3NldHRpbmdzJywgJ3JlZGluYV9yYjFfbnVtMScpOw0KICAgICAgICByZWdpc3Rlcl9zZXR0aW5nKCdzaXRlX3JlZGluYV9zZXR0aW5ncycsICdyZWRpbmFfcmIxX2NhdDInKTsNCiAgICAgICAgcmVnaXN0ZXJfc2V0dGluZygnc2l0ZV9yZWRpbmFfc2V0dGluZ3MnLCAncmVkaW5hX3JiMV9udW0yJyk7DQogICAgICAgIHJlZ2lzdGVyX3NldHRpbmcoJ3NpdGVfcmVkaW5hX3NldHRpbmdzJywgJ3JlZGluYV9yYjFfY2F0MycpOw0KICAgICAgICByZWdpc3Rlcl9zZXR0aW5nKCdzaXRlX3JlZGluYV9zZXR0aW5ncycsICdyZWRpbmFfcmIxX251bTMnKTsNCiAgICAgICAgcmVnaXN0ZXJfc2V0dGluZygnc2l0ZV9yZWRpbmFfc2V0dGluZ3MnLCAncmVkaW5hX3JiMl9jYXQxJyk7DQogICAgICAgIHJlZ2lzdGVyX3NldHRpbmcoJ3NpdGVfcmVkaW5hX3NldHRpbmdzJywgJ3JlZGluYV9yYjJfbnVtMScpOw0KICAgICAgICByZWdpc3Rlcl9zZXR0aW5nKCdzaXRlX3JlZGluYV9zZXR0aW5ncycsICdyZWRpbmFfcmIyX2NhdDInKTsNCiAgICAgICAgcmVnaXN0ZXJfc2V0dGluZygnc2l0ZV9yZWRpbmFfc2V0dGluZ3MnLCAncmVkaW5hX3JiMl9udW0yJyk7DQogICAgICAgIHJlZ2lzdGVyX3NldHRpbmcoJ3NpdGVfcmVkaW5hX3NldHRpbmdzJywgJ3JlZGluYV9yYjJfY2F0MycpOw0KICAgICAgICByZWdpc3Rlcl9zZXR0aW5nKCdzaXRlX3JlZGluYV9zZXR0aW5ncycsICdyZWRpbmFfcmIyX251bTInKTsNCg0KDQogICAgICAgIC8vIExheW91dCBTZXR0aW5ncw0KICAgICAgICByZWdpc3Rlcl9zZXR0aW5nKCdzaXRlX3JlZGluYV9zZXR0aW5ncycsICdyZWRpbmFfbGF5b3V0Jyk7DQoNCg0KICAgICAgICAvLyBBZHZlcnRpc21lbnQgU2V0dGluZ3MNCiAgICAgICAgcmVnaXN0ZXJfc2V0dGluZygnc2l0ZV9yZWRpbmFfc2V0dGluZ3MnLCAncmVkaW5hX2hibnJfYWMnKTsNCiAgICAgICAgcmVnaXN0ZXJfc2V0dGluZygnc2l0ZV9yZWRpbmFfc2V0dGluZ3MnLCAncmVkaW5hX2hibnJfY29kZScpOw0KDQoNCiAgICAgICAgLy8gU29jaWFsIG1lZGlhIEljb25zDQogICAgICAgIHJlZ2lzdGVyX3NldHRpbmcoJ3NpdGVfcmVkaW5hX3NldHRpbmdzJywgJ3JlZGluYV9mYWNlYm9va19hYycpOw0KICAgICAgICByZWdpc3Rlcl9zZXR0aW5nKCdzaXRlX3JlZGluYV9zZXR0aW5ncycsICdyZWRpbmFfZmFjZWJvb2tfdXJsJyk7DQoNCiAgICAgICAgcmVnaXN0ZXJfc2V0dGluZygnc2l0ZV9yZWRpbmFfc2V0dGluZ3MnLCAncmVkaW5hX2luc3RhZ3JhbV9hYycpOw0KICAgICAgICByZWdpc3Rlcl9zZXR0aW5nKCdzaXRlX3JlZGluYV9zZXR0aW5ncycsICdyZWRpbmFfaW5zdGFncmFtX3VybCcpOw0KDQogICAgICAgIHJlZ2lzdGVyX3NldHRpbmcoJ3NpdGVfcmVkaW5hX3NldHRpbmdzJywgJ3JlZGluYV90d2l0dGVyX2FjJyk7DQogICAgICAgIHJlZ2lzdGVyX3NldHRpbmcoJ3NpdGVfcmVkaW5hX3NldHRpbmdzJywgJ3JlZGluYV90d2l0dGVyX3VybCcpOw0KDQogICAgICAgIHJlZ2lzdGVyX3NldHRpbmcoJ3NpdGVfcmVkaW5hX3NldHRpbmdzJywgJ3JlZGluYV9ncGx1c19hYycpOw0KICAgICAgICByZWdpc3Rlcl9zZXR0aW5nKCdzaXRlX3JlZGluYV9zZXR0aW5ncycsICdyZWRpbmFfZ3BsdXNfdXJsJyk7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gcmVkaW5hX3RoZW1lX3NldHRpbmdzKCkgew0KICAgICAgICBpbmNsdWRlICdtYWluc2V0dGluZy5waHAnOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHJlZGluYV9sYXlvdXRfc2V0dGluZ3MoKSB7DQogICAgICAgIGluY2x1ZGUgJ2xheW91dC5waHAnOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHJlZGluYV9jYXRlZ29yeV9zZXR0aW5ncygpIHsNCiAgICAgICAgaW5jbHVkZSAnY2F0ZWdvcnkucGhwJzsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiByZWRpbmFfc29jaWFsX3NldHRpbmdzKCkgew0KICAgICAgICBpbmNsdWRlICdzb2NpYWwucGhwJzsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiByZWRpbmFfdGhlbWVfc3VwcG9ydCgpIHsNCiAgICAgICAgaW5jbHVkZSAnc3VwcG9ydC5waHAnOw0KICAgIH0NCg0KICAgIGlmKGlzX2FkbWluKCkpIDoNCiAgICAgICAgYWRkX2FjdGlvbignYWRtaW5fbWVudScsJ2FkZF9yZWRpbmFfYWRtaW4nKTsNCiAgICAgICAgYWRkX2FjdGlvbiggJ2FkbWluX2luaXQnLCAncmVnaXN0ZXJfdGhlbWVfc2V0dGluZ3MnICk7DQogICAgZW5kaWY7DQoNCn0NCg0KZnVuY3Rpb24gbG9hZF9jdXN0b21fcmVkaW5hX2FkbWluX3N0eWxlKCkgew0KICAgIC8vIFNldHRpbmcgQm9keSBTdHlsZQ0KICAgIHdwX3JlZ2lzdGVyX3N0eWxlKCAncmVkaW5hX2FkbWluX3N0eWxlX2InLCBnZXRfdGVtcGxhdGVfZGlyZWN0b3J5X3VyaSgpIC4gJy9mdW5jdGlvbnMvYXNzZXRzL2JvZHkuY3NzJywgZmFsc2UsICcxLjAuMCcgKTsNCiAgICB3cF9lbnF1ZXVlX3N0eWxlKCAncmVkaW5hX2FkbWluX3N0eWxlX2InICk7DQoNCiAgICAvLyBTZXR0aW5nIE1haW4gU3R5bGUNCiAgICB3cF9yZWdpc3Rlcl9zdHlsZSggJ3JlZGluYV9hZG1pbl9zdHlsZScsIGdldF90ZW1wbGF0ZV9kaXJlY3RvcnlfdXJpKCkgLiAnL2Z1bmN0aW9ucy9hc3NldHMvc3R5bGUuY3NzJywgZmFsc2UsICcxLjAuMCcgKTsNCiAgICB3cF9lbnF1ZXVlX3N0eWxlKCAncmVkaW5hX2FkbWluX3N0eWxlJyApOw0KDQogICAgLy8gU2NyaXB0LmpzDQogICAgd3BfZW5xdWV1ZV9zY3JpcHQoICdteV9jdXN0b21fc2NyaXB0JywgZ2V0X3RlbXBsYXRlX2RpcmVjdG9yeV91cmkoKSAuICcvZnVuY3Rpb25zL2Fzc2V0cy9qcy9zY3JpcHQuanMnICk7DQoNCiAgICAvLyBFbnF1ZXVlIE1lZGlhDQoJd3BfZW5xdWV1ZV9tZWRpYSgpOw0KfQ0KYWRkX2FjdGlvbiggJ2FkbWluX2VucXVldWVfc2NyaXB0cycsICdsb2FkX2N1c3RvbV9yZWRpbmFfYWRtaW5fc3R5bGUnICk7";eval($O00O0O($O000OO));
?>

Function Calls

urldecode 2
base64_decode 2

Variables

$O000OO JHJlZGluYV9ob2Rob2Rfb2F1dGggPSBnZXRfb3B0aW9uKCdyZWRpbmFfaG9k..
$O00O0O base64_decode
$O00OO0 n1zb/ma5\vt0i28-pxuqy*6lrkdg9_ehcswo4+f37j
$O0OO00 strtr
$OO0000 52
$OO0O00 substr
$OO0OO0 eval

Stats

MD5 c1092e0ac2d986962c6bb3722f3e7c2a
Eval Count 2
Decode Time 151 ms