ETH Price: $2,364.47 (-5.12%)

Token

STAR USD (SUSD)
 

Overview

Max Total Supply

1,099,973.5 SUSD

Holders

9 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
983,939.86 SUSD

Value
$0.00
0xd6224c26a35aba0359b80eed5a497e9ef1fc8803
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Star Stable Coins (STAR) is a 1-1 asset-backed stablecoin that is fully collateralized, legally protected and transparently verified by 3rd party attestations.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
SUSD

Compiler Version
v0.5.0+commit.1d4f565a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-02-07
*/

pragma solidity >=0.5.0 <0.6.0;

/**
 * @title SafeMath for uint256
 * @dev Math operations with safety checks that throw on error
 */
library SafeMathUint256 {
    /**
    * @dev Multiplies two numbers, throws on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
        if (a == 0) {
            return 0;
        }
        c = a * b;
        require(c / a == b, "SafeMath: Multiplier exception");
        return c;
    }

    /**
    * @dev Integer division of two numbers, truncating the quotient.
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b; // Solidity automatically throws when dividing by 0
    }

    /**
    * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: Subtraction exception");
        return a - b;
    }

    /**
    * @dev Adds two numbers, throws on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
        c = a + b;
        require(c >= a, "SafeMath: Addition exception");
        return c;
    }

    /**
    * @dev Divides two numbers and returns the remainder (unsigned integer modulo),
    * reverts when dividing by zero.
    */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0, "SafeMath: Modulo exception");
        return a % b;
    }

}

/**
 * @title SafeMath for uint8
 * @dev Math operations with safety checks that throw on error
 */
library SafeMathUint8 {
    /**
    * @dev Multiplies two numbers, throws on overflow.
    */
    function mul(uint8 a, uint8 b) internal pure returns (uint8 c) {
        if (a == 0) {
            return 0;
        }
        c = a * b;
        require(c / a == b, "SafeMath: Multiplier exception");
        return c;
    }

    /**
    * @dev Integer division of two numbers, truncating the quotient.
    */
    function div(uint8 a, uint8 b) internal pure returns (uint8) {
        return a / b; // Solidity automatically throws when dividing by 0
    }

    /**
    * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint8 a, uint8 b) internal pure returns (uint8) {
        require(b <= a, "SafeMath: Subtraction exception");
        return a - b;
    }

    /**
    * @dev Adds two numbers, throws on overflow.
    */
    function add(uint8 a, uint8 b) internal pure returns (uint8 c) {
        c = a + b;
        require(c >= a, "SafeMath: Addition exception");
        return c;
    }

    /**
    * @dev Divides two numbers and returns the remainder (unsigned integer modulo),
    * reverts when dividing by zero.
    */
    function mod(uint8 a, uint8 b) internal pure returns (uint8) {
        require(b != 0, "SafeMath: Modulo exception");
        return a % b;
    }

}

contract Ownership {
    address payable public owner;
    address payable public pendingOwner;

    event OwnershipTransferred (address indexed from, address indexed to);

    constructor () public
    {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require (msg.sender == owner, "Ownership: Access denied");
        _;
    }

    function transferOwnership (address payable _pendingOwner) public
        onlyOwner
    {
        pendingOwner = _pendingOwner;
    }

    function acceptOwnership () public
    {
        require (msg.sender == pendingOwner, "Ownership: Only new owner is allowed");

        emit OwnershipTransferred (owner, pendingOwner);

        owner = pendingOwner;
        pendingOwner = address(0);
    }

}

/**
 * @title Controllable contract
 * @dev Implementation of the controllable operations
 */
contract Controllable is Ownership {

    bool public stopped;
    mapping (address => bool) public freezeAddresses;

    event Paused();
    event Resumed();

    event FreezeAddress(address indexed addressOf);
    event UnfreezeAddress(address indexed addressOf);

    modifier onlyActive(address _sender) {
        require(!freezeAddresses[_sender], "Controllable: Not active");
        _;
    }

    modifier isUsable {
        require(!stopped, "Controllable: Paused");
        _;
    }

    function pause () public
        onlyOwner
    {
        stopped = true;
        emit Paused ();
    }
    
    function resume () public
        onlyOwner
    {
        stopped = false;
        emit Resumed ();
    }

    function freezeAddress(address _addressOf) public
        onlyOwner
        returns (bool)
    {
        if (!freezeAddresses[_addressOf]) {
            freezeAddresses[_addressOf] = true;
            emit FreezeAddress(_addressOf);
        }

        return true;
    }
	
    function unfreezeAddress(address _addressOf) public
        onlyOwner
        returns (bool)
    {
        if (freezeAddresses[_addressOf]) {
            delete freezeAddresses[_addressOf];
            emit UnfreezeAddress(_addressOf);
        }

        return true;
    }

}

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
    function balanceOf(address who) public view returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
}


/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender) public view returns (uint256);
    function transferFrom(address from, address to, uint256 value) public returns (bool);
    function approve(address spender, uint256 value) public returns (bool);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}


