ETH Price: $3,357.41 (+0.98%)

Contract

0xA8b919680258d369114910511cc87595aec0be6D
 
Transaction Hash
Method
Block
From
To
Approve212498722024-11-23 10:34:1124 secs ago1732358051IN
LUKSO: LYXe Token
0 ETH0.0005612112.08066444
Approve212498522024-11-23 10:30:114 mins ago1732357811IN
LUKSO: LYXe Token
0 ETH0.000459029.86808266
Approve212498032024-11-23 10:20:2314 mins ago1732357223IN
LUKSO: LYXe Token
0 ETH0.000241769.97702136
Transfer212497612024-11-23 10:11:4722 mins ago1732356707IN
LUKSO: LYXe Token
0 ETH0.0008175210.49133918
Approve212478112024-11-23 3:40:476 hrs ago1732333247IN
LUKSO: LYXe Token
0 ETH0.000461079.97125907
Send212477802024-11-23 3:34:357 hrs ago1732332875IN
LUKSO: LYXe Token
0 ETH0.0021801712.71575071
Transfer212476062024-11-23 2:59:357 hrs ago1732330775IN
LUKSO: LYXe Token
0 ETH0.0010110713.82
Approve212475212024-11-23 2:42:357 hrs ago1732329755IN
LUKSO: LYXe Token
0 ETH0.0005647612.2137326
Send212471562024-11-23 1:29:239 hrs ago1732325363IN
LUKSO: LYXe Token
0 ETH0.0025714514.99574312
Approve212470772024-11-23 1:13:359 hrs ago1732324415IN
LUKSO: LYXe Token
0 ETH0.000593312.82776922
Transfer212470622024-11-23 1:10:359 hrs ago1732324235IN
LUKSO: LYXe Token
0 ETH0.0008107514.46540163
Approve212470612024-11-23 1:10:239 hrs ago1732324223IN
LUKSO: LYXe Token
0 ETH0.0006217313.44580631
Send212469402024-11-23 0:45:599 hrs ago1732322759IN
LUKSO: LYXe Token
0 ETH0.0028059713.64329202
Transfer212468582024-11-23 0:29:3510 hrs ago1732321775IN
LUKSO: LYXe Token
0 ETH0.0010579914.4613713
Transfer212468352024-11-23 0:24:5910 hrs ago1732321499IN
LUKSO: LYXe Token
0 ETH0.0008381111.4577835
Approve212468312024-11-23 0:24:1110 hrs ago1732321451IN
LUKSO: LYXe Token
0 ETH0.0005473211.83966757
Approve212460342024-11-22 21:43:5912 hrs ago1732311839IN
LUKSO: LYXe Token
0 ETH0.0009621620.6846125
Approve212457532024-11-22 20:47:4713 hrs ago1732308467IN
LUKSO: LYXe Token
0 ETH0.000628713.6
Send212456012024-11-22 20:17:2314 hrs ago1732306643IN
LUKSO: LYXe Token
0 ETH0.002801613.62204013
Approve212452582024-11-22 19:08:3515 hrs ago1732302515IN
LUKSO: LYXe Token
0 ETH0.0005766912.39778266
Transfer212446252024-11-22 17:00:5917 hrs ago1732294859IN
LUKSO: LYXe Token
0 ETH0.0014568919.92034514
Transfer212446122024-11-22 16:58:2317 hrs ago1732294703IN
LUKSO: LYXe Token
0 ETH0.0012748716.35798908
Approve212443912024-11-22 16:13:2318 hrs ago1732292003IN
LUKSO: LYXe Token
0 ETH0.0007352115.9
Approve212443092024-11-22 15:56:4718 hrs ago1732291007IN
LUKSO: LYXe Token
0 ETH0.0008531118.36396727
Send212441682024-11-22 15:28:2319 hrs ago1732289303IN
LUKSO: LYXe Token
0 ETH0.0025923315.11644918
View all transactions

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
192972122024-02-24 11:41:11272 days ago1708774871
LUKSO: LYXe Token
0.00808384 ETH
171817052023-05-03 17:35:11569 days ago1683135311
LUKSO: LYXe Token
0.1277 ETH
Loading...
Loading

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

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
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.

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.