ETH Price: $3,935.18 (+1.60%)

Token

tokenAsset (NTB)
 

Overview

Max Total Supply

55,173,382.543247019802559615 NTB

Holders

1,623

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
60,633.4994 NTB

Value
$0.00
0x1993cb5b02a78187aa0ca30590e475a0dc2447e4
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Token Asset aims to offer NTB - a digital asset investment platform created by expert analysts in the cryptocurrency market and traders in the trading market.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
TokenAsset

Compiler Version
v0.5.14+commit.1f1aaa4

Optimization Enabled:
Yes with 200 runs

Other Settings:
petersburg EvmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-12-23
*/

// File: @openzeppelin/contracts/GSN/Context.sol

pragma solidity ^0.5.0;

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
contract Context {
    // Empty internal constructor, to prevent people from mistakenly deploying
    // an instance of this contract, which should be used via inheritance.
    constructor () internal { }
    // solhint-disable-previous-line no-empty-blocks

    function _msgSender() internal view returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

// File: @openzeppelin/contracts/ownership/Ownable.sol

pragma solidity ^0.5.0;

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () internal {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(isOwner(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Returns true if the caller is the current owner.
     */
    function isOwner() public view returns (bool) {
        return _msgSender() == _owner;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     */
    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

// File: contracts/Library/IERC20.sol

pragma solidity ^0.5.14;

interface IERC20 {
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);

    function transfer(address _to, uint256 _value) external returns (bool);
    function transferFrom(address _from, address _to, uint256 _value) external returns (bool);
    function approve(address _spender, uint256 _value) external returns (bool);
}

// File: contracts/Library/SafeMath.sol

pragma solidity ^0.5.14;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     *
     * _Available since v2.4.0._
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     *
     * _Available since v2.4.0._
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     *
     * _Available since v2.4.0._
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

// File: contracts/Library/Freezer.sol

pragma solidity ^0.5.14;


/**
 * @title Freezer
 * @author Yoonsung
 * @notice This Contracts is an extension of the ERC20. Transfer
 * of a specific address can be blocked from by the Owner of the
 * Token Contract.
 */
contract Freezer is Ownable {
    event Freezed(address dsc);
    event Unfreezed(address dsc);

    mapping (address => bool) public freezing;

    modifier isFreezed (address src) {
        require(freezing[src] == false, "Freeze/Fronzen-Account");
        _;
    }

    /**
    * @notice The Freeze function sets the transfer limit
    * for a specific address.
    * @param _dsc address The specify address want to limit the transfer.
    */
    function freeze(address _dsc) external onlyOwner {
        require(_dsc != address(0), "Freeze/Zero-Address");
        require(freezing[_dsc] == false, "Freeze/Already-Freezed");

        freezing[_dsc] = true;

        emit Freezed(_dsc);
    }

    /**
    * @notice The Freeze function removes the transfer limit
    * for a specific address.
    * @param _dsc address The specify address want to remove the transfer.
    */
    function unFreeze(address _dsc) external onlyOwner {
        require(freezing[_dsc] == true, "Freeze/Already-Unfreezed");

        delete freezing[_dsc];

        emit Unfreezed(_dsc);
    }
}

// File: contracts/Library/SendLimiter.sol

pragma solidity ^0.5.14;


/**
 * @title SendLimiter
 * @author Yoonsung
 * @notice This contract acts as an ERC20 extension. It must
 * be called from the creator of the ERC20, and a modifier is
 * provided that can be used together. This contract is short-lived.
 * You cannot re-enable it after SendUnlock, to be careful. Provides 
 * a set of functions to manage the addresses that can be sent.
 */
contract SendLimiter is Ownable {
    event SendWhitelisted(address dsc);
    event SendDelisted(address dsc);
    event SendUnlocked();

    bool public sendLimit;
    mapping (address => bool) public sendWhitelist;

    /**
    * @notice In constructor, Set Send Limit exceptionally msg.sender.
    * constructor is used, the restriction is activated.
    */
    constructor() public {
        sendLimit = true;
        sendWhitelist[msg.sender] = true;
    }

    modifier isAllowedSend (address dsc) {
        if (sendLimit) require(sendWhitelist[dsc], "SendLimiter/Not-Allow-Address");
        _;
    }

    /**
    * @notice Register the address that you want to allow to be sent.
    * @param _whiteAddress address The specify what to send target.
    */
    function addAllowSender(address _whiteAddress) public onlyOwner {
        require(_whiteAddress != address(0), "SendLimiter/Not-Allow-Zero-Address");
        sendWhitelist[_whiteAddress] = true;
        emit SendWhitelisted(_whiteAddress);
    }

    /**
    * @notice Register the addresses that you want to allow to be sent.
    * @param _whiteAddresses address[] The specify what to send target.
    */
    function addAllowSenders(address[] memory _whiteAddresses) public onlyOwner {
        for (uint256 i = 0; i < _whiteAddresses.length; i++) {
            addAllowSender(_whiteAddresses[i]);
        }
    }

    /**
    * @notice Remove the address that you want to allow to be sent.
    * @param _whiteAddress address The specify what to send target.
    */
    function removeAllowedSender(address _whiteAddress) public onlyOwner {
        require(_whiteAddress != address(0), "SendLimiter/Not-Allow-Zero-Address");
        delete sendWhitelist[_whiteAddress];
        emit SendDelisted(_whiteAddress);
    }

    /**
    * @notice Remove the addresses that you want to allow to be sent.
    * @param _whiteAddresses address[] The specify what to send target.
    */
    function removeAllowedSenders(address[] memory _whiteAddresses) public onlyOwner {
        for (uint256 i = 0; i < _whiteAddresses.length; i++) {
            removeAllowedSender(_whiteAddresses[i]);
        }
    }

    /**
    * @notice Revoke transfer restrictions.
    */
    function sendUnlock() external onlyOwner {
        sendLimit = false;
        emit SendUnlocked();
    }
}

// File: contracts/Library/ReceiveLimiter.sol

pragma solidity ^0.5.14;


/**
 * @title ReceiveLimiter
 * @author Yoonsung
 * @notice This contract acts as an ERC20 extension. It must
 * be called from the creator of the ERC20, and a modifier is
 * provided that can be used together. This contract is short-lived.
 * You cannot re-enable it after ReceiveUnlock, to be careful. Provides 
 * a set of functions to manage the addresses that can be sent.
 */
contract ReceiveLimiter is Ownable {
    event ReceiveWhitelisted(address dsc);
    event ReceiveDelisted(address dsc);
    event ReceiveUnlocked();

    bool public receiveLimit;
    mapping (address => bool) public receiveWhitelist;

    /**
    * @notice In constructor, Set Receive Limit exceptionally msg.sender.
    * constructor is used, the restriction is activated.
    */
    constructor() public {
        receiveLimit = true;
        receiveWhitelist[msg.sender] = true;
    }

    modifier isAllowedReceive (address dsc) {
        if (receiveLimit) require(receiveWhitelist[dsc], "Limiter/Not-Allow-Address");
        _;
    }

    /**
    * @notice Register the address that you want to allow to be receive.
    * @param _whiteAddress address The specify what to receive target.
    */
    function addAllowReceiver(address _whiteAddress) public onlyOwner {
        require(_whiteAddress != address(0), "Limiter/Not-Allow-Zero-Address");
        receiveWhitelist[_whiteAddress] = true;
        emit ReceiveWhitelisted(_whiteAddress);
    }

    /**
    * @notice Register the addresses that you want to allow to be receive.
    * @param _whiteAddresses address[] The specify what to receive target.
    */
    function addAllowReceivers(address[] memory _whiteAddresses) public onlyOwner {
        for (uint256 i = 0; i < _whiteAddresses.length; i++) {
            addAllowReceiver(_whiteAddresses[i]);
        }
    }

    /**
    * @notice Remove the address that you want to allow to be receive.
    * @param _whiteAddress address The specify what to receive target.
    */
    function removeAllowedReceiver(address _whiteAddress) public onlyOwner {
        require(_whiteAddress != address(0), "Limiter/Not-Allow-Zero-Address");
        delete receiveWhitelist[_whiteAddress];
        emit ReceiveDelisted(_whiteAddress);
    }

    /**
    * @notice Remove the addresses that you want to allow to be receive.
    * @param _whiteAddresses address[] The specify what to receive target.
    */
    function removeAllowedReceivers(address[] memory _whiteAddresses) public onlyOwner {
        for (uint256 i = 0; i < _whiteAddresses.length; i++) {
            removeAllowedReceiver(_whiteAddresses[i]);
        }
    }

    /**
    * @notice Revoke Receive restrictions.
    */
    function receiveUnlock() external onlyOwner {
        receiveLimit = false;
        emit ReceiveUnlocked();
    }
}

// File: contracts/TokenAsset.sol

pragma solidity ^0.5.14;







/**
 * @title TokenAsset
 * @author Yoonsung
 * @notice This Contract is an implementation of TokenAsset's ERC20
 * Basic ERC20 functions and "Burn" functions are implemented. For the 
 * Burn function, only the Owner of Contract can be called and used 
 * to incinerate unsold Token. Transfer and reception limits are imposed
 * after the contract is distributed and can be revoked through SendUnlock
 * and ReceiveUnlock. Don't do active again after cancellation. The Owner 
 * may also suspend the transfer of a particular account at any time.
 */
contract TokenAsset is Ownable, IERC20, SendLimiter, ReceiveLimiter, Freezer {
    using SafeMath for uint256;

    string public constant name = "tokenAsset";
    string public constant symbol = "NTB";
    uint8 public constant decimals = 18;
    uint256 public totalSupply = 200000000e18;

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping(address => uint256)) public allowance;

    
   /**
    * @notice In constructor, Set Send Limit and Receive Limits.
    * Additionally, Contract's publisher is authorized to own all tokens.
    */
    constructor() SendLimiter() ReceiveLimiter() public {
        balanceOf[msg.sender] = totalSupply;
    }

    /**
    * @notice Transfer function sends Token to the target. However,
    * caller must have more tokens than or equal to the quantity for send.
    * @param _to address The specify what to send target.
    * @param _value uint256 The amount of token to tranfer.
    * @return True if the withdrawal succeeded, otherwise revert.
    */
    function transfer (
        address _to,
        uint256 _value
    ) external isAllowedSend(msg.sender) isAllowedReceive(_to) isFreezed(msg.sender) returns (bool) {
        require(_to != address(0), "TokenAsset/Not-Allow-Zero-Address");

        balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);
        balanceOf[_to] = balanceOf[_to].add(_value);

        emit Transfer(msg.sender, _to, _value);

        return true;
    }

    /**
    * @notice Transfer function sends Token to the target.
    * In most cases, the allowed caller uses this function. Send
    * Token instead of owner. Allowance address must have more
    * tokens than or equal to the quantity for send.
    * @param _from address The acoount to sender.
    * @param _to address The specify what to send target.
    * @param _value uint256 The amount of token to tranfer.
    * @return True if the withdrawal succeeded, otherwise revert.
    */
    function transferFrom (
        address _from,
        address _to,
        uint256 _value
    ) external isAllowedSend(_from) isAllowedReceive(_to) isFreezed(_from) returns (bool) {
        require(_from != address(0), "TokenAsset/Not-Allow-Zero-Address");
        require(_to != address(0), "TokenAsset/Not-Allow-Zero-Address");

        balanceOf[_from] = balanceOf[_from].sub(_value);
        balanceOf[_to] = balanceOf[_to].add(_value);
        allowance[_from][msg.sender] = allowance[_from][msg.sender].sub(_value);

        emit Transfer(_from, _to, _value);

        return true;
    }

    /**
    * @notice The Owner of the Contracts incinerate own
    * Token. burn unsold Token and reduce totalsupply. Caller
    * must have more tokens than or equal to the quantity for send.
    * @param _value uint256 The amount of incinerate token.
    * @return True if the withdrawal succeeded, otherwise revert.
    */
    function burn (
        uint256 _value
    ) external returns (bool) {
        require(_value <= balanceOf[msg.sender]);

        balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);
        totalSupply = totalSupply.sub(_value);

        emit Transfer(msg.sender, address(0), _value);
        
        return true;
    }

    /**
    * @notice Allow specific address to send token instead.
    * @param _spender address The address to send transaction on my behalf
    * @param _value uint256 The amount on my behalf, Usually 0 or uint256(-1).
    * @return True if the withdrawal succeeded, otherwise revert.
    */
    function approve (
        address _spender,
        uint256 _value
    ) external returns (bool) {
        require(_spender != address(0), "TokenAsset/Not-Allow-Zero-Address");
        allowance[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);

        return true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":true,"internalType":"address","name":"_spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"dsc","type":"address"}],"name":"Freezed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"dsc","type":"address"}],"name":"ReceiveDelisted","type":"event"},{"anonymous":false,"inputs":[],"name":"ReceiveUnlocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"dsc","type":"address"}],"name":"ReceiveWhitelisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"dsc","type":"address"}],"name":"SendDelisted","type":"event"},{"anonymous":false,"inputs":[],"name":"SendUnlocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"dsc","type":"address"}],"name":"SendWhitelisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"dsc","type":"address"}],"name":"Unfreezed","type":"event"},{"constant":false,"inputs":[{"internalType":"address","name":"_whiteAddress","type":"address"}],"name":"addAllowReceiver","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"_whiteAddresses","type":"address[]"}],"name":"addAllowReceivers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_whiteAddress","type":"address"}],"name":"addAllowSender","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"_whiteAddresses","type":"address[]"}],"name":"addAllowSenders","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_dsc","type":"address"}],"name":"freeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"freezing","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"receiveLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"receiveUnlock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"receiveWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_whiteAddress","type":"address"}],"name":"removeAllowedReceiver","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"_whiteAddresses","type":"address[]"}],"name":"removeAllowedReceivers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_whiteAddress","type":"address"}],"name":"removeAllowedSender","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"_whiteAddresses","type":"address[]"}],"name":"removeAllowedSenders","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sendLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"sendUnlock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"sendWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_dsc","type":"address"}],"name":"unFreeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040526aa56fa5b99019a5c800000060055534801561001f57600080fd5b506100316001600160e01b036100e516565b600080546001600160a01b0319166001600160a01b03928316178082556040519216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36000805460ff60a01b191674010000000000000000000000000000000000000000178155338152600160208181526040808420805460ff1990811685179091556002805482168517905560038352818520805490911690931790925560055460069091529120556100e9565b3390565b611c3a806100f86000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c8063715018a61161010f578063990e3b95116100a2578063dd62ed3e11610071578063dd62ed3e14610770578063efaa78d61461079e578063f2fde38b146107c4578063f727b481146107ea576101e5565b8063990e3b95146105dc578063a9059cbb1461067d578063ab982a7a146106a9578063cf01b8661461074a576101e5565b80638da5cb5b116100de5780638da5cb5b146105a05780638f32d59b146105c45780639402d18d146105cc57806395d89b41146105d4576101e5565b8063715018a61461054457806383cfab421461054c5780638977ae88146105725780638d1fdf2f1461057a576101e5565b806327348abb11610187578063471eab5c11610156578063471eab5c146104315780634983b6e9146104575780635b8c1724146104f857806370a082311461051e576101e5565b806327348abb1461034d578063313ce567146103ee578063385202061461040c57806342966c6814610414576101e5565b806309a54e1e116101c357806309a54e1e146102cf5780631576c3d8146102d757806318160ddd146102fd57806323b872dd14610317576101e5565b80630591431b146101ea57806306fdde0314610212578063095ea7b31461028f575b600080fd5b6102106004803603602081101561020057600080fd5b50356001600160a01b0316610810565b005b61021a6108f8565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561025457818101518382015260200161023c565b50505050905090810190601f1680156102815780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102bb600480360360408110156102a557600080fd5b506001600160a01b03813516906020013561091e565b604080519115158252519081900360200190f35b6102106109cc565b6102bb600480360360208110156102ed57600080fd5b50356001600160a01b0316610a48565b610305610a5d565b60408051918252519081900360200190f35b6102bb6004803603606081101561032d57600080fd5b506001600160a01b03813581169160208101359091169060400135610a63565b6102106004803603602081101561036357600080fd5b810190602081018135600160201b81111561037d57600080fd5b82018360208201111561038f57600080fd5b803590602001918460208302840111600160201b831117156103b057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610d5e945050505050565b6103f6610dd9565b6040805160ff9092168252519081900360200190f35b610210610dde565b6102bb6004803603602081101561042a57600080fd5b5035610e5b565b6102106004803603602081101561044757600080fd5b50356001600160a01b0316610efd565b6102106004803603602081101561046d57600080fd5b810190602081018135600160201b81111561048757600080fd5b82018360208201111561049957600080fd5b803590602001918460208302840111600160201b831117156104ba57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610fe1945050505050565b6102106004803603602081101561050e57600080fd5b50356001600160a01b0316611058565b6103056004803603602081101561053457600080fd5b50356001600160a01b0316611155565b610210611167565b6102106004803603602081101561056257600080fd5b50356001600160a01b03166111f8565b6102bb611309565b6102106004803603602081101561059057600080fd5b50356001600160a01b0316611312565b6105a861146c565b604080516001600160a01b039092168252519081900360200190f35b6102bb61147b565b6102bb61149f565b61021a6114af565b610210600480360360208110156105f257600080fd5b810190602081018135600160201b81111561060c57600080fd5b82018360208201111561061e57600080fd5b803590602001918460208302840111600160201b8311171561063f57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506114ce945050505050565b6102bb6004803603604081101561069357600080fd5b506001600160a01b038135169060200135611545565b610210600480360360208110156106bf57600080fd5b810190602081018135600160201b8111156106d957600080fd5b8201836020820111156106eb57600080fd5b803590602001918460208302840111600160201b8311171561070c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611793945050505050565b6102bb6004803603602081101561076057600080fd5b50356001600160a01b031661180a565b6103056004803603604081101561078657600080fd5b506001600160a01b038135811691602001351661181f565b6102bb600480360360208110156107b457600080fd5b50356001600160a01b031661183c565b610210600480360360208110156107da57600080fd5b50356001600160a01b0316611851565b6102106004803603602081101561080057600080fd5b50356001600160a01b03166118a4565b61081861147b565b610857576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b6001600160a01b03811661089c5760405162461bcd60e51b8152600401808060200182810382526022815260200180611be46022913960400191505060405180910390fd5b6001600160a01b038116600081815260016020818152604092839020805460ff1916909217909155815192835290517f552315c2782d9c522a4d157eee9f419750065249ac4b59949c505dd72ba055659281900390910190a150565b6040518060400160405280600a8152602001691d1bdad95b905cdcd95d60b21b81525081565b60006001600160a01b0383166109655760405162461bcd60e51b8152600401808060200182810382526021815260200180611ba36021913960400191505060405180910390fd5b3360008181526007602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b6109d461147b565b610a13576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b6002805460ff191690556040517f9df191b1c35d06ea4bf8ae7f2d87979e4116f94c062d4d08abf8a6ea6da8ca3f90600090a1565b60046020526000908152604090205460ff1681565b60055481565b600080548490600160a01b900460ff1615610ae5576001600160a01b03811660009081526001602052604090205460ff16610ae5576040805162461bcd60e51b815260206004820152601d60248201527f53656e644c696d697465722f4e6f742d416c6c6f772d41646472657373000000604482015290519081900360640190fd5b600254849060ff1615610b5b576001600160a01b03811660009081526003602052604090205460ff16610b5b576040805162461bcd60e51b81526020600482015260196024820152784c696d697465722f4e6f742d416c6c6f772d4164647265737360381b604482015290519081900360640190fd5b6001600160a01b038616600090815260046020526040902054869060ff1615610bc4576040805162461bcd60e51b8152602060048201526016602482015275119c99595e994bd19c9bdb9e995b8b5058d8dbdd5b9d60521b604482015290519081900360640190fd5b6001600160a01b038716610c095760405162461bcd60e51b8152600401808060200182810382526021815260200180611ba36021913960400191505060405180910390fd5b6001600160a01b038616610c4e5760405162461bcd60e51b8152600401808060200182810382526021815260200180611ba36021913960400191505060405180910390fd5b6001600160a01b038716600090815260066020526040902054610c77908663ffffffff61199e16565b6001600160a01b038089166000908152600660205260408082209390935590881681522054610cac908663ffffffff6119e716565b6001600160a01b03808816600090815260066020908152604080832094909455918a168152600782528281203382529091522054610cf0908663ffffffff61199e16565b6001600160a01b0380891660008181526007602090815260408083203384528252918290209490945580518981529051928a169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019695505050505050565b610d6661147b565b610da5576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b60005b8151811015610dd557610dcd828281518110610dc057fe5b6020026020010151610810565b600101610da8565b5050565b601281565b610de661147b565b610e25576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b6000805460ff60a01b191681556040517f6a3dd1e805e1efaeafdc02d7b3288bf5a2ea889d8231f528afb1bccce433e3a29190a1565b33600090815260066020526040812054821115610e7757600080fd5b33600090815260066020526040902054610e97908363ffffffff61199e16565b33600090815260066020526040902055600554610eba908363ffffffff61199e16565b60055560408051838152905160009133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3506001919050565b610f0561147b565b610f44576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b6001600160a01b038116610f895760405162461bcd60e51b8152600401808060200182810382526022815260200180611be46022913960400191505060405180910390fd5b6001600160a01b038116600081815260016020908152604091829020805460ff19169055815192835290517fd0a3b248fb04dd30ae921975346ed6918b3e9f863444c55a77c76bc6cba1b9df9281900390910190a150565b610fe961147b565b611028576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b60005b8151811015610dd55761105082828151811061104357fe5b60200260200101516118a4565b60010161102b565b61106061147b565b61109f576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b6001600160a01b0381166110fa576040805162461bcd60e51b815260206004820152601e60248201527f4c696d697465722f4e6f742d416c6c6f772d5a65726f2d416464726573730000604482015290519081900360640190fd5b6001600160a01b038116600081815260036020908152604091829020805460ff19166001179055815192835290517f01c13833ffe17cfcb29dc7711fe18b789504029ee1ffbd8466d17ad87477fe8e9281900390910190a150565b60066020526000908152604090205481565b61116f61147b565b6111ae576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b61120061147b565b61123f576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff1615156001146112b1576040805162461bcd60e51b815260206004820152601860248201527f467265657a652f416c72656164792d556e667265657a65640000000000000000604482015290519081900360640190fd5b6001600160a01b038116600081815260046020908152604091829020805460ff19169055815192835290517f4d1fe3cc0f516ce2cfc5e83d52ee28af7f55376b18f58e7081c5fd25d8eeb1df9281900390910190a150565b60025460ff1681565b61131a61147b565b611359576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b6001600160a01b0381166113aa576040805162461bcd60e51b8152602060048201526013602482015272467265657a652f5a65726f2d4164647265737360681b604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff1615611411576040805162461bcd60e51b8152602060048201526016602482015275119c99595e994bd05b1c9958591e4b519c99595e995960521b604482015290519081900360640190fd5b6001600160a01b038116600081815260046020908152604091829020805460ff19166001179055815192835290517f0de8364a528e5ca2869160b20c375fe85b4e98d24a9cb48b4dc49c5f76d05b249281900390910190a150565b6000546001600160a01b031690565b600080546001600160a01b0316611490611a41565b6001600160a01b031614905090565b600054600160a01b900460ff1681565b60405180604001604052806003815260200162272a2160e91b81525081565b6114d661147b565b611515576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b60005b8151811015610dd55761153d82828151811061153057fe5b6020026020010151611058565b600101611518565b600080543390600160a01b900460ff16156115c7576001600160a01b03811660009081526001602052604090205460ff166115c7576040805162461bcd60e51b815260206004820152601d60248201527f53656e644c696d697465722f4e6f742d416c6c6f772d41646472657373000000604482015290519081900360640190fd5b600254849060ff161561163d576001600160a01b03811660009081526003602052604090205460ff1661163d576040805162461bcd60e51b81526020600482015260196024820152784c696d697465722f4e6f742d416c6c6f772d4164647265737360381b604482015290519081900360640190fd5b3360008181526004602052604090205460ff161561169b576040805162461bcd60e51b8152602060048201526016602482015275119c99595e994bd19c9bdb9e995b8b5058d8dbdd5b9d60521b604482015290519081900360640190fd5b6001600160a01b0386166116e05760405162461bcd60e51b8152600401808060200182810382526021815260200180611ba36021913960400191505060405180910390fd5b33600090815260066020526040902054611700908663ffffffff61199e16565b33600090815260066020526040808220929092556001600160a01b03881681522054611732908663ffffffff6119e716565b6001600160a01b0387166000818152600660209081526040918290209390935580518881529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600195945050505050565b61179b61147b565b6117da576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b60005b8151811015610dd5576118028282815181106117f557fe5b6020026020010151610efd565b6001016117dd565b60016020526000908152604090205460ff1681565b600760209081526000928352604080842090915290825290205481565b60036020526000908152604090205460ff1681565b61185961147b565b611898576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b6118a181611a45565b50565b6118ac61147b565b6118eb576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b6001600160a01b038116611946576040805162461bcd60e51b815260206004820152601e60248201527f4c696d697465722f4e6f742d416c6c6f772d5a65726f2d416464726573730000604482015290519081900360640190fd5b6001600160a01b038116600081815260036020908152604091829020805460ff19169055815192835290517f065aedbefec68faac9a15812f18f4211822fdd4064318e55eb69da11b56d03399281900390910190a150565b60006119e083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ae5565b9392505050565b6000828201838110156119e0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b3390565b6001600160a01b038116611a8a5760405162461bcd60e51b8152600401808060200182810382526026815260200180611b7d6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60008184841115611b745760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b39578181015183820152602001611b21565b50505050905090810190601f168015611b665780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373546f6b656e41737365742f4e6f742d416c6c6f772d5a65726f2d416464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657253656e644c696d697465722f4e6f742d416c6c6f772d5a65726f2d41646472657373a265627a7a72315820c0cf03ee2623f9b6eca61b9ee9f8d8c6f29591c00b1957722571125f20f734d964736f6c634300050e0032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101e55760003560e01c8063715018a61161010f578063990e3b95116100a2578063dd62ed3e11610071578063dd62ed3e14610770578063efaa78d61461079e578063f2fde38b146107c4578063f727b481146107ea576101e5565b8063990e3b95146105dc578063a9059cbb1461067d578063ab982a7a146106a9578063cf01b8661461074a576101e5565b80638da5cb5b116100de5780638da5cb5b146105a05780638f32d59b146105c45780639402d18d146105cc57806395d89b41146105d4576101e5565b8063715018a61461054457806383cfab421461054c5780638977ae88146105725780638d1fdf2f1461057a576101e5565b806327348abb11610187578063471eab5c11610156578063471eab5c146104315780634983b6e9146104575780635b8c1724146104f857806370a082311461051e576101e5565b806327348abb1461034d578063313ce567146103ee578063385202061461040c57806342966c6814610414576101e5565b806309a54e1e116101c357806309a54e1e146102cf5780631576c3d8146102d757806318160ddd146102fd57806323b872dd14610317576101e5565b80630591431b146101ea57806306fdde0314610212578063095ea7b31461028f575b600080fd5b6102106004803603602081101561020057600080fd5b50356001600160a01b0316610810565b005b61021a6108f8565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561025457818101518382015260200161023c565b50505050905090810190601f1680156102815780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102bb600480360360408110156102a557600080fd5b506001600160a01b03813516906020013561091e565b604080519115158252519081900360200190f35b6102106109cc565b6102bb600480360360208110156102ed57600080fd5b50356001600160a01b0316610a48565b610305610a5d565b60408051918252519081900360200190f35b6102bb6004803603606081101561032d57600080fd5b506001600160a01b03813581169160208101359091169060400135610a63565b6102106004803603602081101561036357600080fd5b810190602081018135600160201b81111561037d57600080fd5b82018360208201111561038f57600080fd5b803590602001918460208302840111600160201b831117156103b057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610d5e945050505050565b6103f6610dd9565b6040805160ff9092168252519081900360200190f35b610210610dde565b6102bb6004803603602081101561042a57600080fd5b5035610e5b565b6102106004803603602081101561044757600080fd5b50356001600160a01b0316610efd565b6102106004803603602081101561046d57600080fd5b810190602081018135600160201b81111561048757600080fd5b82018360208201111561049957600080fd5b803590602001918460208302840111600160201b831117156104ba57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610fe1945050505050565b6102106004803603602081101561050e57600080fd5b50356001600160a01b0316611058565b6103056004803603602081101561053457600080fd5b50356001600160a01b0316611155565b610210611167565b6102106004803603602081101561056257600080fd5b50356001600160a01b03166111f8565b6102bb611309565b6102106004803603602081101561059057600080fd5b50356001600160a01b0316611312565b6105a861146c565b604080516001600160a01b039092168252519081900360200190f35b6102bb61147b565b6102bb61149f565b61021a6114af565b610210600480360360208110156105f257600080fd5b810190602081018135600160201b81111561060c57600080fd5b82018360208201111561061e57600080fd5b803590602001918460208302840111600160201b8311171561063f57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506114ce945050505050565b6102bb6004803603604081101561069357600080fd5b506001600160a01b038135169060200135611545565b610210600480360360208110156106bf57600080fd5b810190602081018135600160201b8111156106d957600080fd5b8201836020820111156106eb57600080fd5b803590602001918460208302840111600160201b8311171561070c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611793945050505050565b6102bb6004803603602081101561076057600080fd5b50356001600160a01b031661180a565b6103056004803603604081101561078657600080fd5b506001600160a01b038135811691602001351661181f565b6102bb600480360360208110156107b457600080fd5b50356001600160a01b031661183c565b610210600480360360208110156107da57600080fd5b50356001600160a01b0316611851565b6102106004803603602081101561080057600080fd5b50356001600160a01b03166118a4565b61081861147b565b610857576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b6001600160a01b03811661089c5760405162461bcd60e51b8152600401808060200182810382526022815260200180611be46022913960400191505060405180910390fd5b6001600160a01b038116600081815260016020818152604092839020805460ff1916909217909155815192835290517f552315c2782d9c522a4d157eee9f419750065249ac4b59949c505dd72ba055659281900390910190a150565b6040518060400160405280600a8152602001691d1bdad95b905cdcd95d60b21b81525081565b60006001600160a01b0383166109655760405162461bcd60e51b8152600401808060200182810382526021815260200180611ba36021913960400191505060405180910390fd5b3360008181526007602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b6109d461147b565b610a13576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b6002805460ff191690556040517f9df191b1c35d06ea4bf8ae7f2d87979e4116f94c062d4d08abf8a6ea6da8ca3f90600090a1565b60046020526000908152604090205460ff1681565b60055481565b600080548490600160a01b900460ff1615610ae5576001600160a01b03811660009081526001602052604090205460ff16610ae5576040805162461bcd60e51b815260206004820152601d60248201527f53656e644c696d697465722f4e6f742d416c6c6f772d41646472657373000000604482015290519081900360640190fd5b600254849060ff1615610b5b576001600160a01b03811660009081526003602052604090205460ff16610b5b576040805162461bcd60e51b81526020600482015260196024820152784c696d697465722f4e6f742d416c6c6f772d4164647265737360381b604482015290519081900360640190fd5b6001600160a01b038616600090815260046020526040902054869060ff1615610bc4576040805162461bcd60e51b8152602060048201526016602482015275119c99595e994bd19c9bdb9e995b8b5058d8dbdd5b9d60521b604482015290519081900360640190fd5b6001600160a01b038716610c095760405162461bcd60e51b8152600401808060200182810382526021815260200180611ba36021913960400191505060405180910390fd5b6001600160a01b038616610c4e5760405162461bcd60e51b8152600401808060200182810382526021815260200180611ba36021913960400191505060405180910390fd5b6001600160a01b038716600090815260066020526040902054610c77908663ffffffff61199e16565b6001600160a01b038089166000908152600660205260408082209390935590881681522054610cac908663ffffffff6119e716565b6001600160a01b03808816600090815260066020908152604080832094909455918a168152600782528281203382529091522054610cf0908663ffffffff61199e16565b6001600160a01b0380891660008181526007602090815260408083203384528252918290209490945580518981529051928a169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019695505050505050565b610d6661147b565b610da5576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b60005b8151811015610dd557610dcd828281518110610dc057fe5b6020026020010151610810565b600101610da8565b5050565b601281565b610de661147b565b610e25576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b6000805460ff60a01b191681556040517f6a3dd1e805e1efaeafdc02d7b3288bf5a2ea889d8231f528afb1bccce433e3a29190a1565b33600090815260066020526040812054821115610e7757600080fd5b33600090815260066020526040902054610e97908363ffffffff61199e16565b33600090815260066020526040902055600554610eba908363ffffffff61199e16565b60055560408051838152905160009133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3506001919050565b610f0561147b565b610f44576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b6001600160a01b038116610f895760405162461bcd60e51b8152600401808060200182810382526022815260200180611be46022913960400191505060405180910390fd5b6001600160a01b038116600081815260016020908152604091829020805460ff19169055815192835290517fd0a3b248fb04dd30ae921975346ed6918b3e9f863444c55a77c76bc6cba1b9df9281900390910190a150565b610fe961147b565b611028576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b60005b8151811015610dd55761105082828151811061104357fe5b60200260200101516118a4565b60010161102b565b61106061147b565b61109f576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b6001600160a01b0381166110fa576040805162461bcd60e51b815260206004820152601e60248201527f4c696d697465722f4e6f742d416c6c6f772d5a65726f2d416464726573730000604482015290519081900360640190fd5b6001600160a01b038116600081815260036020908152604091829020805460ff19166001179055815192835290517f01c13833ffe17cfcb29dc7711fe18b789504029ee1ffbd8466d17ad87477fe8e9281900390910190a150565b60066020526000908152604090205481565b61116f61147b565b6111ae576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b61120061147b565b61123f576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff1615156001146112b1576040805162461bcd60e51b815260206004820152601860248201527f467265657a652f416c72656164792d556e667265657a65640000000000000000604482015290519081900360640190fd5b6001600160a01b038116600081815260046020908152604091829020805460ff19169055815192835290517f4d1fe3cc0f516ce2cfc5e83d52ee28af7f55376b18f58e7081c5fd25d8eeb1df9281900390910190a150565b60025460ff1681565b61131a61147b565b611359576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b6001600160a01b0381166113aa576040805162461bcd60e51b8152602060048201526013602482015272467265657a652f5a65726f2d4164647265737360681b604482015290519081900360640190fd5b6001600160a01b03811660009081526004602052604090205460ff1615611411576040805162461bcd60e51b8152602060048201526016602482015275119c99595e994bd05b1c9958591e4b519c99595e995960521b604482015290519081900360640190fd5b6001600160a01b038116600081815260046020908152604091829020805460ff19166001179055815192835290517f0de8364a528e5ca2869160b20c375fe85b4e98d24a9cb48b4dc49c5f76d05b249281900390910190a150565b6000546001600160a01b031690565b600080546001600160a01b0316611490611a41565b6001600160a01b031614905090565b600054600160a01b900460ff1681565b60405180604001604052806003815260200162272a2160e91b81525081565b6114d661147b565b611515576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b60005b8151811015610dd55761153d82828151811061153057fe5b6020026020010151611058565b600101611518565b600080543390600160a01b900460ff16156115c7576001600160a01b03811660009081526001602052604090205460ff166115c7576040805162461bcd60e51b815260206004820152601d60248201527f53656e644c696d697465722f4e6f742d416c6c6f772d41646472657373000000604482015290519081900360640190fd5b600254849060ff161561163d576001600160a01b03811660009081526003602052604090205460ff1661163d576040805162461bcd60e51b81526020600482015260196024820152784c696d697465722f4e6f742d416c6c6f772d4164647265737360381b604482015290519081900360640190fd5b3360008181526004602052604090205460ff161561169b576040805162461bcd60e51b8152602060048201526016602482015275119c99595e994bd19c9bdb9e995b8b5058d8dbdd5b9d60521b604482015290519081900360640190fd5b6001600160a01b0386166116e05760405162461bcd60e51b8152600401808060200182810382526021815260200180611ba36021913960400191505060405180910390fd5b33600090815260066020526040902054611700908663ffffffff61199e16565b33600090815260066020526040808220929092556001600160a01b03881681522054611732908663ffffffff6119e716565b6001600160a01b0387166000818152600660209081526040918290209390935580518881529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600195945050505050565b61179b61147b565b6117da576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b60005b8151811015610dd5576118028282815181106117f557fe5b6020026020010151610efd565b6001016117dd565b60016020526000908152604090205460ff1681565b600760209081526000928352604080842090915290825290205481565b60036020526000908152604090205460ff1681565b61185961147b565b611898576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b6118a181611a45565b50565b6118ac61147b565b6118eb576040805162461bcd60e51b81526020600482018190526024820152600080516020611bc4833981519152604482015290519081900360640190fd5b6001600160a01b038116611946576040805162461bcd60e51b815260206004820152601e60248201527f4c696d697465722f4e6f742d416c6c6f772d5a65726f2d416464726573730000604482015290519081900360640190fd5b6001600160a01b038116600081815260036020908152604091829020805460ff19169055815192835290517f065aedbefec68faac9a15812f18f4211822fdd4064318e55eb69da11b56d03399281900390910190a150565b60006119e083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ae5565b9392505050565b6000828201838110156119e0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b3390565b6001600160a01b038116611a8a5760405162461bcd60e51b8152600401808060200182810382526026815260200180611b7d6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60008184841115611b745760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b39578181015183820152602001611b21565b50505050905090810190601f168015611b665780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505090039056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373546f6b656e41737365742f4e6f742d416c6c6f772d5a65726f2d416464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657253656e644c696d697465722f4e6f742d416c6c6f772d5a65726f2d41646472657373a265627a7a72315820c0cf03ee2623f9b6eca61b9ee9f8d8c6f29591c00b1957722571125f20f734d964736f6c634300050e0032