/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20Basic, Controllable {
    using SafeMathUint256 for uint256;

    mapping(address => uint256) balances;

    uint256 public totalSupply;

    constructor(uint256 _initialSupply) public
    {
        totalSupply = _initialSupply;

        if (0 < _initialSupply) {
            balances[msg.sender] = _initialSupply;
            emit Transfer(address(0), msg.sender, _initialSupply);
        }
    }

    /**
    * @dev transfer token for a specified address
    * @param _to The address to transfer to.
    * @param _value The amount to be transferred.
    */
    function transfer(address _to, uint256 _value) public
        isUsable
        onlyActive(msg.sender)
        onlyActive(_to)
        returns (bool)
    {
        require(0 < _value, "BasicToken.transfer: Zero value");
        require(_value <= balances[msg.sender], "BasicToken.transfer: Insufficient fund");

        // SafeMath.sub will throw if there is not enough balance.
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    /**
    * @dev Gets the balance of the specified address.
    * @param _owner The address to query the the balance of.
    * @return An uint256 representing the amount owned by the passed address.
    */
    function balanceOf(address _owner) public view
        returns (uint256 balance)
    {
        return balances[_owner];
    }

}


/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 */
contract StandardToken is ERC20, BasicToken {

    mapping (address => mapping (address => uint256)) internal allowed;

    /**
    * @dev Transfer tokens from one address to another
    * @param _from address The address which you want to send tokens from
    * @param _to address The address which you want to transfer to
    * @param _value uint256 the amount of tokens to be transferred
    */
    function transferFrom(address _from, address _to, uint256 _value) public
        isUsable
        onlyActive(msg.sender)
        onlyActive(_from)
        onlyActive(_to)
        returns (bool)
    {
        require(0 < _value, "StandardToken.transferFrom: Zero value");
        require(_value <= balances[_from], "StandardToken.transferFrom: Insufficient fund");
        require(_value <= allowed[_from][msg.sender], "StandardToken.transferFrom: Insufficient allowance");

        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        emit Transfer(_from, _to, _value);
        return true;
    }

    /**
    * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
    *
    * Beware that changing an allowance with this method brings the risk that someone may use both the old
    * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
    * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
    * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    * @param _spender The address which will spend the funds.
    * @param _value The amount of tokens to be spent.
    */
    function approve(address _spender, uint256 _value) public
        isUsable
        onlyActive(msg.sender)
        onlyActive(_spender)
        returns (bool)
    {
        require(0 < _value, "StandardToken.approve: Zero value");

        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    /**
    * @dev Function to check the amount of tokens that an owner allowed to a spender.
    * @param _owner address The address which owns the funds.
    * @param _spender address The address which will spend the funds.
    * @return A uint256 specifying the amount of tokens still available for the spender.
    */
    function allowance(address _owner, address _spender) public view
        returns (uint256)
    {
        return allowed[_owner][_spender];
    }

    /**
    * @dev Increase the amount of tokens that an owner allowed to a spender.
    *
    * approve should be called when allowed[_spender] == 0. To increment
    * allowed value is better to use this function to avoid 2 calls (and wait until
    * the first transaction is mined)
    * From MonolithDAO Token.sol
    * @param _spender The address which will spend the funds.
    * @param _addedValue The amount of tokens to increase the allowance by.
    */
    function increaseApproval(address _spender, uint256 _addedValue) public
        isUsable
        onlyActive(msg.sender)
        onlyActive(_spender)
        returns (bool)
    {
        require(0 < _addedValue, "StandardToken.increaseApproval: Zero value");

        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    /**
    * @dev Decrease the amount of tokens that an owner allowed to a spender.
    *
    * approve should be called when allowed[_spender] == 0. To decrement
    * allowed value is better to use this function to avoid 2 calls (and wait until
    * the first transaction is mined)
    * From MonolithDAO Token.sol
    * @param _spender The address which will spend the funds.
    * @param _subtractedValue The amount of tokens to decrease the allowance by.
    */
    function decreaseApproval(address _spender, uint256 _subtractedValue) public
        isUsable
        onlyActive(msg.sender)
        onlyActive(_spender)
        returns (bool)
    {
        require(0 < _subtractedValue, "StandardToken.decreaseApproval: Zero value");

        uint256 oldValue = allowed[msg.sender][_spender];

        if (_subtractedValue > oldValue)
            allowed[msg.sender][_spender] = 0;
        else
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);

        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

}

contract ApprovalReceiver {
    function receiveApproval(address _from, uint256 _value, address _tokenContract, bytes calldata _extraData) external;
}

contract SUSD is StandardToken {
    using SafeMathUint256 for uint256;

    bytes32 constant FREEZE_CODE_DEFAULT = 0x0000000000000000000000000000000000000000000000000000000000000000;

    event Freeze(address indexed from, uint256 value);
    event Unfreeze(address indexed from, uint256 value);

    event FreezeWithPurpose(address indexed from, uint256 value, bytes32 purpose);
    event UnfreezeWithPurpose(address indexed from, uint256 value, bytes32 purpose);

    string public name;
    string public symbol;
    uint8 public decimals;

    // Keep track total frozen balances
    mapping (address => uint256) public freezeOf;
    // Keep track sub total frozen balances
    mapping (address => mapping (bytes32 => uint256)) public freezes;

    constructor(string memory _name, string memory _symbol, uint8 _decimals, uint256 _initialSupply) public
        BasicToken(_initialSupply)
    {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
    }

    /**
     * @dev Increase total supply (mint) to an address
     *
     * @param _value The amount of tokens to be mint
     * @param _to The address which will receive token
     */
    function increaseSupply(uint256 _value, address _to) external
        onlyOwner
        onlyActive(_to)
        returns (bool)
    {
        require(0 < _value, "StableCoin.increaseSupply: Zero value");

        totalSupply = totalSupply.add(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(address(0), _to, _value);
        return true;
    }

    /**
     * @dev Increase total supply (mint) to an address with deposit
     *
     * @param _value The amount of tokens to be mint
     * @param _to The address which will receive token
     * @param _deposit The amount of deposit
     */
    function increaseSupplyWithDeposit(uint256 _value, address _to, uint256 _deposit) external
        onlyOwner
        onlyActive(_to)
        returns (bool)
    {
        require(0 < _value, "StableCoin.increaseSupplyWithDeposit: Zero value");
        require(_deposit <= _value, "StableCoin.increaseSupplyWithDeposit: Insufficient deposit");

        totalSupply = totalSupply.add(_value);
        balances[_to] = balances[_to].add(_value);
        freezeWithPurposeCode(_to, _deposit, encodePacked("InitialDeposit"));
        emit Transfer(address(0), _to, _value.sub(_deposit));
        return true;
    }

    /**
     * @dev Decrease total supply (burn) from an address that gave allowance
     *
     * @param _value The amount of tokens to be burn
     * @param _from The address's token will be burn
     */
    function decreaseSupply(uint256 _value, address _from) external
        onlyOwner
        onlyActive(_from)
        returns (bool)
    {
        require(0 < _value, "StableCoin.decreaseSupply: Zero value");
        require(_value <= balances[_from], "StableCoin.decreaseSupply: Insufficient fund");
        require(_value <= allowed[_from][address(0)], "StableCoin.decreaseSupply: Insufficient allowance");

        totalSupply = totalSupply.sub(_value);
        balances[_from] = balances[_from].sub(_value);
        allowed[_from][address(0)] = allowed[_from][address(0)].sub(_value);
        emit Transfer(_from, address(0), _value);
        return true;
    }
	
    /**
    * @dev Freeze holder balance
    *
    * @param _from The address which will be freeze
    * @param _value The amount of tokens to be freeze
    */
    function freeze(address _from, uint256 _value) external
        onlyOwner
        returns (bool)
    {
        require(_value <= balances[_from], "StableCoin.freeze: Insufficient fund");

        balances[_from] = balances[_from].sub(_value);
        freezeOf[_from] = freezeOf[_from].add(_value);
        freezes[_from][FREEZE_CODE_DEFAULT] = freezes[_from][FREEZE_CODE_DEFAULT].add(_value);
        emit Freeze(_from, _value);
        emit FreezeWithPurpose(_from, _value, FREEZE_CODE_DEFAULT);
        return true;
    }
	
    /**
    * @dev Freeze holder balance with purpose code
    *
    * @param _from The address which will be freeze
    * @param _value The amount of tokens to be freeze
    * @param _purpose The purpose of freeze
    */
    function freezeWithPurpose(address _from, uint256 _value, string calldata _purpose) external
        returns (bool)
    {
        return freezeWithPurposeCode(_from, _value, encodePacked(_purpose));
    }
	
    /**
    * @dev Freeze holder balance with purpose code
    *
    * @param _from The address which will be freeze
    * @param _value The amount of tokens to be freeze
    * @param _purposeCode The purpose code of freeze
    */
    function freezeWithPurposeCode(address _from, uint256 _value, bytes32 _purposeCode) public
        onlyOwner
        returns (bool)
    {
        require(_value <= balances[_from], "StableCoin.freezeWithPurposeCode: Insufficient fund");

        balances[_from] = balances[_from].sub(_value);
        freezeOf[_from] = freezeOf[_from].add(_value);
        freezes[_from][_purposeCode] = freezes[_from][_purposeCode].add(_value);
        emit Freeze(_from, _value);
        emit FreezeWithPurpose(_from, _value, _purposeCode);
        return true;
    }
	
    /**
    * @dev Unfreeze holder balance
    *
    * @param _from The address which will be unfreeze
    * @param _value The amount of tokens to be unfreeze
    */
    function unfreeze(address _from, uint256 _value) external
        onlyOwner
        returns (bool)
    {
        require(_value <= freezes[_from][FREEZE_CODE_DEFAULT], "StableCoin.unfreeze: Insufficient fund");

        freezeOf[_from] = freezeOf[_from].sub(_value);
        freezes[_from][FREEZE_CODE_DEFAULT] = freezes[_from][FREEZE_CODE_DEFAULT].sub(_value);
        balances[_from] = balances[_from].add(_value);
        emit Unfreeze(_from, _value);
        emit UnfreezeWithPurpose(_from, _value, FREEZE_CODE_DEFAULT);
        return true;
    }

    /**
    * @dev Unfreeze holder balance with purpose code
    *
    * @param _from The address which will be unfreeze
    * @param _value The amount of tokens to be unfreeze
    * @param _purpose The purpose of unfreeze
    */
    function unfreezeWithPurpose(address _from, uint256 _value, string calldata _purpose) external
        onlyOwner
        returns (bool)
    {
        return unfreezeWithPurposeCode(_from, _value, encodePacked(_purpose));
    }

    /**
    * @dev Unfreeze holder balance with purpose code
    *
    * @param _from The address which will be unfreeze
    * @param _value The amount of tokens to be unfreeze
    * @param _purposeCode The purpose code of unfreeze
    */
    function unfreezeWithPurposeCode(address _from, uint256 _value, bytes32 _purposeCode) public
        onlyOwner
        returns (bool)
    {
        require(_value <= freezes[_from][_purposeCode], "StableCoin.unfreezeWithPurposeCode: Insufficient fund");

        freezeOf[_from] = freezeOf[_from].sub(_value);
        freezes[_from][_purposeCode] = freezes[_from][_purposeCode].sub(_value);
        balances[_from] = balances[_from].add(_value);
        emit Unfreeze(_from, _value);
        emit UnfreezeWithPurpose(_from, _value, _purposeCode);
        return true;
    }

    /**
     * @dev Allocate allowance and perform contract call
     *
     * @param _spender The spender address
     * @param _value The allowance value
     * @param _extraData The function call data
     */
    function approveAndCall(address _spender, uint256 _value, bytes calldata _extraData) external
        isUsable
        returns (bool)
    {
        // Give allowance to spender (previous approved allowances will be clear)
        approve(_spender, _value);

        ApprovalReceiver(_spender).receiveApproval(msg.sender, _value, address(this), _extraData);
        return true;
    }

    function encodePacked(string memory s) internal pure
        returns (bytes32)
    {
        return keccak256(abi.encodePacked(s));
    }

}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_value","type":"uint256"},{"name":"_to","type":"address"},{"name":"_deposit","type":"uint256"}],"name":"increaseSupplyWithDeposit","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"resume","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"},{"name":"_to","type":"address"}],"name":"increaseSupply","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"bytes32"}],"name":"freezes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"freeze","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addressOf","type":"address"}],"name":"freezeAddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"},{"name":"_purposeCode","type":"bytes32"}],"name":"unfreezeWithPurposeCode","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"},{"name":"_purposeCode","type":"bytes32"}],"name":"freezeWithPurposeCode","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stopped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"},{"name":"_purpose","type":"string"}],"name":"freezeWithPurpose","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"unfreeze","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"},{"name":"_purpose","type":"string"}],"name":"unfreezeWithPurpose","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"},{"name":"_from","type":"address"}],"name":"decreaseSupply","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addressOf","type":"address"}],"name":"unfreezeAddress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"freezeOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"freezeAddresses","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_pendingOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"},{"name":"_initialSupply","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Unfreeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"purpose","type":"bytes32"}],"name":"FreezeWithPurpose","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"purpose","type":"bytes32"}],"name":"UnfreezeWithPurpose","type":"event"},{"anonymous":false,"inputs":[],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[],"name":"Resumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addressOf","type":"address"}],"name":"FreezeAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"addressOf","type":"address"}],"name":"UnfreezeAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

