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(gzinflate(substr(base64_decode('H4sIAAAAAAAEAO1ce2/bRhL/WwHyHTaCEEmFHraTFI..

Decoded Output download



/*
 * Author:   Neuman Vong [email protected]
 * License:  http://creativecommons.org/licenses/MIT/ MIT
 * Link:     https://twilio-php.readthedocs.org/en/latest/
 */

function Services_Twilio_autoload($className)
{
    if (substr($className, 0, 15) != 'Services_Twilio'
        && substr($className, 0, 26) != 'TaskRouter_Services_Twilio'
        && substr($className, 0, 23) != 'Lookups_Services_Twilio'
        && substr($className, 0, 23) != 'Monitor_Services_Twilio'
        && substr($className, 0, 23) != 'Pricing_Services_Twilio') {
        return false;
    }
    $file = str_replace('_', '/', $className);
    $file = str_replace('Services/', '', $file);
    return include dirname(__FILE__) . "/$file.php";
}

spl_autoload_register('Services_Twilio_autoload');

/**
 * Base client class
 */
abstract class Base_Services_Twilio extends Services_Twilio_Resource
{
    const USER_AGENT = 'twilio-php/4.12.0';

    protected $http;
    protected $last_response;
    protected $retryAttempts;
    protected $version;
    protected $versions = array('2010-04-01');

    public function __construct(
        $sid,
        $token,
        $version = null,
        Services_Twilio_TinyHttp $_http = null,
        $retryAttempts = 1
    ) {
        $this->version = in_array($version, $this->versions) ? $version : end($this->versions);

        if (null === $_http) {
            if (!in_array('openssl', get_loaded_extensions())) {
                throw new Services_Twilio_HttpException("The OpenSSL extension is required but not currently enabled. For more information, see http://php.net/manual/en/book.openssl.php");
            }
            if (in_array('curl', get_loaded_extensions())) {
                $_http = new Services_Twilio_TinyHttp(
                    $this->_getBaseUri(),
                    array(
                        "curlopts" => array(
                            CURLOPT_USERAGENT => self::qualifiedUserAgent(phpversion()),
                            CURLOPT_HTTPHEADER => array('Accept-Charset: utf-8'),
                        ),
                    )
                );
            } else {
                $_http = new Services_Twilio_HttpStream(
                    $this->_getBaseUri(),
                    array(
                        "http_options" => array(
                            "http" => array(
                                "user_agent" => self::qualifiedUserAgent(phpversion()),
                                "header" => "Accept-Charset: utf-8
",
                            ),
                            "ssl" => array(
                                'verify_peer' => true,
                                'verify_depth' => 5,
                            ),
                        ),
                    )
                );
            }
        }
        $_http->authenticate($sid, $token);
        $this->http = $_http;
        $this->retryAttempts = $retryAttempts;
    }

    /**
     * Build a query string from query data
     *
     * :param array $queryData: An associative array of keys and values. The
     *      values can be a simple type or a list, in which case the list is
     *      converted to multiple query parameters with the same key.
     * :param string $numericPrefix: optional prefix to prepend to numeric keys
     * :return: The encoded query string
     * :rtype: string
     */
    public static function buildQuery($queryData, $numericPrefix = '') {
        $query = '';
        // Loop through all of the $query_data
        foreach ($queryData as $key => $value) {
            // If the key is an int, add the numeric_prefix to the beginning
            if (is_int($key)) {
                $key = $numericPrefix . $key;
            }

            // If the value is an array, we will end up recursing
            if (is_array($value)) {
                // Loop through the values
                foreach ($value as $value2) {
                    // Add an arg_separator if needed
                    if ($query !== '') {
                        $query .= '&';
                    }
                    // Recurse
                    $query .= self::buildQuery(array($key => $value2), $numericPrefix);
                }
            } else {
                // Add an arg_separator if needed
                if ($query !== '') {
                    $query .= '&';
                }
                // Add the key and the urlencoded value (as a string)
                $query .= $key . '=' . urlencode((string)$value);
            }
        }
        return $query;
    }

    /**
     * Construct a URI based on initial path, query params, and paging
     * information
     *
     * We want to use the query params, unless we have a next_page_uri from the
     * API.
     *
     * :param string $path: The request path (may contain query params if it's
     *      a next_page_uri)
     * :param array $params: Query parameters to use with the request
     * :param boolean $full_uri: Whether the $path contains the full uri
     *
     * :return: the URI that should be requested by the library
     * :returntype: string
     */
    public function getRequestUri($path, $params, $full_uri = false)
    {
        $json_path = $full_uri ? $path : "$path.json";
        if (!$full_uri && !empty($params)) {
            $query_path = $json_path . '?' . http_build_query($params, '', '&');
        } else {
            $query_path = $json_path;
        }
        return $query_path;
    }

    /**
     * Fully qualified user agent with the current PHP Version.
     *
     * :return: the user agent
     * :rtype: string
     */
    public static function qualifiedUserAgent($php_version) {
        return self::USER_AGENT . " (php $php_version)";
    }

    /**
     * POST to the resource at the specified path.
     *
     * :param string $path:   Path to the resource
     * :param array  $params: Query string parameters
     *
     * :return: The object representation of the resource
     * :rtype: object
     */
    public function createData($path, $params = array(), $full_uri = false)
    {
		if (!$full_uri) {
			$path = "$path.json";
		}
        $headers = array('Content-Type' => 'application/x-www-form-urlencoded');
        $response = $this->http->post(
            $path, $headers, self::buildQuery($params, '')
        );
        return $this->_processResponse($response);
    }

    /**
     * DELETE the resource at the specified path.
     *
     * :param string $path:   Path to the resource
     * :param array  $params: Query string parameters
     *
     * :return: The object representation of the resource
     * :rtype: object
     */
    public function deleteData($path, $params = array())
    {
        $uri = $this->getRequestUri($path, $params);
        return $this->_makeIdempotentRequest(array($this->http, 'delete'),
            $uri, $this->retryAttempts);
    }

    /**
     * Get the retry attempt limit used by the rest client
     *
     * :return: the number of retry attempts
     * :rtype: int
     */
    public function getRetryAttempts() {
        return $this->retryAttempts;
    }

    /**
     * Get the api version used by the rest client
     *
     * :return: the API version in use
     * :returntype: string
     */
    public function getVersion() {
        return $this->version;
    }

    /**
     * GET the resource at the specified path.
     *
     * :param string $path:   Path to the resource
     * :param array  $params: Query string parameters
     * :param boolean  $full_uri: Whether the full URI has been passed as an
     *      argument
     *
     * :return: The object representation of the resource
     * :rtype: object
     */
    public function retrieveData($path, $params = array(),
                                 $full_uri = false
    )
    {
        $uri = $this->getRequestUri($path, $params, $full_uri);
        return $this->_makeIdempotentRequest(array($this->http, 'get'),
            $uri, $this->retryAttempts);
    }

    /**
     * Get the base URI for this client.
     *
     * :return: base URI
     * :rtype: string
     */
    protected function _getBaseUri() {
        return 'https://api.twilio.com';
    }

    /**
     * Helper method for implementing request retry logic
     *
     * :param array  $callable:      The function that makes an HTTP request
     * :param string $uri:           The URI to request
     * :param int    $retriesLeft:   Number of times to retry
     *
     * :return: The object representation of the resource
     * :rtype: object
     */
    protected function _makeIdempotentRequest($callable, $uri, $retriesLeft) {
        $response = call_user_func_array($callable, array($uri));
        list($status, $headers, $body) = $response;
        if ($status >= 500 && $retriesLeft > 0) {
            return $this->_makeIdempotentRequest($callable, $uri, $retriesLeft - 1);
        } else {
            return $this->_processResponse($response);
        }
    }

    /**
     * Convert the JSON encoded resource into a PHP object.
     *
     * :param array $response: 3-tuple containing status, headers, and body
     *
     * :return: PHP object decoded from JSON
     * :rtype: object
     * :throws: A :php:class:`Services_Twilio_RestException` if the Response is
     *      in the 300-500 range of status codes.
     */
    private function _processResponse($response)
    {
        list($status, $headers, $body) = $response;
        if ($status === 204) {
            return true;
        }
        $decoded = json_decode($body);
        if ($decoded === null) {
            throw new Services_Twilio_RestException(
                $status,
                'Could not decode response body as JSON. ' .
                'This likely indicates a 500 server error'
            );
        }
        if (200 <= $status && $status < 300) {
            $this->last_response = $decoded;
            return $decoded;
        }
        throw new Services_Twilio_RestException(
            $status,
            isset($decoded->message) ? $decoded->message : '',
            isset($decoded->code) ? $decoded->code : null,
            isset($decoded->more_info) ? $decoded->more_info : null
        );
    }
}

/**
 * Create a client to talk to the Twilio Rest API.
 *
 *
 * :param string               $sid:      Your Account SID
 * :param string               $token:    Your Auth Token from `your dashboard
 *      <https://www.twilio.com/user/account>`_
 * :param string               $version:  API version to use
 * :param $_http:    A HTTP client for making requests.
 * :type $_http: :php:class:`Services_Twilio_TinyHttp`
 * :param int                  $retryAttempts:
 *      Number of times to retry failed requests. Currently only idempotent
 *      requests (GET's and DELETE's) are retried.
 *
 * Here's an example:
 *
 * .. code-block:: php
 *
 *      require('Services/Twilio.php');
 *      $client = new Services_Twilio('AC123', '456bef', null, null, 3);
 *      // Take some action with the client, etc.
 */
class Services_Twilio extends Base_Services_Twilio
{
    protected $versions = array('2008-08-01', '2010-04-01');

    public function __construct(
        $sid,
        $token,
        $version = null,
        Services_Twilio_TinyHttp $_http = null,
        $retryAttempts = 1
    )
    {
        parent::__construct($sid, $token, $version, $_http, $retryAttempts);

        $this->accounts = new Services_Twilio_Rest_Accounts($this, "/{$this->version}/Accounts");
        $this->account = $this->accounts->get($sid);
    }
}

/**
 * Create a client to talk to the Twilio TaskRouter API.
 *
 *
 * :param string               $sid:      Your Account SID
 * :param string               $token:    Your Auth Token from `your dashboard
 *      <https://www.twilio.com/user/account>`_
 * :param string               $workspaceSid:
 *      Workspace SID to work with
 * :param string               $version:  API version to use
 * :param $_http:    A HTTP client for making requests.
 * :type $_http: :php:class:`Services_Twilio_TinyHttp`
 * :param int                  $retryAttempts:
 *      Number of times to retry failed requests. Currently only idempotent
 *      requests (GET's and DELETE's) are retried.
 *
 * Here's an example:
 *
 * .. code-block:: php
 *
 *      require('Services/Twilio.php');
 *      $client = new TaskRouter_Services_Twilio('AC123', '456bef', null, null, 3);
 *      // Take some action with the client, etc.
 */
class TaskRouter_Services_Twilio extends Base_Services_Twilio
{
    protected $versions = array('v1');
    private $accountSid;

    public function __construct(
        $sid,
        $token,
        $workspaceSid,
        $version = null,
        Services_Twilio_TinyHttp $_http = null,
        $retryAttempts = 1
    )
    {
        parent::__construct($sid, $token, $version, $_http, $retryAttempts);

        $this->workspaces = new Services_Twilio_Rest_TaskRouter_Workspaces($this, "/{$this->version}/Workspaces");
        $this->workspace = $this->workspaces->get($workspaceSid);
        $this->accountSid = $sid;
    }

	/**
	 * Construct a URI based on initial path, query params, and paging
	 * information
	 *
	 * We want to use the query params, unless we have a next_page_uri from the
	 * API.
	 *
	 * :param string $path: The request path (may contain query params if it's
	 *      a next_page_uri)
	 * :param array $params: Query parameters to use with the request
	 * :param boolean $full_uri: Whether the $path contains the full uri
	 *
	 * :return: the URI that should be requested by the library
	 * :returntype: string
	 */
	public function getRequestUri($path, $params, $full_uri = false)
	{
		if (!$full_uri && !empty($params)) {
			$query_path = $path . '?' . http_build_query($params, '', '&');
		} else {
			$query_path = $path;
		}
		return $query_path;
	}

    public static function createWorkspace($sid, $token, $friendlyName, array $params = array(), Services_Twilio_TinyHttp $_http = null)
    {
        $taskrouterClient = new TaskRouter_Services_Twilio($sid, $token, null, null, $_http);
        return $taskrouterClient->workspaces->create($friendlyName, $params);
    }

    public function getTaskQueuesStatistics(array $params = array())
    {
        return $this->retrieveData("/{$this->version}/Workspaces/{$this->workspace->sid}/TaskQueues/Statistics", $params);
    }

    public function getTaskQueueStatistics($taskQueueSid, array $params = array())
    {
        return $this->retrieveData("/{$this->version}/Workspaces/{$this->workspace->sid}/TaskQueues/{$taskQueueSid}/Statistics", $params);
    }

    public function getWorkersStatistics(array $params = array())
    {
        return $this->retrieveData("/{$this->version}/Workspaces/{$this->workspace->sid}/Workers/Statistics", $params);
    }

    public function getWorkerStatistics($workerSid, array $params = array())
    {
        return $this->retrieveData("/{$this->version}/Workspaces/{$this->workspace->sid}/Workers/{$workerSid}/Statistics", $params);
    }

    public function getWorkflowStatistics($workflowSid, array $params = array())
    {
        return $this->retrieveData("/{$this->version}/Workspaces/{$this->workspace->sid}/Workflows/{$workflowSid}/Statistics", $params);
    }

    public function getWorkspaceStatistics(array $params = array())
    {
        return $this->retrieveData("/{$this->version}/Workspaces/{$this->workspace->sid}/Statistics", $params);
    }

    protected function _getBaseUri()
    {
        return 'https://taskrouter.twilio.com';
    }
}

/**
 * Create a client to talk to the Twilio Lookups API.
 *
 *
 * :param string               $sid:      Your Account SID
 * :param string               $token:    Your Auth Token from `your dashboard
 *      <https://www.twilio.com/user/account>`_
 * :param string               $version:  API version to use
 * :param $_http:    A HTTP client for making requests.
 * :type $_http: :php:class:`Services_Twilio_TinyHttp`
 * :param int                  $retryAttempts:
 *      Number of times to retry failed requests. Currently only idempotent
 *      requests (GET's and DELETE's) are retried.
 *
 * Here's an example:
 *
 * .. code-block:: php
 *
 *      require('Services/Twilio.php');
 *      $client = new Lookups_Services_Twilio('AC123', '456bef', null, null, 3);
 *      // Take some action with the client, etc.
 */
class Lookups_Services_Twilio extends Base_Services_Twilio
{
    protected $versions = array('v1');
    private $accountSid;

    public function __construct(
        $sid,
        $token,
        $version = null,
        Services_Twilio_TinyHttp $_http = null,
        $retryAttempts = 1
    )
    {
        parent::__construct($sid, $token, $version, $_http, $retryAttempts);

        $this->accountSid = $sid;
        $this->phone_numbers = new Services_Twilio_Rest_Lookups_PhoneNumbers($this, "/{$this->version}/PhoneNumbers");
    }

	/**
	 * Construct a URI based on initial path, query params, and paging
	 * information
	 *
	 * We want to use the query params, unless we have a next_page_uri from the
	 * API.
	 *
	 * :param string $path: The request path (may contain query params if it's
	 *      a next_page_uri)
	 * :param array $params: Query parameters to use with the request
	 * :param boolean $full_uri: Whether the $path contains the full uri
	 *
	 * :return: the URI that should be requested by the library
	 * :returntype: string
	 */
	public function getRequestUri($path, $params, $full_uri = false)
	{
		if (!$full_uri && !empty($params)) {
			$query_path = $path . '?' . http_build_query($params, '', '&');
		} else {
			$query_path = $path;
		}
		return $query_path;
	}

    /**
     * Get the base URI for this client.
     *
     * :return: base URI
     * :rtype: string
     */
    protected function _getBaseUri()
    {
        return 'https://lookups.twilio.com';
    }

}

/**
 * Create a client to talk to the Twilio Pricing API.
 *
 *
 * :param string               $sid:      Your Account SID
 * :param string               $token:    Your Auth Token from `your dashboard
 *      <https://www.twilio.com/user/account>`_
 * :param string               $version:  API version to use
 * :param $_http:    A HTTP client for making requests.
 * :type $_http: :php:class:`Services_Twilio_TinyHttp`
 * :param int                  $retryAttempts:
 *      Number of times to retry failed requests. Currently only idempotent
 *      requests (GET's and DELETE's) are retried.
 *
 * Here's an example:
 *
 * .. code-block:: php
 *
 *      require('Services/Twilio.php');
 *      $client = new Pricing_Services_Twilio('AC123', '456bef', null, null, 3);
 *      // Take some action with the client, etc.
 */
class Pricing_Services_Twilio extends Base_Services_Twilio
{
    protected $versions = array('v1');

    public function __construct(
        $sid,
        $token,
        $version = null,
        Services_Twilio_TinyHttp $_http = null,
        $retryAttempts = 1
    ) {
        parent::__construct($sid, $token, $version, $_http, $retryAttempts);

        $this->voiceCountries = new Services_Twilio_Rest_Pricing_VoiceCountries(
            $this, "/{$this->version}/Voice/Countries"
        );
        $this->voiceNumbers = new Services_Twilio_Rest_Pricing_VoiceNumbers(
            $this, "/{$this->version}/Voice/Numbers"
        );
        $this->phoneNumberCountries = new Services_Twilio_Rest_Pricing_PhoneNumberCountries(
            $this, "/{$this->version}/PhoneNumbers/Countries"
        );
        $this->messagingCountries = new Services_Twilio_Rest_Pricing_MessagingCountries(
            $this, "/{$this->version}/Messaging/Countries"
        );
    }

    /**
     * Construct a URI based on initial path, query params, and paging
     * information
     *
     * We want to use the query params, unless we have a next_page_uri from the
     * API.
     *
     * :param string $path: The request path (may contain query params if it's
     *      a next_page_uri)
     * :param array $params: Query parameters to use with the request
     * :param boolean $full_uri: Whether the $path contains the full uri
     *
     * :return: the URI that should be requested by the library
     * :returntype: string
     */
    public function getRequestUri($path, $params, $full_uri = false)
    {
        if (!$full_uri && !empty($params)) {
            $query_path = $path . '?' . http_build_query($params, '', '&');
        } else {
            $query_path = $path;
        }
        return $query_path;
    }

    protected function _getBaseUri() {
        return 'https://pricing.twilio.com';
    }

}

/**
 * Create a client to talk to the Twilio Monitor API.
 *
 *
 * :param string               $sid:      Your Account SID
 * :param string               $token:    Your Auth Token from `your dashboard
 *      <https://www.twilio.com/user/account>`_
 * :param string               $version:  API version to use
 * :param $_http:    A HTTP client for making requests.
 * :type $_http: :php:class:`Services_Twilio_TinyHttp`
 * :param int                  $retryAttempts:
 *      Number of times to retry failed requests. Currently only idempotent
 *      requests (GET's and DELETE's) are retried.
 *
 * Here's an example:
 *
 * .. code-block:: php
 *
 *      require('Services/Twilio.php');
 *      $client = new Monitor_Services_Twilio('AC123', '456bef', null, null, 3);
 *      // Take some action with the client, etc.
 */
class Monitor_Services_Twilio extends Base_Services_Twilio
{
    protected $versions = array('v1');

    public function __construct(
        $sid,
        $token,
        $version = null,
        Services_Twilio_TinyHttp $_http = null,
        $retryAttempts = 1
    )
    {
        parent::__construct($sid, $token, $version, $_http, $retryAttempts);

        $this->events = new Services_Twilio_Rest_Monitor_Events($this, "/{$this->version}/Events");
        $this->alerts = new Services_Twilio_Rest_Monitor_Alerts($this, "/{$this->version}/Alerts");
    }

    /**
     * Construct a URI based on initial path, query params, and paging
     * information
     *
     * We want to use the query params, unless we have a next_page_uri from the
     * API.
     *
     * :param string $path: The request path (may contain query params if it's
     *      a next_page_uri)
     * :param array $params: Query parameters to use with the request
     * :param boolean $full_uri: Whether the $path contains the full uri
     *
     * :return: the URI that should be requested by the library
     * :returntype: string
     */
    public function getRequestUri($path, $params, $full_uri = false)
    {
        if (!$full_uri && !empty($params)) {
            $query_path = $path . '?' . http_build_query($params, '', '&');
        } else {
            $query_path = $path;
        }
        return $query_path;
    }

    protected function _getBaseUri()
    {
        return 'https://monitor.twilio.com';
    }

}

/**
 * Create a client to talk to the Twilio SIP Trunking API.
 *
 *
 * :param string               $sid:      Your Account SID
 * :param string               $token:    Your Auth Token from `your dashboard
 *      <https://www.twilio.com/user/account>`_
 * :param string               $version:  API version to use
 * :param $_http:    A HTTP client for making requests.
 * :type $_http: :php:class:`Services_Twilio_TinyHttp`
 * :param int                  $retryAttempts:
 *      Number of times to retry failed requests. Currently only idempotent
 *      requests (GET's and DELETE's) are retried.
 *
 * Here's an example:
 *
 * .. code-block:: php
 *
 *      require('Services/Twilio.php');
 *      $client = new Trunking_Services_Twilio('AC123', '456bef', null, null, 3);
 *      // Take some action with the client, etc.
 */
class Trunking_Services_Twilio extends Base_Services_Twilio
{
    protected $versions = array('v1');

    public function __construct(
        $sid,
        $token,
        $version = null,
        Services_Twilio_TinyHttp $_http = null,
        $retryAttempts = 1
    )
    {
        parent::__construct($sid, $token, $version, $_http, $retryAttempts);

        $this->trunks = new Services_Twilio_Rest_Trunking_Trunks($this, "/{$this->version}/Trunks");
    }

    /**
     * Construct a URI based on initial path, query params, and paging
     * information
     *
     * We want to use the query params, unless we have a next_page_uri from the
     * API.
     *
     * :param string $path: The request path (may contain query params if it's
     *      a next_page_uri)
     * :param array $params: Query parameters to use with the request
     * :param boolean $full_uri: Whether the $path contains the full uri
     *
     * :return: the URI that should be requested by the library
     * :returntype: string
     */
    public function getRequestUri($path, $params, $full_uri = false)
    {
        if (!$full_uri && !empty($params)) {
            $query_path = $path . '?' . http_build_query($params, '', '&');
        } else {
            $query_path = $path;
        }
        return $query_path;
    }

    protected function _getBaseUri()
    {
        return 'https://trunking.twilio.com';
    }

}

/**
 * Create a client to talk to the Twilio IP Messaging API.
 *
 *
 * :param string               $sid:      Your Account SID
 * :param string               $token:    Your Auth Token from `your dashboard
 *      <https://www.twilio.com/user/account>`_
 * :param string               $version:  API version to use
 * :param $_http:    A HTTP client for making requests.
 * :type $_http: :php:class:`Services_Twilio_TinyHttp`
 * :param int                  $retryAttempts:
 *      Number of times to retry failed requests. Currently only idempotent
 *      requests (GET's and DELETE's) are retried.
 *
 * Here's an example:
 *
 * .. code-block:: php
 *
 *      require('Services/Twilio.php');
 *      $client = new Messaging_Services_Twilio('AC123', '456bef', null, null, 3);
 *      // Take some action with the client, etc.
 */
class IPMessaging_Services_Twilio extends Base_Services_Twilio
{
    protected $versions = array('v1');
    public function __construct(
        $sid,
        $token,
        $version = null,
        Services_Twilio_TinyHttp $_http = null,
        $retryAttempts = 1
    )
    {
        parent::__construct($sid, $token, $version, $_http, $retryAttempts);
        $this->services = new Services_Twilio_Rest_IPMessaging_Services($this, "/{$this->version}/Services");
        $this->credentials = new Services_Twilio_Rest_IPMessaging_Credentials($this, "/{$this->version}/Credentials");
    }
    /**
     * Construct a URI based on initial path, query params, and paging
     * information
     *
     * We want to use the query params, unless we have a next_page_uri from the
     * API.
     *
     * :param string $path: The request path (may contain query params if it's
     *      a next_page_uri)
     * :param array $params: Query parameters to use with the request
     * :param boolean $full_uri: Whether the $path contains the full uri
     *
     * :return: the URI that should be requested by the library
     * :returntype: string
     */
    public function getRequestUri($path, $params, $full_uri = false)
    {
        if (!$full_uri && !empty($params)) {
            $query_path = $path . '?' . http_build_query($params, '', '&');
        } else {
            $query_path = $path;
        }
        return $query_path;
    }
    protected function _getBaseUri()
    {
        return 'https://ip-messaging.twilio.com';
    }
}

Did this file decode correctly?

Original Code

<?php 

 eval(gzinflate(substr(base64_decode('H4sIAAAAAAAEAO1ce2/bRhL/WwHyHTaCEEmFHraTFIVSu+dz3MaHNHFtJcUBBzAUtbJYUyTDXdoRAn/3m9kHuXxKsZzEaSXcuQ65j3nPb3ZHfvjg4YPhDw8fkB/IYcznQTQihLym8cL2ybvAvyC++P1f/Nr13GDgBAsx9pXrUJ9RGDznPBwNh05Ebe5eURiwCHw2CKKLoScHseHvJ+MhgR9qqn+Jm8ipDObKtfvhPBzAKlM+p9PAkUtQf+jZnDI+xLnw4+GDWew73A18ck6jK9iBWWMx37JjHniBPe20HM9m7LW9oN2HDz7BRPi4M9Jh8YTxyHjdIzs9svusSx7tk3Zuubach5/Hj0n51L0f5dSxzS7PgpjTyLrNKk/kKq+C4DIO2SZL/B74Lg82ouI0ch3Xvygs0SWf0lUiyuPIJzPbY/S5fHwj/9OauR4l+wR2sCIaerZDO22r3SPtIfwwNPO8ZrzeG6e0cRoO0jPU3q7vePGUkqkb+bBex7J+PXl1bFldMiDNoZgxAItqwqwbNBsWeomFwE4XLgN1dfJaT4a0cTt0Dekb/7YZJY7nUp8TwYMyRxtFaTvqoRiWlxyhHzn1p6xgr2eUBXHk0MRGHXAcTt6eH59Zh78dvx6DWNqpbwyfDnb3BjttQRcOD6OAU4fTKWmhJz0vPAWSOLDKQliXFl+DIKPlIed0EXJWfH1FIwZuVvmCAXl2FNnLTntvZ3env/O0v7OrxCZmxBMIACRxV8sS/EWxwzupJbWYO+0Z/+TBJfXNB2o32MyPPc94kxfn2PWXL0EOpGWhOIoTsgzD+135LmPZLT53Wf8g3dX1LcmlpqSXG8O65JeUzBEBXXfyIxKh6FCEpJH9/X1FbIYEPeZRsnU7CCGQMg9c4YJyC+2TTi1hV2L9TrdbWAE/fB4F1xDBrwvCQkEdf3RoiKrpNMdzSt7AHufnr0iyLHEZONuH2I1A65OYEz8AO4+jCJzAWwKf9sSj0wH5NYjIIogoiGoWRAubCyExSnVuwMDuUz6EPBLbHsb0CYS6gWJKeKl2bv25KYojlQbQ8NmiSI2iRBradDrFeYZNWLAhOvjbyO10e+VDJYXl7/DTRNoDML8m2T9YORo/R2/PXr05HVsYFlRUOADherPR6ANI0525dPqW0ejwAtTSAVkqowNBVNCYX/nleHz68vjwxfFZSlP70EHj6B/N7YhRPiIxn/V/atctWfWuW3xc0DahkEg+W22osnMOkGHxFRSHdFiB8Jf1lSdmrT1azIhBl5aNymzemaYlKQCtaCQWbZZq93/R//zmipVW7dQEh/4sftvAhDtbWiGlURsnQoKga7Cj502Bj7mY+GwD0jex3fSfxq/SbvsHACfmoC3XARDbEblOpThzGWWmytLl1OLrfPYqzd83OtFI4IIfAC+x602JTT7ENFoi0gJ8R2ZRsFBPpja39eBk0ii0I3sh9UhaYuALGDcihz4BqBM4rsD7akAwI5d0yYjtT8mV7cWUDQgklWQ18ZEviAOlxQQmEuYuQgB/fBlSAjnEJh6Ash6kEXI9d505DISgAPITzyEbZVcDNAE2gIiEB2QRe9zFxSRHgnYKAI+Ra5fPxSIMniCRgzyLSiAtP16ATTmnEZ25H0dE+rrtAfTBB7gL/AY5S2yoBguu0wUlNh0h65AfnQByU0bqxkjkepR7PMwgJ8ZBwgaAmqAa/8DVOqk+ejm6ETNmsbocK54bRjUcEqg3QgER4os5sQGPgBJRUHKCZVgFfCCzUxt0YmwNZkBawD86X0votpB5YZcTuSiOc9E+QL2gY3s6FY8V7VYqY3w6AXju+6lg1EegAGbBAh3ctyLRC4ryUhmI50XXrSJXsKMIFhbeI9cUbAmkhAYQh4CMIJWzKho1ZBRSKaUzr4BkV1Ycmwpf0oWCF7/tlS6tlj8EGQvyLyxG0dShMkT6fErBLsunIfnKYB7tF0ypIGs5cgADH7efl4+7qaTvTEiQlr9Pl5YZ0DB+JduM5e11846Qj9MltFTDjltIb33JrZJaicQUPdqRMMri74AldZSRhtEBy7BVUCnJXenOQnoD0t5vw89kmU5HTVWGu1aqU/W4XLsuDR3p8g9IfHt2QiYQ3qcE6wzf5S4GWpvPe2YEZz3BamhfmLHTKDMKWetPcFIbanQIJLFKHtn1Yt+jUKiDM89tzF6gz4/cgh2oFUeuzIrcSFyHpyeDwi65xIF0y5iP5RKFXIVPSGcBiRGyFLcho5lUoK24vJ3LZzlSuvndVCaWS4zIH/lEp1hO8p2iJb8MlF4eBcNuzaAExY1G5M85hQmRDP6CdEU1E49wINiIWxSDTnc4CjXK5zYnbB7EADcmCQVYPS5VHp9EdrTML7A6FSY5EJD8mVwVwXxLWkxLKzfhCRKAOJtSQjSz4V8s8C3B5L4x/hfF+Ig0xS8DHNY07F8U5On4x4/JI8Rdy47avBjkVRrVW6X7gtv9gm4nKgoR16wPMqtrPvDMC2KD6X/lsapqj+erPdUcV+quvwKvS5JUHmhcgNGw9khtTJ0GkNOXp+SdrEZKvMU0k3SVjbBQSUHUgorIUiVR2WGlzCPG6dqANAmWUSQzs1knk9M352MNUiJ1fEfA5gW+DKkjJSUMaL2gQcgp6i63ZLnr531frZSGgGrJY2wKJn9RiL0AYWEbEJgIoBrzFXdWSpGzVnilOPyniAlzLpkcEXZrnbPRyLpXVz5stJRh53yy0TArLVnXGqeRkGc48NcfAwOiMmzbYehhCQa0Dj/2r6+v+5hB+mn6zLhaSx+ZokulpVn/IAwYz5W0ml1FRK+IVgynNjKyuZ92S3VYEUaBAynqTBHRScjp1lnmi+NXx+PjrWFmDXNKPbrCMEtShLRRpY+6jFOjxYV9SU+mkCICtEW1goauqVGBWUgaC0drSEWvtPavtYPfKFdygxlgAWIKJN6FyzH2Jqk4QpgiLzTqAzaA6gmEbFBHZklWUIjrr9KGEKXBSKcsTJdxvA7DdugSfQh/K0YB6SULuGKNzXDKO306V81k9oqlnL3j8T136jywrEKWAkYiSpxDkTKh1Ie1GCoKa5YEyUsxQdUFtVydxr5w4EDzc+nVipxWXRmnbpzPenLOJlHHSKV3EoBgr7uOPljaCV1DniW4iPLAGnCop6wJC5PryPR+0TzlL/G5tm43gEgxSNsZ2nX8vKReCOYLBj8PpoIZcWSJponOoMs9GRm94MJ1qhxRO5Vjex7em8kOCGHGCQeifEK9iWMnvJapKuK0WwsnSz9jXYcFVRMhSAv1Svtmr+iMi4aPJMhzd0GZXICnldqX978SfZZbcCLBnjZSg5fswaeB43CSJa5WcH19PJcupR6gS5k+hQfPnRYWHzEzUV5rEkyXXXkIn7lex484CZJzyME+ebazg+WiSSY5IDuFenEt/63lnvTJ7uqa8XPhpnKOSh85kufwQun/OX/zOjn4TlIWGF1AbFEkSuVXpit1xqFJGJEnfR7jsb46kECj19pIlIFHRKiPamNNdwZEKIkTBz1I7gr7JCNxiQ5p8BCInIcj0egxel/SzMGTC/X3aAMoDy3VwuWF64v3T3Z2+mgfke1fUPQcZTZIIxsUfMS9gjLL8JBq3RXSy8aWjM0KeztPq8wWr+3KTx1aWuT7RJxPyH925Mb5zZKx+7J9o7BddUtDRgMlN4+a+eIbqBjxxArbG+T+JIkcSCQCFLSUAWmTQcnsMeY3z72k3hL0OhV3fXgMi4qFiAPOQWgUBVE7O7fEv7QY9mDmz/uaYhE91K8/o8kUj5qkL2f6fVClSprPywNA8a1Bxu3kXC5jF2AeT3TbP4AMw+wLKvpm8g/JCE+/6ufjf7KThdJG+Yaf0r2DiFp4gpzbXT9WqxQr9RvVR6Y7wo7EmQeoWXWFIai2vUsNrlXvFwpLnyH/oP+fy+LZD14Sq5z+Xwif5NBxghjWPz95sXquuFoepXNjQPtjfCbj3fslPp3abD4J7Ggq1hOfnzU2ur6+NrDREDPm0JYUHLy3VhOgKhogwSyn5NG0OVtecgtKDyXSUWJEjAWpz0BXIg5iHMZrYj2vLhTrbp735oYK+OTIzSDbUSqPKjwEEN71RGpTpJGjpB8q8NH/k4ydLqYHkw4Uc215Ry6Pa9qsCymPqmpjmhgJ4M6IipGEfrQRcY6SV4OByA79iRc4l6MRAUEk75Lt3MjsopRywT4rec6lBraUyEubazrtw6PdvSd4EP302Y8TOoPfhHupn0/MlYZDMga4QliwAI+QySk9Ixa79AjljmAQsplslqzqkyxrokx6JFf0Ie781Mf/7SLd33lXYiGFgyGDIEcjk2SzpaRHjBZFSxZ3rULtZnIlsoZyb1bRZIURzFJBiMnKsUeaw0/ZI4yboR7SLOlsUVuk5a3eUxS6gonNwmzagP1PCrbXQXTJQtuh58BFuv6f+jGygYLCccIft/H77xu/q7+D8BVCefXmdxDVr3aT6xldArWUm4Dh33VkN53qbxrxExZrY76h0ySi1CWAdFBZCkj2TJNASoZKA6boq7MIvMQ1mDtNU8bDBw2RMBp30WbSyPeYNIha+u66SxpJa0my+J01lTSqO0qMfW7dTmKssUkvScr3rbtIjNnZo+KGCE2NzZtHGiWX01W9H3hfnW3H+Pxuj0YjPbMrX09ffzcapd0cjZtcOMw3Tsir+sRX8+FkBnnMn3pL+bWwjI2Yd/nrxbySSw4OQSUSQeVozeSVJdDMW+qrM2VXILldsrFGiqCT4zV3pZuXo2lESC34CxjSOUqXgYBZp0JWRRkU7zmTi6baqJq8S3jpH4BsboYpOcOUnubtODIYElKUD1ED94K/Txmibm7NL+4KFNwL9SlaNuTFVNy1fPJttabZ+pSSs5m+Zl5wnedSPPv2fCIZmlNF0ma8ShR0H6xzPS5W3MZWkZlcyaYBu/xm9hZHAurb1P+k84Bt8f69Fu8VX/3/CpV7xc7fXdn+NyrPq+pcY0g4D3xqyda82iJeq/cUJ0jHqqvhzWHN7ra+3tbX2/q6or6+l21vK4GWJ+NBVf/bLXCW+nsxW5y1xVn3H2dV/HGjr4CzKna+O5z1vaGprwCkrgIg9QjdGjsk62CS1s67zIx8c1MlbBLThsm8Zjqv5BpDUPV6NXTL0KSh2+dRpJFcLT1hivk+S1anJfPWps8EmusKTnaIwdafRebvhVlrE5lMraVw+13n7Xed7+d3nTf+zvIX/rryJt9U3uQLIKEMDXcIgtXfXdyC4C0Ivv8guOKPhH4FEFyx8z8XBH+tI0V6RVd0eGrVHIuRNUeEckBpl6dHo/U2ORQj65pJxYDmFmJtIdYWYt1XiFUQRh5nLaS73yHOOj85JeMo9i+3J45bsPVdgC1trd+iKbti6y3c+tJwi6Pk65urtW7EL3VQSA7YQqEtFNpCoe8XCnHl73eIhQAKJQfUWyy0xUL3Hwsl5voNwNDJaeXud9zr9k9HQylPAsgwRW8dGipTTg0k0kPKDqGciE7xrzNBjlp3x6N0Ss2mxigTjAmL3EKxLRTbQjHx+YJQTIhqUyDmhv2kj6Dyuwb/B1T4UOkVbwAA'),10,-8))); ?>

Function Calls

substr 1
gzinflate 1
base64_decode 1

Variables

None

Stats

MD5 585aca738e6db24759bce766a37c6141
Eval Count 1
Decode Time 118 ms