Deployed Bytecode Sourcemap

17533:3929:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17533:3929:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12326:249;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12326:249:0;-1:-1:-1;;;;;12326:249:0;;:::i;:::-;;17652:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;17652:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21142:317;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;21142:317:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;16771:116;;;:::i;10063:41::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10063:41:0;-1:-1:-1;;;;;10063:41:0;;:::i;17787:::-;;;:::i;:::-;;;;;;;;;;;;;;;;19544:609;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;19544:609:0;;;;;;;;;;;;;;;;;:::i;12746:208::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12746:208:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;12746:208:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;12746:208:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;12746:208:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;12746:208:0;;-1:-1:-1;12746:208:0;;-1:-1:-1;;;;;12746:208:0:i;17745:35::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13825:107;;;:::i;20495:338::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20495:338:0;;:::i;13117:251::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13117:251:0;-1:-1:-1;;;;;13117:251:0;;:::i;16480:222::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16480:222:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;16480:222:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;16480:222:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;16480:222:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;16480:222:0;;-1:-1:-1;16480:222:0;;-1:-1:-1;;;;;16480:222:0:i;15239:253::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15239:253:0;-1:-1:-1;;;;;15239:253:0;;:::i;17837:45::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17837:45:0;-1:-1:-1;;;;;17837:45:0;;:::i;2920:140::-;;;:::i;10870:196::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10870:196:0;-1:-1:-1;;;;;10870:196:0;;:::i;14568:24::-;;;:::i;10424:252::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10424:252:0;-1:-1:-1;;;;;10424:252:0;;:::i;2109:79::-;;;:::i;:::-;;;;-1:-1:-1;;;;;2109:79:0;;;;;;;;;;;;;;2475:94;;;:::i;11681:21::-;;;:::i;17701:37::-;;;:::i;15669:212::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15669:212:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;15669:212:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;15669:212:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;15669:212:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;15669:212:0;;-1:-1:-1;15669:212:0;;-1:-1:-1;;;;;15669:212:0:i;18589:448::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;18589:448:0;;;;;;;;:::i;13537:218::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13537:218:0;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;13537:218:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;13537:218:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;13537:218:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;13537:218:0;;-1:-1:-1;13537:218:0;;-1:-1:-1;;;;;13537:218:0:i;11709:46::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11709:46:0;-1:-1:-1;;;;;11709:46:0;;:::i;17889:65::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;17889:65:0;;;;;;;;;;:::i;14599:49::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14599:49:0;-1:-1:-1;;;;;14599:49:0;;:::i;3215:109::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3215:109:0;-1:-1:-1;;;;;3215:109:0;;:::i;16050:255::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16050:255:0;-1:-1:-1;;;;;16050:255:0;;:::i;12326:249::-;2321:9;:7;:9::i;:::-;2313:54;;;;;-1:-1:-1;;;2313:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2313:54:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;12409:27:0;;12401:74;;;;-1:-1:-1;;;12401:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12486:28:0;;;;;;12517:4;12486:28;;;;;;;;;:35;;-1:-1:-1;;12486:35:0;;;;;;;12537:30;;;;;;;;;;;;;;;;;12326:249;:::o;17652:42::-;;;;;;;;;;;;;;-1:-1:-1;;;17652:42:0;;;;:::o;21142:317::-;21237:4;-1:-1:-1;;;;;21262:22:0;;21254:68;;;;-1:-1:-1;;;21254:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21343:10;21333:21;;;;:9;:21;;;;;;;;-1:-1:-1;;;;;21333:31:0;;;;;;;;;;;;:40;;;21389:38;;;;;;;21333:31;;21343:10;21389:38;;;;;;;;;;;-1:-1:-1;21447:4:0;21142:317;;;;:::o;16771:116::-;2321:9;:7;:9::i;:::-;2313:54;;;;;-1:-1:-1;;;2313:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2313:54:0;;;;;;;;;;;;;;;16826:12;:20;;-1:-1:-1;;16826:20:0;;;16862:17;;;;16841:5;;16862:17;16771:116::o;10063:41::-;;;;;;;;;;;;;;;:::o;17787:::-;;;;:::o;19544:609::-;19723:4;12070:9;;19668:5;;-1:-1:-1;;;12070:9:0;;;;12066:75;;;-1:-1:-1;;;;;12089:18:0;;;;;;:13;:18;;;;;;;;12081:60;;;;;-1:-1:-1;;;12081:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14975:12;;19692:3;;14975:12;;14971:77;;;-1:-1:-1;;;;;14997:21:0;;;;;;:16;:21;;;;;;;;14989:59;;;;;-1:-1:-1;;;14989:59:0;;;;;;;;;;;;-1:-1:-1;;;14989:59:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;10165:13:0;;;;;;:8;:13;;;;;;19707:5;;10165:13;;:22;10157:57;;;;;-1:-1:-1;;;10157:57:0;;;;;;;;;;;;-1:-1:-1;;;10157:57:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;19748:19:0;;19740:65;;;;-1:-1:-1;;;19740:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19824:17:0;;19816:63;;;;-1:-1:-1;;;19816:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19911:16:0;;;;;;:9;:16;;;;;;:28;;19932:6;19911:28;:20;:28;:::i;:::-;-1:-1:-1;;;;;19892:16:0;;;;;;;:9;:16;;;;;;:47;;;;19967:14;;;;;;;:26;;19986:6;19967:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;19950:14:0;;;;;;;:9;:14;;;;;;;;:43;;;;20035:16;;;;;:9;:16;;;;;20052:10;20035:28;;;;;;;:40;;20068:6;20035:40;:32;:40;:::i;:::-;-1:-1:-1;;;;;20004:16:0;;;;;;;:9;:16;;;;;;;;20021:10;20004:28;;;;;;;;:71;;;;20093:28;;;;;;;;;;;20004:16;;20093:28;;;;;;;;;;;-1:-1:-1;20141:4:0;;19544:609;-1:-1:-1;;;;;;19544:609:0:o;12746:208::-;2321:9;:7;:9::i;:::-;2313:54;;;;;-1:-1:-1;;;2313:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2313:54:0;;;;;;;;;;;;;;;12838:9;12833:114;12857:15;:22;12853:1;:26;12833:114;;;12901:34;12916:15;12932:1;12916:18;;;;;;;;;;;;;;12901:14;:34::i;:::-;12881:3;;12833:114;;;;12746:208;:::o;17745:35::-;17778:2;17745:35;:::o;13825:107::-;2321:9;:7;:9::i;:::-;2313:54;;;;;-1:-1:-1;;;2313:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2313:54:0;;;;;;;;;;;;;;;13889:5;13877:17;;-1:-1:-1;;;;13877:17:0;;;13910:14;;;;13889:5;13910:14;13825:107::o;20495:338::-;20605:10;20560:4;20595:21;;;:9;:21;;;;;;20585:31;;;20577:40;;;;;;20664:10;20654:21;;;;:9;:21;;;;;;:33;;20680:6;20654:33;:25;:33;:::i;:::-;20640:10;20630:21;;;;:9;:21;;;;;:57;20712:11;;:23;;20728:6;20712:23;:15;:23;:::i;:::-;20698:11;:37;20753:40;;;;;;;;20782:1;;20762:10;;20753:40;;;;;;;;;-1:-1:-1;20821:4:0;20495:338;;;:::o;13117:251::-;2321:9;:7;:9::i;:::-;2313:54;;;;;-1:-1:-1;;;2313:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2313:54:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;13205:27:0;;13197:74;;;;-1:-1:-1;;;13197:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13289:28:0;;;;;;:13;:28;;;;;;;;;13282:35;;-1:-1:-1;;13282:35:0;;;13333:27;;;;;;;;;;;;;;;;;13117:251;:::o;16480:222::-;2321:9;:7;:9::i;:::-;2313:54;;;;;-1:-1:-1;;;2313:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2313:54:0;;;;;;;;;;;;;;;16579:9;16574:121;16598:15;:22;16594:1;:26;16574:121;;;16642:41;16664:15;16680:1;16664:18;;;;;;;;;;;;;;16642:21;:41::i;:::-;16622:3;;16574:121;;15239:253;2321:9;:7;:9::i;:::-;2313:54;;;;;-1:-1:-1;;;2313:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2313:54:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;15324:27:0;;15316:70;;;;;-1:-1:-1;;;15316:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15397:31:0;;;;;;:16;:31;;;;;;;;;:38;;-1:-1:-1;;15397:38:0;15431:4;15397:38;;;15451:33;;;;;;;;;;;;;;;;;15239:253;:::o;17837:45::-;;;;;;;;;;;;;:::o;2920:140::-;2321:9;:7;:9::i;:::-;2313:54;;;;;-1:-1:-1;;;2313:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2313:54:0;;;;;;;;;;;;;;;3019:1;3003:6;;2982:40;;-1:-1:-1;;;;;3003:6:0;;;;2982:40;;3019:1;;2982:40;3050:1;3033:19;;-1:-1:-1;;;;;;3033:19:0;;;2920:140::o;10870:196::-;2321:9;:7;:9::i;:::-;2313:54;;;;;-1:-1:-1;;;2313:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2313:54:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;10940:14:0;;;;;;:8;:14;;;;;;;;:22;;:14;:22;10932:59;;;;;-1:-1:-1;;;10932:59:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11011:14:0;;;;;;:8;:14;;;;;;;;;11004:21;;-1:-1:-1;;11004:21:0;;;11043:15;;;;;;;;;;;;;;;;;10870:196;:::o;14568:24::-;;;;;;:::o;10424:252::-;2321:9;:7;:9::i;:::-;2313:54;;;;;-1:-1:-1;;;2313:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2313:54:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;10492:18:0;;10484:50;;;;;-1:-1:-1;;;10484:50:0;;;;;;;;;;;;-1:-1:-1;;;10484:50:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;10553:14:0;;;;;;:8;:14;;;;;;;;:23;10545:58;;;;;-1:-1:-1;;;10545:58:0;;;;;;;;;;;;-1:-1:-1;;;10545:58:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;10616:14:0;;;;;;:8;:14;;;;;;;;;:21;;-1:-1:-1;;10616:21:0;10633:4;10616:21;;;10655:13;;;;;;;;;;;;;;;;;10424:252;:::o;2109:79::-;2147:7;2174:6;-1:-1:-1;;;;;2174:6:0;2109:79;:::o;2475:94::-;2515:4;2555:6;;-1:-1:-1;;;;;2555:6:0;2539:12;:10;:12::i;:::-;-1:-1:-1;;;;;2539:22:0;;2532:29;;2475:94;:::o;11681:21::-;;;-1:-1:-1;;;11681:21:0;;;;;:::o;17701:37::-;;;;;;;;;;;;;;-1:-1:-1;;;17701:37:0;;;;:::o;15669:212::-;2321:9;:7;:9::i;:::-;2313:54;;;;;-1:-1:-1;;;2313:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2313:54:0;;;;;;;;;;;;;;;15763:9;15758:116;15782:15;:22;15778:1;:26;15758:116;;;15826:36;15843:15;15859:1;15843:18;;;;;;;;;;;;;;15826:16;:36::i;:::-;15806:3;;15758:116;;18589:448;18750:4;12070:9;;18685:10;;-1:-1:-1;;;12070:9:0;;;;12066:75;;;-1:-1:-1;;;;;12089:18:0;;;;;;:13;:18;;;;;;;;12081:60;;;;;-1:-1:-1;;;12081:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14975:12;;18714:3;;14975:12;;14971:77;;;-1:-1:-1;;;;;14997:21:0;;;;;;:16;:21;;;;;;;;14989:59;;;;;-1:-1:-1;;;14989:59:0;;;;;;;;;;;;-1:-1:-1;;;14989:59:0;;;;;;;;;;;;;;;18729:10;10165:13;;;;:8;:13;;;;;;;;:22;10157:57;;;;;-1:-1:-1;;;10157:57:0;;;;;;;;;;;;-1:-1:-1;;;10157:57:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;18775:17:0;;18767:63;;;;-1:-1:-1;;;18767:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18877:10;18867:21;;;;:9;:21;;;;;;:33;;18893:6;18867:33;:25;:33;:::i;:::-;18853:10;18843:21;;;;:9;:21;;;;;;:57;;;;-1:-1:-1;;;;;18928:14:0;;;;;;:26;;18947:6;18928:26;:18;:26;:::i;:::-;-1:-1:-1;;;;;18911:14:0;;;;;;:9;:14;;;;;;;;;:43;;;;18972:33;;;;;;;18911:14;;18981:10;;18972:33;;;;;;;;;;-1:-1:-1;19025:4:0;;18589:448;-1:-1:-1;;;;;18589:448:0:o;13537:218::-;2321:9;:7;:9::i;:::-;2313:54;;;;;-1:-1:-1;;;2313:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2313:54:0;;;;;;;;;;;;;;;13634:9;13629:119;13653:15;:22;13649:1;:26;13629:119;;;13697:39;13717:15;13733:1;13717:18;;;;;;;;;;;;;;13697:19;:39::i;:::-;13677:3;;13629:119;;11709:46;;;;;;;;;;;;;;;:::o;17889:65::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;14599:49::-;;;;;;;;;;;;;;;:::o;3215:109::-;2321:9;:7;:9::i;:::-;2313:54;;;;;-1:-1:-1;;;2313:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2313:54:0;;;;;;;;;;;;;;;3288:28;3307:8;3288:18;:28::i;:::-;3215:109;:::o;16050:255::-;2321:9;:7;:9::i;:::-;2313:54;;;;;-1:-1:-1;;;2313:54:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2313:54:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;16140:27:0;;16132:70;;;;;-1:-1:-1;;;16132:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16220:31:0;;;;;;:16;:31;;;;;;;;;16213:38;;-1:-1:-1;;16213:38:0;;;16267:30;;;;;;;;;;;;;;;;;16050:255;:::o;5543:136::-;5601:7;5628:43;5632:1;5635;5628:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;5621:50;5543:136;-1:-1:-1;;;5543:136:0:o;5087:181::-;5145:7;5177:5;;;5201:6;;;;5193:46;;;;;-1:-1:-1;;;5193:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;858:98;938:10;858:98;:::o;3430:229::-;-1:-1:-1;;;;;3504:22:0;;3496:73;;;;-1:-1:-1;;;3496:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3606:6;;;3585:38;;-1:-1:-1;;;;;3585:38:0;;;;3606:6;;;3585:38;;;3634:6;:17;;-1:-1:-1;;;;;;3634:17:0;-1:-1:-1;;;;;3634:17:0;;;;;;;;;;3430:229::o;6016:192::-;6102:7;6138:12;6130:6;;;;6122:29;;;;-1:-1:-1;;;6122:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6122:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6174:5:0;;;6016:192::o

Swarm Source

bzzr://c0cf03ee2623f9b6eca61b9ee9f8d8c6f29591c00b1957722571125f20f734d9
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.