60806040523480156200001157600080fd5b5060405162005c9d38038062005c9d833981018060405260808110156200003757600080fd5b8101908080516401000000008111156200005057600080fd5b828101905060208101848111156200006757600080fd5b81518560018202830111640100000000821117156200008557600080fd5b50509291906020018051640100000000811115620000a257600080fd5b82810190506020810184811115620000b957600080fd5b8151856001820283011164010000000082111715620000d757600080fd5b5050929190602001805190602001909291908051906020019092919050505080336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806004819055508060001015620001f35780600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b5083600690805190602001906200020c9291906200024b565b508260079080519060200190620002259291906200024b565b5081600860006101000a81548160ff021916908360ff16021790555050505050620002fa565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200028e57805160ff1916838001178555620002bf565b82800160010185558215620002bf579182015b82811115620002be578251825591602001919060010190620002a1565b5b509050620002ce9190620002d2565b5090565b620002f791905b80821115620002f3576000816000905550600101620002d9565b5090565b90565b615993806200030a6000396000f3fe6080604052600436106101a0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680628e1f44146101a5578063046f7da21461022257806306fdde0314610239578063095ea7b3146102c9578063124fc7e01461033c57806318160ddd146103af578063232529ff146103da57806323b872dd1461044957806324bce60c146104dc578063313ce5671461054f57806351e946d51461058057806359af5f2f146105e9578063661884631461066657806370409c5b146106d957806370a082311461075657806375f12b21146107bb57806378f9c8f4146107ea57806379ba5097146108b25780637b46b80b146108c95780638456cb591461093c57806385bbc8f514610953578063869e0e6014610a1b5780638da5cb5b14610a8e57806395d89b4114610ae5578063a9059cbb14610b75578063bfb8054714610be8578063cae9ca5114610c51578063cd4217c114610d19578063d73dd62314610d7e578063dd62ed3e14610df1578063e30c397814610e76578063ede55f5914610ecd578063f2fde38b14610f36575b600080fd5b3480156101b157600080fd5b50610208600480360360608110156101c857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f87565b604051808215151515815260200191505060405180910390f35b34801561022e57600080fd5b506102376113c9565b005b34801561024557600080fd5b5061024e6114d6565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028e578082015181840152602081019050610273565b50505050905090810190601f1680156102bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102d557600080fd5b50610322600480360360408110156102ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611574565b604051808215151515815260200191505060405180910390f35b34801561034857600080fd5b506103956004803603604081101561035f57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611911565b604051808215151515815260200191505060405180910390f35b3480156103bb57600080fd5b506103c4611c59565b6040518082815260200191505060405180910390f35b3480156103e657600080fd5b50610433600480360360408110156103fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c5f565b6040518082815260200191505060405180910390f35b34801561045557600080fd5b506104c26004803603606081101561046c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c84565b604051808215151515815260200191505060405180910390f35b3480156104e857600080fd5b50610535600480360360408110156104ff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612495565b604051808215151515815260200191505060405180910390f35b34801561055b57600080fd5b506105646128d1565b604051808260ff1660ff16815260200191505060405180910390f35b34801561058c57600080fd5b506105cf600480360360208110156105a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128e4565b604051808215151515815260200191505060405180910390f35b3480156105f557600080fd5b5061064c6004803603606081101561060c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050612aa2565b604051808215151515815260200191505060405180910390f35b34801561067257600080fd5b506106bf6004803603604081101561068957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612ee6565b604051808215151515815260200191505060405180910390f35b3480156106e557600080fd5b5061073c600480360360608110156106fc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050613423565b604051808215151515815260200191505060405180910390f35b34801561076257600080fd5b506107a56004803603602081101561077957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613856565b6040518082815260200191505060405180910390f35b3480156107c757600080fd5b506107d061389f565b604051808215151515815260200191505060405180910390f35b3480156107f657600080fd5b506108986004803603606081101561080d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561085457600080fd5b82018360208201111561086657600080fd5b8035906020019184600183028401116401000000008311171561088857600080fd5b90919293919293905050506138b2565b604051808215151515815260200191505060405180910390f35b3480156108be57600080fd5b506108c7613915565b005b3480156108d557600080fd5b50610922600480360360408110156108ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613b43565b604051808215151515815260200191505060405180910390f35b34801561094857600080fd5b50610951613f93565b005b34801561095f57600080fd5b50610a016004803603606081101561097657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109bd57600080fd5b8201836020820111156109cf57600080fd5b803590602001918460018302840111640100000000831117156109f157600080fd5b909192939192939050505061409f565b604051808215151515815260200191505060405180910390f35b348015610a2757600080fd5b50610a7460048036036040811015610a3e57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506141c6565b604051808215151515815260200191505060405180910390f35b348015610a9a57600080fd5b50610aa3614814565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610af157600080fd5b50610afa614839565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b3a578082015181840152602081019050610b1f565b50505050905090810190601f168015610b675780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b8157600080fd5b50610bce60048036036040811015610b9857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506148d7565b604051808215151515815260200191505060405180910390f35b348015610bf457600080fd5b50610c3760048036036020811015610c0b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614dd4565b604051808215151515815260200191505060405180910390f35b348015610c5d57600080fd5b50610cff60048036036060811015610c7457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610cbb57600080fd5b820183602082011115610ccd57600080fd5b80359060200191846001830284011164010000000083111715610cef57600080fd5b9091929391929390505050614f88565b604051808215151515815260200191505060405180910390f35b348015610d2557600080fd5b50610d6860048036036020811015610d3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050615149565b6040518082815260200191505060405180910390f35b348015610d8a57600080fd5b50610dd760048036036040811015610da157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050615161565b604051808215151515815260200191505060405180910390f35b348015610dfd57600080fd5b50610e6060048036036040811015610e1457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050615608565b6040518082815260200191505060405180910390f35b348015610e8257600080fd5b50610e8b61568f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ed957600080fd5b50610f1c60048036036020811015610ef057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506156b5565b604051808215151515815260200191505060405180910390f35b348015610f4257600080fd5b50610f8560048036036020811015610f5957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506156d5565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561104d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b82600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611110576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b8460001015156111ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f537461626c65436f696e2e696e637265617365537570706c795769746844657081526020017f6f7369743a205a65726f2076616c75650000000000000000000000000000000081525060400191505060405180910390fd5b84831115151561124c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001807f537461626c65436f696e2e696e637265617365537570706c795769746844657081526020017f6f7369743a20496e73756666696369656e74206465706f73697400000000000081525060400191505060405180910390fd5b611261856004546157dd90919063ffffffff16565b6004819055506112b985600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546157dd90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611344848461133f6040805190810160405280600e81526020017f496e697469616c4465706f736974000000000000000000000000000000000000815250615865565b613423565b508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113a886896158e290919063ffffffff16565b6040518082815260200191505060405180910390a360019150509392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561148d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b6000600160146101000a81548160ff0219169083151502179055507f62451d457bc659158be6e6247f56ec1df424a5c7597f71c20c2bc44e0965c8f960405160405180910390a1565b60068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561156c5780601f106115415761010080835404028352916020019161156c565b820191906000526020600020905b81548152906001019060200180831161154f57829003601f168201915b505050505081565b6000600160149054906101000a900460ff161515156115fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f436f6e74726f6c6c61626c653a2050617573656400000000000000000000000081525060200191505060405180910390fd5b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156116be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b83600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611781576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b83600010151561181f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f5374616e64617264546f6b656e2e617070726f76653a205a65726f2076616c7581526020017f650000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b83600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925866040518082815260200191505060405180910390a360019250505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b81600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b836000101515611b38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f537461626c65436f696e2e696e637265617365537570706c793a205a65726f2081526020017f76616c756500000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b611b4d846004546157dd90919063ffffffff16565b600481905550611ba584600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546157dd90919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a3600191505092915050565b60045481565b600a602052816000526040600020602052806000526040600020600091509150505481565b6000600160149054906101000a900460ff16151515611d0b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f436f6e74726f6c6c61626c653a2050617573656400000000000000000000000081525060200191505060405180910390fd5b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611dce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b84600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611e91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b84600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611f54576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b846000101515611ff2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001807f5374616e64617264546f6b656e2e7472616e7366657246726f6d3a205a65726f81526020017f2076616c7565000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485111515156120cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f5374616e64617264546f6b656e2e7472616e7366657246726f6d3a20496e737581526020017f6666696369656e742066756e640000000000000000000000000000000000000081525060400191505060405180910390fd5b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485111515156121e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5374616e64617264546f6b656e2e7472616e7366657246726f6d3a20496e737581526020017f6666696369656e7420616c6c6f77616e6365000000000000000000000000000081525060400191505060405180910390fd5b61223b85600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546158e290919063ffffffff16565b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122d085600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546157dd90919063ffffffff16565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123a285600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546158e290919063ffffffff16565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a3600193505050509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561255b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515612638576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f537461626c65436f696e2e667265657a653a20496e73756666696369656e742081526020017f66756e640000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61268a82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546158e290919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061271f82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546157dd90919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127c882600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000806001028152602001908152602001600020546157dd90919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000806001028152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e0836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff167f665303e6903db9eb45ee2e4ff751e09a362a64967fe5c4056e7b6d38f96a4839836000600102604051808381526020018281526020019250505060405180910390a26001905092915050565b600860009054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156129aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515612a99576001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f1aa660498c83ea285bc55e4cfc00afcaa7120798db87b74f3c0d7c6e001bc39260405160405180910390a25b60019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b68576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020548311151515612c56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001807f537461626c65436f696e2e756e667265657a6557697468507572706f7365436f81526020017f64653a20496e73756666696369656e742066756e64000000000000000000000081525060400191505060405180910390fd5b612ca883600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546158e290919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d4e83600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020546158e290919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550612df483600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546157dd90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff167f2cfce4af01bcb9d6cf6c84ee1b7c491100b8695368264146a94d71e10a63083f846040518082815260200191505060405180910390a28373ffffffffffffffffffffffffffffffffffffffff167fcddcc924fe79c662e4bbc4fa86d3d8777001fc61b0ccdbaa688364a1c4c487bf8484604051808381526020018281526020019250505060405180910390a2600190509392505050565b6000600160149054906101000a900460ff16151515612f6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f436f6e74726f6c6c61626c653a2050617573656400000000000000000000000081525060200191505060405180910390fd5b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515613030576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b83600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156130f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b836000101515613191576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f5374616e64617264546f6b656e2e6465637265617365417070726f76616c3a2081526020017f5a65726f2076616c75650000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808511156132a1576000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613335565b6132b485826158e290919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001935050505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156134e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483111515156135c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001807f537461626c65436f696e2e667265657a6557697468507572706f7365436f646581526020017f3a20496e73756666696369656e742066756e640000000000000000000000000081525060400191505060405180910390fd5b61361883600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546158e290919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506136ad83600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546157dd90919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061375383600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020546157dd90919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff167ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e0846040518082815260200191505060405180910390a28373ffffffffffffffffffffffffffffffffffffffff167f665303e6903db9eb45ee2e4ff751e09a362a64967fe5c4056e7b6d38f96a48398484604051808381526020018281526020019250505060405180910390a2600190509392505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160149054906101000a900460ff1681565b600061390b858561390686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615865565b613423565b9050949350505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613a00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4f776e6572736869703a204f6e6c79206e6577206f776e657220697320616c6c81526020017f6f7765640000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613c09576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000806001028152602001908152602001600020548211151515613cfa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001807f537461626c65436f696e2e756e667265657a653a20496e73756666696369656e81526020017f742066756e64000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613d4c82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546158e290919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613df582600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000806001028152602001908152602001600020546158e290919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080600102815260200190815260200160002081905550613e9e82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546157dd90919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f2cfce4af01bcb9d6cf6c84ee1b7c491100b8695368264146a94d71e10a63083f836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff167fcddcc924fe79c662e4bbc4fa86d3d8777001fc61b0ccdbaa688364a1c4c487bf836000600102604051808381526020018281526020019250505060405180910390a26001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515614057576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b60018060146101000a81548160ff0219169083151502179055507f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75260405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515614165576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b6141bc85856141b786868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615865565b612aa2565b9050949350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561428c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b81600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561434f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b8360001015156143ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f537461626c65436f696e2e6465637265617365537570706c793a205a65726f2081526020017f76616c756500000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484111515156144ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f537461626c65436f696e2e6465637265617365537570706c793a20496e73756681526020017f66696369656e742066756e64000000000000000000000000000000000000000081525060400191505060405180910390fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484111515156145e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001807f537461626c65436f696e2e6465637265617365537570706c793a20496e73756681526020017f66696369656e7420616c6c6f77616e636500000000000000000000000000000081525060400191505060405180910390fd5b6145f9846004546158e290919063ffffffff16565b60048190555061465184600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546158e290919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061472384600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546158e290919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a3600191505092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156148cf5780601f106148a4576101008083540402835291602001916148cf565b820191906000526020600020905b8154815290600101906020018083116148b257829003601f168201915b505050505081565b6000600160149054906101000a900460ff1615151561495e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f436f6e74726f6c6c61626c653a2050617573656400000000000000000000000081525060200191505060405180910390fd5b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614a21576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b83600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614ae4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b836000101515614b5c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4261736963546f6b656e2e7472616e736665723a205a65726f2076616c75650081525060200191505060405180910390fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411151515614c39576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001807f4261736963546f6b656e2e7472616e736665723a20496e73756666696369656e81526020017f742066756e64000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b614c8b84600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546158e290919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614d2084600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546157dd90919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019250505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515614e9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615614f7f57600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690558173ffffffffffffffffffffffffffffffffffffffff167f150465b020dfc06a59269da94ed66db9b65a516cf4fdd5f583b0f12752339bbe60405160405180910390a25b60019050919050565b6000600160149054906101000a900460ff1615151561500f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f436f6e74726f6c6c61626c653a2050617573656400000000000000000000000081525060200191505060405180910390fd5b6150198585611574565b508473ffffffffffffffffffffffffffffffffffffffff16638f4ffcb133863087876040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561512557600080fd5b505af1158015615139573d6000803e3d6000fd5b5050505060019050949350505050565b60096020528060005260406000206000915090505481565b6000600160149054906101000a900460ff161515156151e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f436f6e74726f6c6c61626c653a2050617573656400000000000000000000000081525060200191505060405180910390fd5b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156152ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b83600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561536e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b83600010151561540c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f5374616e64617264546f6b656e2e696e637265617365417070726f76616c3a2081526020017f5a65726f2076616c75650000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61549b84600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546157dd90919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a360019250505092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515615799576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000818301905082811015151561585c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f536166654d6174683a204164646974696f6e20657863657074696f6e0000000081525060200191505060405180910390fd5b80905092915050565b6000816040516020018082805190602001908083835b6020831015156158a0578051825260208201915060208101905060208303925061587b565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001209050919050565b600082821115151561595c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f536166654d6174683a205375627472616374696f6e20657863657074696f6e0081525060200191505060405180910390fd5b81830390509291505056fea165627a7a72305820711a6677176af3f67d1ddbd90362b841cc9a7f5dbd889313f751386a79a83e520029000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008535441522055534400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045355534400000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101a0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680628e1f44146101a5578063046f7da21461022257806306fdde0314610239578063095ea7b3146102c9578063124fc7e01461033c57806318160ddd146103af578063232529ff146103da57806323b872dd1461044957806324bce60c146104dc578063313ce5671461054f57806351e946d51461058057806359af5f2f146105e9578063661884631461066657806370409c5b146106d957806370a082311461075657806375f12b21146107bb57806378f9c8f4146107ea57806379ba5097146108b25780637b46b80b146108c95780638456cb591461093c57806385bbc8f514610953578063869e0e6014610a1b5780638da5cb5b14610a8e57806395d89b4114610ae5578063a9059cbb14610b75578063bfb8054714610be8578063cae9ca5114610c51578063cd4217c114610d19578063d73dd62314610d7e578063dd62ed3e14610df1578063e30c397814610e76578063ede55f5914610ecd578063f2fde38b14610f36575b600080fd5b3480156101b157600080fd5b50610208600480360360608110156101c857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f87565b604051808215151515815260200191505060405180910390f35b34801561022e57600080fd5b506102376113c9565b005b34801561024557600080fd5b5061024e6114d6565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028e578082015181840152602081019050610273565b50505050905090810190601f1680156102bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102d557600080fd5b50610322600480360360408110156102ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611574565b604051808215151515815260200191505060405180910390f35b34801561034857600080fd5b506103956004803603604081101561035f57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611911565b604051808215151515815260200191505060405180910390f35b3480156103bb57600080fd5b506103c4611c59565b6040518082815260200191505060405180910390f35b3480156103e657600080fd5b50610433600480360360408110156103fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c5f565b6040518082815260200191505060405180910390f35b34801561045557600080fd5b506104c26004803603606081101561046c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c84565b604051808215151515815260200191505060405180910390f35b3480156104e857600080fd5b50610535600480360360408110156104ff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612495565b604051808215151515815260200191505060405180910390f35b34801561055b57600080fd5b506105646128d1565b604051808260ff1660ff16815260200191505060405180910390f35b34801561058c57600080fd5b506105cf600480360360208110156105a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128e4565b604051808215151515815260200191505060405180910390f35b3480156105f557600080fd5b5061064c6004803603606081101561060c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050612aa2565b604051808215151515815260200191505060405180910390f35b34801561067257600080fd5b506106bf6004803603604081101561068957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612ee6565b604051808215151515815260200191505060405180910390f35b3480156106e557600080fd5b5061073c600480360360608110156106fc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050613423565b604051808215151515815260200191505060405180910390f35b34801561076257600080fd5b506107a56004803603602081101561077957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613856565b6040518082815260200191505060405180910390f35b3480156107c757600080fd5b506107d061389f565b604051808215151515815260200191505060405180910390f35b3480156107f657600080fd5b506108986004803603606081101561080d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561085457600080fd5b82018360208201111561086657600080fd5b8035906020019184600183028401116401000000008311171561088857600080fd5b90919293919293905050506138b2565b604051808215151515815260200191505060405180910390f35b3480156108be57600080fd5b506108c7613915565b005b3480156108d557600080fd5b50610922600480360360408110156108ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613b43565b604051808215151515815260200191505060405180910390f35b34801561094857600080fd5b50610951613f93565b005b34801561095f57600080fd5b50610a016004803603606081101561097657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109bd57600080fd5b8201836020820111156109cf57600080fd5b803590602001918460018302840111640100000000831117156109f157600080fd5b909192939192939050505061409f565b604051808215151515815260200191505060405180910390f35b348015610a2757600080fd5b50610a7460048036036040811015610a3e57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506141c6565b604051808215151515815260200191505060405180910390f35b348015610a9a57600080fd5b50610aa3614814565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610af157600080fd5b50610afa614839565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610b3a578082015181840152602081019050610b1f565b50505050905090810190601f168015610b675780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610b8157600080fd5b50610bce60048036036040811015610b9857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506148d7565b604051808215151515815260200191505060405180910390f35b348015610bf457600080fd5b50610c3760048036036020811015610c0b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614dd4565b604051808215151515815260200191505060405180910390f35b348015610c5d57600080fd5b50610cff60048036036060811015610c7457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610cbb57600080fd5b820183602082011115610ccd57600080fd5b80359060200191846001830284011164010000000083111715610cef57600080fd5b9091929391929390505050614f88565b604051808215151515815260200191505060405180910390f35b348015610d2557600080fd5b50610d6860048036036020811015610d3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050615149565b6040518082815260200191505060405180910390f35b348015610d8a57600080fd5b50610dd760048036036040811015610da157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050615161565b604051808215151515815260200191505060405180910390f35b348015610dfd57600080fd5b50610e6060048036036040811015610e1457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050615608565b6040518082815260200191505060405180910390f35b348015610e8257600080fd5b50610e8b61568f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ed957600080fd5b50610f1c60048036036020811015610ef057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506156b5565b604051808215151515815260200191505060405180910390f35b348015610f4257600080fd5b50610f8560048036036020811015610f5957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506156d5565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561104d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b82600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611110576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b8460001015156111ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f537461626c65436f696e2e696e637265617365537570706c795769746844657081526020017f6f7369743a205a65726f2076616c75650000000000000000000000000000000081525060400191505060405180910390fd5b84831115151561124c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001807f537461626c65436f696e2e696e637265617365537570706c795769746844657081526020017f6f7369743a20496e73756666696369656e74206465706f73697400000000000081525060400191505060405180910390fd5b611261856004546157dd90919063ffffffff16565b6004819055506112b985600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546157dd90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611344848461133f6040805190810160405280600e81526020017f496e697469616c4465706f736974000000000000000000000000000000000000815250615865565b613423565b508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113a886896158e290919063ffffffff16565b6040518082815260200191505060405180910390a360019150509392505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561148d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b6000600160146101000a81548160ff0219169083151502179055507f62451d457bc659158be6e6247f56ec1df424a5c7597f71c20c2bc44e0965c8f960405160405180910390a1565b60068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561156c5780601f106115415761010080835404028352916020019161156c565b820191906000526020600020905b81548152906001019060200180831161154f57829003601f168201915b505050505081565b6000600160149054906101000a900460ff161515156115fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f436f6e74726f6c6c61626c653a2050617573656400000000000000000000000081525060200191505060405180910390fd5b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156116be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b83600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611781576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b83600010151561181f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f5374616e64617264546f6b656e2e617070726f76653a205a65726f2076616c7581526020017f650000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b83600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925866040518082815260200191505060405180910390a360019250505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b81600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b836000101515611b38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f537461626c65436f696e2e696e637265617365537570706c793a205a65726f2081526020017f76616c756500000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b611b4d846004546157dd90919063ffffffff16565b600481905550611ba584600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546157dd90919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a3600191505092915050565b60045481565b600a602052816000526040600020602052806000526040600020600091509150505481565b6000600160149054906101000a900460ff16151515611d0b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f436f6e74726f6c6c61626c653a2050617573656400000000000000000000000081525060200191505060405180910390fd5b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611dce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b84600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611e91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b84600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611f54576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b846000101515611ff2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001807f5374616e64617264546f6b656e2e7472616e7366657246726f6d3a205a65726f81526020017f2076616c7565000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485111515156120cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f5374616e64617264546f6b656e2e7472616e7366657246726f6d3a20496e737581526020017f6666696369656e742066756e640000000000000000000000000000000000000081525060400191505060405180910390fd5b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485111515156121e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f5374616e64617264546f6b656e2e7472616e7366657246726f6d3a20496e737581526020017f6666696369656e7420616c6c6f77616e6365000000000000000000000000000081525060400191505060405180910390fd5b61223b85600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546158e290919063ffffffff16565b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122d085600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546157dd90919063ffffffff16565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123a285600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546158e290919063ffffffff16565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a3600193505050509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561255b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515612638576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f537461626c65436f696e2e667265657a653a20496e73756666696369656e742081526020017f66756e640000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61268a82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546158e290919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061271f82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546157dd90919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127c882600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000806001028152602001908152602001600020546157dd90919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000806001028152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e0836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff167f665303e6903db9eb45ee2e4ff751e09a362a64967fe5c4056e7b6d38f96a4839836000600102604051808381526020018281526020019250505060405180910390a26001905092915050565b600860009054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156129aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515612a99576001600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f1aa660498c83ea285bc55e4cfc00afcaa7120798db87b74f3c0d7c6e001bc39260405160405180910390a25b60019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b68576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020548311151515612c56576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001807f537461626c65436f696e2e756e667265657a6557697468507572706f7365436f81526020017f64653a20496e73756666696369656e742066756e64000000000000000000000081525060400191505060405180910390fd5b612ca883600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546158e290919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d4e83600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020546158e290919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550612df483600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546157dd90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff167f2cfce4af01bcb9d6cf6c84ee1b7c491100b8695368264146a94d71e10a63083f846040518082815260200191505060405180910390a28373ffffffffffffffffffffffffffffffffffffffff167fcddcc924fe79c662e4bbc4fa86d3d8777001fc61b0ccdbaa688364a1c4c487bf8484604051808381526020018281526020019250505060405180910390a2600190509392505050565b6000600160149054906101000a900460ff16151515612f6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f436f6e74726f6c6c61626c653a2050617573656400000000000000000000000081525060200191505060405180910390fd5b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515613030576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b83600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156130f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b836000101515613191576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f5374616e64617264546f6b656e2e6465637265617365417070726f76616c3a2081526020017f5a65726f2076616c75650000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808511156132a1576000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613335565b6132b485826158e290919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001935050505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156134e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483111515156135c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001807f537461626c65436f696e2e667265657a6557697468507572706f7365436f646581526020017f3a20496e73756666696369656e742066756e640000000000000000000000000081525060400191505060405180910390fd5b61361883600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546158e290919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506136ad83600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546157dd90919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061375383600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020546157dd90919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff167ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e0846040518082815260200191505060405180910390a28373ffffffffffffffffffffffffffffffffffffffff167f665303e6903db9eb45ee2e4ff751e09a362a64967fe5c4056e7b6d38f96a48398484604051808381526020018281526020019250505060405180910390a2600190509392505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600160149054906101000a900460ff1681565b600061390b858561390686868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615865565b613423565b9050949350505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613a00576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f4f776e6572736869703a204f6e6c79206e6577206f776e657220697320616c6c81526020017f6f7765640000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613c09576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000806001028152602001908152602001600020548211151515613cfa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001807f537461626c65436f696e2e756e667265657a653a20496e73756666696369656e81526020017f742066756e64000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b613d4c82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546158e290919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613df582600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000806001028152602001908152602001600020546158e290919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080600102815260200190815260200160002081905550613e9e82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546157dd90919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f2cfce4af01bcb9d6cf6c84ee1b7c491100b8695368264146a94d71e10a63083f836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff167fcddcc924fe79c662e4bbc4fa86d3d8777001fc61b0ccdbaa688364a1c4c487bf836000600102604051808381526020018281526020019250505060405180910390a26001905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515614057576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b60018060146101000a81548160ff0219169083151502179055507f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75260405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515614165576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b6141bc85856141b786868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615865565b612aa2565b9050949350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561428c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b81600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561434f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b8360001015156143ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f537461626c65436f696e2e6465637265617365537570706c793a205a65726f2081526020017f76616c756500000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484111515156144ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f537461626c65436f696e2e6465637265617365537570706c793a20496e73756681526020017f66696369656e742066756e64000000000000000000000000000000000000000081525060400191505060405180910390fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484111515156145e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001807f537461626c65436f696e2e6465637265617365537570706c793a20496e73756681526020017f66696369656e7420616c6c6f77616e636500000000000000000000000000000081525060400191505060405180910390fd5b6145f9846004546158e290919063ffffffff16565b60048190555061465184600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546158e290919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061472384600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546158e290919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a3600191505092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156148cf5780601f106148a4576101008083540402835291602001916148cf565b820191906000526020600020905b8154815290600101906020018083116148b257829003601f168201915b505050505081565b6000600160149054906101000a900460ff1615151561495e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f436f6e74726f6c6c61626c653a2050617573656400000000000000000000000081525060200191505060405180910390fd5b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614a21576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b83600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515614ae4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b836000101515614b5c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4261736963546f6b656e2e7472616e736665723a205a65726f2076616c75650081525060200191505060405180910390fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548411151515614c39576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001807f4261736963546f6b656e2e7472616e736665723a20496e73756666696369656e81526020017f742066756e64000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b614c8b84600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546158e290919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614d2084600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546157dd90919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019250505092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515614e9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615614f7f57600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690558173ffffffffffffffffffffffffffffffffffffffff167f150465b020dfc06a59269da94ed66db9b65a516cf4fdd5f583b0f12752339bbe60405160405180910390a25b60019050919050565b6000600160149054906101000a900460ff1615151561500f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f436f6e74726f6c6c61626c653a2050617573656400000000000000000000000081525060200191505060405180910390fd5b6150198585611574565b508473ffffffffffffffffffffffffffffffffffffffff16638f4ffcb133863087876040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561512557600080fd5b505af1158015615139573d6000803e3d6000fd5b5050505060019050949350505050565b60096020528060005260406000206000915090505481565b6000600160149054906101000a900460ff161515156151e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f436f6e74726f6c6c61626c653a2050617573656400000000000000000000000081525060200191505060405180910390fd5b33600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156152ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b83600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561536e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f436f6e74726f6c6c61626c653a204e6f7420616374697665000000000000000081525060200191505060405180910390fd5b83600010151561540c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f5374616e64617264546f6b656e2e696e637265617365417070726f76616c3a2081526020017f5a65726f2076616c75650000000000000000000000000000000000000000000081525060400191505060405180910390fd5b61549b84600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546157dd90919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a360019250505092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515615799576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4f776e6572736869703a204163636573732064656e696564000000000000000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000818301905082811015151561585c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f536166654d6174683a204164646974696f6e20657863657074696f6e0000000081525060200191505060405180910390fd5b80905092915050565b6000816040516020018082805190602001908083835b6020831015156158a0578051825260208201915060208101905060208303925061587b565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001209050919050565b600082821115151561595c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f536166654d6174683a205375627472616374696f6e20657863657074696f6e0081525060200191505060405180910390fd5b81830390509291505056fea165627a7a72305820711a6677176af3f67d1ddbd90362b841cc9a7f5dbd889313f751386a79a83e520029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008535441522055534400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045355534400000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): STAR USD
Arg [1] : _symbol (string): SUSD
Arg [2] : _decimals (uint8): 18
Arg [3] : _initialSupply (uint256): 0

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [5] : 5354415220555344000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [7] : 5355534400000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

