ETH Price: $2,505.40 (-0.24%)

Token

LUKSO (LYXe)
 

Overview

Max Total Supply

99,999,999.638751912981758194 LYXe

Holders

12,353 ( -0.049%)

Market

Price

$1.37 @ 0.000547 ETH (-7.68%)

Onchain Market Cap

$137,152,235.41

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
32.144776901952793002 LYXe

Value
$44.09 ( ~0.0175979757229114 Eth) [0.0000%]
0x4511817bd9bc897db50f0960b361f023764f8bc5
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

LUKSO, the Blockchain for the new digital lifestyle is created by former Ethereum Developer Fabian Vogelsteller, author of ERC20 and web3.js. LUKSO is a place where the worlds of fashion, gaming, design, and social media intersect.

Market

Volume (24H):$10,403.43
Market Capitalization:$0.00
Circulating Supply:0.00 LYXe
Market Data Source: Coinmarketcap

ICO Information

ICO Start Date : May 27, 2020
ICO End Date : Feb 1, 2021
Public Sale Allocation : 20000000 LYXe
ICO Launchpad : https://www.kucoin.com/spotlight/104
Country : Germany

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ReversibleICOToken

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
Yes with 200 runs

Other Settings:
petersburg EvmVersion, Apache-2.0 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-05-13
*/

/**
 *Submitted for verification at Etherscan.io on 2020-05-13
*/
/*
 * source        https://github.com/lukso-network/rICO-smart-contracts
 * @name       LUKSO Token
 * @author      Micky Socaci <[email protected]>, Fabian Vogelsteller <@frozeman>
 * @license     Apachae 2.0
 */

/**
 * @dev Implementation of the `IERC777` interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using `_mint`.
 *
 * Support for ERC20 is included in this contract, as specified by the EIP: both
 * the ERC777 and ERC20 interfaces can be safely used when interacting with it.
 * Both `IERC777.Sent` and `IERC20.Transfer` events are emitted on token
 * movements.
 *
 * Additionally, the `granularity` value is hard-coded to `1`, meaning that there
 * are no special restrictions in the amount of tokens that created, moved, or
 * destroyed. This makes integration with ERC20 applications seamless.
 */

pragma solidity ^0.5.0;


interface IERC777 {
    
    function name() external view returns (string memory);

    
    function symbol() external view returns (string memory);

    
    function granularity() external view returns (uint256);

    
    function totalSupply() external view returns (uint256);

    
    function balanceOf(address owner) external view returns (uint256);

    
    function send(address recipient, uint256 amount, bytes calldata data) external;

    
    function burn(uint256 amount, bytes calldata data) external;

    
    function isOperatorFor(address operator, address tokenHolder) external view returns (bool);

    
    function authorizeOperator(address operator) external;

    
    function revokeOperator(address operator) external;

    
    function defaultOperators() external view returns (address[] memory);

    
    function operatorSend(
        address sender,
        address recipient,
        uint256 amount,
        bytes calldata data,
        bytes calldata operatorData
    ) external;

    
    function operatorBurn(
        address account,
        uint256 amount,
        bytes calldata data,
        bytes calldata operatorData
    ) external;

    event Sent(
        address indexed operator,
        address indexed from,
        address indexed to,
        uint256 amount,
        bytes data,
        bytes operatorData
    );

    event Minted(address indexed operator, address indexed to, uint256 amount, bytes data, bytes operatorData);

    event Burned(address indexed operator, address indexed from, uint256 amount, bytes data, bytes operatorData);

    event AuthorizedOperator(address indexed operator, address indexed tokenHolder);

    event RevokedOperator(address indexed operator, address indexed tokenHolder);
}

interface IERC777Recipient {
    
    function tokensReceived(
        address operator,
        address from,
        address to,
        uint256 amount,
        bytes calldata userData,
        bytes calldata operatorData
    ) external;
}

interface IERC777Sender {
    
    function tokensToSend(
        address operator,
        address from,
        address to,
        uint256 amount,
        bytes calldata userData,
        bytes calldata operatorData
    ) external;
}

interface IERC20 {
    
    function totalSupply() external view returns (uint256);

    
    function balanceOf(address account) external view returns (uint256);

    
    function transfer(address recipient, uint256 amount) external returns (bool);

    
    function allowance(address owner, address spender) external view returns (uint256);

    
    function approve(address spender, uint256 amount) external returns (bool);

    
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

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

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

library SafeMath {
    
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }

    
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        
        
        
        if (a == 0) {
            return 0;
        }

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

        return c;
    }

    
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        

        return c;
    }

    
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0, "SafeMath: modulo by zero");
        return a % b;
    }
}

library Address {
    
    function isContract(address account) internal view returns (bool) {
        
        
        
        
        
        
        
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        
        assembly { codehash := extcodehash(account) }
        return (codehash != 0x0 && codehash != accountHash);
    }

    
    function toPayable(address account) internal pure returns (address payable) {
        return address(uint160(account));
    }
}

interface IERC1820Registry {
    
    function setManager(address account, address newManager) external;

    
    function getManager(address account) external view returns (address);

    
    function setInterfaceImplementer(address account, bytes32 interfaceHash, address implementer) external;

    
    function getInterfaceImplementer(address account, bytes32 interfaceHash) external view returns (address);

    
    function interfaceHash(string calldata interfaceName) external pure returns (bytes32);

    
    function updateERC165Cache(address account, bytes4 interfaceId) external;

    
    function implementsERC165Interface(address account, bytes4 interfaceId) external view returns (bool);

    
    function implementsERC165InterfaceNoCache(address account, bytes4 interfaceId) external view returns (bool);

    event InterfaceImplementerSet(address indexed account, bytes32 indexed interfaceHash, address indexed implementer);

    event ManagerChanged(address indexed account, address indexed newManager);
}

contract ERC777 is IERC777, IERC20 {
    using SafeMath for uint256;
    using Address for address;

    IERC1820Registry private _erc1820 = IERC1820Registry(0x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24);

    mapping(address => uint256) private _balances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

    
    

    
    bytes32 constant private TOKENS_SENDER_INTERFACE_HASH =
        0x29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe895;

    
    bytes32 constant private TOKENS_RECIPIENT_INTERFACE_HASH =
        0xb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b;

    
    address[] private _defaultOperatorsArray;

    
    mapping(address => bool) private _defaultOperators;

    
    mapping(address => mapping(address => bool)) private _operators;
    mapping(address => mapping(address => bool)) private _revokedDefaultOperators;

    
    mapping (address => mapping (address => uint256)) private _allowances;

    
    constructor(
        string memory name,
        string memory symbol,
        address[] memory defaultOperators
    ) public {
        _name = name;
        _symbol = symbol;

        _defaultOperatorsArray = defaultOperators;
        for (uint256 i = 0; i < _defaultOperatorsArray.length; i++) {
            _defaultOperators[_defaultOperatorsArray[i]] = true;
        }

        
        _erc1820.setInterfaceImplementer(address(this), keccak256("ERC777Token"), address(this));
        _erc1820.setInterfaceImplementer(address(this), keccak256("ERC20Token"), address(this));
    }

    
    function name() public view returns (string memory) {
        return _name;
    }

    
    function symbol() public view returns (string memory) {
        return _symbol;
    }

    
    function decimals() public pure returns (uint8) {
        return 18;
    }

    
    function granularity() public view returns (uint256) {
        return 1;
    }

    
    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

    
    function balanceOf(address tokenHolder) public view returns (uint256) {
        return _balances[tokenHolder];
    }

    
    function send(address recipient, uint256 amount, bytes calldata data) external {
        _send(msg.sender, msg.sender, recipient, amount, data, "", true);
    }

    
    function transfer(address recipient, uint256 amount) external returns (bool) {
        require(recipient != address(0), "ERC777: transfer to the zero address");

        address from = msg.sender;

        _callTokensToSend(from, from, recipient, amount, "", "");

        _move(from, from, recipient, amount, "", "");

        _callTokensReceived(from, from, recipient, amount, "", "", false);

        return true;
    }

    
    function burn(uint256 amount, bytes calldata data) external {
        _burn(msg.sender, msg.sender, amount, data, "");
    }

    
    function isOperatorFor(
        address operator,
        address tokenHolder
    ) public view returns (bool) {
        return operator == tokenHolder ||
            (_defaultOperators[operator] && !_revokedDefaultOperators[tokenHolder][operator]) ||
            _operators[tokenHolder][operator];
    }

    
    function authorizeOperator(address operator) external {
        require(msg.sender != operator, "ERC777: authorizing self as operator");

        if (_defaultOperators[operator]) {
            delete _revokedDefaultOperators[msg.sender][operator];
        } else {
            _operators[msg.sender][operator] = true;
        }

        emit AuthorizedOperator(operator, msg.sender);
    }

    
    function revokeOperator(address operator) external {
        require(operator != msg.sender, "ERC777: revoking self as operator");

        if (_defaultOperators[operator]) {
            _revokedDefaultOperators[msg.sender][operator] = true;
        } else {
            delete _operators[msg.sender][operator];
        }

        emit RevokedOperator(operator, msg.sender);
    }

    
    function defaultOperators() public view returns (address[] memory) {
        return _defaultOperatorsArray;
    }

    
    function operatorSend(
        address sender,
        address recipient,
        uint256 amount,
        bytes calldata data,
        bytes calldata operatorData
    )
    external
    {
        require(isOperatorFor(msg.sender, sender), "ERC777: caller is not an operator for holder");
        _send(msg.sender, sender, recipient, amount, data, operatorData, true);
    }

    
    function operatorBurn(address account, uint256 amount, bytes calldata data, bytes calldata operatorData) external {
        require(isOperatorFor(msg.sender, account), "ERC777: caller is not an operator for holder");
        _burn(msg.sender, account, amount, data, operatorData);
    }

    
    function allowance(address holder, address spender) public view returns (uint256) {
        return _allowances[holder][spender];
    }

    
    function approve(address spender, uint256 value) external returns (bool) {
        address holder = msg.sender;
        _approve(holder, spender, value);
        return true;
    }

   
    function transferFrom(address holder, address recipient, uint256 amount) external returns (bool) {
        require(recipient != address(0), "ERC777: transfer to the zero address");
        require(holder != address(0), "ERC777: transfer from the zero address");

        address spender = msg.sender;

        _callTokensToSend(spender, holder, recipient, amount, "", "");

        _move(spender, holder, recipient, amount, "", "");
        _approve(holder, spender, _allowances[holder][spender].sub(amount));

        _callTokensReceived(spender, holder, recipient, amount, "", "", false);

        return true;
    }

    
    function _mint(
        address operator,
        address account,
        uint256 amount,
        bytes memory userData,
        bytes memory operatorData
    )
    internal
    {
        require(account != address(0), "ERC777: mint to the zero address");

        
        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);

        _callTokensReceived(operator, address(0), account, amount, userData, operatorData, true);

        emit Minted(operator, account, amount, userData, operatorData);
        emit Transfer(address(0), account, amount);
    }

    
    function _send(
        address operator,
        address from,
        address to,
        uint256 amount,
        bytes memory userData,
        bytes memory operatorData,
        bool requireReceptionAck
    )
        private
    {
        require(from != address(0), "ERC777: send from the zero address");
        require(to != address(0), "ERC777: send to the zero address");

        _callTokensToSend(operator, from, to, amount, userData, operatorData);

        _move(operator, from, to, amount, userData, operatorData);

        _callTokensReceived(operator, from, to, amount, userData, operatorData, requireReceptionAck);
    }

    
    function _burn(
        address operator,
        address from,
        uint256 amount,
        bytes memory data,
        bytes memory operatorData
    )
        internal
    {
        require(from != address(0), "ERC777: burn from the zero address");

        _callTokensToSend(operator, from, address(0), amount, data, operatorData);

        
        _totalSupply = _totalSupply.sub(amount);
        _balances[from] = _balances[from].sub(amount);

        emit Burned(operator, from, amount, data, operatorData);
        emit Transfer(from, address(0), amount);
    }

    function _move(
        address operator,
        address from,
        address to,
        uint256 amount,
        bytes memory userData,
        bytes memory operatorData
    )
        internal
    {
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount);

        emit Sent(operator, from, to, amount, userData, operatorData);
        emit Transfer(from, to, amount);
    }

    function _approve(address holder, address spender, uint256 value) private {
        
        
        
        require(spender != address(0), "ERC777: approve to the zero address");

        _allowances[holder][spender] = value;
        emit Approval(holder, spender, value);
    }

    
    function _callTokensToSend(
        address operator,
        address from,
        address to,
        uint256 amount,
        bytes memory userData,
        bytes memory operatorData
    )
        private
    {
        address implementer = _erc1820.getInterfaceImplementer(from, TOKENS_SENDER_INTERFACE_HASH);
        if (implementer != address(0)) {
            IERC777Sender(implementer).tokensToSend(operator, from, to, amount, userData, operatorData);
        }
    }

    
    function _callTokensReceived(
        address operator,
        address from,
        address to,
        uint256 amount,
        bytes memory userData,
        bytes memory operatorData,
        bool requireReceptionAck
    )
        private
    {
        address implementer = _erc1820.getInterfaceImplementer(to, TOKENS_RECIPIENT_INTERFACE_HASH);
        if (implementer != address(0)) {
            IERC777Recipient(implementer).tokensReceived(operator, from, to, amount, userData, operatorData);
        } else if (requireReceptionAck) {
            require(!to.isContract(), "ERC777: token recipient contract has no implementer for ERC777TokensRecipient");
        }
    }
}

