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("?>".base64_decode("PD9waHANCi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio..

Decoded Output download

?>b'<?php
/* ********************************************************************************
 * The content of this file is subject to the VTiger Premium ("License");
 * You may not use this file except in compliance with the License
 * The Initial Developer of the Original Code is VTExperts.com
 * Portions created by VTExperts.com. are Copyright(C) VTExperts.com.
 * All Rights Reserved.
 * ****************************************************************************** */

require_once(\'data/CRMEntity.php\');
require_once(\'data/Tracker.php\');
require_once \'vtlib/Vtiger/Module.php\';

class VTEStore extends CRMEntity {
    /**
     * Invoked when special actions are performed on the module.
     * @param String Module name
     * @param String Event Type (module.postinstall, module.disabled, module.enabled, module.preuninstall)
     */
    function vtlib_handler($modulename, $event_type) {
        if($event_type == \'module.postinstall\') {
            self::addWidgetTo();
            self::iniData();
            self::resetValid();
        } else if($event_type == \'module.disabled\') {
            // TODO Handle actions when this module is disabled.
            self::removeWidgetTo();
            self::removeEventHandle();
        } else if($event_type == \'module.enabled\') {
            // TODO Handle actions when this module is enabled.
            self::addWidgetTo();
        } else if($event_type == \'module.preuninstall\') {
            // TODO Handle actions when this module is about to be deleted.
            self::removeWidgetTo();
            self::removeEventHandle();
        } else if($event_type == \'module.preupdate\') {
            // TODO Handle actions before this module is updated.
        } else if($event_type == \'module.postupdate\') {
            self::removeWidgetTo();
            self::removeEventHandle();
            self::addWidgetTo();
            self::iniData();
            self::resetValid();
        }
    }

    static function iniData() {
        global $adb,$root_directory,$current_user,$site_URL, $vtiger_current_version;

        if(version_compare($vtiger_current_version, \'7.0.0\', \'<\')) {
            $template_folder= "layouts/vlayout";
        }else{
            $template_folder= "layouts/v7";
        }
        copy($root_directory.$template_folder.\'/modules/VTEStore/resources/images/VTEStore.png\',$root_directory.$template_folder.\'/skins/images/VTEStore.png\');

        $sql = "SELECT * FROM vtestore_system_info WHERE `name`=?";
        $res = $adb->pquery($sql,array(\'VTPremiumHeader\'));
        if($adb->num_rows($res)==0){
            $VTPremiumHeaderData=array();
            $VTPremiumHeaderData[\'customerid\']=\'\';
            $VTPremiumHeaderData[\'username\']=\'\';
            $VTPremiumHeaderData[\'email\']=\'\';
            $VTPremiumHeaderData[\'vtiger_url\']=$site_URL;
            $VTPremiumHeaderData[\'subsxcription_status\']=\'\';
            $VTPremiumHeaderData[\'expiration_date\']=\'\';
            $VTPremiumHeaderData[\'remain_date\']=\'\';
            $VTPremiumHeaderData[\'version\']=\'1.0.0\';
            $VTPremiumHeaderData[\'is_latest_version\']=0;
            $VTPremiumHeaderData[\'subscription_id\']=\'\';
            $VTPremiumHeaderData[\'chargify_customer_id\']=\'\';
            $VTPremiumHeaderData[\'billing_portal_url\']=\'\';
            $VTPremiumHeaderData[\'customer_status\']=\'\';
            $VTPremiumHeaderData[\'user_installed\']=$current_user->id;
            $sql="INSERT INTO vtestore_system_info(`name`,`value`,`description`) VALUES (?,?,?)";
            $adb->pquery($sql,array(\'VTPremiumHeader\',json_encode($VTPremiumHeaderData),\'Data for header icon\'));
        }
    }

    /**
     * Add header script to other module.
     * @return unknown_type
     */
     
    static function addWidgetTo() {
        global $adb,$vtiger_current_version;
        include_once \'vtlib/Vtiger/Module.php\';
        $module = Vtiger_Module::getInstance("VTEStore");
        if(version_compare($vtiger_current_version, \'7.0.0\', \'<\')) {
            $template_folder= "layouts/vlayout";
        }else{
            $template_folder= "layouts/v7";
        }
        if($module) {
            $module->addLink(\'HEADERSCRIPT\', \'VTEStoreJs\', $template_folder.\'/modules/VTEStore/resources/VTEStore.js\');
        }
        $max_id=$adb->getUniqueID(\'vtiger_settings_field\');
        $adb->pquery("INSERT INTO `vtiger_settings_field` (`fieldid`, `blockid`, `name`, `description`, `linkto`, `sequence`) VALUES (?, ?, ?, ?, ?, ?)",array($max_id,\'4\',\'VTiger Premium\', \'Settings area for VTiger Premium\', \'index.php?module=VTEStore&parent=Settings&view=Settings&reset=1\',$max_id));
    }

    static function removeWidgetTo() {
        global $adb,$vtiger_current_version;
        include_once \'vtlib/Vtiger/Module.php\';
        $module = Vtiger_Module::getInstance("VTEStore");
        if(version_compare($vtiger_current_version, \'7.0.0\', \'<\')) {
            $template_folder= "layouts/vlayout";
        }else{
            $template_folder= "layouts/v7";
        }
        if($module) {
            $module->deleteLink(\'HEADERSCRIPT\', \'VTEStoreJs\', $template_folder.\'/modules/VTEStore/resources/VTEStore.js\');
        }
        $adb->pquery("DELETE FROM vtiger_settings_field WHERE `name` = ?",array(\'VTE Store\'));
        $adb->pquery("DELETE FROM vtiger_settings_blocks WHERE `label` = ?",array(\'VTE  Store\'));
        $adb->pquery("DELETE FROM vtiger_settings_field WHERE `name` = ?",array(\'VTiger Premium\'));
        $adb->pquery("DELETE FROM vtiger_settings_blocks WHERE `label` = ?",array(\'VTiger Premium\'));
    }

    static function resetValid() {
        global $adb;
        $adb->pquery("DELETE FROM `vte_modules` WHERE module=?;",array(\'VTEStore\'));
        $adb->pquery("INSERT INTO `vte_modules` (`module`, `valid`) VALUES (?, ?);",array(\'VTEStore\',\'0\'));
    }

    //Create handle
    static function addEventHandle(){
        global $adb;
        $em = new VTEventsManager($adb);
        $em->registerHandler(\'vtiger.entity.aftersave\', \'modules/VTEStore/VTEStoreHandler.php\', \'VTEStoreHandler\');
    }

    // Remove handle
    static function removeEventHandle(){
        global $adb;
        $em = new VTEventsManager($adb);
        $em->unregisterHandler(\'VTEStoreHandler\');
    }
}'

Did this file decode correctly?

Original Code

<?php eval("?>".base64_decode("PD9waHANCi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogKiBUaGUgY29udGVudCBvZiB0aGlzIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgVlRpZ2VyIFByZW1pdW0gKCJMaWNlbnNlIik7DQogKiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UNCiAqIFRoZSBJbml0aWFsIERldmVsb3BlciBvZiB0aGUgT3JpZ2luYWwgQ29kZSBpcyBWVEV4cGVydHMuY29tDQogKiBQb3J0aW9ucyBjcmVhdGVkIGJ5IFZURXhwZXJ0cy5jb20uIGFyZSBDb3B5cmlnaHQoQykgVlRFeHBlcnRzLmNvbS4NCiAqIEFsbCBSaWdodHMgUmVzZXJ2ZWQuDQogKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8NCg0KcmVxdWlyZV9vbmNlKCdkYXRhL0NSTUVudGl0eS5waHAnKTsNCnJlcXVpcmVfb25jZSgnZGF0YS9UcmFja2VyLnBocCcpOw0KcmVxdWlyZV9vbmNlICd2dGxpYi9WdGlnZXIvTW9kdWxlLnBocCc7DQoNCmNsYXNzIFZURVN0b3JlIGV4dGVuZHMgQ1JNRW50aXR5IHsNCiAgICAvKioNCiAgICAgKiBJbnZva2VkIHdoZW4gc3BlY2lhbCBhY3Rpb25zIGFyZSBwZXJmb3JtZWQgb24gdGhlIG1vZHVsZS4NCiAgICAgKiBAcGFyYW0gU3RyaW5nIE1vZHVsZSBuYW1lDQogICAgICogQHBhcmFtIFN0cmluZyBFdmVudCBUeXBlIChtb2R1bGUucG9zdGluc3RhbGwsIG1vZHVsZS5kaXNhYmxlZCwgbW9kdWxlLmVuYWJsZWQsIG1vZHVsZS5wcmV1bmluc3RhbGwpDQogICAgICovDQogICAgZnVuY3Rpb24gdnRsaWJfaGFuZGxlcigkbW9kdWxlbmFtZSwgJGV2ZW50X3R5cGUpIHsNCiAgICAgICAgaWYoJGV2ZW50X3R5cGUgPT0gJ21vZHVsZS5wb3N0aW5zdGFsbCcpIHsNCiAgICAgICAgICAgIHNlbGY6OmFkZFdpZGdldFRvKCk7DQogICAgICAgICAgICBzZWxmOjppbmlEYXRhKCk7DQogICAgICAgICAgICBzZWxmOjpyZXNldFZhbGlkKCk7DQogICAgICAgIH0gZWxzZSBpZigkZXZlbnRfdHlwZSA9PSAnbW9kdWxlLmRpc2FibGVkJykgew0KICAgICAgICAgICAgLy8gVE9ETyBIYW5kbGUgYWN0aW9ucyB3aGVuIHRoaXMgbW9kdWxlIGlzIGRpc2FibGVkLg0KICAgICAgICAgICAgc2VsZjo6cmVtb3ZlV2lkZ2V0VG8oKTsNCiAgICAgICAgICAgIHNlbGY6OnJlbW92ZUV2ZW50SGFuZGxlKCk7DQogICAgICAgIH0gZWxzZSBpZigkZXZlbnRfdHlwZSA9PSAnbW9kdWxlLmVuYWJsZWQnKSB7DQogICAgICAgICAgICAvLyBUT0RPIEhhbmRsZSBhY3Rpb25zIHdoZW4gdGhpcyBtb2R1bGUgaXMgZW5hYmxlZC4NCiAgICAgICAgICAgIHNlbGY6OmFkZFdpZGdldFRvKCk7DQogICAgICAgIH0gZWxzZSBpZigkZXZlbnRfdHlwZSA9PSAnbW9kdWxlLnByZXVuaW5zdGFsbCcpIHsNCiAgICAgICAgICAgIC8vIFRPRE8gSGFuZGxlIGFjdGlvbnMgd2hlbiB0aGlzIG1vZHVsZSBpcyBhYm91dCB0byBiZSBkZWxldGVkLg0KICAgICAgICAgICAgc2VsZjo6cmVtb3ZlV2lkZ2V0VG8oKTsNCiAgICAgICAgICAgIHNlbGY6OnJlbW92ZUV2ZW50SGFuZGxlKCk7DQogICAgICAgIH0gZWxzZSBpZigkZXZlbnRfdHlwZSA9PSAnbW9kdWxlLnByZXVwZGF0ZScpIHsNCiAgICAgICAgICAgIC8vIFRPRE8gSGFuZGxlIGFjdGlvbnMgYmVmb3JlIHRoaXMgbW9kdWxlIGlzIHVwZGF0ZWQuDQogICAgICAgIH0gZWxzZSBpZigkZXZlbnRfdHlwZSA9PSAnbW9kdWxlLnBvc3R1cGRhdGUnKSB7DQogICAgICAgICAgICBzZWxmOjpyZW1vdmVXaWRnZXRUbygpOw0KICAgICAgICAgICAgc2VsZjo6cmVtb3ZlRXZlbnRIYW5kbGUoKTsNCiAgICAgICAgICAgIHNlbGY6OmFkZFdpZGdldFRvKCk7DQogICAgICAgICAgICBzZWxmOjppbmlEYXRhKCk7DQogICAgICAgICAgICBzZWxmOjpyZXNldFZhbGlkKCk7DQogICAgICAgIH0NCiAgICB9DQoNCiAgICBzdGF0aWMgZnVuY3Rpb24gaW5pRGF0YSgpIHsNCiAgICAgICAgZ2xvYmFsICRhZGIsJHJvb3RfZGlyZWN0b3J5LCRjdXJyZW50X3VzZXIsJHNpdGVfVVJMLCAkdnRpZ2VyX2N1cnJlbnRfdmVyc2lvbjsNCg0KICAgICAgICBpZih2ZXJzaW9uX2NvbXBhcmUoJHZ0aWdlcl9jdXJyZW50X3ZlcnNpb24sICc3LjAuMCcsICc8JykpIHsNCiAgICAgICAgICAgICR0ZW1wbGF0ZV9mb2xkZXI9ICJsYXlvdXRzL3ZsYXlvdXQiOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICR0ZW1wbGF0ZV9mb2xkZXI9ICJsYXlvdXRzL3Y3IjsNCiAgICAgICAgfQ0KICAgICAgICBjb3B5KCRyb290X2RpcmVjdG9yeS4kdGVtcGxhdGVfZm9sZGVyLicvbW9kdWxlcy9WVEVTdG9yZS9yZXNvdXJjZXMvaW1hZ2VzL1ZURVN0b3JlLnBuZycsJHJvb3RfZGlyZWN0b3J5LiR0ZW1wbGF0ZV9mb2xkZXIuJy9za2lucy9pbWFnZXMvVlRFU3RvcmUucG5nJyk7DQoNCiAgICAgICAgJHNxbCA9ICJTRUxFQ1QgKiBGUk9NIHZ0ZXN0b3JlX3N5c3RlbV9pbmZvIFdIRVJFIGBuYW1lYD0/IjsNCiAgICAgICAgJHJlcyA9ICRhZGItPnBxdWVyeSgkc3FsLGFycmF5KCdWVFByZW1pdW1IZWFkZXInKSk7DQogICAgICAgIGlmKCRhZGItPm51bV9yb3dzKCRyZXMpPT0wKXsNCiAgICAgICAgICAgICRWVFByZW1pdW1IZWFkZXJEYXRhPWFycmF5KCk7DQogICAgICAgICAgICAkVlRQcmVtaXVtSGVhZGVyRGF0YVsnY3VzdG9tZXJpZCddPScnOw0KICAgICAgICAgICAgJFZUUHJlbWl1bUhlYWRlckRhdGFbJ3VzZXJuYW1lJ109Jyc7DQogICAgICAgICAgICAkVlRQcmVtaXVtSGVhZGVyRGF0YVsnZW1haWwnXT0nJzsNCiAgICAgICAgICAgICRWVFByZW1pdW1IZWFkZXJEYXRhWyd2dGlnZXJfdXJsJ109JHNpdGVfVVJMOw0KICAgICAgICAgICAgJFZUUHJlbWl1bUhlYWRlckRhdGFbJ3N1YnN4Y3JpcHRpb25fc3RhdHVzJ109Jyc7DQogICAgICAgICAgICAkVlRQcmVtaXVtSGVhZGVyRGF0YVsnZXhwaXJhdGlvbl9kYXRlJ109Jyc7DQogICAgICAgICAgICAkVlRQcmVtaXVtSGVhZGVyRGF0YVsncmVtYWluX2RhdGUnXT0nJzsNCiAgICAgICAgICAgICRWVFByZW1pdW1IZWFkZXJEYXRhWyd2ZXJzaW9uJ109JzEuMC4wJzsNCiAgICAgICAgICAgICRWVFByZW1pdW1IZWFkZXJEYXRhWydpc19sYXRlc3RfdmVyc2lvbiddPTA7DQogICAgICAgICAgICAkVlRQcmVtaXVtSGVhZGVyRGF0YVsnc3Vic2NyaXB0aW9uX2lkJ109Jyc7DQogICAgICAgICAgICAkVlRQcmVtaXVtSGVhZGVyRGF0YVsnY2hhcmdpZnlfY3VzdG9tZXJfaWQnXT0nJzsNCiAgICAgICAgICAgICRWVFByZW1pdW1IZWFkZXJEYXRhWydiaWxsaW5nX3BvcnRhbF91cmwnXT0nJzsNCiAgICAgICAgICAgICRWVFByZW1pdW1IZWFkZXJEYXRhWydjdXN0b21lcl9zdGF0dXMnXT0nJzsNCiAgICAgICAgICAgICRWVFByZW1pdW1IZWFkZXJEYXRhWyd1c2VyX2luc3RhbGxlZCddPSRjdXJyZW50X3VzZXItPmlkOw0KICAgICAgICAgICAgJHNxbD0iSU5TRVJUIElOVE8gdnRlc3RvcmVfc3lzdGVtX2luZm8oYG5hbWVgLGB2YWx1ZWAsYGRlc2NyaXB0aW9uYCkgVkFMVUVTICg/LD8sPykiOw0KICAgICAgICAgICAgJGFkYi0+cHF1ZXJ5KCRzcWwsYXJyYXkoJ1ZUUHJlbWl1bUhlYWRlcicsanNvbl9lbmNvZGUoJFZUUHJlbWl1bUhlYWRlckRhdGEpLCdEYXRhIGZvciBoZWFkZXIgaWNvbicpKTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIEFkZCBoZWFkZXIgc2NyaXB0IHRvIG90aGVyIG1vZHVsZS4NCiAgICAgKiBAcmV0dXJuIHVua25vd25fdHlwZQ0KICAgICAqLw0KICAgICANCiAgICBzdGF0aWMgZnVuY3Rpb24gYWRkV2lkZ2V0VG8oKSB7DQogICAgICAgIGdsb2JhbCAkYWRiLCR2dGlnZXJfY3VycmVudF92ZXJzaW9uOw0KICAgICAgICBpbmNsdWRlX29uY2UgJ3Z0bGliL1Z0aWdlci9Nb2R1bGUucGhwJzsNCiAgICAgICAgJG1vZHVsZSA9IFZ0aWdlcl9Nb2R1bGU6OmdldEluc3RhbmNlKCJWVEVTdG9yZSIpOw0KICAgICAgICBpZih2ZXJzaW9uX2NvbXBhcmUoJHZ0aWdlcl9jdXJyZW50X3ZlcnNpb24sICc3LjAuMCcsICc8JykpIHsNCiAgICAgICAgICAgICR0ZW1wbGF0ZV9mb2xkZXI9ICJsYXlvdXRzL3ZsYXlvdXQiOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgICR0ZW1wbGF0ZV9mb2xkZXI9ICJsYXlvdXRzL3Y3IjsNCiAgICAgICAgfQ0KICAgICAgICBpZigkbW9kdWxlKSB7DQogICAgICAgICAgICAkbW9kdWxlLT5hZGRMaW5rKCdIRUFERVJTQ1JJUFQnLCAnVlRFU3RvcmVKcycsICR0ZW1wbGF0ZV9mb2xkZXIuJy9tb2R1bGVzL1ZURVN0b3JlL3Jlc291cmNlcy9WVEVTdG9yZS5qcycpOw0KICAgICAgICB9DQogICAgICAgICRtYXhfaWQ9JGFkYi0+Z2V0VW5pcXVlSUQoJ3Z0aWdlcl9zZXR0aW5nc19maWVsZCcpOw0KICAgICAgICAkYWRiLT5wcXVlcnkoIklOU0VSVCBJTlRPIGB2dGlnZXJfc2V0dGluZ3NfZmllbGRgIChgZmllbGRpZGAsIGBibG9ja2lkYCwgYG5hbWVgLCBgZGVzY3JpcHRpb25gLCBgbGlua3RvYCwgYHNlcXVlbmNlYCkgVkFMVUVTICg/LCA/LCA/LCA/LCA/LCA/KSIsYXJyYXkoJG1heF9pZCwnNCcsJ1ZUaWdlciBQcmVtaXVtJywgJ1NldHRpbmdzIGFyZWEgZm9yIFZUaWdlciBQcmVtaXVtJywgJ2luZGV4LnBocD9tb2R1bGU9VlRFU3RvcmUmcGFyZW50PVNldHRpbmdzJnZpZXc9U2V0dGluZ3MmcmVzZXQ9MScsJG1heF9pZCkpOw0KICAgIH0NCg0KICAgIHN0YXRpYyBmdW5jdGlvbiByZW1vdmVXaWRnZXRUbygpIHsNCiAgICAgICAgZ2xvYmFsICRhZGIsJHZ0aWdlcl9jdXJyZW50X3ZlcnNpb247DQogICAgICAgIGluY2x1ZGVfb25jZSAndnRsaWIvVnRpZ2VyL01vZHVsZS5waHAnOw0KICAgICAgICAkbW9kdWxlID0gVnRpZ2VyX01vZHVsZTo6Z2V0SW5zdGFuY2UoIlZURVN0b3JlIik7DQogICAgICAgIGlmKHZlcnNpb25fY29tcGFyZSgkdnRpZ2VyX2N1cnJlbnRfdmVyc2lvbiwgJzcuMC4wJywgJzwnKSkgew0KICAgICAgICAgICAgJHRlbXBsYXRlX2ZvbGRlcj0gImxheW91dHMvdmxheW91dCI7DQogICAgICAgIH1lbHNlew0KICAgICAgICAgICAgJHRlbXBsYXRlX2ZvbGRlcj0gImxheW91dHMvdjciOw0KICAgICAgICB9DQogICAgICAgIGlmKCRtb2R1bGUpIHsNCiAgICAgICAgICAgICRtb2R1bGUtPmRlbGV0ZUxpbmsoJ0hFQURFUlNDUklQVCcsICdWVEVTdG9yZUpzJywgJHRlbXBsYXRlX2ZvbGRlci4nL21vZHVsZXMvVlRFU3RvcmUvcmVzb3VyY2VzL1ZURVN0b3JlLmpzJyk7DQogICAgICAgIH0NCiAgICAgICAgJGFkYi0+cHF1ZXJ5KCJERUxFVEUgRlJPTSB2dGlnZXJfc2V0dGluZ3NfZmllbGQgV0hFUkUgYG5hbWVgID0gPyIsYXJyYXkoJ1ZURSBTdG9yZScpKTsNCiAgICAgICAgJGFkYi0+cHF1ZXJ5KCJERUxFVEUgRlJPTSB2dGlnZXJfc2V0dGluZ3NfYmxvY2tzIFdIRVJFIGBsYWJlbGAgPSA/IixhcnJheSgnVlRFICBTdG9yZScpKTsNCiAgICAgICAgJGFkYi0+cHF1ZXJ5KCJERUxFVEUgRlJPTSB2dGlnZXJfc2V0dGluZ3NfZmllbGQgV0hFUkUgYG5hbWVgID0gPyIsYXJyYXkoJ1ZUaWdlciBQcmVtaXVtJykpOw0KICAgICAgICAkYWRiLT5wcXVlcnkoIkRFTEVURSBGUk9NIHZ0aWdlcl9zZXR0aW5nc19ibG9ja3MgV0hFUkUgYGxhYmVsYCA9ID8iLGFycmF5KCdWVGlnZXIgUHJlbWl1bScpKTsNCiAgICB9DQoNCiAgICBzdGF0aWMgZnVuY3Rpb24gcmVzZXRWYWxpZCgpIHsNCiAgICAgICAgZ2xvYmFsICRhZGI7DQogICAgICAgICRhZGItPnBxdWVyeSgiREVMRVRFIEZST00gYHZ0ZV9tb2R1bGVzYCBXSEVSRSBtb2R1bGU9PzsiLGFycmF5KCdWVEVTdG9yZScpKTsNCiAgICAgICAgJGFkYi0+cHF1ZXJ5KCJJTlNFUlQgSU5UTyBgdnRlX21vZHVsZXNgIChgbW9kdWxlYCwgYHZhbGlkYCkgVkFMVUVTICg/LCA/KTsiLGFycmF5KCdWVEVTdG9yZScsJzAnKSk7DQogICAgfQ0KDQogICAgLy9DcmVhdGUgaGFuZGxlDQogICAgc3RhdGljIGZ1bmN0aW9uIGFkZEV2ZW50SGFuZGxlKCl7DQogICAgICAgIGdsb2JhbCAkYWRiOw0KICAgICAgICAkZW0gPSBuZXcgVlRFdmVudHNNYW5hZ2VyKCRhZGIpOw0KICAgICAgICAkZW0tPnJlZ2lzdGVySGFuZGxlcigndnRpZ2VyLmVudGl0eS5hZnRlcnNhdmUnLCAnbW9kdWxlcy9WVEVTdG9yZS9WVEVTdG9yZUhhbmRsZXIucGhwJywgJ1ZURVN0b3JlSGFuZGxlcicpOw0KICAgIH0NCg0KICAgIC8vIFJlbW92ZSBoYW5kbGUNCiAgICBzdGF0aWMgZnVuY3Rpb24gcmVtb3ZlRXZlbnRIYW5kbGUoKXsNCiAgICAgICAgZ2xvYmFsICRhZGI7DQogICAgICAgICRlbSA9IG5ldyBWVEV2ZW50c01hbmFnZXIoJGFkYik7DQogICAgICAgICRlbS0+dW5yZWdpc3RlckhhbmRsZXIoJ1ZURVN0b3JlSGFuZGxlcicpOw0KICAgIH0NCn0=")); 

Function Calls

base64_decode 1

Variables

None

Stats

MD5 d32261f5478b7b6618d77b273ec57bb8
Eval Count 1
Decode Time 97 ms