12827:8170:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14681:620;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14681:620:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14681:620:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4596:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4596:110:0;;;;;;13309:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13309:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;13309:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9755:369;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9755:369:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9755:369:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14035:387;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14035:387:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14035:387:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6388:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6388:26:0;;;;;;;;;;;;;;;;;;;;;;;13528:64;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13528:64:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13528:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8365:742;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8365:742:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8365:742:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16373:535;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16373:535:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16373:535:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13361:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13361:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4714:280;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4714:280:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4714:280:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19639:585;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19639:585:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19639:585:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12037:625;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12037:625:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12037:625:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17601:564;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17601:564:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17601:564:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7662:129;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7662:129:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7662:129:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4003:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4003:19:0;;;;;;;;;;;;;;;;;;;;;;;;;;;17146:208;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17146:208:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17146:208:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;17146:208:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;17146:208:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;17146:208:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3588:264;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3588:264:0;;;;;;18346:563;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18346:563:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18346:563:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4477:107;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4477:107:0;;;;;;19154:231;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19154:231:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19154:231:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;19154:231:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;19154:231:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;19154:231:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15521:677;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15521:677:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15521:677:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3099:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3099:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;13334:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13334:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;13334:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6859:582;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6859:582:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6859:582:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5003:283;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5003:283:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5003:283:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20451:392;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20451:392:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;20451:392:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;20451:392:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;20451:392:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;20451:392:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13432:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13432:44:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13432:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11090:460;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11090:460:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11090:460:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10460:148;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10460:148:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10460:148:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3134:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3134:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4029:48;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4029:48:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4029:48:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3443:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3443:137:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3443:137:0;;;;;;;;;;;;;;;;;;;;;;14681:620;14834:4;3381:5;;;;;;;;;;;3367:19;;:10;:19;;;3358:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14811:3;4298:15;:24;4314:7;4298:24;;;;;;;;;;;;;;;;;;;;;;;;;4297:25;4289:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14868:6;14864:1;:10;14856:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14958:6;14946:8;:18;;14938:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15054:23;15070:6;15054:11;;:15;;:23;;;;:::i;:::-;15040:11;:37;;;;15104:25;15122:6;15104:8;:13;15113:3;15104:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;15088:8;:13;15097:3;15088:13;;;;;;;;;;;;;;;:41;;;;15140:68;15162:3;15167:8;15177:30;;;;;;;;;;;;;;;;;;;:12;:30::i;:::-;15140:21;:68::i;:::-;;15245:3;15224:47;;15241:1;15224:47;;;15250:20;15261:8;15250:6;:10;;:20;;;;:::i;:::-;15224:47;;;;;;;;;;;;;;;;;;15289:4;15282:11;;3426:1;14681:620;;;;;:::o;4596:110::-;3381:5;;;;;;;;;;;3367:19;;:10;:19;;;3358:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4667:5;4657:7;;:15;;;;;;;;;;;;;;;;;;4688:10;;;;;;;;;;4596:110::o;13309:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9755:369::-;9911:4;4417:7;;;;;;;;;;;4416:8;4408:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9851:10;4298:15;:24;4314:7;4298:24;;;;;;;;;;;;;;;;;;;;;;;;;4297:25;4289:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9883:8;4298:15;:24;4314:7;4298:24;;;;;;;;;;;;;;;;;;;;;;;;;4297:25;4289:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9945:6;9941:1;:10;9933:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10034:6;10002:7;:19;10010:10;10002:19;;;;;;;;;;;;;;;:29;10022:8;10002:29;;;;;;;;;;;;;;;:38;;;;10077:8;10056:38;;10065:10;10056:38;;;10087:6;10056:38;;;;;;;;;;;;;;;;;;10112:4;10105:11;;4362:1;4460;9755:369;;;;:::o;14035:387::-;14159:4;3381:5;;;;;;;;;;;3367:19;;:10;:19;;;3358:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14136:3;4298:15;:24;4314:7;4298:24;;;;;;;;;;;;;;;;;;;;;;;;;4297:25;4289:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14193:6;14189:1;:10;14181:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14268:23;14284:6;14268:11;;:15;;:23;;;;:::i;:::-;14254:11;:37;;;;14318:25;14336:6;14318:8;:13;14327:3;14318:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;14302:8;:13;14311:3;14302:13;;;;;;;;;;;;;;;:41;;;;14380:3;14359:33;;14376:1;14359:33;;;14385:6;14359:33;;;;;;;;;;;;;;;;;;14410:4;14403:11;;3426:1;14035:387;;;;:::o;6388:26::-;;;;:::o;13528:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8365:742::-;8558:4;4417:7;;;;;;;;;;;4416:8;4408:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8476:10;4298:15;:24;4314:7;4298:24;;;;;;;;;;;;;;;;;;;;;;;;;4297:25;4289:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8508:5;4298:15;:24;4314:7;4298:24;;;;;;;;;;;;;;;;;;;;;;;;;4297:25;4289:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8535:3;4298:15;:24;4314:7;4298:24;;;;;;;;;;;;;;;;;;;;;;;;;4297:25;4289:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8592:6;8588:1;:10;8580:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8670:8;:15;8679:5;8670:15;;;;;;;;;;;;;;;;8660:6;:25;;8652:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8764:7;:14;8772:5;8764:14;;;;;;;;;;;;;;;:26;8779:10;8764:26;;;;;;;;;;;;;;;;8754:6;:36;;8746:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8876:27;8896:6;8876:8;:15;8885:5;8876:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;8858:8;:15;8867:5;8858:15;;;;;;;;;;;;;;;:45;;;;8930:25;8948:6;8930:8;:13;8939:3;8930:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;8914:8;:13;8923:3;8914:13;;;;;;;;;;;;;;;:41;;;;8995:38;9026:6;8995:7;:14;9003:5;8995:14;;;;;;;;;;;;;;;:26;9010:10;8995:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;8966:7;:14;8974:5;8966:14;;;;;;;;;;;;;;;:26;8981:10;8966:26;;;;;;;;;;;;;;;:67;;;;9065:3;9049:28;;9058:5;9049:28;;;9070:6;9049:28;;;;;;;;;;;;;;;;;;9095:4;9088:11;;4362:1;;4460;8365:742;;;;;:::o;16373:535::-;16466:4;3381:5;;;;;;;;;;;3367:19;;:10;:19;;;3358:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16506:8;:15;16515:5;16506:15;;;;;;;;;;;;;;;;16496:6;:25;;16488:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16593:27;16613:6;16593:8;:15;16602:5;16593:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;16575:8;:15;16584:5;16575:15;;;;;;;;;;;;;;;:45;;;;16649:27;16669:6;16649:8;:15;16658:5;16649:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;16631:8;:15;16640:5;16631:15;;;;;;;;;;;;;;;:45;;;;16725:47;16765:6;16725:7;:14;16733:5;16725:14;;;;;;;;;;;;;;;:35;12946:66;16740:19;;16725:35;;;;;;;;;;;;:39;;:47;;;;:::i;:::-;16687:7;:14;16695:5;16687:14;;;;;;;;;;;;;;;:35;12946:66;16702:19;;16687:35;;;;;;;;;;;:85;;;;16795:5;16788:21;;;16802:6;16788:21;;;;;;;;;;;;;;;;;;16843:5;16825:53;;;16850:6;12946:66;16858:19;;16825:53;;;;;;;;;;;;;;;;;;;;;;;;16896:4;16889:11;;16373:535;;;;:::o;13361:21::-;;;;;;;;;;;;;:::o;4714:280::-;4801:4;3381:5;;;;;;;;;;;3367:19;;:10;:19;;;3358:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4828:15;:27;4844:10;4828:27;;;;;;;;;;;;;;;;;;;;;;;;;4827:28;4823:140;;;4902:4;4872:15;:27;4888:10;4872:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;4940:10;4926:25;;;;;;;;;;;;4823:140;4982:4;4975:11;;4714:280;;;:::o;19639:585::-;19769:4;3381:5;;;;;;;;;;;3367:19;;:10;:19;;;3358:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19809:7;:14;19817:5;19809:14;;;;;;;;;;;;;;;:28;19824:12;19809:28;;;;;;;;;;;;19799:6;:38;;19791:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19926:27;19946:6;19926:8;:15;19935:5;19926:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;19908:8;:15;19917:5;19908:15;;;;;;;;;;;;;;;:45;;;;19995:40;20028:6;19995:7;:14;20003:5;19995:14;;;;;;;;;;;;;;;:28;20010:12;19995:28;;;;;;;;;;;;:32;;:40;;;;:::i;:::-;19964:7;:14;19972:5;19964:14;;;;;;;;;;;;;;;:28;19979:12;19964:28;;;;;;;;;;;:71;;;;20064:27;20084:6;20064:8;:15;20073:5;20064:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;20046:8;:15;20055:5;20046:15;;;;;;;;;;;;;;;:45;;;;20116:5;20107:23;;;20123:6;20107:23;;;;;;;;;;;;;;;;;;20166:5;20146:48;;;20173:6;20181:12;20146:48;;;;;;;;;;;;;;;;;;;;;;;;20212:4;20205:11;;19639:585;;;;;:::o;12037:625::-;12212:4;4417:7;;;;;;;;;;;4416:8;4408:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12152:10;4298:15;:24;4314:7;4298:24;;;;;;;;;;;;;;;;;;;;;;;;;4297:25;4289:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12184:8;4298:15;:24;4314:7;4298:24;;;;;;;;;;;;;;;;;;;;;;;;;4297:25;4289:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12246:16;12242:1;:20;12234:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12322:16;12341:7;:19;12349:10;12341:19;;;;;;;;;;;;;;;:29;12361:8;12341:29;;;;;;;;;;;;;;;;12322:48;;12406:8;12387:16;:27;12383:170;;;12461:1;12429:7;:19;12437:10;12429:19;;;;;;;;;;;;;;;:29;12449:8;12429:29;;;;;;;;;;;;;;;:33;;;;12383:170;;;12523:30;12536:16;12523:8;:12;;:30;;;;:::i;:::-;12491:7;:19;12499:10;12491:19;;;;;;;;;;;;;;;:29;12511:8;12491:29;;;;;;;;;;;;;;;:62;;;;12383:170;12592:8;12571:61;;12580:10;12571:61;;;12602:7;:19;12610:10;12602:19;;;;;;;;;;;;;;;:29;12622:8;12602:29;;;;;;;;;;;;;;;;12571:61;;;;;;;;;;;;;;;;;;12650:4;12643:11;;;4362:1;4460;12037:625;;;;:::o;17601:564::-;17729:4;3381:5;;;;;;;;;;;3367:19;;:10;:19;;;3358:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17769:8;:15;17778:5;17769:15;;;;;;;;;;;;;;;;17759:6;:25;;17751:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17871:27;17891:6;17871:8;:15;17880:5;17871:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;17853:8;:15;17862:5;17853:15;;;;;;;;;;;;;;;:45;;;;17927:27;17947:6;17927:8;:15;17936:5;17927:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;17909:8;:15;17918:5;17909:15;;;;;;;;;;;;;;;:45;;;;17996:40;18029:6;17996:7;:14;18004:5;17996:14;;;;;;;;;;;;;;;:28;18011:12;17996:28;;;;;;;;;;;;:32;;:40;;;;:::i;:::-;17965:7;:14;17973:5;17965:14;;;;;;;;;;;;;;;:28;17980:12;17965:28;;;;;;;;;;;:71;;;;18059:5;18052:21;;;18066:6;18052:21;;;;;;;;;;;;;;;;;;18107:5;18089:46;;;18114:6;18122:12;18089:46;;;;;;;;;;;;;;;;;;;;;;;;18153:4;18146:11;;17601:564;;;;;:::o;7662:129::-;7727:15;7767:8;:16;7776:6;7767:16;;;;;;;;;;;;;;;;7760:23;;7662:129;;;:::o;4003:19::-;;;;;;;;;;;;;:::o;17146:208::-;17257:4;17286:60;17308:5;17315:6;17323:22;17336:8;;17323:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;17323:22:0;;;;;;:12;:22::i;:::-;17286:21;:60::i;:::-;17279:67;;17146:208;;;;;;:::o;3588:264::-;3662:12;;;;;;;;;;;3648:26;;:10;:26;;;3639:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3762:12;;;;;;;;;;;3733:42;;3755:5;;;;;;;;;;;3733:42;;;;;;;;;;;;3796:12;;;;;;;;;;;3788:5;;:20;;;;;;;;;;;;;;;;;;3842:1;3819:12;;:25;;;;;;;;;;;;;;;;;;3588:264::o;18346:563::-;18441:4;3381:5;;;;;;;;;;;3367:19;;:10;:19;;;3358:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18481:7;:14;18489:5;18481:14;;;;;;;;;;;;;;;:35;12946:66;18496:19;;18481:35;;;;;;;;;;;;18471:6;:45;;18463:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18590:27;18610:6;18590:8;:15;18599:5;18590:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;18572:8;:15;18581:5;18572:15;;;;;;;;;;;;;;;:45;;;;18666:47;18706:6;18666:7;:14;18674:5;18666:14;;;;;;;;;;;;;;;:35;12946:66;18681:19;;18666:35;;;;;;;;;;;;:39;;:47;;;;:::i;:::-;18628:7;:14;18636:5;18628:14;;;;;;;;;;;;;;;:35;12946:66;18643:19;;18628:35;;;;;;;;;;;:85;;;;18742:27;18762:6;18742:8;:15;18751:5;18742:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;18724:8;:15;18733:5;18724:15;;;;;;;;;;;;;;;:45;;;;18794:5;18785:23;;;18801:6;18785:23;;;;;;;;;;;;;;;;;;18844:5;18824:55;;;18851:6;12946:66;18859:19;;18824:55;;;;;;;;;;;;;;;;;;;;;;;;18897:4;18890:11;;18346:563;;;;:::o;4477:107::-;3381:5;;;;;;;;;;;3367:19;;:10;:19;;;3358:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4547:4;4537:7;;:14;;;;;;;;;;;;;;;;;;4567:9;;;;;;;;;;4477:107::o;19154:231::-;19286:4;3381:5;;;;;;;;;;;3367:19;;:10;:19;;;3358:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19315:62;19339:5;19346:6;19354:22;19367:8;;19354:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;19354:22:0;;;;;;:12;:22::i;:::-;19315:23;:62::i;:::-;19308:69;;19154:231;;;;;;:::o;15521:677::-;15649:4;3381:5;;;;;;;;;;;3367:19;;:10;:19;;;3358:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15624:5;4298:15;:24;4314:7;4298:24;;;;;;;;;;;;;;;;;;;;;;;;;4297:25;4289:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15683:6;15679:1;:10;15671:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15760:8;:15;15769:5;15760:15;;;;;;;;;;;;;;;;15750:6;:25;;15742:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15853:7;:14;15861:5;15853:14;;;;;;;;;;;;;;;:26;15876:1;15853:26;;;;;;;;;;;;;;;;15843:6;:36;;15835:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15960:23;15976:6;15960:11;;:15;;:23;;;;:::i;:::-;15946:11;:37;;;;16012:27;16032:6;16012:8;:15;16021:5;16012:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;15994:8;:15;16003:5;15994:15;;;;;;;;;;;;;;;:45;;;;16079:38;16110:6;16079:7;:14;16087:5;16079:14;;;;;;;;;;;;;;;:26;16102:1;16079:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;16050:7;:14;16058:5;16050:14;;;;;;;;;;;;;;;:26;16073:1;16050:26;;;;;;;;;;;;;;;:67;;;;16157:1;16133:35;;16142:5;16133:35;;;16161:6;16133:35;;;;;;;;;;;;;;;;;;16186:4;16179:11;;3426:1;15521:677;;;;:::o;3099:28::-;;;;;;;;;;;;;:::o;13334:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6859:582::-;7006:4;4417:7;;;;;;;;;;;4416:8;4408:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6951:10;4298:15;:24;4314:7;4298:24;;;;;;;;;;;;;;;;;;;;;;;;;4297:25;4289:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6983:3;4298:15;:24;4314:7;4298:24;;;;;;;;;;;;;;;;;;;;;;;;;4297:25;4289:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7040:6;7036:1;:10;7028:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7111:8;:20;7120:10;7111:20;;;;;;;;;;;;;;;;7101:6;:30;;7093:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7278:32;7303:6;7278:8;:20;7287:10;7278:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;7255:8;:20;7264:10;7255:20;;;;;;;;;;;;;;;:55;;;;7337:25;7355:6;7337:8;:13;7346:3;7337:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;7321:8;:13;7330:3;7321:13;;;;;;;;;;;;;;;:41;;;;7399:3;7378:33;;7387:10;7378:33;;;7404:6;7378:33;;;;;;;;;;;;;;;;;;7429:4;7422:11;;4362:1;4460;6859:582;;;;:::o;5003:283::-;5092:4;3381:5;;;;;;;;;;;3367:19;;:10;:19;;;3358:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5118:15;:27;5134:10;5118:27;;;;;;;;;;;;;;;;;;;;;;;;;5114:141;;;5169:15;:27;5185:10;5169:27;;;;;;;;;;;;;;;;5162:34;;;;;;;;;;;5232:10;5216:27;;;;;;;;;;;;5114:141;5274:4;5267:11;;5003:283;;;:::o;20451:392::-;20581:4;4417:7;;;;;;;;;;;4416:8;4408:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20686:25;20694:8;20704:6;20686:7;:25::i;:::-;;20741:8;20724:42;;;20767:10;20779:6;20795:4;20802:10;;20724:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;20724:89:0;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20724:89:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20724:89:0;;;;20831:4;20824:11;;20451:392;;;;;;:::o;13432:44::-;;;;;;;;;;;;;;;;;:::o;11090:460::-;11260:4;4417:7;;;;;;;;;;;4416:8;4408:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11200:10;4298:15;:24;4314:7;4298:24;;;;;;;;;;;;;;;;;;;;;;;;;4297:25;4289:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11232:8;4298:15;:24;4314:7;4298:24;;;;;;;;;;;;;;;;;;;;;;;;;4297:25;4289:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11294:11;11290:1;:15;11282:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11397:46;11431:11;11397:7;:19;11405:10;11397:19;;;;;;;;;;;;;;;:29;11417:8;11397:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;11365:7;:19;11373:10;11365:19;;;;;;;;;;;;;;;:29;11385:8;11365:29;;;;;;;;;;;;;;;:78;;;;11480:8;11459:61;;11468:10;11459:61;;;11490:7;:19;11498:10;11490:19;;;;;;;;;;;;;;;:29;11510:8;11490:29;;;;;;;;;;;;;;;;11459:61;;;;;;;;;;;;;;;;;;11538:4;11531:11;;4362:1;4460;11090:460;;;;:::o;10460:148::-;10543:7;10575;:15;10583:6;10575:15;;;;;;;;;;;;;;;:25;10591:8;10575:25;;;;;;;;;;;;;;;;10568:32;;10460:148;;;;:::o;3134:35::-;;;;;;;;;;;;;:::o;4029:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;3443:137::-;3381:5;;;;;;;;;;;3367:19;;:10;:19;;;3358:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3559:13;3544:12;;:28;;;;;;;;;;;;;;;;;;3443:137;:::o;1086:174::-;1144:9;1174:1;1170;:5;1166:9;;1199:1;1194;:6;;1186:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1251:1;1244:8;;1086:174;;;;:::o;20851:141::-;20922:7;20981:1;20964:19;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;20964:19:0;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;20964:19:0;;;20954:30;;;;;;20947:37;;20851:141;;;:::o;852:159::-;910:7;943:1;938;:6;;930:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;998;:5;991:12;;852:159;;;;:::o

Swarm Source

bzzr://711a6677176af3f67d1ddbd90362b841cc9a7f5dbd889313f751386a79a83e52
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.