interface ReversibleICO {
    function getParticipantReservedTokens(address) external view returns (uint256);
}

contract ReversibleICOToken is ERC777 {

    ReversibleICO public rICO;

    bool public frozen; 
    bool public initialized; 
    
    
    address public deployingAddress;
    address public tokenGenesisAddress; 
    address public migrationAddress; 
    address public freezerAddress; 
    address public rescuerAddress; 

    
    event SetRICOaddress(address indexed rICOAddress);
    event SetMigrationAddress(address indexed migrationAddress);
    event Frozen(address indexed freezerAddress);
    event Unfrozen(address indexed freezerAddress);
    event RemovedFreezer(address indexed freezerAddress);
    event ChangedRICO(address indexed rICOAddress, address indexed rescuerAddress);


    

    constructor(
        string memory name,
        string memory symbol,
        address[] memory _defaultOperators
    )
    ERC777(name, symbol, _defaultOperators)
    public
    {
        deployingAddress = msg.sender;
    }

    
    function init(
        address _ricoAddress,
        address _freezerAddress,
        address _rescuerAddress,
        address _tokenGenesisAddress,
        uint256 _initialSupply
    )
    public
    isNotInitialized
    onlyDeployingAddress
    {
        require(_freezerAddress != address(0), "_freezerAddress cannot be 0x");
        require(_rescuerAddress != address(0), "_rescuerAddress cannot be 0x");
        require(_tokenGenesisAddress != address(0), "_tokenGenesisAddress cannot be 0x");

        tokenGenesisAddress = _tokenGenesisAddress;
        freezerAddress = _freezerAddress;
        rescuerAddress = _rescuerAddress;

        _mint(_tokenGenesisAddress, _tokenGenesisAddress, _initialSupply, "", "");

        if(_ricoAddress != address(0)) {
            rICO = ReversibleICO(_ricoAddress);
            emit SetRICOaddress(_ricoAddress);
        }

        initialized = true;
    }

    function setRICOaddress(address _ricoAddress)
    public
    onlyTokenGenesisAddress
    {
        require(address(rICO) == address(0), "rICO address already set!");
        require(_ricoAddress != address(0), "rICO address cannot be 0x.");

        rICO = ReversibleICO(_ricoAddress);
        emit SetRICOaddress(_ricoAddress);
    }

    
    function setMigrationAddress(address _migrationAddress)
    public
    onlyTokenGenesisAddress
    {
        migrationAddress = _migrationAddress;
        emit SetMigrationAddress(migrationAddress);
    }


    
    function removeFreezer()
    public
    onlyFreezerAddress
    isNotFrozen
    {
        freezerAddress = address(0);
        emit RemovedFreezer(freezerAddress);
    }

    function freeze() public onlyFreezerAddress {
        frozen = true;
        emit Frozen(freezerAddress);
    }

    function unfreeze() public onlyFreezerAddress {
        frozen = false;
        emit Unfrozen(freezerAddress);
    }

    
    function changeRICO(address _newRicoAddress)
    public
    onlyRescuerAddress
    isFrozen
    {
        rICO = ReversibleICO(_newRicoAddress);
        emit ChangedRICO(_newRicoAddress, rescuerAddress);
    }

    
    function getLockedBalance(address _owner) public view returns(uint256) {
        
        if(address(rICO) != address(0)) {
            return rICO.getParticipantReservedTokens(_owner);
        } else {
            return 0;
        }
    }

    function getUnlockedBalance(address _owner) public view returns(uint256) {
        uint256 balance = balanceOf(_owner);

        
        if(address(rICO) != address(0)) {
            uint256 locked = rICO.getParticipantReservedTokens(_owner);

            if(balance > 0 && locked > 0) {
                if(balance >= locked) {
                    return balance.sub(locked);
                } else {
                    return 0;
                }
            }
        }

        return balance;
    }


    

    
    
    function _move(
        address _operator,
        address _from,
        address _to,
        uint256 _amount,
        bytes memory _userData,
        bytes memory _operatorData
    )
    internal
    isNotFrozen
    isInitialized
    {

        
        if(
            _to == address(rICO) ||
            _to == migrationAddress
        ) {
            
            require(_amount <= balanceOf(_from), "Sending failed: Insufficient funds");

        } else {
            
            require(_amount <= getUnlockedBalance(_from), "Sending failed: Insufficient funds");
        }

        ERC777._move(_operator, _from, _to, _amount, _userData, _operatorData);
    }

    
    function _burn(
        address _operator,
        address _from,
        uint256 _amount,
        bytes memory _data,
        bytes memory _operatorData
    )
    internal
    isNotFrozen
    isInitialized
    {
        require(_amount <= getUnlockedBalance(_from), "Burning failed: Insufficient funds");
        ERC777._burn(_operator, _from, _amount, _data, _operatorData);
    }


    
    
    modifier onlyDeployingAddress() {
        require(msg.sender == deployingAddress, "Only the deployer can call this method.");
        _;
    }

    
    modifier onlyTokenGenesisAddress() {
        require(msg.sender == tokenGenesisAddress, "Only the tokenGenesisAddress can call this method.");
        _;
    }

    
    modifier onlyFreezerAddress() {
        require(msg.sender == freezerAddress, "Only the freezer address can call this method.");
        _;
    }

    
    modifier onlyRescuerAddress() {
        require(msg.sender == rescuerAddress, "Only the rescuer address can call this method.");
        _;
    }

    
    modifier isInitialized() {
        require(initialized == true, "Contract must be initialized.");
        _;
    }

    
    modifier isNotInitialized() {
        require(initialized == false, "Contract is already initialized.");
        _;
    }

    
    modifier isFrozen() {
        require(frozen == true, "Token contract not frozen.");
        _;
    }

    
    modifier isNotFrozen() {
        require(frozen == false, "Token contract is frozen!");
        _;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address[]","name":"_defaultOperators","type":"address[]"}],"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":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"tokenHolder","type":"address"}],"name":"AuthorizedOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"Burned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"rICOAddress","type":"address"},{"indexed":true,"internalType":"address","name":"rescuerAddress","type":"address"}],"name":"ChangedRICO","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"freezerAddress","type":"address"}],"name":"Frozen","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"Minted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"freezerAddress","type":"address"}],"name":"RemovedFreezer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"tokenHolder","type":"address"}],"name":"RevokedOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"Sent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"migrationAddress","type":"address"}],"name":"SetMigrationAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"rICOAddress","type":"address"}],"name":"SetRICOaddress","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":true,"internalType":"address","name":"freezerAddress","type":"address"}],"name":"Unfrozen","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","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":false,"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"authorizeOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"tokenHolder","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_newRicoAddress","type":"address"}],"name":"changeRICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"defaultOperators","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"deployingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"freeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"freezerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"frozen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"getLockedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"getUnlockedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"granularity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_ricoAddress","type":"address"},{"internalType":"address","name":"_freezerAddress","type":"address"},{"internalType":"address","name":"_rescuerAddress","type":"address"},{"internalType":"address","name":"_tokenGenesisAddress","type":"address"},{"internalType":"uint256","name":"_initialSupply","type":"uint256"}],"name":"init","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"tokenHolder","type":"address"}],"name":"isOperatorFor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"migrationAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"operatorBurn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"operatorData","type":"bytes"}],"name":"operatorSend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rICO","outputs":[{"internalType":"contract ReversibleICO","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"removeFreezer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rescuerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"revokeOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"send","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_migrationAddress","type":"address"}],"name":"setMigrationAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_ricoAddress","type":"address"}],"name":"setRICOaddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenGenesisAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unfreeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

6080604052600080546001600160a01b031916731820a4b7618bde71dce8cdc73aab6c95905fad241790553480156200003757600080fd5b50604051620033af380380620033af833981810160405260608110156200005d57600080fd5b81019080805160405193929190846401000000008211156200007e57600080fd5b9083019060208201858111156200009457600080fd5b8251640100000000811182820188101715620000af57600080fd5b82525081516020918201929091019080838360005b83811015620000de578181015183820152602001620000c4565b50505050905090810190601f1680156200010c5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200013057600080fd5b9083019060208201858111156200014657600080fd5b82516401000000008111828201881017156200016157600080fd5b82525081516020918201929091019080838360005b838110156200019057818101518382015260200162000176565b50505050905090810190601f168015620001be5780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084640100000000821115620001e257600080fd5b908301906020820185811115620001f857600080fd5b82518660208202830111640100000000821117156200021657600080fd5b82525081516020918201928201910280838360005b83811015620002455781810151838201526020016200022b565b5050505090500160405250505082828282600390805190602001906200026d92919062000489565b5081516200028390600490602085019062000489565b508051620002999060059060208401906200050e565b5060005b600554811015620002f95760016006600060058481548110620002bc57fe5b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff19169115159190911790556001016200029d565b5060008054604080517f455243373737546f6b656e0000000000000000000000000000000000000000008152815190819003600b0181207f29965a1d00000000000000000000000000000000000000000000000000000000825230600483018190526024830191909152604482015290516001600160a01b03909216926329965a1d9260648084019382900301818387803b1580156200039857600080fd5b505af1158015620003ad573d6000803e3d6000fd5b505060008054604080517f4552433230546f6b656e000000000000000000000000000000000000000000008152815190819003600a0181207f29965a1d00000000000000000000000000000000000000000000000000000000825230600483018190526024830191909152604482015290516001600160a01b0390921694506329965a1d9350606480820193929182900301818387803b1580156200045157600080fd5b505af115801562000466573d6000803e3d6000fd5b5050600b80546001600160a01b0319163317905550620005bb9650505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004cc57805160ff1916838001178555620004fc565b82800160010185558215620004fc579182015b82811115620004fc578251825591602001919060010190620004df565b506200050a92915062000574565b5090565b82805482825590600052602060002090810192821562000566579160200282015b828111156200056657825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906200052f565b506200050a92915062000594565b6200059191905b808211156200050a57600081556001016200057b565b90565b6200059191905b808211156200050a5780546001600160a01b03191681556001016200059b565b612de480620005cb6000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c806362a5af3b11610125578063a9059cbb116100ad578063dd62ed3e1161007c578063dd62ed3e14610704578063f60a33c514610732578063fad8b32a14610758578063fc673c4f1461077e578063fe9d93031461085157610211565b8063a9059cbb1461067c578063c4086893146106a8578063c926e3e0146106ce578063d95b6371146106d657610211565b806371c396cc116100f457806371c396cc146105bb57806394242224146105c3578063959b8c3f146105cb57806395d89b41146105f15780639bd9bbc6146105f957610211565b806362a5af3b146104a757806362ad1b83146104af5780636a28f0001461058d57806370a082311461059557610211565b8063230566a8116101a85780634732a7dc116101775780634732a7dc14610423578063556f0dc71461044957806357bf9276146104515780635bfe8ad8146104595780635e9ab1491461046157610211565b8063230566a81461039f57806323b872dd146103a7578063313ce567146103dd57806339029686146103fb57610211565b8063129de5bf116101e4578063129de5bf14610333578063158ef93e1461036b57806318160ddd1461037357806321dd501b1461037b57610211565b8063054f7d9c1461021657806306e485381461023257806306fdde031461028a578063095ea7b314610307575b600080fd5b61021e6108c6565b604080519115158252519081900360200190f35b61023a6108d6565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561027657818101518382015260200161025e565b505050509050019250505060405180910390f35b610292610938565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102cc5781810151838201526020016102b4565b50505050905090810190601f1680156102f95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61021e6004803603604081101561031d57600080fd5b506001600160a01b0381351690602001356109c5565b6103596004803603602081101561034957600080fd5b50356001600160a01b03166109dd565b60408051918252519081900360200190f35b61021e610ac5565b610359610ad5565b610383610adb565b604080516001600160a01b039092168252519081900360200190f35b610383610aea565b61021e600480360360608110156103bd57600080fd5b506001600160a01b03813581169160208101359091169060400135610af9565b6103e5610c5e565b6040805160ff9092168252519081900360200190f35b6104216004803603602081101561041157600080fd5b50356001600160a01b0316610c63565b005b6104216004803603602081101561043957600080fd5b50356001600160a01b0316610d60565b610359610df9565b610383610dfe565b610383610e0d565b610421600480360360a081101561047757600080fd5b506001600160a01b0381358116916020810135821691604082013581169160608101359091169060800135610e1c565b610421611098565b610421600480360360a08110156104c557600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b8111156104ff57600080fd5b82018360208201111561051157600080fd5b803590602001918460018302840111600160201b8311171561053257600080fd5b919390929091602081019035600160201b81111561054f57600080fd5b82018360208201111561056157600080fd5b803590602001918460018302840111600160201b8311171561058257600080fd5b50909250905061112e565b6104216111f6565b610359600480360360208110156105ab57600080fd5b50356001600160a01b0316611286565b6103836112a1565b6103836112b0565b610421600480360360208110156105e157600080fd5b50356001600160a01b03166112bf565b6102926113c0565b6104216004803603606081101561060f57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561063e57600080fd5b82018360208201111561065057600080fd5b803590602001918460018302840111600160201b8311171561067157600080fd5b509092509050611421565b61021e6004803603604081101561069257600080fd5b506001600160a01b03813516906020013561147b565b610359600480360360208110156106be57600080fd5b50356001600160a01b031661154d565b6104216115e9565b61021e600480360360408110156106ec57600080fd5b506001600160a01b03813581169160200135166116ca565b6103596004803603604081101561071a57600080fd5b506001600160a01b038135811691602001351661176c565b6104216004803603602081101561074857600080fd5b50356001600160a01b0316611797565b6104216004803603602081101561076e57600080fd5b50356001600160a01b03166118e3565b6104216004803603608081101561079457600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156107c357600080fd5b8201836020820111156107d557600080fd5b803590602001918460018302840111600160201b831117156107f657600080fd5b919390929091602081019035600160201b81111561081357600080fd5b82018360208201111561082557600080fd5b803590602001918460018302840111600160201b8311171561084657600080fd5b5090925090506119e4565b6104216004803603604081101561086757600080fd5b81359190810190604081016020820135600160201b81111561088857600080fd5b82018360208201111561089a57600080fd5b803590602001918460018302840111600160201b831117156108bb57600080fd5b509092509050611aa7565b600a54600160a01b900460ff1681565b6060600580548060200260200160405190810160405280929190818152602001828054801561092e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610910575b5050505050905090565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561092e5780601f106109995761010080835404028352916020019161092e565b820191906000526020600020905b8154815290600101906020018083116109a757509395945050505050565b6000336109d3818585611afc565b5060019392505050565b6000806109e983611286565b600a549091506001600160a01b031615610abd57600a5460408051636213008360e01b81526001600160a01b03868116600483015291516000939290921691636213008391602480820192602092909190829003018186803b158015610a4e57600080fd5b505afa158015610a62573d6000803e3d6000fd5b505050506040513d6020811015610a7857600080fd5b505190508115801590610a8b5750600081115b15610abb57808210610ab057610aa7828263ffffffff611ba316565b92505050610ac0565b600092505050610ac0565b505b90505b919050565b600a54600160a81b900460ff1681565b60025490565b600b546001600160a01b031681565b600c546001600160a01b031681565b60006001600160a01b038316610b405760405162461bcd60e51b8152600401808060200182810382526024815260200180612cb76024913960400191505060405180910390fd5b6001600160a01b038416610b855760405162461bcd60e51b8152600401808060200182810382526026815260200180612d396026913960400191505060405180910390fd5b6000339050610bb6818686866040518060200160405280600081525060405180602001604052806000815250611c00565b610be2818686866040518060200160405280600081525060405180602001604052806000815250611e37565b6001600160a01b03808616600090815260096020908152604080832093851683529290522054610c259086908390610c20908763ffffffff611ba316565b611afc565b610c538186868660405180602001604052806000815250604051806020016040528060008152506000611fc4565b506001949350505050565b601290565b600f546001600160a01b03163314610cac5760405162461bcd60e51b815260040180806020018281038252602e815260200180612bf3602e913960400191505060405180910390fd5b600a54600160a01b900460ff161515600114610d0f576040805162461bcd60e51b815260206004820152601a60248201527f546f6b656e20636f6e7472616374206e6f742066726f7a656e2e000000000000604482015290519081900360640190fd5b600a80546001600160a01b0319166001600160a01b03838116918217909255600f546040519216917f19f1cce6ad1ca6427ed265798474e2e5d42533f4cbda9a03739573f12bf2485a90600090a350565b600c546001600160a01b03163314610da95760405162461bcd60e51b8152600401808060200182810382526032815260200180612d076032913960400191505060405180910390fd5b600d80546001600160a01b0319166001600160a01b0383811691909117918290556040519116907ff7b198fb0410a876ac251fa9d60f6edea0c92db3062f935e58555650f67874ba90600090a250565b600190565b600a546001600160a01b031681565b600e546001600160a01b031681565b600a54600160a81b900460ff1615610e7b576040805162461bcd60e51b815260206004820181905260248201527f436f6e747261637420697320616c726561647920696e697469616c697a65642e604482015290519081900360640190fd5b600b546001600160a01b03163314610ec45760405162461bcd60e51b8152600401808060200182810382526027815260200180612c216027913960400191505060405180910390fd5b6001600160a01b038416610f1f576040805162461bcd60e51b815260206004820152601c60248201527f5f667265657a6572416464726573732063616e6e6f7420626520307800000000604482015290519081900360640190fd5b6001600160a01b038316610f7a576040805162461bcd60e51b815260206004820152601c60248201527f5f72657363756572416464726573732063616e6e6f7420626520307800000000604482015290519081900360640190fd5b6001600160a01b038216610fbf5760405162461bcd60e51b8152600401808060200182810382526021815260200180612b276021913960400191505060405180910390fd5b600c80546001600160a01b038085166001600160a01b031992831617909255600e8054878416908316179055600f8054928616929091169190911790556040805160208082018352600080835283519182019093529182526110279184918291859190612254565b6001600160a01b0385161561107e57600a80546001600160a01b0319166001600160a01b0387169081179091556040517f922b8dde0d23c4ed0f86f3aec78b23bef764b68672b9ae264cd24d23ffd1671d90600090a25b5050600a805460ff60a81b1916600160a81b179055505050565b600e546001600160a01b031633146110e15760405162461bcd60e51b815260040180806020018281038252602e815260200180612d82602e913960400191505060405180910390fd5b600a805460ff60a01b1916600160a01b179055600e546040516001600160a01b03909116907f8a5c4736a33c7b7f29a2c34ea9ff9608afc5718d56f6fd6dcbd2d3711a1a491390600090a2565b61113833886116ca565b6111735760405162461bcd60e51b815260040180806020018281038252602c815260200180612cdb602c913960400191505060405180910390fd5b6111ed3388888888888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284376000920191909152506001925061248c915050565b50505050505050565b600e546001600160a01b0316331461123f5760405162461bcd60e51b815260040180806020018281038252602e815260200180612d82602e913960400191505060405180910390fd5b600a805460ff60a01b19169055600e546040516001600160a01b03909116907f4feb53e305297ab8fb8f3420c95ea04737addc254a7270d8fc4605d2b9c61dba90600090a2565b6001600160a01b031660009081526001602052604090205490565b600d546001600160a01b031681565b600f546001600160a01b031681565b336001600160a01b03821614156113075760405162461bcd60e51b8152600401808060200182810382526024815260200180612bae6024913960400191505060405180910390fd5b6001600160a01b03811660009081526006602052604090205460ff1615611358573360009081526008602090815260408083206001600160a01b03851684529091529020805460ff19169055611387565b3360009081526007602090815260408083206001600160a01b03851684529091529020805460ff191660011790555b60405133906001600160a01b038316907ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f990600090a350565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561092e5780601f106109995761010080835404028352916020019161092e565b6114753333868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020810190915290815292506001915061248c9050565b50505050565b60006001600160a01b0383166114c25760405162461bcd60e51b8152600401808060200182810382526024815260200180612cb76024913960400191505060405180910390fd5b60003390506114f3818286866040518060200160405280600081525060405180602001604052806000815250611c00565b61151f818286866040518060200160405280600081525060405180602001604052806000815250611e37565b6109d38182868660405180602001604052806000815250604051806020016040528060008152506000611fc4565b600a546000906001600160a01b0316156115e157600a5460408051636213008360e01b81526001600160a01b038581166004830152915191909216916362130083916024808301926020929190829003018186803b1580156115ae57600080fd5b505afa1580156115c2573d6000803e3d6000fd5b505050506040513d60208110156115d857600080fd5b50519050610ac0565b506000610ac0565b600e546001600160a01b031633146116325760405162461bcd60e51b815260040180806020018281038252602e815260200180612d82602e913960400191505060405180910390fd5b600a54600160a01b900460ff161561168d576040805162461bcd60e51b8152602060048201526019602482015278546f6b656e20636f6e74726163742069732066726f7a656e2160381b604482015290519081900360640190fd5b600e80546001600160a01b03191690556040516000907fc1b511c563c29fc899f540032c936c5487498036e64a75776bf424b94ac62e23908290a2565b6000816001600160a01b0316836001600160a01b0316148061173557506001600160a01b03831660009081526006602052604090205460ff16801561173557506001600160a01b0380831660009081526008602090815260408083209387168352929052205460ff16155b8061176557506001600160a01b0380831660009081526007602090815260408083209387168352929052205460ff165b9392505050565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b600c546001600160a01b031633146117e05760405162461bcd60e51b8152600401808060200182810382526032815260200180612d076032913960400191505060405180910390fd5b600a546001600160a01b03161561183e576040805162461bcd60e51b815260206004820152601960248201527f7249434f206164647265737320616c7265616479207365742100000000000000604482015290519081900360640190fd5b6001600160a01b038116611899576040805162461bcd60e51b815260206004820152601a60248201527f7249434f20616464726573732063616e6e6f742062652030782e000000000000604482015290519081900360640190fd5b600a80546001600160a01b0319166001600160a01b0383169081179091556040517f922b8dde0d23c4ed0f86f3aec78b23bef764b68672b9ae264cd24d23ffd1671d90600090a250565b6001600160a01b03811633141561192b5760405162461bcd60e51b8152600401808060200182810382526021815260200180612bd26021913960400191505060405180910390fd5b6001600160a01b03811660009081526006602052604090205460ff161561197f573360009081526008602090815260408083206001600160a01b03851684529091529020805460ff191660011790556119ab565b3360009081526007602090815260408083206001600160a01b03851684529091529020805460ff191690555b60405133906001600160a01b038316907f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa190600090a350565b6119ee33876116ca565b611a295760405162461bcd60e51b815260040180806020018281038252602c815260200180612cdb602c913960400191505060405180910390fd5b611a9f33878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061255792505050565b505050505050565b611af733338585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612557915050565b505050565b6001600160a01b038216611b415760405162461bcd60e51b8152600401808060200182810382526023815260200180612d5f6023913960400191505060405180910390fd5b6001600160a01b03808416600081815260096020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600082821115611bfa576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080546040805163555ddc6560e11b81526001600160a01b0389811660048301527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe89560248301529151919092169163aabbb8ca916044808301926020929190829003018186803b158015611c7457600080fd5b505afa158015611c88573d6000803e3d6000fd5b505050506040513d6020811015611c9e57600080fd5b505190506001600160a01b038116156111ed57806001600160a01b03166375ab97828888888888886040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015611d64578181015183820152602001611d4c565b50505050905090810190601f168015611d915780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015611dc4578181015183820152602001611dac565b50505050905090810190601f168015611df15780820380516001836020036101000a031916815260200191505b5098505050505050505050600060405180830381600087803b158015611e1657600080fd5b505af1158015611e2a573d6000803e3d6000fd5b5050505050505050505050565b600a54600160a01b900460ff1615611e92576040805162461bcd60e51b8152602060048201526019602482015278546f6b656e20636f6e74726163742069732066726f7a656e2160381b604482015290519081900360640190fd5b600a54600160a81b900460ff161515600114611ef5576040805162461bcd60e51b815260206004820152601d60248201527f436f6e7472616374206d75737420626520696e697469616c697a65642e000000604482015290519081900360640190fd5b600a546001600160a01b0385811691161480611f1e5750600d546001600160a01b038581169116145b15611f6f57611f2c85611286565b831115611f6a5760405162461bcd60e51b8152600401808060200182810382526022815260200180612c956022913960400191505060405180910390fd5b611fb6565b611f78856109dd565b831115611fb65760405162461bcd60e51b8152600401808060200182810382526022815260200180612c956022913960400191505060405180910390fd5b611a9f868686868686612670565b600080546040805163555ddc6560e11b81526001600160a01b0389811660048301527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248301529151919092169163aabbb8ca916044808301926020929190829003018186803b15801561203857600080fd5b505afa15801561204c573d6000803e3d6000fd5b505050506040513d602081101561206257600080fd5b505190506001600160a01b038116156121f657806001600160a01b03166223de298989898989896040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101561212757818101518382015260200161210f565b50505050905090810190601f1680156121545780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561218757818101518382015260200161216f565b50505050905090810190601f1680156121b45780820380516001836020036101000a031916815260200191505b5098505050505050505050600060405180830381600087803b1580156121d957600080fd5b505af11580156121ed573d6000803e3d6000fd5b5050505061224a565b811561224a5761220e866001600160a01b0316612870565b1561224a5760405162461bcd60e51b815260040180806020018281038252604d815260200180612c48604d913960600191505060405180910390fd5b5050505050505050565b6001600160a01b0384166122af576040805162461bcd60e51b815260206004820181905260248201527f4552433737373a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b6002546122c2908463ffffffff6128ac16565b6002556001600160a01b0384166000908152600160205260409020546122ee908463ffffffff6128ac16565b60016000866001600160a01b03166001600160a01b0316815260200190815260200160002081905550612328856000868686866001611fc4565b836001600160a01b0316856001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d858585604051808481526020018060200180602001838103835285818151815260200191508051906020019080838360005b838110156123a757818101518382015260200161238f565b50505050905090810190601f1680156123d45780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156124075781810151838201526020016123ef565b50505050905090810190601f1680156124345780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a36040805184815290516001600160a01b038616916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050505050565b6001600160a01b0386166124d15760405162461bcd60e51b8152600401808060200182810382526022815260200180612b486022913960400191505060405180910390fd5b6001600160a01b03851661252c576040805162461bcd60e51b815260206004820181905260248201527f4552433737373a2073656e6420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b61253a878787878787611c00565b612548878787878787611e37565b6111ed87878787878787611fc4565b600a54600160a01b900460ff16156125b2576040805162461bcd60e51b8152602060048201526019602482015278546f6b656e20636f6e74726163742069732066726f7a656e2160381b604482015290519081900360640190fd5b600a54600160a81b900460ff161515600114612615576040805162461bcd60e51b815260206004820152601d60248201527f436f6e7472616374206d75737420626520696e697469616c697a65642e000000604482015290519081900360640190fd5b61261e846109dd565b83111561265c5760405162461bcd60e51b8152600401808060200182810382526022815260200180612b6a6022913960400191505060405180910390fd5b6126698585858585612906565b5050505050565b6001600160a01b038516600090815260016020526040902054612699908463ffffffff611ba316565b6001600160a01b0380871660009081526001602052604080822093909355908616815220546126ce908463ffffffff6128ac16565b60016000866001600160a01b03166001600160a01b0316815260200190815260200160002081905550836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987868686604051808481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612780578181015183820152602001612768565b50505050905090810190601f1680156127ad5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156127e05781810151838201526020016127c8565b50505050905090810190601f16801561280d5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a4836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906128a45750808214155b949350505050565b600082820183811015611765576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b03841661294b5760405162461bcd60e51b8152600401808060200182810382526022815260200180612b8c6022913960400191505060405180910390fd5b61295a85856000868686611c00565b60025461296d908463ffffffff611ba316565b6002556001600160a01b038416600090815260016020526040902054612999908463ffffffff611ba316565b60016000866001600160a01b03166001600160a01b0316815260200190815260200160002081905550836001600160a01b0316856001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a4098858585604051808481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612a41578181015183820152602001612a29565b50505050905090810190601f168015612a6e5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015612aa1578181015183820152602001612a89565b50505050905090810190601f168015612ace5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a36040805184815290516000916001600160a01b038716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3505050505056fe5f746f6b656e47656e65736973416464726573732063616e6e6f742062652030784552433737373a2073656e642066726f6d20746865207a65726f20616464726573734275726e696e67206661696c65643a20496e73756666696369656e742066756e64734552433737373a206275726e2066726f6d20746865207a65726f20616464726573734552433737373a20617574686f72697a696e672073656c66206173206f70657261746f724552433737373a207265766f6b696e672073656c66206173206f70657261746f724f6e6c7920746865207265736375657220616464726573732063616e2063616c6c2074686973206d6574686f642e4f6e6c7920746865206465706c6f7965722063616e2063616c6c2074686973206d6574686f642e4552433737373a20746f6b656e20726563697069656e7420636f6e747261637420686173206e6f20696d706c656d656e74657220666f7220455243373737546f6b656e73526563697069656e7453656e64696e67206661696c65643a20496e73756666696369656e742066756e64734552433737373a207472616e7366657220746f20746865207a65726f20616464726573734552433737373a2063616c6c6572206973206e6f7420616e206f70657261746f7220666f7220686f6c6465724f6e6c792074686520746f6b656e47656e65736973416464726573732063616e2063616c6c2074686973206d6574686f642e4552433737373a207472616e736665722066726f6d20746865207a65726f20616464726573734552433737373a20617070726f766520746f20746865207a65726f20616464726573734f6e6c792074686520667265657a657220616464726573732063616e2063616c6c2074686973206d6574686f642ea265627a7a72315820d264781ae6c4a6e9d25258d9eb091fd7aa7204acae70391159fef6ba59e816f764736f6c63430005110032000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000b4c554b534f20546f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044c595865000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106102115760003560e01c806362a5af3b11610125578063a9059cbb116100ad578063dd62ed3e1161007c578063dd62ed3e14610704578063f60a33c514610732578063fad8b32a14610758578063fc673c4f1461077e578063fe9d93031461085157610211565b8063a9059cbb1461067c578063c4086893146106a8578063c926e3e0146106ce578063d95b6371146106d657610211565b806371c396cc116100f457806371c396cc146105bb57806394242224146105c3578063959b8c3f146105cb57806395d89b41146105f15780639bd9bbc6146105f957610211565b806362a5af3b146104a757806362ad1b83146104af5780636a28f0001461058d57806370a082311461059557610211565b8063230566a8116101a85780634732a7dc116101775780634732a7dc14610423578063556f0dc71461044957806357bf9276146104515780635bfe8ad8146104595780635e9ab1491461046157610211565b8063230566a81461039f57806323b872dd146103a7578063313ce567146103dd57806339029686146103fb57610211565b8063129de5bf116101e4578063129de5bf14610333578063158ef93e1461036b57806318160ddd1461037357806321dd501b1461037b57610211565b8063054f7d9c1461021657806306e485381461023257806306fdde031461028a578063095ea7b314610307575b600080fd5b61021e6108c6565b604080519115158252519081900360200190f35b61023a6108d6565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561027657818101518382015260200161025e565b505050509050019250505060405180910390f35b610292610938565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102cc5781810151838201526020016102b4565b50505050905090810190601f1680156102f95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61021e6004803603604081101561031d57600080fd5b506001600160a01b0381351690602001356109c5565b6103596004803603602081101561034957600080fd5b50356001600160a01b03166109dd565b60408051918252519081900360200190f35b61021e610ac5565b610359610ad5565b610383610adb565b604080516001600160a01b039092168252519081900360200190f35b610383610aea565b61021e600480360360608110156103bd57600080fd5b506001600160a01b03813581169160208101359091169060400135610af9565b6103e5610c5e565b6040805160ff9092168252519081900360200190f35b6104216004803603602081101561041157600080fd5b50356001600160a01b0316610c63565b005b6104216004803603602081101561043957600080fd5b50356001600160a01b0316610d60565b610359610df9565b610383610dfe565b610383610e0d565b610421600480360360a081101561047757600080fd5b506001600160a01b0381358116916020810135821691604082013581169160608101359091169060800135610e1c565b610421611098565b610421600480360360a08110156104c557600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b8111156104ff57600080fd5b82018360208201111561051157600080fd5b803590602001918460018302840111600160201b8311171561053257600080fd5b919390929091602081019035600160201b81111561054f57600080fd5b82018360208201111561056157600080fd5b803590602001918460018302840111600160201b8311171561058257600080fd5b50909250905061112e565b6104216111f6565b610359600480360360208110156105ab57600080fd5b50356001600160a01b0316611286565b6103836112a1565b6103836112b0565b610421600480360360208110156105e157600080fd5b50356001600160a01b03166112bf565b6102926113c0565b6104216004803603606081101561060f57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561063e57600080fd5b82018360208201111561065057600080fd5b803590602001918460018302840111600160201b8311171561067157600080fd5b509092509050611421565b61021e6004803603604081101561069257600080fd5b506001600160a01b03813516906020013561147b565b610359600480360360208110156106be57600080fd5b50356001600160a01b031661154d565b6104216115e9565b61021e600480360360408110156106ec57600080fd5b506001600160a01b03813581169160200135166116ca565b6103596004803603604081101561071a57600080fd5b506001600160a01b038135811691602001351661176c565b6104216004803603602081101561074857600080fd5b50356001600160a01b0316611797565b6104216004803603602081101561076e57600080fd5b50356001600160a01b03166118e3565b6104216004803603608081101561079457600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156107c357600080fd5b8201836020820111156107d557600080fd5b803590602001918460018302840111600160201b831117156107f657600080fd5b919390929091602081019035600160201b81111561081357600080fd5b82018360208201111561082557600080fd5b803590602001918460018302840111600160201b8311171561084657600080fd5b5090925090506119e4565b6104216004803603604081101561086757600080fd5b81359190810190604081016020820135600160201b81111561088857600080fd5b82018360208201111561089a57600080fd5b803590602001918460018302840111600160201b831117156108bb57600080fd5b509092509050611aa7565b600a54600160a01b900460ff1681565b6060600580548060200260200160405190810160405280929190818152602001828054801561092e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610910575b5050505050905090565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561092e5780601f106109995761010080835404028352916020019161092e565b820191906000526020600020905b8154815290600101906020018083116109a757509395945050505050565b6000336109d3818585611afc565b5060019392505050565b6000806109e983611286565b600a549091506001600160a01b031615610abd57600a5460408051636213008360e01b81526001600160a01b03868116600483015291516000939290921691636213008391602480820192602092909190829003018186803b158015610a4e57600080fd5b505afa158015610a62573d6000803e3d6000fd5b505050506040513d6020811015610a7857600080fd5b505190508115801590610a8b5750600081115b15610abb57808210610ab057610aa7828263ffffffff611ba316565b92505050610ac0565b600092505050610ac0565b505b90505b919050565b600a54600160a81b900460ff1681565b60025490565b600b546001600160a01b031681565b600c546001600160a01b031681565b60006001600160a01b038316610b405760405162461bcd60e51b8152600401808060200182810382526024815260200180612cb76024913960400191505060405180910390fd5b6001600160a01b038416610b855760405162461bcd60e51b8152600401808060200182810382526026815260200180612d396026913960400191505060405180910390fd5b6000339050610bb6818686866040518060200160405280600081525060405180602001604052806000815250611c00565b610be2818686866040518060200160405280600081525060405180602001604052806000815250611e37565b6001600160a01b03808616600090815260096020908152604080832093851683529290522054610c259086908390610c20908763ffffffff611ba316565b611afc565b610c538186868660405180602001604052806000815250604051806020016040528060008152506000611fc4565b506001949350505050565b601290565b600f546001600160a01b03163314610cac5760405162461bcd60e51b815260040180806020018281038252602e815260200180612bf3602e913960400191505060405180910390fd5b600a54600160a01b900460ff161515600114610d0f576040805162461bcd60e51b815260206004820152601a60248201527f546f6b656e20636f6e7472616374206e6f742066726f7a656e2e000000000000604482015290519081900360640190fd5b600a80546001600160a01b0319166001600160a01b03838116918217909255600f546040519216917f19f1cce6ad1ca6427ed265798474e2e5d42533f4cbda9a03739573f12bf2485a90600090a350565b600c546001600160a01b03163314610da95760405162461bcd60e51b8152600401808060200182810382526032815260200180612d076032913960400191505060405180910390fd5b600d80546001600160a01b0319166001600160a01b0383811691909117918290556040519116907ff7b198fb0410a876ac251fa9d60f6edea0c92db3062f935e58555650f67874ba90600090a250565b600190565b600a546001600160a01b031681565b600e546001600160a01b031681565b600a54600160a81b900460ff1615610e7b576040805162461bcd60e51b815260206004820181905260248201527f436f6e747261637420697320616c726561647920696e697469616c697a65642e604482015290519081900360640190fd5b600b546001600160a01b03163314610ec45760405162461bcd60e51b8152600401808060200182810382526027815260200180612c216027913960400191505060405180910390fd5b6001600160a01b038416610f1f576040805162461bcd60e51b815260206004820152601c60248201527f5f667265657a6572416464726573732063616e6e6f7420626520307800000000604482015290519081900360640190fd5b6001600160a01b038316610f7a576040805162461bcd60e51b815260206004820152601c60248201527f5f72657363756572416464726573732063616e6e6f7420626520307800000000604482015290519081900360640190fd5b6001600160a01b038216610fbf5760405162461bcd60e51b8152600401808060200182810382526021815260200180612b276021913960400191505060405180910390fd5b600c80546001600160a01b038085166001600160a01b031992831617909255600e8054878416908316179055600f8054928616929091169190911790556040805160208082018352600080835283519182019093529182526110279184918291859190612254565b6001600160a01b0385161561107e57600a80546001600160a01b0319166001600160a01b0387169081179091556040517f922b8dde0d23c4ed0f86f3aec78b23bef764b68672b9ae264cd24d23ffd1671d90600090a25b5050600a805460ff60a81b1916600160a81b179055505050565b600e546001600160a01b031633146110e15760405162461bcd60e51b815260040180806020018281038252602e815260200180612d82602e913960400191505060405180910390fd5b600a805460ff60a01b1916600160a01b179055600e546040516001600160a01b03909116907f8a5c4736a33c7b7f29a2c34ea9ff9608afc5718d56f6fd6dcbd2d3711a1a491390600090a2565b61113833886116ca565b6111735760405162461bcd60e51b815260040180806020018281038252602c815260200180612cdb602c913960400191505060405180910390fd5b6111ed3388888888888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284376000920191909152506001925061248c915050565b50505050505050565b600e546001600160a01b0316331461123f5760405162461bcd60e51b815260040180806020018281038252602e815260200180612d82602e913960400191505060405180910390fd5b600a805460ff60a01b19169055600e546040516001600160a01b03909116907f4feb53e305297ab8fb8f3420c95ea04737addc254a7270d8fc4605d2b9c61dba90600090a2565b6001600160a01b031660009081526001602052604090205490565b600d546001600160a01b031681565b600f546001600160a01b031681565b336001600160a01b03821614156113075760405162461bcd60e51b8152600401808060200182810382526024815260200180612bae6024913960400191505060405180910390fd5b6001600160a01b03811660009081526006602052604090205460ff1615611358573360009081526008602090815260408083206001600160a01b03851684529091529020805460ff19169055611387565b3360009081526007602090815260408083206001600160a01b03851684529091529020805460ff191660011790555b60405133906001600160a01b038316907ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f990600090a350565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561092e5780601f106109995761010080835404028352916020019161092e565b6114753333868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020810190915290815292506001915061248c9050565b50505050565b60006001600160a01b0383166114c25760405162461bcd60e51b8152600401808060200182810382526024815260200180612cb76024913960400191505060405180910390fd5b60003390506114f3818286866040518060200160405280600081525060405180602001604052806000815250611c00565b61151f818286866040518060200160405280600081525060405180602001604052806000815250611e37565b6109d38182868660405180602001604052806000815250604051806020016040528060008152506000611fc4565b600a546000906001600160a01b0316156115e157600a5460408051636213008360e01b81526001600160a01b038581166004830152915191909216916362130083916024808301926020929190829003018186803b1580156115ae57600080fd5b505afa1580156115c2573d6000803e3d6000fd5b505050506040513d60208110156115d857600080fd5b50519050610ac0565b506000610ac0565b600e546001600160a01b031633146116325760405162461bcd60e51b815260040180806020018281038252602e815260200180612d82602e913960400191505060405180910390fd5b600a54600160a01b900460ff161561168d576040805162461bcd60e51b8152602060048201526019602482015278546f6b656e20636f6e74726163742069732066726f7a656e2160381b604482015290519081900360640190fd5b600e80546001600160a01b03191690556040516000907fc1b511c563c29fc899f540032c936c5487498036e64a75776bf424b94ac62e23908290a2565b6000816001600160a01b0316836001600160a01b0316148061173557506001600160a01b03831660009081526006602052604090205460ff16801561173557506001600160a01b0380831660009081526008602090815260408083209387168352929052205460ff16155b8061176557506001600160a01b0380831660009081526007602090815260408083209387168352929052205460ff165b9392505050565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b600c546001600160a01b031633146117e05760405162461bcd60e51b8152600401808060200182810382526032815260200180612d076032913960400191505060405180910390fd5b600a546001600160a01b03161561183e576040805162461bcd60e51b815260206004820152601960248201527f7249434f206164647265737320616c7265616479207365742100000000000000604482015290519081900360640190fd5b6001600160a01b038116611899576040805162461bcd60e51b815260206004820152601a60248201527f7249434f20616464726573732063616e6e6f742062652030782e000000000000604482015290519081900360640190fd5b600a80546001600160a01b0319166001600160a01b0383169081179091556040517f922b8dde0d23c4ed0f86f3aec78b23bef764b68672b9ae264cd24d23ffd1671d90600090a250565b6001600160a01b03811633141561192b5760405162461bcd60e51b8152600401808060200182810382526021815260200180612bd26021913960400191505060405180910390fd5b6001600160a01b03811660009081526006602052604090205460ff161561197f573360009081526008602090815260408083206001600160a01b03851684529091529020805460ff191660011790556119ab565b3360009081526007602090815260408083206001600160a01b03851684529091529020805460ff191690555b60405133906001600160a01b038316907f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa190600090a350565b6119ee33876116ca565b611a295760405162461bcd60e51b815260040180806020018281038252602c815260200180612cdb602c913960400191505060405180910390fd5b611a9f33878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b01819004810282018101909252898152925089915088908190840183828082843760009201919091525061255792505050565b505050505050565b611af733338585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525060408051602081019091529081529250612557915050565b505050565b6001600160a01b038216611b415760405162461bcd60e51b8152600401808060200182810382526023815260200180612d5f6023913960400191505060405180910390fd5b6001600160a01b03808416600081815260096020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600082821115611bfa576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080546040805163555ddc6560e11b81526001600160a01b0389811660048301527f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe89560248301529151919092169163aabbb8ca916044808301926020929190829003018186803b158015611c7457600080fd5b505afa158015611c88573d6000803e3d6000fd5b505050506040513d6020811015611c9e57600080fd5b505190506001600160a01b038116156111ed57806001600160a01b03166375ab97828888888888886040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015611d64578181015183820152602001611d4c565b50505050905090810190601f168015611d915780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015611dc4578181015183820152602001611dac565b50505050905090810190601f168015611df15780820380516001836020036101000a031916815260200191505b5098505050505050505050600060405180830381600087803b158015611e1657600080fd5b505af1158015611e2a573d6000803e3d6000fd5b5050505050505050505050565b600a54600160a01b900460ff1615611e92576040805162461bcd60e51b8152602060048201526019602482015278546f6b656e20636f6e74726163742069732066726f7a656e2160381b604482015290519081900360640190fd5b600a54600160a81b900460ff161515600114611ef5576040805162461bcd60e51b815260206004820152601d60248201527f436f6e7472616374206d75737420626520696e697469616c697a65642e000000604482015290519081900360640190fd5b600a546001600160a01b0385811691161480611f1e5750600d546001600160a01b038581169116145b15611f6f57611f2c85611286565b831115611f6a5760405162461bcd60e51b8152600401808060200182810382526022815260200180612c956022913960400191505060405180910390fd5b611fb6565b611f78856109dd565b831115611fb65760405162461bcd60e51b8152600401808060200182810382526022815260200180612c956022913960400191505060405180910390fd5b611a9f868686868686612670565b600080546040805163555ddc6560e11b81526001600160a01b0389811660048301527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248301529151919092169163aabbb8ca916044808301926020929190829003018186803b15801561203857600080fd5b505afa15801561204c573d6000803e3d6000fd5b505050506040513d602081101561206257600080fd5b505190506001600160a01b038116156121f657806001600160a01b03166223de298989898989896040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101561212757818101518382015260200161210f565b50505050905090810190601f1680156121545780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561218757818101518382015260200161216f565b50505050905090810190601f1680156121b45780820380516001836020036101000a031916815260200191505b5098505050505050505050600060405180830381600087803b1580156121d957600080fd5b505af11580156121ed573d6000803e3d6000fd5b5050505061224a565b811561224a5761220e866001600160a01b0316612870565b1561224a5760405162461bcd60e51b815260040180806020018281038252604d815260200180612c48604d913960600191505060405180910390fd5b5050505050505050565b6001600160a01b0384166122af576040805162461bcd60e51b815260206004820181905260248201527f4552433737373a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b6002546122c2908463ffffffff6128ac16565b6002556001600160a01b0384166000908152600160205260409020546122ee908463ffffffff6128ac16565b60016000866001600160a01b03166001600160a01b0316815260200190815260200160002081905550612328856000868686866001611fc4565b836001600160a01b0316856001600160a01b03167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d858585604051808481526020018060200180602001838103835285818151815260200191508051906020019080838360005b838110156123a757818101518382015260200161238f565b50505050905090810190601f1680156123d45780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156124075781810151838201526020016123ef565b50505050905090810190601f1680156124345780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a36040805184815290516001600160a01b038616916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050505050565b6001600160a01b0386166124d15760405162461bcd60e51b8152600401808060200182810382526022815260200180612b486022913960400191505060405180910390fd5b6001600160a01b03851661252c576040805162461bcd60e51b815260206004820181905260248201527f4552433737373a2073656e6420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b61253a878787878787611c00565b612548878787878787611e37565b6111ed87878787878787611fc4565b600a54600160a01b900460ff16156125b2576040805162461bcd60e51b8152602060048201526019602482015278546f6b656e20636f6e74726163742069732066726f7a656e2160381b604482015290519081900360640190fd5b600a54600160a81b900460ff161515600114612615576040805162461bcd60e51b815260206004820152601d60248201527f436f6e7472616374206d75737420626520696e697469616c697a65642e000000604482015290519081900360640190fd5b61261e846109dd565b83111561265c5760405162461bcd60e51b8152600401808060200182810382526022815260200180612b6a6022913960400191505060405180910390fd5b6126698585858585612906565b5050505050565b6001600160a01b038516600090815260016020526040902054612699908463ffffffff611ba316565b6001600160a01b0380871660009081526001602052604080822093909355908616815220546126ce908463ffffffff6128ac16565b60016000866001600160a01b03166001600160a01b0316815260200190815260200160002081905550836001600160a01b0316856001600160a01b0316876001600160a01b03167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987868686604051808481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612780578181015183820152602001612768565b50505050905090810190601f1680156127ad5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156127e05781810151838201526020016127c8565b50505050905090810190601f16801561280d5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a4836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906128a45750808214155b949350505050565b600082820183811015611765576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b03841661294b5760405162461bcd60e51b8152600401808060200182810382526022815260200180612b8c6022913960400191505060405180910390fd5b61295a85856000868686611c00565b60025461296d908463ffffffff611ba316565b6002556001600160a01b038416600090815260016020526040902054612999908463ffffffff611ba316565b60016000866001600160a01b03166001600160a01b0316815260200190815260200160002081905550836001600160a01b0316856001600160a01b03167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a4098858585604051808481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015612a41578181015183820152602001612a29565b50505050905090810190601f168015612a6e5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015612aa1578181015183820152602001612a89565b50505050905090810190601f168015612ace5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a36040805184815290516000916001600160a01b038716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3505050505056fe5f746f6b656e47656e65736973416464726573732063616e6e6f742062652030784552433737373a2073656e642066726f6d20746865207a65726f20616464726573734275726e696e67206661696c65643a20496e73756666696369656e742066756e64734552433737373a206275726e2066726f6d20746865207a65726f20616464726573734552433737373a20617574686f72697a696e672073656c66206173206f70657261746f724552433737373a207265766f6b696e672073656c66206173206f70657261746f724f6e6c7920746865207265736375657220616464726573732063616e2063616c6c2074686973206d6574686f642e4f6e6c7920746865206465706c6f7965722063616e2063616c6c2074686973206d6574686f642e4552433737373a20746f6b656e20726563697069656e7420636f6e747261637420686173206e6f20696d706c656d656e74657220666f7220455243373737546f6b656e73526563697069656e7453656e64696e67206661696c65643a20496e73756666696369656e742066756e64734552433737373a207472616e7366657220746f20746865207a65726f20616464726573734552433737373a2063616c6c6572206973206e6f7420616e206f70657261746f7220666f7220686f6c6465724f6e6c792074686520746f6b656e47656e65736973416464726573732063616e2063616c6c2074686973206d6574686f642e4552433737373a207472616e736665722066726f6d20746865207a65726f20616464726573734552433737373a20617070726f766520746f20746865207a65726f20616464726573734f6e6c792074686520667265657a657220616464726573732063616e2063616c6c2074686973206d6574686f642ea265627a7a72315820d264781ae6c4a6e9d25258d9eb091fd7aa7204acae70391159fef6ba59e816f764736f6c63430005110032

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000b4c554b534f20546f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044c595865000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name (string): LUKSO Token
Arg [1] : symbol (string): LYXe

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000e0
Arg [3] : 000000000000000000000000000000000000000000000000000000000000000b
Arg [4] : 4c554b534f20546f6b656e000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 4c59586500000000000000000000000000000000000000000000000000000000
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

16836:6257:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16836:6257:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16917:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;11033:115;;;:::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;11033:115:0;;;;;;;;;;;;;;;;;8508:83;;;:::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;8508:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12013:184;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;12013:184:0;;;;;;;;:::i;20259:521::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20259:521:0;-1:-1:-1;;;;;20259:521:0;;:::i;:::-;;;;;;;;;;;;;;;;16943:23;;;:::i;8890:91::-;;;:::i;16986:31::-;;;:::i;:::-;;;;-1:-1:-1;;;;;16986:31:0;;;;;;;;;;;;;;17024:34;;;:::i;12210:632::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;12210:632:0;;;;;;;;;;;;;;;;;:::i;8706:76::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19774:216;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19774:216:0;-1:-1:-1;;;;;19774:216:0;;:::i;:::-;;19110:210;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19110:210:0;-1:-1:-1;;;;;19110:210:0;;:::i;8796:80::-;;;:::i;16883:25::-;;;:::i;17105:29::-;;;:::i;17817:928::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;17817:928:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;19519:114::-;;;:::i;11162:384::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;11162:384:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;11162:384:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11162:384:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11162:384:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;11162:384:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11162:384:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;11162:384:0;;-1:-1:-1;11162:384:0;-1:-1:-1;11162:384:0;:::i;19641:119::-;;;:::i;8995:118::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8995:118:0;-1:-1:-1;;;;;8995:118:0;;:::i;17066:31::-;;;:::i;17142:29::-;;;:::i;10216:399::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10216:399:0;-1:-1:-1;;;;;10216:399:0;;:::i;8605:87::-;;;:::i;9127:162::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;9127:162:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;9127:162:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9127:162:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;9127:162:0;;-1:-1:-1;9127:162:0;-1:-1:-1;9127:162:0;:::i;9303:434::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9303:434:0;;;;;;;;:::i;20004:247::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20004:247:0;-1:-1:-1;;;;;20004:247:0;;:::i;19336:175::-;;;:::i;9891:311::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9891:311:0;;;;;;;;;;:::i;11863:136::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;11863:136:0;;;;;;;;;;:::i;18753:343::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18753:343:0;-1:-1:-1;;;;;18753:343:0;;:::i;10629:390::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10629:390:0;-1:-1:-1;;;;;10629:390:0;;:::i;11560:289::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;11560:289:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;11560:289:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11560:289:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11560:289:0;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;11560:289:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11560:289:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;11560:289:0;;-1:-1:-1;11560:289:0;-1:-1:-1;11560:289:0;:::i;9751:126::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9751:126:0;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;9751:126:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9751:126:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;9751:126:0;;-1:-1:-1;9751:126:0;-1:-1:-1;9751:126:0;:::i;16917:18::-;;;-1:-1:-1;;;16917:18:0;;;;;:::o;11033:115::-;11082:16;11118:22;11111:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11111:29:0;;;;;;;;;;;;;;;;;;;;;;;11033:115;:::o;8508:83::-;8578:5;8571:12;;;;;;;;-1:-1:-1;;8571:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8545:13;;8571:12;;8578:5;;8571:12;;8578:5;8571:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8571:12:0;;8508:83;-1:-1:-1;;;;;8508:83:0:o;12013:184::-;12080:4;12114:10;12135:32;12114:10;12152:7;12161:5;12135:8;:32::i;:::-;-1:-1:-1;12185:4:0;;12013:184;-1:-1:-1;;;12013:184:0:o;20259:521::-;20323:7;20343:15;20361:17;20371:6;20361:9;:17::i;:::-;20412:4;;20343:35;;-1:-1:-1;;;;;;20412:4:0;20404:27;20401:345;;20465:4;;:41;;;-1:-1:-1;;;20465:41:0;;-1:-1:-1;;;;;20465:41:0;;;;;;;;;20448:14;;20465:4;;;;;:33;;:41;;;;;;;;;;;;;;;:4;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;20465:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20465:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20465:41:0;;-1:-1:-1;20526:11:0;;;;;:25;;;20550:1;20541:6;:10;20526:25;20523:212;;;20586:6;20575:7;:17;20572:148;;20624:19;:7;20636:6;20624:19;:11;:19;:::i;:::-;20617:26;;;;;;20572:148;20699:1;20692:8;;;;;;20572:148;20401:345;;20765:7;-1:-1:-1;20259:521:0;;;;:::o;16943:23::-;;;-1:-1:-1;;;16943:23:0;;;;;:::o;8890:91::-;8961:12;;8890:91;:::o;16986:31::-;;;-1:-1:-1;;;;;16986:31:0;;:::o;17024:34::-;;;-1:-1:-1;;;;;17024:34:0;;:::o;12210:632::-;12301:4;-1:-1:-1;;;;;12326:23:0;;12318:72;;;;-1:-1:-1;;;12318:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12409:20:0;;12401:71;;;;-1:-1:-1;;;12401:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12485:15;12503:10;12485:28;;12526:61;12544:7;12553:6;12561:9;12572:6;12526:61;;;;;;;;;;;;;;;;;;;;;;;;:17;:61::i;:::-;12600:49;12606:7;12615:6;12623:9;12634:6;12600:49;;;;;;;;;;;;;;;;;;;;;;;;:5;:49::i;:::-;-1:-1:-1;;;;;12686:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;12660:67;;12669:6;;12677:7;;12686:40;;12719:6;12686:40;:32;:40;:::i;:::-;12660:8;:67::i;:::-;12740:70;12760:7;12769:6;12777:9;12788:6;12740:70;;;;;;;;;;;;;;;;;;;;;;;;12804:5;12740:19;:70::i;:::-;-1:-1:-1;12830:4:0;;12210:632;-1:-1:-1;;;;12210:632:0:o;8706:76::-;8772:2;8706:76;:::o;19774:216::-;22497:14;;-1:-1:-1;;;;;22497:14:0;22483:10;:28;22475:87;;;;-1:-1:-1;;;22475:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22904:6;;-1:-1:-1;;;22904:6:0;;;;:14;;22914:4;22904:14;22896:53;;;;;-1:-1:-1;;;22896:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19885:4;:37;;-1:-1:-1;;;;;;19885:37:0;-1:-1:-1;;;;;19885:37:0;;;;;;;;;19967:14;;19938:44;;19967:14;;;19938:44;;-1:-1:-1;;19938:44:0;19774:216;:::o;19110:210::-;22164:19;;-1:-1:-1;;;;;22164:19:0;22150:10;:33;22142:96;;;;-1:-1:-1;;;22142:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19223:16;:36;;-1:-1:-1;;;;;;19223:36:0;-1:-1:-1;;;;;19223:36:0;;;;;;;;;;;19275:37;;19295:16;;;19275:37;;-1:-1:-1;;19275:37:0;19110:210;:::o;8796:80::-;8867:1;8796:80;:::o;16883:25::-;;;-1:-1:-1;;;;;16883:25:0;;:::o;17105:29::-;;;-1:-1:-1;;;;;17105:29:0;;:::o;17817:928::-;22774:11;;-1:-1:-1;;;22774:11:0;;;;:20;22766:65;;;;;-1:-1:-1;;;22766:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22002:16;;-1:-1:-1;;;;;22002:16:0;21988:10;:30;21980:82;;;;-1:-1:-1;;;21980:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18093:29:0;;18085:70;;;;;-1:-1:-1;;;18085:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18174:29:0;;18166:70;;;;;-1:-1:-1;;;18166:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18255:34:0;;18247:80;;;;-1:-1:-1;;;18247:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18340:19;:42;;-1:-1:-1;;;;;18340:42:0;;;-1:-1:-1;;;;;;18340:42:0;;;;;;;18393:14;:32;;;;;;;;;;;18436:14;:32;;;;;;;;;;;;;;;18481:73;;;;;;;;;18340:19;18481:73;;;;;;;;;;;;;;;;18362:20;;;;18531:14;;18481:73;:5;:73::i;:::-;-1:-1:-1;;;;;18570:26:0;;;18567:140;;18613:4;:34;;-1:-1:-1;;;;;;18613:34:0;-1:-1:-1;;;;;18613:34:0;;;;;;;;18667:28;;;;-1:-1:-1;;18667:28:0;18567:140;-1:-1:-1;;18719:11:0;:18;;-1:-1:-1;;;;18719:18:0;-1:-1:-1;;;18719:18:0;;;-1:-1:-1;;;17817:928:0:o;19519:114::-;22335:14;;-1:-1:-1;;;;;22335:14:0;22321:10;:28;22313:87;;;;-1:-1:-1;;;22313:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19574:6;:13;;-1:-1:-1;;;;19574:13:0;-1:-1:-1;;;19574:13:0;;;19610:14;;19603:22;;-1:-1:-1;;;;;19610:14:0;;;;19603:22;;19574:13;;19603:22;19519:114::o;11162:384::-;11375:33;11389:10;11401:6;11375:13;:33::i;:::-;11367:90;;;;-1:-1:-1;;;11367:90:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11468:70;11474:10;11486:6;11494:9;11505:6;11513:4;;11468:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;11468:70:0;;;;137:4:-1;11468:70:0;;;;;;;;;;;;;;;;;;-1:-1:-1;11519:12:0;;-1:-1:-1;11519:12:0;;;;11468:70;;11519:12;;;;11468:70;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;11533:4:0;;-1:-1:-1;11468:5:0;;-1:-1:-1;;11468:70:0:i;:::-;11162:384;;;;;;;:::o;19641:119::-;22335:14;;-1:-1:-1;;;;;22335:14:0;22321:10;:28;22313:87;;;;-1:-1:-1;;;22313:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19698:6;:14;;-1:-1:-1;;;;19698:14:0;;;19737;;19728:24;;-1:-1:-1;;;;;19737:14:0;;;;19728:24;;19707:5;;19728:24;19641:119::o;8995:118::-;-1:-1:-1;;;;;9083:22:0;9056:7;9083:22;;;:9;:22;;;;;;;8995:118::o;17066:31::-;;;-1:-1:-1;;;;;17066:31:0;;:::o;17142:29::-;;;-1:-1:-1;;;;;17142:29:0;;:::o;10216:399::-;10289:10;-1:-1:-1;;;;;10289:22:0;;;;10281:71;;;;-1:-1:-1;;;10281:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10369:27:0;;;;;;:17;:27;;;;;;;;10365:185;;;10445:10;10420:36;;;;:24;:36;;;;;;;;-1:-1:-1;;;;;10420:46:0;;;;;;;;;10413:53;;-1:-1:-1;;10413:53:0;;;10365:185;;;10510:10;10499:22;;;;:10;:22;;;;;;;;-1:-1:-1;;;;;10499:32:0;;;;;;;;;:39;;-1:-1:-1;;10499:39:0;10534:4;10499:39;;;10365:185;10567:40;;10596:10;;-1:-1:-1;;;;;10567:40:0;;;;;;;;10216:399;:::o;8605:87::-;8677:7;8670:14;;;;;;;;-1:-1:-1;;8670:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8644:13;;8670:14;;8677:7;;8670:14;;8677:7;8670:14;;;;;;;;;;;;;;;;;;;;;;;;9127:162;9217:64;9223:10;9235;9247:9;9258:6;9266:4;;9217:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;-1:-1;9217:64:0;;;;;;;;;;;;;-1:-1:-1;9276:4:0;;-1:-1:-1;9217:5:0;;-1:-1:-1;9217:64:0:i;:::-;9127:162;;;;:::o;9303:434::-;9374:4;-1:-1:-1;;;;;9399:23:0;;9391:72;;;;-1:-1:-1;;;9391:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9476:12;9491:10;9476:25;;9514:56;9532:4;9538;9544:9;9555:6;9514:56;;;;;;;;;;;;;;;;;;;;;;;;:17;:56::i;:::-;9583:44;9589:4;9595;9601:9;9612:6;9583:44;;;;;;;;;;;;;;;;;;;;;;;;:5;:44::i;:::-;9640:65;9660:4;9666;9672:9;9683:6;9640:65;;;;;;;;;;;;;;;;;;;;;;;;9699:5;9640:19;:65::i;20004:247::-;20107:4;;20066:7;;-1:-1:-1;;;;;20107:4:0;20099:27;20096:148;;20150:4;;:41;;;-1:-1:-1;;;20150:41:0;;-1:-1:-1;;;;;20150:41:0;;;;;;;;;:4;;;;;:33;;:41;;;;;;;;;;;;;;:4;:41;;;5:2:-1;;;;30:1;27;20:12;5:2;20150:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20150:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20150:41:0;;-1:-1:-1;20143:48:0;;20096:148;-1:-1:-1;20231:1:0;20224:8;;19336:175;22335:14;;-1:-1:-1;;;;;22335:14:0;22321:10;:28;22313:87;;;;-1:-1:-1;;;22313:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23025:6;;-1:-1:-1;;;23025:6:0;;;;:15;23017:53;;;;;-1:-1:-1;;;23017:53:0;;;;;;;;;;;;-1:-1:-1;;;23017:53:0;;;;;;;;;;;;;;;19430:14;:27;;-1:-1:-1;;;;;;19430:27:0;;;19473:30;;19455:1;;19473:30;;19455:1;;19473:30;19336:175::o;9891:311::-;9999:4;10035:11;-1:-1:-1;;;;;10023:23:0;:8;-1:-1:-1;;;;;10023:23:0;;:121;;;-1:-1:-1;;;;;;10064:27:0;;;;;;:17;:27;;;;;;;;:79;;;;-1:-1:-1;;;;;;10096:37:0;;;;;;;:24;:37;;;;;;;;:47;;;;;;;;;;;;10095:48;10064:79;10023:171;;;-1:-1:-1;;;;;;10161:23:0;;;;;;;:10;:23;;;;;;;;:33;;;;;;;;;;;;10023:171;10016:178;9891:311;-1:-1:-1;;;9891:311:0:o;11863:136::-;-1:-1:-1;;;;;11963:19:0;;;11936:7;11963:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;11863:136::o;18753:343::-;22164:19;;-1:-1:-1;;;;;22164:19:0;22150:10;:33;22142:96;;;;-1:-1:-1;;;22142:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18872:4;;-1:-1:-1;;;;;18872:4:0;18864:27;18856:65;;;;;-1:-1:-1;;;18856:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18940:26:0;;18932:65;;;;;-1:-1:-1;;;18932:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19010:4;:34;;-1:-1:-1;;;;;;19010:34:0;-1:-1:-1;;;;;19010:34:0;;;;;;;;19060:28;;;;-1:-1:-1;;19060:28:0;18753:343;:::o;10629:390::-;-1:-1:-1;;;;;10699:22:0;;10711:10;10699:22;;10691:68;;;;-1:-1:-1;;;10691:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10776:27:0;;;;;;:17;:27;;;;;;;;10772:185;;;10845:10;10820:36;;;;:24;:36;;;;;;;;-1:-1:-1;;;;;10820:46:0;;;;;;;;;:53;;-1:-1:-1;;10820:53:0;10869:4;10820:53;;;10772:185;;;10924:10;10913:22;;;;:10;:22;;;;;;;;-1:-1:-1;;;;;10913:32:0;;;;;;;;;10906:39;;-1:-1:-1;;10906:39:0;;;10772:185;10974:37;;11000:10;;-1:-1:-1;;;;;10974:37:0;;;;;;;;10629:390;:::o;11560:289::-;11693:34;11707:10;11719:7;11693:13;:34::i;:::-;11685:91;;;;-1:-1:-1;;;11685:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11787:54;11793:10;11805:7;11814:6;11822:4;;11787:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;11787:54:0;;;;137:4:-1;11787:54:0;;;;;;;;;;;;;;;;;;-1:-1:-1;11828:12:0;;-1:-1:-1;11828:12:0;;;;11787:54;;11828:12;;;;11787:54;1:33:-1;99:1;81:16;;74:27;;;;-1:-1;11787:5:0;;-1:-1:-1;;;11787:54:0:i;:::-;11560:289;;;;;;:::o;9751:126::-;9822:47;9828:10;9840;9852:6;9860:4;;9822:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;-1:-1;9822:47:0;;;;;;;;;;;;;-1:-1:-1;9822:5:0;;-1:-1:-1;;9822:47:0:i;:::-;9751:126;;;:::o;15212:289::-;-1:-1:-1;;;;;15335:21:0;;15327:69;;;;-1:-1:-1;;;15327:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15409:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:36;;;15461:32;;;;;;;;;;;;;;;;;15212:289;;;:::o;4352:184::-;4410:7;4443:1;4438;:6;;4430:49;;;;;-1:-1:-1;;;4430:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4502:5:0;;;4352:184::o;15515:488::-;15746:19;15768:8;;:68;;;-1:-1:-1;;;15768:68:0;;-1:-1:-1;;;;;15768:68:0;;;;;;;7299:66;15768:68;;;;;;:8;;;;;:32;;:68;;;;;;;;;;;;;;:8;:68;;;5:2:-1;;;;30:1;27;20:12;5:2;15768:68:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15768:68:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15768:68:0;;-1:-1:-1;;;;;;15851:25:0;;;15847:149;;15907:11;-1:-1:-1;;;;;15893:39:0;;15933:8;15943:4;15949:2;15953:6;15961:8;15971:12;15893:91;;;;;;;;;;;;;-1:-1:-1;;;;;15893:91:0;-1:-1:-1;;;;;15893:91:0;;;;;;-1:-1:-1;;;;;15893:91:0;-1:-1:-1;;;;;15893:91:0;;;;;;-1:-1:-1;;;;;15893:91:0;-1:-1:-1;;;;;15893:91: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;15893:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15893:91: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;15893:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15893:91:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15893:91:0;;;;15515:488;;;;;;;:::o;20810:696::-;23025:6;;-1:-1:-1;;;23025:6:0;;;;:15;23017:53;;;;;-1:-1:-1;;;23017:53:0;;;;;;;;;;;;-1:-1:-1;;;23017:53:0;;;;;;;;;;;;;;;22640:11;;-1:-1:-1;;;22640:11:0;;;;:19;;22655:4;22640:19;22632:61;;;;;-1:-1:-1;;;22632:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;21112:4;;-1:-1:-1;;;;;21097:20:0;;;21112:4;;21097:20;;:60;;-1:-1:-1;21141:16:0;;-1:-1:-1;;;;;21134:23:0;;;21141:16;;21134:23;21097:60;21080:336;;;21217:16;21227:5;21217:9;:16::i;:::-;21206:7;:27;;21198:74;;;;-1:-1:-1;;;21198:74:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21080:336;;;21340:25;21359:5;21340:18;:25::i;:::-;21329:7;:36;;21321:83;;;;-1:-1:-1;;;21321:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21428:70;21441:9;21452:5;21459:3;21464:7;21473:9;21484:13;21428:12;:70::i;16017:695::-;16285:19;16307:8;;:69;;;-1:-1:-1;;;16307:69:0;;-1:-1:-1;;;;;16307:69:0;;;;;;;7448:66;16307:69;;;;;;:8;;;;;:32;;:69;;;;;;;;;;;;;;:8;:69;;;5:2:-1;;;;30:1;27;20:12;5:2;16307:69:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16307:69:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16307:69:0;;-1:-1:-1;;;;;;16391:25:0;;;16387:318;;16450:11;-1:-1:-1;;;;;16433:44:0;;16478:8;16488:4;16494:2;16498:6;16506:8;16516:12;16433:96;;;;;;;;;;;;;-1:-1:-1;;;;;16433:96:0;-1:-1:-1;;;;;16433:96:0;;;;;;-1:-1:-1;;;;;16433:96:0;-1:-1:-1;;;;;16433:96:0;;;;;;-1:-1:-1;;;;;16433:96:0;-1:-1:-1;;;;;16433:96: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;16433:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16433:96: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;16433:96:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16433:96:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16433:96:0;;;;16387:318;;;16551:19;16547:158;;;16596:15;:2;-1:-1:-1;;;;;16596:13:0;;:15::i;:::-;16595:16;16587:106;;;;-1:-1:-1;;;16587:106:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16017:695;;;;;;;;:::o;12856:625::-;-1:-1:-1;;;;;13062:21:0;;13054:66;;;;;-1:-1:-1;;;13054:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13158:12;;:24;;13175:6;13158:24;:16;:24;:::i;:::-;13143:12;:39;-1:-1:-1;;;;;13214:18:0;;;;;;:9;:18;;;;;;:30;;13237:6;13214:30;:22;:30;:::i;:::-;13193:9;:18;13203:7;-1:-1:-1;;;;;13193:18:0;-1:-1:-1;;;;;13193:18:0;;;;;;;;;;;;:51;;;;13257:88;13277:8;13295:1;13299:7;13308:6;13316:8;13326:12;13340:4;13257:19;:88::i;:::-;13380:7;-1:-1:-1;;;;;13363:57:0;13370:8;-1:-1:-1;;;;;13363:57:0;;13389:6;13397:8;13407:12;13363:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;13363:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13363:57: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;13363:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13436:37;;;;;;;;-1:-1:-1;;;;;13436:37:0;;;13453:1;;13436:37;;;;;;;;;12856:625;;;;;:::o;13495:656::-;-1:-1:-1;;;;;13757:18:0;;13749:65;;;;-1:-1:-1;;;13749:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13833:16:0;;13825:61;;;;;-1:-1:-1;;;13825:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13899:69;13917:8;13927:4;13933:2;13937:6;13945:8;13955:12;13899:17;:69::i;:::-;13981:57;13987:8;13997:4;14003:2;14007:6;14015:8;14025:12;13981:5;:57::i;:::-;14051:92;14071:8;14081:4;14087:2;14091:6;14099:8;14109:12;14123:19;14051;:92::i;21520:395::-;23025:6;;-1:-1:-1;;;23025:6:0;;;;:15;23017:53;;;;;-1:-1:-1;;;23017:53:0;;;;;;;;;;;;-1:-1:-1;;;23017:53:0;;;;;;;;;;;;;;;22640:11;;-1:-1:-1;;;22640:11:0;;;;:19;;22655:4;22640:19;22632:61;;;;;-1:-1:-1;;;22632:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;21771:25;21790:5;21771:18;:25::i;:::-;21760:7;:36;;21752:83;;;;-1:-1:-1;;;21752:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21846:61;21859:9;21870:5;21877:7;21886:5;21893:13;21846:12;:61::i;:::-;21520:395;;;;;:::o;14763:441::-;-1:-1:-1;;;;;15001:15:0;;;;;;:9;:15;;;;;;:27;;15021:6;15001:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;14983:15:0;;;;;;;:9;:15;;;;;;:45;;;;15055:13;;;;;;;:25;;15073:6;15055:25;:17;:25;:::i;:::-;15039:9;:13;15049:2;-1:-1:-1;;;;;15039:13:0;-1:-1:-1;;;;;15039:13:0;;;;;;;;;;;;:41;;;;15119:2;-1:-1:-1;;;;;15098:56:0;15113:4;-1:-1:-1;;;;;15098:56:0;15103:8;-1:-1:-1;;;;;15098:56:0;;15123:6;15131:8;15141:12;15098:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;15098:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15098:56: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;15098:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15185:2;-1:-1:-1;;;;;15170:26:0;15179:4;-1:-1:-1;;;;;15170:26:0;;15189:6;15170:26;;;;;;;;;;;;;;;;;;14763:441;;;;;;:::o;5245:397::-;5305:4;5551:20;;5441:66;5591:15;;;;;:42;;;5622:11;5610:8;:23;;5591:42;5583:51;5245:397;-1:-1:-1;;;;5245:397:0:o;4157:181::-;4215:7;4247:5;;;4271:6;;;;4263:46;;;;;-1:-1:-1;;;4263:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;14165:590;-1:-1:-1;;;;;14368:18:0;;14360:65;;;;-1:-1:-1;;;14360:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14438:73;14456:8;14466:4;14480:1;14484:6;14492:4;14498:12;14438:17;:73::i;:::-;14549:12;;:24;;14566:6;14549:24;:16;:24;:::i;:::-;14534:12;:39;-1:-1:-1;;;;;14602:15:0;;;;;;:9;:15;;;;;;:27;;14622:6;14602:27;:19;:27;:::i;:::-;14584:9;:15;14594:4;-1:-1:-1;;;;;14584:15:0;-1:-1:-1;;;;;14584:15:0;;;;;;;;;;;;:45;;;;14664:4;-1:-1:-1;;;;;14647:50:0;14654:8;-1:-1:-1;;;;;14647:50:0;;14670:6;14678:4;14684:12;14647:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;14647:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14647:50: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;14647:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14713:34;;;;;;;;14736:1;;-1:-1:-1;;;;;14713:34:0;;;;;;;;;;;;14165:590;;;;;:::o

Swarm Source

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